You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(responses): add WebSocket transport and fix OpenResponses conformance gaps
Bring the Responses API up to full OpenResponses conformance (17/17, previously
2/17 in the conformance workflow).
Add a WebSocket transport at /v1/responses. Each text frame is a response.create
event that is streamed back as individual JSON event frames, terminating on
response.completed/failed/incomplete. The transport keeps a connection-local
cache of store=false response output so a follow-up previous_response_id on the
same connection can continue a chain that was never persisted; a failed
continuation evicts the entry it built on, and a fresh connection starts empty.
Unknown or missing previous responses return a previous_response_not_found error
envelope. This requires the websockets library, which is added as a dependency
so uvicorn can negotiate the upgrade.
Fix two response schema gaps: the response now always carries safety_identifier
(string or null) and text.verbosity defaults to "medium" instead of serializing
as null, which the OpenResponses optional-enum schema rejects.
Fix the compaction endpoint to normalize bare-string user message content into a
content-part list so compacted output items match the response message schema.
Add replay recordings for the assistant-phase, compaction, and WebSocket turns
so the conformance workflow passes without live inference.
Signed-off-by: Charlie Doern <cdoern@redhat.com>
0 commit comments