yaml-flow 5.4.2 → 7.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 (252) hide show
  1. package/board-live-cards-cli.js +6 -6
  2. package/browser/asset-integrity.json +10 -0
  3. package/browser/board-livecards-client.js +2 -0
  4. package/browser/board-livecards-client.js.map +1 -0
  5. package/browser/board-livecards-localstorage.js +10 -0
  6. package/browser/board-livecards-localstorage.js.map +1 -0
  7. package/browser/board-livegraph-engine.js +2 -1676
  8. package/browser/board-livegraph-engine.js.map +1 -1
  9. package/browser/card-compute.js +28 -28
  10. package/browser/compute-jsonata.js +5 -0
  11. package/browser/compute-jsonata.js.map +1 -0
  12. package/browser/live-cards.js +561 -129
  13. package/browser/live-cards.schema.json +418 -132
  14. package/card-store.js +37 -0
  15. package/dist/batch/index.cjs +1 -108
  16. package/dist/batch/index.cjs.map +1 -1
  17. package/dist/batch/index.js +1 -106
  18. package/dist/batch/index.js.map +1 -1
  19. package/dist/board-live-cards-lib-Bg6EvCo5.d.cts +136 -0
  20. package/dist/board-live-cards-lib-jM2uYG1v.d.ts +136 -0
  21. package/dist/board-live-cards-public-CW5074xr.d.cts +318 -0
  22. package/dist/board-live-cards-public-hnZo0mAf.d.ts +318 -0
  23. package/dist/board-livegraph-runtime/index.cjs +2 -1671
  24. package/dist/board-livegraph-runtime/index.cjs.map +1 -1
  25. package/dist/board-livegraph-runtime/index.d.cts +12 -11
  26. package/dist/board-livegraph-runtime/index.d.ts +12 -11
  27. package/dist/board-livegraph-runtime/index.js +2 -1662
  28. package/dist/board-livegraph-runtime/index.js.map +1 -1
  29. package/dist/board-livegraph-runtime/jsonata-sync.cjs +7623 -0
  30. package/dist/card-compute/index.cjs +9 -7159
  31. package/dist/card-compute/index.cjs.map +1 -1
  32. package/dist/card-compute/index.d.cts +27 -1
  33. package/dist/card-compute/index.d.ts +27 -1
  34. package/dist/card-compute/index.js +9 -7145
  35. package/dist/card-compute/index.js.map +1 -1
  36. package/dist/card-compute/jsonata-sync.cjs +7623 -0
  37. package/dist/cli/browser-api/board-live-cards-browser-adapter.cjs +3 -0
  38. package/dist/cli/browser-api/board-live-cards-browser-adapter.cjs.map +1 -0
  39. package/dist/cli/browser-api/board-live-cards-browser-adapter.d.cts +37 -0
  40. package/dist/cli/browser-api/board-live-cards-browser-adapter.d.ts +37 -0
  41. package/dist/cli/browser-api/board-live-cards-browser-adapter.js +3 -0
  42. package/dist/cli/browser-api/board-live-cards-browser-adapter.js.map +1 -0
  43. package/dist/cli/browser-api/card-store-browser-api.cjs +2 -0
  44. package/dist/cli/browser-api/card-store-browser-api.cjs.map +1 -0
  45. package/dist/cli/browser-api/card-store-browser-api.d.cts +26 -0
  46. package/dist/cli/browser-api/card-store-browser-api.d.ts +26 -0
  47. package/dist/cli/browser-api/card-store-browser-api.js +2 -0
  48. package/dist/cli/browser-api/card-store-browser-api.js.map +1 -0
  49. package/dist/cli/browser-api/jsonata-sync.cjs +7623 -0
  50. package/dist/cli/node/artifacts-store-cli.cjs +11 -0
  51. package/dist/cli/node/artifacts-store-cli.cjs.map +1 -0
  52. package/dist/cli/node/artifacts-store-cli.d.cts +8 -0
  53. package/dist/cli/node/artifacts-store-cli.d.ts +8 -0
  54. package/dist/cli/node/artifacts-store-cli.js +11 -0
  55. package/dist/cli/node/artifacts-store-cli.js.map +1 -0
  56. package/dist/cli/node/board-live-cards-cli.cjs +15 -0
  57. package/dist/cli/node/board-live-cards-cli.cjs.map +1 -0
  58. package/dist/cli/node/board-live-cards-cli.d.cts +20 -0
  59. package/dist/cli/node/board-live-cards-cli.d.ts +20 -0
  60. package/dist/cli/node/board-live-cards-cli.js +15 -0
  61. package/dist/cli/node/board-live-cards-cli.js.map +1 -0
  62. package/dist/cli/node/card-store-cli.cjs +8 -0
  63. package/dist/cli/node/card-store-cli.cjs.map +1 -0
  64. package/dist/cli/node/card-store-cli.d.cts +15 -0
  65. package/dist/cli/node/card-store-cli.d.ts +15 -0
  66. package/dist/cli/node/card-store-cli.js +8 -0
  67. package/dist/cli/node/card-store-cli.js.map +1 -0
  68. package/dist/cli/node/execution-adapter.cjs +3 -0
  69. package/dist/cli/node/execution-adapter.cjs.map +1 -0
  70. package/dist/cli/node/execution-adapter.d.cts +174 -0
  71. package/dist/cli/node/execution-adapter.d.ts +174 -0
  72. package/dist/cli/node/execution-adapter.js +3 -0
  73. package/dist/cli/node/execution-adapter.js.map +1 -0
  74. package/dist/cli/node/fs-board-adapter.cjs +14 -0
  75. package/dist/cli/node/fs-board-adapter.cjs.map +1 -0
  76. package/dist/cli/node/fs-board-adapter.d.cts +204 -0
  77. package/dist/cli/node/fs-board-adapter.d.ts +204 -0
  78. package/dist/cli/node/fs-board-adapter.js +14 -0
  79. package/dist/cli/node/fs-board-adapter.js.map +1 -0
  80. package/dist/cli/node/jsonata-sync.cjs +7623 -0
  81. package/dist/cli/node/source-cli-task-executor.cjs +11 -0
  82. package/dist/cli/node/source-cli-task-executor.cjs.map +1 -0
  83. package/dist/cli/node/source-cli-task-executor.d.cts +1 -0
  84. package/dist/cli/node/source-cli-task-executor.d.ts +1 -0
  85. package/dist/cli/node/source-cli-task-executor.js +11 -0
  86. package/dist/cli/node/source-cli-task-executor.js.map +1 -0
  87. package/dist/config/index.cjs +1 -79
  88. package/dist/config/index.cjs.map +1 -1
  89. package/dist/config/index.js +1 -76
  90. package/dist/config/index.js.map +1 -1
  91. package/dist/continuous-event-graph/index.cjs +2 -2129
  92. package/dist/continuous-event-graph/index.cjs.map +1 -1
  93. package/dist/continuous-event-graph/index.d.cts +81 -5
  94. package/dist/continuous-event-graph/index.d.ts +81 -5
  95. package/dist/continuous-event-graph/index.js +2 -2088
  96. package/dist/continuous-event-graph/index.js.map +1 -1
  97. package/dist/continuous-event-graph/jsonata-sync.cjs +7623 -0
  98. package/dist/event-graph/index.cjs +22 -8292
  99. package/dist/event-graph/index.cjs.map +1 -1
  100. package/dist/event-graph/index.js +22 -8237
  101. package/dist/event-graph/index.js.map +1 -1
  102. package/dist/execution-refs.cjs +3 -0
  103. package/dist/execution-refs.cjs.map +1 -0
  104. package/dist/execution-refs.d.cts +260 -0
  105. package/dist/execution-refs.d.ts +260 -0
  106. package/dist/execution-refs.js +3 -0
  107. package/dist/execution-refs.js.map +1 -0
  108. package/dist/index.cjs +29 -13221
  109. package/dist/index.cjs.map +1 -1
  110. package/dist/index.d.cts +2 -4
  111. package/dist/index.d.ts +2 -4
  112. package/dist/index.js +29 -13112
  113. package/dist/index.js.map +1 -1
  114. package/dist/inference/index.cjs +5 -617
  115. package/dist/inference/index.cjs.map +1 -1
  116. package/dist/inference/index.js +5 -610
  117. package/dist/inference/index.js.map +1 -1
  118. package/dist/jsonata-sync.cjs +7623 -0
  119. package/dist/{live-cards-bridge-x5XREkXm.d.cts → live-cards-bridge-BXbVTsna.d.cts} +27 -4
  120. package/dist/{live-cards-bridge-EQjytzI_.d.ts → live-cards-bridge-Ds28XR15.d.ts} +27 -4
  121. package/dist/server-runtime/index.cjs +9 -0
  122. package/dist/server-runtime/index.cjs.map +1 -0
  123. package/dist/server-runtime/index.d.cts +31 -0
  124. package/dist/server-runtime/index.d.ts +31 -0
  125. package/dist/server-runtime/index.js +9 -0
  126. package/dist/server-runtime/index.js.map +1 -0
  127. package/dist/server-runtime/jsonata-sync.cjs +7623 -0
  128. package/dist/step-machine/index.cjs +11 -7129
  129. package/dist/step-machine/index.cjs.map +1 -1
  130. package/dist/step-machine/index.js +11 -7113
  131. package/dist/step-machine/index.js.map +1 -1
  132. package/dist/step-machine-public/index.cjs +2 -0
  133. package/dist/step-machine-public/index.cjs.map +1 -0
  134. package/dist/step-machine-public/index.d.cts +159 -0
  135. package/dist/step-machine-public/index.d.ts +159 -0
  136. package/dist/step-machine-public/index.js +2 -0
  137. package/dist/step-machine-public/index.js.map +1 -0
  138. package/dist/step-machine-public/jsonata-sync.cjs +7623 -0
  139. package/dist/storage-refs.cjs +10 -0
  140. package/dist/storage-refs.cjs.map +1 -0
  141. package/dist/storage-refs.d.cts +93 -0
  142. package/dist/storage-refs.d.ts +93 -0
  143. package/dist/storage-refs.js +10 -0
  144. package/dist/storage-refs.js.map +1 -0
  145. package/dist/stores/file.cjs +1 -114
  146. package/dist/stores/file.cjs.map +1 -1
  147. package/dist/stores/file.js +1 -112
  148. package/dist/stores/file.js.map +1 -1
  149. package/dist/stores/index.cjs +1 -231
  150. package/dist/stores/index.cjs.map +1 -1
  151. package/dist/stores/index.js +1 -227
  152. package/dist/stores/index.js.map +1 -1
  153. package/dist/stores/localStorage.cjs +1 -76
  154. package/dist/stores/localStorage.cjs.map +1 -1
  155. package/dist/stores/localStorage.js +1 -74
  156. package/dist/stores/localStorage.js.map +1 -1
  157. package/dist/stores/memory.cjs +1 -47
  158. package/dist/stores/memory.cjs.map +1 -1
  159. package/dist/stores/memory.js +1 -45
  160. package/dist/stores/memory.js.map +1 -1
  161. package/dist/types-B1ZRa4aI.d.ts +147 -0
  162. package/dist/types-BxEFcVK9.d.cts +147 -0
  163. package/examples/browser/boards/portfolio-tracker/portfolio-t4.js +291 -0
  164. package/examples/browser/boards/portfolio-tracker/portfolio-tracker-fetch-prices.js +218 -0
  165. package/examples/browser/boards/portfolio-tracker/portfolio-tracker-fetch-prices.py +201 -0
  166. package/examples/browser/boards/portfolio-tracker/portfolio-tracker-http-test.js +357 -0
  167. package/examples/browser/boards/portfolio-tracker/portfolio-tracker-inference-adapter.js +25 -16
  168. package/examples/browser/boards/portfolio-tracker/portfolio-tracker-public.js +552 -0
  169. package/examples/browser/boards/portfolio-tracker/portfolio-tracker-server.js +300 -0
  170. package/examples/browser/boards/portfolio-tracker/portfolio-tracker-server.py +617 -0
  171. package/examples/browser/boards/portfolio-tracker/portfolio-tracker-sse-worker.js +48 -0
  172. package/examples/browser/boards/portfolio-tracker/portfolio-tracker.py +366 -0
  173. package/examples/cli/step-machine-cli/portfolio-tracker/--base-ref/.runtime-out +1 -0
  174. package/examples/cli/step-machine-cli/portfolio-tracker/--base-ref/board-graph.json +32 -0
  175. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/_board-cli.js +70 -3
  176. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/add-cards-cli.js +16 -11
  177. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/init-board-cli.js +9 -8
  178. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/poll-status-cli.js +49 -0
  179. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/reset-board-dir-cli.js +2 -6
  180. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/retrigger-cli.js +4 -8
  181. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/status-cli.js +3 -7
  182. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/update-holdings-cli.js +9 -8
  183. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/wait-completed-cli.js +12 -17
  184. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/write-prices-cli.js +2 -6
  185. package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/_board_pycli.py +107 -0
  186. package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/add-cards.py +51 -0
  187. package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/init-board.py +45 -0
  188. package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/poll-status.py +71 -0
  189. package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/reset-board-dir.py +36 -0
  190. package/examples/cli/step-machine-cli/portfolio-tracker/inline-python-demo.flow.yaml +26 -0
  191. package/examples/cli/step-machine-cli/portfolio-tracker/inline-python-handlers.py +39 -0
  192. package/examples/cli/step-machine-cli/portfolio-tracker/portfolio-tracker-pycli.flow.yaml +80 -0
  193. package/examples/cli/step-machine-cli/portfolio-tracker/portfolio-tracker.flow.yaml +36 -187
  194. package/examples/cli/step-machine-cli/portfolio-tracker/portfolio-tracker.input.json +40 -34
  195. package/examples/cli/step-machine-cli/portfolio-tracker/run-inline-python-demo-pycli.py +43 -0
  196. package/examples/cli/step-machine-cli/portfolio-tracker/run-portfolio-tracker-pycli.py +77 -0
  197. package/examples/cli/step-machine-cli/portfolio-tracker/run-portfolio-tracker.bat +1 -2
  198. package/examples/cli/step-machine-demo/jsonata-init-board-cli.js +8 -13
  199. package/examples/cli/step-machine-demo/jsonata-init-board.flow.yaml +33 -9
  200. package/examples/cli/step-machine-demo/one-step-cli-only.flow.yaml +3 -1
  201. package/examples/cli/step-machine-demo/step2-double-cli.js +6 -12
  202. package/examples/cli/step-machine-demo/two-step-math.flow.yaml +66 -4
  203. package/examples/cli/step-machine-demo/two-step-mixed.flow.yaml +13 -5
  204. package/examples/example-board/agent-instructions.md +11 -5
  205. package/examples/example-board/cards/_index.json +47 -0
  206. package/examples/example-board/cards/card-market-prices.json +33 -9
  207. package/examples/example-board/cards/card-my-identity.json +30 -6
  208. package/examples/example-board/cards/card-portfolio-action.json +24 -6
  209. package/examples/example-board/cards/card-portfolio-intelligence.json +97 -0
  210. package/examples/example-board/cards/card-portfolio-risks.json +24 -6
  211. package/examples/example-board/cards/card-portfolio-value.json +38 -10
  212. package/examples/example-board/cards/card-portfolio.json +57 -13
  213. package/examples/example-board/cards/card-rebalance-impact.json +22 -6
  214. package/examples/example-board/cards/card-rebalance-sim.json +66 -15
  215. package/examples/example-board/demo-chat-handler.js +14 -4
  216. package/examples/example-board/demo-server-config.json +1 -0
  217. package/examples/example-board/demo-server.js +366 -68
  218. package/examples/example-board/demo-shell-localstorage.html +774 -0
  219. package/examples/example-board/demo-shell-with-server.html +20 -37
  220. package/examples/example-board/demo-shell.html +5 -4
  221. package/examples/example-board/demo-task-executor.js +273 -275
  222. package/examples/index.html +0 -14
  223. package/examples/step-machine-cli/portfolio-tracker/handlers/_board-cli.js +0 -1
  224. package/examples/step-machine-cli/portfolio-tracker/run-portfolio-tracker.bat +1 -2
  225. package/package.json +46 -8
  226. package/schema/live-cards.schema.json +418 -132
  227. package/step-machine-cli.js +43 -310
  228. package/board-livecards-server-runtime.js +0 -1574
  229. package/browser/board-livecards-runtime-client.js +0 -263
  230. package/dist/cli/board-live-cards-cli.cjs +0 -10650
  231. package/dist/cli/board-live-cards-cli.cjs.map +0 -1
  232. package/dist/cli/board-live-cards-cli.d.cts +0 -179
  233. package/dist/cli/board-live-cards-cli.d.ts +0 -179
  234. package/dist/cli/board-live-cards-cli.js +0 -10598
  235. package/dist/cli/board-live-cards-cli.js.map +0 -1
  236. package/dist/journal-9HEgs7dU.d.ts +0 -28
  237. package/dist/journal-B-JCfQnh.d.cts +0 -28
  238. package/dist/schedule-Cszq9LYY.d.ts +0 -21
  239. package/dist/schedule-qWNL0RQh.d.cts +0 -21
  240. package/examples/browser/boards/portfolio-tracker/cards/holdings-table.json +0 -22
  241. package/examples/browser/boards/portfolio-tracker/cards/portfolio-form.json +0 -16
  242. package/examples/browser/boards/portfolio-tracker/cards/portfolio-risk-assessment.json +0 -28
  243. package/examples/browser/boards/portfolio-tracker/cards/portfolio-value.json +0 -15
  244. package/examples/browser/boards/portfolio-tracker/cards/price-fetch.json +0 -15
  245. package/examples/browser/boards/portfolio-tracker/cards/rebalancing-strategy.json +0 -28
  246. package/examples/browser/boards/portfolio-tracker/fetch-prices.js +0 -43
  247. package/examples/browser/boards/portfolio-tracker/portfolio-tracker-task-executor.cjs +0 -96
  248. package/examples/browser/boards/portfolio-tracker/portfolio-tracker.bat +0 -7
  249. package/examples/browser/boards/portfolio-tracker/portfolio-tracker.js +0 -351
  250. package/examples/cli/step-machine-demo/two-step-math-handlers.js +0 -32
  251. package/examples/cli/step-machine-demo/two-step-mixed-handlers.js +0 -24
  252. package/examples/example-board/demo-shell-browser.html +0 -674
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env node
2
+ 'use strict';var T=require('fs'),jn=require('os'),le=require('path'),Jo=require('net'),url=require('url'),child_process=require('child_process'),crypto=require('crypto'),module$1=require('module'),properLockfile=require('proper-lockfile'),xh=require('ajv-formats');var _documentCurrentScript=typeof document!=='undefined'?document.currentScript:null;function _interopDefault(e){return e&&e.__esModule?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var T__namespace=/*#__PURE__*/_interopNamespace(T);var jn__namespace=/*#__PURE__*/_interopNamespace(jn);var le__namespace=/*#__PURE__*/_interopNamespace(le);var Jo__namespace=/*#__PURE__*/_interopNamespace(Jo);var xh__default=/*#__PURE__*/_interopDefault(xh);var _c=Object.create;var Bo=Object.defineProperty;var $c=Object.getOwnPropertyDescriptor;var Rc=Object.getOwnPropertyNames;var Cc=Object.getPrototypeOf,Ec=Object.prototype.hasOwnProperty;var $=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var xc=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Rc(e))!Ec.call(t,s)&&s!==r&&Bo(t,s,{get:()=>e[s],enumerable:!(n=$c(e,s))||n.enumerable});return t};var Tc=(t,e,r)=>(r=t!=null?_c(Cc(t)):{},xc(Bo(r,"default",{value:t,enumerable:true}),t));var Qt=$(J=>{Object.defineProperty(J,"__esModule",{value:true});J.regexpCode=J.getEsmExportName=J.getProperty=J.safeStringify=J.stringify=J.strConcat=J.addCodeArg=J.str=J._=J.nil=J._Code=J.Name=J.IDENTIFIER=J._CodeOrName=void 0;var Yt=class{};J._CodeOrName=Yt;J.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var lt=class extends Yt{constructor(e){if(super(),!J.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e;}toString(){return this.str}emptyStr(){return false}get names(){return {[this.str]:1}}};J.Name=lt;var Ee=class extends Yt{constructor(e){super(),this._items=typeof e=="string"?[e]:e;}toString(){return this.str}emptyStr(){if(this._items.length>1)return false;let e=this._items[0];return e===""||e==='""'}get str(){var e;return (e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var e;return (e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((r,n)=>(n instanceof lt&&(r[n.str]=(r[n.str]||0)+1),r),{})}};J._Code=Ee;J.nil=new Ee("");function da(t,...e){let r=[t[0]],n=0;for(;n<e.length;)Gn(r,e[n]),r.push(t[++n]);return new Ee(r)}J._=da;var Bn=new Ee("+");function la(t,...e){let r=[Xt(t[0])],n=0;for(;n<e.length;)r.push(Bn),Gn(r,e[n]),r.push(Bn,Xt(t[++n]));return td(r),new Ee(r)}J.str=la;function Gn(t,e){e instanceof Ee?t.push(...e._items):e instanceof lt?t.push(e):t.push(sd(e));}J.addCodeArg=Gn;function td(t){let e=1;for(;e<t.length-1;){if(t[e]===Bn){let r=rd(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+";}e++;}}function rd(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof lt||t[t.length-1]!=='"'?void 0:typeof e!="string"?`${t.slice(0,-1)}${e}"`:e[0]==='"'?t.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(t instanceof lt))return `"${t}${e.slice(1)}`}function nd(t,e){return e.emptyStr()?t:t.emptyStr()?e:la`${t}${e}`}J.strConcat=nd;function sd(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:Xt(Array.isArray(t)?t.join(","):t)}function od(t){return new Ee(Xt(t))}J.stringify=od;function Xt(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}J.safeStringify=Xt;function ad(t){return typeof t=="string"&&J.IDENTIFIER.test(t)?new Ee(`.${t}`):da`[${t}]`}J.getProperty=ad;function id(t){if(typeof t=="string"&&J.IDENTIFIER.test(t))return new Ee(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}J.getEsmExportName=id;function ud(t){return new Ee(t.toString())}J.regexpCode=ud;});var Jn=$(we=>{Object.defineProperty(we,"__esModule",{value:true});we.ValueScope=we.ValueScopeName=we.Scope=we.varKinds=we.UsedValueState=void 0;var Se=Qt(),Kn=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value;}},Mr;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed";})(Mr||(we.UsedValueState=Mr={}));we.varKinds={const:new Se.Name("const"),let:new Se.Name("let"),var:new Se.Name("var")};var Lr=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r;}toName(e){return e instanceof Se.Name?e:this.name(e)}name(e){return new Se.Name(this._newName(e))}_newName(e){let r=this._names[e]||this._nameGroup(e);return `${e}${r.index++}`}_nameGroup(e){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};we.Scope=Lr;var Vr=class extends Se.Name{constructor(e,r){super(r),this.prefix=e;}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0, Se._)`.${new Se.Name(r)}[${n}]`;}};we.ValueScopeName=Vr;var cd=(0, Se._)`\n`,Un=class extends Lr{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?cd:Se.nil};}get(){return this._scope}name(e){return new Vr(e,this._newName(e))}value(e,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let s=this.toName(e),{prefix:o}=s,a=(n=r.key)!==null&&n!==void 0?n:r.ref,i=this._values[o];if(i){let d=i.get(a);if(d)return d}else i=this._values[o]=new Map;i.set(a,s);let u=this._scope[o]||(this._scope[o]=[]),c=u.length;return u[c]=r.ref,s.setValue(r,{property:o,itemIndex:c}),s}getValue(e,r){let n=this._values[e];if(n)return n.get(r)}scopeRefs(e,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return (0, Se._)`${e}${n.scopePath}`})}scopeCode(e=this._values,r,n){return this._reduceValues(e,s=>{if(s.value===void 0)throw new Error(`CodeGen: name "${s}" has no value`);return s.value.code},r,n)}_reduceValues(e,r,n={},s){let o=Se.nil;for(let a in e){let i=e[a];if(!i)continue;let u=n[a]=n[a]||new Map;i.forEach(c=>{if(u.has(c))return;u.set(c,Mr.Started);let d=r(c);if(d){let f=this.opts.es5?we.varKinds.var:we.varKinds.const;o=(0, Se._)`${o}${f} ${c} = ${d};${this.opts._n}`;}else if(d=s?.(c))o=(0, Se._)`${o}${d}${this.opts._n}`;else throw new Kn(c);u.set(c,Mr.Completed);});}return o}};we.ValueScope=Un;});var L=$(D=>{Object.defineProperty(D,"__esModule",{value:true});D.or=D.and=D.not=D.CodeGen=D.operators=D.varKinds=D.ValueScopeName=D.ValueScope=D.Scope=D.Name=D.regexpCode=D.stringify=D.getProperty=D.nil=D.strConcat=D.str=D._=void 0;var B=Qt(),Ie=Jn(),Ye=Qt();Object.defineProperty(D,"_",{enumerable:true,get:function(){return Ye._}});Object.defineProperty(D,"str",{enumerable:true,get:function(){return Ye.str}});Object.defineProperty(D,"strConcat",{enumerable:true,get:function(){return Ye.strConcat}});Object.defineProperty(D,"nil",{enumerable:true,get:function(){return Ye.nil}});Object.defineProperty(D,"getProperty",{enumerable:true,get:function(){return Ye.getProperty}});Object.defineProperty(D,"stringify",{enumerable:true,get:function(){return Ye.stringify}});Object.defineProperty(D,"regexpCode",{enumerable:true,get:function(){return Ye.regexpCode}});Object.defineProperty(D,"Name",{enumerable:true,get:function(){return Ye.Name}});var Ur=Jn();Object.defineProperty(D,"Scope",{enumerable:true,get:function(){return Ur.Scope}});Object.defineProperty(D,"ValueScope",{enumerable:true,get:function(){return Ur.ValueScope}});Object.defineProperty(D,"ValueScopeName",{enumerable:true,get:function(){return Ur.ValueScopeName}});Object.defineProperty(D,"varKinds",{enumerable:true,get:function(){return Ur.varKinds}});D.operators={GT:new B._Code(">"),GTE:new B._Code(">="),LT:new B._Code("<"),LTE:new B._Code("<="),EQ:new B._Code("==="),NEQ:new B._Code("!=="),NOT:new B._Code("!"),OR:new B._Code("||"),AND:new B._Code("&&"),ADD:new B._Code("+")};var Be=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},Hn=class extends Be{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n;}render({es5:e,_n:r}){let n=e?Ie.varKinds.var:this.varKind,s=this.rhs===void 0?"":` = ${this.rhs}`;return `${n} ${this.name}${s};`+r}optimizeNames(e,r){if(e[this.name.str])return this.rhs&&(this.rhs=Et(this.rhs,e,r)),this}get names(){return this.rhs instanceof B._CodeOrName?this.rhs.names:{}}},Br=class extends Be{constructor(e,r,n){super(),this.lhs=e,this.rhs=r,this.sideEffects=n;}render({_n:e}){return `${this.lhs} = ${this.rhs};`+e}optimizeNames(e,r){if(!(this.lhs instanceof B.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=Et(this.rhs,e,r),this}get names(){let e=this.lhs instanceof B.Name?{}:{...this.lhs.names};return Kr(e,this.rhs)}},zn=class extends Br{constructor(e,r,n,s){super(e,n,s),this.op=r;}render({_n:e}){return `${this.lhs} ${this.op}= ${this.rhs};`+e}},Wn=class extends Be{constructor(e){super(),this.label=e,this.names={};}render({_n:e}){return `${this.label}:`+e}},Yn=class extends Be{constructor(e){super(),this.label=e,this.names={};}render({_n:e}){return `break${this.label?` ${this.label}`:""};`+e}},Xn=class extends Be{constructor(e){super(),this.error=e;}render({_n:e}){return `throw ${this.error};`+e}get names(){return this.error.names}},Qn=class extends Be{constructor(e){super(),this.code=e;}render({_n:e}){return `${this.code};`+e}optimizeNodes(){return `${this.code}`?this:void 0}optimizeNames(e,r){return this.code=Et(this.code,e,r),this}get names(){return this.code instanceof B._CodeOrName?this.code.names:{}}},Zt=class extends Be{constructor(e=[]){super(),this.nodes=e;}render(e){return this.nodes.reduce((r,n)=>r+n.render(e),"")}optimizeNodes(){let{nodes:e}=this,r=e.length;for(;r--;){let n=e[r].optimizeNodes();Array.isArray(n)?e.splice(r,1,...n):n?e[r]=n:e.splice(r,1);}return e.length>0?this:void 0}optimizeNames(e,r){let{nodes:n}=this,s=n.length;for(;s--;){let o=n[s];o.optimizeNames(e,r)||(dd(e,o.names),n.splice(s,1));}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>mt(e,r.names),{})}},Ge=class extends Zt{render(e){return "{"+e._n+super.render(e)+"}"+e._n}},Zn=class extends Zt{},Ct=class extends Ge{};Ct.kind="else";var ft=class t extends Ge{constructor(e,r){super(r),this.condition=e;}render(e){let r=`if(${this.condition})`+super.render(e);return this.else&&(r+="else "+this.else.render(e)),r}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===true)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new Ct(n):n;}if(r)return e===false?r instanceof t?r:r.nodes:this.nodes.length?this:new t(fa(e),r instanceof t?[r]:r.nodes);if(!(e===false||!this.nodes.length))return this}optimizeNames(e,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(e,r),!!(super.optimizeNames(e,r)||this.else))return this.condition=Et(this.condition,e,r),this}get names(){let e=super.names;return Kr(e,this.condition),this.else&&mt(e,this.else.names),e}};ft.kind="if";var pt=class extends Ge{};pt.kind="for";var es=class extends pt{constructor(e){super(),this.iteration=e;}render(e){return `for(${this.iteration})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iteration=Et(this.iteration,e,r),this}get names(){return mt(super.names,this.iteration.names)}},ts=class extends pt{constructor(e,r,n,s){super(),this.varKind=e,this.name=r,this.from=n,this.to=s;}render(e){let r=e.es5?Ie.varKinds.var:this.varKind,{name:n,from:s,to:o}=this;return `for(${r} ${n}=${s}; ${n}<${o}; ${n}++)`+super.render(e)}get names(){let e=Kr(super.names,this.from);return Kr(e,this.to)}},Gr=class extends pt{constructor(e,r,n,s){super(),this.loop=e,this.varKind=r,this.name=n,this.iterable=s;}render(e){return `for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iterable=Et(this.iterable,e,r),this}get names(){return mt(super.names,this.iterable.names)}},er=class extends Ge{constructor(e,r,n){super(),this.name=e,this.args=r,this.async=n;}render(e){return `${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};er.kind="func";var tr=class extends Zt{render(e){return "return "+super.render(e)}};tr.kind="return";var rs=class extends Ge{render(e){let r="try"+super.render(e);return this.catch&&(r+=this.catch.render(e)),this.finally&&(r+=this.finally.render(e)),r}optimizeNodes(){var e,r;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(e,r){var n,s;return super.optimizeNames(e,r),(n=this.catch)===null||n===void 0||n.optimizeNames(e,r),(s=this.finally)===null||s===void 0||s.optimizeNames(e,r),this}get names(){let e=super.names;return this.catch&&mt(e,this.catch.names),this.finally&&mt(e,this.finally.names),e}},rr=class extends Ge{constructor(e){super(),this.error=e;}render(e){return `catch(${this.error})`+super.render(e)}};rr.kind="catch";var nr=class extends Ge{render(e){return "finally"+super.render(e)}};nr.kind="finally";var ns=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
3
+ `:""},this._extScope=e,this._scope=new Ie.Scope({parent:e}),this._nodes=[new Zn];}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let n=this._extScope.value(e,r);return (this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,r){return this._extScope.getValue(e,r)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,r,n,s){let o=this._scope.toName(r);return n!==void 0&&s&&(this._constants[o.str]=n),this._leafNode(new Hn(e,o,n)),o}const(e,r,n){return this._def(Ie.varKinds.const,e,r,n)}let(e,r,n){return this._def(Ie.varKinds.let,e,r,n)}var(e,r,n){return this._def(Ie.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new Br(e,r,n))}add(e,r){return this._leafNode(new zn(e,D.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==B.nil&&this._leafNode(new Qn(e)),this}object(...e){let r=["{"];for(let[n,s]of e)r.length>1&&r.push(","),r.push(n),(n!==s||this.opts.es5)&&(r.push(":"),(0, B.addCodeArg)(r,s));return r.push("}"),new B._Code(r)}if(e,r,n){if(this._blockNode(new ft(e)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new ft(e))}else(){return this._elseNode(new Ct)}endIf(){return this._endBlockNode(ft,Ct)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new es(e),r)}forRange(e,r,n,s,o=this.opts.es5?Ie.varKinds.var:Ie.varKinds.let){let a=this._scope.toName(e);return this._for(new ts(o,a,r,n),()=>s(a))}forOf(e,r,n,s=Ie.varKinds.const){let o=this._scope.toName(e);if(this.opts.es5){let a=r instanceof B.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0, B._)`${a}.length`,i=>{this.var(o,(0, B._)`${a}[${i}]`),n(o);})}return this._for(new Gr("of",s,o,r),()=>n(o))}forIn(e,r,n,s=this.opts.es5?Ie.varKinds.var:Ie.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0, B._)`Object.keys(${r})`,n);let o=this._scope.toName(e);return this._for(new Gr("in",s,o,r),()=>n(o))}endFor(){return this._endBlockNode(pt)}label(e){return this._leafNode(new Wn(e))}break(e){return this._leafNode(new Yn(e))}return(e){let r=new tr;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(tr)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let s=new rs;if(this._blockNode(s),this.code(e),r){let o=this.name("e");this._currNode=s.catch=new rr(o),r(o);}return n&&(this._currNode=s.finally=new nr,this.code(n)),this._endBlockNode(rr,nr)}throw(e){return this._leafNode(new Xn(e))}block(e,r){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(r),this}endBlock(e){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||e!==void 0&&n!==e)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=r,this}func(e,r=B.nil,n,s){return this._blockNode(new er(e,r,n)),s&&this.code(s).endFunc(),this}endFunc(){return this._endBlockNode(er)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants);}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e);}_endBlockNode(e,r){let n=this._currNode;if(n instanceof e||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${e.kind}/${r.kind}`:e.kind}"`)}_elseNode(e){let r=this._currNode;if(!(r instanceof ft))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let r=this._nodes;r[r.length-1]=e;}};D.CodeGen=ns;function mt(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function Kr(t,e){return e instanceof B._CodeOrName?mt(t,e.names):t}function Et(t,e,r){if(t instanceof B.Name)return n(t);if(!s(t))return t;return new B._Code(t._items.reduce((o,a)=>(a instanceof B.Name&&(a=n(a)),a instanceof B._Code?o.push(...a._items):o.push(a),o),[]));function n(o){let a=r[o.str];return a===void 0||e[o.str]!==1?o:(delete e[o.str],a)}function s(o){return o instanceof B._Code&&o._items.some(a=>a instanceof B.Name&&e[a.str]===1&&r[a.str]!==void 0)}}function dd(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0);}function fa(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0, B._)`!${ss(t)}`}D.not=fa;var ld=pa(D.operators.AND);function fd(...t){return t.reduce(ld)}D.and=fd;var pd=pa(D.operators.OR);function md(...t){return t.reduce(pd)}D.or=md;function pa(t){return (e,r)=>e===B.nil?r:r===B.nil?e:(0, B._)`${ss(e)} ${t} ${ss(r)}`}function ss(t){return t instanceof B.Name?t:(0, B._)`(${t})`}});var K=$(V=>{Object.defineProperty(V,"__esModule",{value:true});V.checkStrictMode=V.getErrorPath=V.Type=V.useFunc=V.setEvaluated=V.evaluatedPropsToName=V.mergeEvaluated=V.eachItem=V.unescapeJsonPointer=V.escapeJsonPointer=V.escapeFragment=V.unescapeFragment=V.schemaRefOrVal=V.schemaHasRulesButRef=V.schemaHasRules=V.checkUnknownRules=V.alwaysValidSchema=V.toHash=void 0;var Y=L(),hd=Qt();function gd(t){let e={};for(let r of t)e[r]=true;return e}V.toHash=gd;function yd(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?true:(ga(t,e),!ya(e,t.self.RULES.all))}V.alwaysValidSchema=yd;function ga(t,e=t.schema){let{opts:r,self:n}=t;if(!r.strictSchema||typeof e=="boolean")return;let s=n.RULES.keywords;for(let o in e)s[o]||Sa(t,`unknown keyword: "${o}"`);}V.checkUnknownRules=ga;function ya(t,e){if(typeof t=="boolean")return !t;for(let r in t)if(e[r])return true;return false}V.schemaHasRules=ya;function vd(t,e){if(typeof t=="boolean")return !t;for(let r in t)if(r!=="$ref"&&e.all[r])return true;return false}V.schemaHasRulesButRef=vd;function bd({topSchemaRef:t,schemaPath:e},r,n,s){if(!s){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return (0, Y._)`${r}`}return (0, Y._)`${t}${e}${(0, Y.getProperty)(n)}`}V.schemaRefOrVal=bd;function Sd(t){return va(decodeURIComponent(t))}V.unescapeFragment=Sd;function wd(t){return encodeURIComponent(as(t))}V.escapeFragment=wd;function as(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}V.escapeJsonPointer=as;function va(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}V.unescapeJsonPointer=va;function kd(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t);}V.eachItem=kd;function ma({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return (s,o,a,i)=>{let u=a===void 0?o:a instanceof Y.Name?(o instanceof Y.Name?t(s,o,a):e(s,o,a),a):o instanceof Y.Name?(e(s,a,o),o):r(o,a);return i===Y.Name&&!(u instanceof Y.Name)?n(s,u):u}}V.mergeEvaluated={props:ma({mergeNames:(t,e,r)=>t.if((0, Y._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0, Y._)`${e} === true`,()=>t.assign(r,true),()=>t.assign(r,(0, Y._)`${r} || {}`).code((0, Y._)`Object.assign(${r}, ${e})`));}),mergeToName:(t,e,r)=>t.if((0, Y._)`${r} !== true`,()=>{e===true?t.assign(r,true):(t.assign(r,(0, Y._)`${r} || {}`),is(t,r,e));}),mergeValues:(t,e)=>t===true?true:{...t,...e},resultToName:ba}),items:ma({mergeNames:(t,e,r)=>t.if((0, Y._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0, Y._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0, Y._)`${r} !== true`,()=>t.assign(r,e===true?true:(0, Y._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===true?true:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function ba(t,e){if(e===true)return t.var("props",true);let r=t.var("props",(0, Y._)`{}`);return e!==void 0&&is(t,r,e),r}V.evaluatedPropsToName=ba;function is(t,e,r){Object.keys(r).forEach(n=>t.assign((0, Y._)`${e}${(0, Y.getProperty)(n)}`,true));}V.setEvaluated=is;var ha={};function _d(t,e){return t.scopeValue("func",{ref:e,code:ha[e.code]||(ha[e.code]=new hd._Code(e.code))})}V.useFunc=_d;var os;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str";})(os||(V.Type=os={}));function $d(t,e,r){if(t instanceof Y.Name){let n=e===os.Num;return r?n?(0, Y._)`"[" + ${t} + "]"`:(0, Y._)`"['" + ${t} + "']"`:n?(0, Y._)`"/" + ${t}`:(0, Y._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0, Y.getProperty)(t).toString():"/"+as(t)}V.getErrorPath=$d;function Sa(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===true)throw new Error(e);t.self.logger.warn(e);}}V.checkStrictMode=Sa;});var Ke=$(us=>{Object.defineProperty(us,"__esModule",{value:true});var fe=L(),Rd={data:new fe.Name("data"),valCxt:new fe.Name("valCxt"),instancePath:new fe.Name("instancePath"),parentData:new fe.Name("parentData"),parentDataProperty:new fe.Name("parentDataProperty"),rootData:new fe.Name("rootData"),dynamicAnchors:new fe.Name("dynamicAnchors"),vErrors:new fe.Name("vErrors"),errors:new fe.Name("errors"),this:new fe.Name("this"),self:new fe.Name("self"),scope:new fe.Name("scope"),json:new fe.Name("json"),jsonPos:new fe.Name("jsonPos"),jsonLen:new fe.Name("jsonLen"),jsonPart:new fe.Name("jsonPart")};us.default=Rd;});var sr=$(pe=>{Object.defineProperty(pe,"__esModule",{value:true});pe.extendErrors=pe.resetErrorsCount=pe.reportExtraError=pe.reportError=pe.keyword$DataError=pe.keywordError=void 0;var U=L(),Jr=K(),ge=Ke();pe.keywordError={message:({keyword:t})=>(0, U.str)`must pass "${t}" keyword validation`};pe.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0, U.str)`"${t}" keyword must be ${e} ($data)`:(0, U.str)`"${t}" keyword is invalid ($data)`};function Cd(t,e=pe.keywordError,r,n){let{it:s}=t,{gen:o,compositeRule:a,allErrors:i}=s,u=_a(t,e,r);n??(a||i)?wa(o,u):ka(s,(0, U._)`[${u}]`);}pe.reportError=Cd;function Ed(t,e=pe.keywordError,r){let{it:n}=t,{gen:s,compositeRule:o,allErrors:a}=n,i=_a(t,e,r);wa(s,i),o||a||ka(n,ge.default.vErrors);}pe.reportExtraError=Ed;function xd(t,e){t.assign(ge.default.errors,e),t.if((0, U._)`${ge.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0, U._)`${ge.default.vErrors}.length`,e),()=>t.assign(ge.default.vErrors,null)));}pe.resetErrorsCount=xd;function Td({gen:t,keyword:e,schemaValue:r,data:n,errsCount:s,it:o}){if(s===void 0)throw new Error("ajv implementation error");let a=t.name("err");t.forRange("i",s,ge.default.errors,i=>{t.const(a,(0, U._)`${ge.default.vErrors}[${i}]`),t.if((0, U._)`${a}.instancePath === undefined`,()=>t.assign((0, U._)`${a}.instancePath`,(0, U.strConcat)(ge.default.instancePath,o.errorPath))),t.assign((0, U._)`${a}.schemaPath`,(0, U.str)`${o.errSchemaPath}/${e}`),o.opts.verbose&&(t.assign((0, U._)`${a}.schema`,r),t.assign((0, U._)`${a}.data`,n));});}pe.extendErrors=Td;function wa(t,e){let r=t.const("err",e);t.if((0, U._)`${ge.default.vErrors} === null`,()=>t.assign(ge.default.vErrors,(0, U._)`[${r}]`),(0, U._)`${ge.default.vErrors}.push(${r})`),t.code((0, U._)`${ge.default.errors}++`);}function ka(t,e){let{gen:r,validateName:n,schemaEnv:s}=t;s.$async?r.throw((0, U._)`new ${t.ValidationError}(${e})`):(r.assign((0, U._)`${n}.errors`,e),r.return(false));}var ht={keyword:new U.Name("keyword"),schemaPath:new U.Name("schemaPath"),params:new U.Name("params"),propertyName:new U.Name("propertyName"),message:new U.Name("message"),schema:new U.Name("schema"),parentSchema:new U.Name("parentSchema")};function _a(t,e,r){let{createErrors:n}=t.it;return n===false?(0, U._)`{}`:Ad(t,e,r)}function Ad(t,e,r={}){let{gen:n,it:s}=t,o=[Id(s,r),Pd(t,r)];return Od(t,e,o),n.object(...o)}function Id({errorPath:t},{instancePath:e}){let r=e?(0, U.str)`${t}${(0, Jr.getErrorPath)(e,Jr.Type.Str)}`:t;return [ge.default.instancePath,(0, U.strConcat)(ge.default.instancePath,r)]}function Pd({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let s=n?e:(0, U.str)`${e}/${t}`;return r&&(s=(0, U.str)`${s}${(0, Jr.getErrorPath)(r,Jr.Type.Str)}`),[ht.schemaPath,s]}function Od(t,{params:e,message:r},n){let{keyword:s,data:o,schemaValue:a,it:i}=t,{opts:u,propertyName:c,topSchemaRef:d,schemaPath:f}=i;n.push([ht.keyword,s],[ht.params,typeof e=="function"?e(t):e||(0, U._)`{}`]),u.messages&&n.push([ht.message,typeof r=="function"?r(t):r]),u.verbose&&n.push([ht.schema,a],[ht.parentSchema,(0, U._)`${d}${f}`],[ge.default.data,o]),c&&n.push([ht.propertyName,c]);}});var Ra=$(xt=>{Object.defineProperty(xt,"__esModule",{value:true});xt.boolOrEmptySchema=xt.topBoolOrEmptySchema=void 0;var jd=sr(),Nd=L(),qd=Ke(),Dd={message:"boolean schema is false"};function Fd(t){let{gen:e,schema:r,validateName:n}=t;r===false?$a(t,false):typeof r=="object"&&r.$async===true?e.return(qd.default.data):(e.assign((0, Nd._)`${n}.errors`,null),e.return(true));}xt.topBoolOrEmptySchema=Fd;function Md(t,e){let{gen:r,schema:n}=t;n===false?(r.var(e,false),$a(t)):r.var(e,true);}xt.boolOrEmptySchema=Md;function $a(t,e){let{gen:r,data:n}=t,s={gen:r,keyword:"false schema",data:n,schema:false,schemaCode:false,schemaValue:false,params:{},it:t};(0, jd.reportError)(s,Dd,void 0,e);}});var cs=$(Tt=>{Object.defineProperty(Tt,"__esModule",{value:true});Tt.getRules=Tt.isJSONType=void 0;var Ld=["string","number","integer","boolean","null","object","array"],Vd=new Set(Ld);function Bd(t){return typeof t=="string"&&Vd.has(t)}Tt.isJSONType=Bd;function Gd(){let t={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return {types:{...t,integer:true,boolean:true,null:true},rules:[{rules:[]},t.number,t.string,t.array,t.object],post:{rules:[]},all:{},keywords:{}}}Tt.getRules=Gd;});var ds=$(Xe=>{Object.defineProperty(Xe,"__esModule",{value:true});Xe.shouldUseRule=Xe.shouldUseGroup=Xe.schemaHasRulesForType=void 0;function Kd({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==true&&Ca(t,n)}Xe.schemaHasRulesForType=Kd;function Ca(t,e){return e.rules.some(r=>Ea(t,r))}Xe.shouldUseGroup=Ca;function Ea(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(n=>t[n]!==void 0))}Xe.shouldUseRule=Ea;});var or=$(me=>{Object.defineProperty(me,"__esModule",{value:true});me.reportTypeError=me.checkDataTypes=me.checkDataType=me.coerceAndCheckDataType=me.getJSONTypes=me.getSchemaTypes=me.DataType=void 0;var Ud=cs(),Jd=ds(),Hd=sr(),N=L(),xa=K(),At;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong";})(At||(me.DataType=At={}));function zd(t){let e=Ta(t.type);if(e.includes("null")){if(t.nullable===false)throw new Error("type: null contradicts nullable: false")}else {if(!e.length&&t.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');t.nullable===true&&e.push("null");}return e}me.getSchemaTypes=zd;function Ta(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(Ud.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}me.getJSONTypes=Ta;function Wd(t,e){let{gen:r,data:n,opts:s}=t,o=Yd(e,s.coerceTypes),a=e.length>0&&!(o.length===0&&e.length===1&&(0, Jd.schemaHasRulesForType)(t,e[0]));if(a){let i=fs(e,n,s.strictNumbers,At.Wrong);r.if(i,()=>{o.length?Xd(t,e,o):ps(t);});}return a}me.coerceAndCheckDataType=Wd;var Aa=new Set(["string","number","integer","boolean","null"]);function Yd(t,e){return e?t.filter(r=>Aa.has(r)||e==="array"&&r==="array"):[]}function Xd(t,e,r){let{gen:n,data:s,opts:o}=t,a=n.let("dataType",(0, N._)`typeof ${s}`),i=n.let("coerced",(0, N._)`undefined`);o.coerceTypes==="array"&&n.if((0, N._)`${a} == 'object' && Array.isArray(${s}) && ${s}.length == 1`,()=>n.assign(s,(0, N._)`${s}[0]`).assign(a,(0, N._)`typeof ${s}`).if(fs(e,s,o.strictNumbers),()=>n.assign(i,s))),n.if((0, N._)`${i} !== undefined`);for(let c of r)(Aa.has(c)||c==="array"&&o.coerceTypes==="array")&&u(c);n.else(),ps(t),n.endIf(),n.if((0, N._)`${i} !== undefined`,()=>{n.assign(s,i),Qd(t,i);});function u(c){switch(c){case "string":n.elseIf((0, N._)`${a} == "number" || ${a} == "boolean"`).assign(i,(0, N._)`"" + ${s}`).elseIf((0, N._)`${s} === null`).assign(i,(0, N._)`""`);return;case "number":n.elseIf((0, N._)`${a} == "boolean" || ${s} === null
4
+ || (${a} == "string" && ${s} && ${s} == +${s})`).assign(i,(0, N._)`+${s}`);return;case "integer":n.elseIf((0, N._)`${a} === "boolean" || ${s} === null
5
+ || (${a} === "string" && ${s} && ${s} == +${s} && !(${s} % 1))`).assign(i,(0, N._)`+${s}`);return;case "boolean":n.elseIf((0, N._)`${s} === "false" || ${s} === 0 || ${s} === null`).assign(i,false).elseIf((0, N._)`${s} === "true" || ${s} === 1`).assign(i,true);return;case "null":n.elseIf((0, N._)`${s} === "" || ${s} === 0 || ${s} === false`),n.assign(i,null);return;case "array":n.elseIf((0, N._)`${a} === "string" || ${a} === "number"
6
+ || ${a} === "boolean" || ${s} === null`).assign(i,(0, N._)`[${s}]`);}}}function Qd({gen:t,parentData:e,parentDataProperty:r},n){t.if((0, N._)`${e} !== undefined`,()=>t.assign((0, N._)`${e}[${r}]`,n));}function ls(t,e,r,n=At.Correct){let s=n===At.Correct?N.operators.EQ:N.operators.NEQ,o;switch(t){case "null":return (0, N._)`${e} ${s} null`;case "array":o=(0, N._)`Array.isArray(${e})`;break;case "object":o=(0, N._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case "integer":o=a((0, N._)`!(${e} % 1) && !isNaN(${e})`);break;case "number":o=a();break;default:return (0, N._)`typeof ${e} ${s} ${t}`}return n===At.Correct?o:(0, N.not)(o);function a(i=N.nil){return (0, N.and)((0, N._)`typeof ${e} == "number"`,i,r?(0, N._)`isFinite(${e})`:N.nil)}}me.checkDataType=ls;function fs(t,e,r,n){if(t.length===1)return ls(t[0],e,r,n);let s,o=(0, xa.toHash)(t);if(o.array&&o.object){let a=(0, N._)`typeof ${e} != "object"`;s=o.null?a:(0, N._)`!${e} || ${a}`,delete o.null,delete o.array,delete o.object;}else s=N.nil;o.number&&delete o.integer;for(let a in o)s=(0, N.and)(s,ls(a,e,r,n));return s}me.checkDataTypes=fs;var Zd={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0, N._)`{type: ${t}}`:(0, N._)`{type: ${e}}`};function ps(t){let e=el(t);(0, Hd.reportError)(e,Zd);}me.reportTypeError=ps;function el(t){let{gen:e,data:r,schema:n}=t,s=(0, xa.schemaRefOrVal)(t,n,"type");return {gen:e,keyword:"type",data:r,schema:n.type,schemaCode:s,schemaValue:s,parentSchema:n,params:{},it:t}}});var Pa=$(Hr=>{Object.defineProperty(Hr,"__esModule",{value:true});Hr.assignDefaults=void 0;var It=L(),tl=K();function rl(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let s in r)Ia(t,s,r[s].default);else e==="array"&&Array.isArray(n)&&n.forEach((s,o)=>Ia(t,o,s.default));}Hr.assignDefaults=rl;function Ia(t,e,r){let{gen:n,compositeRule:s,data:o,opts:a}=t;if(r===void 0)return;let i=(0, It._)`${o}${(0, It.getProperty)(e)}`;if(s){(0, tl.checkStrictMode)(t,`default is ignored for: ${i}`);return}let u=(0, It._)`${i} === undefined`;a.useDefaults==="empty"&&(u=(0, It._)`${u} || ${i} === null || ${i} === ""`),n.if(u,(0, It._)`${i} = ${(0, It.stringify)(r)}`);}});var xe=$(W=>{Object.defineProperty(W,"__esModule",{value:true});W.validateUnion=W.validateArray=W.usePattern=W.callValidateCode=W.schemaProperties=W.allSchemaProperties=W.noPropertyInData=W.propertyInData=W.isOwnProperty=W.hasPropFunc=W.reportMissingProp=W.checkMissingProp=W.checkReportMissingProp=void 0;var Q=L(),ms=K(),Qe=Ke(),nl=K();function sl(t,e){let{gen:r,data:n,it:s}=t;r.if(gs(r,n,e,s.opts.ownProperties),()=>{t.setParams({missingProperty:(0, Q._)`${e}`},true),t.error();});}W.checkReportMissingProp=sl;function ol({gen:t,data:e,it:{opts:r}},n,s){return (0, Q.or)(...n.map(o=>(0, Q.and)(gs(t,e,o,r.ownProperties),(0, Q._)`${s} = ${o}`)))}W.checkMissingProp=ol;function al(t,e){t.setParams({missingProperty:e},true),t.error();}W.reportMissingProp=al;function Oa(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0, Q._)`Object.prototype.hasOwnProperty`})}W.hasPropFunc=Oa;function hs(t,e,r){return (0, Q._)`${Oa(t)}.call(${e}, ${r})`}W.isOwnProperty=hs;function il(t,e,r,n){let s=(0, Q._)`${e}${(0, Q.getProperty)(r)} !== undefined`;return n?(0, Q._)`${s} && ${hs(t,e,r)}`:s}W.propertyInData=il;function gs(t,e,r,n){let s=(0, Q._)`${e}${(0, Q.getProperty)(r)} === undefined`;return n?(0, Q.or)(s,(0, Q.not)(hs(t,e,r))):s}W.noPropertyInData=gs;function ja(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}W.allSchemaProperties=ja;function ul(t,e){return ja(e).filter(r=>!(0, ms.alwaysValidSchema)(t,e[r]))}W.schemaProperties=ul;function cl({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:s,errorPath:o},it:a},i,u,c){let d=c?(0, Q._)`${t}, ${e}, ${n}${s}`:e,f=[[Qe.default.instancePath,(0, Q.strConcat)(Qe.default.instancePath,o)],[Qe.default.parentData,a.parentData],[Qe.default.parentDataProperty,a.parentDataProperty],[Qe.default.rootData,Qe.default.rootData]];a.opts.dynamicRef&&f.push([Qe.default.dynamicAnchors,Qe.default.dynamicAnchors]);let b=(0, Q._)`${d}, ${r.object(...f)}`;return u!==Q.nil?(0, Q._)`${i}.call(${u}, ${b})`:(0, Q._)`${i}(${b})`}W.callValidateCode=cl;var dl=(0, Q._)`new RegExp`;function ll({gen:t,it:{opts:e}},r){let n=e.unicodeRegExp?"u":"",{regExp:s}=e.code,o=s(r,n);return t.scopeValue("pattern",{key:o.toString(),ref:o,code:(0, Q._)`${s.code==="new RegExp"?dl:(0, nl.useFunc)(t,s)}(${r}, ${n})`})}W.usePattern=ll;function fl(t){let{gen:e,data:r,keyword:n,it:s}=t,o=e.name("valid");if(s.allErrors){let i=e.let("valid",true);return a(()=>e.assign(i,false)),i}return e.var(o,true),a(()=>e.break()),o;function a(i){let u=e.const("len",(0, Q._)`${r}.length`);e.forRange("i",0,u,c=>{t.subschema({keyword:n,dataProp:c,dataPropType:ms.Type.Num},o),e.if((0, Q.not)(o),i);});}}W.validateArray=fl;function pl(t){let{gen:e,schema:r,keyword:n,it:s}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(u=>(0, ms.alwaysValidSchema)(s,u))&&!s.opts.unevaluated)return;let a=e.let("valid",false),i=e.name("_valid");e.block(()=>r.forEach((u,c)=>{let d=t.subschema({keyword:n,schemaProp:c,compositeRule:true},i);e.assign(a,(0, Q._)`${a} || ${i}`),t.mergeValidEvaluated(d,i)||e.if((0, Q.not)(a));})),t.result(a,()=>t.reset(),()=>t.error(true));}W.validateUnion=pl;});var Da=$(qe=>{Object.defineProperty(qe,"__esModule",{value:true});qe.validateKeywordUsage=qe.validSchemaType=qe.funcKeywordCode=qe.macroKeywordCode=void 0;var ye=L(),gt=Ke(),ml=xe(),hl=sr();function gl(t,e){let{gen:r,keyword:n,schema:s,parentSchema:o,it:a}=t,i=e.macro.call(a.self,s,o,a),u=qa(r,n,i);a.opts.validateSchema!==false&&a.self.validateSchema(i,true);let c=r.name("valid");t.subschema({schema:i,schemaPath:ye.nil,errSchemaPath:`${a.errSchemaPath}/${n}`,topSchemaRef:u,compositeRule:true},c),t.pass(c,()=>t.error(true));}qe.macroKeywordCode=gl;function yl(t,e){var r;let{gen:n,keyword:s,schema:o,parentSchema:a,$data:i,it:u}=t;bl(u,e);let c=!i&&e.compile?e.compile.call(u.self,o,a,u):e.validate,d=qa(n,s,c),f=n.let("valid");t.block$data(f,b),t.ok((r=e.valid)!==null&&r!==void 0?r:f);function b(){if(e.errors===false)l(),e.modifying&&Na(t),m(()=>t.error());else {let y=e.async?h():p();e.modifying&&Na(t),m(()=>vl(t,y));}}function h(){let y=n.let("ruleErrs",null);return n.try(()=>l((0, ye._)`await `),g=>n.assign(f,false).if((0, ye._)`${g} instanceof ${u.ValidationError}`,()=>n.assign(y,(0, ye._)`${g}.errors`),()=>n.throw(g))),y}function p(){let y=(0, ye._)`${d}.errors`;return n.assign(y,null),l(ye.nil),y}function l(y=e.async?(0, ye._)`await `:ye.nil){let g=u.opts.passContext?gt.default.this:gt.default.self,S=!("compile"in e&&!i||e.schema===false);n.assign(f,(0, ye._)`${y}${(0, ml.callValidateCode)(t,d,g,S)}`,e.modifying);}function m(y){var g;n.if((0, ye.not)((g=e.valid)!==null&&g!==void 0?g:f),y);}}qe.funcKeywordCode=yl;function Na(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0, ye._)`${n.parentData}[${n.parentDataProperty}]`));}function vl(t,e){let{gen:r}=t;r.if((0, ye._)`Array.isArray(${e})`,()=>{r.assign(gt.default.vErrors,(0, ye._)`${gt.default.vErrors} === null ? ${e} : ${gt.default.vErrors}.concat(${e})`).assign(gt.default.errors,(0, ye._)`${gt.default.vErrors}.length`),(0, hl.extendErrors)(t);},()=>t.error());}function bl({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function qa(t,e,r){if(r===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0, ye.stringify)(r)})}function Sl(t,e,r=false){return !e.length||e.some(n=>n==="array"?Array.isArray(t):n==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==n||r&&typeof t>"u")}qe.validSchemaType=Sl;function wl({schema:t,opts:e,self:r,errSchemaPath:n},s,o){if(Array.isArray(s.keyword)?!s.keyword.includes(o):s.keyword!==o)throw new Error("ajv implementation error");let a=s.dependencies;if(a?.some(i=>!Object.prototype.hasOwnProperty.call(t,i)))throw new Error(`parent schema must have dependencies of ${o}: ${a.join(",")}`);if(s.validateSchema&&!s.validateSchema(t[o])){let u=`keyword "${o}" value is invalid at path "${n}": `+r.errorsText(s.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(u);else throw new Error(u)}}qe.validateKeywordUsage=wl;});var Ma=$(Ze=>{Object.defineProperty(Ze,"__esModule",{value:true});Ze.extendSubschemaMode=Ze.extendSubschemaData=Ze.getSubschema=void 0;var De=L(),Fa=K();function kl(t,{keyword:e,schemaProp:r,schema:n,schemaPath:s,errSchemaPath:o,topSchemaRef:a}){if(e!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let i=t.schema[e];return r===void 0?{schema:i,schemaPath:(0, De._)`${t.schemaPath}${(0, De.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:i[r],schemaPath:(0, De._)`${t.schemaPath}${(0, De.getProperty)(e)}${(0, De.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0, Fa.escapeFragment)(r)}`}}if(n!==void 0){if(s===void 0||o===void 0||a===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return {schema:n,schemaPath:s,topSchemaRef:a,errSchemaPath:o}}throw new Error('either "keyword" or "schema" must be passed')}Ze.getSubschema=kl;function _l(t,e,{dataProp:r,dataPropType:n,data:s,dataTypes:o,propertyName:a}){if(s!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:i}=e;if(r!==void 0){let{errorPath:c,dataPathArr:d,opts:f}=e,b=i.let("data",(0, De._)`${e.data}${(0, De.getProperty)(r)}`,true);u(b),t.errorPath=(0, De.str)`${c}${(0, Fa.getErrorPath)(r,n,f.jsPropertySyntax)}`,t.parentDataProperty=(0, De._)`${r}`,t.dataPathArr=[...d,t.parentDataProperty];}if(s!==void 0){let c=s instanceof De.Name?s:i.let("data",s,true);u(c),a!==void 0&&(t.propertyName=a);}o&&(t.dataTypes=o);function u(c){t.data=c,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,c];}}Ze.extendSubschemaData=_l;function $l(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:n,createErrors:s,allErrors:o}){n!==void 0&&(t.compositeRule=n),s!==void 0&&(t.createErrors=s),o!==void 0&&(t.allErrors=o),t.jtdDiscriminator=e,t.jtdMetadata=r;}Ze.extendSubschemaMode=$l;});var ys=$((oy,La)=>{La.exports=function t(e,r){if(e===r)return true;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return false;var n,s,o;if(Array.isArray(e)){if(n=e.length,n!=r.length)return false;for(s=n;s--!==0;)if(!t(e[s],r[s]))return false;return true}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(o=Object.keys(e),n=o.length,n!==Object.keys(r).length)return false;for(s=n;s--!==0;)if(!Object.prototype.hasOwnProperty.call(r,o[s]))return false;for(s=n;s--!==0;){var a=o[s];if(!t(e[a],r[a]))return false}return true}return e!==e&&r!==r};});var Ba=$((ay,Va)=>{var et=Va.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var n=typeof r=="function"?r:r.pre||function(){},s=r.post||function(){};zr(e,n,s,t,"",t);};et.keywords={additionalItems:true,items:true,contains:true,additionalProperties:true,propertyNames:true,not:true,if:true,then:true,else:true};et.arrayKeywords={items:true,allOf:true,anyOf:true,oneOf:true};et.propsKeywords={$defs:true,definitions:true,properties:true,patternProperties:true,dependencies:true};et.skipKeywords={default:true,enum:true,const:true,required:true,maximum:true,minimum:true,exclusiveMaximum:true,exclusiveMinimum:true,multipleOf:true,maxLength:true,minLength:true,pattern:true,format:true,maxItems:true,minItems:true,uniqueItems:true,maxProperties:true,minProperties:true};function zr(t,e,r,n,s,o,a,i,u,c){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,s,o,a,i,u,c);for(var d in n){var f=n[d];if(Array.isArray(f)){if(d in et.arrayKeywords)for(var b=0;b<f.length;b++)zr(t,e,r,f[b],s+"/"+d+"/"+b,o,s,d,n,b);}else if(d in et.propsKeywords){if(f&&typeof f=="object")for(var h in f)zr(t,e,r,f[h],s+"/"+d+"/"+Rl(h),o,s,d,n,h);}else (d in et.keywords||t.allKeys&&!(d in et.skipKeywords))&&zr(t,e,r,f,s+"/"+d,o,s,d,n);}r(n,s,o,a,i,u,c);}}function Rl(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var ar=$(ke=>{Object.defineProperty(ke,"__esModule",{value:true});ke.getSchemaRefs=ke.resolveUrl=ke.normalizeId=ke._getFullPath=ke.getFullPath=ke.inlineRef=void 0;var Cl=K(),El=ys(),xl=Ba(),Tl=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function Al(t,e=true){return typeof t=="boolean"?true:e===true?!vs(t):e?Ga(t)<=e:false}ke.inlineRef=Al;var Il=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function vs(t){for(let e in t){if(Il.has(e))return true;let r=t[e];if(Array.isArray(r)&&r.some(vs)||typeof r=="object"&&vs(r))return true}return false}function Ga(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!Tl.has(r)&&(typeof t[r]=="object"&&(0, Cl.eachItem)(t[r],n=>e+=Ga(n)),e===1/0))return 1/0}return e}function Ka(t,e="",r){r!==false&&(e=Pt(e));let n=t.parse(e);return Ua(t,n)}ke.getFullPath=Ka;function Ua(t,e){return t.serialize(e).split("#")[0]+"#"}ke._getFullPath=Ua;var Pl=/#\/?$/;function Pt(t){return t?t.replace(Pl,""):""}ke.normalizeId=Pt;function Ol(t,e,r){return r=Pt(r),t.resolve(e,r)}ke.resolveUrl=Ol;var jl=/^[a-z_][-a-z0-9._]*$/i;function Nl(t,e){if(typeof t=="boolean")return {};let{schemaId:r,uriResolver:n}=this.opts,s=Pt(t[r]||e),o={"":s},a=Ka(n,s,false),i={},u=new Set;return xl(t,{allKeys:true},(f,b,h,p)=>{if(p===void 0)return;let l=a+b,m=o[p];typeof f[r]=="string"&&(m=y.call(this,f[r])),g.call(this,f.$anchor),g.call(this,f.$dynamicAnchor),o[b]=m;function y(S){let _=this.opts.uriResolver.resolve;if(S=Pt(m?_(m,S):S),u.has(S))throw d(S);u.add(S);let w=this.refs[S];return typeof w=="string"&&(w=this.refs[w]),typeof w=="object"?c(f,w.schema,S):S!==Pt(l)&&(S[0]==="#"?(c(f,i[S],S),i[S]=f):this.refs[S]=l),S}function g(S){if(typeof S=="string"){if(!jl.test(S))throw new Error(`invalid anchor "${S}"`);y.call(this,`#${S}`);}}}),i;function c(f,b,h){if(b!==void 0&&!El(f,b))throw d(h)}function d(f){return new Error(`reference "${f}" resolves to more than one schema`)}}ke.getSchemaRefs=Nl;});var cr=$(tt=>{Object.defineProperty(tt,"__esModule",{value:true});tt.getData=tt.KeywordCxt=tt.validateFunctionCode=void 0;var Ya=Ra(),Ja=or(),Ss=ds(),Wr=or(),ql=Pa(),ur=Da(),bs=Ma(),E=L(),I=Ke(),Dl=ar(),Ue=K(),ir=sr();function Fl(t){if(Za(t)&&(ei(t),Qa(t))){Vl(t);return}Xa(t,()=>(0, Ya.topBoolOrEmptySchema)(t));}tt.validateFunctionCode=Fl;function Xa({gen:t,validateName:e,schema:r,schemaEnv:n,opts:s},o){s.code.es5?t.func(e,(0, E._)`${I.default.data}, ${I.default.valCxt}`,n.$async,()=>{t.code((0, E._)`"use strict"; ${Ha(r,s)}`),Ll(t,s),t.code(o);}):t.func(e,(0, E._)`${I.default.data}, ${Ml(s)}`,n.$async,()=>t.code(Ha(r,s)).code(o));}function Ml(t){return (0, E._)`{${I.default.instancePath}="", ${I.default.parentData}, ${I.default.parentDataProperty}, ${I.default.rootData}=${I.default.data}${t.dynamicRef?(0, E._)`, ${I.default.dynamicAnchors}={}`:E.nil}}={}`}function Ll(t,e){t.if(I.default.valCxt,()=>{t.var(I.default.instancePath,(0, E._)`${I.default.valCxt}.${I.default.instancePath}`),t.var(I.default.parentData,(0, E._)`${I.default.valCxt}.${I.default.parentData}`),t.var(I.default.parentDataProperty,(0, E._)`${I.default.valCxt}.${I.default.parentDataProperty}`),t.var(I.default.rootData,(0, E._)`${I.default.valCxt}.${I.default.rootData}`),e.dynamicRef&&t.var(I.default.dynamicAnchors,(0, E._)`${I.default.valCxt}.${I.default.dynamicAnchors}`);},()=>{t.var(I.default.instancePath,(0, E._)`""`),t.var(I.default.parentData,(0, E._)`undefined`),t.var(I.default.parentDataProperty,(0, E._)`undefined`),t.var(I.default.rootData,I.default.data),e.dynamicRef&&t.var(I.default.dynamicAnchors,(0, E._)`{}`);});}function Vl(t){let{schema:e,opts:r,gen:n}=t;Xa(t,()=>{r.$comment&&e.$comment&&ri(t),Jl(t),n.let(I.default.vErrors,null),n.let(I.default.errors,0),r.unevaluated&&Bl(t),ti(t),Wl(t);});}function Bl(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0, E._)`${r}.evaluated`),e.if((0, E._)`${t.evaluated}.dynamicProps`,()=>e.assign((0, E._)`${t.evaluated}.props`,(0, E._)`undefined`)),e.if((0, E._)`${t.evaluated}.dynamicItems`,()=>e.assign((0, E._)`${t.evaluated}.items`,(0, E._)`undefined`));}function Ha(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0, E._)`/*# sourceURL=${r} */`:E.nil}function Gl(t,e){if(Za(t)&&(ei(t),Qa(t))){Kl(t,e);return}(0, Ya.boolOrEmptySchema)(t,e);}function Qa({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 Za(t){return typeof t.schema!="boolean"}function Kl(t,e){let{schema:r,gen:n,opts:s}=t;s.$comment&&r.$comment&&ri(t),Hl(t),zl(t);let o=n.const("_errs",I.default.errors);ti(t,o),n.var(e,(0, E._)`${o} === ${I.default.errors}`);}function ei(t){(0, Ue.checkUnknownRules)(t),Ul(t);}function ti(t,e){if(t.opts.jtd)return za(t,[],false,e);let r=(0, Ja.getSchemaTypes)(t.schema),n=(0, Ja.coerceAndCheckDataType)(t,r);za(t,r,!n,e);}function Ul(t){let{schema:e,errSchemaPath:r,opts:n,self:s}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0, Ue.schemaHasRulesButRef)(e,s.RULES)&&s.logger.warn(`$ref: keywords ignored in schema at path "${r}"`);}function Jl(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0, Ue.checkStrictMode)(t,"default is ignored in the schema root");}function Hl(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0, Dl.resolveUrl)(t.opts.uriResolver,t.baseId,e));}function zl(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function ri({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:s}){let o=r.$comment;if(s.$comment===true)t.code((0, E._)`${I.default.self}.logger.log(${o})`);else if(typeof s.$comment=="function"){let a=(0, E.str)`${n}/$comment`,i=t.scopeValue("root",{ref:e.root});t.code((0, E._)`${I.default.self}.opts.$comment(${o}, ${a}, ${i}.schema)`);}}function Wl(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:s,opts:o}=t;r.$async?e.if((0, E._)`${I.default.errors} === 0`,()=>e.return(I.default.data),()=>e.throw((0, E._)`new ${s}(${I.default.vErrors})`)):(e.assign((0, E._)`${n}.errors`,I.default.vErrors),o.unevaluated&&Yl(t),e.return((0, E._)`${I.default.errors} === 0`));}function Yl({gen:t,evaluated:e,props:r,items:n}){r instanceof E.Name&&t.assign((0, E._)`${e}.props`,r),n instanceof E.Name&&t.assign((0, E._)`${e}.items`,n);}function za(t,e,r,n){let{gen:s,schema:o,data:a,allErrors:i,opts:u,self:c}=t,{RULES:d}=c;if(o.$ref&&(u.ignoreKeywordsWithRef||!(0, Ue.schemaHasRulesButRef)(o,d))){s.block(()=>si(t,"$ref",d.all.$ref.definition));return}u.jtd||Xl(t,e),s.block(()=>{for(let b of d.rules)f(b);f(d.post);});function f(b){(0, Ss.shouldUseGroup)(o,b)&&(b.type?(s.if((0, Wr.checkDataType)(b.type,a,u.strictNumbers)),Wa(t,b),e.length===1&&e[0]===b.type&&r&&(s.else(),(0, Wr.reportTypeError)(t)),s.endIf()):Wa(t,b),i||s.if((0, E._)`${I.default.errors} === ${n||0}`));}}function Wa(t,e){let{gen:r,schema:n,opts:{useDefaults:s}}=t;s&&(0, ql.assignDefaults)(t,e.type),r.block(()=>{for(let o of e.rules)(0, Ss.shouldUseRule)(n,o)&&si(t,o.keyword,o.definition,e.type);});}function Xl(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(Ql(t,e),t.opts.allowUnionTypes||Zl(t,e),ef(t,t.dataTypes));}function Ql(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{ni(t.dataTypes,r)||ws(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`);}),rf(t,e);}}function Zl(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&ws(t,"use allowUnionTypes to allow union type keyword");}function ef(t,e){let r=t.self.RULES.all;for(let n in r){let s=r[n];if(typeof s=="object"&&(0, Ss.shouldUseRule)(t.schema,s)){let{type:o}=s.definition;o.length&&!o.some(a=>tf(e,a))&&ws(t,`missing type "${o.join(",")}" for keyword "${n}"`);}}}function tf(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function ni(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function rf(t,e){let r=[];for(let n of t.dataTypes)ni(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r;}function ws(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0, Ue.checkStrictMode)(t,e,t.opts.strictTypes);}var Yr=class{constructor(e,r,n){if((0, ur.validateKeywordUsage)(e,r,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=r.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0, Ue.schemaRefOrVal)(e,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=r,this.$data)this.schemaCode=e.gen.const("vSchema",oi(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0, ur.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==false)&&(this.errsCount=e.gen.const("_errs",I.default.errors));}result(e,r,n){this.failResult((0, E.not)(e),r,n);}failResult(e,r,n){this.gen.if(e),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else();}pass(e,r){this.failResult((0, E.not)(e),void 0,r);}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(false);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else();}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:r}=this;this.fail((0, E._)`${r} !== undefined && (${(0, E.or)(this.invalid$data(),e)})`);}error(e,r,n){if(r){this.setParams(r),this._error(e,n),this.setParams({});return}this._error(e,n);}_error(e,r){(e?ir.reportExtraError:ir.reportError)(this,this.def.error,r);}$dataError(){(0, ir.reportError)(this,this.def.$dataError||ir.keyword$DataError);}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0, ir.resetErrorsCount)(this.gen,this.errsCount);}ok(e){this.allErrors||this.gen.if(e);}setParams(e,r){r?Object.assign(this.params,e):this.params=e;}block$data(e,r,n=E.nil){this.gen.block(()=>{this.check$data(e,n),r();});}check$data(e=E.nil,r=E.nil){if(!this.$data)return;let{gen:n,schemaCode:s,schemaType:o,def:a}=this;n.if((0, E.or)((0, E._)`${s} === undefined`,r)),e!==E.nil&&n.assign(e,true),(o.length||a.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==E.nil&&n.assign(e,false)),n.else();}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:s,it:o}=this;return (0, E.or)(a(),i());function a(){if(n.length){if(!(r instanceof E.Name))throw new Error("ajv implementation error");let u=Array.isArray(n)?n:[n];return (0, E._)`${(0, Wr.checkDataTypes)(u,r,o.opts.strictNumbers,Wr.DataType.Wrong)}`}return E.nil}function i(){if(s.validateSchema){let u=e.scopeValue("validate$data",{ref:s.validateSchema});return (0, E._)`!${u}(${r})`}return E.nil}}subschema(e,r){let n=(0, bs.getSubschema)(this.it,e);(0, bs.extendSubschemaData)(n,this.it,e),(0, bs.extendSubschemaMode)(n,e);let s={...this.it,...n,items:void 0,props:void 0};return Gl(s,r),s}mergeEvaluated(e,r){let{it:n,gen:s}=this;n.opts.unevaluated&&(n.props!==true&&e.props!==void 0&&(n.props=Ue.mergeEvaluated.props(s,e.props,n.props,r)),n.items!==true&&e.items!==void 0&&(n.items=Ue.mergeEvaluated.items(s,e.items,n.items,r)));}mergeValidEvaluated(e,r){let{it:n,gen:s}=this;if(n.opts.unevaluated&&(n.props!==true||n.items!==true))return s.if(r,()=>this.mergeEvaluated(e,E.Name)),true}};tt.KeywordCxt=Yr;function si(t,e,r,n){let s=new Yr(t,r,e);"code"in r?r.code(s,n):s.$data&&r.validate?(0, ur.funcKeywordCode)(s,r):"macro"in r?(0, ur.macroKeywordCode)(s,r):(r.compile||r.validate)&&(0, ur.funcKeywordCode)(s,r);}var nf=/^\/(?:[^~]|~0|~1)*$/,sf=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function oi(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let s,o;if(t==="")return I.default.rootData;if(t[0]==="/"){if(!nf.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);s=t,o=I.default.rootData;}else {let c=sf.exec(t);if(!c)throw new Error(`Invalid JSON-pointer: ${t}`);let d=+c[1];if(s=c[2],s==="#"){if(d>=e)throw new Error(u("property/index",d));return n[e-d]}if(d>e)throw new Error(u("data",d));if(o=r[e-d],!s)return o}let a=o,i=s.split("/");for(let c of i)c&&(o=(0, E._)`${o}${(0, E.getProperty)((0, Ue.unescapeJsonPointer)(c))}`,a=(0, E._)`${a} && ${o}`);return a;function u(c,d){return `Cannot access ${c} ${d} levels up, current level is ${e}`}}tt.getData=oi;});var Xr=$(_s=>{Object.defineProperty(_s,"__esModule",{value:true});var ks=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=true;}};_s.default=ks;});var dr=$(Cs=>{Object.defineProperty(Cs,"__esModule",{value:true});var $s=ar(),Rs=class extends Error{constructor(e,r,n,s){super(s||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0, $s.resolveUrl)(e,r,n),this.missingSchema=(0, $s.normalizeId)((0, $s.getFullPath)(e,this.missingRef));}};Cs.default=Rs;});var Zr=$(Te=>{Object.defineProperty(Te,"__esModule",{value:true});Te.resolveSchema=Te.getCompilingSchema=Te.resolveRef=Te.compileSchema=Te.SchemaEnv=void 0;var Pe=L(),of=Xr(),yt=Ke(),Oe=ar(),ai=K(),af=cr(),Ot=class{constructor(e){var r;this.refs={},this.dynamicAnchors={};let n;typeof e.schema=="object"&&(n=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(r=e.baseId)!==null&&r!==void 0?r:(0, Oe.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={};}};Te.SchemaEnv=Ot;function xs(t){let e=ii.call(this,t);if(e)return e;let r=(0, Oe.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:s}=this.opts.code,{ownProperties:o}=this.opts,a=new Pe.CodeGen(this.scope,{es5:n,lines:s,ownProperties:o}),i;t.$async&&(i=a.scopeValue("Error",{ref:of.default,code:(0, Pe._)`require("ajv/dist/runtime/validation_error").default`}));let u=a.scopeName("validate");t.validateName=u;let c={gen:a,allErrors:this.opts.allErrors,data:yt.default.data,parentData:yt.default.parentData,parentDataProperty:yt.default.parentDataProperty,dataNames:[yt.default.data],dataPathArr:[Pe.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:a.scopeValue("schema",this.opts.code.source===true?{ref:t.schema,code:(0, Pe.stringify)(t.schema)}:{ref:t.schema}),validateName:u,ValidationError:i,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:Pe.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0, Pe._)`""`,opts:this.opts,self:this},d;try{this._compilations.add(t),(0,af.validateFunctionCode)(c),a.optimize(this.opts.code.optimize);let f=a.toString();d=`${a.scopeRefs(yt.default.scope)}return ${f}`,this.opts.code.process&&(d=this.opts.code.process(d,t));let h=new Function(`${yt.default.self}`,`${yt.default.scope}`,d)(this,this.scope.get());if(this.scope.value(u,{ref:h}),h.errors=null,h.schema=t.schema,h.schemaEnv=t,t.$async&&(h.$async=!0),this.opts.code.source===!0&&(h.source={validateName:u,validateCode:f,scopeValues:a._values}),this.opts.unevaluated){let{props:p,items:l}=c;h.evaluated={props:p instanceof Pe.Name?void 0:p,items:l instanceof Pe.Name?void 0:l,dynamicProps:p instanceof Pe.Name,dynamicItems:l instanceof Pe.Name},h.source&&(h.source.evaluated=(0,Pe.stringify)(h.evaluated));}return t.validate=h,t}catch(f){throw delete t.validate,delete t.validateName,d&&this.logger.error("Error compiling schema, function code:",d),f}finally{this._compilations.delete(t);}}Te.compileSchema=xs;function uf(t,e,r){var n;r=(0, Oe.resolveUrl)(this.opts.uriResolver,e,r);let s=t.refs[r];if(s)return s;let o=lf.call(this,t,r);if(o===void 0){let a=(n=t.localRefs)===null||n===void 0?void 0:n[r],{schemaId:i}=this.opts;a&&(o=new Ot({schema:a,schemaId:i,root:t,baseId:e}));}if(o!==void 0)return t.refs[r]=cf.call(this,o)}Te.resolveRef=uf;function cf(t){return (0, Oe.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:xs.call(this,t)}function ii(t){for(let e of this._compilations)if(df(e,t))return e}Te.getCompilingSchema=ii;function df(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function lf(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||Qr.call(this,t,e)}function Qr(t,e){let r=this.opts.uriResolver.parse(e),n=(0, Oe._getFullPath)(this.opts.uriResolver,r),s=(0, Oe.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===s)return Es.call(this,r,t);let o=(0, Oe.normalizeId)(n),a=this.refs[o]||this.schemas[o];if(typeof a=="string"){let i=Qr.call(this,t,a);return typeof i?.schema!="object"?void 0:Es.call(this,r,i)}if(typeof a?.schema=="object"){if(a.validate||xs.call(this,a),o===(0, Oe.normalizeId)(e)){let{schema:i}=a,{schemaId:u}=this.opts,c=i[u];return c&&(s=(0, Oe.resolveUrl)(this.opts.uriResolver,s,c)),new Ot({schema:i,schemaId:u,root:t,baseId:s})}return Es.call(this,r,a)}}Te.resolveSchema=Qr;var ff=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Es(t,{baseId:e,schema:r,root:n}){var s;if(((s=t.fragment)===null||s===void 0?void 0:s[0])!=="/")return;for(let i of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let u=r[(0, ai.unescapeFragment)(i)];if(u===void 0)return;r=u;let c=typeof r=="object"&&r[this.opts.schemaId];!ff.has(i)&&c&&(e=(0, Oe.resolveUrl)(this.opts.uriResolver,e,c));}let o;if(typeof r!="boolean"&&r.$ref&&!(0, ai.schemaHasRulesButRef)(r,this.RULES)){let i=(0, Oe.resolveUrl)(this.opts.uriResolver,e,r.$ref);o=Qr.call(this,n,i);}let{schemaId:a}=this.opts;if(o=o||new Ot({schema:r,schemaId:a,root:n,baseId:e}),o.schema!==o.root.schema)return o}});var ui=$((fy,pf)=>{pf.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:false};});var As=$((py,fi)=>{var mf=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),di=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function Ts(t){let e="",r=0,n=0;for(n=0;n<t.length;n++)if(r=t[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return "";e+=t[n];break}for(n+=1;n<t.length;n++){if(r=t[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return "";e+=t[n];}return e}var hf=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function ci(t){return t.length=0,true}function gf(t,e,r){if(t.length){let n=Ts(t);if(n!=="")e.push(n);else return r.error=true,false;t.length=0;}return true}function yf(t){let e=0,r={error:false,address:"",zone:""},n=[],s=[],o=false,a=false,i=gf;for(let u=0;u<t.length;u++){let c=t[u];if(!(c==="["||c==="]"))if(c===":"){if(o===true&&(a=true),!i(s,n,r))break;if(++e>7){r.error=true;break}u>0&&t[u-1]===":"&&(o=true),n.push(":");continue}else if(c==="%"){if(!i(s,n,r))break;i=ci;}else {s.push(c);continue}}return s.length&&(i===ci?r.zone=s.join(""):a?n.push(s.join("")):n.push(Ts(s))),r.address=n.join(""),r}function li(t){if(vf(t,":")<2)return {host:t,isIPV6:false};let e=yf(t);if(e.error)return {host:t,isIPV6:false};{let r=e.address,n=e.address;return e.zone&&(r+="%"+e.zone,n+="%25"+e.zone),{host:r,isIPV6:true,escapedHost:n}}}function vf(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}function bf(t){let e=t,r=[],n=-1,s=0;for(;s=e.length;){if(s===1){if(e===".")break;if(e==="/"){r.push("/");break}else {r.push(e);break}}else if(s===2){if(e[0]==="."){if(e[1]===".")break;if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&(e[1]==="."||e[1]==="/")){r.push("/");break}}else if(s===3&&e==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(e[0]==="."){if(e[1]==="."){if(e[2]==="/"){e=e.slice(3);continue}}else if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&e[1]==="."){if(e[2]==="/"){e=e.slice(2);continue}else if(e[2]==="."&&e[3]==="/"){e=e.slice(3),r.length!==0&&r.pop();continue}}if((n=e.indexOf("/",1))===-1){r.push(e);break}else r.push(e.slice(0,n)),e=e.slice(n);}return r.join("")}function Sf(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 wf(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!di(r)){let n=li(r);n.isIPV6===true?r=`[${n.escapedHost}]`:r=t.host;}e.push(r);}return (typeof t.port=="number"||typeof t.port=="string")&&(e.push(":"),e.push(String(t.port))),e.length?e.join(""):void 0}fi.exports={nonSimpleDomain:hf,recomposeAuthority:wf,normalizeComponentEncoding:Sf,removeDotSegments:bf,isIPv4:di,isUUID:mf,normalizeIPv6:li,stringArrayToHexStripped:Ts};});var yi=$((my,gi)=>{var{isUUID:kf}=As(),_f=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,$f=["http","https","ws","wss","urn","urn:uuid"];function Rf(t){return $f.indexOf(t)!==-1}function Is(t){return t.secure===true?true:t.secure===false?false:t.scheme?t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S"):false}function pi(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function mi(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 Cf(t){return t.secure=Is(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function Ef(t){if((t.port===(Is(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,r]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=r,t.resourceName=void 0;}return t.fragment=void 0,t}function xf(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(_f);if(r){let n=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let s=`${n}:${e.nid||t.nid}`,o=Ps(s);t.path=void 0,o&&(t=o.parse(t,e));}else t.error=t.error||"URN can not be parsed.";return t}function Tf(t,e){if(t.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=e.scheme||t.scheme||"urn",n=t.nid.toLowerCase(),s=`${r}:${e.nid||n}`,o=Ps(s);o&&(t=o.serialize(t,e));let a=t,i=t.nss;return a.path=`${n||e.nid}:${i}`,e.skipEscape=true,a}function Af(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!kf(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function If(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var hi={scheme:"http",domainHost:true,parse:pi,serialize:mi},Pf={scheme:"https",domainHost:hi.domainHost,parse:pi,serialize:mi},en={scheme:"ws",domainHost:true,parse:Cf,serialize:Ef},Of={scheme:"wss",domainHost:en.domainHost,parse:en.parse,serialize:en.serialize},jf={scheme:"urn",parse:xf,serialize:Tf,skipNormalize:true},Nf={scheme:"urn:uuid",parse:Af,serialize:If,skipNormalize:true},tn={http:hi,https:Pf,ws:en,wss:Of,urn:jf,"urn:uuid":Nf};Object.setPrototypeOf(tn,null);function Ps(t){return t&&(tn[t]||tn[t.toLowerCase()])||void 0}gi.exports={wsIsSecure:Is,SCHEMES:tn,isValidSchemeName:Rf,getSchemeHandler:Ps};});var Si=$((hy,nn)=>{var{normalizeIPv6:qf,removeDotSegments:lr,recomposeAuthority:Df,normalizeComponentEncoding:rn,isIPv4:Ff,nonSimpleDomain:Mf}=As(),{SCHEMES:Lf,getSchemeHandler:vi}=yi();function Vf(t,e){return typeof t=="string"?t=Fe(Je(t,e),e):typeof t=="object"&&(t=Je(Fe(t,e),e)),t}function Bf(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},s=bi(Je(t,n),Je(e,n),n,true);return n.skipEscape=true,Fe(s,n)}function bi(t,e,r,n){let s={};return n||(t=Je(Fe(t,r),r),e=Je(Fe(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(s.scheme=e.scheme,s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=lr(e.path||""),s.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=lr(e.path||""),s.query=e.query):(e.path?(e.path[0]==="/"?s.path=lr(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?s.path="/"+e.path:t.path?s.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:s.path=e.path,s.path=lr(s.path)),s.query=e.query):(s.path=t.path,e.query!==void 0?s.query=e.query:s.query=t.query),s.userinfo=t.userinfo,s.host=t.host,s.port=t.port),s.scheme=t.scheme),s.fragment=e.fragment,s}function Gf(t,e,r){return typeof t=="string"?(t=unescape(t),t=Fe(rn(Je(t,r),true),{...r,skipEscape:true})):typeof t=="object"&&(t=Fe(rn(t,true),{...r,skipEscape:true})),typeof e=="string"?(e=unescape(e),e=Fe(rn(Je(e,r),true),{...r,skipEscape:true})):typeof e=="object"&&(e=Fe(rn(e,true),{...r,skipEscape:true})),t.toLowerCase()===e.toLowerCase()}function Fe(t,e){let r={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},n=Object.assign({},e),s=[],o=vi(n.scheme||r.scheme);o&&o.serialize&&o.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&s.push(r.scheme,":");let a=Df(r);if(a!==void 0&&(n.reference!=="suffix"&&s.push("//"),s.push(a),r.path&&r.path[0]!=="/"&&s.push("/")),r.path!==void 0){let i=r.path;!n.absolutePath&&(!o||!o.absolutePath)&&(i=lr(i)),a===void 0&&i[0]==="/"&&i[1]==="/"&&(i="/%2F"+i.slice(2)),s.push(i);}return r.query!==void 0&&s.push("?",r.query),r.fragment!==void 0&&s.push("#",r.fragment),s.join("")}var Kf=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Je(t,e){let r=Object.assign({},e),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},s=false;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let o=t.match(Kf);if(o){if(n.scheme=o[1],n.userinfo=o[3],n.host=o[4],n.port=parseInt(o[5],10),n.path=o[6]||"",n.query=o[7],n.fragment=o[8],isNaN(n.port)&&(n.port=o[5]),n.host)if(Ff(n.host)===false){let u=qf(n.host);n.host=u.host.toLowerCase(),s=u.isIPV6;}else s=true;n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let a=vi(r.scheme||n.scheme);if(!r.unicodeSupport&&(!a||!a.unicodeSupport)&&n.host&&(r.domainHost||a&&a.domainHost)&&s===false&&Mf(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase());}catch(i){n.error=n.error||"Host's domain name can not be converted to ASCII: "+i;}(!a||a&&!a.skipNormalize)&&(t.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=unescape(n.host))),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),a&&a.parse&&a.parse(n,r);}else n.error=n.error||"URI can not be parsed.";return n}var Os={SCHEMES:Lf,normalize:Vf,resolve:Bf,resolveComponent:bi,equal:Gf,serialize:Fe,parse:Je};nn.exports=Os;nn.exports.default=Os;nn.exports.fastUri=Os;});var ki=$(js=>{Object.defineProperty(js,"__esModule",{value:true});var wi=Si();wi.code='require("ajv/dist/runtime/uri").default';js.default=wi;});var Ai=$(ue=>{Object.defineProperty(ue,"__esModule",{value:true});ue.CodeGen=ue.Name=ue.nil=ue.stringify=ue.str=ue._=ue.KeywordCxt=void 0;var Uf=cr();Object.defineProperty(ue,"KeywordCxt",{enumerable:true,get:function(){return Uf.KeywordCxt}});var jt=L();Object.defineProperty(ue,"_",{enumerable:true,get:function(){return jt._}});Object.defineProperty(ue,"str",{enumerable:true,get:function(){return jt.str}});Object.defineProperty(ue,"stringify",{enumerable:true,get:function(){return jt.stringify}});Object.defineProperty(ue,"nil",{enumerable:true,get:function(){return jt.nil}});Object.defineProperty(ue,"Name",{enumerable:true,get:function(){return jt.Name}});Object.defineProperty(ue,"CodeGen",{enumerable:true,get:function(){return jt.CodeGen}});var Jf=Xr(),Ei=dr(),Hf=cs(),fr=Zr(),zf=L(),pr=ar(),sn=or(),qs=K(),_i=ui(),Wf=ki(),xi=(t,e)=>new RegExp(t,e);xi.code="new RegExp";var Yf=["removeAdditional","useDefaults","coerceTypes"],Xf=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),Qf={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."},Zf={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},$i=200;function ep(t){var e,r,n,s,o,a,i,u,c,d,f,b,h,p,l,m,y,g,S,_,w,A,R,j,H;let F=t.strict,z=(e=t.code)===null||e===void 0?void 0:e.optimize,de=z===true||z===void 0?1:z||0,ie=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:xi,it=(s=t.uriResolver)!==null&&s!==void 0?s:Wf.default;return {strictSchema:(a=(o=t.strictSchema)!==null&&o!==void 0?o:F)!==null&&a!==void 0?a:true,strictNumbers:(u=(i=t.strictNumbers)!==null&&i!==void 0?i:F)!==null&&u!==void 0?u:true,strictTypes:(d=(c=t.strictTypes)!==null&&c!==void 0?c:F)!==null&&d!==void 0?d:"log",strictTuples:(b=(f=t.strictTuples)!==null&&f!==void 0?f:F)!==null&&b!==void 0?b:"log",strictRequired:(p=(h=t.strictRequired)!==null&&h!==void 0?h:F)!==null&&p!==void 0?p:false,code:t.code?{...t.code,optimize:de,regExp:ie}:{optimize:de,regExp:ie},loopRequired:(l=t.loopRequired)!==null&&l!==void 0?l:$i,loopEnum:(m=t.loopEnum)!==null&&m!==void 0?m:$i,meta:(y=t.meta)!==null&&y!==void 0?y:true,messages:(g=t.messages)!==null&&g!==void 0?g:true,inlineRefs:(S=t.inlineRefs)!==null&&S!==void 0?S:true,schemaId:(_=t.schemaId)!==null&&_!==void 0?_:"$id",addUsedSchema:(w=t.addUsedSchema)!==null&&w!==void 0?w:true,validateSchema:(A=t.validateSchema)!==null&&A!==void 0?A:true,validateFormats:(R=t.validateFormats)!==null&&R!==void 0?R:true,unicodeRegExp:(j=t.unicodeRegExp)!==null&&j!==void 0?j:true,int32range:(H=t.int32range)!==null&&H!==void 0?H:true,uriResolver:it}}var mr=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...ep(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new zf.ValueScope({scope:{},prefixes:Xf,es5:r,lines:n}),this.logger=ap(e.logger);let s=e.validateFormats;e.validateFormats=false,this.RULES=(0, Hf.getRules)(),Ri.call(this,Qf,e,"NOT SUPPORTED"),Ri.call(this,Zf,e,"DEPRECATED","warn"),this._metaOpts=sp.call(this),e.formats&&rp.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&np.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),tp.call(this),e.validateFormats=s;}_addVocabularies(){this.addKeyword("$async");}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,s=_i;n==="id"&&(s={..._i},s.id=s.$id,delete s.$id),r&&e&&this.addMetaSchema(s,s[n],false);}defaultMeta(){let{meta:e,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[r]||e:void 0}validate(e,r){let n;if(typeof e=="string"){if(n=this.getSchema(e),!n)throw new Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);let s=n(r);return "$async"in n||(this.errors=n.errors),s}compile(e,r){let n=this._addSchema(e,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return s.call(this,e,r);async function s(d,f){await o.call(this,d.$schema);let b=this._addSchema(d,f);return b.validate||a.call(this,b)}async function o(d){d&&!this.getSchema(d)&&await s.call(this,{$ref:d},true);}async function a(d){try{return this._compileSchemaEnv(d)}catch(f){if(!(f instanceof Ei.default))throw f;return i.call(this,f),await u.call(this,f.missingSchema),a.call(this,d)}}function i({missingSchema:d,missingRef:f}){if(this.refs[d])throw new Error(`AnySchema ${d} is loaded but ${f} cannot be resolved`)}async function u(d){let f=await c.call(this,d);this.refs[d]||await o.call(this,f.$schema),this.refs[d]||this.addSchema(f,d,r);}async function c(d){let f=this._loading[d];if(f)return f;try{return await(this._loading[d]=n(d))}finally{delete this._loading[d];}}}addSchema(e,r,n,s=this.opts.validateSchema){if(Array.isArray(e)){for(let a of e)this.addSchema(a,void 0,n,s);return this}let o;if(typeof e=="object"){let{schemaId:a}=this.opts;if(o=e[a],o!==void 0&&typeof o!="string")throw new Error(`schema ${a} must be string`)}return r=(0, pr.normalizeId)(r||o),this._checkUnique(r),this.schemas[r]=this._addSchema(e,n,r,s,true),this}addMetaSchema(e,r,n=this.opts.validateSchema){return this.addSchema(e,r,true,n),this}validateSchema(e,r){if(typeof e=="boolean")return true;let n;if(n=e.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,true;let s=this.validate(n,e);if(!s&&r){let o="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(o);else throw new Error(o)}return s}getSchema(e){let r;for(;typeof(r=Ci.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,s=new fr.SchemaEnv({schema:{},schemaId:n});if(r=fr.resolveSchema.call(this,s,e),!r)return;this.refs[e]=r;}return r.validate||this._compileSchemaEnv(r)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case "undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case "string":{let r=Ci.call(this,e);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[e],delete this.refs[e],this}case "object":{let r=e;this._cache.delete(r);let n=e[this.opts.schemaId];return n&&(n=(0, pr.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let r of e)this.addKeyword(r);return this}addKeyword(e,r){let n;if(typeof e=="string")n=e,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof e=="object"&&r===void 0){if(r=e,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(up.call(this,n,r),!r)return (0, qs.eachItem)(n,o=>Ns.call(this,o)),this;dp.call(this,r);let s={...r,type:(0, sn.getJSONTypes)(r.type),schemaType:(0, sn.getJSONTypes)(r.schemaType)};return (0, qs.eachItem)(n,s.type.length===0?o=>Ns.call(this,o,s):o=>s.type.forEach(a=>Ns.call(this,o,s,a))),this}getKeyword(e){let r=this.RULES.all[e];return typeof r=="object"?r.definition:!!r}removeKeyword(e){let{RULES:r}=this;delete r.keywords[e],delete r.all[e];for(let n of r.rules){let s=n.rules.findIndex(o=>o.keyword===e);s>=0&&n.rules.splice(s,1);}return this}addFormat(e,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[e]=r,this}errorsText(e=this.errors,{separator:r=", ",dataVar:n="data"}={}){return !e||e.length===0?"No errors":e.map(s=>`${n}${s.instancePath} ${s.message}`).reduce((s,o)=>s+r+o)}$dataMetaSchema(e,r){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let s of r){let o=s.split("/").slice(1),a=e;for(let i of o)a=a[i];for(let i in n){let u=n[i];if(typeof u!="object")continue;let{$data:c}=u.definition,d=a[i];c&&d&&(a[i]=Ti(d));}}return e}_removeAllSchemas(e,r){for(let n in e){let s=e[n];(!r||r.test(n))&&(typeof s=="string"?delete e[n]:s&&!s.meta&&(this._cache.delete(s.schema),delete e[n]));}}_addSchema(e,r,n,s=this.opts.validateSchema,o=this.opts.addUsedSchema){let a,{schemaId:i}=this.opts;if(typeof e=="object")a=e[i];else {if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let u=this._cache.get(e);if(u!==void 0)return u;n=(0, pr.normalizeId)(a||n);let c=pr.getSchemaRefs.call(this,e,n);return u=new fr.SchemaEnv({schema:e,schemaId:i,meta:r,baseId:n,localRefs:c}),this._cache.set(u.schema,u),o&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=u),s&&this.validateSchema(e,true),u}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):fr.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{fr.compileSchema.call(this,e);}finally{this.opts=r;}}};mr.ValidationError=Jf.default;mr.MissingRefError=Ei.default;ue.default=mr;function Ri(t,e,r,n="error"){for(let s in t){let o=s;o in e&&this.logger[n](`${r}: option ${s}. ${t[o]}`);}}function Ci(t){return t=(0, pr.normalizeId)(t),this.schemas[t]||this.refs[t]}function tp(){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 rp(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e);}}function np(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 sp(){let t={...this.opts};for(let e of Yf)delete t[e];return t}var op={log(){},warn(){},error(){}};function ap(t){if(t===false)return op;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 ip=/^[a-z_$][a-z0-9_$:-]*$/i;function up(t,e){let{RULES:r}=this;if((0, qs.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!ip.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function Ns(t,e,r){var n;let s=e?.post;if(r&&s)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:o}=this,a=s?o.post:o.rules.find(({type:u})=>u===r);if(a||(a={type:r,rules:[]},o.rules.push(a)),o.keywords[t]=true,!e)return;let i={keyword:t,definition:{...e,type:(0, sn.getJSONTypes)(e.type),schemaType:(0, sn.getJSONTypes)(e.schemaType)}};e.before?cp.call(this,a,i,e.before):a.rules.push(i),o.all[t]=i,(n=e.implements)===null||n===void 0||n.forEach(u=>this.addKeyword(u));}function cp(t,e,r){let n=t.rules.findIndex(s=>s.keyword===r);n>=0?t.rules.splice(n,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`));}function dp(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=Ti(e)),t.validateSchema=this.compile(e,true));}var lp={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Ti(t){return {anyOf:[t,lp]}}});var Ii=$(Ds=>{Object.defineProperty(Ds,"__esModule",{value:true});var fp={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Ds.default=fp;});var Ni=$(vt=>{Object.defineProperty(vt,"__esModule",{value:true});vt.callRef=vt.getValidate=void 0;var pp=dr(),Pi=xe(),_e=L(),Nt=Ke(),Oi=Zr(),on=K(),mp={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:s,schemaEnv:o,validateName:a,opts:i,self:u}=n,{root:c}=o;if((r==="#"||r==="#/")&&s===c.baseId)return f();let d=Oi.resolveRef.call(u,c,s,r);if(d===void 0)throw new pp.default(n.opts.uriResolver,s,r);if(d instanceof Oi.SchemaEnv)return b(d);return h(d);function f(){if(o===c)return an(t,a,o,o.$async);let p=e.scopeValue("root",{ref:c});return an(t,(0, _e._)`${p}.validate`,c,c.$async)}function b(p){let l=ji(t,p);an(t,l,p,p.$async);}function h(p){let l=e.scopeValue("schema",i.code.source===true?{ref:p,code:(0, _e.stringify)(p)}:{ref:p}),m=e.name("valid"),y=t.subschema({schema:p,dataTypes:[],schemaPath:_e.nil,topSchemaRef:l,errSchemaPath:r},m);t.mergeEvaluated(y),t.ok(m);}}};function ji(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0, _e._)`${r.scopeValue("wrapper",{ref:e})}.validate`}vt.getValidate=ji;function an(t,e,r,n){let{gen:s,it:o}=t,{allErrors:a,schemaEnv:i,opts:u}=o,c=u.passContext?Nt.default.this:_e.nil;n?d():f();function d(){if(!i.$async)throw new Error("async schema referenced by sync schema");let p=s.let("valid");s.try(()=>{s.code((0, _e._)`await ${(0, Pi.callValidateCode)(t,e,c)}`),h(e),a||s.assign(p,true);},l=>{s.if((0, _e._)`!(${l} instanceof ${o.ValidationError})`,()=>s.throw(l)),b(l),a||s.assign(p,false);}),t.ok(p);}function f(){t.result((0, Pi.callValidateCode)(t,e,c),()=>h(e),()=>b(e));}function b(p){let l=(0, _e._)`${p}.errors`;s.assign(Nt.default.vErrors,(0, _e._)`${Nt.default.vErrors} === null ? ${l} : ${Nt.default.vErrors}.concat(${l})`),s.assign(Nt.default.errors,(0, _e._)`${Nt.default.vErrors}.length`);}function h(p){var l;if(!o.opts.unevaluated)return;let m=(l=r?.validate)===null||l===void 0?void 0:l.evaluated;if(o.props!==true)if(m&&!m.dynamicProps)m.props!==void 0&&(o.props=on.mergeEvaluated.props(s,m.props,o.props));else {let y=s.var("props",(0, _e._)`${p}.evaluated.props`);o.props=on.mergeEvaluated.props(s,y,o.props,_e.Name);}if(o.items!==true)if(m&&!m.dynamicItems)m.items!==void 0&&(o.items=on.mergeEvaluated.items(s,m.items,o.items));else {let y=s.var("items",(0, _e._)`${p}.evaluated.items`);o.items=on.mergeEvaluated.items(s,y,o.items,_e.Name);}}}vt.callRef=an;vt.default=mp;});var qi=$(Fs=>{Object.defineProperty(Fs,"__esModule",{value:true});var hp=Ii(),gp=Ni(),yp=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",hp.default,gp.default];Fs.default=yp;});var Di=$(Ms=>{Object.defineProperty(Ms,"__esModule",{value:true});var un=L(),rt=un.operators,cn={maximum:{okStr:"<=",ok:rt.LTE,fail:rt.GT},minimum:{okStr:">=",ok:rt.GTE,fail:rt.LT},exclusiveMaximum:{okStr:"<",ok:rt.LT,fail:rt.GTE},exclusiveMinimum:{okStr:">",ok:rt.GT,fail:rt.LTE}},vp={message:({keyword:t,schemaCode:e})=>(0, un.str)`must be ${cn[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0, un._)`{comparison: ${cn[t].okStr}, limit: ${e}}`},bp={keyword:Object.keys(cn),type:"number",schemaType:"number",$data:true,error:vp,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0, un._)`${r} ${cn[e].fail} ${n} || isNaN(${r})`);}};Ms.default=bp;});var Fi=$(Ls=>{Object.defineProperty(Ls,"__esModule",{value:true});var hr=L(),Sp={message:({schemaCode:t})=>(0, hr.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0, hr._)`{multipleOf: ${t}}`},wp={keyword:"multipleOf",type:"number",schemaType:"number",$data:true,error:Sp,code(t){let{gen:e,data:r,schemaCode:n,it:s}=t,o=s.opts.multipleOfPrecision,a=e.let("res"),i=o?(0, hr._)`Math.abs(Math.round(${a}) - ${a}) > 1e-${o}`:(0, hr._)`${a} !== parseInt(${a})`;t.fail$data((0, hr._)`(${n} === 0 || (${a} = ${r}/${n}, ${i}))`);}};Ls.default=wp;});var Li=$(Vs=>{Object.defineProperty(Vs,"__esModule",{value:true});function Mi(t){let e=t.length,r=0,n=0,s;for(;n<e;)r++,s=t.charCodeAt(n++),s>=55296&&s<=56319&&n<e&&(s=t.charCodeAt(n),(s&64512)===56320&&n++);return r}Vs.default=Mi;Mi.code='require("ajv/dist/runtime/ucs2length").default';});var Vi=$(Bs=>{Object.defineProperty(Bs,"__esModule",{value:true});var bt=L(),kp=K(),_p=Li(),$p={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return (0, bt.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0, bt._)`{limit: ${t}}`},Rp={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:true,error:$p,code(t){let{keyword:e,data:r,schemaCode:n,it:s}=t,o=e==="maxLength"?bt.operators.GT:bt.operators.LT,a=s.opts.unicode===false?(0, bt._)`${r}.length`:(0, bt._)`${(0, kp.useFunc)(t.gen,_p.default)}(${r})`;t.fail$data((0, bt._)`${a} ${o} ${n}`);}};Bs.default=Rp;});var Bi=$(Gs=>{Object.defineProperty(Gs,"__esModule",{value:true});var Cp=xe(),Ep=K(),qt=L(),xp={message:({schemaCode:t})=>(0, qt.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0, qt._)`{pattern: ${t}}`},Tp={keyword:"pattern",type:"string",schemaType:"string",$data:true,error:xp,code(t){let{gen:e,data:r,$data:n,schema:s,schemaCode:o,it:a}=t,i=a.opts.unicodeRegExp?"u":"";if(n){let{regExp:u}=a.opts.code,c=u.code==="new RegExp"?(0, qt._)`new RegExp`:(0, Ep.useFunc)(e,u),d=e.let("valid");e.try(()=>e.assign(d,(0, qt._)`${c}(${o}, ${i}).test(${r})`),()=>e.assign(d,false)),t.fail$data((0, qt._)`!${d}`);}else {let u=(0, Cp.usePattern)(t,s);t.fail$data((0, qt._)`!${u}.test(${r})`);}}};Gs.default=Tp;});var Gi=$(Ks=>{Object.defineProperty(Ks,"__esModule",{value:true});var gr=L(),Ap={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return (0, gr.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0, gr._)`{limit: ${t}}`},Ip={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:true,error:Ap,code(t){let{keyword:e,data:r,schemaCode:n}=t,s=e==="maxProperties"?gr.operators.GT:gr.operators.LT;t.fail$data((0, gr._)`Object.keys(${r}).length ${s} ${n}`);}};Ks.default=Ip;});var Ki=$(Us=>{Object.defineProperty(Us,"__esModule",{value:true});var yr=xe(),vr=L(),Pp=K(),Op={message:({params:{missingProperty:t}})=>(0, vr.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0, vr._)`{missingProperty: ${t}}`},jp={keyword:"required",type:"object",schemaType:"array",$data:true,error:Op,code(t){let{gen:e,schema:r,schemaCode:n,data:s,$data:o,it:a}=t,{opts:i}=a;if(!o&&r.length===0)return;let u=r.length>=i.loopRequired;if(a.allErrors?c():d(),i.strictRequired){let h=t.parentSchema.properties,{definedProperties:p}=t.it;for(let l of r)if(h?.[l]===void 0&&!p.has(l)){let m=a.schemaEnv.baseId+a.errSchemaPath,y=`required property "${l}" is not defined at "${m}" (strictRequired)`;(0, Pp.checkStrictMode)(a,y,a.opts.strictRequired);}}function c(){if(u||o)t.block$data(vr.nil,f);else for(let h of r)(0, yr.checkReportMissingProp)(t,h);}function d(){let h=e.let("missing");if(u||o){let p=e.let("valid",true);t.block$data(p,()=>b(h,p)),t.ok(p);}else e.if((0, yr.checkMissingProp)(t,r,h)),(0, yr.reportMissingProp)(t,h),e.else();}function f(){e.forOf("prop",n,h=>{t.setParams({missingProperty:h}),e.if((0, yr.noPropertyInData)(e,s,h,i.ownProperties),()=>t.error());});}function b(h,p){t.setParams({missingProperty:h}),e.forOf(h,n,()=>{e.assign(p,(0, yr.propertyInData)(e,s,h,i.ownProperties)),e.if((0, vr.not)(p),()=>{t.error(),e.break();});},vr.nil);}}};Us.default=jp;});var Ui=$(Js=>{Object.defineProperty(Js,"__esModule",{value:true});var br=L(),Np={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return (0, br.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0, br._)`{limit: ${t}}`},qp={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:true,error:Np,code(t){let{keyword:e,data:r,schemaCode:n}=t,s=e==="maxItems"?br.operators.GT:br.operators.LT;t.fail$data((0, br._)`${r}.length ${s} ${n}`);}};Js.default=qp;});var dn=$(Hs=>{Object.defineProperty(Hs,"__esModule",{value:true});var Ji=ys();Ji.code='require("ajv/dist/runtime/equal").default';Hs.default=Ji;});var Hi=$(Ws=>{Object.defineProperty(Ws,"__esModule",{value:true});var zs=or(),ce=L(),Dp=K(),Fp=dn(),Mp={message:({params:{i:t,j:e}})=>(0, ce.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0, ce._)`{i: ${t}, j: ${e}}`},Lp={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:true,error:Mp,code(t){let{gen:e,data:r,$data:n,schema:s,parentSchema:o,schemaCode:a,it:i}=t;if(!n&&!s)return;let u=e.let("valid"),c=o.items?(0, zs.getSchemaTypes)(o.items):[];t.block$data(u,d,(0, ce._)`${a} === false`),t.ok(u);function d(){let p=e.let("i",(0, ce._)`${r}.length`),l=e.let("j");t.setParams({i:p,j:l}),e.assign(u,true),e.if((0, ce._)`${p} > 1`,()=>(f()?b:h)(p,l));}function f(){return c.length>0&&!c.some(p=>p==="object"||p==="array")}function b(p,l){let m=e.name("item"),y=(0, zs.checkDataTypes)(c,m,i.opts.strictNumbers,zs.DataType.Wrong),g=e.const("indices",(0, ce._)`{}`);e.for((0, ce._)`;${p}--;`,()=>{e.let(m,(0, ce._)`${r}[${p}]`),e.if(y,(0, ce._)`continue`),c.length>1&&e.if((0, ce._)`typeof ${m} == "string"`,(0, ce._)`${m} += "_"`),e.if((0, ce._)`typeof ${g}[${m}] == "number"`,()=>{e.assign(l,(0, ce._)`${g}[${m}]`),t.error(),e.assign(u,false).break();}).code((0, ce._)`${g}[${m}] = ${p}`);});}function h(p,l){let m=(0, Dp.useFunc)(e,Fp.default),y=e.name("outer");e.label(y).for((0, ce._)`;${p}--;`,()=>e.for((0, ce._)`${l} = ${p}; ${l}--;`,()=>e.if((0, ce._)`${m}(${r}[${p}], ${r}[${l}])`,()=>{t.error(),e.assign(u,false).break(y);})));}}};Ws.default=Lp;});var zi=$(Xs=>{Object.defineProperty(Xs,"__esModule",{value:true});var Ys=L(),Vp=K(),Bp=dn(),Gp={message:"must be equal to constant",params:({schemaCode:t})=>(0, Ys._)`{allowedValue: ${t}}`},Kp={keyword:"const",$data:true,error:Gp,code(t){let{gen:e,data:r,$data:n,schemaCode:s,schema:o}=t;n||o&&typeof o=="object"?t.fail$data((0, Ys._)`!${(0, Vp.useFunc)(e,Bp.default)}(${r}, ${s})`):t.fail((0, Ys._)`${o} !== ${r}`);}};Xs.default=Kp;});var Wi=$(Qs=>{Object.defineProperty(Qs,"__esModule",{value:true});var Sr=L(),Up=K(),Jp=dn(),Hp={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0, Sr._)`{allowedValues: ${t}}`},zp={keyword:"enum",schemaType:"array",$data:true,error:Hp,code(t){let{gen:e,data:r,$data:n,schema:s,schemaCode:o,it:a}=t;if(!n&&s.length===0)throw new Error("enum must have non-empty array");let i=s.length>=a.opts.loopEnum,u,c=()=>u??(u=(0, Up.useFunc)(e,Jp.default)),d;if(i||n)d=e.let("valid"),t.block$data(d,f);else {if(!Array.isArray(s))throw new Error("ajv implementation error");let h=e.const("vSchema",o);d=(0, Sr.or)(...s.map((p,l)=>b(h,l)));}t.pass(d);function f(){e.assign(d,false),e.forOf("v",o,h=>e.if((0, Sr._)`${c()}(${r}, ${h})`,()=>e.assign(d,true).break()));}function b(h,p){let l=s[p];return typeof l=="object"&&l!==null?(0, Sr._)`${c()}(${r}, ${h}[${p}])`:(0, Sr._)`${r} === ${l}`}}};Qs.default=zp;});var Yi=$(Zs=>{Object.defineProperty(Zs,"__esModule",{value:true});var Wp=Di(),Yp=Fi(),Xp=Vi(),Qp=Bi(),Zp=Gi(),em=Ki(),tm=Ui(),rm=Hi(),nm=zi(),sm=Wi(),om=[Wp.default,Yp.default,Xp.default,Qp.default,Zp.default,em.default,tm.default,rm.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},nm.default,sm.default];Zs.default=om;});var to=$(wr=>{Object.defineProperty(wr,"__esModule",{value:true});wr.validateAdditionalItems=void 0;var St=L(),eo=K(),am={message:({params:{len:t}})=>(0, St.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0, St._)`{limit: ${t}}`},im={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:am,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0, eo.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}Xi(t,n);}};function Xi(t,e){let{gen:r,schema:n,data:s,keyword:o,it:a}=t;a.items=true;let i=r.const("len",(0, St._)`${s}.length`);if(n===false)t.setParams({len:e.length}),t.pass((0, St._)`${i} <= ${e.length}`);else if(typeof n=="object"&&!(0, eo.alwaysValidSchema)(a,n)){let c=r.var("valid",(0, St._)`${i} <= ${e.length}`);r.if((0, St.not)(c),()=>u(c)),t.ok(c);}function u(c){r.forRange("i",e.length,i,d=>{t.subschema({keyword:o,dataProp:d,dataPropType:eo.Type.Num},c),a.allErrors||r.if((0, St.not)(c),()=>r.break());});}}wr.validateAdditionalItems=Xi;wr.default=im;});var ro=$(kr=>{Object.defineProperty(kr,"__esModule",{value:true});kr.validateTuple=void 0;var Qi=L(),ln=K(),um=xe(),cm={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return Zi(t,"additionalItems",e);r.items=true,!(0, ln.alwaysValidSchema)(r,e)&&t.ok((0, um.validateArray)(t));}};function Zi(t,e,r=t.schema){let{gen:n,parentSchema:s,data:o,keyword:a,it:i}=t;d(s),i.opts.unevaluated&&r.length&&i.items!==true&&(i.items=ln.mergeEvaluated.items(n,r.length,i.items));let u=n.name("valid"),c=n.const("len",(0, Qi._)`${o}.length`);r.forEach((f,b)=>{(0, ln.alwaysValidSchema)(i,f)||(n.if((0, Qi._)`${c} > ${b}`,()=>t.subschema({keyword:a,schemaProp:b,dataProp:b},u)),t.ok(u));});function d(f){let{opts:b,errSchemaPath:h}=i,p=r.length,l=p===f.minItems&&(p===f.maxItems||f[e]===false);if(b.strictTuples&&!l){let m=`"${a}" is ${p}-tuple, but minItems or maxItems/${e} are not specified or different at path "${h}"`;(0, ln.checkStrictMode)(i,m,b.strictTuples);}}}kr.validateTuple=Zi;kr.default=cm;});var eu=$(no=>{Object.defineProperty(no,"__esModule",{value:true});var dm=ro(),lm={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0, dm.validateTuple)(t,"items")};no.default=lm;});var ru=$(so=>{Object.defineProperty(so,"__esModule",{value:true});var tu=L(),fm=K(),pm=xe(),mm=to(),hm={message:({params:{len:t}})=>(0, tu.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0, tu._)`{limit: ${t}}`},gm={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:hm,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:s}=r;n.items=true,!(0, fm.alwaysValidSchema)(n,e)&&(s?(0, mm.validateAdditionalItems)(t,s):t.ok((0, pm.validateArray)(t)));}};so.default=gm;});var nu=$(oo=>{Object.defineProperty(oo,"__esModule",{value:true});var Ae=L(),fn=K(),ym={message:({params:{min:t,max:e}})=>e===void 0?(0, Ae.str)`must contain at least ${t} valid item(s)`:(0, Ae.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0, Ae._)`{minContains: ${t}}`:(0, Ae._)`{minContains: ${t}, maxContains: ${e}}`},vm={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:true,error:ym,code(t){let{gen:e,schema:r,parentSchema:n,data:s,it:o}=t,a,i,{minContains:u,maxContains:c}=n;o.opts.next?(a=u===void 0?1:u,i=c):a=1;let d=e.const("len",(0, Ae._)`${s}.length`);if(t.setParams({min:a,max:i}),i===void 0&&a===0){(0, fn.checkStrictMode)(o,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(i!==void 0&&a>i){(0, fn.checkStrictMode)(o,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0, fn.alwaysValidSchema)(o,r)){let l=(0, Ae._)`${d} >= ${a}`;i!==void 0&&(l=(0, Ae._)`${l} && ${d} <= ${i}`),t.pass(l);return}o.items=true;let f=e.name("valid");i===void 0&&a===1?h(f,()=>e.if(f,()=>e.break())):a===0?(e.let(f,true),i!==void 0&&e.if((0, Ae._)`${s}.length > 0`,b)):(e.let(f,false),b()),t.result(f,()=>t.reset());function b(){let l=e.name("_valid"),m=e.let("count",0);h(l,()=>e.if(l,()=>p(m)));}function h(l,m){e.forRange("i",0,d,y=>{t.subschema({keyword:"contains",dataProp:y,dataPropType:fn.Type.Num,compositeRule:true},l),m();});}function p(l){e.code((0, Ae._)`${l}++`),i===void 0?e.if((0, Ae._)`${l} >= ${a}`,()=>e.assign(f,true).break()):(e.if((0, Ae._)`${l} > ${i}`,()=>e.assign(f,false).break()),a===1?e.assign(f,true):e.if((0, Ae._)`${l} >= ${a}`,()=>e.assign(f,true)));}}};oo.default=vm;});var au=$(Me=>{Object.defineProperty(Me,"__esModule",{value:true});Me.validateSchemaDeps=Me.validatePropertyDeps=Me.error=void 0;var ao=L(),bm=K(),_r=xe();Me.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return (0, ao.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0, ao._)`{property: ${t},
7
+ missingProperty: ${n},
8
+ depsCount: ${e},
9
+ deps: ${r}}`};var Sm={keyword:"dependencies",type:"object",schemaType:"object",error:Me.error,code(t){let[e,r]=wm(t);su(t,e),ou(t,r);}};function wm({schema:t}){let e={},r={};for(let n in t){if(n==="__proto__")continue;let s=Array.isArray(t[n])?e:r;s[n]=t[n];}return [e,r]}function su(t,e=t.schema){let{gen:r,data:n,it:s}=t;if(Object.keys(e).length===0)return;let o=r.let("missing");for(let a in e){let i=e[a];if(i.length===0)continue;let u=(0, _r.propertyInData)(r,n,a,s.opts.ownProperties);t.setParams({property:a,depsCount:i.length,deps:i.join(", ")}),s.allErrors?r.if(u,()=>{for(let c of i)(0, _r.checkReportMissingProp)(t,c);}):(r.if((0, ao._)`${u} && (${(0, _r.checkMissingProp)(t,i,o)})`),(0, _r.reportMissingProp)(t,o),r.else());}}Me.validatePropertyDeps=su;function ou(t,e=t.schema){let{gen:r,data:n,keyword:s,it:o}=t,a=r.name("valid");for(let i in e)(0, bm.alwaysValidSchema)(o,e[i])||(r.if((0, _r.propertyInData)(r,n,i,o.opts.ownProperties),()=>{let u=t.subschema({keyword:s,schemaProp:i},a);t.mergeValidEvaluated(u,a);},()=>r.var(a,true)),t.ok(a));}Me.validateSchemaDeps=ou;Me.default=Sm;});var uu=$(io=>{Object.defineProperty(io,"__esModule",{value:true});var iu=L(),km=K(),_m={message:"property name must be valid",params:({params:t})=>(0, iu._)`{propertyName: ${t.propertyName}}`},$m={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:_m,code(t){let{gen:e,schema:r,data:n,it:s}=t;if((0, km.alwaysValidSchema)(s,r))return;let o=e.name("valid");e.forIn("key",n,a=>{t.setParams({propertyName:a}),t.subschema({keyword:"propertyNames",data:a,dataTypes:["string"],propertyName:a,compositeRule:true},o),e.if((0, iu.not)(o),()=>{t.error(true),s.allErrors||e.break();});}),t.ok(o);}};io.default=$m;});var co=$(uo=>{Object.defineProperty(uo,"__esModule",{value:true});var pn=xe(),je=L(),Rm=Ke(),mn=K(),Cm={message:"must NOT have additional properties",params:({params:t})=>(0, je._)`{additionalProperty: ${t.additionalProperty}}`},Em={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:true,trackErrors:true,error:Cm,code(t){let{gen:e,schema:r,parentSchema:n,data:s,errsCount:o,it:a}=t;if(!o)throw new Error("ajv implementation error");let{allErrors:i,opts:u}=a;if(a.props=true,u.removeAdditional!=="all"&&(0, mn.alwaysValidSchema)(a,r))return;let c=(0, pn.allSchemaProperties)(n.properties),d=(0, pn.allSchemaProperties)(n.patternProperties);f(),t.ok((0, je._)`${o} === ${Rm.default.errors}`);function f(){e.forIn("key",s,m=>{!c.length&&!d.length?p(m):e.if(b(m),()=>p(m));});}function b(m){let y;if(c.length>8){let g=(0, mn.schemaRefOrVal)(a,n.properties,"properties");y=(0, pn.isOwnProperty)(e,g,m);}else c.length?y=(0, je.or)(...c.map(g=>(0, je._)`${m} === ${g}`)):y=je.nil;return d.length&&(y=(0, je.or)(y,...d.map(g=>(0, je._)`${(0, pn.usePattern)(t,g)}.test(${m})`))),(0, je.not)(y)}function h(m){e.code((0, je._)`delete ${s}[${m}]`);}function p(m){if(u.removeAdditional==="all"||u.removeAdditional&&r===false){h(m);return}if(r===false){t.setParams({additionalProperty:m}),t.error(),i||e.break();return}if(typeof r=="object"&&!(0, mn.alwaysValidSchema)(a,r)){let y=e.name("valid");u.removeAdditional==="failing"?(l(m,y,false),e.if((0, je.not)(y),()=>{t.reset(),h(m);})):(l(m,y),i||e.if((0, je.not)(y),()=>e.break()));}}function l(m,y,g){let S={keyword:"additionalProperties",dataProp:m,dataPropType:mn.Type.Str};g===false&&Object.assign(S,{compositeRule:true,createErrors:false,allErrors:false}),t.subschema(S,y);}}};uo.default=Em;});var lu=$(fo=>{Object.defineProperty(fo,"__esModule",{value:true});var xm=cr(),cu=xe(),lo=K(),du=co(),Tm={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:n,data:s,it:o}=t;o.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&du.default.code(new xm.KeywordCxt(o,du.default,"additionalProperties"));let a=(0, cu.allSchemaProperties)(r);for(let f of a)o.definedProperties.add(f);o.opts.unevaluated&&a.length&&o.props!==true&&(o.props=lo.mergeEvaluated.props(e,(0, lo.toHash)(a),o.props));let i=a.filter(f=>!(0, lo.alwaysValidSchema)(o,r[f]));if(i.length===0)return;let u=e.name("valid");for(let f of i)c(f)?d(f):(e.if((0, cu.propertyInData)(e,s,f,o.opts.ownProperties)),d(f),o.allErrors||e.else().var(u,true),e.endIf()),t.it.definedProperties.add(f),t.ok(u);function c(f){return o.opts.useDefaults&&!o.compositeRule&&r[f].default!==void 0}function d(f){t.subschema({keyword:"properties",schemaProp:f,dataProp:f},u);}}};fo.default=Tm;});var hu=$(po=>{Object.defineProperty(po,"__esModule",{value:true});var fu=xe(),hn=L(),pu=K(),mu=K(),Am={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:n,parentSchema:s,it:o}=t,{opts:a}=o,i=(0, fu.allSchemaProperties)(r),u=i.filter(l=>(0, pu.alwaysValidSchema)(o,r[l]));if(i.length===0||u.length===i.length&&(!o.opts.unevaluated||o.props===true))return;let c=a.strictSchema&&!a.allowMatchingProperties&&s.properties,d=e.name("valid");o.props!==true&&!(o.props instanceof hn.Name)&&(o.props=(0, mu.evaluatedPropsToName)(e,o.props));let{props:f}=o;b();function b(){for(let l of i)c&&h(l),o.allErrors?p(l):(e.var(d,true),p(l),e.if(d));}function h(l){for(let m in c)new RegExp(l).test(m)&&(0, pu.checkStrictMode)(o,`property ${m} matches pattern ${l} (use allowMatchingProperties)`);}function p(l){e.forIn("key",n,m=>{e.if((0, hn._)`${(0, fu.usePattern)(t,l)}.test(${m})`,()=>{let y=u.includes(l);y||t.subschema({keyword:"patternProperties",schemaProp:l,dataProp:m,dataPropType:mu.Type.Str},d),o.opts.unevaluated&&f!==true?e.assign((0, hn._)`${f}[${m}]`,true):!y&&!o.allErrors&&e.if((0, hn.not)(d),()=>e.break());});});}}};po.default=Am;});var gu=$(mo=>{Object.defineProperty(mo,"__esModule",{value:true});var Im=K(),Pm={keyword:"not",schemaType:["object","boolean"],trackErrors:true,code(t){let{gen:e,schema:r,it:n}=t;if((0, Im.alwaysValidSchema)(n,r)){t.fail();return}let s=e.name("valid");t.subschema({keyword:"not",compositeRule:true,createErrors:false,allErrors:false},s),t.failResult(s,()=>t.reset(),()=>t.error());},error:{message:"must NOT be valid"}};mo.default=Pm;});var yu=$(ho=>{Object.defineProperty(ho,"__esModule",{value:true});var Om=xe(),jm={keyword:"anyOf",schemaType:"array",trackErrors:true,code:Om.validateUnion,error:{message:"must match a schema in anyOf"}};ho.default=jm;});var vu=$(go=>{Object.defineProperty(go,"__esModule",{value:true});var gn=L(),Nm=K(),qm={message:"must match exactly one schema in oneOf",params:({params:t})=>(0, gn._)`{passingSchemas: ${t.passing}}`},Dm={keyword:"oneOf",schemaType:"array",trackErrors:true,error:qm,code(t){let{gen:e,schema:r,parentSchema:n,it:s}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(s.opts.discriminator&&n.discriminator)return;let o=r,a=e.let("valid",false),i=e.let("passing",null),u=e.name("_valid");t.setParams({passing:i}),e.block(c),t.result(a,()=>t.reset(),()=>t.error(true));function c(){o.forEach((d,f)=>{let b;(0, Nm.alwaysValidSchema)(s,d)?e.var(u,true):b=t.subschema({keyword:"oneOf",schemaProp:f,compositeRule:true},u),f>0&&e.if((0, gn._)`${u} && ${a}`).assign(a,false).assign(i,(0, gn._)`[${i}, ${f}]`).else(),e.if(u,()=>{e.assign(a,true),e.assign(i,f),b&&t.mergeEvaluated(b,gn.Name);});});}}};go.default=Dm;});var bu=$(yo=>{Object.defineProperty(yo,"__esModule",{value:true});var Fm=K(),Mm={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let s=e.name("valid");r.forEach((o,a)=>{if((0, Fm.alwaysValidSchema)(n,o))return;let i=t.subschema({keyword:"allOf",schemaProp:a},s);t.ok(s),t.mergeEvaluated(i);});}};yo.default=Mm;});var ku=$(vo=>{Object.defineProperty(vo,"__esModule",{value:true});var yn=L(),wu=K(),Lm={message:({params:t})=>(0, yn.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0, yn._)`{failingKeyword: ${t.ifClause}}`},Vm={keyword:"if",schemaType:["object","boolean"],trackErrors:true,error:Lm,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0, wu.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let s=Su(n,"then"),o=Su(n,"else");if(!s&&!o)return;let a=e.let("valid",true),i=e.name("_valid");if(u(),t.reset(),s&&o){let d=e.let("ifClause");t.setParams({ifClause:d}),e.if(i,c("then",d),c("else",d));}else s?e.if(i,c("then")):e.if((0, yn.not)(i),c("else"));t.pass(a,()=>t.error(true));function u(){let d=t.subschema({keyword:"if",compositeRule:true,createErrors:false,allErrors:false},i);t.mergeEvaluated(d);}function c(d,f){return ()=>{let b=t.subschema({keyword:d},i);e.assign(a,i),t.mergeValidEvaluated(b,a),f?e.assign(f,(0, yn._)`${d}`):t.setParams({ifClause:d});}}}};function Su(t,e){let r=t.schema[e];return r!==void 0&&!(0, wu.alwaysValidSchema)(t,r)}vo.default=Vm;});var _u=$(bo=>{Object.defineProperty(bo,"__esModule",{value:true});var Bm=K(),Gm={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0, Bm.checkStrictMode)(r,`"${t}" without "if" is ignored`);}};bo.default=Gm;});var $u=$(So=>{Object.defineProperty(So,"__esModule",{value:true});var Km=to(),Um=eu(),Jm=ro(),Hm=ru(),zm=nu(),Wm=au(),Ym=uu(),Xm=co(),Qm=lu(),Zm=hu(),eh=gu(),th=yu(),rh=vu(),nh=bu(),sh=ku(),oh=_u();function ah(t=false){let e=[eh.default,th.default,rh.default,nh.default,sh.default,oh.default,Ym.default,Xm.default,Wm.default,Qm.default,Zm.default];return t?e.push(Um.default,Hm.default):e.push(Km.default,Jm.default),e.push(zm.default),e}So.default=ah;});var Ru=$(wo=>{Object.defineProperty(wo,"__esModule",{value:true});var oe=L(),ih={message:({schemaCode:t})=>(0, oe.str)`must match format "${t}"`,params:({schemaCode:t})=>(0, oe._)`{format: ${t}}`},uh={keyword:"format",type:["number","string"],schemaType:"string",$data:true,error:ih,code(t,e){let{gen:r,data:n,$data:s,schema:o,schemaCode:a,it:i}=t,{opts:u,errSchemaPath:c,schemaEnv:d,self:f}=i;if(!u.validateFormats)return;s?b():h();function b(){let p=r.scopeValue("formats",{ref:f.formats,code:u.code.formats}),l=r.const("fDef",(0, oe._)`${p}[${a}]`),m=r.let("fType"),y=r.let("format");r.if((0, oe._)`typeof ${l} == "object" && !(${l} instanceof RegExp)`,()=>r.assign(m,(0, oe._)`${l}.type || "string"`).assign(y,(0, oe._)`${l}.validate`),()=>r.assign(m,(0, oe._)`"string"`).assign(y,l)),t.fail$data((0, oe.or)(g(),S()));function g(){return u.strictSchema===false?oe.nil:(0, oe._)`${a} && !${y}`}function S(){let _=d.$async?(0, oe._)`(${l}.async ? await ${y}(${n}) : ${y}(${n}))`:(0, oe._)`${y}(${n})`,w=(0, oe._)`(typeof ${y} == "function" ? ${_} : ${y}.test(${n}))`;return (0, oe._)`${y} && ${y} !== true && ${m} === ${e} && !${w}`}}function h(){let p=f.formats[o];if(!p){g();return}if(p===true)return;let[l,m,y]=S(p);l===e&&t.pass(_());function g(){if(u.strictSchema===false){f.logger.warn(w());return}throw new Error(w());function w(){return `unknown format "${o}" ignored in schema at path "${c}"`}}function S(w){let A=w instanceof RegExp?(0, oe.regexpCode)(w):u.code.formats?(0, oe._)`${u.code.formats}${(0, oe.getProperty)(o)}`:void 0,R=r.scopeValue("formats",{key:o,ref:w,code:A});return typeof w=="object"&&!(w instanceof RegExp)?[w.type||"string",w.validate,(0, oe._)`${R}.validate`]:["string",w,R]}function _(){if(typeof p=="object"&&!(p instanceof RegExp)&&p.async){if(!d.$async)throw new Error("async format in sync schema");return (0, oe._)`await ${y}(${n})`}return typeof m=="function"?(0, oe._)`${y}(${n})`:(0, oe._)`${y}.test(${n})`}}}};wo.default=uh;});var Cu=$(ko=>{Object.defineProperty(ko,"__esModule",{value:true});var ch=Ru(),dh=[ch.default];ko.default=dh;});var Eu=$(Dt=>{Object.defineProperty(Dt,"__esModule",{value:true});Dt.contentVocabulary=Dt.metadataVocabulary=void 0;Dt.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Dt.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"];});var Tu=$(_o=>{Object.defineProperty(_o,"__esModule",{value:true});var lh=qi(),fh=Yi(),ph=$u(),mh=Cu(),xu=Eu(),hh=[lh.default,fh.default,(0, ph.default)(),mh.default,xu.metadataVocabulary,xu.contentVocabulary];_o.default=hh;});var Iu=$(vn=>{Object.defineProperty(vn,"__esModule",{value:true});vn.DiscrError=void 0;var Au;(function(t){t.Tag="tag",t.Mapping="mapping";})(Au||(vn.DiscrError=Au={}));});var Ou=$(Ro=>{Object.defineProperty(Ro,"__esModule",{value:true});var Ft=L(),$o=Iu(),Pu=Zr(),gh=dr(),yh=K(),vh={message:({params:{discrError:t,tagName:e}})=>t===$o.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0, Ft._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},bh={keyword:"discriminator",type:"object",schemaType:"object",error:vh,code(t){let{gen:e,data:r,schema:n,parentSchema:s,it:o}=t,{oneOf:a}=s;if(!o.opts.discriminator)throw new Error("discriminator: requires discriminator option");let i=n.propertyName;if(typeof i!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!a)throw new Error("discriminator: requires oneOf keyword");let u=e.let("valid",false),c=e.const("tag",(0, Ft._)`${r}${(0, Ft.getProperty)(i)}`);e.if((0, Ft._)`typeof ${c} == "string"`,()=>d(),()=>t.error(false,{discrError:$o.DiscrError.Tag,tag:c,tagName:i})),t.ok(u);function d(){let h=b();e.if(false);for(let p in h)e.elseIf((0, Ft._)`${c} === ${p}`),e.assign(u,f(h[p]));e.else(),t.error(false,{discrError:$o.DiscrError.Mapping,tag:c,tagName:i}),e.endIf();}function f(h){let p=e.name("valid"),l=t.subschema({keyword:"oneOf",schemaProp:h},p);return t.mergeEvaluated(l,Ft.Name),p}function b(){var h;let p={},l=y(s),m=true;for(let _=0;_<a.length;_++){let w=a[_];if(w?.$ref&&!(0, yh.schemaHasRulesButRef)(w,o.self.RULES)){let R=w.$ref;if(w=Pu.resolveRef.call(o.self,o.schemaEnv.root,o.baseId,R),w instanceof Pu.SchemaEnv&&(w=w.schema),w===void 0)throw new gh.default(o.opts.uriResolver,o.baseId,R)}let A=(h=w?.properties)===null||h===void 0?void 0:h[i];if(typeof A!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${i}"`);m=m&&(l||y(w)),g(A,_);}if(!m)throw new Error(`discriminator: "${i}" must be required`);return p;function y({required:_}){return Array.isArray(_)&&_.includes(i)}function g(_,w){if(_.const)S(_.const,w);else if(_.enum)for(let A of _.enum)S(A,w);else throw new Error(`discriminator: "properties/${i}" must have "const" or "enum"`)}function S(_,w){if(typeof _!="string"||_ in p)throw new Error(`discriminator: "${i}" values must be unique strings`);p[_]=w;}}}};Ro.default=bh;});var ju=$((nv,Sh)=>{Sh.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 qu=$((Z,Co)=>{Object.defineProperty(Z,"__esModule",{value:true});Z.MissingRefError=Z.ValidationError=Z.CodeGen=Z.Name=Z.nil=Z.stringify=Z.str=Z._=Z.KeywordCxt=Z.Ajv=void 0;var wh=Ai(),kh=Tu(),_h=Ou(),Nu=ju(),$h=["/properties"],bn="http://json-schema.org/draft-07/schema",Mt=class extends wh.default{_addVocabularies(){super._addVocabularies(),kh.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(_h.default);}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(Nu,$h):Nu;this.addMetaSchema(e,bn,false),this.refs["http://json-schema.org/schema"]=bn;}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(bn)?bn:void 0)}};Z.Ajv=Mt;Co.exports=Z=Mt;Co.exports.Ajv=Mt;Object.defineProperty(Z,"__esModule",{value:true});Z.default=Mt;var Rh=cr();Object.defineProperty(Z,"KeywordCxt",{enumerable:true,get:function(){return Rh.KeywordCxt}});var Lt=L();Object.defineProperty(Z,"_",{enumerable:true,get:function(){return Lt._}});Object.defineProperty(Z,"str",{enumerable:true,get:function(){return Lt.str}});Object.defineProperty(Z,"stringify",{enumerable:true,get:function(){return Lt.stringify}});Object.defineProperty(Z,"nil",{enumerable:true,get:function(){return Lt.nil}});Object.defineProperty(Z,"Name",{enumerable:true,get:function(){return Lt.Name}});Object.defineProperty(Z,"CodeGen",{enumerable:true,get:function(){return Lt.CodeGen}});var Ch=Xr();Object.defineProperty(Z,"ValidationError",{enumerable:true,get:function(){return Ch.default}});var Eh=dr();Object.defineProperty(Z,"MissingRefError",{enumerable:true,get:function(){return Eh.default}});});var jr="b64:";function Ac(t){let e=new TextEncoder().encode(t),r=globalThis.Buffer,n;if(r)n=r.from(e).toString("base64");else if(typeof btoa=="function"){let s="";for(let o of e)s+=String.fromCharCode(o);n=btoa(s);}else throw new Error("No base64 encoder available in this runtime");return n.replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}function Ic(t){let e=t.replace(/-/g,"+").replace(/_/g,"/")+"=".repeat((4-t.length%4)%4),r=globalThis.Buffer;if(r)return r.from(e,"base64").toString("utf8");if(typeof atob=="function"){let n=atob(e),s=new Uint8Array(n.length);for(let o=0;o<n.length;o+=1)s[o]=n.charCodeAt(o);return new TextDecoder().decode(s)}throw new Error("No base64 decoder available in this runtime")}function se(t){return `${jr}${Ac(JSON.stringify(t))}`}function be(t){if(t.startsWith("::fs-path::"))return {kind:"fs-path",value:t.slice(11)};if(!t.startsWith(jr))throw new Error(`Invalid ref format (expected ${jr}<base64url(json)>): ${t}`);let e;try{e=JSON.parse(Ic(t.slice(jr.length)));}catch{throw new Error(`Invalid ref format (malformed base64url/json): ${t}`)}if(!e||typeof e!="object")throw new Error(`Invalid ref format (expected object payload): ${t}`);let r=e;if(typeof r.kind!="string"||typeof r.value!="string")throw new Error(`Invalid ref format (payload must contain string kind/value): ${t}`);return {kind:r.kind,value:r.value}}async function Go(t,e,r){let n=t.tryAcquire();if(!n)return false;try{await e();}finally{n();}return r?.(),true}function Kt(t,e,r=".json"){let n=le__namespace.join(t,".tmp");return T__namespace.mkdirSync(n,{recursive:true}),le__namespace.join(n,`${e}-${Date.now()}-${Math.random().toString(36).slice(2,8)}${r}`)}function qr(...t){return le__namespace.join(...t)}function Ut(...t){return le__namespace.resolve(...t)}function Ho(t){return le__namespace.isAbsolute(t)}function Nn(){return crypto.randomUUID()}function zo(t){return crypto.createHash("sha256").update(t).digest("hex")}function Wo(t){return le__namespace.dirname(url.fileURLToPath(t))}function Dc(t){if(typeof t=="object"&&t!==null){let{command:r,args:n=[],...s}=t,o=Uo(r,n);return {...s,command:o.command,args:o.args}}let e=Yo(t);if(e.length===0)throw new Error(`Empty command spec: ${JSON.stringify(t)}`);return Uo(e[0],e.slice(1))}function Uo(t,e){return /^(node|node\.exe)$/i.test(t)?{command:process.execPath,args:e}:/\.m?js$/i.test(t)?{command:process.execPath,args:[t,...e]}:{command:t,args:e}}function Yo(t){let e=[],r="",n=null;for(let s of t.trim()){if(n){s===n?n=null:r+=s;continue}if(s==='"'||s==="'"){n=s;continue}if(/\s/.test(s)){r&&(e.push(r),r="");continue}r+=s;}if(n)throw new Error(`Unterminated quote in command: ${t}`);return r&&e.push(r),e}function qn(t){return process.platform==="win32"&&/\.(cmd|bat)$/i.test(t)}function Xo(t,e){let{command:r,args:n=[],cwd:s,env:o,timeoutMs:a}=t;return child_process.execFileSync(r,n,{shell:qn(r),timeout:a,encoding:e?.encoding??"utf-8",cwd:s,windowsHide:true,env:o?{...process.env,...o}:void 0,input:e?.input})}function Fc(t,e){let{command:r,args:n=[],cwd:s,env:o,timeoutMs:a=3e4}=t;child_process.execFile(r,n,{shell:qn(r),encoding:"utf8",windowsHide:true,timeout:a,maxBuffer:10*1024*1024,cwd:s,env:o?{...process.env,...o}:void 0},(i,u,c)=>e(i??null,u,c));}le__namespace.join(jn__namespace.tmpdir(),".board-live-cards-git-bash-cache.json");function Dr(t){let{command:e,args:r=[]}=t;if(process.platform==="win32"){child_process.spawn(e,r,{detached:true,stdio:"ignore",windowsHide:true,shell:qn(e)}).unref();return}child_process.spawn(e,r,{detached:true,stdio:"ignore"}).unref();}function Jt(t,e,r){let n=le__namespace.join(t,"board-live-cards-cli.js");if(T__namespace.existsSync(n))return {cmd:process.execPath,args:[n,e,...r]};let s=le__namespace.join(t,"board-live-cards-cli.ts"),o=le__namespace.join(t,"..","..","node_modules","tsx","dist","cli.mjs"),a=le__namespace.join(t,"..","..","node_modules",".bin","tsx"),i=T__namespace.existsSync(o)?o:a;return T__namespace.existsSync(s)&&T__namespace.existsSync(i)?{cmd:process.execPath,args:[i,s,e,...r]}:{cmd:process.platform==="win32"?"npx.cmd":"npx",args:["tsx",s,e,...r]}}function Qo(t,e,r){let n=["--base-ref",se(e)];r&&n.push("--notify-channel",r);let{cmd:s,args:o}=Jt(t,"process-accumulated-events",n);Dr({command:s,args:o});}function Mc(t){return process.platform==="win32"?`\\\\.\\pipe\\${t}`:le__namespace.join(jn__namespace.tmpdir(),`${t}.sock`)}var Nr=new Map;function Zo(t,e,r){if(e.length===0)return;let n=e.map(i=>JSON.stringify(i)).join(`
10
+ `)+`
11
+ `,s=Nr.get(t);if(s&&!s.socket.destroyed){s.ready?s.socket.write(n):s.queue.push(n);return}let o=Mc(t),a=Jo__namespace.createConnection(o);s={socket:a,ready:false,queue:[n]},Nr.set(t,s),a.on("connect",()=>{s.ready=true;for(let i of s.queue)a.write(i);s.queue.length=0;}),a.on("error",i=>{r?.(`[named-pipe publish] ${o}: ${i instanceof Error?i.message:String(i)}`),Nr.delete(t);}),a.on("close",()=>{Nr.delete(t);});}function Dn(){return {executeSync(t,e,r){return Xo({command:t,args:e,cwd:r?.cwd,timeoutMs:r?.timeout,env:r?.env},{encoding:r?.encoding,input:r?.input})},executeAsync(t,e,r){Fc({command:t,args:e},r);},resolveInvocation(t,e){let r=Dc({command:t,args:e});return {cmd:r.command,args:r.args??[]}},splitCommand:Yo,spawnDetached(t,e){Dr({command:t,args:e});}}}var ea=module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('board-live-cards-cli.cjs', document.baseURI).href)));function Vc(){try{return ea("./jsonata-sync.cjs")}catch{return ea("../../card-compute/jsonata-sync.cjs")}}Vc();var Kc=module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('board-live-cards-cli.cjs', document.baseURI).href))),Uc=Kc("../../card-compute/jsonata-sync.cjs");async function ta(t,e){return Uc(t).evaluate(e)}async function Jc(t,e){let r=await ta(t,e);if(typeof r!="string")throw new Error(`argsMassaging expression did not produce a string: ${t} \u2192 ${JSON.stringify(r)}`);return r}function Hc(t,e){let r;try{r=be(t).value;}catch{r=t;}switch(r){case "source-cli-task-executor":{let n=le__namespace.join(e,"source-cli-task-executor.js");if(T__namespace.existsSync(n))return {command:process.execPath,args:[n]};let s=le__namespace.join(e,"source-cli-task-executor.ts"),o=le__namespace.join(e,"..","..","node_modules","tsx","dist","cli.mjs"),a=le__namespace.join(e,"..","..","node_modules",".bin","tsx"),i=T__namespace.existsSync(o)?o:a;return T__namespace.existsSync(s)&&T__namespace.existsSync(i)?{command:process.execPath,args:[i,s]}:{command:process.execPath,args:[n]}}case "board-live-cards":{let{cmd:n,args:s}=Jt(e,"_",[]);return {command:n,args:s}}default:throw new Error(`resolveBuiltIn: unknown built-in name "${r}". Supported: source-cli-task-executor, board-live-cards`)}}function ra(t,e){if(t.howToRun==="built-in"){let{command:n,args:s}=Hc(t.whatToRun,e);return {command:n,baseArgs:s}}let r;try{r=be(t.whatToRun).value;}catch{r=t.whatToRun;}switch(t.howToRun){case "local-node":return {command:process.execPath,baseArgs:[r]};case "local-python":return {command:process.platform==="win32"?"python":"python3",baseArgs:[r]};case "local-process":return {command:r,baseArgs:[]};default:throw new Error(`resolveBaseInvocation: howToRun "${t.howToRun}" is not a local transport`)}}function zc(t,e){let r=[t.subcommand];return t.inRef&&r.push("--in-ref",t.inRef),t.outRef&&r.push("--out-ref",t.outRef),t.errRef&&r.push("--err-ref",t.errRef),e&&r.push("--extra",Buffer.from(JSON.stringify(e)).toString("base64")),r}function Wc(t,e){return {subcommand:t.subcommand,...t.inRef?{inRef:t.inRef}:{},...t.outRef?{outRef:t.outRef}:{},...t.errRef?{errRef:t.errRef}:{},...e?{extra:e}:{}}}function na(t,e){return ra(t,e)}async function Yc(t,e){let r,n,s={...e,whatToRun:t.whatToRun};if(t.argsMassaging?.urlTemplate)r=await Jc(t.argsMassaging.urlTemplate,s);else try{r=be(t.whatToRun).value;}catch{r=t.whatToRun;}if(t.argsMassaging?.bodyTemplate){let i=await ta(t.argsMassaging.bodyTemplate,s);if(typeof i!="object"||i===null)throw new Error(`bodyTemplate must produce an object, got: ${JSON.stringify(i)}`);n=i;}else n=Wc(e,t.extra);let o=await fetch(r,{method:t.howToRun==="http:get"?"GET":"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!o.ok){let i=await o.text().catch(()=>"");return {status:"error",error:`HTTP ${o.status}: ${i}`}}let a=await o.json().catch(()=>null);return a&&typeof a.status=="string"?a:{status:"success"}}function sa(t,e,r){if(t.howToRun==="http:post"||t.howToRun==="http:get"){Yc(t,e).catch(i=>{console.error(`[dispatchTaskExecutorDetached] HTTP dispatch failed: ${i.message}`);});return}let{command:s,baseArgs:o}=ra(t,r),a=zc(e,t.extra);Dr({command:s,args:[...o,...a]});}function Xc(){return {read(t){if(!T__namespace.existsSync(t))return null;try{return T__namespace.readFileSync(t,"utf-8")}catch{return null}},write(t,e){T__namespace.mkdirSync(le__namespace.dirname(t),{recursive:true}),T__namespace.writeFileSync(t,e,"utf-8");}}}function oa(t){return Xc();}function Wt(t,e){if(process.platform!=="win32"){T__namespace.renameSync(t,e);return}let r=[10,20,40,80,160];for(let n=0;n<=r.length;n++)try{T__namespace.renameSync(t,e);return}catch(s){let o=s.code;if((o==="EPERM"||o==="EBUSY")&&n<r.length){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,r[n]);continue}throw s}}function Fr(t){function e(s){return le__namespace.join(t,...s.split("/"))}function r(s){return le__namespace.relative(t,s).replace(/\\/g,"/")}function n(s,o){if(T__namespace.existsSync(s))for(let a of T__namespace.readdirSync(s,{withFileTypes:true})){let i=le__namespace.join(s,a.name);if(a.isDirectory()){n(i,o);continue}a.isFile()&&o.push(r(i));}}return {read(s){let o=e(s);if(!T__namespace.existsSync(o))return null;try{return T__namespace.readFileSync(o,"utf-8")}catch{return null}},write(s,o){let a=e(s),i=`${a}.${process.pid}.${crypto.randomUUID()}.tmp`;T__namespace.mkdirSync(le__namespace.dirname(a),{recursive:true}),T__namespace.writeFileSync(i,o,"utf-8"),Wt(i,a);},exists(s){return T__namespace.existsSync(e(s))},remove(s){let o=e(s);try{T__namespace.existsSync(o)&&T__namespace.unlinkSync(o);}catch{}},readBytes(s){let o=e(s);if(!T__namespace.existsSync(o))return null;try{return new Uint8Array(T__namespace.readFileSync(o))}catch{return null}},writeBytes(s,o){let a=e(s),i=`${a}.${process.pid}.${crypto.randomUUID()}.tmp`;T__namespace.mkdirSync(le__namespace.dirname(a),{recursive:true}),T__namespace.writeFileSync(i,Buffer.from(o)),Wt(i,a);},listKeys(s){let o=[];n(t,o);let a=o.sort();return s?a.filter(i=>i.startsWith(s)):a},stat(s){let o=e(s);if(!T__namespace.existsSync(o))return null;try{let a=T__namespace.statSync(o);return {key:s,size:Number(a.size||0),updatedAt:new Date(a.mtimeMs).toISOString()}}catch{return null}}}}function Ln(){return {read(t){if(!T__namespace.existsSync(t))return null;try{return T__namespace.readFileSync(t,"utf-8")}catch{return null}},write(t,e){let r=`${t}.${process.pid}.${crypto.randomUUID()}.tmp`;T__namespace.mkdirSync(le__namespace.dirname(t),{recursive:true}),T__namespace.writeFileSync(r,e,"utf-8"),Wt(r,t);},exists(t){return T__namespace.existsSync(t)},remove(t){try{T__namespace.existsSync(t)&&T__namespace.unlinkSync(t);}catch{}},readBytes(t){if(!T__namespace.existsSync(t))return null;try{return new Uint8Array(T__namespace.readFileSync(t))}catch{return null}},writeBytes(t,e){let r=`${t}.${process.pid}.${crypto.randomUUID()}.tmp`;T__namespace.mkdirSync(le__namespace.dirname(t),{recursive:true}),T__namespace.writeFileSync(r,Buffer.from(e)),Wt(r,t);},stat(t){if(!T__namespace.existsSync(t))return null;try{let e=T__namespace.statSync(t);return {key:t,size:Number(e.size||0),updatedAt:new Date(e.mtimeMs).toISOString()}}catch{return null}}}}function Vn(t){function e(n){return le__namespace.join(t,...n.split("/"))+".json"}function r(n,s,o,a){if(T__namespace.existsSync(n))for(let i of T__namespace.readdirSync(n,{withFileTypes:true})){let u=s?`${s}/${i.name}`:i.name;if(i.isDirectory()){r(le__namespace.join(n,i.name),u,o,a);continue}if(!i.isFile()||!i.name.endsWith(".json"))continue;let c=u.replace(/\.json$/,"");(!o||c.startsWith(o))&&a.push(c);}}return {read(n){let s=e(n);if(!T__namespace.existsSync(s))return null;try{return JSON.parse(T__namespace.readFileSync(s,"utf-8"))}catch{return null}},write(n,s){let o=e(n),a=`${o}.${process.pid}.${crypto.randomUUID()}.tmp`;T__namespace.mkdirSync(le__namespace.dirname(o),{recursive:true}),T__namespace.writeFileSync(a,JSON.stringify(s,null,2),"utf-8"),Wt(a,o);},delete(n){let s=e(n);try{T__namespace.existsSync(s)&&T__namespace.unlinkSync(s);}catch{}},listKeys(n){let s=[];return r(t,"",n,s),s.sort()}}}function Mn(t){if(t==null||typeof t!="object")return JSON.stringify(t);if(Array.isArray(t))return `[${t.map(Mn).join(",")}]`;let e=t;return `{${Object.keys(e).sort().map(n=>`${JSON.stringify(n)}:${Mn(e[n])}`).join(",")}}`}function aa(t){return crypto.createHash("sha256").update(Mn(t)).digest("hex")}function ia(t){let e=le__namespace.join(t,"board-journal.jsonl");return {readAllEntries(){if(!T__namespace.existsSync(e))return [];let r=T__namespace.readFileSync(e,"utf-8").trim();return r?r.split(`
12
+ `).filter(Boolean).map(n=>JSON.parse(n)):[]},appendEntry(r){T__namespace.appendFileSync(e,JSON.stringify(r)+`
13
+ `,"utf-8");},generateId(){return crypto.randomUUID()}}}function ua(t){return {tryAcquire(){try{if(!T__namespace.existsSync(t)){T__namespace.mkdirSync(le__namespace.dirname(t),{recursive:!0});try{T__namespace.writeFileSync(t,"{}",{flag:"wx"});}catch{}}return properLockfile.lockSync(t,{retries:0})}catch{return null}}}}var ca={$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 Mu=Tc(qu());var Ah=module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('board-live-cards-cli.cjs', document.baseURI).href))),Ih=Ah("./jsonata-sync.cjs"),Sn=null;var Du=/\b(card_data|requires|fetched_sources|computed_values|source_defs)\b/g,Ph=/^\s*(card_data|requires|fetched_sources|computed_values|source_defs)(\.|$)/;function Oh(t){let e=new Set,r;for(Du.lastIndex=0;(r=Du.exec(t))!==null;)e.add(r[1]);return e}function Lu(t){let e=Ph.exec(t);return e?e[1]:null}function Fu(t,e,r,n){try{Ih(t);}catch(o){let a=o instanceof Error?o.message:String(o);n.push(`${e}: invalid JSONata expression (${a})`);return}let s=Oh(t);for(let o of s)r.has(o)||n.push(`${e}: disallowed namespace "${o}" in expression`);}function Eo(t,e,r){if(Array.isArray(t)){t.forEach((s,o)=>{Eo(s,`${e}/${o}`,r);});return}if(typeof t=="string"){let s=Lu(t);if(!s)return;new Set(["card_data","requires","computed_values"]).has(s)||r.push(`${e}: disallowed namespace "${s}" in view reference`);return}if(!t||typeof t!="object")return;let n=t;for(let[s,o]of Object.entries(n))Eo(o,`${e}/${s}`,r);}function jh(){if(Sn)return Sn;let t=new Mu.default({allErrors:true});return xh__default.default(t),Sn=t.compile(ca),Sn}function Vu(t){let e=jh(),r=e(t),n=(e.errors??[]).map(s=>`${s.instancePath||"/"}: ${s.message??"unknown error"}`);if(t&&typeof t=="object"&&!Array.isArray(t)){let s=t.source_defs;if(Array.isArray(s)){let o=new Set,a=new Set;s.forEach((i,u)=>{if(!i||typeof i!="object"||Array.isArray(i))return;let c=i;typeof c.bindTo=="string"&&c.bindTo&&(o.has(c.bindTo)&&n.push(`/source_defs/${u}/bindTo: bindTo "${c.bindTo}" must be unique across all source_defs`),o.add(c.bindTo)),typeof c.outputFile=="string"&&c.outputFile&&(a.has(c.outputFile)&&n.push(`/source_defs/${u}/outputFile: outputFile "${c.outputFile}" must be unique across all source_defs`),a.add(c.outputFile));});}}return !r||n.length>0?{ok:false,errors:n}:{ok:true,errors:[]}}function Bu(t){let e=[];if(!t||typeof t!="object"||Array.isArray(t))return {ok:true,errors:[]};let r=t,n=r.compute;Array.isArray(n)&&n.forEach((c,d)=>{if(!c||typeof c!="object"||Array.isArray(c))return;let f=c.expr;typeof f!="string"||f.trim().length===0||Fu(f,`/compute/${d}/expr`,new Set(["card_data","requires","fetched_sources","computed_values"]),e);});let s=new Set(["card_data","requires","fetched_sources","computed_values"]),o=r.provides;Array.isArray(o)&&o.forEach((c,d)=>{if(!c||typeof c!="object"||Array.isArray(c))return;let f=c.ref;if(typeof f!="string"||f.trim().length===0)return;let b=Lu(f);b===null?e.push(`/provides/${d}/ref: path "${f}" must start with a valid namespace (${[...s].join(", ")})`):s.has(b)||e.push(`/provides/${d}/ref: disallowed namespace "${b}" in path "${f}" (valid: ${[...s].join(", ")})`);});let a=r.view;a&&typeof a=="object"&&!Array.isArray(a)&&Eo(a,"/view",e);let i=new Set(["card_data","requires"]),u=r.source_defs;return Array.isArray(u)&&u.forEach((c,d)=>{if(!c||typeof c!="object"||Array.isArray(c))return;let f=c.projections;if(!(!f||typeof f!="object"||Array.isArray(f)))for(let[b,h]of Object.entries(f))typeof h!="string"||h.trim().length===0||Fu(h,`/source_defs/${d}/projections/${b}`,i,e);}),{ok:e.length===0,errors:e}}function xo(t){let e=Vu(t);if(!e.ok)return e;let r=Bu(t);return r.ok?{ok:true,errors:[]}:{ok:false,errors:r.errors}}var nt={RUNNING:"running",COMPLETED:"completed",FAILED:"failed",INACTIVATED:"inactivated"};function Re(t){return t?Array.isArray(t.provides)?t.provides:[]:[]}function st(t){return t?Array.isArray(t.requires)?t.requires:[]:[]}function Gu(t){return t.tasks??{}}function To(t){return t?t.status===nt.FAILED||t.status===nt.INACTIVATED:false}function Ku(t,e){return t.refreshStrategy??e?.refreshStrategy??"data-changed"}function Uu(t){return t.maxExecutions}function Ju(t,e){let r=new Set;for(let[n,s]of Object.entries(e))if(s.status===nt.COMPLETED){let o=t.tasks[n];o&&Re(o).forEach(i=>r.add(i));}return Array.from(r)}function Hu(t,e){let r={};return t.forEach(n=>{let s=e[n];if(!s)return;Re(s).forEach(a=>{r[a]||(r[a]=[]),r[a].push(n);});}),r}function zu(t,e,r){let n=t.tasks[e]??wn(),s={};if(r){let a=r.tasks[e],i=st(a);for(let u of i)for(let[c,d]of Object.entries(r.tasks))if(Re(d).includes(u)){let f=t.tasks[c];f?.lastDataHash&&(s[u]=f.lastDataHash);break}}let o={...n,status:"running",startedAt:new Date().toISOString(),lastUpdated:new Date().toISOString(),progress:0,error:void 0,startConsumedHashes:s};return {...t,tasks:{...t.tasks,[e]:o},lastUpdated:new Date().toISOString()}}function Wu(t,e,r,n,s,o){let a=t.tasks[r]??wn(),i=e.tasks[r];if(!i)throw new Error(`Task "${r}" not found in graph`);let u;n&&i.on&&i.on[n]?u=i.on[n]:u=Re(i);let c=a.startConsumedHashes?{...a.startConsumedHashes}:{...a.lastConsumedHashes};if(!a.startConsumedHashes){let b=i.requires??[];for(let h of b)for(let[p,l]of Object.entries(e.tasks))if(Re(l).includes(h)){let m=t.tasks[p];m?.lastDataHash&&(c[h]=m.lastDataHash);break}}let d={...a,status:"completed",completedAt:new Date().toISOString(),lastUpdated:new Date().toISOString(),executionCount:a.executionCount+1,lastEpoch:a.executionCount+1,lastDataHash:s,data:o,lastConsumedHashes:c,error:void 0},f=[...new Set([...t.availableOutputs,...u])];return {...t,tasks:{...t.tasks,[r]:d},availableOutputs:f,lastUpdated:new Date().toISOString()}}function Yu(t,e,r,n){let s=t.tasks[r]??wn(),o=e.tasks[r];if(o?.retry){let u=s.retryCount+1;if(u<=o.retry.max_attempts){let c={...s,status:"not-started",retryCount:u,lastUpdated:new Date().toISOString(),error:n};return {...t,tasks:{...t.tasks,[r]:c},lastUpdated:new Date().toISOString()}}}let a={...s,status:"failed",failedAt:new Date().toISOString(),lastUpdated:new Date().toISOString(),error:n,executionCount:s.executionCount+1},i=t.availableOutputs;if(o?.on_failure&&o.on_failure.length>0&&(i=[...new Set([...t.availableOutputs,...o.on_failure])]),o?.circuit_breaker&&a.executionCount>=o.circuit_breaker.max_executions){let u=o.circuit_breaker.on_break;i=[...new Set([...i,...u])];}return {...t,tasks:{...t.tasks,[r]:a},availableOutputs:i,lastUpdated:new Date().toISOString()}}function Xu(t,e,r,n){let s=t.tasks[e]??wn(),o={...s,progress:typeof n=="number"?n:s.progress,messages:[...s.messages??[],...r?[{message:r,timestamp:new Date().toISOString(),status:s.status}]:[]],lastUpdated:new Date().toISOString()};return {...t,tasks:{...t.tasks,[e]:o},lastUpdated:new Date().toISOString()}}function Qu(t,e){let r=t.tasks[e];if(!r)return t;let n={...r,status:"not-started",startedAt:void 0,completedAt:void 0,failedAt:void 0,error:void 0,data:void 0,progress:null,lastUpdated:new Date().toISOString()};return {...t,tasks:{...t.tasks,[e]:n},lastUpdated:new Date().toISOString()}}function wn(){return {status:"not-started",executionCount:0,retryCount:0,lastEpoch:0,messages:[],progress:null}}function kn(t,e){let r=`live-${Date.now()}`,n={};for(let o of Object.keys(t.tasks))n[o]=ec();let s={status:"running",tasks:n,availableOutputs:[],stuckDetection:{is_stuck:false,stuck_description:null,outputs_unresolvable:[],tasks_blocked:[]},lastUpdated:new Date().toISOString(),executionId:r,executionConfig:{executionMode:t.settings.execution_mode??"eligibility-mode",conflictStrategy:t.settings.conflict_strategy??"alphabetical",completionStrategy:t.settings.completion}};return {config:t,state:s}}function Nh(t,e){let{config:r,state:n}=t;if("executionId"in e&&e.executionId&&e.executionId!==n.executionId)return t;switch(e.type){case "task-started":return {config:r,state:zu(n,e.taskName,r)};case "task-completed":return {config:r,state:Wu(n,r,e.taskName,e.result,e.dataHash,e.data)};case "task-failed":return {config:r,state:Yu(n,r,e.taskName,e.error)};case "task-progress":return {config:r,state:Xu(n,e.taskName,e.message,e.progress)};case "task-restart":return {config:r,state:Qu(n,e.taskName)};case "inject-tokens":return {config:r,state:{...n,availableOutputs:[...new Set([...n.availableOutputs,...e.tokens])],lastUpdated:new Date().toISOString()}};case "agent-action":return {config:r,state:Bh(n,e.action)};case "task-upsert":return qh(t,e.taskName,e.taskConfig);case "task-removal":return Dh(t,e.taskName);case "node-requires-add":return Fh(t,e.nodeName,e.tokens);case "node-requires-remove":return Mh(t,e.nodeName,e.tokens);case "node-provides-add":return Lh(t,e.nodeName,e.tokens);case "node-provides-remove":return Vh(t,e.nodeName,e.tokens);default:return t}}function Zu(t,e){return e.reduce((r,n)=>Nh(r,n),t)}function qh(t,e,r){let n=!!t.config.tasks[e];return {config:{...t.config,tasks:{...t.config.tasks,[e]:r}},state:{...t.state,tasks:{...t.state.tasks,[e]:n?t.state.tasks[e]:ec()},lastUpdated:new Date().toISOString()}}}function Dh(t,e){if(!t.config.tasks[e])return t;let{[e]:r,...n}=t.config.tasks,{[e]:s,...o}=t.state.tasks;return {config:{...t.config,tasks:n},state:{...t.state,tasks:o,lastUpdated:new Date().toISOString()}}}function Fh(t,e,r){let n=t.config.tasks[e];if(!n)return t;let s=st(n),o=r.filter(a=>!s.includes(a));return o.length===0?t:{config:{...t.config,tasks:{...t.config.tasks,[e]:{...n,requires:[...s,...o]}}},state:t.state}}function Mh(t,e,r){let n=t.config.tasks[e];if(!n)return t;let s=st(n),o=s.filter(a=>!r.includes(a));return o.length===s.length?t:{config:{...t.config,tasks:{...t.config.tasks,[e]:{...n,requires:o}}},state:t.state}}function Lh(t,e,r){let n=t.config.tasks[e];if(!n)return t;let s=Re(n),o=r.filter(a=>!s.includes(a));return o.length===0?t:{config:{...t.config,tasks:{...t.config.tasks,[e]:{...n,provides:[...s,...o]}}},state:t.state}}function Vh(t,e,r){let n=t.config.tasks[e];if(!n)return t;let s=Re(n),o=s.filter(a=>!r.includes(a));return o.length===s.length?t:{config:{...t.config,tasks:{...t.config.tasks,[e]:{...n,provides:o}}},state:t.state}}function $r(t){return {version:1,config:t.config,state:t.state,snapshotAt:new Date().toISOString()}}function _n(t){if(!t||typeof t!="object")throw new Error("Invalid snapshot: expected an object");let e=t;if(!e.config||typeof e.config!="object")throw new Error('Invalid snapshot: missing or invalid "config"');if(!e.state||typeof e.state!="object")throw new Error('Invalid snapshot: missing or invalid "state"');let r=e.config,n=e.state;if(!r.settings||typeof r.settings!="object")throw new Error("Invalid snapshot: config.settings missing");if(!r.tasks||typeof r.tasks!="object")throw new Error("Invalid snapshot: config.tasks missing");if(!n.tasks||typeof n.tasks!="object")throw new Error("Invalid snapshot: state.tasks missing");if(!Array.isArray(n.availableOutputs))throw new Error("Invalid snapshot: state.availableOutputs must be an array");return {config:r,state:n}}function ec(){return {status:"not-started",executionCount:0,retryCount:0,lastEpoch:0,messages:[],progress:null}}function Bh(t,e){let r=new Date().toISOString();switch(e){case "stop":return {...t,status:"stopped",lastUpdated:r};case "pause":return {...t,status:"paused",lastUpdated:r};case "resume":return {...t,status:"running",lastUpdated:r};default:return t}}function Rr(t){let{config:e,state:r}=t,n=Gu(e);if(Object.keys(n).length===0)return {eligible:[],pending:[],unresolved:[],blocked:[],conflicts:{}};let o=Gh(n),a=Ju(e,r.tasks),i=new Set([...a,...r.availableOutputs]),u=[],c=[],d=[],f=[];for(let[h,p]of Object.entries(n)){let l=r.tasks[h],m=Ku(p,e.settings),y=m!=="once";if(l?.status===nt.RUNNING||To(l))continue;let g=Uu(p);if(g!==void 0&&l&&l.executionCount>=g||p.circuit_breaker&&l&&l.executionCount>=p.circuit_breaker.max_executions||!y&&l?.status===nt.COMPLETED)continue;if(y&&l?.status===nt.COMPLETED){let R=st(p),j=false;switch(m){case "data-changed":{R.length>0&&R.some(F=>{for(let[z,de]of Object.entries(n))if(Re(de).includes(F)){let ie=r.tasks[z];if(!ie)continue;let it=l.lastConsumedHashes?.[F];return ie.lastDataHash==null?ie.executionCount>l.lastEpoch:ie.lastDataHash!==it}return false})||(j=true);break}case "epoch-changed":{R.length>0&&R.some(F=>{for(let[z,de]of Object.entries(n))if(Re(de).includes(F)){let ie=r.tasks[z];if(ie&&ie.executionCount>l.lastEpoch)return true}return false})||(j=true);break}case "time-based":{let H=p.refreshInterval??0;if(H<=0){j=true;break}let F=l.completedAt;if(!F){j=true;break}(Date.now()-Date.parse(F))/1e3<H&&(j=true);break}case "manual":j=true;break}if(j)continue}let S=st(p);if(S.length===0){u.push(h);continue}let _=[],w=[],A=[];for(let R of S){if(i.has(R))continue;let j=o[R]||[];j.length===0?_.push(R):j.every(F=>To(r.tasks[F]))?A.push({token:R,failedProducer:j[0]}):w.push(R);}_.length>0?d.push({taskName:h,missingTokens:_}):A.length>0?f.push({taskName:h,failedTokens:A.map(R=>R.token),failedProducers:[...new Set(A.map(R=>R.failedProducer))]}):w.length>0?c.push({taskName:h,waitingOn:w}):u.push(h);}let b={};if(u.length>1){let h=Hu(u,n);for(let[p,l]of Object.entries(h))l.length>1&&(b[p]=l);}return {eligible:u,pending:c,unresolved:d,blocked:f,conflicts:b}}function Gh(t){let e={};for(let[r,n]of Object.entries(t)){for(let s of Re(n))e[s]||(e[s]=[]),e[s].push(r);if(n.on)for(let s of Object.values(n.on))for(let o of s)e[o]||(e[o]=[]),e[o].includes(r)||e[o].push(r);if(n.on_failure)for(let s of n.on_failure)e[s]||(e[s]=[]),e[s].includes(r)||e[s].push(r);}return e}var Cr=class{buffer=[];append(e){this.buffer.push(e);}drain(){let e=this.buffer;return this.buffer=[],e}get size(){return this.buffer.length}};function Ao(t){let e=Io(t);return Kh(e)}function Io(t){if(t==null||typeof t!="object")return JSON.stringify(t);if(Array.isArray(t))return "["+t.map(Io).join(",")+"]";let e=t;return "{"+Object.keys(e).sort().map(n=>JSON.stringify(n)+":"+Io(e[n])).join(",")+"}"}function Kh(t){let e=0xcbf29ce484222325n,r=0x100000001b3n,n=0xffffffffffffffffn;for(let s=0;s<t.length;s++)e^=BigInt(t.charCodeAt(s)),e=e*r&n;return e.toString(16).padStart(16,"0")}function Uh(t){if(typeof Buffer<"u")return Buffer.from(t,"utf8").toString("base64url");if(typeof btoa=="function"){let e=new TextEncoder().encode(t),r="";for(let n of e)r+=String.fromCharCode(n);return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}throw new Error("No base64 encoder available in this runtime")}function Jh(t){if(typeof Buffer<"u")return Buffer.from(t,"base64url").toString("utf8");if(typeof atob=="function"){let e=t.replace(/-/g,"+").replace(/_/g,"/"),r=e+"=".repeat((4-e.length%4)%4),n=atob(r),s=new Uint8Array(n.length);for(let o=0;o<n.length;o++)s[o]=n.charCodeAt(o);return new TextDecoder().decode(s)}throw new Error("No base64 decoder available in this runtime")}function tc(t){let e=JSON.stringify({t,n:Date.now().toString(36)+Math.random().toString(36).slice(2,6)});return Uh(e)}function Hh(t){try{let e=JSON.parse(Jh(t));return typeof e?.t=="string"?{taskName:e.t}:null}catch{return null}}function rc(t,e,r){let{handlers:n,onDrain:s}=e,o=new Cr,a="state"in t&&"config"in t?t:kn(t),i=false,u=new Set,c=new Map(Object.entries(n)),d=new Cr,f=false,b=false;function h(){if(!i){if(f){b=true;return}f=true;try{do b=!1,p();while(b)}finally{f=false;}}}function p(){let g=d.drain(),S=o.drain(),_=[...g,...S];_.length>0&&(a=Zu(a,_));let w=Rr(a);_.length>0&&s?.(_,a,w);for(let A of w.eligible)y(A);for(let A of _)if(A.type==="task-progress"){let{taskName:R,update:j}=A;if(!a.config.tasks[R])continue;let F=a.state.tasks[R];if(!F||F.status!=="running")continue;let z=tc(R),de=m(R,z,j).catch(ie=>{i||(d.append({type:"task-failed",taskName:R,error:ie.message??String(ie),timestamp:new Date().toISOString()}),h());}).finally(()=>{u.delete(de);});u.add(de);}}function l(g){let _=a.config.tasks[g].requires??[],w=new Map;for(let[R,j]of Object.entries(a.config.tasks))for(let H of j.provides??[])w.set(H,R);let A={};for(let R of _){let j=w.get(R);j?A[R]=a.state.tasks[j]?.data:A[R]=void 0;}return A}async function m(g,S,_){let w=a.config.tasks[g],A=w.taskHandlers??[],R=l(g);for(let j of A){let H=c.get(j);if(!H)throw new Error(`Handler '${j}' not found in registry (task '${g}')`);let F={nodeId:g,state:R,taskState:a.state.tasks[g],config:w,callbackToken:S,update:_};if(await H(F)==="task-initiate-failure")throw new Error(`Handler '${j}' returned task-initiate-failure (task '${g}')`)}}function y(g){let _=a.config.tasks[g]?.taskHandlers;if(!_||_.length===0)return;d.append({type:"task-started",taskName:g,timestamp:new Date().toISOString()}),h();let w=tc(g),A=m(g,w).catch(R=>{i||(d.append({type:"task-failed",taskName:g,error:R.message??String(R),timestamp:new Date().toISOString()}),h());}).finally(()=>{u.delete(A);});u.add(A);}return {push(g){i||(g.type==="task-completed"&&g.data&&!g.dataHash&&(g={...g,dataHash:Ao(g.data)}),o.append(g),h());},pushAll(g){if(!i){for(let S of g)S.type==="task-completed"&&S.data&&!S.dataHash?o.append({...S,dataHash:Ao(S.data)}):o.append(S);h();}},resolveCallback(g,S,_){if(i)return;let w=Hh(g);if(!w)return;let{taskName:A}=w;if(a.config.tasks[A]){if(_&&_.length>0)o.append({type:"task-failed",taskName:A,error:_.join("; "),timestamp:new Date().toISOString()});else {let R=S&&Object.keys(S).length>0?Ao(S):void 0;o.append({type:"task-completed",taskName:A,data:S,dataHash:R,timestamp:new Date().toISOString()});}h();}},addNode(g,S){i||(o.append({type:"task-upsert",taskName:g,taskConfig:S,timestamp:new Date().toISOString()}),h());},removeNode(g){i||(o.append({type:"task-removal",taskName:g,timestamp:new Date().toISOString()}),h());},addRequires(g,S){i||(o.append({type:"node-requires-add",nodeName:g,tokens:S,timestamp:new Date().toISOString()}),h());},removeRequires(g,S){i||(o.append({type:"node-requires-remove",nodeName:g,tokens:S,timestamp:new Date().toISOString()}),h());},addProvides(g,S){i||(o.append({type:"node-provides-add",nodeName:g,tokens:S,timestamp:new Date().toISOString()}),h());},removeProvides(g,S){i||(o.append({type:"node-provides-remove",nodeName:g,tokens:S,timestamp:new Date().toISOString()}),h());},registerHandler(g,S){c.set(g,S);},unregisterHandler(g){c.delete(g);},retrigger(g){i||a.config.tasks[g]&&(o.append({type:"task-restart",taskName:g,timestamp:new Date().toISOString()}),h());},retriggerAll(g){if(!i){for(let S of g)a.config.tasks[S]&&o.append({type:"task-restart",taskName:S,timestamp:new Date().toISOString()});h();}},snapshot(){return $r(a)},getState(){return a},getSchedule(){return Rr(a)},async waitForHandlers(){u.size>0&&await Promise.allSettled([...u]);},async dispose(g){g?.wait&&u.size>0&&await Promise.allSettled([...u]),i=true;}}}function Po(t){return JSON.stringify(t)}function Oo(t){let e;try{e=JSON.parse(t);}catch{throw new Error(`parseExecutionRef: invalid JSON \u2014 ${t}`)}if(typeof e!="object"||e===null||typeof e.howToRun!="string"||typeof e.whatToRun!="string")throw new Error(`parseExecutionRef: missing required fields howToRun/whatToRun \u2014 ${t}`);return e}var Wh=module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('board-live-cards-cli.cjs', document.baseURI).href))),$n=Wh("./jsonata-sync.cjs"),oc=$n;function nc(t,e){if(!e||!t)return;let r=e.split("."),n=t;for(let s=0;s<r.length;s++){if(n==null)return;n=n[r[s]];}return n}function ac(t,e,r){let n=e.split("."),s=t;for(let o=0;o<n.length-1;o++)(s[n[o]]==null||typeof s[n[o]]!="object")&&(s[n[o]]={}),s=s[n[o]];s[n[n.length-1]]=r;}async function Yh(t,e){if(!t?.compute?.length)return t;t.card_data||(t.card_data={}),t.computed_values={},t._sourcesData=e?.sourcesData??{};let r=t.requires??{},n={card_data:t.card_data,requires:r,expects_data:r,fetched_sources:t._sourcesData,data:t.computed_values,computed_values:t.computed_values};for(let s of t.compute)try{let o=await $n(s.expr).evaluate(n);ac(t.computed_values,s.bindTo,o),n.computed_values=t.computed_values;}catch(o){console.error(`CardCompute.run error on "${t.id??"?"}.${s.bindTo}":`,o);}return t}function Xh(t,e){if(!t?.compute?.length)return {ok:true,node:t};t.card_data||(t.card_data={}),t.computed_values={},t._sourcesData=e?.sourcesData??{};let r=t.requires??{},n={card_data:t.card_data,requires:r,expects_data:r,fetched_sources:t._sourcesData,data:t.computed_values,computed_values:t.computed_values},s=[];for(let o of t.compute)try{let a=oc(o.expr).evaluate(n);ac(t.computed_values,o.bindTo,a),n.computed_values=t.computed_values;}catch(a){let i=a instanceof Error?a.message:String(a);s.push({bindTo:o.bindTo,error:i}),console.error(`CardCompute.runSync error on "${t.id??"?"}.${o.bindTo}":`,a);}return s.length>0?{ok:true,node:t,errors:s}:{ok:true,node:t}}async function Qh(t,e,r){let n={...r??{},card_data:e.card_data??{},requires:e.requires??{},fetched_sources:e._sourcesData??{},computed_values:e.computed_values??{}};return $n(t).evaluate(n)}function Zh(t,e){return e.startsWith("fetched_sources.")?nc(t._sourcesData??{},e.slice(16)):nc(t,e)}var sc=new Set(["metric","table","editable-table","chart","form","filter","list","notes","todo","alert","narrative","badge","text","markdown","ref","custom","actions"]),eg=new Set(["id","meta","requires","provides","view","card_data","compute","source_defs"]);function tg(t){let e=[];if(!t||typeof t!="object"||Array.isArray(t))return {ok:false,errors:["Node must be a non-null object"]};let r=t;(typeof r.id!="string"||!r.id)&&e.push("id: required, must be a non-empty string");for(let n of Object.keys(r))eg.has(n)||e.push(`Unknown top-level key: "${n}"`);if((r.card_data==null||typeof r.card_data!="object"||Array.isArray(r.card_data))&&e.push("card_data: required, must be an object"),r.meta!=null)if(typeof r.meta!="object"||Array.isArray(r.meta))e.push("meta: must be an object");else {let n=r.meta;n.title!=null&&typeof n.title!="string"&&e.push("meta.title: must be a string"),n.tags!=null&&!Array.isArray(n.tags)&&e.push("meta.tags: must be an array");}if(r.requires!=null&&!Array.isArray(r.requires)&&e.push("requires: must be an array of strings"),r.provides!=null&&(Array.isArray(r.provides)?r.provides.forEach((n,s)=>{if(!n||typeof n!="object"||Array.isArray(n))e.push(`provides[${s}]: must be an object with bindTo and ref`);else {let o=n;(typeof o.bindTo!="string"||!o.bindTo)&&e.push(`provides[${s}]: missing required "bindTo" string`),(typeof o.ref!="string"||!o.ref)&&e.push(`provides[${s}]: missing required "ref" string`);}}):e.push("provides: must be an array of { bindTo, ref } bindings")),r.compute!=null&&(Array.isArray(r.compute)?r.compute.forEach((n,s)=>{if(!n||typeof n!="object"||Array.isArray(n))e.push(`compute[${s}]: must be a compute step object`);else {let o=n;(typeof o.bindTo!="string"||!o.bindTo)&&e.push(`compute[${s}]: missing required "bindTo" property`),(typeof o.expr!="string"||!o.expr)&&e.push(`compute[${s}]: missing required "expr" string (JSONata expression)`);}}):e.push("compute: must be an array of compute steps")),r.source_defs!=null)if(!Array.isArray(r.source_defs))e.push("source_defs: must be an array");else {let n=new Set,s=new Set;r.source_defs.forEach((o,a)=>{if(!o||typeof o!="object"||Array.isArray(o))e.push(`source_defs[${a}]: must be an object`);else {let i=o;typeof i.bindTo!="string"||!i.bindTo?e.push(`source_defs[${a}]: missing required "bindTo" property`):(n.has(i.bindTo)&&e.push(`source_defs[${a}]: bindTo "${i.bindTo}" is not unique across source_defs`),n.add(i.bindTo)),typeof i.outputFile!="string"||!i.outputFile?e.push(`source_defs[${a}]: missing required "outputFile" property`):(s.has(i.outputFile)&&e.push(`source_defs[${a}]: outputFile "${i.outputFile}" is not unique across source_defs`),s.add(i.outputFile)),i.optionalForCompletionGating!=null&&typeof i.optionalForCompletionGating!="boolean"&&e.push(`source_defs[${a}]: optionalForCompletionGating must be a boolean`);}});}if(r.view!=null)if(typeof r.view!="object"||Array.isArray(r.view))e.push("view: must be an object");else {let n=r.view;!Array.isArray(n.elements)||n.elements.length===0?e.push("view.elements: required, must be a non-empty array"):n.elements.forEach((s,o)=>{if(!s||typeof s!="object"){e.push(`view.elements[${o}]: must be an object`);return}!s.kind||typeof s.kind!="string"?e.push(`view.elements[${o}].kind: required, must be a string`):sc.has(s.kind)||e.push(`view.elements[${o}].kind: unknown kind "${s.kind}". Valid: ${[...sc].join(", ")}`),s.data!=null&&(typeof s.data!="object"||Array.isArray(s.data))&&e.push(`view.elements[${o}].data: must be an object`);}),n.layout!=null&&(typeof n.layout!="object"||Array.isArray(n.layout))&&e.push("view.layout: must be an object"),n.features!=null&&(typeof n.features!="object"||Array.isArray(n.features))&&e.push("view.features: must be an object");}return {ok:e.length===0,errors:e}}async function rg(t,e){if(!t||t.length===0)return [];let r={card_data:e.card_data??{},requires:e.requires??{}};return Promise.all(t.map(async n=>{let s={};if(n.projections&&typeof n.projections=="object"&&!Array.isArray(n.projections)){for(let[o,a]of Object.entries(n.projections))if(typeof a=="string"&&a.trim().length>0)try{s[o]=await $n(a).evaluate(r);}catch{s[o]=void 0;}}return {...n,_projections:s}}))}function ng(t,e){if(!t||t.length===0)return [];let r={card_data:e.card_data??{},requires:e.requires??{}};return t.map(n=>{let s={};if(n.projections&&typeof n.projections=="object"&&!Array.isArray(n.projections)){for(let[o,a]of Object.entries(n.projections))if(typeof a=="string"&&a.trim().length>0)try{s[o]=oc(a).evaluate(r);}catch{s[o]=void 0;}}return {...n,_projections:s}})}var Rn={run:Yh,runSync:Xh,eval:Qh,resolve:Zh,validate:tg,enrichSources:rg,enrichSourcesSync:ng};function Cn(t,e){function r(){return t.readIndex()??{}}function n(s,o,a){let i=String(o||"").split(".").filter(Boolean);if(i.length===0)return a&&typeof a=="object"&&!Array.isArray(a)?a:{value:a};let u={...s},c=u;for(let d=0;d<i.length-1;d++){let f=i[d],b=c[f],h=b&&typeof b=="object"&&!Array.isArray(b)?{...b}:{};c[f]=h,c=h;}return c[i[i.length-1]]=a,u}return {readCard(s){let o=r()[s];return !o||!t.cardExists(o.key)?null:t.readCard(o.key)},readCardKey(s){return r()[s]?.key??null},readAllCards(){let s=[];for(let[o,a]of Object.entries(r())){if(!t.cardExists(a.key))continue;let i=t.readCard(a.key);i?s.push(i):e?.(`[card-store] could not read card "${o}" at key "${a.key}"`);}return s},readChecksumIndex(){let s={};for(let[o,a]of Object.entries(r()))s[o]=a.checksum;return s},changedSince(s){let o=r(),a=[];for(let[i,u]of Object.entries(o))s[i]!==u.checksum&&a.push(i);for(let i of Object.keys(s))o[i]||a.push(i);return a},validateUpsert(s,o){let a=r(),i=a[s],u=Object.entries(a).find(([,c])=>c.key===o);return i&&i.key!==o?{ok:false,error:`Card id "${s}" is already mapped to key "${i.key}", cannot remap to "${o}"`}:u&&u[0]!==s?{ok:false,error:`Key "${o}" is already mapped to card id "${u[0]}", cannot remap to "${s}"`}:{ok:true}},writeCard(s,o,a){let i=r(),u=a??i[s]?.key??t.defaultCardKey(s),c=t.writeCard(u,o);i[s]={key:u,checksum:c,updatedAt:new Date().toISOString()},t.writeIndex(i);},patchCard(s,o,a){let i=r(),u=i[s];if(!u||!t.cardExists(u.key))throw new Error(`card "${s}" not found`);let c=t.readCard(u.key);if(!c||typeof c!="object"||Array.isArray(c))throw new Error(`card "${s}" is not patchable`);let d=n(c,o,a),f=t.writeCard(u.key,d);i[s]={key:u.key,checksum:f,updatedAt:new Date().toISOString()},t.writeIndex(i);},removeCard(s){let o=r();o[s]&&(delete o[s],t.writeIndex(o));},readIndex(){return r()}}}function jo(t,e){return {readSourceData(r,n){let s=t.read(`${r}/${n}`);if(s==null)return null;let o=s.trim();if(!o)return null;try{return JSON.parse(o)}catch{return o}},ingestSourceDataStaged(r,n,s,o){let a=e(s);t.write(`${r}/.staged/${o}/${n}`,a);},commitSourceData(r,n,s){let o=`${r}/.staged/${s}/${n}`,a=t.read(o);return a==null?false:(t.write(`${r}/${n}`,a),t.remove(o),true)},hasSource(r,n){return t.exists(`${r}/${n}`)}}}function uc(t){function e(r){let n=t.readAllEntries();if(!r)return n;let s=n.findIndex(o=>o.id===r);return s===-1?n:n.slice(s+1)}return {readEntriesAfterCursor(r){let n=e(r);return n.length===0?{events:[],newCursor:r}:{events:n.map(s=>s.event),newCursor:n[n.length-1].id}},pendingCount(r){return e(r).length},appendEvent(r){t.appendEntry({id:t.generateId(),event:r});}}}function cc(t,e){return {appendEntries(r,n){if(!r||n.length===0)return;let s=t.read(r)??[];t.write(r,[...s,...n]);},dispatchEntriesForJournalId(r,n){if(!r)return;let s=t.read(r);if(!(!s||s.length===0)){for(let o of s)try{n(o);}catch(a){let i=a instanceof Error?a.message:String(a);try{e(o,i);}catch{}}t.delete(r);}}}}var Er="v1",ot="board/graph",dc="board/lastJournalProcessedId";function ic(t){return `cards/${t}/runtime`}function lc(t){return {readRuntime(e){return t.read(ic(e))??{_sources:{}}},writeRuntime(e,r){t.write(ic(e),r);}}}function sg(t,e){let r={...t};for(let n of e.deleteKeys)delete r[n];return {...r,...e.shallowMerge}}function fc(t){return {readSnapshot(e){return t.readValues(e)},commitSnapshot(e,r){if(r.schemaVersion!==Er)throw new Error(`Unsupported snapshot schema version: ${r.schemaVersion}`);let n=t.readValues(e);if(n.version!==r.expectedVersion)return {ok:false,reason:"version-mismatch",currentVersion:n.version};let s=sg(n.values,r);return {ok:true,newVersion:t.writeValues(e,s,r.deleteKeys)}}}}function No(t){function e(r){let n=t.read(r);return n==null?null:typeof n=="string"?n:JSON.stringify(n)}return {readTaskExecutorRef(){let r=e("task-executor");if(r?.trim())return Oo(r.trim())},writeTaskExecutorRef(r){t.write("task-executor",Po(r));},readChatHandlerRef(){let r=e("chat-handler");if(r?.trim())return Oo(r.trim())},writeChatHandlerRef(r){t.write("chat-handler",Po(r));},readCardStoreRef(){return e("card-store-ref")},writeCardStoreRef(r){t.write("card-store-ref",r);},readOutputsStoreRef(){return e("outputs-store-ref")},writeOutputsStoreRef(r){t.write("outputs-store-ref",r);},readChatHandler(){return e("chat-handler")?.trim()||void 0},writeChatHandler(r){t.write("chat-handler",r);}}}function pc(t){return {writeComputedValues(e,r){t.write(`cards/${e}/computed_values`,r);},readComputedValues(e){return t.read(`cards/${e}/computed_values`)},readAllComputedValues(){let e={};for(let r of t.listKeys("cards/")){let n=r.match(/^cards\/([^/]+)\/computed_values$/);n&&(e[n[1]]=t.read(r));}return e},writeDataObjects(e){for(let[r,n]of Object.entries(e))r&&t.write(`data-objects/${r}`,n);},readDataObject(e){return t.read(`data-objects/${e}`)},readAllDataObjects(){let e={};for(let r of t.listKeys("data-objects/"))e[r.slice(13)]=t.read(r);return e},writeStatusSnapshot(e){t.write("status",e);},readStatusSnapshot(){return t.read("status")}}}function og(t){return t?.lastRequestedAt?!t.lastFetchedAt||t.lastFetchedAt<t.lastRequestedAt:false}function ag(t,e){return t?.lastRequestedAt?og(t)?"in-flight":!t.lastFetchedAt||t.lastFetchedAt<e?"dispatch":"idle":"dispatch"}function ig(t,e){let r={...t,lastFetchedAt:e};return delete r.lastError,r}function ug(t,e){let r={...t,lastError:e};return delete r.lastFetchedAt,r}function En(t,e){let r=e.state.tasks,n=e.config.tasks,s=Object.keys(r),o=Rr(e),a={completed:0,failed:0,in_progress:0,pending:0,blocked:0,unresolved:0},i=new Map;for(let p of o.pending)i.set(p.taskName,p.waitingOn);for(let p of o.unresolved)i.set(p.taskName,p.missingTokens);for(let p of o.blocked)i.set(p.taskName,p.failedTokens);let u=new Map;for(let[p,l]of Object.entries(n))for(let m of l.requires??[]){let y=u.get(m)??[];y.push(p),u.set(m,y);}let c=s.sort().map(p=>{let l=r[p],m=n[p]??{requires:[],provides:[]};l.status==="completed"?a.completed+=1:l.status==="failed"?a.failed+=1:l.status==="in-progress"&&(a.in_progress+=1);let y=m.requires??[],g=m.provides??[],S=Object.keys(l.data??{}).sort(),_=y.filter(F=>e.state.availableOutputs.includes(F)),w=y.filter(F=>!e.state.availableOutputs.includes(F)),A=i.get(p)??w,R=new Set;for(let F of g)for(let z of u.get(F)??[])z!==p&&R.add(z);let j=l.failedAt,H=l.error?{message:l.error,code:"TASK_FAILED",at:j,source:"task-runtime"}:void 0;return {name:p,status:l.status,error:H,requires:y,requires_satisfied:_,requires_missing:w,provides_declared:g,provides_runtime:S,blocked_by:A,unblocks:Array.from(R).sort(),runtime:{attempt_count:l.executionCount??0,restart_count:l.retryCount??0,in_progress_since:l.status==="in-progress"?l.startedAt??null:null,last_transition_at:l.lastUpdated??null,last_completed_at:l.completedAt??null,last_restarted_at:l.startedAt??null,status_age_ms:l.lastUpdated?0:null}}});a.pending=o.pending.length,a.blocked=o.blocked.length,a.unresolved=o.unresolved.length;let d=c.map(p=>({name:p.name,fanOut:p.unblocks.length})).sort((p,l)=>l.fanOut-p.fanOut||p.name.localeCompare(l.name)),f=d.length>0?d[0]:{name:null,fanOut:0},b=new Set;for(let p of Object.values(n))for(let l of p.requires??[])b.add(l);let h=0;for(let[p,l]of Object.entries(n)){let m=(l.requires??[]).length===0,g=(l.provides??[]).some(S=>(u.get(S)??[]).some(_=>_!==p));m&&!g&&(h+=1);}return {schema_version:"v1",meta:{board:{path:t}},summary:{card_count:s.length,completed:a.completed,eligible:o.eligible.length,pending:a.pending,blocked:a.blocked,unresolved:a.unresolved,failed:a.failed,in_progress:a.in_progress,orphan_cards:h,topology:{edge_count:Array.from(b).length,max_fan_out_card:f.name,max_fan_out:f.fanOut}},cards:c}}function cg(){return new Date().toISOString()}function mc(t,e,r,n,s,o,a){return async i=>{let u=[],c=r.cardStore.readCard(i.nodeId);if(!c)return "task-initiate-failure";let d=c.id,f=c.card_data??{},b=c.source_defs??[],h=b.filter(M=>M.optionalForCompletionGating!==true),p=r.cardRuntimeStore.readRuntime(d),l=false,m=()=>{l&&(r.cardRuntimeStore.writeRuntime(d,p),l=false);},y=M=>({...p._sources[M]??{}}),g=(M,G)=>{p._sources[M]=G,l=true;},S=i.taskState?.executionCount??0,_=p._lastExecutionCount;if(typeof _=="number"&&_!==S&&(p._sources={},l=true),_!==S&&(p._lastExecutionCount=S,l=true),i.update){let M=i.update,G=M.outputFile;if(G){let k=y(G);if(M.failure)g(G,ug(k,M.reason??"unknown"));else {let v=M.rqt;if(!k.lastFetchedAt||v>k.lastFetchedAt){let C=typeof M.deliveryToken=="string"?M.deliveryToken:void 0;C&&r.fetchedSourcesStore.commitSourceData(d,G,C),g(G,ig(k,v));}}m();}}let w={};for(let M of b)if(M.outputFile){let G=r.fetchedSourcesStore.readSourceData(d,M.outputFile);G!==null&&(w[M.bindTo]=G);}let A={};for(let[M,G]of Object.entries(i.state??{}))if(G!==null&&typeof G=="object"&&!Array.isArray(G)){let k=G[M];A[M]=k!==void 0?k:G;}else A[M]=G;let R={id:d,card_data:{...f},requires:A,source_defs:b,compute:c.compute};R._sourcesData=w,c.compute&&Rn.runSync(R,{sourcesData:w}),(o??r.outputStore.writeComputedValues.bind(r.outputStore))(d,R.computed_values??{});let j={...c},H=Rn.enrichSourcesSync(Array.isArray(c.source_defs)?c.source_defs:void 0,{card_data:c.card_data,requires:A}),F=t.value;j.source_defs=Array.isArray(H)?H.map(M=>({...M,boardDir:typeof M.boardDir=="string"&&M.boardDir?M.boardDir:F})):H;let z=cg(),de=i.update?void 0:z,ie=h.filter(M=>{let G=M.outputFile;if(typeof G!="string"||!G)return true;let k=y(G);de&&(k={...k,queueRequestedAt:de},g(G,k));let v=k.queueRequestedAt??k.lastRequestedAt??z,C=ag(k,v);return C==="in-flight"?false:C==="dispatch"});if(m(),ie.length>0){let M=false,G=z;for(let k of ie){let v=k.outputFile;if(typeof v!="string"||!v)continue;let C=y(v),P=C.queueRequestedAt??z;g(v,{...C,lastRequestedAt:P}),G=P,M=true;}return M&&m(),M&&(u.push({taskKind:"source-fetch",payload:{boardRef:se(t),enrichedCard:j,callbackToken:i.callbackToken,rqt:G}}),r.executionRequestStore.appendEntries(e,u)),"task-initiated"}let it=c.provides??[],Bt={};for(let{bindTo:M,ref:G}of it)Bt[M]=Rn.resolve(R,G);return (a??r.outputStore.writeDataObjects.bind(r.outputStore))(Bt),b.filter(M=>{if(M.optionalForCompletionGating!==true)return false;let G=y(M.outputFile);return !G.lastRequestedAt||!G.lastFetchedAt?true:G.lastFetchedAt<=G.lastRequestedAt}).length>0&&u.push({taskKind:"source-fetch",payload:{boardRef:se(t),enrichedCard:j,callbackToken:i.callbackToken,rqt:z}}),n(i.nodeId,Bt),u.length>0&&r.executionRequestStore.appendEntries(e,u),"task-initiated"}}var xn={settings:{completion:"manual",refreshStrategy:"data-changed"},tasks:{}};function hc(t){return {[ot]:t.graph,[dc]:t.lastDrainedJournalId}}function gc(t){let e=t[ot],r=t[dc];if(!e||typeof e!="object")throw new Error(`State snapshot is missing required key: ${ot}`);return {graph:e,lastDrainedJournalId:typeof r=="string"?r:""}}function yc(t){let e=t.requires,r=t.provides?.map(n=>n.bindTo)??[];return {requires:e&&e.length>0?e:void 0,provides:r,taskHandlers:["card-handler"],description:t.meta?.title??t.id}}function te(t){return t!==void 0?{status:"success",data:t}:{status:"success"}}function q(t){return {status:"fail",error:t}}function ee(t){return {status:"error",error:t instanceof Error?t.message:String(t)}}function dg(t){let e=new TextEncoder().encode(t),r=Array.from(e,n=>String.fromCharCode(n)).join("");return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function bc(t){let e=t.replace(/-/g,"+").replace(/_/g,"/"),r=e+"=".repeat((4-e.length%4)%4),n=atob(r),s=Uint8Array.from(n,o=>o.charCodeAt(0));return new TextDecoder().decode(s)}function Tn(t){try{let e=JSON.parse(bc(t));return typeof e?.t=="string"?{taskName:e.t}:null}catch{return null}}function lg(t){return dg(JSON.stringify(t))}function vc(t){try{let e=JSON.parse(bc(t));return typeof e?.cbk=="string"&&typeof e?.cid=="string"&&typeof e?.b=="string"&&typeof e?.d=="string"?e:null}catch{return null}}function Ce(){return new Date().toISOString()}function xr(t,e){let r=e.onWarn??(()=>{}),n=se(t);function s(k){if(k.length!==0)try{let v=e.publishBoardChangeNotifications?.(k);v&&typeof v.catch=="function"&&v.catch(C=>r(`[board-live-cards-public] publishBoardChangeNotifications failed: ${C instanceof Error?C.message:String(C)}`));}catch(v){r(`[board-live-cards-public] publishBoardChangeNotifications failed: ${v instanceof Error?v.message:String(v)}`);}}function o(){let k=i().readCardStoreRef();if(!k)throw new Error(`Board at ${t.value} has no card store configured. Run: init --base-ref <ref> --store-ref <b64-ref>`);let v=e.kvStorageForRef(k);return {readIndex(){return v.read("_index")},writeIndex(C){v.write("_index",C);},readCard(C){return v.read(C)},writeCard(C,P){return v.write(C,P),e.hashFn(P)},cardExists(C){return v.read(C)!==null},defaultCardKey(C){return C}}}let a={readValues(k){let v=e.kvStorage("state-snapshot"),C=v.listKeys().sort();if(C.length===0)return {version:null,values:{}};let P={};for(let X of C)P[X]=v.read(X);return {version:e.hashFn(P),values:P}},writeValues(k,v,C){let P=e.kvStorage("state-snapshot");for(let X of C)P.delete(X);for(let[X,re]of Object.entries(v))P.write(X,re);return e.hashFn(v)}},i=()=>No(e.kvStorage("config")),u=()=>fc(a),c=()=>uc(e.journalAdapter()),d=()=>Cn(o(),r),f=()=>{let k=i().readOutputsStoreRef();if(!k)throw new Error(`Board at ${t.value} has no outputs store configured. Run: init --outputs-store-ref <b64-ref>`);return pc(e.kvStorageForRef(k))};function b(){return !!u().readSnapshot(t.value).values[ot]}function h(){let k=u().readSnapshot(t.value);if(!k.values[ot])throw new Error(`Board not initialized at ${t.value}`);return gc(k.values)}function p(k,v){let C=u().commitSnapshot(t.value,{schemaVersion:Er,expectedVersion:v,commitId:e.genId(),committedAt:Ce(),deleteKeys:[],shallowMerge:hc(k)});if(!C.ok)throw new Error(`Snapshot commit failed (version mismatch): expected=${v??"null"} current=${C.currentVersion??"null"}`)}function l(k){c().appendEvent(k);}async function m(){let k=(x,O)=>{let ne=x.payload,ze=(ne?.enrichedCard??{}).id??ne?.cardId??"unknown";l({type:"task-failed",taskName:ze,error:O,timestamp:Ce()});},v=cc(e.kvStorage("execution-requests"),k),C=lc(e.kvStorage("card-runtime")),P=jo(e.blobStorage("sources"),x=>e.resolveBlob(x)),X=new Map,re={readRuntime(x){return X.get(x)??C.readRuntime(x)},writeRuntime(x,O){X.set(x,O);}},He=[],$e=new Map,Le={readSourceData(x,O){let ne=`${x}/${O}`;return $e.has(ne)?$e.get(ne):P.readSourceData(x,O)},ingestSourceDataStaged(x,O,ne,_t){P.ingestSourceDataStaged(x,O,ne,_t);},commitSourceData(x,O,ne){let _t=`${x}/.staged/${ne}/${O}`,Or=e.blobStorage("sources").read(_t);if(Or==null)return false;let $t=`${x}/${O}`,Vo=Or.trim();try{$e.set($t,JSON.parse(Vo));}catch{$e.set($t,Vo);}return He.push({cardId:x,outputFile:O,deliveryToken:ne}),true},hasSource(x,O){let ne=`${x}/${O}`;return $e.has(ne)?true:P.hasSource(x,O)}},Ne={cardStore:d(),cardRuntimeStore:re,fetchedSourcesStore:Le,outputStore:f(),executionRequestStore:v},ut=h(),ct=_n(ut.graph),{events:wt,newCursor:kt}=c().readEntriesAfterCursor(ut.lastDrainedJournalId),dt=[],Pn=[],On=[],Fo=new Map,Sc=(x,O)=>{dt.push({type:"task-completed",taskName:x,data:O,timestamp:Ce()});},Mo=(x,O)=>l({type:"task-failed",taskName:x,error:O,timestamp:Ce()}),Ir=rc(ct,{handlers:{"card-handler":mc(t,kt,Ne,Sc,Mo,(x,O)=>{Pn.push({cardId:x,values:O});},x=>{On.push(x);})}});for(dt=wt;dt.length>0;){let x=dt;dt=[];for(let O of x)if(O.type==="task-restart"){let ne=Ne.cardStore.readCard(O.taskName);ne&&Fo.set(O.taskName,ne);}Ir.pushAll(x),await Ir.waitForHandlers();}let Lo=Ir.getState();await Ir.dispose({wait:true});let wc=u().readSnapshot(t.value).version;p({lastDrainedJournalId:kt,graph:$r(Lo)},wc);for(let{cardId:x,values:O}of Pn)Ne.outputStore.writeComputedValues(x,O);for(let x of On)Ne.outputStore.writeDataObjects(x);for(let[x,O]of X)C.writeRuntime(x,O);for(let{cardId:x,outputFile:O,deliveryToken:ne}of He)P.commitSourceData(x,O,ne);let Pr;try{Pr=En(n,Lo),Ne.outputStore.writeStatusSnapshot(Pr);}catch(x){r(`[board-live-cards-public] status publish failed: ${x instanceof Error?x.message:String(x)}`);}let Gt=[];for(let{cardId:x,values:O}of Pn)Gt.push({kind:"computed_values",cardId:x,values:O});for(let x of On)for(let[O,ne]of Object.entries(x))O&&Gt.push({kind:"data_object",key:O,payload:ne});for(let[x,O]of Fo)Gt.push({kind:"card_refreshed",cardId:x,card:O});Pr!==void 0&&Gt.push({kind:"status",status:Pr}),s(Gt);let kc=i().readTaskExecutorRef()??{howToRun:"built-in",whatToRun:se({kind:"built-in",value:"source-cli-task-executor"})};v.dispatchEntriesForJournalId(kt,x=>{if(x.taskKind!=="source-fetch"){r(`[process-accumulated-events] unknown taskKind "${x.taskKind}" \u2014 skipping`);return}let O=x.payload,ne=O.enrichedCard?.id??"unknown",_t=O.enrichedCard?.source_defs??[];for(let ze of _t){if(!ze.outputFile){r(`[dispatch] source "${ze.bindTo}" has no outputFile \u2014 skipping`);continue}let Or=lg({cbk:O.callbackToken,rg:t.value,br:se(t),cid:ne,b:ze.bindTo,d:ze.outputFile,cs:void 0,rqt:O.rqt});e.dispatchExecution(kc,{source_def:ze,base_ref:se(t),callback:{token:Or,via:e.selfRef}}).catch($t=>Mo(ne,$t instanceof Error?$t.message:String($t)));}});}async function y(){try{let k=()=>{let C=h(),{events:P}=c().readEntriesAfterCursor(C.lastDrainedJournalId);P.length<=0||(y(),e.requestProcessAccumulated?.());},v=await Go(e.lock,m,k);return te({ran:v!==!1})}catch(k){return ee(k)}}function g(k){try{let v=k.params?.cardStoreRef;if(!v)return q("init requires params.cardStoreRef \u2014 create a card store with card-store-cli and pass its ref here");if(!b()){let re=kn(xn);p({lastDrainedJournalId:"",graph:$r(re)},null);}let C=k.params?.outputsStoreRef;if(!C)return q("init requires params.outputsStoreRef \u2014 pass the outputs store ref here");let P=i();P.writeCardStoreRef(v),P.writeOutputsStoreRef(C);let X=k.body??{};X["task-executor-ref"]&&P.writeTaskExecutorRef(X["task-executor-ref"]),X["chat-handler-ref"]&&P.writeChatHandlerRef(X["chat-handler-ref"]);try{f().writeStatusSnapshot(En(n,_n(h().graph)));}catch{}return te()}catch(v){return ee(v)}}function S(k){try{let v=f().readStatusSnapshot();if(!v){v=En(n,_n(h().graph));try{f().writeStatusSnapshot(v);}catch{}}return te(v)}catch(v){return ee(v)}}function _(k){try{let v=k.params?.id;return v?(l({type:"task-removal",taskName:v,timestamp:Ce()}),y(),te()):q("removeCard requires params.id")}catch(v){return ee(v)}}function w(k){try{let v=k.params?.id;return v?(l({type:"task-restart",taskName:v,timestamp:Ce()}),y(),te()):q("retrigger requires params.id")}catch(v){return ee(v)}}async function A(k){return y()}function R(k){try{let v=k.params?.cardId,C=k.params?.all,P=!!k.params?.restart;if(!v&&!C)return q("upsertCard requires --card-id <id> or --all");let X=C?d().readAllCards().map(re=>re.id):[v];for(let re of X)if(!d().readCard(re))return q(`Card "${re}" not found in board at ${t.value}`);for(let re of X){let He=d().readCard(re),$e=yc(He),Le=e.hashFn($e),Ne=e.kvStorage("card-upsert"),ut=Ne.read(re),ct=ut?.taskConfigHash!==Le;if(!(!ct&&!P)){if(ct){let wt=ut?.blobRef??d().readCardKey(re)??re;l({type:"task-upsert",taskName:re,taskConfig:$e,timestamp:Ce()}),Ne.write(re,{blobRef:wt,taskConfigHash:Le,updatedAt:Ce()});}P&&l({type:"task-restart",taskName:re,timestamp:Ce()});}}return y(),te()}catch(v){return ee(v)}}function j(k){try{let v=k.params?.token;if(!v)return q("taskFailed requires params.token");let C=k.params?.error??"unknown error",P=Tn(v);return P?(l({type:"task-failed",taskName:P.taskName,error:C,timestamp:Ce()}),y(),te()):q("Invalid callback token")}catch(v){return ee(v)}}function H(k){try{let v=k.params?.token;if(!v)return q("taskProgress requires params.token");let P=(k.body??{}).update??{},X=Tn(v);return X?(l({type:"task-progress",taskName:X.taskName,update:P,timestamp:Ce()}),y(),te()):q("Invalid callback token")}catch(v){return ee(v)}}function F(k){try{let v=k.params?.token,C=k.params?.ref;if(!v)return q("sourceDataFetched requires params.token");if(!C)return q("sourceDataFetched requires params.ref");let P=vc(v);if(!P)return q("Invalid source token");let{cbk:X,cid:re,b:He,d:$e,cs:Le,rqt:Ne}=P,ut=jo(e.blobStorage("sources"),dt=>e.resolveBlob(dt)),ct=e.genId();ut.ingestSourceDataStaged(re,$e,be(C),ct);let wt=Tn(X);if(!wt)return q("Invalid callback token embedded in source token");let kt=Ce();return l({type:"task-progress",taskName:wt.taskName,update:{bindTo:He,outputFile:$e,fetchedAt:kt,deliveryToken:ct,sourceChecksum:Le,rqt:Ne},timestamp:kt}),y(),te()}catch(v){return ee(v)}}function z(k){try{let v=k.params?.token,C=k.params?.reason??"unknown";if(!v)return q("sourceDataFetchFailure requires params.token");let P=vc(v);if(!P)return q("Invalid source token");let{cbk:X,b:re,d:He,cs:$e}=P,Le=Tn(X);return Le?(l({type:"task-progress",taskName:Le.taskName,update:{bindTo:re,outputFile:He,failure:!0,reason:C,sourceChecksum:$e},timestamp:Ce()}),y(),te()):q("Invalid callback token embedded in source token")}catch(v){return ee(v)}}function de(k){try{let v=i().readCardStoreRef();return v?te({storeRef:v}):q(`Board at ${t.value} has no card store configured`)}catch(v){return ee(v)}}function ie(k){try{let v=i().readOutputsStoreRef();return v?te({storeRef:v}):q(`Board at ${t.value} has no outputs store configured`)}catch(v){return ee(v)}}function it(k){try{let v=k.params?.key;if(!v)return q("getConfig requires params.key");let C=i(),P;switch(v){case "task-executor":P=C.readTaskExecutorRef()??null;break;case "chat-handler":P=C.readChatHandlerRef()??null;break;case "card-store-ref":P=C.readCardStoreRef();break;case "outputs-store-ref":P=C.readOutputsStoreRef();break;default:return q(`getConfig: unknown key "${v}"`)}return te({value:P})}catch(v){return ee(v)}}function Bt(k){try{let v=k.params?.key;if(!v)return q("getOutputsDataObject requires params.key");let C=f().readDataObject(v);return te(C)}catch(v){return ee(v)}}function Do(k){try{return te(f().readAllDataObjects())}catch(v){return ee(v)}}function M(k){try{let v=k.params?.key;if(!v)return q("getOutputsComputedValues requires params.key");let C=f().readComputedValues(v);return te(C)}catch(v){return ee(v)}}function G(k){try{return te(f().readAllComputedValues())}catch(v){return ee(v)}}return {init:g,status:S,getCardStoreRef:de,getOutputsStoreRef:ie,getConfig:it,getOutputsDataObject:Bt,getAllOutputsDataObjects:Do,getOutputsComputedValues:M,getAllOutputsComputedValues:G,removeCard:_,retrigger:w,processAccumulatedEvents:A,upsertCard:R,taskFailed:j,taskProgress:H,sourceDataFetched:F,sourceDataFetchFailure:z}}function Tr(t,e){let r=()=>No(e.kvStorage("config"));function n(){let p=r().readCardStoreRef();if(!p)throw new Error(`Board at ${t.value} has no card store configured. Run: init --base-ref <ref> --store-ref <b64-ref>`);let l=e.kvStorageForRef(p);return {readIndex(){return l.read("_index")},writeIndex(m){l.write("_index",m);},readCard(m){return l.read(m)},writeCard(m,y){return l.write(m,y),e.hashFn(y)},cardExists(m){return l.read(m)!==null},defaultCardKey(m){return m}}}let s=()=>Cn(n(),e.onWarn??(()=>{}));function o(p,l){let m=e.validateSchema(l),y=[],g=r().readTaskExecutorRef();if(g&&Array.isArray(l.source_defs))for(let _ of l.source_defs){let w=typeof _.bindTo=="string"?_.bindTo:"(unknown)",A=e.makeTempFilePath(`validate-src-${w}`);try{e.absoluteBlob.write(A,JSON.stringify(_));let R;try{R=e.invokeExecutorSync(g,"validate-source-def",["--in",A],{timeout:1e4});}catch(H){let F=H;if(R=typeof F?.stdout=="string"?F.stdout:"",!R.trim()){y.push(`source "${w}": executor validate-source-def failed \u2014 ${H instanceof Error?H.message:String(H)}`);continue}}let j=JSON.parse(R.trim());if(!j.ok&&Array.isArray(j.errors))for(let H of j.errors)y.push(`source "${w}": ${H}`);}catch(R){y.push(`source "${w}": executor validate-source-def failed \u2014 ${R instanceof Error?R.message:String(R)}`);}finally{try{e.absoluteBlob.remove(A);}catch{}}}let S=[...m.errors,...y];return te({cardId:p,isValid:S.length===0,issues:S})}function a(p,l,m){let y=r().readTaskExecutorRef();if(!y)return q("No task-executor registered for this board");let g=typeof p.bindTo=="string"?p.bindTo:"source",S=e.makeTempFilePath(`probe-in-${g}`),_=e.makeTempFilePath(`probe-out-${g}`),w=e.makeTempFilePath(`probe-err-${g}`,".txt"),A={...p,boardDir:t.value,_projections:l},R=se({kind:"fs-path",value:S}),j=se({kind:"fs-path",value:_}),H=se({kind:"fs-path",value:w});e.absoluteBlob.write(S,JSON.stringify(A,null,2));let F=null;try{if(e.invokeExecutorSync(y,"run-source-fetch",["--in-ref",R,"--out-ref",j,"--err-ref",H],{timeout:p.timeout??3e4}),F=e.absoluteBlob.read(_),F===null)return q("Executor produced no output file")}catch(z){let de=e.absoluteBlob.read(w)?.trim()??(z instanceof Error?z.message:String(z));return q(`Probe failed: ${de}`)}finally{try{e.absoluteBlob.remove(S);}catch{}try{e.absoluteBlob.remove(w);}catch{}}if(m){let z=be(m);e.absoluteBlob.write(z.value,F);}else try{e.absoluteBlob.remove(_);}catch{}return te({bindTo:g,resultSizeBytes:F.length})}function i(p){try{let l=p.params?.cardId,m=p.params?.all;if(!l&&!m)return q("validateCard requires --card-id <id> or --all");let y=m?s().readAllCards().map(S=>S.id):[l],g=[];for(let S of y){let _=s().readCard(S);if(!_){g.push({cardId:S,isValid:!1,issues:[`Card "${S}" not found`]});continue}let w=o(S,_);if(w.status!=="success")return w;g.push(w.data);}return te(g)}catch(l){return ee(l)}}function u(p){try{if(!p.body||typeof p.body!="object"||Array.isArray(p.body))return q("validateTmpCard requires card JSON object in body");let l=p.body,m=l["card-content"]??l,y=typeof m.id=="string"?m.id:"(unknown)";return o(y,m)}catch(l){return ee(l)}}function c(p){try{let l=p.params?.cardId,m=p.params?.sourceIdx,y=p.params?.outRef;if(!l)return q("probeSource requires params.cardId");if(m===void 0)return q("probeSource requires params.sourceIdx");let S=(p.body??{})["mock-projections"]??{},_=s().readCard(l);if(!_)return q(`Card "${l}" not found`);let w=_.source_defs??[];return m<0||m>=w.length?q(`sourceIdx ${m} out of range (card has ${w.length} source(s))`):a(w[m],S,y)}catch(l){return ee(l)}}function d(p){try{let l=p.params?.outRef,m=p.body;if(!m)return q('probeTmpSource requires body with "source-def" and "mock-projections"');let y=m["source-def"],g=m["mock-projections"]??{};return y?a(y,g,l):q('probeTmpSource body requires "source-def"')}catch(l){return ee(l)}}function f(p){try{let l=r().readTaskExecutorRef();if(!l)return q("No task-executor registered for this board");let m=e.invokeExecutorSync(l,"describe-capabilities",[],{timeout:1e4});return te(JSON.parse(m.trim()))}catch(l){return ee(l)}}function b(p){try{let l=p.body;if(!l||!Array.isArray(l.ops))return q("updatesInCardStore requires body.ops array");let m=l.ops,y=s();for(let g of m){let S=g.op,_=g.id;if(!_)return q('op is missing "id"');if(S==="update"){let w=g["card-content"];if(!w)return q(`update op for "${_}" is missing "card-content"`);y.writeCard(_,w);}else return q(`Unknown op type: "${S??"(none)"}"`)}return te()}catch(l){return ee(l)}}function h(p){try{let l=p.body;if(!l||!Array.isArray(l.ids))return q("readFromCardStore requires body.ids array");let m=l.ids,y=s(),g=m.map(S=>({id:S,"card-content":y.readCard(S)}));return te({cards:g})}catch(l){return ee(l)}}return {validateCard:i,validateTmpCard:u,probeSource:c,probeTmpSource:d,describeTaskExecutorCapabilities:f,updatesInCardStore:b,readFromCardStore:h}}var fg=".board.lock";function Ar(t,e,r){let n=t.value,{cmd:s,args:o}=Jt(e,"_",[]),a=s===process.execPath&&o[0]?.endsWith(".js")?o[0]:o[1]??o[0],i={meta:"board-live-cards",howToRun:"local-node",whatToRun:se({kind:"fs-path",value:a}),...r?.notifyChannel?{extra:{notifyChannel:r.notifyChannel}}:{}};return {kvStorage:u=>Vn(qr(n,`.${u}`)),blobStorage:u=>u?Fr(qr(n,u)):Fr(n),journalAdapter:()=>ia(n),lock:ua(qr(n,fg)),selfRef:i,async dispatchExecution(u,c){if(r?.suppressSpawn)return {dispatched:false};try{let d=c.source_def?.bindTo??Nn().slice(0,8),f=Kt(n,`exec-in-${d}`),b=Kt(n,`exec-out-${d}`),h=Kt(n,`exec-err-${d}`,".txt"),p=se({kind:"fs-path",value:f}),l=se({kind:"fs-path",value:b}),m=se({kind:"fs-path",value:h});return oa({kind:"fs-path",value:f}).write(f,JSON.stringify(c,null,2)),sa(u,{subcommand:"run-source-fetch",inRef:p,outRef:l,errRef:m},e),{dispatched:!0}}catch(d){return {dispatched:false,error:d instanceof Error?d.message:String(d)}}},resolveBlob(u){let c=Ho(u.value)?Ln().read(u.value):Fr(n).read(u.value);if(c===null)throw new Error(`resolveBlob: blob not found: ::${u.kind}::${u.value}`);return c},hashFn:aa,genId:()=>zo(`${Date.now()}-${Math.random()}`).slice(0,32),kvStorageForRef:u=>Vn(be(u).value),requestProcessAccumulated(){r?.suppressSpawn||Qo(e,t,r?.notifyChannel);},publishBoardChangeNotifications(u){if(!r?.notifyChannel||u.length===0)return;let c=u.map(d=>({id:Nn(),ts:new Date().toISOString(),boardRef:se(t),notification:d}));Zo(r.notifyChannel,c,r.onWarn);},onWarn:r?.onWarn}}function An(t,e,r){let n=Ar(t,e,r),s=Dn();return {...n,invokeExecutorSync(o,a,i,u){let{command:c,baseArgs:d}=na(o,e);return s.executeSync(c,[...d,a,...i],{timeout:u?.timeout??3e4,encoding:"utf-8"})},validateSchema(o){let a=xo(o);return {ok:a.errors.length===0,errors:a.errors}},makeTempFilePath(o,a){return Kt(t.value,o,a)},absoluteBlob:Ln()}}function qo(t){try{let e=JSON.parse(Buffer.from(t,"base64url").toString());return typeof e.br=="string"?e.br:null}catch{return null}}var Vt=Wo((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('board-live-cards-cli.cjs', document.baseURI).href)));function ve(t,e,r){let n=t.indexOf(e),s=n!==-1?t[n+1]:void 0;if(!s)throw new Error(`Missing ${e}
14
+ Usage: ${r}`);return s}function at(t,e){let r=t.indexOf(e);return r!==-1?t[r+1]:void 0}function ae(t){console.log(JSON.stringify(t,null,2));}async function In(){if(process.stdin.isTTY)return;let t=[];for await(let r of process.stdin)t.push(Buffer.isBuffer(r)?r:Buffer.from(r));let e=Buffer.concat(t).toString("utf-8").trim();if(e)return JSON.parse(e)}async function pg(t){let e=t[0],r=t.slice(1);if(e==="help"||e==="--help"||e==="-h"){console.log("board-live-cards \u2014 see board-live-cards-cli-PARAMS.md for command reference");return}let n=at(r,"--base-ref"),s=at(r,"--notify-channel"),o=n?be(n):void 0;if(e==="source-data-fetched"){let u=ve(r,"--token","source-data-fetched --token <token> --ref <sourcefile>"),c=ve(r,"--ref","source-data-fetched --token <token> --ref <sourcefile>"),d=qo(u);if(!d)throw new Error("source-data-fetched: could not decode board ref from token \u2014 is this a valid source token?");let f=be(d),b=xr(f,Ar(f,Vt,{onWarn:console.warn,notifyChannel:s}));ae(b.sourceDataFetched({params:{token:u,ref:c}}));return}if(e==="source-data-fetch-failure"){let u=ve(r,"--token","source-data-fetch-failure --token <token> [--reason <message>]"),c=qo(u);if(!c)throw new Error("source-data-fetch-failure: could not decode board ref from token \u2014 is this a valid source token?");let d=be(c),f=xr(d,Ar(d,Vt,{onWarn:console.warn,notifyChannel:s})),b={token:u},h=at(r,"--reason");h&&(b.reason=h),ae(f.sourceDataFetchFailure({params:b}));return}if(e==="validate-tmp-card"){let u=o??{kind:"fs-path",value:Ut(".")},c=Tr(u,An(u,Vt,{onWarn:console.warn})),d=await In();ae(c.validateTmpCard({body:d}));return}if(e==="probe-tmp-source"){let u=ve(r,"--out-ref","probe-tmp-source --out-ref <ref>"),c=o??{kind:"fs-path",value:Ut(".")},d=Tr(c,An(c,Vt,{onWarn:console.warn})),f=await In();ae(d.probeTmpSource({params:{outRef:u},body:f}));return}if(!o)throw new Error(`--base-ref is required for command "${e??"(none)"}"`);let a=()=>xr(o,Ar(o,Vt,{onWarn:console.warn,notifyChannel:s})),i=()=>Tr(o,An(o,Vt,{onWarn:console.warn}));switch(e){case "init":{let u=ve(r,"--card-store-ref","init --base-ref <ref> --card-store-ref <b64-ref> --outputs-store-ref <b64-ref>"),c=ve(r,"--outputs-store-ref","init --base-ref <ref> --card-store-ref <b64-ref> --outputs-store-ref <b64-ref>"),d=await In();ae(a().init({params:{cardStoreRef:u,outputsStoreRef:c},body:d}));return}case "status":{ae(a().status({}));return}case "get-card-store-ref":{ae(a().getCardStoreRef({}));return}case "get-outputs-store-ref":{ae(a().getOutputsStoreRef({}));return}case "get-outputs":{let u=ve(r,"--type","get-outputs --base-ref <ref> --type <data-object|computed-values> [--key <key>] [--all]"),c=r.includes("--all");if(u==="data-object")if(c)ae(a().getAllOutputsDataObjects({}));else {let d=ve(r,"--key","get-outputs --type data-object --base-ref <ref> --key <datakey>");ae(a().getOutputsDataObject({params:{key:d}}));}else if(u==="computed-values")if(c)ae(a().getAllOutputsComputedValues({}));else {let d=ve(r,"--key","get-outputs --type computed-values --base-ref <ref> --key <card-id>");ae(a().getOutputsComputedValues({params:{key:d}}));}else throw new Error(`get-outputs: unknown --type "${u}", expected data-object | computed-values`);return}case "remove-card":{let u=ve(r,"--id","remove-card --base-ref <ref> --id <card-id>");ae(a().removeCard({params:{id:u}}));return}case "retrigger":{let u=ve(r,"--id","retrigger --base-ref <ref> --id <card-id>");ae(a().retrigger({params:{id:u}}));return}case "process-accumulated-events":{ae(await a().processAccumulatedEvents({}));return}case "upsert-card":{let u=at(r,"--card-id"),c=r.includes("--all"),d=r.includes("--restart");if(!u&&!c)throw new Error("upsert-card requires --card-id <id> or --all");let f={};u&&(f.cardId=u),c&&(f.all=true),d&&(f.restart=true),ae(a().upsertCard({params:f}));return}case "task-failed":{let c={token:ve(r,"--token","task-failed --base-ref <ref> --token <token> [--error <message>]")},d=at(r,"--error");d&&(c.error=d),ae(a().taskFailed({params:c}));return}case "task-progress":{let u=ve(r,"--token","task-progress --base-ref <ref> --token <token> [--update <json>]"),c=at(r,"--update"),d=c?JSON.parse(c):{};ae(a().taskProgress({params:{token:u},body:{update:d}}));return}case "validate-card":{let u=at(r,"--card-id"),c=r.includes("--all");if(!u&&!c)throw new Error("validate-card requires --card-id <id> or --all");let d={};u&&(d.cardId=u),c&&(d.all=true),ae(i().validateCard({params:d}));return}case "probe-source":{let u=ve(r,"--card-id","probe-source --base-ref <ref> --card-id <id> --source-idx <n> --out-ref <ref>"),c=ve(r,"--source-idx","probe-source --base-ref <ref> --card-id <id> --source-idx <n> --out-ref <ref>"),d=at(r,"--out-ref"),f=await In(),b={cardId:u,sourceIdx:parseInt(c,10)};d&&(b.outRef=d),ae(i().probeSource({params:b,body:f}));return}case "describe-task-executor-capabilities":{ae(i().describeTaskExecutorCapabilities({}));return}default:throw new Error(`Unknown command: ${e??"(none)"}`)}}var mg=process.argv[1]&&Ut(process.argv[1])===Ut(new URL((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('board-live-cards-cli.cjs', document.baseURI).href))).pathname.replace(/^\/([A-Z]:)/,"$1"));mg&&pg(process.argv.slice(2)).catch(t=>{let e=t instanceof Error?t.message:String(t);console.error(e),process.exit(1);});exports.cli=pg;//# sourceMappingURL=board-live-cards-cli.cjs.map
15
+ //# sourceMappingURL=board-live-cards-cli.cjs.map