@gkorepanov/ccodex 0.5.11 → 0.5.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.
@@ -1,10 +1,17 @@
1
- /** Owns discovery and tree projection of a native session's retained sub-agent transcripts. */
2
- import { readdir, readFile } from "node:fs/promises";
1
+ /**
2
+ * Owns discovery of a native session's retained sub-agent transcripts: a sub-agent is what its meta.json and the two
3
+ * ends of its transcript tell, its history is read page by page from its transcript alone (see `TranscriptPages`).
4
+ */
5
+ import { readdir, readFile, stat } from "node:fs/promises";
3
6
  import { join } from "node:path";
4
7
  import { claudeModelLabel } from "../modelSelection.js";
5
- import { selectHistory } from "./history.js";
6
- import { projectTranscript } from "./projector.js";
7
- import { readTranscriptRecords } from "./records.js";
8
+ import { NO_PEERS } from "../peers.js";
9
+ import { parseLines, readRange } from "./pages.js";
10
+ import { lastTurnRuns } from "./projector.js";
11
+ import { asVisibleSidechain } from "./records.js";
12
+ import { TranscriptSummarizer } from "./summary.js";
13
+ /** Bytes read at a time from either end of a transcript: its task's prompt and its last reply fit, but on rare long lines. */
14
+ const END_BYTES = 64 * 1_024;
8
15
  function taskPrompt(records, toolUseId) {
9
16
  return records.find((record) => record.type === "user" && record.sourceToolUseID === toolUseId)
10
17
  ?? records.find((record) => record.type === "user" && !record.isCompactSummary
@@ -12,51 +19,66 @@ function taskPrompt(records, toolUseId) {
12
19
  ? Boolean(record.message.content)
13
20
  : record.message.content.some((block) => block.type === "text")));
14
21
  }
