yaml-flow 8.0.0 → 8.0.1

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 (43) hide show
  1. package/browser/asset-integrity.json +2 -2
  2. package/browser/board-livecards-localstorage.js +5 -5
  3. package/cli/browser-api/board-live-cards-browser-adapter.d.ts +2 -2
  4. package/cli/{execution-interface-C_A6WCiK.d.ts → execution-interface-ftO1W7Po.d.ts} +4 -2
  5. package/cli/node/board-live-cards-cli.js +7 -7
  6. package/cli/node/card-store-cli.js +1 -1
  7. package/cli/node/execution-adapter.d.ts +47 -2
  8. package/cli/node/execution-adapter.js +2 -2
  9. package/cli/node/fs-board-adapter.d.ts +4 -4
  10. package/cli/node/fs-board-adapter.js +7 -7
  11. package/cli/node/step-machine-cli.js +4 -4
  12. package/cli/{types-CziUxkiv.d.ts → types-C2YQXFwo.d.ts} +1 -1
  13. package/examples/board/.demo-setup/{run-1778643703151-3360-dopnpv → run-1778665078572-3466-a8ay4k}/board-default/gandalf-runtime/.config/card-store-ref.json +1 -1
  14. package/examples/board/.demo-setup/{run-1778643703151-3360-dopnpv → run-1778665078572-3466-a8ay4k}/board-default/gandalf-runtime/.config/outputs-store-ref.json +1 -1
  15. package/examples/board/.demo-setup/{run-1778643703151-3360-dopnpv → run-1778665078572-3466-a8ay4k}/board-default/gandalf-runtime/.state-snapshot/board/graph.json +3 -3
  16. package/examples/board/.demo-setup/{run-1778643703151-3360-dopnpv → run-1778665078572-3466-a8ay4k}/board-default/gandalf-runtime-out/.outputs/status.json +1 -1
  17. package/examples/board/.demo-setup/{run-1778643703151-3360-dopnpv → run-1778665078572-3466-a8ay4k}/board-default/runtime-out/.outputs/status.json +10 -10
  18. package/examples/board/demo-shell-with-server.html +2 -2
  19. package/examples/board-local/demo-shell-localstorage.html +3 -3
  20. package/lib/board-live-cards-node.cjs +7 -7
  21. package/lib/board-live-cards-node.d.cts +46 -2
  22. package/lib/board-live-cards-node.d.ts +46 -2
  23. package/lib/board-live-cards-node.js +7 -7
  24. package/lib/board-live-cards-public.cjs +1 -1
  25. package/lib/board-live-cards-public.js +1 -1
  26. package/lib/board-live-cards-server-runtime.cjs +2 -2
  27. package/lib/board-live-cards-server-runtime.js +2 -2
  28. package/lib/execution-refs.cjs +1 -1
  29. package/lib/execution-refs.d.cts +4 -2
  30. package/lib/execution-refs.d.ts +4 -2
  31. package/lib/execution-refs.js +1 -1
  32. package/lib/server-runtime/index.cjs +2 -2
  33. package/lib/server-runtime/index.js +2 -2
  34. package/package.json +1 -1
  35. /package/examples/board/.demo-setup/{run-1778643703151-3360-dopnpv → run-1778665078572-3466-a8ay4k}/board-default/gandalf-runtime/.config/chat-handler.json +0 -0
  36. /package/examples/board/.demo-setup/{run-1778643703151-3360-dopnpv → run-1778665078572-3466-a8ay4k}/board-default/gandalf-runtime/.config/task-executor.json +0 -0
  37. /package/examples/board/.demo-setup/{run-1778643703151-3360-dopnpv → run-1778665078572-3466-a8ay4k}/board-default/gandalf-runtime/.state-snapshot/board/lastJournalProcessedId.json +0 -0
  38. /package/examples/board/.demo-setup/{run-1778643703151-3360-dopnpv → run-1778665078572-3466-a8ay4k}/board-default/runtime-out/.outputs/cards/card-market-prices/computed_values.json +0 -0
  39. /package/examples/board/.demo-setup/{run-1778643703151-3360-dopnpv → run-1778665078572-3466-a8ay4k}/board-default/runtime-out/.outputs/cards/card-portfolio/computed_values.json +0 -0
  40. /package/examples/board/.demo-setup/{run-1778643703151-3360-dopnpv → run-1778665078572-3466-a8ay4k}/board-default/runtime-out/.outputs/cards/card-portfolio-value/computed_values.json +0 -0
  41. /package/examples/board/.demo-setup/{run-1778643703151-3360-dopnpv → run-1778665078572-3466-a8ay4k}/board-default/runtime-out/.outputs/data-objects/holdings.json +0 -0
  42. /package/examples/board/.demo-setup/{run-1778643703151-3360-dopnpv → run-1778665078572-3466-a8ay4k}/board-default/runtime-out/.outputs/data-objects/positions.json +0 -0
  43. /package/examples/board/.demo-setup/{run-1778643703151-3360-dopnpv → run-1778665078572-3466-a8ay4k}/board-default/runtime-out/.outputs/data-objects/quotes.json +0 -0
@@ -1,15 +1,15 @@
1
1
  #!/usr/bin/env node
2
- import {spawn,execFile,execFileSync}from'child_process';import*as P from'fs';import {existsSync}from'fs';import*as Fn from'os';import*as ce 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 Ph from'ajv-formats';var xc=Object.create;var Uo=Object.defineProperty;var Tc=Object.getOwnPropertyDescriptor;var Ac=Object.getOwnPropertyNames;var Ic=Object.getPrototypeOf,Pc=Object.prototype.hasOwnProperty;var x=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Oc=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Ac(e))!Pc.call(t,s)&&s!==r&&Uo(t,s,{get:()=>e[s],enumerable:!(n=Tc(e,s))||n.enumerable});return t};var jc=(t,e,r)=>(r=t!=null?xc(Ic(t)):{},Oc(Uo(r,"default",{value:t,enumerable:true}),t));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 vt=class extends rr{constructor(e){if(super(),!W.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e;}toString(){return this.str}emptyStr(){return false}get names(){return {[this.str]:1}}};W.Name=vt;var Ae=class extends rr{constructor(e){super(),this._items=typeof e=="string"?[e]:e;}toString(){return this.str}emptyStr(){if(this._items.length>1)return false;let e=this._items[0];return e===""||e==='""'}get str(){var e;return (e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var e;return (e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((r,n)=>(n instanceof vt&&(r[n.str]=(r[n.str]||0)+1),r),{})}};W._Code=Ae;W.nil=new Ae("");function pa(t,...e){let r=[t[0]],n=0;for(;n<e.length;)Wn(r,e[n]),r.push(t[++n]);return new Ae(r)}W._=pa;var zn=new Ae("+");function ma(t,...e){let r=[nr(t[0])],n=0;for(;n<e.length;)r.push(zn),Wn(r,e[n]),r.push(zn,nr(t[++n]));return od(r),new Ae(r)}W.str=ma;function Wn(t,e){e instanceof Ae?t.push(...e._items):e instanceof vt?t.push(e):t.push(ud(e));}W.addCodeArg=Wn;function od(t){let e=1;for(;e<t.length-1;){if(t[e]===zn){let r=ad(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+";}e++;}}function ad(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof vt||t[t.length-1]!=='"'?void 0:typeof e!="string"?`${t.slice(0,-1)}${e}"`:e[0]==='"'?t.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(t instanceof vt))return `"${t}${e.slice(1)}`}function id(t,e){return e.emptyStr()?t:t.emptyStr()?e:ma`${t}${e}`}W.strConcat=id;function ud(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:nr(Array.isArray(t)?t.join(","):t)}function cd(t){return new Ae(nr(t))}W.stringify=cd;function nr(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}W.safeStringify=nr;function dd(t){return typeof t=="string"&&W.IDENTIFIER.test(t)?new Ae(`.${t}`):pa`[${t}]`}W.getProperty=dd;function ld(t){if(typeof t=="string"&&W.IDENTIFIER.test(t))return new Ae(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}W.getEsmExportName=ld;function fd(t){return new Ae(t.toString())}W.regexpCode=fd;});var Qn=x(ke=>{Object.defineProperty(ke,"__esModule",{value:true});ke.ValueScope=ke.ValueScopeName=ke.Scope=ke.varKinds=ke.UsedValueState=void 0;var we=sr(),Yn=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value;}},Kr;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed";})(Kr||(ke.UsedValueState=Kr={}));ke.varKinds={const:new we.Name("const"),let:new we.Name("let"),var:new we.Name("var")};var Ur=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r;}toName(e){return e instanceof we.Name?e:this.name(e)}name(e){return new we.Name(this._newName(e))}_newName(e){let r=this._names[e]||this._nameGroup(e);return `${e}${r.index++}`}_nameGroup(e){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};ke.Scope=Ur;var Jr=class extends we.Name{constructor(e,r){super(r),this.prefix=e;}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0, we._)`.${new we.Name(r)}[${n}]`;}};ke.ValueScopeName=Jr;var pd=(0, we._)`\n`,Xn=class extends Ur{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?pd:we.nil};}get(){return this._scope}name(e){return new Jr(e,this._newName(e))}value(e,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let s=this.toName(e),{prefix:o}=s,a=(n=r.key)!==null&&n!==void 0?n:r.ref,i=this._values[o];if(i){let d=i.get(a);if(d)return d}else i=this._values[o]=new Map;i.set(a,s);let u=this._scope[o]||(this._scope[o]=[]),c=u.length;return u[c]=r.ref,s.setValue(r,{property:o,itemIndex:c}),s}getValue(e,r){let n=this._values[e];if(n)return n.get(r)}scopeRefs(e,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return (0, we._)`${e}${n.scopePath}`})}scopeCode(e=this._values,r,n){return this._reduceValues(e,s=>{if(s.value===void 0)throw new Error(`CodeGen: name "${s}" has no value`);return s.value.code},r,n)}_reduceValues(e,r,n={},s){let o=we.nil;for(let a in e){let i=e[a];if(!i)continue;let u=n[a]=n[a]||new Map;i.forEach(c=>{if(u.has(c))return;u.set(c,Kr.Started);let d=r(c);if(d){let l=this.opts.es5?ke.varKinds.var:ke.varKinds.const;o=(0, we._)`${o}${l} ${c} = ${d};${this.opts._n}`;}else if(d=s?.(c))o=(0, we._)`${o}${d}${this.opts._n}`;else throw new Yn(c);u.set(c,Kr.Completed);});}return o}};ke.ValueScope=Xn;});var G=x(B=>{Object.defineProperty(B,"__esModule",{value:true});B.or=B.and=B.not=B.CodeGen=B.operators=B.varKinds=B.ValueScopeName=B.ValueScope=B.Scope=B.Name=B.regexpCode=B.stringify=B.getProperty=B.nil=B.strConcat=B.str=B._=void 0;var J=sr(),je=Qn(),tt=sr();Object.defineProperty(B,"_",{enumerable:true,get:function(){return tt._}});Object.defineProperty(B,"str",{enumerable:true,get:function(){return tt.str}});Object.defineProperty(B,"strConcat",{enumerable:true,get:function(){return tt.strConcat}});Object.defineProperty(B,"nil",{enumerable:true,get:function(){return tt.nil}});Object.defineProperty(B,"getProperty",{enumerable:true,get:function(){return tt.getProperty}});Object.defineProperty(B,"stringify",{enumerable:true,get:function(){return tt.stringify}});Object.defineProperty(B,"regexpCode",{enumerable:true,get:function(){return tt.regexpCode}});Object.defineProperty(B,"Name",{enumerable:true,get:function(){return tt.Name}});var Yr=Qn();Object.defineProperty(B,"Scope",{enumerable:true,get:function(){return Yr.Scope}});Object.defineProperty(B,"ValueScope",{enumerable:true,get:function(){return Yr.ValueScope}});Object.defineProperty(B,"ValueScopeName",{enumerable:true,get:function(){return Yr.ValueScopeName}});Object.defineProperty(B,"varKinds",{enumerable:true,get:function(){return Yr.varKinds}});B.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 Ue=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},Zn=class extends Ue{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n;}render({es5:e,_n:r}){let n=e?je.varKinds.var:this.varKind,s=this.rhs===void 0?"":` = ${this.rhs}`;return `${n} ${this.name}${s};`+r}optimizeNames(e,r){if(e[this.name.str])return this.rhs&&(this.rhs=Dt(this.rhs,e,r)),this}get names(){return this.rhs instanceof J._CodeOrName?this.rhs.names:{}}},Hr=class extends Ue{constructor(e,r,n){super(),this.lhs=e,this.rhs=r,this.sideEffects=n;}render({_n:e}){return `${this.lhs} = ${this.rhs};`+e}optimizeNames(e,r){if(!(this.lhs instanceof J.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=Dt(this.rhs,e,r),this}get names(){let e=this.lhs instanceof J.Name?{}:{...this.lhs.names};return Wr(e,this.rhs)}},es=class extends Hr{constructor(e,r,n,s){super(e,n,s),this.op=r;}render({_n:e}){return `${this.lhs} ${this.op}= ${this.rhs};`+e}},ts=class extends Ue{constructor(e){super(),this.label=e,this.names={};}render({_n:e}){return `${this.label}:`+e}},rs=class extends Ue{constructor(e){super(),this.label=e,this.names={};}render({_n:e}){return `break${this.label?` ${this.label}`:""};`+e}},ns=class extends Ue{constructor(e){super(),this.error=e;}render({_n:e}){return `throw ${this.error};`+e}get names(){return this.error.names}},ss=class extends Ue{constructor(e){super(),this.code=e;}render({_n:e}){return `${this.code};`+e}optimizeNodes(){return `${this.code}`?this:void 0}optimizeNames(e,r){return this.code=Dt(this.code,e,r),this}get names(){return this.code instanceof J._CodeOrName?this.code.names:{}}},or=class extends Ue{constructor(e=[]){super(),this.nodes=e;}render(e){return this.nodes.reduce((r,n)=>r+n.render(e),"")}optimizeNodes(){let{nodes:e}=this,r=e.length;for(;r--;){let n=e[r].optimizeNodes();Array.isArray(n)?e.splice(r,1,...n):n?e[r]=n:e.splice(r,1);}return e.length>0?this:void 0}optimizeNames(e,r){let{nodes:n}=this,s=n.length;for(;s--;){let o=n[s];o.optimizeNames(e,r)||(md(e,o.names),n.splice(s,1));}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>wt(e,r.names),{})}},Je=class extends or{render(e){return "{"+e._n+super.render(e)+"}"+e._n}},os=class extends or{},qt=class extends Je{};qt.kind="else";var bt=class t extends Je{constructor(e,r){super(r),this.condition=e;}render(e){let r=`if(${this.condition})`+super.render(e);return this.else&&(r+="else "+this.else.render(e)),r}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===true)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new qt(n):n;}if(r)return e===false?r instanceof t?r:r.nodes:this.nodes.length?this:new t(ha(e),r instanceof t?[r]:r.nodes);if(!(e===false||!this.nodes.length))return this}optimizeNames(e,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(e,r),!!(super.optimizeNames(e,r)||this.else))return this.condition=Dt(this.condition,e,r),this}get names(){let e=super.names;return Wr(e,this.condition),this.else&&wt(e,this.else.names),e}};bt.kind="if";var St=class extends Je{};St.kind="for";var as=class extends St{constructor(e){super(),this.iteration=e;}render(e){return `for(${this.iteration})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iteration=Dt(this.iteration,e,r),this}get names(){return wt(super.names,this.iteration.names)}},is=class extends St{constructor(e,r,n,s){super(),this.varKind=e,this.name=r,this.from=n,this.to=s;}render(e){let r=e.es5?je.varKinds.var:this.varKind,{name:n,from:s,to:o}=this;return `for(${r} ${n}=${s}; ${n}<${o}; ${n}++)`+super.render(e)}get names(){let e=Wr(super.names,this.from);return Wr(e,this.to)}},zr=class extends St{constructor(e,r,n,s){super(),this.loop=e,this.varKind=r,this.name=n,this.iterable=s;}render(e){return `for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iterable=Dt(this.iterable,e,r),this}get names(){return wt(super.names,this.iterable.names)}},ar=class extends Je{constructor(e,r,n){super(),this.name=e,this.args=r,this.async=n;}render(e){return `${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};ar.kind="func";var ir=class extends or{render(e){return "return "+super.render(e)}};ir.kind="return";var us=class extends Je{render(e){let r="try"+super.render(e);return this.catch&&(r+=this.catch.render(e)),this.finally&&(r+=this.finally.render(e)),r}optimizeNodes(){var e,r;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(e,r){var n,s;return super.optimizeNames(e,r),(n=this.catch)===null||n===void 0||n.optimizeNames(e,r),(s=this.finally)===null||s===void 0||s.optimizeNames(e,r),this}get names(){let e=super.names;return this.catch&&wt(e,this.catch.names),this.finally&&wt(e,this.finally.names),e}},ur=class extends Je{constructor(e){super(),this.error=e;}render(e){return `catch(${this.error})`+super.render(e)}};ur.kind="catch";var cr=class extends Je{render(e){return "finally"+super.render(e)}};cr.kind="finally";var cs=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
3
- `:""},this._extScope=e,this._scope=new je.Scope({parent:e}),this._nodes=[new os];}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let n=this._extScope.value(e,r);return (this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,r){return this._extScope.getValue(e,r)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,r,n,s){let o=this._scope.toName(r);return n!==void 0&&s&&(this._constants[o.str]=n),this._leafNode(new Zn(e,o,n)),o}const(e,r,n){return this._def(je.varKinds.const,e,r,n)}let(e,r,n){return this._def(je.varKinds.let,e,r,n)}var(e,r,n){return this._def(je.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new Hr(e,r,n))}add(e,r){return this._leafNode(new es(e,B.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==J.nil&&this._leafNode(new ss(e)),this}object(...e){let r=["{"];for(let[n,s]of e)r.length>1&&r.push(","),r.push(n),(n!==s||this.opts.es5)&&(r.push(":"),(0, J.addCodeArg)(r,s));return r.push("}"),new J._Code(r)}if(e,r,n){if(this._blockNode(new bt(e)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new bt(e))}else(){return this._elseNode(new qt)}endIf(){return this._endBlockNode(bt,qt)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new as(e),r)}forRange(e,r,n,s,o=this.opts.es5?je.varKinds.var:je.varKinds.let){let a=this._scope.toName(e);return this._for(new is(o,a,r,n),()=>s(a))}forOf(e,r,n,s=je.varKinds.const){let o=this._scope.toName(e);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 zr("of",s,o,r),()=>n(o))}forIn(e,r,n,s=this.opts.es5?je.varKinds.var:je.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0, J._)`Object.keys(${r})`,n);let o=this._scope.toName(e);return this._for(new zr("in",s,o,r),()=>n(o))}endFor(){return this._endBlockNode(St)}label(e){return this._leafNode(new ts(e))}break(e){return this._leafNode(new rs(e))}return(e){let r=new ir;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(ir)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let s=new us;if(this._blockNode(s),this.code(e),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(e){return this._leafNode(new ns(e))}block(e,r){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(r),this}endBlock(e){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||e!==void 0&&n!==e)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=r,this}func(e,r=J.nil,n,s){return this._blockNode(new ar(e,r,n)),s&&this.code(s).endFunc(),this}endFunc(){return this._endBlockNode(ar)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants);}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e);}_endBlockNode(e,r){let n=this._currNode;if(n instanceof e||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${e.kind}/${r.kind}`:e.kind}"`)}_elseNode(e){let r=this._currNode;if(!(r instanceof bt))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let r=this._nodes;r[r.length-1]=e;}};B.CodeGen=cs;function wt(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function Wr(t,e){return e instanceof J._CodeOrName?wt(t,e.names):t}function Dt(t,e,r){if(t instanceof J.Name)return n(t);if(!s(t))return t;return new J._Code(t._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||e[o.str]!==1?o:(delete e[o.str],a)}function s(o){return o instanceof J._Code&&o._items.some(a=>a instanceof J.Name&&e[a.str]===1&&r[a.str]!==void 0)}}function md(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0);}function ha(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0, J._)`!${ds(t)}`}B.not=ha;var hd=ga(B.operators.AND);function gd(...t){return t.reduce(hd)}B.and=gd;var yd=ga(B.operators.OR);function vd(...t){return t.reduce(yd)}B.or=vd;function ga(t){return (e,r)=>e===J.nil?r:r===J.nil?e:(0, J._)`${ds(e)} ${t} ${ds(r)}`}function ds(t){return t instanceof J.Name?t:(0, J._)`(${t})`}});var H=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 Z=G(),bd=sr();function Sd(t){let e={};for(let r of t)e[r]=true;return e}K.toHash=Sd;function wd(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?true:(ba(t,e),!Sa(e,t.self.RULES.all))}K.alwaysValidSchema=wd;function ba(t,e=t.schema){let{opts:r,self:n}=t;if(!r.strictSchema||typeof e=="boolean")return;let s=n.RULES.keywords;for(let o in e)s[o]||_a(t,`unknown keyword: "${o}"`);}K.checkUnknownRules=ba;function Sa(t,e){if(typeof t=="boolean")return !t;for(let r in t)if(e[r])return true;return false}K.schemaHasRules=Sa;function kd(t,e){if(typeof t=="boolean")return !t;for(let r in t)if(r!=="$ref"&&e.all[r])return true;return false}K.schemaHasRulesButRef=kd;function _d({topSchemaRef:t,schemaPath:e},r,n,s){if(!s){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return (0, Z._)`${r}`}return (0, Z._)`${t}${e}${(0, Z.getProperty)(n)}`}K.schemaRefOrVal=_d;function Rd(t){return wa(decodeURIComponent(t))}K.unescapeFragment=Rd;function Cd(t){return encodeURIComponent(fs(t))}K.escapeFragment=Cd;function fs(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}K.escapeJsonPointer=fs;function wa(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}K.unescapeJsonPointer=wa;function $d(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t);}K.eachItem=$d;function ya({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return (s,o,a,i)=>{let u=a===void 0?o:a instanceof Z.Name?(o instanceof Z.Name?t(s,o,a):e(s,o,a),a):o instanceof Z.Name?(e(s,a,o),o):r(o,a);return i===Z.Name&&!(u instanceof Z.Name)?n(s,u):u}}K.mergeEvaluated={props:ya({mergeNames:(t,e,r)=>t.if((0, Z._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0, Z._)`${e} === true`,()=>t.assign(r,true),()=>t.assign(r,(0, Z._)`${r} || {}`).code((0, Z._)`Object.assign(${r}, ${e})`));}),mergeToName:(t,e,r)=>t.if((0, Z._)`${r} !== true`,()=>{e===true?t.assign(r,true):(t.assign(r,(0, Z._)`${r} || {}`),ps(t,r,e));}),mergeValues:(t,e)=>t===true?true:{...t,...e},resultToName:ka}),items:ya({mergeNames:(t,e,r)=>t.if((0, Z._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0, Z._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0, Z._)`${r} !== true`,()=>t.assign(r,e===true?true:(0, Z._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===true?true:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function ka(t,e){if(e===true)return t.var("props",true);let r=t.var("props",(0, Z._)`{}`);return e!==void 0&&ps(t,r,e),r}K.evaluatedPropsToName=ka;function ps(t,e,r){Object.keys(r).forEach(n=>t.assign((0, Z._)`${e}${(0, Z.getProperty)(n)}`,true));}K.setEvaluated=ps;var va={};function Ed(t,e){return t.scopeValue("func",{ref:e,code:va[e.code]||(va[e.code]=new bd._Code(e.code))})}K.useFunc=Ed;var ls;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str";})(ls||(K.Type=ls={}));function xd(t,e,r){if(t instanceof Z.Name){let n=e===ls.Num;return r?n?(0, Z._)`"[" + ${t} + "]"`:(0, Z._)`"['" + ${t} + "']"`:n?(0, Z._)`"/" + ${t}`:(0, Z._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0, Z.getProperty)(t).toString():"/"+fs(t)}K.getErrorPath=xd;function _a(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===true)throw new Error(e);t.self.logger.warn(e);}}K.checkStrictMode=_a;});var He=x(ms=>{Object.defineProperty(ms,"__esModule",{value:true});var pe=G(),Td={data:new pe.Name("data"),valCxt:new pe.Name("valCxt"),instancePath:new pe.Name("instancePath"),parentData:new pe.Name("parentData"),parentDataProperty:new pe.Name("parentDataProperty"),rootData:new pe.Name("rootData"),dynamicAnchors:new pe.Name("dynamicAnchors"),vErrors:new pe.Name("vErrors"),errors:new pe.Name("errors"),this:new pe.Name("this"),self:new pe.Name("self"),scope:new pe.Name("scope"),json:new pe.Name("json"),jsonPos:new pe.Name("jsonPos"),jsonLen:new pe.Name("jsonLen"),jsonPart:new pe.Name("jsonPart")};ms.default=Td;});var dr=x(me=>{Object.defineProperty(me,"__esModule",{value:true});me.extendErrors=me.resetErrorsCount=me.reportExtraError=me.reportError=me.keyword$DataError=me.keywordError=void 0;var z=G(),Xr=H(),ve=He();me.keywordError={message:({keyword:t})=>(0, z.str)`must pass "${t}" keyword validation`};me.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0, z.str)`"${t}" keyword must be ${e} ($data)`:(0, z.str)`"${t}" keyword is invalid ($data)`};function Ad(t,e=me.keywordError,r,n){let{it:s}=t,{gen:o,compositeRule:a,allErrors:i}=s,u=$a(t,e,r);n??(a||i)?Ra(o,u):Ca(s,(0, z._)`[${u}]`);}me.reportError=Ad;function Id(t,e=me.keywordError,r){let{it:n}=t,{gen:s,compositeRule:o,allErrors:a}=n,i=$a(t,e,r);Ra(s,i),o||a||Ca(n,ve.default.vErrors);}me.reportExtraError=Id;function Pd(t,e){t.assign(ve.default.errors,e),t.if((0, z._)`${ve.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0, z._)`${ve.default.vErrors}.length`,e),()=>t.assign(ve.default.vErrors,null)));}me.resetErrorsCount=Pd;function Od({gen:t,keyword:e,schemaValue:r,data:n,errsCount:s,it:o}){if(s===void 0)throw new Error("ajv implementation error");let a=t.name("err");t.forRange("i",s,ve.default.errors,i=>{t.const(a,(0, z._)`${ve.default.vErrors}[${i}]`),t.if((0, z._)`${a}.instancePath === undefined`,()=>t.assign((0, z._)`${a}.instancePath`,(0, z.strConcat)(ve.default.instancePath,o.errorPath))),t.assign((0, z._)`${a}.schemaPath`,(0, z.str)`${o.errSchemaPath}/${e}`),o.opts.verbose&&(t.assign((0, z._)`${a}.schema`,r),t.assign((0, z._)`${a}.data`,n));});}me.extendErrors=Od;function Ra(t,e){let r=t.const("err",e);t.if((0, z._)`${ve.default.vErrors} === null`,()=>t.assign(ve.default.vErrors,(0, z._)`[${r}]`),(0, z._)`${ve.default.vErrors}.push(${r})`),t.code((0, z._)`${ve.default.errors}++`);}function Ca(t,e){let{gen:r,validateName:n,schemaEnv:s}=t;s.$async?r.throw((0, z._)`new ${t.ValidationError}(${e})`):(r.assign((0, z._)`${n}.errors`,e),r.return(false));}var kt={keyword:new z.Name("keyword"),schemaPath:new z.Name("schemaPath"),params:new z.Name("params"),propertyName:new z.Name("propertyName"),message:new z.Name("message"),schema:new z.Name("schema"),parentSchema:new z.Name("parentSchema")};function $a(t,e,r){let{createErrors:n}=t.it;return n===false?(0, z._)`{}`:jd(t,e,r)}function jd(t,e,r={}){let{gen:n,it:s}=t,o=[Nd(s,r),qd(t,r)];return Dd(t,e,o),n.object(...o)}function Nd({errorPath:t},{instancePath:e}){let r=e?(0, z.str)`${t}${(0, Xr.getErrorPath)(e,Xr.Type.Str)}`:t;return [ve.default.instancePath,(0, z.strConcat)(ve.default.instancePath,r)]}function qd({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let s=n?e:(0, z.str)`${e}/${t}`;return r&&(s=(0, z.str)`${s}${(0, Xr.getErrorPath)(r,Xr.Type.Str)}`),[kt.schemaPath,s]}function Dd(t,{params:e,message:r},n){let{keyword:s,data:o,schemaValue:a,it:i}=t,{opts:u,propertyName:c,topSchemaRef:d,schemaPath:l}=i;n.push([kt.keyword,s],[kt.params,typeof e=="function"?e(t):e||(0, z._)`{}`]),u.messages&&n.push([kt.message,typeof r=="function"?r(t):r]),u.verbose&&n.push([kt.schema,a],[kt.parentSchema,(0, z._)`${d}${l}`],[ve.default.data,o]),c&&n.push([kt.propertyName,c]);}});var xa=x(Ft=>{Object.defineProperty(Ft,"__esModule",{value:true});Ft.boolOrEmptySchema=Ft.topBoolOrEmptySchema=void 0;var Fd=dr(),Md=G(),Ld=He(),Vd={message:"boolean schema is false"};function Bd(t){let{gen:e,schema:r,validateName:n}=t;r===false?Ea(t,false):typeof r=="object"&&r.$async===true?e.return(Ld.default.data):(e.assign((0, Md._)`${n}.errors`,null),e.return(true));}Ft.topBoolOrEmptySchema=Bd;function Gd(t,e){let{gen:r,schema:n}=t;n===false?(r.var(e,false),Ea(t)):r.var(e,true);}Ft.boolOrEmptySchema=Gd;function Ea(t,e){let{gen:r,data:n}=t,s={gen:r,keyword:"false schema",data:n,schema:false,schemaCode:false,schemaValue:false,params:{},it:t};(0, Fd.reportError)(s,Vd,void 0,e);}});var hs=x(Mt=>{Object.defineProperty(Mt,"__esModule",{value:true});Mt.getRules=Mt.isJSONType=void 0;var Kd=["string","number","integer","boolean","null","object","array"],Ud=new Set(Kd);function Jd(t){return typeof t=="string"&&Ud.has(t)}Mt.isJSONType=Jd;function Hd(){let t={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return {types:{...t,integer:true,boolean:true,null:true},rules:[{rules:[]},t.number,t.string,t.array,t.object],post:{rules:[]},all:{},keywords:{}}}Mt.getRules=Hd;});var gs=x(rt=>{Object.defineProperty(rt,"__esModule",{value:true});rt.shouldUseRule=rt.shouldUseGroup=rt.schemaHasRulesForType=void 0;function zd({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==true&&Ta(t,n)}rt.schemaHasRulesForType=zd;function Ta(t,e){return e.rules.some(r=>Aa(t,r))}rt.shouldUseGroup=Ta;function Aa(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(n=>t[n]!==void 0))}rt.shouldUseRule=Aa;});var lr=x(he=>{Object.defineProperty(he,"__esModule",{value:true});he.reportTypeError=he.checkDataTypes=he.checkDataType=he.coerceAndCheckDataType=he.getJSONTypes=he.getSchemaTypes=he.DataType=void 0;var Wd=hs(),Yd=gs(),Xd=dr(),L=G(),Ia=H(),Lt;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong";})(Lt||(he.DataType=Lt={}));function Qd(t){let e=Pa(t.type);if(e.includes("null")){if(t.nullable===false)throw new Error("type: null contradicts nullable: false")}else {if(!e.length&&t.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');t.nullable===true&&e.push("null");}return e}he.getSchemaTypes=Qd;function Pa(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(Wd.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}he.getJSONTypes=Pa;function Zd(t,e){let{gen:r,data:n,opts:s}=t,o=el(e,s.coerceTypes),a=e.length>0&&!(o.length===0&&e.length===1&&(0, Yd.schemaHasRulesForType)(t,e[0]));if(a){let i=vs(e,n,s.strictNumbers,Lt.Wrong);r.if(i,()=>{o.length?tl(t,e,o):bs(t);});}return a}he.coerceAndCheckDataType=Zd;var Oa=new Set(["string","number","integer","boolean","null"]);function el(t,e){return e?t.filter(r=>Oa.has(r)||e==="array"&&r==="array"):[]}function tl(t,e,r){let{gen:n,data:s,opts:o}=t,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(vs(e,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(),bs(t),n.endIf(),n.if((0, L._)`${i} !== undefined`,()=>{n.assign(s,i),rl(t,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 P from'fs';import {existsSync}from'fs';import*as Fn from'os';import*as ce 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 Ph from'ajv-formats';var xc=Object.create;var Uo=Object.defineProperty;var Tc=Object.getOwnPropertyDescriptor;var Ac=Object.getOwnPropertyNames;var Ic=Object.getPrototypeOf,Pc=Object.prototype.hasOwnProperty;var x=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Oc=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Ac(e))!Pc.call(t,s)&&s!==r&&Uo(t,s,{get:()=>e[s],enumerable:!(n=Tc(e,s))||n.enumerable});return t};var jc=(t,e,r)=>(r=t!=null?xc(Ic(t)):{},Oc(Uo(r,"default",{value:t,enumerable:true}),t));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 vt=class extends rr{constructor(e){if(super(),!W.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e;}toString(){return this.str}emptyStr(){return false}get names(){return {[this.str]:1}}};W.Name=vt;var Ae=class extends rr{constructor(e){super(),this._items=typeof e=="string"?[e]:e;}toString(){return this.str}emptyStr(){if(this._items.length>1)return false;let e=this._items[0];return e===""||e==='""'}get str(){var e;return (e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var e;return (e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((r,n)=>(n instanceof vt&&(r[n.str]=(r[n.str]||0)+1),r),{})}};W._Code=Ae;W.nil=new Ae("");function pa(t,...e){let r=[t[0]],n=0;for(;n<e.length;)Wn(r,e[n]),r.push(t[++n]);return new Ae(r)}W._=pa;var zn=new Ae("+");function ma(t,...e){let r=[nr(t[0])],n=0;for(;n<e.length;)r.push(zn),Wn(r,e[n]),r.push(zn,nr(t[++n]));return od(r),new Ae(r)}W.str=ma;function Wn(t,e){e instanceof Ae?t.push(...e._items):e instanceof vt?t.push(e):t.push(ud(e));}W.addCodeArg=Wn;function od(t){let e=1;for(;e<t.length-1;){if(t[e]===zn){let r=ad(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+";}e++;}}function ad(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof vt||t[t.length-1]!=='"'?void 0:typeof e!="string"?`${t.slice(0,-1)}${e}"`:e[0]==='"'?t.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(t instanceof vt))return `"${t}${e.slice(1)}`}function id(t,e){return e.emptyStr()?t:t.emptyStr()?e:ma`${t}${e}`}W.strConcat=id;function ud(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:nr(Array.isArray(t)?t.join(","):t)}function cd(t){return new Ae(nr(t))}W.stringify=cd;function nr(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}W.safeStringify=nr;function dd(t){return typeof t=="string"&&W.IDENTIFIER.test(t)?new Ae(`.${t}`):pa`[${t}]`}W.getProperty=dd;function ld(t){if(typeof t=="string"&&W.IDENTIFIER.test(t))return new Ae(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}W.getEsmExportName=ld;function fd(t){return new Ae(t.toString())}W.regexpCode=fd;});var Qn=x(Se=>{Object.defineProperty(Se,"__esModule",{value:true});Se.ValueScope=Se.ValueScopeName=Se.Scope=Se.varKinds=Se.UsedValueState=void 0;var we=sr(),Yn=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value;}},Kr;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed";})(Kr||(Se.UsedValueState=Kr={}));Se.varKinds={const:new we.Name("const"),let:new we.Name("let"),var:new we.Name("var")};var Ur=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r;}toName(e){return e instanceof we.Name?e:this.name(e)}name(e){return new we.Name(this._newName(e))}_newName(e){let r=this._names[e]||this._nameGroup(e);return `${e}${r.index++}`}_nameGroup(e){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};Se.Scope=Ur;var Jr=class extends we.Name{constructor(e,r){super(r),this.prefix=e;}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0, we._)`.${new we.Name(r)}[${n}]`;}};Se.ValueScopeName=Jr;var pd=(0, we._)`\n`,Xn=class extends Ur{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?pd:we.nil};}get(){return this._scope}name(e){return new Jr(e,this._newName(e))}value(e,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let s=this.toName(e),{prefix:o}=s,a=(n=r.key)!==null&&n!==void 0?n:r.ref,i=this._values[o];if(i){let d=i.get(a);if(d)return d}else i=this._values[o]=new Map;i.set(a,s);let u=this._scope[o]||(this._scope[o]=[]),c=u.length;return u[c]=r.ref,s.setValue(r,{property:o,itemIndex:c}),s}getValue(e,r){let n=this._values[e];if(n)return n.get(r)}scopeRefs(e,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return (0, we._)`${e}${n.scopePath}`})}scopeCode(e=this._values,r,n){return this._reduceValues(e,s=>{if(s.value===void 0)throw new Error(`CodeGen: name "${s}" has no value`);return s.value.code},r,n)}_reduceValues(e,r,n={},s){let o=we.nil;for(let a in e){let i=e[a];if(!i)continue;let u=n[a]=n[a]||new Map;i.forEach(c=>{if(u.has(c))return;u.set(c,Kr.Started);let d=r(c);if(d){let l=this.opts.es5?Se.varKinds.var:Se.varKinds.const;o=(0, we._)`${o}${l} ${c} = ${d};${this.opts._n}`;}else if(d=s?.(c))o=(0, we._)`${o}${d}${this.opts._n}`;else throw new Yn(c);u.set(c,Kr.Completed);});}return o}};Se.ValueScope=Xn;});var G=x(B=>{Object.defineProperty(B,"__esModule",{value:true});B.or=B.and=B.not=B.CodeGen=B.operators=B.varKinds=B.ValueScopeName=B.ValueScope=B.Scope=B.Name=B.regexpCode=B.stringify=B.getProperty=B.nil=B.strConcat=B.str=B._=void 0;var J=sr(),je=Qn(),tt=sr();Object.defineProperty(B,"_",{enumerable:true,get:function(){return tt._}});Object.defineProperty(B,"str",{enumerable:true,get:function(){return tt.str}});Object.defineProperty(B,"strConcat",{enumerable:true,get:function(){return tt.strConcat}});Object.defineProperty(B,"nil",{enumerable:true,get:function(){return tt.nil}});Object.defineProperty(B,"getProperty",{enumerable:true,get:function(){return tt.getProperty}});Object.defineProperty(B,"stringify",{enumerable:true,get:function(){return tt.stringify}});Object.defineProperty(B,"regexpCode",{enumerable:true,get:function(){return tt.regexpCode}});Object.defineProperty(B,"Name",{enumerable:true,get:function(){return tt.Name}});var Yr=Qn();Object.defineProperty(B,"Scope",{enumerable:true,get:function(){return Yr.Scope}});Object.defineProperty(B,"ValueScope",{enumerable:true,get:function(){return Yr.ValueScope}});Object.defineProperty(B,"ValueScopeName",{enumerable:true,get:function(){return Yr.ValueScopeName}});Object.defineProperty(B,"varKinds",{enumerable:true,get:function(){return Yr.varKinds}});B.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 Ue=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},Zn=class extends Ue{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n;}render({es5:e,_n:r}){let n=e?je.varKinds.var:this.varKind,s=this.rhs===void 0?"":` = ${this.rhs}`;return `${n} ${this.name}${s};`+r}optimizeNames(e,r){if(e[this.name.str])return this.rhs&&(this.rhs=Dt(this.rhs,e,r)),this}get names(){return this.rhs instanceof J._CodeOrName?this.rhs.names:{}}},Hr=class extends Ue{constructor(e,r,n){super(),this.lhs=e,this.rhs=r,this.sideEffects=n;}render({_n:e}){return `${this.lhs} = ${this.rhs};`+e}optimizeNames(e,r){if(!(this.lhs instanceof J.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=Dt(this.rhs,e,r),this}get names(){let e=this.lhs instanceof J.Name?{}:{...this.lhs.names};return Wr(e,this.rhs)}},es=class extends Hr{constructor(e,r,n,s){super(e,n,s),this.op=r;}render({_n:e}){return `${this.lhs} ${this.op}= ${this.rhs};`+e}},ts=class extends Ue{constructor(e){super(),this.label=e,this.names={};}render({_n:e}){return `${this.label}:`+e}},rs=class extends Ue{constructor(e){super(),this.label=e,this.names={};}render({_n:e}){return `break${this.label?` ${this.label}`:""};`+e}},ns=class extends Ue{constructor(e){super(),this.error=e;}render({_n:e}){return `throw ${this.error};`+e}get names(){return this.error.names}},ss=class extends Ue{constructor(e){super(),this.code=e;}render({_n:e}){return `${this.code};`+e}optimizeNodes(){return `${this.code}`?this:void 0}optimizeNames(e,r){return this.code=Dt(this.code,e,r),this}get names(){return this.code instanceof J._CodeOrName?this.code.names:{}}},or=class extends Ue{constructor(e=[]){super(),this.nodes=e;}render(e){return this.nodes.reduce((r,n)=>r+n.render(e),"")}optimizeNodes(){let{nodes:e}=this,r=e.length;for(;r--;){let n=e[r].optimizeNodes();Array.isArray(n)?e.splice(r,1,...n):n?e[r]=n:e.splice(r,1);}return e.length>0?this:void 0}optimizeNames(e,r){let{nodes:n}=this,s=n.length;for(;s--;){let o=n[s];o.optimizeNames(e,r)||(md(e,o.names),n.splice(s,1));}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>wt(e,r.names),{})}},Je=class extends or{render(e){return "{"+e._n+super.render(e)+"}"+e._n}},os=class extends or{},qt=class extends Je{};qt.kind="else";var bt=class t extends Je{constructor(e,r){super(r),this.condition=e;}render(e){let r=`if(${this.condition})`+super.render(e);return this.else&&(r+="else "+this.else.render(e)),r}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===true)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new qt(n):n;}if(r)return e===false?r instanceof t?r:r.nodes:this.nodes.length?this:new t(ha(e),r instanceof t?[r]:r.nodes);if(!(e===false||!this.nodes.length))return this}optimizeNames(e,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(e,r),!!(super.optimizeNames(e,r)||this.else))return this.condition=Dt(this.condition,e,r),this}get names(){let e=super.names;return Wr(e,this.condition),this.else&&wt(e,this.else.names),e}};bt.kind="if";var kt=class extends Je{};kt.kind="for";var as=class extends kt{constructor(e){super(),this.iteration=e;}render(e){return `for(${this.iteration})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iteration=Dt(this.iteration,e,r),this}get names(){return wt(super.names,this.iteration.names)}},is=class extends kt{constructor(e,r,n,s){super(),this.varKind=e,this.name=r,this.from=n,this.to=s;}render(e){let r=e.es5?je.varKinds.var:this.varKind,{name:n,from:s,to:o}=this;return `for(${r} ${n}=${s}; ${n}<${o}; ${n}++)`+super.render(e)}get names(){let e=Wr(super.names,this.from);return Wr(e,this.to)}},zr=class extends kt{constructor(e,r,n,s){super(),this.loop=e,this.varKind=r,this.name=n,this.iterable=s;}render(e){return `for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iterable=Dt(this.iterable,e,r),this}get names(){return wt(super.names,this.iterable.names)}},ar=class extends Je{constructor(e,r,n){super(),this.name=e,this.args=r,this.async=n;}render(e){return `${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};ar.kind="func";var ir=class extends or{render(e){return "return "+super.render(e)}};ir.kind="return";var us=class extends Je{render(e){let r="try"+super.render(e);return this.catch&&(r+=this.catch.render(e)),this.finally&&(r+=this.finally.render(e)),r}optimizeNodes(){var e,r;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(e,r){var n,s;return super.optimizeNames(e,r),(n=this.catch)===null||n===void 0||n.optimizeNames(e,r),(s=this.finally)===null||s===void 0||s.optimizeNames(e,r),this}get names(){let e=super.names;return this.catch&&wt(e,this.catch.names),this.finally&&wt(e,this.finally.names),e}},ur=class extends Je{constructor(e){super(),this.error=e;}render(e){return `catch(${this.error})`+super.render(e)}};ur.kind="catch";var cr=class extends Je{render(e){return "finally"+super.render(e)}};cr.kind="finally";var cs=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
3
+ `:""},this._extScope=e,this._scope=new je.Scope({parent:e}),this._nodes=[new os];}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let n=this._extScope.value(e,r);return (this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,r){return this._extScope.getValue(e,r)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,r,n,s){let o=this._scope.toName(r);return n!==void 0&&s&&(this._constants[o.str]=n),this._leafNode(new Zn(e,o,n)),o}const(e,r,n){return this._def(je.varKinds.const,e,r,n)}let(e,r,n){return this._def(je.varKinds.let,e,r,n)}var(e,r,n){return this._def(je.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new Hr(e,r,n))}add(e,r){return this._leafNode(new es(e,B.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==J.nil&&this._leafNode(new ss(e)),this}object(...e){let r=["{"];for(let[n,s]of e)r.length>1&&r.push(","),r.push(n),(n!==s||this.opts.es5)&&(r.push(":"),(0, J.addCodeArg)(r,s));return r.push("}"),new J._Code(r)}if(e,r,n){if(this._blockNode(new bt(e)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new bt(e))}else(){return this._elseNode(new qt)}endIf(){return this._endBlockNode(bt,qt)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new as(e),r)}forRange(e,r,n,s,o=this.opts.es5?je.varKinds.var:je.varKinds.let){let a=this._scope.toName(e);return this._for(new is(o,a,r,n),()=>s(a))}forOf(e,r,n,s=je.varKinds.const){let o=this._scope.toName(e);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 zr("of",s,o,r),()=>n(o))}forIn(e,r,n,s=this.opts.es5?je.varKinds.var:je.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0, J._)`Object.keys(${r})`,n);let o=this._scope.toName(e);return this._for(new zr("in",s,o,r),()=>n(o))}endFor(){return this._endBlockNode(kt)}label(e){return this._leafNode(new ts(e))}break(e){return this._leafNode(new rs(e))}return(e){let r=new ir;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(ir)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let s=new us;if(this._blockNode(s),this.code(e),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(e){return this._leafNode(new ns(e))}block(e,r){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(r),this}endBlock(e){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||e!==void 0&&n!==e)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=r,this}func(e,r=J.nil,n,s){return this._blockNode(new ar(e,r,n)),s&&this.code(s).endFunc(),this}endFunc(){return this._endBlockNode(ar)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants);}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e);}_endBlockNode(e,r){let n=this._currNode;if(n instanceof e||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${e.kind}/${r.kind}`:e.kind}"`)}_elseNode(e){let r=this._currNode;if(!(r instanceof bt))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let r=this._nodes;r[r.length-1]=e;}};B.CodeGen=cs;function wt(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function Wr(t,e){return e instanceof J._CodeOrName?wt(t,e.names):t}function Dt(t,e,r){if(t instanceof J.Name)return n(t);if(!s(t))return t;return new J._Code(t._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||e[o.str]!==1?o:(delete e[o.str],a)}function s(o){return o instanceof J._Code&&o._items.some(a=>a instanceof J.Name&&e[a.str]===1&&r[a.str]!==void 0)}}function md(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0);}function ha(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0, J._)`!${ds(t)}`}B.not=ha;var hd=ga(B.operators.AND);function gd(...t){return t.reduce(hd)}B.and=gd;var yd=ga(B.operators.OR);function vd(...t){return t.reduce(yd)}B.or=vd;function ga(t){return (e,r)=>e===J.nil?r:r===J.nil?e:(0, J._)`${ds(e)} ${t} ${ds(r)}`}function ds(t){return t instanceof J.Name?t:(0, J._)`(${t})`}});var H=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 Z=G(),bd=sr();function kd(t){let e={};for(let r of t)e[r]=true;return e}K.toHash=kd;function wd(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?true:(ba(t,e),!ka(e,t.self.RULES.all))}K.alwaysValidSchema=wd;function ba(t,e=t.schema){let{opts:r,self:n}=t;if(!r.strictSchema||typeof e=="boolean")return;let s=n.RULES.keywords;for(let o in e)s[o]||_a(t,`unknown keyword: "${o}"`);}K.checkUnknownRules=ba;function ka(t,e){if(typeof t=="boolean")return !t;for(let r in t)if(e[r])return true;return false}K.schemaHasRules=ka;function Sd(t,e){if(typeof t=="boolean")return !t;for(let r in t)if(r!=="$ref"&&e.all[r])return true;return false}K.schemaHasRulesButRef=Sd;function _d({topSchemaRef:t,schemaPath:e},r,n,s){if(!s){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return (0, Z._)`${r}`}return (0, Z._)`${t}${e}${(0, Z.getProperty)(n)}`}K.schemaRefOrVal=_d;function Rd(t){return wa(decodeURIComponent(t))}K.unescapeFragment=Rd;function Cd(t){return encodeURIComponent(fs(t))}K.escapeFragment=Cd;function fs(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}K.escapeJsonPointer=fs;function wa(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}K.unescapeJsonPointer=wa;function $d(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t);}K.eachItem=$d;function ya({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return (s,o,a,i)=>{let u=a===void 0?o:a instanceof Z.Name?(o instanceof Z.Name?t(s,o,a):e(s,o,a),a):o instanceof Z.Name?(e(s,a,o),o):r(o,a);return i===Z.Name&&!(u instanceof Z.Name)?n(s,u):u}}K.mergeEvaluated={props:ya({mergeNames:(t,e,r)=>t.if((0, Z._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0, Z._)`${e} === true`,()=>t.assign(r,true),()=>t.assign(r,(0, Z._)`${r} || {}`).code((0, Z._)`Object.assign(${r}, ${e})`));}),mergeToName:(t,e,r)=>t.if((0, Z._)`${r} !== true`,()=>{e===true?t.assign(r,true):(t.assign(r,(0, Z._)`${r} || {}`),ps(t,r,e));}),mergeValues:(t,e)=>t===true?true:{...t,...e},resultToName:Sa}),items:ya({mergeNames:(t,e,r)=>t.if((0, Z._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0, Z._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0, Z._)`${r} !== true`,()=>t.assign(r,e===true?true:(0, Z._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===true?true:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function Sa(t,e){if(e===true)return t.var("props",true);let r=t.var("props",(0, Z._)`{}`);return e!==void 0&&ps(t,r,e),r}K.evaluatedPropsToName=Sa;function ps(t,e,r){Object.keys(r).forEach(n=>t.assign((0, Z._)`${e}${(0, Z.getProperty)(n)}`,true));}K.setEvaluated=ps;var va={};function Ed(t,e){return t.scopeValue("func",{ref:e,code:va[e.code]||(va[e.code]=new bd._Code(e.code))})}K.useFunc=Ed;var ls;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str";})(ls||(K.Type=ls={}));function xd(t,e,r){if(t instanceof Z.Name){let n=e===ls.Num;return r?n?(0, Z._)`"[" + ${t} + "]"`:(0, Z._)`"['" + ${t} + "']"`:n?(0, Z._)`"/" + ${t}`:(0, Z._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0, Z.getProperty)(t).toString():"/"+fs(t)}K.getErrorPath=xd;function _a(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===true)throw new Error(e);t.self.logger.warn(e);}}K.checkStrictMode=_a;});var He=x(ms=>{Object.defineProperty(ms,"__esModule",{value:true});var pe=G(),Td={data:new pe.Name("data"),valCxt:new pe.Name("valCxt"),instancePath:new pe.Name("instancePath"),parentData:new pe.Name("parentData"),parentDataProperty:new pe.Name("parentDataProperty"),rootData:new pe.Name("rootData"),dynamicAnchors:new pe.Name("dynamicAnchors"),vErrors:new pe.Name("vErrors"),errors:new pe.Name("errors"),this:new pe.Name("this"),self:new pe.Name("self"),scope:new pe.Name("scope"),json:new pe.Name("json"),jsonPos:new pe.Name("jsonPos"),jsonLen:new pe.Name("jsonLen"),jsonPart:new pe.Name("jsonPart")};ms.default=Td;});var dr=x(me=>{Object.defineProperty(me,"__esModule",{value:true});me.extendErrors=me.resetErrorsCount=me.reportExtraError=me.reportError=me.keyword$DataError=me.keywordError=void 0;var z=G(),Xr=H(),ve=He();me.keywordError={message:({keyword:t})=>(0, z.str)`must pass "${t}" keyword validation`};me.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0, z.str)`"${t}" keyword must be ${e} ($data)`:(0, z.str)`"${t}" keyword is invalid ($data)`};function Ad(t,e=me.keywordError,r,n){let{it:s}=t,{gen:o,compositeRule:a,allErrors:i}=s,u=$a(t,e,r);n??(a||i)?Ra(o,u):Ca(s,(0, z._)`[${u}]`);}me.reportError=Ad;function Id(t,e=me.keywordError,r){let{it:n}=t,{gen:s,compositeRule:o,allErrors:a}=n,i=$a(t,e,r);Ra(s,i),o||a||Ca(n,ve.default.vErrors);}me.reportExtraError=Id;function Pd(t,e){t.assign(ve.default.errors,e),t.if((0, z._)`${ve.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0, z._)`${ve.default.vErrors}.length`,e),()=>t.assign(ve.default.vErrors,null)));}me.resetErrorsCount=Pd;function Od({gen:t,keyword:e,schemaValue:r,data:n,errsCount:s,it:o}){if(s===void 0)throw new Error("ajv implementation error");let a=t.name("err");t.forRange("i",s,ve.default.errors,i=>{t.const(a,(0, z._)`${ve.default.vErrors}[${i}]`),t.if((0, z._)`${a}.instancePath === undefined`,()=>t.assign((0, z._)`${a}.instancePath`,(0, z.strConcat)(ve.default.instancePath,o.errorPath))),t.assign((0, z._)`${a}.schemaPath`,(0, z.str)`${o.errSchemaPath}/${e}`),o.opts.verbose&&(t.assign((0, z._)`${a}.schema`,r),t.assign((0, z._)`${a}.data`,n));});}me.extendErrors=Od;function Ra(t,e){let r=t.const("err",e);t.if((0, z._)`${ve.default.vErrors} === null`,()=>t.assign(ve.default.vErrors,(0, z._)`[${r}]`),(0, z._)`${ve.default.vErrors}.push(${r})`),t.code((0, z._)`${ve.default.errors}++`);}function Ca(t,e){let{gen:r,validateName:n,schemaEnv:s}=t;s.$async?r.throw((0, z._)`new ${t.ValidationError}(${e})`):(r.assign((0, z._)`${n}.errors`,e),r.return(false));}var St={keyword:new z.Name("keyword"),schemaPath:new z.Name("schemaPath"),params:new z.Name("params"),propertyName:new z.Name("propertyName"),message:new z.Name("message"),schema:new z.Name("schema"),parentSchema:new z.Name("parentSchema")};function $a(t,e,r){let{createErrors:n}=t.it;return n===false?(0, z._)`{}`:jd(t,e,r)}function jd(t,e,r={}){let{gen:n,it:s}=t,o=[Nd(s,r),qd(t,r)];return Dd(t,e,o),n.object(...o)}function Nd({errorPath:t},{instancePath:e}){let r=e?(0, z.str)`${t}${(0, Xr.getErrorPath)(e,Xr.Type.Str)}`:t;return [ve.default.instancePath,(0, z.strConcat)(ve.default.instancePath,r)]}function qd({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let s=n?e:(0, z.str)`${e}/${t}`;return r&&(s=(0, z.str)`${s}${(0, Xr.getErrorPath)(r,Xr.Type.Str)}`),[St.schemaPath,s]}function Dd(t,{params:e,message:r},n){let{keyword:s,data:o,schemaValue:a,it:i}=t,{opts:u,propertyName:c,topSchemaRef:d,schemaPath:l}=i;n.push([St.keyword,s],[St.params,typeof e=="function"?e(t):e||(0, z._)`{}`]),u.messages&&n.push([St.message,typeof r=="function"?r(t):r]),u.verbose&&n.push([St.schema,a],[St.parentSchema,(0, z._)`${d}${l}`],[ve.default.data,o]),c&&n.push([St.propertyName,c]);}});var xa=x(Ft=>{Object.defineProperty(Ft,"__esModule",{value:true});Ft.boolOrEmptySchema=Ft.topBoolOrEmptySchema=void 0;var Fd=dr(),Md=G(),Ld=He(),Vd={message:"boolean schema is false"};function Bd(t){let{gen:e,schema:r,validateName:n}=t;r===false?Ea(t,false):typeof r=="object"&&r.$async===true?e.return(Ld.default.data):(e.assign((0, Md._)`${n}.errors`,null),e.return(true));}Ft.topBoolOrEmptySchema=Bd;function Gd(t,e){let{gen:r,schema:n}=t;n===false?(r.var(e,false),Ea(t)):r.var(e,true);}Ft.boolOrEmptySchema=Gd;function Ea(t,e){let{gen:r,data:n}=t,s={gen:r,keyword:"false schema",data:n,schema:false,schemaCode:false,schemaValue:false,params:{},it:t};(0, Fd.reportError)(s,Vd,void 0,e);}});var hs=x(Mt=>{Object.defineProperty(Mt,"__esModule",{value:true});Mt.getRules=Mt.isJSONType=void 0;var Kd=["string","number","integer","boolean","null","object","array"],Ud=new Set(Kd);function Jd(t){return typeof t=="string"&&Ud.has(t)}Mt.isJSONType=Jd;function Hd(){let t={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return {types:{...t,integer:true,boolean:true,null:true},rules:[{rules:[]},t.number,t.string,t.array,t.object],post:{rules:[]},all:{},keywords:{}}}Mt.getRules=Hd;});var gs=x(rt=>{Object.defineProperty(rt,"__esModule",{value:true});rt.shouldUseRule=rt.shouldUseGroup=rt.schemaHasRulesForType=void 0;function zd({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==true&&Ta(t,n)}rt.schemaHasRulesForType=zd;function Ta(t,e){return e.rules.some(r=>Aa(t,r))}rt.shouldUseGroup=Ta;function Aa(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(n=>t[n]!==void 0))}rt.shouldUseRule=Aa;});var lr=x(he=>{Object.defineProperty(he,"__esModule",{value:true});he.reportTypeError=he.checkDataTypes=he.checkDataType=he.coerceAndCheckDataType=he.getJSONTypes=he.getSchemaTypes=he.DataType=void 0;var Wd=hs(),Yd=gs(),Xd=dr(),L=G(),Ia=H(),Lt;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong";})(Lt||(he.DataType=Lt={}));function Qd(t){let e=Pa(t.type);if(e.includes("null")){if(t.nullable===false)throw new Error("type: null contradicts nullable: false")}else {if(!e.length&&t.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');t.nullable===true&&e.push("null");}return e}he.getSchemaTypes=Qd;function Pa(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(Wd.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}he.getJSONTypes=Pa;function Zd(t,e){let{gen:r,data:n,opts:s}=t,o=el(e,s.coerceTypes),a=e.length>0&&!(o.length===0&&e.length===1&&(0, Yd.schemaHasRulesForType)(t,e[0]));if(a){let i=vs(e,n,s.strictNumbers,Lt.Wrong);r.if(i,()=>{o.length?tl(t,e,o):bs(t);});}return a}he.coerceAndCheckDataType=Zd;var Oa=new Set(["string","number","integer","boolean","null"]);function el(t,e){return e?t.filter(r=>Oa.has(r)||e==="array"&&r==="array"):[]}function tl(t,e,r){let{gen:n,data:s,opts:o}=t,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(vs(e,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(),bs(t),n.endIf(),n.if((0, L._)`${i} !== undefined`,()=>{n.assign(s,i),rl(t,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 rl({gen:t,parentData:e,parentDataProperty:r},n){t.if((0, L._)`${e} !== undefined`,()=>t.assign((0, L._)`${e}[${r}]`,n));}function ys(t,e,r,n=Lt.Correct){let s=n===Lt.Correct?L.operators.EQ:L.operators.NEQ,o;switch(t){case "null":return (0, L._)`${e} ${s} null`;case "array":o=(0, L._)`Array.isArray(${e})`;break;case "object":o=(0, L._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case "integer":o=a((0, L._)`!(${e} % 1) && !isNaN(${e})`);break;case "number":o=a();break;default:return (0, L._)`typeof ${e} ${s} ${t}`}return n===Lt.Correct?o:(0, L.not)(o);function a(i=L.nil){return (0, L.and)((0, L._)`typeof ${e} == "number"`,i,r?(0, L._)`isFinite(${e})`:L.nil)}}he.checkDataType=ys;function vs(t,e,r,n){if(t.length===1)return ys(t[0],e,r,n);let s,o=(0, Ia.toHash)(t);if(o.array&&o.object){let a=(0, L._)`typeof ${e} != "object"`;s=o.null?a:(0, L._)`!${e} || ${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,ys(a,e,r,n));return s}he.checkDataTypes=vs;var nl={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0, L._)`{type: ${t}}`:(0, L._)`{type: ${e}}`};function bs(t){let e=sl(t);(0, Xd.reportError)(e,nl);}he.reportTypeError=bs;function sl(t){let{gen:e,data:r,schema:n}=t,s=(0, Ia.schemaRefOrVal)(t,n,"type");return {gen:e,keyword:"type",data:r,schema:n.type,schemaCode:s,schemaValue:s,parentSchema:n,params:{},it:t}}});var Na=x(Qr=>{Object.defineProperty(Qr,"__esModule",{value:true});Qr.assignDefaults=void 0;var Vt=G(),ol=H();function al(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let s in r)ja(t,s,r[s].default);else e==="array"&&Array.isArray(n)&&n.forEach((s,o)=>ja(t,o,s.default));}Qr.assignDefaults=al;function ja(t,e,r){let{gen:n,compositeRule:s,data:o,opts:a}=t;if(r===void 0)return;let i=(0, Vt._)`${o}${(0, Vt.getProperty)(e)}`;if(s){(0, ol.checkStrictMode)(t,`default is ignored for: ${i}`);return}let u=(0, Vt._)`${i} === undefined`;a.useDefaults==="empty"&&(u=(0, Vt._)`${u} || ${i} === null || ${i} === ""`),n.if(u,(0, Vt._)`${i} = ${(0, Vt.stringify)(r)}`);}});var Ie=x(X=>{Object.defineProperty(X,"__esModule",{value:true});X.validateUnion=X.validateArray=X.usePattern=X.callValidateCode=X.schemaProperties=X.allSchemaProperties=X.noPropertyInData=X.propertyInData=X.isOwnProperty=X.hasPropFunc=X.reportMissingProp=X.checkMissingProp=X.checkReportMissingProp=void 0;var ne=G(),Ss=H(),nt=He(),il=H();function ul(t,e){let{gen:r,data:n,it:s}=t;r.if(ks(r,n,e,s.opts.ownProperties),()=>{t.setParams({missingProperty:(0, ne._)`${e}`},true),t.error();});}X.checkReportMissingProp=ul;function cl({gen:t,data:e,it:{opts:r}},n,s){return (0, ne.or)(...n.map(o=>(0, ne.and)(ks(t,e,o,r.ownProperties),(0, ne._)`${s} = ${o}`)))}X.checkMissingProp=cl;function dl(t,e){t.setParams({missingProperty:e},true),t.error();}X.reportMissingProp=dl;function qa(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0, ne._)`Object.prototype.hasOwnProperty`})}X.hasPropFunc=qa;function ws(t,e,r){return (0, ne._)`${qa(t)}.call(${e}, ${r})`}X.isOwnProperty=ws;function ll(t,e,r,n){let s=(0, ne._)`${e}${(0, ne.getProperty)(r)} !== undefined`;return n?(0, ne._)`${s} && ${ws(t,e,r)}`:s}X.propertyInData=ll;function ks(t,e,r,n){let s=(0, ne._)`${e}${(0, ne.getProperty)(r)} === undefined`;return n?(0, ne.or)(s,(0, ne.not)(ws(t,e,r))):s}X.noPropertyInData=ks;function Da(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}X.allSchemaProperties=Da;function fl(t,e){return Da(e).filter(r=>!(0, Ss.alwaysValidSchema)(t,e[r]))}X.schemaProperties=fl;function pl({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:s,errorPath:o},it:a},i,u,c){let d=c?(0, ne._)`${t}, ${e}, ${n}${s}`:e,l=[[nt.default.instancePath,(0, ne.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 b=(0, ne._)`${d}, ${r.object(...l)}`;return u!==ne.nil?(0, ne._)`${i}.call(${u}, ${b})`:(0, ne._)`${i}(${b})`}X.callValidateCode=pl;var ml=(0, ne._)`new RegExp`;function hl({gen:t,it:{opts:e}},r){let n=e.unicodeRegExp?"u":"",{regExp:s}=e.code,o=s(r,n);return t.scopeValue("pattern",{key:o.toString(),ref:o,code:(0, ne._)`${s.code==="new RegExp"?ml:(0, il.useFunc)(t,s)}(${r}, ${n})`})}X.usePattern=hl;function gl(t){let{gen:e,data:r,keyword:n,it:s}=t,o=e.name("valid");if(s.allErrors){let i=e.let("valid",true);return a(()=>e.assign(i,false)),i}return e.var(o,true),a(()=>e.break()),o;function a(i){let u=e.const("len",(0, ne._)`${r}.length`);e.forRange("i",0,u,c=>{t.subschema({keyword:n,dataProp:c,dataPropType:Ss.Type.Num},o),e.if((0, ne.not)(o),i);});}}X.validateArray=gl;function yl(t){let{gen:e,schema:r,keyword:n,it:s}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(u=>(0, Ss.alwaysValidSchema)(s,u))&&!s.opts.unevaluated)return;let a=e.let("valid",false),i=e.name("_valid");e.block(()=>r.forEach((u,c)=>{let d=t.subschema({keyword:n,schemaProp:c,compositeRule:true},i);e.assign(a,(0, ne._)`${a} || ${i}`),t.mergeValidEvaluated(d,i)||e.if((0, ne.not)(a));})),t.result(a,()=>t.reset(),()=>t.error(true));}X.validateUnion=yl;});var La=x(Le=>{Object.defineProperty(Le,"__esModule",{value:true});Le.validateKeywordUsage=Le.validSchemaType=Le.funcKeywordCode=Le.macroKeywordCode=void 0;var be=G(),_t=He(),vl=Ie(),bl=dr();function Sl(t,e){let{gen:r,keyword:n,schema:s,parentSchema:o,it:a}=t,i=e.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");t.subschema({schema:i,schemaPath:be.nil,errSchemaPath:`${a.errSchemaPath}/${n}`,topSchemaRef:u,compositeRule:true},c),t.pass(c,()=>t.error(true));}Le.macroKeywordCode=Sl;function wl(t,e){var r;let{gen:n,keyword:s,schema:o,parentSchema:a,$data:i,it:u}=t;_l(u,e);let c=!i&&e.compile?e.compile.call(u.self,o,a,u):e.validate,d=Ma(n,s,c),l=n.let("valid");t.block$data(l,b),t.ok((r=e.valid)!==null&&r!==void 0?r:l);function b(){if(e.errors===false)p(),e.modifying&&Fa(t),S(()=>t.error());else {let h=e.async?y():m();e.modifying&&Fa(t),S(()=>kl(t,h));}}function y(){let h=n.let("ruleErrs",null);return n.try(()=>p((0, be._)`await `),f=>n.assign(l,false).if((0, be._)`${f} instanceof ${u.ValidationError}`,()=>n.assign(h,(0, be._)`${f}.errors`),()=>n.throw(f))),h}function m(){let h=(0, be._)`${d}.errors`;return n.assign(h,null),p(be.nil),h}function p(h=e.async?(0, be._)`await `:be.nil){let f=u.opts.passContext?_t.default.this:_t.default.self,g=!("compile"in e&&!i||e.schema===false);n.assign(l,(0, be._)`${h}${(0, vl.callValidateCode)(t,d,f,g)}`,e.modifying);}function S(h){var f;n.if((0, be.not)((f=e.valid)!==null&&f!==void 0?f:l),h);}}Le.funcKeywordCode=wl;function Fa(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0, be._)`${n.parentData}[${n.parentDataProperty}]`));}function kl(t,e){let{gen:r}=t;r.if((0, be._)`Array.isArray(${e})`,()=>{r.assign(_t.default.vErrors,(0, be._)`${_t.default.vErrors} === null ? ${e} : ${_t.default.vErrors}.concat(${e})`).assign(_t.default.errors,(0, be._)`${_t.default.vErrors}.length`),(0, bl.extendErrors)(t);},()=>t.error());}function _l({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function Ma(t,e,r){if(r===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0, be.stringify)(r)})}function Rl(t,e,r=false){return !e.length||e.some(n=>n==="array"?Array.isArray(t):n==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==n||r&&typeof t>"u")}Le.validSchemaType=Rl;function Cl({schema:t,opts:e,self:r,errSchemaPath:n},s,o){if(Array.isArray(s.keyword)?!s.keyword.includes(o):s.keyword!==o)throw new Error("ajv implementation error");let a=s.dependencies;if(a?.some(i=>!Object.prototype.hasOwnProperty.call(t,i)))throw new Error(`parent schema must have dependencies of ${o}: ${a.join(",")}`);if(s.validateSchema&&!s.validateSchema(t[o])){let u=`keyword "${o}" value is invalid at path "${n}": `+r.errorsText(s.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(u);else throw new Error(u)}}Le.validateKeywordUsage=Cl;});var Ba=x(st=>{Object.defineProperty(st,"__esModule",{value:true});st.extendSubschemaMode=st.extendSubschemaData=st.getSubschema=void 0;var Ve=G(),Va=H();function $l(t,{keyword:e,schemaProp:r,schema:n,schemaPath:s,errSchemaPath:o,topSchemaRef:a}){if(e!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let i=t.schema[e];return r===void 0?{schema:i,schemaPath:(0, Ve._)`${t.schemaPath}${(0, Ve.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:i[r],schemaPath:(0, Ve._)`${t.schemaPath}${(0, Ve.getProperty)(e)}${(0, Ve.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(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=$l;function El(t,e,{dataProp:r,dataPropType:n,data:s,dataTypes:o,propertyName:a}){if(s!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:i}=e;if(r!==void 0){let{errorPath:c,dataPathArr:d,opts:l}=e,b=i.let("data",(0, Ve._)`${e.data}${(0, Ve.getProperty)(r)}`,true);u(b),t.errorPath=(0, Ve.str)`${c}${(0, Va.getErrorPath)(r,n,l.jsPropertySyntax)}`,t.parentDataProperty=(0, Ve._)`${r}`,t.dataPathArr=[...d,t.parentDataProperty];}if(s!==void 0){let c=s instanceof Ve.Name?s:i.let("data",s,true);u(c),a!==void 0&&(t.propertyName=a);}o&&(t.dataTypes=o);function u(c){t.data=c,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,c];}}st.extendSubschemaData=El;function xl(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:n,createErrors:s,allErrors:o}){n!==void 0&&(t.compositeRule=n),s!==void 0&&(t.createErrors=s),o!==void 0&&(t.allErrors=o),t.jtdDiscriminator=e,t.jtdMetadata=r;}st.extendSubschemaMode=xl;});var _s=x((fy,Ga)=>{Ga.exports=function t(e,r){if(e===r)return true;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return false;var n,s,o;if(Array.isArray(e)){if(n=e.length,n!=r.length)return false;for(s=n;s--!==0;)if(!t(e[s],r[s]))return false;return true}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(o=Object.keys(e),n=o.length,n!==Object.keys(r).length)return false;for(s=n;s--!==0;)if(!Object.prototype.hasOwnProperty.call(r,o[s]))return false;for(s=n;s--!==0;){var a=o[s];if(!t(e[a],r[a]))return false}return true}return e!==e&&r!==r};});var Ua=x((py,Ka)=>{var ot=Ka.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var n=typeof r=="function"?r:r.pre||function(){},s=r.post||function(){};Zr(e,n,s,t,"",t);};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(t,e,r,n,s,o,a,i,u,c){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,s,o,a,i,u,c);for(var d in n){var l=n[d];if(Array.isArray(l)){if(d in ot.arrayKeywords)for(var b=0;b<l.length;b++)Zr(t,e,r,l[b],s+"/"+d+"/"+b,o,s,d,n,b);}else if(d in ot.propsKeywords){if(l&&typeof l=="object")for(var y in l)Zr(t,e,r,l[y],s+"/"+d+"/"+Tl(y),o,s,d,n,y);}else (d in ot.keywords||t.allKeys&&!(d in ot.skipKeywords))&&Zr(t,e,r,l,s+"/"+d,o,s,d,n);}r(n,s,o,a,i,u,c);}}function Tl(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var fr=x(_e=>{Object.defineProperty(_e,"__esModule",{value:true});_e.getSchemaRefs=_e.resolveUrl=_e.normalizeId=_e._getFullPath=_e.getFullPath=_e.inlineRef=void 0;var Al=H(),Il=_s(),Pl=Ua(),Ol=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function jl(t,e=true){return typeof t=="boolean"?true:e===true?!Rs(t):e?Ja(t)<=e:false}_e.inlineRef=jl;var Nl=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Rs(t){for(let e in t){if(Nl.has(e))return true;let r=t[e];if(Array.isArray(r)&&r.some(Rs)||typeof r=="object"&&Rs(r))return true}return false}function Ja(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!Ol.has(r)&&(typeof t[r]=="object"&&(0, Al.eachItem)(t[r],n=>e+=Ja(n)),e===1/0))return 1/0}return e}function Ha(t,e="",r){r!==false&&(e=Bt(e));let n=t.parse(e);return za(t,n)}_e.getFullPath=Ha;function za(t,e){return t.serialize(e).split("#")[0]+"#"}_e._getFullPath=za;var ql=/#\/?$/;function Bt(t){return t?t.replace(ql,""):""}_e.normalizeId=Bt;function Dl(t,e,r){return r=Bt(r),t.resolve(e,r)}_e.resolveUrl=Dl;var Fl=/^[a-z_][-a-z0-9._]*$/i;function Ml(t,e){if(typeof t=="boolean")return {};let{schemaId:r,uriResolver:n}=this.opts,s=Bt(t[r]||e),o={"":s},a=Ha(n,s,false),i={},u=new Set;return Pl(t,{allKeys:true},(l,b,y,m)=>{if(m===void 0)return;let p=a+b,S=o[m];typeof l[r]=="string"&&(S=h.call(this,l[r])),f.call(this,l.$anchor),f.call(this,l.$dynamicAnchor),o[b]=S;function h(g){let k=this.opts.uriResolver.resolve;if(g=Bt(S?k(S,g):g),u.has(g))throw d(g);u.add(g);let w=this.refs[g];return typeof w=="string"&&(w=this.refs[w]),typeof w=="object"?c(l,w.schema,g):g!==Bt(p)&&(g[0]==="#"?(c(l,i[g],g),i[g]=l):this.refs[g]=p),g}function f(g){if(typeof g=="string"){if(!Fl.test(g))throw new Error(`invalid anchor "${g}"`);h.call(this,`#${g}`);}}}),i;function c(l,b,y){if(b!==void 0&&!Il(l,b))throw d(y)}function d(l){return new Error(`reference "${l}" resolves to more than one schema`)}}_e.getSchemaRefs=Ml;});var hr=x(at=>{Object.defineProperty(at,"__esModule",{value:true});at.getData=at.KeywordCxt=at.validateFunctionCode=void 0;var Za=xa(),Wa=lr(),$s=gs(),en=lr(),Ll=Na(),mr=La(),Cs=Ba(),T=G(),O=He(),Vl=fr(),ze=H(),pr=dr();function Bl(t){if(ri(t)&&(ni(t),ti(t))){Ul(t);return}ei(t,()=>(0, Za.topBoolOrEmptySchema)(t));}at.validateFunctionCode=Bl;function ei({gen:t,validateName:e,schema:r,schemaEnv:n,opts:s},o){s.code.es5?t.func(e,(0, T._)`${O.default.data}, ${O.default.valCxt}`,n.$async,()=>{t.code((0, T._)`"use strict"; ${Ya(r,s)}`),Kl(t,s),t.code(o);}):t.func(e,(0, T._)`${O.default.data}, ${Gl(s)}`,n.$async,()=>t.code(Ya(r,s)).code(o));}function Gl(t){return (0, T._)`{${O.default.instancePath}="", ${O.default.parentData}, ${O.default.parentDataProperty}, ${O.default.rootData}=${O.default.data}${t.dynamicRef?(0, T._)`, ${O.default.dynamicAnchors}={}`:T.nil}}={}`}function Kl(t,e){t.if(O.default.valCxt,()=>{t.var(O.default.instancePath,(0, T._)`${O.default.valCxt}.${O.default.instancePath}`),t.var(O.default.parentData,(0, T._)`${O.default.valCxt}.${O.default.parentData}`),t.var(O.default.parentDataProperty,(0, T._)`${O.default.valCxt}.${O.default.parentDataProperty}`),t.var(O.default.rootData,(0, T._)`${O.default.valCxt}.${O.default.rootData}`),e.dynamicRef&&t.var(O.default.dynamicAnchors,(0, T._)`${O.default.valCxt}.${O.default.dynamicAnchors}`);},()=>{t.var(O.default.instancePath,(0, T._)`""`),t.var(O.default.parentData,(0, T._)`undefined`),t.var(O.default.parentDataProperty,(0, T._)`undefined`),t.var(O.default.rootData,O.default.data),e.dynamicRef&&t.var(O.default.dynamicAnchors,(0, T._)`{}`);});}function Ul(t){let{schema:e,opts:r,gen:n}=t;ei(t,()=>{r.$comment&&e.$comment&&oi(t),Yl(t),n.let(O.default.vErrors,null),n.let(O.default.errors,0),r.unevaluated&&Jl(t),si(t),Zl(t);});}function Jl(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0, T._)`${r}.evaluated`),e.if((0, T._)`${t.evaluated}.dynamicProps`,()=>e.assign((0, T._)`${t.evaluated}.props`,(0, T._)`undefined`)),e.if((0, T._)`${t.evaluated}.dynamicItems`,()=>e.assign((0, T._)`${t.evaluated}.items`,(0, T._)`undefined`));}function Ya(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0, T._)`/*# sourceURL=${r} */`:T.nil}function Hl(t,e){if(ri(t)&&(ni(t),ti(t))){zl(t,e);return}(0, Za.boolOrEmptySchema)(t,e);}function ti({schema:t,self:e}){if(typeof t=="boolean")return !t;for(let r in t)if(e.RULES.all[r])return true;return false}function ri(t){return typeof t.schema!="boolean"}function zl(t,e){let{schema:r,gen:n,opts:s}=t;s.$comment&&r.$comment&&oi(t),Xl(t),Ql(t);let o=n.const("_errs",O.default.errors);si(t,o),n.var(e,(0, T._)`${o} === ${O.default.errors}`);}function ni(t){(0, ze.checkUnknownRules)(t),Wl(t);}function si(t,e){if(t.opts.jtd)return Xa(t,[],false,e);let r=(0, Wa.getSchemaTypes)(t.schema),n=(0, Wa.coerceAndCheckDataType)(t,r);Xa(t,r,!n,e);}function Wl(t){let{schema:e,errSchemaPath:r,opts:n,self:s}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0, ze.schemaHasRulesButRef)(e,s.RULES)&&s.logger.warn(`$ref: keywords ignored in schema at path "${r}"`);}function Yl(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0, ze.checkStrictMode)(t,"default is ignored in the schema root");}function Xl(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0, Vl.resolveUrl)(t.opts.uriResolver,t.baseId,e));}function Ql(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function oi({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:s}){let o=r.$comment;if(s.$comment===true)t.code((0, T._)`${O.default.self}.logger.log(${o})`);else if(typeof s.$comment=="function"){let a=(0, T.str)`${n}/$comment`,i=t.scopeValue("root",{ref:e.root});t.code((0, T._)`${O.default.self}.opts.$comment(${o}, ${a}, ${i}.schema)`);}}function Zl(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:s,opts:o}=t;r.$async?e.if((0, T._)`${O.default.errors} === 0`,()=>e.return(O.default.data),()=>e.throw((0, T._)`new ${s}(${O.default.vErrors})`)):(e.assign((0, T._)`${n}.errors`,O.default.vErrors),o.unevaluated&&ef(t),e.return((0, T._)`${O.default.errors} === 0`));}function ef({gen:t,evaluated:e,props:r,items:n}){r instanceof T.Name&&t.assign((0, T._)`${e}.props`,r),n instanceof T.Name&&t.assign((0, T._)`${e}.items`,n);}function Xa(t,e,r,n){let{gen:s,schema:o,data:a,allErrors:i,opts:u,self:c}=t,{RULES:d}=c;if(o.$ref&&(u.ignoreKeywordsWithRef||!(0, ze.schemaHasRulesButRef)(o,d))){s.block(()=>ii(t,"$ref",d.all.$ref.definition));return}u.jtd||tf(t,e),s.block(()=>{for(let b of d.rules)l(b);l(d.post);});function l(b){(0, $s.shouldUseGroup)(o,b)&&(b.type?(s.if((0, en.checkDataType)(b.type,a,u.strictNumbers)),Qa(t,b),e.length===1&&e[0]===b.type&&r&&(s.else(),(0, en.reportTypeError)(t)),s.endIf()):Qa(t,b),i||s.if((0, T._)`${O.default.errors} === ${n||0}`));}}function Qa(t,e){let{gen:r,schema:n,opts:{useDefaults:s}}=t;s&&(0, Ll.assignDefaults)(t,e.type),r.block(()=>{for(let o of e.rules)(0, $s.shouldUseRule)(n,o)&&ii(t,o.keyword,o.definition,e.type);});}function tf(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(rf(t,e),t.opts.allowUnionTypes||nf(t,e),sf(t,t.dataTypes));}function rf(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{ai(t.dataTypes,r)||Es(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`);}),af(t,e);}}function nf(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&Es(t,"use allowUnionTypes to allow union type keyword");}function sf(t,e){let r=t.self.RULES.all;for(let n in r){let s=r[n];if(typeof s=="object"&&(0, $s.shouldUseRule)(t.schema,s)){let{type:o}=s.definition;o.length&&!o.some(a=>of(e,a))&&Es(t,`missing type "${o.join(",")}" for keyword "${n}"`);}}}function of(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function ai(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function af(t,e){let r=[];for(let n of t.dataTypes)ai(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r;}function Es(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0, ze.checkStrictMode)(t,e,t.opts.strictTypes);}var tn=class{constructor(e,r,n){if((0, mr.validateKeywordUsage)(e,r,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=r.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0, ze.schemaRefOrVal)(e,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=r,this.$data)this.schemaCode=e.gen.const("vSchema",ui(this.$data,e));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=e.gen.const("_errs",O.default.errors));}result(e,r,n){this.failResult((0, T.not)(e),r,n);}failResult(e,r,n){this.gen.if(e),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else();}pass(e,r){this.failResult((0, T.not)(e),void 0,r);}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(false);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else();}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:r}=this;this.fail((0, T._)`${r} !== undefined && (${(0, T.or)(this.invalid$data(),e)})`);}error(e,r,n){if(r){this.setParams(r),this._error(e,n),this.setParams({});return}this._error(e,n);}_error(e,r){(e?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(e){this.allErrors||this.gen.if(e);}setParams(e,r){r?Object.assign(this.params,e):this.params=e;}block$data(e,r,n=T.nil){this.gen.block(()=>{this.check$data(e,n),r();});}check$data(e=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)),e!==T.nil&&n.assign(e,true),(o.length||a.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==T.nil&&n.assign(e,false)),n.else();}invalid$data(){let{gen:e,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=e.scopeValue("validate$data",{ref:s.validateSchema});return (0, T._)`!${u}(${r})`}return T.nil}}subschema(e,r){let n=(0, Cs.getSubschema)(this.it,e);(0, Cs.extendSubschemaData)(n,this.it,e),(0, Cs.extendSubschemaMode)(n,e);let s={...this.it,...n,items:void 0,props:void 0};return Hl(s,r),s}mergeEvaluated(e,r){let{it:n,gen:s}=this;n.opts.unevaluated&&(n.props!==true&&e.props!==void 0&&(n.props=ze.mergeEvaluated.props(s,e.props,n.props,r)),n.items!==true&&e.items!==void 0&&(n.items=ze.mergeEvaluated.items(s,e.items,n.items,r)));}mergeValidEvaluated(e,r){let{it:n,gen:s}=this;if(n.opts.unevaluated&&(n.props!==true||n.items!==true))return s.if(r,()=>this.mergeEvaluated(e,T.Name)),true}};at.KeywordCxt=tn;function ii(t,e,r,n){let s=new tn(t,r,e);"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 uf=/^\/(?:[^~]|~0|~1)*$/,cf=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function ui(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let s,o;if(t==="")return O.default.rootData;if(t[0]==="/"){if(!uf.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);s=t,o=O.default.rootData;}else {let c=cf.exec(t);if(!c)throw new Error(`Invalid JSON-pointer: ${t}`);let d=+c[1];if(s=c[2],s==="#"){if(d>=e)throw new Error(u("property/index",d));return n[e-d]}if(d>e)throw new Error(u("data",d));if(o=r[e-d],!s)return o}let a=o,i=s.split("/");for(let c of i)c&&(o=(0, T._)`${o}${(0, T.getProperty)((0, ze.unescapeJsonPointer)(c))}`,a=(0, T._)`${a} && ${o}`);return a;function u(c,d){return `Cannot access ${c} ${d} levels up, current level is ${e}`}}at.getData=ui;});var rn=x(Ts=>{Object.defineProperty(Ts,"__esModule",{value:true});var xs=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=true;}};Ts.default=xs;});var gr=x(Ps=>{Object.defineProperty(Ps,"__esModule",{value:true});var As=fr(),Is=class extends Error{constructor(e,r,n,s){super(s||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0, As.resolveUrl)(e,r,n),this.missingSchema=(0, As.normalizeId)((0, As.getFullPath)(e,this.missingRef));}};Ps.default=Is;});var sn=x(Pe=>{Object.defineProperty(Pe,"__esModule",{value:true});Pe.resolveSchema=Pe.getCompilingSchema=Pe.resolveRef=Pe.compileSchema=Pe.SchemaEnv=void 0;var Ne=G(),df=rn(),Rt=He(),qe=fr(),ci=H(),lf=hr(),Gt=class{constructor(e){var r;this.refs={},this.dynamicAnchors={};let n;typeof e.schema=="object"&&(n=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(r=e.baseId)!==null&&r!==void 0?r:(0, qe.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={};}};Pe.SchemaEnv=Gt;function js(t){let e=di.call(this,t);if(e)return e;let r=(0, qe.getFullPath)(this.opts.uriResolver,t.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;t.$async&&(i=a.scopeValue("Error",{ref:df.default,code:(0, Ne._)`require("ajv/dist/runtime/validation_error").default`}));let u=a.scopeName("validate");t.validateName=u;let c={gen:a,allErrors:this.opts.allErrors,data:Rt.default.data,parentData:Rt.default.parentData,parentDataProperty:Rt.default.parentDataProperty,dataNames:[Rt.default.data],dataPathArr:[Ne.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:a.scopeValue("schema",this.opts.code.source===true?{ref:t.schema,code:(0, Ne.stringify)(t.schema)}:{ref:t.schema}),validateName:u,ValidationError:i,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:Ne.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0, Ne._)`""`,opts:this.opts,self:this},d;try{this._compilations.add(t),(0,lf.validateFunctionCode)(c),a.optimize(this.opts.code.optimize);let l=a.toString();d=`${a.scopeRefs(Rt.default.scope)}return ${l}`,this.opts.code.process&&(d=this.opts.code.process(d,t));let y=new Function(`${Rt.default.self}`,`${Rt.default.scope}`,d)(this,this.scope.get());if(this.scope.value(u,{ref:y}),y.errors=null,y.schema=t.schema,y.schemaEnv=t,t.$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 Ne.Name?void 0:m,items:p instanceof Ne.Name?void 0:p,dynamicProps:m instanceof Ne.Name,dynamicItems:p instanceof Ne.Name},y.source&&(y.source.evaluated=(0,Ne.stringify)(y.evaluated));}return t.validate=y,t}catch(l){throw delete t.validate,delete t.validateName,d&&this.logger.error("Error compiling schema, function code:",d),l}finally{this._compilations.delete(t);}}Pe.compileSchema=js;function ff(t,e,r){var n;r=(0, qe.resolveUrl)(this.opts.uriResolver,e,r);let s=t.refs[r];if(s)return s;let o=hf.call(this,t,r);if(o===void 0){let a=(n=t.localRefs)===null||n===void 0?void 0:n[r],{schemaId:i}=this.opts;a&&(o=new Gt({schema:a,schemaId:i,root:t,baseId:e}));}if(o!==void 0)return t.refs[r]=pf.call(this,o)}Pe.resolveRef=ff;function pf(t){return (0, qe.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:js.call(this,t)}function di(t){for(let e of this._compilations)if(mf(e,t))return e}Pe.getCompilingSchema=di;function mf(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function hf(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||nn.call(this,t,e)}function nn(t,e){let r=this.opts.uriResolver.parse(e),n=(0, qe._getFullPath)(this.opts.uriResolver,r),s=(0, qe.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===s)return Os.call(this,r,t);let o=(0, qe.normalizeId)(n),a=this.refs[o]||this.schemas[o];if(typeof a=="string"){let i=nn.call(this,t,a);return typeof i?.schema!="object"?void 0:Os.call(this,r,i)}if(typeof a?.schema=="object"){if(a.validate||js.call(this,a),o===(0, qe.normalizeId)(e)){let{schema:i}=a,{schemaId:u}=this.opts,c=i[u];return c&&(s=(0, qe.resolveUrl)(this.opts.uriResolver,s,c)),new Gt({schema:i,schemaId:u,root:t,baseId:s})}return Os.call(this,r,a)}}Pe.resolveSchema=nn;var gf=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Os(t,{baseId:e,schema:r,root:n}){var s;if(((s=t.fragment)===null||s===void 0?void 0:s[0])!=="/")return;for(let i of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let u=r[(0, ci.unescapeFragment)(i)];if(u===void 0)return;r=u;let c=typeof r=="object"&&r[this.opts.schemaId];!gf.has(i)&&c&&(e=(0, qe.resolveUrl)(this.opts.uriResolver,e,c));}let o;if(typeof r!="boolean"&&r.$ref&&!(0, ci.schemaHasRulesButRef)(r,this.RULES)){let i=(0, qe.resolveUrl)(this.opts.uriResolver,e,r.$ref);o=nn.call(this,n,i);}let{schemaId:a}=this.opts;if(o=o||new Gt({schema:r,schemaId:a,root:n,baseId:e}),o.schema!==o.root.schema)return o}});var li=x((by,yf)=>{yf.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 qs=x((Sy,hi)=>{var vf=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 Ns(t){let e="",r=0,n=0;for(n=0;n<t.length;n++)if(r=t[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return "";e+=t[n];break}for(n+=1;n<t.length;n++){if(r=t[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return "";e+=t[n];}return e}var bf=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function fi(t){return t.length=0,true}function Sf(t,e,r){if(t.length){let n=Ns(t);if(n!=="")e.push(n);else return r.error=true,false;t.length=0;}return true}function wf(t){let e=0,r={error:false,address:"",zone:""},n=[],s=[],o=false,a=false,i=Sf;for(let u=0;u<t.length;u++){let c=t[u];if(!(c==="["||c==="]"))if(c===":"){if(o===true&&(a=true),!i(s,n,r))break;if(++e>7){r.error=true;break}u>0&&t[u-1]===":"&&(o=true),n.push(":");continue}else if(c==="%"){if(!i(s,n,r))break;i=fi;}else {s.push(c);continue}}return s.length&&(i===fi?r.zone=s.join(""):a?n.push(s.join("")):n.push(Ns(s))),r.address=n.join(""),r}function mi(t){if(kf(t,":")<2)return {host:t,isIPV6:false};let e=wf(t);if(e.error)return {host:t,isIPV6:false};{let r=e.address,n=e.address;return e.zone&&(r+="%"+e.zone,n+="%25"+e.zone),{host:r,isIPV6:true,escapedHost:n}}}function kf(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}function _f(t){let e=t,r=[],n=-1,s=0;for(;s=e.length;){if(s===1){if(e===".")break;if(e==="/"){r.push("/");break}else {r.push(e);break}}else if(s===2){if(e[0]==="."){if(e[1]===".")break;if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&(e[1]==="."||e[1]==="/")){r.push("/");break}}else if(s===3&&e==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(e[0]==="."){if(e[1]==="."){if(e[2]==="/"){e=e.slice(3);continue}}else if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&e[1]==="."){if(e[2]==="/"){e=e.slice(2);continue}else if(e[2]==="."&&e[3]==="/"){e=e.slice(3),r.length!==0&&r.pop();continue}}if((n=e.indexOf("/",1))===-1){r.push(e);break}else r.push(e.slice(0,n)),e=e.slice(n);}return r.join("")}function Rf(t,e){let r=e!==true?escape:unescape;return t.scheme!==void 0&&(t.scheme=r(t.scheme)),t.userinfo!==void 0&&(t.userinfo=r(t.userinfo)),t.host!==void 0&&(t.host=r(t.host)),t.path!==void 0&&(t.path=r(t.path)),t.query!==void 0&&(t.query=r(t.query)),t.fragment!==void 0&&(t.fragment=r(t.fragment)),t}function Cf(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!pi(r)){let n=mi(r);n.isIPV6===true?r=`[${n.escapedHost}]`:r=t.host;}e.push(r);}return (typeof t.port=="number"||typeof t.port=="string")&&(e.push(":"),e.push(String(t.port))),e.length?e.join(""):void 0}hi.exports={nonSimpleDomain:bf,recomposeAuthority:Cf,normalizeComponentEncoding:Rf,removeDotSegments:_f,isIPv4:pi,isUUID:vf,normalizeIPv6:mi,stringArrayToHexStripped:Ns};});var Si=x((wy,bi)=>{var{isUUID:$f}=qs(),Ef=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,xf=["http","https","ws","wss","urn","urn:uuid"];function Tf(t){return xf.indexOf(t)!==-1}function Ds(t){return t.secure===true?true:t.secure===false?false:t.scheme?t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S"):false}function gi(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function yi(t){let e=String(t.scheme).toLowerCase()==="https";return (t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function Af(t){return t.secure=Ds(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function If(t){if((t.port===(Ds(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,r]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=r,t.resourceName=void 0;}return t.fragment=void 0,t}function Pf(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(Ef);if(r){let n=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let s=`${n}:${e.nid||t.nid}`,o=Fs(s);t.path=void 0,o&&(t=o.parse(t,e));}else t.error=t.error||"URN can not be parsed.";return t}function Of(t,e){if(t.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=e.scheme||t.scheme||"urn",n=t.nid.toLowerCase(),s=`${r}:${e.nid||n}`,o=Fs(s);o&&(t=o.serialize(t,e));let a=t,i=t.nss;return a.path=`${n||e.nid}:${i}`,e.skipEscape=true,a}function jf(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!$f(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function Nf(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var vi={scheme:"http",domainHost:true,parse:gi,serialize:yi},qf={scheme:"https",domainHost:vi.domainHost,parse:gi,serialize:yi},on={scheme:"ws",domainHost:true,parse:Af,serialize:If},Df={scheme:"wss",domainHost:on.domainHost,parse:on.parse,serialize:on.serialize},Ff={scheme:"urn",parse:Pf,serialize:Of,skipNormalize:true},Mf={scheme:"urn:uuid",parse:jf,serialize:Nf,skipNormalize:true},an={http:vi,https:qf,ws:on,wss:Df,urn:Ff,"urn:uuid":Mf};Object.setPrototypeOf(an,null);function Fs(t){return t&&(an[t]||an[t.toLowerCase()])||void 0}bi.exports={wsIsSecure:Ds,SCHEMES:an,isValidSchemeName:Tf,getSchemeHandler:Fs};});var _i=x((ky,cn)=>{var{normalizeIPv6:Lf,removeDotSegments:yr,recomposeAuthority:Vf,normalizeComponentEncoding:un,isIPv4:Bf,nonSimpleDomain:Gf}=qs(),{SCHEMES:Kf,getSchemeHandler:wi}=Si();function Uf(t,e){return typeof t=="string"?t=Be(We(t,e),e):typeof t=="object"&&(t=We(Be(t,e),e)),t}function Jf(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},s=ki(We(t,n),We(e,n),n,true);return n.skipEscape=true,Be(s,n)}function ki(t,e,r,n){let s={};return n||(t=We(Be(t,r),r),e=We(Be(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(s.scheme=e.scheme,s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=yr(e.path||""),s.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=yr(e.path||""),s.query=e.query):(e.path?(e.path[0]==="/"?s.path=yr(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?s.path="/"+e.path:t.path?s.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:s.path=e.path,s.path=yr(s.path)),s.query=e.query):(s.path=t.path,e.query!==void 0?s.query=e.query:s.query=t.query),s.userinfo=t.userinfo,s.host=t.host,s.port=t.port),s.scheme=t.scheme),s.fragment=e.fragment,s}function Hf(t,e,r){return typeof t=="string"?(t=unescape(t),t=Be(un(We(t,r),true),{...r,skipEscape:true})):typeof t=="object"&&(t=Be(un(t,true),{...r,skipEscape:true})),typeof e=="string"?(e=unescape(e),e=Be(un(We(e,r),true),{...r,skipEscape:true})):typeof e=="object"&&(e=Be(un(e,true),{...r,skipEscape:true})),t.toLowerCase()===e.toLowerCase()}function Be(t,e){let r={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},n=Object.assign({},e),s=[],o=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=Vf(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 zf=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function We(t,e){let r=Object.assign({},e),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},s=false;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let o=t.match(zf);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(Bf(n.host)===false){let u=Lf(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&&Gf(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase());}catch(i){n.error=n.error||"Host's domain name can not be converted to ASCII: "+i;}(!a||a&&!a.skipNormalize)&&(t.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=unescape(n.host))),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),a&&a.parse&&a.parse(n,r);}else n.error=n.error||"URI can not be parsed.";return n}var Ms={SCHEMES:Kf,normalize:Uf,resolve:Jf,resolveComponent:ki,equal:Hf,serialize:Be,parse:We};cn.exports=Ms;cn.exports.default=Ms;cn.exports.fastUri=Ms;});var Ci=x(Ls=>{Object.defineProperty(Ls,"__esModule",{value:true});var Ri=_i();Ri.code='require("ajv/dist/runtime/uri").default';Ls.default=Ri;});var Oi=x(le=>{Object.defineProperty(le,"__esModule",{value:true});le.CodeGen=le.Name=le.nil=le.stringify=le.str=le._=le.KeywordCxt=void 0;var Wf=hr();Object.defineProperty(le,"KeywordCxt",{enumerable:true,get:function(){return Wf.KeywordCxt}});var Kt=G();Object.defineProperty(le,"_",{enumerable:true,get:function(){return Kt._}});Object.defineProperty(le,"str",{enumerable:true,get:function(){return Kt.str}});Object.defineProperty(le,"stringify",{enumerable:true,get:function(){return Kt.stringify}});Object.defineProperty(le,"nil",{enumerable:true,get:function(){return Kt.nil}});Object.defineProperty(le,"Name",{enumerable:true,get:function(){return Kt.Name}});Object.defineProperty(le,"CodeGen",{enumerable:true,get:function(){return Kt.CodeGen}});var Yf=rn(),Ai=gr(),Xf=hs(),vr=sn(),Qf=G(),br=fr(),dn=lr(),Bs=H(),$i=li(),Zf=Ci(),Ii=(t,e)=>new RegExp(t,e);Ii.code="new RegExp";var ep=["removeAdditional","useDefaults","coerceTypes"],tp=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),rp={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."},np={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},Ei=200;function sp(t){var e,r,n,s,o,a,i,u,c,d,l,b,y,m,p,S,h,f,g,k,w,C,_,$,N;let q=t.strict,F=(e=t.code)===null||e===void 0?void 0:e.optimize,re=F===true||F===void 0?1:F||0,U=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:Ii,de=(s=t.uriResolver)!==null&&s!==void 0?s:Zf.default;return {strictSchema:(a=(o=t.strictSchema)!==null&&o!==void 0?o:q)!==null&&a!==void 0?a:true,strictNumbers:(u=(i=t.strictNumbers)!==null&&i!==void 0?i:q)!==null&&u!==void 0?u:true,strictTypes:(d=(c=t.strictTypes)!==null&&c!==void 0?c:q)!==null&&d!==void 0?d:"log",strictTuples:(b=(l=t.strictTuples)!==null&&l!==void 0?l:q)!==null&&b!==void 0?b:"log",strictRequired:(m=(y=t.strictRequired)!==null&&y!==void 0?y:q)!==null&&m!==void 0?m:false,code:t.code?{...t.code,optimize:re,regExp:U}:{optimize:re,regExp:U},loopRequired:(p=t.loopRequired)!==null&&p!==void 0?p:Ei,loopEnum:(S=t.loopEnum)!==null&&S!==void 0?S:Ei,meta:(h=t.meta)!==null&&h!==void 0?h:true,messages:(f=t.messages)!==null&&f!==void 0?f:true,inlineRefs:(g=t.inlineRefs)!==null&&g!==void 0?g:true,schemaId:(k=t.schemaId)!==null&&k!==void 0?k:"$id",addUsedSchema:(w=t.addUsedSchema)!==null&&w!==void 0?w:true,validateSchema:(C=t.validateSchema)!==null&&C!==void 0?C:true,validateFormats:(_=t.validateFormats)!==null&&_!==void 0?_:true,unicodeRegExp:($=t.unicodeRegExp)!==null&&$!==void 0?$:true,int32range:(N=t.int32range)!==null&&N!==void 0?N:true,uriResolver:de}}var Sr=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...sp(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new Qf.ValueScope({scope:{},prefixes:tp,es5:r,lines:n}),this.logger=dp(e.logger);let s=e.validateFormats;e.validateFormats=false,this.RULES=(0, Xf.getRules)(),xi.call(this,rp,e,"NOT SUPPORTED"),xi.call(this,np,e,"DEPRECATED","warn"),this._metaOpts=up.call(this),e.formats&&ap.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&ip.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),op.call(this),e.validateFormats=s;}_addVocabularies(){this.addKeyword("$async");}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,s=$i;n==="id"&&(s={...$i},s.id=s.$id,delete s.$id),r&&e&&this.addMetaSchema(s,s[n],false);}defaultMeta(){let{meta:e,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[r]||e:void 0}validate(e,r){let n;if(typeof e=="string"){if(n=this.getSchema(e),!n)throw new Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);let s=n(r);return "$async"in n||(this.errors=n.errors),s}compile(e,r){let n=this._addSchema(e,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return s.call(this,e,r);async function s(d,l){await o.call(this,d.$schema);let b=this._addSchema(d,l);return b.validate||a.call(this,b)}async function o(d){d&&!this.getSchema(d)&&await s.call(this,{$ref:d},true);}async function a(d){try{return this._compileSchemaEnv(d)}catch(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(e,r,n,s=this.opts.validateSchema){if(Array.isArray(e)){for(let a of e)this.addSchema(a,void 0,n,s);return this}let o;if(typeof e=="object"){let{schemaId:a}=this.opts;if(o=e[a],o!==void 0&&typeof o!="string")throw new Error(`schema ${a} must be string`)}return r=(0, br.normalizeId)(r||o),this._checkUnique(r),this.schemas[r]=this._addSchema(e,n,r,s,true),this}addMetaSchema(e,r,n=this.opts.validateSchema){return this.addSchema(e,r,true,n),this}validateSchema(e,r){if(typeof e=="boolean")return true;let n;if(n=e.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,true;let s=this.validate(n,e);if(!s&&r){let o="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(o);else throw new Error(o)}return s}getSchema(e){let r;for(;typeof(r=Ti.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,s=new vr.SchemaEnv({schema:{},schemaId:n});if(r=vr.resolveSchema.call(this,s,e),!r)return;this.refs[e]=r;}return r.validate||this._compileSchemaEnv(r)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case "undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case "string":{let r=Ti.call(this,e);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[e],delete this.refs[e],this}case "object":{let r=e;this._cache.delete(r);let n=e[this.opts.schemaId];return n&&(n=(0, br.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let r of e)this.addKeyword(r);return this}addKeyword(e,r){let n;if(typeof e=="string")n=e,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof e=="object"&&r===void 0){if(r=e,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(fp.call(this,n,r),!r)return (0, Bs.eachItem)(n,o=>Vs.call(this,o)),this;mp.call(this,r);let s={...r,type:(0, dn.getJSONTypes)(r.type),schemaType:(0, dn.getJSONTypes)(r.schemaType)};return (0, Bs.eachItem)(n,s.type.length===0?o=>Vs.call(this,o,s):o=>s.type.forEach(a=>Vs.call(this,o,s,a))),this}getKeyword(e){let r=this.RULES.all[e];return typeof r=="object"?r.definition:!!r}removeKeyword(e){let{RULES:r}=this;delete r.keywords[e],delete r.all[e];for(let n of r.rules){let s=n.rules.findIndex(o=>o.keyword===e);s>=0&&n.rules.splice(s,1);}return this}addFormat(e,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[e]=r,this}errorsText(e=this.errors,{separator:r=", ",dataVar:n="data"}={}){return !e||e.length===0?"No errors":e.map(s=>`${n}${s.instancePath} ${s.message}`).reduce((s,o)=>s+r+o)}$dataMetaSchema(e,r){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let s of r){let o=s.split("/").slice(1),a=e;for(let i of o)a=a[i];for(let i in n){let u=n[i];if(typeof u!="object")continue;let{$data:c}=u.definition,d=a[i];c&&d&&(a[i]=Pi(d));}}return e}_removeAllSchemas(e,r){for(let n in e){let s=e[n];(!r||r.test(n))&&(typeof s=="string"?delete e[n]:s&&!s.meta&&(this._cache.delete(s.schema),delete e[n]));}}_addSchema(e,r,n,s=this.opts.validateSchema,o=this.opts.addUsedSchema){let a,{schemaId:i}=this.opts;if(typeof e=="object")a=e[i];else {if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let u=this._cache.get(e);if(u!==void 0)return u;n=(0, br.normalizeId)(a||n);let c=br.getSchemaRefs.call(this,e,n);return u=new vr.SchemaEnv({schema:e,schemaId:i,meta:r,baseId:n,localRefs:c}),this._cache.set(u.schema,u),o&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=u),s&&this.validateSchema(e,true),u}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):vr.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let r=this.opts;this.opts=this._metaOpts;try{vr.compileSchema.call(this,e);}finally{this.opts=r;}}};Sr.ValidationError=Yf.default;Sr.MissingRefError=Ai.default;le.default=Sr;function xi(t,e,r,n="error"){for(let s in t){let o=s;o in e&&this.logger[n](`${r}: option ${s}. ${t[o]}`);}}function Ti(t){return t=(0, br.normalizeId)(t),this.schemas[t]||this.refs[t]}function op(){let t=this.opts.schemas;if(t)if(Array.isArray(t))this.addSchema(t);else for(let e in t)this.addSchema(t[e],e);}function ap(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e);}}function ip(t){if(Array.isArray(t)){this.addVocabulary(t);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in t){let r=t[e];r.keyword||(r.keyword=e),this.addKeyword(r);}}function up(){let t={...this.opts};for(let e of ep)delete t[e];return t}var cp={log(){},warn(){},error(){}};function dp(t){if(t===false)return cp;if(t===void 0)return console;if(t.log&&t.warn&&t.error)return t;throw new Error("logger must implement log, warn and error methods")}var lp=/^[a-z_$][a-z0-9_$:-]*$/i;function fp(t,e){let{RULES:r}=this;if((0, Bs.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!lp.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function Vs(t,e,r){var n;let s=e?.post;if(r&&s)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:o}=this,a=s?o.post:o.rules.find(({type:u})=>u===r);if(a||(a={type:r,rules:[]},o.rules.push(a)),o.keywords[t]=true,!e)return;let i={keyword:t,definition:{...e,type:(0, dn.getJSONTypes)(e.type),schemaType:(0, dn.getJSONTypes)(e.schemaType)}};e.before?pp.call(this,a,i,e.before):a.rules.push(i),o.all[t]=i,(n=e.implements)===null||n===void 0||n.forEach(u=>this.addKeyword(u));}function pp(t,e,r){let n=t.rules.findIndex(s=>s.keyword===r);n>=0?t.rules.splice(n,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`));}function mp(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=Pi(e)),t.validateSchema=this.compile(e,true));}var hp={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Pi(t){return {anyOf:[t,hp]}}});var ji=x(Gs=>{Object.defineProperty(Gs,"__esModule",{value:true});var gp={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Gs.default=gp;});var Fi=x(Ct=>{Object.defineProperty(Ct,"__esModule",{value:true});Ct.callRef=Ct.getValidate=void 0;var yp=gr(),Ni=Ie(),Re=G(),Ut=He(),qi=sn(),ln=H(),vp={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:s,schemaEnv:o,validateName:a,opts:i,self:u}=n,{root:c}=o;if((r==="#"||r==="#/")&&s===c.baseId)return l();let d=qi.resolveRef.call(u,c,s,r);if(d===void 0)throw new yp.default(n.opts.uriResolver,s,r);if(d instanceof qi.SchemaEnv)return b(d);return y(d);function l(){if(o===c)return fn(t,a,o,o.$async);let m=e.scopeValue("root",{ref:c});return fn(t,(0, Re._)`${m}.validate`,c,c.$async)}function b(m){let p=Di(t,m);fn(t,p,m,m.$async);}function y(m){let p=e.scopeValue("schema",i.code.source===true?{ref:m,code:(0, Re.stringify)(m)}:{ref:m}),S=e.name("valid"),h=t.subschema({schema:m,dataTypes:[],schemaPath:Re.nil,topSchemaRef:p,errSchemaPath:r},S);t.mergeEvaluated(h),t.ok(S);}}};function Di(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0, Re._)`${r.scopeValue("wrapper",{ref:e})}.validate`}Ct.getValidate=Di;function fn(t,e,r,n){let{gen:s,it:o}=t,{allErrors:a,schemaEnv:i,opts:u}=o,c=u.passContext?Ut.default.this:Re.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, Re._)`await ${(0, Ni.callValidateCode)(t,e,c)}`),y(e),a||s.assign(m,true);},p=>{s.if((0, Re._)`!(${p} instanceof ${o.ValidationError})`,()=>s.throw(p)),b(p),a||s.assign(m,false);}),t.ok(m);}function l(){t.result((0, Ni.callValidateCode)(t,e,c),()=>y(e),()=>b(e));}function b(m){let p=(0, Re._)`${m}.errors`;s.assign(Ut.default.vErrors,(0, Re._)`${Ut.default.vErrors} === null ? ${p} : ${Ut.default.vErrors}.concat(${p})`),s.assign(Ut.default.errors,(0, Re._)`${Ut.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=ln.mergeEvaluated.props(s,S.props,o.props));else {let h=s.var("props",(0, Re._)`${m}.evaluated.props`);o.props=ln.mergeEvaluated.props(s,h,o.props,Re.Name);}if(o.items!==true)if(S&&!S.dynamicItems)S.items!==void 0&&(o.items=ln.mergeEvaluated.items(s,S.items,o.items));else {let h=s.var("items",(0, Re._)`${m}.evaluated.items`);o.items=ln.mergeEvaluated.items(s,h,o.items,Re.Name);}}}Ct.callRef=fn;Ct.default=vp;});var Mi=x(Ks=>{Object.defineProperty(Ks,"__esModule",{value:true});var bp=ji(),Sp=Fi(),wp=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",bp.default,Sp.default];Ks.default=wp;});var Li=x(Us=>{Object.defineProperty(Us,"__esModule",{value:true});var pn=G(),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}},kp={message:({keyword:t,schemaCode:e})=>(0, pn.str)`must be ${mn[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0, pn._)`{comparison: ${mn[t].okStr}, limit: ${e}}`},_p={keyword:Object.keys(mn),type:"number",schemaType:"number",$data:true,error:kp,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0, pn._)`${r} ${mn[e].fail} ${n} || isNaN(${r})`);}};Us.default=_p;});var Vi=x(Js=>{Object.defineProperty(Js,"__esModule",{value:true});var wr=G(),Rp={message:({schemaCode:t})=>(0, wr.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0, wr._)`{multipleOf: ${t}}`},Cp={keyword:"multipleOf",type:"number",schemaType:"number",$data:true,error:Rp,code(t){let{gen:e,data:r,schemaCode:n,it:s}=t,o=s.opts.multipleOfPrecision,a=e.let("res"),i=o?(0, wr._)`Math.abs(Math.round(${a}) - ${a}) > 1e-${o}`:(0, wr._)`${a} !== parseInt(${a})`;t.fail$data((0, wr._)`(${n} === 0 || (${a} = ${r}/${n}, ${i}))`);}};Js.default=Cp;});var Gi=x(Hs=>{Object.defineProperty(Hs,"__esModule",{value:true});function Bi(t){let e=t.length,r=0,n=0,s;for(;n<e;)r++,s=t.charCodeAt(n++),s>=55296&&s<=56319&&n<e&&(s=t.charCodeAt(n),(s&64512)===56320&&n++);return r}Hs.default=Bi;Bi.code='require("ajv/dist/runtime/ucs2length").default';});var Ki=x(zs=>{Object.defineProperty(zs,"__esModule",{value:true});var $t=G(),$p=H(),Ep=Gi(),xp={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return (0, $t.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0, $t._)`{limit: ${t}}`},Tp={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:true,error:xp,code(t){let{keyword:e,data:r,schemaCode:n,it:s}=t,o=e==="maxLength"?$t.operators.GT:$t.operators.LT,a=s.opts.unicode===false?(0, $t._)`${r}.length`:(0, $t._)`${(0, $p.useFunc)(t.gen,Ep.default)}(${r})`;t.fail$data((0, $t._)`${a} ${o} ${n}`);}};zs.default=Tp;});var Ui=x(Ws=>{Object.defineProperty(Ws,"__esModule",{value:true});var Ap=Ie(),Ip=H(),Jt=G(),Pp={message:({schemaCode:t})=>(0, Jt.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0, Jt._)`{pattern: ${t}}`},Op={keyword:"pattern",type:"string",schemaType:"string",$data:true,error:Pp,code(t){let{gen:e,data:r,$data:n,schema:s,schemaCode:o,it:a}=t,i=a.opts.unicodeRegExp?"u":"";if(n){let{regExp:u}=a.opts.code,c=u.code==="new RegExp"?(0, Jt._)`new RegExp`:(0, Ip.useFunc)(e,u),d=e.let("valid");e.try(()=>e.assign(d,(0, Jt._)`${c}(${o}, ${i}).test(${r})`),()=>e.assign(d,false)),t.fail$data((0, Jt._)`!${d}`);}else {let u=(0, Ap.usePattern)(t,s);t.fail$data((0, Jt._)`!${u}.test(${r})`);}}};Ws.default=Op;});var Ji=x(Ys=>{Object.defineProperty(Ys,"__esModule",{value:true});var kr=G(),jp={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return (0, kr.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0, kr._)`{limit: ${t}}`},Np={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:true,error:jp,code(t){let{keyword:e,data:r,schemaCode:n}=t,s=e==="maxProperties"?kr.operators.GT:kr.operators.LT;t.fail$data((0, kr._)`Object.keys(${r}).length ${s} ${n}`);}};Ys.default=Np;});var Hi=x(Xs=>{Object.defineProperty(Xs,"__esModule",{value:true});var _r=Ie(),Rr=G(),qp=H(),Dp={message:({params:{missingProperty:t}})=>(0, Rr.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0, Rr._)`{missingProperty: ${t}}`},Fp={keyword:"required",type:"object",schemaType:"array",$data:true,error:Dp,code(t){let{gen:e,schema:r,schemaCode:n,data:s,$data:o,it:a}=t,{opts:i}=a;if(!o&&r.length===0)return;let u=r.length>=i.loopRequired;if(a.allErrors?c():d(),i.strictRequired){let y=t.parentSchema.properties,{definedProperties:m}=t.it;for(let p of r)if(y?.[p]===void 0&&!m.has(p)){let S=a.schemaEnv.baseId+a.errSchemaPath,h=`required property "${p}" is not defined at "${S}" (strictRequired)`;(0, qp.checkStrictMode)(a,h,a.opts.strictRequired);}}function c(){if(u||o)t.block$data(Rr.nil,l);else for(let y of r)(0, _r.checkReportMissingProp)(t,y);}function d(){let y=e.let("missing");if(u||o){let m=e.let("valid",true);t.block$data(m,()=>b(y,m)),t.ok(m);}else e.if((0, _r.checkMissingProp)(t,r,y)),(0, _r.reportMissingProp)(t,y),e.else();}function l(){e.forOf("prop",n,y=>{t.setParams({missingProperty:y}),e.if((0, _r.noPropertyInData)(e,s,y,i.ownProperties),()=>t.error());});}function b(y,m){t.setParams({missingProperty:y}),e.forOf(y,n,()=>{e.assign(m,(0, _r.propertyInData)(e,s,y,i.ownProperties)),e.if((0, Rr.not)(m),()=>{t.error(),e.break();});},Rr.nil);}}};Xs.default=Fp;});var zi=x(Qs=>{Object.defineProperty(Qs,"__esModule",{value:true});var Cr=G(),Mp={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return (0, Cr.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0, Cr._)`{limit: ${t}}`},Lp={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:true,error:Mp,code(t){let{keyword:e,data:r,schemaCode:n}=t,s=e==="maxItems"?Cr.operators.GT:Cr.operators.LT;t.fail$data((0, Cr._)`${r}.length ${s} ${n}`);}};Qs.default=Lp;});var hn=x(Zs=>{Object.defineProperty(Zs,"__esModule",{value:true});var Wi=_s();Wi.code='require("ajv/dist/runtime/equal").default';Zs.default=Wi;});var Yi=x(to=>{Object.defineProperty(to,"__esModule",{value:true});var eo=lr(),fe=G(),Vp=H(),Bp=hn(),Gp={message:({params:{i:t,j:e}})=>(0, fe.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0, fe._)`{i: ${t}, j: ${e}}`},Kp={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:true,error:Gp,code(t){let{gen:e,data:r,$data:n,schema:s,parentSchema:o,schemaCode:a,it:i}=t;if(!n&&!s)return;let u=e.let("valid"),c=o.items?(0, eo.getSchemaTypes)(o.items):[];t.block$data(u,d,(0, fe._)`${a} === false`),t.ok(u);function d(){let m=e.let("i",(0, fe._)`${r}.length`),p=e.let("j");t.setParams({i:m,j:p}),e.assign(u,true),e.if((0, fe._)`${m} > 1`,()=>(l()?b:y)(m,p));}function l(){return c.length>0&&!c.some(m=>m==="object"||m==="array")}function b(m,p){let S=e.name("item"),h=(0, eo.checkDataTypes)(c,S,i.opts.strictNumbers,eo.DataType.Wrong),f=e.const("indices",(0, fe._)`{}`);e.for((0, fe._)`;${m}--;`,()=>{e.let(S,(0, fe._)`${r}[${m}]`),e.if(h,(0, fe._)`continue`),c.length>1&&e.if((0, fe._)`typeof ${S} == "string"`,(0, fe._)`${S} += "_"`),e.if((0, fe._)`typeof ${f}[${S}] == "number"`,()=>{e.assign(p,(0, fe._)`${f}[${S}]`),t.error(),e.assign(u,false).break();}).code((0, fe._)`${f}[${S}] = ${m}`);});}function y(m,p){let S=(0, Vp.useFunc)(e,Bp.default),h=e.name("outer");e.label(h).for((0, fe._)`;${m}--;`,()=>e.for((0, fe._)`${p} = ${m}; ${p}--;`,()=>e.if((0, fe._)`${S}(${r}[${m}], ${r}[${p}])`,()=>{t.error(),e.assign(u,false).break(h);})));}}};to.default=Kp;});var Xi=x(no=>{Object.defineProperty(no,"__esModule",{value:true});var ro=G(),Up=H(),Jp=hn(),Hp={message:"must be equal to constant",params:({schemaCode:t})=>(0, ro._)`{allowedValue: ${t}}`},zp={keyword:"const",$data:true,error:Hp,code(t){let{gen:e,data:r,$data:n,schemaCode:s,schema:o}=t;n||o&&typeof o=="object"?t.fail$data((0, ro._)`!${(0, Up.useFunc)(e,Jp.default)}(${r}, ${s})`):t.fail((0, ro._)`${o} !== ${r}`);}};no.default=zp;});var Qi=x(so=>{Object.defineProperty(so,"__esModule",{value:true});var $r=G(),Wp=H(),Yp=hn(),Xp={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0, $r._)`{allowedValues: ${t}}`},Qp={keyword:"enum",schemaType:"array",$data:true,error:Xp,code(t){let{gen:e,data:r,$data:n,schema:s,schemaCode:o,it:a}=t;if(!n&&s.length===0)throw new Error("enum must have non-empty array");let i=s.length>=a.opts.loopEnum,u,c=()=>u??(u=(0, Wp.useFunc)(e,Yp.default)),d;if(i||n)d=e.let("valid"),t.block$data(d,l);else {if(!Array.isArray(s))throw new Error("ajv implementation error");let y=e.const("vSchema",o);d=(0, $r.or)(...s.map((m,p)=>b(y,p)));}t.pass(d);function l(){e.assign(d,false),e.forOf("v",o,y=>e.if((0, $r._)`${c()}(${r}, ${y})`,()=>e.assign(d,true).break()));}function b(y,m){let p=s[m];return typeof p=="object"&&p!==null?(0, $r._)`${c()}(${r}, ${y}[${m}])`:(0, $r._)`${r} === ${p}`}}};so.default=Qp;});var Zi=x(oo=>{Object.defineProperty(oo,"__esModule",{value:true});var Zp=Li(),em=Vi(),tm=Ki(),rm=Ui(),nm=Ji(),sm=Hi(),om=zi(),am=Yi(),im=Xi(),um=Qi(),cm=[Zp.default,em.default,tm.default,rm.default,nm.default,sm.default,om.default,am.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},im.default,um.default];oo.default=cm;});var io=x(Er=>{Object.defineProperty(Er,"__esModule",{value:true});Er.validateAdditionalItems=void 0;var Et=G(),ao=H(),dm={message:({params:{len:t}})=>(0, Et.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0, Et._)`{limit: ${t}}`},lm={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:dm,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0, ao.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}eu(t,n);}};function eu(t,e){let{gen:r,schema:n,data:s,keyword:o,it:a}=t;a.items=true;let i=r.const("len",(0, Et._)`${s}.length`);if(n===false)t.setParams({len:e.length}),t.pass((0, Et._)`${i} <= ${e.length}`);else if(typeof n=="object"&&!(0, ao.alwaysValidSchema)(a,n)){let c=r.var("valid",(0, Et._)`${i} <= ${e.length}`);r.if((0, Et.not)(c),()=>u(c)),t.ok(c);}function u(c){r.forRange("i",e.length,i,d=>{t.subschema({keyword:o,dataProp:d,dataPropType:ao.Type.Num},c),a.allErrors||r.if((0, Et.not)(c),()=>r.break());});}}Er.validateAdditionalItems=eu;Er.default=lm;});var uo=x(xr=>{Object.defineProperty(xr,"__esModule",{value:true});xr.validateTuple=void 0;var tu=G(),gn=H(),fm=Ie(),pm={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return ru(t,"additionalItems",e);r.items=true,!(0, gn.alwaysValidSchema)(r,e)&&t.ok((0, fm.validateArray)(t));}};function ru(t,e,r=t.schema){let{gen:n,parentSchema:s,data:o,keyword:a,it:i}=t;d(s),i.opts.unevaluated&&r.length&&i.items!==true&&(i.items=gn.mergeEvaluated.items(n,r.length,i.items));let u=n.name("valid"),c=n.const("len",(0, tu._)`${o}.length`);r.forEach((l,b)=>{(0, gn.alwaysValidSchema)(i,l)||(n.if((0, tu._)`${c} > ${b}`,()=>t.subschema({keyword:a,schemaProp:b,dataProp:b},u)),t.ok(u));});function d(l){let{opts:b,errSchemaPath:y}=i,m=r.length,p=m===l.minItems&&(m===l.maxItems||l[e]===false);if(b.strictTuples&&!p){let S=`"${a}" is ${m}-tuple, but minItems or maxItems/${e} are not specified or different at path "${y}"`;(0, gn.checkStrictMode)(i,S,b.strictTuples);}}}xr.validateTuple=ru;xr.default=pm;});var nu=x(co=>{Object.defineProperty(co,"__esModule",{value:true});var mm=uo(),hm={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0, mm.validateTuple)(t,"items")};co.default=hm;});var ou=x(lo=>{Object.defineProperty(lo,"__esModule",{value:true});var su=G(),gm=H(),ym=Ie(),vm=io(),bm={message:({params:{len:t}})=>(0, su.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0, su._)`{limit: ${t}}`},Sm={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:bm,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:s}=r;n.items=true,!(0, gm.alwaysValidSchema)(n,e)&&(s?(0, vm.validateAdditionalItems)(t,s):t.ok((0, ym.validateArray)(t)));}};lo.default=Sm;});var au=x(fo=>{Object.defineProperty(fo,"__esModule",{value:true});var Oe=G(),yn=H(),wm={message:({params:{min:t,max:e}})=>e===void 0?(0, Oe.str)`must contain at least ${t} valid item(s)`:(0, Oe.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0, Oe._)`{minContains: ${t}}`:(0, Oe._)`{minContains: ${t}, maxContains: ${e}}`},km={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:true,error:wm,code(t){let{gen:e,schema:r,parentSchema:n,data:s,it:o}=t,a,i,{minContains:u,maxContains:c}=n;o.opts.next?(a=u===void 0?1:u,i=c):a=1;let d=e.const("len",(0, Oe._)`${s}.length`);if(t.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'),t.fail();return}if((0, yn.alwaysValidSchema)(o,r)){let p=(0, Oe._)`${d} >= ${a}`;i!==void 0&&(p=(0, Oe._)`${p} && ${d} <= ${i}`),t.pass(p);return}o.items=true;let l=e.name("valid");i===void 0&&a===1?y(l,()=>e.if(l,()=>e.break())):a===0?(e.let(l,true),i!==void 0&&e.if((0, Oe._)`${s}.length > 0`,b)):(e.let(l,false),b()),t.result(l,()=>t.reset());function b(){let p=e.name("_valid"),S=e.let("count",0);y(p,()=>e.if(p,()=>m(S)));}function y(p,S){e.forRange("i",0,d,h=>{t.subschema({keyword:"contains",dataProp:h,dataPropType:yn.Type.Num,compositeRule:true},p),S();});}function m(p){e.code((0, Oe._)`${p}++`),i===void 0?e.if((0, Oe._)`${p} >= ${a}`,()=>e.assign(l,true).break()):(e.if((0, Oe._)`${p} > ${i}`,()=>e.assign(l,false).break()),a===1?e.assign(l,true):e.if((0, Oe._)`${p} >= ${a}`,()=>e.assign(l,true)));}}};fo.default=km;});var cu=x(Ge=>{Object.defineProperty(Ge,"__esModule",{value:true});Ge.validateSchemaDeps=Ge.validatePropertyDeps=Ge.error=void 0;var po=G(),_m=H(),Tr=Ie();Ge.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return (0, po.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0, po._)`{property: ${t},
6
+ || ${a} === "boolean" || ${s} === null`).assign(i,(0, L._)`[${s}]`);}}}function rl({gen:t,parentData:e,parentDataProperty:r},n){t.if((0, L._)`${e} !== undefined`,()=>t.assign((0, L._)`${e}[${r}]`,n));}function ys(t,e,r,n=Lt.Correct){let s=n===Lt.Correct?L.operators.EQ:L.operators.NEQ,o;switch(t){case "null":return (0, L._)`${e} ${s} null`;case "array":o=(0, L._)`Array.isArray(${e})`;break;case "object":o=(0, L._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case "integer":o=a((0, L._)`!(${e} % 1) && !isNaN(${e})`);break;case "number":o=a();break;default:return (0, L._)`typeof ${e} ${s} ${t}`}return n===Lt.Correct?o:(0, L.not)(o);function a(i=L.nil){return (0, L.and)((0, L._)`typeof ${e} == "number"`,i,r?(0, L._)`isFinite(${e})`:L.nil)}}he.checkDataType=ys;function vs(t,e,r,n){if(t.length===1)return ys(t[0],e,r,n);let s,o=(0, Ia.toHash)(t);if(o.array&&o.object){let a=(0, L._)`typeof ${e} != "object"`;s=o.null?a:(0, L._)`!${e} || ${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,ys(a,e,r,n));return s}he.checkDataTypes=vs;var nl={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0, L._)`{type: ${t}}`:(0, L._)`{type: ${e}}`};function bs(t){let e=sl(t);(0, Xd.reportError)(e,nl);}he.reportTypeError=bs;function sl(t){let{gen:e,data:r,schema:n}=t,s=(0, Ia.schemaRefOrVal)(t,n,"type");return {gen:e,keyword:"type",data:r,schema:n.type,schemaCode:s,schemaValue:s,parentSchema:n,params:{},it:t}}});var Na=x(Qr=>{Object.defineProperty(Qr,"__esModule",{value:true});Qr.assignDefaults=void 0;var Vt=G(),ol=H();function al(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let s in r)ja(t,s,r[s].default);else e==="array"&&Array.isArray(n)&&n.forEach((s,o)=>ja(t,o,s.default));}Qr.assignDefaults=al;function ja(t,e,r){let{gen:n,compositeRule:s,data:o,opts:a}=t;if(r===void 0)return;let i=(0, Vt._)`${o}${(0, Vt.getProperty)(e)}`;if(s){(0, ol.checkStrictMode)(t,`default is ignored for: ${i}`);return}let u=(0, Vt._)`${i} === undefined`;a.useDefaults==="empty"&&(u=(0, Vt._)`${u} || ${i} === null || ${i} === ""`),n.if(u,(0, Vt._)`${i} = ${(0, Vt.stringify)(r)}`);}});var Ie=x(X=>{Object.defineProperty(X,"__esModule",{value:true});X.validateUnion=X.validateArray=X.usePattern=X.callValidateCode=X.schemaProperties=X.allSchemaProperties=X.noPropertyInData=X.propertyInData=X.isOwnProperty=X.hasPropFunc=X.reportMissingProp=X.checkMissingProp=X.checkReportMissingProp=void 0;var ne=G(),ks=H(),nt=He(),il=H();function ul(t,e){let{gen:r,data:n,it:s}=t;r.if(Ss(r,n,e,s.opts.ownProperties),()=>{t.setParams({missingProperty:(0, ne._)`${e}`},true),t.error();});}X.checkReportMissingProp=ul;function cl({gen:t,data:e,it:{opts:r}},n,s){return (0, ne.or)(...n.map(o=>(0, ne.and)(Ss(t,e,o,r.ownProperties),(0, ne._)`${s} = ${o}`)))}X.checkMissingProp=cl;function dl(t,e){t.setParams({missingProperty:e},true),t.error();}X.reportMissingProp=dl;function qa(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0, ne._)`Object.prototype.hasOwnProperty`})}X.hasPropFunc=qa;function ws(t,e,r){return (0, ne._)`${qa(t)}.call(${e}, ${r})`}X.isOwnProperty=ws;function ll(t,e,r,n){let s=(0, ne._)`${e}${(0, ne.getProperty)(r)} !== undefined`;return n?(0, ne._)`${s} && ${ws(t,e,r)}`:s}X.propertyInData=ll;function Ss(t,e,r,n){let s=(0, ne._)`${e}${(0, ne.getProperty)(r)} === undefined`;return n?(0, ne.or)(s,(0, ne.not)(ws(t,e,r))):s}X.noPropertyInData=Ss;function Da(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}X.allSchemaProperties=Da;function fl(t,e){return Da(e).filter(r=>!(0, ks.alwaysValidSchema)(t,e[r]))}X.schemaProperties=fl;function pl({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:s,errorPath:o},it:a},i,u,c){let d=c?(0, ne._)`${t}, ${e}, ${n}${s}`:e,l=[[nt.default.instancePath,(0, ne.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 b=(0, ne._)`${d}, ${r.object(...l)}`;return u!==ne.nil?(0, ne._)`${i}.call(${u}, ${b})`:(0, ne._)`${i}(${b})`}X.callValidateCode=pl;var ml=(0, ne._)`new RegExp`;function hl({gen:t,it:{opts:e}},r){let n=e.unicodeRegExp?"u":"",{regExp:s}=e.code,o=s(r,n);return t.scopeValue("pattern",{key:o.toString(),ref:o,code:(0, ne._)`${s.code==="new RegExp"?ml:(0, il.useFunc)(t,s)}(${r}, ${n})`})}X.usePattern=hl;function gl(t){let{gen:e,data:r,keyword:n,it:s}=t,o=e.name("valid");if(s.allErrors){let i=e.let("valid",true);return a(()=>e.assign(i,false)),i}return e.var(o,true),a(()=>e.break()),o;function a(i){let u=e.const("len",(0, ne._)`${r}.length`);e.forRange("i",0,u,c=>{t.subschema({keyword:n,dataProp:c,dataPropType:ks.Type.Num},o),e.if((0, ne.not)(o),i);});}}X.validateArray=gl;function yl(t){let{gen:e,schema:r,keyword:n,it:s}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(u=>(0, ks.alwaysValidSchema)(s,u))&&!s.opts.unevaluated)return;let a=e.let("valid",false),i=e.name("_valid");e.block(()=>r.forEach((u,c)=>{let d=t.subschema({keyword:n,schemaProp:c,compositeRule:true},i);e.assign(a,(0, ne._)`${a} || ${i}`),t.mergeValidEvaluated(d,i)||e.if((0, ne.not)(a));})),t.result(a,()=>t.reset(),()=>t.error(true));}X.validateUnion=yl;});var La=x(Le=>{Object.defineProperty(Le,"__esModule",{value:true});Le.validateKeywordUsage=Le.validSchemaType=Le.funcKeywordCode=Le.macroKeywordCode=void 0;var be=G(),_t=He(),vl=Ie(),bl=dr();function kl(t,e){let{gen:r,keyword:n,schema:s,parentSchema:o,it:a}=t,i=e.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");t.subschema({schema:i,schemaPath:be.nil,errSchemaPath:`${a.errSchemaPath}/${n}`,topSchemaRef:u,compositeRule:true},c),t.pass(c,()=>t.error(true));}Le.macroKeywordCode=kl;function wl(t,e){var r;let{gen:n,keyword:s,schema:o,parentSchema:a,$data:i,it:u}=t;_l(u,e);let c=!i&&e.compile?e.compile.call(u.self,o,a,u):e.validate,d=Ma(n,s,c),l=n.let("valid");t.block$data(l,b),t.ok((r=e.valid)!==null&&r!==void 0?r:l);function b(){if(e.errors===false)p(),e.modifying&&Fa(t),k(()=>t.error());else {let h=e.async?y():m();e.modifying&&Fa(t),k(()=>Sl(t,h));}}function y(){let h=n.let("ruleErrs",null);return n.try(()=>p((0, be._)`await `),f=>n.assign(l,false).if((0, be._)`${f} instanceof ${u.ValidationError}`,()=>n.assign(h,(0, be._)`${f}.errors`),()=>n.throw(f))),h}function m(){let h=(0, be._)`${d}.errors`;return n.assign(h,null),p(be.nil),h}function p(h=e.async?(0, be._)`await `:be.nil){let f=u.opts.passContext?_t.default.this:_t.default.self,g=!("compile"in e&&!i||e.schema===false);n.assign(l,(0, be._)`${h}${(0, vl.callValidateCode)(t,d,f,g)}`,e.modifying);}function k(h){var f;n.if((0, be.not)((f=e.valid)!==null&&f!==void 0?f:l),h);}}Le.funcKeywordCode=wl;function Fa(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0, be._)`${n.parentData}[${n.parentDataProperty}]`));}function Sl(t,e){let{gen:r}=t;r.if((0, be._)`Array.isArray(${e})`,()=>{r.assign(_t.default.vErrors,(0, be._)`${_t.default.vErrors} === null ? ${e} : ${_t.default.vErrors}.concat(${e})`).assign(_t.default.errors,(0, be._)`${_t.default.vErrors}.length`),(0, bl.extendErrors)(t);},()=>t.error());}function _l({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function Ma(t,e,r){if(r===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0, be.stringify)(r)})}function Rl(t,e,r=false){return !e.length||e.some(n=>n==="array"?Array.isArray(t):n==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==n||r&&typeof t>"u")}Le.validSchemaType=Rl;function Cl({schema:t,opts:e,self:r,errSchemaPath:n},s,o){if(Array.isArray(s.keyword)?!s.keyword.includes(o):s.keyword!==o)throw new Error("ajv implementation error");let a=s.dependencies;if(a?.some(i=>!Object.prototype.hasOwnProperty.call(t,i)))throw new Error(`parent schema must have dependencies of ${o}: ${a.join(",")}`);if(s.validateSchema&&!s.validateSchema(t[o])){let u=`keyword "${o}" value is invalid at path "${n}": `+r.errorsText(s.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(u);else throw new Error(u)}}Le.validateKeywordUsage=Cl;});var Ba=x(st=>{Object.defineProperty(st,"__esModule",{value:true});st.extendSubschemaMode=st.extendSubschemaData=st.getSubschema=void 0;var Ve=G(),Va=H();function $l(t,{keyword:e,schemaProp:r,schema:n,schemaPath:s,errSchemaPath:o,topSchemaRef:a}){if(e!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let i=t.schema[e];return r===void 0?{schema:i,schemaPath:(0, Ve._)`${t.schemaPath}${(0, Ve.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:i[r],schemaPath:(0, Ve._)`${t.schemaPath}${(0, Ve.getProperty)(e)}${(0, Ve.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(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=$l;function El(t,e,{dataProp:r,dataPropType:n,data:s,dataTypes:o,propertyName:a}){if(s!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:i}=e;if(r!==void 0){let{errorPath:c,dataPathArr:d,opts:l}=e,b=i.let("data",(0, Ve._)`${e.data}${(0, Ve.getProperty)(r)}`,true);u(b),t.errorPath=(0, Ve.str)`${c}${(0, Va.getErrorPath)(r,n,l.jsPropertySyntax)}`,t.parentDataProperty=(0, Ve._)`${r}`,t.dataPathArr=[...d,t.parentDataProperty];}if(s!==void 0){let c=s instanceof Ve.Name?s:i.let("data",s,true);u(c),a!==void 0&&(t.propertyName=a);}o&&(t.dataTypes=o);function u(c){t.data=c,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,c];}}st.extendSubschemaData=El;function xl(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:n,createErrors:s,allErrors:o}){n!==void 0&&(t.compositeRule=n),s!==void 0&&(t.createErrors=s),o!==void 0&&(t.allErrors=o),t.jtdDiscriminator=e,t.jtdMetadata=r;}st.extendSubschemaMode=xl;});var _s=x((fy,Ga)=>{Ga.exports=function t(e,r){if(e===r)return true;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return false;var n,s,o;if(Array.isArray(e)){if(n=e.length,n!=r.length)return false;for(s=n;s--!==0;)if(!t(e[s],r[s]))return false;return true}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(o=Object.keys(e),n=o.length,n!==Object.keys(r).length)return false;for(s=n;s--!==0;)if(!Object.prototype.hasOwnProperty.call(r,o[s]))return false;for(s=n;s--!==0;){var a=o[s];if(!t(e[a],r[a]))return false}return true}return e!==e&&r!==r};});var Ua=x((py,Ka)=>{var ot=Ka.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var n=typeof r=="function"?r:r.pre||function(){},s=r.post||function(){};Zr(e,n,s,t,"",t);};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(t,e,r,n,s,o,a,i,u,c){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,s,o,a,i,u,c);for(var d in n){var l=n[d];if(Array.isArray(l)){if(d in ot.arrayKeywords)for(var b=0;b<l.length;b++)Zr(t,e,r,l[b],s+"/"+d+"/"+b,o,s,d,n,b);}else if(d in ot.propsKeywords){if(l&&typeof l=="object")for(var y in l)Zr(t,e,r,l[y],s+"/"+d+"/"+Tl(y),o,s,d,n,y);}else (d in ot.keywords||t.allKeys&&!(d in ot.skipKeywords))&&Zr(t,e,r,l,s+"/"+d,o,s,d,n);}r(n,s,o,a,i,u,c);}}function Tl(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var fr=x(_e=>{Object.defineProperty(_e,"__esModule",{value:true});_e.getSchemaRefs=_e.resolveUrl=_e.normalizeId=_e._getFullPath=_e.getFullPath=_e.inlineRef=void 0;var Al=H(),Il=_s(),Pl=Ua(),Ol=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function jl(t,e=true){return typeof t=="boolean"?true:e===true?!Rs(t):e?Ja(t)<=e:false}_e.inlineRef=jl;var Nl=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Rs(t){for(let e in t){if(Nl.has(e))return true;let r=t[e];if(Array.isArray(r)&&r.some(Rs)||typeof r=="object"&&Rs(r))return true}return false}function Ja(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!Ol.has(r)&&(typeof t[r]=="object"&&(0, Al.eachItem)(t[r],n=>e+=Ja(n)),e===1/0))return 1/0}return e}function Ha(t,e="",r){r!==false&&(e=Bt(e));let n=t.parse(e);return za(t,n)}_e.getFullPath=Ha;function za(t,e){return t.serialize(e).split("#")[0]+"#"}_e._getFullPath=za;var ql=/#\/?$/;function Bt(t){return t?t.replace(ql,""):""}_e.normalizeId=Bt;function Dl(t,e,r){return r=Bt(r),t.resolve(e,r)}_e.resolveUrl=Dl;var Fl=/^[a-z_][-a-z0-9._]*$/i;function Ml(t,e){if(typeof t=="boolean")return {};let{schemaId:r,uriResolver:n}=this.opts,s=Bt(t[r]||e),o={"":s},a=Ha(n,s,false),i={},u=new Set;return Pl(t,{allKeys:true},(l,b,y,m)=>{if(m===void 0)return;let p=a+b,k=o[m];typeof l[r]=="string"&&(k=h.call(this,l[r])),f.call(this,l.$anchor),f.call(this,l.$dynamicAnchor),o[b]=k;function h(g){let S=this.opts.uriResolver.resolve;if(g=Bt(k?S(k,g):g),u.has(g))throw d(g);u.add(g);let w=this.refs[g];return typeof w=="string"&&(w=this.refs[w]),typeof w=="object"?c(l,w.schema,g):g!==Bt(p)&&(g[0]==="#"?(c(l,i[g],g),i[g]=l):this.refs[g]=p),g}function f(g){if(typeof g=="string"){if(!Fl.test(g))throw new Error(`invalid anchor "${g}"`);h.call(this,`#${g}`);}}}),i;function c(l,b,y){if(b!==void 0&&!Il(l,b))throw d(y)}function d(l){return new Error(`reference "${l}" resolves to more than one schema`)}}_e.getSchemaRefs=Ml;});var hr=x(at=>{Object.defineProperty(at,"__esModule",{value:true});at.getData=at.KeywordCxt=at.validateFunctionCode=void 0;var Za=xa(),Wa=lr(),$s=gs(),en=lr(),Ll=Na(),mr=La(),Cs=Ba(),T=G(),O=He(),Vl=fr(),ze=H(),pr=dr();function Bl(t){if(ri(t)&&(ni(t),ti(t))){Ul(t);return}ei(t,()=>(0, Za.topBoolOrEmptySchema)(t));}at.validateFunctionCode=Bl;function ei({gen:t,validateName:e,schema:r,schemaEnv:n,opts:s},o){s.code.es5?t.func(e,(0, T._)`${O.default.data}, ${O.default.valCxt}`,n.$async,()=>{t.code((0, T._)`"use strict"; ${Ya(r,s)}`),Kl(t,s),t.code(o);}):t.func(e,(0, T._)`${O.default.data}, ${Gl(s)}`,n.$async,()=>t.code(Ya(r,s)).code(o));}function Gl(t){return (0, T._)`{${O.default.instancePath}="", ${O.default.parentData}, ${O.default.parentDataProperty}, ${O.default.rootData}=${O.default.data}${t.dynamicRef?(0, T._)`, ${O.default.dynamicAnchors}={}`:T.nil}}={}`}function Kl(t,e){t.if(O.default.valCxt,()=>{t.var(O.default.instancePath,(0, T._)`${O.default.valCxt}.${O.default.instancePath}`),t.var(O.default.parentData,(0, T._)`${O.default.valCxt}.${O.default.parentData}`),t.var(O.default.parentDataProperty,(0, T._)`${O.default.valCxt}.${O.default.parentDataProperty}`),t.var(O.default.rootData,(0, T._)`${O.default.valCxt}.${O.default.rootData}`),e.dynamicRef&&t.var(O.default.dynamicAnchors,(0, T._)`${O.default.valCxt}.${O.default.dynamicAnchors}`);},()=>{t.var(O.default.instancePath,(0, T._)`""`),t.var(O.default.parentData,(0, T._)`undefined`),t.var(O.default.parentDataProperty,(0, T._)`undefined`),t.var(O.default.rootData,O.default.data),e.dynamicRef&&t.var(O.default.dynamicAnchors,(0, T._)`{}`);});}function Ul(t){let{schema:e,opts:r,gen:n}=t;ei(t,()=>{r.$comment&&e.$comment&&oi(t),Yl(t),n.let(O.default.vErrors,null),n.let(O.default.errors,0),r.unevaluated&&Jl(t),si(t),Zl(t);});}function Jl(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0, T._)`${r}.evaluated`),e.if((0, T._)`${t.evaluated}.dynamicProps`,()=>e.assign((0, T._)`${t.evaluated}.props`,(0, T._)`undefined`)),e.if((0, T._)`${t.evaluated}.dynamicItems`,()=>e.assign((0, T._)`${t.evaluated}.items`,(0, T._)`undefined`));}function Ya(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0, T._)`/*# sourceURL=${r} */`:T.nil}function Hl(t,e){if(ri(t)&&(ni(t),ti(t))){zl(t,e);return}(0, Za.boolOrEmptySchema)(t,e);}function ti({schema:t,self:e}){if(typeof t=="boolean")return !t;for(let r in t)if(e.RULES.all[r])return true;return false}function ri(t){return typeof t.schema!="boolean"}function zl(t,e){let{schema:r,gen:n,opts:s}=t;s.$comment&&r.$comment&&oi(t),Xl(t),Ql(t);let o=n.const("_errs",O.default.errors);si(t,o),n.var(e,(0, T._)`${o} === ${O.default.errors}`);}function ni(t){(0, ze.checkUnknownRules)(t),Wl(t);}function si(t,e){if(t.opts.jtd)return Xa(t,[],false,e);let r=(0, Wa.getSchemaTypes)(t.schema),n=(0, Wa.coerceAndCheckDataType)(t,r);Xa(t,r,!n,e);}function Wl(t){let{schema:e,errSchemaPath:r,opts:n,self:s}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0, ze.schemaHasRulesButRef)(e,s.RULES)&&s.logger.warn(`$ref: keywords ignored in schema at path "${r}"`);}function Yl(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0, ze.checkStrictMode)(t,"default is ignored in the schema root");}function Xl(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0, Vl.resolveUrl)(t.opts.uriResolver,t.baseId,e));}function Ql(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function oi({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:s}){let o=r.$comment;if(s.$comment===true)t.code((0, T._)`${O.default.self}.logger.log(${o})`);else if(typeof s.$comment=="function"){let a=(0, T.str)`${n}/$comment`,i=t.scopeValue("root",{ref:e.root});t.code((0, T._)`${O.default.self}.opts.$comment(${o}, ${a}, ${i}.schema)`);}}function Zl(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:s,opts:o}=t;r.$async?e.if((0, T._)`${O.default.errors} === 0`,()=>e.return(O.default.data),()=>e.throw((0, T._)`new ${s}(${O.default.vErrors})`)):(e.assign((0, T._)`${n}.errors`,O.default.vErrors),o.unevaluated&&ef(t),e.return((0, T._)`${O.default.errors} === 0`));}function ef({gen:t,evaluated:e,props:r,items:n}){r instanceof T.Name&&t.assign((0, T._)`${e}.props`,r),n instanceof T.Name&&t.assign((0, T._)`${e}.items`,n);}function Xa(t,e,r,n){let{gen:s,schema:o,data:a,allErrors:i,opts:u,self:c}=t,{RULES:d}=c;if(o.$ref&&(u.ignoreKeywordsWithRef||!(0, ze.schemaHasRulesButRef)(o,d))){s.block(()=>ii(t,"$ref",d.all.$ref.definition));return}u.jtd||tf(t,e),s.block(()=>{for(let b of d.rules)l(b);l(d.post);});function l(b){(0, $s.shouldUseGroup)(o,b)&&(b.type?(s.if((0, en.checkDataType)(b.type,a,u.strictNumbers)),Qa(t,b),e.length===1&&e[0]===b.type&&r&&(s.else(),(0, en.reportTypeError)(t)),s.endIf()):Qa(t,b),i||s.if((0, T._)`${O.default.errors} === ${n||0}`));}}function Qa(t,e){let{gen:r,schema:n,opts:{useDefaults:s}}=t;s&&(0, Ll.assignDefaults)(t,e.type),r.block(()=>{for(let o of e.rules)(0, $s.shouldUseRule)(n,o)&&ii(t,o.keyword,o.definition,e.type);});}function tf(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(rf(t,e),t.opts.allowUnionTypes||nf(t,e),sf(t,t.dataTypes));}function rf(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{ai(t.dataTypes,r)||Es(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`);}),af(t,e);}}function nf(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&Es(t,"use allowUnionTypes to allow union type keyword");}function sf(t,e){let r=t.self.RULES.all;for(let n in r){let s=r[n];if(typeof s=="object"&&(0, $s.shouldUseRule)(t.schema,s)){let{type:o}=s.definition;o.length&&!o.some(a=>of(e,a))&&Es(t,`missing type "${o.join(",")}" for keyword "${n}"`);}}}function of(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function ai(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function af(t,e){let r=[];for(let n of t.dataTypes)ai(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r;}function Es(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0, ze.checkStrictMode)(t,e,t.opts.strictTypes);}var tn=class{constructor(e,r,n){if((0, mr.validateKeywordUsage)(e,r,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=r.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0, ze.schemaRefOrVal)(e,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=r,this.$data)this.schemaCode=e.gen.const("vSchema",ui(this.$data,e));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=e.gen.const("_errs",O.default.errors));}result(e,r,n){this.failResult((0, T.not)(e),r,n);}failResult(e,r,n){this.gen.if(e),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else();}pass(e,r){this.failResult((0, T.not)(e),void 0,r);}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(false);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else();}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:r}=this;this.fail((0, T._)`${r} !== undefined && (${(0, T.or)(this.invalid$data(),e)})`);}error(e,r,n){if(r){this.setParams(r),this._error(e,n),this.setParams({});return}this._error(e,n);}_error(e,r){(e?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(e){this.allErrors||this.gen.if(e);}setParams(e,r){r?Object.assign(this.params,e):this.params=e;}block$data(e,r,n=T.nil){this.gen.block(()=>{this.check$data(e,n),r();});}check$data(e=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)),e!==T.nil&&n.assign(e,true),(o.length||a.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==T.nil&&n.assign(e,false)),n.else();}invalid$data(){let{gen:e,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=e.scopeValue("validate$data",{ref:s.validateSchema});return (0, T._)`!${u}(${r})`}return T.nil}}subschema(e,r){let n=(0, Cs.getSubschema)(this.it,e);(0, Cs.extendSubschemaData)(n,this.it,e),(0, Cs.extendSubschemaMode)(n,e);let s={...this.it,...n,items:void 0,props:void 0};return Hl(s,r),s}mergeEvaluated(e,r){let{it:n,gen:s}=this;n.opts.unevaluated&&(n.props!==true&&e.props!==void 0&&(n.props=ze.mergeEvaluated.props(s,e.props,n.props,r)),n.items!==true&&e.items!==void 0&&(n.items=ze.mergeEvaluated.items(s,e.items,n.items,r)));}mergeValidEvaluated(e,r){let{it:n,gen:s}=this;if(n.opts.unevaluated&&(n.props!==true||n.items!==true))return s.if(r,()=>this.mergeEvaluated(e,T.Name)),true}};at.KeywordCxt=tn;function ii(t,e,r,n){let s=new tn(t,r,e);"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 uf=/^\/(?:[^~]|~0|~1)*$/,cf=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function ui(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let s,o;if(t==="")return O.default.rootData;if(t[0]==="/"){if(!uf.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);s=t,o=O.default.rootData;}else {let c=cf.exec(t);if(!c)throw new Error(`Invalid JSON-pointer: ${t}`);let d=+c[1];if(s=c[2],s==="#"){if(d>=e)throw new Error(u("property/index",d));return n[e-d]}if(d>e)throw new Error(u("data",d));if(o=r[e-d],!s)return o}let a=o,i=s.split("/");for(let c of i)c&&(o=(0, T._)`${o}${(0, T.getProperty)((0, ze.unescapeJsonPointer)(c))}`,a=(0, T._)`${a} && ${o}`);return a;function u(c,d){return `Cannot access ${c} ${d} levels up, current level is ${e}`}}at.getData=ui;});var rn=x(Ts=>{Object.defineProperty(Ts,"__esModule",{value:true});var xs=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=true;}};Ts.default=xs;});var gr=x(Ps=>{Object.defineProperty(Ps,"__esModule",{value:true});var As=fr(),Is=class extends Error{constructor(e,r,n,s){super(s||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0, As.resolveUrl)(e,r,n),this.missingSchema=(0, As.normalizeId)((0, As.getFullPath)(e,this.missingRef));}};Ps.default=Is;});var sn=x(Pe=>{Object.defineProperty(Pe,"__esModule",{value:true});Pe.resolveSchema=Pe.getCompilingSchema=Pe.resolveRef=Pe.compileSchema=Pe.SchemaEnv=void 0;var Ne=G(),df=rn(),Rt=He(),qe=fr(),ci=H(),lf=hr(),Gt=class{constructor(e){var r;this.refs={},this.dynamicAnchors={};let n;typeof e.schema=="object"&&(n=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(r=e.baseId)!==null&&r!==void 0?r:(0, qe.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={};}};Pe.SchemaEnv=Gt;function js(t){let e=di.call(this,t);if(e)return e;let r=(0, qe.getFullPath)(this.opts.uriResolver,t.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;t.$async&&(i=a.scopeValue("Error",{ref:df.default,code:(0, Ne._)`require("ajv/dist/runtime/validation_error").default`}));let u=a.scopeName("validate");t.validateName=u;let c={gen:a,allErrors:this.opts.allErrors,data:Rt.default.data,parentData:Rt.default.parentData,parentDataProperty:Rt.default.parentDataProperty,dataNames:[Rt.default.data],dataPathArr:[Ne.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:a.scopeValue("schema",this.opts.code.source===true?{ref:t.schema,code:(0, Ne.stringify)(t.schema)}:{ref:t.schema}),validateName:u,ValidationError:i,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:Ne.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0, Ne._)`""`,opts:this.opts,self:this},d;try{this._compilations.add(t),(0,lf.validateFunctionCode)(c),a.optimize(this.opts.code.optimize);let l=a.toString();d=`${a.scopeRefs(Rt.default.scope)}return ${l}`,this.opts.code.process&&(d=this.opts.code.process(d,t));let y=new Function(`${Rt.default.self}`,`${Rt.default.scope}`,d)(this,this.scope.get());if(this.scope.value(u,{ref:y}),y.errors=null,y.schema=t.schema,y.schemaEnv=t,t.$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 Ne.Name?void 0:m,items:p instanceof Ne.Name?void 0:p,dynamicProps:m instanceof Ne.Name,dynamicItems:p instanceof Ne.Name},y.source&&(y.source.evaluated=(0,Ne.stringify)(y.evaluated));}return t.validate=y,t}catch(l){throw delete t.validate,delete t.validateName,d&&this.logger.error("Error compiling schema, function code:",d),l}finally{this._compilations.delete(t);}}Pe.compileSchema=js;function ff(t,e,r){var n;r=(0, qe.resolveUrl)(this.opts.uriResolver,e,r);let s=t.refs[r];if(s)return s;let o=hf.call(this,t,r);if(o===void 0){let a=(n=t.localRefs)===null||n===void 0?void 0:n[r],{schemaId:i}=this.opts;a&&(o=new Gt({schema:a,schemaId:i,root:t,baseId:e}));}if(o!==void 0)return t.refs[r]=pf.call(this,o)}Pe.resolveRef=ff;function pf(t){return (0, qe.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:js.call(this,t)}function di(t){for(let e of this._compilations)if(mf(e,t))return e}Pe.getCompilingSchema=di;function mf(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function hf(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||nn.call(this,t,e)}function nn(t,e){let r=this.opts.uriResolver.parse(e),n=(0, qe._getFullPath)(this.opts.uriResolver,r),s=(0, qe.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===s)return Os.call(this,r,t);let o=(0, qe.normalizeId)(n),a=this.refs[o]||this.schemas[o];if(typeof a=="string"){let i=nn.call(this,t,a);return typeof i?.schema!="object"?void 0:Os.call(this,r,i)}if(typeof a?.schema=="object"){if(a.validate||js.call(this,a),o===(0, qe.normalizeId)(e)){let{schema:i}=a,{schemaId:u}=this.opts,c=i[u];return c&&(s=(0, qe.resolveUrl)(this.opts.uriResolver,s,c)),new Gt({schema:i,schemaId:u,root:t,baseId:s})}return Os.call(this,r,a)}}Pe.resolveSchema=nn;var gf=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Os(t,{baseId:e,schema:r,root:n}){var s;if(((s=t.fragment)===null||s===void 0?void 0:s[0])!=="/")return;for(let i of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let u=r[(0, ci.unescapeFragment)(i)];if(u===void 0)return;r=u;let c=typeof r=="object"&&r[this.opts.schemaId];!gf.has(i)&&c&&(e=(0, qe.resolveUrl)(this.opts.uriResolver,e,c));}let o;if(typeof r!="boolean"&&r.$ref&&!(0, ci.schemaHasRulesButRef)(r,this.RULES)){let i=(0, qe.resolveUrl)(this.opts.uriResolver,e,r.$ref);o=nn.call(this,n,i);}let{schemaId:a}=this.opts;if(o=o||new Gt({schema:r,schemaId:a,root:n,baseId:e}),o.schema!==o.root.schema)return o}});var li=x((by,yf)=>{yf.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 qs=x((ky,hi)=>{var vf=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 Ns(t){let e="",r=0,n=0;for(n=0;n<t.length;n++)if(r=t[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return "";e+=t[n];break}for(n+=1;n<t.length;n++){if(r=t[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return "";e+=t[n];}return e}var bf=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function fi(t){return t.length=0,true}function kf(t,e,r){if(t.length){let n=Ns(t);if(n!=="")e.push(n);else return r.error=true,false;t.length=0;}return true}function wf(t){let e=0,r={error:false,address:"",zone:""},n=[],s=[],o=false,a=false,i=kf;for(let u=0;u<t.length;u++){let c=t[u];if(!(c==="["||c==="]"))if(c===":"){if(o===true&&(a=true),!i(s,n,r))break;if(++e>7){r.error=true;break}u>0&&t[u-1]===":"&&(o=true),n.push(":");continue}else if(c==="%"){if(!i(s,n,r))break;i=fi;}else {s.push(c);continue}}return s.length&&(i===fi?r.zone=s.join(""):a?n.push(s.join("")):n.push(Ns(s))),r.address=n.join(""),r}function mi(t){if(Sf(t,":")<2)return {host:t,isIPV6:false};let e=wf(t);if(e.error)return {host:t,isIPV6:false};{let r=e.address,n=e.address;return e.zone&&(r+="%"+e.zone,n+="%25"+e.zone),{host:r,isIPV6:true,escapedHost:n}}}function Sf(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}function _f(t){let e=t,r=[],n=-1,s=0;for(;s=e.length;){if(s===1){if(e===".")break;if(e==="/"){r.push("/");break}else {r.push(e);break}}else if(s===2){if(e[0]==="."){if(e[1]===".")break;if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&(e[1]==="."||e[1]==="/")){r.push("/");break}}else if(s===3&&e==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(e[0]==="."){if(e[1]==="."){if(e[2]==="/"){e=e.slice(3);continue}}else if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&e[1]==="."){if(e[2]==="/"){e=e.slice(2);continue}else if(e[2]==="."&&e[3]==="/"){e=e.slice(3),r.length!==0&&r.pop();continue}}if((n=e.indexOf("/",1))===-1){r.push(e);break}else r.push(e.slice(0,n)),e=e.slice(n);}return r.join("")}function Rf(t,e){let r=e!==true?escape:unescape;return t.scheme!==void 0&&(t.scheme=r(t.scheme)),t.userinfo!==void 0&&(t.userinfo=r(t.userinfo)),t.host!==void 0&&(t.host=r(t.host)),t.path!==void 0&&(t.path=r(t.path)),t.query!==void 0&&(t.query=r(t.query)),t.fragment!==void 0&&(t.fragment=r(t.fragment)),t}function Cf(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!pi(r)){let n=mi(r);n.isIPV6===true?r=`[${n.escapedHost}]`:r=t.host;}e.push(r);}return (typeof t.port=="number"||typeof t.port=="string")&&(e.push(":"),e.push(String(t.port))),e.length?e.join(""):void 0}hi.exports={nonSimpleDomain:bf,recomposeAuthority:Cf,normalizeComponentEncoding:Rf,removeDotSegments:_f,isIPv4:pi,isUUID:vf,normalizeIPv6:mi,stringArrayToHexStripped:Ns};});var ki=x((wy,bi)=>{var{isUUID:$f}=qs(),Ef=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,xf=["http","https","ws","wss","urn","urn:uuid"];function Tf(t){return xf.indexOf(t)!==-1}function Ds(t){return t.secure===true?true:t.secure===false?false:t.scheme?t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S"):false}function gi(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function yi(t){let e=String(t.scheme).toLowerCase()==="https";return (t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function Af(t){return t.secure=Ds(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function If(t){if((t.port===(Ds(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,r]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=r,t.resourceName=void 0;}return t.fragment=void 0,t}function Pf(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(Ef);if(r){let n=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let s=`${n}:${e.nid||t.nid}`,o=Fs(s);t.path=void 0,o&&(t=o.parse(t,e));}else t.error=t.error||"URN can not be parsed.";return t}function Of(t,e){if(t.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=e.scheme||t.scheme||"urn",n=t.nid.toLowerCase(),s=`${r}:${e.nid||n}`,o=Fs(s);o&&(t=o.serialize(t,e));let a=t,i=t.nss;return a.path=`${n||e.nid}:${i}`,e.skipEscape=true,a}function jf(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!$f(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function Nf(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var vi={scheme:"http",domainHost:true,parse:gi,serialize:yi},qf={scheme:"https",domainHost:vi.domainHost,parse:gi,serialize:yi},on={scheme:"ws",domainHost:true,parse:Af,serialize:If},Df={scheme:"wss",domainHost:on.domainHost,parse:on.parse,serialize:on.serialize},Ff={scheme:"urn",parse:Pf,serialize:Of,skipNormalize:true},Mf={scheme:"urn:uuid",parse:jf,serialize:Nf,skipNormalize:true},an={http:vi,https:qf,ws:on,wss:Df,urn:Ff,"urn:uuid":Mf};Object.setPrototypeOf(an,null);function Fs(t){return t&&(an[t]||an[t.toLowerCase()])||void 0}bi.exports={wsIsSecure:Ds,SCHEMES:an,isValidSchemeName:Tf,getSchemeHandler:Fs};});var _i=x((Sy,cn)=>{var{normalizeIPv6:Lf,removeDotSegments:yr,recomposeAuthority:Vf,normalizeComponentEncoding:un,isIPv4:Bf,nonSimpleDomain:Gf}=qs(),{SCHEMES:Kf,getSchemeHandler:wi}=ki();function Uf(t,e){return typeof t=="string"?t=Be(We(t,e),e):typeof t=="object"&&(t=We(Be(t,e),e)),t}function Jf(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},s=Si(We(t,n),We(e,n),n,true);return n.skipEscape=true,Be(s,n)}function Si(t,e,r,n){let s={};return n||(t=We(Be(t,r),r),e=We(Be(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(s.scheme=e.scheme,s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=yr(e.path||""),s.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=yr(e.path||""),s.query=e.query):(e.path?(e.path[0]==="/"?s.path=yr(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?s.path="/"+e.path:t.path?s.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:s.path=e.path,s.path=yr(s.path)),s.query=e.query):(s.path=t.path,e.query!==void 0?s.query=e.query:s.query=t.query),s.userinfo=t.userinfo,s.host=t.host,s.port=t.port),s.scheme=t.scheme),s.fragment=e.fragment,s}function Hf(t,e,r){return typeof t=="string"?(t=unescape(t),t=Be(un(We(t,r),true),{...r,skipEscape:true})):typeof t=="object"&&(t=Be(un(t,true),{...r,skipEscape:true})),typeof e=="string"?(e=unescape(e),e=Be(un(We(e,r),true),{...r,skipEscape:true})):typeof e=="object"&&(e=Be(un(e,true),{...r,skipEscape:true})),t.toLowerCase()===e.toLowerCase()}function Be(t,e){let r={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},n=Object.assign({},e),s=[],o=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=Vf(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 zf=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function We(t,e){let r=Object.assign({},e),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},s=false;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let o=t.match(zf);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(Bf(n.host)===false){let u=Lf(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&&Gf(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase());}catch(i){n.error=n.error||"Host's domain name can not be converted to ASCII: "+i;}(!a||a&&!a.skipNormalize)&&(t.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=unescape(n.host))),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),a&&a.parse&&a.parse(n,r);}else n.error=n.error||"URI can not be parsed.";return n}var Ms={SCHEMES:Kf,normalize:Uf,resolve:Jf,resolveComponent:Si,equal:Hf,serialize:Be,parse:We};cn.exports=Ms;cn.exports.default=Ms;cn.exports.fastUri=Ms;});var Ci=x(Ls=>{Object.defineProperty(Ls,"__esModule",{value:true});var Ri=_i();Ri.code='require("ajv/dist/runtime/uri").default';Ls.default=Ri;});var Oi=x(le=>{Object.defineProperty(le,"__esModule",{value:true});le.CodeGen=le.Name=le.nil=le.stringify=le.str=le._=le.KeywordCxt=void 0;var Wf=hr();Object.defineProperty(le,"KeywordCxt",{enumerable:true,get:function(){return Wf.KeywordCxt}});var Kt=G();Object.defineProperty(le,"_",{enumerable:true,get:function(){return Kt._}});Object.defineProperty(le,"str",{enumerable:true,get:function(){return Kt.str}});Object.defineProperty(le,"stringify",{enumerable:true,get:function(){return Kt.stringify}});Object.defineProperty(le,"nil",{enumerable:true,get:function(){return Kt.nil}});Object.defineProperty(le,"Name",{enumerable:true,get:function(){return Kt.Name}});Object.defineProperty(le,"CodeGen",{enumerable:true,get:function(){return Kt.CodeGen}});var Yf=rn(),Ai=gr(),Xf=hs(),vr=sn(),Qf=G(),br=fr(),dn=lr(),Bs=H(),$i=li(),Zf=Ci(),Ii=(t,e)=>new RegExp(t,e);Ii.code="new RegExp";var ep=["removeAdditional","useDefaults","coerceTypes"],tp=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),rp={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."},np={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},Ei=200;function sp(t){var e,r,n,s,o,a,i,u,c,d,l,b,y,m,p,k,h,f,g,S,w,C,_,$,N;let q=t.strict,F=(e=t.code)===null||e===void 0?void 0:e.optimize,re=F===true||F===void 0?1:F||0,U=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:Ii,de=(s=t.uriResolver)!==null&&s!==void 0?s:Zf.default;return {strictSchema:(a=(o=t.strictSchema)!==null&&o!==void 0?o:q)!==null&&a!==void 0?a:true,strictNumbers:(u=(i=t.strictNumbers)!==null&&i!==void 0?i:q)!==null&&u!==void 0?u:true,strictTypes:(d=(c=t.strictTypes)!==null&&c!==void 0?c:q)!==null&&d!==void 0?d:"log",strictTuples:(b=(l=t.strictTuples)!==null&&l!==void 0?l:q)!==null&&b!==void 0?b:"log",strictRequired:(m=(y=t.strictRequired)!==null&&y!==void 0?y:q)!==null&&m!==void 0?m:false,code:t.code?{...t.code,optimize:re,regExp:U}:{optimize:re,regExp:U},loopRequired:(p=t.loopRequired)!==null&&p!==void 0?p:Ei,loopEnum:(k=t.loopEnum)!==null&&k!==void 0?k:Ei,meta:(h=t.meta)!==null&&h!==void 0?h:true,messages:(f=t.messages)!==null&&f!==void 0?f:true,inlineRefs:(g=t.inlineRefs)!==null&&g!==void 0?g:true,schemaId:(S=t.schemaId)!==null&&S!==void 0?S:"$id",addUsedSchema:(w=t.addUsedSchema)!==null&&w!==void 0?w:true,validateSchema:(C=t.validateSchema)!==null&&C!==void 0?C:true,validateFormats:(_=t.validateFormats)!==null&&_!==void 0?_:true,unicodeRegExp:($=t.unicodeRegExp)!==null&&$!==void 0?$:true,int32range:(N=t.int32range)!==null&&N!==void 0?N:true,uriResolver:de}}var kr=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...sp(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new Qf.ValueScope({scope:{},prefixes:tp,es5:r,lines:n}),this.logger=dp(e.logger);let s=e.validateFormats;e.validateFormats=false,this.RULES=(0, Xf.getRules)(),xi.call(this,rp,e,"NOT SUPPORTED"),xi.call(this,np,e,"DEPRECATED","warn"),this._metaOpts=up.call(this),e.formats&&ap.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&ip.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),op.call(this),e.validateFormats=s;}_addVocabularies(){this.addKeyword("$async");}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,s=$i;n==="id"&&(s={...$i},s.id=s.$id,delete s.$id),r&&e&&this.addMetaSchema(s,s[n],false);}defaultMeta(){let{meta:e,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[r]||e:void 0}validate(e,r){let n;if(typeof e=="string"){if(n=this.getSchema(e),!n)throw new Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);let s=n(r);return "$async"in n||(this.errors=n.errors),s}compile(e,r){let n=this._addSchema(e,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return s.call(this,e,r);async function s(d,l){await o.call(this,d.$schema);let b=this._addSchema(d,l);return b.validate||a.call(this,b)}async function o(d){d&&!this.getSchema(d)&&await s.call(this,{$ref:d},true);}async function a(d){try{return this._compileSchemaEnv(d)}catch(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(e,r,n,s=this.opts.validateSchema){if(Array.isArray(e)){for(let a of e)this.addSchema(a,void 0,n,s);return this}let o;if(typeof e=="object"){let{schemaId:a}=this.opts;if(o=e[a],o!==void 0&&typeof o!="string")throw new Error(`schema ${a} must be string`)}return r=(0, br.normalizeId)(r||o),this._checkUnique(r),this.schemas[r]=this._addSchema(e,n,r,s,true),this}addMetaSchema(e,r,n=this.opts.validateSchema){return this.addSchema(e,r,true,n),this}validateSchema(e,r){if(typeof e=="boolean")return true;let n;if(n=e.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,true;let s=this.validate(n,e);if(!s&&r){let o="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(o);else throw new Error(o)}return s}getSchema(e){let r;for(;typeof(r=Ti.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,s=new vr.SchemaEnv({schema:{},schemaId:n});if(r=vr.resolveSchema.call(this,s,e),!r)return;this.refs[e]=r;}return r.validate||this._compileSchemaEnv(r)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case "undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case "string":{let r=Ti.call(this,e);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[e],delete this.refs[e],this}case "object":{let r=e;this._cache.delete(r);let n=e[this.opts.schemaId];return n&&(n=(0, br.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let r of e)this.addKeyword(r);return this}addKeyword(e,r){let n;if(typeof e=="string")n=e,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof e=="object"&&r===void 0){if(r=e,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(fp.call(this,n,r),!r)return (0, Bs.eachItem)(n,o=>Vs.call(this,o)),this;mp.call(this,r);let s={...r,type:(0, dn.getJSONTypes)(r.type),schemaType:(0, dn.getJSONTypes)(r.schemaType)};return (0, Bs.eachItem)(n,s.type.length===0?o=>Vs.call(this,o,s):o=>s.type.forEach(a=>Vs.call(this,o,s,a))),this}getKeyword(e){let r=this.RULES.all[e];return typeof r=="object"?r.definition:!!r}removeKeyword(e){let{RULES:r}=this;delete r.keywords[e],delete r.all[e];for(let n of r.rules){let s=n.rules.findIndex(o=>o.keyword===e);s>=0&&n.rules.splice(s,1);}return this}addFormat(e,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[e]=r,this}errorsText(e=this.errors,{separator:r=", ",dataVar:n="data"}={}){return !e||e.length===0?"No errors":e.map(s=>`${n}${s.instancePath} ${s.message}`).reduce((s,o)=>s+r+o)}$dataMetaSchema(e,r){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let s of r){let o=s.split("/").slice(1),a=e;for(let i of o)a=a[i];for(let i in n){let u=n[i];if(typeof u!="object")continue;let{$data:c}=u.definition,d=a[i];c&&d&&(a[i]=Pi(d));}}return e}_removeAllSchemas(e,r){for(let n in e){let s=e[n];(!r||r.test(n))&&(typeof s=="string"?delete e[n]:s&&!s.meta&&(this._cache.delete(s.schema),delete e[n]));}}_addSchema(e,r,n,s=this.opts.validateSchema,o=this.opts.addUsedSchema){let a,{schemaId:i}=this.opts;if(typeof e=="object")a=e[i];else {if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let u=this._cache.get(e);if(u!==void 0)return u;n=(0, br.normalizeId)(a||n);let c=br.getSchemaRefs.call(this,e,n);return u=new vr.SchemaEnv({schema:e,schemaId:i,meta:r,baseId:n,localRefs:c}),this._cache.set(u.schema,u),o&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=u),s&&this.validateSchema(e,true),u}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):vr.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let r=this.opts;this.opts=this._metaOpts;try{vr.compileSchema.call(this,e);}finally{this.opts=r;}}};kr.ValidationError=Yf.default;kr.MissingRefError=Ai.default;le.default=kr;function xi(t,e,r,n="error"){for(let s in t){let o=s;o in e&&this.logger[n](`${r}: option ${s}. ${t[o]}`);}}function Ti(t){return t=(0, br.normalizeId)(t),this.schemas[t]||this.refs[t]}function op(){let t=this.opts.schemas;if(t)if(Array.isArray(t))this.addSchema(t);else for(let e in t)this.addSchema(t[e],e);}function ap(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e);}}function ip(t){if(Array.isArray(t)){this.addVocabulary(t);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in t){let r=t[e];r.keyword||(r.keyword=e),this.addKeyword(r);}}function up(){let t={...this.opts};for(let e of ep)delete t[e];return t}var cp={log(){},warn(){},error(){}};function dp(t){if(t===false)return cp;if(t===void 0)return console;if(t.log&&t.warn&&t.error)return t;throw new Error("logger must implement log, warn and error methods")}var lp=/^[a-z_$][a-z0-9_$:-]*$/i;function fp(t,e){let{RULES:r}=this;if((0, Bs.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!lp.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function Vs(t,e,r){var n;let s=e?.post;if(r&&s)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:o}=this,a=s?o.post:o.rules.find(({type:u})=>u===r);if(a||(a={type:r,rules:[]},o.rules.push(a)),o.keywords[t]=true,!e)return;let i={keyword:t,definition:{...e,type:(0, dn.getJSONTypes)(e.type),schemaType:(0, dn.getJSONTypes)(e.schemaType)}};e.before?pp.call(this,a,i,e.before):a.rules.push(i),o.all[t]=i,(n=e.implements)===null||n===void 0||n.forEach(u=>this.addKeyword(u));}function pp(t,e,r){let n=t.rules.findIndex(s=>s.keyword===r);n>=0?t.rules.splice(n,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`));}function mp(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=Pi(e)),t.validateSchema=this.compile(e,true));}var hp={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Pi(t){return {anyOf:[t,hp]}}});var ji=x(Gs=>{Object.defineProperty(Gs,"__esModule",{value:true});var gp={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Gs.default=gp;});var Fi=x(Ct=>{Object.defineProperty(Ct,"__esModule",{value:true});Ct.callRef=Ct.getValidate=void 0;var yp=gr(),Ni=Ie(),Re=G(),Ut=He(),qi=sn(),ln=H(),vp={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:s,schemaEnv:o,validateName:a,opts:i,self:u}=n,{root:c}=o;if((r==="#"||r==="#/")&&s===c.baseId)return l();let d=qi.resolveRef.call(u,c,s,r);if(d===void 0)throw new yp.default(n.opts.uriResolver,s,r);if(d instanceof qi.SchemaEnv)return b(d);return y(d);function l(){if(o===c)return fn(t,a,o,o.$async);let m=e.scopeValue("root",{ref:c});return fn(t,(0, Re._)`${m}.validate`,c,c.$async)}function b(m){let p=Di(t,m);fn(t,p,m,m.$async);}function y(m){let p=e.scopeValue("schema",i.code.source===true?{ref:m,code:(0, Re.stringify)(m)}:{ref:m}),k=e.name("valid"),h=t.subschema({schema:m,dataTypes:[],schemaPath:Re.nil,topSchemaRef:p,errSchemaPath:r},k);t.mergeEvaluated(h),t.ok(k);}}};function Di(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0, Re._)`${r.scopeValue("wrapper",{ref:e})}.validate`}Ct.getValidate=Di;function fn(t,e,r,n){let{gen:s,it:o}=t,{allErrors:a,schemaEnv:i,opts:u}=o,c=u.passContext?Ut.default.this:Re.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, Re._)`await ${(0, Ni.callValidateCode)(t,e,c)}`),y(e),a||s.assign(m,true);},p=>{s.if((0, Re._)`!(${p} instanceof ${o.ValidationError})`,()=>s.throw(p)),b(p),a||s.assign(m,false);}),t.ok(m);}function l(){t.result((0, Ni.callValidateCode)(t,e,c),()=>y(e),()=>b(e));}function b(m){let p=(0, Re._)`${m}.errors`;s.assign(Ut.default.vErrors,(0, Re._)`${Ut.default.vErrors} === null ? ${p} : ${Ut.default.vErrors}.concat(${p})`),s.assign(Ut.default.errors,(0, Re._)`${Ut.default.vErrors}.length`);}function y(m){var p;if(!o.opts.unevaluated)return;let k=(p=r?.validate)===null||p===void 0?void 0:p.evaluated;if(o.props!==true)if(k&&!k.dynamicProps)k.props!==void 0&&(o.props=ln.mergeEvaluated.props(s,k.props,o.props));else {let h=s.var("props",(0, Re._)`${m}.evaluated.props`);o.props=ln.mergeEvaluated.props(s,h,o.props,Re.Name);}if(o.items!==true)if(k&&!k.dynamicItems)k.items!==void 0&&(o.items=ln.mergeEvaluated.items(s,k.items,o.items));else {let h=s.var("items",(0, Re._)`${m}.evaluated.items`);o.items=ln.mergeEvaluated.items(s,h,o.items,Re.Name);}}}Ct.callRef=fn;Ct.default=vp;});var Mi=x(Ks=>{Object.defineProperty(Ks,"__esModule",{value:true});var bp=ji(),kp=Fi(),wp=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",bp.default,kp.default];Ks.default=wp;});var Li=x(Us=>{Object.defineProperty(Us,"__esModule",{value:true});var pn=G(),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}},Sp={message:({keyword:t,schemaCode:e})=>(0, pn.str)`must be ${mn[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0, pn._)`{comparison: ${mn[t].okStr}, limit: ${e}}`},_p={keyword:Object.keys(mn),type:"number",schemaType:"number",$data:true,error:Sp,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0, pn._)`${r} ${mn[e].fail} ${n} || isNaN(${r})`);}};Us.default=_p;});var Vi=x(Js=>{Object.defineProperty(Js,"__esModule",{value:true});var wr=G(),Rp={message:({schemaCode:t})=>(0, wr.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0, wr._)`{multipleOf: ${t}}`},Cp={keyword:"multipleOf",type:"number",schemaType:"number",$data:true,error:Rp,code(t){let{gen:e,data:r,schemaCode:n,it:s}=t,o=s.opts.multipleOfPrecision,a=e.let("res"),i=o?(0, wr._)`Math.abs(Math.round(${a}) - ${a}) > 1e-${o}`:(0, wr._)`${a} !== parseInt(${a})`;t.fail$data((0, wr._)`(${n} === 0 || (${a} = ${r}/${n}, ${i}))`);}};Js.default=Cp;});var Gi=x(Hs=>{Object.defineProperty(Hs,"__esModule",{value:true});function Bi(t){let e=t.length,r=0,n=0,s;for(;n<e;)r++,s=t.charCodeAt(n++),s>=55296&&s<=56319&&n<e&&(s=t.charCodeAt(n),(s&64512)===56320&&n++);return r}Hs.default=Bi;Bi.code='require("ajv/dist/runtime/ucs2length").default';});var Ki=x(zs=>{Object.defineProperty(zs,"__esModule",{value:true});var $t=G(),$p=H(),Ep=Gi(),xp={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return (0, $t.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0, $t._)`{limit: ${t}}`},Tp={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:true,error:xp,code(t){let{keyword:e,data:r,schemaCode:n,it:s}=t,o=e==="maxLength"?$t.operators.GT:$t.operators.LT,a=s.opts.unicode===false?(0, $t._)`${r}.length`:(0, $t._)`${(0, $p.useFunc)(t.gen,Ep.default)}(${r})`;t.fail$data((0, $t._)`${a} ${o} ${n}`);}};zs.default=Tp;});var Ui=x(Ws=>{Object.defineProperty(Ws,"__esModule",{value:true});var Ap=Ie(),Ip=H(),Jt=G(),Pp={message:({schemaCode:t})=>(0, Jt.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0, Jt._)`{pattern: ${t}}`},Op={keyword:"pattern",type:"string",schemaType:"string",$data:true,error:Pp,code(t){let{gen:e,data:r,$data:n,schema:s,schemaCode:o,it:a}=t,i=a.opts.unicodeRegExp?"u":"";if(n){let{regExp:u}=a.opts.code,c=u.code==="new RegExp"?(0, Jt._)`new RegExp`:(0, Ip.useFunc)(e,u),d=e.let("valid");e.try(()=>e.assign(d,(0, Jt._)`${c}(${o}, ${i}).test(${r})`),()=>e.assign(d,false)),t.fail$data((0, Jt._)`!${d}`);}else {let u=(0, Ap.usePattern)(t,s);t.fail$data((0, Jt._)`!${u}.test(${r})`);}}};Ws.default=Op;});var Ji=x(Ys=>{Object.defineProperty(Ys,"__esModule",{value:true});var Sr=G(),jp={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return (0, Sr.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0, Sr._)`{limit: ${t}}`},Np={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:true,error:jp,code(t){let{keyword:e,data:r,schemaCode:n}=t,s=e==="maxProperties"?Sr.operators.GT:Sr.operators.LT;t.fail$data((0, Sr._)`Object.keys(${r}).length ${s} ${n}`);}};Ys.default=Np;});var Hi=x(Xs=>{Object.defineProperty(Xs,"__esModule",{value:true});var _r=Ie(),Rr=G(),qp=H(),Dp={message:({params:{missingProperty:t}})=>(0, Rr.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0, Rr._)`{missingProperty: ${t}}`},Fp={keyword:"required",type:"object",schemaType:"array",$data:true,error:Dp,code(t){let{gen:e,schema:r,schemaCode:n,data:s,$data:o,it:a}=t,{opts:i}=a;if(!o&&r.length===0)return;let u=r.length>=i.loopRequired;if(a.allErrors?c():d(),i.strictRequired){let y=t.parentSchema.properties,{definedProperties:m}=t.it;for(let p of r)if(y?.[p]===void 0&&!m.has(p)){let k=a.schemaEnv.baseId+a.errSchemaPath,h=`required property "${p}" is not defined at "${k}" (strictRequired)`;(0, qp.checkStrictMode)(a,h,a.opts.strictRequired);}}function c(){if(u||o)t.block$data(Rr.nil,l);else for(let y of r)(0, _r.checkReportMissingProp)(t,y);}function d(){let y=e.let("missing");if(u||o){let m=e.let("valid",true);t.block$data(m,()=>b(y,m)),t.ok(m);}else e.if((0, _r.checkMissingProp)(t,r,y)),(0, _r.reportMissingProp)(t,y),e.else();}function l(){e.forOf("prop",n,y=>{t.setParams({missingProperty:y}),e.if((0, _r.noPropertyInData)(e,s,y,i.ownProperties),()=>t.error());});}function b(y,m){t.setParams({missingProperty:y}),e.forOf(y,n,()=>{e.assign(m,(0, _r.propertyInData)(e,s,y,i.ownProperties)),e.if((0, Rr.not)(m),()=>{t.error(),e.break();});},Rr.nil);}}};Xs.default=Fp;});var zi=x(Qs=>{Object.defineProperty(Qs,"__esModule",{value:true});var Cr=G(),Mp={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return (0, Cr.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0, Cr._)`{limit: ${t}}`},Lp={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:true,error:Mp,code(t){let{keyword:e,data:r,schemaCode:n}=t,s=e==="maxItems"?Cr.operators.GT:Cr.operators.LT;t.fail$data((0, Cr._)`${r}.length ${s} ${n}`);}};Qs.default=Lp;});var hn=x(Zs=>{Object.defineProperty(Zs,"__esModule",{value:true});var Wi=_s();Wi.code='require("ajv/dist/runtime/equal").default';Zs.default=Wi;});var Yi=x(to=>{Object.defineProperty(to,"__esModule",{value:true});var eo=lr(),fe=G(),Vp=H(),Bp=hn(),Gp={message:({params:{i:t,j:e}})=>(0, fe.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0, fe._)`{i: ${t}, j: ${e}}`},Kp={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:true,error:Gp,code(t){let{gen:e,data:r,$data:n,schema:s,parentSchema:o,schemaCode:a,it:i}=t;if(!n&&!s)return;let u=e.let("valid"),c=o.items?(0, eo.getSchemaTypes)(o.items):[];t.block$data(u,d,(0, fe._)`${a} === false`),t.ok(u);function d(){let m=e.let("i",(0, fe._)`${r}.length`),p=e.let("j");t.setParams({i:m,j:p}),e.assign(u,true),e.if((0, fe._)`${m} > 1`,()=>(l()?b:y)(m,p));}function l(){return c.length>0&&!c.some(m=>m==="object"||m==="array")}function b(m,p){let k=e.name("item"),h=(0, eo.checkDataTypes)(c,k,i.opts.strictNumbers,eo.DataType.Wrong),f=e.const("indices",(0, fe._)`{}`);e.for((0, fe._)`;${m}--;`,()=>{e.let(k,(0, fe._)`${r}[${m}]`),e.if(h,(0, fe._)`continue`),c.length>1&&e.if((0, fe._)`typeof ${k} == "string"`,(0, fe._)`${k} += "_"`),e.if((0, fe._)`typeof ${f}[${k}] == "number"`,()=>{e.assign(p,(0, fe._)`${f}[${k}]`),t.error(),e.assign(u,false).break();}).code((0, fe._)`${f}[${k}] = ${m}`);});}function y(m,p){let k=(0, Vp.useFunc)(e,Bp.default),h=e.name("outer");e.label(h).for((0, fe._)`;${m}--;`,()=>e.for((0, fe._)`${p} = ${m}; ${p}--;`,()=>e.if((0, fe._)`${k}(${r}[${m}], ${r}[${p}])`,()=>{t.error(),e.assign(u,false).break(h);})));}}};to.default=Kp;});var Xi=x(no=>{Object.defineProperty(no,"__esModule",{value:true});var ro=G(),Up=H(),Jp=hn(),Hp={message:"must be equal to constant",params:({schemaCode:t})=>(0, ro._)`{allowedValue: ${t}}`},zp={keyword:"const",$data:true,error:Hp,code(t){let{gen:e,data:r,$data:n,schemaCode:s,schema:o}=t;n||o&&typeof o=="object"?t.fail$data((0, ro._)`!${(0, Up.useFunc)(e,Jp.default)}(${r}, ${s})`):t.fail((0, ro._)`${o} !== ${r}`);}};no.default=zp;});var Qi=x(so=>{Object.defineProperty(so,"__esModule",{value:true});var $r=G(),Wp=H(),Yp=hn(),Xp={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0, $r._)`{allowedValues: ${t}}`},Qp={keyword:"enum",schemaType:"array",$data:true,error:Xp,code(t){let{gen:e,data:r,$data:n,schema:s,schemaCode:o,it:a}=t;if(!n&&s.length===0)throw new Error("enum must have non-empty array");let i=s.length>=a.opts.loopEnum,u,c=()=>u??(u=(0, Wp.useFunc)(e,Yp.default)),d;if(i||n)d=e.let("valid"),t.block$data(d,l);else {if(!Array.isArray(s))throw new Error("ajv implementation error");let y=e.const("vSchema",o);d=(0, $r.or)(...s.map((m,p)=>b(y,p)));}t.pass(d);function l(){e.assign(d,false),e.forOf("v",o,y=>e.if((0, $r._)`${c()}(${r}, ${y})`,()=>e.assign(d,true).break()));}function b(y,m){let p=s[m];return typeof p=="object"&&p!==null?(0, $r._)`${c()}(${r}, ${y}[${m}])`:(0, $r._)`${r} === ${p}`}}};so.default=Qp;});var Zi=x(oo=>{Object.defineProperty(oo,"__esModule",{value:true});var Zp=Li(),em=Vi(),tm=Ki(),rm=Ui(),nm=Ji(),sm=Hi(),om=zi(),am=Yi(),im=Xi(),um=Qi(),cm=[Zp.default,em.default,tm.default,rm.default,nm.default,sm.default,om.default,am.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},im.default,um.default];oo.default=cm;});var io=x(Er=>{Object.defineProperty(Er,"__esModule",{value:true});Er.validateAdditionalItems=void 0;var Et=G(),ao=H(),dm={message:({params:{len:t}})=>(0, Et.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0, Et._)`{limit: ${t}}`},lm={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:dm,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0, ao.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}eu(t,n);}};function eu(t,e){let{gen:r,schema:n,data:s,keyword:o,it:a}=t;a.items=true;let i=r.const("len",(0, Et._)`${s}.length`);if(n===false)t.setParams({len:e.length}),t.pass((0, Et._)`${i} <= ${e.length}`);else if(typeof n=="object"&&!(0, ao.alwaysValidSchema)(a,n)){let c=r.var("valid",(0, Et._)`${i} <= ${e.length}`);r.if((0, Et.not)(c),()=>u(c)),t.ok(c);}function u(c){r.forRange("i",e.length,i,d=>{t.subschema({keyword:o,dataProp:d,dataPropType:ao.Type.Num},c),a.allErrors||r.if((0, Et.not)(c),()=>r.break());});}}Er.validateAdditionalItems=eu;Er.default=lm;});var uo=x(xr=>{Object.defineProperty(xr,"__esModule",{value:true});xr.validateTuple=void 0;var tu=G(),gn=H(),fm=Ie(),pm={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return ru(t,"additionalItems",e);r.items=true,!(0, gn.alwaysValidSchema)(r,e)&&t.ok((0, fm.validateArray)(t));}};function ru(t,e,r=t.schema){let{gen:n,parentSchema:s,data:o,keyword:a,it:i}=t;d(s),i.opts.unevaluated&&r.length&&i.items!==true&&(i.items=gn.mergeEvaluated.items(n,r.length,i.items));let u=n.name("valid"),c=n.const("len",(0, tu._)`${o}.length`);r.forEach((l,b)=>{(0, gn.alwaysValidSchema)(i,l)||(n.if((0, tu._)`${c} > ${b}`,()=>t.subschema({keyword:a,schemaProp:b,dataProp:b},u)),t.ok(u));});function d(l){let{opts:b,errSchemaPath:y}=i,m=r.length,p=m===l.minItems&&(m===l.maxItems||l[e]===false);if(b.strictTuples&&!p){let k=`"${a}" is ${m}-tuple, but minItems or maxItems/${e} are not specified or different at path "${y}"`;(0, gn.checkStrictMode)(i,k,b.strictTuples);}}}xr.validateTuple=ru;xr.default=pm;});var nu=x(co=>{Object.defineProperty(co,"__esModule",{value:true});var mm=uo(),hm={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0, mm.validateTuple)(t,"items")};co.default=hm;});var ou=x(lo=>{Object.defineProperty(lo,"__esModule",{value:true});var su=G(),gm=H(),ym=Ie(),vm=io(),bm={message:({params:{len:t}})=>(0, su.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0, su._)`{limit: ${t}}`},km={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:bm,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:s}=r;n.items=true,!(0, gm.alwaysValidSchema)(n,e)&&(s?(0, vm.validateAdditionalItems)(t,s):t.ok((0, ym.validateArray)(t)));}};lo.default=km;});var au=x(fo=>{Object.defineProperty(fo,"__esModule",{value:true});var Oe=G(),yn=H(),wm={message:({params:{min:t,max:e}})=>e===void 0?(0, Oe.str)`must contain at least ${t} valid item(s)`:(0, Oe.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0, Oe._)`{minContains: ${t}}`:(0, Oe._)`{minContains: ${t}, maxContains: ${e}}`},Sm={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:true,error:wm,code(t){let{gen:e,schema:r,parentSchema:n,data:s,it:o}=t,a,i,{minContains:u,maxContains:c}=n;o.opts.next?(a=u===void 0?1:u,i=c):a=1;let d=e.const("len",(0, Oe._)`${s}.length`);if(t.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'),t.fail();return}if((0, yn.alwaysValidSchema)(o,r)){let p=(0, Oe._)`${d} >= ${a}`;i!==void 0&&(p=(0, Oe._)`${p} && ${d} <= ${i}`),t.pass(p);return}o.items=true;let l=e.name("valid");i===void 0&&a===1?y(l,()=>e.if(l,()=>e.break())):a===0?(e.let(l,true),i!==void 0&&e.if((0, Oe._)`${s}.length > 0`,b)):(e.let(l,false),b()),t.result(l,()=>t.reset());function b(){let p=e.name("_valid"),k=e.let("count",0);y(p,()=>e.if(p,()=>m(k)));}function y(p,k){e.forRange("i",0,d,h=>{t.subschema({keyword:"contains",dataProp:h,dataPropType:yn.Type.Num,compositeRule:true},p),k();});}function m(p){e.code((0, Oe._)`${p}++`),i===void 0?e.if((0, Oe._)`${p} >= ${a}`,()=>e.assign(l,true).break()):(e.if((0, Oe._)`${p} > ${i}`,()=>e.assign(l,false).break()),a===1?e.assign(l,true):e.if((0, Oe._)`${p} >= ${a}`,()=>e.assign(l,true)));}}};fo.default=Sm;});var cu=x(Ge=>{Object.defineProperty(Ge,"__esModule",{value:true});Ge.validateSchemaDeps=Ge.validatePropertyDeps=Ge.error=void 0;var po=G(),_m=H(),Tr=Ie();Ge.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return (0, po.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0, po._)`{property: ${t},
7
7
  missingProperty: ${n},
8
8
  depsCount: ${e},
9
- deps: ${r}}`};var Rm={keyword:"dependencies",type:"object",schemaType:"object",error:Ge.error,code(t){let[e,r]=Cm(t);iu(t,e),uu(t,r);}};function Cm({schema:t}){let e={},r={};for(let n in t){if(n==="__proto__")continue;let s=Array.isArray(t[n])?e:r;s[n]=t[n];}return [e,r]}function iu(t,e=t.schema){let{gen:r,data:n,it:s}=t;if(Object.keys(e).length===0)return;let o=r.let("missing");for(let a in e){let i=e[a];if(i.length===0)continue;let u=(0, Tr.propertyInData)(r,n,a,s.opts.ownProperties);t.setParams({property:a,depsCount:i.length,deps:i.join(", ")}),s.allErrors?r.if(u,()=>{for(let c of i)(0, Tr.checkReportMissingProp)(t,c);}):(r.if((0, po._)`${u} && (${(0, Tr.checkMissingProp)(t,i,o)})`),(0, Tr.reportMissingProp)(t,o),r.else());}}Ge.validatePropertyDeps=iu;function uu(t,e=t.schema){let{gen:r,data:n,keyword:s,it:o}=t,a=r.name("valid");for(let i in e)(0, _m.alwaysValidSchema)(o,e[i])||(r.if((0, Tr.propertyInData)(r,n,i,o.opts.ownProperties),()=>{let u=t.subschema({keyword:s,schemaProp:i},a);t.mergeValidEvaluated(u,a);},()=>r.var(a,true)),t.ok(a));}Ge.validateSchemaDeps=uu;Ge.default=Rm;});var lu=x(mo=>{Object.defineProperty(mo,"__esModule",{value:true});var du=G(),$m=H(),Em={message:"property name must be valid",params:({params:t})=>(0, du._)`{propertyName: ${t.propertyName}}`},xm={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Em,code(t){let{gen:e,schema:r,data:n,it:s}=t;if((0, $m.alwaysValidSchema)(s,r))return;let o=e.name("valid");e.forIn("key",n,a=>{t.setParams({propertyName:a}),t.subschema({keyword:"propertyNames",data:a,dataTypes:["string"],propertyName:a,compositeRule:true},o),e.if((0, du.not)(o),()=>{t.error(true),s.allErrors||e.break();});}),t.ok(o);}};mo.default=xm;});var go=x(ho=>{Object.defineProperty(ho,"__esModule",{value:true});var vn=Ie(),De=G(),Tm=He(),bn=H(),Am={message:"must NOT have additional properties",params:({params:t})=>(0, De._)`{additionalProperty: ${t.additionalProperty}}`},Im={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:true,trackErrors:true,error:Am,code(t){let{gen:e,schema:r,parentSchema:n,data:s,errsCount:o,it:a}=t;if(!o)throw new Error("ajv implementation error");let{allErrors:i,opts:u}=a;if(a.props=true,u.removeAdditional!=="all"&&(0, bn.alwaysValidSchema)(a,r))return;let c=(0, vn.allSchemaProperties)(n.properties),d=(0, vn.allSchemaProperties)(n.patternProperties);l(),t.ok((0, De._)`${o} === ${Tm.default.errors}`);function l(){e.forIn("key",s,S=>{!c.length&&!d.length?m(S):e.if(b(S),()=>m(S));});}function b(S){let h;if(c.length>8){let f=(0, bn.schemaRefOrVal)(a,n.properties,"properties");h=(0, vn.isOwnProperty)(e,f,S);}else c.length?h=(0, De.or)(...c.map(f=>(0, De._)`${S} === ${f}`)):h=De.nil;return d.length&&(h=(0, De.or)(h,...d.map(f=>(0, De._)`${(0, vn.usePattern)(t,f)}.test(${S})`))),(0, De.not)(h)}function y(S){e.code((0, De._)`delete ${s}[${S}]`);}function m(S){if(u.removeAdditional==="all"||u.removeAdditional&&r===false){y(S);return}if(r===false){t.setParams({additionalProperty:S}),t.error(),i||e.break();return}if(typeof r=="object"&&!(0, bn.alwaysValidSchema)(a,r)){let h=e.name("valid");u.removeAdditional==="failing"?(p(S,h,false),e.if((0, De.not)(h),()=>{t.reset(),y(S);})):(p(S,h),i||e.if((0, De.not)(h),()=>e.break()));}}function p(S,h,f){let g={keyword:"additionalProperties",dataProp:S,dataPropType:bn.Type.Str};f===false&&Object.assign(g,{compositeRule:true,createErrors:false,allErrors:false}),t.subschema(g,h);}}};ho.default=Im;});var mu=x(vo=>{Object.defineProperty(vo,"__esModule",{value:true});var Pm=hr(),fu=Ie(),yo=H(),pu=go(),Om={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:n,data:s,it:o}=t;o.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&pu.default.code(new Pm.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=yo.mergeEvaluated.props(e,(0, yo.toHash)(a),o.props));let i=a.filter(l=>!(0, yo.alwaysValidSchema)(o,r[l]));if(i.length===0)return;let u=e.name("valid");for(let l of i)c(l)?d(l):(e.if((0, fu.propertyInData)(e,s,l,o.opts.ownProperties)),d(l),o.allErrors||e.else().var(u,true),e.endIf()),t.it.definedProperties.add(l),t.ok(u);function c(l){return o.opts.useDefaults&&!o.compositeRule&&r[l].default!==void 0}function d(l){t.subschema({keyword:"properties",schemaProp:l,dataProp:l},u);}}};vo.default=Om;});var vu=x(bo=>{Object.defineProperty(bo,"__esModule",{value:true});var hu=Ie(),Sn=G(),gu=H(),yu=H(),jm={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:n,parentSchema:s,it:o}=t,{opts:a}=o,i=(0, hu.allSchemaProperties)(r),u=i.filter(p=>(0, gu.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=e.name("valid");o.props!==true&&!(o.props instanceof Sn.Name)&&(o.props=(0, yu.evaluatedPropsToName)(e,o.props));let{props:l}=o;b();function b(){for(let p of i)c&&y(p),o.allErrors?m(p):(e.var(d,true),m(p),e.if(d));}function y(p){for(let S in c)new RegExp(p).test(S)&&(0, gu.checkStrictMode)(o,`property ${S} matches pattern ${p} (use allowMatchingProperties)`);}function m(p){e.forIn("key",n,S=>{e.if((0, Sn._)`${(0, hu.usePattern)(t,p)}.test(${S})`,()=>{let h=u.includes(p);h||t.subschema({keyword:"patternProperties",schemaProp:p,dataProp:S,dataPropType:yu.Type.Str},d),o.opts.unevaluated&&l!==true?e.assign((0, Sn._)`${l}[${S}]`,true):!h&&!o.allErrors&&e.if((0, Sn.not)(d),()=>e.break());});});}}};bo.default=jm;});var bu=x(So=>{Object.defineProperty(So,"__esModule",{value:true});var Nm=H(),qm={keyword:"not",schemaType:["object","boolean"],trackErrors:true,code(t){let{gen:e,schema:r,it:n}=t;if((0, Nm.alwaysValidSchema)(n,r)){t.fail();return}let s=e.name("valid");t.subschema({keyword:"not",compositeRule:true,createErrors:false,allErrors:false},s),t.failResult(s,()=>t.reset(),()=>t.error());},error:{message:"must NOT be valid"}};So.default=qm;});var Su=x(wo=>{Object.defineProperty(wo,"__esModule",{value:true});var Dm=Ie(),Fm={keyword:"anyOf",schemaType:"array",trackErrors:true,code:Dm.validateUnion,error:{message:"must match a schema in anyOf"}};wo.default=Fm;});var wu=x(ko=>{Object.defineProperty(ko,"__esModule",{value:true});var wn=G(),Mm=H(),Lm={message:"must match exactly one schema in oneOf",params:({params:t})=>(0, wn._)`{passingSchemas: ${t.passing}}`},Vm={keyword:"oneOf",schemaType:"array",trackErrors:true,error:Lm,code(t){let{gen:e,schema:r,parentSchema:n,it:s}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(s.opts.discriminator&&n.discriminator)return;let o=r,a=e.let("valid",false),i=e.let("passing",null),u=e.name("_valid");t.setParams({passing:i}),e.block(c),t.result(a,()=>t.reset(),()=>t.error(true));function c(){o.forEach((d,l)=>{let b;(0, Mm.alwaysValidSchema)(s,d)?e.var(u,true):b=t.subschema({keyword:"oneOf",schemaProp:l,compositeRule:true},u),l>0&&e.if((0, wn._)`${u} && ${a}`).assign(a,false).assign(i,(0, wn._)`[${i}, ${l}]`).else(),e.if(u,()=>{e.assign(a,true),e.assign(i,l),b&&t.mergeEvaluated(b,wn.Name);});});}}};ko.default=Vm;});var ku=x(_o=>{Object.defineProperty(_o,"__esModule",{value:true});var Bm=H(),Gm={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let s=e.name("valid");r.forEach((o,a)=>{if((0, Bm.alwaysValidSchema)(n,o))return;let i=t.subschema({keyword:"allOf",schemaProp:a},s);t.ok(s),t.mergeEvaluated(i);});}};_o.default=Gm;});var Cu=x(Ro=>{Object.defineProperty(Ro,"__esModule",{value:true});var kn=G(),Ru=H(),Km={message:({params:t})=>(0, kn.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0, kn._)`{failingKeyword: ${t.ifClause}}`},Um={keyword:"if",schemaType:["object","boolean"],trackErrors:true,error:Km,code(t){let{gen:e,parentSchema:r,it:n}=t;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=e.let("valid",true),i=e.name("_valid");if(u(),t.reset(),s&&o){let d=e.let("ifClause");t.setParams({ifClause:d}),e.if(i,c("then",d),c("else",d));}else s?e.if(i,c("then")):e.if((0, kn.not)(i),c("else"));t.pass(a,()=>t.error(true));function u(){let d=t.subschema({keyword:"if",compositeRule:true,createErrors:false,allErrors:false},i);t.mergeEvaluated(d);}function c(d,l){return ()=>{let b=t.subschema({keyword:d},i);e.assign(a,i),t.mergeValidEvaluated(b,a),l?e.assign(l,(0, kn._)`${d}`):t.setParams({ifClause:d});}}}};function _u(t,e){let r=t.schema[e];return r!==void 0&&!(0, Ru.alwaysValidSchema)(t,r)}Ro.default=Um;});var $u=x(Co=>{Object.defineProperty(Co,"__esModule",{value:true});var Jm=H(),Hm={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0, Jm.checkStrictMode)(r,`"${t}" without "if" is ignored`);}};Co.default=Hm;});var Eu=x($o=>{Object.defineProperty($o,"__esModule",{value:true});var zm=io(),Wm=nu(),Ym=uo(),Xm=ou(),Qm=au(),Zm=cu(),eh=lu(),th=go(),rh=mu(),nh=vu(),sh=bu(),oh=Su(),ah=wu(),ih=ku(),uh=Cu(),ch=$u();function dh(t=false){let e=[sh.default,oh.default,ah.default,ih.default,uh.default,ch.default,eh.default,th.default,Zm.default,rh.default,nh.default];return t?e.push(Wm.default,Xm.default):e.push(zm.default,Ym.default),e.push(Qm.default),e}$o.default=dh;});var xu=x(Eo=>{Object.defineProperty(Eo,"__esModule",{value:true});var ue=G(),lh={message:({schemaCode:t})=>(0, ue.str)`must match format "${t}"`,params:({schemaCode:t})=>(0, ue._)`{format: ${t}}`},fh={keyword:"format",type:["number","string"],schemaType:"string",$data:true,error:lh,code(t,e){let{gen:r,data:n,$data:s,schema:o,schemaCode:a,it:i}=t,{opts:u,errSchemaPath:c,schemaEnv:d,self:l}=i;if(!u.validateFormats)return;s?b():y();function b(){let m=r.scopeValue("formats",{ref:l.formats,code:u.code.formats}),p=r.const("fDef",(0, ue._)`${m}[${a}]`),S=r.let("fType"),h=r.let("format");r.if((0, ue._)`typeof ${p} == "object" && !(${p} instanceof RegExp)`,()=>r.assign(S,(0, ue._)`${p}.type || "string"`).assign(h,(0, ue._)`${p}.validate`),()=>r.assign(S,(0, ue._)`"string"`).assign(h,p)),t.fail$data((0, ue.or)(f(),g()));function f(){return u.strictSchema===false?ue.nil:(0, ue._)`${a} && !${h}`}function g(){let k=d.$async?(0, ue._)`(${p}.async ? await ${h}(${n}) : ${h}(${n}))`:(0, ue._)`${h}(${n})`,w=(0, ue._)`(typeof ${h} == "function" ? ${k} : ${h}.test(${n}))`;return (0, ue._)`${h} && ${h} !== true && ${S} === ${e} && !${w}`}}function y(){let m=l.formats[o];if(!m){f();return}if(m===true)return;let[p,S,h]=g(m);p===e&&t.pass(k());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 g(w){let C=w instanceof RegExp?(0, ue.regexpCode)(w):u.code.formats?(0, ue._)`${u.code.formats}${(0, ue.getProperty)(o)}`:void 0,_=r.scopeValue("formats",{key:o,ref:w,code:C});return typeof w=="object"&&!(w instanceof RegExp)?[w.type||"string",w.validate,(0, ue._)`${_}.validate`]:["string",w,_]}function k(){if(typeof m=="object"&&!(m instanceof RegExp)&&m.async){if(!d.$async)throw new Error("async format in sync schema");return (0, ue._)`await ${h}(${n})`}return typeof S=="function"?(0, ue._)`${h}(${n})`:(0, ue._)`${h}.test(${n})`}}}};Eo.default=fh;});var Tu=x(xo=>{Object.defineProperty(xo,"__esModule",{value:true});var ph=xu(),mh=[ph.default];xo.default=mh;});var Au=x(Ht=>{Object.defineProperty(Ht,"__esModule",{value:true});Ht.contentVocabulary=Ht.metadataVocabulary=void 0;Ht.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Ht.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"];});var Pu=x(To=>{Object.defineProperty(To,"__esModule",{value:true});var hh=Mi(),gh=Zi(),yh=Eu(),vh=Tu(),Iu=Au(),bh=[hh.default,gh.default,(0, yh.default)(),vh.default,Iu.metadataVocabulary,Iu.contentVocabulary];To.default=bh;});var ju=x(_n=>{Object.defineProperty(_n,"__esModule",{value:true});_n.DiscrError=void 0;var Ou;(function(t){t.Tag="tag",t.Mapping="mapping";})(Ou||(_n.DiscrError=Ou={}));});var qu=x(Io=>{Object.defineProperty(Io,"__esModule",{value:true});var zt=G(),Ao=ju(),Nu=sn(),Sh=gr(),wh=H(),kh={message:({params:{discrError:t,tagName:e}})=>t===Ao.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0, zt._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},_h={keyword:"discriminator",type:"object",schemaType:"object",error:kh,code(t){let{gen:e,data:r,schema:n,parentSchema:s,it:o}=t,{oneOf:a}=s;if(!o.opts.discriminator)throw new Error("discriminator: requires discriminator option");let i=n.propertyName;if(typeof i!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!a)throw new Error("discriminator: requires oneOf keyword");let u=e.let("valid",false),c=e.const("tag",(0, zt._)`${r}${(0, zt.getProperty)(i)}`);e.if((0, zt._)`typeof ${c} == "string"`,()=>d(),()=>t.error(false,{discrError:Ao.DiscrError.Tag,tag:c,tagName:i})),t.ok(u);function d(){let y=b();e.if(false);for(let m in y)e.elseIf((0, zt._)`${c} === ${m}`),e.assign(u,l(y[m]));e.else(),t.error(false,{discrError:Ao.DiscrError.Mapping,tag:c,tagName:i}),e.endIf();}function l(y){let m=e.name("valid"),p=t.subschema({keyword:"oneOf",schemaProp:y},m);return t.mergeEvaluated(p,zt.Name),m}function b(){var y;let m={},p=h(s),S=true;for(let k=0;k<a.length;k++){let w=a[k];if(w?.$ref&&!(0, wh.schemaHasRulesButRef)(w,o.self.RULES)){let _=w.$ref;if(w=Nu.resolveRef.call(o.self,o.schemaEnv.root,o.baseId,_),w instanceof Nu.SchemaEnv&&(w=w.schema),w===void 0)throw new Sh.default(o.opts.uriResolver,o.baseId,_)}let C=(y=w?.properties)===null||y===void 0?void 0:y[i];if(typeof C!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${i}"`);S=S&&(p||h(w)),f(C,k);}if(!S)throw new Error(`discriminator: "${i}" must be required`);return m;function h({required:k}){return Array.isArray(k)&&k.includes(i)}function f(k,w){if(k.const)g(k.const,w);else if(k.enum)for(let C of k.enum)g(C,w);else throw new Error(`discriminator: "properties/${i}" must have "const" or "enum"`)}function g(k,w){if(typeof k!="string"||k in m)throw new Error(`discriminator: "${i}" values must be unique strings`);m[k]=w;}}}};Io.default=_h;});var Du=x((dv,Rh)=>{Rh.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((se,Po)=>{Object.defineProperty(se,"__esModule",{value:true});se.MissingRefError=se.ValidationError=se.CodeGen=se.Name=se.nil=se.stringify=se.str=se._=se.KeywordCxt=se.Ajv=void 0;var Ch=Oi(),$h=Pu(),Eh=qu(),Fu=Du(),xh=["/properties"],Rn="http://json-schema.org/draft-07/schema",Wt=class extends Ch.default{_addVocabularies(){super._addVocabularies(),$h.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(Eh.default);}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(Fu,xh):Fu;this.addMetaSchema(e,Rn,false),this.refs["http://json-schema.org/schema"]=Rn;}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(Rn)?Rn:void 0)}};se.Ajv=Wt;Po.exports=se=Wt;Po.exports.Ajv=Wt;Object.defineProperty(se,"__esModule",{value:true});se.default=Wt;var Th=hr();Object.defineProperty(se,"KeywordCxt",{enumerable:true,get:function(){return Th.KeywordCxt}});var Yt=G();Object.defineProperty(se,"_",{enumerable:true,get:function(){return Yt._}});Object.defineProperty(se,"str",{enumerable:true,get:function(){return Yt.str}});Object.defineProperty(se,"stringify",{enumerable:true,get:function(){return Yt.stringify}});Object.defineProperty(se,"nil",{enumerable:true,get:function(){return Yt.nil}});Object.defineProperty(se,"Name",{enumerable:true,get:function(){return Yt.Name}});Object.defineProperty(se,"CodeGen",{enumerable:true,get:function(){return Yt.CodeGen}});var Ah=rn();Object.defineProperty(se,"ValidationError",{enumerable:true,get:function(){return Ah.default}});var Ih=gr();Object.defineProperty(se,"MissingRefError",{enumerable:true,get:function(){return Ih.default}});});var Mr="b64:";function Nc(t){let e=new TextEncoder().encode(t),r=globalThis.Buffer,n;if(r)n=r.from(e).toString("base64");else if(typeof btoa=="function"){let s="";for(let o of e)s+=String.fromCharCode(o);n=btoa(s);}else throw new Error("No base64 encoder available in this runtime");return n.replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}function qc(t){let e=t.replace(/-/g,"+").replace(/_/g,"/")+"=".repeat((4-t.length%4)%4),r=globalThis.Buffer;if(r)return r.from(e,"base64").toString("utf8");if(typeof atob=="function"){let n=atob(e),s=new Uint8Array(n.length);for(let o=0;o<n.length;o+=1)s[o]=n.charCodeAt(o);return new TextDecoder().decode(s)}throw new Error("No base64 decoder available in this runtime")}function ie(t){return `${Mr}${Nc(JSON.stringify(t))}`}function Se(t){if(!t.startsWith(Mr))throw new Error(`Invalid ref format (expected ${Mr}<base64url(json)>): ${t}`);let e;try{e=JSON.parse(qc(t.slice(Mr.length)));}catch{throw new Error(`Invalid ref format (malformed base64url/json): ${t}`)}if(!e||typeof e!="object")throw new Error(`Invalid ref format (expected object payload): ${t}`);let r=e;if(typeof r.kind!="string"||typeof r.value!="string")throw new Error(`Invalid ref format (payload must contain string kind/value): ${t}`);return {kind:r.kind,value:r.value}}async function Jo(t,e,r){let n=t.tryAcquire();if(!n)return false;try{await e();}finally{n();}return r?.(),true}function Qt(t,e,r=".json"){let n=ce.join(t,".tmp");return P.mkdirSync(n,{recursive:true}),ce.join(n,`${e}-${Date.now()}-${Math.random().toString(36).slice(2,8)}${r}`)}function jt(...t){return ce.join(...t)}function Ze(...t){return ce.resolve(...t)}function Yo(t){return ce.isAbsolute(t)}function Mn(){return randomUUID()}function Xo(t){return createHash("sha256").update(t).digest("hex")}function Vr(t){return ce.dirname(fileURLToPath(t))}function Bc(t){if(typeof t=="object"&&t!==null){let{command:r,args:n=[],...s}=t,o=zo(r,n);return {...s,command:o.command,args:o.args}}let e=Qo(t);if(e.length===0)throw new Error(`Empty command spec: ${JSON.stringify(t)}`);return zo(e[0],e.slice(1))}function zo(t,e){return /^(node|node\.exe)$/i.test(t)?{command:process.execPath,args:e}:/\.m?js$/i.test(t)?{command:process.execPath,args:[t,...e]}:{command:t,args:e}}function Qo(t){let e=[],r="",n=null;for(let s of t.trim()){if(n){s===n?n=null:r+=s;continue}if(s==='"'||s==="'"){n=s;continue}if(/\s/.test(s)){r&&(e.push(r),r="");continue}r+=s;}if(n)throw new Error(`Unterminated quote in command: ${t}`);return r&&e.push(r),e}function Ln(t){return process.platform==="win32"&&/\.(cmd|bat)$/i.test(t)}function Zo(t,e){let{command:r,args:n=[],cwd:s,env:o,timeoutMs:a}=t;return execFileSync(r,n,{shell:Ln(r),timeout:a,encoding:e?.encoding??"utf-8",cwd:s,windowsHide:true,env:o?{...process.env,...o}:void 0,input:e?.input})}function Gc(t,e){let{command:r,args:n=[],cwd:s,env:o,timeoutMs:a=3e4}=t;execFile(r,n,{shell:Ln(r),encoding:"utf8",windowsHide:true,timeout:a,maxBuffer:10*1024*1024,cwd:s,env:o?{...process.env,...o}:void 0},(i,u,c)=>e(i??null,u,c));}ce.join(Fn.tmpdir(),".board-live-cards-git-bash-cache.json");function Br(t){let{command:e,args:r=[]}=t;if(process.platform==="win32"){spawn(e,r,{detached:true,stdio:"ignore",windowsHide:true,shell:Ln(e)}).unref();return}spawn(e,r,{detached:true,stdio:"ignore"}).unref();}function Vn(t,e,r){let n=ce.join(t,"board-live-cards-cli.js");if(P.existsSync(n))return {cmd:process.execPath,args:[n,e,...r]};let s=ce.join(t,"board-live-cards-cli.ts"),o=ce.join(t,"..","..","node_modules","tsx","dist","cli.mjs"),a=ce.join(t,"..","..","node_modules",".bin","tsx"),i=P.existsSync(o)?o:a;return P.existsSync(s)&&P.existsSync(i)?{cmd:process.execPath,args:[i,s,e,...r]}:{cmd:process.platform==="win32"?"npx.cmd":"npx",args:["tsx",s,e,...r]}}function Bn(t){let e=ce.join(t,"..","..","..","dev","board-live-cards-cli.js");if(P.existsSync(e))return e;let r=ce.join(t,"..","..","dev","board-live-cards-cli.js");if(P.existsSync(r))return r;let n=ce.join(t,"board-live-cards-cli.js");if(P.existsSync(n))return n;throw new Error(`resolveBoardCliCallbackTarget: cannot find callback target in ${t} (expected dev/board-live-cards-cli.js wrapper or ${n})`)}function ea(t,e,r){let n=["--base-ref",ie(e)];r&&n.push("--notify-channel",r);let{cmd:s,args:o}=Vn(t,"process-accumulated-events",n);Br({command:s,args:o});}function Kc(t){return process.platform==="win32"?`\\\\.\\pipe\\${t}`:ce.join(Fn.tmpdir(),`${t}.sock`)}var Lr=new Map;function ta(t,e,r){if(e.length===0)return;let n=e.map(i=>JSON.stringify(i)).join(`
9
+ deps: ${r}}`};var Rm={keyword:"dependencies",type:"object",schemaType:"object",error:Ge.error,code(t){let[e,r]=Cm(t);iu(t,e),uu(t,r);}};function Cm({schema:t}){let e={},r={};for(let n in t){if(n==="__proto__")continue;let s=Array.isArray(t[n])?e:r;s[n]=t[n];}return [e,r]}function iu(t,e=t.schema){let{gen:r,data:n,it:s}=t;if(Object.keys(e).length===0)return;let o=r.let("missing");for(let a in e){let i=e[a];if(i.length===0)continue;let u=(0, Tr.propertyInData)(r,n,a,s.opts.ownProperties);t.setParams({property:a,depsCount:i.length,deps:i.join(", ")}),s.allErrors?r.if(u,()=>{for(let c of i)(0, Tr.checkReportMissingProp)(t,c);}):(r.if((0, po._)`${u} && (${(0, Tr.checkMissingProp)(t,i,o)})`),(0, Tr.reportMissingProp)(t,o),r.else());}}Ge.validatePropertyDeps=iu;function uu(t,e=t.schema){let{gen:r,data:n,keyword:s,it:o}=t,a=r.name("valid");for(let i in e)(0, _m.alwaysValidSchema)(o,e[i])||(r.if((0, Tr.propertyInData)(r,n,i,o.opts.ownProperties),()=>{let u=t.subschema({keyword:s,schemaProp:i},a);t.mergeValidEvaluated(u,a);},()=>r.var(a,true)),t.ok(a));}Ge.validateSchemaDeps=uu;Ge.default=Rm;});var lu=x(mo=>{Object.defineProperty(mo,"__esModule",{value:true});var du=G(),$m=H(),Em={message:"property name must be valid",params:({params:t})=>(0, du._)`{propertyName: ${t.propertyName}}`},xm={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Em,code(t){let{gen:e,schema:r,data:n,it:s}=t;if((0, $m.alwaysValidSchema)(s,r))return;let o=e.name("valid");e.forIn("key",n,a=>{t.setParams({propertyName:a}),t.subschema({keyword:"propertyNames",data:a,dataTypes:["string"],propertyName:a,compositeRule:true},o),e.if((0, du.not)(o),()=>{t.error(true),s.allErrors||e.break();});}),t.ok(o);}};mo.default=xm;});var go=x(ho=>{Object.defineProperty(ho,"__esModule",{value:true});var vn=Ie(),De=G(),Tm=He(),bn=H(),Am={message:"must NOT have additional properties",params:({params:t})=>(0, De._)`{additionalProperty: ${t.additionalProperty}}`},Im={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:true,trackErrors:true,error:Am,code(t){let{gen:e,schema:r,parentSchema:n,data:s,errsCount:o,it:a}=t;if(!o)throw new Error("ajv implementation error");let{allErrors:i,opts:u}=a;if(a.props=true,u.removeAdditional!=="all"&&(0, bn.alwaysValidSchema)(a,r))return;let c=(0, vn.allSchemaProperties)(n.properties),d=(0, vn.allSchemaProperties)(n.patternProperties);l(),t.ok((0, De._)`${o} === ${Tm.default.errors}`);function l(){e.forIn("key",s,k=>{!c.length&&!d.length?m(k):e.if(b(k),()=>m(k));});}function b(k){let h;if(c.length>8){let f=(0, bn.schemaRefOrVal)(a,n.properties,"properties");h=(0, vn.isOwnProperty)(e,f,k);}else c.length?h=(0, De.or)(...c.map(f=>(0, De._)`${k} === ${f}`)):h=De.nil;return d.length&&(h=(0, De.or)(h,...d.map(f=>(0, De._)`${(0, vn.usePattern)(t,f)}.test(${k})`))),(0, De.not)(h)}function y(k){e.code((0, De._)`delete ${s}[${k}]`);}function m(k){if(u.removeAdditional==="all"||u.removeAdditional&&r===false){y(k);return}if(r===false){t.setParams({additionalProperty:k}),t.error(),i||e.break();return}if(typeof r=="object"&&!(0, bn.alwaysValidSchema)(a,r)){let h=e.name("valid");u.removeAdditional==="failing"?(p(k,h,false),e.if((0, De.not)(h),()=>{t.reset(),y(k);})):(p(k,h),i||e.if((0, De.not)(h),()=>e.break()));}}function p(k,h,f){let g={keyword:"additionalProperties",dataProp:k,dataPropType:bn.Type.Str};f===false&&Object.assign(g,{compositeRule:true,createErrors:false,allErrors:false}),t.subschema(g,h);}}};ho.default=Im;});var mu=x(vo=>{Object.defineProperty(vo,"__esModule",{value:true});var Pm=hr(),fu=Ie(),yo=H(),pu=go(),Om={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:n,data:s,it:o}=t;o.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&pu.default.code(new Pm.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=yo.mergeEvaluated.props(e,(0, yo.toHash)(a),o.props));let i=a.filter(l=>!(0, yo.alwaysValidSchema)(o,r[l]));if(i.length===0)return;let u=e.name("valid");for(let l of i)c(l)?d(l):(e.if((0, fu.propertyInData)(e,s,l,o.opts.ownProperties)),d(l),o.allErrors||e.else().var(u,true),e.endIf()),t.it.definedProperties.add(l),t.ok(u);function c(l){return o.opts.useDefaults&&!o.compositeRule&&r[l].default!==void 0}function d(l){t.subschema({keyword:"properties",schemaProp:l,dataProp:l},u);}}};vo.default=Om;});var vu=x(bo=>{Object.defineProperty(bo,"__esModule",{value:true});var hu=Ie(),kn=G(),gu=H(),yu=H(),jm={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:n,parentSchema:s,it:o}=t,{opts:a}=o,i=(0, hu.allSchemaProperties)(r),u=i.filter(p=>(0, gu.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=e.name("valid");o.props!==true&&!(o.props instanceof kn.Name)&&(o.props=(0, yu.evaluatedPropsToName)(e,o.props));let{props:l}=o;b();function b(){for(let p of i)c&&y(p),o.allErrors?m(p):(e.var(d,true),m(p),e.if(d));}function y(p){for(let k in c)new RegExp(p).test(k)&&(0, gu.checkStrictMode)(o,`property ${k} matches pattern ${p} (use allowMatchingProperties)`);}function m(p){e.forIn("key",n,k=>{e.if((0, kn._)`${(0, hu.usePattern)(t,p)}.test(${k})`,()=>{let h=u.includes(p);h||t.subschema({keyword:"patternProperties",schemaProp:p,dataProp:k,dataPropType:yu.Type.Str},d),o.opts.unevaluated&&l!==true?e.assign((0, kn._)`${l}[${k}]`,true):!h&&!o.allErrors&&e.if((0, kn.not)(d),()=>e.break());});});}}};bo.default=jm;});var bu=x(ko=>{Object.defineProperty(ko,"__esModule",{value:true});var Nm=H(),qm={keyword:"not",schemaType:["object","boolean"],trackErrors:true,code(t){let{gen:e,schema:r,it:n}=t;if((0, Nm.alwaysValidSchema)(n,r)){t.fail();return}let s=e.name("valid");t.subschema({keyword:"not",compositeRule:true,createErrors:false,allErrors:false},s),t.failResult(s,()=>t.reset(),()=>t.error());},error:{message:"must NOT be valid"}};ko.default=qm;});var ku=x(wo=>{Object.defineProperty(wo,"__esModule",{value:true});var Dm=Ie(),Fm={keyword:"anyOf",schemaType:"array",trackErrors:true,code:Dm.validateUnion,error:{message:"must match a schema in anyOf"}};wo.default=Fm;});var wu=x(So=>{Object.defineProperty(So,"__esModule",{value:true});var wn=G(),Mm=H(),Lm={message:"must match exactly one schema in oneOf",params:({params:t})=>(0, wn._)`{passingSchemas: ${t.passing}}`},Vm={keyword:"oneOf",schemaType:"array",trackErrors:true,error:Lm,code(t){let{gen:e,schema:r,parentSchema:n,it:s}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(s.opts.discriminator&&n.discriminator)return;let o=r,a=e.let("valid",false),i=e.let("passing",null),u=e.name("_valid");t.setParams({passing:i}),e.block(c),t.result(a,()=>t.reset(),()=>t.error(true));function c(){o.forEach((d,l)=>{let b;(0, Mm.alwaysValidSchema)(s,d)?e.var(u,true):b=t.subschema({keyword:"oneOf",schemaProp:l,compositeRule:true},u),l>0&&e.if((0, wn._)`${u} && ${a}`).assign(a,false).assign(i,(0, wn._)`[${i}, ${l}]`).else(),e.if(u,()=>{e.assign(a,true),e.assign(i,l),b&&t.mergeEvaluated(b,wn.Name);});});}}};So.default=Vm;});var Su=x(_o=>{Object.defineProperty(_o,"__esModule",{value:true});var Bm=H(),Gm={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let s=e.name("valid");r.forEach((o,a)=>{if((0, Bm.alwaysValidSchema)(n,o))return;let i=t.subschema({keyword:"allOf",schemaProp:a},s);t.ok(s),t.mergeEvaluated(i);});}};_o.default=Gm;});var Cu=x(Ro=>{Object.defineProperty(Ro,"__esModule",{value:true});var Sn=G(),Ru=H(),Km={message:({params:t})=>(0, Sn.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0, Sn._)`{failingKeyword: ${t.ifClause}}`},Um={keyword:"if",schemaType:["object","boolean"],trackErrors:true,error:Km,code(t){let{gen:e,parentSchema:r,it:n}=t;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=e.let("valid",true),i=e.name("_valid");if(u(),t.reset(),s&&o){let d=e.let("ifClause");t.setParams({ifClause:d}),e.if(i,c("then",d),c("else",d));}else s?e.if(i,c("then")):e.if((0, Sn.not)(i),c("else"));t.pass(a,()=>t.error(true));function u(){let d=t.subschema({keyword:"if",compositeRule:true,createErrors:false,allErrors:false},i);t.mergeEvaluated(d);}function c(d,l){return ()=>{let b=t.subschema({keyword:d},i);e.assign(a,i),t.mergeValidEvaluated(b,a),l?e.assign(l,(0, Sn._)`${d}`):t.setParams({ifClause:d});}}}};function _u(t,e){let r=t.schema[e];return r!==void 0&&!(0, Ru.alwaysValidSchema)(t,r)}Ro.default=Um;});var $u=x(Co=>{Object.defineProperty(Co,"__esModule",{value:true});var Jm=H(),Hm={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0, Jm.checkStrictMode)(r,`"${t}" without "if" is ignored`);}};Co.default=Hm;});var Eu=x($o=>{Object.defineProperty($o,"__esModule",{value:true});var zm=io(),Wm=nu(),Ym=uo(),Xm=ou(),Qm=au(),Zm=cu(),eh=lu(),th=go(),rh=mu(),nh=vu(),sh=bu(),oh=ku(),ah=wu(),ih=Su(),uh=Cu(),ch=$u();function dh(t=false){let e=[sh.default,oh.default,ah.default,ih.default,uh.default,ch.default,eh.default,th.default,Zm.default,rh.default,nh.default];return t?e.push(Wm.default,Xm.default):e.push(zm.default,Ym.default),e.push(Qm.default),e}$o.default=dh;});var xu=x(Eo=>{Object.defineProperty(Eo,"__esModule",{value:true});var ue=G(),lh={message:({schemaCode:t})=>(0, ue.str)`must match format "${t}"`,params:({schemaCode:t})=>(0, ue._)`{format: ${t}}`},fh={keyword:"format",type:["number","string"],schemaType:"string",$data:true,error:lh,code(t,e){let{gen:r,data:n,$data:s,schema:o,schemaCode:a,it:i}=t,{opts:u,errSchemaPath:c,schemaEnv:d,self:l}=i;if(!u.validateFormats)return;s?b():y();function b(){let m=r.scopeValue("formats",{ref:l.formats,code:u.code.formats}),p=r.const("fDef",(0, ue._)`${m}[${a}]`),k=r.let("fType"),h=r.let("format");r.if((0, ue._)`typeof ${p} == "object" && !(${p} instanceof RegExp)`,()=>r.assign(k,(0, ue._)`${p}.type || "string"`).assign(h,(0, ue._)`${p}.validate`),()=>r.assign(k,(0, ue._)`"string"`).assign(h,p)),t.fail$data((0, ue.or)(f(),g()));function f(){return u.strictSchema===false?ue.nil:(0, ue._)`${a} && !${h}`}function g(){let S=d.$async?(0, ue._)`(${p}.async ? await ${h}(${n}) : ${h}(${n}))`:(0, ue._)`${h}(${n})`,w=(0, ue._)`(typeof ${h} == "function" ? ${S} : ${h}.test(${n}))`;return (0, ue._)`${h} && ${h} !== true && ${k} === ${e} && !${w}`}}function y(){let m=l.formats[o];if(!m){f();return}if(m===true)return;let[p,k,h]=g(m);p===e&&t.pass(S());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 g(w){let C=w instanceof RegExp?(0, ue.regexpCode)(w):u.code.formats?(0, ue._)`${u.code.formats}${(0, ue.getProperty)(o)}`:void 0,_=r.scopeValue("formats",{key:o,ref:w,code:C});return typeof w=="object"&&!(w instanceof RegExp)?[w.type||"string",w.validate,(0, ue._)`${_}.validate`]:["string",w,_]}function S(){if(typeof m=="object"&&!(m instanceof RegExp)&&m.async){if(!d.$async)throw new Error("async format in sync schema");return (0, ue._)`await ${h}(${n})`}return typeof k=="function"?(0, ue._)`${h}(${n})`:(0, ue._)`${h}.test(${n})`}}}};Eo.default=fh;});var Tu=x(xo=>{Object.defineProperty(xo,"__esModule",{value:true});var ph=xu(),mh=[ph.default];xo.default=mh;});var Au=x(Ht=>{Object.defineProperty(Ht,"__esModule",{value:true});Ht.contentVocabulary=Ht.metadataVocabulary=void 0;Ht.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Ht.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"];});var Pu=x(To=>{Object.defineProperty(To,"__esModule",{value:true});var hh=Mi(),gh=Zi(),yh=Eu(),vh=Tu(),Iu=Au(),bh=[hh.default,gh.default,(0, yh.default)(),vh.default,Iu.metadataVocabulary,Iu.contentVocabulary];To.default=bh;});var ju=x(_n=>{Object.defineProperty(_n,"__esModule",{value:true});_n.DiscrError=void 0;var Ou;(function(t){t.Tag="tag",t.Mapping="mapping";})(Ou||(_n.DiscrError=Ou={}));});var qu=x(Io=>{Object.defineProperty(Io,"__esModule",{value:true});var zt=G(),Ao=ju(),Nu=sn(),kh=gr(),wh=H(),Sh={message:({params:{discrError:t,tagName:e}})=>t===Ao.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0, zt._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},_h={keyword:"discriminator",type:"object",schemaType:"object",error:Sh,code(t){let{gen:e,data:r,schema:n,parentSchema:s,it:o}=t,{oneOf:a}=s;if(!o.opts.discriminator)throw new Error("discriminator: requires discriminator option");let i=n.propertyName;if(typeof i!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!a)throw new Error("discriminator: requires oneOf keyword");let u=e.let("valid",false),c=e.const("tag",(0, zt._)`${r}${(0, zt.getProperty)(i)}`);e.if((0, zt._)`typeof ${c} == "string"`,()=>d(),()=>t.error(false,{discrError:Ao.DiscrError.Tag,tag:c,tagName:i})),t.ok(u);function d(){let y=b();e.if(false);for(let m in y)e.elseIf((0, zt._)`${c} === ${m}`),e.assign(u,l(y[m]));e.else(),t.error(false,{discrError:Ao.DiscrError.Mapping,tag:c,tagName:i}),e.endIf();}function l(y){let m=e.name("valid"),p=t.subschema({keyword:"oneOf",schemaProp:y},m);return t.mergeEvaluated(p,zt.Name),m}function b(){var y;let m={},p=h(s),k=true;for(let S=0;S<a.length;S++){let w=a[S];if(w?.$ref&&!(0, wh.schemaHasRulesButRef)(w,o.self.RULES)){let _=w.$ref;if(w=Nu.resolveRef.call(o.self,o.schemaEnv.root,o.baseId,_),w instanceof Nu.SchemaEnv&&(w=w.schema),w===void 0)throw new kh.default(o.opts.uriResolver,o.baseId,_)}let C=(y=w?.properties)===null||y===void 0?void 0:y[i];if(typeof C!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${i}"`);k=k&&(p||h(w)),f(C,S);}if(!k)throw new Error(`discriminator: "${i}" must be required`);return m;function h({required:S}){return Array.isArray(S)&&S.includes(i)}function f(S,w){if(S.const)g(S.const,w);else if(S.enum)for(let C of S.enum)g(C,w);else throw new Error(`discriminator: "properties/${i}" must have "const" or "enum"`)}function g(S,w){if(typeof S!="string"||S in m)throw new Error(`discriminator: "${i}" values must be unique strings`);m[S]=w;}}}};Io.default=_h;});var Du=x((dv,Rh)=>{Rh.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((se,Po)=>{Object.defineProperty(se,"__esModule",{value:true});se.MissingRefError=se.ValidationError=se.CodeGen=se.Name=se.nil=se.stringify=se.str=se._=se.KeywordCxt=se.Ajv=void 0;var Ch=Oi(),$h=Pu(),Eh=qu(),Fu=Du(),xh=["/properties"],Rn="http://json-schema.org/draft-07/schema",Wt=class extends Ch.default{_addVocabularies(){super._addVocabularies(),$h.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(Eh.default);}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(Fu,xh):Fu;this.addMetaSchema(e,Rn,false),this.refs["http://json-schema.org/schema"]=Rn;}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(Rn)?Rn:void 0)}};se.Ajv=Wt;Po.exports=se=Wt;Po.exports.Ajv=Wt;Object.defineProperty(se,"__esModule",{value:true});se.default=Wt;var Th=hr();Object.defineProperty(se,"KeywordCxt",{enumerable:true,get:function(){return Th.KeywordCxt}});var Yt=G();Object.defineProperty(se,"_",{enumerable:true,get:function(){return Yt._}});Object.defineProperty(se,"str",{enumerable:true,get:function(){return Yt.str}});Object.defineProperty(se,"stringify",{enumerable:true,get:function(){return Yt.stringify}});Object.defineProperty(se,"nil",{enumerable:true,get:function(){return Yt.nil}});Object.defineProperty(se,"Name",{enumerable:true,get:function(){return Yt.Name}});Object.defineProperty(se,"CodeGen",{enumerable:true,get:function(){return Yt.CodeGen}});var Ah=rn();Object.defineProperty(se,"ValidationError",{enumerable:true,get:function(){return Ah.default}});var Ih=gr();Object.defineProperty(se,"MissingRefError",{enumerable:true,get:function(){return Ih.default}});});var Mr="b64:";function Nc(t){let e=new TextEncoder().encode(t),r=globalThis.Buffer,n;if(r)n=r.from(e).toString("base64");else if(typeof btoa=="function"){let s="";for(let o of e)s+=String.fromCharCode(o);n=btoa(s);}else throw new Error("No base64 encoder available in this runtime");return n.replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}function qc(t){let e=t.replace(/-/g,"+").replace(/_/g,"/")+"=".repeat((4-t.length%4)%4),r=globalThis.Buffer;if(r)return r.from(e,"base64").toString("utf8");if(typeof atob=="function"){let n=atob(e),s=new Uint8Array(n.length);for(let o=0;o<n.length;o+=1)s[o]=n.charCodeAt(o);return new TextDecoder().decode(s)}throw new Error("No base64 decoder available in this runtime")}function ie(t){return `${Mr}${Nc(JSON.stringify(t))}`}function ke(t){if(!t.startsWith(Mr))throw new Error(`Invalid ref format (expected ${Mr}<base64url(json)>): ${t}`);let e;try{e=JSON.parse(qc(t.slice(Mr.length)));}catch{throw new Error(`Invalid ref format (malformed base64url/json): ${t}`)}if(!e||typeof e!="object")throw new Error(`Invalid ref format (expected object payload): ${t}`);let r=e;if(typeof r.kind!="string"||typeof r.value!="string")throw new Error(`Invalid ref format (payload must contain string kind/value): ${t}`);return {kind:r.kind,value:r.value}}async function Jo(t,e,r){let n=t.tryAcquire();if(!n)return false;try{await e();}finally{n();}return r?.(),true}function Qt(t,e,r=".json"){let n=ce.join(t,".tmp");return P.mkdirSync(n,{recursive:true}),ce.join(n,`${e}-${Date.now()}-${Math.random().toString(36).slice(2,8)}${r}`)}function jt(...t){return ce.join(...t)}function Ze(...t){return ce.resolve(...t)}function Yo(t){return ce.isAbsolute(t)}function Mn(){return randomUUID()}function Xo(t){return createHash("sha256").update(t).digest("hex")}function Vr(t){return ce.dirname(fileURLToPath(t))}function Bc(t){if(typeof t=="object"&&t!==null){let{command:r,args:n=[],...s}=t,o=zo(r,n);return {...s,command:o.command,args:o.args}}let e=Qo(t);if(e.length===0)throw new Error(`Empty command spec: ${JSON.stringify(t)}`);return zo(e[0],e.slice(1))}function zo(t,e){return /^(node|node\.exe)$/i.test(t)?{command:process.execPath,args:e}:/\.m?js$/i.test(t)?{command:process.execPath,args:[t,...e]}:{command:t,args:e}}function Qo(t){let e=[],r="",n=null;for(let s of t.trim()){if(n){s===n?n=null:r+=s;continue}if(s==='"'||s==="'"){n=s;continue}if(/\s/.test(s)){r&&(e.push(r),r="");continue}r+=s;}if(n)throw new Error(`Unterminated quote in command: ${t}`);return r&&e.push(r),e}function Ln(t){return process.platform==="win32"&&/\.(cmd|bat)$/i.test(t)}function Zo(t,e){let{command:r,args:n=[],cwd:s,env:o,timeoutMs:a}=t;return execFileSync(r,n,{shell:Ln(r),timeout:a,encoding:e?.encoding??"utf-8",cwd:s,windowsHide:true,env:o?{...process.env,...o}:void 0,input:e?.input})}function Gc(t,e){let{command:r,args:n=[],cwd:s,env:o,timeoutMs:a=3e4}=t;execFile(r,n,{shell:Ln(r),encoding:"utf8",windowsHide:true,timeout:a,maxBuffer:10*1024*1024,cwd:s,env:o?{...process.env,...o}:void 0},(i,u,c)=>e(i??null,u,c));}ce.join(Fn.tmpdir(),".board-live-cards-git-bash-cache.json");function Br(t){let{command:e,args:r=[]}=t;if(process.platform==="win32"){spawn(e,r,{detached:true,stdio:"ignore",windowsHide:true,shell:Ln(e)}).unref();return}spawn(e,r,{detached:true,stdio:"ignore"}).unref();}function Vn(t,e,r){let n=ce.join(t,"board-live-cards-cli.js");if(P.existsSync(n))return {cmd:process.execPath,args:[n,e,...r]};let s=ce.join(t,"board-live-cards-cli.ts"),o=ce.join(t,"..","..","node_modules","tsx","dist","cli.mjs"),a=ce.join(t,"..","..","node_modules",".bin","tsx"),i=P.existsSync(o)?o:a;return P.existsSync(s)&&P.existsSync(i)?{cmd:process.execPath,args:[i,s,e,...r]}:{cmd:process.platform==="win32"?"npx.cmd":"npx",args:["tsx",s,e,...r]}}function Bn(t){let e=ce.join(t,"..","..","..","dev","board-live-cards-cli.js");if(P.existsSync(e))return e;let r=ce.join(t,"..","..","dev","board-live-cards-cli.js");if(P.existsSync(r))return r;let n=ce.join(t,"board-live-cards-cli.js");if(P.existsSync(n))return n;throw new Error(`resolveBoardCliCallbackTarget: cannot find callback target in ${t} (expected dev/board-live-cards-cli.js wrapper or ${n})`)}function ea(t,e,r){let n=["--base-ref",ie(e)];r&&n.push("--notify-channel",r);let{cmd:s,args:o}=Vn(t,"process-accumulated-events",n);Br({command:s,args:o});}function Kc(t){return process.platform==="win32"?`\\\\.\\pipe\\${t}`:ce.join(Fn.tmpdir(),`${t}.sock`)}var Lr=new Map;function ta(t,e,r){if(e.length===0)return;let n=e.map(i=>JSON.stringify(i)).join(`
10
10
  `)+`
11
- `,s=Lr.get(t);if(s&&!s.socket.destroyed){s.ready?s.socket.write(n):s.queue.push(n);return}let o=Kc(t),a=Wo.createConnection(o);s={socket:a,ready:false,queue:[n]},Lr.set(t,s),a.on("connect",()=>{s.ready=true;for(let i of s.queue)a.write(i);s.queue.length=0;}),a.on("error",i=>{r?.(`[named-pipe publish] ${o}: ${i instanceof Error?i.message:String(i)}`),Lr.delete(t);}),a.on("close",()=>{Lr.delete(t);});}function Gn(){return {executeSync(t,e,r){return Zo({command:t,args:e,cwd:r?.cwd,timeoutMs:r?.timeout,env:r?.env},{encoding:r?.encoding,input:r?.input})},executeAsync(t,e,r){Gc({command:t,args:e},r);},resolveInvocation(t,e){let r=Bc({command:t,args:e});return {cmd:r.command,args:r.args??[]}},splitCommand:Qo,spawnDetached(t,e){Br({command:t,args:e});}}}var na=dirname(fileURLToPath(import.meta.url)),Wc=createRequire(import.meta.url);function Yc(){let t=resolve(na,"./jsonata-sync.cjs");return existsSync(t)?t:resolve(na,"../../card-compute/jsonata-sync.cjs")}var yt=Wc(Yc());function sa(t,e,r){if(!t||typeof t!="object")return {};let n={};if(Array.isArray(t.cmdTemplate)){let s=[];for(let o of t.cmdTemplate)try{s.push(String(yt(o).evaluate(e)));}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 t.stdinTemplate=="string")try{n.stdin=yt(t.stdinTemplate).evaluate(e);}catch(s){let o=s instanceof Error?s.message:String(s);throw new Error(`[${r}] argsMassaging.stdinTemplate failed: ${o}`)}if(typeof t.urlTemplate=="string")try{n.url=String(yt(t.urlTemplate).evaluate(e));}catch(s){let o=s instanceof Error?s.message:String(s);throw new Error(`[${r}] argsMassaging.urlTemplate failed: ${o}`)}if(typeof t.headerTemplate=="string")try{let s=yt(t.headerTemplate).evaluate(e);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 t.bodyTemplate=="string")try{n.body=yt(t.bodyTemplate).evaluate(e);}catch(s){let o=s instanceof Error?s.message:String(s);throw new Error(`[${r}] argsMassaging.bodyTemplate failed: ${o}`)}return n}function Xc(t,e){let r=typeof t=="object"?t.value:Se(t).value;switch(r){case "source-cli-task-executor":{let n=ce.join(e,"source-cli-task-executor.js");if(P.existsSync(n))return {command:process.execPath,args:[n]};let s=ce.join(e,"source-cli-task-executor.ts"),o=ce.join(e,"..","..","node_modules","tsx","dist","cli.mjs"),a=ce.join(e,"..","..","node_modules",".bin","tsx"),i=P.existsSync(o)?o:a;return P.existsSync(s)&&P.existsSync(i)?{command:process.execPath,args:[i,s]}:{command:process.execPath,args:[n]}}case "board-live-cards":{let{cmd:n,args:s}=Vn(e,"_",[]);return {command:n,args:s}}default:throw new Error(`resolveBuiltIn: unknown built-in name "${r}". Supported: source-cli-task-executor, board-live-cards`)}}function oa(t,e){if(t.howToRun==="built-in"){let{command:n,args:s}=Xc(t.whatToRun,e);return {command:n,baseArgs:s}}let r=typeof t.whatToRun=="object"?t.whatToRun.value:Se(t.whatToRun).value;switch(t.howToRun){case "local-node":return {command:process.execPath,baseArgs:[r]};case "local-python":return {command:process.platform==="win32"?"python":"python3",baseArgs:[r]};case "local-process":return {command:r,baseArgs:[]};default:throw new Error(`resolveBaseInvocation: howToRun "${t.howToRun}" is not a local transport`)}}function Qc(t,e){let r=[t.subcommand];return t.inRef&&r.push("--in-ref",t.inRef),t.outRef&&r.push("--out-ref",t.outRef),t.errRef&&r.push("--err-ref",t.errRef),e&&r.push("--extra",Buffer.from(JSON.stringify(e)).toString("base64")),r}function Zc(t,e){return {subcommand:t.subcommand,...t.inRef?{inRef:t.inRef}:{},...t.outRef?{outRef:t.outRef}:{},...t.errRef?{errRef:t.errRef}:{},...e?{extra:e}:{}}}function aa(t,e){return oa(t,e)}async function ed(t,e){let r={...e,whatToRun:t.whatToRun},n=sa(t.argsMassaging,r,"_invokeTaskExecutorHttp"),s=n.url??(typeof t.whatToRun=="object"?t.whatToRun.value:Se(t.whatToRun).value),o=n.body?n.body:Zc(e,t.extra),a={"Content-Type":"application/json"},i=n.headers?{...a,...n.headers}:a,u=await fetch(s,{method:t.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(t,e,r){if(t.howToRun==="http:post"||t.howToRun==="http:get"){ed(t,e).catch(i=>{console.error(`[dispatchTaskExecutorDetached] HTTP dispatch failed: ${i.message}`);});return}let{command:s,baseArgs:o}=oa(t,r),a=Qc(e,t.extra);Br({command:s,args:[...o,...a]});}function td(){return {read(t){if(!P.existsSync(t))return null;try{return P.readFileSync(t,"utf-8")}catch{return null}},write(t,e){P.mkdirSync(ce.dirname(t),{recursive:true}),P.writeFileSync(t,e,"utf-8");}}}function ua(t){return td();}function tr(t,e){if(process.platform!=="win32"){P.renameSync(t,e);return}let r=[10,20,40,80,160];for(let n=0;n<=r.length;n++)try{P.renameSync(t,e);return}catch(s){let o=s.code;if((o==="EPERM"||o==="EBUSY")&&n<r.length){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,r[n]);continue}throw s}}function Gr(t){function e(s){return ce.join(t,...s.split("/"))}function r(s){return ce.relative(t,s).replace(/\\/g,"/")}function n(s,o){if(P.existsSync(s))for(let a of P.readdirSync(s,{withFileTypes:true})){let i=ce.join(s,a.name);if(a.isDirectory()){n(i,o);continue}a.isFile()&&o.push(r(i));}}return {read(s){let o=e(s);if(!P.existsSync(o))return null;try{return P.readFileSync(o,"utf-8")}catch{return null}},write(s,o){let a=e(s),i=`${a}.${process.pid}.${randomUUID()}.tmp`;P.mkdirSync(ce.dirname(a),{recursive:true}),P.writeFileSync(i,o,"utf-8"),tr(i,a);},exists(s){return P.existsSync(e(s))},remove(s){let o=e(s);try{P.existsSync(o)&&P.unlinkSync(o);}catch{}},readBytes(s){let o=e(s);if(!P.existsSync(o))return null;try{return new Uint8Array(P.readFileSync(o))}catch{return null}},writeBytes(s,o){let a=e(s),i=`${a}.${process.pid}.${randomUUID()}.tmp`;P.mkdirSync(ce.dirname(a),{recursive:true}),P.writeFileSync(i,Buffer.from(o)),tr(i,a);},listKeys(s){let o=[];n(t,o);let a=o.sort();return s?a.filter(i=>i.startsWith(s)):a},stat(s){let o=e(s);if(!P.existsSync(o))return null;try{let a=P.statSync(o);return {key:s,size:Number(a.size||0),updatedAt:new Date(a.mtimeMs).toISOString()}}catch{return null}}}}function Jn(){return {read(t){if(!P.existsSync(t))return null;try{return P.readFileSync(t,"utf-8")}catch{return null}},write(t,e){let r=`${t}.${process.pid}.${randomUUID()}.tmp`;P.mkdirSync(ce.dirname(t),{recursive:true}),P.writeFileSync(r,e,"utf-8"),tr(r,t);},exists(t){return P.existsSync(t)},remove(t){try{P.existsSync(t)&&P.unlinkSync(t);}catch{}},readBytes(t){if(!P.existsSync(t))return null;try{return new Uint8Array(P.readFileSync(t))}catch{return null}},writeBytes(t,e){let r=`${t}.${process.pid}.${randomUUID()}.tmp`;P.mkdirSync(ce.dirname(t),{recursive:true}),P.writeFileSync(r,Buffer.from(e)),tr(r,t);},stat(t){if(!P.existsSync(t))return null;try{let e=P.statSync(t);return {key:t,size:Number(e.size||0),updatedAt:new Date(e.mtimeMs).toISOString()}}catch{return null}}}}function Hn(t){function e(n){return ce.join(t,...n.split("/"))+".json"}function r(n,s,o,a){if(P.existsSync(n))for(let i of P.readdirSync(n,{withFileTypes:true})){let u=s?`${s}/${i.name}`:i.name;if(i.isDirectory()){r(ce.join(n,i.name),u,o,a);continue}if(!i.isFile()||!i.name.endsWith(".json"))continue;let c=u.replace(/\.json$/,"");(!o||c.startsWith(o))&&a.push(c);}}return {read(n){let s=e(n);if(!P.existsSync(s))return null;try{return JSON.parse(P.readFileSync(s,"utf-8"))}catch{return null}},write(n,s){let o=e(n),a=`${o}.${process.pid}.${randomUUID()}.tmp`;P.mkdirSync(ce.dirname(o),{recursive:true}),P.writeFileSync(a,JSON.stringify(s,null,2),"utf-8"),tr(a,o);},delete(n){let s=e(n);try{P.existsSync(s)&&P.unlinkSync(s);}catch{}},listKeys(n){let s=[];return r(t,"",n,s),s.sort()}}}function Un(t){if(t==null||typeof t!="object")return JSON.stringify(t);if(Array.isArray(t))return `[${t.map(Un).join(",")}]`;let e=t;return `{${Object.keys(e).sort().map(n=>`${JSON.stringify(n)}:${Un(e[n])}`).join(",")}}`}function ca(t){return createHash("sha256").update(Un(t)).digest("hex")}function da(t){let e=ce.join(t,"board-journal.jsonl");return {readAllEntries(){if(!P.existsSync(e))return [];let r=P.readFileSync(e,"utf-8").trim();return r?r.split(`
11
+ `,s=Lr.get(t);if(s&&!s.socket.destroyed){s.ready?s.socket.write(n):s.queue.push(n);return}let o=Kc(t),a=Wo.createConnection(o);s={socket:a,ready:false,queue:[n]},Lr.set(t,s),a.on("connect",()=>{s.ready=true;for(let i of s.queue)a.write(i);s.queue.length=0;}),a.on("error",i=>{r?.(`[named-pipe publish] ${o}: ${i instanceof Error?i.message:String(i)}`),Lr.delete(t);}),a.on("close",()=>{Lr.delete(t);});}function Gn(){return {executeSync(t,e,r){return Zo({command:t,args:e,cwd:r?.cwd,timeoutMs:r?.timeout,env:r?.env},{encoding:r?.encoding,input:r?.input})},executeAsync(t,e,r){Gc({command:t,args:e},r);},resolveInvocation(t,e){let r=Bc({command:t,args:e});return {cmd:r.command,args:r.args??[]}},splitCommand:Qo,spawnDetached(t,e){Br({command:t,args:e});}}}var na=dirname(fileURLToPath(import.meta.url)),Wc=createRequire(import.meta.url);function Yc(){let t=resolve(na,"./jsonata-sync.cjs");return existsSync(t)?t:resolve(na,"../../card-compute/jsonata-sync.cjs")}var yt=Wc(Yc());function sa(t,e,r){if(!t||typeof t!="object")return {};let n={};if(Array.isArray(t.cmdTemplate)){let s=[];for(let o of t.cmdTemplate)try{s.push(String(yt(o).evaluate(e)));}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 t.stdinTemplate=="string")try{n.stdin=yt(t.stdinTemplate).evaluate(e);}catch(s){let o=s instanceof Error?s.message:String(s);throw new Error(`[${r}] argsMassaging.stdinTemplate failed: ${o}`)}if(typeof t.urlTemplate=="string")try{n.url=String(yt(t.urlTemplate).evaluate(e));}catch(s){let o=s instanceof Error?s.message:String(s);throw new Error(`[${r}] argsMassaging.urlTemplate failed: ${o}`)}if(typeof t.headerTemplate=="string")try{let s=yt(t.headerTemplate).evaluate(e);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 t.bodyTemplate=="string")try{n.body=yt(t.bodyTemplate).evaluate(e);}catch(s){let o=s instanceof Error?s.message:String(s);throw new Error(`[${r}] argsMassaging.bodyTemplate failed: ${o}`)}return n}function Xc(t,e){let r=typeof t=="object"?t.value:ke(t).value;switch(r){case "source-cli-task-executor":{let n=ce.join(e,"source-cli-task-executor.js");if(P.existsSync(n))return {command:process.execPath,args:[n]};let s=ce.join(e,"source-cli-task-executor.ts"),o=ce.join(e,"..","..","node_modules","tsx","dist","cli.mjs"),a=ce.join(e,"..","..","node_modules",".bin","tsx"),i=P.existsSync(o)?o:a;return P.existsSync(s)&&P.existsSync(i)?{command:process.execPath,args:[i,s]}:{command:process.execPath,args:[n]}}case "board-live-cards":{let{cmd:n,args:s}=Vn(e,"_",[]);return {command:n,args:s}}default:throw new Error(`resolveBuiltIn: unknown built-in name "${r}". Supported: source-cli-task-executor, board-live-cards`)}}function oa(t,e){if(t.howToRun==="built-in"){let{command:n,args:s}=Xc(t.whatToRun,e);return {command:n,baseArgs:s}}let r=typeof t.whatToRun=="object"?t.whatToRun.value:ke(t.whatToRun).value;switch(t.howToRun){case "local-node":return {command:process.execPath,baseArgs:[r]};case "local-python":return {command:process.platform==="win32"?"python":"python3",baseArgs:[r]};case "local-process":return {command:r,baseArgs:[]};default:throw new Error(`resolveBaseInvocation: howToRun "${t.howToRun}" is not a local transport`)}}function Qc(t,e){let r=[t.subcommand];return t.inRef&&r.push("--in-ref",t.inRef),t.outRef&&r.push("--out-ref",t.outRef),t.errRef&&r.push("--err-ref",t.errRef),e&&r.push("--extra",Buffer.from(JSON.stringify(e)).toString("base64")),r}function Zc(t,e){return {subcommand:t.subcommand,...t.inRef?{inRef:t.inRef}:{},...t.outRef?{outRef:t.outRef}:{},...t.errRef?{errRef:t.errRef}:{},...e?{extra:e}:{}}}function aa(t,e){return oa(t,e)}async function ed(t,e){let r={...e,whatToRun:t.whatToRun},n=sa(t.argsMassaging,r,"_invokeTaskExecutorHttp"),s=n.url??(typeof t.whatToRun=="object"?t.whatToRun.value:ke(t.whatToRun).value),o=n.body?n.body:Zc(e,t.extra),a={"Content-Type":"application/json"},i=n.headers?{...a,...n.headers}:a,u=await fetch(s,{method:t.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(t,e,r){if(t.howToRun==="http:post"||t.howToRun==="http:get"){ed(t,e).catch(i=>{console.error(`[dispatchTaskExecutorDetached] HTTP dispatch failed: ${i.message}`);});return}let{command:s,baseArgs:o}=oa(t,r),a=Qc(e,t.extra);Br({command:s,args:[...o,...a]});}function td(){return {read(t){if(!P.existsSync(t))return null;try{return P.readFileSync(t,"utf-8")}catch{return null}},write(t,e){P.mkdirSync(ce.dirname(t),{recursive:true}),P.writeFileSync(t,e,"utf-8");}}}function ua(t){return td();}function tr(t,e){if(process.platform!=="win32"){P.renameSync(t,e);return}let r=[10,20,40,80,160];for(let n=0;n<=r.length;n++)try{P.renameSync(t,e);return}catch(s){let o=s.code;if((o==="EPERM"||o==="EBUSY")&&n<r.length){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,r[n]);continue}throw s}}function Gr(t){function e(s){return ce.join(t,...s.split("/"))}function r(s){return ce.relative(t,s).replace(/\\/g,"/")}function n(s,o){if(P.existsSync(s))for(let a of P.readdirSync(s,{withFileTypes:true})){let i=ce.join(s,a.name);if(a.isDirectory()){n(i,o);continue}a.isFile()&&o.push(r(i));}}return {read(s){let o=e(s);if(!P.existsSync(o))return null;try{return P.readFileSync(o,"utf-8")}catch{return null}},write(s,o){let a=e(s),i=`${a}.${process.pid}.${randomUUID()}.tmp`;P.mkdirSync(ce.dirname(a),{recursive:true}),P.writeFileSync(i,o,"utf-8"),tr(i,a);},exists(s){return P.existsSync(e(s))},remove(s){let o=e(s);try{P.existsSync(o)&&P.unlinkSync(o);}catch{}},readBytes(s){let o=e(s);if(!P.existsSync(o))return null;try{return new Uint8Array(P.readFileSync(o))}catch{return null}},writeBytes(s,o){let a=e(s),i=`${a}.${process.pid}.${randomUUID()}.tmp`;P.mkdirSync(ce.dirname(a),{recursive:true}),P.writeFileSync(i,Buffer.from(o)),tr(i,a);},listKeys(s){let o=[];n(t,o);let a=o.sort();return s?a.filter(i=>i.startsWith(s)):a},stat(s){let o=e(s);if(!P.existsSync(o))return null;try{let a=P.statSync(o);return {key:s,size:Number(a.size||0),updatedAt:new Date(a.mtimeMs).toISOString()}}catch{return null}}}}function Jn(){return {read(t){if(!P.existsSync(t))return null;try{return P.readFileSync(t,"utf-8")}catch{return null}},write(t,e){let r=`${t}.${process.pid}.${randomUUID()}.tmp`;P.mkdirSync(ce.dirname(t),{recursive:true}),P.writeFileSync(r,e,"utf-8"),tr(r,t);},exists(t){return P.existsSync(t)},remove(t){try{P.existsSync(t)&&P.unlinkSync(t);}catch{}},readBytes(t){if(!P.existsSync(t))return null;try{return new Uint8Array(P.readFileSync(t))}catch{return null}},writeBytes(t,e){let r=`${t}.${process.pid}.${randomUUID()}.tmp`;P.mkdirSync(ce.dirname(t),{recursive:true}),P.writeFileSync(r,Buffer.from(e)),tr(r,t);},stat(t){if(!P.existsSync(t))return null;try{let e=P.statSync(t);return {key:t,size:Number(e.size||0),updatedAt:new Date(e.mtimeMs).toISOString()}}catch{return null}}}}function Hn(t){function e(n){return ce.join(t,...n.split("/"))+".json"}function r(n,s,o,a){if(P.existsSync(n))for(let i of P.readdirSync(n,{withFileTypes:true})){let u=s?`${s}/${i.name}`:i.name;if(i.isDirectory()){r(ce.join(n,i.name),u,o,a);continue}if(!i.isFile()||!i.name.endsWith(".json"))continue;let c=u.replace(/\.json$/,"");(!o||c.startsWith(o))&&a.push(c);}}return {read(n){let s=e(n);if(!P.existsSync(s))return null;try{return JSON.parse(P.readFileSync(s,"utf-8"))}catch{return null}},write(n,s){let o=e(n),a=`${o}.${process.pid}.${randomUUID()}.tmp`;P.mkdirSync(ce.dirname(o),{recursive:true}),P.writeFileSync(a,JSON.stringify(s,null,2),"utf-8"),tr(a,o);},delete(n){let s=e(n);try{P.existsSync(s)&&P.unlinkSync(s);}catch{}},listKeys(n){let s=[];return r(t,"",n,s),s.sort()}}}function Un(t){if(t==null||typeof t!="object")return JSON.stringify(t);if(Array.isArray(t))return `[${t.map(Un).join(",")}]`;let e=t;return `{${Object.keys(e).sort().map(n=>`${JSON.stringify(n)}:${Un(e[n])}`).join(",")}}`}function ca(t){return createHash("sha256").update(Un(t)).digest("hex")}function da(t){let e=ce.join(t,"board-journal.jsonl");return {readAllEntries(){if(!P.existsSync(e))return [];let r=P.readFileSync(e,"utf-8").trim();return r?r.split(`
12
12
  `).filter(Boolean).map(n=>JSON.parse(n)):[]},appendEntry(r){P.appendFileSync(e,JSON.stringify(r)+`
13
- `,"utf-8");},generateId(){return randomUUID()}}}function la(t){return {tryAcquire(){try{if(!P.existsSync(t)){P.mkdirSync(ce.dirname(t),{recursive:!0});try{P.writeFileSync(t,"{}",{flag:"wx"});}catch{}}return lockSync(t,{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=jc(Mu());var jh=createRequire(import.meta.url),Nh=jh("./jsonata-sync.cjs"),Cn=null;var Lu=/\b(card_data|requires|fetched_sources|computed_values|source_defs)\b/g,qh=/^\s*(card_data|requires|fetched_sources|computed_values|source_defs)(\.|$)/;function Dh(t){let e=new Set,r;for(Lu.lastIndex=0;(r=Lu.exec(t))!==null;)e.add(r[1]);return e}function Gu(t){let e=qh.exec(t);return e?e[1]:null}function Vu(t,e,r,n){try{Nh(t);}catch(o){let a=o instanceof Error?o.message:String(o);n.push(`${e}: invalid JSONata expression (${a})`);return}let s=Dh(t);for(let o of s)r.has(o)||n.push(`${e}: disallowed namespace "${o}" in expression`);}function Oo(t,e,r){if(Array.isArray(t)){t.forEach((s,o)=>{Oo(s,`${e}/${o}`,r);});return}if(typeof t=="string"){let s=Gu(t);if(!s)return;new Set(["card_data","requires","computed_values"]).has(s)||r.push(`${e}: disallowed namespace "${s}" in view reference`);return}if(!t||typeof t!="object")return;let n=t;for(let[s,o]of Object.entries(n))Oo(o,`${e}/${s}`,r);}function Fh(){if(Cn)return Cn;let t=new Bu.default({allErrors:true});return Ph(t),Cn=t.compile(fa),Cn}function Ku(t){let e=Fh(),r=e(t),n=(e.errors??[]).map(s=>`${s.instancePath||"/"}: ${s.message??"unknown error"}`);if(t&&typeof t=="object"&&!Array.isArray(t)){let s=t.source_defs;if(Array.isArray(s)){let o=new Set,a=new Set;s.forEach((i,u)=>{if(!i||typeof i!="object"||Array.isArray(i))return;let c=i;typeof c.bindTo=="string"&&c.bindTo&&(o.has(c.bindTo)&&n.push(`/source_defs/${u}/bindTo: bindTo "${c.bindTo}" must be unique across all source_defs`),o.add(c.bindTo)),typeof c.outputFile=="string"&&c.outputFile&&(a.has(c.outputFile)&&n.push(`/source_defs/${u}/outputFile: outputFile "${c.outputFile}" must be unique across all source_defs`),a.add(c.outputFile));});}}return !r||n.length>0?{ok:false,errors:n}:{ok:true,errors:[]}}function Uu(t){let e=[];if(!t||typeof t!="object"||Array.isArray(t))return {ok:true,errors:[]};let r=t,n=r.compute;Array.isArray(n)&&n.forEach((c,d)=>{if(!c||typeof c!="object"||Array.isArray(c))return;let l=c.expr;typeof l!="string"||l.trim().length===0||Vu(l,`/compute/${d}/expr`,new Set(["card_data","requires","fetched_sources","computed_values"]),e);});let s=new Set(["card_data","requires","fetched_sources","computed_values"]),o=r.provides;Array.isArray(o)&&o.forEach((c,d)=>{if(!c||typeof c!="object"||Array.isArray(c))return;let l=c.ref;if(typeof l!="string"||l.trim().length===0)return;let b=Gu(l);b===null?e.push(`/provides/${d}/ref: path "${l}" must start with a valid namespace (${[...s].join(", ")})`):s.has(b)||e.push(`/provides/${d}/ref: disallowed namespace "${b}" in path "${l}" (valid: ${[...s].join(", ")})`);});let a=r.view;a&&typeof a=="object"&&!Array.isArray(a)&&Oo(a,"/view",e);let i=new Set(["card_data","requires"]),u=r.source_defs;return Array.isArray(u)&&u.forEach((c,d)=>{if(!c||typeof c!="object"||Array.isArray(c))return;let l=c.projections;if(!(!l||typeof l!="object"||Array.isArray(l)))for(let[b,y]of Object.entries(l))typeof y!="string"||y.trim().length===0||Vu(y,`/source_defs/${d}/projections/${b}`,i,e);}),{ok:e.length===0,errors:e}}function jo(t){let e=Ku(t);if(!e.ok)return e;let r=Uu(t);return r.ok?{ok:true,errors:[]}:{ok:false,errors:r.errors}}var ut={RUNNING:"running",COMPLETED:"completed",FAILED:"failed",INACTIVATED:"inactivated"};function Ee(t){return t?Array.isArray(t.provides)?t.provides:[]:[]}function ct(t){return t?Array.isArray(t.requires)?t.requires:[]:[]}function Ju(t){return t.tasks??{}}function No(t){return t?t.status===ut.FAILED||t.status===ut.INACTIVATED:false}function Hu(t,e){return t.refreshStrategy??e?.refreshStrategy??"data-changed"}function zu(t){return t.maxExecutions}function Wu(t,e){let r=new Set;for(let[n,s]of Object.entries(e))if(s.status===ut.COMPLETED){let o=t.tasks[n];o&&Ee(o).forEach(i=>r.add(i));}return Array.from(r)}function Yu(t,e){let r={};return t.forEach(n=>{let s=e[n];if(!s)return;Ee(s).forEach(a=>{r[a]||(r[a]=[]),r[a].push(n);});}),r}function Xu(t,e,r){let n=t.tasks[e]??$n(),s={};if(r){let a=r.tasks[e],i=ct(a);for(let u of i)for(let[c,d]of Object.entries(r.tasks))if(Ee(d).includes(u)){let l=t.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 {...t,tasks:{...t.tasks,[e]:o},lastUpdated:new Date().toISOString()}}function Qu(t,e,r,n,s,o){let a=t.tasks[r]??$n(),i=e.tasks[r];if(!i)throw new Error(`Task "${r}" not found in graph`);let u;n&&i.on&&i.on[n]?u=i.on[n]:u=Ee(i);let c=a.startConsumedHashes?{...a.startConsumedHashes}:{...a.lastConsumedHashes};if(!a.startConsumedHashes){let b=i.requires??[];for(let y of b)for(let[m,p]of Object.entries(e.tasks))if(Ee(p).includes(y)){let S=t.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([...t.availableOutputs,...u])];return {...t,tasks:{...t.tasks,[r]:d},availableOutputs:l,lastUpdated:new Date().toISOString()}}function Zu(t,e,r,n){let s=t.tasks[r]??$n(),o=e.tasks[r];if(o?.retry){let u=s.retryCount+1;if(u<=o.retry.max_attempts){let c={...s,status:"not-started",retryCount:u,lastUpdated:new Date().toISOString(),error:n};return {...t,tasks:{...t.tasks,[r]:c},lastUpdated:new Date().toISOString()}}}let a={...s,status:"failed",failedAt:new Date().toISOString(),lastUpdated:new Date().toISOString(),error:n,executionCount:s.executionCount+1},i=t.availableOutputs;if(o?.on_failure&&o.on_failure.length>0&&(i=[...new Set([...t.availableOutputs,...o.on_failure])]),o?.circuit_breaker&&a.executionCount>=o.circuit_breaker.max_executions){let u=o.circuit_breaker.on_break;i=[...new Set([...i,...u])];}return {...t,tasks:{...t.tasks,[r]:a},availableOutputs:i,lastUpdated:new Date().toISOString()}}function ec(t,e,r,n){let s=t.tasks[e]??$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 {...t,tasks:{...t.tasks,[e]:o},lastUpdated:new Date().toISOString()}}function tc(t,e){let r=t.tasks[e];if(!r)return t;let n={...r,status:"not-started",startedAt:void 0,completedAt:void 0,failedAt:void 0,error:void 0,data:void 0,progress:null,lastUpdated:new Date().toISOString()};return {...t,tasks:{...t.tasks,[e]:n},lastUpdated:new Date().toISOString()}}function $n(){return {status:"not-started",executionCount:0,retryCount:0,lastEpoch:0,messages:[],progress:null}}function En(t,e){let r=`live-${Date.now()}`,n={};for(let o of Object.keys(t.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:t.settings.execution_mode??"eligibility-mode",conflictStrategy:t.settings.conflict_strategy??"alphabetical",completionStrategy:t.settings.completion}};return {config:t,state:s}}function Mh(t,e){let{config:r,state:n}=t;if("executionId"in e&&e.executionId&&e.executionId!==n.executionId)return t;switch(e.type){case "task-started":return {config:r,state:Xu(n,e.taskName,r)};case "task-completed":return {config:r,state:Qu(n,r,e.taskName,e.result,e.dataHash,e.data)};case "task-failed":return {config:r,state:Zu(n,r,e.taskName,e.error)};case "task-progress":return {config:r,state:ec(n,e.taskName,e.message,e.progress)};case "task-restart":return {config:r,state:tc(n,e.taskName)};case "inject-tokens":return {config:r,state:{...n,availableOutputs:[...new Set([...n.availableOutputs,...e.tokens])],lastUpdated:new Date().toISOString()}};case "agent-action":return {config:r,state:Jh(n,e.action)};case "task-upsert":return Lh(t,e.taskName,e.taskConfig);case "task-removal":return Vh(t,e.taskName);case "node-requires-add":return Bh(t,e.nodeName,e.tokens);case "node-requires-remove":return Gh(t,e.nodeName,e.tokens);case "node-provides-add":return Kh(t,e.nodeName,e.tokens);case "node-provides-remove":return Uh(t,e.nodeName,e.tokens);default:return t}}function rc(t,e){return e.reduce((r,n)=>Mh(r,n),t)}function Lh(t,e,r){let n=!!t.config.tasks[e];return {config:{...t.config,tasks:{...t.config.tasks,[e]:r}},state:{...t.state,tasks:{...t.state.tasks,[e]:n?t.state.tasks[e]:nc()},lastUpdated:new Date().toISOString()}}}function Vh(t,e){if(!t.config.tasks[e])return t;let{[e]:r,...n}=t.config.tasks,{[e]:s,...o}=t.state.tasks;return {config:{...t.config,tasks:n},state:{...t.state,tasks:o,lastUpdated:new Date().toISOString()}}}function Bh(t,e,r){let n=t.config.tasks[e];if(!n)return t;let s=ct(n),o=r.filter(a=>!s.includes(a));return o.length===0?t:{config:{...t.config,tasks:{...t.config.tasks,[e]:{...n,requires:[...s,...o]}}},state:t.state}}function Gh(t,e,r){let n=t.config.tasks[e];if(!n)return t;let s=ct(n),o=s.filter(a=>!r.includes(a));return o.length===s.length?t:{config:{...t.config,tasks:{...t.config.tasks,[e]:{...n,requires:o}}},state:t.state}}function Kh(t,e,r){let n=t.config.tasks[e];if(!n)return t;let s=Ee(n),o=r.filter(a=>!s.includes(a));return o.length===0?t:{config:{...t.config,tasks:{...t.config.tasks,[e]:{...n,provides:[...s,...o]}}},state:t.state}}function Uh(t,e,r){let n=t.config.tasks[e];if(!n)return t;let s=Ee(n),o=s.filter(a=>!r.includes(a));return o.length===s.length?t:{config:{...t.config,tasks:{...t.config.tasks,[e]:{...n,provides:o}}},state:t.state}}function Ar(t){return {version:1,config:t.config,state:t.state,snapshotAt:new Date().toISOString()}}function xn(t){if(!t||typeof t!="object")throw new Error("Invalid snapshot: expected an object");let e=t;if(!e.config||typeof e.config!="object")throw new Error('Invalid snapshot: missing or invalid "config"');if(!e.state||typeof e.state!="object")throw new Error('Invalid snapshot: missing or invalid "state"');let r=e.config,n=e.state;if(!r.settings||typeof r.settings!="object")throw new Error("Invalid snapshot: config.settings missing");if(!r.tasks||typeof r.tasks!="object")throw new Error("Invalid snapshot: config.tasks missing");if(!n.tasks||typeof n.tasks!="object")throw new Error("Invalid snapshot: state.tasks missing");if(!Array.isArray(n.availableOutputs))throw new Error("Invalid snapshot: state.availableOutputs must be an array");return {config:r,state:n}}function nc(){return {status:"not-started",executionCount:0,retryCount:0,lastEpoch:0,messages:[],progress:null}}function Jh(t,e){let r=new Date().toISOString();switch(e){case "stop":return {...t,status:"stopped",lastUpdated:r};case "pause":return {...t,status:"paused",lastUpdated:r};case "resume":return {...t,status:"running",lastUpdated:r};default:return t}}function Ir(t){let{config:e,state:r}=t,n=Ju(e);if(Object.keys(n).length===0)return {eligible:[],pending:[],unresolved:[],blocked:[],conflicts:{}};let o=Hh(n),a=Wu(e,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=Hu(m,e.settings),h=S!=="once";if(p?.status===ut.RUNNING||No(p))continue;let f=zu(m);if(f!==void 0&&p&&p.executionCount>=f||m.circuit_breaker&&p&&p.executionCount>=m.circuit_breaker.max_executions||!h&&p?.status===ut.COMPLETED)continue;if(h&&p?.status===ut.COMPLETED){let _=ct(m),$=false;switch(S){case "data-changed":{_.length>0&&_.some(q=>{for(let[F,re]of Object.entries(n))if(Ee(re).includes(q)){let U=r.tasks[F];if(!U)continue;let de=p.lastConsumedHashes?.[q];return U.lastDataHash==null?U.executionCount>p.lastEpoch:U.lastDataHash!==de}return false})||($=true);break}case "epoch-changed":{_.length>0&&_.some(q=>{for(let[F,re]of Object.entries(n))if(Ee(re).includes(q)){let U=r.tasks[F];if(U&&U.executionCount>p.lastEpoch)return true}return false})||($=true);break}case "time-based":{let N=m.refreshInterval??0;if(N<=0){$=true;break}let q=p.completedAt;if(!q){$=true;break}(Date.now()-Date.parse(q))/1e3<N&&($=true);break}case "manual":$=true;break}if($)continue}let g=ct(m);if(g.length===0){u.push(y);continue}let k=[],w=[],C=[];for(let _ of g){if(i.has(_))continue;let $=o[_]||[];$.length===0?k.push(_):$.every(q=>No(r.tasks[q]))?C.push({token:_,failedProducer:$[0]}):w.push(_);}k.length>0?d.push({taskName:y,missingTokens:k}):C.length>0?l.push({taskName:y,failedTokens:C.map(_=>_.token),failedProducers:[...new Set(C.map(_=>_.failedProducer))]}):w.length>0?c.push({taskName:y,waitingOn:w}):u.push(y);}let b={};if(u.length>1){let y=Yu(u,n);for(let[m,p]of Object.entries(y))p.length>1&&(b[m]=p);}return {eligible:u,pending:c,unresolved:d,blocked:l,conflicts:b}}function Hh(t){let e={};for(let[r,n]of Object.entries(t)){for(let s of Ee(n))e[s]||(e[s]=[]),e[s].push(r);if(n.on)for(let s of Object.values(n.on))for(let o of s)e[o]||(e[o]=[]),e[o].includes(r)||e[o].push(r);if(n.on_failure)for(let s of n.on_failure)e[s]||(e[s]=[]),e[s].includes(r)||e[s].push(r);}return e}var Pr=class{buffer=[];append(e){this.buffer.push(e);}drain(){let e=this.buffer;return this.buffer=[],e}get size(){return this.buffer.length}};function qo(t){let e=Do(t);return zh(e)}function Do(t){if(t==null||typeof t!="object")return JSON.stringify(t);if(Array.isArray(t))return "["+t.map(Do).join(",")+"]";let e=t;return "{"+Object.keys(e).sort().map(n=>JSON.stringify(n)+":"+Do(e[n])).join(",")+"}"}function zh(t){let e=0xcbf29ce484222325n,r=0x100000001b3n,n=0xffffffffffffffffn;for(let s=0;s<t.length;s++)e^=BigInt(t.charCodeAt(s)),e=e*r&n;return e.toString(16).padStart(16,"0")}function Wh(t){if(typeof Buffer<"u")return Buffer.from(t,"utf8").toString("base64url");if(typeof btoa=="function"){let e=new TextEncoder().encode(t),r="";for(let n of e)r+=String.fromCharCode(n);return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}throw new Error("No base64 encoder available in this runtime")}function Yh(t){if(typeof Buffer<"u")return Buffer.from(t,"base64url").toString("utf8");if(typeof atob=="function"){let e=t.replace(/-/g,"+").replace(/_/g,"/"),r=e+"=".repeat((4-e.length%4)%4),n=atob(r),s=new Uint8Array(n.length);for(let o=0;o<n.length;o++)s[o]=n.charCodeAt(o);return new TextDecoder().decode(s)}throw new Error("No base64 decoder available in this runtime")}function sc(t){let e=JSON.stringify({t,n:Date.now().toString(36)+Math.random().toString(36).slice(2,6)});return Wh(e)}function Xh(t){try{let e=JSON.parse(Yh(t));return typeof e?.t=="string"?{taskName:e.t}:null}catch{return null}}function oc(t,e,r){let{handlers:n,onDrain:s}=e,o=new Pr,a="state"in t&&"config"in t?t:En(t),i=false,u=new Set,c=new Map(Object.entries(n)),d=new Pr,l=false,b=false;function y(){if(!i){if(l){b=true;return}l=true;try{do b=!1,m();while(b)}finally{l=false;}}}function m(){let f=d.drain(),g=o.drain(),k=[...f,...g];k.length>0&&(a=rc(a,k));let w=Ir(a);k.length>0&&s?.(k,a,w);for(let C of w.eligible)h(C);for(let C of k)if(C.type==="task-progress"){let{taskName:_,update:$}=C;if(!a.config.tasks[_])continue;let q=a.state.tasks[_];if(!q||q.status!=="running")continue;let F=sc(_),re=S(_,F,$).catch(U=>{i||(d.append({type:"task-failed",taskName:_,error:U.message??String(U),timestamp:new Date().toISOString()}),y());}).finally(()=>{u.delete(re);});u.add(re);}}function p(f){let k=a.config.tasks[f].requires??[],w=new Map;for(let[_,$]of Object.entries(a.config.tasks))for(let N of $.provides??[])w.set(N,_);let C={};for(let _ of k){let $=w.get(_);$?C[_]=a.state.tasks[$]?.data:C[_]=void 0;}return C}async function S(f,g,k){let w=a.config.tasks[f],C=w.taskHandlers??[],_=p(f);for(let $ of C){let N=c.get($);if(!N)throw new Error(`Handler '${$}' not found in registry (task '${f}')`);let q={nodeId:f,state:_,taskState:a.state.tasks[f],config:w,callbackToken:g,update:k};if(await N(q)==="task-initiate-failure")throw new Error(`Handler '${$}' returned task-initiate-failure (task '${f}')`)}}function h(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 w=sc(f),C=S(f,w).catch(_=>{i||(d.append({type:"task-failed",taskName:f,error:_.message??String(_),timestamp:new Date().toISOString()}),y());}).finally(()=>{u.delete(C);});u.add(C);}return {push(f){i||(f.type==="task-completed"&&f.data&&!f.dataHash&&(f={...f,dataHash:qo(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:qo(g.data)}):o.append(g);y();}},resolveCallback(f,g,k){if(i)return;let w=Xh(f);if(!w)return;let{taskName:C}=w;if(a.config.tasks[C]){if(k&&k.length>0)o.append({type:"task-failed",taskName:C,error:k.join("; "),timestamp:new Date().toISOString()});else {let _=g&&Object.keys(g).length>0?qo(g):void 0;o.append({type:"task-completed",taskName:C,data:g,dataHash:_,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 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 Zh=createRequire(import.meta.url),Tn=Zh("./jsonata-sync.cjs"),uc=Tn;function ac(t,e){if(!e||!t)return;let r=e.split("."),n=t;for(let s=0;s<r.length;s++){if(n==null)return;n=n[r[s]];}return n}function cc(t,e,r){let n=e.split("."),s=t;for(let o=0;o<n.length-1;o++)(s[n[o]]==null||typeof s[n[o]]!="object")&&(s[n[o]]={}),s=s[n[o]];s[n[n.length-1]]=r;}async function eg(t,e){if(!t?.compute?.length)return t;t.card_data||(t.card_data={}),t.computed_values={},t._sourcesData=e?.sourcesData??{};let r=t.requires??{},n={card_data:t.card_data,requires:r,expects_data:r,fetched_sources:t._sourcesData,data:t.computed_values,computed_values:t.computed_values};for(let s of t.compute)try{let o=await Tn(s.expr).evaluate(n);cc(t.computed_values,s.bindTo,o),n.computed_values=t.computed_values;}catch{}return t}function tg(t,e){if(!t?.compute?.length)return {ok:true,node:t};t.card_data||(t.card_data={}),t.computed_values={},t._sourcesData=e?.sourcesData??{};let r=t.requires??{},n={card_data:t.card_data,requires:r,expects_data:r,fetched_sources:t._sourcesData,data:t.computed_values,computed_values:t.computed_values},s=[];for(let o of t.compute)try{let a=uc(o.expr).evaluate(n);cc(t.computed_values,o.bindTo,a),n.computed_values=t.computed_values;}catch(a){let i=a instanceof Error?a.message:String(a);s.push({bindTo:o.bindTo,error:i});}return s.length>0?{ok:true,node:t,errors:s}:{ok:true,node:t}}async function rg(t,e,r){let n={...r??{},card_data:e.card_data??{},requires:e.requires??{},fetched_sources:e._sourcesData??{},computed_values:e.computed_values??{}};return Tn(t).evaluate(n)}function ng(t,e){return e.startsWith("fetched_sources.")?ac(t._sourcesData??{},e.slice(16)):ac(t,e)}var ic=new Set(["metric","table","editable-table","chart","form","filter","list","notes","todo","alert","narrative","badge","text","markdown","ref","custom","actions"]),sg=new Set(["id","meta","requires","provides","view","card_data","compute","source_defs"]);function og(t){let e=[];if(!t||typeof t!="object"||Array.isArray(t))return {ok:false,errors:["Node must be a non-null object"]};let r=t;(typeof r.id!="string"||!r.id)&&e.push("id: required, must be a non-empty string");for(let n of Object.keys(r))sg.has(n)||e.push(`Unknown top-level key: "${n}"`);if((r.card_data==null||typeof r.card_data!="object"||Array.isArray(r.card_data))&&e.push("card_data: required, must be an object"),r.meta!=null)if(typeof r.meta!="object"||Array.isArray(r.meta))e.push("meta: must be an object");else {let n=r.meta;n.title!=null&&typeof n.title!="string"&&e.push("meta.title: must be a string"),n.tags!=null&&!Array.isArray(n.tags)&&e.push("meta.tags: must be an array");}if(r.requires!=null&&!Array.isArray(r.requires)&&e.push("requires: must be an array of strings"),r.provides!=null&&(Array.isArray(r.provides)?r.provides.forEach((n,s)=>{if(!n||typeof n!="object"||Array.isArray(n))e.push(`provides[${s}]: must be an object with bindTo and ref`);else {let o=n;(typeof o.bindTo!="string"||!o.bindTo)&&e.push(`provides[${s}]: missing required "bindTo" string`),(typeof o.ref!="string"||!o.ref)&&e.push(`provides[${s}]: missing required "ref" string`);}}):e.push("provides: must be an array of { bindTo, ref } bindings")),r.compute!=null&&(Array.isArray(r.compute)?r.compute.forEach((n,s)=>{if(!n||typeof n!="object"||Array.isArray(n))e.push(`compute[${s}]: must be a compute step object`);else {let o=n;(typeof o.bindTo!="string"||!o.bindTo)&&e.push(`compute[${s}]: missing required "bindTo" property`),(typeof o.expr!="string"||!o.expr)&&e.push(`compute[${s}]: missing required "expr" string (JSONata expression)`);}}):e.push("compute: must be an array of compute steps")),r.source_defs!=null)if(!Array.isArray(r.source_defs))e.push("source_defs: must be an array");else {let n=new Set,s=new Set;r.source_defs.forEach((o,a)=>{if(!o||typeof o!="object"||Array.isArray(o))e.push(`source_defs[${a}]: must be an object`);else {let i=o;typeof i.bindTo!="string"||!i.bindTo?e.push(`source_defs[${a}]: missing required "bindTo" property`):(n.has(i.bindTo)&&e.push(`source_defs[${a}]: bindTo "${i.bindTo}" is not unique across source_defs`),n.add(i.bindTo)),typeof i.outputFile!="string"||!i.outputFile?e.push(`source_defs[${a}]: missing required "outputFile" property`):(s.has(i.outputFile)&&e.push(`source_defs[${a}]: outputFile "${i.outputFile}" is not unique across source_defs`),s.add(i.outputFile)),i.optionalForCompletionGating!=null&&typeof i.optionalForCompletionGating!="boolean"&&e.push(`source_defs[${a}]: optionalForCompletionGating must be a boolean`);}});}if(r.view!=null)if(typeof r.view!="object"||Array.isArray(r.view))e.push("view: must be an object");else {let n=r.view;!Array.isArray(n.elements)||n.elements.length===0?e.push("view.elements: required, must be a non-empty array"):n.elements.forEach((s,o)=>{if(!s||typeof s!="object"){e.push(`view.elements[${o}]: must be an object`);return}!s.kind||typeof s.kind!="string"?e.push(`view.elements[${o}].kind: required, must be a string`):ic.has(s.kind)||e.push(`view.elements[${o}].kind: unknown kind "${s.kind}". Valid: ${[...ic].join(", ")}`),s.data!=null&&(typeof s.data!="object"||Array.isArray(s.data))&&e.push(`view.elements[${o}].data: must be an object`);}),n.layout!=null&&(typeof n.layout!="object"||Array.isArray(n.layout))&&e.push("view.layout: must be an object"),n.features!=null&&(typeof n.features!="object"||Array.isArray(n.features))&&e.push("view.features: must be an object");}return {ok:e.length===0,errors:e}}async function ag(t,e){if(!t||t.length===0)return [];let r={card_data:e.card_data??{},requires:e.requires??{}};return Promise.all(t.map(async n=>{let s={};if(n.projections&&typeof n.projections=="object"&&!Array.isArray(n.projections)){for(let[o,a]of Object.entries(n.projections))if(typeof a=="string"&&a.trim().length>0)try{s[o]=await Tn(a).evaluate(r);}catch{s[o]=void 0;}}return {...n,_projections:s}}))}function ig(t,e){if(!t||t.length===0)return [];let r={card_data:e.card_data??{},requires:e.requires??{}};return t.map(n=>{let s={};if(n.projections&&typeof n.projections=="object"&&!Array.isArray(n.projections)){for(let[o,a]of Object.entries(n.projections))if(typeof a=="string"&&a.trim().length>0)try{s[o]=uc(a).evaluate(r);}catch{s[o]=void 0;}}return {...n,_projections:s}})}var dt={run:eg,runSync:tg,eval:rg,resolve:ng,validate:og,enrichSources:ag,enrichSourcesSync:ig};function An(t){return JSON.stringify(t)}function In(t){let e;try{e=JSON.parse(t);}catch{throw new Error(`parseExecutionRef: invalid JSON \u2014 ${t}`)}if(typeof e!="object"||e===null||typeof e.howToRun!="string"||typeof e.whatToRun!="string")throw new Error(`parseExecutionRef: missing required fields howToRun/whatToRun \u2014 ${t}`);return e}function Pn(t,e){function r(){return t.readIndex()??{}}function n(s,o,a){let i=String(o||"").split(".").filter(Boolean);if(i.length===0)return a&&typeof a=="object"&&!Array.isArray(a)?a:{value:a};let u={...s},c=u;for(let d=0;d<i.length-1;d++){let l=i[d],b=c[l],y=b&&typeof b=="object"&&!Array.isArray(b)?{...b}:{};c[l]=y,c=y;}return c[i[i.length-1]]=a,u}return {readCard(s){let o=r()[s];return !o||!t.cardExists(o.key)?null:t.readCard(o.key)},readCardKey(s){return r()[s]?.key??null},readAllCards(){let s=[];for(let[o,a]of Object.entries(r())){if(!t.cardExists(a.key))continue;let i=t.readCard(a.key);i?s.push(i):e?.(`[card-store] could not read card "${o}" at key "${a.key}"`);}return s},readChecksumIndex(){let s={};for(let[o,a]of Object.entries(r()))s[o]=a.checksum;return s},changedSince(s){let o=r(),a=[];for(let[i,u]of Object.entries(o))s[i]!==u.checksum&&a.push(i);for(let i of Object.keys(s))o[i]||a.push(i);return a},validateUpsert(s,o){let a=r(),i=a[s],u=Object.entries(a).find(([,c])=>c.key===o);return i&&i.key!==o?{ok:false,error:`Card id "${s}" is already mapped to key "${i.key}", cannot remap to "${o}"`}:u&&u[0]!==s?{ok:false,error:`Key "${o}" is already mapped to card id "${u[0]}", cannot remap to "${s}"`}:{ok:true}},writeCard(s,o,a){let i=r(),u=a??i[s]?.key??t.defaultCardKey(s),c=t.writeCard(u,o);i[s]={key:u,checksum:c,updatedAt:new Date().toISOString()},t.writeIndex(i);},patchCard(s,o,a){let i=r(),u=i[s];if(!u||!t.cardExists(u.key))throw new Error(`card "${s}" not found`);let c=t.readCard(u.key);if(!c||typeof c!="object"||Array.isArray(c))throw new Error(`card "${s}" is not patchable`);let d=n(c,o,a),l=t.writeCard(u.key,d);i[s]={key:u.key,checksum:l,updatedAt:new Date().toISOString()},t.writeIndex(i);},removeCard(s){let o=r();o[s]&&(delete o[s],t.writeIndex(o));},readIndex(){return r()}}}function Fo(t,e){return {readSourceData(r,n){let s=t.read(`${r}/${n}`);if(s==null)return null;let o=s.trim();if(!o)return null;try{return JSON.parse(o)}catch{return o}},ingestSourceDataStaged(r,n,s,o){let a=e(s);t.write(`${r}/.staged/${o}/${n}`,a);},commitSourceData(r,n,s){let o=`${r}/.staged/${s}/${n}`,a=t.read(o);return a==null?false:(t.write(`${r}/${n}`,a),t.remove(o),true)},hasSource(r,n){return t.exists(`${r}/${n}`)}}}function fc(t){function e(r){let n=t.readAllEntries();if(!r)return n;let s=n.findIndex(o=>o.id===r);return s===-1?n:n.slice(s+1)}return {readEntriesAfterCursor(r){let n=e(r);return n.length===0?{events:[],newCursor:r}:{events:n.map(s=>s.event),newCursor:n[n.length-1].id}},pendingCount(r){return e(r).length},appendEvent(r){t.appendEntry({id:t.generateId(),event:r});}}}function pc(t,e){return {appendEntries(r,n){if(!r||n.length===0)return;let s=t.read(r)??[];t.write(r,[...s,...n]);},dispatchEntriesForJournalId(r,n){if(!r)return;let s=t.read(r);if(!(!s||s.length===0)){for(let o of s)try{n(o);}catch(a){let i=a instanceof Error?a.message:String(a);try{e(o,i);}catch{}}t.delete(r);}}}}var Or="v1",lt="board/graph",mc="board/lastJournalProcessedId";function dc(t){return `cards/${t}/runtime`}function hc(t){return {readRuntime(e){return t.read(dc(e))??{_sources:{}}},writeRuntime(e,r){t.write(dc(e),r);}}}function ug(t,e){let r={...t};for(let n of e.deleteKeys)delete r[n];return {...r,...e.shallowMerge}}function gc(t){return {readSnapshot(e){return t.readValues(e)},commitSnapshot(e,r){if(r.schemaVersion!==Or)throw new Error(`Unsupported snapshot schema version: ${r.schemaVersion}`);let n=t.readValues(e);if(n.version!==r.expectedVersion)return {ok:false,reason:"version-mismatch",currentVersion:n.version};let s=ug(n.values,r);return {ok:true,newVersion:t.writeValues(e,s,r.deleteKeys)}}}}function Mo(t){function e(r){let n=t.read(r);return n==null?null:typeof n=="string"?n:JSON.stringify(n)}return {readTaskExecutorRef(){let r=e("task-executor");if(r?.trim())return In(r.trim())},writeTaskExecutorRef(r){t.write("task-executor",An(r));},readChatHandlerRef(){let r=e("chat-handler");if(r?.trim())return In(r.trim())},writeChatHandlerRef(r){t.write("chat-handler",An(r));},readCardStoreRef(){return e("card-store-ref")},writeCardStoreRef(r){t.write("card-store-ref",r);},readOutputsStoreRef(){return e("outputs-store-ref")},writeOutputsStoreRef(r){t.write("outputs-store-ref",r);},readChatHandler(){return e("chat-handler")?.trim()||void 0},writeChatHandler(r){t.write("chat-handler",r);}}}function yc(t){return {writeComputedValues(e,r){t.write(`cards/${e}/computed_values`,r);},readComputedValues(e){return t.read(`cards/${e}/computed_values`)},readAllComputedValues(){let e={};for(let r of t.listKeys("cards/")){let n=r.match(/^cards\/([^/]+)\/computed_values$/);n&&(e[n[1]]=t.read(r));}return e},writeDataObjects(e){for(let[r,n]of Object.entries(e))r&&t.write(`data-objects/${r}`,n);},readDataObject(e){return t.read(`data-objects/${e}`)},readAllDataObjects(){let e={};for(let r of t.listKeys("data-objects/"))e[r.slice(13)]=t.read(r);return e},writeStatusSnapshot(e){t.write("status",e);},readStatusSnapshot(){return t.read("status")}}}function cg(t){return t?.lastRequestedAt?!t.lastFetchedAt||t.lastFetchedAt<t.lastRequestedAt:false}function dg(t,e){return t?.lastRequestedAt?cg(t)?"in-flight":!t.lastFetchedAt||t.lastFetchedAt<e?"dispatch":"idle":"dispatch"}function lg(t,e){let r={...t,lastFetchedAt:e};return delete r.lastError,r}function lc(t,e){let r={...t,lastError:e};return delete r.lastFetchedAt,r}function On(t,e){let r=e.state.tasks,n=e.config.tasks,s=Object.keys(r),o=Ir(e),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 h=u.get(S)??[];h.push(m),u.set(S,h);}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 h=S.requires??[],f=S.provides??[],g=Object.keys(p.data??{}).sort(),k=h.filter(q=>e.state.availableOutputs.includes(q)),w=h.filter(q=>!e.state.availableOutputs.includes(q)),C=i.get(m)??w,_=new Set;for(let q of f)for(let F of u.get(q)??[])F!==m&&_.add(F);let $=p.failedAt,N=p.error?{message:p.error,code:"TASK_FAILED",at:$,source:"task-runtime"}:void 0;return {name:m,status:p.status,error:N,requires:h,requires_satisfied:k,requires_missing:w,provides_declared:f,provides_runtime:g,blocked_by:C,unblocks:Array.from(_).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},b=new Set;for(let m of Object.values(n))for(let p of m.requires??[])b.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:t}},summary:{card_count:s.length,completed:a.completed,eligible:o.eligible.length,pending:a.pending,blocked:a.blocked,unresolved:a.unresolved,failed:a.failed,in_progress:a.in_progress,orphan_cards:y,topology:{edge_count:Array.from(b).length,max_fan_out_card:l.name,max_fan_out:l.fanOut}},cards:c}}function fg(){return new Date().toISOString()}function vc(t,e,r,n,s,o,a){return async i=>{let u=[],c=r.cardStore.readCard(i.nodeId);if(!c)return "task-initiate-failure";let d=c.id,l=c.card_data??{},b=c.source_defs??[],y=b.filter(M=>M.optionalForCompletionGating!==true),m=r.cardRuntimeStore.readRuntime(d),p=false,S=()=>{p&&(r.cardRuntimeStore.writeRuntime(d,m),p=false);},h=M=>({...m._sources[M]??{}}),f=(M,V)=>{m._sources[M]=V,p=true;},g=i.taskState?.executionCount??0,k=m._lastExecutionCount;if(typeof k=="number"&&k!==g&&(m._sources={},p=true),k!==g&&(m._lastExecutionCount=g,p=true),i.update){let M=i.update,V=M.outputFile;if(V){let R=h(V);if(M.failure)f(V,lc(R,M.reason??"unknown"));else {let v=M.rqt;if(!R.lastFetchedAt||v>R.lastFetchedAt){let E=typeof M.deliveryToken=="string"?M.deliveryToken:void 0,A=false;E&&(A=r.fetchedSourcesStore.commitSourceData(d,V,E)),A?f(V,lg(R,v)):f(V,lc(R,`source delivery commit failed for ${V} token=${String(E)}`));}}S();}}let w={};for(let M of b)if(M.outputFile){let V=r.fetchedSourcesStore.readSourceData(d,M.outputFile);V!==null&&(w[M.bindTo]=V);}let C={};for(let[M,V]of Object.entries(i.state??{}))if(V!==null&&typeof V=="object"&&!Array.isArray(V)){let R=V[M];C[M]=R!==void 0?R:V;}else C[M]=V;let _={id:d,card_data:{...l},requires:C,source_defs:b,compute:c.compute};_._sourcesData=w,c.compute&&dt.runSync(_,{sourcesData:w}),(o??r.outputStore.writeComputedValues.bind(r.outputStore))(d,_.computed_values??{});let $={...c},N=dt.enrichSourcesSync(Array.isArray(c.source_defs)?c.source_defs:void 0,{card_data:c.card_data,requires:C}),q=t.value;$.source_defs=Array.isArray(N)?N.map(M=>({...M,boardDir:typeof M.boardDir=="string"&&M.boardDir?M.boardDir:q})):N;let F=fg(),re=i.update?void 0:F,U=y.filter(M=>{let V=M.outputFile;if(typeof V!="string"||!V)return true;let R=h(V);re&&(R={...R,queueRequestedAt:re},f(V,R));let v=R.queueRequestedAt??R.lastRequestedAt??F,E=dg(R,v);return E==="in-flight"?false:E==="dispatch"});if(S(),U.length>0){let M=false,V=F;for(let R of U){let v=R.outputFile;if(typeof v!="string"||!v)continue;let E=h(v),A=E.queueRequestedAt??F;f(v,{...E,lastRequestedAt:A}),V=A,M=true;}return M&&S(),M&&(u.push({taskKind:"source-fetch",payload:{boardRef:ie(t),enrichedCard:$,callbackToken:i.callbackToken,rqt:V}}),r.executionRequestStore.appendEntries(e,u)),"task-initiated"}let de=c.provides??[],Fe={};for(let{bindTo:M,ref:V}of de)Fe[M]=dt.resolve(_,V);return (a??r.outputStore.writeDataObjects.bind(r.outputStore))(Fe),b.filter(M=>{if(M.optionalForCompletionGating!==true)return false;let V=h(M.outputFile);return !V.lastRequestedAt||!V.lastFetchedAt?true:V.lastFetchedAt<=V.lastRequestedAt}).length>0&&u.push({taskKind:"source-fetch",payload:{boardRef:ie(t),enrichedCard:$,callbackToken:i.callbackToken,rqt:F}}),n(i.nodeId,Fe),u.length>0&&r.executionRequestStore.appendEntries(e,u),"task-initiated"}}var jn={settings:{completion:"manual",refreshStrategy:"data-changed"},tasks:{}};function bc(t){return {[lt]:t.graph,[mc]:t.lastDrainedJournalId}}function Sc(t){let e=t[lt],r=t[mc];if(!e||typeof e!="object")throw new Error(`State snapshot is missing required key: ${lt}`);return {graph:e,lastDrainedJournalId:typeof r=="string"?r:""}}function wc(t){let e=t.requires,r=t.provides?.map(n=>n.bindTo)??[];return {requires:e&&e.length>0?e:void 0,provides:r,taskHandlers:["card-handler"],description:t.meta?.title??t.id}}function Q(t){return t!==void 0?{status:"success",data:t}:{status:"success"}}function j(t){return {status:"fail",error:t}}function ee(t){return {status:"error",error:t instanceof Error?t.message:String(t)}}function pg(t){let e=new TextEncoder().encode(t),r=Array.from(e,n=>String.fromCharCode(n)).join("");return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function _c(t){let e=t.replace(/-/g,"+").replace(/_/g,"/"),r=e+"=".repeat((4-e.length%4)%4),n=atob(r),s=Uint8Array.from(n,o=>o.charCodeAt(0));return new TextDecoder().decode(s)}function Nn(t){try{let e=JSON.parse(_c(t));return typeof e?.t=="string"?{taskName:e.t}:null}catch{return null}}function mg(t){return pg(JSON.stringify(t))}function kc(t){try{let e=JSON.parse(_c(t));return typeof e?.cbk=="string"&&typeof e?.cid=="string"&&typeof e?.b=="string"&&typeof e?.d=="string"?e:null}catch{return null}}function xe(){return new Date().toISOString()}function jr(t,e){let r=e.onWarn??(()=>{}),n=ie(t);function s(R){if(R.length!==0)try{let v=e.publishBoardChangeNotifications?.(R);v&&typeof v.catch=="function"&&v.catch(E=>r(`[board-live-cards-public] publishBoardChangeNotifications failed: ${E instanceof Error?E.message:String(E)}`));}catch(v){r(`[board-live-cards-public] publishBoardChangeNotifications failed: ${v instanceof Error?v.message:String(v)}`);}}function o(){let R=i().readCardStoreRef();if(!R)throw new Error(`Board at ${t.value} has no card store configured. Run: init --base-ref <ref> --store-ref <b64-ref>`);let v=e.kvStorageForRef(R);return {readIndex(){return v.read("_index")},writeIndex(E){v.write("_index",E);},readCard(E){return v.read(E)},writeCard(E,A){return v.write(E,A),e.hashFn(A)},cardExists(E){return v.read(E)!==null},defaultCardKey(E){return E}}}let a={readValues(R){let v=e.kvStorage("state-snapshot"),E=v.listKeys().sort();if(E.length===0)return {version:null,values:{}};let A={};for(let Y of E)A[Y]=v.read(Y);return {version:e.hashFn(A),values:A}},writeValues(R,v,E){let A=e.kvStorage("state-snapshot");for(let Y of E)A.delete(Y);for(let[Y,te]of Object.entries(v))A.write(Y,te);return e.hashFn(v)}},i=()=>Mo(e.kvStorage("config")),u=()=>gc(a),c=()=>fc(e.journalAdapter()),d=()=>Pn(o(),r),l=()=>{let R=i().readOutputsStoreRef();if(!R)throw new Error(`Board at ${t.value} has no outputs store configured. Run: init --outputs-store-ref <b64-ref>`);return yc(e.kvStorageForRef(R))};function b(){return !!u().readSnapshot(t.value).values[lt]}function y(){let R=u().readSnapshot(t.value);if(!R.values[lt])throw new Error(`Board not initialized at ${t.value}`);return Sc(R.values)}function m(R,v){let E=u().commitSnapshot(t.value,{schemaVersion:Or,expectedVersion:v,commitId:e.genId(),committedAt:xe(),deleteKeys:[],shallowMerge:bc(R)});if(!E.ok)throw new Error(`Snapshot commit failed (version mismatch): expected=${v??"null"} current=${E.currentVersion??"null"}`)}function p(R){c().appendEvent(R);}async function S(){let R=(I,D)=>{let ae=I.payload,Qe=(ae?.enrichedCard??{}).id??ae?.cardId??"unknown";p({type:"task-failed",taskName:Qe,error:D,timestamp:xe()});},v=pc(e.kvStorage("execution-requests"),R),E=hc(e.kvStorage("card-runtime")),A=Fo(e.blobStorage("sources"),I=>e.resolveBlob(I)),Y=new Map,te={readRuntime(I){return Y.get(I)??E.readRuntime(I)},writeRuntime(I,D){Y.set(I,D);}},Ce=[],$e=new Map,Ke={readSourceData(I,D){let ae=`${I}/${D}`;return $e.has(ae)?$e.get(ae):A.readSourceData(I,D)},ingestSourceDataStaged(I,D,ae,Pt){A.ingestSourceDataStaged(I,D,ae,Pt);},commitSourceData(I,D,ae){let Pt=`${I}/.staged/${ae}/${D}`,Fr=e.blobStorage("sources").read(Pt);if(Fr==null)return false;let Ot=`${I}/${D}`,Ko=Fr.trim();try{$e.set(Ot,JSON.parse(Ko));}catch{$e.set(Ot,Ko);}return Ce.push({cardId:I,outputFile:D,deliveryToken:ae}),true},hasSource(I,D){let ae=`${I}/${D}`;return $e.has(ae)?true:A.hasSource(I,D)}},Me={cardStore:d(),cardRuntimeStore:te,fetchedSourcesStore:Ke,outputStore:l(),executionRequestStore:v},mt=y(),ht=xn(mt.graph),{events:At,newCursor:It}=c().readEntriesAfterCursor(mt.lastDrainedJournalId),gt=[],qn=[],Dn=[],Vo=new Map,Cc=(I,D)=>{gt.push({type:"task-completed",taskName:I,data:D,timestamp:xe()});},Bo=(I,D)=>p({type:"task-failed",taskName:I,error:D,timestamp:xe()}),qr=oc(ht,{handlers:{"card-handler":vc(t,It,Me,Cc,Bo,(I,D)=>{qn.push({cardId:I,values:D});},I=>{Dn.push(I);})}});for(gt=At;gt.length>0;){let I=gt;gt=[];for(let D of I)if(D.type==="task-restart"){let ae=Me.cardStore.readCard(D.taskName);ae&&Vo.set(D.taskName,ae);}qr.pushAll(I),await qr.waitForHandlers();}let Go=qr.getState();await qr.dispose({wait:true});let $c=u().readSnapshot(t.value).version;m({lastDrainedJournalId:It,graph:Ar(Go)},$c);for(let{cardId:I,values:D}of qn)Me.outputStore.writeComputedValues(I,D);for(let I of Dn)Me.outputStore.writeDataObjects(I);for(let[I,D]of Y)E.writeRuntime(I,D);for(let{cardId:I,outputFile:D,deliveryToken:ae}of Ce)A.commitSourceData(I,D,ae);let Dr;try{Dr=On(n,Go),Me.outputStore.writeStatusSnapshot(Dr);}catch(I){r(`[board-live-cards-public] status publish failed: ${I instanceof Error?I.message:String(I)}`);}let Xt=[];for(let{cardId:I,values:D}of qn)Xt.push({kind:"computed_values",cardId:I,values:D});for(let I of Dn)for(let[D,ae]of Object.entries(I))D&&Xt.push({kind:"data_object",key:D,payload:ae});for(let[I,D]of Vo)Xt.push({kind:"card_refreshed",cardId:I,card:D});Dr!==void 0&&Xt.push({kind:"status",status:Dr}),s(Xt);let Ec=i().readTaskExecutorRef()??{howToRun:"built-in",whatToRun:ie({kind:"built-in",value:"source-cli-task-executor"})};v.dispatchEntriesForJournalId(It,I=>{if(I.taskKind!=="source-fetch"){r(`[process-accumulated-events] unknown taskKind "${I.taskKind}" \u2014 skipping`);return}let D=I.payload,ae=D.enrichedCard?.id??"unknown",Pt=D.enrichedCard?.source_defs??[];for(let Qe of Pt){if(!Qe.outputFile){r(`[dispatch] source "${Qe.bindTo}" has no outputFile \u2014 skipping`);continue}let Fr=mg({cbk:D.callbackToken,rg:t.value,br:ie(t),cid:ae,b:Qe.bindTo,d:Qe.outputFile,cs:void 0,rqt:D.rqt});e.dispatchExecution(Ec,{source_def:Qe,base_ref:ie(t),callback:{token:Fr,via:e.selfRef}}).catch(Ot=>Bo(ae,Ot instanceof Error?Ot.message:String(Ot)));}});}async function h(){try{let R=()=>{let E=y(),{events:A}=c().readEntriesAfterCursor(E.lastDrainedJournalId);A.length<=0||(h(),e.requestProcessAccumulated?.());},v=await Jo(e.lock,S,R);return Q({ran:v!==!1})}catch(R){return ee(R)}}function f(R){try{let v=R.params?.cardStoreRef;if(!v)return j("init requires params.cardStoreRef \u2014 create a card store with card-store-cli and pass its ref here");if(!b()){let te=En(jn);m({lastDrainedJournalId:"",graph:Ar(te)},null);}let E=R.params?.outputsStoreRef;if(!E)return j("init requires params.outputsStoreRef \u2014 pass the outputs store ref here");let A=i();A.writeCardStoreRef(v),A.writeOutputsStoreRef(E);let Y=R.body??{};Y["task-executor-ref"]&&A.writeTaskExecutorRef(Y["task-executor-ref"]),Y["chat-handler-ref"]&&A.writeChatHandlerRef(Y["chat-handler-ref"]);try{l().writeStatusSnapshot(On(n,xn(y().graph)));}catch{}return Q()}catch(v){return ee(v)}}function g(R){try{let v=l().readStatusSnapshot();if(!v){v=On(n,xn(y().graph));try{l().writeStatusSnapshot(v);}catch{}}return Q(v)}catch(v){return ee(v)}}function k(R){try{let v=R.params?.id;return v?(p({type:"task-removal",taskName:v,timestamp:xe()}),h(),Q()):j("removeCard requires params.id")}catch(v){return ee(v)}}function w(R){try{let v=R.params?.id;return v?(p({type:"task-restart",taskName:v,timestamp:xe()}),h(),Q()):j("retrigger requires params.id")}catch(v){return ee(v)}}async function C(R){return h()}function _(R){try{let v=R.params?.cardId,E=R.params?.all,A=!!R.params?.restart;if(!v&&!E)return j("upsertCard requires --card-id <id> or --all");let Y=E?d().readAllCards().map(te=>te.id):[v];for(let te of Y)if(!d().readCard(te))return j(`Card "${te}" not found in board at ${t.value}`);for(let te of Y){let Ce=d().readCard(te),$e=wc(Ce),Ke=e.hashFn($e),Me=e.kvStorage("card-upsert"),mt=Me.read(te),ht=mt?.taskConfigHash!==Ke;if(!(!ht&&!A)){if(ht){let At=mt?.blobRef??d().readCardKey(te)??te;p({type:"task-upsert",taskName:te,taskConfig:$e,timestamp:xe()}),Me.write(te,{blobRef:At,taskConfigHash:Ke,updatedAt:xe()});}A&&p({type:"task-restart",taskName:te,timestamp:xe()});}}return h(),Q()}catch(v){return ee(v)}}function $(R){try{let v=R.params?.token;if(!v)return j("taskFailed requires params.token");let E=R.params?.error??"unknown error",A=Nn(v);return A?(p({type:"task-failed",taskName:A.taskName,error:E,timestamp:xe()}),h(),Q()):j("Invalid callback token")}catch(v){return ee(v)}}function N(R){try{let v=R.params?.token;if(!v)return j("taskProgress requires params.token");let A=(R.body??{}).update??{},Y=Nn(v);return Y?(p({type:"task-progress",taskName:Y.taskName,update:A,timestamp:xe()}),h(),Q()):j("Invalid callback token")}catch(v){return ee(v)}}function q(R){try{let v=R.params?.token,E=R.params?.ref;if(!v)return j("sourceDataFetched requires params.token");if(!E)return j("sourceDataFetched requires params.ref");let A=kc(v);if(!A)return j("Invalid source token");let{cbk:Y,cid:te,b:Ce,d:$e,cs:Ke,rqt:Me}=A,mt=Fo(e.blobStorage("sources"),gt=>e.resolveBlob(gt)),ht=e.genId();mt.ingestSourceDataStaged(te,$e,Se(E),ht);let At=Nn(Y);if(!At)return j("Invalid callback token embedded in source token");let It=xe();return p({type:"task-progress",taskName:At.taskName,update:{bindTo:Ce,outputFile:$e,fetchedAt:It,deliveryToken:ht,sourceChecksum:Ke,rqt:Me},timestamp:It}),h(),Q()}catch(v){return ee(v)}}function F(R){try{let v=R.params?.token,E=R.params?.reason??"unknown";if(!v)return j("sourceDataFetchFailure requires params.token");let A=kc(v);if(!A)return j("Invalid source token");let{cbk:Y,b:te,d:Ce,cs:$e}=A,Ke=Nn(Y);return Ke?(p({type:"task-progress",taskName:Ke.taskName,update:{bindTo:te,outputFile:Ce,failure:!0,reason:E,sourceChecksum:$e},timestamp:xe()}),h(),Q()):j("Invalid callback token embedded in source token")}catch(v){return ee(v)}}function re(R){try{let v=i().readCardStoreRef();return v?Q({storeRef:v}):j(`Board at ${t.value} has no card store configured`)}catch(v){return ee(v)}}function U(R){try{let v=i().readOutputsStoreRef();return v?Q({storeRef:v}):j(`Board at ${t.value} has no outputs store configured`)}catch(v){return ee(v)}}function de(R){try{let v=R.params?.key;if(!v)return j("getConfig requires params.key");let E=i(),A;switch(v){case "task-executor":A=E.readTaskExecutorRef()??null;break;case "chat-handler":A=E.readChatHandlerRef()??null;break;case "card-store-ref":A=E.readCardStoreRef();break;case "outputs-store-ref":A=E.readOutputsStoreRef();break;default:return j(`getConfig: unknown key "${v}"`)}return Q({value:A})}catch(v){return ee(v)}}function Fe(R){try{let v=R.params?.key;if(!v)return j("getOutputsDataObject requires params.key");let E=l().readDataObject(v);return Q(E)}catch(v){return ee(v)}}function pt(R){try{return Q(l().readAllDataObjects())}catch(v){return ee(v)}}function M(R){try{let v=R.params?.key;if(!v)return j("getOutputsComputedValues requires params.key");let E=l().readComputedValues(v);return Q(E)}catch(v){return ee(v)}}function V(R){try{return Q(l().readAllComputedValues())}catch(v){return ee(v)}}return {init:f,status:g,getCardStoreRef:re,getOutputsStoreRef:U,getConfig:de,getOutputsDataObject:Fe,getAllOutputsDataObjects:pt,getOutputsComputedValues:M,getAllOutputsComputedValues:V,removeCard:k,retrigger:w,processAccumulatedEvents:C,upsertCard:_,taskFailed:$,taskProgress:N,sourceDataFetched:q,sourceDataFetchFailure:F}}function ft(t,e){let r=()=>Mo(e.kvStorage("config"));function n(){let h=r().readCardStoreRef();if(!h)throw new Error(`Board at ${t.value} has no card store configured. Run: init --base-ref <ref> --store-ref <b64-ref>`);let f=e.kvStorageForRef(h);return {readIndex(){return f.read("_index")},writeIndex(g){f.write("_index",g);},readCard(g){return f.read(g)},writeCard(g,k){return f.write(g,k),e.hashFn(k)},cardExists(g){return f.read(g)!==null},defaultCardKey(g){return g}}}let s=()=>Pn(n(),e.onWarn??(()=>{}));function o(h,f){let g=e.validateSchema(f),k=[],w=r().readTaskExecutorRef();if(w&&Array.isArray(f.source_defs))for(let _ of f.source_defs){let $=typeof _.bindTo=="string"?_.bindTo:"(unknown)";try{let N;try{N=e.invokeExecutorSync(w,"validate-source-def",[],{timeout:1e4,input:JSON.stringify(_)});}catch(F){let re=F;if(N=typeof re?.stdout=="string"?re.stdout:"",!N.trim()){k.push(`source "${$}": executor validate-source-def failed \u2014 ${F instanceof Error?F.message:String(F)}`);continue}}let q=JSON.parse(N.trim());if(!q.ok&&Array.isArray(q.errors))for(let F of q.errors)k.push(`source "${$}": ${F}`);}catch(N){k.push(`source "${$}": executor validate-source-def failed \u2014 ${N instanceof Error?N.message:String(N)}`);}}let C=[...g.errors,...k];return Q({cardId:h,isValid:C.length===0,issues:C})}function a(h,f,g){let k=r().readTaskExecutorRef();if(!k)return j("No task-executor registered for this board");let w=typeof h.bindTo=="string"?h.bindTo:"source",C=e.makeTempFilePath(`probe-in-${w}`),_=e.makeTempFilePath(`probe-out-${w}`),$=e.makeTempFilePath(`probe-err-${w}`,".txt"),N={...h,boardDir:t.value,_projections:f},q=ie({kind:"fs-path",value:C}),F=ie({kind:"fs-path",value:_}),re=ie({kind:"fs-path",value:$});e.absoluteBlob.write(C,JSON.stringify(N,null,2));let U=null;try{if(e.invokeExecutorSync(k,"run-source-fetch",["--in-ref",q,"--out-ref",F,"--err-ref",re],{timeout:h.timeout??3e4}),U=e.absoluteBlob.read(_),U===null)return j("Executor produced no output file")}catch(de){let Fe=e.absoluteBlob.read($)?.trim()??(de instanceof Error?de.message:String(de));return j(`Probe failed: ${Fe}`)}finally{try{e.absoluteBlob.remove(C);}catch{}try{e.absoluteBlob.remove($);}catch{}}if(g){let de=Se(g);e.absoluteBlob.write(de.value,U);}else try{e.absoluteBlob.remove(_);}catch{}return Q({bindTo:w,resultSizeBytes:U.length})}function i(h){try{let f=h.params?.cardId,g=h.params?.all;if(!f&&!g)return j("validateCard requires --card-id <id> or --all");let k=g?s().readAllCards().map(C=>C.id):[f],w=[];for(let C of k){let _=s().readCard(C);if(!_){w.push({cardId:C,isValid:!1,issues:[`Card "${C}" not found`]});continue}let $=o(C,_);if($.status!=="success")return $;w.push($.data);}return Q(w)}catch(f){return ee(f)}}function u(h){try{if(!h.body||typeof h.body!="object"||Array.isArray(h.body))return j("validateCardPreflight requires card JSON object in body");let f=h.body,g=f["card-content"]??f,k=typeof g.id=="string"?g.id:"(unknown)",w=o(k,g),C=r().readTaskExecutorRef();if(C)try{let _=e.invokeExecutorSync(C,"validate-card-preflight",[],{timeout:1e4,input:JSON.stringify(g)}),$=JSON.parse(_.trim());if(!$.ok&&Array.isArray($.errors)&&$.errors.length>0){let N=[...w.status==="success"?w.data.issues:[],...$.errors];return Q({cardId:k,isValid:!1,issues:N})}}catch{}return w}catch(f){return ee(f)}}function c(h){try{let f=h.params?.cardId,g=h.params?.sourceIdx,k=h.params?.outRef;if(!f)return j("probeSource requires params.cardId");if(g===void 0)return j("probeSource requires params.sourceIdx");let C=(h.body??{})["mock-projections"]??{},_=s().readCard(f);if(!_)return j(`Card "${f}" not found`);let $=_.source_defs??[];return g<0||g>=$.length?j(`sourceIdx ${g} out of range (card has ${$.length} source(s))`):a($[g],C,k)}catch(f){return ee(f)}}function d(h){try{let f=h.params?.outRef,g=h.body;if(!g)return j('probeTmpSource requires body with "source-def" and "mock-projections"');let k=g["source-def"],w=g["mock-projections"]??{};return k?a(k,w,f):j('probeTmpSource body requires "source-def"')}catch(f){return ee(f)}}function l(h){try{let f=h.params?.sourceIdx,g=h.params?.outRef;if(f===void 0)return j("probeSourcePreflight requires params.sourceIdx");if(!h.body||typeof h.body!="object"||Array.isArray(h.body))return j("probeSourcePreflight requires card JSON object in body");let k=h.body,w=k["card-content"]??k,C=k["mock-projections"]??{},_=w.source_defs??[];if(f<0||f>=_.length)return j(`sourceIdx ${f} out of range (card has ${_.length} source(s))`);let $=_[f],N=r().readTaskExecutorRef();if(N){let q=typeof $.bindTo=="string"?$.bindTo:"source";try{let F={...$,_projections:C},re=e.invokeExecutorSync(N,"probe-source-preflight",[],{timeout:$.timeout??1e4,input:JSON.stringify(F)}),U=JSON.parse(re.trim());return U.ok?Q({bindTo:q,reachable:U.reachable,latencyMs:U.latencyMs,note:U.note}):j(U.error??"Preflight probe failed")}catch{}}return a($,C,g)}catch(f){return ee(f)}}function b(h){try{let f=r().readTaskExecutorRef();if(!f)return j("No task-executor registered for this board");let g=e.invokeExecutorSync(f,"describe-capabilities",[],{timeout:1e4});return Q(JSON.parse(g.trim()))}catch(f){return ee(f)}}function y(h){try{let f=h.body;if(!f||!Array.isArray(f.ops))return j("updatesInCardStore requires body.ops array");let g=f.ops,k=s();for(let w of g){let C=w.op,_=w.id;if(!_)return j('op is missing "id"');if(C==="update"){let $=w["card-content"];if(!$)return j(`update op for "${_}" is missing "card-content"`);k.writeCard(_,$);}else return j(`Unknown op type: "${C??"(none)"}"`)}return Q()}catch(f){return ee(f)}}function m(h){try{let f=h.body;if(!f||!Array.isArray(f.ids))return j("readFromCardStore requires body.ids array");let g=f.ids,k=s(),w=g.map(C=>({id:C,"card-content":k.readCard(C)}));return Q({cards:w})}catch(f){return ee(f)}}function p(h){try{if(!h.body||typeof h.body!="object"||Array.isArray(h.body))return j("evalCardCompute requires a JSON object in body");let f=h.body,g=f["card-content"]??f,k=typeof g.id=="string"?g.id:"(unknown)",w=f["mock-fetched-sources"]??{},C=f["mock-requires"]??{},_=g.compute;if(!_||!Array.isArray(_)||_.length===0)return Q({cardId:k,ok:!0,computed_values:{},errors:[]});let $={id:k,card_data:g.card_data??{},requires:C,source_defs:g.source_defs,compute:_},N=dt.runSync($,{sourcesData:w}),q=N.node.computed_values??{},F=N.errors??[];return Q({cardId:k,ok:F.length===0,computed_values:q,errors:F})}catch(f){return ee(f)}}function S(h){try{if(!h.body||typeof h.body!="object"||Array.isArray(h.body))return j("simulateCardCycle requires a JSON object in body");let f=h.body,g=f["card-content"]??f,k=typeof g.id=="string"?g.id:"(unknown)",w=f["mock-fetched-sources"]??{},C=f["mock-requires"]??{},_=o(k,g),$=_.status==="success"?{isValid:_.data.isValid,issues:_.data.issues}:{isValid:!1,issues:[_.status==="fail"?_.error:"internal error"]},N=g.source_defs??[],q=g.card_data??{},F=[],re=[];if(N.length>0){F=dt.enrichSourcesSync(N,{card_data:q,requires:C});for(let v of F){let E=v.projections,A=v._projections;if(E&&A){for(let Y of Object.keys(E))if(A[Y]===void 0){let te=typeof v.bindTo=="string"?v.bindTo:"(unknown)";re.push({bindTo:te,key:Y,error:`Projection "${Y}" resolved to undefined`});}}}}let U=[],de=f["task-executor-ref"],Fe=(de?.howToRun&&de?.whatToRun?de:void 0)??r().readTaskExecutorRef();for(let v=0;v<F.length;v++){let E=F[v],A=typeof E.bindTo=="string"?E.bindTo:`source_${v}`;if(!Fe){U.push({bindTo:A,skipped:!0,error:"No task executor configured"});continue}try{let Y={...E},te=e.invokeExecutorSync(Fe,"probe-source-preflight",[],{timeout:E.timeout??1e4,input:JSON.stringify(Y)}),Ce=JSON.parse(te.trim());U.push({bindTo:A,reachable:Ce.reachable,latencyMs:Ce.latencyMs,error:Ce.ok?void 0:Ce.error});}catch{U.push({bindTo:A,skipped:!0,error:"Executor does not support probe-source-preflight"});}}let pt=g.compute,M={},V=[];if(pt&&Array.isArray(pt)&&pt.length>0){let v={id:k,card_data:q,requires:C,source_defs:g.source_defs,compute:pt},E=dt.runSync(v,{sourcesData:w});M=E.node.computed_values??{},V=E.errors??[];}let R=$.isValid&&re.length===0&&V.length===0&&U.every(v=>v.reachable!==!1);return Q({cardId:k,ok:R,validation:$,source_probes:U,projection_errors:re,computed_values:M,compute_errors:V})}catch(f){return ee(f)}}return {validateCard:i,validateCardPreflight:u,probeSource:c,probeTmpSource:d,probeSourcePreflight:l,evalCardCompute:p,simulateCardCycle:S,describeTaskExecutorCapabilities:b,updatesInCardStore:y,readFromCardStore:m}}var hg=".board.lock";function gg(t,e){return typeof t=="string"?{cliDir:t,opts:e}:{cliDir:void 0,opts:t}}function yg(t,e){return typeof t=="string"?{cliDir:t,opts:e}:{cliDir:void 0,opts:t}}function Rc(t){if(t)return t;let e=Vr(import.meta.url),r=[e,jt(e,"..","cli","node"),jt(e,"..","..","cli","node")];for(let n of r)try{return Bn(n),n}catch{}throw new Error(`createFsBoardPlatformAdapter: could not resolve a public CLI directory from module dir ${e}`)}function Nr(t,e,r){let{cliDir:n,opts:s}=gg(e,r),o=Rc(n),a=t.value,i=s?.suppressSpawn?"":Bn(o),u={meta:"board-live-cards",howToRun:"local-node",whatToRun:i?ie({kind:"fs-path",value:i}):"",...s?.notifyChannel?{extra:{notifyChannel:s.notifyChannel}}:{}};return {kvStorage:c=>Hn(jt(a,`.${c}`)),blobStorage:c=>c?Gr(jt(a,c)):Gr(a),journalAdapter:()=>da(a),lock:la(jt(a,hg)),selfRef:u,async dispatchExecution(c,d){if(s?.suppressSpawn)return {dispatched:false};try{let l=d.source_def?.bindTo??Mn().slice(0,8),b=Qt(a,`exec-in-${l}`),y=Qt(a,`exec-out-${l}`),m=Qt(a,`exec-err-${l}`,".txt"),p=ie({kind:"fs-path",value:b}),S=ie({kind:"fs-path",value:y}),h=ie({kind:"fs-path",value:m});return ua({kind:"fs-path",value:b}).write(b,JSON.stringify(d,null,2)),ia(c,{subcommand:"run-source-fetch",inRef:p,outRef:S,errRef:h},o),{dispatched:!0}}catch(l){return {dispatched:false,error:l instanceof Error?l.message:String(l)}}},resolveBlob(c){let d=Yo(c.value)?Jn().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=>Hn(Se(c).value),requestProcessAccumulated(){s?.suppressSpawn||ea(o,t,s?.notifyChannel);},publishBoardChangeNotifications(c){if(!s?.notifyChannel||c.length===0)return;let d=c.map(l=>({id:Mn(),ts:new Date().toISOString(),boardRef:ie(t),notification:l}));ta(s.notifyChannel,d,s.onWarn);},onWarn:s?.onWarn}}function xt(t,e,r){let{cliDir:n,opts:s}=yg(e,r),o=Rc(n),a=Nr(t,o,s),i=Gn();return {...a,invokeExecutorSync(u,c,d,l){let{command:b,baseArgs:y}=aa(u,o);return i.executeSync(b,[...y,c,...d],{timeout:l?.timeout??3e4,encoding:"utf-8",input:l?.input})},validateSchema(u){let c=jo(u);return {ok:c.errors.length===0,errors:c.errors}},makeTempFilePath(u,c){return Qt(t.value,u,c)},absoluteBlob:Jn()}}function Lo(t){try{let e=JSON.parse(Buffer.from(t,"base64url").toString());return typeof e.br=="string"?e.br:null}catch{return null}}var Ye=Vr(import.meta.url);function ge(t,e,r){let n=t.indexOf(e),s=n!==-1?t[n+1]:void 0;if(!s)throw new Error(`Missing ${e}
14
- Usage: ${r}`);return s}function Xe(t,e){let r=t.indexOf(e);return r!==-1?t[r+1]:void 0}function oe(t){console.log(JSON.stringify(t,null,2));}async function Tt(){if(process.stdin.isTTY)return;let t=[];for await(let r of process.stdin)t.push(Buffer.isBuffer(r)?r:Buffer.from(r));let e=Buffer.concat(t).toString("utf-8").trim();if(e)return JSON.parse(e)}async function vg(t){let e=t[0],r=t.slice(1);if(e==="help"||e==="--help"||e==="-h"){console.log("board-live-cards \u2014 see board-live-cards-cli-PARAMS.md for command reference");return}let n=Xe(r,"--base-ref"),s=Xe(r,"--notify-channel"),o=n?Se(n):void 0;if(e==="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=Se(d),b=jr(l,Nr(l,Ye,{onWarn:console.warn,notifyChannel:s}));oe(b.sourceDataFetched({params:{token:u,ref:c}}));return}if(e==="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=Se(c),l=jr(d,Nr(d,Ye,{onWarn:console.warn,notifyChannel:s})),b={token:u},y=Xe(r,"--reason");y&&(b.reason=y),oe(l.sourceDataFetchFailure({params:b}));return}if(e==="validate-card-preflight"){let u=o??{kind:"fs-path",value:Ze(".")},c=ft(u,xt(u,Ye,{onWarn:console.warn})),d=await Tt();oe(c.validateCardPreflight({body:d}));return}if(e==="probe-source-preflight"){let u=ge(r,"--source-idx","probe-source-preflight --source-idx <n>"),c=Xe(r,"--out-ref"),d=o??{kind:"fs-path",value:Ze(".")},l=ft(d,xt(d,Ye,{onWarn:console.warn})),b=await Tt(),y={sourceIdx:parseInt(u,10)};c&&(y.outRef=c),oe(l.probeSourcePreflight({params:y,body:b}));return}if(e==="eval-card-compute"){let u=o??{kind:"fs-path",value:Ze(".")},c=ft(u,xt(u,Ye,{onWarn:console.warn})),d=await Tt();oe(c.evalCardCompute({body:d}));return}if(e==="simulate-card-cycle"){let u=o??{kind:"fs-path",value:Ze(".")},c=ft(u,xt(u,Ye,{onWarn:console.warn})),d=await Tt();oe(c.simulateCardCycle({body:d}));return}if(e==="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,xt(c,Ye,{onWarn:console.warn})),l=await Tt();oe(d.probeTmpSource({params:{outRef:u},body:l}));return}if(!o)throw new Error(`--base-ref is required for command "${e??"(none)"}"`);let a=()=>jr(o,Nr(o,Ye,{onWarn:console.warn,notifyChannel:s})),i=()=>ft(o,xt(o,Ye,{onWarn:console.warn}));switch(e){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 Tt();oe(a().init({params:{cardStoreRef:u,outputsStoreRef:c},body:d}));return}case "status":{oe(a().status({}));return}case "get-card-store-ref":{oe(a().getCardStoreRef({}));return}case "get-outputs-store-ref":{oe(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)oe(a().getAllOutputsDataObjects({}));else {let d=ge(r,"--key","get-outputs --type data-object --base-ref <ref> --key <datakey>");oe(a().getOutputsDataObject({params:{key:d}}));}else if(u==="computed-values")if(c)oe(a().getAllOutputsComputedValues({}));else {let d=ge(r,"--key","get-outputs --type computed-values --base-ref <ref> --key <card-id>");oe(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>");oe(a().removeCard({params:{id:u}}));return}case "retrigger":{let u=ge(r,"--id","retrigger --base-ref <ref> --id <card-id>");oe(a().retrigger({params:{id:u}}));return}case "process-accumulated-events":{oe(await a().processAccumulatedEvents({}));return}case "upsert-card":{let u=Xe(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),oe(a().upsertCard({params:l}));return}case "task-failed":{let c={token:ge(r,"--token","task-failed --base-ref <ref> --token <token> [--error <message>]")},d=Xe(r,"--error");d&&(c.error=d),oe(a().taskFailed({params:c}));return}case "task-progress":{let u=ge(r,"--token","task-progress --base-ref <ref> --token <token> [--update <json>]"),c=Xe(r,"--update"),d=c?JSON.parse(c):{};oe(a().taskProgress({params:{token:u},body:{update:d}}));return}case "validate-card":{let u=Xe(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),oe(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=Xe(r,"--out-ref"),l=await Tt(),b={cardId:u,sourceIdx:parseInt(c,10)};d&&(b.outRef=d),oe(i().probeSource({params:b,body:l}));return}case "describe-task-executor-capabilities":{oe(i().describeTaskExecutorCapabilities({}));return}default:throw new Error(`Unknown command: ${e??"(none)"}`)}}var bg=process.argv[1]&&Ze(process.argv[1])===Ze(new URL(import.meta.url).pathname.replace(/^\/([A-Z]:)/,"$1"));bg&&vg(process.argv.slice(2)).catch(t=>{let e=t instanceof Error?t.message:String(t);console.error(e),process.exit(1);});export{vg as cli};//# sourceMappingURL=board-live-cards-cli.js.map
13
+ `,"utf-8");},generateId(){return randomUUID()}}}function la(t){return {tryAcquire(){try{if(!P.existsSync(t)){P.mkdirSync(ce.dirname(t),{recursive:!0});try{P.writeFileSync(t,"{}",{flag:"wx"});}catch{}}return lockSync(t,{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=jc(Mu());var jh=createRequire(import.meta.url),Nh=jh("./jsonata-sync.cjs"),Cn=null;var Lu=/\b(card_data|requires|fetched_sources|computed_values|source_defs)\b/g,qh=/^\s*(card_data|requires|fetched_sources|computed_values|source_defs)(\.|$)/;function Dh(t){let e=new Set,r;for(Lu.lastIndex=0;(r=Lu.exec(t))!==null;)e.add(r[1]);return e}function Gu(t){let e=qh.exec(t);return e?e[1]:null}function Vu(t,e,r,n){try{Nh(t);}catch(o){let a=o instanceof Error?o.message:String(o);n.push(`${e}: invalid JSONata expression (${a})`);return}let s=Dh(t);for(let o of s)r.has(o)||n.push(`${e}: disallowed namespace "${o}" in expression`);}function Oo(t,e,r){if(Array.isArray(t)){t.forEach((s,o)=>{Oo(s,`${e}/${o}`,r);});return}if(typeof t=="string"){let s=Gu(t);if(!s)return;new Set(["card_data","requires","computed_values"]).has(s)||r.push(`${e}: disallowed namespace "${s}" in view reference`);return}if(!t||typeof t!="object")return;let n=t;for(let[s,o]of Object.entries(n))Oo(o,`${e}/${s}`,r);}function Fh(){if(Cn)return Cn;let t=new Bu.default({allErrors:true});return Ph(t),Cn=t.compile(fa),Cn}function Ku(t){let e=Fh(),r=e(t),n=(e.errors??[]).map(s=>`${s.instancePath||"/"}: ${s.message??"unknown error"}`);if(t&&typeof t=="object"&&!Array.isArray(t)){let s=t.source_defs;if(Array.isArray(s)){let o=new Set,a=new Set;s.forEach((i,u)=>{if(!i||typeof i!="object"||Array.isArray(i))return;let c=i;typeof c.bindTo=="string"&&c.bindTo&&(o.has(c.bindTo)&&n.push(`/source_defs/${u}/bindTo: bindTo "${c.bindTo}" must be unique across all source_defs`),o.add(c.bindTo)),typeof c.outputFile=="string"&&c.outputFile&&(a.has(c.outputFile)&&n.push(`/source_defs/${u}/outputFile: outputFile "${c.outputFile}" must be unique across all source_defs`),a.add(c.outputFile));});}}return !r||n.length>0?{ok:false,errors:n}:{ok:true,errors:[]}}function Uu(t){let e=[];if(!t||typeof t!="object"||Array.isArray(t))return {ok:true,errors:[]};let r=t,n=r.compute;Array.isArray(n)&&n.forEach((c,d)=>{if(!c||typeof c!="object"||Array.isArray(c))return;let l=c.expr;typeof l!="string"||l.trim().length===0||Vu(l,`/compute/${d}/expr`,new Set(["card_data","requires","fetched_sources","computed_values"]),e);});let s=new Set(["card_data","requires","fetched_sources","computed_values"]),o=r.provides;Array.isArray(o)&&o.forEach((c,d)=>{if(!c||typeof c!="object"||Array.isArray(c))return;let l=c.ref;if(typeof l!="string"||l.trim().length===0)return;let b=Gu(l);b===null?e.push(`/provides/${d}/ref: path "${l}" must start with a valid namespace (${[...s].join(", ")})`):s.has(b)||e.push(`/provides/${d}/ref: disallowed namespace "${b}" in path "${l}" (valid: ${[...s].join(", ")})`);});let a=r.view;a&&typeof a=="object"&&!Array.isArray(a)&&Oo(a,"/view",e);let i=new Set(["card_data","requires"]),u=r.source_defs;return Array.isArray(u)&&u.forEach((c,d)=>{if(!c||typeof c!="object"||Array.isArray(c))return;let l=c.projections;if(!(!l||typeof l!="object"||Array.isArray(l)))for(let[b,y]of Object.entries(l))typeof y!="string"||y.trim().length===0||Vu(y,`/source_defs/${d}/projections/${b}`,i,e);}),{ok:e.length===0,errors:e}}function jo(t){let e=Ku(t);if(!e.ok)return e;let r=Uu(t);return r.ok?{ok:true,errors:[]}:{ok:false,errors:r.errors}}var ut={RUNNING:"running",COMPLETED:"completed",FAILED:"failed",INACTIVATED:"inactivated"};function Ee(t){return t?Array.isArray(t.provides)?t.provides:[]:[]}function ct(t){return t?Array.isArray(t.requires)?t.requires:[]:[]}function Ju(t){return t.tasks??{}}function No(t){return t?t.status===ut.FAILED||t.status===ut.INACTIVATED:false}function Hu(t,e){return t.refreshStrategy??e?.refreshStrategy??"data-changed"}function zu(t){return t.maxExecutions}function Wu(t,e){let r=new Set;for(let[n,s]of Object.entries(e))if(s.status===ut.COMPLETED){let o=t.tasks[n];o&&Ee(o).forEach(i=>r.add(i));}return Array.from(r)}function Yu(t,e){let r={};return t.forEach(n=>{let s=e[n];if(!s)return;Ee(s).forEach(a=>{r[a]||(r[a]=[]),r[a].push(n);});}),r}function Xu(t,e,r){let n=t.tasks[e]??$n(),s={};if(r){let a=r.tasks[e],i=ct(a);for(let u of i)for(let[c,d]of Object.entries(r.tasks))if(Ee(d).includes(u)){let l=t.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 {...t,tasks:{...t.tasks,[e]:o},lastUpdated:new Date().toISOString()}}function Qu(t,e,r,n,s,o){let a=t.tasks[r]??$n(),i=e.tasks[r];if(!i)throw new Error(`Task "${r}" not found in graph`);let u;n&&i.on&&i.on[n]?u=i.on[n]:u=Ee(i);let c=a.startConsumedHashes?{...a.startConsumedHashes}:{...a.lastConsumedHashes};if(!a.startConsumedHashes){let b=i.requires??[];for(let y of b)for(let[m,p]of Object.entries(e.tasks))if(Ee(p).includes(y)){let k=t.tasks[m];k?.lastDataHash&&(c[y]=k.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([...t.availableOutputs,...u])];return {...t,tasks:{...t.tasks,[r]:d},availableOutputs:l,lastUpdated:new Date().toISOString()}}function Zu(t,e,r,n){let s=t.tasks[r]??$n(),o=e.tasks[r];if(o?.retry){let u=s.retryCount+1;if(u<=o.retry.max_attempts){let c={...s,status:"not-started",retryCount:u,lastUpdated:new Date().toISOString(),error:n};return {...t,tasks:{...t.tasks,[r]:c},lastUpdated:new Date().toISOString()}}}let a={...s,status:"failed",failedAt:new Date().toISOString(),lastUpdated:new Date().toISOString(),error:n,executionCount:s.executionCount+1},i=t.availableOutputs;if(o?.on_failure&&o.on_failure.length>0&&(i=[...new Set([...t.availableOutputs,...o.on_failure])]),o?.circuit_breaker&&a.executionCount>=o.circuit_breaker.max_executions){let u=o.circuit_breaker.on_break;i=[...new Set([...i,...u])];}return {...t,tasks:{...t.tasks,[r]:a},availableOutputs:i,lastUpdated:new Date().toISOString()}}function ec(t,e,r,n){let s=t.tasks[e]??$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 {...t,tasks:{...t.tasks,[e]:o},lastUpdated:new Date().toISOString()}}function tc(t,e){let r=t.tasks[e];if(!r)return t;let n={...r,status:"not-started",startedAt:void 0,completedAt:void 0,failedAt:void 0,error:void 0,data:void 0,progress:null,lastUpdated:new Date().toISOString()};return {...t,tasks:{...t.tasks,[e]:n},lastUpdated:new Date().toISOString()}}function $n(){return {status:"not-started",executionCount:0,retryCount:0,lastEpoch:0,messages:[],progress:null}}function En(t,e){let r=`live-${Date.now()}`,n={};for(let o of Object.keys(t.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:t.settings.execution_mode??"eligibility-mode",conflictStrategy:t.settings.conflict_strategy??"alphabetical",completionStrategy:t.settings.completion}};return {config:t,state:s}}function Mh(t,e){let{config:r,state:n}=t;if("executionId"in e&&e.executionId&&e.executionId!==n.executionId)return t;switch(e.type){case "task-started":return {config:r,state:Xu(n,e.taskName,r)};case "task-completed":return {config:r,state:Qu(n,r,e.taskName,e.result,e.dataHash,e.data)};case "task-failed":return {config:r,state:Zu(n,r,e.taskName,e.error)};case "task-progress":return {config:r,state:ec(n,e.taskName,e.message,e.progress)};case "task-restart":return {config:r,state:tc(n,e.taskName)};case "inject-tokens":return {config:r,state:{...n,availableOutputs:[...new Set([...n.availableOutputs,...e.tokens])],lastUpdated:new Date().toISOString()}};case "agent-action":return {config:r,state:Jh(n,e.action)};case "task-upsert":return Lh(t,e.taskName,e.taskConfig);case "task-removal":return Vh(t,e.taskName);case "node-requires-add":return Bh(t,e.nodeName,e.tokens);case "node-requires-remove":return Gh(t,e.nodeName,e.tokens);case "node-provides-add":return Kh(t,e.nodeName,e.tokens);case "node-provides-remove":return Uh(t,e.nodeName,e.tokens);default:return t}}function rc(t,e){return e.reduce((r,n)=>Mh(r,n),t)}function Lh(t,e,r){let n=!!t.config.tasks[e];return {config:{...t.config,tasks:{...t.config.tasks,[e]:r}},state:{...t.state,tasks:{...t.state.tasks,[e]:n?t.state.tasks[e]:nc()},lastUpdated:new Date().toISOString()}}}function Vh(t,e){if(!t.config.tasks[e])return t;let{[e]:r,...n}=t.config.tasks,{[e]:s,...o}=t.state.tasks;return {config:{...t.config,tasks:n},state:{...t.state,tasks:o,lastUpdated:new Date().toISOString()}}}function Bh(t,e,r){let n=t.config.tasks[e];if(!n)return t;let s=ct(n),o=r.filter(a=>!s.includes(a));return o.length===0?t:{config:{...t.config,tasks:{...t.config.tasks,[e]:{...n,requires:[...s,...o]}}},state:t.state}}function Gh(t,e,r){let n=t.config.tasks[e];if(!n)return t;let s=ct(n),o=s.filter(a=>!r.includes(a));return o.length===s.length?t:{config:{...t.config,tasks:{...t.config.tasks,[e]:{...n,requires:o}}},state:t.state}}function Kh(t,e,r){let n=t.config.tasks[e];if(!n)return t;let s=Ee(n),o=r.filter(a=>!s.includes(a));return o.length===0?t:{config:{...t.config,tasks:{...t.config.tasks,[e]:{...n,provides:[...s,...o]}}},state:t.state}}function Uh(t,e,r){let n=t.config.tasks[e];if(!n)return t;let s=Ee(n),o=s.filter(a=>!r.includes(a));return o.length===s.length?t:{config:{...t.config,tasks:{...t.config.tasks,[e]:{...n,provides:o}}},state:t.state}}function Ar(t){return {version:1,config:t.config,state:t.state,snapshotAt:new Date().toISOString()}}function xn(t){if(!t||typeof t!="object")throw new Error("Invalid snapshot: expected an object");let e=t;if(!e.config||typeof e.config!="object")throw new Error('Invalid snapshot: missing or invalid "config"');if(!e.state||typeof e.state!="object")throw new Error('Invalid snapshot: missing or invalid "state"');let r=e.config,n=e.state;if(!r.settings||typeof r.settings!="object")throw new Error("Invalid snapshot: config.settings missing");if(!r.tasks||typeof r.tasks!="object")throw new Error("Invalid snapshot: config.tasks missing");if(!n.tasks||typeof n.tasks!="object")throw new Error("Invalid snapshot: state.tasks missing");if(!Array.isArray(n.availableOutputs))throw new Error("Invalid snapshot: state.availableOutputs must be an array");return {config:r,state:n}}function nc(){return {status:"not-started",executionCount:0,retryCount:0,lastEpoch:0,messages:[],progress:null}}function Jh(t,e){let r=new Date().toISOString();switch(e){case "stop":return {...t,status:"stopped",lastUpdated:r};case "pause":return {...t,status:"paused",lastUpdated:r};case "resume":return {...t,status:"running",lastUpdated:r};default:return t}}function Ir(t){let{config:e,state:r}=t,n=Ju(e);if(Object.keys(n).length===0)return {eligible:[],pending:[],unresolved:[],blocked:[],conflicts:{}};let o=Hh(n),a=Wu(e,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],k=Hu(m,e.settings),h=k!=="once";if(p?.status===ut.RUNNING||No(p))continue;let f=zu(m);if(f!==void 0&&p&&p.executionCount>=f||m.circuit_breaker&&p&&p.executionCount>=m.circuit_breaker.max_executions||!h&&p?.status===ut.COMPLETED)continue;if(h&&p?.status===ut.COMPLETED){let _=ct(m),$=false;switch(k){case "data-changed":{_.length>0&&_.some(q=>{for(let[F,re]of Object.entries(n))if(Ee(re).includes(q)){let U=r.tasks[F];if(!U)continue;let de=p.lastConsumedHashes?.[q];return U.lastDataHash==null?U.executionCount>p.lastEpoch:U.lastDataHash!==de}return false})||($=true);break}case "epoch-changed":{_.length>0&&_.some(q=>{for(let[F,re]of Object.entries(n))if(Ee(re).includes(q)){let U=r.tasks[F];if(U&&U.executionCount>p.lastEpoch)return true}return false})||($=true);break}case "time-based":{let N=m.refreshInterval??0;if(N<=0){$=true;break}let q=p.completedAt;if(!q){$=true;break}(Date.now()-Date.parse(q))/1e3<N&&($=true);break}case "manual":$=true;break}if($)continue}let g=ct(m);if(g.length===0){u.push(y);continue}let S=[],w=[],C=[];for(let _ of g){if(i.has(_))continue;let $=o[_]||[];$.length===0?S.push(_):$.every(q=>No(r.tasks[q]))?C.push({token:_,failedProducer:$[0]}):w.push(_);}S.length>0?d.push({taskName:y,missingTokens:S}):C.length>0?l.push({taskName:y,failedTokens:C.map(_=>_.token),failedProducers:[...new Set(C.map(_=>_.failedProducer))]}):w.length>0?c.push({taskName:y,waitingOn:w}):u.push(y);}let b={};if(u.length>1){let y=Yu(u,n);for(let[m,p]of Object.entries(y))p.length>1&&(b[m]=p);}return {eligible:u,pending:c,unresolved:d,blocked:l,conflicts:b}}function Hh(t){let e={};for(let[r,n]of Object.entries(t)){for(let s of Ee(n))e[s]||(e[s]=[]),e[s].push(r);if(n.on)for(let s of Object.values(n.on))for(let o of s)e[o]||(e[o]=[]),e[o].includes(r)||e[o].push(r);if(n.on_failure)for(let s of n.on_failure)e[s]||(e[s]=[]),e[s].includes(r)||e[s].push(r);}return e}var Pr=class{buffer=[];append(e){this.buffer.push(e);}drain(){let e=this.buffer;return this.buffer=[],e}get size(){return this.buffer.length}};function qo(t){let e=Do(t);return zh(e)}function Do(t){if(t==null||typeof t!="object")return JSON.stringify(t);if(Array.isArray(t))return "["+t.map(Do).join(",")+"]";let e=t;return "{"+Object.keys(e).sort().map(n=>JSON.stringify(n)+":"+Do(e[n])).join(",")+"}"}function zh(t){let e=0xcbf29ce484222325n,r=0x100000001b3n,n=0xffffffffffffffffn;for(let s=0;s<t.length;s++)e^=BigInt(t.charCodeAt(s)),e=e*r&n;return e.toString(16).padStart(16,"0")}function Wh(t){if(typeof Buffer<"u")return Buffer.from(t,"utf8").toString("base64url");if(typeof btoa=="function"){let e=new TextEncoder().encode(t),r="";for(let n of e)r+=String.fromCharCode(n);return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}throw new Error("No base64 encoder available in this runtime")}function Yh(t){if(typeof Buffer<"u")return Buffer.from(t,"base64url").toString("utf8");if(typeof atob=="function"){let e=t.replace(/-/g,"+").replace(/_/g,"/"),r=e+"=".repeat((4-e.length%4)%4),n=atob(r),s=new Uint8Array(n.length);for(let o=0;o<n.length;o++)s[o]=n.charCodeAt(o);return new TextDecoder().decode(s)}throw new Error("No base64 decoder available in this runtime")}function sc(t){let e=JSON.stringify({t,n:Date.now().toString(36)+Math.random().toString(36).slice(2,6)});return Wh(e)}function Xh(t){try{let e=JSON.parse(Yh(t));return typeof e?.t=="string"?{taskName:e.t}:null}catch{return null}}function oc(t,e,r){let{handlers:n,onDrain:s}=e,o=new Pr,a="state"in t&&"config"in t?t:En(t),i=false,u=new Set,c=new Map(Object.entries(n)),d=new Pr,l=false,b=false;function y(){if(!i){if(l){b=true;return}l=true;try{do b=!1,m();while(b)}finally{l=false;}}}function m(){let f=d.drain(),g=o.drain(),S=[...f,...g];S.length>0&&(a=rc(a,S));let w=Ir(a);S.length>0&&s?.(S,a,w);for(let C of w.eligible)h(C);for(let C of S)if(C.type==="task-progress"){let{taskName:_,update:$}=C;if(!a.config.tasks[_])continue;let q=a.state.tasks[_];if(!q||q.status!=="running")continue;let F=sc(_),re=k(_,F,$).catch(U=>{i||(d.append({type:"task-failed",taskName:_,error:U.message??String(U),timestamp:new Date().toISOString()}),y());}).finally(()=>{u.delete(re);});u.add(re);}}function p(f){let S=a.config.tasks[f].requires??[],w=new Map;for(let[_,$]of Object.entries(a.config.tasks))for(let N of $.provides??[])w.set(N,_);let C={};for(let _ of S){let $=w.get(_);$?C[_]=a.state.tasks[$]?.data:C[_]=void 0;}return C}async function k(f,g,S){let w=a.config.tasks[f],C=w.taskHandlers??[],_=p(f);for(let $ of C){let N=c.get($);if(!N)throw new Error(`Handler '${$}' not found in registry (task '${f}')`);let q={nodeId:f,state:_,taskState:a.state.tasks[f],config:w,callbackToken:g,update:S};if(await N(q)==="task-initiate-failure")throw new Error(`Handler '${$}' returned task-initiate-failure (task '${f}')`)}}function h(f){let S=a.config.tasks[f]?.taskHandlers;if(!S||S.length===0)return;d.append({type:"task-started",taskName:f,timestamp:new Date().toISOString()}),y();let w=sc(f),C=k(f,w).catch(_=>{i||(d.append({type:"task-failed",taskName:f,error:_.message??String(_),timestamp:new Date().toISOString()}),y());}).finally(()=>{u.delete(C);});u.add(C);}return {push(f){i||(f.type==="task-completed"&&f.data&&!f.dataHash&&(f={...f,dataHash:qo(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:qo(g.data)}):o.append(g);y();}},resolveCallback(f,g,S){if(i)return;let w=Xh(f);if(!w)return;let{taskName:C}=w;if(a.config.tasks[C]){if(S&&S.length>0)o.append({type:"task-failed",taskName:C,error:S.join("; "),timestamp:new Date().toISOString()});else {let _=g&&Object.keys(g).length>0?qo(g):void 0;o.append({type:"task-completed",taskName:C,data:g,dataHash:_,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 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 Zh=createRequire(import.meta.url),Tn=Zh("./jsonata-sync.cjs"),uc=Tn;function ac(t,e){if(!e||!t)return;let r=e.split("."),n=t;for(let s=0;s<r.length;s++){if(n==null)return;n=n[r[s]];}return n}function cc(t,e,r){let n=e.split("."),s=t;for(let o=0;o<n.length-1;o++)(s[n[o]]==null||typeof s[n[o]]!="object")&&(s[n[o]]={}),s=s[n[o]];s[n[n.length-1]]=r;}async function eg(t,e){if(!t?.compute?.length)return t;t.card_data||(t.card_data={}),t.computed_values={},t._sourcesData=e?.sourcesData??{};let r=t.requires??{},n={card_data:t.card_data,requires:r,expects_data:r,fetched_sources:t._sourcesData,data:t.computed_values,computed_values:t.computed_values};for(let s of t.compute)try{let o=await Tn(s.expr).evaluate(n);cc(t.computed_values,s.bindTo,o),n.computed_values=t.computed_values;}catch{}return t}function tg(t,e){if(!t?.compute?.length)return {ok:true,node:t};t.card_data||(t.card_data={}),t.computed_values={},t._sourcesData=e?.sourcesData??{};let r=t.requires??{},n={card_data:t.card_data,requires:r,expects_data:r,fetched_sources:t._sourcesData,data:t.computed_values,computed_values:t.computed_values},s=[];for(let o of t.compute)try{let a=uc(o.expr).evaluate(n);cc(t.computed_values,o.bindTo,a),n.computed_values=t.computed_values;}catch(a){let i=a instanceof Error?a.message:String(a);s.push({bindTo:o.bindTo,error:i});}return s.length>0?{ok:true,node:t,errors:s}:{ok:true,node:t}}async function rg(t,e,r){let n={...r??{},card_data:e.card_data??{},requires:e.requires??{},fetched_sources:e._sourcesData??{},computed_values:e.computed_values??{}};return Tn(t).evaluate(n)}function ng(t,e){return e.startsWith("fetched_sources.")?ac(t._sourcesData??{},e.slice(16)):ac(t,e)}var ic=new Set(["metric","table","editable-table","chart","form","filter","list","notes","todo","alert","narrative","badge","text","markdown","ref","custom","actions"]),sg=new Set(["id","meta","requires","provides","view","card_data","compute","source_defs"]);function og(t){let e=[];if(!t||typeof t!="object"||Array.isArray(t))return {ok:false,errors:["Node must be a non-null object"]};let r=t;(typeof r.id!="string"||!r.id)&&e.push("id: required, must be a non-empty string");for(let n of Object.keys(r))sg.has(n)||e.push(`Unknown top-level key: "${n}"`);if((r.card_data==null||typeof r.card_data!="object"||Array.isArray(r.card_data))&&e.push("card_data: required, must be an object"),r.meta!=null)if(typeof r.meta!="object"||Array.isArray(r.meta))e.push("meta: must be an object");else {let n=r.meta;n.title!=null&&typeof n.title!="string"&&e.push("meta.title: must be a string"),n.tags!=null&&!Array.isArray(n.tags)&&e.push("meta.tags: must be an array");}if(r.requires!=null&&!Array.isArray(r.requires)&&e.push("requires: must be an array of strings"),r.provides!=null&&(Array.isArray(r.provides)?r.provides.forEach((n,s)=>{if(!n||typeof n!="object"||Array.isArray(n))e.push(`provides[${s}]: must be an object with bindTo and ref`);else {let o=n;(typeof o.bindTo!="string"||!o.bindTo)&&e.push(`provides[${s}]: missing required "bindTo" string`),(typeof o.ref!="string"||!o.ref)&&e.push(`provides[${s}]: missing required "ref" string`);}}):e.push("provides: must be an array of { bindTo, ref } bindings")),r.compute!=null&&(Array.isArray(r.compute)?r.compute.forEach((n,s)=>{if(!n||typeof n!="object"||Array.isArray(n))e.push(`compute[${s}]: must be a compute step object`);else {let o=n;(typeof o.bindTo!="string"||!o.bindTo)&&e.push(`compute[${s}]: missing required "bindTo" property`),(typeof o.expr!="string"||!o.expr)&&e.push(`compute[${s}]: missing required "expr" string (JSONata expression)`);}}):e.push("compute: must be an array of compute steps")),r.source_defs!=null)if(!Array.isArray(r.source_defs))e.push("source_defs: must be an array");else {let n=new Set,s=new Set;r.source_defs.forEach((o,a)=>{if(!o||typeof o!="object"||Array.isArray(o))e.push(`source_defs[${a}]: must be an object`);else {let i=o;typeof i.bindTo!="string"||!i.bindTo?e.push(`source_defs[${a}]: missing required "bindTo" property`):(n.has(i.bindTo)&&e.push(`source_defs[${a}]: bindTo "${i.bindTo}" is not unique across source_defs`),n.add(i.bindTo)),typeof i.outputFile!="string"||!i.outputFile?e.push(`source_defs[${a}]: missing required "outputFile" property`):(s.has(i.outputFile)&&e.push(`source_defs[${a}]: outputFile "${i.outputFile}" is not unique across source_defs`),s.add(i.outputFile)),i.optionalForCompletionGating!=null&&typeof i.optionalForCompletionGating!="boolean"&&e.push(`source_defs[${a}]: optionalForCompletionGating must be a boolean`);}});}if(r.view!=null)if(typeof r.view!="object"||Array.isArray(r.view))e.push("view: must be an object");else {let n=r.view;!Array.isArray(n.elements)||n.elements.length===0?e.push("view.elements: required, must be a non-empty array"):n.elements.forEach((s,o)=>{if(!s||typeof s!="object"){e.push(`view.elements[${o}]: must be an object`);return}!s.kind||typeof s.kind!="string"?e.push(`view.elements[${o}].kind: required, must be a string`):ic.has(s.kind)||e.push(`view.elements[${o}].kind: unknown kind "${s.kind}". Valid: ${[...ic].join(", ")}`),s.data!=null&&(typeof s.data!="object"||Array.isArray(s.data))&&e.push(`view.elements[${o}].data: must be an object`);}),n.layout!=null&&(typeof n.layout!="object"||Array.isArray(n.layout))&&e.push("view.layout: must be an object"),n.features!=null&&(typeof n.features!="object"||Array.isArray(n.features))&&e.push("view.features: must be an object");}return {ok:e.length===0,errors:e}}async function ag(t,e){if(!t||t.length===0)return [];let r={card_data:e.card_data??{},requires:e.requires??{}};return Promise.all(t.map(async n=>{let s={};if(n.projections&&typeof n.projections=="object"&&!Array.isArray(n.projections)){for(let[o,a]of Object.entries(n.projections))if(typeof a=="string"&&a.trim().length>0)try{s[o]=await Tn(a).evaluate(r);}catch{s[o]=void 0;}}return {...n,_projections:s}}))}function ig(t,e){if(!t||t.length===0)return [];let r={card_data:e.card_data??{},requires:e.requires??{}};return t.map(n=>{let s={};if(n.projections&&typeof n.projections=="object"&&!Array.isArray(n.projections)){for(let[o,a]of Object.entries(n.projections))if(typeof a=="string"&&a.trim().length>0)try{s[o]=uc(a).evaluate(r);}catch{s[o]=void 0;}}return {...n,_projections:s}})}var dt={run:eg,runSync:tg,eval:rg,resolve:ng,validate:og,enrichSources:ag,enrichSourcesSync:ig};function An(t){return JSON.stringify(t)}function In(t){let e;try{e=JSON.parse(t);}catch{throw new Error(`parseExecutionRef: invalid JSON \u2014 ${t}`)}if(typeof e!="object"||e===null||typeof e.howToRun!="string"||typeof e.whatToRun!="string")throw new Error(`parseExecutionRef: missing required fields howToRun/whatToRun \u2014 ${t}`);return e}function Pn(t,e){function r(){return t.readIndex()??{}}function n(s,o,a){let i=String(o||"").split(".").filter(Boolean);if(i.length===0)return a&&typeof a=="object"&&!Array.isArray(a)?a:{value:a};let u={...s},c=u;for(let d=0;d<i.length-1;d++){let l=i[d],b=c[l],y=b&&typeof b=="object"&&!Array.isArray(b)?{...b}:{};c[l]=y,c=y;}return c[i[i.length-1]]=a,u}return {readCard(s){let o=r()[s];return !o||!t.cardExists(o.key)?null:t.readCard(o.key)},readCardKey(s){return r()[s]?.key??null},readAllCards(){let s=[];for(let[o,a]of Object.entries(r())){if(!t.cardExists(a.key))continue;let i=t.readCard(a.key);i?s.push(i):e?.(`[card-store] could not read card "${o}" at key "${a.key}"`);}return s},readChecksumIndex(){let s={};for(let[o,a]of Object.entries(r()))s[o]=a.checksum;return s},changedSince(s){let o=r(),a=[];for(let[i,u]of Object.entries(o))s[i]!==u.checksum&&a.push(i);for(let i of Object.keys(s))o[i]||a.push(i);return a},validateUpsert(s,o){let a=r(),i=a[s],u=Object.entries(a).find(([,c])=>c.key===o);return i&&i.key!==o?{ok:false,error:`Card id "${s}" is already mapped to key "${i.key}", cannot remap to "${o}"`}:u&&u[0]!==s?{ok:false,error:`Key "${o}" is already mapped to card id "${u[0]}", cannot remap to "${s}"`}:{ok:true}},writeCard(s,o,a){let i=r(),u=a??i[s]?.key??t.defaultCardKey(s),c=t.writeCard(u,o);i[s]={key:u,checksum:c,updatedAt:new Date().toISOString()},t.writeIndex(i);},patchCard(s,o,a){let i=r(),u=i[s];if(!u||!t.cardExists(u.key))throw new Error(`card "${s}" not found`);let c=t.readCard(u.key);if(!c||typeof c!="object"||Array.isArray(c))throw new Error(`card "${s}" is not patchable`);let d=n(c,o,a),l=t.writeCard(u.key,d);i[s]={key:u.key,checksum:l,updatedAt:new Date().toISOString()},t.writeIndex(i);},removeCard(s){let o=r();o[s]&&(delete o[s],t.writeIndex(o));},readIndex(){return r()}}}function Fo(t,e){return {readSourceData(r,n){let s=t.read(`${r}/${n}`);if(s==null)return null;let o=s.trim();if(!o)return null;try{return JSON.parse(o)}catch{return o}},ingestSourceDataStaged(r,n,s,o){let a=e(s);t.write(`${r}/.staged/${o}/${n}`,a);},commitSourceData(r,n,s){let o=`${r}/.staged/${s}/${n}`,a=t.read(o);return a==null?false:(t.write(`${r}/${n}`,a),t.remove(o),true)},hasSource(r,n){return t.exists(`${r}/${n}`)}}}function fc(t){function e(r){let n=t.readAllEntries();if(!r)return n;let s=n.findIndex(o=>o.id===r);return s===-1?n:n.slice(s+1)}return {readEntriesAfterCursor(r){let n=e(r);return n.length===0?{events:[],newCursor:r}:{events:n.map(s=>s.event),newCursor:n[n.length-1].id}},pendingCount(r){return e(r).length},appendEvent(r){t.appendEntry({id:t.generateId(),event:r});}}}function pc(t,e){return {appendEntries(r,n){if(!r||n.length===0)return;let s=t.read(r)??[];t.write(r,[...s,...n]);},dispatchEntriesForJournalId(r,n){if(!r)return;let s=t.read(r);if(!(!s||s.length===0)){for(let o of s)try{n(o);}catch(a){let i=a instanceof Error?a.message:String(a);try{e(o,i);}catch{}}t.delete(r);}}}}var Or="v1",lt="board/graph",mc="board/lastJournalProcessedId";function dc(t){return `cards/${t}/runtime`}function hc(t){return {readRuntime(e){return t.read(dc(e))??{_sources:{}}},writeRuntime(e,r){t.write(dc(e),r);}}}function ug(t,e){let r={...t};for(let n of e.deleteKeys)delete r[n];return {...r,...e.shallowMerge}}function gc(t){return {readSnapshot(e){return t.readValues(e)},commitSnapshot(e,r){if(r.schemaVersion!==Or)throw new Error(`Unsupported snapshot schema version: ${r.schemaVersion}`);let n=t.readValues(e);if(n.version!==r.expectedVersion)return {ok:false,reason:"version-mismatch",currentVersion:n.version};let s=ug(n.values,r);return {ok:true,newVersion:t.writeValues(e,s,r.deleteKeys)}}}}function Mo(t){function e(r){let n=t.read(r);return n==null?null:typeof n=="string"?n:JSON.stringify(n)}return {readTaskExecutorRef(){let r=e("task-executor");if(r?.trim())return In(r.trim())},writeTaskExecutorRef(r){t.write("task-executor",An(r));},readChatHandlerRef(){let r=e("chat-handler");if(r?.trim())return In(r.trim())},writeChatHandlerRef(r){t.write("chat-handler",An(r));},readCardStoreRef(){return e("card-store-ref")},writeCardStoreRef(r){t.write("card-store-ref",r);},readOutputsStoreRef(){return e("outputs-store-ref")},writeOutputsStoreRef(r){t.write("outputs-store-ref",r);},readChatHandler(){return e("chat-handler")?.trim()||void 0},writeChatHandler(r){t.write("chat-handler",r);}}}function yc(t){return {writeComputedValues(e,r){t.write(`cards/${e}/computed_values`,r);},readComputedValues(e){return t.read(`cards/${e}/computed_values`)},readAllComputedValues(){let e={};for(let r of t.listKeys("cards/")){let n=r.match(/^cards\/([^/]+)\/computed_values$/);n&&(e[n[1]]=t.read(r));}return e},writeDataObjects(e){for(let[r,n]of Object.entries(e))r&&t.write(`data-objects/${r}`,n);},readDataObject(e){return t.read(`data-objects/${e}`)},readAllDataObjects(){let e={};for(let r of t.listKeys("data-objects/"))e[r.slice(13)]=t.read(r);return e},writeStatusSnapshot(e){t.write("status",e);},readStatusSnapshot(){return t.read("status")}}}function cg(t){return t?.lastRequestedAt?!t.lastFetchedAt||t.lastFetchedAt<t.lastRequestedAt:false}function dg(t,e){return t?.lastRequestedAt?cg(t)?"in-flight":!t.lastFetchedAt||t.lastFetchedAt<e?"dispatch":"idle":"dispatch"}function lg(t,e){let r={...t,lastFetchedAt:e};return delete r.lastError,r}function lc(t,e){let r={...t,lastError:e};return delete r.lastFetchedAt,r}function On(t,e){let r=e.state.tasks,n=e.config.tasks,s=Object.keys(r),o=Ir(e),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 k of p.requires??[]){let h=u.get(k)??[];h.push(m),u.set(k,h);}let c=s.sort().map(m=>{let p=r[m],k=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 h=k.requires??[],f=k.provides??[],g=Object.keys(p.data??{}).sort(),S=h.filter(q=>e.state.availableOutputs.includes(q)),w=h.filter(q=>!e.state.availableOutputs.includes(q)),C=i.get(m)??w,_=new Set;for(let q of f)for(let F of u.get(q)??[])F!==m&&_.add(F);let $=p.failedAt,N=p.error?{message:p.error,code:"TASK_FAILED",at:$,source:"task-runtime"}:void 0;return {name:m,status:p.status,error:N,requires:h,requires_satisfied:S,requires_missing:w,provides_declared:f,provides_runtime:g,blocked_by:C,unblocks:Array.from(_).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},b=new Set;for(let m of Object.values(n))for(let p of m.requires??[])b.add(p);let y=0;for(let[m,p]of Object.entries(n)){let k=(p.requires??[]).length===0,f=(p.provides??[]).some(g=>(u.get(g)??[]).some(S=>S!==m));k&&!f&&(y+=1);}return {schema_version:"v1",meta:{board:{path:t}},summary:{card_count:s.length,completed:a.completed,eligible:o.eligible.length,pending:a.pending,blocked:a.blocked,unresolved:a.unresolved,failed:a.failed,in_progress:a.in_progress,orphan_cards:y,topology:{edge_count:Array.from(b).length,max_fan_out_card:l.name,max_fan_out:l.fanOut}},cards:c}}function fg(){return new Date().toISOString()}function vc(t,e,r,n,s,o,a){return async i=>{let u=[],c=r.cardStore.readCard(i.nodeId);if(!c)return "task-initiate-failure";let d=c.id,l=c.card_data??{},b=c.source_defs??[],y=b.filter(M=>M.optionalForCompletionGating!==true),m=r.cardRuntimeStore.readRuntime(d),p=false,k=()=>{p&&(r.cardRuntimeStore.writeRuntime(d,m),p=false);},h=M=>({...m._sources[M]??{}}),f=(M,V)=>{m._sources[M]=V,p=true;},g=i.taskState?.executionCount??0,S=m._lastExecutionCount;if(typeof S=="number"&&S!==g&&(m._sources={},p=true),S!==g&&(m._lastExecutionCount=g,p=true),i.update){let M=i.update,V=M.outputFile;if(V){let R=h(V);if(M.failure)f(V,lc(R,M.reason??"unknown"));else {let v=M.rqt;if(!R.lastFetchedAt||v>R.lastFetchedAt){let E=typeof M.deliveryToken=="string"?M.deliveryToken:void 0,A=false;E&&(A=r.fetchedSourcesStore.commitSourceData(d,V,E)),A?f(V,lg(R,v)):f(V,lc(R,`source delivery commit failed for ${V} token=${String(E)}`));}}k();}}let w={};for(let M of b)if(M.outputFile){let V=r.fetchedSourcesStore.readSourceData(d,M.outputFile);V!==null&&(w[M.bindTo]=V);}let C={};for(let[M,V]of Object.entries(i.state??{}))if(V!==null&&typeof V=="object"&&!Array.isArray(V)){let R=V[M];C[M]=R!==void 0?R:V;}else C[M]=V;let _={id:d,card_data:{...l},requires:C,source_defs:b,compute:c.compute};_._sourcesData=w,c.compute&&dt.runSync(_,{sourcesData:w}),(o??r.outputStore.writeComputedValues.bind(r.outputStore))(d,_.computed_values??{});let $={...c},N=dt.enrichSourcesSync(Array.isArray(c.source_defs)?c.source_defs:void 0,{card_data:c.card_data,requires:C}),q=t.value;$.source_defs=Array.isArray(N)?N.map(M=>({...M,boardDir:typeof M.boardDir=="string"&&M.boardDir?M.boardDir:q})):N;let F=fg(),re=i.update?void 0:F,U=y.filter(M=>{let V=M.outputFile;if(typeof V!="string"||!V)return true;let R=h(V);re&&(R={...R,queueRequestedAt:re},f(V,R));let v=R.queueRequestedAt??R.lastRequestedAt??F,E=dg(R,v);return E==="in-flight"?false:E==="dispatch"});if(k(),U.length>0){let M=false,V=F;for(let R of U){let v=R.outputFile;if(typeof v!="string"||!v)continue;let E=h(v),A=E.queueRequestedAt??F;f(v,{...E,lastRequestedAt:A}),V=A,M=true;}return M&&k(),M&&(u.push({taskKind:"source-fetch",payload:{boardRef:ie(t),enrichedCard:$,callbackToken:i.callbackToken,rqt:V}}),r.executionRequestStore.appendEntries(e,u)),"task-initiated"}let de=c.provides??[],Fe={};for(let{bindTo:M,ref:V}of de)Fe[M]=dt.resolve(_,V);return (a??r.outputStore.writeDataObjects.bind(r.outputStore))(Fe),b.filter(M=>{if(M.optionalForCompletionGating!==true)return false;let V=h(M.outputFile);return !V.lastRequestedAt||!V.lastFetchedAt?true:V.lastFetchedAt<=V.lastRequestedAt}).length>0&&u.push({taskKind:"source-fetch",payload:{boardRef:ie(t),enrichedCard:$,callbackToken:i.callbackToken,rqt:F}}),n(i.nodeId,Fe),u.length>0&&r.executionRequestStore.appendEntries(e,u),"task-initiated"}}var jn={settings:{completion:"manual",refreshStrategy:"data-changed"},tasks:{}};function bc(t){return {[lt]:t.graph,[mc]:t.lastDrainedJournalId}}function kc(t){let e=t[lt],r=t[mc];if(!e||typeof e!="object")throw new Error(`State snapshot is missing required key: ${lt}`);return {graph:e,lastDrainedJournalId:typeof r=="string"?r:""}}function wc(t){let e=t.requires,r=t.provides?.map(n=>n.bindTo)??[];return {requires:e&&e.length>0?e:void 0,provides:r,taskHandlers:["card-handler"],description:t.meta?.title??t.id}}function Q(t){return t!==void 0?{status:"success",data:t}:{status:"success"}}function j(t){return {status:"fail",error:t}}function ee(t){return {status:"error",error:t instanceof Error?t.message:String(t)}}function pg(t){let e=new TextEncoder().encode(t),r=Array.from(e,n=>String.fromCharCode(n)).join("");return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function _c(t){let e=t.replace(/-/g,"+").replace(/_/g,"/"),r=e+"=".repeat((4-e.length%4)%4),n=atob(r),s=Uint8Array.from(n,o=>o.charCodeAt(0));return new TextDecoder().decode(s)}function Nn(t){try{let e=JSON.parse(_c(t));return typeof e?.t=="string"?{taskName:e.t}:null}catch{return null}}function mg(t){return pg(JSON.stringify(t))}function Sc(t){try{let e=JSON.parse(_c(t));return typeof e?.cbk=="string"&&typeof e?.cid=="string"&&typeof e?.b=="string"&&typeof e?.d=="string"?e:null}catch{return null}}function xe(){return new Date().toISOString()}function jr(t,e){let r=e.onWarn??(()=>{}),n=ie(t);function s(R){if(R.length!==0)try{let v=e.publishBoardChangeNotifications?.(R);v&&typeof v.catch=="function"&&v.catch(E=>r(`[board-live-cards-public] publishBoardChangeNotifications failed: ${E instanceof Error?E.message:String(E)}`));}catch(v){r(`[board-live-cards-public] publishBoardChangeNotifications failed: ${v instanceof Error?v.message:String(v)}`);}}function o(){let R=i().readCardStoreRef();if(!R)throw new Error(`Board at ${t.value} has no card store configured. Run: init --base-ref <ref> --store-ref <b64-ref>`);let v=e.kvStorageForRef(R);return {readIndex(){return v.read("_index")},writeIndex(E){v.write("_index",E);},readCard(E){return v.read(E)},writeCard(E,A){return v.write(E,A),e.hashFn(A)},cardExists(E){return v.read(E)!==null},defaultCardKey(E){return E}}}let a={readValues(R){let v=e.kvStorage("state-snapshot"),E=v.listKeys().sort();if(E.length===0)return {version:null,values:{}};let A={};for(let Y of E)A[Y]=v.read(Y);return {version:e.hashFn(A),values:A}},writeValues(R,v,E){let A=e.kvStorage("state-snapshot");for(let Y of E)A.delete(Y);for(let[Y,te]of Object.entries(v))A.write(Y,te);return e.hashFn(v)}},i=()=>Mo(e.kvStorage("config")),u=()=>gc(a),c=()=>fc(e.journalAdapter()),d=()=>Pn(o(),r),l=()=>{let R=i().readOutputsStoreRef();if(!R)throw new Error(`Board at ${t.value} has no outputs store configured. Run: init --outputs-store-ref <b64-ref>`);return yc(e.kvStorageForRef(R))};function b(){return !!u().readSnapshot(t.value).values[lt]}function y(){let R=u().readSnapshot(t.value);if(!R.values[lt])throw new Error(`Board not initialized at ${t.value}`);return kc(R.values)}function m(R,v){let E=u().commitSnapshot(t.value,{schemaVersion:Or,expectedVersion:v,commitId:e.genId(),committedAt:xe(),deleteKeys:[],shallowMerge:bc(R)});if(!E.ok)throw new Error(`Snapshot commit failed (version mismatch): expected=${v??"null"} current=${E.currentVersion??"null"}`)}function p(R){c().appendEvent(R);}async function k(){let R=(I,D)=>{let ae=I.payload,Qe=(ae?.enrichedCard??{}).id??ae?.cardId??"unknown";p({type:"task-failed",taskName:Qe,error:D,timestamp:xe()});},v=pc(e.kvStorage("execution-requests"),R),E=hc(e.kvStorage("card-runtime")),A=Fo(e.blobStorage("sources"),I=>e.resolveBlob(I)),Y=new Map,te={readRuntime(I){return Y.get(I)??E.readRuntime(I)},writeRuntime(I,D){Y.set(I,D);}},Ce=[],$e=new Map,Ke={readSourceData(I,D){let ae=`${I}/${D}`;return $e.has(ae)?$e.get(ae):A.readSourceData(I,D)},ingestSourceDataStaged(I,D,ae,Pt){A.ingestSourceDataStaged(I,D,ae,Pt);},commitSourceData(I,D,ae){let Pt=`${I}/.staged/${ae}/${D}`,Fr=e.blobStorage("sources").read(Pt);if(Fr==null)return false;let Ot=`${I}/${D}`,Ko=Fr.trim();try{$e.set(Ot,JSON.parse(Ko));}catch{$e.set(Ot,Ko);}return Ce.push({cardId:I,outputFile:D,deliveryToken:ae}),true},hasSource(I,D){let ae=`${I}/${D}`;return $e.has(ae)?true:A.hasSource(I,D)}},Me={cardStore:d(),cardRuntimeStore:te,fetchedSourcesStore:Ke,outputStore:l(),executionRequestStore:v},mt=y(),ht=xn(mt.graph),{events:At,newCursor:It}=c().readEntriesAfterCursor(mt.lastDrainedJournalId),gt=[],qn=[],Dn=[],Vo=new Map,Cc=(I,D)=>{gt.push({type:"task-completed",taskName:I,data:D,timestamp:xe()});},Bo=(I,D)=>p({type:"task-failed",taskName:I,error:D,timestamp:xe()}),qr=oc(ht,{handlers:{"card-handler":vc(t,It,Me,Cc,Bo,(I,D)=>{qn.push({cardId:I,values:D});},I=>{Dn.push(I);})}});for(gt=At;gt.length>0;){let I=gt;gt=[];for(let D of I)if(D.type==="task-restart"){let ae=Me.cardStore.readCard(D.taskName);ae&&Vo.set(D.taskName,ae);}qr.pushAll(I),await qr.waitForHandlers();}let Go=qr.getState();await qr.dispose({wait:true});let $c=u().readSnapshot(t.value).version;m({lastDrainedJournalId:It,graph:Ar(Go)},$c);for(let{cardId:I,values:D}of qn)Me.outputStore.writeComputedValues(I,D);for(let I of Dn)Me.outputStore.writeDataObjects(I);for(let[I,D]of Y)E.writeRuntime(I,D);for(let{cardId:I,outputFile:D,deliveryToken:ae}of Ce)A.commitSourceData(I,D,ae);let Dr;try{Dr=On(n,Go),Me.outputStore.writeStatusSnapshot(Dr);}catch(I){r(`[board-live-cards-public] status publish failed: ${I instanceof Error?I.message:String(I)}`);}let Xt=[];for(let{cardId:I,values:D}of qn)Xt.push({kind:"computed_values",cardId:I,values:D});for(let I of Dn)for(let[D,ae]of Object.entries(I))D&&Xt.push({kind:"data_object",key:D,payload:ae});for(let[I,D]of Vo)Xt.push({kind:"card_refreshed",cardId:I,card:D});Dr!==void 0&&Xt.push({kind:"status",status:Dr}),s(Xt);let Ec=i().readTaskExecutorRef()??{howToRun:"built-in",whatToRun:ie({kind:"built-in",value:"source-cli-task-executor"})};v.dispatchEntriesForJournalId(It,I=>{if(I.taskKind!=="source-fetch"){r(`[process-accumulated-events] unknown taskKind "${I.taskKind}" \u2014 skipping`);return}let D=I.payload,ae=D.enrichedCard?.id??"unknown",Pt=D.enrichedCard?.source_defs??[];for(let Qe of Pt){if(!Qe.outputFile){r(`[dispatch] source "${Qe.bindTo}" has no outputFile \u2014 skipping`);continue}let Fr=mg({cbk:D.callbackToken,rg:t.value,br:ie(t),cid:ae,b:Qe.bindTo,d:Qe.outputFile,cs:void 0,rqt:D.rqt});e.dispatchExecution(Ec,{source_def:Qe,base_ref:ie(t),callback:{token:Fr,via:e.selfRef}}).catch(Ot=>Bo(ae,Ot instanceof Error?Ot.message:String(Ot)));}});}async function h(){try{let R=()=>{let E=y(),{events:A}=c().readEntriesAfterCursor(E.lastDrainedJournalId);A.length<=0||(h(),e.requestProcessAccumulated?.());},v=await Jo(e.lock,k,R);return Q({ran:v!==!1})}catch(R){return ee(R)}}function f(R){try{let v=R.params?.cardStoreRef;if(!v)return j("init requires params.cardStoreRef \u2014 create a card store with card-store-cli and pass its ref here");if(!b()){let te=En(jn);m({lastDrainedJournalId:"",graph:Ar(te)},null);}let E=R.params?.outputsStoreRef;if(!E)return j("init requires params.outputsStoreRef \u2014 pass the outputs store ref here");let A=i();A.writeCardStoreRef(v),A.writeOutputsStoreRef(E);let Y=R.body??{};Y["task-executor-ref"]&&A.writeTaskExecutorRef(Y["task-executor-ref"]),Y["chat-handler-ref"]&&A.writeChatHandlerRef(Y["chat-handler-ref"]);try{l().writeStatusSnapshot(On(n,xn(y().graph)));}catch{}return Q()}catch(v){return ee(v)}}function g(R){try{let v=l().readStatusSnapshot();if(!v){v=On(n,xn(y().graph));try{l().writeStatusSnapshot(v);}catch{}}return Q(v)}catch(v){return ee(v)}}function S(R){try{let v=R.params?.id;return v?(p({type:"task-removal",taskName:v,timestamp:xe()}),h(),Q()):j("removeCard requires params.id")}catch(v){return ee(v)}}function w(R){try{let v=R.params?.id;return v?(p({type:"task-restart",taskName:v,timestamp:xe()}),h(),Q()):j("retrigger requires params.id")}catch(v){return ee(v)}}async function C(R){return h()}function _(R){try{let v=R.params?.cardId,E=R.params?.all,A=!!R.params?.restart;if(!v&&!E)return j("upsertCard requires --card-id <id> or --all");let Y=E?d().readAllCards().map(te=>te.id):[v];for(let te of Y)if(!d().readCard(te))return j(`Card "${te}" not found in board at ${t.value}`);for(let te of Y){let Ce=d().readCard(te),$e=wc(Ce),Ke=e.hashFn($e),Me=e.kvStorage("card-upsert"),mt=Me.read(te),ht=mt?.taskConfigHash!==Ke;if(!(!ht&&!A)){if(ht){let At=mt?.blobRef??d().readCardKey(te)??te;p({type:"task-upsert",taskName:te,taskConfig:$e,timestamp:xe()}),Me.write(te,{blobRef:At,taskConfigHash:Ke,updatedAt:xe()});}A&&p({type:"task-restart",taskName:te,timestamp:xe()});}}return h(),Q()}catch(v){return ee(v)}}function $(R){try{let v=R.params?.token;if(!v)return j("taskFailed requires params.token");let E=R.params?.error??"unknown error",A=Nn(v);return A?(p({type:"task-failed",taskName:A.taskName,error:E,timestamp:xe()}),h(),Q()):j("Invalid callback token")}catch(v){return ee(v)}}function N(R){try{let v=R.params?.token;if(!v)return j("taskProgress requires params.token");let A=(R.body??{}).update??{},Y=Nn(v);return Y?(p({type:"task-progress",taskName:Y.taskName,update:A,timestamp:xe()}),h(),Q()):j("Invalid callback token")}catch(v){return ee(v)}}function q(R){try{let v=R.params?.token,E=R.params?.ref;if(!v)return j("sourceDataFetched requires params.token");if(!E)return j("sourceDataFetched requires params.ref");let A=Sc(v);if(!A)return j("Invalid source token");let{cbk:Y,cid:te,b:Ce,d:$e,cs:Ke,rqt:Me}=A,mt=Fo(e.blobStorage("sources"),gt=>e.resolveBlob(gt)),ht=e.genId();mt.ingestSourceDataStaged(te,$e,ke(E),ht);let At=Nn(Y);if(!At)return j("Invalid callback token embedded in source token");let It=xe();return p({type:"task-progress",taskName:At.taskName,update:{bindTo:Ce,outputFile:$e,fetchedAt:It,deliveryToken:ht,sourceChecksum:Ke,rqt:Me},timestamp:It}),h(),Q()}catch(v){return ee(v)}}function F(R){try{let v=R.params?.token,E=R.params?.reason??"unknown";if(!v)return j("sourceDataFetchFailure requires params.token");let A=Sc(v);if(!A)return j("Invalid source token");let{cbk:Y,b:te,d:Ce,cs:$e}=A,Ke=Nn(Y);return Ke?(p({type:"task-progress",taskName:Ke.taskName,update:{bindTo:te,outputFile:Ce,failure:!0,reason:E,sourceChecksum:$e},timestamp:xe()}),h(),Q()):j("Invalid callback token embedded in source token")}catch(v){return ee(v)}}function re(R){try{let v=i().readCardStoreRef();return v?Q({storeRef:v}):j(`Board at ${t.value} has no card store configured`)}catch(v){return ee(v)}}function U(R){try{let v=i().readOutputsStoreRef();return v?Q({storeRef:v}):j(`Board at ${t.value} has no outputs store configured`)}catch(v){return ee(v)}}function de(R){try{let v=R.params?.key;if(!v)return j("getConfig requires params.key");let E=i(),A;switch(v){case "task-executor":A=E.readTaskExecutorRef()??null;break;case "chat-handler":A=E.readChatHandlerRef()??null;break;case "card-store-ref":A=E.readCardStoreRef();break;case "outputs-store-ref":A=E.readOutputsStoreRef();break;default:return j(`getConfig: unknown key "${v}"`)}return Q({value:A})}catch(v){return ee(v)}}function Fe(R){try{let v=R.params?.key;if(!v)return j("getOutputsDataObject requires params.key");let E=l().readDataObject(v);return Q(E)}catch(v){return ee(v)}}function pt(R){try{return Q(l().readAllDataObjects())}catch(v){return ee(v)}}function M(R){try{let v=R.params?.key;if(!v)return j("getOutputsComputedValues requires params.key");let E=l().readComputedValues(v);return Q(E)}catch(v){return ee(v)}}function V(R){try{return Q(l().readAllComputedValues())}catch(v){return ee(v)}}return {init:f,status:g,getCardStoreRef:re,getOutputsStoreRef:U,getConfig:de,getOutputsDataObject:Fe,getAllOutputsDataObjects:pt,getOutputsComputedValues:M,getAllOutputsComputedValues:V,removeCard:S,retrigger:w,processAccumulatedEvents:C,upsertCard:_,taskFailed:$,taskProgress:N,sourceDataFetched:q,sourceDataFetchFailure:F}}function ft(t,e){let r=()=>Mo(e.kvStorage("config"));function n(){let h=r().readCardStoreRef();if(!h)throw new Error(`Board at ${t.value} has no card store configured. Run: init --base-ref <ref> --store-ref <b64-ref>`);let f=e.kvStorageForRef(h);return {readIndex(){return f.read("_index")},writeIndex(g){f.write("_index",g);},readCard(g){return f.read(g)},writeCard(g,S){return f.write(g,S),e.hashFn(S)},cardExists(g){return f.read(g)!==null},defaultCardKey(g){return g}}}let s=()=>Pn(n(),e.onWarn??(()=>{}));function o(h,f){let g=e.validateSchema(f),S=[],w=r().readTaskExecutorRef();if(w&&Array.isArray(f.source_defs))for(let _ of f.source_defs){let $=typeof _.bindTo=="string"?_.bindTo:"(unknown)";try{let N;try{N=e.invokeExecutorSync(w,"validate-source-def",[],{timeout:1e4,input:JSON.stringify(_)});}catch(F){let re=F;if(N=typeof re?.stdout=="string"?re.stdout:"",!N.trim()){S.push(`source "${$}": executor validate-source-def failed \u2014 ${F instanceof Error?F.message:String(F)}`);continue}}let q=JSON.parse(N.trim());if(!q.ok&&Array.isArray(q.errors))for(let F of q.errors)S.push(`source "${$}": ${F}`);}catch(N){S.push(`source "${$}": executor validate-source-def failed \u2014 ${N instanceof Error?N.message:String(N)}`);}}let C=[...g.errors,...S];return Q({cardId:h,isValid:C.length===0,issues:C})}function a(h,f,g){let S=r().readTaskExecutorRef();if(!S)return j("No task-executor registered for this board");let w=typeof h.bindTo=="string"?h.bindTo:"source",C=e.makeTempFilePath(`probe-in-${w}`),_=e.makeTempFilePath(`probe-out-${w}`),$=e.makeTempFilePath(`probe-err-${w}`,".txt"),N={...h,boardDir:t.value,_projections:f},q=ie({kind:"fs-path",value:C}),F=ie({kind:"fs-path",value:_}),re=ie({kind:"fs-path",value:$});e.absoluteBlob.write(C,JSON.stringify(N,null,2));let U=null;try{if(e.invokeExecutorSync(S,"run-source-fetch",["--in-ref",q,"--out-ref",F,"--err-ref",re],{timeout:h.timeout??3e4}),U=e.absoluteBlob.read(_),U===null)return j("Executor produced no output file")}catch(de){let Fe=e.absoluteBlob.read($)?.trim()??(de instanceof Error?de.message:String(de));return j(`Probe failed: ${Fe}`)}finally{try{e.absoluteBlob.remove(C);}catch{}try{e.absoluteBlob.remove($);}catch{}}if(g){let de=ke(g);e.absoluteBlob.write(de.value,U);}else try{e.absoluteBlob.remove(_);}catch{}return Q({bindTo:w,resultSizeBytes:U.length})}function i(h){try{let f=h.params?.cardId,g=h.params?.all;if(!f&&!g)return j("validateCard requires --card-id <id> or --all");let S=g?s().readAllCards().map(C=>C.id):[f],w=[];for(let C of S){let _=s().readCard(C);if(!_){w.push({cardId:C,isValid:!1,issues:[`Card "${C}" not found`]});continue}let $=o(C,_);if($.status!=="success")return $;w.push($.data);}return Q(w)}catch(f){return ee(f)}}function u(h){try{if(!h.body||typeof h.body!="object"||Array.isArray(h.body))return j("validateCardPreflight requires card JSON object in body");let f=h.body,g=f["card-content"]??f,S=typeof g.id=="string"?g.id:"(unknown)",w=o(S,g),C=r().readTaskExecutorRef();if(C)try{let _=e.invokeExecutorSync(C,"validate-card-preflight",[],{timeout:1e4,input:JSON.stringify(g)}),$=JSON.parse(_.trim());if(!$.ok&&Array.isArray($.errors)&&$.errors.length>0){let N=[...w.status==="success"?w.data.issues:[],...$.errors];return Q({cardId:S,isValid:!1,issues:N})}}catch{}return w}catch(f){return ee(f)}}function c(h){try{let f=h.params?.cardId,g=h.params?.sourceIdx,S=h.params?.outRef;if(!f)return j("probeSource requires params.cardId");if(g===void 0)return j("probeSource requires params.sourceIdx");let C=(h.body??{})["mock-projections"]??{},_=s().readCard(f);if(!_)return j(`Card "${f}" not found`);let $=_.source_defs??[];return g<0||g>=$.length?j(`sourceIdx ${g} out of range (card has ${$.length} source(s))`):a($[g],C,S)}catch(f){return ee(f)}}function d(h){try{let f=h.params?.outRef,g=h.body;if(!g)return j('probeTmpSource requires body with "source-def" and "mock-projections"');let S=g["source-def"],w=g["mock-projections"]??{};return S?a(S,w,f):j('probeTmpSource body requires "source-def"')}catch(f){return ee(f)}}function l(h){try{let f=h.params?.sourceIdx,g=h.params?.outRef;if(f===void 0)return j("probeSourcePreflight requires params.sourceIdx");if(!h.body||typeof h.body!="object"||Array.isArray(h.body))return j("probeSourcePreflight requires card JSON object in body");let S=h.body,w=S["card-content"]??S,C=S["mock-projections"]??{},_=w.source_defs??[];if(f<0||f>=_.length)return j(`sourceIdx ${f} out of range (card has ${_.length} source(s))`);let $=_[f],N=r().readTaskExecutorRef();if(N){let q=typeof $.bindTo=="string"?$.bindTo:"source";try{let F={...$,_projections:C},re=e.invokeExecutorSync(N,"probe-source-preflight",[],{timeout:$.timeout??1e4,input:JSON.stringify(F)}),U=JSON.parse(re.trim());return U.ok?Q({bindTo:q,reachable:U.reachable,latencyMs:U.latencyMs,note:U.note}):j(U.error??"Preflight probe failed")}catch{}}return a($,C,g)}catch(f){return ee(f)}}function b(h){try{let f=r().readTaskExecutorRef();if(!f)return j("No task-executor registered for this board");let g=e.invokeExecutorSync(f,"describe-capabilities",[],{timeout:1e4});return Q(JSON.parse(g.trim()))}catch(f){return ee(f)}}function y(h){try{let f=h.body;if(!f||!Array.isArray(f.ops))return j("updatesInCardStore requires body.ops array");let g=f.ops,S=s();for(let w of g){let C=w.op,_=w.id;if(!_)return j('op is missing "id"');if(C==="update"){let $=w["card-content"];if(!$)return j(`update op for "${_}" is missing "card-content"`);S.writeCard(_,$);}else return j(`Unknown op type: "${C??"(none)"}"`)}return Q()}catch(f){return ee(f)}}function m(h){try{let f=h.body;if(!f||!Array.isArray(f.ids))return j("readFromCardStore requires body.ids array");let g=f.ids,S=s(),w=g.map(C=>({id:C,"card-content":S.readCard(C)}));return Q({cards:w})}catch(f){return ee(f)}}function p(h){try{if(!h.body||typeof h.body!="object"||Array.isArray(h.body))return j("evalCardCompute requires a JSON object in body");let f=h.body,g=f["card-content"]??f,S=typeof g.id=="string"?g.id:"(unknown)",w=f["mock-fetched-sources"]??{},C=f["mock-requires"]??{},_=g.compute;if(!_||!Array.isArray(_)||_.length===0)return Q({cardId:S,ok:!0,computed_values:{},errors:[]});let $={id:S,card_data:g.card_data??{},requires:C,source_defs:g.source_defs,compute:_},N=dt.runSync($,{sourcesData:w}),q=N.node.computed_values??{},F=N.errors??[];return Q({cardId:S,ok:F.length===0,computed_values:q,errors:F})}catch(f){return ee(f)}}function k(h){try{if(!h.body||typeof h.body!="object"||Array.isArray(h.body))return j("simulateCardCycle requires a JSON object in body");let f=h.body,g=f["card-content"]??f,S=typeof g.id=="string"?g.id:"(unknown)",w=f["mock-fetched-sources"]??{},C=f["mock-requires"]??{},_=o(S,g),$=_.status==="success"?{isValid:_.data.isValid,issues:_.data.issues}:{isValid:!1,issues:[_.status==="fail"?_.error:"internal error"]},N=g.source_defs??[],q=g.card_data??{},F=[],re=[];if(N.length>0){F=dt.enrichSourcesSync(N,{card_data:q,requires:C});for(let v of F){let E=v.projections,A=v._projections;if(E&&A){for(let Y of Object.keys(E))if(A[Y]===void 0){let te=typeof v.bindTo=="string"?v.bindTo:"(unknown)";re.push({bindTo:te,key:Y,error:`Projection "${Y}" resolved to undefined`});}}}}let U=[],de=f["task-executor-ref"],Fe=(de?.howToRun&&de?.whatToRun?de:void 0)??r().readTaskExecutorRef();for(let v=0;v<F.length;v++){let E=F[v],A=typeof E.bindTo=="string"?E.bindTo:`source_${v}`;if(!Fe){U.push({bindTo:A,skipped:!0,error:"No task executor configured"});continue}try{let Y={...E},te=e.invokeExecutorSync(Fe,"probe-source-preflight",[],{timeout:E.timeout??1e4,input:JSON.stringify(Y)}),Ce=JSON.parse(te.trim());U.push({bindTo:A,reachable:Ce.reachable,latencyMs:Ce.latencyMs,error:Ce.ok?void 0:Ce.error});}catch{U.push({bindTo:A,skipped:!0,error:"Executor does not support probe-source-preflight"});}}let pt=g.compute,M={},V=[];if(pt&&Array.isArray(pt)&&pt.length>0){let v={id:S,card_data:q,requires:C,source_defs:g.source_defs,compute:pt},E=dt.runSync(v,{sourcesData:w});M=E.node.computed_values??{},V=E.errors??[];}let R=$.isValid&&re.length===0&&V.length===0&&U.every(v=>v.reachable!==!1);return Q({cardId:S,ok:R,validation:$,source_probes:U,projection_errors:re,computed_values:M,compute_errors:V})}catch(f){return ee(f)}}return {validateCard:i,validateCardPreflight:u,probeSource:c,probeTmpSource:d,probeSourcePreflight:l,evalCardCompute:p,simulateCardCycle:k,describeTaskExecutorCapabilities:b,updatesInCardStore:y,readFromCardStore:m}}var hg=".board.lock";function gg(t,e){return typeof t=="string"?{cliDir:t,opts:e}:{cliDir:void 0,opts:t}}function yg(t,e){return typeof t=="string"?{cliDir:t,opts:e}:{cliDir:void 0,opts:t}}function Rc(t){if(t)return t;let e=Vr(import.meta.url),r=[e,jt(e,"..","cli","node"),jt(e,"..","..","cli","node")];for(let n of r)try{return Bn(n),n}catch{}throw new Error(`createFsBoardPlatformAdapter: could not resolve a public CLI directory from module dir ${e}`)}function Nr(t,e,r){let{cliDir:n,opts:s}=gg(e,r),o=Rc(n),a=t.value,i=s?.suppressSpawn?"":Bn(o),u={meta:"board-live-cards",howToRun:"local-node",whatToRun:i?ie({kind:"fs-path",value:i}):"",...s?.notifyChannel?{extra:{notifyChannel:s.notifyChannel}}:{}};return {kvStorage:c=>Hn(jt(a,`.${c}`)),blobStorage:c=>c?Gr(jt(a,c)):Gr(a),journalAdapter:()=>da(a),lock:la(jt(a,hg)),selfRef:u,async dispatchExecution(c,d){if(s?.suppressSpawn)return {dispatched:false};try{let l=d.source_def?.bindTo??Mn().slice(0,8),b=Qt(a,`exec-in-${l}`),y=Qt(a,`exec-out-${l}`),m=Qt(a,`exec-err-${l}`,".txt"),p=ie({kind:"fs-path",value:b}),k=ie({kind:"fs-path",value:y}),h=ie({kind:"fs-path",value:m});return ua({kind:"fs-path",value:b}).write(b,JSON.stringify(d,null,2)),ia(c,{subcommand:"run-source-fetch",inRef:p,outRef:k,errRef:h},o),{dispatched:!0}}catch(l){return {dispatched:false,error:l instanceof Error?l.message:String(l)}}},resolveBlob(c){let d=Yo(c.value)?Jn().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=>Hn(ke(c).value),requestProcessAccumulated(){s?.suppressSpawn||ea(o,t,s?.notifyChannel);},publishBoardChangeNotifications(c){if(!s?.notifyChannel||c.length===0)return;let d=c.map(l=>({id:Mn(),ts:new Date().toISOString(),boardRef:ie(t),notification:l}));ta(s.notifyChannel,d,s.onWarn);},onWarn:s?.onWarn}}function xt(t,e,r){let{cliDir:n,opts:s}=yg(e,r),o=Rc(n),a=Nr(t,o,s),i=Gn();return {...a,invokeExecutorSync(u,c,d,l){let{command:b,baseArgs:y}=aa(u,o);return i.executeSync(b,[...y,c,...d],{timeout:l?.timeout??3e4,encoding:"utf-8",input:l?.input})},validateSchema(u){let c=jo(u);return {ok:c.errors.length===0,errors:c.errors}},makeTempFilePath(u,c){return Qt(t.value,u,c)},absoluteBlob:Jn()}}function Lo(t){try{let e=JSON.parse(Buffer.from(t,"base64url").toString());return typeof e.br=="string"?e.br:null}catch{return null}}var Ye=Vr(import.meta.url);function ge(t,e,r){let n=t.indexOf(e),s=n!==-1?t[n+1]:void 0;if(!s)throw new Error(`Missing ${e}
14
+ Usage: ${r}`);return s}function Xe(t,e){let r=t.indexOf(e);return r!==-1?t[r+1]:void 0}function oe(t){console.log(JSON.stringify(t,null,2));}async function Tt(){if(process.stdin.isTTY)return;let t=[];for await(let r of process.stdin)t.push(Buffer.isBuffer(r)?r:Buffer.from(r));let e=Buffer.concat(t).toString("utf-8").trim();if(e)return JSON.parse(e)}async function vg(t){let e=t[0],r=t.slice(1);if(e==="help"||e==="--help"||e==="-h"){console.log("board-live-cards \u2014 see board-live-cards-cli-PARAMS.md for command reference");return}let n=Xe(r,"--base-ref"),s=Xe(r,"--notify-channel"),o=n?ke(n):void 0;if(e==="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),b=jr(l,Nr(l,Ye,{onWarn:console.warn,notifyChannel:s}));oe(b.sourceDataFetched({params:{token:u,ref:c}}));return}if(e==="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,Ye,{onWarn:console.warn,notifyChannel:s})),b={token:u},y=Xe(r,"--reason");y&&(b.reason=y),oe(l.sourceDataFetchFailure({params:b}));return}if(e==="validate-card-preflight"){let u=o??{kind:"fs-path",value:Ze(".")},c=ft(u,xt(u,Ye,{onWarn:console.warn})),d=await Tt();oe(c.validateCardPreflight({body:d}));return}if(e==="probe-source-preflight"){let u=ge(r,"--source-idx","probe-source-preflight --source-idx <n>"),c=Xe(r,"--out-ref"),d=o??{kind:"fs-path",value:Ze(".")},l=ft(d,xt(d,Ye,{onWarn:console.warn})),b=await Tt(),y={sourceIdx:parseInt(u,10)};c&&(y.outRef=c),oe(l.probeSourcePreflight({params:y,body:b}));return}if(e==="eval-card-compute"){let u=o??{kind:"fs-path",value:Ze(".")},c=ft(u,xt(u,Ye,{onWarn:console.warn})),d=await Tt();oe(c.evalCardCompute({body:d}));return}if(e==="simulate-card-cycle"){let u=o??{kind:"fs-path",value:Ze(".")},c=ft(u,xt(u,Ye,{onWarn:console.warn})),d=await Tt();oe(c.simulateCardCycle({body:d}));return}if(e==="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,xt(c,Ye,{onWarn:console.warn})),l=await Tt();oe(d.probeTmpSource({params:{outRef:u},body:l}));return}if(!o)throw new Error(`--base-ref is required for command "${e??"(none)"}"`);let a=()=>jr(o,Nr(o,Ye,{onWarn:console.warn,notifyChannel:s})),i=()=>ft(o,xt(o,Ye,{onWarn:console.warn}));switch(e){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 Tt();oe(a().init({params:{cardStoreRef:u,outputsStoreRef:c},body:d}));return}case "status":{oe(a().status({}));return}case "get-card-store-ref":{oe(a().getCardStoreRef({}));return}case "get-outputs-store-ref":{oe(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)oe(a().getAllOutputsDataObjects({}));else {let d=ge(r,"--key","get-outputs --type data-object --base-ref <ref> --key <datakey>");oe(a().getOutputsDataObject({params:{key:d}}));}else if(u==="computed-values")if(c)oe(a().getAllOutputsComputedValues({}));else {let d=ge(r,"--key","get-outputs --type computed-values --base-ref <ref> --key <card-id>");oe(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>");oe(a().removeCard({params:{id:u}}));return}case "retrigger":{let u=ge(r,"--id","retrigger --base-ref <ref> --id <card-id>");oe(a().retrigger({params:{id:u}}));return}case "process-accumulated-events":{oe(await a().processAccumulatedEvents({}));return}case "upsert-card":{let u=Xe(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),oe(a().upsertCard({params:l}));return}case "task-failed":{let c={token:ge(r,"--token","task-failed --base-ref <ref> --token <token> [--error <message>]")},d=Xe(r,"--error");d&&(c.error=d),oe(a().taskFailed({params:c}));return}case "task-progress":{let u=ge(r,"--token","task-progress --base-ref <ref> --token <token> [--update <json>]"),c=Xe(r,"--update"),d=c?JSON.parse(c):{};oe(a().taskProgress({params:{token:u},body:{update:d}}));return}case "validate-card":{let u=Xe(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),oe(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=Xe(r,"--out-ref"),l=await Tt(),b={cardId:u,sourceIdx:parseInt(c,10)};d&&(b.outRef=d),oe(i().probeSource({params:b,body:l}));return}case "describe-task-executor-capabilities":{oe(i().describeTaskExecutorCapabilities({}));return}default:throw new Error(`Unknown command: ${e??"(none)"}`)}}var bg=process.argv[1]&&Ze(process.argv[1])===Ze(new URL(import.meta.url).pathname.replace(/^\/([A-Z]:)/,"$1"));bg&&vg(process.argv.slice(2)).catch(t=>{let e=t instanceof Error?t.message:String(t);console.error(e),process.exit(1);});export{vg as cli};//# sourceMappingURL=board-live-cards-cli.js.map
15
15
  //# sourceMappingURL=board-live-cards-cli.js.map