yaml-flow 7.0.0 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (393) hide show
  1. package/browser/asset-integrity.json +8 -4
  2. package/browser/board-livecards-client.js +1 -1
  3. package/browser/board-livecards-localstorage.js +5 -5
  4. package/browser/live-cards.js +19 -3307
  5. package/cli/board-live-cards-lib-tjYsPt5U.d.ts +321 -0
  6. package/{dist/cli → cli}/browser-api/board-live-cards-browser-adapter.d.ts +3 -5
  7. package/cli/browser-api/board-live-cards-browser-adapter.js +3 -0
  8. package/{dist/cli → cli}/browser-api/card-store-browser-api.d.ts +1 -2
  9. package/{dist/cli → cli}/browser-api/card-store-browser-api.js +1 -1
  10. package/cli/execution-interface-C_A6WCiK.d.ts +284 -0
  11. package/cli/node/artifacts-store-cli.js +11 -0
  12. package/cli/node/batch-runner-cli.js +3 -0
  13. package/cli/node/board-live-cards-cli.js +15 -0
  14. package/cli/node/card-store-cli.js +8 -0
  15. package/{dist/cli → cli}/node/execution-adapter.d.ts +3 -3
  16. package/cli/node/execution-adapter.js +3 -0
  17. package/{dist/cli → cli}/node/fs-board-adapter.d.ts +24 -11
  18. package/cli/node/fs-board-adapter.js +14 -0
  19. package/{dist/cli → cli}/node/source-cli-task-executor.js +2 -2
  20. package/cli/node/step-machine-cli.d.ts +7 -0
  21. package/cli/node/step-machine-cli.js +5 -0
  22. package/{dist/board-live-cards-public-CW5074xr.d.cts → cli/types-CziUxkiv.d.ts} +69 -7
  23. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/gandalf-runtime/.config/card-store-ref.json +1 -0
  24. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/gandalf-runtime/.config/chat-handler.json +1 -0
  25. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/gandalf-runtime/.config/outputs-store-ref.json +1 -0
  26. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/gandalf-runtime/.config/task-executor.json +1 -0
  27. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/gandalf-runtime/.state-snapshot/board/graph.json +29 -0
  28. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/gandalf-runtime/.state-snapshot/board/lastJournalProcessedId.json +1 -0
  29. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/gandalf-runtime-out/.outputs/status.json +25 -0
  30. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/runtime-out/.outputs/cards/card-market-prices/computed_values.json +67 -0
  31. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/runtime-out/.outputs/cards/card-portfolio/computed_values.json +1 -0
  32. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/runtime-out/.outputs/cards/card-portfolio-value/computed_values.json +52 -0
  33. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/runtime-out/.outputs/data-objects/holdings.json +22 -0
  34. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/runtime-out/.outputs/data-objects/positions.json +46 -0
  35. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/runtime-out/.outputs/data-objects/quotes.json +35 -0
  36. package/examples/board/.demo-setup/run-1778643703151-3360-dopnpv/board-default/runtime-out/.outputs/status.json +113 -0
  37. package/examples/{example-board/cards/card-market-prices.json → board/cards/cardT-market-prices.json} +2 -2
  38. package/examples/{example-board/cards/card-portfolio.json → board/cards/cardT-portfolio.json} +3 -13
  39. package/examples/{example-board → board}/demo-server-config.json +0 -1
  40. package/examples/{example-board → board}/demo-server.js +70 -72
  41. package/examples/{example-board → board}/demo-shell-with-server.html +3 -3
  42. package/examples/{example-board → board}/demo-task-executor.js +75 -32
  43. package/examples/board/gandalf-cards/card-source-kinds.json +36 -0
  44. package/examples/board/gandalf-cards/cards/_index.json +7 -0
  45. package/examples/board/gandalf-cards/cards/card-source-kinds.json +64 -0
  46. package/examples/board/source-def-flows/copilot.flow.json +33 -0
  47. package/examples/board/source-def-flows/mock.flow.json +35 -0
  48. package/examples/board/source-def-flows/url-list.flow.json +33 -0
  49. package/examples/board/source-def-flows/url.flow.json +33 -0
  50. package/examples/board/source-def-flows/workiq.flow.json +34 -0
  51. package/examples/board/source-def-handlers/copilot-source-handler.js +141 -0
  52. package/examples/board/source-def-handlers/http-source-handler.js +145 -0
  53. package/examples/board/source_def_flows.json +249 -0
  54. package/examples/board/test/demo-http-test.js +317 -0
  55. package/examples/{example-board → board-local}/demo-shell-localstorage.html +4 -4
  56. package/examples/{browser/boards/portfolio-tracker → portfolio-tracker/handlers}/portfolio-tracker-fetch-prices.js +1 -1
  57. package/examples/{browser/boards/portfolio-tracker/portfolio-tracker-public.js → portfolio-tracker/portfolio-tracker.js} +11 -14
  58. package/examples/{browser/boards/portfolio-tracker → portfolio-tracker/test}/portfolio-t4.js +32 -50
  59. package/lib/artifacts-store-lib-public-BABrgFkV.d.ts +119 -0
  60. package/lib/artifacts-store-lib-public-DGa8BpJT.d.cts +119 -0
  61. package/lib/artifacts-store-public.cjs +2 -0
  62. package/lib/artifacts-store-public.d.cts +5 -0
  63. package/lib/artifacts-store-public.d.ts +5 -0
  64. package/lib/artifacts-store-public.js +2 -0
  65. package/lib/board-live-cards-node.cjs +14 -0
  66. package/{dist/cli/node/execution-adapter.d.cts → lib/board-live-cards-node.d.cts} +45 -85
  67. package/lib/board-live-cards-node.d.ts +134 -0
  68. package/lib/board-live-cards-node.js +14 -0
  69. package/lib/board-live-cards-public-BnmRAbQV.d.cts +383 -0
  70. package/{dist/board-live-cards-public-hnZo0mAf.d.ts → lib/board-live-cards-public-CsmYrvpd.d.ts} +142 -77
  71. package/lib/board-live-cards-public.cjs +3 -0
  72. package/lib/board-live-cards-public.d.cts +4 -0
  73. package/lib/board-live-cards-public.d.ts +4 -0
  74. package/lib/board-live-cards-public.js +3 -0
  75. package/lib/board-live-cards-server-runtime.cjs +9 -0
  76. package/lib/board-live-cards-server-runtime.d.cts +6 -0
  77. package/lib/board-live-cards-server-runtime.d.ts +6 -0
  78. package/lib/board-live-cards-server-runtime.js +9 -0
  79. package/lib/board-livegraph-runtime/index.cjs +3 -0
  80. package/{dist → lib}/board-livegraph-runtime/index.d.cts +1 -2
  81. package/{dist → lib}/board-livegraph-runtime/index.d.ts +1 -2
  82. package/lib/board-livegraph-runtime/index.js +3 -0
  83. package/lib/board-worker-adapter.cjs +10 -0
  84. package/{dist/storage-refs.d.cts → lib/board-worker-adapter.d.cts} +5 -5
  85. package/{dist/storage-refs.d.ts → lib/board-worker-adapter.d.ts} +5 -5
  86. package/lib/board-worker-adapter.js +10 -0
  87. package/{dist → lib}/card-compute/index.cjs +1 -1
  88. package/{dist → lib}/card-compute/index.js +1 -1
  89. package/lib/card-store-public.cjs +2 -0
  90. package/lib/card-store-public.d.cts +61 -0
  91. package/lib/card-store-public.d.ts +61 -0
  92. package/lib/card-store-public.js +2 -0
  93. package/lib/card-validation.cjs +10 -0
  94. package/lib/card-validation.d.cts +35 -0
  95. package/lib/card-validation.d.ts +35 -0
  96. package/lib/card-validation.js +10 -0
  97. package/{dist/constants-oCEbNpul.d.ts → lib/constants-BPVLb3Es.d.ts} +1 -1
  98. package/{dist/constants-BzZUyYlp.d.cts → lib/constants-DXxsRN9y.d.cts} +1 -1
  99. package/{dist → lib}/continuous-event-graph/index.cjs +2 -2
  100. package/{dist → lib}/continuous-event-graph/index.d.cts +3 -5
  101. package/{dist → lib}/continuous-event-graph/index.d.ts +3 -5
  102. package/{dist → lib}/continuous-event-graph/index.js +2 -2
  103. package/{dist → lib}/event-graph/index.d.cts +2 -2
  104. package/{dist → lib}/event-graph/index.d.ts +2 -2
  105. package/lib/execution-refs.cjs +3 -0
  106. package/{dist → lib}/execution-refs.d.cts +38 -14
  107. package/{dist → lib}/execution-refs.d.ts +38 -14
  108. package/lib/execution-refs.js +3 -0
  109. package/lib/index.cjs +25 -0
  110. package/{dist → lib}/index.d.cts +7 -8
  111. package/{dist → lib}/index.d.ts +7 -8
  112. package/lib/index.js +25 -0
  113. package/{dist/live-cards-bridge-BXbVTsna.d.cts → lib/live-cards-bridge-DC_ZU0eS.d.ts} +134 -3
  114. package/{dist/live-cards-bridge-Ds28XR15.d.ts → lib/live-cards-bridge-b25aAVvE.d.cts} +134 -3
  115. package/lib/loader-CuuLjxVA.d.cts +42 -0
  116. package/lib/loader-Zborm2pq.d.ts +42 -0
  117. package/lib/server-runtime/index.cjs +9 -0
  118. package/{dist → lib}/server-runtime/index.d.cts +4 -4
  119. package/{dist → lib}/server-runtime/index.d.ts +4 -4
  120. package/lib/server-runtime/index.js +9 -0
  121. package/lib/step-machine/index.d.cts +64 -0
  122. package/lib/step-machine/index.d.ts +64 -0
  123. package/lib/step-machine-public/index.cjs +5 -0
  124. package/{dist → lib}/step-machine-public/index.d.cts +21 -1
  125. package/{dist → lib}/step-machine-public/index.d.ts +21 -1
  126. package/lib/step-machine-public/index.js +5 -0
  127. package/lib/storage-interface-BhAON-gW.d.cts +84 -0
  128. package/lib/storage-interface-BhAON-gW.d.ts +84 -0
  129. package/lib/stores/index.cjs +3 -0
  130. package/lib/stores/index.d.cts +4 -0
  131. package/lib/stores/index.d.ts +4 -0
  132. package/lib/stores/index.js +3 -0
  133. package/lib/stores/kv.cjs +3 -0
  134. package/lib/stores/kv.d.cts +32 -0
  135. package/lib/stores/kv.d.ts +32 -0
  136. package/lib/stores/kv.js +3 -0
  137. package/{dist → lib}/stores/memory.d.cts +1 -1
  138. package/{dist → lib}/stores/memory.d.ts +1 -1
  139. package/{dist/types-B1ZRa4aI.d.ts → lib/types-CBxkYuLY.d.ts} +2 -1
  140. package/{dist/types-ycun84cq.d.cts → lib/types-DQ1bKuB1.d.cts} +11 -0
  141. package/{dist/types-ycun84cq.d.ts → lib/types-DQ1bKuB1.d.ts} +11 -0
  142. package/{dist/types-BxEFcVK9.d.cts → lib/types-DkFvgxwq.d.cts} +2 -1
  143. package/package.json +79 -119
  144. package/board-live-cards-cli.js +0 -37
  145. package/browser/board-livecards-client.js.map +0 -1
  146. package/browser/board-livecards-localstorage.js.map +0 -1
  147. package/browser/board-livegraph-engine.js +0 -3
  148. package/browser/board-livegraph-engine.js.map +0 -1
  149. package/browser/card-compute.js +0 -266
  150. package/browser/compute-jsonata.js.map +0 -1
  151. package/card-store.js +0 -37
  152. package/dist/batch/index.cjs.map +0 -1
  153. package/dist/batch/index.js.map +0 -1
  154. package/dist/board-live-cards-lib-Bg6EvCo5.d.cts +0 -136
  155. package/dist/board-live-cards-lib-jM2uYG1v.d.ts +0 -136
  156. package/dist/board-livegraph-runtime/index.cjs +0 -3
  157. package/dist/board-livegraph-runtime/index.cjs.map +0 -1
  158. package/dist/board-livegraph-runtime/index.js +0 -3
  159. package/dist/board-livegraph-runtime/index.js.map +0 -1
  160. package/dist/card-compute/index.cjs.map +0 -1
  161. package/dist/card-compute/index.js.map +0 -1
  162. package/dist/cli/browser-api/board-live-cards-browser-adapter.cjs +0 -3
  163. package/dist/cli/browser-api/board-live-cards-browser-adapter.cjs.map +0 -1
  164. package/dist/cli/browser-api/board-live-cards-browser-adapter.d.cts +0 -37
  165. package/dist/cli/browser-api/board-live-cards-browser-adapter.js +0 -3
  166. package/dist/cli/browser-api/board-live-cards-browser-adapter.js.map +0 -1
  167. package/dist/cli/browser-api/card-store-browser-api.cjs +0 -2
  168. package/dist/cli/browser-api/card-store-browser-api.cjs.map +0 -1
  169. package/dist/cli/browser-api/card-store-browser-api.d.cts +0 -26
  170. package/dist/cli/browser-api/card-store-browser-api.js.map +0 -1
  171. package/dist/cli/node/artifacts-store-cli.cjs +0 -11
  172. package/dist/cli/node/artifacts-store-cli.cjs.map +0 -1
  173. package/dist/cli/node/artifacts-store-cli.d.cts +0 -8
  174. package/dist/cli/node/artifacts-store-cli.js +0 -11
  175. package/dist/cli/node/artifacts-store-cli.js.map +0 -1
  176. package/dist/cli/node/board-live-cards-cli.cjs +0 -15
  177. package/dist/cli/node/board-live-cards-cli.cjs.map +0 -1
  178. package/dist/cli/node/board-live-cards-cli.d.cts +0 -20
  179. package/dist/cli/node/board-live-cards-cli.js +0 -15
  180. package/dist/cli/node/board-live-cards-cli.js.map +0 -1
  181. package/dist/cli/node/card-store-cli.cjs +0 -8
  182. package/dist/cli/node/card-store-cli.cjs.map +0 -1
  183. package/dist/cli/node/card-store-cli.d.cts +0 -15
  184. package/dist/cli/node/card-store-cli.js +0 -8
  185. package/dist/cli/node/card-store-cli.js.map +0 -1
  186. package/dist/cli/node/execution-adapter.cjs +0 -3
  187. package/dist/cli/node/execution-adapter.cjs.map +0 -1
  188. package/dist/cli/node/execution-adapter.js +0 -3
  189. package/dist/cli/node/execution-adapter.js.map +0 -1
  190. package/dist/cli/node/fs-board-adapter.cjs +0 -14
  191. package/dist/cli/node/fs-board-adapter.cjs.map +0 -1
  192. package/dist/cli/node/fs-board-adapter.d.cts +0 -204
  193. package/dist/cli/node/fs-board-adapter.js +0 -14
  194. package/dist/cli/node/fs-board-adapter.js.map +0 -1
  195. package/dist/cli/node/source-cli-task-executor.cjs +0 -11
  196. package/dist/cli/node/source-cli-task-executor.cjs.map +0 -1
  197. package/dist/cli/node/source-cli-task-executor.js.map +0 -1
  198. package/dist/config/index.cjs.map +0 -1
  199. package/dist/config/index.js.map +0 -1
  200. package/dist/continuous-event-graph/index.cjs.map +0 -1
  201. package/dist/continuous-event-graph/index.js.map +0 -1
  202. package/dist/event-graph/index.cjs.map +0 -1
  203. package/dist/event-graph/index.js.map +0 -1
  204. package/dist/execution-refs.cjs +0 -3
  205. package/dist/execution-refs.cjs.map +0 -1
  206. package/dist/execution-refs.js +0 -3
  207. package/dist/execution-refs.js.map +0 -1
  208. package/dist/index.cjs +0 -30
  209. package/dist/index.cjs.map +0 -1
  210. package/dist/index.js +0 -30
  211. package/dist/index.js.map +0 -1
  212. package/dist/inference/index.cjs +0 -7
  213. package/dist/inference/index.cjs.map +0 -1
  214. package/dist/inference/index.d.cts +0 -229
  215. package/dist/inference/index.d.ts +0 -229
  216. package/dist/inference/index.js +0 -7
  217. package/dist/inference/index.js.map +0 -1
  218. package/dist/server-runtime/index.cjs +0 -9
  219. package/dist/server-runtime/index.cjs.map +0 -1
  220. package/dist/server-runtime/index.js +0 -9
  221. package/dist/server-runtime/index.js.map +0 -1
  222. package/dist/step-machine/index.cjs.map +0 -1
  223. package/dist/step-machine/index.d.cts +0 -102
  224. package/dist/step-machine/index.d.ts +0 -102
  225. package/dist/step-machine/index.js.map +0 -1
  226. package/dist/step-machine-public/index.cjs +0 -2
  227. package/dist/step-machine-public/index.cjs.map +0 -1
  228. package/dist/step-machine-public/index.js +0 -2
  229. package/dist/step-machine-public/index.js.map +0 -1
  230. package/dist/storage-refs.cjs +0 -10
  231. package/dist/storage-refs.cjs.map +0 -1
  232. package/dist/storage-refs.js +0 -10
  233. package/dist/storage-refs.js.map +0 -1
  234. package/dist/stores/file.cjs +0 -2
  235. package/dist/stores/file.cjs.map +0 -1
  236. package/dist/stores/file.d.cts +0 -36
  237. package/dist/stores/file.d.ts +0 -36
  238. package/dist/stores/file.js +0 -2
  239. package/dist/stores/file.js.map +0 -1
  240. package/dist/stores/index.cjs +0 -2
  241. package/dist/stores/index.cjs.map +0 -1
  242. package/dist/stores/index.d.cts +0 -4
  243. package/dist/stores/index.d.ts +0 -4
  244. package/dist/stores/index.js +0 -2
  245. package/dist/stores/index.js.map +0 -1
  246. package/dist/stores/localStorage.cjs +0 -2
  247. package/dist/stores/localStorage.cjs.map +0 -1
  248. package/dist/stores/localStorage.d.cts +0 -34
  249. package/dist/stores/localStorage.d.ts +0 -34
  250. package/dist/stores/localStorage.js +0 -2
  251. package/dist/stores/localStorage.js.map +0 -1
  252. package/dist/stores/memory.cjs.map +0 -1
  253. package/dist/stores/memory.js.map +0 -1
  254. package/dist/types-CHSdoAAA.d.cts +0 -135
  255. package/dist/types-CoW0gQl3.d.ts +0 -135
  256. package/examples/browser/boards/portfolio-tracker/portfolio-tracker-fetch-prices.py +0 -201
  257. package/examples/browser/boards/portfolio-tracker/portfolio-tracker-http-test.js +0 -357
  258. package/examples/browser/boards/portfolio-tracker/portfolio-tracker-inference-adapter.js +0 -196
  259. package/examples/browser/boards/portfolio-tracker/portfolio-tracker-server.js +0 -300
  260. package/examples/browser/boards/portfolio-tracker/portfolio-tracker-server.py +0 -617
  261. package/examples/browser/boards/portfolio-tracker/portfolio-tracker.py +0 -366
  262. package/examples/browser/livecards-browser/index.html +0 -41
  263. package/examples/browser/step-machine-browser/index.html +0 -367
  264. package/examples/cli/step-machine-cli/portfolio-tracker/--base-ref/.runtime-out +0 -1
  265. package/examples/cli/step-machine-cli/portfolio-tracker/--base-ref/board-graph.json +0 -32
  266. package/examples/cli/step-machine-cli/portfolio-tracker/cards/holdings-table.json +0 -22
  267. package/examples/cli/step-machine-cli/portfolio-tracker/cards/portfolio-form.json +0 -43
  268. package/examples/cli/step-machine-cli/portfolio-tracker/cards/portfolio-value.json +0 -15
  269. package/examples/cli/step-machine-cli/portfolio-tracker/cards/price-fetch.json +0 -15
  270. package/examples/cli/step-machine-cli/portfolio-tracker/fetch-prices.js +0 -48
  271. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/_board-cli.js +0 -125
  272. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/add-cards-cli.js +0 -32
  273. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/init-board-cli.js +0 -26
  274. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/poll-status-cli.js +0 -49
  275. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/reset-board-dir-cli.js +0 -25
  276. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/retrigger-cli.js +0 -23
  277. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/status-cli.js +0 -21
  278. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/update-holdings-cli.js +0 -38
  279. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/wait-completed-cli.js +0 -48
  280. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/write-prices-cli.js +0 -31
  281. package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/_board_pycli.py +0 -107
  282. package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/add-cards.py +0 -51
  283. package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/init-board.py +0 -45
  284. package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/poll-status.py +0 -71
  285. package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/reset-board-dir.py +0 -36
  286. package/examples/cli/step-machine-cli/portfolio-tracker/inline-python-demo.flow.yaml +0 -26
  287. package/examples/cli/step-machine-cli/portfolio-tracker/inline-python-handlers.py +0 -39
  288. package/examples/cli/step-machine-cli/portfolio-tracker/portfolio-tracker-pycli.flow.yaml +0 -80
  289. package/examples/cli/step-machine-cli/portfolio-tracker/portfolio-tracker.flow.yaml +0 -76
  290. package/examples/cli/step-machine-cli/portfolio-tracker/portfolio-tracker.input.json +0 -44
  291. package/examples/cli/step-machine-cli/portfolio-tracker/run-inline-python-demo-pycli.py +0 -43
  292. package/examples/cli/step-machine-cli/portfolio-tracker/run-portfolio-tracker-pycli.py +0 -77
  293. package/examples/cli/step-machine-cli/portfolio-tracker/run-portfolio-tracker.bat +0 -28
  294. package/examples/cli/step-machine-demo/jsonata-init-board-cli.js +0 -31
  295. package/examples/cli/step-machine-demo/jsonata-init-board.flow.yaml +0 -54
  296. package/examples/cli/step-machine-demo/one-step-cli-only.flow.yaml +0 -21
  297. package/examples/cli/step-machine-demo/step-cli-echo-y.js +0 -15
  298. package/examples/cli/step-machine-demo/step2-double-cli.js +0 -33
  299. package/examples/cli/step-machine-demo/two-step-math.flow.yaml +0 -93
  300. package/examples/cli/step-machine-demo/two-step-mixed.flow.yaml +0 -43
  301. package/examples/example-board/agent-instructions-cardlayout.md +0 -56
  302. package/examples/example-board/agent-instructions.md +0 -834
  303. package/examples/example-board/cards/_index.json +0 -47
  304. package/examples/example-board/demo-shell.html +0 -63
  305. package/examples/index.html +0 -785
  306. package/examples/npm-libs/batch/batch-step-machine.ts +0 -121
  307. package/examples/npm-libs/continuous-event-graph/live-cards-board.ts +0 -215
  308. package/examples/npm-libs/continuous-event-graph/live-portfolio-dashboard.ts +0 -555
  309. package/examples/npm-libs/continuous-event-graph/portfolio-tracker.ts +0 -287
  310. package/examples/npm-libs/continuous-event-graph/reactive-monitoring.ts +0 -265
  311. package/examples/npm-libs/continuous-event-graph/reactive-pipeline.ts +0 -168
  312. package/examples/npm-libs/continuous-event-graph/soc-incident-board.ts +0 -287
  313. package/examples/npm-libs/continuous-event-graph/stock-dashboard.ts +0 -229
  314. package/examples/npm-libs/event-graph/ci-cd-pipeline.ts +0 -243
  315. package/examples/npm-libs/event-graph/executor-diamond.ts +0 -165
  316. package/examples/npm-libs/event-graph/executor-pipeline.ts +0 -161
  317. package/examples/npm-libs/event-graph/research-pipeline.ts +0 -137
  318. package/examples/npm-libs/flows/ai-conversation.yaml +0 -116
  319. package/examples/npm-libs/flows/order-processing.yaml +0 -143
  320. package/examples/npm-libs/flows/simple-greeting.yaml +0 -54
  321. package/examples/npm-libs/graph-of-graphs/multi-stage-etl.ts +0 -307
  322. package/examples/npm-libs/graph-of-graphs/url-processing-pipeline.ts +0 -254
  323. package/examples/npm-libs/inference/azure-deployment.ts +0 -149
  324. package/examples/npm-libs/inference/copilot-cli.ts +0 -138
  325. package/examples/npm-libs/inference/data-pipeline.ts +0 -145
  326. package/examples/npm-libs/inference/pluggable-adapters.ts +0 -254
  327. package/examples/npm-libs/node/ai-conversation.ts +0 -195
  328. package/examples/npm-libs/node/simple-greeting.ts +0 -101
  329. package/examples/step-machine-cli/portfolio-tracker/cards/holdings-table.json +0 -22
  330. package/examples/step-machine-cli/portfolio-tracker/cards/portfolio-form.json +0 -43
  331. package/examples/step-machine-cli/portfolio-tracker/cards/portfolio-value.json +0 -15
  332. package/examples/step-machine-cli/portfolio-tracker/cards/price-fetch.json +0 -15
  333. package/examples/step-machine-cli/portfolio-tracker/fetch-prices.js +0 -48
  334. package/examples/step-machine-cli/portfolio-tracker/handlers/_board-cli.js +0 -57
  335. package/examples/step-machine-cli/portfolio-tracker/handlers/add-cards-cli.js +0 -27
  336. package/examples/step-machine-cli/portfolio-tracker/handlers/init-board-cli.js +0 -25
  337. package/examples/step-machine-cli/portfolio-tracker/handlers/reset-board-dir-cli.js +0 -29
  338. package/examples/step-machine-cli/portfolio-tracker/handlers/retrigger-cli.js +0 -27
  339. package/examples/step-machine-cli/portfolio-tracker/handlers/status-cli.js +0 -25
  340. package/examples/step-machine-cli/portfolio-tracker/handlers/update-holdings-cli.js +0 -37
  341. package/examples/step-machine-cli/portfolio-tracker/handlers/wait-completed-cli.js +0 -53
  342. package/examples/step-machine-cli/portfolio-tracker/handlers/write-prices-cli.js +0 -35
  343. package/examples/step-machine-cli/portfolio-tracker/portfolio-tracker-task-executor.cjs +0 -96
  344. package/examples/step-machine-cli/portfolio-tracker/portfolio-tracker.flow.yaml +0 -227
  345. package/examples/step-machine-cli/portfolio-tracker/portfolio-tracker.input.json +0 -38
  346. package/examples/step-machine-cli/portfolio-tracker/run-portfolio-tracker.bat +0 -28
  347. package/step-machine-cli.js +0 -407
  348. /package/{dist/board-livegraph-runtime → cli/browser-api}/jsonata-sync.cjs +0 -0
  349. /package/{dist/cli → cli}/node/artifacts-store-cli.d.ts +0 -0
  350. /package/{dist/cli/node/source-cli-task-executor.d.cts → cli/node/batch-runner-cli.d.ts} +0 -0
  351. /package/{dist/cli → cli}/node/board-live-cards-cli.d.ts +0 -0
  352. /package/{dist/cli → cli}/node/card-store-cli.d.ts +0 -0
  353. /package/{dist/card-compute → cli/node}/jsonata-sync.cjs +0 -0
  354. /package/{dist/cli → cli}/node/source-cli-task-executor.d.ts +0 -0
  355. /package/examples/{example-board → board}/cards/card-concentration.json +0 -0
  356. /package/examples/{example-board → board}/cards/card-my-identity.json +0 -0
  357. /package/examples/{example-board → board}/cards/card-portfolio-action.json +0 -0
  358. /package/examples/{example-board → board}/cards/card-portfolio-intelligence.json +0 -0
  359. /package/examples/{example-board → board}/cards/card-portfolio-risks.json +0 -0
  360. /package/examples/{example-board → board}/cards/card-rebalance-impact.json +0 -0
  361. /package/examples/{example-board → board}/cards/card-rebalance-sim.json +0 -0
  362. /package/examples/{example-board/cards/card-portfolio-value.json → board/cards/cardT-portfolio-value.json} +0 -0
  363. /package/examples/{example-board → board}/demo-chat-handler.js +0 -0
  364. /package/examples/{example-board → board}/scripts/copilot_wrapper.bat +0 -0
  365. /package/examples/{example-board → board}/scripts/copilot_wrapper_helper.ps1 +0 -0
  366. /package/examples/{example-board → board}/scripts/workiq_wrapper.mjs +0 -0
  367. /package/examples/{browser/boards/portfolio-tracker → board/test}/portfolio-tracker-sse-worker.js +0 -0
  368. /package/{dist → lib}/batch/index.cjs +0 -0
  369. /package/{dist → lib}/batch/index.d.cts +0 -0
  370. /package/{dist → lib}/batch/index.d.ts +0 -0
  371. /package/{dist → lib}/batch/index.js +0 -0
  372. /package/{dist/cli/browser-api → lib/board-livegraph-runtime}/jsonata-sync.cjs +0 -0
  373. /package/{dist → lib}/card-compute/index.d.cts +0 -0
  374. /package/{dist → lib}/card-compute/index.d.ts +0 -0
  375. /package/{dist/cli/node → lib/card-compute}/jsonata-sync.cjs +0 -0
  376. /package/{dist → lib}/config/index.cjs +0 -0
  377. /package/{dist → lib}/config/index.d.cts +0 -0
  378. /package/{dist → lib}/config/index.d.ts +0 -0
  379. /package/{dist → lib}/config/index.js +0 -0
  380. /package/{dist → lib}/continuous-event-graph/jsonata-sync.cjs +0 -0
  381. /package/{dist → lib}/event-graph/index.cjs +0 -0
  382. /package/{dist → lib}/event-graph/index.js +0 -0
  383. /package/{dist → lib}/jsonata-sync.cjs +0 -0
  384. /package/{dist → lib}/server-runtime/jsonata-sync.cjs +0 -0
  385. /package/{dist → lib}/step-machine/index.cjs +0 -0
  386. /package/{dist → lib}/step-machine/index.js +0 -0
  387. /package/{dist → lib}/step-machine-public/jsonata-sync.cjs +0 -0
  388. /package/{dist → lib}/stores/memory.cjs +0 -0
  389. /package/{dist → lib}/stores/memory.js +0 -0
  390. /package/{dist → lib}/types-BBhqYGhE.d.cts +0 -0
  391. /package/{dist → lib}/types-BBhqYGhE.d.ts +0 -0
  392. /package/{dist → lib}/validate-BAVzUJWa.d.ts +0 -0
  393. /package/{dist → lib}/validate-Dbu7ygys.d.cts +0 -0
