yaml-flow 7.1.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 (386) 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 -3309
  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/{dist/cli → cli}/browser-api/card-store-browser-api.d.ts +1 -2
  8. package/{dist/cli → cli}/browser-api/card-store-browser-api.js +1 -1
  9. package/cli/execution-interface-C_A6WCiK.d.ts +284 -0
  10. package/{dist/cli → cli}/node/artifacts-store-cli.js +2 -2
  11. package/cli/node/batch-runner-cli.js +3 -0
  12. package/cli/node/board-live-cards-cli.js +15 -0
  13. package/{dist/cli → cli}/node/execution-adapter.d.ts +3 -3
  14. package/cli/node/execution-adapter.js +3 -0
  15. package/{dist/cli → cli}/node/fs-board-adapter.d.ts +24 -11
  16. package/cli/node/fs-board-adapter.js +14 -0
  17. package/cli/node/step-machine-cli.d.ts +7 -0
  18. package/cli/node/step-machine-cli.js +5 -0
  19. package/{dist/board-live-cards-public-5n1-syA3.d.cts → cli/types-CziUxkiv.d.ts} +68 -5
  20. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/gandalf-runtime/.config/card-store-ref.json +1 -0
  21. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/gandalf-runtime/.config/chat-handler.json +1 -0
  22. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/gandalf-runtime/.config/outputs-store-ref.json +1 -0
  23. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/gandalf-runtime/.config/task-executor.json +1 -0
  24. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/gandalf-runtime/.state-snapshot/board/graph.json +29 -0
  25. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/gandalf-runtime/.state-snapshot/board/lastJournalProcessedId.json +1 -0
  26. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/gandalf-runtime-out/.outputs/status.json +25 -0
  27. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/runtime-out/.outputs/cards/card-market-prices/computed_values.json +67 -0
  28. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/runtime-out/.outputs/cards/card-portfolio/computed_values.json +1 -0
  29. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/runtime-out/.outputs/cards/card-portfolio-value/computed_values.json +52 -0
  30. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/runtime-out/.outputs/data-objects/holdings.json +22 -0
  31. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/runtime-out/.outputs/data-objects/positions.json +46 -0
  32. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/runtime-out/.outputs/data-objects/quotes.json +35 -0
  33. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/runtime-out/.outputs/status.json +113 -0
  34. package/examples/{example-board → board}/demo-server-config.json +0 -1
  35. package/examples/{example-board → board}/demo-server.js +23 -48
  36. package/examples/{example-board → board}/demo-shell-with-server.html +3 -3
  37. package/examples/{example-board → board}/demo-task-executor.js +71 -24
  38. package/examples/board/gandalf-cards/card-source-kinds.json +36 -0
  39. package/examples/board/gandalf-cards/cards/_index.json +7 -0
  40. package/examples/board/gandalf-cards/cards/card-source-kinds.json +64 -0
  41. package/examples/board/source-def-flows/copilot.flow.json +33 -0
  42. package/examples/board/source-def-flows/mock.flow.json +35 -0
  43. package/examples/board/source-def-flows/url-list.flow.json +33 -0
  44. package/examples/board/source-def-flows/url.flow.json +33 -0
  45. package/examples/board/source-def-flows/workiq.flow.json +34 -0
  46. package/examples/board/source-def-handlers/copilot-source-handler.js +141 -0
  47. package/examples/board/source-def-handlers/http-source-handler.js +145 -0
  48. package/examples/board/source_def_flows.json +249 -0
  49. package/examples/board/test/demo-http-test.js +317 -0
  50. package/examples/{example-board → board-local}/demo-shell-localstorage.html +4 -4
  51. package/examples/{browser/boards/portfolio-tracker → portfolio-tracker/handlers}/portfolio-tracker-fetch-prices.js +1 -1
  52. package/examples/{browser/boards/portfolio-tracker/portfolio-tracker-public.js → portfolio-tracker/portfolio-tracker.js} +11 -14
  53. package/examples/{browser/boards/portfolio-tracker → portfolio-tracker/test}/portfolio-t4.js +32 -50
  54. package/lib/artifacts-store-lib-public-BABrgFkV.d.ts +119 -0
  55. package/lib/artifacts-store-lib-public-DGa8BpJT.d.cts +119 -0
  56. package/lib/artifacts-store-public.cjs +2 -0
  57. package/lib/artifacts-store-public.d.cts +5 -0
  58. package/lib/artifacts-store-public.d.ts +5 -0
  59. package/lib/artifacts-store-public.js +2 -0
  60. package/lib/board-live-cards-node.cjs +14 -0
  61. package/{dist/cli/node/execution-adapter.d.cts → lib/board-live-cards-node.d.cts} +45 -85
  62. package/lib/board-live-cards-node.d.ts +134 -0
  63. package/lib/board-live-cards-node.js +14 -0
  64. package/lib/board-live-cards-public-BnmRAbQV.d.cts +383 -0
  65. package/{dist/board-live-cards-public-CK_J8uv0.d.ts → lib/board-live-cards-public-CsmYrvpd.d.ts} +142 -76
  66. package/lib/board-live-cards-public.cjs +3 -0
  67. package/lib/board-live-cards-public.d.cts +4 -0
  68. package/lib/board-live-cards-public.d.ts +4 -0
  69. package/lib/board-live-cards-public.js +3 -0
  70. package/lib/board-live-cards-server-runtime.cjs +9 -0
  71. package/lib/board-live-cards-server-runtime.d.cts +6 -0
  72. package/lib/board-live-cards-server-runtime.d.ts +6 -0
  73. package/lib/board-live-cards-server-runtime.js +9 -0
  74. package/lib/board-livegraph-runtime/index.cjs +3 -0
  75. package/{dist → lib}/board-livegraph-runtime/index.d.cts +1 -2
  76. package/{dist → lib}/board-livegraph-runtime/index.d.ts +1 -2
  77. package/lib/board-livegraph-runtime/index.js +3 -0
  78. package/{dist/storage-refs.cjs → lib/board-worker-adapter.cjs} +2 -2
  79. package/{dist/storage-refs.d.cts → lib/board-worker-adapter.d.cts} +4 -3
  80. package/{dist/storage-refs.d.ts → lib/board-worker-adapter.d.ts} +4 -3
  81. package/{dist/storage-refs.js → lib/board-worker-adapter.js} +2 -2
  82. package/{dist → lib}/card-compute/index.cjs +1 -1
  83. package/{dist → lib}/card-compute/index.js +1 -1
  84. package/lib/card-store-public.cjs +2 -0
  85. package/lib/card-store-public.d.cts +61 -0
  86. package/lib/card-store-public.d.ts +61 -0
  87. package/lib/card-store-public.js +2 -0
  88. package/lib/card-validation.cjs +10 -0
  89. package/lib/card-validation.d.cts +35 -0
  90. package/lib/card-validation.d.ts +35 -0
  91. package/lib/card-validation.js +10 -0
  92. package/{dist/constants-oCEbNpul.d.ts → lib/constants-BPVLb3Es.d.ts} +1 -1
  93. package/{dist/constants-BzZUyYlp.d.cts → lib/constants-DXxsRN9y.d.cts} +1 -1
  94. package/{dist → lib}/continuous-event-graph/index.cjs +2 -2
  95. package/{dist → lib}/continuous-event-graph/index.d.cts +3 -5
  96. package/{dist → lib}/continuous-event-graph/index.d.ts +3 -5
  97. package/{dist → lib}/continuous-event-graph/index.js +2 -2
  98. package/{dist → lib}/event-graph/index.d.cts +2 -2
  99. package/{dist → lib}/event-graph/index.d.ts +2 -2
  100. package/{dist → lib}/execution-refs.d.cts +29 -10
  101. package/{dist → lib}/execution-refs.d.ts +29 -10
  102. package/lib/index.cjs +25 -0
  103. package/{dist → lib}/index.d.cts +7 -8
  104. package/{dist → lib}/index.d.ts +7 -8
  105. package/lib/index.js +25 -0
  106. package/{dist/live-cards-bridge-BXbVTsna.d.cts → lib/live-cards-bridge-DC_ZU0eS.d.ts} +134 -3
  107. package/{dist/live-cards-bridge-Ds28XR15.d.ts → lib/live-cards-bridge-b25aAVvE.d.cts} +134 -3
  108. package/lib/loader-CuuLjxVA.d.cts +42 -0
  109. package/lib/loader-Zborm2pq.d.ts +42 -0
  110. package/lib/server-runtime/index.cjs +9 -0
  111. package/{dist → lib}/server-runtime/index.d.cts +4 -4
  112. package/{dist → lib}/server-runtime/index.d.ts +4 -4
  113. package/lib/server-runtime/index.js +9 -0
  114. package/lib/step-machine/index.d.cts +64 -0
  115. package/lib/step-machine/index.d.ts +64 -0
  116. package/lib/step-machine-public/index.cjs +5 -0
  117. package/{dist → lib}/step-machine-public/index.d.cts +14 -1
  118. package/{dist → lib}/step-machine-public/index.d.ts +14 -1
  119. package/lib/step-machine-public/index.js +5 -0
  120. package/lib/storage-interface-BhAON-gW.d.cts +84 -0
  121. package/lib/storage-interface-BhAON-gW.d.ts +84 -0
  122. package/lib/stores/index.cjs +3 -0
  123. package/lib/stores/index.d.cts +4 -0
  124. package/lib/stores/index.d.ts +4 -0
  125. package/lib/stores/index.js +3 -0
  126. package/lib/stores/kv.cjs +3 -0
  127. package/lib/stores/kv.d.cts +32 -0
  128. package/lib/stores/kv.d.ts +32 -0
  129. package/lib/stores/kv.js +3 -0
  130. package/{dist → lib}/stores/memory.d.cts +1 -1
  131. package/{dist → lib}/stores/memory.d.ts +1 -1
  132. package/{dist/types-HGDTWIun.d.ts → lib/types-CBxkYuLY.d.ts} +2 -1
  133. package/{dist/types-ycun84cq.d.cts → lib/types-DQ1bKuB1.d.cts} +11 -0
  134. package/{dist/types-ycun84cq.d.ts → lib/types-DQ1bKuB1.d.ts} +11 -0
  135. package/{dist/types-CU3DjTKL.d.cts → lib/types-DkFvgxwq.d.cts} +2 -1
  136. package/package.json +79 -119
  137. package/board-live-cards-cli.js +0 -37
  138. package/browser/board-livecards-client.js.map +0 -1
  139. package/browser/board-livecards-localstorage.js.map +0 -1
  140. package/browser/board-livegraph-engine.js +0 -3
  141. package/browser/board-livegraph-engine.js.map +0 -1
  142. package/browser/card-compute.js +0 -266
  143. package/browser/compute-jsonata.js.map +0 -1
  144. package/card-store.js +0 -37
  145. package/dist/batch/index.cjs.map +0 -1
  146. package/dist/batch/index.js.map +0 -1
  147. package/dist/board-live-cards-lib-Bg6EvCo5.d.cts +0 -136
  148. package/dist/board-live-cards-lib-jM2uYG1v.d.ts +0 -136
  149. package/dist/board-livegraph-runtime/index.cjs +0 -3
  150. package/dist/board-livegraph-runtime/index.cjs.map +0 -1
  151. package/dist/board-livegraph-runtime/index.js +0 -3
  152. package/dist/board-livegraph-runtime/index.js.map +0 -1
  153. package/dist/card-compute/index.cjs.map +0 -1
  154. package/dist/card-compute/index.js.map +0 -1
  155. package/dist/cli/browser-api/board-live-cards-browser-adapter.cjs +0 -3
  156. package/dist/cli/browser-api/board-live-cards-browser-adapter.cjs.map +0 -1
  157. package/dist/cli/browser-api/board-live-cards-browser-adapter.d.cts +0 -37
  158. package/dist/cli/browser-api/board-live-cards-browser-adapter.js.map +0 -1
  159. package/dist/cli/browser-api/card-store-browser-api.cjs +0 -2
  160. package/dist/cli/browser-api/card-store-browser-api.cjs.map +0 -1
  161. package/dist/cli/browser-api/card-store-browser-api.d.cts +0 -26
  162. package/dist/cli/browser-api/card-store-browser-api.js.map +0 -1
  163. package/dist/cli/node/artifacts-store-cli.cjs +0 -11
  164. package/dist/cli/node/artifacts-store-cli.cjs.map +0 -1
  165. package/dist/cli/node/artifacts-store-cli.d.cts +0 -8
  166. package/dist/cli/node/artifacts-store-cli.js.map +0 -1
  167. package/dist/cli/node/board-live-cards-cli.cjs +0 -15
  168. package/dist/cli/node/board-live-cards-cli.cjs.map +0 -1
  169. package/dist/cli/node/board-live-cards-cli.d.cts +0 -20
  170. package/dist/cli/node/board-live-cards-cli.js +0 -15
  171. package/dist/cli/node/board-live-cards-cli.js.map +0 -1
  172. package/dist/cli/node/card-store-cli.cjs +0 -8
  173. package/dist/cli/node/card-store-cli.cjs.map +0 -1
  174. package/dist/cli/node/card-store-cli.d.cts +0 -15
  175. package/dist/cli/node/card-store-cli.js.map +0 -1
  176. package/dist/cli/node/execution-adapter.cjs +0 -3
  177. package/dist/cli/node/execution-adapter.cjs.map +0 -1
  178. package/dist/cli/node/execution-adapter.js +0 -3
  179. package/dist/cli/node/execution-adapter.js.map +0 -1
  180. package/dist/cli/node/fs-board-adapter.cjs +0 -14
  181. package/dist/cli/node/fs-board-adapter.cjs.map +0 -1
  182. package/dist/cli/node/fs-board-adapter.d.cts +0 -204
  183. package/dist/cli/node/fs-board-adapter.js +0 -14
  184. package/dist/cli/node/fs-board-adapter.js.map +0 -1
  185. package/dist/cli/node/source-cli-task-executor.cjs +0 -11
  186. package/dist/cli/node/source-cli-task-executor.cjs.map +0 -1
  187. package/dist/cli/node/source-cli-task-executor.js.map +0 -1
  188. package/dist/config/index.cjs.map +0 -1
  189. package/dist/config/index.js.map +0 -1
  190. package/dist/continuous-event-graph/index.cjs.map +0 -1
  191. package/dist/continuous-event-graph/index.js.map +0 -1
  192. package/dist/event-graph/index.cjs.map +0 -1
  193. package/dist/event-graph/index.js.map +0 -1
  194. package/dist/execution-refs.cjs.map +0 -1
  195. package/dist/execution-refs.js.map +0 -1
  196. package/dist/index.cjs +0 -30
  197. package/dist/index.cjs.map +0 -1
  198. package/dist/index.js +0 -30
  199. package/dist/index.js.map +0 -1
  200. package/dist/inference/index.cjs +0 -7
  201. package/dist/inference/index.cjs.map +0 -1
  202. package/dist/inference/index.d.cts +0 -229
  203. package/dist/inference/index.d.ts +0 -229
  204. package/dist/inference/index.js +0 -7
  205. package/dist/inference/index.js.map +0 -1
  206. package/dist/server-runtime/index.cjs +0 -9
  207. package/dist/server-runtime/index.cjs.map +0 -1
  208. package/dist/server-runtime/index.js +0 -9
  209. package/dist/server-runtime/index.js.map +0 -1
  210. package/dist/step-machine/index.cjs.map +0 -1
  211. package/dist/step-machine/index.d.cts +0 -102
  212. package/dist/step-machine/index.d.ts +0 -102
  213. package/dist/step-machine/index.js.map +0 -1
  214. package/dist/step-machine-public/index.cjs +0 -3
  215. package/dist/step-machine-public/index.cjs.map +0 -1
  216. package/dist/step-machine-public/index.js +0 -3
  217. package/dist/step-machine-public/index.js.map +0 -1
  218. package/dist/storage-refs.cjs.map +0 -1
  219. package/dist/storage-refs.js.map +0 -1
  220. package/dist/stores/file.cjs +0 -2
  221. package/dist/stores/file.cjs.map +0 -1
  222. package/dist/stores/file.d.cts +0 -36
  223. package/dist/stores/file.d.ts +0 -36
  224. package/dist/stores/file.js +0 -2
  225. package/dist/stores/file.js.map +0 -1
  226. package/dist/stores/index.cjs +0 -2
  227. package/dist/stores/index.cjs.map +0 -1
  228. package/dist/stores/index.d.cts +0 -4
  229. package/dist/stores/index.d.ts +0 -4
  230. package/dist/stores/index.js +0 -2
  231. package/dist/stores/index.js.map +0 -1
  232. package/dist/stores/localStorage.cjs +0 -2
  233. package/dist/stores/localStorage.cjs.map +0 -1
  234. package/dist/stores/localStorage.d.cts +0 -34
  235. package/dist/stores/localStorage.d.ts +0 -34
  236. package/dist/stores/localStorage.js +0 -2
  237. package/dist/stores/localStorage.js.map +0 -1
  238. package/dist/stores/memory.cjs.map +0 -1
  239. package/dist/stores/memory.js.map +0 -1
  240. package/dist/types-CHSdoAAA.d.cts +0 -135
  241. package/dist/types-CoW0gQl3.d.ts +0 -135
  242. package/examples/browser/boards/portfolio-tracker/portfolio-tracker-fetch-prices.py +0 -201
  243. package/examples/browser/boards/portfolio-tracker/portfolio-tracker-http-test.js +0 -370
  244. package/examples/browser/boards/portfolio-tracker/portfolio-tracker-http-test.py +0 -398
  245. package/examples/browser/boards/portfolio-tracker/portfolio-tracker-inference-adapter.js +0 -196
  246. package/examples/browser/boards/portfolio-tracker/portfolio-tracker-server.js +0 -300
  247. package/examples/browser/boards/portfolio-tracker/portfolio-tracker-server.py +0 -617
  248. package/examples/browser/boards/portfolio-tracker/portfolio-tracker.py +0 -366
  249. package/examples/browser/livecards-browser/index.html +0 -41
  250. package/examples/browser/step-machine-browser/index.html +0 -367
  251. package/examples/cli/step-machine-cli/portfolio-tracker/--base-ref/.runtime-out +0 -1
  252. package/examples/cli/step-machine-cli/portfolio-tracker/--base-ref/board-graph.json +0 -32
  253. package/examples/cli/step-machine-cli/portfolio-tracker/cards/holdings-table.json +0 -22
  254. package/examples/cli/step-machine-cli/portfolio-tracker/cards/portfolio-form.json +0 -43
  255. package/examples/cli/step-machine-cli/portfolio-tracker/cards/portfolio-value.json +0 -15
  256. package/examples/cli/step-machine-cli/portfolio-tracker/cards/price-fetch.json +0 -15
  257. package/examples/cli/step-machine-cli/portfolio-tracker/fetch-prices.js +0 -48
  258. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/_board-cli.js +0 -125
  259. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/add-cards-cli.js +0 -32
  260. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/init-board-cli.js +0 -26
  261. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/poll-status-cli.js +0 -49
  262. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/reset-board-dir-cli.js +0 -25
  263. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/retrigger-cli.js +0 -23
  264. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/status-cli.js +0 -21
  265. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/update-holdings-cli.js +0 -38
  266. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/wait-completed-cli.js +0 -48
  267. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/write-prices-cli.js +0 -31
  268. package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/_board_pycli.py +0 -107
  269. package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/add-cards.py +0 -51
  270. package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/init-board.py +0 -45
  271. package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/poll-status.py +0 -71
  272. package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/reset-board-dir.py +0 -36
  273. package/examples/cli/step-machine-cli/portfolio-tracker/inline-python-demo.flow.yaml +0 -26
  274. package/examples/cli/step-machine-cli/portfolio-tracker/inline-python-handlers.py +0 -39
  275. package/examples/cli/step-machine-cli/portfolio-tracker/portfolio-tracker-pycli.flow.yaml +0 -80
  276. package/examples/cli/step-machine-cli/portfolio-tracker/portfolio-tracker.flow.yaml +0 -76
  277. package/examples/cli/step-machine-cli/portfolio-tracker/portfolio-tracker.input.json +0 -44
  278. package/examples/cli/step-machine-cli/portfolio-tracker/run-inline-python-demo-pycli.py +0 -43
  279. package/examples/cli/step-machine-cli/portfolio-tracker/run-portfolio-tracker-pycli.py +0 -77
  280. package/examples/cli/step-machine-cli/portfolio-tracker/run-portfolio-tracker.bat +0 -28
  281. package/examples/cli/step-machine-demo/jsonata-init-board-cli.js +0 -31
  282. package/examples/cli/step-machine-demo/jsonata-init-board.flow.yaml +0 -54
  283. package/examples/cli/step-machine-demo/one-step-cli-only.flow.yaml +0 -21
  284. package/examples/cli/step-machine-demo/step-cli-echo-y.js +0 -15
  285. package/examples/cli/step-machine-demo/step2-double-cli.js +0 -33
  286. package/examples/cli/step-machine-demo/two-step-math.flow.yaml +0 -93
  287. package/examples/cli/step-machine-demo/two-step-mixed.flow.yaml +0 -43
  288. package/examples/example-board/agent-instructions-cardlayout.md +0 -56
  289. package/examples/example-board/agent-instructions.md +0 -834
  290. package/examples/example-board/demo-shell.html +0 -63
  291. package/examples/index.html +0 -785
  292. package/examples/npm-libs/batch/batch-step-machine.ts +0 -121
  293. package/examples/npm-libs/continuous-event-graph/live-cards-board.ts +0 -215
  294. package/examples/npm-libs/continuous-event-graph/live-portfolio-dashboard.ts +0 -555
  295. package/examples/npm-libs/continuous-event-graph/portfolio-tracker.ts +0 -287
  296. package/examples/npm-libs/continuous-event-graph/reactive-monitoring.ts +0 -265
  297. package/examples/npm-libs/continuous-event-graph/reactive-pipeline.ts +0 -168
  298. package/examples/npm-libs/continuous-event-graph/soc-incident-board.ts +0 -287
  299. package/examples/npm-libs/continuous-event-graph/stock-dashboard.ts +0 -229
  300. package/examples/npm-libs/event-graph/ci-cd-pipeline.ts +0 -243
  301. package/examples/npm-libs/event-graph/executor-diamond.ts +0 -165
  302. package/examples/npm-libs/event-graph/executor-pipeline.ts +0 -161
  303. package/examples/npm-libs/event-graph/research-pipeline.ts +0 -137
  304. package/examples/npm-libs/flows/ai-conversation.yaml +0 -116
  305. package/examples/npm-libs/flows/order-processing.yaml +0 -143
  306. package/examples/npm-libs/flows/simple-greeting.yaml +0 -54
  307. package/examples/npm-libs/graph-of-graphs/multi-stage-etl.ts +0 -307
  308. package/examples/npm-libs/graph-of-graphs/url-processing-pipeline.ts +0 -254
  309. package/examples/npm-libs/inference/azure-deployment.ts +0 -149
  310. package/examples/npm-libs/inference/copilot-cli.ts +0 -138
  311. package/examples/npm-libs/inference/data-pipeline.ts +0 -145
  312. package/examples/npm-libs/inference/pluggable-adapters.ts +0 -254
  313. package/examples/npm-libs/node/ai-conversation.ts +0 -195
  314. package/examples/npm-libs/node/simple-greeting.ts +0 -101
  315. package/examples/step-machine-cli/portfolio-tracker/cards/holdings-table.json +0 -22
  316. package/examples/step-machine-cli/portfolio-tracker/cards/portfolio-form.json +0 -43
  317. package/examples/step-machine-cli/portfolio-tracker/cards/portfolio-value.json +0 -15
  318. package/examples/step-machine-cli/portfolio-tracker/cards/price-fetch.json +0 -15
  319. package/examples/step-machine-cli/portfolio-tracker/fetch-prices.js +0 -48
  320. package/examples/step-machine-cli/portfolio-tracker/handlers/_board-cli.js +0 -57
  321. package/examples/step-machine-cli/portfolio-tracker/handlers/add-cards-cli.js +0 -27
  322. package/examples/step-machine-cli/portfolio-tracker/handlers/init-board-cli.js +0 -25
  323. package/examples/step-machine-cli/portfolio-tracker/handlers/reset-board-dir-cli.js +0 -29
  324. package/examples/step-machine-cli/portfolio-tracker/handlers/retrigger-cli.js +0 -27
  325. package/examples/step-machine-cli/portfolio-tracker/handlers/status-cli.js +0 -25
  326. package/examples/step-machine-cli/portfolio-tracker/handlers/update-holdings-cli.js +0 -37
  327. package/examples/step-machine-cli/portfolio-tracker/handlers/wait-completed-cli.js +0 -53
  328. package/examples/step-machine-cli/portfolio-tracker/handlers/write-prices-cli.js +0 -35
  329. package/examples/step-machine-cli/portfolio-tracker/portfolio-tracker-task-executor.cjs +0 -96
  330. package/examples/step-machine-cli/portfolio-tracker/portfolio-tracker.flow.yaml +0 -227
  331. package/examples/step-machine-cli/portfolio-tracker/portfolio-tracker.input.json +0 -38
  332. package/examples/step-machine-cli/portfolio-tracker/run-portfolio-tracker.bat +0 -28
  333. package/step-machine-cli.js +0 -407
  334. /package/{dist/cli → cli}/browser-api/board-live-cards-browser-adapter.js +0 -0
  335. /package/{dist/board-livegraph-runtime → cli/browser-api}/jsonata-sync.cjs +0 -0
  336. /package/{dist/cli → cli}/node/artifacts-store-cli.d.ts +0 -0
  337. /package/{dist/cli/node/source-cli-task-executor.d.cts → cli/node/batch-runner-cli.d.ts} +0 -0
  338. /package/{dist/cli → cli}/node/board-live-cards-cli.d.ts +0 -0
  339. /package/{dist/cli → cli}/node/card-store-cli.d.ts +0 -0
  340. /package/{dist/cli → cli}/node/card-store-cli.js +0 -0
  341. /package/{dist/card-compute → cli/node}/jsonata-sync.cjs +0 -0
  342. /package/{dist/cli → cli}/node/source-cli-task-executor.d.ts +0 -0
  343. /package/{dist/cli → cli}/node/source-cli-task-executor.js +0 -0
  344. /package/examples/{example-board → board}/cards/card-concentration.json +0 -0
  345. /package/examples/{example-board → board}/cards/card-my-identity.json +0 -0
  346. /package/examples/{example-board → board}/cards/card-portfolio-action.json +0 -0
  347. /package/examples/{example-board → board}/cards/card-portfolio-intelligence.json +0 -0
  348. /package/examples/{example-board → board}/cards/card-portfolio-risks.json +0 -0
  349. /package/examples/{example-board → board}/cards/card-rebalance-impact.json +0 -0
  350. /package/examples/{example-board → board}/cards/card-rebalance-sim.json +0 -0
  351. /package/examples/{example-board → board}/cards/cardT-market-prices.json +0 -0
  352. /package/examples/{example-board → board}/cards/cardT-portfolio-value.json +0 -0
  353. /package/examples/{example-board → board}/cards/cardT-portfolio.json +0 -0
  354. /package/examples/{example-board → board}/demo-chat-handler.js +0 -0
  355. /package/examples/{example-board → board}/scripts/copilot_wrapper.bat +0 -0
  356. /package/examples/{example-board → board}/scripts/copilot_wrapper_helper.ps1 +0 -0
  357. /package/examples/{example-board → board}/scripts/workiq_wrapper.mjs +0 -0
  358. /package/examples/{browser/boards/portfolio-tracker → board/test}/portfolio-tracker-sse-worker.js +0 -0
  359. /package/{dist → lib}/batch/index.cjs +0 -0
  360. /package/{dist → lib}/batch/index.d.cts +0 -0
  361. /package/{dist → lib}/batch/index.d.ts +0 -0
  362. /package/{dist → lib}/batch/index.js +0 -0
  363. /package/{dist/cli/browser-api → lib/board-livegraph-runtime}/jsonata-sync.cjs +0 -0
  364. /package/{dist → lib}/card-compute/index.d.cts +0 -0
  365. /package/{dist → lib}/card-compute/index.d.ts +0 -0
  366. /package/{dist/cli/node → lib/card-compute}/jsonata-sync.cjs +0 -0
  367. /package/{dist → lib}/config/index.cjs +0 -0
  368. /package/{dist → lib}/config/index.d.cts +0 -0
  369. /package/{dist → lib}/config/index.d.ts +0 -0
  370. /package/{dist → lib}/config/index.js +0 -0
  371. /package/{dist → lib}/continuous-event-graph/jsonata-sync.cjs +0 -0
  372. /package/{dist → lib}/event-graph/index.cjs +0 -0
  373. /package/{dist → lib}/event-graph/index.js +0 -0
  374. /package/{dist → lib}/execution-refs.cjs +0 -0
  375. /package/{dist → lib}/execution-refs.js +0 -0
  376. /package/{dist → lib}/jsonata-sync.cjs +0 -0
  377. /package/{dist → lib}/server-runtime/jsonata-sync.cjs +0 -0
  378. /package/{dist → lib}/step-machine/index.cjs +0 -0
  379. /package/{dist → lib}/step-machine/index.js +0 -0
  380. /package/{dist → lib}/step-machine-public/jsonata-sync.cjs +0 -0
  381. /package/{dist → lib}/stores/memory.cjs +0 -0
  382. /package/{dist → lib}/stores/memory.js +0 -0
  383. /package/{dist → lib}/types-BBhqYGhE.d.cts +0 -0
  384. /package/{dist → lib}/types-BBhqYGhE.d.ts +0 -0
  385. /package/{dist → lib}/validate-BAVzUJWa.d.ts +0 -0
  386. /package/{dist → lib}/validate-Dbu7ygys.d.cts +0 -0
