diff --git a/packages/openai-adapters/src/test/vercelStreamConverter.test.ts b/packages/openai-adapters/src/test/vercelStreamConverter.test.ts index 839e3a8c78..0c3feed93d 100644 --- a/packages/openai-adapters/src/test/vercelStreamConverter.test.ts +++ b/packages/openai-adapters/src/test/vercelStreamConverter.test.ts @@ -34,7 +34,10 @@ describe("convertVercelStreamPart", () => { const result = convertVercelStreamPart(part, options); expect(result).not.toBeNull(); - expect(result?.choices[0].delta.content).toBe("Let me think..."); + // eslint-disable-next-line @typescript-eslint/no-explicit-any + expect((result?.choices[0].delta as any).reasoning_content).toBe( + "Let me think...", + ); }); test("returns null for tool-call (handled by tool-input-start/delta)", () => { diff --git a/packages/openai-adapters/src/vercelStreamConverter.ts b/packages/openai-adapters/src/vercelStreamConverter.ts index 53f4cc75a8..21930b5582 100644 --- a/packages/openai-adapters/src/vercelStreamConverter.ts +++ b/packages/openai-adapters/src/vercelStreamConverter.ts @@ -86,8 +86,11 @@ export function convertVercelStreamPart( }); case "reasoning-delta": - return chatChunk({ - content: part.text, + return chatChunkFromDelta({ + delta: { + // `reasoning_content` is not yet typed in OpenAI's SDK types. + reasoning_content: part.text, + } as ChatCompletionChunk.Choice["delta"], model, });