@swirls/looms 0.0.2 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (375) hide show
  1. package/CHANGELOG.md +24 -2
  2. package/dist/actor/cell.d.ts +9 -4
  3. package/dist/actor/cell.js +7 -11
  4. package/dist/actor/host.d.ts +7 -3
  5. package/dist/actor/host.js +57 -33
  6. package/dist/actor/index.d.ts +1 -1
  7. package/dist/actor/index.js +1 -1
  8. package/dist/actor/routing.d.ts +12 -1
  9. package/dist/actor/routing.js +57 -51
  10. package/dist/agent/agent-session.d.ts +5 -0
  11. package/dist/agent/agent-session.js +270 -0
  12. package/dist/agent/debugger/agent-chat.d.ts +2 -0
  13. package/dist/agent/debugger/agent-chat.js +176 -0
  14. package/dist/agent/debugger/index.d.ts +5 -0
  15. package/dist/agent/debugger/index.js +19 -0
  16. package/dist/agent/debugger/summarize.d.ts +2 -0
  17. package/dist/agent/debugger/summarize.js +51 -0
  18. package/dist/agent/debugger/token-usage.d.ts +3 -0
  19. package/dist/agent/debugger/token-usage.js +11 -0
  20. package/dist/agent/definitions-store.d.ts +2 -3
  21. package/dist/agent/definitions-store.js +2 -4
  22. package/dist/agent/definitions.d.ts +47 -29
  23. package/dist/agent/definitions.js +39 -12
  24. package/dist/agent/effects.d.ts +359 -2
  25. package/dist/agent/effects.js +60 -34
  26. package/dist/agent/events.d.ts +175 -19
  27. package/dist/agent/events.js +45 -10
  28. package/dist/agent/index.d.ts +1 -0
  29. package/dist/agent/index.js +1 -0
  30. package/dist/agent/llm.d.ts +11 -2
  31. package/dist/agent/llm.js +13 -3
  32. package/dist/agent/module.d.ts +812 -78
  33. package/dist/agent/module.js +16 -4
  34. package/dist/agent/scope.d.ts +174 -18
  35. package/dist/agent/signals.d.ts +26 -1
  36. package/dist/agent/signals.js +79 -0
  37. package/dist/agent/threads.d.ts +3 -33
  38. package/dist/agent/threads.js +20 -25
  39. package/dist/agent/tool-schema.d.ts +1 -17
  40. package/dist/agent/tool-schema.js +3 -43
  41. package/dist/agent/types.d.ts +49 -4
  42. package/dist/agent/types.js +5 -5
  43. package/dist/ai-vercel/index.d.ts +1 -0
  44. package/dist/ai-vercel/index.js +1 -0
  45. package/dist/ai-vercel/messages.js +22 -7
  46. package/dist/ai-vercel/vercel-evaluator.d.ts +36 -0
  47. package/dist/ai-vercel/vercel-evaluator.js +73 -0
  48. package/dist/ai-vercel/vercel-llm.js +64 -44
  49. package/dist/approval/debugger/approvals-view.d.ts +3 -0
  50. package/dist/approval/debugger/approvals-view.js +16 -0
  51. package/dist/approval/debugger/index.d.ts +4 -0
  52. package/dist/approval/debugger/index.js +11 -0
  53. package/dist/approval/debugger/summarize.d.ts +2 -0
  54. package/dist/approval/debugger/summarize.js +17 -0
  55. package/dist/approval/effects.d.ts +89 -0
  56. package/dist/approval/module.d.ts +179 -29
  57. package/dist/approval/projections.d.ts +0 -14
  58. package/dist/approval/projections.js +20 -3
  59. package/dist/approval/signals.d.ts +2 -0
  60. package/dist/approval/signals.js +18 -2
  61. package/dist/cli/cli.js +2 -0
  62. package/dist/cli/commands.js +12 -16
  63. package/dist/client/client.d.ts +1213 -18
  64. package/dist/client/client.js +120 -120
  65. package/dist/client/index.d.ts +1 -1
  66. package/dist/client/index.js +1 -1
  67. package/dist/client/sse.d.ts +13 -0
  68. package/dist/client/sse.js +38 -44
  69. package/dist/cloudflare/alarm-scheduler.d.ts +12 -2
  70. package/dist/cloudflare/alarm-scheduler.js +34 -7
  71. package/dist/cloudflare/durable-object.d.ts +10 -2
  72. package/dist/cloudflare/durable-object.js +59 -28
  73. package/dist/cloudflare/event-store.d.ts +7 -2
  74. package/dist/cloudflare/event-store.js +8 -7
  75. package/dist/cloudflare/index.d.ts +2 -2
  76. package/dist/cloudflare/index.js +2 -2
  77. package/dist/cloudflare/router.d.ts +1 -1
  78. package/dist/cloudflare/router.js +15 -16
  79. package/dist/core/catalog.d.ts +3 -3
  80. package/dist/core/catalog.js +2 -5
  81. package/dist/core/coalesce.js +5 -3
  82. package/dist/core/compose.d.ts +2 -1
  83. package/dist/core/compose.js +19 -2
  84. package/dist/core/debugger-host.d.ts +16 -0
  85. package/dist/core/debugger-host.js +1 -0
  86. package/dist/core/definition-store.d.ts +11 -0
  87. package/dist/core/definition-store.js +6 -0
  88. package/dist/core/effects.d.ts +127 -15
  89. package/dist/core/effects.js +89 -17
  90. package/dist/core/envelope.d.ts +27 -7
  91. package/dist/core/envelope.js +20 -6
  92. package/dist/core/event-codec.d.ts +4 -2
  93. package/dist/core/event-codec.js +10 -5
  94. package/dist/core/event-index.js +1 -3
  95. package/dist/core/fold.d.ts +3 -0
  96. package/dist/core/fold.js +171 -24
  97. package/dist/core/ids.d.ts +5 -0
  98. package/dist/core/ids.js +35 -2
  99. package/dist/core/index.d.ts +7 -1
  100. package/dist/core/index.js +6 -1
  101. package/dist/core/kind.d.ts +22 -0
  102. package/dist/core/kind.js +17 -0
  103. package/dist/core/limits.d.ts +34 -0
  104. package/dist/core/limits.js +46 -0
  105. package/dist/core/match.d.ts +1 -0
  106. package/dist/core/match.js +10 -1
  107. package/dist/core/module-scope.d.ts +22 -20
  108. package/dist/core/module-scope.js +38 -28
  109. package/dist/core/module.d.ts +18 -5
  110. package/dist/core/module.js +4 -0
  111. package/dist/core/projection.d.ts +13 -13
  112. package/dist/core/projection.js +9 -5
  113. package/dist/core/protocol.d.ts +68 -11
  114. package/dist/core/protocol.js +82 -11
  115. package/dist/core/published.d.ts +43 -0
  116. package/dist/core/published.js +44 -0
  117. package/dist/core/replay.d.ts +312 -3
  118. package/dist/core/replay.js +11 -1
  119. package/dist/core/schema.d.ts +11 -20
  120. package/dist/core/schema.js +63 -80
  121. package/dist/core/serialize.js +2 -4
  122. package/dist/core/snapshot-store.d.ts +6 -1
  123. package/dist/core/snapshot-store.js +15 -2
  124. package/dist/core/snapshots.d.ts +5 -1
  125. package/dist/core/snapshots.js +10 -15
  126. package/dist/core/sqlite-store.js +95 -11
  127. package/dist/core/state.d.ts +142 -4
  128. package/dist/core/state.js +78 -0
  129. package/dist/core/store.d.ts +38 -3
  130. package/dist/core/store.js +77 -22
  131. package/dist/core/thread.d.ts +10 -9
  132. package/dist/core/types.d.ts +5 -8
  133. package/dist/core/types.js +28 -24
  134. package/dist/core/validate-event.js +14 -4
  135. package/dist/core/worker-callback.d.ts +17 -0
  136. package/dist/core/worker-callback.js +1 -0
  137. package/dist/debugger/app/assets/index-B3Ah8WAE.css +2 -0
  138. package/dist/debugger/app/assets/index-Qb371t_O.js +22 -0
  139. package/dist/debugger/app/assets/rolldown-runtime-CbXtAM7H.js +1 -0
  140. package/dist/debugger/app/assets/routes-CjtEHgPQ.js +47 -0
  141. package/dist/debugger/app/index.html +14 -0
  142. package/dist/debugger/components/composer.d.ts +17 -0
  143. package/dist/debugger/components/composer.js +25 -0
  144. package/dist/debugger/components/debugger-split.d.ts +2 -1
  145. package/dist/debugger/components/debugger-split.js +2 -2
  146. package/dist/debugger/components/event-inspector.d.ts +2 -1
  147. package/dist/debugger/components/event-inspector.js +25 -16
  148. package/dist/debugger/components/event-stream.d.ts +2 -1
  149. package/dist/debugger/components/event-stream.js +14 -74
  150. package/dist/debugger/components/follow-list.d.ts +19 -0
  151. package/dist/debugger/components/follow-list.js +96 -0
  152. package/dist/debugger/components/json-tree.d.ts +11 -0
  153. package/dist/debugger/components/json-tree.js +120 -0
  154. package/dist/debugger/components/json-view.js +2 -2
  155. package/dist/debugger/components/run-tree.js +53 -20
  156. package/dist/debugger/components/status-dot.d.ts +4 -0
  157. package/dist/debugger/components/status-dot.js +6 -2
  158. package/dist/debugger/context.d.ts +14 -0
  159. package/dist/debugger/context.js +17 -0
  160. package/dist/debugger/contracts.d.ts +7 -4
  161. package/dist/debugger/events/builtin-families.d.ts +3 -0
  162. package/dist/debugger/events/builtin-families.js +9 -0
  163. package/dist/debugger/events/catalog.d.ts +3 -4
  164. package/dist/debugger/events/catalog.js +27 -17
  165. package/dist/debugger/events/protocol-summarize.d.ts +1 -2
  166. package/dist/debugger/events/protocol-summarize.js +42 -24
  167. package/dist/debugger/index.d.ts +20 -6
  168. package/dist/debugger/index.js +19 -5
  169. package/dist/debugger/lib/cn.d.ts +1 -0
  170. package/dist/debugger/lib/cn.js +3 -0
  171. package/dist/debugger/lib/event-meta.d.ts +2 -3
  172. package/dist/debugger/lib/event-meta.js +6 -12
  173. package/dist/debugger/lib/json.d.ts +25 -0
  174. package/dist/debugger/lib/json.js +87 -0
  175. package/dist/debugger/lib/payload.d.ts +7 -0
  176. package/dist/debugger/lib/payload.js +11 -0
  177. package/dist/debugger/lib/time.d.ts +3 -0
  178. package/dist/debugger/lib/time.js +24 -0
  179. package/dist/debugger/plugin.d.ts +36 -0
  180. package/dist/debugger/plugin.js +14 -0
  181. package/dist/debugger/server/index.d.ts +14 -0
  182. package/dist/debugger/server/index.js +114 -0
  183. package/dist/debugger/shell/debugger-shell.d.ts +15 -0
  184. package/dist/debugger/shell/debugger-shell.js +43 -0
  185. package/dist/debugger/shell/definition-key.d.ts +3 -0
  186. package/dist/debugger/shell/definition-key.js +4 -0
  187. package/dist/debugger/shell/events-pane.d.ts +12 -0
  188. package/dist/debugger/shell/events-pane.js +25 -0
  189. package/dist/debugger/shell/projections-panel.d.ts +4 -0
  190. package/dist/debugger/shell/projections-panel.js +59 -0
  191. package/dist/debugger/shell/run-controls.d.ts +4 -0
  192. package/dist/debugger/shell/run-controls.js +72 -0
  193. package/dist/debugger/shell/run-search.d.ts +6 -0
  194. package/dist/debugger/shell/run-search.js +102 -0
  195. package/dist/debugger/shell/run-type-menu.d.ts +6 -0
  196. package/dist/debugger/shell/run-type-menu.js +11 -0
  197. package/dist/debugger/shell/schema-form.d.ts +31 -0
  198. package/dist/debugger/shell/schema-form.js +117 -0
  199. package/dist/debugger/shell/start-form.d.ts +3 -0
  200. package/dist/debugger/shell/start-form.js +75 -0
  201. package/dist/debugger/shell/use-start-run.d.ts +14 -0
  202. package/dist/debugger/shell/use-start-run.js +32 -0
  203. package/dist/debugger/shell/workspace.d.ts +6 -0
  204. package/dist/debugger/shell/workspace.js +15 -0
  205. package/dist/debugger/styles.css +111 -27
  206. package/dist/debugger/ui/button.d.ts +24 -0
  207. package/dist/debugger/ui/button.js +24 -0
  208. package/dist/debugger/ui/command.d.ts +9 -0
  209. package/dist/debugger/ui/command.js +24 -0
  210. package/dist/debugger/ui/dropdown-menu.d.ts +13 -0
  211. package/dist/debugger/ui/dropdown-menu.js +37 -0
  212. package/dist/debugger/ui/panel.d.ts +14 -0
  213. package/dist/debugger/ui/panel.js +16 -0
  214. package/dist/debugger/ui/popover.d.ts +7 -0
  215. package/dist/debugger/ui/popover.js +17 -0
  216. package/dist/debugger/ui/resizable.d.ts +7 -0
  217. package/dist/debugger/ui/resizable.js +14 -0
  218. package/dist/debugger/ui/scroll-area.d.ts +2 -1
  219. package/dist/debugger/ui/scroll-area.js +5 -3
  220. package/dist/debugger/ui/select.d.ts +10 -0
  221. package/dist/debugger/ui/select.js +21 -0
  222. package/dist/debugger/ui/tabs.js +2 -2
  223. package/dist/debugger/ui/textarea.d.ts +3 -0
  224. package/dist/debugger/ui/textarea.js +7 -0
  225. package/dist/evaluator/definitions-store.d.ts +11 -0
  226. package/dist/evaluator/definitions-store.js +8 -0
  227. package/dist/evaluator/definitions.d.ts +18 -0
  228. package/dist/evaluator/definitions.js +4 -0
  229. package/dist/evaluator/effects.d.ts +226 -0
  230. package/dist/evaluator/effects.js +132 -0
  231. package/dist/evaluator/evaluator.d.ts +24 -0
  232. package/dist/evaluator/evaluator.js +67 -0
  233. package/dist/evaluator/events.d.ts +59 -0
  234. package/dist/evaluator/events.js +21 -0
  235. package/dist/evaluator/index.d.ts +11 -0
  236. package/dist/evaluator/index.js +11 -0
  237. package/dist/evaluator/module.d.ts +606 -0
  238. package/dist/evaluator/module.js +25 -0
  239. package/dist/evaluator/projections.d.ts +50 -0
  240. package/dist/evaluator/projections.js +20 -0
  241. package/dist/evaluator/scope.d.ts +59 -0
  242. package/dist/evaluator/scope.js +7 -0
  243. package/dist/evaluator/signals.d.ts +3 -0
  244. package/dist/evaluator/signals.js +17 -0
  245. package/dist/evaluator/threads.d.ts +62 -0
  246. package/dist/evaluator/threads.js +117 -0
  247. package/dist/evaluator/types.d.ts +125 -0
  248. package/dist/evaluator/types.js +51 -0
  249. package/dist/projectors/delivery.d.ts +83 -0
  250. package/dist/projectors/delivery.js +182 -0
  251. package/dist/projectors/index-model.d.ts +1 -1
  252. package/dist/projectors/index-model.js +4 -6
  253. package/dist/projectors/index.d.ts +2 -0
  254. package/dist/projectors/index.js +2 -0
  255. package/dist/projectors/memory.d.ts +1 -1
  256. package/dist/projectors/memory.js +10 -8
  257. package/dist/projectors/postgres.js +44 -58
  258. package/dist/projectors/projector.d.ts +17 -0
  259. package/dist/projectors/projector.js +26 -1
  260. package/dist/projectors/sqlite-delivery.d.ts +4 -0
  261. package/dist/projectors/sqlite-delivery.js +147 -0
  262. package/dist/projectors/sqlite.js +23 -23
  263. package/dist/projectors/with-projectors.d.ts +7 -2
  264. package/dist/projectors/with-projectors.js +27 -28
  265. package/dist/react/notify.js +11 -8
  266. package/dist/react/react.d.ts +2 -3
  267. package/dist/react/react.js +14 -30
  268. package/dist/react/sse.d.ts +1 -1
  269. package/dist/react/sse.js +1 -1
  270. package/dist/react/store.d.ts +3 -3
  271. package/dist/react/store.js +109 -119
  272. package/dist/runtime/cancellation.d.ts +16 -0
  273. package/dist/runtime/cancellation.js +129 -0
  274. package/dist/runtime/deadline-transition-planner.d.ts +31 -0
  275. package/dist/runtime/deadline-transition-planner.js +139 -0
  276. package/dist/runtime/dispatch-effect.d.ts +3 -2
  277. package/dist/runtime/dispatch-effect.js +7 -13
  278. package/dist/runtime/errors.d.ts +51 -0
  279. package/dist/runtime/errors.js +39 -0
  280. package/dist/runtime/{runtime-helpers.d.ts → helpers.d.ts} +24 -4
  281. package/dist/runtime/{runtime-helpers.js → helpers.js} +56 -19
  282. package/dist/runtime/index.d.ts +3 -3
  283. package/dist/runtime/index.js +3 -3
  284. package/dist/runtime/ingress.d.ts +15 -0
  285. package/dist/runtime/ingress.js +42 -0
  286. package/dist/runtime/local-effect-executor.d.ts +21 -0
  287. package/dist/runtime/local-effect-executor.js +137 -0
  288. package/dist/runtime/looms.d.ts +30 -4
  289. package/dist/runtime/looms.js +57 -37
  290. package/dist/runtime/observer.d.ts +45 -0
  291. package/dist/runtime/observer.js +11 -0
  292. package/dist/runtime/repository.d.ts +55 -0
  293. package/dist/runtime/repository.js +293 -0
  294. package/dist/runtime/retry-policy.d.ts +16 -0
  295. package/dist/runtime/retry-policy.js +29 -0
  296. package/dist/runtime/run-execution-context.d.ts +30 -0
  297. package/dist/runtime/run-execution-context.js +56 -0
  298. package/dist/runtime/run-start.d.ts +4 -0
  299. package/dist/runtime/run-start.js +44 -0
  300. package/dist/runtime/runtime.d.ts +6 -87
  301. package/dist/runtime/runtime.js +248 -470
  302. package/dist/runtime/server/auth.d.ts +41 -0
  303. package/dist/runtime/server/auth.js +45 -0
  304. package/dist/runtime/server/debugger-host.d.ts +11 -0
  305. package/dist/runtime/server/debugger-host.js +32 -0
  306. package/dist/runtime/server/fetch-handler.d.ts +18 -0
  307. package/dist/runtime/server/fetch-handler.js +62 -0
  308. package/dist/runtime/server/http.d.ts +38 -0
  309. package/dist/runtime/server/http.js +66 -0
  310. package/dist/runtime/server/route-table.d.ts +55 -0
  311. package/dist/runtime/server/route-table.js +74 -0
  312. package/dist/runtime/server/routes/definitions.d.ts +3 -0
  313. package/dist/runtime/server/routes/definitions.js +20 -0
  314. package/dist/runtime/server/routes/effects.d.ts +3 -0
  315. package/dist/runtime/server/routes/effects.js +59 -0
  316. package/dist/runtime/server/routes/operations.d.ts +3 -0
  317. package/dist/runtime/server/routes/operations.js +14 -0
  318. package/dist/runtime/server/routes/runs.d.ts +3 -0
  319. package/dist/runtime/server/routes/runs.js +199 -0
  320. package/dist/runtime/server.d.ts +4 -8
  321. package/dist/runtime/server.js +6 -211
  322. package/dist/runtime/sse.d.ts +2 -1
  323. package/dist/runtime/sse.js +24 -17
  324. package/dist/runtime/types.d.ts +117 -0
  325. package/dist/runtime/types.js +1 -0
  326. package/dist/runtime/wake-engine.d.ts +20 -0
  327. package/dist/runtime/wake-engine.js +311 -0
  328. package/dist/runtime/wake-scheduler.d.ts +3 -4
  329. package/dist/runtime/wake-scheduler.js +25 -31
  330. package/dist/runtime/worker-callbacks.d.ts +16 -0
  331. package/dist/runtime/worker-callbacks.js +167 -0
  332. package/dist/runtime/worker-effect-dispatch.d.ts +36 -0
  333. package/dist/runtime/worker-effect-dispatch.js +126 -0
  334. package/dist/s2/config.d.ts +1 -1
  335. package/dist/s2/config.js +1 -1
  336. package/dist/s2/lite.js +70 -82
  337. package/dist/s2/pagination.d.ts +15 -0
  338. package/dist/s2/pagination.js +36 -0
  339. package/dist/s2/projector.js +6 -5
  340. package/dist/s2/snapshot-store.js +188 -161
  341. package/dist/s2/store.d.ts +3 -21
  342. package/dist/s2/store.js +71 -165
  343. package/dist/testing/index.d.ts +15 -0
  344. package/dist/testing/index.js +53 -16
  345. package/dist/workflow/debugger/index.d.ts +4 -0
  346. package/dist/workflow/debugger/index.js +11 -0
  347. package/dist/workflow/debugger/nodes-view.d.ts +3 -0
  348. package/dist/workflow/debugger/nodes-view.js +13 -0
  349. package/dist/workflow/debugger/summarize.d.ts +2 -0
  350. package/dist/workflow/debugger/summarize.js +30 -0
  351. package/dist/workflow/definitions-store.d.ts +2 -3
  352. package/dist/workflow/definitions-store.js +2 -2
  353. package/dist/workflow/definitions.d.ts +78 -22
  354. package/dist/workflow/definitions.js +80 -14
  355. package/dist/workflow/effects.d.ts +453 -107
  356. package/dist/workflow/effects.js +214 -115
  357. package/dist/workflow/events.d.ts +149 -5
  358. package/dist/workflow/events.js +27 -5
  359. package/dist/workflow/graph.d.ts +56 -0
  360. package/dist/workflow/graph.js +207 -0
  361. package/dist/workflow/index.d.ts +1 -0
  362. package/dist/workflow/index.js +1 -0
  363. package/dist/workflow/module.d.ts +1047 -266
  364. package/dist/workflow/projections.d.ts +14 -12
  365. package/dist/workflow/projections.js +30 -8
  366. package/dist/workflow/scope.d.ts +146 -4
  367. package/dist/workflow/threads.d.ts +383 -155
  368. package/dist/workflow/threads.js +308 -110
  369. package/package.json +26 -2
  370. package/dist/debugger/events/domain-summarize.d.ts +0 -3
  371. package/dist/debugger/events/domain-summarize.js +0 -107
  372. package/dist/debugger/events/family.d.ts +0 -8
  373. package/dist/debugger/events/family.js +0 -44
  374. package/dist/runtime/events-api.d.ts +0 -4
  375. package/dist/runtime/events-api.js +0 -84
