Skip to content

Commit ad1aeea

Browse files
committed
feat(openai): Responses API parity and continuity fixes; richer event handling; tests
- Add previous_response_id retry path on 400 “Previous response … not found” - Non-streaming and streaming: drop previous_response_id and retry once; clear continuity state - Code: [src/api/providers/openai.ts](src/api/providers/openai.ts:238), [src/api/providers/openai.ts](src/api/providers/openai.ts:291), guard [OpenAiHandler._isPreviousResponseNotFoundError()](src/api/providers/openai.ts:934) - Support GPT‑5-style reasoning summary and minimal effort on Responses API - Default enable summary: "auto" unless explicitly disabled in settings - Include reasoning: { effort: "minimal" | "low" | "medium" | "high", summary?: "auto" } - Code: constructor default [OpenAiHandler](src/api/providers/openai.ts:38), payload assembly [createMessage](src/api/providers/openai.ts:193) - Improve Responses streaming event coverage - Handle response.content_part.added (emit text) - Handle response.audio_transcript.delta (emit text as transcript) - Preserve response.id via stream callback for continuity - Code: [handleResponsesStream](src/api/transform/responses-stream.ts:91), [src/api/transform/responses-stream.ts](src/api/transform/responses-stream.ts:47), responseId callback [src/api/transform/responses-stream.ts](src/api/transform/responses-stream.ts:19) and usage in [openai.ts](src/api/providers/openai.ts:283) - Maintain conversation continuity for Responses API - Store lastResponseId on both streaming and non-streaming paths; pass previous_response_id unless suppressed - Code: stream wiring [src/api/providers/openai.ts](src/api/providers/openai.ts:283), non-streaming capture [src/api/providers/openai.ts](src/api/providers/openai.ts:889) - Update and extend tests - Add tests for 400 previous_response_id retry (streaming and non-streaming) - Add tests for content_part and audio_transcript events - Add tests for reasoning minimal + summary auto, and summary disabling - Adjust expectation to allow summary in reasoning payload - Tests: [src/api/providers/__tests__/openai.spec.ts](src/api/providers/__tests__/openai.spec.ts:1663), [src/api/providers/__tests__/openai.spec.ts](src/api/providers/__tests__/openai.spec.ts:1170) - Minor: default enableGpt5ReasoningSummary to true in compatible provider for Responses flows
1 parent f05544b commit ad1aeea

File tree

3 files changed

+1126
-38
lines changed

3 files changed

+1126
-38
lines changed

0 commit comments

Comments
 (0)