yaml-flow 7.0.0 → 8.0.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 (393) hide show
  1. package/browser/asset-integrity.json +8 -4
  2. package/browser/board-livecards-client.js +1 -1
  3. package/browser/board-livecards-localstorage.js +5 -5
  4. package/browser/live-cards.js +19 -3307
  5. package/cli/board-live-cards-lib-tjYsPt5U.d.ts +321 -0
  6. package/{dist/cli → cli}/browser-api/board-live-cards-browser-adapter.d.ts +3 -5
  7. package/cli/browser-api/board-live-cards-browser-adapter.js +3 -0
  8. package/{dist/cli → cli}/browser-api/card-store-browser-api.d.ts +1 -2
  9. package/{dist/cli → cli}/browser-api/card-store-browser-api.js +1 -1
  10. package/cli/execution-interface-C_A6WCiK.d.ts +284 -0
  11. package/cli/node/artifacts-store-cli.js +11 -0
  12. package/cli/node/batch-runner-cli.js +3 -0
  13. package/cli/node/board-live-cards-cli.js +15 -0
  14. package/cli/node/card-store-cli.js +8 -0
  15. package/{dist/cli → cli}/node/execution-adapter.d.ts +3 -3
  16. package/cli/node/execution-adapter.js +3 -0
  17. package/{dist/cli → cli}/node/fs-board-adapter.d.ts +24 -11
  18. package/cli/node/fs-board-adapter.js +14 -0
  19. package/{dist/cli → cli}/node/source-cli-task-executor.js +2 -2
  20. package/cli/node/step-machine-cli.d.ts +7 -0
  21. package/cli/node/step-machine-cli.js +5 -0
  22. package/{dist/board-live-cards-public-CW5074xr.d.cts → cli/types-CziUxkiv.d.ts} +69 -7
  23. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/gandalf-runtime/.config/card-store-ref.json +1 -0
  24. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/gandalf-runtime/.config/chat-handler.json +1 -0
  25. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/gandalf-runtime/.config/outputs-store-ref.json +1 -0
  26. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/gandalf-runtime/.config/task-executor.json +1 -0
  27. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/gandalf-runtime/.state-snapshot/board/graph.json +29 -0
  28. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/gandalf-runtime/.state-snapshot/board/lastJournalProcessedId.json +1 -0
  29. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/gandalf-runtime-out/.outputs/status.json +25 -0
  30. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/runtime-out/.outputs/cards/card-market-prices/computed_values.json +67 -0
  31. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/runtime-out/.outputs/cards/card-portfolio/computed_values.json +1 -0
  32. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/runtime-out/.outputs/cards/card-portfolio-value/computed_values.json +52 -0
  33. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/runtime-out/.outputs/data-objects/holdings.json +22 -0
  34. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/runtime-out/.outputs/data-objects/positions.json +46 -0
  35. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/runtime-out/.outputs/data-objects/quotes.json +35 -0
  36. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/runtime-out/.outputs/status.json +113 -0
  37. package/examples/{example-board/cards/card-market-prices.json → board/cards/cardT-market-prices.json} +2 -2
  38. package/examples/{example-board/cards/card-portfolio.json → board/cards/cardT-portfolio.json} +3 -13
  39. package/examples/{example-board → board}/demo-server-config.json +0 -1
  40. package/examples/{example-board → board}/demo-server.js +70 -72
  41. package/examples/{example-board → board}/demo-shell-with-server.html +3 -3
  42. package/examples/{example-board → board}/demo-task-executor.js +75 -32
  43. package/examples/board/gandalf-cards/card-source-kinds.json +36 -0
  44. package/examples/board/gandalf-cards/cards/_index.json +7 -0
  45. package/examples/board/gandalf-cards/cards/card-source-kinds.json +64 -0
  46. package/examples/board/source-def-flows/copilot.flow.json +33 -0
  47. package/examples/board/source-def-flows/mock.flow.json +35 -0
  48. package/examples/board/source-def-flows/url-list.flow.json +33 -0
  49. package/examples/board/source-def-flows/url.flow.json +33 -0
  50. package/examples/board/source-def-flows/workiq.flow.json +34 -0
  51. package/examples/board/source-def-handlers/copilot-source-handler.js +141 -0
  52. package/examples/board/source-def-handlers/http-source-handler.js +145 -0
  53. package/examples/board/source_def_flows.json +249 -0
  54. package/examples/board/test/demo-http-test.js +317 -0
  55. package/examples/{example-board → board-local}/demo-shell-localstorage.html +4 -4
  56. package/examples/{browser/boards/portfolio-tracker → portfolio-tracker/handlers}/portfolio-tracker-fetch-prices.js +1 -1
  57. package/examples/{browser/boards/portfolio-tracker/portfolio-tracker-public.js → portfolio-tracker/portfolio-tracker.js} +11 -14
  58. package/examples/{browser/boards/portfolio-tracker → portfolio-tracker/test}/portfolio-t4.js +32 -50
  59. package/lib/artifacts-store-lib-public-BABrgFkV.d.ts +119 -0
  60. package/lib/artifacts-store-lib-public-DGa8BpJT.d.cts +119 -0
  61. package/lib/artifacts-store-public.cjs +2 -0
  62. package/lib/artifacts-store-public.d.cts +5 -0
  63. package/lib/artifacts-store-public.d.ts +5 -0
  64. package/lib/artifacts-store-public.js +2 -0
  65. package/lib/board-live-cards-node.cjs +14 -0
  66. package/{dist/cli/node/execution-adapter.d.cts → lib/board-live-cards-node.d.cts} +45 -85
  67. package/lib/board-live-cards-node.d.ts +134 -0
  68. package/lib/board-live-cards-node.js +14 -0
  69. package/lib/board-live-cards-public-BnmRAbQV.d.cts +383 -0
  70. package/{dist/board-live-cards-public-hnZo0mAf.d.ts → lib/board-live-cards-public-CsmYrvpd.d.ts} +142 -77
  71. package/lib/board-live-cards-public.cjs +3 -0
  72. package/lib/board-live-cards-public.d.cts +4 -0
  73. package/lib/board-live-cards-public.d.ts +4 -0
  74. package/lib/board-live-cards-public.js +3 -0
  75. package/lib/board-live-cards-server-runtime.cjs +9 -0
  76. package/lib/board-live-cards-server-runtime.d.cts +6 -0
  77. package/lib/board-live-cards-server-runtime.d.ts +6 -0
  78. package/lib/board-live-cards-server-runtime.js +9 -0
  79. package/lib/board-livegraph-runtime/index.cjs +3 -0
  80. package/{dist → lib}/board-livegraph-runtime/index.d.cts +1 -2
  81. package/{dist → lib}/board-livegraph-runtime/index.d.ts +1 -2
  82. package/lib/board-livegraph-runtime/index.js +3 -0
  83. package/lib/board-worker-adapter.cjs +10 -0
  84. package/{dist/storage-refs.d.cts → lib/board-worker-adapter.d.cts} +5 -5
  85. package/{dist/storage-refs.d.ts → lib/board-worker-adapter.d.ts} +5 -5
  86. package/lib/board-worker-adapter.js +10 -0
  87. package/{dist → lib}/card-compute/index.cjs +1 -1
  88. package/{dist → lib}/card-compute/index.js +1 -1
  89. package/lib/card-store-public.cjs +2 -0
  90. package/lib/card-store-public.d.cts +61 -0
  91. package/lib/card-store-public.d.ts +61 -0
  92. package/lib/card-store-public.js +2 -0
  93. package/lib/card-validation.cjs +10 -0
  94. package/lib/card-validation.d.cts +35 -0
  95. package/lib/card-validation.d.ts +35 -0
  96. package/lib/card-validation.js +10 -0
  97. package/{dist/constants-oCEbNpul.d.ts → lib/constants-BPVLb3Es.d.ts} +1 -1
  98. package/{dist/constants-BzZUyYlp.d.cts → lib/constants-DXxsRN9y.d.cts} +1 -1
  99. package/{dist → lib}/continuous-event-graph/index.cjs +2 -2
  100. package/{dist → lib}/continuous-event-graph/index.d.cts +3 -5
  101. package/{dist → lib}/continuous-event-graph/index.d.ts +3 -5
  102. package/{dist → lib}/continuous-event-graph/index.js +2 -2
  103. package/{dist → lib}/event-graph/index.d.cts +2 -2
  104. package/{dist → lib}/event-graph/index.d.ts +2 -2
  105. package/lib/execution-refs.cjs +3 -0
  106. package/{dist → lib}/execution-refs.d.cts +38 -14
  107. package/{dist → lib}/execution-refs.d.ts +38 -14
  108. package/lib/execution-refs.js +3 -0
  109. package/lib/index.cjs +25 -0
  110. package/{dist → lib}/index.d.cts +7 -8
  111. package/{dist → lib}/index.d.ts +7 -8
  112. package/lib/index.js +25 -0
  113. package/{dist/live-cards-bridge-BXbVTsna.d.cts → lib/live-cards-bridge-DC_ZU0eS.d.ts} +134 -3
  114. package/{dist/live-cards-bridge-Ds28XR15.d.ts → lib/live-cards-bridge-b25aAVvE.d.cts} +134 -3
  115. package/lib/loader-CuuLjxVA.d.cts +42 -0
  116. package/lib/loader-Zborm2pq.d.ts +42 -0
  117. package/lib/server-runtime/index.cjs +9 -0
  118. package/{dist → lib}/server-runtime/index.d.cts +4 -4
  119. package/{dist → lib}/server-runtime/index.d.ts +4 -4
  120. package/lib/server-runtime/index.js +9 -0
  121. package/lib/step-machine/index.d.cts +64 -0
  122. package/lib/step-machine/index.d.ts +64 -0
  123. package/lib/step-machine-public/index.cjs +5 -0
  124. package/{dist → lib}/step-machine-public/index.d.cts +21 -1
  125. package/{dist → lib}/step-machine-public/index.d.ts +21 -1
  126. package/lib/step-machine-public/index.js +5 -0
  127. package/lib/storage-interface-BhAON-gW.d.cts +84 -0
  128. package/lib/storage-interface-BhAON-gW.d.ts +84 -0
  129. package/lib/stores/index.cjs +3 -0
  130. package/lib/stores/index.d.cts +4 -0
  131. package/lib/stores/index.d.ts +4 -0
  132. package/lib/stores/index.js +3 -0
  133. package/lib/stores/kv.cjs +3 -0
  134. package/lib/stores/kv.d.cts +32 -0
  135. package/lib/stores/kv.d.ts +32 -0
  136. package/lib/stores/kv.js +3 -0
  137. package/{dist → lib}/stores/memory.d.cts +1 -1
  138. package/{dist → lib}/stores/memory.d.ts +1 -1
  139. package/{dist/types-B1ZRa4aI.d.ts → lib/types-CBxkYuLY.d.ts} +2 -1
  140. package/{dist/types-ycun84cq.d.cts → lib/types-DQ1bKuB1.d.cts} +11 -0
  141. package/{dist/types-ycun84cq.d.ts → lib/types-DQ1bKuB1.d.ts} +11 -0
  142. package/{dist/types-BxEFcVK9.d.cts → lib/types-DkFvgxwq.d.cts} +2 -1
  143. package/package.json +79 -119
  144. package/board-live-cards-cli.js +0 -37
  145. package/browser/board-livecards-client.js.map +0 -1
  146. package/browser/board-livecards-localstorage.js.map +0 -1
  147. package/browser/board-livegraph-engine.js +0 -3
  148. package/browser/board-livegraph-engine.js.map +0 -1
  149. package/browser/card-compute.js +0 -266
  150. package/browser/compute-jsonata.js.map +0 -1
  151. package/card-store.js +0 -37
  152. package/dist/batch/index.cjs.map +0 -1
  153. package/dist/batch/index.js.map +0 -1
  154. package/dist/board-live-cards-lib-Bg6EvCo5.d.cts +0 -136
  155. package/dist/board-live-cards-lib-jM2uYG1v.d.ts +0 -136
  156. package/dist/board-livegraph-runtime/index.cjs +0 -3
  157. package/dist/board-livegraph-runtime/index.cjs.map +0 -1
  158. package/dist/board-livegraph-runtime/index.js +0 -3
  159. package/dist/board-livegraph-runtime/index.js.map +0 -1
  160. package/dist/card-compute/index.cjs.map +0 -1
  161. package/dist/card-compute/index.js.map +0 -1
  162. package/dist/cli/browser-api/board-live-cards-browser-adapter.cjs +0 -3
  163. package/dist/cli/browser-api/board-live-cards-browser-adapter.cjs.map +0 -1
  164. package/dist/cli/browser-api/board-live-cards-browser-adapter.d.cts +0 -37
  165. package/dist/cli/browser-api/board-live-cards-browser-adapter.js +0 -3
  166. package/dist/cli/browser-api/board-live-cards-browser-adapter.js.map +0 -1
  167. package/dist/cli/browser-api/card-store-browser-api.cjs +0 -2
  168. package/dist/cli/browser-api/card-store-browser-api.cjs.map +0 -1
  169. package/dist/cli/browser-api/card-store-browser-api.d.cts +0 -26
  170. package/dist/cli/browser-api/card-store-browser-api.js.map +0 -1
  171. package/dist/cli/node/artifacts-store-cli.cjs +0 -11
  172. package/dist/cli/node/artifacts-store-cli.cjs.map +0 -1
  173. package/dist/cli/node/artifacts-store-cli.d.cts +0 -8
  174. package/dist/cli/node/artifacts-store-cli.js +0 -11
  175. package/dist/cli/node/artifacts-store-cli.js.map +0 -1
  176. package/dist/cli/node/board-live-cards-cli.cjs +0 -15
  177. package/dist/cli/node/board-live-cards-cli.cjs.map +0 -1
  178. package/dist/cli/node/board-live-cards-cli.d.cts +0 -20
  179. package/dist/cli/node/board-live-cards-cli.js +0 -15
  180. package/dist/cli/node/board-live-cards-cli.js.map +0 -1
  181. package/dist/cli/node/card-store-cli.cjs +0 -8
  182. package/dist/cli/node/card-store-cli.cjs.map +0 -1
  183. package/dist/cli/node/card-store-cli.d.cts +0 -15
  184. package/dist/cli/node/card-store-cli.js +0 -8
  185. package/dist/cli/node/card-store-cli.js.map +0 -1
  186. package/dist/cli/node/execution-adapter.cjs +0 -3
  187. package/dist/cli/node/execution-adapter.cjs.map +0 -1
  188. package/dist/cli/node/execution-adapter.js +0 -3
  189. package/dist/cli/node/execution-adapter.js.map +0 -1
  190. package/dist/cli/node/fs-board-adapter.cjs +0 -14
  191. package/dist/cli/node/fs-board-adapter.cjs.map +0 -1
  192. package/dist/cli/node/fs-board-adapter.d.cts +0 -204
  193. package/dist/cli/node/fs-board-adapter.js +0 -14
  194. package/dist/cli/node/fs-board-adapter.js.map +0 -1
  195. package/dist/cli/node/source-cli-task-executor.cjs +0 -11
  196. package/dist/cli/node/source-cli-task-executor.cjs.map +0 -1
  197. package/dist/cli/node/source-cli-task-executor.js.map +0 -1
  198. package/dist/config/index.cjs.map +0 -1
  199. package/dist/config/index.js.map +0 -1
  200. package/dist/continuous-event-graph/index.cjs.map +0 -1
  201. package/dist/continuous-event-graph/index.js.map +0 -1
  202. package/dist/event-graph/index.cjs.map +0 -1
  203. package/dist/event-graph/index.js.map +0 -1
  204. package/dist/execution-refs.cjs +0 -3
  205. package/dist/execution-refs.cjs.map +0 -1
  206. package/dist/execution-refs.js +0 -3
  207. package/dist/execution-refs.js.map +0 -1
  208. package/dist/index.cjs +0 -30
  209. package/dist/index.cjs.map +0 -1
  210. package/dist/index.js +0 -30
  211. package/dist/index.js.map +0 -1
  212. package/dist/inference/index.cjs +0 -7
  213. package/dist/inference/index.cjs.map +0 -1
  214. package/dist/inference/index.d.cts +0 -229
  215. package/dist/inference/index.d.ts +0 -229
  216. package/dist/inference/index.js +0 -7
  217. package/dist/inference/index.js.map +0 -1
  218. package/dist/server-runtime/index.cjs +0 -9
  219. package/dist/server-runtime/index.cjs.map +0 -1
  220. package/dist/server-runtime/index.js +0 -9
  221. package/dist/server-runtime/index.js.map +0 -1
  222. package/dist/step-machine/index.cjs.map +0 -1
  223. package/dist/step-machine/index.d.cts +0 -102
  224. package/dist/step-machine/index.d.ts +0 -102
  225. package/dist/step-machine/index.js.map +0 -1
  226. package/dist/step-machine-public/index.cjs +0 -2
  227. package/dist/step-machine-public/index.cjs.map +0 -1
  228. package/dist/step-machine-public/index.js +0 -2
  229. package/dist/step-machine-public/index.js.map +0 -1
  230. package/dist/storage-refs.cjs +0 -10
  231. package/dist/storage-refs.cjs.map +0 -1
  232. package/dist/storage-refs.js +0 -10
  233. package/dist/storage-refs.js.map +0 -1
  234. package/dist/stores/file.cjs +0 -2
  235. package/dist/stores/file.cjs.map +0 -1
  236. package/dist/stores/file.d.cts +0 -36
  237. package/dist/stores/file.d.ts +0 -36
  238. package/dist/stores/file.js +0 -2
  239. package/dist/stores/file.js.map +0 -1
  240. package/dist/stores/index.cjs +0 -2
  241. package/dist/stores/index.cjs.map +0 -1
  242. package/dist/stores/index.d.cts +0 -4
  243. package/dist/stores/index.d.ts +0 -4
  244. package/dist/stores/index.js +0 -2
  245. package/dist/stores/index.js.map +0 -1
  246. package/dist/stores/localStorage.cjs +0 -2
  247. package/dist/stores/localStorage.cjs.map +0 -1
  248. package/dist/stores/localStorage.d.cts +0 -34
  249. package/dist/stores/localStorage.d.ts +0 -34
  250. package/dist/stores/localStorage.js +0 -2
  251. package/dist/stores/localStorage.js.map +0 -1
  252. package/dist/stores/memory.cjs.map +0 -1
  253. package/dist/stores/memory.js.map +0 -1
  254. package/dist/types-CHSdoAAA.d.cts +0 -135
  255. package/dist/types-CoW0gQl3.d.ts +0 -135
  256. package/examples/browser/boards/portfolio-tracker/portfolio-tracker-fetch-prices.py +0 -201
  257. package/examples/browser/boards/portfolio-tracker/portfolio-tracker-http-test.js +0 -357
  258. package/examples/browser/boards/portfolio-tracker/portfolio-tracker-inference-adapter.js +0 -196
  259. package/examples/browser/boards/portfolio-tracker/portfolio-tracker-server.js +0 -300
  260. package/examples/browser/boards/portfolio-tracker/portfolio-tracker-server.py +0 -617
  261. package/examples/browser/boards/portfolio-tracker/portfolio-tracker.py +0 -366
  262. package/examples/browser/livecards-browser/index.html +0 -41
  263. package/examples/browser/step-machine-browser/index.html +0 -367
  264. package/examples/cli/step-machine-cli/portfolio-tracker/--base-ref/.runtime-out +0 -1
  265. package/examples/cli/step-machine-cli/portfolio-tracker/--base-ref/board-graph.json +0 -32
  266. package/examples/cli/step-machine-cli/portfolio-tracker/cards/holdings-table.json +0 -22
  267. package/examples/cli/step-machine-cli/portfolio-tracker/cards/portfolio-form.json +0 -43
  268. package/examples/cli/step-machine-cli/portfolio-tracker/cards/portfolio-value.json +0 -15
  269. package/examples/cli/step-machine-cli/portfolio-tracker/cards/price-fetch.json +0 -15
  270. package/examples/cli/step-machine-cli/portfolio-tracker/fetch-prices.js +0 -48
  271. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/_board-cli.js +0 -125
  272. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/add-cards-cli.js +0 -32
  273. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/init-board-cli.js +0 -26
  274. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/poll-status-cli.js +0 -49
  275. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/reset-board-dir-cli.js +0 -25
  276. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/retrigger-cli.js +0 -23
  277. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/status-cli.js +0 -21
  278. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/update-holdings-cli.js +0 -38
  279. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/wait-completed-cli.js +0 -48
  280. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/write-prices-cli.js +0 -31
  281. package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/_board_pycli.py +0 -107
  282. package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/add-cards.py +0 -51
  283. package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/init-board.py +0 -45
  284. package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/poll-status.py +0 -71
  285. package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/reset-board-dir.py +0 -36
  286. package/examples/cli/step-machine-cli/portfolio-tracker/inline-python-demo.flow.yaml +0 -26
  287. package/examples/cli/step-machine-cli/portfolio-tracker/inline-python-handlers.py +0 -39
  288. package/examples/cli/step-machine-cli/portfolio-tracker/portfolio-tracker-pycli.flow.yaml +0 -80
  289. package/examples/cli/step-machine-cli/portfolio-tracker/portfolio-tracker.flow.yaml +0 -76
  290. package/examples/cli/step-machine-cli/portfolio-tracker/portfolio-tracker.input.json +0 -44
  291. package/examples/cli/step-machine-cli/portfolio-tracker/run-inline-python-demo-pycli.py +0 -43
  292. package/examples/cli/step-machine-cli/portfolio-tracker/run-portfolio-tracker-pycli.py +0 -77
  293. package/examples/cli/step-machine-cli/portfolio-tracker/run-portfolio-tracker.bat +0 -28
  294. package/examples/cli/step-machine-demo/jsonata-init-board-cli.js +0 -31
  295. package/examples/cli/step-machine-demo/jsonata-init-board.flow.yaml +0 -54
  296. package/examples/cli/step-machine-demo/one-step-cli-only.flow.yaml +0 -21
  297. package/examples/cli/step-machine-demo/step-cli-echo-y.js +0 -15
  298. package/examples/cli/step-machine-demo/step2-double-cli.js +0 -33
  299. package/examples/cli/step-machine-demo/two-step-math.flow.yaml +0 -93
  300. package/examples/cli/step-machine-demo/two-step-mixed.flow.yaml +0 -43
  301. package/examples/example-board/agent-instructions-cardlayout.md +0 -56
  302. package/examples/example-board/agent-instructions.md +0 -834
  303. package/examples/example-board/cards/_index.json +0 -47
  304. package/examples/example-board/demo-shell.html +0 -63
  305. package/examples/index.html +0 -785
  306. package/examples/npm-libs/batch/batch-step-machine.ts +0 -121
  307. package/examples/npm-libs/continuous-event-graph/live-cards-board.ts +0 -215
  308. package/examples/npm-libs/continuous-event-graph/live-portfolio-dashboard.ts +0 -555
  309. package/examples/npm-libs/continuous-event-graph/portfolio-tracker.ts +0 -287
  310. package/examples/npm-libs/continuous-event-graph/reactive-monitoring.ts +0 -265
  311. package/examples/npm-libs/continuous-event-graph/reactive-pipeline.ts +0 -168
  312. package/examples/npm-libs/continuous-event-graph/soc-incident-board.ts +0 -287
  313. package/examples/npm-libs/continuous-event-graph/stock-dashboard.ts +0 -229
  314. package/examples/npm-libs/event-graph/ci-cd-pipeline.ts +0 -243
  315. package/examples/npm-libs/event-graph/executor-diamond.ts +0 -165
  316. package/examples/npm-libs/event-graph/executor-pipeline.ts +0 -161
  317. package/examples/npm-libs/event-graph/research-pipeline.ts +0 -137
  318. package/examples/npm-libs/flows/ai-conversation.yaml +0 -116
  319. package/examples/npm-libs/flows/order-processing.yaml +0 -143
  320. package/examples/npm-libs/flows/simple-greeting.yaml +0 -54
  321. package/examples/npm-libs/graph-of-graphs/multi-stage-etl.ts +0 -307
  322. package/examples/npm-libs/graph-of-graphs/url-processing-pipeline.ts +0 -254
  323. package/examples/npm-libs/inference/azure-deployment.ts +0 -149
  324. package/examples/npm-libs/inference/copilot-cli.ts +0 -138
  325. package/examples/npm-libs/inference/data-pipeline.ts +0 -145
  326. package/examples/npm-libs/inference/pluggable-adapters.ts +0 -254
  327. package/examples/npm-libs/node/ai-conversation.ts +0 -195
  328. package/examples/npm-libs/node/simple-greeting.ts +0 -101
  329. package/examples/step-machine-cli/portfolio-tracker/cards/holdings-table.json +0 -22
  330. package/examples/step-machine-cli/portfolio-tracker/cards/portfolio-form.json +0 -43
  331. package/examples/step-machine-cli/portfolio-tracker/cards/portfolio-value.json +0 -15
  332. package/examples/step-machine-cli/portfolio-tracker/cards/price-fetch.json +0 -15
  333. package/examples/step-machine-cli/portfolio-tracker/fetch-prices.js +0 -48
  334. package/examples/step-machine-cli/portfolio-tracker/handlers/_board-cli.js +0 -57
  335. package/examples/step-machine-cli/portfolio-tracker/handlers/add-cards-cli.js +0 -27
  336. package/examples/step-machine-cli/portfolio-tracker/handlers/init-board-cli.js +0 -25
  337. package/examples/step-machine-cli/portfolio-tracker/handlers/reset-board-dir-cli.js +0 -29
  338. package/examples/step-machine-cli/portfolio-tracker/handlers/retrigger-cli.js +0 -27
  339. package/examples/step-machine-cli/portfolio-tracker/handlers/status-cli.js +0 -25
  340. package/examples/step-machine-cli/portfolio-tracker/handlers/update-holdings-cli.js +0 -37
  341. package/examples/step-machine-cli/portfolio-tracker/handlers/wait-completed-cli.js +0 -53
  342. package/examples/step-machine-cli/portfolio-tracker/handlers/write-prices-cli.js +0 -35
  343. package/examples/step-machine-cli/portfolio-tracker/portfolio-tracker-task-executor.cjs +0 -96
  344. package/examples/step-machine-cli/portfolio-tracker/portfolio-tracker.flow.yaml +0 -227
  345. package/examples/step-machine-cli/portfolio-tracker/portfolio-tracker.input.json +0 -38
  346. package/examples/step-machine-cli/portfolio-tracker/run-portfolio-tracker.bat +0 -28
  347. package/step-machine-cli.js +0 -407
  348. /package/{dist/board-livegraph-runtime → cli/browser-api}/jsonata-sync.cjs +0 -0
  349. /package/{dist/cli → cli}/node/artifacts-store-cli.d.ts +0 -0
  350. /package/{dist/cli/node/source-cli-task-executor.d.cts → cli/node/batch-runner-cli.d.ts} +0 -0
  351. /package/{dist/cli → cli}/node/board-live-cards-cli.d.ts +0 -0
  352. /package/{dist/cli → cli}/node/card-store-cli.d.ts +0 -0
  353. /package/{dist/card-compute → cli/node}/jsonata-sync.cjs +0 -0
  354. /package/{dist/cli → cli}/node/source-cli-task-executor.d.ts +0 -0
  355. /package/examples/{example-board → board}/cards/card-concentration.json +0 -0
  356. /package/examples/{example-board → board}/cards/card-my-identity.json +0 -0
  357. /package/examples/{example-board → board}/cards/card-portfolio-action.json +0 -0
  358. /package/examples/{example-board → board}/cards/card-portfolio-intelligence.json +0 -0
  359. /package/examples/{example-board → board}/cards/card-portfolio-risks.json +0 -0
  360. /package/examples/{example-board → board}/cards/card-rebalance-impact.json +0 -0
  361. /package/examples/{example-board → board}/cards/card-rebalance-sim.json +0 -0
  362. /package/examples/{example-board/cards/card-portfolio-value.json → board/cards/cardT-portfolio-value.json} +0 -0
  363. /package/examples/{example-board → board}/demo-chat-handler.js +0 -0
  364. /package/examples/{example-board → board}/scripts/copilot_wrapper.bat +0 -0
  365. /package/examples/{example-board → board}/scripts/copilot_wrapper_helper.ps1 +0 -0
  366. /package/examples/{example-board → board}/scripts/workiq_wrapper.mjs +0 -0
  367. /package/examples/{browser/boards/portfolio-tracker → board/test}/portfolio-tracker-sse-worker.js +0 -0
  368. /package/{dist → lib}/batch/index.cjs +0 -0
  369. /package/{dist → lib}/batch/index.d.cts +0 -0
  370. /package/{dist → lib}/batch/index.d.ts +0 -0
  371. /package/{dist → lib}/batch/index.js +0 -0
  372. /package/{dist/cli/browser-api → lib/board-livegraph-runtime}/jsonata-sync.cjs +0 -0
  373. /package/{dist → lib}/card-compute/index.d.cts +0 -0
  374. /package/{dist → lib}/card-compute/index.d.ts +0 -0
  375. /package/{dist/cli/node → lib/card-compute}/jsonata-sync.cjs +0 -0
  376. /package/{dist → lib}/config/index.cjs +0 -0
  377. /package/{dist → lib}/config/index.d.cts +0 -0
  378. /package/{dist → lib}/config/index.d.ts +0 -0
  379. /package/{dist → lib}/config/index.js +0 -0
  380. /package/{dist → lib}/continuous-event-graph/jsonata-sync.cjs +0 -0
  381. /package/{dist → lib}/event-graph/index.cjs +0 -0
  382. /package/{dist → lib}/event-graph/index.js +0 -0
  383. /package/{dist → lib}/jsonata-sync.cjs +0 -0
  384. /package/{dist → lib}/server-runtime/jsonata-sync.cjs +0 -0
  385. /package/{dist → lib}/step-machine/index.cjs +0 -0
  386. /package/{dist → lib}/step-machine/index.js +0 -0
  387. /package/{dist → lib}/step-machine-public/jsonata-sync.cjs +0 -0
  388. /package/{dist → lib}/stores/memory.cjs +0 -0
  389. /package/{dist → lib}/stores/memory.js +0 -0
  390. /package/{dist → lib}/types-BBhqYGhE.d.cts +0 -0
  391. /package/{dist → lib}/types-BBhqYGhE.d.ts +0 -0
  392. /package/{dist → lib}/validate-BAVzUJWa.d.ts +0 -0
  393. /package/{dist → lib}/validate-Dbu7ygys.d.cts +0 -0
