pi-subagents 0.75.0 → 0.76.0

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.
Files changed (137) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/docs/agents.md +1 -1
  3. package/docs/configuration.md +4 -2
  4. package/docs/extension-api.md +1 -1
  5. package/docs/missions.md +12 -2
  6. package/docs/tool-reference.md +21 -6
  7. package/docs/workflows.md +1 -1
  8. package/package.json +2 -1
  9. package/src/agents/agent-memory.js +3 -3
  10. package/src/agents/agent-memory.js.map +1 -1
  11. package/src/agents/agent-serializer.d.ts.map +1 -1
  12. package/src/agents/agent-serializer.js +8 -1
  13. package/src/agents/agent-serializer.js.map +1 -1
  14. package/src/agents/agents.d.ts.map +1 -1
  15. package/src/agents/agents.js +101 -121
  16. package/src/agents/agents.js.map +1 -1
  17. package/src/extension/index.d.ts.map +1 -1
  18. package/src/extension/index.js +37 -4
  19. package/src/extension/index.js.map +1 -1
  20. package/src/extension/reply-workflow-script.d.ts.map +1 -1
  21. package/src/extension/reply-workflow-script.js +20 -11
  22. package/src/extension/reply-workflow-script.js.map +1 -1
  23. package/src/extension/schemas.d.ts +1 -1
  24. package/src/extension/schemas.js +8 -8
  25. package/src/extension/schemas.js.map +1 -1
  26. package/src/extension/tool-description.js +1 -1
  27. package/src/extension/tool-description.js.map +1 -1
  28. package/src/intercom/result-intercom.d.ts.map +1 -1
  29. package/src/intercom/result-intercom.js +2 -1
  30. package/src/intercom/result-intercom.js.map +1 -1
  31. package/src/profiles/profiles.d.ts.map +1 -1
  32. package/src/profiles/profiles.js +25 -22
  33. package/src/profiles/profiles.js.map +1 -1
  34. package/src/runs/background/active-async-capacity.d.ts +15 -1
  35. package/src/runs/background/active-async-capacity.d.ts.map +1 -1
  36. package/src/runs/background/active-async-capacity.js +51 -6
  37. package/src/runs/background/active-async-capacity.js.map +1 -1
  38. package/src/runs/background/async-job-tracker.d.ts +3 -2
  39. package/src/runs/background/async-job-tracker.d.ts.map +1 -1
  40. package/src/runs/background/async-job-tracker.js +2 -1
  41. package/src/runs/background/async-job-tracker.js.map +1 -1
  42. package/src/runs/background/calendar-schedule.d.ts +27 -0
  43. package/src/runs/background/calendar-schedule.d.ts.map +1 -0
  44. package/src/runs/background/calendar-schedule.js +94 -0
  45. package/src/runs/background/calendar-schedule.js.map +1 -0
  46. package/src/runs/background/notify.d.ts +6 -0
  47. package/src/runs/background/notify.d.ts.map +1 -1
  48. package/src/runs/background/notify.js +24 -4
  49. package/src/runs/background/notify.js.map +1 -1
  50. package/src/runs/background/result-watcher.d.ts +5 -1
  51. package/src/runs/background/result-watcher.d.ts.map +1 -1
  52. package/src/runs/background/result-watcher.js +44 -7
  53. package/src/runs/background/result-watcher.js.map +1 -1
  54. package/src/runs/background/run-child-session.d.ts +2 -0
  55. package/src/runs/background/run-child-session.d.ts.map +1 -1
  56. package/src/runs/background/run-child-session.js +12 -1
  57. package/src/runs/background/run-child-session.js.map +1 -1
  58. package/src/runs/background/scheduled-runs.d.ts +3 -1
  59. package/src/runs/background/scheduled-runs.d.ts.map +1 -1
  60. package/src/runs/background/scheduled-runs.js +184 -47
  61. package/src/runs/background/scheduled-runs.js.map +1 -1
  62. package/src/runs/background/subagent-runner.d.ts +1 -0
  63. package/src/runs/background/subagent-runner.d.ts.map +1 -1
  64. package/src/runs/background/subagent-runner.js +14 -6
  65. package/src/runs/background/subagent-runner.js.map +1 -1
  66. package/src/runs/background/wait-completions.d.ts.map +1 -1
  67. package/src/runs/background/wait-completions.js +1 -0
  68. package/src/runs/background/wait-completions.js.map +1 -1
  69. package/src/runs/background/workflow-terminal-proof.d.ts +14 -1
  70. package/src/runs/background/workflow-terminal-proof.d.ts.map +1 -1
  71. package/src/runs/background/workflow-terminal-proof.js +41 -28
  72. package/src/runs/background/workflow-terminal-proof.js.map +1 -1
  73. package/src/runs/foreground/execution.d.ts.map +1 -1
  74. package/src/runs/foreground/execution.js +23 -3
  75. package/src/runs/foreground/execution.js.map +1 -1
  76. package/src/runs/foreground/foreground-history.d.ts.map +1 -1
  77. package/src/runs/foreground/foreground-history.js +1 -0
  78. package/src/runs/foreground/foreground-history.js.map +1 -1
  79. package/src/runs/foreground/subagent-executor.d.ts +1 -1
  80. package/src/runs/foreground/subagent-executor.d.ts.map +1 -1
  81. package/src/runs/foreground/subagent-executor.js +44 -6
  82. package/src/runs/foreground/subagent-executor.js.map +1 -1
  83. package/src/runs/shared/child-session.d.ts.map +1 -1
  84. package/src/runs/shared/child-session.js +10 -2
  85. package/src/runs/shared/child-session.js.map +1 -1
  86. package/src/runs/shared/mcp-direct-tool-allowlist.d.ts.map +1 -1
  87. package/src/runs/shared/mcp-direct-tool-allowlist.js +5 -3
  88. package/src/runs/shared/mcp-direct-tool-allowlist.js.map +1 -1
  89. package/src/runs/shared/parallel-handoff.d.ts +10 -4
  90. package/src/runs/shared/parallel-handoff.d.ts.map +1 -1
  91. package/src/runs/shared/parallel-handoff.js +53 -6
  92. package/src/runs/shared/parallel-handoff.js.map +1 -1
  93. package/src/runs/shared/partial-output.d.ts +18 -0
  94. package/src/runs/shared/partial-output.d.ts.map +1 -0
  95. package/src/runs/shared/partial-output.js +29 -0
  96. package/src/runs/shared/partial-output.js.map +1 -0
  97. package/src/runs/shared/worktree-cleanup-apply.d.ts +37 -0
  98. package/src/runs/shared/worktree-cleanup-apply.d.ts.map +1 -0
  99. package/src/runs/shared/worktree-cleanup-apply.js +179 -0
  100. package/src/runs/shared/worktree-cleanup-apply.js.map +1 -0
  101. package/src/runs/shared/worktree-cleanup-plan.d.ts +7 -0
  102. package/src/runs/shared/worktree-cleanup-plan.d.ts.map +1 -1
  103. package/src/runs/shared/worktree-cleanup-plan.js +41 -19
  104. package/src/runs/shared/worktree-cleanup-plan.js.map +1 -1
  105. package/src/runs/shared/worktree-lock.d.ts +6 -0
  106. package/src/runs/shared/worktree-lock.d.ts.map +1 -0
  107. package/src/runs/shared/worktree-lock.js +41 -0
  108. package/src/runs/shared/worktree-lock.js.map +1 -0
  109. package/src/runs/shared/worktree.d.ts +3 -0
  110. package/src/runs/shared/worktree.d.ts.map +1 -1
  111. package/src/runs/shared/worktree.js +9 -1
  112. package/src/runs/shared/worktree.js.map +1 -1
  113. package/src/shared/file-lease.d.ts +5 -0
  114. package/src/shared/file-lease.d.ts.map +1 -0
  115. package/src/shared/file-lease.js +101 -0
  116. package/src/shared/file-lease.js.map +1 -0
  117. package/src/shared/settings-file-lease.d.ts +5 -0
  118. package/src/shared/settings-file-lease.d.ts.map +1 -0
  119. package/src/shared/settings-file-lease.js +39 -0
  120. package/src/shared/settings-file-lease.js.map +1 -0
  121. package/src/shared/types.d.ts +10 -0
  122. package/src/shared/types.d.ts.map +1 -1
  123. package/src/shared/types.js.map +1 -1
  124. package/src/tui/render.d.ts.map +1 -1
  125. package/src/tui/render.js +7 -2
  126. package/src/tui/render.js.map +1 -1
  127. package/src/watchdog/diff-tool.js +2 -2
  128. package/src/watchdog/diff-tool.js.map +1 -1
  129. package/src/watchdog/register-main.js +1 -2
  130. package/src/watchdog/register-main.js.map +1 -1
  131. package/src/watchdog/runtime.d.ts +3 -3
  132. package/src/watchdog/runtime.d.ts.map +1 -1
  133. package/src/watchdog/runtime.js +7 -3
  134. package/src/watchdog/runtime.js.map +1 -1
  135. package/src/watchdog/settings.d.ts.map +1 -1
  136. package/src/watchdog/settings.js +22 -17
  137. package/src/watchdog/settings.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"parallel-handoff.js","sourceRoot":"","sources":["../../../../src/runs/shared/parallel-handoff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parallel-handoff.js","sourceRoot":"","sources":["../../../../src/runs/shared/parallel-handoff.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Unfinished assistant text recovered when a child ends abnormally.
3
+ *
4
+ * Final output is built from completed `message_end` messages, so text that was
5
+ * still streaming when a child timed out or its session threw is otherwise lost.
6
+ * The tracker keeps one in-memory reference to the latest unfinished assistant
7
+ * message. Nothing is persisted.
8
+ */
9
+ import type { ChildSessionEvent } from "./child-session.ts";
10
+ export type PartialOutputCause = "timeout" | "child error";
11
+ export interface PartialOutputTracker {
12
+ observe(event: ChildSessionEvent): void;
13
+ /** Latest unfinished assistant text that is newer than the last completed reply. */
14
+ text(): string | undefined;
15
+ }
16
+ export declare function createPartialOutputTracker(): PartialOutputTracker;
17
+ export declare function formatPartialOutput(text: string, cause: PartialOutputCause): string;
18
+ //# sourceMappingURL=partial-output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partial-output.d.ts","sourceRoot":"","sources":["../../../../src/runs/shared/partial-output.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAG5D,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,aAAa,CAAC;AAE3D,MAAM,WAAW,oBAAoB;IACpC,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACxC,oFAAoF;IACpF,IAAI,IAAI,MAAM,GAAG,SAAS,CAAC;CAC3B;AAWD,wBAAgB,0BAA0B,IAAI,oBAAoB,CAejE;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,GAAG,MAAM,CAEnF"}
@@ -0,0 +1,29 @@
1
+ import { extractTextFromContent } from "../../shared/utils.js";
2
+ function isAssistant(message) {
3
+ return !!message && typeof message === "object" && message.role === "assistant";
4
+ }
5
+ function isErroredAssistant(message) {
6
+ const { stopReason, errorMessage } = message;
7
+ return stopReason === "error" || (typeof errorMessage === "string" && errorMessage.length > 0);
8
+ }
9
+ export function createPartialOutputTracker() {
10
+ // Only a reference is kept per event; text is extracted once, when a child ends abnormally.
11
+ let latest;
12
+ return {
13
+ observe(event) {
14
+ if ((event.type !== "message_update" && event.type !== "message_end") || !isAssistant(event.message))
15
+ return;
16
+ // A completed reply, including a tool-only one, is already part of the final output.
17
+ // A provider-error message is skipped there, so its text is the newest unfinished text.
18
+ latest = event.type === "message_update" || isErroredAssistant(event.message) ? event.message : undefined;
19
+ },
20
+ text() {
21
+ const text = extractTextFromContent(latest?.content);
22
+ return text.trim() ? text : undefined;
23
+ },
24
+ };
25
+ }
26
+ export function formatPartialOutput(text, cause) {
27
+ return `Partial output before ${cause}:\n${text}`;
28
+ }
29
+ //# sourceMappingURL=partial-output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partial-output.js","sourceRoot":"","sources":["../../../../src/runs/shared/partial-output.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAU/D,SAAS,WAAW,CAAC,OAAgB;IACpC,OAAO,CAAC,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAK,OAA8B,CAAC,IAAI,KAAK,WAAW,CAAC;AACzG,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAgB;IAC3C,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,OAA2D,CAAC;IACjG,OAAO,UAAU,KAAK,OAAO,IAAI,CAAC,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAChG,CAAC;AAED,MAAM,UAAU,0BAA0B;IACzC,4FAA4F;IAC5F,IAAI,MAAyC,CAAC;IAC9C,OAAO;QACN,OAAO,CAAC,KAAK;YACZ,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC;gBAAE,OAAO;YAC7G,qFAAqF;YACrF,wFAAwF;YACxF,MAAM,GAAG,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAgC,CAAC,CAAC,CAAC,SAAS,CAAC;QACpI,CAAC;QACD,IAAI;YACH,MAAM,IAAI,GAAG,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACvC,CAAC;KACD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,KAAyB;IAC1E,OAAO,yBAAyB,KAAK,MAAM,IAAI,EAAE,CAAC;AACnD,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { type BuildWorktreeCleanupPlanInput, type WorktreeCleanupPlan } from "./worktree-cleanup-plan.ts";
2
+ export type CleanupReceipt = {
3
+ version: 1;
4
+ planId: string;
5
+ repoRoot: string;
6
+ contentHash: string;
7
+ state: "applying" | "complete" | "partial";
8
+ startedAt: number;
9
+ completedAt?: number;
10
+ error?: string;
11
+ entries: Array<{
12
+ path: string;
13
+ branch: string;
14
+ state: "removing" | "removed" | "kept" | "failed";
15
+ reason: string;
16
+ }>;
17
+ };
18
+ export declare function loadReviewedCleanupPlan(repo: string, planId: string, now?: number): WorktreeCleanupPlan;
19
+ export declare function applyReviewedCleanupPlan(input: {
20
+ repo: string;
21
+ planId: string;
22
+ authorized: boolean;
23
+ signal?: AbortSignal;
24
+ foregroundRunOwnership?: BuildWorktreeCleanupPlanInput["foregroundRunOwnership"];
25
+ /** Internal retention seam: shrink the reviewed batch while holding the repository lock. */
26
+ select?: (plan: WorktreeCleanupPlan) => Set<string>;
27
+ }): Promise<{
28
+ receipt: CleanupReceipt;
29
+ receiptPath: string;
30
+ reused: boolean;
31
+ }>;
32
+ export declare function formatCleanupReceipt(result: {
33
+ receipt: CleanupReceipt;
34
+ receiptPath: string;
35
+ reused: boolean;
36
+ }): string;
37
+ //# sourceMappingURL=worktree-cleanup-apply.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktree-cleanup-apply.d.ts","sourceRoot":"","sources":["../../../../src/runs/shared/worktree-cleanup-apply.ts"],"names":[],"mappings":"AAMA,OAAO,EAAiL,KAAK,6BAA6B,EAAE,KAAK,mBAAmB,EAAiC,MAAM,4BAA4B,CAAC;AAIxT,MAAM,MAAM,cAAc,GAAG;IAC5B,OAAO,EAAE,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAClE,KAAK,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;IAC3C,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxD,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpH,CAAC;AAcF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,SAAa,GAAG,mBAAmB,CAiB3G;AAgBD,wBAAsB,wBAAwB,CAAC,KAAK,EAAE;IACrD,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IACxE,sBAAsB,CAAC,EAAE,6BAA6B,CAAC,wBAAwB,CAAC,CAAC;IACjF,4FAA4F;IAC5F,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC;CACpD,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,cAAc,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC,CAuF7E;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,cAAc,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAGtH"}
@@ -0,0 +1,179 @@
1
+ import { createHash } from "node:crypto";
2
+ import { spawnSync } from "node:child_process";
3
+ import * as fs from "node:fs";
4
+ import * as path from "node:path";
5
+ import { writePrivateAtomicJson } from "../../shared/atomic-json.js";
6
+ import { readParallelHandoffManifest } from "./parallel-handoff.js";
7
+ import { buildWorktreeCleanupPlan, isRegisteredCleanupWorktree, resolveCleanupRepoRoot, samePath, worktreeCleanupContentPayload, worktreeCleanupPlanPath, WORKTREE_CLEANUP_PLAN_TTL_MS } from "./worktree-cleanup-plan.js";
8
+ import { withHandoffWriteLock, withRepositoryWorktreeLock } from "./worktree-lock.js";
9
+ import { withWorktreeTransaction } from "./worktree.js";
10
+ function assertContainedRealPath(repoRoot, candidate, create = false) {
11
+ const relative = path.relative(repoRoot, candidate);
12
+ if (!relative || relative === ".." || relative.startsWith(`..${path.sep}`) || path.isAbsolute(relative))
13
+ throw new Error("Cleanup evidence must be inside the selected repository.");
14
+ let current = repoRoot;
15
+ for (const segment of relative.split(path.sep)) {
16
+ current = path.join(current, segment);
17
+ if (!fs.existsSync(current) && create)
18
+ fs.mkdirSync(current, { mode: 0o700 });
19
+ const stat = fs.lstatSync(current);
20
+ if (stat.isSymbolicLink())
21
+ throw new Error(`Cleanup evidence cannot use a symlink: ${current}`);
22
+ }
23
+ }
24
+ export function loadReviewedCleanupPlan(repo, planId, now = Date.now()) {
25
+ const repoRoot = resolveCleanupRepoRoot(repo);
26
+ const file = worktreeCleanupPlanPath(repoRoot, planId);
27
+ assertContainedRealPath(repoRoot, file);
28
+ const stat = fs.statSync(file);
29
+ if (!stat.isFile() || stat.size > 2 * 1024 * 1024)
30
+ throw new Error("Cleanup plan is not a bounded regular file.");
31
+ const plan = JSON.parse(fs.readFileSync(file, "utf-8"));
32
+ if (plan.version !== 1 || plan.planId !== planId || plan.repoRoot !== repoRoot || !Number.isFinite(plan.createdAt) || !Number.isFinite(plan.expiresAt) || plan.createdAt > now || (plan.expiresAt <= now && !fs.existsSync(file.replace(/\.json$/, ".claim"))) || plan.expiresAt - plan.createdAt !== WORKTREE_CLEANUP_PLAN_TTL_MS)
33
+ throw new Error("Cleanup plan is invalid, expired, or belongs to another repository.");
34
+ if (!Array.isArray(plan.entries) || plan.entries.length > 512 || !Array.isArray(plan.baseDirs) || plan.baseDirs.length !== 1 || !plan.baseDirs.every((item) => typeof item === "string" && path.isAbsolute(item)) || !Array.isArray(plan.metadataPaths) || !plan.metadataPaths.every((item) => typeof item === "string" && path.isAbsolute(item)) || !Array.isArray(plan.pruneCandidates))
35
+ throw new Error("Cleanup plan has invalid inventory fields.");
36
+ const paths = new Set();
37
+ for (const entry of plan.entries) {
38
+ if (!entry || typeof entry.path !== "string" || !path.isAbsolute(entry.path) || typeof entry.branch !== "string" || !["remove", "keep", "unknown"].includes(entry.decision) || !entry.preconditions || entry.preconditions.path !== entry.path || entry.preconditions.branch !== entry.branch || !Array.isArray(entry.reasons) || !entry.reasons.every((reason) => typeof reason === "string") || paths.has(entry.path))
39
+ throw new Error("Cleanup plan has invalid or duplicate entries.");
40
+ paths.add(entry.path);
41
+ }
42
+ const hash = createHash("sha256").update(JSON.stringify(worktreeCleanupContentPayload(plan))).digest("hex");
43
+ if (plan.contentHash !== hash)
44
+ throw new Error("Cleanup plan content hash does not match; create and review a fresh plan.");
45
+ return plan;
46
+ }
47
+ function recordRemoval(entry) {
48
+ const manifest = readParallelHandoffManifest(entry.handoffPath);
49
+ if (!manifest || manifest.runId !== entry.runId)
50
+ throw new Error("Handoff ownership changed before recording removal.");
51
+ const tasks = manifest.groups.flatMap((group) => group.cleanup.tasks).filter((task) => task.index === entry.taskIndex && samePath(path.resolve(path.dirname(entry.handoffPath), task.path), entry.path) && task.branch === entry.branch);
52
+ if (tasks.length !== 1)
53
+ throw new Error("Handoff task no longer identifies exactly one removed worktree.");
54
+ if (tasks[0].worktreeRemoved)
55
+ return;
56
+ tasks[0].worktreeRemoved = true;
57
+ tasks[0].branchRemoved = false;
58
+ tasks[0].preserved = true;
59
+ tasks[0].reason = "reviewed cleanup removed worktree; local branch retained";
60
+ manifest.updatedAt = Date.now();
61
+ writePrivateAtomicJson(entry.handoffPath, manifest);
62
+ }
63
+ export async function applyReviewedCleanupPlan(input) {
64
+ if (!input.authorized)
65
+ throw new Error("Worktree cleanup requires discardWorktree authorization.");
66
+ return withWorktreeTransaction(() => withRepositoryWorktreeLock(input.repo, async () => {
67
+ const plan = loadReviewedCleanupPlan(input.repo, input.planId);
68
+ const claimPath = worktreeCleanupPlanPath(plan.repoRoot, plan.planId).replace(/\.json$/, ".claim");
69
+ const receiptPath = path.join(claimPath, "receipt.json");
70
+ assertContainedRealPath(plan.repoRoot, path.dirname(claimPath));
71
+ try {
72
+ fs.mkdirSync(claimPath, { mode: 0o700 });
73
+ }
74
+ catch (error) {
75
+ if (error.code !== "EEXIST")
76
+ throw error;
77
+ assertContainedRealPath(plan.repoRoot, receiptPath);
78
+ // A claimed plan is never destructively replayed, even after interruption.
79
+ const receipt = JSON.parse(fs.readFileSync(receiptPath, "utf-8"));
80
+ if (receipt.version !== 1 || receipt.planId !== plan.planId || receipt.repoRoot !== plan.repoRoot || receipt.contentHash !== plan.contentHash || !Array.isArray(receipt.entries) || !["applying", "complete", "partial"].includes(receipt.state))
81
+ throw new Error("Claimed cleanup plan has an invalid receipt; inspect it before creating a fresh plan.");
82
+ // Reconcile only a journaled attempt whose directory and Git registration
83
+ // are both gone. A recreated path is never changed or removed on replay.
84
+ for (const entry of plan.entries.filter((entry) => receipt.state !== "complete" && entry.decision === "remove" && receipt.entries.some((item) => (item?.state === "removing" || item?.state === "removed") && item.path === entry.path && item.branch === entry.branch))) {
85
+ await new Promise((resolve) => setImmediate(resolve));
86
+ input.signal?.throwIfAborted();
87
+ try {
88
+ fs.lstatSync(entry.path);
89
+ continue;
90
+ }
91
+ catch (error) {
92
+ if (error.code !== "ENOENT")
93
+ throw error;
94
+ }
95
+ if (!isRegisteredCleanupWorktree(plan.repoRoot, entry.path) && entry.handoffPath) {
96
+ const item = receipt.entries.find((item) => item.path === entry.path && item.branch === entry.branch);
97
+ if (item.state === "removing") {
98
+ item.state = "removed";
99
+ item.reason = "interrupted removal reconciled; local branch retained";
100
+ writePrivateAtomicJson(receiptPath, receipt);
101
+ }
102
+ withHandoffWriteLock(entry.handoffPath, () => recordRemoval(entry));
103
+ }
104
+ }
105
+ return { receipt, receiptPath, reused: true };
106
+ }
107
+ const receipt = { version: 1, planId: plan.planId, repoRoot: plan.repoRoot, contentHash: plan.contentHash, state: "applying", startedAt: Date.now(), entries: [] };
108
+ writePrivateAtomicJson(receiptPath, receipt);
109
+ try {
110
+ const selected = input.select?.(plan);
111
+ for (const entry of plan.entries.filter((item) => item.decision === "remove")) {
112
+ await new Promise((resolve) => setImmediate(resolve));
113
+ input.signal?.throwIfAborted();
114
+ if (selected && !selected.has(entry.path)) {
115
+ receipt.entries.push({ path: entry.path, branch: entry.branch, state: "kept", reason: "outside the current retention excess" });
116
+ }
117
+ else {
118
+ try {
119
+ if (!entry.handoffPath)
120
+ throw new Error("Reviewed entry has no handoff ownership.");
121
+ withHandoffWriteLock(entry.handoffPath, () => {
122
+ const manifest = readParallelHandoffManifest(entry.handoffPath);
123
+ if (!manifest || manifest.runId !== entry.runId)
124
+ throw new Error("Handoff ownership changed before cleanup validation.");
125
+ const fresh = buildWorktreeCleanupPlan({ repo: plan.repoRoot, candidatePaths: [entry.path], handoffPaths: plan.metadataPaths, worktreeBaseDir: path.dirname(plan.baseDirs[0]), foregroundRunOwnership: input.foregroundRunOwnership });
126
+ const candidate = fresh.entries.find((item) => item.path === entry.path);
127
+ if (fresh.warnings?.some((warning) => /capped|failed to inspect/.test(warning)) || !candidate || candidate.decision !== "remove" || candidate.handoffPath !== entry.handoffPath || candidate.runId !== entry.runId || candidate.taskIndex !== entry.taskIndex || candidate.patchPath !== entry.patchPath || JSON.stringify(candidate.preconditions) !== JSON.stringify(entry.preconditions)) {
128
+ receipt.entries.push({ path: entry.path, branch: entry.branch, state: "kept", reason: candidate?.reasons.join("; ") || "reviewed ownership or Git facts changed" });
129
+ return;
130
+ }
131
+ input.signal?.throwIfAborted();
132
+ const journalEntry = { path: entry.path, branch: entry.branch, state: "removing", reason: "removal prepared; outcome not yet recorded" };
133
+ receipt.entries.push(journalEntry);
134
+ writePrivateAtomicJson(receiptPath, receipt); // Admit the attempt before Git can remove anything.
135
+ const removed = spawnSync("git", ["-C", plan.repoRoot, "worktree", "remove", "--", entry.path], { encoding: "utf-8", windowsHide: true });
136
+ if (removed.status !== 0)
137
+ throw new Error(removed.error?.message || removed.stderr.trim() || "git worktree remove failed");
138
+ journalEntry.state = "removed";
139
+ journalEntry.reason = "worktree removed; local branch retained";
140
+ writePrivateAtomicJson(receiptPath, receipt); // Evidence precedes secondary manifest bookkeeping.
141
+ recordRemoval(entry);
142
+ });
143
+ }
144
+ catch (error) {
145
+ const reason = error instanceof Error ? error.message : String(error);
146
+ const removed = receipt.entries.find((item) => item.path === entry.path && item.state === "removed");
147
+ if (removed) {
148
+ removed.reason += `; removal bookkeeping failed: ${reason}`;
149
+ receipt.error = reason;
150
+ }
151
+ else {
152
+ const pending = receipt.entries.find((item) => item.path === entry.path && item.state === "removing");
153
+ if (pending) {
154
+ pending.reason += `; operation failed: ${reason}`;
155
+ receipt.error = reason;
156
+ }
157
+ else
158
+ receipt.entries.push({ path: entry.path, branch: entry.branch, state: "failed", reason });
159
+ }
160
+ }
161
+ }
162
+ writePrivateAtomicJson(receiptPath, receipt);
163
+ }
164
+ receipt.state = !receipt.error && receipt.entries.every((entry) => entry.state === "removed") ? "complete" : "partial";
165
+ }
166
+ catch (error) {
167
+ receipt.state = "partial";
168
+ receipt.error = error instanceof Error ? error.message : String(error);
169
+ }
170
+ receipt.completedAt = Date.now();
171
+ writePrivateAtomicJson(receiptPath, receipt);
172
+ return { receipt, receiptPath, reused: false };
173
+ }, { signal: input.signal }));
174
+ }
175
+ export function formatCleanupReceipt(result) {
176
+ const { receipt } = result;
177
+ return [`Worktree cleanup ${receipt.planId}: ${receipt.state}${result.reused ? " (previous receipt; plan not replayed)" : ""}`, "Local branches retained.", ...receipt.entries.map((entry) => `- ${entry.path}: ${entry.state}; ${entry.reason}`), ...(receipt.error ? [receipt.error] : []), `Receipt: ${result.receiptPath}`].join("\n");
178
+ }
179
+ //# sourceMappingURL=worktree-cleanup-apply.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktree-cleanup-apply.js","sourceRoot":"","sources":["../../../../src/runs/shared/worktree-cleanup-apply.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,8 @@ export interface WorktreeCleanupPlan {
45
45
  }
46
46
  export interface BuildWorktreeCleanupPlanInput {
47
47
  repo: string;
48
+ /** Internal maintenance seam: inspect only these paths with the same safety predicates. */
49
+ candidatePaths?: string[];
48
50
  handoffPath?: string;
49
51
  /** Internal test and migration seam for explicitly supplied handoff records. */
50
52
  handoffPaths?: string[];
@@ -63,13 +65,18 @@ interface GitWorktreeRecord {
63
65
  head: string;
64
66
  branch?: string;
65
67
  prunable?: string;
68
+ locked?: boolean;
66
69
  }
67
70
  declare function realpathExisting(candidate: string, nativeRealpath?: (filePath: string) => string, fallbackRealpath?: (filePath: string) => string): string;
68
71
  /** Internal test seam; this is not part of the public subagent tool API. */
69
72
  export declare const __testables: {
70
73
  realpathExisting: typeof realpathExisting;
71
74
  };
75
+ export declare function samePath(left: string, right: string): boolean;
76
+ export declare function resolveCleanupRepoRoot(repo: string): string;
72
77
  export declare function parseGitWorktreeList(raw: string): GitWorktreeRecord[];
78
+ export declare function isRegisteredCleanupWorktree(repoRoot: string, candidate: string): boolean;
79
+ export declare function worktreeCleanupContentPayload(plan: Omit<WorktreeCleanupPlan, "contentHash" | "planId" | "createdAt" | "expiresAt">): unknown;
73
80
  export declare function buildWorktreeCleanupPlan(input: BuildWorktreeCleanupPlanInput): WorktreeCleanupPlan;
74
81
  export declare function worktreeCleanupPlanPath(repoRoot: string, planId: string): string;
75
82
  export declare function createWorktreeCleanupPlan(input: BuildWorktreeCleanupPlanInput): CreatedWorktreeCleanupPlan;
@@ -1 +1 @@
1
- {"version":3,"file":"worktree-cleanup-plan.d.ts","sourceRoot":"","sources":["../../../../src/runs/shared/worktree-cleanup-plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worktree-cleanup-plan.d.ts","sourceRoot":"","sources":["../../../../src/runs/shared/worktree-cleanup-plan.ts"],"names":[],"mappings":"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"}