@@ -4,6 +4,13 @@ export declare const NodesProjectionSchema: Schema.Struct<{
4
4
  readonly status: Schema.Union<readonly [Schema.Literal<"pending">, Schema.Literal<"running">, Schema.Literal<"completed">, Schema.Literal<"failed">, Schema.Literal<"skipped">]>;
5
5
  readonly result: Schema.NullOr<Schema.Codec<Schema.Json, Schema.Json, never, never>>;
6
6
  readonly error: Schema.NullOr<Schema.String>;
7
+ readonly attempts: Schema.optional<Schema.Finite>;
8
+ readonly branch: Schema.optional<Schema.String>;
9
+ readonly skipCause: Schema.optional<Schema.Union<readonly [Schema.Literal<"inactive">, Schema.Literal<"policy">]>>;
10
+ readonly iteration: Schema.optional<Schema.Struct<{
11
+ readonly index: Schema.Finite;
12
+ readonly previous: Schema.Codec<Schema.Json, Schema.Json, never, never>;
13
+ }>>;
7
14
  }>>;
8
15
  }>;
9
16
  export type NodesProjectionState = Schema.Schema.Type<typeof NodesProjectionSchema>;
@@ -13,18 +20,13 @@ export declare const nodes: import("@swirls/looms/core").ProjectionDefinition<{
13
20
  readonly status: "completed" | "failed" | "pending" | "running" | "skipped";
14
21
  readonly result: Schema.Json;
15
22
  readonly error: string | null;
16
- };
17
- };
18
- } | {
19
- nodes: {
20
- [x: string]: {
21
- readonly status: "completed" | "failed" | "pending" | "running" | "skipped";
22
- readonly result: Schema.Json;
23
- readonly error: string | null;
24
- } | {
25
- status: string;
26
- result: string | number | boolean | Schema.JsonArray | Schema.JsonObject | null;
27
- error: string | null;
23
+ readonly attempts?: number | undefined;
24
+ readonly branch?: string | undefined;
25
+ readonly skipCause?: "inactive" | "policy" | undefined;
26
+ readonly iteration?: {
27
+ readonly index: number;
28
+ readonly previous: Schema.Json;
29
+ } | undefined;
28
30
  };
29
31
  };
30
32
  }>;
