feat(claude): adapt to claude-agent-acp 0.75.1
Bump the pinned adapter from 0.74.0. An `initialize` handshake replayed
against both versions with codeg's own `clientCapabilities` differs by
exactly two things — the version string and a new
`agentCapabilities._meta.authStatus: {}` — so the bump itself is inert.
Three of the four upstream feature commits do need code:
- #991 turned context compaction into a provider-neutral
`_meta.contextCompaction` tool-call lifecycle, the same key codex-acp
1.3.0 introduced. The live path was already free (the card matches on
`_meta`, not on agent), but history dropped the transcript's
`system`/`compact_boundary` record entirely, so the divider would have
appeared during the turn and vanished on reopen. `parsers::claude` now
synthesizes the same tool pair from that record, renaming the
transcript's `auto` trigger to the wire's `automatic` exactly as the
adapter does. Claude is also the first agent to fill every reserved
field, so `trigger` becomes user-visible for the first time — hence the
two new message keys.
- #1089 gave `fork-session` a third resolution level that falls through
to `messageFingerprint` + `messageOccurrence` once an id misses in the
full history, so claude now shares DeepSeek's both-halves arm. A fork
point sitting on an abandoned branch resolves exactly instead of
silently degrading to a tail fork. Turns codeg synthesized with no text
of their own stay unnamed on purpose: `fingerprint("")` would match
every text-free grouping at once.
- #1080 made claude a second producer of `_auth/status_update`. codeg
registers that handler for every agent rather than per type, so the
pushes were already claimed; only the doc needed claude's vocabulary
and its extra per-prompt probe, which can land mid-turn.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> X
xintaofei committed
14168211a88b4b6f97bdcf3f6fefbf51a2a18e96
Parent: 4f0bd5f