@esso0428/pi-subagents 0.15.5 → 0.15.7

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 (234) hide show
  1. package/CHANGELOG.md +10 -19
  2. package/README.md +5 -5
  3. package/dist/agent-history-list.d.ts +19 -0
  4. package/dist/agent-history-list.d.ts.map +1 -0
  5. package/dist/agent-history-list.js +69 -0
  6. package/dist/agent-history-list.js.map +1 -0
  7. package/dist/agent-history.d.ts +2 -1
  8. package/dist/agent-history.d.ts.map +1 -0
  9. package/dist/agent-history.js +32 -34
  10. package/dist/agent-history.js.map +1 -0
  11. package/dist/agent-manager.d.ts +24 -8
  12. package/dist/agent-manager.d.ts.map +1 -0
  13. package/dist/agent-manager.js +171 -93
  14. package/dist/agent-manager.js.map +1 -0
  15. package/dist/agent-runner.d.ts +1 -0
  16. package/dist/agent-runner.d.ts.map +1 -0
  17. package/dist/agent-runner.js +75 -86
  18. package/dist/agent-runner.js.map +1 -0
  19. package/dist/agent-types.d.ts +1 -0
  20. package/dist/agent-types.d.ts.map +1 -0
  21. package/dist/agent-types.js +28 -45
  22. package/dist/agent-types.js.map +1 -0
  23. package/dist/context.d.ts +1 -0
  24. package/dist/context.d.ts.map +1 -0
  25. package/dist/context.js +3 -6
  26. package/dist/context.js.map +1 -0
  27. package/dist/cross-extension-rpc.d.ts +1 -0
  28. package/dist/cross-extension-rpc.d.ts.map +1 -0
  29. package/dist/cross-extension-rpc.js +6 -9
  30. package/dist/cross-extension-rpc.js.map +1 -0
  31. package/dist/custom-agents.d.ts +1 -0
  32. package/dist/custom-agents.d.ts.map +1 -0
  33. package/dist/custom-agents.js +16 -18
  34. package/dist/custom-agents.js.map +1 -0
  35. package/dist/default-agents.d.ts +1 -0
  36. package/dist/default-agents.d.ts.map +1 -0
  37. package/dist/default-agents.js +2 -4
  38. package/dist/default-agents.js.map +1 -0
  39. package/dist/enabled-models.d.ts +1 -0
  40. package/dist/enabled-models.d.ts.map +1 -0
  41. package/dist/enabled-models.js +12 -16
  42. package/dist/enabled-models.js.map +1 -0
  43. package/dist/env.d.ts +1 -0
  44. package/dist/env.d.ts.map +1 -0
  45. package/dist/env.js +2 -4
  46. package/dist/env.js.map +1 -0
  47. package/dist/group-join.d.ts +1 -0
  48. package/dist/group-join.d.ts.map +1 -0
  49. package/dist/group-join.js +2 -5
  50. package/dist/group-join.js.map +1 -0
  51. package/dist/index.d.ts +1 -0
  52. package/dist/index.d.ts.map +1 -0
  53. package/dist/index.js +306 -292
  54. package/dist/index.js.map +1 -0
  55. package/dist/invocation-config.d.ts +1 -0
  56. package/dist/invocation-config.d.ts.map +1 -0
  57. package/dist/invocation-config.js +3 -6
  58. package/dist/invocation-config.js.map +1 -0
  59. package/dist/memory.d.ts +1 -0
  60. package/dist/memory.d.ts.map +1 -0
  61. package/dist/memory.js +25 -34
  62. package/dist/memory.js.map +1 -0
  63. package/dist/model-resolver.d.ts +1 -0
  64. package/dist/model-resolver.d.ts.map +1 -0
  65. package/dist/model-resolver.js +2 -4
  66. package/dist/model-resolver.js.map +1 -0
  67. package/dist/nico-overrides.d.ts +1 -0
  68. package/dist/nico-overrides.d.ts.map +1 -0
  69. package/dist/nico-overrides.js +15 -20
  70. package/dist/nico-overrides.js.map +1 -0
  71. package/dist/output-file.d.ts +1 -0
  72. package/dist/output-file.d.ts.map +1 -0
  73. package/dist/output-file.js +17 -22
  74. package/dist/output-file.js.map +1 -0
  75. package/dist/prompts.d.ts +1 -0
  76. package/dist/prompts.d.ts.map +1 -0
  77. package/dist/prompts.js +2 -4
  78. package/dist/prompts.js.map +1 -0
  79. package/dist/schedule-store.d.ts +1 -0
  80. package/dist/schedule-store.d.ts.map +1 -0
  81. package/dist/schedule-store.js +17 -21
  82. package/dist/schedule-store.js.map +1 -0
  83. package/dist/schedule.d.ts +1 -0
  84. package/dist/schedule.d.ts.map +1 -0
  85. package/dist/schedule.js +9 -12
  86. package/dist/schedule.js.map +1 -0
  87. package/dist/settings.d.ts +1 -0
  88. package/dist/settings.d.ts.map +1 -0
  89. package/dist/settings.js +16 -23
  90. package/dist/settings.js.map +1 -0
  91. package/dist/skill-loader.d.ts +1 -0
  92. package/dist/skill-loader.d.ts.map +1 -0
  93. package/dist/skill-loader.js +21 -23
  94. package/dist/skill-loader.js.map +1 -0
  95. package/dist/status-note.d.ts +1 -0
  96. package/dist/status-note.d.ts.map +1 -0
  97. package/dist/status-note.js +2 -4
  98. package/dist/status-note.js.map +1 -0
  99. package/dist/types.d.ts +5 -1
  100. package/dist/types.d.ts.map +1 -0
  101. package/dist/types.js +2 -4
  102. package/dist/types.js.map +1 -0
  103. package/dist/ui/agent-widget.d.ts +2 -5
  104. package/dist/ui/agent-widget.d.ts.map +1 -0
  105. package/dist/ui/agent-widget.js +29 -51
  106. package/dist/ui/agent-widget.js.map +1 -0
  107. package/dist/ui/ccstyle/diff/ansi-utils.d.ts +11 -0
  108. package/dist/ui/ccstyle/diff/ansi-utils.d.ts.map +1 -0
  109. package/dist/ui/ccstyle/diff/ansi-utils.js +145 -0
  110. package/dist/ui/ccstyle/diff/ansi-utils.js.map +1 -0
  111. package/dist/ui/ccstyle/diff/diff-presentation.d.ts +12 -0
  112. package/dist/ui/ccstyle/diff/diff-presentation.d.ts.map +1 -0
  113. package/dist/ui/ccstyle/diff/diff-presentation.js +49 -0
  114. package/dist/ui/ccstyle/diff/diff-presentation.js.map +1 -0
  115. package/dist/ui/ccstyle/diff/diff-renderer.d.ts +46 -0
  116. package/dist/ui/ccstyle/diff/diff-renderer.d.ts.map +1 -0
  117. package/dist/ui/ccstyle/diff/diff-renderer.js +2044 -0
  118. package/dist/ui/ccstyle/diff/diff-renderer.js.map +1 -0
  119. package/dist/ui/ccstyle/diff/line-width-safety.d.ts +12 -0
  120. package/dist/ui/ccstyle/diff/line-width-safety.d.ts.map +1 -0
  121. package/dist/ui/ccstyle/diff/line-width-safety.js +59 -0
  122. package/dist/ui/ccstyle/diff/line-width-safety.js.map +1 -0
  123. package/dist/ui/ccstyle/diff/render-utils.d.ts +6 -0
  124. package/dist/ui/ccstyle/diff/render-utils.d.ts.map +1 -0
  125. package/dist/ui/ccstyle/diff/render-utils.js +25 -0
  126. package/dist/ui/ccstyle/diff/render-utils.js.map +1 -0
  127. package/dist/ui/ccstyle/diff/types.d.ts +22 -0
  128. package/dist/ui/ccstyle/diff/types.d.ts.map +1 -0
  129. package/dist/ui/ccstyle/diff/types.js +10 -0
  130. package/dist/ui/ccstyle/diff/types.js.map +1 -0
  131. package/dist/ui/ccstyle/diff/write-display-utils.d.ts +2 -0
  132. package/dist/ui/ccstyle/diff/write-display-utils.d.ts.map +1 -0
  133. package/dist/ui/ccstyle/diff/write-display-utils.js +12 -0
  134. package/dist/ui/ccstyle/diff/write-display-utils.js.map +1 -0
  135. package/dist/ui/ccstyle/tool-renderer.d.ts +17 -0
  136. package/dist/ui/ccstyle/tool-renderer.d.ts.map +1 -0
  137. package/dist/ui/ccstyle/tool-renderer.js +58 -0
  138. package/dist/ui/ccstyle/tool-renderer.js.map +1 -0
  139. package/dist/ui/ccstyle/tool-result.d.ts +24 -0
  140. package/dist/ui/ccstyle/tool-result.d.ts.map +1 -0
  141. package/dist/ui/ccstyle/tool-result.js +193 -0
  142. package/dist/ui/ccstyle/tool-result.js.map +1 -0
  143. package/dist/ui/conversation-blocks.d.ts +46 -0
  144. package/dist/ui/conversation-blocks.d.ts.map +1 -0
  145. package/dist/ui/conversation-blocks.js +306 -0
  146. package/dist/ui/conversation-blocks.js.map +1 -0
  147. package/dist/ui/conversation-nvim.d.ts +8 -0
  148. package/dist/ui/conversation-nvim.d.ts.map +1 -0
  149. package/dist/ui/conversation-nvim.js +117 -0
  150. package/dist/ui/conversation-nvim.js.map +1 -0
  151. package/dist/ui/conversation-role.d.ts +13 -0
  152. package/dist/ui/conversation-role.d.ts.map +1 -0
  153. package/dist/ui/conversation-role.js +39 -0
  154. package/dist/ui/conversation-role.js.map +1 -0
  155. package/dist/ui/conversation-search.d.ts +39 -0
  156. package/dist/ui/conversation-search.d.ts.map +1 -0
  157. package/dist/ui/conversation-search.js +124 -0
  158. package/dist/ui/conversation-search.js.map +1 -0
  159. package/dist/ui/conversation-timeline.d.ts +62 -0
  160. package/dist/ui/conversation-timeline.d.ts.map +1 -0
  161. package/dist/ui/conversation-timeline.js +263 -0
  162. package/dist/ui/conversation-timeline.js.map +1 -0
  163. package/dist/ui/conversation-viewer.d.ts +62 -20
  164. package/dist/ui/conversation-viewer.d.ts.map +1 -0
  165. package/dist/ui/conversation-viewer.js +449 -224
  166. package/dist/ui/conversation-viewer.js.map +1 -0
  167. package/dist/ui/fleet-list.d.ts +24 -11
  168. package/dist/ui/fleet-list.d.ts.map +1 -0
  169. package/dist/ui/fleet-list.js +86 -78
  170. package/dist/ui/fleet-list.js.map +1 -0
  171. package/dist/ui/schedule-menu.d.ts +1 -0
  172. package/dist/ui/schedule-menu.d.ts.map +1 -0
  173. package/dist/ui/schedule-menu.js +2 -4
  174. package/dist/ui/schedule-menu.js.map +1 -0
  175. package/dist/ui/viewer-keys.d.ts +1 -0
  176. package/dist/ui/viewer-keys.d.ts.map +1 -0
  177. package/dist/ui/viewer-keys.js +8 -10
  178. package/dist/ui/viewer-keys.js.map +1 -0
  179. package/dist/usage.d.ts +1 -0
  180. package/dist/usage.d.ts.map +1 -0
  181. package/dist/usage.js +5 -10
  182. package/dist/usage.js.map +1 -0
  183. package/dist/worktree.d.ts +1 -0
  184. package/dist/worktree.d.ts.map +1 -0
  185. package/dist/worktree.js +27 -31
  186. package/dist/worktree.js.map +1 -0
  187. package/dist/write-execution.d.ts +42 -0
  188. package/dist/write-execution.d.ts.map +1 -0
  189. package/dist/write-execution.js +138 -0
  190. package/dist/write-execution.js.map +1 -0
  191. package/package.json +1 -1
  192. package/src/agent-history-list.ts +91 -0
  193. package/src/agent-history.ts +12 -17
  194. package/src/agent-manager.ts +169 -81
  195. package/src/agent-runner.ts +12 -13
  196. package/src/index.ts +117 -98
  197. package/src/output-file.ts +1 -1
  198. package/src/types.ts +4 -1
  199. package/src/ui/agent-widget.ts +3 -9
  200. package/src/ui/ccstyle/ATTRIBUTION.md +37 -0
  201. package/src/ui/ccstyle/diff/ansi-utils.ts +168 -0
  202. package/src/ui/ccstyle/diff/diff-presentation.ts +70 -0
  203. package/src/ui/ccstyle/diff/diff-renderer.ts +3148 -0
  204. package/src/ui/ccstyle/diff/line-width-safety.ts +92 -0
  205. package/src/ui/ccstyle/diff/render-utils.ts +32 -0
  206. package/src/ui/ccstyle/diff/types.ts +33 -0
  207. package/src/ui/ccstyle/diff/write-display-utils.ts +12 -0
  208. package/src/ui/ccstyle/tool-renderer.ts +71 -0
  209. package/src/ui/ccstyle/tool-result.ts +238 -0
  210. package/src/ui/conversation-blocks.ts +404 -0
  211. package/src/ui/conversation-nvim.ts +127 -0
  212. package/src/ui/conversation-role.ts +45 -0
  213. package/src/ui/conversation-search.ts +161 -0
  214. package/src/ui/conversation-timeline.ts +315 -0
  215. package/src/ui/conversation-viewer.ts +418 -210
  216. package/src/ui/fleet-list.ts +73 -52
  217. package/src/write-execution.ts +180 -0
  218. package/test/agent-history-list.test.ts +121 -0
  219. package/test/agent-manager-history.test.ts +59 -58
  220. package/test/agent-menu-history-navigation.test.ts +86 -0
  221. package/test/output-file-history.test.ts +50 -0
  222. package/test/ui/conversation-blocks.test.ts +103 -0
  223. package/test/ui/conversation-diff.test.ts +91 -0
  224. package/test/ui/conversation-search.test.ts +55 -0
  225. package/test/ui/conversation-viewer.test.ts +182 -0
  226. package/test/ui/fleet-list.test.ts +131 -0
  227. package/test/write-execution.test.ts +83 -0
  228. package/tsconfig.json +16 -0
  229. package/vitest.temp.config.mts +6 -0
  230. package/dist/ui/markdown-result.d.ts +0 -3
  231. package/dist/ui/markdown-result.js +0 -53
  232. package/src/ui/markdown-result.ts +0 -56
  233. package/test/agent-history.test.ts +0 -63
  234. package/test/ui/markdown-result.test.ts +0 -45
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  /**
3
2
  * agent-manager.ts — Tracks agents, background execution, resume support.
4
3
  *
@@ -6,23 +5,102 @@
6
5
  * Excess agents are queued and auto-started as running agents complete.
7
6
  * Foreground agents bypass the queue (they block the parent anyway).
8
7
  */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.AgentManager = void 0;
