@osolmaz/pi-workflows 0.12.0 → 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.
Files changed (257) hide show
  1. package/README.md +56 -31
  2. package/dist/builtins/autodoc.workflow.d.ts +4 -4
  3. package/dist/builtins/autoimplement.workflow.d.ts +797 -142
  4. package/dist/builtins/autoimplement.workflow.js +17 -105
  5. package/dist/builtins/autoimplement.workflow.js.map +1 -1
  6. package/dist/builtins/autoplan.workflow.d.ts +126 -13
  7. package/dist/builtins/autoplan.workflow.js +200 -29
  8. package/dist/builtins/autoplan.workflow.js.map +1 -1
  9. package/dist/builtins/catalog.js +7 -5
  10. package/dist/builtins/catalog.js.map +1 -1
  11. package/dist/builtins/index.d.ts +4 -2
  12. package/dist/builtins/index.js +3 -1
  13. package/dist/builtins/index.js.map +1 -1
  14. package/dist/builtins/monitor.workflow.d.ts +56 -23
  15. package/dist/builtins/monitor.workflow.js +508 -329
  16. package/dist/builtins/monitor.workflow.js.map +1 -1
  17. package/dist/builtins/pi-agent-group.d.ts +72 -0
  18. package/dist/builtins/pi-agent-group.js +1087 -0
  19. package/dist/builtins/pi-agent-group.js.map +1 -0
  20. package/dist/builtins/plain-summary.workflow.d.ts +32 -0
  21. package/dist/builtins/plain-summary.workflow.js +134 -0
  22. package/dist/builtins/plain-summary.workflow.js.map +1 -0
  23. package/dist/builtins/plan-approval.workflow.d.ts +39 -5
  24. package/dist/builtins/plan-approval.workflow.js +92 -14
  25. package/dist/builtins/plan-approval.workflow.js.map +1 -1
  26. package/dist/builtins/plan-change.workflow.d.ts +449 -0
  27. package/dist/builtins/plan-change.workflow.js +256 -0
  28. package/dist/builtins/plan-change.workflow.js.map +1 -0
  29. package/dist/builtins/plan-presentation.js +2 -2
  30. package/dist/builtins/plan-presentation.js.map +1 -1
  31. package/dist/builtins/sanity-check.workflow.d.ts +50 -6
  32. package/dist/builtins/sanity-check.workflow.js +150 -28
  33. package/dist/builtins/sanity-check.workflow.js.map +1 -1
  34. package/dist/controllers/effects.d.ts +3 -2
  35. package/dist/controllers/effects.js +8 -1
  36. package/dist/controllers/effects.js.map +1 -1
  37. package/dist/controllers/index.d.ts +1 -1
  38. package/dist/controllers/index.js +1 -1
  39. package/dist/controllers/index.js.map +1 -1
  40. package/dist/controllers/manager.d.ts +1 -0
  41. package/dist/controllers/manager.js +41 -17
  42. package/dist/controllers/manager.js.map +1 -1
  43. package/dist/controllers/sqlite.d.ts +107 -85
  44. package/dist/controllers/sqlite.js +1611 -1486
  45. package/dist/controllers/sqlite.js.map +1 -1
  46. package/dist/controllers/store.d.ts +9 -8
  47. package/dist/controllers/store.js +1 -31
  48. package/dist/controllers/store.js.map +1 -1
  49. package/dist/controllers/types.d.ts +3 -0
  50. package/dist/controllers/workflow-engine-scheduler.d.ts +1 -1
  51. package/dist/controllers/workflow-engine-scheduler.js +3 -5
  52. package/dist/controllers/workflow-engine-scheduler.js.map +1 -1
  53. package/dist/controllers/workflows.d.ts +2 -2
  54. package/dist/controllers/workflows.js +11 -10
  55. package/dist/controllers/workflows.js.map +1 -1
  56. package/dist/extension/controller-host.js +2 -2
  57. package/dist/extension/controller-host.js.map +1 -1
  58. package/dist/extension/decision-channels.d.ts +4 -2
  59. package/dist/extension/decision-channels.js +333 -146
  60. package/dist/extension/decision-channels.js.map +1 -1
  61. package/dist/extension/executor.d.ts +9 -2
  62. package/dist/extension/executor.js +89 -2
  63. package/dist/extension/executor.js.map +1 -1
  64. package/dist/extension/herdr-viewer.d.ts +0 -1
  65. package/dist/extension/herdr-viewer.js +0 -4
  66. package/dist/extension/herdr-viewer.js.map +1 -1
  67. package/dist/extension/index.js +209 -127
  68. package/dist/extension/index.js.map +1 -1
  69. package/dist/extension/recorder.d.ts +3 -10
  70. package/dist/extension/recorder.js +13 -22
  71. package/dist/extension/recorder.js.map +1 -1
  72. package/dist/extension/session-events.d.ts +2 -2
  73. package/dist/extension/step-message.d.ts +7 -2
  74. package/dist/extension/step-message.js +94 -2
  75. package/dist/extension/step-message.js.map +1 -1
  76. package/dist/extension/widget.js +29 -3
  77. package/dist/extension/widget.js.map +1 -1
  78. package/dist/host/rpc-executor.d.ts +3 -0
  79. package/dist/host/rpc-executor.js +2 -0
  80. package/dist/host/rpc-executor.js.map +1 -1
  81. package/dist/host/runner.d.ts +3 -6
  82. package/dist/host/runner.js +83 -32
  83. package/dist/host/runner.js.map +1 -1
  84. package/dist/render/graph-render.js +15 -10
  85. package/dist/render/graph-render.js.map +1 -1
  86. package/dist/state/database.d.ts +35 -0
  87. package/dist/state/database.js +287 -0
  88. package/dist/state/database.js.map +1 -0
  89. package/dist/state/index.d.ts +4 -0
  90. package/dist/state/index.js +5 -0
  91. package/dist/state/index.js.map +1 -0
  92. package/dist/state/json.d.ts +6 -0
  93. package/dist/state/json.js +38 -0
  94. package/dist/state/json.js.map +1 -0
  95. package/dist/state/mutation.d.ts +57 -0
  96. package/dist/state/mutation.js +255 -0
  97. package/dist/state/mutation.js.map +1 -0
  98. package/dist/state/schema.d.ts +6 -0
  99. package/dist/state/schema.js +473 -0
  100. package/dist/state/schema.js.map +1 -0
  101. package/dist/viewer/cli.d.ts +2 -2
  102. package/dist/viewer/cli.js +142 -122
  103. package/dist/viewer/cli.js.map +1 -1
  104. package/dist/viewer/render.d.ts +4 -4
  105. package/dist/viewer/render.js +9 -23
  106. package/dist/viewer/render.js.map +1 -1
  107. package/dist/viewer/session-reducer.d.ts +1 -1
  108. package/dist/viewer/session-reducer.js +1 -1
  109. package/dist/viewer/tui.d.ts +3 -3
  110. package/dist/viewer/tui.js +15 -13
  111. package/dist/viewer/tui.js.map +1 -1
  112. package/dist/viewer/watch.d.ts +2 -5
  113. package/dist/viewer/watch.js +13 -13
  114. package/dist/viewer/watch.js.map +1 -1
  115. package/dist/workflows/catalog.js +7 -2
  116. package/dist/workflows/catalog.js.map +1 -1
  117. package/dist/workflows/composition.js +20 -2
  118. package/dist/workflows/composition.js.map +1 -1
  119. package/dist/workflows/decision-presentation.d.ts +1 -1
  120. package/dist/workflows/decision-presentation.js +51 -38
  121. package/dist/workflows/decision-presentation.js.map +1 -1
  122. package/dist/workflows/definition.d.ts +6 -2
  123. package/dist/workflows/definition.js +17 -0
  124. package/dist/workflows/definition.js.map +1 -1
  125. package/dist/workflows/engine.d.ts +7 -7
  126. package/dist/workflows/engine.js +196 -115
  127. package/dist/workflows/engine.js.map +1 -1
  128. package/dist/workflows/errors.d.ts +16 -3
  129. package/dist/workflows/errors.js +18 -3
  130. package/dist/workflows/errors.js.map +1 -1
  131. package/dist/workflows/human-decision.d.ts +45 -8
  132. package/dist/workflows/human-decision.js +641 -274
  133. package/dist/workflows/human-decision.js.map +1 -1
  134. package/dist/workflows/index.d.ts +5 -6
  135. package/dist/workflows/index.js +4 -5
  136. package/dist/workflows/index.js.map +1 -1
  137. package/dist/workflows/progress.d.ts +1 -0
  138. package/dist/workflows/progress.js +15 -3
  139. package/dist/workflows/progress.js.map +1 -1
  140. package/dist/workflows/schema.js +27 -1
  141. package/dist/workflows/schema.js.map +1 -1
  142. package/dist/workflows/store.d.ts +83 -103
  143. package/dist/workflows/store.js +907 -951
  144. package/dist/workflows/store.js.map +1 -1
  145. package/dist/workflows/types.d.ts +88 -126
  146. package/docs/CONTROLLERS.md +10 -8
  147. package/docs/DEFERRED_TURNS.md +2 -2
  148. package/docs/DESIGN_PHILOSOPHY.md +4 -2
  149. package/docs/HUMAN_DECISIONS.md +36 -47
  150. package/docs/HUMAN_DECISION_PRESENTATIONS.md +14 -24
  151. package/docs/MONITOR.md +179 -237
  152. package/docs/SQLITE_STATE.md +219 -0
  153. package/docs/WORKFLOW_COMPOSITION.md +27 -26
  154. package/docs/WORKFLOW_STEP_MESSAGES.md +20 -18
  155. package/docs/WORKFLOW_UPDATES.md +10 -9
  156. package/docs/development.md +9 -9
  157. package/docs/live-replay-protocol.md +28 -37
  158. package/docs/plans/2026-08-16-workflow-updates-plan.md +1 -1
  159. package/docs/plans/2026-08-19-human-decision-gates-plan.md +1 -1
  160. package/docs/plans/2026-08-21-autoimplement-timeout-fallback-plan.md +1 -1
  161. package/docs/plans/2026-08-21-plan-change-approval-policy-plan.md +322 -0
  162. package/docs/plans/2026-08-21-sanity-check-plan.md +217 -95
  163. package/docs/plans/2026-08-22-goal-finishing-monitor-plan.md +200 -0
  164. package/docs/plans/2026-08-23-assistant-agent-completion-plan.md +701 -0
  165. package/docs/plans/2026-08-23-sqlite-state-plan.md +970 -0
  166. package/docs/plans/replayable-run-bundles-implementation-plan.md +2 -2
  167. package/docs/plans/session-event-replay-implementation-plan.md +1 -1
  168. package/docs/plans/tui-viewer-implementation-plan.md +1 -1
  169. package/docs/session-event-journal.md +63 -434
  170. package/docs/tui-viewer.md +13 -15
  171. package/docs/workflows.md +127 -53
  172. package/examples/workflows/approved-plan.workflow.ts +19 -46
  173. package/examples/workflows/plain-summary.workflow.ts +1 -0
  174. package/herdr-plugin.toml +1 -1
  175. package/package.json +7 -7
  176. package/plugins/herdr/viewer.mjs +1 -11
  177. package/schemas/human-decision-accepted-v1.schema.json +15 -3
  178. package/schemas/human-decision-continuation-v1.schema.json +10 -1
  179. package/schemas/human-decision-delivery-v1.schema.json +8 -0
  180. package/schemas/human-decision-receipt-v1.schema.json +8 -0
  181. package/schemas/human-decision-request-v1.schema.json +24 -4
  182. package/skills/autoimplement/SKILL.md +27 -0
  183. package/skills/autoplan/SKILL.md +5 -4
  184. package/skills/monitor/SKILL.md +91 -135
  185. package/skills/pi-workflows/SKILL.md +9 -8
  186. package/skills/sanity-check/SKILL.md +44 -0
  187. package/src/builtins/autoimplement.workflow.ts +19 -118
  188. package/src/builtins/autoplan.workflow.ts +290 -40
  189. package/src/builtins/catalog.ts +7 -5
  190. package/src/builtins/index.ts +18 -1
  191. package/src/builtins/monitor.workflow.ts +673 -382
  192. package/src/builtins/pi-agent-group.ts +1407 -0
  193. package/src/builtins/plain-summary.workflow.ts +185 -0
  194. package/src/builtins/plan-approval.workflow.ts +157 -24
  195. package/src/builtins/plan-change.workflow.ts +321 -0
  196. package/src/builtins/plan-presentation.ts +2 -2
  197. package/src/builtins/sanity-check.workflow.ts +248 -48
  198. package/src/controllers/effects.ts +7 -0
  199. package/src/controllers/index.ts +0 -6
  200. package/src/controllers/manager.ts +72 -32
  201. package/src/controllers/sqlite.ts +2420 -1948
  202. package/src/controllers/store.ts +17 -38
  203. package/src/controllers/types.ts +3 -0
  204. package/src/controllers/workflow-engine-scheduler.ts +4 -8
  205. package/src/controllers/workflows.ts +45 -21
  206. package/src/extension/controller-host.ts +1 -2
  207. package/src/extension/decision-channels.ts +456 -203
  208. package/src/extension/executor.ts +105 -2
  209. package/src/extension/herdr-viewer.ts +0 -5
  210. package/src/extension/index.ts +251 -151
  211. package/src/extension/recorder.ts +13 -22
  212. package/src/extension/session-events.ts +2 -2
  213. package/src/extension/step-message.ts +106 -4
  214. package/src/extension/widget.ts +32 -5
  215. package/src/host/rpc-executor.ts +4 -0
  216. package/src/host/runner.ts +93 -41
  217. package/src/render/graph-render.ts +12 -6
  218. package/src/state/database.ts +375 -0
  219. package/src/state/index.ts +29 -0
  220. package/src/state/json.ts +42 -0
  221. package/src/state/mutation.ts +435 -0
  222. package/src/state/schema.ts +475 -0
  223. package/src/viewer/cli.ts +151 -144
  224. package/src/viewer/render.ts +19 -30
  225. package/src/viewer/session-reducer.ts +1 -1
  226. package/src/viewer/tui.ts +18 -17
  227. package/src/viewer/watch.ts +13 -17
  228. package/src/workflows/catalog.ts +7 -2
  229. package/src/workflows/composition.ts +21 -3
  230. package/src/workflows/decision-presentation.ts +56 -43
  231. package/src/workflows/definition.ts +36 -3
  232. package/src/workflows/engine.ts +228 -130
  233. package/src/workflows/errors.ts +27 -3
  234. package/src/workflows/human-decision.ts +921 -349
  235. package/src/workflows/index.ts +20 -30
  236. package/src/workflows/progress.ts +18 -3
  237. package/src/workflows/schema.ts +36 -1
  238. package/src/workflows/store.ts +1300 -1163
  239. package/src/workflows/types.ts +100 -137
  240. package/dist/builtins/sanity-check-session.d.ts +0 -17
  241. package/dist/builtins/sanity-check-session.js +0 -168
  242. package/dist/builtins/sanity-check-session.js.map +0 -1
  243. package/dist/workflows/artifacts.d.ts +0 -40
  244. package/dist/workflows/artifacts.js +0 -155
  245. package/dist/workflows/artifacts.js.map +0 -1
  246. package/dist/workflows/migrate-sources.d.ts +0 -42
  247. package/dist/workflows/migrate-sources.js +0 -133
  248. package/dist/workflows/migrate-sources.js.map +0 -1
  249. package/docs/run-bundles.md +0 -481
  250. package/schemas/human-decision-accepted-v2.schema.json +0 -50
  251. package/schemas/human-decision-delivery-v2.schema.json +0 -36
  252. package/schemas/human-decision-receipt-v2.schema.json +0 -39
  253. package/schemas/human-decision-request-v2.schema.json +0 -69
  254. package/schemas/human-decision-resolution-v2.schema.json +0 -27
  255. package/src/builtins/sanity-check-session.ts +0 -205
  256. package/src/workflows/artifacts.ts +0 -188
  257. package/src/workflows/migrate-sources.ts +0 -178
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/workflows/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/workflows/store.ts"],"names":[],"mappings":"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"}
@@ -74,20 +74,29 @@ export type WorkflowEdge = {
74
74
  cases: Record<string, string>;
75
75
  };