@@ -13,27 +13,49 @@ export const nodes = workflowModule.projection({
13
13
  case 'workflow.node.started': {
14
14
  const { nodeId } = event.payload;
15
15
  return {
16
- nodes: { ...state.nodes, [nodeId]: { status: 'running', result: null, error: null } },
16
+ nodes: {
17
+ ...state.nodes,
18
+ [nodeId]: {
19
+ status: 'running',
20
+ result: null,
21
+ error: null,
22
+ },
23
+ },
17
24
  };
18
25
  }
19
26
  case 'workflow.node.finished': {
20
- const { nodeId, result, error } = event.payload;
27
+ const { nodeId, result, error, branch } = event.payload;
21
28
  const failed = Predicate.isString(error) && error.length > 0;
29
+ const nodeState = branch === undefined
30
+ ? {
31
+ status: failed ? 'failed' : 'completed',
32
+ result: result ?? null,
33
+ error: failed ? error : null,
34
+ }
35
+ : {
36
+ status: failed ? 'failed' : 'completed',
37
+ result: result ?? null,
38
+ error: failed ? error : null,
39
+ branch,
40
+ };
22
41
  return {
23
42
  nodes: {
24
43
  ...state.nodes,
25
- [nodeId]: {
26
- status: failed ? 'failed' : 'completed',
27
- result: result ?? null,
28
- error: failed ? error : null,
29
- },
44
+ [nodeId]: nodeState,
30
45
  },
31
46
  };
32
47
  }
33
48
  case 'workflow.node.skipped': {
34
49
  const { nodeId } = event.payload;
35
50
  return {
36
- nodes: { ...state.nodes, [nodeId]: { status: 'skipped', result: null, error: null } },
51
+ nodes: {
52
+ ...state.nodes,
53
+ [nodeId]: {
54
+ status: 'skipped',
55
+ result: null,
56
+ error: null,
57
+ },
58
+ },
37
59
  };
38
60
  }
39
61
  default:
@@ -7,26 +7,97 @@ export declare const workflowModule: import("@swirls/looms/core").ModuleScope<"w
7
7
  readonly nodeId: import("effect/Schema").String;
8
8
  readonly result: import("effect/Schema").NullOr<import("effect/Schema").Codec<import("effect/Schema").Json, import("effect/Schema").Json, never, never>>;
9
9
  readonly error: import("effect/Schema").NullOr<import("effect/Schema").String>;
10
+ readonly branch: import("effect/Schema").optional<import("effect/Schema").String>;
10
11
  }>;
11
12
  'node.skipped': import("effect/Schema").Struct<{
12
13
  readonly nodeId: import("effect/Schema").String;
13
14
  readonly reason: import("effect/Schema").String;
15
+ readonly cause: import("effect/Schema").withDecodingDefaultKey<import("effect/Schema").Union<readonly [import("effect/Schema").Literal<"inactive">, import("effect/Schema").Literal<"policy">]>, never>;
14
16
  }>;
15
17
  'spawn.requested': import("effect/Schema").Struct<{
16
18
  readonly nodeId: import("effect/Schema").String;
19
+ readonly attempt: import("effect/Schema").withDecodingDefaultKey<import("effect/Schema").Finite, never>;
17
20
  readonly childThreadId: import("effect/Schema").String;
18
21
  readonly kind: import("effect/Schema").String;
19
22
  readonly definitionName: import("effect/Schema").String;
23
+ readonly definitionVersion: import("effect/Schema").withDecodingDefaultKey<import("effect/Schema").String, never>;
20
24
  readonly input: import("effect/Schema").Codec<import("effect/Schema").Json, import("effect/Schema").Json, never, never>;
25
+ readonly loopIndex: import("effect/Schema").withDecodingDefaultKey<import("effect/Schema").NullOr<import("effect/Schema").Finite>, never>;
26
+ }>;
27
+ 'map.requested': import("effect/Schema").Struct<{
28
+ readonly nodeId: import("effect/Schema").String;
29
+ readonly attempt: import("effect/Schema").withDecodingDefaultKey<import("effect/Schema").Finite, never>;
30
+ readonly kind: import("effect/Schema").String;
31
+ readonly definitionName: import("effect/Schema").String;
32
+ readonly definitionVersion: import("effect/Schema").withDecodingDefaultKey<import("effect/Schema").String, never>;
33
+ readonly items: import("effect/Schema").$Array<import("effect/Schema").Codec<import("effect/Schema").Json, import("effect/Schema").Json, never, never>>;
34
+ readonly concurrency: import("effect/Schema").Finite;
35
+ readonly limitBytes: import("effect/Schema").Finite;
21
36
  }>;
22
37
  'sleep.requested': import("effect/Schema").Struct<{
23
38
  readonly nodeId: import("effect/Schema").String;
24
39
  readonly waitId: import("effect/Schema").String;
25
- readonly wakeAt: import("effect/Schema").Number;
40
+ readonly wakeAt: import("effect/Schema").Finite;
26
41
  }>;
27
42
  'effects.requested': import("effect/Schema").Struct<{
28
43
  readonly nodeId: import("effect/Schema").String;
29
- readonly effects: import("effect/Schema").$Array<import("effect/Schema").Schema<import("@swirls/looms/core").RuntimeEffect>>;
44
+ readonly effects: import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
45
+ readonly type: import("effect/Schema").Literal<"runtime.spawn">;
46
+ readonly childThreadId: import("effect/Schema").String;
47
+ readonly kind: import("effect/Schema").String;
48
+ readonly definitionName: import("effect/Schema").String;
49
+ readonly definitionVersion: import("effect/Schema").withDecodingDefaultKey<import("effect/Schema").String, never>;
50
+ readonly input: import("effect/Schema").Codec<import("effect/Schema").Json, import("effect/Schema").Json, never, never>;
51
+ }>, import("effect/Schema").Struct<{
52
+ readonly type: import("effect/Schema").Literal<"runtime.wait">;
53
+ readonly waitId: import("effect/Schema").String;
54
+ readonly on: import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
55
+ readonly type: import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").$Array<import("effect/Schema").String>]>;
56
+ readonly match: import("effect/Schema").optional<import("effect/Schema").Codec<import("effect/Schema").Json, import("effect/Schema").Json, never, never>>;
57
+ }>, import("effect/Schema").Struct<{
58
+ readonly timerAt: import("effect/Schema").Finite;
59
+ }>]>;
60
+ readonly tag: import("effect/Schema").optional<import("effect/Schema").Codec<import("effect/Schema").Json, import("effect/Schema").Json, never, never>>;
61
+ }>, import("effect/Schema").Struct<{
62
+ readonly type: import("effect/Schema").Literal<"runtime.emit">;
63
+ readonly event: import("effect/Schema").Struct<{
64
+ readonly type: import("effect/Schema").String;
65
+ readonly payload: import("effect/Schema").Codec<import("effect/Schema").Json, import("effect/Schema").Json, never, never>;
66
+ readonly threadId: import("effect/Schema").optional<import("effect/Schema").NullOr<import("effect/Schema").String>>;
67
+ readonly parentThreadId: import("effect/Schema").optional<import("effect/Schema").NullOr<import("effect/Schema").String>>;
68
+ readonly causationId: import("effect/Schema").optional<import("effect/Schema").NullOr<import("effect/Schema").String>>;
69
+ readonly correlationId: import("effect/Schema").optional<import("effect/Schema").NullOr<import("effect/Schema").String>>;
70
+ readonly effectId: import("effect/Schema").optional<import("effect/Schema").NullOr<import("effect/Schema").String>>;
71
+ readonly origin: import("effect/Schema").optional<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
72
+ readonly type: import("effect/Schema").Literal<"thread">;
73
+ readonly threadId: import("effect/Schema").String;
74
+ }>, import("effect/Schema").Struct<{
75
+ readonly type: import("effect/Schema").Literal<"external">;
76
+ readonly actorId: import("effect/Schema").optional<import("effect/Schema").String>;
77
+ }>, import("effect/Schema").Struct<{
78
+ readonly type: import("effect/Schema").Literal<"system">;
79
+ }>]>>;
80
+ readonly ephemeral: import("effect/Schema").optional<import("effect/Schema").Boolean>;
81
+ readonly id: import("effect/Schema").optional<import("effect/Schema").String>;
82
+ readonly ts: import("effect/Schema").optional<import("effect/Schema").Finite>;
83
+ readonly idempotencyKey: import("effect/Schema").optional<import("effect/Schema").NullOr<import("effect/Schema").String>>;
84
+ }>;
85
+ readonly tag: import("effect/Schema").optional<import("effect/Schema").String>;
86
+ }>, import("effect/Schema").Struct<{
87
+ readonly type: import("effect/Schema").Literal<"runtime.complete">;
88
+ readonly output: import("effect/Schema").Codec<import("effect/Schema").Json, import("effect/Schema").Json, never, never>;
89
+ }>, import("effect/Schema").Struct<{
90
+ readonly type: import("effect/Schema").Literal<"runtime.fail">;
91
+ readonly error: import("effect/Schema").String;
92
+ }>, import("effect/Schema").Struct<{
93
+ readonly type: import("effect/Schema").Literal<"runtime.cancel">;
94
+ readonly threadId: import("effect/Schema").String;
95
+ readonly tag: import("effect/Schema").optional<import("effect/Schema").String>;
96
+ }>, import("effect/Schema").Struct<{
97
+ readonly type: import("effect/Schema").String;
98
+ readonly input: import("effect/Schema").Codec<import("effect/Schema").Json, import("effect/Schema").Json, never, never>;
99
+ readonly tag: import("effect/Schema").optional<import("effect/Schema").String>;
100
+ }>]>>;
30
101
  }>;