11
- const node_crypto_1 = require("node:crypto");
12
- const node_fs_1 = require("node:fs");
13
- const node_path_1 = require("node:path");
14
- const agent_runner_js_1 = require("./agent-runner.js");
15
- const usage_js_1 = require("./usage.js");
16
- const worktree_js_1 = require("./worktree.js");
8
+ import { randomUUID } from "node:crypto";
9
+ import { statSync } from "node:fs";
10
+ import { isAbsolute } from "node:path";
11
+ import { resumeAgent, runAgent } from "./agent-runner.js";
12
+ import { addUsage } from "./usage.js";
13
+ import { cleanupWorktree, createWorktree, pruneWorktrees, } from "./worktree.js";
17
14
  /** Default max concurrent background agents. */
18
15
  const DEFAULT_MAX_CONCURRENT = 4;
19
- const TERMINAL_STATUSES = new Set([
20
- "completed",
21
- "steered",
22
- "aborted",
23
- "stopped",
24
- "error",
25
- ]);
16
+ const RESTORABLE_STATUSES = new Set(["completed", "steered", "stopped", "aborted", "error"]);
17
+ const THINKING_LEVELS = new Set(["minimal", "low", "medium", "high", "xhigh", "max", "off"]);
18
+ /** Narrow persisted strings before putting them into runtime/UI state. */
19
+ function isSafePersistedString(value, maxLength) {
20
+ return typeof value === "string" && value.length > 0 && value.length <= maxLength && !/[\0\r\n]/.test(value);
21
+ }
22
+ function isFiniteTimestamp(value) {
23
+ return typeof value === "number" && Number.isFinite(value) && Number.isInteger(value) && value >= 0;
24
+ }
25
+ function isValidUsage(value) {
26
+ if (!value || typeof value !== "object")
27
+ return false;
28
+ const usage = value;
29
+ return ["input", "output", "cacheWrite"].every((key) => {
30
+ const n = usage[key];
31
+ return typeof n === "number" && Number.isFinite(n) && n >= 0;
32
+ });
33
+ }
34
+ function isSafeTranscriptLocator(value) {
35
+ return typeof value === "string"
36
+ && /^\.pi-subagents\/agent-transcripts\/[^/]+\.jsonl$/.test(value)
37
+ && !value.includes("..")
38
+ && !value.includes("\\")
39
+ && !value.includes("\0");
40
+ }
41
+ function isSafeInvocation(value) {
42
+ if (!value || typeof value !== "object")
43
+ return false;
44
+ const invocation = value;
45
+ for (const key of ["modelName", "effectiveModelName"]) {
46
+ if (invocation[key] !== undefined && !isSafePersistedString(invocation[key], 512))
47
+ return false;
48
+ }
49
+ for (const key of ["thinking", "effectiveThinking"]) {
50
+ if (invocation[key] !== undefined && (typeof invocation[key] !== "string" || !THINKING_LEVELS.has(invocation[key])))
51
+ return false;
52
+ }
53
+ if (invocation.maxTurns !== undefined && (!Number.isInteger(invocation.maxTurns) || invocation.maxTurns < 0))
54
+ return false;
55
+ for (const key of ["isolated", "inheritContext", "runInBackground"]) {
56
+ if (invocation[key] !== undefined && typeof invocation[key] !== "boolean")
57
+ return false;
58
+ }
59
+ if (invocation.isolation !== undefined && invocation.isolation !== "worktree")
60
+ return false;
61
+ return true;
62
+ }
63
+ function cloneInvocation(value) {
64
+ return value ? {
65
+ modelName: value.modelName,
66
+ effectiveModelName: value.effectiveModelName,
67
+ thinking: value.thinking,
68
+ effectiveThinking: value.effectiveThinking,
69
+ maxTurns: value.maxTurns,
70
+ isolated: value.isolated,
71
+ inheritContext: value.inheritContext,
72
+ runInBackground: value.runInBackground,
73
+ isolation: value.isolation,
74
+ } : undefined;
75
+ }
76
+ /** Validate one persisted terminal record without constructing runtime handles. */
77
+ export function isRestorableAgentRecord(value) {
78
+ if (!value || typeof value !== "object")
79
+ return false;
80
+ const record = value;
81
+ if (!isSafePersistedString(record.id, 256)
82
+ || !isSafePersistedString(record.type, 256)
83
+ || !isSafePersistedString(record.description, 4096)
84
+ || typeof record.status !== "string"
85
+ || !RESTORABLE_STATUSES.has(record.status)
86
+ || !isFiniteTimestamp(record.startedAt)
87
+ || !isFiniteTimestamp(record.completedAt)
88
+ || record.completedAt < record.startedAt)
89
+ return false;
90
+ if (record.result !== undefined && !isSafePersistedString(record.result, 2_000_000))
91
+ return false;
92
+ if (record.error !== undefined && !isSafePersistedString(record.error, 64_000))
93
+ return false;
94
+ if (record.toolUses !== undefined && (!Number.isInteger(record.toolUses) || record.toolUses < 0))
95
+ return false;
96
+ if (record.lifetimeUsage !== undefined && !isValidUsage(record.lifetimeUsage))
97
+ return false;
98
+ if (record.transcriptPath !== undefined && !isSafeTranscriptLocator(record.transcriptPath))
99
+ return false;
100
+ if (record.invocation !== undefined && !isSafeInvocation(record.invocation))
101
+ return false;
102
+ return true;
103
+ }
26
104
  /**
27
105
  * Validate a caller-supplied SpawnOptions.cwd. `undefined`/`null` mean "unset"
28
106
  * (parent cwd). Anything else must be an absolute path to an existing
@@ -32,12 +110,12 @@ const TERMINAL_STATUSES = new Set([
32
110
  function assertValidSpawnCwd(cwd) {
33
111
  if (cwd == null)
34
112
  return;
35
- if (typeof cwd !== "string" || !(0, node_path_1.isAbsolute)(cwd)) {
113
+ if (typeof cwd !== "string" || !isAbsolute(cwd)) {
36
114
  throw new Error(`SpawnOptions.cwd must be an absolute path: "${String(cwd)}"`);
37
115
  }
38
116
  let isDirectory = false;
39
117
  try {
40
- isDirectory = (0, node_fs_1.statSync)(cwd).isDirectory();
118
+ isDirectory = statSync(cwd).isDirectory();
41
119
  }
42
120
  catch {
43
121
  throw new Error(`SpawnOptions.cwd does not exist: "${cwd}"`);
@@ -46,37 +124,7 @@ function assertValidSpawnCwd(cwd) {
46
124
  throw new Error(`SpawnOptions.cwd is not a directory: "${cwd}"`);
47
125
  }
48
126
  }
49
- const RESTORABLE_STATUSES = new Set([
50
- "completed",
51
- "steered",
52
- "aborted",
53
- "stopped",
54
- "error",
55
- ]);
56
- function isRestorableRecord(value) {
57
- if (!value || typeof value !== "object")
58
- return false;
59
- const record = value;
60
- const transcriptPath = record.transcriptPath;
61
- const validTranscriptPath = transcriptPath === undefined ||
62
- (typeof transcriptPath === "string" &&
63
- transcriptPath.startsWith(".pi-subagents/agent-transcripts/") &&
64
- !transcriptPath.includes("..") &&
65
- !transcriptPath.includes("\\"));
66
- return (typeof record.id === "string" &&
67
- record.id.length > 0 &&
68
- typeof record.type === "string" &&
69
- typeof record.description === "string" &&
70
- RESTORABLE_STATUSES.has(record.status) &&
71
- typeof record.startedAt === "number" &&
72
- Number.isFinite(record.startedAt) &&
73
- typeof record.completedAt === "number" &&
74
- Number.isFinite(record.completedAt) &&
75
- (record.result === undefined || typeof record.result === "string") &&
76
- (record.error === undefined || typeof record.error === "string") &&
77
- validTranscriptPath);
78
- }
79
- class AgentManager {
127
+ export class AgentManager {
80
128
  agents = new Map();
81
129
  cleanupInterval;
82
130
  onComplete;
@@ -117,7 +165,7 @@ class AgentManager {
117
165
  // call, not minutes later at drain. Throw (not warn): programmatic callers
118
166
  // can fix and retry; the RPC layer converts throws into error envelopes.
119
167
  assertValidSpawnCwd(options.cwd);
120
- const id = (0, node_crypto_1.randomUUID)().slice(0, 17);
168
+ const id = randomUUID().slice(0, 17);
121
169
  const abortController = new AbortController();
122
170
  const record = {
123
171
  id,
@@ -170,7 +218,7 @@ class AgentManager {
170
218
  // BEFORE state mutation so a throw doesn't leave the record half-running.
171
219
  let worktreeCwd;
172
220
  if (options.isolation === "worktree") {
173
- const wt = (0, worktree_js_1.createWorktree)(baseCwd, id);
221
+ const wt = createWorktree(baseCwd, id);
174
222
  if (!wt) {
175
223
  throw new Error('Cannot run with isolation: "worktree" — not a git repo, no commits yet, or `git worktree add` failed. ' +
176
224
  'Initialize git and commit at least once, or omit `isolation`.');
@@ -198,7 +246,7 @@ class AgentManager {
198
246
  detachParentSignal = () => options.signal.removeEventListener("abort", onParentAbort);
199
247
  }
200
248
  const detach = () => { detachParentSignal?.(); detachParentSignal = undefined; };
201
- const promise = (0, agent_runner_js_1.runAgent)(ctx, type, prompt, {
249
+ const promise = runAgent(ctx, type, prompt, {
202
250
  pi,
203
251
  agentId: id,
204
252
  model: options.model,
@@ -222,7 +270,7 @@ class AgentManager {
222
270
  onTurnEnd: options.onTurnEnd,
223
271
  onTextDelta: options.onTextDelta,
224
272
  onAssistantUsage: (usage) => {
225
- (0, usage_js_1.addUsage)(record.lifetimeUsage, usage);
273
+ addUsage(record.lifetimeUsage, usage);
226
274
  options.onAssistantUsage?.(usage);
227
275
  },
228
276
  onCompaction: (info) => {
@@ -232,6 +280,12 @@ class AgentManager {
232
280
  },
233
281
  onSessionCreated: (session) => {
234
282
  record.session = session;
283
+ const model = session.model;
284
+ record.invocation = {
285
+ ...(record.invocation ?? {}),
286
+ ...(model && { effectiveModelName: model.name ?? model.id }),
287
+ effectiveThinking: session.thinkingLevel,
288
+ };
235
289
  // Flush any steers that arrived before the session was ready
236
290
  if (record.pendingSteers?.length) {
237
291
  for (const msg of record.pendingSteers) {
@@ -273,7 +327,7 @@ class AgentManager {
273
327
  }
274
328
  // Clean up worktree if used
275
329
  if (record.worktree) {
276
- const wtResult = (0, worktree_js_1.cleanupWorktree)(baseCwd, record.worktree, options.description);
330
+ const wtResult = cleanupWorktree(baseCwd, record.worktree, options.description);
277
331
  record.worktreeResult = wtResult;
278
332
  if (wtResult.hasChanges && wtResult.branch) {
279
333
  // With a caller-supplied cwd the branch lives in THAT repo, not the
@@ -321,7 +375,7 @@ class AgentManager {
321
375
  // Best-effort worktree cleanup on error
322
376
  if (record.worktree) {
323
377
  try {
324
- const wtResult = (0, worktree_js_1.cleanupWorktree)(baseCwd, record.worktree, options.description);
378
+ const wtResult = cleanupWorktree(baseCwd, record.worktree, options.description);
325
379
  record.worktreeResult = wtResult;
326
380
  }
327
381
  catch { /* ignore cleanup errors */ }
