yaml-flow 7.1.0 → 8.0.1

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 (389) 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 +4 -4
  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-ftO1W7Po.d.ts +286 -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/card-store-cli.js +1 -1
  14. package/{dist/cli → cli}/node/execution-adapter.d.ts +49 -4
  15. package/cli/node/execution-adapter.js +3 -0
  16. package/{dist/cli → cli}/node/fs-board-adapter.d.ts +24 -11
  17. package/cli/node/fs-board-adapter.js +14 -0
  18. package/cli/node/step-machine-cli.d.ts +7 -0
  19. package/cli/node/step-machine-cli.js +5 -0
  20. package/{dist/board-live-cards-public-5n1-syA3.d.cts → cli/types-C2YQXFwo.d.ts} +68 -5
  21. package/examples/board/.demo-setup/run-1778665078572-3466-a8ay4k/board-default/gandalf-runtime/.config/card-store-ref.json +1 -0
  22. package/examples/board/.demo-setup/run-1778665078572-3466-a8ay4k/board-default/gandalf-runtime/.config/chat-handler.json +1 -0
  23. package/examples/board/.demo-setup/run-1778665078572-3466-a8ay4k/board-default/gandalf-runtime/.config/outputs-store-ref.json +1 -0
  24. package/examples/board/.demo-setup/run-1778665078572-3466-a8ay4k/board-default/gandalf-runtime/.config/task-executor.json +1 -0
  25. package/examples/board/.demo-setup/run-1778665078572-3466-a8ay4k/board-default/gandalf-runtime/.state-snapshot/board/graph.json +29 -0
  26. package/examples/board/.demo-setup/run-1778665078572-3466-a8ay4k/board-default/gandalf-runtime/.state-snapshot/board/lastJournalProcessedId.json +1 -0
  27. package/examples/board/.demo-setup/run-1778665078572-3466-a8ay4k/board-default/gandalf-runtime-out/.outputs/status.json +25 -0
  28. package/examples/board/.demo-setup/run-1778665078572-3466-a8ay4k/board-default/runtime-out/.outputs/cards/card-market-prices/computed_values.json +67 -0
  29. package/examples/board/.demo-setup/run-1778665078572-3466-a8ay4k/board-default/runtime-out/.outputs/cards/card-portfolio/computed_values.json +1 -0
  30. package/examples/board/.demo-setup/run-1778665078572-3466-a8ay4k/board-default/runtime-out/.outputs/cards/card-portfolio-value/computed_values.json +52 -0
  31. package/examples/board/.demo-setup/run-1778665078572-3466-a8ay4k/board-default/runtime-out/.outputs/data-objects/holdings.json +22 -0
  32. package/examples/board/.demo-setup/run-1778665078572-3466-a8ay4k/board-default/runtime-out/.outputs/data-objects/positions.json +46 -0
  33. package/examples/board/.demo-setup/run-1778665078572-3466-a8ay4k/board-default/runtime-out/.outputs/data-objects/quotes.json +35 -0
  34. package/examples/board/.demo-setup/run-1778665078572-3466-a8ay4k/board-default/runtime-out/.outputs/status.json +113 -0
  35. package/examples/{example-board → board}/demo-server-config.json +0 -1
  36. package/examples/{example-board → board}/demo-server.js +23 -48
  37. package/examples/{example-board → board}/demo-shell-with-server.html +3 -3
  38. package/examples/{example-board → board}/demo-task-executor.js +71 -24
  39. package/examples/board/gandalf-cards/card-source-kinds.json +36 -0
  40. package/examples/board/gandalf-cards/cards/_index.json +7 -0
  41. package/examples/board/gandalf-cards/cards/card-source-kinds.json +64 -0
  42. package/examples/board/source-def-flows/copilot.flow.json +33 -0
  43. package/examples/board/source-def-flows/mock.flow.json +35 -0
  44. package/examples/board/source-def-flows/url-list.flow.json +33 -0
  45. package/examples/board/source-def-flows/url.flow.json +33 -0
  46. package/examples/board/source-def-flows/workiq.flow.json +34 -0
  47. package/examples/board/source-def-handlers/copilot-source-handler.js +141 -0
  48. package/examples/board/source-def-handlers/http-source-handler.js +145 -0
  49. package/examples/board/source_def_flows.json +249 -0
  50. package/examples/board/test/demo-http-test.js +317 -0
  51. package/examples/{example-board → board-local}/demo-shell-localstorage.html +4 -4
  52. package/examples/{browser/boards/portfolio-tracker → portfolio-tracker/handlers}/portfolio-tracker-fetch-prices.js +1 -1
  53. package/examples/{browser/boards/portfolio-tracker/portfolio-tracker-public.js → portfolio-tracker/portfolio-tracker.js} +11 -14
  54. package/examples/{browser/boards/portfolio-tracker → portfolio-tracker/test}/portfolio-t4.js +32 -50
  55. package/lib/artifacts-store-lib-public-BABrgFkV.d.ts +119 -0
  56. package/lib/artifacts-store-lib-public-DGa8BpJT.d.cts +119 -0
  57. package/lib/artifacts-store-public.cjs +2 -0
  58. package/lib/artifacts-store-public.d.cts +5 -0
  59. package/lib/artifacts-store-public.d.ts +5 -0
  60. package/lib/artifacts-store-public.js +2 -0
  61. package/lib/board-live-cards-node.cjs +14 -0
  62. package/lib/board-live-cards-node.d.cts +178 -0
  63. package/lib/board-live-cards-node.d.ts +178 -0
  64. package/lib/board-live-cards-node.js +14 -0
  65. package/lib/board-live-cards-public-BnmRAbQV.d.cts +383 -0
  66. package/{dist/board-live-cards-public-CK_J8uv0.d.ts → lib/board-live-cards-public-CsmYrvpd.d.ts} +142 -76
  67. package/lib/board-live-cards-public.cjs +3 -0
  68. package/lib/board-live-cards-public.d.cts +4 -0
  69. package/lib/board-live-cards-public.d.ts +4 -0
  70. package/lib/board-live-cards-public.js +3 -0
  71. package/lib/board-live-cards-server-runtime.cjs +9 -0
  72. package/lib/board-live-cards-server-runtime.d.cts +6 -0
  73. package/lib/board-live-cards-server-runtime.d.ts +6 -0
  74. package/lib/board-live-cards-server-runtime.js +9 -0
  75. package/lib/board-livegraph-runtime/index.cjs +3 -0
  76. package/{dist → lib}/board-livegraph-runtime/index.d.cts +1 -2
  77. package/{dist → lib}/board-livegraph-runtime/index.d.ts +1 -2
  78. package/lib/board-livegraph-runtime/index.js +3 -0
  79. package/{dist/storage-refs.cjs → lib/board-worker-adapter.cjs} +2 -2
  80. package/{dist/storage-refs.d.cts → lib/board-worker-adapter.d.cts} +4 -3
  81. package/{dist/storage-refs.d.ts → lib/board-worker-adapter.d.ts} +4 -3
  82. package/{dist/storage-refs.js → lib/board-worker-adapter.js} +2 -2
  83. package/{dist → lib}/card-compute/index.cjs +1 -1
  84. package/{dist → lib}/card-compute/index.js +1 -1
  85. package/lib/card-store-public.cjs +2 -0
  86. package/lib/card-store-public.d.cts +61 -0
  87. package/lib/card-store-public.d.ts +61 -0
  88. package/lib/card-store-public.js +2 -0
  89. package/lib/card-validation.cjs +10 -0
  90. package/lib/card-validation.d.cts +35 -0
  91. package/lib/card-validation.d.ts +35 -0
  92. package/lib/card-validation.js +10 -0
  93. package/{dist/constants-oCEbNpul.d.ts → lib/constants-BPVLb3Es.d.ts} +1 -1
  94. package/{dist/constants-BzZUyYlp.d.cts → lib/constants-DXxsRN9y.d.cts} +1 -1
  95. package/{dist → lib}/continuous-event-graph/index.cjs +2 -2
  96. package/{dist → lib}/continuous-event-graph/index.d.cts +3 -5
  97. package/{dist → lib}/continuous-event-graph/index.d.ts +3 -5
  98. package/{dist → lib}/continuous-event-graph/index.js +2 -2
  99. package/{dist → lib}/event-graph/index.d.cts +2 -2
  100. package/{dist → lib}/event-graph/index.d.ts +2 -2
  101. package/lib/execution-refs.cjs +3 -0
  102. package/{dist → lib}/execution-refs.d.cts +33 -12
  103. package/{dist → lib}/execution-refs.d.ts +33 -12
  104. package/lib/execution-refs.js +3 -0
  105. package/lib/index.cjs +25 -0
  106. package/{dist → lib}/index.d.cts +7 -8
  107. package/{dist → lib}/index.d.ts +7 -8
  108. package/lib/index.js +25 -0
  109. package/{dist/live-cards-bridge-BXbVTsna.d.cts → lib/live-cards-bridge-DC_ZU0eS.d.ts} +134 -3
  110. package/{dist/live-cards-bridge-Ds28XR15.d.ts → lib/live-cards-bridge-b25aAVvE.d.cts} +134 -3
  111. package/lib/loader-CuuLjxVA.d.cts +42 -0
  112. package/lib/loader-Zborm2pq.d.ts +42 -0
  113. package/lib/server-runtime/index.cjs +9 -0
  114. package/{dist → lib}/server-runtime/index.d.cts +4 -4
  115. package/{dist → lib}/server-runtime/index.d.ts +4 -4
  116. package/lib/server-runtime/index.js +9 -0
  117. package/lib/step-machine/index.d.cts +64 -0
  118. package/lib/step-machine/index.d.ts +64 -0
  119. package/lib/step-machine-public/index.cjs +5 -0
  120. package/{dist → lib}/step-machine-public/index.d.cts +14 -1
  121. package/{dist → lib}/step-machine-public/index.d.ts +14 -1
  122. package/lib/step-machine-public/index.js +5 -0
  123. package/lib/storage-interface-BhAON-gW.d.cts +84 -0
  124. package/lib/storage-interface-BhAON-gW.d.ts +84 -0
  125. package/lib/stores/index.cjs +3 -0
  126. package/lib/stores/index.d.cts +4 -0
  127. package/lib/stores/index.d.ts +4 -0
  128. package/lib/stores/index.js +3 -0
  129. package/lib/stores/kv.cjs +3 -0
  130. package/lib/stores/kv.d.cts +32 -0
  131. package/lib/stores/kv.d.ts +32 -0
  132. package/lib/stores/kv.js +3 -0
  133. package/{dist → lib}/stores/memory.d.cts +1 -1
  134. package/{dist → lib}/stores/memory.d.ts +1 -1
  135. package/{dist/types-HGDTWIun.d.ts → lib/types-CBxkYuLY.d.ts} +2 -1
  136. package/{dist/types-ycun84cq.d.cts → lib/types-DQ1bKuB1.d.cts} +11 -0
  137. package/{dist/types-ycun84cq.d.ts → lib/types-DQ1bKuB1.d.ts} +11 -0
  138. package/{dist/types-CU3DjTKL.d.cts → lib/types-DkFvgxwq.d.cts} +2 -1
  139. package/package.json +79 -119
  140. package/board-live-cards-cli.js +0 -37
  141. package/browser/board-livecards-client.js.map +0 -1
  142. package/browser/board-livecards-localstorage.js.map +0 -1
  143. package/browser/board-livegraph-engine.js +0 -3
  144. package/browser/board-livegraph-engine.js.map +0 -1
  145. package/browser/card-compute.js +0 -266
  146. package/browser/compute-jsonata.js.map +0 -1
  147. package/card-store.js +0 -37
  148. package/dist/batch/index.cjs.map +0 -1
  149. package/dist/batch/index.js.map +0 -1
  150. package/dist/board-live-cards-lib-Bg6EvCo5.d.cts +0 -136
  151. package/dist/board-live-cards-lib-jM2uYG1v.d.ts +0 -136
  152. package/dist/board-livegraph-runtime/index.cjs +0 -3
  153. package/dist/board-livegraph-runtime/index.cjs.map +0 -1
  154. package/dist/board-livegraph-runtime/index.js +0 -3
  155. package/dist/board-livegraph-runtime/index.js.map +0 -1
  156. package/dist/card-compute/index.cjs.map +0 -1
  157. package/dist/card-compute/index.js.map +0 -1
  158. package/dist/cli/browser-api/board-live-cards-browser-adapter.cjs +0 -3
  159. package/dist/cli/browser-api/board-live-cards-browser-adapter.cjs.map +0 -1
  160. package/dist/cli/browser-api/board-live-cards-browser-adapter.d.cts +0 -37
  161. package/dist/cli/browser-api/board-live-cards-browser-adapter.js.map +0 -1
  162. package/dist/cli/browser-api/card-store-browser-api.cjs +0 -2
  163. package/dist/cli/browser-api/card-store-browser-api.cjs.map +0 -1
  164. package/dist/cli/browser-api/card-store-browser-api.d.cts +0 -26
  165. package/dist/cli/browser-api/card-store-browser-api.js.map +0 -1
  166. package/dist/cli/node/artifacts-store-cli.cjs +0 -11
  167. package/dist/cli/node/artifacts-store-cli.cjs.map +0 -1
  168. package/dist/cli/node/artifacts-store-cli.d.cts +0 -8
  169. package/dist/cli/node/artifacts-store-cli.js.map +0 -1
  170. package/dist/cli/node/board-live-cards-cli.cjs +0 -15
  171. package/dist/cli/node/board-live-cards-cli.cjs.map +0 -1
  172. package/dist/cli/node/board-live-cards-cli.d.cts +0 -20
  173. package/dist/cli/node/board-live-cards-cli.js +0 -15
  174. package/dist/cli/node/board-live-cards-cli.js.map +0 -1
  175. package/dist/cli/node/card-store-cli.cjs +0 -8
  176. package/dist/cli/node/card-store-cli.cjs.map +0 -1
  177. package/dist/cli/node/card-store-cli.d.cts +0 -15
  178. package/dist/cli/node/card-store-cli.js.map +0 -1
  179. package/dist/cli/node/execution-adapter.cjs +0 -3
  180. package/dist/cli/node/execution-adapter.cjs.map +0 -1
  181. package/dist/cli/node/execution-adapter.d.cts +0 -174
  182. package/dist/cli/node/execution-adapter.js +0 -3
  183. package/dist/cli/node/execution-adapter.js.map +0 -1
  184. package/dist/cli/node/fs-board-adapter.cjs +0 -14
  185. package/dist/cli/node/fs-board-adapter.cjs.map +0 -1
  186. package/dist/cli/node/fs-board-adapter.d.cts +0 -204
  187. package/dist/cli/node/fs-board-adapter.js +0 -14
  188. package/dist/cli/node/fs-board-adapter.js.map +0 -1
  189. package/dist/cli/node/source-cli-task-executor.cjs +0 -11
  190. package/dist/cli/node/source-cli-task-executor.cjs.map +0 -1
  191. package/dist/cli/node/source-cli-task-executor.js.map +0 -1
  192. package/dist/config/index.cjs.map +0 -1
  193. package/dist/config/index.js.map +0 -1
  194. package/dist/continuous-event-graph/index.cjs.map +0 -1
  195. package/dist/continuous-event-graph/index.js.map +0 -1
  196. package/dist/event-graph/index.cjs.map +0 -1
  197. package/dist/event-graph/index.js.map +0 -1
  198. package/dist/execution-refs.cjs +0 -3
  199. package/dist/execution-refs.cjs.map +0 -1
  200. package/dist/execution-refs.js +0 -3
  201. package/dist/execution-refs.js.map +0 -1
  202. package/dist/index.cjs +0 -30
  203. package/dist/index.cjs.map +0 -1
  204. package/dist/index.js +0 -30
  205. package/dist/index.js.map +0 -1
  206. package/dist/inference/index.cjs +0 -7
  207. package/dist/inference/index.cjs.map +0 -1
  208. package/dist/inference/index.d.cts +0 -229
  209. package/dist/inference/index.d.ts +0 -229
  210. package/dist/inference/index.js +0 -7
  211. package/dist/inference/index.js.map +0 -1
  212. package/dist/server-runtime/index.cjs +0 -9
  213. package/dist/server-runtime/index.cjs.map +0 -1
  214. package/dist/server-runtime/index.js +0 -9
  215. package/dist/server-runtime/index.js.map +0 -1
  216. package/dist/step-machine/index.cjs.map +0 -1
  217. package/dist/step-machine/index.d.cts +0 -102
  218. package/dist/step-machine/index.d.ts +0 -102
  219. package/dist/step-machine/index.js.map +0 -1
  220. package/dist/step-machine-public/index.cjs +0 -3
  221. package/dist/step-machine-public/index.cjs.map +0 -1
  222. package/dist/step-machine-public/index.js +0 -3
  223. package/dist/step-machine-public/index.js.map +0 -1
  224. package/dist/storage-refs.cjs.map +0 -1
  225. package/dist/storage-refs.js.map +0 -1
  226. package/dist/stores/file.cjs +0 -2
  227. package/dist/stores/file.cjs.map +0 -1
  228. package/dist/stores/file.d.cts +0 -36
  229. package/dist/stores/file.d.ts +0 -36
  230. package/dist/stores/file.js +0 -2
  231. package/dist/stores/file.js.map +0 -1
  232. package/dist/stores/index.cjs +0 -2
  233. package/dist/stores/index.cjs.map +0 -1
  234. package/dist/stores/index.d.cts +0 -4
  235. package/dist/stores/index.d.ts +0 -4
  236. package/dist/stores/index.js +0 -2
  237. package/dist/stores/index.js.map +0 -1
  238. package/dist/stores/localStorage.cjs +0 -2
  239. package/dist/stores/localStorage.cjs.map +0 -1
  240. package/dist/stores/localStorage.d.cts +0 -34
  241. package/dist/stores/localStorage.d.ts +0 -34
  242. package/dist/stores/localStorage.js +0 -2
  243. package/dist/stores/localStorage.js.map +0 -1
  244. package/dist/stores/memory.cjs.map +0 -1
  245. package/dist/stores/memory.js.map +0 -1
  246. package/dist/types-CHSdoAAA.d.cts +0 -135
  247. package/dist/types-CoW0gQl3.d.ts +0 -135
  248. package/examples/browser/boards/portfolio-tracker/portfolio-tracker-fetch-prices.py +0 -201
  249. package/examples/browser/boards/portfolio-tracker/portfolio-tracker-http-test.js +0 -370
  250. package/examples/browser/boards/portfolio-tracker/portfolio-tracker-http-test.py +0 -398
  251. package/examples/browser/boards/portfolio-tracker/portfolio-tracker-inference-adapter.js +0 -196
  252. package/examples/browser/boards/portfolio-tracker/portfolio-tracker-server.js +0 -300
  253. package/examples/browser/boards/portfolio-tracker/portfolio-tracker-server.py +0 -617
  254. package/examples/browser/boards/portfolio-tracker/portfolio-tracker.py +0 -366
  255. package/examples/browser/livecards-browser/index.html +0 -41
  256. package/examples/browser/step-machine-browser/index.html +0 -367
  257. package/examples/cli/step-machine-cli/portfolio-tracker/--base-ref/.runtime-out +0 -1
  258. package/examples/cli/step-machine-cli/portfolio-tracker/--base-ref/board-graph.json +0 -32
  259. package/examples/cli/step-machine-cli/portfolio-tracker/cards/holdings-table.json +0 -22
  260. package/examples/cli/step-machine-cli/portfolio-tracker/cards/portfolio-form.json +0 -43
  261. package/examples/cli/step-machine-cli/portfolio-tracker/cards/portfolio-value.json +0 -15
  262. package/examples/cli/step-machine-cli/portfolio-tracker/cards/price-fetch.json +0 -15
  263. package/examples/cli/step-machine-cli/portfolio-tracker/fetch-prices.js +0 -48
  264. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/_board-cli.js +0 -125
  265. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/add-cards-cli.js +0 -32
  266. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/init-board-cli.js +0 -26
  267. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/poll-status-cli.js +0 -49
  268. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/reset-board-dir-cli.js +0 -25
  269. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/retrigger-cli.js +0 -23
  270. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/status-cli.js +0 -21
  271. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/update-holdings-cli.js +0 -38
  272. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/wait-completed-cli.js +0 -48
  273. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/write-prices-cli.js +0 -31
  274. package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/_board_pycli.py +0 -107
  275. package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/add-cards.py +0 -51
  276. package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/init-board.py +0 -45
  277. package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/poll-status.py +0 -71
  278. package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/reset-board-dir.py +0 -36
  279. package/examples/cli/step-machine-cli/portfolio-tracker/inline-python-demo.flow.yaml +0 -26
  280. package/examples/cli/step-machine-cli/portfolio-tracker/inline-python-handlers.py +0 -39
  281. package/examples/cli/step-machine-cli/portfolio-tracker/portfolio-tracker-pycli.flow.yaml +0 -80
  282. package/examples/cli/step-machine-cli/portfolio-tracker/portfolio-tracker.flow.yaml +0 -76
  283. package/examples/cli/step-machine-cli/portfolio-tracker/portfolio-tracker.input.json +0 -44
  284. package/examples/cli/step-machine-cli/portfolio-tracker/run-inline-python-demo-pycli.py +0 -43
  285. package/examples/cli/step-machine-cli/portfolio-tracker/run-portfolio-tracker-pycli.py +0 -77
  286. package/examples/cli/step-machine-cli/portfolio-tracker/run-portfolio-tracker.bat +0 -28
  287. package/examples/cli/step-machine-demo/jsonata-init-board-cli.js +0 -31
  288. package/examples/cli/step-machine-demo/jsonata-init-board.flow.yaml +0 -54
  289. package/examples/cli/step-machine-demo/one-step-cli-only.flow.yaml +0 -21
  290. package/examples/cli/step-machine-demo/step-cli-echo-y.js +0 -15
  291. package/examples/cli/step-machine-demo/step2-double-cli.js +0 -33
  292. package/examples/cli/step-machine-demo/two-step-math.flow.yaml +0 -93
  293. package/examples/cli/step-machine-demo/two-step-mixed.flow.yaml +0 -43
  294. package/examples/example-board/agent-instructions-cardlayout.md +0 -56
  295. package/examples/example-board/agent-instructions.md +0 -834
  296. package/examples/example-board/demo-shell.html +0 -63
  297. package/examples/index.html +0 -785
  298. package/examples/npm-libs/batch/batch-step-machine.ts +0 -121
  299. package/examples/npm-libs/continuous-event-graph/live-cards-board.ts +0 -215
  300. package/examples/npm-libs/continuous-event-graph/live-portfolio-dashboard.ts +0 -555
  301. package/examples/npm-libs/continuous-event-graph/portfolio-tracker.ts +0 -287
  302. package/examples/npm-libs/continuous-event-graph/reactive-monitoring.ts +0 -265
  303. package/examples/npm-libs/continuous-event-graph/reactive-pipeline.ts +0 -168
  304. package/examples/npm-libs/continuous-event-graph/soc-incident-board.ts +0 -287
  305. package/examples/npm-libs/continuous-event-graph/stock-dashboard.ts +0 -229
  306. package/examples/npm-libs/event-graph/ci-cd-pipeline.ts +0 -243
  307. package/examples/npm-libs/event-graph/executor-diamond.ts +0 -165
  308. package/examples/npm-libs/event-graph/executor-pipeline.ts +0 -161
  309. package/examples/npm-libs/event-graph/research-pipeline.ts +0 -137
  310. package/examples/npm-libs/flows/ai-conversation.yaml +0 -116
  311. package/examples/npm-libs/flows/order-processing.yaml +0 -143
  312. package/examples/npm-libs/flows/simple-greeting.yaml +0 -54
  313. package/examples/npm-libs/graph-of-graphs/multi-stage-etl.ts +0 -307
  314. package/examples/npm-libs/graph-of-graphs/url-processing-pipeline.ts +0 -254
  315. package/examples/npm-libs/inference/azure-deployment.ts +0 -149
  316. package/examples/npm-libs/inference/copilot-cli.ts +0 -138
  317. package/examples/npm-libs/inference/data-pipeline.ts +0 -145
  318. package/examples/npm-libs/inference/pluggable-adapters.ts +0 -254
  319. package/examples/npm-libs/node/ai-conversation.ts +0 -195
  320. package/examples/npm-libs/node/simple-greeting.ts +0 -101
  321. package/examples/step-machine-cli/portfolio-tracker/cards/holdings-table.json +0 -22
  322. package/examples/step-machine-cli/portfolio-tracker/cards/portfolio-form.json +0 -43
  323. package/examples/step-machine-cli/portfolio-tracker/cards/portfolio-value.json +0 -15
  324. package/examples/step-machine-cli/portfolio-tracker/cards/price-fetch.json +0 -15
  325. package/examples/step-machine-cli/portfolio-tracker/fetch-prices.js +0 -48
  326. package/examples/step-machine-cli/portfolio-tracker/handlers/_board-cli.js +0 -57
  327. package/examples/step-machine-cli/portfolio-tracker/handlers/add-cards-cli.js +0 -27
  328. package/examples/step-machine-cli/portfolio-tracker/handlers/init-board-cli.js +0 -25
  329. package/examples/step-machine-cli/portfolio-tracker/handlers/reset-board-dir-cli.js +0 -29
  330. package/examples/step-machine-cli/portfolio-tracker/handlers/retrigger-cli.js +0 -27
  331. package/examples/step-machine-cli/portfolio-tracker/handlers/status-cli.js +0 -25
  332. package/examples/step-machine-cli/portfolio-tracker/handlers/update-holdings-cli.js +0 -37
  333. package/examples/step-machine-cli/portfolio-tracker/handlers/wait-completed-cli.js +0 -53
  334. package/examples/step-machine-cli/portfolio-tracker/handlers/write-prices-cli.js +0 -35
  335. package/examples/step-machine-cli/portfolio-tracker/portfolio-tracker-task-executor.cjs +0 -96
  336. package/examples/step-machine-cli/portfolio-tracker/portfolio-tracker.flow.yaml +0 -227
  337. package/examples/step-machine-cli/portfolio-tracker/portfolio-tracker.input.json +0 -38
  338. package/examples/step-machine-cli/portfolio-tracker/run-portfolio-tracker.bat +0 -28
  339. package/step-machine-cli.js +0 -407
  340. /package/{dist/cli → cli}/browser-api/board-live-cards-browser-adapter.js +0 -0
  341. /package/{dist/board-livegraph-runtime → cli/browser-api}/jsonata-sync.cjs +0 -0
  342. /package/{dist/cli → cli}/node/artifacts-store-cli.d.ts +0 -0
  343. /package/{dist/cli/node/source-cli-task-executor.d.cts → cli/node/batch-runner-cli.d.ts} +0 -0
  344. /package/{dist/cli → cli}/node/board-live-cards-cli.d.ts +0 -0
  345. /package/{dist/cli → cli}/node/card-store-cli.d.ts +0 -0
  346. /package/{dist/card-compute → cli/node}/jsonata-sync.cjs +0 -0
  347. /package/{dist/cli → cli}/node/source-cli-task-executor.d.ts +0 -0
  348. /package/{dist/cli → cli}/node/source-cli-task-executor.js +0 -0
  349. /package/examples/{example-board → board}/cards/card-concentration.json +0 -0
  350. /package/examples/{example-board → board}/cards/card-my-identity.json +0 -0
  351. /package/examples/{example-board → board}/cards/card-portfolio-action.json +0 -0
  352. /package/examples/{example-board → board}/cards/card-portfolio-intelligence.json +0 -0
  353. /package/examples/{example-board → board}/cards/card-portfolio-risks.json +0 -0
  354. /package/examples/{example-board → board}/cards/card-rebalance-impact.json +0 -0
  355. /package/examples/{example-board → board}/cards/card-rebalance-sim.json +0 -0
  356. /package/examples/{example-board → board}/cards/cardT-market-prices.json +0 -0
  357. /package/examples/{example-board → board}/cards/cardT-portfolio-value.json +0 -0
  358. /package/examples/{example-board → board}/cards/cardT-portfolio.json +0 -0
  359. /package/examples/{example-board → board}/demo-chat-handler.js +0 -0
  360. /package/examples/{example-board → board}/scripts/copilot_wrapper.bat +0 -0
  361. /package/examples/{example-board → board}/scripts/copilot_wrapper_helper.ps1 +0 -0
  362. /package/examples/{example-board → board}/scripts/workiq_wrapper.mjs +0 -0
  363. /package/examples/{browser/boards/portfolio-tracker → board/test}/portfolio-tracker-sse-worker.js +0 -0
  364. /package/{dist → lib}/batch/index.cjs +0 -0
  365. /package/{dist → lib}/batch/index.d.cts +0 -0
  366. /package/{dist → lib}/batch/index.d.ts +0 -0
  367. /package/{dist → lib}/batch/index.js +0 -0
  368. /package/{dist/cli/browser-api → lib/board-livegraph-runtime}/jsonata-sync.cjs +0 -0
  369. /package/{dist → lib}/card-compute/index.d.cts +0 -0
  370. /package/{dist → lib}/card-compute/index.d.ts +0 -0
  371. /package/{dist/cli/node → lib/card-compute}/jsonata-sync.cjs +0 -0
  372. /package/{dist → lib}/config/index.cjs +0 -0
  373. /package/{dist → lib}/config/index.d.cts +0 -0
  374. /package/{dist → lib}/config/index.d.ts +0 -0
  375. /package/{dist → lib}/config/index.js +0 -0
  376. /package/{dist → lib}/continuous-event-graph/jsonata-sync.cjs +0 -0
  377. /package/{dist → lib}/event-graph/index.cjs +0 -0
  378. /package/{dist → lib}/event-graph/index.js +0 -0
  379. /package/{dist → lib}/jsonata-sync.cjs +0 -0
  380. /package/{dist → lib}/server-runtime/jsonata-sync.cjs +0 -0
  381. /package/{dist → lib}/step-machine/index.cjs +0 -0
  382. /package/{dist → lib}/step-machine/index.js +0 -0
  383. /package/{dist → lib}/step-machine-public/jsonata-sync.cjs +0 -0
  384. /package/{dist → lib}/stores/memory.cjs +0 -0
  385. /package/{dist → lib}/stores/memory.js +0 -0
  386. /package/{dist → lib}/types-BBhqYGhE.d.cts +0 -0
  387. /package/{dist → lib}/types-BBhqYGhE.d.ts +0 -0
  388. /package/{dist → lib}/validate-BAVzUJWa.d.ts +0 -0
  389. /package/{dist → lib}/validate-Dbu7ygys.d.cts +0 -0
