@namzu/cli 25.0.1 → 26.0.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.
- package/CHANGELOG.md +265 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +9 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/acp.d.ts.map +1 -1
- package/dist/commands/acp.js +5 -0
- package/dist/commands/acp.js.map +1 -1
- package/dist/commands/drain.d.ts.map +1 -1
- package/dist/commands/drain.js +5 -0
- package/dist/commands/drain.js.map +1 -1
- package/dist/commands/run-stream.d.ts.map +1 -1
- package/dist/commands/run-stream.js +5 -0
- package/dist/commands/run-stream.js.map +1 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +5 -0
- package/dist/commands/run.js.map +1 -1
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/load.js +47 -0
- package/dist/config/load.js.map +1 -1
- package/dist/config/schema.d.ts +24 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js.map +1 -1
- package/dist/config/tool-result-screens.d.ts +103 -0
- package/dist/config/tool-result-screens.d.ts.map +1 -0
- package/dist/config/tool-result-screens.js +104 -0
- package/dist/config/tool-result-screens.js.map +1 -0
- package/dist/context/doctrine.d.ts +4 -2
- package/dist/context/doctrine.d.ts.map +1 -1
- package/dist/context/doctrine.js +4 -2
- package/dist/context/doctrine.js.map +1 -1
- package/dist/integrations/mcp/servers.d.ts +30 -0
- package/dist/integrations/mcp/servers.d.ts.map +1 -1
- package/dist/integrations/mcp/servers.js +32 -1
- package/dist/integrations/mcp/servers.js.map +1 -1
- package/dist/integrations/resident/session-step.d.ts.map +1 -1
- package/dist/integrations/resident/session-step.js +5 -0
- package/dist/integrations/resident/session-step.js.map +1 -1
- package/dist/integrations/subagents/activity.d.ts +285 -11
- package/dist/integrations/subagents/activity.d.ts.map +1 -1
- package/dist/integrations/subagents/activity.js +334 -31
- package/dist/integrations/subagents/activity.js.map +1 -1
- package/dist/integrations/subagents/replay.d.ts +46 -0
- package/dist/integrations/subagents/replay.d.ts.map +1 -0
- package/dist/integrations/subagents/replay.js +193 -0
- package/dist/integrations/subagents/replay.js.map +1 -0
- package/dist/integrations/subagents/runs.d.ts +72 -0
- package/dist/integrations/subagents/runs.d.ts.map +1 -0
- package/dist/integrations/subagents/runs.js +155 -0
- package/dist/integrations/subagents/runs.js.map +1 -0
- package/dist/integrations/subagents/runtime.d.ts +21 -0
- package/dist/integrations/subagents/runtime.d.ts.map +1 -1
- package/dist/integrations/subagents/runtime.js +134 -2
- package/dist/integrations/subagents/runtime.js.map +1 -1
- package/dist/tui/AgentExplorer.d.ts +46 -2
- package/dist/tui/AgentExplorer.d.ts.map +1 -1
- package/dist/tui/AgentExplorer.js +261 -22
- package/dist/tui/AgentExplorer.js.map +1 -1
- package/dist/tui/App.d.ts.map +1 -1
- package/dist/tui/App.js +456 -28
- package/dist/tui/App.js.map +1 -1
- package/dist/tui/ChoicePicker.d.ts +2 -0
- package/dist/tui/ChoicePicker.d.ts.map +1 -1
- package/dist/tui/ChoicePicker.js +3 -1
- package/dist/tui/ChoicePicker.js.map +1 -1
- package/dist/tui/Composer.d.ts +10 -7
- package/dist/tui/Composer.d.ts.map +1 -1
- package/dist/tui/Composer.js +2 -7
- package/dist/tui/Composer.js.map +1 -1
- package/dist/tui/StatusBar.d.ts +56 -10
- package/dist/tui/StatusBar.d.ts.map +1 -1
- package/dist/tui/StatusBar.js +106 -35
- package/dist/tui/StatusBar.js.map +1 -1
- package/dist/tui/agent.d.ts +46 -1
- package/dist/tui/agent.d.ts.map +1 -1
- package/dist/tui/agent.js +55 -5
- package/dist/tui/agent.js.map +1 -1
- package/dist/tui/choice-selection.d.ts +3 -1
- package/dist/tui/choice-selection.d.ts.map +1 -1
- package/dist/tui/choice-selection.js +2 -2
- package/dist/tui/choice-selection.js.map +1 -1
- package/dist/tui/permission-review.d.ts.map +1 -1
- package/dist/tui/permission-review.js +14 -2
- package/dist/tui/permission-review.js.map +1 -1
- package/dist/tui/slashCommands.d.ts +40 -0
- package/dist/tui/slashCommands.d.ts.map +1 -1
- package/dist/tui/slashCommands.js +62 -3
- package/dist/tui/slashCommands.js.map +1 -1
- package/dist/tui/types.d.ts +12 -0
- package/dist/tui/types.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -7,6 +7,28 @@ export const MAX_AGENT_ACTIVITY_LABEL_CODE_UNITS = 240;
|
|
|
7
7
|
export const MAX_AGENT_PHASE_ORDER = 10_000;
|
|
8
8
|
const MAX_IDENTITY_LABEL_CODE_UNITS = 4_096;
|
|
9
9
|
const NOTIFY_INTERVAL_MS = 100;
|
|
10
|
+
/**
|
|
11
|
+
* Longest narration line kept. One line of commentary, not a message: a
|
|
12
|
+
* parent that writes a paragraph gets it clipped with the same marker every
|
|
13
|
+
* other retained label here carries.
|
|
14
|
+
*/
|
|
15
|
+
export const MAX_NARRATION_CODE_UNITS = 200;
|
|
16
|
+
/**
|
|
17
|
+
* Narration lines retained at once, oldest dropped first.
|
|
18
|
+
*
|
|
19
|
+
* Small deliberately. The lines render in the most valuable rows on the
|
|
20
|
+
* screen — between the composer footer and the agent rail — so a parent that
|
|
21
|
+
* keeps talking must cost the operator a FIXED number of rows rather than a
|
|
22
|
+
* growing one. Raising this trades conversation for commentary.
|
|
23
|
+
*/
|
|
24
|
+
export const MAX_RETAINED_NARRATION = 3;
|
|
25
|
+
/**
|
|
26
|
+
* Appended to a replayed transcript whose saved records could not all be
|
|
27
|
+
* read, so a short transcript is never mistaken for a short run. Said in the
|
|
28
|
+
* transcript itself rather than only in a header, because the rows are what
|
|
29
|
+
* an operator reads as the whole of what happened.
|
|
30
|
+
*/
|
|
31
|
+
export const PARTIAL_EVIDENCE_NOTICE = 'Saved transcript is damaged or truncated; this replay shows only the records that could be read.';
|
|
10
32
|
export const DEFAULT_AGENT_WORKFLOW = 'Delegated work';
|
|
11
33
|
export const DEFAULT_AGENT_PHASE = 'Work';
|
|
12
34
|
/**
|
|
@@ -15,48 +37,69 @@ export const DEFAULT_AGENT_PHASE = 'Work';
|
|
|
15
37
|
* deltas can be arbitrarily large and the parent TUI must not inherit them.
|
|
16
38
|
*/
|
|
17
39
|
export class SubagentActivityMonitor {
|
|
40
|
+
options;
|
|
18
41
|
records = new Map();
|
|
19
42
|
listeners = new Set();
|
|
43
|
+
/** Bounded parent commentary, oldest first. See {@link SubagentNarrationLine}. */
|
|
44
|
+
narration = [];
|
|
45
|
+
narrationCounter = 0;
|
|
20
46
|
epoch = 0;
|
|
21
47
|
counter = 0;
|
|
22
48
|
fallbackBatchCounter = 0;
|
|
23
49
|
phaseCounter = 0;
|
|
50
|
+
messageCounter = 0;
|
|
24
51
|
phases = new Map();
|
|
25
52
|
notifyTimer;
|
|
26
53
|
closed = false;
|
|
54
|
+
/**
|
|
55
|
+
* `replay: true` seeds this monitor from saved evidence instead of a live
|
|
56
|
+
* child stream. Two things change and nothing else: notifications stop
|
|
57
|
+
* coalescing on a timer (there is no stream to coalesce, and a replay
|
|
58
|
+
* monitor is read once by whoever built it), and every row it publishes is
|
|
59
|
+
* marked {@link SubagentActivity.replayed}. The projection, the grouping
|
|
60
|
+
* and every bound are the ones the live path uses.
|
|
61
|
+
*/
|
|
62
|
+
constructor(options = {}) {
|
|
63
|
+
this.options = options;
|
|
64
|
+
}
|
|
27
65
|
begin(input) {
|
|
66
|
+
return this.open(input).tracker;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* `begin()`, plus the record it opened.
|
|
70
|
+
*
|
|
71
|
+
* Split out for {@link SubagentActivityMonitor.replay}, which has to reach
|
|
72
|
+
* the record after the events are in to write the facts `run.json` holds
|
|
73
|
+
* and the transcript does not. Nothing else needs it, and nothing outside
|
|
74
|
+
* this class gets it: a caller holding a `MutableActivity` could edit
|
|
75
|
+
* around every bound this file enforces.
|
|
76
|
+
*/
|
|
77
|
+
open(input, suppliedViewId) {
|
|
28
78
|
const epoch = this.epoch;
|
|
29
|
-
const
|
|
79
|
+
const order = ++this.counter;
|
|
80
|
+
// A replay allocates its own monitor, so its counter starts at one
|
|
81
|
+
// beside a live monitor's. An `agent-1` from each would be two
|
|
82
|
+
// different children answering to one id, and every surface here looks
|
|
83
|
+
// a child up by this string. `replay()` supplies an id derived from the
|
|
84
|
+
// child's run instead: unique against the live path by construction,
|
|
85
|
+
// and identical across re-reads, so re-opening the cockpit does not
|
|
86
|
+
// move the operator's selection off the row they were reading.
|
|
87
|
+
const viewId = suppliedViewId ?? `agent-${order}`;
|
|
30
88
|
const workflowId = normalizedLabel(input.workflowId, 'session', MAX_IDENTITY_LABEL_CODE_UNITS);
|
|
31
89
|
const requestedBatchId = input.batchId?.trim();
|
|
32
90
|
const batchId = requestedBatchId
|
|
33
91
|
? bounded(requestedBatchId, MAX_IDENTITY_LABEL_CODE_UNITS)
|
|
34
92
|
: this.fallbackBatchId(workflowId);
|
|
35
|
-
const
|
|
36
|
-
const
|
|
37
|
-
// A tool batch is a concurrency boundary, not a workflow phase. Explicit
|
|
38
|
-
// workflow annotations may span several batches within their parent run;
|
|
39
|
-
// unrelated unlabelled batches have no evidence of a shared workflow.
|
|
40
|
-
const workflowGroupId = JSON.stringify(input.workflow?.trim()
|
|
41
|
-
? [workflowId, 'workflow', workflowIdentity]
|
|
42
|
-
: [workflowId, 'batch', batchId]);
|
|
43
|
-
const phaseKey = JSON.stringify([workflowGroupId, phaseIdentity]);
|
|
44
|
-
let phaseDefinition = this.phases.get(phaseKey);
|
|
45
|
-
if (!phaseDefinition) {
|
|
46
|
-
const sequence = ++this.phaseCounter;
|
|
47
|
-
const order = normalizedPhaseOrder(input.phaseOrder);
|
|
48
|
-
phaseDefinition = {
|
|
49
|
-
id: `phase-${sequence}`,
|
|
50
|
-
...(order !== undefined ? { order } : {}),
|
|
51
|
-
sequence,
|
|
52
|
-
};
|
|
53
|
-
this.phases.set(phaseKey, phaseDefinition);
|
|
54
|
-
}
|
|
93
|
+
const labels = displayLabels(input);
|
|
94
|
+
const grouping = this.group(workflowId, batchId, labels);
|
|
55
95
|
const record = {
|
|
56
96
|
epoch,
|
|
57
|
-
order
|
|
97
|
+
order,
|
|
58
98
|
viewId,
|
|
59
99
|
agentId: bounded(input.agentId, MAX_AGENT_ACTIVITY_LABEL_CODE_UNITS),
|
|
100
|
+
...(input.model?.trim()
|
|
101
|
+
? { model: bounded(input.model.trim(), MAX_AGENT_ACTIVITY_LABEL_CODE_UNITS) }
|
|
102
|
+
: {}),
|
|
60
103
|
description: bounded(input.description, MAX_AGENT_ACTIVITY_LABEL_CODE_UNITS),
|
|
61
104
|
prompt: bounded(input.prompt, MAX_PROMPT_CODE_UNITS),
|
|
62
105
|
batchId,
|
|
@@ -64,12 +107,8 @@ export class SubagentActivityMonitor {
|
|
|
64
107
|
? { toolUseId: bounded(input.toolUseId, MAX_IDENTITY_LABEL_CODE_UNITS) }
|
|
65
108
|
: {}),
|
|
66
109
|
workflowId,
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
workflow: bounded(workflowIdentity, MAX_AGENT_ACTIVITY_LABEL_CODE_UNITS),
|
|
70
|
-
phase: bounded(phaseIdentity, MAX_AGENT_ACTIVITY_LABEL_CODE_UNITS),
|
|
71
|
-
...(phaseDefinition.order !== undefined ? { phaseOrder: phaseDefinition.order } : {}),
|
|
72
|
-
phaseSequence: phaseDefinition.sequence,
|
|
110
|
+
...grouping,
|
|
111
|
+
labels,
|
|
73
112
|
status: 'starting',
|
|
74
113
|
startedAt: Date.now(),
|
|
75
114
|
rows: [],
|
|
@@ -83,11 +122,13 @@ export class SubagentActivityMonitor {
|
|
|
83
122
|
return undefined;
|
|
84
123
|
return this.records.get(viewId) === record ? record : undefined;
|
|
85
124
|
};
|
|
86
|
-
|
|
125
|
+
const tracker = {
|
|
87
126
|
onEvent: (event) => {
|
|
88
127
|
const owned = current();
|
|
89
128
|
if (!owned)
|
|
90
129
|
return;
|
|
130
|
+
if (event.type === 'agent_pending')
|
|
131
|
+
this.relabel(owned, event);
|
|
91
132
|
projectEvent(owned, event);
|
|
92
133
|
this.scheduleNotify();
|
|
93
134
|
},
|
|
@@ -137,6 +178,122 @@ export class SubagentActivityMonitor {
|
|
|
137
178
|
this.notifyNow();
|
|
138
179
|
},
|
|
139
180
|
};
|
|
181
|
+
return { record, tracker };
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Rebuilds one finished child from the evidence it left on disk, and
|
|
185
|
+
* retains it here like any other row.
|
|
186
|
+
*
|
|
187
|
+
* The load-bearing line is the `tracker.onEvent` loop: saved events go
|
|
188
|
+
* through the SAME entry point a live child's events do, so the cockpit
|
|
189
|
+
* cannot drift from a replay. There is no second projection to keep in
|
|
190
|
+
* step, and a field added to the live path appears here for free.
|
|
191
|
+
*
|
|
192
|
+
* What the events cannot supply, the caller passes from `run.json`, and it
|
|
193
|
+
* is written AFTER the loop because the file is the authority on the two
|
|
194
|
+
* facts a child's own transcript never records: a child's delegation
|
|
195
|
+
* outcome and its final totals are reported on the PARENT's event stream,
|
|
196
|
+
* which does not enter the child's log. Without this the replay would end
|
|
197
|
+
* on whatever the last durable event said and show a finished child as
|
|
198
|
+
* still working.
|
|
199
|
+
*
|
|
200
|
+
* Only meaningful on a monitor constructed with `replay: true`; on a live
|
|
201
|
+
* one it would publish a saved row as though a child were attached to it.
|
|
202
|
+
*/
|
|
203
|
+
replay(input, events) {
|
|
204
|
+
const { record, tracker } = this.open({
|
|
205
|
+
agentId: input.agentId,
|
|
206
|
+
...(input.model ? { model: input.model } : {}),
|
|
207
|
+
description: input.description,
|
|
208
|
+
prompt: input.prompt ?? '',
|
|
209
|
+
...(input.batchId ? { batchId: input.batchId } : {}),
|
|
210
|
+
...(input.workflowId ? { workflowId: input.workflowId } : {}),
|
|
211
|
+
}, input.runId ? bounded(`saved-${input.runId}`, MAX_IDENTITY_LABEL_CODE_UNITS) : undefined);
|
|
212
|
+
for (const event of events)
|
|
213
|
+
tracker.onEvent(event);
|
|
214
|
+
if (!record.runId && input.runId) {
|
|
215
|
+
record.runId = bounded(input.runId, MAX_IDENTITY_LABEL_CODE_UNITS);
|
|
216
|
+
}
|
|
217
|
+
if (input.tokens !== undefined)
|
|
218
|
+
record.tokens = input.tokens;
|
|
219
|
+
if (input.status)
|
|
220
|
+
record.status = input.status;
|
|
221
|
+
if (input.startedAt !== undefined)
|
|
222
|
+
record.startedAt = input.startedAt;
|
|
223
|
+
if (input.completedAt !== undefined)
|
|
224
|
+
record.completedAt = input.completedAt;
|
|
225
|
+
// The same label `settle()` writes for a live child, for the same
|
|
226
|
+
// reason: the last streamed activity line describes a moment that is
|
|
227
|
+
// over, and leaving it up reads as a child still doing that thing.
|
|
228
|
+
if (isTerminal(record.status))
|
|
229
|
+
record.latestActivity = terminalLabel(record.status);
|
|
230
|
+
if (input.partial) {
|
|
231
|
+
pushRow(record, {
|
|
232
|
+
id: `${record.viewId}:partial`,
|
|
233
|
+
kind: 'system',
|
|
234
|
+
text: PARTIAL_EVIDENCE_NOTICE,
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
record.closed = true;
|
|
238
|
+
this.prune();
|
|
239
|
+
return this.project(record);
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Pushes a bounded system row recording a message delivered into a
|
|
243
|
+
* running child, through the same `pushRow` path every other transcript
|
|
244
|
+
* row uses. Callers own delivery: this only records that it happened, so
|
|
245
|
+
* it must run after the send it announces has actually succeeded — a
|
|
246
|
+
* refused or unowned send must never call this. A `taskId` with no
|
|
247
|
+
* matching record (already pruned, or never tracked) is a silent no-op:
|
|
248
|
+
* there is no row left to explain what was sent.
|
|
249
|
+
*/
|
|
250
|
+
recordMessage(taskId, text, direction) {
|
|
251
|
+
if (this.closed)
|
|
252
|
+
return;
|
|
253
|
+
const record = [...this.records.values()].find((entry) => entry.taskId === taskId);
|
|
254
|
+
if (!record)
|
|
255
|
+
return;
|
|
256
|
+
pushRow(record, {
|
|
257
|
+
id: `${record.viewId}:message:${++this.messageCounter}`,
|
|
258
|
+
kind: 'system',
|
|
259
|
+
text: bounded(text, MAX_ROW_CODE_UNITS),
|
|
260
|
+
direction,
|
|
261
|
+
});
|
|
262
|
+
this.notifyNow();
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Retains one line of PARENT-authored commentary for the rail to show.
|
|
266
|
+
*
|
|
267
|
+
* Callers are the parent's own tool call and nothing else — see
|
|
268
|
+
* {@link SubagentNarrationLine} for why that boundary is the design rather
|
|
269
|
+
* than a detail. Blank or control-only text is dropped instead of retained,
|
|
270
|
+
* so a row is never spent on a line with nothing in it, and the answer
|
|
271
|
+
* names which of the two things happened — see
|
|
272
|
+
* {@link SubagentNarrationOutcome}.
|
|
273
|
+
*
|
|
274
|
+
* Independent of the child records: narration is commentary, so it neither
|
|
275
|
+
* needs a child to attach to nor disappears when the last one settles —
|
|
276
|
+
* which is exactly when a line explaining what happens next is worth most.
|
|
277
|
+
*/
|
|
278
|
+
narrate(text) {
|
|
279
|
+
if (this.closed)
|
|
280
|
+
return { kind: 'closed' };
|
|
281
|
+
const line = normalizedLabel(text, '', MAX_NARRATION_CODE_UNITS);
|
|
282
|
+
if (!line)
|
|
283
|
+
return { kind: 'empty' };
|
|
284
|
+
const entry = Object.freeze({
|
|
285
|
+
id: `narration-${++this.narrationCounter}`,
|
|
286
|
+
text: line,
|
|
287
|
+
at: Date.now(),
|
|
288
|
+
});
|
|
289
|
+
this.narration.push(entry);
|
|
290
|
+
if (this.narration.length > MAX_RETAINED_NARRATION)
|
|
291
|
+
this.narration.splice(0, this.narration.length - MAX_RETAINED_NARRATION);
|
|
292
|
+
this.notifyNow();
|
|
293
|
+
return { kind: 'shown', line: entry };
|
|
294
|
+
}
|
|
295
|
+
getNarration() {
|
|
296
|
+
return [...this.narration];
|
|
140
297
|
}
|
|
141
298
|
getSnapshot() {
|
|
142
299
|
return [...this.records.values()]
|
|
@@ -144,11 +301,18 @@ export class SubagentActivityMonitor {
|
|
|
144
301
|
const live = Number(isTerminal(left.status)) - Number(isTerminal(right.status));
|
|
145
302
|
return live !== 0 ? live : left.order - right.order;
|
|
146
303
|
})
|
|
147
|
-
.map((record) =>
|
|
304
|
+
.map((record) => this.project(record));
|
|
305
|
+
}
|
|
306
|
+
/** One record as the frozen, bounded shape every surface reads. */
|
|
307
|
+
project(record) {
|
|
308
|
+
return Object.freeze({
|
|
148
309
|
viewId: record.viewId,
|
|
149
310
|
...(record.taskId ? { taskId: record.taskId } : {}),
|
|
150
311
|
...(record.runId ? { runId: record.runId } : {}),
|
|
151
312
|
agentId: record.agentId,
|
|
313
|
+
...(record.model ? { model: record.model } : {}),
|
|
314
|
+
...(record.tokens !== undefined ? { tokens: record.tokens } : {}),
|
|
315
|
+
...(record.toolCalls !== undefined ? { toolCalls: record.toolCalls } : {}),
|
|
152
316
|
description: record.description,
|
|
153
317
|
prompt: record.prompt,
|
|
154
318
|
batchId: record.batchId,
|
|
@@ -159,13 +323,15 @@ export class SubagentActivityMonitor {
|
|
|
159
323
|
workflow: record.workflow,
|
|
160
324
|
phase: record.phase,
|
|
161
325
|
...(record.phaseOrder !== undefined ? { phaseOrder: record.phaseOrder } : {}),
|
|
326
|
+
...(record.phaseDetail !== undefined ? { phaseDetail: record.phaseDetail } : {}),
|
|
162
327
|
phaseSequence: record.phaseSequence,
|
|
163
328
|
status: record.status,
|
|
329
|
+
...(this.options.replay ? { replayed: true } : {}),
|
|
164
330
|
startedAt: record.startedAt,
|
|
165
331
|
...(record.completedAt !== undefined ? { completedAt: record.completedAt } : {}),
|
|
166
332
|
...(record.latestActivity ? { latestActivity: record.latestActivity } : {}),
|
|
167
333
|
transcript: Object.freeze(record.rows.map((row) => Object.freeze({ ...row }))),
|
|
168
|
-
})
|
|
334
|
+
});
|
|
169
335
|
}
|
|
170
336
|
subscribe(listener) {
|
|
171
337
|
this.listeners.add(listener);
|
|
@@ -176,6 +342,10 @@ export class SubagentActivityMonitor {
|
|
|
176
342
|
this.records.clear();
|
|
177
343
|
this.phases.clear();
|
|
178
344
|
this.phaseCounter = 0;
|
|
345
|
+
// Commentary belongs to the conversation it was written in, like every
|
|
346
|
+
// other buffer here. The counter is NOT rewound: ids stay unique across
|
|
347
|
+
// scopes, so a renderer holding a stale key never matches a new line.
|
|
348
|
+
this.narration.length = 0;
|
|
179
349
|
this.clearNotifyTimer();
|
|
180
350
|
this.notifyNow();
|
|
181
351
|
}
|
|
@@ -185,10 +355,99 @@ export class SubagentActivityMonitor {
|
|
|
185
355
|
this.closed = true;
|
|
186
356
|
this.records.clear();
|
|
187
357
|
this.phases.clear();
|
|
358
|
+
this.narration.length = 0;
|
|
188
359
|
this.clearNotifyTimer();
|
|
189
360
|
this.notifyNow();
|
|
190
361
|
this.listeners.clear();
|
|
191
362
|
}
|
|
363
|
+
/**
|
|
364
|
+
* Resolves display labels to this monitor's grouping identities.
|
|
365
|
+
*
|
|
366
|
+
* Phase identity is allocated here and only here, first-writer-wins per
|
|
367
|
+
* `[workflowGroupId, phase]`: the first agent to name a phase fixes its
|
|
368
|
+
* id, its display order and its detail text, and a later sibling that
|
|
369
|
+
* disagrees joins the phase rather than changing it. That is what keeps a
|
|
370
|
+
* pane from flickering between two wordings of the same stage, and it is
|
|
371
|
+
* also why calling this twice for one agent with the same labels is
|
|
372
|
+
* exactly a no-op — the second call finds the definition the first made.
|
|
373
|
+
*
|
|
374
|
+
* Definitions live for the conversation: `reset()` and `dispose()` clear
|
|
375
|
+
* them and nothing prunes them in between, so the map holds one entry per
|
|
376
|
+
* distinct `[workflowGroupId, phase]` anything has named. A host that
|
|
377
|
+
* labels one child differently at `begin()` and on its event defines two of
|
|
378
|
+
* them; the size follows how many wordings a host invents, not how long the
|
|
379
|
+
* session runs.
|
|
380
|
+
*/
|
|
381
|
+
group(workflowId, batchId, labels) {
|
|
382
|
+
const workflowIdentity = normalizedLabel(labels.workflow, DEFAULT_AGENT_WORKFLOW, MAX_IDENTITY_LABEL_CODE_UNITS);
|
|
383
|
+
const phaseIdentity = normalizedLabel(labels.phase, DEFAULT_AGENT_PHASE, MAX_IDENTITY_LABEL_CODE_UNITS);
|
|
384
|
+
// A tool batch is a concurrency boundary, not a workflow phase. Explicit
|
|
385
|
+
// workflow annotations may span several batches within their parent run;
|
|
386
|
+
// unrelated unlabelled batches have no evidence of a shared workflow.
|
|
387
|
+
const workflowGroupId = JSON.stringify(labels.workflow?.trim()
|
|
388
|
+
? [workflowId, 'workflow', workflowIdentity]
|
|
389
|
+
: [workflowId, 'batch', batchId]);
|
|
390
|
+
const phaseKey = JSON.stringify([workflowGroupId, phaseIdentity]);
|
|
391
|
+
let phaseDefinition = this.phases.get(phaseKey);
|
|
392
|
+
if (!phaseDefinition) {
|
|
393
|
+
const sequence = ++this.phaseCounter;
|
|
394
|
+
const order = normalizedPhaseOrder(labels.phaseOrder);
|
|
395
|
+
// Reuses normalizedLabel's own trim/control-strip/bound pipeline with an
|
|
396
|
+
// empty fallback, so an absent or blank detail collapses to `undefined`
|
|
397
|
+
// rather than a visible placeholder.
|
|
398
|
+
const detail = normalizedLabel(labels.phaseDetail, '', MAX_AGENT_ACTIVITY_LABEL_CODE_UNITS) || undefined;
|
|
399
|
+
phaseDefinition = {
|
|
400
|
+
// Namespaced for the same reason `viewId` is: phases are grouped by
|
|
401
|
+
// this id ALONE, so a replay monitor's `phase-1` and a live one's
|
|
402
|
+
// would fold two unrelated phases into one row on screen.
|
|
403
|
+
id: `${this.options.replay ? 'saved-phase' : 'phase'}-${sequence}`,
|
|
404
|
+
...(order !== undefined ? { order } : {}),
|
|
405
|
+
...(detail !== undefined ? { detail } : {}),
|
|
406
|
+
sequence,
|
|
407
|
+
};
|
|
408
|
+
this.phases.set(phaseKey, phaseDefinition);
|
|
409
|
+
}
|
|
410
|
+
return {
|
|
411
|
+
workflowGroupId,
|
|
412
|
+
phaseId: phaseDefinition.id,
|
|
413
|
+
workflow: bounded(workflowIdentity, MAX_AGENT_ACTIVITY_LABEL_CODE_UNITS),
|
|
414
|
+
phase: bounded(phaseIdentity, MAX_AGENT_ACTIVITY_LABEL_CODE_UNITS),
|
|
415
|
+
...(phaseDefinition.order !== undefined ? { phaseOrder: phaseDefinition.order } : {}),
|
|
416
|
+
...(phaseDefinition.detail !== undefined ? { phaseDetail: phaseDefinition.detail } : {}),
|
|
417
|
+
phaseSequence: phaseDefinition.sequence,
|
|
418
|
+
};
|
|
419
|
+
}
|
|
420
|
+
/**
|
|
421
|
+
* Re-reads the grouping from the labels the child's own `agent_pending`
|
|
422
|
+
* carried.
|
|
423
|
+
*
|
|
424
|
+
* The event is the copy that leaves this process, so a host that supplies
|
|
425
|
+
* labels there and nowhere else still gets grouped. The `begin()` values
|
|
426
|
+
* stay the seed and are merged under the event's, which is what keeps an
|
|
427
|
+
* agent that fails before `agent_pending`
|
|
428
|
+
* ever arrives grouped where the operator saw it launch, and what stops a
|
|
429
|
+
* partially labelled event from erasing a label it never mentioned.
|
|
430
|
+
*
|
|
431
|
+
* An event naming none of the four changes nothing at all: the common case
|
|
432
|
+
* is the same labels arriving twice, where `group()` returns the definition
|
|
433
|
+
* `begin()` already made and every field is rewritten to the value it
|
|
434
|
+
* already held.
|
|
435
|
+
*/
|
|
436
|
+
relabel(record, labels) {
|
|
437
|
+
const supplied = displayLabels(labels);
|
|
438
|
+
if (Object.keys(supplied).length === 0)
|
|
439
|
+
return;
|
|
440
|
+
const merged = { ...record.labels, ...supplied };
|
|
441
|
+
const grouping = this.group(record.workflowId, record.batchId, merged);
|
|
442
|
+
record.workflowGroupId = grouping.workflowGroupId;
|
|
443
|
+
record.phaseId = grouping.phaseId;
|
|
444
|
+
record.workflow = grouping.workflow;
|
|
445
|
+
record.phase = grouping.phase;
|
|
446
|
+
record.phaseOrder = grouping.phaseOrder;
|
|
447
|
+
record.phaseDetail = grouping.phaseDetail;
|
|
448
|
+
record.phaseSequence = grouping.phaseSequence;
|
|
449
|
+
record.labels = merged;
|
|
450
|
+
}
|
|
192
451
|
fallbackBatchId(workflowId) {
|
|
193
452
|
for (const record of this.records.values()) {
|
|
194
453
|
if (record.workflowId === workflowId && !isTerminal(record.status))
|
|
@@ -207,6 +466,8 @@ export class SubagentActivityMonitor {
|
|
|
207
466
|
}
|
|
208
467
|
}
|
|
209
468
|
scheduleNotify() {
|
|
469
|
+
if (this.options.replay)
|
|
470
|
+
return;
|
|
210
471
|
if (this.closed || this.notifyTimer)
|
|
211
472
|
return;
|
|
212
473
|
this.notifyTimer = setTimeout(() => {
|
|
@@ -235,6 +496,40 @@ export class SubagentActivityMonitor {
|
|
|
235
496
|
}
|
|
236
497
|
}
|
|
237
498
|
}
|
|
499
|
+
/**
|
|
500
|
+
* The display labels present on an input, with absent ones left out rather
|
|
501
|
+
* than carried as `undefined` keys — the merge in `relabel` is a spread, and
|
|
502
|
+
* an explicit `undefined` there would erase a seeded label instead of leaving
|
|
503
|
+
* it alone. Present-but-empty is kept: `''` and absent are different answers,
|
|
504
|
+
* and only the caller's own `!== undefined` test can tell them apart. No event
|
|
505
|
+
* this repo emits can carry `''` — the agent manager, the scheduler and the SSE
|
|
506
|
+
* transform each drop an empty label by truthiness, the same way they treat
|
|
507
|
+
* `planId` — so that distinction answers a host that builds the event itself.
|
|
508
|
+
*
|
|
509
|
+
* Bounded because the result is RETAINED as a record's seed, and one source of
|
|
510
|
+
* these is now an event rather than this process's own tool call. The bound is
|
|
511
|
+
* the identity ceiling `group()` already truncates at, not the narrower display
|
|
512
|
+
* cap: `group()` derives phase identity from these through `normalizedLabel`,
|
|
513
|
+
* so clipping shorter here would change which phase a long label lands in on
|
|
514
|
+
* the `begin()` path too, and that grouping must not move. Nothing the `Agent`
|
|
515
|
+
* tool can produce reaches either ceiling — its schema caps the three strings
|
|
516
|
+
* at `MAX_AGENT_ACTIVITY_LABEL_CODE_UNITS` — so this is a bound on what an
|
|
517
|
+
* arbitrary host may make this monitor hold, not a clip on a real label.
|
|
518
|
+
*/
|
|
519
|
+
function displayLabels(input) {
|
|
520
|
+
return {
|
|
521
|
+
...(input.workflow !== undefined
|
|
522
|
+
? { workflow: bounded(input.workflow, MAX_IDENTITY_LABEL_CODE_UNITS) }
|
|
523
|
+
: {}),
|
|
524
|
+
...(input.phase !== undefined
|
|
525
|
+
? { phase: bounded(input.phase, MAX_IDENTITY_LABEL_CODE_UNITS) }
|
|
526
|
+
: {}),
|
|
527
|
+
...(input.phaseOrder !== undefined ? { phaseOrder: input.phaseOrder } : {}),
|
|
528
|
+
...(input.phaseDetail !== undefined
|
|
529
|
+
? { phaseDetail: bounded(input.phaseDetail, MAX_IDENTITY_LABEL_CODE_UNITS) }
|
|
530
|
+
: {}),
|
|
531
|
+
};
|
|
532
|
+
}
|
|
238
533
|
function projectEvent(record, event) {
|
|
239
534
|
switch (event.type) {
|
|
240
535
|
case 'agent_pending':
|
|
@@ -248,6 +543,13 @@ function projectEvent(record, event) {
|
|
|
248
543
|
record.status = 'working';
|
|
249
544
|
record.latestActivity = 'Working';
|
|
250
545
|
return;
|
|
546
|
+
case 'token_usage_updated':
|
|
547
|
+
// `usage` is cumulative spend across the run; `contextTokens` beside
|
|
548
|
+
// it is the current conversation size and shrinks on compaction —
|
|
549
|
+
// a different question this row never asks. See the event's own
|
|
550
|
+
// doc comment for why conflating the two was a shipped defect.
|
|
551
|
+
record.tokens = event.usage.totalTokens;
|
|
552
|
+
return;
|
|
251
553
|
case 'reasoning_started':
|
|
252
554
|
case 'reasoning_delta':
|
|
253
555
|
record.status = 'working';
|
|
@@ -281,6 +583,7 @@ function projectEvent(record, event) {
|
|
|
281
583
|
}
|
|
282
584
|
case 'tool_executing': {
|
|
283
585
|
record.status = 'working';
|
|
586
|
+
record.toolCalls = (record.toolCalls ?? 0) + 1;
|
|
284
587
|
const label = `${event.toolName}(${genericLabel(event.input)})`;
|
|
285
588
|
record.latestActivity = bounded(label, MAX_AGENT_ACTIVITY_LABEL_CODE_UNITS);
|
|
286
589
|
pushRow(record, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activity.js","sourceRoot":"","sources":["../../../src/integrations/subagents/activity.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"activity.js","sourceRoot":"","sources":["../../../src/integrations/subagents/activity.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { type DelegatedChildRun, type Logger } from '@namzu/sdk';
|
|
2
|
+
import { type SubagentActivity } from './activity.js';
|
|
3
|
+
/** Where a conversation's own runs and its children's evidence both live. */
|
|
4
|
+
export interface SavedChildScope {
|
|
5
|
+
/** The `sessions/` directory holding this project's session directories. */
|
|
6
|
+
readonly sessionsRoot: string;
|
|
7
|
+
/** The conversation whose parent runs own the children being looked for. */
|
|
8
|
+
readonly sessionId: string;
|
|
9
|
+
readonly maxChildren?: number;
|
|
10
|
+
readonly log?: Logger;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Every delegated child saved under one conversation's parent runs, newest
|
|
14
|
+
* first.
|
|
15
|
+
*
|
|
16
|
+
* Two directory shapes have to meet here. A conversation's own runs are
|
|
17
|
+
* `<sessionsRoot>/<sessionId>/runs/<runId>`, which is where the parent run
|
|
18
|
+
* ids come from after a restart has forgotten them. A child's evidence is
|
|
19
|
+
* `<sessionsRoot>/<childSessionId>/runs/<parentRunId>/children/<childRunId>`,
|
|
20
|
+
* under the child's session and not the parent's — so finding a child means
|
|
21
|
+
* asking every session directory whether it holds a `runs/` entry named after
|
|
22
|
+
* one of this conversation's runs.
|
|
23
|
+
*
|
|
24
|
+
* That ordering is deliberate: one `readdir` per session directory answers
|
|
25
|
+
* the question for all of that directory's children at once, where probing
|
|
26
|
+
* each parent run inside each session directory would multiply the two
|
|
27
|
+
* counts. A child session directory holds exactly one parent run id, so the
|
|
28
|
+
* inner listing runs only where there is something to list.
|
|
29
|
+
*
|
|
30
|
+
* READ-ONLY throughout. Nothing here creates a directory, and in particular
|
|
31
|
+
* nothing binds a `RunDiskStore`, which would mint the run directory it was
|
|
32
|
+
* asked about.
|
|
33
|
+
*/
|
|
34
|
+
export declare function listSavedChildren(scope: SavedChildScope): Promise<readonly DelegatedChildRun[]>;
|
|
35
|
+
/**
|
|
36
|
+
* Replays saved children into the display shape the live monitor publishes.
|
|
37
|
+
*
|
|
38
|
+
* One monitor for the whole batch, in replay mode: its bounds, its grouping
|
|
39
|
+
* and its projection are the live ones, and its rows carry
|
|
40
|
+
* {@link SubagentActivity.replayed} so no surface offers to act on work that
|
|
41
|
+
* finished in another process.
|
|
42
|
+
*/
|
|
43
|
+
export declare function replaySavedChildren(children: readonly DelegatedChildRun[], log?: Logger): Promise<readonly SubagentActivity[]>;
|
|
44
|
+
/** Discovery and replay in one call, for a host that wants the whole list. */
|
|
45
|
+
export declare function replaySavedChildrenFor(scope: SavedChildScope): Promise<readonly SubagentActivity[]>;
|
|
46
|
+
//# sourceMappingURL=replay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../../../src/integrations/subagents/replay.ts"],"names":[],"mappings":"AAGA,OAAO,EACN,KAAK,iBAAiB,EACtB,KAAK,MAAM,EAKX,MAAM,YAAY,CAAA;AAEnB,OAAO,EACN,KAAK,gBAAgB,EAGrB,MAAM,eAAe,CAAA;AA2BtB,6EAA6E;AAC7E,MAAM,WAAW,eAAe;IAC/B,4EAA4E;IAC5E,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,4EAA4E;IAC5E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,iBAAiB,CACtC,KAAK,EAAE,eAAe,GACpB,OAAO,CAAC,SAAS,iBAAiB,EAAE,CAAC,CA6BvC;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACxC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,EACtC,GAAG,CAAC,EAAE,MAAM,GACV,OAAO,CAAC,SAAS,gBAAgB,EAAE,CAAC,CA2BtC;AAED,8EAA8E;AAC9E,wBAAsB,sBAAsB,CAC3C,KAAK,EAAE,eAAe,GACpB,OAAO,CAAC,SAAS,gBAAgB,EAAE,CAAC,CAEtC"}
|