fix: ensure responses stream always completes

Emit a fallback response.completed and [DONE] when upstream SSE closes early so OpenAI /v1/responses clients do not fail on incomplete streams.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
GitHub Actions
2026-04-20 13:23:43 +08:00
parent c9bd71f727
commit c08dea89a2
2 changed files with 36 additions and 0 deletions

View File

@@ -1193,6 +1193,21 @@ async def _responses_stream_from_chat_stream(
}
)
yield _sse_data(
{
"type": "response.completed",
"response": {
"id": response_id,
"object": "response",
"created_at": created_at,
"status": "completed",
"model": model,
"usage": usage,
},
}
)
yield "data: [DONE]\\n\\n"
@app.post("/v1/responses", dependencies=[Depends(auth_guard)])