@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.
- package/CHANGELOG.md +10 -19
- package/README.md +5 -5
- package/dist/agent-history-list.d.ts +19 -0
- package/dist/agent-history-list.d.ts.map +1 -0
- package/dist/agent-history-list.js +69 -0
- package/dist/agent-history-list.js.map +1 -0
- package/dist/agent-history.d.ts +2 -1
- package/dist/agent-history.d.ts.map +1 -0
- package/dist/agent-history.js +32 -34
- package/dist/agent-history.js.map +1 -0
- package/dist/agent-manager.d.ts +24 -8
- package/dist/agent-manager.d.ts.map +1 -0
- package/dist/agent-manager.js +171 -93
- package/dist/agent-manager.js.map +1 -0
- package/dist/agent-runner.d.ts +1 -0
- package/dist/agent-runner.d.ts.map +1 -0
- package/dist/agent-runner.js +75 -86
- package/dist/agent-runner.js.map +1 -0
- package/dist/agent-types.d.ts +1 -0
- package/dist/agent-types.d.ts.map +1 -0
- package/dist/agent-types.js +28 -45
- package/dist/agent-types.js.map +1 -0
- package/dist/context.d.ts +1 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +3 -6
- package/dist/context.js.map +1 -0
- package/dist/cross-extension-rpc.d.ts +1 -0
- package/dist/cross-extension-rpc.d.ts.map +1 -0
- package/dist/cross-extension-rpc.js +6 -9
- package/dist/cross-extension-rpc.js.map +1 -0
- package/dist/custom-agents.d.ts +1 -0
- package/dist/custom-agents.d.ts.map +1 -0
- package/dist/custom-agents.js +16 -18
- package/dist/custom-agents.js.map +1 -0
- package/dist/default-agents.d.ts +1 -0
- package/dist/default-agents.d.ts.map +1 -0
- package/dist/default-agents.js +2 -4
- package/dist/default-agents.js.map +1 -0
- package/dist/enabled-models.d.ts +1 -0
- package/dist/enabled-models.d.ts.map +1 -0
- package/dist/enabled-models.js +12 -16
- package/dist/enabled-models.js.map +1 -0
- package/dist/env.d.ts +1 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +2 -4
- package/dist/env.js.map +1 -0
- package/dist/group-join.d.ts +1 -0
- package/dist/group-join.d.ts.map +1 -0
- package/dist/group-join.js +2 -5
- package/dist/group-join.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +306 -292
- package/dist/index.js.map +1 -0
- package/dist/invocation-config.d.ts +1 -0
- package/dist/invocation-config.d.ts.map +1 -0
- package/dist/invocation-config.js +3 -6
- package/dist/invocation-config.js.map +1 -0
- package/dist/memory.d.ts +1 -0
- package/dist/memory.d.ts.map +1 -0
- package/dist/memory.js +25 -34
- package/dist/memory.js.map +1 -0
- package/dist/model-resolver.d.ts +1 -0
- package/dist/model-resolver.d.ts.map +1 -0
- package/dist/model-resolver.js +2 -4
- package/dist/model-resolver.js.map +1 -0
- package/dist/nico-overrides.d.ts +1 -0
- package/dist/nico-overrides.d.ts.map +1 -0
- package/dist/nico-overrides.js +15 -20
- package/dist/nico-overrides.js.map +1 -0
- package/dist/output-file.d.ts +1 -0
- package/dist/output-file.d.ts.map +1 -0
- package/dist/output-file.js +17 -22
- package/dist/output-file.js.map +1 -0
- package/dist/prompts.d.ts +1 -0
- package/dist/prompts.d.ts.map +1 -0
- package/dist/prompts.js +2 -4
- package/dist/prompts.js.map +1 -0
- package/dist/schedule-store.d.ts +1 -0
- package/dist/schedule-store.d.ts.map +1 -0
- package/dist/schedule-store.js +17 -21
- package/dist/schedule-store.js.map +1 -0
- package/dist/schedule.d.ts +1 -0
- package/dist/schedule.d.ts.map +1 -0
- package/dist/schedule.js +9 -12
- package/dist/schedule.js.map +1 -0
- package/dist/settings.d.ts +1 -0
- package/dist/settings.d.ts.map +1 -0
- package/dist/settings.js +16 -23
- package/dist/settings.js.map +1 -0
- package/dist/skill-loader.d.ts +1 -0
- package/dist/skill-loader.d.ts.map +1 -0
- package/dist/skill-loader.js +21 -23
- package/dist/skill-loader.js.map +1 -0
- package/dist/status-note.d.ts +1 -0
- package/dist/status-note.d.ts.map +1 -0
- package/dist/status-note.js +2 -4
- package/dist/status-note.js.map +1 -0
- package/dist/types.d.ts +5 -1
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -4
- package/dist/types.js.map +1 -0
- package/dist/ui/agent-widget.d.ts +2 -5
- package/dist/ui/agent-widget.d.ts.map +1 -0
- package/dist/ui/agent-widget.js +29 -51
- package/dist/ui/agent-widget.js.map +1 -0
- package/dist/ui/ccstyle/diff/ansi-utils.d.ts +11 -0
- package/dist/ui/ccstyle/diff/ansi-utils.d.ts.map +1 -0
- package/dist/ui/ccstyle/diff/ansi-utils.js +145 -0
- package/dist/ui/ccstyle/diff/ansi-utils.js.map +1 -0
- package/dist/ui/ccstyle/diff/diff-presentation.d.ts +12 -0
- package/dist/ui/ccstyle/diff/diff-presentation.d.ts.map +1 -0
- package/dist/ui/ccstyle/diff/diff-presentation.js +49 -0
- package/dist/ui/ccstyle/diff/diff-presentation.js.map +1 -0
- package/dist/ui/ccstyle/diff/diff-renderer.d.ts +46 -0
- package/dist/ui/ccstyle/diff/diff-renderer.d.ts.map +1 -0
- package/dist/ui/ccstyle/diff/diff-renderer.js +2044 -0
- package/dist/ui/ccstyle/diff/diff-renderer.js.map +1 -0
- package/dist/ui/ccstyle/diff/line-width-safety.d.ts +12 -0
- package/dist/ui/ccstyle/diff/line-width-safety.d.ts.map +1 -0
- package/dist/ui/ccstyle/diff/line-width-safety.js +59 -0
- package/dist/ui/ccstyle/diff/line-width-safety.js.map +1 -0
- package/dist/ui/ccstyle/diff/render-utils.d.ts +6 -0
- package/dist/ui/ccstyle/diff/render-utils.d.ts.map +1 -0
- package/dist/ui/ccstyle/diff/render-utils.js +25 -0
- package/dist/ui/ccstyle/diff/render-utils.js.map +1 -0
- package/dist/ui/ccstyle/diff/types.d.ts +22 -0
- package/dist/ui/ccstyle/diff/types.d.ts.map +1 -0
- package/dist/ui/ccstyle/diff/types.js +10 -0
- package/dist/ui/ccstyle/diff/types.js.map +1 -0
- package/dist/ui/ccstyle/diff/write-display-utils.d.ts +2 -0
- package/dist/ui/ccstyle/diff/write-display-utils.d.ts.map +1 -0
- package/dist/ui/ccstyle/diff/write-display-utils.js +12 -0
- package/dist/ui/ccstyle/diff/write-display-utils.js.map +1 -0
- package/dist/ui/ccstyle/tool-renderer.d.ts +17 -0
- package/dist/ui/ccstyle/tool-renderer.d.ts.map +1 -0
- package/dist/ui/ccstyle/tool-renderer.js +58 -0
- package/dist/ui/ccstyle/tool-renderer.js.map +1 -0
- package/dist/ui/ccstyle/tool-result.d.ts +24 -0
- package/dist/ui/ccstyle/tool-result.d.ts.map +1 -0
- package/dist/ui/ccstyle/tool-result.js +193 -0
- package/dist/ui/ccstyle/tool-result.js.map +1 -0
- package/dist/ui/conversation-blocks.d.ts +46 -0
- package/dist/ui/conversation-blocks.d.ts.map +1 -0
- package/dist/ui/conversation-blocks.js +306 -0
- package/dist/ui/conversation-blocks.js.map +1 -0
- package/dist/ui/conversation-nvim.d.ts +8 -0
- package/dist/ui/conversation-nvim.d.ts.map +1 -0
- package/dist/ui/conversation-nvim.js +117 -0
- package/dist/ui/conversation-nvim.js.map +1 -0
- package/dist/ui/conversation-role.d.ts +13 -0
- package/dist/ui/conversation-role.d.ts.map +1 -0
- package/dist/ui/conversation-role.js +39 -0
- package/dist/ui/conversation-role.js.map +1 -0
- package/dist/ui/conversation-search.d.ts +39 -0
- package/dist/ui/conversation-search.d.ts.map +1 -0
- package/dist/ui/conversation-search.js +124 -0
- package/dist/ui/conversation-search.js.map +1 -0
- package/dist/ui/conversation-timeline.d.ts +62 -0
- package/dist/ui/conversation-timeline.d.ts.map +1 -0
- package/dist/ui/conversation-timeline.js +263 -0
- package/dist/ui/conversation-timeline.js.map +1 -0
- package/dist/ui/conversation-viewer.d.ts +62 -20
- package/dist/ui/conversation-viewer.d.ts.map +1 -0
- package/dist/ui/conversation-viewer.js +449 -224
- package/dist/ui/conversation-viewer.js.map +1 -0
- package/dist/ui/fleet-list.d.ts +24 -11
- package/dist/ui/fleet-list.d.ts.map +1 -0
- package/dist/ui/fleet-list.js +86 -78
- package/dist/ui/fleet-list.js.map +1 -0
- package/dist/ui/schedule-menu.d.ts +1 -0
- package/dist/ui/schedule-menu.d.ts.map +1 -0
- package/dist/ui/schedule-menu.js +2 -4
- package/dist/ui/schedule-menu.js.map +1 -0
- package/dist/ui/viewer-keys.d.ts +1 -0
- package/dist/ui/viewer-keys.d.ts.map +1 -0
- package/dist/ui/viewer-keys.js +8 -10
- package/dist/ui/viewer-keys.js.map +1 -0
- package/dist/usage.d.ts +1 -0
- package/dist/usage.d.ts.map +1 -0
- package/dist/usage.js +5 -10
- package/dist/usage.js.map +1 -0
- package/dist/worktree.d.ts +1 -0
- package/dist/worktree.d.ts.map +1 -0
- package/dist/worktree.js +27 -31
- package/dist/worktree.js.map +1 -0
- package/dist/write-execution.d.ts +42 -0
- package/dist/write-execution.d.ts.map +1 -0
- package/dist/write-execution.js +138 -0
- package/dist/write-execution.js.map +1 -0
- package/package.json +1 -1
- package/src/agent-history-list.ts +91 -0
- package/src/agent-history.ts +12 -17
- package/src/agent-manager.ts +169 -81
- package/src/agent-runner.ts +12 -13
- package/src/index.ts +117 -98
- package/src/output-file.ts +1 -1
- package/src/types.ts +4 -1
- package/src/ui/agent-widget.ts +3 -9
- package/src/ui/ccstyle/ATTRIBUTION.md +37 -0
- package/src/ui/ccstyle/diff/ansi-utils.ts +168 -0
- package/src/ui/ccstyle/diff/diff-presentation.ts +70 -0
- package/src/ui/ccstyle/diff/diff-renderer.ts +3148 -0
- package/src/ui/ccstyle/diff/line-width-safety.ts +92 -0
- package/src/ui/ccstyle/diff/render-utils.ts +32 -0
- package/src/ui/ccstyle/diff/types.ts +33 -0
- package/src/ui/ccstyle/diff/write-display-utils.ts +12 -0
- package/src/ui/ccstyle/tool-renderer.ts +71 -0
- package/src/ui/ccstyle/tool-result.ts +238 -0
- package/src/ui/conversation-blocks.ts +404 -0
- package/src/ui/conversation-nvim.ts +127 -0
- package/src/ui/conversation-role.ts +45 -0
- package/src/ui/conversation-search.ts +161 -0
- package/src/ui/conversation-timeline.ts +315 -0
- package/src/ui/conversation-viewer.ts +418 -210
- package/src/ui/fleet-list.ts +73 -52
- package/src/write-execution.ts +180 -0
- package/test/agent-history-list.test.ts +121 -0
- package/test/agent-manager-history.test.ts +59 -58
- package/test/agent-menu-history-navigation.test.ts +86 -0
- package/test/output-file-history.test.ts +50 -0
- package/test/ui/conversation-blocks.test.ts +103 -0
- package/test/ui/conversation-diff.test.ts +91 -0
- package/test/ui/conversation-search.test.ts +55 -0
- package/test/ui/conversation-viewer.test.ts +182 -0
- package/test/ui/fleet-list.test.ts +131 -0
- package/test/write-execution.test.ts +83 -0
- package/tsconfig.json +16 -0
- package/vitest.temp.config.mts +6 -0
- package/dist/ui/markdown-result.d.ts +0 -3
- package/dist/ui/markdown-result.js +0 -53
- package/src/ui/markdown-result.ts +0 -56
- package/test/agent-history.test.ts +0 -63
- package/test/ui/markdown-result.test.ts +0 -45
package/dist/agent-manager.js
CHANGED
|
@@ -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
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
"
|
|
24
|
-
|
|
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" || !
|
|
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 =
|
|
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
|
-
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
-
|
|
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 =
|
|
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 =
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
467
|
-
|
|
468
|
-
|
|
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
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
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
|
-
|
|
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
|
-
|
|
501
|
-
return
|
|
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
|
-
|
|
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
|
-
|
|
690
|
+
pruneWorktrees(repo);
|
|
613
691
|
}
|
|
614
692
|
catch { /* ignore */ }
|
|
615
693
|
}
|
|
616
694
|
}
|
|
617
695
|
}
|
|
618
|
-
|
|
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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"}
|
package/dist/agent-runner.d.ts
CHANGED
|
@@ -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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"}
|