yaml-flow 8.2.5 → 8.4.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 (93) hide show
  1. package/browser/asset-integrity.json +3 -3
  2. package/browser/board-livecards-client.js +1 -1
  3. package/browser/board-livecards-localstorage.js +6 -4
  4. package/browser/live-cards.js +19 -25
  5. package/cli/{board-live-cards-lib-Iq_XAC09.d.ts → board-live-cards-lib-tjYsPt5U.d.ts} +1 -1
  6. package/cli/browser-api/board-live-cards-browser-adapter.d.ts +3 -3
  7. package/cli/browser-api/board-live-cards-browser-adapter.js +3 -2
  8. package/cli/browser-api/card-store-browser-api.d.ts +1 -1
  9. package/cli/browser-api/card-store-browser-api.js +1 -1
  10. package/cli/{execution-interface-ftO1W7Po.d.ts → execution-interface-DCFBy4L8.d.ts} +151 -2
  11. package/cli/node/artifacts-store-cli.js +5 -5
  12. package/cli/node/batch-runner-cli.d.ts +3 -0
  13. package/cli/node/batch-runner-cli.js +2 -1
  14. package/cli/node/board-live-cards-cli.js +14 -8
  15. package/cli/node/card-store-cli.js +6 -6
  16. package/cli/node/chat-store-cli.d.ts +23 -0
  17. package/cli/node/chat-store-cli.js +8 -0
  18. package/cli/node/execution-adapter.d.ts +4 -2
  19. package/cli/node/execution-adapter.js +2 -2
  20. package/cli/node/fs-board-adapter.d.ts +75 -75
  21. package/cli/node/fs-board-adapter.js +14 -10
  22. package/cli/node/source-cli-task-executor.js +4 -4
  23. package/cli/node/step-machine-cli.js +3 -3
  24. package/cli/{types--rXGWbSR.d.ts → types-Dc2VRMUw.d.ts} +27 -124
  25. package/examples/board/demo-shell-with-server.html +3 -196
  26. package/examples/board/doc.html +465 -0
  27. package/examples/board/server/board-server.js +30 -82
  28. package/examples/board/server/board-worker/source_def_flows.json +2 -2
  29. package/examples/board/server/chat-flow/copilot-chat/assistant.js +44 -185
  30. package/examples/board/server/chat-flow/copilot-chat/copilot_wrapper.bat +157 -0
  31. package/examples/board/server/chat-flow/copilot-chat/copilot_wrapper_helper.ps1 +190 -0
  32. package/examples/board/server/chat-flow/flow-steps.json +122 -56
  33. package/examples/board/test/server-http-test.js +252 -220
  34. package/examples/board-local/demo-shell-localstorage.html +3 -3
  35. package/lib/{artifacts-store-lib-public-GD4H-fFp.d.ts → artifacts-store-lib-454TAuov.d.ts} +2 -32
  36. package/lib/{artifacts-store-lib-public-C5UL5tyG.d.cts → artifacts-store-lib-zsGFbBV8.d.cts} +2 -32
  37. package/lib/artifacts-store-public.d.cts +34 -3
  38. package/lib/artifacts-store-public.d.ts +34 -3
  39. package/lib/board-live-cards-node.cjs +14 -10
  40. package/lib/board-live-cards-node.d.cts +42 -21
  41. package/lib/board-live-cards-node.d.ts +42 -21
  42. package/lib/board-live-cards-node.js +14 -10
  43. package/lib/{board-live-cards-public-BLXbcBNk.d.cts → board-live-cards-public-BM6jCEIa.d.cts} +25 -5
  44. package/lib/{board-live-cards-public-BZaNb2mi.d.ts → board-live-cards-public-Bz07XKRK.d.ts} +25 -5
  45. package/lib/board-live-cards-public.cjs +2 -2
  46. package/lib/board-live-cards-public.d.cts +2 -2
  47. package/lib/board-live-cards-public.d.ts +2 -2
  48. package/lib/board-live-cards-public.js +2 -2
  49. package/lib/board-live-cards-server-runtime.cjs +4 -4
  50. package/lib/board-live-cards-server-runtime.d.cts +5 -3
  51. package/lib/board-live-cards-server-runtime.d.ts +5 -3
  52. package/lib/board-live-cards-server-runtime.js +4 -4
  53. package/lib/board-worker-adapter.cjs +2 -2
  54. package/lib/board-worker-adapter.js +2 -2
  55. package/lib/card-store-public.d.cts +2 -2
  56. package/lib/card-store-public.d.ts +2 -2
  57. package/lib/chat-storage-lib-DGaKrjVe.d.ts +53 -0
  58. package/lib/chat-storage-lib-OX0Q_Ttf.d.cts +53 -0
  59. package/lib/chat-store-public.cjs +2 -0
  60. package/lib/chat-store-public.d.cts +128 -0
  61. package/lib/chat-store-public.d.ts +128 -0
  62. package/lib/chat-store-public.js +2 -0
  63. package/lib/execution-refs.cjs +1 -1
  64. package/lib/execution-refs.d.cts +10 -1
  65. package/lib/execution-refs.d.ts +10 -1
  66. package/lib/execution-refs.js +1 -1
  67. package/lib/index.d.cts +1 -1
  68. package/lib/index.d.ts +1 -1
  69. package/lib/server-runtime/index.cjs +4 -4
  70. package/lib/server-runtime/index.d.cts +6 -4
  71. package/lib/server-runtime/index.d.ts +6 -4
  72. package/lib/server-runtime/index.js +4 -4
  73. package/lib/step-machine-public/index.cjs +3 -3
  74. package/lib/step-machine-public/index.d.cts +1 -1
  75. package/lib/step-machine-public/index.d.ts +1 -1
  76. package/lib/step-machine-public/index.js +3 -3
  77. package/lib/{storage-interface-B6ecOulj.d.ts → storage-interface-B-7pDHwD.d.cts} +36 -1
  78. package/lib/{storage-interface-B6ecOulj.d.cts → storage-interface-B-7pDHwD.d.ts} +36 -1
  79. package/lib/stores/index.d.cts +1 -1
  80. package/lib/stores/index.d.ts +1 -1
  81. package/lib/stores/kv.d.cts +1 -1
  82. package/lib/stores/kv.d.ts +1 -1
  83. package/lib/{types-D-xVWPdY.d.ts → types-Cn0b8G-i.d.ts} +16 -65
  84. package/lib/{types-Bztd1KoK.d.cts → types-Dszjwfud.d.cts} +16 -65
  85. package/package.json +8 -2
  86. package/examples/board/.board-ws/cards/store/_index.json +0 -17
  87. package/examples/board/.board-ws/cards/store/card-market-prices.json +0 -80
  88. package/examples/board/.board-ws/cards/store/card-portfolio-value.json +0 -90
  89. package/examples/board/.board-ws/cards/store/card-portfolio.json +0 -78
  90. package/examples/board/server/chat-flow/chat-clear-processing.js +0 -41
  91. package/examples/board/server/chat-flow/chat-open-turn.js +0 -144
  92. package/examples/board/server/chat-flow/chat-write-assistant.js +0 -44
  93. package/examples/board/server/chat-flow/echo-probe/assistant.js +0 -28
@@ -1,15 +1,21 @@
1
1
  #!/usr/bin/env node
2
- import {spawn,execFile,execFileSync}from'child_process';import*as I from'fs';import {existsSync}from'fs';import*as qn from'os';import*as ue from'path';import {dirname,resolve}from'path';import*as Wo from'net';import {fileURLToPath}from'url';import {createHash,randomUUID}from'crypto';import {createRequire}from'module';import {lockSync}from'proper-lockfile';import jg from'ajv-formats';var Ac=Object.create;var Uo=Object.defineProperty;var Ic=Object.getOwnPropertyDescriptor;var Pc=Object.getOwnPropertyNames;var Oc=Object.getPrototypeOf,jc=Object.prototype.hasOwnProperty;var x=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Nc=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Pc(t))!jc.call(e,s)&&s!==r&&Uo(e,s,{get:()=>t[s],enumerable:!(n=Ic(t,s))||n.enumerable});return e};var qc=(e,t,r)=>(r=e!=null?Ac(Oc(e)):{},Nc(Uo(r,"default",{value:e,enumerable:true}),e));var sr=x(W=>{Object.defineProperty(W,"__esModule",{value:true});W.regexpCode=W.getEsmExportName=W.getProperty=W.safeStringify=W.stringify=W.strConcat=W.addCodeArg=W.str=W._=W.nil=W._Code=W.Name=W.IDENTIFIER=W._CodeOrName=void 0;var rr=class{};W._CodeOrName=rr;W.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var yt=class extends rr{constructor(t){if(super(),!W.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}}};W.Name=yt;var Ae=class extends rr{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 yt&&(r[n.str]=(r[n.str]||0)+1),r),{})}};W._Code=Ae;W.nil=new Ae("");function pa(e,...t){let r=[e[0]],n=0;for(;n<t.length;)zn(r,t[n]),r.push(e[++n]);return new Ae(r)}W._=pa;var Jn=new Ae("+");function ma(e,...t){let r=[nr(e[0])],n=0;for(;n<t.length;)r.push(Jn),zn(r,t[n]),r.push(Jn,nr(e[++n]));return id(r),new Ae(r)}W.str=ma;function zn(e,t){t instanceof Ae?e.push(...t._items):t instanceof yt?e.push(t):e.push(dd(t));}W.addCodeArg=zn;function id(e){let t=1;for(;t<e.length-1;){if(e[t]===Jn){let r=ud(e[t-1],e[t+1]);if(r!==void 0){e.splice(t-1,3,r);continue}e[t++]="+";}t++;}}function ud(e,t){if(t==='""')return e;if(e==='""')return t;if(typeof e=="string")return t instanceof yt||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 yt))return `"${e}${t.slice(1)}`}function cd(e,t){return t.emptyStr()?e:e.emptyStr()?t:ma`${e}${t}`}W.strConcat=cd;function dd(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:nr(Array.isArray(e)?e.join(","):e)}function ld(e){return new Ae(nr(e))}W.stringify=ld;function nr(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}W.safeStringify=nr;function fd(e){return typeof e=="string"&&W.IDENTIFIER.test(e)?new Ae(`.${e}`):pa`[${e}]`}W.getProperty=fd;function pd(e){if(typeof e=="string"&&W.IDENTIFIER.test(e))return new Ae(`${e}`);throw new Error(`CodeGen: invalid export name: ${e}, use explicit $id name mapping`)}W.getEsmExportName=pd;function md(e){return new Ae(e.toString())}W.regexpCode=md;});var Yn=x(we=>{Object.defineProperty(we,"__esModule",{value:true});we.ValueScope=we.ValueScopeName=we.Scope=we.varKinds=we.UsedValueState=void 0;var be=sr(),Hn=class extends Error{constructor(t){super(`CodeGen: "code" for ${t} not defined`),this.value=t.value;}},Kr;(function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed";})(Kr||(we.UsedValueState=Kr={}));we.varKinds={const:new be.Name("const"),let:new be.Name("let"),var:new be.Name("var")};var Ur=class{constructor({prefixes:t,parent:r}={}){this._names={},this._prefixes=t,this._parent=r;}toName(t){return t instanceof be.Name?t:this.name(t)}name(t){return new be.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}}};we.Scope=Ur;var Jr=class extends be.Name{constructor(t,r){super(r),this.prefix=t;}setValue(t,{property:r,itemIndex:n}){this.value=t,this.scopePath=(0, be._)`.${new be.Name(r)}[${n}]`;}};we.ValueScopeName=Jr;var gd=(0, be._)`\n`,Wn=class extends Ur{constructor(t){super(t),this._values={},this._scope=t.scope,this.opts={...t,_n:t.lines?gd:be.nil};}get(){return this._scope}name(t){return new Jr(t,this._newName(t))}value(t,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let s=this.toName(t),{prefix:o}=s,a=(n=r.key)!==null&&n!==void 0?n:r.ref,i=this._values[o];if(i){let d=i.get(a);if(d)return d}else i=this._values[o]=new Map;i.set(a,s);let u=this._scope[o]||(this._scope[o]=[]),c=u.length;return u[c]=r.ref,s.setValue(r,{property:o,itemIndex:c}),s}getValue(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, be._)`${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=be.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,Kr.Started);let d=r(c);if(d){let l=this.opts.es5?we.varKinds.var:we.varKinds.const;o=(0, be._)`${o}${l} ${c} = ${d};${this.opts._n}`;}else if(d=s?.(c))o=(0, be._)`${o}${d}${this.opts._n}`;else throw new Hn(c);u.set(c,Kr.Completed);});}return o}};we.ValueScope=Wn;});var B=x(V=>{Object.defineProperty(V,"__esModule",{value:true});V.or=V.and=V.not=V.CodeGen=V.operators=V.varKinds=V.ValueScopeName=V.ValueScope=V.Scope=V.Name=V.regexpCode=V.stringify=V.getProperty=V.nil=V.strConcat=V.str=V._=void 0;var J=sr(),je=Yn(),tt=sr();Object.defineProperty(V,"_",{enumerable:true,get:function(){return tt._}});Object.defineProperty(V,"str",{enumerable:true,get:function(){return tt.str}});Object.defineProperty(V,"strConcat",{enumerable:true,get:function(){return tt.strConcat}});Object.defineProperty(V,"nil",{enumerable:true,get:function(){return tt.nil}});Object.defineProperty(V,"getProperty",{enumerable:true,get:function(){return tt.getProperty}});Object.defineProperty(V,"stringify",{enumerable:true,get:function(){return tt.stringify}});Object.defineProperty(V,"regexpCode",{enumerable:true,get:function(){return tt.regexpCode}});Object.defineProperty(V,"Name",{enumerable:true,get:function(){return tt.Name}});var Yr=Yn();Object.defineProperty(V,"Scope",{enumerable:true,get:function(){return Yr.Scope}});Object.defineProperty(V,"ValueScope",{enumerable:true,get:function(){return Yr.ValueScope}});Object.defineProperty(V,"ValueScopeName",{enumerable:true,get:function(){return Yr.ValueScopeName}});Object.defineProperty(V,"varKinds",{enumerable:true,get:function(){return Yr.varKinds}});V.operators={GT:new J._Code(">"),GTE:new J._Code(">="),LT:new J._Code("<"),LTE:new J._Code("<="),EQ:new J._Code("==="),NEQ:new J._Code("!=="),NOT:new J._Code("!"),OR:new J._Code("||"),AND:new J._Code("&&"),ADD:new J._Code("+")};var Ge=class{optimizeNodes(){return this}optimizeNames(t,r){return this}},Xn=class extends Ge{constructor(t,r,n){super(),this.varKind=t,this.name=r,this.rhs=n;}render({es5:t,_n:r}){let n=t?je.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=qt(this.rhs,t,r)),this}get names(){return this.rhs instanceof J._CodeOrName?this.rhs.names:{}}},zr=class extends Ge{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 J.Name&&!t[this.lhs.str]&&!this.sideEffects))return this.rhs=qt(this.rhs,t,r),this}get names(){let t=this.lhs instanceof J.Name?{}:{...this.lhs.names};return Wr(t,this.rhs)}},Qn=class extends zr{constructor(t,r,n,s){super(t,n,s),this.op=r;}render({_n:t}){return `${this.lhs} ${this.op}= ${this.rhs};`+t}},Zn=class extends Ge{constructor(t){super(),this.label=t,this.names={};}render({_n:t}){return `${this.label}:`+t}},es=class extends Ge{constructor(t){super(),this.label=t,this.names={};}render({_n:t}){return `break${this.label?` ${this.label}`:""};`+t}},ts=class extends Ge{constructor(t){super(),this.error=t;}render({_n:t}){return `throw ${this.error};`+t}get names(){return this.error.names}},rs=class extends Ge{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=qt(this.code,t,r),this}get names(){return this.code instanceof J._CodeOrName?this.code.names:{}}},or=class extends Ge{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)||(hd(t,o.names),n.splice(s,1));}return n.length>0?this:void 0}get names(){return this.nodes.reduce((t,r)=>bt(t,r.names),{})}},Ke=class extends or{render(t){return "{"+t._n+super.render(t)+"}"+t._n}},ns=class extends or{},Nt=class extends Ke{};Nt.kind="else";var vt=class e extends Ke{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 Nt(n):n;}if(r)return t===false?r instanceof e?r:r.nodes:this.nodes.length?this:new e(ga(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=qt(this.condition,t,r),this}get names(){let t=super.names;return Wr(t,this.condition),this.else&&bt(t,this.else.names),t}};vt.kind="if";var kt=class extends Ke{};kt.kind="for";var ss=class extends kt{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=qt(this.iteration,t,r),this}get names(){return bt(super.names,this.iteration.names)}},os=class extends kt{constructor(t,r,n,s){super(),this.varKind=t,this.name=r,this.from=n,this.to=s;}render(t){let r=t.es5?je.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=Wr(super.names,this.from);return Wr(t,this.to)}},Hr=class extends kt{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=qt(this.iterable,t,r),this}get names(){return bt(super.names,this.iterable.names)}},ar=class extends Ke{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)}};ar.kind="func";var ir=class extends or{render(t){return "return "+super.render(t)}};ir.kind="return";var as=class extends Ke{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&&bt(t,this.catch.names),this.finally&&bt(t,this.finally.names),t}},ur=class extends Ke{constructor(t){super(),this.error=t;}render(t){return `catch(${this.error})`+super.render(t)}};ur.kind="catch";var cr=class extends Ke{render(t){return "finally"+super.render(t)}};cr.kind="finally";var is=class{constructor(t,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
3
- `:""},this._extScope=t,this._scope=new je.Scope({parent:t}),this._nodes=[new ns];}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 Xn(t,o,n)),o}const(t,r,n){return this._def(je.varKinds.const,t,r,n)}let(t,r,n){return this._def(je.varKinds.let,t,r,n)}var(t,r,n){return this._def(je.varKinds.var,t,r,n)}assign(t,r,n){return this._leafNode(new zr(t,r,n))}add(t,r){return this._leafNode(new Qn(t,V.operators.ADD,r))}code(t){return typeof t=="function"?t():t!==J.nil&&this._leafNode(new rs(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, J.addCodeArg)(r,s));return r.push("}"),new J._Code(r)}if(t,r,n){if(this._blockNode(new vt(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 vt(t))}else(){return this._elseNode(new Nt)}endIf(){return this._endBlockNode(vt,Nt)}_for(t,r){return this._blockNode(t),r&&this.code(r).endFor(),this}for(t,r){return this._for(new ss(t),r)}forRange(t,r,n,s,o=this.opts.es5?je.varKinds.var:je.varKinds.let){let a=this._scope.toName(t);return this._for(new os(o,a,r,n),()=>s(a))}forOf(t,r,n,s=je.varKinds.const){let o=this._scope.toName(t);if(this.opts.es5){let a=r instanceof J.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0, J._)`${a}.length`,i=>{this.var(o,(0, J._)`${a}[${i}]`),n(o);})}return this._for(new Hr("of",s,o,r),()=>n(o))}forIn(t,r,n,s=this.opts.es5?je.varKinds.var:je.varKinds.const){if(this.opts.ownProperties)return this.forOf(t,(0, J._)`Object.keys(${r})`,n);let o=this._scope.toName(t);return this._for(new Hr("in",s,o,r),()=>n(o))}endFor(){return this._endBlockNode(kt)}label(t){return this._leafNode(new Zn(t))}break(t){return this._leafNode(new es(t))}return(t){let r=new ir;if(this._blockNode(r),this.code(t),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(ir)}try(t,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let s=new as;if(this._blockNode(s),this.code(t),r){let o=this.name("e");this._currNode=s.catch=new ur(o),r(o);}return n&&(this._currNode=s.finally=new cr,this.code(n)),this._endBlockNode(ur,cr)}throw(t){return this._leafNode(new ts(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=J.nil,n,s){return this._blockNode(new ar(t,r,n)),s&&this.code(s).endFunc(),this}endFunc(){return this._endBlockNode(ar)}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 vt))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;}};V.CodeGen=is;function bt(e,t){for(let r in t)e[r]=(e[r]||0)+(t[r]||0);return e}function Wr(e,t){return t instanceof J._CodeOrName?bt(e,t.names):e}function qt(e,t,r){if(e instanceof J.Name)return n(e);if(!s(e))return e;return new J._Code(e._items.reduce((o,a)=>(a instanceof J.Name&&(a=n(a)),a instanceof J._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 J._Code&&o._items.some(a=>a instanceof J.Name&&t[a.str]===1&&r[a.str]!==void 0)}}function hd(e,t){for(let r in t)e[r]=(e[r]||0)-(t[r]||0);}function ga(e){return typeof e=="boolean"||typeof e=="number"||e===null?!e:(0, J._)`!${us(e)}`}V.not=ga;var yd=ha(V.operators.AND);function vd(...e){return e.reduce(yd)}V.and=vd;var kd=ha(V.operators.OR);function bd(...e){return e.reduce(kd)}V.or=bd;function ha(e){return (t,r)=>t===J.nil?r:r===J.nil?t:(0, J._)`${us(t)} ${e} ${us(r)}`}function us(e){return e instanceof J.Name?e:(0, J._)`(${e})`}});var z=x(G=>{Object.defineProperty(G,"__esModule",{value:true});G.checkStrictMode=G.getErrorPath=G.Type=G.useFunc=G.setEvaluated=G.evaluatedPropsToName=G.mergeEvaluated=G.eachItem=G.unescapeJsonPointer=G.escapeJsonPointer=G.escapeFragment=G.unescapeFragment=G.schemaRefOrVal=G.schemaHasRulesButRef=G.schemaHasRules=G.checkUnknownRules=G.alwaysValidSchema=G.toHash=void 0;var Q=B(),wd=sr();function Sd(e){let t={};for(let r of e)t[r]=true;return t}G.toHash=Sd;function _d(e,t){return typeof t=="boolean"?t:Object.keys(t).length===0?true:(ka(e,t),!ba(t,e.self.RULES.all))}G.alwaysValidSchema=_d;function ka(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]||_a(e,`unknown keyword: "${o}"`);}G.checkUnknownRules=ka;function ba(e,t){if(typeof e=="boolean")return !e;for(let r in e)if(t[r])return true;return false}G.schemaHasRules=ba;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}G.schemaHasRulesButRef=Rd;function Cd({topSchemaRef:e,schemaPath:t},r,n,s){if(!s){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return (0, Q._)`${r}`}return (0, Q._)`${e}${t}${(0, Q.getProperty)(n)}`}G.schemaRefOrVal=Cd;function $d(e){return wa(decodeURIComponent(e))}G.unescapeFragment=$d;function Ed(e){return encodeURIComponent(ds(e))}G.escapeFragment=Ed;function ds(e){return typeof e=="number"?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}G.escapeJsonPointer=ds;function wa(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}G.unescapeJsonPointer=wa;function xd(e,t){if(Array.isArray(e))for(let r of e)t(r);else t(e);}G.eachItem=xd;function ya({mergeNames:e,mergeToName:t,mergeValues:r,resultToName:n}){return (s,o,a,i)=>{let u=a===void 0?o:a instanceof Q.Name?(o instanceof Q.Name?e(s,o,a):t(s,o,a),a):o instanceof Q.Name?(t(s,a,o),o):r(o,a);return i===Q.Name&&!(u instanceof Q.Name)?n(s,u):u}}G.mergeEvaluated={props:ya({mergeNames:(e,t,r)=>e.if((0, Q._)`${r} !== true && ${t} !== undefined`,()=>{e.if((0, Q._)`${t} === true`,()=>e.assign(r,true),()=>e.assign(r,(0, Q._)`${r} || {}`).code((0, Q._)`Object.assign(${r}, ${t})`));}),mergeToName:(e,t,r)=>e.if((0, Q._)`${r} !== true`,()=>{t===true?e.assign(r,true):(e.assign(r,(0, Q._)`${r} || {}`),ls(e,r,t));}),mergeValues:(e,t)=>e===true?true:{...e,...t},resultToName:Sa}),items:ya({mergeNames:(e,t,r)=>e.if((0, Q._)`${r} !== true && ${t} !== undefined`,()=>e.assign(r,(0, Q._)`${t} === true ? true : ${r} > ${t} ? ${r} : ${t}`)),mergeToName:(e,t,r)=>e.if((0, Q._)`${r} !== true`,()=>e.assign(r,t===true?true:(0, Q._)`${r} > ${t} ? ${r} : ${t}`)),mergeValues:(e,t)=>e===true?true:Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})};function Sa(e,t){if(t===true)return e.var("props",true);let r=e.var("props",(0, Q._)`{}`);return t!==void 0&&ls(e,r,t),r}G.evaluatedPropsToName=Sa;function ls(e,t,r){Object.keys(r).forEach(n=>e.assign((0, Q._)`${t}${(0, Q.getProperty)(n)}`,true));}G.setEvaluated=ls;var va={};function Td(e,t){return e.scopeValue("func",{ref:t,code:va[t.code]||(va[t.code]=new wd._Code(t.code))})}G.useFunc=Td;var cs;(function(e){e[e.Num=0]="Num",e[e.Str=1]="Str";})(cs||(G.Type=cs={}));function Ad(e,t,r){if(e instanceof Q.Name){let n=t===cs.Num;return r?n?(0, Q._)`"[" + ${e} + "]"`:(0, Q._)`"['" + ${e} + "']"`:n?(0, Q._)`"/" + ${e}`:(0, Q._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0, Q.getProperty)(e).toString():"/"+ds(e)}G.getErrorPath=Ad;function _a(e,t,r=e.opts.strictSchema){if(r){if(t=`strict mode: ${t}`,r===true)throw new Error(t);e.self.logger.warn(t);}}G.checkStrictMode=_a;});var Ue=x(fs=>{Object.defineProperty(fs,"__esModule",{value:true});var fe=B(),Id={data:new fe.Name("data"),valCxt:new fe.Name("valCxt"),instancePath:new fe.Name("instancePath"),parentData:new fe.Name("parentData"),parentDataProperty:new fe.Name("parentDataProperty"),rootData:new fe.Name("rootData"),dynamicAnchors:new fe.Name("dynamicAnchors"),vErrors:new fe.Name("vErrors"),errors:new fe.Name("errors"),this:new fe.Name("this"),self:new fe.Name("self"),scope:new fe.Name("scope"),json:new fe.Name("json"),jsonPos:new fe.Name("jsonPos"),jsonLen:new fe.Name("jsonLen"),jsonPart:new fe.Name("jsonPart")};fs.default=Id;});var dr=x(pe=>{Object.defineProperty(pe,"__esModule",{value:true});pe.extendErrors=pe.resetErrorsCount=pe.reportExtraError=pe.reportError=pe.keyword$DataError=pe.keywordError=void 0;var H=B(),Xr=z(),ye=Ue();pe.keywordError={message:({keyword:e})=>(0, H.str)`must pass "${e}" keyword validation`};pe.keyword$DataError={message:({keyword:e,schemaType:t})=>t?(0, H.str)`"${e}" keyword must be ${t} ($data)`:(0, H.str)`"${e}" keyword is invalid ($data)`};function Pd(e,t=pe.keywordError,r,n){let{it:s}=e,{gen:o,compositeRule:a,allErrors:i}=s,u=$a(e,t,r);n??(a||i)?Ra(o,u):Ca(s,(0, H._)`[${u}]`);}pe.reportError=Pd;function Od(e,t=pe.keywordError,r){let{it:n}=e,{gen:s,compositeRule:o,allErrors:a}=n,i=$a(e,t,r);Ra(s,i),o||a||Ca(n,ye.default.vErrors);}pe.reportExtraError=Od;function jd(e,t){e.assign(ye.default.errors,t),e.if((0, H._)`${ye.default.vErrors} !== null`,()=>e.if(t,()=>e.assign((0, H._)`${ye.default.vErrors}.length`,t),()=>e.assign(ye.default.vErrors,null)));}pe.resetErrorsCount=jd;function Nd({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,ye.default.errors,i=>{e.const(a,(0, H._)`${ye.default.vErrors}[${i}]`),e.if((0, H._)`${a}.instancePath === undefined`,()=>e.assign((0, H._)`${a}.instancePath`,(0, H.strConcat)(ye.default.instancePath,o.errorPath))),e.assign((0, H._)`${a}.schemaPath`,(0, H.str)`${o.errSchemaPath}/${t}`),o.opts.verbose&&(e.assign((0, H._)`${a}.schema`,r),e.assign((0, H._)`${a}.data`,n));});}pe.extendErrors=Nd;function Ra(e,t){let r=e.const("err",t);e.if((0, H._)`${ye.default.vErrors} === null`,()=>e.assign(ye.default.vErrors,(0, H._)`[${r}]`),(0, H._)`${ye.default.vErrors}.push(${r})`),e.code((0, H._)`${ye.default.errors}++`);}function Ca(e,t){let{gen:r,validateName:n,schemaEnv:s}=e;s.$async?r.throw((0, H._)`new ${e.ValidationError}(${t})`):(r.assign((0, H._)`${n}.errors`,t),r.return(false));}var wt={keyword:new H.Name("keyword"),schemaPath:new H.Name("schemaPath"),params:new H.Name("params"),propertyName:new H.Name("propertyName"),message:new H.Name("message"),schema:new H.Name("schema"),parentSchema:new H.Name("parentSchema")};function $a(e,t,r){let{createErrors:n}=e.it;return n===false?(0, H._)`{}`:qd(e,t,r)}function qd(e,t,r={}){let{gen:n,it:s}=e,o=[Dd(s,r),Fd(e,r)];return Md(e,t,o),n.object(...o)}function Dd({errorPath:e},{instancePath:t}){let r=t?(0, H.str)`${e}${(0, Xr.getErrorPath)(t,Xr.Type.Str)}`:e;return [ye.default.instancePath,(0, H.strConcat)(ye.default.instancePath,r)]}function Fd({keyword:e,it:{errSchemaPath:t}},{schemaPath:r,parentSchema:n}){let s=n?t:(0, H.str)`${t}/${e}`;return r&&(s=(0, H.str)`${s}${(0, Xr.getErrorPath)(r,Xr.Type.Str)}`),[wt.schemaPath,s]}function Md(e,{params:t,message:r},n){let{keyword:s,data:o,schemaValue:a,it:i}=e,{opts:u,propertyName:c,topSchemaRef:d,schemaPath:l}=i;n.push([wt.keyword,s],[wt.params,typeof t=="function"?t(e):t||(0, H._)`{}`]),u.messages&&n.push([wt.message,typeof r=="function"?r(e):r]),u.verbose&&n.push([wt.schema,a],[wt.parentSchema,(0, H._)`${d}${l}`],[ye.default.data,o]),c&&n.push([wt.propertyName,c]);}});var xa=x(Dt=>{Object.defineProperty(Dt,"__esModule",{value:true});Dt.boolOrEmptySchema=Dt.topBoolOrEmptySchema=void 0;var Ld=dr(),Vd=B(),Bd=Ue(),Gd={message:"boolean schema is false"};function Kd(e){let{gen:t,schema:r,validateName:n}=e;r===false?Ea(e,false):typeof r=="object"&&r.$async===true?t.return(Bd.default.data):(t.assign((0, Vd._)`${n}.errors`,null),t.return(true));}Dt.topBoolOrEmptySchema=Kd;function Ud(e,t){let{gen:r,schema:n}=e;n===false?(r.var(t,false),Ea(e)):r.var(t,true);}Dt.boolOrEmptySchema=Ud;function Ea(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, Ld.reportError)(s,Gd,void 0,t);}});var ps=x(Ft=>{Object.defineProperty(Ft,"__esModule",{value:true});Ft.getRules=Ft.isJSONType=void 0;var Jd=["string","number","integer","boolean","null","object","array"],zd=new Set(Jd);function Hd(e){return typeof e=="string"&&zd.has(e)}Ft.isJSONType=Hd;function Wd(){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:{}}}Ft.getRules=Wd;});var ms=x(rt=>{Object.defineProperty(rt,"__esModule",{value:true});rt.shouldUseRule=rt.shouldUseGroup=rt.schemaHasRulesForType=void 0;function Yd({schema:e,self:t},r){let n=t.RULES.types[r];return n&&n!==true&&Ta(e,n)}rt.schemaHasRulesForType=Yd;function Ta(e,t){return t.rules.some(r=>Aa(e,r))}rt.shouldUseGroup=Ta;function Aa(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))}rt.shouldUseRule=Aa;});var lr=x(me=>{Object.defineProperty(me,"__esModule",{value:true});me.reportTypeError=me.checkDataTypes=me.checkDataType=me.coerceAndCheckDataType=me.getJSONTypes=me.getSchemaTypes=me.DataType=void 0;var Xd=ps(),Qd=ms(),Zd=dr(),L=B(),Ia=z(),Mt;(function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong";})(Mt||(me.DataType=Mt={}));function el(e){let t=Pa(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}me.getSchemaTypes=el;function Pa(e){let t=Array.isArray(e)?e:e?[e]:[];if(t.every(Xd.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}me.getJSONTypes=Pa;function tl(e,t){let{gen:r,data:n,opts:s}=e,o=rl(t,s.coerceTypes),a=t.length>0&&!(o.length===0&&t.length===1&&(0, Qd.schemaHasRulesForType)(e,t[0]));if(a){let i=hs(t,n,s.strictNumbers,Mt.Wrong);r.if(i,()=>{o.length?nl(e,t,o):ys(e);});}return a}me.coerceAndCheckDataType=tl;var Oa=new Set(["string","number","integer","boolean","null"]);function rl(e,t){return t?e.filter(r=>Oa.has(r)||t==="array"&&r==="array"):[]}function nl(e,t,r){let{gen:n,data:s,opts:o}=e,a=n.let("dataType",(0, L._)`typeof ${s}`),i=n.let("coerced",(0, L._)`undefined`);o.coerceTypes==="array"&&n.if((0, L._)`${a} == 'object' && Array.isArray(${s}) && ${s}.length == 1`,()=>n.assign(s,(0, L._)`${s}[0]`).assign(a,(0, L._)`typeof ${s}`).if(hs(t,s,o.strictNumbers),()=>n.assign(i,s))),n.if((0, L._)`${i} !== undefined`);for(let c of r)(Oa.has(c)||c==="array"&&o.coerceTypes==="array")&&u(c);n.else(),ys(e),n.endIf(),n.if((0, L._)`${i} !== undefined`,()=>{n.assign(s,i),sl(e,i);});function u(c){switch(c){case "string":n.elseIf((0, L._)`${a} == "number" || ${a} == "boolean"`).assign(i,(0, L._)`"" + ${s}`).elseIf((0, L._)`${s} === null`).assign(i,(0, L._)`""`);return;case "number":n.elseIf((0, L._)`${a} == "boolean" || ${s} === null
2
+ import {spawn,execFile,execFileSync}from'child_process';import*as w from'fs';import {existsSync}from'fs';import*as Bn from'os';import*as J from'path';import {dirname,resolve}from'path';import*as na from'net';import {fileURLToPath}from'url';import {createHash,randomUUID}from'crypto';import {createRequire}from'module';import {lockSync}from'proper-lockfile';import Qg from'ajv-formats';var Lu=Object.create;var Zo=Object.defineProperty;var Vu=Object.getOwnPropertyDescriptor;var Bu=Object.getOwnPropertyNames;var Gu=Object.getPrototypeOf,Ku=Object.prototype.hasOwnProperty;var x=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Uu=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Bu(t))!Ku.call(e,s)&&s!==r&&Zo(e,s,{get:()=>t[s],enumerable:!(n=Vu(t,s))||n.enumerable});return e};var Ju=(e,t,r)=>(r=e!=null?Lu(Gu(e)):{},Uu(Zo(r,"default",{value:e,enumerable:true}),e));var ir=x(Y=>{Object.defineProperty(Y,"__esModule",{value:true});Y.regexpCode=Y.getEsmExportName=Y.getProperty=Y.safeStringify=Y.stringify=Y.strConcat=Y.addCodeArg=Y.str=Y._=Y.nil=Y._Code=Y.Name=Y.IDENTIFIER=Y._CodeOrName=void 0;var or=class{};Y._CodeOrName=or;Y.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Ct=class extends or{constructor(t){if(super(),!Y.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}}};Y.Name=Ct;var Ne=class extends or{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 Ct&&(r[n.str]=(r[n.str]||0)+1),r),{})}};Y._Code=Ne;Y.nil=new Ne("");function _a(e,...t){let r=[e[0]],n=0;for(;n<t.length;)ts(r,t[n]),r.push(e[++n]);return new Ne(r)}Y._=_a;var es=new Ne("+");function Ra(e,...t){let r=[ar(e[0])],n=0;for(;n<t.length;)r.push(es),ts(r,t[n]),r.push(es,ar(e[++n]));return Cd(r),new Ne(r)}Y.str=Ra;function ts(e,t){t instanceof Ne?e.push(...t._items):t instanceof Ct?e.push(t):e.push(xd(t));}Y.addCodeArg=ts;function Cd(e){let t=1;for(;t<e.length-1;){if(e[t]===es){let r=$d(e[t-1],e[t+1]);if(r!==void 0){e.splice(t-1,3,r);continue}e[t++]="+";}t++;}}function $d(e,t){if(t==='""')return e;if(e==='""')return t;if(typeof e=="string")return t instanceof Ct||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 Ct))return `"${e}${t.slice(1)}`}function Ed(e,t){return t.emptyStr()?e:e.emptyStr()?t:Ra`${e}${t}`}Y.strConcat=Ed;function xd(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:ar(Array.isArray(e)?e.join(","):e)}function Td(e){return new Ne(ar(e))}Y.stringify=Td;function ar(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}Y.safeStringify=ar;function Ad(e){return typeof e=="string"&&Y.IDENTIFIER.test(e)?new Ne(`.${e}`):_a`[${e}]`}Y.getProperty=Ad;function Id(e){if(typeof e=="string"&&Y.IDENTIFIER.test(e))return new Ne(`${e}`);throw new Error(`CodeGen: invalid export name: ${e}, use explicit $id name mapping`)}Y.getEsmExportName=Id;function Od(e){return new Ne(e.toString())}Y.regexpCode=Od;});var ss=x(Ee=>{Object.defineProperty(Ee,"__esModule",{value:true});Ee.ValueScope=Ee.ValueScopeName=Ee.Scope=Ee.varKinds=Ee.UsedValueState=void 0;var $e=ir(),rs=class extends Error{constructor(t){super(`CodeGen: "code" for ${t} not defined`),this.value=t.value;}},Yr;(function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed";})(Yr||(Ee.UsedValueState=Yr={}));Ee.varKinds={const:new $e.Name("const"),let:new $e.Name("let"),var:new $e.Name("var")};var Xr=class{constructor({prefixes:t,parent:r}={}){this._names={},this._prefixes=t,this._parent=r;}toName(t){return t instanceof $e.Name?t:this.name(t)}name(t){return new $e.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}}};Ee.Scope=Xr;var Qr=class extends $e.Name{constructor(t,r){super(r),this.prefix=t;}setValue(t,{property:r,itemIndex:n}){this.value=t,this.scopePath=(0, $e._)`.${new $e.Name(r)}[${n}]`;}};Ee.ValueScopeName=Qr;var Pd=(0, $e._)`\n`,ns=class extends Xr{constructor(t){super(t),this._values={},this._scope=t.scope,this.opts={...t,_n:t.lines?Pd:$e.nil};}get(){return this._scope}name(t){return new Qr(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 d=i.get(a);if(d)return d}else i=this._values[o]=new Map;i.set(a,s);let u=this._scope[o]||(this._scope[o]=[]),c=u.length;return u[c]=r.ref,s.setValue(r,{property:o,itemIndex:c}),s}getValue(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, $e._)`${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=$e.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,Yr.Started);let d=r(c);if(d){let l=this.opts.es5?Ee.varKinds.var:Ee.varKinds.const;o=(0, $e._)`${o}${l} ${c} = ${d};${this.opts._n}`;}else if(d=s?.(c))o=(0, $e._)`${o}${d}${this.opts._n}`;else throw new rs(c);u.set(c,Yr.Completed);});}return o}};Ee.ValueScope=ns;});var G=x(V=>{Object.defineProperty(V,"__esModule",{value:true});V.or=V.and=V.not=V.CodeGen=V.operators=V.varKinds=V.ValueScopeName=V.ValueScope=V.Scope=V.Name=V.regexpCode=V.stringify=V.getProperty=V.nil=V.strConcat=V.str=V._=void 0;var U=ir(),Ve=ss(),ct=ir();Object.defineProperty(V,"_",{enumerable:true,get:function(){return ct._}});Object.defineProperty(V,"str",{enumerable:true,get:function(){return ct.str}});Object.defineProperty(V,"strConcat",{enumerable:true,get:function(){return ct.strConcat}});Object.defineProperty(V,"nil",{enumerable:true,get:function(){return ct.nil}});Object.defineProperty(V,"getProperty",{enumerable:true,get:function(){return ct.getProperty}});Object.defineProperty(V,"stringify",{enumerable:true,get:function(){return ct.stringify}});Object.defineProperty(V,"regexpCode",{enumerable:true,get:function(){return ct.regexpCode}});Object.defineProperty(V,"Name",{enumerable:true,get:function(){return ct.Name}});var rn=ss();Object.defineProperty(V,"Scope",{enumerable:true,get:function(){return rn.Scope}});Object.defineProperty(V,"ValueScope",{enumerable:true,get:function(){return rn.ValueScope}});Object.defineProperty(V,"ValueScopeName",{enumerable:true,get:function(){return rn.ValueScopeName}});Object.defineProperty(V,"varKinds",{enumerable:true,get:function(){return rn.varKinds}});V.operators={GT:new U._Code(">"),GTE:new U._Code(">="),LT:new U._Code("<"),LTE:new U._Code("<="),EQ:new U._Code("==="),NEQ:new U._Code("!=="),NOT:new U._Code("!"),OR:new U._Code("||"),AND:new U._Code("&&"),ADD:new U._Code("+")};var Ze=class{optimizeNodes(){return this}optimizeNames(t,r){return this}},os=class extends Ze{constructor(t,r,n){super(),this.varKind=t,this.name=r,this.rhs=n;}render({es5:t,_n:r}){let n=t?Ve.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=Gt(this.rhs,t,r)),this}get names(){return this.rhs instanceof U._CodeOrName?this.rhs.names:{}}},Zr=class extends Ze{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 U.Name&&!t[this.lhs.str]&&!this.sideEffects))return this.rhs=Gt(this.rhs,t,r),this}get names(){let t=this.lhs instanceof U.Name?{}:{...this.lhs.names};return tn(t,this.rhs)}},as=class extends Zr{constructor(t,r,n,s){super(t,n,s),this.op=r;}render({_n:t}){return `${this.lhs} ${this.op}= ${this.rhs};`+t}},is=class extends Ze{constructor(t){super(),this.label=t,this.names={};}render({_n:t}){return `${this.label}:`+t}},cs=class extends Ze{constructor(t){super(),this.label=t,this.names={};}render({_n:t}){return `break${this.label?` ${this.label}`:""};`+t}},us=class extends Ze{constructor(t){super(),this.error=t;}render({_n:t}){return `throw ${this.error};`+t}get names(){return this.error.names}},ds=class extends Ze{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=Gt(this.code,t,r),this}get names(){return this.code instanceof U._CodeOrName?this.code.names:{}}},cr=class extends Ze{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)||(jd(t,o.names),n.splice(s,1));}return n.length>0?this:void 0}get names(){return this.nodes.reduce((t,r)=>xt(t,r.names),{})}},et=class extends cr{render(t){return "{"+t._n+super.render(t)+"}"+t._n}},ls=class extends cr{},Bt=class extends et{};Bt.kind="else";var $t=class e extends et{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(Ca(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=Gt(this.condition,t,r),this}get names(){let t=super.names;return tn(t,this.condition),this.else&&xt(t,this.else.names),t}};$t.kind="if";var Et=class extends et{};Et.kind="for";var fs=class extends Et{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=Gt(this.iteration,t,r),this}get names(){return xt(super.names,this.iteration.names)}},ps=class extends Et{constructor(t,r,n,s){super(),this.varKind=t,this.name=r,this.from=n,this.to=s;}render(t){let r=t.es5?Ve.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=tn(super.names,this.from);return tn(t,this.to)}},en=class extends Et{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=Gt(this.iterable,t,r),this}get names(){return xt(super.names,this.iterable.names)}},ur=class extends et{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)}};ur.kind="func";var dr=class extends cr{render(t){return "return "+super.render(t)}};dr.kind="return";var ms=class extends et{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&&xt(t,this.catch.names),this.finally&&xt(t,this.finally.names),t}},lr=class extends et{constructor(t){super(),this.error=t;}render(t){return `catch(${this.error})`+super.render(t)}};lr.kind="catch";var fr=class extends et{render(t){return "finally"+super.render(t)}};fr.kind="finally";var gs=class{constructor(t,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
3
+ `:""},this._extScope=t,this._scope=new Ve.Scope({parent:t}),this._nodes=[new ls];}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 os(t,o,n)),o}const(t,r,n){return this._def(Ve.varKinds.const,t,r,n)}let(t,r,n){return this._def(Ve.varKinds.let,t,r,n)}var(t,r,n){return this._def(Ve.varKinds.var,t,r,n)}assign(t,r,n){return this._leafNode(new Zr(t,r,n))}add(t,r){return this._leafNode(new as(t,V.operators.ADD,r))}code(t){return typeof t=="function"?t():t!==U.nil&&this._leafNode(new ds(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, U.addCodeArg)(r,s));return r.push("}"),new U._Code(r)}if(t,r,n){if(this._blockNode(new $t(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 $t(t))}else(){return this._elseNode(new Bt)}endIf(){return this._endBlockNode($t,Bt)}_for(t,r){return this._blockNode(t),r&&this.code(r).endFor(),this}for(t,r){return this._for(new fs(t),r)}forRange(t,r,n,s,o=this.opts.es5?Ve.varKinds.var:Ve.varKinds.let){let a=this._scope.toName(t);return this._for(new ps(o,a,r,n),()=>s(a))}forOf(t,r,n,s=Ve.varKinds.const){let o=this._scope.toName(t);if(this.opts.es5){let a=r instanceof U.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0, U._)`${a}.length`,i=>{this.var(o,(0, U._)`${a}[${i}]`),n(o);})}return this._for(new en("of",s,o,r),()=>n(o))}forIn(t,r,n,s=this.opts.es5?Ve.varKinds.var:Ve.varKinds.const){if(this.opts.ownProperties)return this.forOf(t,(0, U._)`Object.keys(${r})`,n);let o=this._scope.toName(t);return this._for(new en("in",s,o,r),()=>n(o))}endFor(){return this._endBlockNode(Et)}label(t){return this._leafNode(new is(t))}break(t){return this._leafNode(new cs(t))}return(t){let r=new dr;if(this._blockNode(r),this.code(t),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(dr)}try(t,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let s=new ms;if(this._blockNode(s),this.code(t),r){let o=this.name("e");this._currNode=s.catch=new lr(o),r(o);}return n&&(this._currNode=s.finally=new fr,this.code(n)),this._endBlockNode(lr,fr)}throw(t){return this._leafNode(new us(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=U.nil,n,s){return this._blockNode(new ur(t,r,n)),s&&this.code(s).endFunc(),this}endFunc(){return this._endBlockNode(ur)}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 $t))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;}};V.CodeGen=gs;function xt(e,t){for(let r in t)e[r]=(e[r]||0)+(t[r]||0);return e}function tn(e,t){return t instanceof U._CodeOrName?xt(e,t.names):e}function Gt(e,t,r){if(e instanceof U.Name)return n(e);if(!s(e))return e;return new U._Code(e._items.reduce((o,a)=>(a instanceof U.Name&&(a=n(a)),a instanceof U._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 U._Code&&o._items.some(a=>a instanceof U.Name&&t[a.str]===1&&r[a.str]!==void 0)}}function jd(e,t){for(let r in t)e[r]=(e[r]||0)-(t[r]||0);}function Ca(e){return typeof e=="boolean"||typeof e=="number"||e===null?!e:(0, U._)`!${hs(e)}`}V.not=Ca;var Nd=$a(V.operators.AND);function qd(...e){return e.reduce(Nd)}V.and=qd;var Fd=$a(V.operators.OR);function Dd(...e){return e.reduce(Fd)}V.or=Dd;function $a(e){return (t,r)=>t===U.nil?r:r===U.nil?t:(0, U._)`${hs(t)} ${e} ${hs(r)}`}function hs(e){return e instanceof U.Name?e:(0, U._)`(${e})`}});var z=x(K=>{Object.defineProperty(K,"__esModule",{value:true});K.checkStrictMode=K.getErrorPath=K.Type=K.useFunc=K.setEvaluated=K.evaluatedPropsToName=K.mergeEvaluated=K.eachItem=K.unescapeJsonPointer=K.escapeJsonPointer=K.escapeFragment=K.unescapeFragment=K.schemaRefOrVal=K.schemaHasRulesButRef=K.schemaHasRules=K.checkUnknownRules=K.alwaysValidSchema=K.toHash=void 0;var oe=G(),Md=ir();function Ld(e){let t={};for(let r of e)t[r]=true;return t}K.toHash=Ld;function Vd(e,t){return typeof t=="boolean"?t:Object.keys(t).length===0?true:(Ta(e,t),!Aa(t,e.self.RULES.all))}K.alwaysValidSchema=Vd;function Ta(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}"`);}K.checkUnknownRules=Ta;function Aa(e,t){if(typeof e=="boolean")return !e;for(let r in e)if(t[r])return true;return false}K.schemaHasRules=Aa;function Bd(e,t){if(typeof e=="boolean")return !e;for(let r in e)if(r!=="$ref"&&t.all[r])return true;return false}K.schemaHasRulesButRef=Bd;function Gd({topSchemaRef:e,schemaPath:t},r,n,s){if(!s){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return (0, oe._)`${r}`}return (0, oe._)`${e}${t}${(0, oe.getProperty)(n)}`}K.schemaRefOrVal=Gd;function Kd(e){return Ia(decodeURIComponent(e))}K.unescapeFragment=Kd;function Ud(e){return encodeURIComponent(vs(e))}K.escapeFragment=Ud;function vs(e){return typeof e=="number"?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}K.escapeJsonPointer=vs;function Ia(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}K.unescapeJsonPointer=Ia;function Jd(e,t){if(Array.isArray(e))for(let r of e)t(r);else t(e);}K.eachItem=Jd;function Ea({mergeNames:e,mergeToName:t,mergeValues:r,resultToName:n}){return (s,o,a,i)=>{let u=a===void 0?o:a instanceof oe.Name?(o instanceof oe.Name?e(s,o,a):t(s,o,a),a):o instanceof oe.Name?(t(s,a,o),o):r(o,a);return i===oe.Name&&!(u instanceof oe.Name)?n(s,u):u}}K.mergeEvaluated={props:Ea({mergeNames:(e,t,r)=>e.if((0, oe._)`${r} !== true && ${t} !== undefined`,()=>{e.if((0, oe._)`${t} === true`,()=>e.assign(r,true),()=>e.assign(r,(0, oe._)`${r} || {}`).code((0, oe._)`Object.assign(${r}, ${t})`));}),mergeToName:(e,t,r)=>e.if((0, oe._)`${r} !== true`,()=>{t===true?e.assign(r,true):(e.assign(r,(0, oe._)`${r} || {}`),Ss(e,r,t));}),mergeValues:(e,t)=>e===true?true:{...e,...t},resultToName:Oa}),items:Ea({mergeNames:(e,t,r)=>e.if((0, oe._)`${r} !== true && ${t} !== undefined`,()=>e.assign(r,(0, oe._)`${t} === true ? true : ${r} > ${t} ? ${r} : ${t}`)),mergeToName:(e,t,r)=>e.if((0, oe._)`${r} !== true`,()=>e.assign(r,t===true?true:(0, oe._)`${r} > ${t} ? ${r} : ${t}`)),mergeValues:(e,t)=>e===true?true:Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})};function Oa(e,t){if(t===true)return e.var("props",true);let r=e.var("props",(0, oe._)`{}`);return t!==void 0&&Ss(e,r,t),r}K.evaluatedPropsToName=Oa;function Ss(e,t,r){Object.keys(r).forEach(n=>e.assign((0, oe._)`${t}${(0, oe.getProperty)(n)}`,true));}K.setEvaluated=Ss;var xa={};function zd(e,t){return e.scopeValue("func",{ref:t,code:xa[t.code]||(xa[t.code]=new Md._Code(t.code))})}K.useFunc=zd;var ys;(function(e){e[e.Num=0]="Num",e[e.Str=1]="Str";})(ys||(K.Type=ys={}));function Hd(e,t,r){if(e instanceof oe.Name){let n=t===ys.Num;return r?n?(0, oe._)`"[" + ${e} + "]"`:(0, oe._)`"['" + ${e} + "']"`:n?(0, oe._)`"/" + ${e}`:(0, oe._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0, oe.getProperty)(e).toString():"/"+vs(e)}K.getErrorPath=Hd;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);}}K.checkStrictMode=Pa;});var tt=x(ks=>{Object.defineProperty(ks,"__esModule",{value:true});var he=G(),Wd={data:new he.Name("data"),valCxt:new he.Name("valCxt"),instancePath:new he.Name("instancePath"),parentData:new he.Name("parentData"),parentDataProperty:new he.Name("parentDataProperty"),rootData:new he.Name("rootData"),dynamicAnchors:new he.Name("dynamicAnchors"),vErrors:new he.Name("vErrors"),errors:new he.Name("errors"),this:new he.Name("this"),self:new he.Name("self"),scope:new he.Name("scope"),json:new he.Name("json"),jsonPos:new he.Name("jsonPos"),jsonLen:new he.Name("jsonLen"),jsonPart:new he.Name("jsonPart")};ks.default=Wd;});var pr=x(ye=>{Object.defineProperty(ye,"__esModule",{value:true});ye.extendErrors=ye.resetErrorsCount=ye.reportExtraError=ye.reportError=ye.keyword$DataError=ye.keywordError=void 0;var H=G(),nn=z(),we=tt();ye.keywordError={message:({keyword:e})=>(0, H.str)`must pass "${e}" keyword validation`};ye.keyword$DataError={message:({keyword:e,schemaType:t})=>t?(0, H.str)`"${e}" keyword must be ${t} ($data)`:(0, H.str)`"${e}" keyword is invalid ($data)`};function Yd(e,t=ye.keywordError,r,n){let{it:s}=e,{gen:o,compositeRule:a,allErrors:i}=s,u=qa(e,t,r);n??(a||i)?ja(o,u):Na(s,(0, H._)`[${u}]`);}ye.reportError=Yd;function Xd(e,t=ye.keywordError,r){let{it:n}=e,{gen:s,compositeRule:o,allErrors:a}=n,i=qa(e,t,r);ja(s,i),o||a||Na(n,we.default.vErrors);}ye.reportExtraError=Xd;function Qd(e,t){e.assign(we.default.errors,t),e.if((0, H._)`${we.default.vErrors} !== null`,()=>e.if(t,()=>e.assign((0, H._)`${we.default.vErrors}.length`,t),()=>e.assign(we.default.vErrors,null)));}ye.resetErrorsCount=Qd;function Zd({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,we.default.errors,i=>{e.const(a,(0, H._)`${we.default.vErrors}[${i}]`),e.if((0, H._)`${a}.instancePath === undefined`,()=>e.assign((0, H._)`${a}.instancePath`,(0, H.strConcat)(we.default.instancePath,o.errorPath))),e.assign((0, H._)`${a}.schemaPath`,(0, H.str)`${o.errSchemaPath}/${t}`),o.opts.verbose&&(e.assign((0, H._)`${a}.schema`,r),e.assign((0, H._)`${a}.data`,n));});}ye.extendErrors=Zd;function ja(e,t){let r=e.const("err",t);e.if((0, H._)`${we.default.vErrors} === null`,()=>e.assign(we.default.vErrors,(0, H._)`[${r}]`),(0, H._)`${we.default.vErrors}.push(${r})`),e.code((0, H._)`${we.default.errors}++`);}function Na(e,t){let{gen:r,validateName:n,schemaEnv:s}=e;s.$async?r.throw((0, H._)`new ${e.ValidationError}(${t})`):(r.assign((0, H._)`${n}.errors`,t),r.return(false));}var Tt={keyword:new H.Name("keyword"),schemaPath:new H.Name("schemaPath"),params:new H.Name("params"),propertyName:new H.Name("propertyName"),message:new H.Name("message"),schema:new H.Name("schema"),parentSchema:new H.Name("parentSchema")};function qa(e,t,r){let{createErrors:n}=e.it;return n===false?(0, H._)`{}`:el(e,t,r)}function el(e,t,r={}){let{gen:n,it:s}=e,o=[tl(s,r),rl(e,r)];return nl(e,t,o),n.object(...o)}function tl({errorPath:e},{instancePath:t}){let r=t?(0, H.str)`${e}${(0, nn.getErrorPath)(t,nn.Type.Str)}`:e;return [we.default.instancePath,(0, H.strConcat)(we.default.instancePath,r)]}function rl({keyword:e,it:{errSchemaPath:t}},{schemaPath:r,parentSchema:n}){let s=n?t:(0, H.str)`${t}/${e}`;return r&&(s=(0, H.str)`${s}${(0, nn.getErrorPath)(r,nn.Type.Str)}`),[Tt.schemaPath,s]}function nl(e,{params:t,message:r},n){let{keyword:s,data:o,schemaValue:a,it:i}=e,{opts:u,propertyName:c,topSchemaRef:d,schemaPath:l}=i;n.push([Tt.keyword,s],[Tt.params,typeof t=="function"?t(e):t||(0, H._)`{}`]),u.messages&&n.push([Tt.message,typeof r=="function"?r(e):r]),u.verbose&&n.push([Tt.schema,a],[Tt.parentSchema,(0, H._)`${d}${l}`],[we.default.data,o]),c&&n.push([Tt.propertyName,c]);}});var Da=x(Kt=>{Object.defineProperty(Kt,"__esModule",{value:true});Kt.boolOrEmptySchema=Kt.topBoolOrEmptySchema=void 0;var sl=pr(),ol=G(),al=tt(),il={message:"boolean schema is false"};function cl(e){let{gen:t,schema:r,validateName:n}=e;r===false?Fa(e,false):typeof r=="object"&&r.$async===true?t.return(al.default.data):(t.assign((0, ol._)`${n}.errors`,null),t.return(true));}Kt.topBoolOrEmptySchema=cl;function ul(e,t){let{gen:r,schema:n}=e;n===false?(r.var(t,false),Fa(e)):r.var(t,true);}Kt.boolOrEmptySchema=ul;function Fa(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, sl.reportError)(s,il,void 0,t);}});var bs=x(Ut=>{Object.defineProperty(Ut,"__esModule",{value:true});Ut.getRules=Ut.isJSONType=void 0;var dl=["string","number","integer","boolean","null","object","array"],ll=new Set(dl);function fl(e){return typeof e=="string"&&ll.has(e)}Ut.isJSONType=fl;function pl(){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:{}}}Ut.getRules=pl;});var ws=x(ut=>{Object.defineProperty(ut,"__esModule",{value:true});ut.shouldUseRule=ut.shouldUseGroup=ut.schemaHasRulesForType=void 0;function ml({schema:e,self:t},r){let n=t.RULES.types[r];return n&&n!==true&&Ma(e,n)}ut.schemaHasRulesForType=ml;function Ma(e,t){return t.rules.some(r=>La(e,r))}ut.shouldUseGroup=Ma;function La(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))}ut.shouldUseRule=La;});var mr=x(ve=>{Object.defineProperty(ve,"__esModule",{value:true});ve.reportTypeError=ve.checkDataTypes=ve.checkDataType=ve.coerceAndCheckDataType=ve.getJSONTypes=ve.getSchemaTypes=ve.DataType=void 0;var gl=bs(),hl=ws(),yl=pr(),L=G(),Va=z(),Jt;(function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong";})(Jt||(ve.DataType=Jt={}));function vl(e){let t=Ba(e.type);if(t.includes("null")){if(e.nullable===false)throw new Error("type: null contradicts nullable: false")}else {if(!t.length&&e.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');e.nullable===true&&t.push("null");}return t}ve.getSchemaTypes=vl;function Ba(e){let t=Array.isArray(e)?e:e?[e]:[];if(t.every(gl.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}ve.getJSONTypes=Ba;function Sl(e,t){let{gen:r,data:n,opts:s}=e,o=kl(t,s.coerceTypes),a=t.length>0&&!(o.length===0&&t.length===1&&(0, hl.schemaHasRulesForType)(e,t[0]));if(a){let i=Rs(t,n,s.strictNumbers,Jt.Wrong);r.if(i,()=>{o.length?bl(e,t,o):Cs(e);});}return a}ve.coerceAndCheckDataType=Sl;var Ga=new Set(["string","number","integer","boolean","null"]);function kl(e,t){return t?e.filter(r=>Ga.has(r)||t==="array"&&r==="array"):[]}function bl(e,t,r){let{gen:n,data:s,opts:o}=e,a=n.let("dataType",(0, L._)`typeof ${s}`),i=n.let("coerced",(0, L._)`undefined`);o.coerceTypes==="array"&&n.if((0, L._)`${a} == 'object' && Array.isArray(${s}) && ${s}.length == 1`,()=>n.assign(s,(0, L._)`${s}[0]`).assign(a,(0, L._)`typeof ${s}`).if(Rs(t,s,o.strictNumbers),()=>n.assign(i,s))),n.if((0, L._)`${i} !== undefined`);for(let c of r)(Ga.has(c)||c==="array"&&o.coerceTypes==="array")&&u(c);n.else(),Cs(e),n.endIf(),n.if((0, L._)`${i} !== undefined`,()=>{n.assign(s,i),wl(e,i);});function u(c){switch(c){case "string":n.elseIf((0, L._)`${a} == "number" || ${a} == "boolean"`).assign(i,(0, L._)`"" + ${s}`).elseIf((0, L._)`${s} === null`).assign(i,(0, L._)`""`);return;case "number":n.elseIf((0, L._)`${a} == "boolean" || ${s} === null
4
4
  || (${a} == "string" && ${s} && ${s} == +${s})`).assign(i,(0, L._)`+${s}`);return;case "integer":n.elseIf((0, L._)`${a} === "boolean" || ${s} === null
5
5
  || (${a} === "string" && ${s} && ${s} == +${s} && !(${s} % 1))`).assign(i,(0, L._)`+${s}`);return;case "boolean":n.elseIf((0, L._)`${s} === "false" || ${s} === 0 || ${s} === null`).assign(i,false).elseIf((0, L._)`${s} === "true" || ${s} === 1`).assign(i,true);return;case "null":n.elseIf((0, L._)`${s} === "" || ${s} === 0 || ${s} === false`),n.assign(i,null);return;case "array":n.elseIf((0, L._)`${a} === "string" || ${a} === "number"
6
- || ${a} === "boolean" || ${s} === null`).assign(i,(0, L._)`[${s}]`);}}}function sl({gen:e,parentData:t,parentDataProperty:r},n){e.if((0, L._)`${t} !== undefined`,()=>e.assign((0, L._)`${t}[${r}]`,n));}function gs(e,t,r,n=Mt.Correct){let s=n===Mt.Correct?L.operators.EQ:L.operators.NEQ,o;switch(e){case "null":return (0, L._)`${t} ${s} null`;case "array":o=(0, L._)`Array.isArray(${t})`;break;case "object":o=(0, L._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case "integer":o=a((0, L._)`!(${t} % 1) && !isNaN(${t})`);break;case "number":o=a();break;default:return (0, L._)`typeof ${t} ${s} ${e}`}return n===Mt.Correct?o:(0, L.not)(o);function a(i=L.nil){return (0, L.and)((0, L._)`typeof ${t} == "number"`,i,r?(0, L._)`isFinite(${t})`:L.nil)}}me.checkDataType=gs;function hs(e,t,r,n){if(e.length===1)return gs(e[0],t,r,n);let s,o=(0, Ia.toHash)(e);if(o.array&&o.object){let a=(0, L._)`typeof ${t} != "object"`;s=o.null?a:(0, L._)`!${t} || ${a}`,delete o.null,delete o.array,delete o.object;}else s=L.nil;o.number&&delete o.integer;for(let a in o)s=(0, L.and)(s,gs(a,t,r,n));return s}me.checkDataTypes=hs;var ol={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0, L._)`{type: ${e}}`:(0, L._)`{type: ${t}}`};function ys(e){let t=al(e);(0, Zd.reportError)(t,ol);}me.reportTypeError=ys;function al(e){let{gen:t,data:r,schema:n}=e,s=(0, Ia.schemaRefOrVal)(e,n,"type");return {gen:t,keyword:"type",data:r,schema:n.type,schemaCode:s,schemaValue:s,parentSchema:n,params:{},it:e}}});var Na=x(Qr=>{Object.defineProperty(Qr,"__esModule",{value:true});Qr.assignDefaults=void 0;var Lt=B(),il=z();function ul(e,t){let{properties:r,items:n}=e.schema;if(t==="object"&&r)for(let s in r)ja(e,s,r[s].default);else t==="array"&&Array.isArray(n)&&n.forEach((s,o)=>ja(e,o,s.default));}Qr.assignDefaults=ul;function ja(e,t,r){let{gen:n,compositeRule:s,data:o,opts:a}=e;if(r===void 0)return;let i=(0, Lt._)`${o}${(0, Lt.getProperty)(t)}`;if(s){(0, il.checkStrictMode)(e,`default is ignored for: ${i}`);return}let u=(0, Lt._)`${i} === undefined`;a.useDefaults==="empty"&&(u=(0, Lt._)`${u} || ${i} === null || ${i} === ""`),n.if(u,(0, Lt._)`${i} = ${(0, Lt.stringify)(r)}`);}});var Ie=x(Y=>{Object.defineProperty(Y,"__esModule",{value:true});Y.validateUnion=Y.validateArray=Y.usePattern=Y.callValidateCode=Y.schemaProperties=Y.allSchemaProperties=Y.noPropertyInData=Y.propertyInData=Y.isOwnProperty=Y.hasPropFunc=Y.reportMissingProp=Y.checkMissingProp=Y.checkReportMissingProp=void 0;var re=B(),vs=z(),nt=Ue(),cl=z();function dl(e,t){let{gen:r,data:n,it:s}=e;r.if(bs(r,n,t,s.opts.ownProperties),()=>{e.setParams({missingProperty:(0, re._)`${t}`},true),e.error();});}Y.checkReportMissingProp=dl;function ll({gen:e,data:t,it:{opts:r}},n,s){return (0, re.or)(...n.map(o=>(0, re.and)(bs(e,t,o,r.ownProperties),(0, re._)`${s} = ${o}`)))}Y.checkMissingProp=ll;function fl(e,t){e.setParams({missingProperty:t},true),e.error();}Y.reportMissingProp=fl;function qa(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0, re._)`Object.prototype.hasOwnProperty`})}Y.hasPropFunc=qa;function ks(e,t,r){return (0, re._)`${qa(e)}.call(${t}, ${r})`}Y.isOwnProperty=ks;function pl(e,t,r,n){let s=(0, re._)`${t}${(0, re.getProperty)(r)} !== undefined`;return n?(0, re._)`${s} && ${ks(e,t,r)}`:s}Y.propertyInData=pl;function bs(e,t,r,n){let s=(0, re._)`${t}${(0, re.getProperty)(r)} === undefined`;return n?(0, re.or)(s,(0, re.not)(ks(e,t,r))):s}Y.noPropertyInData=bs;function Da(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}Y.allSchemaProperties=Da;function ml(e,t){return Da(t).filter(r=>!(0, vs.alwaysValidSchema)(e,t[r]))}Y.schemaProperties=ml;function gl({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:s,errorPath:o},it:a},i,u,c){let d=c?(0, re._)`${e}, ${t}, ${n}${s}`:t,l=[[nt.default.instancePath,(0, re.strConcat)(nt.default.instancePath,o)],[nt.default.parentData,a.parentData],[nt.default.parentDataProperty,a.parentDataProperty],[nt.default.rootData,nt.default.rootData]];a.opts.dynamicRef&&l.push([nt.default.dynamicAnchors,nt.default.dynamicAnchors]);let k=(0, re._)`${d}, ${r.object(...l)}`;return u!==re.nil?(0, re._)`${i}.call(${u}, ${k})`:(0, re._)`${i}(${k})`}Y.callValidateCode=gl;var hl=(0, re._)`new RegExp`;function yl({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, re._)`${s.code==="new RegExp"?hl:(0, cl.useFunc)(e,s)}(${r}, ${n})`})}Y.usePattern=yl;function vl(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, re._)`${r}.length`);t.forRange("i",0,u,c=>{e.subschema({keyword:n,dataProp:c,dataPropType:vs.Type.Num},o),t.if((0, re.not)(o),i);});}}Y.validateArray=vl;function kl(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, vs.alwaysValidSchema)(s,u))&&!s.opts.unevaluated)return;let a=t.let("valid",false),i=t.name("_valid");t.block(()=>r.forEach((u,c)=>{let d=e.subschema({keyword:n,schemaProp:c,compositeRule:true},i);t.assign(a,(0, re._)`${a} || ${i}`),e.mergeValidEvaluated(d,i)||t.if((0, re.not)(a));})),e.result(a,()=>e.reset(),()=>e.error(true));}Y.validateUnion=kl;});var La=x(Me=>{Object.defineProperty(Me,"__esModule",{value:true});Me.validateKeywordUsage=Me.validSchemaType=Me.funcKeywordCode=Me.macroKeywordCode=void 0;var ve=B(),St=Ue(),bl=Ie(),wl=dr();function Sl(e,t){let{gen:r,keyword:n,schema:s,parentSchema:o,it:a}=e,i=t.macro.call(a.self,s,o,a),u=Ma(r,n,i);a.opts.validateSchema!==false&&a.self.validateSchema(i,true);let c=r.name("valid");e.subschema({schema:i,schemaPath:ve.nil,errSchemaPath:`${a.errSchemaPath}/${n}`,topSchemaRef:u,compositeRule:true},c),e.pass(c,()=>e.error(true));}Me.macroKeywordCode=Sl;function _l(e,t){var r;let{gen:n,keyword:s,schema:o,parentSchema:a,$data:i,it:u}=e;Cl(u,t);let c=!i&&t.compile?t.compile.call(u.self,o,a,u):t.validate,d=Ma(n,s,c),l=n.let("valid");e.block$data(l,k),e.ok((r=t.valid)!==null&&r!==void 0?r:l);function k(){if(t.errors===false)p(),t.modifying&&Fa(e),b(()=>e.error());else {let g=t.async?v():m();t.modifying&&Fa(e),b(()=>Rl(e,g));}}function v(){let g=n.let("ruleErrs",null);return n.try(()=>p((0, ve._)`await `),f=>n.assign(l,false).if((0, ve._)`${f} instanceof ${u.ValidationError}`,()=>n.assign(g,(0, ve._)`${f}.errors`),()=>n.throw(f))),g}function m(){let g=(0, ve._)`${d}.errors`;return n.assign(g,null),p(ve.nil),g}function p(g=t.async?(0, ve._)`await `:ve.nil){let f=u.opts.passContext?St.default.this:St.default.self,y=!("compile"in t&&!i||t.schema===false);n.assign(l,(0, ve._)`${g}${(0, bl.callValidateCode)(e,d,f,y)}`,t.modifying);}function b(g){var f;n.if((0, ve.not)((f=t.valid)!==null&&f!==void 0?f:l),g);}}Me.funcKeywordCode=_l;function Fa(e){let{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,(0, ve._)`${n.parentData}[${n.parentDataProperty}]`));}function Rl(e,t){let{gen:r}=e;r.if((0, ve._)`Array.isArray(${t})`,()=>{r.assign(St.default.vErrors,(0, ve._)`${St.default.vErrors} === null ? ${t} : ${St.default.vErrors}.concat(${t})`).assign(St.default.errors,(0, ve._)`${St.default.vErrors}.length`),(0, wl.extendErrors)(e);},()=>e.error());}function Cl({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function Ma(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, ve.stringify)(r)})}function $l(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")}Me.validSchemaType=$l;function El({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)}}Me.validateKeywordUsage=El;});var Ba=x(st=>{Object.defineProperty(st,"__esModule",{value:true});st.extendSubschemaMode=st.extendSubschemaData=st.getSubschema=void 0;var Le=B(),Va=z();function xl(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, Le._)`${e.schemaPath}${(0, Le.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:i[r],schemaPath:(0, Le._)`${e.schemaPath}${(0, Le.getProperty)(t)}${(0, Le.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0, Va.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')}st.getSubschema=xl;function Tl(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:d,opts:l}=t,k=i.let("data",(0, Le._)`${t.data}${(0, Le.getProperty)(r)}`,true);u(k),e.errorPath=(0, Le.str)`${c}${(0, Va.getErrorPath)(r,n,l.jsPropertySyntax)}`,e.parentDataProperty=(0, Le._)`${r}`,e.dataPathArr=[...d,e.parentDataProperty];}if(s!==void 0){let c=s instanceof Le.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];}}st.extendSubschemaData=Tl;function Al(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;}st.extendSubschemaMode=Al;});var ws=x((my,Ga)=>{Ga.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 Ua=x((gy,Ka)=>{var ot=Ka.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(){};Zr(t,n,s,e,"",e);};ot.keywords={additionalItems:true,items:true,contains:true,additionalProperties:true,propertyNames:true,not:true,if:true,then:true,else:true};ot.arrayKeywords={items:true,allOf:true,anyOf:true,oneOf:true};ot.propsKeywords={$defs:true,definitions:true,properties:true,patternProperties:true,dependencies:true};ot.skipKeywords={default:true,enum:true,const:true,required:true,maximum:true,minimum:true,exclusiveMaximum:true,exclusiveMinimum:true,multipleOf:true,maxLength:true,minLength:true,pattern:true,format:true,maxItems:true,minItems:true,uniqueItems:true,maxProperties:true,minProperties:true};function Zr(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 d in n){var l=n[d];if(Array.isArray(l)){if(d in ot.arrayKeywords)for(var k=0;k<l.length;k++)Zr(e,t,r,l[k],s+"/"+d+"/"+k,o,s,d,n,k);}else if(d in ot.propsKeywords){if(l&&typeof l=="object")for(var v in l)Zr(e,t,r,l[v],s+"/"+d+"/"+Il(v),o,s,d,n,v);}else (d in ot.keywords||e.allKeys&&!(d in ot.skipKeywords))&&Zr(e,t,r,l,s+"/"+d,o,s,d,n);}r(n,s,o,a,i,u,c);}}function Il(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}});var fr=x(Se=>{Object.defineProperty(Se,"__esModule",{value:true});Se.getSchemaRefs=Se.resolveUrl=Se.normalizeId=Se._getFullPath=Se.getFullPath=Se.inlineRef=void 0;var Pl=z(),Ol=ws(),jl=Ua(),Nl=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function ql(e,t=true){return typeof e=="boolean"?true:t===true?!Ss(e):t?Ja(e)<=t:false}Se.inlineRef=ql;var Dl=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Ss(e){for(let t in e){if(Dl.has(t))return true;let r=e[t];if(Array.isArray(r)&&r.some(Ss)||typeof r=="object"&&Ss(r))return true}return false}function Ja(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,!Nl.has(r)&&(typeof e[r]=="object"&&(0, Pl.eachItem)(e[r],n=>t+=Ja(n)),t===1/0))return 1/0}return t}function za(e,t="",r){r!==false&&(t=Vt(t));let n=e.parse(t);return Ha(e,n)}Se.getFullPath=za;function Ha(e,t){return e.serialize(t).split("#")[0]+"#"}Se._getFullPath=Ha;var Fl=/#\/?$/;function Vt(e){return e?e.replace(Fl,""):""}Se.normalizeId=Vt;function Ml(e,t,r){return r=Vt(r),e.resolve(t,r)}Se.resolveUrl=Ml;var Ll=/^[a-z_][-a-z0-9._]*$/i;function Vl(e,t){if(typeof e=="boolean")return {};let{schemaId:r,uriResolver:n}=this.opts,s=Vt(e[r]||t),o={"":s},a=za(n,s,false),i={},u=new Set;return jl(e,{allKeys:true},(l,k,v,m)=>{if(m===void 0)return;let p=a+k,b=o[m];typeof l[r]=="string"&&(b=g.call(this,l[r])),f.call(this,l.$anchor),f.call(this,l.$dynamicAnchor),o[k]=b;function g(y){let _=this.opts.uriResolver.resolve;if(y=Vt(b?_(b,y):y),u.has(y))throw d(y);u.add(y);let w=this.refs[y];return typeof w=="string"&&(w=this.refs[w]),typeof w=="object"?c(l,w.schema,y):y!==Vt(p)&&(y[0]==="#"?(c(l,i[y],y),i[y]=l):this.refs[y]=p),y}function f(y){if(typeof y=="string"){if(!Ll.test(y))throw new Error(`invalid anchor "${y}"`);g.call(this,`#${y}`);}}}),i;function c(l,k,v){if(k!==void 0&&!Ol(l,k))throw d(v)}function d(l){return new Error(`reference "${l}" resolves to more than one schema`)}}Se.getSchemaRefs=Vl;});var gr=x(at=>{Object.defineProperty(at,"__esModule",{value:true});at.getData=at.KeywordCxt=at.validateFunctionCode=void 0;var Za=xa(),Wa=lr(),Rs=ms(),en=lr(),Bl=Na(),mr=La(),_s=Ba(),T=B(),O=Ue(),Gl=fr(),Je=z(),pr=dr();function Kl(e){if(ri(e)&&(ni(e),ti(e))){zl(e);return}ei(e,()=>(0, Za.topBoolOrEmptySchema)(e));}at.validateFunctionCode=Kl;function ei({gen:e,validateName:t,schema:r,schemaEnv:n,opts:s},o){s.code.es5?e.func(t,(0, T._)`${O.default.data}, ${O.default.valCxt}`,n.$async,()=>{e.code((0, T._)`"use strict"; ${Ya(r,s)}`),Jl(e,s),e.code(o);}):e.func(t,(0, T._)`${O.default.data}, ${Ul(s)}`,n.$async,()=>e.code(Ya(r,s)).code(o));}function Ul(e){return (0, T._)`{${O.default.instancePath}="", ${O.default.parentData}, ${O.default.parentDataProperty}, ${O.default.rootData}=${O.default.data}${e.dynamicRef?(0, T._)`, ${O.default.dynamicAnchors}={}`:T.nil}}={}`}function Jl(e,t){e.if(O.default.valCxt,()=>{e.var(O.default.instancePath,(0, T._)`${O.default.valCxt}.${O.default.instancePath}`),e.var(O.default.parentData,(0, T._)`${O.default.valCxt}.${O.default.parentData}`),e.var(O.default.parentDataProperty,(0, T._)`${O.default.valCxt}.${O.default.parentDataProperty}`),e.var(O.default.rootData,(0, T._)`${O.default.valCxt}.${O.default.rootData}`),t.dynamicRef&&e.var(O.default.dynamicAnchors,(0, T._)`${O.default.valCxt}.${O.default.dynamicAnchors}`);},()=>{e.var(O.default.instancePath,(0, T._)`""`),e.var(O.default.parentData,(0, T._)`undefined`),e.var(O.default.parentDataProperty,(0, T._)`undefined`),e.var(O.default.rootData,O.default.data),t.dynamicRef&&e.var(O.default.dynamicAnchors,(0, T._)`{}`);});}function zl(e){let{schema:t,opts:r,gen:n}=e;ei(e,()=>{r.$comment&&t.$comment&&oi(e),Ql(e),n.let(O.default.vErrors,null),n.let(O.default.errors,0),r.unevaluated&&Hl(e),si(e),tf(e);});}function Hl(e){let{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",(0, T._)`${r}.evaluated`),t.if((0, T._)`${e.evaluated}.dynamicProps`,()=>t.assign((0, T._)`${e.evaluated}.props`,(0, T._)`undefined`)),t.if((0, T._)`${e.evaluated}.dynamicItems`,()=>t.assign((0, T._)`${e.evaluated}.items`,(0, T._)`undefined`));}function Ya(e,t){let r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?(0, T._)`/*# sourceURL=${r} */`:T.nil}function Wl(e,t){if(ri(e)&&(ni(e),ti(e))){Yl(e,t);return}(0, Za.boolOrEmptySchema)(e,t);}function ti({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 ri(e){return typeof e.schema!="boolean"}function Yl(e,t){let{schema:r,gen:n,opts:s}=e;s.$comment&&r.$comment&&oi(e),Zl(e),ef(e);let o=n.const("_errs",O.default.errors);si(e,o),n.var(t,(0, T._)`${o} === ${O.default.errors}`);}function ni(e){(0, Je.checkUnknownRules)(e),Xl(e);}function si(e,t){if(e.opts.jtd)return Xa(e,[],false,t);let r=(0, Wa.getSchemaTypes)(e.schema),n=(0, Wa.coerceAndCheckDataType)(e,r);Xa(e,r,!n,t);}function Xl(e){let{schema:t,errSchemaPath:r,opts:n,self:s}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0, Je.schemaHasRulesButRef)(t,s.RULES)&&s.logger.warn(`$ref: keywords ignored in schema at path "${r}"`);}function Ql(e){let{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0, Je.checkStrictMode)(e,"default is ignored in the schema root");}function Zl(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0, Gl.resolveUrl)(e.opts.uriResolver,e.baseId,t));}function ef(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function oi({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:s}){let o=r.$comment;if(s.$comment===true)e.code((0, T._)`${O.default.self}.logger.log(${o})`);else if(typeof s.$comment=="function"){let a=(0, T.str)`${n}/$comment`,i=e.scopeValue("root",{ref:t.root});e.code((0, T._)`${O.default.self}.opts.$comment(${o}, ${a}, ${i}.schema)`);}}function tf(e){let{gen:t,schemaEnv:r,validateName:n,ValidationError:s,opts:o}=e;r.$async?t.if((0, T._)`${O.default.errors} === 0`,()=>t.return(O.default.data),()=>t.throw((0, T._)`new ${s}(${O.default.vErrors})`)):(t.assign((0, T._)`${n}.errors`,O.default.vErrors),o.unevaluated&&rf(e),t.return((0, T._)`${O.default.errors} === 0`));}function rf({gen:e,evaluated:t,props:r,items:n}){r instanceof T.Name&&e.assign((0, T._)`${t}.props`,r),n instanceof T.Name&&e.assign((0, T._)`${t}.items`,n);}function Xa(e,t,r,n){let{gen:s,schema:o,data:a,allErrors:i,opts:u,self:c}=e,{RULES:d}=c;if(o.$ref&&(u.ignoreKeywordsWithRef||!(0, Je.schemaHasRulesButRef)(o,d))){s.block(()=>ii(e,"$ref",d.all.$ref.definition));return}u.jtd||nf(e,t),s.block(()=>{for(let k of d.rules)l(k);l(d.post);});function l(k){(0, Rs.shouldUseGroup)(o,k)&&(k.type?(s.if((0, en.checkDataType)(k.type,a,u.strictNumbers)),Qa(e,k),t.length===1&&t[0]===k.type&&r&&(s.else(),(0, en.reportTypeError)(e)),s.endIf()):Qa(e,k),i||s.if((0, T._)`${O.default.errors} === ${n||0}`));}}function Qa(e,t){let{gen:r,schema:n,opts:{useDefaults:s}}=e;s&&(0, Bl.assignDefaults)(e,t.type),r.block(()=>{for(let o of t.rules)(0, Rs.shouldUseRule)(n,o)&&ii(e,o.keyword,o.definition,t.type);});}function nf(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(sf(e,t),e.opts.allowUnionTypes||of(e,t),af(e,e.dataTypes));}function sf(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{ai(e.dataTypes,r)||Cs(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`);}),cf(e,t);}}function of(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&Cs(e,"use allowUnionTypes to allow union type keyword");}function af(e,t){let r=e.self.RULES.all;for(let n in r){let s=r[n];if(typeof s=="object"&&(0, Rs.shouldUseRule)(e.schema,s)){let{type:o}=s.definition;o.length&&!o.some(a=>uf(t,a))&&Cs(e,`missing type "${o.join(",")}" for keyword "${n}"`);}}}function uf(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function ai(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function cf(e,t){let r=[];for(let n of e.dataTypes)ai(t,n)?r.push(n):t.includes("integer")&&n==="number"&&r.push("integer");e.dataTypes=r;}function Cs(e,t){let r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0, Je.checkStrictMode)(e,t,e.opts.strictTypes);}var tn=class{constructor(t,r,n){if((0, mr.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, Je.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",ui(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0, mr.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",O.default.errors));}result(t,r,n){this.failResult((0, T.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, T.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, T._)`${r} !== undefined && (${(0, T.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?pr.reportExtraError:pr.reportError)(this,this.def.error,r);}$dataError(){(0, pr.reportError)(this,this.def.$dataError||pr.keyword$DataError);}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0, pr.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=T.nil){this.gen.block(()=>{this.check$data(t,n),r();});}check$data(t=T.nil,r=T.nil){if(!this.$data)return;let{gen:n,schemaCode:s,schemaType:o,def:a}=this;n.if((0, T.or)((0, T._)`${s} === undefined`,r)),t!==T.nil&&n.assign(t,true),(o.length||a.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),t!==T.nil&&n.assign(t,false)),n.else();}invalid$data(){let{gen:t,schemaCode:r,schemaType:n,def:s,it:o}=this;return (0, T.or)(a(),i());function a(){if(n.length){if(!(r instanceof T.Name))throw new Error("ajv implementation error");let u=Array.isArray(n)?n:[n];return (0, T._)`${(0, en.checkDataTypes)(u,r,o.opts.strictNumbers,en.DataType.Wrong)}`}return T.nil}function i(){if(s.validateSchema){let u=t.scopeValue("validate$data",{ref:s.validateSchema});return (0, T._)`!${u}(${r})`}return T.nil}}subschema(t,r){let n=(0, _s.getSubschema)(this.it,t);(0, _s.extendSubschemaData)(n,this.it,t),(0, _s.extendSubschemaMode)(n,t);let s={...this.it,...n,items:void 0,props:void 0};return Wl(s,r),s}mergeEvaluated(t,r){let{it:n,gen:s}=this;n.opts.unevaluated&&(n.props!==true&&t.props!==void 0&&(n.props=Je.mergeEvaluated.props(s,t.props,n.props,r)),n.items!==true&&t.items!==void 0&&(n.items=Je.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,T.Name)),true}};at.KeywordCxt=tn;function ii(e,t,r,n){let s=new tn(e,r,t);"code"in r?r.code(s,n):s.$data&&r.validate?(0, mr.funcKeywordCode)(s,r):"macro"in r?(0, mr.macroKeywordCode)(s,r):(r.compile||r.validate)&&(0, mr.funcKeywordCode)(s,r);}var df=/^\/(?:[^~]|~0|~1)*$/,lf=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function ui(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let s,o;if(e==="")return O.default.rootData;if(e[0]==="/"){if(!df.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);s=e,o=O.default.rootData;}else {let c=lf.exec(e);if(!c)throw new Error(`Invalid JSON-pointer: ${e}`);let d=+c[1];if(s=c[2],s==="#"){if(d>=t)throw new Error(u("property/index",d));return n[t-d]}if(d>t)throw new Error(u("data",d));if(o=r[t-d],!s)return o}let a=o,i=s.split("/");for(let c of i)c&&(o=(0, T._)`${o}${(0, T.getProperty)((0, Je.unescapeJsonPointer)(c))}`,a=(0, T._)`${a} && ${o}`);return a;function u(c,d){return `Cannot access ${c} ${d} levels up, current level is ${t}`}}at.getData=ui;});var rn=x(Es=>{Object.defineProperty(Es,"__esModule",{value:true});var $s=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=true;}};Es.default=$s;});var hr=x(As=>{Object.defineProperty(As,"__esModule",{value:true});var xs=fr(),Ts=class extends Error{constructor(t,r,n,s){super(s||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0, xs.resolveUrl)(t,r,n),this.missingSchema=(0, xs.normalizeId)((0, xs.getFullPath)(t,this.missingRef));}};As.default=Ts;});var sn=x(Pe=>{Object.defineProperty(Pe,"__esModule",{value:true});Pe.resolveSchema=Pe.getCompilingSchema=Pe.resolveRef=Pe.compileSchema=Pe.SchemaEnv=void 0;var Ne=B(),ff=rn(),_t=Ue(),qe=fr(),ci=z(),pf=gr(),Bt=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, qe.normalizeId)(n?.[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=n?.$async,this.refs={};}};Pe.SchemaEnv=Bt;function Ps(e){let t=di.call(this,e);if(t)return t;let r=(0, qe.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:s}=this.opts.code,{ownProperties:o}=this.opts,a=new Ne.CodeGen(this.scope,{es5:n,lines:s,ownProperties:o}),i;e.$async&&(i=a.scopeValue("Error",{ref:ff.default,code:(0, Ne._)`require("ajv/dist/runtime/validation_error").default`}));let u=a.scopeName("validate");e.validateName=u;let c={gen:a,allErrors:this.opts.allErrors,data:_t.default.data,parentData:_t.default.parentData,parentDataProperty:_t.default.parentDataProperty,dataNames:[_t.default.data],dataPathArr:[Ne.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:a.scopeValue("schema",this.opts.code.source===true?{ref:e.schema,code:(0, Ne.stringify)(e.schema)}:{ref:e.schema}),validateName:u,ValidationError:i,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:Ne.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0, Ne._)`""`,opts:this.opts,self:this},d;try{this._compilations.add(e),(0,pf.validateFunctionCode)(c),a.optimize(this.opts.code.optimize);let l=a.toString();d=`${a.scopeRefs(_t.default.scope)}return ${l}`,this.opts.code.process&&(d=this.opts.code.process(d,e));let v=new Function(`${_t.default.self}`,`${_t.default.scope}`,d)(this,this.scope.get());if(this.scope.value(u,{ref:v}),v.errors=null,v.schema=e.schema,v.schemaEnv=e,e.$async&&(v.$async=!0),this.opts.code.source===!0&&(v.source={validateName:u,validateCode:l,scopeValues:a._values}),this.opts.unevaluated){let{props:m,items:p}=c;v.evaluated={props:m instanceof Ne.Name?void 0:m,items:p instanceof Ne.Name?void 0:p,dynamicProps:m instanceof Ne.Name,dynamicItems:p instanceof Ne.Name},v.source&&(v.source.evaluated=(0,Ne.stringify)(v.evaluated));}return e.validate=v,e}catch(l){throw delete e.validate,delete e.validateName,d&&this.logger.error("Error compiling schema, function code:",d),l}finally{this._compilations.delete(e);}}Pe.compileSchema=Ps;function mf(e,t,r){var n;r=(0, qe.resolveUrl)(this.opts.uriResolver,t,r);let s=e.refs[r];if(s)return s;let o=yf.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 Bt({schema:a,schemaId:i,root:e,baseId:t}));}if(o!==void 0)return e.refs[r]=gf.call(this,o)}Pe.resolveRef=mf;function gf(e){return (0, qe.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:Ps.call(this,e)}function di(e){for(let t of this._compilations)if(hf(t,e))return t}Pe.getCompilingSchema=di;function hf(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function yf(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||nn.call(this,e,t)}function nn(e,t){let r=this.opts.uriResolver.parse(t),n=(0, qe._getFullPath)(this.opts.uriResolver,r),s=(0, qe.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===s)return Is.call(this,r,e);let o=(0, qe.normalizeId)(n),a=this.refs[o]||this.schemas[o];if(typeof a=="string"){let i=nn.call(this,e,a);return typeof i?.schema!="object"?void 0:Is.call(this,r,i)}if(typeof a?.schema=="object"){if(a.validate||Ps.call(this,a),o===(0, qe.normalizeId)(t)){let{schema:i}=a,{schemaId:u}=this.opts,c=i[u];return c&&(s=(0, qe.resolveUrl)(this.opts.uriResolver,s,c)),new Bt({schema:i,schemaId:u,root:e,baseId:s})}return Is.call(this,r,a)}}Pe.resolveSchema=nn;var vf=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Is(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, ci.unescapeFragment)(i)];if(u===void 0)return;r=u;let c=typeof r=="object"&&r[this.opts.schemaId];!vf.has(i)&&c&&(t=(0, qe.resolveUrl)(this.opts.uriResolver,t,c));}let o;if(typeof r!="boolean"&&r.$ref&&!(0, ci.schemaHasRulesButRef)(r,this.RULES)){let i=(0, qe.resolveUrl)(this.opts.uriResolver,t,r.$ref);o=nn.call(this,n,i);}let{schemaId:a}=this.opts;if(o=o||new Bt({schema:r,schemaId:a,root:n,baseId:t}),o.schema!==o.root.schema)return o}});var li=x((wy,kf)=>{kf.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 js=x((Sy,gi)=>{var bf=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),pi=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 Os(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 wf=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function fi(e){return e.length=0,true}function Sf(e,t,r){if(e.length){let n=Os(e);if(n!=="")t.push(n);else return r.error=true,false;e.length=0;}return true}function _f(e){let t=0,r={error:false,address:"",zone:""},n=[],s=[],o=false,a=false,i=Sf;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=fi;}else {s.push(c);continue}}return s.length&&(i===fi?r.zone=s.join(""):a?n.push(s.join("")):n.push(Os(s))),r.address=n.join(""),r}function mi(e){if(Rf(e,":")<2)return {host:e,isIPV6:false};let t=_f(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 Rf(e,t){let r=0;for(let n=0;n<e.length;n++)e[n]===t&&r++;return r}function Cf(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 $f(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 Ef(e){let t=[];if(e.userinfo!==void 0&&(t.push(e.userinfo),t.push("@")),e.host!==void 0){let r=unescape(e.host);if(!pi(r)){let n=mi(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}gi.exports={nonSimpleDomain:wf,recomposeAuthority:Ef,normalizeComponentEncoding:$f,removeDotSegments:Cf,isIPv4:pi,isUUID:bf,normalizeIPv6:mi,stringArrayToHexStripped:Os};});var bi=x((_y,ki)=>{var{isUUID:xf}=js(),Tf=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,Af=["http","https","ws","wss","urn","urn:uuid"];function If(e){return Af.indexOf(e)!==-1}function Ns(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 hi(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function yi(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 Pf(e){return e.secure=Ns(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function Of(e){if((e.port===(Ns(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 jf(e,t){if(!e.path)return e.error="URN can not be parsed",e;let r=e.path.match(Tf);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=qs(s);e.path=void 0,o&&(e=o.parse(e,t));}else e.error=e.error||"URN can not be parsed.";return e}function Nf(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=qs(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 qf(e,t){let r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!xf(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function Df(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var vi={scheme:"http",domainHost:true,parse:hi,serialize:yi},Ff={scheme:"https",domainHost:vi.domainHost,parse:hi,serialize:yi},on={scheme:"ws",domainHost:true,parse:Pf,serialize:Of},Mf={scheme:"wss",domainHost:on.domainHost,parse:on.parse,serialize:on.serialize},Lf={scheme:"urn",parse:jf,serialize:Nf,skipNormalize:true},Vf={scheme:"urn:uuid",parse:qf,serialize:Df,skipNormalize:true},an={http:vi,https:Ff,ws:on,wss:Mf,urn:Lf,"urn:uuid":Vf};Object.setPrototypeOf(an,null);function qs(e){return e&&(an[e]||an[e.toLowerCase()])||void 0}ki.exports={wsIsSecure:Ns,SCHEMES:an,isValidSchemeName:If,getSchemeHandler:qs};});var _i=x((Ry,cn)=>{var{normalizeIPv6:Bf,removeDotSegments:yr,recomposeAuthority:Gf,normalizeComponentEncoding:un,isIPv4:Kf,nonSimpleDomain:Uf}=js(),{SCHEMES:Jf,getSchemeHandler:wi}=bi();function zf(e,t){return typeof e=="string"?e=Ve(ze(e,t),t):typeof e=="object"&&(e=ze(Ve(e,t),t)),e}function Hf(e,t,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},s=Si(ze(e,n),ze(t,n),n,true);return n.skipEscape=true,Ve(s,n)}function Si(e,t,r,n){let s={};return n||(e=ze(Ve(e,r),r),t=ze(Ve(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=yr(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=yr(t.path||""),s.query=t.query):(t.path?(t.path[0]==="/"?s.path=yr(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=yr(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 Wf(e,t,r){return typeof e=="string"?(e=unescape(e),e=Ve(un(ze(e,r),true),{...r,skipEscape:true})):typeof e=="object"&&(e=Ve(un(e,true),{...r,skipEscape:true})),typeof t=="string"?(t=unescape(t),t=Ve(un(ze(t,r),true),{...r,skipEscape:true})):typeof t=="object"&&(t=Ve(un(t,true),{...r,skipEscape:true})),e.toLowerCase()===t.toLowerCase()}function Ve(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=wi(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=Gf(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=yr(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 Yf=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function ze(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(Yf);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(Kf(n.host)===false){let u=Bf(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=wi(r.scheme||n.scheme);if(!r.unicodeSupport&&(!a||!a.unicodeSupport)&&n.host&&(r.domainHost||a&&a.domainHost)&&s===false&&Uf(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 Ds={SCHEMES:Jf,normalize:zf,resolve:Hf,resolveComponent:Si,equal:Wf,serialize:Ve,parse:ze};cn.exports=Ds;cn.exports.default=Ds;cn.exports.fastUri=Ds;});var Ci=x(Fs=>{Object.defineProperty(Fs,"__esModule",{value:true});var Ri=_i();Ri.code='require("ajv/dist/runtime/uri").default';Fs.default=Ri;});var Oi=x(ce=>{Object.defineProperty(ce,"__esModule",{value:true});ce.CodeGen=ce.Name=ce.nil=ce.stringify=ce.str=ce._=ce.KeywordCxt=void 0;var Xf=gr();Object.defineProperty(ce,"KeywordCxt",{enumerable:true,get:function(){return Xf.KeywordCxt}});var Gt=B();Object.defineProperty(ce,"_",{enumerable:true,get:function(){return Gt._}});Object.defineProperty(ce,"str",{enumerable:true,get:function(){return Gt.str}});Object.defineProperty(ce,"stringify",{enumerable:true,get:function(){return Gt.stringify}});Object.defineProperty(ce,"nil",{enumerable:true,get:function(){return Gt.nil}});Object.defineProperty(ce,"Name",{enumerable:true,get:function(){return Gt.Name}});Object.defineProperty(ce,"CodeGen",{enumerable:true,get:function(){return Gt.CodeGen}});var Qf=rn(),Ai=hr(),Zf=ps(),vr=sn(),ep=B(),kr=fr(),dn=lr(),Ls=z(),$i=li(),tp=Ci(),Ii=(e,t)=>new RegExp(e,t);Ii.code="new RegExp";var rp=["removeAdditional","useDefaults","coerceTypes"],np=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),sp={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."},op={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},Ei=200;function ap(e){var t,r,n,s,o,a,i,u,c,d,l,k,v,m,p,b,g,f,y,_,w,$,R,E,N;let D=e.strict,M=(t=e.code)===null||t===void 0?void 0:t.optimize,te=M===true||M===void 0?1:M||0,U=(n=(r=e.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:Ii,le=(s=e.uriResolver)!==null&&s!==void 0?s:tp.default;return {strictSchema:(a=(o=e.strictSchema)!==null&&o!==void 0?o:D)!==null&&a!==void 0?a:true,strictNumbers:(u=(i=e.strictNumbers)!==null&&i!==void 0?i:D)!==null&&u!==void 0?u:true,strictTypes:(d=(c=e.strictTypes)!==null&&c!==void 0?c:D)!==null&&d!==void 0?d:"log",strictTuples:(k=(l=e.strictTuples)!==null&&l!==void 0?l:D)!==null&&k!==void 0?k:"log",strictRequired:(m=(v=e.strictRequired)!==null&&v!==void 0?v:D)!==null&&m!==void 0?m:false,code:e.code?{...e.code,optimize:te,regExp:U}:{optimize:te,regExp:U},loopRequired:(p=e.loopRequired)!==null&&p!==void 0?p:Ei,loopEnum:(b=e.loopEnum)!==null&&b!==void 0?b:Ei,meta:(g=e.meta)!==null&&g!==void 0?g:true,messages:(f=e.messages)!==null&&f!==void 0?f:true,inlineRefs:(y=e.inlineRefs)!==null&&y!==void 0?y:true,schemaId:(_=e.schemaId)!==null&&_!==void 0?_:"$id",addUsedSchema:(w=e.addUsedSchema)!==null&&w!==void 0?w:true,validateSchema:($=e.validateSchema)!==null&&$!==void 0?$:true,validateFormats:(R=e.validateFormats)!==null&&R!==void 0?R:true,unicodeRegExp:(E=e.unicodeRegExp)!==null&&E!==void 0?E:true,int32range:(N=e.int32range)!==null&&N!==void 0?N:true,uriResolver:le}}var br=class{constructor(t={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,t=this.opts={...t,...ap(t)};let{es5:r,lines:n}=this.opts.code;this.scope=new ep.ValueScope({scope:{},prefixes:np,es5:r,lines:n}),this.logger=fp(t.logger);let s=t.validateFormats;t.validateFormats=false,this.RULES=(0, Zf.getRules)(),xi.call(this,sp,t,"NOT SUPPORTED"),xi.call(this,op,t,"DEPRECATED","warn"),this._metaOpts=dp.call(this),t.formats&&up.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),t.keywords&&cp.call(this,t.keywords),typeof t.meta=="object"&&this.addMetaSchema(t.meta),ip.call(this),t.validateFormats=s;}_addVocabularies(){this.addKeyword("$async");}_addDefaultMetaSchema(){let{$data:t,meta:r,schemaId:n}=this.opts,s=$i;n==="id"&&(s={...$i},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(d,l){await o.call(this,d.$schema);let k=this._addSchema(d,l);return k.validate||a.call(this,k)}async function o(d){d&&!this.getSchema(d)&&await s.call(this,{$ref:d},true);}async function a(d){try{return this._compileSchemaEnv(d)}catch(l){if(!(l instanceof Ai.default))throw l;return i.call(this,l),await u.call(this,l.missingSchema),a.call(this,d)}}function i({missingSchema:d,missingRef:l}){if(this.refs[d])throw new Error(`AnySchema ${d} is loaded but ${l} cannot be resolved`)}async function u(d){let l=await c.call(this,d);this.refs[d]||await o.call(this,l.$schema),this.refs[d]||this.addSchema(l,d,r);}async function c(d){let l=this._loading[d];if(l)return l;try{return await(this._loading[d]=n(d))}finally{delete this._loading[d];}}}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, kr.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=Ti.call(this,t))=="string";)t=r;if(r===void 0){let{schemaId:n}=this.opts,s=new vr.SchemaEnv({schema:{},schemaId:n});if(r=vr.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=Ti.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, kr.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(mp.call(this,n,r),!r)return (0, Ls.eachItem)(n,o=>Ms.call(this,o)),this;hp.call(this,r);let s={...r,type:(0, dn.getJSONTypes)(r.type),schemaType:(0, dn.getJSONTypes)(r.schemaType)};return (0, Ls.eachItem)(n,s.type.length===0?o=>Ms.call(this,o,s):o=>s.type.forEach(a=>Ms.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,d=a[i];c&&d&&(a[i]=Pi(d));}}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, kr.normalizeId)(a||n);let c=kr.getSchemaRefs.call(this,t,n);return u=new vr.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):vr.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{vr.compileSchema.call(this,t);}finally{this.opts=r;}}};br.ValidationError=Qf.default;br.MissingRefError=Ai.default;ce.default=br;function xi(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 Ti(e){return e=(0, kr.normalizeId)(e),this.schemas[e]||this.refs[e]}function ip(){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 up(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t);}}function cp(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 dp(){let e={...this.opts};for(let t of rp)delete e[t];return e}var lp={log(){},warn(){},error(){}};function fp(e){if(e===false)return lp;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 pp=/^[a-z_$][a-z0-9_$:-]*$/i;function mp(e,t){let{RULES:r}=this;if((0, Ls.eachItem)(e,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!pp.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 Ms(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, dn.getJSONTypes)(t.type),schemaType:(0, dn.getJSONTypes)(t.schemaType)}};t.before?gp.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 gp(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 hp(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=Pi(t)),e.validateSchema=this.compile(t,true));}var yp={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Pi(e){return {anyOf:[e,yp]}}});var ji=x(Vs=>{Object.defineProperty(Vs,"__esModule",{value:true});var vp={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Vs.default=vp;});var Fi=x(Rt=>{Object.defineProperty(Rt,"__esModule",{value:true});Rt.callRef=Rt.getValidate=void 0;var kp=hr(),Ni=Ie(),_e=B(),Kt=Ue(),qi=sn(),ln=z(),bp={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 l();let d=qi.resolveRef.call(u,c,s,r);if(d===void 0)throw new kp.default(n.opts.uriResolver,s,r);if(d instanceof qi.SchemaEnv)return k(d);return v(d);function l(){if(o===c)return fn(e,a,o,o.$async);let m=t.scopeValue("root",{ref:c});return fn(e,(0, _e._)`${m}.validate`,c,c.$async)}function k(m){let p=Di(e,m);fn(e,p,m,m.$async);}function v(m){let p=t.scopeValue("schema",i.code.source===true?{ref:m,code:(0, _e.stringify)(m)}:{ref:m}),b=t.name("valid"),g=e.subschema({schema:m,dataTypes:[],schemaPath:_e.nil,topSchemaRef:p,errSchemaPath:r},b);e.mergeEvaluated(g),e.ok(b);}}};function Di(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0, _e._)`${r.scopeValue("wrapper",{ref:t})}.validate`}Rt.getValidate=Di;function fn(e,t,r,n){let{gen:s,it:o}=e,{allErrors:a,schemaEnv:i,opts:u}=o,c=u.passContext?Kt.default.this:_e.nil;n?d():l();function d(){if(!i.$async)throw new Error("async schema referenced by sync schema");let m=s.let("valid");s.try(()=>{s.code((0, _e._)`await ${(0, Ni.callValidateCode)(e,t,c)}`),v(t),a||s.assign(m,true);},p=>{s.if((0, _e._)`!(${p} instanceof ${o.ValidationError})`,()=>s.throw(p)),k(p),a||s.assign(m,false);}),e.ok(m);}function l(){e.result((0, Ni.callValidateCode)(e,t,c),()=>v(t),()=>k(t));}function k(m){let p=(0, _e._)`${m}.errors`;s.assign(Kt.default.vErrors,(0, _e._)`${Kt.default.vErrors} === null ? ${p} : ${Kt.default.vErrors}.concat(${p})`),s.assign(Kt.default.errors,(0, _e._)`${Kt.default.vErrors}.length`);}function v(m){var p;if(!o.opts.unevaluated)return;let b=(p=r?.validate)===null||p===void 0?void 0:p.evaluated;if(o.props!==true)if(b&&!b.dynamicProps)b.props!==void 0&&(o.props=ln.mergeEvaluated.props(s,b.props,o.props));else {let g=s.var("props",(0, _e._)`${m}.evaluated.props`);o.props=ln.mergeEvaluated.props(s,g,o.props,_e.Name);}if(o.items!==true)if(b&&!b.dynamicItems)b.items!==void 0&&(o.items=ln.mergeEvaluated.items(s,b.items,o.items));else {let g=s.var("items",(0, _e._)`${m}.evaluated.items`);o.items=ln.mergeEvaluated.items(s,g,o.items,_e.Name);}}}Rt.callRef=fn;Rt.default=bp;});var Mi=x(Bs=>{Object.defineProperty(Bs,"__esModule",{value:true});var wp=ji(),Sp=Fi(),_p=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",wp.default,Sp.default];Bs.default=_p;});var Li=x(Gs=>{Object.defineProperty(Gs,"__esModule",{value:true});var pn=B(),it=pn.operators,mn={maximum:{okStr:"<=",ok:it.LTE,fail:it.GT},minimum:{okStr:">=",ok:it.GTE,fail:it.LT},exclusiveMaximum:{okStr:"<",ok:it.LT,fail:it.GTE},exclusiveMinimum:{okStr:">",ok:it.GT,fail:it.LTE}},Rp={message:({keyword:e,schemaCode:t})=>(0, pn.str)`must be ${mn[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0, pn._)`{comparison: ${mn[e].okStr}, limit: ${t}}`},Cp={keyword:Object.keys(mn),type:"number",schemaType:"number",$data:true,error:Rp,code(e){let{keyword:t,data:r,schemaCode:n}=e;e.fail$data((0, pn._)`${r} ${mn[t].fail} ${n} || isNaN(${r})`);}};Gs.default=Cp;});var Vi=x(Ks=>{Object.defineProperty(Ks,"__esModule",{value:true});var wr=B(),$p={message:({schemaCode:e})=>(0, wr.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0, wr._)`{multipleOf: ${e}}`},Ep={keyword:"multipleOf",type:"number",schemaType:"number",$data:true,error:$p,code(e){let{gen:t,data:r,schemaCode:n,it:s}=e,o=s.opts.multipleOfPrecision,a=t.let("res"),i=o?(0, wr._)`Math.abs(Math.round(${a}) - ${a}) > 1e-${o}`:(0, wr._)`${a} !== parseInt(${a})`;e.fail$data((0, wr._)`(${n} === 0 || (${a} = ${r}/${n}, ${i}))`);}};Ks.default=Ep;});var Gi=x(Us=>{Object.defineProperty(Us,"__esModule",{value:true});function Bi(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}Us.default=Bi;Bi.code='require("ajv/dist/runtime/ucs2length").default';});var Ki=x(Js=>{Object.defineProperty(Js,"__esModule",{value:true});var Ct=B(),xp=z(),Tp=Gi(),Ap={message({keyword:e,schemaCode:t}){let r=e==="maxLength"?"more":"fewer";return (0, Ct.str)`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>(0, Ct._)`{limit: ${e}}`},Ip={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:true,error:Ap,code(e){let{keyword:t,data:r,schemaCode:n,it:s}=e,o=t==="maxLength"?Ct.operators.GT:Ct.operators.LT,a=s.opts.unicode===false?(0, Ct._)`${r}.length`:(0, Ct._)`${(0, xp.useFunc)(e.gen,Tp.default)}(${r})`;e.fail$data((0, Ct._)`${a} ${o} ${n}`);}};Js.default=Ip;});var Ui=x(zs=>{Object.defineProperty(zs,"__esModule",{value:true});var Pp=Ie(),Op=z(),Ut=B(),jp={message:({schemaCode:e})=>(0, Ut.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0, Ut._)`{pattern: ${e}}`},Np={keyword:"pattern",type:"string",schemaType:"string",$data:true,error:jp,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, Ut._)`new RegExp`:(0, Op.useFunc)(t,u),d=t.let("valid");t.try(()=>t.assign(d,(0, Ut._)`${c}(${o}, ${i}).test(${r})`),()=>t.assign(d,false)),e.fail$data((0, Ut._)`!${d}`);}else {let u=(0, Pp.usePattern)(e,s);e.fail$data((0, Ut._)`!${u}.test(${r})`);}}};zs.default=Np;});var Ji=x(Hs=>{Object.defineProperty(Hs,"__esModule",{value:true});var Sr=B(),qp={message({keyword:e,schemaCode:t}){let r=e==="maxProperties"?"more":"fewer";return (0, Sr.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0, Sr._)`{limit: ${e}}`},Dp={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:true,error:qp,code(e){let{keyword:t,data:r,schemaCode:n}=e,s=t==="maxProperties"?Sr.operators.GT:Sr.operators.LT;e.fail$data((0, Sr._)`Object.keys(${r}).length ${s} ${n}`);}};Hs.default=Dp;});var zi=x(Ws=>{Object.defineProperty(Ws,"__esModule",{value:true});var _r=Ie(),Rr=B(),Fp=z(),Mp={message:({params:{missingProperty:e}})=>(0, Rr.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0, Rr._)`{missingProperty: ${e}}`},Lp={keyword:"required",type:"object",schemaType:"array",$data:true,error:Mp,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():d(),i.strictRequired){let v=e.parentSchema.properties,{definedProperties:m}=e.it;for(let p of r)if(v?.[p]===void 0&&!m.has(p)){let b=a.schemaEnv.baseId+a.errSchemaPath,g=`required property "${p}" is not defined at "${b}" (strictRequired)`;(0, Fp.checkStrictMode)(a,g,a.opts.strictRequired);}}function c(){if(u||o)e.block$data(Rr.nil,l);else for(let v of r)(0, _r.checkReportMissingProp)(e,v);}function d(){let v=t.let("missing");if(u||o){let m=t.let("valid",true);e.block$data(m,()=>k(v,m)),e.ok(m);}else t.if((0, _r.checkMissingProp)(e,r,v)),(0, _r.reportMissingProp)(e,v),t.else();}function l(){t.forOf("prop",n,v=>{e.setParams({missingProperty:v}),t.if((0, _r.noPropertyInData)(t,s,v,i.ownProperties),()=>e.error());});}function k(v,m){e.setParams({missingProperty:v}),t.forOf(v,n,()=>{t.assign(m,(0, _r.propertyInData)(t,s,v,i.ownProperties)),t.if((0, Rr.not)(m),()=>{e.error(),t.break();});},Rr.nil);}}};Ws.default=Lp;});var Hi=x(Ys=>{Object.defineProperty(Ys,"__esModule",{value:true});var Cr=B(),Vp={message({keyword:e,schemaCode:t}){let r=e==="maxItems"?"more":"fewer";return (0, Cr.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0, Cr._)`{limit: ${e}}`},Bp={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:true,error:Vp,code(e){let{keyword:t,data:r,schemaCode:n}=e,s=t==="maxItems"?Cr.operators.GT:Cr.operators.LT;e.fail$data((0, Cr._)`${r}.length ${s} ${n}`);}};Ys.default=Bp;});var gn=x(Xs=>{Object.defineProperty(Xs,"__esModule",{value:true});var Wi=ws();Wi.code='require("ajv/dist/runtime/equal").default';Xs.default=Wi;});var Yi=x(Zs=>{Object.defineProperty(Zs,"__esModule",{value:true});var Qs=lr(),de=B(),Gp=z(),Kp=gn(),Up={message:({params:{i:e,j:t}})=>(0, de.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0, de._)`{i: ${e}, j: ${t}}`},Jp={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:true,error:Up,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, Qs.getSchemaTypes)(o.items):[];e.block$data(u,d,(0, de._)`${a} === false`),e.ok(u);function d(){let m=t.let("i",(0, de._)`${r}.length`),p=t.let("j");e.setParams({i:m,j:p}),t.assign(u,true),t.if((0, de._)`${m} > 1`,()=>(l()?k:v)(m,p));}function l(){return c.length>0&&!c.some(m=>m==="object"||m==="array")}function k(m,p){let b=t.name("item"),g=(0, Qs.checkDataTypes)(c,b,i.opts.strictNumbers,Qs.DataType.Wrong),f=t.const("indices",(0, de._)`{}`);t.for((0, de._)`;${m}--;`,()=>{t.let(b,(0, de._)`${r}[${m}]`),t.if(g,(0, de._)`continue`),c.length>1&&t.if((0, de._)`typeof ${b} == "string"`,(0, de._)`${b} += "_"`),t.if((0, de._)`typeof ${f}[${b}] == "number"`,()=>{t.assign(p,(0, de._)`${f}[${b}]`),e.error(),t.assign(u,false).break();}).code((0, de._)`${f}[${b}] = ${m}`);});}function v(m,p){let b=(0, Gp.useFunc)(t,Kp.default),g=t.name("outer");t.label(g).for((0, de._)`;${m}--;`,()=>t.for((0, de._)`${p} = ${m}; ${p}--;`,()=>t.if((0, de._)`${b}(${r}[${m}], ${r}[${p}])`,()=>{e.error(),t.assign(u,false).break(g);})));}}};Zs.default=Jp;});var Xi=x(to=>{Object.defineProperty(to,"__esModule",{value:true});var eo=B(),zp=z(),Hp=gn(),Wp={message:"must be equal to constant",params:({schemaCode:e})=>(0, eo._)`{allowedValue: ${e}}`},Yp={keyword:"const",$data:true,error:Wp,code(e){let{gen:t,data:r,$data:n,schemaCode:s,schema:o}=e;n||o&&typeof o=="object"?e.fail$data((0, eo._)`!${(0, zp.useFunc)(t,Hp.default)}(${r}, ${s})`):e.fail((0, eo._)`${o} !== ${r}`);}};to.default=Yp;});var Qi=x(ro=>{Object.defineProperty(ro,"__esModule",{value:true});var $r=B(),Xp=z(),Qp=gn(),Zp={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0, $r._)`{allowedValues: ${e}}`},em={keyword:"enum",schemaType:"array",$data:true,error:Zp,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, Xp.useFunc)(t,Qp.default)),d;if(i||n)d=t.let("valid"),e.block$data(d,l);else {if(!Array.isArray(s))throw new Error("ajv implementation error");let v=t.const("vSchema",o);d=(0, $r.or)(...s.map((m,p)=>k(v,p)));}e.pass(d);function l(){t.assign(d,false),t.forOf("v",o,v=>t.if((0, $r._)`${c()}(${r}, ${v})`,()=>t.assign(d,true).break()));}function k(v,m){let p=s[m];return typeof p=="object"&&p!==null?(0, $r._)`${c()}(${r}, ${v}[${m}])`:(0, $r._)`${r} === ${p}`}}};ro.default=em;});var Zi=x(no=>{Object.defineProperty(no,"__esModule",{value:true});var tm=Li(),rm=Vi(),nm=Ki(),sm=Ui(),om=Ji(),am=zi(),im=Hi(),um=Yi(),cm=Xi(),dm=Qi(),lm=[tm.default,rm.default,nm.default,sm.default,om.default,am.default,im.default,um.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},cm.default,dm.default];no.default=lm;});var oo=x(Er=>{Object.defineProperty(Er,"__esModule",{value:true});Er.validateAdditionalItems=void 0;var $t=B(),so=z(),fm={message:({params:{len:e}})=>(0, $t.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0, $t._)`{limit: ${e}}`},pm={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:fm,code(e){let{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){(0, so.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}eu(e,n);}};function eu(e,t){let{gen:r,schema:n,data:s,keyword:o,it:a}=e;a.items=true;let i=r.const("len",(0, $t._)`${s}.length`);if(n===false)e.setParams({len:t.length}),e.pass((0, $t._)`${i} <= ${t.length}`);else if(typeof n=="object"&&!(0, so.alwaysValidSchema)(a,n)){let c=r.var("valid",(0, $t._)`${i} <= ${t.length}`);r.if((0, $t.not)(c),()=>u(c)),e.ok(c);}function u(c){r.forRange("i",t.length,i,d=>{e.subschema({keyword:o,dataProp:d,dataPropType:so.Type.Num},c),a.allErrors||r.if((0, $t.not)(c),()=>r.break());});}}Er.validateAdditionalItems=eu;Er.default=pm;});var ao=x(xr=>{Object.defineProperty(xr,"__esModule",{value:true});xr.validateTuple=void 0;var tu=B(),hn=z(),mm=Ie(),gm={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return ru(e,"additionalItems",t);r.items=true,!(0, hn.alwaysValidSchema)(r,t)&&e.ok((0, mm.validateArray)(e));}};function ru(e,t,r=e.schema){let{gen:n,parentSchema:s,data:o,keyword:a,it:i}=e;d(s),i.opts.unevaluated&&r.length&&i.items!==true&&(i.items=hn.mergeEvaluated.items(n,r.length,i.items));let u=n.name("valid"),c=n.const("len",(0, tu._)`${o}.length`);r.forEach((l,k)=>{(0, hn.alwaysValidSchema)(i,l)||(n.if((0, tu._)`${c} > ${k}`,()=>e.subschema({keyword:a,schemaProp:k,dataProp:k},u)),e.ok(u));});function d(l){let{opts:k,errSchemaPath:v}=i,m=r.length,p=m===l.minItems&&(m===l.maxItems||l[t]===false);if(k.strictTuples&&!p){let b=`"${a}" is ${m}-tuple, but minItems or maxItems/${t} are not specified or different at path "${v}"`;(0, hn.checkStrictMode)(i,b,k.strictTuples);}}}xr.validateTuple=ru;xr.default=gm;});var nu=x(io=>{Object.defineProperty(io,"__esModule",{value:true});var hm=ao(),ym={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0, hm.validateTuple)(e,"items")};io.default=ym;});var ou=x(uo=>{Object.defineProperty(uo,"__esModule",{value:true});var su=B(),vm=z(),km=Ie(),bm=oo(),wm={message:({params:{len:e}})=>(0, su.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0, su._)`{limit: ${e}}`},Sm={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:wm,code(e){let{schema:t,parentSchema:r,it:n}=e,{prefixItems:s}=r;n.items=true,!(0, vm.alwaysValidSchema)(n,t)&&(s?(0, bm.validateAdditionalItems)(e,s):e.ok((0, km.validateArray)(e)));}};uo.default=Sm;});var au=x(co=>{Object.defineProperty(co,"__esModule",{value:true});var Oe=B(),yn=z(),_m={message:({params:{min:e,max:t}})=>t===void 0?(0, Oe.str)`must contain at least ${e} valid item(s)`:(0, Oe.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0, Oe._)`{minContains: ${e}}`:(0, Oe._)`{minContains: ${e}, maxContains: ${t}}`},Rm={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:true,error:_m,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 d=t.const("len",(0, Oe._)`${s}.length`);if(e.setParams({min:a,max:i}),i===void 0&&a===0){(0, yn.checkStrictMode)(o,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(i!==void 0&&a>i){(0, yn.checkStrictMode)(o,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0, yn.alwaysValidSchema)(o,r)){let p=(0, Oe._)`${d} >= ${a}`;i!==void 0&&(p=(0, Oe._)`${p} && ${d} <= ${i}`),e.pass(p);return}o.items=true;let l=t.name("valid");i===void 0&&a===1?v(l,()=>t.if(l,()=>t.break())):a===0?(t.let(l,true),i!==void 0&&t.if((0, Oe._)`${s}.length > 0`,k)):(t.let(l,false),k()),e.result(l,()=>e.reset());function k(){let p=t.name("_valid"),b=t.let("count",0);v(p,()=>t.if(p,()=>m(b)));}function v(p,b){t.forRange("i",0,d,g=>{e.subschema({keyword:"contains",dataProp:g,dataPropType:yn.Type.Num,compositeRule:true},p),b();});}function m(p){t.code((0, Oe._)`${p}++`),i===void 0?t.if((0, Oe._)`${p} >= ${a}`,()=>t.assign(l,true).break()):(t.if((0, Oe._)`${p} > ${i}`,()=>t.assign(l,false).break()),a===1?t.assign(l,true):t.if((0, Oe._)`${p} >= ${a}`,()=>t.assign(l,true)));}}};co.default=Rm;});var cu=x(Be=>{Object.defineProperty(Be,"__esModule",{value:true});Be.validateSchemaDeps=Be.validatePropertyDeps=Be.error=void 0;var lo=B(),Cm=z(),Tr=Ie();Be.error={message:({params:{property:e,depsCount:t,deps:r}})=>{let n=t===1?"property":"properties";return (0, lo.str)`must have ${n} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:r,missingProperty:n}})=>(0, lo._)`{property: ${e},
6
+ || ${a} === "boolean" || ${s} === null`).assign(i,(0, L._)`[${s}]`);}}}function wl({gen:e,parentData:t,parentDataProperty:r},n){e.if((0, L._)`${t} !== undefined`,()=>e.assign((0, L._)`${t}[${r}]`,n));}function _s(e,t,r,n=Jt.Correct){let s=n===Jt.Correct?L.operators.EQ:L.operators.NEQ,o;switch(e){case "null":return (0, L._)`${t} ${s} null`;case "array":o=(0, L._)`Array.isArray(${t})`;break;case "object":o=(0, L._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case "integer":o=a((0, L._)`!(${t} % 1) && !isNaN(${t})`);break;case "number":o=a();break;default:return (0, L._)`typeof ${t} ${s} ${e}`}return n===Jt.Correct?o:(0, L.not)(o);function a(i=L.nil){return (0, L.and)((0, L._)`typeof ${t} == "number"`,i,r?(0, L._)`isFinite(${t})`:L.nil)}}ve.checkDataType=_s;function Rs(e,t,r,n){if(e.length===1)return _s(e[0],t,r,n);let s,o=(0, Va.toHash)(e);if(o.array&&o.object){let a=(0, L._)`typeof ${t} != "object"`;s=o.null?a:(0, L._)`!${t} || ${a}`,delete o.null,delete o.array,delete o.object;}else s=L.nil;o.number&&delete o.integer;for(let a in o)s=(0, L.and)(s,_s(a,t,r,n));return s}ve.checkDataTypes=Rs;var _l={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0, L._)`{type: ${e}}`:(0, L._)`{type: ${t}}`};function Cs(e){let t=Rl(e);(0, yl.reportError)(t,_l);}ve.reportTypeError=Cs;function Rl(e){let{gen:t,data:r,schema:n}=e,s=(0, Va.schemaRefOrVal)(e,n,"type");return {gen:t,keyword:"type",data:r,schema:n.type,schemaCode:s,schemaValue:s,parentSchema:n,params:{},it:e}}});var Ua=x(sn=>{Object.defineProperty(sn,"__esModule",{value:true});sn.assignDefaults=void 0;var zt=G(),Cl=z();function $l(e,t){let{properties:r,items:n}=e.schema;if(t==="object"&&r)for(let s in r)Ka(e,s,r[s].default);else t==="array"&&Array.isArray(n)&&n.forEach((s,o)=>Ka(e,o,s.default));}sn.assignDefaults=$l;function Ka(e,t,r){let{gen:n,compositeRule:s,data:o,opts:a}=e;if(r===void 0)return;let i=(0, zt._)`${o}${(0, zt.getProperty)(t)}`;if(s){(0, Cl.checkStrictMode)(e,`default is ignored for: ${i}`);return}let u=(0, zt._)`${i} === undefined`;a.useDefaults==="empty"&&(u=(0, zt._)`${u} || ${i} === null || ${i} === ""`),n.if(u,(0, zt._)`${i} = ${(0, zt.stringify)(r)}`);}});var qe=x(re=>{Object.defineProperty(re,"__esModule",{value:true});re.validateUnion=re.validateArray=re.usePattern=re.callValidateCode=re.schemaProperties=re.allSchemaProperties=re.noPropertyInData=re.propertyInData=re.isOwnProperty=re.hasPropFunc=re.reportMissingProp=re.checkMissingProp=re.checkReportMissingProp=void 0;var ie=G(),$s=z(),dt=tt(),El=z();function xl(e,t){let{gen:r,data:n,it:s}=e;r.if(xs(r,n,t,s.opts.ownProperties),()=>{e.setParams({missingProperty:(0, ie._)`${t}`},true),e.error();});}re.checkReportMissingProp=xl;function Tl({gen:e,data:t,it:{opts:r}},n,s){return (0, ie.or)(...n.map(o=>(0, ie.and)(xs(e,t,o,r.ownProperties),(0, ie._)`${s} = ${o}`)))}re.checkMissingProp=Tl;function Al(e,t){e.setParams({missingProperty:t},true),e.error();}re.reportMissingProp=Al;function Ja(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0, ie._)`Object.prototype.hasOwnProperty`})}re.hasPropFunc=Ja;function Es(e,t,r){return (0, ie._)`${Ja(e)}.call(${t}, ${r})`}re.isOwnProperty=Es;function Il(e,t,r,n){let s=(0, ie._)`${t}${(0, ie.getProperty)(r)} !== undefined`;return n?(0, ie._)`${s} && ${Es(e,t,r)}`:s}re.propertyInData=Il;function xs(e,t,r,n){let s=(0, ie._)`${t}${(0, ie.getProperty)(r)} === undefined`;return n?(0, ie.or)(s,(0, ie.not)(Es(e,t,r))):s}re.noPropertyInData=xs;function za(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}re.allSchemaProperties=za;function Ol(e,t){return za(t).filter(r=>!(0, $s.alwaysValidSchema)(e,t[r]))}re.schemaProperties=Ol;function Pl({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:s,errorPath:o},it:a},i,u,c){let d=c?(0, ie._)`${e}, ${t}, ${n}${s}`:t,l=[[dt.default.instancePath,(0, ie.strConcat)(dt.default.instancePath,o)],[dt.default.parentData,a.parentData],[dt.default.parentDataProperty,a.parentDataProperty],[dt.default.rootData,dt.default.rootData]];a.opts.dynamicRef&&l.push([dt.default.dynamicAnchors,dt.default.dynamicAnchors]);let h=(0, ie._)`${d}, ${r.object(...l)}`;return u!==ie.nil?(0, ie._)`${i}.call(${u}, ${h})`:(0, ie._)`${i}(${h})`}re.callValidateCode=Pl;var jl=(0, ie._)`new RegExp`;function Nl({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, ie._)`${s.code==="new RegExp"?jl:(0, El.useFunc)(e,s)}(${r}, ${n})`})}re.usePattern=Nl;function ql(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, ie._)`${r}.length`);t.forRange("i",0,u,c=>{e.subschema({keyword:n,dataProp:c,dataPropType:$s.Type.Num},o),t.if((0, ie.not)(o),i);});}}re.validateArray=ql;function Fl(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, $s.alwaysValidSchema)(s,u))&&!s.opts.unevaluated)return;let a=t.let("valid",false),i=t.name("_valid");t.block(()=>r.forEach((u,c)=>{let d=e.subschema({keyword:n,schemaProp:c,compositeRule:true},i);t.assign(a,(0, ie._)`${a} || ${i}`),e.mergeValidEvaluated(d,i)||t.if((0, ie.not)(a));})),e.result(a,()=>e.reset(),()=>e.error(true));}re.validateUnion=Fl;});var Ya=x(ze=>{Object.defineProperty(ze,"__esModule",{value:true});ze.validateKeywordUsage=ze.validSchemaType=ze.funcKeywordCode=ze.macroKeywordCode=void 0;var _e=G(),At=tt(),Dl=qe(),Ml=pr();function Ll(e,t){let{gen:r,keyword:n,schema:s,parentSchema:o,it:a}=e,i=t.macro.call(a.self,s,o,a),u=Wa(r,n,i);a.opts.validateSchema!==false&&a.self.validateSchema(i,true);let c=r.name("valid");e.subschema({schema:i,schemaPath:_e.nil,errSchemaPath:`${a.errSchemaPath}/${n}`,topSchemaRef:u,compositeRule:true},c),e.pass(c,()=>e.error(true));}ze.macroKeywordCode=Ll;function Vl(e,t){var r;let{gen:n,keyword:s,schema:o,parentSchema:a,$data:i,it:u}=e;Gl(u,t);let c=!i&&t.compile?t.compile.call(u.self,o,a,u):t.validate,d=Wa(n,s,c),l=n.let("valid");e.block$data(l,h),e.ok((r=t.valid)!==null&&r!==void 0?r:l);function h(){if(t.errors===false)p(),t.modifying&&Ha(e),S(()=>e.error());else {let _=t.async?y():m();t.modifying&&Ha(e),S(()=>Bl(e,_));}}function y(){let _=n.let("ruleErrs",null);return n.try(()=>p((0, _e._)`await `),f=>n.assign(l,false).if((0, _e._)`${f} instanceof ${u.ValidationError}`,()=>n.assign(_,(0, _e._)`${f}.errors`),()=>n.throw(f))),_}function m(){let _=(0, _e._)`${d}.errors`;return n.assign(_,null),p(_e.nil),_}function p(_=t.async?(0, _e._)`await `:_e.nil){let f=u.opts.passContext?At.default.this:At.default.self,g=!("compile"in t&&!i||t.schema===false);n.assign(l,(0, _e._)`${_}${(0, Dl.callValidateCode)(e,d,f,g)}`,t.modifying);}function S(_){var f;n.if((0, _e.not)((f=t.valid)!==null&&f!==void 0?f:l),_);}}ze.funcKeywordCode=Vl;function Ha(e){let{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,(0, _e._)`${n.parentData}[${n.parentDataProperty}]`));}function Bl(e,t){let{gen:r}=e;r.if((0, _e._)`Array.isArray(${t})`,()=>{r.assign(At.default.vErrors,(0, _e._)`${At.default.vErrors} === null ? ${t} : ${At.default.vErrors}.concat(${t})`).assign(At.default.errors,(0, _e._)`${At.default.vErrors}.length`),(0, Ml.extendErrors)(e);},()=>e.error());}function Gl({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function Wa(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, _e.stringify)(r)})}function Kl(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")}ze.validSchemaType=Kl;function Ul({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)}}ze.validateKeywordUsage=Ul;});var Qa=x(lt=>{Object.defineProperty(lt,"__esModule",{value:true});lt.extendSubschemaMode=lt.extendSubschemaData=lt.getSubschema=void 0;var He=G(),Xa=z();function Jl(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, He._)`${e.schemaPath}${(0, He.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:i[r],schemaPath:(0, He._)`${e.schemaPath}${(0, He.getProperty)(t)}${(0, He.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0, Xa.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')}lt.getSubschema=Jl;function zl(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:d,opts:l}=t,h=i.let("data",(0, He._)`${t.data}${(0, He.getProperty)(r)}`,true);u(h),e.errorPath=(0, He.str)`${c}${(0, Xa.getErrorPath)(r,n,l.jsPropertySyntax)}`,e.parentDataProperty=(0, He._)`${r}`,e.dataPathArr=[...d,e.parentDataProperty];}if(s!==void 0){let c=s instanceof He.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];}}lt.extendSubschemaData=zl;function Hl(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;}lt.extendSubschemaMode=Hl;});var Ts=x((Iy,Za)=>{Za.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 ti=x((Oy,ei)=>{var ft=ei.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(){};on(t,n,s,e,"",e);};ft.keywords={additionalItems:true,items:true,contains:true,additionalProperties:true,propertyNames:true,not:true,if:true,then:true,else:true};ft.arrayKeywords={items:true,allOf:true,anyOf:true,oneOf:true};ft.propsKeywords={$defs:true,definitions:true,properties:true,patternProperties:true,dependencies:true};ft.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 on(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 d in n){var l=n[d];if(Array.isArray(l)){if(d in ft.arrayKeywords)for(var h=0;h<l.length;h++)on(e,t,r,l[h],s+"/"+d+"/"+h,o,s,d,n,h);}else if(d in ft.propsKeywords){if(l&&typeof l=="object")for(var y in l)on(e,t,r,l[y],s+"/"+d+"/"+Wl(y),o,s,d,n,y);}else (d in ft.keywords||e.allKeys&&!(d in ft.skipKeywords))&&on(e,t,r,l,s+"/"+d,o,s,d,n);}r(n,s,o,a,i,u,c);}}function Wl(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}});var gr=x(xe=>{Object.defineProperty(xe,"__esModule",{value:true});xe.getSchemaRefs=xe.resolveUrl=xe.normalizeId=xe._getFullPath=xe.getFullPath=xe.inlineRef=void 0;var Yl=z(),Xl=Ts(),Ql=ti(),Zl=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function ef(e,t=true){return typeof e=="boolean"?true:t===true?!As(e):t?ri(e)<=t:false}xe.inlineRef=ef;var tf=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function As(e){for(let t in e){if(tf.has(t))return true;let r=e[t];if(Array.isArray(r)&&r.some(As)||typeof r=="object"&&As(r))return true}return false}function ri(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,!Zl.has(r)&&(typeof e[r]=="object"&&(0, Yl.eachItem)(e[r],n=>t+=ri(n)),t===1/0))return 1/0}return t}function ni(e,t="",r){r!==false&&(t=Ht(t));let n=e.parse(t);return si(e,n)}xe.getFullPath=ni;function si(e,t){return e.serialize(t).split("#")[0]+"#"}xe._getFullPath=si;var rf=/#\/?$/;function Ht(e){return e?e.replace(rf,""):""}xe.normalizeId=Ht;function nf(e,t,r){return r=Ht(r),e.resolve(t,r)}xe.resolveUrl=nf;var sf=/^[a-z_][-a-z0-9._]*$/i;function of(e,t){if(typeof e=="boolean")return {};let{schemaId:r,uriResolver:n}=this.opts,s=Ht(e[r]||t),o={"":s},a=ni(n,s,false),i={},u=new Set;return Ql(e,{allKeys:true},(l,h,y,m)=>{if(m===void 0)return;let p=a+h,S=o[m];typeof l[r]=="string"&&(S=_.call(this,l[r])),f.call(this,l.$anchor),f.call(this,l.$dynamicAnchor),o[h]=S;function _(g){let k=this.opts.uriResolver.resolve;if(g=Ht(S?k(S,g):g),u.has(g))throw d(g);u.add(g);let b=this.refs[g];return typeof b=="string"&&(b=this.refs[b]),typeof b=="object"?c(l,b.schema,g):g!==Ht(p)&&(g[0]==="#"?(c(l,i[g],g),i[g]=l):this.refs[g]=p),g}function f(g){if(typeof g=="string"){if(!sf.test(g))throw new Error(`invalid anchor "${g}"`);_.call(this,`#${g}`);}}}),i;function c(l,h,y){if(h!==void 0&&!Xl(l,h))throw d(y)}function d(l){return new Error(`reference "${l}" resolves to more than one schema`)}}xe.getSchemaRefs=of;});var vr=x(pt=>{Object.defineProperty(pt,"__esModule",{value:true});pt.getData=pt.KeywordCxt=pt.validateFunctionCode=void 0;var ui=Da(),oi=mr(),Os=ws(),an=mr(),af=Ua(),yr=Ya(),Is=Qa(),A=G(),N=tt(),cf=gr(),rt=z(),hr=pr();function uf(e){if(fi(e)&&(pi(e),li(e))){ff(e);return}di(e,()=>(0, ui.topBoolOrEmptySchema)(e));}pt.validateFunctionCode=uf;function di({gen:e,validateName:t,schema:r,schemaEnv:n,opts:s},o){s.code.es5?e.func(t,(0, A._)`${N.default.data}, ${N.default.valCxt}`,n.$async,()=>{e.code((0, A._)`"use strict"; ${ai(r,s)}`),lf(e,s),e.code(o);}):e.func(t,(0, A._)`${N.default.data}, ${df(s)}`,n.$async,()=>e.code(ai(r,s)).code(o));}function df(e){return (0, A._)`{${N.default.instancePath}="", ${N.default.parentData}, ${N.default.parentDataProperty}, ${N.default.rootData}=${N.default.data}${e.dynamicRef?(0, A._)`, ${N.default.dynamicAnchors}={}`:A.nil}}={}`}function lf(e,t){e.if(N.default.valCxt,()=>{e.var(N.default.instancePath,(0, A._)`${N.default.valCxt}.${N.default.instancePath}`),e.var(N.default.parentData,(0, A._)`${N.default.valCxt}.${N.default.parentData}`),e.var(N.default.parentDataProperty,(0, A._)`${N.default.valCxt}.${N.default.parentDataProperty}`),e.var(N.default.rootData,(0, A._)`${N.default.valCxt}.${N.default.rootData}`),t.dynamicRef&&e.var(N.default.dynamicAnchors,(0, A._)`${N.default.valCxt}.${N.default.dynamicAnchors}`);},()=>{e.var(N.default.instancePath,(0, A._)`""`),e.var(N.default.parentData,(0, A._)`undefined`),e.var(N.default.parentDataProperty,(0, A._)`undefined`),e.var(N.default.rootData,N.default.data),t.dynamicRef&&e.var(N.default.dynamicAnchors,(0, A._)`{}`);});}function ff(e){let{schema:t,opts:r,gen:n}=e;di(e,()=>{r.$comment&&t.$comment&&gi(e),yf(e),n.let(N.default.vErrors,null),n.let(N.default.errors,0),r.unevaluated&&pf(e),mi(e),kf(e);});}function pf(e){let{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",(0, A._)`${r}.evaluated`),t.if((0, A._)`${e.evaluated}.dynamicProps`,()=>t.assign((0, A._)`${e.evaluated}.props`,(0, A._)`undefined`)),t.if((0, A._)`${e.evaluated}.dynamicItems`,()=>t.assign((0, A._)`${e.evaluated}.items`,(0, A._)`undefined`));}function ai(e,t){let r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?(0, A._)`/*# sourceURL=${r} */`:A.nil}function mf(e,t){if(fi(e)&&(pi(e),li(e))){gf(e,t);return}(0, ui.boolOrEmptySchema)(e,t);}function li({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 fi(e){return typeof e.schema!="boolean"}function gf(e,t){let{schema:r,gen:n,opts:s}=e;s.$comment&&r.$comment&&gi(e),vf(e),Sf(e);let o=n.const("_errs",N.default.errors);mi(e,o),n.var(t,(0, A._)`${o} === ${N.default.errors}`);}function pi(e){(0, rt.checkUnknownRules)(e),hf(e);}function mi(e,t){if(e.opts.jtd)return ii(e,[],false,t);let r=(0, oi.getSchemaTypes)(e.schema),n=(0, oi.coerceAndCheckDataType)(e,r);ii(e,r,!n,t);}function hf(e){let{schema:t,errSchemaPath:r,opts:n,self:s}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0, rt.schemaHasRulesButRef)(t,s.RULES)&&s.logger.warn(`$ref: keywords ignored in schema at path "${r}"`);}function yf(e){let{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0, rt.checkStrictMode)(e,"default is ignored in the schema root");}function vf(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0, cf.resolveUrl)(e.opts.uriResolver,e.baseId,t));}function Sf(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function gi({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:s}){let o=r.$comment;if(s.$comment===true)e.code((0, A._)`${N.default.self}.logger.log(${o})`);else if(typeof s.$comment=="function"){let a=(0, A.str)`${n}/$comment`,i=e.scopeValue("root",{ref:t.root});e.code((0, A._)`${N.default.self}.opts.$comment(${o}, ${a}, ${i}.schema)`);}}function kf(e){let{gen:t,schemaEnv:r,validateName:n,ValidationError:s,opts:o}=e;r.$async?t.if((0, A._)`${N.default.errors} === 0`,()=>t.return(N.default.data),()=>t.throw((0, A._)`new ${s}(${N.default.vErrors})`)):(t.assign((0, A._)`${n}.errors`,N.default.vErrors),o.unevaluated&&bf(e),t.return((0, A._)`${N.default.errors} === 0`));}function bf({gen:e,evaluated:t,props:r,items:n}){r instanceof A.Name&&e.assign((0, A._)`${t}.props`,r),n instanceof A.Name&&e.assign((0, A._)`${t}.items`,n);}function ii(e,t,r,n){let{gen:s,schema:o,data:a,allErrors:i,opts:u,self:c}=e,{RULES:d}=c;if(o.$ref&&(u.ignoreKeywordsWithRef||!(0, rt.schemaHasRulesButRef)(o,d))){s.block(()=>yi(e,"$ref",d.all.$ref.definition));return}u.jtd||wf(e,t),s.block(()=>{for(let h of d.rules)l(h);l(d.post);});function l(h){(0, Os.shouldUseGroup)(o,h)&&(h.type?(s.if((0, an.checkDataType)(h.type,a,u.strictNumbers)),ci(e,h),t.length===1&&t[0]===h.type&&r&&(s.else(),(0, an.reportTypeError)(e)),s.endIf()):ci(e,h),i||s.if((0, A._)`${N.default.errors} === ${n||0}`));}}function ci(e,t){let{gen:r,schema:n,opts:{useDefaults:s}}=e;s&&(0, af.assignDefaults)(e,t.type),r.block(()=>{for(let o of t.rules)(0, Os.shouldUseRule)(n,o)&&yi(e,o.keyword,o.definition,t.type);});}function wf(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(_f(e,t),e.opts.allowUnionTypes||Rf(e,t),Cf(e,e.dataTypes));}function _f(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{hi(e.dataTypes,r)||Ps(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`);}),Ef(e,t);}}function Rf(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&Ps(e,"use allowUnionTypes to allow union type keyword");}function Cf(e,t){let r=e.self.RULES.all;for(let n in r){let s=r[n];if(typeof s=="object"&&(0, Os.shouldUseRule)(e.schema,s)){let{type:o}=s.definition;o.length&&!o.some(a=>$f(t,a))&&Ps(e,`missing type "${o.join(",")}" for keyword "${n}"`);}}}function $f(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function hi(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function Ef(e,t){let r=[];for(let n of e.dataTypes)hi(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, rt.checkStrictMode)(e,t,e.opts.strictTypes);}var cn=class{constructor(t,r,n){if((0, yr.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, rt.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",vi(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0, yr.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",N.default.errors));}result(t,r,n){this.failResult((0, A.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, A.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, A._)`${r} !== undefined && (${(0, A.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?hr.reportExtraError:hr.reportError)(this,this.def.error,r);}$dataError(){(0, hr.reportError)(this,this.def.$dataError||hr.keyword$DataError);}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0, hr.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=A.nil){this.gen.block(()=>{this.check$data(t,n),r();});}check$data(t=A.nil,r=A.nil){if(!this.$data)return;let{gen:n,schemaCode:s,schemaType:o,def:a}=this;n.if((0, A.or)((0, A._)`${s} === undefined`,r)),t!==A.nil&&n.assign(t,true),(o.length||a.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),t!==A.nil&&n.assign(t,false)),n.else();}invalid$data(){let{gen:t,schemaCode:r,schemaType:n,def:s,it:o}=this;return (0, A.or)(a(),i());function a(){if(n.length){if(!(r instanceof A.Name))throw new Error("ajv implementation error");let u=Array.isArray(n)?n:[n];return (0, A._)`${(0, an.checkDataTypes)(u,r,o.opts.strictNumbers,an.DataType.Wrong)}`}return A.nil}function i(){if(s.validateSchema){let u=t.scopeValue("validate$data",{ref:s.validateSchema});return (0, A._)`!${u}(${r})`}return A.nil}}subschema(t,r){let n=(0, Is.getSubschema)(this.it,t);(0, Is.extendSubschemaData)(n,this.it,t),(0, Is.extendSubschemaMode)(n,t);let s={...this.it,...n,items:void 0,props:void 0};return mf(s,r),s}mergeEvaluated(t,r){let{it:n,gen:s}=this;n.opts.unevaluated&&(n.props!==true&&t.props!==void 0&&(n.props=rt.mergeEvaluated.props(s,t.props,n.props,r)),n.items!==true&&t.items!==void 0&&(n.items=rt.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,A.Name)),true}};pt.KeywordCxt=cn;function yi(e,t,r,n){let s=new cn(e,r,t);"code"in r?r.code(s,n):s.$data&&r.validate?(0, yr.funcKeywordCode)(s,r):"macro"in r?(0, yr.macroKeywordCode)(s,r):(r.compile||r.validate)&&(0, yr.funcKeywordCode)(s,r);}var xf=/^\/(?:[^~]|~0|~1)*$/,Tf=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function vi(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let s,o;if(e==="")return N.default.rootData;if(e[0]==="/"){if(!xf.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);s=e,o=N.default.rootData;}else {let c=Tf.exec(e);if(!c)throw new Error(`Invalid JSON-pointer: ${e}`);let d=+c[1];if(s=c[2],s==="#"){if(d>=t)throw new Error(u("property/index",d));return n[t-d]}if(d>t)throw new Error(u("data",d));if(o=r[t-d],!s)return o}let a=o,i=s.split("/");for(let c of i)c&&(o=(0, A._)`${o}${(0, A.getProperty)((0, rt.unescapeJsonPointer)(c))}`,a=(0, A._)`${a} && ${o}`);return a;function u(c,d){return `Cannot access ${c} ${d} levels up, current level is ${t}`}}pt.getData=vi;});var un=x(Ns=>{Object.defineProperty(Ns,"__esModule",{value:true});var js=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=true;}};Ns.default=js;});var Sr=x(Ds=>{Object.defineProperty(Ds,"__esModule",{value:true});var qs=gr(),Fs=class extends Error{constructor(t,r,n,s){super(s||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0, qs.resolveUrl)(t,r,n),this.missingSchema=(0, qs.normalizeId)((0, qs.getFullPath)(t,this.missingRef));}};Ds.default=Fs;});var ln=x(Fe=>{Object.defineProperty(Fe,"__esModule",{value:true});Fe.resolveSchema=Fe.getCompilingSchema=Fe.resolveRef=Fe.compileSchema=Fe.SchemaEnv=void 0;var Be=G(),Af=un(),It=tt(),Ge=gr(),Si=z(),If=vr(),Wt=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, Ge.normalizeId)(n?.[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=n?.$async,this.refs={};}};Fe.SchemaEnv=Wt;function Ls(e){let t=ki.call(this,e);if(t)return t;let r=(0, Ge.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:s}=this.opts.code,{ownProperties:o}=this.opts,a=new Be.CodeGen(this.scope,{es5:n,lines:s,ownProperties:o}),i;e.$async&&(i=a.scopeValue("Error",{ref:Af.default,code:(0, Be._)`require("ajv/dist/runtime/validation_error").default`}));let u=a.scopeName("validate");e.validateName=u;let c={gen:a,allErrors:this.opts.allErrors,data:It.default.data,parentData:It.default.parentData,parentDataProperty:It.default.parentDataProperty,dataNames:[It.default.data],dataPathArr:[Be.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:a.scopeValue("schema",this.opts.code.source===true?{ref:e.schema,code:(0, Be.stringify)(e.schema)}:{ref:e.schema}),validateName:u,ValidationError:i,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:Be.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0, Be._)`""`,opts:this.opts,self:this},d;try{this._compilations.add(e),(0,If.validateFunctionCode)(c),a.optimize(this.opts.code.optimize);let l=a.toString();d=`${a.scopeRefs(It.default.scope)}return ${l}`,this.opts.code.process&&(d=this.opts.code.process(d,e));let y=new Function(`${It.default.self}`,`${It.default.scope}`,d)(this,this.scope.get());if(this.scope.value(u,{ref:y}),y.errors=null,y.schema=e.schema,y.schemaEnv=e,e.$async&&(y.$async=!0),this.opts.code.source===!0&&(y.source={validateName:u,validateCode:l,scopeValues:a._values}),this.opts.unevaluated){let{props:m,items:p}=c;y.evaluated={props:m instanceof Be.Name?void 0:m,items:p instanceof Be.Name?void 0:p,dynamicProps:m instanceof Be.Name,dynamicItems:p instanceof Be.Name},y.source&&(y.source.evaluated=(0,Be.stringify)(y.evaluated));}return e.validate=y,e}catch(l){throw delete e.validate,delete e.validateName,d&&this.logger.error("Error compiling schema, function code:",d),l}finally{this._compilations.delete(e);}}Fe.compileSchema=Ls;function Of(e,t,r){var n;r=(0, Ge.resolveUrl)(this.opts.uriResolver,t,r);let s=e.refs[r];if(s)return s;let o=Nf.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 Wt({schema:a,schemaId:i,root:e,baseId:t}));}if(o!==void 0)return e.refs[r]=Pf.call(this,o)}Fe.resolveRef=Of;function Pf(e){return (0, Ge.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:Ls.call(this,e)}function ki(e){for(let t of this._compilations)if(jf(t,e))return t}Fe.getCompilingSchema=ki;function jf(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function Nf(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||dn.call(this,e,t)}function dn(e,t){let r=this.opts.uriResolver.parse(t),n=(0, Ge._getFullPath)(this.opts.uriResolver,r),s=(0, Ge.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===s)return Ms.call(this,r,e);let o=(0, Ge.normalizeId)(n),a=this.refs[o]||this.schemas[o];if(typeof a=="string"){let i=dn.call(this,e,a);return typeof i?.schema!="object"?void 0:Ms.call(this,r,i)}if(typeof a?.schema=="object"){if(a.validate||Ls.call(this,a),o===(0, Ge.normalizeId)(t)){let{schema:i}=a,{schemaId:u}=this.opts,c=i[u];return c&&(s=(0, Ge.resolveUrl)(this.opts.uriResolver,s,c)),new Wt({schema:i,schemaId:u,root:e,baseId:s})}return Ms.call(this,r,a)}}Fe.resolveSchema=dn;var qf=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Ms(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, Si.unescapeFragment)(i)];if(u===void 0)return;r=u;let c=typeof r=="object"&&r[this.opts.schemaId];!qf.has(i)&&c&&(t=(0, Ge.resolveUrl)(this.opts.uriResolver,t,c));}let o;if(typeof r!="boolean"&&r.$ref&&!(0, Si.schemaHasRulesButRef)(r,this.RULES)){let i=(0, Ge.resolveUrl)(this.opts.uriResolver,t,r.$ref);o=dn.call(this,n,i);}let{schemaId:a}=this.opts;if(o=o||new Wt({schema:r,schemaId:a,root:n,baseId:t}),o.schema!==o.root.schema)return o}});var bi=x((Dy,Ff)=>{Ff.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 Bs=x((My,Ci)=>{var Df=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),_i=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 Mf=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function wi(e){return e.length=0,true}function Lf(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 Vf(e){let t=0,r={error:false,address:"",zone:""},n=[],s=[],o=false,a=false,i=Lf;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=wi;}else {s.push(c);continue}}return s.length&&(i===wi?r.zone=s.join(""):a?n.push(s.join("")):n.push(Vs(s))),r.address=n.join(""),r}function Ri(e){if(Bf(e,":")<2)return {host:e,isIPV6:false};let t=Vf(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 Bf(e,t){let r=0;for(let n=0;n<e.length;n++)e[n]===t&&r++;return r}function Gf(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 Kf(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 Uf(e){let t=[];if(e.userinfo!==void 0&&(t.push(e.userinfo),t.push("@")),e.host!==void 0){let r=unescape(e.host);if(!_i(r)){let n=Ri(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}Ci.exports={nonSimpleDomain:Mf,recomposeAuthority:Uf,normalizeComponentEncoding:Kf,removeDotSegments:Gf,isIPv4:_i,isUUID:Df,normalizeIPv6:Ri,stringArrayToHexStripped:Vs};});var Ai=x((Ly,Ti)=>{var{isUUID:Jf}=Bs(),zf=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,Hf=["http","https","ws","wss","urn","urn:uuid"];function Wf(e){return Hf.indexOf(e)!==-1}function Gs(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 $i(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function Ei(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 Yf(e){return e.secure=Gs(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function Xf(e){if((e.port===(Gs(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 Qf(e,t){if(!e.path)return e.error="URN can not be parsed",e;let r=e.path.match(zf);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=Ks(s);e.path=void 0,o&&(e=o.parse(e,t));}else e.error=e.error||"URN can not be parsed.";return e}function Zf(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=Ks(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 ep(e,t){let r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!Jf(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function tp(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var xi={scheme:"http",domainHost:true,parse:$i,serialize:Ei},rp={scheme:"https",domainHost:xi.domainHost,parse:$i,serialize:Ei},fn={scheme:"ws",domainHost:true,parse:Yf,serialize:Xf},np={scheme:"wss",domainHost:fn.domainHost,parse:fn.parse,serialize:fn.serialize},sp={scheme:"urn",parse:Qf,serialize:Zf,skipNormalize:true},op={scheme:"urn:uuid",parse:ep,serialize:tp,skipNormalize:true},pn={http:xi,https:rp,ws:fn,wss:np,urn:sp,"urn:uuid":op};Object.setPrototypeOf(pn,null);function Ks(e){return e&&(pn[e]||pn[e.toLowerCase()])||void 0}Ti.exports={wsIsSecure:Gs,SCHEMES:pn,isValidSchemeName:Wf,getSchemeHandler:Ks};});var Pi=x((Vy,gn)=>{var{normalizeIPv6:ap,removeDotSegments:kr,recomposeAuthority:ip,normalizeComponentEncoding:mn,isIPv4:cp,nonSimpleDomain:up}=Bs(),{SCHEMES:dp,getSchemeHandler:Ii}=Ai();function lp(e,t){return typeof e=="string"?e=We(nt(e,t),t):typeof e=="object"&&(e=nt(We(e,t),t)),e}function fp(e,t,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},s=Oi(nt(e,n),nt(t,n),n,true);return n.skipEscape=true,We(s,n)}function Oi(e,t,r,n){let s={};return n||(e=nt(We(e,r),r),t=nt(We(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=kr(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=kr(t.path||""),s.query=t.query):(t.path?(t.path[0]==="/"?s.path=kr(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=kr(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 pp(e,t,r){return typeof e=="string"?(e=unescape(e),e=We(mn(nt(e,r),true),{...r,skipEscape:true})):typeof e=="object"&&(e=We(mn(e,true),{...r,skipEscape:true})),typeof t=="string"?(t=unescape(t),t=We(mn(nt(t,r),true),{...r,skipEscape:true})):typeof t=="object"&&(t=We(mn(t,true),{...r,skipEscape:true})),e.toLowerCase()===t.toLowerCase()}function We(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=ip(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=kr(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 mp=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function nt(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(mp);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(cp(n.host)===false){let u=ap(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&&up(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 Us={SCHEMES:dp,normalize:lp,resolve:fp,resolveComponent:Oi,equal:pp,serialize:We,parse:nt};gn.exports=Us;gn.exports.default=Us;gn.exports.fastUri=Us;});var Ni=x(Js=>{Object.defineProperty(Js,"__esModule",{value:true});var ji=Pi();ji.code='require("ajv/dist/runtime/uri").default';Js.default=ji;});var Gi=x(me=>{Object.defineProperty(me,"__esModule",{value:true});me.CodeGen=me.Name=me.nil=me.stringify=me.str=me._=me.KeywordCxt=void 0;var gp=vr();Object.defineProperty(me,"KeywordCxt",{enumerable:true,get:function(){return gp.KeywordCxt}});var Yt=G();Object.defineProperty(me,"_",{enumerable:true,get:function(){return Yt._}});Object.defineProperty(me,"str",{enumerable:true,get:function(){return Yt.str}});Object.defineProperty(me,"stringify",{enumerable:true,get:function(){return Yt.stringify}});Object.defineProperty(me,"nil",{enumerable:true,get:function(){return Yt.nil}});Object.defineProperty(me,"Name",{enumerable:true,get:function(){return Yt.Name}});Object.defineProperty(me,"CodeGen",{enumerable:true,get:function(){return Yt.CodeGen}});var hp=un(),Li=Sr(),yp=bs(),br=ln(),vp=G(),wr=gr(),hn=mr(),Hs=z(),qi=bi(),Sp=Ni(),Vi=(e,t)=>new RegExp(e,t);Vi.code="new RegExp";var kp=["removeAdditional","useDefaults","coerceTypes"],bp=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),wp={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."},_p={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},Fi=200;function Rp(e){var t,r,n,s,o,a,i,u,c,d,l,h,y,m,p,S,_,f,g,k,b,$,R,E,I;let P=e.strict,B=(t=e.code)===null||t===void 0?void 0:t.optimize,W=B===true||B===void 0?1:B||0,Z=(n=(r=e.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:Vi,fe=(s=e.uriResolver)!==null&&s!==void 0?s:Sp.default;return {strictSchema:(a=(o=e.strictSchema)!==null&&o!==void 0?o:P)!==null&&a!==void 0?a:true,strictNumbers:(u=(i=e.strictNumbers)!==null&&i!==void 0?i:P)!==null&&u!==void 0?u:true,strictTypes:(d=(c=e.strictTypes)!==null&&c!==void 0?c:P)!==null&&d!==void 0?d:"log",strictTuples:(h=(l=e.strictTuples)!==null&&l!==void 0?l:P)!==null&&h!==void 0?h:"log",strictRequired:(m=(y=e.strictRequired)!==null&&y!==void 0?y:P)!==null&&m!==void 0?m:false,code:e.code?{...e.code,optimize:W,regExp:Z}:{optimize:W,regExp:Z},loopRequired:(p=e.loopRequired)!==null&&p!==void 0?p:Fi,loopEnum:(S=e.loopEnum)!==null&&S!==void 0?S:Fi,meta:(_=e.meta)!==null&&_!==void 0?_:true,messages:(f=e.messages)!==null&&f!==void 0?f:true,inlineRefs:(g=e.inlineRefs)!==null&&g!==void 0?g:true,schemaId:(k=e.schemaId)!==null&&k!==void 0?k:"$id",addUsedSchema:(b=e.addUsedSchema)!==null&&b!==void 0?b:true,validateSchema:($=e.validateSchema)!==null&&$!==void 0?$:true,validateFormats:(R=e.validateFormats)!==null&&R!==void 0?R:true,unicodeRegExp:(E=e.unicodeRegExp)!==null&&E!==void 0?E:true,int32range:(I=e.int32range)!==null&&I!==void 0?I:true,uriResolver:fe}}var _r=class{constructor(t={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,t=this.opts={...t,...Rp(t)};let{es5:r,lines:n}=this.opts.code;this.scope=new vp.ValueScope({scope:{},prefixes:bp,es5:r,lines:n}),this.logger=Ap(t.logger);let s=t.validateFormats;t.validateFormats=false,this.RULES=(0, yp.getRules)(),Di.call(this,wp,t,"NOT SUPPORTED"),Di.call(this,_p,t,"DEPRECATED","warn"),this._metaOpts=xp.call(this),t.formats&&$p.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),t.keywords&&Ep.call(this,t.keywords),typeof t.meta=="object"&&this.addMetaSchema(t.meta),Cp.call(this),t.validateFormats=s;}_addVocabularies(){this.addKeyword("$async");}_addDefaultMetaSchema(){let{$data:t,meta:r,schemaId:n}=this.opts,s=qi;n==="id"&&(s={...qi},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(d,l){await o.call(this,d.$schema);let h=this._addSchema(d,l);return h.validate||a.call(this,h)}async function o(d){d&&!this.getSchema(d)&&await s.call(this,{$ref:d},true);}async function a(d){try{return this._compileSchemaEnv(d)}catch(l){if(!(l instanceof Li.default))throw l;return i.call(this,l),await u.call(this,l.missingSchema),a.call(this,d)}}function i({missingSchema:d,missingRef:l}){if(this.refs[d])throw new Error(`AnySchema ${d} is loaded but ${l} cannot be resolved`)}async function u(d){let l=await c.call(this,d);this.refs[d]||await o.call(this,l.$schema),this.refs[d]||this.addSchema(l,d,r);}async function c(d){let l=this._loading[d];if(l)return l;try{return await(this._loading[d]=n(d))}finally{delete this._loading[d];}}}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, wr.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=Mi.call(this,t))=="string";)t=r;if(r===void 0){let{schemaId:n}=this.opts,s=new br.SchemaEnv({schema:{},schemaId:n});if(r=br.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=Mi.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, wr.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(Op.call(this,n,r),!r)return (0, Hs.eachItem)(n,o=>zs.call(this,o)),this;jp.call(this,r);let s={...r,type:(0, hn.getJSONTypes)(r.type),schemaType:(0, hn.getJSONTypes)(r.schemaType)};return (0, Hs.eachItem)(n,s.type.length===0?o=>zs.call(this,o,s):o=>s.type.forEach(a=>zs.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,d=a[i];c&&d&&(a[i]=Bi(d));}}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, wr.normalizeId)(a||n);let c=wr.getSchemaRefs.call(this,t,n);return u=new br.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):br.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{br.compileSchema.call(this,t);}finally{this.opts=r;}}};_r.ValidationError=hp.default;_r.MissingRefError=Li.default;me.default=_r;function Di(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 Mi(e){return e=(0, wr.normalizeId)(e),this.schemas[e]||this.refs[e]}function Cp(){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 $p(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t);}}function Ep(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 xp(){let e={...this.opts};for(let t of kp)delete e[t];return e}var Tp={log(){},warn(){},error(){}};function Ap(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 Ip=/^[a-z_$][a-z0-9_$:-]*$/i;function Op(e,t){let{RULES:r}=this;if((0, Hs.eachItem)(e,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!Ip.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!t&&t.$data&&!("code"in t||"validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function zs(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, hn.getJSONTypes)(t.type),schemaType:(0, hn.getJSONTypes)(t.schemaType)}};t.before?Pp.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 Pp(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 jp(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=Bi(t)),e.validateSchema=this.compile(t,true));}var Np={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Bi(e){return {anyOf:[e,Np]}}});var Ki=x(Ws=>{Object.defineProperty(Ws,"__esModule",{value:true});var qp={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Ws.default=qp;});var Hi=x(Ot=>{Object.defineProperty(Ot,"__esModule",{value:true});Ot.callRef=Ot.getValidate=void 0;var Fp=Sr(),Ui=qe(),Te=G(),Xt=tt(),Ji=ln(),yn=z(),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 l();let d=Ji.resolveRef.call(u,c,s,r);if(d===void 0)throw new Fp.default(n.opts.uriResolver,s,r);if(d instanceof Ji.SchemaEnv)return h(d);return y(d);function l(){if(o===c)return vn(e,a,o,o.$async);let m=t.scopeValue("root",{ref:c});return vn(e,(0, Te._)`${m}.validate`,c,c.$async)}function h(m){let p=zi(e,m);vn(e,p,m,m.$async);}function y(m){let p=t.scopeValue("schema",i.code.source===true?{ref:m,code:(0, Te.stringify)(m)}:{ref:m}),S=t.name("valid"),_=e.subschema({schema:m,dataTypes:[],schemaPath:Te.nil,topSchemaRef:p,errSchemaPath:r},S);e.mergeEvaluated(_),e.ok(S);}}};function zi(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0, Te._)`${r.scopeValue("wrapper",{ref:t})}.validate`}Ot.getValidate=zi;function vn(e,t,r,n){let{gen:s,it:o}=e,{allErrors:a,schemaEnv:i,opts:u}=o,c=u.passContext?Xt.default.this:Te.nil;n?d():l();function d(){if(!i.$async)throw new Error("async schema referenced by sync schema");let m=s.let("valid");s.try(()=>{s.code((0, Te._)`await ${(0, Ui.callValidateCode)(e,t,c)}`),y(t),a||s.assign(m,true);},p=>{s.if((0, Te._)`!(${p} instanceof ${o.ValidationError})`,()=>s.throw(p)),h(p),a||s.assign(m,false);}),e.ok(m);}function l(){e.result((0, Ui.callValidateCode)(e,t,c),()=>y(t),()=>h(t));}function h(m){let p=(0, Te._)`${m}.errors`;s.assign(Xt.default.vErrors,(0, Te._)`${Xt.default.vErrors} === null ? ${p} : ${Xt.default.vErrors}.concat(${p})`),s.assign(Xt.default.errors,(0, Te._)`${Xt.default.vErrors}.length`);}function y(m){var p;if(!o.opts.unevaluated)return;let S=(p=r?.validate)===null||p===void 0?void 0:p.evaluated;if(o.props!==true)if(S&&!S.dynamicProps)S.props!==void 0&&(o.props=yn.mergeEvaluated.props(s,S.props,o.props));else {let _=s.var("props",(0, Te._)`${m}.evaluated.props`);o.props=yn.mergeEvaluated.props(s,_,o.props,Te.Name);}if(o.items!==true)if(S&&!S.dynamicItems)S.items!==void 0&&(o.items=yn.mergeEvaluated.items(s,S.items,o.items));else {let _=s.var("items",(0, Te._)`${m}.evaluated.items`);o.items=yn.mergeEvaluated.items(s,_,o.items,Te.Name);}}}Ot.callRef=vn;Ot.default=Dp;});var Wi=x(Ys=>{Object.defineProperty(Ys,"__esModule",{value:true});var Mp=Ki(),Lp=Hi(),Vp=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",Mp.default,Lp.default];Ys.default=Vp;});var Yi=x(Xs=>{Object.defineProperty(Xs,"__esModule",{value:true});var Sn=G(),mt=Sn.operators,kn={maximum:{okStr:"<=",ok:mt.LTE,fail:mt.GT},minimum:{okStr:">=",ok:mt.GTE,fail:mt.LT},exclusiveMaximum:{okStr:"<",ok:mt.LT,fail:mt.GTE},exclusiveMinimum:{okStr:">",ok:mt.GT,fail:mt.LTE}},Bp={message:({keyword:e,schemaCode:t})=>(0, Sn.str)`must be ${kn[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0, Sn._)`{comparison: ${kn[e].okStr}, limit: ${t}}`},Gp={keyword:Object.keys(kn),type:"number",schemaType:"number",$data:true,error:Bp,code(e){let{keyword:t,data:r,schemaCode:n}=e;e.fail$data((0, Sn._)`${r} ${kn[t].fail} ${n} || isNaN(${r})`);}};Xs.default=Gp;});var Xi=x(Qs=>{Object.defineProperty(Qs,"__esModule",{value:true});var Rr=G(),Kp={message:({schemaCode:e})=>(0, Rr.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0, Rr._)`{multipleOf: ${e}}`},Up={keyword:"multipleOf",type:"number",schemaType:"number",$data:true,error:Kp,code(e){let{gen:t,data:r,schemaCode:n,it:s}=e,o=s.opts.multipleOfPrecision,a=t.let("res"),i=o?(0, Rr._)`Math.abs(Math.round(${a}) - ${a}) > 1e-${o}`:(0, Rr._)`${a} !== parseInt(${a})`;e.fail$data((0, Rr._)`(${n} === 0 || (${a} = ${r}/${n}, ${i}))`);}};Qs.default=Up;});var Zi=x(Zs=>{Object.defineProperty(Zs,"__esModule",{value:true});function Qi(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}Zs.default=Qi;Qi.code='require("ajv/dist/runtime/ucs2length").default';});var ec=x(eo=>{Object.defineProperty(eo,"__esModule",{value:true});var Pt=G(),Jp=z(),zp=Zi(),Hp={message({keyword:e,schemaCode:t}){let r=e==="maxLength"?"more":"fewer";return (0, Pt.str)`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>(0, Pt._)`{limit: ${e}}`},Wp={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:true,error:Hp,code(e){let{keyword:t,data:r,schemaCode:n,it:s}=e,o=t==="maxLength"?Pt.operators.GT:Pt.operators.LT,a=s.opts.unicode===false?(0, Pt._)`${r}.length`:(0, Pt._)`${(0, Jp.useFunc)(e.gen,zp.default)}(${r})`;e.fail$data((0, Pt._)`${a} ${o} ${n}`);}};eo.default=Wp;});var tc=x(to=>{Object.defineProperty(to,"__esModule",{value:true});var Yp=qe(),Xp=z(),Qt=G(),Qp={message:({schemaCode:e})=>(0, Qt.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0, Qt._)`{pattern: ${e}}`},Zp={keyword:"pattern",type:"string",schemaType:"string",$data:true,error:Qp,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, Qt._)`new RegExp`:(0, Xp.useFunc)(t,u),d=t.let("valid");t.try(()=>t.assign(d,(0, Qt._)`${c}(${o}, ${i}).test(${r})`),()=>t.assign(d,false)),e.fail$data((0, Qt._)`!${d}`);}else {let u=(0, Yp.usePattern)(e,s);e.fail$data((0, Qt._)`!${u}.test(${r})`);}}};to.default=Zp;});var rc=x(ro=>{Object.defineProperty(ro,"__esModule",{value:true});var Cr=G(),em={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}}`},tm={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:true,error:em,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}`);}};ro.default=tm;});var nc=x(no=>{Object.defineProperty(no,"__esModule",{value:true});var $r=qe(),Er=G(),rm=z(),nm={message:({params:{missingProperty:e}})=>(0, Er.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0, Er._)`{missingProperty: ${e}}`},sm={keyword:"required",type:"object",schemaType:"array",$data:true,error:nm,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():d(),i.strictRequired){let y=e.parentSchema.properties,{definedProperties:m}=e.it;for(let p of r)if(y?.[p]===void 0&&!m.has(p)){let S=a.schemaEnv.baseId+a.errSchemaPath,_=`required property "${p}" is not defined at "${S}" (strictRequired)`;(0, rm.checkStrictMode)(a,_,a.opts.strictRequired);}}function c(){if(u||o)e.block$data(Er.nil,l);else for(let y of r)(0, $r.checkReportMissingProp)(e,y);}function d(){let y=t.let("missing");if(u||o){let m=t.let("valid",true);e.block$data(m,()=>h(y,m)),e.ok(m);}else t.if((0, $r.checkMissingProp)(e,r,y)),(0, $r.reportMissingProp)(e,y),t.else();}function l(){t.forOf("prop",n,y=>{e.setParams({missingProperty:y}),t.if((0, $r.noPropertyInData)(t,s,y,i.ownProperties),()=>e.error());});}function h(y,m){e.setParams({missingProperty:y}),t.forOf(y,n,()=>{t.assign(m,(0, $r.propertyInData)(t,s,y,i.ownProperties)),t.if((0, Er.not)(m),()=>{e.error(),t.break();});},Er.nil);}}};no.default=sm;});var sc=x(so=>{Object.defineProperty(so,"__esModule",{value:true});var xr=G(),om={message({keyword:e,schemaCode:t}){let r=e==="maxItems"?"more":"fewer";return (0, xr.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0, xr._)`{limit: ${e}}`},am={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:true,error:om,code(e){let{keyword:t,data:r,schemaCode:n}=e,s=t==="maxItems"?xr.operators.GT:xr.operators.LT;e.fail$data((0, xr._)`${r}.length ${s} ${n}`);}};so.default=am;});var bn=x(oo=>{Object.defineProperty(oo,"__esModule",{value:true});var oc=Ts();oc.code='require("ajv/dist/runtime/equal").default';oo.default=oc;});var ac=x(io=>{Object.defineProperty(io,"__esModule",{value:true});var ao=mr(),ge=G(),im=z(),cm=bn(),um={message:({params:{i:e,j:t}})=>(0, ge.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0, ge._)`{i: ${e}, j: ${t}}`},dm={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:true,error:um,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, ao.getSchemaTypes)(o.items):[];e.block$data(u,d,(0, ge._)`${a} === false`),e.ok(u);function d(){let m=t.let("i",(0, ge._)`${r}.length`),p=t.let("j");e.setParams({i:m,j:p}),t.assign(u,true),t.if((0, ge._)`${m} > 1`,()=>(l()?h:y)(m,p));}function l(){return c.length>0&&!c.some(m=>m==="object"||m==="array")}function h(m,p){let S=t.name("item"),_=(0, ao.checkDataTypes)(c,S,i.opts.strictNumbers,ao.DataType.Wrong),f=t.const("indices",(0, ge._)`{}`);t.for((0, ge._)`;${m}--;`,()=>{t.let(S,(0, ge._)`${r}[${m}]`),t.if(_,(0, ge._)`continue`),c.length>1&&t.if((0, ge._)`typeof ${S} == "string"`,(0, ge._)`${S} += "_"`),t.if((0, ge._)`typeof ${f}[${S}] == "number"`,()=>{t.assign(p,(0, ge._)`${f}[${S}]`),e.error(),t.assign(u,false).break();}).code((0, ge._)`${f}[${S}] = ${m}`);});}function y(m,p){let S=(0, im.useFunc)(t,cm.default),_=t.name("outer");t.label(_).for((0, ge._)`;${m}--;`,()=>t.for((0, ge._)`${p} = ${m}; ${p}--;`,()=>t.if((0, ge._)`${S}(${r}[${m}], ${r}[${p}])`,()=>{e.error(),t.assign(u,false).break(_);})));}}};io.default=dm;});var ic=x(uo=>{Object.defineProperty(uo,"__esModule",{value:true});var co=G(),lm=z(),fm=bn(),pm={message:"must be equal to constant",params:({schemaCode:e})=>(0, co._)`{allowedValue: ${e}}`},mm={keyword:"const",$data:true,error:pm,code(e){let{gen:t,data:r,$data:n,schemaCode:s,schema:o}=e;n||o&&typeof o=="object"?e.fail$data((0, co._)`!${(0, lm.useFunc)(t,fm.default)}(${r}, ${s})`):e.fail((0, co._)`${o} !== ${r}`);}};uo.default=mm;});var cc=x(lo=>{Object.defineProperty(lo,"__esModule",{value:true});var Tr=G(),gm=z(),hm=bn(),ym={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0, Tr._)`{allowedValues: ${e}}`},vm={keyword:"enum",schemaType:"array",$data:true,error:ym,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, gm.useFunc)(t,hm.default)),d;if(i||n)d=t.let("valid"),e.block$data(d,l);else {if(!Array.isArray(s))throw new Error("ajv implementation error");let y=t.const("vSchema",o);d=(0, Tr.or)(...s.map((m,p)=>h(y,p)));}e.pass(d);function l(){t.assign(d,false),t.forOf("v",o,y=>t.if((0, Tr._)`${c()}(${r}, ${y})`,()=>t.assign(d,true).break()));}function h(y,m){let p=s[m];return typeof p=="object"&&p!==null?(0, Tr._)`${c()}(${r}, ${y}[${m}])`:(0, Tr._)`${r} === ${p}`}}};lo.default=vm;});var uc=x(fo=>{Object.defineProperty(fo,"__esModule",{value:true});var Sm=Yi(),km=Xi(),bm=ec(),wm=tc(),_m=rc(),Rm=nc(),Cm=sc(),$m=ac(),Em=ic(),xm=cc(),Tm=[Sm.default,km.default,bm.default,wm.default,_m.default,Rm.default,Cm.default,$m.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},Em.default,xm.default];fo.default=Tm;});var mo=x(Ar=>{Object.defineProperty(Ar,"__esModule",{value:true});Ar.validateAdditionalItems=void 0;var jt=G(),po=z(),Am={message:({params:{len:e}})=>(0, jt.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0, jt._)`{limit: ${e}}`},Im={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:Am,code(e){let{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){(0, po.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}dc(e,n);}};function dc(e,t){let{gen:r,schema:n,data:s,keyword:o,it:a}=e;a.items=true;let i=r.const("len",(0, jt._)`${s}.length`);if(n===false)e.setParams({len:t.length}),e.pass((0, jt._)`${i} <= ${t.length}`);else if(typeof n=="object"&&!(0, po.alwaysValidSchema)(a,n)){let c=r.var("valid",(0, jt._)`${i} <= ${t.length}`);r.if((0, jt.not)(c),()=>u(c)),e.ok(c);}function u(c){r.forRange("i",t.length,i,d=>{e.subschema({keyword:o,dataProp:d,dataPropType:po.Type.Num},c),a.allErrors||r.if((0, jt.not)(c),()=>r.break());});}}Ar.validateAdditionalItems=dc;Ar.default=Im;});var go=x(Ir=>{Object.defineProperty(Ir,"__esModule",{value:true});Ir.validateTuple=void 0;var lc=G(),wn=z(),Om=qe(),Pm={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return fc(e,"additionalItems",t);r.items=true,!(0, wn.alwaysValidSchema)(r,t)&&e.ok((0, Om.validateArray)(e));}};function fc(e,t,r=e.schema){let{gen:n,parentSchema:s,data:o,keyword:a,it:i}=e;d(s),i.opts.unevaluated&&r.length&&i.items!==true&&(i.items=wn.mergeEvaluated.items(n,r.length,i.items));let u=n.name("valid"),c=n.const("len",(0, lc._)`${o}.length`);r.forEach((l,h)=>{(0, wn.alwaysValidSchema)(i,l)||(n.if((0, lc._)`${c} > ${h}`,()=>e.subschema({keyword:a,schemaProp:h,dataProp:h},u)),e.ok(u));});function d(l){let{opts:h,errSchemaPath:y}=i,m=r.length,p=m===l.minItems&&(m===l.maxItems||l[t]===false);if(h.strictTuples&&!p){let S=`"${a}" is ${m}-tuple, but minItems or maxItems/${t} are not specified or different at path "${y}"`;(0, wn.checkStrictMode)(i,S,h.strictTuples);}}}Ir.validateTuple=fc;Ir.default=Pm;});var pc=x(ho=>{Object.defineProperty(ho,"__esModule",{value:true});var jm=go(),Nm={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0, jm.validateTuple)(e,"items")};ho.default=Nm;});var gc=x(yo=>{Object.defineProperty(yo,"__esModule",{value:true});var mc=G(),qm=z(),Fm=qe(),Dm=mo(),Mm={message:({params:{len:e}})=>(0, mc.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0, mc._)`{limit: ${e}}`},Lm={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:Mm,code(e){let{schema:t,parentSchema:r,it:n}=e,{prefixItems:s}=r;n.items=true,!(0, qm.alwaysValidSchema)(n,t)&&(s?(0, Dm.validateAdditionalItems)(e,s):e.ok((0, Fm.validateArray)(e)));}};yo.default=Lm;});var hc=x(vo=>{Object.defineProperty(vo,"__esModule",{value:true});var De=G(),_n=z(),Vm={message:({params:{min:e,max:t}})=>t===void 0?(0, De.str)`must contain at least ${e} valid item(s)`:(0, De.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0, De._)`{minContains: ${e}}`:(0, De._)`{minContains: ${e}, maxContains: ${t}}`},Bm={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:true,error:Vm,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 d=t.const("len",(0, De._)`${s}.length`);if(e.setParams({min:a,max:i}),i===void 0&&a===0){(0, _n.checkStrictMode)(o,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(i!==void 0&&a>i){(0, _n.checkStrictMode)(o,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0, _n.alwaysValidSchema)(o,r)){let p=(0, De._)`${d} >= ${a}`;i!==void 0&&(p=(0, De._)`${p} && ${d} <= ${i}`),e.pass(p);return}o.items=true;let l=t.name("valid");i===void 0&&a===1?y(l,()=>t.if(l,()=>t.break())):a===0?(t.let(l,true),i!==void 0&&t.if((0, De._)`${s}.length > 0`,h)):(t.let(l,false),h()),e.result(l,()=>e.reset());function h(){let p=t.name("_valid"),S=t.let("count",0);y(p,()=>t.if(p,()=>m(S)));}function y(p,S){t.forRange("i",0,d,_=>{e.subschema({keyword:"contains",dataProp:_,dataPropType:_n.Type.Num,compositeRule:true},p),S();});}function m(p){t.code((0, De._)`${p}++`),i===void 0?t.if((0, De._)`${p} >= ${a}`,()=>t.assign(l,true).break()):(t.if((0, De._)`${p} > ${i}`,()=>t.assign(l,false).break()),a===1?t.assign(l,true):t.if((0, De._)`${p} >= ${a}`,()=>t.assign(l,true)));}}};vo.default=Bm;});var Sc=x(Ye=>{Object.defineProperty(Ye,"__esModule",{value:true});Ye.validateSchemaDeps=Ye.validatePropertyDeps=Ye.error=void 0;var So=G(),Gm=z(),Or=qe();Ye.error={message:({params:{property:e,depsCount:t,deps:r}})=>{let n=t===1?"property":"properties";return (0, So.str)`must have ${n} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:r,missingProperty:n}})=>(0, So._)`{property: ${e},
7
7
  missingProperty: ${n},
8
8
  depsCount: ${t},
9
- deps: ${r}}`};var $m={keyword:"dependencies",type:"object",schemaType:"object",error:Be.error,code(e){let[t,r]=Em(e);iu(e,t),uu(e,r);}};function Em({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 iu(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, Tr.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, Tr.checkReportMissingProp)(e,c);}):(r.if((0, lo._)`${u} && (${(0, Tr.checkMissingProp)(e,i,o)})`),(0, Tr.reportMissingProp)(e,o),r.else());}}Be.validatePropertyDeps=iu;function uu(e,t=e.schema){let{gen:r,data:n,keyword:s,it:o}=e,a=r.name("valid");for(let i in t)(0, Cm.alwaysValidSchema)(o,t[i])||(r.if((0, Tr.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));}Be.validateSchemaDeps=uu;Be.default=$m;});var lu=x(fo=>{Object.defineProperty(fo,"__esModule",{value:true});var du=B(),xm=z(),Tm={message:"property name must be valid",params:({params:e})=>(0, du._)`{propertyName: ${e.propertyName}}`},Am={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Tm,code(e){let{gen:t,schema:r,data:n,it:s}=e;if((0, xm.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, du.not)(o),()=>{e.error(true),s.allErrors||t.break();});}),e.ok(o);}};fo.default=Am;});var mo=x(po=>{Object.defineProperty(po,"__esModule",{value:true});var vn=Ie(),De=B(),Im=Ue(),kn=z(),Pm={message:"must NOT have additional properties",params:({params:e})=>(0, De._)`{additionalProperty: ${e.additionalProperty}}`},Om={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:true,trackErrors:true,error:Pm,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, kn.alwaysValidSchema)(a,r))return;let c=(0, vn.allSchemaProperties)(n.properties),d=(0, vn.allSchemaProperties)(n.patternProperties);l(),e.ok((0, De._)`${o} === ${Im.default.errors}`);function l(){t.forIn("key",s,b=>{!c.length&&!d.length?m(b):t.if(k(b),()=>m(b));});}function k(b){let g;if(c.length>8){let f=(0, kn.schemaRefOrVal)(a,n.properties,"properties");g=(0, vn.isOwnProperty)(t,f,b);}else c.length?g=(0, De.or)(...c.map(f=>(0, De._)`${b} === ${f}`)):g=De.nil;return d.length&&(g=(0, De.or)(g,...d.map(f=>(0, De._)`${(0, vn.usePattern)(e,f)}.test(${b})`))),(0, De.not)(g)}function v(b){t.code((0, De._)`delete ${s}[${b}]`);}function m(b){if(u.removeAdditional==="all"||u.removeAdditional&&r===false){v(b);return}if(r===false){e.setParams({additionalProperty:b}),e.error(),i||t.break();return}if(typeof r=="object"&&!(0, kn.alwaysValidSchema)(a,r)){let g=t.name("valid");u.removeAdditional==="failing"?(p(b,g,false),t.if((0, De.not)(g),()=>{e.reset(),v(b);})):(p(b,g),i||t.if((0, De.not)(g),()=>t.break()));}}function p(b,g,f){let y={keyword:"additionalProperties",dataProp:b,dataPropType:kn.Type.Str};f===false&&Object.assign(y,{compositeRule:true,createErrors:false,allErrors:false}),e.subschema(y,g);}}};po.default=Om;});var mu=x(ho=>{Object.defineProperty(ho,"__esModule",{value:true});var jm=gr(),fu=Ie(),go=z(),pu=mo(),Nm={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&&pu.default.code(new jm.KeywordCxt(o,pu.default,"additionalProperties"));let a=(0, fu.allSchemaProperties)(r);for(let l of a)o.definedProperties.add(l);o.opts.unevaluated&&a.length&&o.props!==true&&(o.props=go.mergeEvaluated.props(t,(0, go.toHash)(a),o.props));let i=a.filter(l=>!(0, go.alwaysValidSchema)(o,r[l]));if(i.length===0)return;let u=t.name("valid");for(let l of i)c(l)?d(l):(t.if((0, fu.propertyInData)(t,s,l,o.opts.ownProperties)),d(l),o.allErrors||t.else().var(u,true),t.endIf()),e.it.definedProperties.add(l),e.ok(u);function c(l){return o.opts.useDefaults&&!o.compositeRule&&r[l].default!==void 0}function d(l){e.subschema({keyword:"properties",schemaProp:l,dataProp:l},u);}}};ho.default=Nm;});var vu=x(yo=>{Object.defineProperty(yo,"__esModule",{value:true});var gu=Ie(),bn=B(),hu=z(),yu=z(),qm={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, gu.allSchemaProperties)(r),u=i.filter(p=>(0, hu.alwaysValidSchema)(o,r[p]));if(i.length===0||u.length===i.length&&(!o.opts.unevaluated||o.props===true))return;let c=a.strictSchema&&!a.allowMatchingProperties&&s.properties,d=t.name("valid");o.props!==true&&!(o.props instanceof bn.Name)&&(o.props=(0, yu.evaluatedPropsToName)(t,o.props));let{props:l}=o;k();function k(){for(let p of i)c&&v(p),o.allErrors?m(p):(t.var(d,true),m(p),t.if(d));}function v(p){for(let b in c)new RegExp(p).test(b)&&(0, hu.checkStrictMode)(o,`property ${b} matches pattern ${p} (use allowMatchingProperties)`);}function m(p){t.forIn("key",n,b=>{t.if((0, bn._)`${(0, gu.usePattern)(e,p)}.test(${b})`,()=>{let g=u.includes(p);g||e.subschema({keyword:"patternProperties",schemaProp:p,dataProp:b,dataPropType:yu.Type.Str},d),o.opts.unevaluated&&l!==true?t.assign((0, bn._)`${l}[${b}]`,true):!g&&!o.allErrors&&t.if((0, bn.not)(d),()=>t.break());});});}}};yo.default=qm;});var ku=x(vo=>{Object.defineProperty(vo,"__esModule",{value:true});var Dm=z(),Fm={keyword:"not",schemaType:["object","boolean"],trackErrors:true,code(e){let{gen:t,schema:r,it:n}=e;if((0, Dm.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"}};vo.default=Fm;});var bu=x(ko=>{Object.defineProperty(ko,"__esModule",{value:true});var Mm=Ie(),Lm={keyword:"anyOf",schemaType:"array",trackErrors:true,code:Mm.validateUnion,error:{message:"must match a schema in anyOf"}};ko.default=Lm;});var wu=x(bo=>{Object.defineProperty(bo,"__esModule",{value:true});var wn=B(),Vm=z(),Bm={message:"must match exactly one schema in oneOf",params:({params:e})=>(0, wn._)`{passingSchemas: ${e.passing}}`},Gm={keyword:"oneOf",schemaType:"array",trackErrors:true,error:Bm,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((d,l)=>{let k;(0, Vm.alwaysValidSchema)(s,d)?t.var(u,true):k=e.subschema({keyword:"oneOf",schemaProp:l,compositeRule:true},u),l>0&&t.if((0, wn._)`${u} && ${a}`).assign(a,false).assign(i,(0, wn._)`[${i}, ${l}]`).else(),t.if(u,()=>{t.assign(a,true),t.assign(i,l),k&&e.mergeEvaluated(k,wn.Name);});});}}};bo.default=Gm;});var Su=x(wo=>{Object.defineProperty(wo,"__esModule",{value:true});var Km=z(),Um={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, Km.alwaysValidSchema)(n,o))return;let i=e.subschema({keyword:"allOf",schemaProp:a},s);e.ok(s),e.mergeEvaluated(i);});}};wo.default=Um;});var Cu=x(So=>{Object.defineProperty(So,"__esModule",{value:true});var Sn=B(),Ru=z(),Jm={message:({params:e})=>(0, Sn.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0, Sn._)`{failingKeyword: ${e.ifClause}}`},zm={keyword:"if",schemaType:["object","boolean"],trackErrors:true,error:Jm,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0, Ru.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let s=_u(n,"then"),o=_u(n,"else");if(!s&&!o)return;let a=t.let("valid",true),i=t.name("_valid");if(u(),e.reset(),s&&o){let d=t.let("ifClause");e.setParams({ifClause:d}),t.if(i,c("then",d),c("else",d));}else s?t.if(i,c("then")):t.if((0, Sn.not)(i),c("else"));e.pass(a,()=>e.error(true));function u(){let d=e.subschema({keyword:"if",compositeRule:true,createErrors:false,allErrors:false},i);e.mergeEvaluated(d);}function c(d,l){return ()=>{let k=e.subschema({keyword:d},i);t.assign(a,i),e.mergeValidEvaluated(k,a),l?t.assign(l,(0, Sn._)`${d}`):e.setParams({ifClause:d});}}}};function _u(e,t){let r=e.schema[t];return r!==void 0&&!(0, Ru.alwaysValidSchema)(e,r)}So.default=zm;});var $u=x(_o=>{Object.defineProperty(_o,"__esModule",{value:true});var Hm=z(),Wm={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0, Hm.checkStrictMode)(r,`"${e}" without "if" is ignored`);}};_o.default=Wm;});var Eu=x(Ro=>{Object.defineProperty(Ro,"__esModule",{value:true});var Ym=oo(),Xm=nu(),Qm=ao(),Zm=ou(),eg=au(),tg=cu(),rg=lu(),ng=mo(),sg=mu(),og=vu(),ag=ku(),ig=bu(),ug=wu(),cg=Su(),dg=Cu(),lg=$u();function fg(e=false){let t=[ag.default,ig.default,ug.default,cg.default,dg.default,lg.default,rg.default,ng.default,tg.default,sg.default,og.default];return e?t.push(Xm.default,Zm.default):t.push(Ym.default,Qm.default),t.push(eg.default),t}Ro.default=fg;});var xu=x(Co=>{Object.defineProperty(Co,"__esModule",{value:true});var ie=B(),pg={message:({schemaCode:e})=>(0, ie.str)`must match format "${e}"`,params:({schemaCode:e})=>(0, ie._)`{format: ${e}}`},mg={keyword:"format",type:["number","string"],schemaType:"string",$data:true,error:pg,code(e,t){let{gen:r,data:n,$data:s,schema:o,schemaCode:a,it:i}=e,{opts:u,errSchemaPath:c,schemaEnv:d,self:l}=i;if(!u.validateFormats)return;s?k():v();function k(){let m=r.scopeValue("formats",{ref:l.formats,code:u.code.formats}),p=r.const("fDef",(0, ie._)`${m}[${a}]`),b=r.let("fType"),g=r.let("format");r.if((0, ie._)`typeof ${p} == "object" && !(${p} instanceof RegExp)`,()=>r.assign(b,(0, ie._)`${p}.type || "string"`).assign(g,(0, ie._)`${p}.validate`),()=>r.assign(b,(0, ie._)`"string"`).assign(g,p)),e.fail$data((0, ie.or)(f(),y()));function f(){return u.strictSchema===false?ie.nil:(0, ie._)`${a} && !${g}`}function y(){let _=d.$async?(0, ie._)`(${p}.async ? await ${g}(${n}) : ${g}(${n}))`:(0, ie._)`${g}(${n})`,w=(0, ie._)`(typeof ${g} == "function" ? ${_} : ${g}.test(${n}))`;return (0, ie._)`${g} && ${g} !== true && ${b} === ${t} && !${w}`}}function v(){let m=l.formats[o];if(!m){f();return}if(m===true)return;let[p,b,g]=y(m);p===t&&e.pass(_());function f(){if(u.strictSchema===false){l.logger.warn(w());return}throw new Error(w());function w(){return `unknown format "${o}" ignored in schema at path "${c}"`}}function y(w){let $=w instanceof RegExp?(0, ie.regexpCode)(w):u.code.formats?(0, ie._)`${u.code.formats}${(0, ie.getProperty)(o)}`:void 0,R=r.scopeValue("formats",{key:o,ref:w,code:$});return typeof w=="object"&&!(w instanceof RegExp)?[w.type||"string",w.validate,(0, ie._)`${R}.validate`]:["string",w,R]}function _(){if(typeof m=="object"&&!(m instanceof RegExp)&&m.async){if(!d.$async)throw new Error("async format in sync schema");return (0, ie._)`await ${g}(${n})`}return typeof b=="function"?(0, ie._)`${g}(${n})`:(0, ie._)`${g}.test(${n})`}}}};Co.default=mg;});var Tu=x($o=>{Object.defineProperty($o,"__esModule",{value:true});var gg=xu(),hg=[gg.default];$o.default=hg;});var Au=x(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 Pu=x(Eo=>{Object.defineProperty(Eo,"__esModule",{value:true});var yg=Mi(),vg=Zi(),kg=Eu(),bg=Tu(),Iu=Au(),wg=[yg.default,vg.default,(0, kg.default)(),bg.default,Iu.metadataVocabulary,Iu.contentVocabulary];Eo.default=wg;});var ju=x(_n=>{Object.defineProperty(_n,"__esModule",{value:true});_n.DiscrError=void 0;var Ou;(function(e){e.Tag="tag",e.Mapping="mapping";})(Ou||(_n.DiscrError=Ou={}));});var qu=x(To=>{Object.defineProperty(To,"__esModule",{value:true});var zt=B(),xo=ju(),Nu=sn(),Sg=hr(),_g=z(),Rg={message:({params:{discrError:e,tagName:t}})=>e===xo.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0, zt._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},Cg={keyword:"discriminator",type:"object",schemaType:"object",error:Rg,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, zt._)`${r}${(0, zt.getProperty)(i)}`);t.if((0, zt._)`typeof ${c} == "string"`,()=>d(),()=>e.error(false,{discrError:xo.DiscrError.Tag,tag:c,tagName:i})),e.ok(u);function d(){let v=k();t.if(false);for(let m in v)t.elseIf((0, zt._)`${c} === ${m}`),t.assign(u,l(v[m]));t.else(),e.error(false,{discrError:xo.DiscrError.Mapping,tag:c,tagName:i}),t.endIf();}function l(v){let m=t.name("valid"),p=e.subschema({keyword:"oneOf",schemaProp:v},m);return e.mergeEvaluated(p,zt.Name),m}function k(){var v;let m={},p=g(s),b=true;for(let _=0;_<a.length;_++){let w=a[_];if(w?.$ref&&!(0, _g.schemaHasRulesButRef)(w,o.self.RULES)){let R=w.$ref;if(w=Nu.resolveRef.call(o.self,o.schemaEnv.root,o.baseId,R),w instanceof Nu.SchemaEnv&&(w=w.schema),w===void 0)throw new Sg.default(o.opts.uriResolver,o.baseId,R)}let $=(v=w?.properties)===null||v===void 0?void 0:v[i];if(typeof $!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${i}"`);b=b&&(p||g(w)),f($,_);}if(!b)throw new Error(`discriminator: "${i}" must be required`);return m;function g({required:_}){return Array.isArray(_)&&_.includes(i)}function f(_,w){if(_.const)y(_.const,w);else if(_.enum)for(let $ of _.enum)y($,w);else throw new Error(`discriminator: "properties/${i}" must have "const" or "enum"`)}function y(_,w){if(typeof _!="string"||_ in m)throw new Error(`discriminator: "${i}" values must be unique strings`);m[_]=w;}}}};To.default=Cg;});var Du=x((fv,$g)=>{$g.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 Mu=x((ne,Ao)=>{Object.defineProperty(ne,"__esModule",{value:true});ne.MissingRefError=ne.ValidationError=ne.CodeGen=ne.Name=ne.nil=ne.stringify=ne.str=ne._=ne.KeywordCxt=ne.Ajv=void 0;var Eg=Oi(),xg=Pu(),Tg=qu(),Fu=Du(),Ag=["/properties"],Rn="http://json-schema.org/draft-07/schema",Ht=class extends Eg.default{_addVocabularies(){super._addVocabularies(),xg.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(Tg.default);}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(Fu,Ag):Fu;this.addMetaSchema(t,Rn,false),this.refs["http://json-schema.org/schema"]=Rn;}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(Rn)?Rn:void 0)}};ne.Ajv=Ht;Ao.exports=ne=Ht;Ao.exports.Ajv=Ht;Object.defineProperty(ne,"__esModule",{value:true});ne.default=Ht;var Ig=gr();Object.defineProperty(ne,"KeywordCxt",{enumerable:true,get:function(){return Ig.KeywordCxt}});var Wt=B();Object.defineProperty(ne,"_",{enumerable:true,get:function(){return Wt._}});Object.defineProperty(ne,"str",{enumerable:true,get:function(){return Wt.str}});Object.defineProperty(ne,"stringify",{enumerable:true,get:function(){return Wt.stringify}});Object.defineProperty(ne,"nil",{enumerable:true,get:function(){return Wt.nil}});Object.defineProperty(ne,"Name",{enumerable:true,get:function(){return Wt.Name}});Object.defineProperty(ne,"CodeGen",{enumerable:true,get:function(){return Wt.CodeGen}});var Pg=rn();Object.defineProperty(ne,"ValidationError",{enumerable:true,get:function(){return Pg.default}});var Og=hr();Object.defineProperty(ne,"MissingRefError",{enumerable:true,get:function(){return Og.default}});});var Mr="b64:";function Dc(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 Fc(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 ae(e){return `${Mr}${Dc(JSON.stringify(e))}`}function ke(e){if(!e.startsWith(Mr))throw new Error(`Invalid ref format (expected ${Mr}<base64url(json)>): ${e}`);let t;try{t=JSON.parse(Fc(e.slice(Mr.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 Jo(e,t,r){let n=e.tryAcquire();if(!n)return false;try{await t();}finally{n();}return r?.(),true}function Qt(e,t,r=".json"){let n=ue.join(e,".tmp");return I.mkdirSync(n,{recursive:true}),ue.join(n,`${t}-${Date.now()}-${Math.random().toString(36).slice(2,8)}${r}`)}function Ot(...e){return ue.join(...e)}function Ze(...e){return ue.resolve(...e)}function Yo(e){return ue.isAbsolute(e)}function Dn(){return randomUUID()}function Xo(e){return createHash("sha256").update(e).digest("hex")}function Vr(e){return ue.dirname(fileURLToPath(e))}function Kc(e){if(typeof e=="object"&&e!==null){let{command:r,args:n=[],...s}=e,o=Ho(r,n);return {...s,command:o.command,args:o.args}}let t=Qo(e);if(t.length===0)throw new Error(`Empty command spec: ${JSON.stringify(e)}`);return Ho(t[0],t.slice(1))}function Ho(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 Qo(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 Fn(e){return process.platform==="win32"&&/\.(cmd|bat)$/i.test(e)}function Zo(e,t){let{command:r,args:n=[],cwd:s,env:o,timeoutMs:a}=e;return execFileSync(r,n,{shell:Fn(r),timeout:a,encoding:t?.encoding??"utf-8",cwd:s,windowsHide:true,env:o?{...process.env,...o}:void 0,input:t?.input})}function Uc(e,t){let{command:r,args:n=[],cwd:s,env:o,timeoutMs:a=3e4}=e;execFile(r,n,{shell:Fn(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));}ue.join(qn.tmpdir(),".board-live-cards-git-bash-cache.json");function Br(e){let{command:t,args:r=[]}=e;if(process.platform==="win32"){spawn(t,r,{detached:true,stdio:"ignore",windowsHide:true,shell:Fn(t)}).unref();return}spawn(t,r,{detached:true,stdio:"ignore"}).unref();}function Mn(e,t,r){let n=ue.join(e,"board-live-cards-cli.js");if(I.existsSync(n))return {cmd:process.execPath,args:[n,t,...r]};let s=ue.join(e,"board-live-cards-cli.ts"),o=ue.join(e,"..","..","node_modules","tsx","dist","cli.mjs"),a=ue.join(e,"..","..","node_modules",".bin","tsx"),i=I.existsSync(o)?o:a;return I.existsSync(s)&&I.existsSync(i)?{cmd:process.execPath,args:[i,s,t,...r]}:{cmd:process.platform==="win32"?"npx.cmd":"npx",args:["tsx",s,t,...r]}}function Ln(e){let t=ue.join(e,"..","..","..","dev","board-live-cards-cli.js");if(I.existsSync(t))return t;let r=ue.join(e,"..","..","dev","board-live-cards-cli.js");if(I.existsSync(r))return r;let n=ue.join(e,"board-live-cards-cli.js");if(I.existsSync(n))return n;throw new Error(`resolveBoardCliCallbackTarget: cannot find callback target in ${e} (expected dev/board-live-cards-cli.js wrapper or ${n})`)}function ea(e,t,r){let n=["--base-ref",ae(t)];r&&n.push("--notify-channel",r);let{cmd:s,args:o}=Mn(e,"process-accumulated-events",n);Br({command:s,args:o});}function Jc(e){return process.platform==="win32"?`\\\\.\\pipe\\${e}`:ue.join(qn.tmpdir(),`${e}.sock`)}var Lr=new Map;function ta(e,t,r){if(t.length===0)return;let n=t.map(i=>JSON.stringify(i)).join(`
9
+ deps: ${r}}`};var Km={keyword:"dependencies",type:"object",schemaType:"object",error:Ye.error,code(e){let[t,r]=Um(e);yc(e,t),vc(e,r);}};function Um({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 yc(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, Or.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, Or.checkReportMissingProp)(e,c);}):(r.if((0, So._)`${u} && (${(0, Or.checkMissingProp)(e,i,o)})`),(0, Or.reportMissingProp)(e,o),r.else());}}Ye.validatePropertyDeps=yc;function vc(e,t=e.schema){let{gen:r,data:n,keyword:s,it:o}=e,a=r.name("valid");for(let i in t)(0, Gm.alwaysValidSchema)(o,t[i])||(r.if((0, Or.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));}Ye.validateSchemaDeps=vc;Ye.default=Km;});var bc=x(ko=>{Object.defineProperty(ko,"__esModule",{value:true});var kc=G(),Jm=z(),zm={message:"property name must be valid",params:({params:e})=>(0, kc._)`{propertyName: ${e.propertyName}}`},Hm={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:zm,code(e){let{gen:t,schema:r,data:n,it:s}=e;if((0, Jm.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, kc.not)(o),()=>{e.error(true),s.allErrors||t.break();});}),e.ok(o);}};ko.default=Hm;});var wo=x(bo=>{Object.defineProperty(bo,"__esModule",{value:true});var Rn=qe(),Ke=G(),Wm=tt(),Cn=z(),Ym={message:"must NOT have additional properties",params:({params:e})=>(0, Ke._)`{additionalProperty: ${e.additionalProperty}}`},Xm={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:true,trackErrors:true,error:Ym,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, Cn.alwaysValidSchema)(a,r))return;let c=(0, Rn.allSchemaProperties)(n.properties),d=(0, Rn.allSchemaProperties)(n.patternProperties);l(),e.ok((0, Ke._)`${o} === ${Wm.default.errors}`);function l(){t.forIn("key",s,S=>{!c.length&&!d.length?m(S):t.if(h(S),()=>m(S));});}function h(S){let _;if(c.length>8){let f=(0, Cn.schemaRefOrVal)(a,n.properties,"properties");_=(0, Rn.isOwnProperty)(t,f,S);}else c.length?_=(0, Ke.or)(...c.map(f=>(0, Ke._)`${S} === ${f}`)):_=Ke.nil;return d.length&&(_=(0, Ke.or)(_,...d.map(f=>(0, Ke._)`${(0, Rn.usePattern)(e,f)}.test(${S})`))),(0, Ke.not)(_)}function y(S){t.code((0, Ke._)`delete ${s}[${S}]`);}function m(S){if(u.removeAdditional==="all"||u.removeAdditional&&r===false){y(S);return}if(r===false){e.setParams({additionalProperty:S}),e.error(),i||t.break();return}if(typeof r=="object"&&!(0, Cn.alwaysValidSchema)(a,r)){let _=t.name("valid");u.removeAdditional==="failing"?(p(S,_,false),t.if((0, Ke.not)(_),()=>{e.reset(),y(S);})):(p(S,_),i||t.if((0, Ke.not)(_),()=>t.break()));}}function p(S,_,f){let g={keyword:"additionalProperties",dataProp:S,dataPropType:Cn.Type.Str};f===false&&Object.assign(g,{compositeRule:true,createErrors:false,allErrors:false}),e.subschema(g,_);}}};bo.default=Xm;});var Rc=x(Ro=>{Object.defineProperty(Ro,"__esModule",{value:true});var Qm=vr(),wc=qe(),_o=z(),_c=wo(),Zm={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&&_c.default.code(new Qm.KeywordCxt(o,_c.default,"additionalProperties"));let a=(0, wc.allSchemaProperties)(r);for(let l of a)o.definedProperties.add(l);o.opts.unevaluated&&a.length&&o.props!==true&&(o.props=_o.mergeEvaluated.props(t,(0, _o.toHash)(a),o.props));let i=a.filter(l=>!(0, _o.alwaysValidSchema)(o,r[l]));if(i.length===0)return;let u=t.name("valid");for(let l of i)c(l)?d(l):(t.if((0, wc.propertyInData)(t,s,l,o.opts.ownProperties)),d(l),o.allErrors||t.else().var(u,true),t.endIf()),e.it.definedProperties.add(l),e.ok(u);function c(l){return o.opts.useDefaults&&!o.compositeRule&&r[l].default!==void 0}function d(l){e.subschema({keyword:"properties",schemaProp:l,dataProp:l},u);}}};Ro.default=Zm;});var xc=x(Co=>{Object.defineProperty(Co,"__esModule",{value:true});var Cc=qe(),$n=G(),$c=z(),Ec=z(),eg={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, Cc.allSchemaProperties)(r),u=i.filter(p=>(0, $c.alwaysValidSchema)(o,r[p]));if(i.length===0||u.length===i.length&&(!o.opts.unevaluated||o.props===true))return;let c=a.strictSchema&&!a.allowMatchingProperties&&s.properties,d=t.name("valid");o.props!==true&&!(o.props instanceof $n.Name)&&(o.props=(0, Ec.evaluatedPropsToName)(t,o.props));let{props:l}=o;h();function h(){for(let p of i)c&&y(p),o.allErrors?m(p):(t.var(d,true),m(p),t.if(d));}function y(p){for(let S in c)new RegExp(p).test(S)&&(0, $c.checkStrictMode)(o,`property ${S} matches pattern ${p} (use allowMatchingProperties)`);}function m(p){t.forIn("key",n,S=>{t.if((0, $n._)`${(0, Cc.usePattern)(e,p)}.test(${S})`,()=>{let _=u.includes(p);_||e.subschema({keyword:"patternProperties",schemaProp:p,dataProp:S,dataPropType:Ec.Type.Str},d),o.opts.unevaluated&&l!==true?t.assign((0, $n._)`${l}[${S}]`,true):!_&&!o.allErrors&&t.if((0, $n.not)(d),()=>t.break());});});}}};Co.default=eg;});var Tc=x($o=>{Object.defineProperty($o,"__esModule",{value:true});var tg=z(),rg={keyword:"not",schemaType:["object","boolean"],trackErrors:true,code(e){let{gen:t,schema:r,it:n}=e;if((0, tg.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"}};$o.default=rg;});var Ac=x(Eo=>{Object.defineProperty(Eo,"__esModule",{value:true});var ng=qe(),sg={keyword:"anyOf",schemaType:"array",trackErrors:true,code:ng.validateUnion,error:{message:"must match a schema in anyOf"}};Eo.default=sg;});var Ic=x(xo=>{Object.defineProperty(xo,"__esModule",{value:true});var En=G(),og=z(),ag={message:"must match exactly one schema in oneOf",params:({params:e})=>(0, En._)`{passingSchemas: ${e.passing}}`},ig={keyword:"oneOf",schemaType:"array",trackErrors:true,error:ag,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((d,l)=>{let h;(0, og.alwaysValidSchema)(s,d)?t.var(u,true):h=e.subschema({keyword:"oneOf",schemaProp:l,compositeRule:true},u),l>0&&t.if((0, En._)`${u} && ${a}`).assign(a,false).assign(i,(0, En._)`[${i}, ${l}]`).else(),t.if(u,()=>{t.assign(a,true),t.assign(i,l),h&&e.mergeEvaluated(h,En.Name);});});}}};xo.default=ig;});var Oc=x(To=>{Object.defineProperty(To,"__esModule",{value:true});var cg=z(),ug={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, cg.alwaysValidSchema)(n,o))return;let i=e.subschema({keyword:"allOf",schemaProp:a},s);e.ok(s),e.mergeEvaluated(i);});}};To.default=ug;});var Nc=x(Ao=>{Object.defineProperty(Ao,"__esModule",{value:true});var xn=G(),jc=z(),dg={message:({params:e})=>(0, xn.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0, xn._)`{failingKeyword: ${e.ifClause}}`},lg={keyword:"if",schemaType:["object","boolean"],trackErrors:true,error:dg,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0, jc.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let s=Pc(n,"then"),o=Pc(n,"else");if(!s&&!o)return;let a=t.let("valid",true),i=t.name("_valid");if(u(),e.reset(),s&&o){let d=t.let("ifClause");e.setParams({ifClause:d}),t.if(i,c("then",d),c("else",d));}else s?t.if(i,c("then")):t.if((0, xn.not)(i),c("else"));e.pass(a,()=>e.error(true));function u(){let d=e.subschema({keyword:"if",compositeRule:true,createErrors:false,allErrors:false},i);e.mergeEvaluated(d);}function c(d,l){return ()=>{let h=e.subschema({keyword:d},i);t.assign(a,i),e.mergeValidEvaluated(h,a),l?t.assign(l,(0, xn._)`${d}`):e.setParams({ifClause:d});}}}};function Pc(e,t){let r=e.schema[t];return r!==void 0&&!(0, jc.alwaysValidSchema)(e,r)}Ao.default=lg;});var qc=x(Io=>{Object.defineProperty(Io,"__esModule",{value:true});var fg=z(),pg={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0, fg.checkStrictMode)(r,`"${e}" without "if" is ignored`);}};Io.default=pg;});var Fc=x(Oo=>{Object.defineProperty(Oo,"__esModule",{value:true});var mg=mo(),gg=pc(),hg=go(),yg=gc(),vg=hc(),Sg=Sc(),kg=bc(),bg=wo(),wg=Rc(),_g=xc(),Rg=Tc(),Cg=Ac(),$g=Ic(),Eg=Oc(),xg=Nc(),Tg=qc();function Ag(e=false){let t=[Rg.default,Cg.default,$g.default,Eg.default,xg.default,Tg.default,kg.default,bg.default,Sg.default,wg.default,_g.default];return e?t.push(gg.default,yg.default):t.push(mg.default,hg.default),t.push(vg.default),t}Oo.default=Ag;});var Dc=x(Po=>{Object.defineProperty(Po,"__esModule",{value:true});var le=G(),Ig={message:({schemaCode:e})=>(0, le.str)`must match format "${e}"`,params:({schemaCode:e})=>(0, le._)`{format: ${e}}`},Og={keyword:"format",type:["number","string"],schemaType:"string",$data:true,error:Ig,code(e,t){let{gen:r,data:n,$data:s,schema:o,schemaCode:a,it:i}=e,{opts:u,errSchemaPath:c,schemaEnv:d,self:l}=i;if(!u.validateFormats)return;s?h():y();function h(){let m=r.scopeValue("formats",{ref:l.formats,code:u.code.formats}),p=r.const("fDef",(0, le._)`${m}[${a}]`),S=r.let("fType"),_=r.let("format");r.if((0, le._)`typeof ${p} == "object" && !(${p} instanceof RegExp)`,()=>r.assign(S,(0, le._)`${p}.type || "string"`).assign(_,(0, le._)`${p}.validate`),()=>r.assign(S,(0, le._)`"string"`).assign(_,p)),e.fail$data((0, le.or)(f(),g()));function f(){return u.strictSchema===false?le.nil:(0, le._)`${a} && !${_}`}function g(){let k=d.$async?(0, le._)`(${p}.async ? await ${_}(${n}) : ${_}(${n}))`:(0, le._)`${_}(${n})`,b=(0, le._)`(typeof ${_} == "function" ? ${k} : ${_}.test(${n}))`;return (0, le._)`${_} && ${_} !== true && ${S} === ${t} && !${b}`}}function y(){let m=l.formats[o];if(!m){f();return}if(m===true)return;let[p,S,_]=g(m);p===t&&e.pass(k());function f(){if(u.strictSchema===false){l.logger.warn(b());return}throw new Error(b());function b(){return `unknown format "${o}" ignored in schema at path "${c}"`}}function g(b){let $=b instanceof RegExp?(0, le.regexpCode)(b):u.code.formats?(0, le._)`${u.code.formats}${(0, le.getProperty)(o)}`:void 0,R=r.scopeValue("formats",{key:o,ref:b,code:$});return typeof b=="object"&&!(b instanceof RegExp)?[b.type||"string",b.validate,(0, le._)`${R}.validate`]:["string",b,R]}function k(){if(typeof m=="object"&&!(m instanceof RegExp)&&m.async){if(!d.$async)throw new Error("async format in sync schema");return (0, le._)`await ${_}(${n})`}return typeof S=="function"?(0, le._)`${_}(${n})`:(0, le._)`${_}.test(${n})`}}}};Po.default=Og;});var Mc=x(jo=>{Object.defineProperty(jo,"__esModule",{value:true});var Pg=Dc(),jg=[Pg.default];jo.default=jg;});var Lc=x(Zt=>{Object.defineProperty(Zt,"__esModule",{value:true});Zt.contentVocabulary=Zt.metadataVocabulary=void 0;Zt.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Zt.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"];});var Bc=x(No=>{Object.defineProperty(No,"__esModule",{value:true});var Ng=Wi(),qg=uc(),Fg=Fc(),Dg=Mc(),Vc=Lc(),Mg=[Ng.default,qg.default,(0, Fg.default)(),Dg.default,Vc.metadataVocabulary,Vc.contentVocabulary];No.default=Mg;});var Kc=x(Tn=>{Object.defineProperty(Tn,"__esModule",{value:true});Tn.DiscrError=void 0;var Gc;(function(e){e.Tag="tag",e.Mapping="mapping";})(Gc||(Tn.DiscrError=Gc={}));});var Jc=x(Fo=>{Object.defineProperty(Fo,"__esModule",{value:true});var er=G(),qo=Kc(),Uc=ln(),Lg=Sr(),Vg=z(),Bg={message:({params:{discrError:e,tagName:t}})=>e===qo.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0, er._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},Gg={keyword:"discriminator",type:"object",schemaType:"object",error:Bg,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, er._)`${r}${(0, er.getProperty)(i)}`);t.if((0, er._)`typeof ${c} == "string"`,()=>d(),()=>e.error(false,{discrError:qo.DiscrError.Tag,tag:c,tagName:i})),e.ok(u);function d(){let y=h();t.if(false);for(let m in y)t.elseIf((0, er._)`${c} === ${m}`),t.assign(u,l(y[m]));t.else(),e.error(false,{discrError:qo.DiscrError.Mapping,tag:c,tagName:i}),t.endIf();}function l(y){let m=t.name("valid"),p=e.subschema({keyword:"oneOf",schemaProp:y},m);return e.mergeEvaluated(p,er.Name),m}function h(){var y;let m={},p=_(s),S=true;for(let k=0;k<a.length;k++){let b=a[k];if(b?.$ref&&!(0, Vg.schemaHasRulesButRef)(b,o.self.RULES)){let R=b.$ref;if(b=Uc.resolveRef.call(o.self,o.schemaEnv.root,o.baseId,R),b instanceof Uc.SchemaEnv&&(b=b.schema),b===void 0)throw new Lg.default(o.opts.uriResolver,o.baseId,R)}let $=(y=b?.properties)===null||y===void 0?void 0:y[i];if(typeof $!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${i}"`);S=S&&(p||_(b)),f($,k);}if(!S)throw new Error(`discriminator: "${i}" must be required`);return m;function _({required:k}){return Array.isArray(k)&&k.includes(i)}function f(k,b){if(k.const)g(k.const,b);else if(k.enum)for(let $ of k.enum)g($,b);else throw new Error(`discriminator: "properties/${i}" must have "const" or "enum"`)}function g(k,b){if(typeof k!="string"||k in m)throw new Error(`discriminator: "${i}" values must be unique strings`);m[k]=b;}}}};Fo.default=Gg;});var zc=x((Tv,Kg)=>{Kg.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 Wc=x((ce,Do)=>{Object.defineProperty(ce,"__esModule",{value:true});ce.MissingRefError=ce.ValidationError=ce.CodeGen=ce.Name=ce.nil=ce.stringify=ce.str=ce._=ce.KeywordCxt=ce.Ajv=void 0;var Ug=Gi(),Jg=Bc(),zg=Jc(),Hc=zc(),Hg=["/properties"],An="http://json-schema.org/draft-07/schema",tr=class extends Ug.default{_addVocabularies(){super._addVocabularies(),Jg.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(zg.default);}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(Hc,Hg):Hc;this.addMetaSchema(t,An,false),this.refs["http://json-schema.org/schema"]=An;}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(An)?An:void 0)}};ce.Ajv=tr;Do.exports=ce=tr;Do.exports.Ajv=tr;Object.defineProperty(ce,"__esModule",{value:true});ce.default=tr;var Wg=vr();Object.defineProperty(ce,"KeywordCxt",{enumerable:true,get:function(){return Wg.KeywordCxt}});var rr=G();Object.defineProperty(ce,"_",{enumerable:true,get:function(){return rr._}});Object.defineProperty(ce,"str",{enumerable:true,get:function(){return rr.str}});Object.defineProperty(ce,"stringify",{enumerable:true,get:function(){return rr.stringify}});Object.defineProperty(ce,"nil",{enumerable:true,get:function(){return rr.nil}});Object.defineProperty(ce,"Name",{enumerable:true,get:function(){return rr.Name}});Object.defineProperty(ce,"CodeGen",{enumerable:true,get:function(){return rr.CodeGen}});var Yg=un();Object.defineProperty(ce,"ValidationError",{enumerable:true,get:function(){return Yg.default}});var Xg=Sr();Object.defineProperty(ce,"MissingRefError",{enumerable:true,get:function(){return Xg.default}});});var Br="b64:";function zu(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 Hu(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 de(e){return `${Br}${zu(JSON.stringify(e))}`}function Ce(e){if(!e.startsWith(Br))throw new Error(`Invalid ref format (expected ${Br}<base64url(json)>): ${e}`);let t;try{t=JSON.parse(Hu(e.slice(Br.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 ea(e,t,r){let n=e.tryAcquire();if(!n)return false;try{await t();}finally{n();}return r?.(),true}function Je(...e){return J.join(...e)}function it(...e){return J.resolve(...e)}function sa(e){return J.isAbsolute(e)}function Gn(){return randomUUID()}function oa(e){return createHash("sha256").update(e).digest("hex")}function Kr(e){return J.dirname(fileURLToPath(e))}function ed(e){if(typeof e=="object"&&e!==null){let{command:r,args:n=[],...s}=e,o=ra(r,n);return {...s,command:o.command,args:o.args}}let t=aa(e);if(t.length===0)throw new Error(`Empty command spec: ${JSON.stringify(e)}`);return ra(t[0],t.slice(1))}function ra(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 aa(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 Kn(e){return process.platform==="win32"&&/\.(cmd|bat)$/i.test(e)}function ia(e,t){let{command:r,args:n=[],cwd:s,env:o,timeoutMs:a}=e;return execFileSync(r,n,{shell:Kn(r),timeout:a,encoding:t?.encoding??"utf-8",cwd:s,windowsHide:true,env:o?{...process.env,...o}:void 0,input:t?.input})}function td(e,t){let{command:r,args:n=[],cwd:s,env:o,timeoutMs:a=3e4}=e;execFile(r,n,{shell:Kn(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));}J.join(Bn.tmpdir(),".board-live-cards-git-bash-cache.json");function Ur(e){let{command:t,args:r=[]}=e;if(process.platform==="win32"){spawn(t,r,{detached:true,stdio:"ignore",windowsHide:true,shell:Kn(t)}).unref();return}spawn(t,r,{detached:true,stdio:"ignore"}).unref();}function Un(e,t,r){let n=J.join(e,"board-live-cards-cli.js");if(w.existsSync(n))return {cmd:process.execPath,args:[n,t,...r]};let s=J.join(e,"board-live-cards-cli.ts"),o=J.join(e,"..","..","node_modules","tsx","dist","cli.mjs"),a=J.join(e,"..","..","node_modules",".bin","tsx"),i=w.existsSync(o)?o:a;return w.existsSync(s)&&w.existsSync(i)?{cmd:process.execPath,args:[i,s,t,...r]}:{cmd:process.platform==="win32"?"npx.cmd":"npx",args:["tsx",s,t,...r]}}function Jn(e){let t=J.join(e,"..","..","..","dev","board-live-cards-cli.js");if(w.existsSync(t))return t;let r=J.join(e,"..","..","dev","board-live-cards-cli.js");if(w.existsSync(r))return r;let n=J.join(e,"board-live-cards-cli.js");if(w.existsSync(n))return n;throw new Error(`resolveBoardCliCallbackTarget: cannot find callback target in ${e} (expected dev/board-live-cards-cli.js wrapper or ${n})`)}function ca(e,t,r){let n=["--base-ref",de(t)];r&&n.push("--notify-channel",r);let{cmd:s,args:o}=Un(e,"process-accumulated-events",n);Ur({command:s,args:o});}function rd(e){return process.platform==="win32"?`\\\\.\\pipe\\${e}`:J.join(Bn.tmpdir(),`${e}.sock`)}var Gr=new Map;function ua(e,t,r){if(t.length===0)return;let n=t.map(i=>JSON.stringify(i)).join(`
10
10
  `)+`
11
- `,s=Lr.get(e);if(s&&!s.socket.destroyed){s.ready?s.socket.write(n):s.queue.push(n);return}let o=Jc(e),a=Wo.createConnection(o);s={socket:a,ready:false,queue:[n]},Lr.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)}`),Lr.delete(e);}),a.on("close",()=>{Lr.delete(e);});}function Vn(){return {executeSync(e,t,r){return Zo({command:e,args:t,cwd:r?.cwd,timeoutMs:r?.timeout,env:r?.env},{encoding:r?.encoding,input:r?.input})},executeAsync(e,t,r){Uc({command:e,args:t},r);},resolveInvocation(e,t){let r=Kc({command:e,args:t});return {cmd:r.command,args:r.args??[]}},splitCommand:Qo,spawnDetached(e,t){Br({command:e,args:t});}}}var na=dirname(fileURLToPath(import.meta.url)),Xc=createRequire(import.meta.url);function Qc(){let e=resolve(na,"./jsonata-sync.cjs");return existsSync(e)?e:resolve(na,"../../card-compute/jsonata-sync.cjs")}var ht=Xc(Qc());function sa(e,t,r){if(!e||typeof e!="object")return {};let n={};if(Array.isArray(e.cmdTemplate)){let s=[];for(let o of e.cmdTemplate)try{s.push(String(ht(o).evaluate(t)));}catch(a){let i=a instanceof Error?a.message:String(a);throw new Error(`[${r}] argsMassaging.cmdTemplate failed on "${o}": ${i}`)}n.cmdArgs=s;}if(typeof e.stdinTemplate=="string")try{n.stdin=ht(e.stdinTemplate).evaluate(t);}catch(s){let o=s instanceof Error?s.message:String(s);throw new Error(`[${r}] argsMassaging.stdinTemplate failed: ${o}`)}if(typeof e.urlTemplate=="string")try{n.url=String(ht(e.urlTemplate).evaluate(t));}catch(s){let o=s instanceof Error?s.message:String(s);throw new Error(`[${r}] argsMassaging.urlTemplate failed: ${o}`)}if(typeof e.headerTemplate=="string")try{let s=ht(e.headerTemplate).evaluate(t);if(typeof s!="object"||s===null)throw new Error(`headerTemplate must produce an object, got: ${JSON.stringify(s)}`);n.headers=s;}catch(s){let o=s instanceof Error?s.message:String(s);throw new Error(`[${r}] argsMassaging.headerTemplate failed: ${o}`)}if(typeof e.bodyTemplate=="string")try{n.body=ht(e.bodyTemplate).evaluate(t);}catch(s){let o=s instanceof Error?s.message:String(s);throw new Error(`[${r}] argsMassaging.bodyTemplate failed: ${o}`)}return n}function Zc(e,t){let r=typeof e=="object"?e.value:ke(e).value;switch(r){case "source-cli-task-executor":{let n=ue.join(t,"source-cli-task-executor.js");if(I.existsSync(n))return {command:process.execPath,args:[n]};let s=ue.join(t,"source-cli-task-executor.ts"),o=ue.join(t,"..","..","node_modules","tsx","dist","cli.mjs"),a=ue.join(t,"..","..","node_modules",".bin","tsx"),i=I.existsSync(o)?o:a;return I.existsSync(s)&&I.existsSync(i)?{command:process.execPath,args:[i,s]}:{command:process.execPath,args:[n]}}case "board-live-cards":{let{cmd:n,args:s}=Mn(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 oa(e,t){if(e.howToRun==="built-in"){let{command:n,args:s}=Zc(e.whatToRun,t);return {command:n,baseArgs:s}}let r=typeof e.whatToRun=="object"?e.whatToRun.value:ke(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 ed(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 td(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 aa(e,t){return oa(e,t)}async function rd(e,t){let r={...t,whatToRun:e.whatToRun},n=sa(e.argsMassaging,r,"_invokeTaskExecutorHttp"),s=n.url??(typeof e.whatToRun=="object"?e.whatToRun.value:ke(e.whatToRun).value),o=n.body?n.body:td(t,e.extra),a={"Content-Type":"application/json"},i=n.headers?{...a,...n.headers}:a,u=await fetch(s,{method:e.howToRun==="http:get"?"GET":"POST",headers:i,body:JSON.stringify(o)});if(!u.ok){let d=await u.text().catch(()=>"");return {status:"error",error:`HTTP ${u.status}: ${d}`}}let c=await u.json().catch(()=>null);return c&&typeof c.status=="string"?c:{status:"success"}}function ia(e,t,r){if(e.howToRun==="http:post"||e.howToRun==="http:get"){rd(e,t).catch(i=>{console.error(`[dispatchTaskExecutorDetached] HTTP dispatch failed: ${i.message}`);});return}let{command:s,baseArgs:o}=oa(e,r),a=ed(t,e.extra);Br({command:s,args:[...o,...a]});}function nd(){return {read(e){if(!I.existsSync(e))return null;try{return I.readFileSync(e,"utf-8")}catch{return null}},write(e,t){I.mkdirSync(ue.dirname(e),{recursive:true}),I.writeFileSync(e,t,"utf-8");}}}function ua(e){return nd();}function tr(e,t){if(process.platform!=="win32"){I.renameSync(e,t);return}let r=[10,20,40,80,160];for(let n=0;n<=r.length;n++)try{I.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 Gr(e){function t(s){return ue.join(e,...s.split("/"))}function r(s){return ue.relative(e,s).replace(/\\/g,"/")}function n(s,o){if(I.existsSync(s))for(let a of I.readdirSync(s,{withFileTypes:true})){let i=ue.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(!I.existsSync(o))return null;try{return I.readFileSync(o,"utf-8")}catch{return null}},write(s,o){let a=t(s),i=`${a}.${process.pid}.${randomUUID()}.tmp`;I.mkdirSync(ue.dirname(a),{recursive:true}),I.writeFileSync(i,o,"utf-8"),tr(i,a);},exists(s){return I.existsSync(t(s))},remove(s){let o=t(s);try{I.existsSync(o)&&I.unlinkSync(o);}catch{}},readBytes(s){let o=t(s);if(!I.existsSync(o))return null;try{return new Uint8Array(I.readFileSync(o))}catch{return null}},writeBytes(s,o){let a=t(s),i=`${a}.${process.pid}.${randomUUID()}.tmp`;I.mkdirSync(ue.dirname(a),{recursive:true}),I.writeFileSync(i,Buffer.from(o)),tr(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(!I.existsSync(o))return null;try{let a=I.statSync(o);return {key:s,size:Number(a.size||0),updatedAt:new Date(a.mtimeMs).toISOString()}}catch{return null}}}}function Kn(){return {read(e){if(!I.existsSync(e))return null;try{return I.readFileSync(e,"utf-8")}catch{return null}},write(e,t){let r=`${e}.${process.pid}.${randomUUID()}.tmp`;I.mkdirSync(ue.dirname(e),{recursive:true}),I.writeFileSync(r,t,"utf-8"),tr(r,e);},exists(e){return I.existsSync(e)},remove(e){try{I.existsSync(e)&&I.unlinkSync(e);}catch{}},readBytes(e){if(!I.existsSync(e))return null;try{return new Uint8Array(I.readFileSync(e))}catch{return null}},writeBytes(e,t){let r=`${e}.${process.pid}.${randomUUID()}.tmp`;I.mkdirSync(ue.dirname(e),{recursive:true}),I.writeFileSync(r,Buffer.from(t)),tr(r,e);},stat(e){if(!I.existsSync(e))return null;try{let t=I.statSync(e);return {key:e,size:Number(t.size||0),updatedAt:new Date(t.mtimeMs).toISOString()}}catch{return null}},listKeys(e){return []}}}function Un(e){function t(n){return ue.join(e,...n.split("/"))+".json"}function r(n,s,o,a){if(I.existsSync(n))for(let i of I.readdirSync(n,{withFileTypes:true})){let u=s?`${s}/${i.name}`:i.name;if(i.isDirectory()){r(ue.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(!I.existsSync(s))return null;try{return JSON.parse(I.readFileSync(s,"utf-8"))}catch{return null}},write(n,s){let o=t(n),a=`${o}.${process.pid}.${randomUUID()}.tmp`;I.mkdirSync(ue.dirname(o),{recursive:true}),I.writeFileSync(a,JSON.stringify(s,null,2),"utf-8"),tr(a,o);},delete(n){let s=t(n);try{I.existsSync(s)&&I.unlinkSync(s);}catch{}},listKeys(n){let s=[];return r(e,"",n,s),s.sort()}}}function Gn(e){if(e==null||typeof e!="object")return JSON.stringify(e);if(Array.isArray(e))return `[${e.map(Gn).join(",")}]`;let t=e;return `{${Object.keys(t).sort().map(n=>`${JSON.stringify(n)}:${Gn(t[n])}`).join(",")}}`}function ca(e){return createHash("sha256").update(Gn(e)).digest("hex")}function da(e){let t=ue.join(e,"board-journal.jsonl");return {readAllEntries(){if(!I.existsSync(t))return [];let r=I.readFileSync(t,"utf-8").trim();return r?r.split(`
12
- `).filter(Boolean).map(n=>JSON.parse(n)):[]},appendEntry(r){I.appendFileSync(t,JSON.stringify(r)+`
13
- `,"utf-8");},generateId(){return randomUUID()}}}function la(e){return {tryAcquire(){try{if(!I.existsSync(e)){I.mkdirSync(ue.dirname(e),{recursive:!0});try{I.writeFileSync(e,"{}",{flag:"wx"});}catch{}}return lockSync(e,{retries:0})}catch{return null}}}}var fa={$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 Bu=qc(Mu());var qg=createRequire(import.meta.url),Dg=qg("./jsonata-sync.cjs"),Cn=null;var Lu=/\b(card_data|requires|fetched_sources|computed_values|source_defs)\b/g,Fg=/^\s*(card_data|requires|fetched_sources|computed_values|source_defs)(\.|$)/;function Mg(e){let t=new Set,r;for(Lu.lastIndex=0;(r=Lu.exec(e))!==null;)t.add(r[1]);return t}function Gu(e){let t=Fg.exec(e);return t?t[1]:null}function Vu(e,t,r,n){try{Dg(e);}catch(o){let a=o instanceof Error?o.message:String(o);n.push(`${t}: invalid JSONata expression (${a})`);return}let s=Mg(e);for(let o of s)r.has(o)||n.push(`${t}: disallowed namespace "${o}" in expression`);}function Io(e,t,r){if(Array.isArray(e)){e.forEach((s,o)=>{Io(s,`${t}/${o}`,r);});return}if(typeof e=="string"){let s=Gu(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))Io(o,`${t}/${s}`,r);}function Lg(){if(Cn)return Cn;let e=new Bu.default({allErrors:true});return jg(e),Cn=e.compile(fa),Cn}function Ku(e){let t=Lg(),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 Uu(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,d)=>{if(!c||typeof c!="object"||Array.isArray(c))return;let l=c.expr;typeof l!="string"||l.trim().length===0||Vu(l,`/compute/${d}/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,d)=>{if(!c||typeof c!="object"||Array.isArray(c))return;let l=c.ref;if(typeof l!="string"||l.trim().length===0)return;let k=Gu(l);k===null?t.push(`/provides/${d}/ref: path "${l}" must start with a valid namespace (${[...s].join(", ")})`):s.has(k)||t.push(`/provides/${d}/ref: disallowed namespace "${k}" in path "${l}" (valid: ${[...s].join(", ")})`);});let a=r.view;a&&typeof a=="object"&&!Array.isArray(a)&&Io(a,"/view",t);let i=new Set(["card_data","requires"]),u=r.source_defs;return Array.isArray(u)&&u.forEach((c,d)=>{if(!c||typeof c!="object"||Array.isArray(c))return;let l=c.projections;if(!(!l||typeof l!="object"||Array.isArray(l)))for(let[k,v]of Object.entries(l))typeof v!="string"||v.trim().length===0||Vu(v,`/source_defs/${d}/projections/${k}`,i,t);}),{ok:t.length===0,errors:t}}function Po(e){let t=Ku(e);if(!t.ok)return t;let r=Uu(e);return r.ok?{ok:true,errors:[]}:{ok:false,errors:r.errors}}var ut={RUNNING:"running",COMPLETED:"completed",FAILED:"failed",INACTIVATED:"inactivated"};function Ee(e){return e?Array.isArray(e.provides)?e.provides:[]:[]}function ct(e){return e?Array.isArray(e.requires)?e.requires:[]:[]}function Ju(e){return e.tasks??{}}function Oo(e){return e?e.status===ut.FAILED||e.status===ut.INACTIVATED:false}function zu(e,t){return e.refreshStrategy??t?.refreshStrategy??"data-changed"}function Hu(e){return e.maxExecutions}function Wu(e,t){let r=new Set;for(let[n,s]of Object.entries(t))if(s.status===ut.COMPLETED){let o=e.tasks[n];o&&Ee(o).forEach(i=>r.add(i));}return Array.from(r)}function Yu(e,t){let r={};return e.forEach(n=>{let s=t[n];if(!s)return;Ee(s).forEach(a=>{r[a]||(r[a]=[]),r[a].push(n);});}),r}function Xu(e,t,r){let n=e.tasks[t]??$n(),s={};if(r){let a=r.tasks[t],i=ct(a);for(let u of i)for(let[c,d]of Object.entries(r.tasks))if(Ee(d).includes(u)){let l=e.tasks[c];l?.lastDataHash&&(s[u]=l.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 Qu(e,t,r,n,s,o){let a=e.tasks[r]??$n(),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=Ee(i);let c=a.startConsumedHashes?{...a.startConsumedHashes}:{...a.lastConsumedHashes};if(!a.startConsumedHashes){let k=i.requires??[];for(let v of k)for(let[m,p]of Object.entries(t.tasks))if(Ee(p).includes(v)){let b=e.tasks[m];b?.lastDataHash&&(c[v]=b.lastDataHash);break}}let d={...a,status:"completed",completedAt:new Date().toISOString(),lastUpdated:new Date().toISOString(),executionCount:a.executionCount+1,lastEpoch:a.executionCount+1,lastDataHash:s,data:o,lastConsumedHashes:c,error:void 0},l=[...new Set([...e.availableOutputs,...u])];return {...e,tasks:{...e.tasks,[r]:d},availableOutputs:l,lastUpdated:new Date().toISOString()}}function Zu(e,t,r,n){let s=e.tasks[r]??$n(),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 ec(e,t,r,n){let s=e.tasks[t]??$n(),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 tc(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 $n(){return {status:"not-started",executionCount:0,retryCount:0,lastEpoch:0,messages:[],progress:null}}function En(e,t){let r=`live-${Date.now()}`,n={};for(let o of Object.keys(e.tasks))n[o]=nc();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 Vg(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:Xu(n,t.taskName,r)};case "task-completed":return {config:r,state:Qu(n,r,t.taskName,t.result,t.dataHash,t.data)};case "task-failed":return {config:r,state:Zu(n,r,t.taskName,t.error)};case "task-progress":return {config:r,state:ec(n,t.taskName,t.message,t.progress)};case "task-restart":return {config:r,state:tc(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:Hg(n,t.action)};case "task-upsert":return Bg(e,t.taskName,t.taskConfig);case "task-removal":return Gg(e,t.taskName);case "node-requires-add":return Kg(e,t.nodeName,t.tokens);case "node-requires-remove":return Ug(e,t.nodeName,t.tokens);case "node-provides-add":return Jg(e,t.nodeName,t.tokens);case "node-provides-remove":return zg(e,t.nodeName,t.tokens);default:return e}}function rc(e,t){return t.reduce((r,n)=>Vg(r,n),e)}function Bg(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]:nc()},lastUpdated:new Date().toISOString()}}}function Gg(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 Kg(e,t,r){let n=e.config.tasks[t];if(!n)return e;let s=ct(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 Ug(e,t,r){let n=e.config.tasks[t];if(!n)return e;let s=ct(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 Jg(e,t,r){let n=e.config.tasks[t];if(!n)return e;let s=Ee(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 zg(e,t,r){let n=e.config.tasks[t];if(!n)return e;let s=Ee(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 Ar(e){return {version:1,config:e.config,state:e.state,snapshotAt:new Date().toISOString()}}function xn(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 nc(){return {status:"not-started",executionCount:0,retryCount:0,lastEpoch:0,messages:[],progress:null}}function Hg(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 Ir(e){let{config:t,state:r}=e,n=Ju(t);if(Object.keys(n).length===0)return {eligible:[],pending:[],unresolved:[],blocked:[],conflicts:{}};let o=Wg(n),a=Wu(t,r.tasks),i=new Set([...a,...r.availableOutputs]),u=[],c=[],d=[],l=[];for(let[v,m]of Object.entries(n)){let p=r.tasks[v],b=zu(m,t.settings),g=b!=="once";if(p?.status===ut.RUNNING||Oo(p))continue;let f=Hu(m);if(f!==void 0&&p&&p.executionCount>=f||m.circuit_breaker&&p&&p.executionCount>=m.circuit_breaker.max_executions||!g&&p?.status===ut.COMPLETED)continue;if(g&&p?.status===ut.COMPLETED){let R=ct(m),E=false;switch(b){case "data-changed":{R.length>0&&R.some(D=>{for(let[M,te]of Object.entries(n))if(Ee(te).includes(D)){let U=r.tasks[M];if(!U)continue;let le=p.lastConsumedHashes?.[D];return U.lastDataHash==null?U.executionCount>p.lastEpoch:U.lastDataHash!==le}return false})||(E=true);break}case "epoch-changed":{R.length>0&&R.some(D=>{for(let[M,te]of Object.entries(n))if(Ee(te).includes(D)){let U=r.tasks[M];if(U&&U.executionCount>p.lastEpoch)return true}return false})||(E=true);break}case "time-based":{let N=m.refreshInterval??0;if(N<=0){E=true;break}let D=p.completedAt;if(!D){E=true;break}(Date.now()-Date.parse(D))/1e3<N&&(E=true);break}case "manual":E=true;break}if(E)continue}let y=ct(m);if(y.length===0){u.push(v);continue}let _=[],w=[],$=[];for(let R of y){if(i.has(R))continue;let E=o[R]||[];E.length===0?_.push(R):E.every(D=>Oo(r.tasks[D]))?$.push({token:R,failedProducer:E[0]}):w.push(R);}_.length>0?d.push({taskName:v,missingTokens:_}):$.length>0?l.push({taskName:v,failedTokens:$.map(R=>R.token),failedProducers:[...new Set($.map(R=>R.failedProducer))]}):w.length>0?c.push({taskName:v,waitingOn:w}):u.push(v);}let k={};if(u.length>1){let v=Yu(u,n);for(let[m,p]of Object.entries(v))p.length>1&&(k[m]=p);}return {eligible:u,pending:c,unresolved:d,blocked:l,conflicts:k}}function Wg(e){let t={};for(let[r,n]of Object.entries(e)){for(let s of Ee(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 Pr=class{buffer=[];append(t){this.buffer.push(t);}drain(){let t=this.buffer;return this.buffer=[],t}get size(){return this.buffer.length}};function jo(e){let t=No(e);return Yg(t)}function No(e){if(e==null||typeof e!="object")return JSON.stringify(e);if(Array.isArray(e))return "["+e.map(No).join(",")+"]";let t=e;return "{"+Object.keys(t).sort().map(n=>JSON.stringify(n)+":"+No(t[n])).join(",")+"}"}function Yg(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 Xg(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 Qg(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 sc(e){let t=JSON.stringify({t:e,n:Date.now().toString(36)+Math.random().toString(36).slice(2,6)});return Xg(t)}function Zg(e){try{let t=JSON.parse(Qg(e));return typeof t?.t=="string"?{taskName:t.t}:null}catch{return null}}function oc(e,t,r){let{handlers:n,onDrain:s}=t,o=new Pr,a="state"in e&&"config"in e?e:En(e),i=false,u=new Set,c=new Map(Object.entries(n)),d=new Pr,l=false,k=false;function v(){if(!i){if(l){k=true;return}l=true;try{do k=!1,m();while(k)}finally{l=false;}}}function m(){let f=d.drain(),y=o.drain(),_=[...f,...y];_.length>0&&(a=rc(a,_));let w=Ir(a);_.length>0&&s?.(_,a,w);for(let $ of w.eligible)g($);for(let $ of _)if($.type==="task-progress"){let{taskName:R,update:E}=$;if(!a.config.tasks[R])continue;let D=a.state.tasks[R];if(!D||D.status!=="running")continue;let M=sc(R),te=b(R,M,E).catch(U=>{i||(d.append({type:"task-failed",taskName:R,error:U.message??String(U),timestamp:new Date().toISOString()}),v());}).finally(()=>{u.delete(te);});u.add(te);}}function p(f){let _=a.config.tasks[f].requires??[],w=new Map;for(let[R,E]of Object.entries(a.config.tasks))for(let N of E.provides??[])w.set(N,R);let $={};for(let R of _){let E=w.get(R);E?$[R]=a.state.tasks[E]?.data:$[R]=void 0;}return $}async function b(f,y,_){let w=a.config.tasks[f],$=w.taskHandlers??[],R=p(f);for(let E of $){let N=c.get(E);if(!N)throw new Error(`Handler '${E}' not found in registry (task '${f}')`);let D={nodeId:f,state:R,taskState:a.state.tasks[f],config:w,callbackToken:y,update:_};if(await N(D)==="task-initiate-failure")throw new Error(`Handler '${E}' returned task-initiate-failure (task '${f}')`)}}function g(f){let _=a.config.tasks[f]?.taskHandlers;if(!_||_.length===0)return;d.append({type:"task-started",taskName:f,timestamp:new Date().toISOString()}),v();let w=sc(f),$=b(f,w).catch(R=>{i||(d.append({type:"task-failed",taskName:f,error:R.message??String(R),timestamp:new Date().toISOString()}),v());}).finally(()=>{u.delete($);});u.add($);}return {push(f){i||(f.type==="task-completed"&&f.data&&!f.dataHash&&(f={...f,dataHash:jo(f.data)}),o.append(f),v());},pushAll(f){if(!i){for(let y of f)y.type==="task-completed"&&y.data&&!y.dataHash?o.append({...y,dataHash:jo(y.data)}):o.append(y);v();}},resolveCallback(f,y,_){if(i)return;let w=Zg(f);if(!w)return;let{taskName:$}=w;if(a.config.tasks[$]){if(_&&_.length>0)o.append({type:"task-failed",taskName:$,error:_.join("; "),timestamp:new Date().toISOString()});else {let R=y&&Object.keys(y).length>0?jo(y):void 0;o.append({type:"task-completed",taskName:$,data:y,dataHash:R,timestamp:new Date().toISOString()});}v();}},addNode(f,y){i||(o.append({type:"task-upsert",taskName:f,taskConfig:y,timestamp:new Date().toISOString()}),v());},removeNode(f){i||(o.append({type:"task-removal",taskName:f,timestamp:new Date().toISOString()}),v());},addRequires(f,y){i||(o.append({type:"node-requires-add",nodeName:f,tokens:y,timestamp:new Date().toISOString()}),v());},removeRequires(f,y){i||(o.append({type:"node-requires-remove",nodeName:f,tokens:y,timestamp:new Date().toISOString()}),v());},addProvides(f,y){i||(o.append({type:"node-provides-add",nodeName:f,tokens:y,timestamp:new Date().toISOString()}),v());},removeProvides(f,y){i||(o.append({type:"node-provides-remove",nodeName:f,tokens:y,timestamp:new Date().toISOString()}),v());},registerHandler(f,y){c.set(f,y);},unregisterHandler(f){c.delete(f);},retrigger(f){i||a.config.tasks[f]&&(o.append({type:"task-restart",taskName:f,timestamp:new Date().toISOString()}),v());},retriggerAll(f){if(!i){for(let y of f)a.config.tasks[y]&&o.append({type:"task-restart",taskName:y,timestamp:new Date().toISOString()});v();}},snapshot(){return Ar(a)},getState(){return a},getSchedule(){return Ir(a)},async waitForHandlers(){u.size>0&&await Promise.allSettled([...u]);},async dispose(f){f?.wait&&u.size>0&&await Promise.allSettled([...u]),i=true;}}}var th=createRequire(import.meta.url),Tn=th("./jsonata-sync.cjs"),uc=Tn;function ac(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 cc(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 rh(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 Tn(s.expr).evaluate(n);cc(e.computed_values,s.bindTo,o),n.computed_values=e.computed_values;}catch{}return e}function nh(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=uc(o.expr).evaluate(n);cc(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});}return s.length>0?{ok:true,node:e,errors:s}:{ok:true,node:e}}async function sh(e,t,r){let n={...r??{},card_data:t.card_data??{},requires:t.requires??{},fetched_sources:t._sourcesData??{},computed_values:t.computed_values??{}};return Tn(e).evaluate(n)}function oh(e,t){return t.startsWith("fetched_sources.")?ac(e._sourcesData??{},t.slice(16)):ac(e,t)}var ic=new Set(["metric","table","editable-table","chart","form","filter","list","notes","todo","alert","narrative","badge","text","markdown","ref","custom","actions"]),ah=new Set(["id","meta","requires","provides","view","card_data","compute","source_defs"]);function ih(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))ah.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`):ic.has(s.kind)||t.push(`view.elements[${o}].kind: unknown kind "${s.kind}". Valid: ${[...ic].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 uh(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 Tn(a).evaluate(r);}catch{s[o]=void 0;}}return {...n,_projections:s}}))}function ch(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]=uc(a).evaluate(r);}catch{s[o]=void 0;}}return {...n,_projections:s}})}var dt={run:rh,runSync:nh,eval:sh,resolve:oh,validate:ih,enrichSources:uh,enrichSourcesSync:ch};function qo(e){return JSON.stringify(e)}function Do(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}function An(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 d=0;d<i.length-1;d++){let l=i[d],k=c[l],v=k&&typeof k=="object"&&!Array.isArray(k)?{...k}:{};c[l]=v,c=v;}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 d=n(c,o,a),l=e.writeCard(u.key,d);i[s]={key:u.key,checksum:l,updatedAt:new Date().toISOString()},e.writeIndex(i);},removeCard(s){let o=r();o[s]&&(delete o[s],e.writeIndex(o));},readIndex(){return r()}}}function Fo(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 mc(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 gc(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 Or="v1",lt="board/graph",hc="board/lastJournalProcessedId";function dc(e){return `cards/${e}/runtime`}function yc(e){return {readRuntime(t){return e.read(dc(t))??{_sources:{}}},writeRuntime(t,r){e.write(dc(t),r);}}}function dh(e,t){let r={...e};for(let n of t.deleteKeys)delete r[n];return {...r,...t.shallowMerge}}function vc(e){return {readSnapshot(t){return e.readValues(t)},commitSnapshot(t,r){if(r.schemaVersion!==Or)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=dh(n.values,r);return {ok:true,newVersion:e.writeValues(t,s,r.deleteKeys)}}}}function Mo(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 Do(r.trim())},writeTaskExecutorRef(r){e.write("task-executor",qo(r));},readChatHandlerFlow(){return e.read("chat-handler-flow")},writeChatHandlerFlow(r){e.write("chat-handler-flow",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);}}}function kc(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 lc(e){return e?{lastRequestedToken:e.lastRequestedToken,lastCompletedToken:e.lastCompletedToken,lastCompletionStatus:e.lastCompletionStatus??(e.lastCompletedToken?"success":"not-started"),queueRequestedToken:e.queueRequestedToken}:{lastCompletionStatus:"not-started"}}function lh(e){return e?.lastRequestedToken?e.lastCompletedToken!==e.lastRequestedToken:false}function fc(e,t){return e?.lastRequestedToken?lh(e)?"in-flight":!e.lastCompletedToken||e.lastCompletedToken<t?"dispatch":"idle":"dispatch"}function fh(e,t){return {...e,lastCompletedToken:t,lastCompletionStatus:"success"}}function pc(e,t){return {...e,lastCompletedToken:t,lastCompletionStatus:"failure"}}function In(e,t){let r=t.state.tasks,n=t.config.tasks,s=Object.keys(r),o=Ir(t),a={completed:0,failed:0,in_progress:0,pending:0,blocked:0,unresolved:0},i=new Map;for(let m of o.pending)i.set(m.taskName,m.waitingOn);for(let m of o.unresolved)i.set(m.taskName,m.missingTokens);for(let m of o.blocked)i.set(m.taskName,m.failedTokens);let u=new Map;for(let[m,p]of Object.entries(n))for(let b of p.requires??[]){let g=u.get(b)??[];g.push(m),u.set(b,g);}let c=s.sort().map(m=>{let p=r[m],b=n[m]??{requires:[],provides:[]};p.status==="completed"?a.completed+=1:p.status==="failed"?a.failed+=1:p.status==="in-progress"&&(a.in_progress+=1);let g=b.requires??[],f=b.provides??[],y=Object.keys(p.data??{}).sort(),_=g.filter(D=>t.state.availableOutputs.includes(D)),w=g.filter(D=>!t.state.availableOutputs.includes(D)),$=i.get(m)??w,R=new Set;for(let D of f)for(let M of u.get(D)??[])M!==m&&R.add(M);let E=p.failedAt,N=p.error?{message:p.error,code:"TASK_FAILED",at:E,source:"task-runtime"}:void 0;return {name:m,status:p.status,error:N,requires:g,requires_satisfied:_,requires_missing:w,provides_declared:f,provides_runtime:y,blocked_by:$,unblocks:Array.from(R).sort(),runtime:{attempt_count:p.executionCount??0,restart_count:p.retryCount??0,in_progress_since:p.status==="in-progress"?p.startedAt??null:null,last_transition_at:p.lastUpdated??null,last_completed_at:p.completedAt??null,last_restarted_at:p.startedAt??null,status_age_ms:p.lastUpdated?0:null}}});a.pending=o.pending.length,a.blocked=o.blocked.length,a.unresolved=o.unresolved.length;let d=c.map(m=>({name:m.name,fanOut:m.unblocks.length})).sort((m,p)=>p.fanOut-m.fanOut||m.name.localeCompare(p.name)),l=d.length>0?d[0]:{name:null,fanOut:0},k=new Set;for(let m of Object.values(n))for(let p of m.requires??[])k.add(p);let v=0;for(let[m,p]of Object.entries(n)){let b=(p.requires??[]).length===0,f=(p.provides??[]).some(y=>(u.get(y)??[]).some(_=>_!==m));b&&!f&&(v+=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:v,topology:{edge_count:Array.from(k).length,max_fan_out_card:l.name,max_fan_out:l.fanOut}},cards:c}}function ph(){return new Date().toISOString()}function bc(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 d=c.id,l=c.card_data??{},k=c.source_defs??[],v=k.filter(q=>q.optionalForCompletionGating!==true),m=r.cardRuntimeStore.readRuntime(d),p=false,b=()=>{p&&(r.cardRuntimeStore.writeRuntime(d,m),p=false);},g=q=>lc(m._sources[q]),f=(q,S)=>{m._sources[q]=lc(S),p=true;},y=i.taskState?.executionCount??0;if(m._lastExecutionCount!==y&&(m._sources={},m._lastExecutionCount=y,p=true),i.update){let q=i.update,S=q.outputFile;if(S){let h=g(S);if(q.failure){let C=q.rqt??h.lastRequestedToken??h.queueRequestedToken;C&&f(S,pc(h,C));}else {let C=q.rqt;if(!h.lastCompletedToken||C>h.lastCompletedToken){let A=typeof q.deliveryToken=="string"?q.deliveryToken:void 0,K=false;A&&(K=r.fetchedSourcesStore.commitSourceData(d,S,A)),K?f(S,fh(h,C)):f(S,pc(h,C));}}b();}}let w={};for(let q of k)if(q.outputFile){let S=r.fetchedSourcesStore.readSourceData(d,q.outputFile);S!==null&&(w[q.bindTo]=S);}let $={};for(let[q,S]of Object.entries(i.state??{}))if(S!==null&&typeof S=="object"&&!Array.isArray(S)){let h=S[q];$[q]=h!==void 0?h:S;}else $[q]=S;let R={id:d,card_data:{...l},requires:$,source_defs:k,compute:c.compute};R._sourcesData=w,c.compute&&dt.runSync(R,{sourcesData:w}),(o??r.outputStore.writeComputedValues.bind(r.outputStore))(d,R.computed_values??{});let E={...c},N=dt.enrichSourcesSync(Array.isArray(c.source_defs)?c.source_defs:void 0,{card_data:c.card_data,requires:$}),D=e.value;E.source_defs=Array.isArray(N)?N.map(q=>({...q,boardDir:typeof q.boardDir=="string"&&q.boardDir?q.boardDir:D})):N;let M=ph(),te=i.update?void 0:M,U=v.filter(q=>{let S=q.outputFile;if(typeof S!="string"||!S)return true;let h=g(S);te&&(h={...h,queueRequestedToken:te},f(S,h));let C=h.queueRequestedToken??h.lastRequestedToken??M,A=fc(h,C);return A==="in-flight"?false:A==="dispatch"});if(b(),U.length>0){let q=false,S=M;for(let h of U){let C=h.outputFile;if(typeof C!="string"||!C)continue;let A=g(C),K=A.queueRequestedToken??M;f(C,{...A,lastRequestedToken:K}),S=K,q=true;}return q&&b(),q&&(u.push({taskKind:"source-fetch",payload:{boardRef:ae(e),enrichedCard:E,callbackToken:i.callbackToken,rqt:S}}),r.executionRequestStore.appendEntries(t,u)),"task-initiated"}if(v.some(q=>{let S=q.outputFile;if(typeof S!="string"||!S)return false;let h=g(S),C=h.queueRequestedToken??h.lastRequestedToken??M;return fc(h,C)==="in-flight"}))return "task-initiated";let Ye=c.provides??[],Fe={};for(let{bindTo:q,ref:S}of Ye)Fe[q]=dt.resolve(R,S);return (a??r.outputStore.writeDataObjects.bind(r.outputStore))(Fe),k.filter(q=>{if(q.optionalForCompletionGating!==true)return false;let S=g(q.outputFile);return !S.lastRequestedToken||!S.lastCompletedToken?true:S.lastCompletedToken<=S.lastRequestedToken}).length>0&&u.push({taskKind:"source-fetch",payload:{boardRef:ae(e),enrichedCard:E,callbackToken:i.callbackToken,rqt:M}}),n(i.nodeId,Fe),u.length>0&&r.executionRequestStore.appendEntries(t,u),"task-initiated"}}var Pn={settings:{completion:"manual",refreshStrategy:"data-changed"},tasks:{}};function wc(e){return {[lt]:e.graph,[hc]:e.lastDrainedJournalId}}function Sc(e){let t=e[lt],r=e[hc];if(!t||typeof t!="object")throw new Error(`State snapshot is missing required key: ${lt}`);return {graph:t,lastDrainedJournalId:typeof r=="string"?r:""}}function _c(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 X(e){return e!==void 0?{status:"success",data:e}:{status:"success"}}function j(e){return {status:"fail",error:e}}function Z(e){return {status:"error",error:e instanceof Error?e.message:String(e)}}function mh(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 Cc(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 On(e){try{let t=JSON.parse(Cc(e));return typeof t?.t=="string"?{taskName:t.t}:null}catch{return null}}function gh(e){return mh(JSON.stringify(e))}function Rc(e){try{let t=JSON.parse(Cc(e));return typeof t?.cbk=="string"&&typeof t?.cid=="string"&&typeof t?.b=="string"&&typeof t?.d=="string"?t:null}catch{return null}}function xe(){return new Date().toISOString()}function jr(e,t){let r=t.onWarn??(()=>{}),n=ae(e);function s(S){if(S.length!==0)try{let h=t.publishBoardChangeNotifications?.(S);h&&typeof h.catch=="function"&&h.catch(C=>r(`[board-live-cards-public] publishBoardChangeNotifications failed: ${C instanceof Error?C.message:String(C)}`));}catch(h){r(`[board-live-cards-public] publishBoardChangeNotifications failed: ${h instanceof Error?h.message:String(h)}`);}}function o(){let S=i().readCardStoreRef();if(!S)throw new Error(`Board at ${e.value} has no card store configured. Run: init --base-ref <ref> --store-ref <b64-ref>`);let h=t.kvStorageForRef(S);return {readIndex(){return h.read("_index")},writeIndex(C){h.write("_index",C);},readCard(C){return h.read(C)},writeCard(C,A){return h.write(C,A),t.hashFn(A)},cardExists(C){return h.read(C)!==null},defaultCardKey(C){return C}}}let a={readValues(S){let h=t.kvStorage("state-snapshot"),C=h.listKeys().sort();if(C.length===0)return {version:null,values:{}};let A={};for(let K of C)A[K]=h.read(K);return {version:t.hashFn(A),values:A}},writeValues(S,h,C){let A=t.kvStorage("state-snapshot");for(let K of C)A.delete(K);for(let[K,ee]of Object.entries(h))A.write(K,ee);return t.hashFn(h)}},i=()=>Mo(t.kvStorage("config")),u=()=>vc(a),c=()=>mc(t.journalAdapter()),d=()=>An(o(),r),l=()=>{let S=i().readOutputsStoreRef();if(!S)throw new Error(`Board at ${e.value} has no outputs store configured. Run: init --outputs-store-ref <b64-ref>`);return kc(t.kvStorageForRef(S))};function k(){return !!u().readSnapshot(e.value).values[lt]}function v(){let S=u().readSnapshot(e.value);if(!S.values[lt])throw new Error(`Board not initialized at ${e.value}`);return Sc(S.values)}function m(S,h){let C=u().commitSnapshot(e.value,{schemaVersion:Or,expectedVersion:h,commitId:t.genId(),committedAt:xe(),deleteKeys:[],shallowMerge:wc(S)});if(!C.ok)throw new Error(`Snapshot commit failed (version mismatch): expected=${h??"null"} current=${C.currentVersion??"null"}`)}function p(S){c().appendEvent(S);}async function b(){let S=(P,F)=>{let oe=P.payload,Qe=(oe?.enrichedCard??{}).id??oe?.cardId??"unknown";p({type:"task-failed",taskName:Qe,error:F,timestamp:xe()});},h=gc(t.kvStorage("execution-requests"),S),C=yc(t.kvStorage("card-runtime")),A=Fo(t.blobStorage("sources"),P=>t.resolveBlob(P)),K=new Map,ee={readRuntime(P){return K.get(P)??C.readRuntime(P)},writeRuntime(P,F){K.set(P,F);}},Re=[],Ce=new Map,Xe={readSourceData(P,F){let oe=`${P}/${F}`;return Ce.has(oe)?Ce.get(oe):A.readSourceData(P,F)},ingestSourceDataStaged(P,F,oe,It){A.ingestSourceDataStaged(P,F,oe,It);},commitSourceData(P,F,oe){let It=`${P}/.staged/${oe}/${F}`,Fr=t.blobStorage("sources").read(It);if(Fr==null)return false;let Pt=`${P}/${F}`,Ko=Fr.trim();try{Ce.set(Pt,JSON.parse(Ko));}catch{Ce.set(Pt,Ko);}return Re.push({cardId:P,outputFile:F,deliveryToken:oe}),true},hasSource(P,F){let oe=`${P}/${F}`;return Ce.has(oe)?true:A.hasSource(P,F)}},$e={cardStore:d(),cardRuntimeStore:ee,fetchedSourcesStore:Xe,outputStore:l(),executionRequestStore:h},pt=v(),mt=xn(pt.graph),{events:Tt,newCursor:At}=c().readEntriesAfterCursor(pt.lastDrainedJournalId),gt=[],jn=[],Nn=[],Vo=new Map,Ec=(P,F)=>{gt.push({type:"task-completed",taskName:P,data:F,timestamp:xe()});},Bo=(P,F)=>p({type:"task-failed",taskName:P,error:F,timestamp:xe()}),qr=oc(mt,{handlers:{"card-handler":bc(e,At,$e,Ec,Bo,(P,F)=>{jn.push({cardId:P,values:F});},P=>{Nn.push(P);})}});for(gt=Tt;gt.length>0;){let P=gt;gt=[];for(let F of P)if(F.type==="task-restart"){let oe=$e.cardStore.readCard(F.taskName);oe&&Vo.set(F.taskName,oe);}qr.pushAll(P),await qr.waitForHandlers();}let Go=qr.getState();await qr.dispose({wait:true});let xc=u().readSnapshot(e.value).version;m({lastDrainedJournalId:At,graph:Ar(Go)},xc);for(let{cardId:P,values:F}of jn)$e.outputStore.writeComputedValues(P,F);for(let P of Nn)$e.outputStore.writeDataObjects(P);for(let[P,F]of K)C.writeRuntime(P,F);for(let{cardId:P,outputFile:F,deliveryToken:oe}of Re)A.commitSourceData(P,F,oe);let Dr;try{Dr=In(n,Go),$e.outputStore.writeStatusSnapshot(Dr);}catch(P){r(`[board-live-cards-public] status publish failed: ${P instanceof Error?P.message:String(P)}`);}let Xt=[];for(let{cardId:P,values:F}of jn)Xt.push({kind:"computed_values",cardId:P,values:F});for(let P of Nn)for(let[F,oe]of Object.entries(P))F&&Xt.push({kind:"data_object",key:F,payload:oe});for(let[P,F]of Vo)Xt.push({kind:"card_refreshed",cardId:P,card:F});Dr!==void 0&&Xt.push({kind:"status",status:Dr}),s(Xt);let Tc=i().readTaskExecutorRef()??{howToRun:"built-in",whatToRun:ae({kind:"built-in",value:"source-cli-task-executor"})};h.dispatchEntriesForJournalId(At,P=>{if(P.taskKind!=="source-fetch"){r(`[process-accumulated-events] unknown taskKind "${P.taskKind}" \u2014 skipping`);return}let F=P.payload,oe=F.enrichedCard?.id??"unknown",It=F.enrichedCard?.source_defs??[];for(let Qe of It){if(!Qe.outputFile){r(`[dispatch] source "${Qe.bindTo}" has no outputFile \u2014 skipping`);continue}let Fr=gh({cbk:F.callbackToken,rg:e.value,br:ae(e),cid:oe,b:Qe.bindTo,d:Qe.outputFile,cs:void 0,rqt:F.rqt});t.dispatchExecution(Tc,{source_def:Qe,base_ref:ae(e),callback:{token:Fr,via:t.selfRef}}).catch(Pt=>Bo(oe,Pt instanceof Error?Pt.message:String(Pt)));}});}async function g(){try{let S=()=>{let C=v(),{events:A}=c().readEntriesAfterCursor(C.lastDrainedJournalId);A.length<=0||(g(),t.requestProcessAccumulated?.());},h=await Jo(t.lock,b,S);return X({ran:h!==!1})}catch(S){return Z(S)}}function f(S){try{let h=S.params?.cardStoreRef;if(!h)return j("init requires params.cardStoreRef \u2014 create a card store with card-store-cli and pass its ref here");if(!k()){let ee=En(Pn);m({lastDrainedJournalId:"",graph:Ar(ee)},null);}let C=S.params?.outputsStoreRef;if(!C)return j("init requires params.outputsStoreRef \u2014 pass the outputs store ref here");let A=i();A.writeCardStoreRef(h),A.writeOutputsStoreRef(C);let K=S.body??{};K["task-executor-ref"]&&A.writeTaskExecutorRef(K["task-executor-ref"]),Object.prototype.hasOwnProperty.call(K,"chat-handler-flow")&&A.writeChatHandlerFlow(K["chat-handler-flow"]);try{l().writeStatusSnapshot(In(n,xn(v().graph)));}catch{}return X()}catch(h){return Z(h)}}function y(S){try{let h=l().readStatusSnapshot();if(!h){h=In(n,xn(v().graph));try{l().writeStatusSnapshot(h);}catch{}}return X(h)}catch(h){return Z(h)}}function _(S){try{let h=S.params?.id;return h?(p({type:"task-removal",taskName:h,timestamp:xe()}),g(),X()):j("removeCard requires params.id")}catch(h){return Z(h)}}function w(S){try{let h=S.params?.id;return h?(p({type:"task-restart",taskName:h,timestamp:xe()}),g(),X()):j("retrigger requires params.id")}catch(h){return Z(h)}}async function $(S){return g()}function R(S){try{let h=S.params?.cardId,C=S.params?.all,A=!!S.params?.restart;if(!h&&!C)return j("upsertCard requires --card-id <id> or --all");let K=C?d().readAllCards().map(ee=>ee.id):[h];for(let ee of K)if(!d().readCard(ee))return j(`Card "${ee}" not found in board at ${e.value}`);for(let ee of K){let Re=d().readCard(ee),Ce=_c(Re),Xe=t.hashFn(Ce),$e=t.kvStorage("card-upsert"),pt=$e.read(ee),mt=pt?.taskConfigHash!==Xe;if(!(!mt&&!A)){if(mt){let Tt=pt?.blobRef??d().readCardKey(ee)??ee;p({type:"task-upsert",taskName:ee,taskConfig:Ce,timestamp:xe()}),$e.write(ee,{blobRef:Tt,taskConfigHash:Xe,updatedAt:xe()});}A&&p({type:"task-restart",taskName:ee,timestamp:xe()});}}return g(),X()}catch(h){return Z(h)}}function E(S){try{let h=S.params?.token;if(!h)return j("taskFailed requires params.token");let C=S.params?.error??"unknown error",A=On(h);return A?(p({type:"task-failed",taskName:A.taskName,error:C,timestamp:xe()}),g(),X()):j("Invalid callback token")}catch(h){return Z(h)}}function N(S){try{let h=S.params?.token;if(!h)return j("taskProgress requires params.token");let A=(S.body??{}).update??{},K=On(h);return K?(p({type:"task-progress",taskName:K.taskName,update:A,timestamp:xe()}),g(),X()):j("Invalid callback token")}catch(h){return Z(h)}}function D(S){try{let h=S.params?.token,C=S.params?.ref;if(!h)return j("sourceDataFetched requires params.token");if(!C)return j("sourceDataFetched requires params.ref");let A=Rc(h);if(!A)return j("Invalid source token");let{cbk:K,cid:ee,b:Re,d:Ce,cs:Xe,rqt:$e}=A,pt=Fo(t.blobStorage("sources"),gt=>t.resolveBlob(gt)),mt=t.genId();pt.ingestSourceDataStaged(ee,Ce,ke(C),mt);let Tt=On(K);if(!Tt)return j("Invalid callback token embedded in source token");let At=xe();return p({type:"task-progress",taskName:Tt.taskName,update:{bindTo:Re,outputFile:Ce,fetchedAt:At,deliveryToken:mt,sourceChecksum:Xe,rqt:$e},timestamp:At}),g(),X()}catch(h){return Z(h)}}function M(S){try{let h=S.params?.token,C=S.params?.reason??"unknown";if(!h)return j("sourceDataFetchFailure requires params.token");let A=Rc(h);if(!A)return j("Invalid source token");let{cbk:K,b:ee,d:Re,cs:Ce,rqt:Xe}=A,$e=On(K);return $e?(p({type:"task-progress",taskName:$e.taskName,update:{bindTo:ee,outputFile:Re,failure:!0,reason:C,sourceChecksum:Ce,rqt:Xe},timestamp:xe()}),g(),X()):j("Invalid callback token embedded in source token")}catch(h){return Z(h)}}function te(S){try{let h=i().readCardStoreRef();return h?X({storeRef:h}):j(`Board at ${e.value} has no card store configured`)}catch(h){return Z(h)}}function U(S){try{let h=i().readOutputsStoreRef();return h?X({storeRef:h}):j(`Board at ${e.value} has no outputs store configured`)}catch(h){return Z(h)}}function le(S){try{let h=S.params?.key;if(!h)return j("getConfig requires params.key");let C=i(),A;switch(h){case "task-executor":A=C.readTaskExecutorRef()??null;break;case "chat-handler-flow":A=C.readChatHandlerFlow()??null;break;case "card-store-ref":A=C.readCardStoreRef();break;case "outputs-store-ref":A=C.readOutputsStoreRef();break;default:return j(`getConfig: unknown key "${h}"`)}return X({value:A})}catch(h){return Z(h)}}function Ye(S){try{let h=S.params?.key;if(!h)return j("getOutputsDataObject requires params.key");let C=l().readDataObject(h);return X(C)}catch(h){return Z(h)}}function Fe(S){try{return X(l().readAllDataObjects())}catch(h){return Z(h)}}function Yt(S){try{let h=S.params?.key;if(!h)return j("getOutputsComputedValues requires params.key");let C=l().readComputedValues(h);return X(C)}catch(h){return Z(h)}}function q(S){try{return X(l().readAllComputedValues())}catch(h){return Z(h)}}return {init:f,status:y,getCardStoreRef:te,getOutputsStoreRef:U,getConfig:le,getOutputsDataObject:Ye,getAllOutputsDataObjects:Fe,getOutputsComputedValues:Yt,getAllOutputsComputedValues:q,removeCard:_,retrigger:w,processAccumulatedEvents:$,upsertCard:R,taskFailed:E,taskProgress:N,sourceDataFetched:D,sourceDataFetchFailure:M}}function ft(e,t){let r=()=>Mo(t.kvStorage("config"));function n(){let g=r().readCardStoreRef();if(!g)throw new Error(`Board at ${e.value} has no card store configured. Run: init --base-ref <ref> --store-ref <b64-ref>`);let f=t.kvStorageForRef(g);return {readIndex(){return f.read("_index")},writeIndex(y){f.write("_index",y);},readCard(y){return f.read(y)},writeCard(y,_){return f.write(y,_),t.hashFn(_)},cardExists(y){return f.read(y)!==null},defaultCardKey(y){return y}}}let s=()=>An(n(),t.onWarn??(()=>{}));function o(g,f){let y=t.validateSchema(f),_=[],w=r().readTaskExecutorRef();if(w&&Array.isArray(f.source_defs))for(let R of f.source_defs){let E=typeof R.bindTo=="string"?R.bindTo:"(unknown)";try{let N;try{N=t.invokeExecutorSync(w,"validate-source-def",[],{timeout:t.executorTimeouts?.validationMs??1e4,input:JSON.stringify(R)});}catch(M){let te=M;if(N=typeof te?.stdout=="string"?te.stdout:"",!N.trim()){_.push(`source "${E}": executor validate-source-def failed \u2014 ${M instanceof Error?M.message:String(M)}`);continue}}let D=JSON.parse(N.trim());if(!D.ok&&Array.isArray(D.errors))for(let M of D.errors)_.push(`source "${E}": ${M}`);}catch(N){_.push(`source "${E}": executor validate-source-def failed \u2014 ${N instanceof Error?N.message:String(N)}`);}}let $=[...y.errors,..._];return X({cardId:g,isValid:$.length===0,issues:$})}function a(g,f,y){let _=r().readTaskExecutorRef();if(!_)return j("No task-executor registered for this board");let w=typeof g.bindTo=="string"?g.bindTo:"source",$=t.makeTempFilePath(`probe-in-${w}`),R=t.makeTempFilePath(`probe-out-${w}`),E=t.makeTempFilePath(`probe-err-${w}`,".txt"),N={...g,boardDir:e.value,_projections:f},D=ae({kind:"fs-path",value:$}),M=ae({kind:"fs-path",value:R}),te=ae({kind:"fs-path",value:E});t.absoluteBlob.write($,JSON.stringify(N,null,2));let U=null;try{if(t.invokeExecutorSync(_,"run-source-fetch",["--in-ref",D,"--out-ref",M,"--err-ref",te],{timeout:g.timeout??t.executorTimeouts?.probeMs??6e4}),U=t.absoluteBlob.read(R),U===null)return j("Executor produced no output file")}catch(le){let Ye=t.absoluteBlob.read(E)?.trim()??(le instanceof Error?le.message:String(le));return j(`Probe failed: ${Ye}`)}finally{try{t.absoluteBlob.remove($);}catch{}try{t.absoluteBlob.remove(E);}catch{}}if(y){let le=ke(y);t.absoluteBlob.write(le.value,U);}else try{t.absoluteBlob.remove(R);}catch{}return X({bindTo:w,resultSizeBytes:U.length})}function i(g){try{let f=g.params?.cardId,y=g.params?.all;if(!f&&!y)return j("validateCard requires --card-id <id> or --all");let _=y?s().readAllCards().map($=>$.id):[f],w=[];for(let $ of _){let R=s().readCard($);if(!R){w.push({cardId:$,isValid:!1,issues:[`Card "${$}" not found`]});continue}let E=o($,R);if(E.status!=="success")return E;w.push(E.data);}return X(w)}catch(f){return Z(f)}}function u(g){try{if(!g.body||typeof g.body!="object"||Array.isArray(g.body))return j("validateCardPreflight requires card JSON object in body");let f=g.body,y=f["card-content"]??f,_=typeof y.id=="string"?y.id:"(unknown)",w=o(_,y),$=r().readTaskExecutorRef();if($)try{let R=t.invokeExecutorSync($,"validate-card-preflight",[],{timeout:t.executorTimeouts?.validationMs??1e4,input:JSON.stringify(y)}),E=JSON.parse(R.trim());if(!E.ok&&Array.isArray(E.errors)&&E.errors.length>0){let N=[...w.status==="success"?w.data.issues:[],...E.errors];return X({cardId:_,isValid:!1,issues:N})}}catch{}return w}catch(f){return Z(f)}}function c(g){try{let f=g.params?.cardId,y=g.params?.sourceIdx,_=g.params?.outRef;if(!f)return j("probeSource requires params.cardId");if(y===void 0)return j("probeSource requires params.sourceIdx");let $=(g.body??{})["mock-projections"]??{},R=s().readCard(f);if(!R)return j(`Card "${f}" not found`);let E=R.source_defs??[];return y<0||y>=E.length?j(`sourceIdx ${y} out of range (card has ${E.length} source(s))`):a(E[y],$,_)}catch(f){return Z(f)}}function d(g){try{let f=g.params?.outRef,y=g.body;if(!y)return j('probeTmpSource requires body with "source-def" and "mock-projections"');let _=y["source-def"],w=y["mock-projections"]??{};return _?a(_,w,f):j('probeTmpSource body requires "source-def"')}catch(f){return Z(f)}}function l(g){try{let f=g.params?.sourceIdx,y=g.params?.outRef;if(f===void 0)return j("probeSourcePreflight requires params.sourceIdx");if(!g.body||typeof g.body!="object"||Array.isArray(g.body))return j("probeSourcePreflight requires card JSON object in body");let _=g.body,w=_["card-content"]??_,$=_["mock-projections"]??{},R=w.source_defs??[];if(f<0||f>=R.length)return j(`sourceIdx ${f} out of range (card has ${R.length} source(s))`);let E=R[f],N=r().readTaskExecutorRef();if(N){let D=typeof E.bindTo=="string"?E.bindTo:"source";try{let M={...E,_projections:$},te=t.invokeExecutorSync(N,"probe-source-preflight",[],{timeout:E.timeout??t.executorTimeouts?.preflightMs??6e4,input:JSON.stringify(M)}),U=JSON.parse(te.trim());return U.ok?X({bindTo:D,reachable:U.reachable,latencyMs:U.latencyMs,note:U.note}):j(U.error??"Preflight probe failed")}catch{}}return a(E,$,y)}catch(f){return Z(f)}}function k(g){try{let f=r().readTaskExecutorRef();if(!f)return j("No task-executor registered for this board");let y=t.invokeExecutorSync(f,"describe-capabilities",[],{timeout:t.executorTimeouts?.describeMs??1e4});return X(JSON.parse(y.trim()))}catch(f){return Z(f)}}function v(g){try{let f=g.body;if(!f||!Array.isArray(f.ops))return j("updatesInCardStore requires body.ops array");let y=f.ops,_=s();for(let w of y){let $=w.op,R=w.id;if(!R)return j('op is missing "id"');if($==="update"){let E=w["card-content"];if(!E)return j(`update op for "${R}" is missing "card-content"`);_.writeCard(R,E);}else return j(`Unknown op type: "${$??"(none)"}"`)}return X()}catch(f){return Z(f)}}function m(g){try{let f=g.body;if(!f||!Array.isArray(f.ids))return j("readFromCardStore requires body.ids array");let y=f.ids,_=s(),w=y.map($=>({id:$,"card-content":_.readCard($)}));return X({cards:w})}catch(f){return Z(f)}}function p(g){try{if(!g.body||typeof g.body!="object"||Array.isArray(g.body))return j("evalCardCompute requires a JSON object in body");let f=g.body,y=f["card-content"]??f,_=typeof y.id=="string"?y.id:"(unknown)",w=f["mock-fetched-sources"]??{},$=f["mock-requires"]??{},R=y.compute;if(!R||!Array.isArray(R)||R.length===0)return X({cardId:_,ok:!0,computed_values:{},errors:[]});let E={id:_,card_data:y.card_data??{},requires:$,source_defs:y.source_defs,compute:R},N=dt.runSync(E,{sourcesData:w}),D=N.node.computed_values??{},M=N.errors??[];return X({cardId:_,ok:M.length===0,computed_values:D,errors:M})}catch(f){return Z(f)}}function b(g){try{if(!g.body||typeof g.body!="object"||Array.isArray(g.body))return j("simulateCardCycle requires a JSON object in body");let f=g.body,y=f["card-content"]??f,_=typeof y.id=="string"?y.id:"(unknown)",w=f["mock-fetched-sources"]??{},$=f["mock-requires"]??{},R=o(_,y),E=R.status==="success"?{isValid:R.data.isValid,issues:R.data.issues}:{isValid:!1,issues:[R.status==="fail"?R.error:"internal error"]},N=y.source_defs??[],D=y.card_data??{},M=[],te=[];if(N.length>0){M=dt.enrichSourcesSync(N,{card_data:D,requires:$});for(let h of M){let C=h.projections,A=h._projections;if(C&&A){for(let K of Object.keys(C))if(A[K]===void 0){let ee=typeof h.bindTo=="string"?h.bindTo:"(unknown)";te.push({bindTo:ee,key:K,error:`Projection "${K}" resolved to undefined`});}}}}let U=[],le=f["task-executor-ref"],Ye=(le?.howToRun&&le?.whatToRun?le:void 0)??r().readTaskExecutorRef();for(let h=0;h<M.length;h++){let C=M[h],A=typeof C.bindTo=="string"?C.bindTo:`source_${h}`;if(!Ye){U.push({bindTo:A,skipped:!0,error:"No task executor configured"});continue}try{let K={...C},ee=t.invokeExecutorSync(Ye,"probe-source-preflight",[],{timeout:C.timeout??t.executorTimeouts?.preflightMs??6e4,input:JSON.stringify(K)}),Re=JSON.parse(ee.trim());U.push({bindTo:A,reachable:Re.reachable,latencyMs:Re.latencyMs,error:Re.ok?void 0:Re.error});}catch{U.push({bindTo:A,skipped:!0,error:"Executor does not support probe-source-preflight"});}}let Fe=y.compute,Yt={},q=[];if(Fe&&Array.isArray(Fe)&&Fe.length>0){let h={id:_,card_data:D,requires:$,source_defs:y.source_defs,compute:Fe},C=dt.runSync(h,{sourcesData:w});Yt=C.node.computed_values??{},q=C.errors??[];}let S=E.isValid&&te.length===0&&q.length===0&&U.every(h=>h.reachable!==!1);return X({cardId:_,ok:S,validation:E,source_probes:U,projection_errors:te,computed_values:Yt,compute_errors:q})}catch(f){return Z(f)}}return {validateCard:i,validateCardPreflight:u,probeSource:c,probeTmpSource:d,probeSourcePreflight:l,evalCardCompute:p,simulateCardCycle:b,describeTaskExecutorCapabilities:k,updatesInCardStore:v,readFromCardStore:m}}var yh=".board.lock";function vh(e,t){return typeof e=="string"?{cliDir:e,opts:t}:{cliDir:void 0,opts:e}}function kh(e,t){return typeof e=="string"?{cliDir:e,opts:t}:{cliDir:void 0,opts:e}}function $c(e){if(e)return e;let t=Vr(import.meta.url),r=[t,Ot(t,"..","cli","node"),Ot(t,"..","..","cli","node")];for(let n of r)try{return Ln(n),n}catch{}throw new Error(`createFsBoardPlatformAdapter: could not resolve a public CLI directory from module dir ${t}`)}function Nr(e,t,r){let{cliDir:n,opts:s}=vh(t,r),o=$c(n),a=e.value,i=s?.suppressSpawn?"":Ln(o),u={meta:"board-live-cards",howToRun:"local-node",whatToRun:i?ae({kind:"fs-path",value:i}):"",...s?.notifyChannel?{extra:{notifyChannel:s.notifyChannel}}:{}};return {kvStorage:c=>Un(Ot(a,`.${c}`)),blobStorage:c=>c?Gr(Ot(a,c)):Gr(a),journalAdapter:()=>da(a),lock:la(Ot(a,yh)),selfRef:u,async dispatchExecution(c,d){if(s?.suppressSpawn)return {dispatched:false};try{let l=d.source_def?.bindTo??Dn().slice(0,8),k=Qt(a,`exec-in-${l}`),v=Qt(a,`exec-out-${l}`),m=Qt(a,`exec-err-${l}`,".txt"),p=ae({kind:"fs-path",value:k}),b=ae({kind:"fs-path",value:v}),g=ae({kind:"fs-path",value:m});return ua({kind:"fs-path",value:k}).write(k,JSON.stringify(d,null,2)),ia(c,{subcommand:"run-source-fetch",inRef:p,outRef:b,errRef:g},o),{dispatched:!0}}catch(l){return {dispatched:false,error:l instanceof Error?l.message:String(l)}}},resolveBlob(c){let d=Yo(c.value)?Kn().read(c.value):Gr(a).read(c.value);if(d===null)throw new Error(`resolveBlob: blob not found: ::${c.kind}::${c.value}`);return d},hashFn:ca,genId:()=>Xo(`${Date.now()}-${Math.random()}`).slice(0,32),kvStorageForRef:c=>Un(ke(c).value),requestProcessAccumulated(){s?.suppressSpawn||ea(o,e,s?.notifyChannel);},publishBoardChangeNotifications(c){if(!s?.notifyChannel||c.length===0)return;let d=c.map(l=>({id:Dn(),ts:new Date().toISOString(),boardRef:ae(e),notification:l}));ta(s.notifyChannel,d,s.onWarn);},onWarn:s?.onWarn}}function Et(e,t,r){let{cliDir:n,opts:s}=kh(t,r),o=$c(n),a=Nr(e,o,s),i=Vn();return {...a,invokeExecutorSync(u,c,d,l){let{command:k,baseArgs:v}=aa(u,o),m=u.extra?["--extra",Buffer.from(JSON.stringify(u.extra)).toString("base64")]:[];return i.executeSync(k,[...v,c,...d,...m],{timeout:l?.timeout??3e4,encoding:"utf-8",input:l?.input})},validateSchema(u){let c=Po(u);return {ok:c.errors.length===0,errors:c.errors}},makeTempFilePath(u,c){return Qt(e.value,u,c)},absoluteBlob:Kn()}}function Lo(e){try{let t=JSON.parse(Buffer.from(e,"base64url").toString());return typeof t.br=="string"?t.br:null}catch{return null}}var He=Vr(import.meta.url);function ge(e,t,r){let n=e.indexOf(t),s=n!==-1?e[n+1]:void 0;if(!s)throw new Error(`Missing ${t}
14
- Usage: ${r}`);return s}function We(e,t){let r=e.indexOf(t);return r!==-1?e[r+1]:void 0}function se(e){console.log(JSON.stringify(e,null,2));}async function xt(){if(process.stdin.isTTY)return;let e=[];for await(let r of process.stdin)e.push(Buffer.isBuffer(r)?r:Buffer.from(r));let t=Buffer.concat(e).toString("utf-8").trim();if(t)return JSON.parse(t)}async function bh(e){let t=e[0],r=e.slice(1);if(t==="help"||t==="--help"||t==="-h"){console.log("board-live-cards \u2014 see board-live-cards-cli-PARAMS.md for command reference");return}let n=We(r,"--base-ref"),s=We(r,"--notify-channel"),o=n?ke(n):void 0;if(t==="source-data-fetched"){let u=ge(r,"--token","source-data-fetched --token <token> --ref <sourcefile>"),c=ge(r,"--ref","source-data-fetched --token <token> --ref <sourcefile>"),d=Lo(u);if(!d)throw new Error("source-data-fetched: could not decode board ref from token \u2014 is this a valid source token?");let l=ke(d),k=jr(l,Nr(l,He,{onWarn:console.warn,notifyChannel:s}));se(k.sourceDataFetched({params:{token:u,ref:c}}));return}if(t==="source-data-fetch-failure"){let u=ge(r,"--token","source-data-fetch-failure --token <token> [--reason <message>]"),c=Lo(u);if(!c)throw new Error("source-data-fetch-failure: could not decode board ref from token \u2014 is this a valid source token?");let d=ke(c),l=jr(d,Nr(d,He,{onWarn:console.warn,notifyChannel:s})),k={token:u},v=We(r,"--reason");v&&(k.reason=v),se(l.sourceDataFetchFailure({params:k}));return}if(t==="validate-card-preflight"){let u=o??{kind:"fs-path",value:Ze(".")},c=ft(u,Et(u,He,{onWarn:console.warn})),d=await xt();se(c.validateCardPreflight({body:d}));return}if(t==="probe-source-preflight"){let u=ge(r,"--source-idx","probe-source-preflight --source-idx <n>"),c=We(r,"--out-ref"),d=o??{kind:"fs-path",value:Ze(".")},l=ft(d,Et(d,He,{onWarn:console.warn})),k=await xt(),v={sourceIdx:parseInt(u,10)};c&&(v.outRef=c),se(l.probeSourcePreflight({params:v,body:k}));return}if(t==="eval-card-compute"){let u=o??{kind:"fs-path",value:Ze(".")},c=ft(u,Et(u,He,{onWarn:console.warn})),d=await xt();se(c.evalCardCompute({body:d}));return}if(t==="simulate-card-cycle"){let u=o??{kind:"fs-path",value:Ze(".")},c=ft(u,Et(u,He,{onWarn:console.warn})),d=await xt();se(c.simulateCardCycle({body:d}));return}if(t==="probe-tmp-source"){let u=ge(r,"--out-ref","probe-tmp-source --out-ref <ref>"),c=o??{kind:"fs-path",value:Ze(".")},d=ft(c,Et(c,He,{onWarn:console.warn})),l=await xt();se(d.probeTmpSource({params:{outRef:u},body:l}));return}if(!o)throw new Error(`--base-ref is required for command "${t??"(none)"}"`);let a=()=>jr(o,Nr(o,He,{onWarn:console.warn,notifyChannel:s})),i=()=>ft(o,Et(o,He,{onWarn:console.warn}));switch(t){case "init":{let u=ge(r,"--card-store-ref","init --base-ref <ref> --card-store-ref <b64-ref> --outputs-store-ref <b64-ref>"),c=ge(r,"--outputs-store-ref","init --base-ref <ref> --card-store-ref <b64-ref> --outputs-store-ref <b64-ref>"),d=await xt();se(a().init({params:{cardStoreRef:u,outputsStoreRef:c},body:d}));return}case "status":{se(a().status({}));return}case "get-card-store-ref":{se(a().getCardStoreRef({}));return}case "get-outputs-store-ref":{se(a().getOutputsStoreRef({}));return}case "get-outputs":{let u=ge(r,"--type","get-outputs --base-ref <ref> --type <data-object|computed-values> [--key <key>] [--all]"),c=r.includes("--all");if(u==="data-object")if(c)se(a().getAllOutputsDataObjects({}));else {let d=ge(r,"--key","get-outputs --type data-object --base-ref <ref> --key <datakey>");se(a().getOutputsDataObject({params:{key:d}}));}else if(u==="computed-values")if(c)se(a().getAllOutputsComputedValues({}));else {let d=ge(r,"--key","get-outputs --type computed-values --base-ref <ref> --key <card-id>");se(a().getOutputsComputedValues({params:{key:d}}));}else throw new Error(`get-outputs: unknown --type "${u}", expected data-object | computed-values`);return}case "remove-card":{let u=ge(r,"--id","remove-card --base-ref <ref> --id <card-id>");se(a().removeCard({params:{id:u}}));return}case "retrigger":{let u=ge(r,"--id","retrigger --base-ref <ref> --id <card-id>");se(a().retrigger({params:{id:u}}));return}case "process-accumulated-events":{se(await a().processAccumulatedEvents({}));return}case "upsert-card":{let u=We(r,"--card-id"),c=r.includes("--all"),d=r.includes("--restart");if(!u&&!c)throw new Error("upsert-card requires --card-id <id> or --all");let l={};u&&(l.cardId=u),c&&(l.all=true),d&&(l.restart=true),se(a().upsertCard({params:l}));return}case "task-failed":{let c={token:ge(r,"--token","task-failed --base-ref <ref> --token <token> [--error <message>]")},d=We(r,"--error");d&&(c.error=d),se(a().taskFailed({params:c}));return}case "task-progress":{let u=ge(r,"--token","task-progress --base-ref <ref> --token <token> [--update <json>]"),c=We(r,"--update"),d=c?JSON.parse(c):{};se(a().taskProgress({params:{token:u},body:{update:d}}));return}case "validate-card":{let u=We(r,"--card-id"),c=r.includes("--all");if(!u&&!c)throw new Error("validate-card requires --card-id <id> or --all");let d={};u&&(d.cardId=u),c&&(d.all=true),se(i().validateCard({params:d}));return}case "probe-source":{let u=ge(r,"--card-id","probe-source --base-ref <ref> --card-id <id> --source-idx <n> --out-ref <ref>"),c=ge(r,"--source-idx","probe-source --base-ref <ref> --card-id <id> --source-idx <n> --out-ref <ref>"),d=We(r,"--out-ref"),l=await xt(),k={cardId:u,sourceIdx:parseInt(c,10)};d&&(k.outRef=d),se(i().probeSource({params:k,body:l}));return}case "describe-task-executor-capabilities":{se(i().describeTaskExecutorCapabilities({}));return}default:throw new Error(`Unknown command: ${t??"(none)"}`)}}var wh=process.argv[1]&&Ze(process.argv[1])===Ze(new URL(import.meta.url).pathname.replace(/^\/([A-Z]:)/,"$1"));wh&&bh(process.argv.slice(2)).catch(e=>{let t=e instanceof Error?e.message:String(e);console.error(t),process.exit(1);});export{bh as cli};//# sourceMappingURL=board-live-cards-cli.js.map
11
+ `,s=Gr.get(e);if(s&&!s.socket.destroyed){s.ready?s.socket.write(n):s.queue.push(n);return}let o=rd(e),a=na.createConnection(o);s={socket:a,ready:false,queue:[n]},Gr.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)}`),Gr.delete(e);}),a.on("close",()=>{Gr.delete(e);});}function zn(){return {executeSync(e,t,r){return ia({command:e,args:t,cwd:r?.cwd,timeoutMs:r?.timeout,env:r?.env},{encoding:r?.encoding,input:r?.input})},executeAsync(e,t,r){td({command:e,args:t},r);},resolveInvocation(e,t){let r=ed({command:e,args:t});return {cmd:r.command,args:r.args??[]}},splitCommand:aa,spawnDetached(e,t){Ur({command:e,args:t});}}}var la=dirname(fileURLToPath(import.meta.url)),id=createRequire(import.meta.url);function cd(){let e=resolve(la,"./jsonata-sync.cjs");return existsSync(e)?e:resolve(la,"../../card-compute/jsonata-sync.cjs")}var _t=id(cd());function fa(e,t,r){if(!e||typeof e!="object")return {};let n={};if(Array.isArray(e.cmdTemplate)){let s=[];for(let o of e.cmdTemplate)try{s.push(String(_t(o).evaluate(t)));}catch(a){let i=a instanceof Error?a.message:String(a);throw new Error(`[${r}] argsMassaging.cmdTemplate failed on "${o}": ${i}`)}n.cmdArgs=s;}if(typeof e.stdinTemplate=="string")try{n.stdin=_t(e.stdinTemplate).evaluate(t);}catch(s){let o=s instanceof Error?s.message:String(s);throw new Error(`[${r}] argsMassaging.stdinTemplate failed: ${o}`)}if(typeof e.urlTemplate=="string")try{n.url=String(_t(e.urlTemplate).evaluate(t));}catch(s){let o=s instanceof Error?s.message:String(s);throw new Error(`[${r}] argsMassaging.urlTemplate failed: ${o}`)}if(typeof e.headerTemplate=="string")try{let s=_t(e.headerTemplate).evaluate(t);if(typeof s!="object"||s===null)throw new Error(`headerTemplate must produce an object, got: ${JSON.stringify(s)}`);n.headers=s;}catch(s){let o=s instanceof Error?s.message:String(s);throw new Error(`[${r}] argsMassaging.headerTemplate failed: ${o}`)}if(typeof e.bodyTemplate=="string")try{n.body=_t(e.bodyTemplate).evaluate(t);}catch(s){let o=s instanceof Error?s.message:String(s);throw new Error(`[${r}] argsMassaging.bodyTemplate failed: ${o}`)}return n}var dd=createRequire(import.meta.url);function ld(e){return typeof e=="object"?e:Ce(e)}function pa(e){let t=J.basename(String(e||"").trim());if(!t)throw new Error(`resolveYamlFlowCliPath: expected non-empty cli file name, got ${JSON.stringify(e)}`);let r=J.dirname(dd.resolve("yaml-flow/package.json")),n=J.join(r,"cli","node",t);if(!w.existsSync(n))throw new Error(`resolveYamlFlowCliPath: could not find ${t} under ${J.join(r,"cli","node")}`);return n}function Rt(e){let t=ld(e);return t.kind==="yaml-flow-cli"?pa(t.value):t.value}function fd(e,t){let r=Rt(e);switch(r){case "source-cli-task-executor":{let n=J.join(t,"source-cli-task-executor.js");if(w.existsSync(n))return {command:process.execPath,args:[n]};let s=J.join(t,"source-cli-task-executor.ts"),o=J.join(t,"..","..","node_modules","tsx","dist","cli.mjs"),a=J.join(t,"..","..","node_modules",".bin","tsx"),i=w.existsSync(o)?o:a;return w.existsSync(s)&&w.existsSync(i)?{command:process.execPath,args:[i,s]}:{command:process.execPath,args:[n]}}case "board-live-cards":{let{cmd:n,args:s}=Un(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 ma(e,t){if(e.howToRun==="built-in"){let{command:n,args:s}=fd(e.whatToRun,t);return {command:n,baseArgs:s}}let r=(typeof e.whatToRun=="object",Rt(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 pd(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 md(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 Hn(e,t){return ma(e,t)}async function gd(e,t){let r={...t,whatToRun:Rt(e.whatToRun)},n=fa(e.argsMassaging,r,"_invokeTaskExecutorHttp"),s=n.url??Rt(e.whatToRun),o=n.body?n.body:md(t,e.extra),a={"Content-Type":"application/json"},i=n.headers?{...a,...n.headers}:a,u=await fetch(s,{method:e.howToRun==="http:get"?"GET":"POST",headers:i,body:JSON.stringify(o)});if(!u.ok){let d=await u.text().catch(()=>"");return {status:"error",error:`HTTP ${u.status}: ${d}`}}let c=await u.json().catch(()=>null);return c&&typeof c.status=="string"?c:{status:"success"}}function ga(e,t,r){if(e.howToRun==="http:post"||e.howToRun==="http:get"){gd(e,t).catch(i=>{console.error(`[dispatchTaskExecutorDetached] HTTP dispatch failed: ${i.message}`);});return}let{command:s,baseArgs:o}=ma(e,r),a=pd(t,e.extra);Ur({command:s,args:[...o,...a]});}function Qe(e,t){if(process.platform!=="win32"){w.renameSync(e,t);return}let r=[10,20,40,80,160];for(let n=0;n<=r.length;n++)try{w.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 sr(e){function t(s){return J.join(e,...s.split("/"))}function r(s){return J.relative(e,s).replace(/\\/g,"/")}function n(s,o){if(w.existsSync(s))for(let a of w.readdirSync(s,{withFileTypes:true})){let i=J.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(!w.existsSync(o))return null;try{return w.readFileSync(o,"utf-8")}catch{return null}},write(s,o){let a=t(s),i=`${a}.${process.pid}.${randomUUID()}.tmp`;w.mkdirSync(J.dirname(a),{recursive:true}),w.writeFileSync(i,o,"utf-8"),Qe(i,a);},exists(s){return w.existsSync(t(s))},remove(s){let o=t(s);try{w.existsSync(o)&&w.unlinkSync(o);}catch{}},readBytes(s){let o=t(s);if(!w.existsSync(o))return null;try{return new Uint8Array(w.readFileSync(o))}catch{return null}},writeBytes(s,o){let a=t(s),i=`${a}.${process.pid}.${randomUUID()}.tmp`;w.mkdirSync(J.dirname(a),{recursive:true}),w.writeFileSync(i,Buffer.from(o)),Qe(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(!w.existsSync(o))return null;try{let a=w.statSync(o);return {key:s,size:Number(a.size||0),updatedAt:new Date(a.mtimeMs).toISOString()}}catch{return null}}}}function Qn(){return {read(e){if(!w.existsSync(e))return null;try{return w.readFileSync(e,"utf-8")}catch{return null}},write(e,t){let r=`${e}.${process.pid}.${randomUUID()}.tmp`;w.mkdirSync(J.dirname(e),{recursive:true}),w.writeFileSync(r,t,"utf-8"),Qe(r,e);},exists(e){return w.existsSync(e)},remove(e){try{w.existsSync(e)&&w.unlinkSync(e);}catch{}},readBytes(e){if(!w.existsSync(e))return null;try{return new Uint8Array(w.readFileSync(e))}catch{return null}},writeBytes(e,t){let r=`${e}.${process.pid}.${randomUUID()}.tmp`;w.mkdirSync(J.dirname(e),{recursive:true}),w.writeFileSync(r,Buffer.from(t)),Qe(r,e);},stat(e){if(!w.existsSync(e))return null;try{let t=w.statSync(e);return {key:e,size:Number(t.size||0),updatedAt:new Date(t.mtimeMs).toISOString()}}catch{return null}},listKeys(e){return []}}}var Wn="__scratch-marker",Yn="__scratch-config.json",vd=1440*60*1e3,Sd=720*60*1e3,kd=500;function ha(e,t){if(!e)return t;let r=e.replace(/[^A-Za-z0-9._-]/g,"_");return r.length>0?r:t}function Hr(e){w.mkdirSync(e,{recursive:true});let t=J.join(e,Wn),r=J.join(e,Yn),n=!w.existsSync(t);if(n)try{w.writeFileSync(t,`scratch-store
12
+ ${new Date().toISOString()}
13
+ `,"utf-8");}catch{}function s(){if(!w.existsSync(r))return {};try{let c=w.readFileSync(r,"utf-8"),d=JSON.parse(c);return d&&typeof d=="object"&&!Array.isArray(d)?d:{}}catch{return {}}}function o(c){let d=`${r}.${process.pid}.${randomUUID()}.tmp`;try{w.writeFileSync(d,JSON.stringify(c,null,2),"utf-8"),Qe(d,r);}catch{}}if(n){let c=s();typeof c["retention.lastSweepAt"]!="number"&&(c["retention.lastSweepAt"]=Date.now(),o(c));}function a(){if(!w.existsSync(t))return;let c=s(),d=typeof c["retention.maxAgeMs"]=="number"?c["retention.maxAgeMs"]:vd,l=typeof c["retention.sweepIntervalMs"]=="number"?c["retention.sweepIntervalMs"]:Sd;if(d<=0||l<=0)return;let h=typeof c["retention.lastSweepAt"]=="number"?c["retention.lastSweepAt"]:0,y=Date.now();if(y-h<l)return;c["retention.lastSweepAt"]=y,o(c);let m=y;try{let p=w.readdirSync(e,{withFileTypes:!0});for(let S of p){if(Date.now()-m>kd)break;if(!S.isFile()||S.name===Wn||S.name===Yn)continue;let _=J.join(e,S.name);try{let f=w.statSync(_);if(y-f.mtimeMs>d)try{w.unlinkSync(_);}catch{}}catch{}}}catch{}}function i(c,d){let l=ha(c,"scratch"),h=ha(d,".json"),y=h.startsWith(".")?h:`.${h}`,m=`${l}-${Date.now()}-${randomUUID().slice(0,8)}${y}`;return J.join(e,m)}function u(c,d){let l=`${c}.${process.pid}.${randomUUID()}.tmp`;w.mkdirSync(J.dirname(c),{recursive:true}),w.writeFileSync(l,d,"utf-8"),Qe(l,c);}return {read(c){if(!w.existsSync(c))return null;try{return w.readFileSync(c,"utf-8")}catch{return null}},write(c,d){u(c,d);try{a();}catch{}},exists(c){return w.existsSync(c)},remove(c){try{w.existsSync(c)&&w.unlinkSync(c);}catch{}},readBytes(c){if(!w.existsSync(c))return null;try{return new Uint8Array(w.readFileSync(c))}catch{return null}},writeBytes(c,d){let l=`${c}.${process.pid}.${randomUUID()}.tmp`;w.mkdirSync(J.dirname(c),{recursive:true}),w.writeFileSync(l,Buffer.from(d)),Qe(l,c);try{a();}catch{}},stat(c){if(!w.existsSync(c))return null;try{let d=w.statSync(c);return {key:c,size:Number(d.size||0),updatedAt:new Date(d.mtimeMs).toISOString()}}catch{return null}},listKeys(c){try{let d=w.readdirSync(e,{withFileTypes:!0}),l=[];for(let h of d){if(!h.isFile()||h.name===Wn||h.name===Yn)continue;let y=J.join(e,h.name);(!c||y.startsWith(c))&&l.push(y);}return l.sort()}catch{return []}},getUniqueKey(c,d){return i(c,d)},create(c,d,l){let h=i(d,l);u(h,c);try{a();}catch{}return h},keyRef(c){return {kind:"fs-path",value:c}},config:{get(c){return s()[c]??null},set(c,d){let l=s();d==null?delete l[c]:l[c]=d,o(l);}}}}var bd="__archive-marker",wd="__archive-config.json",Jr="streams",zr="blobs",_d=500;function ya(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"_");if(!t)throw new Error("Archive segment name cannot be empty after sanitization");return t}function Wr(e){w.mkdirSync(e,{recursive:true}),w.mkdirSync(J.join(e,Jr),{recursive:true}),w.mkdirSync(J.join(e,zr),{recursive:true});let t=J.join(e,bd),r=J.join(e,wd);if(!w.existsSync(t))try{w.writeFileSync(t,`archive-store
14
+ ${new Date().toISOString()}
15
+ `,"utf-8");}catch{}function n(){if(!w.existsSync(r))return {};try{let a=w.readFileSync(r,"utf-8"),i=JSON.parse(a);return i&&typeof i=="object"&&!Array.isArray(i)?i:{}}catch{return {}}}function s(a){let i=`${r}.${process.pid}.${randomUUID()}.tmp`;try{w.writeFileSync(i,JSON.stringify(a,null,2),"utf-8"),Qe(i,r);}catch{}}function o(){if(!w.existsSync(t))return;let a=n(),i=typeof a["retention.maxAgeMs"]=="number"?a["retention.maxAgeMs"]:0,u=typeof a["retention.sweepIntervalMs"]=="number"?a["retention.sweepIntervalMs"]:0;if(i<=0||u<=0)return;let c=typeof a["retention.lastSweepAt"]=="number"?a["retention.lastSweepAt"]:0,d=Date.now();if(d-c<u)return;a["retention.lastSweepAt"]=d,s(a);let l=d,h=y=>{let m;try{m=w.readdirSync(y,{withFileTypes:!0});}catch{return}for(let p of m){if(Date.now()-l>_d)return;let S=J.join(y,p.name);if(p.isDirectory()){h(S);continue}if(p.isFile())try{let _=w.statSync(S);if(d-_.mtimeMs>i)try{w.unlinkSync(S);}catch{}}catch{}}};h(J.join(e,Jr)),h(J.join(e,zr));}return {stream(a){let i=ya(a),u=J.join(e,Jr,`${i}.jsonl`),c=va(u);return {append(d){let l=c.append(d);try{o();}catch{}return l},readAll:()=>c.readAll(),readAfter:d=>c.readAfter(d),clear:()=>{c.clear&&c.clear();}}},blob(a){let i=ya(a),u=J.join(e,zr,i);w.mkdirSync(u,{recursive:true});let c=sr(u);return {read:d=>c.read(d),write:(d,l)=>{c.write(d,l);try{o();}catch{}},exists:d=>c.exists(d),remove:d=>c.remove(d),readBytes:c.readBytes?d=>c.readBytes(d):void 0,writeBytes:c.writeBytes?(d,l)=>{c.writeBytes(d,l);try{o();}catch{}}:void 0,listKeys:d=>c.listKeys(d),stat:c.stat?d=>c.stat(d):void 0}},listStreams(a){let i=J.join(e,Jr);try{return w.readdirSync(i,{withFileTypes:!0}).filter(u=>u.isFile()&&u.name.endsWith(".jsonl")).map(u=>u.name.slice(0,-6)).filter(u=>!a||u.startsWith(a)).sort()}catch{return []}},listBlobs(a){let i=J.join(e,zr);try{return w.readdirSync(i,{withFileTypes:!0}).filter(u=>u.isDirectory()).map(u=>u.name).filter(u=>!a||u.startsWith(a)).sort()}catch{return []}},config:{get(a){return n()[a]??null},set(a,i){let u=n();i==null?delete u[a]:u[a]=i,s(u);}}}}function Zn(e){function t(n){return J.join(e,...n.split("/"))+".json"}function r(n,s,o,a){if(w.existsSync(n))for(let i of w.readdirSync(n,{withFileTypes:true})){let u=s?`${s}/${i.name}`:i.name;if(i.isDirectory()){r(J.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(!w.existsSync(s))return null;try{return JSON.parse(w.readFileSync(s,"utf-8"))}catch{return null}},write(n,s){let o=t(n),a=`${o}.${process.pid}.${randomUUID()}.tmp`;w.mkdirSync(J.dirname(o),{recursive:true}),w.writeFileSync(a,JSON.stringify(s,null,2),"utf-8"),Qe(a,o);},delete(n){let s=t(n);try{w.existsSync(s)&&w.unlinkSync(s);}catch{}},listKeys(n){let s=[];return r(e,"",n,s),s.sort()}}}function va(e){function t(){if(!w.existsSync(e))return [];let r=w.readFileSync(e,"utf-8").trim();return r?r.split(`
16
+ `).filter(Boolean).map(n=>JSON.parse(n)):[]}return {append(r){let n={id:randomUUID(),payload:r};return w.mkdirSync(J.dirname(e),{recursive:true}),w.appendFileSync(e,JSON.stringify(n)+`
17
+ `,"utf-8"),n},readAll(){return t()},readAfter(r){let n=t();if(!r)return {entries:n,newCursor:n.length>0?n[n.length-1].id:null};let s=n.findIndex(a=>a.id===r),o=s===-1?n:n.slice(s+1);return {entries:o,newCursor:o.length>0?o[o.length-1].id:r}},clear(){w.existsSync(e)&&w.truncateSync(e,0);}}}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 Sa(e){return createHash("sha256").update(Xn(e)).digest("hex")}function ka(e){let t=J.join(e,"board-journal.jsonl");return {readAllEntries(){if(!w.existsSync(t))return [];let r=w.readFileSync(t,"utf-8").trim();return r?r.split(`
18
+ `).filter(Boolean).map(n=>JSON.parse(n)):[]},appendEntry(r){w.appendFileSync(t,JSON.stringify(r)+`
19
+ `,"utf-8");},generateId(){return randomUUID()}}}function ba(e){return {tryAcquire(){try{if(!w.existsSync(e)){w.mkdirSync(J.dirname(e),{recursive:!0});try{w.writeFileSync(e,"{}",{flag:"wx"});}catch{}}return lockSync(e,{retries:0})}catch{return null}}}}var wa={$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 Qc=Ju(Wc());var eh=createRequire(import.meta.url),th=eh("./jsonata-sync.cjs"),In=null;var Yc=/\b(card_data|requires|fetched_sources|computed_values|source_defs)\b/g,rh=/^\s*(card_data|requires|fetched_sources|computed_values|source_defs)(\.|$)/;function nh(e){let t=new Set,r;for(Yc.lastIndex=0;(r=Yc.exec(e))!==null;)t.add(r[1]);return t}function Zc(e){let t=rh.exec(e);return t?t[1]:null}function Xc(e,t,r,n){try{th(e);}catch(o){let a=o instanceof Error?o.message:String(o);n.push(`${t}: invalid JSONata expression (${a})`);return}let s=nh(e);for(let o of s)r.has(o)||n.push(`${t}: disallowed namespace "${o}" in expression`);}function Mo(e,t,r){if(Array.isArray(e)){e.forEach((s,o)=>{Mo(s,`${t}/${o}`,r);});return}if(typeof e=="string"){let s=Zc(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))Mo(o,`${t}/${s}`,r);}function sh(){if(In)return In;let e=new Qc.default({allErrors:true});return Qg(e),In=e.compile(wa),In}function eu(e){let t=sh(),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 tu(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,d)=>{if(!c||typeof c!="object"||Array.isArray(c))return;let l=c.expr;typeof l!="string"||l.trim().length===0||Xc(l,`/compute/${d}/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,d)=>{if(!c||typeof c!="object"||Array.isArray(c))return;let l=c.ref;if(typeof l!="string"||l.trim().length===0)return;let h=Zc(l);h===null?t.push(`/provides/${d}/ref: path "${l}" must start with a valid namespace (${[...s].join(", ")})`):s.has(h)||t.push(`/provides/${d}/ref: disallowed namespace "${h}" in path "${l}" (valid: ${[...s].join(", ")})`);});let a=r.view;a&&typeof a=="object"&&!Array.isArray(a)&&Mo(a,"/view",t);let i=new Set(["card_data","requires"]),u=r.source_defs;return Array.isArray(u)&&u.forEach((c,d)=>{if(!c||typeof c!="object"||Array.isArray(c))return;let l=c.projections;if(!(!l||typeof l!="object"||Array.isArray(l)))for(let[h,y]of Object.entries(l))typeof y!="string"||y.trim().length===0||Xc(y,`/source_defs/${d}/projections/${h}`,i,t);}),{ok:t.length===0,errors:t}}function Lo(e){let t=eu(e);if(!t.ok)return t;let r=tu(e);return r.ok?{ok:true,errors:[]}:{ok:false,errors:r.errors}}var gt={RUNNING:"running",COMPLETED:"completed",FAILED:"failed",INACTIVATED:"inactivated"};function Oe(e){return e?Array.isArray(e.provides)?e.provides:[]:[]}function ht(e){return e?Array.isArray(e.requires)?e.requires:[]:[]}function ru(e){return e.tasks??{}}function Vo(e){return e?e.status===gt.FAILED||e.status===gt.INACTIVATED:false}function nu(e,t){return e.refreshStrategy??t?.refreshStrategy??"data-changed"}function su(e){return e.maxExecutions}function ou(e,t){let r=new Set;for(let[n,s]of Object.entries(t))if(s.status===gt.COMPLETED){let o=e.tasks[n];o&&Oe(o).forEach(i=>r.add(i));}return Array.from(r)}function au(e,t){let r={};return e.forEach(n=>{let s=t[n];if(!s)return;Oe(s).forEach(a=>{r[a]||(r[a]=[]),r[a].push(n);});}),r}function iu(e,t,r){let n=e.tasks[t]??On(),s={};if(r){let a=r.tasks[t],i=ht(a);for(let u of i)for(let[c,d]of Object.entries(r.tasks))if(Oe(d).includes(u)){let l=e.tasks[c];l?.lastDataHash&&(s[u]=l.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 cu(e,t,r,n,s,o){let a=e.tasks[r]??On(),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=Oe(i);let c=a.startConsumedHashes?{...a.startConsumedHashes}:{...a.lastConsumedHashes};if(!a.startConsumedHashes){let h=i.requires??[];for(let y of h)for(let[m,p]of Object.entries(t.tasks))if(Oe(p).includes(y)){let S=e.tasks[m];S?.lastDataHash&&(c[y]=S.lastDataHash);break}}let d={...a,status:"completed",completedAt:new Date().toISOString(),lastUpdated:new Date().toISOString(),executionCount:a.executionCount+1,lastEpoch:a.executionCount+1,lastDataHash:s,data:o,lastConsumedHashes:c,error:void 0},l=[...new Set([...e.availableOutputs,...u])];return {...e,tasks:{...e.tasks,[r]:d},availableOutputs:l,lastUpdated:new Date().toISOString()}}function uu(e,t,r,n){let s=e.tasks[r]??On(),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 du(e,t,r,n){let s=e.tasks[t]??On(),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 lu(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 On(){return {status:"not-started",executionCount:0,retryCount:0,lastEpoch:0,messages:[],progress:null}}function Pn(e,t){let r=`live-${Date.now()}`,n={};for(let o of Object.keys(e.tasks))n[o]=pu();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 oh(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:iu(n,t.taskName,r)};case "task-completed":return {config:r,state:cu(n,r,t.taskName,t.result,t.dataHash,t.data)};case "task-failed":return {config:r,state:uu(n,r,t.taskName,t.error)};case "task-progress":return {config:r,state:du(n,t.taskName,t.message,t.progress)};case "task-restart":return {config:r,state:lu(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 ah(e,t.taskName,t.taskConfig);case "task-removal":return ih(e,t.taskName);case "node-requires-add":return ch(e,t.nodeName,t.tokens);case "node-requires-remove":return uh(e,t.nodeName,t.tokens);case "node-provides-add":return dh(e,t.nodeName,t.tokens);case "node-provides-remove":return lh(e,t.nodeName,t.tokens);default:return e}}function fu(e,t){return t.reduce((r,n)=>oh(r,n),e)}function ah(e,t,r){let n=!!e.config.tasks[t];return {config:{...e.config,tasks:{...e.config.tasks,[t]:r}},state:{...e.state,tasks:{...e.state.tasks,[t]:n?e.state.tasks[t]:pu()},lastUpdated:new Date().toISOString()}}}function ih(e,t){if(!e.config.tasks[t])return e;let{[t]:r,...n}=e.config.tasks,{[t]:s,...o}=e.state.tasks;return {config:{...e.config,tasks:n},state:{...e.state,tasks:o,lastUpdated:new Date().toISOString()}}}function ch(e,t,r){let n=e.config.tasks[t];if(!n)return e;let s=ht(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 uh(e,t,r){let n=e.config.tasks[t];if(!n)return e;let s=ht(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 dh(e,t,r){let n=e.config.tasks[t];if(!n)return e;let s=Oe(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 lh(e,t,r){let n=e.config.tasks[t];if(!n)return e;let s=Oe(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 Pr(e){return {version:1,config:e.config,state:e.state,snapshotAt:new Date().toISOString()}}function jn(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 pu(){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 jr(e){let{config:t,state:r}=e,n=ru(t);if(Object.keys(n).length===0)return {eligible:[],pending:[],unresolved:[],blocked:[],conflicts:{}};let o=ph(n),a=ou(t,r.tasks),i=new Set([...a,...r.availableOutputs]),u=[],c=[],d=[],l=[];for(let[y,m]of Object.entries(n)){let p=r.tasks[y],S=nu(m,t.settings),_=S!=="once";if(p?.status===gt.RUNNING||Vo(p))continue;let f=su(m);if(f!==void 0&&p&&p.executionCount>=f||m.circuit_breaker&&p&&p.executionCount>=m.circuit_breaker.max_executions||!_&&p?.status===gt.COMPLETED)continue;if(_&&p?.status===gt.COMPLETED){let R=ht(m),E=false;switch(S){case "data-changed":{R.length>0&&R.some(P=>{for(let[B,W]of Object.entries(n))if(Oe(W).includes(P)){let Z=r.tasks[B];if(!Z)continue;let fe=p.lastConsumedHashes?.[P];return Z.lastDataHash==null?Z.executionCount>p.lastEpoch:Z.lastDataHash!==fe}return false})||(E=true);break}case "epoch-changed":{R.length>0&&R.some(P=>{for(let[B,W]of Object.entries(n))if(Oe(W).includes(P)){let Z=r.tasks[B];if(Z&&Z.executionCount>p.lastEpoch)return true}return false})||(E=true);break}case "time-based":{let I=m.refreshInterval??0;if(I<=0){E=true;break}let P=p.completedAt;if(!P){E=true;break}(Date.now()-Date.parse(P))/1e3<I&&(E=true);break}case "manual":E=true;break}if(E)continue}let g=ht(m);if(g.length===0){u.push(y);continue}let k=[],b=[],$=[];for(let R of g){if(i.has(R))continue;let E=o[R]||[];E.length===0?k.push(R):E.every(P=>Vo(r.tasks[P]))?$.push({token:R,failedProducer:E[0]}):b.push(R);}k.length>0?d.push({taskName:y,missingTokens:k}):$.length>0?l.push({taskName:y,failedTokens:$.map(R=>R.token),failedProducers:[...new Set($.map(R=>R.failedProducer))]}):b.length>0?c.push({taskName:y,waitingOn:b}):u.push(y);}let h={};if(u.length>1){let y=au(u,n);for(let[m,p]of Object.entries(y))p.length>1&&(h[m]=p);}return {eligible:u,pending:c,unresolved:d,blocked:l,conflicts:h}}function ph(e){let t={};for(let[r,n]of Object.entries(e)){for(let s of Oe(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 Nr=class{buffer=[];append(t){this.buffer.push(t);}drain(){let t=this.buffer;return this.buffer=[],t}get size(){return this.buffer.length}};function Bo(e){let t=Go(e);return mh(t)}function Go(e){if(e==null||typeof e!="object")return JSON.stringify(e);if(Array.isArray(e))return "["+e.map(Go).join(",")+"]";let t=e;return "{"+Object.keys(t).sort().map(n=>JSON.stringify(n)+":"+Go(t[n])).join(",")+"}"}function mh(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 gh(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 hh(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 mu(e){let t=JSON.stringify({t:e,n:Date.now().toString(36)+Math.random().toString(36).slice(2,6)});return gh(t)}function yh(e){try{let t=JSON.parse(hh(e));return typeof t?.t=="string"?{taskName:t.t}:null}catch{return null}}function gu(e,t,r){let{handlers:n,onDrain:s}=t,o=new Nr,a="state"in e&&"config"in e?e:Pn(e),i=false,u=new Set,c=new Map(Object.entries(n)),d=new Nr,l=false,h=false;function y(){if(!i){if(l){h=true;return}l=true;try{do h=!1,m();while(h)}finally{l=false;}}}function m(){let f=d.drain(),g=o.drain(),k=[...f,...g];k.length>0&&(a=fu(a,k));let b=jr(a);k.length>0&&s?.(k,a,b);for(let $ of b.eligible)_($);for(let $ of k)if($.type==="task-progress"){let{taskName:R,update:E}=$;if(!a.config.tasks[R])continue;let P=a.state.tasks[R];if(!P||P.status!=="running")continue;let B=mu(R),W=S(R,B,E).catch(Z=>{i||(d.append({type:"task-failed",taskName:R,error:Z.message??String(Z),timestamp:new Date().toISOString()}),y());}).finally(()=>{u.delete(W);});u.add(W);}}function p(f){let k=a.config.tasks[f].requires??[],b=new Map;for(let[R,E]of Object.entries(a.config.tasks))for(let I of E.provides??[])b.set(I,R);let $={};for(let R of k){let E=b.get(R);E?$[R]=a.state.tasks[E]?.data:$[R]=void 0;}return $}async function S(f,g,k){let b=a.config.tasks[f],$=b.taskHandlers??[],R=p(f);for(let E of $){let I=c.get(E);if(!I)throw new Error(`Handler '${E}' not found in registry (task '${f}')`);let P={nodeId:f,state:R,taskState:a.state.tasks[f],config:b,callbackToken:g,update:k};if(await I(P)==="task-initiate-failure")throw new Error(`Handler '${E}' returned task-initiate-failure (task '${f}')`)}}function _(f){let k=a.config.tasks[f]?.taskHandlers;if(!k||k.length===0)return;d.append({type:"task-started",taskName:f,timestamp:new Date().toISOString()}),y();let b=mu(f),$=S(f,b).catch(R=>{i||(d.append({type:"task-failed",taskName:f,error:R.message??String(R),timestamp:new Date().toISOString()}),y());}).finally(()=>{u.delete($);});u.add($);}return {push(f){i||(f.type==="task-completed"&&f.data&&!f.dataHash&&(f={...f,dataHash:Bo(f.data)}),o.append(f),y());},pushAll(f){if(!i){for(let g of f)g.type==="task-completed"&&g.data&&!g.dataHash?o.append({...g,dataHash:Bo(g.data)}):o.append(g);y();}},resolveCallback(f,g,k){if(i)return;let b=yh(f);if(!b)return;let{taskName:$}=b;if(a.config.tasks[$]){if(k&&k.length>0)o.append({type:"task-failed",taskName:$,error:k.join("; "),timestamp:new Date().toISOString()});else {let R=g&&Object.keys(g).length>0?Bo(g):void 0;o.append({type:"task-completed",taskName:$,data:g,dataHash:R,timestamp:new Date().toISOString()});}y();}},addNode(f,g){i||(o.append({type:"task-upsert",taskName:f,taskConfig:g,timestamp:new Date().toISOString()}),y());},removeNode(f){i||(o.append({type:"task-removal",taskName:f,timestamp:new Date().toISOString()}),y());},addRequires(f,g){i||(o.append({type:"node-requires-add",nodeName:f,tokens:g,timestamp:new Date().toISOString()}),y());},removeRequires(f,g){i||(o.append({type:"node-requires-remove",nodeName:f,tokens:g,timestamp:new Date().toISOString()}),y());},addProvides(f,g){i||(o.append({type:"node-provides-add",nodeName:f,tokens:g,timestamp:new Date().toISOString()}),y());},removeProvides(f,g){i||(o.append({type:"node-provides-remove",nodeName:f,tokens:g,timestamp:new Date().toISOString()}),y());},registerHandler(f,g){c.set(f,g);},unregisterHandler(f){c.delete(f);},retrigger(f){i||a.config.tasks[f]&&(o.append({type:"task-restart",taskName:f,timestamp:new Date().toISOString()}),y());},retriggerAll(f){if(!i){for(let g of f)a.config.tasks[g]&&o.append({type:"task-restart",taskName:g,timestamp:new Date().toISOString()});y();}},snapshot(){return Pr(a)},getState(){return a},getSchedule(){return jr(a)},async waitForHandlers(){u.size>0&&await Promise.allSettled([...u]);},async dispose(f){f?.wait&&u.size>0&&await Promise.allSettled([...u]),i=true;}}}var Sh=createRequire(import.meta.url),Nn=Sh("./jsonata-sync.cjs"),vu=Nn;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 Su(e,t,r){let n=t.split("."),s=e;for(let o=0;o<n.length-1;o++)(s[n[o]]==null||typeof s[n[o]]!="object")&&(s[n[o]]={}),s=s[n[o]];s[n[n.length-1]]=r;}async function kh(e,t){if(!e?.compute?.length)return e;e.card_data||(e.card_data={}),e.computed_values={},e._sourcesData=t?.sourcesData??{};let r=e.requires??{},n={card_data:e.card_data,requires:r,expects_data:r,fetched_sources:e._sourcesData,data:e.computed_values,computed_values:e.computed_values};for(let s of e.compute)try{let o=await Nn(s.expr).evaluate(n);Su(e.computed_values,s.bindTo,o),n.computed_values=e.computed_values;}catch{}return e}function bh(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=vu(o.expr).evaluate(n);Su(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});}return s.length>0?{ok:true,node:e,errors:s}:{ok:true,node:e}}async function wh(e,t,r){let n={...r??{},card_data:t.card_data??{},requires:t.requires??{},fetched_sources:t._sourcesData??{},computed_values:t.computed_values??{}};return Nn(e).evaluate(n)}function _h(e,t){return t.startsWith("fetched_sources.")?hu(e._sourcesData??{},t.slice(16)):hu(e,t)}var yu=new Set(["metric","table","editable-table","chart","form","filter","list","notes","todo","alert","narrative","badge","text","markdown","ref","custom","actions"]),Rh=new Set(["id","meta","requires","provides","view","card_data","compute","source_defs"]);function Ch(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))Rh.has(n)||t.push(`Unknown top-level key: "${n}"`);if((r.card_data==null||typeof r.card_data!="object"||Array.isArray(r.card_data))&&t.push("card_data: required, must be an object"),r.meta!=null)if(typeof r.meta!="object"||Array.isArray(r.meta))t.push("meta: must be an object");else {let n=r.meta;n.title!=null&&typeof n.title!="string"&&t.push("meta.title: must be a string"),n.tags!=null&&!Array.isArray(n.tags)&&t.push("meta.tags: must be an array");}if(r.requires!=null&&!Array.isArray(r.requires)&&t.push("requires: must be an array of strings"),r.provides!=null&&(Array.isArray(r.provides)?r.provides.forEach((n,s)=>{if(!n||typeof n!="object"||Array.isArray(n))t.push(`provides[${s}]: must be an object with bindTo and ref`);else {let o=n;(typeof o.bindTo!="string"||!o.bindTo)&&t.push(`provides[${s}]: missing required "bindTo" string`),(typeof o.ref!="string"||!o.ref)&&t.push(`provides[${s}]: missing required "ref" string`);}}):t.push("provides: must be an array of { bindTo, ref } bindings")),r.compute!=null&&(Array.isArray(r.compute)?r.compute.forEach((n,s)=>{if(!n||typeof n!="object"||Array.isArray(n))t.push(`compute[${s}]: must be a compute step object`);else {let o=n;(typeof o.bindTo!="string"||!o.bindTo)&&t.push(`compute[${s}]: missing required "bindTo" property`),(typeof o.expr!="string"||!o.expr)&&t.push(`compute[${s}]: missing required "expr" string (JSONata expression)`);}}):t.push("compute: must be an array of compute steps")),r.source_defs!=null)if(!Array.isArray(r.source_defs))t.push("source_defs: must be an array");else {let n=new Set,s=new Set;r.source_defs.forEach((o,a)=>{if(!o||typeof o!="object"||Array.isArray(o))t.push(`source_defs[${a}]: must be an object`);else {let i=o;typeof i.bindTo!="string"||!i.bindTo?t.push(`source_defs[${a}]: missing required "bindTo" property`):(n.has(i.bindTo)&&t.push(`source_defs[${a}]: bindTo "${i.bindTo}" is not unique across source_defs`),n.add(i.bindTo)),typeof i.outputFile!="string"||!i.outputFile?t.push(`source_defs[${a}]: missing required "outputFile" property`):(s.has(i.outputFile)&&t.push(`source_defs[${a}]: outputFile "${i.outputFile}" is not unique across source_defs`),s.add(i.outputFile)),i.optionalForCompletionGating!=null&&typeof i.optionalForCompletionGating!="boolean"&&t.push(`source_defs[${a}]: optionalForCompletionGating must be a boolean`);}});}if(r.view!=null)if(typeof r.view!="object"||Array.isArray(r.view))t.push("view: must be an object");else {let n=r.view;!Array.isArray(n.elements)||n.elements.length===0?t.push("view.elements: required, must be a non-empty array"):n.elements.forEach((s,o)=>{if(!s||typeof s!="object"){t.push(`view.elements[${o}]: must be an object`);return}!s.kind||typeof s.kind!="string"?t.push(`view.elements[${o}].kind: required, must be a string`):yu.has(s.kind)||t.push(`view.elements[${o}].kind: unknown kind "${s.kind}". Valid: ${[...yu].join(", ")}`),s.data!=null&&(typeof s.data!="object"||Array.isArray(s.data))&&t.push(`view.elements[${o}].data: must be an object`);}),n.layout!=null&&(typeof n.layout!="object"||Array.isArray(n.layout))&&t.push("view.layout: must be an object"),n.features!=null&&(typeof n.features!="object"||Array.isArray(n.features))&&t.push("view.features: must be an object");}return {ok:t.length===0,errors:t}}async function $h(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 Nn(a).evaluate(r);}catch{s[o]=void 0;}}return {...n,_projections:s}}))}function Eh(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]=vu(a).evaluate(r);}catch{s[o]=void 0;}}return {...n,_projections:s}})}var yt={run:kh,runSync:bh,eval:wh,resolve:_h,validate:Ch,enrichSources:$h,enrichSourcesSync:Eh};function Ko(e){return JSON.stringify(e)}function Uo(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}function qn(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 d=0;d<i.length-1;d++){let l=i[d],h=c[l],y=h&&typeof h=="object"&&!Array.isArray(h)?{...h}:{};c[l]=y,c=y;}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 d=n(c,o,a),l=e.writeCard(u.key,d);i[s]={key:u.key,checksum:l,updatedAt:new Date().toISOString()},e.writeIndex(i);},removeCard(s){let o=r();o[s]&&(delete o[s],e.writeIndex(o));},readIndex(){return r()}}}function Jo(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 Ru(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 Cu(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 qr="v1",vt="board/graph",$u="board/lastJournalProcessedId";function ku(e){return `cards/${e}/runtime`}function Eu(e){return {readRuntime(t){return e.read(ku(t))??{_sources:{}}},writeRuntime(t,r){e.write(ku(t),r);}}}function xh(e,t){let r={...e};for(let n of t.deleteKeys)delete r[n];return {...r,...t.shallowMerge}}function xu(e){return {readSnapshot(t){return e.readValues(t)},commitSnapshot(t,r){if(r.schemaVersion!==qr)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=xh(n.values,r);return {ok:true,newVersion:e.writeValues(t,s,r.deleteKeys)}}}}function zo(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 Uo(r.trim())},writeTaskExecutorRef(r){e.write("task-executor",Ko(r));},readChatHandlerFlow(){return e.read("chat-handler-flow")},writeChatHandlerFlow(r){e.write("chat-handler-flow",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);},readScratchStoreRef(){return t("scratch-store-ref")},writeScratchStoreRef(r){e.write("scratch-store-ref",r);},readArchiveStoreRef(){return t("archive-store-ref")},writeArchiveStoreRef(r){e.write("archive-store-ref",r);}}}function Tu(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 bu(e){return e?{lastRequestedToken:e.lastRequestedToken,lastCompletedToken:e.lastCompletedToken,lastCompletionStatus:e.lastCompletionStatus??(e.lastCompletedToken?"success":"not-started"),queueRequestedToken:e.queueRequestedToken}:{lastCompletionStatus:"not-started"}}function Th(e){return e?.lastRequestedToken?e.lastCompletedToken!==e.lastRequestedToken:false}function wu(e,t){return e?.lastRequestedToken?Th(e)?"in-flight":!e.lastCompletedToken||e.lastCompletedToken<t?"dispatch":"idle":"dispatch"}function Ah(e,t){return {...e,lastCompletedToken:t,lastCompletionStatus:"success"}}function _u(e,t){return {...e,lastCompletedToken:t,lastCompletionStatus:"failure"}}function Fn(e,t){let r=t.state.tasks,n=t.config.tasks,s=Object.keys(r),o=jr(t),a={completed:0,failed:0,in_progress:0,pending:0,blocked:0,unresolved:0},i=new Map;for(let m of o.pending)i.set(m.taskName,m.waitingOn);for(let m of o.unresolved)i.set(m.taskName,m.missingTokens);for(let m of o.blocked)i.set(m.taskName,m.failedTokens);let u=new Map;for(let[m,p]of Object.entries(n))for(let S of p.requires??[]){let _=u.get(S)??[];_.push(m),u.set(S,_);}let c=s.sort().map(m=>{let p=r[m],S=n[m]??{requires:[],provides:[]};p.status==="completed"?a.completed+=1:p.status==="failed"?a.failed+=1:p.status==="in-progress"&&(a.in_progress+=1);let _=S.requires??[],f=S.provides??[],g=Object.keys(p.data??{}).sort(),k=_.filter(P=>t.state.availableOutputs.includes(P)),b=_.filter(P=>!t.state.availableOutputs.includes(P)),$=i.get(m)??b,R=new Set;for(let P of f)for(let B of u.get(P)??[])B!==m&&R.add(B);let E=p.failedAt,I=p.error?{message:p.error,code:"TASK_FAILED",at:E,source:"task-runtime"}:void 0;return {name:m,status:p.status,error:I,requires:_,requires_satisfied:k,requires_missing:b,provides_declared:f,provides_runtime:g,blocked_by:$,unblocks:Array.from(R).sort(),runtime:{attempt_count:p.executionCount??0,restart_count:p.retryCount??0,in_progress_since:p.status==="in-progress"?p.startedAt??null:null,last_transition_at:p.lastUpdated??null,last_completed_at:p.completedAt??null,last_restarted_at:p.startedAt??null,status_age_ms:p.lastUpdated?0:null}}});a.pending=o.pending.length,a.blocked=o.blocked.length,a.unresolved=o.unresolved.length;let d=c.map(m=>({name:m.name,fanOut:m.unblocks.length})).sort((m,p)=>p.fanOut-m.fanOut||m.name.localeCompare(p.name)),l=d.length>0?d[0]:{name:null,fanOut:0},h=new Set;for(let m of Object.values(n))for(let p of m.requires??[])h.add(p);let y=0;for(let[m,p]of Object.entries(n)){let S=(p.requires??[]).length===0,f=(p.provides??[]).some(g=>(u.get(g)??[]).some(k=>k!==m));S&&!f&&(y+=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:y,topology:{edge_count:Array.from(h).length,max_fan_out_card:l.name,max_fan_out:l.fanOut}},cards:c}}function Ih(){return new Date().toISOString()}function Au(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 d=c.id,l=c.card_data??{},h=c.source_defs??[],y=h.filter(D=>D.optionalForCompletionGating!==true),m=r.cardRuntimeStore.readRuntime(d),p=false,S=()=>{p&&(r.cardRuntimeStore.writeRuntime(d,m),p=false);},_=D=>bu(m._sources[D]),f=(D,M)=>{m._sources[D]=bu(M),p=true;},g=i.taskState?.executionCount??0;if(m._lastExecutionCount!==g&&(m._sources={},m._lastExecutionCount=g,p=true),i.update){let D=i.update,M=D.outputFile;if(M){let ne=_(M);if(D.failure){let X=D.rqt??ne.lastRequestedToken??ne.queueRequestedToken;X&&f(M,_u(ne,X));}else {let X=D.rqt;if(!ne.lastCompletedToken||X>ne.lastCompletedToken){let C=typeof D.deliveryToken=="string"?D.deliveryToken:void 0,v=false;C&&(v=r.fetchedSourcesStore.commitSourceData(d,M,C)),v?f(M,Ah(ne,X)):f(M,_u(ne,X));}}S();}}let b={};for(let D of h)if(D.outputFile){let M=r.fetchedSourcesStore.readSourceData(d,D.outputFile);M!==null&&(b[D.bindTo]=M);}let $={};for(let[D,M]of Object.entries(i.state??{}))if(M!==null&&typeof M=="object"&&!Array.isArray(M)){let ne=M[D];$[D]=ne!==void 0?ne:M;}else $[D]=M;let R={id:d,card_data:{...l},requires:$,source_defs:h,compute:c.compute};R._sourcesData=b,c.compute&&yt.runSync(R,{sourcesData:b}),(o??r.outputStore.writeComputedValues.bind(r.outputStore))(d,R.computed_values??{});let E={...c},I=yt.enrichSourcesSync(Array.isArray(c.source_defs)?c.source_defs:void 0,{card_data:c.card_data,requires:$}),P=e.value;E.source_defs=Array.isArray(I)?I.map(D=>({...D,boardDir:typeof D.boardDir=="string"&&D.boardDir?D.boardDir:P})):I;let B=Ih(),W=i.update?void 0:B,Z=y.filter(D=>{let M=D.outputFile;if(typeof M!="string"||!M)return true;let ne=_(M);W&&(ne={...ne,queueRequestedToken:W},f(M,ne));let X=ne.queueRequestedToken??ne.lastRequestedToken??B,C=wu(ne,X);return C==="in-flight"?false:C==="dispatch"});if(S(),Z.length>0){let D=false,M=B;for(let ne of Z){let X=ne.outputFile;if(typeof X!="string"||!X)continue;let C=_(X),v=C.queueRequestedToken??B;f(X,{...C,lastRequestedToken:v}),M=v,D=true;}return D&&S(),D&&(u.push({taskKind:"source-fetch",payload:{boardRef:de(e),enrichedCard:E,callbackToken:i.callbackToken,rqt:M}}),r.executionRequestStore.appendEntries(t,u)),"task-initiated"}if(y.some(D=>{let M=D.outputFile;if(typeof M!="string"||!M)return false;let ne=_(M),X=ne.queueRequestedToken??ne.lastRequestedToken??B;return wu(ne,X)==="in-flight"}))return "task-initiated";let Pe=c.provides??[],Re={};for(let{bindTo:D,ref:M}of Pe)Re[D]=yt.resolve(R,M);return (a??r.outputStore.writeDataObjects.bind(r.outputStore))(Re),h.filter(D=>{if(D.optionalForCompletionGating!==true)return false;let M=_(D.outputFile);return !M.lastRequestedToken||!M.lastCompletedToken?true:M.lastCompletedToken<=M.lastRequestedToken}).length>0&&u.push({taskKind:"source-fetch",payload:{boardRef:de(e),enrichedCard:E,callbackToken:i.callbackToken,rqt:B}}),n(i.nodeId,Re),u.length>0&&r.executionRequestStore.appendEntries(t,u),"task-initiated"}}var Dn={settings:{completion:"manual",refreshStrategy:"data-changed"},tasks:{}};function Iu(e){return {[vt]:e.graph,[$u]:e.lastDrainedJournalId}}function Ou(e){let t=e[vt],r=e[$u];if(!t||typeof t!="object")throw new Error(`State snapshot is missing required key: ${vt}`);return {graph:t,lastDrainedJournalId:typeof r=="string"?r:""}}function Pu(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 Q(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 Oh(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 Nu(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 Mn(e){try{let t=JSON.parse(Nu(e));return typeof t?.t=="string"?{taskName:t.t}:null}catch{return null}}function Ph(e){return Oh(JSON.stringify(e))}function ju(e){try{let t=JSON.parse(Nu(e));return typeof t?.cbk=="string"&&typeof t?.cid=="string"&&typeof t?.b=="string"&&typeof t?.d=="string"?t:null}catch{return null}}function Se(){return new Date().toISOString()}function Fr(e,t){let r=t.onWarn??(()=>{}),n=de(e);function s(C){if(C.length!==0)try{let v=t.publishBoardChangeNotifications?.(C);v&&typeof v.catch=="function"&&v.catch(T=>r(`[board-live-cards-public] publishBoardChangeNotifications failed: ${T instanceof Error?T.message:String(T)}`));}catch(v){r(`[board-live-cards-public] publishBoardChangeNotifications failed: ${v instanceof Error?v.message:String(v)}`);}}function o(){let C=i().readCardStoreRef();if(!C)throw new Error(`Board at ${e.value} has no card store configured. Run: init --base-ref <ref> --store-ref <b64-ref>`);let v=t.kvStorageForRef(C);return {readIndex(){return v.read("_index")},writeIndex(T){v.write("_index",T);},readCard(T){return v.read(T)},writeCard(T,j){return v.write(T,j),t.hashFn(j)},cardExists(T){return v.read(T)!==null},defaultCardKey(T){return T}}}let a={readValues(C){let v=t.kvStorage("state-snapshot"),T=v.listKeys().sort();if(T.length===0)return {version:null,values:{}};let j={};for(let te of T)j[te]=v.read(te);return {version:t.hashFn(j),values:j}},writeValues(C,v,T){let j=t.kvStorage("state-snapshot");for(let te of T)j.delete(te);for(let[te,se]of Object.entries(v))j.write(te,se);return t.hashFn(v)}},i=()=>zo(t.kvStorage("config")),u=()=>xu(a),c=()=>Ru(t.journalAdapter()),d=()=>qn(o(),r),l=()=>{let C=i().readOutputsStoreRef();if(!C)throw new Error(`Board at ${e.value} has no outputs store configured. Run: init --outputs-store-ref <b64-ref>`);return Tu(t.kvStorageForRef(C))},h=()=>{let C=i().readArchiveStoreRef();return C?t.archiveFactoryForRef(C):t.archiveFactory()};function y(){return !!u().readSnapshot(e.value).values[vt]}function m(){let C=u().readSnapshot(e.value);if(!C.values[vt])throw new Error(`Board not initialized at ${e.value}`);return Ou(C.values)}function p(C,v){let T=u().commitSnapshot(e.value,{schemaVersion:qr,expectedVersion:v,commitId:t.genId(),committedAt:Se(),deleteKeys:[],shallowMerge:Iu(C)});if(!T.ok)throw new Error(`Snapshot commit failed (version mismatch): expected=${v??"null"} current=${T.currentVersion??"null"}`)}function S(C){c().appendEvent(C);}async function _(){let C=(O,F)=>{let ue=O.payload,at=(ue?.enrichedCard??{}).id??ue?.cardId??"unknown";S({type:"task-failed",taskName:at,error:F,timestamp:Se()});},v=Cu(t.kvStorage("execution-requests"),C),T=Eu(t.kvStorage("card-runtime")),j=Jo(t.blobStorage("sources"),O=>t.resolveBlob(O)),te=new Map,se={readRuntime(O){return te.get(O)??T.readRuntime(O)},writeRuntime(O,F){te.set(O,F);}},Ae=[],be=new Map,ot={readSourceData(O,F){let ue=`${O}/${F}`;return be.has(ue)?be.get(ue):j.readSourceData(O,F)},ingestSourceDataStaged(O,F,ue,Mt){j.ingestSourceDataStaged(O,F,ue,Mt);},commitSourceData(O,F,ue){let Mt=`${O}/.staged/${ue}/${F}`,Vr=t.blobStorage("sources").read(Mt);if(Vr==null)return false;let Lt=`${O}/${F}`,Qo=Vr.trim();try{be.set(Lt,JSON.parse(Qo));}catch{be.set(Lt,Qo);}return Ae.push({cardId:O,outputFile:F,deliveryToken:ue}),true},hasSource(O,F){let ue=`${O}/${F}`;return be.has(ue)?true:j.hasSource(O,F)}},Ie={cardStore:d(),cardRuntimeStore:se,fetchedSourcesStore:ot,outputStore:l(),executionRequestStore:v},kt=m(),bt=jn(kt.graph),{events:Ft,newCursor:Dt}=c().readEntriesAfterCursor(kt.lastDrainedJournalId),wt=[],Ln=[],Vn=[],Wo=new Map,Fu=(O,F)=>{wt.push({type:"task-completed",taskName:O,data:F,timestamp:Se()});try{h().stream("exec-history").append({taskName:O,status:"completed",completedAt:Se()});}catch{}},Yo=(O,F)=>{S({type:"task-failed",taskName:O,error:F,timestamp:Se()});try{h().stream("exec-history").append({taskName:O,status:"failed",error:F,completedAt:Se()});}catch{}},Mr=gu(bt,{handlers:{"card-handler":Au(e,Dt,Ie,Fu,Yo,(O,F)=>{Ln.push({cardId:O,values:F});},O=>{Vn.push(O);})}});for(wt=Ft;wt.length>0;){let O=wt;wt=[];for(let F of O)if(F.type==="task-restart"){let ue=Ie.cardStore.readCard(F.taskName);ue&&Wo.set(F.taskName,ue);}Mr.pushAll(O),await Mr.waitForHandlers();}let Xo=Mr.getState();await Mr.dispose({wait:true});let Du=u().readSnapshot(e.value).version;p({lastDrainedJournalId:Dt,graph:Pr(Xo)},Du);for(let{cardId:O,values:F}of Ln)Ie.outputStore.writeComputedValues(O,F);for(let O of Vn)Ie.outputStore.writeDataObjects(O);for(let[O,F]of te)T.writeRuntime(O,F);for(let{cardId:O,outputFile:F,deliveryToken:ue}of Ae)j.commitSourceData(O,F,ue);let Lr;try{Lr=Fn(n,Xo),Ie.outputStore.writeStatusSnapshot(Lr);}catch(O){r(`[board-live-cards-public] status publish failed: ${O instanceof Error?O.message:String(O)}`);}let nr=[];for(let{cardId:O,values:F}of Ln)nr.push({kind:"computed_values",cardId:O,values:F});for(let O of Vn)for(let[F,ue]of Object.entries(O))F&&nr.push({kind:"data_object",key:F,payload:ue});for(let[O,F]of Wo)nr.push({kind:"card_refreshed",cardId:O,card:F});Lr!==void 0&&nr.push({kind:"status",status:Lr}),s(nr);let Mu=i().readTaskExecutorRef()??{howToRun:"built-in",whatToRun:de({kind:"built-in",value:"source-cli-task-executor"})};v.dispatchEntriesForJournalId(Dt,O=>{if(O.taskKind!=="source-fetch"){r(`[process-accumulated-events] unknown taskKind "${O.taskKind}" \u2014 skipping`);return}let F=O.payload,ue=F.enrichedCard?.id??"unknown",Mt=F.enrichedCard?.source_defs??[];for(let at of Mt){if(!at.outputFile){r(`[dispatch] source "${at.bindTo}" has no outputFile \u2014 skipping`);continue}let Vr=Ph({cbk:F.callbackToken,rg:e.value,br:de(e),cid:ue,b:at.bindTo,d:at.outputFile,cs:void 0,rqt:F.rqt});t.dispatchExecution(Mu,{source_def:at,base_ref:de(e),callback:{token:Vr,via:t.selfRef}}).catch(Lt=>Yo(ue,Lt instanceof Error?Lt.message:String(Lt)));}});}async function f(){try{let C=()=>{let T=m(),{events:j}=c().readEntriesAfterCursor(T.lastDrainedJournalId);j.length<=0||(f(),t.requestProcessAccumulated?.());},v=await ea(t.lock,_,C);return Q({ran:v!==!1})}catch(C){return ee(C)}}function g(C){try{let v=C.params?.cardStoreRef;if(!v)return q("init requires params.cardStoreRef \u2014 create a card store with card-store-cli and pass its ref here");if(!y()){let be=Pn(Dn);p({lastDrainedJournalId:"",graph:Pr(be)},null);}let T=C.params?.outputsStoreRef;if(!T)return q("init requires params.outputsStoreRef \u2014 pass the outputs store ref here");let j=C.params?.scratchStoreRef,te=C.params?.archiveStoreRef,se=i();se.writeCardStoreRef(v),se.writeOutputsStoreRef(T),j&&se.writeScratchStoreRef(j),te&&se.writeArchiveStoreRef(te);let Ae=C.body??{};Ae["task-executor-ref"]&&se.writeTaskExecutorRef(Ae["task-executor-ref"]),Object.prototype.hasOwnProperty.call(Ae,"chat-handler-flow")&&se.writeChatHandlerFlow(Ae["chat-handler-flow"]);try{l().writeStatusSnapshot(Fn(n,jn(m().graph)));}catch{}return Q()}catch(v){return ee(v)}}function k(C){try{let v=l().readStatusSnapshot();if(!v){v=Fn(n,jn(m().graph));try{l().writeStatusSnapshot(v);}catch{}}return Q(v)}catch(v){return ee(v)}}function b(C){try{let v=C.params?.id;return v?(S({type:"task-removal",taskName:v,timestamp:Se()}),f(),Q()):q("removeCard requires params.id")}catch(v){return ee(v)}}function $(C){try{let v=C.params?.id;return v?(S({type:"task-restart",taskName:v,timestamp:Se()}),f(),Q()):q("retrigger requires params.id")}catch(v){return ee(v)}}async function R(C){return f()}function E(C){try{let v=C.params?.cardId,T=C.params?.all,j=!!C.params?.restart;if(!v&&!T)return q("upsertCard requires --card-id <id> or --all");let te=T?d().readAllCards().map(se=>se.id):[v];for(let se of te)if(!d().readCard(se))return q(`Card "${se}" not found in board at ${e.value}`);for(let se of te){let Ae=d().readCard(se),be=Pu(Ae),ot=t.hashFn(be),Ie=t.kvStorage("card-upsert"),kt=Ie.read(se),bt=kt?.taskConfigHash!==ot;if(!(!bt&&!j)){if(bt){let Ft=kt?.blobRef??d().readCardKey(se)??se;S({type:"task-upsert",taskName:se,taskConfig:be,timestamp:Se()}),Ie.write(se,{blobRef:Ft,taskConfigHash:ot,updatedAt:Se()});}j&&S({type:"task-restart",taskName:se,timestamp:Se()});}}return f(),Q()}catch(v){return ee(v)}}function I(C){try{let v=C.params?.token;if(!v)return q("taskFailed requires params.token");let T=C.params?.error??"unknown error",j=Mn(v);if(!j)return q("Invalid callback token");S({type:"task-failed",taskName:j.taskName,error:T,timestamp:Se()});try{h().stream("exec-history").append({taskName:j.taskName,status:"failed",error:T,completedAt:Se()});}catch{}return f(),Q()}catch(v){return ee(v)}}function P(C){try{let v=C.params?.token;if(!v)return q("taskProgress requires params.token");let j=(C.body??{}).update??{},te=Mn(v);return te?(S({type:"task-progress",taskName:te.taskName,update:j,timestamp:Se()}),f(),Q()):q("Invalid callback token")}catch(v){return ee(v)}}function B(C){try{let v=C.params?.token,T=C.params?.ref;if(!v)return q("sourceDataFetched requires params.token");if(!T)return q("sourceDataFetched requires params.ref");let j=ju(v);if(!j)return q("Invalid source token");let{cbk:te,cid:se,b:Ae,d:be,cs:ot,rqt:Ie}=j,kt=Jo(t.blobStorage("sources"),wt=>t.resolveBlob(wt)),bt=t.genId();kt.ingestSourceDataStaged(se,be,Ce(T),bt);let Ft=Mn(te);if(!Ft)return q("Invalid callback token embedded in source token");let Dt=Se();return S({type:"task-progress",taskName:Ft.taskName,update:{bindTo:Ae,outputFile:be,fetchedAt:Dt,deliveryToken:bt,sourceChecksum:ot,rqt:Ie},timestamp:Dt}),f(),Q()}catch(v){return ee(v)}}function W(C){try{let v=C.params?.token,T=C.params?.reason??"unknown";if(!v)return q("sourceDataFetchFailure requires params.token");let j=ju(v);if(!j)return q("Invalid source token");let{cbk:te,b:se,d:Ae,cs:be,rqt:ot}=j,Ie=Mn(te);return Ie?(S({type:"task-progress",taskName:Ie.taskName,update:{bindTo:se,outputFile:Ae,failure:!0,reason:T,sourceChecksum:be,rqt:ot},timestamp:Se()}),f(),Q()):q("Invalid callback token embedded in source token")}catch(v){return ee(v)}}function Z(C){try{let v=i().readCardStoreRef();return v?Q({storeRef:v}):q(`Board at ${e.value} has no card store configured`)}catch(v){return ee(v)}}function fe(C){try{let v=i().readOutputsStoreRef();return v?Q({storeRef:v}):q(`Board at ${e.value} has no outputs store configured`)}catch(v){return ee(v)}}function Pe(C){try{let v=i().readScratchStoreRef();return Q({storeRef:v})}catch(v){return ee(v)}}function Re(C){try{let v=i().readArchiveStoreRef();return Q({storeRef:v})}catch(v){return ee(v)}}function Xe(C){try{let v=C.params?.key;if(!v)return q("getConfig requires params.key");let T=i(),j;switch(v){case "task-executor":j=T.readTaskExecutorRef()??null;break;case "chat-handler-flow":j=T.readChatHandlerFlow()??null;break;case "card-store-ref":j=T.readCardStoreRef();break;case "outputs-store-ref":j=T.readOutputsStoreRef();break;case "scratch-store-ref":j=T.readScratchStoreRef();break;case "archive-store-ref":j=T.readArchiveStoreRef();break;default:return q(`getConfig: unknown key "${v}"`)}return Q({value:j})}catch(v){return ee(v)}}function D(C){try{let v=C.params?.key;if(!v)return q("getOutputsDataObject requires params.key");let T=l().readDataObject(v);return Q(T)}catch(v){return ee(v)}}function M(C){try{return Q(l().readAllDataObjects())}catch(v){return ee(v)}}function ne(C){try{let v=C.params?.key;if(!v)return q("getOutputsComputedValues requires params.key");let T=l().readComputedValues(v);return Q(T)}catch(v){return ee(v)}}function X(C){try{return Q(l().readAllComputedValues())}catch(v){return ee(v)}}return {init:g,status:k,getCardStoreRef:Z,getOutputsStoreRef:fe,getScratchStoreRef:Pe,getArchiveStoreRef:Re,getConfig:Xe,getOutputsDataObject:D,getAllOutputsDataObjects:M,getOutputsComputedValues:ne,getAllOutputsComputedValues:X,removeCard:b,retrigger:$,processAccumulatedEvents:R,upsertCard:E,taskFailed:I,taskProgress:P,sourceDataFetched:B,sourceDataFetchFailure:W}}function St(e,t){let r=()=>zo(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 <b64-ref>`);let g=t.kvStorageForRef(f);return {readIndex(){return g.read("_index")},writeIndex(k){g.write("_index",k);},readCard(k){return g.read(k)},writeCard(k,b){return g.write(k,b),t.hashFn(b)},cardExists(k){return g.read(k)!==null},defaultCardKey(k){return k}}}let s=()=>qn(n(),t.onWarn??(()=>{})),o=()=>{let f=r().readScratchStoreRef();return f?t.scratchStorageForRef(f):t.scratchStorage()};function a(f,g){let k=t.validateSchema(g),b=[],$=r().readTaskExecutorRef();if($&&Array.isArray(g.source_defs))for(let E of g.source_defs){let I=typeof E.bindTo=="string"?E.bindTo:"(unknown)";try{let P;try{P=t.invokeExecutorSync($,"validate-source-def",[],{timeout:t.executorTimeouts?.validationMs??1e4,input:JSON.stringify(E)});}catch(W){let Z=W;if(P=typeof Z?.stdout=="string"?Z.stdout:"",!P.trim()){b.push(`source "${I}": executor validate-source-def failed \u2014 ${W instanceof Error?W.message:String(W)}`);continue}}let B=JSON.parse(P.trim());if(!B.ok&&Array.isArray(B.errors))for(let W of B.errors)b.push(`source "${I}": ${W}`);}catch(P){b.push(`source "${I}": executor validate-source-def failed \u2014 ${P instanceof Error?P.message:String(P)}`);}}let R=[...k.errors,...b];return Q({cardId:f,isValid:R.length===0,issues:R})}function i(f,g,k){let b=r().readTaskExecutorRef();if(!b)return q("No task-executor registered for this board");let $=typeof f.bindTo=="string"?f.bindTo:"source",R=o(),E={...f,boardDir:e.value,_projections:g},I=R.create(JSON.stringify(E,null,2),`probe-in-${$}`,".json"),P=R.getUniqueKey(`probe-out-${$}`,".json"),B=R.getUniqueKey(`probe-err-${$}`,".txt"),W=de(R.keyRef(I)),Z=de(R.keyRef(P)),fe=de(R.keyRef(B)),Pe=null;try{if(t.invokeExecutorSync(b,"run-source-fetch",["--in-ref",W,"--out-ref",Z,"--err-ref",fe],{timeout:f.timeout??t.executorTimeouts?.probeMs??6e4}),Pe=R.read(P),Pe===null)return q("Executor produced no output file")}catch(Re){let Xe=R.read(B)?.trim()??(Re instanceof Error?Re.message:String(Re));return q(`Probe failed: ${Xe}`)}finally{try{R.remove(I);}catch{}try{R.remove(B);}catch{}}if(k){let Re=Ce(k);t.absoluteBlob.write(Re.value,Pe);}try{R.remove(P);}catch{}return Q({bindTo:$,resultSizeBytes:Pe.length})}function u(f){try{let g=f.params?.cardId,k=f.params?.all;if(!g&&!k)return q("validateCard requires --card-id <id> or --all");let b=k?s().readAllCards().map(R=>R.id):[g],$=[];for(let R of b){let E=s().readCard(R);if(!E){$.push({cardId:R,isValid:!1,issues:[`Card "${R}" not found`]});continue}let I=a(R,E);if(I.status!=="success")return I;$.push(I.data);}return Q($)}catch(g){return ee(g)}}function c(f){try{if(!f.body||typeof f.body!="object"||Array.isArray(f.body))return q("validateCardPreflight requires card JSON object in body");let g=f.body,k=g["card-content"]??g,b=typeof k.id=="string"?k.id:"(unknown)",$=a(b,k),R=r().readTaskExecutorRef();if(R)try{let E=t.invokeExecutorSync(R,"validate-card-preflight",[],{timeout:t.executorTimeouts?.validationMs??1e4,input:JSON.stringify(k)}),I=JSON.parse(E.trim());if(!I.ok&&Array.isArray(I.errors)&&I.errors.length>0){let P=[...$.status==="success"?$.data.issues:[],...I.errors];return Q({cardId:b,isValid:!1,issues:P})}}catch{}return $}catch(g){return ee(g)}}function d(f){try{let g=f.params?.cardId,k=f.params?.sourceIdx,b=f.params?.outRef;if(!g)return q("probeSource requires params.cardId");if(k===void 0)return q("probeSource requires params.sourceIdx");let R=(f.body??{})["mock-projections"]??{},E=s().readCard(g);if(!E)return q(`Card "${g}" not found`);let I=E.source_defs??[];return k<0||k>=I.length?q(`sourceIdx ${k} out of range (card has ${I.length} source(s))`):i(I[k],R,b)}catch(g){return ee(g)}}function l(f){try{let g=f.params?.outRef,k=f.body;if(!k)return q('probeTmpSource requires body with "source-def" and "mock-projections"');let b=k["source-def"],$=k["mock-projections"]??{};return b?i(b,$,g):q('probeTmpSource body requires "source-def"')}catch(g){return ee(g)}}function h(f){try{let g=f.params?.sourceIdx,k=f.params?.outRef;if(g===void 0)return q("probeSourcePreflight requires params.sourceIdx");if(!f.body||typeof f.body!="object"||Array.isArray(f.body))return q("probeSourcePreflight requires card JSON object in body");let b=f.body,$=b["card-content"]??b,R=b["mock-projections"]??{},E=$.source_defs??[];if(g<0||g>=E.length)return q(`sourceIdx ${g} out of range (card has ${E.length} source(s))`);let I=E[g],P=r().readTaskExecutorRef();if(P){let B=typeof I.bindTo=="string"?I.bindTo:"source";try{let W={...I,_projections:R},Z=t.invokeExecutorSync(P,"probe-source-preflight",[],{timeout:I.timeout??t.executorTimeouts?.preflightMs??6e4,input:JSON.stringify(W)}),fe=JSON.parse(Z.trim());return fe.ok?Q({bindTo:B,reachable:fe.reachable,latencyMs:fe.latencyMs,note:fe.note}):q(fe.error??"Preflight probe failed")}catch{}}return i(I,R,k)}catch(g){return ee(g)}}function y(f){try{let g=r().readTaskExecutorRef();if(!g)return q("No task-executor registered for this board");let k=t.invokeExecutorSync(g,"describe-capabilities",[],{timeout:t.executorTimeouts?.describeMs??1e4});return Q(JSON.parse(k.trim()))}catch(g){return ee(g)}}function m(f){try{let g=f.body;if(!g||!Array.isArray(g.ops))return q("updatesInCardStore requires body.ops array");let k=g.ops,b=s();for(let $ of k){let R=$.op,E=$.id;if(!E)return q('op is missing "id"');if(R==="update"){let I=$["card-content"];if(!I)return q(`update op for "${E}" is missing "card-content"`);b.writeCard(E,I);}else return q(`Unknown op type: "${R??"(none)"}"`)}return Q()}catch(g){return ee(g)}}function p(f){try{let g=f.body;if(!g||!Array.isArray(g.ids))return q("readFromCardStore requires body.ids array");let k=g.ids,b=s(),$=k.map(R=>({id:R,"card-content":b.readCard(R)}));return Q({cards:$})}catch(g){return ee(g)}}function S(f){try{if(!f.body||typeof f.body!="object"||Array.isArray(f.body))return q("evalCardCompute requires a JSON object in body");let g=f.body,k=g["card-content"]??g,b=typeof k.id=="string"?k.id:"(unknown)",$=g["mock-fetched-sources"]??{},R=g["mock-requires"]??{},E=k.compute;if(!E||!Array.isArray(E)||E.length===0)return Q({cardId:b,ok:!0,computed_values:{},errors:[]});let I={id:b,card_data:k.card_data??{},requires:R,source_defs:k.source_defs,compute:E},P=yt.runSync(I,{sourcesData:$}),B=P.node.computed_values??{},W=P.errors??[];return Q({cardId:b,ok:W.length===0,computed_values:B,errors:W})}catch(g){return ee(g)}}function _(f){try{if(!f.body||typeof f.body!="object"||Array.isArray(f.body))return q("simulateCardCycle requires a JSON object in body");let g=f.body,k=g["card-content"]??g,b=typeof k.id=="string"?k.id:"(unknown)",$=g["mock-fetched-sources"]??{},R=g["mock-requires"]??{},E=a(b,k),I=E.status==="success"?{isValid:E.data.isValid,issues:E.data.issues}:{isValid:!1,issues:[E.status==="fail"?E.error:"internal error"]},P=k.source_defs??[],B=k.card_data??{},W=[],Z=[];if(P.length>0){W=yt.enrichSourcesSync(P,{card_data:B,requires:R});for(let X of W){let C=X.projections,v=X._projections;if(C&&v){for(let T of Object.keys(C))if(v[T]===void 0){let j=typeof X.bindTo=="string"?X.bindTo:"(unknown)";Z.push({bindTo:j,key:T,error:`Projection "${T}" resolved to undefined`});}}}}let fe=[],Pe=g["task-executor-ref"],Re=(Pe?.howToRun&&Pe?.whatToRun?Pe:void 0)??r().readTaskExecutorRef();for(let X=0;X<W.length;X++){let C=W[X],v=typeof C.bindTo=="string"?C.bindTo:`source_${X}`;if(!Re){fe.push({bindTo:v,skipped:!0,error:"No task executor configured"});continue}try{let T={...C},j=t.invokeExecutorSync(Re,"probe-source-preflight",[],{timeout:C.timeout??t.executorTimeouts?.preflightMs??6e4,input:JSON.stringify(T)}),te=JSON.parse(j.trim());fe.push({bindTo:v,reachable:te.reachable,latencyMs:te.latencyMs,error:te.ok?void 0:te.error});}catch{fe.push({bindTo:v,skipped:!0,error:"Executor does not support probe-source-preflight"});}}let Xe=k.compute,D={},M=[];if(Xe&&Array.isArray(Xe)&&Xe.length>0){let X={id:b,card_data:B,requires:R,source_defs:k.source_defs,compute:Xe},C=yt.runSync(X,{sourcesData:$});D=C.node.computed_values??{},M=C.errors??[];}let ne=I.isValid&&Z.length===0&&M.length===0&&fe.every(X=>X.reachable!==!1);return Q({cardId:b,ok:ne,validation:I,source_probes:fe,projection_errors:Z,computed_values:D,compute_errors:M})}catch(g){return ee(g)}}return {validateCard:u,validateCardPreflight:c,probeSource:d,probeTmpSource:l,probeSourcePreflight:h,evalCardCompute:S,simulateCardCycle:_,describeTaskExecutorCapabilities:y,updatesInCardStore:m,readFromCardStore:p}}var qh=".board.lock";function Fh(e,t){return typeof e=="string"?{cliDir:e,opts:t}:{cliDir:void 0,opts:e}}function Dh(e,t){return typeof e=="string"?{cliDir:e,opts:t}:{cliDir:void 0,opts:e}}function qu(e){if(e)return e;let t=Kr(import.meta.url),r=[t,Je(t,"..","cli","node"),Je(t,"..","..","cli","node")];for(let n of r)try{return Jn(n),n}catch{}throw new Error(`createFsBoardPlatformAdapter: could not resolve a public CLI directory from module dir ${t}`)}function Dr(e,t,r){let{cliDir:n,opts:s}=Fh(t,r),o=qu(n),a=e.value,u={meta:"board-live-cards",howToRun:"local-node",whatToRun:(s?.suppressSpawn?"":Jn(o))?de({kind:"yaml-flow-cli",value:"board-live-cards-cli.js"}):"",...s?.notifyChannel?{extra:{notifyChannel:s.notifyChannel}}:{}};return {kvStorage:c=>Zn(Je(a,`.${c}`)),blobStorage:c=>c?sr(Je(a,c)):sr(a),scratchStorage:()=>Hr(Je(a,".tmp")),scratchStorageForRef:c=>Hr(Ce(c).value),archiveFactory:()=>Wr(Je(a,"archive")),archiveFactoryForRef:c=>Wr(Ce(c).value),journalAdapter:()=>ka(a),lock:ba(Je(a,qh)),selfRef:u,async dispatchExecution(c,d){if(s?.suppressSpawn)return {dispatched:false};try{let l=d.source_def?.bindTo??Gn().slice(0,8),h=Hr(Je(a,".tmp")),y=h.create(JSON.stringify(d,null,2),`exec-in-${l}`,".json"),m=h.getUniqueKey(`exec-out-${l}`,".json"),p=h.getUniqueKey(`exec-err-${l}`,".txt"),S=de(h.keyRef(y)),_=de(h.keyRef(m)),f=de(h.keyRef(p));return ga(c,{subcommand:"run-source-fetch",inRef:S,outRef:_,errRef:f},o),{dispatched:!0}}catch(l){let h=l instanceof Error?l.message:String(l);try{let y=Wr(Je(a,"archive")),m=new Date().toISOString().replace(/[:.]/g,"-"),p=d.source_def?.bindTo??"unknown";y.blob("exec-failures").write(`${m}-${p}.json`,JSON.stringify({error:h,args:d,ref:c,at:new Date().toISOString()},null,2));}catch{}return {dispatched:false,error:h}}},resolveBlob(c){let d=sa(c.value)?Qn().read(c.value):sr(a).read(c.value);if(d===null)throw new Error(`resolveBlob: blob not found: ::${c.kind}::${c.value}`);return d},hashFn:Sa,genId:()=>oa(`${Date.now()}-${Math.random()}`).slice(0,32),kvStorageForRef:c=>Zn(Ce(c).value),requestProcessAccumulated(){s?.suppressSpawn||ca(o,e,s?.notifyChannel);},publishBoardChangeNotifications(c){if(!s?.notifyChannel||c.length===0)return;let d=c.map(l=>({id:Gn(),ts:new Date().toISOString(),boardRef:de(e),notification:l}));ua(s.notifyChannel,d,s.onWarn);},onWarn:s?.onWarn}}function Nt(e,t,r){let{cliDir:n,opts:s}=Dh(t,r),o=qu(n),a=Dr(e,o,s),i=zn();return {...a,invokeExecutorSync(u,c,d,l){let{command:h,baseArgs:y}=Hn(u,o),m=u.extra?["--extra",Buffer.from(JSON.stringify(u.extra)).toString("base64")]:[];return i.executeSync(h,[...y,c,...d,...m],{timeout:l?.timeout??3e4,encoding:"utf-8",input:l?.input})},validateSchema(u){let c=Lo(u);return {ok:c.errors.length===0,errors:c.errors}},absoluteBlob:Qn()}}function Ho(e){try{let t=JSON.parse(Buffer.from(e,"base64url").toString());return typeof t.br=="string"?t.br:null}catch{return null}}var st=Kr(import.meta.url);function ke(e,t,r){let n=e.indexOf(t),s=n!==-1?e[n+1]:void 0;if(!s)throw new Error(`Missing ${t}
20
+ Usage: ${r}`);return s}function Ue(e,t){let r=e.indexOf(t);return r!==-1?e[r+1]:void 0}function ae(e){console.log(JSON.stringify(e,null,2));}async function qt(){if(process.stdin.isTTY)return;let e=[];for await(let r of process.stdin)e.push(Buffer.isBuffer(r)?r:Buffer.from(r));let t=Buffer.concat(e).toString("utf-8").trim();if(t)return JSON.parse(t)}async function Mh(e){let t=e[0],r=e.slice(1);if(t==="help"||t==="--help"||t==="-h"){console.log("board-live-cards \u2014 see board-live-cards-cli-PARAMS.md for command reference");return}let n=Ue(r,"--base-ref"),s=Ue(r,"--notify-channel"),o=n?Ce(n):void 0;if(t==="source-data-fetched"){let u=ke(r,"--token","source-data-fetched --token <token> --ref <sourcefile>"),c=ke(r,"--ref","source-data-fetched --token <token> --ref <sourcefile>"),d=Ho(u);if(!d)throw new Error("source-data-fetched: could not decode board ref from token \u2014 is this a valid source token?");let l=Ce(d),h=Fr(l,Dr(l,st,{onWarn:console.warn,notifyChannel:s}));ae(h.sourceDataFetched({params:{token:u,ref:c}}));return}if(t==="source-data-fetch-failure"){let u=ke(r,"--token","source-data-fetch-failure --token <token> [--reason <message>]"),c=Ho(u);if(!c)throw new Error("source-data-fetch-failure: could not decode board ref from token \u2014 is this a valid source token?");let d=Ce(c),l=Fr(d,Dr(d,st,{onWarn:console.warn,notifyChannel:s})),h={token:u},y=Ue(r,"--reason");y&&(h.reason=y),ae(l.sourceDataFetchFailure({params:h}));return}if(t==="validate-card-preflight"){let u=o??{kind:"fs-path",value:it(".")},c=St(u,Nt(u,st,{onWarn:console.warn})),d=await qt();ae(c.validateCardPreflight({body:d}));return}if(t==="probe-source-preflight"){let u=ke(r,"--source-idx","probe-source-preflight --source-idx <n>"),c=Ue(r,"--out-ref"),d=o??{kind:"fs-path",value:it(".")},l=St(d,Nt(d,st,{onWarn:console.warn})),h=await qt(),y={sourceIdx:parseInt(u,10)};c&&(y.outRef=c),ae(l.probeSourcePreflight({params:y,body:h}));return}if(t==="eval-card-compute"){let u=o??{kind:"fs-path",value:it(".")},c=St(u,Nt(u,st,{onWarn:console.warn})),d=await qt();ae(c.evalCardCompute({body:d}));return}if(t==="simulate-card-cycle"){let u=o??{kind:"fs-path",value:it(".")},c=St(u,Nt(u,st,{onWarn:console.warn})),d=await qt();ae(c.simulateCardCycle({body:d}));return}if(t==="probe-tmp-source"){let u=ke(r,"--out-ref","probe-tmp-source --out-ref <ref>"),c=o??{kind:"fs-path",value:it(".")},d=St(c,Nt(c,st,{onWarn:console.warn})),l=await qt();ae(d.probeTmpSource({params:{outRef:u},body:l}));return}if(!o)throw new Error(`--base-ref is required for command "${t??"(none)"}"`);let a=()=>Fr(o,Dr(o,st,{onWarn:console.warn,notifyChannel:s})),i=()=>St(o,Nt(o,st,{onWarn:console.warn}));switch(t){case "init":{let u=ke(r,"--card-store-ref","init --base-ref <ref> --card-store-ref <b64-ref> --outputs-store-ref <b64-ref>"),c=ke(r,"--outputs-store-ref","init --base-ref <ref> --card-store-ref <b64-ref> --outputs-store-ref <b64-ref>"),d=Ue(r,"--scratch-store-ref"),l=Ue(r,"--archive-store-ref"),h=await qt();ae(a().init({params:{cardStoreRef:u,outputsStoreRef:c,...d?{scratchStoreRef:d}:{},...l?{archiveStoreRef:l}:{}},body:h}));return}case "status":{ae(a().status({}));return}case "get-card-store-ref":{ae(a().getCardStoreRef({}));return}case "get-outputs-store-ref":{ae(a().getOutputsStoreRef({}));return}case "get-scratch-store-ref":{ae(a().getScratchStoreRef({}));return}case "get-archive-store-ref":{ae(a().getArchiveStoreRef({}));return}case "get-outputs":{let u=ke(r,"--type","get-outputs --base-ref <ref> --type <data-object|computed-values> [--key <key>] [--all]"),c=r.includes("--all");if(u==="data-object")if(c)ae(a().getAllOutputsDataObjects({}));else {let d=ke(r,"--key","get-outputs --type data-object --base-ref <ref> --key <datakey>");ae(a().getOutputsDataObject({params:{key:d}}));}else if(u==="computed-values")if(c)ae(a().getAllOutputsComputedValues({}));else {let d=ke(r,"--key","get-outputs --type computed-values --base-ref <ref> --key <card-id>");ae(a().getOutputsComputedValues({params:{key:d}}));}else throw new Error(`get-outputs: unknown --type "${u}", expected data-object | computed-values`);return}case "remove-card":{let u=ke(r,"--id","remove-card --base-ref <ref> --id <card-id>");ae(a().removeCard({params:{id:u}}));return}case "retrigger":{let u=ke(r,"--id","retrigger --base-ref <ref> --id <card-id>");ae(a().retrigger({params:{id:u}}));return}case "process-accumulated-events":{ae(await a().processAccumulatedEvents({}));return}case "upsert-card":{let u=Ue(r,"--card-id"),c=r.includes("--all"),d=r.includes("--restart");if(!u&&!c)throw new Error("upsert-card requires --card-id <id> or --all");let l={};u&&(l.cardId=u),c&&(l.all=true),d&&(l.restart=true),ae(a().upsertCard({params:l}));return}case "task-failed":{let c={token:ke(r,"--token","task-failed --base-ref <ref> --token <token> [--error <message>]")},d=Ue(r,"--error");d&&(c.error=d),ae(a().taskFailed({params:c}));return}case "task-progress":{let u=ke(r,"--token","task-progress --base-ref <ref> --token <token> [--update <json>]"),c=Ue(r,"--update"),d=c?JSON.parse(c):{};ae(a().taskProgress({params:{token:u},body:{update:d}}));return}case "validate-card":{let u=Ue(r,"--card-id"),c=r.includes("--all");if(!u&&!c)throw new Error("validate-card requires --card-id <id> or --all");let d={};u&&(d.cardId=u),c&&(d.all=true),ae(i().validateCard({params:d}));return}case "probe-source":{let u=ke(r,"--card-id","probe-source --base-ref <ref> --card-id <id> --source-idx <n> --out-ref <ref>"),c=ke(r,"--source-idx","probe-source --base-ref <ref> --card-id <id> --source-idx <n> --out-ref <ref>"),d=Ue(r,"--out-ref"),l=await qt(),h={cardId:u,sourceIdx:parseInt(c,10)};d&&(h.outRef=d),ae(i().probeSource({params:h,body:l}));return}case "describe-task-executor-capabilities":{ae(i().describeTaskExecutorCapabilities({}));return}default:throw new Error(`Unknown command: ${t??"(none)"}`)}}var Lh=process.argv[1]&&it(process.argv[1])===it(new URL(import.meta.url).pathname.replace(/^\/([A-Z]:)/,"$1"));Lh&&Mh(process.argv.slice(2)).catch(e=>{let t=e instanceof Error?e.message:String(e);console.error(t),process.exit(1);});export{Mh as cli};//# sourceMappingURL=board-live-cards-cli.js.map
15
21
  //# sourceMappingURL=board-live-cards-cli.js.map