@agentclientprotocol/claude-agent-acp 0.99.2-preview.11 → 0.99.2-preview.12

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.
@@ -9,6 +9,7 @@ import * as sessionIndex from "./session-index/connection.js";
9
9
  import type { BatchGetSessionsRequest, RenameSessionRequest, SessionIdRequest } from "./session-index/service.js";
10
10
  import type { ListSubscribeRequest, ListUnsubscribeRequest } from "./session-index/list-subscriptions.js";
11
11
  import { AsyncTaskRuntime } from "./async-tasks.js";
12
+ import { type BackgroundLevel, type BackgroundSink } from "./background-work.js";
12
13
  import { type AuthStatus, type AuthStatusKind } from "./auth-status.js";
13
14
  import { ContentBlockParam } from "@anthropic-ai/sdk/resources";
14
15
  import { BetaContentBlock, BetaRawContentBlockDelta } from "@anthropic-ai/sdk/resources/beta.mjs";
@@ -761,6 +762,13 @@ export type Session = {
761
762
  toolCallId: string;
762
763
  parentToolUseId?: string;
763
764
  }>;
765
+ /** Whether the client gets the session's background work (see
766
+ * `background-work.ts`). Only when Claude Code's interrupt spares
767
+ * background tasks, as `perTaskStopAffordance` makes it. */
768
+ reportsBackground?: boolean;
769
+ /** Claude Code's live background task set, from its last
770
+ * `background_tasks_changed`. Per CLI process, as is a session. */
771
+ backgroundLevel?: BackgroundLevel;
764
772
  /** The parent tool call of each subagent that a settle bookend removed from
765
773
  * `liveBackgroundTasks`. The SDK can resume such a subagent under the same
766
774
  * agent id without a new `task_started` (a running `task_updated` patch or
@@ -1156,6 +1164,8 @@ export declare class ClaudeAcpAgent {
1156
1164
  private readonly replayedChildModels;
1157
1165
  /** See the `foreground` constructor option. */
1158
1166
  private readonly foregroundEvents?;
1167
+ /** See the `background` constructor option. */
1168
+ private readonly backgroundWork;
1159
1169
  /** Counts the prompts `startTurn()` has received, across sessions. */
1160
1170
  private promptsReceived;
1161
1171
  /** Per session, the `promptsReceived` count when its last cancel started.
@@ -1189,6 +1199,12 @@ export declare class ClaudeAcpAgent {
1189
1199
  * ended from its prompt response.
1190
1200
  */
1191
1201
  foreground?: (sessionId: string) => ForegroundEvents;
1202
+ /**
1203
+ * Where the agent reports the background work of each session (see
1204
+ * `background-work.ts`): once when the session starts, and each time
1205
+ * the work changes. Without it, nothing reports the work.
1206
+ */
1207
+ background?: BackgroundSink;
1192
1208
  });
1193
1209
  initialize(request: InitializeRequest): Promise<InitializeResponse>;
1194
1210
  newSession(params: NewSessionRequest): Promise<NewSessionResponse>;