@@ -7,12 +7,11 @@ import os from 'node:os';
7
7
  import net from 'node:net';
8
8
  import { spawnSync, spawn } from 'node:child_process';
9
9
  import { fileURLToPath } from 'node:url';
10
- import { createRequire } from 'node:module';
11
10
 
12
11
  import {
13
12
  createMultiBoardServerRuntime,
14
13
  createSingleBoardServerRuntime,
15
- } from 'yaml-flow/server-runtime';
14
+ } from 'yaml-flow/board-live-cards-server-runtime';
16
15
 
17
16
  import {
18
17
  createFsBoardPlatformAdapter,
@@ -23,23 +22,7 @@ import {
23
22
 
24
23
  const __filename = fileURLToPath(import.meta.url);
25
24
  const __dirname = path.dirname(__filename);
26
- const _require = createRequire(import.meta.url);
27
-
28
- function resolveYamlFlowDir() {
29
- try {
30
- return path.dirname(_require.resolve('yaml-flow/package.json'));
31
- } catch {
32
- return null;
33
- }
34
- }
35
-
36
- const _yamlFlowDir = resolveYamlFlowDir();
37
-
38
- // cliDir must point to the yaml-flow root so buildBoardCliInvocation finds
39
- // board-live-cards-cli.js for task-executor completion callbacks.
40
- // demo-src/example-board is 2 levels below the yaml-flow root.
41
- const YAML_FLOW_CLI_DIR = _yamlFlowDir || path.resolve(__dirname, '..', '..');
42
- const _pkgStepMachineCli = _yamlFlowDir ? path.join(_yamlFlowDir, 'step-machine-cli.js') : null;
25
+ const cliArgs = process.argv.slice(2);
43
26
 
44
27
  function loadServerConfig() {
45
28
  const configPath = path.join(__dirname, 'demo-server-config.json');
@@ -77,7 +60,7 @@ function resolveKindRefFromConfig(configValue) {
77
60
  const serverConfig = loadServerConfig();
78
61
  const configuredCardsDir = resolveFromConfig(serverConfig.cardsDir);
79
62
  const configuredTaskExecutorPath = resolveFromConfig(serverConfig.taskExecutorPath || serverConfig.demoTaskExecutorPath);
80
- const configuredStepMachineCliPath = resolveFromConfig(serverConfig.stepMachineCliPath) || _pkgStepMachineCli;
63
+ const configuredStepMachineCliPath = resolveFromConfig(serverConfig.stepMachineCliPath);
81
64
  const configuredChatHandlerPath = resolveFromConfig(serverConfig.chatHandlerPath);
82
65
  const configuredInferenceAdapterPath = resolveFromConfig(serverConfig.inferenceAdapterPath);
83
66
  const configuredGandalfCardsDir = resolveFromConfig(serverConfig.gandalfCardsDir);
@@ -97,7 +80,9 @@ if (!process.env.DEMO_INFERENCE_ADAPTER_PATH && configuredInferenceAdapterPath)
97
80
  }
98
81
 
99
82
  const PORT = Number(process.env.DEMO_SERVER_PORT || serverConfig.port || 7799);
100
- const RESET_ON_START = process.argv.includes('--reset');
83
+ const cardsPatternArgIndex = cliArgs.indexOf('--cards-pattern');
84
+ const cliCardsPattern = cardsPatternArgIndex !== -1 ? cliArgs[cardsPatternArgIndex + 1] : null;
85
+ const selectedCardsPattern = (process.env.DEMO_CARDS_PATTERN || cliCardsPattern || '').trim() || null;
101
86
 
102
87
  const CORS_HEADERS = {
103
88
  'Access-Control-Allow-Origin': '*',
@@ -132,12 +117,23 @@ const defaultGandalfInferenceAdapterPath = process.env.DEMO_GANDALF_INFERENCE_AD
132
117
  // platform-free server runtime.
133
118
  // ---------------------------------------------------------------------------
134
119
 
135
- function createFsCardSource(cardsDir) {
120
+ function wildcardToRegExp(pattern) {
121
+ const escaped = pattern.replace(/[.+^${}()|[\]\\]/g, '\\$&');
122
+ return new RegExp(`^${escaped.replace(/\*/g, '.*').replace(/\?/g, '.')}$`);
123
+ }
124
+
125
+ function createFsCardSource(cardsDir, cardPattern = null) {
126
+ const cardRegex = cardPattern ? wildcardToRegExp(cardPattern) : null;
136
127
  return {
137
128
  listCards() {
138
129
  if (!fs.existsSync(cardsDir)) return [];
139
130
  return fs.readdirSync(cardsDir)
140
- .filter(f => f.endsWith('.json'))
131
+ .filter(f => {
132
+ if (!f.endsWith('.json')) return false;
133
+ if (!cardRegex) return true;
134
+ const cardId = path.basename(f, '.json');
135
+ return cardRegex.test(cardId);
136
+ })
141
137
  .map(f => {
142
138
  try { return JSON.parse(fs.readFileSync(path.join(cardsDir, f), 'utf-8')); }
143
139
  catch { return null; }
@@ -275,7 +271,7 @@ function createNamedPipeNotificationTransport() {
275
271
 
276
272
  const serverMetaRef = process.env.DEMO_SERVER_META_STORE_REF || configuredServerMetaStoreRef || serializeRef({ kind: 'fs-path', value: setupDir });
277
273
  const serverMetaAdapter = createFsBoardPlatformAdapter(
278
- parseRef(serverMetaRef), YAML_FLOW_CLI_DIR, { suppressSpawn: true },
274
+ parseRef(serverMetaRef), { suppressSpawn: true },
279
275
  );
280
276
  const serverMetaStore = createArtifactsStore(serverMetaAdapter.blobStorage('server-meta'));
281
277
 
@@ -304,7 +300,7 @@ function buildBoardContextConfig(label, boardDir, taskExecPath, chatHandlerPath,
304
300
 
305
301
  const notifyChannel = `yaml-flow-server-${label}-${boardId}-${process.pid}`;
306
302
  const baseRef = parseRef(serializeRef({ kind: 'fs-path', value: boardDir }));
307
- const boardAdapter = createFsBoardPlatformAdapter(baseRef, YAML_FLOW_CLI_DIR, {
303
+ const boardAdapter = createFsBoardPlatformAdapter(baseRef, {
308
304
  notifyChannel,
309
305
  });
310
306
  // In the server context the drain loop is driven in-process; suppress the
@@ -312,7 +308,7 @@ function buildBoardContextConfig(label, boardDir, taskExecPath, chatHandlerPath,
312
308
  boardAdapter.requestProcessAccumulated = () => {};
313
309
  // Artifacts adapter rooted at runtimeCardsDir so chats/ and files/ are siblings of store/.
314
310
  const artifactsRef = parseRef(serializeRef({ kind: 'fs-path', value: runtimeCardsDir }));
315
- const artifactsAdapter = createFsBoardPlatformAdapter(artifactsRef, YAML_FLOW_CLI_DIR, { suppressSpawn: true });
311
+ const artifactsAdapter = createFsBoardPlatformAdapter(artifactsRef, { suppressSpawn: true });
316
312
 
317
313
  const cardStoreRef = serializeRef({ kind: 'fs-path', value: runtimeCardStoreDir });
318
314
 
@@ -390,7 +386,7 @@ const runtime = createMultiBoardServerRuntime({
390
386
  const existing = singleBoardRuntime.cardStore.get({});
391
387
  const isEmpty = existing.status !== 'success' || !existing.data?.cards?.length;
392
388
  if (isEmpty) {
393
- const cards = createFsCardSource(sourceCardsDir).listCards();
389
+ const cards = createFsCardSource(sourceCardsDir, selectedCardsPattern).listCards();
394
390
  if (cards.length) singleBoardRuntime.cardStore.set({ body: cards });
395
391
  }
396
392
  // Seed gandalf board if present
@@ -410,27 +406,6 @@ const runtime = createMultiBoardServerRuntime({
410
406
  },
411
407
  });
412
408
 
413
- // ---------------------------------------------------------------------------
414
- // Reset
415
- // ---------------------------------------------------------------------------
416
-
417
- function resetRuntime() {
418
- if (fs.existsSync(setupDir)) {
419
- fs.rmSync(setupDir, { recursive: true, force: true });
420
- console.log(`[demo-server] reset: wiped ${setupDir}`);
421
- }
422
- const chatSessionsDir = serverConfig.chatSessionsDir
423
- ? path.resolve(__dirname, serverConfig.chatSessionsDir)
424
- : path.join(os.tmpdir(), 'demo-chat-handler-sessions');
425
- if (fs.existsSync(chatSessionsDir)) {
426
- fs.rmSync(chatSessionsDir, { recursive: true, force: true });
427
- console.log(`[demo-server] reset: wiped ${chatSessionsDir}`);
428
- }
429
- }
430
-
431
- if (RESET_ON_START) {
432
- resetRuntime();
433
- }
434
409
 
435
410
  // ---------------------------------------------------------------------------
436
411
  // Demo-setup — host-level concern (not a runtime concern).
@@ -4,7 +4,7 @@
4
4
  <meta charset="utf-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1" />
6
6
  <title>Example Board Demo (Server Runtime)</title>
7
- <link rel="icon" type="image/svg+xml" href="favicon.svg" />
7
+ <link rel="icon" type="image/svg+xml" href="../../browser/favicon.svg" />
8
8
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" />
9
9
  <style>
10
10
  /* Scale down markdown headings inside cards to stay in proportion with card body text */
@@ -19,8 +19,8 @@
19
19
  <script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
20
20
  <script src="https://cdn.jsdelivr.net/npm/dompurify/dist/purify.min.js"></script>
21
21
  <script src="https://cdn.jsdelivr.net/npm/leader-line/leader-line.min.js"></script>
22
- <script src="https://cdn.jsdelivr.net/npm/yaml-flow@7.1.0/browser/live-cards.js"></script>
23
- <script src="https://cdn.jsdelivr.net/npm/yaml-flow@7.1.0/browser/board-livecards-client.js"></script>
22
+ <script src="https://cdn.jsdelivr.net/npm/yaml-flow@8.0.0/browser/live-cards.js"></script>
23
+ <script src="https://cdn.jsdelivr.net/npm/yaml-flow@8.0.0/browser/board-livecards-client.js"></script>
24
24
  </head>
25
25
  <body class="bg-light">
26
26
  <div class="container-fluid py-3">
@@ -60,10 +60,9 @@ import path from 'node:path';
60
60
  import os from 'node:os';
61
61
  import { execFileSync } from 'node:child_process';
62
62
  import { fileURLToPath, pathToFileURL } from 'node:url';
63
- import { parseRef, blobStorageForRef, reportComplete, reportFailed } from 'yaml-flow/storage-refs';
64
- import { loadStepFlow, createStepMachine, MemoryStore } from '../../dist/index.js';
65
- import { buildStepHandlersForFlow } from '../../dist/step-machine-public/index.js';
66
- import { invokeRefSync } from '../../dist/cli/node/execution-adapter.js';
63
+ import { parseRef, blobStorageForRef, reportComplete, reportFailed } from 'yaml-flow/board-worker-adapter';
64
+ import { loadStepFlow, createStepMachine, MemoryStore, buildStepHandlersForFlow } from 'yaml-flow/step-machine-public';
65
+ import { invokeRefSync } from 'yaml-flow/board-live-cards-node';
67
66
 
68
67
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
69
68
  const SOURCE_DEF_FLOWS_FILE = path.join(__dirname, 'source_def_flows.json');
@@ -212,7 +211,9 @@ function loadSourceDefFlowsConfig() {
212
211
  try {
213
212
  return readJson(SOURCE_DEF_FLOWS_FILE);
214
213
  } catch (err) {
215
- fail(`Cannot read source flow registry at ${SOURCE_DEF_FLOWS_FILE}: ${String(err && err.message || err)}`);
214
+ fail(
215
+ `Cannot read source flow registry (${SOURCE_DEF_FLOWS_FILE}): ${String(err && err.message || err)}`,
216
+ );
216
217
  }
217
218
  }
218
219
 
@@ -356,6 +357,22 @@ async function executeStepMachineSourceFlow(context) {
356
357
  };
357
358
  }
358
359
 
360
+ async function resolveAndExecuteSourceFlow(sourceDef, extra, refs = {}) {
361
+ const registry = loadSourceDefFlowsConfig();
362
+ const kind = resolveSourceKind(sourceDef, registry);
363
+ const flowResult = await executeStepMachineSourceFlow({
364
+ kind,
365
+ registry,
366
+ sourceDef,
367
+ extra,
368
+ inRef: refs.inRef,
369
+ outRef: refs.outRef,
370
+ errRef: refs.errRef,
371
+ mockDb: MOCK_DB,
372
+ });
373
+ return { kind, flowResult };
374
+ }
375
+
359
376
  async function runSourceFetchSubcommand(argv) {
360
377
  const inIdx = argv.indexOf('--in-ref');
361
378
  const outIdx = argv.indexOf('--out-ref');
@@ -418,29 +435,15 @@ async function runSourceFetchSubcommand(argv) {
418
435
  failRef(`Cannot resolve source_def: ${String(err && err.message || err)}`, callback);
419
436
  }
420
437
 
421
- const registry = loadSourceDefFlowsConfig();
422
438
  let kind;
423
- try {
424
- kind = resolveSourceKind(sourceDef, registry);
425
- } catch (err) {
426
- failRef(String(err && err.message || err), callback);
427
- }
428
-
429
439
  let flowResult;
430
440
  try {
431
- flowResult = await executeStepMachineSourceFlow({
432
- kind,
433
- registry,
434
- sourceDef,
435
- extra,
436
- inRef,
437
- outRef,
438
- errRef,
439
- mockDb: MOCK_DB,
440
- });
441
+ const resolved = await resolveAndExecuteSourceFlow(sourceDef, extra, { inRef, outRef, errRef });
442
+ kind = resolved.kind;
443
+ flowResult = resolved.flowResult;
441
444
  } catch (err) {
442
445
  const detail = (err && (err.stderr || err.stdout)) ? `\n${err.stderr || err.stdout}`.trimEnd() : '';
443
- failRef(`${kind} invocation failed: ${String(err && err.message || err)}${detail}`, callback);
446
+ failRef(`source invocation failed: ${String(err && err.message || err)}${detail}`, callback);
444
447
  }
445
448
 
446
449
  if (!flowResult?.wroteOutputDirectly) {
@@ -462,6 +465,46 @@ async function runSourceFetchSubcommand(argv) {
462
465
 
463
466
  }
464
467
 
468
+ async function probeSourcePreflightSubcommand(argv) {
469
+ const extraIdx = argv.indexOf('--extra');
470
+ const extraB64 = extraIdx !== -1 ? argv[extraIdx + 1] : undefined;
471
+
472
+ let extra = {};
473
+ if (extraB64) {
474
+ try { extra = JSON.parse(Buffer.from(extraB64, 'base64').toString('utf-8')); }
475
+ catch { /* ignore malformed extra */ }
476
+ }
477
+
478
+ const startedAt = Date.now();
479
+ try {
480
+ const chunks = [];
481
+ for await (const chunk of process.stdin) {
482
+ chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
483
+ }
484
+ const raw = Buffer.concat(chunks).toString('utf-8').trim();
485
+ if (!raw) {
486
+ console.log(JSON.stringify({ ok: false, reachable: false, latencyMs: Date.now() - startedAt, error: 'Missing probe input JSON on stdin' }));
487
+ process.exit(0);
488
+ }
489
+
490
+ let sourceDef;
491
+ try {
492
+ sourceDef = JSON.parse(raw);
493
+ } catch (err) {
494
+ console.log(JSON.stringify({ ok: false, reachable: false, latencyMs: Date.now() - startedAt, error: `Invalid probe JSON: ${String(err && err.message || err)}` }));
495
+ process.exit(0);
496
+ }
497
+
498
+ await resolveAndExecuteSourceFlow(sourceDef, extra);
499
+ console.log(JSON.stringify({ ok: true, reachable: true, latencyMs: Date.now() - startedAt }));
500
+ process.exit(0);
501
+ } catch (err) {
502
+ const detail = (err && (err.stderr || err.stdout)) ? `\n${err.stderr || err.stdout}`.trimEnd() : '';
503
+ console.log(JSON.stringify({ ok: false, reachable: false, latencyMs: Date.now() - startedAt, error: `source invocation failed: ${String(err && err.message || err)}${detail}` }));
504
+ process.exit(0);
505
+ }
506
+ }
507
+
465
508
  // ---------------------------------------------------------------------------
466
509
  // validate-source-def — structural validation of a source definition
467
510
  // ---------------------------------------------------------------------------
@@ -547,7 +590,7 @@ function validateSourceDefSubcommand(argv) {
547
590
  const CAPABILITIES = {
548
591
  version: '1.0',
549
592
  executor: 'demo-task-executor',
550
- subcommands: ['run-source-fetch', 'describe-capabilities', 'validate-source-def'],
593
+ subcommands: ['run-source-fetch', 'probe-source-preflight', 'describe-capabilities', 'validate-source-def'],
551
594
  sourceKinds: {
552
595
  mock: {
553
596
  description: 'Look up a key in a hardcoded MOCK_DB dictionary.',
@@ -658,6 +701,10 @@ async function main() {
658
701
  await runSourceFetchSubcommand(process.argv.slice(3));
659
702
  return;
660
703
  }
704
+ if (sub === 'probe-source-preflight') {
705
+ await probeSourcePreflightSubcommand(process.argv.slice(3));
706
+ return;
707
+ }
661
708
  if (sub === 'describe' || sub === 'describe-capabilities') {
662
709
  describeCapabilities();
663
710
  return;
@@ -0,0 +1,36 @@
1
+ {
2
+ "id": "card-source-kinds",
3
+ "meta": {
4
+ "title": "Source Connection Types",
5
+ "tags": ["admin"],
6
+ "desc": "Reference card listing the source def kinds supported by the demo task executor.",
7
+ "_gandalfCard": true
8
+ },
9
+ "provides": [],
10
+ "compute": [],
11
+ "view": {
12
+ "elements": [
13
+ {
14
+ "kind": "table",
15
+ "label": "Supported connection types",
16
+ "data": {
17
+ "bind": "card_data.kinds",
18
+ "columns": ["kind", "description"]
19
+ }
20
+ }
21
+ ],
22
+ "layout": {
23
+ "board": { "col": 4, "order": 99 },
24
+ "canvas": { "x": 900, "y": 50, "w": 480, "h": 240 }
25
+ }
26
+ },
27
+ "card_data": {
28
+ "kinds": [
29
+ { "kind": "mock", "description": "Look up a key in the built-in MOCK_DB dictionary and return static JSON." },
30
+ { "kind": "copilot", "description": "Invoke GitHub Copilot CLI using copilot.prompt_template (or top-level prompt_template shorthand) with {{key}} interpolation from _projections and args." },
31
+ { "kind": "workiq", "description": "Invoke WorkIQ (Microsoft 365 Copilot) using workiq.query_template with {{key}} interpolation. Requires workiq CLI + az login." },
32
+ { "kind": "url", "description": "Single URL fetch via curl with {{key}} interpolation from _projections. Supports method, headers, args, tickersFrom, and cacheTimeout (seconds)." },
33
+ { "kind": "url-list", "description": "Fan-out fetch over _projections.url_list (string[]), returning an array of raw JSON responses. Supports method, headers, and cacheTimeout." }
34
+ ]
35
+ }
36
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "card-source-kinds": {
3
+ "key": "card-source-kinds",
4
+ "checksum": "",
5
+ "updatedAt": "2026-05-07T19:32:58.245Z"
6
+ }
7
+ }
@@ -0,0 +1,64 @@
1
+ {
2
+ "id": "card-source-kinds",
3
+ "meta": {
4
+ "title": "Source Connection Types",
5
+ "tags": [
6
+ "admin"
7
+ ],
8
+ "desc": "Reference card listing the source def kinds supported by the demo task executor.",
9
+ "_gandalfCard": true
10
+ },
11
+ "provides": [],
12
+ "compute": [],
13
+ "view": {
14
+ "elements": [
15
+ {
16
+ "kind": "table",
17
+ "label": "Supported connection types",
18
+ "data": {
19
+ "bind": "card_data.kinds",
20
+ "columns": [
21
+ "kind",
22
+ "description"
23
+ ]
24
+ }
25
+ }
26
+ ],
27
+ "layout": {
28
+ "board": {
29
+ "col": 4,
30
+ "order": 99
31
+ },
32
+ "canvas": {
33
+ "x": 900,
34
+ "y": 50,
35
+ "w": 480,
36
+ "h": 240
37
+ }
38
+ }
39
+ },
40
+ "card_data": {
41
+ "kinds": [
42
+ {
43
+ "kind": "mock",
44
+ "description": "Look up a key in the built-in MOCK_DB dictionary and return static JSON."
45
+ },
46
+ {
47
+ "kind": "copilot",
48
+ "description": "Invoke GitHub Copilot CLI using copilot.prompt_template (or top-level prompt_template shorthand) with {{key}} interpolation from _projections and args."
49
+ },
50
+ {
51
+ "kind": "workiq",
52
+ "description": "Invoke WorkIQ (Microsoft 365 Copilot) using workiq.query_template with {{key}} interpolation. Requires workiq CLI + az login."
53
+ },
54
+ {
55
+ "kind": "url",
56
+ "description": "Single URL fetch via curl with {{key}} interpolation from _projections. Supports method, headers, args, tickersFrom, and cacheTimeout (seconds)."
57
+ },
58
+ {
59
+ "kind": "url-list",
60
+ "description": "Fan-out fetch over _projections.url_list (string[]), returning an array of raw JSON responses. Supports method, headers, and cacheTimeout."
61
+ }
62
+ ]
63
+ }
64
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "id": "demo-source-copilot",
3
+ "settings": {
4
+ "start_step": "execute",
5
+ "max_total_steps": 8,
6
+ "timeout_ms": 180000
7
+ },
8
+ "steps": {
9
+ "execute": {
10
+ "description": "Execute copilot source def",
11
+ "handler": {
12
+ "type": "ref",
13
+ "howToRun": "demo-local-module",
14
+ "whatToRun": { "kind": "fs-path", "value": "./source-def-handlers/copilot-source-handler.js" }
15
+ },
16
+ "transitions": {
17
+ "success": "completed",
18
+ "failure": "failed"
19
+ }
20
+ }
21
+ },
22
+ "terminal_states": {
23
+ "completed": {
24
+ "description": "Copilot source succeeded",
25
+ "return_intent": "success",
26
+ "return_artifacts": ["resultValue", "wroteOutputDirectly"]
27
+ },
28
+ "failed": {
29
+ "description": "Copilot source failed",
30
+ "return_intent": "failure"
31
+ }
32
+ }
33
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "id": "demo-source-mock",
3
+ "settings": {
4
+ "start_step": "execute",
5
+ "max_total_steps": 5,
6
+ "timeout_ms": 30000
7
+ },
8
+ "steps": {
9
+ "execute": {
10
+ "description": "Execute mock source def",
11
+ "handler": {
12
+ "type": "compute-jsonata",
13
+ "expr": [
14
+ "data.resultValue = $lookup(expects_data.mockDb, expects_data.sourceDef.mock)",
15
+ "result = $exists(data.resultValue) ? \"success\" : \"failure\""
16
+ ]
17
+ },
18
+ "transitions": {
19
+ "success": "completed",
20
+ "failure": "failed"
21
+ }
22
+ }
23
+ },
24
+ "terminal_states": {
25
+ "completed": {
26
+ "description": "Mock lookup succeeded",
27
+ "return_intent": "success",
28
+ "return_artifacts": ["resultValue", "wroteOutputDirectly"]
29
+ },
30
+ "failed": {
31
+ "description": "Mock lookup failed",
32
+ "return_intent": "failure"
33
+ }
34
+ }
35
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "id": "demo-source-url-list",
3
+ "settings": {
4
+ "start_step": "execute",
5
+ "max_total_steps": 10,
6
+ "timeout_ms": 60000
7
+ },
8
+ "steps": {
9
+ "execute": {
10
+ "description": "Execute URL list source def",
11
+ "handler": {
12
+ "type": "ref",
13
+ "howToRun": "demo-local-module",
14
+ "whatToRun": { "kind": "fs-path", "value": "./source-def-handlers/http-source-handler.js" }
15
+ },
16
+ "transitions": {
17
+ "success": "completed",
18
+ "failure": "failed"
19
+ }
20
+ }
21
+ },
22
+ "terminal_states": {
23
+ "completed": {
24
+ "description": "URL list fetch succeeded",
25
+ "return_intent": "success",
26
+ "return_artifacts": ["resultValue", "wroteOutputDirectly"]
27
+ },
28
+ "failed": {
29
+ "description": "URL list fetch failed",
30
+ "return_intent": "failure"
31
+ }
32
+ }
33
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "id": "demo-source-url",
3
+ "settings": {
4
+ "start_step": "execute",
5
+ "max_total_steps": 10,
6
+ "timeout_ms": 60000
7
+ },
8
+ "steps": {
9
+ "execute": {
10
+ "description": "Execute single URL source def",
11
+ "handler": {
12
+ "type": "ref",
13
+ "howToRun": "demo-local-module",
14
+ "whatToRun": { "kind": "fs-path", "value": "./source-def-handlers/http-source-handler.js" }
15
+ },
16
+ "transitions": {
17
+ "success": "completed",
18
+ "failure": "failed"
19
+ }
20
+ }
21
+ },
22
+ "terminal_states": {
23
+ "completed": {
24
+ "description": "URL fetch succeeded",
25
+ "return_intent": "success",
26
+ "return_artifacts": ["resultValue", "wroteOutputDirectly"]
27
+ },
28
+ "failed": {
29
+ "description": "URL fetch failed",
30
+ "return_intent": "failure"
31
+ }
32
+ }
33
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "id": "demo-source-workiq",
3
+ "settings": {
4
+ "start_step": "execute",
5
+ "max_total_steps": 8,
6
+ "timeout_ms": 120000
7
+ },
8
+ "steps": {
9
+ "execute": {
10
+ "description": "Execute workiq source def via demo-server HTTP proxy",
11
+ "handler": {
12
+ "type": "ref",
13
+ "howToRun": "http:post",
14
+ "whatToRun": { "kind": "http-url", "value": "/api/workiq/ask" }
15
+ },
16
+ "transitions": {
17
+ "success": "completed",
18
+ "failure": "failed"
19
+ }
20
+ }
21
+ },
22
+ "terminal_states": {
23
+ "completed": {
24
+ "description": "WorkIQ source succeeded",
25
+ "return_intent": "success",
26
+ "return_artifacts": ["resultValue", "wroteOutputDirectly"]
27
+ },
28
+ "failed": {
29
+ "description": "WorkIQ source failed",
30
+ "return_intent": "failure",
31
+ "return_artifacts": ["error"]
32
+ }
33
+ }
34
+ }