76
76
  };
77
- /**
78
- * A model-shaped step. The engine sends the prompt into the pi conversation
79
- * and the model completes the step by calling the `workflow` tool with a JSON
80
- * output. `expectedOutput` is appended to the step contract so the model
81
- * knows what shape to submit. `validate` may reject (throw) or normalize the
82
- * submitted output; rejections are surfaced to the model so it can retry
83
- * within the same step.
84
- */
85
- export type AgentNodeDefinition = WorkflowNodeCommon & {
77
+ /** A visible assistant response used as the accepted agent-node output. */
78
+ export type AssistantMessageOutput = {
79
+ kind: "assistant-message";
80
+ /** Optional author-supplied character limit. Omission adds no workflow limit. */
81
+ maxChars?: number;
82
+ };
83
+ export type AgentExpectedOutput = string | AssistantMessageOutput;
84
+ type AgentNodeBase = WorkflowNodeCommon & {
86
85
  nodeType: "agent";
87
86
  prompt: (context: WorkflowNodeContext) => MaybePromise<string>;
87
+ };
88
+ /** The existing workflow-tool submission form. */
89
+ export type SubmittedAgentNodeDefinition = AgentNodeBase & {
88
90
  expectedOutput?: string;
89
91
  validate?: (output: unknown, context: WorkflowNodeContext) => MaybePromise<unknown>;
90
92
  };
93
+ /** A model turn whose normal visible assistant text becomes the node output. */
94
+ export type AssistantAgentNodeDefinition = AgentNodeBase & {
95
+ expectedOutput: AssistantMessageOutput;
96
+ validate?: never;
97
+ };
98
+ /** A model-shaped step with either submitted or visible assistant output. */
99
+ export type AgentNodeDefinition = SubmittedAgentNodeDefinition | AssistantAgentNodeDefinition;
91
100
  /** A pure local function: shape inputs, route, format, derive values. */
92
101
  export type ComputeNodeDefinition = WorkflowNodeCommon & {
93
102
  nodeType: "compute";
@@ -183,31 +192,26 @@ export type DecisionPresentation = {
183
192
  summary: string;
184
193
  blocks: DecisionPresentationBlock[];
185
194
  };
186
- export type LegacyHumanDecisionPrompt = {
187
- title: string;
188
- body: unknown;
189
- subject?: never;
190
- presentation?: never;
191
- revision?: never;
192
- /** Optional absolute expiry. An expired request cannot accept an answer. */
193
- expiresAt?: string;
194
- };
195
- export type PresentedHumanDecisionPrompt<TSubject = unknown> = {
195
+ export type HumanDecisionPrompt<TSubject = unknown> = {
196
196
  title: string;
197
197
  subject: TSubject;
198
198
  presentation: DecisionPresentation;
199
- body?: never;
200
199
  /** Positive revision of the decision subject and presentation. Defaults to 1. */
201
200
  revision?: number;
202
201
  /** Optional absolute expiry. An expired request cannot accept an answer. */
203
202
  expiresAt?: string;
204
203
  };
205
- export type HumanDecisionPrompt = LegacyHumanDecisionPrompt | PresentedHumanDecisionPrompt;
206
204
  export type HumanDecisionAudience = string | ((context: WorkflowNodeContext) => MaybePromise<string>);
205
+ export type HumanDecisionTimeout = {
206
+ afterMs: number;
207
+ response: HumanDecisionResponse;
208
+ };
209
+ export type HumanDecisionTimeoutPolicy = HumanDecisionTimeout | ((context: WorkflowNodeContext) => MaybePromise<HumanDecisionTimeout | undefined>);
207
210
  export type HumanDecisionNodeContract = {
208
211
  audience: HumanDecisionAudience;
209
212
  choices: HumanDecisionChoiceMap;
210
213
  request: (context: WorkflowNodeContext) => MaybePromise<HumanDecisionPrompt>;
214
+ onTimeout?: HumanDecisionTimeoutPolicy;
211
215
  };
212
216
  type HumanDecisionRequestCommon = {
213
217
  decisionId: string;
@@ -221,23 +225,19 @@ type HumanDecisionRequestCommon = {
221
225
  choices: HumanDecisionChoiceMap;
222
226
  createdAt: string;
223
227
  expiresAt?: string;
228
+ defaultResponse?: HumanDecisionResponse;
224
229
  };
225
- export type HumanDecisionRequestV1 = HumanDecisionRequestCommon & {
230
+ export type HumanDecisionRequest = HumanDecisionRequestCommon & {
226
231
  schema: "pi-workflows.human-decision-request.v1";
227
- body: unknown;
228
- };
229
- export type HumanDecisionRequestV2 = HumanDecisionRequestCommon & {
230
- schema: "pi-workflows.human-decision-request.v2";
231
232
  subject: unknown;
232
233
  presentation: DecisionPresentation;
233
234
  revision: number;
234
235
  subjectDigest: string;
235
236
  presentationDigest: string;
236
237
  };
237
- export type HumanDecisionRequest = HumanDecisionRequestV1 | HumanDecisionRequestV2;
238
238
  /**
239
239
  * Complete operator-facing request passed to a decision channel. It excludes
240
- * the canonical subject and legacy body by design.
240
+ * the canonical subject by design.
241
241
  */
242
242
  export type HumanDecisionChannelRequest = HumanDecisionRequestCommon & {
243
243
  schema: "pi-workflows.human-decision-channel-request.v1";
@@ -261,60 +261,55 @@ export type HumanDecisionSubmission = HumanDecisionResponse & {
261
261
  source: HumanDecisionAnswerSource;
262
262
  idempotencyKey: string;
263
263
  };
264
- type AcceptedHumanDecisionCommon = {
264
+ type ResolvedHumanDecisionCommon = {
265
265
  decisionId: string;
266
266
  requestDigest: string;
267
267
  response: HumanDecisionResponse;
268
- source: HumanDecisionAnswerSource;
269
- idempotencyKey: string;
268
+ provenance: "human" | "timeout";
270
269
  acceptedAt: string;
271
270
  answerDigest: string;
272
271
  };
273
- export type AcceptedHumanDecisionV1 = AcceptedHumanDecisionCommon & {
272
+ type AcceptedHumanDecisionCommon = ResolvedHumanDecisionCommon & {
273
+ provenance: "human";
274
+ source: HumanDecisionAnswerSource;
275
+ idempotencyKey: string;
276
+ };
277
+ type DefaultedHumanDecisionCommon = ResolvedHumanDecisionCommon & {
278
+ provenance: "timeout";
279
+ };
280
+ export type AcceptedHumanDecision = AcceptedHumanDecisionCommon & {
274
281
  schema: "pi-workflows.human-decision-accepted.v1";
282
+ subjectDigest: string;
283
+ presentationDigest: string;
284
+ revision: number;
275
285
  };
276
- export type AcceptedHumanDecisionV2 = AcceptedHumanDecisionCommon & {
277
- schema: "pi-workflows.human-decision-accepted.v2";
286
+ export type DefaultedHumanDecision = DefaultedHumanDecisionCommon & {
287
+ schema: "pi-workflows.human-decision-accepted.v1";
278
288
  subjectDigest: string;
279
289
  presentationDigest: string;
280
290
  revision: number;
281
291
  };
282
- export type AcceptedHumanDecision = AcceptedHumanDecisionV1 | AcceptedHumanDecisionV2;
292
+ export type ResolvedHumanDecision = AcceptedHumanDecision | DefaultedHumanDecision;
283
293
  type HumanDecisionReceiptCommon = {
284
294
  decisionId: string;
285
295
  requestDigest: string;
286
296
  nodeId: string;
287
297
  response: HumanDecisionResponse;
298
+ provenance: "human" | "timeout";
288
299
  acceptedAt: string;
289
300
  answerDigest: string;
290
301
  };
291
- export type HumanDecisionReceiptV1 = HumanDecisionReceiptCommon & {
302
+ export type HumanDecisionReceipt = HumanDecisionReceiptCommon & {
292
303
  schema: "pi-workflows.human-decision-receipt.v1";
293
- };
294
- export type HumanDecisionReceiptV2 = HumanDecisionReceiptCommon & {
295
- schema: "pi-workflows.human-decision-receipt.v2";
296
304
  subjectDigest: string;
297
305
  presentationDigest: string;
298
306
  revision: number;
299
307
  };
300
- export type HumanDecisionReceipt = HumanDecisionReceiptV1 | HumanDecisionReceiptV2;
301
- export type HumanDecisionDeliveryRecordV1 = {
308
+ export type HumanDecisionDeliveryRecord = {
302
309
  schema: "pi-workflows.human-decision-delivery.v1";
303
310
  attemptId: string;
304
311
  decisionId: string;
305
312
  requestDigest: string;
306
- channel: string;
307
- state: "intent" | "confirmed" | "failed" | "unknown";
308
- createdAt: string;
309
- finishedAt?: string;
310
- messageCount?: number;
311
- errorCode?: string;
312
- };
313
- export type HumanDecisionDeliveryRecordV2 = {
314
- schema: "pi-workflows.human-decision-delivery.v2";
315
- attemptId: string;
316
- decisionId: string;
317
- requestDigest: string;
318
313
  presentationDigest: string;
319
314
  channel: string;
320
315
  phase: "intent" | "part" | "complete";
@@ -328,7 +323,6 @@ export type HumanDecisionDeliveryRecordV2 = {
328
323
  messageCount?: number;
329
324
  errorCode?: string;
330
325
  };
331
- export type HumanDecisionDeliveryRecord = HumanDecisionDeliveryRecordV1 | HumanDecisionDeliveryRecordV2;
332
326
  export type HumanDecisionSettlementRecord = {
333
327
  schema: "pi-workflows.human-decision-settlement.v1";
334
328
  attemptId: string;
@@ -351,6 +345,7 @@ export type HumanDecisionContinuationRecord = {
351
345
  schema: "pi-workflows.human-decision-continuation.v1";
352
346
  decisionId: string;
353
347
  requestDigest: string;
348
+ provenance: "human" | "timeout";
354
349
  parentRunId: string;
355
350
  runId: string;
356
351
  createdAt: string;
@@ -433,7 +428,7 @@ export type WorkflowDefinition<TInput = any, TExits extends WorkflowExitMap = Wo
433
428
  /**
434
429
  * Optional instructions for a normal assistant response after the run ends.
435
430
  * The Pi extension resolves this only after the final state is persisted;
436
- * the engine and run bundle remain presentation-agnostic.
431
+ * the engine and durable store remain presentation-agnostic.
437
432
  */
438
433
  presentationPrompt?: string | ((context: WorkflowPresentationContext) => MaybePromise<string | undefined>);
439
434
  startAt: string;
@@ -445,27 +440,7 @@ export type WorkflowDefinition<TInput = any, TExits extends WorkflowExitMap = Wo
445
440
  maxSteps?: number;
446
441
  };
447
442
  export type WorkflowNodeOutcome = "ok" | "timed_out" | "failed" | "cancelled";
448
- /**
449
- * Reference to a content-addressed file under the bundle's `artifacts/`
450
- * directory. Large string leaves inside persisted values are replaced by
451
- * `{ "$artifact": ArtifactRef }` at write time (see `docs/run-bundles.md`).
452
- */
453
- export type ArtifactRef = {
454
- /** Bundle-relative path, `artifacts/sha256-<64 hex>.txt`. */
455
- path: string;
456
- mediaType: string;
457
- bytes: number;
458
- /** Hex digest of the artifact bytes. */
459
- sha256: string;
460
- };
461
- /** The sentinel wrapper that replaces an externalized value. */
462
- export type ArtifactValue = {
463
- $artifact: ArtifactRef;
464
- };
465
- /**
466
- * Explicit linkage from a workflow attempt to the Pi conversation slice it
467
- * produced. Ids address entries in `session/entries.ndjson` by Pi entry id.
468
- */
443
+ /** Explicit linkage from a workflow attempt to the Pi conversation slice it produced. */
469
444
  export type ConversationRange = {
470
445
  /** First Pi session entry id of the attempt. */
471
446
  firstEntryId: string;
@@ -499,14 +474,13 @@ export type WorkflowStepRecord = {
499
474
  outcome: WorkflowNodeOutcome;
500
475
  startedAt: string;
501
476
  finishedAt: string;
502
- /**
503
- * Full prompt text for agent steps, `null` for other node types. In a
504
- * persisted bundle a large prompt may be an `ArtifactValue`.
505
- */
506
- prompt: string | ArtifactValue | null;
477
+ /** Full prompt text for agent steps, `null` for other node types. */
478
+ prompt: string | null;
507
479
  output: unknown;
508
480
  error?: string;
509
481
  action?: WorkflowActionReceipt;
482
+ /** Receipt for a visible assistant-message completion. */
483
+ assistantMessage?: AssistantMessageReceipt;
510
484
  /** For agent steps recorded inside a Pi conversation. */
511
485
  conversation?: ConversationRange;
512
486
  };
@@ -537,11 +511,7 @@ export type WorkflowCompositionSnapshot = {
537
511
  };
538
512
  export type WorkflowRunState = {
539
513
  schema: "pi-workflows.run-state.v1";
540
- /**
541
- * `seq` of the trace event this projection reflects. `trace.ndjson` is the
542
- * source of truth; a state whose `traceSeq` is older than the trace tail is
543
- * a stale projection.
544
- */
514
+ /** Resource revision of the event reflected by this projection. */
545
515
  traceSeq: number;
546
516
  runId: string;
547
517
  workflowName: string;
@@ -590,7 +560,7 @@ export type WorkflowNodeSnapshot = {
590
560
  timeoutMs?: number | null;
591
561
  statusDetail?: string;
592
562
  summary?: string;
593
- expectedOutput?: string;
563
+ expectedOutput?: AgentExpectedOutput;
594
564
  actionExecution?: "function" | "shell";
595
565
  mountPath?: string[];
596
566
  localNodeId?: string;
@@ -599,6 +569,8 @@ export type WorkflowNodeSnapshot = {
599
569
  audience: string;
600
570
  dynamicAudience?: boolean;
601
571
  choices: HumanDecisionChoiceMap;
572
+ onTimeout?: HumanDecisionTimeout;
573
+ dynamicTimeout?: boolean;
602
574
  };
603
575
  };
604
576
  export type WorkflowDefinitionSnapshot = {
@@ -642,7 +614,7 @@ export type WorkflowSessionBinding = {
642
614
  export type WorkflowSessionEntryRecord = {
643
615
  /** Starts at 1, increases by exactly 1 within the file. */
644
616
  seq: number;
645
- /** When the entry was recorded into the bundle. */
617
+ /** When the entry was recorded in workflow state. */
646
618
  at: string;
647
619
  /** Verbatim Pi session entry (has its own id/parentId/timestamp). */
648
620
  entry: Record<string, unknown>;
@@ -678,39 +650,29 @@ export type WorkflowSessionCapture = {
678
650
  failure?: WorkflowSessionCaptureFailure;
679
651
  };
680
652
  export type WorkflowTraceEventDraft = Omit<WorkflowTraceEvent, "seq" | "at" | "runId">;
681
- export type WorkflowRunManifest = {
682
- schema: "pi-workflows.run-bundle.v1";
683
- runId: string;
684
- workflowName: string;
685
- runTitle?: string;
686
- workflowSource?: WorkflowSource;
687
- workflowSources?: WorkflowMountedSource[];
688
- definitionDigest?: string;
689
- startedAt: string;
690
- finishedAt?: string;
691
- status: WorkflowRunStatus;
692
- traceSchema: "pi-workflows.trace-event.v1";
693
- paths: {
694
- workflow: string;
695
- state: string;
696
- trace: string;
697
- /** Bundle-relative session directory, present once a session is bound. */
698
- session?: string;
699
- /** Bundle-relative artifacts directory, present once a value was externalized. */
700
- artifacts?: string;
701
- };
702
- };
703
653
  export type WorkflowRunResult = {
704
- runDir: string;
654
+ runId: string;
705
655
  state: WorkflowRunState;
706
656
  };
657
+ export type AgentStepCompletion = "submit" | "assistant";
658
+ export type AssistantMessageReceipt = {
659
+ sha256: string;
660
+ /** Pi session entry containing the visible response, when available. */
661
+ entryId?: string;
662
+ /** Present only when the workflow author supplied a limit. */
663
+ maxChars?: number;
664
+ /** True when recovery adopted an already visible response. */
665
+ recovered?: boolean;
666
+ };
707
667
  /** The step contract handed to the executor alongside the prompt. */
708
668
  export type AgentStepContract = {
709
669
  runId: string;
710
670
  workflowName: string;
711
671
  nodeId: string;
712
672
  attemptId: string;
673
+ completion: AgentStepCompletion;
713
674
  expectedOutput?: string;
675
+ maxOutputChars?: number;
714
676
  };
715
677
  /** Optional human-facing labels for an agent step. They never affect execution. */
716
678
  export type AgentStepPresentation = {
@@ -737,6 +699,8 @@ export type AgentStepRequest = {
737
699
  };
738
700
  export type AgentStepSubmission = {
739
701
  output: unknown;
702
+ /** Receipt for a visible assistant response. */
703
+ assistantMessage?: AssistantMessageReceipt;
740
704
  /**
741
705
  * The Pi conversation slice this step produced, when the executor records
742
706
  * one. Persisted verbatim into the step record and terminal node event.
@@ -745,10 +709,15 @@ export type AgentStepSubmission = {
745
709
  };
746
710
  /**
747
711
  * Runs one agent step to completion. Implementations deliver the prompt to
748
- * the model and resolve once a submission has been accepted via `accept`.
712
+ * the model and resolve once the configured output has been accepted.
749
713
  * Must reject with an `AbortError`-like error when `signal` aborts.
750
714
  */
751
715
  export interface AgentStepExecutor {
716
+ /**
717
+ * `visible` supports assistant-message output. `park` asks the engine to
718
+ * leave the run claimable for an origin session. Omission is unsupported.
719
+ */
720
+ readonly assistantMessageMode?: "visible" | "park" | "unsupported";
752
721
  runAgentStep(request: AgentStepRequest, signal: AbortSignal): Promise<AgentStepSubmission>;
753
722
  }
754
723
  export type WorkflowNotificationRequest = {
@@ -772,26 +741,19 @@ export type WorkflowEngineOptions = {
772
741
  executor: AgentStepExecutor;
773
742
  /** Durable destination for notify nodes. Required when a workflow uses one. */
774
743
  notificationSink?: WorkflowNotificationSink;
775
- /** Root directory for run bundles. Defaults to `~/.pi/agent/workflows/runs`. */
776
- outputRoot?: string;
777
- /**
778
- * Shared run store. Pass the same instance used by a session recorder so
779
- * trace sequence numbers stay single-writer. Defaults to a new store on
780
- * `outputRoot`.
781
- */
744
+ /** Canonical SQLite database. Defaults to `~/.pi/agent/workflows/state.sqlite`. */
745
+ databasePath?: string;
746
+ /** Shared SQLite run store. */
782
747
  store?: import("./store.js").WorkflowRunStore;
783
748
  /**
784
- * Awaited after `run_started` is persisted, before any node executes. This
785
- * is where a session recorder binds, so `session_bound` lands at the start
786
- * of the trace and can never trail the terminal event.
749
+ * Awaited after `run_started` is persisted, before any node executes.
787
750
  */
788
- onRunStarted?: (runDir: string, state: WorkflowRunState) => MaybePromise<void>;
751
+ onRunStarted?: (runId: string, state: WorkflowRunState) => MaybePromise<void>;
789
752
  /**
790
753
  * Awaited before the terminal snapshot is persisted. This is where a
791
- * session recorder stops and drains, so the bundle is immutable the moment
792
- * the terminal event exists. Errors are swallowed: finishing the run wins.
754
+ * session recorder stops and drains. Errors are swallowed: finishing the run wins.
793
755
  */
794
- onRunFinishing?: (runDir: string, state: WorkflowRunState) => MaybePromise<void>;
756
+ onRunFinishing?: (runId: string, state: WorkflowRunState) => MaybePromise<void>;
795
757
  /** Default per-node timeout. Defaults to 15 minutes. */
796
758
  defaultNodeTimeoutMs?: number;
797
759
  /** Guard against unbounded graph loops. Defaults to 100 executed steps. */