@agentclientprotocol/claude-agent-acp 0.100.0 → 0.100.1-preview.2
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 +8 -24
- package/dist/acp-agent.d.ts.map +1 -1
- package/dist/acp-agent.js +26 -29
- 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 +152 -92
- package/dist/background-work.d.ts.map +1 -1
- package/dist/background-work.js +354 -264
- package/dist/session-mode.d.ts +3 -3
- package/dist/session-mode.d.ts.map +1 -1
- package/dist/session-mode.js +55 -48
- package/package.json +1 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { AcpSessionNotification } from "./acp-subagents.js";
|
|
2
2
|
import type { NativeSubagent } from "./native-subagents.js";
|
|
3
3
|
import { type AcpToolCallRenderer } from "./tool-calls/renderer.js";
|
|
4
|
+
import { BackgroundOutputTail } from "./background-output.js";
|
|
4
5
|
/** An item of a `background` list. */
|
|
5
6
|
export type BackgroundItem = {
|
|
6
7
|
type: "terminal";
|
|
@@ -16,6 +17,17 @@ export type BackgroundItem = {
|
|
|
16
17
|
taskId: string;
|
|
17
18
|
description: string;
|
|
18
19
|
};
|
|
20
|
+
/** The display terminal of a command that went to the background (see `Session.backgroundTerminals`). */
|
|
21
|
+
export interface BackgroundTerminal {
|
|
22
|
+
/** The Bash tool call, whose id names the terminal. */
|
|
23
|
+
toolCallId: string;
|
|
24
|
+
/** The subagent tool call that ran the command, if any. */
|
|
25
|
+
parentToolUseId?: string;
|
|
26
|
+
/** The file that Claude Code writes the command's output to, from the Bash result. */
|
|
27
|
+
outputFilePath?: string;
|
|
28
|
+
/** Reads that file into the terminal while the command runs. */
|
|
29
|
+
output?: BackgroundOutputTail;
|
|
30
|
+
}
|
|
19
31
|
/** A tool call whose task runs on in the background (see `Session.backgroundToolCalls`). */
|
|
20
32
|
export interface BackgroundToolCall {
|
|
21
33
|
toolCallId: string;
|
|
@@ -55,115 +67,160 @@ export interface BackgroundSink {
|
|
|
55
67
|
/** The session ended: its list is no longer reported. */
|
|
56
68
|
forget(sessionId: string): void;
|
|
57
69
|
}
|
|
58
|
-
/**
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
}>;
|
|
66
|
-
backgroundToolCalls?: Map<string, BackgroundToolCall>;
|
|
67
|
-
nativeSubagentsByTaskId?: Map<string, NativeSubagent>;
|
|
68
|
-
liveBackgroundTasks?: Map<string, {
|
|
70
|
+
/**
|
|
71
|
+
* The state of a session that other modules own, and that the background
|
|
72
|
+
* work reads: Claude Code's tasks as the consumer tracks them, the subagent
|
|
73
|
+
* sessions, and the query that stops a task.
|
|
74
|
+
*/
|
|
75
|
+
export interface BackgroundOwner {
|
|
76
|
+
liveBackgroundTasks: Map<string, {
|
|
69
77
|
parentToolUseId?: string;
|
|
70
78
|
isSubagent: boolean;
|
|
71
79
|
}>;
|
|
72
|
-
|
|
73
|
-
toolUseCache?: Record<string, unknown>;
|
|
80
|
+
nativeSubagentsByTaskId?: Map<string, NativeSubagent>;
|
|
74
81
|
query: {
|
|
75
82
|
stopTask(taskId: string): Promise<void>;
|
|
76
83
|
};
|
|
77
84
|
}
|
|
78
|
-
/**
|
|
79
|
-
|
|
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: {
|
|
85
|
+
/** A task of a `background_tasks_changed` payload. */
|
|
86
|
+
export type LevelTask = {
|
|
93
87
|
task_id: string;
|
|
94
88
|
task_type: string;
|
|
95
89
|
description: string;
|
|
96
90
|
parent_task_id?: string;
|
|
97
91
|
ambient?: boolean;
|
|
98
|
-
}
|
|
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[];
|
|
92
|
+
};
|
|
146
93
|
/**
|
|
147
|
-
*
|
|
148
|
-
*
|
|
149
|
-
*
|
|
150
|
-
*
|
|
151
|
-
*
|
|
152
|
-
*
|
|
94
|
+
* The background work of one root session, and of its subagent sessions: the
|
|
95
|
+
* terminals and tool calls of the tasks that run in the background, and what
|
|
96
|
+
* the client is told of them.
|
|
97
|
+
*
|
|
98
|
+
* Terminals are kept for every client that renders them, as before the
|
|
99
|
+
* background lists. The rest is kept only when `reported`.
|
|
153
100
|
*/
|
|
154
|
-
export declare
|
|
101
|
+
export declare class SessionBackgroundWork {
|
|
102
|
+
private readonly sessionId;
|
|
103
|
+
readonly reported: boolean;
|
|
104
|
+
/** Claude Code's live background task set, from its last `background_tasks_changed`. */
|
|
105
|
+
private level;
|
|
106
|
+
/** The terminals of the commands that went to the background, by task id. */
|
|
107
|
+
private readonly terminals;
|
|
108
|
+
/** The tool calls whose tasks went on in the background, by task id. */
|
|
109
|
+
private readonly toolCalls;
|
|
110
|
+
/**
|
|
111
|
+
* The tool calls that returned, oldest first. A task that a call started
|
|
112
|
+
* is part of that call until it returns, and the foreground work waits on
|
|
113
|
+
* it. The task's `task_started` can come after the call returned. Bounded
|
|
114
|
+
* by {@link MAX_RETURNED_CALLS}: a task joins the level around the time its
|
|
115
|
+
* call returns.
|
|
116
|
+
*/
|
|
117
|
+
private readonly returned;
|
|
118
|
+
/**
|
|
119
|
+
* `reported`: whether the client gets the lists. Only when Claude Code's
|
|
120
|
+
* interrupt spares background tasks, as `perTaskStopAffordance` makes it.
|
|
121
|
+
*/
|
|
122
|
+
constructor(sessionId: string, reported: boolean);
|
|
123
|
+
/**
|
|
124
|
+
* Keeps the display terminal of the command `taskId` running after its Bash
|
|
125
|
+
* result, until its task ends (see `withRunningTerminal`).
|
|
126
|
+
*/
|
|
127
|
+
terminalStarted(taskId: string, terminal: BackgroundTerminal): void;
|
|
128
|
+
/**
|
|
129
|
+
* Reads what a tool result message tells of the background tasks:
|
|
130
|
+
*
|
|
131
|
+
* - The returned calls no longer hold the tasks that they started.
|
|
132
|
+
* - Each call whose task goes on in the background is registered: a
|
|
133
|
+
* `Monitor` or `Workflow` call, whose structured result names its task,
|
|
134
|
+
* or a call that a live task names as its tool use, such as a
|
|
135
|
+
* backgrounded MCP call. The task must be in the level: one that ended
|
|
136
|
+
* already, or that Claude Code marks `ambient`, leaves its call as it is.
|
|
137
|
+
*
|
|
138
|
+
* Returns the ids of the registered calls, whose result then reports
|
|
139
|
+
* `in_progress` (see `withRunningToolCall`).
|
|
140
|
+
*/
|
|
141
|
+
toolResults(owner: BackgroundOwner, content: unknown, toolUseResult: unknown, toolUses: Record<string, {
|
|
142
|
+
name: string;
|
|
143
|
+
input: unknown;
|
|
144
|
+
}>, parentToolUseId: string | null): Set<string>;
|
|
145
|
+
/**
|
|
146
|
+
* Starts reading the output of the background command `taskId` into its
|
|
147
|
+
* terminal, when the client gets the lists and the Bash result named the
|
|
148
|
+
* command's output file. `send` sends an update of the terminal's tool
|
|
149
|
+
* call, routed as the call's other updates. Called once the Bash result's
|
|
150
|
+
* own updates are sent: the first output replaces the placeholder that they
|
|
151
|
+
* gave the terminal.
|
|
152
|
+
*/
|
|
153
|
+
followOutput(taskId: string, send: Send): void;
|
|
154
|
+
/**
|
|
155
|
+
* The task `taskId` ended. Reads the rest of its command's output, then
|
|
156
|
+
* exits its terminal, and gives a tool call whose task it was its final
|
|
157
|
+
* status: `cancelled` for a task that Claude Code stopped, and `completed`
|
|
158
|
+
* for one that ended without saying how, such as one that the level
|
|
159
|
+
* dropped: it no longer runs, and reported no failure. Claude Code reports
|
|
160
|
+
* no exit code for a command, and `completed` does not mean 0: Claude Code
|
|
161
|
+
* accepts some non-zero codes as a success, such as grep's 1.
|
|
162
|
+
*/
|
|
163
|
+
taskEnded(taskId: string, end: BackgroundTaskEnd, send: Send): Promise<void>;
|
|
164
|
+
/**
|
|
165
|
+
* The update that reports the background tool call of the task `taskId` as
|
|
166
|
+
* `paused`, or as `in_progress` again, when `paused` changes it. Claude Code
|
|
167
|
+
* pauses a workflow this way.
|
|
168
|
+
*/
|
|
169
|
+
taskPaused(taskId: string, paused: boolean): AcpSessionNotification | undefined;
|
|
170
|
+
/**
|
|
171
|
+
* Takes Claude Code's new live background task set. The terminals and tool
|
|
172
|
+
* calls whose tasks it no longer holds end first, before a list drops them,
|
|
173
|
+
* as v2 requires. A terminal or tool call is registered at its tool result,
|
|
174
|
+
* after its task joined the level, so a later level without the task means
|
|
175
|
+
* that it ended. Claude Code usually sends a task's end before that level,
|
|
176
|
+
* which ends them first, but the SDK does not promise that order.
|
|
177
|
+
*/
|
|
178
|
+
levelChanged(tasks: LevelTask[], send: Send): Promise<void>;
|
|
179
|
+
/**
|
|
180
|
+
* The query closed: Claude Code's background tasks end with its process.
|
|
181
|
+
* Stops reading output, and returns the updates that exit the root
|
|
182
|
+
* session's terminals and cancel its tool calls. The level empties, so the
|
|
183
|
+
* next lists are empty. A subagent's command or tool call is left as it
|
|
184
|
+
* was: it is on the child's stream, which the closed query's routing owned.
|
|
185
|
+
*/
|
|
186
|
+
queryClosed(): AcpSessionNotification[];
|
|
187
|
+
/**
|
|
188
|
+
* The `background` list of the root session and of each of its announced
|
|
189
|
+
* subagent sessions, with what their repeated states need, deeper sessions
|
|
190
|
+
* first and the root last: a child's own list goes out before its parent's
|
|
191
|
+
* list drops it. Each list is empty while the level has not been reported:
|
|
192
|
+
* Claude Code sends none before the first background task starts.
|
|
193
|
+
*/
|
|
194
|
+
reports(owner: BackgroundOwner, rootState: WorkStateName): BackgroundReport[];
|
|
195
|
+
/**
|
|
196
|
+
* The current state of each background tool call in `toolCallIds`: the
|
|
197
|
+
* call as `renderer` shows its tool use, with its status now (see
|
|
198
|
+
* `ClaudeAcpAgent.publishBackgroundToolCalls`).
|
|
199
|
+
*/
|
|
200
|
+
toolCallStates(toolCallIds: string[], renderer: AcpToolCallRenderer, cwd: string): AcpSessionNotification[];
|
|
201
|
+
/**
|
|
202
|
+
* The task of the terminal or tool call `target` that the session
|
|
203
|
+
* `sessionId` lists, or undefined when it lists no such item.
|
|
204
|
+
*/
|
|
205
|
+
listedTask(owner: BackgroundOwner, sessionId: string, target: BackgroundTarget): string | undefined;
|
|
206
|
+
}
|
|
207
|
+
type Send = (notification: AcpSessionNotification) => Promise<void>;
|
|
208
|
+
/** A terminal or tool call that `terminal/cancel` or `tool_call/cancel` names. */
|
|
209
|
+
export type BackgroundTarget = {
|
|
210
|
+
terminalId: string;
|
|
211
|
+
} | {
|
|
212
|
+
toolCallId: string;
|
|
213
|
+
};
|
|
155
214
|
/**
|
|
156
215
|
* Stops the task of a terminal or tool call that the session `sessionId`
|
|
157
216
|
* lists (v2 `terminal/cancel` and `tool_call/cancel`). `sessions` are the
|
|
158
|
-
* root sessions
|
|
159
|
-
*
|
|
160
|
-
*
|
|
217
|
+
* root sessions: a subagent session's list is built with its root's. The
|
|
218
|
+
* terminal exits, or the tool call gets its final status, when Claude Code
|
|
219
|
+
* reports the task stopped.
|
|
161
220
|
*/
|
|
162
|
-
export declare function cancelBackgroundWork(sessions:
|
|
163
|
-
|
|
164
|
-
}
|
|
165
|
-
toolCallId: string;
|
|
166
|
-
}): Promise<void>;
|
|
221
|
+
export declare function cancelBackgroundWork(sessions: Array<BackgroundOwner & {
|
|
222
|
+
background?: SessionBackgroundWork;
|
|
223
|
+
}>, sessionId: string, target: BackgroundTarget): Promise<void>;
|
|
167
224
|
/**
|
|
168
225
|
* Publishes the lists of each session that reports them, each time one
|
|
169
226
|
* changes. The sink sends them to the client synchronously, so a list follows
|
|
@@ -181,8 +238,11 @@ export declare class BackgroundWorkReporter {
|
|
|
181
238
|
* first call for a session publishes its list, also when it is empty.
|
|
182
239
|
* `rootState` is the root session's state now.
|
|
183
240
|
*/
|
|
184
|
-
sync(rootSessionId: string, session:
|
|
241
|
+
sync(rootSessionId: string, session: BackgroundOwner & {
|
|
242
|
+
background?: SessionBackgroundWork;
|
|
243
|
+
}, rootState: WorkStateName): void;
|
|
185
244
|
/** The root session `rootSessionId` ended, and its subagent sessions with it. */
|
|
186
245
|
forget(rootSessionId: string): void;
|
|
187
246
|
}
|
|
247
|
+
export {};
|
|
188
248
|
//# sourceMappingURL=background-work.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background-work.d.ts","sourceRoot":"","sources":["../src/background-work.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,KAAK,mBAAmB,EAA2B,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"background-work.d.ts","sourceRoot":"","sources":["../src/background-work.ts"],"names":[],"mappings":"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"}
|