yaml-flow 8.4.8 → 8.4.10

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 (41) hide show
  1. package/browser/asset-integrity.json +3 -3
  2. package/browser/board-livecards-client.js +1 -1
  3. package/browser/board-livecards-localstorage.js +6 -6
  4. package/cli/browser-api/board-live-cards-browser-adapter.d.ts +1 -1
  5. package/cli/node/board-live-cards-cli.js +13 -13
  6. package/cli/node/chat-store-cli.js +3 -3
  7. package/cli/node/fs-board-adapter.d.ts +2 -2
  8. package/cli/node/fs-board-adapter.js +13 -13
  9. package/cli/{types-BkJvnXVD.d.ts → types-BbQ75HLf.d.ts} +3 -1
  10. package/examples/board/demo-shell-with-server.html +2 -2
  11. package/examples/board/doc.html +2 -2
  12. package/examples/board/server/board-worker/source_def_flows.json +2 -1
  13. package/examples/board/server/board-worker/task-executor.js +88 -2
  14. package/examples/board-local/demo-shell-localstorage.html +3 -3
  15. package/lib/artifacts-store-public.d.cts +1 -1
  16. package/lib/artifacts-store-public.d.ts +1 -1
  17. package/lib/board-live-cards-node.cjs +13 -13
  18. package/lib/board-live-cards-node.d.cts +4 -4
  19. package/lib/board-live-cards-node.d.ts +4 -4
  20. package/lib/board-live-cards-node.js +13 -13
  21. package/lib/{board-live-cards-public-Crjm8KWn.d.ts → board-live-cards-public-C81ZEkF-.d.ts} +3 -1
  22. package/lib/{board-live-cards-public-CU8VVw3v.d.cts → board-live-cards-public-wbWRD1nO.d.cts} +3 -1
  23. package/lib/board-live-cards-public.cjs +2 -2
  24. package/lib/board-live-cards-public.d.cts +1 -1
  25. package/lib/board-live-cards-public.d.ts +1 -1
  26. package/lib/board-live-cards-public.js +2 -2
  27. package/lib/board-live-cards-server-runtime.cjs +3 -3
  28. package/lib/board-live-cards-server-runtime.d.cts +2 -2
  29. package/lib/board-live-cards-server-runtime.d.ts +2 -2
  30. package/lib/board-live-cards-server-runtime.js +3 -3
  31. package/lib/card-store-public.d.cts +1 -1
  32. package/lib/card-store-public.d.ts +1 -1
  33. package/lib/chat-store-public.d.cts +1 -1
  34. package/lib/chat-store-public.d.ts +1 -1
  35. package/lib/server-runtime/index.cjs +3 -3
  36. package/lib/server-runtime/index.d.cts +3 -3
  37. package/lib/server-runtime/index.d.ts +3 -3
  38. package/lib/server-runtime/index.js +3 -3
  39. package/lib/{types-Dc70aHzf.d.cts → types-D5E1YmeB.d.cts} +1 -1
  40. package/lib/{types-YXF9Oai2.d.ts → types-D_WD7RYH.d.ts} +1 -1
  41. package/package.json +1 -1
@@ -1,21 +1,21 @@
1
1
  #!/usr/bin/env node
2
- import {spawn,execFile,execFileSync}from'child_process';import*as w from'fs';import {existsSync}from'fs';import*as Kn from'os';import*as J from'path';import {dirname,resolve}from'path';import*as oa from'net';import {fileURLToPath}from'url';import {createHash,randomUUID}from'crypto';import {createRequire}from'module';import {lockSync}from'proper-lockfile';import eh from'ajv-formats';var Bu=Object.create;var ta=Object.defineProperty;var Gu=Object.getOwnPropertyDescriptor;var Ku=Object.getOwnPropertyNames;var Uu=Object.getPrototypeOf,Ju=Object.prototype.hasOwnProperty;var x=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var zu=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Ku(t))!Ju.call(e,s)&&s!==r&&ta(e,s,{get:()=>t[s],enumerable:!(n=Gu(t,s))||n.enumerable});return e};var Hu=(e,t,r)=>(r=e!=null?Bu(Uu(e)):{},zu(ta(r,"default",{value:e,enumerable:true}),e));var ur=x(Y=>{Object.defineProperty(Y,"__esModule",{value:true});Y.regexpCode=Y.getEsmExportName=Y.getProperty=Y.safeStringify=Y.stringify=Y.strConcat=Y.addCodeArg=Y.str=Y._=Y.nil=Y._Code=Y.Name=Y.IDENTIFIER=Y._CodeOrName=void 0;var ir=class{};Y._CodeOrName=ir;Y.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Et=class extends ir{constructor(t){if(super(),!Y.IDENTIFIER.test(t))throw new Error("CodeGen: name must be a valid identifier");this.str=t;}toString(){return this.str}emptyStr(){return false}get names(){return {[this.str]:1}}};Y.Name=Et;var qe=class extends ir{constructor(t){super(),this._items=typeof t=="string"?[t]:t;}toString(){return this.str}emptyStr(){if(this._items.length>1)return false;let t=this._items[0];return t===""||t==='""'}get str(){var t;return (t=this._str)!==null&&t!==void 0?t:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var t;return (t=this._names)!==null&&t!==void 0?t:this._names=this._items.reduce((r,n)=>(n instanceof Et&&(r[n.str]=(r[n.str]||0)+1),r),{})}};Y._Code=qe;Y.nil=new qe("");function Ca(e,...t){let r=[e[0]],n=0;for(;n<t.length;)ns(r,t[n]),r.push(e[++n]);return new qe(r)}Y._=Ca;var rs=new qe("+");function Ea(e,...t){let r=[cr(e[0])],n=0;for(;n<t.length;)r.push(rs),ns(r,t[n]),r.push(rs,cr(e[++n]));return $d(r),new qe(r)}Y.str=Ea;function ns(e,t){t instanceof qe?e.push(...t._items):t instanceof Et?e.push(t):e.push(Ad(t));}Y.addCodeArg=ns;function $d(e){let t=1;for(;t<e.length-1;){if(e[t]===rs){let r=xd(e[t-1],e[t+1]);if(r!==void 0){e.splice(t-1,3,r);continue}e[t++]="+";}t++;}}function xd(e,t){if(t==='""')return e;if(e==='""')return t;if(typeof e=="string")return t instanceof Et||e[e.length-1]!=='"'?void 0:typeof t!="string"?`${e.slice(0,-1)}${t}"`:t[0]==='"'?e.slice(0,-1)+t.slice(1):void 0;if(typeof t=="string"&&t[0]==='"'&&!(e instanceof Et))return `"${e}${t.slice(1)}`}function Td(e,t){return t.emptyStr()?e:e.emptyStr()?t:Ea`${e}${t}`}Y.strConcat=Td;function Ad(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:cr(Array.isArray(e)?e.join(","):e)}function Id(e){return new qe(cr(e))}Y.stringify=Id;function cr(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}Y.safeStringify=cr;function Pd(e){return typeof e=="string"&&Y.IDENTIFIER.test(e)?new qe(`.${e}`):Ca`[${e}]`}Y.getProperty=Pd;function Od(e){if(typeof e=="string"&&Y.IDENTIFIER.test(e))return new qe(`${e}`);throw new Error(`CodeGen: invalid export name: ${e}, use explicit $id name mapping`)}Y.getEsmExportName=Od;function jd(e){return new qe(e.toString())}Y.regexpCode=jd;});var as=x(xe=>{Object.defineProperty(xe,"__esModule",{value:true});xe.ValueScope=xe.ValueScopeName=xe.Scope=xe.varKinds=xe.UsedValueState=void 0;var $e=ur(),ss=class extends Error{constructor(t){super(`CodeGen: "code" for ${t} not defined`),this.value=t.value;}},Qr;(function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed";})(Qr||(xe.UsedValueState=Qr={}));xe.varKinds={const:new $e.Name("const"),let:new $e.Name("let"),var:new $e.Name("var")};var Zr=class{constructor({prefixes:t,parent:r}={}){this._names={},this._prefixes=t,this._parent=r;}toName(t){return t instanceof $e.Name?t:this.name(t)}name(t){return new $e.Name(this._newName(t))}_newName(t){let r=this._names[t]||this._nameGroup(t);return `${t}${r.index++}`}_nameGroup(t){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(t)||this._prefixes&&!this._prefixes.has(t))throw new Error(`CodeGen: prefix "${t}" is not allowed in this scope`);return this._names[t]={prefix:t,index:0}}};xe.Scope=Zr;var en=class extends $e.Name{constructor(t,r){super(r),this.prefix=t;}setValue(t,{property:r,itemIndex:n}){this.value=t,this.scopePath=(0, $e._)`.${new $e.Name(r)}[${n}]`;}};xe.ValueScopeName=en;var Nd=(0, $e._)`\n`,os=class extends Zr{constructor(t){super(t),this._values={},this._scope=t.scope,this.opts={...t,_n:t.lines?Nd:$e.nil};}get(){return this._scope}name(t){return new en(t,this._newName(t))}value(t,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let s=this.toName(t),{prefix:o}=s,a=(n=r.key)!==null&&n!==void 0?n:r.ref,i=this._values[o];if(i){let d=i.get(a);if(d)return d}else i=this._values[o]=new Map;i.set(a,s);let u=this._scope[o]||(this._scope[o]=[]),c=u.length;return u[c]=r.ref,s.setValue(r,{property:o,itemIndex:c}),s}getValue(t,r){let n=this._values[t];if(n)return n.get(r)}scopeRefs(t,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return (0, $e._)`${t}${n.scopePath}`})}scopeCode(t=this._values,r,n){return this._reduceValues(t,s=>{if(s.value===void 0)throw new Error(`CodeGen: name "${s}" has no value`);return s.value.code},r,n)}_reduceValues(t,r,n={},s){let o=$e.nil;for(let a in t){let i=t[a];if(!i)continue;let u=n[a]=n[a]||new Map;i.forEach(c=>{if(u.has(c))return;u.set(c,Qr.Started);let d=r(c);if(d){let l=this.opts.es5?xe.varKinds.var:xe.varKinds.const;o=(0, $e._)`${o}${l} ${c} = ${d};${this.opts._n}`;}else if(d=s?.(c))o=(0, $e._)`${o}${d}${this.opts._n}`;else throw new ss(c);u.set(c,Qr.Completed);});}return o}};xe.ValueScope=os;});var G=x(V=>{Object.defineProperty(V,"__esModule",{value:true});V.or=V.and=V.not=V.CodeGen=V.operators=V.varKinds=V.ValueScopeName=V.ValueScope=V.Scope=V.Name=V.regexpCode=V.stringify=V.getProperty=V.nil=V.strConcat=V.str=V._=void 0;var U=ur(),Be=as(),ut=ur();Object.defineProperty(V,"_",{enumerable:true,get:function(){return ut._}});Object.defineProperty(V,"str",{enumerable:true,get:function(){return ut.str}});Object.defineProperty(V,"strConcat",{enumerable:true,get:function(){return ut.strConcat}});Object.defineProperty(V,"nil",{enumerable:true,get:function(){return ut.nil}});Object.defineProperty(V,"getProperty",{enumerable:true,get:function(){return ut.getProperty}});Object.defineProperty(V,"stringify",{enumerable:true,get:function(){return ut.stringify}});Object.defineProperty(V,"regexpCode",{enumerable:true,get:function(){return ut.regexpCode}});Object.defineProperty(V,"Name",{enumerable:true,get:function(){return ut.Name}});var sn=as();Object.defineProperty(V,"Scope",{enumerable:true,get:function(){return sn.Scope}});Object.defineProperty(V,"ValueScope",{enumerable:true,get:function(){return sn.ValueScope}});Object.defineProperty(V,"ValueScopeName",{enumerable:true,get:function(){return sn.ValueScopeName}});Object.defineProperty(V,"varKinds",{enumerable:true,get:function(){return sn.varKinds}});V.operators={GT:new U._Code(">"),GTE:new U._Code(">="),LT:new U._Code("<"),LTE:new U._Code("<="),EQ:new U._Code("==="),NEQ:new U._Code("!=="),NOT:new U._Code("!"),OR:new U._Code("||"),AND:new U._Code("&&"),ADD:new U._Code("+")};var et=class{optimizeNodes(){return this}optimizeNames(t,r){return this}},is=class extends et{constructor(t,r,n){super(),this.varKind=t,this.name=r,this.rhs=n;}render({es5:t,_n:r}){let n=t?Be.varKinds.var:this.varKind,s=this.rhs===void 0?"":` = ${this.rhs}`;return `${n} ${this.name}${s};`+r}optimizeNames(t,r){if(t[this.name.str])return this.rhs&&(this.rhs=Kt(this.rhs,t,r)),this}get names(){return this.rhs instanceof U._CodeOrName?this.rhs.names:{}}},tn=class extends et{constructor(t,r,n){super(),this.lhs=t,this.rhs=r,this.sideEffects=n;}render({_n:t}){return `${this.lhs} = ${this.rhs};`+t}optimizeNames(t,r){if(!(this.lhs instanceof U.Name&&!t[this.lhs.str]&&!this.sideEffects))return this.rhs=Kt(this.rhs,t,r),this}get names(){let t=this.lhs instanceof U.Name?{}:{...this.lhs.names};return nn(t,this.rhs)}},cs=class extends tn{constructor(t,r,n,s){super(t,n,s),this.op=r;}render({_n:t}){return `${this.lhs} ${this.op}= ${this.rhs};`+t}},us=class extends et{constructor(t){super(),this.label=t,this.names={};}render({_n:t}){return `${this.label}:`+t}},ds=class extends et{constructor(t){super(),this.label=t,this.names={};}render({_n:t}){return `break${this.label?` ${this.label}`:""};`+t}},ls=class extends et{constructor(t){super(),this.error=t;}render({_n:t}){return `throw ${this.error};`+t}get names(){return this.error.names}},fs=class extends et{constructor(t){super(),this.code=t;}render({_n:t}){return `${this.code};`+t}optimizeNodes(){return `${this.code}`?this:void 0}optimizeNames(t,r){return this.code=Kt(this.code,t,r),this}get names(){return this.code instanceof U._CodeOrName?this.code.names:{}}},dr=class extends et{constructor(t=[]){super(),this.nodes=t;}render(t){return this.nodes.reduce((r,n)=>r+n.render(t),"")}optimizeNodes(){let{nodes:t}=this,r=t.length;for(;r--;){let n=t[r].optimizeNodes();Array.isArray(n)?t.splice(r,1,...n):n?t[r]=n:t.splice(r,1);}return t.length>0?this:void 0}optimizeNames(t,r){let{nodes:n}=this,s=n.length;for(;s--;){let o=n[s];o.optimizeNames(t,r)||(qd(t,o.names),n.splice(s,1));}return n.length>0?this:void 0}get names(){return this.nodes.reduce((t,r)=>Tt(t,r.names),{})}},tt=class extends dr{render(t){return "{"+t._n+super.render(t)+"}"+t._n}},ps=class extends dr{},Gt=class extends tt{};Gt.kind="else";var $t=class e extends tt{constructor(t,r){super(r),this.condition=t;}render(t){let r=`if(${this.condition})`+super.render(t);return this.else&&(r+="else "+this.else.render(t)),r}optimizeNodes(){super.optimizeNodes();let t=this.condition;if(t===true)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new Gt(n):n;}if(r)return t===false?r instanceof e?r:r.nodes:this.nodes.length?this:new e($a(t),r instanceof e?[r]:r.nodes);if(!(t===false||!this.nodes.length))return this}optimizeNames(t,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(t,r),!!(super.optimizeNames(t,r)||this.else))return this.condition=Kt(this.condition,t,r),this}get names(){let t=super.names;return nn(t,this.condition),this.else&&Tt(t,this.else.names),t}};$t.kind="if";var xt=class extends tt{};xt.kind="for";var ms=class extends xt{constructor(t){super(),this.iteration=t;}render(t){return `for(${this.iteration})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iteration=Kt(this.iteration,t,r),this}get names(){return Tt(super.names,this.iteration.names)}},gs=class extends xt{constructor(t,r,n,s){super(),this.varKind=t,this.name=r,this.from=n,this.to=s;}render(t){let r=t.es5?Be.varKinds.var:this.varKind,{name:n,from:s,to:o}=this;return `for(${r} ${n}=${s}; ${n}<${o}; ${n}++)`+super.render(t)}get names(){let t=nn(super.names,this.from);return nn(t,this.to)}},rn=class extends xt{constructor(t,r,n,s){super(),this.loop=t,this.varKind=r,this.name=n,this.iterable=s;}render(t){return `for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iterable=Kt(this.iterable,t,r),this}get names(){return Tt(super.names,this.iterable.names)}},lr=class extends tt{constructor(t,r,n){super(),this.name=t,this.args=r,this.async=n;}render(t){return `${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(t)}};lr.kind="func";var fr=class extends dr{render(t){return "return "+super.render(t)}};fr.kind="return";var hs=class extends tt{render(t){let r="try"+super.render(t);return this.catch&&(r+=this.catch.render(t)),this.finally&&(r+=this.finally.render(t)),r}optimizeNodes(){var t,r;return super.optimizeNodes(),(t=this.catch)===null||t===void 0||t.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(t,r){var n,s;return super.optimizeNames(t,r),(n=this.catch)===null||n===void 0||n.optimizeNames(t,r),(s=this.finally)===null||s===void 0||s.optimizeNames(t,r),this}get names(){let t=super.names;return this.catch&&Tt(t,this.catch.names),this.finally&&Tt(t,this.finally.names),t}},pr=class extends tt{constructor(t){super(),this.error=t;}render(t){return `catch(${this.error})`+super.render(t)}};pr.kind="catch";var mr=class extends tt{render(t){return "finally"+super.render(t)}};mr.kind="finally";var ys=class{constructor(t,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
3
- `:""},this._extScope=t,this._scope=new Be.Scope({parent:t}),this._nodes=[new ps];}toString(){return this._root.render(this.opts)}name(t){return this._scope.name(t)}scopeName(t){return this._extScope.name(t)}scopeValue(t,r){let n=this._extScope.value(t,r);return (this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(t,r){return this._extScope.getValue(t,r)}scopeRefs(t){return this._extScope.scopeRefs(t,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(t,r,n,s){let o=this._scope.toName(r);return n!==void 0&&s&&(this._constants[o.str]=n),this._leafNode(new is(t,o,n)),o}const(t,r,n){return this._def(Be.varKinds.const,t,r,n)}let(t,r,n){return this._def(Be.varKinds.let,t,r,n)}var(t,r,n){return this._def(Be.varKinds.var,t,r,n)}assign(t,r,n){return this._leafNode(new tn(t,r,n))}add(t,r){return this._leafNode(new cs(t,V.operators.ADD,r))}code(t){return typeof t=="function"?t():t!==U.nil&&this._leafNode(new fs(t)),this}object(...t){let r=["{"];for(let[n,s]of t)r.length>1&&r.push(","),r.push(n),(n!==s||this.opts.es5)&&(r.push(":"),(0, U.addCodeArg)(r,s));return r.push("}"),new U._Code(r)}if(t,r,n){if(this._blockNode(new $t(t)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(t){return this._elseNode(new $t(t))}else(){return this._elseNode(new Gt)}endIf(){return this._endBlockNode($t,Gt)}_for(t,r){return this._blockNode(t),r&&this.code(r).endFor(),this}for(t,r){return this._for(new ms(t),r)}forRange(t,r,n,s,o=this.opts.es5?Be.varKinds.var:Be.varKinds.let){let a=this._scope.toName(t);return this._for(new gs(o,a,r,n),()=>s(a))}forOf(t,r,n,s=Be.varKinds.const){let o=this._scope.toName(t);if(this.opts.es5){let a=r instanceof U.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0, U._)`${a}.length`,i=>{this.var(o,(0, U._)`${a}[${i}]`),n(o);})}return this._for(new rn("of",s,o,r),()=>n(o))}forIn(t,r,n,s=this.opts.es5?Be.varKinds.var:Be.varKinds.const){if(this.opts.ownProperties)return this.forOf(t,(0, U._)`Object.keys(${r})`,n);let o=this._scope.toName(t);return this._for(new rn("in",s,o,r),()=>n(o))}endFor(){return this._endBlockNode(xt)}label(t){return this._leafNode(new us(t))}break(t){return this._leafNode(new ds(t))}return(t){let r=new fr;if(this._blockNode(r),this.code(t),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(fr)}try(t,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let s=new hs;if(this._blockNode(s),this.code(t),r){let o=this.name("e");this._currNode=s.catch=new pr(o),r(o);}return n&&(this._currNode=s.finally=new mr,this.code(n)),this._endBlockNode(pr,mr)}throw(t){return this._leafNode(new ls(t))}block(t,r){return this._blockStarts.push(this._nodes.length),t&&this.code(t).endBlock(r),this}endBlock(t){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||t!==void 0&&n!==t)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${t} expected`);return this._nodes.length=r,this}func(t,r=U.nil,n,s){return this._blockNode(new lr(t,r,n)),s&&this.code(s).endFunc(),this}endFunc(){return this._endBlockNode(lr)}optimize(t=1){for(;t-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants);}_leafNode(t){return this._currNode.nodes.push(t),this}_blockNode(t){this._currNode.nodes.push(t),this._nodes.push(t);}_endBlockNode(t,r){let n=this._currNode;if(n instanceof t||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${t.kind}/${r.kind}`:t.kind}"`)}_elseNode(t){let r=this._currNode;if(!(r instanceof $t))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=t,this}get _root(){return this._nodes[0]}get _currNode(){let t=this._nodes;return t[t.length-1]}set _currNode(t){let r=this._nodes;r[r.length-1]=t;}};V.CodeGen=ys;function Tt(e,t){for(let r in t)e[r]=(e[r]||0)+(t[r]||0);return e}function nn(e,t){return t instanceof U._CodeOrName?Tt(e,t.names):e}function Kt(e,t,r){if(e instanceof U.Name)return n(e);if(!s(e))return e;return new U._Code(e._items.reduce((o,a)=>(a instanceof U.Name&&(a=n(a)),a instanceof U._Code?o.push(...a._items):o.push(a),o),[]));function n(o){let a=r[o.str];return a===void 0||t[o.str]!==1?o:(delete t[o.str],a)}function s(o){return o instanceof U._Code&&o._items.some(a=>a instanceof U.Name&&t[a.str]===1&&r[a.str]!==void 0)}}function qd(e,t){for(let r in t)e[r]=(e[r]||0)-(t[r]||0);}function $a(e){return typeof e=="boolean"||typeof e=="number"||e===null?!e:(0, U._)`!${vs(e)}`}V.not=$a;var Fd=xa(V.operators.AND);function Dd(...e){return e.reduce(Fd)}V.and=Dd;var Md=xa(V.operators.OR);function Ld(...e){return e.reduce(Md)}V.or=Ld;function xa(e){return (t,r)=>t===U.nil?r:r===U.nil?t:(0, U._)`${vs(t)} ${e} ${vs(r)}`}function vs(e){return e instanceof U.Name?e:(0, U._)`(${e})`}});var z=x(K=>{Object.defineProperty(K,"__esModule",{value:true});K.checkStrictMode=K.getErrorPath=K.Type=K.useFunc=K.setEvaluated=K.evaluatedPropsToName=K.mergeEvaluated=K.eachItem=K.unescapeJsonPointer=K.escapeJsonPointer=K.escapeFragment=K.unescapeFragment=K.schemaRefOrVal=K.schemaHasRulesButRef=K.schemaHasRules=K.checkUnknownRules=K.alwaysValidSchema=K.toHash=void 0;var se=G(),Vd=ur();function Bd(e){let t={};for(let r of e)t[r]=true;return t}K.toHash=Bd;function Gd(e,t){return typeof t=="boolean"?t:Object.keys(t).length===0?true:(Ia(e,t),!Pa(t,e.self.RULES.all))}K.alwaysValidSchema=Gd;function Ia(e,t=e.schema){let{opts:r,self:n}=e;if(!r.strictSchema||typeof t=="boolean")return;let s=n.RULES.keywords;for(let o in t)s[o]||Na(e,`unknown keyword: "${o}"`);}K.checkUnknownRules=Ia;function Pa(e,t){if(typeof e=="boolean")return !e;for(let r in e)if(t[r])return true;return false}K.schemaHasRules=Pa;function Kd(e,t){if(typeof e=="boolean")return !e;for(let r in e)if(r!=="$ref"&&t.all[r])return true;return false}K.schemaHasRulesButRef=Kd;function Ud({topSchemaRef:e,schemaPath:t},r,n,s){if(!s){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return (0, se._)`${r}`}return (0, se._)`${e}${t}${(0, se.getProperty)(n)}`}K.schemaRefOrVal=Ud;function Jd(e){return Oa(decodeURIComponent(e))}K.unescapeFragment=Jd;function zd(e){return encodeURIComponent(ks(e))}K.escapeFragment=zd;function ks(e){return typeof e=="number"?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}K.escapeJsonPointer=ks;function Oa(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}K.unescapeJsonPointer=Oa;function Hd(e,t){if(Array.isArray(e))for(let r of e)t(r);else t(e);}K.eachItem=Hd;function Ta({mergeNames:e,mergeToName:t,mergeValues:r,resultToName:n}){return (s,o,a,i)=>{let u=a===void 0?o:a instanceof se.Name?(o instanceof se.Name?e(s,o,a):t(s,o,a),a):o instanceof se.Name?(t(s,a,o),o):r(o,a);return i===se.Name&&!(u instanceof se.Name)?n(s,u):u}}K.mergeEvaluated={props:Ta({mergeNames:(e,t,r)=>e.if((0, se._)`${r} !== true && ${t} !== undefined`,()=>{e.if((0, se._)`${t} === true`,()=>e.assign(r,true),()=>e.assign(r,(0, se._)`${r} || {}`).code((0, se._)`Object.assign(${r}, ${t})`));}),mergeToName:(e,t,r)=>e.if((0, se._)`${r} !== true`,()=>{t===true?e.assign(r,true):(e.assign(r,(0, se._)`${r} || {}`),bs(e,r,t));}),mergeValues:(e,t)=>e===true?true:{...e,...t},resultToName:ja}),items:Ta({mergeNames:(e,t,r)=>e.if((0, se._)`${r} !== true && ${t} !== undefined`,()=>e.assign(r,(0, se._)`${t} === true ? true : ${r} > ${t} ? ${r} : ${t}`)),mergeToName:(e,t,r)=>e.if((0, se._)`${r} !== true`,()=>e.assign(r,t===true?true:(0, se._)`${r} > ${t} ? ${r} : ${t}`)),mergeValues:(e,t)=>e===true?true:Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})};function ja(e,t){if(t===true)return e.var("props",true);let r=e.var("props",(0, se._)`{}`);return t!==void 0&&bs(e,r,t),r}K.evaluatedPropsToName=ja;function bs(e,t,r){Object.keys(r).forEach(n=>e.assign((0, se._)`${t}${(0, se.getProperty)(n)}`,true));}K.setEvaluated=bs;var Aa={};function Wd(e,t){return e.scopeValue("func",{ref:t,code:Aa[t.code]||(Aa[t.code]=new Vd._Code(t.code))})}K.useFunc=Wd;var Ss;(function(e){e[e.Num=0]="Num",e[e.Str=1]="Str";})(Ss||(K.Type=Ss={}));function Yd(e,t,r){if(e instanceof se.Name){let n=t===Ss.Num;return r?n?(0, se._)`"[" + ${e} + "]"`:(0, se._)`"['" + ${e} + "']"`:n?(0, se._)`"/" + ${e}`:(0, se._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0, se.getProperty)(e).toString():"/"+ks(e)}K.getErrorPath=Yd;function Na(e,t,r=e.opts.strictSchema){if(r){if(t=`strict mode: ${t}`,r===true)throw new Error(t);e.self.logger.warn(t);}}K.checkStrictMode=Na;});var rt=x(ws=>{Object.defineProperty(ws,"__esModule",{value:true});var ye=G(),Xd={data:new ye.Name("data"),valCxt:new ye.Name("valCxt"),instancePath:new ye.Name("instancePath"),parentData:new ye.Name("parentData"),parentDataProperty:new ye.Name("parentDataProperty"),rootData:new ye.Name("rootData"),dynamicAnchors:new ye.Name("dynamicAnchors"),vErrors:new ye.Name("vErrors"),errors:new ye.Name("errors"),this:new ye.Name("this"),self:new ye.Name("self"),scope:new ye.Name("scope"),json:new ye.Name("json"),jsonPos:new ye.Name("jsonPos"),jsonLen:new ye.Name("jsonLen"),jsonPart:new ye.Name("jsonPart")};ws.default=Xd;});var gr=x(ve=>{Object.defineProperty(ve,"__esModule",{value:true});ve.extendErrors=ve.resetErrorsCount=ve.reportExtraError=ve.reportError=ve.keyword$DataError=ve.keywordError=void 0;var H=G(),on=z(),_e=rt();ve.keywordError={message:({keyword:e})=>(0, H.str)`must pass "${e}" keyword validation`};ve.keyword$DataError={message:({keyword:e,schemaType:t})=>t?(0, H.str)`"${e}" keyword must be ${t} ($data)`:(0, H.str)`"${e}" keyword is invalid ($data)`};function Qd(e,t=ve.keywordError,r,n){let{it:s}=e,{gen:o,compositeRule:a,allErrors:i}=s,u=Da(e,t,r);n??(a||i)?qa(o,u):Fa(s,(0, H._)`[${u}]`);}ve.reportError=Qd;function Zd(e,t=ve.keywordError,r){let{it:n}=e,{gen:s,compositeRule:o,allErrors:a}=n,i=Da(e,t,r);qa(s,i),o||a||Fa(n,_e.default.vErrors);}ve.reportExtraError=Zd;function el(e,t){e.assign(_e.default.errors,t),e.if((0, H._)`${_e.default.vErrors} !== null`,()=>e.if(t,()=>e.assign((0, H._)`${_e.default.vErrors}.length`,t),()=>e.assign(_e.default.vErrors,null)));}ve.resetErrorsCount=el;function tl({gen:e,keyword:t,schemaValue:r,data:n,errsCount:s,it:o}){if(s===void 0)throw new Error("ajv implementation error");let a=e.name("err");e.forRange("i",s,_e.default.errors,i=>{e.const(a,(0, H._)`${_e.default.vErrors}[${i}]`),e.if((0, H._)`${a}.instancePath === undefined`,()=>e.assign((0, H._)`${a}.instancePath`,(0, H.strConcat)(_e.default.instancePath,o.errorPath))),e.assign((0, H._)`${a}.schemaPath`,(0, H.str)`${o.errSchemaPath}/${t}`),o.opts.verbose&&(e.assign((0, H._)`${a}.schema`,r),e.assign((0, H._)`${a}.data`,n));});}ve.extendErrors=tl;function qa(e,t){let r=e.const("err",t);e.if((0, H._)`${_e.default.vErrors} === null`,()=>e.assign(_e.default.vErrors,(0, H._)`[${r}]`),(0, H._)`${_e.default.vErrors}.push(${r})`),e.code((0, H._)`${_e.default.errors}++`);}function Fa(e,t){let{gen:r,validateName:n,schemaEnv:s}=e;s.$async?r.throw((0, H._)`new ${e.ValidationError}(${t})`):(r.assign((0, H._)`${n}.errors`,t),r.return(false));}var At={keyword:new H.Name("keyword"),schemaPath:new H.Name("schemaPath"),params:new H.Name("params"),propertyName:new H.Name("propertyName"),message:new H.Name("message"),schema:new H.Name("schema"),parentSchema:new H.Name("parentSchema")};function Da(e,t,r){let{createErrors:n}=e.it;return n===false?(0, H._)`{}`:rl(e,t,r)}function rl(e,t,r={}){let{gen:n,it:s}=e,o=[nl(s,r),sl(e,r)];return ol(e,t,o),n.object(...o)}function nl({errorPath:e},{instancePath:t}){let r=t?(0, H.str)`${e}${(0, on.getErrorPath)(t,on.Type.Str)}`:e;return [_e.default.instancePath,(0, H.strConcat)(_e.default.instancePath,r)]}function sl({keyword:e,it:{errSchemaPath:t}},{schemaPath:r,parentSchema:n}){let s=n?t:(0, H.str)`${t}/${e}`;return r&&(s=(0, H.str)`${s}${(0, on.getErrorPath)(r,on.Type.Str)}`),[At.schemaPath,s]}function ol(e,{params:t,message:r},n){let{keyword:s,data:o,schemaValue:a,it:i}=e,{opts:u,propertyName:c,topSchemaRef:d,schemaPath:l}=i;n.push([At.keyword,s],[At.params,typeof t=="function"?t(e):t||(0, H._)`{}`]),u.messages&&n.push([At.message,typeof r=="function"?r(e):r]),u.verbose&&n.push([At.schema,a],[At.parentSchema,(0, H._)`${d}${l}`],[_e.default.data,o]),c&&n.push([At.propertyName,c]);}});var La=x(Ut=>{Object.defineProperty(Ut,"__esModule",{value:true});Ut.boolOrEmptySchema=Ut.topBoolOrEmptySchema=void 0;var al=gr(),il=G(),cl=rt(),ul={message:"boolean schema is false"};function dl(e){let{gen:t,schema:r,validateName:n}=e;r===false?Ma(e,false):typeof r=="object"&&r.$async===true?t.return(cl.default.data):(t.assign((0, il._)`${n}.errors`,null),t.return(true));}Ut.topBoolOrEmptySchema=dl;function ll(e,t){let{gen:r,schema:n}=e;n===false?(r.var(t,false),Ma(e)):r.var(t,true);}Ut.boolOrEmptySchema=ll;function Ma(e,t){let{gen:r,data:n}=e,s={gen:r,keyword:"false schema",data:n,schema:false,schemaCode:false,schemaValue:false,params:{},it:e};(0, al.reportError)(s,ul,void 0,t);}});var _s=x(Jt=>{Object.defineProperty(Jt,"__esModule",{value:true});Jt.getRules=Jt.isJSONType=void 0;var fl=["string","number","integer","boolean","null","object","array"],pl=new Set(fl);function ml(e){return typeof e=="string"&&pl.has(e)}Jt.isJSONType=ml;function gl(){let e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return {types:{...e,integer:true,boolean:true,null:true},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}Jt.getRules=gl;});var Rs=x(dt=>{Object.defineProperty(dt,"__esModule",{value:true});dt.shouldUseRule=dt.shouldUseGroup=dt.schemaHasRulesForType=void 0;function hl({schema:e,self:t},r){let n=t.RULES.types[r];return n&&n!==true&&Va(e,n)}dt.schemaHasRulesForType=hl;function Va(e,t){return t.rules.some(r=>Ba(e,r))}dt.shouldUseGroup=Va;function Ba(e,t){var r;return e[t.keyword]!==void 0||((r=t.definition.implements)===null||r===void 0?void 0:r.some(n=>e[n]!==void 0))}dt.shouldUseRule=Ba;});var hr=x(Se=>{Object.defineProperty(Se,"__esModule",{value:true});Se.reportTypeError=Se.checkDataTypes=Se.checkDataType=Se.coerceAndCheckDataType=Se.getJSONTypes=Se.getSchemaTypes=Se.DataType=void 0;var yl=_s(),vl=Rs(),Sl=gr(),L=G(),Ga=z(),zt;(function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong";})(zt||(Se.DataType=zt={}));function kl(e){let t=Ka(e.type);if(t.includes("null")){if(e.nullable===false)throw new Error("type: null contradicts nullable: false")}else {if(!t.length&&e.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');e.nullable===true&&t.push("null");}return t}Se.getSchemaTypes=kl;function Ka(e){let t=Array.isArray(e)?e:e?[e]:[];if(t.every(yl.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}Se.getJSONTypes=Ka;function bl(e,t){let{gen:r,data:n,opts:s}=e,o=wl(t,s.coerceTypes),a=t.length>0&&!(o.length===0&&t.length===1&&(0, vl.schemaHasRulesForType)(e,t[0]));if(a){let i=Es(t,n,s.strictNumbers,zt.Wrong);r.if(i,()=>{o.length?_l(e,t,o):$s(e);});}return a}Se.coerceAndCheckDataType=bl;var Ua=new Set(["string","number","integer","boolean","null"]);function wl(e,t){return t?e.filter(r=>Ua.has(r)||t==="array"&&r==="array"):[]}function _l(e,t,r){let{gen:n,data:s,opts:o}=e,a=n.let("dataType",(0, L._)`typeof ${s}`),i=n.let("coerced",(0, L._)`undefined`);o.coerceTypes==="array"&&n.if((0, L._)`${a} == 'object' && Array.isArray(${s}) && ${s}.length == 1`,()=>n.assign(s,(0, L._)`${s}[0]`).assign(a,(0, L._)`typeof ${s}`).if(Es(t,s,o.strictNumbers),()=>n.assign(i,s))),n.if((0, L._)`${i} !== undefined`);for(let c of r)(Ua.has(c)||c==="array"&&o.coerceTypes==="array")&&u(c);n.else(),$s(e),n.endIf(),n.if((0, L._)`${i} !== undefined`,()=>{n.assign(s,i),Rl(e,i);});function u(c){switch(c){case "string":n.elseIf((0, L._)`${a} == "number" || ${a} == "boolean"`).assign(i,(0, L._)`"" + ${s}`).elseIf((0, L._)`${s} === null`).assign(i,(0, L._)`""`);return;case "number":n.elseIf((0, L._)`${a} == "boolean" || ${s} === null
4
- || (${a} == "string" && ${s} && ${s} == +${s})`).assign(i,(0, L._)`+${s}`);return;case "integer":n.elseIf((0, L._)`${a} === "boolean" || ${s} === null
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:e,parentData:t,parentDataProperty:r},n){e.if((0, L._)`${t} !== undefined`,()=>e.assign((0, L._)`${t}[${r}]`,n));}function Cs(e,t,r,n=zt.Correct){let s=n===zt.Correct?L.operators.EQ:L.operators.NEQ,o;switch(e){case "null":return (0, L._)`${t} ${s} null`;case "array":o=(0, L._)`Array.isArray(${t})`;break;case "object":o=(0, L._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case "integer":o=a((0, L._)`!(${t} % 1) && !isNaN(${t})`);break;case "number":o=a();break;default:return (0, L._)`typeof ${t} ${s} ${e}`}return n===zt.Correct?o:(0, L.not)(o);function a(i=L.nil){return (0, L.and)((0, L._)`typeof ${t} == "number"`,i,r?(0, L._)`isFinite(${t})`:L.nil)}}Se.checkDataType=Cs;function Es(e,t,r,n){if(e.length===1)return Cs(e[0],t,r,n);let s,o=(0, Ga.toHash)(e);if(o.array&&o.object){let a=(0, L._)`typeof ${t} != "object"`;s=o.null?a:(0, L._)`!${t} || ${a}`,delete o.null,delete o.array,delete o.object;}else s=L.nil;o.number&&delete o.integer;for(let a in o)s=(0, L.and)(s,Cs(a,t,r,n));return s}Se.checkDataTypes=Es;var Cl={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0, L._)`{type: ${e}}`:(0, L._)`{type: ${t}}`};function $s(e){let t=El(e);(0, Sl.reportError)(t,Cl);}Se.reportTypeError=$s;function El(e){let{gen:t,data:r,schema:n}=e,s=(0, Ga.schemaRefOrVal)(e,n,"type");return {gen:t,keyword:"type",data:r,schema:n.type,schemaCode:s,schemaValue:s,parentSchema:n,params:{},it:e}}});var za=x(an=>{Object.defineProperty(an,"__esModule",{value:true});an.assignDefaults=void 0;var Ht=G(),$l=z();function xl(e,t){let{properties:r,items:n}=e.schema;if(t==="object"&&r)for(let s in r)Ja(e,s,r[s].default);else t==="array"&&Array.isArray(n)&&n.forEach((s,o)=>Ja(e,o,s.default));}an.assignDefaults=xl;function Ja(e,t,r){let{gen:n,compositeRule:s,data:o,opts:a}=e;if(r===void 0)return;let i=(0, Ht._)`${o}${(0, Ht.getProperty)(t)}`;if(s){(0, $l.checkStrictMode)(e,`default is ignored for: ${i}`);return}let u=(0, Ht._)`${i} === undefined`;a.useDefaults==="empty"&&(u=(0, Ht._)`${u} || ${i} === null || ${i} === ""`),n.if(u,(0, Ht._)`${i} = ${(0, Ht.stringify)(r)}`);}});var Fe=x(te=>{Object.defineProperty(te,"__esModule",{value:true});te.validateUnion=te.validateArray=te.usePattern=te.callValidateCode=te.schemaProperties=te.allSchemaProperties=te.noPropertyInData=te.propertyInData=te.isOwnProperty=te.hasPropFunc=te.reportMissingProp=te.checkMissingProp=te.checkReportMissingProp=void 0;var ae=G(),xs=z(),lt=rt(),Tl=z();function Al(e,t){let{gen:r,data:n,it:s}=e;r.if(As(r,n,t,s.opts.ownProperties),()=>{e.setParams({missingProperty:(0, ae._)`${t}`},true),e.error();});}te.checkReportMissingProp=Al;function Il({gen:e,data:t,it:{opts:r}},n,s){return (0, ae.or)(...n.map(o=>(0, ae.and)(As(e,t,o,r.ownProperties),(0, ae._)`${s} = ${o}`)))}te.checkMissingProp=Il;function Pl(e,t){e.setParams({missingProperty:t},true),e.error();}te.reportMissingProp=Pl;function Ha(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0, ae._)`Object.prototype.hasOwnProperty`})}te.hasPropFunc=Ha;function Ts(e,t,r){return (0, ae._)`${Ha(e)}.call(${t}, ${r})`}te.isOwnProperty=Ts;function Ol(e,t,r,n){let s=(0, ae._)`${t}${(0, ae.getProperty)(r)} !== undefined`;return n?(0, ae._)`${s} && ${Ts(e,t,r)}`:s}te.propertyInData=Ol;function As(e,t,r,n){let s=(0, ae._)`${t}${(0, ae.getProperty)(r)} === undefined`;return n?(0, ae.or)(s,(0, ae.not)(Ts(e,t,r))):s}te.noPropertyInData=As;function Wa(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}te.allSchemaProperties=Wa;function jl(e,t){return Wa(t).filter(r=>!(0, xs.alwaysValidSchema)(e,t[r]))}te.schemaProperties=jl;function Nl({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:s,errorPath:o},it:a},i,u,c){let d=c?(0, ae._)`${e}, ${t}, ${n}${s}`:t,l=[[lt.default.instancePath,(0, ae.strConcat)(lt.default.instancePath,o)],[lt.default.parentData,a.parentData],[lt.default.parentDataProperty,a.parentDataProperty],[lt.default.rootData,lt.default.rootData]];a.opts.dynamicRef&&l.push([lt.default.dynamicAnchors,lt.default.dynamicAnchors]);let h=(0, ae._)`${d}, ${r.object(...l)}`;return u!==ae.nil?(0, ae._)`${i}.call(${u}, ${h})`:(0, ae._)`${i}(${h})`}te.callValidateCode=Nl;var ql=(0, ae._)`new RegExp`;function Fl({gen:e,it:{opts:t}},r){let n=t.unicodeRegExp?"u":"",{regExp:s}=t.code,o=s(r,n);return e.scopeValue("pattern",{key:o.toString(),ref:o,code:(0, ae._)`${s.code==="new RegExp"?ql:(0, Tl.useFunc)(e,s)}(${r}, ${n})`})}te.usePattern=Fl;function Dl(e){let{gen:t,data:r,keyword:n,it:s}=e,o=t.name("valid");if(s.allErrors){let i=t.let("valid",true);return a(()=>t.assign(i,false)),i}return t.var(o,true),a(()=>t.break()),o;function a(i){let u=t.const("len",(0, ae._)`${r}.length`);t.forRange("i",0,u,c=>{e.subschema({keyword:n,dataProp:c,dataPropType:xs.Type.Num},o),t.if((0, ae.not)(o),i);});}}te.validateArray=Dl;function Ml(e){let{gen:t,schema:r,keyword:n,it:s}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(u=>(0, xs.alwaysValidSchema)(s,u))&&!s.opts.unevaluated)return;let a=t.let("valid",false),i=t.name("_valid");t.block(()=>r.forEach((u,c)=>{let d=e.subschema({keyword:n,schemaProp:c,compositeRule:true},i);t.assign(a,(0, ae._)`${a} || ${i}`),e.mergeValidEvaluated(d,i)||t.if((0, ae.not)(a));})),e.result(a,()=>e.reset(),()=>e.error(true));}te.validateUnion=Ml;});var Qa=x(He=>{Object.defineProperty(He,"__esModule",{value:true});He.validateKeywordUsage=He.validSchemaType=He.funcKeywordCode=He.macroKeywordCode=void 0;var Re=G(),It=rt(),Ll=Fe(),Vl=gr();function Bl(e,t){let{gen:r,keyword:n,schema:s,parentSchema:o,it:a}=e,i=t.macro.call(a.self,s,o,a),u=Xa(r,n,i);a.opts.validateSchema!==false&&a.self.validateSchema(i,true);let c=r.name("valid");e.subschema({schema:i,schemaPath:Re.nil,errSchemaPath:`${a.errSchemaPath}/${n}`,topSchemaRef:u,compositeRule:true},c),e.pass(c,()=>e.error(true));}He.macroKeywordCode=Bl;function Gl(e,t){var r;let{gen:n,keyword:s,schema:o,parentSchema:a,$data:i,it:u}=e;Ul(u,t);let c=!i&&t.compile?t.compile.call(u.self,o,a,u):t.validate,d=Xa(n,s,c),l=n.let("valid");e.block$data(l,h),e.ok((r=t.valid)!==null&&r!==void 0?r:l);function h(){if(t.errors===false)f(),t.modifying&&Ya(e),v(()=>e.error());else {let _=t.async?y():m();t.modifying&&Ya(e),v(()=>Kl(e,_));}}function y(){let _=n.let("ruleErrs",null);return n.try(()=>f((0, Re._)`await `),g=>n.assign(l,false).if((0, Re._)`${g} instanceof ${u.ValidationError}`,()=>n.assign(_,(0, Re._)`${g}.errors`),()=>n.throw(g))),_}function m(){let _=(0, Re._)`${d}.errors`;return n.assign(_,null),f(Re.nil),_}function f(_=t.async?(0, Re._)`await `:Re.nil){let g=u.opts.passContext?It.default.this:It.default.self,p=!("compile"in t&&!i||t.schema===false);n.assign(l,(0, Re._)`${_}${(0, Ll.callValidateCode)(e,d,g,p)}`,t.modifying);}function v(_){var g;n.if((0, Re.not)((g=t.valid)!==null&&g!==void 0?g:l),_);}}He.funcKeywordCode=Gl;function Ya(e){let{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,(0, Re._)`${n.parentData}[${n.parentDataProperty}]`));}function Kl(e,t){let{gen:r}=e;r.if((0, Re._)`Array.isArray(${t})`,()=>{r.assign(It.default.vErrors,(0, Re._)`${It.default.vErrors} === null ? ${t} : ${It.default.vErrors}.concat(${t})`).assign(It.default.errors,(0, Re._)`${It.default.vErrors}.length`),(0, Vl.extendErrors)(e);},()=>e.error());}function Ul({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function Xa(e,t,r){if(r===void 0)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0, Re.stringify)(r)})}function Jl(e,t,r=false){return !t.length||t.some(n=>n==="array"?Array.isArray(e):n==="object"?e&&typeof e=="object"&&!Array.isArray(e):typeof e==n||r&&typeof e>"u")}He.validSchemaType=Jl;function zl({schema:e,opts:t,self:r,errSchemaPath:n},s,o){if(Array.isArray(s.keyword)?!s.keyword.includes(o):s.keyword!==o)throw new Error("ajv implementation error");let a=s.dependencies;if(a?.some(i=>!Object.prototype.hasOwnProperty.call(e,i)))throw new Error(`parent schema must have dependencies of ${o}: ${a.join(",")}`);if(s.validateSchema&&!s.validateSchema(e[o])){let u=`keyword "${o}" value is invalid at path "${n}": `+r.errorsText(s.validateSchema.errors);if(t.validateSchema==="log")r.logger.error(u);else throw new Error(u)}}He.validateKeywordUsage=zl;});var ei=x(ft=>{Object.defineProperty(ft,"__esModule",{value:true});ft.extendSubschemaMode=ft.extendSubschemaData=ft.getSubschema=void 0;var We=G(),Za=z();function Hl(e,{keyword:t,schemaProp:r,schema:n,schemaPath:s,errSchemaPath:o,topSchemaRef:a}){if(t!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(t!==void 0){let i=e.schema[t];return r===void 0?{schema:i,schemaPath:(0, We._)`${e.schemaPath}${(0, We.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:i[r],schemaPath:(0, We._)`${e.schemaPath}${(0, We.getProperty)(t)}${(0, We.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0, Za.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')}ft.getSubschema=Hl;function Wl(e,t,{dataProp:r,dataPropType:n,data:s,dataTypes:o,propertyName:a}){if(s!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:i}=t;if(r!==void 0){let{errorPath:c,dataPathArr:d,opts:l}=t,h=i.let("data",(0, We._)`${t.data}${(0, We.getProperty)(r)}`,true);u(h),e.errorPath=(0, We.str)`${c}${(0, Za.getErrorPath)(r,n,l.jsPropertySyntax)}`,e.parentDataProperty=(0, We._)`${r}`,e.dataPathArr=[...d,e.parentDataProperty];}if(s!==void 0){let c=s instanceof We.Name?s:i.let("data",s,true);u(c),a!==void 0&&(e.propertyName=a);}o&&(e.dataTypes=o);function u(c){e.data=c,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,c];}}ft.extendSubschemaData=Wl;function Yl(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:n,createErrors:s,allErrors:o}){n!==void 0&&(e.compositeRule=n),s!==void 0&&(e.createErrors=s),o!==void 0&&(e.allErrors=o),e.jtdDiscriminator=t,e.jtdMetadata=r;}ft.extendSubschemaMode=Yl;});var Is=x((jy,ti)=>{ti.exports=function e(t,r){if(t===r)return true;if(t&&r&&typeof t=="object"&&typeof r=="object"){if(t.constructor!==r.constructor)return false;var n,s,o;if(Array.isArray(t)){if(n=t.length,n!=r.length)return false;for(s=n;s--!==0;)if(!e(t[s],r[s]))return false;return true}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if(o=Object.keys(t),n=o.length,n!==Object.keys(r).length)return false;for(s=n;s--!==0;)if(!Object.prototype.hasOwnProperty.call(r,o[s]))return false;for(s=n;s--!==0;){var a=o[s];if(!e(t[a],r[a]))return false}return true}return t!==t&&r!==r};});var ni=x((Ny,ri)=>{var pt=ri.exports=function(e,t,r){typeof t=="function"&&(r=t,t={}),r=t.cb||r;var n=typeof r=="function"?r:r.pre||function(){},s=r.post||function(){};cn(t,n,s,e,"",e);};pt.keywords={additionalItems:true,items:true,contains:true,additionalProperties:true,propertyNames:true,not:true,if:true,then:true,else:true};pt.arrayKeywords={items:true,allOf:true,anyOf:true,oneOf:true};pt.propsKeywords={$defs:true,definitions:true,properties:true,patternProperties:true,dependencies:true};pt.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 cn(e,t,r,n,s,o,a,i,u,c){if(n&&typeof n=="object"&&!Array.isArray(n)){t(n,s,o,a,i,u,c);for(var d in n){var l=n[d];if(Array.isArray(l)){if(d in pt.arrayKeywords)for(var h=0;h<l.length;h++)cn(e,t,r,l[h],s+"/"+d+"/"+h,o,s,d,n,h);}else if(d in pt.propsKeywords){if(l&&typeof l=="object")for(var y in l)cn(e,t,r,l[y],s+"/"+d+"/"+Xl(y),o,s,d,n,y);}else (d in pt.keywords||e.allKeys&&!(d in pt.skipKeywords))&&cn(e,t,r,l,s+"/"+d,o,s,d,n);}r(n,s,o,a,i,u,c);}}function Xl(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}});var yr=x(Te=>{Object.defineProperty(Te,"__esModule",{value:true});Te.getSchemaRefs=Te.resolveUrl=Te.normalizeId=Te._getFullPath=Te.getFullPath=Te.inlineRef=void 0;var Ql=z(),Zl=Is(),ef=ni(),tf=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function rf(e,t=true){return typeof e=="boolean"?true:t===true?!Ps(e):t?si(e)<=t:false}Te.inlineRef=rf;var nf=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Ps(e){for(let t in e){if(nf.has(t))return true;let r=e[t];if(Array.isArray(r)&&r.some(Ps)||typeof r=="object"&&Ps(r))return true}return false}function si(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,!tf.has(r)&&(typeof e[r]=="object"&&(0, Ql.eachItem)(e[r],n=>t+=si(n)),t===1/0))return 1/0}return t}function oi(e,t="",r){r!==false&&(t=Wt(t));let n=e.parse(t);return ai(e,n)}Te.getFullPath=oi;function ai(e,t){return e.serialize(t).split("#")[0]+"#"}Te._getFullPath=ai;var sf=/#\/?$/;function Wt(e){return e?e.replace(sf,""):""}Te.normalizeId=Wt;function of(e,t,r){return r=Wt(r),e.resolve(t,r)}Te.resolveUrl=of;var af=/^[a-z_][-a-z0-9._]*$/i;function cf(e,t){if(typeof e=="boolean")return {};let{schemaId:r,uriResolver:n}=this.opts,s=Wt(e[r]||t),o={"":s},a=oi(n,s,false),i={},u=new Set;return ef(e,{allKeys:true},(l,h,y,m)=>{if(m===void 0)return;let f=a+h,v=o[m];typeof l[r]=="string"&&(v=_.call(this,l[r])),g.call(this,l.$anchor),g.call(this,l.$dynamicAnchor),o[h]=v;function _(p){let k=this.opts.uriResolver.resolve;if(p=Wt(v?k(v,p):p),u.has(p))throw d(p);u.add(p);let b=this.refs[p];return typeof b=="string"&&(b=this.refs[b]),typeof b=="object"?c(l,b.schema,p):p!==Wt(f)&&(p[0]==="#"?(c(l,i[p],p),i[p]=l):this.refs[p]=f),p}function g(p){if(typeof p=="string"){if(!af.test(p))throw new Error(`invalid anchor "${p}"`);_.call(this,`#${p}`);}}}),i;function c(l,h,y){if(h!==void 0&&!Zl(l,h))throw d(y)}function d(l){return new Error(`reference "${l}" resolves to more than one schema`)}}Te.getSchemaRefs=cf;});var kr=x(mt=>{Object.defineProperty(mt,"__esModule",{value:true});mt.getData=mt.KeywordCxt=mt.validateFunctionCode=void 0;var li=La(),ii=hr(),js=Rs(),un=hr(),uf=za(),Sr=Qa(),Os=ei(),A=G(),N=rt(),df=yr(),nt=z(),vr=gr();function lf(e){if(mi(e)&&(gi(e),pi(e))){mf(e);return}fi(e,()=>(0, li.topBoolOrEmptySchema)(e));}mt.validateFunctionCode=lf;function fi({gen:e,validateName:t,schema:r,schemaEnv:n,opts:s},o){s.code.es5?e.func(t,(0, A._)`${N.default.data}, ${N.default.valCxt}`,n.$async,()=>{e.code((0, A._)`"use strict"; ${ci(r,s)}`),pf(e,s),e.code(o);}):e.func(t,(0, A._)`${N.default.data}, ${ff(s)}`,n.$async,()=>e.code(ci(r,s)).code(o));}function ff(e){return (0, A._)`{${N.default.instancePath}="", ${N.default.parentData}, ${N.default.parentDataProperty}, ${N.default.rootData}=${N.default.data}${e.dynamicRef?(0, A._)`, ${N.default.dynamicAnchors}={}`:A.nil}}={}`}function pf(e,t){e.if(N.default.valCxt,()=>{e.var(N.default.instancePath,(0, A._)`${N.default.valCxt}.${N.default.instancePath}`),e.var(N.default.parentData,(0, A._)`${N.default.valCxt}.${N.default.parentData}`),e.var(N.default.parentDataProperty,(0, A._)`${N.default.valCxt}.${N.default.parentDataProperty}`),e.var(N.default.rootData,(0, A._)`${N.default.valCxt}.${N.default.rootData}`),t.dynamicRef&&e.var(N.default.dynamicAnchors,(0, A._)`${N.default.valCxt}.${N.default.dynamicAnchors}`);},()=>{e.var(N.default.instancePath,(0, A._)`""`),e.var(N.default.parentData,(0, A._)`undefined`),e.var(N.default.parentDataProperty,(0, A._)`undefined`),e.var(N.default.rootData,N.default.data),t.dynamicRef&&e.var(N.default.dynamicAnchors,(0, A._)`{}`);});}function mf(e){let{schema:t,opts:r,gen:n}=e;fi(e,()=>{r.$comment&&t.$comment&&yi(e),Sf(e),n.let(N.default.vErrors,null),n.let(N.default.errors,0),r.unevaluated&&gf(e),hi(e),wf(e);});}function gf(e){let{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",(0, A._)`${r}.evaluated`),t.if((0, A._)`${e.evaluated}.dynamicProps`,()=>t.assign((0, A._)`${e.evaluated}.props`,(0, A._)`undefined`)),t.if((0, A._)`${e.evaluated}.dynamicItems`,()=>t.assign((0, A._)`${e.evaluated}.items`,(0, A._)`undefined`));}function ci(e,t){let r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?(0, A._)`/*# sourceURL=${r} */`:A.nil}function hf(e,t){if(mi(e)&&(gi(e),pi(e))){yf(e,t);return}(0, li.boolOrEmptySchema)(e,t);}function pi({schema:e,self:t}){if(typeof e=="boolean")return !e;for(let r in e)if(t.RULES.all[r])return true;return false}function mi(e){return typeof e.schema!="boolean"}function yf(e,t){let{schema:r,gen:n,opts:s}=e;s.$comment&&r.$comment&&yi(e),kf(e),bf(e);let o=n.const("_errs",N.default.errors);hi(e,o),n.var(t,(0, A._)`${o} === ${N.default.errors}`);}function gi(e){(0, nt.checkUnknownRules)(e),vf(e);}function hi(e,t){if(e.opts.jtd)return ui(e,[],false,t);let r=(0, ii.getSchemaTypes)(e.schema),n=(0, ii.coerceAndCheckDataType)(e,r);ui(e,r,!n,t);}function vf(e){let{schema:t,errSchemaPath:r,opts:n,self:s}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0, nt.schemaHasRulesButRef)(t,s.RULES)&&s.logger.warn(`$ref: keywords ignored in schema at path "${r}"`);}function Sf(e){let{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0, nt.checkStrictMode)(e,"default is ignored in the schema root");}function kf(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0, df.resolveUrl)(e.opts.uriResolver,e.baseId,t));}function bf(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function yi({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:s}){let o=r.$comment;if(s.$comment===true)e.code((0, A._)`${N.default.self}.logger.log(${o})`);else if(typeof s.$comment=="function"){let a=(0, A.str)`${n}/$comment`,i=e.scopeValue("root",{ref:t.root});e.code((0, A._)`${N.default.self}.opts.$comment(${o}, ${a}, ${i}.schema)`);}}function wf(e){let{gen:t,schemaEnv:r,validateName:n,ValidationError:s,opts:o}=e;r.$async?t.if((0, A._)`${N.default.errors} === 0`,()=>t.return(N.default.data),()=>t.throw((0, A._)`new ${s}(${N.default.vErrors})`)):(t.assign((0, A._)`${n}.errors`,N.default.vErrors),o.unevaluated&&_f(e),t.return((0, A._)`${N.default.errors} === 0`));}function _f({gen:e,evaluated:t,props:r,items:n}){r instanceof A.Name&&e.assign((0, A._)`${t}.props`,r),n instanceof A.Name&&e.assign((0, A._)`${t}.items`,n);}function ui(e,t,r,n){let{gen:s,schema:o,data:a,allErrors:i,opts:u,self:c}=e,{RULES:d}=c;if(o.$ref&&(u.ignoreKeywordsWithRef||!(0, nt.schemaHasRulesButRef)(o,d))){s.block(()=>Si(e,"$ref",d.all.$ref.definition));return}u.jtd||Rf(e,t),s.block(()=>{for(let h of d.rules)l(h);l(d.post);});function l(h){(0, js.shouldUseGroup)(o,h)&&(h.type?(s.if((0, un.checkDataType)(h.type,a,u.strictNumbers)),di(e,h),t.length===1&&t[0]===h.type&&r&&(s.else(),(0, un.reportTypeError)(e)),s.endIf()):di(e,h),i||s.if((0, A._)`${N.default.errors} === ${n||0}`));}}function di(e,t){let{gen:r,schema:n,opts:{useDefaults:s}}=e;s&&(0, uf.assignDefaults)(e,t.type),r.block(()=>{for(let o of t.rules)(0, js.shouldUseRule)(n,o)&&Si(e,o.keyword,o.definition,t.type);});}function Rf(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(Cf(e,t),e.opts.allowUnionTypes||Ef(e,t),$f(e,e.dataTypes));}function Cf(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{vi(e.dataTypes,r)||Ns(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`);}),Tf(e,t);}}function Ef(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&Ns(e,"use allowUnionTypes to allow union type keyword");}function $f(e,t){let r=e.self.RULES.all;for(let n in r){let s=r[n];if(typeof s=="object"&&(0, js.shouldUseRule)(e.schema,s)){let{type:o}=s.definition;o.length&&!o.some(a=>xf(t,a))&&Ns(e,`missing type "${o.join(",")}" for keyword "${n}"`);}}}function xf(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function vi(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function Tf(e,t){let r=[];for(let n of e.dataTypes)vi(t,n)?r.push(n):t.includes("integer")&&n==="number"&&r.push("integer");e.dataTypes=r;}function Ns(e,t){let r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0, nt.checkStrictMode)(e,t,e.opts.strictTypes);}var dn=class{constructor(t,r,n){if((0, Sr.validateKeywordUsage)(t,r,n),this.gen=t.gen,this.allErrors=t.allErrors,this.keyword=n,this.data=t.data,this.schema=t.schema[n],this.$data=r.$data&&t.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0, nt.schemaRefOrVal)(t,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=t.schema,this.params={},this.it=t,this.def=r,this.$data)this.schemaCode=t.gen.const("vSchema",ki(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0, Sr.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==false)&&(this.errsCount=t.gen.const("_errs",N.default.errors));}result(t,r,n){this.failResult((0, A.not)(t),r,n);}failResult(t,r,n){this.gen.if(t),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else();}pass(t,r){this.failResult((0, A.not)(t),void 0,r);}fail(t){if(t===void 0){this.error(),this.allErrors||this.gen.if(false);return}this.gen.if(t),this.error(),this.allErrors?this.gen.endIf():this.gen.else();}fail$data(t){if(!this.$data)return this.fail(t);let{schemaCode:r}=this;this.fail((0, A._)`${r} !== undefined && (${(0, A.or)(this.invalid$data(),t)})`);}error(t,r,n){if(r){this.setParams(r),this._error(t,n),this.setParams({});return}this._error(t,n);}_error(t,r){(t?vr.reportExtraError:vr.reportError)(this,this.def.error,r);}$dataError(){(0, vr.reportError)(this,this.def.$dataError||vr.keyword$DataError);}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0, vr.resetErrorsCount)(this.gen,this.errsCount);}ok(t){this.allErrors||this.gen.if(t);}setParams(t,r){r?Object.assign(this.params,t):this.params=t;}block$data(t,r,n=A.nil){this.gen.block(()=>{this.check$data(t,n),r();});}check$data(t=A.nil,r=A.nil){if(!this.$data)return;let{gen:n,schemaCode:s,schemaType:o,def:a}=this;n.if((0, A.or)((0, A._)`${s} === undefined`,r)),t!==A.nil&&n.assign(t,true),(o.length||a.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),t!==A.nil&&n.assign(t,false)),n.else();}invalid$data(){let{gen:t,schemaCode:r,schemaType:n,def:s,it:o}=this;return (0, A.or)(a(),i());function a(){if(n.length){if(!(r instanceof A.Name))throw new Error("ajv implementation error");let u=Array.isArray(n)?n:[n];return (0, A._)`${(0, un.checkDataTypes)(u,r,o.opts.strictNumbers,un.DataType.Wrong)}`}return A.nil}function i(){if(s.validateSchema){let u=t.scopeValue("validate$data",{ref:s.validateSchema});return (0, A._)`!${u}(${r})`}return A.nil}}subschema(t,r){let n=(0, Os.getSubschema)(this.it,t);(0, Os.extendSubschemaData)(n,this.it,t),(0, Os.extendSubschemaMode)(n,t);let s={...this.it,...n,items:void 0,props:void 0};return hf(s,r),s}mergeEvaluated(t,r){let{it:n,gen:s}=this;n.opts.unevaluated&&(n.props!==true&&t.props!==void 0&&(n.props=nt.mergeEvaluated.props(s,t.props,n.props,r)),n.items!==true&&t.items!==void 0&&(n.items=nt.mergeEvaluated.items(s,t.items,n.items,r)));}mergeValidEvaluated(t,r){let{it:n,gen:s}=this;if(n.opts.unevaluated&&(n.props!==true||n.items!==true))return s.if(r,()=>this.mergeEvaluated(t,A.Name)),true}};mt.KeywordCxt=dn;function Si(e,t,r,n){let s=new dn(e,r,t);"code"in r?r.code(s,n):s.$data&&r.validate?(0, Sr.funcKeywordCode)(s,r):"macro"in r?(0, Sr.macroKeywordCode)(s,r):(r.compile||r.validate)&&(0, Sr.funcKeywordCode)(s,r);}var Af=/^\/(?:[^~]|~0|~1)*$/,If=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function ki(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let s,o;if(e==="")return N.default.rootData;if(e[0]==="/"){if(!Af.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);s=e,o=N.default.rootData;}else {let c=If.exec(e);if(!c)throw new Error(`Invalid JSON-pointer: ${e}`);let d=+c[1];if(s=c[2],s==="#"){if(d>=t)throw new Error(u("property/index",d));return n[t-d]}if(d>t)throw new Error(u("data",d));if(o=r[t-d],!s)return o}let a=o,i=s.split("/");for(let c of i)c&&(o=(0, A._)`${o}${(0, A.getProperty)((0, nt.unescapeJsonPointer)(c))}`,a=(0, A._)`${a} && ${o}`);return a;function u(c,d){return `Cannot access ${c} ${d} levels up, current level is ${t}`}}mt.getData=ki;});var ln=x(Fs=>{Object.defineProperty(Fs,"__esModule",{value:true});var qs=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=true;}};Fs.default=qs;});var br=x(Ls=>{Object.defineProperty(Ls,"__esModule",{value:true});var Ds=yr(),Ms=class extends Error{constructor(t,r,n,s){super(s||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0, Ds.resolveUrl)(t,r,n),this.missingSchema=(0, Ds.normalizeId)((0, Ds.getFullPath)(t,this.missingRef));}};Ls.default=Ms;});var pn=x(De=>{Object.defineProperty(De,"__esModule",{value:true});De.resolveSchema=De.getCompilingSchema=De.resolveRef=De.compileSchema=De.SchemaEnv=void 0;var Ge=G(),Pf=ln(),Pt=rt(),Ke=yr(),bi=z(),Of=kr(),Yt=class{constructor(t){var r;this.refs={},this.dynamicAnchors={};let n;typeof t.schema=="object"&&(n=t.schema),this.schema=t.schema,this.schemaId=t.schemaId,this.root=t.root||this,this.baseId=(r=t.baseId)!==null&&r!==void 0?r:(0, Ke.normalizeId)(n?.[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=n?.$async,this.refs={};}};De.SchemaEnv=Yt;function Bs(e){let t=wi.call(this,e);if(t)return t;let r=(0, Ke.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:s}=this.opts.code,{ownProperties:o}=this.opts,a=new Ge.CodeGen(this.scope,{es5:n,lines:s,ownProperties:o}),i;e.$async&&(i=a.scopeValue("Error",{ref:Pf.default,code:(0, Ge._)`require("ajv/dist/runtime/validation_error").default`}));let u=a.scopeName("validate");e.validateName=u;let c={gen:a,allErrors:this.opts.allErrors,data:Pt.default.data,parentData:Pt.default.parentData,parentDataProperty:Pt.default.parentDataProperty,dataNames:[Pt.default.data],dataPathArr:[Ge.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:a.scopeValue("schema",this.opts.code.source===true?{ref:e.schema,code:(0, Ge.stringify)(e.schema)}:{ref:e.schema}),validateName:u,ValidationError:i,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:Ge.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0, Ge._)`""`,opts:this.opts,self:this},d;try{this._compilations.add(e),(0,Of.validateFunctionCode)(c),a.optimize(this.opts.code.optimize);let l=a.toString();d=`${a.scopeRefs(Pt.default.scope)}return ${l}`,this.opts.code.process&&(d=this.opts.code.process(d,e));let y=new Function(`${Pt.default.self}`,`${Pt.default.scope}`,d)(this,this.scope.get());if(this.scope.value(u,{ref:y}),y.errors=null,y.schema=e.schema,y.schemaEnv=e,e.$async&&(y.$async=!0),this.opts.code.source===!0&&(y.source={validateName:u,validateCode:l,scopeValues:a._values}),this.opts.unevaluated){let{props:m,items:f}=c;y.evaluated={props:m instanceof Ge.Name?void 0:m,items:f instanceof Ge.Name?void 0:f,dynamicProps:m instanceof Ge.Name,dynamicItems:f instanceof Ge.Name},y.source&&(y.source.evaluated=(0,Ge.stringify)(y.evaluated));}return e.validate=y,e}catch(l){throw delete e.validate,delete e.validateName,d&&this.logger.error("Error compiling schema, function code:",d),l}finally{this._compilations.delete(e);}}De.compileSchema=Bs;function jf(e,t,r){var n;r=(0, Ke.resolveUrl)(this.opts.uriResolver,t,r);let s=e.refs[r];if(s)return s;let o=Ff.call(this,e,r);if(o===void 0){let a=(n=e.localRefs)===null||n===void 0?void 0:n[r],{schemaId:i}=this.opts;a&&(o=new Yt({schema:a,schemaId:i,root:e,baseId:t}));}if(o!==void 0)return e.refs[r]=Nf.call(this,o)}De.resolveRef=jf;function Nf(e){return (0, Ke.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:Bs.call(this,e)}function wi(e){for(let t of this._compilations)if(qf(t,e))return t}De.getCompilingSchema=wi;function qf(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function Ff(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||fn.call(this,e,t)}function fn(e,t){let r=this.opts.uriResolver.parse(t),n=(0, Ke._getFullPath)(this.opts.uriResolver,r),s=(0, Ke.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===s)return Vs.call(this,r,e);let o=(0, Ke.normalizeId)(n),a=this.refs[o]||this.schemas[o];if(typeof a=="string"){let i=fn.call(this,e,a);return typeof i?.schema!="object"?void 0:Vs.call(this,r,i)}if(typeof a?.schema=="object"){if(a.validate||Bs.call(this,a),o===(0, Ke.normalizeId)(t)){let{schema:i}=a,{schemaId:u}=this.opts,c=i[u];return c&&(s=(0, Ke.resolveUrl)(this.opts.uriResolver,s,c)),new Yt({schema:i,schemaId:u,root:e,baseId:s})}return Vs.call(this,r,a)}}De.resolveSchema=fn;var Df=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Vs(e,{baseId:t,schema:r,root:n}){var s;if(((s=e.fragment)===null||s===void 0?void 0:s[0])!=="/")return;for(let i of e.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let u=r[(0, bi.unescapeFragment)(i)];if(u===void 0)return;r=u;let c=typeof r=="object"&&r[this.opts.schemaId];!Df.has(i)&&c&&(t=(0, Ke.resolveUrl)(this.opts.uriResolver,t,c));}let o;if(typeof r!="boolean"&&r.$ref&&!(0, bi.schemaHasRulesButRef)(r,this.RULES)){let i=(0, Ke.resolveUrl)(this.opts.uriResolver,t,r.$ref);o=fn.call(this,n,i);}let{schemaId:a}=this.opts;if(o=o||new Yt({schema:r,schemaId:a,root:n,baseId:t}),o.schema!==o.root.schema)return o}});var _i=x((Vy,Mf)=>{Mf.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:false};});var Ks=x((By,$i)=>{var Lf=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Ci=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 Gs(e){let t="",r=0,n=0;for(n=0;n<e.length;n++)if(r=e[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return "";t+=e[n];break}for(n+=1;n<e.length;n++){if(r=e[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return "";t+=e[n];}return t}var Vf=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Ri(e){return e.length=0,true}function Bf(e,t,r){if(e.length){let n=Gs(e);if(n!=="")t.push(n);else return r.error=true,false;e.length=0;}return true}function Gf(e){let t=0,r={error:false,address:"",zone:""},n=[],s=[],o=false,a=false,i=Bf;for(let u=0;u<e.length;u++){let c=e[u];if(!(c==="["||c==="]"))if(c===":"){if(o===true&&(a=true),!i(s,n,r))break;if(++t>7){r.error=true;break}u>0&&e[u-1]===":"&&(o=true),n.push(":");continue}else if(c==="%"){if(!i(s,n,r))break;i=Ri;}else {s.push(c);continue}}return s.length&&(i===Ri?r.zone=s.join(""):a?n.push(s.join("")):n.push(Gs(s))),r.address=n.join(""),r}function Ei(e){if(Kf(e,":")<2)return {host:e,isIPV6:false};let t=Gf(e);if(t.error)return {host:e,isIPV6:false};{let r=t.address,n=t.address;return t.zone&&(r+="%"+t.zone,n+="%25"+t.zone),{host:r,isIPV6:true,escapedHost:n}}}function Kf(e,t){let r=0;for(let n=0;n<e.length;n++)e[n]===t&&r++;return r}function Uf(e){let t=e,r=[],n=-1,s=0;for(;s=t.length;){if(s===1){if(t===".")break;if(t==="/"){r.push("/");break}else {r.push(t);break}}else if(s===2){if(t[0]==="."){if(t[1]===".")break;if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"&&(t[1]==="."||t[1]==="/")){r.push("/");break}}else if(s===3&&t==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(t[0]==="."){if(t[1]==="."){if(t[2]==="/"){t=t.slice(3);continue}}else if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"&&t[1]==="."){if(t[2]==="/"){t=t.slice(2);continue}else if(t[2]==="."&&t[3]==="/"){t=t.slice(3),r.length!==0&&r.pop();continue}}if((n=t.indexOf("/",1))===-1){r.push(t);break}else r.push(t.slice(0,n)),t=t.slice(n);}return r.join("")}function Jf(e,t){let r=t!==true?escape:unescape;return e.scheme!==void 0&&(e.scheme=r(e.scheme)),e.userinfo!==void 0&&(e.userinfo=r(e.userinfo)),e.host!==void 0&&(e.host=r(e.host)),e.path!==void 0&&(e.path=r(e.path)),e.query!==void 0&&(e.query=r(e.query)),e.fragment!==void 0&&(e.fragment=r(e.fragment)),e}function zf(e){let t=[];if(e.userinfo!==void 0&&(t.push(e.userinfo),t.push("@")),e.host!==void 0){let r=unescape(e.host);if(!Ci(r)){let n=Ei(r);n.isIPV6===true?r=`[${n.escapedHost}]`:r=e.host;}t.push(r);}return (typeof e.port=="number"||typeof e.port=="string")&&(t.push(":"),t.push(String(e.port))),t.length?t.join(""):void 0}$i.exports={nonSimpleDomain:Vf,recomposeAuthority:zf,normalizeComponentEncoding:Jf,removeDotSegments:Uf,isIPv4:Ci,isUUID:Lf,normalizeIPv6:Ei,stringArrayToHexStripped:Gs};});var Pi=x((Gy,Ii)=>{var{isUUID:Hf}=Ks(),Wf=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,Yf=["http","https","ws","wss","urn","urn:uuid"];function Xf(e){return Yf.indexOf(e)!==-1}function Us(e){return e.secure===true?true:e.secure===false?false:e.scheme?e.scheme.length===3&&(e.scheme[0]==="w"||e.scheme[0]==="W")&&(e.scheme[1]==="s"||e.scheme[1]==="S")&&(e.scheme[2]==="s"||e.scheme[2]==="S"):false}function xi(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function Ti(e){let t=String(e.scheme).toLowerCase()==="https";return (e.port===(t?443:80)||e.port==="")&&(e.port=void 0),e.path||(e.path="/"),e}function Qf(e){return e.secure=Us(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function Zf(e){if((e.port===(Us(e)?443:80)||e.port==="")&&(e.port=void 0),typeof e.secure=="boolean"&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){let[t,r]=e.resourceName.split("?");e.path=t&&t!=="/"?t:void 0,e.query=r,e.resourceName=void 0;}return e.fragment=void 0,e}function ep(e,t){if(!e.path)return e.error="URN can not be parsed",e;let r=e.path.match(Wf);if(r){let n=t.scheme||e.scheme||"urn";e.nid=r[1].toLowerCase(),e.nss=r[2];let s=`${n}:${t.nid||e.nid}`,o=Js(s);e.path=void 0,o&&(e=o.parse(e,t));}else e.error=e.error||"URN can not be parsed.";return e}function tp(e,t){if(e.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=t.scheme||e.scheme||"urn",n=e.nid.toLowerCase(),s=`${r}:${t.nid||n}`,o=Js(s);o&&(e=o.serialize(e,t));let a=e,i=e.nss;return a.path=`${n||t.nid}:${i}`,t.skipEscape=true,a}function rp(e,t){let r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!Hf(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function np(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var Ai={scheme:"http",domainHost:true,parse:xi,serialize:Ti},sp={scheme:"https",domainHost:Ai.domainHost,parse:xi,serialize:Ti},mn={scheme:"ws",domainHost:true,parse:Qf,serialize:Zf},op={scheme:"wss",domainHost:mn.domainHost,parse:mn.parse,serialize:mn.serialize},ap={scheme:"urn",parse:ep,serialize:tp,skipNormalize:true},ip={scheme:"urn:uuid",parse:rp,serialize:np,skipNormalize:true},gn={http:Ai,https:sp,ws:mn,wss:op,urn:ap,"urn:uuid":ip};Object.setPrototypeOf(gn,null);function Js(e){return e&&(gn[e]||gn[e.toLowerCase()])||void 0}Ii.exports={wsIsSecure:Us,SCHEMES:gn,isValidSchemeName:Xf,getSchemeHandler:Js};});var Ni=x((Ky,yn)=>{var{normalizeIPv6:cp,removeDotSegments:wr,recomposeAuthority:up,normalizeComponentEncoding:hn,isIPv4:dp,nonSimpleDomain:lp}=Ks(),{SCHEMES:fp,getSchemeHandler:Oi}=Pi();function pp(e,t){return typeof e=="string"?e=Ye(st(e,t),t):typeof e=="object"&&(e=st(Ye(e,t),t)),e}function mp(e,t,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},s=ji(st(e,n),st(t,n),n,true);return n.skipEscape=true,Ye(s,n)}function ji(e,t,r,n){let s={};return n||(e=st(Ye(e,r),r),t=st(Ye(t,r),r)),r=r||{},!r.tolerant&&t.scheme?(s.scheme=t.scheme,s.userinfo=t.userinfo,s.host=t.host,s.port=t.port,s.path=wr(t.path||""),s.query=t.query):(t.userinfo!==void 0||t.host!==void 0||t.port!==void 0?(s.userinfo=t.userinfo,s.host=t.host,s.port=t.port,s.path=wr(t.path||""),s.query=t.query):(t.path?(t.path[0]==="/"?s.path=wr(t.path):((e.userinfo!==void 0||e.host!==void 0||e.port!==void 0)&&!e.path?s.path="/"+t.path:e.path?s.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:s.path=t.path,s.path=wr(s.path)),s.query=t.query):(s.path=e.path,t.query!==void 0?s.query=t.query:s.query=e.query),s.userinfo=e.userinfo,s.host=e.host,s.port=e.port),s.scheme=e.scheme),s.fragment=t.fragment,s}function gp(e,t,r){return typeof e=="string"?(e=unescape(e),e=Ye(hn(st(e,r),true),{...r,skipEscape:true})):typeof e=="object"&&(e=Ye(hn(e,true),{...r,skipEscape:true})),typeof t=="string"?(t=unescape(t),t=Ye(hn(st(t,r),true),{...r,skipEscape:true})):typeof t=="object"&&(t=Ye(hn(t,true),{...r,skipEscape:true})),e.toLowerCase()===t.toLowerCase()}function Ye(e,t){let r={host:e.host,scheme:e.scheme,userinfo:e.userinfo,port:e.port,path:e.path,query:e.query,nid:e.nid,nss:e.nss,uuid:e.uuid,fragment:e.fragment,reference:e.reference,resourceName:e.resourceName,secure:e.secure,error:""},n=Object.assign({},t),s=[],o=Oi(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=up(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=wr(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 hp=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function st(e,t){let r=Object.assign({},t),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},s=false;r.reference==="suffix"&&(r.scheme?e=r.scheme+":"+e:e="//"+e);let o=e.match(hp);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(dp(n.host)===false){let u=cp(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=Oi(r.scheme||n.scheme);if(!r.unicodeSupport&&(!a||!a.unicodeSupport)&&n.host&&(r.domainHost||a&&a.domainHost)&&s===false&&lp(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase());}catch(i){n.error=n.error||"Host's domain name can not be converted to ASCII: "+i;}(!a||a&&!a.skipNormalize)&&(e.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=unescape(n.host))),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),a&&a.parse&&a.parse(n,r);}else n.error=n.error||"URI can not be parsed.";return n}var zs={SCHEMES:fp,normalize:pp,resolve:mp,resolveComponent:ji,equal:gp,serialize:Ye,parse:st};yn.exports=zs;yn.exports.default=zs;yn.exports.fastUri=zs;});var Fi=x(Hs=>{Object.defineProperty(Hs,"__esModule",{value:true});var qi=Ni();qi.code='require("ajv/dist/runtime/uri").default';Hs.default=qi;});var Ui=x(ge=>{Object.defineProperty(ge,"__esModule",{value:true});ge.CodeGen=ge.Name=ge.nil=ge.stringify=ge.str=ge._=ge.KeywordCxt=void 0;var yp=kr();Object.defineProperty(ge,"KeywordCxt",{enumerable:true,get:function(){return yp.KeywordCxt}});var Xt=G();Object.defineProperty(ge,"_",{enumerable:true,get:function(){return Xt._}});Object.defineProperty(ge,"str",{enumerable:true,get:function(){return Xt.str}});Object.defineProperty(ge,"stringify",{enumerable:true,get:function(){return Xt.stringify}});Object.defineProperty(ge,"nil",{enumerable:true,get:function(){return Xt.nil}});Object.defineProperty(ge,"Name",{enumerable:true,get:function(){return Xt.Name}});Object.defineProperty(ge,"CodeGen",{enumerable:true,get:function(){return Xt.CodeGen}});var vp=ln(),Bi=br(),Sp=_s(),_r=pn(),kp=G(),Rr=yr(),vn=hr(),Ys=z(),Di=_i(),bp=Fi(),Gi=(e,t)=>new RegExp(e,t);Gi.code="new RegExp";var wp=["removeAdditional","useDefaults","coerceTypes"],_p=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."},Cp={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},Mi=200;function Ep(e){var t,r,n,s,o,a,i,u,c,d,l,h,y,m,f,v,_,g,p,k,b,E,R,$,I;let O=e.strict,B=(t=e.code)===null||t===void 0?void 0:t.optimize,W=B===true||B===void 0?1:B||0,Z=(n=(r=e.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:Gi,pe=(s=e.uriResolver)!==null&&s!==void 0?s:bp.default;return {strictSchema:(a=(o=e.strictSchema)!==null&&o!==void 0?o:O)!==null&&a!==void 0?a:true,strictNumbers:(u=(i=e.strictNumbers)!==null&&i!==void 0?i:O)!==null&&u!==void 0?u:true,strictTypes:(d=(c=e.strictTypes)!==null&&c!==void 0?c:O)!==null&&d!==void 0?d:"log",strictTuples:(h=(l=e.strictTuples)!==null&&l!==void 0?l:O)!==null&&h!==void 0?h:"log",strictRequired:(m=(y=e.strictRequired)!==null&&y!==void 0?y:O)!==null&&m!==void 0?m:false,code:e.code?{...e.code,optimize:W,regExp:Z}:{optimize:W,regExp:Z},loopRequired:(f=e.loopRequired)!==null&&f!==void 0?f:Mi,loopEnum:(v=e.loopEnum)!==null&&v!==void 0?v:Mi,meta:(_=e.meta)!==null&&_!==void 0?_:true,messages:(g=e.messages)!==null&&g!==void 0?g:true,inlineRefs:(p=e.inlineRefs)!==null&&p!==void 0?p:true,schemaId:(k=e.schemaId)!==null&&k!==void 0?k:"$id",addUsedSchema:(b=e.addUsedSchema)!==null&&b!==void 0?b:true,validateSchema:(E=e.validateSchema)!==null&&E!==void 0?E:true,validateFormats:(R=e.validateFormats)!==null&&R!==void 0?R:true,unicodeRegExp:($=e.unicodeRegExp)!==null&&$!==void 0?$:true,int32range:(I=e.int32range)!==null&&I!==void 0?I:true,uriResolver:pe}}var Cr=class{constructor(t={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,t=this.opts={...t,...Ep(t)};let{es5:r,lines:n}=this.opts.code;this.scope=new kp.ValueScope({scope:{},prefixes:_p,es5:r,lines:n}),this.logger=Pp(t.logger);let s=t.validateFormats;t.validateFormats=false,this.RULES=(0, Sp.getRules)(),Li.call(this,Rp,t,"NOT SUPPORTED"),Li.call(this,Cp,t,"DEPRECATED","warn"),this._metaOpts=Ap.call(this),t.formats&&xp.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),t.keywords&&Tp.call(this,t.keywords),typeof t.meta=="object"&&this.addMetaSchema(t.meta),$p.call(this),t.validateFormats=s;}_addVocabularies(){this.addKeyword("$async");}_addDefaultMetaSchema(){let{$data:t,meta:r,schemaId:n}=this.opts,s=Di;n==="id"&&(s={...Di},s.id=s.$id,delete s.$id),r&&t&&this.addMetaSchema(s,s[n],false);}defaultMeta(){let{meta:t,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof t=="object"?t[r]||t:void 0}validate(t,r){let n;if(typeof t=="string"){if(n=this.getSchema(t),!n)throw new Error(`no schema with key or ref "${t}"`)}else n=this.compile(t);let s=n(r);return "$async"in n||(this.errors=n.errors),s}compile(t,r){let n=this._addSchema(t,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(t,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return s.call(this,t,r);async function s(d,l){await o.call(this,d.$schema);let h=this._addSchema(d,l);return h.validate||a.call(this,h)}async function o(d){d&&!this.getSchema(d)&&await s.call(this,{$ref:d},true);}async function a(d){try{return this._compileSchemaEnv(d)}catch(l){if(!(l instanceof Bi.default))throw l;return i.call(this,l),await u.call(this,l.missingSchema),a.call(this,d)}}function i({missingSchema:d,missingRef:l}){if(this.refs[d])throw new Error(`AnySchema ${d} is loaded but ${l} cannot be resolved`)}async function u(d){let l=await c.call(this,d);this.refs[d]||await o.call(this,l.$schema),this.refs[d]||this.addSchema(l,d,r);}async function c(d){let l=this._loading[d];if(l)return l;try{return await(this._loading[d]=n(d))}finally{delete this._loading[d];}}}addSchema(t,r,n,s=this.opts.validateSchema){if(Array.isArray(t)){for(let a of t)this.addSchema(a,void 0,n,s);return this}let o;if(typeof t=="object"){let{schemaId:a}=this.opts;if(o=t[a],o!==void 0&&typeof o!="string")throw new Error(`schema ${a} must be string`)}return r=(0, Rr.normalizeId)(r||o),this._checkUnique(r),this.schemas[r]=this._addSchema(t,n,r,s,true),this}addMetaSchema(t,r,n=this.opts.validateSchema){return this.addSchema(t,r,true,n),this}validateSchema(t,r){if(typeof t=="boolean")return true;let n;if(n=t.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,true;let s=this.validate(n,t);if(!s&&r){let o="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(o);else throw new Error(o)}return s}getSchema(t){let r;for(;typeof(r=Vi.call(this,t))=="string";)t=r;if(r===void 0){let{schemaId:n}=this.opts,s=new _r.SchemaEnv({schema:{},schemaId:n});if(r=_r.resolveSchema.call(this,s,t),!r)return;this.refs[t]=r;}return r.validate||this._compileSchemaEnv(r)}removeSchema(t){if(t instanceof RegExp)return this._removeAllSchemas(this.schemas,t),this._removeAllSchemas(this.refs,t),this;switch(typeof t){case "undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case "string":{let r=Vi.call(this,t);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[t],delete this.refs[t],this}case "object":{let r=t;this._cache.delete(r);let n=t[this.opts.schemaId];return n&&(n=(0, Rr.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(t){for(let r of t)this.addKeyword(r);return this}addKeyword(t,r){let n;if(typeof t=="string")n=t,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof t=="object"&&r===void 0){if(r=t,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(jp.call(this,n,r),!r)return (0, Ys.eachItem)(n,o=>Ws.call(this,o)),this;qp.call(this,r);let s={...r,type:(0, vn.getJSONTypes)(r.type),schemaType:(0, vn.getJSONTypes)(r.schemaType)};return (0, Ys.eachItem)(n,s.type.length===0?o=>Ws.call(this,o,s):o=>s.type.forEach(a=>Ws.call(this,o,s,a))),this}getKeyword(t){let r=this.RULES.all[t];return typeof r=="object"?r.definition:!!r}removeKeyword(t){let{RULES:r}=this;delete r.keywords[t],delete r.all[t];for(let n of r.rules){let s=n.rules.findIndex(o=>o.keyword===t);s>=0&&n.rules.splice(s,1);}return this}addFormat(t,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[t]=r,this}errorsText(t=this.errors,{separator:r=", ",dataVar:n="data"}={}){return !t||t.length===0?"No errors":t.map(s=>`${n}${s.instancePath} ${s.message}`).reduce((s,o)=>s+r+o)}$dataMetaSchema(t,r){let n=this.RULES.all;t=JSON.parse(JSON.stringify(t));for(let s of r){let o=s.split("/").slice(1),a=t;for(let i of o)a=a[i];for(let i in n){let u=n[i];if(typeof u!="object")continue;let{$data:c}=u.definition,d=a[i];c&&d&&(a[i]=Ki(d));}}return t}_removeAllSchemas(t,r){for(let n in t){let s=t[n];(!r||r.test(n))&&(typeof s=="string"?delete t[n]:s&&!s.meta&&(this._cache.delete(s.schema),delete t[n]));}}_addSchema(t,r,n,s=this.opts.validateSchema,o=this.opts.addUsedSchema){let a,{schemaId:i}=this.opts;if(typeof t=="object")a=t[i];else {if(this.opts.jtd)throw new Error("schema must be object");if(typeof t!="boolean")throw new Error("schema must be object or boolean")}let u=this._cache.get(t);if(u!==void 0)return u;n=(0, Rr.normalizeId)(a||n);let c=Rr.getSchemaRefs.call(this,t,n);return u=new _r.SchemaEnv({schema:t,schemaId:i,meta:r,baseId:n,localRefs:c}),this._cache.set(u.schema,u),o&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=u),s&&this.validateSchema(t,true),u}_checkUnique(t){if(this.schemas[t]||this.refs[t])throw new Error(`schema with key or id "${t}" already exists`)}_compileSchemaEnv(t){if(t.meta?this._compileMetaSchema(t):_r.compileSchema.call(this,t),!t.validate)throw new Error("ajv implementation error");return t.validate}_compileMetaSchema(t){let r=this.opts;this.opts=this._metaOpts;try{_r.compileSchema.call(this,t);}finally{this.opts=r;}}};Cr.ValidationError=vp.default;Cr.MissingRefError=Bi.default;ge.default=Cr;function Li(e,t,r,n="error"){for(let s in e){let o=s;o in t&&this.logger[n](`${r}: option ${s}. ${e[o]}`);}}function Vi(e){return e=(0, Rr.normalizeId)(e),this.schemas[e]||this.refs[e]}function $p(){let e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(let t in e)this.addSchema(e[t],t);}function xp(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t);}}function Tp(e){if(Array.isArray(e)){this.addVocabulary(e);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let t in e){let r=e[t];r.keyword||(r.keyword=t),this.addKeyword(r);}}function Ap(){let e={...this.opts};for(let t of wp)delete e[t];return e}var Ip={log(){},warn(){},error(){}};function Pp(e){if(e===false)return Ip;if(e===void 0)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}var Op=/^[a-z_$][a-z0-9_$:-]*$/i;function jp(e,t){let{RULES:r}=this;if((0, Ys.eachItem)(e,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!Op.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!t&&t.$data&&!("code"in t||"validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function Ws(e,t,r){var n;let s=t?.post;if(r&&s)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:o}=this,a=s?o.post:o.rules.find(({type:u})=>u===r);if(a||(a={type:r,rules:[]},o.rules.push(a)),o.keywords[e]=true,!t)return;let i={keyword:e,definition:{...t,type:(0, vn.getJSONTypes)(t.type),schemaType:(0, vn.getJSONTypes)(t.schemaType)}};t.before?Np.call(this,a,i,t.before):a.rules.push(i),o.all[e]=i,(n=t.implements)===null||n===void 0||n.forEach(u=>this.addKeyword(u));}function Np(e,t,r){let n=e.rules.findIndex(s=>s.keyword===r);n>=0?e.rules.splice(n,0,t):(e.rules.push(t),this.logger.warn(`rule ${r} is not defined`));}function qp(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=Ki(t)),e.validateSchema=this.compile(t,true));}var Fp={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Ki(e){return {anyOf:[e,Fp]}}});var Ji=x(Xs=>{Object.defineProperty(Xs,"__esModule",{value:true});var Dp={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Xs.default=Dp;});var Yi=x(Ot=>{Object.defineProperty(Ot,"__esModule",{value:true});Ot.callRef=Ot.getValidate=void 0;var Mp=br(),zi=Fe(),Ae=G(),Qt=rt(),Hi=pn(),Sn=z(),Lp={keyword:"$ref",schemaType:"string",code(e){let{gen:t,schema:r,it:n}=e,{baseId:s,schemaEnv:o,validateName:a,opts:i,self:u}=n,{root:c}=o;if((r==="#"||r==="#/")&&s===c.baseId)return l();let d=Hi.resolveRef.call(u,c,s,r);if(d===void 0)throw new Mp.default(n.opts.uriResolver,s,r);if(d instanceof Hi.SchemaEnv)return h(d);return y(d);function l(){if(o===c)return kn(e,a,o,o.$async);let m=t.scopeValue("root",{ref:c});return kn(e,(0, Ae._)`${m}.validate`,c,c.$async)}function h(m){let f=Wi(e,m);kn(e,f,m,m.$async);}function y(m){let f=t.scopeValue("schema",i.code.source===true?{ref:m,code:(0, Ae.stringify)(m)}:{ref:m}),v=t.name("valid"),_=e.subschema({schema:m,dataTypes:[],schemaPath:Ae.nil,topSchemaRef:f,errSchemaPath:r},v);e.mergeEvaluated(_),e.ok(v);}}};function Wi(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0, Ae._)`${r.scopeValue("wrapper",{ref:t})}.validate`}Ot.getValidate=Wi;function kn(e,t,r,n){let{gen:s,it:o}=e,{allErrors:a,schemaEnv:i,opts:u}=o,c=u.passContext?Qt.default.this:Ae.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, Ae._)`await ${(0, zi.callValidateCode)(e,t,c)}`),y(t),a||s.assign(m,true);},f=>{s.if((0, Ae._)`!(${f} instanceof ${o.ValidationError})`,()=>s.throw(f)),h(f),a||s.assign(m,false);}),e.ok(m);}function l(){e.result((0, zi.callValidateCode)(e,t,c),()=>y(t),()=>h(t));}function h(m){let f=(0, Ae._)`${m}.errors`;s.assign(Qt.default.vErrors,(0, Ae._)`${Qt.default.vErrors} === null ? ${f} : ${Qt.default.vErrors}.concat(${f})`),s.assign(Qt.default.errors,(0, Ae._)`${Qt.default.vErrors}.length`);}function y(m){var f;if(!o.opts.unevaluated)return;let v=(f=r?.validate)===null||f===void 0?void 0:f.evaluated;if(o.props!==true)if(v&&!v.dynamicProps)v.props!==void 0&&(o.props=Sn.mergeEvaluated.props(s,v.props,o.props));else {let _=s.var("props",(0, Ae._)`${m}.evaluated.props`);o.props=Sn.mergeEvaluated.props(s,_,o.props,Ae.Name);}if(o.items!==true)if(v&&!v.dynamicItems)v.items!==void 0&&(o.items=Sn.mergeEvaluated.items(s,v.items,o.items));else {let _=s.var("items",(0, Ae._)`${m}.evaluated.items`);o.items=Sn.mergeEvaluated.items(s,_,o.items,Ae.Name);}}}Ot.callRef=kn;Ot.default=Lp;});var Xi=x(Qs=>{Object.defineProperty(Qs,"__esModule",{value:true});var Vp=Ji(),Bp=Yi(),Gp=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",Vp.default,Bp.default];Qs.default=Gp;});var Qi=x(Zs=>{Object.defineProperty(Zs,"__esModule",{value:true});var bn=G(),gt=bn.operators,wn={maximum:{okStr:"<=",ok:gt.LTE,fail:gt.GT},minimum:{okStr:">=",ok:gt.GTE,fail:gt.LT},exclusiveMaximum:{okStr:"<",ok:gt.LT,fail:gt.GTE},exclusiveMinimum:{okStr:">",ok:gt.GT,fail:gt.LTE}},Kp={message:({keyword:e,schemaCode:t})=>(0, bn.str)`must be ${wn[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0, bn._)`{comparison: ${wn[e].okStr}, limit: ${t}}`},Up={keyword:Object.keys(wn),type:"number",schemaType:"number",$data:true,error:Kp,code(e){let{keyword:t,data:r,schemaCode:n}=e;e.fail$data((0, bn._)`${r} ${wn[t].fail} ${n} || isNaN(${r})`);}};Zs.default=Up;});var Zi=x(eo=>{Object.defineProperty(eo,"__esModule",{value:true});var Er=G(),Jp={message:({schemaCode:e})=>(0, Er.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0, Er._)`{multipleOf: ${e}}`},zp={keyword:"multipleOf",type:"number",schemaType:"number",$data:true,error:Jp,code(e){let{gen:t,data:r,schemaCode:n,it:s}=e,o=s.opts.multipleOfPrecision,a=t.let("res"),i=o?(0, Er._)`Math.abs(Math.round(${a}) - ${a}) > 1e-${o}`:(0, Er._)`${a} !== parseInt(${a})`;e.fail$data((0, Er._)`(${n} === 0 || (${a} = ${r}/${n}, ${i}))`);}};eo.default=zp;});var tc=x(to=>{Object.defineProperty(to,"__esModule",{value:true});function ec(e){let t=e.length,r=0,n=0,s;for(;n<t;)r++,s=e.charCodeAt(n++),s>=55296&&s<=56319&&n<t&&(s=e.charCodeAt(n),(s&64512)===56320&&n++);return r}to.default=ec;ec.code='require("ajv/dist/runtime/ucs2length").default';});var rc=x(ro=>{Object.defineProperty(ro,"__esModule",{value:true});var jt=G(),Hp=z(),Wp=tc(),Yp={message({keyword:e,schemaCode:t}){let r=e==="maxLength"?"more":"fewer";return (0, jt.str)`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>(0, jt._)`{limit: ${e}}`},Xp={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:true,error:Yp,code(e){let{keyword:t,data:r,schemaCode:n,it:s}=e,o=t==="maxLength"?jt.operators.GT:jt.operators.LT,a=s.opts.unicode===false?(0, jt._)`${r}.length`:(0, jt._)`${(0, Hp.useFunc)(e.gen,Wp.default)}(${r})`;e.fail$data((0, jt._)`${a} ${o} ${n}`);}};ro.default=Xp;});var nc=x(no=>{Object.defineProperty(no,"__esModule",{value:true});var Qp=Fe(),Zp=z(),Zt=G(),em={message:({schemaCode:e})=>(0, Zt.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0, Zt._)`{pattern: ${e}}`},tm={keyword:"pattern",type:"string",schemaType:"string",$data:true,error:em,code(e){let{gen:t,data:r,$data:n,schema:s,schemaCode:o,it:a}=e,i=a.opts.unicodeRegExp?"u":"";if(n){let{regExp:u}=a.opts.code,c=u.code==="new RegExp"?(0, Zt._)`new RegExp`:(0, Zp.useFunc)(t,u),d=t.let("valid");t.try(()=>t.assign(d,(0, Zt._)`${c}(${o}, ${i}).test(${r})`),()=>t.assign(d,false)),e.fail$data((0, Zt._)`!${d}`);}else {let u=(0, Qp.usePattern)(e,s);e.fail$data((0, Zt._)`!${u}.test(${r})`);}}};no.default=tm;});var sc=x(so=>{Object.defineProperty(so,"__esModule",{value:true});var $r=G(),rm={message({keyword:e,schemaCode:t}){let r=e==="maxProperties"?"more":"fewer";return (0, $r.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0, $r._)`{limit: ${e}}`},nm={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:true,error:rm,code(e){let{keyword:t,data:r,schemaCode:n}=e,s=t==="maxProperties"?$r.operators.GT:$r.operators.LT;e.fail$data((0, $r._)`Object.keys(${r}).length ${s} ${n}`);}};so.default=nm;});var oc=x(oo=>{Object.defineProperty(oo,"__esModule",{value:true});var xr=Fe(),Tr=G(),sm=z(),om={message:({params:{missingProperty:e}})=>(0, Tr.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0, Tr._)`{missingProperty: ${e}}`},am={keyword:"required",type:"object",schemaType:"array",$data:true,error:om,code(e){let{gen:t,schema:r,schemaCode:n,data:s,$data:o,it:a}=e,{opts:i}=a;if(!o&&r.length===0)return;let u=r.length>=i.loopRequired;if(a.allErrors?c():d(),i.strictRequired){let y=e.parentSchema.properties,{definedProperties:m}=e.it;for(let f of r)if(y?.[f]===void 0&&!m.has(f)){let v=a.schemaEnv.baseId+a.errSchemaPath,_=`required property "${f}" is not defined at "${v}" (strictRequired)`;(0, sm.checkStrictMode)(a,_,a.opts.strictRequired);}}function c(){if(u||o)e.block$data(Tr.nil,l);else for(let y of r)(0, xr.checkReportMissingProp)(e,y);}function d(){let y=t.let("missing");if(u||o){let m=t.let("valid",true);e.block$data(m,()=>h(y,m)),e.ok(m);}else t.if((0, xr.checkMissingProp)(e,r,y)),(0, xr.reportMissingProp)(e,y),t.else();}function l(){t.forOf("prop",n,y=>{e.setParams({missingProperty:y}),t.if((0, xr.noPropertyInData)(t,s,y,i.ownProperties),()=>e.error());});}function h(y,m){e.setParams({missingProperty:y}),t.forOf(y,n,()=>{t.assign(m,(0, xr.propertyInData)(t,s,y,i.ownProperties)),t.if((0, Tr.not)(m),()=>{e.error(),t.break();});},Tr.nil);}}};oo.default=am;});var ac=x(ao=>{Object.defineProperty(ao,"__esModule",{value:true});var Ar=G(),im={message({keyword:e,schemaCode:t}){let r=e==="maxItems"?"more":"fewer";return (0, Ar.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0, Ar._)`{limit: ${e}}`},cm={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:true,error:im,code(e){let{keyword:t,data:r,schemaCode:n}=e,s=t==="maxItems"?Ar.operators.GT:Ar.operators.LT;e.fail$data((0, Ar._)`${r}.length ${s} ${n}`);}};ao.default=cm;});var _n=x(io=>{Object.defineProperty(io,"__esModule",{value:true});var ic=Is();ic.code='require("ajv/dist/runtime/equal").default';io.default=ic;});var cc=x(uo=>{Object.defineProperty(uo,"__esModule",{value:true});var co=hr(),he=G(),um=z(),dm=_n(),lm={message:({params:{i:e,j:t}})=>(0, he.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0, he._)`{i: ${e}, j: ${t}}`},fm={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:true,error:lm,code(e){let{gen:t,data:r,$data:n,schema:s,parentSchema:o,schemaCode:a,it:i}=e;if(!n&&!s)return;let u=t.let("valid"),c=o.items?(0, co.getSchemaTypes)(o.items):[];e.block$data(u,d,(0, he._)`${a} === false`),e.ok(u);function d(){let m=t.let("i",(0, he._)`${r}.length`),f=t.let("j");e.setParams({i:m,j:f}),t.assign(u,true),t.if((0, he._)`${m} > 1`,()=>(l()?h:y)(m,f));}function l(){return c.length>0&&!c.some(m=>m==="object"||m==="array")}function h(m,f){let v=t.name("item"),_=(0, co.checkDataTypes)(c,v,i.opts.strictNumbers,co.DataType.Wrong),g=t.const("indices",(0, he._)`{}`);t.for((0, he._)`;${m}--;`,()=>{t.let(v,(0, he._)`${r}[${m}]`),t.if(_,(0, he._)`continue`),c.length>1&&t.if((0, he._)`typeof ${v} == "string"`,(0, he._)`${v} += "_"`),t.if((0, he._)`typeof ${g}[${v}] == "number"`,()=>{t.assign(f,(0, he._)`${g}[${v}]`),e.error(),t.assign(u,false).break();}).code((0, he._)`${g}[${v}] = ${m}`);});}function y(m,f){let v=(0, um.useFunc)(t,dm.default),_=t.name("outer");t.label(_).for((0, he._)`;${m}--;`,()=>t.for((0, he._)`${f} = ${m}; ${f}--;`,()=>t.if((0, he._)`${v}(${r}[${m}], ${r}[${f}])`,()=>{e.error(),t.assign(u,false).break(_);})));}}};uo.default=fm;});var uc=x(fo=>{Object.defineProperty(fo,"__esModule",{value:true});var lo=G(),pm=z(),mm=_n(),gm={message:"must be equal to constant",params:({schemaCode:e})=>(0, lo._)`{allowedValue: ${e}}`},hm={keyword:"const",$data:true,error:gm,code(e){let{gen:t,data:r,$data:n,schemaCode:s,schema:o}=e;n||o&&typeof o=="object"?e.fail$data((0, lo._)`!${(0, pm.useFunc)(t,mm.default)}(${r}, ${s})`):e.fail((0, lo._)`${o} !== ${r}`);}};fo.default=hm;});var dc=x(po=>{Object.defineProperty(po,"__esModule",{value:true});var Ir=G(),ym=z(),vm=_n(),Sm={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0, Ir._)`{allowedValues: ${e}}`},km={keyword:"enum",schemaType:"array",$data:true,error:Sm,code(e){let{gen:t,data:r,$data:n,schema:s,schemaCode:o,it:a}=e;if(!n&&s.length===0)throw new Error("enum must have non-empty array");let i=s.length>=a.opts.loopEnum,u,c=()=>u??(u=(0, ym.useFunc)(t,vm.default)),d;if(i||n)d=t.let("valid"),e.block$data(d,l);else {if(!Array.isArray(s))throw new Error("ajv implementation error");let y=t.const("vSchema",o);d=(0, Ir.or)(...s.map((m,f)=>h(y,f)));}e.pass(d);function l(){t.assign(d,false),t.forOf("v",o,y=>t.if((0, Ir._)`${c()}(${r}, ${y})`,()=>t.assign(d,true).break()));}function h(y,m){let f=s[m];return typeof f=="object"&&f!==null?(0, Ir._)`${c()}(${r}, ${y}[${m}])`:(0, Ir._)`${r} === ${f}`}}};po.default=km;});var lc=x(mo=>{Object.defineProperty(mo,"__esModule",{value:true});var bm=Qi(),wm=Zi(),_m=rc(),Rm=nc(),Cm=sc(),Em=oc(),$m=ac(),xm=cc(),Tm=uc(),Am=dc(),Im=[bm.default,wm.default,_m.default,Rm.default,Cm.default,Em.default,$m.default,xm.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},Tm.default,Am.default];mo.default=Im;});var ho=x(Pr=>{Object.defineProperty(Pr,"__esModule",{value:true});Pr.validateAdditionalItems=void 0;var Nt=G(),go=z(),Pm={message:({params:{len:e}})=>(0, Nt.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0, Nt._)`{limit: ${e}}`},Om={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:Pm,code(e){let{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){(0, go.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}fc(e,n);}};function fc(e,t){let{gen:r,schema:n,data:s,keyword:o,it:a}=e;a.items=true;let i=r.const("len",(0, Nt._)`${s}.length`);if(n===false)e.setParams({len:t.length}),e.pass((0, Nt._)`${i} <= ${t.length}`);else if(typeof n=="object"&&!(0, go.alwaysValidSchema)(a,n)){let c=r.var("valid",(0, Nt._)`${i} <= ${t.length}`);r.if((0, Nt.not)(c),()=>u(c)),e.ok(c);}function u(c){r.forRange("i",t.length,i,d=>{e.subschema({keyword:o,dataProp:d,dataPropType:go.Type.Num},c),a.allErrors||r.if((0, Nt.not)(c),()=>r.break());});}}Pr.validateAdditionalItems=fc;Pr.default=Om;});var yo=x(Or=>{Object.defineProperty(Or,"__esModule",{value:true});Or.validateTuple=void 0;var pc=G(),Rn=z(),jm=Fe(),Nm={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return mc(e,"additionalItems",t);r.items=true,!(0, Rn.alwaysValidSchema)(r,t)&&e.ok((0, jm.validateArray)(e));}};function mc(e,t,r=e.schema){let{gen:n,parentSchema:s,data:o,keyword:a,it:i}=e;d(s),i.opts.unevaluated&&r.length&&i.items!==true&&(i.items=Rn.mergeEvaluated.items(n,r.length,i.items));let u=n.name("valid"),c=n.const("len",(0, pc._)`${o}.length`);r.forEach((l,h)=>{(0, Rn.alwaysValidSchema)(i,l)||(n.if((0, pc._)`${c} > ${h}`,()=>e.subschema({keyword:a,schemaProp:h,dataProp:h},u)),e.ok(u));});function d(l){let{opts:h,errSchemaPath:y}=i,m=r.length,f=m===l.minItems&&(m===l.maxItems||l[t]===false);if(h.strictTuples&&!f){let v=`"${a}" is ${m}-tuple, but minItems or maxItems/${t} are not specified or different at path "${y}"`;(0, Rn.checkStrictMode)(i,v,h.strictTuples);}}}Or.validateTuple=mc;Or.default=Nm;});var gc=x(vo=>{Object.defineProperty(vo,"__esModule",{value:true});var qm=yo(),Fm={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0, qm.validateTuple)(e,"items")};vo.default=Fm;});var yc=x(So=>{Object.defineProperty(So,"__esModule",{value:true});var hc=G(),Dm=z(),Mm=Fe(),Lm=ho(),Vm={message:({params:{len:e}})=>(0, hc.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0, hc._)`{limit: ${e}}`},Bm={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:Vm,code(e){let{schema:t,parentSchema:r,it:n}=e,{prefixItems:s}=r;n.items=true,!(0, Dm.alwaysValidSchema)(n,t)&&(s?(0, Lm.validateAdditionalItems)(e,s):e.ok((0, Mm.validateArray)(e)));}};So.default=Bm;});var vc=x(ko=>{Object.defineProperty(ko,"__esModule",{value:true});var Me=G(),Cn=z(),Gm={message:({params:{min:e,max:t}})=>t===void 0?(0, Me.str)`must contain at least ${e} valid item(s)`:(0, Me.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0, Me._)`{minContains: ${e}}`:(0, Me._)`{minContains: ${e}, maxContains: ${t}}`},Km={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:true,error:Gm,code(e){let{gen:t,schema:r,parentSchema:n,data:s,it:o}=e,a,i,{minContains:u,maxContains:c}=n;o.opts.next?(a=u===void 0?1:u,i=c):a=1;let d=t.const("len",(0, Me._)`${s}.length`);if(e.setParams({min:a,max:i}),i===void 0&&a===0){(0, Cn.checkStrictMode)(o,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(i!==void 0&&a>i){(0, Cn.checkStrictMode)(o,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0, Cn.alwaysValidSchema)(o,r)){let f=(0, Me._)`${d} >= ${a}`;i!==void 0&&(f=(0, Me._)`${f} && ${d} <= ${i}`),e.pass(f);return}o.items=true;let l=t.name("valid");i===void 0&&a===1?y(l,()=>t.if(l,()=>t.break())):a===0?(t.let(l,true),i!==void 0&&t.if((0, Me._)`${s}.length > 0`,h)):(t.let(l,false),h()),e.result(l,()=>e.reset());function h(){let f=t.name("_valid"),v=t.let("count",0);y(f,()=>t.if(f,()=>m(v)));}function y(f,v){t.forRange("i",0,d,_=>{e.subschema({keyword:"contains",dataProp:_,dataPropType:Cn.Type.Num,compositeRule:true},f),v();});}function m(f){t.code((0, Me._)`${f}++`),i===void 0?t.if((0, Me._)`${f} >= ${a}`,()=>t.assign(l,true).break()):(t.if((0, Me._)`${f} > ${i}`,()=>t.assign(l,false).break()),a===1?t.assign(l,true):t.if((0, Me._)`${f} >= ${a}`,()=>t.assign(l,true)));}}};ko.default=Km;});var bc=x(Xe=>{Object.defineProperty(Xe,"__esModule",{value:true});Xe.validateSchemaDeps=Xe.validatePropertyDeps=Xe.error=void 0;var bo=G(),Um=z(),jr=Fe();Xe.error={message:({params:{property:e,depsCount:t,deps:r}})=>{let n=t===1?"property":"properties";return (0, bo.str)`must have ${n} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:r,missingProperty:n}})=>(0, bo._)`{property: ${e},
2
+ import {spawn,execFile,execFileSync}from'child_process';import*as w from'fs';import {existsSync}from'fs';import*as Kn from'os';import*as H from'path';import {dirname,resolve}from'path';import*as oa from'net';import {fileURLToPath}from'url';import {createHash,randomUUID}from'crypto';import {createRequire}from'module';import {lockSync}from'proper-lockfile';import eh from'ajv-formats';var Bu=Object.create;var ta=Object.defineProperty;var Gu=Object.getOwnPropertyDescriptor;var Ku=Object.getOwnPropertyNames;var Uu=Object.getPrototypeOf,Ju=Object.prototype.hasOwnProperty;var T=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var zu=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Ku(t))!Ju.call(e,s)&&s!==r&&ta(e,s,{get:()=>t[s],enumerable:!(n=Gu(t,s))||n.enumerable});return e};var Hu=(e,t,r)=>(r=e!=null?Bu(Uu(e)):{},zu(ta(r,"default",{value:e,enumerable:true}),e));var ur=T(X=>{Object.defineProperty(X,"__esModule",{value:true});X.regexpCode=X.getEsmExportName=X.getProperty=X.safeStringify=X.stringify=X.strConcat=X.addCodeArg=X.str=X._=X.nil=X._Code=X.Name=X.IDENTIFIER=X._CodeOrName=void 0;var ir=class{};X._CodeOrName=ir;X.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var xt=class extends ir{constructor(t){if(super(),!X.IDENTIFIER.test(t))throw new Error("CodeGen: name must be a valid identifier");this.str=t;}toString(){return this.str}emptyStr(){return false}get names(){return {[this.str]:1}}};X.Name=xt;var Fe=class extends ir{constructor(t){super(),this._items=typeof t=="string"?[t]:t;}toString(){return this.str}emptyStr(){if(this._items.length>1)return false;let t=this._items[0];return t===""||t==='""'}get str(){var t;return (t=this._str)!==null&&t!==void 0?t:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var t;return (t=this._names)!==null&&t!==void 0?t:this._names=this._items.reduce((r,n)=>(n instanceof xt&&(r[n.str]=(r[n.str]||0)+1),r),{})}};X._Code=Fe;X.nil=new Fe("");function Ca(e,...t){let r=[e[0]],n=0;for(;n<t.length;)ns(r,t[n]),r.push(e[++n]);return new Fe(r)}X._=Ca;var rs=new Fe("+");function Ea(e,...t){let r=[cr(e[0])],n=0;for(;n<t.length;)r.push(rs),ns(r,t[n]),r.push(rs,cr(e[++n]));return $d(r),new Fe(r)}X.str=Ea;function ns(e,t){t instanceof Fe?e.push(...t._items):t instanceof xt?e.push(t):e.push(Ad(t));}X.addCodeArg=ns;function $d(e){let t=1;for(;t<e.length-1;){if(e[t]===rs){let r=xd(e[t-1],e[t+1]);if(r!==void 0){e.splice(t-1,3,r);continue}e[t++]="+";}t++;}}function xd(e,t){if(t==='""')return e;if(e==='""')return t;if(typeof e=="string")return t instanceof xt||e[e.length-1]!=='"'?void 0:typeof t!="string"?`${e.slice(0,-1)}${t}"`:t[0]==='"'?e.slice(0,-1)+t.slice(1):void 0;if(typeof t=="string"&&t[0]==='"'&&!(e instanceof xt))return `"${e}${t.slice(1)}`}function Td(e,t){return t.emptyStr()?e:e.emptyStr()?t:Ea`${e}${t}`}X.strConcat=Td;function Ad(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:cr(Array.isArray(e)?e.join(","):e)}function Id(e){return new Fe(cr(e))}X.stringify=Id;function cr(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}X.safeStringify=cr;function Pd(e){return typeof e=="string"&&X.IDENTIFIER.test(e)?new Fe(`.${e}`):Ca`[${e}]`}X.getProperty=Pd;function Od(e){if(typeof e=="string"&&X.IDENTIFIER.test(e))return new Fe(`${e}`);throw new Error(`CodeGen: invalid export name: ${e}, use explicit $id name mapping`)}X.getEsmExportName=Od;function jd(e){return new Fe(e.toString())}X.regexpCode=jd;});var as=T(Ae=>{Object.defineProperty(Ae,"__esModule",{value:true});Ae.ValueScope=Ae.ValueScopeName=Ae.Scope=Ae.varKinds=Ae.UsedValueState=void 0;var Te=ur(),ss=class extends Error{constructor(t){super(`CodeGen: "code" for ${t} not defined`),this.value=t.value;}},Qr;(function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed";})(Qr||(Ae.UsedValueState=Qr={}));Ae.varKinds={const:new Te.Name("const"),let:new Te.Name("let"),var:new Te.Name("var")};var Zr=class{constructor({prefixes:t,parent:r}={}){this._names={},this._prefixes=t,this._parent=r;}toName(t){return t instanceof Te.Name?t:this.name(t)}name(t){return new Te.Name(this._newName(t))}_newName(t){let r=this._names[t]||this._nameGroup(t);return `${t}${r.index++}`}_nameGroup(t){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(t)||this._prefixes&&!this._prefixes.has(t))throw new Error(`CodeGen: prefix "${t}" is not allowed in this scope`);return this._names[t]={prefix:t,index:0}}};Ae.Scope=Zr;var en=class extends Te.Name{constructor(t,r){super(r),this.prefix=t;}setValue(t,{property:r,itemIndex:n}){this.value=t,this.scopePath=(0, Te._)`.${new Te.Name(r)}[${n}]`;}};Ae.ValueScopeName=en;var Nd=(0, Te._)`\n`,os=class extends Zr{constructor(t){super(t),this._values={},this._scope=t.scope,this.opts={...t,_n:t.lines?Nd:Te.nil};}get(){return this._scope}name(t){return new en(t,this._newName(t))}value(t,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let s=this.toName(t),{prefix:o}=s,a=(n=r.key)!==null&&n!==void 0?n:r.ref,i=this._values[o];if(i){let d=i.get(a);if(d)return d}else i=this._values[o]=new Map;i.set(a,s);let u=this._scope[o]||(this._scope[o]=[]),c=u.length;return u[c]=r.ref,s.setValue(r,{property:o,itemIndex:c}),s}getValue(t,r){let n=this._values[t];if(n)return n.get(r)}scopeRefs(t,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return (0, Te._)`${t}${n.scopePath}`})}scopeCode(t=this._values,r,n){return this._reduceValues(t,s=>{if(s.value===void 0)throw new Error(`CodeGen: name "${s}" has no value`);return s.value.code},r,n)}_reduceValues(t,r,n={},s){let o=Te.nil;for(let a in t){let i=t[a];if(!i)continue;let u=n[a]=n[a]||new Map;i.forEach(c=>{if(u.has(c))return;u.set(c,Qr.Started);let d=r(c);if(d){let l=this.opts.es5?Ae.varKinds.var:Ae.varKinds.const;o=(0, Te._)`${o}${l} ${c} = ${d};${this.opts._n}`;}else if(d=s?.(c))o=(0, Te._)`${o}${d}${this.opts._n}`;else throw new ss(c);u.set(c,Qr.Completed);});}return o}};Ae.ValueScope=os;});var U=T(K=>{Object.defineProperty(K,"__esModule",{value:true});K.or=K.and=K.not=K.CodeGen=K.operators=K.varKinds=K.ValueScopeName=K.ValueScope=K.Scope=K.Name=K.regexpCode=K.stringify=K.getProperty=K.nil=K.strConcat=K.str=K._=void 0;var z=ur(),Ke=as(),dt=ur();Object.defineProperty(K,"_",{enumerable:true,get:function(){return dt._}});Object.defineProperty(K,"str",{enumerable:true,get:function(){return dt.str}});Object.defineProperty(K,"strConcat",{enumerable:true,get:function(){return dt.strConcat}});Object.defineProperty(K,"nil",{enumerable:true,get:function(){return dt.nil}});Object.defineProperty(K,"getProperty",{enumerable:true,get:function(){return dt.getProperty}});Object.defineProperty(K,"stringify",{enumerable:true,get:function(){return dt.stringify}});Object.defineProperty(K,"regexpCode",{enumerable:true,get:function(){return dt.regexpCode}});Object.defineProperty(K,"Name",{enumerable:true,get:function(){return dt.Name}});var sn=as();Object.defineProperty(K,"Scope",{enumerable:true,get:function(){return sn.Scope}});Object.defineProperty(K,"ValueScope",{enumerable:true,get:function(){return sn.ValueScope}});Object.defineProperty(K,"ValueScopeName",{enumerable:true,get:function(){return sn.ValueScopeName}});Object.defineProperty(K,"varKinds",{enumerable:true,get:function(){return sn.varKinds}});K.operators={GT:new z._Code(">"),GTE:new z._Code(">="),LT:new z._Code("<"),LTE:new z._Code("<="),EQ:new z._Code("==="),NEQ:new z._Code("!=="),NOT:new z._Code("!"),OR:new z._Code("||"),AND:new z._Code("&&"),ADD:new z._Code("+")};var rt=class{optimizeNodes(){return this}optimizeNames(t,r){return this}},is=class extends rt{constructor(t,r,n){super(),this.varKind=t,this.name=r,this.rhs=n;}render({es5:t,_n:r}){let n=t?Ke.varKinds.var:this.varKind,s=this.rhs===void 0?"":` = ${this.rhs}`;return `${n} ${this.name}${s};`+r}optimizeNames(t,r){if(t[this.name.str])return this.rhs&&(this.rhs=Kt(this.rhs,t,r)),this}get names(){return this.rhs instanceof z._CodeOrName?this.rhs.names:{}}},tn=class extends rt{constructor(t,r,n){super(),this.lhs=t,this.rhs=r,this.sideEffects=n;}render({_n:t}){return `${this.lhs} = ${this.rhs};`+t}optimizeNames(t,r){if(!(this.lhs instanceof z.Name&&!t[this.lhs.str]&&!this.sideEffects))return this.rhs=Kt(this.rhs,t,r),this}get names(){let t=this.lhs instanceof z.Name?{}:{...this.lhs.names};return nn(t,this.rhs)}},cs=class extends tn{constructor(t,r,n,s){super(t,n,s),this.op=r;}render({_n:t}){return `${this.lhs} ${this.op}= ${this.rhs};`+t}},us=class extends rt{constructor(t){super(),this.label=t,this.names={};}render({_n:t}){return `${this.label}:`+t}},ds=class extends rt{constructor(t){super(),this.label=t,this.names={};}render({_n:t}){return `break${this.label?` ${this.label}`:""};`+t}},ls=class extends rt{constructor(t){super(),this.error=t;}render({_n:t}){return `throw ${this.error};`+t}get names(){return this.error.names}},fs=class extends rt{constructor(t){super(),this.code=t;}render({_n:t}){return `${this.code};`+t}optimizeNodes(){return `${this.code}`?this:void 0}optimizeNames(t,r){return this.code=Kt(this.code,t,r),this}get names(){return this.code instanceof z._CodeOrName?this.code.names:{}}},dr=class extends rt{constructor(t=[]){super(),this.nodes=t;}render(t){return this.nodes.reduce((r,n)=>r+n.render(t),"")}optimizeNodes(){let{nodes:t}=this,r=t.length;for(;r--;){let n=t[r].optimizeNodes();Array.isArray(n)?t.splice(r,1,...n):n?t[r]=n:t.splice(r,1);}return t.length>0?this:void 0}optimizeNames(t,r){let{nodes:n}=this,s=n.length;for(;s--;){let o=n[s];o.optimizeNames(t,r)||(qd(t,o.names),n.splice(s,1));}return n.length>0?this:void 0}get names(){return this.nodes.reduce((t,r)=>It(t,r.names),{})}},nt=class extends dr{render(t){return "{"+t._n+super.render(t)+"}"+t._n}},ps=class extends dr{},Gt=class extends nt{};Gt.kind="else";var Tt=class e extends nt{constructor(t,r){super(r),this.condition=t;}render(t){let r=`if(${this.condition})`+super.render(t);return this.else&&(r+="else "+this.else.render(t)),r}optimizeNodes(){super.optimizeNodes();let t=this.condition;if(t===true)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new Gt(n):n;}if(r)return t===false?r instanceof e?r:r.nodes:this.nodes.length?this:new e($a(t),r instanceof e?[r]:r.nodes);if(!(t===false||!this.nodes.length))return this}optimizeNames(t,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(t,r),!!(super.optimizeNames(t,r)||this.else))return this.condition=Kt(this.condition,t,r),this}get names(){let t=super.names;return nn(t,this.condition),this.else&&It(t,this.else.names),t}};Tt.kind="if";var At=class extends nt{};At.kind="for";var ms=class extends At{constructor(t){super(),this.iteration=t;}render(t){return `for(${this.iteration})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iteration=Kt(this.iteration,t,r),this}get names(){return It(super.names,this.iteration.names)}},gs=class extends At{constructor(t,r,n,s){super(),this.varKind=t,this.name=r,this.from=n,this.to=s;}render(t){let r=t.es5?Ke.varKinds.var:this.varKind,{name:n,from:s,to:o}=this;return `for(${r} ${n}=${s}; ${n}<${o}; ${n}++)`+super.render(t)}get names(){let t=nn(super.names,this.from);return nn(t,this.to)}},rn=class extends At{constructor(t,r,n,s){super(),this.loop=t,this.varKind=r,this.name=n,this.iterable=s;}render(t){return `for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iterable=Kt(this.iterable,t,r),this}get names(){return It(super.names,this.iterable.names)}},lr=class extends nt{constructor(t,r,n){super(),this.name=t,this.args=r,this.async=n;}render(t){return `${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(t)}};lr.kind="func";var fr=class extends dr{render(t){return "return "+super.render(t)}};fr.kind="return";var hs=class extends nt{render(t){let r="try"+super.render(t);return this.catch&&(r+=this.catch.render(t)),this.finally&&(r+=this.finally.render(t)),r}optimizeNodes(){var t,r;return super.optimizeNodes(),(t=this.catch)===null||t===void 0||t.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(t,r){var n,s;return super.optimizeNames(t,r),(n=this.catch)===null||n===void 0||n.optimizeNames(t,r),(s=this.finally)===null||s===void 0||s.optimizeNames(t,r),this}get names(){let t=super.names;return this.catch&&It(t,this.catch.names),this.finally&&It(t,this.finally.names),t}},pr=class extends nt{constructor(t){super(),this.error=t;}render(t){return `catch(${this.error})`+super.render(t)}};pr.kind="catch";var mr=class extends nt{render(t){return "finally"+super.render(t)}};mr.kind="finally";var ys=class{constructor(t,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
3
+ `:""},this._extScope=t,this._scope=new Ke.Scope({parent:t}),this._nodes=[new ps];}toString(){return this._root.render(this.opts)}name(t){return this._scope.name(t)}scopeName(t){return this._extScope.name(t)}scopeValue(t,r){let n=this._extScope.value(t,r);return (this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(t,r){return this._extScope.getValue(t,r)}scopeRefs(t){return this._extScope.scopeRefs(t,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(t,r,n,s){let o=this._scope.toName(r);return n!==void 0&&s&&(this._constants[o.str]=n),this._leafNode(new is(t,o,n)),o}const(t,r,n){return this._def(Ke.varKinds.const,t,r,n)}let(t,r,n){return this._def(Ke.varKinds.let,t,r,n)}var(t,r,n){return this._def(Ke.varKinds.var,t,r,n)}assign(t,r,n){return this._leafNode(new tn(t,r,n))}add(t,r){return this._leafNode(new cs(t,K.operators.ADD,r))}code(t){return typeof t=="function"?t():t!==z.nil&&this._leafNode(new fs(t)),this}object(...t){let r=["{"];for(let[n,s]of t)r.length>1&&r.push(","),r.push(n),(n!==s||this.opts.es5)&&(r.push(":"),(0, z.addCodeArg)(r,s));return r.push("}"),new z._Code(r)}if(t,r,n){if(this._blockNode(new Tt(t)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(t){return this._elseNode(new Tt(t))}else(){return this._elseNode(new Gt)}endIf(){return this._endBlockNode(Tt,Gt)}_for(t,r){return this._blockNode(t),r&&this.code(r).endFor(),this}for(t,r){return this._for(new ms(t),r)}forRange(t,r,n,s,o=this.opts.es5?Ke.varKinds.var:Ke.varKinds.let){let a=this._scope.toName(t);return this._for(new gs(o,a,r,n),()=>s(a))}forOf(t,r,n,s=Ke.varKinds.const){let o=this._scope.toName(t);if(this.opts.es5){let a=r instanceof z.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0, z._)`${a}.length`,i=>{this.var(o,(0, z._)`${a}[${i}]`),n(o);})}return this._for(new rn("of",s,o,r),()=>n(o))}forIn(t,r,n,s=this.opts.es5?Ke.varKinds.var:Ke.varKinds.const){if(this.opts.ownProperties)return this.forOf(t,(0, z._)`Object.keys(${r})`,n);let o=this._scope.toName(t);return this._for(new rn("in",s,o,r),()=>n(o))}endFor(){return this._endBlockNode(At)}label(t){return this._leafNode(new us(t))}break(t){return this._leafNode(new ds(t))}return(t){let r=new fr;if(this._blockNode(r),this.code(t),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(fr)}try(t,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let s=new hs;if(this._blockNode(s),this.code(t),r){let o=this.name("e");this._currNode=s.catch=new pr(o),r(o);}return n&&(this._currNode=s.finally=new mr,this.code(n)),this._endBlockNode(pr,mr)}throw(t){return this._leafNode(new ls(t))}block(t,r){return this._blockStarts.push(this._nodes.length),t&&this.code(t).endBlock(r),this}endBlock(t){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||t!==void 0&&n!==t)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${t} expected`);return this._nodes.length=r,this}func(t,r=z.nil,n,s){return this._blockNode(new lr(t,r,n)),s&&this.code(s).endFunc(),this}endFunc(){return this._endBlockNode(lr)}optimize(t=1){for(;t-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants);}_leafNode(t){return this._currNode.nodes.push(t),this}_blockNode(t){this._currNode.nodes.push(t),this._nodes.push(t);}_endBlockNode(t,r){let n=this._currNode;if(n instanceof t||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${t.kind}/${r.kind}`:t.kind}"`)}_elseNode(t){let r=this._currNode;if(!(r instanceof Tt))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=t,this}get _root(){return this._nodes[0]}get _currNode(){let t=this._nodes;return t[t.length-1]}set _currNode(t){let r=this._nodes;r[r.length-1]=t;}};K.CodeGen=ys;function It(e,t){for(let r in t)e[r]=(e[r]||0)+(t[r]||0);return e}function nn(e,t){return t instanceof z._CodeOrName?It(e,t.names):e}function Kt(e,t,r){if(e instanceof z.Name)return n(e);if(!s(e))return e;return new z._Code(e._items.reduce((o,a)=>(a instanceof z.Name&&(a=n(a)),a instanceof z._Code?o.push(...a._items):o.push(a),o),[]));function n(o){let a=r[o.str];return a===void 0||t[o.str]!==1?o:(delete t[o.str],a)}function s(o){return o instanceof z._Code&&o._items.some(a=>a instanceof z.Name&&t[a.str]===1&&r[a.str]!==void 0)}}function qd(e,t){for(let r in t)e[r]=(e[r]||0)-(t[r]||0);}function $a(e){return typeof e=="boolean"||typeof e=="number"||e===null?!e:(0, z._)`!${vs(e)}`}K.not=$a;var Fd=xa(K.operators.AND);function Dd(...e){return e.reduce(Fd)}K.and=Dd;var Md=xa(K.operators.OR);function Ld(...e){return e.reduce(Md)}K.or=Ld;function xa(e){return (t,r)=>t===z.nil?r:r===z.nil?t:(0, z._)`${vs(t)} ${e} ${vs(r)}`}function vs(e){return e instanceof z.Name?e:(0, z._)`(${e})`}});var W=T(J=>{Object.defineProperty(J,"__esModule",{value:true});J.checkStrictMode=J.getErrorPath=J.Type=J.useFunc=J.setEvaluated=J.evaluatedPropsToName=J.mergeEvaluated=J.eachItem=J.unescapeJsonPointer=J.escapeJsonPointer=J.escapeFragment=J.unescapeFragment=J.schemaRefOrVal=J.schemaHasRulesButRef=J.schemaHasRules=J.checkUnknownRules=J.alwaysValidSchema=J.toHash=void 0;var se=U(),Vd=ur();function Bd(e){let t={};for(let r of e)t[r]=true;return t}J.toHash=Bd;function Gd(e,t){return typeof t=="boolean"?t:Object.keys(t).length===0?true:(Ia(e,t),!Pa(t,e.self.RULES.all))}J.alwaysValidSchema=Gd;function Ia(e,t=e.schema){let{opts:r,self:n}=e;if(!r.strictSchema||typeof t=="boolean")return;let s=n.RULES.keywords;for(let o in t)s[o]||Na(e,`unknown keyword: "${o}"`);}J.checkUnknownRules=Ia;function Pa(e,t){if(typeof e=="boolean")return !e;for(let r in e)if(t[r])return true;return false}J.schemaHasRules=Pa;function Kd(e,t){if(typeof e=="boolean")return !e;for(let r in e)if(r!=="$ref"&&t.all[r])return true;return false}J.schemaHasRulesButRef=Kd;function Ud({topSchemaRef:e,schemaPath:t},r,n,s){if(!s){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return (0, se._)`${r}`}return (0, se._)`${e}${t}${(0, se.getProperty)(n)}`}J.schemaRefOrVal=Ud;function Jd(e){return Oa(decodeURIComponent(e))}J.unescapeFragment=Jd;function zd(e){return encodeURIComponent(bs(e))}J.escapeFragment=zd;function bs(e){return typeof e=="number"?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}J.escapeJsonPointer=bs;function Oa(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}J.unescapeJsonPointer=Oa;function Hd(e,t){if(Array.isArray(e))for(let r of e)t(r);else t(e);}J.eachItem=Hd;function Ta({mergeNames:e,mergeToName:t,mergeValues:r,resultToName:n}){return (s,o,a,i)=>{let u=a===void 0?o:a instanceof se.Name?(o instanceof se.Name?e(s,o,a):t(s,o,a),a):o instanceof se.Name?(t(s,a,o),o):r(o,a);return i===se.Name&&!(u instanceof se.Name)?n(s,u):u}}J.mergeEvaluated={props:Ta({mergeNames:(e,t,r)=>e.if((0, se._)`${r} !== true && ${t} !== undefined`,()=>{e.if((0, se._)`${t} === true`,()=>e.assign(r,true),()=>e.assign(r,(0, se._)`${r} || {}`).code((0, se._)`Object.assign(${r}, ${t})`));}),mergeToName:(e,t,r)=>e.if((0, se._)`${r} !== true`,()=>{t===true?e.assign(r,true):(e.assign(r,(0, se._)`${r} || {}`),ks(e,r,t));}),mergeValues:(e,t)=>e===true?true:{...e,...t},resultToName:ja}),items:Ta({mergeNames:(e,t,r)=>e.if((0, se._)`${r} !== true && ${t} !== undefined`,()=>e.assign(r,(0, se._)`${t} === true ? true : ${r} > ${t} ? ${r} : ${t}`)),mergeToName:(e,t,r)=>e.if((0, se._)`${r} !== true`,()=>e.assign(r,t===true?true:(0, se._)`${r} > ${t} ? ${r} : ${t}`)),mergeValues:(e,t)=>e===true?true:Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})};function ja(e,t){if(t===true)return e.var("props",true);let r=e.var("props",(0, se._)`{}`);return t!==void 0&&ks(e,r,t),r}J.evaluatedPropsToName=ja;function ks(e,t,r){Object.keys(r).forEach(n=>e.assign((0, se._)`${t}${(0, se.getProperty)(n)}`,true));}J.setEvaluated=ks;var Aa={};function Wd(e,t){return e.scopeValue("func",{ref:t,code:Aa[t.code]||(Aa[t.code]=new Vd._Code(t.code))})}J.useFunc=Wd;var Ss;(function(e){e[e.Num=0]="Num",e[e.Str=1]="Str";})(Ss||(J.Type=Ss={}));function Yd(e,t,r){if(e instanceof se.Name){let n=t===Ss.Num;return r?n?(0, se._)`"[" + ${e} + "]"`:(0, se._)`"['" + ${e} + "']"`:n?(0, se._)`"/" + ${e}`:(0, se._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0, se.getProperty)(e).toString():"/"+bs(e)}J.getErrorPath=Yd;function Na(e,t,r=e.opts.strictSchema){if(r){if(t=`strict mode: ${t}`,r===true)throw new Error(t);e.self.logger.warn(t);}}J.checkStrictMode=Na;});var st=T(ws=>{Object.defineProperty(ws,"__esModule",{value:true});var Se=U(),Xd={data:new Se.Name("data"),valCxt:new Se.Name("valCxt"),instancePath:new Se.Name("instancePath"),parentData:new Se.Name("parentData"),parentDataProperty:new Se.Name("parentDataProperty"),rootData:new Se.Name("rootData"),dynamicAnchors:new Se.Name("dynamicAnchors"),vErrors:new Se.Name("vErrors"),errors:new Se.Name("errors"),this:new Se.Name("this"),self:new Se.Name("self"),scope:new Se.Name("scope"),json:new Se.Name("json"),jsonPos:new Se.Name("jsonPos"),jsonLen:new Se.Name("jsonLen"),jsonPart:new Se.Name("jsonPart")};ws.default=Xd;});var gr=T(be=>{Object.defineProperty(be,"__esModule",{value:true});be.extendErrors=be.resetErrorsCount=be.reportExtraError=be.reportError=be.keyword$DataError=be.keywordError=void 0;var Y=U(),on=W(),Ce=st();be.keywordError={message:({keyword:e})=>(0, Y.str)`must pass "${e}" keyword validation`};be.keyword$DataError={message:({keyword:e,schemaType:t})=>t?(0, Y.str)`"${e}" keyword must be ${t} ($data)`:(0, Y.str)`"${e}" keyword is invalid ($data)`};function Qd(e,t=be.keywordError,r,n){let{it:s}=e,{gen:o,compositeRule:a,allErrors:i}=s,u=Da(e,t,r);n??(a||i)?qa(o,u):Fa(s,(0, Y._)`[${u}]`);}be.reportError=Qd;function Zd(e,t=be.keywordError,r){let{it:n}=e,{gen:s,compositeRule:o,allErrors:a}=n,i=Da(e,t,r);qa(s,i),o||a||Fa(n,Ce.default.vErrors);}be.reportExtraError=Zd;function el(e,t){e.assign(Ce.default.errors,t),e.if((0, Y._)`${Ce.default.vErrors} !== null`,()=>e.if(t,()=>e.assign((0, Y._)`${Ce.default.vErrors}.length`,t),()=>e.assign(Ce.default.vErrors,null)));}be.resetErrorsCount=el;function tl({gen:e,keyword:t,schemaValue:r,data:n,errsCount:s,it:o}){if(s===void 0)throw new Error("ajv implementation error");let a=e.name("err");e.forRange("i",s,Ce.default.errors,i=>{e.const(a,(0, Y._)`${Ce.default.vErrors}[${i}]`),e.if((0, Y._)`${a}.instancePath === undefined`,()=>e.assign((0, Y._)`${a}.instancePath`,(0, Y.strConcat)(Ce.default.instancePath,o.errorPath))),e.assign((0, Y._)`${a}.schemaPath`,(0, Y.str)`${o.errSchemaPath}/${t}`),o.opts.verbose&&(e.assign((0, Y._)`${a}.schema`,r),e.assign((0, Y._)`${a}.data`,n));});}be.extendErrors=tl;function qa(e,t){let r=e.const("err",t);e.if((0, Y._)`${Ce.default.vErrors} === null`,()=>e.assign(Ce.default.vErrors,(0, Y._)`[${r}]`),(0, Y._)`${Ce.default.vErrors}.push(${r})`),e.code((0, Y._)`${Ce.default.errors}++`);}function Fa(e,t){let{gen:r,validateName:n,schemaEnv:s}=e;s.$async?r.throw((0, Y._)`new ${e.ValidationError}(${t})`):(r.assign((0, Y._)`${n}.errors`,t),r.return(false));}var Pt={keyword:new Y.Name("keyword"),schemaPath:new Y.Name("schemaPath"),params:new Y.Name("params"),propertyName:new Y.Name("propertyName"),message:new Y.Name("message"),schema:new Y.Name("schema"),parentSchema:new Y.Name("parentSchema")};function Da(e,t,r){let{createErrors:n}=e.it;return n===false?(0, Y._)`{}`:rl(e,t,r)}function rl(e,t,r={}){let{gen:n,it:s}=e,o=[nl(s,r),sl(e,r)];return ol(e,t,o),n.object(...o)}function nl({errorPath:e},{instancePath:t}){let r=t?(0, Y.str)`${e}${(0, on.getErrorPath)(t,on.Type.Str)}`:e;return [Ce.default.instancePath,(0, Y.strConcat)(Ce.default.instancePath,r)]}function sl({keyword:e,it:{errSchemaPath:t}},{schemaPath:r,parentSchema:n}){let s=n?t:(0, Y.str)`${t}/${e}`;return r&&(s=(0, Y.str)`${s}${(0, on.getErrorPath)(r,on.Type.Str)}`),[Pt.schemaPath,s]}function ol(e,{params:t,message:r},n){let{keyword:s,data:o,schemaValue:a,it:i}=e,{opts:u,propertyName:c,topSchemaRef:d,schemaPath:l}=i;n.push([Pt.keyword,s],[Pt.params,typeof t=="function"?t(e):t||(0, Y._)`{}`]),u.messages&&n.push([Pt.message,typeof r=="function"?r(e):r]),u.verbose&&n.push([Pt.schema,a],[Pt.parentSchema,(0, Y._)`${d}${l}`],[Ce.default.data,o]),c&&n.push([Pt.propertyName,c]);}});var La=T(Ut=>{Object.defineProperty(Ut,"__esModule",{value:true});Ut.boolOrEmptySchema=Ut.topBoolOrEmptySchema=void 0;var al=gr(),il=U(),cl=st(),ul={message:"boolean schema is false"};function dl(e){let{gen:t,schema:r,validateName:n}=e;r===false?Ma(e,false):typeof r=="object"&&r.$async===true?t.return(cl.default.data):(t.assign((0, il._)`${n}.errors`,null),t.return(true));}Ut.topBoolOrEmptySchema=dl;function ll(e,t){let{gen:r,schema:n}=e;n===false?(r.var(t,false),Ma(e)):r.var(t,true);}Ut.boolOrEmptySchema=ll;function Ma(e,t){let{gen:r,data:n}=e,s={gen:r,keyword:"false schema",data:n,schema:false,schemaCode:false,schemaValue:false,params:{},it:e};(0, al.reportError)(s,ul,void 0,t);}});var _s=T(Jt=>{Object.defineProperty(Jt,"__esModule",{value:true});Jt.getRules=Jt.isJSONType=void 0;var fl=["string","number","integer","boolean","null","object","array"],pl=new Set(fl);function ml(e){return typeof e=="string"&&pl.has(e)}Jt.isJSONType=ml;function gl(){let e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return {types:{...e,integer:true,boolean:true,null:true},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}Jt.getRules=gl;});var Rs=T(lt=>{Object.defineProperty(lt,"__esModule",{value:true});lt.shouldUseRule=lt.shouldUseGroup=lt.schemaHasRulesForType=void 0;function hl({schema:e,self:t},r){let n=t.RULES.types[r];return n&&n!==true&&Va(e,n)}lt.schemaHasRulesForType=hl;function Va(e,t){return t.rules.some(r=>Ba(e,r))}lt.shouldUseGroup=Va;function Ba(e,t){var r;return e[t.keyword]!==void 0||((r=t.definition.implements)===null||r===void 0?void 0:r.some(n=>e[n]!==void 0))}lt.shouldUseRule=Ba;});var hr=T(ke=>{Object.defineProperty(ke,"__esModule",{value:true});ke.reportTypeError=ke.checkDataTypes=ke.checkDataType=ke.coerceAndCheckDataType=ke.getJSONTypes=ke.getSchemaTypes=ke.DataType=void 0;var yl=_s(),vl=Rs(),Sl=gr(),G=U(),Ga=W(),zt;(function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong";})(zt||(ke.DataType=zt={}));function bl(e){let t=Ka(e.type);if(t.includes("null")){if(e.nullable===false)throw new Error("type: null contradicts nullable: false")}else {if(!t.length&&e.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');e.nullable===true&&t.push("null");}return t}ke.getSchemaTypes=bl;function Ka(e){let t=Array.isArray(e)?e:e?[e]:[];if(t.every(yl.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}ke.getJSONTypes=Ka;function kl(e,t){let{gen:r,data:n,opts:s}=e,o=wl(t,s.coerceTypes),a=t.length>0&&!(o.length===0&&t.length===1&&(0, vl.schemaHasRulesForType)(e,t[0]));if(a){let i=Es(t,n,s.strictNumbers,zt.Wrong);r.if(i,()=>{o.length?_l(e,t,o):$s(e);});}return a}ke.coerceAndCheckDataType=kl;var Ua=new Set(["string","number","integer","boolean","null"]);function wl(e,t){return t?e.filter(r=>Ua.has(r)||t==="array"&&r==="array"):[]}function _l(e,t,r){let{gen:n,data:s,opts:o}=e,a=n.let("dataType",(0, G._)`typeof ${s}`),i=n.let("coerced",(0, G._)`undefined`);o.coerceTypes==="array"&&n.if((0, G._)`${a} == 'object' && Array.isArray(${s}) && ${s}.length == 1`,()=>n.assign(s,(0, G._)`${s}[0]`).assign(a,(0, G._)`typeof ${s}`).if(Es(t,s,o.strictNumbers),()=>n.assign(i,s))),n.if((0, G._)`${i} !== undefined`);for(let c of r)(Ua.has(c)||c==="array"&&o.coerceTypes==="array")&&u(c);n.else(),$s(e),n.endIf(),n.if((0, G._)`${i} !== undefined`,()=>{n.assign(s,i),Rl(e,i);});function u(c){switch(c){case "string":n.elseIf((0, G._)`${a} == "number" || ${a} == "boolean"`).assign(i,(0, G._)`"" + ${s}`).elseIf((0, G._)`${s} === null`).assign(i,(0, G._)`""`);return;case "number":n.elseIf((0, G._)`${a} == "boolean" || ${s} === null
4
+ || (${a} == "string" && ${s} && ${s} == +${s})`).assign(i,(0, G._)`+${s}`);return;case "integer":n.elseIf((0, G._)`${a} === "boolean" || ${s} === null
5
+ || (${a} === "string" && ${s} && ${s} == +${s} && !(${s} % 1))`).assign(i,(0, G._)`+${s}`);return;case "boolean":n.elseIf((0, G._)`${s} === "false" || ${s} === 0 || ${s} === null`).assign(i,false).elseIf((0, G._)`${s} === "true" || ${s} === 1`).assign(i,true);return;case "null":n.elseIf((0, G._)`${s} === "" || ${s} === 0 || ${s} === false`),n.assign(i,null);return;case "array":n.elseIf((0, G._)`${a} === "string" || ${a} === "number"
6
+ || ${a} === "boolean" || ${s} === null`).assign(i,(0, G._)`[${s}]`);}}}function Rl({gen:e,parentData:t,parentDataProperty:r},n){e.if((0, G._)`${t} !== undefined`,()=>e.assign((0, G._)`${t}[${r}]`,n));}function Cs(e,t,r,n=zt.Correct){let s=n===zt.Correct?G.operators.EQ:G.operators.NEQ,o;switch(e){case "null":return (0, G._)`${t} ${s} null`;case "array":o=(0, G._)`Array.isArray(${t})`;break;case "object":o=(0, G._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case "integer":o=a((0, G._)`!(${t} % 1) && !isNaN(${t})`);break;case "number":o=a();break;default:return (0, G._)`typeof ${t} ${s} ${e}`}return n===zt.Correct?o:(0, G.not)(o);function a(i=G.nil){return (0, G.and)((0, G._)`typeof ${t} == "number"`,i,r?(0, G._)`isFinite(${t})`:G.nil)}}ke.checkDataType=Cs;function Es(e,t,r,n){if(e.length===1)return Cs(e[0],t,r,n);let s,o=(0, Ga.toHash)(e);if(o.array&&o.object){let a=(0, G._)`typeof ${t} != "object"`;s=o.null?a:(0, G._)`!${t} || ${a}`,delete o.null,delete o.array,delete o.object;}else s=G.nil;o.number&&delete o.integer;for(let a in o)s=(0, G.and)(s,Cs(a,t,r,n));return s}ke.checkDataTypes=Es;var Cl={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0, G._)`{type: ${e}}`:(0, G._)`{type: ${t}}`};function $s(e){let t=El(e);(0, Sl.reportError)(t,Cl);}ke.reportTypeError=$s;function El(e){let{gen:t,data:r,schema:n}=e,s=(0, Ga.schemaRefOrVal)(e,n,"type");return {gen:t,keyword:"type",data:r,schema:n.type,schemaCode:s,schemaValue:s,parentSchema:n,params:{},it:e}}});var za=T(an=>{Object.defineProperty(an,"__esModule",{value:true});an.assignDefaults=void 0;var Ht=U(),$l=W();function xl(e,t){let{properties:r,items:n}=e.schema;if(t==="object"&&r)for(let s in r)Ja(e,s,r[s].default);else t==="array"&&Array.isArray(n)&&n.forEach((s,o)=>Ja(e,o,s.default));}an.assignDefaults=xl;function Ja(e,t,r){let{gen:n,compositeRule:s,data:o,opts:a}=e;if(r===void 0)return;let i=(0, Ht._)`${o}${(0, Ht.getProperty)(t)}`;if(s){(0, $l.checkStrictMode)(e,`default is ignored for: ${i}`);return}let u=(0, Ht._)`${i} === undefined`;a.useDefaults==="empty"&&(u=(0, Ht._)`${u} || ${i} === null || ${i} === ""`),n.if(u,(0, Ht._)`${i} = ${(0, Ht.stringify)(r)}`);}});var De=T(ne=>{Object.defineProperty(ne,"__esModule",{value:true});ne.validateUnion=ne.validateArray=ne.usePattern=ne.callValidateCode=ne.schemaProperties=ne.allSchemaProperties=ne.noPropertyInData=ne.propertyInData=ne.isOwnProperty=ne.hasPropFunc=ne.reportMissingProp=ne.checkMissingProp=ne.checkReportMissingProp=void 0;var ae=U(),xs=W(),ft=st(),Tl=W();function Al(e,t){let{gen:r,data:n,it:s}=e;r.if(As(r,n,t,s.opts.ownProperties),()=>{e.setParams({missingProperty:(0, ae._)`${t}`},true),e.error();});}ne.checkReportMissingProp=Al;function Il({gen:e,data:t,it:{opts:r}},n,s){return (0, ae.or)(...n.map(o=>(0, ae.and)(As(e,t,o,r.ownProperties),(0, ae._)`${s} = ${o}`)))}ne.checkMissingProp=Il;function Pl(e,t){e.setParams({missingProperty:t},true),e.error();}ne.reportMissingProp=Pl;function Ha(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0, ae._)`Object.prototype.hasOwnProperty`})}ne.hasPropFunc=Ha;function Ts(e,t,r){return (0, ae._)`${Ha(e)}.call(${t}, ${r})`}ne.isOwnProperty=Ts;function Ol(e,t,r,n){let s=(0, ae._)`${t}${(0, ae.getProperty)(r)} !== undefined`;return n?(0, ae._)`${s} && ${Ts(e,t,r)}`:s}ne.propertyInData=Ol;function As(e,t,r,n){let s=(0, ae._)`${t}${(0, ae.getProperty)(r)} === undefined`;return n?(0, ae.or)(s,(0, ae.not)(Ts(e,t,r))):s}ne.noPropertyInData=As;function Wa(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}ne.allSchemaProperties=Wa;function jl(e,t){return Wa(t).filter(r=>!(0, xs.alwaysValidSchema)(e,t[r]))}ne.schemaProperties=jl;function Nl({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:s,errorPath:o},it:a},i,u,c){let d=c?(0, ae._)`${e}, ${t}, ${n}${s}`:t,l=[[ft.default.instancePath,(0, ae.strConcat)(ft.default.instancePath,o)],[ft.default.parentData,a.parentData],[ft.default.parentDataProperty,a.parentDataProperty],[ft.default.rootData,ft.default.rootData]];a.opts.dynamicRef&&l.push([ft.default.dynamicAnchors,ft.default.dynamicAnchors]);let m=(0, ae._)`${d}, ${r.object(...l)}`;return u!==ae.nil?(0, ae._)`${i}.call(${u}, ${m})`:(0, ae._)`${i}(${m})`}ne.callValidateCode=Nl;var ql=(0, ae._)`new RegExp`;function Fl({gen:e,it:{opts:t}},r){let n=t.unicodeRegExp?"u":"",{regExp:s}=t.code,o=s(r,n);return e.scopeValue("pattern",{key:o.toString(),ref:o,code:(0, ae._)`${s.code==="new RegExp"?ql:(0, Tl.useFunc)(e,s)}(${r}, ${n})`})}ne.usePattern=Fl;function Dl(e){let{gen:t,data:r,keyword:n,it:s}=e,o=t.name("valid");if(s.allErrors){let i=t.let("valid",true);return a(()=>t.assign(i,false)),i}return t.var(o,true),a(()=>t.break()),o;function a(i){let u=t.const("len",(0, ae._)`${r}.length`);t.forRange("i",0,u,c=>{e.subschema({keyword:n,dataProp:c,dataPropType:xs.Type.Num},o),t.if((0, ae.not)(o),i);});}}ne.validateArray=Dl;function Ml(e){let{gen:t,schema:r,keyword:n,it:s}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(u=>(0, xs.alwaysValidSchema)(s,u))&&!s.opts.unevaluated)return;let a=t.let("valid",false),i=t.name("_valid");t.block(()=>r.forEach((u,c)=>{let d=e.subschema({keyword:n,schemaProp:c,compositeRule:true},i);t.assign(a,(0, ae._)`${a} || ${i}`),e.mergeValidEvaluated(d,i)||t.if((0, ae.not)(a));})),e.result(a,()=>e.reset(),()=>e.error(true));}ne.validateUnion=Ml;});var Qa=T(We=>{Object.defineProperty(We,"__esModule",{value:true});We.validateKeywordUsage=We.validSchemaType=We.funcKeywordCode=We.macroKeywordCode=void 0;var Ee=U(),Ot=st(),Ll=De(),Vl=gr();function Bl(e,t){let{gen:r,keyword:n,schema:s,parentSchema:o,it:a}=e,i=t.macro.call(a.self,s,o,a),u=Xa(r,n,i);a.opts.validateSchema!==false&&a.self.validateSchema(i,true);let c=r.name("valid");e.subschema({schema:i,schemaPath:Ee.nil,errSchemaPath:`${a.errSchemaPath}/${n}`,topSchemaRef:u,compositeRule:true},c),e.pass(c,()=>e.error(true));}We.macroKeywordCode=Bl;function Gl(e,t){var r;let{gen:n,keyword:s,schema:o,parentSchema:a,$data:i,it:u}=e;Ul(u,t);let c=!i&&t.compile?t.compile.call(u.self,o,a,u):t.validate,d=Xa(n,s,c),l=n.let("valid");e.block$data(l,m),e.ok((r=t.valid)!==null&&r!==void 0?r:l);function m(){if(t.errors===false)f(),t.modifying&&Ya(e),b(()=>e.error());else {let _=t.async?g():p();t.modifying&&Ya(e),b(()=>Kl(e,_));}}function g(){let _=n.let("ruleErrs",null);return n.try(()=>f((0, Ee._)`await `),k=>n.assign(l,false).if((0, Ee._)`${k} instanceof ${u.ValidationError}`,()=>n.assign(_,(0, Ee._)`${k}.errors`),()=>n.throw(k))),_}function p(){let _=(0, Ee._)`${d}.errors`;return n.assign(_,null),f(Ee.nil),_}function f(_=t.async?(0, Ee._)`await `:Ee.nil){let k=u.opts.passContext?Ot.default.this:Ot.default.self,R=!("compile"in t&&!i||t.schema===false);n.assign(l,(0, Ee._)`${_}${(0, Ll.callValidateCode)(e,d,k,R)}`,t.modifying);}function b(_){var k;n.if((0, Ee.not)((k=t.valid)!==null&&k!==void 0?k:l),_);}}We.funcKeywordCode=Gl;function Ya(e){let{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,(0, Ee._)`${n.parentData}[${n.parentDataProperty}]`));}function Kl(e,t){let{gen:r}=e;r.if((0, Ee._)`Array.isArray(${t})`,()=>{r.assign(Ot.default.vErrors,(0, Ee._)`${Ot.default.vErrors} === null ? ${t} : ${Ot.default.vErrors}.concat(${t})`).assign(Ot.default.errors,(0, Ee._)`${Ot.default.vErrors}.length`),(0, Vl.extendErrors)(e);},()=>e.error());}function Ul({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function Xa(e,t,r){if(r===void 0)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0, Ee.stringify)(r)})}function Jl(e,t,r=false){return !t.length||t.some(n=>n==="array"?Array.isArray(e):n==="object"?e&&typeof e=="object"&&!Array.isArray(e):typeof e==n||r&&typeof e>"u")}We.validSchemaType=Jl;function zl({schema:e,opts:t,self:r,errSchemaPath:n},s,o){if(Array.isArray(s.keyword)?!s.keyword.includes(o):s.keyword!==o)throw new Error("ajv implementation error");let a=s.dependencies;if(a?.some(i=>!Object.prototype.hasOwnProperty.call(e,i)))throw new Error(`parent schema must have dependencies of ${o}: ${a.join(",")}`);if(s.validateSchema&&!s.validateSchema(e[o])){let u=`keyword "${o}" value is invalid at path "${n}": `+r.errorsText(s.validateSchema.errors);if(t.validateSchema==="log")r.logger.error(u);else throw new Error(u)}}We.validateKeywordUsage=zl;});var ei=T(pt=>{Object.defineProperty(pt,"__esModule",{value:true});pt.extendSubschemaMode=pt.extendSubschemaData=pt.getSubschema=void 0;var Ye=U(),Za=W();function Hl(e,{keyword:t,schemaProp:r,schema:n,schemaPath:s,errSchemaPath:o,topSchemaRef:a}){if(t!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(t!==void 0){let i=e.schema[t];return r===void 0?{schema:i,schemaPath:(0, Ye._)`${e.schemaPath}${(0, Ye.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:i[r],schemaPath:(0, Ye._)`${e.schemaPath}${(0, Ye.getProperty)(t)}${(0, Ye.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0, Za.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')}pt.getSubschema=Hl;function Wl(e,t,{dataProp:r,dataPropType:n,data:s,dataTypes:o,propertyName:a}){if(s!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:i}=t;if(r!==void 0){let{errorPath:c,dataPathArr:d,opts:l}=t,m=i.let("data",(0, Ye._)`${t.data}${(0, Ye.getProperty)(r)}`,true);u(m),e.errorPath=(0, Ye.str)`${c}${(0, Za.getErrorPath)(r,n,l.jsPropertySyntax)}`,e.parentDataProperty=(0, Ye._)`${r}`,e.dataPathArr=[...d,e.parentDataProperty];}if(s!==void 0){let c=s instanceof Ye.Name?s:i.let("data",s,true);u(c),a!==void 0&&(e.propertyName=a);}o&&(e.dataTypes=o);function u(c){e.data=c,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,c];}}pt.extendSubschemaData=Wl;function Yl(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:n,createErrors:s,allErrors:o}){n!==void 0&&(e.compositeRule=n),s!==void 0&&(e.createErrors=s),o!==void 0&&(e.allErrors=o),e.jtdDiscriminator=t,e.jtdMetadata=r;}pt.extendSubschemaMode=Yl;});var Is=T((jy,ti)=>{ti.exports=function e(t,r){if(t===r)return true;if(t&&r&&typeof t=="object"&&typeof r=="object"){if(t.constructor!==r.constructor)return false;var n,s,o;if(Array.isArray(t)){if(n=t.length,n!=r.length)return false;for(s=n;s--!==0;)if(!e(t[s],r[s]))return false;return true}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if(o=Object.keys(t),n=o.length,n!==Object.keys(r).length)return false;for(s=n;s--!==0;)if(!Object.prototype.hasOwnProperty.call(r,o[s]))return false;for(s=n;s--!==0;){var a=o[s];if(!e(t[a],r[a]))return false}return true}return t!==t&&r!==r};});var ni=T((Ny,ri)=>{var mt=ri.exports=function(e,t,r){typeof t=="function"&&(r=t,t={}),r=t.cb||r;var n=typeof r=="function"?r:r.pre||function(){},s=r.post||function(){};cn(t,n,s,e,"",e);};mt.keywords={additionalItems:true,items:true,contains:true,additionalProperties:true,propertyNames:true,not:true,if:true,then:true,else:true};mt.arrayKeywords={items:true,allOf:true,anyOf:true,oneOf:true};mt.propsKeywords={$defs:true,definitions:true,properties:true,patternProperties:true,dependencies:true};mt.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 cn(e,t,r,n,s,o,a,i,u,c){if(n&&typeof n=="object"&&!Array.isArray(n)){t(n,s,o,a,i,u,c);for(var d in n){var l=n[d];if(Array.isArray(l)){if(d in mt.arrayKeywords)for(var m=0;m<l.length;m++)cn(e,t,r,l[m],s+"/"+d+"/"+m,o,s,d,n,m);}else if(d in mt.propsKeywords){if(l&&typeof l=="object")for(var g in l)cn(e,t,r,l[g],s+"/"+d+"/"+Xl(g),o,s,d,n,g);}else (d in mt.keywords||e.allKeys&&!(d in mt.skipKeywords))&&cn(e,t,r,l,s+"/"+d,o,s,d,n);}r(n,s,o,a,i,u,c);}}function Xl(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}});var yr=T(Ie=>{Object.defineProperty(Ie,"__esModule",{value:true});Ie.getSchemaRefs=Ie.resolveUrl=Ie.normalizeId=Ie._getFullPath=Ie.getFullPath=Ie.inlineRef=void 0;var Ql=W(),Zl=Is(),ef=ni(),tf=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function rf(e,t=true){return typeof e=="boolean"?true:t===true?!Ps(e):t?si(e)<=t:false}Ie.inlineRef=rf;var nf=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Ps(e){for(let t in e){if(nf.has(t))return true;let r=e[t];if(Array.isArray(r)&&r.some(Ps)||typeof r=="object"&&Ps(r))return true}return false}function si(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,!tf.has(r)&&(typeof e[r]=="object"&&(0, Ql.eachItem)(e[r],n=>t+=si(n)),t===1/0))return 1/0}return t}function oi(e,t="",r){r!==false&&(t=Wt(t));let n=e.parse(t);return ai(e,n)}Ie.getFullPath=oi;function ai(e,t){return e.serialize(t).split("#")[0]+"#"}Ie._getFullPath=ai;var sf=/#\/?$/;function Wt(e){return e?e.replace(sf,""):""}Ie.normalizeId=Wt;function of(e,t,r){return r=Wt(r),e.resolve(t,r)}Ie.resolveUrl=of;var af=/^[a-z_][-a-z0-9._]*$/i;function cf(e,t){if(typeof e=="boolean")return {};let{schemaId:r,uriResolver:n}=this.opts,s=Wt(e[r]||t),o={"":s},a=oi(n,s,false),i={},u=new Set;return ef(e,{allKeys:true},(l,m,g,p)=>{if(p===void 0)return;let f=a+m,b=o[p];typeof l[r]=="string"&&(b=_.call(this,l[r])),k.call(this,l.$anchor),k.call(this,l.$dynamicAnchor),o[m]=b;function _(R){let O=this.opts.uriResolver.resolve;if(R=Wt(b?O(b,R):R),u.has(R))throw d(R);u.add(R);let y=this.refs[R];return typeof y=="string"&&(y=this.refs[y]),typeof y=="object"?c(l,y.schema,R):R!==Wt(f)&&(R[0]==="#"?(c(l,i[R],R),i[R]=l):this.refs[R]=f),R}function k(R){if(typeof R=="string"){if(!af.test(R))throw new Error(`invalid anchor "${R}"`);_.call(this,`#${R}`);}}}),i;function c(l,m,g){if(m!==void 0&&!Zl(l,m))throw d(g)}function d(l){return new Error(`reference "${l}" resolves to more than one schema`)}}Ie.getSchemaRefs=cf;});var br=T(gt=>{Object.defineProperty(gt,"__esModule",{value:true});gt.getData=gt.KeywordCxt=gt.validateFunctionCode=void 0;var li=La(),ii=hr(),js=Rs(),un=hr(),uf=za(),Sr=Qa(),Os=ei(),P=U(),L=st(),df=yr(),ot=W(),vr=gr();function lf(e){if(mi(e)&&(gi(e),pi(e))){mf(e);return}fi(e,()=>(0, li.topBoolOrEmptySchema)(e));}gt.validateFunctionCode=lf;function fi({gen:e,validateName:t,schema:r,schemaEnv:n,opts:s},o){s.code.es5?e.func(t,(0, P._)`${L.default.data}, ${L.default.valCxt}`,n.$async,()=>{e.code((0, P._)`"use strict"; ${ci(r,s)}`),pf(e,s),e.code(o);}):e.func(t,(0, P._)`${L.default.data}, ${ff(s)}`,n.$async,()=>e.code(ci(r,s)).code(o));}function ff(e){return (0, P._)`{${L.default.instancePath}="", ${L.default.parentData}, ${L.default.parentDataProperty}, ${L.default.rootData}=${L.default.data}${e.dynamicRef?(0, P._)`, ${L.default.dynamicAnchors}={}`:P.nil}}={}`}function pf(e,t){e.if(L.default.valCxt,()=>{e.var(L.default.instancePath,(0, P._)`${L.default.valCxt}.${L.default.instancePath}`),e.var(L.default.parentData,(0, P._)`${L.default.valCxt}.${L.default.parentData}`),e.var(L.default.parentDataProperty,(0, P._)`${L.default.valCxt}.${L.default.parentDataProperty}`),e.var(L.default.rootData,(0, P._)`${L.default.valCxt}.${L.default.rootData}`),t.dynamicRef&&e.var(L.default.dynamicAnchors,(0, P._)`${L.default.valCxt}.${L.default.dynamicAnchors}`);},()=>{e.var(L.default.instancePath,(0, P._)`""`),e.var(L.default.parentData,(0, P._)`undefined`),e.var(L.default.parentDataProperty,(0, P._)`undefined`),e.var(L.default.rootData,L.default.data),t.dynamicRef&&e.var(L.default.dynamicAnchors,(0, P._)`{}`);});}function mf(e){let{schema:t,opts:r,gen:n}=e;fi(e,()=>{r.$comment&&t.$comment&&yi(e),Sf(e),n.let(L.default.vErrors,null),n.let(L.default.errors,0),r.unevaluated&&gf(e),hi(e),wf(e);});}function gf(e){let{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",(0, P._)`${r}.evaluated`),t.if((0, P._)`${e.evaluated}.dynamicProps`,()=>t.assign((0, P._)`${e.evaluated}.props`,(0, P._)`undefined`)),t.if((0, P._)`${e.evaluated}.dynamicItems`,()=>t.assign((0, P._)`${e.evaluated}.items`,(0, P._)`undefined`));}function ci(e,t){let r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?(0, P._)`/*# sourceURL=${r} */`:P.nil}function hf(e,t){if(mi(e)&&(gi(e),pi(e))){yf(e,t);return}(0, li.boolOrEmptySchema)(e,t);}function pi({schema:e,self:t}){if(typeof e=="boolean")return !e;for(let r in e)if(t.RULES.all[r])return true;return false}function mi(e){return typeof e.schema!="boolean"}function yf(e,t){let{schema:r,gen:n,opts:s}=e;s.$comment&&r.$comment&&yi(e),bf(e),kf(e);let o=n.const("_errs",L.default.errors);hi(e,o),n.var(t,(0, P._)`${o} === ${L.default.errors}`);}function gi(e){(0, ot.checkUnknownRules)(e),vf(e);}function hi(e,t){if(e.opts.jtd)return ui(e,[],false,t);let r=(0, ii.getSchemaTypes)(e.schema),n=(0, ii.coerceAndCheckDataType)(e,r);ui(e,r,!n,t);}function vf(e){let{schema:t,errSchemaPath:r,opts:n,self:s}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0, ot.schemaHasRulesButRef)(t,s.RULES)&&s.logger.warn(`$ref: keywords ignored in schema at path "${r}"`);}function Sf(e){let{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0, ot.checkStrictMode)(e,"default is ignored in the schema root");}function bf(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0, df.resolveUrl)(e.opts.uriResolver,e.baseId,t));}function kf(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function yi({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:s}){let o=r.$comment;if(s.$comment===true)e.code((0, P._)`${L.default.self}.logger.log(${o})`);else if(typeof s.$comment=="function"){let a=(0, P.str)`${n}/$comment`,i=e.scopeValue("root",{ref:t.root});e.code((0, P._)`${L.default.self}.opts.$comment(${o}, ${a}, ${i}.schema)`);}}function wf(e){let{gen:t,schemaEnv:r,validateName:n,ValidationError:s,opts:o}=e;r.$async?t.if((0, P._)`${L.default.errors} === 0`,()=>t.return(L.default.data),()=>t.throw((0, P._)`new ${s}(${L.default.vErrors})`)):(t.assign((0, P._)`${n}.errors`,L.default.vErrors),o.unevaluated&&_f(e),t.return((0, P._)`${L.default.errors} === 0`));}function _f({gen:e,evaluated:t,props:r,items:n}){r instanceof P.Name&&e.assign((0, P._)`${t}.props`,r),n instanceof P.Name&&e.assign((0, P._)`${t}.items`,n);}function ui(e,t,r,n){let{gen:s,schema:o,data:a,allErrors:i,opts:u,self:c}=e,{RULES:d}=c;if(o.$ref&&(u.ignoreKeywordsWithRef||!(0, ot.schemaHasRulesButRef)(o,d))){s.block(()=>Si(e,"$ref",d.all.$ref.definition));return}u.jtd||Rf(e,t),s.block(()=>{for(let m of d.rules)l(m);l(d.post);});function l(m){(0, js.shouldUseGroup)(o,m)&&(m.type?(s.if((0, un.checkDataType)(m.type,a,u.strictNumbers)),di(e,m),t.length===1&&t[0]===m.type&&r&&(s.else(),(0, un.reportTypeError)(e)),s.endIf()):di(e,m),i||s.if((0, P._)`${L.default.errors} === ${n||0}`));}}function di(e,t){let{gen:r,schema:n,opts:{useDefaults:s}}=e;s&&(0, uf.assignDefaults)(e,t.type),r.block(()=>{for(let o of t.rules)(0, js.shouldUseRule)(n,o)&&Si(e,o.keyword,o.definition,t.type);});}function Rf(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(Cf(e,t),e.opts.allowUnionTypes||Ef(e,t),$f(e,e.dataTypes));}function Cf(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{vi(e.dataTypes,r)||Ns(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`);}),Tf(e,t);}}function Ef(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&Ns(e,"use allowUnionTypes to allow union type keyword");}function $f(e,t){let r=e.self.RULES.all;for(let n in r){let s=r[n];if(typeof s=="object"&&(0, js.shouldUseRule)(e.schema,s)){let{type:o}=s.definition;o.length&&!o.some(a=>xf(t,a))&&Ns(e,`missing type "${o.join(",")}" for keyword "${n}"`);}}}function xf(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function vi(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function Tf(e,t){let r=[];for(let n of e.dataTypes)vi(t,n)?r.push(n):t.includes("integer")&&n==="number"&&r.push("integer");e.dataTypes=r;}function Ns(e,t){let r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0, ot.checkStrictMode)(e,t,e.opts.strictTypes);}var dn=class{constructor(t,r,n){if((0, Sr.validateKeywordUsage)(t,r,n),this.gen=t.gen,this.allErrors=t.allErrors,this.keyword=n,this.data=t.data,this.schema=t.schema[n],this.$data=r.$data&&t.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0, ot.schemaRefOrVal)(t,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=t.schema,this.params={},this.it=t,this.def=r,this.$data)this.schemaCode=t.gen.const("vSchema",bi(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0, Sr.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==false)&&(this.errsCount=t.gen.const("_errs",L.default.errors));}result(t,r,n){this.failResult((0, P.not)(t),r,n);}failResult(t,r,n){this.gen.if(t),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else();}pass(t,r){this.failResult((0, P.not)(t),void 0,r);}fail(t){if(t===void 0){this.error(),this.allErrors||this.gen.if(false);return}this.gen.if(t),this.error(),this.allErrors?this.gen.endIf():this.gen.else();}fail$data(t){if(!this.$data)return this.fail(t);let{schemaCode:r}=this;this.fail((0, P._)`${r} !== undefined && (${(0, P.or)(this.invalid$data(),t)})`);}error(t,r,n){if(r){this.setParams(r),this._error(t,n),this.setParams({});return}this._error(t,n);}_error(t,r){(t?vr.reportExtraError:vr.reportError)(this,this.def.error,r);}$dataError(){(0, vr.reportError)(this,this.def.$dataError||vr.keyword$DataError);}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0, vr.resetErrorsCount)(this.gen,this.errsCount);}ok(t){this.allErrors||this.gen.if(t);}setParams(t,r){r?Object.assign(this.params,t):this.params=t;}block$data(t,r,n=P.nil){this.gen.block(()=>{this.check$data(t,n),r();});}check$data(t=P.nil,r=P.nil){if(!this.$data)return;let{gen:n,schemaCode:s,schemaType:o,def:a}=this;n.if((0, P.or)((0, P._)`${s} === undefined`,r)),t!==P.nil&&n.assign(t,true),(o.length||a.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),t!==P.nil&&n.assign(t,false)),n.else();}invalid$data(){let{gen:t,schemaCode:r,schemaType:n,def:s,it:o}=this;return (0, P.or)(a(),i());function a(){if(n.length){if(!(r instanceof P.Name))throw new Error("ajv implementation error");let u=Array.isArray(n)?n:[n];return (0, P._)`${(0, un.checkDataTypes)(u,r,o.opts.strictNumbers,un.DataType.Wrong)}`}return P.nil}function i(){if(s.validateSchema){let u=t.scopeValue("validate$data",{ref:s.validateSchema});return (0, P._)`!${u}(${r})`}return P.nil}}subschema(t,r){let n=(0, Os.getSubschema)(this.it,t);(0, Os.extendSubschemaData)(n,this.it,t),(0, Os.extendSubschemaMode)(n,t);let s={...this.it,...n,items:void 0,props:void 0};return hf(s,r),s}mergeEvaluated(t,r){let{it:n,gen:s}=this;n.opts.unevaluated&&(n.props!==true&&t.props!==void 0&&(n.props=ot.mergeEvaluated.props(s,t.props,n.props,r)),n.items!==true&&t.items!==void 0&&(n.items=ot.mergeEvaluated.items(s,t.items,n.items,r)));}mergeValidEvaluated(t,r){let{it:n,gen:s}=this;if(n.opts.unevaluated&&(n.props!==true||n.items!==true))return s.if(r,()=>this.mergeEvaluated(t,P.Name)),true}};gt.KeywordCxt=dn;function Si(e,t,r,n){let s=new dn(e,r,t);"code"in r?r.code(s,n):s.$data&&r.validate?(0, Sr.funcKeywordCode)(s,r):"macro"in r?(0, Sr.macroKeywordCode)(s,r):(r.compile||r.validate)&&(0, Sr.funcKeywordCode)(s,r);}var Af=/^\/(?:[^~]|~0|~1)*$/,If=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function bi(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let s,o;if(e==="")return L.default.rootData;if(e[0]==="/"){if(!Af.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);s=e,o=L.default.rootData;}else {let c=If.exec(e);if(!c)throw new Error(`Invalid JSON-pointer: ${e}`);let d=+c[1];if(s=c[2],s==="#"){if(d>=t)throw new Error(u("property/index",d));return n[t-d]}if(d>t)throw new Error(u("data",d));if(o=r[t-d],!s)return o}let a=o,i=s.split("/");for(let c of i)c&&(o=(0, P._)`${o}${(0, P.getProperty)((0, ot.unescapeJsonPointer)(c))}`,a=(0, P._)`${a} && ${o}`);return a;function u(c,d){return `Cannot access ${c} ${d} levels up, current level is ${t}`}}gt.getData=bi;});var ln=T(Fs=>{Object.defineProperty(Fs,"__esModule",{value:true});var qs=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=true;}};Fs.default=qs;});var kr=T(Ls=>{Object.defineProperty(Ls,"__esModule",{value:true});var Ds=yr(),Ms=class extends Error{constructor(t,r,n,s){super(s||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0, Ds.resolveUrl)(t,r,n),this.missingSchema=(0, Ds.normalizeId)((0, Ds.getFullPath)(t,this.missingRef));}};Ls.default=Ms;});var pn=T(Me=>{Object.defineProperty(Me,"__esModule",{value:true});Me.resolveSchema=Me.getCompilingSchema=Me.resolveRef=Me.compileSchema=Me.SchemaEnv=void 0;var Ue=U(),Pf=ln(),jt=st(),Je=yr(),ki=W(),Of=br(),Yt=class{constructor(t){var r;this.refs={},this.dynamicAnchors={};let n;typeof t.schema=="object"&&(n=t.schema),this.schema=t.schema,this.schemaId=t.schemaId,this.root=t.root||this,this.baseId=(r=t.baseId)!==null&&r!==void 0?r:(0, Je.normalizeId)(n?.[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=n?.$async,this.refs={};}};Me.SchemaEnv=Yt;function Bs(e){let t=wi.call(this,e);if(t)return t;let r=(0, Je.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:s}=this.opts.code,{ownProperties:o}=this.opts,a=new Ue.CodeGen(this.scope,{es5:n,lines:s,ownProperties:o}),i;e.$async&&(i=a.scopeValue("Error",{ref:Pf.default,code:(0, Ue._)`require("ajv/dist/runtime/validation_error").default`}));let u=a.scopeName("validate");e.validateName=u;let c={gen:a,allErrors:this.opts.allErrors,data:jt.default.data,parentData:jt.default.parentData,parentDataProperty:jt.default.parentDataProperty,dataNames:[jt.default.data],dataPathArr:[Ue.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:a.scopeValue("schema",this.opts.code.source===true?{ref:e.schema,code:(0, Ue.stringify)(e.schema)}:{ref:e.schema}),validateName:u,ValidationError:i,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:Ue.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0, Ue._)`""`,opts:this.opts,self:this},d;try{this._compilations.add(e),(0,Of.validateFunctionCode)(c),a.optimize(this.opts.code.optimize);let l=a.toString();d=`${a.scopeRefs(jt.default.scope)}return ${l}`,this.opts.code.process&&(d=this.opts.code.process(d,e));let g=new Function(`${jt.default.self}`,`${jt.default.scope}`,d)(this,this.scope.get());if(this.scope.value(u,{ref:g}),g.errors=null,g.schema=e.schema,g.schemaEnv=e,e.$async&&(g.$async=!0),this.opts.code.source===!0&&(g.source={validateName:u,validateCode:l,scopeValues:a._values}),this.opts.unevaluated){let{props:p,items:f}=c;g.evaluated={props:p instanceof Ue.Name?void 0:p,items:f instanceof Ue.Name?void 0:f,dynamicProps:p instanceof Ue.Name,dynamicItems:f instanceof Ue.Name},g.source&&(g.source.evaluated=(0,Ue.stringify)(g.evaluated));}return e.validate=g,e}catch(l){throw delete e.validate,delete e.validateName,d&&this.logger.error("Error compiling schema, function code:",d),l}finally{this._compilations.delete(e);}}Me.compileSchema=Bs;function jf(e,t,r){var n;r=(0, Je.resolveUrl)(this.opts.uriResolver,t,r);let s=e.refs[r];if(s)return s;let o=Ff.call(this,e,r);if(o===void 0){let a=(n=e.localRefs)===null||n===void 0?void 0:n[r],{schemaId:i}=this.opts;a&&(o=new Yt({schema:a,schemaId:i,root:e,baseId:t}));}if(o!==void 0)return e.refs[r]=Nf.call(this,o)}Me.resolveRef=jf;function Nf(e){return (0, Je.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:Bs.call(this,e)}function wi(e){for(let t of this._compilations)if(qf(t,e))return t}Me.getCompilingSchema=wi;function qf(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function Ff(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||fn.call(this,e,t)}function fn(e,t){let r=this.opts.uriResolver.parse(t),n=(0, Je._getFullPath)(this.opts.uriResolver,r),s=(0, Je.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===s)return Vs.call(this,r,e);let o=(0, Je.normalizeId)(n),a=this.refs[o]||this.schemas[o];if(typeof a=="string"){let i=fn.call(this,e,a);return typeof i?.schema!="object"?void 0:Vs.call(this,r,i)}if(typeof a?.schema=="object"){if(a.validate||Bs.call(this,a),o===(0, Je.normalizeId)(t)){let{schema:i}=a,{schemaId:u}=this.opts,c=i[u];return c&&(s=(0, Je.resolveUrl)(this.opts.uriResolver,s,c)),new Yt({schema:i,schemaId:u,root:e,baseId:s})}return Vs.call(this,r,a)}}Me.resolveSchema=fn;var Df=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Vs(e,{baseId:t,schema:r,root:n}){var s;if(((s=e.fragment)===null||s===void 0?void 0:s[0])!=="/")return;for(let i of e.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let u=r[(0, ki.unescapeFragment)(i)];if(u===void 0)return;r=u;let c=typeof r=="object"&&r[this.opts.schemaId];!Df.has(i)&&c&&(t=(0, Je.resolveUrl)(this.opts.uriResolver,t,c));}let o;if(typeof r!="boolean"&&r.$ref&&!(0, ki.schemaHasRulesButRef)(r,this.RULES)){let i=(0, Je.resolveUrl)(this.opts.uriResolver,t,r.$ref);o=fn.call(this,n,i);}let{schemaId:a}=this.opts;if(o=o||new Yt({schema:r,schemaId:a,root:n,baseId:t}),o.schema!==o.root.schema)return o}});var _i=T((Vy,Mf)=>{Mf.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:false};});var Ks=T((By,$i)=>{var Lf=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Ci=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 Gs(e){let t="",r=0,n=0;for(n=0;n<e.length;n++)if(r=e[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return "";t+=e[n];break}for(n+=1;n<e.length;n++){if(r=e[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return "";t+=e[n];}return t}var Vf=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Ri(e){return e.length=0,true}function Bf(e,t,r){if(e.length){let n=Gs(e);if(n!=="")t.push(n);else return r.error=true,false;e.length=0;}return true}function Gf(e){let t=0,r={error:false,address:"",zone:""},n=[],s=[],o=false,a=false,i=Bf;for(let u=0;u<e.length;u++){let c=e[u];if(!(c==="["||c==="]"))if(c===":"){if(o===true&&(a=true),!i(s,n,r))break;if(++t>7){r.error=true;break}u>0&&e[u-1]===":"&&(o=true),n.push(":");continue}else if(c==="%"){if(!i(s,n,r))break;i=Ri;}else {s.push(c);continue}}return s.length&&(i===Ri?r.zone=s.join(""):a?n.push(s.join("")):n.push(Gs(s))),r.address=n.join(""),r}function Ei(e){if(Kf(e,":")<2)return {host:e,isIPV6:false};let t=Gf(e);if(t.error)return {host:e,isIPV6:false};{let r=t.address,n=t.address;return t.zone&&(r+="%"+t.zone,n+="%25"+t.zone),{host:r,isIPV6:true,escapedHost:n}}}function Kf(e,t){let r=0;for(let n=0;n<e.length;n++)e[n]===t&&r++;return r}function Uf(e){let t=e,r=[],n=-1,s=0;for(;s=t.length;){if(s===1){if(t===".")break;if(t==="/"){r.push("/");break}else {r.push(t);break}}else if(s===2){if(t[0]==="."){if(t[1]===".")break;if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"&&(t[1]==="."||t[1]==="/")){r.push("/");break}}else if(s===3&&t==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(t[0]==="."){if(t[1]==="."){if(t[2]==="/"){t=t.slice(3);continue}}else if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"&&t[1]==="."){if(t[2]==="/"){t=t.slice(2);continue}else if(t[2]==="."&&t[3]==="/"){t=t.slice(3),r.length!==0&&r.pop();continue}}if((n=t.indexOf("/",1))===-1){r.push(t);break}else r.push(t.slice(0,n)),t=t.slice(n);}return r.join("")}function Jf(e,t){let r=t!==true?escape:unescape;return e.scheme!==void 0&&(e.scheme=r(e.scheme)),e.userinfo!==void 0&&(e.userinfo=r(e.userinfo)),e.host!==void 0&&(e.host=r(e.host)),e.path!==void 0&&(e.path=r(e.path)),e.query!==void 0&&(e.query=r(e.query)),e.fragment!==void 0&&(e.fragment=r(e.fragment)),e}function zf(e){let t=[];if(e.userinfo!==void 0&&(t.push(e.userinfo),t.push("@")),e.host!==void 0){let r=unescape(e.host);if(!Ci(r)){let n=Ei(r);n.isIPV6===true?r=`[${n.escapedHost}]`:r=e.host;}t.push(r);}return (typeof e.port=="number"||typeof e.port=="string")&&(t.push(":"),t.push(String(e.port))),t.length?t.join(""):void 0}$i.exports={nonSimpleDomain:Vf,recomposeAuthority:zf,normalizeComponentEncoding:Jf,removeDotSegments:Uf,isIPv4:Ci,isUUID:Lf,normalizeIPv6:Ei,stringArrayToHexStripped:Gs};});var Pi=T((Gy,Ii)=>{var{isUUID:Hf}=Ks(),Wf=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,Yf=["http","https","ws","wss","urn","urn:uuid"];function Xf(e){return Yf.indexOf(e)!==-1}function Us(e){return e.secure===true?true:e.secure===false?false:e.scheme?e.scheme.length===3&&(e.scheme[0]==="w"||e.scheme[0]==="W")&&(e.scheme[1]==="s"||e.scheme[1]==="S")&&(e.scheme[2]==="s"||e.scheme[2]==="S"):false}function xi(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function Ti(e){let t=String(e.scheme).toLowerCase()==="https";return (e.port===(t?443:80)||e.port==="")&&(e.port=void 0),e.path||(e.path="/"),e}function Qf(e){return e.secure=Us(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function Zf(e){if((e.port===(Us(e)?443:80)||e.port==="")&&(e.port=void 0),typeof e.secure=="boolean"&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){let[t,r]=e.resourceName.split("?");e.path=t&&t!=="/"?t:void 0,e.query=r,e.resourceName=void 0;}return e.fragment=void 0,e}function ep(e,t){if(!e.path)return e.error="URN can not be parsed",e;let r=e.path.match(Wf);if(r){let n=t.scheme||e.scheme||"urn";e.nid=r[1].toLowerCase(),e.nss=r[2];let s=`${n}:${t.nid||e.nid}`,o=Js(s);e.path=void 0,o&&(e=o.parse(e,t));}else e.error=e.error||"URN can not be parsed.";return e}function tp(e,t){if(e.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=t.scheme||e.scheme||"urn",n=e.nid.toLowerCase(),s=`${r}:${t.nid||n}`,o=Js(s);o&&(e=o.serialize(e,t));let a=e,i=e.nss;return a.path=`${n||t.nid}:${i}`,t.skipEscape=true,a}function rp(e,t){let r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!Hf(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function np(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var Ai={scheme:"http",domainHost:true,parse:xi,serialize:Ti},sp={scheme:"https",domainHost:Ai.domainHost,parse:xi,serialize:Ti},mn={scheme:"ws",domainHost:true,parse:Qf,serialize:Zf},op={scheme:"wss",domainHost:mn.domainHost,parse:mn.parse,serialize:mn.serialize},ap={scheme:"urn",parse:ep,serialize:tp,skipNormalize:true},ip={scheme:"urn:uuid",parse:rp,serialize:np,skipNormalize:true},gn={http:Ai,https:sp,ws:mn,wss:op,urn:ap,"urn:uuid":ip};Object.setPrototypeOf(gn,null);function Js(e){return e&&(gn[e]||gn[e.toLowerCase()])||void 0}Ii.exports={wsIsSecure:Us,SCHEMES:gn,isValidSchemeName:Xf,getSchemeHandler:Js};});var Ni=T((Ky,yn)=>{var{normalizeIPv6:cp,removeDotSegments:wr,recomposeAuthority:up,normalizeComponentEncoding:hn,isIPv4:dp,nonSimpleDomain:lp}=Ks(),{SCHEMES:fp,getSchemeHandler:Oi}=Pi();function pp(e,t){return typeof e=="string"?e=Xe(at(e,t),t):typeof e=="object"&&(e=at(Xe(e,t),t)),e}function mp(e,t,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},s=ji(at(e,n),at(t,n),n,true);return n.skipEscape=true,Xe(s,n)}function ji(e,t,r,n){let s={};return n||(e=at(Xe(e,r),r),t=at(Xe(t,r),r)),r=r||{},!r.tolerant&&t.scheme?(s.scheme=t.scheme,s.userinfo=t.userinfo,s.host=t.host,s.port=t.port,s.path=wr(t.path||""),s.query=t.query):(t.userinfo!==void 0||t.host!==void 0||t.port!==void 0?(s.userinfo=t.userinfo,s.host=t.host,s.port=t.port,s.path=wr(t.path||""),s.query=t.query):(t.path?(t.path[0]==="/"?s.path=wr(t.path):((e.userinfo!==void 0||e.host!==void 0||e.port!==void 0)&&!e.path?s.path="/"+t.path:e.path?s.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:s.path=t.path,s.path=wr(s.path)),s.query=t.query):(s.path=e.path,t.query!==void 0?s.query=t.query:s.query=e.query),s.userinfo=e.userinfo,s.host=e.host,s.port=e.port),s.scheme=e.scheme),s.fragment=t.fragment,s}function gp(e,t,r){return typeof e=="string"?(e=unescape(e),e=Xe(hn(at(e,r),true),{...r,skipEscape:true})):typeof e=="object"&&(e=Xe(hn(e,true),{...r,skipEscape:true})),typeof t=="string"?(t=unescape(t),t=Xe(hn(at(t,r),true),{...r,skipEscape:true})):typeof t=="object"&&(t=Xe(hn(t,true),{...r,skipEscape:true})),e.toLowerCase()===t.toLowerCase()}function Xe(e,t){let r={host:e.host,scheme:e.scheme,userinfo:e.userinfo,port:e.port,path:e.path,query:e.query,nid:e.nid,nss:e.nss,uuid:e.uuid,fragment:e.fragment,reference:e.reference,resourceName:e.resourceName,secure:e.secure,error:""},n=Object.assign({},t),s=[],o=Oi(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=up(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=wr(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 hp=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function at(e,t){let r=Object.assign({},t),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},s=false;r.reference==="suffix"&&(r.scheme?e=r.scheme+":"+e:e="//"+e);let o=e.match(hp);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(dp(n.host)===false){let u=cp(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=Oi(r.scheme||n.scheme);if(!r.unicodeSupport&&(!a||!a.unicodeSupport)&&n.host&&(r.domainHost||a&&a.domainHost)&&s===false&&lp(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase());}catch(i){n.error=n.error||"Host's domain name can not be converted to ASCII: "+i;}(!a||a&&!a.skipNormalize)&&(e.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=unescape(n.host))),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),a&&a.parse&&a.parse(n,r);}else n.error=n.error||"URI can not be parsed.";return n}var zs={SCHEMES:fp,normalize:pp,resolve:mp,resolveComponent:ji,equal:gp,serialize:Xe,parse:at};yn.exports=zs;yn.exports.default=zs;yn.exports.fastUri=zs;});var Fi=T(Hs=>{Object.defineProperty(Hs,"__esModule",{value:true});var qi=Ni();qi.code='require("ajv/dist/runtime/uri").default';Hs.default=qi;});var Ui=T(he=>{Object.defineProperty(he,"__esModule",{value:true});he.CodeGen=he.Name=he.nil=he.stringify=he.str=he._=he.KeywordCxt=void 0;var yp=br();Object.defineProperty(he,"KeywordCxt",{enumerable:true,get:function(){return yp.KeywordCxt}});var Xt=U();Object.defineProperty(he,"_",{enumerable:true,get:function(){return Xt._}});Object.defineProperty(he,"str",{enumerable:true,get:function(){return Xt.str}});Object.defineProperty(he,"stringify",{enumerable:true,get:function(){return Xt.stringify}});Object.defineProperty(he,"nil",{enumerable:true,get:function(){return Xt.nil}});Object.defineProperty(he,"Name",{enumerable:true,get:function(){return Xt.Name}});Object.defineProperty(he,"CodeGen",{enumerable:true,get:function(){return Xt.CodeGen}});var vp=ln(),Bi=kr(),Sp=_s(),_r=pn(),bp=U(),Rr=yr(),vn=hr(),Ys=W(),Di=_i(),kp=Fi(),Gi=(e,t)=>new RegExp(e,t);Gi.code="new RegExp";var wp=["removeAdditional","useDefaults","coerceTypes"],_p=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."},Cp={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},Mi=200;function Ep(e){var t,r,n,s,o,a,i,u,c,d,l,m,g,p,f,b,_,k,R,O,y,h,S,C,E;let x=e.strict,I=(t=e.code)===null||t===void 0?void 0:t.optimize,F=I===true||I===void 0?1:I||0,N=(n=(r=e.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:Gi,pe=(s=e.uriResolver)!==null&&s!==void 0?s:kp.default;return {strictSchema:(a=(o=e.strictSchema)!==null&&o!==void 0?o:x)!==null&&a!==void 0?a:true,strictNumbers:(u=(i=e.strictNumbers)!==null&&i!==void 0?i:x)!==null&&u!==void 0?u:true,strictTypes:(d=(c=e.strictTypes)!==null&&c!==void 0?c:x)!==null&&d!==void 0?d:"log",strictTuples:(m=(l=e.strictTuples)!==null&&l!==void 0?l:x)!==null&&m!==void 0?m:"log",strictRequired:(p=(g=e.strictRequired)!==null&&g!==void 0?g:x)!==null&&p!==void 0?p:false,code:e.code?{...e.code,optimize:F,regExp:N}:{optimize:F,regExp:N},loopRequired:(f=e.loopRequired)!==null&&f!==void 0?f:Mi,loopEnum:(b=e.loopEnum)!==null&&b!==void 0?b:Mi,meta:(_=e.meta)!==null&&_!==void 0?_:true,messages:(k=e.messages)!==null&&k!==void 0?k:true,inlineRefs:(R=e.inlineRefs)!==null&&R!==void 0?R:true,schemaId:(O=e.schemaId)!==null&&O!==void 0?O:"$id",addUsedSchema:(y=e.addUsedSchema)!==null&&y!==void 0?y:true,validateSchema:(h=e.validateSchema)!==null&&h!==void 0?h:true,validateFormats:(S=e.validateFormats)!==null&&S!==void 0?S:true,unicodeRegExp:(C=e.unicodeRegExp)!==null&&C!==void 0?C:true,int32range:(E=e.int32range)!==null&&E!==void 0?E:true,uriResolver:pe}}var Cr=class{constructor(t={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,t=this.opts={...t,...Ep(t)};let{es5:r,lines:n}=this.opts.code;this.scope=new bp.ValueScope({scope:{},prefixes:_p,es5:r,lines:n}),this.logger=Pp(t.logger);let s=t.validateFormats;t.validateFormats=false,this.RULES=(0, Sp.getRules)(),Li.call(this,Rp,t,"NOT SUPPORTED"),Li.call(this,Cp,t,"DEPRECATED","warn"),this._metaOpts=Ap.call(this),t.formats&&xp.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),t.keywords&&Tp.call(this,t.keywords),typeof t.meta=="object"&&this.addMetaSchema(t.meta),$p.call(this),t.validateFormats=s;}_addVocabularies(){this.addKeyword("$async");}_addDefaultMetaSchema(){let{$data:t,meta:r,schemaId:n}=this.opts,s=Di;n==="id"&&(s={...Di},s.id=s.$id,delete s.$id),r&&t&&this.addMetaSchema(s,s[n],false);}defaultMeta(){let{meta:t,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof t=="object"?t[r]||t:void 0}validate(t,r){let n;if(typeof t=="string"){if(n=this.getSchema(t),!n)throw new Error(`no schema with key or ref "${t}"`)}else n=this.compile(t);let s=n(r);return "$async"in n||(this.errors=n.errors),s}compile(t,r){let n=this._addSchema(t,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(t,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return s.call(this,t,r);async function s(d,l){await o.call(this,d.$schema);let m=this._addSchema(d,l);return m.validate||a.call(this,m)}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 Bi.default))throw l;return i.call(this,l),await u.call(this,l.missingSchema),a.call(this,d)}}function i({missingSchema:d,missingRef:l}){if(this.refs[d])throw new Error(`AnySchema ${d} is loaded but ${l} cannot be resolved`)}async function u(d){let l=await c.call(this,d);this.refs[d]||await o.call(this,l.$schema),this.refs[d]||this.addSchema(l,d,r);}async function c(d){let l=this._loading[d];if(l)return l;try{return await(this._loading[d]=n(d))}finally{delete this._loading[d];}}}addSchema(t,r,n,s=this.opts.validateSchema){if(Array.isArray(t)){for(let a of t)this.addSchema(a,void 0,n,s);return this}let o;if(typeof t=="object"){let{schemaId:a}=this.opts;if(o=t[a],o!==void 0&&typeof o!="string")throw new Error(`schema ${a} must be string`)}return r=(0, Rr.normalizeId)(r||o),this._checkUnique(r),this.schemas[r]=this._addSchema(t,n,r,s,true),this}addMetaSchema(t,r,n=this.opts.validateSchema){return this.addSchema(t,r,true,n),this}validateSchema(t,r){if(typeof t=="boolean")return true;let n;if(n=t.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,true;let s=this.validate(n,t);if(!s&&r){let o="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(o);else throw new Error(o)}return s}getSchema(t){let r;for(;typeof(r=Vi.call(this,t))=="string";)t=r;if(r===void 0){let{schemaId:n}=this.opts,s=new _r.SchemaEnv({schema:{},schemaId:n});if(r=_r.resolveSchema.call(this,s,t),!r)return;this.refs[t]=r;}return r.validate||this._compileSchemaEnv(r)}removeSchema(t){if(t instanceof RegExp)return this._removeAllSchemas(this.schemas,t),this._removeAllSchemas(this.refs,t),this;switch(typeof t){case "undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case "string":{let r=Vi.call(this,t);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[t],delete this.refs[t],this}case "object":{let r=t;this._cache.delete(r);let n=t[this.opts.schemaId];return n&&(n=(0, Rr.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(t){for(let r of t)this.addKeyword(r);return this}addKeyword(t,r){let n;if(typeof t=="string")n=t,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof t=="object"&&r===void 0){if(r=t,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(jp.call(this,n,r),!r)return (0, Ys.eachItem)(n,o=>Ws.call(this,o)),this;qp.call(this,r);let s={...r,type:(0, vn.getJSONTypes)(r.type),schemaType:(0, vn.getJSONTypes)(r.schemaType)};return (0, Ys.eachItem)(n,s.type.length===0?o=>Ws.call(this,o,s):o=>s.type.forEach(a=>Ws.call(this,o,s,a))),this}getKeyword(t){let r=this.RULES.all[t];return typeof r=="object"?r.definition:!!r}removeKeyword(t){let{RULES:r}=this;delete r.keywords[t],delete r.all[t];for(let n of r.rules){let s=n.rules.findIndex(o=>o.keyword===t);s>=0&&n.rules.splice(s,1);}return this}addFormat(t,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[t]=r,this}errorsText(t=this.errors,{separator:r=", ",dataVar:n="data"}={}){return !t||t.length===0?"No errors":t.map(s=>`${n}${s.instancePath} ${s.message}`).reduce((s,o)=>s+r+o)}$dataMetaSchema(t,r){let n=this.RULES.all;t=JSON.parse(JSON.stringify(t));for(let s of r){let o=s.split("/").slice(1),a=t;for(let i of o)a=a[i];for(let i in n){let u=n[i];if(typeof u!="object")continue;let{$data:c}=u.definition,d=a[i];c&&d&&(a[i]=Ki(d));}}return t}_removeAllSchemas(t,r){for(let n in t){let s=t[n];(!r||r.test(n))&&(typeof s=="string"?delete t[n]:s&&!s.meta&&(this._cache.delete(s.schema),delete t[n]));}}_addSchema(t,r,n,s=this.opts.validateSchema,o=this.opts.addUsedSchema){let a,{schemaId:i}=this.opts;if(typeof t=="object")a=t[i];else {if(this.opts.jtd)throw new Error("schema must be object");if(typeof t!="boolean")throw new Error("schema must be object or boolean")}let u=this._cache.get(t);if(u!==void 0)return u;n=(0, Rr.normalizeId)(a||n);let c=Rr.getSchemaRefs.call(this,t,n);return u=new _r.SchemaEnv({schema:t,schemaId:i,meta:r,baseId:n,localRefs:c}),this._cache.set(u.schema,u),o&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=u),s&&this.validateSchema(t,true),u}_checkUnique(t){if(this.schemas[t]||this.refs[t])throw new Error(`schema with key or id "${t}" already exists`)}_compileSchemaEnv(t){if(t.meta?this._compileMetaSchema(t):_r.compileSchema.call(this,t),!t.validate)throw new Error("ajv implementation error");return t.validate}_compileMetaSchema(t){let r=this.opts;this.opts=this._metaOpts;try{_r.compileSchema.call(this,t);}finally{this.opts=r;}}};Cr.ValidationError=vp.default;Cr.MissingRefError=Bi.default;he.default=Cr;function Li(e,t,r,n="error"){for(let s in e){let o=s;o in t&&this.logger[n](`${r}: option ${s}. ${e[o]}`);}}function Vi(e){return e=(0, Rr.normalizeId)(e),this.schemas[e]||this.refs[e]}function $p(){let e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(let t in e)this.addSchema(e[t],t);}function xp(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t);}}function Tp(e){if(Array.isArray(e)){this.addVocabulary(e);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let t in e){let r=e[t];r.keyword||(r.keyword=t),this.addKeyword(r);}}function Ap(){let e={...this.opts};for(let t of wp)delete e[t];return e}var Ip={log(){},warn(){},error(){}};function Pp(e){if(e===false)return Ip;if(e===void 0)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}var Op=/^[a-z_$][a-z0-9_$:-]*$/i;function jp(e,t){let{RULES:r}=this;if((0, Ys.eachItem)(e,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!Op.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!t&&t.$data&&!("code"in t||"validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function Ws(e,t,r){var n;let s=t?.post;if(r&&s)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:o}=this,a=s?o.post:o.rules.find(({type:u})=>u===r);if(a||(a={type:r,rules:[]},o.rules.push(a)),o.keywords[e]=true,!t)return;let i={keyword:e,definition:{...t,type:(0, vn.getJSONTypes)(t.type),schemaType:(0, vn.getJSONTypes)(t.schemaType)}};t.before?Np.call(this,a,i,t.before):a.rules.push(i),o.all[e]=i,(n=t.implements)===null||n===void 0||n.forEach(u=>this.addKeyword(u));}function Np(e,t,r){let n=e.rules.findIndex(s=>s.keyword===r);n>=0?e.rules.splice(n,0,t):(e.rules.push(t),this.logger.warn(`rule ${r} is not defined`));}function qp(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=Ki(t)),e.validateSchema=this.compile(t,true));}var Fp={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Ki(e){return {anyOf:[e,Fp]}}});var Ji=T(Xs=>{Object.defineProperty(Xs,"__esModule",{value:true});var Dp={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Xs.default=Dp;});var Yi=T(Nt=>{Object.defineProperty(Nt,"__esModule",{value:true});Nt.callRef=Nt.getValidate=void 0;var Mp=kr(),zi=De(),Pe=U(),Qt=st(),Hi=pn(),Sn=W(),Lp={keyword:"$ref",schemaType:"string",code(e){let{gen:t,schema:r,it:n}=e,{baseId:s,schemaEnv:o,validateName:a,opts:i,self:u}=n,{root:c}=o;if((r==="#"||r==="#/")&&s===c.baseId)return l();let d=Hi.resolveRef.call(u,c,s,r);if(d===void 0)throw new Mp.default(n.opts.uriResolver,s,r);if(d instanceof Hi.SchemaEnv)return m(d);return g(d);function l(){if(o===c)return bn(e,a,o,o.$async);let p=t.scopeValue("root",{ref:c});return bn(e,(0, Pe._)`${p}.validate`,c,c.$async)}function m(p){let f=Wi(e,p);bn(e,f,p,p.$async);}function g(p){let f=t.scopeValue("schema",i.code.source===true?{ref:p,code:(0, Pe.stringify)(p)}:{ref:p}),b=t.name("valid"),_=e.subschema({schema:p,dataTypes:[],schemaPath:Pe.nil,topSchemaRef:f,errSchemaPath:r},b);e.mergeEvaluated(_),e.ok(b);}}};function Wi(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0, Pe._)`${r.scopeValue("wrapper",{ref:t})}.validate`}Nt.getValidate=Wi;function bn(e,t,r,n){let{gen:s,it:o}=e,{allErrors:a,schemaEnv:i,opts:u}=o,c=u.passContext?Qt.default.this:Pe.nil;n?d():l();function d(){if(!i.$async)throw new Error("async schema referenced by sync schema");let p=s.let("valid");s.try(()=>{s.code((0, Pe._)`await ${(0, zi.callValidateCode)(e,t,c)}`),g(t),a||s.assign(p,true);},f=>{s.if((0, Pe._)`!(${f} instanceof ${o.ValidationError})`,()=>s.throw(f)),m(f),a||s.assign(p,false);}),e.ok(p);}function l(){e.result((0, zi.callValidateCode)(e,t,c),()=>g(t),()=>m(t));}function m(p){let f=(0, Pe._)`${p}.errors`;s.assign(Qt.default.vErrors,(0, Pe._)`${Qt.default.vErrors} === null ? ${f} : ${Qt.default.vErrors}.concat(${f})`),s.assign(Qt.default.errors,(0, Pe._)`${Qt.default.vErrors}.length`);}function g(p){var f;if(!o.opts.unevaluated)return;let b=(f=r?.validate)===null||f===void 0?void 0:f.evaluated;if(o.props!==true)if(b&&!b.dynamicProps)b.props!==void 0&&(o.props=Sn.mergeEvaluated.props(s,b.props,o.props));else {let _=s.var("props",(0, Pe._)`${p}.evaluated.props`);o.props=Sn.mergeEvaluated.props(s,_,o.props,Pe.Name);}if(o.items!==true)if(b&&!b.dynamicItems)b.items!==void 0&&(o.items=Sn.mergeEvaluated.items(s,b.items,o.items));else {let _=s.var("items",(0, Pe._)`${p}.evaluated.items`);o.items=Sn.mergeEvaluated.items(s,_,o.items,Pe.Name);}}}Nt.callRef=bn;Nt.default=Lp;});var Xi=T(Qs=>{Object.defineProperty(Qs,"__esModule",{value:true});var Vp=Ji(),Bp=Yi(),Gp=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",Vp.default,Bp.default];Qs.default=Gp;});var Qi=T(Zs=>{Object.defineProperty(Zs,"__esModule",{value:true});var kn=U(),ht=kn.operators,wn={maximum:{okStr:"<=",ok:ht.LTE,fail:ht.GT},minimum:{okStr:">=",ok:ht.GTE,fail:ht.LT},exclusiveMaximum:{okStr:"<",ok:ht.LT,fail:ht.GTE},exclusiveMinimum:{okStr:">",ok:ht.GT,fail:ht.LTE}},Kp={message:({keyword:e,schemaCode:t})=>(0, kn.str)`must be ${wn[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0, kn._)`{comparison: ${wn[e].okStr}, limit: ${t}}`},Up={keyword:Object.keys(wn),type:"number",schemaType:"number",$data:true,error:Kp,code(e){let{keyword:t,data:r,schemaCode:n}=e;e.fail$data((0, kn._)`${r} ${wn[t].fail} ${n} || isNaN(${r})`);}};Zs.default=Up;});var Zi=T(eo=>{Object.defineProperty(eo,"__esModule",{value:true});var Er=U(),Jp={message:({schemaCode:e})=>(0, Er.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0, Er._)`{multipleOf: ${e}}`},zp={keyword:"multipleOf",type:"number",schemaType:"number",$data:true,error:Jp,code(e){let{gen:t,data:r,schemaCode:n,it:s}=e,o=s.opts.multipleOfPrecision,a=t.let("res"),i=o?(0, Er._)`Math.abs(Math.round(${a}) - ${a}) > 1e-${o}`:(0, Er._)`${a} !== parseInt(${a})`;e.fail$data((0, Er._)`(${n} === 0 || (${a} = ${r}/${n}, ${i}))`);}};eo.default=zp;});var tc=T(to=>{Object.defineProperty(to,"__esModule",{value:true});function ec(e){let t=e.length,r=0,n=0,s;for(;n<t;)r++,s=e.charCodeAt(n++),s>=55296&&s<=56319&&n<t&&(s=e.charCodeAt(n),(s&64512)===56320&&n++);return r}to.default=ec;ec.code='require("ajv/dist/runtime/ucs2length").default';});var rc=T(ro=>{Object.defineProperty(ro,"__esModule",{value:true});var qt=U(),Hp=W(),Wp=tc(),Yp={message({keyword:e,schemaCode:t}){let r=e==="maxLength"?"more":"fewer";return (0, qt.str)`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>(0, qt._)`{limit: ${e}}`},Xp={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:true,error:Yp,code(e){let{keyword:t,data:r,schemaCode:n,it:s}=e,o=t==="maxLength"?qt.operators.GT:qt.operators.LT,a=s.opts.unicode===false?(0, qt._)`${r}.length`:(0, qt._)`${(0, Hp.useFunc)(e.gen,Wp.default)}(${r})`;e.fail$data((0, qt._)`${a} ${o} ${n}`);}};ro.default=Xp;});var nc=T(no=>{Object.defineProperty(no,"__esModule",{value:true});var Qp=De(),Zp=W(),Zt=U(),em={message:({schemaCode:e})=>(0, Zt.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0, Zt._)`{pattern: ${e}}`},tm={keyword:"pattern",type:"string",schemaType:"string",$data:true,error:em,code(e){let{gen:t,data:r,$data:n,schema:s,schemaCode:o,it:a}=e,i=a.opts.unicodeRegExp?"u":"";if(n){let{regExp:u}=a.opts.code,c=u.code==="new RegExp"?(0, Zt._)`new RegExp`:(0, Zp.useFunc)(t,u),d=t.let("valid");t.try(()=>t.assign(d,(0, Zt._)`${c}(${o}, ${i}).test(${r})`),()=>t.assign(d,false)),e.fail$data((0, Zt._)`!${d}`);}else {let u=(0, Qp.usePattern)(e,s);e.fail$data((0, Zt._)`!${u}.test(${r})`);}}};no.default=tm;});var sc=T(so=>{Object.defineProperty(so,"__esModule",{value:true});var $r=U(),rm={message({keyword:e,schemaCode:t}){let r=e==="maxProperties"?"more":"fewer";return (0, $r.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0, $r._)`{limit: ${e}}`},nm={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:true,error:rm,code(e){let{keyword:t,data:r,schemaCode:n}=e,s=t==="maxProperties"?$r.operators.GT:$r.operators.LT;e.fail$data((0, $r._)`Object.keys(${r}).length ${s} ${n}`);}};so.default=nm;});var oc=T(oo=>{Object.defineProperty(oo,"__esModule",{value:true});var xr=De(),Tr=U(),sm=W(),om={message:({params:{missingProperty:e}})=>(0, Tr.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0, Tr._)`{missingProperty: ${e}}`},am={keyword:"required",type:"object",schemaType:"array",$data:true,error:om,code(e){let{gen:t,schema:r,schemaCode:n,data:s,$data:o,it:a}=e,{opts:i}=a;if(!o&&r.length===0)return;let u=r.length>=i.loopRequired;if(a.allErrors?c():d(),i.strictRequired){let g=e.parentSchema.properties,{definedProperties:p}=e.it;for(let f of r)if(g?.[f]===void 0&&!p.has(f)){let b=a.schemaEnv.baseId+a.errSchemaPath,_=`required property "${f}" is not defined at "${b}" (strictRequired)`;(0, sm.checkStrictMode)(a,_,a.opts.strictRequired);}}function c(){if(u||o)e.block$data(Tr.nil,l);else for(let g of r)(0, xr.checkReportMissingProp)(e,g);}function d(){let g=t.let("missing");if(u||o){let p=t.let("valid",true);e.block$data(p,()=>m(g,p)),e.ok(p);}else t.if((0, xr.checkMissingProp)(e,r,g)),(0, xr.reportMissingProp)(e,g),t.else();}function l(){t.forOf("prop",n,g=>{e.setParams({missingProperty:g}),t.if((0, xr.noPropertyInData)(t,s,g,i.ownProperties),()=>e.error());});}function m(g,p){e.setParams({missingProperty:g}),t.forOf(g,n,()=>{t.assign(p,(0, xr.propertyInData)(t,s,g,i.ownProperties)),t.if((0, Tr.not)(p),()=>{e.error(),t.break();});},Tr.nil);}}};oo.default=am;});var ac=T(ao=>{Object.defineProperty(ao,"__esModule",{value:true});var Ar=U(),im={message({keyword:e,schemaCode:t}){let r=e==="maxItems"?"more":"fewer";return (0, Ar.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0, Ar._)`{limit: ${e}}`},cm={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:true,error:im,code(e){let{keyword:t,data:r,schemaCode:n}=e,s=t==="maxItems"?Ar.operators.GT:Ar.operators.LT;e.fail$data((0, Ar._)`${r}.length ${s} ${n}`);}};ao.default=cm;});var _n=T(io=>{Object.defineProperty(io,"__esModule",{value:true});var ic=Is();ic.code='require("ajv/dist/runtime/equal").default';io.default=ic;});var cc=T(uo=>{Object.defineProperty(uo,"__esModule",{value:true});var co=hr(),ye=U(),um=W(),dm=_n(),lm={message:({params:{i:e,j:t}})=>(0, ye.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0, ye._)`{i: ${e}, j: ${t}}`},fm={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:true,error:lm,code(e){let{gen:t,data:r,$data:n,schema:s,parentSchema:o,schemaCode:a,it:i}=e;if(!n&&!s)return;let u=t.let("valid"),c=o.items?(0, co.getSchemaTypes)(o.items):[];e.block$data(u,d,(0, ye._)`${a} === false`),e.ok(u);function d(){let p=t.let("i",(0, ye._)`${r}.length`),f=t.let("j");e.setParams({i:p,j:f}),t.assign(u,true),t.if((0, ye._)`${p} > 1`,()=>(l()?m:g)(p,f));}function l(){return c.length>0&&!c.some(p=>p==="object"||p==="array")}function m(p,f){let b=t.name("item"),_=(0, co.checkDataTypes)(c,b,i.opts.strictNumbers,co.DataType.Wrong),k=t.const("indices",(0, ye._)`{}`);t.for((0, ye._)`;${p}--;`,()=>{t.let(b,(0, ye._)`${r}[${p}]`),t.if(_,(0, ye._)`continue`),c.length>1&&t.if((0, ye._)`typeof ${b} == "string"`,(0, ye._)`${b} += "_"`),t.if((0, ye._)`typeof ${k}[${b}] == "number"`,()=>{t.assign(f,(0, ye._)`${k}[${b}]`),e.error(),t.assign(u,false).break();}).code((0, ye._)`${k}[${b}] = ${p}`);});}function g(p,f){let b=(0, um.useFunc)(t,dm.default),_=t.name("outer");t.label(_).for((0, ye._)`;${p}--;`,()=>t.for((0, ye._)`${f} = ${p}; ${f}--;`,()=>t.if((0, ye._)`${b}(${r}[${p}], ${r}[${f}])`,()=>{e.error(),t.assign(u,false).break(_);})));}}};uo.default=fm;});var uc=T(fo=>{Object.defineProperty(fo,"__esModule",{value:true});var lo=U(),pm=W(),mm=_n(),gm={message:"must be equal to constant",params:({schemaCode:e})=>(0, lo._)`{allowedValue: ${e}}`},hm={keyword:"const",$data:true,error:gm,code(e){let{gen:t,data:r,$data:n,schemaCode:s,schema:o}=e;n||o&&typeof o=="object"?e.fail$data((0, lo._)`!${(0, pm.useFunc)(t,mm.default)}(${r}, ${s})`):e.fail((0, lo._)`${o} !== ${r}`);}};fo.default=hm;});var dc=T(po=>{Object.defineProperty(po,"__esModule",{value:true});var Ir=U(),ym=W(),vm=_n(),Sm={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0, Ir._)`{allowedValues: ${e}}`},bm={keyword:"enum",schemaType:"array",$data:true,error:Sm,code(e){let{gen:t,data:r,$data:n,schema:s,schemaCode:o,it:a}=e;if(!n&&s.length===0)throw new Error("enum must have non-empty array");let i=s.length>=a.opts.loopEnum,u,c=()=>u??(u=(0, ym.useFunc)(t,vm.default)),d;if(i||n)d=t.let("valid"),e.block$data(d,l);else {if(!Array.isArray(s))throw new Error("ajv implementation error");let g=t.const("vSchema",o);d=(0, Ir.or)(...s.map((p,f)=>m(g,f)));}e.pass(d);function l(){t.assign(d,false),t.forOf("v",o,g=>t.if((0, Ir._)`${c()}(${r}, ${g})`,()=>t.assign(d,true).break()));}function m(g,p){let f=s[p];return typeof f=="object"&&f!==null?(0, Ir._)`${c()}(${r}, ${g}[${p}])`:(0, Ir._)`${r} === ${f}`}}};po.default=bm;});var lc=T(mo=>{Object.defineProperty(mo,"__esModule",{value:true});var km=Qi(),wm=Zi(),_m=rc(),Rm=nc(),Cm=sc(),Em=oc(),$m=ac(),xm=cc(),Tm=uc(),Am=dc(),Im=[km.default,wm.default,_m.default,Rm.default,Cm.default,Em.default,$m.default,xm.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},Tm.default,Am.default];mo.default=Im;});var ho=T(Pr=>{Object.defineProperty(Pr,"__esModule",{value:true});Pr.validateAdditionalItems=void 0;var Ft=U(),go=W(),Pm={message:({params:{len:e}})=>(0, Ft.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0, Ft._)`{limit: ${e}}`},Om={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:Pm,code(e){let{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){(0, go.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}fc(e,n);}};function fc(e,t){let{gen:r,schema:n,data:s,keyword:o,it:a}=e;a.items=true;let i=r.const("len",(0, Ft._)`${s}.length`);if(n===false)e.setParams({len:t.length}),e.pass((0, Ft._)`${i} <= ${t.length}`);else if(typeof n=="object"&&!(0, go.alwaysValidSchema)(a,n)){let c=r.var("valid",(0, Ft._)`${i} <= ${t.length}`);r.if((0, Ft.not)(c),()=>u(c)),e.ok(c);}function u(c){r.forRange("i",t.length,i,d=>{e.subschema({keyword:o,dataProp:d,dataPropType:go.Type.Num},c),a.allErrors||r.if((0, Ft.not)(c),()=>r.break());});}}Pr.validateAdditionalItems=fc;Pr.default=Om;});var yo=T(Or=>{Object.defineProperty(Or,"__esModule",{value:true});Or.validateTuple=void 0;var pc=U(),Rn=W(),jm=De(),Nm={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return mc(e,"additionalItems",t);r.items=true,!(0, Rn.alwaysValidSchema)(r,t)&&e.ok((0, jm.validateArray)(e));}};function mc(e,t,r=e.schema){let{gen:n,parentSchema:s,data:o,keyword:a,it:i}=e;d(s),i.opts.unevaluated&&r.length&&i.items!==true&&(i.items=Rn.mergeEvaluated.items(n,r.length,i.items));let u=n.name("valid"),c=n.const("len",(0, pc._)`${o}.length`);r.forEach((l,m)=>{(0, Rn.alwaysValidSchema)(i,l)||(n.if((0, pc._)`${c} > ${m}`,()=>e.subschema({keyword:a,schemaProp:m,dataProp:m},u)),e.ok(u));});function d(l){let{opts:m,errSchemaPath:g}=i,p=r.length,f=p===l.minItems&&(p===l.maxItems||l[t]===false);if(m.strictTuples&&!f){let b=`"${a}" is ${p}-tuple, but minItems or maxItems/${t} are not specified or different at path "${g}"`;(0, Rn.checkStrictMode)(i,b,m.strictTuples);}}}Or.validateTuple=mc;Or.default=Nm;});var gc=T(vo=>{Object.defineProperty(vo,"__esModule",{value:true});var qm=yo(),Fm={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0, qm.validateTuple)(e,"items")};vo.default=Fm;});var yc=T(So=>{Object.defineProperty(So,"__esModule",{value:true});var hc=U(),Dm=W(),Mm=De(),Lm=ho(),Vm={message:({params:{len:e}})=>(0, hc.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0, hc._)`{limit: ${e}}`},Bm={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:Vm,code(e){let{schema:t,parentSchema:r,it:n}=e,{prefixItems:s}=r;n.items=true,!(0, Dm.alwaysValidSchema)(n,t)&&(s?(0, Lm.validateAdditionalItems)(e,s):e.ok((0, Mm.validateArray)(e)));}};So.default=Bm;});var vc=T(bo=>{Object.defineProperty(bo,"__esModule",{value:true});var Le=U(),Cn=W(),Gm={message:({params:{min:e,max:t}})=>t===void 0?(0, Le.str)`must contain at least ${e} valid item(s)`:(0, Le.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0, Le._)`{minContains: ${e}}`:(0, Le._)`{minContains: ${e}, maxContains: ${t}}`},Km={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:true,error:Gm,code(e){let{gen:t,schema:r,parentSchema:n,data:s,it:o}=e,a,i,{minContains:u,maxContains:c}=n;o.opts.next?(a=u===void 0?1:u,i=c):a=1;let d=t.const("len",(0, Le._)`${s}.length`);if(e.setParams({min:a,max:i}),i===void 0&&a===0){(0, Cn.checkStrictMode)(o,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(i!==void 0&&a>i){(0, Cn.checkStrictMode)(o,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0, Cn.alwaysValidSchema)(o,r)){let f=(0, Le._)`${d} >= ${a}`;i!==void 0&&(f=(0, Le._)`${f} && ${d} <= ${i}`),e.pass(f);return}o.items=true;let l=t.name("valid");i===void 0&&a===1?g(l,()=>t.if(l,()=>t.break())):a===0?(t.let(l,true),i!==void 0&&t.if((0, Le._)`${s}.length > 0`,m)):(t.let(l,false),m()),e.result(l,()=>e.reset());function m(){let f=t.name("_valid"),b=t.let("count",0);g(f,()=>t.if(f,()=>p(b)));}function g(f,b){t.forRange("i",0,d,_=>{e.subschema({keyword:"contains",dataProp:_,dataPropType:Cn.Type.Num,compositeRule:true},f),b();});}function p(f){t.code((0, Le._)`${f}++`),i===void 0?t.if((0, Le._)`${f} >= ${a}`,()=>t.assign(l,true).break()):(t.if((0, Le._)`${f} > ${i}`,()=>t.assign(l,false).break()),a===1?t.assign(l,true):t.if((0, Le._)`${f} >= ${a}`,()=>t.assign(l,true)));}}};bo.default=Km;});var kc=T(Qe=>{Object.defineProperty(Qe,"__esModule",{value:true});Qe.validateSchemaDeps=Qe.validatePropertyDeps=Qe.error=void 0;var ko=U(),Um=W(),jr=De();Qe.error={message:({params:{property:e,depsCount:t,deps:r}})=>{let n=t===1?"property":"properties";return (0, ko.str)`must have ${n} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:r,missingProperty:n}})=>(0, ko._)`{property: ${e},
7
7
  missingProperty: ${n},
8
8
  depsCount: ${t},
9
- deps: ${r}}`};var Jm={keyword:"dependencies",type:"object",schemaType:"object",error:Xe.error,code(e){let[t,r]=zm(e);Sc(e,t),kc(e,r);}};function zm({schema:e}){let t={},r={};for(let n in e){if(n==="__proto__")continue;let s=Array.isArray(e[n])?t:r;s[n]=e[n];}return [t,r]}function Sc(e,t=e.schema){let{gen:r,data:n,it:s}=e;if(Object.keys(t).length===0)return;let o=r.let("missing");for(let a in t){let i=t[a];if(i.length===0)continue;let u=(0, jr.propertyInData)(r,n,a,s.opts.ownProperties);e.setParams({property:a,depsCount:i.length,deps:i.join(", ")}),s.allErrors?r.if(u,()=>{for(let c of i)(0, jr.checkReportMissingProp)(e,c);}):(r.if((0, bo._)`${u} && (${(0, jr.checkMissingProp)(e,i,o)})`),(0, jr.reportMissingProp)(e,o),r.else());}}Xe.validatePropertyDeps=Sc;function kc(e,t=e.schema){let{gen:r,data:n,keyword:s,it:o}=e,a=r.name("valid");for(let i in t)(0, Um.alwaysValidSchema)(o,t[i])||(r.if((0, jr.propertyInData)(r,n,i,o.opts.ownProperties),()=>{let u=e.subschema({keyword:s,schemaProp:i},a);e.mergeValidEvaluated(u,a);},()=>r.var(a,true)),e.ok(a));}Xe.validateSchemaDeps=kc;Xe.default=Jm;});var _c=x(wo=>{Object.defineProperty(wo,"__esModule",{value:true});var wc=G(),Hm=z(),Wm={message:"property name must be valid",params:({params:e})=>(0, wc._)`{propertyName: ${e.propertyName}}`},Ym={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Wm,code(e){let{gen:t,schema:r,data:n,it:s}=e;if((0, Hm.alwaysValidSchema)(s,r))return;let o=t.name("valid");t.forIn("key",n,a=>{e.setParams({propertyName:a}),e.subschema({keyword:"propertyNames",data:a,dataTypes:["string"],propertyName:a,compositeRule:true},o),t.if((0, wc.not)(o),()=>{e.error(true),s.allErrors||t.break();});}),e.ok(o);}};wo.default=Ym;});var Ro=x(_o=>{Object.defineProperty(_o,"__esModule",{value:true});var En=Fe(),Ue=G(),Xm=rt(),$n=z(),Qm={message:"must NOT have additional properties",params:({params:e})=>(0, Ue._)`{additionalProperty: ${e.additionalProperty}}`},Zm={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:true,trackErrors:true,error:Qm,code(e){let{gen:t,schema:r,parentSchema:n,data:s,errsCount:o,it:a}=e;if(!o)throw new Error("ajv implementation error");let{allErrors:i,opts:u}=a;if(a.props=true,u.removeAdditional!=="all"&&(0, $n.alwaysValidSchema)(a,r))return;let c=(0, En.allSchemaProperties)(n.properties),d=(0, En.allSchemaProperties)(n.patternProperties);l(),e.ok((0, Ue._)`${o} === ${Xm.default.errors}`);function l(){t.forIn("key",s,v=>{!c.length&&!d.length?m(v):t.if(h(v),()=>m(v));});}function h(v){let _;if(c.length>8){let g=(0, $n.schemaRefOrVal)(a,n.properties,"properties");_=(0, En.isOwnProperty)(t,g,v);}else c.length?_=(0, Ue.or)(...c.map(g=>(0, Ue._)`${v} === ${g}`)):_=Ue.nil;return d.length&&(_=(0, Ue.or)(_,...d.map(g=>(0, Ue._)`${(0, En.usePattern)(e,g)}.test(${v})`))),(0, Ue.not)(_)}function y(v){t.code((0, Ue._)`delete ${s}[${v}]`);}function m(v){if(u.removeAdditional==="all"||u.removeAdditional&&r===false){y(v);return}if(r===false){e.setParams({additionalProperty:v}),e.error(),i||t.break();return}if(typeof r=="object"&&!(0, $n.alwaysValidSchema)(a,r)){let _=t.name("valid");u.removeAdditional==="failing"?(f(v,_,false),t.if((0, Ue.not)(_),()=>{e.reset(),y(v);})):(f(v,_),i||t.if((0, Ue.not)(_),()=>t.break()));}}function f(v,_,g){let p={keyword:"additionalProperties",dataProp:v,dataPropType:$n.Type.Str};g===false&&Object.assign(p,{compositeRule:true,createErrors:false,allErrors:false}),e.subschema(p,_);}}};_o.default=Zm;});var Ec=x(Eo=>{Object.defineProperty(Eo,"__esModule",{value:true});var eg=kr(),Rc=Fe(),Co=z(),Cc=Ro(),tg={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,parentSchema:n,data:s,it:o}=e;o.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&Cc.default.code(new eg.KeywordCxt(o,Cc.default,"additionalProperties"));let a=(0, Rc.allSchemaProperties)(r);for(let l of a)o.definedProperties.add(l);o.opts.unevaluated&&a.length&&o.props!==true&&(o.props=Co.mergeEvaluated.props(t,(0, Co.toHash)(a),o.props));let i=a.filter(l=>!(0, Co.alwaysValidSchema)(o,r[l]));if(i.length===0)return;let u=t.name("valid");for(let l of i)c(l)?d(l):(t.if((0, Rc.propertyInData)(t,s,l,o.opts.ownProperties)),d(l),o.allErrors||t.else().var(u,true),t.endIf()),e.it.definedProperties.add(l),e.ok(u);function c(l){return o.opts.useDefaults&&!o.compositeRule&&r[l].default!==void 0}function d(l){e.subschema({keyword:"properties",schemaProp:l,dataProp:l},u);}}};Eo.default=tg;});var Ac=x($o=>{Object.defineProperty($o,"__esModule",{value:true});var $c=Fe(),xn=G(),xc=z(),Tc=z(),rg={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,data:n,parentSchema:s,it:o}=e,{opts:a}=o,i=(0, $c.allSchemaProperties)(r),u=i.filter(f=>(0, xc.alwaysValidSchema)(o,r[f]));if(i.length===0||u.length===i.length&&(!o.opts.unevaluated||o.props===true))return;let c=a.strictSchema&&!a.allowMatchingProperties&&s.properties,d=t.name("valid");o.props!==true&&!(o.props instanceof xn.Name)&&(o.props=(0, Tc.evaluatedPropsToName)(t,o.props));let{props:l}=o;h();function h(){for(let f of i)c&&y(f),o.allErrors?m(f):(t.var(d,true),m(f),t.if(d));}function y(f){for(let v in c)new RegExp(f).test(v)&&(0, xc.checkStrictMode)(o,`property ${v} matches pattern ${f} (use allowMatchingProperties)`);}function m(f){t.forIn("key",n,v=>{t.if((0, xn._)`${(0, $c.usePattern)(e,f)}.test(${v})`,()=>{let _=u.includes(f);_||e.subschema({keyword:"patternProperties",schemaProp:f,dataProp:v,dataPropType:Tc.Type.Str},d),o.opts.unevaluated&&l!==true?t.assign((0, xn._)`${l}[${v}]`,true):!_&&!o.allErrors&&t.if((0, xn.not)(d),()=>t.break());});});}}};$o.default=rg;});var Ic=x(xo=>{Object.defineProperty(xo,"__esModule",{value:true});var ng=z(),sg={keyword:"not",schemaType:["object","boolean"],trackErrors:true,code(e){let{gen:t,schema:r,it:n}=e;if((0, ng.alwaysValidSchema)(n,r)){e.fail();return}let s=t.name("valid");e.subschema({keyword:"not",compositeRule:true,createErrors:false,allErrors:false},s),e.failResult(s,()=>e.reset(),()=>e.error());},error:{message:"must NOT be valid"}};xo.default=sg;});var Pc=x(To=>{Object.defineProperty(To,"__esModule",{value:true});var og=Fe(),ag={keyword:"anyOf",schemaType:"array",trackErrors:true,code:og.validateUnion,error:{message:"must match a schema in anyOf"}};To.default=ag;});var Oc=x(Ao=>{Object.defineProperty(Ao,"__esModule",{value:true});var Tn=G(),ig=z(),cg={message:"must match exactly one schema in oneOf",params:({params:e})=>(0, Tn._)`{passingSchemas: ${e.passing}}`},ug={keyword:"oneOf",schemaType:"array",trackErrors:true,error:cg,code(e){let{gen:t,schema:r,parentSchema:n,it:s}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(s.opts.discriminator&&n.discriminator)return;let o=r,a=t.let("valid",false),i=t.let("passing",null),u=t.name("_valid");e.setParams({passing:i}),t.block(c),e.result(a,()=>e.reset(),()=>e.error(true));function c(){o.forEach((d,l)=>{let h;(0, ig.alwaysValidSchema)(s,d)?t.var(u,true):h=e.subschema({keyword:"oneOf",schemaProp:l,compositeRule:true},u),l>0&&t.if((0, Tn._)`${u} && ${a}`).assign(a,false).assign(i,(0, Tn._)`[${i}, ${l}]`).else(),t.if(u,()=>{t.assign(a,true),t.assign(i,l),h&&e.mergeEvaluated(h,Tn.Name);});});}}};Ao.default=ug;});var jc=x(Io=>{Object.defineProperty(Io,"__esModule",{value:true});var dg=z(),lg={keyword:"allOf",schemaType:"array",code(e){let{gen:t,schema:r,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");let s=t.name("valid");r.forEach((o,a)=>{if((0, dg.alwaysValidSchema)(n,o))return;let i=e.subschema({keyword:"allOf",schemaProp:a},s);e.ok(s),e.mergeEvaluated(i);});}};Io.default=lg;});var Fc=x(Po=>{Object.defineProperty(Po,"__esModule",{value:true});var An=G(),qc=z(),fg={message:({params:e})=>(0, An.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0, An._)`{failingKeyword: ${e.ifClause}}`},pg={keyword:"if",schemaType:["object","boolean"],trackErrors:true,error:fg,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0, qc.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let s=Nc(n,"then"),o=Nc(n,"else");if(!s&&!o)return;let a=t.let("valid",true),i=t.name("_valid");if(u(),e.reset(),s&&o){let d=t.let("ifClause");e.setParams({ifClause:d}),t.if(i,c("then",d),c("else",d));}else s?t.if(i,c("then")):t.if((0, An.not)(i),c("else"));e.pass(a,()=>e.error(true));function u(){let d=e.subschema({keyword:"if",compositeRule:true,createErrors:false,allErrors:false},i);e.mergeEvaluated(d);}function c(d,l){return ()=>{let h=e.subschema({keyword:d},i);t.assign(a,i),e.mergeValidEvaluated(h,a),l?t.assign(l,(0, An._)`${d}`):e.setParams({ifClause:d});}}}};function Nc(e,t){let r=e.schema[t];return r!==void 0&&!(0, qc.alwaysValidSchema)(e,r)}Po.default=pg;});var Dc=x(Oo=>{Object.defineProperty(Oo,"__esModule",{value:true});var mg=z(),gg={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0, mg.checkStrictMode)(r,`"${e}" without "if" is ignored`);}};Oo.default=gg;});var Mc=x(jo=>{Object.defineProperty(jo,"__esModule",{value:true});var hg=ho(),yg=gc(),vg=yo(),Sg=yc(),kg=vc(),bg=bc(),wg=_c(),_g=Ro(),Rg=Ec(),Cg=Ac(),Eg=Ic(),$g=Pc(),xg=Oc(),Tg=jc(),Ag=Fc(),Ig=Dc();function Pg(e=false){let t=[Eg.default,$g.default,xg.default,Tg.default,Ag.default,Ig.default,wg.default,_g.default,bg.default,Rg.default,Cg.default];return e?t.push(yg.default,Sg.default):t.push(hg.default,vg.default),t.push(kg.default),t}jo.default=Pg;});var Lc=x(No=>{Object.defineProperty(No,"__esModule",{value:true});var fe=G(),Og={message:({schemaCode:e})=>(0, fe.str)`must match format "${e}"`,params:({schemaCode:e})=>(0, fe._)`{format: ${e}}`},jg={keyword:"format",type:["number","string"],schemaType:"string",$data:true,error:Og,code(e,t){let{gen:r,data:n,$data:s,schema:o,schemaCode:a,it:i}=e,{opts:u,errSchemaPath:c,schemaEnv:d,self:l}=i;if(!u.validateFormats)return;s?h():y();function h(){let m=r.scopeValue("formats",{ref:l.formats,code:u.code.formats}),f=r.const("fDef",(0, fe._)`${m}[${a}]`),v=r.let("fType"),_=r.let("format");r.if((0, fe._)`typeof ${f} == "object" && !(${f} instanceof RegExp)`,()=>r.assign(v,(0, fe._)`${f}.type || "string"`).assign(_,(0, fe._)`${f}.validate`),()=>r.assign(v,(0, fe._)`"string"`).assign(_,f)),e.fail$data((0, fe.or)(g(),p()));function g(){return u.strictSchema===false?fe.nil:(0, fe._)`${a} && !${_}`}function p(){let k=d.$async?(0, fe._)`(${f}.async ? await ${_}(${n}) : ${_}(${n}))`:(0, fe._)`${_}(${n})`,b=(0, fe._)`(typeof ${_} == "function" ? ${k} : ${_}.test(${n}))`;return (0, fe._)`${_} && ${_} !== true && ${v} === ${t} && !${b}`}}function y(){let m=l.formats[o];if(!m){g();return}if(m===true)return;let[f,v,_]=p(m);f===t&&e.pass(k());function g(){if(u.strictSchema===false){l.logger.warn(b());return}throw new Error(b());function b(){return `unknown format "${o}" ignored in schema at path "${c}"`}}function p(b){let E=b instanceof RegExp?(0, fe.regexpCode)(b):u.code.formats?(0, fe._)`${u.code.formats}${(0, fe.getProperty)(o)}`:void 0,R=r.scopeValue("formats",{key:o,ref:b,code:E});return typeof b=="object"&&!(b instanceof RegExp)?[b.type||"string",b.validate,(0, fe._)`${R}.validate`]:["string",b,R]}function k(){if(typeof m=="object"&&!(m instanceof RegExp)&&m.async){if(!d.$async)throw new Error("async format in sync schema");return (0, fe._)`await ${_}(${n})`}return typeof v=="function"?(0, fe._)`${_}(${n})`:(0, fe._)`${_}.test(${n})`}}}};No.default=jg;});var Vc=x(qo=>{Object.defineProperty(qo,"__esModule",{value:true});var Ng=Lc(),qg=[Ng.default];qo.default=qg;});var Bc=x(er=>{Object.defineProperty(er,"__esModule",{value:true});er.contentVocabulary=er.metadataVocabulary=void 0;er.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];er.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"];});var Kc=x(Fo=>{Object.defineProperty(Fo,"__esModule",{value:true});var Fg=Xi(),Dg=lc(),Mg=Mc(),Lg=Vc(),Gc=Bc(),Vg=[Fg.default,Dg.default,(0, Mg.default)(),Lg.default,Gc.metadataVocabulary,Gc.contentVocabulary];Fo.default=Vg;});var Jc=x(In=>{Object.defineProperty(In,"__esModule",{value:true});In.DiscrError=void 0;var Uc;(function(e){e.Tag="tag",e.Mapping="mapping";})(Uc||(In.DiscrError=Uc={}));});var Hc=x(Mo=>{Object.defineProperty(Mo,"__esModule",{value:true});var tr=G(),Do=Jc(),zc=pn(),Bg=br(),Gg=z(),Kg={message:({params:{discrError:e,tagName:t}})=>e===Do.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0, tr._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},Ug={keyword:"discriminator",type:"object",schemaType:"object",error:Kg,code(e){let{gen:t,data:r,schema:n,parentSchema:s,it:o}=e,{oneOf:a}=s;if(!o.opts.discriminator)throw new Error("discriminator: requires discriminator option");let i=n.propertyName;if(typeof i!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!a)throw new Error("discriminator: requires oneOf keyword");let u=t.let("valid",false),c=t.const("tag",(0, tr._)`${r}${(0, tr.getProperty)(i)}`);t.if((0, tr._)`typeof ${c} == "string"`,()=>d(),()=>e.error(false,{discrError:Do.DiscrError.Tag,tag:c,tagName:i})),e.ok(u);function d(){let y=h();t.if(false);for(let m in y)t.elseIf((0, tr._)`${c} === ${m}`),t.assign(u,l(y[m]));t.else(),e.error(false,{discrError:Do.DiscrError.Mapping,tag:c,tagName:i}),t.endIf();}function l(y){let m=t.name("valid"),f=e.subschema({keyword:"oneOf",schemaProp:y},m);return e.mergeEvaluated(f,tr.Name),m}function h(){var y;let m={},f=_(s),v=true;for(let k=0;k<a.length;k++){let b=a[k];if(b?.$ref&&!(0, Gg.schemaHasRulesButRef)(b,o.self.RULES)){let R=b.$ref;if(b=zc.resolveRef.call(o.self,o.schemaEnv.root,o.baseId,R),b instanceof zc.SchemaEnv&&(b=b.schema),b===void 0)throw new Bg.default(o.opts.uriResolver,o.baseId,R)}let E=(y=b?.properties)===null||y===void 0?void 0:y[i];if(typeof E!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${i}"`);v=v&&(f||_(b)),g(E,k);}if(!v)throw new Error(`discriminator: "${i}" must be required`);return m;function _({required:k}){return Array.isArray(k)&&k.includes(i)}function g(k,b){if(k.const)p(k.const,b);else if(k.enum)for(let E of k.enum)p(E,b);else throw new Error(`discriminator: "properties/${i}" must have "const" or "enum"`)}function p(k,b){if(typeof k!="string"||k in m)throw new Error(`discriminator: "${i}" values must be unique strings`);m[k]=b;}}}};Mo.default=Ug;});var Wc=x((Pv,Jg)=>{Jg.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 Xc=x((ie,Lo)=>{Object.defineProperty(ie,"__esModule",{value:true});ie.MissingRefError=ie.ValidationError=ie.CodeGen=ie.Name=ie.nil=ie.stringify=ie.str=ie._=ie.KeywordCxt=ie.Ajv=void 0;var zg=Ui(),Hg=Kc(),Wg=Hc(),Yc=Wc(),Yg=["/properties"],Pn="http://json-schema.org/draft-07/schema",rr=class extends zg.default{_addVocabularies(){super._addVocabularies(),Hg.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(Wg.default);}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(Yc,Yg):Yc;this.addMetaSchema(t,Pn,false),this.refs["http://json-schema.org/schema"]=Pn;}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(Pn)?Pn:void 0)}};ie.Ajv=rr;Lo.exports=ie=rr;Lo.exports.Ajv=rr;Object.defineProperty(ie,"__esModule",{value:true});ie.default=rr;var Xg=kr();Object.defineProperty(ie,"KeywordCxt",{enumerable:true,get:function(){return Xg.KeywordCxt}});var nr=G();Object.defineProperty(ie,"_",{enumerable:true,get:function(){return nr._}});Object.defineProperty(ie,"str",{enumerable:true,get:function(){return nr.str}});Object.defineProperty(ie,"stringify",{enumerable:true,get:function(){return nr.stringify}});Object.defineProperty(ie,"nil",{enumerable:true,get:function(){return nr.nil}});Object.defineProperty(ie,"Name",{enumerable:true,get:function(){return nr.Name}});Object.defineProperty(ie,"CodeGen",{enumerable:true,get:function(){return nr.CodeGen}});var Qg=ln();Object.defineProperty(ie,"ValidationError",{enumerable:true,get:function(){return Qg.default}});var Zg=br();Object.defineProperty(ie,"MissingRefError",{enumerable:true,get:function(){return Zg.default}});});var Kr="b64:";function Wu(e){let t=new TextEncoder().encode(e),r=globalThis.Buffer,n;if(r)n=r.from(t).toString("base64");else if(typeof btoa=="function"){let s="";for(let o of t)s+=String.fromCharCode(o);n=btoa(s);}else throw new Error("No base64 encoder available in this runtime");return n.replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}function Yu(e){let t=e.replace(/-/g,"+").replace(/_/g,"/")+"=".repeat((4-e.length%4)%4),r=globalThis.Buffer;if(r)return r.from(t,"base64").toString("utf8");if(typeof atob=="function"){let n=atob(t),s=new Uint8Array(n.length);for(let o=0;o<n.length;o+=1)s[o]=n.charCodeAt(o);return new TextDecoder().decode(s)}throw new Error("No base64 decoder available in this runtime")}function ce(e){return `${Kr}${Wu(JSON.stringify(e))}`}function Ee(e){if(!e.startsWith(Kr))throw new Error(`Invalid ref format (expected ${Kr}<base64url(json)>): ${e}`);let t;try{t=JSON.parse(Yu(e.slice(Kr.length)));}catch{throw new Error(`Invalid ref format (malformed base64url/json): ${e}`)}if(!t||typeof t!="object")throw new Error(`Invalid ref format (expected object payload): ${e}`);let r=t;if(typeof r.kind!="string"||typeof r.value!="string")throw new Error(`Invalid ref format (payload must contain string kind/value): ${e}`);return {kind:r.kind,value:r.value}}async function ra(e,t,r){let n=e.tryAcquire();if(!n)return false;try{await t();}finally{n();}return r?.(),true}function ze(...e){return J.join(...e)}function ct(...e){return J.resolve(...e)}function aa(e){return J.isAbsolute(e)}function Un(){return randomUUID()}function ia(e){return createHash("sha256").update(e).digest("hex")}function Jr(e){return J.dirname(fileURLToPath(e))}function rd(e){if(typeof e=="object"&&e!==null){let{command:r,args:n=[],...s}=e,o=sa(r,n);return {...s,command:o.command,args:o.args}}let t=ca(e);if(t.length===0)throw new Error(`Empty command spec: ${JSON.stringify(e)}`);return sa(t[0],t.slice(1))}function sa(e,t){return /^(node|node\.exe)$/i.test(e)?{command:process.execPath,args:t}:/\.m?js$/i.test(e)?{command:process.execPath,args:[e,...t]}:{command:e,args:t}}function ca(e){let t=[],r="",n=null;for(let s of e.trim()){if(n){s===n?n=null:r+=s;continue}if(s==='"'||s==="'"){n=s;continue}if(/\s/.test(s)){r&&(t.push(r),r="");continue}r+=s;}if(n)throw new Error(`Unterminated quote in command: ${e}`);return r&&t.push(r),t}function Jn(e){return process.platform==="win32"&&/\.(cmd|bat)$/i.test(e)}function ua(e,t){let{command:r,args:n=[],cwd:s,env:o,timeoutMs:a}=e;return execFileSync(r,n,{shell:Jn(r),timeout:a,encoding:t?.encoding??"utf-8",cwd:s,windowsHide:true,env:o?{...process.env,...o}:void 0,input:t?.input})}function nd(e,t){let{command:r,args:n=[],cwd:s,env:o,timeoutMs:a=3e4}=e;execFile(r,n,{shell:Jn(r),encoding:"utf8",windowsHide:true,timeout:a,maxBuffer:10*1024*1024,cwd:s,env:o?{...process.env,...o}:void 0},(i,u,c)=>t(i??null,u,c));}J.join(Kn.tmpdir(),".board-live-cards-git-bash-cache.json");function zr(e){let{command:t,args:r=[]}=e;if(process.platform==="win32"){spawn(t,r,{detached:true,stdio:"ignore",windowsHide:true,shell:Jn(t)}).unref();return}spawn(t,r,{detached:true,stdio:"ignore"}).unref();}function zn(e,t,r){let n=J.join(e,"board-live-cards-cli.js");if(w.existsSync(n))return {cmd:process.execPath,args:[n,t,...r]};let s=J.join(e,"board-live-cards-cli.ts"),a=[J.join(e,"..","..","..","node_modules","tsx","dist","cli.mjs"),J.join(e,"..","..","node_modules","tsx","dist","cli.mjs"),J.join(e,"..","..","..","node_modules",".bin","tsx"),J.join(e,"..","..","node_modules",".bin","tsx")].find(u=>w.existsSync(u));return w.existsSync(s)&&w.existsSync(a)?{cmd:process.execPath,args:[a,s,t,...r]}:{cmd:process.platform==="win32"?"npx.cmd":"npx",args:["tsx",s,t,...r]}}function Hn(e){let t=J.join(e,"..","..","..","dev","board-live-cards-cli.js");if(w.existsSync(t))return t;let r=J.join(e,"..","..","dev","board-live-cards-cli.js");if(w.existsSync(r))return r;let n=J.join(e,"board-live-cards-cli.js");if(w.existsSync(n))return n;throw new Error(`resolveBoardCliCallbackTarget: cannot find callback target in ${e} (expected dev/board-live-cards-cli.js wrapper or ${n})`)}function da(e,t,r){let n=["--base-ref",ce(t)];r&&n.push("--notify-channel",r);let{cmd:s,args:o}=zn(e,"process-accumulated-events",n);zr({command:s,args:o});}function sd(e){return process.platform==="win32"?`\\\\.\\pipe\\${e}`:J.join(Kn.tmpdir(),`${e}.sock`)}var Ur=new Map;function la(e,t,r){if(t.length===0)return;let n=t.map(i=>JSON.stringify(i)).join(`
9
+ deps: ${r}}`};var Jm={keyword:"dependencies",type:"object",schemaType:"object",error:Qe.error,code(e){let[t,r]=zm(e);Sc(e,t),bc(e,r);}};function zm({schema:e}){let t={},r={};for(let n in e){if(n==="__proto__")continue;let s=Array.isArray(e[n])?t:r;s[n]=e[n];}return [t,r]}function Sc(e,t=e.schema){let{gen:r,data:n,it:s}=e;if(Object.keys(t).length===0)return;let o=r.let("missing");for(let a in t){let i=t[a];if(i.length===0)continue;let u=(0, jr.propertyInData)(r,n,a,s.opts.ownProperties);e.setParams({property:a,depsCount:i.length,deps:i.join(", ")}),s.allErrors?r.if(u,()=>{for(let c of i)(0, jr.checkReportMissingProp)(e,c);}):(r.if((0, ko._)`${u} && (${(0, jr.checkMissingProp)(e,i,o)})`),(0, jr.reportMissingProp)(e,o),r.else());}}Qe.validatePropertyDeps=Sc;function bc(e,t=e.schema){let{gen:r,data:n,keyword:s,it:o}=e,a=r.name("valid");for(let i in t)(0, Um.alwaysValidSchema)(o,t[i])||(r.if((0, jr.propertyInData)(r,n,i,o.opts.ownProperties),()=>{let u=e.subschema({keyword:s,schemaProp:i},a);e.mergeValidEvaluated(u,a);},()=>r.var(a,true)),e.ok(a));}Qe.validateSchemaDeps=bc;Qe.default=Jm;});var _c=T(wo=>{Object.defineProperty(wo,"__esModule",{value:true});var wc=U(),Hm=W(),Wm={message:"property name must be valid",params:({params:e})=>(0, wc._)`{propertyName: ${e.propertyName}}`},Ym={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Wm,code(e){let{gen:t,schema:r,data:n,it:s}=e;if((0, Hm.alwaysValidSchema)(s,r))return;let o=t.name("valid");t.forIn("key",n,a=>{e.setParams({propertyName:a}),e.subschema({keyword:"propertyNames",data:a,dataTypes:["string"],propertyName:a,compositeRule:true},o),t.if((0, wc.not)(o),()=>{e.error(true),s.allErrors||t.break();});}),e.ok(o);}};wo.default=Ym;});var Ro=T(_o=>{Object.defineProperty(_o,"__esModule",{value:true});var En=De(),ze=U(),Xm=st(),$n=W(),Qm={message:"must NOT have additional properties",params:({params:e})=>(0, ze._)`{additionalProperty: ${e.additionalProperty}}`},Zm={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:true,trackErrors:true,error:Qm,code(e){let{gen:t,schema:r,parentSchema:n,data:s,errsCount:o,it:a}=e;if(!o)throw new Error("ajv implementation error");let{allErrors:i,opts:u}=a;if(a.props=true,u.removeAdditional!=="all"&&(0, $n.alwaysValidSchema)(a,r))return;let c=(0, En.allSchemaProperties)(n.properties),d=(0, En.allSchemaProperties)(n.patternProperties);l(),e.ok((0, ze._)`${o} === ${Xm.default.errors}`);function l(){t.forIn("key",s,b=>{!c.length&&!d.length?p(b):t.if(m(b),()=>p(b));});}function m(b){let _;if(c.length>8){let k=(0, $n.schemaRefOrVal)(a,n.properties,"properties");_=(0, En.isOwnProperty)(t,k,b);}else c.length?_=(0, ze.or)(...c.map(k=>(0, ze._)`${b} === ${k}`)):_=ze.nil;return d.length&&(_=(0, ze.or)(_,...d.map(k=>(0, ze._)`${(0, En.usePattern)(e,k)}.test(${b})`))),(0, ze.not)(_)}function g(b){t.code((0, ze._)`delete ${s}[${b}]`);}function p(b){if(u.removeAdditional==="all"||u.removeAdditional&&r===false){g(b);return}if(r===false){e.setParams({additionalProperty:b}),e.error(),i||t.break();return}if(typeof r=="object"&&!(0, $n.alwaysValidSchema)(a,r)){let _=t.name("valid");u.removeAdditional==="failing"?(f(b,_,false),t.if((0, ze.not)(_),()=>{e.reset(),g(b);})):(f(b,_),i||t.if((0, ze.not)(_),()=>t.break()));}}function f(b,_,k){let R={keyword:"additionalProperties",dataProp:b,dataPropType:$n.Type.Str};k===false&&Object.assign(R,{compositeRule:true,createErrors:false,allErrors:false}),e.subschema(R,_);}}};_o.default=Zm;});var Ec=T(Eo=>{Object.defineProperty(Eo,"__esModule",{value:true});var eg=br(),Rc=De(),Co=W(),Cc=Ro(),tg={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,parentSchema:n,data:s,it:o}=e;o.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&Cc.default.code(new eg.KeywordCxt(o,Cc.default,"additionalProperties"));let a=(0, Rc.allSchemaProperties)(r);for(let l of a)o.definedProperties.add(l);o.opts.unevaluated&&a.length&&o.props!==true&&(o.props=Co.mergeEvaluated.props(t,(0, Co.toHash)(a),o.props));let i=a.filter(l=>!(0, Co.alwaysValidSchema)(o,r[l]));if(i.length===0)return;let u=t.name("valid");for(let l of i)c(l)?d(l):(t.if((0, Rc.propertyInData)(t,s,l,o.opts.ownProperties)),d(l),o.allErrors||t.else().var(u,true),t.endIf()),e.it.definedProperties.add(l),e.ok(u);function c(l){return o.opts.useDefaults&&!o.compositeRule&&r[l].default!==void 0}function d(l){e.subschema({keyword:"properties",schemaProp:l,dataProp:l},u);}}};Eo.default=tg;});var Ac=T($o=>{Object.defineProperty($o,"__esModule",{value:true});var $c=De(),xn=U(),xc=W(),Tc=W(),rg={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,data:n,parentSchema:s,it:o}=e,{opts:a}=o,i=(0, $c.allSchemaProperties)(r),u=i.filter(f=>(0, xc.alwaysValidSchema)(o,r[f]));if(i.length===0||u.length===i.length&&(!o.opts.unevaluated||o.props===true))return;let c=a.strictSchema&&!a.allowMatchingProperties&&s.properties,d=t.name("valid");o.props!==true&&!(o.props instanceof xn.Name)&&(o.props=(0, Tc.evaluatedPropsToName)(t,o.props));let{props:l}=o;m();function m(){for(let f of i)c&&g(f),o.allErrors?p(f):(t.var(d,true),p(f),t.if(d));}function g(f){for(let b in c)new RegExp(f).test(b)&&(0, xc.checkStrictMode)(o,`property ${b} matches pattern ${f} (use allowMatchingProperties)`);}function p(f){t.forIn("key",n,b=>{t.if((0, xn._)`${(0, $c.usePattern)(e,f)}.test(${b})`,()=>{let _=u.includes(f);_||e.subschema({keyword:"patternProperties",schemaProp:f,dataProp:b,dataPropType:Tc.Type.Str},d),o.opts.unevaluated&&l!==true?t.assign((0, xn._)`${l}[${b}]`,true):!_&&!o.allErrors&&t.if((0, xn.not)(d),()=>t.break());});});}}};$o.default=rg;});var Ic=T(xo=>{Object.defineProperty(xo,"__esModule",{value:true});var ng=W(),sg={keyword:"not",schemaType:["object","boolean"],trackErrors:true,code(e){let{gen:t,schema:r,it:n}=e;if((0, ng.alwaysValidSchema)(n,r)){e.fail();return}let s=t.name("valid");e.subschema({keyword:"not",compositeRule:true,createErrors:false,allErrors:false},s),e.failResult(s,()=>e.reset(),()=>e.error());},error:{message:"must NOT be valid"}};xo.default=sg;});var Pc=T(To=>{Object.defineProperty(To,"__esModule",{value:true});var og=De(),ag={keyword:"anyOf",schemaType:"array",trackErrors:true,code:og.validateUnion,error:{message:"must match a schema in anyOf"}};To.default=ag;});var Oc=T(Ao=>{Object.defineProperty(Ao,"__esModule",{value:true});var Tn=U(),ig=W(),cg={message:"must match exactly one schema in oneOf",params:({params:e})=>(0, Tn._)`{passingSchemas: ${e.passing}}`},ug={keyword:"oneOf",schemaType:"array",trackErrors:true,error:cg,code(e){let{gen:t,schema:r,parentSchema:n,it:s}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(s.opts.discriminator&&n.discriminator)return;let o=r,a=t.let("valid",false),i=t.let("passing",null),u=t.name("_valid");e.setParams({passing:i}),t.block(c),e.result(a,()=>e.reset(),()=>e.error(true));function c(){o.forEach((d,l)=>{let m;(0, ig.alwaysValidSchema)(s,d)?t.var(u,true):m=e.subschema({keyword:"oneOf",schemaProp:l,compositeRule:true},u),l>0&&t.if((0, Tn._)`${u} && ${a}`).assign(a,false).assign(i,(0, Tn._)`[${i}, ${l}]`).else(),t.if(u,()=>{t.assign(a,true),t.assign(i,l),m&&e.mergeEvaluated(m,Tn.Name);});});}}};Ao.default=ug;});var jc=T(Io=>{Object.defineProperty(Io,"__esModule",{value:true});var dg=W(),lg={keyword:"allOf",schemaType:"array",code(e){let{gen:t,schema:r,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");let s=t.name("valid");r.forEach((o,a)=>{if((0, dg.alwaysValidSchema)(n,o))return;let i=e.subschema({keyword:"allOf",schemaProp:a},s);e.ok(s),e.mergeEvaluated(i);});}};Io.default=lg;});var Fc=T(Po=>{Object.defineProperty(Po,"__esModule",{value:true});var An=U(),qc=W(),fg={message:({params:e})=>(0, An.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0, An._)`{failingKeyword: ${e.ifClause}}`},pg={keyword:"if",schemaType:["object","boolean"],trackErrors:true,error:fg,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0, qc.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let s=Nc(n,"then"),o=Nc(n,"else");if(!s&&!o)return;let a=t.let("valid",true),i=t.name("_valid");if(u(),e.reset(),s&&o){let d=t.let("ifClause");e.setParams({ifClause:d}),t.if(i,c("then",d),c("else",d));}else s?t.if(i,c("then")):t.if((0, An.not)(i),c("else"));e.pass(a,()=>e.error(true));function u(){let d=e.subschema({keyword:"if",compositeRule:true,createErrors:false,allErrors:false},i);e.mergeEvaluated(d);}function c(d,l){return ()=>{let m=e.subschema({keyword:d},i);t.assign(a,i),e.mergeValidEvaluated(m,a),l?t.assign(l,(0, An._)`${d}`):e.setParams({ifClause:d});}}}};function Nc(e,t){let r=e.schema[t];return r!==void 0&&!(0, qc.alwaysValidSchema)(e,r)}Po.default=pg;});var Dc=T(Oo=>{Object.defineProperty(Oo,"__esModule",{value:true});var mg=W(),gg={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0, mg.checkStrictMode)(r,`"${e}" without "if" is ignored`);}};Oo.default=gg;});var Mc=T(jo=>{Object.defineProperty(jo,"__esModule",{value:true});var hg=ho(),yg=gc(),vg=yo(),Sg=yc(),bg=vc(),kg=kc(),wg=_c(),_g=Ro(),Rg=Ec(),Cg=Ac(),Eg=Ic(),$g=Pc(),xg=Oc(),Tg=jc(),Ag=Fc(),Ig=Dc();function Pg(e=false){let t=[Eg.default,$g.default,xg.default,Tg.default,Ag.default,Ig.default,wg.default,_g.default,kg.default,Rg.default,Cg.default];return e?t.push(yg.default,Sg.default):t.push(hg.default,vg.default),t.push(bg.default),t}jo.default=Pg;});var Lc=T(No=>{Object.defineProperty(No,"__esModule",{value:true});var de=U(),Og={message:({schemaCode:e})=>(0, de.str)`must match format "${e}"`,params:({schemaCode:e})=>(0, de._)`{format: ${e}}`},jg={keyword:"format",type:["number","string"],schemaType:"string",$data:true,error:Og,code(e,t){let{gen:r,data:n,$data:s,schema:o,schemaCode:a,it:i}=e,{opts:u,errSchemaPath:c,schemaEnv:d,self:l}=i;if(!u.validateFormats)return;s?m():g();function m(){let p=r.scopeValue("formats",{ref:l.formats,code:u.code.formats}),f=r.const("fDef",(0, de._)`${p}[${a}]`),b=r.let("fType"),_=r.let("format");r.if((0, de._)`typeof ${f} == "object" && !(${f} instanceof RegExp)`,()=>r.assign(b,(0, de._)`${f}.type || "string"`).assign(_,(0, de._)`${f}.validate`),()=>r.assign(b,(0, de._)`"string"`).assign(_,f)),e.fail$data((0, de.or)(k(),R()));function k(){return u.strictSchema===false?de.nil:(0, de._)`${a} && !${_}`}function R(){let O=d.$async?(0, de._)`(${f}.async ? await ${_}(${n}) : ${_}(${n}))`:(0, de._)`${_}(${n})`,y=(0, de._)`(typeof ${_} == "function" ? ${O} : ${_}.test(${n}))`;return (0, de._)`${_} && ${_} !== true && ${b} === ${t} && !${y}`}}function g(){let p=l.formats[o];if(!p){k();return}if(p===true)return;let[f,b,_]=R(p);f===t&&e.pass(O());function k(){if(u.strictSchema===false){l.logger.warn(y());return}throw new Error(y());function y(){return `unknown format "${o}" ignored in schema at path "${c}"`}}function R(y){let h=y instanceof RegExp?(0, de.regexpCode)(y):u.code.formats?(0, de._)`${u.code.formats}${(0, de.getProperty)(o)}`:void 0,S=r.scopeValue("formats",{key:o,ref:y,code:h});return typeof y=="object"&&!(y instanceof RegExp)?[y.type||"string",y.validate,(0, de._)`${S}.validate`]:["string",y,S]}function O(){if(typeof p=="object"&&!(p instanceof RegExp)&&p.async){if(!d.$async)throw new Error("async format in sync schema");return (0, de._)`await ${_}(${n})`}return typeof b=="function"?(0, de._)`${_}(${n})`:(0, de._)`${_}.test(${n})`}}}};No.default=jg;});var Vc=T(qo=>{Object.defineProperty(qo,"__esModule",{value:true});var Ng=Lc(),qg=[Ng.default];qo.default=qg;});var Bc=T(er=>{Object.defineProperty(er,"__esModule",{value:true});er.contentVocabulary=er.metadataVocabulary=void 0;er.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];er.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"];});var Kc=T(Fo=>{Object.defineProperty(Fo,"__esModule",{value:true});var Fg=Xi(),Dg=lc(),Mg=Mc(),Lg=Vc(),Gc=Bc(),Vg=[Fg.default,Dg.default,(0, Mg.default)(),Lg.default,Gc.metadataVocabulary,Gc.contentVocabulary];Fo.default=Vg;});var Jc=T(In=>{Object.defineProperty(In,"__esModule",{value:true});In.DiscrError=void 0;var Uc;(function(e){e.Tag="tag",e.Mapping="mapping";})(Uc||(In.DiscrError=Uc={}));});var Hc=T(Mo=>{Object.defineProperty(Mo,"__esModule",{value:true});var tr=U(),Do=Jc(),zc=pn(),Bg=kr(),Gg=W(),Kg={message:({params:{discrError:e,tagName:t}})=>e===Do.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0, tr._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},Ug={keyword:"discriminator",type:"object",schemaType:"object",error:Kg,code(e){let{gen:t,data:r,schema:n,parentSchema:s,it:o}=e,{oneOf:a}=s;if(!o.opts.discriminator)throw new Error("discriminator: requires discriminator option");let i=n.propertyName;if(typeof i!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!a)throw new Error("discriminator: requires oneOf keyword");let u=t.let("valid",false),c=t.const("tag",(0, tr._)`${r}${(0, tr.getProperty)(i)}`);t.if((0, tr._)`typeof ${c} == "string"`,()=>d(),()=>e.error(false,{discrError:Do.DiscrError.Tag,tag:c,tagName:i})),e.ok(u);function d(){let g=m();t.if(false);for(let p in g)t.elseIf((0, tr._)`${c} === ${p}`),t.assign(u,l(g[p]));t.else(),e.error(false,{discrError:Do.DiscrError.Mapping,tag:c,tagName:i}),t.endIf();}function l(g){let p=t.name("valid"),f=e.subschema({keyword:"oneOf",schemaProp:g},p);return e.mergeEvaluated(f,tr.Name),p}function m(){var g;let p={},f=_(s),b=true;for(let O=0;O<a.length;O++){let y=a[O];if(y?.$ref&&!(0, Gg.schemaHasRulesButRef)(y,o.self.RULES)){let S=y.$ref;if(y=zc.resolveRef.call(o.self,o.schemaEnv.root,o.baseId,S),y instanceof zc.SchemaEnv&&(y=y.schema),y===void 0)throw new Bg.default(o.opts.uriResolver,o.baseId,S)}let h=(g=y?.properties)===null||g===void 0?void 0:g[i];if(typeof h!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${i}"`);b=b&&(f||_(y)),k(h,O);}if(!b)throw new Error(`discriminator: "${i}" must be required`);return p;function _({required:O}){return Array.isArray(O)&&O.includes(i)}function k(O,y){if(O.const)R(O.const,y);else if(O.enum)for(let h of O.enum)R(h,y);else throw new Error(`discriminator: "properties/${i}" must have "const" or "enum"`)}function R(O,y){if(typeof O!="string"||O in p)throw new Error(`discriminator: "${i}" values must be unique strings`);p[O]=y;}}}};Mo.default=Ug;});var Wc=T((Pv,Jg)=>{Jg.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 Xc=T((ie,Lo)=>{Object.defineProperty(ie,"__esModule",{value:true});ie.MissingRefError=ie.ValidationError=ie.CodeGen=ie.Name=ie.nil=ie.stringify=ie.str=ie._=ie.KeywordCxt=ie.Ajv=void 0;var zg=Ui(),Hg=Kc(),Wg=Hc(),Yc=Wc(),Yg=["/properties"],Pn="http://json-schema.org/draft-07/schema",rr=class extends zg.default{_addVocabularies(){super._addVocabularies(),Hg.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(Wg.default);}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(Yc,Yg):Yc;this.addMetaSchema(t,Pn,false),this.refs["http://json-schema.org/schema"]=Pn;}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(Pn)?Pn:void 0)}};ie.Ajv=rr;Lo.exports=ie=rr;Lo.exports.Ajv=rr;Object.defineProperty(ie,"__esModule",{value:true});ie.default=rr;var Xg=br();Object.defineProperty(ie,"KeywordCxt",{enumerable:true,get:function(){return Xg.KeywordCxt}});var nr=U();Object.defineProperty(ie,"_",{enumerable:true,get:function(){return nr._}});Object.defineProperty(ie,"str",{enumerable:true,get:function(){return nr.str}});Object.defineProperty(ie,"stringify",{enumerable:true,get:function(){return nr.stringify}});Object.defineProperty(ie,"nil",{enumerable:true,get:function(){return nr.nil}});Object.defineProperty(ie,"Name",{enumerable:true,get:function(){return nr.Name}});Object.defineProperty(ie,"CodeGen",{enumerable:true,get:function(){return nr.CodeGen}});var Qg=ln();Object.defineProperty(ie,"ValidationError",{enumerable:true,get:function(){return Qg.default}});var Zg=kr();Object.defineProperty(ie,"MissingRefError",{enumerable:true,get:function(){return Zg.default}});});var Kr="b64:";function Wu(e){let t=new TextEncoder().encode(e),r=globalThis.Buffer,n;if(r)n=r.from(t).toString("base64");else if(typeof btoa=="function"){let s="";for(let o of t)s+=String.fromCharCode(o);n=btoa(s);}else throw new Error("No base64 encoder available in this runtime");return n.replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}function Yu(e){let t=e.replace(/-/g,"+").replace(/_/g,"/")+"=".repeat((4-e.length%4)%4),r=globalThis.Buffer;if(r)return r.from(t,"base64").toString("utf8");if(typeof atob=="function"){let n=atob(t),s=new Uint8Array(n.length);for(let o=0;o<n.length;o+=1)s[o]=n.charCodeAt(o);return new TextDecoder().decode(s)}throw new Error("No base64 decoder available in this runtime")}function ce(e){return `${Kr}${Wu(JSON.stringify(e))}`}function Re(e){if(!e.startsWith(Kr))throw new Error(`Invalid ref format (expected ${Kr}<base64url(json)>): ${e}`);let t;try{t=JSON.parse(Yu(e.slice(Kr.length)));}catch{throw new Error(`Invalid ref format (malformed base64url/json): ${e}`)}if(!t||typeof t!="object")throw new Error(`Invalid ref format (expected object payload): ${e}`);let r=t;if(typeof r.kind!="string"||typeof r.value!="string")throw new Error(`Invalid ref format (payload must contain string kind/value): ${e}`);return {kind:r.kind,value:r.value}}async function ra(e,t,r){let n=e.tryAcquire();if(!n)return false;try{await t();}finally{n();}return r?.(),true}function He(...e){return H.join(...e)}function et(...e){return H.resolve(...e)}function aa(e){return H.isAbsolute(e)}function Un(){return randomUUID()}function ia(e){return createHash("sha256").update(e).digest("hex")}function Jr(e){return H.dirname(fileURLToPath(e))}function rd(e){if(typeof e=="object"&&e!==null){let{command:r,args:n=[],...s}=e,o=sa(r,n);return {...s,command:o.command,args:o.args}}let t=ca(e);if(t.length===0)throw new Error(`Empty command spec: ${JSON.stringify(e)}`);return sa(t[0],t.slice(1))}function sa(e,t){return /^(node|node\.exe)$/i.test(e)?{command:process.execPath,args:t}:/\.m?js$/i.test(e)?{command:process.execPath,args:[e,...t]}:{command:e,args:t}}function ca(e){let t=[],r="",n=null;for(let s of e.trim()){if(n){s===n?n=null:r+=s;continue}if(s==='"'||s==="'"){n=s;continue}if(/\s/.test(s)){r&&(t.push(r),r="");continue}r+=s;}if(n)throw new Error(`Unterminated quote in command: ${e}`);return r&&t.push(r),t}function Jn(e){return process.platform==="win32"&&/\.(cmd|bat)$/i.test(e)}function ua(e,t){let{command:r,args:n=[],cwd:s,env:o,timeoutMs:a}=e;return execFileSync(r,n,{shell:Jn(r),timeout:a,encoding:t?.encoding??"utf-8",cwd:s,windowsHide:true,env:o?{...process.env,...o}:void 0,input:t?.input})}function nd(e,t){let{command:r,args:n=[],cwd:s,env:o,timeoutMs:a=3e4}=e;execFile(r,n,{shell:Jn(r),encoding:"utf8",windowsHide:true,timeout:a,maxBuffer:10*1024*1024,cwd:s,env:o?{...process.env,...o}:void 0},(i,u,c)=>t(i??null,u,c));}H.join(Kn.tmpdir(),".board-live-cards-git-bash-cache.json");function zr(e){let{command:t,args:r=[]}=e;if(process.platform==="win32"){spawn(t,r,{detached:true,stdio:"ignore",windowsHide:true,shell:Jn(t)}).unref();return}spawn(t,r,{detached:true,stdio:"ignore"}).unref();}function zn(e,t,r){let n=H.join(e,"board-live-cards-cli.js");if(w.existsSync(n))return {cmd:process.execPath,args:[n,t,...r]};let s=H.join(e,"board-live-cards-cli.ts"),a=[H.join(e,"..","..","..","node_modules","tsx","dist","cli.mjs"),H.join(e,"..","..","node_modules","tsx","dist","cli.mjs"),H.join(e,"..","..","..","node_modules",".bin","tsx"),H.join(e,"..","..","node_modules",".bin","tsx")].find(u=>w.existsSync(u));return w.existsSync(s)&&w.existsSync(a)?{cmd:process.execPath,args:[a,s,t,...r]}:{cmd:process.platform==="win32"?"npx.cmd":"npx",args:["tsx",s,t,...r]}}function Hn(e){let t=H.join(e,"..","..","..","dev","board-live-cards-cli.js");if(w.existsSync(t))return t;let r=H.join(e,"..","..","dev","board-live-cards-cli.js");if(w.existsSync(r))return r;let n=H.join(e,"board-live-cards-cli.js");if(w.existsSync(n))return n;throw new Error(`resolveBoardCliCallbackTarget: cannot find callback target in ${e} (expected dev/board-live-cards-cli.js wrapper or ${n})`)}function da(e,t,r){let n=["--base-ref",ce(t)];r&&n.push("--notify-channel",r);let{cmd:s,args:o}=zn(e,"process-accumulated-events",n);zr({command:s,args:o});}function sd(e){return process.platform==="win32"?`\\\\.\\pipe\\${e}`:H.join(Kn.tmpdir(),`${e}.sock`)}var Ur=new Map;function la(e,t,r){if(t.length===0)return;let n=t.map(i=>JSON.stringify(i)).join(`
10
10
  `)+`
11
- `,s=Ur.get(e);if(s&&!s.socket.destroyed){s.ready?s.socket.write(n):s.queue.push(n);return}let o=sd(e),a=oa.createConnection(o);s={socket:a,ready:false,queue:[n]},Ur.set(e,s),a.on("connect",()=>{s.ready=true;for(let i of s.queue)a.write(i);s.queue.length=0;}),a.on("error",i=>{r?.(`[named-pipe publish] ${o}: ${i instanceof Error?i.message:String(i)}`),Ur.delete(e);}),a.on("close",()=>{Ur.delete(e);});}function Wn(){return {executeSync(e,t,r){return ua({command:e,args:t,cwd:r?.cwd,timeoutMs:r?.timeout,env:r?.env},{encoding:r?.encoding,input:r?.input})},executeAsync(e,t,r){nd({command:e,args:t},r);},resolveInvocation(e,t){let r=rd({command:e,args:t});return {cmd:r.command,args:r.args??[]}},splitCommand:ca,spawnDetached(e,t){zr({command:e,args:t});}}}var pa=dirname(fileURLToPath(import.meta.url)),ud=createRequire(import.meta.url);function dd(){let e=resolve(pa,"./jsonata-sync.cjs");return existsSync(e)?e:resolve(pa,"../../card-compute/jsonata-sync.cjs")}var Rt=ud(dd());function or(e){e.registerFunction("fsPathRef",t=>ce({kind:"fs-path",value:String(t)}),"<s:s>");}function ma(e,t,r){if(!e||typeof e!="object")return {};let n={};if(Array.isArray(e.cmdTemplate)){let s=[];for(let o of e.cmdTemplate)try{let a=Rt(o);or(a),s.push(String(a.evaluate(t)));}catch(a){let i=a instanceof Error?a.message:String(a);throw new Error(`[${r}] argsMassaging.cmdTemplate failed on "${o}": ${i}`)}n.cmdArgs=s;}if(typeof e.stdinTemplate=="string")try{let s=Rt(e.stdinTemplate);or(s),n.stdin=s.evaluate(t);}catch(s){let o=s instanceof Error?s.message:String(s);throw new Error(`[${r}] argsMassaging.stdinTemplate failed: ${o}`)}if(typeof e.urlTemplate=="string")try{let s=Rt(e.urlTemplate);or(s),n.url=String(s.evaluate(t));}catch(s){let o=s instanceof Error?s.message:String(s);throw new Error(`[${r}] argsMassaging.urlTemplate failed: ${o}`)}if(typeof e.headerTemplate=="string")try{let s=Rt(e.headerTemplate);or(s);let o=s.evaluate(t);if(typeof o!="object"||o===null)throw new Error(`headerTemplate must produce an object, got: ${JSON.stringify(o)}`);n.headers=o;}catch(s){let o=s instanceof Error?s.message:String(s);throw new Error(`[${r}] argsMassaging.headerTemplate failed: ${o}`)}if(typeof e.bodyTemplate=="string")try{let s=Rt(e.bodyTemplate);or(s),n.body=s.evaluate(t);}catch(s){let o=s instanceof Error?s.message:String(s);throw new Error(`[${r}] argsMassaging.bodyTemplate failed: ${o}`)}return n}var fd=createRequire(import.meta.url);function pd(e){return typeof e=="object"?e:Ee(e)}function ga(e){let t=J.basename(String(e||"").trim());if(!t)throw new Error(`resolveYamlFlowCliPath: expected non-empty cli file name, got ${JSON.stringify(e)}`);let r=J.dirname(fd.resolve("yaml-flow/package.json")),n=J.join(r,"cli","node",t);if(!w.existsSync(n))throw new Error(`resolveYamlFlowCliPath: could not find ${t} under ${J.join(r,"cli","node")}`);return n}function Ct(e){let t=pd(e);return t.kind==="yaml-flow-cli"?ga(t.value):t.value}function md(e,t){let r=Ct(e);switch(r){case "source-cli-task-executor":{let n=J.join(t,"source-cli-task-executor.js");if(w.existsSync(n))return {command:process.execPath,args:[n]};let s=J.join(t,"source-cli-task-executor.ts"),o=J.join(t,"..","..","node_modules","tsx","dist","cli.mjs"),a=J.join(t,"..","..","node_modules",".bin","tsx"),i=w.existsSync(o)?o:a;return w.existsSync(s)&&w.existsSync(i)?{command:process.execPath,args:[i,s]}:{command:process.execPath,args:[n]}}case "board-live-cards":{let{cmd:n,args:s}=zn(t,"_",[]);return {command:n,args:s}}default:throw new Error(`resolveBuiltIn: unknown built-in name "${r}". Supported: source-cli-task-executor, board-live-cards`)}}function ha(e,t){if(e.howToRun==="built-in"){let{command:n,args:s}=md(e.whatToRun,t);return {command:n,baseArgs:s}}let r=(typeof e.whatToRun=="object",Ct(e.whatToRun));switch(e.howToRun){case "local-node":return {command:process.execPath,baseArgs:[r]};case "local-python":return {command:process.platform==="win32"?"python":"python3",baseArgs:[r]};case "local-process":return {command:r,baseArgs:[]};default:throw new Error(`resolveBaseInvocation: howToRun "${e.howToRun}" is not a local transport`)}}function gd(e,t){let r=[e.subcommand];return e.inRef&&r.push("--in-ref",e.inRef),e.outRef&&r.push("--out-ref",e.outRef),e.errRef&&r.push("--err-ref",e.errRef),t&&r.push("--extra",Buffer.from(JSON.stringify(t)).toString("base64")),r}function hd(e,t){return {subcommand:e.subcommand,...e.inRef?{inRef:e.inRef}:{},...e.outRef?{outRef:e.outRef}:{},...e.errRef?{errRef:e.errRef}:{},...t?{extra:t}:{}}}function Yn(e,t){return ha(e,t)}async function yd(e,t){let r={...t,whatToRun:Ct(e.whatToRun)},n=ma(e.argsMassaging,r,"_invokeTaskExecutorHttp"),s=n.url??Ct(e.whatToRun),o=n.body?n.body:hd(t,e.extra),a={"Content-Type":"application/json"},i=n.headers?{...a,...n.headers}:a,u=await fetch(s,{method:e.howToRun==="http:get"?"GET":"POST",headers:i,body:JSON.stringify(o)});if(!u.ok){let d=await u.text().catch(()=>"");return {status:"error",error:`HTTP ${u.status}: ${d}`}}let c=await u.json().catch(()=>null);return c&&typeof c.status=="string"?c:{status:"success"}}function ya(e,t,r){if(e.howToRun==="http:post"||e.howToRun==="http:get"){yd(e,t).catch(i=>{console.error(`[dispatchTaskExecutorDetached] HTTP dispatch failed: ${i.message}`);});return}let{command:s,baseArgs:o}=ha(e,r),a=gd(t,e.extra);zr({command:s,args:[...o,...a]});}function Ze(e,t){if(process.platform!=="win32"){w.renameSync(e,t);return}let r=[10,20,40,80,160];for(let n=0;n<=r.length;n++)try{w.renameSync(e,t);return}catch(s){let o=s.code;if((o==="EPERM"||o==="EBUSY")&&n<r.length){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,r[n]);continue}throw s}}function ar(e){function t(s){return J.join(e,...s.split("/"))}function r(s){return J.relative(e,s).replace(/\\/g,"/")}function n(s,o){if(w.existsSync(s))for(let a of w.readdirSync(s,{withFileTypes:true})){let i=J.join(s,a.name);if(a.isDirectory()){n(i,o);continue}a.isFile()&&o.push(r(i));}}return {read(s){let o=t(s);if(!w.existsSync(o))return null;try{return w.readFileSync(o,"utf-8")}catch{return null}},write(s,o){let a=t(s),i=`${a}.${process.pid}.${randomUUID()}.tmp`;w.mkdirSync(J.dirname(a),{recursive:true}),w.writeFileSync(i,o,"utf-8"),Ze(i,a);},exists(s){return w.existsSync(t(s))},remove(s){let o=t(s);try{w.existsSync(o)&&w.unlinkSync(o);}catch{}},readBytes(s){let o=t(s);if(!w.existsSync(o))return null;try{return new Uint8Array(w.readFileSync(o))}catch{return null}},writeBytes(s,o){let a=t(s),i=`${a}.${process.pid}.${randomUUID()}.tmp`;w.mkdirSync(J.dirname(a),{recursive:true}),w.writeFileSync(i,Buffer.from(o)),Ze(i,a);},listKeys(s){let o=[];n(e,o);let a=o.sort();return s?a.filter(i=>i.startsWith(s)):a},stat(s){let o=t(s);if(!w.existsSync(o))return null;try{let a=w.statSync(o);return {key:s,size:Number(a.size||0),updatedAt:new Date(a.mtimeMs).toISOString()}}catch{return null}}}}function es(){return {read(e){if(!w.existsSync(e))return null;try{return w.readFileSync(e,"utf-8")}catch{return null}},write(e,t){let r=`${e}.${process.pid}.${randomUUID()}.tmp`;w.mkdirSync(J.dirname(e),{recursive:true}),w.writeFileSync(r,t,"utf-8"),Ze(r,e);},exists(e){return w.existsSync(e)},remove(e){try{w.existsSync(e)&&w.unlinkSync(e);}catch{}},readBytes(e){if(!w.existsSync(e))return null;try{return new Uint8Array(w.readFileSync(e))}catch{return null}},writeBytes(e,t){let r=`${e}.${process.pid}.${randomUUID()}.tmp`;w.mkdirSync(J.dirname(e),{recursive:true}),w.writeFileSync(r,Buffer.from(t)),Ze(r,e);},stat(e){if(!w.existsSync(e))return null;try{let t=w.statSync(e);return {key:e,size:Number(t.size||0),updatedAt:new Date(t.mtimeMs).toISOString()}}catch{return null}},listKeys(e){return []}}}var Xn="__scratch-marker",Qn="__scratch-config.json",kd=1440*60*1e3,bd=720*60*1e3,wd=500;function va(e,t){if(!e)return t;let r=e.replace(/[^A-Za-z0-9._-]/g,"_");return r.length>0?r:t}function Yr(e){w.mkdirSync(e,{recursive:true});let t=J.join(e,Xn),r=J.join(e,Qn),n=!w.existsSync(t);if(n)try{w.writeFileSync(t,`scratch-store
11
+ `,s=Ur.get(e);if(s&&!s.socket.destroyed){s.ready?s.socket.write(n):s.queue.push(n);return}let o=sd(e),a=oa.createConnection(o);s={socket:a,ready:false,queue:[n]},Ur.set(e,s),a.on("connect",()=>{s.ready=true;for(let i of s.queue)a.write(i);s.queue.length=0;}),a.on("error",i=>{r?.(`[named-pipe publish] ${o}: ${i instanceof Error?i.message:String(i)}`),Ur.delete(e);}),a.on("close",()=>{Ur.delete(e);});}function Wn(){return {executeSync(e,t,r){return ua({command:e,args:t,cwd:r?.cwd,timeoutMs:r?.timeout,env:r?.env},{encoding:r?.encoding,input:r?.input})},executeAsync(e,t,r){nd({command:e,args:t},r);},resolveInvocation(e,t){let r=rd({command:e,args:t});return {cmd:r.command,args:r.args??[]}},splitCommand:ca,spawnDetached(e,t){zr({command:e,args:t});}}}var pa=dirname(fileURLToPath(import.meta.url)),ud=createRequire(import.meta.url);function dd(){let e=resolve(pa,"./jsonata-sync.cjs");return existsSync(e)?e:resolve(pa,"../../card-compute/jsonata-sync.cjs")}var Et=ud(dd());function or(e){e.registerFunction("fsPathRef",t=>ce({kind:"fs-path",value:String(t)}),"<s:s>");}function ma(e,t,r){if(!e||typeof e!="object")return {};let n={};if(Array.isArray(e.cmdTemplate)){let s=[];for(let o of e.cmdTemplate)try{let a=Et(o);or(a),s.push(String(a.evaluate(t)));}catch(a){let i=a instanceof Error?a.message:String(a);throw new Error(`[${r}] argsMassaging.cmdTemplate failed on "${o}": ${i}`)}n.cmdArgs=s;}if(typeof e.stdinTemplate=="string")try{let s=Et(e.stdinTemplate);or(s),n.stdin=s.evaluate(t);}catch(s){let o=s instanceof Error?s.message:String(s);throw new Error(`[${r}] argsMassaging.stdinTemplate failed: ${o}`)}if(typeof e.urlTemplate=="string")try{let s=Et(e.urlTemplate);or(s),n.url=String(s.evaluate(t));}catch(s){let o=s instanceof Error?s.message:String(s);throw new Error(`[${r}] argsMassaging.urlTemplate failed: ${o}`)}if(typeof e.headerTemplate=="string")try{let s=Et(e.headerTemplate);or(s);let o=s.evaluate(t);if(typeof o!="object"||o===null)throw new Error(`headerTemplate must produce an object, got: ${JSON.stringify(o)}`);n.headers=o;}catch(s){let o=s instanceof Error?s.message:String(s);throw new Error(`[${r}] argsMassaging.headerTemplate failed: ${o}`)}if(typeof e.bodyTemplate=="string")try{let s=Et(e.bodyTemplate);or(s),n.body=s.evaluate(t);}catch(s){let o=s instanceof Error?s.message:String(s);throw new Error(`[${r}] argsMassaging.bodyTemplate failed: ${o}`)}return n}var fd=createRequire(import.meta.url);function pd(e){return typeof e=="object"?e:Re(e)}function ga(e){let t=H.basename(String(e||"").trim());if(!t)throw new Error(`resolveYamlFlowCliPath: expected non-empty cli file name, got ${JSON.stringify(e)}`);let r=H.dirname(fd.resolve("yaml-flow/package.json")),n=H.join(r,"cli","node",t);if(!w.existsSync(n))throw new Error(`resolveYamlFlowCliPath: could not find ${t} under ${H.join(r,"cli","node")}`);return n}function $t(e){let t=pd(e);return t.kind==="yaml-flow-cli"?ga(t.value):t.value}function md(e,t){let r=$t(e);switch(r){case "source-cli-task-executor":{let n=H.join(t,"source-cli-task-executor.js");if(w.existsSync(n))return {command:process.execPath,args:[n]};let s=H.join(t,"source-cli-task-executor.ts"),o=H.join(t,"..","..","node_modules","tsx","dist","cli.mjs"),a=H.join(t,"..","..","node_modules",".bin","tsx"),i=w.existsSync(o)?o:a;return w.existsSync(s)&&w.existsSync(i)?{command:process.execPath,args:[i,s]}:{command:process.execPath,args:[n]}}case "board-live-cards":{let{cmd:n,args:s}=zn(t,"_",[]);return {command:n,args:s}}default:throw new Error(`resolveBuiltIn: unknown built-in name "${r}". Supported: source-cli-task-executor, board-live-cards`)}}function ha(e,t){if(e.howToRun==="built-in"){let{command:n,args:s}=md(e.whatToRun,t);return {command:n,baseArgs:s}}let r=(typeof e.whatToRun=="object",$t(e.whatToRun));switch(e.howToRun){case "local-node":return {command:process.execPath,baseArgs:[r]};case "local-python":return {command:process.platform==="win32"?"python":"python3",baseArgs:[r]};case "local-process":return {command:r,baseArgs:[]};default:throw new Error(`resolveBaseInvocation: howToRun "${e.howToRun}" is not a local transport`)}}function gd(e,t){let r=[e.subcommand];return e.inRef&&r.push("--in-ref",e.inRef),e.outRef&&r.push("--out-ref",e.outRef),e.errRef&&r.push("--err-ref",e.errRef),t&&r.push("--extra",Buffer.from(JSON.stringify(t)).toString("base64")),r}function hd(e,t){return {subcommand:e.subcommand,...e.inRef?{inRef:e.inRef}:{},...e.outRef?{outRef:e.outRef}:{},...e.errRef?{errRef:e.errRef}:{},...t?{extra:t}:{}}}function Yn(e,t){return ha(e,t)}async function yd(e,t){let r={...t,whatToRun:$t(e.whatToRun)},n=ma(e.argsMassaging,r,"_invokeTaskExecutorHttp"),s=n.url??$t(e.whatToRun),o=n.body?n.body:hd(t,e.extra),a={"Content-Type":"application/json"},i=n.headers?{...a,...n.headers}:a,u=await fetch(s,{method:e.howToRun==="http:get"?"GET":"POST",headers:i,body:JSON.stringify(o)});if(!u.ok){let d=await u.text().catch(()=>"");return {status:"error",error:`HTTP ${u.status}: ${d}`}}let c=await u.json().catch(()=>null);return c&&typeof c.status=="string"?c:{status:"success"}}function ya(e,t,r){if(e.howToRun==="http:post"||e.howToRun==="http:get"){yd(e,t).catch(i=>{console.error(`[dispatchTaskExecutorDetached] HTTP dispatch failed: ${i.message}`);});return}let{command:s,baseArgs:o}=ha(e,r),a=gd(t,e.extra);zr({command:s,args:[...o,...a]});}function tt(e,t){if(process.platform!=="win32"){w.renameSync(e,t);return}let r=[10,20,40,80,160];for(let n=0;n<=r.length;n++)try{w.renameSync(e,t);return}catch(s){let o=s.code;if((o==="EPERM"||o==="EBUSY")&&n<r.length){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,r[n]);continue}throw s}}function ar(e){function t(s){return H.join(e,...s.split("/"))}function r(s){return H.relative(e,s).replace(/\\/g,"/")}function n(s,o){if(w.existsSync(s))for(let a of w.readdirSync(s,{withFileTypes:true})){let i=H.join(s,a.name);if(a.isDirectory()){n(i,o);continue}a.isFile()&&o.push(r(i));}}return {read(s){let o=t(s);if(!w.existsSync(o))return null;try{return w.readFileSync(o,"utf-8")}catch{return null}},write(s,o){let a=t(s),i=`${a}.${process.pid}.${randomUUID()}.tmp`;w.mkdirSync(H.dirname(a),{recursive:true}),w.writeFileSync(i,o,"utf-8"),tt(i,a);},exists(s){return w.existsSync(t(s))},remove(s){let o=t(s);try{w.existsSync(o)&&w.unlinkSync(o);}catch{}},readBytes(s){let o=t(s);if(!w.existsSync(o))return null;try{return new Uint8Array(w.readFileSync(o))}catch{return null}},writeBytes(s,o){let a=t(s),i=`${a}.${process.pid}.${randomUUID()}.tmp`;w.mkdirSync(H.dirname(a),{recursive:true}),w.writeFileSync(i,Buffer.from(o)),tt(i,a);},listKeys(s){let o=[];n(e,o);let a=o.sort();return s?a.filter(i=>i.startsWith(s)):a},stat(s){let o=t(s);if(!w.existsSync(o))return null;try{let a=w.statSync(o);return {key:s,size:Number(a.size||0),updatedAt:new Date(a.mtimeMs).toISOString()}}catch{return null}}}}function es(){return {read(e){if(!w.existsSync(e))return null;try{return w.readFileSync(e,"utf-8")}catch{return null}},write(e,t){let r=`${e}.${process.pid}.${randomUUID()}.tmp`;w.mkdirSync(H.dirname(e),{recursive:true}),w.writeFileSync(r,t,"utf-8"),tt(r,e);},exists(e){return w.existsSync(e)},remove(e){try{w.existsSync(e)&&w.unlinkSync(e);}catch{}},readBytes(e){if(!w.existsSync(e))return null;try{return new Uint8Array(w.readFileSync(e))}catch{return null}},writeBytes(e,t){let r=`${e}.${process.pid}.${randomUUID()}.tmp`;w.mkdirSync(H.dirname(e),{recursive:true}),w.writeFileSync(r,Buffer.from(t)),tt(r,e);},stat(e){if(!w.existsSync(e))return null;try{let t=w.statSync(e);return {key:e,size:Number(t.size||0),updatedAt:new Date(t.mtimeMs).toISOString()}}catch{return null}},listKeys(e){return []}}}var Xn="__scratch-marker",Qn="__scratch-config.json",bd=1440*60*1e3,kd=720*60*1e3,wd=500;function va(e,t){if(!e)return t;let r=e.replace(/[^A-Za-z0-9._-]/g,"_");return r.length>0?r:t}function Yr(e){w.mkdirSync(e,{recursive:true});let t=H.join(e,Xn),r=H.join(e,Qn),n=!w.existsSync(t);if(n)try{w.writeFileSync(t,`scratch-store
12
12
  ${new Date().toISOString()}
13
- `,"utf-8");}catch{}function s(){if(!w.existsSync(r))return {};try{let c=w.readFileSync(r,"utf-8"),d=JSON.parse(c);return d&&typeof d=="object"&&!Array.isArray(d)?d:{}}catch{return {}}}function o(c){let d=`${r}.${process.pid}.${randomUUID()}.tmp`;try{w.writeFileSync(d,JSON.stringify(c,null,2),"utf-8"),Ze(d,r);}catch{}}if(n){let c=s();typeof c["retention.lastSweepAt"]!="number"&&(c["retention.lastSweepAt"]=Date.now(),o(c));}function a(){if(!w.existsSync(t))return;let c=s(),d=typeof c["retention.maxAgeMs"]=="number"?c["retention.maxAgeMs"]:kd,l=typeof c["retention.sweepIntervalMs"]=="number"?c["retention.sweepIntervalMs"]:bd;if(d<=0||l<=0)return;let h=typeof c["retention.lastSweepAt"]=="number"?c["retention.lastSweepAt"]:0,y=Date.now();if(y-h<l)return;c["retention.lastSweepAt"]=y,o(c);let m=y;try{let f=w.readdirSync(e,{withFileTypes:!0});for(let v of f){if(Date.now()-m>wd)break;if(!v.isFile()||v.name===Xn||v.name===Qn)continue;let _=J.join(e,v.name);try{let g=w.statSync(_);if(y-g.mtimeMs>d)try{w.unlinkSync(_);}catch{}}catch{}}}catch{}}function i(c,d){let l=va(c,"scratch"),h=va(d,".json"),y=h.startsWith(".")?h:`.${h}`,m=`${l}-${Date.now()}-${randomUUID().slice(0,8)}${y}`;return J.join(e,m)}function u(c,d){let l=`${c}.${process.pid}.${randomUUID()}.tmp`;w.mkdirSync(J.dirname(c),{recursive:true}),w.writeFileSync(l,d,"utf-8"),Ze(l,c);}return {read(c){if(!w.existsSync(c))return null;try{return w.readFileSync(c,"utf-8")}catch{return null}},write(c,d){u(c,d);try{a();}catch{}},exists(c){return w.existsSync(c)},remove(c){try{w.existsSync(c)&&w.unlinkSync(c);}catch{}},readBytes(c){if(!w.existsSync(c))return null;try{return new Uint8Array(w.readFileSync(c))}catch{return null}},writeBytes(c,d){let l=`${c}.${process.pid}.${randomUUID()}.tmp`;w.mkdirSync(J.dirname(c),{recursive:true}),w.writeFileSync(l,Buffer.from(d)),Ze(l,c);try{a();}catch{}},stat(c){if(!w.existsSync(c))return null;try{let d=w.statSync(c);return {key:c,size:Number(d.size||0),updatedAt:new Date(d.mtimeMs).toISOString()}}catch{return null}},listKeys(c){try{let d=w.readdirSync(e,{withFileTypes:!0}),l=[];for(let h of d){if(!h.isFile()||h.name===Xn||h.name===Qn)continue;let y=J.join(e,h.name);(!c||y.startsWith(c))&&l.push(y);}return l.sort()}catch{return []}},getUniqueKey(c,d){return i(c,d)},create(c,d,l){let h=i(d,l);u(h,c);try{a();}catch{}return h},keyRef(c){return {kind:"fs-path",value:c}},config:{get(c){return s()[c]??null},set(c,d){let l=s();d==null?delete l[c]:l[c]=d,o(l);}}}}var _d="__archive-marker",Rd="__archive-config.json",Hr="streams",Wr="blobs",Cd=500;function Sa(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"_");if(!t)throw new Error("Archive segment name cannot be empty after sanitization");return t}function Xr(e){w.mkdirSync(e,{recursive:true}),w.mkdirSync(J.join(e,Hr),{recursive:true}),w.mkdirSync(J.join(e,Wr),{recursive:true});let t=J.join(e,_d),r=J.join(e,Rd);if(!w.existsSync(t))try{w.writeFileSync(t,`archive-store
13
+ `,"utf-8");}catch{}function s(){if(!w.existsSync(r))return {};try{let c=w.readFileSync(r,"utf-8"),d=JSON.parse(c);return d&&typeof d=="object"&&!Array.isArray(d)?d:{}}catch{return {}}}function o(c){let d=`${r}.${process.pid}.${randomUUID()}.tmp`;try{w.writeFileSync(d,JSON.stringify(c,null,2),"utf-8"),tt(d,r);}catch{}}if(n){let c=s();typeof c["retention.lastSweepAt"]!="number"&&(c["retention.lastSweepAt"]=Date.now(),o(c));}function a(){if(!w.existsSync(t))return;let c=s(),d=typeof c["retention.maxAgeMs"]=="number"?c["retention.maxAgeMs"]:bd,l=typeof c["retention.sweepIntervalMs"]=="number"?c["retention.sweepIntervalMs"]:kd;if(d<=0||l<=0)return;let m=typeof c["retention.lastSweepAt"]=="number"?c["retention.lastSweepAt"]:0,g=Date.now();if(g-m<l)return;c["retention.lastSweepAt"]=g,o(c);let p=g;try{let f=w.readdirSync(e,{withFileTypes:!0});for(let b of f){if(Date.now()-p>wd)break;if(!b.isFile()||b.name===Xn||b.name===Qn)continue;let _=H.join(e,b.name);try{let k=w.statSync(_);if(g-k.mtimeMs>d)try{w.unlinkSync(_);}catch{}}catch{}}}catch{}}function i(c,d){let l=va(c,"scratch"),m=va(d,".json"),g=m.startsWith(".")?m:`.${m}`,p=`${l}-${Date.now()}-${randomUUID().slice(0,8)}${g}`;return H.join(e,p)}function u(c,d){let l=`${c}.${process.pid}.${randomUUID()}.tmp`;w.mkdirSync(H.dirname(c),{recursive:true}),w.writeFileSync(l,d,"utf-8"),tt(l,c);}return {read(c){if(!w.existsSync(c))return null;try{return w.readFileSync(c,"utf-8")}catch{return null}},write(c,d){u(c,d);try{a();}catch{}},exists(c){return w.existsSync(c)},remove(c){try{w.existsSync(c)&&w.unlinkSync(c);}catch{}},readBytes(c){if(!w.existsSync(c))return null;try{return new Uint8Array(w.readFileSync(c))}catch{return null}},writeBytes(c,d){let l=`${c}.${process.pid}.${randomUUID()}.tmp`;w.mkdirSync(H.dirname(c),{recursive:true}),w.writeFileSync(l,Buffer.from(d)),tt(l,c);try{a();}catch{}},stat(c){if(!w.existsSync(c))return null;try{let d=w.statSync(c);return {key:c,size:Number(d.size||0),updatedAt:new Date(d.mtimeMs).toISOString()}}catch{return null}},listKeys(c){try{let d=w.readdirSync(e,{withFileTypes:!0}),l=[];for(let m of d){if(!m.isFile()||m.name===Xn||m.name===Qn)continue;let g=H.join(e,m.name);(!c||g.startsWith(c))&&l.push(g);}return l.sort()}catch{return []}},getUniqueKey(c,d){return i(c,d)},create(c,d,l){let m=i(d,l);u(m,c);try{a();}catch{}return m},keyRef(c){return {kind:"fs-path",value:c}},config:{get(c){return s()[c]??null},set(c,d){let l=s();d==null?delete l[c]:l[c]=d,o(l);}}}}var _d="__archive-marker",Rd="__archive-config.json",Hr="streams",Wr="blobs",Cd=500;function Sa(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"_");if(!t)throw new Error("Archive segment name cannot be empty after sanitization");return t}function Xr(e){w.mkdirSync(e,{recursive:true}),w.mkdirSync(H.join(e,Hr),{recursive:true}),w.mkdirSync(H.join(e,Wr),{recursive:true});let t=H.join(e,_d),r=H.join(e,Rd);if(!w.existsSync(t))try{w.writeFileSync(t,`archive-store
14
14
  ${new Date().toISOString()}
15
- `,"utf-8");}catch{}function n(){if(!w.existsSync(r))return {};try{let a=w.readFileSync(r,"utf-8"),i=JSON.parse(a);return i&&typeof i=="object"&&!Array.isArray(i)?i:{}}catch{return {}}}function s(a){let i=`${r}.${process.pid}.${randomUUID()}.tmp`;try{w.writeFileSync(i,JSON.stringify(a,null,2),"utf-8"),Ze(i,r);}catch{}}function o(){if(!w.existsSync(t))return;let a=n(),i=typeof a["retention.maxAgeMs"]=="number"?a["retention.maxAgeMs"]:0,u=typeof a["retention.sweepIntervalMs"]=="number"?a["retention.sweepIntervalMs"]:0;if(i<=0||u<=0)return;let c=typeof a["retention.lastSweepAt"]=="number"?a["retention.lastSweepAt"]:0,d=Date.now();if(d-c<u)return;a["retention.lastSweepAt"]=d,s(a);let l=d,h=y=>{let m;try{m=w.readdirSync(y,{withFileTypes:!0});}catch{return}for(let f of m){if(Date.now()-l>Cd)return;let v=J.join(y,f.name);if(f.isDirectory()){h(v);continue}if(f.isFile())try{let _=w.statSync(v);if(d-_.mtimeMs>i)try{w.unlinkSync(v);}catch{}}catch{}}};h(J.join(e,Hr)),h(J.join(e,Wr));}return {stream(a){let i=Sa(a),u=J.join(e,Hr,`${i}.jsonl`),c=ka(u);return {append(d){let l=c.append(d);try{o();}catch{}return l},readAll:()=>c.readAll(),readAfter:d=>c.readAfter(d),clear:()=>{c.clear&&c.clear();}}},blob(a){let i=Sa(a),u=J.join(e,Wr,i);w.mkdirSync(u,{recursive:true});let c=ar(u);return {read:d=>c.read(d),write:(d,l)=>{c.write(d,l);try{o();}catch{}},exists:d=>c.exists(d),remove:d=>c.remove(d),readBytes:c.readBytes?d=>c.readBytes(d):void 0,writeBytes:c.writeBytes?(d,l)=>{c.writeBytes(d,l);try{o();}catch{}}:void 0,listKeys:d=>c.listKeys(d),stat:c.stat?d=>c.stat(d):void 0}},listStreams(a){let i=J.join(e,Hr);try{return w.readdirSync(i,{withFileTypes:!0}).filter(u=>u.isFile()&&u.name.endsWith(".jsonl")).map(u=>u.name.slice(0,-6)).filter(u=>!a||u.startsWith(a)).sort()}catch{return []}},listBlobs(a){let i=J.join(e,Wr);try{return w.readdirSync(i,{withFileTypes:!0}).filter(u=>u.isDirectory()).map(u=>u.name).filter(u=>!a||u.startsWith(a)).sort()}catch{return []}},config:{get(a){return n()[a]??null},set(a,i){let u=n();i==null?delete u[a]:u[a]=i,s(u);}}}}function ts(e){function t(n){return J.join(e,...n.split("/"))+".json"}function r(n,s,o,a){if(w.existsSync(n))for(let i of w.readdirSync(n,{withFileTypes:true})){let u=s?`${s}/${i.name}`:i.name;if(i.isDirectory()){r(J.join(n,i.name),u,o,a);continue}if(!i.isFile()||!i.name.endsWith(".json"))continue;let c=u.replace(/\.json$/,"");(!o||c.startsWith(o))&&a.push(c);}}return {read(n){let s=t(n);if(!w.existsSync(s))return null;try{return JSON.parse(w.readFileSync(s,"utf-8"))}catch{return null}},write(n,s){let o=t(n),a=`${o}.${process.pid}.${randomUUID()}.tmp`;w.mkdirSync(J.dirname(o),{recursive:true}),w.writeFileSync(a,JSON.stringify(s,null,2),"utf-8"),Ze(a,o);},delete(n){let s=t(n);try{w.existsSync(s)&&w.unlinkSync(s);}catch{}},listKeys(n){let s=[];return r(e,"",n,s),s.sort()}}}function ka(e){function t(){if(!w.existsSync(e))return [];let r=w.readFileSync(e,"utf-8").trim();return r?r.split(`
16
- `).filter(Boolean).map(n=>JSON.parse(n)):[]}return {append(r){let n={id:randomUUID(),payload:r};return w.mkdirSync(J.dirname(e),{recursive:true}),w.appendFileSync(e,JSON.stringify(n)+`
17
- `,"utf-8"),n},readAll(){return t()},readAfter(r){let n=t();if(!r)return {entries:n,newCursor:n.length>0?n[n.length-1].id:null};let s=n.findIndex(a=>a.id===r),o=s===-1?n:n.slice(s+1);return {entries:o,newCursor:o.length>0?o[o.length-1].id:r}},clear(){w.existsSync(e)&&w.truncateSync(e,0);}}}function Zn(e){if(e==null||typeof e!="object")return JSON.stringify(e);if(Array.isArray(e))return `[${e.map(Zn).join(",")}]`;let t=e;return `{${Object.keys(t).sort().map(n=>`${JSON.stringify(n)}:${Zn(t[n])}`).join(",")}}`}function ba(e){return createHash("sha256").update(Zn(e)).digest("hex")}function wa(e){let t=J.join(e,"board-journal.jsonl");return {readAllEntries(){if(!w.existsSync(t))return [];let r=w.readFileSync(t,"utf-8").trim();return r?r.split(`
15
+ `,"utf-8");}catch{}function n(){if(!w.existsSync(r))return {};try{let a=w.readFileSync(r,"utf-8"),i=JSON.parse(a);return i&&typeof i=="object"&&!Array.isArray(i)?i:{}}catch{return {}}}function s(a){let i=`${r}.${process.pid}.${randomUUID()}.tmp`;try{w.writeFileSync(i,JSON.stringify(a,null,2),"utf-8"),tt(i,r);}catch{}}function o(){if(!w.existsSync(t))return;let a=n(),i=typeof a["retention.maxAgeMs"]=="number"?a["retention.maxAgeMs"]:0,u=typeof a["retention.sweepIntervalMs"]=="number"?a["retention.sweepIntervalMs"]:0;if(i<=0||u<=0)return;let c=typeof a["retention.lastSweepAt"]=="number"?a["retention.lastSweepAt"]:0,d=Date.now();if(d-c<u)return;a["retention.lastSweepAt"]=d,s(a);let l=d,m=g=>{let p;try{p=w.readdirSync(g,{withFileTypes:!0});}catch{return}for(let f of p){if(Date.now()-l>Cd)return;let b=H.join(g,f.name);if(f.isDirectory()){m(b);continue}if(f.isFile())try{let _=w.statSync(b);if(d-_.mtimeMs>i)try{w.unlinkSync(b);}catch{}}catch{}}};m(H.join(e,Hr)),m(H.join(e,Wr));}return {stream(a){let i=Sa(a),u=H.join(e,Hr,`${i}.jsonl`),c=ba(u);return {append(d){let l=c.append(d);try{o();}catch{}return l},readAll:()=>c.readAll(),readAfter:d=>c.readAfter(d),clear:()=>{c.clear&&c.clear();}}},blob(a){let i=Sa(a),u=H.join(e,Wr,i);w.mkdirSync(u,{recursive:true});let c=ar(u);return {read:d=>c.read(d),write:(d,l)=>{c.write(d,l);try{o();}catch{}},exists:d=>c.exists(d),remove:d=>c.remove(d),readBytes:c.readBytes?d=>c.readBytes(d):void 0,writeBytes:c.writeBytes?(d,l)=>{c.writeBytes(d,l);try{o();}catch{}}:void 0,listKeys:d=>c.listKeys(d),stat:c.stat?d=>c.stat(d):void 0}},listStreams(a){let i=H.join(e,Hr);try{return w.readdirSync(i,{withFileTypes:!0}).filter(u=>u.isFile()&&u.name.endsWith(".jsonl")).map(u=>u.name.slice(0,-6)).filter(u=>!a||u.startsWith(a)).sort()}catch{return []}},listBlobs(a){let i=H.join(e,Wr);try{return w.readdirSync(i,{withFileTypes:!0}).filter(u=>u.isDirectory()).map(u=>u.name).filter(u=>!a||u.startsWith(a)).sort()}catch{return []}},config:{get(a){return n()[a]??null},set(a,i){let u=n();i==null?delete u[a]:u[a]=i,s(u);}}}}function ts(e){function t(n){return H.join(e,...n.split("/"))+".json"}function r(n,s,o,a){if(w.existsSync(n))for(let i of w.readdirSync(n,{withFileTypes:true})){let u=s?`${s}/${i.name}`:i.name;if(i.isDirectory()){r(H.join(n,i.name),u,o,a);continue}if(!i.isFile()||!i.name.endsWith(".json"))continue;let c=u.replace(/\.json$/,"");(!o||c.startsWith(o))&&a.push(c);}}return {read(n){let s=t(n);if(!w.existsSync(s))return null;try{return JSON.parse(w.readFileSync(s,"utf-8"))}catch{return null}},write(n,s){let o=t(n),a=`${o}.${process.pid}.${randomUUID()}.tmp`;w.mkdirSync(H.dirname(o),{recursive:true}),w.writeFileSync(a,JSON.stringify(s,null,2),"utf-8"),tt(a,o);},delete(n){let s=t(n);try{w.existsSync(s)&&w.unlinkSync(s);}catch{}},listKeys(n){let s=[];return r(e,"",n,s),s.sort()}}}function ba(e){function t(){if(!w.existsSync(e))return [];let r=w.readFileSync(e,"utf-8").trim();return r?r.split(`
16
+ `).filter(Boolean).map(n=>JSON.parse(n)):[]}return {append(r){let n={id:randomUUID(),payload:r};return w.mkdirSync(H.dirname(e),{recursive:true}),w.appendFileSync(e,JSON.stringify(n)+`
17
+ `,"utf-8"),n},readAll(){return t()},readAfter(r){let n=t();if(!r)return {entries:n,newCursor:n.length>0?n[n.length-1].id:null};let s=n.findIndex(a=>a.id===r),o=s===-1?n:n.slice(s+1);return {entries:o,newCursor:o.length>0?o[o.length-1].id:r}},clear(){w.existsSync(e)&&w.truncateSync(e,0);}}}function Zn(e){if(e==null||typeof e!="object")return JSON.stringify(e);if(Array.isArray(e))return `[${e.map(Zn).join(",")}]`;let t=e;return `{${Object.keys(t).sort().map(n=>`${JSON.stringify(n)}:${Zn(t[n])}`).join(",")}}`}function ka(e){return createHash("sha256").update(Zn(e)).digest("hex")}function wa(e){let t=H.join(e,"board-journal.jsonl");return {readAllEntries(){if(!w.existsSync(t))return [];let r=w.readFileSync(t,"utf-8").trim();return r?r.split(`
18
18
  `).filter(Boolean).map(n=>JSON.parse(n)):[]},appendEntry(r){w.appendFileSync(t,JSON.stringify(r)+`
19
- `,"utf-8");},generateId(){return randomUUID()}}}function _a(e){return {tryAcquire(){try{if(!w.existsSync(e)){w.mkdirSync(J.dirname(e),{recursive:!0});try{w.writeFileSync(e,"{}",{flag:"wx"});}catch{}}return lockSync(e,{retries:0})}catch{return null}}}}var Ra={$schema:"http://json-schema.org/draft-07/schema#",$id:"https://nsreehari.github.io/boards/live-cards.schema.json",definitions:{bind_ref:{description:"A card data path reference, e.g. 'card_data.raw_quotes' or 'requires.upstream'",type:"string",pattern:"^(card_data|requires|fetched_sources|computed_values)(\\.|$)"},bind_or_literal:{description:"A literal value or a bind reference object",oneOf:[{type:"string"},{type:"number"},{type:"boolean"},{type:"array"},{type:"object",properties:{bind:{$ref:"#/definitions/bind_ref"}},required:["bind"]}]},compute_expr:{description:"A declarative JSON compute expression",type:"object",required:["fn"],properties:{fn:{type:"string",description:"Function name from the built-in vocabulary",enum:["sum","avg","min","max","count","first","last","add","sub","mul","div","round","abs","mod","gt","gte","lt","lte","eq","neq","if","and","or","not","concat","upper","lower","template","filter","pluck","map","sort","slice","flat","unique","group","get","default","now","diff_days","format_date"]},input:{description:"card_data.path, literal, array of inputs, or nested compute_expr",oneOf:[{type:"string"},{type:"number"},{type:"boolean"},{type:"array"},{$ref:"#/definitions/compute_expr"}]},field:{type:"string",description:"For pluck/sum/group \u2014 the object key to extract"},where:{$ref:"#/definitions/compute_expr",description:"For filter \u2014 predicate expression ($ = current item)"},cond:{$ref:"#/definitions/compute_expr",description:"For if \u2014 condition expression"},then:{description:"For if \u2014 value when cond is truthy"},else:{description:"For if \u2014 value when cond is falsy"},format:{type:"string",description:"For format_date \u2014 date format string"}}},meta:{type:"object",properties:{title:{type:"string"},tags:{type:"array",items:{type:"string"}}}},requires:{type:"array",items:{type:"string"},description:"IDs of upstream nodes this node depends on"},provides:{type:"array",items:{type:"object",required:["bindTo","ref"],properties:{bindTo:{type:"string",description:"Token name published downstream"},ref:{type:"string",description:"Path to read value from (card_data.*, requires.*, fetched_sources.*, computed_values.*)"}}},description:"Explicit bindings exposing computed or card_data values downstream as named tokens"},compute_step:{description:"A single ordered compute step: reads card_data.*/requires.*/computed_values.*, writes to computed_values[bindTo]",type:"object",required:["bindTo","expr"],properties:{bindTo:{type:"string",description:"Key in computed_values to write result"},expr:{type:"string",description:"JSONata expression evaluated against { card_data, requires, fetched_sources, computed_values }"}}},source_def:{description:"One source entry. The engine requires 'bindTo' (compute namespace key) and 'outputFile' (delivery signal path). bindTo and outputFile must be unique across all source_defs in a card. Every other property is yours \u2014 add whatever your task-executor needs: kind, url, headers, mailbox, channel, model, query, etc. The full object is passed verbatim as the --in JSON to the executor.",type:"object",required:["bindTo","outputFile"],additionalProperties:true,properties:{bindTo:{type:"string",description:"Key under fetched_sources.* available in compute expressions"},outputFile:{type:"string",description:"Board-relative path the executor writes its JSON result to. Presence of this file signals delivery."},projections:{type:"object",description:"Named data projections from card_data or requires, evaluated before the executor is called. Each key is a ref name; each value is a JSONata expression rooted at card_data or requires. The resolved values are passed to the executor as _projections. fetched_sources, computed_values, and source_defs are not accessible here \u2014 sources run before those exist.",additionalProperties:{type:"string"}},optionalForCompletionGating:{type:"boolean",default:false,description:"When true this source does not gate card completion. Default false when absent, so source_defs are completion-gating by default."},timeout:{type:"integer",minimum:0,default:12e4,description:"Executor/script timeout in ms. Default: 120 000 (2 min)."},script:{type:"string",description:"Legacy direct-run: shell command executed when no .task-executor is registered. stdout is captured as the result."}}},render_element:{type:"object",required:["kind"],properties:{id:{type:"string",description:"Optional element ID for targeted updates"},kind:{enum:["metric","table","editable-table","chart","form","filter","list","notes","todo","alert","narrative","badge","text","markdown","ref","custom","actions"]},label:{type:"string",description:"Heading above this element"},className:{type:"string",description:"Bootstrap grid class, e.g. 'col-12 col-md-6'"},visible:{type:"string",description:"card_data/requires/fetched_sources/computed_values path \u2014 element shown only if truthy"},data:{type:"object",properties:{bind:{$ref:"#/definitions/bind_ref",description:"card_data/requires/fetched_sources/computed_values path to read data from"},writeTo:{$ref:"#/definitions/bind_ref",description:"card_data path for user input (form, filter, todo, notes)"},columns:{type:"array",items:{type:"string"},description:"table: visible columns"},maxRows:{type:"integer",description:"table/list: max rows to display"},sortable:{type:"boolean",default:true,description:"table: enable click-to-sort"},placeholder:{type:"string",description:"Empty-state message"},chartType:{enum:["bar","line","pie","doughnut"]},chartOptions:{type:"object",description:"Chart.js options passthrough"},fields:{type:"object",description:"JSON Schema for form/filter fields"},thresholds:{type:"object",properties:{green:{type:"string"},amber:{type:"string"}}},colorMap:{type:"object",description:"badge: value \u2192 Bootstrap color"},style:{enum:["heading","muted","default"],description:"text: display style"},upload:{type:"boolean",default:true,description:"file-upload: show drop zone (false = read-only file list)"},accept:{type:"array",items:{type:"string"},description:"file-upload: allowed extensions"},multiple:{type:"boolean",default:true,description:"file-upload: allow multiple files"},fileAttach:{type:"boolean",default:false,description:"chat: enable inline file attachments"},fileAccept:{type:"array",items:{type:"string"},description:"chat: allowed attachment extensions"},buttons:{type:"array",description:"actions: button definitions",items:{type:"object",required:["id","label"],properties:{id:{type:"string"},label:{type:"string"},style:{type:"string",description:"Bootstrap button variant, e.g. 'success', 'outline-danger'"},size:{type:"string",default:"sm"},disabled:{oneOf:[{type:"boolean"},{type:"string",description:"card_data/requires/fetched_sources/computed_values path \u2014 truthy = disabled"}]}}}}}}}},view:{type:"object",required:["elements"],properties:{elements:{type:"array",minItems:1,items:{$ref:"#/definitions/render_element"}},layout:{type:"object",properties:{board:{type:"object",properties:{col:{type:"integer",minimum:1,maximum:12},order:{type:"integer"}}},canvas:{type:"object",properties:{x:{type:"number"},y:{type:"number"},w:{type:"number"},h:{type:"number"}}}}},features:{type:"object",properties:{chat:{type:"boolean",default:false},notes:{type:"boolean",default:false},refresh:{type:"boolean",default:true}}}}}},title:"LiveCard",description:"A unified card node. Behavior depends on which sections are present (source_defs, compute, view, etc.)",type:"object",required:["id"],additionalProperties:false,properties:{id:{type:"string"},requires:{$ref:"#/definitions/requires"},provides:{$ref:"#/definitions/provides"},meta:{$ref:"#/definitions/meta"},view:{$ref:"#/definitions/view"},card_data:{type:"object",description:"Authored card data and runtime metadata. Includes uploaded-file metadata maintained by host handlers and inference evaluation results.",properties:{files:{type:"array",description:"Optional uploaded-file metadata maintained by host handlers. Stored name is normalized and serial-prefixed (for example 001-my_file.pdf).",items:{type:"object",required:["name","stored_name"],properties:{name:{type:"string",minLength:1},stored_name:{type:"string",minLength:5,maxLength:32,pattern:"^[0-9]{3,}-[a-z0-9._-]+$"},size:{oneOf:[{type:"integer",minimum:0},{type:"null"}]},mime_type:{type:"string"},path:{type:"string",pattern:"^[^\\s]+/files/[0-9]{3,}-[a-z0-9._-]+$"},uploaded_at:{type:"string",format:"date-time"}},additionalProperties:false}}},additionalProperties:true},source_defs:{type:"array",description:"Source entries. Each entry is passed verbatim to the board's .task-executor (registered via init --task-executor) as the --in JSON file. The executor fetches/generates the data and writes JSON to --out. If no executor is registered, the built-in executor runs the entry's 'cli' command directly. Sources gate completion by default. Set optionalForCompletionGating: true for enrichment-only source_defs that should not block task-completed.",items:{$ref:"#/definitions/source_def"}},compute:{type:"array",description:"Ordered array of compute steps. Each reads card_data.*/requires.*/fetched_sources.*/computed_values.* and writes to ephemeral computed_values[bindTo].",items:{$ref:"#/definitions/compute_step"}}}};var eu=Hu(Xc());var rh=createRequire(import.meta.url),nh=rh("./jsonata-sync.cjs"),On=null;var Qc=/\b(card_data|requires|fetched_sources|computed_values|source_defs)\b/g,sh=/^\s*(card_data|requires|fetched_sources|computed_values|source_defs)(\.|$)/;function oh(e){let t=new Set,r;for(Qc.lastIndex=0;(r=Qc.exec(e))!==null;)t.add(r[1]);return t}function tu(e){let t=sh.exec(e);return t?t[1]:null}function Zc(e,t,r,n){try{nh(e);}catch(o){let a=o instanceof Error?o.message:String(o);n.push(`${t}: invalid JSONata expression (${a})`);return}let s=oh(e);for(let o of s)r.has(o)||n.push(`${t}: disallowed namespace "${o}" in expression`);}function Vo(e,t,r){if(Array.isArray(e)){e.forEach((s,o)=>{Vo(s,`${t}/${o}`,r);});return}if(typeof e=="string"){let s=tu(e);if(!s)return;new Set(["card_data","requires","computed_values"]).has(s)||r.push(`${t}: disallowed namespace "${s}" in view reference`);return}if(!e||typeof e!="object")return;let n=e;for(let[s,o]of Object.entries(n))Vo(o,`${t}/${s}`,r);}function ah(){if(On)return On;let e=new eu.default({allErrors:true});return eh(e),On=e.compile(Ra),On}function ru(e){let t=ah(),r=t(e),n=(t.errors??[]).map(s=>`${s.instancePath||"/"}: ${s.message??"unknown error"}`);if(e&&typeof e=="object"&&!Array.isArray(e)){let s=e.source_defs;if(Array.isArray(s)){let o=new Set,a=new Set;s.forEach((i,u)=>{if(!i||typeof i!="object"||Array.isArray(i))return;let c=i;typeof c.bindTo=="string"&&c.bindTo&&(o.has(c.bindTo)&&n.push(`/source_defs/${u}/bindTo: bindTo "${c.bindTo}" must be unique across all source_defs`),o.add(c.bindTo)),typeof c.outputFile=="string"&&c.outputFile&&(a.has(c.outputFile)&&n.push(`/source_defs/${u}/outputFile: outputFile "${c.outputFile}" must be unique across all source_defs`),a.add(c.outputFile));});}}return !r||n.length>0?{ok:false,errors:n}:{ok:true,errors:[]}}function nu(e){let t=[];if(!e||typeof e!="object"||Array.isArray(e))return {ok:true,errors:[]};let r=e,n=r.compute;Array.isArray(n)&&n.forEach((c,d)=>{if(!c||typeof c!="object"||Array.isArray(c))return;let l=c.expr;typeof l!="string"||l.trim().length===0||Zc(l,`/compute/${d}/expr`,new Set(["card_data","requires","fetched_sources","computed_values"]),t);});let s=new Set(["card_data","requires","fetched_sources","computed_values"]),o=r.provides;Array.isArray(o)&&o.forEach((c,d)=>{if(!c||typeof c!="object"||Array.isArray(c))return;let l=c.ref;if(typeof l!="string"||l.trim().length===0)return;let h=tu(l);h===null?t.push(`/provides/${d}/ref: path "${l}" must start with a valid namespace (${[...s].join(", ")})`):s.has(h)||t.push(`/provides/${d}/ref: disallowed namespace "${h}" in path "${l}" (valid: ${[...s].join(", ")})`);});let a=r.view;a&&typeof a=="object"&&!Array.isArray(a)&&Vo(a,"/view",t);let i=new Set(["card_data","requires"]),u=r.source_defs;return Array.isArray(u)&&u.forEach((c,d)=>{if(!c||typeof c!="object"||Array.isArray(c))return;let l=c.projections;if(!(!l||typeof l!="object"||Array.isArray(l)))for(let[h,y]of Object.entries(l))typeof y!="string"||y.trim().length===0||Zc(y,`/source_defs/${d}/projections/${h}`,i,t);}),{ok:t.length===0,errors:t}}function Bo(e){let t=ru(e);if(!t.ok)return t;let r=nu(e);return r.ok?{ok:true,errors:[]}:{ok:false,errors:r.errors}}var ht={RUNNING:"running",COMPLETED:"completed",FAILED:"failed",INACTIVATED:"inactivated"};function Oe(e){return e?Array.isArray(e.provides)?e.provides:[]:[]}function yt(e){return e?Array.isArray(e.requires)?e.requires:[]:[]}function su(e){return e.tasks??{}}function Go(e){return e?e.status===ht.FAILED||e.status===ht.INACTIVATED:false}function ou(e,t){return e.refreshStrategy??t?.refreshStrategy??"data-changed"}function au(e){return e.maxExecutions}function iu(e,t){let r=new Set;for(let[n,s]of Object.entries(t))if(s.status===ht.COMPLETED){let o=e.tasks[n];o&&Oe(o).forEach(i=>r.add(i));}return Array.from(r)}function cu(e,t){let r={};return e.forEach(n=>{let s=t[n];if(!s)return;Oe(s).forEach(a=>{r[a]||(r[a]=[]),r[a].push(n);});}),r}function uu(e,t,r){let n=e.tasks[t]??jn(),s={};if(r){let a=r.tasks[t],i=yt(a);for(let u of i)for(let[c,d]of Object.entries(r.tasks))if(Oe(d).includes(u)){let l=e.tasks[c];l?.lastDataHash&&(s[u]=l.lastDataHash);break}}let o={...n,status:"running",startedAt:new Date().toISOString(),lastUpdated:new Date().toISOString(),progress:0,error:void 0,startConsumedHashes:s};return {...e,tasks:{...e.tasks,[t]:o},lastUpdated:new Date().toISOString()}}function du(e,t,r,n,s,o){let a=e.tasks[r]??jn(),i=t.tasks[r];if(!i)throw new Error(`Task "${r}" not found in graph`);let u;n&&i.on&&i.on[n]?u=i.on[n]:u=Oe(i);let c=a.startConsumedHashes?{...a.startConsumedHashes}:{...a.lastConsumedHashes};if(!a.startConsumedHashes){let h=i.requires??[];for(let y of h)for(let[m,f]of Object.entries(t.tasks))if(Oe(f).includes(y)){let v=e.tasks[m];v?.lastDataHash&&(c[y]=v.lastDataHash);break}}let d={...a,status:"completed",completedAt:new Date().toISOString(),lastUpdated:new Date().toISOString(),executionCount:a.executionCount+1,lastEpoch:a.executionCount+1,lastDataHash:s,data:o,lastConsumedHashes:c,error:void 0},l=[...new Set([...e.availableOutputs,...u])];return {...e,tasks:{...e.tasks,[r]:d},availableOutputs:l,lastUpdated:new Date().toISOString()}}function lu(e,t,r,n){let s=e.tasks[r]??jn(),o=t.tasks[r];if(o?.retry){let u=s.retryCount+1;if(u<=o.retry.max_attempts){let c={...s,status:"not-started",retryCount:u,lastUpdated:new Date().toISOString(),error:n};return {...e,tasks:{...e.tasks,[r]:c},lastUpdated:new Date().toISOString()}}}let a={...s,status:"failed",failedAt:new Date().toISOString(),lastUpdated:new Date().toISOString(),error:n,executionCount:s.executionCount+1},i=e.availableOutputs;if(o?.on_failure&&o.on_failure.length>0&&(i=[...new Set([...e.availableOutputs,...o.on_failure])]),o?.circuit_breaker&&a.executionCount>=o.circuit_breaker.max_executions){let u=o.circuit_breaker.on_break;i=[...new Set([...i,...u])];}return {...e,tasks:{...e.tasks,[r]:a},availableOutputs:i,lastUpdated:new Date().toISOString()}}function fu(e,t,r,n){let s=e.tasks[t]??jn(),o={...s,progress:typeof n=="number"?n:s.progress,messages:[...s.messages??[],...r?[{message:r,timestamp:new Date().toISOString(),status:s.status}]:[]],lastUpdated:new Date().toISOString()};return {...e,tasks:{...e.tasks,[t]:o},lastUpdated:new Date().toISOString()}}function pu(e,t){let r=e.tasks[t];if(!r)return e;let n={...r,status:"not-started",startedAt:void 0,completedAt:void 0,failedAt:void 0,error:void 0,data:void 0,progress:null,lastUpdated:new Date().toISOString()};return {...e,tasks:{...e.tasks,[t]:n},lastUpdated:new Date().toISOString()}}function jn(){return {status:"not-started",executionCount:0,retryCount:0,lastEpoch:0,messages:[],progress:null}}function Nn(e,t){let r=`live-${Date.now()}`,n={};for(let o of Object.keys(e.tasks))n[o]=gu();let s={status:"running",tasks:n,availableOutputs:[],stuckDetection:{is_stuck:false,stuck_description:null,outputs_unresolvable:[],tasks_blocked:[]},lastUpdated:new Date().toISOString(),executionId:r,executionConfig:{executionMode:e.settings.execution_mode??"eligibility-mode",conflictStrategy:e.settings.conflict_strategy??"alphabetical",completionStrategy:e.settings.completion}};return {config:e,state:s}}function ih(e,t){let{config:r,state:n}=e;if("executionId"in t&&t.executionId&&t.executionId!==n.executionId)return e;switch(t.type){case "task-started":return {config:r,state:uu(n,t.taskName,r)};case "task-completed":return {config:r,state:du(n,r,t.taskName,t.result,t.dataHash,t.data)};case "task-failed":return {config:r,state:lu(n,r,t.taskName,t.error)};case "task-progress":return {config:r,state:fu(n,t.taskName,t.message,t.progress)};case "task-restart":return {config:r,state:pu(n,t.taskName)};case "inject-tokens":return {config:r,state:{...n,availableOutputs:[...new Set([...n.availableOutputs,...t.tokens])],lastUpdated:new Date().toISOString()}};case "agent-action":return {config:r,state:mh(n,t.action)};case "task-upsert":return ch(e,t.taskName,t.taskConfig);case "task-removal":return uh(e,t.taskName);case "node-requires-add":return dh(e,t.nodeName,t.tokens);case "node-requires-remove":return lh(e,t.nodeName,t.tokens);case "node-provides-add":return fh(e,t.nodeName,t.tokens);case "node-provides-remove":return ph(e,t.nodeName,t.tokens);default:return e}}function mu(e,t){return t.reduce((r,n)=>ih(r,n),e)}function ch(e,t,r){let n=!!e.config.tasks[t];return {config:{...e.config,tasks:{...e.config.tasks,[t]:r}},state:{...e.state,tasks:{...e.state.tasks,[t]:n?e.state.tasks[t]:gu()},lastUpdated:new Date().toISOString()}}}function uh(e,t){if(!e.config.tasks[t])return e;let{[t]:r,...n}=e.config.tasks,{[t]:s,...o}=e.state.tasks;return {config:{...e.config,tasks:n},state:{...e.state,tasks:o,lastUpdated:new Date().toISOString()}}}function dh(e,t,r){let n=e.config.tasks[t];if(!n)return e;let s=yt(n),o=r.filter(a=>!s.includes(a));return o.length===0?e:{config:{...e.config,tasks:{...e.config.tasks,[t]:{...n,requires:[...s,...o]}}},state:e.state}}function lh(e,t,r){let n=e.config.tasks[t];if(!n)return e;let s=yt(n),o=s.filter(a=>!r.includes(a));return o.length===s.length?e:{config:{...e.config,tasks:{...e.config.tasks,[t]:{...n,requires:o}}},state:e.state}}function fh(e,t,r){let n=e.config.tasks[t];if(!n)return e;let s=Oe(n),o=r.filter(a=>!s.includes(a));return o.length===0?e:{config:{...e.config,tasks:{...e.config.tasks,[t]:{...n,provides:[...s,...o]}}},state:e.state}}function ph(e,t,r){let n=e.config.tasks[t];if(!n)return e;let s=Oe(n),o=s.filter(a=>!r.includes(a));return o.length===s.length?e:{config:{...e.config,tasks:{...e.config.tasks,[t]:{...n,provides:o}}},state:e.state}}function Nr(e){return {version:1,config:e.config,state:e.state,snapshotAt:new Date().toISOString()}}function qn(e){if(!e||typeof e!="object")throw new Error("Invalid snapshot: expected an object");let t=e;if(!t.config||typeof t.config!="object")throw new Error('Invalid snapshot: missing or invalid "config"');if(!t.state||typeof t.state!="object")throw new Error('Invalid snapshot: missing or invalid "state"');let r=t.config,n=t.state;if(!r.settings||typeof r.settings!="object")throw new Error("Invalid snapshot: config.settings missing");if(!r.tasks||typeof r.tasks!="object")throw new Error("Invalid snapshot: config.tasks missing");if(!n.tasks||typeof n.tasks!="object")throw new Error("Invalid snapshot: state.tasks missing");if(!Array.isArray(n.availableOutputs))throw new Error("Invalid snapshot: state.availableOutputs must be an array");return {config:r,state:n}}function gu(){return {status:"not-started",executionCount:0,retryCount:0,lastEpoch:0,messages:[],progress:null}}function mh(e,t){let r=new Date().toISOString();switch(t){case "stop":return {...e,status:"stopped",lastUpdated:r};case "pause":return {...e,status:"paused",lastUpdated:r};case "resume":return {...e,status:"running",lastUpdated:r};default:return e}}function qr(e){let{config:t,state:r}=e,n=su(t);if(Object.keys(n).length===0)return {eligible:[],pending:[],unresolved:[],blocked:[],conflicts:{}};let o=gh(n),a=iu(t,r.tasks),i=new Set([...a,...r.availableOutputs]),u=[],c=[],d=[],l=[];for(let[y,m]of Object.entries(n)){let f=r.tasks[y],v=ou(m,t.settings),_=v!=="once";if(f?.status===ht.RUNNING||Go(f))continue;let g=au(m);if(g!==void 0&&f&&f.executionCount>=g||m.circuit_breaker&&f&&f.executionCount>=m.circuit_breaker.max_executions||!_&&f?.status===ht.COMPLETED)continue;if(_&&f?.status===ht.COMPLETED){let R=yt(m),$=false;switch(v){case "data-changed":{R.length>0&&R.some(O=>{for(let[B,W]of Object.entries(n))if(Oe(W).includes(O)){let Z=r.tasks[B];if(!Z)continue;let pe=f.lastConsumedHashes?.[O];return Z.lastDataHash==null?Z.executionCount>f.lastEpoch:Z.lastDataHash!==pe}return false})||($=true);break}case "epoch-changed":{R.length>0&&R.some(O=>{for(let[B,W]of Object.entries(n))if(Oe(W).includes(O)){let Z=r.tasks[B];if(Z&&Z.executionCount>f.lastEpoch)return true}return false})||($=true);break}case "time-based":{let I=m.refreshInterval??0;if(I<=0){$=true;break}let O=f.completedAt;if(!O){$=true;break}(Date.now()-Date.parse(O))/1e3<I&&($=true);break}case "manual":$=true;break}if($)continue}let p=yt(m);if(p.length===0){u.push(y);continue}let k=[],b=[],E=[];for(let R of p){if(i.has(R))continue;let $=o[R]||[];$.length===0?k.push(R):$.every(O=>Go(r.tasks[O]))?E.push({token:R,failedProducer:$[0]}):b.push(R);}k.length>0?d.push({taskName:y,missingTokens:k}):E.length>0?l.push({taskName:y,failedTokens:E.map(R=>R.token),failedProducers:[...new Set(E.map(R=>R.failedProducer))]}):b.length>0?c.push({taskName:y,waitingOn:b}):u.push(y);}let h={};if(u.length>1){let y=cu(u,n);for(let[m,f]of Object.entries(y))f.length>1&&(h[m]=f);}return {eligible:u,pending:c,unresolved:d,blocked:l,conflicts:h}}function gh(e){let t={};for(let[r,n]of Object.entries(e)){for(let s of Oe(n))t[s]||(t[s]=[]),t[s].push(r);if(n.on)for(let s of Object.values(n.on))for(let o of s)t[o]||(t[o]=[]),t[o].includes(r)||t[o].push(r);if(n.on_failure)for(let s of n.on_failure)t[s]||(t[s]=[]),t[s].includes(r)||t[s].push(r);}return t}var Fr=class{buffer=[];append(t){this.buffer.push(t);}drain(){let t=this.buffer;return this.buffer=[],t}get size(){return this.buffer.length}};function Ko(e){let t=Uo(e);return hh(t)}function Uo(e){if(e==null||typeof e!="object")return JSON.stringify(e);if(Array.isArray(e))return "["+e.map(Uo).join(",")+"]";let t=e;return "{"+Object.keys(t).sort().map(n=>JSON.stringify(n)+":"+Uo(t[n])).join(",")+"}"}function hh(e){let t=0xcbf29ce484222325n,r=0x100000001b3n,n=0xffffffffffffffffn;for(let s=0;s<e.length;s++)t^=BigInt(e.charCodeAt(s)),t=t*r&n;return t.toString(16).padStart(16,"0")}function yh(e){if(typeof Buffer<"u")return Buffer.from(e,"utf8").toString("base64url");if(typeof btoa=="function"){let t=new TextEncoder().encode(e),r="";for(let n of t)r+=String.fromCharCode(n);return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}throw new Error("No base64 encoder available in this runtime")}function vh(e){if(typeof Buffer<"u")return Buffer.from(e,"base64url").toString("utf8");if(typeof atob=="function"){let t=e.replace(/-/g,"+").replace(/_/g,"/"),r=t+"=".repeat((4-t.length%4)%4),n=atob(r),s=new Uint8Array(n.length);for(let o=0;o<n.length;o++)s[o]=n.charCodeAt(o);return new TextDecoder().decode(s)}throw new Error("No base64 decoder available in this runtime")}function hu(e){let t=JSON.stringify({t:e,n:Date.now().toString(36)+Math.random().toString(36).slice(2,6)});return yh(t)}function Sh(e){try{let t=JSON.parse(vh(e));return typeof t?.t=="string"?{taskName:t.t}:null}catch{return null}}function yu(e,t,r){let{handlers:n,onDrain:s}=t,o=new Fr,a="state"in e&&"config"in e?e:Nn(e),i=false,u=new Set,c=new Map(Object.entries(n)),d=new Fr,l=false,h=false;function y(){if(!i){if(l){h=true;return}l=true;try{do h=!1,m();while(h)}finally{l=false;}}}function m(){let g=d.drain(),p=o.drain(),k=[...g,...p];k.length>0&&(a=mu(a,k));let b=qr(a);k.length>0&&s?.(k,a,b);for(let E of b.eligible)_(E);for(let E of k)if(E.type==="task-progress"){let{taskName:R,update:$}=E;if(!a.config.tasks[R])continue;let O=a.state.tasks[R];if(!O||O.status!=="running")continue;let B=hu(R),W=v(R,B,$).catch(Z=>{i||(d.append({type:"task-failed",taskName:R,error:Z.message??String(Z),timestamp:new Date().toISOString()}),y());}).finally(()=>{u.delete(W);});u.add(W);}}function f(g){let k=a.config.tasks[g].requires??[],b=new Map;for(let[R,$]of Object.entries(a.config.tasks))for(let I of $.provides??[])b.set(I,R);let E={};for(let R of k){let $=b.get(R);$?E[R]=a.state.tasks[$]?.data:E[R]=void 0;}return E}async function v(g,p,k){let b=a.config.tasks[g],E=b.taskHandlers??[],R=f(g);for(let $ of E){let I=c.get($);if(!I)throw new Error(`Handler '${$}' not found in registry (task '${g}')`);let O={nodeId:g,state:R,taskState:a.state.tasks[g],config:b,callbackToken:p,update:k};if(await I(O)==="task-initiate-failure")throw new Error(`Handler '${$}' returned task-initiate-failure (task '${g}')`)}}function _(g){let k=a.config.tasks[g]?.taskHandlers;if(!k||k.length===0)return;d.append({type:"task-started",taskName:g,timestamp:new Date().toISOString()}),y();let b=hu(g),E=v(g,b).catch(R=>{i||(d.append({type:"task-failed",taskName:g,error:R.message??String(R),timestamp:new Date().toISOString()}),y());}).finally(()=>{u.delete(E);});u.add(E);}return {push(g){i||(g.type==="task-completed"&&g.data&&!g.dataHash&&(g={...g,dataHash:Ko(g.data)}),o.append(g),y());},pushAll(g){if(!i){for(let p of g)p.type==="task-completed"&&p.data&&!p.dataHash?o.append({...p,dataHash:Ko(p.data)}):o.append(p);y();}},resolveCallback(g,p,k){if(i)return;let b=Sh(g);if(!b)return;let{taskName:E}=b;if(a.config.tasks[E]){if(k&&k.length>0)o.append({type:"task-failed",taskName:E,error:k.join("; "),timestamp:new Date().toISOString()});else {let R=p&&Object.keys(p).length>0?Ko(p):void 0;o.append({type:"task-completed",taskName:E,data:p,dataHash:R,timestamp:new Date().toISOString()});}y();}},addNode(g,p){i||(o.append({type:"task-upsert",taskName:g,taskConfig:p,timestamp:new Date().toISOString()}),y());},removeNode(g){i||(o.append({type:"task-removal",taskName:g,timestamp:new Date().toISOString()}),y());},addRequires(g,p){i||(o.append({type:"node-requires-add",nodeName:g,tokens:p,timestamp:new Date().toISOString()}),y());},removeRequires(g,p){i||(o.append({type:"node-requires-remove",nodeName:g,tokens:p,timestamp:new Date().toISOString()}),y());},addProvides(g,p){i||(o.append({type:"node-provides-add",nodeName:g,tokens:p,timestamp:new Date().toISOString()}),y());},removeProvides(g,p){i||(o.append({type:"node-provides-remove",nodeName:g,tokens:p,timestamp:new Date().toISOString()}),y());},registerHandler(g,p){c.set(g,p);},unregisterHandler(g){c.delete(g);},retrigger(g){i||a.config.tasks[g]&&(o.append({type:"task-restart",taskName:g,timestamp:new Date().toISOString()}),y());},retriggerAll(g){if(!i){for(let p of g)a.config.tasks[p]&&o.append({type:"task-restart",taskName:p,timestamp:new Date().toISOString()});y();}},snapshot(){return Nr(a)},getState(){return a},getSchedule(){return qr(a)},async waitForHandlers(){u.size>0&&await Promise.allSettled([...u]);},async dispose(g){g?.wait&&u.size>0&&await Promise.allSettled([...u]),i=true;}}}var bh=createRequire(import.meta.url),Fn=bh("./jsonata-sync.cjs"),ku=Fn;function vu(e,t){if(!t||!e)return;let r=t.split("."),n=e;for(let s=0;s<r.length;s++){if(n==null)return;n=n[r[s]];}return n}function bu(e,t,r){let n=t.split("."),s=e;for(let o=0;o<n.length-1;o++)(s[n[o]]==null||typeof s[n[o]]!="object")&&(s[n[o]]={}),s=s[n[o]];s[n[n.length-1]]=r;}async function wh(e,t){if(!e?.compute?.length)return e;e.card_data||(e.card_data={}),e.computed_values={},e._sourcesData=t?.sourcesData??{};let r=e.requires??{},n={card_data:e.card_data,requires:r,expects_data:r,fetched_sources:e._sourcesData,data:e.computed_values,computed_values:e.computed_values};for(let s of e.compute)try{let o=await Fn(s.expr).evaluate(n);bu(e.computed_values,s.bindTo,o),n.computed_values=e.computed_values;}catch{}return e}function _h(e,t){if(!e?.compute?.length)return {ok:true,node:e};e.card_data||(e.card_data={}),e.computed_values={},e._sourcesData=t?.sourcesData??{};let r=e.requires??{},n={card_data:e.card_data,requires:r,expects_data:r,fetched_sources:e._sourcesData,data:e.computed_values,computed_values:e.computed_values},s=[];for(let o of e.compute)try{let a=ku(o.expr).evaluate(n);bu(e.computed_values,o.bindTo,a),n.computed_values=e.computed_values;}catch(a){let i=a instanceof Error?a.message:String(a);s.push({bindTo:o.bindTo,error:i});}return s.length>0?{ok:true,node:e,errors:s}:{ok:true,node:e}}async function Rh(e,t,r){let n={...r??{},card_data:t.card_data??{},requires:t.requires??{},fetched_sources:t._sourcesData??{},computed_values:t.computed_values??{}};return Fn(e).evaluate(n)}function Ch(e,t){return t.startsWith("fetched_sources.")?vu(e._sourcesData??{},t.slice(16)):vu(e,t)}var Su=new Set(["metric","table","editable-table","chart","form","filter","list","notes","todo","alert","narrative","badge","text","markdown","ref","custom","actions"]),Eh=new Set(["id","meta","requires","provides","view","card_data","compute","source_defs"]);function $h(e){let t=[];if(!e||typeof e!="object"||Array.isArray(e))return {ok:false,errors:["Node must be a non-null object"]};let r=e;(typeof r.id!="string"||!r.id)&&t.push("id: required, must be a non-empty string");for(let n of Object.keys(r))Eh.has(n)||t.push(`Unknown top-level key: "${n}"`);if((r.card_data==null||typeof r.card_data!="object"||Array.isArray(r.card_data))&&t.push("card_data: required, must be an object"),r.meta!=null)if(typeof r.meta!="object"||Array.isArray(r.meta))t.push("meta: must be an object");else {let n=r.meta;n.title!=null&&typeof n.title!="string"&&t.push("meta.title: must be a string"),n.tags!=null&&!Array.isArray(n.tags)&&t.push("meta.tags: must be an array");}if(r.requires!=null&&!Array.isArray(r.requires)&&t.push("requires: must be an array of strings"),r.provides!=null&&(Array.isArray(r.provides)?r.provides.forEach((n,s)=>{if(!n||typeof n!="object"||Array.isArray(n))t.push(`provides[${s}]: must be an object with bindTo and ref`);else {let o=n;(typeof o.bindTo!="string"||!o.bindTo)&&t.push(`provides[${s}]: missing required "bindTo" string`),(typeof o.ref!="string"||!o.ref)&&t.push(`provides[${s}]: missing required "ref" string`);}}):t.push("provides: must be an array of { bindTo, ref } bindings")),r.compute!=null&&(Array.isArray(r.compute)?r.compute.forEach((n,s)=>{if(!n||typeof n!="object"||Array.isArray(n))t.push(`compute[${s}]: must be a compute step object`);else {let o=n;(typeof o.bindTo!="string"||!o.bindTo)&&t.push(`compute[${s}]: missing required "bindTo" property`),(typeof o.expr!="string"||!o.expr)&&t.push(`compute[${s}]: missing required "expr" string (JSONata expression)`);}}):t.push("compute: must be an array of compute steps")),r.source_defs!=null)if(!Array.isArray(r.source_defs))t.push("source_defs: must be an array");else {let n=new Set,s=new Set;r.source_defs.forEach((o,a)=>{if(!o||typeof o!="object"||Array.isArray(o))t.push(`source_defs[${a}]: must be an object`);else {let i=o;typeof i.bindTo!="string"||!i.bindTo?t.push(`source_defs[${a}]: missing required "bindTo" property`):(n.has(i.bindTo)&&t.push(`source_defs[${a}]: bindTo "${i.bindTo}" is not unique across source_defs`),n.add(i.bindTo)),typeof i.outputFile!="string"||!i.outputFile?t.push(`source_defs[${a}]: missing required "outputFile" property`):(s.has(i.outputFile)&&t.push(`source_defs[${a}]: outputFile "${i.outputFile}" is not unique across source_defs`),s.add(i.outputFile)),i.optionalForCompletionGating!=null&&typeof i.optionalForCompletionGating!="boolean"&&t.push(`source_defs[${a}]: optionalForCompletionGating must be a boolean`);}});}if(r.view!=null)if(typeof r.view!="object"||Array.isArray(r.view))t.push("view: must be an object");else {let n=r.view;!Array.isArray(n.elements)||n.elements.length===0?t.push("view.elements: required, must be a non-empty array"):n.elements.forEach((s,o)=>{if(!s||typeof s!="object"){t.push(`view.elements[${o}]: must be an object`);return}!s.kind||typeof s.kind!="string"?t.push(`view.elements[${o}].kind: required, must be a string`):Su.has(s.kind)||t.push(`view.elements[${o}].kind: unknown kind "${s.kind}". Valid: ${[...Su].join(", ")}`),s.data!=null&&(typeof s.data!="object"||Array.isArray(s.data))&&t.push(`view.elements[${o}].data: must be an object`);}),n.layout!=null&&(typeof n.layout!="object"||Array.isArray(n.layout))&&t.push("view.layout: must be an object"),n.features!=null&&(typeof n.features!="object"||Array.isArray(n.features))&&t.push("view.features: must be an object");}return {ok:t.length===0,errors:t}}async function xh(e,t){if(!e||e.length===0)return [];let r={card_data:t.card_data??{},requires:t.requires??{}};return Promise.all(e.map(async n=>{let s={};if(n.projections&&typeof n.projections=="object"&&!Array.isArray(n.projections)){for(let[o,a]of Object.entries(n.projections))if(typeof a=="string"&&a.trim().length>0)try{s[o]=await Fn(a).evaluate(r);}catch{s[o]=void 0;}}return {...n,_projections:s}}))}function Th(e,t){if(!e||e.length===0)return [];let r={card_data:t.card_data??{},requires:t.requires??{}};return e.map(n=>{let s={};if(n.projections&&typeof n.projections=="object"&&!Array.isArray(n.projections)){for(let[o,a]of Object.entries(n.projections))if(typeof a=="string"&&a.trim().length>0)try{s[o]=ku(a).evaluate(r);}catch{s[o]=void 0;}}return {...n,_projections:s}})}var vt={run:wh,runSync:_h,eval:Rh,resolve:Ch,validate:$h,enrichSources:xh,enrichSourcesSync:Th};function Jo(e){return JSON.stringify(e)}function zo(e){let t;try{t=JSON.parse(e);}catch{throw new Error(`parseExecutionRef: invalid JSON \u2014 ${e}`)}if(typeof t!="object"||t===null||typeof t.howToRun!="string"||typeof t.whatToRun!="string")throw new Error(`parseExecutionRef: missing required fields howToRun/whatToRun \u2014 ${e}`);return t}function Dn(e,t){function r(){return e.readIndex()??{}}function n(s,o,a){let i=String(o||"").split(".").filter(Boolean);if(i.length===0)return a&&typeof a=="object"&&!Array.isArray(a)?a:{value:a};let u={...s},c=u;for(let d=0;d<i.length-1;d++){let l=i[d],h=c[l],y=h&&typeof h=="object"&&!Array.isArray(h)?{...h}:{};c[l]=y,c=y;}return c[i[i.length-1]]=a,u}return {readCard(s){let o=r()[s];return !o||!e.cardExists(o.key)?null:e.readCard(o.key)},readCardKey(s){return r()[s]?.key??null},readAllCards(){let s=[];for(let[o,a]of Object.entries(r())){if(!e.cardExists(a.key))continue;let i=e.readCard(a.key);i?s.push(i):t?.(`[card-store] could not read card "${o}" at key "${a.key}"`);}return s},readChecksumIndex(){let s={};for(let[o,a]of Object.entries(r()))s[o]=a.checksum;return s},changedSince(s){let o=r(),a=[];for(let[i,u]of Object.entries(o))s[i]!==u.checksum&&a.push(i);for(let i of Object.keys(s))o[i]||a.push(i);return a},validateUpsert(s,o){let a=r(),i=a[s],u=Object.entries(a).find(([,c])=>c.key===o);return i&&i.key!==o?{ok:false,error:`Card id "${s}" is already mapped to key "${i.key}", cannot remap to "${o}"`}:u&&u[0]!==s?{ok:false,error:`Key "${o}" is already mapped to card id "${u[0]}", cannot remap to "${s}"`}:{ok:true}},writeCard(s,o,a){let i=r(),u=a??i[s]?.key??e.defaultCardKey(s),c=e.writeCard(u,o);i[s]={key:u,checksum:c,updatedAt:new Date().toISOString()},e.writeIndex(i);},patchCard(s,o,a){let i=r(),u=i[s];if(!u||!e.cardExists(u.key))throw new Error(`card "${s}" not found`);let c=e.readCard(u.key);if(!c||typeof c!="object"||Array.isArray(c))throw new Error(`card "${s}" is not patchable`);let d=n(c,o,a),l=e.writeCard(u.key,d);i[s]={key:u.key,checksum:l,updatedAt:new Date().toISOString()},e.writeIndex(i);},removeCard(s){let o=r(),a=o[s];a&&(e.removeCard(a.key),delete o[s],e.writeIndex(o));},readIndex(){return r()}}}function Ho(e,t){return {readSourceData(r,n){let s=e.read(`${r}/${n}`);if(s==null)return null;let o=s.trim();if(!o)return null;try{return JSON.parse(o)}catch{return o}},ingestSourceDataStaged(r,n,s,o){let a=t(s);e.write(`${r}/.staged/${o}/${n}`,a);},commitSourceData(r,n,s){let o=`${r}/.staged/${s}/${n}`,a=e.read(o);return a==null?false:(e.write(`${r}/${n}`,a),e.remove(o),true)},hasSource(r,n){return e.exists(`${r}/${n}`)}}}function Eu(e){function t(r){let n=e.readAllEntries();if(!r)return n;let s=n.findIndex(o=>o.id===r);return s===-1?n:n.slice(s+1)}return {readEntriesAfterCursor(r){let n=t(r);return n.length===0?{events:[],newCursor:r}:{events:n.map(s=>s.event),newCursor:n[n.length-1].id}},pendingCount(r){return t(r).length},appendEvent(r){e.appendEntry({id:e.generateId(),event:r});}}}function $u(e,t){return {appendEntries(r,n){if(!r||n.length===0)return;let s=e.read(r)??[];e.write(r,[...s,...n]);},dispatchEntriesForJournalId(r,n){if(!r)return;let s=e.read(r);if(!(!s||s.length===0)){for(let o of s)try{n(o);}catch(a){let i=a instanceof Error?a.message:String(a);try{t(o,i);}catch{}}e.delete(r);}}}}var Dr="v1",St="board/graph",xu="board/lastJournalProcessedId";function wu(e){return `cards/${e}/runtime`}function Tu(e){return {readRuntime(t){return e.read(wu(t))??{_sources:{}}},writeRuntime(t,r){e.write(wu(t),r);}}}function Ah(e,t){let r={...e};for(let n of t.deleteKeys)delete r[n];return {...r,...t.shallowMerge}}function Au(e){return {readSnapshot(t){return e.readValues(t)},commitSnapshot(t,r){if(r.schemaVersion!==Dr)throw new Error(`Unsupported snapshot schema version: ${r.schemaVersion}`);let n=e.readValues(t);if(n.version!==r.expectedVersion)return {ok:false,reason:"version-mismatch",currentVersion:n.version};let s=Ah(n.values,r);return {ok:true,newVersion:e.writeValues(t,s,r.deleteKeys)}}}}function Wo(e){function t(r){let n=e.read(r);return n==null?null:typeof n=="string"?n:JSON.stringify(n)}return {readTaskExecutorRef(){let r=t("task-executor");if(r?.trim())return zo(r.trim())},writeTaskExecutorRef(r){e.write("task-executor",Jo(r));},readChatHandlerFlow(){return e.read("chat-handler-flow")},writeChatHandlerFlow(r){e.write("chat-handler-flow",r);},readCardStoreRef(){return t("card-store-ref")},writeCardStoreRef(r){e.write("card-store-ref",r);},readOutputsStoreRef(){return t("outputs-store-ref")},writeOutputsStoreRef(r){e.write("outputs-store-ref",r);},readScratchStoreRef(){return t("scratch-store-ref")},writeScratchStoreRef(r){e.write("scratch-store-ref",r);},readArchiveStoreRef(){return t("archive-store-ref")},writeArchiveStoreRef(r){e.write("archive-store-ref",r);}}}function Iu(e){return {writeComputedValues(t,r){e.write(`cards/${t}/computed_values`,r);},readComputedValues(t){return e.read(`cards/${t}/computed_values`)},readAllComputedValues(){let t={};for(let r of e.listKeys("cards/")){let n=r.match(/^cards\/([^/]+)\/computed_values$/);n&&(t[n[1]]=e.read(r));}return t},writeDataObjects(t){for(let[r,n]of Object.entries(t))r&&e.write(`data-objects/${r}`,n);},readDataObject(t){return e.read(`data-objects/${t}`)},readAllDataObjects(){let t={};for(let r of e.listKeys("data-objects/"))t[r.slice(13)]=e.read(r);return t},writeStatusSnapshot(t){e.write("status",t);},readStatusSnapshot(){return e.read("status")}}}function _u(e){return e?{lastRequestedToken:e.lastRequestedToken,lastCompletedToken:e.lastCompletedToken,lastCompletionStatus:e.lastCompletionStatus??(e.lastCompletedToken?"success":"not-started"),queueRequestedToken:e.queueRequestedToken}:{lastCompletionStatus:"not-started"}}function Ih(e){return e?.lastRequestedToken?e.lastCompletedToken!==e.lastRequestedToken:false}function Ru(e,t){return e?.lastRequestedToken?Ih(e)?"in-flight":!e.lastCompletedToken||e.lastCompletedToken<t?"dispatch":"idle":"dispatch"}function Ph(e,t){return {...e,lastCompletedToken:t,lastCompletionStatus:"success"}}function Cu(e,t){return {...e,lastCompletedToken:t,lastCompletionStatus:"failure"}}function Mn(e,t){let r=t.state.tasks,n=t.config.tasks,s=Object.keys(r),o=qr(t),a={completed:0,failed:0,in_progress:0,pending:0,blocked:0,unresolved:0},i=new Map;for(let m of o.pending)i.set(m.taskName,m.waitingOn);for(let m of o.unresolved)i.set(m.taskName,m.missingTokens);for(let m of o.blocked)i.set(m.taskName,m.failedTokens);let u=new Map;for(let[m,f]of Object.entries(n))for(let v of f.requires??[]){let _=u.get(v)??[];_.push(m),u.set(v,_);}let c=s.sort().map(m=>{let f=r[m],v=n[m]??{requires:[],provides:[]};f.status==="completed"?a.completed+=1:f.status==="failed"?a.failed+=1:f.status==="in-progress"&&(a.in_progress+=1);let _=v.requires??[],g=v.provides??[],p=Object.keys(f.data??{}).sort(),k=_.filter(O=>t.state.availableOutputs.includes(O)),b=_.filter(O=>!t.state.availableOutputs.includes(O)),E=i.get(m)??b,R=new Set;for(let O of g)for(let B of u.get(O)??[])B!==m&&R.add(B);let $=f.failedAt,I=f.error?{message:f.error,code:"TASK_FAILED",at:$,source:"task-runtime"}:void 0;return {name:m,status:f.status,error:I,requires:_,requires_satisfied:k,requires_missing:b,provides_declared:g,provides_runtime:p,blocked_by:E,unblocks:Array.from(R).sort(),runtime:{attempt_count:f.executionCount??0,restart_count:f.retryCount??0,in_progress_since:f.status==="in-progress"?f.startedAt??null:null,last_transition_at:f.lastUpdated??null,last_completed_at:f.completedAt??null,last_restarted_at:f.startedAt??null,status_age_ms:f.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,f)=>f.fanOut-m.fanOut||m.name.localeCompare(f.name)),l=d.length>0?d[0]:{name:null,fanOut:0},h=new Set;for(let m of Object.values(n))for(let f of m.requires??[])h.add(f);let y=0;for(let[m,f]of Object.entries(n)){let v=(f.requires??[]).length===0,g=(f.provides??[]).some(p=>(u.get(p)??[]).some(k=>k!==m));v&&!g&&(y+=1);}return {schema_version:"v1",meta:{board:{path:e}},summary:{card_count:s.length,completed:a.completed,eligible:o.eligible.length,pending:a.pending,blocked:a.blocked,unresolved:a.unresolved,failed:a.failed,in_progress:a.in_progress,orphan_cards:y,topology:{edge_count:Array.from(h).length,max_fan_out_card:l.name,max_fan_out:l.fanOut}},cards:c}}function Oh(){return new Date().toISOString()}function Pu(e,t,r,n,s,o,a){return async i=>{let u=[],c=r.cardStore.readCard(i.nodeId);if(!c)return "task-initiate-failure";let d=c.id,l=c.card_data??{},h=c.source_defs??[],y=h.filter(D=>D.optionalForCompletionGating!==true),m=r.cardRuntimeStore.readRuntime(d),f=false,v=()=>{f&&(r.cardRuntimeStore.writeRuntime(d,m),f=false);},_=D=>_u(m._sources[D]),g=(D,M)=>{m._sources[D]=_u(M),f=true;},p=i.taskState?.executionCount??0;if(m._lastExecutionCount!==p&&(m._sources={},m._lastExecutionCount=p,f=true),i.update){let D=i.update,M=D.outputFile;if(M){let re=_(M);if(D.failure){let X=D.rqt??re.lastRequestedToken??re.queueRequestedToken;X&&g(M,Cu(re,X));}else {let X=D.rqt;if(!re.lastCompletedToken||X>re.lastCompletedToken){let le=typeof D.deliveryToken=="string"?D.deliveryToken:void 0,C=false;le&&(C=r.fetchedSourcesStore.commitSourceData(d,M,le)),C?g(M,Ph(re,X)):g(M,Cu(re,X));}}v();}}let b={};for(let D of h)if(D.outputFile){let M=r.fetchedSourcesStore.readSourceData(d,D.outputFile);M!==null&&(b[D.bindTo]=M);}let E={};for(let[D,M]of Object.entries(i.state??{}))if(M!==null&&typeof M=="object"&&!Array.isArray(M)){let re=M[D];E[D]=re!==void 0?re:M;}else E[D]=M;let R={id:d,card_data:{...l},requires:E,source_defs:h,compute:c.compute};R._sourcesData=b,c.compute&&vt.runSync(R,{sourcesData:b}),(o??r.outputStore.writeComputedValues.bind(r.outputStore))(d,R.computed_values??{});let $={...c},I=vt.enrichSourcesSync(Array.isArray(c.source_defs)?c.source_defs:void 0,{card_data:c.card_data,requires:E}),O=e.value;$.source_defs=Array.isArray(I)?I.map(D=>({...D,boardDir:typeof D.boardDir=="string"&&D.boardDir?D.boardDir:O})):I;let B=Oh(),W=i.update?void 0:B,Z=y.filter(D=>{let M=D.outputFile;if(typeof M!="string"||!M)return true;let re=_(M);W&&(re={...re,queueRequestedToken:W},g(M,re));let X=re.queueRequestedToken??re.lastRequestedToken??B,le=Ru(re,X);return le==="in-flight"?false:le==="dispatch"});if(v(),Z.length>0){let D=false,M=B;for(let re of Z){let X=re.outputFile;if(typeof X!="string"||!X)continue;let le=_(X),C=le.queueRequestedToken??B;g(X,{...le,lastRequestedToken:C}),M=C,D=true;}return D&&v(),D&&(u.push({taskKind:"source-fetch",payload:{boardRef:ce(e),enrichedCard:$,callbackToken:i.callbackToken,rqt:M}}),r.executionRequestStore.appendEntries(t,u)),"task-initiated"}if(y.some(D=>{let M=D.outputFile;if(typeof M!="string"||!M)return false;let re=_(M),X=re.queueRequestedToken??re.lastRequestedToken??B;return Ru(re,X)==="in-flight"}))return "task-initiated";let je=c.provides??[],Ce={};for(let{bindTo:D,ref:M}of je)Ce[D]=vt.resolve(R,M);return (a??r.outputStore.writeDataObjects.bind(r.outputStore))(Ce),h.filter(D=>{if(D.optionalForCompletionGating!==true)return false;let M=_(D.outputFile);return !M.lastRequestedToken||!M.lastCompletedToken?true:M.lastCompletedToken<=M.lastRequestedToken}).length>0&&u.push({taskKind:"source-fetch",payload:{boardRef:ce(e),enrichedCard:$,callbackToken:i.callbackToken,rqt:B}}),n(i.nodeId,Ce),u.length>0&&r.executionRequestStore.appendEntries(t,u),"task-initiated"}}var Ln={settings:{completion:"manual",refreshStrategy:"data-changed"},tasks:{}};function Ou(e){return {[St]:e.graph,[xu]:e.lastDrainedJournalId}}function ju(e){let t=e[St],r=e[xu];if(!t||typeof t!="object")throw new Error(`State snapshot is missing required key: ${St}`);return {graph:t,lastDrainedJournalId:typeof r=="string"?r:""}}function Nu(e){let t=e.requires,r=e.provides?.map(n=>n.bindTo)??[];return {requires:t&&t.length>0?t:void 0,provides:r,taskHandlers:["card-handler"],description:e.meta?.title??e.id}}function Q(e){return e!==void 0?{status:"success",data:e}:{status:"success"}}function q(e){return {status:"fail",error:e}}function ee(e){return {status:"error",error:e instanceof Error?e.message:String(e)}}function jh(e){let t=new TextEncoder().encode(e),r=Array.from(t,n=>String.fromCharCode(n)).join("");return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function Fu(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),r=t+"=".repeat((4-t.length%4)%4),n=atob(r),s=Uint8Array.from(n,o=>o.charCodeAt(0));return new TextDecoder().decode(s)}function Vn(e){try{let t=JSON.parse(Fu(e));return typeof t?.t=="string"?{taskName:t.t}:null}catch{return null}}function Nh(e){return jh(JSON.stringify(e))}function qu(e){try{let t=JSON.parse(Fu(e));return typeof t?.cbk=="string"&&typeof t?.cid=="string"&&typeof t?.b=="string"&&typeof t?.d=="string"?t:null}catch{return null}}function ke(){return new Date().toISOString()}function Mr(e,t){let r=t.onWarn??(()=>{}),n=ce(e);function s(C){if(C.length!==0)try{let S=t.publishBoardChangeNotifications?.(C);S&&typeof S.catch=="function"&&S.catch(T=>r(`[board-live-cards-public] publishBoardChangeNotifications failed: ${T instanceof Error?T.message:String(T)}`));}catch(S){r(`[board-live-cards-public] publishBoardChangeNotifications failed: ${S instanceof Error?S.message:String(S)}`);}}function o(){let C=i().readCardStoreRef();if(!C)throw new Error(`Board at ${e.value} has no card store configured. Run: init --base-ref <ref> --store-ref <b64-ref>`);let S=t.kvStorageForRef(C);return {readIndex(){return S.read("_index")},writeIndex(T){S.write("_index",T);},readCard(T){return S.read(T)},writeCard(T,j){return S.write(T,j),t.hashFn(j)},removeCard(T){S.delete(T);},cardExists(T){return S.read(T)!==null},defaultCardKey(T){return T}}}let a={readValues(C){let S=t.kvStorage("state-snapshot"),T=S.listKeys().sort();if(T.length===0)return {version:null,values:{}};let j={};for(let ue of T)j[ue]=S.read(ue);return {version:t.hashFn(j),values:j}},writeValues(C,S,T){let j=t.kvStorage("state-snapshot");for(let ue of T)j.delete(ue);for(let[ue,ne]of Object.entries(S))j.write(ue,ne);return t.hashFn(S)}},i=()=>Wo(t.kvStorage("config")),u=()=>Au(a),c=()=>Eu(t.journalAdapter()),d=()=>Dn(o(),r),l=()=>{let C=i().readOutputsStoreRef();if(!C)throw new Error(`Board at ${e.value} has no outputs store configured. Run: init --outputs-store-ref <b64-ref>`);return Iu(t.kvStorageForRef(C))},h=()=>{let C=i().readArchiveStoreRef();return C?t.archiveFactoryForRef(C):t.archiveFactory()};function y(){return !!u().readSnapshot(e.value).values[St]}function m(){let C=u().readSnapshot(e.value);if(!C.values[St])throw new Error(`Board not initialized at ${e.value}`);return ju(C.values)}function f(C,S){let T=u().commitSnapshot(e.value,{schemaVersion:Dr,expectedVersion:S,commitId:t.genId(),committedAt:ke(),deleteKeys:[],shallowMerge:Ou(C)});if(!T.ok)throw new Error(`Snapshot commit failed (version mismatch): expected=${S??"null"} current=${T.currentVersion??"null"}`)}function v(C){c().appendEvent(C);}async function _(){let C=(P,F)=>{let de=P.payload,it=(de?.enrichedCard??{}).id??de?.cardId??"unknown";v({type:"task-failed",taskName:it,error:F,timestamp:ke()});},S=$u(t.kvStorage("execution-requests"),C),T=Tu(t.kvStorage("card-runtime")),j=Ho(t.blobStorage("sources"),P=>t.resolveBlob(P)),ue=new Map,ne={readRuntime(P){return ue.get(P)??T.readRuntime(P)},writeRuntime(P,F){ue.set(P,F);}},Ie=[],we=new Map,at={readSourceData(P,F){let de=`${P}/${F}`;return we.has(de)?we.get(de):j.readSourceData(P,F)},ingestSourceDataStaged(P,F,de,Lt){j.ingestSourceDataStaged(P,F,de,Lt);},commitSourceData(P,F,de){let Lt=`${P}/.staged/${de}/${F}`,Gr=t.blobStorage("sources").read(Lt);if(Gr==null)return false;let Vt=`${P}/${F}`,ea=Gr.trim();try{we.set(Vt,JSON.parse(ea));}catch{we.set(Vt,ea);}return Ie.push({cardId:P,outputFile:F,deliveryToken:de}),true},hasSource(P,F){let de=`${P}/${F}`;return we.has(de)?true:j.hasSource(P,F)}},Pe={cardStore:d(),cardRuntimeStore:ne,fetchedSourcesStore:at,outputStore:l(),executionRequestStore:S},bt=m(),wt=qn(bt.graph),{events:Dt,newCursor:Mt}=c().readEntriesAfterCursor(bt.lastDrainedJournalId),_t=[],Bn=[],Gn=[],Xo=new Map,Mu=(P,F)=>{_t.push({type:"task-completed",taskName:P,data:F,timestamp:ke()});try{h().stream("exec-history").append({taskName:P,status:"completed",completedAt:ke()});}catch{}},Qo=(P,F)=>{v({type:"task-failed",taskName:P,error:F,timestamp:ke()});try{h().stream("exec-history").append({taskName:P,status:"failed",error:F,completedAt:ke()});}catch{}},Vr=yu(wt,{handlers:{"card-handler":Pu(e,Mt,Pe,Mu,Qo,(P,F)=>{Bn.push({cardId:P,values:F});},P=>{Gn.push(P);})}});for(_t=Dt;_t.length>0;){let P=_t;_t=[];for(let F of P)if(F.type==="task-restart"){let de=Pe.cardStore.readCard(F.taskName);de&&Xo.set(F.taskName,de);}Vr.pushAll(P),await Vr.waitForHandlers();}let Zo=Vr.getState();await Vr.dispose({wait:true});let Lu=u().readSnapshot(e.value).version;f({lastDrainedJournalId:Mt,graph:Nr(Zo)},Lu);for(let{cardId:P,values:F}of Bn)Pe.outputStore.writeComputedValues(P,F);for(let P of Gn)Pe.outputStore.writeDataObjects(P);for(let[P,F]of ue)T.writeRuntime(P,F);for(let{cardId:P,outputFile:F,deliveryToken:de}of Ie)j.commitSourceData(P,F,de);let Br;try{Br=Mn(n,Zo),Pe.outputStore.writeStatusSnapshot(Br);}catch(P){r(`[board-live-cards-public] status publish failed: ${P instanceof Error?P.message:String(P)}`);}let sr=[];for(let{cardId:P,values:F}of Bn)sr.push({kind:"computed_values",cardId:P,values:F});for(let P of Gn)for(let[F,de]of Object.entries(P))F&&sr.push({kind:"data_object",key:F,payload:de});for(let[P,F]of Xo)sr.push({kind:"card_refreshed",cardId:P,card:F});Br!==void 0&&sr.push({kind:"status",status:Br}),s(sr);let Vu=i().readTaskExecutorRef()??{howToRun:"built-in",whatToRun:ce({kind:"built-in",value:"source-cli-task-executor"})};S.dispatchEntriesForJournalId(Mt,P=>{if(P.taskKind!=="source-fetch"){r(`[process-accumulated-events] unknown taskKind "${P.taskKind}" \u2014 skipping`);return}let F=P.payload,de=F.enrichedCard?.id??"unknown",Lt=F.enrichedCard?.source_defs??[];for(let it of Lt){if(!it.outputFile){r(`[dispatch] source "${it.bindTo}" has no outputFile \u2014 skipping`);continue}let Gr=Nh({cbk:F.callbackToken,rg:e.value,br:ce(e),cid:de,b:it.bindTo,d:it.outputFile,cs:void 0,rqt:F.rqt});t.dispatchExecution(Vu,{source_def:it,base_ref:ce(e),callback:{token:Gr,via:t.selfRef}}).catch(Vt=>Qo(de,Vt instanceof Error?Vt.message:String(Vt)));}});}async function g(){try{let C=()=>{let T=m(),{events:j}=c().readEntriesAfterCursor(T.lastDrainedJournalId);j.length<=0||(g(),t.requestProcessAccumulated?.());},S=await ra(t.lock,_,C);return Q({ran:S!==!1})}catch(C){return ee(C)}}function p(){g(),t.requestProcessAccumulated?.();}function k(C){try{let S=C.params?.cardStoreRef;if(!S)return q("init requires params.cardStoreRef \u2014 create a card store with card-store-cli and pass its ref here");if(!y()){let we=Nn(Ln);f({lastDrainedJournalId:"",graph:Nr(we)},null);}let T=C.params?.outputsStoreRef;if(!T)return q("init requires params.outputsStoreRef \u2014 pass the outputs store ref here");let j=C.params?.scratchStoreRef,ue=C.params?.archiveStoreRef,ne=i();ne.writeCardStoreRef(S),ne.writeOutputsStoreRef(T),j&&ne.writeScratchStoreRef(j),ue&&ne.writeArchiveStoreRef(ue);let Ie=C.body??{};Ie["task-executor-ref"]&&ne.writeTaskExecutorRef(Ie["task-executor-ref"]),Object.prototype.hasOwnProperty.call(Ie,"chat-handler-flow")&&ne.writeChatHandlerFlow(Ie["chat-handler-flow"]);try{l().writeStatusSnapshot(Mn(n,qn(m().graph)));}catch{}return Q()}catch(S){return ee(S)}}function b(C){try{let S=l().readStatusSnapshot();if(!S){S=Mn(n,qn(m().graph));try{l().writeStatusSnapshot(S);}catch{}}return Q(S)}catch(S){return ee(S)}}function E(C){try{let S=C.params?.id;return S?(v({type:"task-removal",taskName:S,timestamp:ke()}),p(),Q()):q("removeCard requires params.id")}catch(S){return ee(S)}}function R(C){try{let S=C.params?.id;return S?(v({type:"task-restart",taskName:S,timestamp:ke()}),p(),Q()):q("retrigger requires params.id")}catch(S){return ee(S)}}async function $(C){return g()}function I(C){try{let S=C.params?.cardId,T=C.params?.all,j=!!C.params?.restart;if(!S&&!T)return q("upsertCard requires --card-id <id> or --all");let ue=T?d().readAllCards().map(ne=>ne.id):[S];for(let ne of ue)if(!d().readCard(ne))return q(`Card "${ne}" not found in board at ${e.value}`);for(let ne of ue){let Ie=d().readCard(ne),we=Nu(Ie),at=t.hashFn(we),Pe=t.kvStorage("card-upsert"),bt=Pe.read(ne),wt=bt?.taskConfigHash!==at;if(!(!wt&&!j)){if(wt){let Dt=bt?.blobRef??d().readCardKey(ne)??ne;v({type:"task-upsert",taskName:ne,taskConfig:we,timestamp:ke()}),Pe.write(ne,{blobRef:Dt,taskConfigHash:at,updatedAt:ke()});}j&&v({type:"task-restart",taskName:ne,timestamp:ke()});}}return p(),Q()}catch(S){return ee(S)}}function O(C){try{let S=C.params?.token;if(!S)return q("taskFailed requires params.token");let T=C.params?.error??"unknown error",j=Vn(S);if(!j)return q("Invalid callback token");v({type:"task-failed",taskName:j.taskName,error:T,timestamp:ke()});try{h().stream("exec-history").append({taskName:j.taskName,status:"failed",error:T,completedAt:ke()});}catch{}return p(),Q()}catch(S){return ee(S)}}function B(C){try{let S=C.params?.token;if(!S)return q("taskProgress requires params.token");let j=(C.body??{}).update??{},ue=Vn(S);return ue?(v({type:"task-progress",taskName:ue.taskName,update:j,timestamp:ke()}),p(),Q()):q("Invalid callback token")}catch(S){return ee(S)}}function W(C){try{let S=C.params?.token,T=C.params?.ref;if(!S)return q("sourceDataFetched requires params.token");if(!T)return q("sourceDataFetched requires params.ref");let j=qu(S);if(!j)return q("Invalid source token");let{cbk:ue,cid:ne,b:Ie,d:we,cs:at,rqt:Pe}=j,bt=Ho(t.blobStorage("sources"),_t=>t.resolveBlob(_t)),wt=t.genId();bt.ingestSourceDataStaged(ne,we,Ee(T),wt);let Dt=Vn(ue);if(!Dt)return q("Invalid callback token embedded in source token");let Mt=ke();return v({type:"task-progress",taskName:Dt.taskName,update:{bindTo:Ie,outputFile:we,fetchedAt:Mt,deliveryToken:wt,sourceChecksum:at,rqt:Pe},timestamp:Mt}),p(),Q()}catch(S){return ee(S)}}function Z(C){try{let S=C.params?.token,T=C.params?.reason??"unknown";if(!S)return q("sourceDataFetchFailure requires params.token");let j=qu(S);if(!j)return q("Invalid source token");let{cbk:ue,b:ne,d:Ie,cs:we,rqt:at}=j,Pe=Vn(ue);return Pe?(v({type:"task-progress",taskName:Pe.taskName,update:{bindTo:ne,outputFile:Ie,failure:!0,reason:T,sourceChecksum:we,rqt:at},timestamp:ke()}),p(),Q()):q("Invalid callback token embedded in source token")}catch(S){return ee(S)}}function pe(C){try{let S=i().readCardStoreRef();return S?Q({storeRef:S}):q(`Board at ${e.value} has no card store configured`)}catch(S){return ee(S)}}function je(C){try{let S=i().readOutputsStoreRef();return S?Q({storeRef:S}):q(`Board at ${e.value} has no outputs store configured`)}catch(S){return ee(S)}}function Ce(C){try{let S=i().readScratchStoreRef();return Q({storeRef:S})}catch(S){return ee(S)}}function Qe(C){try{let S=i().readArchiveStoreRef();return Q({storeRef:S})}catch(S){return ee(S)}}function D(C){try{let S=C.params?.key;if(!S)return q("getConfig requires params.key");let T=i(),j;switch(S){case "task-executor":j=T.readTaskExecutorRef()??null;break;case "chat-handler-flow":j=T.readChatHandlerFlow()??null;break;case "card-store-ref":j=T.readCardStoreRef();break;case "outputs-store-ref":j=T.readOutputsStoreRef();break;case "scratch-store-ref":j=T.readScratchStoreRef();break;case "archive-store-ref":j=T.readArchiveStoreRef();break;default:return q(`getConfig: unknown key "${S}"`)}return Q({value:j})}catch(S){return ee(S)}}function M(C){try{let S=C.params?.key;if(!S)return q("getOutputsDataObject requires params.key");let T=l().readDataObject(S);return Q(T)}catch(S){return ee(S)}}function re(C){try{return Q(l().readAllDataObjects())}catch(S){return ee(S)}}function X(C){try{let S=C.params?.key;if(!S)return q("getOutputsComputedValues requires params.key");let T=l().readComputedValues(S);return Q(T)}catch(S){return ee(S)}}function le(C){try{return Q(l().readAllComputedValues())}catch(S){return ee(S)}}return {init:k,status:b,getCardStoreRef:pe,getOutputsStoreRef:je,getScratchStoreRef:Ce,getArchiveStoreRef:Qe,getConfig:D,getOutputsDataObject:M,getAllOutputsDataObjects:re,getOutputsComputedValues:X,getAllOutputsComputedValues:le,removeCard:E,retrigger:R,processAccumulatedEvents:$,upsertCard:I,taskFailed:O,taskProgress:B,sourceDataFetched:W,sourceDataFetchFailure:Z}}function kt(e,t){let r=()=>Wo(t.kvStorage("config"));function n(){let g=r().readCardStoreRef();if(!g)throw new Error(`Board at ${e.value} has no card store configured. Run: init --base-ref <ref> --store-ref <b64-ref>`);let p=t.kvStorageForRef(g);return {readIndex(){return p.read("_index")},writeIndex(k){p.write("_index",k);},readCard(k){return p.read(k)},writeCard(k,b){return p.write(k,b),t.hashFn(b)},removeCard(k){p.delete(k);},cardExists(k){return p.read(k)!==null},defaultCardKey(k){return k}}}let s=()=>Dn(n(),t.onWarn??(()=>{})),o=()=>{let g=r().readScratchStoreRef();return g?t.scratchStorageForRef(g):t.scratchStorage()};function a(g,p){let k=t.validateSchema(p),b=[],E=r().readTaskExecutorRef();if(E&&Array.isArray(p.source_defs))for(let $ of p.source_defs){let I=typeof $.bindTo=="string"?$.bindTo:"(unknown)";try{let O;try{O=t.invokeExecutorSync(E,"validate-source-def",[],{timeout:t.executorTimeouts?.validationMs??1e4,input:JSON.stringify($)});}catch(W){let Z=W;if(O=typeof Z?.stdout=="string"?Z.stdout:"",!O.trim()){b.push(`source "${I}": executor validate-source-def failed \u2014 ${W instanceof Error?W.message:String(W)}`);continue}}let B=JSON.parse(O.trim());if(!B.ok&&Array.isArray(B.errors))for(let W of B.errors)b.push(`source "${I}": ${W}`);}catch(O){b.push(`source "${I}": executor validate-source-def failed \u2014 ${O instanceof Error?O.message:String(O)}`);}}let R=[...k.errors,...b];return Q({cardId:g,isValid:R.length===0,issues:R})}function i(g,p,k){let b=r().readTaskExecutorRef();if(!b)return q("No task-executor registered for this board");let E=typeof g.bindTo=="string"?g.bindTo:"source",R=o(),$={...g,boardDir:e.value,_projections:p},I=R.create(JSON.stringify($,null,2),`probe-in-${E}`,".json"),O=R.getUniqueKey(`probe-out-${E}`,".json"),B=R.getUniqueKey(`probe-err-${E}`,".txt"),W=ce(R.keyRef(I)),Z=ce(R.keyRef(O)),pe=ce(R.keyRef(B)),je=null;try{if(t.invokeExecutorSync(b,"run-source-fetch",["--in-ref",W,"--out-ref",Z,"--err-ref",pe],{timeout:g.timeout??t.executorTimeouts?.probeMs??6e4}),je=R.read(O),je===null)return q("Executor produced no output file")}catch(Ce){let Qe=R.read(B)?.trim()??(Ce instanceof Error?Ce.message:String(Ce));return q(`Probe failed: ${Qe}`)}finally{try{R.remove(I);}catch{}try{R.remove(B);}catch{}}if(k){let Ce=Ee(k);t.absoluteBlob.write(Ce.value,je);}try{R.remove(O);}catch{}return Q({bindTo:E,resultSizeBytes:je.length})}function u(g){try{let p=g.params?.cardId,k=g.params?.all;if(!p&&!k)return q("validateCard requires --card-id <id> or --all");let b=k?s().readAllCards().map(R=>R.id):[p],E=[];for(let R of b){let $=s().readCard(R);if(!$){E.push({cardId:R,isValid:!1,issues:[`Card "${R}" not found`]});continue}let I=a(R,$);if(I.status!=="success")return I;E.push(I.data);}return Q(E)}catch(p){return ee(p)}}function c(g){try{if(!g.body||typeof g.body!="object"||Array.isArray(g.body))return q("validateCardPreflight requires card JSON object in body");let p=g.body,k=p["card-content"]??p,b=typeof k.id=="string"?k.id:"(unknown)",E=a(b,k),R=r().readTaskExecutorRef();if(R)try{let $=t.invokeExecutorSync(R,"validate-card-preflight",[],{timeout:t.executorTimeouts?.validationMs??1e4,input:JSON.stringify(k)}),I=JSON.parse($.trim());if(!I.ok&&Array.isArray(I.errors)&&I.errors.length>0){let O=[...E.status==="success"?E.data.issues:[],...I.errors];return Q({cardId:b,isValid:!1,issues:O})}}catch{}return E}catch(p){return ee(p)}}function d(g){try{let p=g.params?.cardId,k=g.params?.sourceIdx,b=g.params?.outRef;if(!p)return q("probeSource requires params.cardId");if(k===void 0)return q("probeSource requires params.sourceIdx");let R=(g.body??{})["mock-projections"]??{},$=s().readCard(p);if(!$)return q(`Card "${p}" not found`);let I=$.source_defs??[];return k<0||k>=I.length?q(`sourceIdx ${k} out of range (card has ${I.length} source(s))`):i(I[k],R,b)}catch(p){return ee(p)}}function l(g){try{let p=g.params?.outRef,k=g.body;if(!k)return q('probeTmpSource requires body with "source-def" and "mock-projections"');let b=k["source-def"],E=k["mock-projections"]??{};return b?i(b,E,p):q('probeTmpSource body requires "source-def"')}catch(p){return ee(p)}}function h(g){try{let p=g.params?.sourceIdx,k=g.params?.outRef;if(p===void 0)return q("probeSourcePreflight requires params.sourceIdx");if(!g.body||typeof g.body!="object"||Array.isArray(g.body))return q("probeSourcePreflight requires card JSON object in body");let b=g.body,E=b["card-content"]??b,R=b["mock-projections"]??{},$=E.source_defs??[];if(p<0||p>=$.length)return q(`sourceIdx ${p} out of range (card has ${$.length} source(s))`);let I=$[p],O=r().readTaskExecutorRef();if(O){let B=typeof I.bindTo=="string"?I.bindTo:"source";try{let W={...I,_projections:R},Z=t.invokeExecutorSync(O,"probe-source-preflight",[],{timeout:I.timeout??t.executorTimeouts?.preflightMs??6e4,input:JSON.stringify(W)}),pe=JSON.parse(Z.trim());return pe.ok?Q({bindTo:B,reachable:pe.reachable,latencyMs:pe.latencyMs,note:pe.note}):q(pe.error??"Preflight probe failed")}catch{}}return i(I,R,k)}catch(p){return ee(p)}}function y(g){try{let p=r().readTaskExecutorRef();if(!p)return q("No task-executor registered for this board");let k=t.invokeExecutorSync(p,"describe-capabilities",[],{timeout:t.executorTimeouts?.describeMs??1e4});return Q(JSON.parse(k.trim()))}catch(p){return ee(p)}}function m(g){try{let p=g.body;if(!p||!Array.isArray(p.ops))return q("updatesInCardStore requires body.ops array");let k=p.ops,b=s();for(let E of k){let R=E.op,$=E.id;if(!$)return q('op is missing "id"');if(R==="update"){let I=E["card-content"];if(!I)return q(`update op for "${$}" is missing "card-content"`);b.writeCard($,I);}else return q(`Unknown op type: "${R??"(none)"}"`)}return Q()}catch(p){return ee(p)}}function f(g){try{let p=g.body;if(!p||!Array.isArray(p.ids))return q("readFromCardStore requires body.ids array");let k=p.ids,b=s(),E=k.map(R=>({id:R,"card-content":b.readCard(R)}));return Q({cards:E})}catch(p){return ee(p)}}function v(g){try{if(!g.body||typeof g.body!="object"||Array.isArray(g.body))return q("evalCardCompute requires a JSON object in body");let p=g.body,k=p["card-content"]??p,b=typeof k.id=="string"?k.id:"(unknown)",E=p["mock-fetched-sources"]??{},R=p["mock-requires"]??{},$=k.compute;if(!$||!Array.isArray($)||$.length===0)return Q({cardId:b,ok:!0,computed_values:{},errors:[]});let I={id:b,card_data:k.card_data??{},requires:R,source_defs:k.source_defs,compute:$},O=vt.runSync(I,{sourcesData:E}),B=O.node.computed_values??{},W=O.errors??[];return Q({cardId:b,ok:W.length===0,computed_values:B,errors:W})}catch(p){return ee(p)}}function _(g){try{if(!g.body||typeof g.body!="object"||Array.isArray(g.body))return q("simulateCardCycle requires a JSON object in body");let p=g.body,k=p["card-content"]??p,b=typeof k.id=="string"?k.id:"(unknown)",E=p["mock-fetched-sources"]??{},R=p["mock-requires"]??{},$=a(b,k),I=$.status==="success"?{isValid:$.data.isValid,issues:$.data.issues}:{isValid:!1,issues:[$.status==="fail"?$.error:"internal error"]},O=k.source_defs??[],B=k.card_data??{},W=[],Z=[];if(O.length>0){W=vt.enrichSourcesSync(O,{card_data:B,requires:R});for(let X of W){let le=X.projections,C=X._projections;if(le&&C){for(let S of Object.keys(le))if(C[S]===void 0){let T=typeof X.bindTo=="string"?X.bindTo:"(unknown)";Z.push({bindTo:T,key:S,error:`Projection "${S}" resolved to undefined`});}}}}let pe=[],je=p["task-executor-ref"],Ce=(je?.howToRun&&je?.whatToRun?je:void 0)??r().readTaskExecutorRef();for(let X=0;X<W.length;X++){let le=W[X],C=typeof le.bindTo=="string"?le.bindTo:`source_${X}`;if(!Ce){pe.push({bindTo:C,skipped:!0,error:"No task executor configured"});continue}try{let S={...le},T=t.invokeExecutorSync(Ce,"probe-source-preflight",[],{timeout:le.timeout??t.executorTimeouts?.preflightMs??6e4,input:JSON.stringify(S)}),j=JSON.parse(T.trim());pe.push({bindTo:C,reachable:j.reachable,latencyMs:j.latencyMs,error:j.ok?void 0:j.error});}catch{pe.push({bindTo:C,skipped:!0,error:"Executor does not support probe-source-preflight"});}}let Qe=k.compute,D={},M=[];if(Qe&&Array.isArray(Qe)&&Qe.length>0){let X={id:b,card_data:B,requires:R,source_defs:k.source_defs,compute:Qe},le=vt.runSync(X,{sourcesData:E});D=le.node.computed_values??{},M=le.errors??[];}let re=I.isValid&&Z.length===0&&M.length===0&&pe.every(X=>X.reachable!==!1);return Q({cardId:b,ok:re,validation:I,source_probes:pe,projection_errors:Z,computed_values:D,compute_errors:M})}catch(p){return ee(p)}}return {validateCard:u,validateCardPreflight:c,probeSource:d,probeTmpSource:l,probeSourcePreflight:h,evalCardCompute:v,simulateCardCycle:_,describeTaskExecutorCapabilities:y,updatesInCardStore:m,readFromCardStore:f}}var Dh=".board.lock";function Mh(e,t){return typeof e=="string"?{cliDir:e,opts:t}:{cliDir:void 0,opts:e}}function Lh(e,t){return typeof e=="string"?{cliDir:e,opts:t}:{cliDir:void 0,opts:e}}function Du(e){if(e)return e;let t=Jr(import.meta.url),r=[t,ze(t,"..","cli","node"),ze(t,"..","..","cli","node")];for(let n of r)try{return Hn(n),n}catch{}throw new Error(`createFsBoardPlatformAdapter: could not resolve a public CLI directory from module dir ${t}`)}function Lr(e,t,r){let{cliDir:n,opts:s}=Mh(t,r),o=Du(n),a=e.value,u={meta:"board-live-cards",howToRun:"local-node",whatToRun:(s?.suppressSpawn?"":Hn(o))?ce({kind:"yaml-flow-cli",value:"board-live-cards-cli.js"}):"",...s?.notifyChannel?{extra:{notifyChannel:s.notifyChannel}}:{}};return {kvStorage:c=>ts(ze(a,`.${c}`)),blobStorage:c=>c?ar(ze(a,c)):ar(a),scratchStorage:()=>Yr(ze(a,".tmp")),scratchStorageForRef:c=>Yr(Ee(c).value),archiveFactory:()=>Xr(ze(a,"archive")),archiveFactoryForRef:c=>Xr(Ee(c).value),journalAdapter:()=>wa(a),lock:_a(ze(a,Dh)),selfRef:u,async dispatchExecution(c,d){if(s?.suppressSpawn)return {dispatched:false};try{let l=d.source_def?.bindTo??Un().slice(0,8),h=Yr(ze(a,".tmp")),y=h.create(JSON.stringify(d,null,2),`exec-in-${l}`,".json"),m=h.getUniqueKey(`exec-out-${l}`,".json"),f=h.getUniqueKey(`exec-err-${l}`,".txt"),v=ce(h.keyRef(y)),_=ce(h.keyRef(m)),g=ce(h.keyRef(f));return ya(c,{subcommand:"run-source-fetch",inRef:v,outRef:_,errRef:g},o),{dispatched:!0}}catch(l){let h=l instanceof Error?l.message:String(l);try{let y=Xr(ze(a,"archive")),m=new Date().toISOString().replace(/[:.]/g,"-"),f=d.source_def?.bindTo??"unknown";y.blob("exec-failures").write(`${m}-${f}.json`,JSON.stringify({error:h,args:d,ref:c,at:new Date().toISOString()},null,2));}catch{}return {dispatched:false,error:h}}},resolveBlob(c){let d=aa(c.value)?es().read(c.value):ar(a).read(c.value);if(d===null)throw new Error(`resolveBlob: blob not found: ::${c.kind}::${c.value}`);return d},hashFn:ba,genId:()=>ia(`${Date.now()}-${Math.random()}`).slice(0,32),kvStorageForRef:c=>ts(Ee(c).value),requestProcessAccumulated(){s?.suppressSpawn||da(o,e,s?.notifyChannel);},publishBoardChangeNotifications(c){if(!s?.notifyChannel||c.length===0)return;let d=c.map(l=>({id:Un(),ts:new Date().toISOString(),boardRef:ce(e),notification:l}));la(s.notifyChannel,d,s.onWarn);},onWarn:s?.onWarn}}function qt(e,t,r){let{cliDir:n,opts:s}=Lh(t,r),o=Du(n),a=Lr(e,o,s),i=Wn();return {...a,invokeExecutorSync(u,c,d,l){let{command:h,baseArgs:y}=Yn(u,o),m=u.extra?["--extra",Buffer.from(JSON.stringify(u.extra)).toString("base64")]:[];return i.executeSync(h,[...y,c,...d,...m],{timeout:l?.timeout??3e4,encoding:"utf-8",input:l?.input})},validateSchema(u){let c=Bo(u);return {ok:c.errors.length===0,errors:c.errors}},absoluteBlob:es()}}function Yo(e){try{let t=JSON.parse(Buffer.from(e,"base64url").toString());return typeof t.br=="string"?t.br:null}catch{return null}}var ot=Jr(import.meta.url);function be(e,t,r){let n=e.indexOf(t),s=n!==-1?e[n+1]:void 0;if(!s)throw new Error(`Missing ${t}
20
- Usage: ${r}`);return s}function Je(e,t){let r=e.indexOf(t);return r!==-1?e[r+1]:void 0}function oe(e){console.log(JSON.stringify(e,null,2));}async function Ft(){if(process.stdin.isTTY)return;let e=[];for await(let r of process.stdin)e.push(Buffer.isBuffer(r)?r:Buffer.from(r));let t=Buffer.concat(e).toString("utf-8").trim();if(t)return JSON.parse(t)}async function Vh(e){let t=e[0],r=e.slice(1);if(t==="help"||t==="--help"||t==="-h"){console.log("board-live-cards \u2014 see board-live-cards-cli-PARAMS.md for command reference");return}let n=Je(r,"--base-ref"),s=Je(r,"--notify-channel"),o=n?Ee(n):void 0;if(t==="source-data-fetched"){let u=be(r,"--token","source-data-fetched --token <token> --ref <sourcefile>"),c=be(r,"--ref","source-data-fetched --token <token> --ref <sourcefile>"),d=Yo(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=Ee(d),h=Mr(l,Lr(l,ot,{onWarn:console.warn,notifyChannel:s}));oe(h.sourceDataFetched({params:{token:u,ref:c}}));return}if(t==="source-data-fetch-failure"){let u=be(r,"--token","source-data-fetch-failure --token <token> [--reason <message>]"),c=Yo(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=Ee(c),l=Mr(d,Lr(d,ot,{onWarn:console.warn,notifyChannel:s})),h={token:u},y=Je(r,"--reason");y&&(h.reason=y),oe(l.sourceDataFetchFailure({params:h}));return}if(t==="validate-card-preflight"){let u=o??{kind:"fs-path",value:ct(".")},c=kt(u,qt(u,ot,{onWarn:console.warn})),d=await Ft();oe(c.validateCardPreflight({body:d}));return}if(t==="probe-source-preflight"){let u=be(r,"--source-idx","probe-source-preflight --source-idx <n>"),c=Je(r,"--out-ref"),d=o??{kind:"fs-path",value:ct(".")},l=kt(d,qt(d,ot,{onWarn:console.warn})),h=await Ft(),y={sourceIdx:parseInt(u,10)};c&&(y.outRef=c),oe(l.probeSourcePreflight({params:y,body:h}));return}if(t==="eval-card-compute"){let u=o??{kind:"fs-path",value:ct(".")},c=kt(u,qt(u,ot,{onWarn:console.warn})),d=await Ft();oe(c.evalCardCompute({body:d}));return}if(t==="simulate-card-cycle"){let u=o??{kind:"fs-path",value:ct(".")},c=kt(u,qt(u,ot,{onWarn:console.warn})),d=await Ft();oe(c.simulateCardCycle({body:d}));return}if(t==="probe-tmp-source"){let u=be(r,"--out-ref","probe-tmp-source --out-ref <ref>"),c=o??{kind:"fs-path",value:ct(".")},d=kt(c,qt(c,ot,{onWarn:console.warn})),l=await Ft();oe(d.probeTmpSource({params:{outRef:u},body:l}));return}if(!o)throw new Error(`--base-ref is required for command "${t??"(none)"}"`);let a=()=>Mr(o,Lr(o,ot,{onWarn:console.warn,notifyChannel:s})),i=()=>kt(o,qt(o,ot,{onWarn:console.warn}));switch(t){case "init":{let u=be(r,"--card-store-ref","init --base-ref <ref> --card-store-ref <b64-ref> --outputs-store-ref <b64-ref>"),c=be(r,"--outputs-store-ref","init --base-ref <ref> --card-store-ref <b64-ref> --outputs-store-ref <b64-ref>"),d=Je(r,"--scratch-store-ref"),l=Je(r,"--archive-store-ref"),h=await Ft();oe(a().init({params:{cardStoreRef:u,outputsStoreRef:c,...d?{scratchStoreRef:d}:{},...l?{archiveStoreRef:l}:{}},body:h}));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-scratch-store-ref":{oe(a().getScratchStoreRef({}));return}case "get-archive-store-ref":{oe(a().getArchiveStoreRef({}));return}case "get-outputs":{let u=be(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=be(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=be(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=be(r,"--id","remove-card --base-ref <ref> --id <card-id>");oe(a().removeCard({params:{id:u}}));return}case "retrigger":{let u=be(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=Je(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:be(r,"--token","task-failed --base-ref <ref> --token <token> [--error <message>]")},d=Je(r,"--error");d&&(c.error=d),oe(a().taskFailed({params:c}));return}case "task-progress":{let u=be(r,"--token","task-progress --base-ref <ref> --token <token> [--update <json>]"),c=Je(r,"--update"),d=c?JSON.parse(c):{};oe(a().taskProgress({params:{token:u},body:{update:d}}));return}case "validate-card":{let u=Je(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=be(r,"--card-id","probe-source --base-ref <ref> --card-id <id> --source-idx <n> --out-ref <ref>"),c=be(r,"--source-idx","probe-source --base-ref <ref> --card-id <id> --source-idx <n> --out-ref <ref>"),d=Je(r,"--out-ref"),l=await Ft(),h={cardId:u,sourceIdx:parseInt(c,10)};d&&(h.outRef=d),oe(i().probeSource({params:h,body:l}));return}case "describe-task-executor-capabilities":{oe(i().describeTaskExecutorCapabilities({}));return}default:throw new Error(`Unknown command: ${t??"(none)"}`)}}var Bh=process.argv[1]&&ct(process.argv[1])===ct(new URL(import.meta.url).pathname.replace(/^\/([A-Z]:)/,"$1"));Bh&&Vh(process.argv.slice(2)).catch(e=>{let t=e instanceof Error?e.message:String(e);console.error(t),process.exit(1);});export{Vh as cli};//# sourceMappingURL=board-live-cards-cli.js.map
19
+ `,"utf-8");},generateId(){return randomUUID()}}}function _a(e){return {tryAcquire(){try{if(!w.existsSync(e)){w.mkdirSync(H.dirname(e),{recursive:!0});try{w.writeFileSync(e,"{}",{flag:"wx"});}catch{}}return lockSync(e,{retries:0})}catch{return null}}}}var Ra={$schema:"http://json-schema.org/draft-07/schema#",$id:"https://nsreehari.github.io/boards/live-cards.schema.json",definitions:{bind_ref:{description:"A card data path reference, e.g. 'card_data.raw_quotes' or 'requires.upstream'",type:"string",pattern:"^(card_data|requires|fetched_sources|computed_values)(\\.|$)"},bind_or_literal:{description:"A literal value or a bind reference object",oneOf:[{type:"string"},{type:"number"},{type:"boolean"},{type:"array"},{type:"object",properties:{bind:{$ref:"#/definitions/bind_ref"}},required:["bind"]}]},compute_expr:{description:"A declarative JSON compute expression",type:"object",required:["fn"],properties:{fn:{type:"string",description:"Function name from the built-in vocabulary",enum:["sum","avg","min","max","count","first","last","add","sub","mul","div","round","abs","mod","gt","gte","lt","lte","eq","neq","if","and","or","not","concat","upper","lower","template","filter","pluck","map","sort","slice","flat","unique","group","get","default","now","diff_days","format_date"]},input:{description:"card_data.path, literal, array of inputs, or nested compute_expr",oneOf:[{type:"string"},{type:"number"},{type:"boolean"},{type:"array"},{$ref:"#/definitions/compute_expr"}]},field:{type:"string",description:"For pluck/sum/group \u2014 the object key to extract"},where:{$ref:"#/definitions/compute_expr",description:"For filter \u2014 predicate expression ($ = current item)"},cond:{$ref:"#/definitions/compute_expr",description:"For if \u2014 condition expression"},then:{description:"For if \u2014 value when cond is truthy"},else:{description:"For if \u2014 value when cond is falsy"},format:{type:"string",description:"For format_date \u2014 date format string"}}},meta:{type:"object",properties:{title:{type:"string"},tags:{type:"array",items:{type:"string"}}}},requires:{type:"array",items:{type:"string"},description:"IDs of upstream nodes this node depends on"},provides:{type:"array",items:{type:"object",required:["bindTo","ref"],properties:{bindTo:{type:"string",description:"Token name published downstream"},ref:{type:"string",description:"Path to read value from (card_data.*, requires.*, fetched_sources.*, computed_values.*)"}}},description:"Explicit bindings exposing computed or card_data values downstream as named tokens"},compute_step:{description:"A single ordered compute step: reads card_data.*/requires.*/computed_values.*, writes to computed_values[bindTo]",type:"object",required:["bindTo","expr"],properties:{bindTo:{type:"string",description:"Key in computed_values to write result"},expr:{type:"string",description:"JSONata expression evaluated against { card_data, requires, fetched_sources, computed_values }"}}},source_def:{description:"One source entry. The engine requires 'bindTo' (compute namespace key) and 'outputFile' (delivery signal path). bindTo and outputFile must be unique across all source_defs in a card. Every other property is yours \u2014 add whatever your task-executor needs: kind, url, headers, mailbox, channel, model, query, etc. The full object is passed verbatim as the --in JSON to the executor.",type:"object",required:["bindTo","outputFile"],additionalProperties:true,properties:{bindTo:{type:"string",description:"Key under fetched_sources.* available in compute expressions"},outputFile:{type:"string",description:"Board-relative path the executor writes its JSON result to. Presence of this file signals delivery."},projections:{type:"object",description:"Named data projections from card_data or requires, evaluated before the executor is called. Each key is a ref name; each value is a JSONata expression rooted at card_data or requires. The resolved values are passed to the executor as _projections. fetched_sources, computed_values, and source_defs are not accessible here \u2014 sources run before those exist.",additionalProperties:{type:"string"}},optionalForCompletionGating:{type:"boolean",default:false,description:"When true this source does not gate card completion. Default false when absent, so source_defs are completion-gating by default."},timeout:{type:"integer",minimum:0,default:12e4,description:"Executor/script timeout in ms. Default: 120 000 (2 min)."},script:{type:"string",description:"Legacy direct-run: shell command executed when no .task-executor is registered. stdout is captured as the result."}}},render_element:{type:"object",required:["kind"],properties:{id:{type:"string",description:"Optional element ID for targeted updates"},kind:{enum:["metric","table","editable-table","chart","form","filter","list","notes","todo","alert","narrative","badge","text","markdown","ref","custom","actions"]},label:{type:"string",description:"Heading above this element"},className:{type:"string",description:"Bootstrap grid class, e.g. 'col-12 col-md-6'"},visible:{type:"string",description:"card_data/requires/fetched_sources/computed_values path \u2014 element shown only if truthy"},data:{type:"object",properties:{bind:{$ref:"#/definitions/bind_ref",description:"card_data/requires/fetched_sources/computed_values path to read data from"},writeTo:{$ref:"#/definitions/bind_ref",description:"card_data path for user input (form, filter, todo, notes)"},columns:{type:"array",items:{type:"string"},description:"table: visible columns"},maxRows:{type:"integer",description:"table/list: max rows to display"},sortable:{type:"boolean",default:true,description:"table: enable click-to-sort"},placeholder:{type:"string",description:"Empty-state message"},chartType:{enum:["bar","line","pie","doughnut"]},chartOptions:{type:"object",description:"Chart.js options passthrough"},fields:{type:"object",description:"JSON Schema for form/filter fields"},thresholds:{type:"object",properties:{green:{type:"string"},amber:{type:"string"}}},colorMap:{type:"object",description:"badge: value \u2192 Bootstrap color"},style:{enum:["heading","muted","default"],description:"text: display style"},upload:{type:"boolean",default:true,description:"file-upload: show drop zone (false = read-only file list)"},accept:{type:"array",items:{type:"string"},description:"file-upload: allowed extensions"},multiple:{type:"boolean",default:true,description:"file-upload: allow multiple files"},fileAttach:{type:"boolean",default:false,description:"chat: enable inline file attachments"},fileAccept:{type:"array",items:{type:"string"},description:"chat: allowed attachment extensions"},buttons:{type:"array",description:"actions: button definitions",items:{type:"object",required:["id","label"],properties:{id:{type:"string"},label:{type:"string"},style:{type:"string",description:"Bootstrap button variant, e.g. 'success', 'outline-danger'"},size:{type:"string",default:"sm"},disabled:{oneOf:[{type:"boolean"},{type:"string",description:"card_data/requires/fetched_sources/computed_values path \u2014 truthy = disabled"}]}}}}}}}},view:{type:"object",required:["elements"],properties:{elements:{type:"array",minItems:1,items:{$ref:"#/definitions/render_element"}},layout:{type:"object",properties:{board:{type:"object",properties:{col:{type:"integer",minimum:1,maximum:12},order:{type:"integer"}}},canvas:{type:"object",properties:{x:{type:"number"},y:{type:"number"},w:{type:"number"},h:{type:"number"}}}}},features:{type:"object",properties:{chat:{type:"boolean",default:false},notes:{type:"boolean",default:false},refresh:{type:"boolean",default:true}}}}}},title:"LiveCard",description:"A unified card node. Behavior depends on which sections are present (source_defs, compute, view, etc.)",type:"object",required:["id"],additionalProperties:false,properties:{id:{type:"string"},requires:{$ref:"#/definitions/requires"},provides:{$ref:"#/definitions/provides"},meta:{$ref:"#/definitions/meta"},view:{$ref:"#/definitions/view"},card_data:{type:"object",description:"Authored card data and runtime metadata. Includes uploaded-file metadata maintained by host handlers and inference evaluation results.",properties:{files:{type:"array",description:"Optional uploaded-file metadata maintained by host handlers. Stored name is normalized and serial-prefixed (for example 001-my_file.pdf).",items:{type:"object",required:["name","stored_name"],properties:{name:{type:"string",minLength:1},stored_name:{type:"string",minLength:5,maxLength:32,pattern:"^[0-9]{3,}-[a-z0-9._-]+$"},size:{oneOf:[{type:"integer",minimum:0},{type:"null"}]},mime_type:{type:"string"},path:{type:"string",pattern:"^[^\\s]+/files/[0-9]{3,}-[a-z0-9._-]+$"},uploaded_at:{type:"string",format:"date-time"}},additionalProperties:false}}},additionalProperties:true},source_defs:{type:"array",description:"Source entries. Each entry is passed verbatim to the board's .task-executor (registered via init --task-executor) as the --in JSON file. The executor fetches/generates the data and writes JSON to --out. If no executor is registered, the built-in executor runs the entry's 'cli' command directly. Sources gate completion by default. Set optionalForCompletionGating: true for enrichment-only source_defs that should not block task-completed.",items:{$ref:"#/definitions/source_def"}},compute:{type:"array",description:"Ordered array of compute steps. Each reads card_data.*/requires.*/fetched_sources.*/computed_values.* and writes to ephemeral computed_values[bindTo].",items:{$ref:"#/definitions/compute_step"}}}};var eu=Hu(Xc());var rh=createRequire(import.meta.url),nh=rh("./jsonata-sync.cjs"),On=null;var Qc=/\b(card_data|requires|fetched_sources|computed_values|source_defs)\b/g,sh=/^\s*(card_data|requires|fetched_sources|computed_values|source_defs)(\.|$)/;function oh(e){let t=new Set,r;for(Qc.lastIndex=0;(r=Qc.exec(e))!==null;)t.add(r[1]);return t}function tu(e){let t=sh.exec(e);return t?t[1]:null}function Zc(e,t,r,n){try{nh(e);}catch(o){let a=o instanceof Error?o.message:String(o);n.push(`${t}: invalid JSONata expression (${a})`);return}let s=oh(e);for(let o of s)r.has(o)||n.push(`${t}: disallowed namespace "${o}" in expression`);}function Vo(e,t,r){if(Array.isArray(e)){e.forEach((s,o)=>{Vo(s,`${t}/${o}`,r);});return}if(typeof e=="string"){let s=tu(e);if(!s)return;new Set(["card_data","requires","computed_values"]).has(s)||r.push(`${t}: disallowed namespace "${s}" in view reference`);return}if(!e||typeof e!="object")return;let n=e;for(let[s,o]of Object.entries(n))Vo(o,`${t}/${s}`,r);}function ah(){if(On)return On;let e=new eu.default({allErrors:true});return eh(e),On=e.compile(Ra),On}function ru(e){let t=ah(),r=t(e),n=(t.errors??[]).map(s=>`${s.instancePath||"/"}: ${s.message??"unknown error"}`);if(e&&typeof e=="object"&&!Array.isArray(e)){let s=e.source_defs;if(Array.isArray(s)){let o=new Set,a=new Set;s.forEach((i,u)=>{if(!i||typeof i!="object"||Array.isArray(i))return;let c=i;typeof c.bindTo=="string"&&c.bindTo&&(o.has(c.bindTo)&&n.push(`/source_defs/${u}/bindTo: bindTo "${c.bindTo}" must be unique across all source_defs`),o.add(c.bindTo)),typeof c.outputFile=="string"&&c.outputFile&&(a.has(c.outputFile)&&n.push(`/source_defs/${u}/outputFile: outputFile "${c.outputFile}" must be unique across all source_defs`),a.add(c.outputFile));});}}return !r||n.length>0?{ok:false,errors:n}:{ok:true,errors:[]}}function nu(e){let t=[];if(!e||typeof e!="object"||Array.isArray(e))return {ok:true,errors:[]};let r=e,n=r.compute;Array.isArray(n)&&n.forEach((c,d)=>{if(!c||typeof c!="object"||Array.isArray(c))return;let l=c.expr;typeof l!="string"||l.trim().length===0||Zc(l,`/compute/${d}/expr`,new Set(["card_data","requires","fetched_sources","computed_values"]),t);});let s=new Set(["card_data","requires","fetched_sources","computed_values"]),o=r.provides;Array.isArray(o)&&o.forEach((c,d)=>{if(!c||typeof c!="object"||Array.isArray(c))return;let l=c.ref;if(typeof l!="string"||l.trim().length===0)return;let m=tu(l);m===null?t.push(`/provides/${d}/ref: path "${l}" must start with a valid namespace (${[...s].join(", ")})`):s.has(m)||t.push(`/provides/${d}/ref: disallowed namespace "${m}" in path "${l}" (valid: ${[...s].join(", ")})`);});let a=r.view;a&&typeof a=="object"&&!Array.isArray(a)&&Vo(a,"/view",t);let i=new Set(["card_data","requires"]),u=r.source_defs;return Array.isArray(u)&&u.forEach((c,d)=>{if(!c||typeof c!="object"||Array.isArray(c))return;let l=c.projections;if(!(!l||typeof l!="object"||Array.isArray(l)))for(let[m,g]of Object.entries(l))typeof g!="string"||g.trim().length===0||Zc(g,`/source_defs/${d}/projections/${m}`,i,t);}),{ok:t.length===0,errors:t}}function Bo(e){let t=ru(e);if(!t.ok)return t;let r=nu(e);return r.ok?{ok:true,errors:[]}:{ok:false,errors:r.errors}}var yt={RUNNING:"running",COMPLETED:"completed",FAILED:"failed",INACTIVATED:"inactivated"};function je(e){return e?Array.isArray(e.provides)?e.provides:[]:[]}function vt(e){return e?Array.isArray(e.requires)?e.requires:[]:[]}function su(e){return e.tasks??{}}function Go(e){return e?e.status===yt.FAILED||e.status===yt.INACTIVATED:false}function ou(e,t){return e.refreshStrategy??t?.refreshStrategy??"data-changed"}function au(e){return e.maxExecutions}function iu(e,t){let r=new Set;for(let[n,s]of Object.entries(t))if(s.status===yt.COMPLETED){let o=e.tasks[n];o&&je(o).forEach(i=>r.add(i));}return Array.from(r)}function cu(e,t){let r={};return e.forEach(n=>{let s=t[n];if(!s)return;je(s).forEach(a=>{r[a]||(r[a]=[]),r[a].push(n);});}),r}function uu(e,t,r){let n=e.tasks[t]??jn(),s={};if(r){let a=r.tasks[t],i=vt(a);for(let u of i)for(let[c,d]of Object.entries(r.tasks))if(je(d).includes(u)){let l=e.tasks[c];l?.lastDataHash&&(s[u]=l.lastDataHash);break}}let o={...n,status:"running",startedAt:new Date().toISOString(),lastUpdated:new Date().toISOString(),progress:0,error:void 0,startConsumedHashes:s};return {...e,tasks:{...e.tasks,[t]:o},lastUpdated:new Date().toISOString()}}function du(e,t,r,n,s,o){let a=e.tasks[r]??jn(),i=t.tasks[r];if(!i)throw new Error(`Task "${r}" not found in graph`);let u;n&&i.on&&i.on[n]?u=i.on[n]:u=je(i);let c=a.startConsumedHashes?{...a.startConsumedHashes}:{...a.lastConsumedHashes};if(!a.startConsumedHashes){let m=i.requires??[];for(let g of m)for(let[p,f]of Object.entries(t.tasks))if(je(f).includes(g)){let b=e.tasks[p];b?.lastDataHash&&(c[g]=b.lastDataHash);break}}let d={...a,status:"completed",completedAt:new Date().toISOString(),lastUpdated:new Date().toISOString(),executionCount:a.executionCount+1,lastEpoch:a.executionCount+1,lastDataHash:s,data:o,lastConsumedHashes:c,error:void 0},l=[...new Set([...e.availableOutputs,...u])];return {...e,tasks:{...e.tasks,[r]:d},availableOutputs:l,lastUpdated:new Date().toISOString()}}function lu(e,t,r,n){let s=e.tasks[r]??jn(),o=t.tasks[r];if(o?.retry){let u=s.retryCount+1;if(u<=o.retry.max_attempts){let c={...s,status:"not-started",retryCount:u,lastUpdated:new Date().toISOString(),error:n};return {...e,tasks:{...e.tasks,[r]:c},lastUpdated:new Date().toISOString()}}}let a={...s,status:"failed",failedAt:new Date().toISOString(),lastUpdated:new Date().toISOString(),error:n,executionCount:s.executionCount+1},i=e.availableOutputs;if(o?.on_failure&&o.on_failure.length>0&&(i=[...new Set([...e.availableOutputs,...o.on_failure])]),o?.circuit_breaker&&a.executionCount>=o.circuit_breaker.max_executions){let u=o.circuit_breaker.on_break;i=[...new Set([...i,...u])];}return {...e,tasks:{...e.tasks,[r]:a},availableOutputs:i,lastUpdated:new Date().toISOString()}}function fu(e,t,r,n){let s=e.tasks[t]??jn(),o={...s,progress:typeof n=="number"?n:s.progress,messages:[...s.messages??[],...r?[{message:r,timestamp:new Date().toISOString(),status:s.status}]:[]],lastUpdated:new Date().toISOString()};return {...e,tasks:{...e.tasks,[t]:o},lastUpdated:new Date().toISOString()}}function pu(e,t){let r=e.tasks[t];if(!r)return e;let n={...r,status:"not-started",startedAt:void 0,completedAt:void 0,failedAt:void 0,error:void 0,data:void 0,progress:null,lastUpdated:new Date().toISOString()};return {...e,tasks:{...e.tasks,[t]:n},lastUpdated:new Date().toISOString()}}function jn(){return {status:"not-started",executionCount:0,retryCount:0,lastEpoch:0,messages:[],progress:null}}function Nn(e,t){let r=`live-${Date.now()}`,n={};for(let o of Object.keys(e.tasks))n[o]=gu();let s={status:"running",tasks:n,availableOutputs:[],stuckDetection:{is_stuck:false,stuck_description:null,outputs_unresolvable:[],tasks_blocked:[]},lastUpdated:new Date().toISOString(),executionId:r,executionConfig:{executionMode:e.settings.execution_mode??"eligibility-mode",conflictStrategy:e.settings.conflict_strategy??"alphabetical",completionStrategy:e.settings.completion}};return {config:e,state:s}}function ih(e,t){let{config:r,state:n}=e;if("executionId"in t&&t.executionId&&t.executionId!==n.executionId)return e;switch(t.type){case "task-started":return {config:r,state:uu(n,t.taskName,r)};case "task-completed":return {config:r,state:du(n,r,t.taskName,t.result,t.dataHash,t.data)};case "task-failed":return {config:r,state:lu(n,r,t.taskName,t.error)};case "task-progress":return {config:r,state:fu(n,t.taskName,t.message,t.progress)};case "task-restart":return {config:r,state:pu(n,t.taskName)};case "inject-tokens":return {config:r,state:{...n,availableOutputs:[...new Set([...n.availableOutputs,...t.tokens])],lastUpdated:new Date().toISOString()}};case "agent-action":return {config:r,state:mh(n,t.action)};case "task-upsert":return ch(e,t.taskName,t.taskConfig);case "task-removal":return uh(e,t.taskName);case "node-requires-add":return dh(e,t.nodeName,t.tokens);case "node-requires-remove":return lh(e,t.nodeName,t.tokens);case "node-provides-add":return fh(e,t.nodeName,t.tokens);case "node-provides-remove":return ph(e,t.nodeName,t.tokens);default:return e}}function mu(e,t){return t.reduce((r,n)=>ih(r,n),e)}function ch(e,t,r){let n=!!e.config.tasks[t];return {config:{...e.config,tasks:{...e.config.tasks,[t]:r}},state:{...e.state,tasks:{...e.state.tasks,[t]:n?e.state.tasks[t]:gu()},lastUpdated:new Date().toISOString()}}}function uh(e,t){if(!e.config.tasks[t])return e;let{[t]:r,...n}=e.config.tasks,{[t]:s,...o}=e.state.tasks;return {config:{...e.config,tasks:n},state:{...e.state,tasks:o,lastUpdated:new Date().toISOString()}}}function dh(e,t,r){let n=e.config.tasks[t];if(!n)return e;let s=vt(n),o=r.filter(a=>!s.includes(a));return o.length===0?e:{config:{...e.config,tasks:{...e.config.tasks,[t]:{...n,requires:[...s,...o]}}},state:e.state}}function lh(e,t,r){let n=e.config.tasks[t];if(!n)return e;let s=vt(n),o=s.filter(a=>!r.includes(a));return o.length===s.length?e:{config:{...e.config,tasks:{...e.config.tasks,[t]:{...n,requires:o}}},state:e.state}}function fh(e,t,r){let n=e.config.tasks[t];if(!n)return e;let s=je(n),o=r.filter(a=>!s.includes(a));return o.length===0?e:{config:{...e.config,tasks:{...e.config.tasks,[t]:{...n,provides:[...s,...o]}}},state:e.state}}function ph(e,t,r){let n=e.config.tasks[t];if(!n)return e;let s=je(n),o=s.filter(a=>!r.includes(a));return o.length===s.length?e:{config:{...e.config,tasks:{...e.config.tasks,[t]:{...n,provides:o}}},state:e.state}}function Nr(e){return {version:1,config:e.config,state:e.state,snapshotAt:new Date().toISOString()}}function qn(e){if(!e||typeof e!="object")throw new Error("Invalid snapshot: expected an object");let t=e;if(!t.config||typeof t.config!="object")throw new Error('Invalid snapshot: missing or invalid "config"');if(!t.state||typeof t.state!="object")throw new Error('Invalid snapshot: missing or invalid "state"');let r=t.config,n=t.state;if(!r.settings||typeof r.settings!="object")throw new Error("Invalid snapshot: config.settings missing");if(!r.tasks||typeof r.tasks!="object")throw new Error("Invalid snapshot: config.tasks missing");if(!n.tasks||typeof n.tasks!="object")throw new Error("Invalid snapshot: state.tasks missing");if(!Array.isArray(n.availableOutputs))throw new Error("Invalid snapshot: state.availableOutputs must be an array");return {config:r,state:n}}function gu(){return {status:"not-started",executionCount:0,retryCount:0,lastEpoch:0,messages:[],progress:null}}function mh(e,t){let r=new Date().toISOString();switch(t){case "stop":return {...e,status:"stopped",lastUpdated:r};case "pause":return {...e,status:"paused",lastUpdated:r};case "resume":return {...e,status:"running",lastUpdated:r};default:return e}}function qr(e){let{config:t,state:r}=e,n=su(t);if(Object.keys(n).length===0)return {eligible:[],pending:[],unresolved:[],blocked:[],conflicts:{}};let o=gh(n),a=iu(t,r.tasks),i=new Set([...a,...r.availableOutputs]),u=[],c=[],d=[],l=[];for(let[g,p]of Object.entries(n)){let f=r.tasks[g],b=ou(p,t.settings),_=b!=="once";if(f?.status===yt.RUNNING||Go(f))continue;let k=au(p);if(k!==void 0&&f&&f.executionCount>=k||p.circuit_breaker&&f&&f.executionCount>=p.circuit_breaker.max_executions||!_&&f?.status===yt.COMPLETED)continue;if(_&&f?.status===yt.COMPLETED){let S=vt(p),C=false;switch(b){case "data-changed":{S.length>0&&S.some(x=>{for(let[I,F]of Object.entries(n))if(je(F).includes(x)){let N=r.tasks[I];if(!N)continue;let pe=f.lastConsumedHashes?.[x];return N.lastDataHash==null?N.executionCount>f.lastEpoch:N.lastDataHash!==pe}return false})||(C=true);break}case "epoch-changed":{S.length>0&&S.some(x=>{for(let[I,F]of Object.entries(n))if(je(F).includes(x)){let N=r.tasks[I];if(N&&N.executionCount>f.lastEpoch)return true}return false})||(C=true);break}case "time-based":{let E=p.refreshInterval??0;if(E<=0){C=true;break}let x=f.completedAt;if(!x){C=true;break}(Date.now()-Date.parse(x))/1e3<E&&(C=true);break}case "manual":C=true;break}if(C)continue}let R=vt(p);if(R.length===0){u.push(g);continue}let O=[],y=[],h=[];for(let S of R){if(i.has(S))continue;let C=o[S]||[];C.length===0?O.push(S):C.every(x=>Go(r.tasks[x]))?h.push({token:S,failedProducer:C[0]}):y.push(S);}O.length>0?d.push({taskName:g,missingTokens:O}):h.length>0?l.push({taskName:g,failedTokens:h.map(S=>S.token),failedProducers:[...new Set(h.map(S=>S.failedProducer))]}):y.length>0?c.push({taskName:g,waitingOn:y}):u.push(g);}let m={};if(u.length>1){let g=cu(u,n);for(let[p,f]of Object.entries(g))f.length>1&&(m[p]=f);}return {eligible:u,pending:c,unresolved:d,blocked:l,conflicts:m}}function gh(e){let t={};for(let[r,n]of Object.entries(e)){for(let s of je(n))t[s]||(t[s]=[]),t[s].push(r);if(n.on)for(let s of Object.values(n.on))for(let o of s)t[o]||(t[o]=[]),t[o].includes(r)||t[o].push(r);if(n.on_failure)for(let s of n.on_failure)t[s]||(t[s]=[]),t[s].includes(r)||t[s].push(r);}return t}var Fr=class{buffer=[];append(t){this.buffer.push(t);}drain(){let t=this.buffer;return this.buffer=[],t}get size(){return this.buffer.length}};function Ko(e){let t=Uo(e);return hh(t)}function Uo(e){if(e==null||typeof e!="object")return JSON.stringify(e);if(Array.isArray(e))return "["+e.map(Uo).join(",")+"]";let t=e;return "{"+Object.keys(t).sort().map(n=>JSON.stringify(n)+":"+Uo(t[n])).join(",")+"}"}function hh(e){let t=0xcbf29ce484222325n,r=0x100000001b3n,n=0xffffffffffffffffn;for(let s=0;s<e.length;s++)t^=BigInt(e.charCodeAt(s)),t=t*r&n;return t.toString(16).padStart(16,"0")}function yh(e){if(typeof Buffer<"u")return Buffer.from(e,"utf8").toString("base64url");if(typeof btoa=="function"){let t=new TextEncoder().encode(e),r="";for(let n of t)r+=String.fromCharCode(n);return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}throw new Error("No base64 encoder available in this runtime")}function vh(e){if(typeof Buffer<"u")return Buffer.from(e,"base64url").toString("utf8");if(typeof atob=="function"){let t=e.replace(/-/g,"+").replace(/_/g,"/"),r=t+"=".repeat((4-t.length%4)%4),n=atob(r),s=new Uint8Array(n.length);for(let o=0;o<n.length;o++)s[o]=n.charCodeAt(o);return new TextDecoder().decode(s)}throw new Error("No base64 decoder available in this runtime")}function hu(e){let t=JSON.stringify({t:e,n:Date.now().toString(36)+Math.random().toString(36).slice(2,6)});return yh(t)}function Sh(e){try{let t=JSON.parse(vh(e));return typeof t?.t=="string"?{taskName:t.t}:null}catch{return null}}function yu(e,t,r){let{handlers:n,onDrain:s}=t,o=new Fr,a="state"in e&&"config"in e?e:Nn(e),i=false,u=new Set,c=new Map(Object.entries(n)),d=new Fr,l=false,m=false;function g(){if(!i){if(l){m=true;return}l=true;try{do m=!1,p();while(m)}finally{l=false;}}}function p(){let k=d.drain(),R=o.drain(),O=[...k,...R];O.length>0&&(a=mu(a,O));let y=qr(a);O.length>0&&s?.(O,a,y);for(let h of y.eligible)_(h);for(let h of O)if(h.type==="task-progress"){let{taskName:S,update:C}=h;if(!a.config.tasks[S])continue;let x=a.state.tasks[S];if(!x||x.status!=="running")continue;let I=hu(S),F=b(S,I,C).catch(N=>{i||(d.append({type:"task-failed",taskName:S,error:N.message??String(N),timestamp:new Date().toISOString()}),g());}).finally(()=>{u.delete(F);});u.add(F);}}function f(k){let O=a.config.tasks[k].requires??[],y=new Map;for(let[S,C]of Object.entries(a.config.tasks))for(let E of C.provides??[])y.set(E,S);let h={};for(let S of O){let C=y.get(S);C?h[S]=a.state.tasks[C]?.data:h[S]=void 0;}return h}async function b(k,R,O){let y=a.config.tasks[k],h=y.taskHandlers??[],S=f(k);for(let C of h){let E=c.get(C);if(!E)throw new Error(`Handler '${C}' not found in registry (task '${k}')`);let x={nodeId:k,state:S,taskState:a.state.tasks[k],config:y,callbackToken:R,update:O};if(await E(x)==="task-initiate-failure")throw new Error(`Handler '${C}' returned task-initiate-failure (task '${k}')`)}}function _(k){let O=a.config.tasks[k]?.taskHandlers;if(!O||O.length===0)return;d.append({type:"task-started",taskName:k,timestamp:new Date().toISOString()}),g();let y=hu(k),h=b(k,y).catch(S=>{i||(d.append({type:"task-failed",taskName:k,error:S.message??String(S),timestamp:new Date().toISOString()}),g());}).finally(()=>{u.delete(h);});u.add(h);}return {push(k){i||(k.type==="task-completed"&&k.data&&!k.dataHash&&(k={...k,dataHash:Ko(k.data)}),o.append(k),g());},pushAll(k){if(!i){for(let R of k)R.type==="task-completed"&&R.data&&!R.dataHash?o.append({...R,dataHash:Ko(R.data)}):o.append(R);g();}},resolveCallback(k,R,O){if(i)return;let y=Sh(k);if(!y)return;let{taskName:h}=y;if(a.config.tasks[h]){if(O&&O.length>0)o.append({type:"task-failed",taskName:h,error:O.join("; "),timestamp:new Date().toISOString()});else {let S=R&&Object.keys(R).length>0?Ko(R):void 0;o.append({type:"task-completed",taskName:h,data:R,dataHash:S,timestamp:new Date().toISOString()});}g();}},addNode(k,R){i||(o.append({type:"task-upsert",taskName:k,taskConfig:R,timestamp:new Date().toISOString()}),g());},removeNode(k){i||(o.append({type:"task-removal",taskName:k,timestamp:new Date().toISOString()}),g());},addRequires(k,R){i||(o.append({type:"node-requires-add",nodeName:k,tokens:R,timestamp:new Date().toISOString()}),g());},removeRequires(k,R){i||(o.append({type:"node-requires-remove",nodeName:k,tokens:R,timestamp:new Date().toISOString()}),g());},addProvides(k,R){i||(o.append({type:"node-provides-add",nodeName:k,tokens:R,timestamp:new Date().toISOString()}),g());},removeProvides(k,R){i||(o.append({type:"node-provides-remove",nodeName:k,tokens:R,timestamp:new Date().toISOString()}),g());},registerHandler(k,R){c.set(k,R);},unregisterHandler(k){c.delete(k);},retrigger(k){i||a.config.tasks[k]&&(o.append({type:"task-restart",taskName:k,timestamp:new Date().toISOString()}),g());},retriggerAll(k){if(!i){for(let R of k)a.config.tasks[R]&&o.append({type:"task-restart",taskName:R,timestamp:new Date().toISOString()});g();}},snapshot(){return Nr(a)},getState(){return a},getSchedule(){return qr(a)},async waitForHandlers(){u.size>0&&await Promise.allSettled([...u]);},async dispose(k){k?.wait&&u.size>0&&await Promise.allSettled([...u]),i=true;}}}var kh=createRequire(import.meta.url),Fn=kh("./jsonata-sync.cjs"),bu=Fn;function vu(e,t){if(!t||!e)return;let r=t.split("."),n=e;for(let s=0;s<r.length;s++){if(n==null)return;n=n[r[s]];}return n}function ku(e,t,r){let n=t.split("."),s=e;for(let o=0;o<n.length-1;o++)(s[n[o]]==null||typeof s[n[o]]!="object")&&(s[n[o]]={}),s=s[n[o]];s[n[n.length-1]]=r;}async function wh(e,t){if(!e?.compute?.length)return e;e.card_data||(e.card_data={}),e.computed_values={},e._sourcesData=t?.sourcesData??{};let r=e.requires??{},n={card_data:e.card_data,requires:r,expects_data:r,fetched_sources:e._sourcesData,data:e.computed_values,computed_values:e.computed_values};for(let s of e.compute)try{let o=await Fn(s.expr).evaluate(n);ku(e.computed_values,s.bindTo,o),n.computed_values=e.computed_values;}catch{}return e}function _h(e,t){if(!e?.compute?.length)return {ok:true,node:e};e.card_data||(e.card_data={}),e.computed_values={},e._sourcesData=t?.sourcesData??{};let r=e.requires??{},n={card_data:e.card_data,requires:r,expects_data:r,fetched_sources:e._sourcesData,data:e.computed_values,computed_values:e.computed_values},s=[];for(let o of e.compute)try{let a=bu(o.expr).evaluate(n);ku(e.computed_values,o.bindTo,a),n.computed_values=e.computed_values;}catch(a){let i=a instanceof Error?a.message:String(a);s.push({bindTo:o.bindTo,error:i});}return s.length>0?{ok:true,node:e,errors:s}:{ok:true,node:e}}async function Rh(e,t,r){let n={...r??{},card_data:t.card_data??{},requires:t.requires??{},fetched_sources:t._sourcesData??{},computed_values:t.computed_values??{}};return Fn(e).evaluate(n)}function Ch(e,t){return t.startsWith("fetched_sources.")?vu(e._sourcesData??{},t.slice(16)):vu(e,t)}var Su=new Set(["metric","table","editable-table","chart","form","filter","list","notes","todo","alert","narrative","badge","text","markdown","ref","custom","actions"]),Eh=new Set(["id","meta","requires","provides","view","card_data","compute","source_defs"]);function $h(e){let t=[];if(!e||typeof e!="object"||Array.isArray(e))return {ok:false,errors:["Node must be a non-null object"]};let r=e;(typeof r.id!="string"||!r.id)&&t.push("id: required, must be a non-empty string");for(let n of Object.keys(r))Eh.has(n)||t.push(`Unknown top-level key: "${n}"`);if((r.card_data==null||typeof r.card_data!="object"||Array.isArray(r.card_data))&&t.push("card_data: required, must be an object"),r.meta!=null)if(typeof r.meta!="object"||Array.isArray(r.meta))t.push("meta: must be an object");else {let n=r.meta;n.title!=null&&typeof n.title!="string"&&t.push("meta.title: must be a string"),n.tags!=null&&!Array.isArray(n.tags)&&t.push("meta.tags: must be an array");}if(r.requires!=null&&!Array.isArray(r.requires)&&t.push("requires: must be an array of strings"),r.provides!=null&&(Array.isArray(r.provides)?r.provides.forEach((n,s)=>{if(!n||typeof n!="object"||Array.isArray(n))t.push(`provides[${s}]: must be an object with bindTo and ref`);else {let o=n;(typeof o.bindTo!="string"||!o.bindTo)&&t.push(`provides[${s}]: missing required "bindTo" string`),(typeof o.ref!="string"||!o.ref)&&t.push(`provides[${s}]: missing required "ref" string`);}}):t.push("provides: must be an array of { bindTo, ref } bindings")),r.compute!=null&&(Array.isArray(r.compute)?r.compute.forEach((n,s)=>{if(!n||typeof n!="object"||Array.isArray(n))t.push(`compute[${s}]: must be a compute step object`);else {let o=n;(typeof o.bindTo!="string"||!o.bindTo)&&t.push(`compute[${s}]: missing required "bindTo" property`),(typeof o.expr!="string"||!o.expr)&&t.push(`compute[${s}]: missing required "expr" string (JSONata expression)`);}}):t.push("compute: must be an array of compute steps")),r.source_defs!=null)if(!Array.isArray(r.source_defs))t.push("source_defs: must be an array");else {let n=new Set,s=new Set;r.source_defs.forEach((o,a)=>{if(!o||typeof o!="object"||Array.isArray(o))t.push(`source_defs[${a}]: must be an object`);else {let i=o;typeof i.bindTo!="string"||!i.bindTo?t.push(`source_defs[${a}]: missing required "bindTo" property`):(n.has(i.bindTo)&&t.push(`source_defs[${a}]: bindTo "${i.bindTo}" is not unique across source_defs`),n.add(i.bindTo)),typeof i.outputFile!="string"||!i.outputFile?t.push(`source_defs[${a}]: missing required "outputFile" property`):(s.has(i.outputFile)&&t.push(`source_defs[${a}]: outputFile "${i.outputFile}" is not unique across source_defs`),s.add(i.outputFile)),i.optionalForCompletionGating!=null&&typeof i.optionalForCompletionGating!="boolean"&&t.push(`source_defs[${a}]: optionalForCompletionGating must be a boolean`);}});}if(r.view!=null)if(typeof r.view!="object"||Array.isArray(r.view))t.push("view: must be an object");else {let n=r.view;!Array.isArray(n.elements)||n.elements.length===0?t.push("view.elements: required, must be a non-empty array"):n.elements.forEach((s,o)=>{if(!s||typeof s!="object"){t.push(`view.elements[${o}]: must be an object`);return}!s.kind||typeof s.kind!="string"?t.push(`view.elements[${o}].kind: required, must be a string`):Su.has(s.kind)||t.push(`view.elements[${o}].kind: unknown kind "${s.kind}". Valid: ${[...Su].join(", ")}`),s.data!=null&&(typeof s.data!="object"||Array.isArray(s.data))&&t.push(`view.elements[${o}].data: must be an object`);}),n.layout!=null&&(typeof n.layout!="object"||Array.isArray(n.layout))&&t.push("view.layout: must be an object"),n.features!=null&&(typeof n.features!="object"||Array.isArray(n.features))&&t.push("view.features: must be an object");}return {ok:t.length===0,errors:t}}async function xh(e,t){if(!e||e.length===0)return [];let r={card_data:t.card_data??{},requires:t.requires??{}};return Promise.all(e.map(async n=>{let s={};if(n.projections&&typeof n.projections=="object"&&!Array.isArray(n.projections)){for(let[o,a]of Object.entries(n.projections))if(typeof a=="string"&&a.trim().length>0)try{s[o]=await Fn(a).evaluate(r);}catch{s[o]=void 0;}}return {...n,_projections:s}}))}function Th(e,t){if(!e||e.length===0)return [];let r={card_data:t.card_data??{},requires:t.requires??{}};return e.map(n=>{let s={};if(n.projections&&typeof n.projections=="object"&&!Array.isArray(n.projections)){for(let[o,a]of Object.entries(n.projections))if(typeof a=="string"&&a.trim().length>0)try{s[o]=bu(a).evaluate(r);}catch{s[o]=void 0;}}return {...n,_projections:s}})}var St={run:wh,runSync:_h,eval:Rh,resolve:Ch,validate:$h,enrichSources:xh,enrichSourcesSync:Th};function Jo(e){return JSON.stringify(e)}function zo(e){let t;try{t=JSON.parse(e);}catch{throw new Error(`parseExecutionRef: invalid JSON \u2014 ${e}`)}if(typeof t!="object"||t===null||typeof t.howToRun!="string"||typeof t.whatToRun!="string")throw new Error(`parseExecutionRef: missing required fields howToRun/whatToRun \u2014 ${e}`);return t}function Dn(e,t){function r(){return e.readIndex()??{}}function n(s,o,a){let i=String(o||"").split(".").filter(Boolean);if(i.length===0)return a&&typeof a=="object"&&!Array.isArray(a)?a:{value:a};let u={...s},c=u;for(let d=0;d<i.length-1;d++){let l=i[d],m=c[l],g=m&&typeof m=="object"&&!Array.isArray(m)?{...m}:{};c[l]=g,c=g;}return c[i[i.length-1]]=a,u}return {readCard(s){let o=r()[s];return !o||!e.cardExists(o.key)?null:e.readCard(o.key)},readCardKey(s){return r()[s]?.key??null},readAllCards(){let s=[];for(let[o,a]of Object.entries(r())){if(!e.cardExists(a.key))continue;let i=e.readCard(a.key);i?s.push(i):t?.(`[card-store] could not read card "${o}" at key "${a.key}"`);}return s},readChecksumIndex(){let s={};for(let[o,a]of Object.entries(r()))s[o]=a.checksum;return s},changedSince(s){let o=r(),a=[];for(let[i,u]of Object.entries(o))s[i]!==u.checksum&&a.push(i);for(let i of Object.keys(s))o[i]||a.push(i);return a},validateUpsert(s,o){let a=r(),i=a[s],u=Object.entries(a).find(([,c])=>c.key===o);return i&&i.key!==o?{ok:false,error:`Card id "${s}" is already mapped to key "${i.key}", cannot remap to "${o}"`}:u&&u[0]!==s?{ok:false,error:`Key "${o}" is already mapped to card id "${u[0]}", cannot remap to "${s}"`}:{ok:true}},writeCard(s,o,a){let i=r(),u=a??i[s]?.key??e.defaultCardKey(s),c=e.writeCard(u,o);i[s]={key:u,checksum:c,updatedAt:new Date().toISOString()},e.writeIndex(i);},patchCard(s,o,a){let i=r(),u=i[s];if(!u||!e.cardExists(u.key))throw new Error(`card "${s}" not found`);let c=e.readCard(u.key);if(!c||typeof c!="object"||Array.isArray(c))throw new Error(`card "${s}" is not patchable`);let d=n(c,o,a),l=e.writeCard(u.key,d);i[s]={key:u.key,checksum:l,updatedAt:new Date().toISOString()},e.writeIndex(i);},removeCard(s){let o=r(),a=o[s];a&&(e.removeCard(a.key),delete o[s],e.writeIndex(o));},readIndex(){return r()}}}function Ho(e,t){return {readSourceData(r,n){let s=e.read(`${r}/${n}`);if(s==null)return null;let o=s.trim();if(!o)return null;try{return JSON.parse(o)}catch{return o}},ingestSourceDataStaged(r,n,s,o){let a=t(s);e.write(`${r}/.staged/${o}/${n}`,a);},commitSourceData(r,n,s){let o=`${r}/.staged/${s}/${n}`,a=e.read(o);return a==null?false:(e.write(`${r}/${n}`,a),e.remove(o),true)},hasSource(r,n){return e.exists(`${r}/${n}`)}}}function Eu(e){function t(r){let n=e.readAllEntries();if(!r)return n;let s=n.findIndex(o=>o.id===r);return s===-1?n:n.slice(s+1)}return {readEntriesAfterCursor(r){let n=t(r);return n.length===0?{events:[],newCursor:r}:{events:n.map(s=>s.event),newCursor:n[n.length-1].id}},pendingCount(r){return t(r).length},appendEvent(r){e.appendEntry({id:e.generateId(),event:r});}}}function $u(e,t){return {appendEntries(r,n){if(!r||n.length===0)return;let s=e.read(r)??[];e.write(r,[...s,...n]);},dispatchEntriesForJournalId(r,n){if(!r)return;let s=e.read(r);if(!(!s||s.length===0)){for(let o of s)try{n(o);}catch(a){let i=a instanceof Error?a.message:String(a);try{t(o,i);}catch{}}e.delete(r);}}}}var Dr="v1",bt="board/graph",xu="board/lastJournalProcessedId";function wu(e){return `cards/${e}/runtime`}function Tu(e){return {readRuntime(t){return e.read(wu(t))??{_sources:{}}},writeRuntime(t,r){e.write(wu(t),r);}}}function Ah(e,t){let r={...e};for(let n of t.deleteKeys)delete r[n];return {...r,...t.shallowMerge}}function Au(e){return {readSnapshot(t){return e.readValues(t)},commitSnapshot(t,r){if(r.schemaVersion!==Dr)throw new Error(`Unsupported snapshot schema version: ${r.schemaVersion}`);let n=e.readValues(t);if(n.version!==r.expectedVersion)return {ok:false,reason:"version-mismatch",currentVersion:n.version};let s=Ah(n.values,r);return {ok:true,newVersion:e.writeValues(t,s,r.deleteKeys)}}}}function Wo(e){function t(r){let n=e.read(r);return n==null?null:typeof n=="string"?n:JSON.stringify(n)}return {readTaskExecutorRef(){let r=t("task-executor");if(r?.trim())return zo(r.trim())},writeTaskExecutorRef(r){e.write("task-executor",Jo(r));},readChatHandlerFlow(){return e.read("chat-handler-flow")},writeChatHandlerFlow(r){e.write("chat-handler-flow",r);},readCardStoreRef(){return t("card-store-ref")},writeCardStoreRef(r){e.write("card-store-ref",r);},readOutputsStoreRef(){return t("outputs-store-ref")},writeOutputsStoreRef(r){e.write("outputs-store-ref",r);},readScratchStoreRef(){return t("scratch-store-ref")},writeScratchStoreRef(r){e.write("scratch-store-ref",r);},readArchiveStoreRef(){return t("archive-store-ref")},writeArchiveStoreRef(r){e.write("archive-store-ref",r);}}}function Iu(e){return {writeComputedValues(t,r){e.write(`cards/${t}/computed_values`,r);},readComputedValues(t){return e.read(`cards/${t}/computed_values`)},readAllComputedValues(){let t={};for(let r of e.listKeys("cards/")){let n=r.match(/^cards\/([^/]+)\/computed_values$/);n&&(t[n[1]]=e.read(r));}return t},writeDataObjects(t){for(let[r,n]of Object.entries(t))r&&e.write(`data-objects/${r}`,n);},readDataObject(t){return e.read(`data-objects/${t}`)},readAllDataObjects(){let t={};for(let r of e.listKeys("data-objects/"))t[r.slice(13)]=e.read(r);return t},writeStatusSnapshot(t){e.write("status",t);},readStatusSnapshot(){return e.read("status")}}}function _u(e){return e?{lastRequestedToken:e.lastRequestedToken,lastCompletedToken:e.lastCompletedToken,lastCompletionStatus:e.lastCompletionStatus??(e.lastCompletedToken?"success":"not-started"),queueRequestedToken:e.queueRequestedToken}:{lastCompletionStatus:"not-started"}}function Ih(e){return e?.lastRequestedToken?e.lastCompletedToken!==e.lastRequestedToken:false}function Ru(e,t){return e?.lastRequestedToken?Ih(e)?"in-flight":!e.lastCompletedToken||e.lastCompletedToken<t?"dispatch":"idle":"dispatch"}function Ph(e,t){return {...e,lastCompletedToken:t,lastCompletionStatus:"success"}}function Cu(e,t){return {...e,lastCompletedToken:t,lastCompletionStatus:"failure"}}function Mn(e,t){let r=t.state.tasks,n=t.config.tasks,s=Object.keys(r),o=qr(t),a={completed:0,failed:0,in_progress:0,pending:0,blocked:0,unresolved:0},i=new Map;for(let p of o.pending)i.set(p.taskName,p.waitingOn);for(let p of o.unresolved)i.set(p.taskName,p.missingTokens);for(let p of o.blocked)i.set(p.taskName,p.failedTokens);let u=new Map;for(let[p,f]of Object.entries(n))for(let b of f.requires??[]){let _=u.get(b)??[];_.push(p),u.set(b,_);}let c=s.sort().map(p=>{let f=r[p],b=n[p]??{requires:[],provides:[]};f.status==="completed"?a.completed+=1:f.status==="failed"?a.failed+=1:f.status==="in-progress"&&(a.in_progress+=1);let _=b.requires??[],k=b.provides??[],R=Object.keys(f.data??{}).sort(),O=_.filter(x=>t.state.availableOutputs.includes(x)),y=_.filter(x=>!t.state.availableOutputs.includes(x)),h=i.get(p)??y,S=new Set;for(let x of k)for(let I of u.get(x)??[])I!==p&&S.add(I);let C=f.failedAt,E=f.error?{message:f.error,code:"TASK_FAILED",at:C,source:"task-runtime"}:void 0;return {name:p,status:f.status,error:E,requires:_,requires_satisfied:O,requires_missing:y,provides_declared:k,provides_runtime:R,blocked_by:h,unblocks:Array.from(S).sort(),runtime:{attempt_count:f.executionCount??0,restart_count:f.retryCount??0,in_progress_since:f.status==="in-progress"?f.startedAt??null:null,last_transition_at:f.lastUpdated??null,last_completed_at:f.completedAt??null,last_restarted_at:f.startedAt??null,status_age_ms:f.lastUpdated?0:null}}});a.pending=o.pending.length,a.blocked=o.blocked.length,a.unresolved=o.unresolved.length;let d=c.map(p=>({name:p.name,fanOut:p.unblocks.length})).sort((p,f)=>f.fanOut-p.fanOut||p.name.localeCompare(f.name)),l=d.length>0?d[0]:{name:null,fanOut:0},m=new Set;for(let p of Object.values(n))for(let f of p.requires??[])m.add(f);let g=0;for(let[p,f]of Object.entries(n)){let b=(f.requires??[]).length===0,k=(f.provides??[]).some(R=>(u.get(R)??[]).some(O=>O!==p));b&&!k&&(g+=1);}return {schema_version:"v1",meta:{board:{path:e}},summary:{card_count:s.length,completed:a.completed,eligible:o.eligible.length,pending:a.pending,blocked:a.blocked,unresolved:a.unresolved,failed:a.failed,in_progress:a.in_progress,orphan_cards:g,topology:{edge_count:Array.from(m).length,max_fan_out_card:l.name,max_fan_out:l.fanOut}},cards:c}}function Oh(){return new Date().toISOString()}function Pu(e,t,r,n,s,o,a){return async i=>{let u=[],c=r.cardStore.readCard(i.nodeId);if(!c)return "task-initiate-failure";let d=c.id,l=c.card_data??{},m=c.source_defs??[],g=m.filter(D=>D.optionalForCompletionGating!==true),p=r.cardRuntimeStore.readRuntime(d),f=false,b=()=>{f&&(r.cardRuntimeStore.writeRuntime(d,p),f=false);},_=D=>_u(p._sources[D]),k=(D,V)=>{p._sources[D]=_u(V),f=true;},R=i.taskState?.executionCount??0;if(p._lastExecutionCount!==R&&(p._sources={},p._lastExecutionCount=R,f=true),i.update){let D=i.update,V=D.outputFile;if(V){let ee=_(V);if(D.failure){let fe=D.rqt??ee.lastRequestedToken??ee.queueRequestedToken;fe&&k(V,Cu(ee,fe));}else {let fe=D.rqt;if(!ee.lastCompletedToken||fe>ee.lastCompletedToken){let xe=typeof D.deliveryToken=="string"?D.deliveryToken:void 0,$=false;xe&&($=r.fetchedSourcesStore.commitSourceData(d,V,xe)),$?k(V,Ph(ee,fe)):k(V,Cu(ee,fe));}}b();}}let y={};for(let D of m)if(D.outputFile){let V=r.fetchedSourcesStore.readSourceData(d,D.outputFile);V!==null&&(y[D.bindTo]=V);}let h={};for(let[D,V]of Object.entries(i.state??{}))if(V!==null&&typeof V=="object"&&!Array.isArray(V)){let ee=V[D];h[D]=ee!==void 0?ee:V;}else h[D]=V;let S={id:d,card_data:{...l},requires:h,source_defs:m,compute:c.compute};S._sourcesData=y,c.compute&&St.runSync(S,{sourcesData:y}),(o??r.outputStore.writeComputedValues.bind(r.outputStore))(d,S.computed_values??{});let C={...c},E=St.enrichSourcesSync(Array.isArray(c.source_defs)?c.source_defs:void 0,{card_data:c.card_data,requires:h}),x=e.value;C.source_defs=Array.isArray(E)?E.map(D=>({...D,boardDir:typeof D.boardDir=="string"&&D.boardDir?D.boardDir:x})):E;let I=Oh(),F=i.update?void 0:I,N=g.filter(D=>{let V=D.outputFile;if(typeof V!="string"||!V)return true;let ee=_(V);F&&(ee={...ee,queueRequestedToken:F},k(V,ee));let fe=ee.queueRequestedToken??ee.lastRequestedToken??I,xe=Ru(ee,fe);return xe==="in-flight"?false:xe==="dispatch"});if(b(),N.length>0){let D=false,V=I;for(let ee of N){let fe=ee.outputFile;if(typeof fe!="string"||!fe)continue;let xe=_(fe),$=xe.queueRequestedToken??I;k(fe,{...xe,lastRequestedToken:$}),V=$,D=true;}return D&&b(),D&&(u.push({taskKind:"source-fetch",payload:{boardRef:ce(e),enrichedCard:C,callbackToken:i.callbackToken,rqt:V}}),r.executionRequestStore.appendEntries(t,u)),"task-initiated"}if(g.some(D=>{let V=D.outputFile;if(typeof V!="string"||!V)return false;let ee=_(V),fe=ee.queueRequestedToken??ee.lastRequestedToken??I;return Ru(ee,fe)==="in-flight"}))return "task-initiated";let le=c.provides??[],$e={};for(let{bindTo:D,ref:V}of le)$e[D]=St.resolve(S,V);return (a??r.outputStore.writeDataObjects.bind(r.outputStore))($e),m.filter(D=>{if(D.optionalForCompletionGating!==true)return false;let V=_(D.outputFile);return !V.lastRequestedToken||!V.lastCompletedToken?true:V.lastCompletedToken<=V.lastRequestedToken}).length>0&&u.push({taskKind:"source-fetch",payload:{boardRef:ce(e),enrichedCard:C,callbackToken:i.callbackToken,rqt:I}}),n(i.nodeId,$e),u.length>0&&r.executionRequestStore.appendEntries(t,u),"task-initiated"}}var Ln={settings:{completion:"manual",refreshStrategy:"data-changed"},tasks:{}};function Ou(e){return {[bt]:e.graph,[xu]:e.lastDrainedJournalId}}function ju(e){let t=e[bt],r=e[xu];if(!t||typeof t!="object")throw new Error(`State snapshot is missing required key: ${bt}`);return {graph:t,lastDrainedJournalId:typeof r=="string"?r:""}}function Nu(e){let t=e.requires,r=e.provides?.map(n=>n.bindTo)??[];return {requires:t&&t.length>0?t:void 0,provides:r,taskHandlers:["card-handler"],description:e.meta?.title??e.id}}function Q(e){return e!==void 0?{status:"success",data:e}:{status:"success"}}function M(e){return {status:"fail",error:e}}function te(e){return {status:"error",error:e instanceof Error?e.message:String(e)}}function jh(e){let t=new TextEncoder().encode(e),r=Array.from(t,n=>String.fromCharCode(n)).join("");return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function Fu(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),r=t+"=".repeat((4-t.length%4)%4),n=atob(r),s=Uint8Array.from(n,o=>o.charCodeAt(0));return new TextDecoder().decode(s)}function Vn(e){try{let t=JSON.parse(Fu(e));return typeof t?.t=="string"?{taskName:t.t}:null}catch{return null}}function Nh(e){return jh(JSON.stringify(e))}function qu(e){try{let t=JSON.parse(Fu(e));return typeof t?.cbk=="string"&&typeof t?.cid=="string"&&typeof t?.b=="string"&&typeof t?.d=="string"?t:null}catch{return null}}function we(){return new Date().toISOString()}function Mr(e,t){let r=t.onWarn??(()=>{}),n=ce(e);function s($){if($.length!==0)try{let v=t.publishBoardChangeNotifications?.($);v&&typeof v.catch=="function"&&v.catch(A=>r(`[board-live-cards-public] publishBoardChangeNotifications failed: ${A instanceof Error?A.message:String(A)}`));}catch(v){r(`[board-live-cards-public] publishBoardChangeNotifications failed: ${v instanceof Error?v.message:String(v)}`);}}function o(){let $=i().readCardStoreRef();if(!$)throw new Error(`Board at ${e.value} has no card store configured. Run: init --base-ref <ref> --store-ref <b64-ref>`);let v=t.kvStorageForRef($);return {readIndex(){return v.read("_index")},writeIndex(A){v.write("_index",A);},readCard(A){return v.read(A)},writeCard(A,q){return v.write(A,q),t.hashFn(q)},removeCard(A){v.delete(A);},cardExists(A){return v.read(A)!==null},defaultCardKey(A){return A}}}let a={readValues($){let v=t.kvStorage("state-snapshot"),A=v.listKeys().sort();if(A.length===0)return {version:null,values:{}};let q={};for(let re of A)q[re]=v.read(re);return {version:t.hashFn(q),values:q}},writeValues($,v,A){let q=t.kvStorage("state-snapshot");for(let re of A)q.delete(re);for(let[re,Z]of Object.entries(v))q.write(re,Z);return t.hashFn(v)}},i=()=>Wo(t.kvStorage("config")),u=()=>Au(a),c=()=>Eu(t.journalAdapter()),d=()=>Dn(o(),r),l=()=>{let $=i().readOutputsStoreRef();if(!$)throw new Error(`Board at ${e.value} has no outputs store configured. Run: init --outputs-store-ref <b64-ref>`);return Iu(t.kvStorageForRef($))},m=()=>{let $=i().readArchiveStoreRef();return $?t.archiveFactoryForRef($):t.archiveFactory()};function g(){return !!u().readSnapshot(e.value).values[bt]}function p(){let $=u().readSnapshot(e.value);if(!$.values[bt])throw new Error(`Board not initialized at ${e.value}`);return ju($.values)}function f($,v){let A=u().commitSnapshot(e.value,{schemaVersion:Dr,expectedVersion:v,commitId:t.genId(),committedAt:we(),deleteKeys:[],shallowMerge:Ou($)});if(!A.ok)throw new Error(`Snapshot commit failed (version mismatch): expected=${v??"null"} current=${A.currentVersion??"null"}`)}function b($){c().appendEvent($);}async function _(){let $=(j,B)=>{let ue=j.payload,ut=(ue?.enrichedCard??{}).id??ue?.cardId??"unknown";b({type:"task-failed",taskName:ut,error:B,timestamp:we()});},v=$u(t.kvStorage("execution-requests"),$),A=Tu(t.kvStorage("card-runtime")),q=Ho(t.blobStorage("sources"),j=>t.resolveBlob(j)),re=new Map,Z={readRuntime(j){return re.get(j)??A.readRuntime(j)},writeRuntime(j,B){re.set(j,B);}},ge=[],_e=new Map,ct={readSourceData(j,B){let ue=`${j}/${B}`;return _e.has(ue)?_e.get(ue):q.readSourceData(j,B)},ingestSourceDataStaged(j,B,ue,Lt){q.ingestSourceDataStaged(j,B,ue,Lt);},commitSourceData(j,B,ue){let Lt=`${j}/.staged/${ue}/${B}`,Gr=t.blobStorage("sources").read(Lt);if(Gr==null)return false;let Vt=`${j}/${B}`,ea=Gr.trim();try{_e.set(Vt,JSON.parse(ea));}catch{_e.set(Vt,ea);}return ge.push({cardId:j,outputFile:B,deliveryToken:ue}),true},hasSource(j,B){let ue=`${j}/${B}`;return _e.has(ue)?true:q.hasSource(j,B)}},Oe={cardStore:d(),cardRuntimeStore:Z,fetchedSourcesStore:ct,outputStore:l(),executionRequestStore:v},_t=p(),Rt=qn(_t.graph),{events:Dt,newCursor:Mt}=c().readEntriesAfterCursor(_t.lastDrainedJournalId),Ct=[],Bn=[],Gn=[],Xo=new Map,Mu=(j,B)=>{Ct.push({type:"task-completed",taskName:j,data:B,timestamp:we()});try{m().stream("exec-history").append({taskName:j,status:"completed",completedAt:we()});}catch{}},Qo=(j,B)=>{b({type:"task-failed",taskName:j,error:B,timestamp:we()});try{m().stream("exec-history").append({taskName:j,status:"failed",error:B,completedAt:we()});}catch{}},Vr=yu(Rt,{handlers:{"card-handler":Pu(e,Mt,Oe,Mu,Qo,(j,B)=>{Bn.push({cardId:j,values:B});},j=>{Gn.push(j);})}});for(Ct=Dt;Ct.length>0;){let j=Ct;Ct=[];for(let B of j)if(B.type==="task-restart"){let ue=Oe.cardStore.readCard(B.taskName);ue&&Xo.set(B.taskName,ue);}Vr.pushAll(j),await Vr.waitForHandlers();}let Zo=Vr.getState();await Vr.dispose({wait:true});let Lu=u().readSnapshot(e.value).version;f({lastDrainedJournalId:Mt,graph:Nr(Zo)},Lu);for(let{cardId:j,values:B}of Bn)Oe.outputStore.writeComputedValues(j,B);for(let j of Gn)Oe.outputStore.writeDataObjects(j);for(let[j,B]of re)A.writeRuntime(j,B);for(let{cardId:j,outputFile:B,deliveryToken:ue}of ge)q.commitSourceData(j,B,ue);let Br;try{Br=Mn(n,Zo),Oe.outputStore.writeStatusSnapshot(Br);}catch(j){r(`[board-live-cards-public] status publish failed: ${j instanceof Error?j.message:String(j)}`);}let sr=[];for(let{cardId:j,values:B}of Bn)sr.push({kind:"computed_values",cardId:j,values:B});for(let j of Gn)for(let[B,ue]of Object.entries(j))B&&sr.push({kind:"data_object",key:B,payload:ue});for(let[j,B]of Xo)sr.push({kind:"card_refreshed",cardId:j,card:B});Br!==void 0&&sr.push({kind:"status",status:Br}),s(sr);let Vu=i().readTaskExecutorRef()??{howToRun:"built-in",whatToRun:ce({kind:"built-in",value:"source-cli-task-executor"})};v.dispatchEntriesForJournalId(Mt,j=>{if(j.taskKind!=="source-fetch"){r(`[process-accumulated-events] unknown taskKind "${j.taskKind}" \u2014 skipping`);return}let B=j.payload,ue=B.enrichedCard?.id??"unknown",Lt=B.enrichedCard?.source_defs??[];for(let ut of Lt){if(!ut.outputFile){r(`[dispatch] source "${ut.bindTo}" has no outputFile \u2014 skipping`);continue}let Gr=Nh({cbk:B.callbackToken,rg:e.value,br:ce(e),cid:ue,b:ut.bindTo,d:ut.outputFile,cs:void 0,rqt:B.rqt});t.dispatchExecution(Vu,{source_def:ut,base_ref:ce(e),callback:{token:Gr,via:t.selfRef}}).catch(Vt=>Qo(ue,Vt instanceof Error?Vt.message:String(Vt)));}});}async function k(){try{let $=()=>{let A=p(),{events:q}=c().readEntriesAfterCursor(A.lastDrainedJournalId);q.length<=0||(k(),t.requestProcessAccumulated?.());},v=await ra(t.lock,_,$);return Q({ran:v!==!1})}catch($){return te($)}}function R(){k(),t.requestProcessAccumulated?.();}function O($){try{let v=$.params?.cardStoreRef;if(!v)return M("init requires params.cardStoreRef \u2014 create a card store with card-store-cli and pass its ref here");if(!g()){let _e=Nn(Ln);f({lastDrainedJournalId:"",graph:Nr(_e)},null);}let A=$.params?.outputsStoreRef;if(!A)return M("init requires params.outputsStoreRef \u2014 pass the outputs store ref here");let q=$.params?.scratchStoreRef,re=$.params?.archiveStoreRef,Z=i();Z.writeCardStoreRef(v),Z.writeOutputsStoreRef(A),q&&Z.writeScratchStoreRef(q),re&&Z.writeArchiveStoreRef(re);let ge=$.body??{};ge["task-executor-ref"]&&Z.writeTaskExecutorRef(ge["task-executor-ref"]),Object.prototype.hasOwnProperty.call(ge,"chat-handler-flow")&&Z.writeChatHandlerFlow(ge["chat-handler-flow"]);try{l().writeStatusSnapshot(Mn(n,qn(p().graph)));}catch{}return Q()}catch(v){return te(v)}}function y($){try{let v=l().readStatusSnapshot();if(!v){v=Mn(n,qn(p().graph));try{l().writeStatusSnapshot(v);}catch{}}return Q(v)}catch(v){return te(v)}}function h($){try{let v=$.params?.id;return v?(b({type:"task-removal",taskName:v,timestamp:we()}),R(),Q()):M("removeCard requires params.id")}catch(v){return te(v)}}function S($){try{let v=$.params?.id;return v?(b({type:"task-restart",taskName:v,timestamp:we()}),R(),Q()):M("retrigger requires params.id")}catch(v){return te(v)}}async function C($){return k()}function E($){try{let v=$.params?.cardId,A=$.params?.all,q=!!$.params?.restart;if(!v&&!A)return M("upsertCard requires --card-id <id> or --all");let re=A?d().readAllCards().map(Z=>Z.id):[v];for(let Z of re)if(!d().readCard(Z))return M(`Card "${Z}" not found in board at ${e.value}`);for(let Z of re){let ge=d().readCard(Z),_e=Nu(ge),ct=t.hashFn(_e),Oe=t.kvStorage("card-upsert"),_t=Oe.read(Z),Rt=_t?.taskConfigHash!==ct;if(!(!Rt&&!q)){if(Rt){let Dt=_t?.blobRef??d().readCardKey(Z)??Z;b({type:"task-upsert",taskName:Z,taskConfig:_e,timestamp:we()}),Oe.write(Z,{blobRef:Dt,taskConfigHash:ct,updatedAt:we()});}q&&b({type:"task-restart",taskName:Z,timestamp:we()});}}return R(),Q()}catch(v){return te(v)}}function x($){try{let v=$.params?.token;if(!v)return M("taskFailed requires params.token");let A=$.params?.error??"unknown error",q=Vn(v);if(!q)return M("Invalid callback token");b({type:"task-failed",taskName:q.taskName,error:A,timestamp:we()});try{m().stream("exec-history").append({taskName:q.taskName,status:"failed",error:A,completedAt:we()});}catch{}return R(),Q()}catch(v){return te(v)}}function I($){try{let v=$.params?.token;if(!v)return M("taskProgress requires params.token");let q=($.body??{}).update??{},re=Vn(v);return re?(b({type:"task-progress",taskName:re.taskName,update:q,timestamp:we()}),R(),Q()):M("Invalid callback token")}catch(v){return te(v)}}function F($){try{let v=$.params?.token,A=$.params?.ref;if(!v)return M("sourceDataFetched requires params.token");if(!A)return M("sourceDataFetched requires params.ref");let q=qu(v);if(!q)return M("Invalid source token");let{cbk:re,cid:Z,b:ge,d:_e,cs:ct,rqt:Oe}=q,_t=Ho(t.blobStorage("sources"),Ct=>t.resolveBlob(Ct)),Rt=t.genId();_t.ingestSourceDataStaged(Z,_e,Re(A),Rt);let Dt=Vn(re);if(!Dt)return M("Invalid callback token embedded in source token");let Mt=we();return b({type:"task-progress",taskName:Dt.taskName,update:{bindTo:ge,outputFile:_e,fetchedAt:Mt,deliveryToken:Rt,sourceChecksum:ct,rqt:Oe},timestamp:Mt}),R(),Q()}catch(v){return te(v)}}function N($){try{let v=$.params?.token,A=$.params?.reason??"unknown";if(!v)return M("sourceDataFetchFailure requires params.token");let q=qu(v);if(!q)return M("Invalid source token");let{cbk:re,b:Z,d:ge,cs:_e,rqt:ct}=q,Oe=Vn(re);return Oe?(b({type:"task-progress",taskName:Oe.taskName,update:{bindTo:Z,outputFile:ge,failure:!0,reason:A,sourceChecksum:_e,rqt:ct},timestamp:we()}),R(),Q()):M("Invalid callback token embedded in source token")}catch(v){return te(v)}}function pe($){try{let v=i().readCardStoreRef();return v?Q({storeRef:v}):M(`Board at ${e.value} has no card store configured`)}catch(v){return te(v)}}function le($){try{let v=i().readOutputsStoreRef();return v?Q({storeRef:v}):M(`Board at ${e.value} has no outputs store configured`)}catch(v){return te(v)}}function $e($){try{let v=i().readScratchStoreRef();return Q({storeRef:v})}catch(v){return te(v)}}function Ne($){try{let v=i().readArchiveStoreRef();return Q({storeRef:v})}catch(v){return te(v)}}function D($){try{let v=$.params?.key;if(!v)return M("getConfig requires params.key");let A=i(),q;switch(v){case "task-executor":q=A.readTaskExecutorRef()??null;break;case "chat-handler-flow":q=A.readChatHandlerFlow()??null;break;case "card-store-ref":q=A.readCardStoreRef();break;case "outputs-store-ref":q=A.readOutputsStoreRef();break;case "scratch-store-ref":q=A.readScratchStoreRef();break;case "archive-store-ref":q=A.readArchiveStoreRef();break;default:return M(`getConfig: unknown key "${v}"`)}return Q({value:q})}catch(v){return te(v)}}function V($){try{let v=$.params?.key;if(!v)return M("getOutputsDataObject requires params.key");let A=l().readDataObject(v);return Q(A)}catch(v){return te(v)}}function ee($){try{return Q(l().readAllDataObjects())}catch(v){return te(v)}}function fe($){try{let v=$.params?.key;if(!v)return M("getOutputsComputedValues requires params.key");let A=l().readComputedValues(v);return Q(A)}catch(v){return te(v)}}function xe($){try{return Q(l().readAllComputedValues())}catch(v){return te(v)}}return {init:O,status:y,getCardStoreRef:pe,getOutputsStoreRef:le,getScratchStoreRef:$e,getArchiveStoreRef:Ne,getConfig:D,getOutputsDataObject:V,getAllOutputsDataObjects:ee,getOutputsComputedValues:fe,getAllOutputsComputedValues:xe,removeCard:h,retrigger:S,processAccumulatedEvents:C,upsertCard:E,taskFailed:x,taskProgress:I,sourceDataFetched:F,sourceDataFetchFailure:N}}function it(e,t){let r=()=>Wo(t.kvStorage("config"));function n(){let y=r().readCardStoreRef();if(!y)throw new Error(`Board at ${e.value} has no card store configured. Run: init --base-ref <ref> --store-ref <b64-ref>`);let h=t.kvStorageForRef(y);return {readIndex(){return h.read("_index")},writeIndex(S){h.write("_index",S);},readCard(S){return h.read(S)},writeCard(S,C){return h.write(S,C),t.hashFn(C)},removeCard(S){h.delete(S);},cardExists(S){return h.read(S)!==null},defaultCardKey(S){return S}}}let s=()=>Dn(n(),t.onWarn??(()=>{})),o=()=>{let y=r().readScratchStoreRef();return y?t.scratchStorageForRef(y):t.scratchStorage()};function a(y,h){let S=t.validateSchema(h),C=[],E=r().readTaskExecutorRef();if(E&&Array.isArray(h.source_defs))for(let I of h.source_defs){let F=typeof I.bindTo=="string"?I.bindTo:"(unknown)";try{let N;try{N=t.invokeExecutorSync(E,"validate-source-def",[],{timeout:t.executorTimeouts?.validationMs??1e4,input:JSON.stringify(I)});}catch(le){let $e=le;if(N=typeof $e?.stdout=="string"?$e.stdout:"",!N.trim()){C.push(`source "${F}": executor validate-source-def failed \u2014 ${le instanceof Error?le.message:String(le)}`);continue}}let pe=JSON.parse(N.trim());if(!pe.ok&&Array.isArray(pe.errors))for(let le of pe.errors)C.push(`source "${F}": ${le}`);}catch(N){C.push(`source "${F}": executor validate-source-def failed \u2014 ${N instanceof Error?N.message:String(N)}`);}}let x=[...S.errors,...C];return Q({cardId:y,isValid:x.length===0,issues:x})}function i(y,h){let S=r().readTaskExecutorRef();if(!S)throw new Error("No task-executor registered for this board");let C=typeof y.bindTo=="string"?y.bindTo:"source",E=o(),x={...y,boardDir:e.value,_projections:h},I=E.create(JSON.stringify(x,null,2),`probe-in-${C}`,".json"),F=E.getUniqueKey(`probe-out-${C}`,".json"),N=E.getUniqueKey(`probe-err-${C}`,".txt"),pe=ce(E.keyRef(I)),le=ce(E.keyRef(F)),$e=ce(E.keyRef(N)),Ne=null;try{if(t.invokeExecutorSync(S,"run-source-fetch",["--in-ref",pe,"--out-ref",le,"--err-ref",$e],{timeout:y.timeout??t.executorTimeouts?.probeMs??6e4}),Ne=E.read(F),Ne===null)throw new Error("Executor produced no output file")}catch(D){let V=E.read(N)?.trim()??(D instanceof Error?D.message:String(D));throw new Error(`Probe failed: ${V}`)}finally{try{E.remove(I);}catch{}try{E.remove(N);}catch{}}return {bindTo:C,result:Ne}}function u(y,h,S){let C;try{C=i(y,h);}catch(E){return M(E instanceof Error?E.message:String(E))}if(S){let E=Re(S);t.absoluteBlob.write(E.value,C.result);}return Q({bindTo:C.bindTo,resultSizeBytes:C.result.length})}function c(y,h){let S=y.params?.sourceIdx,C=y.params?.outRef;if(S===void 0)return M(`${h} requires params.sourceIdx`);if(!y.body||typeof y.body!="object"||Array.isArray(y.body))return M(`${h} requires card JSON object in body`);let E=y.body,x=E["card-content"]??E,I=E["mock-projections"]??{},F=x.source_defs??[];if(S<0||S>=F.length)return M(`sourceIdx ${S} out of range (card has ${F.length} source(s))`);let N=F[S],pe=typeof N.bindTo=="string"?N.bindTo:"source";return {src:N,bindTo:pe,outRef:C,mockProjections:I}}function d(y){try{let h=y.params?.cardId,S=y.params?.all;if(!h&&!S)return M("validateCard requires --card-id <id> or --all");let C=S?s().readAllCards().map(x=>x.id):[h],E=[];for(let x of C){let I=s().readCard(x);if(!I){E.push({cardId:x,isValid:!1,issues:[`Card "${x}" not found`]});continue}let F=a(x,I);if(F.status!=="success")return F;E.push(F.data);}return Q(E)}catch(h){return te(h)}}function l(y){try{if(!y.body||typeof y.body!="object"||Array.isArray(y.body))return M("validateCardPreflight requires card JSON object in body");let h=y.body,S=h["card-content"]??h,C=typeof S.id=="string"?S.id:"(unknown)",E=a(C,S),x=r().readTaskExecutorRef();if(x)try{let I=t.invokeExecutorSync(x,"validate-card-preflight",[],{timeout:t.executorTimeouts?.validationMs??1e4,input:JSON.stringify(S)}),F=JSON.parse(I.trim());if(!F.ok&&Array.isArray(F.errors)&&F.errors.length>0){let N=[...E.status==="success"?E.data.issues:[],...F.errors];return Q({cardId:C,isValid:!1,issues:N})}}catch{}return E}catch(h){return te(h)}}function m(y){try{let h=y.params?.cardId,S=y.params?.sourceIdx,C=y.params?.outRef;if(!h)return M("probeSource requires params.cardId");if(S===void 0)return M("probeSource requires params.sourceIdx");let x=(y.body??{})["mock-projections"]??{},I=s().readCard(h);if(!I)return M(`Card "${h}" not found`);let F=I.source_defs??[];return S<0||S>=F.length?M(`sourceIdx ${S} out of range (card has ${F.length} source(s))`):u(F[S],x,C)}catch(h){return te(h)}}function g(y){try{let h=y.params?.outRef,S=y.body;if(!S)return M('probeTmpSource requires body with "source-def" and "mock-projections"');let C=S["source-def"],E=S["mock-projections"]??{};return C?u(C,E,h):M('probeTmpSource body requires "source-def"')}catch(h){return te(h)}}function p(y){try{let h=c(y,"probeSourcePreflight");if("status"in h)return h;let S=r().readTaskExecutorRef();if(!S)return M("No task-executor registered for this board");try{let C={...h.src,_projections:h.mockProjections},E=t.invokeExecutorSync(S,"probe-source-preflight",[],{timeout:h.src.timeout??t.executorTimeouts?.preflightMs??6e4,input:JSON.stringify(C)}),x=JSON.parse(E.trim());return x.ok?Q({bindTo:h.bindTo,reachable:x.reachable,latencyMs:x.latencyMs,note:x.note}):M(x.error??"Preflight probe failed")}catch{return M("Executor does not support probe-source-preflight")}}catch(h){return te(h)}}function f(y){try{let h=c(y,"runSourcePreflight");if("status"in h)return h;let S=r().readTaskExecutorRef();if(S)try{let I={...h.src,_projections:h.mockProjections},F=t.invokeExecutorSync(S,"run-source-preflight",[],{timeout:h.src.timeout??t.executorTimeouts?.preflightMs??6e4,input:JSON.stringify(I)}),N=JSON.parse(F.trim());return N.ok?Q({bindTo:N.bindTo??h.bindTo,reachable:N.reachable,latencyMs:N.latencyMs,kind:N.kind,resultValue:N.resultValue,note:N.note}):M(N.error??"Source preflight failed")}catch{}let C=Date.now(),E=i(h.src,h.mockProjections);if(h.outRef){let I=Re(h.outRef);t.absoluteBlob.write(I.value,E.result);}let x=E.result;try{x=JSON.parse(E.result);}catch{}return Q({bindTo:E.bindTo,reachable:!0,latencyMs:Date.now()-C,resultValue:x,note:"Actual fetch preflight passed"})}catch(h){return te(h)}}function b(y){try{let h=r().readTaskExecutorRef();if(!h)return M("No task-executor registered for this board");let S=t.invokeExecutorSync(h,"describe-capabilities",[],{timeout:t.executorTimeouts?.describeMs??1e4});return Q(JSON.parse(S.trim()))}catch(h){return te(h)}}function _(y){try{let h=y.body;if(!h||!Array.isArray(h.ops))return M("updatesInCardStore requires body.ops array");let S=h.ops,C=s();for(let E of S){let x=E.op,I=E.id;if(!I)return M('op is missing "id"');if(x==="update"){let F=E["card-content"];if(!F)return M(`update op for "${I}" is missing "card-content"`);C.writeCard(I,F);}else return M(`Unknown op type: "${x??"(none)"}"`)}return Q()}catch(h){return te(h)}}function k(y){try{let h=y.body;if(!h||!Array.isArray(h.ids))return M("readFromCardStore requires body.ids array");let S=h.ids,C=s(),E=S.map(x=>({id:x,"card-content":C.readCard(x)}));return Q({cards:E})}catch(h){return te(h)}}function R(y){try{if(!y.body||typeof y.body!="object"||Array.isArray(y.body))return M("evalCardCompute requires a JSON object in body");let h=y.body,S=h["card-content"]??h,C=typeof S.id=="string"?S.id:"(unknown)",E=h["mock-fetched-sources"]??{},x=h["mock-requires"]??{},I=S.compute;if(!I||!Array.isArray(I)||I.length===0)return Q({cardId:C,ok:!0,computed_values:{},errors:[]});let F={id:C,card_data:S.card_data??{},requires:x,source_defs:S.source_defs,compute:I},N=St.runSync(F,{sourcesData:E}),pe=N.node.computed_values??{},le=N.errors??[];return Q({cardId:C,ok:le.length===0,computed_values:pe,errors:le})}catch(h){return te(h)}}function O(y){try{if(!y.body||typeof y.body!="object"||Array.isArray(y.body))return M("simulateCardCycle requires a JSON object in body");let h=y.body,S=h["card-content"]??h,C=typeof S.id=="string"?S.id:"(unknown)",E=h["mock-fetched-sources"]??{},x=h["mock-requires"]??{},I=a(C,S),F=I.status==="success"?{isValid:I.data.isValid,issues:I.data.issues}:{isValid:!1,issues:[I.status==="fail"?I.error:"internal error"]},N=S.source_defs??[],pe=S.card_data??{},le=[],$e=[];if(N.length>0){le=St.enrichSourcesSync(N,{card_data:pe,requires:x});for(let v of le){let A=v.projections,q=v._projections;if(A&&q){for(let re of Object.keys(A))if(q[re]===void 0){let Z=typeof v.bindTo=="string"?v.bindTo:"(unknown)";$e.push({bindTo:Z,key:re,error:`Projection "${re}" resolved to undefined`});}}}}let Ne=[],D=h["task-executor-ref"],V=(D?.howToRun&&D?.whatToRun?D:void 0)??r().readTaskExecutorRef();for(let v=0;v<le.length;v++){let A=le[v],q=typeof A.bindTo=="string"?A.bindTo:`source_${v}`;if(!V){Ne.push({bindTo:q,skipped:!0,error:"No task executor configured"});continue}try{let re={...A},Z=t.invokeExecutorSync(V,"run-source-preflight",[],{timeout:A.timeout??t.executorTimeouts?.preflightMs??6e4,input:JSON.stringify(re)}),ge=JSON.parse(Z.trim());Ne.push({bindTo:q,reachable:ge.reachable,latencyMs:ge.latencyMs,error:ge.ok?void 0:ge.error});}catch{Ne.push({bindTo:q,skipped:!0,error:"Executor does not support run-source-preflight"});}}let ee=S.compute,fe={},xe=[];if(ee&&Array.isArray(ee)&&ee.length>0){let v={id:C,card_data:pe,requires:x,source_defs:S.source_defs,compute:ee},A=St.runSync(v,{sourcesData:E});fe=A.node.computed_values??{},xe=A.errors??[];}let $=F.isValid&&$e.length===0&&xe.length===0&&Ne.every(v=>v.reachable!==!1);return Q({cardId:C,ok:$,validation:F,source_probes:Ne,projection_errors:$e,computed_values:fe,compute_errors:xe})}catch(h){return te(h)}}return {validateCard:d,validateCardPreflight:l,probeSource:m,probeTmpSource:g,probeSourcePreflight:p,runSourcePreflight:f,evalCardCompute:R,simulateCardCycle:O,describeTaskExecutorCapabilities:b,updatesInCardStore:_,readFromCardStore:k}}var Dh=".board.lock";function Mh(e,t){return typeof e=="string"?{cliDir:e,opts:t}:{cliDir:void 0,opts:e}}function Lh(e,t){return typeof e=="string"?{cliDir:e,opts:t}:{cliDir:void 0,opts:e}}function Du(e){if(e)return e;let t=Jr(import.meta.url),r=[t,He(t,"..","cli","node"),He(t,"..","..","cli","node")];for(let n of r)try{return Hn(n),n}catch{}throw new Error(`createFsBoardPlatformAdapter: could not resolve a public CLI directory from module dir ${t}`)}function Lr(e,t,r){let{cliDir:n,opts:s}=Mh(t,r),o=Du(n),a=e.value,u={meta:"board-live-cards",howToRun:"local-node",whatToRun:(s?.suppressSpawn?"":Hn(o))?ce({kind:"yaml-flow-cli",value:"board-live-cards-cli.js"}):"",...s?.notifyChannel?{extra:{notifyChannel:s.notifyChannel}}:{}};return {kvStorage:c=>ts(He(a,`.${c}`)),blobStorage:c=>c?ar(He(a,c)):ar(a),scratchStorage:()=>Yr(He(a,".tmp")),scratchStorageForRef:c=>Yr(Re(c).value),archiveFactory:()=>Xr(He(a,"archive")),archiveFactoryForRef:c=>Xr(Re(c).value),journalAdapter:()=>wa(a),lock:_a(He(a,Dh)),selfRef:u,async dispatchExecution(c,d){if(s?.suppressSpawn)return {dispatched:false};try{let l=d.source_def?.bindTo??Un().slice(0,8),m=Yr(He(a,".tmp")),g=m.create(JSON.stringify(d,null,2),`exec-in-${l}`,".json"),p=m.getUniqueKey(`exec-out-${l}`,".json"),f=m.getUniqueKey(`exec-err-${l}`,".txt"),b=ce(m.keyRef(g)),_=ce(m.keyRef(p)),k=ce(m.keyRef(f));return ya(c,{subcommand:"run-source-fetch",inRef:b,outRef:_,errRef:k},o),{dispatched:!0}}catch(l){let m=l instanceof Error?l.message:String(l);try{let g=Xr(He(a,"archive")),p=new Date().toISOString().replace(/[:.]/g,"-"),f=d.source_def?.bindTo??"unknown";g.blob("exec-failures").write(`${p}-${f}.json`,JSON.stringify({error:m,args:d,ref:c,at:new Date().toISOString()},null,2));}catch{}return {dispatched:false,error:m}}},resolveBlob(c){let d=aa(c.value)?es().read(c.value):ar(a).read(c.value);if(d===null)throw new Error(`resolveBlob: blob not found: ::${c.kind}::${c.value}`);return d},hashFn:ka,genId:()=>ia(`${Date.now()}-${Math.random()}`).slice(0,32),kvStorageForRef:c=>ts(Re(c).value),requestProcessAccumulated(){s?.suppressSpawn||da(o,e,s?.notifyChannel);},publishBoardChangeNotifications(c){if(!s?.notifyChannel||c.length===0)return;let d=c.map(l=>({id:Un(),ts:new Date().toISOString(),boardRef:ce(e),notification:l}));la(s.notifyChannel,d,s.onWarn);},onWarn:s?.onWarn}}function kt(e,t,r){let{cliDir:n,opts:s}=Lh(t,r),o=Du(n),a=Lr(e,o,s),i=Wn();return {...a,invokeExecutorSync(u,c,d,l){let{command:m,baseArgs:g}=Yn(u,o),p=u.extra?["--extra",Buffer.from(JSON.stringify(u.extra)).toString("base64")]:[];return i.executeSync(m,[...g,c,...d,...p],{timeout:l?.timeout??3e4,encoding:"utf-8",input:l?.input})},validateSchema(u){let c=Bo(u);return {ok:c.errors.length===0,errors:c.errors}},absoluteBlob:es()}}function Yo(e){try{let t=JSON.parse(Buffer.from(e,"base64url").toString());return typeof t.br=="string"?t.br:null}catch{return null}}var Ze=Jr(import.meta.url);function ve(e,t,r){let n=e.indexOf(t),s=n!==-1?e[n+1]:void 0;if(!s)throw new Error(`Missing ${t}
20
+ Usage: ${r}`);return s}function Ve(e,t){let r=e.indexOf(t);return r!==-1?e[r+1]:void 0}function oe(e){console.log(JSON.stringify(e,null,2));}async function wt(){if(process.stdin.isTTY)return;let e=[];for await(let r of process.stdin)e.push(Buffer.isBuffer(r)?r:Buffer.from(r));let t=Buffer.concat(e).toString("utf-8").trim();if(t)return JSON.parse(t)}async function Vh(e){let t=e[0],r=e.slice(1);if(t==="help"||t==="--help"||t==="-h"){console.log("board-live-cards \u2014 see board-live-cards-cli-PARAMS.md for command reference");return}let n=Ve(r,"--base-ref"),s=Ve(r,"--notify-channel"),o=n?Re(n):void 0;if(t==="source-data-fetched"){let u=ve(r,"--token","source-data-fetched --token <token> --ref <sourcefile>"),c=ve(r,"--ref","source-data-fetched --token <token> --ref <sourcefile>"),d=Yo(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=Re(d),m=Mr(l,Lr(l,Ze,{onWarn:console.warn,notifyChannel:s}));oe(m.sourceDataFetched({params:{token:u,ref:c}}));return}if(t==="source-data-fetch-failure"){let u=ve(r,"--token","source-data-fetch-failure --token <token> [--reason <message>]"),c=Yo(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=Re(c),l=Mr(d,Lr(d,Ze,{onWarn:console.warn,notifyChannel:s})),m={token:u},g=Ve(r,"--reason");g&&(m.reason=g),oe(l.sourceDataFetchFailure({params:m}));return}if(t==="validate-card-preflight"){let u=o??{kind:"fs-path",value:et(".")},c=it(u,kt(u,Ze,{onWarn:console.warn})),d=await wt();oe(c.validateCardPreflight({body:d}));return}if(t==="probe-source-preflight"){let u=ve(r,"--source-idx","probe-source-preflight --source-idx <n>"),c=Ve(r,"--out-ref"),d=o??{kind:"fs-path",value:et(".")},l=it(d,kt(d,Ze,{onWarn:console.warn})),m=await wt(),g={sourceIdx:parseInt(u,10)};c&&(g.outRef=c),oe(l.probeSourcePreflight({params:g,body:m}));return}if(t==="run-source-preflight"){let u=ve(r,"--source-idx","run-source-preflight --source-idx <n>"),c=Ve(r,"--out-ref"),d=o??{kind:"fs-path",value:et(".")},l=it(d,kt(d,Ze,{onWarn:console.warn})),m=await wt(),g={sourceIdx:parseInt(u,10)};c&&(g.outRef=c),oe(l.runSourcePreflight({params:g,body:m}));return}if(t==="eval-card-compute"){let u=o??{kind:"fs-path",value:et(".")},c=it(u,kt(u,Ze,{onWarn:console.warn})),d=await wt();oe(c.evalCardCompute({body:d}));return}if(t==="simulate-card-cycle"){let u=o??{kind:"fs-path",value:et(".")},c=it(u,kt(u,Ze,{onWarn:console.warn})),d=await wt();oe(c.simulateCardCycle({body:d}));return}if(t==="probe-tmp-source"){let u=ve(r,"--out-ref","probe-tmp-source --out-ref <ref>"),c=o??{kind:"fs-path",value:et(".")},d=it(c,kt(c,Ze,{onWarn:console.warn})),l=await wt();oe(d.probeTmpSource({params:{outRef:u},body:l}));return}if(!o)throw new Error(`--base-ref is required for command "${t??"(none)"}"`);let a=()=>Mr(o,Lr(o,Ze,{onWarn:console.warn,notifyChannel:s})),i=()=>it(o,kt(o,Ze,{onWarn:console.warn}));switch(t){case "init":{let u=ve(r,"--card-store-ref","init --base-ref <ref> --card-store-ref <b64-ref> --outputs-store-ref <b64-ref>"),c=ve(r,"--outputs-store-ref","init --base-ref <ref> --card-store-ref <b64-ref> --outputs-store-ref <b64-ref>"),d=Ve(r,"--scratch-store-ref"),l=Ve(r,"--archive-store-ref"),m=await wt();oe(a().init({params:{cardStoreRef:u,outputsStoreRef:c,...d?{scratchStoreRef:d}:{},...l?{archiveStoreRef:l}:{}},body:m}));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-scratch-store-ref":{oe(a().getScratchStoreRef({}));return}case "get-archive-store-ref":{oe(a().getArchiveStoreRef({}));return}case "get-outputs":{let u=ve(r,"--type","get-outputs --base-ref <ref> --type <data-object|computed-values> [--key <key>] [--all]"),c=r.includes("--all");if(u==="data-object")if(c)oe(a().getAllOutputsDataObjects({}));else {let d=ve(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=ve(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=ve(r,"--id","remove-card --base-ref <ref> --id <card-id>");oe(a().removeCard({params:{id:u}}));return}case "retrigger":{let u=ve(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=Ve(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:ve(r,"--token","task-failed --base-ref <ref> --token <token> [--error <message>]")},d=Ve(r,"--error");d&&(c.error=d),oe(a().taskFailed({params:c}));return}case "task-progress":{let u=ve(r,"--token","task-progress --base-ref <ref> --token <token> [--update <json>]"),c=Ve(r,"--update"),d=c?JSON.parse(c):{};oe(a().taskProgress({params:{token:u},body:{update:d}}));return}case "validate-card":{let u=Ve(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=ve(r,"--card-id","probe-source --base-ref <ref> --card-id <id> --source-idx <n> --out-ref <ref>"),c=ve(r,"--source-idx","probe-source --base-ref <ref> --card-id <id> --source-idx <n> --out-ref <ref>"),d=Ve(r,"--out-ref"),l=await wt(),m={cardId:u,sourceIdx:parseInt(c,10)};d&&(m.outRef=d),oe(i().probeSource({params:m,body:l}));return}case "describe-task-executor-capabilities":{oe(i().describeTaskExecutorCapabilities({}));return}default:throw new Error(`Unknown command: ${t??"(none)"}`)}}var Bh=process.argv[1]&&et(process.argv[1])===et(new URL(import.meta.url).pathname.replace(/^\/([A-Z]:)/,"$1"));Bh&&Vh(process.argv.slice(2)).catch(e=>{let t=e instanceof Error?e.message:String(e);console.error(t),process.exit(1);});export{Vh as cli};//# sourceMappingURL=board-live-cards-cli.js.map
21
21
  //# sourceMappingURL=board-live-cards-cli.js.map