@@ -0,0 +1,84 @@
1
+ /**
2
+ * storage-interface.ts
3
+ *
4
+ * Three minimal storage primitives that together cover all persistence needs
5
+ * of the board-live-cards system. Any backend (Node fs, CosmosDB, Azure Blob,
6
+ * browser localStorage, in-memory test double) implements these three interfaces.
7
+ *
8
+ * The pure-logic stores in board-live-cards-all-stores.ts depend only on these
9
+ * interfaces — never on Node built-ins.
10
+ *
11
+ * Blob — raw string content at a logical, backend-neutral key
12
+ * Journal — append-only log with cursor-based reads
13
+ * KV — key-value store with list/delete
14
+ *
15
+ * Mapping to existing storage adapters:
16
+ *
17
+ * CardStorageAdapter
18
+ * inventory (cardId → { blobRef, checksum, fileMetadata? }) → KV
19
+ * card JSON files → Blob
20
+ * source output files → Blob
21
+ *
22
+ * JournalStorageAdapter → Journal (board-journal.jsonl)
23
+ *
24
+ * ExecutionRequestStore → KV (keyed by journalId, via createFsKvStorage)
25
+ *
26
+ * StateSnapshotStorageAdapter
27
+ * board-graph.json (packed single JSON, written atomically) → Blob
28
+ * per-card sidecars (cards/<id>/runtime, fetched-sources-manifest) → KV
29
+ */
30
+ interface BlobStat {
31
+ key: string;
32
+ size: number;
33
+ updatedAt?: string;
34
+ contentType?: string;
35
+ }
36
+ interface BlobStorage {
37
+ /** Returns raw content string, or null if the blob does not exist. */
38
+ read(key: string): string | null;
39
+ /** Write content at key. Implementations should be atomic (write-rename). */
40
+ write(key: string, content: string): void;
41
+ /** Returns true if a blob exists at key. */
42
+ exists(key: string): boolean;
43
+ /** Delete the blob at key. No-op if it does not exist. */
44
+ remove(key: string): void;
45
+ /** Optional binary read for file-like artifacts. */
46
+ readBytes?(key: string): Uint8Array | null;
47
+ /** Optional binary write for file-like artifacts. */
48
+ writeBytes?(key: string, content: Uint8Array): void;
49
+ /** Optional key listing by prefix. */
50
+ listKeys?(prefix?: string): string[];
51
+ /** Optional metadata lookup. */
52
+ stat?(key: string): BlobStat | null;
53
+ }
54
+ interface KindValueRef {
55
+ readonly kind: string;
56
+ readonly value: string;
57
+ }
58
+ /** Serialize a KindValueRef to the wire format: b64:<base64url(json)> */
59
+ declare function serializeRef(ref: KindValueRef): string;
60
+ /** Parse a wire-format ref string (b64:<base64url(json)>) into a KindValueRef. */
61
+ declare function parseRef(s: string): KindValueRef;
62
+ interface KVStorage {
63
+ /** Returns the stored value, or null if the key does not exist. */
64
+ read(key: string): unknown | null;
65
+ /** Write value at key. Overwrites any existing value. */
66
+ write(key: string, value: unknown): void;
67
+ /** Delete the key. No-op if it does not exist. */
68
+ delete(key: string): void;
69
+ /**
70
+ * List all keys, optionally filtered to those starting with prefix.
71
+ * Order is implementation-defined.
72
+ */
73
+ listKeys(prefix?: string): string[];
74
+ }
75
+ interface AtomicRelayLock {
76
+ /**
77
+ * Attempt to acquire the lock without blocking.
78
+ * Returns a `release` function if successful, or `null` if the lock is
79
+ * already held by another actor (relay: that actor will complete the work).
80
+ */
81
+ tryAcquire(): (() => void) | null;
82
+ }
83
+
84
+ export { type AtomicRelayLock as A, type BlobStorage as B, type KVStorage as K, type KindValueRef as a, parseRef as p, serializeRef as s };
@@ -0,0 +1,3 @@
1
+ 'use strict';var i=class{runs=new Map;data=new Map;async saveRunState(t,e){this.runs.set(t,{...e});}async loadRunState(t){let e=this.runs.get(t);return e?{...e}:null}async deleteRunState(t){this.runs.delete(t),this.data.delete(t);}async setData(t,e,s){this.data.has(t)||this.data.set(t,{});let r=this.data.get(t);r[e]=s;}async getData(t,e){return this.data.get(t)?.[e]}async getAllData(t){return {...this.data.get(t)??{}}}async clearData(t){this.data.delete(t);}async listRuns(){return Array.from(this.runs.keys())}clear(){this.runs.clear(),this.data.clear();}};function n(a){return btoa(a).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function c(a){return atob(a.replace(/-/g,"+").replace(/_/g,"/"))}var o=class{constructor(t){this.kv=t;}kv;stateKey(t){return `state_${n(t)}`}dataPrefix(t){return `data_${n(t)}_`}dataKey(t,e){return `${this.dataPrefix(t)}${n(e)}`}async saveRunState(t,e){this.kv.write(this.stateKey(t),e);}async loadRunState(t){let e=this.kv.read(this.stateKey(t));return e!=null&&typeof e=="object"?e:null}async deleteRunState(t){this.kv.delete(this.stateKey(t));for(let e of this.kv.listKeys(this.dataPrefix(t)))this.kv.delete(e);}async setData(t,e,s){this.kv.write(this.dataKey(t,e),s);}async getData(t,e){return this.kv.read(this.dataKey(t,e))}async getAllData(t){let e=this.dataPrefix(t),s={};for(let r of this.kv.listKeys(e))s[c(r.slice(e.length))]=this.kv.read(r);return s}async clearData(t){for(let e of this.kv.listKeys(this.dataPrefix(t)))this.kv.delete(e);}async listRuns(){return this.kv.listKeys("state_").map(t=>c(t.slice(6)))}};
2
+ exports.KVStorageStore=o;exports.MemoryStore=i;//# sourceMappingURL=index.cjs.map
3
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1,4 @@
1
+ export { MemoryStore } from './memory.cjs';
2
+ export { KVStorageStore } from './kv.cjs';
3
+ import '../types-DQ1bKuB1.cjs';
4
+ import '../storage-interface-BhAON-gW.cjs';
@@ -0,0 +1,4 @@
1
+ export { MemoryStore } from './memory.js';
2
+ export { KVStorageStore } from './kv.js';
3
+ import '../types-DQ1bKuB1.js';
4
+ import '../storage-interface-BhAON-gW.js';
@@ -0,0 +1,3 @@
1
+ var i=class{runs=new Map;data=new Map;async saveRunState(t,e){this.runs.set(t,{...e});}async loadRunState(t){let e=this.runs.get(t);return e?{...e}:null}async deleteRunState(t){this.runs.delete(t),this.data.delete(t);}async setData(t,e,s){this.data.has(t)||this.data.set(t,{});let r=this.data.get(t);r[e]=s;}async getData(t,e){return this.data.get(t)?.[e]}async getAllData(t){return {...this.data.get(t)??{}}}async clearData(t){this.data.delete(t);}async listRuns(){return Array.from(this.runs.keys())}clear(){this.runs.clear(),this.data.clear();}};function n(a){return btoa(a).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function c(a){return atob(a.replace(/-/g,"+").replace(/_/g,"/"))}var o=class{constructor(t){this.kv=t;}kv;stateKey(t){return `state_${n(t)}`}dataPrefix(t){return `data_${n(t)}_`}dataKey(t,e){return `${this.dataPrefix(t)}${n(e)}`}async saveRunState(t,e){this.kv.write(this.stateKey(t),e);}async loadRunState(t){let e=this.kv.read(this.stateKey(t));return e!=null&&typeof e=="object"?e:null}async deleteRunState(t){this.kv.delete(this.stateKey(t));for(let e of this.kv.listKeys(this.dataPrefix(t)))this.kv.delete(e);}async setData(t,e,s){this.kv.write(this.dataKey(t,e),s);}async getData(t,e){return this.kv.read(this.dataKey(t,e))}async getAllData(t){let e=this.dataPrefix(t),s={};for(let r of this.kv.listKeys(e))s[c(r.slice(e.length))]=this.kv.read(r);return s}async clearData(t){for(let e of this.kv.listKeys(this.dataPrefix(t)))this.kv.delete(e);}async listRuns(){return this.kv.listKeys("state_").map(t=>c(t.slice(6)))}};
2
+ export{o as KVStorageStore,i as MemoryStore};//# sourceMappingURL=index.js.map
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,3 @@
1
+ 'use strict';function i(s){return btoa(s).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function a(s){return atob(s.replace(/-/g,"+").replace(/_/g,"/"))}var o=class{constructor(t){this.kv=t;}kv;stateKey(t){return `state_${i(t)}`}dataPrefix(t){return `data_${i(t)}_`}dataKey(t,e){return `${this.dataPrefix(t)}${i(e)}`}async saveRunState(t,e){this.kv.write(this.stateKey(t),e);}async loadRunState(t){let e=this.kv.read(this.stateKey(t));return e!=null&&typeof e=="object"?e:null}async deleteRunState(t){this.kv.delete(this.stateKey(t));for(let e of this.kv.listKeys(this.dataPrefix(t)))this.kv.delete(e);}async setData(t,e,r){this.kv.write(this.dataKey(t,e),r);}async getData(t,e){return this.kv.read(this.dataKey(t,e))}async getAllData(t){let e=this.dataPrefix(t),r={};for(let n of this.kv.listKeys(e))r[a(n.slice(e.length))]=this.kv.read(n);return r}async clearData(t){for(let e of this.kv.listKeys(this.dataPrefix(t)))this.kv.delete(e);}async listRuns(){return this.kv.listKeys("state_").map(t=>a(t.slice(6)))}};
2
+ exports.KVStorageStore=o;//# sourceMappingURL=kv.cjs.map
3
+ //# sourceMappingURL=kv.cjs.map
@@ -0,0 +1,32 @@
1
+ import { l as StepMachineStore, k as StepMachineState } from '../types-DQ1bKuB1.cjs';
2
+ import { K as KVStorage } from '../storage-interface-BhAON-gW.cjs';
3
+
4
+ /**
5
+ * yaml-flow - KVStorageStore
6
+ *
7
+ * StepMachineStore backed by a platform-agnostic KVStorage.
8
+ * The platform adapter provides the right KVStorage implementation
9
+ * (Node.js FS, browser localStorage, in-memory, CosmosDB, etc.).
10
+ *
11
+ * Key schema (all parts are base64url-encoded — alphanumeric + '-' + '_' only):
12
+ * state_<b64(runId)> → StepMachineState
13
+ * data_<b64(runId)>_<b64(key)> → arbitrary value
14
+ */
15
+
16
+ declare class KVStorageStore implements StepMachineStore {
17
+ private readonly kv;
18
+ constructor(kv: KVStorage);
19
+ private stateKey;
20
+ private dataPrefix;
21
+ private dataKey;
22
+ saveRunState(runId: string, state: StepMachineState): Promise<void>;
23
+ loadRunState(runId: string): Promise<StepMachineState | null>;
24
+ deleteRunState(runId: string): Promise<void>;
25
+ setData(runId: string, key: string, value: unknown): Promise<void>;
26
+ getData(runId: string, key: string): Promise<unknown>;
27
+ getAllData(runId: string): Promise<Record<string, unknown>>;
28
+ clearData(runId: string): Promise<void>;
29
+ listRuns(): Promise<string[]>;
30
+ }
31
+
32
+ export { KVStorageStore };
@@ -0,0 +1,32 @@
1
+ import { l as StepMachineStore, k as StepMachineState } from '../types-DQ1bKuB1.js';
2
+ import { K as KVStorage } from '../storage-interface-BhAON-gW.js';
3
+
4
+ /**
5
+ * yaml-flow - KVStorageStore
6
+ *
7
+ * StepMachineStore backed by a platform-agnostic KVStorage.
8
+ * The platform adapter provides the right KVStorage implementation
9
+ * (Node.js FS, browser localStorage, in-memory, CosmosDB, etc.).
10
+ *
11
+ * Key schema (all parts are base64url-encoded — alphanumeric + '-' + '_' only):
12
+ * state_<b64(runId)> → StepMachineState
13
+ * data_<b64(runId)>_<b64(key)> → arbitrary value
14
+ */
15
+
16
+ declare class KVStorageStore implements StepMachineStore {
17
+ private readonly kv;
18
+ constructor(kv: KVStorage);
19
+ private stateKey;
20
+ private dataPrefix;
21
+ private dataKey;
22
+ saveRunState(runId: string, state: StepMachineState): Promise<void>;
23
+ loadRunState(runId: string): Promise<StepMachineState | null>;
24
+ deleteRunState(runId: string): Promise<void>;
25
+ setData(runId: string, key: string, value: unknown): Promise<void>;
26
+ getData(runId: string, key: string): Promise<unknown>;
27
+ getAllData(runId: string): Promise<Record<string, unknown>>;
28
+ clearData(runId: string): Promise<void>;
29
+ listRuns(): Promise<string[]>;
30
+ }
31
+
32
+ export { KVStorageStore };
@@ -0,0 +1,3 @@
1
+ function i(s){return btoa(s).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function a(s){return atob(s.replace(/-/g,"+").replace(/_/g,"/"))}var o=class{constructor(t){this.kv=t;}kv;stateKey(t){return `state_${i(t)}`}dataPrefix(t){return `data_${i(t)}_`}dataKey(t,e){return `${this.dataPrefix(t)}${i(e)}`}async saveRunState(t,e){this.kv.write(this.stateKey(t),e);}async loadRunState(t){let e=this.kv.read(this.stateKey(t));return e!=null&&typeof e=="object"?e:null}async deleteRunState(t){this.kv.delete(this.stateKey(t));for(let e of this.kv.listKeys(this.dataPrefix(t)))this.kv.delete(e);}async setData(t,e,r){this.kv.write(this.dataKey(t,e),r);}async getData(t,e){return this.kv.read(this.dataKey(t,e))}async getAllData(t){let e=this.dataPrefix(t),r={};for(let n of this.kv.listKeys(e))r[a(n.slice(e.length))]=this.kv.read(n);return r}async clearData(t){for(let e of this.kv.listKeys(this.dataPrefix(t)))this.kv.delete(e);}async listRuns(){return this.kv.listKeys("state_").map(t=>a(t.slice(6)))}};
2
+ export{o as KVStorageStore};//# sourceMappingURL=kv.js.map
3
+ //# sourceMappingURL=kv.js.map
@@ -1,4 +1,4 @@
1
- import { l as StepMachineStore, k as StepMachineState } from '../types-ycun84cq.cjs';
1
+ import { l as StepMachineStore, k as StepMachineState } from '../types-DQ1bKuB1.cjs';
2
2
 
3
3
  /**
4
4
  * yaml-flow - Memory Store
@@ -1,4 +1,4 @@
1
- import { l as StepMachineStore, k as StepMachineState } from '../types-ycun84cq.js';
1
+ import { l as StepMachineStore, k as StepMachineState } from '../types-DQ1bKuB1.js';
2
2
 
3
3
  /**
4
4
  * yaml-flow - Memory Store
@@ -1,5 +1,6 @@
1
- import { e as KindValueRef, B as BoardPlatformAdapter, d as CommandResult } from './board-live-cards-public-hnZo0mAf.js';
1
+ import { d as BoardPlatformAdapter, a as CommandResult } from './board-live-cards-public-CsmYrvpd.js';
2
2
  import { ExecutionRef } from './execution-refs.js';
3
+ import { a as KindValueRef } from './storage-interface-BhAON-gW.js';
3
4
 
4
5
  /**
5
6
  * server-runtime/types.ts
@@ -24,6 +24,7 @@ interface StepConfig {
24
24
  failure_transitions?: Record<string, string>;
25
25
  retry?: RetryConfig;
26
26
  circuit_breaker?: CircuitBreakerConfig;
27
+ forEach?: ForEachConfig;
27
28
  }
28
29
  interface RetryConfig {
29
30
  max_attempts: number;
@@ -34,6 +35,16 @@ interface CircuitBreakerConfig {
34
35
  max_iterations: number;
35
36
  on_open: string;
36
37
  }
38
+ interface ForEachConfig {
39
+ /** Data key containing the array to iterate over */
40
+ items: string;
41
+ /** Variable name for the current item in each iteration */
42
+ as: string;
43
+ /** Max concurrent iterations. @default 1 */
44
+ concurrency?: number;
45
+ /** Data key to collect results into. Defaults to `<items>_results` */
46
+ collectAs?: string;
47
+ }
37
48
  interface TerminalStateConfig {
38
49
  description?: string;
39
50
  return_intent: string;
@@ -24,6 +24,7 @@ interface StepConfig {
24
24
  failure_transitions?: Record<string, string>;
25
25
  retry?: RetryConfig;
26
26
  circuit_breaker?: CircuitBreakerConfig;
27
+ forEach?: ForEachConfig;
27
28
  }
28
29
  interface RetryConfig {
29
30
  max_attempts: number;
@@ -34,6 +35,16 @@ interface CircuitBreakerConfig {
34
35
  max_iterations: number;
35
36
  on_open: string;
36
37
  }
38
+ interface ForEachConfig {
39
+ /** Data key containing the array to iterate over */
40
+ items: string;
41
+ /** Variable name for the current item in each iteration */
42
+ as: string;
43
+ /** Max concurrent iterations. @default 1 */
44
+ concurrency?: number;
45
+ /** Data key to collect results into. Defaults to `<items>_results` */
46
+ collectAs?: string;
47
+ }
37
48
  interface TerminalStateConfig {
38
49
  description?: string;
39
50
  return_intent: string;
@@ -1,5 +1,6 @@
1
- import { e as KindValueRef, B as BoardPlatformAdapter, d as CommandResult } from './board-live-cards-public-CW5074xr.cjs';
1
+ import { d as BoardPlatformAdapter, a as CommandResult } from './board-live-cards-public-BnmRAbQV.cjs';
2
2
  import { ExecutionRef } from './execution-refs.cjs';
3
+ import { a as KindValueRef } from './storage-interface-BhAON-gW.cjs';
3
4
 
4
5
  /**
5
6
  * server-runtime/types.ts
package/package.json CHANGED
@@ -1,114 +1,65 @@
1
1
  {
2
2
  "name": "yaml-flow",
3
- "version": "7.0.0",
3
+ "version": "8.0.0",
4
4
  "description": "Unified workflow engine: step-machine (sequential) + event-graph (stateless DAG) with pluggable storage",
5
5
  "author": "",
6
6
  "license": "MIT",
7
7
  "type": "module",
8
- "main": "./dist/index.cjs",
9
- "module": "./dist/index.js",
10
- "types": "./dist/index.d.ts",
8
+ "main": "./lib/board-live-cards-public.cjs",
9
+ "module": "./lib/board-live-cards-public.js",
10
+ "types": "./lib/board-live-cards-public.d.ts",
11
11
  "bin": {
12
- "board-live-cards-cli": "./board-live-cards-cli.js",
13
- "card-store": "./card-store.js",
14
- "step-machine-cli": "./step-machine-cli.js"
12
+ "board-live-cards-cli": "./cli/node/board-live-cards-cli.js",
13
+ "card-store": "./cli/node/card-store-cli.js",
14
+ "artifacts-store": "./cli/node/artifacts-store-cli.js",
15
+ "step-machine-cli": "./cli/node/step-machine-cli.js",
16
+ "batch-runner-cli": "./cli/node/batch-runner-cli.js"
15
17
  },
16
18
  "exports": {
17
19
  ".": {
18
- "types": "./dist/index.d.ts",
19
- "import": "./dist/index.js",
20
- "require": "./dist/index.cjs"
21
- },
22
- "./step-machine": {
23
- "types": "./dist/step-machine/index.d.ts",
24
- "import": "./dist/step-machine/index.js",
25
- "require": "./dist/step-machine/index.cjs"
26
- },
27
- "./event-graph": {
28
- "types": "./dist/event-graph/index.d.ts",
29
- "import": "./dist/event-graph/index.js",
30
- "require": "./dist/event-graph/index.cjs"
31
- },
32
- "./stores": {
33
- "types": "./dist/stores/index.d.ts",
34
- "import": "./dist/stores/index.js",
35
- "require": "./dist/stores/index.cjs"
36
- },
37
- "./stores/memory": {
38
- "types": "./dist/stores/memory.d.ts",
39
- "import": "./dist/stores/memory.js",
40
- "require": "./dist/stores/memory.cjs"
41
- },
42
- "./stores/localStorage": {
43
- "types": "./dist/stores/localStorage.d.ts",
44
- "import": "./dist/stores/localStorage.js",
45
- "require": "./dist/stores/localStorage.cjs"
46
- },
47
- "./stores/file": {
48
- "types": "./dist/stores/file.d.ts",
49
- "import": "./dist/stores/file.js",
50
- "require": "./dist/stores/file.cjs"
51
- },
52
- "./batch": {
53
- "types": "./dist/batch/index.d.ts",
54
- "import": "./dist/batch/index.js",
55
- "require": "./dist/batch/index.cjs"
56
- },
57
- "./config": {
58
- "types": "./dist/config/index.d.ts",
59
- "import": "./dist/config/index.js",
60
- "require": "./dist/config/index.cjs"
61
- },
62
- "./continuous-event-graph": {
63
- "types": "./dist/continuous-event-graph/index.d.ts",
64
- "import": "./dist/continuous-event-graph/index.js",
65
- "require": "./dist/continuous-event-graph/index.cjs"
66
- },
67
- "./board-livegraph-runtime": {
68
- "types": "./dist/board-livegraph-runtime/index.d.ts",
69
- "import": "./dist/board-livegraph-runtime/index.js",
70
- "require": "./dist/board-livegraph-runtime/index.cjs"
71
- },
72
- "./inference": {
73
- "types": "./dist/inference/index.d.ts",
74
- "import": "./dist/inference/index.js",
75
- "require": "./dist/inference/index.cjs"
76
- },
77
- "./card-compute": {
78
- "types": "./dist/card-compute/index.d.ts",
79
- "import": "./dist/card-compute/index.js",
80
- "require": "./dist/card-compute/index.cjs"
81
- },
82
- "./runtime-artifacts": {
83
- "types": "./dist/runtime-artifacts/index.d.ts",
84
- "import": "./dist/runtime-artifacts/index.js",
85
- "require": "./dist/runtime-artifacts/index.cjs"
86
- },
87
- "./storage-refs": {
88
- "types": "./dist/storage-refs.d.ts",
89
- "import": "./dist/storage-refs.js",
90
- "require": "./dist/storage-refs.cjs"
91
- },
92
- "./execution-refs": {
93
- "types": "./dist/execution-refs.d.ts",
94
- "import": "./dist/execution-refs.js",
95
- "require": "./dist/execution-refs.cjs"
96
- },
97
- "./board-live-cards-browser": {
98
- "types": "./dist/cli/browser-api/board-live-cards-browser-adapter.d.ts",
99
- "import": "./dist/cli/browser-api/board-live-cards-browser-adapter.js"
20
+ "types": "./lib/board-live-cards-public.d.ts",
21
+ "import": "./lib/board-live-cards-public.js",
22
+ "require": "./lib/board-live-cards-public.cjs"
23
+ },
24
+ "./board-live-cards-public": {
25
+ "types": "./lib/board-live-cards-public.d.ts",
26
+ "import": "./lib/board-live-cards-public.js",
27
+ "require": "./lib/board-live-cards-public.cjs"
28
+ },
29
+ "./card-store-public": {
30
+ "types": "./lib/card-store-public.d.ts",
31
+ "import": "./lib/card-store-public.js",
32
+ "require": "./lib/card-store-public.cjs"
33
+ },
34
+ "./artifacts-store-public": {
35
+ "types": "./lib/artifacts-store-public.d.ts",
36
+ "import": "./lib/artifacts-store-public.js",
37
+ "require": "./lib/artifacts-store-public.cjs"
38
+ },
39
+ "./board-worker-adapter": {
40
+ "types": "./lib/board-worker-adapter.d.ts",
41
+ "import": "./lib/board-worker-adapter.js",
42
+ "require": "./lib/board-worker-adapter.cjs"
43
+ },
44
+ "./step-machine-public": {
45
+ "types": "./lib/step-machine-public/index.d.ts",
46
+ "import": "./lib/step-machine-public/index.js",
47
+ "require": "./lib/step-machine-public/index.cjs"
48
+ },
49
+ "./card-validation": {
50
+ "types": "./lib/card-validation.d.ts",
51
+ "import": "./lib/card-validation.js",
52
+ "require": "./lib/card-validation.cjs"
100
53
  },
101
54
  "./board-live-cards-node": {
102
- "types": "./dist/cli/node/fs-board-adapter.d.ts",
103
- "import": "./dist/cli/node/fs-board-adapter.js"
104
- },
105
- "./card-store-browser": {
106
- "types": "./dist/cli/browser-api/card-store-browser-api.d.ts",
107
- "import": "./dist/cli/browser-api/card-store-browser-api.js"
55
+ "types": "./lib/board-live-cards-node.d.ts",
56
+ "import": "./lib/board-live-cards-node.js",
57
+ "require": "./lib/board-live-cards-node.cjs"
108
58
  },
109
- "./server-runtime": {
110
- "types": "./dist/server-runtime/index.d.ts",
111
- "import": "./dist/server-runtime/index.js"
59
+ "./board-live-cards-server-runtime": {
60
+ "types": "./lib/board-live-cards-server-runtime.d.ts",
61
+ "import": "./lib/board-live-cards-server-runtime.js",
62
+ "require": "./lib/board-live-cards-server-runtime.cjs"
112
63
  },
113
64
  "./package.json": "./package.json"
114
65
  },
@@ -116,39 +67,48 @@
116
67
  "./stores/file": false
117
68
  },
118
69
  "files": [
119
- "board-live-cards-cli.js",
120
- "storage-refs.js",
121
- "step-machine-cli.js",
122
- "dist",
70
+ "lib",
71
+ "cli",
72
+ "examples/board",
73
+ "examples/board-local",
74
+ "examples/portfolio-tracker",
123
75
  "schema",
124
76
  "browser",
125
- "examples"
77
+ "!browser/card-compute.js",
78
+ "!browser/board-livegraph-engine.js",
79
+ "!lib/**/*.map",
80
+ "!cli/**/*.map",
81
+ "!browser/**/*.map",
82
+ "!examples/**/runtime/**",
83
+ "!examples/**/--base-ref/**",
84
+ "!examples/**/cards/**/chats/**",
85
+ "!examples/**/cards/**/files/**"
126
86
  ],
127
87
  "scripts": {
128
- "build": "tsup",
88
+ "build": "npm run -s build:lib && npm run -s build:cli && npm run -s build:public-examples",
89
+ "build:lib": "tsup --config tsup.config.ts",
90
+ "build:cli": "tsup --config tsup.cli.config.ts",
91
+ "build:public-examples": "node scripts/generate-public-examples.mjs",
129
92
  "build:browser": "tsup --config tsup.browser.config.ts && node scripts/generate-browser-integrity.mjs",
130
93
  "check:bundle-budget": "node scripts/check-bundle-budgets.mjs",
131
94
  "check:browser-bundle": "node scripts/check-browser-bundle-safety.mjs",
132
95
  "release:gate": "npm run -s build && npm run -s build:browser && npm run -s test:run && npm run -s check:bundle-budget && npm run -s check:browser-bundle",
133
- "standalone": "npm run -s test:cli-parity && npm run -s build && node scripts/build-standalone.mjs",
134
- "pycli:install": "python -m pip install -r pycli/requirements.txt",
135
- "pycli:install:venv": "c:/Users/sreenaga/ADO/ai-tool-evolver/.venv/Scripts/python.exe -m pip install -r pycli/requirements.txt",
136
- "pycli:install:py312": "py -3.12 -m pip install -r pycli/requirements.txt",
137
- "pycli:install:venv312": "./.venv312/Scripts/python.exe -m pip install -r pycli/requirements.txt",
138
- "build:example": "node demo-src/example-board/build.js",
96
+ "standalone": "echo standalone is canonical; no assembly step required",
97
+ "pycli:install": "python -m pip install -r py-standalone/requirements.txt",
98
+ "pycli:install:venv": "c:/Users/sreenaga/ADO/ai-tool-evolver/.venv/Scripts/python.exe -m pip install -r py-standalone/requirements.txt",
99
+ "pycli:install:py312": "py -3.12 -m pip install -r py-standalone/requirements.txt",
100
+ "pycli:install:venv312": "./.venv312/Scripts/python.exe -m pip install -r py-standalone/requirements.txt",
139
101
  "dev": "tsup --watch",
140
- "test": "npm run build:example && vitest",
141
- "test:run": "npm run build:example && vitest run",
142
- "test:cli-parity": "python scripts/cli_parity_check.py",
143
- "test:cli-parity:full": "python scripts/cli_parity_check.py --include-portfolio",
144
- "test:e2e": "python examples/browser/boards/portfolio-tracker/portfolio-tracker.py --run-pycli",
145
- "test:portfolio-tracker-server": "node examples/browser/boards/portfolio-tracker/portfolio-tracker-http-test.js",
146
- "test:example-board": "vitest run tests/examples/example-board.test.ts",
147
- "check:example-board": "npm run test:example-board && npm run validate:cards -- \"examples/example-board/cards/*.json\"",
102
+ "test": "vitest",
103
+ "test:run": "vitest run",
104
+ "test:e2e": "vitest run --config vitest.e2e.config.ts",
105
+ "test:python": "vitest run --config vitest.python.config.ts",
106
+ "tests:e2e": "npm run -s test:e2e",
107
+ "tests:python": "npm run -s test:python",
148
108
  "validate:cards": "tsx scripts/validate-live-cards.ts",
149
109
  "lint": "eslint src/",
150
110
  "typecheck": "tsc --noEmit",
151
- "prepublishOnly": "npm run build && npm run build:browser && npm run check:bundle-budget && npm run check:browser-bundle"
111
+ "prepublishOnly": "npm run build && npm run build:browser && npm run build:public-examples && npm run check:bundle-budget && npm run check:browser-bundle"
152
112
  },
153
113
  "devDependencies": {
154
114
  "@types/node": "^20.10.0",
@@ -1,37 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- import * as fs from 'node:fs';
4
- import * as path from 'node:path';
5
- import { fileURLToPath } from 'node:url';
6
- import { spawnSync } from 'node:child_process';
7
-
8
- const __dirname = path.dirname(fileURLToPath(import.meta.url));
9
- const distCli = path.join(__dirname, 'dist', 'cli', 'node', 'board-live-cards-cli.js');
10
- const srcCli = path.join(__dirname, 'src', 'cli', 'node', 'board-live-cards-cli.ts');
11
- const tsxCli = path.join(__dirname, 'node_modules', 'tsx', 'dist', 'cli.mjs');
12
-
13
- if (fs.existsSync(srcCli)) {
14
- const result = spawnSync(process.execPath, [tsxCli, srcCli, ...process.argv.slice(2)], {
15
- stdio: 'inherit',
16
- shell: false,
17
- windowsHide: true,
18
- });
19
-
20
- if (result.error) {
21
- console.error(`[board-live-cards-cli] Failed to launch dev fallback: ${result.error.message}`);
22
- process.exit(1);
23
- }
24
-
25
- process.exit(result.status ?? 0);
26
- } else if (fs.existsSync(distCli)) {
27
- const { cli } = await import(pathToFileUrl(distCli).href);
28
- await cli(process.argv.slice(2));
29
- } else {
30
- console.error('[board-live-cards-cli] Could not find dist or src CLI entrypoint.');
31
- process.exit(1);
32
- }
33
-
34
- function pathToFileUrl(filePath) {
35
- const resolved = path.resolve(filePath).replace(/\\/g, '/');
36
- return new URL(`file:///${resolved.startsWith('/') ? resolved.slice(1) : resolved}`);
37
- }