@@ -1,20 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * board-live-cards-example-cli.ts
4
- *
5
- * Thin arg-parse CLI for the board-live-cards public API.
6
- *
7
- * This file contains ONLY:
8
- * 1. Arg parsing helpers
9
- * 2. A `cli()` function that maps argv → public-API calls
10
- * 3. A main-invocation guard
11
- *
12
- * All logic lives in board-live-cards-public.ts (platform-free) and
13
- * fs-board-adapter.ts (Node/FS platform adapters).
14
- *
15
- * Imports are limited to ./fs-board-adapter.js and ./process-runner.js —
16
- * no direct imports from ../common/*.
17
- */
18
- declare function cli(argv: string[]): Promise<void>;
19
-
20
- export { cli };
@@ -1,15 +0,0 @@
1
- #!/usr/bin/env node
2
- import*as T from'fs';import*as On from'os';import*as ie from'path';import*as Jo from'net';import {fileURLToPath}from'url';import {spawn,execFile,execFileSync}from'child_process';import {createHash,randomUUID}from'crypto';import {createRequire}from'module';import {lockSync}from'proper-lockfile';import Ah from'ajv-formats';var Rc=Object.create;var Bo=Object.defineProperty;var Cc=Object.getOwnPropertyDescriptor;var Ec=Object.getOwnPropertyNames;var xc=Object.getPrototypeOf,Tc=Object.prototype.hasOwnProperty;var $=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Ac=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Ec(e))!Tc.call(t,s)&&s!==r&&Bo(t,s,{get:()=>e[s],enumerable:!(n=Cc(e,s))||n.enumerable});return t};var Ic=(t,e,r)=>(r=t!=null?Rc(xc(t)):{},Ac(Bo(r,"default",{value:t,enumerable:true}),t));var Xt=$(J=>{Object.defineProperty(J,"__esModule",{value:true});J.regexpCode=J.getEsmExportName=J.getProperty=J.safeStringify=J.stringify=J.strConcat=J.addCodeArg=J.str=J._=J.nil=J._Code=J.Name=J.IDENTIFIER=J._CodeOrName=void 0;var Wt=class{};J._CodeOrName=Wt;J.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var lt=class extends Wt{constructor(e){if(super(),!J.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e;}toString(){return this.str}emptyStr(){return false}get names(){return {[this.str]:1}}};J.Name=lt;var xe=class extends Wt{constructor(e){super(),this._items=typeof e=="string"?[e]:e;}toString(){return this.str}emptyStr(){if(this._items.length>1)return false;let e=this._items[0];return e===""||e==='""'}get str(){var e;return (e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var e;return (e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((r,n)=>(n instanceof lt&&(r[n.str]=(r[n.str]||0)+1),r),{})}};J._Code=xe;J.nil=new xe("");function la(t,...e){let r=[t[0]],n=0;for(;n<e.length;)Gn(r,e[n]),r.push(t[++n]);return new xe(r)}J._=la;var Bn=new xe("+");function fa(t,...e){let r=[Yt(t[0])],n=0;for(;n<e.length;)r.push(Bn),Gn(r,e[n]),r.push(Bn,Yt(t[++n]));return nd(r),new xe(r)}J.str=fa;function Gn(t,e){e instanceof xe?t.push(...e._items):e instanceof lt?t.push(e):t.push(ad(e));}J.addCodeArg=Gn;function nd(t){let e=1;for(;e<t.length-1;){if(t[e]===Bn){let r=sd(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+";}e++;}}function sd(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof lt||t[t.length-1]!=='"'?void 0:typeof e!="string"?`${t.slice(0,-1)}${e}"`:e[0]==='"'?t.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(t instanceof lt))return `"${t}${e.slice(1)}`}function od(t,e){return e.emptyStr()?t:t.emptyStr()?e:fa`${t}${e}`}J.strConcat=od;function ad(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:Yt(Array.isArray(t)?t.join(","):t)}function id(t){return new xe(Yt(t))}J.stringify=id;function Yt(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}J.safeStringify=Yt;function ud(t){return typeof t=="string"&&J.IDENTIFIER.test(t)?new xe(`.${t}`):la`[${t}]`}J.getProperty=ud;function cd(t){if(typeof t=="string"&&J.IDENTIFIER.test(t))return new xe(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}J.getEsmExportName=cd;function dd(t){return new xe(t.toString())}J.regexpCode=dd;});var Jn=$(we=>{Object.defineProperty(we,"__esModule",{value:true});we.ValueScope=we.ValueScopeName=we.Scope=we.varKinds=we.UsedValueState=void 0;var Se=Xt(),Kn=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value;}},Fr;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed";})(Fr||(we.UsedValueState=Fr={}));we.varKinds={const:new Se.Name("const"),let:new Se.Name("let"),var:new Se.Name("var")};var Mr=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r;}toName(e){return e instanceof Se.Name?e:this.name(e)}name(e){return new Se.Name(this._newName(e))}_newName(e){let r=this._names[e]||this._nameGroup(e);return `${e}${r.index++}`}_nameGroup(e){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};we.Scope=Mr;var Lr=class extends Se.Name{constructor(e,r){super(r),this.prefix=e;}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0, Se._)`.${new Se.Name(r)}[${n}]`;}};we.ValueScopeName=Lr;var ld=(0, Se._)`\n`,Un=class extends Mr{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?ld:Se.nil};}get(){return this._scope}name(e){return new Lr(e,this._newName(e))}value(e,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let s=this.toName(e),{prefix:o}=s,a=(n=r.key)!==null&&n!==void 0?n:r.ref,i=this._values[o];if(i){let d=i.get(a);if(d)return d}else i=this._values[o]=new Map;i.set(a,s);let u=this._scope[o]||(this._scope[o]=[]),c=u.length;return u[c]=r.ref,s.setValue(r,{property:o,itemIndex:c}),s}getValue(e,r){let n=this._values[e];if(n)return n.get(r)}scopeRefs(e,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return (0, Se._)`${e}${n.scopePath}`})}scopeCode(e=this._values,r,n){return this._reduceValues(e,s=>{if(s.value===void 0)throw new Error(`CodeGen: name "${s}" has no value`);return s.value.code},r,n)}_reduceValues(e,r,n={},s){let o=Se.nil;for(let a in e){let i=e[a];if(!i)continue;let u=n[a]=n[a]||new Map;i.forEach(c=>{if(u.has(c))return;u.set(c,Fr.Started);let d=r(c);if(d){let f=this.opts.es5?we.varKinds.var:we.varKinds.const;o=(0, Se._)`${o}${f} ${c} = ${d};${this.opts._n}`;}else if(d=s?.(c))o=(0, Se._)`${o}${d}${this.opts._n}`;else throw new Kn(c);u.set(c,Fr.Completed);});}return o}};we.ValueScope=Un;});var L=$(D=>{Object.defineProperty(D,"__esModule",{value:true});D.or=D.and=D.not=D.CodeGen=D.operators=D.varKinds=D.ValueScopeName=D.ValueScope=D.Scope=D.Name=D.regexpCode=D.stringify=D.getProperty=D.nil=D.strConcat=D.str=D._=void 0;var G=Xt(),Pe=Jn(),Ye=Xt();Object.defineProperty(D,"_",{enumerable:true,get:function(){return Ye._}});Object.defineProperty(D,"str",{enumerable:true,get:function(){return Ye.str}});Object.defineProperty(D,"strConcat",{enumerable:true,get:function(){return Ye.strConcat}});Object.defineProperty(D,"nil",{enumerable:true,get:function(){return Ye.nil}});Object.defineProperty(D,"getProperty",{enumerable:true,get:function(){return Ye.getProperty}});Object.defineProperty(D,"stringify",{enumerable:true,get:function(){return Ye.stringify}});Object.defineProperty(D,"regexpCode",{enumerable:true,get:function(){return Ye.regexpCode}});Object.defineProperty(D,"Name",{enumerable:true,get:function(){return Ye.Name}});var Kr=Jn();Object.defineProperty(D,"Scope",{enumerable:true,get:function(){return Kr.Scope}});Object.defineProperty(D,"ValueScope",{enumerable:true,get:function(){return Kr.ValueScope}});Object.defineProperty(D,"ValueScopeName",{enumerable:true,get:function(){return Kr.ValueScopeName}});Object.defineProperty(D,"varKinds",{enumerable:true,get:function(){return Kr.varKinds}});D.operators={GT:new G._Code(">"),GTE:new G._Code(">="),LT:new G._Code("<"),LTE:new G._Code("<="),EQ:new G._Code("==="),NEQ:new G._Code("!=="),NOT:new G._Code("!"),OR:new G._Code("||"),AND:new G._Code("&&"),ADD:new G._Code("+")};var Be=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},Hn=class extends Be{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n;}render({es5:e,_n:r}){let n=e?Pe.varKinds.var:this.varKind,s=this.rhs===void 0?"":` = ${this.rhs}`;return `${n} ${this.name}${s};`+r}optimizeNames(e,r){if(e[this.name.str])return this.rhs&&(this.rhs=Et(this.rhs,e,r)),this}get names(){return this.rhs instanceof G._CodeOrName?this.rhs.names:{}}},Vr=class extends Be{constructor(e,r,n){super(),this.lhs=e,this.rhs=r,this.sideEffects=n;}render({_n:e}){return `${this.lhs} = ${this.rhs};`+e}optimizeNames(e,r){if(!(this.lhs instanceof G.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=Et(this.rhs,e,r),this}get names(){let e=this.lhs instanceof G.Name?{}:{...this.lhs.names};return Gr(e,this.rhs)}},zn=class extends Vr{constructor(e,r,n,s){super(e,n,s),this.op=r;}render({_n:e}){return `${this.lhs} ${this.op}= ${this.rhs};`+e}},Wn=class extends Be{constructor(e){super(),this.label=e,this.names={};}render({_n:e}){return `${this.label}:`+e}},Yn=class extends Be{constructor(e){super(),this.label=e,this.names={};}render({_n:e}){return `break${this.label?` ${this.label}`:""};`+e}},Xn=class extends Be{constructor(e){super(),this.error=e;}render({_n:e}){return `throw ${this.error};`+e}get names(){return this.error.names}},Qn=class extends Be{constructor(e){super(),this.code=e;}render({_n:e}){return `${this.code};`+e}optimizeNodes(){return `${this.code}`?this:void 0}optimizeNames(e,r){return this.code=Et(this.code,e,r),this}get names(){return this.code instanceof G._CodeOrName?this.code.names:{}}},Qt=class extends Be{constructor(e=[]){super(),this.nodes=e;}render(e){return this.nodes.reduce((r,n)=>r+n.render(e),"")}optimizeNodes(){let{nodes:e}=this,r=e.length;for(;r--;){let n=e[r].optimizeNodes();Array.isArray(n)?e.splice(r,1,...n):n?e[r]=n:e.splice(r,1);}return e.length>0?this:void 0}optimizeNames(e,r){let{nodes:n}=this,s=n.length;for(;s--;){let o=n[s];o.optimizeNames(e,r)||(fd(e,o.names),n.splice(s,1));}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>mt(e,r.names),{})}},Ge=class extends Qt{render(e){return "{"+e._n+super.render(e)+"}"+e._n}},Zn=class extends Qt{},Ct=class extends Ge{};Ct.kind="else";var ft=class t extends Ge{constructor(e,r){super(r),this.condition=e;}render(e){let r=`if(${this.condition})`+super.render(e);return this.else&&(r+="else "+this.else.render(e)),r}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===true)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new Ct(n):n;}if(r)return e===false?r instanceof t?r:r.nodes:this.nodes.length?this:new t(pa(e),r instanceof t?[r]:r.nodes);if(!(e===false||!this.nodes.length))return this}optimizeNames(e,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(e,r),!!(super.optimizeNames(e,r)||this.else))return this.condition=Et(this.condition,e,r),this}get names(){let e=super.names;return Gr(e,this.condition),this.else&&mt(e,this.else.names),e}};ft.kind="if";var pt=class extends Ge{};pt.kind="for";var es=class extends pt{constructor(e){super(),this.iteration=e;}render(e){return `for(${this.iteration})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iteration=Et(this.iteration,e,r),this}get names(){return mt(super.names,this.iteration.names)}},ts=class extends pt{constructor(e,r,n,s){super(),this.varKind=e,this.name=r,this.from=n,this.to=s;}render(e){let r=e.es5?Pe.varKinds.var:this.varKind,{name:n,from:s,to:o}=this;return `for(${r} ${n}=${s}; ${n}<${o}; ${n}++)`+super.render(e)}get names(){let e=Gr(super.names,this.from);return Gr(e,this.to)}},Br=class extends pt{constructor(e,r,n,s){super(),this.loop=e,this.varKind=r,this.name=n,this.iterable=s;}render(e){return `for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iterable=Et(this.iterable,e,r),this}get names(){return mt(super.names,this.iterable.names)}},Zt=class extends Ge{constructor(e,r,n){super(),this.name=e,this.args=r,this.async=n;}render(e){return `${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};Zt.kind="func";var er=class extends Qt{render(e){return "return "+super.render(e)}};er.kind="return";var rs=class extends Ge{render(e){let r="try"+super.render(e);return this.catch&&(r+=this.catch.render(e)),this.finally&&(r+=this.finally.render(e)),r}optimizeNodes(){var e,r;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(e,r){var n,s;return super.optimizeNames(e,r),(n=this.catch)===null||n===void 0||n.optimizeNames(e,r),(s=this.finally)===null||s===void 0||s.optimizeNames(e,r),this}get names(){let e=super.names;return this.catch&&mt(e,this.catch.names),this.finally&&mt(e,this.finally.names),e}},tr=class extends Ge{constructor(e){super(),this.error=e;}render(e){return `catch(${this.error})`+super.render(e)}};tr.kind="catch";var rr=class extends Ge{render(e){return "finally"+super.render(e)}};rr.kind="finally";var ns=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
3
- `:""},this._extScope=e,this._scope=new Pe.Scope({parent:e}),this._nodes=[new Zn];}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let n=this._extScope.value(e,r);return (this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,r){return this._extScope.getValue(e,r)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,r,n,s){let o=this._scope.toName(r);return n!==void 0&&s&&(this._constants[o.str]=n),this._leafNode(new Hn(e,o,n)),o}const(e,r,n){return this._def(Pe.varKinds.const,e,r,n)}let(e,r,n){return this._def(Pe.varKinds.let,e,r,n)}var(e,r,n){return this._def(Pe.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new Vr(e,r,n))}add(e,r){return this._leafNode(new zn(e,D.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==G.nil&&this._leafNode(new Qn(e)),this}object(...e){let r=["{"];for(let[n,s]of e)r.length>1&&r.push(","),r.push(n),(n!==s||this.opts.es5)&&(r.push(":"),(0, G.addCodeArg)(r,s));return r.push("}"),new G._Code(r)}if(e,r,n){if(this._blockNode(new ft(e)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new ft(e))}else(){return this._elseNode(new Ct)}endIf(){return this._endBlockNode(ft,Ct)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new es(e),r)}forRange(e,r,n,s,o=this.opts.es5?Pe.varKinds.var:Pe.varKinds.let){let a=this._scope.toName(e);return this._for(new ts(o,a,r,n),()=>s(a))}forOf(e,r,n,s=Pe.varKinds.const){let o=this._scope.toName(e);if(this.opts.es5){let a=r instanceof G.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0, G._)`${a}.length`,i=>{this.var(o,(0, G._)`${a}[${i}]`),n(o);})}return this._for(new Br("of",s,o,r),()=>n(o))}forIn(e,r,n,s=this.opts.es5?Pe.varKinds.var:Pe.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0, G._)`Object.keys(${r})`,n);let o=this._scope.toName(e);return this._for(new Br("in",s,o,r),()=>n(o))}endFor(){return this._endBlockNode(pt)}label(e){return this._leafNode(new Wn(e))}break(e){return this._leafNode(new Yn(e))}return(e){let r=new er;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(er)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let s=new rs;if(this._blockNode(s),this.code(e),r){let o=this.name("e");this._currNode=s.catch=new tr(o),r(o);}return n&&(this._currNode=s.finally=new rr,this.code(n)),this._endBlockNode(tr,rr)}throw(e){return this._leafNode(new Xn(e))}block(e,r){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(r),this}endBlock(e){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||e!==void 0&&n!==e)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=r,this}func(e,r=G.nil,n,s){return this._blockNode(new Zt(e,r,n)),s&&this.code(s).endFunc(),this}endFunc(){return this._endBlockNode(Zt)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants);}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e);}_endBlockNode(e,r){let n=this._currNode;if(n instanceof e||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${e.kind}/${r.kind}`:e.kind}"`)}_elseNode(e){let r=this._currNode;if(!(r instanceof ft))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let r=this._nodes;r[r.length-1]=e;}};D.CodeGen=ns;function mt(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function Gr(t,e){return e instanceof G._CodeOrName?mt(t,e.names):t}function Et(t,e,r){if(t instanceof G.Name)return n(t);if(!s(t))return t;return new G._Code(t._items.reduce((o,a)=>(a instanceof G.Name&&(a=n(a)),a instanceof G._Code?o.push(...a._items):o.push(a),o),[]));function n(o){let a=r[o.str];return a===void 0||e[o.str]!==1?o:(delete e[o.str],a)}function s(o){return o instanceof G._Code&&o._items.some(a=>a instanceof G.Name&&e[a.str]===1&&r[a.str]!==void 0)}}function fd(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0);}function pa(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0, G._)`!${ss(t)}`}D.not=pa;var pd=ma(D.operators.AND);function md(...t){return t.reduce(pd)}D.and=md;var hd=ma(D.operators.OR);function gd(...t){return t.reduce(hd)}D.or=gd;function ma(t){return (e,r)=>e===G.nil?r:r===G.nil?e:(0, G._)`${ss(e)} ${t} ${ss(r)}`}function ss(t){return t instanceof G.Name?t:(0, G._)`(${t})`}});var K=$(V=>{Object.defineProperty(V,"__esModule",{value:true});V.checkStrictMode=V.getErrorPath=V.Type=V.useFunc=V.setEvaluated=V.evaluatedPropsToName=V.mergeEvaluated=V.eachItem=V.unescapeJsonPointer=V.escapeJsonPointer=V.escapeFragment=V.unescapeFragment=V.schemaRefOrVal=V.schemaHasRulesButRef=V.schemaHasRules=V.checkUnknownRules=V.alwaysValidSchema=V.toHash=void 0;var Y=L(),yd=Xt();function vd(t){let e={};for(let r of t)e[r]=true;return e}V.toHash=vd;function bd(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?true:(ya(t,e),!va(e,t.self.RULES.all))}V.alwaysValidSchema=bd;function ya(t,e=t.schema){let{opts:r,self:n}=t;if(!r.strictSchema||typeof e=="boolean")return;let s=n.RULES.keywords;for(let o in e)s[o]||wa(t,`unknown keyword: "${o}"`);}V.checkUnknownRules=ya;function va(t,e){if(typeof t=="boolean")return !t;for(let r in t)if(e[r])return true;return false}V.schemaHasRules=va;function Sd(t,e){if(typeof t=="boolean")return !t;for(let r in t)if(r!=="$ref"&&e.all[r])return true;return false}V.schemaHasRulesButRef=Sd;function wd({topSchemaRef:t,schemaPath:e},r,n,s){if(!s){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return (0, Y._)`${r}`}return (0, Y._)`${t}${e}${(0, Y.getProperty)(n)}`}V.schemaRefOrVal=wd;function kd(t){return ba(decodeURIComponent(t))}V.unescapeFragment=kd;function _d(t){return encodeURIComponent(as(t))}V.escapeFragment=_d;function as(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}V.escapeJsonPointer=as;function ba(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}V.unescapeJsonPointer=ba;function $d(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t);}V.eachItem=$d;function ha({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return (s,o,a,i)=>{let u=a===void 0?o:a instanceof Y.Name?(o instanceof Y.Name?t(s,o,a):e(s,o,a),a):o instanceof Y.Name?(e(s,a,o),o):r(o,a);return i===Y.Name&&!(u instanceof Y.Name)?n(s,u):u}}V.mergeEvaluated={props:ha({mergeNames:(t,e,r)=>t.if((0, Y._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0, Y._)`${e} === true`,()=>t.assign(r,true),()=>t.assign(r,(0, Y._)`${r} || {}`).code((0, Y._)`Object.assign(${r}, ${e})`));}),mergeToName:(t,e,r)=>t.if((0, Y._)`${r} !== true`,()=>{e===true?t.assign(r,true):(t.assign(r,(0, Y._)`${r} || {}`),is(t,r,e));}),mergeValues:(t,e)=>t===true?true:{...t,...e},resultToName:Sa}),items:ha({mergeNames:(t,e,r)=>t.if((0, Y._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0, Y._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0, Y._)`${r} !== true`,()=>t.assign(r,e===true?true:(0, Y._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===true?true:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function Sa(t,e){if(e===true)return t.var("props",true);let r=t.var("props",(0, Y._)`{}`);return e!==void 0&&is(t,r,e),r}V.evaluatedPropsToName=Sa;function is(t,e,r){Object.keys(r).forEach(n=>t.assign((0, Y._)`${e}${(0, Y.getProperty)(n)}`,true));}V.setEvaluated=is;var ga={};function Rd(t,e){return t.scopeValue("func",{ref:e,code:ga[e.code]||(ga[e.code]=new yd._Code(e.code))})}V.useFunc=Rd;var os;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str";})(os||(V.Type=os={}));function Cd(t,e,r){if(t instanceof Y.Name){let n=e===os.Num;return r?n?(0, Y._)`"[" + ${t} + "]"`:(0, Y._)`"['" + ${t} + "']"`:n?(0, Y._)`"/" + ${t}`:(0, Y._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0, Y.getProperty)(t).toString():"/"+as(t)}V.getErrorPath=Cd;function wa(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===true)throw new Error(e);t.self.logger.warn(e);}}V.checkStrictMode=wa;});var Ke=$(us=>{Object.defineProperty(us,"__esModule",{value:true});var fe=L(),Ed={data:new fe.Name("data"),valCxt:new fe.Name("valCxt"),instancePath:new fe.Name("instancePath"),parentData:new fe.Name("parentData"),parentDataProperty:new fe.Name("parentDataProperty"),rootData:new fe.Name("rootData"),dynamicAnchors:new fe.Name("dynamicAnchors"),vErrors:new fe.Name("vErrors"),errors:new fe.Name("errors"),this:new fe.Name("this"),self:new fe.Name("self"),scope:new fe.Name("scope"),json:new fe.Name("json"),jsonPos:new fe.Name("jsonPos"),jsonLen:new fe.Name("jsonLen"),jsonPart:new fe.Name("jsonPart")};us.default=Ed;});var nr=$(pe=>{Object.defineProperty(pe,"__esModule",{value:true});pe.extendErrors=pe.resetErrorsCount=pe.reportExtraError=pe.reportError=pe.keyword$DataError=pe.keywordError=void 0;var U=L(),Ur=K(),ge=Ke();pe.keywordError={message:({keyword:t})=>(0, U.str)`must pass "${t}" keyword validation`};pe.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0, U.str)`"${t}" keyword must be ${e} ($data)`:(0, U.str)`"${t}" keyword is invalid ($data)`};function xd(t,e=pe.keywordError,r,n){let{it:s}=t,{gen:o,compositeRule:a,allErrors:i}=s,u=$a(t,e,r);n??(a||i)?ka(o,u):_a(s,(0, U._)`[${u}]`);}pe.reportError=xd;function Td(t,e=pe.keywordError,r){let{it:n}=t,{gen:s,compositeRule:o,allErrors:a}=n,i=$a(t,e,r);ka(s,i),o||a||_a(n,ge.default.vErrors);}pe.reportExtraError=Td;function Ad(t,e){t.assign(ge.default.errors,e),t.if((0, U._)`${ge.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0, U._)`${ge.default.vErrors}.length`,e),()=>t.assign(ge.default.vErrors,null)));}pe.resetErrorsCount=Ad;function Id({gen:t,keyword:e,schemaValue:r,data:n,errsCount:s,it:o}){if(s===void 0)throw new Error("ajv implementation error");let a=t.name("err");t.forRange("i",s,ge.default.errors,i=>{t.const(a,(0, U._)`${ge.default.vErrors}[${i}]`),t.if((0, U._)`${a}.instancePath === undefined`,()=>t.assign((0, U._)`${a}.instancePath`,(0, U.strConcat)(ge.default.instancePath,o.errorPath))),t.assign((0, U._)`${a}.schemaPath`,(0, U.str)`${o.errSchemaPath}/${e}`),o.opts.verbose&&(t.assign((0, U._)`${a}.schema`,r),t.assign((0, U._)`${a}.data`,n));});}pe.extendErrors=Id;function ka(t,e){let r=t.const("err",e);t.if((0, U._)`${ge.default.vErrors} === null`,()=>t.assign(ge.default.vErrors,(0, U._)`[${r}]`),(0, U._)`${ge.default.vErrors}.push(${r})`),t.code((0, U._)`${ge.default.errors}++`);}function _a(t,e){let{gen:r,validateName:n,schemaEnv:s}=t;s.$async?r.throw((0, U._)`new ${t.ValidationError}(${e})`):(r.assign((0, U._)`${n}.errors`,e),r.return(false));}var ht={keyword:new U.Name("keyword"),schemaPath:new U.Name("schemaPath"),params:new U.Name("params"),propertyName:new U.Name("propertyName"),message:new U.Name("message"),schema:new U.Name("schema"),parentSchema:new U.Name("parentSchema")};function $a(t,e,r){let{createErrors:n}=t.it;return n===false?(0, U._)`{}`:Pd(t,e,r)}function Pd(t,e,r={}){let{gen:n,it:s}=t,o=[Od(s,r),jd(t,r)];return Nd(t,e,o),n.object(...o)}function Od({errorPath:t},{instancePath:e}){let r=e?(0, U.str)`${t}${(0, Ur.getErrorPath)(e,Ur.Type.Str)}`:t;return [ge.default.instancePath,(0, U.strConcat)(ge.default.instancePath,r)]}function jd({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let s=n?e:(0, U.str)`${e}/${t}`;return r&&(s=(0, U.str)`${s}${(0, Ur.getErrorPath)(r,Ur.Type.Str)}`),[ht.schemaPath,s]}function Nd(t,{params:e,message:r},n){let{keyword:s,data:o,schemaValue:a,it:i}=t,{opts:u,propertyName:c,topSchemaRef:d,schemaPath:f}=i;n.push([ht.keyword,s],[ht.params,typeof e=="function"?e(t):e||(0, U._)`{}`]),u.messages&&n.push([ht.message,typeof r=="function"?r(t):r]),u.verbose&&n.push([ht.schema,a],[ht.parentSchema,(0, U._)`${d}${f}`],[ge.default.data,o]),c&&n.push([ht.propertyName,c]);}});var Ca=$(xt=>{Object.defineProperty(xt,"__esModule",{value:true});xt.boolOrEmptySchema=xt.topBoolOrEmptySchema=void 0;var qd=nr(),Dd=L(),Fd=Ke(),Md={message:"boolean schema is false"};function Ld(t){let{gen:e,schema:r,validateName:n}=t;r===false?Ra(t,false):typeof r=="object"&&r.$async===true?e.return(Fd.default.data):(e.assign((0, Dd._)`${n}.errors`,null),e.return(true));}xt.topBoolOrEmptySchema=Ld;function Vd(t,e){let{gen:r,schema:n}=t;n===false?(r.var(e,false),Ra(t)):r.var(e,true);}xt.boolOrEmptySchema=Vd;function Ra(t,e){let{gen:r,data:n}=t,s={gen:r,keyword:"false schema",data:n,schema:false,schemaCode:false,schemaValue:false,params:{},it:t};(0, qd.reportError)(s,Md,void 0,e);}});var cs=$(Tt=>{Object.defineProperty(Tt,"__esModule",{value:true});Tt.getRules=Tt.isJSONType=void 0;var Bd=["string","number","integer","boolean","null","object","array"],Gd=new Set(Bd);function Kd(t){return typeof t=="string"&&Gd.has(t)}Tt.isJSONType=Kd;function Ud(){let t={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return {types:{...t,integer:true,boolean:true,null:true},rules:[{rules:[]},t.number,t.string,t.array,t.object],post:{rules:[]},all:{},keywords:{}}}Tt.getRules=Ud;});var ds=$(Xe=>{Object.defineProperty(Xe,"__esModule",{value:true});Xe.shouldUseRule=Xe.shouldUseGroup=Xe.schemaHasRulesForType=void 0;function Jd({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==true&&Ea(t,n)}Xe.schemaHasRulesForType=Jd;function Ea(t,e){return e.rules.some(r=>xa(t,r))}Xe.shouldUseGroup=Ea;function xa(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(n=>t[n]!==void 0))}Xe.shouldUseRule=xa;});var sr=$(me=>{Object.defineProperty(me,"__esModule",{value:true});me.reportTypeError=me.checkDataTypes=me.checkDataType=me.coerceAndCheckDataType=me.getJSONTypes=me.getSchemaTypes=me.DataType=void 0;var Hd=cs(),zd=ds(),Wd=nr(),N=L(),Ta=K(),At;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong";})(At||(me.DataType=At={}));function Yd(t){let e=Aa(t.type);if(e.includes("null")){if(t.nullable===false)throw new Error("type: null contradicts nullable: false")}else {if(!e.length&&t.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');t.nullable===true&&e.push("null");}return e}me.getSchemaTypes=Yd;function Aa(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(Hd.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}me.getJSONTypes=Aa;function Xd(t,e){let{gen:r,data:n,opts:s}=t,o=Qd(e,s.coerceTypes),a=e.length>0&&!(o.length===0&&e.length===1&&(0, zd.schemaHasRulesForType)(t,e[0]));if(a){let i=fs(e,n,s.strictNumbers,At.Wrong);r.if(i,()=>{o.length?Zd(t,e,o):ps(t);});}return a}me.coerceAndCheckDataType=Xd;var Ia=new Set(["string","number","integer","boolean","null"]);function Qd(t,e){return e?t.filter(r=>Ia.has(r)||e==="array"&&r==="array"):[]}function Zd(t,e,r){let{gen:n,data:s,opts:o}=t,a=n.let("dataType",(0, N._)`typeof ${s}`),i=n.let("coerced",(0, N._)`undefined`);o.coerceTypes==="array"&&n.if((0, N._)`${a} == 'object' && Array.isArray(${s}) && ${s}.length == 1`,()=>n.assign(s,(0, N._)`${s}[0]`).assign(a,(0, N._)`typeof ${s}`).if(fs(e,s,o.strictNumbers),()=>n.assign(i,s))),n.if((0, N._)`${i} !== undefined`);for(let c of r)(Ia.has(c)||c==="array"&&o.coerceTypes==="array")&&u(c);n.else(),ps(t),n.endIf(),n.if((0, N._)`${i} !== undefined`,()=>{n.assign(s,i),el(t,i);});function u(c){switch(c){case "string":n.elseIf((0, N._)`${a} == "number" || ${a} == "boolean"`).assign(i,(0, N._)`"" + ${s}`).elseIf((0, N._)`${s} === null`).assign(i,(0, N._)`""`);return;case "number":n.elseIf((0, N._)`${a} == "boolean" || ${s} === null
4
- || (${a} == "string" && ${s} && ${s} == +${s})`).assign(i,(0, N._)`+${s}`);return;case "integer":n.elseIf((0, N._)`${a} === "boolean" || ${s} === null
5
- || (${a} === "string" && ${s} && ${s} == +${s} && !(${s} % 1))`).assign(i,(0, N._)`+${s}`);return;case "boolean":n.elseIf((0, N._)`${s} === "false" || ${s} === 0 || ${s} === null`).assign(i,false).elseIf((0, N._)`${s} === "true" || ${s} === 1`).assign(i,true);return;case "null":n.elseIf((0, N._)`${s} === "" || ${s} === 0 || ${s} === false`),n.assign(i,null);return;case "array":n.elseIf((0, N._)`${a} === "string" || ${a} === "number"
6
- || ${a} === "boolean" || ${s} === null`).assign(i,(0, N._)`[${s}]`);}}}function el({gen:t,parentData:e,parentDataProperty:r},n){t.if((0, N._)`${e} !== undefined`,()=>t.assign((0, N._)`${e}[${r}]`,n));}function ls(t,e,r,n=At.Correct){let s=n===At.Correct?N.operators.EQ:N.operators.NEQ,o;switch(t){case "null":return (0, N._)`${e} ${s} null`;case "array":o=(0, N._)`Array.isArray(${e})`;break;case "object":o=(0, N._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case "integer":o=a((0, N._)`!(${e} % 1) && !isNaN(${e})`);break;case "number":o=a();break;default:return (0, N._)`typeof ${e} ${s} ${t}`}return n===At.Correct?o:(0, N.not)(o);function a(i=N.nil){return (0, N.and)((0, N._)`typeof ${e} == "number"`,i,r?(0, N._)`isFinite(${e})`:N.nil)}}me.checkDataType=ls;function fs(t,e,r,n){if(t.length===1)return ls(t[0],e,r,n);let s,o=(0, Ta.toHash)(t);if(o.array&&o.object){let a=(0, N._)`typeof ${e} != "object"`;s=o.null?a:(0, N._)`!${e} || ${a}`,delete o.null,delete o.array,delete o.object;}else s=N.nil;o.number&&delete o.integer;for(let a in o)s=(0, N.and)(s,ls(a,e,r,n));return s}me.checkDataTypes=fs;var tl={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0, N._)`{type: ${t}}`:(0, N._)`{type: ${e}}`};function ps(t){let e=rl(t);(0, Wd.reportError)(e,tl);}me.reportTypeError=ps;function rl(t){let{gen:e,data:r,schema:n}=t,s=(0, Ta.schemaRefOrVal)(t,n,"type");return {gen:e,keyword:"type",data:r,schema:n.type,schemaCode:s,schemaValue:s,parentSchema:n,params:{},it:t}}});var Oa=$(Jr=>{Object.defineProperty(Jr,"__esModule",{value:true});Jr.assignDefaults=void 0;var It=L(),nl=K();function sl(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let s in r)Pa(t,s,r[s].default);else e==="array"&&Array.isArray(n)&&n.forEach((s,o)=>Pa(t,o,s.default));}Jr.assignDefaults=sl;function Pa(t,e,r){let{gen:n,compositeRule:s,data:o,opts:a}=t;if(r===void 0)return;let i=(0, It._)`${o}${(0, It.getProperty)(e)}`;if(s){(0, nl.checkStrictMode)(t,`default is ignored for: ${i}`);return}let u=(0, It._)`${i} === undefined`;a.useDefaults==="empty"&&(u=(0, It._)`${u} || ${i} === null || ${i} === ""`),n.if(u,(0, It._)`${i} = ${(0, It.stringify)(r)}`);}});var Te=$(W=>{Object.defineProperty(W,"__esModule",{value:true});W.validateUnion=W.validateArray=W.usePattern=W.callValidateCode=W.schemaProperties=W.allSchemaProperties=W.noPropertyInData=W.propertyInData=W.isOwnProperty=W.hasPropFunc=W.reportMissingProp=W.checkMissingProp=W.checkReportMissingProp=void 0;var Q=L(),ms=K(),Qe=Ke(),ol=K();function al(t,e){let{gen:r,data:n,it:s}=t;r.if(gs(r,n,e,s.opts.ownProperties),()=>{t.setParams({missingProperty:(0, Q._)`${e}`},true),t.error();});}W.checkReportMissingProp=al;function il({gen:t,data:e,it:{opts:r}},n,s){return (0, Q.or)(...n.map(o=>(0, Q.and)(gs(t,e,o,r.ownProperties),(0, Q._)`${s} = ${o}`)))}W.checkMissingProp=il;function ul(t,e){t.setParams({missingProperty:e},true),t.error();}W.reportMissingProp=ul;function ja(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0, Q._)`Object.prototype.hasOwnProperty`})}W.hasPropFunc=ja;function hs(t,e,r){return (0, Q._)`${ja(t)}.call(${e}, ${r})`}W.isOwnProperty=hs;function cl(t,e,r,n){let s=(0, Q._)`${e}${(0, Q.getProperty)(r)} !== undefined`;return n?(0, Q._)`${s} && ${hs(t,e,r)}`:s}W.propertyInData=cl;function gs(t,e,r,n){let s=(0, Q._)`${e}${(0, Q.getProperty)(r)} === undefined`;return n?(0, Q.or)(s,(0, Q.not)(hs(t,e,r))):s}W.noPropertyInData=gs;function Na(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}W.allSchemaProperties=Na;function dl(t,e){return Na(e).filter(r=>!(0, ms.alwaysValidSchema)(t,e[r]))}W.schemaProperties=dl;function ll({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:s,errorPath:o},it:a},i,u,c){let d=c?(0, Q._)`${t}, ${e}, ${n}${s}`:e,f=[[Qe.default.instancePath,(0, Q.strConcat)(Qe.default.instancePath,o)],[Qe.default.parentData,a.parentData],[Qe.default.parentDataProperty,a.parentDataProperty],[Qe.default.rootData,Qe.default.rootData]];a.opts.dynamicRef&&f.push([Qe.default.dynamicAnchors,Qe.default.dynamicAnchors]);let b=(0, Q._)`${d}, ${r.object(...f)}`;return u!==Q.nil?(0, Q._)`${i}.call(${u}, ${b})`:(0, Q._)`${i}(${b})`}W.callValidateCode=ll;var fl=(0, Q._)`new RegExp`;function pl({gen:t,it:{opts:e}},r){let n=e.unicodeRegExp?"u":"",{regExp:s}=e.code,o=s(r,n);return t.scopeValue("pattern",{key:o.toString(),ref:o,code:(0, Q._)`${s.code==="new RegExp"?fl:(0, ol.useFunc)(t,s)}(${r}, ${n})`})}W.usePattern=pl;function ml(t){let{gen:e,data:r,keyword:n,it:s}=t,o=e.name("valid");if(s.allErrors){let i=e.let("valid",true);return a(()=>e.assign(i,false)),i}return e.var(o,true),a(()=>e.break()),o;function a(i){let u=e.const("len",(0, Q._)`${r}.length`);e.forRange("i",0,u,c=>{t.subschema({keyword:n,dataProp:c,dataPropType:ms.Type.Num},o),e.if((0, Q.not)(o),i);});}}W.validateArray=ml;function hl(t){let{gen:e,schema:r,keyword:n,it:s}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(u=>(0, ms.alwaysValidSchema)(s,u))&&!s.opts.unevaluated)return;let a=e.let("valid",false),i=e.name("_valid");e.block(()=>r.forEach((u,c)=>{let d=t.subschema({keyword:n,schemaProp:c,compositeRule:true},i);e.assign(a,(0, Q._)`${a} || ${i}`),t.mergeValidEvaluated(d,i)||e.if((0, Q.not)(a));})),t.result(a,()=>t.reset(),()=>t.error(true));}W.validateUnion=hl;});var Fa=$(De=>{Object.defineProperty(De,"__esModule",{value:true});De.validateKeywordUsage=De.validSchemaType=De.funcKeywordCode=De.macroKeywordCode=void 0;var ye=L(),gt=Ke(),gl=Te(),yl=nr();function vl(t,e){let{gen:r,keyword:n,schema:s,parentSchema:o,it:a}=t,i=e.macro.call(a.self,s,o,a),u=Da(r,n,i);a.opts.validateSchema!==false&&a.self.validateSchema(i,true);let c=r.name("valid");t.subschema({schema:i,schemaPath:ye.nil,errSchemaPath:`${a.errSchemaPath}/${n}`,topSchemaRef:u,compositeRule:true},c),t.pass(c,()=>t.error(true));}De.macroKeywordCode=vl;function bl(t,e){var r;let{gen:n,keyword:s,schema:o,parentSchema:a,$data:i,it:u}=t;wl(u,e);let c=!i&&e.compile?e.compile.call(u.self,o,a,u):e.validate,d=Da(n,s,c),f=n.let("valid");t.block$data(f,b),t.ok((r=e.valid)!==null&&r!==void 0?r:f);function b(){if(e.errors===false)l(),e.modifying&&qa(t),m(()=>t.error());else {let y=e.async?h():p();e.modifying&&qa(t),m(()=>Sl(t,y));}}function h(){let y=n.let("ruleErrs",null);return n.try(()=>l((0, ye._)`await `),g=>n.assign(f,false).if((0, ye._)`${g} instanceof ${u.ValidationError}`,()=>n.assign(y,(0, ye._)`${g}.errors`),()=>n.throw(g))),y}function p(){let y=(0, ye._)`${d}.errors`;return n.assign(y,null),l(ye.nil),y}function l(y=e.async?(0, ye._)`await `:ye.nil){let g=u.opts.passContext?gt.default.this:gt.default.self,S=!("compile"in e&&!i||e.schema===false);n.assign(f,(0, ye._)`${y}${(0, gl.callValidateCode)(t,d,g,S)}`,e.modifying);}function m(y){var g;n.if((0, ye.not)((g=e.valid)!==null&&g!==void 0?g:f),y);}}De.funcKeywordCode=bl;function qa(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0, ye._)`${n.parentData}[${n.parentDataProperty}]`));}function Sl(t,e){let{gen:r}=t;r.if((0, ye._)`Array.isArray(${e})`,()=>{r.assign(gt.default.vErrors,(0, ye._)`${gt.default.vErrors} === null ? ${e} : ${gt.default.vErrors}.concat(${e})`).assign(gt.default.errors,(0, ye._)`${gt.default.vErrors}.length`),(0, yl.extendErrors)(t);},()=>t.error());}function wl({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function Da(t,e,r){if(r===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0, ye.stringify)(r)})}function kl(t,e,r=false){return !e.length||e.some(n=>n==="array"?Array.isArray(t):n==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==n||r&&typeof t>"u")}De.validSchemaType=kl;function _l({schema:t,opts:e,self:r,errSchemaPath:n},s,o){if(Array.isArray(s.keyword)?!s.keyword.includes(o):s.keyword!==o)throw new Error("ajv implementation error");let a=s.dependencies;if(a?.some(i=>!Object.prototype.hasOwnProperty.call(t,i)))throw new Error(`parent schema must have dependencies of ${o}: ${a.join(",")}`);if(s.validateSchema&&!s.validateSchema(t[o])){let u=`keyword "${o}" value is invalid at path "${n}": `+r.errorsText(s.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(u);else throw new Error(u)}}De.validateKeywordUsage=_l;});var La=$(Ze=>{Object.defineProperty(Ze,"__esModule",{value:true});Ze.extendSubschemaMode=Ze.extendSubschemaData=Ze.getSubschema=void 0;var Fe=L(),Ma=K();function $l(t,{keyword:e,schemaProp:r,schema:n,schemaPath:s,errSchemaPath:o,topSchemaRef:a}){if(e!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let i=t.schema[e];return r===void 0?{schema:i,schemaPath:(0, Fe._)`${t.schemaPath}${(0, Fe.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:i[r],schemaPath:(0, Fe._)`${t.schemaPath}${(0, Fe.getProperty)(e)}${(0, Fe.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0, Ma.escapeFragment)(r)}`}}if(n!==void 0){if(s===void 0||o===void 0||a===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return {schema:n,schemaPath:s,topSchemaRef:a,errSchemaPath:o}}throw new Error('either "keyword" or "schema" must be passed')}Ze.getSubschema=$l;function Rl(t,e,{dataProp:r,dataPropType:n,data:s,dataTypes:o,propertyName:a}){if(s!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:i}=e;if(r!==void 0){let{errorPath:c,dataPathArr:d,opts:f}=e,b=i.let("data",(0, Fe._)`${e.data}${(0, Fe.getProperty)(r)}`,true);u(b),t.errorPath=(0, Fe.str)`${c}${(0, Ma.getErrorPath)(r,n,f.jsPropertySyntax)}`,t.parentDataProperty=(0, Fe._)`${r}`,t.dataPathArr=[...d,t.parentDataProperty];}if(s!==void 0){let c=s instanceof Fe.Name?s:i.let("data",s,true);u(c),a!==void 0&&(t.propertyName=a);}o&&(t.dataTypes=o);function u(c){t.data=c,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,c];}}Ze.extendSubschemaData=Rl;function Cl(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:n,createErrors:s,allErrors:o}){n!==void 0&&(t.compositeRule=n),s!==void 0&&(t.createErrors=s),o!==void 0&&(t.allErrors=o),t.jtdDiscriminator=e,t.jtdMetadata=r;}Ze.extendSubschemaMode=Cl;});var ys=$((ay,Va)=>{Va.exports=function t(e,r){if(e===r)return true;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return false;var n,s,o;if(Array.isArray(e)){if(n=e.length,n!=r.length)return false;for(s=n;s--!==0;)if(!t(e[s],r[s]))return false;return true}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(o=Object.keys(e),n=o.length,n!==Object.keys(r).length)return false;for(s=n;s--!==0;)if(!Object.prototype.hasOwnProperty.call(r,o[s]))return false;for(s=n;s--!==0;){var a=o[s];if(!t(e[a],r[a]))return false}return true}return e!==e&&r!==r};});var Ga=$((iy,Ba)=>{var et=Ba.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var n=typeof r=="function"?r:r.pre||function(){},s=r.post||function(){};Hr(e,n,s,t,"",t);};et.keywords={additionalItems:true,items:true,contains:true,additionalProperties:true,propertyNames:true,not:true,if:true,then:true,else:true};et.arrayKeywords={items:true,allOf:true,anyOf:true,oneOf:true};et.propsKeywords={$defs:true,definitions:true,properties:true,patternProperties:true,dependencies:true};et.skipKeywords={default:true,enum:true,const:true,required:true,maximum:true,minimum:true,exclusiveMaximum:true,exclusiveMinimum:true,multipleOf:true,maxLength:true,minLength:true,pattern:true,format:true,maxItems:true,minItems:true,uniqueItems:true,maxProperties:true,minProperties:true};function Hr(t,e,r,n,s,o,a,i,u,c){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,s,o,a,i,u,c);for(var d in n){var f=n[d];if(Array.isArray(f)){if(d in et.arrayKeywords)for(var b=0;b<f.length;b++)Hr(t,e,r,f[b],s+"/"+d+"/"+b,o,s,d,n,b);}else if(d in et.propsKeywords){if(f&&typeof f=="object")for(var h in f)Hr(t,e,r,f[h],s+"/"+d+"/"+El(h),o,s,d,n,h);}else (d in et.keywords||t.allKeys&&!(d in et.skipKeywords))&&Hr(t,e,r,f,s+"/"+d,o,s,d,n);}r(n,s,o,a,i,u,c);}}function El(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var or=$(ke=>{Object.defineProperty(ke,"__esModule",{value:true});ke.getSchemaRefs=ke.resolveUrl=ke.normalizeId=ke._getFullPath=ke.getFullPath=ke.inlineRef=void 0;var xl=K(),Tl=ys(),Al=Ga(),Il=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function Pl(t,e=true){return typeof t=="boolean"?true:e===true?!vs(t):e?Ka(t)<=e:false}ke.inlineRef=Pl;var Ol=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function vs(t){for(let e in t){if(Ol.has(e))return true;let r=t[e];if(Array.isArray(r)&&r.some(vs)||typeof r=="object"&&vs(r))return true}return false}function Ka(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!Il.has(r)&&(typeof t[r]=="object"&&(0, xl.eachItem)(t[r],n=>e+=Ka(n)),e===1/0))return 1/0}return e}function Ua(t,e="",r){r!==false&&(e=Pt(e));let n=t.parse(e);return Ja(t,n)}ke.getFullPath=Ua;function Ja(t,e){return t.serialize(e).split("#")[0]+"#"}ke._getFullPath=Ja;var jl=/#\/?$/;function Pt(t){return t?t.replace(jl,""):""}ke.normalizeId=Pt;function Nl(t,e,r){return r=Pt(r),t.resolve(e,r)}ke.resolveUrl=Nl;var ql=/^[a-z_][-a-z0-9._]*$/i;function Dl(t,e){if(typeof t=="boolean")return {};let{schemaId:r,uriResolver:n}=this.opts,s=Pt(t[r]||e),o={"":s},a=Ua(n,s,false),i={},u=new Set;return Al(t,{allKeys:true},(f,b,h,p)=>{if(p===void 0)return;let l=a+b,m=o[p];typeof f[r]=="string"&&(m=y.call(this,f[r])),g.call(this,f.$anchor),g.call(this,f.$dynamicAnchor),o[b]=m;function y(S){let _=this.opts.uriResolver.resolve;if(S=Pt(m?_(m,S):S),u.has(S))throw d(S);u.add(S);let w=this.refs[S];return typeof w=="string"&&(w=this.refs[w]),typeof w=="object"?c(f,w.schema,S):S!==Pt(l)&&(S[0]==="#"?(c(f,i[S],S),i[S]=f):this.refs[S]=l),S}function g(S){if(typeof S=="string"){if(!ql.test(S))throw new Error(`invalid anchor "${S}"`);y.call(this,`#${S}`);}}}),i;function c(f,b,h){if(b!==void 0&&!Tl(f,b))throw d(h)}function d(f){return new Error(`reference "${f}" resolves to more than one schema`)}}ke.getSchemaRefs=Dl;});var ur=$(tt=>{Object.defineProperty(tt,"__esModule",{value:true});tt.getData=tt.KeywordCxt=tt.validateFunctionCode=void 0;var Xa=Ca(),Ha=sr(),Ss=ds(),zr=sr(),Fl=Oa(),ir=Fa(),bs=La(),E=L(),P=Ke(),Ml=or(),Ue=K(),ar=nr();function Ll(t){if(ei(t)&&(ti(t),Za(t))){Gl(t);return}Qa(t,()=>(0, Xa.topBoolOrEmptySchema)(t));}tt.validateFunctionCode=Ll;function Qa({gen:t,validateName:e,schema:r,schemaEnv:n,opts:s},o){s.code.es5?t.func(e,(0, E._)`${P.default.data}, ${P.default.valCxt}`,n.$async,()=>{t.code((0, E._)`"use strict"; ${za(r,s)}`),Bl(t,s),t.code(o);}):t.func(e,(0, E._)`${P.default.data}, ${Vl(s)}`,n.$async,()=>t.code(za(r,s)).code(o));}function Vl(t){return (0, E._)`{${P.default.instancePath}="", ${P.default.parentData}, ${P.default.parentDataProperty}, ${P.default.rootData}=${P.default.data}${t.dynamicRef?(0, E._)`, ${P.default.dynamicAnchors}={}`:E.nil}}={}`}function Bl(t,e){t.if(P.default.valCxt,()=>{t.var(P.default.instancePath,(0, E._)`${P.default.valCxt}.${P.default.instancePath}`),t.var(P.default.parentData,(0, E._)`${P.default.valCxt}.${P.default.parentData}`),t.var(P.default.parentDataProperty,(0, E._)`${P.default.valCxt}.${P.default.parentDataProperty}`),t.var(P.default.rootData,(0, E._)`${P.default.valCxt}.${P.default.rootData}`),e.dynamicRef&&t.var(P.default.dynamicAnchors,(0, E._)`${P.default.valCxt}.${P.default.dynamicAnchors}`);},()=>{t.var(P.default.instancePath,(0, E._)`""`),t.var(P.default.parentData,(0, E._)`undefined`),t.var(P.default.parentDataProperty,(0, E._)`undefined`),t.var(P.default.rootData,P.default.data),e.dynamicRef&&t.var(P.default.dynamicAnchors,(0, E._)`{}`);});}function Gl(t){let{schema:e,opts:r,gen:n}=t;Qa(t,()=>{r.$comment&&e.$comment&&ni(t),zl(t),n.let(P.default.vErrors,null),n.let(P.default.errors,0),r.unevaluated&&Kl(t),ri(t),Xl(t);});}function Kl(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0, E._)`${r}.evaluated`),e.if((0, E._)`${t.evaluated}.dynamicProps`,()=>e.assign((0, E._)`${t.evaluated}.props`,(0, E._)`undefined`)),e.if((0, E._)`${t.evaluated}.dynamicItems`,()=>e.assign((0, E._)`${t.evaluated}.items`,(0, E._)`undefined`));}function za(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0, E._)`/*# sourceURL=${r} */`:E.nil}function Ul(t,e){if(ei(t)&&(ti(t),Za(t))){Jl(t,e);return}(0, Xa.boolOrEmptySchema)(t,e);}function Za({schema:t,self:e}){if(typeof t=="boolean")return !t;for(let r in t)if(e.RULES.all[r])return true;return false}function ei(t){return typeof t.schema!="boolean"}function Jl(t,e){let{schema:r,gen:n,opts:s}=t;s.$comment&&r.$comment&&ni(t),Wl(t),Yl(t);let o=n.const("_errs",P.default.errors);ri(t,o),n.var(e,(0, E._)`${o} === ${P.default.errors}`);}function ti(t){(0, Ue.checkUnknownRules)(t),Hl(t);}function ri(t,e){if(t.opts.jtd)return Wa(t,[],false,e);let r=(0, Ha.getSchemaTypes)(t.schema),n=(0, Ha.coerceAndCheckDataType)(t,r);Wa(t,r,!n,e);}function Hl(t){let{schema:e,errSchemaPath:r,opts:n,self:s}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0, Ue.schemaHasRulesButRef)(e,s.RULES)&&s.logger.warn(`$ref: keywords ignored in schema at path "${r}"`);}function zl(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0, Ue.checkStrictMode)(t,"default is ignored in the schema root");}function Wl(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0, Ml.resolveUrl)(t.opts.uriResolver,t.baseId,e));}function Yl(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function ni({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:s}){let o=r.$comment;if(s.$comment===true)t.code((0, E._)`${P.default.self}.logger.log(${o})`);else if(typeof s.$comment=="function"){let a=(0, E.str)`${n}/$comment`,i=t.scopeValue("root",{ref:e.root});t.code((0, E._)`${P.default.self}.opts.$comment(${o}, ${a}, ${i}.schema)`);}}function Xl(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:s,opts:o}=t;r.$async?e.if((0, E._)`${P.default.errors} === 0`,()=>e.return(P.default.data),()=>e.throw((0, E._)`new ${s}(${P.default.vErrors})`)):(e.assign((0, E._)`${n}.errors`,P.default.vErrors),o.unevaluated&&Ql(t),e.return((0, E._)`${P.default.errors} === 0`));}function Ql({gen:t,evaluated:e,props:r,items:n}){r instanceof E.Name&&t.assign((0, E._)`${e}.props`,r),n instanceof E.Name&&t.assign((0, E._)`${e}.items`,n);}function Wa(t,e,r,n){let{gen:s,schema:o,data:a,allErrors:i,opts:u,self:c}=t,{RULES:d}=c;if(o.$ref&&(u.ignoreKeywordsWithRef||!(0, Ue.schemaHasRulesButRef)(o,d))){s.block(()=>oi(t,"$ref",d.all.$ref.definition));return}u.jtd||Zl(t,e),s.block(()=>{for(let b of d.rules)f(b);f(d.post);});function f(b){(0, Ss.shouldUseGroup)(o,b)&&(b.type?(s.if((0, zr.checkDataType)(b.type,a,u.strictNumbers)),Ya(t,b),e.length===1&&e[0]===b.type&&r&&(s.else(),(0, zr.reportTypeError)(t)),s.endIf()):Ya(t,b),i||s.if((0, E._)`${P.default.errors} === ${n||0}`));}}function Ya(t,e){let{gen:r,schema:n,opts:{useDefaults:s}}=t;s&&(0, Fl.assignDefaults)(t,e.type),r.block(()=>{for(let o of e.rules)(0, Ss.shouldUseRule)(n,o)&&oi(t,o.keyword,o.definition,e.type);});}function Zl(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(ef(t,e),t.opts.allowUnionTypes||tf(t,e),rf(t,t.dataTypes));}function ef(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{si(t.dataTypes,r)||ws(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`);}),sf(t,e);}}function tf(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&ws(t,"use allowUnionTypes to allow union type keyword");}function rf(t,e){let r=t.self.RULES.all;for(let n in r){let s=r[n];if(typeof s=="object"&&(0, Ss.shouldUseRule)(t.schema,s)){let{type:o}=s.definition;o.length&&!o.some(a=>nf(e,a))&&ws(t,`missing type "${o.join(",")}" for keyword "${n}"`);}}}function nf(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function si(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function sf(t,e){let r=[];for(let n of t.dataTypes)si(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r;}function ws(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0, Ue.checkStrictMode)(t,e,t.opts.strictTypes);}var Wr=class{constructor(e,r,n){if((0, ir.validateKeywordUsage)(e,r,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=r.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0, Ue.schemaRefOrVal)(e,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=r,this.$data)this.schemaCode=e.gen.const("vSchema",ai(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0, ir.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==false)&&(this.errsCount=e.gen.const("_errs",P.default.errors));}result(e,r,n){this.failResult((0, E.not)(e),r,n);}failResult(e,r,n){this.gen.if(e),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else();}pass(e,r){this.failResult((0, E.not)(e),void 0,r);}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(false);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else();}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:r}=this;this.fail((0, E._)`${r} !== undefined && (${(0, E.or)(this.invalid$data(),e)})`);}error(e,r,n){if(r){this.setParams(r),this._error(e,n),this.setParams({});return}this._error(e,n);}_error(e,r){(e?ar.reportExtraError:ar.reportError)(this,this.def.error,r);}$dataError(){(0, ar.reportError)(this,this.def.$dataError||ar.keyword$DataError);}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0, ar.resetErrorsCount)(this.gen,this.errsCount);}ok(e){this.allErrors||this.gen.if(e);}setParams(e,r){r?Object.assign(this.params,e):this.params=e;}block$data(e,r,n=E.nil){this.gen.block(()=>{this.check$data(e,n),r();});}check$data(e=E.nil,r=E.nil){if(!this.$data)return;let{gen:n,schemaCode:s,schemaType:o,def:a}=this;n.if((0, E.or)((0, E._)`${s} === undefined`,r)),e!==E.nil&&n.assign(e,true),(o.length||a.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==E.nil&&n.assign(e,false)),n.else();}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:s,it:o}=this;return (0, E.or)(a(),i());function a(){if(n.length){if(!(r instanceof E.Name))throw new Error("ajv implementation error");let u=Array.isArray(n)?n:[n];return (0, E._)`${(0, zr.checkDataTypes)(u,r,o.opts.strictNumbers,zr.DataType.Wrong)}`}return E.nil}function i(){if(s.validateSchema){let u=e.scopeValue("validate$data",{ref:s.validateSchema});return (0, E._)`!${u}(${r})`}return E.nil}}subschema(e,r){let n=(0, bs.getSubschema)(this.it,e);(0, bs.extendSubschemaData)(n,this.it,e),(0, bs.extendSubschemaMode)(n,e);let s={...this.it,...n,items:void 0,props:void 0};return Ul(s,r),s}mergeEvaluated(e,r){let{it:n,gen:s}=this;n.opts.unevaluated&&(n.props!==true&&e.props!==void 0&&(n.props=Ue.mergeEvaluated.props(s,e.props,n.props,r)),n.items!==true&&e.items!==void 0&&(n.items=Ue.mergeEvaluated.items(s,e.items,n.items,r)));}mergeValidEvaluated(e,r){let{it:n,gen:s}=this;if(n.opts.unevaluated&&(n.props!==true||n.items!==true))return s.if(r,()=>this.mergeEvaluated(e,E.Name)),true}};tt.KeywordCxt=Wr;function oi(t,e,r,n){let s=new Wr(t,r,e);"code"in r?r.code(s,n):s.$data&&r.validate?(0, ir.funcKeywordCode)(s,r):"macro"in r?(0, ir.macroKeywordCode)(s,r):(r.compile||r.validate)&&(0, ir.funcKeywordCode)(s,r);}var of=/^\/(?:[^~]|~0|~1)*$/,af=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function ai(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let s,o;if(t==="")return P.default.rootData;if(t[0]==="/"){if(!of.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);s=t,o=P.default.rootData;}else {let c=af.exec(t);if(!c)throw new Error(`Invalid JSON-pointer: ${t}`);let d=+c[1];if(s=c[2],s==="#"){if(d>=e)throw new Error(u("property/index",d));return n[e-d]}if(d>e)throw new Error(u("data",d));if(o=r[e-d],!s)return o}let a=o,i=s.split("/");for(let c of i)c&&(o=(0, E._)`${o}${(0, E.getProperty)((0, Ue.unescapeJsonPointer)(c))}`,a=(0, E._)`${a} && ${o}`);return a;function u(c,d){return `Cannot access ${c} ${d} levels up, current level is ${e}`}}tt.getData=ai;});var Yr=$(_s=>{Object.defineProperty(_s,"__esModule",{value:true});var ks=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=true;}};_s.default=ks;});var cr=$(Cs=>{Object.defineProperty(Cs,"__esModule",{value:true});var $s=or(),Rs=class extends Error{constructor(e,r,n,s){super(s||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0, $s.resolveUrl)(e,r,n),this.missingSchema=(0, $s.normalizeId)((0, $s.getFullPath)(e,this.missingRef));}};Cs.default=Rs;});var Qr=$(Ae=>{Object.defineProperty(Ae,"__esModule",{value:true});Ae.resolveSchema=Ae.getCompilingSchema=Ae.resolveRef=Ae.compileSchema=Ae.SchemaEnv=void 0;var Oe=L(),uf=Yr(),yt=Ke(),je=or(),ii=K(),cf=ur(),Ot=class{constructor(e){var r;this.refs={},this.dynamicAnchors={};let n;typeof e.schema=="object"&&(n=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(r=e.baseId)!==null&&r!==void 0?r:(0, je.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={};}};Ae.SchemaEnv=Ot;function xs(t){let e=ui.call(this,t);if(e)return e;let r=(0, je.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:s}=this.opts.code,{ownProperties:o}=this.opts,a=new Oe.CodeGen(this.scope,{es5:n,lines:s,ownProperties:o}),i;t.$async&&(i=a.scopeValue("Error",{ref:uf.default,code:(0, Oe._)`require("ajv/dist/runtime/validation_error").default`}));let u=a.scopeName("validate");t.validateName=u;let c={gen:a,allErrors:this.opts.allErrors,data:yt.default.data,parentData:yt.default.parentData,parentDataProperty:yt.default.parentDataProperty,dataNames:[yt.default.data],dataPathArr:[Oe.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:a.scopeValue("schema",this.opts.code.source===true?{ref:t.schema,code:(0, Oe.stringify)(t.schema)}:{ref:t.schema}),validateName:u,ValidationError:i,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:Oe.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0, Oe._)`""`,opts:this.opts,self:this},d;try{this._compilations.add(t),(0,cf.validateFunctionCode)(c),a.optimize(this.opts.code.optimize);let f=a.toString();d=`${a.scopeRefs(yt.default.scope)}return ${f}`,this.opts.code.process&&(d=this.opts.code.process(d,t));let h=new Function(`${yt.default.self}`,`${yt.default.scope}`,d)(this,this.scope.get());if(this.scope.value(u,{ref:h}),h.errors=null,h.schema=t.schema,h.schemaEnv=t,t.$async&&(h.$async=!0),this.opts.code.source===!0&&(h.source={validateName:u,validateCode:f,scopeValues:a._values}),this.opts.unevaluated){let{props:p,items:l}=c;h.evaluated={props:p instanceof Oe.Name?void 0:p,items:l instanceof Oe.Name?void 0:l,dynamicProps:p instanceof Oe.Name,dynamicItems:l instanceof Oe.Name},h.source&&(h.source.evaluated=(0,Oe.stringify)(h.evaluated));}return t.validate=h,t}catch(f){throw delete t.validate,delete t.validateName,d&&this.logger.error("Error compiling schema, function code:",d),f}finally{this._compilations.delete(t);}}Ae.compileSchema=xs;function df(t,e,r){var n;r=(0, je.resolveUrl)(this.opts.uriResolver,e,r);let s=t.refs[r];if(s)return s;let o=pf.call(this,t,r);if(o===void 0){let a=(n=t.localRefs)===null||n===void 0?void 0:n[r],{schemaId:i}=this.opts;a&&(o=new Ot({schema:a,schemaId:i,root:t,baseId:e}));}if(o!==void 0)return t.refs[r]=lf.call(this,o)}Ae.resolveRef=df;function lf(t){return (0, je.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:xs.call(this,t)}function ui(t){for(let e of this._compilations)if(ff(e,t))return e}Ae.getCompilingSchema=ui;function ff(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function pf(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||Xr.call(this,t,e)}function Xr(t,e){let r=this.opts.uriResolver.parse(e),n=(0, je._getFullPath)(this.opts.uriResolver,r),s=(0, je.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===s)return Es.call(this,r,t);let o=(0, je.normalizeId)(n),a=this.refs[o]||this.schemas[o];if(typeof a=="string"){let i=Xr.call(this,t,a);return typeof i?.schema!="object"?void 0:Es.call(this,r,i)}if(typeof a?.schema=="object"){if(a.validate||xs.call(this,a),o===(0, je.normalizeId)(e)){let{schema:i}=a,{schemaId:u}=this.opts,c=i[u];return c&&(s=(0, je.resolveUrl)(this.opts.uriResolver,s,c)),new Ot({schema:i,schemaId:u,root:t,baseId:s})}return Es.call(this,r,a)}}Ae.resolveSchema=Xr;var mf=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Es(t,{baseId:e,schema:r,root:n}){var s;if(((s=t.fragment)===null||s===void 0?void 0:s[0])!=="/")return;for(let i of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let u=r[(0, ii.unescapeFragment)(i)];if(u===void 0)return;r=u;let c=typeof r=="object"&&r[this.opts.schemaId];!mf.has(i)&&c&&(e=(0, je.resolveUrl)(this.opts.uriResolver,e,c));}let o;if(typeof r!="boolean"&&r.$ref&&!(0, ii.schemaHasRulesButRef)(r,this.RULES)){let i=(0, je.resolveUrl)(this.opts.uriResolver,e,r.$ref);o=Xr.call(this,n,i);}let{schemaId:a}=this.opts;if(o=o||new Ot({schema:r,schemaId:a,root:n,baseId:e}),o.schema!==o.root.schema)return o}});var ci=$((py,hf)=>{hf.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:false};});var As=$((my,pi)=>{var gf=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),li=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function Ts(t){let e="",r=0,n=0;for(n=0;n<t.length;n++)if(r=t[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return "";e+=t[n];break}for(n+=1;n<t.length;n++){if(r=t[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return "";e+=t[n];}return e}var yf=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function di(t){return t.length=0,true}function vf(t,e,r){if(t.length){let n=Ts(t);if(n!=="")e.push(n);else return r.error=true,false;t.length=0;}return true}function bf(t){let e=0,r={error:false,address:"",zone:""},n=[],s=[],o=false,a=false,i=vf;for(let u=0;u<t.length;u++){let c=t[u];if(!(c==="["||c==="]"))if(c===":"){if(o===true&&(a=true),!i(s,n,r))break;if(++e>7){r.error=true;break}u>0&&t[u-1]===":"&&(o=true),n.push(":");continue}else if(c==="%"){if(!i(s,n,r))break;i=di;}else {s.push(c);continue}}return s.length&&(i===di?r.zone=s.join(""):a?n.push(s.join("")):n.push(Ts(s))),r.address=n.join(""),r}function fi(t){if(Sf(t,":")<2)return {host:t,isIPV6:false};let e=bf(t);if(e.error)return {host:t,isIPV6:false};{let r=e.address,n=e.address;return e.zone&&(r+="%"+e.zone,n+="%25"+e.zone),{host:r,isIPV6:true,escapedHost:n}}}function Sf(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}function wf(t){let e=t,r=[],n=-1,s=0;for(;s=e.length;){if(s===1){if(e===".")break;if(e==="/"){r.push("/");break}else {r.push(e);break}}else if(s===2){if(e[0]==="."){if(e[1]===".")break;if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&(e[1]==="."||e[1]==="/")){r.push("/");break}}else if(s===3&&e==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(e[0]==="."){if(e[1]==="."){if(e[2]==="/"){e=e.slice(3);continue}}else if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&e[1]==="."){if(e[2]==="/"){e=e.slice(2);continue}else if(e[2]==="."&&e[3]==="/"){e=e.slice(3),r.length!==0&&r.pop();continue}}if((n=e.indexOf("/",1))===-1){r.push(e);break}else r.push(e.slice(0,n)),e=e.slice(n);}return r.join("")}function kf(t,e){let r=e!==true?escape:unescape;return t.scheme!==void 0&&(t.scheme=r(t.scheme)),t.userinfo!==void 0&&(t.userinfo=r(t.userinfo)),t.host!==void 0&&(t.host=r(t.host)),t.path!==void 0&&(t.path=r(t.path)),t.query!==void 0&&(t.query=r(t.query)),t.fragment!==void 0&&(t.fragment=r(t.fragment)),t}function _f(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!li(r)){let n=fi(r);n.isIPV6===true?r=`[${n.escapedHost}]`:r=t.host;}e.push(r);}return (typeof t.port=="number"||typeof t.port=="string")&&(e.push(":"),e.push(String(t.port))),e.length?e.join(""):void 0}pi.exports={nonSimpleDomain:yf,recomposeAuthority:_f,normalizeComponentEncoding:kf,removeDotSegments:wf,isIPv4:li,isUUID:gf,normalizeIPv6:fi,stringArrayToHexStripped:Ts};});var vi=$((hy,yi)=>{var{isUUID:$f}=As(),Rf=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,Cf=["http","https","ws","wss","urn","urn:uuid"];function Ef(t){return Cf.indexOf(t)!==-1}function Is(t){return t.secure===true?true:t.secure===false?false:t.scheme?t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S"):false}function mi(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function hi(t){let e=String(t.scheme).toLowerCase()==="https";return (t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function xf(t){return t.secure=Is(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function Tf(t){if((t.port===(Is(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,r]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=r,t.resourceName=void 0;}return t.fragment=void 0,t}function Af(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(Rf);if(r){let n=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let s=`${n}:${e.nid||t.nid}`,o=Ps(s);t.path=void 0,o&&(t=o.parse(t,e));}else t.error=t.error||"URN can not be parsed.";return t}function If(t,e){if(t.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=e.scheme||t.scheme||"urn",n=t.nid.toLowerCase(),s=`${r}:${e.nid||n}`,o=Ps(s);o&&(t=o.serialize(t,e));let a=t,i=t.nss;return a.path=`${n||e.nid}:${i}`,e.skipEscape=true,a}function Pf(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!$f(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function Of(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var gi={scheme:"http",domainHost:true,parse:mi,serialize:hi},jf={scheme:"https",domainHost:gi.domainHost,parse:mi,serialize:hi},Zr={scheme:"ws",domainHost:true,parse:xf,serialize:Tf},Nf={scheme:"wss",domainHost:Zr.domainHost,parse:Zr.parse,serialize:Zr.serialize},qf={scheme:"urn",parse:Af,serialize:If,skipNormalize:true},Df={scheme:"urn:uuid",parse:Pf,serialize:Of,skipNormalize:true},en={http:gi,https:jf,ws:Zr,wss:Nf,urn:qf,"urn:uuid":Df};Object.setPrototypeOf(en,null);function Ps(t){return t&&(en[t]||en[t.toLowerCase()])||void 0}yi.exports={wsIsSecure:Is,SCHEMES:en,isValidSchemeName:Ef,getSchemeHandler:Ps};});var wi=$((gy,rn)=>{var{normalizeIPv6:Ff,removeDotSegments:dr,recomposeAuthority:Mf,normalizeComponentEncoding:tn,isIPv4:Lf,nonSimpleDomain:Vf}=As(),{SCHEMES:Bf,getSchemeHandler:bi}=vi();function Gf(t,e){return typeof t=="string"?t=Me(Je(t,e),e):typeof t=="object"&&(t=Je(Me(t,e),e)),t}function Kf(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},s=Si(Je(t,n),Je(e,n),n,true);return n.skipEscape=true,Me(s,n)}function Si(t,e,r,n){let s={};return n||(t=Je(Me(t,r),r),e=Je(Me(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(s.scheme=e.scheme,s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=dr(e.path||""),s.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=dr(e.path||""),s.query=e.query):(e.path?(e.path[0]==="/"?s.path=dr(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?s.path="/"+e.path:t.path?s.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:s.path=e.path,s.path=dr(s.path)),s.query=e.query):(s.path=t.path,e.query!==void 0?s.query=e.query:s.query=t.query),s.userinfo=t.userinfo,s.host=t.host,s.port=t.port),s.scheme=t.scheme),s.fragment=e.fragment,s}function Uf(t,e,r){return typeof t=="string"?(t=unescape(t),t=Me(tn(Je(t,r),true),{...r,skipEscape:true})):typeof t=="object"&&(t=Me(tn(t,true),{...r,skipEscape:true})),typeof e=="string"?(e=unescape(e),e=Me(tn(Je(e,r),true),{...r,skipEscape:true})):typeof e=="object"&&(e=Me(tn(e,true),{...r,skipEscape:true})),t.toLowerCase()===e.toLowerCase()}function Me(t,e){let r={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},n=Object.assign({},e),s=[],o=bi(n.scheme||r.scheme);o&&o.serialize&&o.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&s.push(r.scheme,":");let a=Mf(r);if(a!==void 0&&(n.reference!=="suffix"&&s.push("//"),s.push(a),r.path&&r.path[0]!=="/"&&s.push("/")),r.path!==void 0){let i=r.path;!n.absolutePath&&(!o||!o.absolutePath)&&(i=dr(i)),a===void 0&&i[0]==="/"&&i[1]==="/"&&(i="/%2F"+i.slice(2)),s.push(i);}return r.query!==void 0&&s.push("?",r.query),r.fragment!==void 0&&s.push("#",r.fragment),s.join("")}var Jf=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Je(t,e){let r=Object.assign({},e),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},s=false;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let o=t.match(Jf);if(o){if(n.scheme=o[1],n.userinfo=o[3],n.host=o[4],n.port=parseInt(o[5],10),n.path=o[6]||"",n.query=o[7],n.fragment=o[8],isNaN(n.port)&&(n.port=o[5]),n.host)if(Lf(n.host)===false){let u=Ff(n.host);n.host=u.host.toLowerCase(),s=u.isIPV6;}else s=true;n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let a=bi(r.scheme||n.scheme);if(!r.unicodeSupport&&(!a||!a.unicodeSupport)&&n.host&&(r.domainHost||a&&a.domainHost)&&s===false&&Vf(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase());}catch(i){n.error=n.error||"Host's domain name can not be converted to ASCII: "+i;}(!a||a&&!a.skipNormalize)&&(t.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=unescape(n.host))),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),a&&a.parse&&a.parse(n,r);}else n.error=n.error||"URI can not be parsed.";return n}var Os={SCHEMES:Bf,normalize:Gf,resolve:Kf,resolveComponent:Si,equal:Uf,serialize:Me,parse:Je};rn.exports=Os;rn.exports.default=Os;rn.exports.fastUri=Os;});var _i=$(js=>{Object.defineProperty(js,"__esModule",{value:true});var ki=wi();ki.code='require("ajv/dist/runtime/uri").default';js.default=ki;});var Ii=$(ce=>{Object.defineProperty(ce,"__esModule",{value:true});ce.CodeGen=ce.Name=ce.nil=ce.stringify=ce.str=ce._=ce.KeywordCxt=void 0;var Hf=ur();Object.defineProperty(ce,"KeywordCxt",{enumerable:true,get:function(){return Hf.KeywordCxt}});var jt=L();Object.defineProperty(ce,"_",{enumerable:true,get:function(){return jt._}});Object.defineProperty(ce,"str",{enumerable:true,get:function(){return jt.str}});Object.defineProperty(ce,"stringify",{enumerable:true,get:function(){return jt.stringify}});Object.defineProperty(ce,"nil",{enumerable:true,get:function(){return jt.nil}});Object.defineProperty(ce,"Name",{enumerable:true,get:function(){return jt.Name}});Object.defineProperty(ce,"CodeGen",{enumerable:true,get:function(){return jt.CodeGen}});var zf=Yr(),xi=cr(),Wf=cs(),lr=Qr(),Yf=L(),fr=or(),nn=sr(),qs=K(),$i=ci(),Xf=_i(),Ti=(t,e)=>new RegExp(t,e);Ti.code="new RegExp";var Qf=["removeAdditional","useDefaults","coerceTypes"],Zf=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),ep={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},tp={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},Ri=200;function rp(t){var e,r,n,s,o,a,i,u,c,d,f,b,h,p,l,m,y,g,S,_,w,A,R,j,H;let F=t.strict,z=(e=t.code)===null||e===void 0?void 0:e.optimize,le=z===true||z===void 0?1:z||0,ue=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:Ti,it=(s=t.uriResolver)!==null&&s!==void 0?s:Xf.default;return {strictSchema:(a=(o=t.strictSchema)!==null&&o!==void 0?o:F)!==null&&a!==void 0?a:true,strictNumbers:(u=(i=t.strictNumbers)!==null&&i!==void 0?i:F)!==null&&u!==void 0?u:true,strictTypes:(d=(c=t.strictTypes)!==null&&c!==void 0?c:F)!==null&&d!==void 0?d:"log",strictTuples:(b=(f=t.strictTuples)!==null&&f!==void 0?f:F)!==null&&b!==void 0?b:"log",strictRequired:(p=(h=t.strictRequired)!==null&&h!==void 0?h:F)!==null&&p!==void 0?p:false,code:t.code?{...t.code,optimize:le,regExp:ue}:{optimize:le,regExp:ue},loopRequired:(l=t.loopRequired)!==null&&l!==void 0?l:Ri,loopEnum:(m=t.loopEnum)!==null&&m!==void 0?m:Ri,meta:(y=t.meta)!==null&&y!==void 0?y:true,messages:(g=t.messages)!==null&&g!==void 0?g:true,inlineRefs:(S=t.inlineRefs)!==null&&S!==void 0?S:true,schemaId:(_=t.schemaId)!==null&&_!==void 0?_:"$id",addUsedSchema:(w=t.addUsedSchema)!==null&&w!==void 0?w:true,validateSchema:(A=t.validateSchema)!==null&&A!==void 0?A:true,validateFormats:(R=t.validateFormats)!==null&&R!==void 0?R:true,unicodeRegExp:(j=t.unicodeRegExp)!==null&&j!==void 0?j:true,int32range:(H=t.int32range)!==null&&H!==void 0?H:true,uriResolver:it}}var pr=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...rp(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new Yf.ValueScope({scope:{},prefixes:Zf,es5:r,lines:n}),this.logger=up(e.logger);let s=e.validateFormats;e.validateFormats=false,this.RULES=(0, Wf.getRules)(),Ci.call(this,ep,e,"NOT SUPPORTED"),Ci.call(this,tp,e,"DEPRECATED","warn"),this._metaOpts=ap.call(this),e.formats&&sp.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&op.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),np.call(this),e.validateFormats=s;}_addVocabularies(){this.addKeyword("$async");}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,s=$i;n==="id"&&(s={...$i},s.id=s.$id,delete s.$id),r&&e&&this.addMetaSchema(s,s[n],false);}defaultMeta(){let{meta:e,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[r]||e:void 0}validate(e,r){let n;if(typeof e=="string"){if(n=this.getSchema(e),!n)throw new Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);let s=n(r);return "$async"in n||(this.errors=n.errors),s}compile(e,r){let n=this._addSchema(e,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return s.call(this,e,r);async function s(d,f){await o.call(this,d.$schema);let b=this._addSchema(d,f);return b.validate||a.call(this,b)}async function o(d){d&&!this.getSchema(d)&&await s.call(this,{$ref:d},true);}async function a(d){try{return this._compileSchemaEnv(d)}catch(f){if(!(f instanceof xi.default))throw f;return i.call(this,f),await u.call(this,f.missingSchema),a.call(this,d)}}function i({missingSchema:d,missingRef:f}){if(this.refs[d])throw new Error(`AnySchema ${d} is loaded but ${f} cannot be resolved`)}async function u(d){let f=await c.call(this,d);this.refs[d]||await o.call(this,f.$schema),this.refs[d]||this.addSchema(f,d,r);}async function c(d){let f=this._loading[d];if(f)return f;try{return await(this._loading[d]=n(d))}finally{delete this._loading[d];}}}addSchema(e,r,n,s=this.opts.validateSchema){if(Array.isArray(e)){for(let a of e)this.addSchema(a,void 0,n,s);return this}let o;if(typeof e=="object"){let{schemaId:a}=this.opts;if(o=e[a],o!==void 0&&typeof o!="string")throw new Error(`schema ${a} must be string`)}return r=(0, fr.normalizeId)(r||o),this._checkUnique(r),this.schemas[r]=this._addSchema(e,n,r,s,true),this}addMetaSchema(e,r,n=this.opts.validateSchema){return this.addSchema(e,r,true,n),this}validateSchema(e,r){if(typeof e=="boolean")return true;let n;if(n=e.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,true;let s=this.validate(n,e);if(!s&&r){let o="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(o);else throw new Error(o)}return s}getSchema(e){let r;for(;typeof(r=Ei.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,s=new lr.SchemaEnv({schema:{},schemaId:n});if(r=lr.resolveSchema.call(this,s,e),!r)return;this.refs[e]=r;}return r.validate||this._compileSchemaEnv(r)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case "undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case "string":{let r=Ei.call(this,e);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[e],delete this.refs[e],this}case "object":{let r=e;this._cache.delete(r);let n=e[this.opts.schemaId];return n&&(n=(0, fr.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let r of e)this.addKeyword(r);return this}addKeyword(e,r){let n;if(typeof e=="string")n=e,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof e=="object"&&r===void 0){if(r=e,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(dp.call(this,n,r),!r)return (0, qs.eachItem)(n,o=>Ns.call(this,o)),this;fp.call(this,r);let s={...r,type:(0, nn.getJSONTypes)(r.type),schemaType:(0, nn.getJSONTypes)(r.schemaType)};return (0, qs.eachItem)(n,s.type.length===0?o=>Ns.call(this,o,s):o=>s.type.forEach(a=>Ns.call(this,o,s,a))),this}getKeyword(e){let r=this.RULES.all[e];return typeof r=="object"?r.definition:!!r}removeKeyword(e){let{RULES:r}=this;delete r.keywords[e],delete r.all[e];for(let n of r.rules){let s=n.rules.findIndex(o=>o.keyword===e);s>=0&&n.rules.splice(s,1);}return this}addFormat(e,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[e]=r,this}errorsText(e=this.errors,{separator:r=", ",dataVar:n="data"}={}){return !e||e.length===0?"No errors":e.map(s=>`${n}${s.instancePath} ${s.message}`).reduce((s,o)=>s+r+o)}$dataMetaSchema(e,r){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let s of r){let o=s.split("/").slice(1),a=e;for(let i of o)a=a[i];for(let i in n){let u=n[i];if(typeof u!="object")continue;let{$data:c}=u.definition,d=a[i];c&&d&&(a[i]=Ai(d));}}return e}_removeAllSchemas(e,r){for(let n in e){let s=e[n];(!r||r.test(n))&&(typeof s=="string"?delete e[n]:s&&!s.meta&&(this._cache.delete(s.schema),delete e[n]));}}_addSchema(e,r,n,s=this.opts.validateSchema,o=this.opts.addUsedSchema){let a,{schemaId:i}=this.opts;if(typeof e=="object")a=e[i];else {if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let u=this._cache.get(e);if(u!==void 0)return u;n=(0, fr.normalizeId)(a||n);let c=fr.getSchemaRefs.call(this,e,n);return u=new lr.SchemaEnv({schema:e,schemaId:i,meta:r,baseId:n,localRefs:c}),this._cache.set(u.schema,u),o&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=u),s&&this.validateSchema(e,true),u}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):lr.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let r=this.opts;this.opts=this._metaOpts;try{lr.compileSchema.call(this,e);}finally{this.opts=r;}}};pr.ValidationError=zf.default;pr.MissingRefError=xi.default;ce.default=pr;function Ci(t,e,r,n="error"){for(let s in t){let o=s;o in e&&this.logger[n](`${r}: option ${s}. ${t[o]}`);}}function Ei(t){return t=(0, fr.normalizeId)(t),this.schemas[t]||this.refs[t]}function np(){let t=this.opts.schemas;if(t)if(Array.isArray(t))this.addSchema(t);else for(let e in t)this.addSchema(t[e],e);}function sp(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e);}}function op(t){if(Array.isArray(t)){this.addVocabulary(t);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in t){let r=t[e];r.keyword||(r.keyword=e),this.addKeyword(r);}}function ap(){let t={...this.opts};for(let e of Qf)delete t[e];return t}var ip={log(){},warn(){},error(){}};function up(t){if(t===false)return ip;if(t===void 0)return console;if(t.log&&t.warn&&t.error)return t;throw new Error("logger must implement log, warn and error methods")}var cp=/^[a-z_$][a-z0-9_$:-]*$/i;function dp(t,e){let{RULES:r}=this;if((0, qs.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!cp.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function Ns(t,e,r){var n;let s=e?.post;if(r&&s)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:o}=this,a=s?o.post:o.rules.find(({type:u})=>u===r);if(a||(a={type:r,rules:[]},o.rules.push(a)),o.keywords[t]=true,!e)return;let i={keyword:t,definition:{...e,type:(0, nn.getJSONTypes)(e.type),schemaType:(0, nn.getJSONTypes)(e.schemaType)}};e.before?lp.call(this,a,i,e.before):a.rules.push(i),o.all[t]=i,(n=e.implements)===null||n===void 0||n.forEach(u=>this.addKeyword(u));}function lp(t,e,r){let n=t.rules.findIndex(s=>s.keyword===r);n>=0?t.rules.splice(n,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`));}function fp(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=Ai(e)),t.validateSchema=this.compile(e,true));}var pp={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Ai(t){return {anyOf:[t,pp]}}});var Pi=$(Ds=>{Object.defineProperty(Ds,"__esModule",{value:true});var mp={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Ds.default=mp;});var qi=$(vt=>{Object.defineProperty(vt,"__esModule",{value:true});vt.callRef=vt.getValidate=void 0;var hp=cr(),Oi=Te(),_e=L(),Nt=Ke(),ji=Qr(),sn=K(),gp={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:s,schemaEnv:o,validateName:a,opts:i,self:u}=n,{root:c}=o;if((r==="#"||r==="#/")&&s===c.baseId)return f();let d=ji.resolveRef.call(u,c,s,r);if(d===void 0)throw new hp.default(n.opts.uriResolver,s,r);if(d instanceof ji.SchemaEnv)return b(d);return h(d);function f(){if(o===c)return on(t,a,o,o.$async);let p=e.scopeValue("root",{ref:c});return on(t,(0, _e._)`${p}.validate`,c,c.$async)}function b(p){let l=Ni(t,p);on(t,l,p,p.$async);}function h(p){let l=e.scopeValue("schema",i.code.source===true?{ref:p,code:(0, _e.stringify)(p)}:{ref:p}),m=e.name("valid"),y=t.subschema({schema:p,dataTypes:[],schemaPath:_e.nil,topSchemaRef:l,errSchemaPath:r},m);t.mergeEvaluated(y),t.ok(m);}}};function Ni(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0, _e._)`${r.scopeValue("wrapper",{ref:e})}.validate`}vt.getValidate=Ni;function on(t,e,r,n){let{gen:s,it:o}=t,{allErrors:a,schemaEnv:i,opts:u}=o,c=u.passContext?Nt.default.this:_e.nil;n?d():f();function d(){if(!i.$async)throw new Error("async schema referenced by sync schema");let p=s.let("valid");s.try(()=>{s.code((0, _e._)`await ${(0, Oi.callValidateCode)(t,e,c)}`),h(e),a||s.assign(p,true);},l=>{s.if((0, _e._)`!(${l} instanceof ${o.ValidationError})`,()=>s.throw(l)),b(l),a||s.assign(p,false);}),t.ok(p);}function f(){t.result((0, Oi.callValidateCode)(t,e,c),()=>h(e),()=>b(e));}function b(p){let l=(0, _e._)`${p}.errors`;s.assign(Nt.default.vErrors,(0, _e._)`${Nt.default.vErrors} === null ? ${l} : ${Nt.default.vErrors}.concat(${l})`),s.assign(Nt.default.errors,(0, _e._)`${Nt.default.vErrors}.length`);}function h(p){var l;if(!o.opts.unevaluated)return;let m=(l=r?.validate)===null||l===void 0?void 0:l.evaluated;if(o.props!==true)if(m&&!m.dynamicProps)m.props!==void 0&&(o.props=sn.mergeEvaluated.props(s,m.props,o.props));else {let y=s.var("props",(0, _e._)`${p}.evaluated.props`);o.props=sn.mergeEvaluated.props(s,y,o.props,_e.Name);}if(o.items!==true)if(m&&!m.dynamicItems)m.items!==void 0&&(o.items=sn.mergeEvaluated.items(s,m.items,o.items));else {let y=s.var("items",(0, _e._)`${p}.evaluated.items`);o.items=sn.mergeEvaluated.items(s,y,o.items,_e.Name);}}}vt.callRef=on;vt.default=gp;});var Di=$(Fs=>{Object.defineProperty(Fs,"__esModule",{value:true});var yp=Pi(),vp=qi(),bp=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",yp.default,vp.default];Fs.default=bp;});var Fi=$(Ms=>{Object.defineProperty(Ms,"__esModule",{value:true});var an=L(),rt=an.operators,un={maximum:{okStr:"<=",ok:rt.LTE,fail:rt.GT},minimum:{okStr:">=",ok:rt.GTE,fail:rt.LT},exclusiveMaximum:{okStr:"<",ok:rt.LT,fail:rt.GTE},exclusiveMinimum:{okStr:">",ok:rt.GT,fail:rt.LTE}},Sp={message:({keyword:t,schemaCode:e})=>(0, an.str)`must be ${un[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0, an._)`{comparison: ${un[t].okStr}, limit: ${e}}`},wp={keyword:Object.keys(un),type:"number",schemaType:"number",$data:true,error:Sp,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0, an._)`${r} ${un[e].fail} ${n} || isNaN(${r})`);}};Ms.default=wp;});var Mi=$(Ls=>{Object.defineProperty(Ls,"__esModule",{value:true});var mr=L(),kp={message:({schemaCode:t})=>(0, mr.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0, mr._)`{multipleOf: ${t}}`},_p={keyword:"multipleOf",type:"number",schemaType:"number",$data:true,error:kp,code(t){let{gen:e,data:r,schemaCode:n,it:s}=t,o=s.opts.multipleOfPrecision,a=e.let("res"),i=o?(0, mr._)`Math.abs(Math.round(${a}) - ${a}) > 1e-${o}`:(0, mr._)`${a} !== parseInt(${a})`;t.fail$data((0, mr._)`(${n} === 0 || (${a} = ${r}/${n}, ${i}))`);}};Ls.default=_p;});var Vi=$(Vs=>{Object.defineProperty(Vs,"__esModule",{value:true});function Li(t){let e=t.length,r=0,n=0,s;for(;n<e;)r++,s=t.charCodeAt(n++),s>=55296&&s<=56319&&n<e&&(s=t.charCodeAt(n),(s&64512)===56320&&n++);return r}Vs.default=Li;Li.code='require("ajv/dist/runtime/ucs2length").default';});var Bi=$(Bs=>{Object.defineProperty(Bs,"__esModule",{value:true});var bt=L(),$p=K(),Rp=Vi(),Cp={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return (0, bt.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0, bt._)`{limit: ${t}}`},Ep={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:true,error:Cp,code(t){let{keyword:e,data:r,schemaCode:n,it:s}=t,o=e==="maxLength"?bt.operators.GT:bt.operators.LT,a=s.opts.unicode===false?(0, bt._)`${r}.length`:(0, bt._)`${(0, $p.useFunc)(t.gen,Rp.default)}(${r})`;t.fail$data((0, bt._)`${a} ${o} ${n}`);}};Bs.default=Ep;});var Gi=$(Gs=>{Object.defineProperty(Gs,"__esModule",{value:true});var xp=Te(),Tp=K(),qt=L(),Ap={message:({schemaCode:t})=>(0, qt.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0, qt._)`{pattern: ${t}}`},Ip={keyword:"pattern",type:"string",schemaType:"string",$data:true,error:Ap,code(t){let{gen:e,data:r,$data:n,schema:s,schemaCode:o,it:a}=t,i=a.opts.unicodeRegExp?"u":"";if(n){let{regExp:u}=a.opts.code,c=u.code==="new RegExp"?(0, qt._)`new RegExp`:(0, Tp.useFunc)(e,u),d=e.let("valid");e.try(()=>e.assign(d,(0, qt._)`${c}(${o}, ${i}).test(${r})`),()=>e.assign(d,false)),t.fail$data((0, qt._)`!${d}`);}else {let u=(0, xp.usePattern)(t,s);t.fail$data((0, qt._)`!${u}.test(${r})`);}}};Gs.default=Ip;});var Ki=$(Ks=>{Object.defineProperty(Ks,"__esModule",{value:true});var hr=L(),Pp={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return (0, hr.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0, hr._)`{limit: ${t}}`},Op={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:true,error:Pp,code(t){let{keyword:e,data:r,schemaCode:n}=t,s=e==="maxProperties"?hr.operators.GT:hr.operators.LT;t.fail$data((0, hr._)`Object.keys(${r}).length ${s} ${n}`);}};Ks.default=Op;});var Ui=$(Us=>{Object.defineProperty(Us,"__esModule",{value:true});var gr=Te(),yr=L(),jp=K(),Np={message:({params:{missingProperty:t}})=>(0, yr.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0, yr._)`{missingProperty: ${t}}`},qp={keyword:"required",type:"object",schemaType:"array",$data:true,error:Np,code(t){let{gen:e,schema:r,schemaCode:n,data:s,$data:o,it:a}=t,{opts:i}=a;if(!o&&r.length===0)return;let u=r.length>=i.loopRequired;if(a.allErrors?c():d(),i.strictRequired){let h=t.parentSchema.properties,{definedProperties:p}=t.it;for(let l of r)if(h?.[l]===void 0&&!p.has(l)){let m=a.schemaEnv.baseId+a.errSchemaPath,y=`required property "${l}" is not defined at "${m}" (strictRequired)`;(0, jp.checkStrictMode)(a,y,a.opts.strictRequired);}}function c(){if(u||o)t.block$data(yr.nil,f);else for(let h of r)(0, gr.checkReportMissingProp)(t,h);}function d(){let h=e.let("missing");if(u||o){let p=e.let("valid",true);t.block$data(p,()=>b(h,p)),t.ok(p);}else e.if((0, gr.checkMissingProp)(t,r,h)),(0, gr.reportMissingProp)(t,h),e.else();}function f(){e.forOf("prop",n,h=>{t.setParams({missingProperty:h}),e.if((0, gr.noPropertyInData)(e,s,h,i.ownProperties),()=>t.error());});}function b(h,p){t.setParams({missingProperty:h}),e.forOf(h,n,()=>{e.assign(p,(0, gr.propertyInData)(e,s,h,i.ownProperties)),e.if((0, yr.not)(p),()=>{t.error(),e.break();});},yr.nil);}}};Us.default=qp;});var Ji=$(Js=>{Object.defineProperty(Js,"__esModule",{value:true});var vr=L(),Dp={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return (0, vr.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0, vr._)`{limit: ${t}}`},Fp={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:true,error:Dp,code(t){let{keyword:e,data:r,schemaCode:n}=t,s=e==="maxItems"?vr.operators.GT:vr.operators.LT;t.fail$data((0, vr._)`${r}.length ${s} ${n}`);}};Js.default=Fp;});var cn=$(Hs=>{Object.defineProperty(Hs,"__esModule",{value:true});var Hi=ys();Hi.code='require("ajv/dist/runtime/equal").default';Hs.default=Hi;});var zi=$(Ws=>{Object.defineProperty(Ws,"__esModule",{value:true});var zs=sr(),de=L(),Mp=K(),Lp=cn(),Vp={message:({params:{i:t,j:e}})=>(0, de.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0, de._)`{i: ${t}, j: ${e}}`},Bp={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:true,error:Vp,code(t){let{gen:e,data:r,$data:n,schema:s,parentSchema:o,schemaCode:a,it:i}=t;if(!n&&!s)return;let u=e.let("valid"),c=o.items?(0, zs.getSchemaTypes)(o.items):[];t.block$data(u,d,(0, de._)`${a} === false`),t.ok(u);function d(){let p=e.let("i",(0, de._)`${r}.length`),l=e.let("j");t.setParams({i:p,j:l}),e.assign(u,true),e.if((0, de._)`${p} > 1`,()=>(f()?b:h)(p,l));}function f(){return c.length>0&&!c.some(p=>p==="object"||p==="array")}function b(p,l){let m=e.name("item"),y=(0, zs.checkDataTypes)(c,m,i.opts.strictNumbers,zs.DataType.Wrong),g=e.const("indices",(0, de._)`{}`);e.for((0, de._)`;${p}--;`,()=>{e.let(m,(0, de._)`${r}[${p}]`),e.if(y,(0, de._)`continue`),c.length>1&&e.if((0, de._)`typeof ${m} == "string"`,(0, de._)`${m} += "_"`),e.if((0, de._)`typeof ${g}[${m}] == "number"`,()=>{e.assign(l,(0, de._)`${g}[${m}]`),t.error(),e.assign(u,false).break();}).code((0, de._)`${g}[${m}] = ${p}`);});}function h(p,l){let m=(0, Mp.useFunc)(e,Lp.default),y=e.name("outer");e.label(y).for((0, de._)`;${p}--;`,()=>e.for((0, de._)`${l} = ${p}; ${l}--;`,()=>e.if((0, de._)`${m}(${r}[${p}], ${r}[${l}])`,()=>{t.error(),e.assign(u,false).break(y);})));}}};Ws.default=Bp;});var Wi=$(Xs=>{Object.defineProperty(Xs,"__esModule",{value:true});var Ys=L(),Gp=K(),Kp=cn(),Up={message:"must be equal to constant",params:({schemaCode:t})=>(0, Ys._)`{allowedValue: ${t}}`},Jp={keyword:"const",$data:true,error:Up,code(t){let{gen:e,data:r,$data:n,schemaCode:s,schema:o}=t;n||o&&typeof o=="object"?t.fail$data((0, Ys._)`!${(0, Gp.useFunc)(e,Kp.default)}(${r}, ${s})`):t.fail((0, Ys._)`${o} !== ${r}`);}};Xs.default=Jp;});var Yi=$(Qs=>{Object.defineProperty(Qs,"__esModule",{value:true});var br=L(),Hp=K(),zp=cn(),Wp={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0, br._)`{allowedValues: ${t}}`},Yp={keyword:"enum",schemaType:"array",$data:true,error:Wp,code(t){let{gen:e,data:r,$data:n,schema:s,schemaCode:o,it:a}=t;if(!n&&s.length===0)throw new Error("enum must have non-empty array");let i=s.length>=a.opts.loopEnum,u,c=()=>u??(u=(0, Hp.useFunc)(e,zp.default)),d;if(i||n)d=e.let("valid"),t.block$data(d,f);else {if(!Array.isArray(s))throw new Error("ajv implementation error");let h=e.const("vSchema",o);d=(0, br.or)(...s.map((p,l)=>b(h,l)));}t.pass(d);function f(){e.assign(d,false),e.forOf("v",o,h=>e.if((0, br._)`${c()}(${r}, ${h})`,()=>e.assign(d,true).break()));}function b(h,p){let l=s[p];return typeof l=="object"&&l!==null?(0, br._)`${c()}(${r}, ${h}[${p}])`:(0, br._)`${r} === ${l}`}}};Qs.default=Yp;});var Xi=$(Zs=>{Object.defineProperty(Zs,"__esModule",{value:true});var Xp=Fi(),Qp=Mi(),Zp=Bi(),em=Gi(),tm=Ki(),rm=Ui(),nm=Ji(),sm=zi(),om=Wi(),am=Yi(),im=[Xp.default,Qp.default,Zp.default,em.default,tm.default,rm.default,nm.default,sm.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},om.default,am.default];Zs.default=im;});var to=$(Sr=>{Object.defineProperty(Sr,"__esModule",{value:true});Sr.validateAdditionalItems=void 0;var St=L(),eo=K(),um={message:({params:{len:t}})=>(0, St.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0, St._)`{limit: ${t}}`},cm={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:um,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0, eo.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}Qi(t,n);}};function Qi(t,e){let{gen:r,schema:n,data:s,keyword:o,it:a}=t;a.items=true;let i=r.const("len",(0, St._)`${s}.length`);if(n===false)t.setParams({len:e.length}),t.pass((0, St._)`${i} <= ${e.length}`);else if(typeof n=="object"&&!(0, eo.alwaysValidSchema)(a,n)){let c=r.var("valid",(0, St._)`${i} <= ${e.length}`);r.if((0, St.not)(c),()=>u(c)),t.ok(c);}function u(c){r.forRange("i",e.length,i,d=>{t.subschema({keyword:o,dataProp:d,dataPropType:eo.Type.Num},c),a.allErrors||r.if((0, St.not)(c),()=>r.break());});}}Sr.validateAdditionalItems=Qi;Sr.default=cm;});var ro=$(wr=>{Object.defineProperty(wr,"__esModule",{value:true});wr.validateTuple=void 0;var Zi=L(),dn=K(),dm=Te(),lm={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return eu(t,"additionalItems",e);r.items=true,!(0, dn.alwaysValidSchema)(r,e)&&t.ok((0, dm.validateArray)(t));}};function eu(t,e,r=t.schema){let{gen:n,parentSchema:s,data:o,keyword:a,it:i}=t;d(s),i.opts.unevaluated&&r.length&&i.items!==true&&(i.items=dn.mergeEvaluated.items(n,r.length,i.items));let u=n.name("valid"),c=n.const("len",(0, Zi._)`${o}.length`);r.forEach((f,b)=>{(0, dn.alwaysValidSchema)(i,f)||(n.if((0, Zi._)`${c} > ${b}`,()=>t.subschema({keyword:a,schemaProp:b,dataProp:b},u)),t.ok(u));});function d(f){let{opts:b,errSchemaPath:h}=i,p=r.length,l=p===f.minItems&&(p===f.maxItems||f[e]===false);if(b.strictTuples&&!l){let m=`"${a}" is ${p}-tuple, but minItems or maxItems/${e} are not specified or different at path "${h}"`;(0, dn.checkStrictMode)(i,m,b.strictTuples);}}}wr.validateTuple=eu;wr.default=lm;});var tu=$(no=>{Object.defineProperty(no,"__esModule",{value:true});var fm=ro(),pm={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0, fm.validateTuple)(t,"items")};no.default=pm;});var nu=$(so=>{Object.defineProperty(so,"__esModule",{value:true});var ru=L(),mm=K(),hm=Te(),gm=to(),ym={message:({params:{len:t}})=>(0, ru.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0, ru._)`{limit: ${t}}`},vm={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:ym,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:s}=r;n.items=true,!(0, mm.alwaysValidSchema)(n,e)&&(s?(0, gm.validateAdditionalItems)(t,s):t.ok((0, hm.validateArray)(t)));}};so.default=vm;});var su=$(oo=>{Object.defineProperty(oo,"__esModule",{value:true});var Ie=L(),ln=K(),bm={message:({params:{min:t,max:e}})=>e===void 0?(0, Ie.str)`must contain at least ${t} valid item(s)`:(0, Ie.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0, Ie._)`{minContains: ${t}}`:(0, Ie._)`{minContains: ${t}, maxContains: ${e}}`},Sm={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:true,error:bm,code(t){let{gen:e,schema:r,parentSchema:n,data:s,it:o}=t,a,i,{minContains:u,maxContains:c}=n;o.opts.next?(a=u===void 0?1:u,i=c):a=1;let d=e.const("len",(0, Ie._)`${s}.length`);if(t.setParams({min:a,max:i}),i===void 0&&a===0){(0, ln.checkStrictMode)(o,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(i!==void 0&&a>i){(0, ln.checkStrictMode)(o,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0, ln.alwaysValidSchema)(o,r)){let l=(0, Ie._)`${d} >= ${a}`;i!==void 0&&(l=(0, Ie._)`${l} && ${d} <= ${i}`),t.pass(l);return}o.items=true;let f=e.name("valid");i===void 0&&a===1?h(f,()=>e.if(f,()=>e.break())):a===0?(e.let(f,true),i!==void 0&&e.if((0, Ie._)`${s}.length > 0`,b)):(e.let(f,false),b()),t.result(f,()=>t.reset());function b(){let l=e.name("_valid"),m=e.let("count",0);h(l,()=>e.if(l,()=>p(m)));}function h(l,m){e.forRange("i",0,d,y=>{t.subschema({keyword:"contains",dataProp:y,dataPropType:ln.Type.Num,compositeRule:true},l),m();});}function p(l){e.code((0, Ie._)`${l}++`),i===void 0?e.if((0, Ie._)`${l} >= ${a}`,()=>e.assign(f,true).break()):(e.if((0, Ie._)`${l} > ${i}`,()=>e.assign(f,false).break()),a===1?e.assign(f,true):e.if((0, Ie._)`${l} >= ${a}`,()=>e.assign(f,true)));}}};oo.default=Sm;});var iu=$(Le=>{Object.defineProperty(Le,"__esModule",{value:true});Le.validateSchemaDeps=Le.validatePropertyDeps=Le.error=void 0;var ao=L(),wm=K(),kr=Te();Le.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return (0, ao.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0, ao._)`{property: ${t},
7
- missingProperty: ${n},
8
- depsCount: ${e},
9
- deps: ${r}}`};var km={keyword:"dependencies",type:"object",schemaType:"object",error:Le.error,code(t){let[e,r]=_m(t);ou(t,e),au(t,r);}};function _m({schema:t}){let e={},r={};for(let n in t){if(n==="__proto__")continue;let s=Array.isArray(t[n])?e:r;s[n]=t[n];}return [e,r]}function ou(t,e=t.schema){let{gen:r,data:n,it:s}=t;if(Object.keys(e).length===0)return;let o=r.let("missing");for(let a in e){let i=e[a];if(i.length===0)continue;let u=(0, kr.propertyInData)(r,n,a,s.opts.ownProperties);t.setParams({property:a,depsCount:i.length,deps:i.join(", ")}),s.allErrors?r.if(u,()=>{for(let c of i)(0, kr.checkReportMissingProp)(t,c);}):(r.if((0, ao._)`${u} && (${(0, kr.checkMissingProp)(t,i,o)})`),(0, kr.reportMissingProp)(t,o),r.else());}}Le.validatePropertyDeps=ou;function au(t,e=t.schema){let{gen:r,data:n,keyword:s,it:o}=t,a=r.name("valid");for(let i in e)(0, wm.alwaysValidSchema)(o,e[i])||(r.if((0, kr.propertyInData)(r,n,i,o.opts.ownProperties),()=>{let u=t.subschema({keyword:s,schemaProp:i},a);t.mergeValidEvaluated(u,a);},()=>r.var(a,true)),t.ok(a));}Le.validateSchemaDeps=au;Le.default=km;});var cu=$(io=>{Object.defineProperty(io,"__esModule",{value:true});var uu=L(),$m=K(),Rm={message:"property name must be valid",params:({params:t})=>(0, uu._)`{propertyName: ${t.propertyName}}`},Cm={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Rm,code(t){let{gen:e,schema:r,data:n,it:s}=t;if((0, $m.alwaysValidSchema)(s,r))return;let o=e.name("valid");e.forIn("key",n,a=>{t.setParams({propertyName:a}),t.subschema({keyword:"propertyNames",data:a,dataTypes:["string"],propertyName:a,compositeRule:true},o),e.if((0, uu.not)(o),()=>{t.error(true),s.allErrors||e.break();});}),t.ok(o);}};io.default=Cm;});var co=$(uo=>{Object.defineProperty(uo,"__esModule",{value:true});var fn=Te(),Ne=L(),Em=Ke(),pn=K(),xm={message:"must NOT have additional properties",params:({params:t})=>(0, Ne._)`{additionalProperty: ${t.additionalProperty}}`},Tm={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:true,trackErrors:true,error:xm,code(t){let{gen:e,schema:r,parentSchema:n,data:s,errsCount:o,it:a}=t;if(!o)throw new Error("ajv implementation error");let{allErrors:i,opts:u}=a;if(a.props=true,u.removeAdditional!=="all"&&(0, pn.alwaysValidSchema)(a,r))return;let c=(0, fn.allSchemaProperties)(n.properties),d=(0, fn.allSchemaProperties)(n.patternProperties);f(),t.ok((0, Ne._)`${o} === ${Em.default.errors}`);function f(){e.forIn("key",s,m=>{!c.length&&!d.length?p(m):e.if(b(m),()=>p(m));});}function b(m){let y;if(c.length>8){let g=(0, pn.schemaRefOrVal)(a,n.properties,"properties");y=(0, fn.isOwnProperty)(e,g,m);}else c.length?y=(0, Ne.or)(...c.map(g=>(0, Ne._)`${m} === ${g}`)):y=Ne.nil;return d.length&&(y=(0, Ne.or)(y,...d.map(g=>(0, Ne._)`${(0, fn.usePattern)(t,g)}.test(${m})`))),(0, Ne.not)(y)}function h(m){e.code((0, Ne._)`delete ${s}[${m}]`);}function p(m){if(u.removeAdditional==="all"||u.removeAdditional&&r===false){h(m);return}if(r===false){t.setParams({additionalProperty:m}),t.error(),i||e.break();return}if(typeof r=="object"&&!(0, pn.alwaysValidSchema)(a,r)){let y=e.name("valid");u.removeAdditional==="failing"?(l(m,y,false),e.if((0, Ne.not)(y),()=>{t.reset(),h(m);})):(l(m,y),i||e.if((0, Ne.not)(y),()=>e.break()));}}function l(m,y,g){let S={keyword:"additionalProperties",dataProp:m,dataPropType:pn.Type.Str};g===false&&Object.assign(S,{compositeRule:true,createErrors:false,allErrors:false}),t.subschema(S,y);}}};uo.default=Tm;});var fu=$(fo=>{Object.defineProperty(fo,"__esModule",{value:true});var Am=ur(),du=Te(),lo=K(),lu=co(),Im={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:n,data:s,it:o}=t;o.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&lu.default.code(new Am.KeywordCxt(o,lu.default,"additionalProperties"));let a=(0, du.allSchemaProperties)(r);for(let f of a)o.definedProperties.add(f);o.opts.unevaluated&&a.length&&o.props!==true&&(o.props=lo.mergeEvaluated.props(e,(0, lo.toHash)(a),o.props));let i=a.filter(f=>!(0, lo.alwaysValidSchema)(o,r[f]));if(i.length===0)return;let u=e.name("valid");for(let f of i)c(f)?d(f):(e.if((0, du.propertyInData)(e,s,f,o.opts.ownProperties)),d(f),o.allErrors||e.else().var(u,true),e.endIf()),t.it.definedProperties.add(f),t.ok(u);function c(f){return o.opts.useDefaults&&!o.compositeRule&&r[f].default!==void 0}function d(f){t.subschema({keyword:"properties",schemaProp:f,dataProp:f},u);}}};fo.default=Im;});var gu=$(po=>{Object.defineProperty(po,"__esModule",{value:true});var pu=Te(),mn=L(),mu=K(),hu=K(),Pm={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:n,parentSchema:s,it:o}=t,{opts:a}=o,i=(0, pu.allSchemaProperties)(r),u=i.filter(l=>(0, mu.alwaysValidSchema)(o,r[l]));if(i.length===0||u.length===i.length&&(!o.opts.unevaluated||o.props===true))return;let c=a.strictSchema&&!a.allowMatchingProperties&&s.properties,d=e.name("valid");o.props!==true&&!(o.props instanceof mn.Name)&&(o.props=(0, hu.evaluatedPropsToName)(e,o.props));let{props:f}=o;b();function b(){for(let l of i)c&&h(l),o.allErrors?p(l):(e.var(d,true),p(l),e.if(d));}function h(l){for(let m in c)new RegExp(l).test(m)&&(0, mu.checkStrictMode)(o,`property ${m} matches pattern ${l} (use allowMatchingProperties)`);}function p(l){e.forIn("key",n,m=>{e.if((0, mn._)`${(0, pu.usePattern)(t,l)}.test(${m})`,()=>{let y=u.includes(l);y||t.subschema({keyword:"patternProperties",schemaProp:l,dataProp:m,dataPropType:hu.Type.Str},d),o.opts.unevaluated&&f!==true?e.assign((0, mn._)`${f}[${m}]`,true):!y&&!o.allErrors&&e.if((0, mn.not)(d),()=>e.break());});});}}};po.default=Pm;});var yu=$(mo=>{Object.defineProperty(mo,"__esModule",{value:true});var Om=K(),jm={keyword:"not",schemaType:["object","boolean"],trackErrors:true,code(t){let{gen:e,schema:r,it:n}=t;if((0, Om.alwaysValidSchema)(n,r)){t.fail();return}let s=e.name("valid");t.subschema({keyword:"not",compositeRule:true,createErrors:false,allErrors:false},s),t.failResult(s,()=>t.reset(),()=>t.error());},error:{message:"must NOT be valid"}};mo.default=jm;});var vu=$(ho=>{Object.defineProperty(ho,"__esModule",{value:true});var Nm=Te(),qm={keyword:"anyOf",schemaType:"array",trackErrors:true,code:Nm.validateUnion,error:{message:"must match a schema in anyOf"}};ho.default=qm;});var bu=$(go=>{Object.defineProperty(go,"__esModule",{value:true});var hn=L(),Dm=K(),Fm={message:"must match exactly one schema in oneOf",params:({params:t})=>(0, hn._)`{passingSchemas: ${t.passing}}`},Mm={keyword:"oneOf",schemaType:"array",trackErrors:true,error:Fm,code(t){let{gen:e,schema:r,parentSchema:n,it:s}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(s.opts.discriminator&&n.discriminator)return;let o=r,a=e.let("valid",false),i=e.let("passing",null),u=e.name("_valid");t.setParams({passing:i}),e.block(c),t.result(a,()=>t.reset(),()=>t.error(true));function c(){o.forEach((d,f)=>{let b;(0, Dm.alwaysValidSchema)(s,d)?e.var(u,true):b=t.subschema({keyword:"oneOf",schemaProp:f,compositeRule:true},u),f>0&&e.if((0, hn._)`${u} && ${a}`).assign(a,false).assign(i,(0, hn._)`[${i}, ${f}]`).else(),e.if(u,()=>{e.assign(a,true),e.assign(i,f),b&&t.mergeEvaluated(b,hn.Name);});});}}};go.default=Mm;});var Su=$(yo=>{Object.defineProperty(yo,"__esModule",{value:true});var Lm=K(),Vm={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let s=e.name("valid");r.forEach((o,a)=>{if((0, Lm.alwaysValidSchema)(n,o))return;let i=t.subschema({keyword:"allOf",schemaProp:a},s);t.ok(s),t.mergeEvaluated(i);});}};yo.default=Vm;});var _u=$(vo=>{Object.defineProperty(vo,"__esModule",{value:true});var gn=L(),ku=K(),Bm={message:({params:t})=>(0, gn.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0, gn._)`{failingKeyword: ${t.ifClause}}`},Gm={keyword:"if",schemaType:["object","boolean"],trackErrors:true,error:Bm,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0, ku.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let s=wu(n,"then"),o=wu(n,"else");if(!s&&!o)return;let a=e.let("valid",true),i=e.name("_valid");if(u(),t.reset(),s&&o){let d=e.let("ifClause");t.setParams({ifClause:d}),e.if(i,c("then",d),c("else",d));}else s?e.if(i,c("then")):e.if((0, gn.not)(i),c("else"));t.pass(a,()=>t.error(true));function u(){let d=t.subschema({keyword:"if",compositeRule:true,createErrors:false,allErrors:false},i);t.mergeEvaluated(d);}function c(d,f){return ()=>{let b=t.subschema({keyword:d},i);e.assign(a,i),t.mergeValidEvaluated(b,a),f?e.assign(f,(0, gn._)`${d}`):t.setParams({ifClause:d});}}}};function wu(t,e){let r=t.schema[e];return r!==void 0&&!(0, ku.alwaysValidSchema)(t,r)}vo.default=Gm;});var $u=$(bo=>{Object.defineProperty(bo,"__esModule",{value:true});var Km=K(),Um={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0, Km.checkStrictMode)(r,`"${t}" without "if" is ignored`);}};bo.default=Um;});var Ru=$(So=>{Object.defineProperty(So,"__esModule",{value:true});var Jm=to(),Hm=tu(),zm=ro(),Wm=nu(),Ym=su(),Xm=iu(),Qm=cu(),Zm=co(),eh=fu(),th=gu(),rh=yu(),nh=vu(),sh=bu(),oh=Su(),ah=_u(),ih=$u();function uh(t=false){let e=[rh.default,nh.default,sh.default,oh.default,ah.default,ih.default,Qm.default,Zm.default,Xm.default,eh.default,th.default];return t?e.push(Hm.default,Wm.default):e.push(Jm.default,zm.default),e.push(Ym.default),e}So.default=uh;});var Cu=$(wo=>{Object.defineProperty(wo,"__esModule",{value:true});var oe=L(),ch={message:({schemaCode:t})=>(0, oe.str)`must match format "${t}"`,params:({schemaCode:t})=>(0, oe._)`{format: ${t}}`},dh={keyword:"format",type:["number","string"],schemaType:"string",$data:true,error:ch,code(t,e){let{gen:r,data:n,$data:s,schema:o,schemaCode:a,it:i}=t,{opts:u,errSchemaPath:c,schemaEnv:d,self:f}=i;if(!u.validateFormats)return;s?b():h();function b(){let p=r.scopeValue("formats",{ref:f.formats,code:u.code.formats}),l=r.const("fDef",(0, oe._)`${p}[${a}]`),m=r.let("fType"),y=r.let("format");r.if((0, oe._)`typeof ${l} == "object" && !(${l} instanceof RegExp)`,()=>r.assign(m,(0, oe._)`${l}.type || "string"`).assign(y,(0, oe._)`${l}.validate`),()=>r.assign(m,(0, oe._)`"string"`).assign(y,l)),t.fail$data((0, oe.or)(g(),S()));function g(){return u.strictSchema===false?oe.nil:(0, oe._)`${a} && !${y}`}function S(){let _=d.$async?(0, oe._)`(${l}.async ? await ${y}(${n}) : ${y}(${n}))`:(0, oe._)`${y}(${n})`,w=(0, oe._)`(typeof ${y} == "function" ? ${_} : ${y}.test(${n}))`;return (0, oe._)`${y} && ${y} !== true && ${m} === ${e} && !${w}`}}function h(){let p=f.formats[o];if(!p){g();return}if(p===true)return;let[l,m,y]=S(p);l===e&&t.pass(_());function g(){if(u.strictSchema===false){f.logger.warn(w());return}throw new Error(w());function w(){return `unknown format "${o}" ignored in schema at path "${c}"`}}function S(w){let A=w instanceof RegExp?(0, oe.regexpCode)(w):u.code.formats?(0, oe._)`${u.code.formats}${(0, oe.getProperty)(o)}`:void 0,R=r.scopeValue("formats",{key:o,ref:w,code:A});return typeof w=="object"&&!(w instanceof RegExp)?[w.type||"string",w.validate,(0, oe._)`${R}.validate`]:["string",w,R]}function _(){if(typeof p=="object"&&!(p instanceof RegExp)&&p.async){if(!d.$async)throw new Error("async format in sync schema");return (0, oe._)`await ${y}(${n})`}return typeof m=="function"?(0, oe._)`${y}(${n})`:(0, oe._)`${y}.test(${n})`}}}};wo.default=dh;});var Eu=$(ko=>{Object.defineProperty(ko,"__esModule",{value:true});var lh=Cu(),fh=[lh.default];ko.default=fh;});var xu=$(Dt=>{Object.defineProperty(Dt,"__esModule",{value:true});Dt.contentVocabulary=Dt.metadataVocabulary=void 0;Dt.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Dt.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"];});var Au=$(_o=>{Object.defineProperty(_o,"__esModule",{value:true});var ph=Di(),mh=Xi(),hh=Ru(),gh=Eu(),Tu=xu(),yh=[ph.default,mh.default,(0, hh.default)(),gh.default,Tu.metadataVocabulary,Tu.contentVocabulary];_o.default=yh;});var Pu=$(yn=>{Object.defineProperty(yn,"__esModule",{value:true});yn.DiscrError=void 0;var Iu;(function(t){t.Tag="tag",t.Mapping="mapping";})(Iu||(yn.DiscrError=Iu={}));});var ju=$(Ro=>{Object.defineProperty(Ro,"__esModule",{value:true});var Ft=L(),$o=Pu(),Ou=Qr(),vh=cr(),bh=K(),Sh={message:({params:{discrError:t,tagName:e}})=>t===$o.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0, Ft._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},wh={keyword:"discriminator",type:"object",schemaType:"object",error:Sh,code(t){let{gen:e,data:r,schema:n,parentSchema:s,it:o}=t,{oneOf:a}=s;if(!o.opts.discriminator)throw new Error("discriminator: requires discriminator option");let i=n.propertyName;if(typeof i!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!a)throw new Error("discriminator: requires oneOf keyword");let u=e.let("valid",false),c=e.const("tag",(0, Ft._)`${r}${(0, Ft.getProperty)(i)}`);e.if((0, Ft._)`typeof ${c} == "string"`,()=>d(),()=>t.error(false,{discrError:$o.DiscrError.Tag,tag:c,tagName:i})),t.ok(u);function d(){let h=b();e.if(false);for(let p in h)e.elseIf((0, Ft._)`${c} === ${p}`),e.assign(u,f(h[p]));e.else(),t.error(false,{discrError:$o.DiscrError.Mapping,tag:c,tagName:i}),e.endIf();}function f(h){let p=e.name("valid"),l=t.subschema({keyword:"oneOf",schemaProp:h},p);return t.mergeEvaluated(l,Ft.Name),p}function b(){var h;let p={},l=y(s),m=true;for(let _=0;_<a.length;_++){let w=a[_];if(w?.$ref&&!(0, bh.schemaHasRulesButRef)(w,o.self.RULES)){let R=w.$ref;if(w=Ou.resolveRef.call(o.self,o.schemaEnv.root,o.baseId,R),w instanceof Ou.SchemaEnv&&(w=w.schema),w===void 0)throw new vh.default(o.opts.uriResolver,o.baseId,R)}let A=(h=w?.properties)===null||h===void 0?void 0:h[i];if(typeof A!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${i}"`);m=m&&(l||y(w)),g(A,_);}if(!m)throw new Error(`discriminator: "${i}" must be required`);return p;function y({required:_}){return Array.isArray(_)&&_.includes(i)}function g(_,w){if(_.const)S(_.const,w);else if(_.enum)for(let A of _.enum)S(A,w);else throw new Error(`discriminator: "properties/${i}" must have "const" or "enum"`)}function S(_,w){if(typeof _!="string"||_ in p)throw new Error(`discriminator: "${i}" values must be unique strings`);p[_]=w;}}}};Ro.default=wh;});var Nu=$((sv,kh)=>{kh.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:true,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:true,readOnly:{type:"boolean",default:false},examples:{type:"array",items:true},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:true},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:false},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:true,enum:{type:"array",items:true,minItems:1,uniqueItems:true},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:true}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:true};});var Du=$((Z,Co)=>{Object.defineProperty(Z,"__esModule",{value:true});Z.MissingRefError=Z.ValidationError=Z.CodeGen=Z.Name=Z.nil=Z.stringify=Z.str=Z._=Z.KeywordCxt=Z.Ajv=void 0;var _h=Ii(),$h=Au(),Rh=ju(),qu=Nu(),Ch=["/properties"],vn="http://json-schema.org/draft-07/schema",Mt=class extends _h.default{_addVocabularies(){super._addVocabularies(),$h.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(Rh.default);}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(qu,Ch):qu;this.addMetaSchema(e,vn,false),this.refs["http://json-schema.org/schema"]=vn;}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(vn)?vn:void 0)}};Z.Ajv=Mt;Co.exports=Z=Mt;Co.exports.Ajv=Mt;Object.defineProperty(Z,"__esModule",{value:true});Z.default=Mt;var Eh=ur();Object.defineProperty(Z,"KeywordCxt",{enumerable:true,get:function(){return Eh.KeywordCxt}});var Lt=L();Object.defineProperty(Z,"_",{enumerable:true,get:function(){return Lt._}});Object.defineProperty(Z,"str",{enumerable:true,get:function(){return Lt.str}});Object.defineProperty(Z,"stringify",{enumerable:true,get:function(){return Lt.stringify}});Object.defineProperty(Z,"nil",{enumerable:true,get:function(){return Lt.nil}});Object.defineProperty(Z,"Name",{enumerable:true,get:function(){return Lt.Name}});Object.defineProperty(Z,"CodeGen",{enumerable:true,get:function(){return Lt.CodeGen}});var xh=Yr();Object.defineProperty(Z,"ValidationError",{enumerable:true,get:function(){return xh.default}});var Th=cr();Object.defineProperty(Z,"MissingRefError",{enumerable:true,get:function(){return Th.default}});});var Or="b64:";function Pc(t){let e=new TextEncoder().encode(t),r=globalThis.Buffer,n;if(r)n=r.from(e).toString("base64");else if(typeof btoa=="function"){let s="";for(let o of e)s+=String.fromCharCode(o);n=btoa(s);}else throw new Error("No base64 encoder available in this runtime");return n.replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}function Oc(t){let e=t.replace(/-/g,"+").replace(/_/g,"/")+"=".repeat((4-t.length%4)%4),r=globalThis.Buffer;if(r)return r.from(e,"base64").toString("utf8");if(typeof atob=="function"){let n=atob(e),s=new Uint8Array(n.length);for(let o=0;o<n.length;o+=1)s[o]=n.charCodeAt(o);return new TextDecoder().decode(s)}throw new Error("No base64 decoder available in this runtime")}function se(t){return `${Or}${Pc(JSON.stringify(t))}`}function be(t){if(!t.startsWith(Or))throw new Error(`Invalid ref format (expected ${Or}<base64url(json)>): ${t}`);let e;try{e=JSON.parse(Oc(t.slice(Or.length)));}catch{throw new Error(`Invalid ref format (malformed base64url/json): ${t}`)}if(!e||typeof e!="object")throw new Error(`Invalid ref format (expected object payload): ${t}`);let r=e;if(typeof r.kind!="string"||typeof r.value!="string")throw new Error(`Invalid ref format (payload must contain string kind/value): ${t}`);return {kind:r.kind,value:r.value}}async function Go(t,e,r){let n=t.tryAcquire();if(!n)return false;try{await e();}finally{n();}return r?.(),true}function Kt(t,e,r=".json"){let n=ie.join(t,".tmp");return T.mkdirSync(n,{recursive:true}),ie.join(n,`${e}-${Date.now()}-${Math.random().toString(36).slice(2,8)}${r}`)}function Nr(...t){return ie.join(...t)}function Ut(...t){return ie.resolve(...t)}function Ho(t){return ie.isAbsolute(t)}function jn(){return randomUUID()}function zo(t){return createHash("sha256").update(t).digest("hex")}function Wo(t){return ie.dirname(fileURLToPath(t))}function Mc(t){if(typeof t=="object"&&t!==null){let{command:r,args:n=[],...s}=t,o=Uo(r,n);return {...s,command:o.command,args:o.args}}let e=Yo(t);if(e.length===0)throw new Error(`Empty command spec: ${JSON.stringify(t)}`);return Uo(e[0],e.slice(1))}function Uo(t,e){return /^(node|node\.exe)$/i.test(t)?{command:process.execPath,args:e}:/\.m?js$/i.test(t)?{command:process.execPath,args:[t,...e]}:{command:t,args:e}}function Yo(t){let e=[],r="",n=null;for(let s of t.trim()){if(n){s===n?n=null:r+=s;continue}if(s==='"'||s==="'"){n=s;continue}if(/\s/.test(s)){r&&(e.push(r),r="");continue}r+=s;}if(n)throw new Error(`Unterminated quote in command: ${t}`);return r&&e.push(r),e}function Nn(t){return process.platform==="win32"&&/\.(cmd|bat)$/i.test(t)}function Xo(t,e){let{command:r,args:n=[],cwd:s,env:o,timeoutMs:a}=t;return execFileSync(r,n,{shell:Nn(r),timeout:a,encoding:e?.encoding??"utf-8",cwd:s,windowsHide:true,env:o?{...process.env,...o}:void 0,input:e?.input})}function Lc(t,e){let{command:r,args:n=[],cwd:s,env:o,timeoutMs:a=3e4}=t;execFile(r,n,{shell:Nn(r),encoding:"utf8",windowsHide:true,timeout:a,maxBuffer:10*1024*1024,cwd:s,env:o?{...process.env,...o}:void 0},(i,u,c)=>e(i??null,u,c));}ie.join(On.tmpdir(),".board-live-cards-git-bash-cache.json");function qr(t){let{command:e,args:r=[]}=t;if(process.platform==="win32"){spawn(e,r,{detached:true,stdio:"ignore",windowsHide:true,shell:Nn(e)}).unref();return}spawn(e,r,{detached:true,stdio:"ignore"}).unref();}function qn(t,e,r){let n=ie.join(t,"board-live-cards-cli.js");if(T.existsSync(n))return {cmd:process.execPath,args:[n,e,...r]};let s=ie.join(t,"board-live-cards-cli.ts"),o=ie.join(t,"..","..","node_modules","tsx","dist","cli.mjs"),a=ie.join(t,"..","..","node_modules",".bin","tsx"),i=T.existsSync(o)?o:a;return T.existsSync(s)&&T.existsSync(i)?{cmd:process.execPath,args:[i,s,e,...r]}:{cmd:process.platform==="win32"?"npx.cmd":"npx",args:["tsx",s,e,...r]}}function Qo(t){let e=ie.join(t,"..","..","..","board-live-cards-cli.js");if(T.existsSync(e))return e;let r=ie.join(t,"..","..","board-live-cards-cli.js");if(T.existsSync(r))return r;let n=ie.join(t,"board-live-cards-cli.js");if(T.existsSync(n))return n;throw new Error(`resolveBoardCliCallbackTarget: cannot find callback target in ${t} (expected ../board-live-cards-cli.js wrapper or ${n})`)}function Zo(t,e,r){let n=["--base-ref",se(e)];r&&n.push("--notify-channel",r);let{cmd:s,args:o}=qn(t,"process-accumulated-events",n);qr({command:s,args:o});}function Vc(t){return process.platform==="win32"?`\\\\.\\pipe\\${t}`:ie.join(On.tmpdir(),`${t}.sock`)}var jr=new Map;function ea(t,e,r){if(e.length===0)return;let n=e.map(i=>JSON.stringify(i)).join(`
10
- `)+`
11
- `,s=jr.get(t);if(s&&!s.socket.destroyed){s.ready?s.socket.write(n):s.queue.push(n);return}let o=Vc(t),a=Jo.createConnection(o);s={socket:a,ready:false,queue:[n]},jr.set(t,s),a.on("connect",()=>{s.ready=true;for(let i of s.queue)a.write(i);s.queue.length=0;}),a.on("error",i=>{r?.(`[named-pipe publish] ${o}: ${i instanceof Error?i.message:String(i)}`),jr.delete(t);}),a.on("close",()=>{jr.delete(t);});}function Dn(){return {executeSync(t,e,r){return Xo({command:t,args:e,cwd:r?.cwd,timeoutMs:r?.timeout,env:r?.env},{encoding:r?.encoding,input:r?.input})},executeAsync(t,e,r){Lc({command:t,args:e},r);},resolveInvocation(t,e){let r=Mc({command:t,args:e});return {cmd:r.command,args:r.args??[]}},splitCommand:Yo,spawnDetached(t,e){qr({command:t,args:e});}}}var ta=createRequire(import.meta.url);function Gc(){try{return ta("./jsonata-sync.cjs")}catch{return ta("../../card-compute/jsonata-sync.cjs")}}Gc();var Jc=createRequire(import.meta.url),Hc=Jc("../../card-compute/jsonata-sync.cjs");async function ra(t,e){return Hc(t).evaluate(e)}async function zc(t,e){let r=await ra(t,e);if(typeof r!="string")throw new Error(`argsMassaging expression did not produce a string: ${t} \u2192 ${JSON.stringify(r)}`);return r}function Wc(t,e){let r=typeof t=="object"?t.value:be(t).value;switch(r){case "source-cli-task-executor":{let n=ie.join(e,"source-cli-task-executor.js");if(T.existsSync(n))return {command:process.execPath,args:[n]};let s=ie.join(e,"source-cli-task-executor.ts"),o=ie.join(e,"..","..","node_modules","tsx","dist","cli.mjs"),a=ie.join(e,"..","..","node_modules",".bin","tsx"),i=T.existsSync(o)?o:a;return T.existsSync(s)&&T.existsSync(i)?{command:process.execPath,args:[i,s]}:{command:process.execPath,args:[n]}}case "board-live-cards":{let{cmd:n,args:s}=qn(e,"_",[]);return {command:n,args:s}}default:throw new Error(`resolveBuiltIn: unknown built-in name "${r}". Supported: source-cli-task-executor, board-live-cards`)}}function na(t,e){if(t.howToRun==="built-in"){let{command:n,args:s}=Wc(t.whatToRun,e);return {command:n,baseArgs:s}}let r=typeof t.whatToRun=="object"?t.whatToRun.value:be(t.whatToRun).value;switch(t.howToRun){case "local-node":return {command:process.execPath,baseArgs:[r]};case "local-python":return {command:process.platform==="win32"?"python":"python3",baseArgs:[r]};case "local-process":return {command:r,baseArgs:[]};default:throw new Error(`resolveBaseInvocation: howToRun "${t.howToRun}" is not a local transport`)}}function Yc(t,e){let r=[t.subcommand];return t.inRef&&r.push("--in-ref",t.inRef),t.outRef&&r.push("--out-ref",t.outRef),t.errRef&&r.push("--err-ref",t.errRef),e&&r.push("--extra",Buffer.from(JSON.stringify(e)).toString("base64")),r}function Xc(t,e){return {subcommand:t.subcommand,...t.inRef?{inRef:t.inRef}:{},...t.outRef?{outRef:t.outRef}:{},...t.errRef?{errRef:t.errRef}:{},...e?{extra:e}:{}}}function sa(t,e){return na(t,e)}async function Qc(t,e){let r,n,s={...e,whatToRun:t.whatToRun};if(t.argsMassaging?.urlTemplate?r=await zc(t.argsMassaging.urlTemplate,s):r=typeof t.whatToRun=="object"?t.whatToRun.value:be(t.whatToRun).value,t.argsMassaging?.bodyTemplate){let i=await ra(t.argsMassaging.bodyTemplate,s);if(typeof i!="object"||i===null)throw new Error(`bodyTemplate must produce an object, got: ${JSON.stringify(i)}`);n=i;}else n=Xc(e,t.extra);let o=await fetch(r,{method:t.howToRun==="http:get"?"GET":"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!o.ok){let i=await o.text().catch(()=>"");return {status:"error",error:`HTTP ${o.status}: ${i}`}}let a=await o.json().catch(()=>null);return a&&typeof a.status=="string"?a:{status:"success"}}function oa(t,e,r){if(t.howToRun==="http:post"||t.howToRun==="http:get"){Qc(t,e).catch(i=>{console.error(`[dispatchTaskExecutorDetached] HTTP dispatch failed: ${i.message}`);});return}let{command:s,baseArgs:o}=na(t,r),a=Yc(e,t.extra);qr({command:s,args:[...o,...a]});}function Zc(){return {read(t){if(!T.existsSync(t))return null;try{return T.readFileSync(t,"utf-8")}catch{return null}},write(t,e){T.mkdirSync(ie.dirname(t),{recursive:true}),T.writeFileSync(t,e,"utf-8");}}}function aa(t){return Zc();}function zt(t,e){if(process.platform!=="win32"){T.renameSync(t,e);return}let r=[10,20,40,80,160];for(let n=0;n<=r.length;n++)try{T.renameSync(t,e);return}catch(s){let o=s.code;if((o==="EPERM"||o==="EBUSY")&&n<r.length){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,r[n]);continue}throw s}}function Dr(t){function e(s){return ie.join(t,...s.split("/"))}function r(s){return ie.relative(t,s).replace(/\\/g,"/")}function n(s,o){if(T.existsSync(s))for(let a of T.readdirSync(s,{withFileTypes:true})){let i=ie.join(s,a.name);if(a.isDirectory()){n(i,o);continue}a.isFile()&&o.push(r(i));}}return {read(s){let o=e(s);if(!T.existsSync(o))return null;try{return T.readFileSync(o,"utf-8")}catch{return null}},write(s,o){let a=e(s),i=`${a}.${process.pid}.${randomUUID()}.tmp`;T.mkdirSync(ie.dirname(a),{recursive:true}),T.writeFileSync(i,o,"utf-8"),zt(i,a);},exists(s){return T.existsSync(e(s))},remove(s){let o=e(s);try{T.existsSync(o)&&T.unlinkSync(o);}catch{}},readBytes(s){let o=e(s);if(!T.existsSync(o))return null;try{return new Uint8Array(T.readFileSync(o))}catch{return null}},writeBytes(s,o){let a=e(s),i=`${a}.${process.pid}.${randomUUID()}.tmp`;T.mkdirSync(ie.dirname(a),{recursive:true}),T.writeFileSync(i,Buffer.from(o)),zt(i,a);},listKeys(s){let o=[];n(t,o);let a=o.sort();return s?a.filter(i=>i.startsWith(s)):a},stat(s){let o=e(s);if(!T.existsSync(o))return null;try{let a=T.statSync(o);return {key:s,size:Number(a.size||0),updatedAt:new Date(a.mtimeMs).toISOString()}}catch{return null}}}}function Ln(){return {read(t){if(!T.existsSync(t))return null;try{return T.readFileSync(t,"utf-8")}catch{return null}},write(t,e){let r=`${t}.${process.pid}.${randomUUID()}.tmp`;T.mkdirSync(ie.dirname(t),{recursive:true}),T.writeFileSync(r,e,"utf-8"),zt(r,t);},exists(t){return T.existsSync(t)},remove(t){try{T.existsSync(t)&&T.unlinkSync(t);}catch{}},readBytes(t){if(!T.existsSync(t))return null;try{return new Uint8Array(T.readFileSync(t))}catch{return null}},writeBytes(t,e){let r=`${t}.${process.pid}.${randomUUID()}.tmp`;T.mkdirSync(ie.dirname(t),{recursive:true}),T.writeFileSync(r,Buffer.from(e)),zt(r,t);},stat(t){if(!T.existsSync(t))return null;try{let e=T.statSync(t);return {key:t,size:Number(e.size||0),updatedAt:new Date(e.mtimeMs).toISOString()}}catch{return null}}}}function Vn(t){function e(n){return ie.join(t,...n.split("/"))+".json"}function r(n,s,o,a){if(T.existsSync(n))for(let i of T.readdirSync(n,{withFileTypes:true})){let u=s?`${s}/${i.name}`:i.name;if(i.isDirectory()){r(ie.join(n,i.name),u,o,a);continue}if(!i.isFile()||!i.name.endsWith(".json"))continue;let c=u.replace(/\.json$/,"");(!o||c.startsWith(o))&&a.push(c);}}return {read(n){let s=e(n);if(!T.existsSync(s))return null;try{return JSON.parse(T.readFileSync(s,"utf-8"))}catch{return null}},write(n,s){let o=e(n),a=`${o}.${process.pid}.${randomUUID()}.tmp`;T.mkdirSync(ie.dirname(o),{recursive:true}),T.writeFileSync(a,JSON.stringify(s,null,2),"utf-8"),zt(a,o);},delete(n){let s=e(n);try{T.existsSync(s)&&T.unlinkSync(s);}catch{}},listKeys(n){let s=[];return r(t,"",n,s),s.sort()}}}function Mn(t){if(t==null||typeof t!="object")return JSON.stringify(t);if(Array.isArray(t))return `[${t.map(Mn).join(",")}]`;let e=t;return `{${Object.keys(e).sort().map(n=>`${JSON.stringify(n)}:${Mn(e[n])}`).join(",")}}`}function ia(t){return createHash("sha256").update(Mn(t)).digest("hex")}function ua(t){let e=ie.join(t,"board-journal.jsonl");return {readAllEntries(){if(!T.existsSync(e))return [];let r=T.readFileSync(e,"utf-8").trim();return r?r.split(`
12
- `).filter(Boolean).map(n=>JSON.parse(n)):[]},appendEntry(r){T.appendFileSync(e,JSON.stringify(r)+`
13
- `,"utf-8");},generateId(){return randomUUID()}}}function ca(t){return {tryAcquire(){try{if(!T.existsSync(t)){T.mkdirSync(ie.dirname(t),{recursive:!0});try{T.writeFileSync(t,"{}",{flag:"wx"});}catch{}}return lockSync(t,{retries:0})}catch{return null}}}}var da={$schema:"http://json-schema.org/draft-07/schema#",$id:"https://nsreehari.github.io/boards/live-cards.schema.json",definitions:{bind_ref:{description:"A card data path reference, e.g. 'card_data.raw_quotes' or 'requires.upstream'",type:"string",pattern:"^(card_data|requires|fetched_sources|computed_values)(\\.|$)"},bind_or_literal:{description:"A literal value or a bind reference object",oneOf:[{type:"string"},{type:"number"},{type:"boolean"},{type:"array"},{type:"object",properties:{bind:{$ref:"#/definitions/bind_ref"}},required:["bind"]}]},compute_expr:{description:"A declarative JSON compute expression",type:"object",required:["fn"],properties:{fn:{type:"string",description:"Function name from the built-in vocabulary",enum:["sum","avg","min","max","count","first","last","add","sub","mul","div","round","abs","mod","gt","gte","lt","lte","eq","neq","if","and","or","not","concat","upper","lower","template","filter","pluck","map","sort","slice","flat","unique","group","get","default","now","diff_days","format_date"]},input:{description:"card_data.path, literal, array of inputs, or nested compute_expr",oneOf:[{type:"string"},{type:"number"},{type:"boolean"},{type:"array"},{$ref:"#/definitions/compute_expr"}]},field:{type:"string",description:"For pluck/sum/group \u2014 the object key to extract"},where:{$ref:"#/definitions/compute_expr",description:"For filter \u2014 predicate expression ($ = current item)"},cond:{$ref:"#/definitions/compute_expr",description:"For if \u2014 condition expression"},then:{description:"For if \u2014 value when cond is truthy"},else:{description:"For if \u2014 value when cond is falsy"},format:{type:"string",description:"For format_date \u2014 date format string"}}},meta:{type:"object",properties:{title:{type:"string"},tags:{type:"array",items:{type:"string"}}}},requires:{type:"array",items:{type:"string"},description:"IDs of upstream nodes this node depends on"},provides:{type:"array",items:{type:"object",required:["bindTo","ref"],properties:{bindTo:{type:"string",description:"Token name published downstream"},ref:{type:"string",description:"Path to read value from (card_data.*, requires.*, fetched_sources.*, computed_values.*)"}}},description:"Explicit bindings exposing computed or card_data values downstream as named tokens"},compute_step:{description:"A single ordered compute step: reads card_data.*/requires.*/computed_values.*, writes to computed_values[bindTo]",type:"object",required:["bindTo","expr"],properties:{bindTo:{type:"string",description:"Key in computed_values to write result"},expr:{type:"string",description:"JSONata expression evaluated against { card_data, requires, fetched_sources, computed_values }"}}},source_def:{description:"One source entry. The engine requires 'bindTo' (compute namespace key) and 'outputFile' (delivery signal path). bindTo and outputFile must be unique across all source_defs in a card. Every other property is yours \u2014 add whatever your task-executor needs: kind, url, headers, mailbox, channel, model, query, etc. The full object is passed verbatim as the --in JSON to the executor.",type:"object",required:["bindTo","outputFile"],additionalProperties:true,properties:{bindTo:{type:"string",description:"Key under fetched_sources.* available in compute expressions"},outputFile:{type:"string",description:"Board-relative path the executor writes its JSON result to. Presence of this file signals delivery."},projections:{type:"object",description:"Named data projections from card_data or requires, evaluated before the executor is called. Each key is a ref name; each value is a JSONata expression rooted at card_data or requires. The resolved values are passed to the executor as _projections. fetched_sources, computed_values, and source_defs are not accessible here \u2014 sources run before those exist.",additionalProperties:{type:"string"}},optionalForCompletionGating:{type:"boolean",default:false,description:"When true this source does not gate card completion. Default false when absent, so source_defs are completion-gating by default."},timeout:{type:"integer",minimum:0,default:12e4,description:"Executor/script timeout in ms. Default: 120 000 (2 min)."},script:{type:"string",description:"Legacy direct-run: shell command executed when no .task-executor is registered. stdout is captured as the result."}}},render_element:{type:"object",required:["kind"],properties:{id:{type:"string",description:"Optional element ID for targeted updates"},kind:{enum:["metric","table","editable-table","chart","form","filter","list","notes","todo","alert","narrative","badge","text","markdown","ref","custom","actions"]},label:{type:"string",description:"Heading above this element"},className:{type:"string",description:"Bootstrap grid class, e.g. 'col-12 col-md-6'"},visible:{type:"string",description:"card_data/requires/fetched_sources/computed_values path \u2014 element shown only if truthy"},data:{type:"object",properties:{bind:{$ref:"#/definitions/bind_ref",description:"card_data/requires/fetched_sources/computed_values path to read data from"},writeTo:{$ref:"#/definitions/bind_ref",description:"card_data path for user input (form, filter, todo, notes)"},columns:{type:"array",items:{type:"string"},description:"table: visible columns"},maxRows:{type:"integer",description:"table/list: max rows to display"},sortable:{type:"boolean",default:true,description:"table: enable click-to-sort"},placeholder:{type:"string",description:"Empty-state message"},chartType:{enum:["bar","line","pie","doughnut"]},chartOptions:{type:"object",description:"Chart.js options passthrough"},fields:{type:"object",description:"JSON Schema for form/filter fields"},thresholds:{type:"object",properties:{green:{type:"string"},amber:{type:"string"}}},colorMap:{type:"object",description:"badge: value \u2192 Bootstrap color"},style:{enum:["heading","muted","default"],description:"text: display style"},upload:{type:"boolean",default:true,description:"file-upload: show drop zone (false = read-only file list)"},accept:{type:"array",items:{type:"string"},description:"file-upload: allowed extensions"},multiple:{type:"boolean",default:true,description:"file-upload: allow multiple files"},fileAttach:{type:"boolean",default:false,description:"chat: enable inline file attachments"},fileAccept:{type:"array",items:{type:"string"},description:"chat: allowed attachment extensions"},buttons:{type:"array",description:"actions: button definitions",items:{type:"object",required:["id","label"],properties:{id:{type:"string"},label:{type:"string"},style:{type:"string",description:"Bootstrap button variant, e.g. 'success', 'outline-danger'"},size:{type:"string",default:"sm"},disabled:{oneOf:[{type:"boolean"},{type:"string",description:"card_data/requires/fetched_sources/computed_values path \u2014 truthy = disabled"}]}}}}}}}},view:{type:"object",required:["elements"],properties:{elements:{type:"array",minItems:1,items:{$ref:"#/definitions/render_element"}},layout:{type:"object",properties:{board:{type:"object",properties:{col:{type:"integer",minimum:1,maximum:12},order:{type:"integer"}}},canvas:{type:"object",properties:{x:{type:"number"},y:{type:"number"},w:{type:"number"},h:{type:"number"}}}}},features:{type:"object",properties:{chat:{type:"boolean",default:false},notes:{type:"boolean",default:false},refresh:{type:"boolean",default:true}}}}}},title:"LiveCard",description:"A unified card node. Behavior depends on which sections are present (source_defs, compute, view, etc.)",type:"object",required:["id"],additionalProperties:false,properties:{id:{type:"string"},requires:{$ref:"#/definitions/requires"},provides:{$ref:"#/definitions/provides"},meta:{$ref:"#/definitions/meta"},view:{$ref:"#/definitions/view"},card_data:{type:"object",description:"Authored card data and runtime metadata. Includes uploaded-file metadata maintained by host handlers and inference evaluation results.",properties:{files:{type:"array",description:"Optional uploaded-file metadata maintained by host handlers. Stored name is normalized and serial-prefixed (for example 001-my_file.pdf).",items:{type:"object",required:["name","stored_name"],properties:{name:{type:"string",minLength:1},stored_name:{type:"string",minLength:5,maxLength:32,pattern:"^[0-9]{3,}-[a-z0-9._-]+$"},size:{oneOf:[{type:"integer",minimum:0},{type:"null"}]},mime_type:{type:"string"},path:{type:"string",pattern:"^[^\\s]+/files/[0-9]{3,}-[a-z0-9._-]+$"},uploaded_at:{type:"string",format:"date-time"}},additionalProperties:false}}},additionalProperties:true},source_defs:{type:"array",description:"Source entries. Each entry is passed verbatim to the board's .task-executor (registered via init --task-executor) as the --in JSON file. The executor fetches/generates the data and writes JSON to --out. If no executor is registered, the built-in executor runs the entry's 'cli' command directly. Sources gate completion by default. Set optionalForCompletionGating: true for enrichment-only source_defs that should not block task-completed.",items:{$ref:"#/definitions/source_def"}},compute:{type:"array",description:"Ordered array of compute steps. Each reads card_data.*/requires.*/fetched_sources.*/computed_values.* and writes to ephemeral computed_values[bindTo].",items:{$ref:"#/definitions/compute_step"}}}};var Lu=Ic(Du());var Ph=createRequire(import.meta.url),Oh=Ph("./jsonata-sync.cjs"),bn=null;var Fu=/\b(card_data|requires|fetched_sources|computed_values|source_defs)\b/g,jh=/^\s*(card_data|requires|fetched_sources|computed_values|source_defs)(\.|$)/;function Nh(t){let e=new Set,r;for(Fu.lastIndex=0;(r=Fu.exec(t))!==null;)e.add(r[1]);return e}function Vu(t){let e=jh.exec(t);return e?e[1]:null}function Mu(t,e,r,n){try{Oh(t);}catch(o){let a=o instanceof Error?o.message:String(o);n.push(`${e}: invalid JSONata expression (${a})`);return}let s=Nh(t);for(let o of s)r.has(o)||n.push(`${e}: disallowed namespace "${o}" in expression`);}function Eo(t,e,r){if(Array.isArray(t)){t.forEach((s,o)=>{Eo(s,`${e}/${o}`,r);});return}if(typeof t=="string"){let s=Vu(t);if(!s)return;new Set(["card_data","requires","computed_values"]).has(s)||r.push(`${e}: disallowed namespace "${s}" in view reference`);return}if(!t||typeof t!="object")return;let n=t;for(let[s,o]of Object.entries(n))Eo(o,`${e}/${s}`,r);}function qh(){if(bn)return bn;let t=new Lu.default({allErrors:true});return Ah(t),bn=t.compile(da),bn}function Bu(t){let e=qh(),r=e(t),n=(e.errors??[]).map(s=>`${s.instancePath||"/"}: ${s.message??"unknown error"}`);if(t&&typeof t=="object"&&!Array.isArray(t)){let s=t.source_defs;if(Array.isArray(s)){let o=new Set,a=new Set;s.forEach((i,u)=>{if(!i||typeof i!="object"||Array.isArray(i))return;let c=i;typeof c.bindTo=="string"&&c.bindTo&&(o.has(c.bindTo)&&n.push(`/source_defs/${u}/bindTo: bindTo "${c.bindTo}" must be unique across all source_defs`),o.add(c.bindTo)),typeof c.outputFile=="string"&&c.outputFile&&(a.has(c.outputFile)&&n.push(`/source_defs/${u}/outputFile: outputFile "${c.outputFile}" must be unique across all source_defs`),a.add(c.outputFile));});}}return !r||n.length>0?{ok:false,errors:n}:{ok:true,errors:[]}}function Gu(t){let e=[];if(!t||typeof t!="object"||Array.isArray(t))return {ok:true,errors:[]};let r=t,n=r.compute;Array.isArray(n)&&n.forEach((c,d)=>{if(!c||typeof c!="object"||Array.isArray(c))return;let f=c.expr;typeof f!="string"||f.trim().length===0||Mu(f,`/compute/${d}/expr`,new Set(["card_data","requires","fetched_sources","computed_values"]),e);});let s=new Set(["card_data","requires","fetched_sources","computed_values"]),o=r.provides;Array.isArray(o)&&o.forEach((c,d)=>{if(!c||typeof c!="object"||Array.isArray(c))return;let f=c.ref;if(typeof f!="string"||f.trim().length===0)return;let b=Vu(f);b===null?e.push(`/provides/${d}/ref: path "${f}" must start with a valid namespace (${[...s].join(", ")})`):s.has(b)||e.push(`/provides/${d}/ref: disallowed namespace "${b}" in path "${f}" (valid: ${[...s].join(", ")})`);});let a=r.view;a&&typeof a=="object"&&!Array.isArray(a)&&Eo(a,"/view",e);let i=new Set(["card_data","requires"]),u=r.source_defs;return Array.isArray(u)&&u.forEach((c,d)=>{if(!c||typeof c!="object"||Array.isArray(c))return;let f=c.projections;if(!(!f||typeof f!="object"||Array.isArray(f)))for(let[b,h]of Object.entries(f))typeof h!="string"||h.trim().length===0||Mu(h,`/source_defs/${d}/projections/${b}`,i,e);}),{ok:e.length===0,errors:e}}function xo(t){let e=Bu(t);if(!e.ok)return e;let r=Gu(t);return r.ok?{ok:true,errors:[]}:{ok:false,errors:r.errors}}var nt={RUNNING:"running",COMPLETED:"completed",FAILED:"failed",INACTIVATED:"inactivated"};function Re(t){return t?Array.isArray(t.provides)?t.provides:[]:[]}function st(t){return t?Array.isArray(t.requires)?t.requires:[]:[]}function Ku(t){return t.tasks??{}}function To(t){return t?t.status===nt.FAILED||t.status===nt.INACTIVATED:false}function Uu(t,e){return t.refreshStrategy??e?.refreshStrategy??"data-changed"}function Ju(t){return t.maxExecutions}function Hu(t,e){let r=new Set;for(let[n,s]of Object.entries(e))if(s.status===nt.COMPLETED){let o=t.tasks[n];o&&Re(o).forEach(i=>r.add(i));}return Array.from(r)}function zu(t,e){let r={};return t.forEach(n=>{let s=e[n];if(!s)return;Re(s).forEach(a=>{r[a]||(r[a]=[]),r[a].push(n);});}),r}function Wu(t,e,r){let n=t.tasks[e]??Sn(),s={};if(r){let a=r.tasks[e],i=st(a);for(let u of i)for(let[c,d]of Object.entries(r.tasks))if(Re(d).includes(u)){let f=t.tasks[c];f?.lastDataHash&&(s[u]=f.lastDataHash);break}}let o={...n,status:"running",startedAt:new Date().toISOString(),lastUpdated:new Date().toISOString(),progress:0,error:void 0,startConsumedHashes:s};return {...t,tasks:{...t.tasks,[e]:o},lastUpdated:new Date().toISOString()}}function Yu(t,e,r,n,s,o){let a=t.tasks[r]??Sn(),i=e.tasks[r];if(!i)throw new Error(`Task "${r}" not found in graph`);let u;n&&i.on&&i.on[n]?u=i.on[n]:u=Re(i);let c=a.startConsumedHashes?{...a.startConsumedHashes}:{...a.lastConsumedHashes};if(!a.startConsumedHashes){let b=i.requires??[];for(let h of b)for(let[p,l]of Object.entries(e.tasks))if(Re(l).includes(h)){let m=t.tasks[p];m?.lastDataHash&&(c[h]=m.lastDataHash);break}}let d={...a,status:"completed",completedAt:new Date().toISOString(),lastUpdated:new Date().toISOString(),executionCount:a.executionCount+1,lastEpoch:a.executionCount+1,lastDataHash:s,data:o,lastConsumedHashes:c,error:void 0},f=[...new Set([...t.availableOutputs,...u])];return {...t,tasks:{...t.tasks,[r]:d},availableOutputs:f,lastUpdated:new Date().toISOString()}}function Xu(t,e,r,n){let s=t.tasks[r]??Sn(),o=e.tasks[r];if(o?.retry){let u=s.retryCount+1;if(u<=o.retry.max_attempts){let c={...s,status:"not-started",retryCount:u,lastUpdated:new Date().toISOString(),error:n};return {...t,tasks:{...t.tasks,[r]:c},lastUpdated:new Date().toISOString()}}}let a={...s,status:"failed",failedAt:new Date().toISOString(),lastUpdated:new Date().toISOString(),error:n,executionCount:s.executionCount+1},i=t.availableOutputs;if(o?.on_failure&&o.on_failure.length>0&&(i=[...new Set([...t.availableOutputs,...o.on_failure])]),o?.circuit_breaker&&a.executionCount>=o.circuit_breaker.max_executions){let u=o.circuit_breaker.on_break;i=[...new Set([...i,...u])];}return {...t,tasks:{...t.tasks,[r]:a},availableOutputs:i,lastUpdated:new Date().toISOString()}}function Qu(t,e,r,n){let s=t.tasks[e]??Sn(),o={...s,progress:typeof n=="number"?n:s.progress,messages:[...s.messages??[],...r?[{message:r,timestamp:new Date().toISOString(),status:s.status}]:[]],lastUpdated:new Date().toISOString()};return {...t,tasks:{...t.tasks,[e]:o},lastUpdated:new Date().toISOString()}}function Zu(t,e){let r=t.tasks[e];if(!r)return t;let n={...r,status:"not-started",startedAt:void 0,completedAt:void 0,failedAt:void 0,error:void 0,data:void 0,progress:null,lastUpdated:new Date().toISOString()};return {...t,tasks:{...t.tasks,[e]:n},lastUpdated:new Date().toISOString()}}function Sn(){return {status:"not-started",executionCount:0,retryCount:0,lastEpoch:0,messages:[],progress:null}}function wn(t,e){let r=`live-${Date.now()}`,n={};for(let o of Object.keys(t.tasks))n[o]=tc();let s={status:"running",tasks:n,availableOutputs:[],stuckDetection:{is_stuck:false,stuck_description:null,outputs_unresolvable:[],tasks_blocked:[]},lastUpdated:new Date().toISOString(),executionId:r,executionConfig:{executionMode:t.settings.execution_mode??"eligibility-mode",conflictStrategy:t.settings.conflict_strategy??"alphabetical",completionStrategy:t.settings.completion}};return {config:t,state:s}}function Dh(t,e){let{config:r,state:n}=t;if("executionId"in e&&e.executionId&&e.executionId!==n.executionId)return t;switch(e.type){case "task-started":return {config:r,state:Wu(n,e.taskName,r)};case "task-completed":return {config:r,state:Yu(n,r,e.taskName,e.result,e.dataHash,e.data)};case "task-failed":return {config:r,state:Xu(n,r,e.taskName,e.error)};case "task-progress":return {config:r,state:Qu(n,e.taskName,e.message,e.progress)};case "task-restart":return {config:r,state:Zu(n,e.taskName)};case "inject-tokens":return {config:r,state:{...n,availableOutputs:[...new Set([...n.availableOutputs,...e.tokens])],lastUpdated:new Date().toISOString()}};case "agent-action":return {config:r,state:Kh(n,e.action)};case "task-upsert":return Fh(t,e.taskName,e.taskConfig);case "task-removal":return Mh(t,e.taskName);case "node-requires-add":return Lh(t,e.nodeName,e.tokens);case "node-requires-remove":return Vh(t,e.nodeName,e.tokens);case "node-provides-add":return Bh(t,e.nodeName,e.tokens);case "node-provides-remove":return Gh(t,e.nodeName,e.tokens);default:return t}}function ec(t,e){return e.reduce((r,n)=>Dh(r,n),t)}function Fh(t,e,r){let n=!!t.config.tasks[e];return {config:{...t.config,tasks:{...t.config.tasks,[e]:r}},state:{...t.state,tasks:{...t.state.tasks,[e]:n?t.state.tasks[e]:tc()},lastUpdated:new Date().toISOString()}}}function Mh(t,e){if(!t.config.tasks[e])return t;let{[e]:r,...n}=t.config.tasks,{[e]:s,...o}=t.state.tasks;return {config:{...t.config,tasks:n},state:{...t.state,tasks:o,lastUpdated:new Date().toISOString()}}}function Lh(t,e,r){let n=t.config.tasks[e];if(!n)return t;let s=st(n),o=r.filter(a=>!s.includes(a));return o.length===0?t:{config:{...t.config,tasks:{...t.config.tasks,[e]:{...n,requires:[...s,...o]}}},state:t.state}}function Vh(t,e,r){let n=t.config.tasks[e];if(!n)return t;let s=st(n),o=s.filter(a=>!r.includes(a));return o.length===s.length?t:{config:{...t.config,tasks:{...t.config.tasks,[e]:{...n,requires:o}}},state:t.state}}function Bh(t,e,r){let n=t.config.tasks[e];if(!n)return t;let s=Re(n),o=r.filter(a=>!s.includes(a));return o.length===0?t:{config:{...t.config,tasks:{...t.config.tasks,[e]:{...n,provides:[...s,...o]}}},state:t.state}}function Gh(t,e,r){let n=t.config.tasks[e];if(!n)return t;let s=Re(n),o=s.filter(a=>!r.includes(a));return o.length===s.length?t:{config:{...t.config,tasks:{...t.config.tasks,[e]:{...n,provides:o}}},state:t.state}}function _r(t){return {version:1,config:t.config,state:t.state,snapshotAt:new Date().toISOString()}}function kn(t){if(!t||typeof t!="object")throw new Error("Invalid snapshot: expected an object");let e=t;if(!e.config||typeof e.config!="object")throw new Error('Invalid snapshot: missing or invalid "config"');if(!e.state||typeof e.state!="object")throw new Error('Invalid snapshot: missing or invalid "state"');let r=e.config,n=e.state;if(!r.settings||typeof r.settings!="object")throw new Error("Invalid snapshot: config.settings missing");if(!r.tasks||typeof r.tasks!="object")throw new Error("Invalid snapshot: config.tasks missing");if(!n.tasks||typeof n.tasks!="object")throw new Error("Invalid snapshot: state.tasks missing");if(!Array.isArray(n.availableOutputs))throw new Error("Invalid snapshot: state.availableOutputs must be an array");return {config:r,state:n}}function tc(){return {status:"not-started",executionCount:0,retryCount:0,lastEpoch:0,messages:[],progress:null}}function Kh(t,e){let r=new Date().toISOString();switch(e){case "stop":return {...t,status:"stopped",lastUpdated:r};case "pause":return {...t,status:"paused",lastUpdated:r};case "resume":return {...t,status:"running",lastUpdated:r};default:return t}}function $r(t){let{config:e,state:r}=t,n=Ku(e);if(Object.keys(n).length===0)return {eligible:[],pending:[],unresolved:[],blocked:[],conflicts:{}};let o=Uh(n),a=Hu(e,r.tasks),i=new Set([...a,...r.availableOutputs]),u=[],c=[],d=[],f=[];for(let[h,p]of Object.entries(n)){let l=r.tasks[h],m=Uu(p,e.settings),y=m!=="once";if(l?.status===nt.RUNNING||To(l))continue;let g=Ju(p);if(g!==void 0&&l&&l.executionCount>=g||p.circuit_breaker&&l&&l.executionCount>=p.circuit_breaker.max_executions||!y&&l?.status===nt.COMPLETED)continue;if(y&&l?.status===nt.COMPLETED){let R=st(p),j=false;switch(m){case "data-changed":{R.length>0&&R.some(F=>{for(let[z,le]of Object.entries(n))if(Re(le).includes(F)){let ue=r.tasks[z];if(!ue)continue;let it=l.lastConsumedHashes?.[F];return ue.lastDataHash==null?ue.executionCount>l.lastEpoch:ue.lastDataHash!==it}return false})||(j=true);break}case "epoch-changed":{R.length>0&&R.some(F=>{for(let[z,le]of Object.entries(n))if(Re(le).includes(F)){let ue=r.tasks[z];if(ue&&ue.executionCount>l.lastEpoch)return true}return false})||(j=true);break}case "time-based":{let H=p.refreshInterval??0;if(H<=0){j=true;break}let F=l.completedAt;if(!F){j=true;break}(Date.now()-Date.parse(F))/1e3<H&&(j=true);break}case "manual":j=true;break}if(j)continue}let S=st(p);if(S.length===0){u.push(h);continue}let _=[],w=[],A=[];for(let R of S){if(i.has(R))continue;let j=o[R]||[];j.length===0?_.push(R):j.every(F=>To(r.tasks[F]))?A.push({token:R,failedProducer:j[0]}):w.push(R);}_.length>0?d.push({taskName:h,missingTokens:_}):A.length>0?f.push({taskName:h,failedTokens:A.map(R=>R.token),failedProducers:[...new Set(A.map(R=>R.failedProducer))]}):w.length>0?c.push({taskName:h,waitingOn:w}):u.push(h);}let b={};if(u.length>1){let h=zu(u,n);for(let[p,l]of Object.entries(h))l.length>1&&(b[p]=l);}return {eligible:u,pending:c,unresolved:d,blocked:f,conflicts:b}}function Uh(t){let e={};for(let[r,n]of Object.entries(t)){for(let s of Re(n))e[s]||(e[s]=[]),e[s].push(r);if(n.on)for(let s of Object.values(n.on))for(let o of s)e[o]||(e[o]=[]),e[o].includes(r)||e[o].push(r);if(n.on_failure)for(let s of n.on_failure)e[s]||(e[s]=[]),e[s].includes(r)||e[s].push(r);}return e}var Rr=class{buffer=[];append(e){this.buffer.push(e);}drain(){let e=this.buffer;return this.buffer=[],e}get size(){return this.buffer.length}};function Ao(t){let e=Io(t);return Jh(e)}function Io(t){if(t==null||typeof t!="object")return JSON.stringify(t);if(Array.isArray(t))return "["+t.map(Io).join(",")+"]";let e=t;return "{"+Object.keys(e).sort().map(n=>JSON.stringify(n)+":"+Io(e[n])).join(",")+"}"}function Jh(t){let e=0xcbf29ce484222325n,r=0x100000001b3n,n=0xffffffffffffffffn;for(let s=0;s<t.length;s++)e^=BigInt(t.charCodeAt(s)),e=e*r&n;return e.toString(16).padStart(16,"0")}function Hh(t){if(typeof Buffer<"u")return Buffer.from(t,"utf8").toString("base64url");if(typeof btoa=="function"){let e=new TextEncoder().encode(t),r="";for(let n of e)r+=String.fromCharCode(n);return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}throw new Error("No base64 encoder available in this runtime")}function zh(t){if(typeof Buffer<"u")return Buffer.from(t,"base64url").toString("utf8");if(typeof atob=="function"){let e=t.replace(/-/g,"+").replace(/_/g,"/"),r=e+"=".repeat((4-e.length%4)%4),n=atob(r),s=new Uint8Array(n.length);for(let o=0;o<n.length;o++)s[o]=n.charCodeAt(o);return new TextDecoder().decode(s)}throw new Error("No base64 decoder available in this runtime")}function rc(t){let e=JSON.stringify({t,n:Date.now().toString(36)+Math.random().toString(36).slice(2,6)});return Hh(e)}function Wh(t){try{let e=JSON.parse(zh(t));return typeof e?.t=="string"?{taskName:e.t}:null}catch{return null}}function nc(t,e,r){let{handlers:n,onDrain:s}=e,o=new Rr,a="state"in t&&"config"in t?t:wn(t),i=false,u=new Set,c=new Map(Object.entries(n)),d=new Rr,f=false,b=false;function h(){if(!i){if(f){b=true;return}f=true;try{do b=!1,p();while(b)}finally{f=false;}}}function p(){let g=d.drain(),S=o.drain(),_=[...g,...S];_.length>0&&(a=ec(a,_));let w=$r(a);_.length>0&&s?.(_,a,w);for(let A of w.eligible)y(A);for(let A of _)if(A.type==="task-progress"){let{taskName:R,update:j}=A;if(!a.config.tasks[R])continue;let F=a.state.tasks[R];if(!F||F.status!=="running")continue;let z=rc(R),le=m(R,z,j).catch(ue=>{i||(d.append({type:"task-failed",taskName:R,error:ue.message??String(ue),timestamp:new Date().toISOString()}),h());}).finally(()=>{u.delete(le);});u.add(le);}}function l(g){let _=a.config.tasks[g].requires??[],w=new Map;for(let[R,j]of Object.entries(a.config.tasks))for(let H of j.provides??[])w.set(H,R);let A={};for(let R of _){let j=w.get(R);j?A[R]=a.state.tasks[j]?.data:A[R]=void 0;}return A}async function m(g,S,_){let w=a.config.tasks[g],A=w.taskHandlers??[],R=l(g);for(let j of A){let H=c.get(j);if(!H)throw new Error(`Handler '${j}' not found in registry (task '${g}')`);let F={nodeId:g,state:R,taskState:a.state.tasks[g],config:w,callbackToken:S,update:_};if(await H(F)==="task-initiate-failure")throw new Error(`Handler '${j}' returned task-initiate-failure (task '${g}')`)}}function y(g){let _=a.config.tasks[g]?.taskHandlers;if(!_||_.length===0)return;d.append({type:"task-started",taskName:g,timestamp:new Date().toISOString()}),h();let w=rc(g),A=m(g,w).catch(R=>{i||(d.append({type:"task-failed",taskName:g,error:R.message??String(R),timestamp:new Date().toISOString()}),h());}).finally(()=>{u.delete(A);});u.add(A);}return {push(g){i||(g.type==="task-completed"&&g.data&&!g.dataHash&&(g={...g,dataHash:Ao(g.data)}),o.append(g),h());},pushAll(g){if(!i){for(let S of g)S.type==="task-completed"&&S.data&&!S.dataHash?o.append({...S,dataHash:Ao(S.data)}):o.append(S);h();}},resolveCallback(g,S,_){if(i)return;let w=Wh(g);if(!w)return;let{taskName:A}=w;if(a.config.tasks[A]){if(_&&_.length>0)o.append({type:"task-failed",taskName:A,error:_.join("; "),timestamp:new Date().toISOString()});else {let R=S&&Object.keys(S).length>0?Ao(S):void 0;o.append({type:"task-completed",taskName:A,data:S,dataHash:R,timestamp:new Date().toISOString()});}h();}},addNode(g,S){i||(o.append({type:"task-upsert",taskName:g,taskConfig:S,timestamp:new Date().toISOString()}),h());},removeNode(g){i||(o.append({type:"task-removal",taskName:g,timestamp:new Date().toISOString()}),h());},addRequires(g,S){i||(o.append({type:"node-requires-add",nodeName:g,tokens:S,timestamp:new Date().toISOString()}),h());},removeRequires(g,S){i||(o.append({type:"node-requires-remove",nodeName:g,tokens:S,timestamp:new Date().toISOString()}),h());},addProvides(g,S){i||(o.append({type:"node-provides-add",nodeName:g,tokens:S,timestamp:new Date().toISOString()}),h());},removeProvides(g,S){i||(o.append({type:"node-provides-remove",nodeName:g,tokens:S,timestamp:new Date().toISOString()}),h());},registerHandler(g,S){c.set(g,S);},unregisterHandler(g){c.delete(g);},retrigger(g){i||a.config.tasks[g]&&(o.append({type:"task-restart",taskName:g,timestamp:new Date().toISOString()}),h());},retriggerAll(g){if(!i){for(let S of g)a.config.tasks[S]&&o.append({type:"task-restart",taskName:S,timestamp:new Date().toISOString()});h();}},snapshot(){return _r(a)},getState(){return a},getSchedule(){return $r(a)},async waitForHandlers(){u.size>0&&await Promise.allSettled([...u]);},async dispose(g){g?.wait&&u.size>0&&await Promise.allSettled([...u]),i=true;}}}function Po(t){return JSON.stringify(t)}function Oo(t){let e;try{e=JSON.parse(t);}catch{throw new Error(`parseExecutionRef: invalid JSON \u2014 ${t}`)}if(typeof e!="object"||e===null||typeof e.howToRun!="string"||typeof e.whatToRun!="string")throw new Error(`parseExecutionRef: missing required fields howToRun/whatToRun \u2014 ${t}`);return e}var Xh=createRequire(import.meta.url),_n=Xh("./jsonata-sync.cjs"),ac=_n;function sc(t,e){if(!e||!t)return;let r=e.split("."),n=t;for(let s=0;s<r.length;s++){if(n==null)return;n=n[r[s]];}return n}function ic(t,e,r){let n=e.split("."),s=t;for(let o=0;o<n.length-1;o++)(s[n[o]]==null||typeof s[n[o]]!="object")&&(s[n[o]]={}),s=s[n[o]];s[n[n.length-1]]=r;}async function Qh(t,e){if(!t?.compute?.length)return t;t.card_data||(t.card_data={}),t.computed_values={},t._sourcesData=e?.sourcesData??{};let r=t.requires??{},n={card_data:t.card_data,requires:r,expects_data:r,fetched_sources:t._sourcesData,data:t.computed_values,computed_values:t.computed_values};for(let s of t.compute)try{let o=await _n(s.expr).evaluate(n);ic(t.computed_values,s.bindTo,o),n.computed_values=t.computed_values;}catch(o){console.error(`CardCompute.run error on "${t.id??"?"}.${s.bindTo}":`,o);}return t}function Zh(t,e){if(!t?.compute?.length)return {ok:true,node:t};t.card_data||(t.card_data={}),t.computed_values={},t._sourcesData=e?.sourcesData??{};let r=t.requires??{},n={card_data:t.card_data,requires:r,expects_data:r,fetched_sources:t._sourcesData,data:t.computed_values,computed_values:t.computed_values},s=[];for(let o of t.compute)try{let a=ac(o.expr).evaluate(n);ic(t.computed_values,o.bindTo,a),n.computed_values=t.computed_values;}catch(a){let i=a instanceof Error?a.message:String(a);s.push({bindTo:o.bindTo,error:i}),console.error(`CardCompute.runSync error on "${t.id??"?"}.${o.bindTo}":`,a);}return s.length>0?{ok:true,node:t,errors:s}:{ok:true,node:t}}async function eg(t,e,r){let n={...r??{},card_data:e.card_data??{},requires:e.requires??{},fetched_sources:e._sourcesData??{},computed_values:e.computed_values??{}};return _n(t).evaluate(n)}function tg(t,e){return e.startsWith("fetched_sources.")?sc(t._sourcesData??{},e.slice(16)):sc(t,e)}var oc=new Set(["metric","table","editable-table","chart","form","filter","list","notes","todo","alert","narrative","badge","text","markdown","ref","custom","actions"]),rg=new Set(["id","meta","requires","provides","view","card_data","compute","source_defs"]);function ng(t){let e=[];if(!t||typeof t!="object"||Array.isArray(t))return {ok:false,errors:["Node must be a non-null object"]};let r=t;(typeof r.id!="string"||!r.id)&&e.push("id: required, must be a non-empty string");for(let n of Object.keys(r))rg.has(n)||e.push(`Unknown top-level key: "${n}"`);if((r.card_data==null||typeof r.card_data!="object"||Array.isArray(r.card_data))&&e.push("card_data: required, must be an object"),r.meta!=null)if(typeof r.meta!="object"||Array.isArray(r.meta))e.push("meta: must be an object");else {let n=r.meta;n.title!=null&&typeof n.title!="string"&&e.push("meta.title: must be a string"),n.tags!=null&&!Array.isArray(n.tags)&&e.push("meta.tags: must be an array");}if(r.requires!=null&&!Array.isArray(r.requires)&&e.push("requires: must be an array of strings"),r.provides!=null&&(Array.isArray(r.provides)?r.provides.forEach((n,s)=>{if(!n||typeof n!="object"||Array.isArray(n))e.push(`provides[${s}]: must be an object with bindTo and ref`);else {let o=n;(typeof o.bindTo!="string"||!o.bindTo)&&e.push(`provides[${s}]: missing required "bindTo" string`),(typeof o.ref!="string"||!o.ref)&&e.push(`provides[${s}]: missing required "ref" string`);}}):e.push("provides: must be an array of { bindTo, ref } bindings")),r.compute!=null&&(Array.isArray(r.compute)?r.compute.forEach((n,s)=>{if(!n||typeof n!="object"||Array.isArray(n))e.push(`compute[${s}]: must be a compute step object`);else {let o=n;(typeof o.bindTo!="string"||!o.bindTo)&&e.push(`compute[${s}]: missing required "bindTo" property`),(typeof o.expr!="string"||!o.expr)&&e.push(`compute[${s}]: missing required "expr" string (JSONata expression)`);}}):e.push("compute: must be an array of compute steps")),r.source_defs!=null)if(!Array.isArray(r.source_defs))e.push("source_defs: must be an array");else {let n=new Set,s=new Set;r.source_defs.forEach((o,a)=>{if(!o||typeof o!="object"||Array.isArray(o))e.push(`source_defs[${a}]: must be an object`);else {let i=o;typeof i.bindTo!="string"||!i.bindTo?e.push(`source_defs[${a}]: missing required "bindTo" property`):(n.has(i.bindTo)&&e.push(`source_defs[${a}]: bindTo "${i.bindTo}" is not unique across source_defs`),n.add(i.bindTo)),typeof i.outputFile!="string"||!i.outputFile?e.push(`source_defs[${a}]: missing required "outputFile" property`):(s.has(i.outputFile)&&e.push(`source_defs[${a}]: outputFile "${i.outputFile}" is not unique across source_defs`),s.add(i.outputFile)),i.optionalForCompletionGating!=null&&typeof i.optionalForCompletionGating!="boolean"&&e.push(`source_defs[${a}]: optionalForCompletionGating must be a boolean`);}});}if(r.view!=null)if(typeof r.view!="object"||Array.isArray(r.view))e.push("view: must be an object");else {let n=r.view;!Array.isArray(n.elements)||n.elements.length===0?e.push("view.elements: required, must be a non-empty array"):n.elements.forEach((s,o)=>{if(!s||typeof s!="object"){e.push(`view.elements[${o}]: must be an object`);return}!s.kind||typeof s.kind!="string"?e.push(`view.elements[${o}].kind: required, must be a string`):oc.has(s.kind)||e.push(`view.elements[${o}].kind: unknown kind "${s.kind}". Valid: ${[...oc].join(", ")}`),s.data!=null&&(typeof s.data!="object"||Array.isArray(s.data))&&e.push(`view.elements[${o}].data: must be an object`);}),n.layout!=null&&(typeof n.layout!="object"||Array.isArray(n.layout))&&e.push("view.layout: must be an object"),n.features!=null&&(typeof n.features!="object"||Array.isArray(n.features))&&e.push("view.features: must be an object");}return {ok:e.length===0,errors:e}}async function sg(t,e){if(!t||t.length===0)return [];let r={card_data:e.card_data??{},requires:e.requires??{}};return Promise.all(t.map(async n=>{let s={};if(n.projections&&typeof n.projections=="object"&&!Array.isArray(n.projections)){for(let[o,a]of Object.entries(n.projections))if(typeof a=="string"&&a.trim().length>0)try{s[o]=await _n(a).evaluate(r);}catch{s[o]=void 0;}}return {...n,_projections:s}}))}function og(t,e){if(!t||t.length===0)return [];let r={card_data:e.card_data??{},requires:e.requires??{}};return t.map(n=>{let s={};if(n.projections&&typeof n.projections=="object"&&!Array.isArray(n.projections)){for(let[o,a]of Object.entries(n.projections))if(typeof a=="string"&&a.trim().length>0)try{s[o]=ac(a).evaluate(r);}catch{s[o]=void 0;}}return {...n,_projections:s}})}var $n={run:Qh,runSync:Zh,eval:eg,resolve:tg,validate:ng,enrichSources:sg,enrichSourcesSync:og};function Rn(t,e){function r(){return t.readIndex()??{}}function n(s,o,a){let i=String(o||"").split(".").filter(Boolean);if(i.length===0)return a&&typeof a=="object"&&!Array.isArray(a)?a:{value:a};let u={...s},c=u;for(let d=0;d<i.length-1;d++){let f=i[d],b=c[f],h=b&&typeof b=="object"&&!Array.isArray(b)?{...b}:{};c[f]=h,c=h;}return c[i[i.length-1]]=a,u}return {readCard(s){let o=r()[s];return !o||!t.cardExists(o.key)?null:t.readCard(o.key)},readCardKey(s){return r()[s]?.key??null},readAllCards(){let s=[];for(let[o,a]of Object.entries(r())){if(!t.cardExists(a.key))continue;let i=t.readCard(a.key);i?s.push(i):e?.(`[card-store] could not read card "${o}" at key "${a.key}"`);}return s},readChecksumIndex(){let s={};for(let[o,a]of Object.entries(r()))s[o]=a.checksum;return s},changedSince(s){let o=r(),a=[];for(let[i,u]of Object.entries(o))s[i]!==u.checksum&&a.push(i);for(let i of Object.keys(s))o[i]||a.push(i);return a},validateUpsert(s,o){let a=r(),i=a[s],u=Object.entries(a).find(([,c])=>c.key===o);return i&&i.key!==o?{ok:false,error:`Card id "${s}" is already mapped to key "${i.key}", cannot remap to "${o}"`}:u&&u[0]!==s?{ok:false,error:`Key "${o}" is already mapped to card id "${u[0]}", cannot remap to "${s}"`}:{ok:true}},writeCard(s,o,a){let i=r(),u=a??i[s]?.key??t.defaultCardKey(s),c=t.writeCard(u,o);i[s]={key:u,checksum:c,updatedAt:new Date().toISOString()},t.writeIndex(i);},patchCard(s,o,a){let i=r(),u=i[s];if(!u||!t.cardExists(u.key))throw new Error(`card "${s}" not found`);let c=t.readCard(u.key);if(!c||typeof c!="object"||Array.isArray(c))throw new Error(`card "${s}" is not patchable`);let d=n(c,o,a),f=t.writeCard(u.key,d);i[s]={key:u.key,checksum:f,updatedAt:new Date().toISOString()},t.writeIndex(i);},removeCard(s){let o=r();o[s]&&(delete o[s],t.writeIndex(o));},readIndex(){return r()}}}function jo(t,e){return {readSourceData(r,n){let s=t.read(`${r}/${n}`);if(s==null)return null;let o=s.trim();if(!o)return null;try{return JSON.parse(o)}catch{return o}},ingestSourceDataStaged(r,n,s,o){let a=e(s);t.write(`${r}/.staged/${o}/${n}`,a);},commitSourceData(r,n,s){let o=`${r}/.staged/${s}/${n}`,a=t.read(o);return a==null?false:(t.write(`${r}/${n}`,a),t.remove(o),true)},hasSource(r,n){return t.exists(`${r}/${n}`)}}}function dc(t){function e(r){let n=t.readAllEntries();if(!r)return n;let s=n.findIndex(o=>o.id===r);return s===-1?n:n.slice(s+1)}return {readEntriesAfterCursor(r){let n=e(r);return n.length===0?{events:[],newCursor:r}:{events:n.map(s=>s.event),newCursor:n[n.length-1].id}},pendingCount(r){return e(r).length},appendEvent(r){t.appendEntry({id:t.generateId(),event:r});}}}function lc(t,e){return {appendEntries(r,n){if(!r||n.length===0)return;let s=t.read(r)??[];t.write(r,[...s,...n]);},dispatchEntriesForJournalId(r,n){if(!r)return;let s=t.read(r);if(!(!s||s.length===0)){for(let o of s)try{n(o);}catch(a){let i=a instanceof Error?a.message:String(a);try{e(o,i);}catch{}}t.delete(r);}}}}var Cr="v1",ot="board/graph",fc="board/lastJournalProcessedId";function uc(t){return `cards/${t}/runtime`}function pc(t){return {readRuntime(e){return t.read(uc(e))??{_sources:{}}},writeRuntime(e,r){t.write(uc(e),r);}}}function ag(t,e){let r={...t};for(let n of e.deleteKeys)delete r[n];return {...r,...e.shallowMerge}}function mc(t){return {readSnapshot(e){return t.readValues(e)},commitSnapshot(e,r){if(r.schemaVersion!==Cr)throw new Error(`Unsupported snapshot schema version: ${r.schemaVersion}`);let n=t.readValues(e);if(n.version!==r.expectedVersion)return {ok:false,reason:"version-mismatch",currentVersion:n.version};let s=ag(n.values,r);return {ok:true,newVersion:t.writeValues(e,s,r.deleteKeys)}}}}function No(t){function e(r){let n=t.read(r);return n==null?null:typeof n=="string"?n:JSON.stringify(n)}return {readTaskExecutorRef(){let r=e("task-executor");if(r?.trim())return Oo(r.trim())},writeTaskExecutorRef(r){t.write("task-executor",Po(r));},readChatHandlerRef(){let r=e("chat-handler");if(r?.trim())return Oo(r.trim())},writeChatHandlerRef(r){t.write("chat-handler",Po(r));},readCardStoreRef(){return e("card-store-ref")},writeCardStoreRef(r){t.write("card-store-ref",r);},readOutputsStoreRef(){return e("outputs-store-ref")},writeOutputsStoreRef(r){t.write("outputs-store-ref",r);},readChatHandler(){return e("chat-handler")?.trim()||void 0},writeChatHandler(r){t.write("chat-handler",r);}}}function hc(t){return {writeComputedValues(e,r){t.write(`cards/${e}/computed_values`,r);},readComputedValues(e){return t.read(`cards/${e}/computed_values`)},readAllComputedValues(){let e={};for(let r of t.listKeys("cards/")){let n=r.match(/^cards\/([^/]+)\/computed_values$/);n&&(e[n[1]]=t.read(r));}return e},writeDataObjects(e){for(let[r,n]of Object.entries(e))r&&t.write(`data-objects/${r}`,n);},readDataObject(e){return t.read(`data-objects/${e}`)},readAllDataObjects(){let e={};for(let r of t.listKeys("data-objects/"))e[r.slice(13)]=t.read(r);return e},writeStatusSnapshot(e){t.write("status",e);},readStatusSnapshot(){return t.read("status")}}}function ig(t){return t?.lastRequestedAt?!t.lastFetchedAt||t.lastFetchedAt<t.lastRequestedAt:false}function ug(t,e){return t?.lastRequestedAt?ig(t)?"in-flight":!t.lastFetchedAt||t.lastFetchedAt<e?"dispatch":"idle":"dispatch"}function cg(t,e){let r={...t,lastFetchedAt:e};return delete r.lastError,r}function cc(t,e){let r={...t,lastError:e};return delete r.lastFetchedAt,r}function Cn(t,e){let r=e.state.tasks,n=e.config.tasks,s=Object.keys(r),o=$r(e),a={completed:0,failed:0,in_progress:0,pending:0,blocked:0,unresolved:0},i=new Map;for(let p of o.pending)i.set(p.taskName,p.waitingOn);for(let p of o.unresolved)i.set(p.taskName,p.missingTokens);for(let p of o.blocked)i.set(p.taskName,p.failedTokens);let u=new Map;for(let[p,l]of Object.entries(n))for(let m of l.requires??[]){let y=u.get(m)??[];y.push(p),u.set(m,y);}let c=s.sort().map(p=>{let l=r[p],m=n[p]??{requires:[],provides:[]};l.status==="completed"?a.completed+=1:l.status==="failed"?a.failed+=1:l.status==="in-progress"&&(a.in_progress+=1);let y=m.requires??[],g=m.provides??[],S=Object.keys(l.data??{}).sort(),_=y.filter(F=>e.state.availableOutputs.includes(F)),w=y.filter(F=>!e.state.availableOutputs.includes(F)),A=i.get(p)??w,R=new Set;for(let F of g)for(let z of u.get(F)??[])z!==p&&R.add(z);let j=l.failedAt,H=l.error?{message:l.error,code:"TASK_FAILED",at:j,source:"task-runtime"}:void 0;return {name:p,status:l.status,error:H,requires:y,requires_satisfied:_,requires_missing:w,provides_declared:g,provides_runtime:S,blocked_by:A,unblocks:Array.from(R).sort(),runtime:{attempt_count:l.executionCount??0,restart_count:l.retryCount??0,in_progress_since:l.status==="in-progress"?l.startedAt??null:null,last_transition_at:l.lastUpdated??null,last_completed_at:l.completedAt??null,last_restarted_at:l.startedAt??null,status_age_ms:l.lastUpdated?0:null}}});a.pending=o.pending.length,a.blocked=o.blocked.length,a.unresolved=o.unresolved.length;let d=c.map(p=>({name:p.name,fanOut:p.unblocks.length})).sort((p,l)=>l.fanOut-p.fanOut||p.name.localeCompare(l.name)),f=d.length>0?d[0]:{name:null,fanOut:0},b=new Set;for(let p of Object.values(n))for(let l of p.requires??[])b.add(l);let h=0;for(let[p,l]of Object.entries(n)){let m=(l.requires??[]).length===0,g=(l.provides??[]).some(S=>(u.get(S)??[]).some(_=>_!==p));m&&!g&&(h+=1);}return {schema_version:"v1",meta:{board:{path:t}},summary:{card_count:s.length,completed:a.completed,eligible:o.eligible.length,pending:a.pending,blocked:a.blocked,unresolved:a.unresolved,failed:a.failed,in_progress:a.in_progress,orphan_cards:h,topology:{edge_count:Array.from(b).length,max_fan_out_card:f.name,max_fan_out:f.fanOut}},cards:c}}function dg(){return new Date().toISOString()}function gc(t,e,r,n,s,o,a){return async i=>{let u=[],c=r.cardStore.readCard(i.nodeId);if(!c)return "task-initiate-failure";let d=c.id,f=c.card_data??{},b=c.source_defs??[],h=b.filter(M=>M.optionalForCompletionGating!==true),p=r.cardRuntimeStore.readRuntime(d),l=false,m=()=>{l&&(r.cardRuntimeStore.writeRuntime(d,p),l=false);},y=M=>({...p._sources[M]??{}}),g=(M,B)=>{p._sources[M]=B,l=true;},S=i.taskState?.executionCount??0,_=p._lastExecutionCount;if(typeof _=="number"&&_!==S&&(p._sources={},l=true),_!==S&&(p._lastExecutionCount=S,l=true),i.update){let M=i.update,B=M.outputFile;if(B){let k=y(B);if(M.failure)g(B,cc(k,M.reason??"unknown"));else {let v=M.rqt;if(!k.lastFetchedAt||v>k.lastFetchedAt){let C=typeof M.deliveryToken=="string"?M.deliveryToken:void 0,I=false;C&&(I=r.fetchedSourcesStore.commitSourceData(d,B,C)),I?g(B,cg(k,v)):g(B,cc(k,`source delivery commit failed for ${B} token=${String(C)}`));}}m();}}let w={};for(let M of b)if(M.outputFile){let B=r.fetchedSourcesStore.readSourceData(d,M.outputFile);B!==null&&(w[M.bindTo]=B);}let A={};for(let[M,B]of Object.entries(i.state??{}))if(B!==null&&typeof B=="object"&&!Array.isArray(B)){let k=B[M];A[M]=k!==void 0?k:B;}else A[M]=B;let R={id:d,card_data:{...f},requires:A,source_defs:b,compute:c.compute};R._sourcesData=w,c.compute&&$n.runSync(R,{sourcesData:w}),(o??r.outputStore.writeComputedValues.bind(r.outputStore))(d,R.computed_values??{});let j={...c},H=$n.enrichSourcesSync(Array.isArray(c.source_defs)?c.source_defs:void 0,{card_data:c.card_data,requires:A}),F=t.value;j.source_defs=Array.isArray(H)?H.map(M=>({...M,boardDir:typeof M.boardDir=="string"&&M.boardDir?M.boardDir:F})):H;let z=dg(),le=i.update?void 0:z,ue=h.filter(M=>{let B=M.outputFile;if(typeof B!="string"||!B)return true;let k=y(B);le&&(k={...k,queueRequestedAt:le},g(B,k));let v=k.queueRequestedAt??k.lastRequestedAt??z,C=ug(k,v);return C==="in-flight"?false:C==="dispatch"});if(m(),ue.length>0){let M=false,B=z;for(let k of ue){let v=k.outputFile;if(typeof v!="string"||!v)continue;let C=y(v),I=C.queueRequestedAt??z;g(v,{...C,lastRequestedAt:I}),B=I,M=true;}return M&&m(),M&&(u.push({taskKind:"source-fetch",payload:{boardRef:se(t),enrichedCard:j,callbackToken:i.callbackToken,rqt:B}}),r.executionRequestStore.appendEntries(e,u)),"task-initiated"}let it=c.provides??[],Bt={};for(let{bindTo:M,ref:B}of it)Bt[M]=$n.resolve(R,B);return (a??r.outputStore.writeDataObjects.bind(r.outputStore))(Bt),b.filter(M=>{if(M.optionalForCompletionGating!==true)return false;let B=y(M.outputFile);return !B.lastRequestedAt||!B.lastFetchedAt?true:B.lastFetchedAt<=B.lastRequestedAt}).length>0&&u.push({taskKind:"source-fetch",payload:{boardRef:se(t),enrichedCard:j,callbackToken:i.callbackToken,rqt:z}}),n(i.nodeId,Bt),u.length>0&&r.executionRequestStore.appendEntries(e,u),"task-initiated"}}var En={settings:{completion:"manual",refreshStrategy:"data-changed"},tasks:{}};function yc(t){return {[ot]:t.graph,[fc]:t.lastDrainedJournalId}}function vc(t){let e=t[ot],r=t[fc];if(!e||typeof e!="object")throw new Error(`State snapshot is missing required key: ${ot}`);return {graph:e,lastDrainedJournalId:typeof r=="string"?r:""}}function bc(t){let e=t.requires,r=t.provides?.map(n=>n.bindTo)??[];return {requires:e&&e.length>0?e:void 0,provides:r,taskHandlers:["card-handler"],description:t.meta?.title??t.id}}function te(t){return t!==void 0?{status:"success",data:t}:{status:"success"}}function q(t){return {status:"fail",error:t}}function ee(t){return {status:"error",error:t instanceof Error?t.message:String(t)}}function lg(t){let e=new TextEncoder().encode(t),r=Array.from(e,n=>String.fromCharCode(n)).join("");return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function wc(t){let e=t.replace(/-/g,"+").replace(/_/g,"/"),r=e+"=".repeat((4-e.length%4)%4),n=atob(r),s=Uint8Array.from(n,o=>o.charCodeAt(0));return new TextDecoder().decode(s)}function xn(t){try{let e=JSON.parse(wc(t));return typeof e?.t=="string"?{taskName:e.t}:null}catch{return null}}function fg(t){return lg(JSON.stringify(t))}function Sc(t){try{let e=JSON.parse(wc(t));return typeof e?.cbk=="string"&&typeof e?.cid=="string"&&typeof e?.b=="string"&&typeof e?.d=="string"?e:null}catch{return null}}function Ce(){return new Date().toISOString()}function Er(t,e){let r=e.onWarn??(()=>{}),n=se(t);function s(k){if(k.length!==0)try{let v=e.publishBoardChangeNotifications?.(k);v&&typeof v.catch=="function"&&v.catch(C=>r(`[board-live-cards-public] publishBoardChangeNotifications failed: ${C instanceof Error?C.message:String(C)}`));}catch(v){r(`[board-live-cards-public] publishBoardChangeNotifications failed: ${v instanceof Error?v.message:String(v)}`);}}function o(){let k=i().readCardStoreRef();if(!k)throw new Error(`Board at ${t.value} has no card store configured. Run: init --base-ref <ref> --store-ref <b64-ref>`);let v=e.kvStorageForRef(k);return {readIndex(){return v.read("_index")},writeIndex(C){v.write("_index",C);},readCard(C){return v.read(C)},writeCard(C,I){return v.write(C,I),e.hashFn(I)},cardExists(C){return v.read(C)!==null},defaultCardKey(C){return C}}}let a={readValues(k){let v=e.kvStorage("state-snapshot"),C=v.listKeys().sort();if(C.length===0)return {version:null,values:{}};let I={};for(let X of C)I[X]=v.read(X);return {version:e.hashFn(I),values:I}},writeValues(k,v,C){let I=e.kvStorage("state-snapshot");for(let X of C)I.delete(X);for(let[X,re]of Object.entries(v))I.write(X,re);return e.hashFn(v)}},i=()=>No(e.kvStorage("config")),u=()=>mc(a),c=()=>dc(e.journalAdapter()),d=()=>Rn(o(),r),f=()=>{let k=i().readOutputsStoreRef();if(!k)throw new Error(`Board at ${t.value} has no outputs store configured. Run: init --outputs-store-ref <b64-ref>`);return hc(e.kvStorageForRef(k))};function b(){return !!u().readSnapshot(t.value).values[ot]}function h(){let k=u().readSnapshot(t.value);if(!k.values[ot])throw new Error(`Board not initialized at ${t.value}`);return vc(k.values)}function p(k,v){let C=u().commitSnapshot(t.value,{schemaVersion:Cr,expectedVersion:v,commitId:e.genId(),committedAt:Ce(),deleteKeys:[],shallowMerge:yc(k)});if(!C.ok)throw new Error(`Snapshot commit failed (version mismatch): expected=${v??"null"} current=${C.currentVersion??"null"}`)}function l(k){c().appendEvent(k);}async function m(){let k=(x,O)=>{let ne=x.payload,ze=(ne?.enrichedCard??{}).id??ne?.cardId??"unknown";l({type:"task-failed",taskName:ze,error:O,timestamp:Ce()});},v=lc(e.kvStorage("execution-requests"),k),C=pc(e.kvStorage("card-runtime")),I=jo(e.blobStorage("sources"),x=>e.resolveBlob(x)),X=new Map,re={readRuntime(x){return X.get(x)??C.readRuntime(x)},writeRuntime(x,O){X.set(x,O);}},He=[],$e=new Map,Ve={readSourceData(x,O){let ne=`${x}/${O}`;return $e.has(ne)?$e.get(ne):I.readSourceData(x,O)},ingestSourceDataStaged(x,O,ne,_t){I.ingestSourceDataStaged(x,O,ne,_t);},commitSourceData(x,O,ne){let _t=`${x}/.staged/${ne}/${O}`,Pr=e.blobStorage("sources").read(_t);if(Pr==null)return false;let $t=`${x}/${O}`,Vo=Pr.trim();try{$e.set($t,JSON.parse(Vo));}catch{$e.set($t,Vo);}return He.push({cardId:x,outputFile:O,deliveryToken:ne}),true},hasSource(x,O){let ne=`${x}/${O}`;return $e.has(ne)?true:I.hasSource(x,O)}},qe={cardStore:d(),cardRuntimeStore:re,fetchedSourcesStore:Ve,outputStore:f(),executionRequestStore:v},ut=h(),ct=kn(ut.graph),{events:wt,newCursor:kt}=c().readEntriesAfterCursor(ut.lastDrainedJournalId),dt=[],In=[],Pn=[],Fo=new Map,kc=(x,O)=>{dt.push({type:"task-completed",taskName:x,data:O,timestamp:Ce()});},Mo=(x,O)=>l({type:"task-failed",taskName:x,error:O,timestamp:Ce()}),Ar=nc(ct,{handlers:{"card-handler":gc(t,kt,qe,kc,Mo,(x,O)=>{In.push({cardId:x,values:O});},x=>{Pn.push(x);})}});for(dt=wt;dt.length>0;){let x=dt;dt=[];for(let O of x)if(O.type==="task-restart"){let ne=qe.cardStore.readCard(O.taskName);ne&&Fo.set(O.taskName,ne);}Ar.pushAll(x),await Ar.waitForHandlers();}let Lo=Ar.getState();await Ar.dispose({wait:true});let _c=u().readSnapshot(t.value).version;p({lastDrainedJournalId:kt,graph:_r(Lo)},_c);for(let{cardId:x,values:O}of In)qe.outputStore.writeComputedValues(x,O);for(let x of Pn)qe.outputStore.writeDataObjects(x);for(let[x,O]of X)C.writeRuntime(x,O);for(let{cardId:x,outputFile:O,deliveryToken:ne}of He)I.commitSourceData(x,O,ne);let Ir;try{Ir=Cn(n,Lo),qe.outputStore.writeStatusSnapshot(Ir);}catch(x){r(`[board-live-cards-public] status publish failed: ${x instanceof Error?x.message:String(x)}`);}let Gt=[];for(let{cardId:x,values:O}of In)Gt.push({kind:"computed_values",cardId:x,values:O});for(let x of Pn)for(let[O,ne]of Object.entries(x))O&&Gt.push({kind:"data_object",key:O,payload:ne});for(let[x,O]of Fo)Gt.push({kind:"card_refreshed",cardId:x,card:O});Ir!==void 0&&Gt.push({kind:"status",status:Ir}),s(Gt);let $c=i().readTaskExecutorRef()??{howToRun:"built-in",whatToRun:se({kind:"built-in",value:"source-cli-task-executor"})};v.dispatchEntriesForJournalId(kt,x=>{if(x.taskKind!=="source-fetch"){r(`[process-accumulated-events] unknown taskKind "${x.taskKind}" \u2014 skipping`);return}let O=x.payload,ne=O.enrichedCard?.id??"unknown",_t=O.enrichedCard?.source_defs??[];for(let ze of _t){if(!ze.outputFile){r(`[dispatch] source "${ze.bindTo}" has no outputFile \u2014 skipping`);continue}let Pr=fg({cbk:O.callbackToken,rg:t.value,br:se(t),cid:ne,b:ze.bindTo,d:ze.outputFile,cs:void 0,rqt:O.rqt});e.dispatchExecution($c,{source_def:ze,base_ref:se(t),callback:{token:Pr,via:e.selfRef}}).catch($t=>Mo(ne,$t instanceof Error?$t.message:String($t)));}});}async function y(){try{let k=()=>{let C=h(),{events:I}=c().readEntriesAfterCursor(C.lastDrainedJournalId);I.length<=0||(y(),e.requestProcessAccumulated?.());},v=await Go(e.lock,m,k);return te({ran:v!==!1})}catch(k){return ee(k)}}function g(k){try{let v=k.params?.cardStoreRef;if(!v)return q("init requires params.cardStoreRef \u2014 create a card store with card-store-cli and pass its ref here");if(!b()){let re=wn(En);p({lastDrainedJournalId:"",graph:_r(re)},null);}let C=k.params?.outputsStoreRef;if(!C)return q("init requires params.outputsStoreRef \u2014 pass the outputs store ref here");let I=i();I.writeCardStoreRef(v),I.writeOutputsStoreRef(C);let X=k.body??{};X["task-executor-ref"]&&I.writeTaskExecutorRef(X["task-executor-ref"]),X["chat-handler-ref"]&&I.writeChatHandlerRef(X["chat-handler-ref"]);try{f().writeStatusSnapshot(Cn(n,kn(h().graph)));}catch{}return te()}catch(v){return ee(v)}}function S(k){try{let v=f().readStatusSnapshot();if(!v){v=Cn(n,kn(h().graph));try{f().writeStatusSnapshot(v);}catch{}}return te(v)}catch(v){return ee(v)}}function _(k){try{let v=k.params?.id;return v?(l({type:"task-removal",taskName:v,timestamp:Ce()}),y(),te()):q("removeCard requires params.id")}catch(v){return ee(v)}}function w(k){try{let v=k.params?.id;return v?(l({type:"task-restart",taskName:v,timestamp:Ce()}),y(),te()):q("retrigger requires params.id")}catch(v){return ee(v)}}async function A(k){return y()}function R(k){try{let v=k.params?.cardId,C=k.params?.all,I=!!k.params?.restart;if(!v&&!C)return q("upsertCard requires --card-id <id> or --all");let X=C?d().readAllCards().map(re=>re.id):[v];for(let re of X)if(!d().readCard(re))return q(`Card "${re}" not found in board at ${t.value}`);for(let re of X){let He=d().readCard(re),$e=bc(He),Ve=e.hashFn($e),qe=e.kvStorage("card-upsert"),ut=qe.read(re),ct=ut?.taskConfigHash!==Ve;if(!(!ct&&!I)){if(ct){let wt=ut?.blobRef??d().readCardKey(re)??re;l({type:"task-upsert",taskName:re,taskConfig:$e,timestamp:Ce()}),qe.write(re,{blobRef:wt,taskConfigHash:Ve,updatedAt:Ce()});}I&&l({type:"task-restart",taskName:re,timestamp:Ce()});}}return y(),te()}catch(v){return ee(v)}}function j(k){try{let v=k.params?.token;if(!v)return q("taskFailed requires params.token");let C=k.params?.error??"unknown error",I=xn(v);return I?(l({type:"task-failed",taskName:I.taskName,error:C,timestamp:Ce()}),y(),te()):q("Invalid callback token")}catch(v){return ee(v)}}function H(k){try{let v=k.params?.token;if(!v)return q("taskProgress requires params.token");let I=(k.body??{}).update??{},X=xn(v);return X?(l({type:"task-progress",taskName:X.taskName,update:I,timestamp:Ce()}),y(),te()):q("Invalid callback token")}catch(v){return ee(v)}}function F(k){try{let v=k.params?.token,C=k.params?.ref;if(!v)return q("sourceDataFetched requires params.token");if(!C)return q("sourceDataFetched requires params.ref");let I=Sc(v);if(!I)return q("Invalid source token");let{cbk:X,cid:re,b:He,d:$e,cs:Ve,rqt:qe}=I,ut=jo(e.blobStorage("sources"),dt=>e.resolveBlob(dt)),ct=e.genId();ut.ingestSourceDataStaged(re,$e,be(C),ct);let wt=xn(X);if(!wt)return q("Invalid callback token embedded in source token");let kt=Ce();return l({type:"task-progress",taskName:wt.taskName,update:{bindTo:He,outputFile:$e,fetchedAt:kt,deliveryToken:ct,sourceChecksum:Ve,rqt:qe},timestamp:kt}),y(),te()}catch(v){return ee(v)}}function z(k){try{let v=k.params?.token,C=k.params?.reason??"unknown";if(!v)return q("sourceDataFetchFailure requires params.token");let I=Sc(v);if(!I)return q("Invalid source token");let{cbk:X,b:re,d:He,cs:$e}=I,Ve=xn(X);return Ve?(l({type:"task-progress",taskName:Ve.taskName,update:{bindTo:re,outputFile:He,failure:!0,reason:C,sourceChecksum:$e},timestamp:Ce()}),y(),te()):q("Invalid callback token embedded in source token")}catch(v){return ee(v)}}function le(k){try{let v=i().readCardStoreRef();return v?te({storeRef:v}):q(`Board at ${t.value} has no card store configured`)}catch(v){return ee(v)}}function ue(k){try{let v=i().readOutputsStoreRef();return v?te({storeRef:v}):q(`Board at ${t.value} has no outputs store configured`)}catch(v){return ee(v)}}function it(k){try{let v=k.params?.key;if(!v)return q("getConfig requires params.key");let C=i(),I;switch(v){case "task-executor":I=C.readTaskExecutorRef()??null;break;case "chat-handler":I=C.readChatHandlerRef()??null;break;case "card-store-ref":I=C.readCardStoreRef();break;case "outputs-store-ref":I=C.readOutputsStoreRef();break;default:return q(`getConfig: unknown key "${v}"`)}return te({value:I})}catch(v){return ee(v)}}function Bt(k){try{let v=k.params?.key;if(!v)return q("getOutputsDataObject requires params.key");let C=f().readDataObject(v);return te(C)}catch(v){return ee(v)}}function Do(k){try{return te(f().readAllDataObjects())}catch(v){return ee(v)}}function M(k){try{let v=k.params?.key;if(!v)return q("getOutputsComputedValues requires params.key");let C=f().readComputedValues(v);return te(C)}catch(v){return ee(v)}}function B(k){try{return te(f().readAllComputedValues())}catch(v){return ee(v)}}return {init:g,status:S,getCardStoreRef:le,getOutputsStoreRef:ue,getConfig:it,getOutputsDataObject:Bt,getAllOutputsDataObjects:Do,getOutputsComputedValues:M,getAllOutputsComputedValues:B,removeCard:_,retrigger:w,processAccumulatedEvents:A,upsertCard:R,taskFailed:j,taskProgress:H,sourceDataFetched:F,sourceDataFetchFailure:z}}function xr(t,e){let r=()=>No(e.kvStorage("config"));function n(){let p=r().readCardStoreRef();if(!p)throw new Error(`Board at ${t.value} has no card store configured. Run: init --base-ref <ref> --store-ref <b64-ref>`);let l=e.kvStorageForRef(p);return {readIndex(){return l.read("_index")},writeIndex(m){l.write("_index",m);},readCard(m){return l.read(m)},writeCard(m,y){return l.write(m,y),e.hashFn(y)},cardExists(m){return l.read(m)!==null},defaultCardKey(m){return m}}}let s=()=>Rn(n(),e.onWarn??(()=>{}));function o(p,l){let m=e.validateSchema(l),y=[],g=r().readTaskExecutorRef();if(g&&Array.isArray(l.source_defs))for(let _ of l.source_defs){let w=typeof _.bindTo=="string"?_.bindTo:"(unknown)",A=e.makeTempFilePath(`validate-src-${w}`);try{e.absoluteBlob.write(A,JSON.stringify(_));let R;try{R=e.invokeExecutorSync(g,"validate-source-def",["--in",A],{timeout:1e4});}catch(H){let F=H;if(R=typeof F?.stdout=="string"?F.stdout:"",!R.trim()){y.push(`source "${w}": executor validate-source-def failed \u2014 ${H instanceof Error?H.message:String(H)}`);continue}}let j=JSON.parse(R.trim());if(!j.ok&&Array.isArray(j.errors))for(let H of j.errors)y.push(`source "${w}": ${H}`);}catch(R){y.push(`source "${w}": executor validate-source-def failed \u2014 ${R instanceof Error?R.message:String(R)}`);}finally{try{e.absoluteBlob.remove(A);}catch{}}}let S=[...m.errors,...y];return te({cardId:p,isValid:S.length===0,issues:S})}function a(p,l,m){let y=r().readTaskExecutorRef();if(!y)return q("No task-executor registered for this board");let g=typeof p.bindTo=="string"?p.bindTo:"source",S=e.makeTempFilePath(`probe-in-${g}`),_=e.makeTempFilePath(`probe-out-${g}`),w=e.makeTempFilePath(`probe-err-${g}`,".txt"),A={...p,boardDir:t.value,_projections:l},R=se({kind:"fs-path",value:S}),j=se({kind:"fs-path",value:_}),H=se({kind:"fs-path",value:w});e.absoluteBlob.write(S,JSON.stringify(A,null,2));let F=null;try{if(e.invokeExecutorSync(y,"run-source-fetch",["--in-ref",R,"--out-ref",j,"--err-ref",H],{timeout:p.timeout??3e4}),F=e.absoluteBlob.read(_),F===null)return q("Executor produced no output file")}catch(z){let le=e.absoluteBlob.read(w)?.trim()??(z instanceof Error?z.message:String(z));return q(`Probe failed: ${le}`)}finally{try{e.absoluteBlob.remove(S);}catch{}try{e.absoluteBlob.remove(w);}catch{}}if(m){let z=be(m);e.absoluteBlob.write(z.value,F);}else try{e.absoluteBlob.remove(_);}catch{}return te({bindTo:g,resultSizeBytes:F.length})}function i(p){try{let l=p.params?.cardId,m=p.params?.all;if(!l&&!m)return q("validateCard requires --card-id <id> or --all");let y=m?s().readAllCards().map(S=>S.id):[l],g=[];for(let S of y){let _=s().readCard(S);if(!_){g.push({cardId:S,isValid:!1,issues:[`Card "${S}" not found`]});continue}let w=o(S,_);if(w.status!=="success")return w;g.push(w.data);}return te(g)}catch(l){return ee(l)}}function u(p){try{if(!p.body||typeof p.body!="object"||Array.isArray(p.body))return q("validateTmpCard requires card JSON object in body");let l=p.body,m=l["card-content"]??l,y=typeof m.id=="string"?m.id:"(unknown)";return o(y,m)}catch(l){return ee(l)}}function c(p){try{let l=p.params?.cardId,m=p.params?.sourceIdx,y=p.params?.outRef;if(!l)return q("probeSource requires params.cardId");if(m===void 0)return q("probeSource requires params.sourceIdx");let S=(p.body??{})["mock-projections"]??{},_=s().readCard(l);if(!_)return q(`Card "${l}" not found`);let w=_.source_defs??[];return m<0||m>=w.length?q(`sourceIdx ${m} out of range (card has ${w.length} source(s))`):a(w[m],S,y)}catch(l){return ee(l)}}function d(p){try{let l=p.params?.outRef,m=p.body;if(!m)return q('probeTmpSource requires body with "source-def" and "mock-projections"');let y=m["source-def"],g=m["mock-projections"]??{};return y?a(y,g,l):q('probeTmpSource body requires "source-def"')}catch(l){return ee(l)}}function f(p){try{let l=r().readTaskExecutorRef();if(!l)return q("No task-executor registered for this board");let m=e.invokeExecutorSync(l,"describe-capabilities",[],{timeout:1e4});return te(JSON.parse(m.trim()))}catch(l){return ee(l)}}function b(p){try{let l=p.body;if(!l||!Array.isArray(l.ops))return q("updatesInCardStore requires body.ops array");let m=l.ops,y=s();for(let g of m){let S=g.op,_=g.id;if(!_)return q('op is missing "id"');if(S==="update"){let w=g["card-content"];if(!w)return q(`update op for "${_}" is missing "card-content"`);y.writeCard(_,w);}else return q(`Unknown op type: "${S??"(none)"}"`)}return te()}catch(l){return ee(l)}}function h(p){try{let l=p.body;if(!l||!Array.isArray(l.ids))return q("readFromCardStore requires body.ids array");let m=l.ids,y=s(),g=m.map(S=>({id:S,"card-content":y.readCard(S)}));return te({cards:g})}catch(l){return ee(l)}}return {validateCard:i,validateTmpCard:u,probeSource:c,probeTmpSource:d,describeTaskExecutorCapabilities:f,updatesInCardStore:b,readFromCardStore:h}}var pg=".board.lock";function Tr(t,e,r){let n=t.value,s=r?.suppressSpawn?"":Qo(e),o={meta:"board-live-cards",howToRun:"local-node",whatToRun:s?se({kind:"fs-path",value:s}):"",...r?.notifyChannel?{extra:{notifyChannel:r.notifyChannel}}:{}};return {kvStorage:a=>Vn(Nr(n,`.${a}`)),blobStorage:a=>a?Dr(Nr(n,a)):Dr(n),journalAdapter:()=>ua(n),lock:ca(Nr(n,pg)),selfRef:o,async dispatchExecution(a,i){if(r?.suppressSpawn)return {dispatched:false};try{let u=i.source_def?.bindTo??jn().slice(0,8),c=Kt(n,`exec-in-${u}`),d=Kt(n,`exec-out-${u}`),f=Kt(n,`exec-err-${u}`,".txt"),b=se({kind:"fs-path",value:c}),h=se({kind:"fs-path",value:d}),p=se({kind:"fs-path",value:f});return aa({kind:"fs-path",value:c}).write(c,JSON.stringify(i,null,2)),oa(a,{subcommand:"run-source-fetch",inRef:b,outRef:h,errRef:p},e),{dispatched:!0}}catch(u){return {dispatched:false,error:u instanceof Error?u.message:String(u)}}},resolveBlob(a){let i=Ho(a.value)?Ln().read(a.value):Dr(n).read(a.value);if(i===null)throw new Error(`resolveBlob: blob not found: ::${a.kind}::${a.value}`);return i},hashFn:ia,genId:()=>zo(`${Date.now()}-${Math.random()}`).slice(0,32),kvStorageForRef:a=>Vn(be(a).value),requestProcessAccumulated(){r?.suppressSpawn||Zo(e,t,r?.notifyChannel);},publishBoardChangeNotifications(a){if(!r?.notifyChannel||a.length===0)return;let i=a.map(u=>({id:jn(),ts:new Date().toISOString(),boardRef:se(t),notification:u}));ea(r.notifyChannel,i,r.onWarn);},onWarn:r?.onWarn}}function Tn(t,e,r){let n=Tr(t,e,r),s=Dn();return {...n,invokeExecutorSync(o,a,i,u){let{command:c,baseArgs:d}=sa(o,e);return s.executeSync(c,[...d,a,...i],{timeout:u?.timeout??3e4,encoding:"utf-8"})},validateSchema(o){let a=xo(o);return {ok:a.errors.length===0,errors:a.errors}},makeTempFilePath(o,a){return Kt(t.value,o,a)},absoluteBlob:Ln()}}function qo(t){try{let e=JSON.parse(Buffer.from(t,"base64url").toString());return typeof e.br=="string"?e.br:null}catch{return null}}var Vt=Wo(import.meta.url);function ve(t,e,r){let n=t.indexOf(e),s=n!==-1?t[n+1]:void 0;if(!s)throw new Error(`Missing ${e}
14
- Usage: ${r}`);return s}function at(t,e){let r=t.indexOf(e);return r!==-1?t[r+1]:void 0}function ae(t){console.log(JSON.stringify(t,null,2));}async function An(){if(process.stdin.isTTY)return;let t=[];for await(let r of process.stdin)t.push(Buffer.isBuffer(r)?r:Buffer.from(r));let e=Buffer.concat(t).toString("utf-8").trim();if(e)return JSON.parse(e)}async function mg(t){let e=t[0],r=t.slice(1);if(e==="help"||e==="--help"||e==="-h"){console.log("board-live-cards \u2014 see board-live-cards-cli-PARAMS.md for command reference");return}let n=at(r,"--base-ref"),s=at(r,"--notify-channel"),o=n?be(n):void 0;if(e==="source-data-fetched"){let u=ve(r,"--token","source-data-fetched --token <token> --ref <sourcefile>"),c=ve(r,"--ref","source-data-fetched --token <token> --ref <sourcefile>"),d=qo(u);if(!d)throw new Error("source-data-fetched: could not decode board ref from token \u2014 is this a valid source token?");let f=be(d),b=Er(f,Tr(f,Vt,{onWarn:console.warn,notifyChannel:s}));ae(b.sourceDataFetched({params:{token:u,ref:c}}));return}if(e==="source-data-fetch-failure"){let u=ve(r,"--token","source-data-fetch-failure --token <token> [--reason <message>]"),c=qo(u);if(!c)throw new Error("source-data-fetch-failure: could not decode board ref from token \u2014 is this a valid source token?");let d=be(c),f=Er(d,Tr(d,Vt,{onWarn:console.warn,notifyChannel:s})),b={token:u},h=at(r,"--reason");h&&(b.reason=h),ae(f.sourceDataFetchFailure({params:b}));return}if(e==="validate-tmp-card"){let u=o??{kind:"fs-path",value:Ut(".")},c=xr(u,Tn(u,Vt,{onWarn:console.warn})),d=await An();ae(c.validateTmpCard({body:d}));return}if(e==="probe-tmp-source"){let u=ve(r,"--out-ref","probe-tmp-source --out-ref <ref>"),c=o??{kind:"fs-path",value:Ut(".")},d=xr(c,Tn(c,Vt,{onWarn:console.warn})),f=await An();ae(d.probeTmpSource({params:{outRef:u},body:f}));return}if(!o)throw new Error(`--base-ref is required for command "${e??"(none)"}"`);let a=()=>Er(o,Tr(o,Vt,{onWarn:console.warn,notifyChannel:s})),i=()=>xr(o,Tn(o,Vt,{onWarn:console.warn}));switch(e){case "init":{let u=ve(r,"--card-store-ref","init --base-ref <ref> --card-store-ref <b64-ref> --outputs-store-ref <b64-ref>"),c=ve(r,"--outputs-store-ref","init --base-ref <ref> --card-store-ref <b64-ref> --outputs-store-ref <b64-ref>"),d=await An();ae(a().init({params:{cardStoreRef:u,outputsStoreRef:c},body:d}));return}case "status":{ae(a().status({}));return}case "get-card-store-ref":{ae(a().getCardStoreRef({}));return}case "get-outputs-store-ref":{ae(a().getOutputsStoreRef({}));return}case "get-outputs":{let u=ve(r,"--type","get-outputs --base-ref <ref> --type <data-object|computed-values> [--key <key>] [--all]"),c=r.includes("--all");if(u==="data-object")if(c)ae(a().getAllOutputsDataObjects({}));else {let d=ve(r,"--key","get-outputs --type data-object --base-ref <ref> --key <datakey>");ae(a().getOutputsDataObject({params:{key:d}}));}else if(u==="computed-values")if(c)ae(a().getAllOutputsComputedValues({}));else {let d=ve(r,"--key","get-outputs --type computed-values --base-ref <ref> --key <card-id>");ae(a().getOutputsComputedValues({params:{key:d}}));}else throw new Error(`get-outputs: unknown --type "${u}", expected data-object | computed-values`);return}case "remove-card":{let u=ve(r,"--id","remove-card --base-ref <ref> --id <card-id>");ae(a().removeCard({params:{id:u}}));return}case "retrigger":{let u=ve(r,"--id","retrigger --base-ref <ref> --id <card-id>");ae(a().retrigger({params:{id:u}}));return}case "process-accumulated-events":{ae(await a().processAccumulatedEvents({}));return}case "upsert-card":{let u=at(r,"--card-id"),c=r.includes("--all"),d=r.includes("--restart");if(!u&&!c)throw new Error("upsert-card requires --card-id <id> or --all");let f={};u&&(f.cardId=u),c&&(f.all=true),d&&(f.restart=true),ae(a().upsertCard({params:f}));return}case "task-failed":{let c={token:ve(r,"--token","task-failed --base-ref <ref> --token <token> [--error <message>]")},d=at(r,"--error");d&&(c.error=d),ae(a().taskFailed({params:c}));return}case "task-progress":{let u=ve(r,"--token","task-progress --base-ref <ref> --token <token> [--update <json>]"),c=at(r,"--update"),d=c?JSON.parse(c):{};ae(a().taskProgress({params:{token:u},body:{update:d}}));return}case "validate-card":{let u=at(r,"--card-id"),c=r.includes("--all");if(!u&&!c)throw new Error("validate-card requires --card-id <id> or --all");let d={};u&&(d.cardId=u),c&&(d.all=true),ae(i().validateCard({params:d}));return}case "probe-source":{let u=ve(r,"--card-id","probe-source --base-ref <ref> --card-id <id> --source-idx <n> --out-ref <ref>"),c=ve(r,"--source-idx","probe-source --base-ref <ref> --card-id <id> --source-idx <n> --out-ref <ref>"),d=at(r,"--out-ref"),f=await An(),b={cardId:u,sourceIdx:parseInt(c,10)};d&&(b.outRef=d),ae(i().probeSource({params:b,body:f}));return}case "describe-task-executor-capabilities":{ae(i().describeTaskExecutorCapabilities({}));return}default:throw new Error(`Unknown command: ${e??"(none)"}`)}}var hg=process.argv[1]&&Ut(process.argv[1])===Ut(new URL(import.meta.url).pathname.replace(/^\/([A-Z]:)/,"$1"));hg&&mg(process.argv.slice(2)).catch(t=>{let e=t instanceof Error?t.message:String(t);console.error(e),process.exit(1);});export{mg as cli};//# sourceMappingURL=board-live-cards-cli.js.map
15
- //# sourceMappingURL=board-live-cards-cli.js.map