31
102
  }>, undefined>, import("@swirls/looms/core").EventCatalog<"workflow", {
32
103
  'node.started': import("effect/Schema").Struct<{
@@ -36,26 +107,97 @@ export declare const workflowModule: import("@swirls/looms/core").ModuleScope<"w
36
107
  readonly nodeId: import("effect/Schema").String;
37
108
  readonly result: import("effect/Schema").NullOr<import("effect/Schema").Codec<import("effect/Schema").Json, import("effect/Schema").Json, never, never>>;
38
109
  readonly error: import("effect/Schema").NullOr<import("effect/Schema").String>;
110
+ readonly branch: import("effect/Schema").optional<import("effect/Schema").String>;
39
111
  }>;
40
112
  'node.skipped': import("effect/Schema").Struct<{
41
113
  readonly nodeId: import("effect/Schema").String;
42
114
  readonly reason: import("effect/Schema").String;
115
+ readonly cause: import("effect/Schema").withDecodingDefaultKey<import("effect/Schema").Union<readonly [import("effect/Schema").Literal<"inactive">, import("effect/Schema").Literal<"policy">]>, never>;
43
116
  }>;
44
117
  'spawn.requested': import("effect/Schema").Struct<{
45
118
  readonly nodeId: import("effect/Schema").String;
119
+ readonly attempt: import("effect/Schema").withDecodingDefaultKey<import("effect/Schema").Finite, never>;
46
120
  readonly childThreadId: import("effect/Schema").String;
47
121
  readonly kind: import("effect/Schema").String;
48
122
  readonly definitionName: import("effect/Schema").String;
123
+ readonly definitionVersion: import("effect/Schema").withDecodingDefaultKey<import("effect/Schema").String, never>;
49
124
  readonly input: import("effect/Schema").Codec<import("effect/Schema").Json, import("effect/Schema").Json, never, never>;
125
+ readonly loopIndex: import("effect/Schema").withDecodingDefaultKey<import("effect/Schema").NullOr<import("effect/Schema").Finite>, never>;
126
+ }>;
127
+ 'map.requested': import("effect/Schema").Struct<{
128
+ readonly nodeId: import("effect/Schema").String;
129
+ readonly attempt: import("effect/Schema").withDecodingDefaultKey<import("effect/Schema").Finite, never>;
130
+ readonly kind: import("effect/Schema").String;
131
+ readonly definitionName: import("effect/Schema").String;
132
+ readonly definitionVersion: import("effect/Schema").withDecodingDefaultKey<import("effect/Schema").String, never>;
133
+ readonly items: import("effect/Schema").$Array<import("effect/Schema").Codec<import("effect/Schema").Json, import("effect/Schema").Json, never, never>>;
134
+ readonly concurrency: import("effect/Schema").Finite;
135
+ readonly limitBytes: import("effect/Schema").Finite;
50
136
  }>;
51
137
  'sleep.requested': import("effect/Schema").Struct<{
52
138
  readonly nodeId: import("effect/Schema").String;
53
139
  readonly waitId: import("effect/Schema").String;
54
- readonly wakeAt: import("effect/Schema").Number;
140
+ readonly wakeAt: import("effect/Schema").Finite;
55
141
  }>;
56
142
  'effects.requested': import("effect/Schema").Struct<{
57
143
  readonly nodeId: import("effect/Schema").String;
58
- readonly effects: import("effect/Schema").$Array<import("effect/Schema").Schema<import("@swirls/looms/core").RuntimeEffect>>;
144
+ readonly effects: import("effect/Schema").$Array<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
145
+ readonly type: import("effect/Schema").Literal<"runtime.spawn">;
146
+ readonly childThreadId: import("effect/Schema").String;
147
+ readonly kind: import("effect/Schema").String;
148
+ readonly definitionName: import("effect/Schema").String;
149
+ readonly definitionVersion: import("effect/Schema").withDecodingDefaultKey<import("effect/Schema").String, never>;
150
+ readonly input: import("effect/Schema").Codec<import("effect/Schema").Json, import("effect/Schema").Json, never, never>;
151
+ }>, import("effect/Schema").Struct<{
152
+ readonly type: import("effect/Schema").Literal<"runtime.wait">;
153
+ readonly waitId: import("effect/Schema").String;
154
+ readonly on: import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
155
+ readonly type: import("effect/Schema").Union<readonly [import("effect/Schema").String, import("effect/Schema").$Array<import("effect/Schema").String>]>;
156
+ readonly match: import("effect/Schema").optional<import("effect/Schema").Codec<import("effect/Schema").Json, import("effect/Schema").Json, never, never>>;
157
+ }>, import("effect/Schema").Struct<{
158
+ readonly timerAt: import("effect/Schema").Finite;
159
+ }>]>;
160
+ readonly tag: import("effect/Schema").optional<import("effect/Schema").Codec<import("effect/Schema").Json, import("effect/Schema").Json, never, never>>;
161
+ }>, import("effect/Schema").Struct<{
162
+ readonly type: import("effect/Schema").Literal<"runtime.emit">;
163
+ readonly event: import("effect/Schema").Struct<{
164
+ readonly type: import("effect/Schema").String;
165
+ readonly payload: import("effect/Schema").Codec<import("effect/Schema").Json, import("effect/Schema").Json, never, never>;
166
+ readonly threadId: import("effect/Schema").optional<import("effect/Schema").NullOr<import("effect/Schema").String>>;
167
+ readonly parentThreadId: import("effect/Schema").optional<import("effect/Schema").NullOr<import("effect/Schema").String>>;
168
+ readonly causationId: import("effect/Schema").optional<import("effect/Schema").NullOr<import("effect/Schema").String>>;
169
+ readonly correlationId: import("effect/Schema").optional<import("effect/Schema").NullOr<import("effect/Schema").String>>;
170
+ readonly effectId: import("effect/Schema").optional<import("effect/Schema").NullOr<import("effect/Schema").String>>;
171
+ readonly origin: import("effect/Schema").optional<import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
172
+ readonly type: import("effect/Schema").Literal<"thread">;
173
+ readonly threadId: import("effect/Schema").String;
174
+ }>, import("effect/Schema").Struct<{
175
+ readonly type: import("effect/Schema").Literal<"external">;
176
+ readonly actorId: import("effect/Schema").optional<import("effect/Schema").String>;
177
+ }>, import("effect/Schema").Struct<{
178
+ readonly type: import("effect/Schema").Literal<"system">;
179
+ }>]>>;
180
+ readonly ephemeral: import("effect/Schema").optional<import("effect/Schema").Boolean>;
181
+ readonly id: import("effect/Schema").optional<import("effect/Schema").String>;
182
+ readonly ts: import("effect/Schema").optional<import("effect/Schema").Finite>;
183
+ readonly idempotencyKey: import("effect/Schema").optional<import("effect/Schema").NullOr<import("effect/Schema").String>>;
184
+ }>;
185
+ readonly tag: import("effect/Schema").optional<import("effect/Schema").String>;
186
+ }>, import("effect/Schema").Struct<{
187
+ readonly type: import("effect/Schema").Literal<"runtime.complete">;
188
+ readonly output: import("effect/Schema").Codec<import("effect/Schema").Json, import("effect/Schema").Json, never, never>;
189
+ }>, import("effect/Schema").Struct<{
190
+ readonly type: import("effect/Schema").Literal<"runtime.fail">;
191
+ readonly error: import("effect/Schema").String;
192
+ }>, import("effect/Schema").Struct<{
193
+ readonly type: import("effect/Schema").Literal<"runtime.cancel">;
194
+ readonly threadId: import("effect/Schema").String;
195
+ readonly tag: import("effect/Schema").optional<import("effect/Schema").String>;
196
+ }>, import("effect/Schema").Struct<{
197
+ readonly type: import("effect/Schema").String;
198
+ readonly input: import("effect/Schema").Codec<import("effect/Schema").Json, import("effect/Schema").Json, never, never>;
199
+ readonly tag: import("effect/Schema").optional<import("effect/Schema").String>;
200
+ }>]>>;
59
201
  }>;
60
202
  }>, undefined>;
61
203
  export type WorkflowEvent = EventOf<typeof workflowModule>;