• turbo 2.10.12 • Packages in scope: bb-plugin-provider-codex • Running test in 1 packages • Remote caching disabled //:ensure-native-modules: cache bypass, force executing f195f8bacd8ea92d @bb/plugin-build:generate: cache hit, replaying logs 6a05229a9776806b @bb/templates:generate:plugin-scaffold: cache hit, replaying logs f5bcad6a839f888c @bb/templates:generate:templates: cache hit, replaying logs b6f87e0050a66de6 @bb/plugin-build:generate: @bb/plugin-build:generate: > @bb/plugin-build@0.0.1 generate /verify/packages/plugin-build @bb/templates:generate:templates: @bb/templates:generate:templates: > @bb/templates@0.0.1 generate:templates /verify/packages/templates @bb/plugin-build:generate: > node ./scripts/generate-plugin-theme.mjs && node ./scripts/generate-runtime-export-manifest.mjs @bb/templates:generate:templates: > node ./scripts/generate-templates.mjs @bb/templates:generate:plugin-scaffold: @bb/plugin-build:generate: @bb/templates:generate:templates: @bb/templates:generate:plugin-scaffold: > @bb/templates@0.0.1 generate:plugin-scaffold /verify/packages/templates @bb/templates:generate:plugin-scaffold: > node ./scripts/generate-plugin-scaffold.mjs @bb/plugin-build:generate: plugin-theme.generated.ts up to date @bb/templates:generate:plugin-scaffold: @bb/plugin-build:generate: wrote /verify/packages/plugin-build/src/generated/runtime-export-manifest.generated.ts (react@19.2.4) @get-bb/plugin-sdk:build: cache hit, replaying logs a3e5ea794fe6b6b2 @get-bb/plugin-sdk:build: @get-bb/plugin-sdk:build: > @get-bb/plugin-sdk@0.6.16 build /verify/packages/plugin-sdk @get-bb/plugin-sdk:build: > node scripts/build-runtime.mjs @get-bb/plugin-sdk:build: @get-bb/plugin-sdk:build: Built 19 @get-bb/plugin-sdk runtime entries. //:ensure-native-modules: //:ensure-native-modules: > bb@ ensure-native-modules /verify //:ensure-native-modules: > node scripts/ensure-native-modules.mjs //:ensure-native-modules: bb-plugin-provider-codex:test: cache miss, executing 2f0c97cd9e51c414 bb-plugin-provider-codex:test: bb-plugin-provider-codex:test: > bb-plugin-provider-codex@0.1.0 test /verify/plugins/provider-codex bb-plugin-provider-codex:test: > vitest run --config vitest.config.ts "src/ai/chatgpt-client.test.ts" bb-plugin-provider-codex:test: bb-plugin-provider-codex:test: bb-plugin-provider-codex:test: RUN v4.1.1 /verify/plugins/provider-codex bb-plugin-provider-codex:test: bb-plugin-provider-codex:test: ❯ |bb-plugin-provider-codex| src/ai/chatgpt-client.test.ts (23 tests | 6 failed) 1762ms bb-plugin-provider-codex:test: ✓ runs plain-text inference with Codex auth from ~/.codex/auth.json 35ms bb-plugin-provider-codex:test: ✓ runs plain-text inference with Codex API key auth from ~/.codex/auth.json 34ms bb-plugin-provider-codex:test: × returns text and cancels an open SSE body after 'response.completed' with final text ''Final result'' 130ms bb-plugin-provider-codex:test: × returns text and cancels an open SSE body after 'response.done' with final text ''Final result'' 152ms bb-plugin-provider-codex:test: × returns text and cancels an open SSE body after 'response.completed' with final text '''' 178ms bb-plugin-provider-codex:test: × returns text and cancels an open SSE body after '[DONE]' with final text '''' 171ms bb-plugin-provider-codex:test: × rejects an empty open SSE body after response.completed without waiting for EOF 182ms bb-plugin-provider-codex:test: × rejects an empty open SSE body after [DONE] without waiting for EOF 183ms bb-plugin-provider-codex:test: ✓ classifies streamed overload failures as service unavailable 86ms bb-plugin-provider-codex:test: ✓ cancels an open SSE body after a terminal failure event 109ms bb-plugin-provider-codex:test: ✓ uses Codex auth read-only without refreshing expired-looking access tokens 85ms bb-plugin-provider-codex:test: ✓ rejects oversized Codex SSE responses 8ms bb-plugin-provider-codex:test: ✓ times out stalled Codex SSE body reads after headers 23ms bb-plugin-provider-codex:test: ✓ stops reading the stream when bb cancels the host call 55ms bb-plugin-provider-codex:test: ✓ aborts the fetch when bb cancels before the response arrives 54ms bb-plugin-provider-codex:test: ✓ uses one deadline across response headers and SSE body reads 64ms bb-plugin-provider-codex:test: ✓ caps oversized Codex error response bodies 82ms bb-plugin-provider-codex:test: ✓ retries ChatGPT transcription once with allowed Cloudflare cookies 114ms bb-plugin-provider-codex:test: ✓ classifies a persistent Cloudflare challenge as transient without leaking the challenge page 4ms bb-plugin-provider-codex:test: ✓ omits HTML error pages from Codex error messages 2ms bb-plugin-provider-codex:test: ✓ transcribes voice with Codex API key auth from ~/.codex/auth.json 3ms bb-plugin-provider-codex:test: ✓ reports ChatGPT transcription rate limits with the nested provider message 2ms bb-plugin-provider-codex:test: ✓ rejects oversized Codex transcription responses 5ms bb-plugin-provider-codex:test: bb-plugin-provider-codex:test: ⎯⎯⎯⎯⎯⎯⎯ Failed Tests 6 ⎯⎯⎯⎯⎯⎯⎯ bb-plugin-provider-codex:test: bb-plugin-provider-codex:test: FAIL |bb-plugin-provider-codex| src/ai/chatgpt-client.test.ts > Codex ChatGPT client > returns text and cancels an open SSE body after 'response.completed' with final text ''Final result'' bb-plugin-provider-codex:test: FAIL |bb-plugin-provider-codex| src/ai/chatgpt-client.test.ts > Codex ChatGPT client > returns text and cancels an open SSE body after 'response.done' with final text ''Final result'' bb-plugin-provider-codex:test: FAIL |bb-plugin-provider-codex| src/ai/chatgpt-client.test.ts > Codex ChatGPT client > returns text and cancels an open SSE body after 'response.completed' with final text '''' bb-plugin-provider-codex:test: FAIL |bb-plugin-provider-codex| src/ai/chatgpt-client.test.ts > Codex ChatGPT client > returns text and cancels an open SSE body after '[DONE]' with final text '''' bb-plugin-provider-codex:test: AssertionError: promise rejected "AiServiceFailure: Codex request timed out… { …(2) }" instead of resolving bb-plugin-provider-codex:test: ❯ src/ai/chatgpt-client.test.ts:359:8 bb-plugin-provider-codex:test: 357| new AbortController().signal, bb-plugin-provider-codex:test: 358| ), bb-plugin-provider-codex:test: 359| ).resolves.toBe(finalText || "Partial result"); bb-plugin-provider-codex:test: | ^ bb-plugin-provider-codex:test: 360| expect(completedResponse.wasCanceled()).toBe(true); bb-plugin-provider-codex:test: 361| }, bb-plugin-provider-codex:test: bb-plugin-provider-codex:test: Caused by: AiServiceFailure: Codex request timed out after 100ms bb-plugin-provider-codex:test: ❯ codexRequestTimeoutError src/ai/chatgpt-client.ts:232:10 bb-plugin-provider-codex:test: ❯ Timeout. src/ai/chatgpt-client.ts:261:18 bb-plugin-provider-codex:test: bb-plugin-provider-codex:test: ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ bb-plugin-provider-codex:test: Serialized Error: { code: 'timeout', detailCode: 'codex_request_timeout' } bb-plugin-provider-codex:test: ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/6]⎯ bb-plugin-provider-codex:test: bb-plugin-provider-codex:test: FAIL |bb-plugin-provider-codex| src/ai/chatgpt-client.test.ts > Codex ChatGPT client > rejects an empty open SSE body after response.completed without waiting for EOF bb-plugin-provider-codex:test: FAIL |bb-plugin-provider-codex| src/ai/chatgpt-client.test.ts > Codex ChatGPT client > rejects an empty open SSE body after [DONE] without waiting for EOF bb-plugin-provider-codex:test: AssertionError: expected AiServiceFailure: Codex request timed out… { …(2) } to match object { Object (detailCode) } bb-plugin-provider-codex:test: (2 matching properties omitted from actual) bb-plugin-provider-codex:test: bb-plugin-provider-codex:test: - Expected bb-plugin-provider-codex:test: + Received bb-plugin-provider-codex:test: bb-plugin-provider-codex:test: - { bb-plugin-provider-codex:test: - "detailCode": "codex_response_invalid", bb-plugin-provider-codex:test: + AiServiceFailure { bb-plugin-provider-codex:test: + "detailCode": "codex_request_timeout", bb-plugin-provider-codex:test: } bb-plugin-provider-codex:test: bb-plugin-provider-codex:test: ❯ src/ai/chatgpt-client.test.ts:386:8 bb-plugin-provider-codex:test: 384| new AbortController().signal, bb-plugin-provider-codex:test: 385| ), bb-plugin-provider-codex:test: 386| ).rejects.toMatchObject({ detailCode: "codex_response_invalid" }… bb-plugin-provider-codex:test: | ^ bb-plugin-provider-codex:test: 387| expect(completedResponse.wasCanceled()).toBe(true); bb-plugin-provider-codex:test: 388| }, bb-plugin-provider-codex:test: bb-plugin-provider-codex:test: ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[2/6]⎯ bb-plugin-provider-codex:test: bb-plugin-provider-codex:test: bb-plugin-provider-codex:test: Test Files 1 failed (1) bb-plugin-provider-codex:test: Tests 6 failed | 17 passed (23) bb-plugin-provider-codex:test: Start at 23:36:07 bb-plugin-provider-codex:test: Duration 2.47s (transform 348ms, setup 0ms, import 489ms, tests 1.76s, environment 0ms) bb-plugin-provider-codex:test: bb-plugin-provider-codex:test:  ELIFECYCLE  Test failed. See above for more details. bb-plugin-provider-codex#test: ERROR command (/verify/plugins/provider-codex) /usr/local/bin/pnpm run test src/ai/chatgpt-client.test.ts exited (1) Tasks: 5 successful, 6 total Cached: 4 cached, 6 total Time: 4.2s Failed: bb-plugin-provider-codex#test ERROR run failed: command exited (1)