@osolmaz/pi-workflows 0.1.0 → 0.2.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 +36 -21
- package/dist/extension/executor.d.ts +14 -1
- package/dist/extension/executor.js +11 -1
- package/dist/extension/executor.js.map +1 -1
- package/dist/extension/index.js +79 -7
- package/dist/extension/index.js.map +1 -1
- package/dist/extension/recorder.d.ts +85 -0
- package/dist/extension/recorder.js +525 -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/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/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 +2 -0
- package/dist/workflows/engine.js +38 -7
- package/dist/workflows/engine.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/store.d.ts +53 -9
- package/dist/workflows/store.js +523 -43
- package/dist/workflows/store.js.map +1 -1
- package/dist/workflows/types.d.ts +126 -3
- package/docs/development.md +43 -19
- package/docs/live-replay-protocol.md +155 -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 +320 -55
- package/docs/session-event-journal.md +470 -0
- package/docs/tui-viewer.md +218 -0
- package/package.json +2 -1
- package/src/extension/executor.ts +28 -1
- package/src/extension/index.ts +87 -7
- package/src/extension/recorder.ts +633 -0
- package/src/extension/session-events.ts +119 -0
- package/src/extension/widget.ts +26 -24
- package/src/render/canvas.ts +19 -1
- package/src/render/graph-render.ts +277 -44
- 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 +39 -7
- package/src/workflows/index.ts +15 -0
- package/src/workflows/store.ts +649 -49
- package/src/workflows/types.ts +141 -3
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
export type PublicAssistantMessageEvent = {
|
|
2
|
+
type: "start";
|
|
3
|
+
partial: unknown;
|
|
4
|
+
} | {
|
|
5
|
+
type: "text_start";
|
|
6
|
+
contentIndex: number;
|
|
7
|
+
partial: unknown;
|
|
8
|
+
} | {
|
|
9
|
+
type: "text_delta";
|
|
10
|
+
contentIndex: number;
|
|
11
|
+
delta: string;
|
|
12
|
+
partial: unknown;
|
|
13
|
+
} | {
|
|
14
|
+
type: "text_end";
|
|
15
|
+
contentIndex: number;
|
|
16
|
+
content: string;
|
|
17
|
+
partial: unknown;
|
|
18
|
+
} | {
|
|
19
|
+
type: "thinking_start";
|
|
20
|
+
contentIndex: number;
|
|
21
|
+
partial: unknown;
|
|
22
|
+
} | {
|
|
23
|
+
type: "thinking_delta";
|
|
24
|
+
contentIndex: number;
|
|
25
|
+
delta: string;
|
|
26
|
+
partial: unknown;
|
|
27
|
+
} | {
|
|
28
|
+
type: "thinking_end";
|
|
29
|
+
contentIndex: number;
|
|
30
|
+
content: string;
|
|
31
|
+
partial: unknown;
|
|
32
|
+
} | {
|
|
33
|
+
type: "toolcall_start";
|
|
34
|
+
contentIndex: number;
|
|
35
|
+
partial: unknown;
|
|
36
|
+
} | {
|
|
37
|
+
type: "toolcall_delta";
|
|
38
|
+
contentIndex: number;
|
|
39
|
+
delta: string;
|
|
40
|
+
partial: unknown;
|
|
41
|
+
} | {
|
|
42
|
+
type: "toolcall_end";
|
|
43
|
+
contentIndex: number;
|
|
44
|
+
toolCall: unknown;
|
|
45
|
+
partial: unknown;
|
|
46
|
+
} | {
|
|
47
|
+
type: "done";
|
|
48
|
+
reason: "stop" | "length" | "toolUse";
|
|
49
|
+
message: unknown;
|
|
50
|
+
} | {
|
|
51
|
+
type: "error";
|
|
52
|
+
reason: "aborted" | "error";
|
|
53
|
+
error: unknown;
|
|
54
|
+
};
|
|
55
|
+
export type TurnStartEventLike = {
|
|
56
|
+
turnIndex: number;
|
|
57
|
+
};
|
|
58
|
+
export type TurnEndEventLike = {
|
|
59
|
+
turnIndex: number;
|
|
60
|
+
message: unknown;
|
|
61
|
+
};
|
|
62
|
+
export type MessageStartEventLike = {
|
|
63
|
+
message: unknown;
|
|
64
|
+
};
|
|
65
|
+
export type MessageUpdateEventLike = {
|
|
66
|
+
message: unknown;
|
|
67
|
+
assistantMessageEvent: PublicAssistantMessageEvent;
|
|
68
|
+
};
|
|
69
|
+
export type MessageEndEventLike = {
|
|
70
|
+
message: unknown;
|
|
71
|
+
};
|
|
72
|
+
export type ToolExecutionStartEventLike = {
|
|
73
|
+
toolCallId: string;
|
|
74
|
+
toolName: string;
|
|
75
|
+
args: unknown;
|
|
76
|
+
};
|
|
77
|
+
export type ToolExecutionUpdateEventLike = {
|
|
78
|
+
toolCallId: string;
|
|
79
|
+
};
|
|
80
|
+
export type ToolExecutionEndEventLike = {
|
|
81
|
+
toolCallId: string;
|
|
82
|
+
toolName: string;
|
|
83
|
+
result: unknown;
|
|
84
|
+
isError: boolean;
|
|
85
|
+
};
|
|
86
|
+
export type NormalizedAssistantEvent = {
|
|
87
|
+
type: "start";
|
|
88
|
+
} | {
|
|
89
|
+
type: "text_start";
|
|
90
|
+
contentIndex: number;
|
|
91
|
+
} | {
|
|
92
|
+
type: "text_delta";
|
|
93
|
+
contentIndex: number;
|
|
94
|
+
delta: string;
|
|
95
|
+
} | {
|
|
96
|
+
type: "text_end";
|
|
97
|
+
contentIndex: number;
|
|
98
|
+
content: string;
|
|
99
|
+
} | {
|
|
100
|
+
type: "thinking_start";
|
|
101
|
+
contentIndex: number;
|
|
102
|
+
} | {
|
|
103
|
+
type: "thinking_delta";
|
|
104
|
+
contentIndex: number;
|
|
105
|
+
delta: string;
|
|
106
|
+
} | {
|
|
107
|
+
type: "thinking_end";
|
|
108
|
+
contentIndex: number;
|
|
109
|
+
content: string;
|
|
110
|
+
} | {
|
|
111
|
+
type: "toolcall_start";
|
|
112
|
+
contentIndex: number;
|
|
113
|
+
} | {
|
|
114
|
+
type: "toolcall_delta";
|
|
115
|
+
contentIndex: number;
|
|
116
|
+
delta: string;
|
|
117
|
+
} | {
|
|
118
|
+
type: "toolcall_end";
|
|
119
|
+
contentIndex: number;
|
|
120
|
+
toolCall: unknown;
|
|
121
|
+
} | {
|
|
122
|
+
type: "done";
|
|
123
|
+
reason: "stop" | "length" | "toolUse";
|
|
124
|
+
} | {
|
|
125
|
+
type: "error";
|
|
126
|
+
reason: "aborted" | "error";
|
|
127
|
+
};
|
|
128
|
+
/** Remove cumulative snapshots while preserving every semantic stream event. */
|
|
129
|
+
export declare function normalizeAssistantEvent(event: PublicAssistantMessageEvent): NormalizedAssistantEvent;
|
|
130
|
+
export declare function messageRole(message: unknown): string;
|
|
131
|
+
export declare function toolCallIdFromAssistantEvent(event: NormalizedAssistantEvent): string | null;
|
|
132
|
+
export declare function toolStartedPayload(event: ToolExecutionStartEventLike): Record<string, unknown>;
|
|
133
|
+
export declare function toolFinishedPayload(event: ToolExecutionEndEventLike): Record<string, unknown>;
|
|
134
|
+
export declare function turnFinishedPayload(event: TurnEndEventLike, messageId: string | undefined, toolCallIds: string[]): Record<string, unknown>;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/** Remove cumulative snapshots while preserving every semantic stream event. */
|
|
2
|
+
export function normalizeAssistantEvent(event) {
|
|
3
|
+
switch (event.type) {
|
|
4
|
+
case "start":
|
|
5
|
+
return { type: event.type };
|
|
6
|
+
case "text_start":
|
|
7
|
+
case "thinking_start":
|
|
8
|
+
case "toolcall_start":
|
|
9
|
+
return { type: event.type, contentIndex: event.contentIndex };
|
|
10
|
+
case "text_delta":
|
|
11
|
+
case "thinking_delta":
|
|
12
|
+
case "toolcall_delta":
|
|
13
|
+
return { type: event.type, contentIndex: event.contentIndex, delta: event.delta };
|
|
14
|
+
case "text_end":
|
|
15
|
+
case "thinking_end":
|
|
16
|
+
return { type: event.type, contentIndex: event.contentIndex, content: event.content };
|
|
17
|
+
case "toolcall_end":
|
|
18
|
+
return {
|
|
19
|
+
type: event.type,
|
|
20
|
+
contentIndex: event.contentIndex,
|
|
21
|
+
toolCall: event.toolCall,
|
|
22
|
+
};
|
|
23
|
+
case "done":
|
|
24
|
+
return { type: event.type, reason: event.reason };
|
|
25
|
+
case "error":
|
|
26
|
+
return { type: event.type, reason: event.reason };
|
|
27
|
+
default: {
|
|
28
|
+
const exhaustive = event;
|
|
29
|
+
return exhaustive;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
export function messageRole(message) {
|
|
34
|
+
if (typeof message !== "object" || message === null || !("role" in message)) {
|
|
35
|
+
return "unknown";
|
|
36
|
+
}
|
|
37
|
+
const role = message.role;
|
|
38
|
+
return typeof role === "string" && role.length > 0 ? role : "unknown";
|
|
39
|
+
}
|
|
40
|
+
export function toolCallIdFromAssistantEvent(event) {
|
|
41
|
+
if (event.type !== "toolcall_end" || typeof event.toolCall !== "object" || !event.toolCall) {
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
const id = event.toolCall.id;
|
|
45
|
+
return typeof id === "string" && id.length > 0 ? id : null;
|
|
46
|
+
}
|
|
47
|
+
export function toolStartedPayload(event) {
|
|
48
|
+
return { toolName: event.toolName, args: event.args };
|
|
49
|
+
}
|
|
50
|
+
export function toolFinishedPayload(event) {
|
|
51
|
+
return { toolName: event.toolName, isError: event.isError, result: event.result };
|
|
52
|
+
}
|
|
53
|
+
export function turnFinishedPayload(event, messageId, toolCallIds) {
|
|
54
|
+
return {
|
|
55
|
+
turnIndex: event.turnIndex,
|
|
56
|
+
...(messageId === undefined ? {} : { messageId }),
|
|
57
|
+
toolCallIds,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=session-events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-events.js","sourceRoot":"","sources":["../../src/extension/session-events.ts"],"names":[],"mappings":"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"}
|
package/dist/extension/widget.js
CHANGED
|
@@ -81,16 +81,23 @@ export function buildWidgetLines(state, snapshot, now = new Date()) {
|
|
|
81
81
|
/** The graph row the window should center on: the active or waiting node. */
|
|
82
82
|
function focusLine(graph, state) {
|
|
83
83
|
const active = graph.findIndex((line) => stripAnsi(line).includes("◐"));
|
|
84
|
-
|
|
85
|
-
|
|
84
|
+
const focus = active !== -1
|
|
85
|
+
? active
|
|
86
|
+
: state.waitingOn
|
|
87
|
+
? graph.findIndex((line) => stripAnsi(line).includes(state.waitingOn))
|
|
88
|
+
: -1;
|
|
89
|
+
if (focus === -1) {
|
|
90
|
+
return graph.length - 1;
|
|
86
91
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
return waiting;
|
|
91
|
-
}
|
|
92
|
+
let top = focus;
|
|
93
|
+
while (top > 0 && !/[┌┏]/u.test(stripAnsi(graph[top] ?? ""))) {
|
|
94
|
+
top -= 1;
|
|
92
95
|
}
|
|
93
|
-
|
|
96
|
+
let bottom = focus;
|
|
97
|
+
while (bottom + 1 < graph.length && !/[└┗]/u.test(stripAnsi(graph[bottom] ?? ""))) {
|
|
98
|
+
bottom += 1;
|
|
99
|
+
}
|
|
100
|
+
return Math.floor((top + bottom) / 2);
|
|
94
101
|
}
|
|
95
102
|
/**
|
|
96
103
|
* Slice `lines` to at most `budget` rows, marking hidden rows at either end.
|
|
@@ -101,24 +108,18 @@ function windowLines(lines, budget, anchor, anchorIsStart) {
|
|
|
101
108
|
if (lines.length <= budget) {
|
|
102
109
|
return { lines, scroll: 0, maxScroll: 0 };
|
|
103
110
|
}
|
|
104
|
-
//
|
|
105
|
-
//
|
|
106
|
-
|
|
107
|
-
let inner = budget;
|
|
108
|
-
for (let pass = 0; pass < 2; pass += 1) {
|
|
109
|
-
const start = clampStart(anchor, inner, lines.length, anchorIsStart);
|
|
110
|
-
inner = budget - (start > 0 ? 1 : 0) - (start + inner < lines.length ? 1 : 0);
|
|
111
|
-
}
|
|
111
|
+
// Reserve one combined overflow row, leaving seven rows for a complete
|
|
112
|
+
// full card even when the widget also has an error footer.
|
|
113
|
+
const inner = Math.max(1, budget - 1);
|
|
112
114
|
const start = clampStart(anchor, inner, lines.length, anchorIsStart);
|
|
113
115
|
const end = start + inner;
|
|
114
|
-
const
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
}
|
|
116
|
+
const above = start;
|
|
117
|
+
const below = Math.max(0, lines.length - end);
|
|
118
|
+
const out = lines.slice(start, end);
|
|
119
|
+
const directions = [above > 0 ? `↑ ${above}` : "", below > 0 ? `↓ ${below}` : ""]
|
|
120
|
+
.filter(Boolean)
|
|
121
|
+
.join(" · ");
|
|
122
|
+
out.push(ansi.dim(`${directions} more · shift+↑/↓ scroll`));
|
|
122
123
|
return { lines: out, scroll: start, maxScroll: Math.max(0, lines.length - inner) };
|
|
123
124
|
}
|
|
124
125
|
function clampStart(anchor, inner, total, anchorIsStart) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widget.js","sourceRoot":"","sources":["../../src/extension/widget.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"widget.js","sourceRoot":"","sources":["../../src/extension/widget.ts"],"names":[],"mappings":"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"}
|
package/dist/render/canvas.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* characters merge by connectivity (│ crossing ─ becomes ┼) so overlapping
|
|
4
4
|
* edge polylines join instead of overwriting each other.
|
|
5
5
|
*/
|
|
6
|
-
export type CanvasStyle = "plain" | "dim" | "taken" | "active" | "back" | "ok" | "fail" | "warn";
|
|
6
|
+
export type CanvasStyle = "plain" | "dim" | "taken" | "active" | "back" | "ok" | "fail" | "warn" | "branch" | "agent" | "compute" | "action" | "checkpoint";
|
|
7
7
|
export declare const UP = 1;
|
|
8
8
|
export declare const DOWN = 2;
|
|
9
9
|
export declare const LEFT = 4;
|
package/dist/render/canvas.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../src/render/canvas.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../src/render/canvas.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,11 @@ export type GraphNodeStyle = "line" | "box";
|
|
|
15
15
|
export type GraphRenderOptions = {
|
|
16
16
|
nodeStyle?: GraphNodeStyle;
|
|
17
17
|
};
|
|
18
|
+
/** Canonical outer dimensions shared by every full card in this graph. */
|
|
19
|
+
export declare function graphCardSize(view: GraphView): {
|
|
20
|
+
width: number;
|
|
21
|
+
height: number;
|
|
22
|
+
};
|
|
18
23
|
/**
|
|
19
24
|
* Render the graph pane. `selectedStepIndex` scrubs the replay position;
|
|
20
25
|
* pass `steps.length - 1` (or larger) for the live view.
|