@@ -405,14 +459,20 @@ class AgentManager {
405
459
  record.completedAt = undefined;
406
460
  record.result = undefined;
407
461
  record.error = undefined;
462
+ const resumedModel = record.session.model;
463
+ record.invocation = {
464
+ ...(record.invocation ?? {}),
465
+ ...(resumedModel && { effectiveModelName: resumedModel.name ?? resumedModel.id }),
466
+ effectiveThinking: record.session.thinkingLevel,
467
+ };
408
468
  try {
409
- const { text, failure } = await (0, agent_runner_js_1.resumeAgent)(record.session, prompt, {
469
+ const { text, failure } = await resumeAgent(record.session, prompt, {
410
470
  onToolActivity: (activity) => {
411
471
  if (activity.type === "end")
412
472
  record.toolUses++;
413
473
  },
414
474
  onAssistantUsage: (usage) => {
415
- (0, usage_js_1.addUsage)(record.lifetimeUsage, usage);
475
+ addUsage(record.lifetimeUsage, usage);
416
476
  },
417
477
  onCompaction: (info) => {
418
478
  record.compactionCount++;
@@ -462,43 +522,42 @@ class AgentManager {
462
522
  getRecord(id) {
463
523
  return this.agents.get(id);
464
524
  }
465
- /**
466
- * Restore terminal records persisted in a parent session.
467
- *
468
- * Restored records deliberately have no live session, promise, or abort
469
- * controller. Invalid data is ignored because session entries are persisted
470
- * extension data and may have been written by an older version.
471
- */
525
+ listAgents() {
526
+ return [...this.agents.values()].sort((a, b) => b.startedAt - a.startedAt);
527
+ }
528
+ /** Restore terminal records persisted by a parent branch without runtime handles. */
472
529
  restoreCompleted(records) {
473
- const restoredIds = new Set();
474
- // getBranch() is chronological; newest persisted state wins on duplicate IDs.
475
- for (const value of [...records].reverse()) {
476
- if (!isRestorableRecord(value))
477
- continue;
478
- if (restoredIds.has(value.id) || this.agents.has(value.id))
530
+ const latest = new Map();
531
+ for (const value of records) {
532
+ if (isRestorableAgentRecord(value)) {
533
+ latest.set(value.id, this.createRestoredRecord(value));
534
+ }
535
+ }
536
+ for (const [id, restored] of latest) {
537
+ const existing = this.agents.get(id);
538
+ if (existing?.status === "running" || existing?.status === "queued")
479
539
  continue;
480
- restoredIds.add(value.id);
481
- this.agents.set(value.id, {
482
- id: value.id,
483
- type: value.type,
484
- description: value.description,
485
- status: value.status,
486
- result: value.result,
487
- error: value.error,
488
- transcriptPath: value.transcriptPath,
489
- toolUses: 0,
490
- startedAt: value.startedAt,
491
- completedAt: value.completedAt,
492
- lifetimeUsage: { input: 0, output: 0, cacheWrite: 0 },
493
- compactionCount: 0,
494
- // Historical records have no inline tool surface and should remain
495
- // visible in the background widget.
496
- isBackground: true,
497
- });
540
+ this.agents.set(id, restored);
498
541
  }
499
542
  }
500
- listAgents() {
501
- return [...this.agents.values()].sort((a, b) => b.startedAt - a.startedAt);
543
+ createRestoredRecord(record) {
544
+ return {
545
+ id: record.id,
546
+ type: record.type,
547
+ description: record.description,
548
+ status: record.status,
549
+ result: record.result,
550
+ error: record.error,
551
+ toolUses: record.toolUses ?? 0,
552
+ startedAt: record.startedAt,
553
+ completedAt: record.completedAt,
554
+ transcriptPath: record.transcriptPath,
555
+ invocation: cloneInvocation(record.invocation),
556
+ lifetimeUsage: record.lifetimeUsage
557
+ ? { ...record.lifetimeUsage }
558
+ : { input: 0, output: 0, cacheWrite: 0 },
559
+ compactionCount: 0,
560
+ };
502
561
  }
503
562
  abort(id) {
504
563
  const record = this.agents.get(id);
@@ -531,6 +590,25 @@ class AgentManager {
531
590
  continue;
532
591
  if ((record.completedAt ?? 0) >= cutoff)
533
592
  continue;
593
+ // A durable transcript is the source of truth for history. Release the
594
+ // live session after the TTL, but retain a lightweight record so opening
595
+ // history again in this session does not silently lose its identity or
596
+ // locator. Records without durable storage remain eligible for eviction.
597
+ if (record.transcriptPath) {
598
+ try {
599
+ record.session?.dispose?.();
600
+ }
601
+ catch { /* ignore cleanup failures */ }
602
+ record.session = undefined;
603
+ try {
604
+ record.outputCleanup?.();
605
+ }
606
+ catch { /* ignore cleanup failures */ }
607
+ record.outputCleanup = undefined;
608
+ record.outputFile = undefined;
609
+ record.historyFile = undefined;
610
+ continue;
611
+ }
534
612
  this.removeRecord(id, record);
535
613
  }
536
614
  }
@@ -602,17 +680,17 @@ class AgentManager {
602
680
  this.agents.clear();
603
681
  // Prune any orphaned git worktrees (crash recovery)
604
682
  try {
605
- (0, worktree_js_1.pruneWorktrees)(process.cwd());
683
+ pruneWorktrees(process.cwd());
606
684
  }
607
685
  catch { /* ignore */ }
608
686
  // Also prune repos that caller-supplied cwds created worktrees in — a clean
609
687
  // exit with in-flight agents would otherwise leave stale registrations there.
610
688
  for (const repo of this.worktreeRepos) {
611
689
  try {
612
- (0, worktree_js_1.pruneWorktrees)(repo);
690
+ pruneWorktrees(repo);
613
691
  }
614
692
  catch { /* ignore */ }
615
693
  }
616
694
  }
617
695
  }
618
- exports.AgentManager = AgentManager;
696
+ //# sourceMappingURL=agent-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-manager.js","sourceRoot":"","sources":["../src/agent-manager.ts"],"names":[],"mappings":"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"}
@@ -210,3 +210,4 @@ export declare function steerAgent(session: AgentSession, message: string): Prom
210
210
  * Get the subagent's conversation messages as formatted text.
211
211
  */
212
212
  export declare function getAgentConversation(session: AgentSession): string;
213
+ //# sourceMappingURL=agent-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-runner.d.ts","sourceRoot":"","sources":["../src/agent-runner.ts"],"names":[],"mappings":"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"}