• turbo 2.10.12 • Packages in scope: @bb/server • Running test in 1 packages • Remote caching disabled //:ensure-native-modules: cache bypass, force executing cf2c2f4295c29fc2 @bb/server:generate:bb-official-marketplace: cache miss, executing 2d51818ae11a5bf3 @bb/plugin-build:generate: cache miss, executing b406ef84b0ebb003 @bb/templates:generate:plugin-scaffold: cache miss, executing e31cc18d9f8cef07 @bb/templates:generate:templates: cache miss, executing cfa08aef943441c0 @bb/plugin-build:generate: @bb/plugin-build:generate: > @bb/plugin-build@0.0.1 generate /second/packages/plugin-build @bb/plugin-build:generate: > node ./scripts/generate-plugin-theme.mjs && node ./scripts/generate-runtime-export-manifest.mjs @bb/plugin-build:generate: //:ensure-native-modules: //:ensure-native-modules: > bb@ ensure-native-modules /second //:ensure-native-modules: > node scripts/ensure-native-modules.mjs //:ensure-native-modules: @bb/templates:generate:plugin-scaffold: @bb/templates:generate:plugin-scaffold: > @bb/templates@0.0.1 generate:plugin-scaffold /second/packages/templates @bb/templates:generate:plugin-scaffold: > node ./scripts/generate-plugin-scaffold.mjs @bb/templates:generate:plugin-scaffold: @bb/templates:generate:templates: @bb/templates:generate:templates: > @bb/templates@0.0.1 generate:templates /second/packages/templates @bb/templates:generate:templates: > node ./scripts/generate-templates.mjs @bb/templates:generate:templates: @bb/server:generate:bb-official-marketplace: @bb/server:generate:bb-official-marketplace: > @bb/server@0.0.1 generate:bb-official-marketplace /second/apps/server @bb/server:generate:bb-official-marketplace: > node --conditions=source --import tsx scripts/generate-bb-official-marketplace.ts @bb/server:generate:bb-official-marketplace: @bb/plugin-build:generate: plugin-theme.generated.ts up to date @get-bb/plugin-sdk:build: cache miss, executing 1be06d1c4534f5ac @get-bb/plugin-sdk:build:types: cache miss, executing 4b5aab5830dcca83 @bb/plugin-build:generate: wrote /second/packages/plugin-build/src/generated/runtime-export-manifest.generated.ts (react@19.2.4) @bb/agent-runtime:generate:test-bridges: cache miss, executing a772c35ddceb4725 @get-bb/plugin-sdk:build: @get-bb/plugin-sdk:build: > @get-bb/plugin-sdk@0.5.0 build /second/packages/plugin-sdk @get-bb/plugin-sdk:build: > node scripts/build-runtime.mjs @get-bb/plugin-sdk:build: @get-bb/plugin-sdk:build:types: @get-bb/plugin-sdk:build:types: > @get-bb/plugin-sdk@0.5.0 build:types /second/packages/plugin-sdk @get-bb/plugin-sdk:build:types: > node scripts/build-bundled-dts.mjs @get-bb/plugin-sdk:build:types: @bb/agent-runtime:generate:test-bridges: @bb/agent-runtime:generate:test-bridges: > @bb/agent-runtime@0.0.1 generate:test-bridges /second/packages/agent-runtime @bb/agent-runtime:generate:test-bridges: > node ./scripts/build-test-bridges.mjs @bb/agent-runtime:generate:test-bridges: @get-bb/plugin-sdk:build: Built 19 @get-bb/plugin-sdk runtime entries. @get-bb/plugin-sdk:build:types: Wrote bundled-types/bb-plugin-sdk.d.ts @get-bb/plugin-sdk:build:types: Wrote bundled-types/bb-plugin-sdk-ai-services.d.ts @get-bb/plugin-sdk:build:types: Wrote bundled-types/bb-plugin-sdk-provider-bridge.d.ts @get-bb/plugin-sdk:build:types: Wrote bundled-types/bb-plugin-sdk-provider-bridge-testing.d.ts @get-bb/plugin-sdk:build:types: Wrote bundled-types/bb-plugin-sdk-provider-bridge-acp.d.ts @get-bb/plugin-sdk:build:types: Wrote bundled-types/bb-plugin-sdk-environment-provider.d.ts @get-bb/plugin-sdk:build:types: Wrote bundled-types/bb-plugin-sdk-machine-provider.d.ts @get-bb/plugin-sdk:build:types: Wrote bundled-types/bb-plugin-sdk-app.d.ts @get-bb/plugin-sdk:build:types: Wrote bundled-types/bb-plugin-sdk-host.d.ts @get-bb/plugin-sdk:build:types: Wrote bundled-types/bb-plugin-sdk-internal-composer-customization-validation.d.ts @get-bb/plugin-sdk:build:types: Wrote bundled-types/bb-plugin-sdk-internal-composer-view.d.ts @get-bb/plugin-sdk:build:types: Wrote bundled-types/bb-plugin-sdk-internal-file-navigation-validation.d.ts @get-bb/plugin-sdk:build:types: Wrote bundled-types/bb-plugin-sdk-internal-host-policy.d.ts @get-bb/plugin-sdk:build:types: Wrote bundled-types/bb-plugin-sdk-internal-plugin-app-collector.d.ts @get-bb/plugin-sdk:build:types: Wrote bundled-types/bb-plugin-sdk-testing.d.ts @get-bb/plugin-sdk:build:types: Wrote bundled-types/bb-plugin-sdk-testing-app.d.ts @get-bb/plugin-sdk:build:types: Wrote bundled-types/bb-plugin-sdk-testing-host.d.ts @bb/server:test: cache miss, executing 40eee6bc7d7bb8d2 @bb/server:test: @bb/server:test: > @bb/server@0.0.1 test /second/apps/server @bb/server:test: > vitest run --config vitest.config.ts "test/threads/thread-send-dispatch.test.ts" "-t" "active thread admission before host readiness" @bb/server:test: @bb/server:test: @bb/server:test: RUN v4.1.1 /second/apps/server @bb/server:test: @bb/server:test: (node:35596) ExperimentalWarning: SQLite is an experimental feature and might change at any time @bb/server:test: (Use `node --trace-warnings ...` to show where the warning was created) @bb/server:test: ❯ |@bb/server| test/threads/thread-send-dispatch.test.ts (34 tests | 2 failed | 31 skipped) 4404ms @bb/server:test: ↓ rolls back and sends no host command when the idle thread was archived between claim and dispatch @bb/server:test: ↓ rolls back and sends no host command when the idle thread was deleted between claim and dispatch @bb/server:test: ↓ carries the statusChange row snapshot when the auto-send activates the thread @bb/server:test: ↓ captures direct user sends @bb/server:test: ↓ does not capture agent-originated sends @bb/server:test: × rejects a start with a stale snapshot without waking a suspended host 795ms @bb/server:test: × rejects a start with a fresh snapshot without waking a suspended host 881ms @bb/server:test: ✓ keeps the host wait for queue-if-active after a stale idle snapshot 286ms @bb/server:test: ↓ steers provisioning input into the first turn in queue order @bb/server:test: ↓ keeps an explicitly steered queued row parked during provisioning @bb/server:test: ↓ starts a new turn when startup settles before its queued wake @bb/server:test: ↓ does not queue an ordinary follow-up after archive wins before admission @bb/server:test: ↓ does not queue an ordinary follow-up after delete wins before admission @bb/server:test: ↓ rejects a steer when the thread fails during startup admission @bb/server:test: ↓ starts a turn when steer-if-active observes a startup failure @bb/server:test: ↓ keeps a failed grouped sibling out of the automatic turn-start send @bb/server:test: ↓ parks a steer until turn/started and then steers it into that turn @bb/server:test: ↓ parks a parent system notice with its taxonomy while a turn starts @bb/server:test: ↓ sends to an idle thread while a plugin's question card is still open @bb/server:test: ↓ does not queue a parent notice when archive wins during preparation @bb/server:test: ↓ records a terminal rejection for the failed client request @bb/server:test: ↓ records a rejection after the target turn completes @bb/server:test: ↓ does not reject an accepted client request @bb/server:test: ↓ activates an idle thread immediately when it does a cold thread.start @bb/server:test: ↓ resumes provider continuity after an environment directory update @bb/server:test: ↓ uses an accepted direct fast choice as the next default @bb/server:test: ↓ uses an accepted direct default choice as the next default @bb/server:test: ↓ keeps queued choices separate until dispatch and preserves the next row @bb/server:test: ↓ snapshots a busy follow-up without changing the active tier @bb/server:test: ↓ does not save a rejected default choice or consume its queued snapshot @bb/server:test: ↓ retains every concurrent queue-mode send @bb/server:test: ↓ keeps the thread active when the daemon refuses a competing turn while a root turn is running @bb/server:test: ↓ fails the run when a competing-turn refusal arrives without a running root turn @bb/server:test: ↓ still fails the run for other refusals while a root turn is stored @bb/server:test: @bb/server:test: ⎯⎯⎯⎯⎯⎯⎯ Failed Tests 2 ⎯⎯⎯⎯⎯⎯⎯ @bb/server:test: @bb/server:test: FAIL |@bb/server| test/threads/thread-send-dispatch.test.ts > active thread admission before host readiness > rejects a start with a stale snapshot without waking a suspended host @bb/server:test: AssertionError: promise resolved "{ ok: true, delivery: 'queued', …(1) }" instead of rejecting @bb/server:test: @bb/server:test: - Expected @bb/server:test: + Received @bb/server:test: @bb/server:test: - Error { @bb/server:test: - "message": "rejected promise", @bb/server:test: + { @bb/server:test: + "delivery": "queued", @bb/server:test: + "ok": true, @bb/server:test: + "queuedMessage": { @bb/server:test: + "content": [ @bb/server:test: + { @bb/server:test: + "mentions": [], @bb/server:test: + "text": "begin another turn", @bb/server:test: + "type": "text", @bb/server:test: + }, @bb/server:test: + ], @bb/server:test: + "createdAt": 1790036411683, @bb/server:test: + "editable": true, @bb/server:test: + "failureReason": null, @bb/server:test: + "groupWithNext": false, @bb/server:test: + "id": "qmsg_z282n7wcss", @bb/server:test: + "initiator": "user", @bb/server:test: + "model": "gpt-5", @bb/server:test: + "origin": null, @bb/server:test: + "originPluginId": null, @bb/server:test: + "payload": { @bb/server:test: + "kind": "inline", @bb/server:test: + }, @bb/server:test: + "permissionMode": "full", @bb/server:test: + "reasoningLevel": "medium", @bb/server:test: + "sendAt": null, @bb/server:test: + "senderThreadId": null, @bb/server:test: + "serviceTier": "default", @bb/server:test: + "threadId": "thr_ta45fugzaq", @bb/server:test: + "updatedAt": 1790036411683, @bb/server:test: + "waitingOn": { @bb/server:test: + "hostName": "Test Host", @bb/server:test: + "kind": "host-offline", @bb/server:test: + }, @bb/server:test: + }, @bb/server:test: } @bb/server:test: @bb/server:test: ❯ test/threads/thread-send-dispatch.test.ts:378:10 @bb/server:test: 376| payload: { input: textInput("begin another turn"), mode: "… @bb/server:test: 377| }), @bb/server:test: 378| ).rejects.toMatchObject({ @bb/server:test: | ^ @bb/server:test: 379| status: 409, @bb/server:test: 380| body: { @bb/server:test: ❯ withTestHarness test/helpers/test-app.ts:341:18 @bb/server:test: ❯ test/threads/thread-send-dispatch.test.ts:353:7 @bb/server:test: @bb/server:test: ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/2]⎯ @bb/server:test: @bb/server:test: FAIL |@bb/server| test/threads/thread-send-dispatch.test.ts > active thread admission before host readiness > rejects a start with a fresh snapshot without waking a suspended host @bb/server:test: AssertionError: promise resolved "{ ok: true, delivery: 'queued', …(1) }" instead of rejecting @bb/server:test: @bb/server:test: - Expected @bb/server:test: + Received @bb/server:test: @bb/server:test: - Error { @bb/server:test: - "message": "rejected promise", @bb/server:test: + { @bb/server:test: + "delivery": "queued", @bb/server:test: + "ok": true, @bb/server:test: + "queuedMessage": { @bb/server:test: + "content": [ @bb/server:test: + { @bb/server:test: + "mentions": [], @bb/server:test: + "text": "begin another turn", @bb/server:test: + "type": "text", @bb/server:test: + }, @bb/server:test: + ], @bb/server:test: + "createdAt": 1790036412697, @bb/server:test: + "editable": true, @bb/server:test: + "failureReason": null, @bb/server:test: + "groupWithNext": false, @bb/server:test: + "id": "qmsg_eng55g93bx", @bb/server:test: + "initiator": "user", @bb/server:test: + "model": "gpt-5", @bb/server:test: + "origin": null, @bb/server:test: + "originPluginId": null, @bb/server:test: + "payload": { @bb/server:test: + "kind": "inline", @bb/server:test: + }, @bb/server:test: + "permissionMode": "full", @bb/server:test: + "reasoningLevel": "medium", @bb/server:test: + "sendAt": null, @bb/server:test: + "senderThreadId": null, @bb/server:test: + "serviceTier": "default", @bb/server:test: + "threadId": "thr_sx3uz9rvuc", @bb/server:test: + "updatedAt": 1790036412697, @bb/server:test: + "waitingOn": { @bb/server:test: + "hostName": "Test Host", @bb/server:test: + "kind": "host-offline", @bb/server:test: + }, @bb/server:test: + }, @bb/server:test: } @bb/server:test: @bb/server:test: ❯ test/threads/thread-send-dispatch.test.ts:378:10 @bb/server:test: @bb/server:test: Test Files 1 failed (1) @bb/server:test: Tests 2 failed | 1 passed | 31 skipped (34) @bb/server:test: 376| payload: { input: textInput("begin another turn"), mode: "… @bb/server:test: 377| }), @bb/server:test: Start at 17:19:54 @bb/server:test: 378| ).rejects.toMatchObject({ @bb/server:test: | ^ @bb/server:test: 379| status: 409, @bb/server:test: 380| body: { @bb/server:test: ❯ withTestHarness test/helpers/test-app.ts:341:18 @bb/server:test: ❯ test/threads/thread-send-dispatch.test.ts:353:7 @bb/server:test: @bb/server:test: ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[2/2]⎯ @bb/server:test: @bb/server:test: Duration 18.44s (transform 9.22s, setup 2.94s, import 10.55s, tests 4.40s, environment 0ms) @bb/server:test: @bb/server:test:  ELIFECYCLE  Test failed. See above for more details. @bb/server#test: ERROR command (/second/apps/server) /bin/pnpm run test test/threads/thread-send-dispatch.test.ts -t active thread admission before host readiness exited (1) Tasks: 8 successful, 9 total Cached: 0 cached, 9 total Time: 3m23.839s Failed: @bb/server#test ERROR run failed: command exited (1)