15
- function asVisibleSidechain(record) {
16
- if (record.type !== "user" && record.type !== "assistant" && record.type !== "system" && record.type !== "attachment") {
17
- return record;
22
+ /** A reply of the model (Claude's own error replies carry the model "<synthetic>"). */
23
+ function modelReply(record) {
24
+ return record.type === "assistant" && Boolean(record.message.model) && record.message.model !== "<synthetic>";
25
+ }
26
+ /** The transcript's whole lines from its start as far as its task's prompt; `end`: where they end. */
27
+ async function head(path, size, toolUseId) {
28
+ for (let length = END_BYTES;; length *= 2) {
29
+ const { records, end } = parseLines(await readRange(path, 0, Math.min(length, size)), 0, 0);
30
+ const prompt = taskPrompt(records, toolUseId);
31
+ if (prompt || length >= size)
32
+ return { records, end, prompt };
18
33
  }
19
- return { ...record, isSidechain: false };
20
34
  }
21
- export async function projectSubagents(sessionDirectory, spawningThreadId) {
22
- const directory = join(sessionDirectory, "subagents");
23
- const names = (await readdir(directory)).filter((name) => /^agent-.+\.meta\.json$/u.test(name)).sort();
24
- const metas = await Promise.all(names.map(async (name) => {
25
- const agentId = name.slice("agent-".length, -".meta.json".length);
26
- const meta = JSON.parse(await readFile(join(directory, name), "utf8"));
27
- return { agentId, meta };
28
- }));
29
- metas.sort((left, right) => left.meta.spawnDepth - right.meta.spawnDepth || left.agentId.localeCompare(right.agentId));
30
- const projected = [];
31
- for (const { agentId, meta } of metas) {
32
- const path = join(directory, `agent-${agentId}.jsonl`);
33
- const reader = readTranscriptRecords(path);
34
- const records = [];
35
- for await (const record of reader)
36
- records.push(asVisibleSidechain(record));
37
- const prompt = taskPrompt(records, meta.toolUseId);
38
- const assistants = records.filter((record) => record.type === "assistant");
39
- // Claude's own error replies carry the model "<synthetic>".
40
- const resolvedModel = assistants.flatMap((record) => record.message.model && record.message.model !== "<synthetic>" ? [record.message.model] : []).at(-1)
41
- ?? meta.model ?? "Claude";
42
- const description = meta.description.replace(/\s+/gu, " ").trim();
43
- const nickname = `${description} [${claudeModelLabel(resolvedModel)}]`;
44
- const parentThreadId = meta.parentAgentId ? `agent-${meta.parentAgentId}` : spawningThreadId;
45
- const projection = await projectTranscript({
46
- sessionId: `agent-${agentId}`,
47
- path,
48
- records,
49
- history: selectHistory(records),
50
- parentThreadId,
51
- subagent: { promptRecordUuid: prompt.uuid, nickname, depth: meta.spawnDepth },
52
- });
53
- projected.push({
54
- agentId,
55
- toolUseId: meta.toolUseId,
56
- parentAgentId: meta.parentAgentId ?? null,
57
- projection: { ...projection, skippedLines: reader.skippedLines },
58
- });
35
+ /** The transcript's whole lines back from its end as far as its last reply of the model, not before `start`. */
36
+ async function tail(path, start, size) {
37
+ for (let length = END_BYTES;; length *= 2) {
38
+ const from = Math.max(start, size - length);
39
+ const bytes = await readRange(path, from, size);
40
+ const first = from === start ? 0 : bytes.indexOf(0x0a) + 1;
41
+ if (first === 0 && from > start)
42
+ continue;
43
+ const { records } = parseLines(bytes, from, first);
44
+ if (from === start || records.some(modelReply))
45
+ return records;
59
46
  }
60
- return projected;
47
+ }
48
+ /**
49
+ * The session's sub-agent `agentId`. Its thread's header reads as its whole transcript's: what the first records set
50
+ * (its directory, start, prompt) comes from the start, what the last ones do (its model, effort, last change) from the end.
51
+ */
52
+ export async function readSubagent(sessionDirectory, agentId, spawningThreadId) {
53
+ const base = join(sessionDirectory, "subagents", `agent-${agentId}`);
54
+ const meta = JSON.parse(await readFile(`${base}.meta.json`, "utf8"));
55
+ const path = `${base}.jsonl`;
56
+ const { size } = await stat(path);
57
+ const start = await head(path, size, meta.toolUseId);
58
+ const records = [...start.records, ...await tail(path, start.end, size)].map(asVisibleSidechain);
59
+ const prompt = start.prompt.uuid;
60
+ const summarizer = new TranscriptSummarizer(undefined, prompt);
61
+ for (const record of records)
62
+ summarizer.accept(record);
63
+ const model = records.findLast(modelReply)?.message.model ?? meta.model ?? "Claude";
64
+ const description = meta.description.replace(/\s+/gu, " ").trim();
65
+ return {
66
+ agentId,
67
+ running: lastTurnRuns(records, prompt),
68
+ source: {
69
+ sessionId: `agent-${agentId}`, path, header: summarizer.header(), peers: NO_PEERS.directory, peersVersion: "",
70
+ subagent: {
71
+ parentThreadId: meta.parentAgentId ? `agent-${meta.parentAgentId}` : spawningThreadId,
72
+ promptRecordUuid: prompt, nickname: `${description} [${claudeModelLabel(model)}]`, depth: meta.spawnDepth,
73
+ },
74
+ },
75
+ };
76
+ }
77
+ /** The session's sub-agents, parents first. */
78
+ export async function listSubagents(sessionDirectory, spawningThreadId) {
79
+ const names = await readdir(join(sessionDirectory, "subagents"));
80
+ const subagents = await Promise.all(names.flatMap((name) => /^agent-(.+)\.meta\.json$/u.exec(name)?.[1] ?? [])
81
+ .map((agentId) => readSubagent(sessionDirectory, agentId, spawningThreadId)));
82
+ return subagents.sort((left, right) => left.source.subagent.depth - right.source.subagent.depth || left.agentId.localeCompare(right.agentId));
61
83
  }
62
84
  //# sourceMappingURL=subagents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"subagents.js","sourceRoot":"","sources":["../../../src/claude/native/subagents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subagents.js","sourceRoot":"","sources":["../../../src/claude/native/subagents.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,8 @@ export interface TranscriptSummaryState extends TranscriptHeader {
37
37
  readonly delegating: boolean;
38
38
  }
39
39
  export declare function timestampSeconds(timestamp: string | undefined): number | null;
40
+ /** Claude Code's orders to a fork, its rules and then its task: the fork's thread shows the task, as a sub-agent's its prompt. */
41
+ export declare const FORK_ORDERS: RegExp;
40
42
  export declare function userText(record: UserRecord): string;
41
43
  /** `/name args` for a user-typed slash command record (`<command-name>/goal</command-name>...`). */
42
44
  /** A thread's preview: the start of its first prompt (the list shows one line of it; the full text only bloats it). */
@@ -7,10 +7,12 @@ export function timestampSeconds(timestamp) {
7
7
  const milliseconds = Date.parse(timestamp);
8
8
  return Number.isNaN(milliseconds) ? null : Math.floor(milliseconds / 1_000);
9
9
  }
10
+ /** Claude Code's orders to a fork, its rules and then its task: the fork's thread shows the task, as a sub-agent's its prompt. */
11
+ export const FORK_ORDERS = /^<fork-boilerplate>[\s\S]*?<\/fork-boilerplate>\s*Your directive: /u;
10
12
  export function userText(record) {
11
13
  if (typeof record.message.content === "string")
12
14
  return record.message.content;
13
- return record.message.content.flatMap((block) => block.type === "text" ? [block.text] : []).join("\n");
15
+ return record.message.content.flatMap((block) => block.type === "text" ? [block.text.replace(FORK_ORDERS, "")] : []).join("\n");
14
16
  }
15
17
  function hasToolResult(record) {
16
18
  return Array.isArray(record.message.content)
@@ -1 +1 @@
1
- {"version":3,"file":"summary.js","sourceRoot":"","sources":["../../../src/claude/native/summary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"summary.js","sourceRoot":"","sources":["../../../src/claude/native/summary.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,9 @@ import { ULTRA } from "./delegation.js";
7
7
  export function claudeEnvironment() {
8
8
  // Claude chats are a desktop app's, like Claude Desktop's: background commands run with no time limit (Claude Code
9
9
  // stops them after 30 min to 2 h in Agent SDK sessions, which it takes for unattended).
10
- const env = { ...process.env, CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS: "1", CLAUDE_CODE_ENTRYPOINT: "claude-desktop" };
10
+ // Transcripts leave out what Claude Code 2.1.300+ records of each API request (prompt, tools, parameters): half again
11
+ // a long chat's size, all read through when paging back.
12
+ const env = { ...process.env, CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS: "1", CLAUDE_CODE_ENTRYPOINT: "claude-desktop", CLAUDE_CODE_ELEGANT_MEADOW: "0" };
11
13
  delete env.CCODEX_SHIM_ACTIVE;
12
14
  delete env.CODEX_CLI_PATH;
13
15
  return env;
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/claude/sdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/claude/sdk.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,8 @@ interface ActiveTurn {
19
19
  resultSeen: boolean;
20
20
  interrupted: boolean;
21
21
  error: string | null;
22
+ /** It only waits for Claude's background sub-agents: Claude goes on in it when one ends. */
23
+ waiting: boolean;
22
24
  }
23
25
  interface BackgroundTask {
24
26
  readonly taskId: string;
@@ -46,7 +48,7 @@ export declare class ClaudeSession {
46
48
  private readonly killed;
47
49
  /** TaskStop calls: shown on the command they stop, as stock shows a Ctrl-C (by tool use id). */
48
50
  private readonly stops;
49
- /** Claude's sub-agents running (in the background they keep no turn open: each has a chat of its own). */
51
+ /** Claude's sub-agents running (each has a chat of its own; in the background the chat waits for them in a turn). */
50
52
  private readonly agents;
51
53
  queued: QueuedSubmissionLike[];
52
54
  totalUsage: TokenUsageBreakdown;
@@ -106,6 +108,7 @@ export declare class ClaudeSession {
106
108
  /** Tasks running on their own: not a command or sub-agent the turn still waits on (its call open). */
107
109
  get backgroundTasks(): BackgroundTask[];
108
110
  get waitingOnTasks(): boolean;
111
+ get waitingForAgents(): boolean;
109
112
  /** The item ids of the background commands running (history shows them ended unless they run here). */
110
113
  get runningCommands(): ReadonlySet<string>;
111
114
  /** Stops the background tasks as Claude's own stop control does: Claude learns they were stopped, not that they failed. */
@@ -152,6 +155,11 @@ export declare class ClaudeSession {
152
155
  /** In-progress turn as Codex shows it in thread/read and paging. */
153
156
  liveTurn(): Turn | undefined;
154
157
  private maybeComplete;
158
+ /**
159
+ * Claude's background sub-agents work on after its answer, and Claude wakes up as each one ends: the chat waits for
160
+ * them in the turn Claude goes on in then (history's), with the wait as its reasoning.
161
+ */
162
+ private waitForAgents;
155
163
  /** Claude goes on after an answer with no prompt: the answer ends its turn, the work goes on in a new one (history's). */
156
164
  private continueTurn;
157
165
  /** `continued`: the work goes on in the next turn (its tools keep running, the chat stays busy). */
@@ -126,7 +126,7 @@ export class ClaudeSession {
126
126
  killed = new Map();
127
127
  /** TaskStop calls: shown on the command they stop, as stock shows a Ctrl-C (by tool use id). */
128
128
  stops = new Map();
129
- /** Claude's sub-agents running (in the background they keep no turn open: each has a chat of its own). */
129
+ /** Claude's sub-agents running (each has a chat of its own; in the background the chat waits for them in a turn). */
130
130
  agents = new Set();
131
131
  queued = [];
132
132
  totalUsage = EMPTY_USAGE;
@@ -202,6 +202,9 @@ export class ClaudeSession {
202
202
  get waitingOnTasks() {
203
203
  return !this.turn && this.tasks.size > 0;
204
204
  }
205
+ get waitingForAgents() {
206
+ return this.turn?.waiting ?? false;
207
+ }
205
208
  /** The item ids of the background commands running (history shows them ended unless they run here). */
206
209
  get runningCommands() {
207
210
  return new Set([...this.background.values()].map(({ item }) => item.id));
@@ -268,8 +271,9 @@ export class ClaudeSession {
268
271
  permissionMode: claudeMode(settings),
269
272
  // Recorded on the chat's first request and reused until compaction, as Claude Code keeps its system prompt.
270
273
  systemPrompt: { type: "preset", preset: "claude_code", append: claudeInstructions(this.host.config.improveModelsFormatting) },
271
- // Claude enters plan mode only as the user sets it (stock's collaboration mode).
272
- disallowedTools: ["EnterPlanMode"],
274
+ // Claude enters plan mode only as the user sets it (stock's collaboration mode). Claude Desktop's artifacts (published
275
+ // on claude.ai) and its install suggestions are cards a Codex client has no place for.
276
+ disallowedTools: ["EnterPlanMode", "Artifact", "ArtifactComments", "ArtifactData", "SuggestPluginInstall", "SuggestSkills"],
273
277
  // Claude 5 omits its thinking by default: summarized, it shows as the turn's reasoning summary like stock's.
274
278
  extraArgs: { "thinking-display": "summarized" },
275
279
  allowDangerouslySkipPermissions: true,
@@ -359,6 +363,9 @@ export class ClaudeSession {
359
363
  const content = await claudeContent(input, this.settings.cwd);
360
364
  // Desktop shows `/goal` messages itself.
361
365
  const hidden = typeof content === "string" && /^\/(?:compact|goal)(?:\s|$)/u.test(content);
366
+ // Claude takes it as a prompt of its own, not into the turn that waits for its sub-agents.
367
+ if (this.turn?.waiting)
368
+ this.completeTurn(true);
362
369
  if (this.turn) {
363
370
  // Claude folds a message sent mid-turn into the running turn, like a steer.
364
371
  this.pendingInputs.set(uuid, { input, clientId: params.clientUserMessageId ?? null, hidden });
@@ -383,6 +390,8 @@ export class ClaudeSession {
383
390
  async steer(params) {
384
391
  if (!this.turn)
385
392
  throw invalidRequest("no active turn to steer");
393
+ if (this.turn.waiting)
394
+ return (await this.startTurn({ input: params.input, clientUserMessageId: params.clientUserMessageId })).id;
386
395
  const input = normalizeUserInput(params.input ?? []);
387
396
  // The client's id is the message's in the transcript: history gives it back as the message's client id.
388
397
  const uuid = UUID.test(params.clientUserMessageId ?? "") ? params.clientUserMessageId : randomUUID();
@@ -458,9 +467,10 @@ export class ClaudeSession {
458
467
  this.endBackground(taskId, { status: "stopped", summary: "", atMs: Date.now() });
459
468
  this.tasks.clear();
460
469
  this.agents.clear();
461
- if (this.state === "idle" && this.turn) {
470
+ // Waiting, nothing else runs: the turn ends as its sub-agents stop.
471
+ if ((this.state === "idle" || this.turn?.waiting) && this.turn) {
462
472
  this.turn.resultSeen = true;
463
- this.maybeComplete();
473
+ this.completeTurn();
464
474
  }
465
475
  }
466
476
  /** Claude takes the chat's new title itself (`rename_session`, as an IDE renames its session). */
@@ -533,7 +543,7 @@ export class ClaudeSession {
533
543
  /** `announced`: the provider switch already started the turn under this preallocated id. */
534
544
  openTurn(id, input, clientId, hidden, announced = false) {
535
545
  const turn = this.newTurnObject(id);
536
- this.turn = { id, startedAt: Date.now(), items: turn.items, resultSeen: false, interrupted: false, error: null };
546
+ this.turn = { id, startedAt: Date.now(), items: turn.items, resultSeen: false, interrupted: false, error: null, waiting: false };
537
547
  this.started = true;
538
548
  this.activeAt = Date.now();
539
549
  this.afterResult = false;
@@ -567,11 +577,27 @@ export class ClaudeSession {
567
577
  }
568
578
  maybeComplete() {
569
579
  // Background commands run on past the turn (stock's background terminals); a task's end that wakes Claude up starts
570
- // a turn of its own.
571
- if (!this.turn || !this.turn.resultSeen || this.state !== "idle")
580
+ // a turn of its own. Claude stays running while its background sub-agents work: the turn ends at its answer.
581
+ const turn = this.turn;
582
+ if (!turn?.resultSeen || (this.agents.size ? turn.waiting : this.state !== "idle"))
572
583
  return;
573
584
  this.completeTurn();
574
585
  }
586
+ /**
587
+ * Claude's background sub-agents work on after its answer, and Claude wakes up as each one ends: the chat waits for
588
+ * them in the turn Claude goes on in then (history's), with the wait as its reasoning.
589
+ */
590
+ waitForAgents() {
591
+ const id = this.lastBlock ? continuationTurnId(this.lastBlock.id) : randomUUID();
592
+ this.openTurn(id, [], null, true);
593
+ Object.assign(this.turn, { resultSeen: true, waiting: true });
594
+ // A message from another agent may wake Claude up instead: the transcript tells.
595
+ this.afterResult = true;
596
+ const count = this.agents.size;
597
+ const item = { type: "reasoning", id: `${id}:waiting`, summary: [`Waiting for ${count} subagent${count === 1 ? "" : "s"} to finish…`], content: [] };
598
+ this.itemStarted(item);
599
+ this.itemCompleted(item);
600
+ }
575
601
  /** Claude goes on after an answer with no prompt: the answer ends its turn, the work goes on in a new one (history's). */
576
602
  continueTurn() {
577
603
  const id = continuationTurnId(this.lastBlock.id);
@@ -609,12 +635,15 @@ export class ClaudeSession {
609
635
  startedAt: Math.floor(turn.startedAt / 1000), completedAt, durationMs: Date.now() - turn.startedAt,
610
636
  },
611
637
  });
612
- if (!continued)
638
+ const next = continued ? undefined : this.queued.shift();
639
+ const waiting = !continued && !next && !turn.interrupted && this.agents.size > 0;
640
+ if (!continued && !waiting)
613
641
  this.emit("thread/status/changed", { threadId: this.threadId, status: { type: "idle" } });
614
642
  this.host.turnCompleted(this, turn.id);
615
643
  this.turnWaiters.get(turn.id)?.(status);
616
644
  this.turnWaiters.delete(turn.id);
617
- const next = continued ? undefined : this.queued.shift();
645
+ if (waiting)
646
+ this.waitForAgents();
618
647
  if (next) {
619
648
  this.emit("thread/queue/changed", { threadId: this.threadId });
620
649
  void this.startTurn({ input: next.input, clientUserMessageId: next.clientUserMessageId }).catch((error) => this.host.logger.warn("claude.queue.start-failed", { threadId: this.threadId, error: String(error) }));
@@ -650,8 +679,13 @@ export class ClaudeSession {
650
679
  // Claude's own word on `/goal` ("Goal set: …"), streamed as a reply: Codex clients show goals themselves.
651
680
  if (m.local_command_run?.command === "goal")
652
681
  return;
653
- if (this.afterResult && (m.type === "stream_event" || m.type === "assistant"))
654
- this.continued();
682
+ if (m.type === "stream_event" || m.type === "assistant") {
683
+ if (this.afterResult)
684
+ this.continued();
685
+ // Claude woke up: the turn that waited is its turn now.
686
+ if (this.turn?.waiting)
687
+ Object.assign(this.turn, { resultSeen: false, waiting: false });
688
+ }
655
689
  switch (m.type) {
656
690
  case "stream_event": return this.onStream(m.event);
657
691
  case "assistant": return this.onAssistant(m);
@@ -679,6 +713,10 @@ export class ClaudeSession {
679
713
  this.injections.delete(uuid);
680
714
  }
681
715
  const pending = uuid ? this.pendingInputs.get(uuid) : undefined;
716
+ // Waiting for its sub-agents, Claude takes a prompt or a message from another agent as when idle (a finished task's
717
+ // notification goes on in the turn that waited).
718
+ if (m.state === "started" && uuid && this.turn?.waiting && !this.injections.has(uuid) && (pending || !this.notified))
719
+ this.completeTurn(true);
682
720
  // A command Claude started by itself (a message another agent sent): its turn has the id history gives it.
683
721
  if (m.state === "started" && uuid && !pending && !this.injections.has(uuid)) {
684
722
  clearTimeout(this.runningTimer);
@@ -724,7 +762,7 @@ export class ClaudeSession {
724
762
  this.continueTurn();
725
763
  return;
726
764
  }
727
- this.completeTurn();
765
+ this.completeTurn(this.turn.waiting);
728
766
  this.ensureTurn(record.uuid);
729
767
  this.showPeer(record.uuid, origin, userText(record));
730
768
  }
@@ -789,7 +827,7 @@ export class ClaudeSession {
789
827
  return;
790
828
  // Taken as a prompt of its own right after a turn's result (no idle between): a turn of its own, as in history.
791
829
  if (prompt && this.turn && this.turn.id !== uuid && this.turn.resultSeen && !this.queued.length) {
792
- this.completeTurn();
830
+ this.completeTurn(this.turn.waiting);
793
831
  this.ensureTurn(uuid);
794
832
  }
795
833
  return this.showPeer(uuid, origin, prompt ? userText(record) : String(queued.prompt ?? ""));
@@ -839,7 +877,7 @@ export class ClaudeSession {
839
877
  this.tasks.delete(m.task_id);
840
878
  this.agents.delete(m.task_id);
841
879
  this.host.subagentFinished(`agent-${m.task_id}`);
842
- this.notified ||= !this.turn;
880
+ this.notified ||= !this.turn || this.turn.waiting;
843
881
  this.endBackground(m.task_id, { status: String(m.status), summary: String(m.summary ?? ""), ...(m.output_file ? { outputFile: m.output_file } : {}), atMs: Date.now() });
844
882
  return;
845
883
  case "background_tasks_changed": {