yaml-flow 6.0.0 → 7.1.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 (166) hide show
  1. package/board-live-cards-cli.js +4 -4
  2. package/browser/asset-integrity.json +3 -3
  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 -2
  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 +264 -151
  13. package/card-store.js +4 -4
  14. package/dist/{board-live-cards-public-CltXYgaY.d.cts → board-live-cards-public-5n1-syA3.d.cts} +8 -5
  15. package/dist/{board-live-cards-public-f-E-FAyp.d.ts → board-live-cards-public-CK_J8uv0.d.ts} +8 -5
  16. package/dist/board-livegraph-runtime/index.cjs +2 -2
  17. package/dist/board-livegraph-runtime/index.cjs.map +1 -1
  18. package/dist/board-livegraph-runtime/index.d.cts +11 -9
  19. package/dist/board-livegraph-runtime/index.d.ts +11 -9
  20. package/dist/board-livegraph-runtime/index.js +2 -2
  21. package/dist/board-livegraph-runtime/index.js.map +1 -1
  22. package/dist/board-livegraph-runtime/jsonata-sync.cjs +37 -1
  23. package/dist/card-compute/index.cjs +4 -4
  24. package/dist/card-compute/index.cjs.map +1 -1
  25. package/dist/card-compute/index.d.cts +5 -1
  26. package/dist/card-compute/index.d.ts +5 -1
  27. package/dist/card-compute/index.js +4 -4
  28. package/dist/card-compute/index.js.map +1 -1
  29. package/dist/card-compute/jsonata-sync.cjs +37 -1
  30. package/dist/cli/browser-api/board-live-cards-browser-adapter.cjs +2 -1
  31. package/dist/cli/browser-api/board-live-cards-browser-adapter.cjs.map +1 -1
  32. package/dist/cli/browser-api/board-live-cards-browser-adapter.d.cts +27 -14
  33. package/dist/cli/browser-api/board-live-cards-browser-adapter.d.ts +27 -14
  34. package/dist/cli/browser-api/board-live-cards-browser-adapter.js +2 -1
  35. package/dist/cli/browser-api/board-live-cards-browser-adapter.js.map +1 -1
  36. package/dist/cli/browser-api/card-store-browser-api.cjs +1 -1
  37. package/dist/cli/browser-api/card-store-browser-api.cjs.map +1 -1
  38. package/dist/cli/browser-api/card-store-browser-api.js +1 -1
  39. package/dist/cli/browser-api/card-store-browser-api.js.map +1 -1
  40. package/dist/cli/browser-api/jsonata-sync.cjs +37 -1
  41. package/dist/cli/node/artifacts-store-cli.cjs +8 -8
  42. package/dist/cli/node/artifacts-store-cli.cjs.map +1 -1
  43. package/dist/cli/node/artifacts-store-cli.js +8 -8
  44. package/dist/cli/node/artifacts-store-cli.js.map +1 -1
  45. package/dist/cli/node/board-live-cards-cli.cjs +7 -7
  46. package/dist/cli/node/board-live-cards-cli.cjs.map +1 -1
  47. package/dist/cli/node/board-live-cards-cli.js +7 -7
  48. package/dist/cli/node/board-live-cards-cli.js.map +1 -1
  49. package/dist/cli/node/card-store-cli.cjs +5 -5
  50. package/dist/cli/node/card-store-cli.cjs.map +1 -1
  51. package/dist/cli/node/card-store-cli.js +5 -5
  52. package/dist/cli/node/card-store-cli.js.map +1 -1
  53. package/dist/cli/node/execution-adapter.cjs +3 -0
  54. package/dist/cli/node/execution-adapter.cjs.map +1 -0
  55. package/dist/cli/node/execution-adapter.d.cts +174 -0
  56. package/dist/cli/node/execution-adapter.d.ts +174 -0
  57. package/dist/cli/node/execution-adapter.js +3 -0
  58. package/dist/cli/node/execution-adapter.js.map +1 -0
  59. package/dist/cli/node/fs-board-adapter.cjs +7 -7
  60. package/dist/cli/node/fs-board-adapter.cjs.map +1 -1
  61. package/dist/cli/node/fs-board-adapter.d.cts +2 -2
  62. package/dist/cli/node/fs-board-adapter.d.ts +2 -2
  63. package/dist/cli/node/fs-board-adapter.js +7 -7
  64. package/dist/cli/node/fs-board-adapter.js.map +1 -1
  65. package/dist/cli/node/jsonata-sync.cjs +37 -1
  66. package/dist/cli/node/source-cli-task-executor.cjs +4 -4
  67. package/dist/cli/node/source-cli-task-executor.cjs.map +1 -1
  68. package/dist/cli/node/source-cli-task-executor.js +4 -4
  69. package/dist/cli/node/source-cli-task-executor.js.map +1 -1
  70. package/dist/continuous-event-graph/index.cjs +2 -2
  71. package/dist/continuous-event-graph/index.cjs.map +1 -1
  72. package/dist/continuous-event-graph/index.js +2 -2
  73. package/dist/continuous-event-graph/index.js.map +1 -1
  74. package/dist/continuous-event-graph/jsonata-sync.cjs +37 -1
  75. package/dist/execution-refs.cjs +2 -1
  76. package/dist/execution-refs.cjs.map +1 -1
  77. package/dist/execution-refs.d.cts +55 -12
  78. package/dist/execution-refs.d.ts +55 -12
  79. package/dist/execution-refs.js +2 -1
  80. package/dist/execution-refs.js.map +1 -1
  81. package/dist/index.cjs +10 -10
  82. package/dist/index.cjs.map +1 -1
  83. package/dist/index.js +10 -10
  84. package/dist/index.js.map +1 -1
  85. package/dist/jsonata-sync.cjs +37 -1
  86. package/dist/server-runtime/index.cjs +9 -0
  87. package/dist/server-runtime/index.cjs.map +1 -0
  88. package/dist/server-runtime/index.d.cts +31 -0
  89. package/dist/server-runtime/index.d.ts +31 -0
  90. package/dist/server-runtime/index.js +9 -0
  91. package/dist/server-runtime/index.js.map +1 -0
  92. package/dist/server-runtime/jsonata-sync.cjs +7623 -0
  93. package/dist/step-machine-public/index.cjs +3 -0
  94. package/dist/step-machine-public/index.cjs.map +1 -0
  95. package/dist/step-machine-public/index.d.cts +166 -0
  96. package/dist/step-machine-public/index.d.ts +166 -0
  97. package/dist/step-machine-public/index.js +3 -0
  98. package/dist/step-machine-public/index.js.map +1 -0
  99. package/dist/step-machine-public/jsonata-sync.cjs +7623 -0
  100. package/dist/storage-refs.cjs +2 -2
  101. package/dist/storage-refs.cjs.map +1 -1
  102. package/dist/storage-refs.d.cts +6 -6
  103. package/dist/storage-refs.d.ts +6 -6
  104. package/dist/storage-refs.js +2 -2
  105. package/dist/storage-refs.js.map +1 -1
  106. package/dist/types-CU3DjTKL.d.cts +147 -0
  107. package/dist/types-HGDTWIun.d.ts +147 -0
  108. package/examples/browser/boards/portfolio-tracker/portfolio-t4.js +9 -10
  109. package/examples/browser/boards/portfolio-tracker/portfolio-tracker-http-test.js +370 -0
  110. package/examples/browser/boards/portfolio-tracker/portfolio-tracker-http-test.py +398 -0
  111. package/examples/browser/boards/portfolio-tracker/portfolio-tracker-public.js +9 -10
  112. package/examples/browser/boards/portfolio-tracker/portfolio-tracker-server.js +300 -0
  113. package/examples/browser/boards/portfolio-tracker/portfolio-tracker-server.py +617 -0
  114. package/examples/browser/boards/portfolio-tracker/portfolio-tracker-sse-worker.js +48 -0
  115. package/examples/browser/boards/portfolio-tracker/portfolio-tracker.py +11 -10
  116. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/_board-cli.js +19 -4
  117. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/add-cards-cli.js +4 -8
  118. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/init-board-cli.js +6 -10
  119. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/poll-status-cli.js +8 -16
  120. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/reset-board-dir-cli.js +2 -6
  121. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/retrigger-cli.js +4 -8
  122. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/status-cli.js +3 -7
  123. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/update-holdings-cli.js +4 -8
  124. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/wait-completed-cli.js +7 -16
  125. package/examples/cli/step-machine-cli/portfolio-tracker/handlers/write-prices-cli.js +2 -6
  126. package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/_board_pycli.py +13 -3
  127. package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/add-cards.py +2 -1
  128. package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/init-board.py +2 -1
  129. package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/poll-status.py +2 -1
  130. package/examples/cli/step-machine-cli/portfolio-tracker/portfolio-tracker.flow.yaml +20 -24
  131. package/examples/cli/step-machine-cli/portfolio-tracker/run-inline-python-demo-pycli.py +0 -3
  132. package/examples/cli/step-machine-demo/jsonata-init-board-cli.js +8 -13
  133. package/examples/cli/step-machine-demo/jsonata-init-board.flow.yaml +33 -9
  134. package/examples/cli/step-machine-demo/one-step-cli-only.flow.yaml +3 -1
  135. package/examples/cli/step-machine-demo/step2-double-cli.js +6 -12
  136. package/examples/cli/step-machine-demo/two-step-math.flow.yaml +66 -4
  137. package/examples/cli/step-machine-demo/two-step-mixed.flow.yaml +13 -5
  138. package/examples/example-board/agent-instructions.md +1 -1
  139. package/examples/example-board/cards/card-my-identity.json +30 -6
  140. package/examples/example-board/cards/card-portfolio-action.json +24 -6
  141. package/examples/example-board/cards/card-portfolio-intelligence.json +97 -0
  142. package/examples/example-board/cards/card-portfolio-risks.json +24 -6
  143. package/examples/example-board/cards/card-rebalance-impact.json +22 -6
  144. package/examples/example-board/cards/card-rebalance-sim.json +66 -15
  145. package/examples/example-board/cards/cardT-market-prices.json +80 -0
  146. package/examples/example-board/cards/{card-portfolio-value.json → cardT-portfolio-value.json} +38 -10
  147. package/examples/example-board/cards/cardT-portfolio.json +78 -0
  148. package/examples/example-board/demo-server-config.json +1 -1
  149. package/examples/example-board/demo-server.js +383 -69
  150. package/examples/example-board/demo-shell-localstorage.html +774 -0
  151. package/examples/example-board/demo-shell-with-server.html +18 -36
  152. package/examples/example-board/demo-shell.html +5 -4
  153. package/examples/example-board/demo-task-executor.js +213 -265
  154. package/package.json +15 -13
  155. package/step-machine-cli.js +43 -310
  156. package/board-livecards-server-runtime.js +0 -1513
  157. package/browser/board-livecards-runtime-client.js +0 -263
  158. package/dist/pycli/quickjs-board-runtime.global.js +0 -9
  159. package/dist/pycli/quickjs-board-runtime.global.js.map +0 -1
  160. package/dist/pycli/quickjs-step-machine-runtime.global.js +0 -5
  161. package/dist/pycli/quickjs-step-machine-runtime.global.js.map +0 -1
  162. package/examples/cli/step-machine-demo/two-step-math-handlers.js +0 -32
  163. package/examples/cli/step-machine-demo/two-step-mixed-handlers.js +0 -24
  164. package/examples/example-board/cards/card-market-prices.json +0 -56
  165. package/examples/example-board/cards/card-portfolio.json +0 -44
  166. package/examples/example-board/demo-shell-browser.html +0 -675
