@agentclientprotocol/claude-agent-acp 0.89.2-preview.6 → 0.89.2-preview.8

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.
@@ -284,7 +284,19 @@ type Turn = {
284
284
  export type Session = {
285
285
  query: Query;
286
286
  input: Pushable<SDKUserMessage>;
287
+ /** Set by a cancel. While it is set, the consumer treats what arrives as the
288
+ * work the cancel stopped: it drops main-thread `assistant` and `user`
289
+ * messages (streamed text still goes out), skips results, and starts no
290
+ * model cycle. Cleared when the next prompt's turn activates,
291
+ * or when Claude Code starts a model request that serves none of
292
+ * {@link Session.cancelledPrompts} (see the `status` case of the
293
+ * consumer), such as its follow-up after a background command finished. */
287
294
  cancelled: boolean;
295
+ /** The prompts whose work the cancel stopped: the turns it settled as
296
+ * cancelled, and their steers. Recorded when the cancel arrives, before the
297
+ * orphan accounting, which can undercount a prompt that Claude Code had
298
+ * already taken off its queue. */
299
+ cancelledPrompts?: Set<string>;
288
300
  /** FIFO of in-flight prompts. The head is the turn the SDK is currently
289
301
  * processing; later entries are queued and will be echoed in order. */
290
302
  turnQueue?: Turn[];
@@ -356,6 +368,16 @@ export type Session = {
356
368
  * cancel() routes orphan accounting to `orphanCommands` (exact, per-uuid)
357
369
  * instead of `pendingOrphanResults` (count, coalescing-blind). */
358
370
  msgLifecycleV1?: boolean;
371
+ /** True once a `system`/init advertised the request_marker_lists_v1
372
+ * capability: each `status: requesting` frame, which starts a model
373
+ * request, then lists the prompts the request serves in
374
+ * `user_message_uuids`, and leaves the field out for a request that serves
375
+ * none, such as a cycle that Claude Code started on its own. */
376
+ requestMarkerListsV1?: boolean;
377
+ /** A main-thread model request started (`status: requesting`) since the
378
+ * last result, so a model cycle runs. Read only with
379
+ * {@link Session.requestMarkerListsV1}. */
380
+ modelRequestSinceResult?: boolean;
359
381
  /** Latched from `system`/init `terminal_slash_commands` (CLI 2.1.232+):
360
382
  * names of advertised slash commands whose UX is bound to the CLI's own
361
383
  * terminal (e.g. /doctor, /color). ACP clients aren't that terminal, so
@@ -462,11 +484,15 @@ export type Session = {
462
484
  /** Whether nested subagent text/thinking is forwarded to the ACP client.
463
485
  * Enabled by either the ACP capability or the pre-existing SDK option. */
464
486
  forwardSubagentText: boolean;
465
- /** Number of ACP permission/elicitation requests currently awaiting user
466
- * input. This is a counter rather than a boolean because parallel subagents
467
- * can ask concurrently; steering must remain non-interrupting until the last
468
- * request settles. */
469
- pendingUserInputCount?: number;
487
+ /** The ACP permission and elicitation requests that await user input, each
488
+ * with the subagent that asked (`agentID`, absent for the main
489
+ * conversation and for a request that names no agent). Parallel subagents
490
+ * can ask concurrently. Steering stays non-interrupting while any request
491
+ * is open; the foreground work awaits the user while one that blocks it is
492
+ * open (see {@link blocksForeground}). */
493
+ openUserInputs?: Set<{
494
+ agentID?: string;
495
+ }>;
470
496
  /** Context window size of the session's current model, carried across
471
497
  * prompts so mid-stream usage_update notifications report a correct `size`
472
498
  * before the turn's first result message arrives. Seeded synchronously at
@@ -582,6 +608,14 @@ export type Session = {
582
608
  liveBackgroundTasks: Map<string, {
583
609
  parentToolUseId?: string;
584
610
  isSubagent: boolean;
611
+ /** Whether the task runs in the background, so that the tool call that
612
+ * spawned it does not wait on it (`task_started.is_backgrounded`, or a
613
+ * later `task_updated` patch). Absent when Claude Code did not say. */
614
+ backgrounded?: boolean;
615
+ /** The subagent task whose agent launched this task
616
+ * (`task_started.parent_task_id`), absent for one the main conversation
617
+ * launched. */
618
+ parentTaskId?: string;
585
619
  /** Absent-from-level lifecycle, one field so the illegal
586
620
  * armed-but-not-ended state is unrepresentable: undefined = live per
587
621
  * the level signal; "ended" = a level omitted the task (holds stop
@@ -1300,19 +1334,19 @@ export declare class ClaudeAcpAgent {
1300
1334
  private replaySessionHistory;
1301
1335
  readTextFile(params: ReadTextFileRequest): Promise<ReadTextFileResponse>;
1302
1336
  writeTextFile(params: WriteTextFileRequest): Promise<WriteTextFileResponse>;
1303
- /** Mark a client request as blocking on user input for exactly the lifetime
1304
- * of its promise. Steering consults this session-local count synchronously,
1305
- * so a message arriving while any permission/elicitation card is open uses
1306
- * non-interrupting SDK delivery. The session's foreground work reports that
1307
- * it awaits the user while any such request is open (see
1308
- * `syncAwaitingUser`). */
1337
+ /** Mark a client request of the subagent `agentID` (absent for the main
1338
+ * conversation) as awaiting user input for exactly the lifetime of its
1339
+ * promise (see `Session.openUserInputs`). Steering consults the open
1340
+ * requests synchronously, so a message arriving while any permission or
1341
+ * elicitation card is open uses non-interrupting SDK delivery. */
1309
1342
  private withPendingUserInput;
1310
1343
  /** Report whether the session's foreground work awaits the user: exactly
1311
- * while a permission request or question is open in the session. A request
1312
- * does not say which prompt it is for, and Claude Code can ask for a queued
1313
- * prompt before the consumer activates it, so a request is not tied to the
1314
- * work that was running when it opened. Called when the count changes and
1315
- * when a turn activates. */
1344
+ * while a permission request or question that blocks it is open (see
1345
+ * {@link blocksForeground}). A request does not say which prompt it is for,
1346
+ * and Claude Code can ask for a queued prompt before the consumer activates
1347
+ * it, so a request is not tied to the work that was running when it
1348
+ * opened. Called when a request opens or closes, when a turn activates, and
1349
+ * when a task registers or moves to the background. */
1316
1350
  private syncAwaitingUser;
1317
1351
  /** Make `owner` the foreground work of the session `sessionId` (see
1318
1352
  * {@link ForegroundEvents}): it reports `running`, then waits at once if a
@@ -1327,8 +1361,8 @@ export declare class ClaudeAcpAgent {
1327
1361
  * work (see {@link ForegroundEvents}) when `message` is its first output:
1328
1362
  * model output of the main conversation (not a subagent's) while no work
1329
1363
  * runs. That includes a turn that v1 holds for its background subagents,
1330
- * whose work ended at its result, so its follow-up is a cycle. Output after
1331
- * a cancel is dropped, so it starts nothing. */
1364
+ * whose work ended at its result, so its follow-up is a cycle. Output of
1365
+ * the work a cancel stopped starts nothing (see Session.cancelled). */
1332
1366
  private startAutonomousCycle;
1333
1367
  /** End the session's model cycle that Claude Code started on its own, if one
1334
1368
  * runs. */
@@ -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
@@ -2397,7 +2397,7 @@ export class ClaudeAcpAgent {
2397
2397
  // Deliver into the running turn rather than queuing behind it as a fresh
2398
2398
  // prompt would.
2399
2399
  userMessage.priority =
2400
- (session.pendingUserInputCount ?? 0) > 0 ? STEER_PRIORITY_LATER : STEER_PRIORITY_NOW;
2400
+ (session.openUserInputs?.size ?? 0) > 0 ? STEER_PRIORITY_LATER : STEER_PRIORITY_NOW;
2401
2401
  // Mark before the push and in the same synchronous section as the in-flight
2402
2402
  // check: the interrupt can have the CLI finalizing the aborted cycle by the
2403
2403
  // time the consumer next runs, and an unmarked result would settle the turn
@@ -2718,6 +2718,7 @@ export class ClaudeAcpAgent {
2718
2718
  const activateTurn = (turn) => {
2719
2719
  session.activeTurn = turn;
2720
2720
  session.cancelled = false;
2721
+ session.cancelledPrompts = undefined;
2721
2722
  compaction.resume();
2722
2723
  if (turn.localCommand?.startsAtActivation)
2723
2724
  ensureLocalCommandMarkdown(turn);
@@ -2789,7 +2790,7 @@ export class ClaudeAcpAgent {
2789
2790
  * a stamp naming an orphaned command consumes the result outright, and a
2790
2791
  * stamp naming anything else positively refutes "this is a dead turn's
2791
2792
  * result", so the dup-over-loss one-skip must not eat it. */
2792
- const ensureActiveTurn = async (resultUserMessageUuid) => {
2793
+ const ensureActiveTurn = async (resultUserMessageUuid, resultUserMessageUuids) => {
2793
2794
  if (session.activeTurn) {
2794
2795
  if (!isHeldOpen(session.activeTurn)) {
2795
2796
  return;
@@ -2815,8 +2816,8 @@ export class ClaudeAcpAgent {
2815
2816
  }
2816
2817
  // Orphan accounting runs BEFORE the head check: an orphan's echo-less
2817
2818
  // result can arrive with an EMPTY queue (the common post-cancel
2818
- // timeline — the active turn settled at the interrupt's idle and the
2819
- // user hasn't typed yet), and it must still be consumed here. Skipping
2819
+ // timeline — the cancelled turn settled at its interrupted result and
2820
+ // the user hasn't typed yet), and it must still be consumed here. Skipping
2820
2821
  // the bookkeeping when there is nothing to promote would leave a
2821
2822
  // phantom entry/count that swallows the next live echo-less result
2822
2823
  // (e.g. /compact) instead.
@@ -2885,6 +2886,14 @@ export class ClaudeAcpAgent {
2885
2886
  }
2886
2887
  }
2887
2888
  }
2889
+ // A result that names a prompt a cancel stopped is that prompt's, even
2890
+ // when the orphan accounting above lost track of it: the interrupt
2891
+ // receipt leaves out a prompt that Claude Code had already taken off its
2892
+ // queue. It must not settle the prompt sent after the cancel.
2893
+ const stamps = resultUserMessageUuids ??
2894
+ (resultUserMessageUuid !== undefined ? [resultUserMessageUuid] : []);
2895
+ if (stamps.some((uuid) => session.cancelledPrompts?.has(uuid)))
2896
+ return;
2888
2897
  const head = firstUnsettledQueuedTurn();
2889
2898
  if (!head) {
2890
2899
  return;
@@ -2984,15 +2993,23 @@ export class ClaudeAcpAgent {
2984
2993
  };
2985
2994
  /** Registers a live background task (see `liveBackgroundTasks`). A
2986
2995
  * subagent is also recorded on the active turn, so that turn holds until
2987
- * the subagent settles (see `Turn.spawnedTaskIds`). */
2988
- const registerLiveTask = (taskId, parentToolUseId, isSubagent) => {
2989
- session.liveBackgroundTasks.set(taskId, { parentToolUseId, isSubagent });
2996
+ * the subagent settles (see `Turn.spawnedTaskIds`). Its requests may
2997
+ * already be open, and where it runs decides whether they block the
2998
+ * foreground work, so that is checked again. */
2999
+ const registerLiveTask = (taskId, parentToolUseId, isSubagent, placement = {}) => {
3000
+ session.liveBackgroundTasks.set(taskId, {
3001
+ parentToolUseId,
3002
+ isSubagent,
3003
+ ...(placement.backgrounded !== undefined ? { backgrounded: placement.backgrounded } : {}),
3004
+ ...(placement.parentTaskId !== undefined ? { parentTaskId: placement.parentTaskId } : {}),
3005
+ });
2990
3006
  if (parentToolUseId)
2991
3007
  forgetForegroundToolCall(session, parentToolUseId);
2992
3008
  session.resumableSubagents?.delete(taskId);
2993
3009
  if (isSubagent && session.activeTurn && !session.activeTurn.settled) {
2994
3010
  (session.activeTurn.spawnedTaskIds ??= new Set()).add(taskId);
2995
3011
  }
3012
+ this.syncAwaitingUser(params.sessionId, session);
2996
3013
  };
2997
3014
  const settleLiveTask = (taskId) => settleLiveBackgroundTask(session, taskId);
2998
3015
  /** Registers a settled subagent again when the SDK resumes it without a
@@ -3003,8 +3020,9 @@ export class ClaudeAcpAgent {
3003
3020
  if (session.liveBackgroundTasks.has(taskId))
3004
3021
  return;
3005
3022
  const settled = session.resumableSubagents?.get(taskId);
3023
+ // Claude Code always resumes a subagent in the background.
3006
3024
  if (settled)
3007
- registerLiveTask(taskId, settled.parentToolUseId, true);
3025
+ registerLiveTask(taskId, settled.parentToolUseId, true, { backgrounded: true });
3008
3026
  };
3009
3027
  /** Whether any background subagent this turn spawned is still live —
3010
3028
  * while true, the turn's settlement stays deferred so the subagent's
@@ -3333,9 +3351,9 @@ export class ClaudeAcpAgent {
3333
3351
  }
3334
3352
  }
3335
3353
  else if (active.commandResultSeen) {
3336
- // Its result was already consumed (dropped at the cancelled
3337
- // guard); only the terminal frame is outstanding, which no-ops
3338
- // with no entry. Nothing to track.
3354
+ // Its result was already consumed (at the cancelled guard);
3355
+ // only the terminal frame is outstanding, which no-ops with no
3356
+ // entry. Nothing to track.
3339
3357
  }
3340
3358
  else {
3341
3359
  // The wedged turn WAS dispatched (it's active), so track it
@@ -3559,6 +3577,9 @@ export class ClaudeAcpAgent {
3559
3577
  if (message.capabilities?.includes("msg_lifecycle_v1")) {
3560
3578
  session.msgLifecycleV1 = true;
3561
3579
  }
3580
+ if (message.capabilities?.includes("request_marker_lists_v1")) {
3581
+ session.requestMarkerListsV1 = true;
3582
+ }
3562
3583
  // A fresh `system`/init (e.g. after reinitialize) can carry an
3563
3584
  // updated Fast mode state; reconcile it with what we seeded at
3564
3585
  // session creation.
@@ -3594,6 +3615,24 @@ export class ClaudeAcpAgent {
3594
3615
  }
3595
3616
  break;
3596
3617
  case "status": {
3618
+ // A model request that serves none of the prompts a cancel
3619
+ // stopped is new work, such as Claude Code's follow-up after a
3620
+ // background command finished. It comes after the stopped
3621
+ // work's result: Claude Code ends the interrupted turn first,
3622
+ // then runs any prompt it had already taken off its queue (its
3623
+ // request names it, so the cancel still drops it), then its own
3624
+ // follow-ups, whose requests name no prompt.
3625
+ if (message.status === "requesting" &&
3626
+ session.cancelled &&
3627
+ session.requestMarkerListsV1 &&
3628
+ !servesCancelledWork(session, message)) {
3629
+ session.cancelled = false;
3630
+ session.cancelledPrompts = undefined;
3631
+ // The stopped work's tail has drained, as at activation.
3632
+ compaction.resume();
3633
+ }
3634
+ if (message.status === "requesting")
3635
+ session.modelRequestSinceResult = true;
3597
3636
  if (message.status === "compacting") {
3598
3637
  await compaction.start(message.uuid);
3599
3638
  }
@@ -3705,9 +3744,9 @@ export class ClaudeAcpAgent {
3705
3744
  // the time it arrives the SDK may have echoed the NEXT turn
3706
3745
  // and activated it — settling now would resolve that new
3707
3746
  // turn prematurely with end_turn and ~zero usage, dropping
3708
- // its real result. A cancelled turn relies on `idle`: its
3709
- // `result` is dropped at the `session.cancelled` guard, so
3710
- // it never settles at a result and must settle here.
3747
+ // its real result. A cancelled turn settles at its
3748
+ // interrupted result (at the `session.cancelled` guard); one
3749
+ // whose result never came settles here.
3711
3750
  //
3712
3751
  // An idle that is NOT owed while the active turn is still
3713
3752
  // unsettled is the issue #825 signature: `idle` is the SDK's
@@ -3719,12 +3758,9 @@ export class ClaudeAcpAgent {
3719
3758
  // the turn NOW so its session/prompt gets a terminal
3720
3759
  // response, instead of leaving it hanging until the next
3721
3760
  // prompt drains the wreckage.
3722
- // A cancelled turn still consumed tokens: its dropped result
3723
- // already fed the accumulator (the usage tally at the result
3724
- // handler runs before the `session.cancelled` guard), so
3725
- // report it — clients metering spend would otherwise lose
3726
- // the interrupted turn's tokens entirely (issue #844). Zero
3727
- // when the cancel pre-empted the result (wedge/force-cancel).
3761
+ // A cancelled turn reaches this with no result of its own,
3762
+ // so its usage is zero (wedge/force-cancel), or, for a held
3763
+ // turn, the usage its result recorded (issue #844).
3728
3764
  if (session.cancelled && session.activeTurn && !session.activeTurn.settled) {
3729
3765
  // A held turn's result passed long ago; this idle is the
3730
3766
  // trailer of the followup cycle the cancel interrupted,
@@ -3996,7 +4032,10 @@ export class ClaudeAcpAgent {
3996
4032
  // turn: a turn only ever waits on its own subagents, and a
3997
4033
  // spawn during a held-open drain window (an agent chain)
3998
4034
  // extends that turn's hold.
3999
- registerLiveTask(message.task_id, message.tool_use_id, !!message.subagent_type);
4035
+ registerLiveTask(message.task_id, message.tool_use_id, !!message.subagent_type, {
4036
+ backgrounded: message.is_backgrounded,
4037
+ parentTaskId: message.parent_task_id,
4038
+ });
4000
4039
  await subagents.taskStarted({
4001
4040
  taskId: message.task_id,
4002
4041
  toolUseId: message.tool_use_id,
@@ -4043,6 +4082,14 @@ export class ClaudeAcpAgent {
4043
4082
  break;
4044
4083
  }
4045
4084
  await asyncTasks.taskUpdated(message.task_id, message.patch);
4085
+ // A task moved to the background no longer blocks the tool
4086
+ // call that spawned it, nor its requests the foreground work.
4087
+ if (message.patch.is_backgrounded !== undefined) {
4088
+ const task = session.liveBackgroundTasks.get(message.task_id);
4089
+ if (task)
4090
+ task.backgrounded = message.patch.is_backgrounded;
4091
+ this.syncAwaitingUser(params.sessionId, session);
4092
+ }
4046
4093
  // terminal-status task_updated patch and a (deduplicated)
4047
4094
  // task_notification when a task settles, but only the patch is
4048
4095
  // guaranteed per transition — prune on it too so the registry
@@ -4264,6 +4311,7 @@ export class ClaudeAcpAgent {
4264
4311
  }
4265
4312
  break;
4266
4313
  case "result": {
4314
+ session.modelRequestSinceResult = false;
4267
4315
  // The result ends the model turn. A background task that still
4268
4316
  // waits for its tool call id gets its spawn now, without the id.
4269
4317
  await asyncTasks.releaseHeld();
@@ -4298,7 +4346,7 @@ export class ClaudeAcpAgent {
4298
4346
  // the map in that case).
4299
4347
  if (!isAutonomousResult) {
4300
4348
  recordResultForOrphanCommands();
4301
- await ensureActiveTurn(message.user_message_uuid);
4349
+ await ensureActiveTurn(message.user_message_uuid, message.user_message_uuids);
4302
4350
  // A result that names a steer consumed it (see
4303
4351
  // Turn.steeredEchoes), so the steered work is done: retire
4304
4352
  // its echo — the CLI may never have replayed it — and, with
@@ -4359,13 +4407,10 @@ export class ClaudeAcpAgent {
4359
4407
  // orphan skip) and the SDK follows it with a trailing
4360
4408
  // `session_state_changed: idle` — record the debt so the idle
4361
4409
  // handler absorbs that idle rather than reading it as a turn the
4362
- // SDK abandoned (issue #825). One exclusion: the cancelled ACTIVE
4363
- // turn's own result. It is dropped at the `session.cancelled`
4364
- // guard, and either the idle itself settles the turn (consuming
4365
- // the trailer) or the next echo's hand-off does (which records
4366
- // the debt there instead) — counting here too would double it.
4367
- // Results skipped while cancelled with NO active turn — orphaned
4368
- // queued turns the SDK still ran, or a force-cancelled turn's
4410
+ // SDK abandoned (issue #825). That includes the result of a
4411
+ // cancelled turn, which settles it at the `session.cancelled`
4412
+ // guard below. Results skipped while cancelled with NO active
4413
+ // turn — orphaned queued turns the SDK still ran, or a force-cancelled turn's
4369
4414
  // late result after the backstop settled it — get no such settle,
4370
4415
  // so their trailers must be counted here or they'd later be read
4371
4416
  // as the next healthy turn being abandoned and false-fail it.
@@ -4378,20 +4423,17 @@ export class ClaudeAcpAgent {
4378
4423
  // but a held turn settling AT a followup result unblocks the
4379
4424
  // client at exactly that point, making the race the common
4380
4425
  // case.
4381
- // The cancelled-ACTIVE-turn exclusion applies only to that
4382
- // turn's OWN result — a followup result arriving inside the
4383
- // cancel window still gets its own trailer and must be counted,
4384
- // or that idle would later false-fail the next prompt.
4385
- // A second exclusion: a steered turn's own results (see
4426
+ // One exclusion: a steered turn's own results (see
4386
4427
  // Turn.steeredEchoes). One idle covers the whole interrupted +
4387
4428
  // steered sequence and that idle settles the turn, so counting
4388
4429
  // either result would leave a debt that swallows it. Autonomous
4389
4430
  // results inside a steered turn keep their own trailers, and so
4390
4431
  // does a result that named the steer: it took the turn out of the
4391
- // steer lane above and settles at the result, not the idle.
4392
- const owesTrailingIdle = isAutonomousResult || !isSteering(session.activeTurn);
4393
- if (owesTrailingIdle &&
4394
- (isAutonomousResult || !session.cancelled || !session.activeTurn)) {
4432
+ // steer lane above and settles at the result, not the idle. So
4433
+ // does a cancelled steered turn's result, which settles it at the
4434
+ // `session.cancelled` guard below.
4435
+ const owesTrailingIdle = isAutonomousResult || !isSteering(session.activeTurn) || session.cancelled;
4436
+ if (owesTrailingIdle) {
4395
4437
  session.owedTrailingIdles++;
4396
4438
  }
4397
4439
  // Accumulate usage into the user turn's tally. Skip autonomous
@@ -4495,7 +4537,7 @@ export class ClaudeAcpAgent {
4495
4537
  pendingExitPlanContextReset?.toolUseId ===
4496
4538
  pendingExitPlanModeInterruption?.toolUseId;
4497
4539
  if (!continuesPlan && !(isAutonomousResult && message.num_turns === 0)) {
4498
- this.endAutonomousCycle(params.sessionId, autonomousCycleEnd(message, resultModelUsage, session.cancelled || exitPlanInterruption));
4540
+ this.endAutonomousCycle(params.sessionId, autonomousCycleEnd(message, resultModelUsage, session.cancelled || exitPlanInterruption || isAbortedResult(message)));
4499
4541
  }
4500
4542
  if (session.cancelled) {
4501
4543
  session.pendingExitPlanModeInterruption = undefined;
@@ -4504,6 +4546,21 @@ export class ClaudeAcpAgent {
4504
4546
  await clearFailuresFromEarlierTurns();
4505
4547
  stopReason = "cancelled";
4506
4548
  }
4549
+ // The cancelled turn ends at the result of the work the
4550
+ // interrupt stopped: its own result, or for a turn held open
4551
+ // for its subagents (see Turn.deferredSettle), its follow-up's
4552
+ // aborted one. A follow-up result that is not aborted, such as
4553
+ // a placeholder or one that ended before the interrupt landed,
4554
+ // belongs to other work. Claude Code ends the stopped work
4555
+ // first, then goes on with its queue, so the idle can come
4556
+ // much later, after a follow-up. That idle, the next echo's
4557
+ // hand-off, and the force-cancel backstop settle a turn whose
4558
+ // result never comes.
4559
+ const active = session.activeTurn;
4560
+ const stoppedWork = !isAutonomousResult || (isHeldOpen(active) && isAbortedResult(message));
4561
+ if (active && !active.settled && stoppedWork) {
4562
+ await settleActive(cancelledOutcome(session, active));
4563
+ }
4507
4564
  break;
4508
4565
  }
4509
4566
  // A held turn (see Turn.deferredSettle) settles at its
@@ -4811,9 +4868,10 @@ export class ClaudeAcpAgent {
4811
4868
  // subagent never holds the prompt hostage.
4812
4869
  //
4813
4870
  // is_error/auth already settled via failActive (activeTurn is null
4814
- // then, so both branches no-op); cancellation is left to the
4815
- // idle/abort path. settleActive is idempotent, so a duplicate
4816
- // idle is a no-op.
4871
+ // then, so both branches no-op); a cancelled turn settles at
4872
+ // the `session.cancelled` guard above, or on the idle/abort
4873
+ // path when its result never comes. settleActive is idempotent,
4874
+ // so a duplicate idle is a no-op.
4817
4875
  //
4818
4876
  // A result also closes this compaction lifecycle — before the
4819
4877
  // settle, so a `cancelled` terminal for an entity the runtime
@@ -5012,7 +5070,7 @@ export class ClaudeAcpAgent {
5012
5070
  if (session.activeTurn !== queued) {
5013
5071
  if (session.activeTurn) {
5014
5072
  // Hand off the previous turn. If a cancel is pending for it
5015
- // (its trailing idle hasn't arrived yet), settle it
5073
+ // (neither its result nor its idle has arrived), settle it
5016
5074
  // "cancelled" per the ACP contract rather than "end_turn" —
5017
5075
  // otherwise a cancel followed quickly by the next prompt
5018
5076
  // would report the cancelled turn as a normal completion.
@@ -5490,6 +5548,16 @@ export class ClaudeAcpAgent {
5490
5548
  return;
5491
5549
  }
5492
5550
  session.cancelled = true;
5551
+ // Before anything awaits, so a model request that the consumer reads in
5552
+ // the meantime is already judged against these prompts.
5553
+ session.cancelledPrompts ??= new Set();
5554
+ for (const turn of session.turnQueue ?? []) {
5555
+ if (turn.settled)
5556
+ continue;
5557
+ session.cancelledPrompts.add(turn.promptUuid);
5558
+ for (const uuid of turn.steeredUuids ?? [])
5559
+ session.cancelledPrompts.add(uuid);
5560
+ }
5493
5561
  for (const turn of session.turnQueue ?? [])
5494
5562
  turn.localCommandAbort?.abort();
5495
5563
  session.pendingExitPlanModeInterruption = undefined;
@@ -5540,9 +5608,10 @@ export class ClaudeAcpAgent {
5540
5608
  // never decrements the count) to miss.
5541
5609
  const lifecycleLane = session.msgLifecycleV1 === true;
5542
5610
  // Settle queued turns that haven't started yet (no echo seen) right away —
5543
- // they have no in-flight SDK work to interrupt. The active turn is settled
5544
- // by the consumer when it observes the interrupt's trailing idle (or via the
5545
- // backstop below). Mirrors the old pendingMessages cancellation.
5611
+ // they have no in-flight SDK work to interrupt. The consumer settles the
5612
+ // active turn at its interrupted result, or at the idle when that never
5613
+ // comes (or via the backstop below). Mirrors the old pendingMessages
5614
+ // cancellation.
5546
5615
  const orphanedTurns = [];
5547
5616
  if (session.turnQueue) {
5548
5617
  for (const turn of session.turnQueue) {
@@ -5628,14 +5697,19 @@ export class ClaudeAcpAgent {
5628
5697
  // whose session sits idle gets no trailing idle (the interrupt emits
5629
5698
  // nothing; with no state events consumed yet, the same is assumed).
5630
5699
  // A held turn whose followup cycle is live (running, or blocked on a
5631
- // permission request) is left to that idle, like any live turn: the
5632
- // interrupt still flushes the cycle's output, which must reach the client
5633
- // before the turn ends cancelled. The captured outcome preserves usage and
5634
- // metadata (issue #844), while reporter state makes a late checkpoint
5635
- // response harmless.
5700
+ // permission request) is left to that cycle's interrupted result, like any
5701
+ // live turn, or to the idle when no result comes. The captured outcome
5702
+ // preserves usage and metadata (issue #844), while reporter state makes a
5703
+ // late checkpoint response harmless.
5704
+ // Since CLI 2.1.270, Claude Code reports `running` for as long as
5705
+ // background agents live, so the session state cannot tell a live
5706
+ // followup from a hold. With request markers, a followup is live when one
5707
+ // of its model requests started after the turn's result.
5636
5708
  {
5637
5709
  const active = session.activeTurn;
5638
- const followupLive = session.lastSessionState === "running" || session.lastSessionState === "requires_action";
5710
+ const followupLive = session.requestMarkerListsV1
5711
+ ? session.modelRequestSinceResult === true
5712
+ : session.lastSessionState === "running" || session.lastSessionState === "requires_action";
5639
5713
  if (active &&
5640
5714
  (active.settling || (isHeldOpen(active) && !followupLive)) &&
5641
5715
  (active.deferredSettle ?? active.settlingOutcome)) {
@@ -5675,7 +5749,7 @@ export class ClaudeAcpAgent {
5675
5749
  }
5676
5750
  }
5677
5751
  // A steered active turn (see Turn.steeredEchoes) settles "cancelled" in the
5678
- // consumer at the interrupt's trailing idle, like any live turn. But the
5752
+ // consumer at its interrupted result, or at the idle, like any live turn. But the
5679
5753
  // steer lane pays for its last result's trailer by settling on it, which
5680
5754
  // this cancel pre-empts, so count that trailer here or it arrives un-owed
5681
5755
  // against the next prompt and false-fails it (issue #825). Over-counting
@@ -5706,6 +5780,10 @@ export class ClaudeAcpAgent {
5706
5780
  }
5707
5781
  // Before the interrupt: once it stops the running turn, Claude Code starts
5708
5782
  // the next queued message right away.
5783
+ // A prompt or steer that arrived while this cancel awaited is abandoned
5784
+ // too, after the record above was taken.
5785
+ for (const uuid of abandoned)
5786
+ (session.cancelledPrompts ??= new Set()).add(uuid);
5709
5787
  this.dropQueuedMessages(params.sessionId, session.query, abandoned);
5710
5788
  const interrupt = session.query.interrupt();
5711
5789
  if (!options.awaitInterrupt) {
@@ -6335,37 +6413,38 @@ export class ClaudeAcpAgent {
6335
6413
  const response = await this.client.writeTextFile(params);
6336
6414
  return response;
6337
6415
  }
6338
- /** Mark a client request as blocking on user input for exactly the lifetime
6339
- * of its promise. Steering consults this session-local count synchronously,
6340
- * so a message arriving while any permission/elicitation card is open uses
6341
- * non-interrupting SDK delivery. The session's foreground work reports that
6342
- * it awaits the user while any such request is open (see
6343
- * `syncAwaitingUser`). */
6344
- async withPendingUserInput(sessionId, request) {
6416
+ /** Mark a client request of the subagent `agentID` (absent for the main
6417
+ * conversation) as awaiting user input for exactly the lifetime of its
6418
+ * promise (see `Session.openUserInputs`). Steering consults the open
6419
+ * requests synchronously, so a message arriving while any permission or
6420
+ * elicitation card is open uses non-interrupting SDK delivery. */
6421
+ async withPendingUserInput(sessionId, request, agentID) {
6345
6422
  const session = this.sessions[sessionId];
6346
6423
  if (!session)
6347
6424
  return request();
6348
- session.pendingUserInputCount = (session.pendingUserInputCount ?? 0) + 1;
6425
+ const input = agentID !== undefined ? { agentID } : {};
6426
+ (session.openUserInputs ??= new Set()).add(input);
6349
6427
  this.syncAwaitingUser(sessionId, session);
6350
6428
  try {
6351
6429
  return await request();
6352
6430
  }
6353
6431
  finally {
6354
- session.pendingUserInputCount = Math.max(0, (session.pendingUserInputCount ?? 1) - 1);
6432
+ session.openUserInputs.delete(input);
6355
6433
  this.syncAwaitingUser(sessionId, session);
6356
6434
  }
6357
6435
  }
6358
6436
  /** Report whether the session's foreground work awaits the user: exactly
6359
- * while a permission request or question is open in the session. A request
6360
- * does not say which prompt it is for, and Claude Code can ask for a queued
6361
- * prompt before the consumer activates it, so a request is not tied to the
6362
- * work that was running when it opened. Called when the count changes and
6363
- * when a turn activates. */
6437
+ * while a permission request or question that blocks it is open (see
6438
+ * {@link blocksForeground}). A request does not say which prompt it is for,
6439
+ * and Claude Code can ask for a queued prompt before the consumer activates
6440
+ * it, so a request is not tied to the work that was running when it
6441
+ * opened. Called when a request opens or closes, when a turn activates, and
6442
+ * when a task registers or moves to the background. */
6364
6443
  syncAwaitingUser(sessionId, session) {
6365
6444
  const work = this.foregroundWork.get(sessionId);
6366
6445
  if (!work)
6367
6446
  return;
6368
- const waiting = (session.pendingUserInputCount ?? 0) > 0;
6447
+ const waiting = [...(session.openUserInputs ?? [])].some((input) => blocksForeground(session, input.agentID));
6369
6448
  if (waiting === work.awaitingUser)
6370
6449
  return;
6371
6450
  work.awaitingUser = waiting;
@@ -6410,8 +6489,8 @@ export class ClaudeAcpAgent {
6410
6489
  * work (see {@link ForegroundEvents}) when `message` is its first output:
6411
6490
  * model output of the main conversation (not a subagent's) while no work
6412
6491
  * runs. That includes a turn that v1 holds for its background subagents,
6413
- * whose work ended at its result, so its follow-up is a cycle. Output after
6414
- * a cancel is dropped, so it starts nothing. */
6492
+ * whose work ended at its result, so its follow-up is a cycle. Output of
6493
+ * the work a cancel stopped starts nothing (see Session.cancelled). */
6415
6494
  startAutonomousCycle(sessionId, session, message) {
6416
6495
  if (!this.foregroundEvents || this.foregroundWork.has(sessionId) || session.cancelled)
6417
6496
  return;
@@ -6439,7 +6518,7 @@ export class ClaudeAcpAgent {
6439
6518
  * `$/cancel_request`, and our local abort race settles even if the client
6440
6519
  * ignores it. A `cancelled` outcome, request rejection, and local abort all
6441
6520
  * surface the same "Tool use aborted" the callers already expect. */
6442
- async requestPermissionFromClient(params, toolName, signal, parentToolUseId, ownerSessionId, toolInput, previewContent) {
6521
+ async requestPermissionFromClient(params, toolName, signal, parentToolUseId, ownerSessionId, agentID, toolInput, previewContent) {
6443
6522
  if (signal.aborted)
6444
6523
  throw new Error("Tool use aborted");
6445
6524
  // The SDK may invoke `canUseTool` (and therefore this permission request)
@@ -6457,7 +6536,7 @@ export class ClaudeAcpAgent {
6457
6536
  // The request goes to a subagent's child session for a tool call of that
6458
6537
  // subagent, but it blocks the turn of the owner session.
6459
6538
  try {
6460
- return await this.withPendingUserInput(ownerSessionId, () => raceWithAbort(this.client.requestPermission(params, signal), signal));
6539
+ return await this.withPendingUserInput(ownerSessionId, () => raceWithAbort(this.client.requestPermission(params, signal), signal), agentID);
6461
6540
  }
6462
6541
  catch (error) {
6463
6542
  if (signal.aborted) {
@@ -6630,7 +6709,7 @@ export class ClaudeAcpAgent {
6630
6709
  // Like permission requests, the elicitation references this toolUseID, so
6631
6710
  // make sure the tool_call has surfaced to the client before we send it.
6632
6711
  await this.ensureToolCallEmitted(sessionId, toolName, toolUseID, toolInput, parentToolUseId, signal, permissionSessionId);
6633
- return this.handleAskUserQuestion(sessionId, permissionSessionId, toolInput, toolUseID, signal);
6712
+ return this.handleAskUserQuestion(sessionId, permissionSessionId, toolInput, toolUseID, signal, agentID);
6634
6713
  }
6635
6714
  // Do not auto-allow here based on the session's advertised mode. Claude
6636
6715
  // Code applies bypassPermissions before invoking canUseTool; a request
@@ -6699,7 +6778,7 @@ export class ClaudeAcpAgent {
6699
6778
  ...presentation,
6700
6779
  options: permissionOptions,
6701
6780
  sessionId: permissionSessionId,
6702
- }, toolName, signal, parentToolUseId, sessionId, toolInput, previewContent);
6781
+ }, toolName, signal, parentToolUseId, sessionId, agentID, toolInput, previewContent);
6703
6782
  if (signal.aborted)
6704
6783
  throw new Error("Tool use aborted");
6705
6784
  const decodedPermission = decodeClaudePermissionResponse(response, toolName, toolInput, toolUseID, permissionOptions, durableChangeSet);
@@ -6787,7 +6866,7 @@ export class ClaudeAcpAgent {
6787
6866
  * The elicitation goes to `requestSessionId`, a subagent's child session for
6788
6867
  * a question it asks, and blocks the turn of `sessionId`.
6789
6868
  */
6790
- async handleAskUserQuestion(sessionId, requestSessionId, toolInput, toolUseID, signal) {
6869
+ async handleAskUserQuestion(sessionId, requestSessionId, toolInput, toolUseID, signal, agentID) {
6791
6870
  const questions = extractAskUserQuestions(toolInput);
6792
6871
  if (!questions) {
6793
6872
  return { behavior: "deny", message: "AskUserQuestion called with no valid questions." };
@@ -6795,7 +6874,7 @@ export class ClaudeAcpAgent {
6795
6874
  const createRequest = askUserQuestionsToCreateRequest(questions, requestSessionId, toolUseID, this.toolCallCapabilities.air.client);
6796
6875
  let response;
6797
6876
  try {
6798
- response = await this.withPendingUserInput(sessionId, () => this.client.createElicitation(createRequest, signal));
6877
+ response = await this.withPendingUserInput(sessionId, () => this.client.createElicitation(createRequest, signal), agentID);
6799
6878
  }
6800
6879
  catch (error) {
6801
6880
  // A cancellation we requested (signal aborted) settles as an aborted tool
@@ -8040,6 +8119,30 @@ function cancelledOutcome(session, turn) {
8040
8119
  ...(recorded._meta ? { _meta: recorded._meta } : {}),
8041
8120
  };
8042
8121
  }
8122
+ /** Whether the model request that `status` (a `status: requesting` frame)
8123
+ * starts may belong to the work a cancel stopped. It may while:
8124
+ * - a turn is unsettled: the stopped turn, whose result is still to come, or
8125
+ * a queued prompt, which the cancel abandons (one that arrived while the
8126
+ * cancel awaited is recorded only when the cancel sweeps the queue) or
8127
+ * whose echo ends the cancel right after its request anyway;
8128
+ * - the orphan accounting still expects the result of an abandoned prompt
8129
+ * that Claude Code may still run, which it can fold into its own
8130
+ * follow-up after that follow-up's first request;
8131
+ * - the request serves one of {@link Session.cancelledPrompts}, as an
8132
+ * abandoned prompt's request does even when the interrupt receipt left it
8133
+ * out of the orphan accounting. */
8134
+ function servesCancelledWork(session, status) {
8135
+ const cancelled = session.cancelledPrompts;
8136
+ if (!cancelled)
8137
+ return false;
8138
+ if ((session.turnQueue ?? []).some((turn) => !turn.settled))
8139
+ return true;
8140
+ if ((session.pendingOrphanResults ?? 0) > 0 || (session.orphanCommands?.size ?? 0) > 0) {
8141
+ return true;
8142
+ }
8143
+ const served = status.user_message_uuids;
8144
+ return (Array.isArray(served) && served.some((uuid) => typeof uuid === "string" && cancelled.has(uuid)));
8145
+ }
8043
8146
  /** `_meta.quota` for a prompt response: what the turn spent, shaped like
8044
8147
  * codex-acp's (snake_case container keys, camelCase counters) so a client
8045
8148
  * reads one shape from either agent.
@@ -8067,6 +8170,32 @@ function quotaMeta(usage, modelUsage) {
8067
8170
  },
8068
8171
  };
8069
8172
  }
8173
+ /** Whether a request that awaits the user for the subagent `agentID` (absent
8174
+ * for the main conversation) blocks the session's foreground work. The main
8175
+ * conversation's requests do. So do those of a subagent that runs in the
8176
+ * foreground of the main conversation, since the tool call that spawned it
8177
+ * waits on it, and so on up a chain of such subagents. A request of a
8178
+ * subagent in the background, or nested inside one, does not: the main
8179
+ * conversation goes on without it. A subagent without a record counts, as
8180
+ * its request can come before its `task_started`, which checks again. */
8181
+ function blocksForeground(session, agentID) {
8182
+ const seen = new Set();
8183
+ for (let id = agentID; id !== undefined && !seen.has(id);) {
8184
+ seen.add(id);
8185
+ const task = session.liveBackgroundTasks.get(id);
8186
+ if (!task)
8187
+ return true;
8188
+ if (task.backgrounded)
8189
+ return false;
8190
+ id = task.parentTaskId;
8191
+ }
8192
+ return true;
8193
+ }
8194
+ /** Whether Claude Code ended the work of `result` because an interrupt
8195
+ * stopped it, while the model streamed or while a tool ran. */
8196
+ function isAbortedResult(result) {
8197
+ return (result.terminal_reason === "aborted_streaming" || result.terminal_reason === "aborted_tools");
8198
+ }
8070
8199
  /** How a model cycle that Claude Code started on its own ended, read from its
8071
8200
  * result as a turn's is: a refusal, the token limit, and the turn and budget
8072
8201
  * limits are their stop reasons, an error result fails the cycle, and a
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "0.89.2-preview.6",
6
+ "version": "0.89.2-preview.8",
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",