@esso0428/pi-subagents 0.17.0 → 0.17.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/README.md +3 -2
- package/dist/agent-history.d.ts +6 -0
- package/dist/agent-history.d.ts.map +1 -1
- package/dist/agent-history.js +38 -0
- package/dist/agent-history.js.map +1 -1
- package/dist/agent-manager.d.ts +23 -6
- package/dist/agent-manager.d.ts.map +1 -1
- package/dist/agent-manager.js +165 -27
- package/dist/agent-manager.js.map +1 -1
- package/dist/agent-recovery.d.ts +37 -0
- package/dist/agent-recovery.d.ts.map +1 -0
- package/dist/agent-recovery.js +171 -0
- package/dist/agent-recovery.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +94 -25
- package/dist/index.js.map +1 -1
- package/dist/ui/agent-widget.d.ts +4 -0
- package/dist/ui/agent-widget.d.ts.map +1 -1
- package/dist/ui/agent-widget.js +45 -14
- package/dist/ui/agent-widget.js.map +1 -1
- package/package.json +1 -1
- package/src/agent-history.ts +38 -0
- package/src/agent-manager.ts +170 -28
- package/src/agent-recovery.ts +185 -0
- package/src/index.ts +109 -23
- package/src/ui/agent-widget.ts +44 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-widget.js","sourceRoot":"","sources":["../../src/ui/agent-widget.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-widget.js","sourceRoot":"","sources":["../../src/ui/agent-widget.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@esso0428/pi-subagents",
|
|
3
|
-
"version": "0.17.
|
|
3
|
+
"version": "0.17.2",
|
|
4
4
|
"description": "A pi extension that brings smart Claude Code-style autonomous sub-agents to pi, with npm:pi-subagents-style JSON agent overrides.",
|
|
5
5
|
"author": "ESSO0428",
|
|
6
6
|
"repository": {
|
package/src/agent-history.ts
CHANGED
|
@@ -100,3 +100,41 @@ export function readAgentHistory(cwd: string, locator: string): AgentSession["me
|
|
|
100
100
|
}
|
|
101
101
|
return messages.length > 0 ? messages : undefined;
|
|
102
102
|
}
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Read the last assistant text from a durable transcript. Runtime records may
|
|
106
|
+
* release their in-memory result after the retention TTL; the transcript then
|
|
107
|
+
* becomes the source of truth for get_subagent_result.
|
|
108
|
+
*/
|
|
109
|
+
export function readAgentHistoryResult(cwd: string, locator: string): string | undefined {
|
|
110
|
+
const messages = readAgentHistory(cwd, locator);
|
|
111
|
+
if (!messages) return undefined;
|
|
112
|
+
|
|
113
|
+
for (let i = messages.length - 1; i >= 0; i--) {
|
|
114
|
+
const message = messages[i];
|
|
115
|
+
if (message.role !== "assistant") continue;
|
|
116
|
+
// AgentSession types currently model content as an array, but the
|
|
117
|
+
// persisted JSONL format may also contain a plain string. Cross the
|
|
118
|
+
// runtime/parser boundary through unknown so both shapes remain safe.
|
|
119
|
+
const content = (message as unknown as { content?: unknown }).content;
|
|
120
|
+
if (typeof content === "string") {
|
|
121
|
+
const text = content.trim();
|
|
122
|
+
if (text) return text;
|
|
123
|
+
continue;
|
|
124
|
+
}
|
|
125
|
+
if (!Array.isArray(content)) continue;
|
|
126
|
+
const text = content
|
|
127
|
+
.filter((part): part is { type: "text"; text: string } =>
|
|
128
|
+
typeof part === "object"
|
|
129
|
+
&& part !== null
|
|
130
|
+
&& (part as { type?: unknown }).type === "text"
|
|
131
|
+
&& typeof (part as { text?: unknown }).text === "string"
|
|
132
|
+
)
|
|
133
|
+
.map((part) => part.text)
|
|
134
|
+
.join("\n")
|
|
135
|
+
.trim();
|
|
136
|
+
if (text) return text;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
return undefined;
|
|
140
|
+
}
|
package/src/agent-manager.ts
CHANGED
|
@@ -11,6 +11,14 @@ import { statSync } from "node:fs";
|
|
|
11
11
|
import { isAbsolute } from "node:path";
|
|
12
12
|
import type { Model } from "@earendil-works/pi-ai";
|
|
13
13
|
import type { AgentSession, ExtensionAPI, ExtensionContext } from "@earendil-works/pi-coding-agent";
|
|
14
|
+
import { readAgentHistory } from "./agent-history.js";
|
|
15
|
+
import {
|
|
16
|
+
type AgentRecoveryCheckpoint,
|
|
17
|
+
type AgentRecoveryStatus,
|
|
18
|
+
readAgentRecoveryCheckpoints,
|
|
19
|
+
removeAgentRecoveryCheckpoint,
|
|
20
|
+
writeAgentRecoveryCheckpoint,
|
|
21
|
+
} from "./agent-recovery.js";
|
|
14
22
|
import { resumeAgent, runAgent, type ToolActivity } from "./agent-runner.js";
|
|
15
23
|
import type { AgentInvocation, AgentRecord, IsolationMode, SubagentType, ThinkingLevel } from "./types.js";
|
|
16
24
|
import { addUsage } from "./usage.js";
|
|
@@ -190,6 +198,8 @@ interface SpawnOptions {
|
|
|
190
198
|
onAssistantUsage?: (usage: { input: number; output: number; cacheWrite: number }) => void;
|
|
191
199
|
/** Called when the session successfully compacts. */
|
|
192
200
|
onCompaction?: (info: CompactionInfo) => void;
|
|
201
|
+
/** Called synchronously after the record exists, before it is queued or started. */
|
|
202
|
+
onSpawned?: (id: string) => void;
|
|
193
203
|
}
|
|
194
204
|
|
|
195
205
|
export class AgentManager {
|
|
@@ -202,11 +212,15 @@ export class AgentManager {
|
|
|
202
212
|
/** Base repos worktrees were created from — so dispose() can prune them all,
|
|
203
213
|
* not just the parent repo (caller-supplied cwd can target other repos). */
|
|
204
214
|
private worktreeRepos = new Set<string>();
|
|
215
|
+
/** Project cwd for each record's durable checkpoint. */
|
|
216
|
+
private recoveryCwds = new Map<string, string>();
|
|
205
217
|
|
|
206
218
|
/** Queue of background agents waiting to start. */
|
|
207
219
|
private queue: { id: string; args: SpawnArgs }[] = [];
|
|
208
220
|
/** Number of currently running background agents. */
|
|
209
221
|
private runningBackground = 0;
|
|
222
|
+
/** Prevent late promise settlement from decrementing a replacement run. */
|
|
223
|
+
private runningBackgroundIds = new Set<string>();
|
|
210
224
|
|
|
211
225
|
constructor(
|
|
212
226
|
onComplete?: OnAgentComplete,
|
|
@@ -234,6 +248,99 @@ export class AgentManager {
|
|
|
234
248
|
return this.maxConcurrent;
|
|
235
249
|
}
|
|
236
250
|
|
|
251
|
+
private finishBackground(id: string): void {
|
|
252
|
+
if (!this.runningBackgroundIds.delete(id)) return;
|
|
253
|
+
this.runningBackground = Math.max(0, this.runningBackground - 1);
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
private checkpointStatus(record: AgentRecord): AgentRecoveryStatus {
|
|
257
|
+
return record.status;
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
private makeCheckpoint(record: AgentRecord): AgentRecoveryCheckpoint {
|
|
261
|
+
const checkpoint: AgentRecoveryCheckpoint = {
|
|
262
|
+
version: 1,
|
|
263
|
+
id: record.id,
|
|
264
|
+
type: record.type,
|
|
265
|
+
description: record.description,
|
|
266
|
+
status: this.checkpointStatus(record),
|
|
267
|
+
startedAt: record.startedAt,
|
|
268
|
+
toolUses: record.toolUses,
|
|
269
|
+
lifetimeUsage: { ...record.lifetimeUsage },
|
|
270
|
+
compactionCount: record.compactionCount,
|
|
271
|
+
...(record.completedAt !== undefined && { completedAt: record.completedAt }),
|
|
272
|
+
// A durable transcript is the source of truth for partial/full output.
|
|
273
|
+
// Avoid duplicating potentially sensitive or very large result text.
|
|
274
|
+
...(!record.transcriptPath && record.result !== undefined && { result: record.result }),
|
|
275
|
+
...(record.error !== undefined && { error: record.error }),
|
|
276
|
+
...(record.transcriptPath !== undefined && { transcriptPath: record.transcriptPath }),
|
|
277
|
+
...(record.invocation !== undefined && { invocation: cloneInvocation(record.invocation) }),
|
|
278
|
+
};
|
|
279
|
+
return checkpoint;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
private checkpoint(record: AgentRecord): void {
|
|
283
|
+
const cwd = this.recoveryCwds.get(record.id);
|
|
284
|
+
if (!cwd) return;
|
|
285
|
+
writeAgentRecoveryCheckpoint(cwd, this.makeCheckpoint(record));
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
private flushOutput(record: AgentRecord): void {
|
|
289
|
+
if (!record.outputCleanup) return;
|
|
290
|
+
try { record.outputCleanup(); } catch { /* recovery must remain best effort */ }
|
|
291
|
+
record.outputCleanup = undefined;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
/** Set the durable transcript locator and checkpoint the current state. */
|
|
295
|
+
setTranscript(id: string, historyFile: string, transcriptPath: string, cwd?: string): void {
|
|
296
|
+
const record = this.agents.get(id);
|
|
297
|
+
if (!record) return;
|
|
298
|
+
record.historyFile = historyFile;
|
|
299
|
+
record.transcriptPath = transcriptPath;
|
|
300
|
+
if (cwd) this.recoveryCwds.set(id, cwd);
|
|
301
|
+
this.checkpoint(record);
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
/** Checkpoint one record explicitly (used after transcript setup). */
|
|
305
|
+
checkpointRecord(id: string): void {
|
|
306
|
+
const record = this.agents.get(id);
|
|
307
|
+
if (record) this.checkpoint(record);
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
/**
|
|
311
|
+
* Reload durable records from this project's checkpoint directory. A
|
|
312
|
+
* running/queued checkpoint means the process was killed before it could
|
|
313
|
+
* write its stopped state; treat it as stopped and retain its transcript.
|
|
314
|
+
* SIGKILL cannot run a final flush/checkpoint, so this active snapshot is
|
|
315
|
+
* necessarily the last recoverable state.
|
|
316
|
+
*/
|
|
317
|
+
restoreRecovered(cwd: string): void {
|
|
318
|
+
for (const checkpoint of readAgentRecoveryCheckpoints(cwd)) {
|
|
319
|
+
if (!checkpoint.transcriptPath || !readAgentHistory(cwd, checkpoint.transcriptPath)) continue;
|
|
320
|
+
const status: RestorableAgentStatus = checkpoint.status === "running" || checkpoint.status === "queued"
|
|
321
|
+
? "stopped"
|
|
322
|
+
: checkpoint.status;
|
|
323
|
+
const completedAt = checkpoint.completedAt ?? Date.now();
|
|
324
|
+
const existing = this.agents.get(checkpoint.id);
|
|
325
|
+
if (existing) {
|
|
326
|
+
// Parent-branch records can still carry an unread in-memory result.
|
|
327
|
+
// Never replace that richer record with the checkpoint's transcript
|
|
328
|
+
// stub during the same session. Merge only durable locator metadata.
|
|
329
|
+
if (!existing.transcriptPath && checkpoint.transcriptPath) {
|
|
330
|
+
existing.transcriptPath = checkpoint.transcriptPath;
|
|
331
|
+
}
|
|
332
|
+
this.recoveryCwds.set(checkpoint.id, cwd);
|
|
333
|
+
continue;
|
|
334
|
+
}
|
|
335
|
+
this.agents.set(checkpoint.id, this.createRestoredRecord({
|
|
336
|
+
...checkpoint,
|
|
337
|
+
status,
|
|
338
|
+
completedAt,
|
|
339
|
+
}));
|
|
340
|
+
this.recoveryCwds.set(checkpoint.id, cwd);
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
|
|
237
344
|
/**
|
|
238
345
|
* Spawn an agent and return its ID immediately (for background use).
|
|
239
346
|
* If the concurrency limit is reached, the agent is queued.
|
|
@@ -271,6 +378,19 @@ export class AgentManager {
|
|
|
271
378
|
invocation: options.invocation,
|
|
272
379
|
};
|
|
273
380
|
this.agents.set(id, record);
|
|
381
|
+
this.recoveryCwds.set(id, ctx.cwd);
|
|
382
|
+
// Give callers a chance to create the durable transcript before the first
|
|
383
|
+
// checkpoint. This closes the small spawn→attach window in which a queued
|
|
384
|
+
// or running agent could be left recoverable only as metadata.
|
|
385
|
+
try {
|
|
386
|
+
options.onSpawned?.(id);
|
|
387
|
+
this.checkpoint(record);
|
|
388
|
+
} catch (err) {
|
|
389
|
+
this.agents.delete(id);
|
|
390
|
+
this.recoveryCwds.delete(id);
|
|
391
|
+
removeAgentRecoveryCheckpoint(ctx.cwd, id);
|
|
392
|
+
throw err;
|
|
393
|
+
}
|
|
274
394
|
|
|
275
395
|
const args: SpawnArgs = { pi, ctx, type, prompt, options };
|
|
276
396
|
|
|
@@ -286,6 +406,8 @@ export class AgentManager {
|
|
|
286
406
|
this.startAgent(id, record, args);
|
|
287
407
|
} catch (err) {
|
|
288
408
|
this.agents.delete(id);
|
|
409
|
+
this.recoveryCwds.delete(id);
|
|
410
|
+
removeAgentRecoveryCheckpoint(ctx.cwd, id);
|
|
289
411
|
throw err;
|
|
290
412
|
}
|
|
291
413
|
return id;
|
|
@@ -327,7 +449,11 @@ export class AgentManager {
|
|
|
327
449
|
|
|
328
450
|
record.status = "running";
|
|
329
451
|
record.startedAt = Date.now();
|
|
330
|
-
|
|
452
|
+
this.checkpoint(record);
|
|
453
|
+
if (options.isBackground) {
|
|
454
|
+
this.runningBackground++;
|
|
455
|
+
this.runningBackgroundIds.add(id);
|
|
456
|
+
}
|
|
331
457
|
this.onStart?.(record);
|
|
332
458
|
|
|
333
459
|
// Wire parent abort signal to stop the subagent when the parent is interrupted
|
|
@@ -386,9 +512,13 @@ export class AgentManager {
|
|
|
386
512
|
record.pendingSteers = undefined;
|
|
387
513
|
}
|
|
388
514
|
options.onSessionCreated?.(session);
|
|
515
|
+
this.checkpoint(record);
|
|
389
516
|
},
|
|
390
517
|
})
|
|
391
518
|
.then(({ responseText, session, aborted, steered, failure }) => {
|
|
519
|
+
// A disposed manager no longer owns this run. Avoid late callbacks
|
|
520
|
+
// mutating a dead session or emitting completion side effects.
|
|
521
|
+
if (this.agents.get(id) !== record) return responseText;
|
|
392
522
|
// Don't overwrite status if externally stopped via abort()
|
|
393
523
|
if (record.status !== "stopped") {
|
|
394
524
|
// Precedence: a hard abort keeps "aborted"; then a failed final turn
|
|
@@ -427,6 +557,7 @@ export class AgentManager {
|
|
|
427
557
|
`\n\n---\nChanges saved to branch \`${wtResult.branch}\`${repoNote}. Merge with: \`git merge ${wtResult.branch}\`${customCwd !== undefined ? ` (run in \`${baseCwd}\`)` : ""}`;
|
|
428
558
|
}
|
|
429
559
|
}
|
|
560
|
+
this.checkpoint(record);
|
|
430
561
|
|
|
431
562
|
// Fire onComplete for foreground agents too — lifecycle symmetry.
|
|
432
563
|
// Mark resultConsumed so the callback skips notifications (result returned inline).
|
|
@@ -434,13 +565,16 @@ export class AgentManager {
|
|
|
434
565
|
record.resultConsumed = true;
|
|
435
566
|
try { this.onComplete?.(record); } catch { /* ignore completion side-effect errors */ }
|
|
436
567
|
} else {
|
|
437
|
-
this.
|
|
568
|
+
this.finishBackground(id);
|
|
438
569
|
try { this.onComplete?.(record); } catch { /* ignore completion side-effect errors */ }
|
|
439
570
|
this.drainQueue();
|
|
440
571
|
}
|
|
441
572
|
return responseText;
|
|
442
573
|
})
|
|
443
574
|
.catch((err) => {
|
|
575
|
+
// A disposed manager no longer owns this run. Avoid late callbacks
|
|
576
|
+
// mutating a dead session or emitting completion side effects.
|
|
577
|
+
if (this.agents.get(id) !== record) return "";
|
|
444
578
|
// Don't overwrite status if externally stopped via abort()
|
|
445
579
|
if (record.status !== "stopped") {
|
|
446
580
|
record.status = "error";
|
|
@@ -463,6 +597,7 @@ export class AgentManager {
|
|
|
463
597
|
record.worktreeResult = wtResult;
|
|
464
598
|
} catch { /* ignore cleanup errors */ }
|
|
465
599
|
}
|
|
600
|
+
this.checkpoint(record);
|
|
466
601
|
|
|
467
602
|
// Fire onComplete for foreground agents too — lifecycle symmetry.
|
|
468
603
|
// Mark resultConsumed so the callback skips notifications (result returned inline).
|
|
@@ -470,7 +605,7 @@ export class AgentManager {
|
|
|
470
605
|
record.resultConsumed = true;
|
|
471
606
|
this.onComplete?.(record);
|
|
472
607
|
} else {
|
|
473
|
-
this.
|
|
608
|
+
this.finishBackground(id);
|
|
474
609
|
this.onComplete?.(record);
|
|
475
610
|
this.drainQueue();
|
|
476
611
|
}
|
|
@@ -478,11 +613,6 @@ export class AgentManager {
|
|
|
478
613
|
});
|
|
479
614
|
|
|
480
615
|
record.promise = promise;
|
|
481
|
-
|
|
482
|
-
// Notify caller that spawn is complete (record is in the map, promise is set).
|
|
483
|
-
// Called synchronously — onSessionCreated fires asynchronously inside runAgent.
|
|
484
|
-
// Used by spawnAndWait to let the caller set up output files before streaming starts.
|
|
485
|
-
this.onSpawned?.(id);
|
|
486
616
|
}
|
|
487
617
|
|
|
488
618
|
/** Start queued agents up to the concurrency limit. */
|
|
@@ -499,18 +629,12 @@ export class AgentManager {
|
|
|
499
629
|
record.status = "error";
|
|
500
630
|
record.error = err instanceof Error ? err.message : String(err);
|
|
501
631
|
record.completedAt = Date.now();
|
|
632
|
+
this.checkpoint(record);
|
|
502
633
|
this.onComplete?.(record);
|
|
503
634
|
}
|
|
504
635
|
}
|
|
505
636
|
}
|
|
506
637
|
|
|
507
|
-
/**
|
|
508
|
-
* Called synchronously right after spawn, before onSessionCreated fires.
|
|
509
|
-
* Lets the caller set up the output file path on the record.
|
|
510
|
-
* The record is guaranteed to be in this.agents at this point.
|
|
511
|
-
*/
|
|
512
|
-
private onSpawned?: (id: string) => void;
|
|
513
|
-
|
|
514
638
|
/**
|
|
515
639
|
* Spawn an agent and wait for completion (foreground use).
|
|
516
640
|
* Foreground agents bypass the concurrency queue.
|
|
@@ -527,17 +651,14 @@ export class AgentManager {
|
|
|
527
651
|
options: Omit<SpawnOptions, "isBackground">,
|
|
528
652
|
onSpawned?: (id: string) => void,
|
|
529
653
|
): Promise<{ id: string; record: AgentRecord }> {
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
} finally {
|
|
539
|
-
this.onSpawned = prevOnSpawned;
|
|
540
|
-
}
|
|
654
|
+
const id = this.spawn(pi, ctx, type, prompt, {
|
|
655
|
+
...options,
|
|
656
|
+
isBackground: false,
|
|
657
|
+
onSpawned,
|
|
658
|
+
});
|
|
659
|
+
const record = this.agents.get(id)!;
|
|
660
|
+
await record.promise;
|
|
661
|
+
return { id, record };
|
|
541
662
|
}
|
|
542
663
|
|
|
543
664
|
/**
|
|
@@ -562,6 +683,7 @@ export class AgentManager {
|
|
|
562
683
|
...(resumedModel && { effectiveModelName: resumedModel.name ?? resumedModel.id }),
|
|
563
684
|
effectiveThinking: record.session.thinkingLevel,
|
|
564
685
|
};
|
|
686
|
+
this.checkpoint(record);
|
|
565
687
|
|
|
566
688
|
try {
|
|
567
689
|
const { text, failure } = await resumeAgent(record.session, prompt, {
|
|
@@ -583,10 +705,12 @@ export class AgentManager {
|
|
|
583
705
|
if (failure) record.error = failure;
|
|
584
706
|
record.result = text;
|
|
585
707
|
record.completedAt = Date.now();
|
|
708
|
+
this.checkpoint(record);
|
|
586
709
|
} catch (err) {
|
|
587
710
|
record.status = "error";
|
|
588
711
|
record.error = err instanceof Error ? err.message : String(err);
|
|
589
712
|
record.completedAt = Date.now();
|
|
713
|
+
this.checkpoint(record);
|
|
590
714
|
}
|
|
591
715
|
|
|
592
716
|
return record;
|
|
@@ -652,6 +776,7 @@ export class AgentManager {
|
|
|
652
776
|
lifetimeUsage?: { input: number; output: number; cacheWrite: number };
|
|
653
777
|
transcriptPath?: string;
|
|
654
778
|
invocation?: AgentInvocation;
|
|
779
|
+
compactionCount?: number;
|
|
655
780
|
}): AgentRecord {
|
|
656
781
|
return {
|
|
657
782
|
id: record.id,
|
|
@@ -668,7 +793,7 @@ export class AgentManager {
|
|
|
668
793
|
lifetimeUsage: record.lifetimeUsage
|
|
669
794
|
? { ...record.lifetimeUsage }
|
|
670
795
|
: { input: 0, output: 0, cacheWrite: 0 },
|
|
671
|
-
compactionCount: 0,
|
|
796
|
+
compactionCount: record.compactionCount ?? 0,
|
|
672
797
|
};
|
|
673
798
|
}
|
|
674
799
|
|
|
@@ -681,6 +806,7 @@ export class AgentManager {
|
|
|
681
806
|
this.queue = this.queue.filter(q => q.id !== id);
|
|
682
807
|
record.status = "stopped";
|
|
683
808
|
record.completedAt = Date.now();
|
|
809
|
+
this.checkpoint(record);
|
|
684
810
|
return true;
|
|
685
811
|
}
|
|
686
812
|
|
|
@@ -688,6 +814,10 @@ export class AgentManager {
|
|
|
688
814
|
record.abortController?.abort();
|
|
689
815
|
record.status = "stopped";
|
|
690
816
|
record.completedAt = Date.now();
|
|
817
|
+
this.flushOutput(record);
|
|
818
|
+
this.checkpoint(record);
|
|
819
|
+
this.finishBackground(id);
|
|
820
|
+
this.drainQueue();
|
|
691
821
|
return true;
|
|
692
822
|
}
|
|
693
823
|
|
|
@@ -714,6 +844,10 @@ export class AgentManager {
|
|
|
714
844
|
record.outputCleanup = undefined;
|
|
715
845
|
record.outputFile = undefined;
|
|
716
846
|
record.historyFile = undefined;
|
|
847
|
+
// The durable transcript is the source of truth after the TTL. Keep
|
|
848
|
+
// only the small identity/status record in memory; get_subagent_result
|
|
849
|
+
// reloads the final answer from transcriptPath on demand.
|
|
850
|
+
record.result = undefined;
|
|
717
851
|
continue;
|
|
718
852
|
}
|
|
719
853
|
this.removeRecord(id, record);
|
|
@@ -750,16 +884,21 @@ export class AgentManager {
|
|
|
750
884
|
if (record) {
|
|
751
885
|
record.status = "stopped";
|
|
752
886
|
record.completedAt = Date.now();
|
|
887
|
+
this.checkpoint(record);
|
|
753
888
|
count++;
|
|
754
889
|
}
|
|
755
890
|
}
|
|
756
891
|
this.queue = [];
|
|
757
|
-
// Abort running agents
|
|
892
|
+
// Abort running agents. Flush before checkpointing so a catchable
|
|
893
|
+
// shutdown/session switch leaves the latest assistant message available.
|
|
758
894
|
for (const record of this.agents.values()) {
|
|
759
895
|
if (record.status === "running") {
|
|
760
896
|
record.abortController?.abort();
|
|
761
897
|
record.status = "stopped";
|
|
762
898
|
record.completedAt = Date.now();
|
|
899
|
+
this.flushOutput(record);
|
|
900
|
+
this.finishBackground(record.id);
|
|
901
|
+
this.checkpoint(record);
|
|
763
902
|
count++;
|
|
764
903
|
}
|
|
765
904
|
}
|
|
@@ -789,6 +928,9 @@ export class AgentManager {
|
|
|
789
928
|
record.session?.dispose();
|
|
790
929
|
}
|
|
791
930
|
this.agents.clear();
|
|
931
|
+
this.recoveryCwds.clear();
|
|
932
|
+
this.runningBackgroundIds.clear();
|
|
933
|
+
this.runningBackground = 0;
|
|
792
934
|
// Prune any orphaned git worktrees (crash recovery)
|
|
793
935
|
try { pruneWorktrees(process.cwd()); } catch { /* ignore */ }
|
|
794
936
|
// Also prune repos that caller-supplied cwds created worktrees in — a clean
|