openclaw/extensions/acpx/src
wesley 1030b498de
fix(acpx): retry persisted resume ids cleanly (#52209)
* fix(acpx): store agent session ID when session/load fails

When an ACP agent (e.g. Gemini CLI) rejects the acpx-generated session
ID via session/load and falls back to session/new, the agent-returned
session ID was previously discarded. This caused identity stuck at
pending forever, multi-turn failures, lost completion events, and
persistent reconcile warnings.

- Parse ACP protocol stream in runTurn() to capture agent session IDs
- Flip resolveRuntimeResumeSessionId() to prefer agentSessionId
- Add createIdentityFromHandleEvent() for handle-sourced identity
- Layer handle event identity before status in reconcile
- Add regression tests for load fallback and restart resume

Closes #52182

* ACPX: prefer decoded session ids

* ACPX: refresh runtime handle state from status

---------

Co-authored-by: Wesley <imwyvern@users.noreply.github.com>
2026-04-05 10:01:59 +01:00
..
runtime-internals refactor(acpx): split Windows command parsing 2026-04-04 14:19:20 +09:00
test-utils fix(acpx): retry persisted resume ids cleanly (#52209) 2026-04-05 10:01:59 +01:00
config-schema.ts style(providers): normalize import and wrap formatting 2026-04-04 12:19:08 +01:00
config.test.ts style: normalize import ordering and wrapping 2026-04-05 09:26:39 +01:00
config.ts fix: stabilize docker e2e lanes 2026-04-05 07:15:24 +01:00
ensure.test.ts ACP: harden startup and move configured routing behind plugin seams (#48197) 2026-03-17 17:27:52 +01:00
ensure.ts Plugins: internalize acpx SDK imports 2026-03-17 22:58:43 -07:00
runtime.test.ts fix(acpx): retry persisted resume ids cleanly (#52209) 2026-04-05 10:01:59 +01:00
runtime.ts fix(acpx): retry persisted resume ids cleanly (#52209) 2026-04-05 10:01:59 +01:00
service.test.ts fix(acpx): retry backend health probes after ensure (#58612) 2026-03-31 21:10:09 -04:00
service.ts fix(acpx): retry backend health probes after ensure (#58612) 2026-03-31 21:10:09 -04:00