@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,8 +1,8 @@
1
1
  import type { WorkflowNodeContext } from "../workflows/types.js";
2
2
  import { type AutodocInput } from "./autodoc.workflow.js";
3
3
  import { type AutoimplementConcurrency } from "./autoimplement-command-batches.js";
4
- import { type AutoplanInput } from "./autoplan.workflow.js";
5
- import { type PlanApprovalInput } from "./plan-approval.workflow.js";
4
+ import { type PlanApprovalPolicy } from "./plan-approval.workflow.js";
5
+ import { type NormalizedPlanChangeInput } from "./plan-change.workflow.js";
6
6
  export type AutoimplementInput = {
7
7
  task: string;
8
8
  plan?: unknown;
@@ -17,10 +17,7 @@ export type AutoimplementInput = {
17
17
  planDigest: string;
18
18
  documents: string[];
19
19
  };
20
- approval?: {
21
- audience: string;
22
- maxReplans: number;
23
- };
20
+ approval?: PlanApprovalPolicy;
24
21
  concurrency?: Partial<AutoimplementConcurrency>;
25
22
  };
26
23
  export type ExistingPlanDiscovery = {
@@ -97,10 +94,10 @@ export declare const autoimplementWorkflow: import("../workflows/types.js").Work
97
94
  }, import("../workflows/types.js").WorkflowIncludeMap> & {
98
95
  nodes: {
99
96
  readonly prepare: import("../workflows/types.js").ComputeNodeDefinition;
100
- readonly locatePlan: import("../workflows/types.js").AgentNodeDefinition;
101
- readonly inspectDocumentation: import("../workflows/types.js").AgentNodeDefinition;
102
- readonly updateDocumentation: import("../workflows/types.js").AgentNodeDefinition;
103
- readonly verifyDocumentation: import("../workflows/types.js").AgentNodeDefinition;
97
+ readonly locatePlan: import("../workflows/types.js").SubmittedAgentNodeDefinition;
98
+ readonly inspectDocumentation: import("../workflows/types.js").SubmittedAgentNodeDefinition;
99
+ readonly updateDocumentation: import("../workflows/types.js").SubmittedAgentNodeDefinition;
100
+ readonly verifyDocumentation: import("../workflows/types.js").SubmittedAgentNodeDefinition;
104
101
  readonly finalize: import("../workflows/types.js").ComputeNodeDefinition;
105
102
  readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
106
103
  };
@@ -116,83 +113,17 @@ export declare const autoimplementWorkflow: import("../workflows/types.js").Work
116
113
  };
117
114
  };
118
115
  }>;
