@automatalabs/acp-agents 2.0.0 → 3.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 (72) hide show
  1. package/README.md +53 -17
  2. package/dist/acp-client.d.ts +10 -4
  3. package/dist/acp-client.d.ts.map +1 -1
  4. package/dist/acp-client.js +11 -8
  5. package/dist/agent/acp-agent.d.ts +84 -26
  6. package/dist/agent/acp-agent.d.ts.map +1 -1
  7. package/dist/agent/acp-agent.js +458 -170
  8. package/dist/agent/errors.d.ts +12 -2
  9. package/dist/agent/errors.d.ts.map +1 -1
  10. package/dist/agent/errors.js +38 -9
  11. package/dist/agent/fork.d.ts +7 -5
  12. package/dist/agent/fork.d.ts.map +1 -1
  13. package/dist/agent/fork.js +7 -5
  14. package/dist/agent/messages.d.ts +42 -0
  15. package/dist/agent/messages.d.ts.map +1 -0
  16. package/dist/agent/messages.js +225 -0
  17. package/dist/agent/probe.d.ts +1 -1
  18. package/dist/agent/probe.d.ts.map +1 -1
  19. package/dist/agent/probe.js +5 -1
  20. package/dist/agent/queue.js +2 -2
  21. package/dist/agent/routing.d.ts +19 -1
  22. package/dist/agent/routing.d.ts.map +1 -1
  23. package/dist/agent/routing.js +41 -4
  24. package/dist/agent/stream.d.ts +21 -0
  25. package/dist/agent/stream.d.ts.map +1 -0
  26. package/dist/agent/stream.js +93 -0
  27. package/dist/agent/structured.d.ts +7 -3
  28. package/dist/agent/structured.d.ts.map +1 -1
  29. package/dist/agent/structured.js +24 -14
  30. package/dist/agent/tool-host.d.ts +34 -0
  31. package/dist/agent/tool-host.d.ts.map +1 -0
  32. package/dist/agent/tool-host.js +138 -0
  33. package/dist/agent/tools.d.ts +26 -0
  34. package/dist/agent/tools.d.ts.map +1 -0
  35. package/dist/agent/tools.js +62 -0
  36. package/dist/agent/turn.d.ts +6 -3
  37. package/dist/agent/turn.d.ts.map +1 -1
  38. package/dist/agent/turn.js +15 -67
  39. package/dist/agent/types.d.ts +174 -25
  40. package/dist/agent/types.d.ts.map +1 -1
  41. package/dist/backend.d.ts +4 -3
  42. package/dist/backend.d.ts.map +1 -1
  43. package/dist/backends/codex.d.ts +2 -1
  44. package/dist/backends/codex.d.ts.map +1 -1
  45. package/dist/backends/codex.js +3 -2
  46. package/dist/config-catalog.d.ts +4 -0
  47. package/dist/config-catalog.d.ts.map +1 -1
  48. package/dist/config-catalog.js +1 -0
  49. package/dist/index.d.ts +5 -1
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +6 -0
  52. package/dist/local-mcp-host.d.ts +30 -0
  53. package/dist/local-mcp-host.d.ts.map +1 -0
  54. package/dist/local-mcp-host.js +151 -0
  55. package/dist/protocol-coverage.d.ts +8 -6
  56. package/dist/protocol-coverage.d.ts.map +1 -1
  57. package/dist/protocol-coverage.js +3 -2
  58. package/dist/registry.d.ts +3 -3
  59. package/dist/registry.d.ts.map +1 -1
  60. package/dist/runner.d.ts +5 -0
  61. package/dist/runner.d.ts.map +1 -1
  62. package/dist/runner.js +7 -4
  63. package/dist/structured-output.d.ts +18 -0
  64. package/dist/structured-output.d.ts.map +1 -1
  65. package/dist/structured-output.js +19 -1
  66. package/dist/structured-tool.d.ts +7 -9
  67. package/dist/structured-tool.d.ts.map +1 -1
  68. package/dist/structured-tool.js +14 -102
  69. package/dist/traits.d.ts +51 -0
  70. package/dist/traits.d.ts.map +1 -0
  71. package/dist/traits.js +88 -0
  72. package/package.json +4 -4
