@automatalabs/acp-agents 1.2.7 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/README.md +84 -11
  2. package/dist/acp-client.d.ts +26 -6
  3. package/dist/acp-client.d.ts.map +1 -1
  4. package/dist/acp-client.js +30 -7
  5. package/dist/agent/acp-agent.d.ts +141 -0
  6. package/dist/agent/acp-agent.d.ts.map +1 -0
  7. package/dist/agent/acp-agent.js +837 -0
  8. package/dist/agent/errors.d.ts +17 -0
  9. package/dist/agent/errors.d.ts.map +1 -0
  10. package/dist/agent/errors.js +37 -0
  11. package/dist/agent/events.d.ts +26 -0
  12. package/dist/agent/events.d.ts.map +1 -0
  13. package/dist/agent/events.js +165 -0
  14. package/dist/agent/fork.d.ts +27 -0
  15. package/dist/agent/fork.d.ts.map +1 -0
  16. package/dist/agent/fork.js +28 -0
  17. package/dist/agent/probe.d.ts +14 -0
  18. package/dist/agent/probe.d.ts.map +1 -0
  19. package/dist/agent/probe.js +87 -0
  20. package/dist/agent/process-registry.d.ts +9 -0
  21. package/dist/agent/process-registry.d.ts.map +1 -0
  22. package/dist/agent/process-registry.js +28 -0
  23. package/dist/agent/queue.d.ts +19 -0
  24. package/dist/agent/queue.d.ts.map +1 -0
  25. package/dist/agent/queue.js +90 -0
  26. package/dist/agent/routing.d.ts +27 -0
  27. package/dist/agent/routing.d.ts.map +1 -0
  28. package/dist/agent/routing.js +87 -0
  29. package/dist/agent/structured.d.ts +47 -0
  30. package/dist/agent/structured.d.ts.map +1 -0
  31. package/dist/agent/structured.js +90 -0
  32. package/dist/agent/turn.d.ts +65 -0
  33. package/dist/agent/turn.d.ts.map +1 -0
  34. package/dist/agent/turn.js +187 -0
  35. package/dist/agent/types.d.ts +226 -0
  36. package/dist/agent/types.d.ts.map +1 -0
  37. package/dist/agent/types.js +9 -0
  38. package/dist/backend.d.ts +18 -5
  39. package/dist/backend.d.ts.map +1 -1
  40. package/dist/backends/claude.d.ts +5 -0
  41. package/dist/backends/claude.d.ts.map +1 -1
  42. package/dist/backends/claude.js +45 -17
  43. package/dist/backends/codex.d.ts +4 -0
  44. package/dist/backends/codex.d.ts.map +1 -1
  45. package/dist/backends/codex.js +14 -9
  46. package/dist/backends/custom.d.ts.map +1 -1
  47. package/dist/backends/custom.js +3 -2
  48. package/dist/backends/opencode.d.ts +4 -0
  49. package/dist/backends/opencode.d.ts.map +1 -1
  50. package/dist/backends/opencode.js +5 -1
  51. package/dist/backends/pi.d.ts +5 -2
  52. package/dist/backends/pi.d.ts.map +1 -1
  53. package/dist/backends/pi.js +15 -3
  54. package/dist/config-catalog.d.ts +173 -0
  55. package/dist/config-catalog.d.ts.map +1 -0
  56. package/dist/config-catalog.js +408 -0
  57. package/dist/index.d.ts +11 -3
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js +12 -1
  60. package/dist/interactive.d.ts +4 -5
  61. package/dist/interactive.d.ts.map +1 -1
  62. package/dist/protocol-coverage.d.ts +82 -0
  63. package/dist/protocol-coverage.d.ts.map +1 -1
  64. package/dist/protocol-coverage.js +76 -0
  65. package/dist/registry.d.ts +12 -0
  66. package/dist/registry.d.ts.map +1 -1
  67. package/dist/registry.js +22 -0
  68. package/dist/routing.d.ts +14 -0
  69. package/dist/routing.d.ts.map +1 -0
  70. package/dist/routing.js +53 -0
  71. package/dist/runner.d.ts.map +1 -1
  72. package/dist/runner.js +9 -68
  73. package/dist/session-ref.d.ts +8 -0
  74. package/dist/session-ref.d.ts.map +1 -0
  75. package/dist/session-ref.js +21 -0
  76. package/dist/structured-tool.d.ts +4 -0
  77. package/dist/structured-tool.d.ts.map +1 -1
  78. package/dist/structured-tool.js +5 -0
  79. package/dist/system-prompt.d.ts +13 -0
  80. package/dist/system-prompt.d.ts.map +1 -0
  81. package/dist/system-prompt.js +67 -0
  82. package/package.json +4 -4
package/README.md CHANGED
@@ -6,7 +6,7 @@ This is the layer `@automatalabs/workflows` and `@automatalabs/mcp-server` are b
6
6
 
7
7
  ## Most users want `@automatalabs/workflows`
8
8
 
