From 601be56b98baecc7fac1d2df213ac5bf9bffb018 Mon Sep 17 00:00:00 2001 From: Kit Langton Date: Thu, 9 Jul 2026 13:30:16 -0400 Subject: [PATCH] test(llm): reproduce nested OpenAI stream error loss --- .../test/provider/openai-responses.test.ts | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/packages/llm/test/provider/openai-responses.test.ts b/packages/llm/test/provider/openai-responses.test.ts index 3d048d4eee..dd60146128 100644 --- a/packages/llm/test/provider/openai-responses.test.ts +++ b/packages/llm/test/provider/openai-responses.test.ts @@ -1471,6 +1471,29 @@ describe("OpenAI Responses route", () => { }), ) + it.effect("surfaces error event details nested under a top-level error field", () => + Effect.gen(function* () { + const response = yield* LLMClient.generate(request).pipe( + Effect.provide( + fixedResponse( + sseEvents({ + type: "error", + error: { code: "context_length_exceeded", message: "prompt too long" }, + }), + ), + ), + ) + + expect(response.events).toEqual([ + { + type: "provider-error", + message: "context_length_exceeded: prompt too long", + classification: "context-overflow", + }, + ]) + }), + ) + it.effect("falls back to a stable default when both error and response are absent", () => Effect.gen(function* () { const response = yield* LLMClient.generate(request).pipe(