@osolmaz/pi-workflows 0.1.0 → 0.3.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/README.md +107 -26
- package/dist/builtins/monitor.workflow.d.ts +71 -0
- package/dist/builtins/monitor.workflow.js +234 -0
- package/dist/builtins/monitor.workflow.js.map +1 -0
- package/dist/controllers/conditions.d.ts +6 -0
- package/dist/controllers/conditions.js +68 -0
- package/dist/controllers/conditions.js.map +1 -0
- package/dist/controllers/definition.d.ts +6 -0
- package/dist/controllers/definition.js +45 -0
- package/dist/controllers/definition.js.map +1 -0
- package/dist/controllers/effects.d.ts +14 -0
- package/dist/controllers/effects.js +104 -0
- package/dist/controllers/effects.js.map +1 -0
- package/dist/controllers/errors.d.ts +12 -0
- package/dist/controllers/errors.js +25 -0
- package/dist/controllers/errors.js.map +1 -0
- package/dist/controllers/index.d.ts +13 -0
- package/dist/controllers/index.js +13 -0
- package/dist/controllers/index.js.map +1 -0
- package/dist/controllers/json.d.ts +5 -0
- package/dist/controllers/json.js +57 -0
- package/dist/controllers/json.js.map +1 -0
- package/dist/controllers/loader.d.ts +23 -0
- package/dist/controllers/loader.js +74 -0
- package/dist/controllers/loader.js.map +1 -0
- package/dist/controllers/manager.d.ts +58 -0
- package/dist/controllers/manager.js +399 -0
- package/dist/controllers/manager.js.map +1 -0
- package/dist/controllers/results.d.ts +5 -0
- package/dist/controllers/results.js +32 -0
- package/dist/controllers/results.js.map +1 -0
- package/dist/controllers/sqlite.d.ts +212 -0
- package/dist/controllers/sqlite.js +1009 -0
- package/dist/controllers/sqlite.js.map +1 -0
- package/dist/controllers/store.d.ts +112 -0
- package/dist/controllers/store.js +32 -0
- package/dist/controllers/store.js.map +1 -0
- package/dist/controllers/types.d.ts +159 -0
- package/dist/controllers/types.js +2 -0
- package/dist/controllers/types.js.map +1 -0
- package/dist/controllers/workflow-engine-scheduler.d.ts +25 -0
- package/dist/controllers/workflow-engine-scheduler.js +93 -0
- package/dist/controllers/workflow-engine-scheduler.js.map +1 -0
- package/dist/controllers/workflows.d.ts +27 -0
- package/dist/controllers/workflows.js +109 -0
- package/dist/controllers/workflows.js.map +1 -0
- package/dist/extension/controller-host.d.ts +47 -0
- package/dist/extension/controller-host.js +110 -0
- package/dist/extension/controller-host.js.map +1 -0
- package/dist/extension/executor.d.ts +14 -1
- package/dist/extension/executor.js +12 -2
- package/dist/extension/executor.js.map +1 -1
- package/dist/extension/index.d.ts +7 -0
- package/dist/extension/index.js +1118 -89
- package/dist/extension/index.js.map +1 -1
- package/dist/extension/recorder.d.ts +91 -0
- package/dist/extension/recorder.js +537 -0
- package/dist/extension/recorder.js.map +1 -0
- package/dist/extension/session-events.d.ts +134 -0
- package/dist/extension/session-events.js +60 -0
- package/dist/extension/session-events.js.map +1 -0
- package/dist/extension/widget.js +25 -24
- package/dist/extension/widget.js.map +1 -1
- package/dist/extension/workflow-tool.d.ts +28 -0
- package/dist/extension/workflow-tool.js +33 -0
- package/dist/extension/workflow-tool.js.map +1 -0
- package/dist/host/processes.d.ts +24 -0
- package/dist/host/processes.js +114 -0
- package/dist/host/processes.js.map +1 -0
- package/dist/host/rpc-bridge.d.ts +9 -0
- package/dist/host/rpc-bridge.js +39 -0
- package/dist/host/rpc-bridge.js.map +1 -0
- package/dist/host/rpc-executor.d.ts +38 -0
- package/dist/host/rpc-executor.js +254 -0
- package/dist/host/rpc-executor.js.map +1 -0
- package/dist/host/runner.d.ts +49 -0
- package/dist/host/runner.js +350 -0
- package/dist/host/runner.js.map +1 -0
- package/dist/render/canvas.d.ts +1 -1
- package/dist/render/canvas.js +5 -0
- package/dist/render/canvas.js.map +1 -1
- package/dist/render/graph-render.d.ts +5 -0
- package/dist/render/graph-render.js +211 -48
- package/dist/render/graph-render.js.map +1 -1
- package/dist/viewer/cli.d.ts +7 -3
- package/dist/viewer/cli.js +150 -19
- package/dist/viewer/cli.js.map +1 -1
- package/dist/viewer/render.js +19 -3
- package/dist/viewer/render.js.map +1 -1
- package/dist/viewer/session-reducer.d.ts +45 -0
- package/dist/viewer/session-reducer.js +266 -0
- package/dist/viewer/session-reducer.js.map +1 -0
- package/dist/workflows/artifacts.d.ts +40 -0
- package/dist/workflows/artifacts.js +155 -0
- package/dist/workflows/artifacts.js.map +1 -0
- package/dist/workflows/engine.d.ts +38 -0
- package/dist/workflows/engine.js +281 -20
- package/dist/workflows/engine.js.map +1 -1
- package/dist/workflows/errors.d.ts +23 -0
- package/dist/workflows/errors.js +38 -0
- package/dist/workflows/errors.js.map +1 -1
- package/dist/workflows/graph.js +0 -5
- package/dist/workflows/graph.js.map +1 -1
- package/dist/workflows/index.d.ts +3 -2
- package/dist/workflows/index.js +2 -1
- package/dist/workflows/index.js.map +1 -1
- package/dist/workflows/loader.d.ts +5 -3
- package/dist/workflows/loader.js +10 -1
- package/dist/workflows/loader.js.map +1 -1
- package/dist/workflows/schema.js +1 -1
- package/dist/workflows/schema.js.map +1 -1
- package/dist/workflows/store.d.ts +98 -10
- package/dist/workflows/store.js +921 -46
- package/dist/workflows/store.js.map +1 -1
- package/dist/workflows/types.d.ts +136 -3
- package/docs/CONTROLLERS.md +215 -0
- package/docs/development.md +51 -24
- package/docs/live-replay-protocol.md +155 -0
- package/docs/plans/2026-08-04-controller-runtime-plan.md +169 -0
- package/docs/plans/2026-08-05-always-on-workflows-plan.md +125 -0
- package/docs/plans/2026-08-10-agent-managed-monitor-workflows-plan.md +184 -0
- package/docs/plans/piw-viewer-experience-implementation-plan.md +674 -0
- package/docs/plans/replayable-run-bundles-implementation-plan.md +65 -0
- package/docs/plans/session-event-replay-implementation-plan.md +494 -0
- package/docs/plans/tui-viewer-implementation-plan.md +64 -0
- package/docs/run-bundles.md +359 -55
- package/docs/session-event-journal.md +470 -0
- package/docs/tui-viewer.md +218 -0
- package/docs/workflows.md +131 -11
- package/examples/controllers/pull-request.controller.ts +215 -0
- package/package.json +11 -2
- package/src/builtins/monitor.workflow.ts +278 -0
- package/src/controllers/conditions.ts +110 -0
- package/src/controllers/definition.ts +65 -0
- package/src/controllers/effects.ts +123 -0
- package/src/controllers/errors.ts +27 -0
- package/src/controllers/index.ts +90 -0
- package/src/controllers/json.ts +62 -0
- package/src/controllers/loader.ts +104 -0
- package/src/controllers/manager.ts +533 -0
- package/src/controllers/results.ts +46 -0
- package/src/controllers/sqlite.ts +1427 -0
- package/src/controllers/store.ts +160 -0
- package/src/controllers/types.ts +183 -0
- package/src/controllers/workflow-engine-scheduler.ts +145 -0
- package/src/controllers/workflows.ts +152 -0
- package/src/extension/controller-host.ts +163 -0
- package/src/extension/executor.ts +29 -2
- package/src/extension/index.ts +1315 -109
- package/src/extension/recorder.ts +662 -0
- package/src/extension/session-events.ts +119 -0
- package/src/extension/widget.ts +26 -24
- package/src/extension/workflow-tool.ts +59 -0
- package/src/host/processes.ts +119 -0
- package/src/host/rpc-bridge.ts +44 -0
- package/src/host/rpc-executor.ts +299 -0
- package/src/host/runner.ts +406 -0
- package/src/render/canvas.ts +19 -1
- package/src/render/graph-render.ts +277 -44
- package/src/viewer/cli.ts +167 -21
- package/src/viewer/render.ts +21 -3
- package/src/viewer/session-reducer.ts +347 -0
- package/src/workflows/artifacts.ts +188 -0
- package/src/workflows/engine.ts +365 -19
- package/src/workflows/errors.ts +45 -0
- package/src/workflows/graph.ts +0 -5
- package/src/workflows/index.ts +15 -0
- package/src/workflows/loader.ts +13 -3
- package/src/workflows/schema.ts +1 -1
- package/src/workflows/store.ts +1157 -48
- package/src/workflows/types.ts +151 -3
package/dist/viewer/cli.d.ts
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
type CliArgs = {
|
|
2
|
+
export type CliArgs = {
|
|
3
3
|
command: string;
|
|
4
|
-
runId?: string
|
|
4
|
+
runId?: string;
|
|
5
|
+
controllerName?: string;
|
|
6
|
+
resourceKey?: string;
|
|
5
7
|
dir: string;
|
|
8
|
+
controllerDir: string;
|
|
6
9
|
once: boolean;
|
|
10
|
+
project?: string | undefined;
|
|
11
|
+
piArgs?: string[] | undefined;
|
|
7
12
|
};
|
|
8
13
|
export declare function parseCliArgs(argv: string[]): CliArgs;
|
|
9
14
|
export declare function main(argv?: string[]): Promise<number>;
|
|
10
|
-
export {};
|
package/dist/viewer/cli.js
CHANGED
|
@@ -1,53 +1,97 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { realpathSync } from "node:fs";
|
|
2
|
+
import fs, { realpathSync } from "node:fs";
|
|
3
|
+
import path from "node:path";
|
|
3
4
|
import { pathToFileURL } from "node:url";
|
|
5
|
+
import { SqliteControllerStore } from "../controllers/sqlite.js";
|
|
6
|
+
import { projectControllerStoreBaseDir } from "../controllers/store.js";
|
|
4
7
|
import { sanitizeText } from "../render/ansi.js";
|
|
5
8
|
import { listRunBundles, readRunBundle, workflowRunsBaseDir } from "../workflows/store.js";
|
|
6
9
|
import { formatDuration, renderRunDetailLines, renderRunListLines, runElapsedMs, statusLabel, } from "./render.js";
|
|
7
10
|
import { runViewer } from "./tui.js";
|
|
8
|
-
const USAGE = `pi-workflows —
|
|
11
|
+
const USAGE = `pi-workflows — workflow runs and controller resources
|
|
9
12
|
|
|
10
13
|
Usage:
|
|
11
14
|
pi-workflows view [runId] [--dir <runsDir>] [--once]
|
|
12
15
|
pi-workflows runs [--dir <runsDir>]
|
|
16
|
+
pi-workflows controllers [--controller-dir <dir>]
|
|
17
|
+
pi-workflows controller <controller> <key> [--controller-dir <dir>]
|
|
18
|
+
pi-workflows host [--project <dir>] [-- <extra pi args>]
|
|
13
19
|
|
|
14
20
|
Commands:
|
|
15
|
-
view
|
|
16
|
-
runs
|
|
21
|
+
view Open the live workflow TUI. With --once, print a snapshot.
|
|
22
|
+
runs List recent workflow runs.
|
|
23
|
+
controllers List durable controller resources.
|
|
24
|
+
controller Show one resource, its effects, child workflows, and events.
|
|
25
|
+
host Run the always-on workflow host in the foreground.
|
|
17
26
|
|
|
18
27
|
Options:
|
|
19
|
-
--dir <runsDir>
|
|
20
|
-
--
|
|
28
|
+
--dir <runsDir> Runs directory (default: ~/.pi/agent/workflows/runs)
|
|
29
|
+
--controller-dir <dir> Controller directory (default: project-scoped local store)
|
|
30
|
+
--once Render once without the interactive TUI
|
|
31
|
+
--project <dir> Project directory for the host (default: cwd)
|
|
21
32
|
`;
|
|
22
33
|
export function parseCliArgs(argv) {
|
|
23
34
|
const args = [...argv];
|
|
24
35
|
const command = args[0] && !args[0].startsWith("-") ? args.shift() : "view";
|
|
25
36
|
let dir = workflowRunsBaseDir();
|
|
37
|
+
let controllerDir = projectControllerStoreBaseDir(process.cwd());
|
|
26
38
|
let once = false;
|
|
27
|
-
|
|
39
|
+
const positionals = [];
|
|
40
|
+
let project;
|
|
41
|
+
const piArgs = [];
|
|
28
42
|
while (args.length > 0) {
|
|
29
43
|
const arg = args.shift();
|
|
30
44
|
if (arg === "--dir") {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
45
|
+
dir = requiredValue(args, "--dir");
|
|
46
|
+
}
|
|
47
|
+
else if (arg === "--controller-dir") {
|
|
48
|
+
controllerDir = requiredValue(args, "--controller-dir");
|
|
49
|
+
}
|
|
50
|
+
else if (arg === "--project") {
|
|
51
|
+
project = requiredValue(args, "--project");
|
|
36
52
|
}
|
|
37
53
|
else if (arg === "--once") {
|
|
38
54
|
once = true;
|
|
39
55
|
}
|
|
40
56
|
else if (arg === "--help" || arg === "-h") {
|
|
41
|
-
return { command: "help", dir, once };
|
|
57
|
+
return { command: "help", dir, controllerDir, once };
|
|
42
58
|
}
|
|
43
|
-
else if (
|
|
44
|
-
|
|
59
|
+
else if (arg === "--") {
|
|
60
|
+
piArgs.push(...args.splice(0));
|
|
45
61
|
}
|
|
46
|
-
else {
|
|
62
|
+
else if (arg.startsWith("-")) {
|
|
47
63
|
throw new Error(`Unknown argument: ${arg}`);
|
|
48
64
|
}
|
|
65
|
+
else {
|
|
66
|
+
positionals.push(arg);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
if (command === "host") {
|
|
70
|
+
return { command, dir, controllerDir, once, project, piArgs };
|
|
71
|
+
}
|
|
72
|
+
if (command === "controller") {
|
|
73
|
+
if (positionals.length !== 2) {
|
|
74
|
+
throw new Error("controller requires <controller> and <key>");
|
|
75
|
+
}
|
|
76
|
+
return {
|
|
77
|
+
command,
|
|
78
|
+
controllerName: positionals[0],
|
|
79
|
+
resourceKey: positionals[1],
|
|
80
|
+
dir,
|
|
81
|
+
controllerDir,
|
|
82
|
+
once,
|
|
83
|
+
};
|
|
49
84
|
}
|
|
50
|
-
|
|
85
|
+
if (positionals.length > 1) {
|
|
86
|
+
throw new Error(`Unexpected argument: ${positionals[1]}`);
|
|
87
|
+
}
|
|
88
|
+
return {
|
|
89
|
+
command,
|
|
90
|
+
...(positionals[0] !== undefined ? { runId: positionals[0] } : {}),
|
|
91
|
+
dir,
|
|
92
|
+
controllerDir,
|
|
93
|
+
once,
|
|
94
|
+
};
|
|
51
95
|
}
|
|
52
96
|
async function printRuns(dir) {
|
|
53
97
|
const bundles = await listRunBundles(dir);
|
|
@@ -57,7 +101,6 @@ async function printRuns(dir) {
|
|
|
57
101
|
}
|
|
58
102
|
for (const bundle of bundles) {
|
|
59
103
|
const state = bundle.state;
|
|
60
|
-
// Titles can interpolate untrusted run input; strip control sequences.
|
|
61
104
|
const title = state.runTitle ? ` — ${sanitizeText(state.runTitle)}` : "";
|
|
62
105
|
process.stdout.write(`${statusLabel(state.status)} ${sanitizeText(state.workflowName)}${title} ${state.runId} ${formatDuration(runElapsedMs(state))}\n`);
|
|
63
106
|
}
|
|
@@ -79,6 +122,53 @@ async function printOnce(dir, runId) {
|
|
|
79
122
|
}
|
|
80
123
|
process.stdout.write(`${renderRunDetailLines(bundle, size).join("\n")}\n`);
|
|
81
124
|
}
|
|
125
|
+
function printControllers(controllerDir) {
|
|
126
|
+
const store = openControllerStore(controllerDir);
|
|
127
|
+
if (store === undefined) {
|
|
128
|
+
process.stdout.write(`No controller resources found in ${controllerDir}\n`);
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
try {
|
|
132
|
+
const resources = store.listResources();
|
|
133
|
+
if (resources.length === 0) {
|
|
134
|
+
process.stdout.write(`No controller resources found in ${controllerDir}\n`);
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
for (const resource of resources) {
|
|
138
|
+
const condition = resource.status.conditions.find((item) => item.type === "Ready") ??
|
|
139
|
+
resource.status.conditions[0];
|
|
140
|
+
const conditionText = condition === undefined
|
|
141
|
+
? "unknown"
|
|
142
|
+
: `${String(condition.status)}:${sanitizeText(condition.reason)}`;
|
|
143
|
+
process.stdout.write(`${sanitizeText(resource.metadata.controller)} ${sanitizeText(resource.metadata.key)} generation=${resource.metadata.generation} ready=${conditionText}\n`);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
finally {
|
|
147
|
+
store.close();
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
function printController(controllerDir, controller, key) {
|
|
151
|
+
const store = openControllerStore(controllerDir);
|
|
152
|
+
if (store === undefined) {
|
|
153
|
+
throw new Error(`Controller store not found in ${controllerDir}`);
|
|
154
|
+
}
|
|
155
|
+
try {
|
|
156
|
+
const resource = store.getResource({ controller, key });
|
|
157
|
+
if (resource === undefined) {
|
|
158
|
+
throw new Error(`Controller resource not found: ${controller}/${key}`);
|
|
159
|
+
}
|
|
160
|
+
const value = {
|
|
161
|
+
resource,
|
|
162
|
+
effects: store.listEffects(resource.metadata.uid),
|
|
163
|
+
workflows: store.listWorkflows(resource.metadata.uid),
|
|
164
|
+
events: store.listEvents({ controller, key, limit: 50 }),
|
|
165
|
+
};
|
|
166
|
+
process.stdout.write(`${JSON.stringify(value, null, 2)}\n`);
|
|
167
|
+
}
|
|
168
|
+
finally {
|
|
169
|
+
store.close();
|
|
170
|
+
}
|
|
171
|
+
}
|
|
82
172
|
export async function main(argv = process.argv.slice(2)) {
|
|
83
173
|
let args;
|
|
84
174
|
try {
|
|
@@ -97,6 +187,17 @@ export async function main(argv = process.argv.slice(2)) {
|
|
|
97
187
|
await printRuns(args.dir);
|
|
98
188
|
return 0;
|
|
99
189
|
}
|
|
190
|
+
if (args.command === "controllers") {
|
|
191
|
+
printControllers(args.controllerDir);
|
|
192
|
+
return 0;
|
|
193
|
+
}
|
|
194
|
+
if (args.command === "controller") {
|
|
195
|
+
printController(args.controllerDir, args.controllerName, args.resourceKey);
|
|
196
|
+
return 0;
|
|
197
|
+
}
|
|
198
|
+
if (args.command === "host") {
|
|
199
|
+
return await runHost(args.project ?? process.cwd(), args.piArgs);
|
|
200
|
+
}
|
|
100
201
|
if (args.command === "view") {
|
|
101
202
|
if (args.once || !process.stdout.isTTY) {
|
|
102
203
|
await printOnce(args.dir, args.runId);
|
|
@@ -113,8 +214,38 @@ export async function main(argv = process.argv.slice(2)) {
|
|
|
113
214
|
return 1;
|
|
114
215
|
}
|
|
115
216
|
}
|
|
217
|
+
async function runHost(project, piArgs) {
|
|
218
|
+
const { WorkflowHost } = await import("../host/runner.js");
|
|
219
|
+
const host = new WorkflowHost({
|
|
220
|
+
cwd: project,
|
|
221
|
+
piArgs: piArgs ?? [],
|
|
222
|
+
onLog: (message) => process.stdout.write(`[host] ${message}\n`),
|
|
223
|
+
});
|
|
224
|
+
await host.start();
|
|
225
|
+
await new Promise((resolve) => {
|
|
226
|
+
const shutdown = () => {
|
|
227
|
+
void host.stop().then(() => resolve());
|
|
228
|
+
};
|
|
229
|
+
process.once("SIGTERM", shutdown);
|
|
230
|
+
process.once("SIGINT", shutdown);
|
|
231
|
+
});
|
|
232
|
+
return 0;
|
|
233
|
+
}
|
|
234
|
+
function openControllerStore(controllerDir) {
|
|
235
|
+
const file = path.join(controllerDir, "controller.sqlite");
|
|
236
|
+
if (!fs.existsSync(file)) {
|
|
237
|
+
return undefined;
|
|
238
|
+
}
|
|
239
|
+
return new SqliteControllerStore(file, { readOnly: true });
|
|
240
|
+
}
|
|
241
|
+
function requiredValue(args, option) {
|
|
242
|
+
const value = args.shift();
|
|
243
|
+
if (!value) {
|
|
244
|
+
throw new Error(`${option} requires a path`);
|
|
245
|
+
}
|
|
246
|
+
return value;
|
|
247
|
+
}
|
|
116
248
|
const entryPath = process.argv[1];
|
|
117
|
-
// realpath so invocation through a bin symlink (npm link) still matches.
|
|
118
249
|
const resolvedEntry = entryPath !== undefined ? realpathSyncSafe(entryPath) : undefined;
|
|
119
250
|
if (resolvedEntry !== undefined && import.meta.url === pathToFileURL(resolvedEntry).href) {
|
|
120
251
|
main().then((code) => {
|
package/dist/viewer/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/viewer/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/viewer/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/viewer/render.js
CHANGED
|
@@ -1,7 +1,22 @@
|
|
|
1
1
|
import { ansi, fitWidth, sanitizeText } from "../render/ansi.js";
|
|
2
2
|
import { formatDuration, runElapsedMs } from "../render/format.js";
|
|
3
3
|
import { renderGraphLines } from "../render/graph-render.js";
|
|
4
|
+
import { decodeValueWith } from "../workflows/artifacts.js";
|
|
4
5
|
export { formatDuration, runElapsedMs };
|
|
6
|
+
/**
|
|
7
|
+
* Replace `$artifact` references with a compact placeholder for display. The
|
|
8
|
+
* terminal viewer shows summaries; full artifact contents are for replay
|
|
9
|
+
* tooling.
|
|
10
|
+
*/
|
|
11
|
+
function withArtifactPlaceholders(value) {
|
|
12
|
+
return decodeValueWith(value, (ref) => `«artifact ${formatBytes(ref.bytes)} ${ref.path}»`);
|
|
13
|
+
}
|
|
14
|
+
function formatBytes(bytes) {
|
|
15
|
+
if (bytes < 1024) {
|
|
16
|
+
return `${bytes}B`;
|
|
17
|
+
}
|
|
18
|
+
return `${(bytes / 1024).toFixed(1)}KB`;
|
|
19
|
+
}
|
|
5
20
|
const STATUS_COLORS = {
|
|
6
21
|
running: ansi.cyan,
|
|
7
22
|
waiting: ansi.yellow,
|
|
@@ -13,10 +28,11 @@ const STATUS_COLORS = {
|
|
|
13
28
|
export function statusLabel(status) {
|
|
14
29
|
return STATUS_COLORS[status](status);
|
|
15
30
|
}
|
|
16
|
-
function previewValue(
|
|
17
|
-
if (
|
|
31
|
+
function previewValue(rawValue, maxLength) {
|
|
32
|
+
if (rawValue === undefined) {
|
|
18
33
|
return "";
|
|
19
34
|
}
|
|
35
|
+
const value = withArtifactPlaceholders(rawValue);
|
|
20
36
|
const text = typeof value === "string" ? value : JSON.stringify(value);
|
|
21
37
|
// Model-controlled values must not carry escape sequences into the terminal.
|
|
22
38
|
const singleLine = sanitizeText(text ?? "")
|
|
@@ -83,7 +99,7 @@ function nodeStatusLine(bundle, nodeId, width, now) {
|
|
|
83
99
|
/** Pretty-printed JSON body of the selected step for the inspector pane. */
|
|
84
100
|
function inspectorLines(step, width) {
|
|
85
101
|
const lines = [];
|
|
86
|
-
const body = step.error !== undefined ? step.error : step.output;
|
|
102
|
+
const body = step.error !== undefined ? step.error : withArtifactPlaceholders(step.output);
|
|
87
103
|
const rendered = typeof body === "string" && step.error !== undefined ? body : JSON.stringify(body, null, 2);
|
|
88
104
|
for (const raw of (rendered ?? "null").split("\n")) {
|
|
89
105
|
lines.push(fitWidth(` ${sanitizeText(raw)}`, width));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/viewer/render.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/viewer/render.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { WorkflowSessionEntryRecord, WorkflowSessionEventRecord } from "../workflows/types.js";
|
|
2
|
+
export type TemporalContentBlock = {
|
|
3
|
+
contentIndex: number;
|
|
4
|
+
kind: "text" | "thinking" | "toolCall";
|
|
5
|
+
text: string;
|
|
6
|
+
value?: unknown;
|
|
7
|
+
};
|
|
8
|
+
export type TemporalMessage = {
|
|
9
|
+
messageId: string;
|
|
10
|
+
role: string;
|
|
11
|
+
status: "streaming" | "finished" | "error" | "settled" | "unsettled";
|
|
12
|
+
entryId?: string;
|
|
13
|
+
blocks: TemporalContentBlock[];
|
|
14
|
+
};
|
|
15
|
+
export type TemporalTool = {
|
|
16
|
+
toolCallId: string;
|
|
17
|
+
messageId: string;
|
|
18
|
+
toolName: string;
|
|
19
|
+
status: "running" | "finished" | "failed";
|
|
20
|
+
updates: number;
|
|
21
|
+
args?: unknown;
|
|
22
|
+
result?: unknown;
|
|
23
|
+
};
|
|
24
|
+
export type TemporalSessionState = {
|
|
25
|
+
throughSeq: number;
|
|
26
|
+
messages: TemporalMessage[];
|
|
27
|
+
tools: TemporalTool[];
|
|
28
|
+
settledEntryIds: string[];
|
|
29
|
+
diagnostics: string[];
|
|
30
|
+
};
|
|
31
|
+
/** Fold the durable semantic journal through one sequence position. */
|
|
32
|
+
export declare function reduceSessionEvents(entries: WorkflowSessionEntryRecord[], events: WorkflowSessionEventRecord[], throughSeq?: number): TemporalSessionState;
|
|
33
|
+
/**
|
|
34
|
+
* In-memory seek index. Checkpoints are viewer-only cache state and are never
|
|
35
|
+
* persisted into a run bundle.
|
|
36
|
+
*/
|
|
37
|
+
export declare class SessionReplayIndex {
|
|
38
|
+
private readonly entries;
|
|
39
|
+
private readonly events;
|
|
40
|
+
private readonly checkpoints;
|
|
41
|
+
private readonly timestamps;
|
|
42
|
+
constructor(entries: WorkflowSessionEntryRecord[], events: WorkflowSessionEventRecord[], checkpointInterval?: number);
|
|
43
|
+
stateAtSeq(throughSeq: number): TemporalSessionState;
|
|
44
|
+
seqAtOrBefore(timestampMs: number): number;
|
|
45
|
+
}
|