9
- If you are orchestrating a workflow, use [`@automatalabs/workflows`](../workflows) instead — it re-exports `createAcpRunner` and wires it into the engine for you. Reach for this package directly only when you want to drive a **single** ACP agent yourself or need the low-level auth/session lifecycle APIs.
9
+ If you are orchestrating a workflow, use [`@automatalabs/workflows`](../workflows) instead — it re-exports `createAcpRunner` and wires it into the engine for you. Reach for this package directly only when you want to drive a **single** ACP agent yourself (`run()`, or the held-open [`AcpAgent` SDK](#acpagent--the-sdk-front-door)) or need the low-level auth/session lifecycle APIs.
10
10
 
11
11
  ```bash
12
12
  npm install @automatalabs/acp-agents
@@ -48,7 +48,7 @@ try {
48
48
  }
49
49
  ```
50
50
 
51
- `run()` accepts the full `RunOptions` seam: `schema`, `model`, `mode`, `configOptions`, `tier`, `cwd`, `instructions`, `label`, `signal` (cancellation), `toolNames` / `disallowedToolNames`, `maxSchemaRetries`, `mcpServers`, `images` (see below), `runId`, `backends`, `meta` / `promptMeta`, base/developer instructions, session hand-off fields, and telemetry callbacks. See `@automatalabs/shared-types` for the field-by-field contract.
51
+ `run()` accepts the full `RunOptions` seam: `schema`, `model`, `mode`, `configOptions`, `tier`, `cwd`, `instructions`, `label`, `signal` (cancellation), `toolNames` / `disallowedToolNames`, `maxSchemaRetries`, `mcpServers`, `images` (see below), `runId`, `backends`, `meta` / `promptMeta`, the backend-neutral `systemPrompt` instructions, session hand-off fields, and telemetry callbacks. See `@automatalabs/shared-types` for the field-by-field contract.
52
52
 
53
53
  Aborting `signal` sends ACP `session/cancel` for that session. If its active turn does not settle
54
54
  within five seconds, the client sends `session/close` when the agent advertised it and quarantines
@@ -95,21 +95,30 @@ await runner.run("What's in this screenshot?", {
95
95
  });
96
96
  ```
97
97
 
98
- ### Codex session instructions (`baseInstructions` / `developerInstructions`)
98
+ ### System prompt instructions (`systemPrompt`)
99
99
 
100
- When the run routes to the Codex backend, two optional fields let you override Codex's thread-level instructions for the session:
100
+ `systemPrompt` (a `SystemPromptOptions` from `@automatalabs/shared-types`) is the one backend-neutral way to shape the agent's system prompt for a session — on `run()`, `openSession()`, and the `AcpAgent` SDK alike. `replace` swaps the backend's built-in system prompt for your text; `append` adds your text on top of it. Each backend carries the two halves on its own session `_meta` channel (`session/new`, and `session/resume` / `session/load` / the reattach of an id-only fork):
101
101
 
102
- - **`baseInstructions`** — replaces Codex's built-in base system prompt.
103
- - **`developerInstructions`** — injects developer-role instructions (added on top of the base prompt).
102
+ | backend | `replace` | `append` | wire |
103
+ |---|---|---|---|
104
+ | `codex` | replaces Codex's base system prompt | developer-role instructions on top of it | the bare `baseInstructions` / `developerInstructions` keys on `_meta` → the Codex `thread/start` / `thread/resume` params of the same name ([`@automatalabs/codex-acp`](https://www.npmjs.com/package/@automatalabs/codex-acp)) |
105
+ | `claude` | replaces the whole prompt | appended to the adapter's `claude_code` preset | `_meta.systemPrompt`: a string for `replace`, `{ append }` for `append`; both together are sent as one replacement string (replaced prompt, blank line, appended text) because the adapter has no custom-base-plus-append form |
106
+ | `pi` | pi's custom-prompt slot (the `SYSTEM.md` / `--system-prompt` slot) | one more append entry after the operator's own | `_meta.systemPrompt` `{ replace?, append? }` verbatim ([`@automatalabs/pi-acp`](https://www.npmjs.com/package/@automatalabs/pi-acp) advertises `_meta.systemPrompt: { replace: true, append: true }` at initialize) |
107
+ | `opencode` | — | — | `opencode acp` reads no session `_meta`; system prompts live in OpenCode's own config and agent definitions, so there is no system-prompt channel |
108
+ | custom | — | — | ACP has no standard key; send your agent's own `_meta` through `meta` |
104
109
 
105
- They ride ACP `session/new` `_meta` as bare keys and are threaded into the Codex `thread/start.{baseInstructions,developerInstructions}` params by the [`@automatalabs/codex-acp`](https://www.npmjs.com/package/@automatalabs/codex-acp) adapter. Both are additive (never part of the resume identity) and are **ignored by the Claude backend** — Claude has no analog. Note this is distinct from `instructions`, which is folded into the prompt text for either backend.
110
+ Support is validated **before a session opens**: a field the routed backend cannot carry is a non-recoverable `SCRIPT_VALIDATION_ERROR` naming the backend and the field, never a silent no-op, and so is a non-object, an unknown field, or a blank string. `systemPrompt` is additive (never part of the resume identity) and wins over the same key in the generic `meta` passthrough; a backend's own extras (Claude's `excludeDynamicSections`, say) still travel through `meta` when the option is not used. Note this is distinct from the `instructions` string, which is folded into the prompt text for every backend.
106
111
 
107
112
  ```ts
108
113
  await runner.run("Cut the release.", {
109
114
  model: "codex/gpt-5.6-sol",
110
115
  cwd: "/abs/path/to/worktree",
111
- baseInstructions: "You are a release bot. Only touch CHANGELOG.md.",
112
- developerInstructions: "Prefer conventional-commit summaries.",
116
+ systemPrompt: { replace: "You are a release bot. Only touch CHANGELOG.md.", append: "Prefer conventional-commit summaries." },
117
+ });
118
+ await runner.run("Summarize the diff.", {
119
+ model: "claude/opus",
120
+ cwd: "/abs/path/to/worktree",
121
+ systemPrompt: { append: "Answer in at most three sentences." },
113
122
  });
114
123
  ```
115
124
 
@@ -228,6 +237,43 @@ try {
228
237
  }
229
238
  ```
230
239
 
240
+ ## AcpAgent — the SDK front door
241
+
242
+ `AcpAgent` is the held-open counterpart of `run()`: one **dedicated** ACP process per agent (and per fork), a lazy constructor that spawns nothing until the first call, turns that serialize in a per-agent FIFO, live `fork()`s that see everything the parent committed so far, and cold reopen of a recorded session from its `AgentSessionRef`. It composes the same primitives as the runner and `InteractiveSession` (`PooledConnection`, `SessionHandle`, the backends, the routing grammar, the structured-output tool host) and owns no pool, so a parent's `close()` never affects its forks. The full reference — options, the turn shape, the abort table, forks, cold reopen, structured output, events, discovery, errors — is [docs/api.md — AcpAgent SDK](../../docs/api.md#acpagent-sdk).
243
+
244
+ ```ts
245
+ import { AcpAgent } from "@automatalabs/acp-agents";
246
+
247
+ const catalog = await AcpAgent.probe({ modelFilter: "opus" }); // no-prompt catalog, one process per target
248
+ const primary = new AcpAgent({ cwd: "/abs/path/to/worktree", model: "claude/opus[1m]" }); // spawns nothing yet
249
+ primary.on("agent_message_chunk", (e) => { // this agent's events only
250
+ if (e.content.type === "text") process.stdout.write(e.content.text);
251
+ });
252
+
253
+ const turn = await primary.prompt("Investigate the failing test.");
254
+ turn.response; // the verbatim PromptResponse, `_meta` intact
255
+ turn.updates; turn.raw; turn.toolCalls; // every update / vendor notification / folded tool call of the turn
256
+ turn.usage.turn; turn.usage.session; // this turn's tokens; the agent's running sum
257
+
258
+ const planner = await primary.fork(); // a NEW process seeded with the transcript so far
259
+ const plan = await planner.prompt("Plan the smallest fix.", {
260
+ mode: "plan", // sticky: applies to this and every later turn of `planner`
261
+ meta: { trace: "plan-1" }, // turn `_meta`, passed through verbatim
262
+ });
263
+ await primary.prompt("Meanwhile, list the callers."); // the parent keeps going, unaffected
264
+
265
+ await planner.close();
266
+ await primary.close({ keep: true }); // process disposed; the session stays re-openable
267
+ // The same session on a fresh process: the ref carries no model, so pass the agent's back. `resume` replays
268
+ // nothing (history/text start empty) — `AcpAgent.load(ref)` replays the transcript instead.
269
+ const again = await AcpAgent.resume(primary.sessionRef!, { model: primary.model });
270
+ await again.close();
271
+ ```
272
+
273
+ `prompt`, `fork`, `setMode`, `setConfigOptions`, and `close` run FIFO per agent, so a fork always sees a quiescent, fully persisted parent transcript. `steer()` and `cancel()` overlap the queue: `steer()` injects into the turn in flight (`_session/steering`) and rejects when nothing is in flight; `cancel()` sends one `session/cancel` for the turn whose `session/prompt` is on the wire (a turn that has started but is still opening the session or applying its per-turn options is not reached — a per-call `signal` covers that window) and, when the agent ignores it for the grace period, disposes the process **without** a wire `session/close` so `sessionRef` stays re-openable. `prompt()` resolves a turn for every `PromptResponse` the wire returned — no `stopReason` is thrown on — and rejects only on a wire rejection, validation, abort (`signal.reason` untouched), a closed agent, or a typed session failure (then with the complete turn attached as `error.turn`; narrow with `isAcpAgentTurnError`).
274
+
275
+ `fork()` follows the backend's `FORK_SESSION_TRAITS` row ([the table under Session handoff](#what-a-sessionfork-response-is-fork_session_traits)) instead of probing: on the `id-only` backends (Claude, Codex) the child releases the bare fork handle with `keepOpen` and reattaches the new id (`session/resume`, else `session/load`) before its first turn, so the wire order is always `session/fork` < `session/resume` < `session/prompt`; on the `live` backends (pi, OpenCode) the fork handle is the session. Claude forks must keep the source cwd; a custom entry wrapping claude-agent-acp or codex-acp must declare `fork: { disposition: "id-only" }`. A per-turn `schema` is accepted only on Codex (whose schema rides each turn's `_meta.outputSchema`); every other backend binds the schema at session open, so pass it to the constructor. `AcpAgent.probe()` returns the same `HarnessConfigReport` as `probeHarnessConfig` plus a `models` view, and keeps the bare harness catalog next to a failed exact-model probe.
276
+
231
277
  ## Authentication lifecycle
232
278
 
233
279
  The built-in runner is auth-capable without widening the minimal `AgentRunner` interface.
@@ -260,6 +306,29 @@ transcript usage is baselined away, so only continuation-turn usage is reported.
260
306
  never opens the fresh fallback. The runner also exposes `listSessions()` and `deleteSession()` where
261
307
  advertised; inspect `reopen` rather than assuming every ACP agent persists state.
262
308
 
309
+ ### What a `session/fork` response is (`FORK_SESSION_TRAITS`)
310
+
311
+ `forkSession()` returns whatever the agent answered, and the answer differs per adapter. `FORK_SESSION_TRAITS`
312
+ pins each built-in's disposition from its source: `id-only` forks (Claude, Codex) name a persisted copy that is
313
+ not live — Claude answers `{ sessionId }` alone and prompting it fails with "Session not found"; Codex installs
314
+ state but unsubscribes the forked thread — so they must be reopened (`session/resume`, else `session/load`)
315
+ before their first turn; `live` forks (pi; OpenCode by live verification) are the session. `fork cwd` says
316
+ whether the fork may re-home (Claude's transcript store is keyed by the source cwd).
317
+
318
+ | agent | `session/fork` disposition | reattach | fork cwd |
319
+ |---|---|---|---|
320
+ | `claude` | `id-only` | `resume-or-load` | `source-only` |
321
+ | `codex` | `id-only` | `resume-or-load` | `free` |
322
+ | `opencode` | `live` | `none` | `free` |
323
+ | `pi` | `live` | `none` | `free` |
324
+
325
+ `forkSessionTrait(agent, declared?)` resolves a row — a built-in's own, the row a custom backend's `fork`
326
+ declaration describes (a declaration always wins over a name that shadows a built-in), else
327
+ `FORK_SESSION_TRAIT_DEFAULT` (`live` / `free`, the plain ACP contract). Custom entries that wrap
328
+ claude-agent-acp or codex-acp must declare `fork: { disposition: "id-only" }`.
329
+
330
+ `PROMPT_USAGE_SCOPES` pins that `PromptResponse.usage` is per-turn on every built-in (the SDK's `Usage` doc says "across session"; the installed adapters report the turn), so a session total is your own running sum of turn reports — `UsageAccumulator.recordPromptUsage` replaces, never sums. `promptUsageScope(agent)` answers `"turn"` for built-ins and custom agents alike. Both tables are probed in the installed Claude/Codex/pi dists by the protocol coverage suite.
331
+
263
332
  ## Listening in: live ACP events
264
333
 
265
334
  `AcpAgentRunner` is also a typed event bus — `runner.on(name, listener)` bubbles up the live ACP stream of every run (streaming text, tool calls, usage, permissions, elicitations). Event names are the ACP `sessionUpdate` discriminants (`agent_message_chunk`, `tool_call`, `usage_update`, …) plus the cross-cutting `session_update` (catch-all), `permission_pending`, `permission_request`, `elicitation_pending`, `elicitation_request`, `elicitation_complete`, `raw_message`, `steering`, `session_open` / `session_close`, and `backend_error`. Each payload carries a `{ sessionId, backendId, label?, runId?, callIndex?, initializeMeta? }` context envelope (a pooled runner multiplexes many runs at once). `steering` carries `{ response }` with the complete raw server response after a resolved request, never the request prompt content or request metadata. `permission_pending` / `elicitation_pending` are resolver-only and carry `{ request }` before the host resolver is invoked; `permission_request` / `elicitation_request` fire exactly once with the final `{ request, outcome }` returned to the agent; `elicitation_complete` carries `{ notification }` for URL completions. `on()` / `once()` return an unsubscribe thunk; `off()` and `removeAllListeners()` round it out. Listeners are best-effort observers — a throwing listener never affects the run.
@@ -294,17 +363,21 @@ From [`src/index.ts`](./src/index.ts):
294
363
  - **Auth/provider lifecycle methods** — `describeAuthMethods()`, `completeAuth()`, `runner.auth`, `authMethods()`, `authenticate()`, `listProviders()`, `setProvider()`, `disableProvider()`, and `logout()`; see [docs/api.md](../../docs/api.md) for capability gating and installed adapter support. A successful `setProvider()` records a durable routing intent (`ProviderStore`) replayed on every fresh connection's `initialize` — provider config is in-process agent state for e.g. codex-acp, so record → recycle → replay is what makes it stick across the pool.
295
364
  - **Session lifecycle methods** — `listSessions()`, `deleteSession()`, `loadSession()`, `resumeSession()`, and `forkSession()` for backends that advertise session persistence; see [docs/api.md](../../docs/api.md).
296
365
  - **`InteractiveSession` / `InteractiveSessionOptions` / `InteractiveTurn` / `SteeringResponse`** — the held-open multi-turn session surface returned by `openSession()`; `InteractiveSession.steer()` is available only while its original `prompt()` is in flight and returns the raw extension response.
366
+ - **`AcpAgent`** (+ `AcpAgentOptions`, `AcpAgentPromptOptions`, `AcpAgentTurn`, `AcpAgentForkOptions`, `AcpAgentReopenOptions`, `AcpAgentProbeOptions`, `AcpAgentCatalog`, `AcpAgentState`, `AcpAgentTurnError` / `isAcpAgentTurnError`) — the SDK-style front door: one dedicated ACP process per agent, a per-agent FIFO (`prompt`/`fork`/`setMode`/`setConfigOptions`/`close` serialize behind the in-flight turn; `steer`/`cancel` overlap it), verbatim per-turn results (`turn.response` incl. `_meta`, every `updates`/`raw` record, folded `toolCalls`, per-turn `usage`), live `fork()` on a new process following the backend's `FORK_SESSION_TRAITS` row (id-only backends are reattached before their first turn), `close({ keep })`, `Symbol.asyncDispose`, the cold statics `AcpAgent.resume/load/fork(ref)` routed by `ref.backendId` (never the default backend), and `AcpAgent.probe()` — the same catalog `probeHarnessConfig` produces, on one disposed process per target. A typed session failure rejects `prompt()` with the runner's mapped `WorkflowError` carrying the complete turn as `error.turn`. Quick start above; full reference in [docs/api.md](../../docs/api.md#acpagent-sdk). `@automatalabs/workflows` re-exports the class, `isAcpAgentTurnError`, and the types.
297
367
  - **`ProbeConfigOptionsOptions` / `ProbedConfigOptions` / `SessionConfigOption`** — the no-prompt probe controls, routed result, and verbatim ACP advertised-option wire shape.
368
+ - **`probeHarnessConfig` / `buildHarnessModelsView` / `buildHarnessConfigSummary`** — the token-free harness config catalog (moved here from `@automatalabs/workflows`, which re-exports it): one no-prompt session per requested harness resolving to a `HarnessConfigReport` (`ValidateHarnessOptions[]` plus the bounded `authoringSummary`), the `--models` view builders (`buildModelFilter`, `selectChoicePairs`, `summarizeSelectChoices`), `formatHarnessConfigSummary`, and the `ValidateProbeRunner` seam a host passes as `probeRunner` to reuse its own live runner.
298
369
  - **`BUILTIN_BACKENDS` / `ThoughtLevelDomainSemantics`** — the built-in registry declares whether each backend's thought-level values are an `"ordered"` ladder (Claude, Codex, Pi) or an `"exact-set"` (OpenCode). `builtinThoughtLevelDomainSemantics(id)` performs an exact lookup; an absent row means a custom/unknown backend and must be handled as `"exact-set"`.
299
370
  - **`AcpRunnerOptions.onElicitation`** — runner-wide ACP elicitation responder; sessions can override with `InteractiveSessionOptions.onElicitation`.
300
371
  - **`selectBackend({ model, tier }, registry?)`** — deterministic first-segment routing; registered custom names take priority, then the four built-ins, otherwise the configured default.
372
+ - **`resolveModelRoute(spec, registry?)` / `ModelRoute`** — the same routing with the verbatim model value kept: `{ backend, modelSpec }`, where `modelSpec` is the text after the routed first segment (`undefined` for a backend-only spec) or the whole spec when nothing routed. `selectBackend` is `resolveModelRoute(model ?? tier).backend`.
301
373
  - **`ClaudeBackend` / `CodexBackend` / `OpenCodeBackend` / `PiBackend`** — the four built-in backend strategies (spawn config + per-backend schema/auth wiring). OpenCode is host-resolved rather than bundled; pi uses bundled `@automatalabs/pi-acp`.
302
- - **`CustomAcpBackend` / `resolveBackendRegistry` / `BACKENDS_ENV`** — the custom-backend registry: run **any** ACP agent as a named backend via `createAcpRunner({ backends: { name: { command, args?, env?, sessionMeta?, structuredOutputTool? } } })` or the `AGENTPRISM_BACKENDS` env var (JSON, same shape; the option wins per name; names may shadow built-ins). Custom backends carry a `schema` as turn-level `_meta.outputSchema` and read the result off the final message as JSON. No host-side vendor capability declaration is required.
374
+ - **`CustomAcpBackend` / `resolveBackendRegistry` / `BACKENDS_ENV`** — the custom-backend registry: run **any** ACP agent as a named backend via `createAcpRunner({ backends: { name: { command, args?, env?, sessionMeta?, structuredOutputTool?, fork? } } })` or the `AGENTPRISM_BACKENDS` env var (JSON, same shape; the option wins per name; names may shadow built-ins). `fork?` (`CustomBackendForkConfig`, `{ disposition: "id-only" | "live", cwd?: "source-only" | "free" }`) declares how the agent answers `session/fork` — see `FORK_SESSION_TRAITS` above; omitted means `live`/`free`. Custom backends carry a `schema` as turn-level `_meta.outputSchema` and read the result off the final message as JSON. No host-side vendor capability declaration is required.
303
375
  - **Auth contracts and lifecycle** — `AuthStore`, `BackendAuthMachine`, `buildAuthDescriptors`, the built-in auth profiles, and the `AuthContext` / `AuthResolution` / `AuthMethodDescriptor` / `AuthCapableRunner` types.
304
376
  - **Permission APIs** — `PermissionResolver` parks a request for an async host decision; `selectPermissionOption(request, optionId)` validates one exact advertised option. `decidePermission` remains the SDK/headless auto-policy. Provider effects and persistence are never inferred from labels, `kind`, or response metadata.
305
377
  - **`clientCapabilitiesFor` + the `ClientHandlers` / `FsHandlers` / `TerminalHandlers` / `AcpSessionContext` types** — the client-side fs/terminal interposition surface (see above).
306
378
  - **`negotiateCapabilities` / `adaptPromptContent` / `unsupportedMcpServer` + `NegotiatedCapabilities`** — the standard ACP capability-negotiation primitives; the negotiated record for a live connection is exposed on `PooledConnection.capabilities`, with vendor initialize metadata retained only as raw `initializeMeta`.
307
379
  - **`AGENT_METHOD_COVERAGE` / `CLIENT_METHOD_COVERAGE` / `ACP_EXTENSION_SUPPORT_MATRIX`** — manifests classifying the installed ACP SDK method surface and documenting built-in vendor-extension advertisements. The extension matrix is evidence for probes and never routes runtime behavior.
380
+ - **`FORK_SESSION_TRAITS` / `FORK_SESSION_TRAIT_DEFAULT` / `forkSessionTrait(agent, declared?)`** and **`PROMPT_USAGE_SCOPES` / `promptUsageScope(agent)`** — the per-built-in `session/fork` disposition table and the per-turn `PromptResponse.usage` scope pin (see [Session handoff](#session-handoff)); both also ride each `BUILTIN_PROTOCOL_COVERAGE` row as `fork` / `promptUsage`. Executable data probed in the installed adapter dists, never a runtime branch.
308
381
  - **`toJsonSchema(schema)` / `toStrictJsonSchema(schema)`** — turn a typebox schema into on-the-wire shapes: plain JSON Schema for Claude and the Pi/OpenCode injected HTTP MCP tool, and an OpenAI-strict-normalized schema for Codex `outputSchema`. Pi retains the common prompt/validated-last-text fallback.
309
382
 
310
383
  Also exported: `AcpAgentPool` / `resolvePoolSize` (including the same deadline-only `forceKill()` emergency path), `PooledConnection` / `SessionHandle`, `decidePermission`, `UsageAccumulator`, `resolveStructuredOutput` / `extractValidated` / `findJsonBlock` / `validateValue`, `errorText` / `mapThrownError`, and the event surface `TypedEventEmitter` / `AcpRunnerEventMap` / `AcpEventName` / `AcpEventListener` / `AcpEventContext` / `AcpSessionUpdate` (+ the per-event payload types, including `AcpPermissionPendingEvent`), plus their associated types.
@@ -314,7 +387,7 @@ Also exported: `AcpAgentPool` / `resolvePoolSize` (including the same deadline-o
314
387
  | Variable | Effect |
315
388
  | --- | --- |
316
389
  | `AGENTPRISM_DEFAULT_BACKEND` | Backend for specs whose first segment is not registered (`claude`, `codex`, `opencode`, `pi`, or a registered custom name; unknown values fall back to Claude). |
317
- | `AGENTPRISM_BACKENDS` | Custom ACP backends as JSON: `{"<name>": {"command": "…", "args": […], "env": {…}, "sessionMeta": {…}, "structuredOutputTool": true}}`. |
390
+ | `AGENTPRISM_BACKENDS` | Custom ACP backends as JSON: `{"<name>": {"command": "…", "args": […], "env": {…}, "sessionMeta": {…}, "structuredOutputTool": true, "fork": { "disposition": "id-only" }}}` (`fork` optional; declare `id-only` for entries wrapping claude-agent-acp or codex-acp). |
318
391
  | `AGENTPRISM_ACP_INIT_TIMEOUT_MS` | Deadline (default `60000`) for a backend's one-time ACP `initialize` handshake — a non-ACP command fails fast instead of hanging. |
319
392
  | `AGENTPRISM_ACP_POOL_SIZE` | Long-lived processes to keep per backend (default `1`). |
320
393
  | `AGENTPRISM_CLAUDE_ACP_CMD` / `AGENTPRISM_CLAUDE_ACP_ARGS` | Override the command (and args) used to spawn the Claude ACP server. |
@@ -1,6 +1,6 @@
1
1
  import { type AuthenticateRequest, type AuthenticateResponse, type AuthMethod, type CreateElicitationResponse, type ContentBlock, type AgentNotificationMethod, type AgentNotificationParamsByMethod, type AgentRequestMethod, type AgentRequestParamsByMethod, type AgentRequestResponsesByMethod, type DeleteSessionRequest, type DisableProviderRequest, type DisableProviderResponse, type ListSessionsRequest, type ListSessionsResponse, type ListProvidersRequest, type ListProvidersResponse, type LogoutRequest, type LogoutResponse, type PromptRequest, type PromptResponse, type RequestPermissionResponse, type SendRequestOptions, type SessionConfigOption, type SessionModeState, type SessionNotification, type SetProviderRequest, type SetProviderResponse, type SetSessionConfigOptionRequest, type SetSessionConfigOptionResponse, type SetSessionModeRequest, type SetSessionModeResponse } from "@agentclientprotocol/sdk";
2
2
  import type { TSchema } from "typebox";
3
- import { type AgentHistoryEntry, type McpServerConfig } from "@automatalabs/shared-types";
3
+ import { type AgentHistoryEntry, type McpServerConfig, type SystemPromptOptions } from "@automatalabs/shared-types";
4
4
  import type { Backend, BackendId, ProviderErrorMetadata, StructuredSource } from "./backend.js";
5
5
  import { type NegotiatedCapabilities } from "./capabilities.js";
6
6
  import { type AcpEventSink } from "./events.js";
@@ -174,6 +174,10 @@ declare class SessionState {
174
174
  /** The turn's assistant text with the §5 message joiner: deltas of one
175
175
  * message concatenate verbatim; distinct messages join with "\n\n". */
176
176
  foldedTurnText(): string;
177
+ /** The whole retained log folded the same way (`foldedTurnText()` from
178
+ * index 0): every retained assistant message, a replayed transcript
179
+ * included, with distinct messages joined by "\n\n". */
180
+ foldedText(): string;
177
181
  private foldedTextFrom;
178
182
  private markAssistantMessageBoundary;
179
183
  private beginAssistantMessageChunk;
@@ -324,10 +328,10 @@ export interface AcpSessionOptions {
324
328
  label?: string;
325
329
  /** `RunOptions.callIndex`, propagated onto emitted events as context. NOT sent on the wire. */
326
330
  callIndex?: number;
327
- /** CODEX-ONLY session instruction overrides. The backend folds these into session/new `_meta`
328
- * (bare keys) for the codex-acp adapter; the Claude backend ignores them. Omitted => unset. */
329
- baseInstructions?: string;
330
- developerInstructions?: string;
331
+ /** Backend-neutral system prompt instructions, validated against `Backend.systemPrompt` by the
332
+ * caller (`assertSystemPromptSupported`) before the session opens. The backend folds them into
333
+ * its own `_meta` dialect on new/resume/load/fork. Omitted => the backend's built-in prompt. */
334
+ systemPrompt?: SystemPromptOptions;
331
335
  /** Retain accumulated assistant text/tool history for the lifetime of this ACP session.
332
336
  * Default true preserves run()'s diagnostic history contract. Held-open interactive sessions
333
337
  * pass false because hosts stream live events / keep their own transcript; retaining old turns
@@ -635,7 +639,18 @@ export declare class SessionHandle implements StructuredSource {
635
639
  private applyConfigOption;
636
640
  /** Switch the session's operating mode through ACP's strict confinement channel. */
637
641
  setMode(modeId: string): Promise<void>;
638
- /** Send a prompt turn and drain it; returns the final PromptResponse. */
642
+ /**
643
+ * The wire outcome of a prompt turn: the verbatim `PromptResponse` plus the terminal typed
644
+ * session failure it carried, if any. Never throws for a typed failure — the response (its
645
+ * `_meta`, `usage`, `stopReason`) is handed back alongside the parsed failure so a caller can
646
+ * keep everything the turn produced. `prompt()` is this plus the throw the runner relies on.
647
+ */
648
+ promptOutcome(content: string | ContentBlock[], promptMeta?: Record<string, unknown>): Promise<{
649
+ response: PromptResponse;
650
+ failure?: TypedSessionFailure;
651
+ }>;
652
+ /** Send a prompt turn and drain it; returns the final PromptResponse. A terminal typed session
653
+ * failure is raised as the mapped `WorkflowError` (see `promptOutcome` for the non-throwing split). */
639
654
  prompt(content: string | ContentBlock[], promptMeta?: Record<string, unknown>): Promise<PromptResponse>;
640
655
  /**
641
656
  * The typed session failure that ended this turn, if any (codex-acp's negotiated extension —
@@ -667,6 +682,11 @@ export declare class SessionHandle implements StructuredSource {
667
682
  * assistant MESSAGES join with "\n\n" (the result fold the runner
668
683
  * returns; consecutive chunks of one message join with ""). */
669
684
  foldedTurnText(): string;
685
+ /** The retained session log's assistant text with the same message
686
+ * joiner as `foldedTurnText()`, over the whole log (a `session/load`
687
+ * replay included). What `AcpAgent.text` reads; `text` stays the raw
688
+ * chunk concatenation. */
689
+ foldedText(): string;
670
690
  /** StructuredSource — the latest turn's FINAL assistant message (see SessionState). */
671
691
  finalMessageText(): string;
672
692
  /** StructuredSource — Claude's raw structured_output for the latest turn, if any. */
@@ -1 +1 @@
1
- {"version":3,"file":"acp-client.d.ts","sourceRoot":"","sources":["../src/acp-client.ts"],"names":[],"mappings":"AAyBA,OAAO,EAOL,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,UAAU,EAQf,KAAK,yBAAyB,EAC9B,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC5B,KAAK,+BAA+B,EACpC,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,6BAA6B,EAGlC,KAAK,oBAAoB,EAEzB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAK5B,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAG1B,KAAK,aAAa,EAClB,KAAK,cAAc,EAMnB,KAAK,aAAa,EAClB,KAAK,cAAc,EAMnB,KAAK,yBAAyB,EAG9B,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EAGxB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EAExB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,6BAA6B,EAClC,KAAK,8BAA8B,EACnC,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAO5B,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAIL,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACV,OAAO,EACP,SAAS,EACT,qBAAqB,EAErB,gBAAgB,EACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EAOL,KAAK,sBAAsB,EAC5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAA2C,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AACzF,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,UAAU,EAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAIL,KAAK,cAAc,EAEpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,qBAAqB,CAAC;AAW7B,kFAAkF;AAClF,eAAO,MAAM,uBAAuB,EAAG,mBAA4B,CAAC;AACpE;;;;;;;;4EAQ4E;AAC5E,eAAO,MAAM,wBAAwB,EAAG,4BAAqC,CAAC;AAC9E,eAAO,MAAM,wBAAwB,EAAG,4BAAqC,CAAC;AAC9E;wCACwC;AACxC,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,SAAS,GAAG,aAAa,CAAC;AACvE,uDAAuD;AACvD,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;CACnB;AACD,wDAAwD;AACxD,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AACD;;+FAE+F;AAC/F,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3C;AACD,+FAA+F;AAC/F,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AACD;uFACuF;AACvF,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC;AAGvC,iGAAiG;AACjG,eAAO,MAAM,2BAA2B,OAAQ,CAAC;AACjD,eAAO,MAAM,4BAA4B,OAAQ,CAAC;AAClD,eAAO,MAAM,2BAA2B,OAAQ,CAAC;AACjD,eAAO,MAAM,2BAA2B,QAA6D,CAAC;AAGtG,eAAO,MAAM,+BAA+B,QAAS,CAAC;AACtD,eAAO,MAAM,yBAAyB,OAAQ,CAAC;AAC/C,eAAO,MAAM,2BAA2B,QAA8D,CAAC;AAUvG,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AA6HD;8FAC8F;AAC9F,cAAM,YAAY;IAwFd,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,MAAM,EAAE,UAAU;IAC3B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB;IAChD,QAAQ,CAAC,yCAAyC;IAClD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB;IAClD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE3D,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE;IACxC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAlGnC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAM;IACnC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,EAAE,CAAM;IAC3C,QAAQ,CAAC,KAAK,mBAA0B;IACxC,QAAQ,CAAC,kBAAkB,gBAAqB,yBAAyB,KAAK,IAAI,EAAI;IACtF,QAAQ,CAAC,mBAAmB,gBAAqB,yBAAyB,KAAK,IAAI,EAAI;IACvF,QAAQ,CAAC,iBAAiB,cAAqB;IAC/C,QAAQ,CAAC,gBAAgB,cAA8B;IACvD,gBAAgB,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAC/C,qBAAqB,EAAE,qBAAqB,GAAG,SAAS,CAAC;IACzD,KAAK,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAC;IAC3C;;;;;oBAKgB;IAChB,OAAO,CAAC,mBAAmB,CAAkC;IAC7D;;sFAEkF;IAClF,OAAO,CAAC,4BAA4B,CAAkC;IACtE,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,sBAAsB,CAAK;IACnC;;;;kEAI8D;IAC9D,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAqB;IAClE,OAAO,CAAC,+BAA+B,CAAQ;IAC/C,OAAO,CAAC,wBAAwB,CAAqB;IACrD;;;;6EAIyE;IACzE,OAAO,CAAC,oBAAoB,CAAK;IACjC;4EACwE;IACxE,OAAO,CAAC,cAAc,CAAS;IAC/B;;;;;;;;;qDASiD;IACjD,OAAO,CAAC,mBAAmB,CAA0C;IACrE;;4EAEwE;IACxE,OAAO,CAAC,YAAY,CAAc;IAClC,2EAA2E;IAC3E,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyB;IACxD;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,YAAY,CAEJ;IAChB,OAAO,CAAC,wBAAwB,CAAS;IACzC;;;wFAGoF;IACpF,OAAO,CAAC,eAAe,CAAmF;IAC1G,0EAA0E;IAC1E,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAyB;IAEjE;6EACyE;gBAE9D,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,UAAU,EAClB,kBAAkB,CAAC,EAAE,kBAAkB,YAAA,EACvC,yCAAyC,UAAQ,EACjD,mBAAmB,CAAC,EAAE,mBAAmB,YAAA,EACzC,KAAK,CAAC,EAAE,MAAM,YAAA,EACd,KAAK,CAAC,EAAE,MAAM,YAAA,EACd,SAAS,CAAC,EAAE,MAAM,YAAA,EAClB,cAAc,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,YAAA,EAC3D,KAAK,CAAC,EAAE,gBAAgB,GAAG,IAAI,EACtB,YAAY,GAAE,SAAS,MAAM,EAAO,EAC5B,gBAAgB,UAAO;IAK1C;;;2DAGuD;IACvD,SAAS,IAAI,IAAI;IAgBjB,eAAe,IAAI,MAAM;IAIzB;4EACwE;IACxE,cAAc,IAAI,MAAM;IAIxB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,4BAA4B;IAKpC,OAAO,CAAC,0BAA0B;IAclC;;;oFAGgF;IAChF,gBAAgB,IAAI,MAAM;IAI1B,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,GAAG,IAAI;IA0GxD,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,GAAG,IAAI;IAM5D;;;;;;;;;;;;;;;;OAgBG;IACH,wBAAwB,CAAC,IAAI,EAAE,OAAO,GAAG,mBAAmB,GAAG,SAAS;IAYxE;;;;;OAKG;IACH,uBAAuB,IAAI,mBAAmB,GAAG,SAAS;IAQ1D;;;;;;0EAMsE;IACtE,eAAe,IAAI;QAAE,cAAc,EAAE,OAAO,CAAC;QAAC,mBAAmB,EAAE,mBAAmB,GAAG,OAAO,CAAA;KAAE;IAOlG;;yEAEqE;IACrE,cAAc,IAAI,MAAM;IAIxB;;;;;;OAMG;IACH,gBAAgB,IAAI,IAAI;IASxB;;;;;;;;OAQG;IACH,iBAAiB,IAAI;QACnB,MAAM,EAAE,OAAO,CAAC;QAChB,cAAc,EAAE,OAAO,CAAC;QACxB,mBAAmB,EAAE,mBAAmB,GAAG,OAAO,CAAC;QACnD,wBAAwB,EAAE,OAAO,CAAC;KACnC;IASD;;;;kDAI8C;IAC9C,qBAAqB,CAAC,YAAY,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,GAAG,IAAI;IAS7G;oCACgC;IAChC,oBAAoB,IAAI;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,GAAG,IAAI;IAIjG;;;kEAG8D;IAC9D,wBAAwB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAW1D;;;wCAGoC;IACpC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAOlD;;;mEAG+D;IAC/D,cAAc,IAAI,MAAM;IAIxB;mFAC+E;IAC/E,wBAAwB,IAAI,IAAI;IAIhC;8DAC0D;IAC1D,yBAAyB,IAAI,IAAI;CAGlC;AAglBD;8FAC8F;AAC9F,qBAAa,6BAA8B,SAAQ,KAAK;IAEpD,QAAQ,CAAC,SAAS,EAAE,SAAS;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM;gBADjB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,MAAM;CAQ7B;AAyFD,MAAM,WAAW,iBAAiB;IAChC,2EAA2E;IAC3E,GAAG,EAAE,MAAM,CAAC;IACZ,qFAAqF;IACrF,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,MAAM,EAAE,UAAU,CAAC;IACnB,wFAAwF;IACxF,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,kFAAkF;IAClF,yCAAyC,CAAC,EAAE,OAAO,CAAC;IACpD;4FACwF;IACxF,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,2FAA2F;IAC3F,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;IAC/B;;4FAEwF;IACxF,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B;oGACgG;IAChG,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2FAA2F;IAC3F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+FAA+F;IAC/F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;oGACgG;IAChG,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;sDAGkD;IAClD,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,qFAAqF;AACrF,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC3C;;iFAE6E;IAC7E,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,6FAA6F;IAC7F,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,+FAA+F;IAC/F,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C;qFACiF;IACjF,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;mGAC+F;IAC/F,gBAAgB,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC7D;;;8FAG0F;IAC1F,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;uGAGmG;IACnG,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,oFAAoF;IACpF,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,8EAA8E;IAC9E,YAAY,CAAC,EAAE;QACb,GAAG,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG;YAAE,KAAK,CAAC,IAAI,IAAI,CAAA;SAAE,CAAC;QAC1D,KAAK,CAAC,KAAK,EAAE;YAAE,KAAK,CAAC,IAAI,IAAI,CAAA;SAAE,GAAG,IAAI,CAAC;KACxC,CAAC;CACH;AAWD;;;;GAIG;AACH,qBAAa,gBAAgB;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,yFAAyF;IACzF,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAsC;IACzD;8DAC0D;IAC1D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAE9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyC;IAChE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6B;IAC5D,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAU;IAC/C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAwD;IACzF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwB;IAClD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4B;IAC1D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoD;IACjF;iGAC6F;IAC7F,SAAS,EAAE,mBAAmB,CAAyE;IACvG;;mFAE+E;IAC/E,aAAa,SAAK;IAClB;+FAC2F;IAC3F,cAAc,UAAS;IACvB,oGAAoG;IACpG,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAA4B;IAClD,mFAAmF;IACnF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,0FAA0F;IAC1F,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,UAAU,CAAoB;IAEtC,kGAAkG;IAClG,OAAO,CAAC,UAAU,CAAqC;IACvD,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,eAAe,CAAK;IAC5B,uFAAuF;IACvF,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,UAAU,CAAM;IACxB;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsC;IAE1E,OAAO;IA+HP;kDAC8C;IAC9C,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,oBAAoB,GAAG,gBAAgB;IAI7E,IAAI,KAAK,IAAI,OAAO,CAEnB;IAED,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED,IAAI,mBAAmB,IAAI,OAAO,CAEjC;IAED,wFAAwF;IACxF,qBAAqB,IAAI,OAAO;IAMhC,qFAAqF;IACrF,kBAAkB,IAAI,IAAI;IAI1B;6FACyF;IACzF,IAAI,YAAY,IAAI,sBAAsB,GAAG,SAAS,CAErD;IAED,OAAO,CAAC,yBAAyB;IAuBjC,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,wBAAwB;IAiBhC,OAAO,CAAC,2BAA2B;IAanC,yFAAyF;IACzF,OAAO,CAAC,GAAG;IAkBX,OAAO,CAAC,YAAY;IAOpB;+FAC2F;IAC3F,OAAO,CAAC,WAAW;IAInB;;;;;;wFAMoF;IACpF,OAAO,CAAC,yBAAyB;IAQjC,iFAAiF;IACjF,OAAO,CAAC,YAAY;IAIpB;sFACkF;IAClF,cAAc,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO;IAIpD;;oEAEgE;YAClD,eAAe;IAyB7B;sGACkG;IAC5F,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAOvE;wFACoF;IACpF,eAAe,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAOlD;wEACoE;IACpE,sBAAsB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAI1D;uDACmD;IAC7C,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;YAS3B,UAAU;IA0ExB;;;;;;;;;;;;mGAY+F;YACjF,oBAAoB;IA+BlC;;;;OAIG;IACG,WAAW,CAAC,IAAI,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC;IAY3F;2CACuC;IACjC,mBAAmB,CACvB,OAAO,EAAE,CAAC,UAAU,EAAE,gBAAgB,KAAK,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,EACzF,UAAU,CAAC,EAAE,MAAM,IAAI,GACtB,OAAO,CAAC,aAAa,CAAC;IAazB;wGACoG;IAC9F,6BAA6B,CACjC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,CAAC,UAAU,EAAE,gBAAgB,KAAK,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,EACzF,UAAU,CAAC,EAAE,MAAM,IAAI,GACtB,OAAO,CAAC;QAAE,MAAM,EAAE,aAAa,CAAC;QAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,CAAA;KAAE,CAAC;YA0BlD,gBAAgB;IAuC9B,gGAAgG;IAChG,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAI/E,4DAA4D;IAC5D,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAIjF,+FAA+F;IACzF,WAAW,CAAC,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAiD3F,OAAO,CAAC,eAAe;YAST,eAAe;IAc7B,gEAAgE;YAClD,oBAAoB;IA4DlC,qFAAqF;IAC/E,YAAY,CAAC,OAAO,EAAE,mBAAmB,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAM/F,uFAAuF;IACjF,aAAa,CAAC,OAAO,EAAE,oBAAoB,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQjF,4FAA4F;IACtF,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAK1C,sGAAsG;IAChG,YAAY,CAAC,OAAO,EAAE,mBAAmB,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAatG,+FAA+F;IACzF,aAAa,CAAC,OAAO,EAAE,oBAAoB,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAclG,8FAA8F;IACxF,WAAW,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAcnG,kGAAkG;IAC5F,eAAe,CAAC,OAAO,EAAE,sBAAsB,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;IAgB/G,gFAAgF;IAC1E,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAWpF,sEAAsE;IACtE,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAIvD;qGACiG;IAC3F,YAAY,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAUxF;wDACoD;IAC9C,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAO3F,iFAAiF;IACjF,sBAAsB,CAAC,OAAO,EAAE,6BAA6B,GAAG,OAAO,CAAC,8BAA8B,CAAC;IAIvG,wEAAwE;IACxE,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAI/E;;;4DAGwD;IACxD,OAAO,CAAC,MAAM,SAAS,kBAAkB,EACvC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,0BAA0B,CAAC,MAAM,CAAC,EAC1C,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;IACjD,OAAO,CAAC,QAAQ,GAAG,OAAO,EAAE,MAAM,GAAG,OAAO,EAC1C,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,QAAQ,CAAC;IAMpB;kGAC8F;IAC9F,MAAM,CAAC,MAAM,SAAS,uBAAuB,EAC3C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,+BAA+B,CAAC,MAAM,CAAC,GAC9C,OAAO,CAAC,IAAI,CAAC;IAChB,MAAM,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxE,6FAA6F;IACvF,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWrD;oGACgG;IAChG,4BAA4B,IAAI,IAAI;IAOpC;;;;OAIG;IACG,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BxE,+EAA+E;IAC/E,OAAO,CAAC,iBAAiB;IAUzB,iGAAiG;IACjG,OAAO,CAAC,uBAAuB;IAW/B,mGAAmG;YACrF,0BAA0B;IAMxC;;;;OAIG;IACH,OAAO,IAAI,IAAI;IA+Bf,8FAA8F;IAC9F,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAKV,YAAY;CA+B3B;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAK3D;AAaD;;;;GAIG;AACH,qBAAa,aAAc,YAAW,gBAAgB;IAYlD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAEtB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;IAhB9B,OAAO,CAAC,aAAa,CAAwB;IAC7C,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,qBAAqB,CAAc;IAC3C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAE5B;gBAGgB,MAAM,EAAE,gBAAgB,EAChC,SAAS,EAAE,MAAM,EACT,KAAK,EAAE,YAAY,EACpC,aAAa,EAAE,mBAAmB,EAAE,EACnB,IAAI,EAAE,iBAAiB,EACvB,UAAU,CAAC,GAAE,MAAM,IAAI,aAAA;IAmB1C,0FAA0F;IAC1F,IAAI,KAAK,IAAI,gBAAgB,CAE5B;IAED,gFAAgF;IAChF,IAAI,qBAAqB,IAAI,qBAAqB,GAAG,SAAS,CAE7D;IAED,6EAA6E;IAC7E,IAAI,OAAO,IAAI,iBAAiB,EAAE,CAEjC;IAED,kEAAkE;IAClE,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,4FAA4F;IAC5F,IAAI,KAAK,IAAI,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAE/C;IAED,sFAAsF;IACtF,IAAI,YAAY,IAAI,sBAAsB,GAAG,SAAS,CAErD;IAED,4FAA4F;IAC5F,IAAI,cAAc,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,CAElE;IAED,qFAAqF;IACrF,IAAI,uBAAuB,IAAI,mBAAmB,EAAE,CAEnD;IAED,oGAAoG;IAC9F,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C,uFAAuF;IACjF,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5F;;6EAEyE;YAC3D,iBAAiB;IAS/B,oFAAoF;IAC9E,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B5C,yEAAyE;IACnE,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,EAAE,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;IAgC7G;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,2BAA2B;IAUnC,OAAO,CAAC,wBAAwB;IAShC;;oGAEgG;IAC1F,KAAK,CACT,OAAO,EAAE,MAAM,GAAG,YAAY,EAAE,EAChC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnC,OAAO,CAAC,gBAAgB,CAAC;IAgB5B,2DAA2D;IAC3D,eAAe,IAAI,MAAM;IAIzB;;oEAEgE;IAChE,cAAc,IAAI,MAAM;IAIxB,uFAAuF;IACvF,gBAAgB,IAAI,MAAM;IAI1B,qFAAqF;IACrF,mBAAmB,IAAI,OAAO;IAI9B;;;;;;;0BAOsB;IACtB,eAAe,IAAI;QAAE,cAAc,EAAE,OAAO,CAAC;QAAC,mBAAmB,EAAE,mBAAmB,GAAG,OAAO,CAAA;KAAE;IAIlG;;;4DAGwD;IACxD,gBAAgB,IAAI,IAAI;IAIxB,2EAA2E;IAC3E,iBAAiB,IAAI;QACnB,MAAM,EAAE,OAAO,CAAC;QAChB,cAAc,EAAE,OAAO,CAAC;QACxB,mBAAmB,EAAE,mBAAmB,GAAG,OAAO,CAAC;QACnD,wBAAwB,EAAE,OAAO,CAAC;KACnC;IAID;;0EAEsE;IACtE,cAAc,IAAI,MAAM;IAIxB;;uDAEmD;IACnD,gBAAgB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAIlD;;uDAEmD;IACnD,cAAc,IAAI,MAAM;IAIxB;;;iEAG6D;IAC7D,oBAAoB,IAAI;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,GAAG,IAAI;IAIjG;;;;0BAIsB;IACtB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAI1D;iGAC6F;IACvF,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAU7B,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,qBAAqB;YAOf,iBAAiB;YAKjB,mBAAmB;IAOjC;;sFAEkF;IAClF,OAAO,CAAC,OAAO,GAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,IAAI,CAAC;YAK9C,YAAY;CAU3B"}
1
+ {"version":3,"file":"acp-client.d.ts","sourceRoot":"","sources":["../src/acp-client.ts"],"names":[],"mappings":"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"}
@@ -325,6 +325,12 @@ class SessionState {
325
325
  foldedTurnText() {
326
326
  return this.foldedTextFrom(this.turnStartIndex);
327
327
  }
328
+ /** The whole retained log folded the same way (`foldedTurnText()` from
329
+ * index 0): every retained assistant message, a replayed transcript
330
+ * included, with distinct messages joined by "\n\n". */
331
+ foldedText() {
332
+ return this.foldedTextFrom(0);
333
+ }
328
334
  foldedTextFrom(startIndex) {
329
335
  let folded = "";
330
336
  for (let index = startIndex; index < this.textChunks.length; index += 1) {
@@ -1410,8 +1416,7 @@ export class PooledConnection {
1410
1416
  }
1411
1417
  sessionRequestMeta(opts) {
1412
1418
  const inputs = {
1413
- baseInstructions: opts.baseInstructions,
1414
- developerInstructions: opts.developerInstructions,
1419
+ systemPrompt: opts.systemPrompt,
1415
1420
  runId: opts.runId,
1416
1421
  label: opts.label,
1417
1422
  };
@@ -2260,8 +2265,13 @@ export class SessionHandle {
2260
2265
  }
2261
2266
  this.state.modes = modeStateFromConfigOption(modeOption, modeId);
2262
2267
  }
2263
- /** Send a prompt turn and drain it; returns the final PromptResponse. */
2264
- async prompt(content, promptMeta) {
2268
+ /**
2269
+ * The wire outcome of a prompt turn: the verbatim `PromptResponse` plus the terminal typed
2270
+ * session failure it carried, if any. Never throws for a typed failure — the response (its
2271
+ * `_meta`, `usage`, `stopReason`) is handed back alongside the parsed failure so a caller can
2272
+ * keep everything the turn produced. `prompt()` is this plus the throw the runner relies on.
2273
+ */
2274
+ async promptOutcome(content, promptMeta) {
2265
2275
  this.opts.signal?.throwIfAborted();
2266
2276
  this.state.beginTurn();
2267
2277
  let resolveEnded;
@@ -2284,9 +2294,7 @@ export class SessionHandle {
2284
2294
  const response = await this.pooled.prompt(request);
2285
2295
  this.state.usage.recordPromptUsage(response.usage);
2286
2296
  const failure = this.terminalTypedSessionFailure(response);
2287
- if (failure)
2288
- throw this.typedSessionFailureError(failure);
2289
- return response;
2297
+ return failure ? { response, failure } : { response };
2290
2298
  }
2291
2299
  finally {
2292
2300
  if (this.activeTurn === turn)
@@ -2294,6 +2302,14 @@ export class SessionHandle {
2294
2302
  turn.resolveEnded();
2295
2303
  }
2296
2304
  }
2305
+ /** Send a prompt turn and drain it; returns the final PromptResponse. A terminal typed session
2306
+ * failure is raised as the mapped `WorkflowError` (see `promptOutcome` for the non-throwing split). */
2307
+ async prompt(content, promptMeta) {
2308
+ const { response, failure } = await this.promptOutcome(content, promptMeta);
2309
+ if (failure)
2310
+ throw this.typedSessionFailureError(failure);
2311
+ return response;
2312
+ }
2297
2313
  /**
2298
2314
  * The typed session failure that ended this turn, if any (codex-acp's negotiated extension —
2299
2315
  * see typed-failures.ts). Two channels, in priority order:
@@ -2355,6 +2371,13 @@ export class SessionHandle {
2355
2371
  foldedTurnText() {
2356
2372
  return this.state.foldedTurnText();
2357
2373
  }
2374
+ /** The retained session log's assistant text with the same message
2375
+ * joiner as `foldedTurnText()`, over the whole log (a `session/load`
2376
+ * replay included). What `AcpAgent.text` reads; `text` stays the raw
2377
+ * chunk concatenation. */
2378
+ foldedText() {
2379
+ return this.state.foldedText();
2380
+ }
2358
2381
  /** StructuredSource — the latest turn's FINAL assistant message (see SessionState). */
2359
2382
  finalMessageText() {
2360
2383
  return this.state.finalMessageText();
@@ -0,0 +1,141 @@
1
+ import type { ContentBlock, SessionConfigOption, SessionModeState } from "@agentclientprotocol/sdk";
2
+ import type { AgentHistoryEntry, AgentSessionRef, AgentUsage } from "@automatalabs/shared-types";
3
+ import type { TSchema } from "typebox";
4
+ import { type SteeringResponse } from "../acp-client.js";
5
+ import type { NegotiatedCapabilities } from "../capabilities.js";
6
+ import { type AcpAgentCatalog, type AcpAgentCloseOptions, type AcpAgentEventListener, type AcpAgentEventName, type AcpAgentForkOptions, type AcpAgentOptions, type AcpAgentProbeOptions, type AcpAgentPromptOptions, type AcpAgentReopenOptions, type AcpAgentState, type AcpAgentSteerOptions, type AcpAgentTurn, type AcpAgentUpdateRecord } from "./types.js";
7
+ /** Package-internal test seam for the ignored-cancel escalation grace. Not barrel-exported. */
8
+ export declare function setCancelGraceForTests(ms: number): () => void;
9
+ /**
10
+ * One ACP agent session on its own dedicated backend process.
11
+ *
12
+ * Lazy: the constructor validates (cwd, `configOptions`, the registry, `clientHandlers`) and
13
+ * routes the backend synchronously but spawns nothing; the first queued operation (an explicit
14
+ * `ready()` or an implicit `prompt()`) opens the session. `state` walks
15
+ * `idle → opening → ready ⇄ busy → closed`.
16
+ */
17
+ export declare class AcpAgent {
18
+ #private;
19
+ /** The session's absolute working directory (sent on session/new|fork|resume|load). */
20
+ readonly cwd: string;
21
+ /** The human label stamped on event contexts and error `agentLabel`; never on the wire. */
22
+ readonly label: string | undefined;
23
+ /** The model this agent selects at open, as a routing spec that leads back to the same backend
24
+ * (`<backendId>/<model id>`, e.g. `"claude/opus[1m]"`), or `undefined` when no model was
25
+ * selected (the backend's default). Inherited by forks. An `AgentSessionRef` carries no model,
26
+ * so a cold reopen keeps it only when told: `AcpAgent.resume(agent.sessionRef!, { model: agent.model })`. */
27
+ readonly model: string | undefined;
28
+ /**
29
+ * Lazy: validates cwd/configOptions/registry/clientHandlers synchronously, routes the backend,
30
+ * spawns nothing. This is the ONLY public constructor signature — seeded agents (forks, cold
31
+ * reopen) are built by the statics through a module-private factory.
32
+ */
33
+ constructor(options: AcpAgentOptions);
34
+ /** `new AcpAgent(options)` + `ready()`; on failure the agent is closed and the mapped error rethrown. */
35
+ static open(options: AcpAgentOptions): Promise<AcpAgent>;
36
+ /** No-prompt catalog discovery: the same `HarnessConfigReport` the MCP `action:"config"` is
37
+ * projected from, plus the per-harness `models` view. Never throws for a per-harness failure
38
+ * (`probed: false`); one disposed process per target. */
39
+ static probe(options?: AcpAgentProbeOptions): Promise<AcpAgentCatalog>;
40
+ /** `session/resume` of `ref.sessionId` on a fresh dedicated process of `ref.backendId`
41
+ * (routed by name — never the default backend — and pool-key checked). `cwd` defaults to
42
+ * `ref.cwd`; `model` must stay on the ref's backend. */
43
+ static resume(ref: AgentSessionRef, options?: AcpAgentReopenOptions): Promise<AcpAgent>;
44
+ /** `session/load`: the agent replays the transcript before the response; it lands in
45
+ * `history`/`text`/`replay` (the statics return after the fact, so the replay is observable
46
+ * only there, not through `on()`). */
47
+ static load(ref: AgentSessionRef, options?: AcpAgentReopenOptions): Promise<AcpAgent>;
48
+ /** Cold fork of a recorded session: the trait-driven choreography without a history seed
49
+ * (`history` starts empty on id-only backends unless the reattach fell back to `session/load`).
50
+ * To seed the fork with the transcript: `const src = await AcpAgent.load(ref); await src.fork()`. */
51
+ static fork(ref: AgentSessionRef, options?: AcpAgentReopenOptions): Promise<AcpAgent>;
52
+ /** The resolved backend id (built-in id or registered custom name). */
53
+ get backendId(): string;
54
+ /** `idle` → `opening` → `ready` ⇄ `busy` → `closed` (set the instant `close()` is called,
55
+ * the constructor signal aborts, or the process dies). */
56
+ get state(): AcpAgentState;
57
+ /** The ACP session id once open; retained after close. */
58
+ get sessionId(): string | undefined;
59
+ /** The re-attach handle computed at open (drives `AcpAgent.resume/load/fork`); retained after close. */
60
+ get sessionRef(): AgentSessionRef | undefined;
61
+ /** Capabilities negotiated on this agent's dedicated connection. */
62
+ get capabilities(): NegotiatedCapabilities | undefined;
63
+ /** The latest echoed session config-option catalog (verbatim ACP wire shapes). */
64
+ get configOptions(): readonly SessionConfigOption[];
65
+ /** The agent-advertised mode catalog plus the current mode, when supported. */
66
+ get modes(): SessionModeState | null | undefined;
67
+ /** `[...seed, ...session history]` (copies on read). The seed is the parent's snapshot for a
68
+ * live fork; a `session/load` replay lands in the session history itself. */
69
+ get history(): readonly AgentHistoryEntry[];
70
+ /** Verbatim session/update records received before the session was ready (a fork's
71
+ * pre-response replay, a load's replay), adopted from the acquisition buffer. */
72
+ get replay(): ReadonlyArray<AcpAgentUpdateRecord>;
73
+ /** The retained assistant text — the parent's seed (live fork) and this session's messages —
74
+ * folded exactly like `turn.text`: chunks of one message concatenate, distinct messages join
75
+ * with "\n\n". */
76
+ get text(): string;
77
+ /** Running per-field sum of every turn this agent ran; `ZERO_USAGE` before the first turn. */
78
+ get usage(): AgentUsage;
79
+ /** The session-level structured-output contract, if any. */
80
+ get schema(): TSchema | undefined;
81
+ /** Subscribe. `session_open` is sticky: a listener registered after the session opened receives
82
+ * it once (next microtask); a listener that saw it live never sees it twice. Returns the
83
+ * unsubscribe thunk; after close it is a no-op. */
84
+ on<K extends AcpAgentEventName>(name: K, listener: AcpAgentEventListener<K>): () => void;
85
+ once<K extends AcpAgentEventName>(name: K, listener: AcpAgentEventListener<K>): () => void;
86
+ off<K extends AcpAgentEventName>(name: K, listener: AcpAgentEventListener<K>): void;
87
+ /** Spawn + initialize + session/new|resume|load|fork (idempotent; memoized). The implicit
88
+ * open of the first `prompt()` shares the same promise. */
89
+ ready(): Promise<void>;
90
+ /**
91
+ * One prompt turn, FIFO behind every earlier queued operation. Resolves an `AcpAgentTurn` for
92
+ * EVERY `PromptResponse` the wire returned (no `stopReason` is thrown on — refusal, max_tokens,
93
+ * cancelled included). Rejects only on a wire rejection (mapped like the runner), validation,
94
+ * abort (`signal.reason` untouched), a closed agent, or a typed session failure (the mapped
95
+ * `WorkflowError` carrying the complete turn as `error.turn`; see `isAcpAgentTurnError`).
96
+ * `configOptions`/`mode` are applied before the turn and stick for the session. To stop a
97
+ * specific turn use `options.signal`: it rejects while queued or before the turn reached the
98
+ * wire (nothing is sent) and sends one `session/cancel` once in flight — `cancel()` reaches only
99
+ * a turn already on the wire.
100
+ */
101
+ prompt(content: string | ContentBlock[], options?: AcpAgentPromptOptions): Promise<AcpAgentTurn>;
102
+ /** Inject content into the turn in flight (`_session/steering`). Overlaps the FIFO; requires a
103
+ * `prompt()` in flight (SCRIPT_VALIDATION_ERROR otherwise). The complete raw response is returned. */
104
+ steer(content: string | ContentBlock[], options?: AcpAgentSteerOptions): Promise<SteeringResponse>;
105
+ /** ONE `session/cancel` for the turn whose `session/prompt` is on the wire (no-op otherwise).
106
+ * Resolves at the notify boundary; the in-flight `prompt()` then resolves with
107
+ * `stopReason: "cancelled"` when the agent honors it. A turn that ignores the cancel for the
108
+ * grace period ends in process disposal WITHOUT a wire `session/close` (the session stays
109
+ * re-openable through `sessionRef`); the turn then rejects and the agent is closed. Queued
110
+ * turns are untouched, and so is a turn that has started (`state === "busy"`) but has not
111
+ * reached the wire yet — the lazy first open, or its per-turn `configOptions`/`mode` — a
112
+ * `cancel()` in that window is a no-op the turn never sees. A per-call `signal` covers every
113
+ * window (rejects with the reason before anything is sent; `session/cancel` once in flight). */
114
+ cancel(): Promise<void>;
115
+ /**
116
+ * Fork this agent onto a NEW dedicated process (queued: it runs only when no turn is in flight,
117
+ * so the parent's persisted transcript is complete). Inherits every constructor option except
118
+ * `label` (suffixed `/fork-<n>`) and `signal`; `overrides` may change anything but the backend
119
+ * (`backends`, `authStore`, `providerStore`, `clientHandlers` are typed out; a `model` override
120
+ * must route to the same backend; a `cwd` override is rejected on `source-only` backends). The
121
+ * child's `history`/`text` are seeded from the parent's snapshot on backends whose fork response
122
+ * has no replay. The parent keeps going, unaffected; closing either side never affects the other.
123
+ */
124
+ fork(overrides?: AcpAgentForkOptions): Promise<AcpAgent>;
125
+ /** `session/set_mode` (queued; strict — an unadvertised id is a SCRIPT_VALIDATION_ERROR). */
126
+ setMode(modeId: string): Promise<void>;
127
+ /** `session/set_config_option` per id in ascending order (queued; sticky; `"model"` reserved;
128
+ * unknown ids rejected against the advertised catalog). */
129
+ setConfigOptions(options: Record<string, string | boolean>): Promise<void>;
130
+ /**
131
+ * Close: `state` becomes `closed` immediately (no new work is admitted), the teardown waits
132
+ * behind queued work, releases the session (`keep: true` skips the wire `session/close` so the
133
+ * agent-persisted session stays re-openable via `sessionRef`), disposes the dedicated process,
134
+ * and releases the structured-output tool. Idempotent (same promise); never throws for an
135
+ * already-dead process; rethrows only a `child_cleanup_error` (mapped, non-recoverable).
136
+ */
137
+ close(options?: AcpAgentCloseOptions): Promise<void>;
138
+ /** `await using agent = …` — equivalent to `close()`. */
139
+ [Symbol.asyncDispose](): Promise<void>;
140
+ }
141
+ //# sourceMappingURL=acp-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acp-agent.d.ts","sourceRoot":"","sources":["../../src/agent/acp-agent.ts"],"names":[],"mappings":"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"}