@@ -1592,6 +1608,18 @@ export declare class ClaudeAcpAgent {
1592
1608
  dispose(): Promise<void>;
1593
1609
  /** Idempotent: a session that is not loaded here is already closed. */
1594
1610
  closeSession(params: CloseSessionRequest): Promise<CloseSessionResponse>;
1611
+ /** Stops a command running in the background (v2 `terminal/cancel`, see
1612
+ * {@link cancelBackgroundTerminal}). */
1613
+ cancelBackgroundTerminal(params: {
1614
+ sessionId: string;
1615
+ terminalId: string;
1616
+ }): Promise<void>;
1617
+ /** Sends the current `subagent_update` of each live subagent session in
1618
+ * `children`, of the session `sessionId` (see
1619
+ * {@link NativeSubagentRuntime.currentUpdate}). v2 requires it for each
1620
+ * child that a `session/resume` snapshot lists. A failure is logged, as
1621
+ * for {@link publishCurrentSubagentStates}. */
1622
+ publishLiveSubagents(sessionId: string, children: string[]): Promise<void>;
1595
1623
  /** Per client: see {@link sessionIndex.SessionIndexConnection.deleteSession}. */
1596
1624
  deleteSession(params: DeleteSessionRequest): Promise<DeleteSessionResponse>;
1597
1625
  setSessionMode(params: SetSessionModeRequest): Promise<SetSessionModeResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"acp-agent.d.ts","sourceRoot":"","sources":["../src/acp-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acp-agent.d.ts","sourceRoot":"","sources":["../src/acp-agent.ts"],"names":[],"mappings":"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"}
package/dist/acp-agent.js CHANGED
@@ -9,6 +9,7 @@ import { childModelOption, isNativeSubagentControlTool, isNativeSubagentControlU
9
9
  import { AIR_ASYNC_TASKS_CAPABILITY, AIR_BACKGROUND_SUBAGENTS_CAPABILITY, AIR_CUSTOM_INSTRUCTIONS_CAPABILITY, airCustomInstructions, AIR_DIFF_PATCH_CAPABILITY, AIR_PLAN_FILE_CAPABILITY, AIR_GOAL_KEY, AIR_KIND_KEY, AIR_LOAD_REPLAY_END_CAPABILITY, AIR_LOAD_REPLAY_END_KEY, AIR_RECOMMENDED_CONFIG_VALUE_CAPABILITY, AIR_SKILL_PATH_KEY, clientSupportsAirCapability, withAirMeta, } from "./air-extension.js";
10
10
  import * as sessionIndex from "./session-index/connection.js";
11
11
  import { AsyncTaskRuntime, backgroundBashTaskFromToolResult, backgroundedBashToolCallIds, clientSupportsAsyncTasks, } from "./async-tasks.js";
12
+ import { backgroundLevel, BackgroundWorkReporter, cancelBackgroundTerminal, droppedTerminalTasks, endBackgroundWork, takeBackgroundTerminalExit, } from "./background-work.js";
12
13
  import { AUTH_STATUS_PROBE_TIMEOUT_MS, AUTH_STATUS_UPDATE_METHOD, authStatusCapability, fromAccountInfo, fromCliStatus, gatewayAuthStatus, mergeAuthStatus, notLoggedInAuthStatus, sameAuthStatus, } from "./auth-status.js";
13
14
  import { execFile } from "node:child_process";
14
15
  import { randomUUID } from "node:crypto";
@@ -1225,6 +1226,8 @@ export class ClaudeAcpAgent {
1225
1226
  replayedChildModels = new Map();
1226
1227
  /** See the `foreground` constructor option. */
1227
1228
  foregroundEvents;
1229
+ /** See the `background` constructor option. */
1230
+ backgroundWork;
1228
1231
  /** Counts the prompts `startTurn()` has received, across sessions. */
1229
1232
  promptsReceived = 0;
1230
1233
  /** Per session, the `promptsReceived` count when its last cancel started.
@@ -1259,6 +1262,7 @@ export class ClaudeAcpAgent {
1259
1262
  constructor(client, logger, options = {}) {
1260
1263
  this.v2 = options.v2 ?? false;
1261
1264
  this.foregroundEvents = options.foreground;
1265
+ this.backgroundWork = new BackgroundWorkReporter(options.background);
1262
1266
  this.sessions = {};
1263
1267
  this.client = new ChangedMetaClient(client, () => this.toolCallCapabilities.air.client);
1264
1268
  this.logger = logger ?? console;
@@ -3435,27 +3439,11 @@ export class ClaudeAcpAgent {
3435
3439
  this.syncAwaitingUser(params.sessionId, session);
3436
3440
  };
3437
3441
  /** Ends the display terminal of a command that went to the background, once
3438
- * its task ends (see `Session.backgroundTerminals`). Claude Code reports no
3439
- * exit code for it, and `completed` does not mean 0: Claude Code accepts
3440
- * some non-zero codes as a success, such as grep's 1. */
3442
+ * its task ends (see `Session.backgroundTerminals`). */
3441
3443
  const endBackgroundTerminal = async (taskId) => {
3442
- const terminal = session.backgroundTerminals?.get(taskId);
3443
- if (!terminal)
3444
- return;
3445
- session.backgroundTerminals.delete(taskId);
3446
- await sendUpdate({
3447
- sessionId: params.sessionId,
3448
- update: {
3449
- sessionUpdate: "tool_call_update",
3450
- toolCallId: terminal.toolCallId,
3451
- _meta: {
3452
- ...(terminal.parentToolUseId
3453
- ? { claudeCode: { parentToolUseId: terminal.parentToolUseId } }
3454
- : {}),
3455
- terminal_exit: { terminal_id: terminal.toolCallId, exit_code: null, signal: null },
3456
- },
3457
- },
3458
- });
3444
+ const exit = takeBackgroundTerminalExit(session, params.sessionId, taskId);
3445
+ if (exit)
3446
+ await sendUpdate(exit);
3459
3447
  };
3460
3448
  /** Settles a task. Its request may still be open, and an agent without a
3461
3449
  * record no longer blocks the foreground work, so that is checked again. */
@@ -3935,6 +3923,9 @@ export class ClaudeAcpAgent {
3935
3923
  const pause = messageLoopYielder.maybeYield();
3936
3924
  if (pause)
3937
3925
  await pause;
3926
+ // The last message may have changed the background work, and its
3927
+ // updates are sent, so the list follows them.
3928
+ this.backgroundWork.sync(params.sessionId, session, this.foregroundState(params.sessionId));
3938
3929
  pendingNext ??= session.query
3939
3930
  .next()
3940
3931
  .then((result) => ({ kind: "message", result }));
@@ -4961,8 +4952,15 @@ export class ClaudeAcpAgent {
4961
4952
  // control requests, which this adapter never issues.
4962
4953
  case "control_request_progress":
4963
4954
  break;
4964
- case "background_tasks_changed":
4955
+ case "background_tasks_changed": {
4965
4956
  await asyncTasks.backgroundTasksChanged(message.tasks);
4957
+ if (session.reportsBackground) {
4958
+ const level = backgroundLevel(message.tasks);
4959
+ for (const taskId of droppedTerminalTasks(session, level)) {
4960
+ await endBackgroundTerminal(taskId);
4961
+ }
4962
+ session.backgroundLevel = level;
4963
+ }
4966
4964
  // A level signal: the full live background-task set on every
4967
4965
  // membership change, with REPLACE semantics. Used only to
4968
4966
  // reconcile `liveBackgroundTasks` — dropping (or, for
@@ -5007,6 +5005,7 @@ export class ClaudeAcpAgent {
5007
5005
  }
5008
5006
  }
5009
5007
  break;
5008
+ }
5010
5009
  default:
5011
5010
  unreachable(message, this.logger);
5012
5011
  break;
@@ -6850,10 +6849,18 @@ export class ClaudeAcpAgent {
6850
6849
  return;
6851
6850
  }
6852
6851
  session.queryClosed = true;
6853
- // Its list row now shows what the registry and the transcript tell.
6854
6852
  for (const [sessionId, candidate] of Object.entries(this.sessions)) {
6855
- if (candidate === session)
6856
- this.sessionIndex.onOwnSessionChanged(sessionId);
6853
+ if (candidate !== session)
6854
+ continue;
6855
+ // Its list row now shows what the registry and the transcript tell.
6856
+ this.sessionIndex.onOwnSessionChanged(sessionId);
6857
+ // Its background tasks end with the query's process.
6858
+ for (const exit of endBackgroundWork(session, sessionId)) {
6859
+ this.client.sessionUpdate(exit).catch((error) => {
6860
+ this.logger.error(`Session ${sessionId}: failed to end a background terminal:`, error);
6861
+ });
6862
+ }
6863
+ this.backgroundWork.sync(sessionId, session, this.foregroundState(sessionId));
6857
6864
  }
6858
6865
  session.consumer = undefined;
6859
6866
  session.contextCompaction = undefined;
@@ -6907,6 +6914,7 @@ export class ClaudeAcpAgent {
6907
6914
  session.asyncTaskRuntime?.clear();
6908
6915
  this.replayedChildModels.delete(sessionId);
6909
6916
  this.cancelledThrough.delete(sessionId);
6917
+ this.backgroundWork.forget(sessionId);
6910
6918
  delete this.sessions[sessionId];
6911
6919
  this.sessionIndex.onTeardown(sessionId);
6912
6920
  const ended = await raceTimeoutAndAbort(turnsEnded, TEARDOWN_TURN_END_TIMEOUT_MS, new AbortController().signal);
@@ -6945,6 +6953,29 @@ export class ClaudeAcpAgent {
6945
6953
  await this.teardownSession(params.sessionId);
6946
6954
  return {};
6947
6955
  }
6956
+ /** Stops a command running in the background (v2 `terminal/cancel`, see
6957
+ * {@link cancelBackgroundTerminal}). */
6958
+ cancelBackgroundTerminal(params) {
6959
+ return cancelBackgroundTerminal(this.sessions, params.sessionId, params.terminalId);
6960
+ }
6961
+ /** Sends the current `subagent_update` of each live subagent session in
6962
+ * `children`, of the session `sessionId` (see
6963
+ * {@link NativeSubagentRuntime.currentUpdate}). v2 requires it for each
6964
+ * child that a `session/resume` snapshot lists. A failure is logged, as
6965
+ * for {@link publishCurrentSubagentStates}. */
6966
+ async publishLiveSubagents(sessionId, children) {
6967
+ const runtime = this.sessions[sessionId]?.nativeSubagentRuntime;
6968
+ try {
6969
+ for (const child of children) {
6970
+ const update = runtime?.currentUpdate(child);
6971
+ if (update)
6972
+ await this.client.sessionUpdate(asSdkSessionNotification(update));
6973
+ }
6974
+ }
6975
+ catch (error) {
6976
+ this.logger.error(`Session ${sessionId}: failed to send current subagent states:`, error);
6977
+ }
6978
+ }
6948
6979
  /** Per client: see {@link sessionIndex.SessionIndexConnection.deleteSession}. */
6949
6980
  async deleteSession(params) {
6950
6981
  return this.sessionIndex.deleteSession(params);
@@ -9585,6 +9616,7 @@ export class ClaudeAcpAgent {
9585
9616
  emittedToolCalls: new Set(),
9586
9617
  eagerToolCallSessions: new Map(),
9587
9618
  liveBackgroundTasks: new Map(),
9619
+ reportsBackground: this.backgroundWork.enabled && options.perTaskStopAffordance === true,
9588
9620
  stopsWorkflowsOnCancel: options.perTaskStopAffordance === true &&
9589
9621
  !clientSupportsAsyncTasks(this.clientCapabilities),
9590
9622
  nativeSubagentsByTaskId: new Map(),
@@ -9599,6 +9631,7 @@ export class ClaudeAcpAgent {
9599
9631
  fileChangeReporter,
9600
9632
  };
9601
9633
  timing.phase("register");
9634
+ this.backgroundWork.sync(sessionId, this.sessions[sessionId], this.foregroundState(sessionId));
9602
9635
  this.refreshContextWindowInBackground(sessionId, this.sessions[sessionId]);
9603
9636
  return {
9604
9637
  sessionId,
@@ -0,0 +1,122 @@
1
+ import type { AcpSessionNotification } from "./acp-subagents.js";
2
+ import type { NativeSubagent } from "./native-subagents.js";
3
+ /** An item of a `background` list. */
4
+ export type BackgroundItem = {
5
+ type: "terminal";
6
+ terminalId: string;
7
+ } | {
8
+ type: "subagent";
9
+ sessionId: string;
10
+ } | {
11
+ type: "_claude/task";
12
+ taskId: string;
13
+ description: string;
14
+ };
15
+ /** The live background task set of `background_tasks_changed`, by task id. */
16
+ export type BackgroundLevel = Map<string, {
17
+ ambient: boolean;
18
+ taskType: string;
19
+ description: string;
20
+ parentTaskId?: string;
21
+ }>;
22
+ /** The work state of a session, as its `state_update` names it. */
23
+ export type WorkStateName = "idle" | "running" | "requires_action" | "unknown";
24
+ /** A new list of the session `sessionId`, with what its repeated state needs. */
25
+ export interface BackgroundReport {
26
+ sessionId: string;
27
+ items: BackgroundItem[];
28
+ /** The session's work state now, or undefined when it has none yet. */
29
+ state: WorkStateName | undefined;
30
+ /** The parent of a subagent session, which mirrors the child's state. */
31
+ parentSessionId?: string;
32
+ }
33
+ /** Where the agent reports the lists (see the agent's `background` option). */
34
+ export interface BackgroundSink {
35
+ /** The list of a session changed, or is reported for the first time. */
36
+ changed(report: BackgroundReport): void;
37
+ /** The session ended: its list is no longer reported. */
38
+ forget(sessionId: string): void;
39
+ }
40
+ /** The state of a session that its lists are built from. */
41
+ export interface BackgroundWorkSession {
42
+ reportsBackground?: boolean;
43
+ backgroundLevel?: BackgroundLevel;
44
+ backgroundTerminals?: Map<string, {
45
+ toolCallId: string;
46
+ parentToolUseId?: string;
47
+ }>;
48
+ nativeSubagentsByTaskId?: Map<string, NativeSubagent>;
49
+ query: {
50
+ stopTask(taskId: string): Promise<void>;
51
+ };
52
+ }
53
+ /** The level of a `background_tasks_changed` payload. */
54
+ export declare function backgroundLevel(tasks: {
55
+ task_id: string;
56
+ task_type: string;
57
+ description: string;
58
+ parent_task_id?: string;
59
+ ambient?: boolean;
60
+ }[]): BackgroundLevel;
61
+ /**
62
+ * The `background` list of the root session `rootSessionId` and of each of
63
+ * its announced subagent sessions, by session id, deeper sessions first and
64
+ * the root last. Each list is empty while
65
+ * the level has not been reported: Claude Code sends none before the first
66
+ * background task starts.
67
+ */
68
+ export declare function backgroundLists(session: BackgroundWorkSession, rootSessionId: string): Map<string, BackgroundItem[]>;
69
+ /**
70
+ * The tasks of the terminals that `level` does not hold: Claude Code no
71
+ * longer runs them, so their terminals exit before a list drops them, as v2
72
+ * requires. A terminal is registered at its Bash result, after its task
73
+ * joined the level, so a later level without the task means that it ended.
74
+ * Claude Code usually sends a task's end before that level, which ends the
75
+ * terminal first, but the SDK does not promise that order.
76
+ */
77
+ export declare function droppedTerminalTasks(session: BackgroundWorkSession, level: BackgroundLevel): string[];
78
+ /**
79
+ * Removes the terminal of the background command `taskId` of the session
80
+ * `sessionId`, and returns the update that exits it, or undefined when the
81
+ * command has no terminal. Claude Code reports no exit code for it, and
82
+ * `completed` does not mean 0: Claude Code accepts some non-zero codes as a
83
+ * success, such as grep's 1.
84
+ */
85
+ export declare function takeBackgroundTerminalExit(session: BackgroundWorkSession, sessionId: string, taskId: string): AcpSessionNotification | undefined;
86
+ /**
87
+ * Ends the background work of a session whose query closed: Claude Code's
88
+ * background tasks end with its process. Returns the updates that exit the
89
+ * root session's terminals, and empties the level, so the next lists are
90
+ * empty. A subagent's command is left as it was: its terminal is on the
91
+ * child's stream, which the closed query's routing owned.
92
+ */
93
+ export declare function endBackgroundWork(session: BackgroundWorkSession, sessionId: string): AcpSessionNotification[];
94
+ /**
95
+ * Stops the background command whose terminal `terminalId` the session
96
+ * `sessionId` lists (v2 `terminal/cancel`). `sessions` are the root sessions,
97
+ * by id: a subagent session's list is built with its root's. The terminal
98
+ * exits when Claude Code reports the task stopped.
99
+ */
100
+ export declare function cancelBackgroundTerminal(sessions: Record<string, BackgroundWorkSession>, sessionId: string, terminalId: string): Promise<void>;
101
+ /**
102
+ * Publishes the lists of each session that reports them, each time one
103
+ * changes. The sink sends them to the client synchronously, so a list follows
104
+ * the updates sent before it.
105
+ */
106
+ export declare class BackgroundWorkReporter {
107
+ private readonly sink?;
108
+ /** The list last published for each session, as JSON, and the root session it is built with. */
109
+ private readonly published;
110
+ constructor(sink?: BackgroundSink | undefined);
111
+ /** Whether the lists are reported at all. */
112
+ get enabled(): boolean;
113
+ /**
114
+ * Publishes each list of the root session `rootSessionId` that changed. The
115
+ * first call for a session publishes its list, also when it is empty.
116
+ * `rootState` is the root session's state now.
117
+ */
118
+ sync(rootSessionId: string, session: BackgroundWorkSession, rootState: WorkStateName): void;
119
+ /** The root session `rootSessionId` ended, and its subagent sessions with it. */
120
+ forget(rootSessionId: string): void;
121
+ }
122
+ //# 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":"AAyBA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,sCAAsC;AACtC,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAElE,8EAA8E;AAC9E,MAAM,MAAM,eAAe,GAAG,GAAG,CAC/B,MAAM,EACN;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CACnF,CAAC;AAEF,mEAAmE;AACnE,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,iBAAiB,GAAG,SAAS,CAAC;AAE/E,iFAAiF;AACjF,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,uEAAuE;IACvE,KAAK,EAAE,aAAa,GAAG,SAAS,CAAC;IACjC,yEAAyE;IACzE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,+EAA+E;AAC/E,MAAM,WAAW,cAAc;IAC7B,wEAAwE;IACxE,OAAO,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACxC,yDAAyD;IACzD,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,4DAA4D;AAC5D,MAAM,WAAW,qBAAqB;IACpC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpF,uBAAuB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACtD,KAAK,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC;CACpD;AAED,yDAAyD;AACzD,wBAAgB,eAAe,CAC7B,KAAK,EAAE;IACL,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,EAAE,GACF,eAAe,CAYjB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,qBAAqB,EAC9B,aAAa,EAAE,MAAM,GACpB,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CA8D/B;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,qBAAqB,EAC9B,KAAK,EAAE,eAAe,GACrB,MAAM,EAAE,CAEV;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,qBAAqB,EAC9B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,sBAAsB,GAAG,SAAS,CAiBpC;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,qBAAqB,EAC9B,SAAS,EAAE,MAAM,GAChB,sBAAsB,EAAE,CAU1B;AAED;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,EAC/C,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAyBf;AAED;;;;GAIG;AACH,qBAAa,sBAAsB;IAIrB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;IAHlC,gGAAgG;IAChG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqD;gBAElD,IAAI,CAAC,EAAE,cAAc,YAAA;IAElD,6CAA6C;IAC7C,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;;;OAIG;IACH,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,aAAa,GAAG,IAAI;IAsB3F,iFAAiF;IACjF,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;CAOpC"}
@@ -0,0 +1,248 @@
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
+ * - Any other task, such as a `Monitor` or a `Workflow`: a `_claude/task`
18
+ * item with the task's id and description. Its tool call ended at its tool
19
+ * result, so it cannot be listed as a tool call.
20
+ *
21
+ * Only a session whose interrupt spares background tasks reports its lists
22
+ * (`Session.reportsBackground`): `session/cancel` must leave listed work
23
+ * running.
24
+ */
25
+ import { RequestError } from "@agentclientprotocol/sdk/unstable";
26
+ /** The level of a `background_tasks_changed` payload. */
27
+ export function backgroundLevel(tasks) {
28
+ return new Map(tasks.map((task) => [
29
+ task.task_id,
30
+ {
31
+ ambient: task.ambient === true,
32
+ taskType: task.task_type,
33
+ description: task.description,
34
+ ...(task.parent_task_id !== undefined ? { parentTaskId: task.parent_task_id } : {}),
35
+ },
36
+ ]));
37
+ }
38
+ /**
39
+ * The `background` list of the root session `rootSessionId` and of each of
40
+ * its announced subagent sessions, by session id, deeper sessions first and
41
+ * the root last. Each list is empty while
42
+ * the level has not been reported: Claude Code sends none before the first
43
+ * background task starts.
44
+ */
45
+ export function backgroundLists(session, rootSessionId) {
46
+ const children = [...(session.nativeSubagentsByTaskId ?? [])].filter(([, child]) => child.announced);
47
+ const childByTask = new Map(children);
48
+ const childByToolUse = new Map(children.flatMap(([, child]) => child.parentToolUseId ? [[child.parentToolUseId, child]] : []));
49
+ const lists = new Map([
50
+ [rootSessionId, []],
51
+ ...children.map(([, child]) => [child.sessionId, []]),
52
+ ]);
53
+ const level = session.backgroundLevel ?? new Map();
54
+ for (const [taskId, task] of level) {
55
+ if (task.ambient)
56
+ continue;
57
+ const terminal = session.backgroundTerminals?.get(taskId);
58
+ if (terminal) {
59
+ // A subagent's command runs on the child's stream.
60
+ const owner = terminal.parentToolUseId
61
+ ? childByToolUse.get(terminal.parentToolUseId)?.sessionId
62
+ : rootSessionId;
63
+ if (owner)
64
+ lists.get(owner).push({ type: "terminal", terminalId: terminal.toolCallId });
65
+ continue;
66
+ }
67
+ // A command without a terminal yet is one that foreground work waits on.
68
+ // A subagent is listed below, as its session.
69
+ if (task.taskType === "local_bash" || task.taskType === "local_agent")
70
+ continue;
71
+ const parent = task.parentTaskId ? childByTask.get(task.parentTaskId) : undefined;
72
+ lists
73
+ .get(parent?.sessionId ?? rootSessionId)
74
+ .push({ type: "_claude/task", taskId, description: task.description });
75
+ }
76
+ // A child is listed in its parent's list while it works in the background,
77
+ // and while it is idle with background work of its own. Deeper children
78
+ // first, so a child's list is whole before its parent's reads it.
79
+ const sessions = new Map(children.map(([, child]) => [child.sessionId, child]));
80
+ const depth = (child) => {
81
+ const parent = sessions.get(child.parentSessionId);
82
+ return parent ? depth(parent) + 1 : 0;
83
+ };
84
+ for (const [taskId, child] of children.sort(([, a], [, b]) => depth(b) - depth(a))) {
85
+ const task = level.get(taskId);
86
+ const working = child.workState !== undefined &&
87
+ child.workState !== "idle" &&
88
+ task !== undefined &&
89
+ !task.ambient;
90
+ if (working || lists.get(child.sessionId).length > 0) {
91
+ lists.get(child.parentSessionId)?.push({ type: "subagent", sessionId: child.sessionId });
92
+ }
93
+ }
94
+ // In the same order, the root last: a child's own list goes out before its
95
+ // parent's list drops it.
96
+ return new Map([
97
+ ...children.map(([, child]) => [
98
+ child.sessionId,
99
+ lists.get(child.sessionId),
100
+ ]),
101
+ [rootSessionId, lists.get(rootSessionId)],
102
+ ]);
103
+ }
104
+ /**
105
+ * The tasks of the terminals that `level` does not hold: Claude Code no
106
+ * longer runs them, so their terminals exit before a list drops them, as v2
107
+ * requires. A terminal is registered at its Bash result, after its task
108
+ * joined the level, so a later level without the task means that it ended.
109
+ * Claude Code usually sends a task's end before that level, which ends the
110
+ * terminal first, but the SDK does not promise that order.
111
+ */
112
+ export function droppedTerminalTasks(session, level) {
113
+ return [...(session.backgroundTerminals?.keys() ?? [])].filter((taskId) => !level.has(taskId));
114
+ }
115
+ /**
116
+ * Removes the terminal of the background command `taskId` of the session
117
+ * `sessionId`, and returns the update that exits it, or undefined when the
118
+ * command has no terminal. Claude Code reports no exit code for it, and
119
+ * `completed` does not mean 0: Claude Code accepts some non-zero codes as a
120
+ * success, such as grep's 1.
121
+ */
122
+ export function takeBackgroundTerminalExit(session, sessionId, taskId) {
123
+ const terminal = session.backgroundTerminals?.get(taskId);
124
+ if (!terminal)
125
+ return undefined;
126
+ session.backgroundTerminals.delete(taskId);
127
+ return {
128
+ sessionId,
129
+ update: {
130
+ sessionUpdate: "tool_call_update",
131
+ toolCallId: terminal.toolCallId,
132
+ _meta: {
133
+ ...(terminal.parentToolUseId
134
+ ? { claudeCode: { parentToolUseId: terminal.parentToolUseId } }
135
+ : {}),
136
+ terminal_exit: { terminal_id: terminal.toolCallId, exit_code: null, signal: null },
137
+ },
138
+ },
139
+ };
140
+ }
141
+ /**
142
+ * Ends the background work of a session whose query closed: Claude Code's
143
+ * background tasks end with its process. Returns the updates that exit the
144
+ * root session's terminals, and empties the level, so the next lists are
145
+ * empty. A subagent's command is left as it was: its terminal is on the
146
+ * child's stream, which the closed query's routing owned.
147
+ */
148
+ export function endBackgroundWork(session, sessionId) {
149
+ if (!session.reportsBackground)
150
+ return [];
151
+ const exits = [...(session.backgroundTerminals ?? [])].flatMap(([taskId, terminal]) => {
152
+ const exit = terminal.parentToolUseId
153
+ ? undefined
154
+ : takeBackgroundTerminalExit(session, sessionId, taskId);
155
+ return exit ? [exit] : [];
156
+ });
157
+ session.backgroundLevel = undefined;
158
+ return exits;
159
+ }
160
+ /**
161
+ * Stops the background command whose terminal `terminalId` the session
162
+ * `sessionId` lists (v2 `terminal/cancel`). `sessions` are the root sessions,
163
+ * by id: a subagent session's list is built with its root's. The terminal
164
+ * exits when Claude Code reports the task stopped.
165
+ */
166
+ export async function cancelBackgroundTerminal(sessions, sessionId, terminalId) {
167
+ const notCancellable = () => RequestError.invalidParams({ sessionId, terminalId }, `Terminal ${terminalId} is not a command running in the background, so it cannot be cancelled.`);
168
+ const listed = (root, session) => session.reportsBackground === true &&
169
+ (backgroundLists(session, root)
170
+ .get(sessionId)
171
+ ?.some((item) => item.type === "terminal" && item.terminalId === terminalId) ??
172
+ false);
173
+ const owner = Object.entries(sessions).find(([root, session]) => listed(root, session));
174
+ if (!owner)
175
+ throw notCancellable();
176
+ const [root, session] = owner;
177
+ const taskId = [...(session.backgroundTerminals ?? [])].find(([, terminal]) => terminal.toolCallId === terminalId)[0];
178
+ try {
179
+ await session.query.stopTask(taskId);
180
+ }
181
+ catch (error) {
182
+ // The command ended meanwhile: it has exited, or is about to.
183
+ if (!listed(root, session))
184
+ throw notCancellable();
185
+ throw error;
186
+ }
187
+ }
188
+ /**
189
+ * Publishes the lists of each session that reports them, each time one
190
+ * changes. The sink sends them to the client synchronously, so a list follows
191
+ * the updates sent before it.
192
+ */
193
+ export class BackgroundWorkReporter {
194
+ sink;
195
+ /** The list last published for each session, as JSON, and the root session it is built with. */
196
+ published = new Map();
197
+ constructor(sink) {
198
+ this.sink = sink;
199
+ }
200
+ /** Whether the lists are reported at all. */
201
+ get enabled() {
202
+ return this.sink !== undefined;
203
+ }
204
+ /**
205
+ * Publishes each list of the root session `rootSessionId` that changed. The
206
+ * first call for a session publishes its list, also when it is empty.
207
+ * `rootState` is the root session's state now.
208
+ */
209
+ sync(rootSessionId, session, rootState) {
210
+ if (!this.sink || !session.reportsBackground)
211
+ return;
212
+ const children = new Map([...(session.nativeSubagentsByTaskId?.values() ?? [])].map((child) => [
213
+ child.sessionId,
214
+ child,
215
+ ]));
216
+ for (const [sessionId, items] of backgroundLists(session, rootSessionId)) {
217
+ const json = JSON.stringify(items);
218
+ if (this.published.get(sessionId)?.json === json)
219
+ continue;
220
+ this.published.set(sessionId, { json, root: rootSessionId });
221
+ const child = children.get(sessionId);
222
+ this.sink.changed({
223
+ sessionId,
224
+ items,
225
+ state: child ? workStateName(child.workState) : rootState,
226
+ ...(child ? { parentSessionId: child.parentSessionId } : {}),
227
+ });
228
+ }
229
+ }
230
+ /** The root session `rootSessionId` ended, and its subagent sessions with it. */
231
+ forget(rootSessionId) {
232
+ for (const [sessionId, { root }] of this.published) {
233
+ if (root !== rootSessionId)
234
+ continue;
235
+ this.published.delete(sessionId);
236
+ this.sink?.forget(sessionId);
237
+ }
238
+ }
239
+ }
240
+ /** A child's work state, when it is one that v2 names. */
241
+ function workStateName(state) {
242
+ return state === "idle" ||
243
+ state === "running" ||
244
+ state === "requires_action" ||
245
+ state === "unknown"
246
+ ? state
247
+ : undefined;
248
+ }
@@ -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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"}
@@ -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
@@ -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;AAqB9E;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,GACvC,EAAE,CAAC,QAAQ,CA4Gb"}
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,CAiIb"}
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,16 @@ 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 and terminal it lists comes first, as v2
71
+ // requires. The subagents' go again after the response (see below).
72
+ await agent.publishLiveSubagents(params.sessionId, client.background.listedSubagents(params.sessionId));
73
+ for (const notification of client.background.currentTerminals(params.sessionId)) {
74
+ void client.send(notification);
75
+ }
61
76
  void client.send({
62
77
  sessionId: params.sessionId,
63
- update: stateSnapshot(agent.foregroundState(params.sessionId)),
78
+ update: stateUpdate(agent.foregroundState(params.sessionId)),
64
79
  });
65
80
  const commands = await setupCommands(agent, params.sessionId, logger);
66
81
  // The response ends a replay. The subagents RFD treats the replayed
@@ -103,16 +118,12 @@ export function v2AgentApp(logger, onAgent) {
103
118
  .onRequest(v2.methods.agent.session.prompt, ({ params }) => v2Prompt(agent, params, (update) => {
104
119
  void client.send({ sessionId: params.sessionId, update });
105
120
  }))
121
+ .onRequest(v2.methods.agent.terminal.cancel, async ({ params }) => {
122
+ await agent.cancelBackgroundTerminal(params);
123
+ return {};
124
+ })
106
125
  .onNotification(v2.methods.agent.session.cancel, ({ params }) => agent.cancel(params));
107
126
  }
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
127
  /**
117
128
  * The `availableCommands` of a setup response, which v2 requires when the
118
129
  * session has commands. The agent sends a v1 client the same list as an
@@ -179,6 +190,8 @@ class V2ClientConnection {
179
190
  terminals = new V2Terminals();
180
191
  /** The `_meta` that the client stores for each tool call. */
181
192
  toolCallMeta = new V2ToolCallMeta();
193
+ /** The `background` list of each session's `state_update`s. */
194
+ background = new V2Background(this.terminals);
182
195
  constructor(ctx, logger) {
183
196
  this.ctx = ctx;
184
197
  this.logger = logger;
@@ -225,7 +238,9 @@ class V2ClientConnection {
225
238
  * request opening.)
226
239
  */
227
240
  send(notification) {
228
- return this.ctx.notify(v2.methods.client.session.update, notification).catch((error) => {
241
+ return this.ctx
242
+ .notify(v2.methods.client.session.update, this.background.stamp(notification))
243
+ .catch((error) => {
229
244
  this.logger.error(`Failed to send a ${notification.update.sessionUpdate} update:`, error);
230
245
  });
231
246
  }
@@ -257,11 +272,13 @@ class V2ClientConnection {
257
272
  childState = undefined;
258
273
  }
259
274
  // Every update goes to the connection before any is awaited, so an update
260
- // that another call sends meanwhile cannot come between them.
261
- await Promise.all([
262
- ...updates.map((v2Update) => this.ctx.notify(v2.methods.client.session.update, { ...notification, update: v2Update })),
263
- ...(childState ? [this.ctx.notify(v2.methods.client.session.update, childState)] : []),
264
- ]);
275
+ // that another call sends meanwhile cannot come between them. The parent's
276
+ // copy is stamped first: a child's announcement starts its list.
277
+ const stamped = [
278
+ ...updates.map((v2Update) => this.background.stamp({ ...notification, update: v2Update })),
279
+ ...(childState ? [this.background.stamp(childState)] : []),
280
+ ];
281
+ await Promise.all(stamped.map((v2Notification) => this.ctx.notify(v2.methods.client.session.update, v2Notification)));
265
282
  }
266
283
  /**
267
284
  * The v2 updates of a v1 update: for a tool call report, the updates of its
@@ -0,0 +1,54 @@
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
+ constructor(terminals: V2Terminals);
24
+ /**
25
+ * `notification` with the session's list, when it is a `state_update` of a
26
+ * session that reports one, or a `subagent_update` that mirrors the state of
27
+ * such a child. A child of a session that reports its list reports its own
28
+ * from its announcement on: empty, until the agent reports it.
29
+ */
30
+ stamp(notification: v2.UpdateSessionNotification): v2.UpdateSessionNotification;
31
+ /**
32
+ * Records the new list of a session, and returns the updates that report it:
33
+ *
34
+ * - For each terminal that the list adds, a `terminal_update` that lets the
35
+ * client cancel it. It also comes before the first list that names the
36
+ * terminal, as v2 requires: the terminal's own updates came earlier.
37
+ * - Once a state of the session carried a list, the state again with the
38
+ * new list, without a stop reason: a repeated `idle` is no new
39
+ * completion. A subagent's goes to its parent's mirror first, as its
40
+ * other states do.
41
+ */
42
+ changed(report: BackgroundReport): v2.UpdateSessionNotification[];
43
+ /**
44
+ * The current `terminal_update` of each terminal that the session
45
+ * `sessionId` lists. v2 requires it before the state snapshot of
46
+ * `session/resume`, as a replay may not have delivered it.
47
+ */
48
+ currentTerminals(sessionId: string): v2.UpdateSessionNotification[];
49
+ /** The subagent sessions that the session `sessionId` lists. */
50
+ listedSubagents(sessionId: string): string[];
51
+ /** Forgets the list of a session, and those of its subagent sessions. */
52
+ forget(sessionId: string): void;
53
+ }
54
+ //# 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;AAOD,qBAAa,YAAY;IAUX,OAAO,CAAC,QAAQ,CAAC,SAAS;IATtC;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAGrB;gBAEyB,SAAS,EAAE,WAAW;IAEnD;;;;;OAKG;IACH,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,yBAAyB,GAAG,EAAE,CAAC,yBAAyB;IAyB/E;;;;;;;;;;OAUG;IACH,OAAO,CAAC,MAAM,EAAE,gBAAgB,GAAG,EAAE,CAAC,yBAAyB,EAAE;IA6BjE;;;;OAIG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,EAAE,CAAC,yBAAyB,EAAE;IAQnE,gEAAgE;IAChE,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAM5C,yEAAyE;IACzE,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;CAMhC"}
@@ -0,0 +1,123 @@
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
+ export class V2Background {
20
+ terminals;
21
+ /**
22
+ * The latest list of each session that reports one, whether a state of the
23
+ * session carried it, and the parent of a subagent session.
24
+ */
25
+ sessions = new Map();
26
+ constructor(terminals) {
27
+ this.terminals = terminals;
28
+ }
29
+ /**
30
+ * `notification` with the session's list, when it is a `state_update` of a
31
+ * session that reports one, or a `subagent_update` that mirrors the state of
32
+ * such a child. A child of a session that reports its list reports its own
33
+ * from its announcement on: empty, until the agent reports it.
34
+ */
35
+ stamp(notification) {
36
+ const { sessionId, update } = notification;
37
+ if (update.sessionUpdate === "state_update") {
38
+ const session = this.sessions.get(sessionId);
39
+ if (!session)
40
+ return notification;
41
+ session.reported = true;
42
+ return { ...notification, update: { ...update, background: session.items } };
43
+ }
44
+ if (update.sessionUpdate === "subagent_update" && this.sessions.has(sessionId)) {
45
+ const subagent = update;
46
+ let child = this.sessions.get(subagent.sessionId);
47
+ if (!child) {
48
+ child = { items: [], reported: false, parent: sessionId };
49
+ this.sessions.set(subagent.sessionId, child);
50
+ }
51
+ if (subagent.state) {
52
+ return {
53
+ ...notification,
54
+ update: { ...subagent, state: withBackground(subagent.state, child.items) },
55
+ };
56
+ }
57
+ }
58
+ return notification;
59
+ }
60
+ /**
61
+ * Records the new list of a session, and returns the updates that report it:
62
+ *
63
+ * - For each terminal that the list adds, a `terminal_update` that lets the
64
+ * client cancel it. It also comes before the first list that names the
65
+ * terminal, as v2 requires: the terminal's own updates came earlier.
66
+ * - Once a state of the session carried a list, the state again with the
67
+ * new list, without a stop reason: a repeated `idle` is no new
68
+ * completion. A subagent's goes to its parent's mirror first, as its
69
+ * other states do.
70
+ */
71
+ changed(report) {
72
+ const { sessionId, items, state, parentSessionId } = report;
73
+ const session = this.sessions.get(sessionId);
74
+ const unchanged = session && JSON.stringify(session.items) === JSON.stringify(items);
75
+ this.sessions.set(sessionId, {
76
+ items,
77
+ reported: session?.reported ?? false,
78
+ parent: parentSessionId ?? session?.parent,
79
+ });
80
+ const known = new Set((session?.items ?? []).flatMap((item) => (item.type === "terminal" ? [item.terminalId] : [])));
81
+ const updates = items.flatMap((item) => {
82
+ if (item.type !== "terminal" || known.has(item.terminalId))
83
+ return [];
84
+ const update = this.terminals.advertiseCancel(sessionId, item.terminalId);
85
+ return update ? [{ sessionId, update }] : [];
86
+ });
87
+ if (session?.reported && state && !unchanged) {
88
+ if (parentSessionId) {
89
+ updates.push({
90
+ sessionId: parentSessionId,
91
+ update: { sessionUpdate: "subagent_update", sessionId, state: currentState(state) },
92
+ });
93
+ }
94
+ updates.push({ sessionId, update: stateUpdate(state) });
95
+ }
96
+ return updates;
97
+ }
98
+ /**
99
+ * The current `terminal_update` of each terminal that the session
100
+ * `sessionId` lists. v2 requires it before the state snapshot of
101
+ * `session/resume`, as a replay may not have delivered it.
102
+ */
103
+ currentTerminals(sessionId) {
104
+ return (this.sessions.get(sessionId)?.items ?? []).flatMap((item) => {
105
+ if (item.type !== "terminal")
106
+ return [];
107
+ const update = this.terminals.advertiseCancel(sessionId, item.terminalId, true);
108
+ return update ? [{ sessionId, update }] : [];
109
+ });
110
+ }
111
+ /** The subagent sessions that the session `sessionId` lists. */
112
+ listedSubagents(sessionId) {
113
+ return (this.sessions.get(sessionId)?.items ?? []).flatMap((item) => item.type === "subagent" ? [item.sessionId] : []);
114
+ }
115
+ /** Forgets the list of a session, and those of its subagent sessions. */
116
+ forget(sessionId) {
117
+ this.sessions.delete(sessionId);
118
+ for (const [child, { parent }] of this.sessions) {
119
+ if (parent === sessionId)
120
+ this.forget(child);
121
+ }
122
+ }
123
+ }
@@ -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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../src/v2/terminal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,KAAK,KAAK,EAAE,MAAM,mDAAmD,CAAC;AAE7E,KAAK,gBAAgB,GACjB,CAAC,QAAQ,GAAG;IAAE,aAAa,EAAE,WAAW,CAAA;CAAE,CAAC,GAC3C,CAAC,cAAc,GAAG;IAAE,aAAa,EAAE,kBAAkB,CAAA;CAAE,CAAC,CAAC;AAiB7D,0EAA0E;AAC1E,qBAAa,WAAW;IACtB,oGAAoG;IACpG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+D;IAEvF;;;;;;;;OAQG;IACH,KAAK,CACH,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,gBAAgB,GACvB;QAAE,QAAQ,EAAE,EAAE,CAAC,aAAa,EAAE,CAAC;QAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAA;KAAE;IAuCzE,0CAA0C;IAC1C,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;CAKhC"}
1
+ {"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../src/v2/terminal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,KAAK,KAAK,EAAE,MAAM,mDAAmD,CAAC;AAE7E,KAAK,gBAAgB,GACjB,CAAC,QAAQ,GAAG;IAAE,aAAa,EAAE,WAAW,CAAA;CAAE,CAAC,GAC3C,CAAC,cAAc,GAAG;IAAE,aAAa,EAAE,kBAAkB,CAAA;CAAE,CAAC,CAAC;AAiB7D,0EAA0E;AAC1E,qBAAa,WAAW;IACtB,oGAAoG;IACpG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAGpB;IAEJ;;;;;;;;OAQG;IACH,KAAK,CACH,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,gBAAgB,GACvB;QAAE,QAAQ,EAAE,EAAE,CAAC,aAAa,EAAE,CAAC;QAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAA;KAAE;IAyCzE;;;;;;OAMG;IACH,eAAe,CACb,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,KAAK,UAAQ,GACZ,EAAE,CAAC,aAAa,GAAG,SAAS;IAa/B,0CAA0C;IAC1C,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;CAKhC"}
@@ -42,6 +42,8 @@ export class V2Terminals {
42
42
  ...(exit.exit_code != null ? { exitCode: exit.exit_code } : {}),
43
43
  ...(exit.signal != null ? { signal: exit.signal } : {}),
44
44
  },
45
+ // An exited terminal can no longer be cancelled.
46
+ ...(running.cancellable ? { capabilities: null } : {}),
45
47
  }
46
48
  : {}),
47
49
  });
@@ -58,6 +60,26 @@ export class V2Terminals {
58
60
  }
59
61
  return { terminal, report: withoutTerminalKeys(report) };
60
62
  }
63
+ /**
64
+ * The `terminal_update` that lets the client cancel the running terminal
65
+ * `terminalId` of the session `sessionId` with `terminal/cancel`, with its
66
+ * command, or undefined when the terminal is not running. `again` sends it
67
+ * also when the terminal advertises the capability already, as the current
68
+ * state of the terminal.
69
+ */
70
+ advertiseCancel(sessionId, terminalId, again = false) {
71
+ // The agent names a command's terminal after its tool call.
72
+ const running = this.running.get(`${sessionId} ${terminalId}`);
73
+ if (!running || (running.cancellable && !again))
74
+ return undefined;
75
+ running.cancellable = true;
76
+ return {
77
+ sessionUpdate: "terminal_update",
78
+ terminalId,
79
+ ...(running.command !== undefined ? { command: running.command } : {}),
80
+ capabilities: { cancel: {} },
81
+ };
82
+ }
61
83
  /** Forgets the terminals of a session. */
62
84
  forget(sessionId) {
63
85
  for (const key of this.running.keys()) {
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "0.99.2-preview.11",
6
+ "version": "0.99.2-preview.12",
7
7
  "description": "An ACP-compatible coding agent powered by the Claude Agent SDK (TypeScript)",
8
8
  "main": "dist/lib.js",
9
9
  "types": "dist/lib.d.ts",