@@ -5,6 +5,6 @@ import {createRequire}from'module';import gf from'ajv-formats';var Mi=Object.cre
5
5
  || ${i} === "boolean" || ${n} === null`).assign(a,(0, w._)`[${n}]`);}}}function za({gen:t,parentData:e,parentDataProperty:r},s){t.if((0, w._)`${e} !== undefined`,()=>t.assign((0, w._)`${e}[${r}]`,s));}function Nr(t,e,r,s=Ce.Correct){let n=s===Ce.Correct?w.operators.EQ:w.operators.NEQ,o;switch(t){case "null":return (0, w._)`${e} ${n} null`;case "array":o=(0, w._)`Array.isArray(${e})`;break;case "object":o=(0, w._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case "integer":o=i((0, w._)`!(${e} % 1) && !isNaN(${e})`);break;case "number":o=i();break;default:return (0, w._)`typeof ${e} ${n} ${t}`}return s===Ce.Correct?o:(0, w.not)(o);function i(a=w.nil){return (0, w.and)((0, w._)`typeof ${e} == "number"`,a,r?(0, w._)`isFinite(${e})`:w.nil)}}K.checkDataType=Nr;function Or(t,e,r,s){if(t.length===1)return Nr(t[0],e,r,s);let n,o=(0, hn.toHash)(t);if(o.array&&o.object){let i=(0, w._)`typeof ${e} != "object"`;n=o.null?i:(0, w._)`!${e} || ${i}`,delete o.null,delete o.array,delete o.object;}else n=w.nil;o.number&&delete o.integer;for(let i in o)n=(0, w.and)(n,Nr(i,e,r,s));return n}K.checkDataTypes=Or;var Ka={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0, w._)`{type: ${t}}`:(0, w._)`{type: ${e}}`};function Rr(t){let e=Ua(t);(0, Ma.reportError)(e,Ka);}K.reportTypeError=Rr;function Ua(t){let{gen:e,data:r,schema:s}=t,n=(0, hn.schemaRefOrVal)(t,s,"type");return {gen:e,keyword:"type",data:r,schema:s.type,schemaCode:n,schemaValue:n,parentSchema:s,params:{},it:t}}});var _n=_(Nt=>{Object.defineProperty(Nt,"__esModule",{value:true});Nt.assignDefaults=void 0;var Me=S(),La=N();function Ha(t,e){let{properties:r,items:s}=t.schema;if(e==="object"&&r)for(let n in r)gn(t,n,r[n].default);else e==="array"&&Array.isArray(s)&&s.forEach((n,o)=>gn(t,o,n.default));}Nt.assignDefaults=Ha;function gn(t,e,r){let{gen:s,compositeRule:n,data:o,opts:i}=t;if(r===void 0)return;let a=(0, Me._)`${o}${(0, Me.getProperty)(e)}`;if(n){(0, La.checkStrictMode)(t,`default is ignored for: ${a}`);return}let u=(0, Me._)`${a} === undefined`;i.useDefaults==="empty"&&(u=(0, Me._)`${u} || ${a} === null || ${a} === ""`),s.if(u,(0, Me._)`${a} = ${(0, Me.stringify)(r)}`);}});var Q=_(T=>{Object.defineProperty(T,"__esModule",{value:true});T.validateUnion=T.validateArray=T.usePattern=T.callValidateCode=T.schemaProperties=T.allSchemaProperties=T.noPropertyInData=T.propertyInData=T.isOwnProperty=T.hasPropFunc=T.reportMissingProp=T.checkMissingProp=T.checkReportMissingProp=void 0;var C=S(),Tr=N(),ye=le(),Ga=N();function Ja(t,e){let{gen:r,data:s,it:n}=t;r.if(Ir(r,s,e,n.opts.ownProperties),()=>{t.setParams({missingProperty:(0, C._)`${e}`},true),t.error();});}T.checkReportMissingProp=Ja;function Wa({gen:t,data:e,it:{opts:r}},s,n){return (0, C.or)(...s.map(o=>(0, C.and)(Ir(t,e,o,r.ownProperties),(0, C._)`${n} = ${o}`)))}T.checkMissingProp=Wa;function Ba(t,e){t.setParams({missingProperty:e},true),t.error();}T.reportMissingProp=Ba;function vn(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0, C._)`Object.prototype.hasOwnProperty`})}T.hasPropFunc=vn;function Ar(t,e,r){return (0, C._)`${vn(t)}.call(${e}, ${r})`}T.isOwnProperty=Ar;function Qa(t,e,r,s){let n=(0, C._)`${e}${(0, C.getProperty)(r)} !== undefined`;return s?(0, C._)`${n} && ${Ar(t,e,r)}`:n}T.propertyInData=Qa;function Ir(t,e,r,s){let n=(0, C._)`${e}${(0, C.getProperty)(r)} === undefined`;return s?(0, C.or)(n,(0, C.not)(Ar(t,e,r))):n}T.noPropertyInData=Ir;function $n(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}T.allSchemaProperties=$n;function Xa(t,e){return $n(e).filter(r=>!(0, Tr.alwaysValidSchema)(t,e[r]))}T.schemaProperties=Xa;function Ya({schemaCode:t,data:e,it:{gen:r,topSchemaRef:s,schemaPath:n,errorPath:o},it:i},a,u,c){let d=c?(0, C._)`${t}, ${e}, ${s}${n}`:e,l=[[ye.default.instancePath,(0, C.strConcat)(ye.default.instancePath,o)],[ye.default.parentData,i.parentData],[ye.default.parentDataProperty,i.parentDataProperty],[ye.default.rootData,ye.default.rootData]];i.opts.dynamicRef&&l.push([ye.default.dynamicAnchors,ye.default.dynamicAnchors]);let m=(0, C._)`${d}, ${r.object(...l)}`;return u!==C.nil?(0, C._)`${a}.call(${u}, ${m})`:(0, C._)`${a}(${m})`}T.callValidateCode=Ya;var Za=(0, C._)`new RegExp`;function eu({gen:t,it:{opts:e}},r){let s=e.unicodeRegExp?"u":"",{regExp:n}=e.code,o=n(r,s);return t.scopeValue("pattern",{key:o.toString(),ref:o,code:(0, C._)`${n.code==="new RegExp"?Za:(0, Ga.useFunc)(t,n)}(${r}, ${s})`})}T.usePattern=eu;function tu(t){let{gen:e,data:r,keyword:s,it:n}=t,o=e.name("valid");if(n.allErrors){let a=e.let("valid",true);return i(()=>e.assign(a,false)),a}return e.var(o,true),i(()=>e.break()),o;function i(a){let u=e.const("len",(0, C._)`${r}.length`);e.forRange("i",0,u,c=>{t.subschema({keyword:s,dataProp:c,dataPropType:Tr.Type.Num},o),e.if((0, C.not)(o),a);});}}T.validateArray=tu;function ru(t){let{gen:e,schema:r,keyword:s,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(u=>(0, Tr.alwaysValidSchema)(n,u))&&!n.opts.unevaluated)return;let i=e.let("valid",false),a=e.name("_valid");e.block(()=>r.forEach((u,c)=>{let d=t.subschema({keyword:s,schemaProp:c,compositeRule:true},a);e.assign(i,(0, C._)`${i} || ${a}`),t.mergeValidEvaluated(d,a)||e.if((0, C.not)(i));})),t.result(i,()=>t.reset(),()=>t.error(true));}T.validateUnion=ru;});var En=_(ne=>{Object.defineProperty(ne,"__esModule",{value:true});ne.validateKeywordUsage=ne.validSchemaType=ne.funcKeywordCode=ne.macroKeywordCode=void 0;var L=S(),ke=le(),su=Q(),nu=tt();function ou(t,e){let{gen:r,keyword:s,schema:n,parentSchema:o,it:i}=t,a=e.macro.call(i.self,n,o,i),u=wn(r,s,a);i.opts.validateSchema!==false&&i.self.validateSchema(a,true);let c=r.name("valid");t.subschema({schema:a,schemaPath:L.nil,errSchemaPath:`${i.errSchemaPath}/${s}`,topSchemaRef:u,compositeRule:true},c),t.pass(c,()=>t.error(true));}ne.macroKeywordCode=ou;function iu(t,e){var r;let{gen:s,keyword:n,schema:o,parentSchema:i,$data:a,it:u}=t;uu(u,e);let c=!a&&e.compile?e.compile.call(u.self,o,i,u):e.validate,d=wn(s,n,c),l=s.let("valid");t.block$data(l,m),t.ok((r=e.valid)!==null&&r!==void 0?r:l);function m(){if(e.errors===false)f(),e.modifying&&bn(t),y(()=>t.error());else {let g=e.async?h():p();e.modifying&&bn(t),y(()=>au(t,g));}}function h(){let g=s.let("ruleErrs",null);return s.try(()=>f((0, L._)`await `),q=>s.assign(l,false).if((0, L._)`${q} instanceof ${u.ValidationError}`,()=>s.assign(g,(0, L._)`${q}.errors`),()=>s.throw(q))),g}function p(){let g=(0, L._)`${d}.errors`;return s.assign(g,null),f(L.nil),g}function f(g=e.async?(0, L._)`await `:L.nil){let q=u.opts.passContext?ke.default.this:ke.default.self,k=!("compile"in e&&!a||e.schema===false);s.assign(l,(0, L._)`${g}${(0, su.callValidateCode)(t,d,q,k)}`,e.modifying);}function y(g){var q;s.if((0, L.not)((q=e.valid)!==null&&q!==void 0?q:l),g);}}ne.funcKeywordCode=iu;function bn(t){let{gen:e,data:r,it:s}=t;e.if(s.parentData,()=>e.assign(r,(0, L._)`${s.parentData}[${s.parentDataProperty}]`));}function au(t,e){let{gen:r}=t;r.if((0, L._)`Array.isArray(${e})`,()=>{r.assign(ke.default.vErrors,(0, L._)`${ke.default.vErrors} === null ? ${e} : ${ke.default.vErrors}.concat(${e})`).assign(ke.default.errors,(0, L._)`${ke.default.vErrors}.length`),(0, nu.extendErrors)(t);},()=>t.error());}function uu({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function wn(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, L.stringify)(r)})}function cu(t,e,r=false){return !e.length||e.some(s=>s==="array"?Array.isArray(t):s==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==s||r&&typeof t>"u")}ne.validSchemaType=cu;function du({schema:t,opts:e,self:r,errSchemaPath:s},n,o){if(Array.isArray(n.keyword)?!n.keyword.includes(o):n.keyword!==o)throw new Error("ajv implementation error");let i=n.dependencies;if(i?.some(a=>!Object.prototype.hasOwnProperty.call(t,a)))throw new Error(`parent schema must have dependencies of ${o}: ${i.join(",")}`);if(n.validateSchema&&!n.validateSchema(t[o])){let u=`keyword "${o}" value is invalid at path "${s}": `+r.errorsText(n.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(u);else throw new Error(u)}}ne.validateKeywordUsage=du;});var Pn=_(ge=>{Object.defineProperty(ge,"__esModule",{value:true});ge.extendSubschemaMode=ge.extendSubschemaData=ge.getSubschema=void 0;var oe=S(),Sn=N();function lu(t,{keyword:e,schemaProp:r,schema:s,schemaPath:n,errSchemaPath:o,topSchemaRef:i}){if(e!==void 0&&s!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let a=t.schema[e];return r===void 0?{schema:a,schemaPath:(0, oe._)`${t.schemaPath}${(0, oe.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:a[r],schemaPath:(0, oe._)`${t.schemaPath}${(0, oe.getProperty)(e)}${(0, oe.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0, Sn.escapeFragment)(r)}`}}if(s!==void 0){if(n===void 0||o===void 0||i===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return {schema:s,schemaPath:n,topSchemaRef:i,errSchemaPath:o}}throw new Error('either "keyword" or "schema" must be passed')}ge.getSubschema=lu;function fu(t,e,{dataProp:r,dataPropType:s,data:n,dataTypes:o,propertyName:i}){if(n!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:a}=e;if(r!==void 0){let{errorPath:c,dataPathArr:d,opts:l}=e,m=a.let("data",(0, oe._)`${e.data}${(0, oe.getProperty)(r)}`,true);u(m),t.errorPath=(0, oe.str)`${c}${(0, Sn.getErrorPath)(r,s,l.jsPropertySyntax)}`,t.parentDataProperty=(0, oe._)`${r}`,t.dataPathArr=[...d,t.parentDataProperty];}if(n!==void 0){let c=n instanceof oe.Name?n:a.let("data",n,true);u(c),i!==void 0&&(t.propertyName=i);}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];}}ge.extendSubschemaData=fu;function pu(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:s,createErrors:n,allErrors:o}){s!==void 0&&(t.compositeRule=s),n!==void 0&&(t.createErrors=n),o!==void 0&&(t.allErrors=o),t.jtdDiscriminator=e,t.jtdMetadata=r;}ge.extendSubschemaMode=pu;});var Cr=_((Yf,kn)=>{kn.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 s,n,o;if(Array.isArray(e)){if(s=e.length,s!=r.length)return false;for(n=s;n--!==0;)if(!t(e[n],r[n]))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),s=o.length,s!==Object.keys(r).length)return false;for(n=s;n--!==0;)if(!Object.prototype.hasOwnProperty.call(r,o[n]))return false;for(n=s;n--!==0;){var i=o[n];if(!t(e[i],r[i]))return false}return true}return e!==e&&r!==r};});var qn=_((Zf,jn)=>{var _e=jn.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var s=typeof r=="function"?r:r.pre||function(){},n=r.post||function(){};Ot(e,s,n,t,"",t);};_e.keywords={additionalItems:true,items:true,contains:true,additionalProperties:true,propertyNames:true,not:true,if:true,then:true,else:true};_e.arrayKeywords={items:true,allOf:true,anyOf:true,oneOf:true};_e.propsKeywords={$defs:true,definitions:true,properties:true,patternProperties:true,dependencies:true};_e.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 Ot(t,e,r,s,n,o,i,a,u,c){if(s&&typeof s=="object"&&!Array.isArray(s)){e(s,n,o,i,a,u,c);for(var d in s){var l=s[d];if(Array.isArray(l)){if(d in _e.arrayKeywords)for(var m=0;m<l.length;m++)Ot(t,e,r,l[m],n+"/"+d+"/"+m,o,n,d,s,m);}else if(d in _e.propsKeywords){if(l&&typeof l=="object")for(var h in l)Ot(t,e,r,l[h],n+"/"+d+"/"+hu(h),o,n,d,s,h);}else (d in _e.keywords||t.allKeys&&!(d in _e.skipKeywords))&&Ot(t,e,r,l,n+"/"+d,o,n,d,s);}r(s,n,o,i,a,u,c);}}function hu(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var st=_(J=>{Object.defineProperty(J,"__esModule",{value:true});J.getSchemaRefs=J.resolveUrl=J.normalizeId=J._getFullPath=J.getFullPath=J.inlineRef=void 0;var mu=N(),yu=Cr(),gu=qn(),_u=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function vu(t,e=true){return typeof t=="boolean"?true:e===true?!Mr(t):e?Nn(t)<=e:false}J.inlineRef=vu;var $u=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Mr(t){for(let e in t){if($u.has(e))return true;let r=t[e];if(Array.isArray(r)&&r.some(Mr)||typeof r=="object"&&Mr(r))return true}return false}function Nn(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!_u.has(r)&&(typeof t[r]=="object"&&(0, mu.eachItem)(t[r],s=>e+=Nn(s)),e===1/0))return 1/0}return e}function On(t,e="",r){r!==false&&(e=De(e));let s=t.parse(e);return Rn(t,s)}J.getFullPath=On;function Rn(t,e){return t.serialize(e).split("#")[0]+"#"}J._getFullPath=Rn;var bu=/#\/?$/;function De(t){return t?t.replace(bu,""):""}J.normalizeId=De;function wu(t,e,r){return r=De(r),t.resolve(e,r)}J.resolveUrl=wu;var Eu=/^[a-z_][-a-z0-9._]*$/i;function Su(t,e){if(typeof t=="boolean")return {};let{schemaId:r,uriResolver:s}=this.opts,n=De(t[r]||e),o={"":n},i=On(s,n,false),a={},u=new Set;return gu(t,{allKeys:true},(l,m,h,p)=>{if(p===void 0)return;let f=i+m,y=o[p];typeof l[r]=="string"&&(y=g.call(this,l[r])),q.call(this,l.$anchor),q.call(this,l.$dynamicAnchor),o[m]=y;function g(k){let I=this.opts.uriResolver.resolve;if(k=De(y?I(y,k):k),u.has(k))throw d(k);u.add(k);let b=this.refs[k];return typeof b=="string"&&(b=this.refs[b]),typeof b=="object"?c(l,b.schema,k):k!==De(f)&&(k[0]==="#"?(c(l,a[k],k),a[k]=l):this.refs[k]=f),k}function q(k){if(typeof k=="string"){if(!Eu.test(k))throw new Error(`invalid anchor "${k}"`);g.call(this,`#${k}`);}}}),a;function c(l,m,h){if(m!==void 0&&!yu(l,m))throw d(h)}function d(l){return new Error(`reference "${l}" resolves to more than one schema`)}}J.getSchemaRefs=Su;});var it=_(ve=>{Object.defineProperty(ve,"__esModule",{value:true});ve.getData=ve.KeywordCxt=ve.validateFunctionCode=void 0;var Mn=ln(),Tn=rt(),xr=qr(),Rt=rt(),Pu=_n(),ot=En(),Dr=Pn(),v=S(),$=le(),ku=st(),fe=N(),nt=tt();function ju(t){if(Vn(t)&&(Fn(t),xn(t))){Ou(t);return}Dn(t,()=>(0, Mn.topBoolOrEmptySchema)(t));}ve.validateFunctionCode=ju;function Dn({gen:t,validateName:e,schema:r,schemaEnv:s,opts:n},o){n.code.es5?t.func(e,(0, v._)`${$.default.data}, ${$.default.valCxt}`,s.$async,()=>{t.code((0, v._)`"use strict"; ${An(r,n)}`),Nu(t,n),t.code(o);}):t.func(e,(0, v._)`${$.default.data}, ${qu(n)}`,s.$async,()=>t.code(An(r,n)).code(o));}function qu(t){return (0, v._)`{${$.default.instancePath}="", ${$.default.parentData}, ${$.default.parentDataProperty}, ${$.default.rootData}=${$.default.data}${t.dynamicRef?(0, v._)`, ${$.default.dynamicAnchors}={}`:v.nil}}={}`}function Nu(t,e){t.if($.default.valCxt,()=>{t.var($.default.instancePath,(0, v._)`${$.default.valCxt}.${$.default.instancePath}`),t.var($.default.parentData,(0, v._)`${$.default.valCxt}.${$.default.parentData}`),t.var($.default.parentDataProperty,(0, v._)`${$.default.valCxt}.${$.default.parentDataProperty}`),t.var($.default.rootData,(0, v._)`${$.default.valCxt}.${$.default.rootData}`),e.dynamicRef&&t.var($.default.dynamicAnchors,(0, v._)`${$.default.valCxt}.${$.default.dynamicAnchors}`);},()=>{t.var($.default.instancePath,(0, v._)`""`),t.var($.default.parentData,(0, v._)`undefined`),t.var($.default.parentDataProperty,(0, v._)`undefined`),t.var($.default.rootData,$.default.data),e.dynamicRef&&t.var($.default.dynamicAnchors,(0, v._)`{}`);});}function Ou(t){let{schema:e,opts:r,gen:s}=t;Dn(t,()=>{r.$comment&&e.$comment&&Kn(t),Cu(t),s.let($.default.vErrors,null),s.let($.default.errors,0),r.unevaluated&&Ru(t),zn(t),xu(t);});}function Ru(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0, v._)`${r}.evaluated`),e.if((0, v._)`${t.evaluated}.dynamicProps`,()=>e.assign((0, v._)`${t.evaluated}.props`,(0, v._)`undefined`)),e.if((0, v._)`${t.evaluated}.dynamicItems`,()=>e.assign((0, v._)`${t.evaluated}.items`,(0, v._)`undefined`));}function An(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0, v._)`/*# sourceURL=${r} */`:v.nil}function Tu(t,e){if(Vn(t)&&(Fn(t),xn(t))){Au(t,e);return}(0, Mn.boolOrEmptySchema)(t,e);}function xn({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 Vn(t){return typeof t.schema!="boolean"}function Au(t,e){let{schema:r,gen:s,opts:n}=t;n.$comment&&r.$comment&&Kn(t),Mu(t),Du(t);let o=s.const("_errs",$.default.errors);zn(t,o),s.var(e,(0, v._)`${o} === ${$.default.errors}`);}function Fn(t){(0, fe.checkUnknownRules)(t),Iu(t);}function zn(t,e){if(t.opts.jtd)return In(t,[],false,e);let r=(0, Tn.getSchemaTypes)(t.schema),s=(0, Tn.coerceAndCheckDataType)(t,r);In(t,r,!s,e);}function Iu(t){let{schema:e,errSchemaPath:r,opts:s,self:n}=t;e.$ref&&s.ignoreKeywordsWithRef&&(0, fe.schemaHasRulesButRef)(e,n.RULES)&&n.logger.warn(`$ref: keywords ignored in schema at path "${r}"`);}function Cu(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0, fe.checkStrictMode)(t,"default is ignored in the schema root");}function Mu(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0, ku.resolveUrl)(t.opts.uriResolver,t.baseId,e));}function Du(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function Kn({gen:t,schemaEnv:e,schema:r,errSchemaPath:s,opts:n}){let o=r.$comment;if(n.$comment===true)t.code((0, v._)`${$.default.self}.logger.log(${o})`);else if(typeof n.$comment=="function"){let i=(0, v.str)`${s}/$comment`,a=t.scopeValue("root",{ref:e.root});t.code((0, v._)`${$.default.self}.opts.$comment(${o}, ${i}, ${a}.schema)`);}}function xu(t){let{gen:e,schemaEnv:r,validateName:s,ValidationError:n,opts:o}=t;r.$async?e.if((0, v._)`${$.default.errors} === 0`,()=>e.return($.default.data),()=>e.throw((0, v._)`new ${n}(${$.default.vErrors})`)):(e.assign((0, v._)`${s}.errors`,$.default.vErrors),o.unevaluated&&Vu(t),e.return((0, v._)`${$.default.errors} === 0`));}function Vu({gen:t,evaluated:e,props:r,items:s}){r instanceof v.Name&&t.assign((0, v._)`${e}.props`,r),s instanceof v.Name&&t.assign((0, v._)`${e}.items`,s);}function In(t,e,r,s){let{gen:n,schema:o,data:i,allErrors:a,opts:u,self:c}=t,{RULES:d}=c;if(o.$ref&&(u.ignoreKeywordsWithRef||!(0, fe.schemaHasRulesButRef)(o,d))){n.block(()=>Ln(t,"$ref",d.all.$ref.definition));return}u.jtd||Fu(t,e),n.block(()=>{for(let m of d.rules)l(m);l(d.post);});function l(m){(0, xr.shouldUseGroup)(o,m)&&(m.type?(n.if((0, Rt.checkDataType)(m.type,i,u.strictNumbers)),Cn(t,m),e.length===1&&e[0]===m.type&&r&&(n.else(),(0, Rt.reportTypeError)(t)),n.endIf()):Cn(t,m),a||n.if((0, v._)`${$.default.errors} === ${s||0}`));}}function Cn(t,e){let{gen:r,schema:s,opts:{useDefaults:n}}=t;n&&(0, Pu.assignDefaults)(t,e.type),r.block(()=>{for(let o of e.rules)(0, xr.shouldUseRule)(s,o)&&Ln(t,o.keyword,o.definition,e.type);});}function Fu(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(zu(t,e),t.opts.allowUnionTypes||Ku(t,e),Uu(t,t.dataTypes));}function zu(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{Un(t.dataTypes,r)||Vr(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`);}),Hu(t,e);}}function Ku(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&Vr(t,"use allowUnionTypes to allow union type keyword");}function Uu(t,e){let r=t.self.RULES.all;for(let s in r){let n=r[s];if(typeof n=="object"&&(0, xr.shouldUseRule)(t.schema,n)){let{type:o}=n.definition;o.length&&!o.some(i=>Lu(e,i))&&Vr(t,`missing type "${o.join(",")}" for keyword "${s}"`);}}}function Lu(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function Un(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function Hu(t,e){let r=[];for(let s of t.dataTypes)Un(e,s)?r.push(s):e.includes("integer")&&s==="number"&&r.push("integer");t.dataTypes=r;}function Vr(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0, fe.checkStrictMode)(t,e,t.opts.strictTypes);}var Tt=class{constructor(e,r,s){if((0, ot.validateKeywordUsage)(e,r,s),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=s,this.data=e.data,this.schema=e.schema[s],this.$data=r.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0, fe.schemaRefOrVal)(e,this.schema,s,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",Hn(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0, ot.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${s} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==false)&&(this.errsCount=e.gen.const("_errs",$.default.errors));}result(e,r,s){this.failResult((0, v.not)(e),r,s);}failResult(e,r,s){this.gen.if(e),s?s():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, v.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, v._)`${r} !== undefined && (${(0, v.or)(this.invalid$data(),e)})`);}error(e,r,s){if(r){this.setParams(r),this._error(e,s),this.setParams({});return}this._error(e,s);}_error(e,r){(e?nt.reportExtraError:nt.reportError)(this,this.def.error,r);}$dataError(){(0, nt.reportError)(this,this.def.$dataError||nt.keyword$DataError);}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0, nt.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,s=v.nil){this.gen.block(()=>{this.check$data(e,s),r();});}check$data(e=v.nil,r=v.nil){if(!this.$data)return;let{gen:s,schemaCode:n,schemaType:o,def:i}=this;s.if((0, v.or)((0, v._)`${n} === undefined`,r)),e!==v.nil&&s.assign(e,true),(o.length||i.validateSchema)&&(s.elseIf(this.invalid$data()),this.$dataError(),e!==v.nil&&s.assign(e,false)),s.else();}invalid$data(){let{gen:e,schemaCode:r,schemaType:s,def:n,it:o}=this;return (0, v.or)(i(),a());function i(){if(s.length){if(!(r instanceof v.Name))throw new Error("ajv implementation error");let u=Array.isArray(s)?s:[s];return (0, v._)`${(0, Rt.checkDataTypes)(u,r,o.opts.strictNumbers,Rt.DataType.Wrong)}`}return v.nil}function a(){if(n.validateSchema){let u=e.scopeValue("validate$data",{ref:n.validateSchema});return (0, v._)`!${u}(${r})`}return v.nil}}subschema(e,r){let s=(0, Dr.getSubschema)(this.it,e);(0, Dr.extendSubschemaData)(s,this.it,e),(0, Dr.extendSubschemaMode)(s,e);let n={...this.it,...s,items:void 0,props:void 0};return Tu(n,r),n}mergeEvaluated(e,r){let{it:s,gen:n}=this;s.opts.unevaluated&&(s.props!==true&&e.props!==void 0&&(s.props=fe.mergeEvaluated.props(n,e.props,s.props,r)),s.items!==true&&e.items!==void 0&&(s.items=fe.mergeEvaluated.items(n,e.items,s.items,r)));}mergeValidEvaluated(e,r){let{it:s,gen:n}=this;if(s.opts.unevaluated&&(s.props!==true||s.items!==true))return n.if(r,()=>this.mergeEvaluated(e,v.Name)),true}};ve.KeywordCxt=Tt;function Ln(t,e,r,s){let n=new Tt(t,r,e);"code"in r?r.code(n,s):n.$data&&r.validate?(0, ot.funcKeywordCode)(n,r):"macro"in r?(0, ot.macroKeywordCode)(n,r):(r.compile||r.validate)&&(0, ot.funcKeywordCode)(n,r);}var Gu=/^\/(?:[^~]|~0|~1)*$/,Ju=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Hn(t,{dataLevel:e,dataNames:r,dataPathArr:s}){let n,o;if(t==="")return $.default.rootData;if(t[0]==="/"){if(!Gu.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);n=t,o=$.default.rootData;}else {let c=Ju.exec(t);if(!c)throw new Error(`Invalid JSON-pointer: ${t}`);let d=+c[1];if(n=c[2],n==="#"){if(d>=e)throw new Error(u("property/index",d));return s[e-d]}if(d>e)throw new Error(u("data",d));if(o=r[e-d],!n)return o}let i=o,a=n.split("/");for(let c of a)c&&(o=(0, v._)`${o}${(0, v.getProperty)((0, fe.unescapeJsonPointer)(c))}`,i=(0, v._)`${i} && ${o}`);return i;function u(c,d){return `Cannot access ${c} ${d} levels up, current level is ${e}`}}ve.getData=Hn;});var At=_(zr=>{Object.defineProperty(zr,"__esModule",{value:true});var Fr=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=true;}};zr.default=Fr;});var at=_(Lr=>{Object.defineProperty(Lr,"__esModule",{value:true});var Kr=st(),Ur=class extends Error{constructor(e,r,s,n){super(n||`can't resolve reference ${s} from id ${r}`),this.missingRef=(0, Kr.resolveUrl)(e,r,s),this.missingSchema=(0, Kr.normalizeId)((0, Kr.getFullPath)(e,this.missingRef));}};Lr.default=Ur;});var Ct=_(X=>{Object.defineProperty(X,"__esModule",{value:true});X.resolveSchema=X.getCompilingSchema=X.resolveRef=X.compileSchema=X.SchemaEnv=void 0;var ee=S(),Wu=At(),je=le(),te=st(),Gn=N(),Bu=it(),xe=class{constructor(e){var r;this.refs={},this.dynamicAnchors={};let s;typeof e.schema=="object"&&(s=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, te.normalizeId)(s?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=s?.$async,this.refs={};}};X.SchemaEnv=xe;function Gr(t){let e=Jn.call(this,t);if(e)return e;let r=(0, te.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:s,lines:n}=this.opts.code,{ownProperties:o}=this.opts,i=new ee.CodeGen(this.scope,{es5:s,lines:n,ownProperties:o}),a;t.$async&&(a=i.scopeValue("Error",{ref:Wu.default,code:(0, ee._)`require("ajv/dist/runtime/validation_error").default`}));let u=i.scopeName("validate");t.validateName=u;let c={gen:i,allErrors:this.opts.allErrors,data:je.default.data,parentData:je.default.parentData,parentDataProperty:je.default.parentDataProperty,dataNames:[je.default.data],dataPathArr:[ee.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",this.opts.code.source===true?{ref:t.schema,code:(0, ee.stringify)(t.schema)}:{ref:t.schema}),validateName:u,ValidationError:a,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:ee.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0, ee._)`""`,opts:this.opts,self:this},d;try{this._compilations.add(t),(0,Bu.validateFunctionCode)(c),i.optimize(this.opts.code.optimize);let l=i.toString();d=`${i.scopeRefs(je.default.scope)}return ${l}`,this.opts.code.process&&(d=this.opts.code.process(d,t));let h=new Function(`${je.default.self}`,`${je.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:l,scopeValues:i._values}),this.opts.unevaluated){let{props:p,items:f}=c;h.evaluated={props:p instanceof ee.Name?void 0:p,items:f instanceof ee.Name?void 0:f,dynamicProps:p instanceof ee.Name,dynamicItems:f instanceof ee.Name},h.source&&(h.source.evaluated=(0,ee.stringify)(h.evaluated));}return t.validate=h,t}catch(l){throw delete t.validate,delete t.validateName,d&&this.logger.error("Error compiling schema, function code:",d),l}finally{this._compilations.delete(t);}}X.compileSchema=Gr;function Qu(t,e,r){var s;r=(0, te.resolveUrl)(this.opts.uriResolver,e,r);let n=t.refs[r];if(n)return n;let o=Zu.call(this,t,r);if(o===void 0){let i=(s=t.localRefs)===null||s===void 0?void 0:s[r],{schemaId:a}=this.opts;i&&(o=new xe({schema:i,schemaId:a,root:t,baseId:e}));}if(o!==void 0)return t.refs[r]=Xu.call(this,o)}X.resolveRef=Qu;function Xu(t){return (0, te.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:Gr.call(this,t)}function Jn(t){for(let e of this._compilations)if(Yu(e,t))return e}X.getCompilingSchema=Jn;function Yu(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function Zu(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||It.call(this,t,e)}function It(t,e){let r=this.opts.uriResolver.parse(e),s=(0, te._getFullPath)(this.opts.uriResolver,r),n=(0, te.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&s===n)return Hr.call(this,r,t);let o=(0, te.normalizeId)(s),i=this.refs[o]||this.schemas[o];if(typeof i=="string"){let a=It.call(this,t,i);return typeof a?.schema!="object"?void 0:Hr.call(this,r,a)}if(typeof i?.schema=="object"){if(i.validate||Gr.call(this,i),o===(0, te.normalizeId)(e)){let{schema:a}=i,{schemaId:u}=this.opts,c=a[u];return c&&(n=(0, te.resolveUrl)(this.opts.uriResolver,n,c)),new xe({schema:a,schemaId:u,root:t,baseId:n})}return Hr.call(this,r,i)}}X.resolveSchema=It;var ec=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Hr(t,{baseId:e,schema:r,root:s}){var n;if(((n=t.fragment)===null||n===void 0?void 0:n[0])!=="/")return;for(let a of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let u=r[(0, Gn.unescapeFragment)(a)];if(u===void 0)return;r=u;let c=typeof r=="object"&&r[this.opts.schemaId];!ec.has(a)&&c&&(e=(0, te.resolveUrl)(this.opts.uriResolver,e,c));}let o;if(typeof r!="boolean"&&r.$ref&&!(0, Gn.schemaHasRulesButRef)(r,this.RULES)){let a=(0, te.resolveUrl)(this.opts.uriResolver,e,r.$ref);o=It.call(this,s,a);}let{schemaId:i}=this.opts;if(o=o||new xe({schema:r,schemaId:i,root:s,baseId:e}),o.schema!==o.root.schema)return o}});var Wn=_((op,tc)=>{tc.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 Wr=_((ip,Yn)=>{var rc=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Qn=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 Jr(t){let e="",r=0,s=0;for(s=0;s<t.length;s++)if(r=t[s].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return "";e+=t[s];break}for(s+=1;s<t.length;s++){if(r=t[s].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return "";e+=t[s];}return e}var sc=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Bn(t){return t.length=0,true}function nc(t,e,r){if(t.length){let s=Jr(t);if(s!=="")e.push(s);else return r.error=true,false;t.length=0;}return true}function oc(t){let e=0,r={error:false,address:"",zone:""},s=[],n=[],o=false,i=false,a=nc;for(let u=0;u<t.length;u++){let c=t[u];if(!(c==="["||c==="]"))if(c===":"){if(o===true&&(i=true),!a(n,s,r))break;if(++e>7){r.error=true;break}u>0&&t[u-1]===":"&&(o=true),s.push(":");continue}else if(c==="%"){if(!a(n,s,r))break;a=Bn;}else {n.push(c);continue}}return n.length&&(a===Bn?r.zone=n.join(""):i?s.push(n.join("")):s.push(Jr(n))),r.address=s.join(""),r}function Xn(t){if(ic(t,":")<2)return {host:t,isIPV6:false};let e=oc(t);if(e.error)return {host:t,isIPV6:false};{let r=e.address,s=e.address;return e.zone&&(r+="%"+e.zone,s+="%25"+e.zone),{host:r,isIPV6:true,escapedHost:s}}}function ic(t,e){let r=0;for(let s=0;s<t.length;s++)t[s]===e&&r++;return r}function ac(t){let e=t,r=[],s=-1,n=0;for(;n=e.length;){if(n===1){if(e===".")break;if(e==="/"){r.push("/");break}else {r.push(e);break}}else if(n===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(n===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((s=e.indexOf("/",1))===-1){r.push(e);break}else r.push(e.slice(0,s)),e=e.slice(s);}return r.join("")}function uc(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 cc(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!Qn(r)){let s=Xn(r);s.isIPV6===true?r=`[${s.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}Yn.exports={nonSimpleDomain:sc,recomposeAuthority:cc,normalizeComponentEncoding:uc,removeDotSegments:ac,isIPv4:Qn,isUUID:rc,normalizeIPv6:Xn,stringArrayToHexStripped:Jr};});var so=_((ap,ro)=>{var{isUUID:dc}=Wr(),lc=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,fc=["http","https","ws","wss","urn","urn:uuid"];function pc(t){return fc.indexOf(t)!==-1}function Br(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 Zn(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function eo(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 hc(t){return t.secure=Br(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function mc(t){if((t.port===(Br(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 yc(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(lc);if(r){let s=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let n=`${s}:${e.nid||t.nid}`,o=Qr(n);t.path=void 0,o&&(t=o.parse(t,e));}else t.error=t.error||"URN can not be parsed.";return t}function gc(t,e){if(t.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=e.scheme||t.scheme||"urn",s=t.nid.toLowerCase(),n=`${r}:${e.nid||s}`,o=Qr(n);o&&(t=o.serialize(t,e));let i=t,a=t.nss;return i.path=`${s||e.nid}:${a}`,e.skipEscape=true,i}function _c(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!dc(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function vc(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var to={scheme:"http",domainHost:true,parse:Zn,serialize:eo},$c={scheme:"https",domainHost:to.domainHost,parse:Zn,serialize:eo},Mt={scheme:"ws",domainHost:true,parse:hc,serialize:mc},bc={scheme:"wss",domainHost:Mt.domainHost,parse:Mt.parse,serialize:Mt.serialize},wc={scheme:"urn",parse:yc,serialize:gc,skipNormalize:true},Ec={scheme:"urn:uuid",parse:_c,serialize:vc,skipNormalize:true},Dt={http:to,https:$c,ws:Mt,wss:bc,urn:wc,"urn:uuid":Ec};Object.setPrototypeOf(Dt,null);function Qr(t){return t&&(Dt[t]||Dt[t.toLowerCase()])||void 0}ro.exports={wsIsSecure:Br,SCHEMES:Dt,isValidSchemeName:pc,getSchemeHandler:Qr};});var io=_((up,Vt)=>{var{normalizeIPv6:Sc,removeDotSegments:ut,recomposeAuthority:Pc,normalizeComponentEncoding:xt,isIPv4:kc,nonSimpleDomain:jc}=Wr(),{SCHEMES:qc,getSchemeHandler:no}=so();function Nc(t,e){return typeof t=="string"?t=ie(pe(t,e),e):typeof t=="object"&&(t=pe(ie(t,e),e)),t}function Oc(t,e,r){let s=r?Object.assign({scheme:"null"},r):{scheme:"null"},n=oo(pe(t,s),pe(e,s),s,true);return s.skipEscape=true,ie(n,s)}function oo(t,e,r,s){let n={};return s||(t=pe(ie(t,r),r),e=pe(ie(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(n.scheme=e.scheme,n.userinfo=e.userinfo,n.host=e.host,n.port=e.port,n.path=ut(e.path||""),n.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(n.userinfo=e.userinfo,n.host=e.host,n.port=e.port,n.path=ut(e.path||""),n.query=e.query):(e.path?(e.path[0]==="/"?n.path=ut(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?n.path="/"+e.path:t.path?n.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:n.path=e.path,n.path=ut(n.path)),n.query=e.query):(n.path=t.path,e.query!==void 0?n.query=e.query:n.query=t.query),n.userinfo=t.userinfo,n.host=t.host,n.port=t.port),n.scheme=t.scheme),n.fragment=e.fragment,n}function Rc(t,e,r){return typeof t=="string"?(t=unescape(t),t=ie(xt(pe(t,r),true),{...r,skipEscape:true})):typeof t=="object"&&(t=ie(xt(t,true),{...r,skipEscape:true})),typeof e=="string"?(e=unescape(e),e=ie(xt(pe(e,r),true),{...r,skipEscape:true})):typeof e=="object"&&(e=ie(xt(e,true),{...r,skipEscape:true})),t.toLowerCase()===e.toLowerCase()}function ie(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:""},s=Object.assign({},e),n=[],o=no(s.scheme||r.scheme);o&&o.serialize&&o.serialize(r,s),r.path!==void 0&&(s.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),s.reference!=="suffix"&&r.scheme&&n.push(r.scheme,":");let i=Pc(r);if(i!==void 0&&(s.reference!=="suffix"&&n.push("//"),n.push(i),r.path&&r.path[0]!=="/"&&n.push("/")),r.path!==void 0){let a=r.path;!s.absolutePath&&(!o||!o.absolutePath)&&(a=ut(a)),i===void 0&&a[0]==="/"&&a[1]==="/"&&(a="/%2F"+a.slice(2)),n.push(a);}return r.query!==void 0&&n.push("?",r.query),r.fragment!==void 0&&n.push("#",r.fragment),n.join("")}var Tc=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function pe(t,e){let r=Object.assign({},e),s={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},n=false;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let o=t.match(Tc);if(o){if(s.scheme=o[1],s.userinfo=o[3],s.host=o[4],s.port=parseInt(o[5],10),s.path=o[6]||"",s.query=o[7],s.fragment=o[8],isNaN(s.port)&&(s.port=o[5]),s.host)if(kc(s.host)===false){let u=Sc(s.host);s.host=u.host.toLowerCase(),n=u.isIPV6;}else n=true;s.scheme===void 0&&s.userinfo===void 0&&s.host===void 0&&s.port===void 0&&s.query===void 0&&!s.path?s.reference="same-document":s.scheme===void 0?s.reference="relative":s.fragment===void 0?s.reference="absolute":s.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==s.reference&&(s.error=s.error||"URI is not a "+r.reference+" reference.");let i=no(r.scheme||s.scheme);if(!r.unicodeSupport&&(!i||!i.unicodeSupport)&&s.host&&(r.domainHost||i&&i.domainHost)&&n===false&&jc(s.host))try{s.host=URL.domainToASCII(s.host.toLowerCase());}catch(a){s.error=s.error||"Host's domain name can not be converted to ASCII: "+a;}(!i||i&&!i.skipNormalize)&&(t.indexOf("%")!==-1&&(s.scheme!==void 0&&(s.scheme=unescape(s.scheme)),s.host!==void 0&&(s.host=unescape(s.host))),s.path&&(s.path=escape(unescape(s.path))),s.fragment&&(s.fragment=encodeURI(decodeURIComponent(s.fragment)))),i&&i.parse&&i.parse(s,r);}else s.error=s.error||"URI can not be parsed.";return s}var Xr={SCHEMES:qc,normalize:Nc,resolve:Oc,resolveComponent:oo,equal:Rc,serialize:ie,parse:pe};Vt.exports=Xr;Vt.exports.default=Xr;Vt.exports.fastUri=Xr;});var uo=_(Yr=>{Object.defineProperty(Yr,"__esModule",{value:true});var ao=io();ao.code='require("ajv/dist/runtime/uri").default';Yr.default=ao;});var go=_(x=>{Object.defineProperty(x,"__esModule",{value:true});x.CodeGen=x.Name=x.nil=x.stringify=x.str=x._=x.KeywordCxt=void 0;var Ac=it();Object.defineProperty(x,"KeywordCxt",{enumerable:true,get:function(){return Ac.KeywordCxt}});var Ve=S();Object.defineProperty(x,"_",{enumerable:true,get:function(){return Ve._}});Object.defineProperty(x,"str",{enumerable:true,get:function(){return Ve.str}});Object.defineProperty(x,"stringify",{enumerable:true,get:function(){return Ve.stringify}});Object.defineProperty(x,"nil",{enumerable:true,get:function(){return Ve.nil}});Object.defineProperty(x,"Name",{enumerable:true,get:function(){return Ve.Name}});Object.defineProperty(x,"CodeGen",{enumerable:true,get:function(){return Ve.CodeGen}});var Ic=At(),ho=at(),Cc=jr(),ct=Ct(),Mc=S(),dt=st(),Ft=rt(),es=N(),co=Wn(),Dc=uo(),mo=(t,e)=>new RegExp(t,e);mo.code="new RegExp";var xc=["removeAdditional","useDefaults","coerceTypes"],Vc=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),Fc={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."},zc={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},lo=200;function Kc(t){var e,r,s,n,o,i,a,u,c,d,l,m,h,p,f,y,g,q,k,I,b,se,ue,sr,nr;let Ge=t.strict,or=(e=t.code)===null||e===void 0?void 0:e.optimize,Hs=or===true||or===void 0?1:or||0,Gs=(s=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&s!==void 0?s:mo,Ci=(n=t.uriResolver)!==null&&n!==void 0?n:Dc.default;return {strictSchema:(i=(o=t.strictSchema)!==null&&o!==void 0?o:Ge)!==null&&i!==void 0?i:true,strictNumbers:(u=(a=t.strictNumbers)!==null&&a!==void 0?a:Ge)!==null&&u!==void 0?u:true,strictTypes:(d=(c=t.strictTypes)!==null&&c!==void 0?c:Ge)!==null&&d!==void 0?d:"log",strictTuples:(m=(l=t.strictTuples)!==null&&l!==void 0?l:Ge)!==null&&m!==void 0?m:"log",strictRequired:(p=(h=t.strictRequired)!==null&&h!==void 0?h:Ge)!==null&&p!==void 0?p:false,code:t.code?{...t.code,optimize:Hs,regExp:Gs}:{optimize:Hs,regExp:Gs},loopRequired:(f=t.loopRequired)!==null&&f!==void 0?f:lo,loopEnum:(y=t.loopEnum)!==null&&y!==void 0?y:lo,meta:(g=t.meta)!==null&&g!==void 0?g:true,messages:(q=t.messages)!==null&&q!==void 0?q:true,inlineRefs:(k=t.inlineRefs)!==null&&k!==void 0?k:true,schemaId:(I=t.schemaId)!==null&&I!==void 0?I:"$id",addUsedSchema:(b=t.addUsedSchema)!==null&&b!==void 0?b:true,validateSchema:(se=t.validateSchema)!==null&&se!==void 0?se:true,validateFormats:(ue=t.validateFormats)!==null&&ue!==void 0?ue:true,unicodeRegExp:(sr=t.unicodeRegExp)!==null&&sr!==void 0?sr:true,int32range:(nr=t.int32range)!==null&&nr!==void 0?nr:true,uriResolver:Ci}}var lt=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...Kc(e)};let{es5:r,lines:s}=this.opts.code;this.scope=new Mc.ValueScope({scope:{},prefixes:Vc,es5:r,lines:s}),this.logger=Wc(e.logger);let n=e.validateFormats;e.validateFormats=false,this.RULES=(0, Cc.getRules)(),fo.call(this,Fc,e,"NOT SUPPORTED"),fo.call(this,zc,e,"DEPRECATED","warn"),this._metaOpts=Gc.call(this),e.formats&&Lc.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&Hc.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),Uc.call(this),e.validateFormats=n;}_addVocabularies(){this.addKeyword("$async");}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:s}=this.opts,n=co;s==="id"&&(n={...co},n.id=n.$id,delete n.$id),r&&e&&this.addMetaSchema(n,n[s],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 s;if(typeof e=="string"){if(s=this.getSchema(e),!s)throw new Error(`no schema with key or ref "${e}"`)}else s=this.compile(e);let n=s(r);return "$async"in s||(this.errors=s.errors),n}compile(e,r){let s=this._addSchema(e,r);return s.validate||this._compileSchemaEnv(s)}compileAsync(e,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:s}=this.opts;return n.call(this,e,r);async function n(d,l){await o.call(this,d.$schema);let m=this._addSchema(d,l);return m.validate||i.call(this,m)}async function o(d){d&&!this.getSchema(d)&&await n.call(this,{$ref:d},true);}async function i(d){try{return this._compileSchemaEnv(d)}catch(l){if(!(l instanceof ho.default))throw l;return a.call(this,l),await u.call(this,l.missingSchema),i.call(this,d)}}function a({missingSchema:d,missingRef:l}){if(this.refs[d])throw new Error(`AnySchema ${d} is loaded but ${l} cannot be resolved`)}async function u(d){let l=await c.call(this,d);this.refs[d]||await o.call(this,l.$schema),this.refs[d]||this.addSchema(l,d,r);}async function c(d){let l=this._loading[d];if(l)return l;try{return await(this._loading[d]=s(d))}finally{delete this._loading[d];}}}addSchema(e,r,s,n=this.opts.validateSchema){if(Array.isArray(e)){for(let i of e)this.addSchema(i,void 0,s,n);return this}let o;if(typeof e=="object"){let{schemaId:i}=this.opts;if(o=e[i],o!==void 0&&typeof o!="string")throw new Error(`schema ${i} must be string`)}return r=(0, dt.normalizeId)(r||o),this._checkUnique(r),this.schemas[r]=this._addSchema(e,s,r,n,true),this}addMetaSchema(e,r,s=this.opts.validateSchema){return this.addSchema(e,r,true,s),this}validateSchema(e,r){if(typeof e=="boolean")return true;let s;if(s=e.$schema,s!==void 0&&typeof s!="string")throw new Error("$schema must be a string");if(s=s||this.opts.defaultMeta||this.defaultMeta(),!s)return this.logger.warn("meta-schema not available"),this.errors=null,true;let n=this.validate(s,e);if(!n&&r){let o="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(o);else throw new Error(o)}return n}getSchema(e){let r;for(;typeof(r=po.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:s}=this.opts,n=new ct.SchemaEnv({schema:{},schemaId:s});if(r=ct.resolveSchema.call(this,n,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=po.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 s=e[this.opts.schemaId];return s&&(s=(0, dt.normalizeId)(s),delete this.schemas[s],delete this.refs[s]),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 s;if(typeof e=="string")s=e,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=s);else if(typeof e=="object"&&r===void 0){if(r=e,s=r.keyword,Array.isArray(s)&&!s.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(Qc.call(this,s,r),!r)return (0, es.eachItem)(s,o=>Zr.call(this,o)),this;Yc.call(this,r);let n={...r,type:(0, Ft.getJSONTypes)(r.type),schemaType:(0, Ft.getJSONTypes)(r.schemaType)};return (0, es.eachItem)(s,n.type.length===0?o=>Zr.call(this,o,n):o=>n.type.forEach(i=>Zr.call(this,o,n,i))),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 s of r.rules){let n=s.rules.findIndex(o=>o.keyword===e);n>=0&&s.rules.splice(n,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:s="data"}={}){return !e||e.length===0?"No errors":e.map(n=>`${s}${n.instancePath} ${n.message}`).reduce((n,o)=>n+r+o)}$dataMetaSchema(e,r){let s=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let n of r){let o=n.split("/").slice(1),i=e;for(let a of o)i=i[a];for(let a in s){let u=s[a];if(typeof u!="object")continue;let{$data:c}=u.definition,d=i[a];c&&d&&(i[a]=yo(d));}}return e}_removeAllSchemas(e,r){for(let s in e){let n=e[s];(!r||r.test(s))&&(typeof n=="string"?delete e[s]:n&&!n.meta&&(this._cache.delete(n.schema),delete e[s]));}}_addSchema(e,r,s,n=this.opts.validateSchema,o=this.opts.addUsedSchema){let i,{schemaId:a}=this.opts;if(typeof e=="object")i=e[a];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;s=(0, dt.normalizeId)(i||s);let c=dt.getSchemaRefs.call(this,e,s);return u=new ct.SchemaEnv({schema:e,schemaId:a,meta:r,baseId:s,localRefs:c}),this._cache.set(u.schema,u),o&&!s.startsWith("#")&&(s&&this._checkUnique(s),this.refs[s]=u),n&&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):ct.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{ct.compileSchema.call(this,e);}finally{this.opts=r;}}};lt.ValidationError=Ic.default;lt.MissingRefError=ho.default;x.default=lt;function fo(t,e,r,s="error"){for(let n in t){let o=n;o in e&&this.logger[s](`${r}: option ${n}. ${t[o]}`);}}function po(t){return t=(0, dt.normalizeId)(t),this.schemas[t]||this.refs[t]}function Uc(){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 Lc(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e);}}function Hc(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 Gc(){let t={...this.opts};for(let e of xc)delete t[e];return t}var Jc={log(){},warn(){},error(){}};function Wc(t){if(t===false)return Jc;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 Bc=/^[a-z_$][a-z0-9_$:-]*$/i;function Qc(t,e){let{RULES:r}=this;if((0, es.eachItem)(t,s=>{if(r.keywords[s])throw new Error(`Keyword ${s} is already defined`);if(!Bc.test(s))throw new Error(`Keyword ${s} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function Zr(t,e,r){var s;let n=e?.post;if(r&&n)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:o}=this,i=n?o.post:o.rules.find(({type:u})=>u===r);if(i||(i={type:r,rules:[]},o.rules.push(i)),o.keywords[t]=true,!e)return;let a={keyword:t,definition:{...e,type:(0, Ft.getJSONTypes)(e.type),schemaType:(0, Ft.getJSONTypes)(e.schemaType)}};e.before?Xc.call(this,i,a,e.before):i.rules.push(a),o.all[t]=a,(s=e.implements)===null||s===void 0||s.forEach(u=>this.addKeyword(u));}function Xc(t,e,r){let s=t.rules.findIndex(n=>n.keyword===r);s>=0?t.rules.splice(s,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`));}function Yc(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=yo(e)),t.validateSchema=this.compile(e,true));}var Zc={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function yo(t){return {anyOf:[t,Zc]}}});var _o=_(ts=>{Object.defineProperty(ts,"__esModule",{value:true});var ed={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};ts.default=ed;});var wo=_(qe=>{Object.defineProperty(qe,"__esModule",{value:true});qe.callRef=qe.getValidate=void 0;var td=at(),vo=Q(),W=S(),Fe=le(),$o=Ct(),zt=N(),rd={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:s}=t,{baseId:n,schemaEnv:o,validateName:i,opts:a,self:u}=s,{root:c}=o;if((r==="#"||r==="#/")&&n===c.baseId)return l();let d=$o.resolveRef.call(u,c,n,r);if(d===void 0)throw new td.default(s.opts.uriResolver,n,r);if(d instanceof $o.SchemaEnv)return m(d);return h(d);function l(){if(o===c)return Kt(t,i,o,o.$async);let p=e.scopeValue("root",{ref:c});return Kt(t,(0, W._)`${p}.validate`,c,c.$async)}function m(p){let f=bo(t,p);Kt(t,f,p,p.$async);}function h(p){let f=e.scopeValue("schema",a.code.source===true?{ref:p,code:(0, W.stringify)(p)}:{ref:p}),y=e.name("valid"),g=t.subschema({schema:p,dataTypes:[],schemaPath:W.nil,topSchemaRef:f,errSchemaPath:r},y);t.mergeEvaluated(g),t.ok(y);}}};function bo(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0, W._)`${r.scopeValue("wrapper",{ref:e})}.validate`}qe.getValidate=bo;function Kt(t,e,r,s){let{gen:n,it:o}=t,{allErrors:i,schemaEnv:a,opts:u}=o,c=u.passContext?Fe.default.this:W.nil;s?d():l();function d(){if(!a.$async)throw new Error("async schema referenced by sync schema");let p=n.let("valid");n.try(()=>{n.code((0, W._)`await ${(0, vo.callValidateCode)(t,e,c)}`),h(e),i||n.assign(p,true);},f=>{n.if((0, W._)`!(${f} instanceof ${o.ValidationError})`,()=>n.throw(f)),m(f),i||n.assign(p,false);}),t.ok(p);}function l(){t.result((0, vo.callValidateCode)(t,e,c),()=>h(e),()=>m(e));}function m(p){let f=(0, W._)`${p}.errors`;n.assign(Fe.default.vErrors,(0, W._)`${Fe.default.vErrors} === null ? ${f} : ${Fe.default.vErrors}.concat(${f})`),n.assign(Fe.default.errors,(0, W._)`${Fe.default.vErrors}.length`);}function h(p){var f;if(!o.opts.unevaluated)return;let y=(f=r?.validate)===null||f===void 0?void 0:f.evaluated;if(o.props!==true)if(y&&!y.dynamicProps)y.props!==void 0&&(o.props=zt.mergeEvaluated.props(n,y.props,o.props));else {let g=n.var("props",(0, W._)`${p}.evaluated.props`);o.props=zt.mergeEvaluated.props(n,g,o.props,W.Name);}if(o.items!==true)if(y&&!y.dynamicItems)y.items!==void 0&&(o.items=zt.mergeEvaluated.items(n,y.items,o.items));else {let g=n.var("items",(0, W._)`${p}.evaluated.items`);o.items=zt.mergeEvaluated.items(n,g,o.items,W.Name);}}}qe.callRef=Kt;qe.default=rd;});var Eo=_(rs=>{Object.defineProperty(rs,"__esModule",{value:true});var sd=_o(),nd=wo(),od=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",sd.default,nd.default];rs.default=od;});var So=_(ss=>{Object.defineProperty(ss,"__esModule",{value:true});var Ut=S(),$e=Ut.operators,Lt={maximum:{okStr:"<=",ok:$e.LTE,fail:$e.GT},minimum:{okStr:">=",ok:$e.GTE,fail:$e.LT},exclusiveMaximum:{okStr:"<",ok:$e.LT,fail:$e.GTE},exclusiveMinimum:{okStr:">",ok:$e.GT,fail:$e.LTE}},id={message:({keyword:t,schemaCode:e})=>(0, Ut.str)`must be ${Lt[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0, Ut._)`{comparison: ${Lt[t].okStr}, limit: ${e}}`},ad={keyword:Object.keys(Lt),type:"number",schemaType:"number",$data:true,error:id,code(t){let{keyword:e,data:r,schemaCode:s}=t;t.fail$data((0, Ut._)`${r} ${Lt[e].fail} ${s} || isNaN(${r})`);}};ss.default=ad;});var Po=_(ns=>{Object.defineProperty(ns,"__esModule",{value:true});var ft=S(),ud={message:({schemaCode:t})=>(0, ft.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0, ft._)`{multipleOf: ${t}}`},cd={keyword:"multipleOf",type:"number",schemaType:"number",$data:true,error:ud,code(t){let{gen:e,data:r,schemaCode:s,it:n}=t,o=n.opts.multipleOfPrecision,i=e.let("res"),a=o?(0, ft._)`Math.abs(Math.round(${i}) - ${i}) > 1e-${o}`:(0, ft._)`${i} !== parseInt(${i})`;t.fail$data((0, ft._)`(${s} === 0 || (${i} = ${r}/${s}, ${a}))`);}};ns.default=cd;});var jo=_(os=>{Object.defineProperty(os,"__esModule",{value:true});function ko(t){let e=t.length,r=0,s=0,n;for(;s<e;)r++,n=t.charCodeAt(s++),n>=55296&&n<=56319&&s<e&&(n=t.charCodeAt(s),(n&64512)===56320&&s++);return r}os.default=ko;ko.code='require("ajv/dist/runtime/ucs2length").default';});var qo=_(is=>{Object.defineProperty(is,"__esModule",{value:true});var Ne=S(),dd=N(),ld=jo(),fd={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return (0, Ne.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0, Ne._)`{limit: ${t}}`},pd={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:true,error:fd,code(t){let{keyword:e,data:r,schemaCode:s,it:n}=t,o=e==="maxLength"?Ne.operators.GT:Ne.operators.LT,i=n.opts.unicode===false?(0, Ne._)`${r}.length`:(0, Ne._)`${(0, dd.useFunc)(t.gen,ld.default)}(${r})`;t.fail$data((0, Ne._)`${i} ${o} ${s}`);}};is.default=pd;});var No=_(as=>{Object.defineProperty(as,"__esModule",{value:true});var hd=Q(),md=N(),ze=S(),yd={message:({schemaCode:t})=>(0, ze.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0, ze._)`{pattern: ${t}}`},gd={keyword:"pattern",type:"string",schemaType:"string",$data:true,error:yd,code(t){let{gen:e,data:r,$data:s,schema:n,schemaCode:o,it:i}=t,a=i.opts.unicodeRegExp?"u":"";if(s){let{regExp:u}=i.opts.code,c=u.code==="new RegExp"?(0, ze._)`new RegExp`:(0, md.useFunc)(e,u),d=e.let("valid");e.try(()=>e.assign(d,(0, ze._)`${c}(${o}, ${a}).test(${r})`),()=>e.assign(d,false)),t.fail$data((0, ze._)`!${d}`);}else {let u=(0, hd.usePattern)(t,n);t.fail$data((0, ze._)`!${u}.test(${r})`);}}};as.default=gd;});var Oo=_(us=>{Object.defineProperty(us,"__esModule",{value:true});var pt=S(),_d={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return (0, pt.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0, pt._)`{limit: ${t}}`},vd={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:true,error:_d,code(t){let{keyword:e,data:r,schemaCode:s}=t,n=e==="maxProperties"?pt.operators.GT:pt.operators.LT;t.fail$data((0, pt._)`Object.keys(${r}).length ${n} ${s}`);}};us.default=vd;});var Ro=_(cs=>{Object.defineProperty(cs,"__esModule",{value:true});var ht=Q(),mt=S(),$d=N(),bd={message:({params:{missingProperty:t}})=>(0, mt.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0, mt._)`{missingProperty: ${t}}`},wd={keyword:"required",type:"object",schemaType:"array",$data:true,error:bd,code(t){let{gen:e,schema:r,schemaCode:s,data:n,$data:o,it:i}=t,{opts:a}=i;if(!o&&r.length===0)return;let u=r.length>=a.loopRequired;if(i.allErrors?c():d(),a.strictRequired){let h=t.parentSchema.properties,{definedProperties:p}=t.it;for(let f of r)if(h?.[f]===void 0&&!p.has(f)){let y=i.schemaEnv.baseId+i.errSchemaPath,g=`required property "${f}" is not defined at "${y}" (strictRequired)`;(0, $d.checkStrictMode)(i,g,i.opts.strictRequired);}}function c(){if(u||o)t.block$data(mt.nil,l);else for(let h of r)(0, ht.checkReportMissingProp)(t,h);}function d(){let h=e.let("missing");if(u||o){let p=e.let("valid",true);t.block$data(p,()=>m(h,p)),t.ok(p);}else e.if((0, ht.checkMissingProp)(t,r,h)),(0, ht.reportMissingProp)(t,h),e.else();}function l(){e.forOf("prop",s,h=>{t.setParams({missingProperty:h}),e.if((0, ht.noPropertyInData)(e,n,h,a.ownProperties),()=>t.error());});}function m(h,p){t.setParams({missingProperty:h}),e.forOf(h,s,()=>{e.assign(p,(0, ht.propertyInData)(e,n,h,a.ownProperties)),e.if((0, mt.not)(p),()=>{t.error(),e.break();});},mt.nil);}}};cs.default=wd;});var To=_(ds=>{Object.defineProperty(ds,"__esModule",{value:true});var yt=S(),Ed={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return (0, yt.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0, yt._)`{limit: ${t}}`},Sd={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:true,error:Ed,code(t){let{keyword:e,data:r,schemaCode:s}=t,n=e==="maxItems"?yt.operators.GT:yt.operators.LT;t.fail$data((0, yt._)`${r}.length ${n} ${s}`);}};ds.default=Sd;});var Ht=_(ls=>{Object.defineProperty(ls,"__esModule",{value:true});var Ao=Cr();Ao.code='require("ajv/dist/runtime/equal").default';ls.default=Ao;});var Io=_(ps=>{Object.defineProperty(ps,"__esModule",{value:true});var fs=rt(),V=S(),Pd=N(),kd=Ht(),jd={message:({params:{i:t,j:e}})=>(0, V.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0, V._)`{i: ${t}, j: ${e}}`},qd={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:true,error:jd,code(t){let{gen:e,data:r,$data:s,schema:n,parentSchema:o,schemaCode:i,it:a}=t;if(!s&&!n)return;let u=e.let("valid"),c=o.items?(0, fs.getSchemaTypes)(o.items):[];t.block$data(u,d,(0, V._)`${i} === false`),t.ok(u);function d(){let p=e.let("i",(0, V._)`${r}.length`),f=e.let("j");t.setParams({i:p,j:f}),e.assign(u,true),e.if((0, V._)`${p} > 1`,()=>(l()?m:h)(p,f));}function l(){return c.length>0&&!c.some(p=>p==="object"||p==="array")}function m(p,f){let y=e.name("item"),g=(0, fs.checkDataTypes)(c,y,a.opts.strictNumbers,fs.DataType.Wrong),q=e.const("indices",(0, V._)`{}`);e.for((0, V._)`;${p}--;`,()=>{e.let(y,(0, V._)`${r}[${p}]`),e.if(g,(0, V._)`continue`),c.length>1&&e.if((0, V._)`typeof ${y} == "string"`,(0, V._)`${y} += "_"`),e.if((0, V._)`typeof ${q}[${y}] == "number"`,()=>{e.assign(f,(0, V._)`${q}[${y}]`),t.error(),e.assign(u,false).break();}).code((0, V._)`${q}[${y}] = ${p}`);});}function h(p,f){let y=(0, Pd.useFunc)(e,kd.default),g=e.name("outer");e.label(g).for((0, V._)`;${p}--;`,()=>e.for((0, V._)`${f} = ${p}; ${f}--;`,()=>e.if((0, V._)`${y}(${r}[${p}], ${r}[${f}])`,()=>{t.error(),e.assign(u,false).break(g);})));}}};ps.default=qd;});var Co=_(ms=>{Object.defineProperty(ms,"__esModule",{value:true});var hs=S(),Nd=N(),Od=Ht(),Rd={message:"must be equal to constant",params:({schemaCode:t})=>(0, hs._)`{allowedValue: ${t}}`},Td={keyword:"const",$data:true,error:Rd,code(t){let{gen:e,data:r,$data:s,schemaCode:n,schema:o}=t;s||o&&typeof o=="object"?t.fail$data((0, hs._)`!${(0, Nd.useFunc)(e,Od.default)}(${r}, ${n})`):t.fail((0, hs._)`${o} !== ${r}`);}};ms.default=Td;});var Mo=_(ys=>{Object.defineProperty(ys,"__esModule",{value:true});var gt=S(),Ad=N(),Id=Ht(),Cd={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0, gt._)`{allowedValues: ${t}}`},Md={keyword:"enum",schemaType:"array",$data:true,error:Cd,code(t){let{gen:e,data:r,$data:s,schema:n,schemaCode:o,it:i}=t;if(!s&&n.length===0)throw new Error("enum must have non-empty array");let a=n.length>=i.opts.loopEnum,u,c=()=>u??(u=(0, Ad.useFunc)(e,Id.default)),d;if(a||s)d=e.let("valid"),t.block$data(d,l);else {if(!Array.isArray(n))throw new Error("ajv implementation error");let h=e.const("vSchema",o);d=(0, gt.or)(...n.map((p,f)=>m(h,f)));}t.pass(d);function l(){e.assign(d,false),e.forOf("v",o,h=>e.if((0, gt._)`${c()}(${r}, ${h})`,()=>e.assign(d,true).break()));}function m(h,p){let f=n[p];return typeof f=="object"&&f!==null?(0, gt._)`${c()}(${r}, ${h}[${p}])`:(0, gt._)`${r} === ${f}`}}};ys.default=Md;});var Do=_(gs=>{Object.defineProperty(gs,"__esModule",{value:true});var Dd=So(),xd=Po(),Vd=qo(),Fd=No(),zd=Oo(),Kd=Ro(),Ud=To(),Ld=Io(),Hd=Co(),Gd=Mo(),Jd=[Dd.default,xd.default,Vd.default,Fd.default,zd.default,Kd.default,Ud.default,Ld.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},Hd.default,Gd.default];gs.default=Jd;});var vs=_(_t=>{Object.defineProperty(_t,"__esModule",{value:true});_t.validateAdditionalItems=void 0;var Oe=S(),_s=N(),Wd={message:({params:{len:t}})=>(0, Oe.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0, Oe._)`{limit: ${t}}`},Bd={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:Wd,code(t){let{parentSchema:e,it:r}=t,{items:s}=e;if(!Array.isArray(s)){(0, _s.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}xo(t,s);}};function xo(t,e){let{gen:r,schema:s,data:n,keyword:o,it:i}=t;i.items=true;let a=r.const("len",(0, Oe._)`${n}.length`);if(s===false)t.setParams({len:e.length}),t.pass((0, Oe._)`${a} <= ${e.length}`);else if(typeof s=="object"&&!(0, _s.alwaysValidSchema)(i,s)){let c=r.var("valid",(0, Oe._)`${a} <= ${e.length}`);r.if((0, Oe.not)(c),()=>u(c)),t.ok(c);}function u(c){r.forRange("i",e.length,a,d=>{t.subschema({keyword:o,dataProp:d,dataPropType:_s.Type.Num},c),i.allErrors||r.if((0, Oe.not)(c),()=>r.break());});}}_t.validateAdditionalItems=xo;_t.default=Bd;});var $s=_(vt=>{Object.defineProperty(vt,"__esModule",{value:true});vt.validateTuple=void 0;var Vo=S(),Gt=N(),Qd=Q(),Xd={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return Fo(t,"additionalItems",e);r.items=true,!(0, Gt.alwaysValidSchema)(r,e)&&t.ok((0, Qd.validateArray)(t));}};function Fo(t,e,r=t.schema){let{gen:s,parentSchema:n,data:o,keyword:i,it:a}=t;d(n),a.opts.unevaluated&&r.length&&a.items!==true&&(a.items=Gt.mergeEvaluated.items(s,r.length,a.items));let u=s.name("valid"),c=s.const("len",(0, Vo._)`${o}.length`);r.forEach((l,m)=>{(0, Gt.alwaysValidSchema)(a,l)||(s.if((0, Vo._)`${c} > ${m}`,()=>t.subschema({keyword:i,schemaProp:m,dataProp:m},u)),t.ok(u));});function d(l){let{opts:m,errSchemaPath:h}=a,p=r.length,f=p===l.minItems&&(p===l.maxItems||l[e]===false);if(m.strictTuples&&!f){let y=`"${i}" is ${p}-tuple, but minItems or maxItems/${e} are not specified or different at path "${h}"`;(0, Gt.checkStrictMode)(a,y,m.strictTuples);}}}vt.validateTuple=Fo;vt.default=Xd;});var zo=_(bs=>{Object.defineProperty(bs,"__esModule",{value:true});var Yd=$s(),Zd={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0, Yd.validateTuple)(t,"items")};bs.default=Zd;});var Uo=_(ws=>{Object.defineProperty(ws,"__esModule",{value:true});var Ko=S(),el=N(),tl=Q(),rl=vs(),sl={message:({params:{len:t}})=>(0, Ko.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0, Ko._)`{limit: ${t}}`},nl={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:sl,code(t){let{schema:e,parentSchema:r,it:s}=t,{prefixItems:n}=r;s.items=true,!(0, el.alwaysValidSchema)(s,e)&&(n?(0, rl.validateAdditionalItems)(t,n):t.ok((0, tl.validateArray)(t)));}};ws.default=nl;});var Lo=_(Es=>{Object.defineProperty(Es,"__esModule",{value:true});var Y=S(),Jt=N(),ol={message:({params:{min:t,max:e}})=>e===void 0?(0, Y.str)`must contain at least ${t} valid item(s)`:(0, Y.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0, Y._)`{minContains: ${t}}`:(0, Y._)`{minContains: ${t}, maxContains: ${e}}`},il={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:true,error:ol,code(t){let{gen:e,schema:r,parentSchema:s,data:n,it:o}=t,i,a,{minContains:u,maxContains:c}=s;o.opts.next?(i=u===void 0?1:u,a=c):i=1;let d=e.const("len",(0, Y._)`${n}.length`);if(t.setParams({min:i,max:a}),a===void 0&&i===0){(0, Jt.checkStrictMode)(o,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){(0, Jt.checkStrictMode)(o,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0, Jt.alwaysValidSchema)(o,r)){let f=(0, Y._)`${d} >= ${i}`;a!==void 0&&(f=(0, Y._)`${f} && ${d} <= ${a}`),t.pass(f);return}o.items=true;let l=e.name("valid");a===void 0&&i===1?h(l,()=>e.if(l,()=>e.break())):i===0?(e.let(l,true),a!==void 0&&e.if((0, Y._)`${n}.length > 0`,m)):(e.let(l,false),m()),t.result(l,()=>t.reset());function m(){let f=e.name("_valid"),y=e.let("count",0);h(f,()=>e.if(f,()=>p(y)));}function h(f,y){e.forRange("i",0,d,g=>{t.subschema({keyword:"contains",dataProp:g,dataPropType:Jt.Type.Num,compositeRule:true},f),y();});}function p(f){e.code((0, Y._)`${f}++`),a===void 0?e.if((0, Y._)`${f} >= ${i}`,()=>e.assign(l,true).break()):(e.if((0, Y._)`${f} > ${a}`,()=>e.assign(l,false).break()),i===1?e.assign(l,true):e.if((0, Y._)`${f} >= ${i}`,()=>e.assign(l,true)));}}};Es.default=il;});var Jo=_(ae=>{Object.defineProperty(ae,"__esModule",{value:true});ae.validateSchemaDeps=ae.validatePropertyDeps=ae.error=void 0;var Ss=S(),al=N(),$t=Q();ae.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let s=e===1?"property":"properties";return (0, Ss.str)`must have ${s} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:s}})=>(0, Ss._)`{property: ${t},
6
6
  missingProperty: ${s},
7
7
  depsCount: ${e},
8
- deps: ${r}}`};var ul={keyword:"dependencies",type:"object",schemaType:"object",error:ae.error,code(t){let[e,r]=cl(t);Ho(t,e),Go(t,r);}};function cl({schema:t}){let e={},r={};for(let s in t){if(s==="__proto__")continue;let n=Array.isArray(t[s])?e:r;n[s]=t[s];}return [e,r]}function Ho(t,e=t.schema){let{gen:r,data:s,it:n}=t;if(Object.keys(e).length===0)return;let o=r.let("missing");for(let i in e){let a=e[i];if(a.length===0)continue;let u=(0, $t.propertyInData)(r,s,i,n.opts.ownProperties);t.setParams({property:i,depsCount:a.length,deps:a.join(", ")}),n.allErrors?r.if(u,()=>{for(let c of a)(0, $t.checkReportMissingProp)(t,c);}):(r.if((0, Ss._)`${u} && (${(0, $t.checkMissingProp)(t,a,o)})`),(0, $t.reportMissingProp)(t,o),r.else());}}ae.validatePropertyDeps=Ho;function Go(t,e=t.schema){let{gen:r,data:s,keyword:n,it:o}=t,i=r.name("valid");for(let a in e)(0, al.alwaysValidSchema)(o,e[a])||(r.if((0, $t.propertyInData)(r,s,a,o.opts.ownProperties),()=>{let u=t.subschema({keyword:n,schemaProp:a},i);t.mergeValidEvaluated(u,i);},()=>r.var(i,true)),t.ok(i));}ae.validateSchemaDeps=Go;ae.default=ul;});var Bo=_(Ps=>{Object.defineProperty(Ps,"__esModule",{value:true});var Wo=S(),dl=N(),ll={message:"property name must be valid",params:({params:t})=>(0, Wo._)`{propertyName: ${t.propertyName}}`},fl={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:ll,code(t){let{gen:e,schema:r,data:s,it:n}=t;if((0, dl.alwaysValidSchema)(n,r))return;let o=e.name("valid");e.forIn("key",s,i=>{t.setParams({propertyName:i}),t.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:true},o),e.if((0, Wo.not)(o),()=>{t.error(true),n.allErrors||e.break();});}),t.ok(o);}};Ps.default=fl;});var js=_(ks=>{Object.defineProperty(ks,"__esModule",{value:true});var Wt=Q(),re=S(),pl=le(),Bt=N(),hl={message:"must NOT have additional properties",params:({params:t})=>(0, re._)`{additionalProperty: ${t.additionalProperty}}`},ml={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:true,trackErrors:true,error:hl,code(t){let{gen:e,schema:r,parentSchema:s,data:n,errsCount:o,it:i}=t;if(!o)throw new Error("ajv implementation error");let{allErrors:a,opts:u}=i;if(i.props=true,u.removeAdditional!=="all"&&(0, Bt.alwaysValidSchema)(i,r))return;let c=(0, Wt.allSchemaProperties)(s.properties),d=(0, Wt.allSchemaProperties)(s.patternProperties);l(),t.ok((0, re._)`${o} === ${pl.default.errors}`);function l(){e.forIn("key",n,y=>{!c.length&&!d.length?p(y):e.if(m(y),()=>p(y));});}function m(y){let g;if(c.length>8){let q=(0, Bt.schemaRefOrVal)(i,s.properties,"properties");g=(0, Wt.isOwnProperty)(e,q,y);}else c.length?g=(0, re.or)(...c.map(q=>(0, re._)`${y} === ${q}`)):g=re.nil;return d.length&&(g=(0, re.or)(g,...d.map(q=>(0, re._)`${(0, Wt.usePattern)(t,q)}.test(${y})`))),(0, re.not)(g)}function h(y){e.code((0, re._)`delete ${n}[${y}]`);}function p(y){if(u.removeAdditional==="all"||u.removeAdditional&&r===false){h(y);return}if(r===false){t.setParams({additionalProperty:y}),t.error(),a||e.break();return}if(typeof r=="object"&&!(0, Bt.alwaysValidSchema)(i,r)){let g=e.name("valid");u.removeAdditional==="failing"?(f(y,g,false),e.if((0, re.not)(g),()=>{t.reset(),h(y);})):(f(y,g),a||e.if((0, re.not)(g),()=>e.break()));}}function f(y,g,q){let k={keyword:"additionalProperties",dataProp:y,dataPropType:Bt.Type.Str};q===false&&Object.assign(k,{compositeRule:true,createErrors:false,allErrors:false}),t.subschema(k,g);}}};ks.default=ml;});var Yo=_(Ns=>{Object.defineProperty(Ns,"__esModule",{value:true});var yl=it(),Qo=Q(),qs=N(),Xo=js(),gl={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:s,data:n,it:o}=t;o.opts.removeAdditional==="all"&&s.additionalProperties===void 0&&Xo.default.code(new yl.KeywordCxt(o,Xo.default,"additionalProperties"));let i=(0, Qo.allSchemaProperties)(r);for(let l of i)o.definedProperties.add(l);o.opts.unevaluated&&i.length&&o.props!==true&&(o.props=qs.mergeEvaluated.props(e,(0, qs.toHash)(i),o.props));let a=i.filter(l=>!(0, qs.alwaysValidSchema)(o,r[l]));if(a.length===0)return;let u=e.name("valid");for(let l of a)c(l)?d(l):(e.if((0, Qo.propertyInData)(e,n,l,o.opts.ownProperties)),d(l),o.allErrors||e.else().var(u,true),e.endIf()),t.it.definedProperties.add(l),t.ok(u);function c(l){return o.opts.useDefaults&&!o.compositeRule&&r[l].default!==void 0}function d(l){t.subschema({keyword:"properties",schemaProp:l,dataProp:l},u);}}};Ns.default=gl;});var ri=_(Os=>{Object.defineProperty(Os,"__esModule",{value:true});var Zo=Q(),Qt=S(),ei=N(),ti=N(),_l={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:s,parentSchema:n,it:o}=t,{opts:i}=o,a=(0, Zo.allSchemaProperties)(r),u=a.filter(f=>(0, ei.alwaysValidSchema)(o,r[f]));if(a.length===0||u.length===a.length&&(!o.opts.unevaluated||o.props===true))return;let c=i.strictSchema&&!i.allowMatchingProperties&&n.properties,d=e.name("valid");o.props!==true&&!(o.props instanceof Qt.Name)&&(o.props=(0, ti.evaluatedPropsToName)(e,o.props));let{props:l}=o;m();function m(){for(let f of a)c&&h(f),o.allErrors?p(f):(e.var(d,true),p(f),e.if(d));}function h(f){for(let y in c)new RegExp(f).test(y)&&(0, ei.checkStrictMode)(o,`property ${y} matches pattern ${f} (use allowMatchingProperties)`);}function p(f){e.forIn("key",s,y=>{e.if((0, Qt._)`${(0, Zo.usePattern)(t,f)}.test(${y})`,()=>{let g=u.includes(f);g||t.subschema({keyword:"patternProperties",schemaProp:f,dataProp:y,dataPropType:ti.Type.Str},d),o.opts.unevaluated&&l!==true?e.assign((0, Qt._)`${l}[${y}]`,true):!g&&!o.allErrors&&e.if((0, Qt.not)(d),()=>e.break());});});}}};Os.default=_l;});var si=_(Rs=>{Object.defineProperty(Rs,"__esModule",{value:true});var vl=N(),$l={keyword:"not",schemaType:["object","boolean"],trackErrors:true,code(t){let{gen:e,schema:r,it:s}=t;if((0, vl.alwaysValidSchema)(s,r)){t.fail();return}let n=e.name("valid");t.subschema({keyword:"not",compositeRule:true,createErrors:false,allErrors:false},n),t.failResult(n,()=>t.reset(),()=>t.error());},error:{message:"must NOT be valid"}};Rs.default=$l;});var ni=_(Ts=>{Object.defineProperty(Ts,"__esModule",{value:true});var bl=Q(),wl={keyword:"anyOf",schemaType:"array",trackErrors:true,code:bl.validateUnion,error:{message:"must match a schema in anyOf"}};Ts.default=wl;});var oi=_(As=>{Object.defineProperty(As,"__esModule",{value:true});var Xt=S(),El=N(),Sl={message:"must match exactly one schema in oneOf",params:({params:t})=>(0, Xt._)`{passingSchemas: ${t.passing}}`},Pl={keyword:"oneOf",schemaType:"array",trackErrors:true,error:Sl,code(t){let{gen:e,schema:r,parentSchema:s,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(n.opts.discriminator&&s.discriminator)return;let o=r,i=e.let("valid",false),a=e.let("passing",null),u=e.name("_valid");t.setParams({passing:a}),e.block(c),t.result(i,()=>t.reset(),()=>t.error(true));function c(){o.forEach((d,l)=>{let m;(0, El.alwaysValidSchema)(n,d)?e.var(u,true):m=t.subschema({keyword:"oneOf",schemaProp:l,compositeRule:true},u),l>0&&e.if((0, Xt._)`${u} && ${i}`).assign(i,false).assign(a,(0, Xt._)`[${a}, ${l}]`).else(),e.if(u,()=>{e.assign(i,true),e.assign(a,l),m&&t.mergeEvaluated(m,Xt.Name);});});}}};As.default=Pl;});var ii=_(Is=>{Object.defineProperty(Is,"__esModule",{value:true});var kl=N(),jl={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:s}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let n=e.name("valid");r.forEach((o,i)=>{if((0, kl.alwaysValidSchema)(s,o))return;let a=t.subschema({keyword:"allOf",schemaProp:i},n);t.ok(n),t.mergeEvaluated(a);});}};Is.default=jl;});var ci=_(Cs=>{Object.defineProperty(Cs,"__esModule",{value:true});var Yt=S(),ui=N(),ql={message:({params:t})=>(0, Yt.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0, Yt._)`{failingKeyword: ${t.ifClause}}`},Nl={keyword:"if",schemaType:["object","boolean"],trackErrors:true,error:ql,code(t){let{gen:e,parentSchema:r,it:s}=t;r.then===void 0&&r.else===void 0&&(0, ui.checkStrictMode)(s,'"if" without "then" and "else" is ignored');let n=ai(s,"then"),o=ai(s,"else");if(!n&&!o)return;let i=e.let("valid",true),a=e.name("_valid");if(u(),t.reset(),n&&o){let d=e.let("ifClause");t.setParams({ifClause:d}),e.if(a,c("then",d),c("else",d));}else n?e.if(a,c("then")):e.if((0, Yt.not)(a),c("else"));t.pass(i,()=>t.error(true));function u(){let d=t.subschema({keyword:"if",compositeRule:true,createErrors:false,allErrors:false},a);t.mergeEvaluated(d);}function c(d,l){return ()=>{let m=t.subschema({keyword:d},a);e.assign(i,a),t.mergeValidEvaluated(m,i),l?e.assign(l,(0, Yt._)`${d}`):t.setParams({ifClause:d});}}}};function ai(t,e){let r=t.schema[e];return r!==void 0&&!(0, ui.alwaysValidSchema)(t,r)}Cs.default=Nl;});var di=_(Ms=>{Object.defineProperty(Ms,"__esModule",{value:true});var Ol=N(),Rl={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0, Ol.checkStrictMode)(r,`"${t}" without "if" is ignored`);}};Ms.default=Rl;});var li=_(Ds=>{Object.defineProperty(Ds,"__esModule",{value:true});var Tl=vs(),Al=zo(),Il=$s(),Cl=Uo(),Ml=Lo(),Dl=Jo(),xl=Bo(),Vl=js(),Fl=Yo(),zl=ri(),Kl=si(),Ul=ni(),Ll=oi(),Hl=ii(),Gl=ci(),Jl=di();function Wl(t=false){let e=[Kl.default,Ul.default,Ll.default,Hl.default,Gl.default,Jl.default,xl.default,Vl.default,Dl.default,Fl.default,zl.default];return t?e.push(Al.default,Cl.default):e.push(Tl.default,Il.default),e.push(Ml.default),e}Ds.default=Wl;});var fi=_(xs=>{Object.defineProperty(xs,"__esModule",{value:true});var D=S(),Bl={message:({schemaCode:t})=>(0, D.str)`must match format "${t}"`,params:({schemaCode:t})=>(0, D._)`{format: ${t}}`},Ql={keyword:"format",type:["number","string"],schemaType:"string",$data:true,error:Bl,code(t,e){let{gen:r,data:s,$data:n,schema:o,schemaCode:i,it:a}=t,{opts:u,errSchemaPath:c,schemaEnv:d,self:l}=a;if(!u.validateFormats)return;n?m():h();function m(){let p=r.scopeValue("formats",{ref:l.formats,code:u.code.formats}),f=r.const("fDef",(0, D._)`${p}[${i}]`),y=r.let("fType"),g=r.let("format");r.if((0, D._)`typeof ${f} == "object" && !(${f} instanceof RegExp)`,()=>r.assign(y,(0, D._)`${f}.type || "string"`).assign(g,(0, D._)`${f}.validate`),()=>r.assign(y,(0, D._)`"string"`).assign(g,f)),t.fail$data((0, D.or)(q(),k()));function q(){return u.strictSchema===false?D.nil:(0, D._)`${i} && !${g}`}function k(){let I=d.$async?(0, D._)`(${f}.async ? await ${g}(${s}) : ${g}(${s}))`:(0, D._)`${g}(${s})`,b=(0, D._)`(typeof ${g} == "function" ? ${I} : ${g}.test(${s}))`;return (0, D._)`${g} && ${g} !== true && ${y} === ${e} && !${b}`}}function h(){let p=l.formats[o];if(!p){q();return}if(p===true)return;let[f,y,g]=k(p);f===e&&t.pass(I());function q(){if(u.strictSchema===false){l.logger.warn(b());return}throw new Error(b());function b(){return `unknown format "${o}" ignored in schema at path "${c}"`}}function k(b){let se=b instanceof RegExp?(0, D.regexpCode)(b):u.code.formats?(0, D._)`${u.code.formats}${(0, D.getProperty)(o)}`:void 0,ue=r.scopeValue("formats",{key:o,ref:b,code:se});return typeof b=="object"&&!(b instanceof RegExp)?[b.type||"string",b.validate,(0, D._)`${ue}.validate`]:["string",b,ue]}function I(){if(typeof p=="object"&&!(p instanceof RegExp)&&p.async){if(!d.$async)throw new Error("async format in sync schema");return (0, D._)`await ${g}(${s})`}return typeof y=="function"?(0, D._)`${g}(${s})`:(0, D._)`${g}.test(${s})`}}}};xs.default=Ql;});var pi=_(Vs=>{Object.defineProperty(Vs,"__esModule",{value:true});var Xl=fi(),Yl=[Xl.default];Vs.default=Yl;});var hi=_(Ke=>{Object.defineProperty(Ke,"__esModule",{value:true});Ke.contentVocabulary=Ke.metadataVocabulary=void 0;Ke.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Ke.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"];});var yi=_(Fs=>{Object.defineProperty(Fs,"__esModule",{value:true});var Zl=Eo(),ef=Do(),tf=li(),rf=pi(),mi=hi(),sf=[Zl.default,ef.default,(0, tf.default)(),rf.default,mi.metadataVocabulary,mi.contentVocabulary];Fs.default=sf;});var _i=_(Zt=>{Object.defineProperty(Zt,"__esModule",{value:true});Zt.DiscrError=void 0;var gi;(function(t){t.Tag="tag",t.Mapping="mapping";})(gi||(Zt.DiscrError=gi={}));});var $i=_(Ks=>{Object.defineProperty(Ks,"__esModule",{value:true});var Ue=S(),zs=_i(),vi=Ct(),nf=at(),of=N(),af={message:({params:{discrError:t,tagName:e}})=>t===zs.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0, Ue._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},uf={keyword:"discriminator",type:"object",schemaType:"object",error:af,code(t){let{gen:e,data:r,schema:s,parentSchema:n,it:o}=t,{oneOf:i}=n;if(!o.opts.discriminator)throw new Error("discriminator: requires discriminator option");let a=s.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(s.mapping)throw new Error("discriminator: mapping is not supported");if(!i)throw new Error("discriminator: requires oneOf keyword");let u=e.let("valid",false),c=e.const("tag",(0, Ue._)`${r}${(0, Ue.getProperty)(a)}`);e.if((0, Ue._)`typeof ${c} == "string"`,()=>d(),()=>t.error(false,{discrError:zs.DiscrError.Tag,tag:c,tagName:a})),t.ok(u);function d(){let h=m();e.if(false);for(let p in h)e.elseIf((0, Ue._)`${c} === ${p}`),e.assign(u,l(h[p]));e.else(),t.error(false,{discrError:zs.DiscrError.Mapping,tag:c,tagName:a}),e.endIf();}function l(h){let p=e.name("valid"),f=t.subschema({keyword:"oneOf",schemaProp:h},p);return t.mergeEvaluated(f,Ue.Name),p}function m(){var h;let p={},f=g(n),y=true;for(let I=0;I<i.length;I++){let b=i[I];if(b?.$ref&&!(0, of.schemaHasRulesButRef)(b,o.self.RULES)){let ue=b.$ref;if(b=vi.resolveRef.call(o.self,o.schemaEnv.root,o.baseId,ue),b instanceof vi.SchemaEnv&&(b=b.schema),b===void 0)throw new nf.default(o.opts.uriResolver,o.baseId,ue)}let se=(h=b?.properties)===null||h===void 0?void 0:h[a];if(typeof se!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);y=y&&(f||g(b)),q(se,I);}if(!y)throw new Error(`discriminator: "${a}" must be required`);return p;function g({required:I}){return Array.isArray(I)&&I.includes(a)}function q(I,b){if(I.const)k(I.const,b);else if(I.enum)for(let se of I.enum)k(se,b);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function k(I,b){if(typeof I!="string"||I in p)throw new Error(`discriminator: "${a}" values must be unique strings`);p[I]=b;}}}};Ks.default=uf;});var bi=_((Qp,cf)=>{cf.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 Ei=_((M,Us)=>{Object.defineProperty(M,"__esModule",{value:true});M.MissingRefError=M.ValidationError=M.CodeGen=M.Name=M.nil=M.stringify=M.str=M._=M.KeywordCxt=M.Ajv=void 0;var df=go(),lf=yi(),ff=$i(),wi=bi(),pf=["/properties"],er="http://json-schema.org/draft-07/schema",Le=class extends df.default{_addVocabularies(){super._addVocabularies(),lf.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(ff.default);}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(wi,pf):wi;this.addMetaSchema(e,er,false),this.refs["http://json-schema.org/schema"]=er;}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(er)?er:void 0)}};M.Ajv=Le;Us.exports=M=Le;Us.exports.Ajv=Le;Object.defineProperty(M,"__esModule",{value:true});M.default=Le;var hf=it();Object.defineProperty(M,"KeywordCxt",{enumerable:true,get:function(){return hf.KeywordCxt}});var He=S();Object.defineProperty(M,"_",{enumerable:true,get:function(){return He._}});Object.defineProperty(M,"str",{enumerable:true,get:function(){return He.str}});Object.defineProperty(M,"stringify",{enumerable:true,get:function(){return He.stringify}});Object.defineProperty(M,"nil",{enumerable:true,get:function(){return He.nil}});Object.defineProperty(M,"Name",{enumerable:true,get:function(){return He.Name}});Object.defineProperty(M,"CodeGen",{enumerable:true,get:function(){return He.CodeGen}});var mf=At();Object.defineProperty(M,"ValidationError",{enumerable:true,get:function(){return mf.default}});var yf=at();Object.defineProperty(M,"MissingRefError",{enumerable:true,get:function(){return yf.default}});});var Ws={$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 ki=Ki(Ei());var vf=createRequire(import.meta.url),$f=vf("./jsonata-sync.cjs"),tr=null;var Si=/\b(card_data|requires|fetched_sources|computed_values|source_defs)\b/g,bf=/^\s*(card_data|requires|fetched_sources|computed_values|source_defs)(\.|$)/;function wf(t){let e=new Set,r;for(Si.lastIndex=0;(r=Si.exec(t))!==null;)e.add(r[1]);return e}function ji(t){let e=bf.exec(t);return e?e[1]:null}function Pi(t,e,r,s){try{$f(t);}catch(o){let i=o instanceof Error?o.message:String(o);s.push(`${e}: invalid JSONata expression (${i})`);return}let n=wf(t);for(let o of n)r.has(o)||s.push(`${e}: disallowed namespace "${o}" in expression`);}function Ls(t,e,r){if(Array.isArray(t)){t.forEach((n,o)=>{Ls(n,`${e}/${o}`,r);});return}if(typeof t=="string"){let n=ji(t);if(!n)return;new Set(["card_data","requires","computed_values"]).has(n)||r.push(`${e}: disallowed namespace "${n}" in view reference`);return}if(!t||typeof t!="object")return;let s=t;for(let[n,o]of Object.entries(s))Ls(o,`${e}/${n}`,r);}function Ef(){if(tr)return tr;let t=new ki.default({allErrors:true});return gf(t),tr=t.compile(Ws),tr}function qi(t){let e=Ef(),r=e(t),s=(e.errors??[]).map(n=>`${n.instancePath||"/"}: ${n.message??"unknown error"}`);if(t&&typeof t=="object"&&!Array.isArray(t)){let n=t.source_defs;if(Array.isArray(n)){let o=new Set,i=new Set;n.forEach((a,u)=>{if(!a||typeof a!="object"||Array.isArray(a))return;let c=a;typeof c.bindTo=="string"&&c.bindTo&&(o.has(c.bindTo)&&s.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&&(i.has(c.outputFile)&&s.push(`/source_defs/${u}/outputFile: outputFile "${c.outputFile}" must be unique across all source_defs`),i.add(c.outputFile));});}}return !r||s.length>0?{ok:false,errors:s}:{ok:true,errors:[]}}function Ni(t){let e=[];if(!t||typeof t!="object"||Array.isArray(t))return {ok:true,errors:[]};let r=t,s=r.compute;Array.isArray(s)&&s.forEach((c,d)=>{if(!c||typeof c!="object"||Array.isArray(c))return;let l=c.expr;typeof l!="string"||l.trim().length===0||Pi(l,`/compute/${d}/expr`,new Set(["card_data","requires","fetched_sources","computed_values"]),e);});let n=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 l=c.ref;if(typeof l!="string"||l.trim().length===0)return;let m=ji(l);m===null?e.push(`/provides/${d}/ref: path "${l}" must start with a valid namespace (${[...n].join(", ")})`):n.has(m)||e.push(`/provides/${d}/ref: disallowed namespace "${m}" in path "${l}" (valid: ${[...n].join(", ")})`);});let i=r.view;i&&typeof i=="object"&&!Array.isArray(i)&&Ls(i,"/view",e);let a=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 l=c.projections;if(!(!l||typeof l!="object"||Array.isArray(l)))for(let[m,h]of Object.entries(l))typeof h!="string"||h.trim().length===0||Pi(h,`/source_defs/${d}/projections/${m}`,a,e);}),{ok:e.length===0,errors:e}}function Sf(t){return Oi(t)}function Oi(t){let e=qi(t);if(!e.ok)return e;let r=Ni(t);return r.ok?{ok:true,errors:[]}:{ok:false,errors:r.errors}}var kf=createRequire(import.meta.url),rr=kf("./jsonata-sync.cjs"),Ai=rr;function Ri(t,e){if(!e||!t)return;let r=e.split("."),s=t;for(let n=0;n<r.length;n++){if(s==null)return;s=s[r[n]];}return s}function Ii(t,e,r){let s=e.split("."),n=t;for(let o=0;o<s.length-1;o++)(n[s[o]]==null||typeof n[s[o]]!="object")&&(n[s[o]]={}),n=n[s[o]];n[s[s.length-1]]=r;}async function jf(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??{},s={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 n of t.compute)try{let o=await rr(n.expr).evaluate(s);Ii(t.computed_values,n.bindTo,o),s.computed_values=t.computed_values;}catch(o){console.error(`CardCompute.run error on "${t.id??"?"}.${n.bindTo}":`,o);}return t}function qf(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??{},s={card_data:t.card_data,requires:r,expects_data:r,fetched_sources:t._sourcesData,data:t.computed_values,computed_values:t.computed_values},n=[];for(let o of t.compute)try{let i=Ai(o.expr).evaluate(s);Ii(t.computed_values,o.bindTo,i),s.computed_values=t.computed_values;}catch(i){let a=i instanceof Error?i.message:String(i);n.push({bindTo:o.bindTo,error:a}),console.error(`CardCompute.runSync error on "${t.id??"?"}.${o.bindTo}":`,i);}return n.length>0?{ok:true,node:t,errors:n}:{ok:true,node:t}}async function Nf(t,e,r){let s={...r??{},card_data:e.card_data??{},requires:e.requires??{},fetched_sources:e._sourcesData??{},computed_values:e.computed_values??{}};return rr(t).evaluate(s)}function Of(t,e){return e.startsWith("fetched_sources.")?Ri(t._sourcesData??{},e.slice(16)):Ri(t,e)}var Ti=new Set(["metric","table","editable-table","chart","form","filter","list","notes","todo","alert","narrative","badge","text","markdown","ref","custom","actions"]),Rf=new Set(["id","meta","requires","provides","view","card_data","compute","source_defs"]);function Tf(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 s of Object.keys(r))Rf.has(s)||e.push(`Unknown top-level key: "${s}"`);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 s=r.meta;s.title!=null&&typeof s.title!="string"&&e.push("meta.title: must be a string"),s.tags!=null&&!Array.isArray(s.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((s,n)=>{if(!s||typeof s!="object"||Array.isArray(s))e.push(`provides[${n}]: must be an object with bindTo and ref`);else {let o=s;(typeof o.bindTo!="string"||!o.bindTo)&&e.push(`provides[${n}]: missing required "bindTo" string`),(typeof o.ref!="string"||!o.ref)&&e.push(`provides[${n}]: 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((s,n)=>{if(!s||typeof s!="object"||Array.isArray(s))e.push(`compute[${n}]: must be a compute step object`);else {let o=s;(typeof o.bindTo!="string"||!o.bindTo)&&e.push(`compute[${n}]: missing required "bindTo" property`),(typeof o.expr!="string"||!o.expr)&&e.push(`compute[${n}]: 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 s=new Set,n=new Set;r.source_defs.forEach((o,i)=>{if(!o||typeof o!="object"||Array.isArray(o))e.push(`source_defs[${i}]: must be an object`);else {let a=o;typeof a.bindTo!="string"||!a.bindTo?e.push(`source_defs[${i}]: missing required "bindTo" property`):(s.has(a.bindTo)&&e.push(`source_defs[${i}]: bindTo "${a.bindTo}" is not unique across source_defs`),s.add(a.bindTo)),typeof a.outputFile!="string"||!a.outputFile?e.push(`source_defs[${i}]: missing required "outputFile" property`):(n.has(a.outputFile)&&e.push(`source_defs[${i}]: outputFile "${a.outputFile}" is not unique across source_defs`),n.add(a.outputFile)),a.optionalForCompletionGating!=null&&typeof a.optionalForCompletionGating!="boolean"&&e.push(`source_defs[${i}]: 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 s=r.view;!Array.isArray(s.elements)||s.elements.length===0?e.push("view.elements: required, must be a non-empty array"):s.elements.forEach((n,o)=>{if(!n||typeof n!="object"){e.push(`view.elements[${o}]: must be an object`);return}!n.kind||typeof n.kind!="string"?e.push(`view.elements[${o}].kind: required, must be a string`):Ti.has(n.kind)||e.push(`view.elements[${o}].kind: unknown kind "${n.kind}". Valid: ${[...Ti].join(", ")}`),n.data!=null&&(typeof n.data!="object"||Array.isArray(n.data))&&e.push(`view.elements[${o}].data: must be an object`);}),s.layout!=null&&(typeof s.layout!="object"||Array.isArray(s.layout))&&e.push("view.layout: must be an object"),s.features!=null&&(typeof s.features!="object"||Array.isArray(s.features))&&e.push("view.features: must be an object");}return {ok:e.length===0,errors:e}}async function Af(t,e){if(!t||t.length===0)return [];let r={card_data:e.card_data??{},requires:e.requires??{}};return Promise.all(t.map(async s=>{let n={};if(s.projections&&typeof s.projections=="object"&&!Array.isArray(s.projections)){for(let[o,i]of Object.entries(s.projections))if(typeof i=="string"&&i.trim().length>0)try{n[o]=await rr(i).evaluate(r);}catch{n[o]=void 0;}}return {...s,_projections:n}}))}function If(t,e){if(!t||t.length===0)return [];let r={card_data:e.card_data??{},requires:e.requires??{}};return t.map(s=>{let n={};if(s.projections&&typeof s.projections=="object"&&!Array.isArray(s.projections)){for(let[o,i]of Object.entries(s.projections))if(typeof i=="string"&&i.trim().length>0)try{n[o]=Ai(i).evaluate(r);}catch{n[o]=void 0;}}return {...s,_projections:n}})}var Cf={run:jf,runSync:qf,eval:Nf,resolve:Of,validate:Tf,enrichSources:Af,enrichSourcesSync:If},rh=Cf;
8
+ deps: ${r}}`};var ul={keyword:"dependencies",type:"object",schemaType:"object",error:ae.error,code(t){let[e,r]=cl(t);Ho(t,e),Go(t,r);}};function cl({schema:t}){let e={},r={};for(let s in t){if(s==="__proto__")continue;let n=Array.isArray(t[s])?e:r;n[s]=t[s];}return [e,r]}function Ho(t,e=t.schema){let{gen:r,data:s,it:n}=t;if(Object.keys(e).length===0)return;let o=r.let("missing");for(let i in e){let a=e[i];if(a.length===0)continue;let u=(0, $t.propertyInData)(r,s,i,n.opts.ownProperties);t.setParams({property:i,depsCount:a.length,deps:a.join(", ")}),n.allErrors?r.if(u,()=>{for(let c of a)(0, $t.checkReportMissingProp)(t,c);}):(r.if((0, Ss._)`${u} && (${(0, $t.checkMissingProp)(t,a,o)})`),(0, $t.reportMissingProp)(t,o),r.else());}}ae.validatePropertyDeps=Ho;function Go(t,e=t.schema){let{gen:r,data:s,keyword:n,it:o}=t,i=r.name("valid");for(let a in e)(0, al.alwaysValidSchema)(o,e[a])||(r.if((0, $t.propertyInData)(r,s,a,o.opts.ownProperties),()=>{let u=t.subschema({keyword:n,schemaProp:a},i);t.mergeValidEvaluated(u,i);},()=>r.var(i,true)),t.ok(i));}ae.validateSchemaDeps=Go;ae.default=ul;});var Bo=_(Ps=>{Object.defineProperty(Ps,"__esModule",{value:true});var Wo=S(),dl=N(),ll={message:"property name must be valid",params:({params:t})=>(0, Wo._)`{propertyName: ${t.propertyName}}`},fl={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:ll,code(t){let{gen:e,schema:r,data:s,it:n}=t;if((0, dl.alwaysValidSchema)(n,r))return;let o=e.name("valid");e.forIn("key",s,i=>{t.setParams({propertyName:i}),t.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:true},o),e.if((0, Wo.not)(o),()=>{t.error(true),n.allErrors||e.break();});}),t.ok(o);}};Ps.default=fl;});var js=_(ks=>{Object.defineProperty(ks,"__esModule",{value:true});var Wt=Q(),re=S(),pl=le(),Bt=N(),hl={message:"must NOT have additional properties",params:({params:t})=>(0, re._)`{additionalProperty: ${t.additionalProperty}}`},ml={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:true,trackErrors:true,error:hl,code(t){let{gen:e,schema:r,parentSchema:s,data:n,errsCount:o,it:i}=t;if(!o)throw new Error("ajv implementation error");let{allErrors:a,opts:u}=i;if(i.props=true,u.removeAdditional!=="all"&&(0, Bt.alwaysValidSchema)(i,r))return;let c=(0, Wt.allSchemaProperties)(s.properties),d=(0, Wt.allSchemaProperties)(s.patternProperties);l(),t.ok((0, re._)`${o} === ${pl.default.errors}`);function l(){e.forIn("key",n,y=>{!c.length&&!d.length?p(y):e.if(m(y),()=>p(y));});}function m(y){let g;if(c.length>8){let q=(0, Bt.schemaRefOrVal)(i,s.properties,"properties");g=(0, Wt.isOwnProperty)(e,q,y);}else c.length?g=(0, re.or)(...c.map(q=>(0, re._)`${y} === ${q}`)):g=re.nil;return d.length&&(g=(0, re.or)(g,...d.map(q=>(0, re._)`${(0, Wt.usePattern)(t,q)}.test(${y})`))),(0, re.not)(g)}function h(y){e.code((0, re._)`delete ${n}[${y}]`);}function p(y){if(u.removeAdditional==="all"||u.removeAdditional&&r===false){h(y);return}if(r===false){t.setParams({additionalProperty:y}),t.error(),a||e.break();return}if(typeof r=="object"&&!(0, Bt.alwaysValidSchema)(i,r)){let g=e.name("valid");u.removeAdditional==="failing"?(f(y,g,false),e.if((0, re.not)(g),()=>{t.reset(),h(y);})):(f(y,g),a||e.if((0, re.not)(g),()=>e.break()));}}function f(y,g,q){let k={keyword:"additionalProperties",dataProp:y,dataPropType:Bt.Type.Str};q===false&&Object.assign(k,{compositeRule:true,createErrors:false,allErrors:false}),t.subschema(k,g);}}};ks.default=ml;});var Yo=_(Ns=>{Object.defineProperty(Ns,"__esModule",{value:true});var yl=it(),Qo=Q(),qs=N(),Xo=js(),gl={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:s,data:n,it:o}=t;o.opts.removeAdditional==="all"&&s.additionalProperties===void 0&&Xo.default.code(new yl.KeywordCxt(o,Xo.default,"additionalProperties"));let i=(0, Qo.allSchemaProperties)(r);for(let l of i)o.definedProperties.add(l);o.opts.unevaluated&&i.length&&o.props!==true&&(o.props=qs.mergeEvaluated.props(e,(0, qs.toHash)(i),o.props));let a=i.filter(l=>!(0, qs.alwaysValidSchema)(o,r[l]));if(a.length===0)return;let u=e.name("valid");for(let l of a)c(l)?d(l):(e.if((0, Qo.propertyInData)(e,n,l,o.opts.ownProperties)),d(l),o.allErrors||e.else().var(u,true),e.endIf()),t.it.definedProperties.add(l),t.ok(u);function c(l){return o.opts.useDefaults&&!o.compositeRule&&r[l].default!==void 0}function d(l){t.subschema({keyword:"properties",schemaProp:l,dataProp:l},u);}}};Ns.default=gl;});var ri=_(Os=>{Object.defineProperty(Os,"__esModule",{value:true});var Zo=Q(),Qt=S(),ei=N(),ti=N(),_l={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:s,parentSchema:n,it:o}=t,{opts:i}=o,a=(0, Zo.allSchemaProperties)(r),u=a.filter(f=>(0, ei.alwaysValidSchema)(o,r[f]));if(a.length===0||u.length===a.length&&(!o.opts.unevaluated||o.props===true))return;let c=i.strictSchema&&!i.allowMatchingProperties&&n.properties,d=e.name("valid");o.props!==true&&!(o.props instanceof Qt.Name)&&(o.props=(0, ti.evaluatedPropsToName)(e,o.props));let{props:l}=o;m();function m(){for(let f of a)c&&h(f),o.allErrors?p(f):(e.var(d,true),p(f),e.if(d));}function h(f){for(let y in c)new RegExp(f).test(y)&&(0, ei.checkStrictMode)(o,`property ${y} matches pattern ${f} (use allowMatchingProperties)`);}function p(f){e.forIn("key",s,y=>{e.if((0, Qt._)`${(0, Zo.usePattern)(t,f)}.test(${y})`,()=>{let g=u.includes(f);g||t.subschema({keyword:"patternProperties",schemaProp:f,dataProp:y,dataPropType:ti.Type.Str},d),o.opts.unevaluated&&l!==true?e.assign((0, Qt._)`${l}[${y}]`,true):!g&&!o.allErrors&&e.if((0, Qt.not)(d),()=>e.break());});});}}};Os.default=_l;});var si=_(Rs=>{Object.defineProperty(Rs,"__esModule",{value:true});var vl=N(),$l={keyword:"not",schemaType:["object","boolean"],trackErrors:true,code(t){let{gen:e,schema:r,it:s}=t;if((0, vl.alwaysValidSchema)(s,r)){t.fail();return}let n=e.name("valid");t.subschema({keyword:"not",compositeRule:true,createErrors:false,allErrors:false},n),t.failResult(n,()=>t.reset(),()=>t.error());},error:{message:"must NOT be valid"}};Rs.default=$l;});var ni=_(Ts=>{Object.defineProperty(Ts,"__esModule",{value:true});var bl=Q(),wl={keyword:"anyOf",schemaType:"array",trackErrors:true,code:bl.validateUnion,error:{message:"must match a schema in anyOf"}};Ts.default=wl;});var oi=_(As=>{Object.defineProperty(As,"__esModule",{value:true});var Xt=S(),El=N(),Sl={message:"must match exactly one schema in oneOf",params:({params:t})=>(0, Xt._)`{passingSchemas: ${t.passing}}`},Pl={keyword:"oneOf",schemaType:"array",trackErrors:true,error:Sl,code(t){let{gen:e,schema:r,parentSchema:s,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(n.opts.discriminator&&s.discriminator)return;let o=r,i=e.let("valid",false),a=e.let("passing",null),u=e.name("_valid");t.setParams({passing:a}),e.block(c),t.result(i,()=>t.reset(),()=>t.error(true));function c(){o.forEach((d,l)=>{let m;(0, El.alwaysValidSchema)(n,d)?e.var(u,true):m=t.subschema({keyword:"oneOf",schemaProp:l,compositeRule:true},u),l>0&&e.if((0, Xt._)`${u} && ${i}`).assign(i,false).assign(a,(0, Xt._)`[${a}, ${l}]`).else(),e.if(u,()=>{e.assign(i,true),e.assign(a,l),m&&t.mergeEvaluated(m,Xt.Name);});});}}};As.default=Pl;});var ii=_(Is=>{Object.defineProperty(Is,"__esModule",{value:true});var kl=N(),jl={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:s}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let n=e.name("valid");r.forEach((o,i)=>{if((0, kl.alwaysValidSchema)(s,o))return;let a=t.subschema({keyword:"allOf",schemaProp:i},n);t.ok(n),t.mergeEvaluated(a);});}};Is.default=jl;});var ci=_(Cs=>{Object.defineProperty(Cs,"__esModule",{value:true});var Yt=S(),ui=N(),ql={message:({params:t})=>(0, Yt.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0, Yt._)`{failingKeyword: ${t.ifClause}}`},Nl={keyword:"if",schemaType:["object","boolean"],trackErrors:true,error:ql,code(t){let{gen:e,parentSchema:r,it:s}=t;r.then===void 0&&r.else===void 0&&(0, ui.checkStrictMode)(s,'"if" without "then" and "else" is ignored');let n=ai(s,"then"),o=ai(s,"else");if(!n&&!o)return;let i=e.let("valid",true),a=e.name("_valid");if(u(),t.reset(),n&&o){let d=e.let("ifClause");t.setParams({ifClause:d}),e.if(a,c("then",d),c("else",d));}else n?e.if(a,c("then")):e.if((0, Yt.not)(a),c("else"));t.pass(i,()=>t.error(true));function u(){let d=t.subschema({keyword:"if",compositeRule:true,createErrors:false,allErrors:false},a);t.mergeEvaluated(d);}function c(d,l){return ()=>{let m=t.subschema({keyword:d},a);e.assign(i,a),t.mergeValidEvaluated(m,i),l?e.assign(l,(0, Yt._)`${d}`):t.setParams({ifClause:d});}}}};function ai(t,e){let r=t.schema[e];return r!==void 0&&!(0, ui.alwaysValidSchema)(t,r)}Cs.default=Nl;});var di=_(Ms=>{Object.defineProperty(Ms,"__esModule",{value:true});var Ol=N(),Rl={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0, Ol.checkStrictMode)(r,`"${t}" without "if" is ignored`);}};Ms.default=Rl;});var li=_(Ds=>{Object.defineProperty(Ds,"__esModule",{value:true});var Tl=vs(),Al=zo(),Il=$s(),Cl=Uo(),Ml=Lo(),Dl=Jo(),xl=Bo(),Vl=js(),Fl=Yo(),zl=ri(),Kl=si(),Ul=ni(),Ll=oi(),Hl=ii(),Gl=ci(),Jl=di();function Wl(t=false){let e=[Kl.default,Ul.default,Ll.default,Hl.default,Gl.default,Jl.default,xl.default,Vl.default,Dl.default,Fl.default,zl.default];return t?e.push(Al.default,Cl.default):e.push(Tl.default,Il.default),e.push(Ml.default),e}Ds.default=Wl;});var fi=_(xs=>{Object.defineProperty(xs,"__esModule",{value:true});var D=S(),Bl={message:({schemaCode:t})=>(0, D.str)`must match format "${t}"`,params:({schemaCode:t})=>(0, D._)`{format: ${t}}`},Ql={keyword:"format",type:["number","string"],schemaType:"string",$data:true,error:Bl,code(t,e){let{gen:r,data:s,$data:n,schema:o,schemaCode:i,it:a}=t,{opts:u,errSchemaPath:c,schemaEnv:d,self:l}=a;if(!u.validateFormats)return;n?m():h();function m(){let p=r.scopeValue("formats",{ref:l.formats,code:u.code.formats}),f=r.const("fDef",(0, D._)`${p}[${i}]`),y=r.let("fType"),g=r.let("format");r.if((0, D._)`typeof ${f} == "object" && !(${f} instanceof RegExp)`,()=>r.assign(y,(0, D._)`${f}.type || "string"`).assign(g,(0, D._)`${f}.validate`),()=>r.assign(y,(0, D._)`"string"`).assign(g,f)),t.fail$data((0, D.or)(q(),k()));function q(){return u.strictSchema===false?D.nil:(0, D._)`${i} && !${g}`}function k(){let I=d.$async?(0, D._)`(${f}.async ? await ${g}(${s}) : ${g}(${s}))`:(0, D._)`${g}(${s})`,b=(0, D._)`(typeof ${g} == "function" ? ${I} : ${g}.test(${s}))`;return (0, D._)`${g} && ${g} !== true && ${y} === ${e} && !${b}`}}function h(){let p=l.formats[o];if(!p){q();return}if(p===true)return;let[f,y,g]=k(p);f===e&&t.pass(I());function q(){if(u.strictSchema===false){l.logger.warn(b());return}throw new Error(b());function b(){return `unknown format "${o}" ignored in schema at path "${c}"`}}function k(b){let se=b instanceof RegExp?(0, D.regexpCode)(b):u.code.formats?(0, D._)`${u.code.formats}${(0, D.getProperty)(o)}`:void 0,ue=r.scopeValue("formats",{key:o,ref:b,code:se});return typeof b=="object"&&!(b instanceof RegExp)?[b.type||"string",b.validate,(0, D._)`${ue}.validate`]:["string",b,ue]}function I(){if(typeof p=="object"&&!(p instanceof RegExp)&&p.async){if(!d.$async)throw new Error("async format in sync schema");return (0, D._)`await ${g}(${s})`}return typeof y=="function"?(0, D._)`${g}(${s})`:(0, D._)`${g}.test(${s})`}}}};xs.default=Ql;});var pi=_(Vs=>{Object.defineProperty(Vs,"__esModule",{value:true});var Xl=fi(),Yl=[Xl.default];Vs.default=Yl;});var hi=_(Ke=>{Object.defineProperty(Ke,"__esModule",{value:true});Ke.contentVocabulary=Ke.metadataVocabulary=void 0;Ke.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Ke.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"];});var yi=_(Fs=>{Object.defineProperty(Fs,"__esModule",{value:true});var Zl=Eo(),ef=Do(),tf=li(),rf=pi(),mi=hi(),sf=[Zl.default,ef.default,(0, tf.default)(),rf.default,mi.metadataVocabulary,mi.contentVocabulary];Fs.default=sf;});var _i=_(Zt=>{Object.defineProperty(Zt,"__esModule",{value:true});Zt.DiscrError=void 0;var gi;(function(t){t.Tag="tag",t.Mapping="mapping";})(gi||(Zt.DiscrError=gi={}));});var $i=_(Ks=>{Object.defineProperty(Ks,"__esModule",{value:true});var Ue=S(),zs=_i(),vi=Ct(),nf=at(),of=N(),af={message:({params:{discrError:t,tagName:e}})=>t===zs.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0, Ue._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},uf={keyword:"discriminator",type:"object",schemaType:"object",error:af,code(t){let{gen:e,data:r,schema:s,parentSchema:n,it:o}=t,{oneOf:i}=n;if(!o.opts.discriminator)throw new Error("discriminator: requires discriminator option");let a=s.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(s.mapping)throw new Error("discriminator: mapping is not supported");if(!i)throw new Error("discriminator: requires oneOf keyword");let u=e.let("valid",false),c=e.const("tag",(0, Ue._)`${r}${(0, Ue.getProperty)(a)}`);e.if((0, Ue._)`typeof ${c} == "string"`,()=>d(),()=>t.error(false,{discrError:zs.DiscrError.Tag,tag:c,tagName:a})),t.ok(u);function d(){let h=m();e.if(false);for(let p in h)e.elseIf((0, Ue._)`${c} === ${p}`),e.assign(u,l(h[p]));e.else(),t.error(false,{discrError:zs.DiscrError.Mapping,tag:c,tagName:a}),e.endIf();}function l(h){let p=e.name("valid"),f=t.subschema({keyword:"oneOf",schemaProp:h},p);return t.mergeEvaluated(f,Ue.Name),p}function m(){var h;let p={},f=g(n),y=true;for(let I=0;I<i.length;I++){let b=i[I];if(b?.$ref&&!(0, of.schemaHasRulesButRef)(b,o.self.RULES)){let ue=b.$ref;if(b=vi.resolveRef.call(o.self,o.schemaEnv.root,o.baseId,ue),b instanceof vi.SchemaEnv&&(b=b.schema),b===void 0)throw new nf.default(o.opts.uriResolver,o.baseId,ue)}let se=(h=b?.properties)===null||h===void 0?void 0:h[a];if(typeof se!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);y=y&&(f||g(b)),q(se,I);}if(!y)throw new Error(`discriminator: "${a}" must be required`);return p;function g({required:I}){return Array.isArray(I)&&I.includes(a)}function q(I,b){if(I.const)k(I.const,b);else if(I.enum)for(let se of I.enum)k(se,b);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function k(I,b){if(typeof I!="string"||I in p)throw new Error(`discriminator: "${a}" values must be unique strings`);p[I]=b;}}}};Ks.default=uf;});var bi=_((Qp,cf)=>{cf.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 Ei=_((M,Us)=>{Object.defineProperty(M,"__esModule",{value:true});M.MissingRefError=M.ValidationError=M.CodeGen=M.Name=M.nil=M.stringify=M.str=M._=M.KeywordCxt=M.Ajv=void 0;var df=go(),lf=yi(),ff=$i(),wi=bi(),pf=["/properties"],er="http://json-schema.org/draft-07/schema",Le=class extends df.default{_addVocabularies(){super._addVocabularies(),lf.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(ff.default);}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(wi,pf):wi;this.addMetaSchema(e,er,false),this.refs["http://json-schema.org/schema"]=er;}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(er)?er:void 0)}};M.Ajv=Le;Us.exports=M=Le;Us.exports.Ajv=Le;Object.defineProperty(M,"__esModule",{value:true});M.default=Le;var hf=it();Object.defineProperty(M,"KeywordCxt",{enumerable:true,get:function(){return hf.KeywordCxt}});var He=S();Object.defineProperty(M,"_",{enumerable:true,get:function(){return He._}});Object.defineProperty(M,"str",{enumerable:true,get:function(){return He.str}});Object.defineProperty(M,"stringify",{enumerable:true,get:function(){return He.stringify}});Object.defineProperty(M,"nil",{enumerable:true,get:function(){return He.nil}});Object.defineProperty(M,"Name",{enumerable:true,get:function(){return He.Name}});Object.defineProperty(M,"CodeGen",{enumerable:true,get:function(){return He.CodeGen}});var mf=At();Object.defineProperty(M,"ValidationError",{enumerable:true,get:function(){return mf.default}});var yf=at();Object.defineProperty(M,"MissingRefError",{enumerable:true,get:function(){return yf.default}});});var Ws={$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 ki=Ki(Ei());var vf=createRequire(import.meta.url),$f=vf("./jsonata-sync.cjs"),tr=null;var Si=/\b(card_data|requires|fetched_sources|computed_values|source_defs)\b/g,bf=/^\s*(card_data|requires|fetched_sources|computed_values|source_defs)(\.|$)/;function wf(t){let e=new Set,r;for(Si.lastIndex=0;(r=Si.exec(t))!==null;)e.add(r[1]);return e}function ji(t){let e=bf.exec(t);return e?e[1]:null}function Pi(t,e,r,s){try{$f(t);}catch(o){let i=o instanceof Error?o.message:String(o);s.push(`${e}: invalid JSONata expression (${i})`);return}let n=wf(t);for(let o of n)r.has(o)||s.push(`${e}: disallowed namespace "${o}" in expression`);}function Ls(t,e,r){if(Array.isArray(t)){t.forEach((n,o)=>{Ls(n,`${e}/${o}`,r);});return}if(typeof t=="string"){let n=ji(t);if(!n)return;new Set(["card_data","requires","computed_values"]).has(n)||r.push(`${e}: disallowed namespace "${n}" in view reference`);return}if(!t||typeof t!="object")return;let s=t;for(let[n,o]of Object.entries(s))Ls(o,`${e}/${n}`,r);}function Ef(){if(tr)return tr;let t=new ki.default({allErrors:true});return gf(t),tr=t.compile(Ws),tr}function qi(t){let e=Ef(),r=e(t),s=(e.errors??[]).map(n=>`${n.instancePath||"/"}: ${n.message??"unknown error"}`);if(t&&typeof t=="object"&&!Array.isArray(t)){let n=t.source_defs;if(Array.isArray(n)){let o=new Set,i=new Set;n.forEach((a,u)=>{if(!a||typeof a!="object"||Array.isArray(a))return;let c=a;typeof c.bindTo=="string"&&c.bindTo&&(o.has(c.bindTo)&&s.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&&(i.has(c.outputFile)&&s.push(`/source_defs/${u}/outputFile: outputFile "${c.outputFile}" must be unique across all source_defs`),i.add(c.outputFile));});}}return !r||s.length>0?{ok:false,errors:s}:{ok:true,errors:[]}}function Ni(t){let e=[];if(!t||typeof t!="object"||Array.isArray(t))return {ok:true,errors:[]};let r=t,s=r.compute;Array.isArray(s)&&s.forEach((c,d)=>{if(!c||typeof c!="object"||Array.isArray(c))return;let l=c.expr;typeof l!="string"||l.trim().length===0||Pi(l,`/compute/${d}/expr`,new Set(["card_data","requires","fetched_sources","computed_values"]),e);});let n=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 l=c.ref;if(typeof l!="string"||l.trim().length===0)return;let m=ji(l);m===null?e.push(`/provides/${d}/ref: path "${l}" must start with a valid namespace (${[...n].join(", ")})`):n.has(m)||e.push(`/provides/${d}/ref: disallowed namespace "${m}" in path "${l}" (valid: ${[...n].join(", ")})`);});let i=r.view;i&&typeof i=="object"&&!Array.isArray(i)&&Ls(i,"/view",e);let a=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 l=c.projections;if(!(!l||typeof l!="object"||Array.isArray(l)))for(let[m,h]of Object.entries(l))typeof h!="string"||h.trim().length===0||Pi(h,`/source_defs/${d}/projections/${m}`,a,e);}),{ok:e.length===0,errors:e}}function Sf(t){return Oi(t)}function Oi(t){let e=qi(t);if(!e.ok)return e;let r=Ni(t);return r.ok?{ok:true,errors:[]}:{ok:false,errors:r.errors}}var kf=createRequire(import.meta.url),rr=kf("./jsonata-sync.cjs"),Ai=rr;function Ri(t,e){if(!e||!t)return;let r=e.split("."),s=t;for(let n=0;n<r.length;n++){if(s==null)return;s=s[r[n]];}return s}function Ii(t,e,r){let s=e.split("."),n=t;for(let o=0;o<s.length-1;o++)(n[s[o]]==null||typeof n[s[o]]!="object")&&(n[s[o]]={}),n=n[s[o]];n[s[s.length-1]]=r;}async function jf(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??{},s={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 n of t.compute)try{let o=await rr(n.expr).evaluate(s);Ii(t.computed_values,n.bindTo,o),s.computed_values=t.computed_values;}catch{}return t}function qf(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??{},s={card_data:t.card_data,requires:r,expects_data:r,fetched_sources:t._sourcesData,data:t.computed_values,computed_values:t.computed_values},n=[];for(let o of t.compute)try{let i=Ai(o.expr).evaluate(s);Ii(t.computed_values,o.bindTo,i),s.computed_values=t.computed_values;}catch(i){let a=i instanceof Error?i.message:String(i);n.push({bindTo:o.bindTo,error:a});}return n.length>0?{ok:true,node:t,errors:n}:{ok:true,node:t}}async function Nf(t,e,r){let s={...r??{},card_data:e.card_data??{},requires:e.requires??{},fetched_sources:e._sourcesData??{},computed_values:e.computed_values??{}};return rr(t).evaluate(s)}function Of(t,e){return e.startsWith("fetched_sources.")?Ri(t._sourcesData??{},e.slice(16)):Ri(t,e)}var Ti=new Set(["metric","table","editable-table","chart","form","filter","list","notes","todo","alert","narrative","badge","text","markdown","ref","custom","actions"]),Rf=new Set(["id","meta","requires","provides","view","card_data","compute","source_defs"]);function Tf(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 s of Object.keys(r))Rf.has(s)||e.push(`Unknown top-level key: "${s}"`);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 s=r.meta;s.title!=null&&typeof s.title!="string"&&e.push("meta.title: must be a string"),s.tags!=null&&!Array.isArray(s.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((s,n)=>{if(!s||typeof s!="object"||Array.isArray(s))e.push(`provides[${n}]: must be an object with bindTo and ref`);else {let o=s;(typeof o.bindTo!="string"||!o.bindTo)&&e.push(`provides[${n}]: missing required "bindTo" string`),(typeof o.ref!="string"||!o.ref)&&e.push(`provides[${n}]: 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((s,n)=>{if(!s||typeof s!="object"||Array.isArray(s))e.push(`compute[${n}]: must be a compute step object`);else {let o=s;(typeof o.bindTo!="string"||!o.bindTo)&&e.push(`compute[${n}]: missing required "bindTo" property`),(typeof o.expr!="string"||!o.expr)&&e.push(`compute[${n}]: 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 s=new Set,n=new Set;r.source_defs.forEach((o,i)=>{if(!o||typeof o!="object"||Array.isArray(o))e.push(`source_defs[${i}]: must be an object`);else {let a=o;typeof a.bindTo!="string"||!a.bindTo?e.push(`source_defs[${i}]: missing required "bindTo" property`):(s.has(a.bindTo)&&e.push(`source_defs[${i}]: bindTo "${a.bindTo}" is not unique across source_defs`),s.add(a.bindTo)),typeof a.outputFile!="string"||!a.outputFile?e.push(`source_defs[${i}]: missing required "outputFile" property`):(n.has(a.outputFile)&&e.push(`source_defs[${i}]: outputFile "${a.outputFile}" is not unique across source_defs`),n.add(a.outputFile)),a.optionalForCompletionGating!=null&&typeof a.optionalForCompletionGating!="boolean"&&e.push(`source_defs[${i}]: 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 s=r.view;!Array.isArray(s.elements)||s.elements.length===0?e.push("view.elements: required, must be a non-empty array"):s.elements.forEach((n,o)=>{if(!n||typeof n!="object"){e.push(`view.elements[${o}]: must be an object`);return}!n.kind||typeof n.kind!="string"?e.push(`view.elements[${o}].kind: required, must be a string`):Ti.has(n.kind)||e.push(`view.elements[${o}].kind: unknown kind "${n.kind}". Valid: ${[...Ti].join(", ")}`),n.data!=null&&(typeof n.data!="object"||Array.isArray(n.data))&&e.push(`view.elements[${o}].data: must be an object`);}),s.layout!=null&&(typeof s.layout!="object"||Array.isArray(s.layout))&&e.push("view.layout: must be an object"),s.features!=null&&(typeof s.features!="object"||Array.isArray(s.features))&&e.push("view.features: must be an object");}return {ok:e.length===0,errors:e}}async function Af(t,e){if(!t||t.length===0)return [];let r={card_data:e.card_data??{},requires:e.requires??{}};return Promise.all(t.map(async s=>{let n={};if(s.projections&&typeof s.projections=="object"&&!Array.isArray(s.projections)){for(let[o,i]of Object.entries(s.projections))if(typeof i=="string"&&i.trim().length>0)try{n[o]=await rr(i).evaluate(r);}catch{n[o]=void 0;}}return {...s,_projections:n}}))}function If(t,e){if(!t||t.length===0)return [];let r={card_data:e.card_data??{},requires:e.requires??{}};return t.map(s=>{let n={};if(s.projections&&typeof s.projections=="object"&&!Array.isArray(s.projections)){for(let[o,i]of Object.entries(s.projections))if(typeof i=="string"&&i.trim().length>0)try{n[o]=Ai(i).evaluate(r);}catch{n[o]=void 0;}}return {...s,_projections:n}})}var Cf={run:jf,runSync:qf,eval:Nf,resolve:Of,validate:Tf,enrichSources:Af,enrichSourcesSync:If},rh=Cf;
9
9
  export{Cf as CardCompute,rh as default,Sf as validateLiveCard,Oi as validateLiveCardDefinition,Ni as validateLiveCardRuntimeExpressions,qi as validateLiveCardSchema};//# sourceMappingURL=index.js.map
10
10
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,2 @@
1
+ 'use strict';function m(d){function o(n){return {status:"success",data:n}}function e(n){return {status:"fail",error:n}}function s(n){return {status:"error",error:n instanceof Error?n.message:String(n)}}return {get(n){try{let r=n.params?.id;if(r){let t=d.readCard(r);return t?o({cards:[t]}):e(`card "${r}" not found`)}return o({cards:d.readAllCards()})}catch(r){return s(r)}},set(n){try{let r=n.body;if(r==null)return e("set requires a body (card object or array of cards)");let t=Array.isArray(r)?r:[r];for(let a of t){if(typeof a.id!="string")return e("each card must have a string `id` field");d.writeCard(a.id,a);}return o({count:t.length})}catch(r){return s(r)}},del(n){try{let r=n.body?.ids??[],t=n.params?.id,a=t?[...r,t]:r;if(a.length===0)return e("del requires body.ids (string[]) or params.id");for(let u of a)d.removeCard(u);return o({count:a.length})}catch(r){return s(r)}},patch(n){try{let r=n.params?.id,t=n.params?.path;if(!r)return e("patch requires params.id");if(!t)return e("patch requires params.path");let a=n.body,u=a&&Object.prototype.hasOwnProperty.call(a,"value")?a.value:n.body;return d.patchCard(r,t,u),o({count:1})}catch(r){return s(r)}}}}exports.createCardStorePublic=m;//# sourceMappingURL=card-store-public.cjs.map
2
+ //# sourceMappingURL=card-store-public.cjs.map
@@ -0,0 +1,61 @@
1
+ import { C as CommandInput, a as CommandResult, L as LiveCard, b as CardAdminStore } from './board-live-cards-public-BnmRAbQV.cjs';
2
+ import './storage-interface-BhAON-gW.cjs';
3
+ import './execution-refs.cjs';
4
+ import './types-BBhqYGhE.cjs';
5
+
6
+ /**
7
+ * card-store-lib-public.ts
8
+ *
9
+ * Platform-free public API for card store read/write operations.
10
+ *
11
+ * Follows the same CommandInput / CommandResult convention as
12
+ * board-live-cards-public.ts. No platform code here — inject a
13
+ * CardAdminStore built from your platform adapter.
14
+ *
15
+ * Usage:
16
+ * import { createCardStorePublic } from './card-store-lib-public.js';
17
+ * import { createCardStore } from './board-live-cards-lib.js';
18
+ * import { createFsCardStorageAdapter } from '../node/storage-fs-adapters.js';
19
+ *
20
+ * const store = createCardStorePublic(
21
+ * createCardStore(createFsCardStorageAdapter(dir))
22
+ * );
23
+ * const result = store.set({ body: card }); // write one card
24
+ * const result = store.set({ body: [c1, c2] }); // write many
25
+ * const result = store.get({ params: { id: 'x' } });
26
+ * const result = store.del({ body: { ids: ['x', 'y'] } });
27
+ */
28
+
29
+ interface CardStorePublic {
30
+ /** Read one card (params.id) or all cards. */
31
+ get(input: CommandInput): CommandResult<{
32
+ cards: LiveCard[];
33
+ }>;
34
+ /**
35
+ * Write cards into the store.
36
+ * body: single card object { id, ... } or an array of card objects.
37
+ */
38
+ set(input: CommandInput): CommandResult<{
39
+ count: number;
40
+ }>;
41
+ /**
42
+ * Delete cards by ID.
43
+ * body.ids: string[] — delete several cards at once
44
+ * params.id: string — delete a single card (alternative, can combine with body.ids)
45
+ */
46
+ del(input: CommandInput): CommandResult<{
47
+ count: number;
48
+ }>;
49
+ /**
50
+ * Patch one card using dot-path assignment.
51
+ * params.id: string
52
+ * params.path: dot path (e.g. "card_data.form.name")
53
+ * body.value: value to assign (or body itself if value is omitted)
54
+ */
55
+ patch(input: CommandInput): CommandResult<{
56
+ count: number;
57
+ }>;
58
+ }
59
+ declare function createCardStorePublic(store: CardAdminStore): CardStorePublic;
60
+
61
+ export { type CardStorePublic, createCardStorePublic };
@@ -0,0 +1,61 @@
1
+ import { C as CommandInput, a as CommandResult, L as LiveCard, b as CardAdminStore } from './board-live-cards-public-CsmYrvpd.js';
2
+ import './storage-interface-BhAON-gW.js';
3
+ import './execution-refs.js';
4
+ import './types-BBhqYGhE.js';
5
+
6
+ /**
7
+ * card-store-lib-public.ts
8
+ *
9
+ * Platform-free public API for card store read/write operations.
10
+ *
11
+ * Follows the same CommandInput / CommandResult convention as
12
+ * board-live-cards-public.ts. No platform code here — inject a
13
+ * CardAdminStore built from your platform adapter.
14
+ *
15
+ * Usage:
16
+ * import { createCardStorePublic } from './card-store-lib-public.js';
17
+ * import { createCardStore } from './board-live-cards-lib.js';
18
+ * import { createFsCardStorageAdapter } from '../node/storage-fs-adapters.js';
19
+ *
20
+ * const store = createCardStorePublic(
21
+ * createCardStore(createFsCardStorageAdapter(dir))
22
+ * );
23
+ * const result = store.set({ body: card }); // write one card
24
+ * const result = store.set({ body: [c1, c2] }); // write many
25
+ * const result = store.get({ params: { id: 'x' } });
26
+ * const result = store.del({ body: { ids: ['x', 'y'] } });
27
+ */
28
+
29
+ interface CardStorePublic {
30
+ /** Read one card (params.id) or all cards. */
31
+ get(input: CommandInput): CommandResult<{
32
+ cards: LiveCard[];
33
+ }>;
34
+ /**
35
+ * Write cards into the store.
36
+ * body: single card object { id, ... } or an array of card objects.
37
+ */
38
+ set(input: CommandInput): CommandResult<{
39
+ count: number;
40
+ }>;
41
+ /**
42
+ * Delete cards by ID.
43
+ * body.ids: string[] — delete several cards at once
44
+ * params.id: string — delete a single card (alternative, can combine with body.ids)
45
+ */
46
+ del(input: CommandInput): CommandResult<{
47
+ count: number;
48
+ }>;
49
+ /**
50
+ * Patch one card using dot-path assignment.
51
+ * params.id: string
52
+ * params.path: dot path (e.g. "card_data.form.name")
53
+ * body.value: value to assign (or body itself if value is omitted)
54
+ */
55
+ patch(input: CommandInput): CommandResult<{
56
+ count: number;
57
+ }>;
58
+ }
59
+ declare function createCardStorePublic(store: CardAdminStore): CardStorePublic;
60
+
61
+ export { type CardStorePublic, createCardStorePublic };
@@ -0,0 +1,2 @@
1
+ function m(d){function o(n){return {status:"success",data:n}}function e(n){return {status:"fail",error:n}}function s(n){return {status:"error",error:n instanceof Error?n.message:String(n)}}return {get(n){try{let r=n.params?.id;if(r){let t=d.readCard(r);return t?o({cards:[t]}):e(`card "${r}" not found`)}return o({cards:d.readAllCards()})}catch(r){return s(r)}},set(n){try{let r=n.body;if(r==null)return e("set requires a body (card object or array of cards)");let t=Array.isArray(r)?r:[r];for(let a of t){if(typeof a.id!="string")return e("each card must have a string `id` field");d.writeCard(a.id,a);}return o({count:t.length})}catch(r){return s(r)}},del(n){try{let r=n.body?.ids??[],t=n.params?.id,a=t?[...r,t]:r;if(a.length===0)return e("del requires body.ids (string[]) or params.id");for(let u of a)d.removeCard(u);return o({count:a.length})}catch(r){return s(r)}},patch(n){try{let r=n.params?.id,t=n.params?.path;if(!r)return e("patch requires params.id");if(!t)return e("patch requires params.path");let a=n.body,u=a&&Object.prototype.hasOwnProperty.call(a,"value")?a.value:n.body;return d.patchCard(r,t,u),o({count:1})}catch(r){return s(r)}}}}export{m as createCardStorePublic};//# sourceMappingURL=card-store-public.js.map
2
+ //# sourceMappingURL=card-store-public.js.map