What happened?
The Open Responses API returns a response id of the form resp_… (generateResponseId(), responses.js:631) but persists the conversation under a different, unrelated key — conversationId = request.previous_response_id ?? uuidv4() (responses.js:648). Nothing maps resp_… → uuid, and the caller only ever receives resp_…. Two documented behaviors of this endpoint therefore break:
1. previous_response_id never continues a conversation. Turn 2 with previous_response_id: "resp_…" runs getMessages({ conversationId: "resp_…" }), which never matches turn 1 (stored under the uuid) → the agent gets no prior context. It then tries to persist under the non-UUID resp_…, hitting the UUID_REGEX guard in saveMessage → "Invalid conversation ID", swallowed by the save try/catch → turn 2 stores nothing either.
2. GET /api/agents/v1/responses/:id always 404s. getResponse (responses.js:1780) does getConvo(userId, :id) treating the path id as a conversationId. Passing back the resp_… id from a POST finds nothing → 404 "Response not found", even though the conversation was stored. (The handler itself comments "The responseId could be either the response ID or the conversation ID" — but the client is never handed the conversation id.)
Version Information
v0.8.8-rc4
Steps to Reproduce
- Continuation:
POST {input:"My name is Bob", store:true} → note id; POST {input:"What is my name?", previous_response_id:<id>, store:true} → agent doesn't know the name; logs Invalid conversation ID: resp_….
- GET:
POST {store:true} → take id → GET /api/agents/v1/responses/<id> → 404.
Fix
Make the returned id equal the stored conversationId (same uuid for both) so it round-trips, or persist a resp_… → conversationId mapping and resolve it on both continuation and GET.
What browsers are you seeing the problem on?
No response
Relevant log output
Screenshots
No response
Code of Conduct
What happened?
The Open Responses API returns a response
idof the formresp_…(generateResponseId(),responses.js:631) but persists the conversation under a different, unrelated key —conversationId = request.previous_response_id ?? uuidv4()(responses.js:648). Nothing mapsresp_… → uuid, and the caller only ever receivesresp_…. Two documented behaviors of this endpoint therefore break:1.
previous_response_idnever continues a conversation. Turn 2 withprevious_response_id: "resp_…"runsgetMessages({ conversationId: "resp_…" }), which never matches turn 1 (stored under the uuid) → the agent gets no prior context. It then tries to persist under the non-UUIDresp_…, hitting theUUID_REGEXguard insaveMessage→ "Invalid conversation ID", swallowed by the save try/catch → turn 2 stores nothing either.2.
GET /api/agents/v1/responses/:idalways 404s.getResponse(responses.js:1780) doesgetConvo(userId, :id)treating the path id as a conversationId. Passing back theresp_…id from a POST finds nothing → 404 "Response not found", even though the conversation was stored. (The handler itself comments "The responseId could be either the response ID or the conversation ID" — but the client is never handed the conversation id.)Version Information
v0.8.8-rc4
Steps to Reproduce
What browsers are you seeing the problem on?
No response
Relevant log output
Screenshots
No response
Code of Conduct