@agentclientprotocol/claude-agent-acp 0.99.2-preview.9 → 0.100.1-preview.1
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.
- package/dist/acp-agent.d.ts +64 -21
- package/dist/acp-agent.d.ts.map +1 -1
- package/dist/acp-agent.js +138 -49
- package/dist/background-output.d.ts +54 -0
- package/dist/background-output.d.ts.map +1 -0
- package/dist/background-output.js +122 -0
- package/dist/background-work.d.ts +212 -0
- package/dist/background-work.d.ts.map +1 -0
- package/dist/background-work.js +428 -0
- package/dist/native-subagents.d.ts +7 -0
- package/dist/native-subagents.d.ts.map +1 -1
- package/dist/native-subagents.js +25 -0
- package/dist/startup-failure.d.ts +16 -0
- package/dist/startup-failure.d.ts.map +1 -0
- package/dist/startup-failure.js +38 -0
- package/dist/tool-calls/background.d.ts +10 -0
- package/dist/tool-calls/background.d.ts.map +1 -1
- package/dist/tool-calls/background.js +18 -0
- package/dist/tool-calls/renderer.d.ts +8 -0
- package/dist/tool-calls/renderer.d.ts.map +1 -1
- package/dist/tool-calls/renderer.js +6 -5
- package/dist/v2/agent.d.ts.map +1 -1
- package/dist/v2/agent.js +40 -18
- package/dist/v2/background.d.ts +72 -0
- package/dist/v2/background.d.ts.map +1 -0
- package/dist/v2/background.js +166 -0
- package/dist/v2/terminal.d.ts +8 -0
- package/dist/v2/terminal.d.ts.map +1 -1
- package/dist/v2/terminal.js +22 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-subagents.d.ts","sourceRoot":"","sources":["../src/native-subagents.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"native-subagents.d.ts","sourceRoot":"","sources":["../src/native-subagents.ts"],"names":[],"mappings":"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"}
|
package/dist/native-subagents.js
CHANGED
|
@@ -123,6 +123,31 @@ export class NativeSubagentRuntime {
|
|
|
123
123
|
const child = this.children.get(sessionId);
|
|
124
124
|
return child?.announced ? child.workState : undefined;
|
|
125
125
|
}
|
|
126
|
+
/**
|
|
127
|
+
* The RFD form: the `subagent_update` that tells a client that holds nothing
|
|
128
|
+
* of the announced child `sessionId` of this live session what it is now:
|
|
129
|
+
* its labels, its directory, its `cancel` capability, and its work state.
|
|
130
|
+
* Undefined when no such child runs here.
|
|
131
|
+
*/
|
|
132
|
+
currentUpdate(sessionId) {
|
|
133
|
+
if (this.form !== "rfd")
|
|
134
|
+
return undefined;
|
|
135
|
+
const child = this.childOfSession(sessionId);
|
|
136
|
+
if (!child?.announced || !child.workState)
|
|
137
|
+
return undefined;
|
|
138
|
+
return {
|
|
139
|
+
sessionId: child.parentSessionId,
|
|
140
|
+
update: {
|
|
141
|
+
sessionUpdate: "subagent_update",
|
|
142
|
+
sessionId: child.sessionId,
|
|
143
|
+
...(child.title ? { title: child.title } : {}),
|
|
144
|
+
...(child.description ? { description: child.description } : {}),
|
|
145
|
+
...(child.reportedCwd ? { cwd: child.reportedCwd } : {}),
|
|
146
|
+
capabilities: { cancel: {} },
|
|
147
|
+
state: { state: child.workState },
|
|
148
|
+
},
|
|
149
|
+
};
|
|
150
|
+
}
|
|
126
151
|
/**
|
|
127
152
|
* Reports the model of a child response, an exact model id, as the entry of
|
|
128
153
|
* the root session's `model` option that matches it, else as the id (see
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { RequestError } from "@agentclientprotocol/sdk/unstable";
|
|
2
|
+
/** Makes the CLI write an `error_during_execution` result with a
|
|
3
|
+
* `startup_failure_reason` before it exits on a known startup failure. Without
|
|
4
|
+
* it, some failures (e.g. `proxy_invalid`) end with stderr and an exit code
|
|
5
|
+
* alone. The SDK then rejects `initializationResult()` with an error that
|
|
6
|
+
* carries the reason as `startupFailureReason`. */
|
|
7
|
+
export declare const STARTUP_FAILURE_RESULTS_ENV: {
|
|
8
|
+
CLAUDE_CODE_STARTUP_FAILURE_RESULTS: string;
|
|
9
|
+
};
|
|
10
|
+
/** The ACP error for a CLI that refused to start, or `undefined` when `error`
|
|
11
|
+
* carries no `startupFailureReason` (older CLIs, failures without a known
|
|
12
|
+
* cause). The message is the CLI's own, which says what to fix, e.g.
|
|
13
|
+
* `Invalid proxy URL in HTTPS_PROXY: … Fix or unset HTTPS_PROXY and restart
|
|
14
|
+
* Claude Code.`; `data.startupFailureReason` carries the reason. */
|
|
15
|
+
export declare function startupFailureError(error: unknown): RequestError | undefined;
|
|
16
|
+
//# sourceMappingURL=startup-failure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startup-failure.d.ts","sourceRoot":"","sources":["../src/startup-failure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAGjE;;;;oDAIoD;AACpD,eAAO,MAAM,2BAA2B;;CAA+C,CAAC;AAYxF;;;;qEAIqE;AACrE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS,CAgB5E"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { RequestError } from "@agentclientprotocol/sdk/unstable";
|
|
2
|
+
/** Makes the CLI write an `error_during_execution` result with a
|
|
3
|
+
* `startup_failure_reason` before it exits on a known startup failure. Without
|
|
4
|
+
* it, some failures (e.g. `proxy_invalid`) end with stderr and an exit code
|
|
5
|
+
* alone. The SDK then rejects `initializationResult()` with an error that
|
|
6
|
+
* carries the reason as `startupFailureReason`. */
|
|
7
|
+
export const STARTUP_FAILURE_RESULTS_ENV = { CLAUDE_CODE_STARTUP_FAILURE_RESULTS: "1" };
|
|
8
|
+
/** The SDK's prefix on the message of an error built from an error result. */
|
|
9
|
+
const ERROR_RESULT_PREFIX = "Claude Code returned an error result: ";
|
|
10
|
+
/** Reasons that signing in again, or with another account, can fix. */
|
|
11
|
+
const AUTH_REQUIRED_REASONS = new Set([
|
|
12
|
+
"gateway_signin_required",
|
|
13
|
+
"org_pin_mismatch",
|
|
14
|
+
"org_config_refused",
|
|
15
|
+
]);
|
|
16
|
+
/** The ACP error for a CLI that refused to start, or `undefined` when `error`
|
|
17
|
+
* carries no `startupFailureReason` (older CLIs, failures without a known
|
|
18
|
+
* cause). The message is the CLI's own, which says what to fix, e.g.
|
|
19
|
+
* `Invalid proxy URL in HTTPS_PROXY: … Fix or unset HTTPS_PROXY and restart
|
|
20
|
+
* Claude Code.`; `data.startupFailureReason` carries the reason. */
|
|
21
|
+
export function startupFailureError(error) {
|
|
22
|
+
if (!(error instanceof Error))
|
|
23
|
+
return undefined;
|
|
24
|
+
const reason = error.startupFailureReason;
|
|
25
|
+
if (typeof reason !== "string" || reason === "")
|
|
26
|
+
return undefined;
|
|
27
|
+
const message = error.message.startsWith(ERROR_RESULT_PREFIX)
|
|
28
|
+
? error.message.slice(ERROR_RESULT_PREFIX.length)
|
|
29
|
+
: error.message;
|
|
30
|
+
const data = { startupFailureReason: reason };
|
|
31
|
+
if (AUTH_REQUIRED_REASONS.has(reason)) {
|
|
32
|
+
return RequestError.authRequired(data, message);
|
|
33
|
+
}
|
|
34
|
+
if (reason === "cwd_unavailable") {
|
|
35
|
+
return RequestError.invalidParams(data, message);
|
|
36
|
+
}
|
|
37
|
+
return RequestError.internalError(data, message);
|
|
38
|
+
}
|
|
@@ -29,4 +29,14 @@ export declare function backgroundedBashToolCall(notification: SessionNotificati
|
|
|
29
29
|
* the exit when the command's task ends (see `Session.backgroundTerminals`).
|
|
30
30
|
*/
|
|
31
31
|
export declare function withRunningTerminal(notification: SessionNotification, toolCallId: string | undefined): SessionNotification;
|
|
32
|
+
/**
|
|
33
|
+
* Keeps the tool call of a task that went on in the background running: the
|
|
34
|
+
* tool result update of a tool call in `toolCallIds` reports `in_progress`
|
|
35
|
+
* instead of `completed`.
|
|
36
|
+
*
|
|
37
|
+
* A Monitor or Workflow call returns as soon as its task starts. The consumer
|
|
38
|
+
* reports the task's end, or its pause, on the tool call (see
|
|
39
|
+
* `Session.backgroundToolCalls`).
|
|
40
|
+
*/
|
|
41
|
+
export declare function withRunningToolCall(notification: SessionNotification, toolCallIds: ReadonlySet<string>): SessionNotification;
|
|
32
42
|
//# sourceMappingURL=background.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background.d.ts","sourceRoot":"","sources":["../../src/tool-calls/background.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAG7E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,mBAAmB,EACjC,uBAAuB,EAAE,WAAW,CAAC,MAAM,CAAC,EAC5C,mBAAmB,EAAE,OAAO,GAC3B,mBAAmB,CAgBrB;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,mBAAmB,EACjC,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,mBAAmB,CAiBrB"}
|
|
1
|
+
{"version":3,"file":"background.d.ts","sourceRoot":"","sources":["../../src/tool-calls/background.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAG7E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,mBAAmB,EACjC,uBAAuB,EAAE,WAAW,CAAC,MAAM,CAAC,EAC5C,mBAAmB,EAAE,OAAO,GAC3B,mBAAmB,CAgBrB;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,mBAAmB,EACjC,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,mBAAmB,CAiBrB;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,mBAAmB,EACjC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,GAC/B,mBAAmB,CAUrB"}
|
|
@@ -59,3 +59,21 @@ export function withRunningTerminal(notification, toolCallId) {
|
|
|
59
59
|
delete next._meta;
|
|
60
60
|
return { ...notification, update: next };
|
|
61
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* Keeps the tool call of a task that went on in the background running: the
|
|
64
|
+
* tool result update of a tool call in `toolCallIds` reports `in_progress`
|
|
65
|
+
* instead of `completed`.
|
|
66
|
+
*
|
|
67
|
+
* A Monitor or Workflow call returns as soon as its task starts. The consumer
|
|
68
|
+
* reports the task's end, or its pause, on the tool call (see
|
|
69
|
+
* `Session.backgroundToolCalls`).
|
|
70
|
+
*/
|
|
71
|
+
export function withRunningToolCall(notification, toolCallIds) {
|
|
72
|
+
const update = notification.update;
|
|
73
|
+
if (update.sessionUpdate !== "tool_call_update" ||
|
|
74
|
+
!toolCallIds.has(update.toolCallId) ||
|
|
75
|
+
update.status !== "completed") {
|
|
76
|
+
return notification;
|
|
77
|
+
}
|
|
78
|
+
return { ...notification, update: { ...update, status: "in_progress" } };
|
|
79
|
+
}
|
|
@@ -3,6 +3,14 @@ import { type ToolResultMeta } from "../tool-result-meta.js";
|
|
|
3
3
|
import { ClientCapabilities } from "./client-capabilities.js";
|
|
4
4
|
import type { ToolResultContext, ToolResultFacts, ToolUse, ToolUseFacts } from "./facts.js";
|
|
5
5
|
export type ToolCallUpdate = SessionNotification["update"];
|
|
6
|
+
/**
|
|
7
|
+
* ACP v2's `cancelled` and `paused` tool call statuses. v1's statuses have no
|
|
8
|
+
* such values, and the agent builds its reports in v1 types, so they travel as
|
|
9
|
+
* v1 statuses. Only a v2 client gets them, and the v2 surface sends them as
|
|
10
|
+
* they are (`src/v2/tool-call.ts`).
|
|
11
|
+
*/
|
|
12
|
+
export declare const V2_CANCELLED: ToolCallStatus;
|
|
13
|
+
export declare const V2_PAUSED: ToolCallStatus;
|
|
6
14
|
/** Whether `status` ends a tool call: `completed`, `failed`, or, on v2, `cancelled`. */
|
|
7
15
|
export declare function isFinalToolCallStatus(status: ToolCallStatus | null | undefined): boolean;
|
|
8
16
|
/** The `_meta` of a tool call report. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/tool-calls/renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,IAAI,qBAAqB,EAC3C,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACf,MAAM,mCAAmC,CAAC;AAS3C,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM5F,MAAM,MAAM,cAAc,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/tool-calls/renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,IAAI,qBAAqB,EAC3C,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACf,MAAM,mCAAmC,CAAC;AAS3C,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM5F,MAAM,MAAM,cAAc,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;AAK3D;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAA6B,cAAc,CAAC;AACrE,eAAO,MAAM,SAAS,EAA0B,cAAc,CAAC;AAE/D,wFAAwF;AACxF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAExF;AAED,yCAAyC;AACzC,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,CAAC,EAAE;QAKX,QAAQ,CAAC,EAAE,MAAM,CAAC;QAKlB,YAAY,CAAC,EAAE,OAAO,CAAC;QAIvB,eAAe,CAAC,EAAE,MAAM,CAAC;QAMzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAG1B,YAAY,CAAC,EAAE,MAAM,CAAC;QAEtB,SAAS,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;KAC9C,CAAC;IAEF,SAAS,CAAC,EAAE;QACV,GAAG,CAAC,EAAE;YACJ,OAAO,CAAC,EAAE,MAAM,CAAC;YAGjB,YAAY,CAAC,EAAE,MAAM,CAAC;YAGtB,QAAQ,CAAC,EAAE,IAAI,CAAC;YAGhB,KAAK,CAAC,EAAE;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,IAAI,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC;YAGxC,GAAG,CAAC,EAAE;gBAAE,MAAM,EAAE,MAAM,CAAC;gBAAC,IAAI,EAAE,MAAM,CAAA;aAAE,CAAC;YACvC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;SACxB,CAAC;KACH,CAAC;IAEF,gBAAgB,CAAC,EAAE,IAAI,CAAC;IAExB,aAAa,CAAC,EAAE;QACd,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,eAAe,CAAC,EAAE;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,qBAAqB,CAAC,EAAE;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,aAAa,CAAC,EAAE;QACd,WAAW,EAAE,MAAM,CAAC;QACpB;;;WAGG;QACH,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB,CAAC;CACH,CAAC;AAEF,oFAAoF;AACpF,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,wDAAwD;IACxD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qFAAqF;IACrF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,IAAI,CACV,cAAc,EACd,eAAe,GAAG,iBAAiB,GAAG,uBAAuB,GAAG,eAAe,CAChF,CAAC;CACH;AAED,4DAA4D;AAC5D,KAAK,WAAW,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AAE/C;;;;;;;;GAQG;AACH,qBAAa,mBAAmB;IAE5B,QAAQ,CAAC,YAAY,EAAE,kBAAkB;IACzC,sEAAsE;IACtE,QAAQ,CAAC,MAAM;gBAFN,YAAY,GAAE,kBAA6C;IACpE,sEAAsE;IAC7D,MAAM,UAAQ;IAGzB,MAAM,CAAC,GAAG,CACR,YAAY,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,EACtD,MAAM,UAAQ,GACb,mBAAmB;IAItB;;;;OAIG;IACH,OAAO,KAAK,SAAS,GAEpB;IAED;;;OAGG;IACH,OAAO,CAAC,WAAW;IAInB;;;;;;;;;;;;;;;OAeG;IACH,YAAY,CACV,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,cAAc,GAAG,SAAS,EACxC,GAAG,GAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAO,GACvD,cAAc;IAQjB,+BAA+B;IAC/B,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,YAAY;IAQ3E,8FAA8F;IAC9F,QAAQ,CACN,OAAO,EAAE,OAAO,EAChB,GAAG,CAAC,EAAE,MAAM,GACX;QACD,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;QAC3B,OAAO,EAAE,eAAe,EAAE,CAAC;QAC3B,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;KAChC;IAUD;;;OAGG;IACH,QAAQ,CACN,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,eAAe,EAAE,CAAA;KAAO,GAC1F,cAAc;IA0BjB,6DAA6D;IAC7D,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,cAAc;IAc1D;;;;;;OAMG;IACH,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM;;;;;;;;;IAarF;;;;;OAKG;IACH,kBAAkB,CAChB,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE;QACP,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,eAAe,EAAE,CAAC;QACnC,cAAc,CAAC,EAAE,gBAAgB,EAAE,CAAC;QACpC,IAAI,CAAC,EAAE,cAAc,CAAC;QACtB,4EAA4E;QAC5E,eAAe,CAAC,EAAE,eAAe,EAAE,CAAC;KAChC,GACL,wBAAwB,CAAC,UAAU,CAAC;IAmCvC,kCAAkC;IAClC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,eAAe;IAqBzF,+EAA+E;IAC/E,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,cAAc;IAIzF,OAAO,CAAC,cAAc;IA0DtB;;;;;OAKG;IACH,MAAM,CACJ,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,cAAc,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAO,GACzF,cAAc,EAAE;IA2EnB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAWvB;;;;;OAKG;IACG,UAAU,CACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,MAAM,CAAC,EACrC,YAAY,EAAE,OAAO,EACrB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IA4BtC;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KAChD,GAAG,cAAc;IAyBlB;;;;OAIG;IACH,gBAAgB,CAAC,MAAM,EAAE;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,cAAc;IA2BlB;;;;;;;;;OASG;IACH,UAAU,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,cAAc;IAkB3F;;;;;;OAMG;IACH,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,eAAe,CAAC,GAAG,SAAS;IAWjF;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,GAAG,cAAc;IAsBlB;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO;IAgBzD;;;;OAIG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,eAAe,EAAE;IAS1E;;;;;OAKG;IACH,WAAW,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,cAAc;CA2BtF;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAStF"}
|
|
@@ -10,12 +10,13 @@ import { grepPath } from "./reporters/search.js";
|
|
|
10
10
|
/** The id suffix of the call that clears the plan file of an approved plan for AIR. */
|
|
11
11
|
const PLAN_FILE_CLEAR_SUFFIX = ":plan-file-clear";
|
|
12
12
|
/**
|
|
13
|
-
* ACP v2's `cancelled` tool call
|
|
14
|
-
* the agent builds its reports in v1 types, so
|
|
15
|
-
* a v2 client gets
|
|
16
|
-
* (`src/v2/tool-call.ts`).
|
|
13
|
+
* ACP v2's `cancelled` and `paused` tool call statuses. v1's statuses have no
|
|
14
|
+
* such values, and the agent builds its reports in v1 types, so they travel as
|
|
15
|
+
* v1 statuses. Only a v2 client gets them, and the v2 surface sends them as
|
|
16
|
+
* they are (`src/v2/tool-call.ts`).
|
|
17
17
|
*/
|
|
18
|
-
const V2_CANCELLED = "cancelled";
|
|
18
|
+
export const V2_CANCELLED = "cancelled";
|
|
19
|
+
export const V2_PAUSED = "paused";
|
|
19
20
|
/** Whether `status` ends a tool call: `completed`, `failed`, or, on v2, `cancelled`. */
|
|
20
21
|
export function isFinalToolCallStatus(status) {
|
|
21
22
|
return status === "completed" || status === "failed" || status === V2_CANCELLED;
|
package/dist/v2/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/v2/agent.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,MAAM,mDAAmD,CAAC;AACxE,OAAO,EAAE,cAAc,EAAkB,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/v2/agent.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,MAAM,mDAAmD,CAAC;AACxE,OAAO,EAAE,cAAc,EAAkB,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAsB9E;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,GACvC,EAAE,CAAC,QAAQ,CAyIb"}
|
package/dist/v2/agent.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as v2 from "@agentclientprotocol/sdk/experimental/v2/unstable";
|
|
2
2
|
import { ClaudeAcpAgent } from "../acp-agent.js";
|
|
3
|
+
import { stateUpdate, V2Background } from "./background.js";
|
|
3
4
|
import { v1InitializeRequest, v2InitializeResponse } from "./initialize.js";
|
|
4
5
|
import { v1PermissionResponse, v2PermissionRequest } from "./permission.js";
|
|
5
6
|
import { v2Foreground, v2Prompt } from "./prompt.js";
|
|
@@ -29,6 +30,14 @@ export function v2AgentApp(logger, onAgent) {
|
|
|
29
30
|
foreground: (sessionId) => v2Foreground((update) => {
|
|
30
31
|
void client.send({ sessionId, update });
|
|
31
32
|
}),
|
|
33
|
+
background: {
|
|
34
|
+
changed: (report) => {
|
|
35
|
+
for (const notification of client.background.changed(report)) {
|
|
36
|
+
void client.send(notification);
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
forget: (sessionId) => client.background.forget(sessionId),
|
|
40
|
+
},
|
|
32
41
|
});
|
|
33
42
|
onAgent(agent);
|
|
34
43
|
})
|
|
@@ -57,10 +66,17 @@ export function v2AgentApp(logger, onAgent) {
|
|
|
57
66
|
await agent.publishCurrentSessionInfo(params.sessionId);
|
|
58
67
|
// v2 requires a snapshot of the foreground state after the replay and
|
|
59
68
|
// before the response, also without a replay: a resumed live session can
|
|
60
|
-
// be running a turn, or waiting on a permission request.
|
|
69
|
+
// be running a turn, or waiting on a permission request. The current
|
|
70
|
+
// state of each subagent, terminal and tool call it lists comes first,
|
|
71
|
+
// as v2 requires. The subagents' go again after the response (see below).
|
|
72
|
+
await agent.publishLiveSubagents(params.sessionId, client.background.listedSubagents(params.sessionId));
|
|
73
|
+
await agent.publishBackgroundToolCalls(params.sessionId, client.background.listedToolCalls(params.sessionId));
|
|
74
|
+
for (const notification of client.background.currentItems(params.sessionId)) {
|
|
75
|
+
void client.send(notification);
|
|
76
|
+
}
|
|
61
77
|
void client.send({
|
|
62
78
|
sessionId: params.sessionId,
|
|
63
|
-
update:
|
|
79
|
+
update: stateUpdate(agent.foregroundState(params.sessionId)),
|
|
64
80
|
});
|
|
65
81
|
const commands = await setupCommands(agent, params.sessionId, logger);
|
|
66
82
|
// The response ends a replay. The subagents RFD treats the replayed
|
|
@@ -103,16 +119,16 @@ export function v2AgentApp(logger, onAgent) {
|
|
|
103
119
|
.onRequest(v2.methods.agent.session.prompt, ({ params }) => v2Prompt(agent, params, (update) => {
|
|
104
120
|
void client.send({ sessionId: params.sessionId, update });
|
|
105
121
|
}))
|
|
122
|
+
.onRequest(v2.methods.agent.terminal.cancel, async ({ params }) => {
|
|
123
|
+
await agent.cancelBackgroundTerminal(params);
|
|
124
|
+
return {};
|
|
125
|
+
})
|
|
126
|
+
.onRequest(v2.methods.agent.toolCall.cancel, async ({ params }) => {
|
|
127
|
+
await agent.cancelBackgroundToolCall(params);
|
|
128
|
+
return {};
|
|
129
|
+
})
|
|
106
130
|
.onNotification(v2.methods.agent.session.cancel, ({ params }) => agent.cancel(params));
|
|
107
131
|
}
|
|
108
|
-
/** The `state_update` that reports `state` as the current foreground state. */
|
|
109
|
-
function stateSnapshot(state) {
|
|
110
|
-
if (state === "idle")
|
|
111
|
-
return { sessionUpdate: "state_update", state: "idle" };
|
|
112
|
-
if (state === "running")
|
|
113
|
-
return { sessionUpdate: "state_update", state: "running" };
|
|
114
|
-
return { sessionUpdate: "state_update", state: "requires_action" };
|
|
115
|
-
}
|
|
116
132
|
/**
|
|
117
133
|
* The `availableCommands` of a setup response, which v2 requires when the
|
|
118
134
|
* session has commands. The agent sends a v1 client the same list as an
|
|
@@ -179,6 +195,8 @@ class V2ClientConnection {
|
|
|
179
195
|
terminals = new V2Terminals();
|
|
180
196
|
/** The `_meta` that the client stores for each tool call. */
|
|
181
197
|
toolCallMeta = new V2ToolCallMeta();
|
|
198
|
+
/** The `background` list of each session's `state_update`s. */
|
|
199
|
+
background = new V2Background(this.terminals);
|
|
182
200
|
constructor(ctx, logger) {
|
|
183
201
|
this.ctx = ctx;
|
|
184
202
|
this.logger = logger;
|
|
@@ -225,7 +243,9 @@ class V2ClientConnection {
|
|
|
225
243
|
* request opening.)
|
|
226
244
|
*/
|
|
227
245
|
send(notification) {
|
|
228
|
-
return this.ctx
|
|
246
|
+
return this.ctx
|
|
247
|
+
.notify(v2.methods.client.session.update, this.background.stamp(notification))
|
|
248
|
+
.catch((error) => {
|
|
229
249
|
this.logger.error(`Failed to send a ${notification.update.sessionUpdate} update:`, error);
|
|
230
250
|
});
|
|
231
251
|
}
|
|
@@ -257,11 +277,13 @@ class V2ClientConnection {
|
|
|
257
277
|
childState = undefined;
|
|
258
278
|
}
|
|
259
279
|
// Every update goes to the connection before any is awaited, so an update
|
|
260
|
-
// that another call sends meanwhile cannot come between them.
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
...(
|
|
264
|
-
|
|
280
|
+
// that another call sends meanwhile cannot come between them. The parent's
|
|
281
|
+
// copy is stamped first: a child's announcement starts its list.
|
|
282
|
+
const stamped = [
|
|
283
|
+
...updates.map((v2Update) => this.background.stamp({ ...notification, update: v2Update })),
|
|
284
|
+
...(childState ? [this.background.stamp(childState)] : []),
|
|
285
|
+
];
|
|
286
|
+
await Promise.all(stamped.map((v2Notification) => this.ctx.notify(v2.methods.client.session.update, v2Notification)));
|
|
265
287
|
}
|
|
266
288
|
/**
|
|
267
289
|
* The v2 updates of a v1 update: for a tool call report, the updates of its
|
|
@@ -316,7 +338,7 @@ class V2ClientConnection {
|
|
|
316
338
|
async requestPermission(params, signal) {
|
|
317
339
|
// The subject is an update of the tool call, with its stored `_meta`.
|
|
318
340
|
const toolCall = this.toolCallMeta.subject(params.sessionId, params.toolCall);
|
|
319
|
-
const response = await this.ctx.request(v2.methods.client.session.requestPermission, v2PermissionRequest({ ...params, toolCall }), { cancellationSignal: signal });
|
|
341
|
+
const response = await this.ctx.request(v2.methods.client.session.requestPermission, v2PermissionRequest({ ...params, toolCall }), { cancellationSignal: signal, stopWaitingOnCancel: true });
|
|
320
342
|
return v1PermissionResponse(response);
|
|
321
343
|
}
|
|
322
344
|
// Elicitation is the same in v1 and v2.
|
|
@@ -325,7 +347,7 @@ class V2ClientConnection {
|
|
|
325
347
|
// The v1 types accept a property schema with any tag; the v2 types accept
|
|
326
348
|
// one only in a received value. As on v1, an MCP server's schema is
|
|
327
349
|
// relayed here unchanged, so this cast does not check it.
|
|
328
|
-
params, { cancellationSignal: signal });
|
|
350
|
+
params, { cancellationSignal: signal, stopWaitingOnCancel: true });
|
|
329
351
|
}
|
|
330
352
|
completeElicitation(params) {
|
|
331
353
|
return this.ctx.notify(v2.methods.client.elicitation.complete, params);
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `background` lists of the v2 sessions of a connection (see
|
|
3
|
+
* `background-work.ts`, which builds them).
|
|
4
|
+
*
|
|
5
|
+
* A session that reports its background work gets its list on every
|
|
6
|
+
* `state_update` of its own stream, as v2 requires, from the list the agent
|
|
7
|
+
* reports when the session starts. A subagent session of such a session
|
|
8
|
+
* reports its own list from its announcement on, also in the parent's mirror
|
|
9
|
+
* of its state (`subagent_update.state`).
|
|
10
|
+
*/
|
|
11
|
+
import type * as v2 from "@agentclientprotocol/sdk/experimental/v2/unstable";
|
|
12
|
+
import type { BackgroundReport, WorkStateName } from "../background-work.js";
|
|
13
|
+
import type { V2Terminals } from "./terminal.js";
|
|
14
|
+
/** The `state_update` that reports `state` as the session's current work state. */
|
|
15
|
+
export declare function stateUpdate(state: WorkStateName): v2.SessionUpdate;
|
|
16
|
+
export declare class V2Background {
|
|
17
|
+
private readonly terminals;
|
|
18
|
+
/**
|
|
19
|
+
* The latest list of each session that reports one, whether a state of the
|
|
20
|
+
* session carried it, and the parent of a subagent session.
|
|
21
|
+
*/
|
|
22
|
+
private readonly sessions;
|
|
23
|
+
/**
|
|
24
|
+
* The tool calls that advertise `cancel`, by session and tool call. Like a
|
|
25
|
+
* terminal's (see `V2Terminals.advertiseCancel`), the capability goes with
|
|
26
|
+
* the final status.
|
|
27
|
+
*/
|
|
28
|
+
private readonly cancellableToolCalls;
|
|
29
|
+
constructor(terminals: V2Terminals);
|
|
30
|
+
/**
|
|
31
|
+
* `notification` with the session's list, when it is a `state_update` of a
|
|
32
|
+
* session that reports one, or a `subagent_update` that mirrors the state of
|
|
33
|
+
* such a child. A child of a session that reports its list reports its own
|
|
34
|
+
* from its announcement on: empty, until the agent reports it.
|
|
35
|
+
*/
|
|
36
|
+
stamp(notification: v2.UpdateSessionNotification): v2.UpdateSessionNotification;
|
|
37
|
+
/**
|
|
38
|
+
* Records the new list of a session, and returns the updates that report it:
|
|
39
|
+
*
|
|
40
|
+
* - For each terminal or tool call that the list adds, a `terminal_update`
|
|
41
|
+
* or `tool_call_update` that lets the client cancel it. It comes before
|
|
42
|
+
* the first list that names it, as v2 requires of an announcement: its
|
|
43
|
+
* own updates came earlier.
|
|
44
|
+
* - Once a state of the session carried a list, the state again with the
|
|
45
|
+
* new list, without a stop reason: a repeated `idle` is no new
|
|
46
|
+
* completion. A subagent's goes to its parent's mirror first, as its
|
|
47
|
+
* other states do.
|
|
48
|
+
*/
|
|
49
|
+
changed(report: BackgroundReport): v2.UpdateSessionNotification[];
|
|
50
|
+
/**
|
|
51
|
+
* The current `terminal_update` of each terminal that the session
|
|
52
|
+
* `sessionId` lists, and the `cancel` capability of each tool call that it
|
|
53
|
+
* lists, whose other fields the agent sends (see
|
|
54
|
+
* `ClaudeAcpAgent.publishBackgroundToolCalls`). v2 requires them before the
|
|
55
|
+
* state snapshot of `session/resume`, as a replay may not have delivered
|
|
56
|
+
* them.
|
|
57
|
+
*/
|
|
58
|
+
currentItems(sessionId: string): v2.UpdateSessionNotification[];
|
|
59
|
+
/** The tool calls that the session `sessionId` lists. */
|
|
60
|
+
listedToolCalls(sessionId: string): string[];
|
|
61
|
+
/**
|
|
62
|
+
* The update that lets the client cancel the listed terminal or tool call
|
|
63
|
+
* `item`, unless it advertises that already. `again` sends it anyway, as
|
|
64
|
+
* the item's current state.
|
|
65
|
+
*/
|
|
66
|
+
private advertiseCancel;
|
|
67
|
+
/** The subagent sessions that the session `sessionId` lists. */
|
|
68
|
+
listedSubagents(sessionId: string): string[];
|
|
69
|
+
/** Forgets the list of a session, and those of its subagent sessions. */
|
|
70
|
+
forget(sessionId: string): void;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=background.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"background.d.ts","sourceRoot":"","sources":["../../src/v2/background.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,KAAK,EAAE,MAAM,mDAAmD,CAAC;AAC7E,OAAO,KAAK,EAAkB,gBAAgB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC7F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAUjD,mFAAmF;AACnF,wBAAgB,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,EAAE,CAAC,aAAa,CAElE;AAUD,qBAAa,YAAY;IAiBX,OAAO,CAAC,QAAQ,CAAC,SAAS;IAhBtC;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAGrB;IAEJ;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAqB;gBAE7B,SAAS,EAAE,WAAW;IAEnD;;;;;OAKG;IACH,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,yBAAyB,GAAG,EAAE,CAAC,yBAAyB;IAiC/E;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,MAAM,EAAE,gBAAgB,GAAG,EAAE,CAAC,yBAAyB,EAAE;IAyBjE;;;;;;;OAOG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,EAAE,CAAC,yBAAyB,EAAE;IAM/D,yDAAyD;IACzD,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAM5C;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAyBvB,gEAAgE;IAChE,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAM5C,yEAAyE;IACzE,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;CAShC"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
/** `state` as the current work state of a session, with no stop reason. */
|
|
2
|
+
function currentState(state) {
|
|
3
|
+
if (state === "idle")
|
|
4
|
+
return { state: "idle" };
|
|
5
|
+
if (state === "running")
|
|
6
|
+
return { state: "running" };
|
|
7
|
+
if (state === "requires_action")
|
|
8
|
+
return { state: "requires_action" };
|
|
9
|
+
return { state: "unknown" };
|
|
10
|
+
}
|
|
11
|
+
/** The `state_update` that reports `state` as the session's current work state. */
|
|
12
|
+
export function stateUpdate(state) {
|
|
13
|
+
return { sessionUpdate: "state_update", ...currentState(state) };
|
|
14
|
+
}
|
|
15
|
+
/** `state` with the list `background`. */
|
|
16
|
+
function withBackground(state, background) {
|
|
17
|
+
return { ...state, background };
|
|
18
|
+
}
|
|
19
|
+
/** The final tool call statuses. */
|
|
20
|
+
const FINAL_STATUSES = new Set(["completed", "failed", "cancelled"]);
|
|
21
|
+
export class V2Background {
|
|
22
|
+
terminals;
|
|
23
|
+
/**
|
|
24
|
+
* The latest list of each session that reports one, whether a state of the
|
|
25
|
+
* session carried it, and the parent of a subagent session.
|
|
26
|
+
*/
|
|
27
|
+
sessions = new Map();
|
|
28
|
+
/**
|
|
29
|
+
* The tool calls that advertise `cancel`, by session and tool call. Like a
|
|
30
|
+
* terminal's (see `V2Terminals.advertiseCancel`), the capability goes with
|
|
31
|
+
* the final status.
|
|
32
|
+
*/
|
|
33
|
+
cancellableToolCalls = new Set();
|
|
34
|
+
constructor(terminals) {
|
|
35
|
+
this.terminals = terminals;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* `notification` with the session's list, when it is a `state_update` of a
|
|
39
|
+
* session that reports one, or a `subagent_update` that mirrors the state of
|
|
40
|
+
* such a child. A child of a session that reports its list reports its own
|
|
41
|
+
* from its announcement on: empty, until the agent reports it.
|
|
42
|
+
*/
|
|
43
|
+
stamp(notification) {
|
|
44
|
+
const { sessionId, update } = notification;
|
|
45
|
+
if (update.sessionUpdate === "tool_call_update" &&
|
|
46
|
+
FINAL_STATUSES.has(String(update.status)) &&
|
|
47
|
+
this.cancellableToolCalls.delete(`${sessionId} ${update.toolCallId}`)) {
|
|
48
|
+
// A tool call that reached its final status can no longer be cancelled.
|
|
49
|
+
return { ...notification, update: { ...update, capabilities: null } };
|
|
50
|
+
}
|
|
51
|
+
if (update.sessionUpdate === "state_update") {
|
|
52
|
+
const session = this.sessions.get(sessionId);
|
|
53
|
+
if (!session)
|
|
54
|
+
return notification;
|
|
55
|
+
session.reported = true;
|
|
56
|
+
return { ...notification, update: { ...update, background: session.items } };
|
|
57
|
+
}
|
|
58
|
+
if (update.sessionUpdate === "subagent_update" && this.sessions.has(sessionId)) {
|
|
59
|
+
const subagent = update;
|
|
60
|
+
let child = this.sessions.get(subagent.sessionId);
|
|
61
|
+
if (!child) {
|
|
62
|
+
child = { items: [], reported: false, parent: sessionId };
|
|
63
|
+
this.sessions.set(subagent.sessionId, child);
|
|
64
|
+
}
|
|
65
|
+
if (subagent.state) {
|
|
66
|
+
return {
|
|
67
|
+
...notification,
|
|
68
|
+
update: { ...subagent, state: withBackground(subagent.state, child.items) },
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return notification;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Records the new list of a session, and returns the updates that report it:
|
|
76
|
+
*
|
|
77
|
+
* - For each terminal or tool call that the list adds, a `terminal_update`
|
|
78
|
+
* or `tool_call_update` that lets the client cancel it. It comes before
|
|
79
|
+
* the first list that names it, as v2 requires of an announcement: its
|
|
80
|
+
* own updates came earlier.
|
|
81
|
+
* - Once a state of the session carried a list, the state again with the
|
|
82
|
+
* new list, without a stop reason: a repeated `idle` is no new
|
|
83
|
+
* completion. A subagent's goes to its parent's mirror first, as its
|
|
84
|
+
* other states do.
|
|
85
|
+
*/
|
|
86
|
+
changed(report) {
|
|
87
|
+
const { sessionId, items, state, parentSessionId } = report;
|
|
88
|
+
const session = this.sessions.get(sessionId);
|
|
89
|
+
const unchanged = session && JSON.stringify(session.items) === JSON.stringify(items);
|
|
90
|
+
this.sessions.set(sessionId, {
|
|
91
|
+
items,
|
|
92
|
+
reported: session?.reported ?? false,
|
|
93
|
+
parent: parentSessionId ?? session?.parent,
|
|
94
|
+
});
|
|
95
|
+
const known = new Set((session?.items ?? []).map((item) => JSON.stringify(item)));
|
|
96
|
+
const updates = items.flatMap((item) => known.has(JSON.stringify(item)) ? [] : this.advertiseCancel(sessionId, item, false));
|
|
97
|
+
if (session?.reported && state && !unchanged) {
|
|
98
|
+
if (parentSessionId) {
|
|
99
|
+
updates.push({
|
|
100
|
+
sessionId: parentSessionId,
|
|
101
|
+
update: { sessionUpdate: "subagent_update", sessionId, state: currentState(state) },
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
updates.push({ sessionId, update: stateUpdate(state) });
|
|
105
|
+
}
|
|
106
|
+
return updates;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* The current `terminal_update` of each terminal that the session
|
|
110
|
+
* `sessionId` lists, and the `cancel` capability of each tool call that it
|
|
111
|
+
* lists, whose other fields the agent sends (see
|
|
112
|
+
* `ClaudeAcpAgent.publishBackgroundToolCalls`). v2 requires them before the
|
|
113
|
+
* state snapshot of `session/resume`, as a replay may not have delivered
|
|
114
|
+
* them.
|
|
115
|
+
*/
|
|
116
|
+
currentItems(sessionId) {
|
|
117
|
+
return (this.sessions.get(sessionId)?.items ?? []).flatMap((item) => this.advertiseCancel(sessionId, item, true));
|
|
118
|
+
}
|
|
119
|
+
/** The tool calls that the session `sessionId` lists. */
|
|
120
|
+
listedToolCalls(sessionId) {
|
|
121
|
+
return (this.sessions.get(sessionId)?.items ?? []).flatMap((item) => item.type === "tool_call" ? [item.toolCallId] : []);
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* The update that lets the client cancel the listed terminal or tool call
|
|
125
|
+
* `item`, unless it advertises that already. `again` sends it anyway, as
|
|
126
|
+
* the item's current state.
|
|
127
|
+
*/
|
|
128
|
+
advertiseCancel(sessionId, item, again) {
|
|
129
|
+
if (item.type === "terminal") {
|
|
130
|
+
const update = this.terminals.advertiseCancel(sessionId, item.terminalId, again);
|
|
131
|
+
return update ? [{ sessionId, update }] : [];
|
|
132
|
+
}
|
|
133
|
+
if (item.type !== "tool_call")
|
|
134
|
+
return [];
|
|
135
|
+
const key = `${sessionId} ${item.toolCallId}`;
|
|
136
|
+
if (this.cancellableToolCalls.has(key) && !again)
|
|
137
|
+
return [];
|
|
138
|
+
this.cancellableToolCalls.add(key);
|
|
139
|
+
return [
|
|
140
|
+
{
|
|
141
|
+
sessionId,
|
|
142
|
+
update: {
|
|
143
|
+
sessionUpdate: "tool_call_update",
|
|
144
|
+
toolCallId: item.toolCallId,
|
|
145
|
+
capabilities: { cancel: {} },
|
|
146
|
+
},
|
|
147
|
+
},
|
|
148
|
+
];
|
|
149
|
+
}
|
|
150
|
+
/** The subagent sessions that the session `sessionId` lists. */
|
|
151
|
+
listedSubagents(sessionId) {
|
|
152
|
+
return (this.sessions.get(sessionId)?.items ?? []).flatMap((item) => item.type === "subagent" ? [item.sessionId] : []);
|
|
153
|
+
}
|
|
154
|
+
/** Forgets the list of a session, and those of its subagent sessions. */
|
|
155
|
+
forget(sessionId) {
|
|
156
|
+
this.sessions.delete(sessionId);
|
|
157
|
+
for (const key of this.cancellableToolCalls) {
|
|
158
|
+
if (key.startsWith(`${sessionId} `))
|
|
159
|
+
this.cancellableToolCalls.delete(key);
|
|
160
|
+
}
|
|
161
|
+
for (const [child, { parent }] of this.sessions) {
|
|
162
|
+
if (parent === sessionId)
|
|
163
|
+
this.forget(child);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
package/dist/v2/terminal.d.ts
CHANGED
|
@@ -35,6 +35,14 @@ export declare class V2Terminals {
|
|
|
35
35
|
terminal: v2.SessionUpdate[];
|
|
36
36
|
report: V1ToolCallReport | undefined;
|
|
37
37
|
};
|
|
38
|
+
/**
|
|
39
|
+
* The `terminal_update` that lets the client cancel the running terminal
|
|
40
|
+
* `terminalId` of the session `sessionId` with `terminal/cancel`, with its
|
|
41
|
+
* command, or undefined when the terminal is not running. `again` sends it
|
|
42
|
+
* also when the terminal advertises the capability already, as the current
|
|
43
|
+
* state of the terminal.
|
|
44
|
+
*/
|
|
45
|
+
advertiseCancel(sessionId: string, terminalId: string, again?: boolean): v2.SessionUpdate | undefined;
|
|
38
46
|
/** Forgets the terminals of a session. */
|
|
39
47
|
forget(sessionId: string): void;
|
|
40
48
|
}
|