openclaw/docs
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
..
.generated fix: preserve channel runResolved mock compatibility 2026-05-27 10:36:33 +01:00
.i18n docs: expand meeting notes docs 2026-05-23 11:58:29 +01:00
announcements fix: add channel status filtering (#80706) 2026-05-11 18:44:54 +01:00
assets chore: remove unused tracked assets 2026-05-26 02:21:58 +01:00
automation fix(hooks): enforce default hook agent allowlist 2026-05-27 05:05:18 +01:00
channels refactor: centralize inbound supplemental context 2026-05-27 09:26:06 +01:00
clawhub docs: add ClawHub publishing page 2026-05-07 19:43:06 -07:00
cli fix: require admin for node device approvals 2026-05-27 13:18:50 +01:00
concepts feat(embeddings): add OpenAI-compatible core provider (#85269) 2026-05-27 14:37:17 +02:00
debug docs: typography hygiene across 6 pages (gateway/cli/debug) 2026-05-06 08:49:27 -07:00
diagnostics fix(codex): gate profiler timing and startup setup 2026-05-26 20:51:00 +01:00
gateway feat(embeddings): add OpenAI-compatible core provider (#85269) 2026-05-27 14:37:17 +02:00
help feat(embeddings): add OpenAI-compatible core provider (#85269) 2026-05-27 14:37:17 +02:00
images chore: remove unused tracked assets 2026-05-26 02:21:58 +01:00
install fix(install): skip Homebrew until macOS packages need it 2026-05-27 09:48:04 +01:00
nodes docs(talk): document realtime active-run control 2026-05-24 02:35:04 +01:00
plan Policy: add agent-scoped policy overlays (#85817) 2026-05-25 08:45:16 -07:00
platforms docs: refresh contributor docs 2026-05-22 22:58:27 +01:00
plugins feat(embeddings): add OpenAI-compatible core provider (#85269) 2026-05-27 14:37:17 +02:00
providers feat(embeddings): add OpenAI-compatible core provider (#85269) 2026-05-27 14:37:17 +02:00
refactor docs(refactor): remove completed channel route plan 2026-05-19 00:49:25 +02:00
reference fix(openai): normalize responses replay tool ids 2026-05-27 13:51:57 +01:00
security fix(browser): bypass managed proxy for loopback CDP 2026-05-23 23:53:27 +01:00
snippets/plugin-publish docs: show explicit startup activation in plugin examples 2026-04-28 03:13:20 +01:00
start docs: absorb contributor documentation fixes 2026-05-22 23:28:31 +01:00
superpowers/specs docs: complete source-backed docs sweep 2026-05-02 22:37:01 +01:00
tools fix(vllm): wire configured thinking params 2026-05-27 13:32:18 +01:00
web fix: avoid compaction checkpoint transcript copies (#86666) 2026-05-26 00:59:20 +01:00
AGENTS.md docs: keep qa broker notes internal 2026-05-08 06:01:23 +01:00
auth-credential-semantics.md Revert "refactor: move runtime state to SQLite" 2026-05-13 13:33:38 +01:00
brave-search.md docs(brave): redirect legacy search page 2026-05-02 04:42:55 +01:00
ci.md fix(cli): handle Bun launcher module misses 2026-05-27 01:20:14 +01:00
CLAUDE.md
date-time.md docs: audit and fix 4 pages (pi version bump + 3 typography/H1) 2026-05-05 21:14:55 -07:00
docs.json feat(pixverse): add video generation provider 2026-05-27 12:41:10 +02:00
index.md build: update pi dependencies to 0.75.1 2026-05-18 06:22:36 +01:00
logging.md fix(cli): keep logs follow on live gateway state 2026-05-23 17:54:23 +08:00
nav-tabs-underline.js
network.md docs: audit and fix 4 pages (pi version bump + 3 typography/H1) 2026-05-05 21:14:55 -07:00
perplexity.md docs: consolidate moved docs pages 2026-05-05 17:38:21 +01:00
pi-dev.md Revert "refactor: move runtime state to SQLite" 2026-05-13 13:33:38 +01:00
pi.md build: update pi dependencies to 0.75.1 2026-05-18 06:22:36 +01:00
prose.md
style.css docs: remove stale showcase intro videos 2026-05-22 17:59:14 +01:00
tts.md
vps.md fix(gateway): keep unmanaged restarts in-process (#83138) 2026-05-17 21:19:05 +00:00
whatsapp-openclaw.jpg