@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
@@ -0,0 +1,449 @@
1
+ import type { WorkflowNodeContext } from "../workflows/types.js";
2
+ import { type AutodocInput, type DocumentedPlan } from "./autodoc.workflow.js";
3
+ import { type AutoplanInput, type AutoplanReady } from "./autoplan.workflow.js";
4
+ import { type PlanApprovalContinue, type NormalizedPlanApprovalInput, type PlanApprovalPolicy, type PlanApprovalResolution, type ResolvedPlanApprovalPolicy } from "./plan-approval.workflow.js";
5
+ export type PlanChangeInput = {
6
+ task: string;
7
+ scope?: string;
8
+ constraints?: string[];
9
+ repository?: string;
10
+ documents?: string[];
11
+ previousPlan?: unknown;
12
+ newEvidence?: unknown;
13
+ approval?: PlanApprovalPolicy;
14
+ };
15
+ export type NormalizedPlanChangeInput = Omit<PlanChangeInput, "approval"> & {
16
+ approval: ResolvedPlanApprovalPolicy;
17
+ };
18
+ export type PlanChangeReady = {
19
+ status: "ready";
20
+ plan: unknown;
21
+ planDigest: string;
22
+ documents: string[];
23
+ revision: number;
24
+ approval: PlanApprovalResolution;
25
+ documentation: DocumentedPlan["documentation"];
26
+ };
27
+ export type PlanChangeBlocked = {
28
+ status: "blocked";
29
+ reason: string;
30
+ evidence: unknown;
31
+ };
32
+ export declare const planChangeWorkflow: import("../workflows/types.js").WorkflowDefinition<NormalizedPlanChangeInput, {
33
+ readonly ready: {
34
+ readonly from: "finalize";
35
+ readonly validate: (value: unknown) => PlanChangeReady;
36
+ };
37
+ readonly blocked: {
38
+ readonly from: "blocked";
39
+ readonly validate: (value: unknown) => PlanChangeBlocked;
40
+ };
41
+ }, {
42
+ readonly design: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<AutoplanInput, {
43
+ readonly ready: {
44
+ readonly from: "finalize";
45
+ readonly validate: (value: unknown) => AutoplanReady;
46
+ };
47
+ readonly blocked: {
48
+ readonly from: "blocked";
49
+ readonly validate: (value: unknown) => import("./autoplan.workflow.js").AutoplanBlocked;
50
+ };
51
+ }, {
52
+ readonly readySummary: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<import("./plain-summary.workflow.js").PlainSummaryInput, {
53
+ readonly completed: {
54
+ readonly from: "finish";
55
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
56
+ };
57
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
58
+ nodes: {
59
+ readonly summarize: import("../workflows/types.js").AssistantAgentNodeDefinition;
60
+ readonly finish: import("../workflows/types.js").ComputeNodeDefinition;
61
+ };
62
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
63
+ exits?: {
64
+ readonly completed: {
65
+ readonly from: "finish";
66
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
67
+ };
68
+ };
69
+ }>;
70
+ readonly blockedSummary: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<import("./plain-summary.workflow.js").PlainSummaryInput, {
71
+ readonly completed: {
72
+ readonly from: "finish";
73
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
74
+ };
75
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
76
+ nodes: {
77
+ readonly summarize: import("../workflows/types.js").AssistantAgentNodeDefinition;
78
+ readonly finish: import("../workflows/types.js").ComputeNodeDefinition;
79
+ };
80
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
81
+ exits?: {
82
+ readonly completed: {
83
+ readonly from: "finish";
84
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
85
+ };
86
+ };
87
+ }>;
88
+ }> & {
89
+ nodes: {
90
+ readonly frame: import("../workflows/types.js").SubmittedAgentNodeDefinition;
91
+ readonly propose: import("../workflows/types.js").SubmittedAgentNodeDefinition;
92
+ readonly ideal: import("../workflows/types.js").SubmittedAgentNodeDefinition;
93
+ readonly choose: import("../workflows/types.js").SubmittedAgentNodeDefinition;
94
+ readonly plan: import("../workflows/types.js").SubmittedAgentNodeDefinition;
95
+ readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
96
+ readonly finalize: import("../workflows/types.js").ComputeNodeDefinition;
97
+ };
98
+ includes?: {
99
+ readonly readySummary: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<import("./plain-summary.workflow.js").PlainSummaryInput, {
100
+ readonly completed: {
101
+ readonly from: "finish";
102
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
103
+ };
104
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
105
+ nodes: {
106
+ readonly summarize: import("../workflows/types.js").AssistantAgentNodeDefinition;
107
+ readonly finish: import("../workflows/types.js").ComputeNodeDefinition;
108
+ };
109
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
110
+ exits?: {
111
+ readonly completed: {
112
+ readonly from: "finish";
113
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
114
+ };
115
+ };
116
+ }>;
117
+ readonly blockedSummary: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<import("./plain-summary.workflow.js").PlainSummaryInput, {
118
+ readonly completed: {
119
+ readonly from: "finish";
120
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
121
+ };
122
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
123
+ nodes: {
124
+ readonly summarize: import("../workflows/types.js").AssistantAgentNodeDefinition;
125
+ readonly finish: import("../workflows/types.js").ComputeNodeDefinition;
126
+ };
127
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
128
+ exits?: {
129
+ readonly completed: {
130
+ readonly from: "finish";
131
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
132
+ };
133
+ };
134
+ }>;
135
+ };
136
+ exits?: {
137
+ readonly ready: {
138
+ readonly from: "finalize";
139
+ readonly validate: (value: unknown) => AutoplanReady;
140
+ };
141
+ readonly blocked: {
142
+ readonly from: "blocked";
143
+ readonly validate: (value: unknown) => import("./autoplan.workflow.js").AutoplanBlocked;
144
+ };
145
+ };
146
+ }>;
147
+ readonly documentation: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<AutodocInput, {
148
+ readonly ready: {
149
+ readonly from: "finalize";
150
+ readonly validate: (value: unknown) => DocumentedPlan;
151
+ };
152
+ readonly blocked: {
153
+ readonly from: "blocked";
154
+ readonly validate: (value: unknown) => import("./autodoc.workflow.js").AutodocBlocked;
155
+ };
156
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
157
+ nodes: {
158
+ readonly prepare: import("../workflows/types.js").ComputeNodeDefinition;
159
+ readonly locatePlan: import("../workflows/types.js").SubmittedAgentNodeDefinition;
160
+ readonly inspectDocumentation: import("../workflows/types.js").SubmittedAgentNodeDefinition;
161
+ readonly updateDocumentation: import("../workflows/types.js").SubmittedAgentNodeDefinition;
162
+ readonly verifyDocumentation: import("../workflows/types.js").SubmittedAgentNodeDefinition;
163
+ readonly finalize: import("../workflows/types.js").ComputeNodeDefinition;
164
+ readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
165
+ };
166
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
167
+ exits?: {
168
+ readonly ready: {
169
+ readonly from: "finalize";
170
+ readonly validate: (value: unknown) => DocumentedPlan;
171
+ };
172
+ readonly blocked: {
173
+ readonly from: "blocked";
174
+ readonly validate: (value: unknown) => import("./autodoc.workflow.js").AutodocBlocked;
175
+ };
176
+ };
177
+ }>;
178
+ readonly approval: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<NormalizedPlanApprovalInput, {
179
+ readonly continue: {
180
+ readonly from: "continued";
181
+ readonly validate: (value: unknown) => PlanApprovalContinue;
182
+ };
183
+ readonly stop: {
184
+ readonly from: "stopped";
185
+ readonly validate: (value: unknown) => import("./plan-approval.workflow.js").PlanApprovalStop;
186
+ };
187
+ readonly replan: {
188
+ readonly from: "replan";
189
+ readonly validate: (value: unknown) => import("./plan-approval.workflow.js").PlanApprovalReplan;
190
+ };
191
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
192
+ nodes: {
193
+ readonly routePolicy: import("../workflows/types.js").ComputeNodeDefinition;
194
+ readonly approve: import("../workflows/types.js").WorkflowNodeCommon & {
195
+ nodeType: "checkpoint";
196
+ summary?: string;
197
+ run?: (context: WorkflowNodeContext) => import("../workflows/types.js").MaybePromise<unknown>;
198
+ humanDecision?: import("../workflows/types.js").HumanDecisionNodeContract;
199
+ } & {
200
+ readonly __humanChoices?: {
201
+ readonly continue: {
202
+ readonly label: "Yes, continue";
203
+ };
204
+ readonly stop: {
205
+ readonly label: "No, stop";
206
+ };
207
+ readonly replan: {
208
+ readonly label: "Replan";
209
+ readonly input: import("../workflows/types.js").HumanDecisionTextInput & {
210
+ name: "instructions";
211
+ };
212
+ };
213
+ };
214
+ };
215
+ readonly continued: import("../workflows/types.js").ComputeNodeDefinition;
216
+ readonly stopped: import("../workflows/types.js").ComputeNodeDefinition;
217
+ readonly replan: import("../workflows/types.js").ComputeNodeDefinition;
218
+ };
219
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
220
+ exits?: {
221
+ readonly continue: {
222
+ readonly from: "continued";
223
+ readonly validate: (value: unknown) => PlanApprovalContinue;
224
+ };
225
+ readonly stop: {
226
+ readonly from: "stopped";
227
+ readonly validate: (value: unknown) => import("./plan-approval.workflow.js").PlanApprovalStop;
228
+ };
229
+ readonly replan: {
230
+ readonly from: "replan";
231
+ readonly validate: (value: unknown) => import("./plan-approval.workflow.js").PlanApprovalReplan;
232
+ };
233
+ };
234
+ }>;
235
+ }> & {
236
+ nodes: {
237
+ readonly start: import("../workflows/types.js").ComputeNodeDefinition;
238
+ readonly assessPlan: import("../workflows/types.js").ComputeNodeDefinition;
239
+ readonly replanGuard: import("../workflows/types.js").ComputeNodeDefinition;
240
+ readonly finalize: import("../workflows/types.js").ComputeNodeDefinition;
241
+ readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
242
+ };
243
+ includes?: {
244
+ readonly design: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<AutoplanInput, {
245
+ readonly ready: {
246
+ readonly from: "finalize";
247
+ readonly validate: (value: unknown) => AutoplanReady;
248
+ };
249
+ readonly blocked: {
250
+ readonly from: "blocked";
251
+ readonly validate: (value: unknown) => import("./autoplan.workflow.js").AutoplanBlocked;
252
+ };
253
+ }, {
254
+ readonly readySummary: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<import("./plain-summary.workflow.js").PlainSummaryInput, {
255
+ readonly completed: {
256
+ readonly from: "finish";
257
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
258
+ };
259
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
260
+ nodes: {
261
+ readonly summarize: import("../workflows/types.js").AssistantAgentNodeDefinition;
262
+ readonly finish: import("../workflows/types.js").ComputeNodeDefinition;
263
+ };
264
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
265
+ exits?: {
266
+ readonly completed: {
267
+ readonly from: "finish";
268
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
269
+ };
270
+ };
271
+ }>;
272
+ readonly blockedSummary: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<import("./plain-summary.workflow.js").PlainSummaryInput, {
273
+ readonly completed: {
274
+ readonly from: "finish";
275
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
276
+ };
277
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
278
+ nodes: {
279
+ readonly summarize: import("../workflows/types.js").AssistantAgentNodeDefinition;
280
+ readonly finish: import("../workflows/types.js").ComputeNodeDefinition;
281
+ };
282
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
283
+ exits?: {
284
+ readonly completed: {
285
+ readonly from: "finish";
286
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
287
+ };
288
+ };
289
+ }>;
290
+ }> & {
291
+ nodes: {
292
+ readonly frame: import("../workflows/types.js").SubmittedAgentNodeDefinition;
293
+ readonly propose: import("../workflows/types.js").SubmittedAgentNodeDefinition;
294
+ readonly ideal: import("../workflows/types.js").SubmittedAgentNodeDefinition;
295
+ readonly choose: import("../workflows/types.js").SubmittedAgentNodeDefinition;
296
+ readonly plan: import("../workflows/types.js").SubmittedAgentNodeDefinition;
297
+ readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
298
+ readonly finalize: import("../workflows/types.js").ComputeNodeDefinition;
299
+ };
300
+ includes?: {
301
+ readonly readySummary: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<import("./plain-summary.workflow.js").PlainSummaryInput, {
302
+ readonly completed: {
303
+ readonly from: "finish";
304
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
305
+ };
306
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
307
+ nodes: {
308
+ readonly summarize: import("../workflows/types.js").AssistantAgentNodeDefinition;
309
+ readonly finish: import("../workflows/types.js").ComputeNodeDefinition;
310
+ };
311
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
312
+ exits?: {
313
+ readonly completed: {
314
+ readonly from: "finish";
315
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
316
+ };
317
+ };
318
+ }>;
319
+ readonly blockedSummary: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<import("./plain-summary.workflow.js").PlainSummaryInput, {
320
+ readonly completed: {
321
+ readonly from: "finish";
322
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
323
+ };
324
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
325
+ nodes: {
326
+ readonly summarize: import("../workflows/types.js").AssistantAgentNodeDefinition;
327
+ readonly finish: import("../workflows/types.js").ComputeNodeDefinition;
328
+ };
329
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
330
+ exits?: {
331
+ readonly completed: {
332
+ readonly from: "finish";
333
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
334
+ };
335
+ };
336
+ }>;
337
+ };
338
+ exits?: {
339
+ readonly ready: {
340
+ readonly from: "finalize";
341
+ readonly validate: (value: unknown) => AutoplanReady;
342
+ };
343
+ readonly blocked: {
344
+ readonly from: "blocked";
345
+ readonly validate: (value: unknown) => import("./autoplan.workflow.js").AutoplanBlocked;
346
+ };
347
+ };
348
+ }>;
349
+ readonly documentation: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<AutodocInput, {
350
+ readonly ready: {
351
+ readonly from: "finalize";
352
+ readonly validate: (value: unknown) => DocumentedPlan;
353
+ };
354
+ readonly blocked: {
355
+ readonly from: "blocked";
356
+ readonly validate: (value: unknown) => import("./autodoc.workflow.js").AutodocBlocked;
357
+ };
358
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
359
+ nodes: {
360
+ readonly prepare: import("../workflows/types.js").ComputeNodeDefinition;
361
+ readonly locatePlan: import("../workflows/types.js").SubmittedAgentNodeDefinition;
362
+ readonly inspectDocumentation: import("../workflows/types.js").SubmittedAgentNodeDefinition;
363
+ readonly updateDocumentation: import("../workflows/types.js").SubmittedAgentNodeDefinition;
364
+ readonly verifyDocumentation: import("../workflows/types.js").SubmittedAgentNodeDefinition;
365
+ readonly finalize: import("../workflows/types.js").ComputeNodeDefinition;
366
+ readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
367
+ };
368
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
369
+ exits?: {
370
+ readonly ready: {
371
+ readonly from: "finalize";
372
+ readonly validate: (value: unknown) => DocumentedPlan;
373
+ };
374
+ readonly blocked: {
375
+ readonly from: "blocked";
376
+ readonly validate: (value: unknown) => import("./autodoc.workflow.js").AutodocBlocked;
377
+ };
378
+ };
379
+ }>;
380
+ readonly approval: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<NormalizedPlanApprovalInput, {
381
+ readonly continue: {
382
+ readonly from: "continued";
383
+ readonly validate: (value: unknown) => PlanApprovalContinue;
384
+ };
385
+ readonly stop: {
386
+ readonly from: "stopped";
387
+ readonly validate: (value: unknown) => import("./plan-approval.workflow.js").PlanApprovalStop;
388
+ };
389
+ readonly replan: {
390
+ readonly from: "replan";
391
+ readonly validate: (value: unknown) => import("./plan-approval.workflow.js").PlanApprovalReplan;
392
+ };
393
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
394
+ nodes: {
395
+ readonly routePolicy: import("../workflows/types.js").ComputeNodeDefinition;
396
+ readonly approve: import("../workflows/types.js").WorkflowNodeCommon & {
397
+ nodeType: "checkpoint";
398
+ summary?: string;
399
+ run?: (context: WorkflowNodeContext) => import("../workflows/types.js").MaybePromise<unknown>;
400
+ humanDecision?: import("../workflows/types.js").HumanDecisionNodeContract;
401
+ } & {
402
+ readonly __humanChoices?: {
403
+ readonly continue: {
404
+ readonly label: "Yes, continue";
405
+ };
406
+ readonly stop: {
407
+ readonly label: "No, stop";
408
+ };
409
+ readonly replan: {
410
+ readonly label: "Replan";
411
+ readonly input: import("../workflows/types.js").HumanDecisionTextInput & {
412
+ name: "instructions";
413
+ };
414
+ };
415
+ };
416
+ };
417
+ readonly continued: import("../workflows/types.js").ComputeNodeDefinition;
418
+ readonly stopped: import("../workflows/types.js").ComputeNodeDefinition;
419
+ readonly replan: import("../workflows/types.js").ComputeNodeDefinition;
420
+ };
421
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
422
+ exits?: {
423
+ readonly continue: {
424
+ readonly from: "continued";
425
+ readonly validate: (value: unknown) => PlanApprovalContinue;
426
+ };
427
+ readonly stop: {
428
+ readonly from: "stopped";
429
+ readonly validate: (value: unknown) => import("./plan-approval.workflow.js").PlanApprovalStop;
430
+ };
431
+ readonly replan: {
432
+ readonly from: "replan";
433
+ readonly validate: (value: unknown) => import("./plan-approval.workflow.js").PlanApprovalReplan;
434
+ };
435
+ };
436
+ }>;
437
+ };
438
+ exits?: {
439
+ readonly ready: {
440
+ readonly from: "finalize";
441
+ readonly validate: (value: unknown) => PlanChangeReady;
442
+ };
443
+ readonly blocked: {
444
+ readonly from: "blocked";
445
+ readonly validate: (value: unknown) => PlanChangeBlocked;
446
+ };
447
+ };
448
+ };
449
+ export default planChangeWorkflow;