119
- readonly approval: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<PlanApprovalInput, {
120
- readonly continue: {
121
- readonly from: "continued";
122
- readonly validate: (value: unknown) => import("./plan-approval.workflow.js").PlanApprovalContinue;
123
- };
124
- readonly stop: {
125
- readonly from: "stopped";
126
- readonly validate: (value: unknown) => import("./plan-approval.workflow.js").PlanApprovalStop;
127
- };
128
- readonly replan: {
129
- readonly from: "replan";
130
- readonly validate: (value: unknown) => import("./plan-approval.workflow.js").PlanApprovalReplan;
131
- };
132
- }, import("../workflows/types.js").WorkflowIncludeMap> & {
133
- nodes: {
134
- readonly approve: import("../workflows/types.js").WorkflowNodeCommon & {
135
- nodeType: "checkpoint";
136
- summary?: string;
137
- run?: (context: WorkflowNodeContext) => import("../workflows/types.js").MaybePromise<unknown>;
138
- humanDecision?: import("../workflows/types.js").HumanDecisionNodeContract;
139
- } & {
140
- readonly __humanChoices?: {
141
- readonly continue: {
142
- readonly label: "Yes, continue";
143
- };
144
- readonly stop: {
145
- readonly label: "No, stop";
146
- };
147
- readonly replan: {
148
- readonly label: "Replan";
149
- readonly input: import("../workflows/types.js").HumanDecisionTextInput & {
150
- name: "instructions";
151
- };
152
- };
153
- };
154
- };
155
- readonly continued: import("../workflows/types.js").ComputeNodeDefinition;
156
- readonly stopped: import("../workflows/types.js").ComputeNodeDefinition;
157
- readonly replan: import("../workflows/types.js").ComputeNodeDefinition;
158
- };
159
- includes?: import("../workflows/types.js").WorkflowIncludeMap;
160
- exits?: {
161
- readonly continue: {
162
- readonly from: "continued";
163
- readonly validate: (value: unknown) => import("./plan-approval.workflow.js").PlanApprovalContinue;
164
- };
165
- readonly stop: {
166
- readonly from: "stopped";
167
- readonly validate: (value: unknown) => import("./plan-approval.workflow.js").PlanApprovalStop;
168
- };
169
- readonly replan: {
170
- readonly from: "replan";
171
- readonly validate: (value: unknown) => import("./plan-approval.workflow.js").PlanApprovalReplan;
172
- };
173
- };
174
- }>;
175
- readonly redesign: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<AutoplanInput, {
116
+ readonly redesign: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<NormalizedPlanChangeInput, {
176
117
  readonly ready: {
177
118
  readonly from: "finalize";
178
- readonly validate: (value: unknown) => import("./autoplan.workflow.js").AutoplanReady;
119
+ readonly validate: (value: unknown) => import("./plan-change.workflow.js").PlanChangeReady;
179
120
  };
180
121
  readonly blocked: {
181
122
  readonly from: "blocked";
182
- readonly validate: (value: unknown) => import("./autoplan.workflow.js").AutoplanBlocked;
123
+ readonly validate: (value: unknown) => import("./plan-change.workflow.js").PlanChangeBlocked;
183
124
  };
184
- }, import("../workflows/types.js").WorkflowIncludeMap> & {
185
- nodes: {
186
- readonly frame: import("../workflows/types.js").AgentNodeDefinition;
187
- readonly propose: import("../workflows/types.js").AgentNodeDefinition;
188
- readonly ideal: import("../workflows/types.js").AgentNodeDefinition;
189
- readonly choose: import("../workflows/types.js").AgentNodeDefinition;
190
- readonly plan: import("../workflows/types.js").AgentNodeDefinition;
191
- readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
192
- readonly finalize: import("../workflows/types.js").ComputeNodeDefinition;
193
- };
194
- includes?: import("../workflows/types.js").WorkflowIncludeMap;
195
- exits?: {
125
+ }, {
126
+ readonly design: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<import("./autoplan.workflow.js").AutoplanInput, {
196
127
  readonly ready: {
197
128
  readonly from: "finalize";
198
129
  readonly validate: (value: unknown) => import("./autoplan.workflow.js").AutoplanReady;
@@ -201,53 +132,102 @@ export declare const autoimplementWorkflow: import("../workflows/types.js").Work
201
132
  readonly from: "blocked";
202
133
  readonly validate: (value: unknown) => import("./autoplan.workflow.js").AutoplanBlocked;
203
134
  };
204
- };
205
- }>;
206
- }> & {
207
- nodes: {
208
- readonly prepare: import("../workflows/types.js").ComputeNodeDefinition;
209
- readonly findPlan: import("../workflows/types.js").AgentNodeDefinition;
210
- readonly routeFoundPlan: import("../workflows/types.js").ComputeNodeDefinition;
211
- readonly adoptPlan: import("../workflows/types.js").ComputeNodeDefinition;
212
- readonly maybeApproval: import("../workflows/types.js").ComputeNodeDefinition;
213
- readonly replanGuard: import("../workflows/types.js").ComputeNodeDefinition;
214
- readonly timeoutFallbackGuard: import("../workflows/types.js").ComputeNodeDefinition;
215
- readonly timeoutFallback: import("../workflows/types.js").AgentNodeDefinition;
216
- readonly routeTimeoutFallback: import("../workflows/types.js").ComputeNodeDefinition;
217
- readonly propagateSupportedFailure: import("../workflows/types.js").ComputeNodeDefinition;
218
- readonly routeVerifyP2Result: import("../workflows/types.js").ComputeNodeDefinition;
219
- readonly routeInspectCommentsResult: import("../workflows/types.js").ComputeNodeDefinition;
220
- readonly routeInspectCiResult: import("../workflows/types.js").ComputeNodeDefinition;
221
- readonly routeFinalizeDeliveryResult: import("../workflows/types.js").ComputeNodeDefinition;
222
- readonly implement: import("../workflows/types.js").AgentNodeDefinition;
223
- readonly classifyImplementation: import("../workflows/types.js").AgentNodeDefinition;
224
- readonly challengeBlockerGuard: import("../workflows/types.js").ComputeNodeDefinition;
225
- readonly challengeBlocker: import("../workflows/types.js").AgentNodeDefinition;
226
- readonly planVerification: import("../workflows/types.js").AgentNodeDefinition;
227
- readonly runVerification: import("../workflows/types.js").FunctionActionNodeDefinition;
228
- readonly verify: import("../workflows/types.js").AgentNodeDefinition;
229
- readonly classifyVerification: import("../workflows/types.js").AgentNodeDefinition;
230
- readonly fix: import("../workflows/types.js").AgentNodeDefinition;
231
- readonly publish: import("../workflows/types.js").AgentNodeDefinition;
232
- readonly selectReviewCommands: import("../workflows/types.js").ComputeNodeDefinition;
233
- readonly runReview: import("../workflows/types.js").FunctionActionNodeDefinition;
234
- readonly repairReviewCommand: import("../workflows/types.js").AgentNodeDefinition;
235
- readonly assessReview: import("../workflows/types.js").AgentNodeDefinition;
236
- readonly triageReview: import("../workflows/types.js").ComputeNodeDefinition;
237
- readonly addressP2: import("../workflows/types.js").AgentNodeDefinition;
238
- readonly verifyP2: import("../workflows/types.js").AgentNodeDefinition;
239
- readonly inspectComments: import("../workflows/types.js").AgentNodeDefinition;
240
- readonly inspectCi: import("../workflows/types.js").AgentNodeDefinition;
241
- readonly trackCi: import("../workflows/types.js").FunctionActionNodeDefinition;
242
- readonly repairCiCommand: import("../workflows/types.js").AgentNodeDefinition;
243
- readonly assessTrackedCi: import("../workflows/types.js").AgentNodeDefinition;
244
- readonly opportunisticTest: import("../workflows/types.js").AgentNodeDefinition;
245
- readonly classifyCi: import("../workflows/types.js").AgentNodeDefinition;
246
- readonly finalizeDelivery: import("../workflows/types.js").AgentNodeDefinition;
247
- readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
248
- readonly finalize: import("../workflows/types.js").ComputeNodeDefinition;
249
- };
250
- includes?: {
135
+ }, {
136
+ readonly readySummary: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<import("./plain-summary.workflow.js").PlainSummaryInput, {
137
+ readonly completed: {
138
+ readonly from: "finish";
139
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
140
+ };
141
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
142
+ nodes: {
143
+ readonly summarize: import("../workflows/types.js").AssistantAgentNodeDefinition;
144
+ readonly finish: import("../workflows/types.js").ComputeNodeDefinition;
145
+ };
146
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
147
+ exits?: {
148
+ readonly completed: {
149
+ readonly from: "finish";
150
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
151
+ };
152
+ };
153
+ }>;
154
+ readonly blockedSummary: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<import("./plain-summary.workflow.js").PlainSummaryInput, {
155
+ readonly completed: {
156
+ readonly from: "finish";
157
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
158
+ };
159
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
160
+ nodes: {
161
+ readonly summarize: import("../workflows/types.js").AssistantAgentNodeDefinition;
162
+ readonly finish: import("../workflows/types.js").ComputeNodeDefinition;
163
+ };
164
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
165
+ exits?: {
166
+ readonly completed: {
167
+ readonly from: "finish";
168
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
169
+ };
170
+ };
171
+ }>;
172
+ }> & {
173
+ nodes: {
174
+ readonly frame: import("../workflows/types.js").SubmittedAgentNodeDefinition;
175
+ readonly propose: import("../workflows/types.js").SubmittedAgentNodeDefinition;
176
+ readonly ideal: import("../workflows/types.js").SubmittedAgentNodeDefinition;
177
+ readonly choose: import("../workflows/types.js").SubmittedAgentNodeDefinition;
178
+ readonly plan: import("../workflows/types.js").SubmittedAgentNodeDefinition;
179
+ readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
180
+ readonly finalize: import("../workflows/types.js").ComputeNodeDefinition;
181
+ };
182
+ includes?: {
183
+ readonly readySummary: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<import("./plain-summary.workflow.js").PlainSummaryInput, {
184
+ readonly completed: {
185
+ readonly from: "finish";
186
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
187
+ };
188
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
189
+ nodes: {
190
+ readonly summarize: import("../workflows/types.js").AssistantAgentNodeDefinition;
191
+ readonly finish: import("../workflows/types.js").ComputeNodeDefinition;
192
+ };
193
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
194
+ exits?: {
195
+ readonly completed: {
196
+ readonly from: "finish";
197
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
198
+ };
199
+ };
200
+ }>;
201
+ readonly blockedSummary: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<import("./plain-summary.workflow.js").PlainSummaryInput, {
202
+ readonly completed: {
203
+ readonly from: "finish";
204
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
205
+ };
206
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
207
+ nodes: {
208
+ readonly summarize: import("../workflows/types.js").AssistantAgentNodeDefinition;
209
+ readonly finish: import("../workflows/types.js").ComputeNodeDefinition;
210
+ };
211
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
212
+ exits?: {
213
+ readonly completed: {
214
+ readonly from: "finish";
215
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
216
+ };
217
+ };
218
+ }>;
219
+ };
220
+ exits?: {
221
+ readonly ready: {
222
+ readonly from: "finalize";
223
+ readonly validate: (value: unknown) => import("./autoplan.workflow.js").AutoplanReady;
224
+ };
225
+ readonly blocked: {
226
+ readonly from: "blocked";
227
+ readonly validate: (value: unknown) => import("./autoplan.workflow.js").AutoplanBlocked;
228
+ };
229
+ };
230
+ }>;
251
231
  readonly documentation: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<AutodocInput, {
252
232
  readonly ready: {
253
233
  readonly from: "finalize";
@@ -260,10 +240,10 @@ export declare const autoimplementWorkflow: import("../workflows/types.js").Work
260
240
  }, import("../workflows/types.js").WorkflowIncludeMap> & {
261
241
  nodes: {
262
242
  readonly prepare: import("../workflows/types.js").ComputeNodeDefinition;
263
- readonly locatePlan: import("../workflows/types.js").AgentNodeDefinition;
264
- readonly inspectDocumentation: import("../workflows/types.js").AgentNodeDefinition;
265
- readonly updateDocumentation: import("../workflows/types.js").AgentNodeDefinition;
266
- readonly verifyDocumentation: import("../workflows/types.js").AgentNodeDefinition;
243
+ readonly locatePlan: import("../workflows/types.js").SubmittedAgentNodeDefinition;
244
+ readonly inspectDocumentation: import("../workflows/types.js").SubmittedAgentNodeDefinition;
245
+ readonly updateDocumentation: import("../workflows/types.js").SubmittedAgentNodeDefinition;
246
+ readonly verifyDocumentation: import("../workflows/types.js").SubmittedAgentNodeDefinition;
267
247
  readonly finalize: import("../workflows/types.js").ComputeNodeDefinition;
268
248
  readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
269
249
  };
@@ -279,7 +259,7 @@ export declare const autoimplementWorkflow: import("../workflows/types.js").Work
279
259
  };
280
260
  };
281
261
  }>;
282
- readonly approval: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<PlanApprovalInput, {
262
+ readonly approval: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<import("./plan-approval.workflow.js").NormalizedPlanApprovalInput, {
283
263
  readonly continue: {
284
264
  readonly from: "continued";
285
265
  readonly validate: (value: unknown) => import("./plan-approval.workflow.js").PlanApprovalContinue;
@@ -294,6 +274,7 @@ export declare const autoimplementWorkflow: import("../workflows/types.js").Work
294
274
  };
295
275
  }, import("../workflows/types.js").WorkflowIncludeMap> & {
296
276
  nodes: {
277
+ readonly routePolicy: import("../workflows/types.js").ComputeNodeDefinition;
297
278
  readonly approve: import("../workflows/types.js").WorkflowNodeCommon & {
298
279
  nodeType: "checkpoint";
299
280
  summary?: string;
@@ -335,27 +316,305 @@ export declare const autoimplementWorkflow: import("../workflows/types.js").Work
335
316
  };
336
317
  };
337
318
  }>;
338
- readonly redesign: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<AutoplanInput, {
319
+ }> & {
320
+ nodes: {
321
+ readonly start: import("../workflows/types.js").ComputeNodeDefinition;
322
+ readonly assessPlan: import("../workflows/types.js").ComputeNodeDefinition;
323
+ readonly replanGuard: import("../workflows/types.js").ComputeNodeDefinition;
324
+ readonly finalize: import("../workflows/types.js").ComputeNodeDefinition;
325
+ readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
326
+ };
327
+ includes?: {
328
+ readonly design: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<import("./autoplan.workflow.js").AutoplanInput, {
329
+ readonly ready: {
330
+ readonly from: "finalize";
331
+ readonly validate: (value: unknown) => import("./autoplan.workflow.js").AutoplanReady;
332
+ };
333
+ readonly blocked: {
334
+ readonly from: "blocked";
335
+ readonly validate: (value: unknown) => import("./autoplan.workflow.js").AutoplanBlocked;
336
+ };
337
+ }, {
338
+ readonly readySummary: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<import("./plain-summary.workflow.js").PlainSummaryInput, {
339
+ readonly completed: {
340
+ readonly from: "finish";
341
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
342
+ };
343
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
344
+ nodes: {
345
+ readonly summarize: import("../workflows/types.js").AssistantAgentNodeDefinition;
346
+ readonly finish: import("../workflows/types.js").ComputeNodeDefinition;
347
+ };
348
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
349
+ exits?: {
350
+ readonly completed: {
351
+ readonly from: "finish";
352
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
353
+ };
354
+ };
355
+ }>;
356
+ readonly blockedSummary: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<import("./plain-summary.workflow.js").PlainSummaryInput, {
357
+ readonly completed: {
358
+ readonly from: "finish";
359
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
360
+ };
361
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
362
+ nodes: {
363
+ readonly summarize: import("../workflows/types.js").AssistantAgentNodeDefinition;
364
+ readonly finish: import("../workflows/types.js").ComputeNodeDefinition;
365
+ };
366
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
367
+ exits?: {
368
+ readonly completed: {
369
+ readonly from: "finish";
370
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
371
+ };
372
+ };
373
+ }>;
374
+ }> & {
375
+ nodes: {
376
+ readonly frame: import("../workflows/types.js").SubmittedAgentNodeDefinition;
377
+ readonly propose: import("../workflows/types.js").SubmittedAgentNodeDefinition;
378
+ readonly ideal: import("../workflows/types.js").SubmittedAgentNodeDefinition;
379
+ readonly choose: import("../workflows/types.js").SubmittedAgentNodeDefinition;
380
+ readonly plan: import("../workflows/types.js").SubmittedAgentNodeDefinition;
381
+ readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
382
+ readonly finalize: import("../workflows/types.js").ComputeNodeDefinition;
383
+ };
384
+ includes?: {
385
+ readonly readySummary: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<import("./plain-summary.workflow.js").PlainSummaryInput, {
386
+ readonly completed: {
387
+ readonly from: "finish";
388
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
389
+ };
390
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
391
+ nodes: {
392
+ readonly summarize: import("../workflows/types.js").AssistantAgentNodeDefinition;
393
+ readonly finish: import("../workflows/types.js").ComputeNodeDefinition;
394
+ };
395
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
396
+ exits?: {
397
+ readonly completed: {
398
+ readonly from: "finish";
399
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
400
+ };
401
+ };
402
+ }>;
403
+ readonly blockedSummary: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<import("./plain-summary.workflow.js").PlainSummaryInput, {
404
+ readonly completed: {
405
+ readonly from: "finish";
406
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
407
+ };
408
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
409
+ nodes: {
410
+ readonly summarize: import("../workflows/types.js").AssistantAgentNodeDefinition;
411
+ readonly finish: import("../workflows/types.js").ComputeNodeDefinition;
412
+ };
413
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
414
+ exits?: {
415
+ readonly completed: {
416
+ readonly from: "finish";
417
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
418
+ };
419
+ };
420
+ }>;
421
+ };
422
+ exits?: {
423
+ readonly ready: {
424
+ readonly from: "finalize";
425
+ readonly validate: (value: unknown) => import("./autoplan.workflow.js").AutoplanReady;
426
+ };
427
+ readonly blocked: {
428
+ readonly from: "blocked";
429
+ readonly validate: (value: unknown) => import("./autoplan.workflow.js").AutoplanBlocked;
430
+ };
431
+ };
432
+ }>;
433
+ readonly documentation: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<AutodocInput, {
434
+ readonly ready: {
435
+ readonly from: "finalize";
436
+ readonly validate: (value: unknown) => import("./autodoc.workflow.js").DocumentedPlan;
437
+ };
438
+ readonly blocked: {
439
+ readonly from: "blocked";
440
+ readonly validate: (value: unknown) => import("./autodoc.workflow.js").AutodocBlocked;
441
+ };
442
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
443
+ nodes: {
444
+ readonly prepare: import("../workflows/types.js").ComputeNodeDefinition;
445
+ readonly locatePlan: import("../workflows/types.js").SubmittedAgentNodeDefinition;
446
+ readonly inspectDocumentation: import("../workflows/types.js").SubmittedAgentNodeDefinition;
447
+ readonly updateDocumentation: import("../workflows/types.js").SubmittedAgentNodeDefinition;
448
+ readonly verifyDocumentation: import("../workflows/types.js").SubmittedAgentNodeDefinition;
449
+ readonly finalize: import("../workflows/types.js").ComputeNodeDefinition;
450
+ readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
451
+ };
452
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
453
+ exits?: {
454
+ readonly ready: {
455
+ readonly from: "finalize";
456
+ readonly validate: (value: unknown) => import("./autodoc.workflow.js").DocumentedPlan;
457
+ };
458
+ readonly blocked: {
459
+ readonly from: "blocked";
460
+ readonly validate: (value: unknown) => import("./autodoc.workflow.js").AutodocBlocked;
461
+ };
462
+ };
463
+ }>;
464
+ readonly approval: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<import("./plan-approval.workflow.js").NormalizedPlanApprovalInput, {
465
+ readonly continue: {
466
+ readonly from: "continued";
467
+ readonly validate: (value: unknown) => import("./plan-approval.workflow.js").PlanApprovalContinue;
468
+ };
469
+ readonly stop: {
470
+ readonly from: "stopped";
471
+ readonly validate: (value: unknown) => import("./plan-approval.workflow.js").PlanApprovalStop;
472
+ };
473
+ readonly replan: {
474
+ readonly from: "replan";
475
+ readonly validate: (value: unknown) => import("./plan-approval.workflow.js").PlanApprovalReplan;
476
+ };
477
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
478
+ nodes: {
479
+ readonly routePolicy: import("../workflows/types.js").ComputeNodeDefinition;
480
+ readonly approve: import("../workflows/types.js").WorkflowNodeCommon & {
481
+ nodeType: "checkpoint";
482
+ summary?: string;
483
+ run?: (context: WorkflowNodeContext) => import("../workflows/types.js").MaybePromise<unknown>;
484
+ humanDecision?: import("../workflows/types.js").HumanDecisionNodeContract;
485
+ } & {
486
+ readonly __humanChoices?: {
487
+ readonly continue: {
488
+ readonly label: "Yes, continue";
489
+ };
490
+ readonly stop: {
491
+ readonly label: "No, stop";
492
+ };
493
+ readonly replan: {
494
+ readonly label: "Replan";
495
+ readonly input: import("../workflows/types.js").HumanDecisionTextInput & {
496
+ name: "instructions";
497
+ };
498
+ };
499
+ };
500
+ };
501
+ readonly continued: import("../workflows/types.js").ComputeNodeDefinition;
502
+ readonly stopped: import("../workflows/types.js").ComputeNodeDefinition;
503
+ readonly replan: import("../workflows/types.js").ComputeNodeDefinition;
504
+ };
505
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
506
+ exits?: {
507
+ readonly continue: {
508
+ readonly from: "continued";
509
+ readonly validate: (value: unknown) => import("./plan-approval.workflow.js").PlanApprovalContinue;
510
+ };
511
+ readonly stop: {
512
+ readonly from: "stopped";
513
+ readonly validate: (value: unknown) => import("./plan-approval.workflow.js").PlanApprovalStop;
514
+ };
515
+ readonly replan: {
516
+ readonly from: "replan";
517
+ readonly validate: (value: unknown) => import("./plan-approval.workflow.js").PlanApprovalReplan;
518
+ };
519
+ };
520
+ }>;
521
+ };
522
+ exits?: {
339
523
  readonly ready: {
340
524
  readonly from: "finalize";
341
- readonly validate: (value: unknown) => import("./autoplan.workflow.js").AutoplanReady;
525
+ readonly validate: (value: unknown) => import("./plan-change.workflow.js").PlanChangeReady;
342
526
  };
343
527
  readonly blocked: {
344
528
  readonly from: "blocked";
345
- readonly validate: (value: unknown) => import("./autoplan.workflow.js").AutoplanBlocked;
529
+ readonly validate: (value: unknown) => import("./plan-change.workflow.js").PlanChangeBlocked;
530
+ };
531
+ };
532
+ }>;
533
+ }> & {
534
+ nodes: {
535
+ readonly prepare: import("../workflows/types.js").ComputeNodeDefinition;
536
+ readonly findPlan: import("../workflows/types.js").SubmittedAgentNodeDefinition;
537
+ readonly routeFoundPlan: import("../workflows/types.js").ComputeNodeDefinition;
538
+ readonly adoptPlan: import("../workflows/types.js").ComputeNodeDefinition;
539
+ readonly timeoutFallbackGuard: import("../workflows/types.js").ComputeNodeDefinition;
540
+ readonly timeoutFallback: import("../workflows/types.js").SubmittedAgentNodeDefinition;
541
+ readonly routeTimeoutFallback: import("../workflows/types.js").ComputeNodeDefinition;
542
+ readonly propagateSupportedFailure: import("../workflows/types.js").ComputeNodeDefinition;
543
+ readonly routeVerifyP2Result: import("../workflows/types.js").ComputeNodeDefinition;
544
+ readonly routeInspectCommentsResult: import("../workflows/types.js").ComputeNodeDefinition;
545
+ readonly routeInspectCiResult: import("../workflows/types.js").ComputeNodeDefinition;
546
+ readonly routeFinalizeDeliveryResult: import("../workflows/types.js").ComputeNodeDefinition;
547
+ readonly implement: import("../workflows/types.js").SubmittedAgentNodeDefinition;
548
+ readonly classifyImplementation: import("../workflows/types.js").SubmittedAgentNodeDefinition;
549
+ readonly challengeBlockerGuard: import("../workflows/types.js").ComputeNodeDefinition;
550
+ readonly challengeBlocker: import("../workflows/types.js").SubmittedAgentNodeDefinition;
551
+ readonly planVerification: import("../workflows/types.js").SubmittedAgentNodeDefinition;
552
+ readonly runVerification: import("../workflows/types.js").FunctionActionNodeDefinition;
553
+ readonly verify: import("../workflows/types.js").SubmittedAgentNodeDefinition;
554
+ readonly classifyVerification: import("../workflows/types.js").SubmittedAgentNodeDefinition;
555
+ readonly fix: import("../workflows/types.js").SubmittedAgentNodeDefinition;
556
+ readonly publish: import("../workflows/types.js").SubmittedAgentNodeDefinition;
557
+ readonly selectReviewCommands: import("../workflows/types.js").ComputeNodeDefinition;
558
+ readonly runReview: import("../workflows/types.js").FunctionActionNodeDefinition;
559
+ readonly repairReviewCommand: import("../workflows/types.js").SubmittedAgentNodeDefinition;
560
+ readonly assessReview: import("../workflows/types.js").SubmittedAgentNodeDefinition;
561
+ readonly triageReview: import("../workflows/types.js").ComputeNodeDefinition;
562
+ readonly addressP2: import("../workflows/types.js").SubmittedAgentNodeDefinition;
563
+ readonly verifyP2: import("../workflows/types.js").SubmittedAgentNodeDefinition;
564
+ readonly inspectComments: import("../workflows/types.js").SubmittedAgentNodeDefinition;
565
+ readonly inspectCi: import("../workflows/types.js").SubmittedAgentNodeDefinition;
566
+ readonly trackCi: import("../workflows/types.js").FunctionActionNodeDefinition;
567
+ readonly repairCiCommand: import("../workflows/types.js").SubmittedAgentNodeDefinition;
568
+ readonly assessTrackedCi: import("../workflows/types.js").SubmittedAgentNodeDefinition;
569
+ readonly opportunisticTest: import("../workflows/types.js").SubmittedAgentNodeDefinition;
570
+ readonly classifyCi: import("../workflows/types.js").SubmittedAgentNodeDefinition;
571
+ readonly finalizeDelivery: import("../workflows/types.js").SubmittedAgentNodeDefinition;
572
+ readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
573
+ readonly finalize: import("../workflows/types.js").ComputeNodeDefinition;
574
+ };
575
+ includes?: {
576
+ readonly documentation: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<AutodocInput, {
577
+ readonly ready: {
578
+ readonly from: "finalize";
579
+ readonly validate: (value: unknown) => import("./autodoc.workflow.js").DocumentedPlan;
580
+ };
581
+ readonly blocked: {
582
+ readonly from: "blocked";
583
+ readonly validate: (value: unknown) => import("./autodoc.workflow.js").AutodocBlocked;
346
584
  };
347
585
  }, import("../workflows/types.js").WorkflowIncludeMap> & {
348
586
  nodes: {
349
- readonly frame: import("../workflows/types.js").AgentNodeDefinition;
350
- readonly propose: import("../workflows/types.js").AgentNodeDefinition;
351
- readonly ideal: import("../workflows/types.js").AgentNodeDefinition;
352
- readonly choose: import("../workflows/types.js").AgentNodeDefinition;
353
- readonly plan: import("../workflows/types.js").AgentNodeDefinition;
354
- readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
587
+ readonly prepare: import("../workflows/types.js").ComputeNodeDefinition;
588
+ readonly locatePlan: import("../workflows/types.js").SubmittedAgentNodeDefinition;
589
+ readonly inspectDocumentation: import("../workflows/types.js").SubmittedAgentNodeDefinition;
590
+ readonly updateDocumentation: import("../workflows/types.js").SubmittedAgentNodeDefinition;
591
+ readonly verifyDocumentation: import("../workflows/types.js").SubmittedAgentNodeDefinition;
355
592
  readonly finalize: import("../workflows/types.js").ComputeNodeDefinition;
593
+ readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
356
594
  };
357
595
  includes?: import("../workflows/types.js").WorkflowIncludeMap;
358
596
  exits?: {
597
+ readonly ready: {
598
+ readonly from: "finalize";
599
+ readonly validate: (value: unknown) => import("./autodoc.workflow.js").DocumentedPlan;
600
+ };
601
+ readonly blocked: {
602
+ readonly from: "blocked";
603
+ readonly validate: (value: unknown) => import("./autodoc.workflow.js").AutodocBlocked;
604
+ };
605
+ };
606
+ }>;
607
+ readonly redesign: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<NormalizedPlanChangeInput, {
608
+ readonly ready: {
609
+ readonly from: "finalize";
610
+ readonly validate: (value: unknown) => import("./plan-change.workflow.js").PlanChangeReady;
611
+ };
612
+ readonly blocked: {
613
+ readonly from: "blocked";
614
+ readonly validate: (value: unknown) => import("./plan-change.workflow.js").PlanChangeBlocked;
615
+ };
616
+ }, {
617
+ readonly design: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<import("./autoplan.workflow.js").AutoplanInput, {
359
618
  readonly ready: {
360
619
  readonly from: "finalize";
361
620
  readonly validate: (value: unknown) => import("./autoplan.workflow.js").AutoplanReady;
@@ -364,6 +623,402 @@ export declare const autoimplementWorkflow: import("../workflows/types.js").Work
364
623
  readonly from: "blocked";
365
624
  readonly validate: (value: unknown) => import("./autoplan.workflow.js").AutoplanBlocked;
366
625
  };
626
+ }, {
627
+ readonly readySummary: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<import("./plain-summary.workflow.js").PlainSummaryInput, {
628
+ readonly completed: {
629
+ readonly from: "finish";
630
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
631
+ };
632
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
633
+ nodes: {
634
+ readonly summarize: import("../workflows/types.js").AssistantAgentNodeDefinition;
635
+ readonly finish: import("../workflows/types.js").ComputeNodeDefinition;
636
+ };
637
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
638
+ exits?: {
639
+ readonly completed: {
640
+ readonly from: "finish";
641
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
642
+ };
643
+ };
644
+ }>;
645
+ readonly blockedSummary: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<import("./plain-summary.workflow.js").PlainSummaryInput, {
646
+ readonly completed: {
647
+ readonly from: "finish";
648
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
649
+ };
650
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
651
+ nodes: {
652
+ readonly summarize: import("../workflows/types.js").AssistantAgentNodeDefinition;
653
+ readonly finish: import("../workflows/types.js").ComputeNodeDefinition;
654
+ };
655
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
656
+ exits?: {
657
+ readonly completed: {
658
+ readonly from: "finish";
659
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
660
+ };
661
+ };
662
+ }>;
663
+ }> & {
664
+ nodes: {
665
+ readonly frame: import("../workflows/types.js").SubmittedAgentNodeDefinition;
666
+ readonly propose: import("../workflows/types.js").SubmittedAgentNodeDefinition;
667
+ readonly ideal: import("../workflows/types.js").SubmittedAgentNodeDefinition;
668
+ readonly choose: import("../workflows/types.js").SubmittedAgentNodeDefinition;
669
+ readonly plan: import("../workflows/types.js").SubmittedAgentNodeDefinition;
670
+ readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
671
+ readonly finalize: import("../workflows/types.js").ComputeNodeDefinition;
672
+ };
673
+ includes?: {
674
+ readonly readySummary: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<import("./plain-summary.workflow.js").PlainSummaryInput, {
675
+ readonly completed: {
676
+ readonly from: "finish";
677
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
678
+ };
679
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
680
+ nodes: {
681
+ readonly summarize: import("../workflows/types.js").AssistantAgentNodeDefinition;
682
+ readonly finish: import("../workflows/types.js").ComputeNodeDefinition;
683
+ };
684
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
685
+ exits?: {
686
+ readonly completed: {
687
+ readonly from: "finish";
688
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
689
+ };
690
+ };
691
+ }>;
692
+ readonly blockedSummary: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<import("./plain-summary.workflow.js").PlainSummaryInput, {
693
+ readonly completed: {
694
+ readonly from: "finish";
695
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
696
+ };
697
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
698
+ nodes: {
699
+ readonly summarize: import("../workflows/types.js").AssistantAgentNodeDefinition;
700
+ readonly finish: import("../workflows/types.js").ComputeNodeDefinition;
701
+ };
702
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
703
+ exits?: {
704
+ readonly completed: {
705
+ readonly from: "finish";
706
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
707
+ };
708
+ };
709
+ }>;
710
+ };
711
+ exits?: {
712
+ readonly ready: {
713
+ readonly from: "finalize";
714
+ readonly validate: (value: unknown) => import("./autoplan.workflow.js").AutoplanReady;
715
+ };
716
+ readonly blocked: {
717
+ readonly from: "blocked";
718
+ readonly validate: (value: unknown) => import("./autoplan.workflow.js").AutoplanBlocked;
719
+ };
720
+ };
721
+ }>;
722
+ readonly documentation: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<AutodocInput, {
723
+ readonly ready: {
724
+ readonly from: "finalize";
725
+ readonly validate: (value: unknown) => import("./autodoc.workflow.js").DocumentedPlan;
726
+ };
727
+ readonly blocked: {
728
+ readonly from: "blocked";
729
+ readonly validate: (value: unknown) => import("./autodoc.workflow.js").AutodocBlocked;
730
+ };
731
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
732
+ nodes: {
733
+ readonly prepare: import("../workflows/types.js").ComputeNodeDefinition;
734
+ readonly locatePlan: import("../workflows/types.js").SubmittedAgentNodeDefinition;
735
+ readonly inspectDocumentation: import("../workflows/types.js").SubmittedAgentNodeDefinition;
736
+ readonly updateDocumentation: import("../workflows/types.js").SubmittedAgentNodeDefinition;
737
+ readonly verifyDocumentation: import("../workflows/types.js").SubmittedAgentNodeDefinition;
738
+ readonly finalize: import("../workflows/types.js").ComputeNodeDefinition;
739
+ readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
740
+ };
741
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
742
+ exits?: {
743
+ readonly ready: {
744
+ readonly from: "finalize";
745
+ readonly validate: (value: unknown) => import("./autodoc.workflow.js").DocumentedPlan;
746
+ };
747
+ readonly blocked: {
748
+ readonly from: "blocked";
749
+ readonly validate: (value: unknown) => import("./autodoc.workflow.js").AutodocBlocked;
750
+ };
751
+ };
752
+ }>;
753
+ readonly approval: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<import("./plan-approval.workflow.js").NormalizedPlanApprovalInput, {
754
+ readonly continue: {
755
+ readonly from: "continued";
756
+ readonly validate: (value: unknown) => import("./plan-approval.workflow.js").PlanApprovalContinue;
757
+ };
758
+ readonly stop: {
759
+ readonly from: "stopped";
760
+ readonly validate: (value: unknown) => import("./plan-approval.workflow.js").PlanApprovalStop;
761
+ };
762
+ readonly replan: {
763
+ readonly from: "replan";
764
+ readonly validate: (value: unknown) => import("./plan-approval.workflow.js").PlanApprovalReplan;
765
+ };
766
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
767
+ nodes: {
768
+ readonly routePolicy: import("../workflows/types.js").ComputeNodeDefinition;
769
+ readonly approve: import("../workflows/types.js").WorkflowNodeCommon & {
770
+ nodeType: "checkpoint";
771
+ summary?: string;
772
+ run?: (context: WorkflowNodeContext) => import("../workflows/types.js").MaybePromise<unknown>;
773
+ humanDecision?: import("../workflows/types.js").HumanDecisionNodeContract;
774
+ } & {
775
+ readonly __humanChoices?: {
776
+ readonly continue: {
777
+ readonly label: "Yes, continue";
778
+ };
779
+ readonly stop: {
780
+ readonly label: "No, stop";
781
+ };
782
+ readonly replan: {
783
+ readonly label: "Replan";
784
+ readonly input: import("../workflows/types.js").HumanDecisionTextInput & {
785
+ name: "instructions";
786
+ };
787
+ };
788
+ };
789
+ };
790
+ readonly continued: import("../workflows/types.js").ComputeNodeDefinition;
791
+ readonly stopped: import("../workflows/types.js").ComputeNodeDefinition;
792
+ readonly replan: import("../workflows/types.js").ComputeNodeDefinition;
793
+ };
794
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
795
+ exits?: {
796
+ readonly continue: {
797
+ readonly from: "continued";
798
+ readonly validate: (value: unknown) => import("./plan-approval.workflow.js").PlanApprovalContinue;
799
+ };
800
+ readonly stop: {
801
+ readonly from: "stopped";
802
+ readonly validate: (value: unknown) => import("./plan-approval.workflow.js").PlanApprovalStop;
803
+ };
804
+ readonly replan: {
805
+ readonly from: "replan";
806
+ readonly validate: (value: unknown) => import("./plan-approval.workflow.js").PlanApprovalReplan;
807
+ };
808
+ };
809
+ }>;
810
+ }> & {
811
+ nodes: {
812
+ readonly start: import("../workflows/types.js").ComputeNodeDefinition;
813
+ readonly assessPlan: import("../workflows/types.js").ComputeNodeDefinition;
814
+ readonly replanGuard: import("../workflows/types.js").ComputeNodeDefinition;
815
+ readonly finalize: import("../workflows/types.js").ComputeNodeDefinition;
816
+ readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
817
+ };
818
+ includes?: {
819
+ readonly design: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<import("./autoplan.workflow.js").AutoplanInput, {
820
+ readonly ready: {
821
+ readonly from: "finalize";
822
+ readonly validate: (value: unknown) => import("./autoplan.workflow.js").AutoplanReady;
823
+ };
824
+ readonly blocked: {
825
+ readonly from: "blocked";
826
+ readonly validate: (value: unknown) => import("./autoplan.workflow.js").AutoplanBlocked;
827
+ };
828
+ }, {
829
+ readonly readySummary: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<import("./plain-summary.workflow.js").PlainSummaryInput, {
830
+ readonly completed: {
831
+ readonly from: "finish";
832
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
833
+ };
834
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
835
+ nodes: {
836
+ readonly summarize: import("../workflows/types.js").AssistantAgentNodeDefinition;
837
+ readonly finish: import("../workflows/types.js").ComputeNodeDefinition;
838
+ };
839
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
840
+ exits?: {
841
+ readonly completed: {
842
+ readonly from: "finish";
843
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
844
+ };
845
+ };
846
+ }>;
847
+ readonly blockedSummary: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<import("./plain-summary.workflow.js").PlainSummaryInput, {
848
+ readonly completed: {
849
+ readonly from: "finish";
850
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
851
+ };
852
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
853
+ nodes: {
854
+ readonly summarize: import("../workflows/types.js").AssistantAgentNodeDefinition;
855
+ readonly finish: import("../workflows/types.js").ComputeNodeDefinition;
856
+ };
857
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
858
+ exits?: {
859
+ readonly completed: {
860
+ readonly from: "finish";
861
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
862
+ };
863
+ };
864
+ }>;
865
+ }> & {
866
+ nodes: {
867
+ readonly frame: import("../workflows/types.js").SubmittedAgentNodeDefinition;
868
+ readonly propose: import("../workflows/types.js").SubmittedAgentNodeDefinition;
869
+ readonly ideal: import("../workflows/types.js").SubmittedAgentNodeDefinition;
870
+ readonly choose: import("../workflows/types.js").SubmittedAgentNodeDefinition;
871
+ readonly plan: import("../workflows/types.js").SubmittedAgentNodeDefinition;
872
+ readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
873
+ readonly finalize: import("../workflows/types.js").ComputeNodeDefinition;
874
+ };
875
+ includes?: {
876
+ readonly readySummary: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<import("./plain-summary.workflow.js").PlainSummaryInput, {
877
+ readonly completed: {
878
+ readonly from: "finish";
879
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
880
+ };
881
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
882
+ nodes: {
883
+ readonly summarize: import("../workflows/types.js").AssistantAgentNodeDefinition;
884
+ readonly finish: import("../workflows/types.js").ComputeNodeDefinition;
885
+ };
886
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
887
+ exits?: {
888
+ readonly completed: {
889
+ readonly from: "finish";
890
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
891
+ };
892
+ };
893
+ }>;
894
+ readonly blockedSummary: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<import("./plain-summary.workflow.js").PlainSummaryInput, {
895
+ readonly completed: {
896
+ readonly from: "finish";
897
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
898
+ };
899
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
900
+ nodes: {
901
+ readonly summarize: import("../workflows/types.js").AssistantAgentNodeDefinition;
902
+ readonly finish: import("../workflows/types.js").ComputeNodeDefinition;
903
+ };
904
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
905
+ exits?: {
906
+ readonly completed: {
907
+ readonly from: "finish";
908
+ readonly validate: (value: unknown) => import("./plain-summary.workflow.js").PlainSummaryResult;
909
+ };
910
+ };
911
+ }>;
912
+ };
913
+ exits?: {
914
+ readonly ready: {
915
+ readonly from: "finalize";
916
+ readonly validate: (value: unknown) => import("./autoplan.workflow.js").AutoplanReady;
917
+ };
918
+ readonly blocked: {
919
+ readonly from: "blocked";
920
+ readonly validate: (value: unknown) => import("./autoplan.workflow.js").AutoplanBlocked;
921
+ };
922
+ };
923
+ }>;
924
+ readonly documentation: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<AutodocInput, {
925
+ readonly ready: {
926
+ readonly from: "finalize";
927
+ readonly validate: (value: unknown) => import("./autodoc.workflow.js").DocumentedPlan;
928
+ };
929
+ readonly blocked: {
930
+ readonly from: "blocked";
931
+ readonly validate: (value: unknown) => import("./autodoc.workflow.js").AutodocBlocked;
932
+ };
933
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
934
+ nodes: {
935
+ readonly prepare: import("../workflows/types.js").ComputeNodeDefinition;
936
+ readonly locatePlan: import("../workflows/types.js").SubmittedAgentNodeDefinition;
937
+ readonly inspectDocumentation: import("../workflows/types.js").SubmittedAgentNodeDefinition;
938
+ readonly updateDocumentation: import("../workflows/types.js").SubmittedAgentNodeDefinition;
939
+ readonly verifyDocumentation: import("../workflows/types.js").SubmittedAgentNodeDefinition;
940
+ readonly finalize: import("../workflows/types.js").ComputeNodeDefinition;
941
+ readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
942
+ };
943
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
944
+ exits?: {
945
+ readonly ready: {
946
+ readonly from: "finalize";
947
+ readonly validate: (value: unknown) => import("./autodoc.workflow.js").DocumentedPlan;
948
+ };
949
+ readonly blocked: {
950
+ readonly from: "blocked";
951
+ readonly validate: (value: unknown) => import("./autodoc.workflow.js").AutodocBlocked;
952
+ };
953
+ };
954
+ }>;
955
+ readonly approval: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<import("./plan-approval.workflow.js").NormalizedPlanApprovalInput, {
956
+ readonly continue: {
957
+ readonly from: "continued";
958
+ readonly validate: (value: unknown) => import("./plan-approval.workflow.js").PlanApprovalContinue;
959
+ };
960
+ readonly stop: {
961
+ readonly from: "stopped";
962
+ readonly validate: (value: unknown) => import("./plan-approval.workflow.js").PlanApprovalStop;
963
+ };
964
+ readonly replan: {
965
+ readonly from: "replan";
966
+ readonly validate: (value: unknown) => import("./plan-approval.workflow.js").PlanApprovalReplan;
967
+ };
968
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
969
+ nodes: {
970
+ readonly routePolicy: import("../workflows/types.js").ComputeNodeDefinition;
971
+ readonly approve: import("../workflows/types.js").WorkflowNodeCommon & {
972
+ nodeType: "checkpoint";
973
+ summary?: string;
974
+ run?: (context: WorkflowNodeContext) => import("../workflows/types.js").MaybePromise<unknown>;
975
+ humanDecision?: import("../workflows/types.js").HumanDecisionNodeContract;
976
+ } & {
977
+ readonly __humanChoices?: {
978
+ readonly continue: {
979
+ readonly label: "Yes, continue";
980
+ };
981
+ readonly stop: {
982
+ readonly label: "No, stop";
983
+ };
984
+ readonly replan: {
985
+ readonly label: "Replan";
986
+ readonly input: import("../workflows/types.js").HumanDecisionTextInput & {
987
+ name: "instructions";
988
+ };
989
+ };
990
+ };
991
+ };
992
+ readonly continued: import("../workflows/types.js").ComputeNodeDefinition;
993
+ readonly stopped: import("../workflows/types.js").ComputeNodeDefinition;
994
+ readonly replan: import("../workflows/types.js").ComputeNodeDefinition;
995
+ };
996
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
997
+ exits?: {
998
+ readonly continue: {
999
+ readonly from: "continued";
1000
+ readonly validate: (value: unknown) => import("./plan-approval.workflow.js").PlanApprovalContinue;
1001
+ };
1002
+ readonly stop: {
1003
+ readonly from: "stopped";
1004
+ readonly validate: (value: unknown) => import("./plan-approval.workflow.js").PlanApprovalStop;
1005
+ };
1006
+ readonly replan: {
1007
+ readonly from: "replan";
1008
+ readonly validate: (value: unknown) => import("./plan-approval.workflow.js").PlanApprovalReplan;
1009
+ };
1010
+ };
1011
+ }>;
1012
+ };
1013
+ exits?: {
1014
+ readonly ready: {
1015
+ readonly from: "finalize";
1016
+ readonly validate: (value: unknown) => import("./plan-change.workflow.js").PlanChangeReady;
1017
+ };
1018
+ readonly blocked: {
1019
+ readonly from: "blocked";
1020
+ readonly validate: (value: unknown) => import("./plan-change.workflow.js").PlanChangeBlocked;
1021
+ };
367
1022
  };
368
1023
  }>;
369
1024
  };