@@ -1,14 +1,14 @@
1
- import*as T from'fs';import*as $n from'os';import*as le from'path';import*as qo from'net';import'url';import {spawn,execFile,execFileSync}from'child_process';import {createHash,randomUUID}from'crypto';import mn from'jsonata';import {lockSync}from'proper-lockfile';import fh from'ajv-formats';import {createRequire}from'module';var hc=Object.create;var Po=Object.defineProperty;var gc=Object.getOwnPropertyDescriptor;var yc=Object.getOwnPropertyNames;var vc=Object.getPrototypeOf,Sc=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 yc(t))!Sc.call(e,s)&&s!==r&&Po(e,s,{get:()=>t[s],enumerable:!(n=gc(t,s))||n.enumerable});return e};var bc=(e,t,r)=>(r=e!=null?hc(vc(e)):{},_c(Po(r,"default",{value:e,enumerable:true}),e));var Ut=$(U=>{Object.defineProperty(U,"__esModule",{value:true});U.regexpCode=U.getEsmExportName=U.getProperty=U.safeStringify=U.stringify=U.strConcat=U.addCodeArg=U.str=U._=U.nil=U._Code=U.Name=U.IDENTIFIER=U._CodeOrName=void 0;var Bt=class{};U._CodeOrName=Bt;U.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var at=class extends Bt{constructor(t){if(super(),!U.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}}};U.Name=at;var we=class extends Bt{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 at&&(r[n.str]=(r[n.str]||0)+1),r),{})}};U._Code=we;U.nil=new we("");function Zo(e,...t){let r=[e[0]],n=0;for(;n<t.length;)Pn(r,t[n]),r.push(e[++n]);return new we(r)}U._=Zo;var In=new we("+");function ea(e,...t){let r=[Kt(e[0])],n=0;for(;n<t.length;)r.push(In),Pn(r,t[n]),r.push(In,Kt(e[++n]));return Mc(r),new we(r)}U.str=ea;function Pn(e,t){t instanceof we?e.push(...t._items):t instanceof at?e.push(t):e.push(Gc(t));}U.addCodeArg=Pn;function Mc(e){let t=1;for(;t<e.length-1;){if(e[t]===In){let r=Lc(e[t-1],e[t+1]);if(r!==void 0){e.splice(t-1,3,r);continue}e[t++]="+";}t++;}}function Lc(e,t){if(t==='""')return e;if(e==='""')return t;if(typeof e=="string")return t instanceof at||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 at))return `"${e}${t.slice(1)}`}function Vc(e,t){return t.emptyStr()?e:e.emptyStr()?t:ea`${e}${t}`}U.strConcat=Vc;function Gc(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:Kt(Array.isArray(e)?e.join(","):e)}function Bc(e){return new we(Kt(e))}U.stringify=Bc;function Kt(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}U.safeStringify=Kt;function Kc(e){return typeof e=="string"&&U.IDENTIFIER.test(e)?new we(`.${e}`):Zo`[${e}]`}U.getProperty=Kc;function Uc(e){if(typeof e=="string"&&U.IDENTIFIER.test(e))return new we(`${e}`);throw new Error(`CodeGen: invalid export name: ${e}, use explicit $id name mapping`)}U.getEsmExportName=Uc;function Hc(e){return new we(e.toString())}U.regexpCode=Hc;});var Nn=$(ge=>{Object.defineProperty(ge,"__esModule",{value:true});ge.ValueScope=ge.ValueScopeName=ge.Scope=ge.varKinds=ge.UsedValueState=void 0;var he=Ut(),On=class extends Error{constructor(t){super(`CodeGen: "code" for ${t} not defined`),this.value=t.value;}},Tr;(function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed";})(Tr||(ge.UsedValueState=Tr={}));ge.varKinds={const:new he.Name("const"),let:new he.Name("let"),var:new he.Name("var")};var Ar=class{constructor({prefixes:t,parent:r}={}){this._names={},this._prefixes=t,this._parent=r;}toName(t){return t instanceof he.Name?t:this.name(t)}name(t){return new he.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}}};ge.Scope=Ar;var Ir=class extends he.Name{constructor(t,r){super(r),this.prefix=t;}setValue(t,{property:r,itemIndex:n}){this.value=t,this.scopePath=(0, he._)`.${new he.Name(r)}[${n}]`;}};ge.ValueScopeName=Ir;var Jc=(0, he._)`\n`,jn=class extends Ar{constructor(t){super(t),this._values={},this._scope=t.scope,this.opts={...t,_n:t.lines?Jc:he.nil};}get(){return this._scope}name(t){return new Ir(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 l=i.get(a);if(l)return l}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, he._)`${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=he.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,Tr.Started);let l=r(c);if(l){let p=this.opts.es5?ge.varKinds.var:ge.varKinds.const;o=(0, he._)`${o}${p} ${c} = ${l};${this.opts._n}`;}else if(l=s?.(c))o=(0, he._)`${o}${l}${this.opts._n}`;else throw new On(c);u.set(c,Tr.Completed);});}return o}};ge.ValueScope=jn;});var F=$(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 V=Ut(),Ce=Nn(),Je=Ut();Object.defineProperty(D,"_",{enumerable:true,get:function(){return Je._}});Object.defineProperty(D,"str",{enumerable:true,get:function(){return Je.str}});Object.defineProperty(D,"strConcat",{enumerable:true,get:function(){return Je.strConcat}});Object.defineProperty(D,"nil",{enumerable:true,get:function(){return Je.nil}});Object.defineProperty(D,"getProperty",{enumerable:true,get:function(){return Je.getProperty}});Object.defineProperty(D,"stringify",{enumerable:true,get:function(){return Je.stringify}});Object.defineProperty(D,"regexpCode",{enumerable:true,get:function(){return Je.regexpCode}});Object.defineProperty(D,"Name",{enumerable:true,get:function(){return Je.Name}});var Nr=Nn();Object.defineProperty(D,"Scope",{enumerable:true,get:function(){return Nr.Scope}});Object.defineProperty(D,"ValueScope",{enumerable:true,get:function(){return Nr.ValueScope}});Object.defineProperty(D,"ValueScopeName",{enumerable:true,get:function(){return Nr.ValueScopeName}});Object.defineProperty(D,"varKinds",{enumerable:true,get:function(){return Nr.varKinds}});D.operators={GT:new V._Code(">"),GTE:new V._Code(">="),LT:new V._Code("<"),LTE:new V._Code("<="),EQ:new V._Code("==="),NEQ:new V._Code("!=="),NOT:new V._Code("!"),OR:new V._Code("||"),AND:new V._Code("&&"),ADD:new V._Code("+")};var Fe=class{optimizeNodes(){return this}optimizeNames(t,r){return this}},qn=class extends Fe{constructor(t,r,n){super(),this.varKind=t,this.name=r,this.rhs=n;}render({es5:t,_n:r}){let n=t?Ce.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=wt(this.rhs,t,r)),this}get names(){return this.rhs instanceof V._CodeOrName?this.rhs.names:{}}},Pr=class extends Fe{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 V.Name&&!t[this.lhs.str]&&!this.sideEffects))return this.rhs=wt(this.rhs,t,r),this}get names(){let t=this.lhs instanceof V.Name?{}:{...this.lhs.names};return jr(t,this.rhs)}},Dn=class extends Pr{constructor(t,r,n,s){super(t,n,s),this.op=r;}render({_n:t}){return `${this.lhs} ${this.op}= ${this.rhs};`+t}},Fn=class extends Fe{constructor(t){super(),this.label=t,this.names={};}render({_n:t}){return `${this.label}:`+t}},Mn=class extends Fe{constructor(t){super(),this.label=t,this.names={};}render({_n:t}){return `break${this.label?` ${this.label}`:""};`+t}},Ln=class extends Fe{constructor(t){super(),this.error=t;}render({_n:t}){return `throw ${this.error};`+t}get names(){return this.error.names}},Vn=class extends Fe{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=wt(this.code,t,r),this}get names(){return this.code instanceof V._CodeOrName?this.code.names:{}}},Ht=class extends Fe{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)||(zc(t,o.names),n.splice(s,1));}return n.length>0?this:void 0}get names(){return this.nodes.reduce((t,r)=>ct(t,r.names),{})}},Me=class extends Ht{render(t){return "{"+t._n+super.render(t)+"}"+t._n}},Gn=class extends Ht{},bt=class extends Me{};bt.kind="else";var it=class e extends Me{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 bt(n):n;}if(r)return t===false?r instanceof e?r:r.nodes:this.nodes.length?this:new e(ta(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=wt(this.condition,t,r),this}get names(){let t=super.names;return jr(t,this.condition),this.else&&ct(t,this.else.names),t}};it.kind="if";var ut=class extends Me{};ut.kind="for";var Bn=class extends ut{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=wt(this.iteration,t,r),this}get names(){return ct(super.names,this.iteration.names)}},Kn=class extends ut{constructor(t,r,n,s){super(),this.varKind=t,this.name=r,this.from=n,this.to=s;}render(t){let r=t.es5?Ce.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=jr(super.names,this.from);return jr(t,this.to)}},Or=class extends ut{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=wt(this.iterable,t,r),this}get names(){return ct(super.names,this.iterable.names)}},Jt=class extends Me{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)}};Jt.kind="func";var zt=class extends Ht{render(t){return "return "+super.render(t)}};zt.kind="return";var Un=class extends Me{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&&ct(t,this.catch.names),this.finally&&ct(t,this.finally.names),t}},Wt=class extends Me{constructor(t){super(),this.error=t;}render(t){return `catch(${this.error})`+super.render(t)}};Wt.kind="catch";var Yt=class extends Me{render(t){return "finally"+super.render(t)}};Yt.kind="finally";var Hn=class{constructor(t,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
2
- `:""},this._extScope=t,this._scope=new Ce.Scope({parent:t}),this._nodes=[new Gn];}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 qn(t,o,n)),o}const(t,r,n){return this._def(Ce.varKinds.const,t,r,n)}let(t,r,n){return this._def(Ce.varKinds.let,t,r,n)}var(t,r,n){return this._def(Ce.varKinds.var,t,r,n)}assign(t,r,n){return this._leafNode(new Pr(t,r,n))}add(t,r){return this._leafNode(new Dn(t,D.operators.ADD,r))}code(t){return typeof t=="function"?t():t!==V.nil&&this._leafNode(new Vn(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, V.addCodeArg)(r,s));return r.push("}"),new V._Code(r)}if(t,r,n){if(this._blockNode(new it(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 it(t))}else(){return this._elseNode(new bt)}endIf(){return this._endBlockNode(it,bt)}_for(t,r){return this._blockNode(t),r&&this.code(r).endFor(),this}for(t,r){return this._for(new Bn(t),r)}forRange(t,r,n,s,o=this.opts.es5?Ce.varKinds.var:Ce.varKinds.let){let a=this._scope.toName(t);return this._for(new Kn(o,a,r,n),()=>s(a))}forOf(t,r,n,s=Ce.varKinds.const){let o=this._scope.toName(t);if(this.opts.es5){let a=r instanceof V.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0, V._)`${a}.length`,i=>{this.var(o,(0, V._)`${a}[${i}]`),n(o);})}return this._for(new Or("of",s,o,r),()=>n(o))}forIn(t,r,n,s=this.opts.es5?Ce.varKinds.var:Ce.varKinds.const){if(this.opts.ownProperties)return this.forOf(t,(0, V._)`Object.keys(${r})`,n);let o=this._scope.toName(t);return this._for(new Or("in",s,o,r),()=>n(o))}endFor(){return this._endBlockNode(ut)}label(t){return this._leafNode(new Fn(t))}break(t){return this._leafNode(new Mn(t))}return(t){let r=new zt;if(this._blockNode(r),this.code(t),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(zt)}try(t,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let s=new Un;if(this._blockNode(s),this.code(t),r){let o=this.name("e");this._currNode=s.catch=new Wt(o),r(o);}return n&&(this._currNode=s.finally=new Yt,this.code(n)),this._endBlockNode(Wt,Yt)}throw(t){return this._leafNode(new Ln(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=V.nil,n,s){return this._blockNode(new Jt(t,r,n)),s&&this.code(s).endFunc(),this}endFunc(){return this._endBlockNode(Jt)}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 it))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=Hn;function ct(e,t){for(let r in t)e[r]=(e[r]||0)+(t[r]||0);return e}function jr(e,t){return t instanceof V._CodeOrName?ct(e,t.names):e}function wt(e,t,r){if(e instanceof V.Name)return n(e);if(!s(e))return e;return new V._Code(e._items.reduce((o,a)=>(a instanceof V.Name&&(a=n(a)),a instanceof V._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 V._Code&&o._items.some(a=>a instanceof V.Name&&t[a.str]===1&&r[a.str]!==void 0)}}function zc(e,t){for(let r in t)e[r]=(e[r]||0)-(t[r]||0);}function ta(e){return typeof e=="boolean"||typeof e=="number"||e===null?!e:(0, V._)`!${Jn(e)}`}D.not=ta;var Wc=ra(D.operators.AND);function Yc(...e){return e.reduce(Wc)}D.and=Yc;var Xc=ra(D.operators.OR);function Qc(...e){return e.reduce(Xc)}D.or=Qc;function ra(e){return (t,r)=>t===V.nil?r:r===V.nil?t:(0, V._)`${Jn(t)} ${e} ${Jn(r)}`}function Jn(e){return e instanceof V.Name?e:(0, V._)`(${e})`}});var B=$(M=>{Object.defineProperty(M,"__esModule",{value:true});M.checkStrictMode=M.getErrorPath=M.Type=M.useFunc=M.setEvaluated=M.evaluatedPropsToName=M.mergeEvaluated=M.eachItem=M.unescapeJsonPointer=M.escapeJsonPointer=M.escapeFragment=M.unescapeFragment=M.schemaRefOrVal=M.schemaHasRulesButRef=M.schemaHasRules=M.checkUnknownRules=M.alwaysValidSchema=M.toHash=void 0;var z=F(),Zc=Ut();function ed(e){let t={};for(let r of e)t[r]=true;return t}M.toHash=ed;function td(e,t){return typeof t=="boolean"?t:Object.keys(t).length===0?true:(oa(e,t),!aa(t,e.self.RULES.all))}M.alwaysValidSchema=td;function oa(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]||ca(e,`unknown keyword: "${o}"`);}M.checkUnknownRules=oa;function aa(e,t){if(typeof e=="boolean")return !e;for(let r in e)if(t[r])return true;return false}M.schemaHasRules=aa;function rd(e,t){if(typeof e=="boolean")return !e;for(let r in e)if(r!=="$ref"&&t.all[r])return true;return false}M.schemaHasRulesButRef=rd;function nd({topSchemaRef:e,schemaPath:t},r,n,s){if(!s){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return (0, z._)`${r}`}return (0, z._)`${e}${t}${(0, z.getProperty)(n)}`}M.schemaRefOrVal=nd;function sd(e){return ia(decodeURIComponent(e))}M.unescapeFragment=sd;function od(e){return encodeURIComponent(Wn(e))}M.escapeFragment=od;function Wn(e){return typeof e=="number"?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}M.escapeJsonPointer=Wn;function ia(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}M.unescapeJsonPointer=ia;function ad(e,t){if(Array.isArray(e))for(let r of e)t(r);else t(e);}M.eachItem=ad;function na({mergeNames:e,mergeToName:t,mergeValues:r,resultToName:n}){return (s,o,a,i)=>{let u=a===void 0?o:a instanceof z.Name?(o instanceof z.Name?e(s,o,a):t(s,o,a),a):o instanceof z.Name?(t(s,a,o),o):r(o,a);return i===z.Name&&!(u instanceof z.Name)?n(s,u):u}}M.mergeEvaluated={props:na({mergeNames:(e,t,r)=>e.if((0, z._)`${r} !== true && ${t} !== undefined`,()=>{e.if((0, z._)`${t} === true`,()=>e.assign(r,true),()=>e.assign(r,(0, z._)`${r} || {}`).code((0, z._)`Object.assign(${r}, ${t})`));}),mergeToName:(e,t,r)=>e.if((0, z._)`${r} !== true`,()=>{t===true?e.assign(r,true):(e.assign(r,(0, z._)`${r} || {}`),Yn(e,r,t));}),mergeValues:(e,t)=>e===true?true:{...e,...t},resultToName:ua}),items:na({mergeNames:(e,t,r)=>e.if((0, z._)`${r} !== true && ${t} !== undefined`,()=>e.assign(r,(0, z._)`${t} === true ? true : ${r} > ${t} ? ${r} : ${t}`)),mergeToName:(e,t,r)=>e.if((0, z._)`${r} !== true`,()=>e.assign(r,t===true?true:(0, z._)`${r} > ${t} ? ${r} : ${t}`)),mergeValues:(e,t)=>e===true?true:Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})};function ua(e,t){if(t===true)return e.var("props",true);let r=e.var("props",(0, z._)`{}`);return t!==void 0&&Yn(e,r,t),r}M.evaluatedPropsToName=ua;function Yn(e,t,r){Object.keys(r).forEach(n=>e.assign((0, z._)`${t}${(0, z.getProperty)(n)}`,true));}M.setEvaluated=Yn;var sa={};function id(e,t){return e.scopeValue("func",{ref:t,code:sa[t.code]||(sa[t.code]=new Zc._Code(t.code))})}M.useFunc=id;var zn;(function(e){e[e.Num=0]="Num",e[e.Str=1]="Str";})(zn||(M.Type=zn={}));function ud(e,t,r){if(e instanceof z.Name){let n=t===zn.Num;return r?n?(0, z._)`"[" + ${e} + "]"`:(0, z._)`"['" + ${e} + "']"`:n?(0, z._)`"/" + ${e}`:(0, z._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0, z.getProperty)(e).toString():"/"+Wn(e)}M.getErrorPath=ud;function ca(e,t,r=e.opts.strictSchema){if(r){if(t=`strict mode: ${t}`,r===true)throw new Error(t);e.self.logger.warn(t);}}M.checkStrictMode=ca;});var Le=$(Xn=>{Object.defineProperty(Xn,"__esModule",{value:true});var ue=F(),cd={data:new ue.Name("data"),valCxt:new ue.Name("valCxt"),instancePath:new ue.Name("instancePath"),parentData:new ue.Name("parentData"),parentDataProperty:new ue.Name("parentDataProperty"),rootData:new ue.Name("rootData"),dynamicAnchors:new ue.Name("dynamicAnchors"),vErrors:new ue.Name("vErrors"),errors:new ue.Name("errors"),this:new ue.Name("this"),self:new ue.Name("self"),scope:new ue.Name("scope"),json:new ue.Name("json"),jsonPos:new ue.Name("jsonPos"),jsonLen:new ue.Name("jsonLen"),jsonPart:new ue.Name("jsonPart")};Xn.default=cd;});var Xt=$(ce=>{Object.defineProperty(ce,"__esModule",{value:true});ce.extendErrors=ce.resetErrorsCount=ce.reportExtraError=ce.reportError=ce.keyword$DataError=ce.keywordError=void 0;var K=F(),qr=B(),fe=Le();ce.keywordError={message:({keyword:e})=>(0, K.str)`must pass "${e}" keyword validation`};ce.keyword$DataError={message:({keyword:e,schemaType:t})=>t?(0, K.str)`"${e}" keyword must be ${t} ($data)`:(0, K.str)`"${e}" keyword is invalid ($data)`};function dd(e,t=ce.keywordError,r,n){let{it:s}=e,{gen:o,compositeRule:a,allErrors:i}=s,u=fa(e,t,r);n??(a||i)?da(o,u):la(s,(0, K._)`[${u}]`);}ce.reportError=dd;function ld(e,t=ce.keywordError,r){let{it:n}=e,{gen:s,compositeRule:o,allErrors:a}=n,i=fa(e,t,r);da(s,i),o||a||la(n,fe.default.vErrors);}ce.reportExtraError=ld;function fd(e,t){e.assign(fe.default.errors,t),e.if((0, K._)`${fe.default.vErrors} !== null`,()=>e.if(t,()=>e.assign((0, K._)`${fe.default.vErrors}.length`,t),()=>e.assign(fe.default.vErrors,null)));}ce.resetErrorsCount=fd;function pd({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,fe.default.errors,i=>{e.const(a,(0, K._)`${fe.default.vErrors}[${i}]`),e.if((0, K._)`${a}.instancePath === undefined`,()=>e.assign((0, K._)`${a}.instancePath`,(0, K.strConcat)(fe.default.instancePath,o.errorPath))),e.assign((0, K._)`${a}.schemaPath`,(0, K.str)`${o.errSchemaPath}/${t}`),o.opts.verbose&&(e.assign((0, K._)`${a}.schema`,r),e.assign((0, K._)`${a}.data`,n));});}ce.extendErrors=pd;function da(e,t){let r=e.const("err",t);e.if((0, K._)`${fe.default.vErrors} === null`,()=>e.assign(fe.default.vErrors,(0, K._)`[${r}]`),(0, K._)`${fe.default.vErrors}.push(${r})`),e.code((0, K._)`${fe.default.errors}++`);}function la(e,t){let{gen:r,validateName:n,schemaEnv:s}=e;s.$async?r.throw((0, K._)`new ${e.ValidationError}(${t})`):(r.assign((0, K._)`${n}.errors`,t),r.return(false));}var dt={keyword:new K.Name("keyword"),schemaPath:new K.Name("schemaPath"),params:new K.Name("params"),propertyName:new K.Name("propertyName"),message:new K.Name("message"),schema:new K.Name("schema"),parentSchema:new K.Name("parentSchema")};function fa(e,t,r){let{createErrors:n}=e.it;return n===false?(0, K._)`{}`:md(e,t,r)}function md(e,t,r={}){let{gen:n,it:s}=e,o=[hd(s,r),gd(e,r)];return yd(e,t,o),n.object(...o)}function hd({errorPath:e},{instancePath:t}){let r=t?(0, K.str)`${e}${(0, qr.getErrorPath)(t,qr.Type.Str)}`:e;return [fe.default.instancePath,(0, K.strConcat)(fe.default.instancePath,r)]}function gd({keyword:e,it:{errSchemaPath:t}},{schemaPath:r,parentSchema:n}){let s=n?t:(0, K.str)`${t}/${e}`;return r&&(s=(0, K.str)`${s}${(0, qr.getErrorPath)(r,qr.Type.Str)}`),[dt.schemaPath,s]}function yd(e,{params:t,message:r},n){let{keyword:s,data:o,schemaValue:a,it:i}=e,{opts:u,propertyName:c,topSchemaRef:l,schemaPath:p}=i;n.push([dt.keyword,s],[dt.params,typeof t=="function"?t(e):t||(0, K._)`{}`]),u.messages&&n.push([dt.message,typeof r=="function"?r(e):r]),u.verbose&&n.push([dt.schema,a],[dt.parentSchema,(0, K._)`${l}${p}`],[fe.default.data,o]),c&&n.push([dt.propertyName,c]);}});var ma=$(kt=>{Object.defineProperty(kt,"__esModule",{value:true});kt.boolOrEmptySchema=kt.topBoolOrEmptySchema=void 0;var vd=Xt(),Sd=F(),_d=Le(),bd={message:"boolean schema is false"};function wd(e){let{gen:t,schema:r,validateName:n}=e;r===false?pa(e,false):typeof r=="object"&&r.$async===true?t.return(_d.default.data):(t.assign((0, Sd._)`${n}.errors`,null),t.return(true));}kt.topBoolOrEmptySchema=wd;function kd(e,t){let{gen:r,schema:n}=e;n===false?(r.var(t,false),pa(e)):r.var(t,true);}kt.boolOrEmptySchema=kd;function pa(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, vd.reportError)(s,bd,void 0,t);}});var Qn=$($t=>{Object.defineProperty($t,"__esModule",{value:true});$t.getRules=$t.isJSONType=void 0;var $d=["string","number","integer","boolean","null","object","array"],Rd=new Set($d);function Cd(e){return typeof e=="string"&&Rd.has(e)}$t.isJSONType=Cd;function Ed(){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:{}}}$t.getRules=Ed;});var Zn=$(ze=>{Object.defineProperty(ze,"__esModule",{value:true});ze.shouldUseRule=ze.shouldUseGroup=ze.schemaHasRulesForType=void 0;function xd({schema:e,self:t},r){let n=t.RULES.types[r];return n&&n!==true&&ha(e,n)}ze.schemaHasRulesForType=xd;function ha(e,t){return t.rules.some(r=>ga(e,r))}ze.shouldUseGroup=ha;function ga(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))}ze.shouldUseRule=ga;});var Qt=$(de=>{Object.defineProperty(de,"__esModule",{value:true});de.reportTypeError=de.checkDataTypes=de.checkDataType=de.coerceAndCheckDataType=de.getJSONTypes=de.getSchemaTypes=de.DataType=void 0;var Td=Qn(),Ad=Zn(),Id=Xt(),N=F(),ya=B(),Rt;(function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong";})(Rt||(de.DataType=Rt={}));function Pd(e){let t=va(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}de.getSchemaTypes=Pd;function va(e){let t=Array.isArray(e)?e:e?[e]:[];if(t.every(Td.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}de.getJSONTypes=va;function Od(e,t){let{gen:r,data:n,opts:s}=e,o=jd(t,s.coerceTypes),a=t.length>0&&!(o.length===0&&t.length===1&&(0, Ad.schemaHasRulesForType)(e,t[0]));if(a){let i=ts(t,n,s.strictNumbers,Rt.Wrong);r.if(i,()=>{o.length?Nd(e,t,o):rs(e);});}return a}de.coerceAndCheckDataType=Od;var Sa=new Set(["string","number","integer","boolean","null"]);function jd(e,t){return t?e.filter(r=>Sa.has(r)||t==="array"&&r==="array"):[]}function Nd(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(ts(t,s,o.strictNumbers),()=>n.assign(i,s))),n.if((0, N._)`${i} !== undefined`);for(let c of r)(Sa.has(c)||c==="array"&&o.coerceTypes==="array")&&u(c);n.else(),rs(e),n.endIf(),n.if((0, N._)`${i} !== undefined`,()=>{n.assign(s,i),qd(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
1
+ import*as T from'fs';import*as Rn from'os';import*as ie from'path';import*as Mo from'net';import'url';import {spawn,execFile,execFileSync}from'child_process';import {createHash,randomUUID}from'crypto';import {createRequire}from'module';import {lockSync}from'proper-lockfile';import $h from'ajv-formats';var bc=Object.create;var No=Object.defineProperty;var wc=Object.getOwnPropertyDescriptor;var kc=Object.getOwnPropertyNames;var _c=Object.getPrototypeOf,$c=Object.prototype.hasOwnProperty;var $=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Rc=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of kc(t))!$c.call(e,s)&&s!==r&&No(e,s,{get:()=>t[s],enumerable:!(n=wc(t,s))||n.enumerable});return e};var Cc=(e,t,r)=>(r=e!=null?bc(_c(e)):{},Rc(No(r,"default",{value:e,enumerable:true}),e));var Jt=$(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 Kt=class{};J._CodeOrName=Kt;J.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var ut=class extends Kt{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 Re=class extends Kt{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=Re;J.nil=new Re("");function na(e,...t){let r=[e[0]],n=0;for(;n<t.length;)Nn(r,t[n]),r.push(e[++n]);return new Re(r)}J._=na;var jn=new Re("+");function sa(e,...t){let r=[Ut(e[0])],n=0;for(;n<t.length;)r.push(jn),Nn(r,t[n]),r.push(jn,Ut(e[++n]));return Xc(r),new Re(r)}J.str=sa;function Nn(e,t){t instanceof Re?e.push(...t._items):t instanceof ut?e.push(t):e.push(ed(t));}J.addCodeArg=Nn;function Xc(e){let t=1;for(;t<e.length-1;){if(e[t]===jn){let r=Qc(e[t-1],e[t+1]);if(r!==void 0){e.splice(t-1,3,r);continue}e[t++]="+";}t++;}}function Qc(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 Zc(e,t){return t.emptyStr()?e:e.emptyStr()?t:sa`${e}${t}`}J.strConcat=Zc;function ed(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:Ut(Array.isArray(e)?e.join(","):e)}function td(e){return new Re(Ut(e))}J.stringify=td;function Ut(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}J.safeStringify=Ut;function rd(e){return typeof e=="string"&&J.IDENTIFIER.test(e)?new Re(`.${e}`):na`[${e}]`}J.getProperty=rd;function nd(e){if(typeof e=="string"&&J.IDENTIFIER.test(e))return new Re(`${e}`);throw new Error(`CodeGen: invalid export name: ${e}, use explicit $id name mapping`)}J.getEsmExportName=nd;function sd(e){return new Re(e.toString())}J.regexpCode=sd;});var Fn=$(ve=>{Object.defineProperty(ve,"__esModule",{value:true});ve.ValueScope=ve.ValueScopeName=ve.Scope=ve.varKinds=ve.UsedValueState=void 0;var ye=Jt(),qn=class extends Error{constructor(t){super(`CodeGen: "code" for ${t} not defined`),this.value=t.value;}},Ir;(function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed";})(Ir||(ve.UsedValueState=Ir={}));ve.varKinds={const:new ye.Name("const"),let:new ye.Name("let"),var:new ye.Name("var")};var Pr=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=Pr;var Or=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=Or;var od=(0, ye._)`\n`,Dn=class extends Pr{constructor(t){super(t),this._values={},this._scope=t.scope,this.opts={...t,_n:t.lines?od:ye.nil};}get(){return this._scope}name(t){return new Or(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,Ir.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,Ir.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 G=Jt(),Te=Fn(),ze=Jt();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 Dr=Fn();Object.defineProperty(D,"Scope",{enumerable:true,get:function(){return Dr.Scope}});Object.defineProperty(D,"ValueScope",{enumerable:true,get:function(){return Dr.ValueScope}});Object.defineProperty(D,"ValueScopeName",{enumerable:true,get:function(){return Dr.ValueScopeName}});Object.defineProperty(D,"varKinds",{enumerable:true,get:function(){return Dr.varKinds}});D.operators={GT:new G._Code(">"),GTE:new G._Code(">="),LT:new G._Code("<"),LTE:new G._Code("<="),EQ:new G._Code("==="),NEQ:new G._Code("!=="),NOT:new G._Code("!"),OR:new G._Code("||"),AND:new G._Code("&&"),ADD:new G._Code("+")};var 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?Te.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 G._CodeOrName?this.rhs.names:{}}},jr=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 G.Name&&!t[this.lhs.str]&&!this.sideEffects))return this.rhs=$t(this.rhs,t,r),this}get names(){let t=this.lhs instanceof G.Name?{}:{...this.lhs.names};return qr(t,this.rhs)}},Ln=class extends jr{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 G._CodeOrName?this.code.names:{}}},Ht=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)||(ad(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 Ht{render(t){return "{"+t._n+super.render(t)+"}"+t._n}},Un=class extends Ht{},_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(oa(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 qr(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?Te.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=qr(super.names,this.from);return qr(t,this.to)}},Nr=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)}},zt=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)}};zt.kind="func";var Wt=class extends Ht{render(t){return "return "+super.render(t)}};Wt.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}},Yt=class extends Ve{constructor(t){super(),this.error=t;}render(t){return `catch(${this.error})`+super.render(t)}};Yt.kind="catch";var Xt=class extends Ve{render(t){return "finally"+super.render(t)}};Xt.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 Te.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(Te.varKinds.const,t,r,n)}let(t,r,n){return this._def(Te.varKinds.let,t,r,n)}var(t,r,n){return this._def(Te.varKinds.var,t,r,n)}assign(t,r,n){return this._leafNode(new jr(t,r,n))}add(t,r){return this._leafNode(new Ln(t,D.operators.ADD,r))}code(t){return typeof t=="function"?t():t!==G.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, G.addCodeArg)(r,s));return r.push("}"),new G._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?Te.varKinds.var:Te.varKinds.let){let a=this._scope.toName(t);return this._for(new Hn(o,a,r,n),()=>s(a))}forOf(t,r,n,s=Te.varKinds.const){let o=this._scope.toName(t);if(this.opts.es5){let a=r instanceof G.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0, G._)`${a}.length`,i=>{this.var(o,(0, G._)`${a}[${i}]`),n(o);})}return this._for(new Nr("of",s,o,r),()=>n(o))}forIn(t,r,n,s=this.opts.es5?Te.varKinds.var:Te.varKinds.const){if(this.opts.ownProperties)return this.forOf(t,(0, G._)`Object.keys(${r})`,n);let o=this._scope.toName(t);return this._for(new Nr("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 Wt;if(this._blockNode(r),this.code(t),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Wt)}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 Yt(o),r(o);}return n&&(this._currNode=s.finally=new Xt,this.code(n)),this._endBlockNode(Yt,Xt)}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=G.nil,n,s){return this._blockNode(new zt(t,r,n)),s&&this.code(s).endFunc(),this}endFunc(){return this._endBlockNode(zt)}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 qr(e,t){return t instanceof G._CodeOrName?lt(e,t.names):e}function $t(e,t,r){if(e instanceof G.Name)return n(e);if(!s(e))return e;return new G._Code(e._items.reduce((o,a)=>(a instanceof G.Name&&(a=n(a)),a instanceof G._Code?o.push(...a._items):o.push(a),o),[]));function n(o){let a=r[o.str];return a===void 0||t[o.str]!==1?o:(delete t[o.str],a)}function s(o){return o instanceof G._Code&&o._items.some(a=>a instanceof G.Name&&t[a.str]===1&&r[a.str]!==void 0)}}function ad(e,t){for(let r in t)e[r]=(e[r]||0)-(t[r]||0);}function oa(e){return typeof e=="boolean"||typeof e=="number"||e===null?!e:(0, G._)`!${Yn(e)}`}D.not=oa;var id=aa(D.operators.AND);function ud(...e){return e.reduce(id)}D.and=ud;var cd=aa(D.operators.OR);function dd(...e){return e.reduce(cd)}D.or=dd;function aa(e){return (t,r)=>t===G.nil?r:r===G.nil?t:(0, G._)`${Yn(t)} ${e} ${Yn(r)}`}function Yn(e){return e instanceof G.Name?e:(0, G._)`(${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(),ld=Jt();function fd(e){let t={};for(let r of e)t[r]=true;return t}V.toHash=fd;function pd(e,t){return typeof t=="boolean"?t:Object.keys(t).length===0?true:(ca(e,t),!da(t,e.self.RULES.all))}V.alwaysValidSchema=pd;function ca(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]||pa(e,`unknown keyword: "${o}"`);}V.checkUnknownRules=ca;function da(e,t){if(typeof e=="boolean")return !e;for(let r in e)if(t[r])return true;return false}V.schemaHasRules=da;function md(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=md;function hd({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=hd;function gd(e){return la(decodeURIComponent(e))}V.unescapeFragment=gd;function yd(e){return encodeURIComponent(Qn(e))}V.escapeFragment=yd;function Qn(e){return typeof e=="number"?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}V.escapeJsonPointer=Qn;function la(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}V.unescapeJsonPointer=la;function vd(e,t){if(Array.isArray(e))for(let r of e)t(r);else t(e);}V.eachItem=vd;function ia({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:ia({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:fa}),items:ia({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 fa(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=fa;function Zn(e,t,r){Object.keys(r).forEach(n=>e.assign((0, Y._)`${t}${(0, Y.getProperty)(n)}`,true));}V.setEvaluated=Zn;var ua={};function Sd(e,t){return e.scopeValue("func",{ref:t,code:ua[t.code]||(ua[t.code]=new ld._Code(t.code))})}V.useFunc=Sd;var Xn;(function(e){e[e.Num=0]="Num",e[e.Str=1]="Str";})(Xn||(V.Type=Xn={}));function bd(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=bd;function pa(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=pa;});var Be=$(es=>{Object.defineProperty(es,"__esModule",{value:true});var le=L(),wd={data:new le.Name("data"),valCxt:new le.Name("valCxt"),instancePath:new le.Name("instancePath"),parentData:new le.Name("parentData"),parentDataProperty:new le.Name("parentDataProperty"),rootData:new le.Name("rootData"),dynamicAnchors:new le.Name("dynamicAnchors"),vErrors:new le.Name("vErrors"),errors:new le.Name("errors"),this:new le.Name("this"),self:new le.Name("self"),scope:new le.Name("scope"),json:new le.Name("json"),jsonPos:new le.Name("jsonPos"),jsonLen:new le.Name("jsonLen"),jsonPart:new le.Name("jsonPart")};es.default=wd;});var Qt=$(fe=>{Object.defineProperty(fe,"__esModule",{value:true});fe.extendErrors=fe.resetErrorsCount=fe.reportExtraError=fe.reportError=fe.keyword$DataError=fe.keywordError=void 0;var U=L(),Fr=K(),he=Be();fe.keywordError={message:({keyword:e})=>(0, U.str)`must pass "${e}" keyword validation`};fe.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 kd(e,t=fe.keywordError,r,n){let{it:s}=e,{gen:o,compositeRule:a,allErrors:i}=s,u=ga(e,t,r);n??(a||i)?ma(o,u):ha(s,(0, U._)`[${u}]`);}fe.reportError=kd;function _d(e,t=fe.keywordError,r){let{it:n}=e,{gen:s,compositeRule:o,allErrors:a}=n,i=ga(e,t,r);ma(s,i),o||a||ha(n,he.default.vErrors);}fe.reportExtraError=_d;function $d(e,t){e.assign(he.default.errors,t),e.if((0, U._)`${he.default.vErrors} !== null`,()=>e.if(t,()=>e.assign((0, U._)`${he.default.vErrors}.length`,t),()=>e.assign(he.default.vErrors,null)));}fe.resetErrorsCount=$d;function Rd({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,he.default.errors,i=>{e.const(a,(0, U._)`${he.default.vErrors}[${i}]`),e.if((0, U._)`${a}.instancePath === undefined`,()=>e.assign((0, U._)`${a}.instancePath`,(0, U.strConcat)(he.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));});}fe.extendErrors=Rd;function ma(e,t){let r=e.const("err",t);e.if((0, U._)`${he.default.vErrors} === null`,()=>e.assign(he.default.vErrors,(0, U._)`[${r}]`),(0, U._)`${he.default.vErrors}.push(${r})`),e.code((0, U._)`${he.default.errors}++`);}function ha(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 ga(e,t,r){let{createErrors:n}=e.it;return n===false?(0, U._)`{}`:Cd(e,t,r)}function Cd(e,t,r={}){let{gen:n,it:s}=e,o=[Ed(s,r),xd(e,r)];return Td(e,t,o),n.object(...o)}function Ed({errorPath:e},{instancePath:t}){let r=t?(0, U.str)`${e}${(0, Fr.getErrorPath)(t,Fr.Type.Str)}`:e;return [he.default.instancePath,(0, U.strConcat)(he.default.instancePath,r)]}function xd({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, Fr.getErrorPath)(r,Fr.Type.Str)}`),[ft.schemaPath,s]}function Td(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}`],[he.default.data,o]),c&&n.push([ft.propertyName,c]);}});var va=$(Rt=>{Object.defineProperty(Rt,"__esModule",{value:true});Rt.boolOrEmptySchema=Rt.topBoolOrEmptySchema=void 0;var Ad=Qt(),Id=L(),Pd=Be(),Od={message:"boolean schema is false"};function jd(e){let{gen:t,schema:r,validateName:n}=e;r===false?ya(e,false):typeof r=="object"&&r.$async===true?t.return(Pd.default.data):(t.assign((0, Id._)`${n}.errors`,null),t.return(true));}Rt.topBoolOrEmptySchema=jd;function Nd(e,t){let{gen:r,schema:n}=e;n===false?(r.var(t,false),ya(e)):r.var(t,true);}Rt.boolOrEmptySchema=Nd;function ya(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, Ad.reportError)(s,Od,void 0,t);}});var ts=$(Ct=>{Object.defineProperty(Ct,"__esModule",{value:true});Ct.getRules=Ct.isJSONType=void 0;var qd=["string","number","integer","boolean","null","object","array"],Dd=new Set(qd);function Fd(e){return typeof e=="string"&&Dd.has(e)}Ct.isJSONType=Fd;function Md(){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=Md;});var rs=$(We=>{Object.defineProperty(We,"__esModule",{value:true});We.shouldUseRule=We.shouldUseGroup=We.schemaHasRulesForType=void 0;function Ld({schema:e,self:t},r){let n=t.RULES.types[r];return n&&n!==true&&Sa(e,n)}We.schemaHasRulesForType=Ld;function Sa(e,t){return t.rules.some(r=>ba(e,r))}We.shouldUseGroup=Sa;function ba(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=ba;});var Zt=$(pe=>{Object.defineProperty(pe,"__esModule",{value:true});pe.reportTypeError=pe.checkDataTypes=pe.checkDataType=pe.coerceAndCheckDataType=pe.getJSONTypes=pe.getSchemaTypes=pe.DataType=void 0;var Vd=ts(),Bd=rs(),Gd=Qt(),N=L(),wa=K(),Et;(function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong";})(Et||(pe.DataType=Et={}));function Kd(e){let t=ka(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}pe.getSchemaTypes=Kd;function ka(e){let t=Array.isArray(e)?e:e?[e]:[];if(t.every(Vd.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}pe.getJSONTypes=ka;function Ud(e,t){let{gen:r,data:n,opts:s}=e,o=Jd(t,s.coerceTypes),a=t.length>0&&!(o.length===0&&t.length===1&&(0, Bd.schemaHasRulesForType)(e,t[0]));if(a){let i=ss(t,n,s.strictNumbers,Et.Wrong);r.if(i,()=>{o.length?Hd(e,t,o):os(e);});}return a}pe.coerceAndCheckDataType=Ud;var _a=new Set(["string","number","integer","boolean","null"]);function Jd(e,t){return t?e.filter(r=>_a.has(r)||t==="array"&&r==="array"):[]}function Hd(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)(_a.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),zd(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
3
  || (${a} == "string" && ${s} && ${s} == +${s})`).assign(i,(0, N._)`+${s}`);return;case "integer":n.elseIf((0, N._)`${a} === "boolean" || ${s} === null
4
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 qd({gen:e,parentData:t,parentDataProperty:r},n){e.if((0, N._)`${t} !== undefined`,()=>e.assign((0, N._)`${t}[${r}]`,n));}function es(e,t,r,n=Rt.Correct){let s=n===Rt.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===Rt.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)}}de.checkDataType=es;function ts(e,t,r,n){if(e.length===1)return es(e[0],t,r,n);let s,o=(0, ya.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,es(a,t,r,n));return s}de.checkDataTypes=ts;var Dd={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0, N._)`{type: ${e}}`:(0, N._)`{type: ${t}}`};function rs(e){let t=Fd(e);(0, Id.reportError)(t,Dd);}de.reportTypeError=rs;function Fd(e){let{gen:t,data:r,schema:n}=e,s=(0, ya.schemaRefOrVal)(e,n,"type");return {gen:t,keyword:"type",data:r,schema:n.type,schemaCode:s,schemaValue:s,parentSchema:n,params:{},it:e}}});var ba=$(Dr=>{Object.defineProperty(Dr,"__esModule",{value:true});Dr.assignDefaults=void 0;var Ct=F(),Md=B();function Ld(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));}Dr.assignDefaults=Ld;function _a(e,t,r){let{gen:n,compositeRule:s,data:o,opts:a}=e;if(r===void 0)return;let i=(0, Ct._)`${o}${(0, Ct.getProperty)(t)}`;if(s){(0, Md.checkStrictMode)(e,`default is ignored for: ${i}`);return}let u=(0, Ct._)`${i} === undefined`;a.useDefaults==="empty"&&(u=(0, Ct._)`${u} || ${i} === null || ${i} === ""`),n.if(u,(0, Ct._)`${i} = ${(0, Ct.stringify)(r)}`);}});var ke=$(J=>{Object.defineProperty(J,"__esModule",{value:true});J.validateUnion=J.validateArray=J.usePattern=J.callValidateCode=J.schemaProperties=J.allSchemaProperties=J.noPropertyInData=J.propertyInData=J.isOwnProperty=J.hasPropFunc=J.reportMissingProp=J.checkMissingProp=J.checkReportMissingProp=void 0;var Y=F(),ns=B(),We=Le(),Vd=B();function Gd(e,t){let{gen:r,data:n,it:s}=e;r.if(os(r,n,t,s.opts.ownProperties),()=>{e.setParams({missingProperty:(0, Y._)`${t}`},true),e.error();});}J.checkReportMissingProp=Gd;function Bd({gen:e,data:t,it:{opts:r}},n,s){return (0, Y.or)(...n.map(o=>(0, Y.and)(os(e,t,o,r.ownProperties),(0, Y._)`${s} = ${o}`)))}J.checkMissingProp=Bd;function Kd(e,t){e.setParams({missingProperty:t},true),e.error();}J.reportMissingProp=Kd;function wa(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0, Y._)`Object.prototype.hasOwnProperty`})}J.hasPropFunc=wa;function ss(e,t,r){return (0, Y._)`${wa(e)}.call(${t}, ${r})`}J.isOwnProperty=ss;function Ud(e,t,r,n){let s=(0, Y._)`${t}${(0, Y.getProperty)(r)} !== undefined`;return n?(0, Y._)`${s} && ${ss(e,t,r)}`:s}J.propertyInData=Ud;function os(e,t,r,n){let s=(0, Y._)`${t}${(0, Y.getProperty)(r)} === undefined`;return n?(0, Y.or)(s,(0, Y.not)(ss(e,t,r))):s}J.noPropertyInData=os;function ka(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}J.allSchemaProperties=ka;function Hd(e,t){return ka(t).filter(r=>!(0, ns.alwaysValidSchema)(e,t[r]))}J.schemaProperties=Hd;function Jd({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:s,errorPath:o},it:a},i,u,c){let l=c?(0, Y._)`${e}, ${t}, ${n}${s}`:t,p=[[We.default.instancePath,(0, Y.strConcat)(We.default.instancePath,o)],[We.default.parentData,a.parentData],[We.default.parentDataProperty,a.parentDataProperty],[We.default.rootData,We.default.rootData]];a.opts.dynamicRef&&p.push([We.default.dynamicAnchors,We.default.dynamicAnchors]);let S=(0, Y._)`${l}, ${r.object(...p)}`;return u!==Y.nil?(0, Y._)`${i}.call(${u}, ${S})`:(0, Y._)`${i}(${S})`}J.callValidateCode=Jd;var zd=(0, Y._)`new RegExp`;function Wd({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, Y._)`${s.code==="new RegExp"?zd:(0, Vd.useFunc)(e,s)}(${r}, ${n})`})}J.usePattern=Wd;function Yd(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, Y._)`${r}.length`);t.forRange("i",0,u,c=>{e.subschema({keyword:n,dataProp:c,dataPropType:ns.Type.Num},o),t.if((0, Y.not)(o),i);});}}J.validateArray=Yd;function Xd(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, ns.alwaysValidSchema)(s,u))&&!s.opts.unevaluated)return;let a=t.let("valid",false),i=t.name("_valid");t.block(()=>r.forEach((u,c)=>{let l=e.subschema({keyword:n,schemaProp:c,compositeRule:true},i);t.assign(a,(0, Y._)`${a} || ${i}`),e.mergeValidEvaluated(l,i)||t.if((0, Y.not)(a));})),e.result(a,()=>e.reset(),()=>e.error(true));}J.validateUnion=Xd;});var Ca=$(Ie=>{Object.defineProperty(Ie,"__esModule",{value:true});Ie.validateKeywordUsage=Ie.validSchemaType=Ie.funcKeywordCode=Ie.macroKeywordCode=void 0;var pe=F(),lt=Le(),Qd=ke(),Zd=Xt();function el(e,t){let{gen:r,keyword:n,schema:s,parentSchema:o,it:a}=e,i=t.macro.call(a.self,s,o,a),u=Ra(r,n,i);a.opts.validateSchema!==false&&a.self.validateSchema(i,true);let c=r.name("valid");e.subschema({schema:i,schemaPath:pe.nil,errSchemaPath:`${a.errSchemaPath}/${n}`,topSchemaRef:u,compositeRule:true},c),e.pass(c,()=>e.error(true));}Ie.macroKeywordCode=el;function tl(e,t){var r;let{gen:n,keyword:s,schema:o,parentSchema:a,$data:i,it:u}=e;nl(u,t);let c=!i&&t.compile?t.compile.call(u.self,o,a,u):t.validate,l=Ra(n,s,c),p=n.let("valid");e.block$data(p,S),e.ok((r=t.valid)!==null&&r!==void 0?r:p);function S(){if(t.errors===false)d(),t.modifying&&$a(e),m(()=>e.error());else {let v=t.async?h():f();t.modifying&&$a(e),m(()=>rl(e,v));}}function h(){let v=n.let("ruleErrs",null);return n.try(()=>d((0, pe._)`await `),y=>n.assign(p,false).if((0, pe._)`${y} instanceof ${u.ValidationError}`,()=>n.assign(v,(0, pe._)`${y}.errors`),()=>n.throw(y))),v}function f(){let v=(0, pe._)`${l}.errors`;return n.assign(v,null),d(pe.nil),v}function d(v=t.async?(0, pe._)`await `:pe.nil){let y=u.opts.passContext?lt.default.this:lt.default.self,_=!("compile"in t&&!i||t.schema===false);n.assign(p,(0, pe._)`${v}${(0, Qd.callValidateCode)(e,l,y,_)}`,t.modifying);}function m(v){var y;n.if((0, pe.not)((y=t.valid)!==null&&y!==void 0?y:p),v);}}Ie.funcKeywordCode=tl;function $a(e){let{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,(0, pe._)`${n.parentData}[${n.parentDataProperty}]`));}function rl(e,t){let{gen:r}=e;r.if((0, pe._)`Array.isArray(${t})`,()=>{r.assign(lt.default.vErrors,(0, pe._)`${lt.default.vErrors} === null ? ${t} : ${lt.default.vErrors}.concat(${t})`).assign(lt.default.errors,(0, pe._)`${lt.default.vErrors}.length`),(0, Zd.extendErrors)(e);},()=>e.error());}function nl({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function Ra(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, pe.stringify)(r)})}function sl(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")}Ie.validSchemaType=sl;function ol({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)}}Ie.validateKeywordUsage=ol;});var xa=$(Ye=>{Object.defineProperty(Ye,"__esModule",{value:true});Ye.extendSubschemaMode=Ye.extendSubschemaData=Ye.getSubschema=void 0;var Pe=F(),Ea=B();function al(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, Pe._)`${e.schemaPath}${(0, Pe.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:i[r],schemaPath:(0, Pe._)`${e.schemaPath}${(0, Pe.getProperty)(t)}${(0, Pe.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0, Ea.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')}Ye.getSubschema=al;function il(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:l,opts:p}=t,S=i.let("data",(0, Pe._)`${t.data}${(0, Pe.getProperty)(r)}`,true);u(S),e.errorPath=(0, Pe.str)`${c}${(0, Ea.getErrorPath)(r,n,p.jsPropertySyntax)}`,e.parentDataProperty=(0, Pe._)`${r}`,e.dataPathArr=[...l,e.parentDataProperty];}if(s!==void 0){let c=s instanceof Pe.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];}}Ye.extendSubschemaData=il;function ul(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;}Ye.extendSubschemaMode=ul;});var as=$((Wg,Ta)=>{Ta.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 Ia=$((Yg,Aa)=>{var Xe=Aa.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(){};Fr(t,n,s,e,"",e);};Xe.keywords={additionalItems:true,items:true,contains:true,additionalProperties:true,propertyNames:true,not:true,if:true,then:true,else:true};Xe.arrayKeywords={items:true,allOf:true,anyOf:true,oneOf:true};Xe.propsKeywords={$defs:true,definitions:true,properties:true,patternProperties:true,dependencies:true};Xe.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 Fr(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 l in n){var p=n[l];if(Array.isArray(p)){if(l in Xe.arrayKeywords)for(var S=0;S<p.length;S++)Fr(e,t,r,p[S],s+"/"+l+"/"+S,o,s,l,n,S);}else if(l in Xe.propsKeywords){if(p&&typeof p=="object")for(var h in p)Fr(e,t,r,p[h],s+"/"+l+"/"+cl(h),o,s,l,n,h);}else (l in Xe.keywords||e.allKeys&&!(l in Xe.skipKeywords))&&Fr(e,t,r,p,s+"/"+l,o,s,l,n);}r(n,s,o,a,i,u,c);}}function cl(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}});var Zt=$(ye=>{Object.defineProperty(ye,"__esModule",{value:true});ye.getSchemaRefs=ye.resolveUrl=ye.normalizeId=ye._getFullPath=ye.getFullPath=ye.inlineRef=void 0;var dl=B(),ll=as(),fl=Ia(),pl=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function ml(e,t=true){return typeof e=="boolean"?true:t===true?!is(e):t?Pa(e)<=t:false}ye.inlineRef=ml;var hl=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function is(e){for(let t in e){if(hl.has(t))return true;let r=e[t];if(Array.isArray(r)&&r.some(is)||typeof r=="object"&&is(r))return true}return false}function Pa(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,!pl.has(r)&&(typeof e[r]=="object"&&(0, dl.eachItem)(e[r],n=>t+=Pa(n)),t===1/0))return 1/0}return t}function Oa(e,t="",r){r!==false&&(t=Et(t));let n=e.parse(t);return ja(e,n)}ye.getFullPath=Oa;function ja(e,t){return e.serialize(t).split("#")[0]+"#"}ye._getFullPath=ja;var gl=/#\/?$/;function Et(e){return e?e.replace(gl,""):""}ye.normalizeId=Et;function yl(e,t,r){return r=Et(r),e.resolve(t,r)}ye.resolveUrl=yl;var vl=/^[a-z_][-a-z0-9._]*$/i;function Sl(e,t){if(typeof e=="boolean")return {};let{schemaId:r,uriResolver:n}=this.opts,s=Et(e[r]||t),o={"":s},a=Oa(n,s,false),i={},u=new Set;return fl(e,{allKeys:true},(p,S,h,f)=>{if(f===void 0)return;let d=a+S,m=o[f];typeof p[r]=="string"&&(m=v.call(this,p[r])),y.call(this,p.$anchor),y.call(this,p.$dynamicAnchor),o[S]=m;function v(_){let k=this.opts.uriResolver.resolve;if(_=Et(m?k(m,_):_),u.has(_))throw l(_);u.add(_);let w=this.refs[_];return typeof w=="string"&&(w=this.refs[w]),typeof w=="object"?c(p,w.schema,_):_!==Et(d)&&(_[0]==="#"?(c(p,i[_],_),i[_]=p):this.refs[_]=d),_}function y(_){if(typeof _=="string"){if(!vl.test(_))throw new Error(`invalid anchor "${_}"`);v.call(this,`#${_}`);}}}),i;function c(p,S,h){if(S!==void 0&&!ll(p,S))throw l(h)}function l(p){return new Error(`reference "${p}" resolves to more than one schema`)}}ye.getSchemaRefs=Sl;});var rr=$(Qe=>{Object.defineProperty(Qe,"__esModule",{value:true});Qe.getData=Qe.KeywordCxt=Qe.validateFunctionCode=void 0;var Ma=ma(),Na=Qt(),cs=Zn(),Mr=Qt(),_l=ba(),tr=Ca(),us=xa(),E=F(),I=Le(),bl=Zt(),Ve=B(),er=Xt();function wl(e){if(Ga(e)&&(Ba(e),Va(e))){Rl(e);return}La(e,()=>(0, Ma.topBoolOrEmptySchema)(e));}Qe.validateFunctionCode=wl;function La({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"; ${qa(r,s)}`),$l(e,s),e.code(o);}):e.func(t,(0, E._)`${I.default.data}, ${kl(s)}`,n.$async,()=>e.code(qa(r,s)).code(o));}function kl(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 $l(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 Rl(e){let{schema:t,opts:r,gen:n}=e;La(e,()=>{r.$comment&&t.$comment&&Ua(e),Al(e),n.let(I.default.vErrors,null),n.let(I.default.errors,0),r.unevaluated&&Cl(e),Ka(e),Ol(e);});}function Cl(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 qa(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 El(e,t){if(Ga(e)&&(Ba(e),Va(e))){xl(e,t);return}(0, Ma.boolOrEmptySchema)(e,t);}function Va({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 Ga(e){return typeof e.schema!="boolean"}function xl(e,t){let{schema:r,gen:n,opts:s}=e;s.$comment&&r.$comment&&Ua(e),Il(e),Pl(e);let o=n.const("_errs",I.default.errors);Ka(e,o),n.var(t,(0, E._)`${o} === ${I.default.errors}`);}function Ba(e){(0, Ve.checkUnknownRules)(e),Tl(e);}function Ka(e,t){if(e.opts.jtd)return Da(e,[],false,t);let r=(0, Na.getSchemaTypes)(e.schema),n=(0, Na.coerceAndCheckDataType)(e,r);Da(e,r,!n,t);}function Tl(e){let{schema:t,errSchemaPath:r,opts:n,self:s}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0, Ve.schemaHasRulesButRef)(t,s.RULES)&&s.logger.warn(`$ref: keywords ignored in schema at path "${r}"`);}function Al(e){let{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0, Ve.checkStrictMode)(e,"default is ignored in the schema root");}function Il(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0, bl.resolveUrl)(e.opts.uriResolver,e.baseId,t));}function Pl(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function Ua({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 Ol(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&&jl(e),t.return((0, E._)`${I.default.errors} === 0`));}function jl({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 Da(e,t,r,n){let{gen:s,schema:o,data:a,allErrors:i,opts:u,self:c}=e,{RULES:l}=c;if(o.$ref&&(u.ignoreKeywordsWithRef||!(0, Ve.schemaHasRulesButRef)(o,l))){s.block(()=>Ja(e,"$ref",l.all.$ref.definition));return}u.jtd||Nl(e,t),s.block(()=>{for(let S of l.rules)p(S);p(l.post);});function p(S){(0, cs.shouldUseGroup)(o,S)&&(S.type?(s.if((0, Mr.checkDataType)(S.type,a,u.strictNumbers)),Fa(e,S),t.length===1&&t[0]===S.type&&r&&(s.else(),(0, Mr.reportTypeError)(e)),s.endIf()):Fa(e,S),i||s.if((0, E._)`${I.default.errors} === ${n||0}`));}}function Fa(e,t){let{gen:r,schema:n,opts:{useDefaults:s}}=e;s&&(0, _l.assignDefaults)(e,t.type),r.block(()=>{for(let o of t.rules)(0, cs.shouldUseRule)(n,o)&&Ja(e,o.keyword,o.definition,t.type);});}function Nl(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(ql(e,t),e.opts.allowUnionTypes||Dl(e,t),Fl(e,e.dataTypes));}function ql(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{Ha(e.dataTypes,r)||ds(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`);}),Ll(e,t);}}function Dl(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&ds(e,"use allowUnionTypes to allow union type keyword");}function Fl(e,t){let r=e.self.RULES.all;for(let n in r){let s=r[n];if(typeof s=="object"&&(0, cs.shouldUseRule)(e.schema,s)){let{type:o}=s.definition;o.length&&!o.some(a=>Ml(t,a))&&ds(e,`missing type "${o.join(",")}" for keyword "${n}"`);}}}function Ml(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function Ha(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function Ll(e,t){let r=[];for(let n of e.dataTypes)Ha(t,n)?r.push(n):t.includes("integer")&&n==="number"&&r.push("integer");e.dataTypes=r;}function ds(e,t){let r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0, Ve.checkStrictMode)(e,t,e.opts.strictTypes);}var Lr=class{constructor(t,r,n){if((0, tr.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, Ve.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",za(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0, tr.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?er.reportExtraError:er.reportError)(this,this.def.error,r);}$dataError(){(0, er.reportError)(this,this.def.$dataError||er.keyword$DataError);}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0, er.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, Mr.checkDataTypes)(u,r,o.opts.strictNumbers,Mr.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, us.getSubschema)(this.it,t);(0, us.extendSubschemaData)(n,this.it,t),(0, us.extendSubschemaMode)(n,t);let s={...this.it,...n,items:void 0,props:void 0};return El(s,r),s}mergeEvaluated(t,r){let{it:n,gen:s}=this;n.opts.unevaluated&&(n.props!==true&&t.props!==void 0&&(n.props=Ve.mergeEvaluated.props(s,t.props,n.props,r)),n.items!==true&&t.items!==void 0&&(n.items=Ve.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}};Qe.KeywordCxt=Lr;function Ja(e,t,r,n){let s=new Lr(e,r,t);"code"in r?r.code(s,n):s.$data&&r.validate?(0, tr.funcKeywordCode)(s,r):"macro"in r?(0, tr.macroKeywordCode)(s,r):(r.compile||r.validate)&&(0, tr.funcKeywordCode)(s,r);}var Vl=/^\/(?:[^~]|~0|~1)*$/,Gl=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function za(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let s,o;if(e==="")return I.default.rootData;if(e[0]==="/"){if(!Vl.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);s=e,o=I.default.rootData;}else {let c=Gl.exec(e);if(!c)throw new Error(`Invalid JSON-pointer: ${e}`);let l=+c[1];if(s=c[2],s==="#"){if(l>=t)throw new Error(u("property/index",l));return n[t-l]}if(l>t)throw new Error(u("data",l));if(o=r[t-l],!s)return o}let a=o,i=s.split("/");for(let c of i)c&&(o=(0, E._)`${o}${(0, E.getProperty)((0, Ve.unescapeJsonPointer)(c))}`,a=(0, E._)`${a} && ${o}`);return a;function u(c,l){return `Cannot access ${c} ${l} levels up, current level is ${t}`}}Qe.getData=za;});var Vr=$(fs=>{Object.defineProperty(fs,"__esModule",{value:true});var ls=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=true;}};fs.default=ls;});var nr=$(hs=>{Object.defineProperty(hs,"__esModule",{value:true});var ps=Zt(),ms=class extends Error{constructor(t,r,n,s){super(s||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0, ps.resolveUrl)(t,r,n),this.missingSchema=(0, ps.normalizeId)((0, ps.getFullPath)(t,this.missingRef));}};hs.default=ms;});var Br=$($e=>{Object.defineProperty($e,"__esModule",{value:true});$e.resolveSchema=$e.getCompilingSchema=$e.resolveRef=$e.compileSchema=$e.SchemaEnv=void 0;var Ee=F(),Bl=Vr(),ft=Le(),xe=Zt(),Wa=B(),Kl=rr(),xt=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, xe.normalizeId)(n?.[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=n?.$async,this.refs={};}};$e.SchemaEnv=xt;function ys(e){let t=Ya.call(this,e);if(t)return t;let r=(0, xe.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:s}=this.opts.code,{ownProperties:o}=this.opts,a=new Ee.CodeGen(this.scope,{es5:n,lines:s,ownProperties:o}),i;e.$async&&(i=a.scopeValue("Error",{ref:Bl.default,code:(0, Ee._)`require("ajv/dist/runtime/validation_error").default`}));let u=a.scopeName("validate");e.validateName=u;let c={gen:a,allErrors:this.opts.allErrors,data:ft.default.data,parentData:ft.default.parentData,parentDataProperty:ft.default.parentDataProperty,dataNames:[ft.default.data],dataPathArr:[Ee.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:a.scopeValue("schema",this.opts.code.source===true?{ref:e.schema,code:(0, Ee.stringify)(e.schema)}:{ref:e.schema}),validateName:u,ValidationError:i,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:Ee.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0, Ee._)`""`,opts:this.opts,self:this},l;try{this._compilations.add(e),(0,Kl.validateFunctionCode)(c),a.optimize(this.opts.code.optimize);let p=a.toString();l=`${a.scopeRefs(ft.default.scope)}return ${p}`,this.opts.code.process&&(l=this.opts.code.process(l,e));let h=new Function(`${ft.default.self}`,`${ft.default.scope}`,l)(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:f,items:d}=c;h.evaluated={props:f instanceof Ee.Name?void 0:f,items:d instanceof Ee.Name?void 0:d,dynamicProps:f instanceof Ee.Name,dynamicItems:d instanceof Ee.Name},h.source&&(h.source.evaluated=(0,Ee.stringify)(h.evaluated));}return e.validate=h,e}catch(p){throw delete e.validate,delete e.validateName,l&&this.logger.error("Error compiling schema, function code:",l),p}finally{this._compilations.delete(e);}}$e.compileSchema=ys;function Ul(e,t,r){var n;r=(0, xe.resolveUrl)(this.opts.uriResolver,t,r);let s=e.refs[r];if(s)return s;let o=zl.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 xt({schema:a,schemaId:i,root:e,baseId:t}));}if(o!==void 0)return e.refs[r]=Hl.call(this,o)}$e.resolveRef=Ul;function Hl(e){return (0, xe.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:ys.call(this,e)}function Ya(e){for(let t of this._compilations)if(Jl(t,e))return t}$e.getCompilingSchema=Ya;function Jl(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function zl(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||Gr.call(this,e,t)}function Gr(e,t){let r=this.opts.uriResolver.parse(t),n=(0, xe._getFullPath)(this.opts.uriResolver,r),s=(0, xe.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===s)return gs.call(this,r,e);let o=(0, xe.normalizeId)(n),a=this.refs[o]||this.schemas[o];if(typeof a=="string"){let i=Gr.call(this,e,a);return typeof i?.schema!="object"?void 0:gs.call(this,r,i)}if(typeof a?.schema=="object"){if(a.validate||ys.call(this,a),o===(0, xe.normalizeId)(t)){let{schema:i}=a,{schemaId:u}=this.opts,c=i[u];return c&&(s=(0, xe.resolveUrl)(this.opts.uriResolver,s,c)),new xt({schema:i,schemaId:u,root:e,baseId:s})}return gs.call(this,r,a)}}$e.resolveSchema=Gr;var Wl=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function gs(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, Wa.unescapeFragment)(i)];if(u===void 0)return;r=u;let c=typeof r=="object"&&r[this.opts.schemaId];!Wl.has(i)&&c&&(t=(0, xe.resolveUrl)(this.opts.uriResolver,t,c));}let o;if(typeof r!="boolean"&&r.$ref&&!(0, Wa.schemaHasRulesButRef)(r,this.RULES)){let i=(0, xe.resolveUrl)(this.opts.uriResolver,t,r.$ref);o=Gr.call(this,n,i);}let{schemaId:a}=this.opts;if(o=o||new xt({schema:r,schemaId:a,root:n,baseId:t}),o.schema!==o.root.schema)return o}});var Xa=$((ry,Yl)=>{Yl.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 Ss=$((ny,ti)=>{var Xl=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Za=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 vs(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 Ql=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Qa(e){return e.length=0,true}function Zl(e,t,r){if(e.length){let n=vs(e);if(n!=="")t.push(n);else return r.error=true,false;e.length=0;}return true}function ef(e){let t=0,r={error:false,address:"",zone:""},n=[],s=[],o=false,a=false,i=Zl;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=Qa;}else {s.push(c);continue}}return s.length&&(i===Qa?r.zone=s.join(""):a?n.push(s.join("")):n.push(vs(s))),r.address=n.join(""),r}function ei(e){if(tf(e,":")<2)return {host:e,isIPV6:false};let t=ef(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 tf(e,t){let r=0;for(let n=0;n<e.length;n++)e[n]===t&&r++;return r}function rf(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 nf(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 sf(e){let t=[];if(e.userinfo!==void 0&&(t.push(e.userinfo),t.push("@")),e.host!==void 0){let r=unescape(e.host);if(!Za(r)){let n=ei(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}ti.exports={nonSimpleDomain:Ql,recomposeAuthority:sf,normalizeComponentEncoding:nf,removeDotSegments:rf,isIPv4:Za,isUUID:Xl,normalizeIPv6:ei,stringArrayToHexStripped:vs};});var ai=$((sy,oi)=>{var{isUUID:of}=Ss(),af=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,uf=["http","https","ws","wss","urn","urn:uuid"];function cf(e){return uf.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 ri(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function ni(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 df(e){return e.secure=_s(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function lf(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 ff(e,t){if(!e.path)return e.error="URN can not be parsed",e;let r=e.path.match(af);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=bs(s);e.path=void 0,o&&(e=o.parse(e,t));}else e.error=e.error||"URN can not be parsed.";return e}function pf(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=bs(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 mf(e,t){let r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!of(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function hf(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var si={scheme:"http",domainHost:true,parse:ri,serialize:ni},gf={scheme:"https",domainHost:si.domainHost,parse:ri,serialize:ni},Kr={scheme:"ws",domainHost:true,parse:df,serialize:lf},yf={scheme:"wss",domainHost:Kr.domainHost,parse:Kr.parse,serialize:Kr.serialize},vf={scheme:"urn",parse:ff,serialize:pf,skipNormalize:true},Sf={scheme:"urn:uuid",parse:mf,serialize:hf,skipNormalize:true},Ur={http:si,https:gf,ws:Kr,wss:yf,urn:vf,"urn:uuid":Sf};Object.setPrototypeOf(Ur,null);function bs(e){return e&&(Ur[e]||Ur[e.toLowerCase()])||void 0}oi.exports={wsIsSecure:_s,SCHEMES:Ur,isValidSchemeName:cf,getSchemeHandler:bs};});var ci=$((oy,Jr)=>{var{normalizeIPv6:_f,removeDotSegments:sr,recomposeAuthority:bf,normalizeComponentEncoding:Hr,isIPv4:wf,nonSimpleDomain:kf}=Ss(),{SCHEMES:$f,getSchemeHandler:ii}=ai();function Rf(e,t){return typeof e=="string"?e=Oe(Ge(e,t),t):typeof e=="object"&&(e=Ge(Oe(e,t),t)),e}function Cf(e,t,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},s=ui(Ge(e,n),Ge(t,n),n,true);return n.skipEscape=true,Oe(s,n)}function ui(e,t,r,n){let s={};return n||(e=Ge(Oe(e,r),r),t=Ge(Oe(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=sr(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=sr(t.path||""),s.query=t.query):(t.path?(t.path[0]==="/"?s.path=sr(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=sr(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 Ef(e,t,r){return typeof e=="string"?(e=unescape(e),e=Oe(Hr(Ge(e,r),true),{...r,skipEscape:true})):typeof e=="object"&&(e=Oe(Hr(e,true),{...r,skipEscape:true})),typeof t=="string"?(t=unescape(t),t=Oe(Hr(Ge(t,r),true),{...r,skipEscape:true})):typeof t=="object"&&(t=Oe(Hr(t,true),{...r,skipEscape:true})),e.toLowerCase()===t.toLowerCase()}function Oe(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=ii(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=bf(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=sr(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 xf=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Ge(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(xf);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(wf(n.host)===false){let u=_f(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=ii(r.scheme||n.scheme);if(!r.unicodeSupport&&(!a||!a.unicodeSupport)&&n.host&&(r.domainHost||a&&a.domainHost)&&s===false&&kf(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 ws={SCHEMES:$f,normalize:Rf,resolve:Cf,resolveComponent:ui,equal:Ef,serialize:Oe,parse:Ge};Jr.exports=ws;Jr.exports.default=ws;Jr.exports.fastUri=ws;});var li=$(ks=>{Object.defineProperty(ks,"__esModule",{value:true});var di=ci();di.code='require("ajv/dist/runtime/uri").default';ks.default=di;});var Si=$(ae=>{Object.defineProperty(ae,"__esModule",{value:true});ae.CodeGen=ae.Name=ae.nil=ae.stringify=ae.str=ae._=ae.KeywordCxt=void 0;var Tf=rr();Object.defineProperty(ae,"KeywordCxt",{enumerable:true,get:function(){return Tf.KeywordCxt}});var Tt=F();Object.defineProperty(ae,"_",{enumerable:true,get:function(){return Tt._}});Object.defineProperty(ae,"str",{enumerable:true,get:function(){return Tt.str}});Object.defineProperty(ae,"stringify",{enumerable:true,get:function(){return Tt.stringify}});Object.defineProperty(ae,"nil",{enumerable:true,get:function(){return Tt.nil}});Object.defineProperty(ae,"Name",{enumerable:true,get:function(){return Tt.Name}});Object.defineProperty(ae,"CodeGen",{enumerable:true,get:function(){return Tt.CodeGen}});var Af=Vr(),gi=nr(),If=Qn(),or=Br(),Pf=F(),ar=Zt(),zr=Qt(),Rs=B(),fi=Xa(),Of=li(),yi=(e,t)=>new RegExp(e,t);yi.code="new RegExp";var jf=["removeAdditional","useDefaults","coerceTypes"],Nf=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),qf={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},Df={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},pi=200;function Ff(e){var t,r,n,s,o,a,i,u,c,l,p,S,h,f,d,m,v,y,_,k,w,A,R,O,H;let q=e.strict,Q=(t=e.code)===null||t===void 0?void 0:t.optimize,re=Q===true||Q===void 0?1:Q||0,oe=(n=(r=e.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:yi,Be=(s=e.uriResolver)!==null&&s!==void 0?s:Of.default;return {strictSchema:(a=(o=e.strictSchema)!==null&&o!==void 0?o:q)!==null&&a!==void 0?a:true,strictNumbers:(u=(i=e.strictNumbers)!==null&&i!==void 0?i:q)!==null&&u!==void 0?u:true,strictTypes:(l=(c=e.strictTypes)!==null&&c!==void 0?c:q)!==null&&l!==void 0?l:"log",strictTuples:(S=(p=e.strictTuples)!==null&&p!==void 0?p:q)!==null&&S!==void 0?S:"log",strictRequired:(f=(h=e.strictRequired)!==null&&h!==void 0?h:q)!==null&&f!==void 0?f:false,code:e.code?{...e.code,optimize:re,regExp:oe}:{optimize:re,regExp:oe},loopRequired:(d=e.loopRequired)!==null&&d!==void 0?d:pi,loopEnum:(m=e.loopEnum)!==null&&m!==void 0?m:pi,meta:(v=e.meta)!==null&&v!==void 0?v:true,messages:(y=e.messages)!==null&&y!==void 0?y:true,inlineRefs:(_=e.inlineRefs)!==null&&_!==void 0?_:true,schemaId:(k=e.schemaId)!==null&&k!==void 0?k:"$id",addUsedSchema:(w=e.addUsedSchema)!==null&&w!==void 0?w:true,validateSchema:(A=e.validateSchema)!==null&&A!==void 0?A:true,validateFormats:(R=e.validateFormats)!==null&&R!==void 0?R:true,unicodeRegExp:(O=e.unicodeRegExp)!==null&&O!==void 0?O:true,int32range:(H=e.int32range)!==null&&H!==void 0?H:true,uriResolver:Be}}var ir=class{constructor(t={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,t=this.opts={...t,...Ff(t)};let{es5:r,lines:n}=this.opts.code;this.scope=new Pf.ValueScope({scope:{},prefixes:Nf,es5:r,lines:n}),this.logger=Kf(t.logger);let s=t.validateFormats;t.validateFormats=false,this.RULES=(0, If.getRules)(),mi.call(this,qf,t,"NOT SUPPORTED"),mi.call(this,Df,t,"DEPRECATED","warn"),this._metaOpts=Gf.call(this),t.formats&&Lf.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),t.keywords&&Vf.call(this,t.keywords),typeof t.meta=="object"&&this.addMetaSchema(t.meta),Mf.call(this),t.validateFormats=s;}_addVocabularies(){this.addKeyword("$async");}_addDefaultMetaSchema(){let{$data:t,meta:r,schemaId:n}=this.opts,s=fi;n==="id"&&(s={...fi},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(l,p){await o.call(this,l.$schema);let S=this._addSchema(l,p);return S.validate||a.call(this,S)}async function o(l){l&&!this.getSchema(l)&&await s.call(this,{$ref:l},true);}async function a(l){try{return this._compileSchemaEnv(l)}catch(p){if(!(p instanceof gi.default))throw p;return i.call(this,p),await u.call(this,p.missingSchema),a.call(this,l)}}function i({missingSchema:l,missingRef:p}){if(this.refs[l])throw new Error(`AnySchema ${l} is loaded but ${p} cannot be resolved`)}async function u(l){let p=await c.call(this,l);this.refs[l]||await o.call(this,p.$schema),this.refs[l]||this.addSchema(p,l,r);}async function c(l){let p=this._loading[l];if(p)return p;try{return await(this._loading[l]=n(l))}finally{delete this._loading[l];}}}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, ar.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=hi.call(this,t))=="string";)t=r;if(r===void 0){let{schemaId:n}=this.opts,s=new or.SchemaEnv({schema:{},schemaId:n});if(r=or.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=hi.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, ar.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(Hf.call(this,n,r),!r)return (0, Rs.eachItem)(n,o=>$s.call(this,o)),this;zf.call(this,r);let s={...r,type:(0, zr.getJSONTypes)(r.type),schemaType:(0, zr.getJSONTypes)(r.schemaType)};return (0, Rs.eachItem)(n,s.type.length===0?o=>$s.call(this,o,s):o=>s.type.forEach(a=>$s.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,l=a[i];c&&l&&(a[i]=vi(l));}}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, ar.normalizeId)(a||n);let c=ar.getSchemaRefs.call(this,t,n);return u=new or.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):or.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{or.compileSchema.call(this,t);}finally{this.opts=r;}}};ir.ValidationError=Af.default;ir.MissingRefError=gi.default;ae.default=ir;function mi(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 hi(e){return e=(0, ar.normalizeId)(e),this.schemas[e]||this.refs[e]}function Mf(){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 Lf(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t);}}function Vf(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 Gf(){let e={...this.opts};for(let t of jf)delete e[t];return e}var Bf={log(){},warn(){},error(){}};function Kf(e){if(e===false)return Bf;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 Uf=/^[a-z_$][a-z0-9_$:-]*$/i;function Hf(e,t){let{RULES:r}=this;if((0, Rs.eachItem)(e,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!Uf.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 $s(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, zr.getJSONTypes)(t.type),schemaType:(0, zr.getJSONTypes)(t.schemaType)}};t.before?Jf.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 Jf(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 zf(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=vi(t)),e.validateSchema=this.compile(t,true));}var Wf={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function vi(e){return {anyOf:[e,Wf]}}});var _i=$(Cs=>{Object.defineProperty(Cs,"__esModule",{value:true});var Yf={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Cs.default=Yf;});var $i=$(pt=>{Object.defineProperty(pt,"__esModule",{value:true});pt.callRef=pt.getValidate=void 0;var Xf=nr(),bi=ke(),ve=F(),At=Le(),wi=Br(),Wr=B(),Qf={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 l=wi.resolveRef.call(u,c,s,r);if(l===void 0)throw new Xf.default(n.opts.uriResolver,s,r);if(l instanceof wi.SchemaEnv)return S(l);return h(l);function p(){if(o===c)return Yr(e,a,o,o.$async);let f=t.scopeValue("root",{ref:c});return Yr(e,(0, ve._)`${f}.validate`,c,c.$async)}function S(f){let d=ki(e,f);Yr(e,d,f,f.$async);}function h(f){let d=t.scopeValue("schema",i.code.source===true?{ref:f,code:(0, ve.stringify)(f)}:{ref:f}),m=t.name("valid"),v=e.subschema({schema:f,dataTypes:[],schemaPath:ve.nil,topSchemaRef:d,errSchemaPath:r},m);e.mergeEvaluated(v),e.ok(m);}}};function ki(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0, ve._)`${r.scopeValue("wrapper",{ref:t})}.validate`}pt.getValidate=ki;function Yr(e,t,r,n){let{gen:s,it:o}=e,{allErrors:a,schemaEnv:i,opts:u}=o,c=u.passContext?At.default.this:ve.nil;n?l():p();function l(){if(!i.$async)throw new Error("async schema referenced by sync schema");let f=s.let("valid");s.try(()=>{s.code((0, ve._)`await ${(0, bi.callValidateCode)(e,t,c)}`),h(t),a||s.assign(f,true);},d=>{s.if((0, ve._)`!(${d} instanceof ${o.ValidationError})`,()=>s.throw(d)),S(d),a||s.assign(f,false);}),e.ok(f);}function p(){e.result((0, bi.callValidateCode)(e,t,c),()=>h(t),()=>S(t));}function S(f){let d=(0, ve._)`${f}.errors`;s.assign(At.default.vErrors,(0, ve._)`${At.default.vErrors} === null ? ${d} : ${At.default.vErrors}.concat(${d})`),s.assign(At.default.errors,(0, ve._)`${At.default.vErrors}.length`);}function h(f){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=Wr.mergeEvaluated.props(s,m.props,o.props));else {let v=s.var("props",(0, ve._)`${f}.evaluated.props`);o.props=Wr.mergeEvaluated.props(s,v,o.props,ve.Name);}if(o.items!==true)if(m&&!m.dynamicItems)m.items!==void 0&&(o.items=Wr.mergeEvaluated.items(s,m.items,o.items));else {let v=s.var("items",(0, ve._)`${f}.evaluated.items`);o.items=Wr.mergeEvaluated.items(s,v,o.items,ve.Name);}}}pt.callRef=Yr;pt.default=Qf;});var Ri=$(Es=>{Object.defineProperty(Es,"__esModule",{value:true});var Zf=_i(),ep=$i(),tp=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",Zf.default,ep.default];Es.default=tp;});var Ci=$(xs=>{Object.defineProperty(xs,"__esModule",{value:true});var Xr=F(),Ze=Xr.operators,Qr={maximum:{okStr:"<=",ok:Ze.LTE,fail:Ze.GT},minimum:{okStr:">=",ok:Ze.GTE,fail:Ze.LT},exclusiveMaximum:{okStr:"<",ok:Ze.LT,fail:Ze.GTE},exclusiveMinimum:{okStr:">",ok:Ze.GT,fail:Ze.LTE}},rp={message:({keyword:e,schemaCode:t})=>(0, Xr.str)`must be ${Qr[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0, Xr._)`{comparison: ${Qr[e].okStr}, limit: ${t}}`},np={keyword:Object.keys(Qr),type:"number",schemaType:"number",$data:true,error:rp,code(e){let{keyword:t,data:r,schemaCode:n}=e;e.fail$data((0, Xr._)`${r} ${Qr[t].fail} ${n} || isNaN(${r})`);}};xs.default=np;});var Ei=$(Ts=>{Object.defineProperty(Ts,"__esModule",{value:true});var ur=F(),sp={message:({schemaCode:e})=>(0, ur.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0, ur._)`{multipleOf: ${e}}`},op={keyword:"multipleOf",type:"number",schemaType:"number",$data:true,error:sp,code(e){let{gen:t,data:r,schemaCode:n,it:s}=e,o=s.opts.multipleOfPrecision,a=t.let("res"),i=o?(0, ur._)`Math.abs(Math.round(${a}) - ${a}) > 1e-${o}`:(0, ur._)`${a} !== parseInt(${a})`;e.fail$data((0, ur._)`(${n} === 0 || (${a} = ${r}/${n}, ${i}))`);}};Ts.default=op;});var Ti=$(As=>{Object.defineProperty(As,"__esModule",{value:true});function xi(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}As.default=xi;xi.code='require("ajv/dist/runtime/ucs2length").default';});var Ai=$(Is=>{Object.defineProperty(Is,"__esModule",{value:true});var mt=F(),ap=B(),ip=Ti(),up={message({keyword:e,schemaCode:t}){let r=e==="maxLength"?"more":"fewer";return (0, mt.str)`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>(0, mt._)`{limit: ${e}}`},cp={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:true,error:up,code(e){let{keyword:t,data:r,schemaCode:n,it:s}=e,o=t==="maxLength"?mt.operators.GT:mt.operators.LT,a=s.opts.unicode===false?(0, mt._)`${r}.length`:(0, mt._)`${(0, ap.useFunc)(e.gen,ip.default)}(${r})`;e.fail$data((0, mt._)`${a} ${o} ${n}`);}};Is.default=cp;});var Ii=$(Ps=>{Object.defineProperty(Ps,"__esModule",{value:true});var dp=ke(),lp=B(),It=F(),fp={message:({schemaCode:e})=>(0, It.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0, It._)`{pattern: ${e}}`},pp={keyword:"pattern",type:"string",schemaType:"string",$data:true,error:fp,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, It._)`new RegExp`:(0, lp.useFunc)(t,u),l=t.let("valid");t.try(()=>t.assign(l,(0, It._)`${c}(${o}, ${i}).test(${r})`),()=>t.assign(l,false)),e.fail$data((0, It._)`!${l}`);}else {let u=(0, dp.usePattern)(e,s);e.fail$data((0, It._)`!${u}.test(${r})`);}}};Ps.default=pp;});var Pi=$(Os=>{Object.defineProperty(Os,"__esModule",{value:true});var cr=F(),mp={message({keyword:e,schemaCode:t}){let r=e==="maxProperties"?"more":"fewer";return (0, cr.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0, cr._)`{limit: ${e}}`},hp={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:true,error:mp,code(e){let{keyword:t,data:r,schemaCode:n}=e,s=t==="maxProperties"?cr.operators.GT:cr.operators.LT;e.fail$data((0, cr._)`Object.keys(${r}).length ${s} ${n}`);}};Os.default=hp;});var Oi=$(js=>{Object.defineProperty(js,"__esModule",{value:true});var dr=ke(),lr=F(),gp=B(),yp={message:({params:{missingProperty:e}})=>(0, lr.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0, lr._)`{missingProperty: ${e}}`},vp={keyword:"required",type:"object",schemaType:"array",$data:true,error:yp,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():l(),i.strictRequired){let h=e.parentSchema.properties,{definedProperties:f}=e.it;for(let d of r)if(h?.[d]===void 0&&!f.has(d)){let m=a.schemaEnv.baseId+a.errSchemaPath,v=`required property "${d}" is not defined at "${m}" (strictRequired)`;(0, gp.checkStrictMode)(a,v,a.opts.strictRequired);}}function c(){if(u||o)e.block$data(lr.nil,p);else for(let h of r)(0, dr.checkReportMissingProp)(e,h);}function l(){let h=t.let("missing");if(u||o){let f=t.let("valid",true);e.block$data(f,()=>S(h,f)),e.ok(f);}else t.if((0, dr.checkMissingProp)(e,r,h)),(0, dr.reportMissingProp)(e,h),t.else();}function p(){t.forOf("prop",n,h=>{e.setParams({missingProperty:h}),t.if((0, dr.noPropertyInData)(t,s,h,i.ownProperties),()=>e.error());});}function S(h,f){e.setParams({missingProperty:h}),t.forOf(h,n,()=>{t.assign(f,(0, dr.propertyInData)(t,s,h,i.ownProperties)),t.if((0, lr.not)(f),()=>{e.error(),t.break();});},lr.nil);}}};js.default=vp;});var ji=$(Ns=>{Object.defineProperty(Ns,"__esModule",{value:true});var fr=F(),Sp={message({keyword:e,schemaCode:t}){let r=e==="maxItems"?"more":"fewer";return (0, fr.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0, fr._)`{limit: ${e}}`},_p={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:true,error:Sp,code(e){let{keyword:t,data:r,schemaCode:n}=e,s=t==="maxItems"?fr.operators.GT:fr.operators.LT;e.fail$data((0, fr._)`${r}.length ${s} ${n}`);}};Ns.default=_p;});var Zr=$(qs=>{Object.defineProperty(qs,"__esModule",{value:true});var Ni=as();Ni.code='require("ajv/dist/runtime/equal").default';qs.default=Ni;});var qi=$(Fs=>{Object.defineProperty(Fs,"__esModule",{value:true});var Ds=Qt(),ie=F(),bp=B(),wp=Zr(),kp={message:({params:{i:e,j:t}})=>(0, ie.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0, ie._)`{i: ${e}, j: ${t}}`},$p={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:true,error:kp,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, Ds.getSchemaTypes)(o.items):[];e.block$data(u,l,(0, ie._)`${a} === false`),e.ok(u);function l(){let f=t.let("i",(0, ie._)`${r}.length`),d=t.let("j");e.setParams({i:f,j:d}),t.assign(u,true),t.if((0, ie._)`${f} > 1`,()=>(p()?S:h)(f,d));}function p(){return c.length>0&&!c.some(f=>f==="object"||f==="array")}function S(f,d){let m=t.name("item"),v=(0, Ds.checkDataTypes)(c,m,i.opts.strictNumbers,Ds.DataType.Wrong),y=t.const("indices",(0, ie._)`{}`);t.for((0, ie._)`;${f}--;`,()=>{t.let(m,(0, ie._)`${r}[${f}]`),t.if(v,(0, ie._)`continue`),c.length>1&&t.if((0, ie._)`typeof ${m} == "string"`,(0, ie._)`${m} += "_"`),t.if((0, ie._)`typeof ${y}[${m}] == "number"`,()=>{t.assign(d,(0, ie._)`${y}[${m}]`),e.error(),t.assign(u,false).break();}).code((0, ie._)`${y}[${m}] = ${f}`);});}function h(f,d){let m=(0, bp.useFunc)(t,wp.default),v=t.name("outer");t.label(v).for((0, ie._)`;${f}--;`,()=>t.for((0, ie._)`${d} = ${f}; ${d}--;`,()=>t.if((0, ie._)`${m}(${r}[${f}], ${r}[${d}])`,()=>{e.error(),t.assign(u,false).break(v);})));}}};Fs.default=$p;});var Di=$(Ls=>{Object.defineProperty(Ls,"__esModule",{value:true});var Ms=F(),Rp=B(),Cp=Zr(),Ep={message:"must be equal to constant",params:({schemaCode:e})=>(0, Ms._)`{allowedValue: ${e}}`},xp={keyword:"const",$data:true,error:Ep,code(e){let{gen:t,data:r,$data:n,schemaCode:s,schema:o}=e;n||o&&typeof o=="object"?e.fail$data((0, Ms._)`!${(0, Rp.useFunc)(t,Cp.default)}(${r}, ${s})`):e.fail((0, Ms._)`${o} !== ${r}`);}};Ls.default=xp;});var Fi=$(Vs=>{Object.defineProperty(Vs,"__esModule",{value:true});var pr=F(),Tp=B(),Ap=Zr(),Ip={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0, pr._)`{allowedValues: ${e}}`},Pp={keyword:"enum",schemaType:"array",$data:true,error:Ip,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, Tp.useFunc)(t,Ap.default)),l;if(i||n)l=t.let("valid"),e.block$data(l,p);else {if(!Array.isArray(s))throw new Error("ajv implementation error");let h=t.const("vSchema",o);l=(0, pr.or)(...s.map((f,d)=>S(h,d)));}e.pass(l);function p(){t.assign(l,false),t.forOf("v",o,h=>t.if((0, pr._)`${c()}(${r}, ${h})`,()=>t.assign(l,true).break()));}function S(h,f){let d=s[f];return typeof d=="object"&&d!==null?(0, pr._)`${c()}(${r}, ${h}[${f}])`:(0, pr._)`${r} === ${d}`}}};Vs.default=Pp;});var Mi=$(Gs=>{Object.defineProperty(Gs,"__esModule",{value:true});var Op=Ci(),jp=Ei(),Np=Ai(),qp=Ii(),Dp=Pi(),Fp=Oi(),Mp=ji(),Lp=qi(),Vp=Di(),Gp=Fi(),Bp=[Op.default,jp.default,Np.default,qp.default,Dp.default,Fp.default,Mp.default,Lp.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},Vp.default,Gp.default];Gs.default=Bp;});var Ks=$(mr=>{Object.defineProperty(mr,"__esModule",{value:true});mr.validateAdditionalItems=void 0;var ht=F(),Bs=B(),Kp={message:({params:{len:e}})=>(0, ht.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0, ht._)`{limit: ${e}}`},Up={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:Kp,code(e){let{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){(0, Bs.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}Li(e,n);}};function Li(e,t){let{gen:r,schema:n,data:s,keyword:o,it:a}=e;a.items=true;let i=r.const("len",(0, ht._)`${s}.length`);if(n===false)e.setParams({len:t.length}),e.pass((0, ht._)`${i} <= ${t.length}`);else if(typeof n=="object"&&!(0, Bs.alwaysValidSchema)(a,n)){let c=r.var("valid",(0, ht._)`${i} <= ${t.length}`);r.if((0, ht.not)(c),()=>u(c)),e.ok(c);}function u(c){r.forRange("i",t.length,i,l=>{e.subschema({keyword:o,dataProp:l,dataPropType:Bs.Type.Num},c),a.allErrors||r.if((0, ht.not)(c),()=>r.break());});}}mr.validateAdditionalItems=Li;mr.default=Up;});var Us=$(hr=>{Object.defineProperty(hr,"__esModule",{value:true});hr.validateTuple=void 0;var Vi=F(),en=B(),Hp=ke(),Jp={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return Gi(e,"additionalItems",t);r.items=true,!(0, en.alwaysValidSchema)(r,t)&&e.ok((0, Hp.validateArray)(e));}};function Gi(e,t,r=e.schema){let{gen:n,parentSchema:s,data:o,keyword:a,it:i}=e;l(s),i.opts.unevaluated&&r.length&&i.items!==true&&(i.items=en.mergeEvaluated.items(n,r.length,i.items));let u=n.name("valid"),c=n.const("len",(0, Vi._)`${o}.length`);r.forEach((p,S)=>{(0, en.alwaysValidSchema)(i,p)||(n.if((0, Vi._)`${c} > ${S}`,()=>e.subschema({keyword:a,schemaProp:S,dataProp:S},u)),e.ok(u));});function l(p){let{opts:S,errSchemaPath:h}=i,f=r.length,d=f===p.minItems&&(f===p.maxItems||p[t]===false);if(S.strictTuples&&!d){let m=`"${a}" is ${f}-tuple, but minItems or maxItems/${t} are not specified or different at path "${h}"`;(0, en.checkStrictMode)(i,m,S.strictTuples);}}}hr.validateTuple=Gi;hr.default=Jp;});var Bi=$(Hs=>{Object.defineProperty(Hs,"__esModule",{value:true});var zp=Us(),Wp={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0, zp.validateTuple)(e,"items")};Hs.default=Wp;});var Ui=$(Js=>{Object.defineProperty(Js,"__esModule",{value:true});var Ki=F(),Yp=B(),Xp=ke(),Qp=Ks(),Zp={message:({params:{len:e}})=>(0, Ki.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0, Ki._)`{limit: ${e}}`},em={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:Zp,code(e){let{schema:t,parentSchema:r,it:n}=e,{prefixItems:s}=r;n.items=true,!(0, Yp.alwaysValidSchema)(n,t)&&(s?(0, Qp.validateAdditionalItems)(e,s):e.ok((0, Xp.validateArray)(e)));}};Js.default=em;});var Hi=$(zs=>{Object.defineProperty(zs,"__esModule",{value:true});var Re=F(),tn=B(),tm={message:({params:{min:e,max:t}})=>t===void 0?(0, Re.str)`must contain at least ${e} valid item(s)`:(0, Re.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0, Re._)`{minContains: ${e}}`:(0, Re._)`{minContains: ${e}, maxContains: ${t}}`},rm={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:true,error:tm,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 l=t.const("len",(0, Re._)`${s}.length`);if(e.setParams({min:a,max:i}),i===void 0&&a===0){(0, tn.checkStrictMode)(o,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(i!==void 0&&a>i){(0, tn.checkStrictMode)(o,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0, tn.alwaysValidSchema)(o,r)){let d=(0, Re._)`${l} >= ${a}`;i!==void 0&&(d=(0, Re._)`${d} && ${l} <= ${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, Re._)`${s}.length > 0`,S)):(t.let(p,false),S()),e.result(p,()=>e.reset());function S(){let d=t.name("_valid"),m=t.let("count",0);h(d,()=>t.if(d,()=>f(m)));}function h(d,m){t.forRange("i",0,l,v=>{e.subschema({keyword:"contains",dataProp:v,dataPropType:tn.Type.Num,compositeRule:true},d),m();});}function f(d){t.code((0, Re._)`${d}++`),i===void 0?t.if((0, Re._)`${d} >= ${a}`,()=>t.assign(p,true).break()):(t.if((0, Re._)`${d} > ${i}`,()=>t.assign(p,false).break()),a===1?t.assign(p,true):t.if((0, Re._)`${d} >= ${a}`,()=>t.assign(p,true)));}}};zs.default=rm;});var Wi=$(je=>{Object.defineProperty(je,"__esModule",{value:true});je.validateSchemaDeps=je.validatePropertyDeps=je.error=void 0;var Ws=F(),nm=B(),gr=ke();je.error={message:({params:{property:e,depsCount:t,deps:r}})=>{let n=t===1?"property":"properties";return (0, Ws.str)`must have ${n} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:r,missingProperty:n}})=>(0, Ws._)`{property: ${e},
5
+ || ${a} === "boolean" || ${s} === null`).assign(i,(0, N._)`[${s}]`);}}}function zd({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)}}pe.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}pe.checkDataTypes=ss;var Wd={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=Yd(e);(0, Gd.reportError)(t,Wd);}pe.reportTypeError=os;function Yd(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 Ra=$(Mr=>{Object.defineProperty(Mr,"__esModule",{value:true});Mr.assignDefaults=void 0;var xt=L(),Xd=K();function Qd(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));}Mr.assignDefaults=Qd;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, Xd.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 Ce=$(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(),Zd=K();function el(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=el;function tl({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=tl;function rl(e,t){e.setParams({missingProperty:t},true),e.error();}W.reportMissingProp=rl;function Ca(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0, Q._)`Object.prototype.hasOwnProperty`})}W.hasPropFunc=Ca;function is(e,t,r){return (0, Q._)`${Ca(e)}.call(${t}, ${r})`}W.isOwnProperty=is;function nl(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=nl;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 Ea(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}W.allSchemaProperties=Ea;function sl(e,t){return Ea(t).filter(r=>!(0, as.alwaysValidSchema)(e,t[r]))}W.schemaProperties=sl;function ol({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=ol;var al=(0, Q._)`new RegExp`;function il({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"?al:(0, Zd.useFunc)(e,s)}(${r}, ${n})`})}W.usePattern=il;function ul(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=ul;function cl(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=cl;});var Aa=$(Ne=>{Object.defineProperty(Ne,"__esModule",{value:true});Ne.validateKeywordUsage=Ne.validSchemaType=Ne.funcKeywordCode=Ne.macroKeywordCode=void 0;var ge=L(),pt=Be(),dl=Ce(),ll=Qt();function fl(e,t){let{gen:r,keyword:n,schema:s,parentSchema:o,it:a}=e,i=t.macro.call(a.self,s,o,a),u=Ta(r,n,i);a.opts.validateSchema!==false&&a.self.validateSchema(i,true);let c=r.name("valid");e.subschema({schema:i,schemaPath:ge.nil,errSchemaPath:`${a.errSchemaPath}/${n}`,topSchemaRef:u,compositeRule:true},c),e.pass(c,()=>e.error(true));}Ne.macroKeywordCode=fl;function pl(e,t){var r;let{gen:n,keyword:s,schema:o,parentSchema:a,$data:i,it:u}=e;hl(u,t);let c=!i&&t.compile?t.compile.call(u.self,o,a,u):t.validate,f=Ta(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&&xa(e),m(()=>e.error());else {let v=t.async?h():l();t.modifying&&xa(e),m(()=>ml(e,v));}}function h(){let v=n.let("ruleErrs",null);return n.try(()=>d((0, ge._)`await `),g=>n.assign(p,false).if((0, ge._)`${g} instanceof ${u.ValidationError}`,()=>n.assign(v,(0, ge._)`${g}.errors`),()=>n.throw(g))),v}function l(){let v=(0, ge._)`${f}.errors`;return n.assign(v,null),d(ge.nil),v}function d(v=t.async?(0, ge._)`await `:ge.nil){let g=u.opts.passContext?pt.default.this:pt.default.self,b=!("compile"in t&&!i||t.schema===false);n.assign(p,(0, ge._)`${v}${(0, dl.callValidateCode)(e,f,g,b)}`,t.modifying);}function m(v){var g;n.if((0, ge.not)((g=t.valid)!==null&&g!==void 0?g:p),v);}}Ne.funcKeywordCode=pl;function xa(e){let{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,(0, ge._)`${n.parentData}[${n.parentDataProperty}]`));}function ml(e,t){let{gen:r}=e;r.if((0, ge._)`Array.isArray(${t})`,()=>{r.assign(pt.default.vErrors,(0, ge._)`${pt.default.vErrors} === null ? ${t} : ${pt.default.vErrors}.concat(${t})`).assign(pt.default.errors,(0, ge._)`${pt.default.vErrors}.length`),(0, ll.extendErrors)(e);},()=>e.error());}function hl({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function Ta(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, ge.stringify)(r)})}function gl(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")}Ne.validSchemaType=gl;function yl({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)}}Ne.validateKeywordUsage=yl;});var Pa=$(Xe=>{Object.defineProperty(Xe,"__esModule",{value:true});Xe.extendSubschemaMode=Xe.extendSubschemaData=Xe.getSubschema=void 0;var qe=L(),Ia=K();function vl(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, qe._)`${e.schemaPath}${(0, qe.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:i[r],schemaPath:(0, qe._)`${e.schemaPath}${(0, qe.getProperty)(t)}${(0, qe.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0, Ia.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=vl;function Sl(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, qe._)`${t.data}${(0, qe.getProperty)(r)}`,true);u(y),e.errorPath=(0, qe.str)`${c}${(0, Ia.getErrorPath)(r,n,p.jsPropertySyntax)}`,e.parentDataProperty=(0, qe._)`${r}`,e.dataPathArr=[...f,e.parentDataProperty];}if(s!==void 0){let c=s instanceof qe.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=Sl;function bl(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=bl;});var cs=$((my,Oa)=>{Oa.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 Na=$((hy,ja)=>{var Qe=ja.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(){};Lr(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 Lr(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++)Lr(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)Lr(e,t,r,p[h],s+"/"+f+"/"+wl(h),o,s,f,n,h);}else (f in Qe.keywords||e.allKeys&&!(f in Qe.skipKeywords))&&Lr(e,t,r,p,s+"/"+f,o,s,f,n);}r(n,s,o,a,i,u,c);}}function wl(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}});var er=$(Se=>{Object.defineProperty(Se,"__esModule",{value:true});Se.getSchemaRefs=Se.resolveUrl=Se.normalizeId=Se._getFullPath=Se.getFullPath=Se.inlineRef=void 0;var kl=K(),_l=cs(),$l=Na(),Rl=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function Cl(e,t=true){return typeof e=="boolean"?true:t===true?!ds(e):t?qa(e)<=t:false}Se.inlineRef=Cl;var El=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function ds(e){for(let t in e){if(El.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 qa(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,!Rl.has(r)&&(typeof e[r]=="object"&&(0, kl.eachItem)(e[r],n=>t+=qa(n)),t===1/0))return 1/0}return t}function Da(e,t="",r){r!==false&&(t=Tt(t));let n=e.parse(t);return Fa(e,n)}Se.getFullPath=Da;function Fa(e,t){return e.serialize(t).split("#")[0]+"#"}Se._getFullPath=Fa;var xl=/#\/?$/;function Tt(e){return e?e.replace(xl,""):""}Se.normalizeId=Tt;function Tl(e,t,r){return r=Tt(r),e.resolve(t,r)}Se.resolveUrl=Tl;var Al=/^[a-z_][-a-z0-9._]*$/i;function Il(e,t){if(typeof e=="boolean")return {};let{schemaId:r,uriResolver:n}=this.opts,s=Tt(e[r]||t),o={"":s},a=Da(n,s,false),i={},u=new Set;return $l(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(b){let _=this.opts.uriResolver.resolve;if(b=Tt(m?_(m,b):b),u.has(b))throw f(b);u.add(b);let w=this.refs[b];return typeof w=="string"&&(w=this.refs[w]),typeof w=="object"?c(p,w.schema,b):b!==Tt(d)&&(b[0]==="#"?(c(p,i[b],b),i[b]=p):this.refs[b]=d),b}function g(b){if(typeof b=="string"){if(!Al.test(b))throw new Error(`invalid anchor "${b}"`);v.call(this,`#${b}`);}}}),i;function c(p,y,h){if(y!==void 0&&!_l(p,y))throw f(h)}function f(p){return new Error(`reference "${p}" resolves to more than one schema`)}}Se.getSchemaRefs=Il;});var nr=$(Ze=>{Object.defineProperty(Ze,"__esModule",{value:true});Ze.getData=Ze.KeywordCxt=Ze.validateFunctionCode=void 0;var Ga=va(),Ma=Zt(),fs=rs(),Vr=Zt(),Pl=Ra(),rr=Aa(),ls=Pa(),E=L(),P=Be(),Ol=er(),Ge=K(),tr=Qt();function jl(e){if(Ja(e)&&(Ha(e),Ua(e))){Dl(e);return}Ka(e,()=>(0, Ga.topBoolOrEmptySchema)(e));}Ze.validateFunctionCode=jl;function Ka({gen:e,validateName:t,schema:r,schemaEnv:n,opts:s},o){s.code.es5?e.func(t,(0, E._)`${P.default.data}, ${P.default.valCxt}`,n.$async,()=>{e.code((0, E._)`"use strict"; ${La(r,s)}`),ql(e,s),e.code(o);}):e.func(t,(0, E._)`${P.default.data}, ${Nl(s)}`,n.$async,()=>e.code(La(r,s)).code(o));}function Nl(e){return (0, E._)`{${P.default.instancePath}="", ${P.default.parentData}, ${P.default.parentDataProperty}, ${P.default.rootData}=${P.default.data}${e.dynamicRef?(0, E._)`, ${P.default.dynamicAnchors}={}`:E.nil}}={}`}function ql(e,t){e.if(P.default.valCxt,()=>{e.var(P.default.instancePath,(0, E._)`${P.default.valCxt}.${P.default.instancePath}`),e.var(P.default.parentData,(0, E._)`${P.default.valCxt}.${P.default.parentData}`),e.var(P.default.parentDataProperty,(0, E._)`${P.default.valCxt}.${P.default.parentDataProperty}`),e.var(P.default.rootData,(0, E._)`${P.default.valCxt}.${P.default.rootData}`),t.dynamicRef&&e.var(P.default.dynamicAnchors,(0, E._)`${P.default.valCxt}.${P.default.dynamicAnchors}`);},()=>{e.var(P.default.instancePath,(0, E._)`""`),e.var(P.default.parentData,(0, E._)`undefined`),e.var(P.default.parentDataProperty,(0, E._)`undefined`),e.var(P.default.rootData,P.default.data),t.dynamicRef&&e.var(P.default.dynamicAnchors,(0, E._)`{}`);});}function Dl(e){let{schema:t,opts:r,gen:n}=e;Ka(e,()=>{r.$comment&&t.$comment&&Wa(e),Bl(e),n.let(P.default.vErrors,null),n.let(P.default.errors,0),r.unevaluated&&Fl(e),za(e),Ul(e);});}function Fl(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 La(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 Ml(e,t){if(Ja(e)&&(Ha(e),Ua(e))){Ll(e,t);return}(0, Ga.boolOrEmptySchema)(e,t);}function Ua({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 Ja(e){return typeof e.schema!="boolean"}function Ll(e,t){let{schema:r,gen:n,opts:s}=e;s.$comment&&r.$comment&&Wa(e),Gl(e),Kl(e);let o=n.const("_errs",P.default.errors);za(e,o),n.var(t,(0, E._)`${o} === ${P.default.errors}`);}function Ha(e){(0, Ge.checkUnknownRules)(e),Vl(e);}function za(e,t){if(e.opts.jtd)return Va(e,[],false,t);let r=(0, Ma.getSchemaTypes)(e.schema),n=(0, Ma.coerceAndCheckDataType)(e,r);Va(e,r,!n,t);}function Vl(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 Bl(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 Gl(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0, Ol.resolveUrl)(e.opts.uriResolver,e.baseId,t));}function Kl(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function Wa({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:s}){let o=r.$comment;if(s.$comment===true)e.code((0, E._)`${P.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._)`${P.default.self}.opts.$comment(${o}, ${a}, ${i}.schema)`);}}function Ul(e){let{gen:t,schemaEnv:r,validateName:n,ValidationError:s,opts:o}=e;r.$async?t.if((0, E._)`${P.default.errors} === 0`,()=>t.return(P.default.data),()=>t.throw((0, E._)`new ${s}(${P.default.vErrors})`)):(t.assign((0, E._)`${n}.errors`,P.default.vErrors),o.unevaluated&&Jl(e),t.return((0, E._)`${P.default.errors} === 0`));}function Jl({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 Va(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(()=>Xa(e,"$ref",f.all.$ref.definition));return}u.jtd||Hl(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, Vr.checkDataType)(y.type,a,u.strictNumbers)),Ba(e,y),t.length===1&&t[0]===y.type&&r&&(s.else(),(0, Vr.reportTypeError)(e)),s.endIf()):Ba(e,y),i||s.if((0, E._)`${P.default.errors} === ${n||0}`));}}function Ba(e,t){let{gen:r,schema:n,opts:{useDefaults:s}}=e;s&&(0, Pl.assignDefaults)(e,t.type),r.block(()=>{for(let o of t.rules)(0, fs.shouldUseRule)(n,o)&&Xa(e,o.keyword,o.definition,t.type);});}function Hl(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(zl(e,t),e.opts.allowUnionTypes||Wl(e,t),Yl(e,e.dataTypes));}function zl(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{Ya(e.dataTypes,r)||ps(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`);}),Ql(e,t);}}function Wl(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&ps(e,"use allowUnionTypes to allow union type keyword");}function Yl(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=>Xl(t,a))&&ps(e,`missing type "${o.join(",")}" for keyword "${n}"`);}}}function Xl(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function Ya(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function Ql(e,t){let r=[];for(let n of e.dataTypes)Ya(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 Br=class{constructor(t,r,n){if((0, rr.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",Qa(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0, rr.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",P.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?tr.reportExtraError:tr.reportError)(this,this.def.error,r);}$dataError(){(0, tr.reportError)(this,this.def.$dataError||tr.keyword$DataError);}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0, tr.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, Vr.checkDataTypes)(u,r,o.opts.strictNumbers,Vr.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 Ml(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=Br;function Xa(e,t,r,n){let s=new Br(e,r,t);"code"in r?r.code(s,n):s.$data&&r.validate?(0, rr.funcKeywordCode)(s,r):"macro"in r?(0, rr.macroKeywordCode)(s,r):(r.compile||r.validate)&&(0, rr.funcKeywordCode)(s,r);}var Zl=/^\/(?:[^~]|~0|~1)*$/,ef=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Qa(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let s,o;if(e==="")return P.default.rootData;if(e[0]==="/"){if(!Zl.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);s=e,o=P.default.rootData;}else {let c=ef.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=Qa;});var Gr=$(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 sr=$(vs=>{Object.defineProperty(vs,"__esModule",{value:true});var gs=er(),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 Ur=$(Ee=>{Object.defineProperty(Ee,"__esModule",{value:true});Ee.resolveSchema=Ee.getCompilingSchema=Ee.resolveRef=Ee.compileSchema=Ee.SchemaEnv=void 0;var Ae=L(),tf=Gr(),mt=Be(),Ie=er(),Za=K(),rf=nr(),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, Ie.normalizeId)(n?.[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=n?.$async,this.refs={};}};Ee.SchemaEnv=At;function bs(e){let t=ei.call(this,e);if(t)return t;let r=(0, Ie.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:s}=this.opts.code,{ownProperties:o}=this.opts,a=new Ae.CodeGen(this.scope,{es5:n,lines:s,ownProperties:o}),i;e.$async&&(i=a.scopeValue("Error",{ref:tf.default,code:(0, Ae._)`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:[Ae.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:a.scopeValue("schema",this.opts.code.source===true?{ref:e.schema,code:(0, Ae.stringify)(e.schema)}:{ref:e.schema}),validateName:u,ValidationError:i,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:Ae.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0, Ae._)`""`,opts:this.opts,self:this},f;try{this._compilations.add(e),(0,rf.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 Ae.Name?void 0:l,items:d instanceof Ae.Name?void 0:d,dynamicProps:l instanceof Ae.Name,dynamicItems:d instanceof Ae.Name},h.source&&(h.source.evaluated=(0,Ae.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);}}Ee.compileSchema=bs;function nf(e,t,r){var n;r=(0, Ie.resolveUrl)(this.opts.uriResolver,t,r);let s=e.refs[r];if(s)return s;let o=af.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]=sf.call(this,o)}Ee.resolveRef=nf;function sf(e){return (0, Ie.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:bs.call(this,e)}function ei(e){for(let t of this._compilations)if(of(t,e))return t}Ee.getCompilingSchema=ei;function of(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function af(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||Kr.call(this,e,t)}function Kr(e,t){let r=this.opts.uriResolver.parse(t),n=(0, Ie._getFullPath)(this.opts.uriResolver,r),s=(0, Ie.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, Ie.normalizeId)(n),a=this.refs[o]||this.schemas[o];if(typeof a=="string"){let i=Kr.call(this,e,a);return typeof i?.schema!="object"?void 0:Ss.call(this,r,i)}if(typeof a?.schema=="object"){if(a.validate||bs.call(this,a),o===(0, Ie.normalizeId)(t)){let{schema:i}=a,{schemaId:u}=this.opts,c=i[u];return c&&(s=(0, Ie.resolveUrl)(this.opts.uriResolver,s,c)),new At({schema:i,schemaId:u,root:e,baseId:s})}return Ss.call(this,r,a)}}Ee.resolveSchema=Kr;var uf=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, Za.unescapeFragment)(i)];if(u===void 0)return;r=u;let c=typeof r=="object"&&r[this.opts.schemaId];!uf.has(i)&&c&&(t=(0, Ie.resolveUrl)(this.opts.uriResolver,t,c));}let o;if(typeof r!="boolean"&&r.$ref&&!(0, Za.schemaHasRulesButRef)(r,this.RULES)){let i=(0, Ie.resolveUrl)(this.opts.uriResolver,t,r.$ref);o=Kr.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 ti=$((wy,cf)=>{cf.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=$((ky,oi)=>{var df=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),ni=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 ws(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 lf=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function ri(e){return e.length=0,true}function ff(e,t,r){if(e.length){let n=ws(e);if(n!=="")t.push(n);else return r.error=true,false;e.length=0;}return true}function pf(e){let t=0,r={error:false,address:"",zone:""},n=[],s=[],o=false,a=false,i=ff;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=ri;}else {s.push(c);continue}}return s.length&&(i===ri?r.zone=s.join(""):a?n.push(s.join("")):n.push(ws(s))),r.address=n.join(""),r}function si(e){if(mf(e,":")<2)return {host:e,isIPV6:false};let t=pf(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 mf(e,t){let r=0;for(let n=0;n<e.length;n++)e[n]===t&&r++;return r}function hf(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 gf(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 yf(e){let t=[];if(e.userinfo!==void 0&&(t.push(e.userinfo),t.push("@")),e.host!==void 0){let r=unescape(e.host);if(!ni(r)){let n=si(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}oi.exports={nonSimpleDomain:lf,recomposeAuthority:yf,normalizeComponentEncoding:gf,removeDotSegments:hf,isIPv4:ni,isUUID:df,normalizeIPv6:si,stringArrayToHexStripped:ws};});var di=$((_y,ci)=>{var{isUUID:vf}=ks(),Sf=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,bf=["http","https","ws","wss","urn","urn:uuid"];function wf(e){return bf.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 ai(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function ii(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 kf(e){return e.secure=_s(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function _f(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 $f(e,t){if(!e.path)return e.error="URN can not be parsed",e;let r=e.path.match(Sf);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 Rf(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 Cf(e,t){let r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!vf(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function Ef(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var ui={scheme:"http",domainHost:true,parse:ai,serialize:ii},xf={scheme:"https",domainHost:ui.domainHost,parse:ai,serialize:ii},Jr={scheme:"ws",domainHost:true,parse:kf,serialize:_f},Tf={scheme:"wss",domainHost:Jr.domainHost,parse:Jr.parse,serialize:Jr.serialize},Af={scheme:"urn",parse:$f,serialize:Rf,skipNormalize:true},If={scheme:"urn:uuid",parse:Cf,serialize:Ef,skipNormalize:true},Hr={http:ui,https:xf,ws:Jr,wss:Tf,urn:Af,"urn:uuid":If};Object.setPrototypeOf(Hr,null);function $s(e){return e&&(Hr[e]||Hr[e.toLowerCase()])||void 0}ci.exports={wsIsSecure:_s,SCHEMES:Hr,isValidSchemeName:wf,getSchemeHandler:$s};});var pi=$(($y,Wr)=>{var{normalizeIPv6:Pf,removeDotSegments:or,recomposeAuthority:Of,normalizeComponentEncoding:zr,isIPv4:jf,nonSimpleDomain:Nf}=ks(),{SCHEMES:qf,getSchemeHandler:li}=di();function Df(e,t){return typeof e=="string"?e=De(Ke(e,t),t):typeof e=="object"&&(e=Ke(De(e,t),t)),e}function Ff(e,t,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},s=fi(Ke(e,n),Ke(t,n),n,true);return n.skipEscape=true,De(s,n)}function fi(e,t,r,n){let s={};return n||(e=Ke(De(e,r),r),t=Ke(De(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=or(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=or(t.path||""),s.query=t.query):(t.path?(t.path[0]==="/"?s.path=or(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=or(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 Mf(e,t,r){return typeof e=="string"?(e=unescape(e),e=De(zr(Ke(e,r),true),{...r,skipEscape:true})):typeof e=="object"&&(e=De(zr(e,true),{...r,skipEscape:true})),typeof t=="string"?(t=unescape(t),t=De(zr(Ke(t,r),true),{...r,skipEscape:true})):typeof t=="object"&&(t=De(zr(t,true),{...r,skipEscape:true})),e.toLowerCase()===t.toLowerCase()}function De(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=li(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=Of(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=or(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 Lf=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\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(Lf);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(jf(n.host)===false){let u=Pf(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=li(r.scheme||n.scheme);if(!r.unicodeSupport&&(!a||!a.unicodeSupport)&&n.host&&(r.domainHost||a&&a.domainHost)&&s===false&&Nf(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:qf,normalize:Df,resolve:Ff,resolveComponent:fi,equal:Mf,serialize:De,parse:Ke};Wr.exports=Rs;Wr.exports.default=Rs;Wr.exports.fastUri=Rs;});var hi=$(Cs=>{Object.defineProperty(Cs,"__esModule",{value:true});var mi=pi();mi.code='require("ajv/dist/runtime/uri").default';Cs.default=mi;});var _i=$(ue=>{Object.defineProperty(ue,"__esModule",{value:true});ue.CodeGen=ue.Name=ue.nil=ue.stringify=ue.str=ue._=ue.KeywordCxt=void 0;var Vf=nr();Object.defineProperty(ue,"KeywordCxt",{enumerable:true,get:function(){return Vf.KeywordCxt}});var It=L();Object.defineProperty(ue,"_",{enumerable:true,get:function(){return It._}});Object.defineProperty(ue,"str",{enumerable:true,get:function(){return It.str}});Object.defineProperty(ue,"stringify",{enumerable:true,get:function(){return It.stringify}});Object.defineProperty(ue,"nil",{enumerable:true,get:function(){return It.nil}});Object.defineProperty(ue,"Name",{enumerable:true,get:function(){return It.Name}});Object.defineProperty(ue,"CodeGen",{enumerable:true,get:function(){return It.CodeGen}});var Bf=Gr(),bi=sr(),Gf=ts(),ar=Ur(),Kf=L(),ir=er(),Yr=Zt(),xs=K(),gi=ti(),Uf=hi(),wi=(e,t)=>new RegExp(e,t);wi.code="new RegExp";var Jf=["removeAdditional","useDefaults","coerceTypes"],Hf=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),zf={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."},Wf={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},yi=200;function Yf(e){var t,r,n,s,o,a,i,u,c,f,p,y,h,l,d,m,v,g,b,_,w,A,R,j,H;let F=e.strict,z=(t=e.code)===null||t===void 0?void 0:t.optimize,de=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:Uf.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:de,regExp:ae}:{optimize:de,regExp:ae},loopRequired:(d=e.loopRequired)!==null&&d!==void 0?d:yi,loopEnum:(m=e.loopEnum)!==null&&m!==void 0?m:yi,meta:(v=e.meta)!==null&&v!==void 0?v:true,messages:(g=e.messages)!==null&&g!==void 0?g:true,inlineRefs:(b=e.inlineRefs)!==null&&b!==void 0?b:true,schemaId:(_=e.schemaId)!==null&&_!==void 0?_:"$id",addUsedSchema:(w=e.addUsedSchema)!==null&&w!==void 0?w: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 ur=class{constructor(t={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,t=this.opts={...t,...Yf(t)};let{es5:r,lines:n}=this.opts.code;this.scope=new Kf.ValueScope({scope:{},prefixes:Hf,es5:r,lines:n}),this.logger=rp(t.logger);let s=t.validateFormats;t.validateFormats=false,this.RULES=(0, Gf.getRules)(),vi.call(this,zf,t,"NOT SUPPORTED"),vi.call(this,Wf,t,"DEPRECATED","warn"),this._metaOpts=ep.call(this),t.formats&&Qf.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),t.keywords&&Zf.call(this,t.keywords),typeof t.meta=="object"&&this.addMetaSchema(t.meta),Xf.call(this),t.validateFormats=s;}_addVocabularies(){this.addKeyword("$async");}_addDefaultMetaSchema(){let{$data:t,meta:r,schemaId:n}=this.opts,s=gi;n==="id"&&(s={...gi},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 bi.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, ir.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=Si.call(this,t))=="string";)t=r;if(r===void 0){let{schemaId:n}=this.opts,s=new ar.SchemaEnv({schema:{},schemaId:n});if(r=ar.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=Si.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, ir.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(sp.call(this,n,r),!r)return (0, xs.eachItem)(n,o=>Es.call(this,o)),this;ap.call(this,r);let s={...r,type:(0, Yr.getJSONTypes)(r.type),schemaType:(0, Yr.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]=ki(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, ir.normalizeId)(a||n);let c=ir.getSchemaRefs.call(this,t,n);return u=new ar.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):ar.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{ar.compileSchema.call(this,t);}finally{this.opts=r;}}};ur.ValidationError=Bf.default;ur.MissingRefError=bi.default;ue.default=ur;function vi(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 Si(e){return e=(0, ir.normalizeId)(e),this.schemas[e]||this.refs[e]}function Xf(){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 Qf(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t);}}function Zf(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 ep(){let e={...this.opts};for(let t of Jf)delete e[t];return e}var tp={log(){},warn(){},error(){}};function rp(e){if(e===false)return tp;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 np=/^[a-z_$][a-z0-9_$:-]*$/i;function sp(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(!np.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, Yr.getJSONTypes)(t.type),schemaType:(0, Yr.getJSONTypes)(t.schemaType)}};t.before?op.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 op(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 ap(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=ki(t)),e.validateSchema=this.compile(t,true));}var ip={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function ki(e){return {anyOf:[e,ip]}}});var $i=$(Ts=>{Object.defineProperty(Ts,"__esModule",{value:true});var up={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Ts.default=up;});var xi=$(ht=>{Object.defineProperty(ht,"__esModule",{value:true});ht.callRef=ht.getValidate=void 0;var cp=sr(),Ri=Ce(),be=L(),Pt=Be(),Ci=Ur(),Xr=K(),dp={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=Ci.resolveRef.call(u,c,s,r);if(f===void 0)throw new cp.default(n.opts.uriResolver,s,r);if(f instanceof Ci.SchemaEnv)return y(f);return h(f);function p(){if(o===c)return Qr(e,a,o,o.$async);let l=t.scopeValue("root",{ref:c});return Qr(e,(0, be._)`${l}.validate`,c,c.$async)}function y(l){let d=Ei(e,l);Qr(e,d,l,l.$async);}function h(l){let d=t.scopeValue("schema",i.code.source===true?{ref:l,code:(0, be.stringify)(l)}:{ref:l}),m=t.name("valid"),v=e.subschema({schema:l,dataTypes:[],schemaPath:be.nil,topSchemaRef:d,errSchemaPath:r},m);e.mergeEvaluated(v),e.ok(m);}}};function Ei(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0, be._)`${r.scopeValue("wrapper",{ref:t})}.validate`}ht.getValidate=Ei;function Qr(e,t,r,n){let{gen:s,it:o}=e,{allErrors:a,schemaEnv:i,opts:u}=o,c=u.passContext?Pt.default.this:be.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, be._)`await ${(0, Ri.callValidateCode)(e,t,c)}`),h(t),a||s.assign(l,true);},d=>{s.if((0, be._)`!(${d} instanceof ${o.ValidationError})`,()=>s.throw(d)),y(d),a||s.assign(l,false);}),e.ok(l);}function p(){e.result((0, Ri.callValidateCode)(e,t,c),()=>h(t),()=>y(t));}function y(l){let d=(0, be._)`${l}.errors`;s.assign(Pt.default.vErrors,(0, be._)`${Pt.default.vErrors} === null ? ${d} : ${Pt.default.vErrors}.concat(${d})`),s.assign(Pt.default.errors,(0, be._)`${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=Xr.mergeEvaluated.props(s,m.props,o.props));else {let v=s.var("props",(0, be._)`${l}.evaluated.props`);o.props=Xr.mergeEvaluated.props(s,v,o.props,be.Name);}if(o.items!==true)if(m&&!m.dynamicItems)m.items!==void 0&&(o.items=Xr.mergeEvaluated.items(s,m.items,o.items));else {let v=s.var("items",(0, be._)`${l}.evaluated.items`);o.items=Xr.mergeEvaluated.items(s,v,o.items,be.Name);}}}ht.callRef=Qr;ht.default=dp;});var Ti=$(As=>{Object.defineProperty(As,"__esModule",{value:true});var lp=$i(),fp=xi(),pp=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",lp.default,fp.default];As.default=pp;});var Ai=$(Is=>{Object.defineProperty(Is,"__esModule",{value:true});var Zr=L(),et=Zr.operators,en={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}},mp={message:({keyword:e,schemaCode:t})=>(0, Zr.str)`must be ${en[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0, Zr._)`{comparison: ${en[e].okStr}, limit: ${t}}`},hp={keyword:Object.keys(en),type:"number",schemaType:"number",$data:true,error:mp,code(e){let{keyword:t,data:r,schemaCode:n}=e;e.fail$data((0, Zr._)`${r} ${en[t].fail} ${n} || isNaN(${r})`);}};Is.default=hp;});var Ii=$(Ps=>{Object.defineProperty(Ps,"__esModule",{value:true});var cr=L(),gp={message:({schemaCode:e})=>(0, cr.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0, cr._)`{multipleOf: ${e}}`},yp={keyword:"multipleOf",type:"number",schemaType:"number",$data:true,error:gp,code(e){let{gen:t,data:r,schemaCode:n,it:s}=e,o=s.opts.multipleOfPrecision,a=t.let("res"),i=o?(0, cr._)`Math.abs(Math.round(${a}) - ${a}) > 1e-${o}`:(0, cr._)`${a} !== parseInt(${a})`;e.fail$data((0, cr._)`(${n} === 0 || (${a} = ${r}/${n}, ${i}))`);}};Ps.default=yp;});var Oi=$(Os=>{Object.defineProperty(Os,"__esModule",{value:true});function Pi(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=Pi;Pi.code='require("ajv/dist/runtime/ucs2length").default';});var ji=$(js=>{Object.defineProperty(js,"__esModule",{value:true});var gt=L(),vp=K(),Sp=Oi(),bp={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}}`},wp={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:true,error:bp,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, vp.useFunc)(e.gen,Sp.default)}(${r})`;e.fail$data((0, gt._)`${a} ${o} ${n}`);}};js.default=wp;});var Ni=$(Ns=>{Object.defineProperty(Ns,"__esModule",{value:true});var kp=Ce(),_p=K(),Ot=L(),$p={message:({schemaCode:e})=>(0, Ot.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0, Ot._)`{pattern: ${e}}`},Rp={keyword:"pattern",type:"string",schemaType:"string",$data:true,error:$p,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, _p.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, kp.usePattern)(e,s);e.fail$data((0, Ot._)`!${u}.test(${r})`);}}};Ns.default=Rp;});var qi=$(qs=>{Object.defineProperty(qs,"__esModule",{value:true});var dr=L(),Cp={message({keyword:e,schemaCode:t}){let r=e==="maxProperties"?"more":"fewer";return (0, dr.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0, dr._)`{limit: ${e}}`},Ep={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:true,error:Cp,code(e){let{keyword:t,data:r,schemaCode:n}=e,s=t==="maxProperties"?dr.operators.GT:dr.operators.LT;e.fail$data((0, dr._)`Object.keys(${r}).length ${s} ${n}`);}};qs.default=Ep;});var Di=$(Ds=>{Object.defineProperty(Ds,"__esModule",{value:true});var lr=Ce(),fr=L(),xp=K(),Tp={message:({params:{missingProperty:e}})=>(0, fr.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0, fr._)`{missingProperty: ${e}}`},Ap={keyword:"required",type:"object",schemaType:"array",$data:true,error:Tp,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, xp.checkStrictMode)(a,v,a.opts.strictRequired);}}function c(){if(u||o)e.block$data(fr.nil,p);else for(let h of r)(0, lr.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, lr.checkMissingProp)(e,r,h)),(0, lr.reportMissingProp)(e,h),t.else();}function p(){t.forOf("prop",n,h=>{e.setParams({missingProperty:h}),t.if((0, lr.noPropertyInData)(t,s,h,i.ownProperties),()=>e.error());});}function y(h,l){e.setParams({missingProperty:h}),t.forOf(h,n,()=>{t.assign(l,(0, lr.propertyInData)(t,s,h,i.ownProperties)),t.if((0, fr.not)(l),()=>{e.error(),t.break();});},fr.nil);}}};Ds.default=Ap;});var Fi=$(Fs=>{Object.defineProperty(Fs,"__esModule",{value:true});var pr=L(),Ip={message({keyword:e,schemaCode:t}){let r=e==="maxItems"?"more":"fewer";return (0, pr.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0, pr._)`{limit: ${e}}`},Pp={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:true,error:Ip,code(e){let{keyword:t,data:r,schemaCode:n}=e,s=t==="maxItems"?pr.operators.GT:pr.operators.LT;e.fail$data((0, pr._)`${r}.length ${s} ${n}`);}};Fs.default=Pp;});var tn=$(Ms=>{Object.defineProperty(Ms,"__esModule",{value:true});var Mi=cs();Mi.code='require("ajv/dist/runtime/equal").default';Ms.default=Mi;});var Li=$(Vs=>{Object.defineProperty(Vs,"__esModule",{value:true});var Ls=Zt(),ce=L(),Op=K(),jp=tn(),Np={message:({params:{i:e,j:t}})=>(0, ce.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0, ce._)`{i: ${e}, j: ${t}}`},qp={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:true,error:Np,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, ce._)`${a} === false`),e.ok(u);function f(){let l=t.let("i",(0, ce._)`${r}.length`),d=t.let("j");e.setParams({i:l,j:d}),t.assign(u,true),t.if((0, ce._)`${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, ce._)`{}`);t.for((0, ce._)`;${l}--;`,()=>{t.let(m,(0, ce._)`${r}[${l}]`),t.if(v,(0, ce._)`continue`),c.length>1&&t.if((0, ce._)`typeof ${m} == "string"`,(0, ce._)`${m} += "_"`),t.if((0, ce._)`typeof ${g}[${m}] == "number"`,()=>{t.assign(d,(0, ce._)`${g}[${m}]`),e.error(),t.assign(u,false).break();}).code((0, ce._)`${g}[${m}] = ${l}`);});}function h(l,d){let m=(0, Op.useFunc)(t,jp.default),v=t.name("outer");t.label(v).for((0, ce._)`;${l}--;`,()=>t.for((0, ce._)`${d} = ${l}; ${d}--;`,()=>t.if((0, ce._)`${m}(${r}[${l}], ${r}[${d}])`,()=>{e.error(),t.assign(u,false).break(v);})));}}};Vs.default=qp;});var Vi=$(Gs=>{Object.defineProperty(Gs,"__esModule",{value:true});var Bs=L(),Dp=K(),Fp=tn(),Mp={message:"must be equal to constant",params:({schemaCode:e})=>(0, Bs._)`{allowedValue: ${e}}`},Lp={keyword:"const",$data:true,error:Mp,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, Dp.useFunc)(t,Fp.default)}(${r}, ${s})`):e.fail((0, Bs._)`${o} !== ${r}`);}};Gs.default=Lp;});var Bi=$(Ks=>{Object.defineProperty(Ks,"__esModule",{value:true});var mr=L(),Vp=K(),Bp=tn(),Gp={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0, mr._)`{allowedValues: ${e}}`},Kp={keyword:"enum",schemaType:"array",$data:true,error:Gp,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, Vp.useFunc)(t,Bp.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, mr.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, mr._)`${c()}(${r}, ${h})`,()=>t.assign(f,true).break()));}function y(h,l){let d=s[l];return typeof d=="object"&&d!==null?(0, mr._)`${c()}(${r}, ${h}[${l}])`:(0, mr._)`${r} === ${d}`}}};Ks.default=Kp;});var Gi=$(Us=>{Object.defineProperty(Us,"__esModule",{value:true});var Up=Ai(),Jp=Ii(),Hp=ji(),zp=Ni(),Wp=qi(),Yp=Di(),Xp=Fi(),Qp=Li(),Zp=Vi(),em=Bi(),tm=[Up.default,Jp.default,Hp.default,zp.default,Wp.default,Yp.default,Xp.default,Qp.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},Zp.default,em.default];Us.default=tm;});var Hs=$(hr=>{Object.defineProperty(hr,"__esModule",{value:true});hr.validateAdditionalItems=void 0;var yt=L(),Js=K(),rm={message:({params:{len:e}})=>(0, yt.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0, yt._)`{limit: ${e}}`},nm={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:rm,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}Ki(e,n);}};function Ki(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());});}}hr.validateAdditionalItems=Ki;hr.default=nm;});var zs=$(gr=>{Object.defineProperty(gr,"__esModule",{value:true});gr.validateTuple=void 0;var Ui=L(),rn=K(),sm=Ce(),om={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return Ji(e,"additionalItems",t);r.items=true,!(0, rn.alwaysValidSchema)(r,t)&&e.ok((0, sm.validateArray)(e));}};function Ji(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=rn.mergeEvaluated.items(n,r.length,i.items));let u=n.name("valid"),c=n.const("len",(0, Ui._)`${o}.length`);r.forEach((p,y)=>{(0, rn.alwaysValidSchema)(i,p)||(n.if((0, Ui._)`${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, rn.checkStrictMode)(i,m,y.strictTuples);}}}gr.validateTuple=Ji;gr.default=om;});var Hi=$(Ws=>{Object.defineProperty(Ws,"__esModule",{value:true});var am=zs(),im={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0, am.validateTuple)(e,"items")};Ws.default=im;});var Wi=$(Ys=>{Object.defineProperty(Ys,"__esModule",{value:true});var zi=L(),um=K(),cm=Ce(),dm=Hs(),lm={message:({params:{len:e}})=>(0, zi.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0, zi._)`{limit: ${e}}`},fm={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:lm,code(e){let{schema:t,parentSchema:r,it:n}=e,{prefixItems:s}=r;n.items=true,!(0, um.alwaysValidSchema)(n,t)&&(s?(0, dm.validateAdditionalItems)(e,s):e.ok((0, cm.validateArray)(e)));}};Ys.default=fm;});var Yi=$(Xs=>{Object.defineProperty(Xs,"__esModule",{value:true});var xe=L(),nn=K(),pm={message:({params:{min:e,max:t}})=>t===void 0?(0, xe.str)`must contain at least ${e} valid item(s)`:(0, xe.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0, xe._)`{minContains: ${e}}`:(0, xe._)`{minContains: ${e}, maxContains: ${t}}`},mm={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:true,error:pm,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, xe._)`${s}.length`);if(e.setParams({min:a,max:i}),i===void 0&&a===0){(0, nn.checkStrictMode)(o,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(i!==void 0&&a>i){(0, nn.checkStrictMode)(o,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0, nn.alwaysValidSchema)(o,r)){let d=(0, xe._)`${f} >= ${a}`;i!==void 0&&(d=(0, xe._)`${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, xe._)`${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:nn.Type.Num,compositeRule:true},d),m();});}function l(d){t.code((0, xe._)`${d}++`),i===void 0?t.if((0, xe._)`${d} >= ${a}`,()=>t.assign(p,true).break()):(t.if((0, xe._)`${d} > ${i}`,()=>t.assign(p,false).break()),a===1?t.assign(p,true):t.if((0, xe._)`${d} >= ${a}`,()=>t.assign(p,true)));}}};Xs.default=mm;});var Zi=$(Fe=>{Object.defineProperty(Fe,"__esModule",{value:true});Fe.validateSchemaDeps=Fe.validatePropertyDeps=Fe.error=void 0;var Qs=L(),hm=K(),yr=Ce();Fe.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
6
  missingProperty: ${n},
7
7
  depsCount: ${t},
8
- deps: ${r}}`};var sm={keyword:"dependencies",type:"object",schemaType:"object",error:je.error,code(e){let[t,r]=om(e);Ji(e,t),zi(e,r);}};function om({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 Ji(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, gr.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, gr.checkReportMissingProp)(e,c);}):(r.if((0, Ws._)`${u} && (${(0, gr.checkMissingProp)(e,i,o)})`),(0, gr.reportMissingProp)(e,o),r.else());}}je.validatePropertyDeps=Ji;function zi(e,t=e.schema){let{gen:r,data:n,keyword:s,it:o}=e,a=r.name("valid");for(let i in t)(0, nm.alwaysValidSchema)(o,t[i])||(r.if((0, gr.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));}je.validateSchemaDeps=zi;je.default=sm;});var Xi=$(Ys=>{Object.defineProperty(Ys,"__esModule",{value:true});var Yi=F(),am=B(),im={message:"property name must be valid",params:({params:e})=>(0, Yi._)`{propertyName: ${e.propertyName}}`},um={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:im,code(e){let{gen:t,schema:r,data:n,it:s}=e;if((0, am.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, Yi.not)(o),()=>{e.error(true),s.allErrors||t.break();});}),e.ok(o);}};Ys.default=um;});var Qs=$(Xs=>{Object.defineProperty(Xs,"__esModule",{value:true});var rn=ke(),Te=F(),cm=Le(),nn=B(),dm={message:"must NOT have additional properties",params:({params:e})=>(0, Te._)`{additionalProperty: ${e.additionalProperty}}`},lm={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:true,trackErrors:true,error:dm,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, nn.alwaysValidSchema)(a,r))return;let c=(0, rn.allSchemaProperties)(n.properties),l=(0, rn.allSchemaProperties)(n.patternProperties);p(),e.ok((0, Te._)`${o} === ${cm.default.errors}`);function p(){t.forIn("key",s,m=>{!c.length&&!l.length?f(m):t.if(S(m),()=>f(m));});}function S(m){let v;if(c.length>8){let y=(0, nn.schemaRefOrVal)(a,n.properties,"properties");v=(0, rn.isOwnProperty)(t,y,m);}else c.length?v=(0, Te.or)(...c.map(y=>(0, Te._)`${m} === ${y}`)):v=Te.nil;return l.length&&(v=(0, Te.or)(v,...l.map(y=>(0, Te._)`${(0, rn.usePattern)(e,y)}.test(${m})`))),(0, Te.not)(v)}function h(m){t.code((0, Te._)`delete ${s}[${m}]`);}function f(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, nn.alwaysValidSchema)(a,r)){let v=t.name("valid");u.removeAdditional==="failing"?(d(m,v,false),t.if((0, Te.not)(v),()=>{e.reset(),h(m);})):(d(m,v),i||t.if((0, Te.not)(v),()=>t.break()));}}function d(m,v,y){let _={keyword:"additionalProperties",dataProp:m,dataPropType:nn.Type.Str};y===false&&Object.assign(_,{compositeRule:true,createErrors:false,allErrors:false}),e.subschema(_,v);}}};Xs.default=lm;});var eu=$(eo=>{Object.defineProperty(eo,"__esModule",{value:true});var fm=rr(),Qi=ke(),Zs=B(),Zi=Qs(),pm={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&&Zi.default.code(new fm.KeywordCxt(o,Zi.default,"additionalProperties"));let a=(0, Qi.allSchemaProperties)(r);for(let p of a)o.definedProperties.add(p);o.opts.unevaluated&&a.length&&o.props!==true&&(o.props=Zs.mergeEvaluated.props(t,(0, Zs.toHash)(a),o.props));let i=a.filter(p=>!(0, Zs.alwaysValidSchema)(o,r[p]));if(i.length===0)return;let u=t.name("valid");for(let p of i)c(p)?l(p):(t.if((0, Qi.propertyInData)(t,s,p,o.opts.ownProperties)),l(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 l(p){e.subschema({keyword:"properties",schemaProp:p,dataProp:p},u);}}};eo.default=pm;});var su=$(to=>{Object.defineProperty(to,"__esModule",{value:true});var tu=ke(),sn=F(),ru=B(),nu=B(),mm={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, tu.allSchemaProperties)(r),u=i.filter(d=>(0, ru.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,l=t.name("valid");o.props!==true&&!(o.props instanceof sn.Name)&&(o.props=(0, nu.evaluatedPropsToName)(t,o.props));let{props:p}=o;S();function S(){for(let d of i)c&&h(d),o.allErrors?f(d):(t.var(l,true),f(d),t.if(l));}function h(d){for(let m in c)new RegExp(d).test(m)&&(0, ru.checkStrictMode)(o,`property ${m} matches pattern ${d} (use allowMatchingProperties)`);}function f(d){t.forIn("key",n,m=>{t.if((0, sn._)`${(0, tu.usePattern)(e,d)}.test(${m})`,()=>{let v=u.includes(d);v||e.subschema({keyword:"patternProperties",schemaProp:d,dataProp:m,dataPropType:nu.Type.Str},l),o.opts.unevaluated&&p!==true?t.assign((0, sn._)`${p}[${m}]`,true):!v&&!o.allErrors&&t.if((0, sn.not)(l),()=>t.break());});});}}};to.default=mm;});var ou=$(ro=>{Object.defineProperty(ro,"__esModule",{value:true});var hm=B(),gm={keyword:"not",schemaType:["object","boolean"],trackErrors:true,code(e){let{gen:t,schema:r,it:n}=e;if((0, hm.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"}};ro.default=gm;});var au=$(no=>{Object.defineProperty(no,"__esModule",{value:true});var ym=ke(),vm={keyword:"anyOf",schemaType:"array",trackErrors:true,code:ym.validateUnion,error:{message:"must match a schema in anyOf"}};no.default=vm;});var iu=$(so=>{Object.defineProperty(so,"__esModule",{value:true});var on=F(),Sm=B(),_m={message:"must match exactly one schema in oneOf",params:({params:e})=>(0, on._)`{passingSchemas: ${e.passing}}`},bm={keyword:"oneOf",schemaType:"array",trackErrors:true,error:_m,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((l,p)=>{let S;(0, Sm.alwaysValidSchema)(s,l)?t.var(u,true):S=e.subschema({keyword:"oneOf",schemaProp:p,compositeRule:true},u),p>0&&t.if((0, on._)`${u} && ${a}`).assign(a,false).assign(i,(0, on._)`[${i}, ${p}]`).else(),t.if(u,()=>{t.assign(a,true),t.assign(i,p),S&&e.mergeEvaluated(S,on.Name);});});}}};so.default=bm;});var uu=$(oo=>{Object.defineProperty(oo,"__esModule",{value:true});var wm=B(),km={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, wm.alwaysValidSchema)(n,o))return;let i=e.subschema({keyword:"allOf",schemaProp:a},s);e.ok(s),e.mergeEvaluated(i);});}};oo.default=km;});var lu=$(ao=>{Object.defineProperty(ao,"__esModule",{value:true});var an=F(),du=B(),$m={message:({params:e})=>(0, an.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0, an._)`{failingKeyword: ${e.ifClause}}`},Rm={keyword:"if",schemaType:["object","boolean"],trackErrors:true,error:$m,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0, du.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let s=cu(n,"then"),o=cu(n,"else");if(!s&&!o)return;let a=t.let("valid",true),i=t.name("_valid");if(u(),e.reset(),s&&o){let l=t.let("ifClause");e.setParams({ifClause:l}),t.if(i,c("then",l),c("else",l));}else s?t.if(i,c("then")):t.if((0, an.not)(i),c("else"));e.pass(a,()=>e.error(true));function u(){let l=e.subschema({keyword:"if",compositeRule:true,createErrors:false,allErrors:false},i);e.mergeEvaluated(l);}function c(l,p){return ()=>{let S=e.subschema({keyword:l},i);t.assign(a,i),e.mergeValidEvaluated(S,a),p?t.assign(p,(0, an._)`${l}`):e.setParams({ifClause:l});}}}};function cu(e,t){let r=e.schema[t];return r!==void 0&&!(0, du.alwaysValidSchema)(e,r)}ao.default=Rm;});var fu=$(io=>{Object.defineProperty(io,"__esModule",{value:true});var Cm=B(),Em={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0, Cm.checkStrictMode)(r,`"${e}" without "if" is ignored`);}};io.default=Em;});var pu=$(uo=>{Object.defineProperty(uo,"__esModule",{value:true});var xm=Ks(),Tm=Bi(),Am=Us(),Im=Ui(),Pm=Hi(),Om=Wi(),jm=Xi(),Nm=Qs(),qm=eu(),Dm=su(),Fm=ou(),Mm=au(),Lm=iu(),Vm=uu(),Gm=lu(),Bm=fu();function Km(e=false){let t=[Fm.default,Mm.default,Lm.default,Vm.default,Gm.default,Bm.default,jm.default,Nm.default,Om.default,qm.default,Dm.default];return e?t.push(Tm.default,Im.default):t.push(xm.default,Am.default),t.push(Pm.default),t}uo.default=Km;});var mu=$(co=>{Object.defineProperty(co,"__esModule",{value:true});var te=F(),Um={message:({schemaCode:e})=>(0, te.str)`must match format "${e}"`,params:({schemaCode:e})=>(0, te._)`{format: ${e}}`},Hm={keyword:"format",type:["number","string"],schemaType:"string",$data:true,error:Um,code(e,t){let{gen:r,data:n,$data:s,schema:o,schemaCode:a,it:i}=e,{opts:u,errSchemaPath:c,schemaEnv:l,self:p}=i;if(!u.validateFormats)return;s?S():h();function S(){let f=r.scopeValue("formats",{ref:p.formats,code:u.code.formats}),d=r.const("fDef",(0, te._)`${f}[${a}]`),m=r.let("fType"),v=r.let("format");r.if((0, te._)`typeof ${d} == "object" && !(${d} instanceof RegExp)`,()=>r.assign(m,(0, te._)`${d}.type || "string"`).assign(v,(0, te._)`${d}.validate`),()=>r.assign(m,(0, te._)`"string"`).assign(v,d)),e.fail$data((0, te.or)(y(),_()));function y(){return u.strictSchema===false?te.nil:(0, te._)`${a} && !${v}`}function _(){let k=l.$async?(0, te._)`(${d}.async ? await ${v}(${n}) : ${v}(${n}))`:(0, te._)`${v}(${n})`,w=(0, te._)`(typeof ${v} == "function" ? ${k} : ${v}.test(${n}))`;return (0, te._)`${v} && ${v} !== true && ${m} === ${t} && !${w}`}}function h(){let f=p.formats[o];if(!f){y();return}if(f===true)return;let[d,m,v]=_(f);d===t&&e.pass(k());function y(){if(u.strictSchema===false){p.logger.warn(w());return}throw new Error(w());function w(){return `unknown format "${o}" ignored in schema at path "${c}"`}}function _(w){let A=w instanceof RegExp?(0, te.regexpCode)(w):u.code.formats?(0, te._)`${u.code.formats}${(0, te.getProperty)(o)}`:void 0,R=r.scopeValue("formats",{key:o,ref:w,code:A});return typeof w=="object"&&!(w instanceof RegExp)?[w.type||"string",w.validate,(0, te._)`${R}.validate`]:["string",w,R]}function k(){if(typeof f=="object"&&!(f instanceof RegExp)&&f.async){if(!l.$async)throw new Error("async format in sync schema");return (0, te._)`await ${v}(${n})`}return typeof m=="function"?(0, te._)`${v}(${n})`:(0, te._)`${v}.test(${n})`}}}};co.default=Hm;});var hu=$(lo=>{Object.defineProperty(lo,"__esModule",{value:true});var Jm=mu(),zm=[Jm.default];lo.default=zm;});var gu=$(Pt=>{Object.defineProperty(Pt,"__esModule",{value:true});Pt.contentVocabulary=Pt.metadataVocabulary=void 0;Pt.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Pt.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"];});var vu=$(fo=>{Object.defineProperty(fo,"__esModule",{value:true});var Wm=Ri(),Ym=Mi(),Xm=pu(),Qm=hu(),yu=gu(),Zm=[Wm.default,Ym.default,(0, Xm.default)(),Qm.default,yu.metadataVocabulary,yu.contentVocabulary];fo.default=Zm;});var _u=$(un=>{Object.defineProperty(un,"__esModule",{value:true});un.DiscrError=void 0;var Su;(function(e){e.Tag="tag",e.Mapping="mapping";})(Su||(un.DiscrError=Su={}));});var wu=$(mo=>{Object.defineProperty(mo,"__esModule",{value:true});var Ot=F(),po=_u(),bu=Br(),eh=nr(),th=B(),rh={message:({params:{discrError:e,tagName:t}})=>e===po.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0, Ot._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},nh={keyword:"discriminator",type:"object",schemaType:"object",error:rh,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, Ot._)`${r}${(0, Ot.getProperty)(i)}`);t.if((0, Ot._)`typeof ${c} == "string"`,()=>l(),()=>e.error(false,{discrError:po.DiscrError.Tag,tag:c,tagName:i})),e.ok(u);function l(){let h=S();t.if(false);for(let f in h)t.elseIf((0, Ot._)`${c} === ${f}`),t.assign(u,p(h[f]));t.else(),e.error(false,{discrError:po.DiscrError.Mapping,tag:c,tagName:i}),t.endIf();}function p(h){let f=t.name("valid"),d=e.subschema({keyword:"oneOf",schemaProp:h},f);return e.mergeEvaluated(d,Ot.Name),f}function S(){var h;let f={},d=v(s),m=true;for(let k=0;k<a.length;k++){let w=a[k];if(w?.$ref&&!(0, th.schemaHasRulesButRef)(w,o.self.RULES)){let R=w.$ref;if(w=bu.resolveRef.call(o.self,o.schemaEnv.root,o.baseId,R),w instanceof bu.SchemaEnv&&(w=w.schema),w===void 0)throw new eh.default(o.opts.uriResolver,o.baseId,R)}let A=(h=w?.properties)===null||h===void 0?void 0:h[i];if(typeof A!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${i}"`);m=m&&(d||v(w)),y(A,k);}if(!m)throw new Error(`discriminator: "${i}" must be required`);return f;function v({required:k}){return Array.isArray(k)&&k.includes(i)}function y(k,w){if(k.const)_(k.const,w);else if(k.enum)for(let A of k.enum)_(A,w);else throw new Error(`discriminator: "properties/${i}" must have "const" or "enum"`)}function _(k,w){if(typeof k!="string"||k in f)throw new Error(`discriminator: "${i}" values must be unique strings`);f[k]=w;}}}};mo.default=nh;});var ku=$((Jy,sh)=>{sh.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:true,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:true,readOnly:{type:"boolean",default:false},examples:{type:"array",items:true},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:true},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:false},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:true,enum:{type:"array",items:true,minItems:1,uniqueItems:true},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:true}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:true};});var Ru=$((X,ho)=>{Object.defineProperty(X,"__esModule",{value:true});X.MissingRefError=X.ValidationError=X.CodeGen=X.Name=X.nil=X.stringify=X.str=X._=X.KeywordCxt=X.Ajv=void 0;var oh=Si(),ah=vu(),ih=wu(),$u=ku(),uh=["/properties"],cn="http://json-schema.org/draft-07/schema",jt=class extends oh.default{_addVocabularies(){super._addVocabularies(),ah.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(ih.default);}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema($u,uh):$u;this.addMetaSchema(t,cn,false),this.refs["http://json-schema.org/schema"]=cn;}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(cn)?cn:void 0)}};X.Ajv=jt;ho.exports=X=jt;ho.exports.Ajv=jt;Object.defineProperty(X,"__esModule",{value:true});X.default=jt;var ch=rr();Object.defineProperty(X,"KeywordCxt",{enumerable:true,get:function(){return ch.KeywordCxt}});var Nt=F();Object.defineProperty(X,"_",{enumerable:true,get:function(){return Nt._}});Object.defineProperty(X,"str",{enumerable:true,get:function(){return Nt.str}});Object.defineProperty(X,"stringify",{enumerable:true,get:function(){return Nt.stringify}});Object.defineProperty(X,"nil",{enumerable:true,get:function(){return Nt.nil}});Object.defineProperty(X,"Name",{enumerable:true,get:function(){return Nt.Name}});Object.defineProperty(X,"CodeGen",{enumerable:true,get:function(){return Nt.CodeGen}});var dh=Vr();Object.defineProperty(X,"ValidationError",{enumerable:true,get:function(){return dh.default}});var lh=nr();Object.defineProperty(X,"MissingRefError",{enumerable:true,get:function(){return lh.default}});});function se(e){return `::${e.kind}::${e.value}`}function Ae(e){if(!e.startsWith("::"))throw new Error(`Invalid ref format (expected ::kind::value): ${e}`);let t=e.slice(2),r=t.indexOf("::");if(r===-1)throw new Error(`Invalid ref format (expected ::kind::value): ${e}`);return {kind:t.slice(0,r),value:t.slice(r+2)}}async function Oo(e,t,r){let n=e.tryAcquire();if(!n)return false;try{await t();}finally{n();}return r?.(),true}function Ft(e,t,r=".json"){let n=le.join(e,".tmp");return T.mkdirSync(n,{recursive:true}),le.join(n,`${t}-${Date.now()}-${Math.random().toString(36).slice(2,8)}${r}`)}function Cr(...e){return le.join(...e)}function Do(e){return le.isAbsolute(e)}function Rn(){return randomUUID()}function Fo(e){return createHash("sha256").update(e).digest("hex")}function Cc(e){if(typeof e=="object"&&e!==null){let{command:r,args:n=[],...s}=e,o=No(r,n);return {...s,command:o.command,args:o.args}}let t=Mo(e);if(t.length===0)throw new Error(`Empty command spec: ${JSON.stringify(e)}`);return No(t[0],t.slice(1))}function No(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 Mo(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 Cn(e){return process.platform==="win32"&&/\.(cmd|bat)$/i.test(e)}function Lo(e,t){let{command:r,args:n=[],cwd:s,env:o,timeoutMs:a}=e;return execFileSync(r,n,{shell:Cn(r),timeout:a,encoding:t?.encoding??"utf-8",cwd:s,windowsHide:true,env:o?{...process.env,...o}:void 0})}function Ec(e,t){let{command:r,args:n=[],cwd:s,env:o,timeoutMs:a=3e4}=e;execFile(r,n,{shell:Cn(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));}le.join($n.tmpdir(),".board-live-cards-git-bash-cache.json");function Er(e){let{command:t,args:r=[]}=e;if(process.platform==="win32"){spawn(t,r,{detached:true,stdio:"ignore",windowsHide:true,shell:Cn(t)}).unref();return}spawn(t,r,{detached:true,stdio:"ignore"}).unref();}function Mt(e,t,r){let n=le.join(e,"board-live-cards-cli.js");if(T.existsSync(n))return {cmd:process.execPath,args:[n,t,...r]};let s=le.join(e,"board-live-cards-cli.ts"),o=le.join(e,"..","..","node_modules","tsx","dist","cli.mjs"),a=le.join(e,"..","..","node_modules",".bin","tsx"),i=T.existsSync(o)?o:a;return T.existsSync(s)&&T.existsSync(i)?{cmd:process.execPath,args:[i,s,t,...r]}:{cmd:process.platform==="win32"?"npx.cmd":"npx",args:["tsx",s,t,...r]}}function Vo(e,t,r){let n=["--base-ref",se(t)];r&&n.push("--notify-channel",r);let{cmd:s,args:o}=Mt(e,"process-accumulated-events",n);Er({command:s,args:o});}function xc(e){return process.platform==="win32"?`\\\\.\\pipe\\${e}`:le.join($n.tmpdir(),`${e}.sock`)}var Rr=new Map;function Go(e,t,r){if(t.length===0)return;let n=t.map(i=>JSON.stringify(i)).join(`
8
+ deps: ${r}}`};var gm={keyword:"dependencies",type:"object",schemaType:"object",error:Fe.error,code(e){let[t,r]=ym(e);Xi(e,t),Qi(e,r);}};function ym({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 Xi(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, yr.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, yr.checkReportMissingProp)(e,c);}):(r.if((0, Qs._)`${u} && (${(0, yr.checkMissingProp)(e,i,o)})`),(0, yr.reportMissingProp)(e,o),r.else());}}Fe.validatePropertyDeps=Xi;function Qi(e,t=e.schema){let{gen:r,data:n,keyword:s,it:o}=e,a=r.name("valid");for(let i in t)(0, hm.alwaysValidSchema)(o,t[i])||(r.if((0, yr.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));}Fe.validateSchemaDeps=Qi;Fe.default=gm;});var tu=$(Zs=>{Object.defineProperty(Zs,"__esModule",{value:true});var eu=L(),vm=K(),Sm={message:"property name must be valid",params:({params:e})=>(0, eu._)`{propertyName: ${e.propertyName}}`},bm={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Sm,code(e){let{gen:t,schema:r,data:n,it:s}=e;if((0, vm.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, eu.not)(o),()=>{e.error(true),s.allErrors||t.break();});}),e.ok(o);}};Zs.default=bm;});var to=$(eo=>{Object.defineProperty(eo,"__esModule",{value:true});var sn=Ce(),Pe=L(),wm=Be(),on=K(),km={message:"must NOT have additional properties",params:({params:e})=>(0, Pe._)`{additionalProperty: ${e.additionalProperty}}`},_m={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:true,trackErrors:true,error:km,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, on.alwaysValidSchema)(a,r))return;let c=(0, sn.allSchemaProperties)(n.properties),f=(0, sn.allSchemaProperties)(n.patternProperties);p(),e.ok((0, Pe._)`${o} === ${wm.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, on.schemaRefOrVal)(a,n.properties,"properties");v=(0, sn.isOwnProperty)(t,g,m);}else c.length?v=(0, Pe.or)(...c.map(g=>(0, Pe._)`${m} === ${g}`)):v=Pe.nil;return f.length&&(v=(0, Pe.or)(v,...f.map(g=>(0, Pe._)`${(0, sn.usePattern)(e,g)}.test(${m})`))),(0, Pe.not)(v)}function h(m){t.code((0, Pe._)`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, on.alwaysValidSchema)(a,r)){let v=t.name("valid");u.removeAdditional==="failing"?(d(m,v,false),t.if((0, Pe.not)(v),()=>{e.reset(),h(m);})):(d(m,v),i||t.if((0, Pe.not)(v),()=>t.break()));}}function d(m,v,g){let b={keyword:"additionalProperties",dataProp:m,dataPropType:on.Type.Str};g===false&&Object.assign(b,{compositeRule:true,createErrors:false,allErrors:false}),e.subschema(b,v);}}};eo.default=_m;});var su=$(no=>{Object.defineProperty(no,"__esModule",{value:true});var $m=nr(),ru=Ce(),ro=K(),nu=to(),Rm={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&&nu.default.code(new $m.KeywordCxt(o,nu.default,"additionalProperties"));let a=(0, ru.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, ru.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=Rm;});var uu=$(so=>{Object.defineProperty(so,"__esModule",{value:true});var ou=Ce(),an=L(),au=K(),iu=K(),Cm={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, ou.allSchemaProperties)(r),u=i.filter(d=>(0, au.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 an.Name)&&(o.props=(0, iu.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, au.checkStrictMode)(o,`property ${m} matches pattern ${d} (use allowMatchingProperties)`);}function l(d){t.forIn("key",n,m=>{t.if((0, an._)`${(0, ou.usePattern)(e,d)}.test(${m})`,()=>{let v=u.includes(d);v||e.subschema({keyword:"patternProperties",schemaProp:d,dataProp:m,dataPropType:iu.Type.Str},f),o.opts.unevaluated&&p!==true?t.assign((0, an._)`${p}[${m}]`,true):!v&&!o.allErrors&&t.if((0, an.not)(f),()=>t.break());});});}}};so.default=Cm;});var cu=$(oo=>{Object.defineProperty(oo,"__esModule",{value:true});var Em=K(),xm={keyword:"not",schemaType:["object","boolean"],trackErrors:true,code(e){let{gen:t,schema:r,it:n}=e;if((0, Em.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=xm;});var du=$(ao=>{Object.defineProperty(ao,"__esModule",{value:true});var Tm=Ce(),Am={keyword:"anyOf",schemaType:"array",trackErrors:true,code:Tm.validateUnion,error:{message:"must match a schema in anyOf"}};ao.default=Am;});var lu=$(io=>{Object.defineProperty(io,"__esModule",{value:true});var un=L(),Im=K(),Pm={message:"must match exactly one schema in oneOf",params:({params:e})=>(0, un._)`{passingSchemas: ${e.passing}}`},Om={keyword:"oneOf",schemaType:"array",trackErrors:true,error:Pm,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, Im.alwaysValidSchema)(s,f)?t.var(u,true):y=e.subschema({keyword:"oneOf",schemaProp:p,compositeRule:true},u),p>0&&t.if((0, un._)`${u} && ${a}`).assign(a,false).assign(i,(0, un._)`[${i}, ${p}]`).else(),t.if(u,()=>{t.assign(a,true),t.assign(i,p),y&&e.mergeEvaluated(y,un.Name);});});}}};io.default=Om;});var fu=$(uo=>{Object.defineProperty(uo,"__esModule",{value:true});var jm=K(),Nm={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, jm.alwaysValidSchema)(n,o))return;let i=e.subschema({keyword:"allOf",schemaProp:a},s);e.ok(s),e.mergeEvaluated(i);});}};uo.default=Nm;});var hu=$(co=>{Object.defineProperty(co,"__esModule",{value:true});var cn=L(),mu=K(),qm={message:({params:e})=>(0, cn.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0, cn._)`{failingKeyword: ${e.ifClause}}`},Dm={keyword:"if",schemaType:["object","boolean"],trackErrors:true,error:qm,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0, mu.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let s=pu(n,"then"),o=pu(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, cn.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, cn._)`${f}`):e.setParams({ifClause:f});}}}};function pu(e,t){let r=e.schema[t];return r!==void 0&&!(0, mu.alwaysValidSchema)(e,r)}co.default=Dm;});var gu=$(lo=>{Object.defineProperty(lo,"__esModule",{value:true});var Fm=K(),Mm={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0, Fm.checkStrictMode)(r,`"${e}" without "if" is ignored`);}};lo.default=Mm;});var yu=$(fo=>{Object.defineProperty(fo,"__esModule",{value:true});var Lm=Hs(),Vm=Hi(),Bm=zs(),Gm=Wi(),Km=Yi(),Um=Zi(),Jm=tu(),Hm=to(),zm=su(),Wm=uu(),Ym=cu(),Xm=du(),Qm=lu(),Zm=fu(),eh=hu(),th=gu();function rh(e=false){let t=[Ym.default,Xm.default,Qm.default,Zm.default,eh.default,th.default,Jm.default,Hm.default,Um.default,zm.default,Wm.default];return e?t.push(Vm.default,Gm.default):t.push(Lm.default,Bm.default),t.push(Km.default),t}fo.default=rh;});var vu=$(po=>{Object.defineProperty(po,"__esModule",{value:true});var oe=L(),nh={message:({schemaCode:e})=>(0, oe.str)`must match format "${e}"`,params:({schemaCode:e})=>(0, oe._)`{format: ${e}}`},sh={keyword:"format",type:["number","string"],schemaType:"string",$data:true,error:nh,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(),b()));function g(){return u.strictSchema===false?oe.nil:(0, oe._)`${a} && !${v}`}function b(){let _=f.$async?(0, oe._)`(${d}.async ? await ${v}(${n}) : ${v}(${n}))`:(0, oe._)`${v}(${n})`,w=(0, oe._)`(typeof ${v} == "function" ? ${_} : ${v}.test(${n}))`;return (0, oe._)`${v} && ${v} !== true && ${m} === ${t} && !${w}`}}function h(){let l=p.formats[o];if(!l){g();return}if(l===true)return;let[d,m,v]=b(l);d===t&&e.pass(_());function g(){if(u.strictSchema===false){p.logger.warn(w());return}throw new Error(w());function w(){return `unknown format "${o}" ignored in schema at path "${c}"`}}function b(w){let A=w instanceof RegExp?(0, oe.regexpCode)(w):u.code.formats?(0, oe._)`${u.code.formats}${(0, oe.getProperty)(o)}`:void 0,R=r.scopeValue("formats",{key:o,ref:w,code:A});return typeof w=="object"&&!(w instanceof RegExp)?[w.type||"string",w.validate,(0, oe._)`${R}.validate`]:["string",w,R]}function _(){if(typeof 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=sh;});var Su=$(mo=>{Object.defineProperty(mo,"__esModule",{value:true});var oh=vu(),ah=[oh.default];mo.default=ah;});var bu=$(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 ku=$(ho=>{Object.defineProperty(ho,"__esModule",{value:true});var ih=Ti(),uh=Gi(),ch=yu(),dh=Su(),wu=bu(),lh=[ih.default,uh.default,(0, ch.default)(),dh.default,wu.metadataVocabulary,wu.contentVocabulary];ho.default=lh;});var $u=$(dn=>{Object.defineProperty(dn,"__esModule",{value:true});dn.DiscrError=void 0;var _u;(function(e){e.Tag="tag",e.Mapping="mapping";})(_u||(dn.DiscrError=_u={}));});var Cu=$(yo=>{Object.defineProperty(yo,"__esModule",{value:true});var Nt=L(),go=$u(),Ru=Ur(),fh=sr(),ph=K(),mh={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}}`},hh={keyword:"discriminator",type:"object",schemaType:"object",error:mh,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 w=a[_];if(w?.$ref&&!(0, ph.schemaHasRulesButRef)(w,o.self.RULES)){let R=w.$ref;if(w=Ru.resolveRef.call(o.self,o.schemaEnv.root,o.baseId,R),w instanceof Ru.SchemaEnv&&(w=w.schema),w===void 0)throw new fh.default(o.opts.uriResolver,o.baseId,R)}let A=(h=w?.properties)===null||h===void 0?void 0:h[i];if(typeof A!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${i}"`);m=m&&(d||v(w)),g(A,_);}if(!m)throw new Error(`discriminator: "${i}" must be required`);return l;function v({required:_}){return Array.isArray(_)&&_.includes(i)}function g(_,w){if(_.const)b(_.const,w);else if(_.enum)for(let A of _.enum)b(A,w);else throw new Error(`discriminator: "properties/${i}" must have "const" or "enum"`)}function b(_,w){if(typeof _!="string"||_ in l)throw new Error(`discriminator: "${i}" values must be unique strings`);l[_]=w;}}}};yo.default=hh;});var Eu=$((fv,gh)=>{gh.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 Tu=$((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 yh=_i(),vh=ku(),Sh=Cu(),xu=Eu(),bh=["/properties"],ln="http://json-schema.org/draft-07/schema",qt=class extends yh.default{_addVocabularies(){super._addVocabularies(),vh.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(Sh.default);}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(xu,bh):xu;this.addMetaSchema(t,ln,false),this.refs["http://json-schema.org/schema"]=ln;}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(ln)?ln:void 0)}};Z.Ajv=qt;vo.exports=Z=qt;vo.exports.Ajv=qt;Object.defineProperty(Z,"__esModule",{value:true});Z.default=qt;var wh=nr();Object.defineProperty(Z,"KeywordCxt",{enumerable:true,get:function(){return wh.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 kh=Gr();Object.defineProperty(Z,"ValidationError",{enumerable:true,get:function(){return kh.default}});var _h=sr();Object.defineProperty(Z,"MissingRefError",{enumerable:true,get:function(){return _h.default}});});var Cr="b64:";function Ec(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 xc(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 `${Cr}${Ec(JSON.stringify(e))}`}function je(e){if(!e.startsWith(Cr))throw new Error(`Invalid ref format (expected ${Cr}<base64url(json)>): ${e}`);let t;try{t=JSON.parse(xc(e.slice(Cr.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=ie.join(e,".tmp");return T.mkdirSync(n,{recursive:true}),ie.join(n,`${t}-${Date.now()}-${Math.random().toString(36).slice(2,8)}${r}`)}function xr(...e){return ie.join(...e)}function Lo(e){return ie.isAbsolute(e)}function Cn(){return randomUUID()}function Vo(e){return createHash("sha256").update(e).digest("hex")}function Oc(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 En(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 execFileSync(r,n,{shell:En(r),timeout:a,encoding:t?.encoding??"utf-8",cwd:s,windowsHide:true,env:o?{...process.env,...o}:void 0,input:t?.input})}function jc(e,t){let{command:r,args:n=[],cwd:s,env:o,timeoutMs:a=3e4}=e;execFile(r,n,{shell:En(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));}ie.join(Rn.tmpdir(),".board-live-cards-git-bash-cache.json");function Tr(e){let{command:t,args:r=[]}=e;if(process.platform==="win32"){spawn(t,r,{detached:true,stdio:"ignore",windowsHide:true,shell:En(t)}).unref();return}spawn(t,r,{detached:true,stdio:"ignore"}).unref();}function xn(e,t,r){let n=ie.join(e,"board-live-cards-cli.js");if(T.existsSync(n))return {cmd:process.execPath,args:[n,t,...r]};let s=ie.join(e,"board-live-cards-cli.ts"),o=ie.join(e,"..","..","node_modules","tsx","dist","cli.mjs"),a=ie.join(e,"..","..","node_modules",".bin","tsx"),i=T.existsSync(o)?o:a;return T.existsSync(s)&&T.existsSync(i)?{cmd:process.execPath,args:[i,s,t,...r]}:{cmd:process.platform==="win32"?"npx.cmd":"npx",args:["tsx",s,t,...r]}}function Ko(e){let t=ie.join(e,"..","..","..","board-live-cards-cli.js");if(T.existsSync(t))return t;let r=ie.join(e,"..","..","board-live-cards-cli.js");if(T.existsSync(r))return r;let n=ie.join(e,"board-live-cards-cli.js");if(T.existsSync(n))return n;throw new Error(`resolveBoardCliCallbackTarget: cannot find callback target in ${e} (expected ../board-live-cards-cli.js wrapper or ${n})`)}function Uo(e,t,r){let n=["--base-ref",se(t)];r&&n.push("--notify-channel",r);let{cmd:s,args:o}=xn(e,"process-accumulated-events",n);Tr({command:s,args:o});}function Nc(e){return process.platform==="win32"?`\\\\.\\pipe\\${e}`:ie.join(Rn.tmpdir(),`${e}.sock`)}var Er=new Map;function Jo(e,t,r){if(t.length===0)return;let n=t.map(i=>JSON.stringify(i)).join(`
9
9
  `)+`
10
- `,s=Rr.get(e);if(s&&!s.socket.destroyed){s.ready?s.socket.write(n):s.queue.push(n);return}let o=xc(e),a=qo.createConnection(o);s={socket:a,ready:false,queue:[n]},Rr.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)}`),Rr.delete(e);}),a.on("close",()=>{Rr.delete(e);});}function Bo(){return {executeSync(e,t,r){return Lo({command:e,args:t,cwd:r?.cwd,timeoutMs:r?.timeout,env:r?.env},{encoding:r?.encoding})},executeAsync(e,t,r){Ec({command:e,args:t},r);},resolveInvocation(e,t){let r=Cc({command:e,args:t});return {cmd:r.command,args:r.args??[]}},splitCommand:Mo,spawnDetached(e,t){Er({command:e,args:t});}}}async function Ko(e,t){return mn(e).evaluate(t)}async function Ac(e,t){let r=await Ko(e,t);if(typeof r!="string")throw new Error(`argsMassaging expression did not produce a string: ${e} \u2192 ${JSON.stringify(r)}`);return r}function Ic(e,t){let r;try{r=Ae(e).value;}catch{r=e;}switch(r){case "source-cli-task-executor":{let n=le.join(t,"source-cli-task-executor.js");if(T.existsSync(n))return {command:process.execPath,args:[n]};let s=le.join(t,"source-cli-task-executor.ts"),o=le.join(t,"..","..","node_modules","tsx","dist","cli.mjs"),a=le.join(t,"..","..","node_modules",".bin","tsx"),i=T.existsSync(o)?o:a;return T.existsSync(s)&&T.existsSync(i)?{command:process.execPath,args:[i,s]}:{command:process.execPath,args:[n]}}case "board-live-cards":{let{cmd:n,args:s}=Mt(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 Uo(e,t){if(e.howToRun==="built-in"){let{command:n,args:s}=Ic(e.whatToRun,t);return {command:n,baseArgs:s}}let r;try{r=Ae(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 Pc(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 Oc(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 Ho(e,t){return Uo(e,t)}async function jc(e,t){let r,n,s={...t,whatToRun:e.whatToRun};if(e.argsMassaging?.urlTemplate)r=await Ac(e.argsMassaging.urlTemplate,s);else try{r=Ae(e.whatToRun).value;}catch{r=e.whatToRun;}if(e.argsMassaging?.bodyTemplate){let i=await Ko(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=Oc(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 Jo(e,t,r){if(e.howToRun==="http:post"||e.howToRun==="http:get"){jc(e,t).catch(i=>{console.error(`[dispatchTaskExecutorDetached] HTTP dispatch failed: ${i.message}`);});return}let{command:s,baseArgs:o}=Uo(e,r),a=Pc(t,e.extra);Er({command:s,args:[...o,...a]});}function Nc(){return {read(e){if(!T.existsSync(e))return null;try{return T.readFileSync(e,"utf-8")}catch{return null}},write(e,t){T.mkdirSync(le.dirname(e),{recursive:true}),T.writeFileSync(e,t,"utf-8");}}}function zo(e){return Nc();}function Gt(e,t){if(process.platform!=="win32"){T.renameSync(e,t);return}let r=[10,20,40,80,160];for(let n=0;n<=r.length;n++)try{T.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 xr(e){function t(s){return le.join(e,...s.split("/"))}function r(s){return le.relative(e,s).replace(/\\/g,"/")}function n(s,o){if(T.existsSync(s))for(let a of T.readdirSync(s,{withFileTypes:true})){let i=le.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.existsSync(o))return null;try{return T.readFileSync(o,"utf-8")}catch{return null}},write(s,o){let a=t(s),i=`${a}.${process.pid}.${randomUUID()}.tmp`;T.mkdirSync(le.dirname(a),{recursive:true}),T.writeFileSync(i,o,"utf-8"),Gt(i,a);},exists(s){return T.existsSync(t(s))},remove(s){let o=t(s);try{T.existsSync(o)&&T.unlinkSync(o);}catch{}},readBytes(s){let o=t(s);if(!T.existsSync(o))return null;try{return new Uint8Array(T.readFileSync(o))}catch{return null}},writeBytes(s,o){let a=t(s),i=`${a}.${process.pid}.${randomUUID()}.tmp`;T.mkdirSync(le.dirname(a),{recursive:true}),T.writeFileSync(i,Buffer.from(o)),Gt(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.existsSync(o))return null;try{let a=T.statSync(o);return {key:s,size:Number(a.size||0),updatedAt:new Date(a.mtimeMs).toISOString()}}catch{return null}}}}function Tn(){return {read(e){if(!T.existsSync(e))return null;try{return T.readFileSync(e,"utf-8")}catch{return null}},write(e,t){let r=`${e}.${process.pid}.${randomUUID()}.tmp`;T.mkdirSync(le.dirname(e),{recursive:true}),T.writeFileSync(r,t,"utf-8"),Gt(r,e);},exists(e){return T.existsSync(e)},remove(e){try{T.existsSync(e)&&T.unlinkSync(e);}catch{}},readBytes(e){if(!T.existsSync(e))return null;try{return new Uint8Array(T.readFileSync(e))}catch{return null}},writeBytes(e,t){let r=`${e}.${process.pid}.${randomUUID()}.tmp`;T.mkdirSync(le.dirname(e),{recursive:true}),T.writeFileSync(r,Buffer.from(t)),Gt(r,e);},stat(e){if(!T.existsSync(e))return null;try{let t=T.statSync(e);return {key:e,size:Number(t.size||0),updatedAt:new Date(t.mtimeMs).toISOString()}}catch{return null}}}}function An(e){function t(n){return le.join(e,...n.split("/"))+".json"}function r(n,s,o,a){if(T.existsSync(n))for(let i of T.readdirSync(n,{withFileTypes:true})){let u=s?`${s}/${i.name}`:i.name;if(i.isDirectory()){r(le.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.existsSync(s))return null;try{return JSON.parse(T.readFileSync(s,"utf-8"))}catch{return null}},write(n,s){let o=t(n),a=`${o}.${process.pid}.${randomUUID()}.tmp`;T.mkdirSync(le.dirname(o),{recursive:true}),T.writeFileSync(a,JSON.stringify(s,null,2),"utf-8"),Gt(a,o);},delete(n){let s=t(n);try{T.existsSync(s)&&T.unlinkSync(s);}catch{}},listKeys(n){let s=[];return r(e,"",n,s),s.sort()}}}function xn(e){if(e==null||typeof e!="object")return JSON.stringify(e);if(Array.isArray(e))return `[${e.map(xn).join(",")}]`;let t=e;return `{${Object.keys(t).sort().map(n=>`${JSON.stringify(n)}:${xn(t[n])}`).join(",")}}`}function Wo(e){return createHash("sha256").update(xn(e)).digest("hex")}function Yo(e){let t=le.join(e,"board-journal.jsonl");return {readAllEntries(){if(!T.existsSync(t))return [];let r=T.readFileSync(t,"utf-8").trim();return r?r.split(`
10
+ `,s=Er.get(e);if(s&&!s.socket.destroyed){s.ready?s.socket.write(n):s.queue.push(n);return}let o=Nc(e),a=Mo.createConnection(o);s={socket:a,ready:false,queue:[n]},Er.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)}`),Er.delete(e);}),a.on("close",()=>{Er.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){jc({command:e,args:t},r);},resolveInvocation(e,t){let r=Oc({command:e,args:t});return {cmd:r.command,args:r.args??[]}},splitCommand:Bo,spawnDetached(e,t){Tr({command:e,args:t});}}}var Ho=createRequire(import.meta.url);function Dc(){try{return Ho("./jsonata-sync.cjs")}catch{return Ho("../../card-compute/jsonata-sync.cjs")}}Dc();var Lc=createRequire(import.meta.url),Vc=Lc("../../card-compute/jsonata-sync.cjs");async function zo(e,t){return Vc(e).evaluate(t)}async function Bc(e,t){let r=await zo(e,t);if(typeof r!="string")throw new Error(`argsMassaging expression did not produce a string: ${e} \u2192 ${JSON.stringify(r)}`);return r}function Gc(e,t){let r=typeof e=="object"?e.value:je(e).value;switch(r){case "source-cli-task-executor":{let n=ie.join(t,"source-cli-task-executor.js");if(T.existsSync(n))return {command:process.execPath,args:[n]};let s=ie.join(t,"source-cli-task-executor.ts"),o=ie.join(t,"..","..","node_modules","tsx","dist","cli.mjs"),a=ie.join(t,"..","..","node_modules",".bin","tsx"),i=T.existsSync(o)?o:a;return T.existsSync(s)&&T.existsSync(i)?{command:process.execPath,args:[i,s]}:{command:process.execPath,args:[n]}}case "board-live-cards":{let{cmd:n,args:s}=xn(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 Wo(e,t){if(e.howToRun==="built-in"){let{command:n,args:s}=Gc(e.whatToRun,t);return {command:n,baseArgs:s}}let r=typeof e.whatToRun=="object"?e.whatToRun.value:je(e.whatToRun).value;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 Kc(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 Uc(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 Yo(e,t){return Wo(e,t)}async function Jc(e,t){let r,n,s={...t,whatToRun:e.whatToRun};if(e.argsMassaging?.urlTemplate?r=await Bc(e.argsMassaging.urlTemplate,s):r=typeof e.whatToRun=="object"?e.whatToRun.value:je(e.whatToRun).value,e.argsMassaging?.bodyTemplate){let i=await zo(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=Uc(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 Xo(e,t,r){if(e.howToRun==="http:post"||e.howToRun==="http:get"){Jc(e,t).catch(i=>{console.error(`[dispatchTaskExecutorDetached] HTTP dispatch failed: ${i.message}`);});return}let{command:s,baseArgs:o}=Wo(e,r),a=Kc(t,e.extra);Tr({command:s,args:[...o,...a]});}function Hc(){return {read(e){if(!T.existsSync(e))return null;try{return T.readFileSync(e,"utf-8")}catch{return null}},write(e,t){T.mkdirSync(ie.dirname(e),{recursive:true}),T.writeFileSync(e,t,"utf-8");}}}function Qo(e){return Hc();}function Gt(e,t){if(process.platform!=="win32"){T.renameSync(e,t);return}let r=[10,20,40,80,160];for(let n=0;n<=r.length;n++)try{T.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 Ar(e){function t(s){return ie.join(e,...s.split("/"))}function r(s){return ie.relative(e,s).replace(/\\/g,"/")}function n(s,o){if(T.existsSync(s))for(let a of T.readdirSync(s,{withFileTypes:true})){let i=ie.join(s,a.name);if(a.isDirectory()){n(i,o);continue}a.isFile()&&o.push(r(i));}}return {read(s){let o=t(s);if(!T.existsSync(o))return null;try{return T.readFileSync(o,"utf-8")}catch{return null}},write(s,o){let a=t(s),i=`${a}.${process.pid}.${randomUUID()}.tmp`;T.mkdirSync(ie.dirname(a),{recursive:true}),T.writeFileSync(i,o,"utf-8"),Gt(i,a);},exists(s){return T.existsSync(t(s))},remove(s){let o=t(s);try{T.existsSync(o)&&T.unlinkSync(o);}catch{}},readBytes(s){let o=t(s);if(!T.existsSync(o))return null;try{return new Uint8Array(T.readFileSync(o))}catch{return null}},writeBytes(s,o){let a=t(s),i=`${a}.${process.pid}.${randomUUID()}.tmp`;T.mkdirSync(ie.dirname(a),{recursive:true}),T.writeFileSync(i,Buffer.from(o)),Gt(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.existsSync(o))return null;try{let a=T.statSync(o);return {key:s,size:Number(a.size||0),updatedAt:new Date(a.mtimeMs).toISOString()}}catch{return null}}}}function Pn(){return {read(e){if(!T.existsSync(e))return null;try{return T.readFileSync(e,"utf-8")}catch{return null}},write(e,t){let r=`${e}.${process.pid}.${randomUUID()}.tmp`;T.mkdirSync(ie.dirname(e),{recursive:true}),T.writeFileSync(r,t,"utf-8"),Gt(r,e);},exists(e){return T.existsSync(e)},remove(e){try{T.existsSync(e)&&T.unlinkSync(e);}catch{}},readBytes(e){if(!T.existsSync(e))return null;try{return new Uint8Array(T.readFileSync(e))}catch{return null}},writeBytes(e,t){let r=`${e}.${process.pid}.${randomUUID()}.tmp`;T.mkdirSync(ie.dirname(e),{recursive:true}),T.writeFileSync(r,Buffer.from(t)),Gt(r,e);},stat(e){if(!T.existsSync(e))return null;try{let t=T.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 ie.join(e,...n.split("/"))+".json"}function r(n,s,o,a){if(T.existsSync(n))for(let i of T.readdirSync(n,{withFileTypes:true})){let u=s?`${s}/${i.name}`:i.name;if(i.isDirectory()){r(ie.join(n,i.name),u,o,a);continue}if(!i.isFile()||!i.name.endsWith(".json"))continue;let c=u.replace(/\.json$/,"");(!o||c.startsWith(o))&&a.push(c);}}return {read(n){let s=t(n);if(!T.existsSync(s))return null;try{return JSON.parse(T.readFileSync(s,"utf-8"))}catch{return null}},write(n,s){let o=t(n),a=`${o}.${process.pid}.${randomUUID()}.tmp`;T.mkdirSync(ie.dirname(o),{recursive:true}),T.writeFileSync(a,JSON.stringify(s,null,2),"utf-8"),Gt(a,o);},delete(n){let s=t(n);try{T.existsSync(s)&&T.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 Zo(e){return createHash("sha256").update(In(e)).digest("hex")}function ea(e){let t=ie.join(e,"board-journal.jsonl");return {readAllEntries(){if(!T.existsSync(t))return [];let r=T.readFileSync(t,"utf-8").trim();return r?r.split(`
11
11
  `).filter(Boolean).map(n=>JSON.parse(n)):[]},appendEntry(r){T.appendFileSync(t,JSON.stringify(r)+`
12
- `,"utf-8");},generateId(){return randomUUID()}}}function Xo(e){return {tryAcquire(){try{if(!T.existsSync(e)){T.mkdirSync(le.dirname(e),{recursive:!0});try{T.writeFileSync(e,"{}",{flag:"wx"});}catch{}}return lockSync(e,{retries:0})}catch{return null}}}}var Qo={$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 xu=bc(Ru());var dn=null;var Cu=/\b(card_data|requires|fetched_sources|computed_values|source_defs)\b/g,mh=/^\s*(card_data|requires|fetched_sources|computed_values|source_defs)(\.|$)/;function hh(e){let t=new Set,r;for(Cu.lastIndex=0;(r=Cu.exec(e))!==null;)t.add(r[1]);return t}function Tu(e){let t=mh.exec(e);return t?t[1]:null}function Eu(e,t,r,n){try{mn(e);}catch(o){let a=o instanceof Error?o.message:String(o);n.push(`${t}: invalid JSONata expression (${a})`);return}let s=hh(e);for(let o of s)r.has(o)||n.push(`${t}: disallowed namespace "${o}" in expression`);}function go(e,t,r){if(Array.isArray(e)){e.forEach((s,o)=>{go(s,`${t}/${o}`,r);});return}if(typeof e=="string"){let s=Tu(e);if(!s)return;new Set(["card_data","requires","fetched_sources","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))go(o,`${t}/${s}`,r);}function gh(){if(dn)return dn;let e=new xu.default({allErrors:true});return fh(e),dn=e.compile(Qo),dn}function Au(e){let t=gh(),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 Iu(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,l)=>{if(!c||typeof c!="object"||Array.isArray(c))return;let p=c.expr;typeof p!="string"||p.trim().length===0||Eu(p,`/compute/${l}/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,l)=>{if(!c||typeof c!="object"||Array.isArray(c))return;let p=c.ref;if(typeof p!="string"||p.trim().length===0)return;let S=Tu(p);S===null?t.push(`/provides/${l}/ref: path "${p}" must start with a valid namespace (${[...s].join(", ")})`):s.has(S)||t.push(`/provides/${l}/ref: disallowed namespace "${S}" in path "${p}" (valid: ${[...s].join(", ")})`);});let a=r.view;a&&typeof a=="object"&&!Array.isArray(a)&&go(a,"/view",t);let i=new Set(["card_data","requires"]),u=r.source_defs;return Array.isArray(u)&&u.forEach((c,l)=>{if(!c||typeof c!="object"||Array.isArray(c))return;let p=c.projections;if(!(!p||typeof p!="object"||Array.isArray(p)))for(let[S,h]of Object.entries(p))typeof h!="string"||h.trim().length===0||Eu(h,`/source_defs/${l}/projections/${S}`,i,t);}),{ok:t.length===0,errors:t}}function yo(e){let t=Au(e);if(!t.ok)return t;let r=Iu(e);return r.ok?{ok:true,errors:[]}:{ok:false,errors:r.errors}}var et={RUNNING:"running",COMPLETED:"completed",FAILED:"failed",INACTIVATED:"inactivated"};function _e(e){return e?Array.isArray(e.provides)?e.provides:[]:[]}function tt(e){return e?Array.isArray(e.requires)?e.requires:[]:[]}function Pu(e){return e.tasks??{}}function vo(e){return e?e.status===et.FAILED||e.status===et.INACTIVATED:false}function Ou(e,t){return e.refreshStrategy??t?.refreshStrategy??"data-changed"}function ju(e){return e.maxExecutions}function Nu(e,t){let r=new Set;for(let[n,s]of Object.entries(t))if(s.status===et.COMPLETED){let o=e.tasks[n];o&&_e(o).forEach(i=>r.add(i));}return Array.from(r)}function qu(e,t){let r={};return e.forEach(n=>{let s=t[n];if(!s)return;_e(s).forEach(a=>{r[a]||(r[a]=[]),r[a].push(n);});}),r}function Du(e,t,r){let n=e.tasks[t]??ln(),s={};if(r){let a=r.tasks[t],i=tt(a);for(let u of i)for(let[c,l]of Object.entries(r.tasks))if(_e(l).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 Fu(e,t,r,n,s,o){let a=e.tasks[r]??ln(),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=_e(i);let c=a.startConsumedHashes?{...a.startConsumedHashes}:{...a.lastConsumedHashes};if(!a.startConsumedHashes){let S=i.requires??[];for(let h of S)for(let[f,d]of Object.entries(t.tasks))if(_e(d).includes(h)){let m=e.tasks[f];m?.lastDataHash&&(c[h]=m.lastDataHash);break}}let l={...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]:l},availableOutputs:p,lastUpdated:new Date().toISOString()}}function Mu(e,t,r,n){let s=e.tasks[r]??ln(),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 Lu(e,t,r,n){let s=e.tasks[t]??ln(),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 Vu(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 ln(){return {status:"not-started",executionCount:0,retryCount:0,lastEpoch:0,messages:[],progress:null}}function fn(e,t){let r=`live-${Date.now()}`,n={};for(let o of Object.keys(e.tasks))n[o]=Bu();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 yh(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:Du(n,t.taskName,r)};case "task-completed":return {config:r,state:Fu(n,r,t.taskName,t.result,t.dataHash,t.data)};case "task-failed":return {config:r,state:Mu(n,r,t.taskName,t.error)};case "task-progress":return {config:r,state:Lu(n,t.taskName,t.message,t.progress)};case "task-restart":return {config:r,state:Vu(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:$h(n,t.action)};case "task-upsert":return vh(e,t.taskName,t.taskConfig);case "task-removal":return Sh(e,t.taskName);case "node-requires-add":return _h(e,t.nodeName,t.tokens);case "node-requires-remove":return bh(e,t.nodeName,t.tokens);case "node-provides-add":return wh(e,t.nodeName,t.tokens);case "node-provides-remove":return kh(e,t.nodeName,t.tokens);default:return e}}function Gu(e,t){return t.reduce((r,n)=>yh(r,n),e)}function vh(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]:Bu()},lastUpdated:new Date().toISOString()}}}function Sh(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 _h(e,t,r){let n=e.config.tasks[t];if(!n)return e;let s=tt(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 bh(e,t,r){let n=e.config.tasks[t];if(!n)return e;let s=tt(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 wh(e,t,r){let n=e.config.tasks[t];if(!n)return e;let s=_e(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 kh(e,t,r){let n=e.config.tasks[t];if(!n)return e;let s=_e(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 yr(e){return {version:1,config:e.config,state:e.state,snapshotAt:new Date().toISOString()}}function pn(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 Bu(){return {status:"not-started",executionCount:0,retryCount:0,lastEpoch:0,messages:[],progress:null}}function $h(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 vr(e){let{config:t,state:r}=e,n=Pu(t);if(Object.keys(n).length===0)return {eligible:[],pending:[],unresolved:[],blocked:[],conflicts:{}};let o=Rh(n),a=Nu(t,r.tasks),i=new Set([...a,...r.availableOutputs]),u=[],c=[],l=[],p=[];for(let[h,f]of Object.entries(n)){let d=r.tasks[h],m=Ou(f,t.settings),v=m!=="once";if(d?.status===et.RUNNING||vo(d))continue;let y=ju(f);if(y!==void 0&&d&&d.executionCount>=y||f.circuit_breaker&&d&&d.executionCount>=f.circuit_breaker.max_executions||!v&&d?.status===et.COMPLETED)continue;if(v&&d?.status===et.COMPLETED){let R=tt(f),O=false;switch(m){case "data-changed":{R.length>0&&R.some(q=>{for(let[Q,re]of Object.entries(n))if(_e(re).includes(q)){let oe=r.tasks[Q];if(!oe)continue;let Be=d.lastConsumedHashes?.[q];return oe.lastDataHash==null?oe.executionCount>d.lastEpoch:oe.lastDataHash!==Be}return false})||(O=true);break}case "epoch-changed":{R.length>0&&R.some(q=>{for(let[Q,re]of Object.entries(n))if(_e(re).includes(q)){let oe=r.tasks[Q];if(oe&&oe.executionCount>d.lastEpoch)return true}return false})||(O=true);break}case "time-based":{let H=f.refreshInterval??0;if(H<=0){O=true;break}let q=d.completedAt;if(!q){O=true;break}(Date.now()-Date.parse(q))/1e3<H&&(O=true);break}case "manual":O=true;break}if(O)continue}let _=tt(f);if(_.length===0){u.push(h);continue}let k=[],w=[],A=[];for(let R of _){if(i.has(R))continue;let O=o[R]||[];O.length===0?k.push(R):O.every(q=>vo(r.tasks[q]))?A.push({token:R,failedProducer:O[0]}):w.push(R);}k.length>0?l.push({taskName:h,missingTokens:k}):A.length>0?p.push({taskName:h,failedTokens:A.map(R=>R.token),failedProducers:[...new Set(A.map(R=>R.failedProducer))]}):w.length>0?c.push({taskName:h,waitingOn:w}):u.push(h);}let S={};if(u.length>1){let h=qu(u,n);for(let[f,d]of Object.entries(h))d.length>1&&(S[f]=d);}return {eligible:u,pending:c,unresolved:l,blocked:p,conflicts:S}}function Rh(e){let t={};for(let[r,n]of Object.entries(e)){for(let s of _e(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 Sr=class{buffer=[];append(t){this.buffer.push(t);}drain(){let t=this.buffer;return this.buffer=[],t}get size(){return this.buffer.length}};function So(e){let t=_o(e);return Ch(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 Ch(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 Eh(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 xh(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 Ku(e){let t=JSON.stringify({t:e,n:Date.now().toString(36)+Math.random().toString(36).slice(2,6)});return Eh(t)}function Th(e){try{let t=JSON.parse(xh(e));return typeof t?.t=="string"?{taskName:t.t}:null}catch{return null}}function Uu(e,t,r){let{handlers:n,onDrain:s}=t,o=new Sr,a="state"in e&&"config"in e?e:fn(e),i=false,u=new Set,c=new Map(Object.entries(n)),l=new Sr,p=false,S=false;function h(){if(!i){if(p){S=true;return}p=true;try{do S=!1,f();while(S)}finally{p=false;}}}function f(){let y=l.drain(),_=o.drain(),k=[...y,..._];k.length>0&&(a=Gu(a,k));let w=vr(a);k.length>0&&s?.(k,a,w);for(let A of w.eligible)v(A);for(let A of k)if(A.type==="task-progress"){let{taskName:R,update:O}=A;if(!a.config.tasks[R])continue;let q=a.state.tasks[R];if(!q||q.status!=="running")continue;let Q=Ku(R),re=m(R,Q,O).catch(oe=>{i||(l.append({type:"task-failed",taskName:R,error:oe.message??String(oe),timestamp:new Date().toISOString()}),h());}).finally(()=>{u.delete(re);});u.add(re);}}function d(y){let k=a.config.tasks[y].requires??[],w=new Map;for(let[R,O]of Object.entries(a.config.tasks))for(let H of O.provides??[])w.set(H,R);let A={};for(let R of k){let O=w.get(R);O?A[R]=a.state.tasks[O]?.data:A[R]=void 0;}return A}async function m(y,_,k){let w=a.config.tasks[y],A=w.taskHandlers??[],R=d(y);for(let O of A){let H=c.get(O);if(!H)throw new Error(`Handler '${O}' not found in registry (task '${y}')`);let q={nodeId:y,state:R,taskState:a.state.tasks[y],config:w,callbackToken:_,update:k};if(await H(q)==="task-initiate-failure")throw new Error(`Handler '${O}' returned task-initiate-failure (task '${y}')`)}}function v(y){let k=a.config.tasks[y]?.taskHandlers;if(!k||k.length===0)return;l.append({type:"task-started",taskName:y,timestamp:new Date().toISOString()}),h();let w=Ku(y),A=m(y,w).catch(R=>{i||(l.append({type:"task-failed",taskName:y,error:R.message??String(R),timestamp:new Date().toISOString()}),h());}).finally(()=>{u.delete(A);});u.add(A);}return {push(y){i||(y.type==="task-completed"&&y.data&&!y.dataHash&&(y={...y,dataHash:So(y.data)}),o.append(y),h());},pushAll(y){if(!i){for(let _ of y)_.type==="task-completed"&&_.data&&!_.dataHash?o.append({..._,dataHash:So(_.data)}):o.append(_);h();}},resolveCallback(y,_,k){if(i)return;let w=Th(y);if(!w)return;let{taskName:A}=w;if(a.config.tasks[A]){if(k&&k.length>0)o.append({type:"task-failed",taskName:A,error:k.join("; "),timestamp:new Date().toISOString()});else {let R=_&&Object.keys(_).length>0?So(_):void 0;o.append({type:"task-completed",taskName:A,data:_,dataHash:R,timestamp:new Date().toISOString()});}h();}},addNode(y,_){i||(o.append({type:"task-upsert",taskName:y,taskConfig:_,timestamp:new Date().toISOString()}),h());},removeNode(y){i||(o.append({type:"task-removal",taskName:y,timestamp:new Date().toISOString()}),h());},addRequires(y,_){i||(o.append({type:"node-requires-add",nodeName:y,tokens:_,timestamp:new Date().toISOString()}),h());},removeRequires(y,_){i||(o.append({type:"node-requires-remove",nodeName:y,tokens:_,timestamp:new Date().toISOString()}),h());},addProvides(y,_){i||(o.append({type:"node-provides-add",nodeName:y,tokens:_,timestamp:new Date().toISOString()}),h());},removeProvides(y,_){i||(o.append({type:"node-provides-remove",nodeName:y,tokens:_,timestamp:new Date().toISOString()}),h());},registerHandler(y,_){c.set(y,_);},unregisterHandler(y){c.delete(y);},retrigger(y){i||a.config.tasks[y]&&(o.append({type:"task-restart",taskName:y,timestamp:new Date().toISOString()}),h());},retriggerAll(y){if(!i){for(let _ of y)a.config.tasks[_]&&o.append({type:"task-restart",taskName:_,timestamp:new Date().toISOString()});h();}},snapshot(){return yr(a)},getState(){return a},getSchedule(){return vr(a)},async waitForHandlers(){u.size>0&&await Promise.allSettled([...u]);},async dispose(y){y?.wait&&u.size>0&&await Promise.allSettled([...u]),i=true;}}}function bo(e){return JSON.stringify(e)}function wo(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 Ih=createRequire(import.meta.url),zu=Ih("./jsonata-sync.cjs")??mn;function Hu(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 Wu(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 Ph(e,t){if(!e?.compute?.length)return e;e.card_data||(e.card_data={}),e.computed_values={},e._sourcesData=t?.sourcesData??{};let r={card_data:e.card_data,requires:e.requires??{},fetched_sources:e._sourcesData,computed_values:e.computed_values};for(let n of e.compute)try{let s=await mn(n.expr).evaluate(r);Wu(e.computed_values,n.bindTo,s),r.computed_values=e.computed_values;}catch(s){console.error(`CardCompute.run error on "${e.id??"?"}.${n.bindTo}":`,s);}return e}function Oh(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={card_data:e.card_data,requires:e.requires??{},fetched_sources:e._sourcesData,computed_values:e.computed_values};for(let n of e.compute)try{let s=zu(n.expr).evaluate(r);Wu(e.computed_values,n.bindTo,s),r.computed_values=e.computed_values;}catch(s){console.error(`CardCompute.runSync error on "${e.id??"?"}.${n.bindTo}":`,s);}return {ok:true,node:e}}async function jh(e,t){let r={card_data:t.card_data??{},requires:t.requires??{},fetched_sources:t._sourcesData??{},computed_values:t.computed_values??{}};return mn(e).evaluate(r)}function Nh(e,t){return t.startsWith("fetched_sources.")?Hu(e._sourcesData??{},t.slice(16)):Hu(e,t)}var Ju=new Set(["metric","table","editable-table","chart","form","filter","list","notes","todo","alert","narrative","badge","text","markdown","ref","custom","actions"]),qh=new Set(["id","meta","requires","provides","view","card_data","compute","source_defs"]);function Dh(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))qh.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`):Ju.has(s.kind)||t.push(`view.elements[${o}].kind: unknown kind "${s.kind}". Valid: ${[...Ju].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 Fh(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 mn(a).evaluate(r);}catch{s[o]=void 0;}}return {...n,_projections:s}}))}function Mh(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]=zu(a).evaluate(r);}catch{s[o]=void 0;}}return {...n,_projections:s}})}var hn={run:Ph,runSync:Oh,eval:jh,resolve:Nh,validate:Dh,enrichSources:Fh,enrichSourcesSync:Mh};function gn(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 l=0;l<i.length-1;l++){let p=i[l],S=c[p],h=S&&typeof S=="object"&&!Array.isArray(S)?{...S}:{};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 l=n(c,o,a),p=e.writeCard(u.key,l);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 ko(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 Xu(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 Qu(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 _r="v1",rt="board/graph",Zu="board/lastJournalProcessedId";function Yu(e){return `cards/${e}/runtime`}function ec(e){return {readRuntime(t){return e.read(Yu(t))??{_sources:{}}},writeRuntime(t,r){e.write(Yu(t),r);}}}function Lh(e,t){let r={...e};for(let n of t.deleteKeys)delete r[n];return {...r,...t.shallowMerge}}function tc(e){return {readSnapshot(t){return e.readValues(t)},commitSnapshot(t,r){if(r.schemaVersion!==_r)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=Lh(n.values,r);return {ok:true,newVersion:e.writeValues(t,s,r.deleteKeys)}}}}function $o(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 wo(r.trim())},writeTaskExecutorRef(r){e.write("task-executor",bo(r));},readChatHandlerRef(){let r=t("chat-handler");if(r?.trim())return wo(r.trim())},writeChatHandlerRef(r){e.write("chat-handler",bo(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 rc(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 Vh(e){return e?.lastRequestedAt?!e.lastFetchedAt||e.lastFetchedAt<e.lastRequestedAt:false}function Gh(e,t){return e?.lastRequestedAt?Vh(e)?"in-flight":!e.lastFetchedAt||e.lastFetchedAt<t?"dispatch":"idle":"dispatch"}function Bh(e,t){let r={...e,lastFetchedAt:t};return delete r.lastError,r}function Kh(e,t){let r={...e,lastError:t};return delete r.lastFetchedAt,r}function yn(e,t){let r=t.state.tasks,n=t.config.tasks,s=Object.keys(r),o=vr(t),a={completed:0,failed:0,in_progress:0,pending:0,blocked:0,unresolved:0},i=new Map;for(let f of o.pending)i.set(f.taskName,f.waitingOn);for(let f of o.unresolved)i.set(f.taskName,f.missingTokens);for(let f of o.blocked)i.set(f.taskName,f.failedTokens);let u=new Map;for(let[f,d]of Object.entries(n))for(let m of d.requires??[]){let v=u.get(m)??[];v.push(f),u.set(m,v);}let c=s.sort().map(f=>{let d=r[f],m=n[f]??{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??[],y=m.provides??[],_=Object.keys(d.data??{}).sort(),k=v.filter(q=>t.state.availableOutputs.includes(q)),w=v.filter(q=>!t.state.availableOutputs.includes(q)),A=i.get(f)??w,R=new Set;for(let q of y)for(let Q of u.get(q)??[])Q!==f&&R.add(Q);let O=d.failedAt,H=d.error?{message:d.error,code:"TASK_FAILED",at:O,source:"task-runtime"}:void 0;return {name:f,status:d.status,error:H,requires:v,requires_satisfied:k,requires_missing:w,provides_declared:y,provides_runtime:_,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 l=c.map(f=>({name:f.name,fanOut:f.unblocks.length})).sort((f,d)=>d.fanOut-f.fanOut||f.name.localeCompare(d.name)),p=l.length>0?l[0]:{name:null,fanOut:0},S=new Set;for(let f of Object.values(n))for(let d of f.requires??[])S.add(d);let h=0;for(let[f,d]of Object.entries(n)){let m=(d.requires??[]).length===0,y=(d.provides??[]).some(_=>(u.get(_)??[]).some(k=>k!==f));m&&!y&&(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(S).length,max_fan_out_card:p.name,max_fan_out:p.fanOut}},cards:c}}function Uh(){return new Date().toISOString()}function nc(e,t,r,n,s,o,a,i){return async u=>{let c=[],l=r.cardStore.readCard(u.nodeId);if(!l)return "task-initiate-failure";let p=l.id;u.update||i?.(p,l);let S=l.card_data??{},h=l.source_defs??[],f=h.filter(b=>b.optionalForCompletionGating!==true),d=r.cardRuntimeStore.readRuntime(p),m=false,v=()=>{m&&(r.cardRuntimeStore.writeRuntime(p,d),m=false);},y=b=>({...d._sources[b]??{}}),_=(b,g)=>{d._sources[b]=g,m=true;},k=u.taskState?.executionCount??0,w=d._lastExecutionCount;if(typeof w=="number"&&w!==k&&(d._sources={},m=true),w!==k&&(d._lastExecutionCount=k,m=true),u.update){let b=u.update,g=b.outputFile;if(g){let C=y(g);if(b.failure)_(g,Kh(C,b.reason??"unknown"));else {let P=b.rqt;if(!C.lastFetchedAt||P>C.lastFetchedAt){let G=typeof b.deliveryToken=="string"?b.deliveryToken:void 0;G&&r.fetchedSourcesStore.commitSourceData(p,g,G),_(g,Bh(C,P));}}v();}}let A={};for(let b of h)if(b.outputFile){let g=r.fetchedSourcesStore.readSourceData(p,b.outputFile);g!==null&&(A[b.bindTo]=g);}let R={};for(let[b,g]of Object.entries(u.state??{}))if(g!==null&&typeof g=="object"&&!Array.isArray(g)){let C=g[b];R[b]=C!==void 0?C:g;}else R[b]=g;let O={id:p,card_data:{...S},requires:R,source_defs:h,compute:l.compute};O._sourcesData=A,l.compute&&hn.runSync(O,{sourcesData:A}),(o??r.outputStore.writeComputedValues.bind(r.outputStore))(p,O.computed_values??{});let H={...l},q=hn.enrichSourcesSync(Array.isArray(l.source_defs)?l.source_defs:void 0,{card_data:l.card_data,requires:R}),Q=e.value;H.source_defs=Array.isArray(q)?q.map(b=>({...b,boardDir:typeof b.boardDir=="string"&&b.boardDir?b.boardDir:Q})):q;let re=Uh(),oe=u.update?void 0:re,Be=f.filter(b=>{let g=b.outputFile;if(typeof g!="string"||!g)return true;let C=y(g);oe&&(C={...C,queueRequestedAt:oe},_(g,C));let P=C.queueRequestedAt??C.lastRequestedAt??re,G=Gh(C,P);return G==="in-flight"?false:G==="dispatch"});if(v(),Be.length>0){let b=false,g=re;for(let C of Be){let P=C.outputFile;if(typeof P!="string"||!P)continue;let G=y(P),W=G.queueRequestedAt??re;_(P,{...G,lastRequestedAt:W}),g=W,b=true;}return b&&v(),b&&(c.push({taskKind:"source-fetch",payload:{boardRef:se(e),enrichedCard:H,callbackToken:u.callbackToken,rqt:g}}),r.executionRequestStore.appendEntries(t,c)),"task-initiated"}let bn=l.provides??[],qt={};for(let{bindTo:b,ref:g}of bn)qt[b]=hn.resolve(O,g);return (a??r.outputStore.writeDataObjects.bind(r.outputStore))(qt),h.filter(b=>{if(b.optionalForCompletionGating!==true)return false;let g=y(b.outputFile);return !g.lastRequestedAt||!g.lastFetchedAt?true:g.lastFetchedAt<=g.lastRequestedAt}).length>0&&c.push({taskKind:"source-fetch",payload:{boardRef:se(e),enrichedCard:H,callbackToken:u.callbackToken,rqt:re}}),n(u.nodeId,qt),c.length>0&&r.executionRequestStore.appendEntries(t,c),"task-initiated"}}var vn={settings:{completion:"manual",refreshStrategy:"data-changed"},tasks:{}};function sc(e){return {[rt]:e.graph,[Zu]:e.lastDrainedJournalId}}function oc(e){let t=e[rt],r=e[Zu];if(!t||typeof t!="object")throw new Error(`State snapshot is missing required key: ${rt}`);return {graph:t,lastDrainedJournalId:typeof r=="string"?r:""}}function ac(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 ee(e){return e!==void 0?{status:"success",data:e}:{status:"success"}}function L(e){return {status:"fail",error:e}}function Z(e){return {status:"error",error:e instanceof Error?e.message:String(e)}}function Hh(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 uc(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 Sn(e){try{let t=JSON.parse(uc(e));return typeof t?.t=="string"?{taskName:t.t}:null}catch{return null}}function Jh(e){return Hh(JSON.stringify(e))}function ic(e){try{let t=JSON.parse(uc(e));return typeof t?.cbk=="string"&&typeof t?.cid=="string"&&typeof t?.b=="string"&&typeof t?.d=="string"?t:null}catch{return null}}function be(){return new Date().toISOString()}function zh(e,t){let r=t.onWarn??(()=>{}),n=se(e);function s(b){if(b.length!==0)try{let g=t.publishBoardChangeNotifications?.(b);g&&typeof g.catch=="function"&&g.catch(C=>r(`[board-live-cards-public] publishBoardChangeNotifications failed: ${C instanceof Error?C.message:String(C)}`));}catch(g){r(`[board-live-cards-public] publishBoardChangeNotifications failed: ${g instanceof Error?g.message:String(g)}`);}}function o(){let b=i().readCardStoreRef();if(!b)throw new Error(`Board at ${e.value} has no card store configured. Run: init --base-ref <ref> --store-ref <::kind::value>`);let g=t.kvStorageForRef(b);return {readIndex(){return g.read("_index")},writeIndex(C){g.write("_index",C);},readCard(C){return g.read(C)},writeCard(C,P){return g.write(C,P),t.hashFn(P)},cardExists(C){return g.read(C)!==null},defaultCardKey(C){return C}}}let a={readValues(b){let g=t.kvStorage("state-snapshot"),C=g.listKeys().sort();if(C.length===0)return {version:null,values:{}};let P={};for(let G of C)P[G]=g.read(G);return {version:t.hashFn(P),values:P}},writeValues(b,g,C){let P=t.kvStorage("state-snapshot");for(let G of C)P.delete(G);for(let[G,W]of Object.entries(g))P.write(G,W);return t.hashFn(g)}},i=()=>$o(t.kvStorage("config")),u=()=>tc(a),c=()=>Xu(t.journalAdapter()),l=()=>gn(o(),r),p=()=>{let b=i().readOutputsStoreRef();if(!b)throw new Error(`Board at ${e.value} has no outputs store configured. Run: init --outputs-store-ref <::kind::value>`);return rc(t.kvStorageForRef(b))};function S(){return !!u().readSnapshot(e.value).values[rt]}function h(){let b=u().readSnapshot(e.value);if(!b.values[rt])throw new Error(`Board not initialized at ${e.value}`);return oc(b.values)}function f(b,g){let C=u().commitSnapshot(e.value,{schemaVersion:_r,expectedVersion:g,commitId:t.genId(),committedAt:be(),deleteKeys:[],shallowMerge:sc(b)});if(!C.ok)throw new Error(`Snapshot commit failed (version mismatch): expected=${g??"null"} current=${C.currentVersion??"null"}`)}function d(b){c().appendEvent(b);}async function m(){let b=(x,j)=>{let ne=x.payload,Ue=(ne?.enrichedCard??{}).id??ne?.cardId??"unknown";d({type:"task-failed",taskName:Ue,error:j,timestamp:be()});},g=Qu(t.kvStorage("execution-requests"),b),C=ec(t.kvStorage("card-runtime")),P=ko(t.blobStorage("sources"),x=>t.resolveBlob(x)),G=new Map,W={readRuntime(x){return G.get(x)??C.readRuntime(x)},writeRuntime(x,j){G.set(x,j);}},Ke=[],Se=new Map,Ne={readSourceData(x,j){let ne=`${x}/${j}`;return Se.has(ne)?Se.get(ne):P.readSourceData(x,j)},ingestSourceDataStaged(x,j,ne,vt){P.ingestSourceDataStaged(x,j,ne,vt);},commitSourceData(x,j,ne){let vt=`${x}/.staged/${ne}/${j}`,$r=t.blobStorage("sources").read(vt);if($r==null)return false;let St=`${x}/${j}`,Io=$r.trim();try{Se.set(St,JSON.parse(Io));}catch{Se.set(St,Io);}return Ke.push({cardId:x,outputFile:j,deliveryToken:ne}),true},hasSource(x,j){let ne=`${x}/${j}`;return Se.has(ne)?true:P.hasSource(x,j)}},qe={cardStore:l(),cardRuntimeStore:W,fetchedSourcesStore:Ne,outputStore:p(),executionRequestStore:g},nt=h(),st=pn(nt.graph),{events:gt,newCursor:yt}=c().readEntriesAfterCursor(nt.lastDrainedJournalId),ot=[],wn=[],kn=[],xo=new Map,fc=(x,j)=>{ot.push({type:"task-completed",taskName:x,data:j,timestamp:be()});},To=(x,j)=>d({type:"task-failed",taskName:x,error:j,timestamp:be()}),wr=Uu(st,{handlers:{"card-handler":nc(e,yt,qe,fc,To,(x,j)=>{wn.push({cardId:x,values:j});},x=>{kn.push(x);},(x,j)=>{xo.set(x,j);})}});for(ot=gt;ot.length>0;){let x=ot;ot=[],wr.pushAll(x),await wr.waitForHandlers();}let Ao=wr.getState();await wr.dispose({wait:true});let pc=u().readSnapshot(e.value).version;f({lastDrainedJournalId:yt,graph:yr(Ao)},pc);for(let{cardId:x,values:j}of wn)qe.outputStore.writeComputedValues(x,j);for(let x of kn)qe.outputStore.writeDataObjects(x);for(let[x,j]of G)C.writeRuntime(x,j);for(let{cardId:x,outputFile:j,deliveryToken:ne}of Ke)P.commitSourceData(x,j,ne);let kr;try{kr=yn(n,Ao),qe.outputStore.writeStatusSnapshot(kr);}catch(x){r(`[board-live-cards-public] status publish failed: ${x instanceof Error?x.message:String(x)}`);}let Dt=[];for(let{cardId:x,values:j}of wn)Dt.push({kind:"computed_values",cardId:x,values:j});for(let x of kn)for(let[j,ne]of Object.entries(x))j&&Dt.push({kind:"data_object",key:j,payload:ne});for(let[x,j]of xo)Dt.push({kind:"card_refreshed",cardId:x,card:j});kr!==void 0&&Dt.push({kind:"status",status:kr}),s(Dt);let mc=i().readTaskExecutorRef()??{howToRun:"built-in",whatToRun:"::built-in::source-cli-task-executor"};g.dispatchEntriesForJournalId(yt,x=>{if(x.taskKind!=="source-fetch"){r(`[process-accumulated-events] unknown taskKind "${x.taskKind}" \u2014 skipping`);return}let j=x.payload,ne=j.enrichedCard?.id??"unknown",vt=j.enrichedCard?.source_defs??[];for(let Ue of vt){if(!Ue.outputFile){r(`[dispatch] source "${Ue.bindTo}" has no outputFile \u2014 skipping`);continue}let $r=Jh({cbk:j.callbackToken,rg:e.value,br:se(e),cid:ne,b:Ue.bindTo,d:Ue.outputFile,cs:void 0,rqt:j.rqt});t.dispatchExecution(mc,{source_def:Ue,base_ref:se(e),callback:{token:$r,via:t.selfRef}}).catch(St=>To(ne,St instanceof Error?St.message:String(St)));}});}async function v(){try{let b=()=>{let C=h(),{events:P}=c().readEntriesAfterCursor(C.lastDrainedJournalId);P.length<=0||(v(),t.requestProcessAccumulated?.());},g=await Oo(t.lock,m,b);return ee({ran:g!==!1})}catch(b){return Z(b)}}function y(b){try{let g=b.params?.cardStoreRef;if(!g)return L("init requires params.cardStoreRef \u2014 create a card store with card-store-cli and pass its ref here");if(!S()){let W=fn(vn);f({lastDrainedJournalId:"",graph:yr(W)},null);}let C=b.params?.outputsStoreRef;if(!C)return L("init requires params.outputsStoreRef \u2014 pass the outputs store ref here");let P=i();P.writeCardStoreRef(g),P.writeOutputsStoreRef(C);let G=b.body??{};G["task-executor-ref"]&&P.writeTaskExecutorRef(G["task-executor-ref"]),G["chat-handler-ref"]&&P.writeChatHandlerRef(G["chat-handler-ref"]);try{p().writeStatusSnapshot(yn(n,pn(h().graph)));}catch{}return ee()}catch(g){return Z(g)}}function _(b){try{let g=p().readStatusSnapshot();if(!g){g=yn(n,pn(h().graph));try{p().writeStatusSnapshot(g);}catch{}}return ee(g)}catch(g){return Z(g)}}function k(b){try{let g=b.params?.id;return g?(d({type:"task-removal",taskName:g,timestamp:be()}),v(),ee()):L("removeCard requires params.id")}catch(g){return Z(g)}}function w(b){try{let g=b.params?.id;return g?(d({type:"task-restart",taskName:g,timestamp:be()}),v(),ee()):L("retrigger requires params.id")}catch(g){return Z(g)}}async function A(b){return v()}function R(b){try{let g=b.params?.cardId,C=b.params?.all,P=!!b.params?.restart;if(!g&&!C)return L("upsertCard requires --card-id <id> or --all");let G=C?l().readAllCards().map(W=>W.id):[g];for(let W of G)if(!l().readCard(W))return L(`Card "${W}" not found in board at ${e.value}`);for(let W of G){let Ke=l().readCard(W),Se=ac(Ke),Ne=t.hashFn(Se),qe=t.kvStorage("card-upsert"),nt=qe.read(W),st=nt?.taskConfigHash!==Ne;if(!(!st&&!P)){if(st){let gt=nt?.blobRef??l().readCardKey(W)??W;d({type:"task-upsert",taskName:W,taskConfig:Se,timestamp:be()}),qe.write(W,{blobRef:gt,taskConfigHash:Ne,updatedAt:be()});}P&&d({type:"task-restart",taskName:W,timestamp:be()});}}return v(),ee()}catch(g){return Z(g)}}function O(b){try{let g=b.params?.token;if(!g)return L("taskFailed requires params.token");let C=b.params?.error??"unknown error",P=Sn(g);return P?(d({type:"task-failed",taskName:P.taskName,error:C,timestamp:be()}),v(),ee()):L("Invalid callback token")}catch(g){return Z(g)}}function H(b){try{let g=b.params?.token;if(!g)return L("taskProgress requires params.token");let P=(b.body??{}).update??{},G=Sn(g);return G?(d({type:"task-progress",taskName:G.taskName,update:P,timestamp:be()}),v(),ee()):L("Invalid callback token")}catch(g){return Z(g)}}function q(b){try{let g=b.params?.token,C=b.params?.ref;if(!g)return L("sourceDataFetched requires params.token");if(!C)return L("sourceDataFetched requires params.ref");let P=ic(g);if(!P)return L("Invalid source token");let{cbk:G,cid:W,b:Ke,d:Se,cs:Ne,rqt:qe}=P,nt=ko(t.blobStorage("sources"),ot=>t.resolveBlob(ot)),st=t.genId();nt.ingestSourceDataStaged(W,Se,Ae(C),st);let gt=Sn(G);if(!gt)return L("Invalid callback token embedded in source token");let yt=be();return d({type:"task-progress",taskName:gt.taskName,update:{bindTo:Ke,outputFile:Se,fetchedAt:yt,deliveryToken:st,sourceChecksum:Ne,rqt:qe},timestamp:yt}),v(),ee()}catch(g){return Z(g)}}function Q(b){try{let g=b.params?.token,C=b.params?.reason??"unknown";if(!g)return L("sourceDataFetchFailure requires params.token");let P=ic(g);if(!P)return L("Invalid source token");let{cbk:G,b:W,d:Ke,cs:Se}=P,Ne=Sn(G);return Ne?(d({type:"task-progress",taskName:Ne.taskName,update:{bindTo:W,outputFile:Ke,failure:!0,reason:C,sourceChecksum:Se},timestamp:be()}),v(),ee()):L("Invalid callback token embedded in source token")}catch(g){return Z(g)}}function re(b){try{let g=i().readCardStoreRef();return g?ee({storeRef:g}):L(`Board at ${e.value} has no card store configured`)}catch(g){return Z(g)}}function oe(b){try{let g=i().readOutputsStoreRef();return g?ee({storeRef:g}):L(`Board at ${e.value} has no outputs store configured`)}catch(g){return Z(g)}}function Be(b){try{let g=b.params?.key;if(!g)return L("getOutputsDataObject requires params.key");let C=p().readDataObject(g);return ee(C)}catch(g){return Z(g)}}function bn(b){try{return ee(p().readAllDataObjects())}catch(g){return Z(g)}}function qt(b){try{let g=b.params?.key;if(!g)return L("getOutputsComputedValues requires params.key");let C=p().readComputedValues(g);return ee(C)}catch(g){return Z(g)}}function Eo(b){try{return ee(p().readAllComputedValues())}catch(g){return Z(g)}}return {init:y,status:_,getCardStoreRef:re,getOutputsStoreRef:oe,getOutputsDataObject:Be,getAllOutputsDataObjects:bn,getOutputsComputedValues:qt,getAllOutputsComputedValues:Eo,removeCard:k,retrigger:w,processAccumulatedEvents:A,upsertCard:R,taskFailed:O,taskProgress:H,sourceDataFetched:q,sourceDataFetchFailure:Q}}function Wh(e,t){let r=()=>$o(t.kvStorage("config"));function n(){let f=r().readCardStoreRef();if(!f)throw new Error(`Board at ${e.value} has no card store configured. Run: init --base-ref <ref> --store-ref <::kind::value>`);let d=t.kvStorageForRef(f);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=()=>gn(n(),t.onWarn??(()=>{}));function o(f,d){let m=t.validateSchema(d),v=[],y=r().readTaskExecutorRef();if(y&&Array.isArray(d.source_defs))for(let k of d.source_defs){let w=typeof k.bindTo=="string"?k.bindTo:"(unknown)",A=t.makeTempFilePath(`validate-src-${w}`);try{t.absoluteBlob.write(A,JSON.stringify(k));let R;try{R=t.invokeExecutorSync(y,"validate-source-def",["--in",A],{timeout:1e4});}catch(H){let q=H;if(R=typeof q?.stdout=="string"?q.stdout:"",!R.trim()){v.push(`source "${w}": executor validate-source-def failed \u2014 ${H instanceof Error?H.message:String(H)}`);continue}}let O=JSON.parse(R.trim());if(!O.ok&&Array.isArray(O.errors))for(let H of O.errors)v.push(`source "${w}": ${H}`);}catch(R){v.push(`source "${w}": executor validate-source-def failed \u2014 ${R instanceof Error?R.message:String(R)}`);}finally{try{t.absoluteBlob.remove(A);}catch{}}}let _=[...m.errors,...v];return ee({cardId:f,isValid:_.length===0,issues:_})}function a(f,d,m){let v=r().readTaskExecutorRef();if(!v)return L("No task-executor registered for this board");let y=typeof f.bindTo=="string"?f.bindTo:"source",_=t.makeTempFilePath(`probe-in-${y}`),k=t.makeTempFilePath(`probe-out-${y}`),w=t.makeTempFilePath(`probe-err-${y}`,".txt"),A={...f,boardDir:e.value,_projections:d},R=se({kind:"fs-path",value:_}),O=se({kind:"fs-path",value:k}),H=se({kind:"fs-path",value:w});t.absoluteBlob.write(_,JSON.stringify(A,null,2));let q=null;try{if(t.invokeExecutorSync(v,"run-source-fetch",["--in-ref",R,"--out-ref",O,"--err-ref",H],{timeout:f.timeout??3e4}),q=t.absoluteBlob.read(k),q===null)return L("Executor produced no output file")}catch(Q){let re=t.absoluteBlob.read(w)?.trim()??(Q instanceof Error?Q.message:String(Q));return L(`Probe failed: ${re}`)}finally{try{t.absoluteBlob.remove(_);}catch{}try{t.absoluteBlob.remove(w);}catch{}}if(m){let Q=Ae(m);t.absoluteBlob.write(Q.value,q);}else try{t.absoluteBlob.remove(k);}catch{}return ee({bindTo:y,resultSizeBytes:q.length})}function i(f){try{let d=f.params?.cardId,m=f.params?.all;if(!d&&!m)return L("validateCard requires --card-id <id> or --all");let v=m?s().readAllCards().map(_=>_.id):[d],y=[];for(let _ of v){let k=s().readCard(_);if(!k){y.push({cardId:_,isValid:!1,issues:[`Card "${_}" not found`]});continue}let w=o(_,k);if(w.status!=="success")return w;y.push(w.data);}return ee(y)}catch(d){return Z(d)}}function u(f){try{if(!f.body||typeof f.body!="object"||Array.isArray(f.body))return L("validateTmpCard requires card JSON object in body");let d=f.body,m=d["card-content"]??d,v=typeof m.id=="string"?m.id:"(unknown)";return o(v,m)}catch(d){return Z(d)}}function c(f){try{let d=f.params?.cardId,m=f.params?.sourceIdx,v=f.params?.outRef;if(!d)return L("probeSource requires params.cardId");if(m===void 0)return L("probeSource requires params.sourceIdx");let _=(f.body??{})["mock-projections"]??{},k=s().readCard(d);if(!k)return L(`Card "${d}" not found`);let w=k.source_defs??[];return m<0||m>=w.length?L(`sourceIdx ${m} out of range (card has ${w.length} source(s))`):a(w[m],_,v)}catch(d){return Z(d)}}function l(f){try{let d=f.params?.outRef,m=f.body;if(!m)return L('probeTmpSource requires body with "source-def" and "mock-projections"');let v=m["source-def"],y=m["mock-projections"]??{};return v?a(v,y,d):L('probeTmpSource body requires "source-def"')}catch(d){return Z(d)}}function p(f){try{let d=r().readTaskExecutorRef();if(!d)return L("No task-executor registered for this board");let m=t.invokeExecutorSync(d,"describe-capabilities",[],{timeout:1e4});return ee(JSON.parse(m.trim()))}catch(d){return Z(d)}}function S(f){try{let d=f.body;if(!d||!Array.isArray(d.ops))return L("updatesInCardStore requires body.ops array");let m=d.ops,v=s();for(let y of m){let _=y.op,k=y.id;if(!k)return L('op is missing "id"');if(_==="update"){let w=y["card-content"];if(!w)return L(`update op for "${k}" is missing "card-content"`);v.writeCard(k,w);}else return L(`Unknown op type: "${_??"(none)"}"`)}return ee()}catch(d){return Z(d)}}function h(f){try{let d=f.body;if(!d||!Array.isArray(d.ids))return L("readFromCardStore requires body.ids array");let m=d.ids,v=s(),y=m.map(_=>({id:_,"card-content":v.readCard(_)}));return ee({cards:y})}catch(d){return Z(d)}}return {validateCard:i,validateTmpCard:u,probeSource:c,probeTmpSource:l,describeTaskExecutorCapabilities:p,updatesInCardStore:S,readFromCardStore:h}}function Yh(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 Xh(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(l=>Math.max(0,Math.min(255,Number(l)||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 cc(){return new Date().toISOString()}function dc(e){return new TextEncoder().encode(e).byteLength}function br(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 Ro(e,t){e.write(_n,JSON.stringify(t,null,2));}function Qh(e){return e?{key:e.key,size:e.size,updatedAt:e.updatedAt,contentType:e.contentType}:null}function lc(e,t,r){e.entries[t]={key:t,size:r.size,updatedAt:r.updatedAt,contentType:r.contentType};}function Co(e){let t=String(e||"").match(/^(\d+)[-_]/);return t?parseInt(t[1],10):0}function Zh(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 eg(e){return String(e||"").toLowerCase().replace(/\s+/g,"_").replace(/[^a-z0-9_-]/g,"_").replace(/_+/g,"_").replace(/^_+|_+$/g,"")||"file"}function tg(e){if(!e||e===".")return "";let t=String(e).replace(/^\./,"").toLowerCase().replace(/[^a-z0-9]/g,"");return t?`.${t}`:""}function rg(e){let t=Zh(e),r=t.lastIndexOf(".");return r<=0||r===t.length-1?{stem:t,ext:""}:{stem:t.slice(0,r),ext:t.slice(r)}}function ng(e){let t=e.lastIndexOf("/");return t>=0?e.slice(t+1):e}function sg(e){function t(r){let n=e.stat?Qh(e.stat(r)):null;if(n)return n;let o=br(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:dc(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??cc(),o.size=o.size??dc(n);let a=br(e);return lc(a,r,o),Ro(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??cc(),o.size=o.size??n.byteLength;let a=br(e);return lc(a,r,o),Ro(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=br(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=br(e);delete n.entries[r],Ro(e,n);}}}function og(e,t){let r=t?.indexFileName||".index.json";function n(p){return `${p}/${r}`}function s(p){let S=e.getText(n(p));if(!S)return [];try{let h=JSON.parse(S);return Array.isArray(h)?h.filter(f=>f&&typeof f.stored_name=="string").map(f=>({serial:Number(f.serial||Co(String(f.stored_name))||0),role:String(f.role||"system").toLowerCase(),stored_name:String(f.stored_name),path:typeof f.path=="string"?f.path:`${p}/chats/${String(f.stored_name)}`,updated_at:typeof f.updated_at=="string"?f.updated_at:null})):[]}catch{return []}}function o(p,S){e.putText(n(p),JSON.stringify(S,null,2),"application/json; charset=utf-8");}function a(p){let S=s(p),h=0;for(let f of S){let d=Number(f.serial||0);Number.isFinite(d)&&d>h&&(h=d);}return h+1}function i(p,S){let h=s(p);h.push(S),o(p,h);}function u(p){let S=s(p),h=[];for(let f of S){let d=`${p}/${f.stored_name}`,m=e.getText(d);m!==null&&h.push({serial:Number(f.serial||Co(f.stored_name)||0),role:String(f.role||"system").toLowerCase(),text:m,path:typeof f.path=="string"?f.path:`${p}/chats/${f.stored_name}`,stored_name:f.stored_name,updated_at:f.updated_at||null});}return h.sort((f,d)=>f.serial-d.serial||f.stored_name.localeCompare(d.stored_name)),h}function c(p){let S=`${p}/`;for(let h of e.list(S))e.remove(h.key);}function l(p){let S=`${p}/`,h=e.list(S),f=0,d=0,m=false;for(let v of h){let y=v.key.slice(S.length);if(y===".processing"){m=true;continue}if(!/^(\d+)[-_]([a-z0-9_-]+)\.txt$/i.test(y))continue;f+=1;let _=v.updatedAt?Number(new Date(v.updatedAt).getTime()||0):0;_>d&&(d=_);}return {count:f,latest_mtime_ms:d,processing:m}}return {indexKey:n,loadIndex:s,saveIndex:o,nextSerial:a,appendIndexRecord:i,readRecords:u,clear:c,readSignal:l}}function ag(e){function t(s,o){let a=0,i=[];Array.isArray(o)&&i.push(...o);for(let u of e.list(`${s}/`))i.push(ng(u.key));for(let u of i){let c=Co(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}=rg(s),l=tg(c),p=eg(u),S=`${String(o).padStart(3,"0")}-`,h=l,f=i-S.length-h.length;f<1&&(h="",f=i-S.length);let d=p.slice(0,Math.max(1,f)),m=`${S}${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 ig(){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 ug=".board.lock";function cg(e,t,r){let n=e.value,{cmd:s,args:o}=Mt(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=>An(Cr(n,`.${u}`)),blobStorage:u=>u?xr(Cr(n,u)):xr(n),journalAdapter:()=>Yo(n),lock:Xo(Cr(n,ug)),selfRef:i,async dispatchExecution(u,c){if(r?.suppressSpawn)return {dispatched:false};try{let l=c.source_def?.bindTo??Rn().slice(0,8),p=Ft(n,`exec-in-${l}`),S=Ft(n,`exec-out-${l}`),h=Ft(n,`exec-err-${l}`,".txt"),f=se({kind:"fs-path",value:p}),d=se({kind:"fs-path",value:S}),m=se({kind:"fs-path",value:h});return zo({kind:"fs-path",value:p}).write(p,JSON.stringify(c,null,2)),Jo(u,{subcommand:"run-source-fetch",inRef:f,outRef:d,errRef:m},t),{dispatched:!0}}catch(l){return {dispatched:false,error:l instanceof Error?l.message:String(l)}}},resolveBlob(u){let c=Do(u.value)?Tn().read(u.value):xr(n).read(u.value);if(c===null)throw new Error(`resolveBlob: blob not found: ::${u.kind}::${u.value}`);return c},hashFn:Wo,genId:()=>Fo(`${Date.now()}-${Math.random()}`).slice(0,32),kvStorageForRef:u=>An(Ae(u).value),requestProcessAccumulated(){r?.suppressSpawn||Vo(t,e,r?.notifyChannel);},publishBoardChangeNotifications(u){if(!r?.notifyChannel||u.length===0)return;let c=u.map(l=>({id:Rn(),ts:new Date().toISOString(),boardRef:se(e),notification:l}));Go(r.notifyChannel,c,r.onWarn);},onWarn:r?.onWarn}}function Lv(e,t,r){let n=cg(e,t,r),s=Bo();return {...n,invokeExecutorSync(o,a,i,u){let{command:c,baseArgs:l}=Ho(o,t);return s.executeSync(c,[...l,a,...i],{timeout:u?.timeout??3e4,encoding:"utf-8"})},validateSchema(o){let a=yo(o);return {ok:a.errors.length===0,errors:a.errors}},makeTempFilePath(o,a){return Ft(e.value,o,a)},absoluteBlob:Tn()}}function Vv(e){try{let t=JSON.parse(Buffer.from(e,"base64url").toString());return typeof t.br=="string"?t.br:null}catch{return null}}
13
- export{rt as BOARD_GRAPH_KEY,vn as EMPTY_CONFIG,_r as SNAPSHOT_SCHEMA_VERSION_V1,sg as createArtifactsStore,Xh as createArtifactsStorePublic,Wh as createBoardLiveCardsNonCorePublic,zh as createBoardLiveCardsPublic,ig as createCardFileMetadataStore,gn as createCardStore,Yh as createCardStorePublic,og as createChatArtifactsStore,ag as createFileArtifactsStore,Lv as createFsBoardNonCorePlatformAdapter,cg as createFsBoardPlatformAdapter,Vv as decodeBoardRefFromToken,Ae as parseRef,se as serializeRef};//# sourceMappingURL=fs-board-adapter.js.map
12
+ `,"utf-8");},generateId(){return randomUUID()}}}function ta(e){return {tryAcquire(){try{if(!T.existsSync(e)){T.mkdirSync(ie.dirname(e),{recursive:!0});try{T.writeFileSync(e,"{}",{flag:"wx"});}catch{}}return lockSync(e,{retries:0})}catch{return null}}}}var ra={$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 Pu=Cc(Tu());var Ch=createRequire(import.meta.url),Eh=Ch("./jsonata-sync.cjs"),fn=null;var Au=/\b(card_data|requires|fetched_sources|computed_values|source_defs)\b/g,xh=/^\s*(card_data|requires|fetched_sources|computed_values|source_defs)(\.|$)/;function Th(e){let t=new Set,r;for(Au.lastIndex=0;(r=Au.exec(e))!==null;)t.add(r[1]);return t}function Ou(e){let t=xh.exec(e);return t?t[1]:null}function Iu(e,t,r,n){try{Eh(e);}catch(o){let a=o instanceof Error?o.message:String(o);n.push(`${t}: invalid JSONata expression (${a})`);return}let s=Th(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=Ou(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 Ah(){if(fn)return fn;let e=new Pu.default({allErrors:true});return $h(e),fn=e.compile(ra),fn}function ju(e){let t=Ah(),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 Nu(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||Iu(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=Ou(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||Iu(h,`/source_defs/${f}/projections/${y}`,i,t);}),{ok:t.length===0,errors:t}}function bo(e){let t=ju(e);if(!t.ok)return t;let r=Nu(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 qu(e){return e.tasks??{}}function wo(e){return e?e.status===tt.FAILED||e.status===tt.INACTIVATED:false}function Du(e,t){return e.refreshStrategy??t?.refreshStrategy??"data-changed"}function Fu(e){return e.maxExecutions}function Mu(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 Lu(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 Vu(e,t,r){let n=e.tasks[t]??pn(),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 Bu(e,t,r,n,s,o){let a=e.tasks[r]??pn(),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 Gu(e,t,r,n){let s=e.tasks[r]??pn(),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 Ku(e,t,r,n){let s=e.tasks[t]??pn(),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 Uu(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 pn(){return {status:"not-started",executionCount:0,retryCount:0,lastEpoch:0,messages:[],progress:null}}function mn(e,t){let r=`live-${Date.now()}`,n={};for(let o of Object.keys(e.tasks))n[o]=Hu();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 Ih(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:Vu(n,t.taskName,r)};case "task-completed":return {config:r,state:Bu(n,r,t.taskName,t.result,t.dataHash,t.data)};case "task-failed":return {config:r,state:Gu(n,r,t.taskName,t.error)};case "task-progress":return {config:r,state:Ku(n,t.taskName,t.message,t.progress)};case "task-restart":return {config:r,state:Uu(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:Fh(n,t.action)};case "task-upsert":return Ph(e,t.taskName,t.taskConfig);case "task-removal":return Oh(e,t.taskName);case "node-requires-add":return jh(e,t.nodeName,t.tokens);case "node-requires-remove":return Nh(e,t.nodeName,t.tokens);case "node-provides-add":return qh(e,t.nodeName,t.tokens);case "node-provides-remove":return Dh(e,t.nodeName,t.tokens);default:return e}}function Ju(e,t){return t.reduce((r,n)=>Ih(r,n),e)}function Ph(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]:Hu()},lastUpdated:new Date().toISOString()}}}function Oh(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 jh(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 Nh(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 qh(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 Dh(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 vr(e){return {version:1,config:e.config,state:e.state,snapshotAt:new Date().toISOString()}}function hn(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 Hu(){return {status:"not-started",executionCount:0,retryCount:0,lastEpoch:0,messages:[],progress:null}}function Fh(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 Sr(e){let{config:t,state:r}=e,n=qu(t);if(Object.keys(n).length===0)return {eligible:[],pending:[],unresolved:[],blocked:[],conflicts:{}};let o=Mh(n),a=Mu(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=Du(l,t.settings),v=m!=="once";if(d?.status===tt.RUNNING||wo(d))continue;let g=Fu(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,de]of Object.entries(n))if(ke(de).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,de]of Object.entries(n))if(ke(de).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 b=rt(l);if(b.length===0){u.push(h);continue}let _=[],w=[],A=[];for(let R of b){if(i.has(R))continue;let j=o[R]||[];j.length===0?_.push(R):j.every(F=>wo(r.tasks[F]))?A.push({token:R,failedProducer:j[0]}):w.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))]}):w.length>0?c.push({taskName:h,waitingOn:w}):u.push(h);}let y={};if(u.length>1){let h=Lu(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 Mh(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 Lh(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 Lh(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 Vh(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 Bh(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 zu(e){let t=JSON.stringify({t:e,n:Date.now().toString(36)+Math.random().toString(36).slice(2,6)});return Vh(t)}function Gh(e){try{let t=JSON.parse(Bh(e));return typeof t?.t=="string"?{taskName:t.t}:null}catch{return null}}function Wu(e,t,r){let{handlers:n,onDrain:s}=t,o=new br,a="state"in e&&"config"in e?e:mn(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(),b=o.drain(),_=[...g,...b];_.length>0&&(a=Ju(a,_));let w=Sr(a);_.length>0&&s?.(_,a,w);for(let A of w.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=zu(R),de=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(de);});u.add(de);}}function d(g){let _=a.config.tasks[g].requires??[],w=new Map;for(let[R,j]of Object.entries(a.config.tasks))for(let H of j.provides??[])w.set(H,R);let A={};for(let R of _){let j=w.get(R);j?A[R]=a.state.tasks[j]?.data:A[R]=void 0;}return A}async function m(g,b,_){let w=a.config.tasks[g],A=w.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:w,callbackToken:b,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 w=zu(g),A=m(g,w).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 b of g)b.type==="task-completed"&&b.data&&!b.dataHash?o.append({...b,dataHash:ko(b.data)}):o.append(b);h();}},resolveCallback(g,b,_){if(i)return;let w=Gh(g);if(!w)return;let{taskName:A}=w;if(a.config.tasks[A]){if(_&&_.length>0)o.append({type:"task-failed",taskName:A,error:_.join("; "),timestamp:new Date().toISOString()});else {let R=b&&Object.keys(b).length>0?ko(b):void 0;o.append({type:"task-completed",taskName:A,data:b,dataHash:R,timestamp:new Date().toISOString()});}h();}},addNode(g,b){i||(o.append({type:"task-upsert",taskName:g,taskConfig:b,timestamp:new Date().toISOString()}),h());},removeNode(g){i||(o.append({type:"task-removal",taskName:g,timestamp:new Date().toISOString()}),h());},addRequires(g,b){i||(o.append({type:"node-requires-add",nodeName:g,tokens:b,timestamp:new Date().toISOString()}),h());},removeRequires(g,b){i||(o.append({type:"node-requires-remove",nodeName:g,tokens:b,timestamp:new Date().toISOString()}),h());},addProvides(g,b){i||(o.append({type:"node-provides-add",nodeName:g,tokens:b,timestamp:new Date().toISOString()}),h());},removeProvides(g,b){i||(o.append({type:"node-provides-remove",nodeName:g,tokens:b,timestamp:new Date().toISOString()}),h());},registerHandler(g,b){c.set(g,b);},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 b of g)a.config.tasks[b]&&o.append({type:"task-restart",taskName:b,timestamp:new Date().toISOString()});h();}},snapshot(){return vr(a)},getState(){return a},getSchedule(){return Sr(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 Uh=createRequire(import.meta.url),gn=Uh("./jsonata-sync.cjs"),Qu=gn;function Yu(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 Zu(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 Jh(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 gn(s.expr).evaluate(n);Zu(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 Hh(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=Qu(o.expr).evaluate(n);Zu(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 zh(e,t,r){let n={...r??{},card_data:t.card_data??{},requires:t.requires??{},fetched_sources:t._sourcesData??{},computed_values:t.computed_values??{}};return gn(e).evaluate(n)}function Wh(e,t){return t.startsWith("fetched_sources.")?Yu(e._sourcesData??{},t.slice(16)):Yu(e,t)}var Xu=new Set(["metric","table","editable-table","chart","form","filter","list","notes","todo","alert","narrative","badge","text","markdown","ref","custom","actions"]),Yh=new Set(["id","meta","requires","provides","view","card_data","compute","source_defs"]);function Xh(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))Yh.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`):Xu.has(s.kind)||t.push(`view.elements[${o}].kind: unknown kind "${s.kind}". Valid: ${[...Xu].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 Qh(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 gn(a).evaluate(r);}catch{s[o]=void 0;}}return {...n,_projections:s}}))}function Zh(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]=Qu(a).evaluate(r);}catch{s[o]=void 0;}}return {...n,_projections:s}})}var yn={run:Jh,runSync:Hh,eval:zh,resolve:Wh,validate:Xh,enrichSources:Qh,enrichSourcesSync:Zh};function vn(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 rc(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 nc(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 wr="v1",nt="board/graph",sc="board/lastJournalProcessedId";function ec(e){return `cards/${e}/runtime`}function oc(e){return {readRuntime(t){return e.read(ec(t))??{_sources:{}}},writeRuntime(t,r){e.write(ec(t),r);}}}function eg(e,t){let r={...e};for(let n of t.deleteKeys)delete r[n];return {...r,...t.shallowMerge}}function ac(e){return {readSnapshot(t){return e.readValues(t)},commitSnapshot(t,r){if(r.schemaVersion!==wr)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=eg(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 ic(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 tg(e){return e?.lastRequestedAt?!e.lastFetchedAt||e.lastFetchedAt<e.lastRequestedAt:false}function rg(e,t){return e?.lastRequestedAt?tg(e)?"in-flight":!e.lastFetchedAt||e.lastFetchedAt<t?"dispatch":"idle":"dispatch"}function ng(e,t){let r={...e,lastFetchedAt:t};return delete r.lastError,r}function tc(e,t){let r={...e,lastError:t};return delete r.lastFetchedAt,r}function Sn(e,t){let r=t.state.tasks,n=t.config.tasks,s=Object.keys(r),o=Sr(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??[],b=Object.keys(d.data??{}).sort(),_=v.filter(F=>t.state.availableOutputs.includes(F)),w=v.filter(F=>!t.state.availableOutputs.includes(F)),A=i.get(l)??w,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:w,provides_declared:g,provides_runtime:b,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(b=>(u.get(b)??[]).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 sg(){return new Date().toISOString()}function uc(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,B)=>{l._sources[M]=B,d=true;},b=i.taskState?.executionCount??0,_=l._lastExecutionCount;if(typeof _=="number"&&_!==b&&(l._sources={},d=true),_!==b&&(l._lastExecutionCount=b,d=true),i.update){let M=i.update,B=M.outputFile;if(B){let k=v(B);if(M.failure)g(B,tc(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,I=false;C&&(I=r.fetchedSourcesStore.commitSourceData(f,B,C)),I?g(B,ng(k,S)):g(B,tc(k,`source delivery commit failed for ${B} token=${String(C)}`));}}m();}}let w={};for(let M of y)if(M.outputFile){let B=r.fetchedSourcesStore.readSourceData(f,M.outputFile);B!==null&&(w[M.bindTo]=B);}let A={};for(let[M,B]of Object.entries(i.state??{}))if(B!==null&&typeof B=="object"&&!Array.isArray(B)){let k=B[M];A[M]=k!==void 0?k:B;}else A[M]=B;let R={id:f,card_data:{...p},requires:A,source_defs:y,compute:c.compute};R._sourcesData=w,c.compute&&yn.runSync(R,{sourcesData:w}),(o??r.outputStore.writeComputedValues.bind(r.outputStore))(f,R.computed_values??{});let j={...c},H=yn.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=sg(),de=i.update?void 0:z,ae=h.filter(M=>{let B=M.outputFile;if(typeof B!="string"||!B)return true;let k=v(B);de&&(k={...k,queueRequestedAt:de},g(B,k));let S=k.queueRequestedAt??k.lastRequestedAt??z,C=rg(k,S);return C==="in-flight"?false:C==="dispatch"});if(m(),ae.length>0){let M=false,B=z;for(let k of ae){let S=k.outputFile;if(typeof S!="string"||!S)continue;let C=v(S),I=C.queueRequestedAt??z;g(S,{...C,lastRequestedAt:I}),B=I,M=true;}return M&&m(),M&&(u.push({taskKind:"source-fetch",payload:{boardRef:se(e),enrichedCard:j,callbackToken:i.callbackToken,rqt:B}}),r.executionRequestStore.appendEntries(t,u)),"task-initiated"}let st=c.provides??[],Ft={};for(let{bindTo:M,ref:B}of st)Ft[M]=yn.resolve(R,B);return (a??r.outputStore.writeDataObjects.bind(r.outputStore))(Ft),y.filter(M=>{if(M.optionalForCompletionGating!==true)return false;let B=v(M.outputFile);return !B.lastRequestedAt||!B.lastFetchedAt?true:B.lastFetchedAt<=B.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 cc(e){return {[nt]:e.graph,[sc]:e.lastDrainedJournalId}}function dc(e){let t=e[nt],r=e[sc];if(!t||typeof t!="object")throw new Error(`State snapshot is missing required key: ${nt}`);return {graph:t,lastDrainedJournalId:typeof r=="string"?r:""}}function lc(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 og(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 pc(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 wn(e){try{let t=JSON.parse(pc(e));return typeof t?.t=="string"?{taskName:t.t}:null}catch{return null}}function ag(e){return og(JSON.stringify(e))}function fc(e){try{let t=JSON.parse(pc(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 ig(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,I){return S.write(C,I),t.hashFn(I)},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 I={};for(let X of C)I[X]=S.read(X);return {version:t.hashFn(I),values:I}},writeValues(k,S,C){let I=t.kvStorage("state-snapshot");for(let X of C)I.delete(X);for(let[X,re]of Object.entries(S))I.write(X,re);return t.hashFn(S)}},i=()=>Eo(t.kvStorage("config")),u=()=>ac(a),c=()=>rc(t.journalAdapter()),f=()=>vn(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 ic(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 dc(k.values)}function l(k,S){let C=u().commitSnapshot(e.value,{schemaVersion:wr,expectedVersion:S,commitId:t.genId(),committedAt:_e(),deleteKeys:[],shallowMerge:cc(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=nc(t.kvStorage("execution-requests"),k),C=oc(t.kvStorage("card-runtime")),I=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=[],we=new Map,Me={readSourceData(x,O){let ne=`${x}/${O}`;return we.has(ne)?we.get(ne):I.readSourceData(x,O)},ingestSourceDataStaged(x,O,ne,bt){I.ingestSourceDataStaged(x,O,ne,bt);},commitSourceData(x,O,ne){let bt=`${x}/.staged/${ne}/${O}`,Rr=t.blobStorage("sources").read(bt);if(Rr==null)return false;let wt=`${x}/${O}`,jo=Rr.trim();try{we.set(wt,JSON.parse(jo));}catch{we.set(wt,jo);}return Ue.push({cardId:x,outputFile:O,deliveryToken:ne}),true},hasSource(x,O){let ne=`${x}/${O}`;return we.has(ne)?true:I.hasSource(x,O)}},Oe={cardStore:f(),cardRuntimeStore:re,fetchedSourcesStore:Me,outputStore:p(),executionRequestStore:S},ot=h(),at=hn(ot.graph),{events:vt,newCursor:St}=c().readEntriesAfterCursor(ot.lastDrainedJournalId),it=[],_n=[],$n=[],Io=new Map,yc=(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=Wu(at,{handlers:{"card-handler":uc(e,St,Oe,yc,Po,(x,O)=>{_n.push({cardId:x,values:O});},x=>{$n.push(x);})}});for(it=vt;it.length>0;){let x=it;it=[];for(let O of x)if(O.type==="task-restart"){let ne=Oe.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 vc=u().readSnapshot(e.value).version;l({lastDrainedJournalId:St,graph:vr(Oo)},vc);for(let{cardId:x,values:O}of _n)Oe.outputStore.writeComputedValues(x,O);for(let x of $n)Oe.outputStore.writeDataObjects(x);for(let[x,O]of X)C.writeRuntime(x,O);for(let{cardId:x,outputFile:O,deliveryToken:ne}of Ue)I.commitSourceData(x,O,ne);let $r;try{$r=Sn(n,Oo),Oe.outputStore.writeStatusSnapshot($r);}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 $n)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});$r!==void 0&&Mt.push({kind:"status",status:$r}),s(Mt);let Sc=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",bt=O.enrichedCard?.source_defs??[];for(let Je of bt){if(!Je.outputFile){r(`[dispatch] source "${Je.bindTo}" has no outputFile \u2014 skipping`);continue}let Rr=ag({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(Sc,{source_def:Je,base_ref:se(e),callback:{token:Rr,via:t.selfRef}}).catch(wt=>Po(ne,wt instanceof Error?wt.message:String(wt)));}});}async function v(){try{let k=()=>{let C=h(),{events:I}=c().readEntriesAfterCursor(C.lastDrainedJournalId);I.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=mn(bn);l({lastDrainedJournalId:"",graph:vr(re)},null);}let C=k.params?.outputsStoreRef;if(!C)return q("init requires params.outputsStoreRef \u2014 pass the outputs store ref here");let I=i();I.writeCardStoreRef(S),I.writeOutputsStoreRef(C);let X=k.body??{};X["task-executor-ref"]&&I.writeTaskExecutorRef(X["task-executor-ref"]),X["chat-handler-ref"]&&I.writeChatHandlerRef(X["chat-handler-ref"]);try{p().writeStatusSnapshot(Sn(n,hn(h().graph)));}catch{}return te()}catch(S){return ee(S)}}function b(k){try{let S=p().readStatusSnapshot();if(!S){S=Sn(n,hn(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 w(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,I=!!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),we=lc(Ue),Me=t.hashFn(we),Oe=t.kvStorage("card-upsert"),ot=Oe.read(re),at=ot?.taskConfigHash!==Me;if(!(!at&&!I)){if(at){let vt=ot?.blobRef??f().readCardKey(re)??re;d({type:"task-upsert",taskName:re,taskConfig:we,timestamp:_e()}),Oe.write(re,{blobRef:vt,taskConfigHash:Me,updatedAt:_e()});}I&&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",I=wn(S);return I?(d({type:"task-failed",taskName:I.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 I=(k.body??{}).update??{},X=wn(S);return X?(d({type:"task-progress",taskName:X.taskName,update:I,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 I=fc(S);if(!I)return q("Invalid source token");let{cbk:X,cid:re,b:Ue,d:we,cs:Me,rqt:Oe}=I,ot=Co(t.blobStorage("sources"),it=>t.resolveBlob(it)),at=t.genId();ot.ingestSourceDataStaged(re,we,je(C),at);let vt=wn(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:we,fetchedAt:St,deliveryToken:at,sourceChecksum:Me,rqt:Oe},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 I=fc(S);if(!I)return q("Invalid source token");let{cbk:X,b:re,d:Ue,cs:we}=I,Me=wn(X);return Me?(d({type:"task-progress",taskName:Me.taskName,update:{bindTo:re,outputFile:Ue,failure:!0,reason:C,sourceChecksum:we},timestamp:_e()}),v(),te()):q("Invalid callback token embedded in source token")}catch(S){return ee(S)}}function de(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(),I;switch(S){case "task-executor":I=C.readTaskExecutorRef()??null;break;case "chat-handler":I=C.readChatHandlerRef()??null;break;case "card-store-ref":I=C.readCardStoreRef();break;case "outputs-store-ref":I=C.readOutputsStoreRef();break;default:return q(`getConfig: unknown key "${S}"`)}return te({value:I})}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 B(k){try{return te(p().readAllComputedValues())}catch(S){return ee(S)}}return {init:g,status:b,getCardStoreRef:de,getOutputsStoreRef:ae,getConfig:st,getOutputsDataObject:Ft,getAllOutputsDataObjects:Ao,getOutputsComputedValues:M,getAllOutputsComputedValues:B,removeCard:_,retrigger:w,processAccumulatedEvents:A,upsertCard:R,taskFailed:j,taskProgress:H,sourceDataFetched:F,sourceDataFetchFailure:z}}function ug(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=()=>vn(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 w=typeof _.bindTo=="string"?_.bindTo:"(unknown)",A=t.makeTempFilePath(`validate-src-${w}`);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 "${w}": executor validate-source-def failed \u2014 ${H instanceof Error?H.message:String(H)}`);continue}}let j=JSON.parse(R.trim());if(!j.ok&&Array.isArray(j.errors))for(let H of j.errors)v.push(`source "${w}": ${H}`);}catch(R){v.push(`source "${w}": executor validate-source-def failed \u2014 ${R instanceof Error?R.message:String(R)}`);}finally{try{t.absoluteBlob.remove(A);}catch{}}}let b=[...m.errors,...v];return te({cardId:l,isValid:b.length===0,issues:b})}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",b=t.makeTempFilePath(`probe-in-${g}`),_=t.makeTempFilePath(`probe-out-${g}`),w=t.makeTempFilePath(`probe-err-${g}`,".txt"),A={...l,boardDir:e.value,_projections:d},R=se({kind:"fs-path",value:b}),j=se({kind:"fs-path",value:_}),H=se({kind:"fs-path",value:w});t.absoluteBlob.write(b,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 de=t.absoluteBlob.read(w)?.trim()??(z instanceof Error?z.message:String(z));return q(`Probe failed: ${de}`)}finally{try{t.absoluteBlob.remove(b);}catch{}try{t.absoluteBlob.remove(w);}catch{}}if(m){let z=je(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(b=>b.id):[d],g=[];for(let b of v){let _=s().readCard(b);if(!_){g.push({cardId:b,isValid:!1,issues:[`Card "${b}" not found`]});continue}let w=o(b,_);if(w.status!=="success")return w;g.push(w.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 b=(l.body??{})["mock-projections"]??{},_=s().readCard(d);if(!_)return q(`Card "${d}" not found`);let w=_.source_defs??[];return m<0||m>=w.length?q(`sourceIdx ${m} out of range (card has ${w.length} source(s))`):a(w[m],b,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 b=g.op,_=g.id;if(!_)return q('op is missing "id"');if(b==="update"){let w=g["card-content"];if(!w)return q(`update op for "${_}" is missing "card-content"`);v.writeCard(_,w);}else return q(`Unknown op type: "${b??"(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(b=>({id:b,"card-content":v.readCard(b)}));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 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 {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 dg(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 kn=".artifacts-index.json";function mc(){return new Date().toISOString()}function hc(e){return new TextEncoder().encode(e).byteLength}function kr(e){let t=e.read(kn);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(kn,JSON.stringify(t,null,2));}function lg(e){return e?{key:e.key,size:e.size,updatedAt:e.updatedAt,contentType:e.contentType}:null}function gc(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 fg(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 pg(e){return String(e||"").toLowerCase().replace(/\s+/g,"_").replace(/[^a-z0-9_-]/g,"_").replace(/_+/g,"_").replace(/^_+|_+$/g,"")||"file"}function mg(e){if(!e||e===".")return "";let t=String(e).replace(/^\./,"").toLowerCase().replace(/[^a-z0-9]/g,"");return t?`.${t}`:""}function hg(e){let t=fg(e),r=t.lastIndexOf(".");return r<=0||r===t.length-1?{stem:t,ext:""}:{stem:t.slice(0,r),ext:t.slice(r)}}function gg(e){let t=e.lastIndexOf("/");return t>=0?e.slice(t+1):e}function yg(e){function t(r){let n=e.stat?lg(e.stat(r)):null;if(n)return n;let o=kr(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:hc(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??mc(),o.size=o.size??hc(n);let a=kr(e);return gc(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??mc(),o.size=o.size??n.byteLength;let a=kr(e);return gc(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===kn)continue;let a=t(o)??{key:o};n.set(o,a);}let s=kr(e);for(let[o,a]of Object.entries(s.entries))o===kn||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=kr(e);delete n.entries[r],xo(e,n);}}}function vg(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 b=v.updatedAt?Number(new Date(v.updatedAt).getTime()||0):0;b>d&&(d=b);}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 Sg(e){function t(s,o){let a=0,i=[];Array.isArray(o)&&i.push(...o);for(let u of e.list(`${s}/`))i.push(gg(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}=hg(s),f=mg(c),p=pg(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 bg(){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 kg(e,t,r){let n=e.value,s=r?.suppressSpawn?"":Ko(t),o={meta:"board-live-cards",howToRun:"local-node",whatToRun:s?se({kind:"fs-path",value:s}):"",...r?.notifyChannel?{extra:{notifyChannel:r.notifyChannel}}:{}};return {kvStorage:a=>On(xr(n,`.${a}`)),blobStorage:a=>a?Ar(xr(n,a)):Ar(n),journalAdapter:()=>ea(n),lock:ta(xr(n,wg)),selfRef:o,async dispatchExecution(a,i){if(r?.suppressSpawn)return {dispatched:false};try{let u=i.source_def?.bindTo??Cn().slice(0,8),c=Lt(n,`exec-in-${u}`),f=Lt(n,`exec-out-${u}`),p=Lt(n,`exec-err-${u}`,".txt"),y=se({kind:"fs-path",value:c}),h=se({kind:"fs-path",value:f}),l=se({kind:"fs-path",value:p});return Qo({kind:"fs-path",value:c}).write(c,JSON.stringify(i,null,2)),Xo(a,{subcommand:"run-source-fetch",inRef:y,outRef:h,errRef:l},t),{dispatched:!0}}catch(u){return {dispatched:false,error:u instanceof Error?u.message:String(u)}}},resolveBlob(a){let i=Lo(a.value)?Pn().read(a.value):Ar(n).read(a.value);if(i===null)throw new Error(`resolveBlob: blob not found: ::${a.kind}::${a.value}`);return i},hashFn:Zo,genId:()=>Vo(`${Date.now()}-${Math.random()}`).slice(0,32),kvStorageForRef:a=>On(je(a).value),requestProcessAccumulated(){r?.suppressSpawn||Uo(t,e,r?.notifyChannel);},publishBoardChangeNotifications(a){if(!r?.notifyChannel||a.length===0)return;let i=a.map(u=>({id:Cn(),ts:new Date().toISOString(),boardRef:se(e),notification:u}));Jo(r.notifyChannel,i,r.onWarn);},onWarn:r?.onWarn}}function oS(e,t,r){let n=kg(e,t,r),s=Tn();return {...n,invokeExecutorSync(o,a,i,u){let{command:c,baseArgs:f}=Yo(o,t);return s.executeSync(c,[...f,a,...i],{timeout:u?.timeout??3e4,encoding:"utf-8"})},validateSchema(o){let a=bo(o);return {ok:a.errors.length===0,errors:a.errors}},makeTempFilePath(o,a){return Lt(e.value,o,a)},absoluteBlob:Pn()}}function aS(e){try{let t=JSON.parse(Buffer.from(e,"base64url").toString());return typeof t.br=="string"?t.br:null}catch{return null}}
13
+ export{nt as BOARD_GRAPH_KEY,bn as EMPTY_CONFIG,wr as SNAPSHOT_SCHEMA_VERSION_V1,yg as createArtifactsStore,dg as createArtifactsStorePublic,ug as createBoardLiveCardsNonCorePublic,ig as createBoardLiveCardsPublic,bg as createCardFileMetadataStore,vn as createCardStore,cg as createCardStorePublic,vg as createChatArtifactsStore,Sg as createFileArtifactsStore,oS as createFsBoardNonCorePlatformAdapter,kg as createFsBoardPlatformAdapter,aS as decodeBoardRefFromToken,je as parseRef,se as serializeRef};//# sourceMappingURL=fs-board-adapter.js.map
14
14
  //# sourceMappingURL=fs-board-adapter.js.map