@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.
@@ -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.0",
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": {
@@ -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
+ }
@@ -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
- if (options.isBackground) this.runningBackground++;
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.runningBackground--;
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.runningBackground--;
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
- // Temporarily register the onSpawned hook so startAgent can call it.
531
- const prevOnSpawned = this.onSpawned;
532
- this.onSpawned = onSpawned;
533
- try {
534
- const id = this.spawn(pi, ctx, type, prompt, { ...options, isBackground: false });
535
- const record = this.agents.get(id)!;
536
- await record.promise;
537
- return { id, record };
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