Skip to content

fix(ai): preserve provider-defined responses item ids - #45094

Merged
rekram1-node merged 2 commits into
v2from
responses-item-ids
Aug 26, 2026
Merged

fix(ai): preserve provider-defined responses item ids#45094
rekram1-node merged 2 commits into
v2from
responses-item-ids

Conversation

@rekram1-node

@rekram1-node rekram1-node commented Aug 25, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • replace item-type-specific Responses ID allowlists with the exact Codex outbound rule: the first underscore must have a nonempty prefix and suffix
  • preserve provider-issued message, reasoning, function-call, and hosted-tool IDs regardless of semantic prefix, length, or characters; omit malformed IDs without discarding replayable reasoning
  • add a Bedrock Mantle regression using its recorded msg_95d4d0af4350432a reasoning item ID, plus long opaque provider IDs, symbolic IDs, malformed prefixes, and ID-less reasoning coverage

Verification

  • bun test test/partial-json.test.ts test/tool-stream.test.ts test/provider/openai-responses.test.ts test/provider/openai-compatible-responses.test.ts test/provider/bedrock-mantle.test.ts test/provider/openai-responses-images.recorded.test.ts test/provider/openai-responses-websocket.recorded.test.ts test/provider/openai-chat.test.ts test/provider/anthropic-messages.test.ts test/provider/bedrock-converse.test.ts test/provider/xai-responses.test.ts test/response.test.ts test/tool-runtime.test.ts --timeout 30000 --only-failures (390 passing)
  • RECORDED_PREFIX=openai-responses bun test test/provider/golden.recorded.test.ts --timeout 30000 --only-failures (4 passing)
  • bun typecheck from packages/ai
  • bunx prettier --check packages/ai/src/protocols/open-responses.ts packages/ai/src/protocols/openai-responses.ts packages/ai/test/provider/openai-responses.test.ts packages/ai/test/provider/openai-compatible-responses.test.ts packages/ai/test/provider/bedrock-mantle.test.ts
  • Full-package test run also encounters existing executor, Anthropic, and OpenRouter failures; representative failures were reproduced unchanged in a pristine v2 worktree.

@rekram1-node
rekram1-node merged commit 5add6a8 into v2 Aug 26, 2026
10 checks passed
@rekram1-node
rekram1-node deleted the responses-item-ids branch August 26, 2026 03:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant