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,14 @@
1
+ 'use strict';var T=require('fs'),Cn=require('os'),pe=require('path'),Mo=require('net');require('url');var child_process=require('child_process'),crypto=require('crypto'),module$1=require('module'),properLockfile=require('proper-lockfile'),kh=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 Cn__namespace=/*#__PURE__*/_interopNamespace(Cn);var pe__namespace=/*#__PURE__*/_interopNamespace(pe);var Mo__namespace=/*#__PURE__*/_interopNamespace(Mo);var kh__default=/*#__PURE__*/_interopDefault(kh);var vc=Object.create;var No=Object.defineProperty;var Sc=Object.getOwnPropertyDescriptor;var wc=Object.getOwnPropertyNames;var bc=Object.getPrototypeOf,kc=Object.prototype.hasOwnProperty;var $=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var _c=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of wc(t))!kc.call(e,s)&&s!==r&&No(e,s,{get:()=>t[s],enumerable:!(n=Sc(t,s))||n.enumerable});return e};var $c=(e,t,r)=>(r=e!=null?vc(bc(e)):{},_c(No(r,"default",{value:e,enumerable:true}),e));var Ht=$(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 Ut=class{};J._CodeOrName=Ut;J.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var ut=class extends Ut{constructor(t){if(super(),!J.IDENTIFIER.test(t))throw new Error("CodeGen: name must be a valid identifier");this.str=t;}toString(){return this.str}emptyStr(){return false}get names(){return {[this.str]:1}}};J.Name=ut;var $e=class extends Ut{constructor(t){super(),this._items=typeof t=="string"?[t]:t;}toString(){return this.str}emptyStr(){if(this._items.length>1)return false;let t=this._items[0];return t===""||t==='""'}get str(){var t;return (t=this._str)!==null&&t!==void 0?t:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var t;return (t=this._names)!==null&&t!==void 0?t:this._names=this._items.reduce((r,n)=>(n instanceof ut&&(r[n.str]=(r[n.str]||0)+1),r),{})}};J._Code=$e;J.nil=new $e("");function ra(e,...t){let r=[e[0]],n=0;for(;n<t.length;)Nn(r,t[n]),r.push(e[++n]);return new $e(r)}J._=ra;var jn=new $e("+");function na(e,...t){let r=[Jt(e[0])],n=0;for(;n<t.length;)r.push(jn),Nn(r,t[n]),r.push(jn,Jt(e[++n]));return Wc(r),new $e(r)}J.str=na;function Nn(e,t){t instanceof $e?e.push(...t._items):t instanceof ut?e.push(t):e.push(Qc(t));}J.addCodeArg=Nn;function Wc(e){let t=1;for(;t<e.length-1;){if(e[t]===jn){let r=Yc(e[t-1],e[t+1]);if(r!==void 0){e.splice(t-1,3,r);continue}e[t++]="+";}t++;}}function Yc(e,t){if(t==='""')return e;if(e==='""')return t;if(typeof e=="string")return t instanceof ut||e[e.length-1]!=='"'?void 0:typeof t!="string"?`${e.slice(0,-1)}${t}"`:t[0]==='"'?e.slice(0,-1)+t.slice(1):void 0;if(typeof t=="string"&&t[0]==='"'&&!(e instanceof ut))return `"${e}${t.slice(1)}`}function Xc(e,t){return t.emptyStr()?e:e.emptyStr()?t:na`${e}${t}`}J.strConcat=Xc;function Qc(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:Jt(Array.isArray(e)?e.join(","):e)}function Zc(e){return new $e(Jt(e))}J.stringify=Zc;function Jt(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}J.safeStringify=Jt;function ed(e){return typeof e=="string"&&J.IDENTIFIER.test(e)?new $e(`.${e}`):ra`[${e}]`}J.getProperty=ed;function td(e){if(typeof e=="string"&&J.IDENTIFIER.test(e))return new $e(`${e}`);throw new Error(`CodeGen: invalid export name: ${e}, use explicit $id name mapping`)}J.getEsmExportName=td;function rd(e){return new $e(e.toString())}J.regexpCode=rd;});var Fn=$(ve=>{Object.defineProperty(ve,"__esModule",{value:true});ve.ValueScope=ve.ValueScopeName=ve.Scope=ve.varKinds=ve.UsedValueState=void 0;var ye=Ht(),qn=class extends Error{constructor(t){super(`CodeGen: "code" for ${t} not defined`),this.value=t.value;}},Pr;(function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed";})(Pr||(ve.UsedValueState=Pr={}));ve.varKinds={const:new ye.Name("const"),let:new ye.Name("let"),var:new ye.Name("var")};var Or=class{constructor({prefixes:t,parent:r}={}){this._names={},this._prefixes=t,this._parent=r;}toName(t){return t instanceof ye.Name?t:this.name(t)}name(t){return new ye.Name(this._newName(t))}_newName(t){let r=this._names[t]||this._nameGroup(t);return `${t}${r.index++}`}_nameGroup(t){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(t)||this._prefixes&&!this._prefixes.has(t))throw new Error(`CodeGen: prefix "${t}" is not allowed in this scope`);return this._names[t]={prefix:t,index:0}}};ve.Scope=Or;var jr=class extends ye.Name{constructor(t,r){super(r),this.prefix=t;}setValue(t,{property:r,itemIndex:n}){this.value=t,this.scopePath=(0, ye._)`.${new ye.Name(r)}[${n}]`;}};ve.ValueScopeName=jr;var nd=(0, ye._)`\n`,Dn=class extends Or{constructor(t){super(t),this._values={},this._scope=t.scope,this.opts={...t,_n:t.lines?nd:ye.nil};}get(){return this._scope}name(t){return new jr(t,this._newName(t))}value(t,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let s=this.toName(t),{prefix:o}=s,a=(n=r.key)!==null&&n!==void 0?n:r.ref,i=this._values[o];if(i){let f=i.get(a);if(f)return f}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(t,r){let n=this._values[t];if(n)return n.get(r)}scopeRefs(t,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return (0, ye._)`${t}${n.scopePath}`})}scopeCode(t=this._values,r,n){return this._reduceValues(t,s=>{if(s.value===void 0)throw new Error(`CodeGen: name "${s}" has no value`);return s.value.code},r,n)}_reduceValues(t,r,n={},s){let o=ye.nil;for(let a in t){let i=t[a];if(!i)continue;let u=n[a]=n[a]||new Map;i.forEach(c=>{if(u.has(c))return;u.set(c,Pr.Started);let f=r(c);if(f){let p=this.opts.es5?ve.varKinds.var:ve.varKinds.const;o=(0, ye._)`${o}${p} ${c} = ${f};${this.opts._n}`;}else if(f=s?.(c))o=(0, ye._)`${o}${f}${this.opts._n}`;else throw new qn(c);u.set(c,Pr.Completed);});}return o}};ve.ValueScope=Dn;});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=Ht(),xe=Fn(),ze=Ht();Object.defineProperty(D,"_",{enumerable:true,get:function(){return ze._}});Object.defineProperty(D,"str",{enumerable:true,get:function(){return ze.str}});Object.defineProperty(D,"strConcat",{enumerable:true,get:function(){return ze.strConcat}});Object.defineProperty(D,"nil",{enumerable:true,get:function(){return ze.nil}});Object.defineProperty(D,"getProperty",{enumerable:true,get:function(){return ze.getProperty}});Object.defineProperty(D,"stringify",{enumerable:true,get:function(){return ze.stringify}});Object.defineProperty(D,"regexpCode",{enumerable:true,get:function(){return ze.regexpCode}});Object.defineProperty(D,"Name",{enumerable:true,get:function(){return ze.Name}});var Fr=Fn();Object.defineProperty(D,"Scope",{enumerable:true,get:function(){return Fr.Scope}});Object.defineProperty(D,"ValueScope",{enumerable:true,get:function(){return Fr.ValueScope}});Object.defineProperty(D,"ValueScopeName",{enumerable:true,get:function(){return Fr.ValueScopeName}});Object.defineProperty(D,"varKinds",{enumerable:true,get:function(){return Fr.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 Le=class{optimizeNodes(){return this}optimizeNames(t,r){return this}},Mn=class extends Le{constructor(t,r,n){super(),this.varKind=t,this.name=r,this.rhs=n;}render({es5:t,_n:r}){let n=t?xe.varKinds.var:this.varKind,s=this.rhs===void 0?"":` = ${this.rhs}`;return `${n} ${this.name}${s};`+r}optimizeNames(t,r){if(t[this.name.str])return this.rhs&&(this.rhs=$t(this.rhs,t,r)),this}get names(){return this.rhs instanceof B._CodeOrName?this.rhs.names:{}}},Nr=class extends Le{constructor(t,r,n){super(),this.lhs=t,this.rhs=r,this.sideEffects=n;}render({_n:t}){return `${this.lhs} = ${this.rhs};`+t}optimizeNames(t,r){if(!(this.lhs instanceof B.Name&&!t[this.lhs.str]&&!this.sideEffects))return this.rhs=$t(this.rhs,t,r),this}get names(){let t=this.lhs instanceof B.Name?{}:{...this.lhs.names};return Dr(t,this.rhs)}},Ln=class extends Nr{constructor(t,r,n,s){super(t,n,s),this.op=r;}render({_n:t}){return `${this.lhs} ${this.op}= ${this.rhs};`+t}},Vn=class extends Le{constructor(t){super(),this.label=t,this.names={};}render({_n:t}){return `${this.label}:`+t}},Bn=class extends Le{constructor(t){super(),this.label=t,this.names={};}render({_n:t}){return `break${this.label?` ${this.label}`:""};`+t}},Gn=class extends Le{constructor(t){super(),this.error=t;}render({_n:t}){return `throw ${this.error};`+t}get names(){return this.error.names}},Kn=class extends Le{constructor(t){super(),this.code=t;}render({_n:t}){return `${this.code};`+t}optimizeNodes(){return `${this.code}`?this:void 0}optimizeNames(t,r){return this.code=$t(this.code,t,r),this}get names(){return this.code instanceof B._CodeOrName?this.code.names:{}}},zt=class extends Le{constructor(t=[]){super(),this.nodes=t;}render(t){return this.nodes.reduce((r,n)=>r+n.render(t),"")}optimizeNodes(){let{nodes:t}=this,r=t.length;for(;r--;){let n=t[r].optimizeNodes();Array.isArray(n)?t.splice(r,1,...n):n?t[r]=n:t.splice(r,1);}return t.length>0?this:void 0}optimizeNames(t,r){let{nodes:n}=this,s=n.length;for(;s--;){let o=n[s];o.optimizeNames(t,r)||(sd(t,o.names),n.splice(s,1));}return n.length>0?this:void 0}get names(){return this.nodes.reduce((t,r)=>lt(t,r.names),{})}},Ve=class extends zt{render(t){return "{"+t._n+super.render(t)+"}"+t._n}},Un=class extends zt{},_t=class extends Ve{};_t.kind="else";var ct=class e extends Ve{constructor(t,r){super(r),this.condition=t;}render(t){let r=`if(${this.condition})`+super.render(t);return this.else&&(r+="else "+this.else.render(t)),r}optimizeNodes(){super.optimizeNodes();let t=this.condition;if(t===true)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new _t(n):n;}if(r)return t===false?r instanceof e?r:r.nodes:this.nodes.length?this:new e(sa(t),r instanceof e?[r]:r.nodes);if(!(t===false||!this.nodes.length))return this}optimizeNames(t,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(t,r),!!(super.optimizeNames(t,r)||this.else))return this.condition=$t(this.condition,t,r),this}get names(){let t=super.names;return Dr(t,this.condition),this.else&&lt(t,this.else.names),t}};ct.kind="if";var dt=class extends Ve{};dt.kind="for";var Jn=class extends dt{constructor(t){super(),this.iteration=t;}render(t){return `for(${this.iteration})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iteration=$t(this.iteration,t,r),this}get names(){return lt(super.names,this.iteration.names)}},Hn=class extends dt{constructor(t,r,n,s){super(),this.varKind=t,this.name=r,this.from=n,this.to=s;}render(t){let r=t.es5?xe.varKinds.var:this.varKind,{name:n,from:s,to:o}=this;return `for(${r} ${n}=${s}; ${n}<${o}; ${n}++)`+super.render(t)}get names(){let t=Dr(super.names,this.from);return Dr(t,this.to)}},qr=class extends dt{constructor(t,r,n,s){super(),this.loop=t,this.varKind=r,this.name=n,this.iterable=s;}render(t){return `for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iterable=$t(this.iterable,t,r),this}get names(){return lt(super.names,this.iterable.names)}},Wt=class extends Ve{constructor(t,r,n){super(),this.name=t,this.args=r,this.async=n;}render(t){return `${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(t)}};Wt.kind="func";var Yt=class extends zt{render(t){return "return "+super.render(t)}};Yt.kind="return";var zn=class extends Ve{render(t){let r="try"+super.render(t);return this.catch&&(r+=this.catch.render(t)),this.finally&&(r+=this.finally.render(t)),r}optimizeNodes(){var t,r;return super.optimizeNodes(),(t=this.catch)===null||t===void 0||t.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(t,r){var n,s;return super.optimizeNames(t,r),(n=this.catch)===null||n===void 0||n.optimizeNames(t,r),(s=this.finally)===null||s===void 0||s.optimizeNames(t,r),this}get names(){let t=super.names;return this.catch&&lt(t,this.catch.names),this.finally&&lt(t,this.finally.names),t}},Xt=class extends Ve{constructor(t){super(),this.error=t;}render(t){return `catch(${this.error})`+super.render(t)}};Xt.kind="catch";var Qt=class extends Ve{render(t){return "finally"+super.render(t)}};Qt.kind="finally";var Wn=class{constructor(t,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
2
+ `:""},this._extScope=t,this._scope=new xe.Scope({parent:t}),this._nodes=[new Un];}toString(){return this._root.render(this.opts)}name(t){return this._scope.name(t)}scopeName(t){return this._extScope.name(t)}scopeValue(t,r){let n=this._extScope.value(t,r);return (this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(t,r){return this._extScope.getValue(t,r)}scopeRefs(t){return this._extScope.scopeRefs(t,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(t,r,n,s){let o=this._scope.toName(r);return n!==void 0&&s&&(this._constants[o.str]=n),this._leafNode(new Mn(t,o,n)),o}const(t,r,n){return this._def(xe.varKinds.const,t,r,n)}let(t,r,n){return this._def(xe.varKinds.let,t,r,n)}var(t,r,n){return this._def(xe.varKinds.var,t,r,n)}assign(t,r,n){return this._leafNode(new Nr(t,r,n))}add(t,r){return this._leafNode(new Ln(t,D.operators.ADD,r))}code(t){return typeof t=="function"?t():t!==B.nil&&this._leafNode(new Kn(t)),this}object(...t){let r=["{"];for(let[n,s]of t)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(t,r,n){if(this._blockNode(new ct(t)),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(t){return this._elseNode(new ct(t))}else(){return this._elseNode(new _t)}endIf(){return this._endBlockNode(ct,_t)}_for(t,r){return this._blockNode(t),r&&this.code(r).endFor(),this}for(t,r){return this._for(new Jn(t),r)}forRange(t,r,n,s,o=this.opts.es5?xe.varKinds.var:xe.varKinds.let){let a=this._scope.toName(t);return this._for(new Hn(o,a,r,n),()=>s(a))}forOf(t,r,n,s=xe.varKinds.const){let o=this._scope.toName(t);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 qr("of",s,o,r),()=>n(o))}forIn(t,r,n,s=this.opts.es5?xe.varKinds.var:xe.varKinds.const){if(this.opts.ownProperties)return this.forOf(t,(0, B._)`Object.keys(${r})`,n);let o=this._scope.toName(t);return this._for(new qr("in",s,o,r),()=>n(o))}endFor(){return this._endBlockNode(dt)}label(t){return this._leafNode(new Vn(t))}break(t){return this._leafNode(new Bn(t))}return(t){let r=new Yt;if(this._blockNode(r),this.code(t),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Yt)}try(t,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let s=new zn;if(this._blockNode(s),this.code(t),r){let o=this.name("e");this._currNode=s.catch=new Xt(o),r(o);}return n&&(this._currNode=s.finally=new Qt,this.code(n)),this._endBlockNode(Xt,Qt)}throw(t){return this._leafNode(new Gn(t))}block(t,r){return this._blockStarts.push(this._nodes.length),t&&this.code(t).endBlock(r),this}endBlock(t){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||t!==void 0&&n!==t)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${t} expected`);return this._nodes.length=r,this}func(t,r=B.nil,n,s){return this._blockNode(new Wt(t,r,n)),s&&this.code(s).endFunc(),this}endFunc(){return this._endBlockNode(Wt)}optimize(t=1){for(;t-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants);}_leafNode(t){return this._currNode.nodes.push(t),this}_blockNode(t){this._currNode.nodes.push(t),this._nodes.push(t);}_endBlockNode(t,r){let n=this._currNode;if(n instanceof t||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${t.kind}/${r.kind}`:t.kind}"`)}_elseNode(t){let r=this._currNode;if(!(r instanceof ct))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=t,this}get _root(){return this._nodes[0]}get _currNode(){let t=this._nodes;return t[t.length-1]}set _currNode(t){let r=this._nodes;r[r.length-1]=t;}};D.CodeGen=Wn;function lt(e,t){for(let r in t)e[r]=(e[r]||0)+(t[r]||0);return e}function Dr(e,t){return t instanceof B._CodeOrName?lt(e,t.names):e}function $t(e,t,r){if(e instanceof B.Name)return n(e);if(!s(e))return e;return new B._Code(e._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||t[o.str]!==1?o:(delete t[o.str],a)}function s(o){return o instanceof B._Code&&o._items.some(a=>a instanceof B.Name&&t[a.str]===1&&r[a.str]!==void 0)}}function sd(e,t){for(let r in t)e[r]=(e[r]||0)-(t[r]||0);}function sa(e){return typeof e=="boolean"||typeof e=="number"||e===null?!e:(0, B._)`!${Yn(e)}`}D.not=sa;var od=oa(D.operators.AND);function ad(...e){return e.reduce(od)}D.and=ad;var id=oa(D.operators.OR);function ud(...e){return e.reduce(id)}D.or=ud;function oa(e){return (t,r)=>t===B.nil?r:r===B.nil?t:(0, B._)`${Yn(t)} ${e} ${Yn(r)}`}function Yn(e){return e instanceof B.Name?e:(0, B._)`(${e})`}});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(),cd=Ht();function dd(e){let t={};for(let r of e)t[r]=true;return t}V.toHash=dd;function ld(e,t){return typeof t=="boolean"?t:Object.keys(t).length===0?true:(ua(e,t),!ca(t,e.self.RULES.all))}V.alwaysValidSchema=ld;function ua(e,t=e.schema){let{opts:r,self:n}=e;if(!r.strictSchema||typeof t=="boolean")return;let s=n.RULES.keywords;for(let o in t)s[o]||fa(e,`unknown keyword: "${o}"`);}V.checkUnknownRules=ua;function ca(e,t){if(typeof e=="boolean")return !e;for(let r in e)if(t[r])return true;return false}V.schemaHasRules=ca;function fd(e,t){if(typeof e=="boolean")return !e;for(let r in e)if(r!=="$ref"&&t.all[r])return true;return false}V.schemaHasRulesButRef=fd;function pd({topSchemaRef:e,schemaPath:t},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._)`${e}${t}${(0, Y.getProperty)(n)}`}V.schemaRefOrVal=pd;function md(e){return da(decodeURIComponent(e))}V.unescapeFragment=md;function hd(e){return encodeURIComponent(Qn(e))}V.escapeFragment=hd;function Qn(e){return typeof e=="number"?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}V.escapeJsonPointer=Qn;function da(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}V.unescapeJsonPointer=da;function gd(e,t){if(Array.isArray(e))for(let r of e)t(r);else t(e);}V.eachItem=gd;function aa({mergeNames:e,mergeToName:t,mergeValues:r,resultToName:n}){return (s,o,a,i)=>{let u=a===void 0?o:a instanceof Y.Name?(o instanceof Y.Name?e(s,o,a):t(s,o,a),a):o instanceof Y.Name?(t(s,a,o),o):r(o,a);return i===Y.Name&&!(u instanceof Y.Name)?n(s,u):u}}V.mergeEvaluated={props:aa({mergeNames:(e,t,r)=>e.if((0, Y._)`${r} !== true && ${t} !== undefined`,()=>{e.if((0, Y._)`${t} === true`,()=>e.assign(r,true),()=>e.assign(r,(0, Y._)`${r} || {}`).code((0, Y._)`Object.assign(${r}, ${t})`));}),mergeToName:(e,t,r)=>e.if((0, Y._)`${r} !== true`,()=>{t===true?e.assign(r,true):(e.assign(r,(0, Y._)`${r} || {}`),Zn(e,r,t));}),mergeValues:(e,t)=>e===true?true:{...e,...t},resultToName:la}),items:aa({mergeNames:(e,t,r)=>e.if((0, Y._)`${r} !== true && ${t} !== undefined`,()=>e.assign(r,(0, Y._)`${t} === true ? true : ${r} > ${t} ? ${r} : ${t}`)),mergeToName:(e,t,r)=>e.if((0, Y._)`${r} !== true`,()=>e.assign(r,t===true?true:(0, Y._)`${r} > ${t} ? ${r} : ${t}`)),mergeValues:(e,t)=>e===true?true:Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})};function la(e,t){if(t===true)return e.var("props",true);let r=e.var("props",(0, Y._)`{}`);return t!==void 0&&Zn(e,r,t),r}V.evaluatedPropsToName=la;function Zn(e,t,r){Object.keys(r).forEach(n=>e.assign((0, Y._)`${t}${(0, Y.getProperty)(n)}`,true));}V.setEvaluated=Zn;var ia={};function yd(e,t){return e.scopeValue("func",{ref:t,code:ia[t.code]||(ia[t.code]=new cd._Code(t.code))})}V.useFunc=yd;var Xn;(function(e){e[e.Num=0]="Num",e[e.Str=1]="Str";})(Xn||(V.Type=Xn={}));function vd(e,t,r){if(e instanceof Y.Name){let n=t===Xn.Num;return r?n?(0, Y._)`"[" + ${e} + "]"`:(0, Y._)`"['" + ${e} + "']"`:n?(0, Y._)`"/" + ${e}`:(0, Y._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0, Y.getProperty)(e).toString():"/"+Qn(e)}V.getErrorPath=vd;function fa(e,t,r=e.opts.strictSchema){if(r){if(t=`strict mode: ${t}`,r===true)throw new Error(t);e.self.logger.warn(t);}}V.checkStrictMode=fa;});var Be=$(es=>{Object.defineProperty(es,"__esModule",{value:true});var de=L(),Sd={data:new de.Name("data"),valCxt:new de.Name("valCxt"),instancePath:new de.Name("instancePath"),parentData:new de.Name("parentData"),parentDataProperty:new de.Name("parentDataProperty"),rootData:new de.Name("rootData"),dynamicAnchors:new de.Name("dynamicAnchors"),vErrors:new de.Name("vErrors"),errors:new de.Name("errors"),this:new de.Name("this"),self:new de.Name("self"),scope:new de.Name("scope"),json:new de.Name("json"),jsonPos:new de.Name("jsonPos"),jsonLen:new de.Name("jsonLen"),jsonPart:new de.Name("jsonPart")};es.default=Sd;});var Zt=$(le=>{Object.defineProperty(le,"__esModule",{value:true});le.extendErrors=le.resetErrorsCount=le.reportExtraError=le.reportError=le.keyword$DataError=le.keywordError=void 0;var U=L(),Mr=K(),me=Be();le.keywordError={message:({keyword:e})=>(0, U.str)`must pass "${e}" keyword validation`};le.keyword$DataError={message:({keyword:e,schemaType:t})=>t?(0, U.str)`"${e}" keyword must be ${t} ($data)`:(0, U.str)`"${e}" keyword is invalid ($data)`};function wd(e,t=le.keywordError,r,n){let{it:s}=e,{gen:o,compositeRule:a,allErrors:i}=s,u=ha(e,t,r);n??(a||i)?pa(o,u):ma(s,(0, U._)`[${u}]`);}le.reportError=wd;function bd(e,t=le.keywordError,r){let{it:n}=e,{gen:s,compositeRule:o,allErrors:a}=n,i=ha(e,t,r);pa(s,i),o||a||ma(n,me.default.vErrors);}le.reportExtraError=bd;function kd(e,t){e.assign(me.default.errors,t),e.if((0, U._)`${me.default.vErrors} !== null`,()=>e.if(t,()=>e.assign((0, U._)`${me.default.vErrors}.length`,t),()=>e.assign(me.default.vErrors,null)));}le.resetErrorsCount=kd;function _d({gen:e,keyword:t,schemaValue:r,data:n,errsCount:s,it:o}){if(s===void 0)throw new Error("ajv implementation error");let a=e.name("err");e.forRange("i",s,me.default.errors,i=>{e.const(a,(0, U._)`${me.default.vErrors}[${i}]`),e.if((0, U._)`${a}.instancePath === undefined`,()=>e.assign((0, U._)`${a}.instancePath`,(0, U.strConcat)(me.default.instancePath,o.errorPath))),e.assign((0, U._)`${a}.schemaPath`,(0, U.str)`${o.errSchemaPath}/${t}`),o.opts.verbose&&(e.assign((0, U._)`${a}.schema`,r),e.assign((0, U._)`${a}.data`,n));});}le.extendErrors=_d;function pa(e,t){let r=e.const("err",t);e.if((0, U._)`${me.default.vErrors} === null`,()=>e.assign(me.default.vErrors,(0, U._)`[${r}]`),(0, U._)`${me.default.vErrors}.push(${r})`),e.code((0, U._)`${me.default.errors}++`);}function ma(e,t){let{gen:r,validateName:n,schemaEnv:s}=e;s.$async?r.throw((0, U._)`new ${e.ValidationError}(${t})`):(r.assign((0, U._)`${n}.errors`,t),r.return(false));}var ft={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 ha(e,t,r){let{createErrors:n}=e.it;return n===false?(0, U._)`{}`:$d(e,t,r)}function $d(e,t,r={}){let{gen:n,it:s}=e,o=[Rd(s,r),Cd(e,r)];return Ed(e,t,o),n.object(...o)}function Rd({errorPath:e},{instancePath:t}){let r=t?(0, U.str)`${e}${(0, Mr.getErrorPath)(t,Mr.Type.Str)}`:e;return [me.default.instancePath,(0, U.strConcat)(me.default.instancePath,r)]}function Cd({keyword:e,it:{errSchemaPath:t}},{schemaPath:r,parentSchema:n}){let s=n?t:(0, U.str)`${t}/${e}`;return r&&(s=(0, U.str)`${s}${(0, Mr.getErrorPath)(r,Mr.Type.Str)}`),[ft.schemaPath,s]}function Ed(e,{params:t,message:r},n){let{keyword:s,data:o,schemaValue:a,it:i}=e,{opts:u,propertyName:c,topSchemaRef:f,schemaPath:p}=i;n.push([ft.keyword,s],[ft.params,typeof t=="function"?t(e):t||(0, U._)`{}`]),u.messages&&n.push([ft.message,typeof r=="function"?r(e):r]),u.verbose&&n.push([ft.schema,a],[ft.parentSchema,(0, U._)`${f}${p}`],[me.default.data,o]),c&&n.push([ft.propertyName,c]);}});var ya=$(Rt=>{Object.defineProperty(Rt,"__esModule",{value:true});Rt.boolOrEmptySchema=Rt.topBoolOrEmptySchema=void 0;var xd=Zt(),Td=L(),Ad=Be(),Id={message:"boolean schema is false"};function Pd(e){let{gen:t,schema:r,validateName:n}=e;r===false?ga(e,false):typeof r=="object"&&r.$async===true?t.return(Ad.default.data):(t.assign((0, Td._)`${n}.errors`,null),t.return(true));}Rt.topBoolOrEmptySchema=Pd;function Od(e,t){let{gen:r,schema:n}=e;n===false?(r.var(t,false),ga(e)):r.var(t,true);}Rt.boolOrEmptySchema=Od;function ga(e,t){let{gen:r,data:n}=e,s={gen:r,keyword:"false schema",data:n,schema:false,schemaCode:false,schemaValue:false,params:{},it:e};(0, xd.reportError)(s,Id,void 0,t);}});var ts=$(Ct=>{Object.defineProperty(Ct,"__esModule",{value:true});Ct.getRules=Ct.isJSONType=void 0;var jd=["string","number","integer","boolean","null","object","array"],Nd=new Set(jd);function qd(e){return typeof e=="string"&&Nd.has(e)}Ct.isJSONType=qd;function Dd(){let e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return {types:{...e,integer:true,boolean:true,null:true},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}Ct.getRules=Dd;});var rs=$(We=>{Object.defineProperty(We,"__esModule",{value:true});We.shouldUseRule=We.shouldUseGroup=We.schemaHasRulesForType=void 0;function Fd({schema:e,self:t},r){let n=t.RULES.types[r];return n&&n!==true&&va(e,n)}We.schemaHasRulesForType=Fd;function va(e,t){return t.rules.some(r=>Sa(e,r))}We.shouldUseGroup=va;function Sa(e,t){var r;return e[t.keyword]!==void 0||((r=t.definition.implements)===null||r===void 0?void 0:r.some(n=>e[n]!==void 0))}We.shouldUseRule=Sa;});var er=$(fe=>{Object.defineProperty(fe,"__esModule",{value:true});fe.reportTypeError=fe.checkDataTypes=fe.checkDataType=fe.coerceAndCheckDataType=fe.getJSONTypes=fe.getSchemaTypes=fe.DataType=void 0;var Md=ts(),Ld=rs(),Vd=Zt(),N=L(),wa=K(),Et;(function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong";})(Et||(fe.DataType=Et={}));function Bd(e){let t=ba(e.type);if(t.includes("null")){if(e.nullable===false)throw new Error("type: null contradicts nullable: false")}else {if(!t.length&&e.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');e.nullable===true&&t.push("null");}return t}fe.getSchemaTypes=Bd;function ba(e){let t=Array.isArray(e)?e:e?[e]:[];if(t.every(Md.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}fe.getJSONTypes=ba;function Gd(e,t){let{gen:r,data:n,opts:s}=e,o=Kd(t,s.coerceTypes),a=t.length>0&&!(o.length===0&&t.length===1&&(0, Ld.schemaHasRulesForType)(e,t[0]));if(a){let i=ss(t,n,s.strictNumbers,Et.Wrong);r.if(i,()=>{o.length?Ud(e,t,o):os(e);});}return a}fe.coerceAndCheckDataType=Gd;var ka=new Set(["string","number","integer","boolean","null"]);function Kd(e,t){return t?e.filter(r=>ka.has(r)||t==="array"&&r==="array"):[]}function Ud(e,t,r){let{gen:n,data:s,opts:o}=e,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(ss(t,s,o.strictNumbers),()=>n.assign(i,s))),n.if((0, N._)`${i} !== undefined`);for(let c of r)(ka.has(c)||c==="array"&&o.coerceTypes==="array")&&u(c);n.else(),os(e),n.endIf(),n.if((0, N._)`${i} !== undefined`,()=>{n.assign(s,i),Jd(e,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
3
+ || (${a} == "string" && ${s} && ${s} == +${s})`).assign(i,(0, N._)`+${s}`);return;case "integer":n.elseIf((0, N._)`${a} === "boolean" || ${s} === null
4
+ || (${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"
5
+ || ${a} === "boolean" || ${s} === null`).assign(i,(0, N._)`[${s}]`);}}}function Jd({gen:e,parentData:t,parentDataProperty:r},n){e.if((0, N._)`${t} !== undefined`,()=>e.assign((0, N._)`${t}[${r}]`,n));}function ns(e,t,r,n=Et.Correct){let s=n===Et.Correct?N.operators.EQ:N.operators.NEQ,o;switch(e){case "null":return (0, N._)`${t} ${s} null`;case "array":o=(0, N._)`Array.isArray(${t})`;break;case "object":o=(0, N._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case "integer":o=a((0, N._)`!(${t} % 1) && !isNaN(${t})`);break;case "number":o=a();break;default:return (0, N._)`typeof ${t} ${s} ${e}`}return n===Et.Correct?o:(0, N.not)(o);function a(i=N.nil){return (0, N.and)((0, N._)`typeof ${t} == "number"`,i,r?(0, N._)`isFinite(${t})`:N.nil)}}fe.checkDataType=ns;function ss(e,t,r,n){if(e.length===1)return ns(e[0],t,r,n);let s,o=(0, wa.toHash)(e);if(o.array&&o.object){let a=(0, N._)`typeof ${t} != "object"`;s=o.null?a:(0, N._)`!${t} || ${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,ns(a,t,r,n));return s}fe.checkDataTypes=ss;var Hd={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0, N._)`{type: ${e}}`:(0, N._)`{type: ${t}}`};function os(e){let t=zd(e);(0, Vd.reportError)(t,Hd);}fe.reportTypeError=os;function zd(e){let{gen:t,data:r,schema:n}=e,s=(0, wa.schemaRefOrVal)(e,n,"type");return {gen:t,keyword:"type",data:r,schema:n.type,schemaCode:s,schemaValue:s,parentSchema:n,params:{},it:e}}});var $a=$(Lr=>{Object.defineProperty(Lr,"__esModule",{value:true});Lr.assignDefaults=void 0;var xt=L(),Wd=K();function Yd(e,t){let{properties:r,items:n}=e.schema;if(t==="object"&&r)for(let s in r)_a(e,s,r[s].default);else t==="array"&&Array.isArray(n)&&n.forEach((s,o)=>_a(e,o,s.default));}Lr.assignDefaults=Yd;function _a(e,t,r){let{gen:n,compositeRule:s,data:o,opts:a}=e;if(r===void 0)return;let i=(0, xt._)`${o}${(0, xt.getProperty)(t)}`;if(s){(0, Wd.checkStrictMode)(e,`default is ignored for: ${i}`);return}let u=(0, xt._)`${i} === undefined`;a.useDefaults==="empty"&&(u=(0, xt._)`${u} || ${i} === null || ${i} === ""`),n.if(u,(0, xt._)`${i} = ${(0, xt.stringify)(r)}`);}});var Re=$(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(),as=K(),Ye=Be(),Xd=K();function Qd(e,t){let{gen:r,data:n,it:s}=e;r.if(us(r,n,t,s.opts.ownProperties),()=>{e.setParams({missingProperty:(0, Q._)`${t}`},true),e.error();});}W.checkReportMissingProp=Qd;function Zd({gen:e,data:t,it:{opts:r}},n,s){return (0, Q.or)(...n.map(o=>(0, Q.and)(us(e,t,o,r.ownProperties),(0, Q._)`${s} = ${o}`)))}W.checkMissingProp=Zd;function el(e,t){e.setParams({missingProperty:t},true),e.error();}W.reportMissingProp=el;function Ra(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0, Q._)`Object.prototype.hasOwnProperty`})}W.hasPropFunc=Ra;function is(e,t,r){return (0, Q._)`${Ra(e)}.call(${t}, ${r})`}W.isOwnProperty=is;function tl(e,t,r,n){let s=(0, Q._)`${t}${(0, Q.getProperty)(r)} !== undefined`;return n?(0, Q._)`${s} && ${is(e,t,r)}`:s}W.propertyInData=tl;function us(e,t,r,n){let s=(0, Q._)`${t}${(0, Q.getProperty)(r)} === undefined`;return n?(0, Q.or)(s,(0, Q.not)(is(e,t,r))):s}W.noPropertyInData=us;function Ca(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}W.allSchemaProperties=Ca;function rl(e,t){return Ca(t).filter(r=>!(0, as.alwaysValidSchema)(e,t[r]))}W.schemaProperties=rl;function nl({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:s,errorPath:o},it:a},i,u,c){let f=c?(0, Q._)`${e}, ${t}, ${n}${s}`:t,p=[[Ye.default.instancePath,(0, Q.strConcat)(Ye.default.instancePath,o)],[Ye.default.parentData,a.parentData],[Ye.default.parentDataProperty,a.parentDataProperty],[Ye.default.rootData,Ye.default.rootData]];a.opts.dynamicRef&&p.push([Ye.default.dynamicAnchors,Ye.default.dynamicAnchors]);let y=(0, Q._)`${f}, ${r.object(...p)}`;return u!==Q.nil?(0, Q._)`${i}.call(${u}, ${y})`:(0, Q._)`${i}(${y})`}W.callValidateCode=nl;var sl=(0, Q._)`new RegExp`;function ol({gen:e,it:{opts:t}},r){let n=t.unicodeRegExp?"u":"",{regExp:s}=t.code,o=s(r,n);return e.scopeValue("pattern",{key:o.toString(),ref:o,code:(0, Q._)`${s.code==="new RegExp"?sl:(0, Xd.useFunc)(e,s)}(${r}, ${n})`})}W.usePattern=ol;function al(e){let{gen:t,data:r,keyword:n,it:s}=e,o=t.name("valid");if(s.allErrors){let i=t.let("valid",true);return a(()=>t.assign(i,false)),i}return t.var(o,true),a(()=>t.break()),o;function a(i){let u=t.const("len",(0, Q._)`${r}.length`);t.forRange("i",0,u,c=>{e.subschema({keyword:n,dataProp:c,dataPropType:as.Type.Num},o),t.if((0, Q.not)(o),i);});}}W.validateArray=al;function il(e){let{gen:t,schema:r,keyword:n,it:s}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(u=>(0, as.alwaysValidSchema)(s,u))&&!s.opts.unevaluated)return;let a=t.let("valid",false),i=t.name("_valid");t.block(()=>r.forEach((u,c)=>{let f=e.subschema({keyword:n,schemaProp:c,compositeRule:true},i);t.assign(a,(0, Q._)`${a} || ${i}`),e.mergeValidEvaluated(f,i)||t.if((0, Q.not)(a));})),e.result(a,()=>e.reset(),()=>e.error(true));}W.validateUnion=il;});var Ta=$(je=>{Object.defineProperty(je,"__esModule",{value:true});je.validateKeywordUsage=je.validSchemaType=je.funcKeywordCode=je.macroKeywordCode=void 0;var he=L(),pt=Be(),ul=Re(),cl=Zt();function dl(e,t){let{gen:r,keyword:n,schema:s,parentSchema:o,it:a}=e,i=t.macro.call(a.self,s,o,a),u=xa(r,n,i);a.opts.validateSchema!==false&&a.self.validateSchema(i,true);let c=r.name("valid");e.subschema({schema:i,schemaPath:he.nil,errSchemaPath:`${a.errSchemaPath}/${n}`,topSchemaRef:u,compositeRule:true},c),e.pass(c,()=>e.error(true));}je.macroKeywordCode=dl;function ll(e,t){var r;let{gen:n,keyword:s,schema:o,parentSchema:a,$data:i,it:u}=e;pl(u,t);let c=!i&&t.compile?t.compile.call(u.self,o,a,u):t.validate,f=xa(n,s,c),p=n.let("valid");e.block$data(p,y),e.ok((r=t.valid)!==null&&r!==void 0?r:p);function y(){if(t.errors===false)d(),t.modifying&&Ea(e),m(()=>e.error());else {let v=t.async?h():l();t.modifying&&Ea(e),m(()=>fl(e,v));}}function h(){let v=n.let("ruleErrs",null);return n.try(()=>d((0, he._)`await `),g=>n.assign(p,false).if((0, he._)`${g} instanceof ${u.ValidationError}`,()=>n.assign(v,(0, he._)`${g}.errors`),()=>n.throw(g))),v}function l(){let v=(0, he._)`${f}.errors`;return n.assign(v,null),d(he.nil),v}function d(v=t.async?(0, he._)`await `:he.nil){let g=u.opts.passContext?pt.default.this:pt.default.self,w=!("compile"in t&&!i||t.schema===false);n.assign(p,(0, he._)`${v}${(0, ul.callValidateCode)(e,f,g,w)}`,t.modifying);}function m(v){var g;n.if((0, he.not)((g=t.valid)!==null&&g!==void 0?g:p),v);}}je.funcKeywordCode=ll;function Ea(e){let{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,(0, he._)`${n.parentData}[${n.parentDataProperty}]`));}function fl(e,t){let{gen:r}=e;r.if((0, he._)`Array.isArray(${t})`,()=>{r.assign(pt.default.vErrors,(0, he._)`${pt.default.vErrors} === null ? ${t} : ${pt.default.vErrors}.concat(${t})`).assign(pt.default.errors,(0, he._)`${pt.default.vErrors}.length`),(0, cl.extendErrors)(e);},()=>e.error());}function pl({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function xa(e,t,r){if(r===void 0)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0, he.stringify)(r)})}function ml(e,t,r=false){return !t.length||t.some(n=>n==="array"?Array.isArray(e):n==="object"?e&&typeof e=="object"&&!Array.isArray(e):typeof e==n||r&&typeof e>"u")}je.validSchemaType=ml;function hl({schema:e,opts:t,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(e,i)))throw new Error(`parent schema must have dependencies of ${o}: ${a.join(",")}`);if(s.validateSchema&&!s.validateSchema(e[o])){let u=`keyword "${o}" value is invalid at path "${n}": `+r.errorsText(s.validateSchema.errors);if(t.validateSchema==="log")r.logger.error(u);else throw new Error(u)}}je.validateKeywordUsage=hl;});var Ia=$(Xe=>{Object.defineProperty(Xe,"__esModule",{value:true});Xe.extendSubschemaMode=Xe.extendSubschemaData=Xe.getSubschema=void 0;var Ne=L(),Aa=K();function gl(e,{keyword:t,schemaProp:r,schema:n,schemaPath:s,errSchemaPath:o,topSchemaRef:a}){if(t!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(t!==void 0){let i=e.schema[t];return r===void 0?{schema:i,schemaPath:(0, Ne._)`${e.schemaPath}${(0, Ne.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:i[r],schemaPath:(0, Ne._)`${e.schemaPath}${(0, Ne.getProperty)(t)}${(0, Ne.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0, Aa.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')}Xe.getSubschema=gl;function yl(e,t,{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}=t;if(r!==void 0){let{errorPath:c,dataPathArr:f,opts:p}=t,y=i.let("data",(0, Ne._)`${t.data}${(0, Ne.getProperty)(r)}`,true);u(y),e.errorPath=(0, Ne.str)`${c}${(0, Aa.getErrorPath)(r,n,p.jsPropertySyntax)}`,e.parentDataProperty=(0, Ne._)`${r}`,e.dataPathArr=[...f,e.parentDataProperty];}if(s!==void 0){let c=s instanceof Ne.Name?s:i.let("data",s,true);u(c),a!==void 0&&(e.propertyName=a);}o&&(e.dataTypes=o);function u(c){e.data=c,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,c];}}Xe.extendSubschemaData=yl;function vl(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:n,createErrors:s,allErrors:o}){n!==void 0&&(e.compositeRule=n),s!==void 0&&(e.createErrors=s),o!==void 0&&(e.allErrors=o),e.jtdDiscriminator=t,e.jtdMetadata=r;}Xe.extendSubschemaMode=vl;});var cs=$((py,Pa)=>{Pa.exports=function e(t,r){if(t===r)return true;if(t&&r&&typeof t=="object"&&typeof r=="object"){if(t.constructor!==r.constructor)return false;var n,s,o;if(Array.isArray(t)){if(n=t.length,n!=r.length)return false;for(s=n;s--!==0;)if(!e(t[s],r[s]))return false;return true}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if(o=Object.keys(t),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(!e(t[a],r[a]))return false}return true}return t!==t&&r!==r};});var ja=$((my,Oa)=>{var Qe=Oa.exports=function(e,t,r){typeof t=="function"&&(r=t,t={}),r=t.cb||r;var n=typeof r=="function"?r:r.pre||function(){},s=r.post||function(){};Vr(t,n,s,e,"",e);};Qe.keywords={additionalItems:true,items:true,contains:true,additionalProperties:true,propertyNames:true,not:true,if:true,then:true,else:true};Qe.arrayKeywords={items:true,allOf:true,anyOf:true,oneOf:true};Qe.propsKeywords={$defs:true,definitions:true,properties:true,patternProperties:true,dependencies:true};Qe.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 Vr(e,t,r,n,s,o,a,i,u,c){if(n&&typeof n=="object"&&!Array.isArray(n)){t(n,s,o,a,i,u,c);for(var f in n){var p=n[f];if(Array.isArray(p)){if(f in Qe.arrayKeywords)for(var y=0;y<p.length;y++)Vr(e,t,r,p[y],s+"/"+f+"/"+y,o,s,f,n,y);}else if(f in Qe.propsKeywords){if(p&&typeof p=="object")for(var h in p)Vr(e,t,r,p[h],s+"/"+f+"/"+Sl(h),o,s,f,n,h);}else (f in Qe.keywords||e.allKeys&&!(f in Qe.skipKeywords))&&Vr(e,t,r,p,s+"/"+f,o,s,f,n);}r(n,s,o,a,i,u,c);}}function Sl(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}});var tr=$(Se=>{Object.defineProperty(Se,"__esModule",{value:true});Se.getSchemaRefs=Se.resolveUrl=Se.normalizeId=Se._getFullPath=Se.getFullPath=Se.inlineRef=void 0;var wl=K(),bl=cs(),kl=ja(),_l=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function $l(e,t=true){return typeof e=="boolean"?true:t===true?!ds(e):t?Na(e)<=t:false}Se.inlineRef=$l;var Rl=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function ds(e){for(let t in e){if(Rl.has(t))return true;let r=e[t];if(Array.isArray(r)&&r.some(ds)||typeof r=="object"&&ds(r))return true}return false}function Na(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,!_l.has(r)&&(typeof e[r]=="object"&&(0, wl.eachItem)(e[r],n=>t+=Na(n)),t===1/0))return 1/0}return t}function qa(e,t="",r){r!==false&&(t=Tt(t));let n=e.parse(t);return Da(e,n)}Se.getFullPath=qa;function Da(e,t){return e.serialize(t).split("#")[0]+"#"}Se._getFullPath=Da;var Cl=/#\/?$/;function Tt(e){return e?e.replace(Cl,""):""}Se.normalizeId=Tt;function El(e,t,r){return r=Tt(r),e.resolve(t,r)}Se.resolveUrl=El;var xl=/^[a-z_][-a-z0-9._]*$/i;function Tl(e,t){if(typeof e=="boolean")return {};let{schemaId:r,uriResolver:n}=this.opts,s=Tt(e[r]||t),o={"":s},a=qa(n,s,false),i={},u=new Set;return kl(e,{allKeys:true},(p,y,h,l)=>{if(l===void 0)return;let d=a+y,m=o[l];typeof p[r]=="string"&&(m=v.call(this,p[r])),g.call(this,p.$anchor),g.call(this,p.$dynamicAnchor),o[y]=m;function v(w){let _=this.opts.uriResolver.resolve;if(w=Tt(m?_(m,w):w),u.has(w))throw f(w);u.add(w);let b=this.refs[w];return typeof b=="string"&&(b=this.refs[b]),typeof b=="object"?c(p,b.schema,w):w!==Tt(d)&&(w[0]==="#"?(c(p,i[w],w),i[w]=p):this.refs[w]=d),w}function g(w){if(typeof w=="string"){if(!xl.test(w))throw new Error(`invalid anchor "${w}"`);v.call(this,`#${w}`);}}}),i;function c(p,y,h){if(y!==void 0&&!bl(p,y))throw f(h)}function f(p){return new Error(`reference "${p}" resolves to more than one schema`)}}Se.getSchemaRefs=Tl;});var sr=$(Ze=>{Object.defineProperty(Ze,"__esModule",{value:true});Ze.getData=Ze.KeywordCxt=Ze.validateFunctionCode=void 0;var Ba=ya(),Fa=er(),fs=rs(),Br=er(),Al=$a(),nr=Ta(),ls=Ia(),E=L(),I=Be(),Il=tr(),Ge=K(),rr=Zt();function Pl(e){if(Ua(e)&&(Ja(e),Ka(e))){Nl(e);return}Ga(e,()=>(0, Ba.topBoolOrEmptySchema)(e));}Ze.validateFunctionCode=Pl;function Ga({gen:e,validateName:t,schema:r,schemaEnv:n,opts:s},o){s.code.es5?e.func(t,(0, E._)`${I.default.data}, ${I.default.valCxt}`,n.$async,()=>{e.code((0, E._)`"use strict"; ${Ma(r,s)}`),jl(e,s),e.code(o);}):e.func(t,(0, E._)`${I.default.data}, ${Ol(s)}`,n.$async,()=>e.code(Ma(r,s)).code(o));}function Ol(e){return (0, E._)`{${I.default.instancePath}="", ${I.default.parentData}, ${I.default.parentDataProperty}, ${I.default.rootData}=${I.default.data}${e.dynamicRef?(0, E._)`, ${I.default.dynamicAnchors}={}`:E.nil}}={}`}function jl(e,t){e.if(I.default.valCxt,()=>{e.var(I.default.instancePath,(0, E._)`${I.default.valCxt}.${I.default.instancePath}`),e.var(I.default.parentData,(0, E._)`${I.default.valCxt}.${I.default.parentData}`),e.var(I.default.parentDataProperty,(0, E._)`${I.default.valCxt}.${I.default.parentDataProperty}`),e.var(I.default.rootData,(0, E._)`${I.default.valCxt}.${I.default.rootData}`),t.dynamicRef&&e.var(I.default.dynamicAnchors,(0, E._)`${I.default.valCxt}.${I.default.dynamicAnchors}`);},()=>{e.var(I.default.instancePath,(0, E._)`""`),e.var(I.default.parentData,(0, E._)`undefined`),e.var(I.default.parentDataProperty,(0, E._)`undefined`),e.var(I.default.rootData,I.default.data),t.dynamicRef&&e.var(I.default.dynamicAnchors,(0, E._)`{}`);});}function Nl(e){let{schema:t,opts:r,gen:n}=e;Ga(e,()=>{r.$comment&&t.$comment&&za(e),Ll(e),n.let(I.default.vErrors,null),n.let(I.default.errors,0),r.unevaluated&&ql(e),Ha(e),Gl(e);});}function ql(e){let{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",(0, E._)`${r}.evaluated`),t.if((0, E._)`${e.evaluated}.dynamicProps`,()=>t.assign((0, E._)`${e.evaluated}.props`,(0, E._)`undefined`)),t.if((0, E._)`${e.evaluated}.dynamicItems`,()=>t.assign((0, E._)`${e.evaluated}.items`,(0, E._)`undefined`));}function Ma(e,t){let r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?(0, E._)`/*# sourceURL=${r} */`:E.nil}function Dl(e,t){if(Ua(e)&&(Ja(e),Ka(e))){Fl(e,t);return}(0, Ba.boolOrEmptySchema)(e,t);}function Ka({schema:e,self:t}){if(typeof e=="boolean")return !e;for(let r in e)if(t.RULES.all[r])return true;return false}function Ua(e){return typeof e.schema!="boolean"}function Fl(e,t){let{schema:r,gen:n,opts:s}=e;s.$comment&&r.$comment&&za(e),Vl(e),Bl(e);let o=n.const("_errs",I.default.errors);Ha(e,o),n.var(t,(0, E._)`${o} === ${I.default.errors}`);}function Ja(e){(0, Ge.checkUnknownRules)(e),Ml(e);}function Ha(e,t){if(e.opts.jtd)return La(e,[],false,t);let r=(0, Fa.getSchemaTypes)(e.schema),n=(0, Fa.coerceAndCheckDataType)(e,r);La(e,r,!n,t);}function Ml(e){let{schema:t,errSchemaPath:r,opts:n,self:s}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0, Ge.schemaHasRulesButRef)(t,s.RULES)&&s.logger.warn(`$ref: keywords ignored in schema at path "${r}"`);}function Ll(e){let{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0, Ge.checkStrictMode)(e,"default is ignored in the schema root");}function Vl(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0, Il.resolveUrl)(e.opts.uriResolver,e.baseId,t));}function Bl(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function za({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:s}){let o=r.$comment;if(s.$comment===true)e.code((0, E._)`${I.default.self}.logger.log(${o})`);else if(typeof s.$comment=="function"){let a=(0, E.str)`${n}/$comment`,i=e.scopeValue("root",{ref:t.root});e.code((0, E._)`${I.default.self}.opts.$comment(${o}, ${a}, ${i}.schema)`);}}function Gl(e){let{gen:t,schemaEnv:r,validateName:n,ValidationError:s,opts:o}=e;r.$async?t.if((0, E._)`${I.default.errors} === 0`,()=>t.return(I.default.data),()=>t.throw((0, E._)`new ${s}(${I.default.vErrors})`)):(t.assign((0, E._)`${n}.errors`,I.default.vErrors),o.unevaluated&&Kl(e),t.return((0, E._)`${I.default.errors} === 0`));}function Kl({gen:e,evaluated:t,props:r,items:n}){r instanceof E.Name&&e.assign((0, E._)`${t}.props`,r),n instanceof E.Name&&e.assign((0, E._)`${t}.items`,n);}function La(e,t,r,n){let{gen:s,schema:o,data:a,allErrors:i,opts:u,self:c}=e,{RULES:f}=c;if(o.$ref&&(u.ignoreKeywordsWithRef||!(0, Ge.schemaHasRulesButRef)(o,f))){s.block(()=>Ya(e,"$ref",f.all.$ref.definition));return}u.jtd||Ul(e,t),s.block(()=>{for(let y of f.rules)p(y);p(f.post);});function p(y){(0, fs.shouldUseGroup)(o,y)&&(y.type?(s.if((0, Br.checkDataType)(y.type,a,u.strictNumbers)),Va(e,y),t.length===1&&t[0]===y.type&&r&&(s.else(),(0, Br.reportTypeError)(e)),s.endIf()):Va(e,y),i||s.if((0, E._)`${I.default.errors} === ${n||0}`));}}function Va(e,t){let{gen:r,schema:n,opts:{useDefaults:s}}=e;s&&(0, Al.assignDefaults)(e,t.type),r.block(()=>{for(let o of t.rules)(0, fs.shouldUseRule)(n,o)&&Ya(e,o.keyword,o.definition,t.type);});}function Ul(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(Jl(e,t),e.opts.allowUnionTypes||Hl(e,t),zl(e,e.dataTypes));}function Jl(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{Wa(e.dataTypes,r)||ps(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`);}),Yl(e,t);}}function Hl(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&ps(e,"use allowUnionTypes to allow union type keyword");}function zl(e,t){let r=e.self.RULES.all;for(let n in r){let s=r[n];if(typeof s=="object"&&(0, fs.shouldUseRule)(e.schema,s)){let{type:o}=s.definition;o.length&&!o.some(a=>Wl(t,a))&&ps(e,`missing type "${o.join(",")}" for keyword "${n}"`);}}}function Wl(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function Wa(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function Yl(e,t){let r=[];for(let n of e.dataTypes)Wa(t,n)?r.push(n):t.includes("integer")&&n==="number"&&r.push("integer");e.dataTypes=r;}function ps(e,t){let r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0, Ge.checkStrictMode)(e,t,e.opts.strictTypes);}var Gr=class{constructor(t,r,n){if((0, nr.validateKeywordUsage)(t,r,n),this.gen=t.gen,this.allErrors=t.allErrors,this.keyword=n,this.data=t.data,this.schema=t.schema[n],this.$data=r.$data&&t.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0, Ge.schemaRefOrVal)(t,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=t.schema,this.params={},this.it=t,this.def=r,this.$data)this.schemaCode=t.gen.const("vSchema",Xa(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0, nr.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=t.gen.const("_errs",I.default.errors));}result(t,r,n){this.failResult((0, E.not)(t),r,n);}failResult(t,r,n){this.gen.if(t),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else();}pass(t,r){this.failResult((0, E.not)(t),void 0,r);}fail(t){if(t===void 0){this.error(),this.allErrors||this.gen.if(false);return}this.gen.if(t),this.error(),this.allErrors?this.gen.endIf():this.gen.else();}fail$data(t){if(!this.$data)return this.fail(t);let{schemaCode:r}=this;this.fail((0, E._)`${r} !== undefined && (${(0, E.or)(this.invalid$data(),t)})`);}error(t,r,n){if(r){this.setParams(r),this._error(t,n),this.setParams({});return}this._error(t,n);}_error(t,r){(t?rr.reportExtraError:rr.reportError)(this,this.def.error,r);}$dataError(){(0, rr.reportError)(this,this.def.$dataError||rr.keyword$DataError);}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0, rr.resetErrorsCount)(this.gen,this.errsCount);}ok(t){this.allErrors||this.gen.if(t);}setParams(t,r){r?Object.assign(this.params,t):this.params=t;}block$data(t,r,n=E.nil){this.gen.block(()=>{this.check$data(t,n),r();});}check$data(t=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)),t!==E.nil&&n.assign(t,true),(o.length||a.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),t!==E.nil&&n.assign(t,false)),n.else();}invalid$data(){let{gen:t,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, Br.checkDataTypes)(u,r,o.opts.strictNumbers,Br.DataType.Wrong)}`}return E.nil}function i(){if(s.validateSchema){let u=t.scopeValue("validate$data",{ref:s.validateSchema});return (0, E._)`!${u}(${r})`}return E.nil}}subschema(t,r){let n=(0, ls.getSubschema)(this.it,t);(0, ls.extendSubschemaData)(n,this.it,t),(0, ls.extendSubschemaMode)(n,t);let s={...this.it,...n,items:void 0,props:void 0};return Dl(s,r),s}mergeEvaluated(t,r){let{it:n,gen:s}=this;n.opts.unevaluated&&(n.props!==true&&t.props!==void 0&&(n.props=Ge.mergeEvaluated.props(s,t.props,n.props,r)),n.items!==true&&t.items!==void 0&&(n.items=Ge.mergeEvaluated.items(s,t.items,n.items,r)));}mergeValidEvaluated(t,r){let{it:n,gen:s}=this;if(n.opts.unevaluated&&(n.props!==true||n.items!==true))return s.if(r,()=>this.mergeEvaluated(t,E.Name)),true}};Ze.KeywordCxt=Gr;function Ya(e,t,r,n){let s=new Gr(e,r,t);"code"in r?r.code(s,n):s.$data&&r.validate?(0, nr.funcKeywordCode)(s,r):"macro"in r?(0, nr.macroKeywordCode)(s,r):(r.compile||r.validate)&&(0, nr.funcKeywordCode)(s,r);}var Xl=/^\/(?:[^~]|~0|~1)*$/,Ql=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Xa(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let s,o;if(e==="")return I.default.rootData;if(e[0]==="/"){if(!Xl.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);s=e,o=I.default.rootData;}else {let c=Ql.exec(e);if(!c)throw new Error(`Invalid JSON-pointer: ${e}`);let f=+c[1];if(s=c[2],s==="#"){if(f>=t)throw new Error(u("property/index",f));return n[t-f]}if(f>t)throw new Error(u("data",f));if(o=r[t-f],!s)return o}let a=o,i=s.split("/");for(let c of i)c&&(o=(0, E._)`${o}${(0, E.getProperty)((0, Ge.unescapeJsonPointer)(c))}`,a=(0, E._)`${a} && ${o}`);return a;function u(c,f){return `Cannot access ${c} ${f} levels up, current level is ${t}`}}Ze.getData=Xa;});var Kr=$(hs=>{Object.defineProperty(hs,"__esModule",{value:true});var ms=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=true;}};hs.default=ms;});var or=$(vs=>{Object.defineProperty(vs,"__esModule",{value:true});var gs=tr(),ys=class extends Error{constructor(t,r,n,s){super(s||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0, gs.resolveUrl)(t,r,n),this.missingSchema=(0, gs.normalizeId)((0, gs.getFullPath)(t,this.missingRef));}};vs.default=ys;});var Jr=$(Ce=>{Object.defineProperty(Ce,"__esModule",{value:true});Ce.resolveSchema=Ce.getCompilingSchema=Ce.resolveRef=Ce.compileSchema=Ce.SchemaEnv=void 0;var Te=L(),Zl=Kr(),mt=Be(),Ae=tr(),Qa=K(),ef=sr(),At=class{constructor(t){var r;this.refs={},this.dynamicAnchors={};let n;typeof t.schema=="object"&&(n=t.schema),this.schema=t.schema,this.schemaId=t.schemaId,this.root=t.root||this,this.baseId=(r=t.baseId)!==null&&r!==void 0?r:(0, Ae.normalizeId)(n?.[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=n?.$async,this.refs={};}};Ce.SchemaEnv=At;function ws(e){let t=Za.call(this,e);if(t)return t;let r=(0, Ae.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:s}=this.opts.code,{ownProperties:o}=this.opts,a=new Te.CodeGen(this.scope,{es5:n,lines:s,ownProperties:o}),i;e.$async&&(i=a.scopeValue("Error",{ref:Zl.default,code:(0, Te._)`require("ajv/dist/runtime/validation_error").default`}));let u=a.scopeName("validate");e.validateName=u;let c={gen:a,allErrors:this.opts.allErrors,data:mt.default.data,parentData:mt.default.parentData,parentDataProperty:mt.default.parentDataProperty,dataNames:[mt.default.data],dataPathArr:[Te.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:a.scopeValue("schema",this.opts.code.source===true?{ref:e.schema,code:(0, Te.stringify)(e.schema)}:{ref:e.schema}),validateName:u,ValidationError:i,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:Te.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0, Te._)`""`,opts:this.opts,self:this},f;try{this._compilations.add(e),(0,ef.validateFunctionCode)(c),a.optimize(this.opts.code.optimize);let p=a.toString();f=`${a.scopeRefs(mt.default.scope)}return ${p}`,this.opts.code.process&&(f=this.opts.code.process(f,e));let h=new Function(`${mt.default.self}`,`${mt.default.scope}`,f)(this,this.scope.get());if(this.scope.value(u,{ref:h}),h.errors=null,h.schema=e.schema,h.schemaEnv=e,e.$async&&(h.$async=!0),this.opts.code.source===!0&&(h.source={validateName:u,validateCode:p,scopeValues:a._values}),this.opts.unevaluated){let{props:l,items:d}=c;h.evaluated={props:l instanceof Te.Name?void 0:l,items:d instanceof Te.Name?void 0:d,dynamicProps:l instanceof Te.Name,dynamicItems:d instanceof Te.Name},h.source&&(h.source.evaluated=(0,Te.stringify)(h.evaluated));}return e.validate=h,e}catch(p){throw delete e.validate,delete e.validateName,f&&this.logger.error("Error compiling schema, function code:",f),p}finally{this._compilations.delete(e);}}Ce.compileSchema=ws;function tf(e,t,r){var n;r=(0, Ae.resolveUrl)(this.opts.uriResolver,t,r);let s=e.refs[r];if(s)return s;let o=sf.call(this,e,r);if(o===void 0){let a=(n=e.localRefs)===null||n===void 0?void 0:n[r],{schemaId:i}=this.opts;a&&(o=new At({schema:a,schemaId:i,root:e,baseId:t}));}if(o!==void 0)return e.refs[r]=rf.call(this,o)}Ce.resolveRef=tf;function rf(e){return (0, Ae.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:ws.call(this,e)}function Za(e){for(let t of this._compilations)if(nf(t,e))return t}Ce.getCompilingSchema=Za;function nf(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function sf(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||Ur.call(this,e,t)}function Ur(e,t){let r=this.opts.uriResolver.parse(t),n=(0, Ae._getFullPath)(this.opts.uriResolver,r),s=(0, Ae.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===s)return Ss.call(this,r,e);let o=(0, Ae.normalizeId)(n),a=this.refs[o]||this.schemas[o];if(typeof a=="string"){let i=Ur.call(this,e,a);return typeof i?.schema!="object"?void 0:Ss.call(this,r,i)}if(typeof a?.schema=="object"){if(a.validate||ws.call(this,a),o===(0, Ae.normalizeId)(t)){let{schema:i}=a,{schemaId:u}=this.opts,c=i[u];return c&&(s=(0, Ae.resolveUrl)(this.opts.uriResolver,s,c)),new At({schema:i,schemaId:u,root:e,baseId:s})}return Ss.call(this,r,a)}}Ce.resolveSchema=Ur;var of=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Ss(e,{baseId:t,schema:r,root:n}){var s;if(((s=e.fragment)===null||s===void 0?void 0:s[0])!=="/")return;for(let i of e.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let u=r[(0, Qa.unescapeFragment)(i)];if(u===void 0)return;r=u;let c=typeof r=="object"&&r[this.opts.schemaId];!of.has(i)&&c&&(t=(0, Ae.resolveUrl)(this.opts.uriResolver,t,c));}let o;if(typeof r!="boolean"&&r.$ref&&!(0, Qa.schemaHasRulesButRef)(r,this.RULES)){let i=(0, Ae.resolveUrl)(this.opts.uriResolver,t,r.$ref);o=Ur.call(this,n,i);}let{schemaId:a}=this.opts;if(o=o||new At({schema:r,schemaId:a,root:n,baseId:t}),o.schema!==o.root.schema)return o}});var ei=$((wy,af)=>{af.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 ks=$((by,si)=>{var uf=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),ri=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 bs(e){let t="",r=0,n=0;for(n=0;n<e.length;n++)if(r=e[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return "";t+=e[n];break}for(n+=1;n<e.length;n++){if(r=e[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return "";t+=e[n];}return t}var cf=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function ti(e){return e.length=0,true}function df(e,t,r){if(e.length){let n=bs(e);if(n!=="")t.push(n);else return r.error=true,false;e.length=0;}return true}function lf(e){let t=0,r={error:false,address:"",zone:""},n=[],s=[],o=false,a=false,i=df;for(let u=0;u<e.length;u++){let c=e[u];if(!(c==="["||c==="]"))if(c===":"){if(o===true&&(a=true),!i(s,n,r))break;if(++t>7){r.error=true;break}u>0&&e[u-1]===":"&&(o=true),n.push(":");continue}else if(c==="%"){if(!i(s,n,r))break;i=ti;}else {s.push(c);continue}}return s.length&&(i===ti?r.zone=s.join(""):a?n.push(s.join("")):n.push(bs(s))),r.address=n.join(""),r}function ni(e){if(ff(e,":")<2)return {host:e,isIPV6:false};let t=lf(e);if(t.error)return {host:e,isIPV6:false};{let r=t.address,n=t.address;return t.zone&&(r+="%"+t.zone,n+="%25"+t.zone),{host:r,isIPV6:true,escapedHost:n}}}function ff(e,t){let r=0;for(let n=0;n<e.length;n++)e[n]===t&&r++;return r}function pf(e){let t=e,r=[],n=-1,s=0;for(;s=t.length;){if(s===1){if(t===".")break;if(t==="/"){r.push("/");break}else {r.push(t);break}}else if(s===2){if(t[0]==="."){if(t[1]===".")break;if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"&&(t[1]==="."||t[1]==="/")){r.push("/");break}}else if(s===3&&t==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(t[0]==="."){if(t[1]==="."){if(t[2]==="/"){t=t.slice(3);continue}}else if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"&&t[1]==="."){if(t[2]==="/"){t=t.slice(2);continue}else if(t[2]==="."&&t[3]==="/"){t=t.slice(3),r.length!==0&&r.pop();continue}}if((n=t.indexOf("/",1))===-1){r.push(t);break}else r.push(t.slice(0,n)),t=t.slice(n);}return r.join("")}function mf(e,t){let r=t!==true?escape:unescape;return e.scheme!==void 0&&(e.scheme=r(e.scheme)),e.userinfo!==void 0&&(e.userinfo=r(e.userinfo)),e.host!==void 0&&(e.host=r(e.host)),e.path!==void 0&&(e.path=r(e.path)),e.query!==void 0&&(e.query=r(e.query)),e.fragment!==void 0&&(e.fragment=r(e.fragment)),e}function hf(e){let t=[];if(e.userinfo!==void 0&&(t.push(e.userinfo),t.push("@")),e.host!==void 0){let r=unescape(e.host);if(!ri(r)){let n=ni(r);n.isIPV6===true?r=`[${n.escapedHost}]`:r=e.host;}t.push(r);}return (typeof e.port=="number"||typeof e.port=="string")&&(t.push(":"),t.push(String(e.port))),t.length?t.join(""):void 0}si.exports={nonSimpleDomain:cf,recomposeAuthority:hf,normalizeComponentEncoding:mf,removeDotSegments:pf,isIPv4:ri,isUUID:uf,normalizeIPv6:ni,stringArrayToHexStripped:bs};});var ci=$((ky,ui)=>{var{isUUID:gf}=ks(),yf=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,vf=["http","https","ws","wss","urn","urn:uuid"];function Sf(e){return vf.indexOf(e)!==-1}function _s(e){return e.secure===true?true:e.secure===false?false:e.scheme?e.scheme.length===3&&(e.scheme[0]==="w"||e.scheme[0]==="W")&&(e.scheme[1]==="s"||e.scheme[1]==="S")&&(e.scheme[2]==="s"||e.scheme[2]==="S"):false}function oi(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function ai(e){let t=String(e.scheme).toLowerCase()==="https";return (e.port===(t?443:80)||e.port==="")&&(e.port=void 0),e.path||(e.path="/"),e}function wf(e){return e.secure=_s(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function bf(e){if((e.port===(_s(e)?443:80)||e.port==="")&&(e.port=void 0),typeof e.secure=="boolean"&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){let[t,r]=e.resourceName.split("?");e.path=t&&t!=="/"?t:void 0,e.query=r,e.resourceName=void 0;}return e.fragment=void 0,e}function kf(e,t){if(!e.path)return e.error="URN can not be parsed",e;let r=e.path.match(yf);if(r){let n=t.scheme||e.scheme||"urn";e.nid=r[1].toLowerCase(),e.nss=r[2];let s=`${n}:${t.nid||e.nid}`,o=$s(s);e.path=void 0,o&&(e=o.parse(e,t));}else e.error=e.error||"URN can not be parsed.";return e}function _f(e,t){if(e.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=t.scheme||e.scheme||"urn",n=e.nid.toLowerCase(),s=`${r}:${t.nid||n}`,o=$s(s);o&&(e=o.serialize(e,t));let a=e,i=e.nss;return a.path=`${n||t.nid}:${i}`,t.skipEscape=true,a}function $f(e,t){let r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!gf(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function Rf(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var ii={scheme:"http",domainHost:true,parse:oi,serialize:ai},Cf={scheme:"https",domainHost:ii.domainHost,parse:oi,serialize:ai},Hr={scheme:"ws",domainHost:true,parse:wf,serialize:bf},Ef={scheme:"wss",domainHost:Hr.domainHost,parse:Hr.parse,serialize:Hr.serialize},xf={scheme:"urn",parse:kf,serialize:_f,skipNormalize:true},Tf={scheme:"urn:uuid",parse:$f,serialize:Rf,skipNormalize:true},zr={http:ii,https:Cf,ws:Hr,wss:Ef,urn:xf,"urn:uuid":Tf};Object.setPrototypeOf(zr,null);function $s(e){return e&&(zr[e]||zr[e.toLowerCase()])||void 0}ui.exports={wsIsSecure:_s,SCHEMES:zr,isValidSchemeName:Sf,getSchemeHandler:$s};});var fi=$((_y,Yr)=>{var{normalizeIPv6:Af,removeDotSegments:ar,recomposeAuthority:If,normalizeComponentEncoding:Wr,isIPv4:Pf,nonSimpleDomain:Of}=ks(),{SCHEMES:jf,getSchemeHandler:di}=ci();function Nf(e,t){return typeof e=="string"?e=qe(Ke(e,t),t):typeof e=="object"&&(e=Ke(qe(e,t),t)),e}function qf(e,t,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},s=li(Ke(e,n),Ke(t,n),n,true);return n.skipEscape=true,qe(s,n)}function li(e,t,r,n){let s={};return n||(e=Ke(qe(e,r),r),t=Ke(qe(t,r),r)),r=r||{},!r.tolerant&&t.scheme?(s.scheme=t.scheme,s.userinfo=t.userinfo,s.host=t.host,s.port=t.port,s.path=ar(t.path||""),s.query=t.query):(t.userinfo!==void 0||t.host!==void 0||t.port!==void 0?(s.userinfo=t.userinfo,s.host=t.host,s.port=t.port,s.path=ar(t.path||""),s.query=t.query):(t.path?(t.path[0]==="/"?s.path=ar(t.path):((e.userinfo!==void 0||e.host!==void 0||e.port!==void 0)&&!e.path?s.path="/"+t.path:e.path?s.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:s.path=t.path,s.path=ar(s.path)),s.query=t.query):(s.path=e.path,t.query!==void 0?s.query=t.query:s.query=e.query),s.userinfo=e.userinfo,s.host=e.host,s.port=e.port),s.scheme=e.scheme),s.fragment=t.fragment,s}function Df(e,t,r){return typeof e=="string"?(e=unescape(e),e=qe(Wr(Ke(e,r),true),{...r,skipEscape:true})):typeof e=="object"&&(e=qe(Wr(e,true),{...r,skipEscape:true})),typeof t=="string"?(t=unescape(t),t=qe(Wr(Ke(t,r),true),{...r,skipEscape:true})):typeof t=="object"&&(t=qe(Wr(t,true),{...r,skipEscape:true})),e.toLowerCase()===t.toLowerCase()}function qe(e,t){let r={host:e.host,scheme:e.scheme,userinfo:e.userinfo,port:e.port,path:e.path,query:e.query,nid:e.nid,nss:e.nss,uuid:e.uuid,fragment:e.fragment,reference:e.reference,resourceName:e.resourceName,secure:e.secure,error:""},n=Object.assign({},t),s=[],o=di(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=If(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=ar(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 Ff=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Ke(e,t){let r=Object.assign({},t),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?e=r.scheme+":"+e:e="//"+e);let o=e.match(Ff);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(Pf(n.host)===false){let u=Af(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=di(r.scheme||n.scheme);if(!r.unicodeSupport&&(!a||!a.unicodeSupport)&&n.host&&(r.domainHost||a&&a.domainHost)&&s===false&&Of(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)&&(e.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 Rs={SCHEMES:jf,normalize:Nf,resolve:qf,resolveComponent:li,equal:Df,serialize:qe,parse:Ke};Yr.exports=Rs;Yr.exports.default=Rs;Yr.exports.fastUri=Rs;});var mi=$(Cs=>{Object.defineProperty(Cs,"__esModule",{value:true});var pi=fi();pi.code='require("ajv/dist/runtime/uri").default';Cs.default=pi;});var ki=$(ie=>{Object.defineProperty(ie,"__esModule",{value:true});ie.CodeGen=ie.Name=ie.nil=ie.stringify=ie.str=ie._=ie.KeywordCxt=void 0;var Mf=sr();Object.defineProperty(ie,"KeywordCxt",{enumerable:true,get:function(){return Mf.KeywordCxt}});var It=L();Object.defineProperty(ie,"_",{enumerable:true,get:function(){return It._}});Object.defineProperty(ie,"str",{enumerable:true,get:function(){return It.str}});Object.defineProperty(ie,"stringify",{enumerable:true,get:function(){return It.stringify}});Object.defineProperty(ie,"nil",{enumerable:true,get:function(){return It.nil}});Object.defineProperty(ie,"Name",{enumerable:true,get:function(){return It.Name}});Object.defineProperty(ie,"CodeGen",{enumerable:true,get:function(){return It.CodeGen}});var Lf=Kr(),Si=or(),Vf=ts(),ir=Jr(),Bf=L(),ur=tr(),Xr=er(),xs=K(),hi=ei(),Gf=mi(),wi=(e,t)=>new RegExp(e,t);wi.code="new RegExp";var Kf=["removeAdditional","useDefaults","coerceTypes"],Uf=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),Jf={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."},Hf={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},gi=200;function zf(e){var t,r,n,s,o,a,i,u,c,f,p,y,h,l,d,m,v,g,w,_,b,A,R,j,H;let F=e.strict,z=(t=e.code)===null||t===void 0?void 0:t.optimize,ce=z===true||z===void 0?1:z||0,ae=(n=(r=e.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:wi,st=(s=e.uriResolver)!==null&&s!==void 0?s:Gf.default;return {strictSchema:(a=(o=e.strictSchema)!==null&&o!==void 0?o:F)!==null&&a!==void 0?a:true,strictNumbers:(u=(i=e.strictNumbers)!==null&&i!==void 0?i:F)!==null&&u!==void 0?u:true,strictTypes:(f=(c=e.strictTypes)!==null&&c!==void 0?c:F)!==null&&f!==void 0?f:"log",strictTuples:(y=(p=e.strictTuples)!==null&&p!==void 0?p:F)!==null&&y!==void 0?y:"log",strictRequired:(l=(h=e.strictRequired)!==null&&h!==void 0?h:F)!==null&&l!==void 0?l:false,code:e.code?{...e.code,optimize:ce,regExp:ae}:{optimize:ce,regExp:ae},loopRequired:(d=e.loopRequired)!==null&&d!==void 0?d:gi,loopEnum:(m=e.loopEnum)!==null&&m!==void 0?m:gi,meta:(v=e.meta)!==null&&v!==void 0?v:true,messages:(g=e.messages)!==null&&g!==void 0?g:true,inlineRefs:(w=e.inlineRefs)!==null&&w!==void 0?w:true,schemaId:(_=e.schemaId)!==null&&_!==void 0?_:"$id",addUsedSchema:(b=e.addUsedSchema)!==null&&b!==void 0?b:true,validateSchema:(A=e.validateSchema)!==null&&A!==void 0?A:true,validateFormats:(R=e.validateFormats)!==null&&R!==void 0?R:true,unicodeRegExp:(j=e.unicodeRegExp)!==null&&j!==void 0?j:true,int32range:(H=e.int32range)!==null&&H!==void 0?H:true,uriResolver:st}}var cr=class{constructor(t={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,t=this.opts={...t,...zf(t)};let{es5:r,lines:n}=this.opts.code;this.scope=new Bf.ValueScope({scope:{},prefixes:Uf,es5:r,lines:n}),this.logger=ep(t.logger);let s=t.validateFormats;t.validateFormats=false,this.RULES=(0, Vf.getRules)(),yi.call(this,Jf,t,"NOT SUPPORTED"),yi.call(this,Hf,t,"DEPRECATED","warn"),this._metaOpts=Qf.call(this),t.formats&&Yf.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),t.keywords&&Xf.call(this,t.keywords),typeof t.meta=="object"&&this.addMetaSchema(t.meta),Wf.call(this),t.validateFormats=s;}_addVocabularies(){this.addKeyword("$async");}_addDefaultMetaSchema(){let{$data:t,meta:r,schemaId:n}=this.opts,s=hi;n==="id"&&(s={...hi},s.id=s.$id,delete s.$id),r&&t&&this.addMetaSchema(s,s[n],false);}defaultMeta(){let{meta:t,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof t=="object"?t[r]||t:void 0}validate(t,r){let n;if(typeof t=="string"){if(n=this.getSchema(t),!n)throw new Error(`no schema with key or ref "${t}"`)}else n=this.compile(t);let s=n(r);return "$async"in n||(this.errors=n.errors),s}compile(t,r){let n=this._addSchema(t,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(t,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,t,r);async function s(f,p){await o.call(this,f.$schema);let y=this._addSchema(f,p);return y.validate||a.call(this,y)}async function o(f){f&&!this.getSchema(f)&&await s.call(this,{$ref:f},true);}async function a(f){try{return this._compileSchemaEnv(f)}catch(p){if(!(p instanceof Si.default))throw p;return i.call(this,p),await u.call(this,p.missingSchema),a.call(this,f)}}function i({missingSchema:f,missingRef:p}){if(this.refs[f])throw new Error(`AnySchema ${f} is loaded but ${p} cannot be resolved`)}async function u(f){let p=await c.call(this,f);this.refs[f]||await o.call(this,p.$schema),this.refs[f]||this.addSchema(p,f,r);}async function c(f){let p=this._loading[f];if(p)return p;try{return await(this._loading[f]=n(f))}finally{delete this._loading[f];}}}addSchema(t,r,n,s=this.opts.validateSchema){if(Array.isArray(t)){for(let a of t)this.addSchema(a,void 0,n,s);return this}let o;if(typeof t=="object"){let{schemaId:a}=this.opts;if(o=t[a],o!==void 0&&typeof o!="string")throw new Error(`schema ${a} must be string`)}return r=(0, ur.normalizeId)(r||o),this._checkUnique(r),this.schemas[r]=this._addSchema(t,n,r,s,true),this}addMetaSchema(t,r,n=this.opts.validateSchema){return this.addSchema(t,r,true,n),this}validateSchema(t,r){if(typeof t=="boolean")return true;let n;if(n=t.$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,t);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(t){let r;for(;typeof(r=vi.call(this,t))=="string";)t=r;if(r===void 0){let{schemaId:n}=this.opts,s=new ir.SchemaEnv({schema:{},schemaId:n});if(r=ir.resolveSchema.call(this,s,t),!r)return;this.refs[t]=r;}return r.validate||this._compileSchemaEnv(r)}removeSchema(t){if(t instanceof RegExp)return this._removeAllSchemas(this.schemas,t),this._removeAllSchemas(this.refs,t),this;switch(typeof t){case "undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case "string":{let r=vi.call(this,t);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[t],delete this.refs[t],this}case "object":{let r=t;this._cache.delete(r);let n=t[this.opts.schemaId];return n&&(n=(0, ur.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(t){for(let r of t)this.addKeyword(r);return this}addKeyword(t,r){let n;if(typeof t=="string")n=t,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof t=="object"&&r===void 0){if(r=t,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(rp.call(this,n,r),!r)return (0, xs.eachItem)(n,o=>Es.call(this,o)),this;sp.call(this,r);let s={...r,type:(0, Xr.getJSONTypes)(r.type),schemaType:(0, Xr.getJSONTypes)(r.schemaType)};return (0, xs.eachItem)(n,s.type.length===0?o=>Es.call(this,o,s):o=>s.type.forEach(a=>Es.call(this,o,s,a))),this}getKeyword(t){let r=this.RULES.all[t];return typeof r=="object"?r.definition:!!r}removeKeyword(t){let{RULES:r}=this;delete r.keywords[t],delete r.all[t];for(let n of r.rules){let s=n.rules.findIndex(o=>o.keyword===t);s>=0&&n.rules.splice(s,1);}return this}addFormat(t,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[t]=r,this}errorsText(t=this.errors,{separator:r=", ",dataVar:n="data"}={}){return !t||t.length===0?"No errors":t.map(s=>`${n}${s.instancePath} ${s.message}`).reduce((s,o)=>s+r+o)}$dataMetaSchema(t,r){let n=this.RULES.all;t=JSON.parse(JSON.stringify(t));for(let s of r){let o=s.split("/").slice(1),a=t;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,f=a[i];c&&f&&(a[i]=bi(f));}}return t}_removeAllSchemas(t,r){for(let n in t){let s=t[n];(!r||r.test(n))&&(typeof s=="string"?delete t[n]:s&&!s.meta&&(this._cache.delete(s.schema),delete t[n]));}}_addSchema(t,r,n,s=this.opts.validateSchema,o=this.opts.addUsedSchema){let a,{schemaId:i}=this.opts;if(typeof t=="object")a=t[i];else {if(this.opts.jtd)throw new Error("schema must be object");if(typeof t!="boolean")throw new Error("schema must be object or boolean")}let u=this._cache.get(t);if(u!==void 0)return u;n=(0, ur.normalizeId)(a||n);let c=ur.getSchemaRefs.call(this,t,n);return u=new ir.SchemaEnv({schema:t,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(t,true),u}_checkUnique(t){if(this.schemas[t]||this.refs[t])throw new Error(`schema with key or id "${t}" already exists`)}_compileSchemaEnv(t){if(t.meta?this._compileMetaSchema(t):ir.compileSchema.call(this,t),!t.validate)throw new Error("ajv implementation error");return t.validate}_compileMetaSchema(t){let r=this.opts;this.opts=this._metaOpts;try{ir.compileSchema.call(this,t);}finally{this.opts=r;}}};cr.ValidationError=Lf.default;cr.MissingRefError=Si.default;ie.default=cr;function yi(e,t,r,n="error"){for(let s in e){let o=s;o in t&&this.logger[n](`${r}: option ${s}. ${e[o]}`);}}function vi(e){return e=(0, ur.normalizeId)(e),this.schemas[e]||this.refs[e]}function Wf(){let e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(let t in e)this.addSchema(e[t],t);}function Yf(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t);}}function Xf(e){if(Array.isArray(e)){this.addVocabulary(e);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let t in e){let r=e[t];r.keyword||(r.keyword=t),this.addKeyword(r);}}function Qf(){let e={...this.opts};for(let t of Kf)delete e[t];return e}var Zf={log(){},warn(){},error(){}};function ep(e){if(e===false)return Zf;if(e===void 0)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}var tp=/^[a-z_$][a-z0-9_$:-]*$/i;function rp(e,t){let{RULES:r}=this;if((0, xs.eachItem)(e,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!tp.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!t&&t.$data&&!("code"in t||"validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function Es(e,t,r){var n;let s=t?.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[e]=true,!t)return;let i={keyword:e,definition:{...t,type:(0, Xr.getJSONTypes)(t.type),schemaType:(0, Xr.getJSONTypes)(t.schemaType)}};t.before?np.call(this,a,i,t.before):a.rules.push(i),o.all[e]=i,(n=t.implements)===null||n===void 0||n.forEach(u=>this.addKeyword(u));}function np(e,t,r){let n=e.rules.findIndex(s=>s.keyword===r);n>=0?e.rules.splice(n,0,t):(e.rules.push(t),this.logger.warn(`rule ${r} is not defined`));}function sp(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=bi(t)),e.validateSchema=this.compile(t,true));}var op={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function bi(e){return {anyOf:[e,op]}}});var _i=$(Ts=>{Object.defineProperty(Ts,"__esModule",{value:true});var ap={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Ts.default=ap;});var Ei=$(ht=>{Object.defineProperty(ht,"__esModule",{value:true});ht.callRef=ht.getValidate=void 0;var ip=or(),$i=Re(),we=L(),Pt=Be(),Ri=Jr(),Qr=K(),up={keyword:"$ref",schemaType:"string",code(e){let{gen:t,schema:r,it:n}=e,{baseId:s,schemaEnv:o,validateName:a,opts:i,self:u}=n,{root:c}=o;if((r==="#"||r==="#/")&&s===c.baseId)return p();let f=Ri.resolveRef.call(u,c,s,r);if(f===void 0)throw new ip.default(n.opts.uriResolver,s,r);if(f instanceof Ri.SchemaEnv)return y(f);return h(f);function p(){if(o===c)return Zr(e,a,o,o.$async);let l=t.scopeValue("root",{ref:c});return Zr(e,(0, we._)`${l}.validate`,c,c.$async)}function y(l){let d=Ci(e,l);Zr(e,d,l,l.$async);}function h(l){let d=t.scopeValue("schema",i.code.source===true?{ref:l,code:(0, we.stringify)(l)}:{ref:l}),m=t.name("valid"),v=e.subschema({schema:l,dataTypes:[],schemaPath:we.nil,topSchemaRef:d,errSchemaPath:r},m);e.mergeEvaluated(v),e.ok(m);}}};function Ci(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0, we._)`${r.scopeValue("wrapper",{ref:t})}.validate`}ht.getValidate=Ci;function Zr(e,t,r,n){let{gen:s,it:o}=e,{allErrors:a,schemaEnv:i,opts:u}=o,c=u.passContext?Pt.default.this:we.nil;n?f():p();function f(){if(!i.$async)throw new Error("async schema referenced by sync schema");let l=s.let("valid");s.try(()=>{s.code((0, we._)`await ${(0, $i.callValidateCode)(e,t,c)}`),h(t),a||s.assign(l,true);},d=>{s.if((0, we._)`!(${d} instanceof ${o.ValidationError})`,()=>s.throw(d)),y(d),a||s.assign(l,false);}),e.ok(l);}function p(){e.result((0, $i.callValidateCode)(e,t,c),()=>h(t),()=>y(t));}function y(l){let d=(0, we._)`${l}.errors`;s.assign(Pt.default.vErrors,(0, we._)`${Pt.default.vErrors} === null ? ${d} : ${Pt.default.vErrors}.concat(${d})`),s.assign(Pt.default.errors,(0, we._)`${Pt.default.vErrors}.length`);}function h(l){var d;if(!o.opts.unevaluated)return;let m=(d=r?.validate)===null||d===void 0?void 0:d.evaluated;if(o.props!==true)if(m&&!m.dynamicProps)m.props!==void 0&&(o.props=Qr.mergeEvaluated.props(s,m.props,o.props));else {let v=s.var("props",(0, we._)`${l}.evaluated.props`);o.props=Qr.mergeEvaluated.props(s,v,o.props,we.Name);}if(o.items!==true)if(m&&!m.dynamicItems)m.items!==void 0&&(o.items=Qr.mergeEvaluated.items(s,m.items,o.items));else {let v=s.var("items",(0, we._)`${l}.evaluated.items`);o.items=Qr.mergeEvaluated.items(s,v,o.items,we.Name);}}}ht.callRef=Zr;ht.default=up;});var xi=$(As=>{Object.defineProperty(As,"__esModule",{value:true});var cp=_i(),dp=Ei(),lp=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",cp.default,dp.default];As.default=lp;});var Ti=$(Is=>{Object.defineProperty(Is,"__esModule",{value:true});var en=L(),et=en.operators,tn={maximum:{okStr:"<=",ok:et.LTE,fail:et.GT},minimum:{okStr:">=",ok:et.GTE,fail:et.LT},exclusiveMaximum:{okStr:"<",ok:et.LT,fail:et.GTE},exclusiveMinimum:{okStr:">",ok:et.GT,fail:et.LTE}},fp={message:({keyword:e,schemaCode:t})=>(0, en.str)`must be ${tn[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0, en._)`{comparison: ${tn[e].okStr}, limit: ${t}}`},pp={keyword:Object.keys(tn),type:"number",schemaType:"number",$data:true,error:fp,code(e){let{keyword:t,data:r,schemaCode:n}=e;e.fail$data((0, en._)`${r} ${tn[t].fail} ${n} || isNaN(${r})`);}};Is.default=pp;});var Ai=$(Ps=>{Object.defineProperty(Ps,"__esModule",{value:true});var dr=L(),mp={message:({schemaCode:e})=>(0, dr.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0, dr._)`{multipleOf: ${e}}`},hp={keyword:"multipleOf",type:"number",schemaType:"number",$data:true,error:mp,code(e){let{gen:t,data:r,schemaCode:n,it:s}=e,o=s.opts.multipleOfPrecision,a=t.let("res"),i=o?(0, dr._)`Math.abs(Math.round(${a}) - ${a}) > 1e-${o}`:(0, dr._)`${a} !== parseInt(${a})`;e.fail$data((0, dr._)`(${n} === 0 || (${a} = ${r}/${n}, ${i}))`);}};Ps.default=hp;});var Pi=$(Os=>{Object.defineProperty(Os,"__esModule",{value:true});function Ii(e){let t=e.length,r=0,n=0,s;for(;n<t;)r++,s=e.charCodeAt(n++),s>=55296&&s<=56319&&n<t&&(s=e.charCodeAt(n),(s&64512)===56320&&n++);return r}Os.default=Ii;Ii.code='require("ajv/dist/runtime/ucs2length").default';});var Oi=$(js=>{Object.defineProperty(js,"__esModule",{value:true});var gt=L(),gp=K(),yp=Pi(),vp={message({keyword:e,schemaCode:t}){let r=e==="maxLength"?"more":"fewer";return (0, gt.str)`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>(0, gt._)`{limit: ${e}}`},Sp={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:true,error:vp,code(e){let{keyword:t,data:r,schemaCode:n,it:s}=e,o=t==="maxLength"?gt.operators.GT:gt.operators.LT,a=s.opts.unicode===false?(0, gt._)`${r}.length`:(0, gt._)`${(0, gp.useFunc)(e.gen,yp.default)}(${r})`;e.fail$data((0, gt._)`${a} ${o} ${n}`);}};js.default=Sp;});var ji=$(Ns=>{Object.defineProperty(Ns,"__esModule",{value:true});var wp=Re(),bp=K(),Ot=L(),kp={message:({schemaCode:e})=>(0, Ot.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0, Ot._)`{pattern: ${e}}`},_p={keyword:"pattern",type:"string",schemaType:"string",$data:true,error:kp,code(e){let{gen:t,data:r,$data:n,schema:s,schemaCode:o,it:a}=e,i=a.opts.unicodeRegExp?"u":"";if(n){let{regExp:u}=a.opts.code,c=u.code==="new RegExp"?(0, Ot._)`new RegExp`:(0, bp.useFunc)(t,u),f=t.let("valid");t.try(()=>t.assign(f,(0, Ot._)`${c}(${o}, ${i}).test(${r})`),()=>t.assign(f,false)),e.fail$data((0, Ot._)`!${f}`);}else {let u=(0, wp.usePattern)(e,s);e.fail$data((0, Ot._)`!${u}.test(${r})`);}}};Ns.default=_p;});var Ni=$(qs=>{Object.defineProperty(qs,"__esModule",{value:true});var lr=L(),$p={message({keyword:e,schemaCode:t}){let r=e==="maxProperties"?"more":"fewer";return (0, lr.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0, lr._)`{limit: ${e}}`},Rp={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:true,error:$p,code(e){let{keyword:t,data:r,schemaCode:n}=e,s=t==="maxProperties"?lr.operators.GT:lr.operators.LT;e.fail$data((0, lr._)`Object.keys(${r}).length ${s} ${n}`);}};qs.default=Rp;});var qi=$(Ds=>{Object.defineProperty(Ds,"__esModule",{value:true});var fr=Re(),pr=L(),Cp=K(),Ep={message:({params:{missingProperty:e}})=>(0, pr.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0, pr._)`{missingProperty: ${e}}`},xp={keyword:"required",type:"object",schemaType:"array",$data:true,error:Ep,code(e){let{gen:t,schema:r,schemaCode:n,data:s,$data:o,it:a}=e,{opts:i}=a;if(!o&&r.length===0)return;let u=r.length>=i.loopRequired;if(a.allErrors?c():f(),i.strictRequired){let h=e.parentSchema.properties,{definedProperties:l}=e.it;for(let d of r)if(h?.[d]===void 0&&!l.has(d)){let m=a.schemaEnv.baseId+a.errSchemaPath,v=`required property "${d}" is not defined at "${m}" (strictRequired)`;(0, Cp.checkStrictMode)(a,v,a.opts.strictRequired);}}function c(){if(u||o)e.block$data(pr.nil,p);else for(let h of r)(0, fr.checkReportMissingProp)(e,h);}function f(){let h=t.let("missing");if(u||o){let l=t.let("valid",true);e.block$data(l,()=>y(h,l)),e.ok(l);}else t.if((0, fr.checkMissingProp)(e,r,h)),(0, fr.reportMissingProp)(e,h),t.else();}function p(){t.forOf("prop",n,h=>{e.setParams({missingProperty:h}),t.if((0, fr.noPropertyInData)(t,s,h,i.ownProperties),()=>e.error());});}function y(h,l){e.setParams({missingProperty:h}),t.forOf(h,n,()=>{t.assign(l,(0, fr.propertyInData)(t,s,h,i.ownProperties)),t.if((0, pr.not)(l),()=>{e.error(),t.break();});},pr.nil);}}};Ds.default=xp;});var Di=$(Fs=>{Object.defineProperty(Fs,"__esModule",{value:true});var mr=L(),Tp={message({keyword:e,schemaCode:t}){let r=e==="maxItems"?"more":"fewer";return (0, mr.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0, mr._)`{limit: ${e}}`},Ap={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:true,error:Tp,code(e){let{keyword:t,data:r,schemaCode:n}=e,s=t==="maxItems"?mr.operators.GT:mr.operators.LT;e.fail$data((0, mr._)`${r}.length ${s} ${n}`);}};Fs.default=Ap;});var rn=$(Ms=>{Object.defineProperty(Ms,"__esModule",{value:true});var Fi=cs();Fi.code='require("ajv/dist/runtime/equal").default';Ms.default=Fi;});var Mi=$(Vs=>{Object.defineProperty(Vs,"__esModule",{value:true});var Ls=er(),ue=L(),Ip=K(),Pp=rn(),Op={message:({params:{i:e,j:t}})=>(0, ue.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0, ue._)`{i: ${e}, j: ${t}}`},jp={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:true,error:Op,code(e){let{gen:t,data:r,$data:n,schema:s,parentSchema:o,schemaCode:a,it:i}=e;if(!n&&!s)return;let u=t.let("valid"),c=o.items?(0, Ls.getSchemaTypes)(o.items):[];e.block$data(u,f,(0, ue._)`${a} === false`),e.ok(u);function f(){let l=t.let("i",(0, ue._)`${r}.length`),d=t.let("j");e.setParams({i:l,j:d}),t.assign(u,true),t.if((0, ue._)`${l} > 1`,()=>(p()?y:h)(l,d));}function p(){return c.length>0&&!c.some(l=>l==="object"||l==="array")}function y(l,d){let m=t.name("item"),v=(0, Ls.checkDataTypes)(c,m,i.opts.strictNumbers,Ls.DataType.Wrong),g=t.const("indices",(0, ue._)`{}`);t.for((0, ue._)`;${l}--;`,()=>{t.let(m,(0, ue._)`${r}[${l}]`),t.if(v,(0, ue._)`continue`),c.length>1&&t.if((0, ue._)`typeof ${m} == "string"`,(0, ue._)`${m} += "_"`),t.if((0, ue._)`typeof ${g}[${m}] == "number"`,()=>{t.assign(d,(0, ue._)`${g}[${m}]`),e.error(),t.assign(u,false).break();}).code((0, ue._)`${g}[${m}] = ${l}`);});}function h(l,d){let m=(0, Ip.useFunc)(t,Pp.default),v=t.name("outer");t.label(v).for((0, ue._)`;${l}--;`,()=>t.for((0, ue._)`${d} = ${l}; ${d}--;`,()=>t.if((0, ue._)`${m}(${r}[${l}], ${r}[${d}])`,()=>{e.error(),t.assign(u,false).break(v);})));}}};Vs.default=jp;});var Li=$(Gs=>{Object.defineProperty(Gs,"__esModule",{value:true});var Bs=L(),Np=K(),qp=rn(),Dp={message:"must be equal to constant",params:({schemaCode:e})=>(0, Bs._)`{allowedValue: ${e}}`},Fp={keyword:"const",$data:true,error:Dp,code(e){let{gen:t,data:r,$data:n,schemaCode:s,schema:o}=e;n||o&&typeof o=="object"?e.fail$data((0, Bs._)`!${(0, Np.useFunc)(t,qp.default)}(${r}, ${s})`):e.fail((0, Bs._)`${o} !== ${r}`);}};Gs.default=Fp;});var Vi=$(Ks=>{Object.defineProperty(Ks,"__esModule",{value:true});var hr=L(),Mp=K(),Lp=rn(),Vp={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0, hr._)`{allowedValues: ${e}}`},Bp={keyword:"enum",schemaType:"array",$data:true,error:Vp,code(e){let{gen:t,data:r,$data:n,schema:s,schemaCode:o,it:a}=e;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, Mp.useFunc)(t,Lp.default)),f;if(i||n)f=t.let("valid"),e.block$data(f,p);else {if(!Array.isArray(s))throw new Error("ajv implementation error");let h=t.const("vSchema",o);f=(0, hr.or)(...s.map((l,d)=>y(h,d)));}e.pass(f);function p(){t.assign(f,false),t.forOf("v",o,h=>t.if((0, hr._)`${c()}(${r}, ${h})`,()=>t.assign(f,true).break()));}function y(h,l){let d=s[l];return typeof d=="object"&&d!==null?(0, hr._)`${c()}(${r}, ${h}[${l}])`:(0, hr._)`${r} === ${d}`}}};Ks.default=Bp;});var Bi=$(Us=>{Object.defineProperty(Us,"__esModule",{value:true});var Gp=Ti(),Kp=Ai(),Up=Oi(),Jp=ji(),Hp=Ni(),zp=qi(),Wp=Di(),Yp=Mi(),Xp=Li(),Qp=Vi(),Zp=[Gp.default,Kp.default,Up.default,Jp.default,Hp.default,zp.default,Wp.default,Yp.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},Xp.default,Qp.default];Us.default=Zp;});var Hs=$(gr=>{Object.defineProperty(gr,"__esModule",{value:true});gr.validateAdditionalItems=void 0;var yt=L(),Js=K(),em={message:({params:{len:e}})=>(0, yt.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0, yt._)`{limit: ${e}}`},tm={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:em,code(e){let{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){(0, Js.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}Gi(e,n);}};function Gi(e,t){let{gen:r,schema:n,data:s,keyword:o,it:a}=e;a.items=true;let i=r.const("len",(0, yt._)`${s}.length`);if(n===false)e.setParams({len:t.length}),e.pass((0, yt._)`${i} <= ${t.length}`);else if(typeof n=="object"&&!(0, Js.alwaysValidSchema)(a,n)){let c=r.var("valid",(0, yt._)`${i} <= ${t.length}`);r.if((0, yt.not)(c),()=>u(c)),e.ok(c);}function u(c){r.forRange("i",t.length,i,f=>{e.subschema({keyword:o,dataProp:f,dataPropType:Js.Type.Num},c),a.allErrors||r.if((0, yt.not)(c),()=>r.break());});}}gr.validateAdditionalItems=Gi;gr.default=tm;});var zs=$(yr=>{Object.defineProperty(yr,"__esModule",{value:true});yr.validateTuple=void 0;var Ki=L(),nn=K(),rm=Re(),nm={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return Ui(e,"additionalItems",t);r.items=true,!(0, nn.alwaysValidSchema)(r,t)&&e.ok((0, rm.validateArray)(e));}};function Ui(e,t,r=e.schema){let{gen:n,parentSchema:s,data:o,keyword:a,it:i}=e;f(s),i.opts.unevaluated&&r.length&&i.items!==true&&(i.items=nn.mergeEvaluated.items(n,r.length,i.items));let u=n.name("valid"),c=n.const("len",(0, Ki._)`${o}.length`);r.forEach((p,y)=>{(0, nn.alwaysValidSchema)(i,p)||(n.if((0, Ki._)`${c} > ${y}`,()=>e.subschema({keyword:a,schemaProp:y,dataProp:y},u)),e.ok(u));});function f(p){let{opts:y,errSchemaPath:h}=i,l=r.length,d=l===p.minItems&&(l===p.maxItems||p[t]===false);if(y.strictTuples&&!d){let m=`"${a}" is ${l}-tuple, but minItems or maxItems/${t} are not specified or different at path "${h}"`;(0, nn.checkStrictMode)(i,m,y.strictTuples);}}}yr.validateTuple=Ui;yr.default=nm;});var Ji=$(Ws=>{Object.defineProperty(Ws,"__esModule",{value:true});var sm=zs(),om={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0, sm.validateTuple)(e,"items")};Ws.default=om;});var zi=$(Ys=>{Object.defineProperty(Ys,"__esModule",{value:true});var Hi=L(),am=K(),im=Re(),um=Hs(),cm={message:({params:{len:e}})=>(0, Hi.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0, Hi._)`{limit: ${e}}`},dm={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:cm,code(e){let{schema:t,parentSchema:r,it:n}=e,{prefixItems:s}=r;n.items=true,!(0, am.alwaysValidSchema)(n,t)&&(s?(0, um.validateAdditionalItems)(e,s):e.ok((0, im.validateArray)(e)));}};Ys.default=dm;});var Wi=$(Xs=>{Object.defineProperty(Xs,"__esModule",{value:true});var Ee=L(),sn=K(),lm={message:({params:{min:e,max:t}})=>t===void 0?(0, Ee.str)`must contain at least ${e} valid item(s)`:(0, Ee.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0, Ee._)`{minContains: ${e}}`:(0, Ee._)`{minContains: ${e}, maxContains: ${t}}`},fm={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:true,error:lm,code(e){let{gen:t,schema:r,parentSchema:n,data:s,it:o}=e,a,i,{minContains:u,maxContains:c}=n;o.opts.next?(a=u===void 0?1:u,i=c):a=1;let f=t.const("len",(0, Ee._)`${s}.length`);if(e.setParams({min:a,max:i}),i===void 0&&a===0){(0, sn.checkStrictMode)(o,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(i!==void 0&&a>i){(0, sn.checkStrictMode)(o,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0, sn.alwaysValidSchema)(o,r)){let d=(0, Ee._)`${f} >= ${a}`;i!==void 0&&(d=(0, Ee._)`${d} && ${f} <= ${i}`),e.pass(d);return}o.items=true;let p=t.name("valid");i===void 0&&a===1?h(p,()=>t.if(p,()=>t.break())):a===0?(t.let(p,true),i!==void 0&&t.if((0, Ee._)`${s}.length > 0`,y)):(t.let(p,false),y()),e.result(p,()=>e.reset());function y(){let d=t.name("_valid"),m=t.let("count",0);h(d,()=>t.if(d,()=>l(m)));}function h(d,m){t.forRange("i",0,f,v=>{e.subschema({keyword:"contains",dataProp:v,dataPropType:sn.Type.Num,compositeRule:true},d),m();});}function l(d){t.code((0, Ee._)`${d}++`),i===void 0?t.if((0, Ee._)`${d} >= ${a}`,()=>t.assign(p,true).break()):(t.if((0, Ee._)`${d} > ${i}`,()=>t.assign(p,false).break()),a===1?t.assign(p,true):t.if((0, Ee._)`${d} >= ${a}`,()=>t.assign(p,true)));}}};Xs.default=fm;});var Qi=$(De=>{Object.defineProperty(De,"__esModule",{value:true});De.validateSchemaDeps=De.validatePropertyDeps=De.error=void 0;var Qs=L(),pm=K(),vr=Re();De.error={message:({params:{property:e,depsCount:t,deps:r}})=>{let n=t===1?"property":"properties";return (0, Qs.str)`must have ${n} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:r,missingProperty:n}})=>(0, Qs._)`{property: ${e},
6
+ missingProperty: ${n},
7
+ depsCount: ${t},
8
+ deps: ${r}}`};var mm={keyword:"dependencies",type:"object",schemaType:"object",error:De.error,code(e){let[t,r]=hm(e);Yi(e,t),Xi(e,r);}};function hm({schema:e}){let t={},r={};for(let n in e){if(n==="__proto__")continue;let s=Array.isArray(e[n])?t:r;s[n]=e[n];}return [t,r]}function Yi(e,t=e.schema){let{gen:r,data:n,it:s}=e;if(Object.keys(t).length===0)return;let o=r.let("missing");for(let a in t){let i=t[a];if(i.length===0)continue;let u=(0, vr.propertyInData)(r,n,a,s.opts.ownProperties);e.setParams({property:a,depsCount:i.length,deps:i.join(", ")}),s.allErrors?r.if(u,()=>{for(let c of i)(0, vr.checkReportMissingProp)(e,c);}):(r.if((0, Qs._)`${u} && (${(0, vr.checkMissingProp)(e,i,o)})`),(0, vr.reportMissingProp)(e,o),r.else());}}De.validatePropertyDeps=Yi;function Xi(e,t=e.schema){let{gen:r,data:n,keyword:s,it:o}=e,a=r.name("valid");for(let i in t)(0, pm.alwaysValidSchema)(o,t[i])||(r.if((0, vr.propertyInData)(r,n,i,o.opts.ownProperties),()=>{let u=e.subschema({keyword:s,schemaProp:i},a);e.mergeValidEvaluated(u,a);},()=>r.var(a,true)),e.ok(a));}De.validateSchemaDeps=Xi;De.default=mm;});var eu=$(Zs=>{Object.defineProperty(Zs,"__esModule",{value:true});var Zi=L(),gm=K(),ym={message:"property name must be valid",params:({params:e})=>(0, Zi._)`{propertyName: ${e.propertyName}}`},vm={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:ym,code(e){let{gen:t,schema:r,data:n,it:s}=e;if((0, gm.alwaysValidSchema)(s,r))return;let o=t.name("valid");t.forIn("key",n,a=>{e.setParams({propertyName:a}),e.subschema({keyword:"propertyNames",data:a,dataTypes:["string"],propertyName:a,compositeRule:true},o),t.if((0, Zi.not)(o),()=>{e.error(true),s.allErrors||t.break();});}),e.ok(o);}};Zs.default=vm;});var to=$(eo=>{Object.defineProperty(eo,"__esModule",{value:true});var on=Re(),Ie=L(),Sm=Be(),an=K(),wm={message:"must NOT have additional properties",params:({params:e})=>(0, Ie._)`{additionalProperty: ${e.additionalProperty}}`},bm={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:true,trackErrors:true,error:wm,code(e){let{gen:t,schema:r,parentSchema:n,data:s,errsCount:o,it:a}=e;if(!o)throw new Error("ajv implementation error");let{allErrors:i,opts:u}=a;if(a.props=true,u.removeAdditional!=="all"&&(0, an.alwaysValidSchema)(a,r))return;let c=(0, on.allSchemaProperties)(n.properties),f=(0, on.allSchemaProperties)(n.patternProperties);p(),e.ok((0, Ie._)`${o} === ${Sm.default.errors}`);function p(){t.forIn("key",s,m=>{!c.length&&!f.length?l(m):t.if(y(m),()=>l(m));});}function y(m){let v;if(c.length>8){let g=(0, an.schemaRefOrVal)(a,n.properties,"properties");v=(0, on.isOwnProperty)(t,g,m);}else c.length?v=(0, Ie.or)(...c.map(g=>(0, Ie._)`${m} === ${g}`)):v=Ie.nil;return f.length&&(v=(0, Ie.or)(v,...f.map(g=>(0, Ie._)`${(0, on.usePattern)(e,g)}.test(${m})`))),(0, Ie.not)(v)}function h(m){t.code((0, Ie._)`delete ${s}[${m}]`);}function l(m){if(u.removeAdditional==="all"||u.removeAdditional&&r===false){h(m);return}if(r===false){e.setParams({additionalProperty:m}),e.error(),i||t.break();return}if(typeof r=="object"&&!(0, an.alwaysValidSchema)(a,r)){let v=t.name("valid");u.removeAdditional==="failing"?(d(m,v,false),t.if((0, Ie.not)(v),()=>{e.reset(),h(m);})):(d(m,v),i||t.if((0, Ie.not)(v),()=>t.break()));}}function d(m,v,g){let w={keyword:"additionalProperties",dataProp:m,dataPropType:an.Type.Str};g===false&&Object.assign(w,{compositeRule:true,createErrors:false,allErrors:false}),e.subschema(w,v);}}};eo.default=bm;});var nu=$(no=>{Object.defineProperty(no,"__esModule",{value:true});var km=sr(),tu=Re(),ro=K(),ru=to(),_m={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,parentSchema:n,data:s,it:o}=e;o.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&ru.default.code(new km.KeywordCxt(o,ru.default,"additionalProperties"));let a=(0, tu.allSchemaProperties)(r);for(let p of a)o.definedProperties.add(p);o.opts.unevaluated&&a.length&&o.props!==true&&(o.props=ro.mergeEvaluated.props(t,(0, ro.toHash)(a),o.props));let i=a.filter(p=>!(0, ro.alwaysValidSchema)(o,r[p]));if(i.length===0)return;let u=t.name("valid");for(let p of i)c(p)?f(p):(t.if((0, tu.propertyInData)(t,s,p,o.opts.ownProperties)),f(p),o.allErrors||t.else().var(u,true),t.endIf()),e.it.definedProperties.add(p),e.ok(u);function c(p){return o.opts.useDefaults&&!o.compositeRule&&r[p].default!==void 0}function f(p){e.subschema({keyword:"properties",schemaProp:p,dataProp:p},u);}}};no.default=_m;});var iu=$(so=>{Object.defineProperty(so,"__esModule",{value:true});var su=Re(),un=L(),ou=K(),au=K(),$m={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,data:n,parentSchema:s,it:o}=e,{opts:a}=o,i=(0, su.allSchemaProperties)(r),u=i.filter(d=>(0, ou.alwaysValidSchema)(o,r[d]));if(i.length===0||u.length===i.length&&(!o.opts.unevaluated||o.props===true))return;let c=a.strictSchema&&!a.allowMatchingProperties&&s.properties,f=t.name("valid");o.props!==true&&!(o.props instanceof un.Name)&&(o.props=(0, au.evaluatedPropsToName)(t,o.props));let{props:p}=o;y();function y(){for(let d of i)c&&h(d),o.allErrors?l(d):(t.var(f,true),l(d),t.if(f));}function h(d){for(let m in c)new RegExp(d).test(m)&&(0, ou.checkStrictMode)(o,`property ${m} matches pattern ${d} (use allowMatchingProperties)`);}function l(d){t.forIn("key",n,m=>{t.if((0, un._)`${(0, su.usePattern)(e,d)}.test(${m})`,()=>{let v=u.includes(d);v||e.subschema({keyword:"patternProperties",schemaProp:d,dataProp:m,dataPropType:au.Type.Str},f),o.opts.unevaluated&&p!==true?t.assign((0, un._)`${p}[${m}]`,true):!v&&!o.allErrors&&t.if((0, un.not)(f),()=>t.break());});});}}};so.default=$m;});var uu=$(oo=>{Object.defineProperty(oo,"__esModule",{value:true});var Rm=K(),Cm={keyword:"not",schemaType:["object","boolean"],trackErrors:true,code(e){let{gen:t,schema:r,it:n}=e;if((0, Rm.alwaysValidSchema)(n,r)){e.fail();return}let s=t.name("valid");e.subschema({keyword:"not",compositeRule:true,createErrors:false,allErrors:false},s),e.failResult(s,()=>e.reset(),()=>e.error());},error:{message:"must NOT be valid"}};oo.default=Cm;});var cu=$(ao=>{Object.defineProperty(ao,"__esModule",{value:true});var Em=Re(),xm={keyword:"anyOf",schemaType:"array",trackErrors:true,code:Em.validateUnion,error:{message:"must match a schema in anyOf"}};ao.default=xm;});var du=$(io=>{Object.defineProperty(io,"__esModule",{value:true});var cn=L(),Tm=K(),Am={message:"must match exactly one schema in oneOf",params:({params:e})=>(0, cn._)`{passingSchemas: ${e.passing}}`},Im={keyword:"oneOf",schemaType:"array",trackErrors:true,error:Am,code(e){let{gen:t,schema:r,parentSchema:n,it:s}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(s.opts.discriminator&&n.discriminator)return;let o=r,a=t.let("valid",false),i=t.let("passing",null),u=t.name("_valid");e.setParams({passing:i}),t.block(c),e.result(a,()=>e.reset(),()=>e.error(true));function c(){o.forEach((f,p)=>{let y;(0, Tm.alwaysValidSchema)(s,f)?t.var(u,true):y=e.subschema({keyword:"oneOf",schemaProp:p,compositeRule:true},u),p>0&&t.if((0, cn._)`${u} && ${a}`).assign(a,false).assign(i,(0, cn._)`[${i}, ${p}]`).else(),t.if(u,()=>{t.assign(a,true),t.assign(i,p),y&&e.mergeEvaluated(y,cn.Name);});});}}};io.default=Im;});var lu=$(uo=>{Object.defineProperty(uo,"__esModule",{value:true});var Pm=K(),Om={keyword:"allOf",schemaType:"array",code(e){let{gen:t,schema:r,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");let s=t.name("valid");r.forEach((o,a)=>{if((0, Pm.alwaysValidSchema)(n,o))return;let i=e.subschema({keyword:"allOf",schemaProp:a},s);e.ok(s),e.mergeEvaluated(i);});}};uo.default=Om;});var mu=$(co=>{Object.defineProperty(co,"__esModule",{value:true});var dn=L(),pu=K(),jm={message:({params:e})=>(0, dn.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0, dn._)`{failingKeyword: ${e.ifClause}}`},Nm={keyword:"if",schemaType:["object","boolean"],trackErrors:true,error:jm,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0, pu.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let s=fu(n,"then"),o=fu(n,"else");if(!s&&!o)return;let a=t.let("valid",true),i=t.name("_valid");if(u(),e.reset(),s&&o){let f=t.let("ifClause");e.setParams({ifClause:f}),t.if(i,c("then",f),c("else",f));}else s?t.if(i,c("then")):t.if((0, dn.not)(i),c("else"));e.pass(a,()=>e.error(true));function u(){let f=e.subschema({keyword:"if",compositeRule:true,createErrors:false,allErrors:false},i);e.mergeEvaluated(f);}function c(f,p){return ()=>{let y=e.subschema({keyword:f},i);t.assign(a,i),e.mergeValidEvaluated(y,a),p?t.assign(p,(0, dn._)`${f}`):e.setParams({ifClause:f});}}}};function fu(e,t){let r=e.schema[t];return r!==void 0&&!(0, pu.alwaysValidSchema)(e,r)}co.default=Nm;});var hu=$(lo=>{Object.defineProperty(lo,"__esModule",{value:true});var qm=K(),Dm={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0, qm.checkStrictMode)(r,`"${e}" without "if" is ignored`);}};lo.default=Dm;});var gu=$(fo=>{Object.defineProperty(fo,"__esModule",{value:true});var Fm=Hs(),Mm=Ji(),Lm=zs(),Vm=zi(),Bm=Wi(),Gm=Qi(),Km=eu(),Um=to(),Jm=nu(),Hm=iu(),zm=uu(),Wm=cu(),Ym=du(),Xm=lu(),Qm=mu(),Zm=hu();function eh(e=false){let t=[zm.default,Wm.default,Ym.default,Xm.default,Qm.default,Zm.default,Km.default,Um.default,Gm.default,Jm.default,Hm.default];return e?t.push(Mm.default,Vm.default):t.push(Fm.default,Lm.default),t.push(Bm.default),t}fo.default=eh;});var yu=$(po=>{Object.defineProperty(po,"__esModule",{value:true});var oe=L(),th={message:({schemaCode:e})=>(0, oe.str)`must match format "${e}"`,params:({schemaCode:e})=>(0, oe._)`{format: ${e}}`},rh={keyword:"format",type:["number","string"],schemaType:"string",$data:true,error:th,code(e,t){let{gen:r,data:n,$data:s,schema:o,schemaCode:a,it:i}=e,{opts:u,errSchemaPath:c,schemaEnv:f,self:p}=i;if(!u.validateFormats)return;s?y():h();function y(){let l=r.scopeValue("formats",{ref:p.formats,code:u.code.formats}),d=r.const("fDef",(0, oe._)`${l}[${a}]`),m=r.let("fType"),v=r.let("format");r.if((0, oe._)`typeof ${d} == "object" && !(${d} instanceof RegExp)`,()=>r.assign(m,(0, oe._)`${d}.type || "string"`).assign(v,(0, oe._)`${d}.validate`),()=>r.assign(m,(0, oe._)`"string"`).assign(v,d)),e.fail$data((0, oe.or)(g(),w()));function g(){return u.strictSchema===false?oe.nil:(0, oe._)`${a} && !${v}`}function w(){let _=f.$async?(0, oe._)`(${d}.async ? await ${v}(${n}) : ${v}(${n}))`:(0, oe._)`${v}(${n})`,b=(0, oe._)`(typeof ${v} == "function" ? ${_} : ${v}.test(${n}))`;return (0, oe._)`${v} && ${v} !== true && ${m} === ${t} && !${b}`}}function h(){let l=p.formats[o];if(!l){g();return}if(l===true)return;let[d,m,v]=w(l);d===t&&e.pass(_());function g(){if(u.strictSchema===false){p.logger.warn(b());return}throw new Error(b());function b(){return `unknown format "${o}" ignored in schema at path "${c}"`}}function w(b){let A=b instanceof RegExp?(0, oe.regexpCode)(b):u.code.formats?(0, oe._)`${u.code.formats}${(0, oe.getProperty)(o)}`:void 0,R=r.scopeValue("formats",{key:o,ref:b,code:A});return typeof b=="object"&&!(b instanceof RegExp)?[b.type||"string",b.validate,(0, oe._)`${R}.validate`]:["string",b,R]}function _(){if(typeof l=="object"&&!(l instanceof RegExp)&&l.async){if(!f.$async)throw new Error("async format in sync schema");return (0, oe._)`await ${v}(${n})`}return typeof m=="function"?(0, oe._)`${v}(${n})`:(0, oe._)`${v}.test(${n})`}}}};po.default=rh;});var vu=$(mo=>{Object.defineProperty(mo,"__esModule",{value:true});var nh=yu(),sh=[nh.default];mo.default=sh;});var Su=$(jt=>{Object.defineProperty(jt,"__esModule",{value:true});jt.contentVocabulary=jt.metadataVocabulary=void 0;jt.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];jt.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"];});var bu=$(ho=>{Object.defineProperty(ho,"__esModule",{value:true});var oh=xi(),ah=Bi(),ih=gu(),uh=vu(),wu=Su(),ch=[oh.default,ah.default,(0, ih.default)(),uh.default,wu.metadataVocabulary,wu.contentVocabulary];ho.default=ch;});var _u=$(ln=>{Object.defineProperty(ln,"__esModule",{value:true});ln.DiscrError=void 0;var ku;(function(e){e.Tag="tag",e.Mapping="mapping";})(ku||(ln.DiscrError=ku={}));});var Ru=$(yo=>{Object.defineProperty(yo,"__esModule",{value:true});var Nt=L(),go=_u(),$u=Jr(),dh=or(),lh=K(),fh={message:({params:{discrError:e,tagName:t}})=>e===go.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0, Nt._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},ph={keyword:"discriminator",type:"object",schemaType:"object",error:fh,code(e){let{gen:t,data:r,schema:n,parentSchema:s,it:o}=e,{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=t.let("valid",false),c=t.const("tag",(0, Nt._)`${r}${(0, Nt.getProperty)(i)}`);t.if((0, Nt._)`typeof ${c} == "string"`,()=>f(),()=>e.error(false,{discrError:go.DiscrError.Tag,tag:c,tagName:i})),e.ok(u);function f(){let h=y();t.if(false);for(let l in h)t.elseIf((0, Nt._)`${c} === ${l}`),t.assign(u,p(h[l]));t.else(),e.error(false,{discrError:go.DiscrError.Mapping,tag:c,tagName:i}),t.endIf();}function p(h){let l=t.name("valid"),d=e.subschema({keyword:"oneOf",schemaProp:h},l);return e.mergeEvaluated(d,Nt.Name),l}function y(){var h;let l={},d=v(s),m=true;for(let _=0;_<a.length;_++){let b=a[_];if(b?.$ref&&!(0, lh.schemaHasRulesButRef)(b,o.self.RULES)){let R=b.$ref;if(b=$u.resolveRef.call(o.self,o.schemaEnv.root,o.baseId,R),b instanceof $u.SchemaEnv&&(b=b.schema),b===void 0)throw new dh.default(o.opts.uriResolver,o.baseId,R)}let A=(h=b?.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&&(d||v(b)),g(A,_);}if(!m)throw new Error(`discriminator: "${i}" must be required`);return l;function v({required:_}){return Array.isArray(_)&&_.includes(i)}function g(_,b){if(_.const)w(_.const,b);else if(_.enum)for(let A of _.enum)w(A,b);else throw new Error(`discriminator: "properties/${i}" must have "const" or "enum"`)}function w(_,b){if(typeof _!="string"||_ in l)throw new Error(`discriminator: "${i}" values must be unique strings`);l[_]=b;}}}};yo.default=ph;});var Cu=$((lv,mh)=>{mh.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 xu=$((Z,vo)=>{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 hh=ki(),gh=bu(),yh=Ru(),Eu=Cu(),vh=["/properties"],fn="http://json-schema.org/draft-07/schema",qt=class extends hh.default{_addVocabularies(){super._addVocabularies(),gh.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(yh.default);}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(Eu,vh):Eu;this.addMetaSchema(t,fn,false),this.refs["http://json-schema.org/schema"]=fn;}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(fn)?fn:void 0)}};Z.Ajv=qt;vo.exports=Z=qt;vo.exports.Ajv=qt;Object.defineProperty(Z,"__esModule",{value:true});Z.default=qt;var Sh=sr();Object.defineProperty(Z,"KeywordCxt",{enumerable:true,get:function(){return Sh.KeywordCxt}});var Dt=L();Object.defineProperty(Z,"_",{enumerable:true,get:function(){return Dt._}});Object.defineProperty(Z,"str",{enumerable:true,get:function(){return Dt.str}});Object.defineProperty(Z,"stringify",{enumerable:true,get:function(){return Dt.stringify}});Object.defineProperty(Z,"nil",{enumerable:true,get:function(){return Dt.nil}});Object.defineProperty(Z,"Name",{enumerable:true,get:function(){return Dt.Name}});Object.defineProperty(Z,"CodeGen",{enumerable:true,get:function(){return Dt.CodeGen}});var wh=Kr();Object.defineProperty(Z,"ValidationError",{enumerable:true,get:function(){return wh.default}});var bh=or();Object.defineProperty(Z,"MissingRefError",{enumerable:true,get:function(){return bh.default}});});var Er="b64:";function Rc(e){let t=new TextEncoder().encode(e),r=globalThis.Buffer,n;if(r)n=r.from(t).toString("base64");else if(typeof btoa=="function"){let s="";for(let o of t)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 Cc(e){let t=e.replace(/-/g,"+").replace(/_/g,"/")+"=".repeat((4-e.length%4)%4),r=globalThis.Buffer;if(r)return r.from(t,"base64").toString("utf8");if(typeof atob=="function"){let n=atob(t),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(e){return `${Er}${Rc(JSON.stringify(e))}`}function Oe(e){if(e.startsWith("::fs-path::"))return {kind:"fs-path",value:e.slice(11)};if(!e.startsWith(Er))throw new Error(`Invalid ref format (expected ${Er}<base64url(json)>): ${e}`);let t;try{t=JSON.parse(Cc(e.slice(Er.length)));}catch{throw new Error(`Invalid ref format (malformed base64url/json): ${e}`)}if(!t||typeof t!="object")throw new Error(`Invalid ref format (expected object payload): ${e}`);let r=t;if(typeof r.kind!="string"||typeof r.value!="string")throw new Error(`Invalid ref format (payload must contain string kind/value): ${e}`);return {kind:r.kind,value:r.value}}async function qo(e,t,r){let n=e.tryAcquire();if(!n)return false;try{await t();}finally{n();}return r?.(),true}function Lt(e,t,r=".json"){let n=pe__namespace.join(e,".tmp");return T__namespace.mkdirSync(n,{recursive:true}),pe__namespace.join(n,`${t}-${Date.now()}-${Math.random().toString(36).slice(2,8)}${r}`)}function Tr(...e){return pe__namespace.join(...e)}function Lo(e){return pe__namespace.isAbsolute(e)}function En(){return crypto.randomUUID()}function Vo(e){return crypto.createHash("sha256").update(e).digest("hex")}function Ic(e){if(typeof e=="object"&&e!==null){let{command:r,args:n=[],...s}=e,o=Fo(r,n);return {...s,command:o.command,args:o.args}}let t=Bo(e);if(t.length===0)throw new Error(`Empty command spec: ${JSON.stringify(e)}`);return Fo(t[0],t.slice(1))}function Fo(e,t){return /^(node|node\.exe)$/i.test(e)?{command:process.execPath,args:t}:/\.m?js$/i.test(e)?{command:process.execPath,args:[e,...t]}:{command:e,args:t}}function Bo(e){let t=[],r="",n=null;for(let s of e.trim()){if(n){s===n?n=null:r+=s;continue}if(s==='"'||s==="'"){n=s;continue}if(/\s/.test(s)){r&&(t.push(r),r="");continue}r+=s;}if(n)throw new Error(`Unterminated quote in command: ${e}`);return r&&t.push(r),t}function xn(e){return process.platform==="win32"&&/\.(cmd|bat)$/i.test(e)}function Go(e,t){let{command:r,args:n=[],cwd:s,env:o,timeoutMs:a}=e;return child_process.execFileSync(r,n,{shell:xn(r),timeout:a,encoding:t?.encoding??"utf-8",cwd:s,windowsHide:true,env:o?{...process.env,...o}:void 0,input:t?.input})}function Pc(e,t){let{command:r,args:n=[],cwd:s,env:o,timeoutMs:a=3e4}=e;child_process.execFile(r,n,{shell:xn(r),encoding:"utf8",windowsHide:true,timeout:a,maxBuffer:10*1024*1024,cwd:s,env:o?{...process.env,...o}:void 0},(i,u,c)=>t(i??null,u,c));}pe__namespace.join(Cn__namespace.tmpdir(),".board-live-cards-git-bash-cache.json");function Ar(e){let{command:t,args:r=[]}=e;if(process.platform==="win32"){child_process.spawn(t,r,{detached:true,stdio:"ignore",windowsHide:true,shell:xn(t)}).unref();return}child_process.spawn(t,r,{detached:true,stdio:"ignore"}).unref();}function Vt(e,t,r){let n=pe__namespace.join(e,"board-live-cards-cli.js");if(T__namespace.existsSync(n))return {cmd:process.execPath,args:[n,t,...r]};let s=pe__namespace.join(e,"board-live-cards-cli.ts"),o=pe__namespace.join(e,"..","..","node_modules","tsx","dist","cli.mjs"),a=pe__namespace.join(e,"..","..","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,t,...r]}:{cmd:process.platform==="win32"?"npx.cmd":"npx",args:["tsx",s,t,...r]}}function Ko(e,t,r){let n=["--base-ref",se(t)];r&&n.push("--notify-channel",r);let{cmd:s,args:o}=Vt(e,"process-accumulated-events",n);Ar({command:s,args:o});}function Oc(e){return process.platform==="win32"?`\\\\.\\pipe\\${e}`:pe__namespace.join(Cn__namespace.tmpdir(),`${e}.sock`)}var xr=new Map;function Uo(e,t,r){if(t.length===0)return;let n=t.map(i=>JSON.stringify(i)).join(`
9
+ `)+`
10
+ `,s=xr.get(e);if(s&&!s.socket.destroyed){s.ready?s.socket.write(n):s.queue.push(n);return}let o=Oc(e),a=Mo__namespace.createConnection(o);s={socket:a,ready:false,queue:[n]},xr.set(e,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)}`),xr.delete(e);}),a.on("close",()=>{xr.delete(e);});}function Tn(){return {executeSync(e,t,r){return Go({command:e,args:t,cwd:r?.cwd,timeoutMs:r?.timeout,env:r?.env},{encoding:r?.encoding,input:r?.input})},executeAsync(e,t,r){Pc({command:e,args:t},r);},resolveInvocation(e,t){let r=Ic({command:e,args:t});return {cmd:r.command,args:r.args??[]}},splitCommand:Bo,spawnDetached(e,t){Ar({command:e,args:t});}}}var Jo=module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('fs-board-adapter.cjs', document.baseURI).href)));function Nc(){try{return Jo("./jsonata-sync.cjs")}catch{return Jo("../../card-compute/jsonata-sync.cjs")}}Nc();var Fc=module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('fs-board-adapter.cjs', document.baseURI).href))),Mc=Fc("../../card-compute/jsonata-sync.cjs");async function Ho(e,t){return Mc(e).evaluate(t)}async function Lc(e,t){let r=await Ho(e,t);if(typeof r!="string")throw new Error(`argsMassaging expression did not produce a string: ${e} \u2192 ${JSON.stringify(r)}`);return r}function Vc(e,t){let r;try{r=Oe(e).value;}catch{r=e;}switch(r){case "source-cli-task-executor":{let n=pe__namespace.join(t,"source-cli-task-executor.js");if(T__namespace.existsSync(n))return {command:process.execPath,args:[n]};let s=pe__namespace.join(t,"source-cli-task-executor.ts"),o=pe__namespace.join(t,"..","..","node_modules","tsx","dist","cli.mjs"),a=pe__namespace.join(t,"..","..","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}=Vt(t,"_",[]);return {command:n,args:s}}default:throw new Error(`resolveBuiltIn: unknown built-in name "${r}". Supported: source-cli-task-executor, board-live-cards`)}}function zo(e,t){if(e.howToRun==="built-in"){let{command:n,args:s}=Vc(e.whatToRun,t);return {command:n,baseArgs:s}}let r;try{r=Oe(e.whatToRun).value;}catch{r=e.whatToRun;}switch(e.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 "${e.howToRun}" is not a local transport`)}}function Bc(e,t){let r=[e.subcommand];return e.inRef&&r.push("--in-ref",e.inRef),e.outRef&&r.push("--out-ref",e.outRef),e.errRef&&r.push("--err-ref",e.errRef),t&&r.push("--extra",Buffer.from(JSON.stringify(t)).toString("base64")),r}function Gc(e,t){return {subcommand:e.subcommand,...e.inRef?{inRef:e.inRef}:{},...e.outRef?{outRef:e.outRef}:{},...e.errRef?{errRef:e.errRef}:{},...t?{extra:t}:{}}}function Wo(e,t){return zo(e,t)}async function Kc(e,t){let r,n,s={...t,whatToRun:e.whatToRun};if(e.argsMassaging?.urlTemplate)r=await Lc(e.argsMassaging.urlTemplate,s);else try{r=Oe(e.whatToRun).value;}catch{r=e.whatToRun;}if(e.argsMassaging?.bodyTemplate){let i=await Ho(e.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=Gc(t,e.extra);let o=await fetch(r,{method:e.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 Yo(e,t,r){if(e.howToRun==="http:post"||e.howToRun==="http:get"){Kc(e,t).catch(i=>{console.error(`[dispatchTaskExecutorDetached] HTTP dispatch failed: ${i.message}`);});return}let{command:s,baseArgs:o}=zo(e,r),a=Bc(t,e.extra);Ar({command:s,args:[...o,...a]});}function Uc(){return {read(e){if(!T__namespace.existsSync(e))return null;try{return T__namespace.readFileSync(e,"utf-8")}catch{return null}},write(e,t){T__namespace.mkdirSync(pe__namespace.dirname(e),{recursive:true}),T__namespace.writeFileSync(e,t,"utf-8");}}}function Xo(e){return Uc();}function Kt(e,t){if(process.platform!=="win32"){T__namespace.renameSync(e,t);return}let r=[10,20,40,80,160];for(let n=0;n<=r.length;n++)try{T__namespace.renameSync(e,t);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 Ir(e){function t(s){return pe__namespace.join(e,...s.split("/"))}function r(s){return pe__namespace.relative(e,s).replace(/\\/g,"/")}function n(s,o){if(T__namespace.existsSync(s))for(let a of T__namespace.readdirSync(s,{withFileTypes:true})){let i=pe__namespace.join(s,a.name);if(a.isDirectory()){n(i,o);continue}a.isFile()&&o.push(r(i));}}return {read(s){let o=t(s);if(!T__namespace.existsSync(o))return null;try{return T__namespace.readFileSync(o,"utf-8")}catch{return null}},write(s,o){let a=t(s),i=`${a}.${process.pid}.${crypto.randomUUID()}.tmp`;T__namespace.mkdirSync(pe__namespace.dirname(a),{recursive:true}),T__namespace.writeFileSync(i,o,"utf-8"),Kt(i,a);},exists(s){return T__namespace.existsSync(t(s))},remove(s){let o=t(s);try{T__namespace.existsSync(o)&&T__namespace.unlinkSync(o);}catch{}},readBytes(s){let o=t(s);if(!T__namespace.existsSync(o))return null;try{return new Uint8Array(T__namespace.readFileSync(o))}catch{return null}},writeBytes(s,o){let a=t(s),i=`${a}.${process.pid}.${crypto.randomUUID()}.tmp`;T__namespace.mkdirSync(pe__namespace.dirname(a),{recursive:true}),T__namespace.writeFileSync(i,Buffer.from(o)),Kt(i,a);},listKeys(s){let o=[];n(e,o);let a=o.sort();return s?a.filter(i=>i.startsWith(s)):a},stat(s){let o=t(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 Pn(){return {read(e){if(!T__namespace.existsSync(e))return null;try{return T__namespace.readFileSync(e,"utf-8")}catch{return null}},write(e,t){let r=`${e}.${process.pid}.${crypto.randomUUID()}.tmp`;T__namespace.mkdirSync(pe__namespace.dirname(e),{recursive:true}),T__namespace.writeFileSync(r,t,"utf-8"),Kt(r,e);},exists(e){return T__namespace.existsSync(e)},remove(e){try{T__namespace.existsSync(e)&&T__namespace.unlinkSync(e);}catch{}},readBytes(e){if(!T__namespace.existsSync(e))return null;try{return new Uint8Array(T__namespace.readFileSync(e))}catch{return null}},writeBytes(e,t){let r=`${e}.${process.pid}.${crypto.randomUUID()}.tmp`;T__namespace.mkdirSync(pe__namespace.dirname(e),{recursive:true}),T__namespace.writeFileSync(r,Buffer.from(t)),Kt(r,e);},stat(e){if(!T__namespace.existsSync(e))return null;try{let t=T__namespace.statSync(e);return {key:e,size:Number(t.size||0),updatedAt:new Date(t.mtimeMs).toISOString()}}catch{return null}}}}function On(e){function t(n){return pe__namespace.join(e,...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(pe__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=t(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=t(n),a=`${o}.${process.pid}.${crypto.randomUUID()}.tmp`;T__namespace.mkdirSync(pe__namespace.dirname(o),{recursive:true}),T__namespace.writeFileSync(a,JSON.stringify(s,null,2),"utf-8"),Kt(a,o);},delete(n){let s=t(n);try{T__namespace.existsSync(s)&&T__namespace.unlinkSync(s);}catch{}},listKeys(n){let s=[];return r(e,"",n,s),s.sort()}}}function In(e){if(e==null||typeof e!="object")return JSON.stringify(e);if(Array.isArray(e))return `[${e.map(In).join(",")}]`;let t=e;return `{${Object.keys(t).sort().map(n=>`${JSON.stringify(n)}:${In(t[n])}`).join(",")}}`}function Qo(e){return crypto.createHash("sha256").update(In(e)).digest("hex")}function Zo(e){let t=pe__namespace.join(e,"board-journal.jsonl");return {readAllEntries(){if(!T__namespace.existsSync(t))return [];let r=T__namespace.readFileSync(t,"utf-8").trim();return r?r.split(`
11
+ `).filter(Boolean).map(n=>JSON.parse(n)):[]},appendEntry(r){T__namespace.appendFileSync(t,JSON.stringify(r)+`
12
+ `,"utf-8");},generateId(){return crypto.randomUUID()}}}function ea(e){return {tryAcquire(){try{if(!T__namespace.existsSync(e)){T__namespace.mkdirSync(pe__namespace.dirname(e),{recursive:!0});try{T__namespace.writeFileSync(e,"{}",{flag:"wx"});}catch{}}return properLockfile.lockSync(e,{retries:0})}catch{return null}}}}var ta={$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 Iu=$c(xu());var $h=module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('fs-board-adapter.cjs', document.baseURI).href))),Rh=$h("./jsonata-sync.cjs"),pn=null;var Tu=/\b(card_data|requires|fetched_sources|computed_values|source_defs)\b/g,Ch=/^\s*(card_data|requires|fetched_sources|computed_values|source_defs)(\.|$)/;function Eh(e){let t=new Set,r;for(Tu.lastIndex=0;(r=Tu.exec(e))!==null;)t.add(r[1]);return t}function Pu(e){let t=Ch.exec(e);return t?t[1]:null}function Au(e,t,r,n){try{Rh(e);}catch(o){let a=o instanceof Error?o.message:String(o);n.push(`${t}: invalid JSONata expression (${a})`);return}let s=Eh(e);for(let o of s)r.has(o)||n.push(`${t}: disallowed namespace "${o}" in expression`);}function So(e,t,r){if(Array.isArray(e)){e.forEach((s,o)=>{So(s,`${t}/${o}`,r);});return}if(typeof e=="string"){let s=Pu(e);if(!s)return;new Set(["card_data","requires","computed_values"]).has(s)||r.push(`${t}: disallowed namespace "${s}" in view reference`);return}if(!e||typeof e!="object")return;let n=e;for(let[s,o]of Object.entries(n))So(o,`${t}/${s}`,r);}function xh(){if(pn)return pn;let e=new Iu.default({allErrors:true});return kh__default.default(e),pn=e.compile(ta),pn}function Ou(e){let t=xh(),r=t(e),n=(t.errors??[]).map(s=>`${s.instancePath||"/"}: ${s.message??"unknown error"}`);if(e&&typeof e=="object"&&!Array.isArray(e)){let s=e.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 ju(e){let t=[];if(!e||typeof e!="object"||Array.isArray(e))return {ok:true,errors:[]};let r=e,n=r.compute;Array.isArray(n)&&n.forEach((c,f)=>{if(!c||typeof c!="object"||Array.isArray(c))return;let p=c.expr;typeof p!="string"||p.trim().length===0||Au(p,`/compute/${f}/expr`,new Set(["card_data","requires","fetched_sources","computed_values"]),t);});let s=new Set(["card_data","requires","fetched_sources","computed_values"]),o=r.provides;Array.isArray(o)&&o.forEach((c,f)=>{if(!c||typeof c!="object"||Array.isArray(c))return;let p=c.ref;if(typeof p!="string"||p.trim().length===0)return;let y=Pu(p);y===null?t.push(`/provides/${f}/ref: path "${p}" must start with a valid namespace (${[...s].join(", ")})`):s.has(y)||t.push(`/provides/${f}/ref: disallowed namespace "${y}" in path "${p}" (valid: ${[...s].join(", ")})`);});let a=r.view;a&&typeof a=="object"&&!Array.isArray(a)&&So(a,"/view",t);let i=new Set(["card_data","requires"]),u=r.source_defs;return Array.isArray(u)&&u.forEach((c,f)=>{if(!c||typeof c!="object"||Array.isArray(c))return;let p=c.projections;if(!(!p||typeof p!="object"||Array.isArray(p)))for(let[y,h]of Object.entries(p))typeof h!="string"||h.trim().length===0||Au(h,`/source_defs/${f}/projections/${y}`,i,t);}),{ok:t.length===0,errors:t}}function wo(e){let t=Ou(e);if(!t.ok)return t;let r=ju(e);return r.ok?{ok:true,errors:[]}:{ok:false,errors:r.errors}}var tt={RUNNING:"running",COMPLETED:"completed",FAILED:"failed",INACTIVATED:"inactivated"};function ke(e){return e?Array.isArray(e.provides)?e.provides:[]:[]}function rt(e){return e?Array.isArray(e.requires)?e.requires:[]:[]}function Nu(e){return e.tasks??{}}function bo(e){return e?e.status===tt.FAILED||e.status===tt.INACTIVATED:false}function qu(e,t){return e.refreshStrategy??t?.refreshStrategy??"data-changed"}function Du(e){return e.maxExecutions}function Fu(e,t){let r=new Set;for(let[n,s]of Object.entries(t))if(s.status===tt.COMPLETED){let o=e.tasks[n];o&&ke(o).forEach(i=>r.add(i));}return Array.from(r)}function Mu(e,t){let r={};return e.forEach(n=>{let s=t[n];if(!s)return;ke(s).forEach(a=>{r[a]||(r[a]=[]),r[a].push(n);});}),r}function Lu(e,t,r){let n=e.tasks[t]??mn(),s={};if(r){let a=r.tasks[t],i=rt(a);for(let u of i)for(let[c,f]of Object.entries(r.tasks))if(ke(f).includes(u)){let p=e.tasks[c];p?.lastDataHash&&(s[u]=p.lastDataHash);break}}let o={...n,status:"running",startedAt:new Date().toISOString(),lastUpdated:new Date().toISOString(),progress:0,error:void 0,startConsumedHashes:s};return {...e,tasks:{...e.tasks,[t]:o},lastUpdated:new Date().toISOString()}}function Vu(e,t,r,n,s,o){let a=e.tasks[r]??mn(),i=t.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=ke(i);let c=a.startConsumedHashes?{...a.startConsumedHashes}:{...a.lastConsumedHashes};if(!a.startConsumedHashes){let y=i.requires??[];for(let h of y)for(let[l,d]of Object.entries(t.tasks))if(ke(d).includes(h)){let m=e.tasks[l];m?.lastDataHash&&(c[h]=m.lastDataHash);break}}let f={...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},p=[...new Set([...e.availableOutputs,...u])];return {...e,tasks:{...e.tasks,[r]:f},availableOutputs:p,lastUpdated:new Date().toISOString()}}function Bu(e,t,r,n){let s=e.tasks[r]??mn(),o=t.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 {...e,tasks:{...e.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=e.availableOutputs;if(o?.on_failure&&o.on_failure.length>0&&(i=[...new Set([...e.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 {...e,tasks:{...e.tasks,[r]:a},availableOutputs:i,lastUpdated:new Date().toISOString()}}function Gu(e,t,r,n){let s=e.tasks[t]??mn(),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 {...e,tasks:{...e.tasks,[t]:o},lastUpdated:new Date().toISOString()}}function Ku(e,t){let r=e.tasks[t];if(!r)return e;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 {...e,tasks:{...e.tasks,[t]:n},lastUpdated:new Date().toISOString()}}function mn(){return {status:"not-started",executionCount:0,retryCount:0,lastEpoch:0,messages:[],progress:null}}function hn(e,t){let r=`live-${Date.now()}`,n={};for(let o of Object.keys(e.tasks))n[o]=Ju();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:e.settings.execution_mode??"eligibility-mode",conflictStrategy:e.settings.conflict_strategy??"alphabetical",completionStrategy:e.settings.completion}};return {config:e,state:s}}function Th(e,t){let{config:r,state:n}=e;if("executionId"in t&&t.executionId&&t.executionId!==n.executionId)return e;switch(t.type){case "task-started":return {config:r,state:Lu(n,t.taskName,r)};case "task-completed":return {config:r,state:Vu(n,r,t.taskName,t.result,t.dataHash,t.data)};case "task-failed":return {config:r,state:Bu(n,r,t.taskName,t.error)};case "task-progress":return {config:r,state:Gu(n,t.taskName,t.message,t.progress)};case "task-restart":return {config:r,state:Ku(n,t.taskName)};case "inject-tokens":return {config:r,state:{...n,availableOutputs:[...new Set([...n.availableOutputs,...t.tokens])],lastUpdated:new Date().toISOString()}};case "agent-action":return {config:r,state:qh(n,t.action)};case "task-upsert":return Ah(e,t.taskName,t.taskConfig);case "task-removal":return Ih(e,t.taskName);case "node-requires-add":return Ph(e,t.nodeName,t.tokens);case "node-requires-remove":return Oh(e,t.nodeName,t.tokens);case "node-provides-add":return jh(e,t.nodeName,t.tokens);case "node-provides-remove":return Nh(e,t.nodeName,t.tokens);default:return e}}function Uu(e,t){return t.reduce((r,n)=>Th(r,n),e)}function Ah(e,t,r){let n=!!e.config.tasks[t];return {config:{...e.config,tasks:{...e.config.tasks,[t]:r}},state:{...e.state,tasks:{...e.state.tasks,[t]:n?e.state.tasks[t]:Ju()},lastUpdated:new Date().toISOString()}}}function Ih(e,t){if(!e.config.tasks[t])return e;let{[t]:r,...n}=e.config.tasks,{[t]:s,...o}=e.state.tasks;return {config:{...e.config,tasks:n},state:{...e.state,tasks:o,lastUpdated:new Date().toISOString()}}}function Ph(e,t,r){let n=e.config.tasks[t];if(!n)return e;let s=rt(n),o=r.filter(a=>!s.includes(a));return o.length===0?e:{config:{...e.config,tasks:{...e.config.tasks,[t]:{...n,requires:[...s,...o]}}},state:e.state}}function Oh(e,t,r){let n=e.config.tasks[t];if(!n)return e;let s=rt(n),o=s.filter(a=>!r.includes(a));return o.length===s.length?e:{config:{...e.config,tasks:{...e.config.tasks,[t]:{...n,requires:o}}},state:e.state}}function jh(e,t,r){let n=e.config.tasks[t];if(!n)return e;let s=ke(n),o=r.filter(a=>!s.includes(a));return o.length===0?e:{config:{...e.config,tasks:{...e.config.tasks,[t]:{...n,provides:[...s,...o]}}},state:e.state}}function Nh(e,t,r){let n=e.config.tasks[t];if(!n)return e;let s=ke(n),o=s.filter(a=>!r.includes(a));return o.length===s.length?e:{config:{...e.config,tasks:{...e.config.tasks,[t]:{...n,provides:o}}},state:e.state}}function Sr(e){return {version:1,config:e.config,state:e.state,snapshotAt:new Date().toISOString()}}function gn(e){if(!e||typeof e!="object")throw new Error("Invalid snapshot: expected an object");let t=e;if(!t.config||typeof t.config!="object")throw new Error('Invalid snapshot: missing or invalid "config"');if(!t.state||typeof t.state!="object")throw new Error('Invalid snapshot: missing or invalid "state"');let r=t.config,n=t.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 Ju(){return {status:"not-started",executionCount:0,retryCount:0,lastEpoch:0,messages:[],progress:null}}function qh(e,t){let r=new Date().toISOString();switch(t){case "stop":return {...e,status:"stopped",lastUpdated:r};case "pause":return {...e,status:"paused",lastUpdated:r};case "resume":return {...e,status:"running",lastUpdated:r};default:return e}}function wr(e){let{config:t,state:r}=e,n=Nu(t);if(Object.keys(n).length===0)return {eligible:[],pending:[],unresolved:[],blocked:[],conflicts:{}};let o=Dh(n),a=Fu(t,r.tasks),i=new Set([...a,...r.availableOutputs]),u=[],c=[],f=[],p=[];for(let[h,l]of Object.entries(n)){let d=r.tasks[h],m=qu(l,t.settings),v=m!=="once";if(d?.status===tt.RUNNING||bo(d))continue;let g=Du(l);if(g!==void 0&&d&&d.executionCount>=g||l.circuit_breaker&&d&&d.executionCount>=l.circuit_breaker.max_executions||!v&&d?.status===tt.COMPLETED)continue;if(v&&d?.status===tt.COMPLETED){let R=rt(l),j=false;switch(m){case "data-changed":{R.length>0&&R.some(F=>{for(let[z,ce]of Object.entries(n))if(ke(ce).includes(F)){let ae=r.tasks[z];if(!ae)continue;let st=d.lastConsumedHashes?.[F];return ae.lastDataHash==null?ae.executionCount>d.lastEpoch:ae.lastDataHash!==st}return false})||(j=true);break}case "epoch-changed":{R.length>0&&R.some(F=>{for(let[z,ce]of Object.entries(n))if(ke(ce).includes(F)){let ae=r.tasks[z];if(ae&&ae.executionCount>d.lastEpoch)return true}return false})||(j=true);break}case "time-based":{let H=l.refreshInterval??0;if(H<=0){j=true;break}let F=d.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 w=rt(l);if(w.length===0){u.push(h);continue}let _=[],b=[],A=[];for(let R of w){if(i.has(R))continue;let j=o[R]||[];j.length===0?_.push(R):j.every(F=>bo(r.tasks[F]))?A.push({token:R,failedProducer:j[0]}):b.push(R);}_.length>0?f.push({taskName:h,missingTokens:_}):A.length>0?p.push({taskName:h,failedTokens:A.map(R=>R.token),failedProducers:[...new Set(A.map(R=>R.failedProducer))]}):b.length>0?c.push({taskName:h,waitingOn:b}):u.push(h);}let y={};if(u.length>1){let h=Mu(u,n);for(let[l,d]of Object.entries(h))d.length>1&&(y[l]=d);}return {eligible:u,pending:c,unresolved:f,blocked:p,conflicts:y}}function Dh(e){let t={};for(let[r,n]of Object.entries(e)){for(let s of ke(n))t[s]||(t[s]=[]),t[s].push(r);if(n.on)for(let s of Object.values(n.on))for(let o of s)t[o]||(t[o]=[]),t[o].includes(r)||t[o].push(r);if(n.on_failure)for(let s of n.on_failure)t[s]||(t[s]=[]),t[s].includes(r)||t[s].push(r);}return t}var br=class{buffer=[];append(t){this.buffer.push(t);}drain(){let t=this.buffer;return this.buffer=[],t}get size(){return this.buffer.length}};function ko(e){let t=_o(e);return Fh(t)}function _o(e){if(e==null||typeof e!="object")return JSON.stringify(e);if(Array.isArray(e))return "["+e.map(_o).join(",")+"]";let t=e;return "{"+Object.keys(t).sort().map(n=>JSON.stringify(n)+":"+_o(t[n])).join(",")+"}"}function Fh(e){let t=0xcbf29ce484222325n,r=0x100000001b3n,n=0xffffffffffffffffn;for(let s=0;s<e.length;s++)t^=BigInt(e.charCodeAt(s)),t=t*r&n;return t.toString(16).padStart(16,"0")}function Mh(e){if(typeof Buffer<"u")return Buffer.from(e,"utf8").toString("base64url");if(typeof btoa=="function"){let t=new TextEncoder().encode(e),r="";for(let n of t)r+=String.fromCharCode(n);return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}throw new Error("No base64 encoder available in this runtime")}function Lh(e){if(typeof Buffer<"u")return Buffer.from(e,"base64url").toString("utf8");if(typeof atob=="function"){let t=e.replace(/-/g,"+").replace(/_/g,"/"),r=t+"=".repeat((4-t.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 Hu(e){let t=JSON.stringify({t:e,n:Date.now().toString(36)+Math.random().toString(36).slice(2,6)});return Mh(t)}function Vh(e){try{let t=JSON.parse(Lh(e));return typeof t?.t=="string"?{taskName:t.t}:null}catch{return null}}function zu(e,t,r){let{handlers:n,onDrain:s}=t,o=new br,a="state"in e&&"config"in e?e:hn(e),i=false,u=new Set,c=new Map(Object.entries(n)),f=new br,p=false,y=false;function h(){if(!i){if(p){y=true;return}p=true;try{do y=!1,l();while(y)}finally{p=false;}}}function l(){let g=f.drain(),w=o.drain(),_=[...g,...w];_.length>0&&(a=Uu(a,_));let b=wr(a);_.length>0&&s?.(_,a,b);for(let A of b.eligible)v(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=Hu(R),ce=m(R,z,j).catch(ae=>{i||(f.append({type:"task-failed",taskName:R,error:ae.message??String(ae),timestamp:new Date().toISOString()}),h());}).finally(()=>{u.delete(ce);});u.add(ce);}}function d(g){let _=a.config.tasks[g].requires??[],b=new Map;for(let[R,j]of Object.entries(a.config.tasks))for(let H of j.provides??[])b.set(H,R);let A={};for(let R of _){let j=b.get(R);j?A[R]=a.state.tasks[j]?.data:A[R]=void 0;}return A}async function m(g,w,_){let b=a.config.tasks[g],A=b.taskHandlers??[],R=d(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:b,callbackToken:w,update:_};if(await H(F)==="task-initiate-failure")throw new Error(`Handler '${j}' returned task-initiate-failure (task '${g}')`)}}function v(g){let _=a.config.tasks[g]?.taskHandlers;if(!_||_.length===0)return;f.append({type:"task-started",taskName:g,timestamp:new Date().toISOString()}),h();let b=Hu(g),A=m(g,b).catch(R=>{i||(f.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:ko(g.data)}),o.append(g),h());},pushAll(g){if(!i){for(let w of g)w.type==="task-completed"&&w.data&&!w.dataHash?o.append({...w,dataHash:ko(w.data)}):o.append(w);h();}},resolveCallback(g,w,_){if(i)return;let b=Vh(g);if(!b)return;let{taskName:A}=b;if(a.config.tasks[A]){if(_&&_.length>0)o.append({type:"task-failed",taskName:A,error:_.join("; "),timestamp:new Date().toISOString()});else {let R=w&&Object.keys(w).length>0?ko(w):void 0;o.append({type:"task-completed",taskName:A,data:w,dataHash:R,timestamp:new Date().toISOString()});}h();}},addNode(g,w){i||(o.append({type:"task-upsert",taskName:g,taskConfig:w,timestamp:new Date().toISOString()}),h());},removeNode(g){i||(o.append({type:"task-removal",taskName:g,timestamp:new Date().toISOString()}),h());},addRequires(g,w){i||(o.append({type:"node-requires-add",nodeName:g,tokens:w,timestamp:new Date().toISOString()}),h());},removeRequires(g,w){i||(o.append({type:"node-requires-remove",nodeName:g,tokens:w,timestamp:new Date().toISOString()}),h());},addProvides(g,w){i||(o.append({type:"node-provides-add",nodeName:g,tokens:w,timestamp:new Date().toISOString()}),h());},removeProvides(g,w){i||(o.append({type:"node-provides-remove",nodeName:g,tokens:w,timestamp:new Date().toISOString()}),h());},registerHandler(g,w){c.set(g,w);},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 w of g)a.config.tasks[w]&&o.append({type:"task-restart",taskName:w,timestamp:new Date().toISOString()});h();}},snapshot(){return Sr(a)},getState(){return a},getSchedule(){return wr(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 $o(e){return JSON.stringify(e)}function Ro(e){let t;try{t=JSON.parse(e);}catch{throw new Error(`parseExecutionRef: invalid JSON \u2014 ${e}`)}if(typeof t!="object"||t===null||typeof t.howToRun!="string"||typeof t.whatToRun!="string")throw new Error(`parseExecutionRef: missing required fields howToRun/whatToRun \u2014 ${e}`);return t}var Gh=module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('fs-board-adapter.cjs', document.baseURI).href))),yn=Gh("./jsonata-sync.cjs"),Xu=yn;function Wu(e,t){if(!t||!e)return;let r=t.split("."),n=e;for(let s=0;s<r.length;s++){if(n==null)return;n=n[r[s]];}return n}function Qu(e,t,r){let n=t.split("."),s=e;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 Kh(e,t){if(!e?.compute?.length)return e;e.card_data||(e.card_data={}),e.computed_values={},e._sourcesData=t?.sourcesData??{};let r=e.requires??{},n={card_data:e.card_data,requires:r,expects_data:r,fetched_sources:e._sourcesData,data:e.computed_values,computed_values:e.computed_values};for(let s of e.compute)try{let o=await yn(s.expr).evaluate(n);Qu(e.computed_values,s.bindTo,o),n.computed_values=e.computed_values;}catch(o){console.error(`CardCompute.run error on "${e.id??"?"}.${s.bindTo}":`,o);}return e}function Uh(e,t){if(!e?.compute?.length)return {ok:true,node:e};e.card_data||(e.card_data={}),e.computed_values={},e._sourcesData=t?.sourcesData??{};let r=e.requires??{},n={card_data:e.card_data,requires:r,expects_data:r,fetched_sources:e._sourcesData,data:e.computed_values,computed_values:e.computed_values},s=[];for(let o of e.compute)try{let a=Xu(o.expr).evaluate(n);Qu(e.computed_values,o.bindTo,a),n.computed_values=e.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 "${e.id??"?"}.${o.bindTo}":`,a);}return s.length>0?{ok:true,node:e,errors:s}:{ok:true,node:e}}async function Jh(e,t,r){let n={...r??{},card_data:t.card_data??{},requires:t.requires??{},fetched_sources:t._sourcesData??{},computed_values:t.computed_values??{}};return yn(e).evaluate(n)}function Hh(e,t){return t.startsWith("fetched_sources.")?Wu(e._sourcesData??{},t.slice(16)):Wu(e,t)}var Yu=new Set(["metric","table","editable-table","chart","form","filter","list","notes","todo","alert","narrative","badge","text","markdown","ref","custom","actions"]),zh=new Set(["id","meta","requires","provides","view","card_data","compute","source_defs"]);function Wh(e){let t=[];if(!e||typeof e!="object"||Array.isArray(e))return {ok:false,errors:["Node must be a non-null object"]};let r=e;(typeof r.id!="string"||!r.id)&&t.push("id: required, must be a non-empty string");for(let n of Object.keys(r))zh.has(n)||t.push(`Unknown top-level key: "${n}"`);if((r.card_data==null||typeof r.card_data!="object"||Array.isArray(r.card_data))&&t.push("card_data: required, must be an object"),r.meta!=null)if(typeof r.meta!="object"||Array.isArray(r.meta))t.push("meta: must be an object");else {let n=r.meta;n.title!=null&&typeof n.title!="string"&&t.push("meta.title: must be a string"),n.tags!=null&&!Array.isArray(n.tags)&&t.push("meta.tags: must be an array");}if(r.requires!=null&&!Array.isArray(r.requires)&&t.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))t.push(`provides[${s}]: must be an object with bindTo and ref`);else {let o=n;(typeof o.bindTo!="string"||!o.bindTo)&&t.push(`provides[${s}]: missing required "bindTo" string`),(typeof o.ref!="string"||!o.ref)&&t.push(`provides[${s}]: missing required "ref" string`);}}):t.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))t.push(`compute[${s}]: must be a compute step object`);else {let o=n;(typeof o.bindTo!="string"||!o.bindTo)&&t.push(`compute[${s}]: missing required "bindTo" property`),(typeof o.expr!="string"||!o.expr)&&t.push(`compute[${s}]: missing required "expr" string (JSONata expression)`);}}):t.push("compute: must be an array of compute steps")),r.source_defs!=null)if(!Array.isArray(r.source_defs))t.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))t.push(`source_defs[${a}]: must be an object`);else {let i=o;typeof i.bindTo!="string"||!i.bindTo?t.push(`source_defs[${a}]: missing required "bindTo" property`):(n.has(i.bindTo)&&t.push(`source_defs[${a}]: bindTo "${i.bindTo}" is not unique across source_defs`),n.add(i.bindTo)),typeof i.outputFile!="string"||!i.outputFile?t.push(`source_defs[${a}]: missing required "outputFile" property`):(s.has(i.outputFile)&&t.push(`source_defs[${a}]: outputFile "${i.outputFile}" is not unique across source_defs`),s.add(i.outputFile)),i.optionalForCompletionGating!=null&&typeof i.optionalForCompletionGating!="boolean"&&t.push(`source_defs[${a}]: optionalForCompletionGating must be a boolean`);}});}if(r.view!=null)if(typeof r.view!="object"||Array.isArray(r.view))t.push("view: must be an object");else {let n=r.view;!Array.isArray(n.elements)||n.elements.length===0?t.push("view.elements: required, must be a non-empty array"):n.elements.forEach((s,o)=>{if(!s||typeof s!="object"){t.push(`view.elements[${o}]: must be an object`);return}!s.kind||typeof s.kind!="string"?t.push(`view.elements[${o}].kind: required, must be a string`):Yu.has(s.kind)||t.push(`view.elements[${o}].kind: unknown kind "${s.kind}". Valid: ${[...Yu].join(", ")}`),s.data!=null&&(typeof s.data!="object"||Array.isArray(s.data))&&t.push(`view.elements[${o}].data: must be an object`);}),n.layout!=null&&(typeof n.layout!="object"||Array.isArray(n.layout))&&t.push("view.layout: must be an object"),n.features!=null&&(typeof n.features!="object"||Array.isArray(n.features))&&t.push("view.features: must be an object");}return {ok:t.length===0,errors:t}}async function Yh(e,t){if(!e||e.length===0)return [];let r={card_data:t.card_data??{},requires:t.requires??{}};return Promise.all(e.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 yn(a).evaluate(r);}catch{s[o]=void 0;}}return {...n,_projections:s}}))}function Xh(e,t){if(!e||e.length===0)return [];let r={card_data:t.card_data??{},requires:t.requires??{}};return e.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]=Xu(a).evaluate(r);}catch{s[o]=void 0;}}return {...n,_projections:s}})}var vn={run:Kh,runSync:Uh,eval:Jh,resolve:Hh,validate:Wh,enrichSources:Yh,enrichSourcesSync:Xh};function Sn(e,t){function r(){return e.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 f=0;f<i.length-1;f++){let p=i[f],y=c[p],h=y&&typeof y=="object"&&!Array.isArray(y)?{...y}:{};c[p]=h,c=h;}return c[i[i.length-1]]=a,u}return {readCard(s){let o=r()[s];return !o||!e.cardExists(o.key)?null:e.readCard(o.key)},readCardKey(s){return r()[s]?.key??null},readAllCards(){let s=[];for(let[o,a]of Object.entries(r())){if(!e.cardExists(a.key))continue;let i=e.readCard(a.key);i?s.push(i):t?.(`[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??e.defaultCardKey(s),c=e.writeCard(u,o);i[s]={key:u,checksum:c,updatedAt:new Date().toISOString()},e.writeIndex(i);},patchCard(s,o,a){let i=r(),u=i[s];if(!u||!e.cardExists(u.key))throw new Error(`card "${s}" not found`);let c=e.readCard(u.key);if(!c||typeof c!="object"||Array.isArray(c))throw new Error(`card "${s}" is not patchable`);let f=n(c,o,a),p=e.writeCard(u.key,f);i[s]={key:u.key,checksum:p,updatedAt:new Date().toISOString()},e.writeIndex(i);},removeCard(s){let o=r();o[s]&&(delete o[s],e.writeIndex(o));},readIndex(){return r()}}}function Co(e,t){return {readSourceData(r,n){let s=e.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=t(s);e.write(`${r}/.staged/${o}/${n}`,a);},commitSourceData(r,n,s){let o=`${r}/.staged/${s}/${n}`,a=e.read(o);return a==null?false:(e.write(`${r}/${n}`,a),e.remove(o),true)},hasSource(r,n){return e.exists(`${r}/${n}`)}}}function ec(e){function t(r){let n=e.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=t(r);return n.length===0?{events:[],newCursor:r}:{events:n.map(s=>s.event),newCursor:n[n.length-1].id}},pendingCount(r){return t(r).length},appendEvent(r){e.appendEntry({id:e.generateId(),event:r});}}}function tc(e,t){return {appendEntries(r,n){if(!r||n.length===0)return;let s=e.read(r)??[];e.write(r,[...s,...n]);},dispatchEntriesForJournalId(r,n){if(!r)return;let s=e.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{t(o,i);}catch{}}e.delete(r);}}}}var kr="v1",nt="board/graph",rc="board/lastJournalProcessedId";function Zu(e){return `cards/${e}/runtime`}function nc(e){return {readRuntime(t){return e.read(Zu(t))??{_sources:{}}},writeRuntime(t,r){e.write(Zu(t),r);}}}function Qh(e,t){let r={...e};for(let n of t.deleteKeys)delete r[n];return {...r,...t.shallowMerge}}function sc(e){return {readSnapshot(t){return e.readValues(t)},commitSnapshot(t,r){if(r.schemaVersion!==kr)throw new Error(`Unsupported snapshot schema version: ${r.schemaVersion}`);let n=e.readValues(t);if(n.version!==r.expectedVersion)return {ok:false,reason:"version-mismatch",currentVersion:n.version};let s=Qh(n.values,r);return {ok:true,newVersion:e.writeValues(t,s,r.deleteKeys)}}}}function Eo(e){function t(r){let n=e.read(r);return n==null?null:typeof n=="string"?n:JSON.stringify(n)}return {readTaskExecutorRef(){let r=t("task-executor");if(r?.trim())return Ro(r.trim())},writeTaskExecutorRef(r){e.write("task-executor",$o(r));},readChatHandlerRef(){let r=t("chat-handler");if(r?.trim())return Ro(r.trim())},writeChatHandlerRef(r){e.write("chat-handler",$o(r));},readCardStoreRef(){return t("card-store-ref")},writeCardStoreRef(r){e.write("card-store-ref",r);},readOutputsStoreRef(){return t("outputs-store-ref")},writeOutputsStoreRef(r){e.write("outputs-store-ref",r);},readChatHandler(){return t("chat-handler")?.trim()||void 0},writeChatHandler(r){e.write("chat-handler",r);}}}function oc(e){return {writeComputedValues(t,r){e.write(`cards/${t}/computed_values`,r);},readComputedValues(t){return e.read(`cards/${t}/computed_values`)},readAllComputedValues(){let t={};for(let r of e.listKeys("cards/")){let n=r.match(/^cards\/([^/]+)\/computed_values$/);n&&(t[n[1]]=e.read(r));}return t},writeDataObjects(t){for(let[r,n]of Object.entries(t))r&&e.write(`data-objects/${r}`,n);},readDataObject(t){return e.read(`data-objects/${t}`)},readAllDataObjects(){let t={};for(let r of e.listKeys("data-objects/"))t[r.slice(13)]=e.read(r);return t},writeStatusSnapshot(t){e.write("status",t);},readStatusSnapshot(){return e.read("status")}}}function Zh(e){return e?.lastRequestedAt?!e.lastFetchedAt||e.lastFetchedAt<e.lastRequestedAt:false}function eg(e,t){return e?.lastRequestedAt?Zh(e)?"in-flight":!e.lastFetchedAt||e.lastFetchedAt<t?"dispatch":"idle":"dispatch"}function tg(e,t){let r={...e,lastFetchedAt:t};return delete r.lastError,r}function rg(e,t){let r={...e,lastError:t};return delete r.lastFetchedAt,r}function wn(e,t){let r=t.state.tasks,n=t.config.tasks,s=Object.keys(r),o=wr(t),a={completed:0,failed:0,in_progress:0,pending:0,blocked:0,unresolved:0},i=new Map;for(let l of o.pending)i.set(l.taskName,l.waitingOn);for(let l of o.unresolved)i.set(l.taskName,l.missingTokens);for(let l of o.blocked)i.set(l.taskName,l.failedTokens);let u=new Map;for(let[l,d]of Object.entries(n))for(let m of d.requires??[]){let v=u.get(m)??[];v.push(l),u.set(m,v);}let c=s.sort().map(l=>{let d=r[l],m=n[l]??{requires:[],provides:[]};d.status==="completed"?a.completed+=1:d.status==="failed"?a.failed+=1:d.status==="in-progress"&&(a.in_progress+=1);let v=m.requires??[],g=m.provides??[],w=Object.keys(d.data??{}).sort(),_=v.filter(F=>t.state.availableOutputs.includes(F)),b=v.filter(F=>!t.state.availableOutputs.includes(F)),A=i.get(l)??b,R=new Set;for(let F of g)for(let z of u.get(F)??[])z!==l&&R.add(z);let j=d.failedAt,H=d.error?{message:d.error,code:"TASK_FAILED",at:j,source:"task-runtime"}:void 0;return {name:l,status:d.status,error:H,requires:v,requires_satisfied:_,requires_missing:b,provides_declared:g,provides_runtime:w,blocked_by:A,unblocks:Array.from(R).sort(),runtime:{attempt_count:d.executionCount??0,restart_count:d.retryCount??0,in_progress_since:d.status==="in-progress"?d.startedAt??null:null,last_transition_at:d.lastUpdated??null,last_completed_at:d.completedAt??null,last_restarted_at:d.startedAt??null,status_age_ms:d.lastUpdated?0:null}}});a.pending=o.pending.length,a.blocked=o.blocked.length,a.unresolved=o.unresolved.length;let f=c.map(l=>({name:l.name,fanOut:l.unblocks.length})).sort((l,d)=>d.fanOut-l.fanOut||l.name.localeCompare(d.name)),p=f.length>0?f[0]:{name:null,fanOut:0},y=new Set;for(let l of Object.values(n))for(let d of l.requires??[])y.add(d);let h=0;for(let[l,d]of Object.entries(n)){let m=(d.requires??[]).length===0,g=(d.provides??[]).some(w=>(u.get(w)??[]).some(_=>_!==l));m&&!g&&(h+=1);}return {schema_version:"v1",meta:{board:{path:e}},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(y).length,max_fan_out_card:p.name,max_fan_out:p.fanOut}},cards:c}}function ng(){return new Date().toISOString()}function ac(e,t,r,n,s,o,a){return async i=>{let u=[],c=r.cardStore.readCard(i.nodeId);if(!c)return "task-initiate-failure";let f=c.id,p=c.card_data??{},y=c.source_defs??[],h=y.filter(M=>M.optionalForCompletionGating!==true),l=r.cardRuntimeStore.readRuntime(f),d=false,m=()=>{d&&(r.cardRuntimeStore.writeRuntime(f,l),d=false);},v=M=>({...l._sources[M]??{}}),g=(M,G)=>{l._sources[M]=G,d=true;},w=i.taskState?.executionCount??0,_=l._lastExecutionCount;if(typeof _=="number"&&_!==w&&(l._sources={},d=true),_!==w&&(l._lastExecutionCount=w,d=true),i.update){let M=i.update,G=M.outputFile;if(G){let k=v(G);if(M.failure)g(G,rg(k,M.reason??"unknown"));else {let S=M.rqt;if(!k.lastFetchedAt||S>k.lastFetchedAt){let C=typeof M.deliveryToken=="string"?M.deliveryToken:void 0;C&&r.fetchedSourcesStore.commitSourceData(f,G,C),g(G,tg(k,S));}}m();}}let b={};for(let M of y)if(M.outputFile){let G=r.fetchedSourcesStore.readSourceData(f,M.outputFile);G!==null&&(b[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:f,card_data:{...p},requires:A,source_defs:y,compute:c.compute};R._sourcesData=b,c.compute&&vn.runSync(R,{sourcesData:b}),(o??r.outputStore.writeComputedValues.bind(r.outputStore))(f,R.computed_values??{});let j={...c},H=vn.enrichSourcesSync(Array.isArray(c.source_defs)?c.source_defs:void 0,{card_data:c.card_data,requires:A}),F=e.value;j.source_defs=Array.isArray(H)?H.map(M=>({...M,boardDir:typeof M.boardDir=="string"&&M.boardDir?M.boardDir:F})):H;let z=ng(),ce=i.update?void 0:z,ae=h.filter(M=>{let G=M.outputFile;if(typeof G!="string"||!G)return true;let k=v(G);ce&&(k={...k,queueRequestedAt:ce},g(G,k));let S=k.queueRequestedAt??k.lastRequestedAt??z,C=eg(k,S);return C==="in-flight"?false:C==="dispatch"});if(m(),ae.length>0){let M=false,G=z;for(let k of ae){let S=k.outputFile;if(typeof S!="string"||!S)continue;let C=v(S),P=C.queueRequestedAt??z;g(S,{...C,lastRequestedAt:P}),G=P,M=true;}return M&&m(),M&&(u.push({taskKind:"source-fetch",payload:{boardRef:se(e),enrichedCard:j,callbackToken:i.callbackToken,rqt:G}}),r.executionRequestStore.appendEntries(t,u)),"task-initiated"}let st=c.provides??[],Ft={};for(let{bindTo:M,ref:G}of st)Ft[M]=vn.resolve(R,G);return (a??r.outputStore.writeDataObjects.bind(r.outputStore))(Ft),y.filter(M=>{if(M.optionalForCompletionGating!==true)return false;let G=v(M.outputFile);return !G.lastRequestedAt||!G.lastFetchedAt?true:G.lastFetchedAt<=G.lastRequestedAt}).length>0&&u.push({taskKind:"source-fetch",payload:{boardRef:se(e),enrichedCard:j,callbackToken:i.callbackToken,rqt:z}}),n(i.nodeId,Ft),u.length>0&&r.executionRequestStore.appendEntries(t,u),"task-initiated"}}var bn={settings:{completion:"manual",refreshStrategy:"data-changed"},tasks:{}};function ic(e){return {[nt]:e.graph,[rc]:e.lastDrainedJournalId}}function uc(e){let t=e[nt],r=e[rc];if(!t||typeof t!="object")throw new Error(`State snapshot is missing required key: ${nt}`);return {graph:t,lastDrainedJournalId:typeof r=="string"?r:""}}function cc(e){let t=e.requires,r=e.provides?.map(n=>n.bindTo)??[];return {requires:t&&t.length>0?t:void 0,provides:r,taskHandlers:["card-handler"],description:e.meta?.title??e.id}}function te(e){return e!==void 0?{status:"success",data:e}:{status:"success"}}function q(e){return {status:"fail",error:e}}function ee(e){return {status:"error",error:e instanceof Error?e.message:String(e)}}function sg(e){let t=new TextEncoder().encode(e),r=Array.from(t,n=>String.fromCharCode(n)).join("");return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function lc(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),r=t+"=".repeat((4-t.length%4)%4),n=atob(r),s=Uint8Array.from(n,o=>o.charCodeAt(0));return new TextDecoder().decode(s)}function kn(e){try{let t=JSON.parse(lc(e));return typeof t?.t=="string"?{taskName:t.t}:null}catch{return null}}function og(e){return sg(JSON.stringify(e))}function dc(e){try{let t=JSON.parse(lc(e));return typeof t?.cbk=="string"&&typeof t?.cid=="string"&&typeof t?.b=="string"&&typeof t?.d=="string"?t:null}catch{return null}}function _e(){return new Date().toISOString()}function ag(e,t){let r=t.onWarn??(()=>{}),n=se(e);function s(k){if(k.length!==0)try{let S=t.publishBoardChangeNotifications?.(k);S&&typeof S.catch=="function"&&S.catch(C=>r(`[board-live-cards-public] publishBoardChangeNotifications failed: ${C instanceof Error?C.message:String(C)}`));}catch(S){r(`[board-live-cards-public] publishBoardChangeNotifications failed: ${S instanceof Error?S.message:String(S)}`);}}function o(){let k=i().readCardStoreRef();if(!k)throw new Error(`Board at ${e.value} has no card store configured. Run: init --base-ref <ref> --store-ref <b64-ref>`);let S=t.kvStorageForRef(k);return {readIndex(){return S.read("_index")},writeIndex(C){S.write("_index",C);},readCard(C){return S.read(C)},writeCard(C,P){return S.write(C,P),t.hashFn(P)},cardExists(C){return S.read(C)!==null},defaultCardKey(C){return C}}}let a={readValues(k){let S=t.kvStorage("state-snapshot"),C=S.listKeys().sort();if(C.length===0)return {version:null,values:{}};let P={};for(let X of C)P[X]=S.read(X);return {version:t.hashFn(P),values:P}},writeValues(k,S,C){let P=t.kvStorage("state-snapshot");for(let X of C)P.delete(X);for(let[X,re]of Object.entries(S))P.write(X,re);return t.hashFn(S)}},i=()=>Eo(t.kvStorage("config")),u=()=>sc(a),c=()=>ec(t.journalAdapter()),f=()=>Sn(o(),r),p=()=>{let k=i().readOutputsStoreRef();if(!k)throw new Error(`Board at ${e.value} has no outputs store configured. Run: init --outputs-store-ref <b64-ref>`);return oc(t.kvStorageForRef(k))};function y(){return !!u().readSnapshot(e.value).values[nt]}function h(){let k=u().readSnapshot(e.value);if(!k.values[nt])throw new Error(`Board not initialized at ${e.value}`);return uc(k.values)}function l(k,S){let C=u().commitSnapshot(e.value,{schemaVersion:kr,expectedVersion:S,commitId:t.genId(),committedAt:_e(),deleteKeys:[],shallowMerge:ic(k)});if(!C.ok)throw new Error(`Snapshot commit failed (version mismatch): expected=${S??"null"} current=${C.currentVersion??"null"}`)}function d(k){c().appendEvent(k);}async function m(){let k=(x,O)=>{let ne=x.payload,Je=(ne?.enrichedCard??{}).id??ne?.cardId??"unknown";d({type:"task-failed",taskName:Je,error:O,timestamp:_e()});},S=tc(t.kvStorage("execution-requests"),k),C=nc(t.kvStorage("card-runtime")),P=Co(t.blobStorage("sources"),x=>t.resolveBlob(x)),X=new Map,re={readRuntime(x){return X.get(x)??C.readRuntime(x)},writeRuntime(x,O){X.set(x,O);}},Ue=[],be=new Map,Fe={readSourceData(x,O){let ne=`${x}/${O}`;return be.has(ne)?be.get(ne):P.readSourceData(x,O)},ingestSourceDataStaged(x,O,ne,wt){P.ingestSourceDataStaged(x,O,ne,wt);},commitSourceData(x,O,ne){let wt=`${x}/.staged/${ne}/${O}`,Cr=t.blobStorage("sources").read(wt);if(Cr==null)return false;let bt=`${x}/${O}`,jo=Cr.trim();try{be.set(bt,JSON.parse(jo));}catch{be.set(bt,jo);}return Ue.push({cardId:x,outputFile:O,deliveryToken:ne}),true},hasSource(x,O){let ne=`${x}/${O}`;return be.has(ne)?true:P.hasSource(x,O)}},Pe={cardStore:f(),cardRuntimeStore:re,fetchedSourcesStore:Fe,outputStore:p(),executionRequestStore:S},ot=h(),at=gn(ot.graph),{events:vt,newCursor:St}=c().readEntriesAfterCursor(ot.lastDrainedJournalId),it=[],$n=[],Rn=[],Io=new Map,hc=(x,O)=>{it.push({type:"task-completed",taskName:x,data:O,timestamp:_e()});},Po=(x,O)=>d({type:"task-failed",taskName:x,error:O,timestamp:_e()}),$r=zu(at,{handlers:{"card-handler":ac(e,St,Pe,hc,Po,(x,O)=>{$n.push({cardId:x,values:O});},x=>{Rn.push(x);})}});for(it=vt;it.length>0;){let x=it;it=[];for(let O of x)if(O.type==="task-restart"){let ne=Pe.cardStore.readCard(O.taskName);ne&&Io.set(O.taskName,ne);}$r.pushAll(x),await $r.waitForHandlers();}let Oo=$r.getState();await $r.dispose({wait:true});let gc=u().readSnapshot(e.value).version;l({lastDrainedJournalId:St,graph:Sr(Oo)},gc);for(let{cardId:x,values:O}of $n)Pe.outputStore.writeComputedValues(x,O);for(let x of Rn)Pe.outputStore.writeDataObjects(x);for(let[x,O]of X)C.writeRuntime(x,O);for(let{cardId:x,outputFile:O,deliveryToken:ne}of Ue)P.commitSourceData(x,O,ne);let Rr;try{Rr=wn(n,Oo),Pe.outputStore.writeStatusSnapshot(Rr);}catch(x){r(`[board-live-cards-public] status publish failed: ${x instanceof Error?x.message:String(x)}`);}let Mt=[];for(let{cardId:x,values:O}of $n)Mt.push({kind:"computed_values",cardId:x,values:O});for(let x of Rn)for(let[O,ne]of Object.entries(x))O&&Mt.push({kind:"data_object",key:O,payload:ne});for(let[x,O]of Io)Mt.push({kind:"card_refreshed",cardId:x,card:O});Rr!==void 0&&Mt.push({kind:"status",status:Rr}),s(Mt);let yc=i().readTaskExecutorRef()??{howToRun:"built-in",whatToRun:se({kind:"built-in",value:"source-cli-task-executor"})};S.dispatchEntriesForJournalId(St,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",wt=O.enrichedCard?.source_defs??[];for(let Je of wt){if(!Je.outputFile){r(`[dispatch] source "${Je.bindTo}" has no outputFile \u2014 skipping`);continue}let Cr=og({cbk:O.callbackToken,rg:e.value,br:se(e),cid:ne,b:Je.bindTo,d:Je.outputFile,cs:void 0,rqt:O.rqt});t.dispatchExecution(yc,{source_def:Je,base_ref:se(e),callback:{token:Cr,via:t.selfRef}}).catch(bt=>Po(ne,bt instanceof Error?bt.message:String(bt)));}});}async function v(){try{let k=()=>{let C=h(),{events:P}=c().readEntriesAfterCursor(C.lastDrainedJournalId);P.length<=0||(v(),t.requestProcessAccumulated?.());},S=await qo(t.lock,m,k);return te({ran:S!==!1})}catch(k){return ee(k)}}function g(k){try{let S=k.params?.cardStoreRef;if(!S)return q("init requires params.cardStoreRef \u2014 create a card store with card-store-cli and pass its ref here");if(!y()){let re=hn(bn);l({lastDrainedJournalId:"",graph:Sr(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(S),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{p().writeStatusSnapshot(wn(n,gn(h().graph)));}catch{}return te()}catch(S){return ee(S)}}function w(k){try{let S=p().readStatusSnapshot();if(!S){S=wn(n,gn(h().graph));try{p().writeStatusSnapshot(S);}catch{}}return te(S)}catch(S){return ee(S)}}function _(k){try{let S=k.params?.id;return S?(d({type:"task-removal",taskName:S,timestamp:_e()}),v(),te()):q("removeCard requires params.id")}catch(S){return ee(S)}}function b(k){try{let S=k.params?.id;return S?(d({type:"task-restart",taskName:S,timestamp:_e()}),v(),te()):q("retrigger requires params.id")}catch(S){return ee(S)}}async function A(k){return v()}function R(k){try{let S=k.params?.cardId,C=k.params?.all,P=!!k.params?.restart;if(!S&&!C)return q("upsertCard requires --card-id <id> or --all");let X=C?f().readAllCards().map(re=>re.id):[S];for(let re of X)if(!f().readCard(re))return q(`Card "${re}" not found in board at ${e.value}`);for(let re of X){let Ue=f().readCard(re),be=cc(Ue),Fe=t.hashFn(be),Pe=t.kvStorage("card-upsert"),ot=Pe.read(re),at=ot?.taskConfigHash!==Fe;if(!(!at&&!P)){if(at){let vt=ot?.blobRef??f().readCardKey(re)??re;d({type:"task-upsert",taskName:re,taskConfig:be,timestamp:_e()}),Pe.write(re,{blobRef:vt,taskConfigHash:Fe,updatedAt:_e()});}P&&d({type:"task-restart",taskName:re,timestamp:_e()});}}return v(),te()}catch(S){return ee(S)}}function j(k){try{let S=k.params?.token;if(!S)return q("taskFailed requires params.token");let C=k.params?.error??"unknown error",P=kn(S);return P?(d({type:"task-failed",taskName:P.taskName,error:C,timestamp:_e()}),v(),te()):q("Invalid callback token")}catch(S){return ee(S)}}function H(k){try{let S=k.params?.token;if(!S)return q("taskProgress requires params.token");let P=(k.body??{}).update??{},X=kn(S);return X?(d({type:"task-progress",taskName:X.taskName,update:P,timestamp:_e()}),v(),te()):q("Invalid callback token")}catch(S){return ee(S)}}function F(k){try{let S=k.params?.token,C=k.params?.ref;if(!S)return q("sourceDataFetched requires params.token");if(!C)return q("sourceDataFetched requires params.ref");let P=dc(S);if(!P)return q("Invalid source token");let{cbk:X,cid:re,b:Ue,d:be,cs:Fe,rqt:Pe}=P,ot=Co(t.blobStorage("sources"),it=>t.resolveBlob(it)),at=t.genId();ot.ingestSourceDataStaged(re,be,Oe(C),at);let vt=kn(X);if(!vt)return q("Invalid callback token embedded in source token");let St=_e();return d({type:"task-progress",taskName:vt.taskName,update:{bindTo:Ue,outputFile:be,fetchedAt:St,deliveryToken:at,sourceChecksum:Fe,rqt:Pe},timestamp:St}),v(),te()}catch(S){return ee(S)}}function z(k){try{let S=k.params?.token,C=k.params?.reason??"unknown";if(!S)return q("sourceDataFetchFailure requires params.token");let P=dc(S);if(!P)return q("Invalid source token");let{cbk:X,b:re,d:Ue,cs:be}=P,Fe=kn(X);return Fe?(d({type:"task-progress",taskName:Fe.taskName,update:{bindTo:re,outputFile:Ue,failure:!0,reason:C,sourceChecksum:be},timestamp:_e()}),v(),te()):q("Invalid callback token embedded in source token")}catch(S){return ee(S)}}function ce(k){try{let S=i().readCardStoreRef();return S?te({storeRef:S}):q(`Board at ${e.value} has no card store configured`)}catch(S){return ee(S)}}function ae(k){try{let S=i().readOutputsStoreRef();return S?te({storeRef:S}):q(`Board at ${e.value} has no outputs store configured`)}catch(S){return ee(S)}}function st(k){try{let S=k.params?.key;if(!S)return q("getConfig requires params.key");let C=i(),P;switch(S){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 "${S}"`)}return te({value:P})}catch(S){return ee(S)}}function Ft(k){try{let S=k.params?.key;if(!S)return q("getOutputsDataObject requires params.key");let C=p().readDataObject(S);return te(C)}catch(S){return ee(S)}}function Ao(k){try{return te(p().readAllDataObjects())}catch(S){return ee(S)}}function M(k){try{let S=k.params?.key;if(!S)return q("getOutputsComputedValues requires params.key");let C=p().readComputedValues(S);return te(C)}catch(S){return ee(S)}}function G(k){try{return te(p().readAllComputedValues())}catch(S){return ee(S)}}return {init:g,status:w,getCardStoreRef:ce,getOutputsStoreRef:ae,getConfig:st,getOutputsDataObject:Ft,getAllOutputsDataObjects:Ao,getOutputsComputedValues:M,getAllOutputsComputedValues:G,removeCard:_,retrigger:b,processAccumulatedEvents:A,upsertCard:R,taskFailed:j,taskProgress:H,sourceDataFetched:F,sourceDataFetchFailure:z}}function ig(e,t){let r=()=>Eo(t.kvStorage("config"));function n(){let l=r().readCardStoreRef();if(!l)throw new Error(`Board at ${e.value} has no card store configured. Run: init --base-ref <ref> --store-ref <b64-ref>`);let d=t.kvStorageForRef(l);return {readIndex(){return d.read("_index")},writeIndex(m){d.write("_index",m);},readCard(m){return d.read(m)},writeCard(m,v){return d.write(m,v),t.hashFn(v)},cardExists(m){return d.read(m)!==null},defaultCardKey(m){return m}}}let s=()=>Sn(n(),t.onWarn??(()=>{}));function o(l,d){let m=t.validateSchema(d),v=[],g=r().readTaskExecutorRef();if(g&&Array.isArray(d.source_defs))for(let _ of d.source_defs){let b=typeof _.bindTo=="string"?_.bindTo:"(unknown)",A=t.makeTempFilePath(`validate-src-${b}`);try{t.absoluteBlob.write(A,JSON.stringify(_));let R;try{R=t.invokeExecutorSync(g,"validate-source-def",["--in",A],{timeout:1e4});}catch(H){let F=H;if(R=typeof F?.stdout=="string"?F.stdout:"",!R.trim()){v.push(`source "${b}": 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)v.push(`source "${b}": ${H}`);}catch(R){v.push(`source "${b}": executor validate-source-def failed \u2014 ${R instanceof Error?R.message:String(R)}`);}finally{try{t.absoluteBlob.remove(A);}catch{}}}let w=[...m.errors,...v];return te({cardId:l,isValid:w.length===0,issues:w})}function a(l,d,m){let v=r().readTaskExecutorRef();if(!v)return q("No task-executor registered for this board");let g=typeof l.bindTo=="string"?l.bindTo:"source",w=t.makeTempFilePath(`probe-in-${g}`),_=t.makeTempFilePath(`probe-out-${g}`),b=t.makeTempFilePath(`probe-err-${g}`,".txt"),A={...l,boardDir:e.value,_projections:d},R=se({kind:"fs-path",value:w}),j=se({kind:"fs-path",value:_}),H=se({kind:"fs-path",value:b});t.absoluteBlob.write(w,JSON.stringify(A,null,2));let F=null;try{if(t.invokeExecutorSync(v,"run-source-fetch",["--in-ref",R,"--out-ref",j,"--err-ref",H],{timeout:l.timeout??3e4}),F=t.absoluteBlob.read(_),F===null)return q("Executor produced no output file")}catch(z){let ce=t.absoluteBlob.read(b)?.trim()??(z instanceof Error?z.message:String(z));return q(`Probe failed: ${ce}`)}finally{try{t.absoluteBlob.remove(w);}catch{}try{t.absoluteBlob.remove(b);}catch{}}if(m){let z=Oe(m);t.absoluteBlob.write(z.value,F);}else try{t.absoluteBlob.remove(_);}catch{}return te({bindTo:g,resultSizeBytes:F.length})}function i(l){try{let d=l.params?.cardId,m=l.params?.all;if(!d&&!m)return q("validateCard requires --card-id <id> or --all");let v=m?s().readAllCards().map(w=>w.id):[d],g=[];for(let w of v){let _=s().readCard(w);if(!_){g.push({cardId:w,isValid:!1,issues:[`Card "${w}" not found`]});continue}let b=o(w,_);if(b.status!=="success")return b;g.push(b.data);}return te(g)}catch(d){return ee(d)}}function u(l){try{if(!l.body||typeof l.body!="object"||Array.isArray(l.body))return q("validateTmpCard requires card JSON object in body");let d=l.body,m=d["card-content"]??d,v=typeof m.id=="string"?m.id:"(unknown)";return o(v,m)}catch(d){return ee(d)}}function c(l){try{let d=l.params?.cardId,m=l.params?.sourceIdx,v=l.params?.outRef;if(!d)return q("probeSource requires params.cardId");if(m===void 0)return q("probeSource requires params.sourceIdx");let w=(l.body??{})["mock-projections"]??{},_=s().readCard(d);if(!_)return q(`Card "${d}" not found`);let b=_.source_defs??[];return m<0||m>=b.length?q(`sourceIdx ${m} out of range (card has ${b.length} source(s))`):a(b[m],w,v)}catch(d){return ee(d)}}function f(l){try{let d=l.params?.outRef,m=l.body;if(!m)return q('probeTmpSource requires body with "source-def" and "mock-projections"');let v=m["source-def"],g=m["mock-projections"]??{};return v?a(v,g,d):q('probeTmpSource body requires "source-def"')}catch(d){return ee(d)}}function p(l){try{let d=r().readTaskExecutorRef();if(!d)return q("No task-executor registered for this board");let m=t.invokeExecutorSync(d,"describe-capabilities",[],{timeout:1e4});return te(JSON.parse(m.trim()))}catch(d){return ee(d)}}function y(l){try{let d=l.body;if(!d||!Array.isArray(d.ops))return q("updatesInCardStore requires body.ops array");let m=d.ops,v=s();for(let g of m){let w=g.op,_=g.id;if(!_)return q('op is missing "id"');if(w==="update"){let b=g["card-content"];if(!b)return q(`update op for "${_}" is missing "card-content"`);v.writeCard(_,b);}else return q(`Unknown op type: "${w??"(none)"}"`)}return te()}catch(d){return ee(d)}}function h(l){try{let d=l.body;if(!d||!Array.isArray(d.ids))return q("readFromCardStore requires body.ids array");let m=d.ids,v=s(),g=m.map(w=>({id:w,"card-content":v.readCard(w)}));return te({cards:g})}catch(d){return ee(d)}}return {validateCard:i,validateTmpCard:u,probeSource:c,probeTmpSource:f,describeTaskExecutorCapabilities:p,updatesInCardStore:y,readFromCardStore:h}}function ug(e){function t(s){return {status:"success",data:s}}function r(s){return {status:"fail",error:s}}function n(s){return {status:"error",error:s instanceof Error?s.message:String(s)}}return {get(s){try{let o=s.params?.id;if(o){let a=e.readCard(o);return a?t({cards:[a]}):r(`card "${o}" not found`)}return t({cards:e.readAllCards()})}catch(o){return n(o)}},set(s){try{let o=s.body;if(o==null)return r("set requires a body (card object or array of cards)");let a=Array.isArray(o)?o:[o];for(let i of a){if(typeof i.id!="string")return r("each card must have a string `id` field");e.writeCard(i.id,i);}return t({count:a.length})}catch(o){return n(o)}},del(s){try{let o=s.body?.ids??[],a=s.params?.id,i=a?[...o,a]:o;if(i.length===0)return r("del requires body.ids (string[]) or params.id");for(let u of i)e.removeCard(u);return t({count:i.length})}catch(o){return n(o)}},patch(s){try{let o=s.params?.id,a=s.params?.path;if(!o)return r("patch requires params.id");if(!a)return r("patch requires params.path");let i=s.body,u=i&&Object.prototype.hasOwnProperty.call(i,"value")?i.value:s.body;return e.patchCard(o,a,u),t({count:1})}catch(o){return n(o)}}}}function cg(e){function t(s){return {status:"success",data:s}}function r(s){return {status:"fail",error:s}}function n(s){return {status:"error",error:s instanceof Error?s.message:String(s)}}return {list(s){try{let o=s.params?.prefix??"";return t({artifacts:e.list(o)})}catch(o){return n(o)}},head(s){try{let o=s.params?.key;return o?t({artifact:e.head(o)}):r("head requires params.key")}catch(o){return n(o)}},put(s){try{let o=s.params?.key,a=s.params?.contentType;if(!o)return r("put requires params.key");let i=s.body;if(typeof i=="string")return t({artifact:e.putText(o,i,a)});if(i&&typeof i=="object"&&typeof i.text=="string")return t({artifact:e.putText(o,i.text,a)});if(i&&typeof i=="object"&&Array.isArray(i.bytes)){let u=i.bytes,c=new Uint8Array(u.map(f=>Math.max(0,Math.min(255,Number(f)||0))));return t({artifact:e.putBytes(o,c,a)})}return r("put requires body as string, {text}, or {bytes:number[]}")}catch(o){return n(o)}},get(s){try{let o=s.params?.key,a=s.params?.as??"base64";if(!o)return r("get requires params.key");let i=e.head(o);if(!i)return r(`artifact "${o}" not found`);if(a==="text"){let c=e.getText(o);return c===null?r(`artifact "${o}" not found`):t({key:o,contentType:i.contentType,size:i.size,text:c})}let u=e.getBytes(o);return u===null?r(`artifact "${o}" not found`):t({key:o,contentType:i.contentType,size:i.size,bytes:[...u]})}catch(o){return n(o)}},del(s){try{let o=s.params?.key;return o?(e.remove(o),t({ok:!0})):r("del requires params.key")}catch(o){return n(o)}}}}var _n=".artifacts-index.json";function fc(){return new Date().toISOString()}function pc(e){return new TextEncoder().encode(e).byteLength}function _r(e){let t=e.read(_n);if(!t)return {entries:{}};try{let r=JSON.parse(t);if(r&&r.entries&&typeof r.entries=="object")return r}catch{}return {entries:{}}}function xo(e,t){e.write(_n,JSON.stringify(t,null,2));}function dg(e){return e?{key:e.key,size:e.size,updatedAt:e.updatedAt,contentType:e.contentType}:null}function mc(e,t,r){e.entries[t]={key:t,size:r.size,updatedAt:r.updatedAt,contentType:r.contentType};}function To(e){let t=String(e||"").match(/^(\d+)[-_]/);return t?parseInt(t[1],10):0}function lg(e){let t=String(e||"").trim();if(!t)return "upload.bin";let r=Math.max(t.lastIndexOf("/"),t.lastIndexOf("\\"));return (r>=0?t.slice(r+1):t)||"upload.bin"}function fg(e){return String(e||"").toLowerCase().replace(/\s+/g,"_").replace(/[^a-z0-9_-]/g,"_").replace(/_+/g,"_").replace(/^_+|_+$/g,"")||"file"}function pg(e){if(!e||e===".")return "";let t=String(e).replace(/^\./,"").toLowerCase().replace(/[^a-z0-9]/g,"");return t?`.${t}`:""}function mg(e){let t=lg(e),r=t.lastIndexOf(".");return r<=0||r===t.length-1?{stem:t,ext:""}:{stem:t.slice(0,r),ext:t.slice(r)}}function hg(e){let t=e.lastIndexOf("/");return t>=0?e.slice(t+1):e}function gg(e){function t(r){let n=e.stat?dg(e.stat(r)):null;if(n)return n;let o=_r(e).entries[r];if(o)return {...o};if(!e.exists(r))return null;let a=e.read(r);return a===null?{key:r}:{key:r,size:pc(a)}}return {exists(r){return e.exists(r)},putText(r,n,s="text/plain; charset=utf-8"){e.write(r,n);let o=t(r)??{key:r};o.contentType=s,o.updatedAt=o.updatedAt??fc(),o.size=o.size??pc(n);let a=_r(e);return mc(a,r,o),xo(e,a),o},putBytes(r,n,s="application/octet-stream"){if(e.writeBytes)e.writeBytes(r,n);else {let i=JSON.stringify({__kind:"bytes-array",data:[...n]});e.write(r,i);}let o=t(r)??{key:r};o.contentType=s,o.updatedAt=o.updatedAt??fc(),o.size=o.size??n.byteLength;let a=_r(e);return mc(a,r,o),xo(e,a),o},getText(r){let n=e.read(r);if(n===null){if(!e.readBytes)return null;let s=e.readBytes(r);return s===null?null:Buffer.from(s).toString("utf-8")}try{let s=JSON.parse(n);if(s&&s.__kind==="bytes-array"&&Array.isArray(s.data))return new TextDecoder("utf-8").decode(new Uint8Array(s.data))}catch{}return n},getBytes(r){if(e.readBytes){let s=e.readBytes(r);if(s!==null)return s}let n=e.read(r);if(n===null)return null;try{let s=JSON.parse(n);if(s&&s.__kind==="bytes-array"&&Array.isArray(s.data))return new Uint8Array(s.data)}catch{}return new TextEncoder().encode(n)},head:t,list(r=""){let n=new Map;if(e.listKeys)for(let o of e.listKeys(r)){if(o===_n)continue;let a=t(o)??{key:o};n.set(o,a);}let s=_r(e);for(let[o,a]of Object.entries(s.entries))o===_n||r&&!o.startsWith(r)||n.has(o)||n.set(o,{...a});return [...n.values()].sort((o,a)=>o.key.localeCompare(a.key))},remove(r){e.remove(r);let n=_r(e);delete n.entries[r],xo(e,n);}}}function yg(e,t){let r=t?.indexFileName||".index.json";function n(p){return `${p}/${r}`}function s(p){let y=e.getText(n(p));if(!y)return [];try{let h=JSON.parse(y);return Array.isArray(h)?h.filter(l=>l&&typeof l.stored_name=="string").map(l=>({serial:Number(l.serial||To(String(l.stored_name))||0),role:String(l.role||"system").toLowerCase(),stored_name:String(l.stored_name),path:typeof l.path=="string"?l.path:`${p}/chats/${String(l.stored_name)}`,updated_at:typeof l.updated_at=="string"?l.updated_at:null})):[]}catch{return []}}function o(p,y){e.putText(n(p),JSON.stringify(y,null,2),"application/json; charset=utf-8");}function a(p){let y=s(p),h=0;for(let l of y){let d=Number(l.serial||0);Number.isFinite(d)&&d>h&&(h=d);}return h+1}function i(p,y){let h=s(p);h.push(y),o(p,h);}function u(p){let y=s(p),h=[];for(let l of y){let d=`${p}/${l.stored_name}`,m=e.getText(d);m!==null&&h.push({serial:Number(l.serial||To(l.stored_name)||0),role:String(l.role||"system").toLowerCase(),text:m,path:typeof l.path=="string"?l.path:`${p}/chats/${l.stored_name}`,stored_name:l.stored_name,updated_at:l.updated_at||null});}return h.sort((l,d)=>l.serial-d.serial||l.stored_name.localeCompare(d.stored_name)),h}function c(p){let y=`${p}/`;for(let h of e.list(y))e.remove(h.key);}function f(p){let y=`${p}/`,h=e.list(y),l=0,d=0,m=false;for(let v of h){let g=v.key.slice(y.length);if(g===".processing"){m=true;continue}if(!/^(\d+)[-_]([a-z0-9_-]+)\.txt$/i.test(g))continue;l+=1;let w=v.updatedAt?Number(new Date(v.updatedAt).getTime()||0):0;w>d&&(d=w);}return {count:l,latest_mtime_ms:d,processing:m}}return {indexKey:n,loadIndex:s,saveIndex:o,nextSerial:a,appendIndexRecord:i,readRecords:u,clear:c,readSignal:f}}function vg(e){function t(s,o){let a=0,i=[];Array.isArray(o)&&i.push(...o);for(let u of e.list(`${s}/`))i.push(hg(u.key));for(let u of i){let c=To(u);Number.isFinite(c)&&c>a&&(a=c);}return a+1}function r(s,o,a){let i=Number(a?.maxLen||32),{stem:u,ext:c}=mg(s),f=pg(c),p=fg(u),y=`${String(o).padStart(3,"0")}-`,h=f,l=i-y.length-h.length;l<1&&(h="",l=i-y.length);let d=p.slice(0,Math.max(1,l)),m=`${y}${d}${h}`;return m.length>i&&(m=m.slice(0,i).replace(/\.$/,"")),m}function n(s,o,a){let i=t(s,a?.seedNames),u=r(o,i,{maxLen:a?.maxLen});for(;e.exists(`${s}/${u}`);)i+=1,u=r(o,i,{maxLen:a?.maxLen});return u}return {nextSerial:t,buildStoredName:r,allocateStoredName:n}}function Sg(){function e(s,o){if(!Array.isArray(s))return [];let a=[];for(let i of s){if(!i||typeof i!="object")continue;let u=i;typeof u.stored_name=="string"&&a.push({name:typeof u.name=="string"?u.name:u.stored_name,stored_name:u.stored_name,size:typeof u.size=="number"&&Number.isFinite(u.size)?u.size:null,mime_type:typeof u.mime_type=="string"?u.mime_type:null,path:typeof u.path=="string"?u.path:null,uploaded_at:typeof u.uploaded_at=="string"?u.uploaded_at:o||null});}return a}function t(s){return !s||typeof s!="object"?[]:e(s.files,void 0)}function r(s,o){let a=t(s);if(o.length===0)return s.files=a,a;let i=new Set(a.map(u=>u.stored_name));for(let u of o)i.has(u.stored_name)||(a.push(u),i.add(u.stored_name));return s.files=a,a}function n(s,o,a){let i=t(s);if(!Number.isInteger(o)||o<0||o>=i.length)return {ok:false,reason:"index_out_of_range"};let u=i[o];return !u||!u.stored_name?{ok:false,reason:"missing_stored_name"}:a&&a!==u.stored_name?{ok:false,reason:"stale_reference"}:{ok:true,file:u}}return {read:t,normalizeIncoming:e,merge:r,resolve:n}}var wg=".board.lock";function bg(e,t,r){let n=e.value,{cmd:s,args:o}=Vt(t,"_",[]),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=>On(Tr(n,`.${u}`)),blobStorage:u=>u?Ir(Tr(n,u)):Ir(n),journalAdapter:()=>Zo(n),lock:ea(Tr(n,wg)),selfRef:i,async dispatchExecution(u,c){if(r?.suppressSpawn)return {dispatched:false};try{let f=c.source_def?.bindTo??En().slice(0,8),p=Lt(n,`exec-in-${f}`),y=Lt(n,`exec-out-${f}`),h=Lt(n,`exec-err-${f}`,".txt"),l=se({kind:"fs-path",value:p}),d=se({kind:"fs-path",value:y}),m=se({kind:"fs-path",value:h});return Xo({kind:"fs-path",value:p}).write(p,JSON.stringify(c,null,2)),Yo(u,{subcommand:"run-source-fetch",inRef:l,outRef:d,errRef:m},t),{dispatched:!0}}catch(f){return {dispatched:false,error:f instanceof Error?f.message:String(f)}}},resolveBlob(u){let c=Lo(u.value)?Pn().read(u.value):Ir(n).read(u.value);if(c===null)throw new Error(`resolveBlob: blob not found: ::${u.kind}::${u.value}`);return c},hashFn:Qo,genId:()=>Vo(`${Date.now()}-${Math.random()}`).slice(0,32),kvStorageForRef:u=>On(Oe(u).value),requestProcessAccumulated(){r?.suppressSpawn||Ko(t,e,r?.notifyChannel);},publishBoardChangeNotifications(u){if(!r?.notifyChannel||u.length===0)return;let c=u.map(f=>({id:En(),ts:new Date().toISOString(),boardRef:se(e),notification:f}));Uo(r.notifyChannel,c,r.onWarn);},onWarn:r?.onWarn}}function sS(e,t,r){let n=bg(e,t,r),s=Tn();return {...n,invokeExecutorSync(o,a,i,u){let{command:c,baseArgs:f}=Wo(o,t);return s.executeSync(c,[...f,a,...i],{timeout:u?.timeout??3e4,encoding:"utf-8"})},validateSchema(o){let a=wo(o);return {ok:a.errors.length===0,errors:a.errors}},makeTempFilePath(o,a){return Lt(e.value,o,a)},absoluteBlob:Pn()}}function oS(e){try{let t=JSON.parse(Buffer.from(e,"base64url").toString());return typeof t.br=="string"?t.br:null}catch{return null}}
13
+ exports.BOARD_GRAPH_KEY=nt;exports.EMPTY_CONFIG=bn;exports.SNAPSHOT_SCHEMA_VERSION_V1=kr;exports.createArtifactsStore=gg;exports.createArtifactsStorePublic=cg;exports.createBoardLiveCardsNonCorePublic=ig;exports.createBoardLiveCardsPublic=ag;exports.createCardFileMetadataStore=Sg;exports.createCardStore=Sn;exports.createCardStorePublic=ug;exports.createChatArtifactsStore=yg;exports.createFileArtifactsStore=vg;exports.createFsBoardNonCorePlatformAdapter=sS;exports.createFsBoardPlatformAdapter=bg;exports.decodeBoardRefFromToken=oS;exports.parseRef=Oe;exports.serializeRef=se;//# sourceMappingURL=fs-board-adapter.cjs.map
14
+ //# sourceMappingURL=fs-board-adapter.cjs.map