SIGN IN SIGN UP

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