package/README.md CHANGED
@@ -101,13 +101,13 @@ await runner.run("What's in this screenshot?", {
101
101
 
102
102
  | backend | `replace` | `append` | wire |
103
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) |
104
+ | `codex` | replaces Codex's base system prompt; its other instruction layers survive — developer instructions, `AGENTS.md` project instructions, environment context — per the app-server protocol's field semantics (documented, not source-verified here) | developer-role instructions on top of it | the bare `baseInstructions` / `developerInstructions` keys on `_meta` → the Codex `thread/start` / `thread/resume` / `thread/fork` params of the same name ([`@automatalabs/codex-acp`](https://www.npmjs.com/package/@automatalabs/codex-acp)); a live Codex fork carries them from its own `session/fork` request (observed live: `replace` takes effect on the forked thread; `append` reaches `thread/fork` but the fork answered from its source thread's developer instructions — Codex behavior) |
105
+ | `claude` | replaces the whole prompt; nothing of the `claude_code` preset survives, its dynamic sections included (tool schemas still reach the model as API tools) | 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); the append entries, project context files (`AGENTS.md` and friends), the skills block, and the cwd line survive, while pi's default tool list, guidelines, and docs paths are dropped | 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
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
108
  | custom | — | — | ACP has no standard key; send your agent's own `_meta` through `meta` |
109
109
 
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.
110
+ Support is validated **before a session opens**: a field the routed backend cannot carry is a non-recoverable `SCRIPT_VALIDATION_ERROR` from `run()` / `openSession()` (`INVALID_ARGUMENT` from the `AcpAgent` SDK) 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.
111
111
 
112
112
  ```ts
113
113
  await runner.run("Cut the release.", {
@@ -239,10 +239,11 @@ try {
239
239
 
240
240
  ## AcpAgent — the SDK front door
241
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).
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), adds a per-agent host for client-side function tools, 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, function tools, events, discovery, errors — is [docs/api.md — AcpAgent SDK](../../docs/api.md#acpagent-sdk).
243
243
 
244
244
  ```ts
245
- import { AcpAgent } from "@automatalabs/acp-agents";
245
+ import { AcpAgent, defineTool } from "@automatalabs/acp-agents";
246
+ import { Type } from "typebox";
246
247
 
247
248
  const catalog = await AcpAgent.probe({ modelFilter: "opus" }); // no-prompt catalog, one process per target
248
249
  const primary = new AcpAgent({ cwd: "/abs/path/to/worktree", model: "claude/opus[1m]" }); // spawns nothing yet
@@ -253,14 +254,22 @@ primary.on("agent_message_chunk", (e) => { // this agent's
253
254
  const turn = await primary.prompt("Investigate the failing test.");
254
255
  turn.response; // the verbatim PromptResponse, `_meta` intact
255
256
  turn.updates; turn.raw; turn.toolCalls; // every update / vendor notification / folded tool call of the turn
257
+ turn.messages; // the turn per message: text blocks, tool calls, thoughts (agent.messages: the transcript)
256
258
  turn.usage.turn; turn.usage.session; // this turn's tokens; the agent's running sum
257
259
 
260
+ for await (const event of primary.stream("Now fix it.")) { // the same turn as prompt(), as an async iterable
261
+ if (event.type === "agent_message_chunk" && event.content.type === "text") process.stdout.write(event.content.text);
262
+ else if (event.type === "tool_call") console.error(`\n→ ${event.title}`);
263
+ else if (event.type === "turn") console.error("\n", event.turn.stopReason); // the terminal event carries the AcpAgentTurn
264
+ } // `break` cancels the turn (session/cancel) before the loop exits
265
+
258
266
  const planner = await primary.fork(); // a NEW process seeded with the transcript so far
259
267
  const plan = await planner.prompt("Plan the smallest fix.", {
260
268
  mode: "plan", // sticky: applies to this and every later turn of `planner`
261
269
  meta: { trace: "plan-1" }, // turn `_meta`, passed through verbatim
262
270
  });
263
271
  await primary.prompt("Meanwhile, list the callers."); // the parent keeps going, unaffected
272
+ await primary.setModel("claude/sonnet"); // mid-session switch (same backend, sticky); primary.model follows
264
273
 
265
274
  await planner.close();
266
275
  await primary.close({ keep: true }); // process disposed; the session stays re-openable
@@ -268,11 +277,36 @@ await primary.close({ keep: true }); // process disposed
268
277
  // nothing (history/text start empty) — `AcpAgent.load(ref)` replays the transcript instead.
269
278
  const again = await AcpAgent.resume(primary.sessionRef!, { model: primary.model });
270
279
  await again.close();
280
+
281
+ // Client-side function tools: hosted by the SDK over HTTP MCP (`agent_tools`), called by the agent mid-turn.
282
+ const lookupTicket = defineTool({
283
+ name: "lookup_ticket", // ^[A-Za-z0-9_-]{1,64}$, unique per agent
284
+ description: "Fetch one ticket from the tracker by id.",
285
+ inputSchema: Type.Object({ id: Type.String({ minLength: 1 }) }),
286
+ async execute({ id }, ctx) { // `id` typed from the schema; ctx.signal aborts with the turn
287
+ const res = await fetch(`https://tracker.internal/api/tickets/${id}`, { signal: ctx.signal });
288
+ if (!res.ok) throw new Error(`ticket ${id}: HTTP ${res.status}`); // → an isError result the agent can read
289
+ return await res.text();
290
+ },
291
+ });
292
+ const tooled = new AcpAgent({
293
+ cwd: "/abs/path/to/worktree",
294
+ model: "pi",
295
+ tools: [lookupTicket], // refused at open (INVALID_ARGUMENT) if the agent has no HTTP MCP
296
+ permissions: { deny: ["Bash"] }, // the headless allow/deny auto-policy
297
+ });
298
+ tooled.on("tool_call", (e) => console.error(e.title)); // pi: mcp__agent_tools__lookup_ticket
299
+ await tooled.prompt("Summarize ticket T-1042.");
300
+ await tooled.close(); // the tool host closes with the agent
271
301
  ```
272
302
 
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`).
303
+ Every misuse of the SDK — a bad option, an unadvertised id, a call after `close()` — is a `WorkflowError` with code `INVALID_ARGUMENT` (the runner and `InteractiveSession` keep `SCRIPT_VALIDATION_ERROR`). `agent.traits` (and the spawn-free static `AcpAgent.traits(spec?, { backends? })`) describes the backend as an `AcpAgentTraits`: `custom`, `defaultModeId`, the `fork` row, the `systemPrompt` channel with its `source` (`table` / `advertised` / `none`), `steering` / `loadedTurn`, the `structuredOutput` channel, and `promptUsage` — the tables before open, the agent's own initialize advertisements once the connection is up, and the same object on every probed harness of `AcpAgent.probe()` (`traits`).
304
+
305
+ `prompt`, `stream`, `fork`, `setModel`, `setMode`, `setConfigOptions`, and `close` run FIFO per agent, so a fork always sees a quiescent, fully persisted parent transcript. `setModel(spec)` — and the per-turn `prompt(…, { model })`, applied ahead of that turn's `configOptions` and `mode` — switches the session's model in place: the spec must route to the agent's own backend (`"<backendId>/<model id>"`; otherwise `INVALID_ARGUMENT` naming both backends, before anything is sent) and is applied exactly like open's selection, `session/set_config_option { configId: "model" }` with the routed remainder verbatim (no aliases, catalog matching, or fallback; a wire rejection maps through the normal error path and moves nothing). `agent.model` follows, so a later `fork()` and a cold `AcpAgent.resume(ref, { model: agent.model })` inherit the switch. `stream(content, options?)` is `prompt()` observed as an async iterable of **this turn's** events (each bus event tagged `type`, an update once under its kind, a concurrent `steer()`'s `steering` included, then the terminal `{ type: "turn", turn }`); its observer is attached the instant the turn is dequeued, so a queued stream never sees the previous turn, and leaving it early (`break`, `return()`, `throw()`) cancels the turn and waits for it to settle. `turn.messages` / `agent.messages` fold the same chunks `text` folds into `AcpAgentMessage`s — one assistant message per `text` boundary (tool call, thought, plan, user chunk, changed `messageId`), each with the tool calls it issued and the thoughts that led it; a run of `user_message_chunk`s is a user message. `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`). A schema miss is a result, not an error: `prompt()` is one turn unless `schemaRetries` (constructor or per turn, default `0`) buys repair turns — the runner's own repair prompt (the StructuredOutput-tool variant when the injected tool is active, else the JSON variant) with the validation error, re-sent on the same session inside the same operation with the same turn `_meta`, every repair a real turn (`stream()` yields it, `usage` counts it, `cancel()` reaches it) — and the resolved turn is the final attempt's plus `structuredAttempts`; only an `end_turn` miss is repaired.
306
+
307
+ `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` backend (Claude) 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 (Codex — the workspace fork keeps the forked thread subscribed and publishes its startup state like a resumed session — pi, and OpenCode) the fork handle is the session. The cold `AcpAgent.fork(ref)` prefers `session/load` for its reattach so the child carries the recorded transcript (resume only when load is not advertised). Claude forks must keep the source cwd; a custom entry wrapping claude-agent-acp (or upstream codex-acp, which unsubscribes its forks) 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.
274
308
 
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.
309
+ `tools` are client-side function tools (`AcpAgentToolDefinition`: `name`, `description`, a typebox object `inputSchema`, `execute(input, ctx)` returning a string, MCP content blocks, or `{ content, isError? }`; `defineTool()` infers the input type). Every agent with tools runs its own local tool host — an in-process Streamable HTTP MCP server on `127.0.0.1` behind a token path — injected into `mcpServers` as `agent_tools` (`agent_tools_2`, … on a name collision) on `session/new|resume|load|fork` and the id-only reattach, next to and separate from the `structured_output` host. Arguments are validated against the schema (typebox Convert + Check) before `execute` runs; a validation failure or a thrown `execute` reaches the agent as an `isError: true` result with the message, never a transport error. Names are validated in the constructor (`INVALID_ARGUMENT` before any spawn); an agent that does not advertise `mcpCapabilities.http` fails the open with `INVALID_ARGUMENT` naming the backend — tools are never silently dropped. `ctx.signal` aborts with the turn (`cancel()`, a per-call signal, the agent's signal, close); forks inherit the tools on a host of their own; the backend surfaces the calls through the normal `tool_call` / `tool_call_update` events (pi: `mcp__agent_tools__<name>`). `permissions` is the headless allow/deny `ToolPolicy`, consulted only when no `onPermissionRequest` resolver is installed.
276
310
 
277
311
  ## Authentication lifecycle
278
312
 
@@ -309,23 +343,25 @@ advertised; inspect `reopen` rather than assuming every ACP agent persists state
309
343
  ### What a `session/fork` response is (`FORK_SESSION_TRAITS`)
310
344
 
311
345
  `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).
346
+ pins each built-in's disposition from its source: an `id-only` fork (Claude) names a persisted copy that is
347
+ not live — Claude answers `{ sessionId }` alone and prompting it fails with "Session not found" — so it must be
348
+ reopened (`session/resume`, else `session/load`) before its first turn; `live` forks (Codex — the workspace
349
+ fork keeps the forked thread subscribed, `thread/fork` subscribing the connection exactly like `thread/resume`,
350
+ and publishes the fork's available commands and MCP startup status like a resumed session; pi; OpenCode by
351
+ live verification) are the session. `fork cwd` says whether the fork may re-home (Claude's transcript store is
352
+ keyed by the source cwd).
317
353
 
318
354
  | agent | `session/fork` disposition | reattach | fork cwd |
319
355
  |---|---|---|---|
320
356
  | `claude` | `id-only` | `resume-or-load` | `source-only` |
321
- | `codex` | `id-only` | `resume-or-load` | `free` |
357
+ | `codex` | `live` | `none` | `free` |
322
358
  | `opencode` | `live` | `none` | `free` |
323
359
  | `pi` | `live` | `none` | `free` |
324
360
 
325
361
  `forkSessionTrait(agent, declared?)` resolves a row — a built-in's own, the row a custom backend's `fork`
326
362
  declaration describes (a declaration always wins over a name that shadows a built-in), else
327
363
  `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" }`.
364
+ claude-agent-acp (or upstream codex-acp, which unsubscribes its forks) must declare `fork: { disposition: "id-only" }`.
329
365
 
330
366
  `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
367
 
@@ -363,7 +399,7 @@ From [`src/index.ts`](./src/index.ts):
363
399
  - **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.
364
400
  - **Session lifecycle methods** — `listSessions()`, `deleteSession()`, `loadSession()`, `resumeSession()`, and `forkSession()` for backends that advertise session persistence; see [docs/api.md](../../docs/api.md).
365
401
  - **`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.
402
+ - **`AcpAgent`** (+ `AcpAgentOptions`, `AcpAgentPromptOptions`, `AcpAgentTurn`, `AcpAgentMessage`, `AcpAgentStream` / `AcpAgentStreamEvent`, `AcpAgentForkOptions`, `AcpAgentReopenOptions`, `AcpAgentProbeOptions`, `AcpAgentCatalog`, `AcpAgentState`, `AcpAgentTraits` / `describeBackendTraits`, `AcpAgentTurnError` / `isAcpAgentTurnError`, the function-tool surface `AcpAgentToolDefinition` / `AcpAgentToolContext` / `AcpAgentToolResult` / `defineTool` / `AGENT_TOOLS_SERVER_NAME` / `AGENT_TOOL_NAME_PATTERN`) — the SDK-style front door: one dedicated ACP process per agent, a per-agent FIFO (`prompt`/`stream`/`fork`/`setModel`/`setMode`/`setConfigOptions`/`close` serialize behind the in-flight turn; `steer`/`cancel` overlap it), mid-session model switching (`setModel(spec)` / a per-turn `model`, same backend, sticky, inherited by later forks), verbatim per-turn results (`turn.response` incl. `_meta`, every `updates`/`raw` record, folded `toolCalls`, the per-message `messages` fold, per-turn `usage`), an opt-in `schemaRetries` structured repair ladder (`turn.structuredAttempts`), `stream()` (the turn as an async iterable of its own events plus the terminal turn; an early exit cancels it), live `fork()` on a new process following the backend's `FORK_SESSION_TRAITS` row (id-only backends are reattached before their first turn), client-side function `tools` served from a per-agent HTTP MCP host (`agent_tools`, HTTP-MCP-gated at open), the headless `permissions` policy, `close({ keep })`, `Symbol.asyncDispose`, the cold statics `AcpAgent.resume/load/fork(ref)` routed by `ref.backendId` (never the default backend; `fork(ref)` prefers `session/load` so the child carries the transcript), 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.
367
403
  - **`ProbeConfigOptionsOptions` / `ProbedConfigOptions` / `SessionConfigOption`** — the no-prompt probe controls, routed result, and verbatim ACP advertised-option wire shape.
368
404
  - **`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.
369
405
  - **`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"`.
@@ -387,7 +423,7 @@ Also exported: `AcpAgentPool` / `resolvePoolSize` (including the same deadline-o
387
423
  | Variable | Effect |
388
424
  | --- | --- |
389
425
  | `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). |
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). |
426
+ | `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 upstream codex-acp). |
391
427
  | `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. |
392
428
  | `AGENTPRISM_ACP_POOL_SIZE` | Long-lived processes to keep per backend (default `1`). |
393
429
  | `AGENTPRISM_CLAUDE_ACP_CMD` / `AGENTPRISM_CLAUDE_ACP_ARGS` | Override the command (and args) used to spawn the Claude ACP server. |
@@ -294,6 +294,10 @@ declare class SessionState {
294
294
  * release/cancel/death after its ACP session is gone. */
295
295
  settlePendingElicitations(): void;
296
296
  }
297
+ /** Which reopen method a reattach should take when the agent advertises both: `resume` (no
298
+ * replay — the runner's continuation and the live fork hand-off) or `load` (the transcript is
299
+ * replayed into the handle — the cold `AcpAgent.fork(ref)`). The other is the fallback. */
300
+ export type ReattachPreference = "resume" | "load";
297
301
  /** Internal typed sentinel for the continuation path. It is deliberately thrown only after
298
302
  * initialize completes and before any session/load or session/resume wire request is sent. */
299
303
  export declare class ReattachCapabilityUnavailable extends Error {
@@ -511,11 +515,13 @@ export declare class PooledConnection {
511
515
  /** Reserve a session slot before initialize, then let the caller shape session/new with
512
516
  * negotiated capabilities in hand. */
513
517
  openPreparedSession(prepare: (connection: PooledConnection) => AcpSessionOptions | Promise<AcpSessionOptions>, onReleased?: () => void): Promise<SessionHandle>;
514
- /** Reserve one connection slot, await initialize, choose the best currently-advertised reopen
515
- * method, prepare against that same ready connection, and reattach under the single reservation. */
516
- openPreparedReattachedSession(sessionId: string, prepare: (connection: PooledConnection) => AcpSessionOptions | Promise<AcpSessionOptions>, onReleased?: () => void): Promise<{
518
+ /** Reserve one connection slot, await initialize, choose the reopen method — the preferred one
519
+ * when the agent advertises it (`resume` by default: no replay; `load` when the caller wants the
520
+ * transcript replayed into the handle), else the other, else `ReattachCapabilityUnavailable` —
521
+ * prepare against that same ready connection, and reattach under the single reservation. */
522
+ openPreparedReattachedSession(sessionId: string, prepare: (connection: PooledConnection) => AcpSessionOptions | Promise<AcpSessionOptions>, onReleased?: () => void, prefer?: ReattachPreference): Promise<{
517
523
  handle: SessionHandle;
518
- method: "resume" | "load";
524
+ method: ReattachPreference;
519
525
  }>;
520
526
  private openReadySession;
521
527
  /** Reopen an existing session and replay its transcript through the router before resolving. */
@@ -1 +1 @@
1
- {"version":3,"file":"acp-client.d.ts","sourceRoot":"","sources":["../src/acp-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acp-client.d.ts","sourceRoot":"","sources":["../src/acp-client.ts"],"names":[],"mappings":"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"}
@@ -1703,18 +1703,21 @@ export class PooledConnection {
1703
1703
  throw error;
1704
1704
  }
1705
1705
  }
1706
- /** Reserve one connection slot, await initialize, choose the best currently-advertised reopen
1707
- * method, prepare against that same ready connection, and reattach under the single reservation. */
1708
- async openPreparedReattachedSession(sessionId, prepare, onReleased) {
1706
+ /** Reserve one connection slot, await initialize, choose the reopen method — the preferred one
1707
+ * when the agent advertises it (`resume` by default: no replay; `load` when the caller wants the
1708
+ * transcript replayed into the handle), else the other, else `ReattachCapabilityUnavailable` —
1709
+ * prepare against that same ready connection, and reattach under the single reservation. */
1710
+ async openPreparedReattachedSession(sessionId, prepare, onReleased, prefer = "resume") {
1709
1711
  this._activeSessions += 1;
1710
1712
  try {
1711
1713
  await this.ready;
1712
1714
  const caps = this.negotiated;
1713
- const method = caps?.supportsResumeSession
1714
- ? "resume"
1715
- : caps?.supportsLoadSession
1716
- ? "load"
1717
- : undefined;
1715
+ const advertised = {
1716
+ resume: caps?.supportsResumeSession === true,
1717
+ load: caps?.supportsLoadSession === true,
1718
+ };
1719
+ const order = prefer === "load" ? ["load", "resume"] : ["resume", "load"];
1720
+ const method = order.find((candidate) => advertised[candidate]);
1718
1721
  if (method === undefined)
1719
1722
  throw new ReattachCapabilityUnavailable(this.backendId, sessionId);
1720
1723
  const opts = await prepare(this);
@@ -3,16 +3,18 @@ import type { AgentHistoryEntry, AgentSessionRef, AgentUsage } from "@automatala
3
3
  import type { TSchema } from "typebox";
4
4
  import { type SteeringResponse } from "../acp-client.js";
5
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";
6
+ import type { CustomBackendConfig } from "../registry.js";
7
+ import { type AcpAgentTraits } from "../traits.js";
8
+ import { type AcpAgentCatalog, type AcpAgentCloseOptions, type AcpAgentEventListener, type AcpAgentEventName, type AcpAgentForkOptions, type AcpAgentMessage, type AcpAgentOptions, type AcpAgentProbeOptions, type AcpAgentPromptOptions, type AcpAgentReopenOptions, type AcpAgentState, type AcpAgentSteerOptions, type AcpAgentStream, type AcpAgentTurn, type AcpAgentUpdateRecord } from "./types.js";
7
9
  /** Package-internal test seam for the ignored-cancel escalation grace. Not barrel-exported. */
8
10
  export declare function setCancelGraceForTests(ms: number): () => void;
9
11
  /**
10
12
  * One ACP agent session on its own dedicated backend process.
11
13
  *
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`.
14
+ * Lazy: the constructor validates (cwd, `configOptions`, the registry, `clientHandlers`, the
15
+ * function-tool definitions, `schemaRetries`) and routes the backend synchronously but spawns nothing; the first
16
+ * queued operation (an explicit `ready()` or an implicit `prompt()`) opens the session. `state`
17
+ * walks `idle → opening → ready ⇄ busy → closed`.
16
18
  */
17
19
  export declare class AcpAgent {
18
20
  #private;
@@ -20,15 +22,10 @@ export declare class AcpAgent {
20
22
  readonly cwd: string;
21
23
  /** The human label stamped on event contexts and error `agentLabel`; never on the wire. */
22
24
  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
25
  /**
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.
26
+ * Lazy: validates cwd/configOptions/registry/clientHandlers/tools/schemaRetries synchronously,
27
+ * routes the backend, spawns nothing. This is the ONLY public constructor signature — seeded agents (forks,
28
+ * cold reopen) are built by the statics through a module-private factory.
32
29
  */
33
30
  constructor(options: AcpAgentOptions);
34
31
  /** `new AcpAgent(options)` + `ready()`; on failure the agent is closed and the mapped error rethrown. */
@@ -37,6 +34,13 @@ export declare class AcpAgent {
37
34
  * projected from, plus the per-harness `models` view. Never throws for a per-harness failure
38
35
  * (`probed: false`); one disposed process per target. */
39
36
  static probe(options?: AcpAgentProbeOptions): Promise<AcpAgentCatalog>;
37
+ /** The table-based traits of the backend `spec` routes to — exactly the constructor's routing
38
+ * (`backends` merged over `AGENTPRISM_BACKENDS`, a registered name wins, an unrouted spec goes
39
+ * to the default backend) — without spawning anything. The instance getter refines the same
40
+ * shape with the live initialize advertisements once the agent is open. */
41
+ static traits(spec?: string, options?: {
42
+ backends?: Record<string, CustomBackendConfig>;
43
+ }): AcpAgentTraits;
40
44
  /** `session/resume` of `ref.sessionId` on a fresh dedicated process of `ref.backendId`
41
45
  * (routed by name — never the default backend — and pool-key checked). `cwd` defaults to
42
46
  * `ref.cwd`; `model` must stay on the ref's backend. */
@@ -45,12 +49,21 @@ export declare class AcpAgent {
45
49
  * `history`/`text`/`replay` (the statics return after the fact, so the replay is observable
46
50
  * only there, not through `on()`). */
47
51
  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()`. */
52
+ /** Cold fork of a recorded session: the trait-driven choreography with no parent to seed from,
53
+ * so on an id-only backend the reattach PREFERS `session/load` — the agent replays the forked
54
+ * transcript and it lands in the child's `history`/`text`/`messages`/`replay` — and takes
55
+ * `session/resume` (an empty transcript) only when load is not advertised. On a live backend the
56
+ * fork handle is the session and the child's transcript is whatever the agent streams. */
51
57
  static fork(ref: AgentSessionRef, options?: AcpAgentReopenOptions): Promise<AcpAgent>;
52
58
  /** The resolved backend id (built-in id or registered custom name). */
53
59
  get backendId(): string;
60
+ /** The model this agent is on, as a routing spec that leads back to the same backend
61
+ * (`<backendId>/<model id>`, e.g. `"claude/opus[1m]"`): the constructor's `model` until a
62
+ * `setModel()` or a per-turn `model` applied, then the switched one; `undefined` when nothing
63
+ * was ever selected (the backend's default). Inherited by forks taken after the switch. An
64
+ * `AgentSessionRef` carries no model, so a cold reopen keeps it only when told:
65
+ * `AcpAgent.resume(agent.sessionRef!, { model: agent.model })`. */
66
+ get model(): string | undefined;
54
67
  /** `idle` → `opening` → `ready` ⇄ `busy` → `closed` (set the instant `close()` is called,
55
68
  * the constructor signal aborts, or the process dies). */
56
69
  get state(): AcpAgentState;
@@ -60,6 +73,10 @@ export declare class AcpAgent {
60
73
  get sessionRef(): AgentSessionRef | undefined;
61
74
  /** Capabilities negotiated on this agent's dedicated connection. */
62
75
  get capabilities(): NegotiatedCapabilities | undefined;
76
+ /** This backend's traits (`describeBackendTraits`): the tables before open, refined by the live
77
+ * initialize advertisements once the connection is up (retained after close). A fresh frozen
78
+ * object per read. */
79
+ get traits(): AcpAgentTraits;
63
80
  /** The latest echoed session config-option catalog (verbatim ACP wire shapes). */
64
81
  get configOptions(): readonly SessionConfigOption[];
65
82
  /** The agent-advertised mode catalog plus the current mode, when supported. */
@@ -74,6 +91,11 @@ export declare class AcpAgent {
74
91
  * folded exactly like `turn.text`: chunks of one message concatenate, distinct messages join
75
92
  * with "\n\n". */
76
93
  get text(): string;
94
+ /** The retained transcript as messages (`AcpAgentMessage`, copies on read): `[...seed, ...this
95
+ * session's messages]` — the same retained log `history`/`text` describe, folded per message
96
+ * with the turn fold's boundary, a `load` replay included, seeded from the parent's snapshot on
97
+ * a live fork, and holding only the latest turn under `retainHistory: false`. */
98
+ get messages(): readonly AcpAgentMessage[];
77
99
  /** Running per-field sum of every turn this agent ran; `ZERO_USAGE` before the first turn. */
78
100
  get usage(): AgentUsage;
79
101
  /** The session-level structured-output contract, if any. */
@@ -93,14 +115,33 @@ export declare class AcpAgent {
93
115
  * cancelled included). Rejects only on a wire rejection (mapped like the runner), validation,
94
116
  * abort (`signal.reason` untouched), a closed agent, or a typed session failure (the mapped
95
117
  * `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.
118
+ * `model`/`configOptions`/`mode` are applied before the turn, in that order, and stick for the
119
+ * session. With a schema active and a `schemaRetries` budget > 0 (constructor or per turn), an
120
+ * `end_turn` that left `structured` absent is followed by up to that many repair turns inside
121
+ * this same operation; the resolved turn is the final attempt's with `structuredAttempts`. To
122
+ * stop a specific turn use `options.signal`: it rejects while queued or before the turn reached
123
+ * the wire (nothing is sent) and sends one `session/cancel` once in flight — `cancel()` reaches
124
+ * only a turn already on the wire (a repair turn included).
100
125
  */
101
126
  prompt(content: string | ContentBlock[], options?: AcpAgentPromptOptions): Promise<AcpAgentTurn>;
127
+ /**
128
+ * The same turn as `prompt()`, observed as an async iterable of this turn's events: every bus
129
+ * event emitted while the turn's operation runs — from the instant it is dequeued (a lazy
130
+ * open's `session_open`, a per-turn `mode`'s `current_mode_update` included) until the wire
131
+ * settles — each tagged `{ type: <event name>, ...payload }` (an update once, under its kind;
132
+ * never the `session_update` catch-all; a concurrent `steer()`'s `steering` event and the
133
+ * permission / elicitation / raw_message events included), then the terminal
134
+ * `{ type: "turn", turn }` with exactly the `AcpAgentTurn` `prompt()` would have resolved.
135
+ * The turn is queued (FIFO) by this call, exactly like `prompt()`; events are buffered without
136
+ * dropping until consumed. When the turn rejects, the iterator yields the buffered events, then
137
+ * throws that same error. Leaving early — `break`, `return()`, `throw()` — aborts the turn's
138
+ * per-call signal: a turn still queued or not yet on the wire is dropped with nothing sent, a
139
+ * turn in flight gets the one `session/cancel` (and the agent's escalation), and the call
140
+ * resolves only once the turn settled, so no turn keeps running unobserved.
141
+ */
142
+ stream(content: string | ContentBlock[], options?: AcpAgentPromptOptions): AcpAgentStream;
102
143
  /** 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. */
144
+ * `prompt()` in flight (INVALID_ARGUMENT otherwise). The complete raw response is returned. */
104
145
  steer(content: string | ContentBlock[], options?: AcpAgentSteerOptions): Promise<SteeringResponse>;
105
146
  /** ONE `session/cancel` for the turn whose `session/prompt` is on the wire (no-op otherwise).
106
147
  * Resolves at the notify boundary; the in-flight `prompt()` then resolves with
@@ -108,8 +149,8 @@ export declare class AcpAgent {
108
149
  * grace period ends in process disposal WITHOUT a wire `session/close` (the session stays
109
150
  * re-openable through `sessionRef`); the turn then rejects and the agent is closed. Queued
110
151
  * 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
152
+ * reached the wire yet — the lazy first open, or its per-turn `model`/`configOptions`/`mode` —
153
+ * a `cancel()` in that window is a no-op the turn never sees. A per-call `signal` covers every
113
154
  * window (rejects with the reason before anything is sent; `session/cancel` once in flight). */
114
155
  cancel(): Promise<void>;
115
156
  /**
@@ -122,7 +163,23 @@ export declare class AcpAgent {
122
163
  * has no replay. The parent keeps going, unaffected; closing either side never affects the other.
123
164
  */
124
165
  fork(overrides?: AcpAgentForkOptions): Promise<AcpAgent>;
125
- /** `session/set_mode` (queued; strict — an unadvertised id is a SCRIPT_VALIDATION_ERROR). */
166
+ /**
167
+ * Switch the session's model (queued, FIFO like `setMode`; sticky). `spec` is resolved with the
168
+ * fork rule — the runner's routing grammar, and it must land on this agent's backend and poolKey
169
+ * (`"<backendId>/<model id>"`; an unrouted spec goes to the default backend and passes only when
170
+ * that is this one) — otherwise INVALID_ARGUMENT naming both backends. The route is checked
171
+ * BEFORE the operation is queued, so a refused spec sends nothing and, on an agent that has not
172
+ * opened yet, spawns nothing (the agent stays `idle`). A backend-only spec is INVALID_ARGUMENT
173
+ * too: there is no wire form for "unselect". Applied exactly like open's selection —
174
+ * `session/set_config_option { configId: "model" }` with the routed remainder verbatim; no
175
+ * aliases, coercion, catalog matching, or fallback; the agent's catalog and validation are
176
+ * authoritative and a wire rejection maps through the normal error path with `model` unchanged.
177
+ * On success `model` becomes the routed spec, so later forks and a cold reopen passing
178
+ * `agent.model` back inherit the switch. `"model"` stays reserved in `configOptions`; this is
179
+ * the one way to move it after open.
180
+ */
181
+ setModel(spec: string): Promise<void>;
182
+ /** `session/set_mode` (queued; strict — an unadvertised id is INVALID_ARGUMENT). */
126
183
  setMode(modeId: string): Promise<void>;
127
184
  /** `session/set_config_option` per id in ascending order (queued; sticky; `"model"` reserved;
128
185
  * unknown ids rejected against the advertised catalog). */
@@ -131,8 +188,9 @@ export declare class AcpAgent {
131
188
  * Close: `state` becomes `closed` immediately (no new work is admitted), the teardown waits
132
189
  * behind queued work, releases the session (`keep: true` skips the wire `session/close` so the
133
190
  * 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).
191
+ * releases the structured-output tool, and closes the function-tool host (aborting any running
192
+ * `execute`). Idempotent (same promise); never throws for an already-dead process; rethrows
193
+ * only a `child_cleanup_error` (mapped, non-recoverable).
136
194
  */
137
195
  close(options?: AcpAgentCloseOptions): Promise<void>;
138
196
  /** `await using agent = …` — equivalent to `close()`. */
@@ -1 +1 @@
1
- {"version":3,"file":"acp-agent.d.ts","sourceRoot":"","sources":["../../src/agent/acp-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acp-agent.d.ts","sourceRoot":"","sources":["../../src/agent/acp-agent.ts"],"names":[],"mappings":"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"}