@agentclientprotocol/claude-agent-acp 0.99.2-preview.9 → 0.100.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.
- package/dist/acp-agent.d.ts +63 -17
- package/dist/acp-agent.d.ts.map +1 -1
- package/dist/acp-agent.js +125 -49
- package/dist/background-work.d.ts +188 -0
- package/dist/background-work.d.ts.map +1 -0
- package/dist/background-work.js +384 -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
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import type { AcpSessionNotification } from "./acp-subagents.js";
|
|
2
|
+
import type { NativeSubagent } from "./native-subagents.js";
|
|
3
|
+
import { type AcpToolCallRenderer } from "./tool-calls/renderer.js";
|
|
4
|
+
/** An item of a `background` list. */
|
|
5
|
+
export type BackgroundItem = {
|
|
6
|
+
type: "terminal";
|
|
7
|
+
terminalId: string;
|
|
8
|
+
} | {
|
|
9
|
+
type: "tool_call";
|
|
10
|
+
toolCallId: string;
|
|
11
|
+
} | {
|
|
12
|
+
type: "subagent";
|
|
13
|
+
sessionId: string;
|
|
14
|
+
} | {
|
|
15
|
+
type: "_claude/task";
|
|
16
|
+
taskId: string;
|
|
17
|
+
description: string;
|
|
18
|
+
};
|
|
19
|
+
/** A tool call whose task runs on in the background (see `Session.backgroundToolCalls`). */
|
|
20
|
+
export interface BackgroundToolCall {
|
|
21
|
+
toolCallId: string;
|
|
22
|
+
/** The tool use of the call, which Claude Code no longer caches after its result. */
|
|
23
|
+
toolUse: {
|
|
24
|
+
name: string;
|
|
25
|
+
input: unknown;
|
|
26
|
+
};
|
|
27
|
+
/** The subagent tool call that made the call, if any. */
|
|
28
|
+
parentToolUseId?: string;
|
|
29
|
+
paused?: boolean;
|
|
30
|
+
}
|
|
31
|
+
/** How a background task ended, as Claude Code reports it. Undefined when it did not say. */
|
|
32
|
+
export type BackgroundTaskEnd = "completed" | "failed" | "stopped" | undefined;
|
|
33
|
+
/** The live background task set of `background_tasks_changed`, by task id. */
|
|
34
|
+
export type BackgroundLevel = Map<string, {
|
|
35
|
+
ambient: boolean;
|
|
36
|
+
taskType: string;
|
|
37
|
+
description: string;
|
|
38
|
+
parentTaskId?: string;
|
|
39
|
+
}>;
|
|
40
|
+
/** The work state of a session, as its `state_update` names it. */
|
|
41
|
+
export type WorkStateName = "idle" | "running" | "requires_action" | "unknown";
|
|
42
|
+
/** A new list of the session `sessionId`, with what its repeated state needs. */
|
|
43
|
+
export interface BackgroundReport {
|
|
44
|
+
sessionId: string;
|
|
45
|
+
items: BackgroundItem[];
|
|
46
|
+
/** The session's work state now, or undefined when it has none yet. */
|
|
47
|
+
state: WorkStateName | undefined;
|
|
48
|
+
/** The parent of a subagent session, which mirrors the child's state. */
|
|
49
|
+
parentSessionId?: string;
|
|
50
|
+
}
|
|
51
|
+
/** Where the agent reports the lists (see the agent's `background` option). */
|
|
52
|
+
export interface BackgroundSink {
|
|
53
|
+
/** The list of a session changed, or is reported for the first time. */
|
|
54
|
+
changed(report: BackgroundReport): void;
|
|
55
|
+
/** The session ended: its list is no longer reported. */
|
|
56
|
+
forget(sessionId: string): void;
|
|
57
|
+
}
|
|
58
|
+
/** The state of a session that its lists are built from. */
|
|
59
|
+
export interface BackgroundWorkSession {
|
|
60
|
+
reportsBackground?: boolean;
|
|
61
|
+
backgroundLevel?: BackgroundLevel;
|
|
62
|
+
backgroundTerminals?: Map<string, {
|
|
63
|
+
toolCallId: string;
|
|
64
|
+
parentToolUseId?: string;
|
|
65
|
+
}>;
|
|
66
|
+
backgroundToolCalls?: Map<string, BackgroundToolCall>;
|
|
67
|
+
nativeSubagentsByTaskId?: Map<string, NativeSubagent>;
|
|
68
|
+
liveBackgroundTasks?: Map<string, {
|
|
69
|
+
parentToolUseId?: string;
|
|
70
|
+
isSubagent: boolean;
|
|
71
|
+
}>;
|
|
72
|
+
/** The tool uses whose result has not come yet, by id. */
|
|
73
|
+
toolUseCache?: Record<string, unknown>;
|
|
74
|
+
query: {
|
|
75
|
+
stopTask(taskId: string): Promise<void>;
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Registers each tool call of a tool result message whose task goes on in
|
|
80
|
+
* the background: a `Monitor` or `Workflow` call, whose structured result
|
|
81
|
+
* names its task, or a call that a live task names as its tool use, such as
|
|
82
|
+
* a backgrounded MCP call. The task must be in the level: one that ended
|
|
83
|
+
* already, or that Claude Code marks `ambient`, leaves its call as it is.
|
|
84
|
+
* Returns the ids of the calls, whose result then reports `in_progress` (see
|
|
85
|
+
* `withRunningToolCall`).
|
|
86
|
+
*/
|
|
87
|
+
export declare function registerBackgroundToolCalls(session: BackgroundWorkSession, content: unknown, toolUseResult: unknown, toolUses: Record<string, {
|
|
88
|
+
name: string;
|
|
89
|
+
input: unknown;
|
|
90
|
+
}>, parentToolUseId: string | null): Set<string>;
|
|
91
|
+
/** The level of a `background_tasks_changed` payload. */
|
|
92
|
+
export declare function backgroundLevel(tasks: {
|
|
93
|
+
task_id: string;
|
|
94
|
+
task_type: string;
|
|
95
|
+
description: string;
|
|
96
|
+
parent_task_id?: string;
|
|
97
|
+
ambient?: boolean;
|
|
98
|
+
}[]): BackgroundLevel;
|
|
99
|
+
/**
|
|
100
|
+
* The `background` list of the root session `rootSessionId` and of each of
|
|
101
|
+
* its announced subagent sessions, by session id, deeper sessions first and
|
|
102
|
+
* the root last. Each list is empty while
|
|
103
|
+
* the level has not been reported: Claude Code sends none before the first
|
|
104
|
+
* background task starts.
|
|
105
|
+
*/
|
|
106
|
+
export declare function backgroundLists(session: BackgroundWorkSession, rootSessionId: string): Map<string, BackgroundItem[]>;
|
|
107
|
+
/**
|
|
108
|
+
* The tasks of the terminals and tool calls that `level` does not hold:
|
|
109
|
+
* Claude Code no longer runs them, so they end before a list drops them, as
|
|
110
|
+
* v2 requires. A terminal or tool call is registered at its tool result,
|
|
111
|
+
* after its task joined the level, so a later level without the task means
|
|
112
|
+
* that it ended. Claude Code usually sends a task's end before that level,
|
|
113
|
+
* which ends them first, but the SDK does not promise that order.
|
|
114
|
+
*/
|
|
115
|
+
export declare function droppedTasks(session: BackgroundWorkSession, level: BackgroundLevel): string[];
|
|
116
|
+
/**
|
|
117
|
+
* Removes the terminal of the background command `taskId` of the session
|
|
118
|
+
* `sessionId`, and returns the update that exits it, or undefined when the
|
|
119
|
+
* command has no terminal. Claude Code reports no exit code for it, and
|
|
120
|
+
* `completed` does not mean 0: Claude Code accepts some non-zero codes as a
|
|
121
|
+
* success, such as grep's 1.
|
|
122
|
+
*/
|
|
123
|
+
export declare function takeBackgroundTerminalExit(session: BackgroundWorkSession, sessionId: string, taskId: string): AcpSessionNotification | undefined;
|
|
124
|
+
/**
|
|
125
|
+
* Removes the background tool call of the task `taskId` of the session
|
|
126
|
+
* `sessionId`, and returns the update that gives it its final status, or
|
|
127
|
+
* undefined when the task has no such call. A task that Claude Code stopped
|
|
128
|
+
* is `cancelled`. One that ended without saying how, such as one that the
|
|
129
|
+
* level dropped, is `completed`: it no longer runs, and reported no failure.
|
|
130
|
+
*/
|
|
131
|
+
export declare function takeBackgroundToolCallEnd(session: BackgroundWorkSession, sessionId: string, taskId: string, end: BackgroundTaskEnd): AcpSessionNotification | undefined;
|
|
132
|
+
/**
|
|
133
|
+
* The update that reports the background tool call of the task `taskId` as
|
|
134
|
+
* `paused`, or as `in_progress` again, when `paused` changes it. Claude Code
|
|
135
|
+
* pauses a workflow this way.
|
|
136
|
+
*/
|
|
137
|
+
export declare function backgroundToolCallPause(session: BackgroundWorkSession, sessionId: string, taskId: string, paused: boolean): AcpSessionNotification | undefined;
|
|
138
|
+
/**
|
|
139
|
+
* The current state of each background tool call in `toolCallIds` of the
|
|
140
|
+
* root session `sessionId`: the call as `renderer` shows its tool use, with
|
|
141
|
+
* its status now (see `ClaudeAcpAgent.publishBackgroundToolCalls`).
|
|
142
|
+
*/
|
|
143
|
+
export declare function backgroundToolCallStates(session: BackgroundWorkSession & {
|
|
144
|
+
cwd: string;
|
|
145
|
+
}, sessionId: string, toolCallIds: string[], renderer: AcpToolCallRenderer): AcpSessionNotification[];
|
|
146
|
+
/**
|
|
147
|
+
* Ends the background work of a session whose query closed: Claude Code's
|
|
148
|
+
* background tasks end with its process. Returns the updates that exit the
|
|
149
|
+
* root session's terminals and cancel its tool calls, and empties the level,
|
|
150
|
+
* so the next lists are empty. A subagent's command or tool call is left as
|
|
151
|
+
* it was: it is on the child's stream, which the closed query's routing
|
|
152
|
+
* owned.
|
|
153
|
+
*/
|
|
154
|
+
export declare function endBackgroundWork(session: BackgroundWorkSession, sessionId: string): AcpSessionNotification[];
|
|
155
|
+
/**
|
|
156
|
+
* Stops the task of a terminal or tool call that the session `sessionId`
|
|
157
|
+
* lists (v2 `terminal/cancel` and `tool_call/cancel`). `sessions` are the
|
|
158
|
+
* root sessions, by id: a subagent session's list is built with its root's.
|
|
159
|
+
* The terminal exits, or the tool call gets its final status, when Claude
|
|
160
|
+
* Code reports the task stopped.
|
|
161
|
+
*/
|
|
162
|
+
export declare function cancelBackgroundWork(sessions: Record<string, BackgroundWorkSession>, sessionId: string, target: {
|
|
163
|
+
terminalId: string;
|
|
164
|
+
} | {
|
|
165
|
+
toolCallId: string;
|
|
166
|
+
}): Promise<void>;
|
|
167
|
+
/**
|
|
168
|
+
* Publishes the lists of each session that reports them, each time one
|
|
169
|
+
* changes. The sink sends them to the client synchronously, so a list follows
|
|
170
|
+
* the updates sent before it.
|
|
171
|
+
*/
|
|
172
|
+
export declare class BackgroundWorkReporter {
|
|
173
|
+
private readonly sink?;
|
|
174
|
+
/** The list last published for each session, as JSON, and the root session it is built with. */
|
|
175
|
+
private readonly published;
|
|
176
|
+
constructor(sink?: BackgroundSink | undefined);
|
|
177
|
+
/** Whether the lists are reported at all. */
|
|
178
|
+
get enabled(): boolean;
|
|
179
|
+
/**
|
|
180
|
+
* Publishes each list of the root session `rootSessionId` that changed. The
|
|
181
|
+
* first call for a session publishes its list, also when it is empty.
|
|
182
|
+
* `rootState` is the root session's state now.
|
|
183
|
+
*/
|
|
184
|
+
sync(rootSessionId: string, session: BackgroundWorkSession, rootState: WorkStateName): void;
|
|
185
|
+
/** The root session `rootSessionId` ended, and its subagent sessions with it. */
|
|
186
|
+
forget(rootSessionId: string): void;
|
|
187
|
+
}
|
|
188
|
+
//# sourceMappingURL=background-work.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"background-work.d.ts","sourceRoot":"","sources":["../src/background-work.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,384 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The background work of a session: the work that Claude Code keeps running
|
|
3
|
+
* independently of the session's foreground work, which ACP v2 lists on every
|
|
4
|
+
* `state_update` of the session as `background` (the v2 prompt lifecycle,
|
|
5
|
+
* "Background work").
|
|
6
|
+
*
|
|
7
|
+
* The lists are built from Claude Code's live background task set
|
|
8
|
+
* (`background_tasks_changed`), without the tasks it marks `ambient`, which
|
|
9
|
+
* are housekeeping that it started on its own. The root session and each
|
|
10
|
+
* announced subagent session (the subagents RFD form) has its own list. Each
|
|
11
|
+
* task is listed once, in the list of the session that runs it:
|
|
12
|
+
*
|
|
13
|
+
* - A command that went to the background: its display terminal, from the
|
|
14
|
+
* Bash tool result until its task ends (`Session.backgroundTerminals`).
|
|
15
|
+
* - A detached subagent: its child session, in its parent's list, while it
|
|
16
|
+
* works, and while it is idle with background work of its own.
|
|
17
|
+
* - A task that a tool call started, such as a `Monitor`, a `Workflow` or a
|
|
18
|
+
* backgrounded MCP call: that tool call, kept `in_progress` (or `paused`)
|
|
19
|
+
* from its tool result until its task ends (`Session.backgroundToolCalls`).
|
|
20
|
+
* - Any other task, once its `task_started` came and the tool call that
|
|
21
|
+
* started it, if any, returned: a `_claude/task` item with the task's id
|
|
22
|
+
* and description. For example, a task whose tool call ended before the
|
|
23
|
+
* task joined the level.
|
|
24
|
+
*
|
|
25
|
+
* Only a session whose interrupt spares background tasks reports its lists
|
|
26
|
+
* (`Session.reportsBackground`): `session/cancel` must leave listed work
|
|
27
|
+
* running.
|
|
28
|
+
*/
|
|
29
|
+
import { RequestError } from "@agentclientprotocol/sdk/unstable";
|
|
30
|
+
import { V2_CANCELLED, V2_PAUSED } from "./tool-calls/renderer.js";
|
|
31
|
+
/** The tools whose structured result names the task that the call started. */
|
|
32
|
+
const TASK_TOOLS = new Set(["Monitor", "Workflow"]);
|
|
33
|
+
/**
|
|
34
|
+
* Registers each tool call of a tool result message whose task goes on in
|
|
35
|
+
* the background: a `Monitor` or `Workflow` call, whose structured result
|
|
36
|
+
* names its task, or a call that a live task names as its tool use, such as
|
|
37
|
+
* a backgrounded MCP call. The task must be in the level: one that ended
|
|
38
|
+
* already, or that Claude Code marks `ambient`, leaves its call as it is.
|
|
39
|
+
* Returns the ids of the calls, whose result then reports `in_progress` (see
|
|
40
|
+
* `withRunningToolCall`).
|
|
41
|
+
*/
|
|
42
|
+
export function registerBackgroundToolCalls(session, content, toolUseResult, toolUses, parentToolUseId) {
|
|
43
|
+
const registered = new Set();
|
|
44
|
+
if (!session.reportsBackground || !Array.isArray(content))
|
|
45
|
+
return registered;
|
|
46
|
+
const results = content.filter((block) => typeof block === "object" &&
|
|
47
|
+
block !== null &&
|
|
48
|
+
block.type === "tool_result" &&
|
|
49
|
+
typeof block.tool_use_id === "string" &&
|
|
50
|
+
block.is_error !== true);
|
|
51
|
+
const structuredTaskId = results.length === 1 &&
|
|
52
|
+
typeof toolUseResult === "object" &&
|
|
53
|
+
toolUseResult !== null &&
|
|
54
|
+
typeof toolUseResult.taskId === "string"
|
|
55
|
+
? toolUseResult.taskId
|
|
56
|
+
: undefined;
|
|
57
|
+
for (const { tool_use_id: toolCallId } of results) {
|
|
58
|
+
const toolUse = toolUses[toolCallId];
|
|
59
|
+
if (!toolUse)
|
|
60
|
+
continue;
|
|
61
|
+
const taskId = (TASK_TOOLS.has(toolUse.name) ? structuredTaskId : undefined) ??
|
|
62
|
+
[...(session.liveBackgroundTasks ?? [])].find(([, task]) => task.parentToolUseId === toolCallId && !task.isSubagent)?.[0];
|
|
63
|
+
const task = taskId === undefined ? undefined : session.backgroundLevel?.get(taskId);
|
|
64
|
+
if (!task ||
|
|
65
|
+
task.ambient ||
|
|
66
|
+
task.taskType === "local_bash" ||
|
|
67
|
+
task.taskType === "local_agent") {
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
(session.backgroundToolCalls ??= new Map()).set(taskId, {
|
|
71
|
+
toolCallId,
|
|
72
|
+
toolUse,
|
|
73
|
+
...(parentToolUseId ? { parentToolUseId } : {}),
|
|
74
|
+
});
|
|
75
|
+
registered.add(toolCallId);
|
|
76
|
+
}
|
|
77
|
+
return registered;
|
|
78
|
+
}
|
|
79
|
+
/** The level of a `background_tasks_changed` payload. */
|
|
80
|
+
export function backgroundLevel(tasks) {
|
|
81
|
+
return new Map(tasks.map((task) => [
|
|
82
|
+
task.task_id,
|
|
83
|
+
{
|
|
84
|
+
ambient: task.ambient === true,
|
|
85
|
+
taskType: task.task_type,
|
|
86
|
+
description: task.description,
|
|
87
|
+
...(task.parent_task_id !== undefined ? { parentTaskId: task.parent_task_id } : {}),
|
|
88
|
+
},
|
|
89
|
+
]));
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* The `background` list of the root session `rootSessionId` and of each of
|
|
93
|
+
* its announced subagent sessions, by session id, deeper sessions first and
|
|
94
|
+
* the root last. Each list is empty while
|
|
95
|
+
* the level has not been reported: Claude Code sends none before the first
|
|
96
|
+
* background task starts.
|
|
97
|
+
*/
|
|
98
|
+
export function backgroundLists(session, rootSessionId) {
|
|
99
|
+
const children = [...(session.nativeSubagentsByTaskId ?? [])].filter(([, child]) => child.announced);
|
|
100
|
+
const childByTask = new Map(children);
|
|
101
|
+
const childByToolUse = new Map(children.flatMap(([, child]) => child.parentToolUseId ? [[child.parentToolUseId, child]] : []));
|
|
102
|
+
const lists = new Map([
|
|
103
|
+
[rootSessionId, []],
|
|
104
|
+
...children.map(([, child]) => [child.sessionId, []]),
|
|
105
|
+
]);
|
|
106
|
+
const level = session.backgroundLevel ?? new Map();
|
|
107
|
+
for (const [taskId, task] of level) {
|
|
108
|
+
if (task.ambient)
|
|
109
|
+
continue;
|
|
110
|
+
// A subagent's command or tool call runs on the child's stream.
|
|
111
|
+
const ownerOf = (parentToolUseId) => parentToolUseId ? childByToolUse.get(parentToolUseId)?.sessionId : rootSessionId;
|
|
112
|
+
const terminal = session.backgroundTerminals?.get(taskId);
|
|
113
|
+
if (terminal) {
|
|
114
|
+
const owner = ownerOf(terminal.parentToolUseId);
|
|
115
|
+
if (owner)
|
|
116
|
+
lists.get(owner).push({ type: "terminal", terminalId: terminal.toolCallId });
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
119
|
+
const toolCall = session.backgroundToolCalls?.get(taskId);
|
|
120
|
+
if (toolCall) {
|
|
121
|
+
const owner = ownerOf(toolCall.parentToolUseId);
|
|
122
|
+
if (owner)
|
|
123
|
+
lists.get(owner).push({ type: "tool_call", toolCallId: toolCall.toolCallId });
|
|
124
|
+
continue;
|
|
125
|
+
}
|
|
126
|
+
// A command without a terminal yet is one that foreground work waits on.
|
|
127
|
+
// A subagent is listed below, as its session.
|
|
128
|
+
if (task.taskType === "local_bash" || task.taskType === "local_agent")
|
|
129
|
+
continue;
|
|
130
|
+
// A task joins the level before its `task_started`, and before the tool
|
|
131
|
+
// call that starts it returns. Until both, the task is unknown or part of
|
|
132
|
+
// that tool call, which the foreground work waits on. Claude Code drops a
|
|
133
|
+
// tool use from its cache at the tool's result.
|
|
134
|
+
const live = session.liveBackgroundTasks?.get(taskId);
|
|
135
|
+
if (!live || (live.parentToolUseId && session.toolUseCache?.[live.parentToolUseId])) {
|
|
136
|
+
continue;
|
|
137
|
+
}
|
|
138
|
+
const parent = task.parentTaskId ? childByTask.get(task.parentTaskId) : undefined;
|
|
139
|
+
lists
|
|
140
|
+
.get(parent?.sessionId ?? rootSessionId)
|
|
141
|
+
.push({ type: "_claude/task", taskId, description: task.description });
|
|
142
|
+
}
|
|
143
|
+
// A child is listed in its parent's list while it works in the background,
|
|
144
|
+
// and while it is idle with background work of its own. Deeper children
|
|
145
|
+
// first, so a child's list is whole before its parent's reads it.
|
|
146
|
+
const sessions = new Map(children.map(([, child]) => [child.sessionId, child]));
|
|
147
|
+
const depth = (child) => {
|
|
148
|
+
const parent = sessions.get(child.parentSessionId);
|
|
149
|
+
return parent ? depth(parent) + 1 : 0;
|
|
150
|
+
};
|
|
151
|
+
for (const [taskId, child] of children.sort(([, a], [, b]) => depth(b) - depth(a))) {
|
|
152
|
+
const task = level.get(taskId);
|
|
153
|
+
const working = child.workState !== undefined &&
|
|
154
|
+
child.workState !== "idle" &&
|
|
155
|
+
task !== undefined &&
|
|
156
|
+
!task.ambient;
|
|
157
|
+
if (working || lists.get(child.sessionId).length > 0) {
|
|
158
|
+
lists.get(child.parentSessionId)?.push({ type: "subagent", sessionId: child.sessionId });
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
// In the same order, the root last: a child's own list goes out before its
|
|
162
|
+
// parent's list drops it.
|
|
163
|
+
return new Map([
|
|
164
|
+
...children.map(([, child]) => [
|
|
165
|
+
child.sessionId,
|
|
166
|
+
lists.get(child.sessionId),
|
|
167
|
+
]),
|
|
168
|
+
[rootSessionId, lists.get(rootSessionId)],
|
|
169
|
+
]);
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* The tasks of the terminals and tool calls that `level` does not hold:
|
|
173
|
+
* Claude Code no longer runs them, so they end before a list drops them, as
|
|
174
|
+
* v2 requires. A terminal or tool call is registered at its tool result,
|
|
175
|
+
* after its task joined the level, so a later level without the task means
|
|
176
|
+
* that it ended. Claude Code usually sends a task's end before that level,
|
|
177
|
+
* which ends them first, but the SDK does not promise that order.
|
|
178
|
+
*/
|
|
179
|
+
export function droppedTasks(session, level) {
|
|
180
|
+
return [
|
|
181
|
+
...(session.backgroundTerminals?.keys() ?? []),
|
|
182
|
+
...(session.backgroundToolCalls?.keys() ?? []),
|
|
183
|
+
].filter((taskId) => !level.has(taskId));
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Removes the terminal of the background command `taskId` of the session
|
|
187
|
+
* `sessionId`, and returns the update that exits it, or undefined when the
|
|
188
|
+
* command has no terminal. Claude Code reports no exit code for it, and
|
|
189
|
+
* `completed` does not mean 0: Claude Code accepts some non-zero codes as a
|
|
190
|
+
* success, such as grep's 1.
|
|
191
|
+
*/
|
|
192
|
+
export function takeBackgroundTerminalExit(session, sessionId, taskId) {
|
|
193
|
+
const terminal = session.backgroundTerminals?.get(taskId);
|
|
194
|
+
if (!terminal)
|
|
195
|
+
return undefined;
|
|
196
|
+
session.backgroundTerminals.delete(taskId);
|
|
197
|
+
return {
|
|
198
|
+
sessionId,
|
|
199
|
+
update: {
|
|
200
|
+
sessionUpdate: "tool_call_update",
|
|
201
|
+
toolCallId: terminal.toolCallId,
|
|
202
|
+
_meta: {
|
|
203
|
+
...(terminal.parentToolUseId
|
|
204
|
+
? { claudeCode: { parentToolUseId: terminal.parentToolUseId } }
|
|
205
|
+
: {}),
|
|
206
|
+
terminal_exit: { terminal_id: terminal.toolCallId, exit_code: null, signal: null },
|
|
207
|
+
},
|
|
208
|
+
},
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Removes the background tool call of the task `taskId` of the session
|
|
213
|
+
* `sessionId`, and returns the update that gives it its final status, or
|
|
214
|
+
* undefined when the task has no such call. A task that Claude Code stopped
|
|
215
|
+
* is `cancelled`. One that ended without saying how, such as one that the
|
|
216
|
+
* level dropped, is `completed`: it no longer runs, and reported no failure.
|
|
217
|
+
*/
|
|
218
|
+
export function takeBackgroundToolCallEnd(session, sessionId, taskId, end) {
|
|
219
|
+
const toolCall = session.backgroundToolCalls?.get(taskId);
|
|
220
|
+
if (!toolCall)
|
|
221
|
+
return undefined;
|
|
222
|
+
session.backgroundToolCalls.delete(taskId);
|
|
223
|
+
return toolCallStatusUpdate(sessionId, toolCall, end === "stopped" ? V2_CANCELLED : end === "failed" ? "failed" : "completed");
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* The update that reports the background tool call of the task `taskId` as
|
|
227
|
+
* `paused`, or as `in_progress` again, when `paused` changes it. Claude Code
|
|
228
|
+
* pauses a workflow this way.
|
|
229
|
+
*/
|
|
230
|
+
export function backgroundToolCallPause(session, sessionId, taskId, paused) {
|
|
231
|
+
const toolCall = session.backgroundToolCalls?.get(taskId);
|
|
232
|
+
if (!toolCall || (toolCall.paused ?? false) === paused)
|
|
233
|
+
return undefined;
|
|
234
|
+
toolCall.paused = paused;
|
|
235
|
+
return toolCallStatusUpdate(sessionId, toolCall, paused ? V2_PAUSED : "in_progress");
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* The current state of each background tool call in `toolCallIds` of the
|
|
239
|
+
* root session `sessionId`: the call as `renderer` shows its tool use, with
|
|
240
|
+
* its status now (see `ClaudeAcpAgent.publishBackgroundToolCalls`).
|
|
241
|
+
*/
|
|
242
|
+
export function backgroundToolCallStates(session, sessionId, toolCallIds, renderer) {
|
|
243
|
+
return [...(session.backgroundToolCalls?.values() ?? [])]
|
|
244
|
+
.filter((toolCall) => toolCallIds.includes(toolCall.toolCallId))
|
|
245
|
+
.map((toolCall) => {
|
|
246
|
+
const update = renderer.toolCall({ id: toolCall.toolCallId, ...toolCall.toolUse }, { cwd: session.cwd });
|
|
247
|
+
const status = toolCall.paused ? V2_PAUSED : "in_progress";
|
|
248
|
+
return { sessionId, update: { ...update, status } };
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
function toolCallStatusUpdate(sessionId, toolCall, status) {
|
|
252
|
+
return {
|
|
253
|
+
sessionId,
|
|
254
|
+
update: {
|
|
255
|
+
sessionUpdate: "tool_call_update",
|
|
256
|
+
toolCallId: toolCall.toolCallId,
|
|
257
|
+
status,
|
|
258
|
+
...(toolCall.parentToolUseId
|
|
259
|
+
? { _meta: { claudeCode: { parentToolUseId: toolCall.parentToolUseId } } }
|
|
260
|
+
: {}),
|
|
261
|
+
},
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Ends the background work of a session whose query closed: Claude Code's
|
|
266
|
+
* background tasks end with its process. Returns the updates that exit the
|
|
267
|
+
* root session's terminals and cancel its tool calls, and empties the level,
|
|
268
|
+
* so the next lists are empty. A subagent's command or tool call is left as
|
|
269
|
+
* it was: it is on the child's stream, which the closed query's routing
|
|
270
|
+
* owned.
|
|
271
|
+
*/
|
|
272
|
+
export function endBackgroundWork(session, sessionId) {
|
|
273
|
+
if (!session.reportsBackground)
|
|
274
|
+
return [];
|
|
275
|
+
const exits = [...(session.backgroundTerminals ?? [])].flatMap(([taskId, terminal]) => {
|
|
276
|
+
const exit = terminal.parentToolUseId
|
|
277
|
+
? undefined
|
|
278
|
+
: takeBackgroundTerminalExit(session, sessionId, taskId);
|
|
279
|
+
return exit ? [exit] : [];
|
|
280
|
+
});
|
|
281
|
+
const ends = [...(session.backgroundToolCalls ?? [])].flatMap(([taskId, toolCall]) => {
|
|
282
|
+
const end = toolCall.parentToolUseId
|
|
283
|
+
? undefined
|
|
284
|
+
: takeBackgroundToolCallEnd(session, sessionId, taskId, "stopped");
|
|
285
|
+
return end ? [end] : [];
|
|
286
|
+
});
|
|
287
|
+
session.backgroundLevel = undefined;
|
|
288
|
+
return [...exits, ...ends];
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Stops the task of a terminal or tool call that the session `sessionId`
|
|
292
|
+
* lists (v2 `terminal/cancel` and `tool_call/cancel`). `sessions` are the
|
|
293
|
+
* root sessions, by id: a subagent session's list is built with its root's.
|
|
294
|
+
* The terminal exits, or the tool call gets its final status, when Claude
|
|
295
|
+
* Code reports the task stopped.
|
|
296
|
+
*/
|
|
297
|
+
export async function cancelBackgroundWork(sessions, sessionId, target) {
|
|
298
|
+
const notCancellable = () => "terminalId" in target
|
|
299
|
+
? RequestError.invalidParams({ sessionId, terminalId: target.terminalId }, `Terminal ${target.terminalId} is not a command running in the background, so it cannot be cancelled.`)
|
|
300
|
+
: RequestError.invalidParams({ sessionId, toolCallId: target.toolCallId }, `Tool call ${target.toolCallId} is not running in the background, so it cannot be cancelled.`);
|
|
301
|
+
const isTarget = (item) => "terminalId" in target
|
|
302
|
+
? item.type === "terminal" && item.terminalId === target.terminalId
|
|
303
|
+
: item.type === "tool_call" && item.toolCallId === target.toolCallId;
|
|
304
|
+
const listed = (root, session) => session.reportsBackground === true &&
|
|
305
|
+
(backgroundLists(session, root).get(sessionId)?.some(isTarget) ?? false);
|
|
306
|
+
const owner = Object.entries(sessions).find(([root, session]) => listed(root, session));
|
|
307
|
+
if (!owner)
|
|
308
|
+
throw notCancellable();
|
|
309
|
+
const [root, session] = owner;
|
|
310
|
+
const id = "terminalId" in target ? target.terminalId : target.toolCallId;
|
|
311
|
+
const taskId = [
|
|
312
|
+
...(("terminalId" in target ? session.backgroundTerminals : session.backgroundToolCalls) ?? []),
|
|
313
|
+
].find(([, entry]) => entry.toolCallId === id)[0];
|
|
314
|
+
try {
|
|
315
|
+
await session.query.stopTask(taskId);
|
|
316
|
+
}
|
|
317
|
+
catch (error) {
|
|
318
|
+
// The task ended meanwhile: it has ended on the client too, or is about to.
|
|
319
|
+
if (!listed(root, session))
|
|
320
|
+
throw notCancellable();
|
|
321
|
+
throw error;
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* Publishes the lists of each session that reports them, each time one
|
|
326
|
+
* changes. The sink sends them to the client synchronously, so a list follows
|
|
327
|
+
* the updates sent before it.
|
|
328
|
+
*/
|
|
329
|
+
export class BackgroundWorkReporter {
|
|
330
|
+
sink;
|
|
331
|
+
/** The list last published for each session, as JSON, and the root session it is built with. */
|
|
332
|
+
published = new Map();
|
|
333
|
+
constructor(sink) {
|
|
334
|
+
this.sink = sink;
|
|
335
|
+
}
|
|
336
|
+
/** Whether the lists are reported at all. */
|
|
337
|
+
get enabled() {
|
|
338
|
+
return this.sink !== undefined;
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* Publishes each list of the root session `rootSessionId` that changed. The
|
|
342
|
+
* first call for a session publishes its list, also when it is empty.
|
|
343
|
+
* `rootState` is the root session's state now.
|
|
344
|
+
*/
|
|
345
|
+
sync(rootSessionId, session, rootState) {
|
|
346
|
+
if (!this.sink || !session.reportsBackground)
|
|
347
|
+
return;
|
|
348
|
+
const children = new Map([...(session.nativeSubagentsByTaskId?.values() ?? [])].map((child) => [
|
|
349
|
+
child.sessionId,
|
|
350
|
+
child,
|
|
351
|
+
]));
|
|
352
|
+
for (const [sessionId, items] of backgroundLists(session, rootSessionId)) {
|
|
353
|
+
const json = JSON.stringify(items);
|
|
354
|
+
if (this.published.get(sessionId)?.json === json)
|
|
355
|
+
continue;
|
|
356
|
+
this.published.set(sessionId, { json, root: rootSessionId });
|
|
357
|
+
const child = children.get(sessionId);
|
|
358
|
+
this.sink.changed({
|
|
359
|
+
sessionId,
|
|
360
|
+
items,
|
|
361
|
+
state: child ? workStateName(child.workState) : rootState,
|
|
362
|
+
...(child ? { parentSessionId: child.parentSessionId } : {}),
|
|
363
|
+
});
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
/** The root session `rootSessionId` ended, and its subagent sessions with it. */
|
|
367
|
+
forget(rootSessionId) {
|
|
368
|
+
for (const [sessionId, { root }] of this.published) {
|
|
369
|
+
if (root !== rootSessionId)
|
|
370
|
+
continue;
|
|
371
|
+
this.published.delete(sessionId);
|
|
372
|
+
this.sink?.forget(sessionId);
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
/** A child's work state, when it is one that v2 names. */
|
|
377
|
+
function workStateName(state) {
|
|
378
|
+
return state === "idle" ||
|
|
379
|
+
state === "running" ||
|
|
380
|
+
state === "requires_action" ||
|
|
381
|
+
state === "unknown"
|
|
382
|
+
? state
|
|
383
|
+
: undefined;
|
|
384
|
+
}
|
|
@@ -218,6 +218,13 @@ export declare class NativeSubagentRuntime {
|
|
|
218
218
|
* `sessionId` of this live session, or undefined when no such child runs here.
|
|
219
219
|
*/
|
|
220
220
|
liveWorkState(sessionId: string): WorkState["state"] | undefined;
|
|
221
|
+
/**
|
|
222
|
+
* The RFD form: the `subagent_update` that tells a client that holds nothing
|
|
223
|
+
* of the announced child `sessionId` of this live session what it is now:
|
|
224
|
+
* its labels, its directory, its `cancel` capability, and its work state.
|
|
225
|
+
* Undefined when no such child runs here.
|
|
226
|
+
*/
|
|
227
|
+
currentUpdate(sessionId: string): AcpSessionNotification | undefined;
|
|
221
228
|
/**
|
|
222
229
|
* Reports the model of a child response, an exact model id, as the entry of
|
|
223
230
|
* the root session's `model` option that matches it, else as the id (see
|
|
@@ -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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"}
|