openclaw/docs/reference
Yuval Dinodia ef77428c95
fix(openai): normalize responses replay tool ids
Fixes #74665.

Normalize replayed OpenAI Responses tool call identifiers before same-model pi-ai replay sends them back to the provider. This keeps canonical `call_*|fc_*` pairs intact when valid, rewrites overlong or malformed `function_call.call_id`, `function_call.id`, and matching `function_call_output.call_id` values into OpenAI's accepted 64-character shape, and preserves the reasoning replay path.

Verification:
- Live OpenAI E2E with maintainer key: raw replay payload failed with HTTP 400 for overlong `input[1].id`; normalized replay succeeded with HTTP 200 and `LIVE_OK`.
- `pnpm exec oxfmt --check --threads=1 src/agents/pi-embedded-helpers/openai.ts`
- `CI=1 OPENCLAW_VITEST_FS_MODULE_CACHE_PATH="$(mktemp -d /tmp/openclaw-vitest-cache.XXXXXX)" fnm exec --using 24.15.0 -- pnpm test src/agents/pi-embedded-runner/run/attempt.tool-call-normalization.test.ts -- --run --reporter=verbose --maxWorkers=1`
- `CI=1 OPENCLAW_VITEST_FS_MODULE_CACHE_PATH="$(mktemp -d /tmp/openclaw-vitest-cache.XXXXXX)" fnm exec --using 24.15.0 -- pnpm test src/agents/pi-embedded-runner.openai-tool-id-preservation.test.ts src/agents/openai-responses.reasoning-replay.test.ts -- --run --reporter=verbose --maxWorkers=2`
- `autoreview --mode branch --base origin/main`: clean, no accepted/actionable findings.
- GitHub CI green on c675b35ade.

Co-authored-by: Yuval Dinodia <yetvald@gmail.com>
2026-05-27 13:51:57 +01:00
..
templates fix(agents): separate heartbeat runtime template (#85416) 2026-05-27 12:30:22 +00:00
AGENTS.default.md docs: absorb hook and subagent guidance PRs 2026-05-23 09:47:37 +01:00
api-usage-costs.md fix(status): show configured cost for aws-sdk models (#85619) 2026-05-23 15:49:57 +01:00
application-modernization-plan.md docs(reference): audit and fix 4 pages (typography, dup H1, Related) 2026-05-05 21:56:31 -07:00
code-mode.md docs: refine maintainer docs sweep 2026-05-22 19:22:40 +01:00
credits.md docs(reference): audit and fix 4 pages (typography, dup H1, Related) 2026-05-05 21:56:31 -07:00
device-models.md docs: drop parenthetical H1s across gateway, channels, providers, concepts, and reference pages 2026-04-24 10:49:23 -07:00
full-release-validation.md ci: add live Codex plugin release check 2026-05-21 08:44:18 +01:00
memory-config.md feat(embeddings): add OpenAI-compatible core provider (#85269) 2026-05-27 14:37:17 +02:00
openclaw-sdk-api-design.md feat(gateway): add SDK task ledger RPCs (#74847) 2026-05-09 00:55:06 -05:00
prompt-caching.md fix(agents): honor OpenAI-compatible cache retention 2026-05-27 13:21:23 +01:00
RELEASING.md test(qa): add collector-backed otel smoke 2026-05-25 23:51:17 +02:00
rich-output-protocol.md docs: clarify media directive formatting 2026-05-22 17:59:01 +01:00
rpc.md docs(imessage): make imsg the supported setup path 2026-05-07 12:53:01 -07:00
secret-placeholder-conventions.md fix(ci): clear signal and docs guard blockers (#85693) 2026-05-23 18:27:12 +08:00
secretref-credential-surface.md fix(cli): scope web command secret refs 2026-05-17 10:42:57 +01:00
secretref-user-supplied-credentials-matrix.json fix(cli): scope web command secret refs 2026-05-17 10:42:57 +01:00
session-management-compaction.md fix: avoid compaction checkpoint transcript copies (#86666) 2026-05-26 00:59:20 +01:00
test.md fix(scripts): docs-spellcheck.sh fails on bash 3.2 with set -u 2026-05-25 20:56:52 +01:00
token-use.md Auto-scale live tool result caps (#86857) 2026-05-26 12:11:31 +01:00
transcript-hygiene.md fix(openai): normalize responses replay tool ids 2026-05-27 13:51:57 +01:00
wizard.md feat: add xai oauth web search and provider timeouts 2026-05-22 08:49:53 +01:00