pi-agent-flow 2.2.1 → 2.2.3
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/README.md +29 -188
- package/agents/trace.md +17 -1
- package/dist/config/config.d.ts +2 -0
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +4 -0
- package/dist/config/config.js.map +1 -1
- package/dist/config/settings-resolver.d.ts +1 -0
- package/dist/config/settings-resolver.d.ts.map +1 -1
- package/dist/config/settings-resolver.js +21 -0
- package/dist/config/settings-resolver.js.map +1 -1
- package/dist/core2/snapshot.d.ts +13 -1
- package/dist/core2/snapshot.d.ts.map +1 -1
- package/dist/core2/snapshot.js +330 -10
- package/dist/core2/snapshot.js.map +1 -1
- package/dist/flow/executor.d.ts +2 -0
- package/dist/flow/executor.d.ts.map +1 -1
- package/dist/flow/executor.js +1 -0
- package/dist/flow/executor.js.map +1 -1
- package/dist/flow/runner.d.ts +2 -0
- package/dist/flow/runner.d.ts.map +1 -1
- package/dist/flow/runner.js +131 -7
- package/dist/flow/runner.js.map +1 -1
- package/dist/flow/settings-command.d.ts.map +1 -1
- package/dist/flow/settings-command.js +41 -2
- package/dist/flow/settings-command.js.map +1 -1
- package/dist/flow/transition.d.ts +0 -1
- package/dist/flow/transition.d.ts.map +1 -1
- package/dist/flow/transition.js +0 -3
- package/dist/flow/transition.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +33 -7
- package/dist/index.js.map +1 -1
- package/dist/snapshot/trace-output.d.ts +15 -0
- package/dist/snapshot/trace-output.d.ts.map +1 -0
- package/dist/snapshot/trace-output.js +113 -0
- package/dist/snapshot/trace-output.js.map +1 -0
- package/dist/tools/trace.d.ts.map +1 -1
- package/dist/tools/trace.js +66 -13
- package/dist/tools/trace.js.map +1 -1
- package/dist/tui/render.d.ts +8 -1
- package/dist/tui/render.d.ts.map +1 -1
- package/dist/tui/render.js +59 -27
- package/dist/tui/render.js.map +1 -1
- package/dist/types/flow.d.ts +4 -0
- package/dist/types/flow.d.ts.map +1 -1
- package/dist/types/flow.js.map +1 -1
- package/dist/types/output.d.ts +7 -0
- package/dist/types/output.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/tools/trace.js
CHANGED
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { Type } from "@sinclair/typebox";
|
|
10
10
|
import { runFlow } from "../flow/runner.js";
|
|
11
|
-
import { discoverFlows } from "../flow/agents.js";
|
|
12
|
-
import { buildCore2Snapshot } from "../core2/snapshot.js";
|
|
11
|
+
import { discoverFlows, getFlowTier } from "../flow/agents.js";
|
|
12
|
+
import { buildCore2Snapshot, parseSharedContext } from "../core2/snapshot.js";
|
|
13
13
|
import { resolveFlowModelCandidates, resolveModelContextWindow, selectFlowModelStrategy, } from "../config/config.js";
|
|
14
14
|
import { renderFlowCall, renderFlowResult } from "../tui/render.js";
|
|
15
15
|
import { DEFAULT_FLOW_COLORS } from "../tui/flow-colors.js";
|
|
@@ -18,6 +18,7 @@ import { getFlowOutput } from "../types/flow.js";
|
|
|
18
18
|
import { executeOperations } from "../batch/execute.js";
|
|
19
19
|
import { runBashWithLimits } from "../batch/batch-bash.js";
|
|
20
20
|
import { runWebOps } from "./web-ops.js";
|
|
21
|
+
import { extractTraceStructuredOutput, resolveToolEvidence } from "../snapshot/trace-output.js";
|
|
21
22
|
// ---------------------------------------------------------------------------
|
|
22
23
|
// Dispatch schemas — mirror of the flow-tool dispatch (kept here to avoid
|
|
23
24
|
// circular imports with src/index.ts).
|
|
@@ -61,42 +62,81 @@ export const DispatchOpSchema = Type.Union([BatchDispatchOp, BashDispatchOp, Web
|
|
|
61
62
|
});
|
|
62
63
|
async function executeDispatchOps(dispatch, cwd, ctx, signal) {
|
|
63
64
|
const parts = [];
|
|
65
|
+
const messages = [];
|
|
64
66
|
let toolCallIndex = 0;
|
|
65
67
|
for (const group of dispatch) {
|
|
66
68
|
if (signal?.aborted)
|
|
67
69
|
break;
|
|
68
70
|
const toolCallId = `pre_dispatch_${group.tool}_${toolCallIndex++}`;
|
|
71
|
+
let resultString = "";
|
|
69
72
|
try {
|
|
70
73
|
if (group.tool === "batch") {
|
|
71
74
|
const fileOps = group.ops.filter((op) => op.o !== "bash");
|
|
72
75
|
const bashOps = group.ops.filter((op) => op.o === "bash");
|
|
76
|
+
const subParts = [];
|
|
73
77
|
if (fileOps.length > 0) {
|
|
74
78
|
const fileOutput = await executeOperations(fileOps, cwd, signal, { includeLimitWarnings: true });
|
|
75
|
-
|
|
79
|
+
subParts.push(fileOutput.contentText);
|
|
76
80
|
}
|
|
77
81
|
if (bashOps.length > 0) {
|
|
78
82
|
for (const op of bashOps) {
|
|
79
83
|
const { stdout, stderr, exitCode } = await runBashWithLimits(op.c ?? "", op.h ?? cwd, op.t ?? 30000, signal);
|
|
80
|
-
|
|
84
|
+
subParts.push(`stdout:\n${stdout}${stderr ? `\nstderr:\n${stderr}` : ""}${exitCode !== 0 ? `\nexitCode: ${exitCode}` : ""}`);
|
|
81
85
|
}
|
|
82
86
|
}
|
|
87
|
+
resultString = subParts.join("\n\n");
|
|
88
|
+
parts.push(`### batch (file ops)\n\ntool_call_id: ${toolCallId}\n\n${resultString}`);
|
|
83
89
|
}
|
|
84
90
|
else if (group.tool === "bash") {
|
|
91
|
+
const subParts = [];
|
|
85
92
|
for (const cmd of group.ops) {
|
|
86
93
|
const { stdout, stderr, exitCode } = await runBashWithLimits(cmd.c, cmd.h ?? cwd, cmd.t ?? 30000, signal);
|
|
87
|
-
|
|
94
|
+
subParts.push(`stdout:\n${stdout}${stderr ? `\nstderr:\n${stderr}` : ""}${exitCode !== 0 ? `\nexitCode: ${exitCode}` : ""}`);
|
|
88
95
|
}
|
|
96
|
+
resultString = subParts.join("\n\n");
|
|
97
|
+
parts.push(`### bash\n\ntool_call_id: ${toolCallId}\n\n${resultString}`);
|
|
89
98
|
}
|
|
90
99
|
else if (group.tool === "web") {
|
|
91
100
|
const webOutput = await runWebOps({ op: group.ops }, ctx, signal);
|
|
92
|
-
|
|
101
|
+
resultString = webOutput.content[0].text;
|
|
102
|
+
parts.push(`### web\n\ntool_call_id: ${toolCallId}\n\n${resultString}`);
|
|
93
103
|
}
|
|
94
104
|
}
|
|
95
105
|
catch (err) {
|
|
96
|
-
|
|
106
|
+
resultString = `Error: ${err instanceof Error ? err.message : String(err)}`;
|
|
107
|
+
parts.push(`### ${group.tool}\n\ntool_call_id: ${toolCallId}\n\n${resultString}`);
|
|
97
108
|
}
|
|
109
|
+
// Add mock messages
|
|
110
|
+
messages.push({
|
|
111
|
+
role: "assistant",
|
|
112
|
+
content: [
|
|
113
|
+
{
|
|
114
|
+
type: "toolCall",
|
|
115
|
+
toolCallId,
|
|
116
|
+
name: group.tool,
|
|
117
|
+
arguments: group.tool === "batch"
|
|
118
|
+
? { o: group.ops }
|
|
119
|
+
: group.tool === "bash"
|
|
120
|
+
? { ops: group.ops }
|
|
121
|
+
: { op: group.ops },
|
|
122
|
+
}
|
|
123
|
+
]
|
|
124
|
+
});
|
|
125
|
+
messages.push({
|
|
126
|
+
role: "tool",
|
|
127
|
+
toolCallId,
|
|
128
|
+
content: [
|
|
129
|
+
{
|
|
130
|
+
type: "text",
|
|
131
|
+
text: resultString,
|
|
132
|
+
}
|
|
133
|
+
]
|
|
134
|
+
});
|
|
98
135
|
}
|
|
99
|
-
return
|
|
136
|
+
return {
|
|
137
|
+
promptString: parts.join("\n\n"),
|
|
138
|
+
messages,
|
|
139
|
+
};
|
|
100
140
|
}
|
|
101
141
|
// ---------------------------------------------------------------------------
|
|
102
142
|
// Override tool params — zero required fields
|
|
@@ -152,16 +192,23 @@ export function createTraceTool(opts = {}) {
|
|
|
152
192
|
if (!traceFlow) {
|
|
153
193
|
throw new Error("Trace agent not found. Expected agents/trace.md to be present.");
|
|
154
194
|
}
|
|
195
|
+
const preDispatch = params.dispatch?.length
|
|
196
|
+
? await executeDispatchOps(params.dispatch, params.cwd ?? ctx.cwd, ctx, signal)
|
|
197
|
+
: undefined;
|
|
198
|
+
const preDispatchResults = preDispatch?.promptString;
|
|
199
|
+
const preDispatchMessages = preDispatch?.messages ?? [];
|
|
200
|
+
const forkSessionSnapshotJsonl = buildCore2Snapshot(ctx.sessionManager, {
|
|
201
|
+
activeToolCallId: toolCallId,
|
|
202
|
+
tier: traceFlow.tier ?? getFlowTier("trace"),
|
|
203
|
+
});
|
|
204
|
+
const sharedContext = parseSharedContext(forkSessionSnapshotJsonl);
|
|
155
205
|
const makeDetails = (results) => ({
|
|
156
206
|
mode: "flow",
|
|
157
207
|
flowStyle: "fork",
|
|
158
208
|
projectAgentsDir: discovery.projectFlowsDir,
|
|
159
209
|
results,
|
|
210
|
+
sharedContext,
|
|
160
211
|
});
|
|
161
|
-
const preDispatchResults = params.dispatch?.length
|
|
162
|
-
? await executeDispatchOps(params.dispatch, params.cwd ?? ctx.cwd, ctx, signal)
|
|
163
|
-
: undefined;
|
|
164
|
-
const forkSessionSnapshotJsonl = buildCore2Snapshot(ctx.sessionManager);
|
|
165
212
|
// Resolve model and context window (mirrors executeSingleFlow in executor.ts)
|
|
166
213
|
const tier = traceFlow.tier ?? "lite";
|
|
167
214
|
let selectedStrategy;
|
|
@@ -213,7 +260,13 @@ export function createTraceTool(opts = {}) {
|
|
|
213
260
|
}
|
|
214
261
|
: undefined,
|
|
215
262
|
});
|
|
216
|
-
const
|
|
263
|
+
const rawOutput = getFlowOutput(result.messages) || "Trace completed.";
|
|
264
|
+
const traceOutput = extractTraceStructuredOutput(rawOutput) ?? { note: rawOutput, tool_ids: [] };
|
|
265
|
+
let outputText = traceOutput.note;
|
|
266
|
+
const evidence = resolveToolEvidence(traceOutput.tool_ids, [...preDispatchMessages, ...result.messages], ctx.sessionManager.getBranch());
|
|
267
|
+
if (evidence) {
|
|
268
|
+
outputText += "\n\n" + evidence;
|
|
269
|
+
}
|
|
217
270
|
const success = result.exitCode === 0;
|
|
218
271
|
return {
|
|
219
272
|
content: [{ type: "text", text: outputText }],
|
package/dist/tools/trace.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace.js","sourceRoot":"","sources":["../../src/tools/trace.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"trace.js","sourceRoot":"","sources":["../../src/tools/trace.ts"],"names":[],"mappings":"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"}
|
package/dist/tui/render.d.ts
CHANGED
|
@@ -49,5 +49,12 @@ export declare function renderFlowResult(result: {
|
|
|
49
49
|
}>;
|
|
50
50
|
details?: unknown;
|
|
51
51
|
}, expanded: boolean, theme: FlowTheme, args?: Record<string, any>, config?: FlowColorConfig): Container | Text;
|
|
52
|
-
export declare function renderSingleFlowResult(r: SingleResult, expanded: boolean, theme: FlowTheme, streamingText?: string, toolCallId?: string, config?: FlowColorConfig
|
|
52
|
+
export declare function renderSingleFlowResult(r: SingleResult, expanded: boolean, theme: FlowTheme, streamingText?: string, toolCallId?: string, config?: FlowColorConfig, sharedContext?: {
|
|
53
|
+
messageCount: number;
|
|
54
|
+
userMessageCount: number;
|
|
55
|
+
assistantMessageCount: number;
|
|
56
|
+
toolCalls: Record<string, number>;
|
|
57
|
+
totalTokens: number;
|
|
58
|
+
preview: string;
|
|
59
|
+
}): Container | Text;
|
|
53
60
|
//# sourceMappingURL=render.d.ts.map
|
package/dist/tui/render.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/tui/render.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,SAAS,EAAoB,IAAI,EAAiB,MAAM,wBAAwB,CAAC;AAE1F,OAAO,KAAK,EACX,YAAY,EAEZ,MAAM,kBAAkB,CAAC;AA2B1B,yEAAyE;AACzE,wBAAgB,2BAA2B,IAAI,IAAI,CAElD;AA2BD,OAAO,EACL,KAAK,eAAe,EAEpB,KAAK,SAAS,EAGf,MAAM,kBAAkB,CAAC;AAyG1B,MAAM,WAAW,SAAS;IACxB,2DAA2D;IAC3D,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,kEAAkE;IAClE,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,oBAAoB,CA8D1E;AAsID,sFAAsF;AACtF,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CAChC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,MAAM,CAapF;AAOD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,SAAS,GAAG,IAAI,CAsBtH;AAMD,wBAAgB,gBAAgB,CAC/B,MAAM,EAAE;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,EAC9E,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,SAAS,EAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,MAAM,CAAC,EAAE,eAAe,GACtB,SAAS,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/tui/render.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,SAAS,EAAoB,IAAI,EAAiB,MAAM,wBAAwB,CAAC;AAE1F,OAAO,KAAK,EACX,YAAY,EAEZ,MAAM,kBAAkB,CAAC;AA2B1B,yEAAyE;AACzE,wBAAgB,2BAA2B,IAAI,IAAI,CAElD;AA2BD,OAAO,EACL,KAAK,eAAe,EAEpB,KAAK,SAAS,EAGf,MAAM,kBAAkB,CAAC;AAyG1B,MAAM,WAAW,SAAS;IACxB,2DAA2D;IAC3D,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,kEAAkE;IAClE,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,oBAAoB,CA8D1E;AAsID,sFAAsF;AACtF,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CAChC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,MAAM,CAapF;AAOD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,SAAS,GAAG,IAAI,CAsBtH;AAMD,wBAAgB,gBAAgB,CAC/B,MAAM,EAAE;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,EAC9E,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,SAAS,EAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,MAAM,CAAC,EAAE,eAAe,GACtB,SAAS,GAAG,IAAI,CA4GlB;AAMD,wBAAgB,sBAAsB,CACrC,CAAC,EAAE,YAAY,EACf,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,SAAS,EAChB,aAAa,CAAC,EAAE,MAAM,EACtB,UAAU,CAAC,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,eAAe,EACxB,aAAa,CAAC,EAAE;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CAChB,GACC,SAAS,GAAG,IAAI,CAalB"}
|
package/dist/tui/render.js
CHANGED
|
@@ -373,6 +373,7 @@ export function renderFlowCall(args, theme, config) {
|
|
|
373
373
|
export function renderFlowResult(result, expanded, theme, args, config) {
|
|
374
374
|
const details = result.details;
|
|
375
375
|
const streamingText = result.content?.[0]?.type === "text" ? result.content[0].text : undefined;
|
|
376
|
+
const sharedContext = details?.sharedContext;
|
|
376
377
|
// Resolve a stable id for this flow widget. Once an id is stored in
|
|
377
378
|
// state we keep reusing it to prevent mid-render id switches that would
|
|
378
379
|
// reset scramble animation state. On first render we prefer result._toolCallId,
|
|
@@ -415,7 +416,7 @@ export function renderFlowResult(result, expanded, theme, args, config) {
|
|
|
415
416
|
const ghostId = resolvedToolCallId || 'ghost';
|
|
416
417
|
if (expanded) {
|
|
417
418
|
const now = Date.now();
|
|
418
|
-
container = renderFlowExpanded(ghostResult, flowStatusIcon(ghostResult, theme), false, getFlowDisplayItems([]), getFlowOutput([]), theme, ghostId, now, false, streamingText || "", config);
|
|
419
|
+
container = renderFlowExpanded(ghostResult, flowStatusIcon(ghostResult, theme), false, getFlowDisplayItems([]), getFlowOutput([]), theme, ghostId, now, false, streamingText || "", config, undefined);
|
|
419
420
|
}
|
|
420
421
|
else {
|
|
421
422
|
container = renderFlowCollapsed(ghostResult, flowStatusIcon(ghostResult, theme), false, streamingText || "", theme, undefined, ghostId, config);
|
|
@@ -426,10 +427,10 @@ export function renderFlowResult(result, expanded, theme, args, config) {
|
|
|
426
427
|
}
|
|
427
428
|
}
|
|
428
429
|
else if (details.results.length === 1) {
|
|
429
|
-
container = renderSingleFlowResult(details.results[0], expanded, theme, streamingText, resolvedToolCallId, config);
|
|
430
|
+
container = renderSingleFlowResult(details.results[0], expanded, theme, streamingText, resolvedToolCallId, config, sharedContext);
|
|
430
431
|
}
|
|
431
432
|
else {
|
|
432
|
-
container = renderMultiFlowResult(details, expanded, theme, resolvedToolCallId, config);
|
|
433
|
+
container = renderMultiFlowResult(details, expanded, theme, resolvedToolCallId, config, sharedContext);
|
|
433
434
|
}
|
|
434
435
|
// In-place mutation pattern: reuse the stored root container
|
|
435
436
|
// so the TUI host's cached reference stays valid.
|
|
@@ -485,7 +486,7 @@ export function renderFlowResult(result, expanded, theme, args, config) {
|
|
|
485
486
|
// ---------------------------------------------------------------------------
|
|
486
487
|
// Single flow result
|
|
487
488
|
// ---------------------------------------------------------------------------
|
|
488
|
-
export function renderSingleFlowResult(r, expanded, theme, streamingText, toolCallId, config) {
|
|
489
|
+
export function renderSingleFlowResult(r, expanded, theme, streamingText, toolCallId, config, sharedContext) {
|
|
489
490
|
const id = toolCallId || "single";
|
|
490
491
|
const error = isFlowError(r);
|
|
491
492
|
const icon = flowStatusIcon(r, theme);
|
|
@@ -494,14 +495,29 @@ export function renderSingleFlowResult(r, expanded, theme, streamingText, toolCa
|
|
|
494
495
|
const now = Date.now();
|
|
495
496
|
const isComplete = isFlowStatusComplete(r);
|
|
496
497
|
if (expanded) {
|
|
497
|
-
return renderFlowExpanded(r, icon, error, displayItems, flowOutput, theme, id, now, isComplete, streamingText, config);
|
|
498
|
+
return renderFlowExpanded(r, icon, error, displayItems, flowOutput, theme, id, now, isComplete, streamingText, config, sharedContext);
|
|
498
499
|
}
|
|
499
|
-
return renderFlowCollapsed(r, icon, error, flowOutput, theme, streamingText, id, config);
|
|
500
|
+
return renderFlowCollapsed(r, icon, error, flowOutput, theme, streamingText, id, config, sharedContext);
|
|
500
501
|
}
|
|
501
|
-
function renderFlowExpanded(r, icon, error, displayItems, flowOutput, theme, id, now, isComplete, streamingText, config) {
|
|
502
|
+
function renderFlowExpanded(r, icon, error, displayItems, flowOutput, theme, id, now, isComplete, streamingText, config, sharedContext) {
|
|
502
503
|
const mdTheme = getMarkdownTheme();
|
|
503
504
|
const container = new Container();
|
|
504
505
|
const typeName = formatFlowTypeName(r.type);
|
|
506
|
+
if (sharedContext) {
|
|
507
|
+
container.addChild(new Text(applyRole("prefixLabel", "── shared context ──", theme, config), 0, 0));
|
|
508
|
+
container.addChild(new Text(applyRole("aimContent", sharedContext.preview, theme, config), 0, 0));
|
|
509
|
+
const statsParts = [];
|
|
510
|
+
statsParts.push(`${sharedContext.userMessageCount} user`);
|
|
511
|
+
statsParts.push(`${sharedContext.assistantMessageCount} assistant`);
|
|
512
|
+
statsParts.push(`${sharedContext.totalTokens} tokens`);
|
|
513
|
+
for (const [name, count] of Object.entries(sharedContext.toolCalls)) {
|
|
514
|
+
statsParts.push(`${count}× ${name}`);
|
|
515
|
+
}
|
|
516
|
+
container.addChild(new Text(applyRole("stats", statsParts.join(" · "), theme, config), 0, 0));
|
|
517
|
+
container.addChild(new Spacer(1));
|
|
518
|
+
container.addChild(new Text(applyRole("prefixLabel", sectionHeader(typeName), theme, config), 0, 0));
|
|
519
|
+
container.addChild(new Spacer(1));
|
|
520
|
+
}
|
|
505
521
|
const initialDot = flowStatusIcon(r, theme);
|
|
506
522
|
let header = `${initialDot} ${applyRole("flowName", typeName, theme, config)}`;
|
|
507
523
|
const errorSegment = error && r.stopReason ? ` [${r.stopReason}]` : "";
|
|
@@ -525,7 +541,8 @@ function renderFlowExpanded(r, icon, error, displayItems, flowOutput, theme, id,
|
|
|
525
541
|
container.addChild(new Text(scrambleManager.renderStatic(theme.fg("error", `Error: ${r.errorMessage}`)), 0, 0));
|
|
526
542
|
}
|
|
527
543
|
// Stats: dashboard format
|
|
528
|
-
const
|
|
544
|
+
const displayUsage = sharedContext ? { ...r.usage, input: sharedContext.totalTokens } : r.usage;
|
|
545
|
+
const inlineStats = formatCompactStats(displayUsage, r.model);
|
|
529
546
|
container.addChild(new DynamicScrambleText(applyRole("stats", inlineStats, theme, config), () => {
|
|
530
547
|
const result = scrambleManager.updateText(id, 'stats', stripAnsi(inlineStats), Date.now(), isComplete);
|
|
531
548
|
return result.isAnimating ? applyRole("stats", result.content, theme, config) : applyRole("stats", inlineStats, theme, config);
|
|
@@ -660,7 +677,7 @@ function renderFlowExpanded(r, icon, error, displayItems, flowOutput, theme, id,
|
|
|
660
677
|
}
|
|
661
678
|
return container;
|
|
662
679
|
}
|
|
663
|
-
function renderFlowCollapsed(r, icon, error, flowOutput, theme, streamingText, toolCallId, config) {
|
|
680
|
+
function renderFlowCollapsed(r, icon, error, flowOutput, theme, streamingText, toolCallId, config, sharedContext) {
|
|
664
681
|
const id = toolCallId || "collapsed";
|
|
665
682
|
const now = Date.now();
|
|
666
683
|
const container = new Container();
|
|
@@ -671,8 +688,9 @@ function renderFlowCollapsed(r, icon, error, flowOutput, theme, streamingText, t
|
|
|
671
688
|
const isComplete = isFlowStatusComplete(r);
|
|
672
689
|
// Build header stats: ctxLabel · t/s
|
|
673
690
|
const statsParts = [];
|
|
674
|
-
|
|
675
|
-
|
|
691
|
+
const ctxTokens = sharedContext?.totalTokens ?? r.usage.contextTokens;
|
|
692
|
+
if (r.maxContextTokens !== undefined || ctxTokens > 0) {
|
|
693
|
+
const ctxLabel = formatContextLabel(ctxTokens, r.maxContextTokens);
|
|
676
694
|
statsParts.push(ctxLabel);
|
|
677
695
|
}
|
|
678
696
|
let displayStats = statsParts.join(" · ");
|
|
@@ -820,7 +838,7 @@ function renderFlowCollapsed(r, icon, error, flowOutput, theme, streamingText, t
|
|
|
820
838
|
// ---------------------------------------------------------------------------
|
|
821
839
|
// Multi-flow result
|
|
822
840
|
// ---------------------------------------------------------------------------
|
|
823
|
-
function renderMultiFlowResult(details, expanded, theme, toolCallId, config) {
|
|
841
|
+
function renderMultiFlowResult(details, expanded, theme, toolCallId, config, sharedContext) {
|
|
824
842
|
const baseId = toolCallId || "multi";
|
|
825
843
|
const results = details.results;
|
|
826
844
|
const successCount = results.filter((r) => isFlowSuccess(r)).length;
|
|
@@ -828,13 +846,26 @@ function renderMultiFlowResult(details, expanded, theme, toolCallId, config) {
|
|
|
828
846
|
const icon = failCount > 0 ? theme.fg("warning", "(!)") : theme.fg("success", "(ok)");
|
|
829
847
|
const now = Date.now();
|
|
830
848
|
if (expanded) {
|
|
831
|
-
return renderMultiFlowExpanded(results, successCount, icon, theme, baseId, now, config);
|
|
849
|
+
return renderMultiFlowExpanded(results, successCount, icon, theme, baseId, now, config, sharedContext);
|
|
832
850
|
}
|
|
833
|
-
return renderMultiFlowCollapsed(results, theme, baseId, config);
|
|
851
|
+
return renderMultiFlowCollapsed(results, theme, baseId, config, sharedContext);
|
|
834
852
|
}
|
|
835
|
-
function renderMultiFlowExpanded(results, successCount, icon, theme, baseId, now, config) {
|
|
853
|
+
function renderMultiFlowExpanded(results, successCount, icon, theme, baseId, now, config, sharedContext) {
|
|
836
854
|
const mdTheme = getMarkdownTheme();
|
|
837
855
|
const container = new Container();
|
|
856
|
+
if (sharedContext) {
|
|
857
|
+
container.addChild(new Text(applyRole("prefixLabel", "── shared context ──", theme, config), 0, 0));
|
|
858
|
+
container.addChild(new Text(applyRole("aimContent", sharedContext.preview, theme, config), 0, 0));
|
|
859
|
+
const statsParts = [];
|
|
860
|
+
statsParts.push(`${sharedContext.userMessageCount} user`);
|
|
861
|
+
statsParts.push(`${sharedContext.assistantMessageCount} assistant`);
|
|
862
|
+
statsParts.push(`${sharedContext.totalTokens} tokens`);
|
|
863
|
+
for (const [name, count] of Object.entries(sharedContext.toolCalls)) {
|
|
864
|
+
statsParts.push(`${count}× ${name}`);
|
|
865
|
+
}
|
|
866
|
+
container.addChild(new Text(applyRole("stats", statsParts.join(" · "), theme, config), 0, 0));
|
|
867
|
+
container.addChild(new Spacer(1));
|
|
868
|
+
}
|
|
838
869
|
// Summary: just show count, no icon
|
|
839
870
|
container.addChild(new Text(applyRole("flowName", `${results.length} flows`, theme, config), 0, 0));
|
|
840
871
|
for (let flowIdx = 0; flowIdx < results.length; flowIdx++) {
|
|
@@ -932,7 +963,7 @@ function renderMultiFlowExpanded(results, successCount, icon, theme, baseId, now
|
|
|
932
963
|
container.addChild(new Text(applyRole("stats", totalStats, theme, config), 0, 0));
|
|
933
964
|
return container;
|
|
934
965
|
}
|
|
935
|
-
function renderActivityPanel(results, theme, baseId, config) {
|
|
966
|
+
function renderActivityPanel(results, theme, baseId, config, sharedContext) {
|
|
936
967
|
const idPrefix = baseId || "panel";
|
|
937
968
|
const container = new Container();
|
|
938
969
|
const now = Date.now();
|
|
@@ -962,10 +993,10 @@ function renderActivityPanel(results, theme, baseId, config) {
|
|
|
962
993
|
const item = orderedItems[itemIdx];
|
|
963
994
|
const isLastRoot = itemIdx === orderedItems.length - 1;
|
|
964
995
|
if (item.kind === "flow") {
|
|
965
|
-
renderStandaloneFlow(container, results[item.index], item.index, idPrefix, theme, now, config, isLastRoot);
|
|
996
|
+
renderStandaloneFlow(container, results[item.index], item.index, idPrefix, theme, now, config, isLastRoot, sharedContext);
|
|
966
997
|
}
|
|
967
998
|
else {
|
|
968
|
-
renderGroup(container, groups[item.groupIndex], results, idPrefix, theme, now, config, isLastRoot);
|
|
999
|
+
renderGroup(container, groups[item.groupIndex], results, idPrefix, theme, now, config, isLastRoot, sharedContext);
|
|
969
1000
|
}
|
|
970
1001
|
// No blank line separator between root items — compact tree
|
|
971
1002
|
}
|
|
@@ -974,11 +1005,11 @@ function renderActivityPanel(results, theme, baseId, config) {
|
|
|
974
1005
|
// ---------------------------------------------------------------------------
|
|
975
1006
|
// Standalone flow (rendered at depth 0)
|
|
976
1007
|
// ---------------------------------------------------------------------------
|
|
977
|
-
function renderStandaloneFlow(container, r, index, idPrefix, theme, now, config, isLastRoot = false) {
|
|
1008
|
+
function renderStandaloneFlow(container, r, index, idPrefix, theme, now, config, isLastRoot = false, sharedContext) {
|
|
978
1009
|
const flowId = `${idPrefix}#${index}`;
|
|
979
1010
|
const headerPrefix = isLastRoot ? "└─" : "├─";
|
|
980
1011
|
const childPrefix = isLastRoot ? " " : "│ ";
|
|
981
|
-
renderFlowHeader(container, r, flowId, headerPrefix, theme, now, config);
|
|
1012
|
+
renderFlowHeader(container, r, flowId, headerPrefix, theme, now, config, sharedContext);
|
|
982
1013
|
renderFlowBody(container, r, flowId, childPrefix, theme, now, config);
|
|
983
1014
|
if (isFlowStatusComplete(r)) {
|
|
984
1015
|
scrambleManager.completeFlow(flowId);
|
|
@@ -987,7 +1018,7 @@ function renderStandaloneFlow(container, r, index, idPrefix, theme, now, config,
|
|
|
987
1018
|
// ---------------------------------------------------------------------------
|
|
988
1019
|
// Group rendering (rendered at depth 1)
|
|
989
1020
|
// ---------------------------------------------------------------------------
|
|
990
|
-
function renderGroup(container, group, results, idPrefix, theme, now, config, isLastRoot = false) {
|
|
1021
|
+
function renderGroup(container, group, results, idPrefix, theme, now, config, isLastRoot = false, sharedContext) {
|
|
991
1022
|
// ─── Group header line ───
|
|
992
1023
|
const headerPrefix = isLastRoot ? "" : "├─";
|
|
993
1024
|
const headerText = `${headerPrefix}${headerPrefix ? ' ' : ''}audit-loop`;
|
|
@@ -1001,7 +1032,7 @@ function renderGroup(container, group, results, idPrefix, theme, now, config, is
|
|
|
1001
1032
|
// Audit always follows the last build, so every build uses ├─; only audit gets └─
|
|
1002
1033
|
const buildHeaderPrefix = isLastRoot ? "├─" : "│ ├─";
|
|
1003
1034
|
const buildChildPrefix = isLastRoot ? "│ " : "│ │ "; // All builds: audit follows, tree line continues
|
|
1004
|
-
renderFlowHeader(container, r, flowId, buildHeaderPrefix, theme, now, config);
|
|
1035
|
+
renderFlowHeader(container, r, flowId, buildHeaderPrefix, theme, now, config, sharedContext);
|
|
1005
1036
|
renderFlowBody(container, r, flowId, buildChildPrefix, theme, now, config);
|
|
1006
1037
|
if (isFlowStatusComplete(r)) {
|
|
1007
1038
|
scrambleManager.completeFlow(flowId);
|
|
@@ -1014,7 +1045,7 @@ function renderGroup(container, group, results, idPrefix, theme, now, config, is
|
|
|
1014
1045
|
const auditFlowId = `${idPrefix}#${auditIdx}`;
|
|
1015
1046
|
const auditHeaderPrefix = isLastRoot ? "└─" : "│ └─";
|
|
1016
1047
|
const auditChildPrefix = isLastRoot ? " " : "│ ";
|
|
1017
|
-
renderFlowHeader(container, auditResult, auditFlowId, auditHeaderPrefix, theme, now, config);
|
|
1048
|
+
renderFlowHeader(container, auditResult, auditFlowId, auditHeaderPrefix, theme, now, config, sharedContext);
|
|
1018
1049
|
renderFlowBody(container, auditResult, auditFlowId, auditChildPrefix, theme, now, config);
|
|
1019
1050
|
if (isFlowStatusComplete(auditResult)) {
|
|
1020
1051
|
scrambleManager.completeFlow(auditFlowId);
|
|
@@ -1024,7 +1055,7 @@ function renderGroup(container, group, results, idPrefix, theme, now, config, is
|
|
|
1024
1055
|
// ---------------------------------------------------------------------------
|
|
1025
1056
|
// Shared flow rendering helpers
|
|
1026
1057
|
// ---------------------------------------------------------------------------
|
|
1027
|
-
function renderFlowHeader(container, r, flowId, headerPrefix, theme, now, config) {
|
|
1058
|
+
function renderFlowHeader(container, r, flowId, headerPrefix, theme, now, config, sharedContext) {
|
|
1028
1059
|
const typeName = formatCollapsedFlowHeaderTypeName(r.type);
|
|
1029
1060
|
const modelLabel = formatModelLabel(r.model);
|
|
1030
1061
|
const isComplete = isFlowStatusComplete(r);
|
|
@@ -1044,7 +1075,8 @@ function renderFlowHeader(container, r, flowId, headerPrefix, theme, now, config
|
|
|
1044
1075
|
// Standard flow: model + stats
|
|
1045
1076
|
const statsParts = [];
|
|
1046
1077
|
if (r.maxContextTokens !== undefined || r.usage.contextTokens > 0) {
|
|
1047
|
-
const
|
|
1078
|
+
const ctxTokens = sharedContext?.totalTokens ?? r.usage.contextTokens;
|
|
1079
|
+
const ctxLabel = formatContextLabel(ctxTokens, r.maxContextTokens);
|
|
1048
1080
|
statsParts.push(ctxLabel);
|
|
1049
1081
|
}
|
|
1050
1082
|
let displayStats = statsParts.join(" · ");
|
|
@@ -1198,7 +1230,7 @@ function renderFlowBody(container, r, flowId, indent, theme, now, config) {
|
|
|
1198
1230
|
}, true));
|
|
1199
1231
|
}
|
|
1200
1232
|
}
|
|
1201
|
-
function renderMultiFlowCollapsed(results, theme, baseId, config) {
|
|
1202
|
-
return renderActivityPanel(results, theme, baseId, config);
|
|
1233
|
+
function renderMultiFlowCollapsed(results, theme, baseId, config, sharedContext) {
|
|
1234
|
+
return renderActivityPanel(results, theme, baseId, config, sharedContext);
|
|
1203
1235
|
}
|
|
1204
1236
|
//# sourceMappingURL=render.js.map
|