@osolmaz/pi-workflows 0.12.1 → 0.13.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 +52 -28
- package/dist/builtins/autodoc.workflow.d.ts +4 -4
- package/dist/builtins/autoimplement.workflow.d.ts +369 -73
- package/dist/builtins/autoplan.workflow.d.ts +126 -13
- package/dist/builtins/autoplan.workflow.js +200 -29
- package/dist/builtins/autoplan.workflow.js.map +1 -1
- package/dist/builtins/catalog.js +6 -4
- package/dist/builtins/catalog.js.map +1 -1
- package/dist/builtins/index.d.ts +2 -1
- package/dist/builtins/index.js +1 -0
- package/dist/builtins/index.js.map +1 -1
- package/dist/builtins/monitor.workflow.d.ts +56 -21
- package/dist/builtins/monitor.workflow.js +497 -216
- package/dist/builtins/monitor.workflow.js.map +1 -1
- package/dist/builtins/plain-summary.workflow.d.ts +32 -0
- package/dist/builtins/plain-summary.workflow.js +134 -0
- package/dist/builtins/plain-summary.workflow.js.map +1 -0
- package/dist/builtins/plan-change.workflow.d.ts +170 -22
- package/dist/builtins/sanity-check.workflow.d.ts +45 -3
- package/dist/builtins/sanity-check.workflow.js +45 -7
- package/dist/builtins/sanity-check.workflow.js.map +1 -1
- package/dist/controllers/effects.d.ts +3 -2
- package/dist/controllers/effects.js +8 -1
- package/dist/controllers/effects.js.map +1 -1
- package/dist/controllers/index.d.ts +1 -1
- package/dist/controllers/index.js +1 -1
- package/dist/controllers/index.js.map +1 -1
- package/dist/controllers/manager.d.ts +1 -0
- package/dist/controllers/manager.js +41 -17
- package/dist/controllers/manager.js.map +1 -1
- package/dist/controllers/sqlite.d.ts +107 -85
- package/dist/controllers/sqlite.js +1611 -1486
- package/dist/controllers/sqlite.js.map +1 -1
- package/dist/controllers/store.d.ts +9 -8
- package/dist/controllers/store.js +1 -31
- package/dist/controllers/store.js.map +1 -1
- package/dist/controllers/types.d.ts +3 -0
- package/dist/controllers/workflow-engine-scheduler.d.ts +1 -1
- package/dist/controllers/workflow-engine-scheduler.js +3 -5
- package/dist/controllers/workflow-engine-scheduler.js.map +1 -1
- package/dist/controllers/workflows.d.ts +2 -2
- package/dist/controllers/workflows.js +11 -10
- package/dist/controllers/workflows.js.map +1 -1
- package/dist/extension/controller-host.js +2 -2
- package/dist/extension/controller-host.js.map +1 -1
- package/dist/extension/decision-channels.d.ts +2 -0
- package/dist/extension/decision-channels.js +311 -118
- package/dist/extension/decision-channels.js.map +1 -1
- package/dist/extension/executor.d.ts +9 -2
- package/dist/extension/executor.js +89 -2
- package/dist/extension/executor.js.map +1 -1
- package/dist/extension/herdr-viewer.d.ts +0 -1
- package/dist/extension/herdr-viewer.js +0 -4
- package/dist/extension/herdr-viewer.js.map +1 -1
- package/dist/extension/index.js +156 -103
- package/dist/extension/index.js.map +1 -1
- package/dist/extension/recorder.d.ts +3 -10
- package/dist/extension/recorder.js +13 -22
- package/dist/extension/recorder.js.map +1 -1
- package/dist/extension/step-message.d.ts +7 -2
- package/dist/extension/step-message.js +94 -2
- package/dist/extension/step-message.js.map +1 -1
- package/dist/extension/widget.js +6 -0
- package/dist/extension/widget.js.map +1 -1
- package/dist/host/rpc-executor.d.ts +3 -0
- package/dist/host/rpc-executor.js +2 -0
- package/dist/host/rpc-executor.js.map +1 -1
- package/dist/host/runner.d.ts +3 -6
- package/dist/host/runner.js +83 -32
- package/dist/host/runner.js.map +1 -1
- package/dist/render/graph-render.js +14 -8
- package/dist/render/graph-render.js.map +1 -1
- package/dist/state/database.d.ts +35 -0
- package/dist/state/database.js +287 -0
- package/dist/state/database.js.map +1 -0
- package/dist/state/index.d.ts +4 -0
- package/dist/state/index.js +5 -0
- package/dist/state/index.js.map +1 -0
- package/dist/state/json.d.ts +6 -0
- package/dist/state/json.js +38 -0
- package/dist/state/json.js.map +1 -0
- package/dist/state/mutation.d.ts +57 -0
- package/dist/state/mutation.js +255 -0
- package/dist/state/mutation.js.map +1 -0
- package/dist/state/schema.d.ts +6 -0
- package/dist/state/schema.js +473 -0
- package/dist/state/schema.js.map +1 -0
- package/dist/viewer/cli.d.ts +2 -2
- package/dist/viewer/cli.js +142 -122
- package/dist/viewer/cli.js.map +1 -1
- package/dist/viewer/render.d.ts +4 -4
- package/dist/viewer/render.js +2 -17
- package/dist/viewer/render.js.map +1 -1
- package/dist/viewer/session-reducer.d.ts +1 -1
- package/dist/viewer/session-reducer.js +1 -1
- package/dist/viewer/tui.d.ts +3 -3
- package/dist/viewer/tui.js +15 -13
- package/dist/viewer/tui.js.map +1 -1
- package/dist/viewer/watch.d.ts +2 -5
- package/dist/viewer/watch.js +13 -13
- package/dist/viewer/watch.js.map +1 -1
- package/dist/workflows/composition.js +12 -2
- package/dist/workflows/composition.js.map +1 -1
- package/dist/workflows/definition.d.ts +6 -2
- package/dist/workflows/definition.js +17 -0
- package/dist/workflows/definition.js.map +1 -1
- package/dist/workflows/engine.d.ts +6 -6
- package/dist/workflows/engine.js +183 -103
- package/dist/workflows/engine.js.map +1 -1
- package/dist/workflows/errors.d.ts +3 -3
- package/dist/workflows/errors.js +3 -3
- package/dist/workflows/human-decision.d.ts +29 -4
- package/dist/workflows/human-decision.js +547 -283
- package/dist/workflows/human-decision.js.map +1 -1
- package/dist/workflows/index.d.ts +4 -5
- package/dist/workflows/index.js +3 -4
- package/dist/workflows/index.js.map +1 -1
- package/dist/workflows/schema.js +17 -1
- package/dist/workflows/schema.js.map +1 -1
- package/dist/workflows/store.d.ts +83 -103
- package/dist/workflows/store.js +902 -951
- package/dist/workflows/store.js.map +1 -1
- package/dist/workflows/types.d.ts +55 -81
- package/docs/CONTROLLERS.md +10 -8
- package/docs/DEFERRED_TURNS.md +2 -2
- package/docs/DESIGN_PHILOSOPHY.md +4 -2
- package/docs/HUMAN_DECISIONS.md +13 -14
- package/docs/MONITOR.md +179 -231
- package/docs/SQLITE_STATE.md +219 -0
- package/docs/WORKFLOW_COMPOSITION.md +19 -19
- package/docs/WORKFLOW_STEP_MESSAGES.md +20 -18
- package/docs/WORKFLOW_UPDATES.md +10 -9
- package/docs/development.md +9 -9
- package/docs/live-replay-protocol.md +28 -37
- package/docs/plans/2026-08-16-workflow-updates-plan.md +1 -1
- package/docs/plans/2026-08-19-human-decision-gates-plan.md +1 -1
- package/docs/plans/2026-08-21-autoimplement-timeout-fallback-plan.md +1 -1
- package/docs/plans/2026-08-21-plan-change-approval-policy-plan.md +1 -1
- package/docs/plans/2026-08-21-sanity-check-plan.md +30 -16
- package/docs/plans/2026-08-22-goal-finishing-monitor-plan.md +200 -0
- package/docs/plans/2026-08-23-assistant-agent-completion-plan.md +701 -0
- package/docs/plans/2026-08-23-sqlite-state-plan.md +970 -0
- package/docs/plans/replayable-run-bundles-implementation-plan.md +2 -2
- package/docs/plans/session-event-replay-implementation-plan.md +1 -1
- package/docs/plans/tui-viewer-implementation-plan.md +1 -1
- package/docs/session-event-journal.md +63 -434
- package/docs/tui-viewer.md +13 -15
- package/docs/workflows.md +104 -50
- package/examples/workflows/plain-summary.workflow.ts +1 -0
- package/herdr-plugin.toml +1 -1
- package/package.json +1 -1
- package/plugins/herdr/viewer.mjs +1 -11
- package/skills/autoplan/SKILL.md +5 -4
- package/skills/monitor/SKILL.md +91 -163
- package/skills/pi-workflows/SKILL.md +7 -7
- package/skills/sanity-check/SKILL.md +1 -1
- package/src/builtins/autoplan.workflow.ts +290 -40
- package/src/builtins/catalog.ts +6 -4
- package/src/builtins/index.ts +7 -1
- package/src/builtins/monitor.workflow.ts +663 -249
- package/src/builtins/plain-summary.workflow.ts +185 -0
- package/src/builtins/sanity-check.workflow.ts +62 -7
- package/src/controllers/effects.ts +7 -0
- package/src/controllers/index.ts +0 -6
- package/src/controllers/manager.ts +72 -32
- package/src/controllers/sqlite.ts +2420 -1948
- package/src/controllers/store.ts +17 -38
- package/src/controllers/types.ts +3 -0
- package/src/controllers/workflow-engine-scheduler.ts +4 -8
- package/src/controllers/workflows.ts +45 -21
- package/src/extension/controller-host.ts +1 -2
- package/src/extension/decision-channels.ts +427 -144
- package/src/extension/executor.ts +105 -2
- package/src/extension/herdr-viewer.ts +0 -5
- package/src/extension/index.ts +180 -118
- package/src/extension/recorder.ts +13 -22
- package/src/extension/step-message.ts +106 -4
- package/src/extension/widget.ts +8 -0
- package/src/host/rpc-executor.ts +4 -0
- package/src/host/runner.ts +93 -41
- package/src/render/graph-render.ts +11 -4
- package/src/state/database.ts +375 -0
- package/src/state/index.ts +29 -0
- package/src/state/json.ts +42 -0
- package/src/state/mutation.ts +435 -0
- package/src/state/schema.ts +475 -0
- package/src/viewer/cli.ts +151 -144
- package/src/viewer/render.ts +12 -24
- package/src/viewer/session-reducer.ts +1 -1
- package/src/viewer/tui.ts +18 -17
- package/src/viewer/watch.ts +13 -17
- package/src/workflows/composition.ts +12 -3
- package/src/workflows/definition.ts +36 -3
- package/src/workflows/engine.ts +212 -116
- package/src/workflows/errors.ts +3 -3
- package/src/workflows/human-decision.ts +795 -340
- package/src/workflows/index.ts +15 -19
- package/src/workflows/schema.ts +19 -1
- package/src/workflows/store.ts +1295 -1163
- package/src/workflows/types.ts +61 -81
- package/dist/workflows/artifacts.d.ts +0 -40
- package/dist/workflows/artifacts.js +0 -155
- package/dist/workflows/artifacts.js.map +0 -1
- package/dist/workflows/migrate-sources.d.ts +0 -42
- package/dist/workflows/migrate-sources.js +0 -133
- package/dist/workflows/migrate-sources.js.map +0 -1
- package/docs/run-bundles.md +0 -481
- package/src/workflows/artifacts.ts +0 -188
- package/src/workflows/migrate-sources.ts +0 -178
package/src/workflows/index.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export {
|
|
2
2
|
agent,
|
|
3
|
+
assistantMessage,
|
|
3
4
|
action,
|
|
4
5
|
checkpoint,
|
|
5
6
|
compute,
|
|
@@ -38,7 +39,7 @@ export {
|
|
|
38
39
|
digest,
|
|
39
40
|
humanDecision,
|
|
40
41
|
humanDecisionEdge,
|
|
41
|
-
|
|
42
|
+
humanDecisionDatabasePath,
|
|
42
43
|
textInput,
|
|
43
44
|
validateHumanDecisionResponse,
|
|
44
45
|
validateHumanDecisionSubmission,
|
|
@@ -112,42 +113,37 @@ export {
|
|
|
112
113
|
validateWorkflowUpdate,
|
|
113
114
|
} from "./updates.js";
|
|
114
115
|
export { sanitizeText, stripAnsi } from "./text.js";
|
|
115
|
-
export {
|
|
116
|
-
ARTIFACT_THRESHOLD_BYTES,
|
|
117
|
-
ArtifactWriter,
|
|
118
|
-
decodeValueWith,
|
|
119
|
-
encodeValue,
|
|
120
|
-
isArtifactValue,
|
|
121
|
-
resolveArtifacts,
|
|
122
|
-
} from "./artifacts.js";
|
|
123
116
|
export {
|
|
124
117
|
DEFINITION_SNAPSHOT_SCHEMA,
|
|
125
|
-
RUN_BUNDLE_SCHEMA,
|
|
126
118
|
RUN_STATE_SCHEMA,
|
|
127
119
|
SESSION_BINDING_SCHEMA,
|
|
128
|
-
TRACE_EVENT_SCHEMA,
|
|
129
120
|
WorkflowRunStore,
|
|
130
121
|
createDefinitionSnapshot,
|
|
131
122
|
createRunId,
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
type
|
|
123
|
+
listWorkflowRuns,
|
|
124
|
+
readLastTraceEvent,
|
|
125
|
+
readWorkflowRun,
|
|
126
|
+
workflowStateDatabasePath,
|
|
127
|
+
type LoadedWorkflowRun,
|
|
128
|
+
type ReadWorkflowRunOptions,
|
|
129
|
+
type RunWriteAuthority,
|
|
137
130
|
} from "./store.js";
|
|
138
131
|
export type {
|
|
139
132
|
AcceptedHumanDecision,
|
|
140
133
|
DefaultedHumanDecision,
|
|
141
134
|
ResolvedHumanDecision,
|
|
142
135
|
AgentNodeDefinition,
|
|
136
|
+
AgentExpectedOutput,
|
|
137
|
+
AgentStepCompletion,
|
|
143
138
|
AgentStepContract,
|
|
139
|
+
AssistantAgentNodeDefinition,
|
|
140
|
+
AssistantMessageOutput,
|
|
141
|
+
AssistantMessageReceipt,
|
|
144
142
|
AgentStepExecutor,
|
|
145
143
|
AgentStepPresentation,
|
|
146
144
|
AgentStepRequest,
|
|
147
145
|
AgentStepSubmission,
|
|
148
146
|
ActionNodeDefinition,
|
|
149
|
-
ArtifactRef,
|
|
150
|
-
ArtifactValue,
|
|
151
147
|
CheckpointNodeDefinition,
|
|
152
148
|
ConversationRange,
|
|
153
149
|
ComputeNodeDefinition,
|
|
@@ -181,6 +177,7 @@ export type {
|
|
|
181
177
|
NotifyNodeDefinition,
|
|
182
178
|
ShellActionExecution,
|
|
183
179
|
ShellActionNodeDefinition,
|
|
180
|
+
SubmittedAgentNodeDefinition,
|
|
184
181
|
ShellActionResult,
|
|
185
182
|
WorkflowActionContext,
|
|
186
183
|
WorkflowActionReceipt,
|
|
@@ -210,7 +207,6 @@ export type {
|
|
|
210
207
|
WorkflowPresentationContext,
|
|
211
208
|
WorkflowProgressData,
|
|
212
209
|
WorkflowProgressStatus,
|
|
213
|
-
WorkflowRunManifest,
|
|
214
210
|
WorkflowRunResult,
|
|
215
211
|
WorkflowRunState,
|
|
216
212
|
WorkflowRunStatus,
|
package/src/workflows/schema.ts
CHANGED
|
@@ -51,7 +51,25 @@ export function assertValidAgentNode(node: AgentNodeDefinition, nodeId = "agent"
|
|
|
51
51
|
fail(`node ${nodeId} requires a prompt function`);
|
|
52
52
|
}
|
|
53
53
|
if (node.expectedOutput !== undefined && typeof node.expectedOutput !== "string") {
|
|
54
|
-
|
|
54
|
+
const output = node.expectedOutput as { kind?: unknown; maxChars?: unknown };
|
|
55
|
+
if (output === null || typeof output !== "object" || output.kind !== "assistant-message") {
|
|
56
|
+
fail(`node ${nodeId} expectedOutput must be a string or assistantMessage()`);
|
|
57
|
+
}
|
|
58
|
+
const unknown = Object.keys(output).filter((key) => key !== "kind" && key !== "maxChars");
|
|
59
|
+
if (unknown.length > 0) {
|
|
60
|
+
fail(`node ${nodeId} assistantMessage has unknown field ${JSON.stringify(unknown[0])}`);
|
|
61
|
+
}
|
|
62
|
+
if (
|
|
63
|
+
output.maxChars !== undefined &&
|
|
64
|
+
(typeof output.maxChars !== "number" ||
|
|
65
|
+
!Number.isInteger(output.maxChars) ||
|
|
66
|
+
output.maxChars <= 0)
|
|
67
|
+
) {
|
|
68
|
+
fail(`node ${nodeId} assistantMessage maxChars must be a positive integer`);
|
|
69
|
+
}
|
|
70
|
+
if (node.validate !== undefined) {
|
|
71
|
+
fail(`node ${nodeId} cannot use validate with assistantMessage()`);
|
|
72
|
+
}
|
|
55
73
|
}
|
|
56
74
|
assertOptionalFunction(node.validate, `node ${nodeId} validate`);
|
|
57
75
|
assertCommonNodeFields(node, nodeId);
|