@reddb-io/red-skills 2.40.0 → 2.41.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,15 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
3
- var Dy=Object.create;var mi=Object.defineProperty;var jy=Object.getOwnPropertyDescriptor;var My=Object.getOwnPropertyNames;var qy=Object.getPrototypeOf,By=Object.prototype.hasOwnProperty;var ct=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var v=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),fu=(e,t)=>{for(var r in t)mi(e,r,{get:t[r],enumerable:!0})},Ly=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of My(t))!By.call(e,o)&&o!==r&&mi(e,o,{get:()=>t[o],enumerable:!(n=jy(t,o))||n.enumerable});return e};var hi=(e,t,r)=>(r=e!=null?Dy(qy(e)):{},Ly(t||!e||!e.__esModule?mi(r,"default",{value:e,enumerable:!0}):r,e));var Kr=v(Z=>{"use strict";Object.defineProperty(Z,"__esModule",{value:!0});Z.regexpCode=Z.getEsmExportName=Z.getProperty=Z.safeStringify=Z.stringify=Z.strConcat=Z.addCodeArg=Z.str=Z._=Z.nil=Z._Code=Z.Name=Z.IDENTIFIER=Z._CodeOrName=void 0;var Fr=class{};Z._CodeOrName=Fr;Z.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Pt=class extends Fr{constructor(t){if(super(),!Z.IDENTIFIER.test(t))throw new Error("CodeGen: name must be a valid identifier");this.str=t}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};Z.Name=Pt;var Ce=class extends Fr{constructor(t){super(),this._items=typeof t=="string"?[t]:t}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;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 Pt&&(r[n.str]=(r[n.str]||0)+1),r),{})}};Z._Code=Ce;Z.nil=new Ce("");function Mp(e,...t){let r=[e[0]],n=0;for(;n<t.length;)Os(r,t[n]),r.push(e[++n]);return new Ce(r)}Z._=Mp;var Ns=new Ce("+");function qp(e,...t){let r=[Vr(e[0])],n=0;for(;n<t.length;)r.push(Ns),Os(r,t[n]),r.push(Ns,Vr(e[++n]));return Uw(r),new Ce(r)}Z.str=qp;function Os(e,t){t instanceof Ce?e.push(...t._items):t instanceof Pt?e.push(t):e.push(Kw(t))}Z.addCodeArg=Os;function Uw(e){let t=1;for(;t<e.length-1;){if(e[t]===Ns){let r=Fw(e[t-1],e[t+1]);if(r!==void 0){e.splice(t-1,3,r);continue}e[t++]="+"}t++}}function Fw(e,t){if(t==='""')return e;if(e==='""')return t;if(typeof e=="string")return t instanceof Pt||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 Pt))return`"${e}${t.slice(1)}`}function Vw(e,t){return t.emptyStr()?e:e.emptyStr()?t:qp`${e}${t}`}Z.strConcat=Vw;function Kw(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:Vr(Array.isArray(e)?e.join(","):e)}function Hw(e){return new Ce(Vr(e))}Z.stringify=Hw;function Vr(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}Z.safeStringify=Vr;function Gw(e){return typeof e=="string"&&Z.IDENTIFIER.test(e)?new Ce(`.${e}`):Mp`[${e}]`}Z.getProperty=Gw;function Ww(e){if(typeof e=="string"&&Z.IDENTIFIER.test(e))return new Ce(`${e}`);throw new Error(`CodeGen: invalid export name: ${e}, use explicit $id name mapping`)}Z.getEsmExportName=Ww;function Jw(e){return new Ce(e.toString())}Z.regexpCode=Jw});var Ms=v(Se=>{"use strict";Object.defineProperty(Se,"__esModule",{value:!0});Se.ValueScope=Se.ValueScopeName=Se.Scope=Se.varKinds=Se.UsedValueState=void 0;var ke=Kr(),Ds=class extends Error{constructor(t){super(`CodeGen: "code" for ${t} not defined`),this.value=t.value}},oo;(function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed"})(oo||(Se.UsedValueState=oo={}));Se.varKinds={const:new ke.Name("const"),let:new ke.Name("let"),var:new ke.Name("var")};var io=class{constructor({prefixes:t,parent:r}={}){this._names={},this._prefixes=t,this._parent=r}toName(t){return t instanceof ke.Name?t:this.name(t)}name(t){return new ke.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}}};Se.Scope=io;var so=class extends ke.Name{constructor(t,r){super(r),this.prefix=t}setValue(t,{property:r,itemIndex:n}){this.value=t,this.scopePath=(0,ke._)`.${new ke.Name(r)}[${n}]`}};Se.ValueScopeName=so;var Qw=(0,ke._)`\n`,js=class extends io{constructor(t){super(t),this._values={},this._scope=t.scope,this.opts={...t,_n:t.lines?Qw:ke.nil}}get(){return this._scope}name(t){return new so(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 o=this.toName(t),{prefix:i}=o,s=(n=r.key)!==null&&n!==void 0?n:r.ref,a=this._values[i];if(a){let u=a.get(s);if(u)return u}else a=this._values[i]=new Map;a.set(s,o);let c=this._scope[i]||(this._scope[i]=[]),l=c.length;return c[l]=r.ref,o.setValue(r,{property:i,itemIndex:l}),o}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,ke._)`${t}${n.scopePath}`})}scopeCode(t=this._values,r,n){return this._reduceValues(t,o=>{if(o.value===void 0)throw new Error(`CodeGen: name "${o}" has no value`);return o.value.code},r,n)}_reduceValues(t,r,n={},o){let i=ke.nil;for(let s in t){let a=t[s];if(!a)continue;let c=n[s]=n[s]||new Map;a.forEach(l=>{if(c.has(l))return;c.set(l,oo.Started);let u=r(l);if(u){let d=this.opts.es5?Se.varKinds.var:Se.varKinds.const;i=(0,ke._)`${i}${d} ${l} = ${u};${this.opts._n}`}else if(u=o?.(l))i=(0,ke._)`${i}${u}${this.opts._n}`;else throw new Ds(l);c.set(l,oo.Completed)})}return i}};Se.ValueScope=js});var N=v(O=>{"use strict";Object.defineProperty(O,"__esModule",{value:!0});O.or=O.and=O.not=O.CodeGen=O.operators=O.varKinds=O.ValueScopeName=O.ValueScope=O.Scope=O.Name=O.regexpCode=O.stringify=O.getProperty=O.nil=O.strConcat=O.str=O._=void 0;var q=Kr(),qe=Ms(),ft=Kr();Object.defineProperty(O,"_",{enumerable:!0,get:function(){return ft._}});Object.defineProperty(O,"str",{enumerable:!0,get:function(){return ft.str}});Object.defineProperty(O,"strConcat",{enumerable:!0,get:function(){return ft.strConcat}});Object.defineProperty(O,"nil",{enumerable:!0,get:function(){return ft.nil}});Object.defineProperty(O,"getProperty",{enumerable:!0,get:function(){return ft.getProperty}});Object.defineProperty(O,"stringify",{enumerable:!0,get:function(){return ft.stringify}});Object.defineProperty(O,"regexpCode",{enumerable:!0,get:function(){return ft.regexpCode}});Object.defineProperty(O,"Name",{enumerable:!0,get:function(){return ft.Name}});var lo=Ms();Object.defineProperty(O,"Scope",{enumerable:!0,get:function(){return lo.Scope}});Object.defineProperty(O,"ValueScope",{enumerable:!0,get:function(){return lo.ValueScope}});Object.defineProperty(O,"ValueScopeName",{enumerable:!0,get:function(){return lo.ValueScopeName}});Object.defineProperty(O,"varKinds",{enumerable:!0,get:function(){return lo.varKinds}});O.operators={GT:new q._Code(">"),GTE:new q._Code(">="),LT:new q._Code("<"),LTE:new q._Code("<="),EQ:new q._Code("==="),NEQ:new q._Code("!=="),NOT:new q._Code("!"),OR:new q._Code("||"),AND:new q._Code("&&"),ADD:new q._Code("+")};var rt=class{optimizeNodes(){return this}optimizeNames(t,r){return this}},qs=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?qe.varKinds.var:this.varKind,o=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${o};`+r}optimizeNames(t,r){if(t[this.name.str])return this.rhs&&(this.rhs=Jt(this.rhs,t,r)),this}get names(){return this.rhs instanceof q._CodeOrName?this.rhs.names:{}}},ao=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 q.Name&&!t[this.lhs.str]&&!this.sideEffects))return this.rhs=Jt(this.rhs,t,r),this}get names(){let t=this.lhs instanceof q.Name?{}:{...this.lhs.names};return uo(t,this.rhs)}},Bs=class extends ao{constructor(t,r,n,o){super(t,n,o),this.op=r}render({_n:t}){return`${this.lhs} ${this.op}= ${this.rhs};`+t}},Ls=class extends rt{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`${this.label}:`+t}},Zs=class extends rt{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`break${this.label?` ${this.label}`:""};`+t}},Us=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=Jt(this.code,t,r),this}get names(){return this.code instanceof q._CodeOrName?this.code.names:{}}},Hr=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,o=n.length;for(;o--;){let i=n[o];i.optimizeNames(t,r)||(Yw(t,i.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((t,r)=>It(t,r.names),{})}},nt=class extends Hr{render(t){return"{"+t._n+super.render(t)+"}"+t._n}},Vs=class extends Hr{},Wt=class extends nt{};Wt.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===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new Wt(n):n}if(r)return t===!1?r instanceof e?r:r.nodes:this.nodes.length?this:new e(Bp(t),r instanceof e?[r]:r.nodes);if(!(t===!1||!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=Jt(this.condition,t,r),this}get names(){let t=super.names;return uo(t,this.condition),this.else&&It(t,this.else.names),t}};Tt.kind="if";var Rt=class extends nt{};Rt.kind="for";var Ks=class extends Rt{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=Jt(this.iteration,t,r),this}get names(){return It(super.names,this.iteration.names)}},Hs=class extends Rt{constructor(t,r,n,o){super(),this.varKind=t,this.name=r,this.from=n,this.to=o}render(t){let r=t.es5?qe.varKinds.var:this.varKind,{name:n,from:o,to:i}=this;return`for(${r} ${n}=${o}; ${n}<${i}; ${n}++)`+super.render(t)}get names(){let t=uo(super.names,this.from);return uo(t,this.to)}},co=class extends Rt{constructor(t,r,n,o){super(),this.loop=t,this.varKind=r,this.name=n,this.iterable=o}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=Jt(this.iterable,t,r),this}get names(){return It(super.names,this.iterable.names)}},Gr=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)}};Gr.kind="func";var Wr=class extends Hr{render(t){return"return "+super.render(t)}};Wr.kind="return";var Gs=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,o;return super.optimizeNames(t,r),(n=this.catch)===null||n===void 0||n.optimizeNames(t,r),(o=this.finally)===null||o===void 0||o.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}},Jr=class extends nt{constructor(t){super(),this.error=t}render(t){return`catch(${this.error})`+super.render(t)}};Jr.kind="catch";var Qr=class extends nt{render(t){return"finally"+super.render(t)}};Qr.kind="finally";var Ws=class{constructor(t,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
4
- `:""},this._extScope=t,this._scope=new qe.Scope({parent:t}),this._nodes=[new Vs]}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,o){let i=this._scope.toName(r);return n!==void 0&&o&&(this._constants[i.str]=n),this._leafNode(new qs(t,i,n)),i}const(t,r,n){return this._def(qe.varKinds.const,t,r,n)}let(t,r,n){return this._def(qe.varKinds.let,t,r,n)}var(t,r,n){return this._def(qe.varKinds.var,t,r,n)}assign(t,r,n){return this._leafNode(new ao(t,r,n))}add(t,r){return this._leafNode(new Bs(t,O.operators.ADD,r))}code(t){return typeof t=="function"?t():t!==q.nil&&this._leafNode(new Fs(t)),this}object(...t){let r=["{"];for(let[n,o]of t)r.length>1&&r.push(","),r.push(n),(n!==o||this.opts.es5)&&(r.push(":"),(0,q.addCodeArg)(r,o));return r.push("}"),new q._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 Wt)}endIf(){return this._endBlockNode(Tt,Wt)}_for(t,r){return this._blockNode(t),r&&this.code(r).endFor(),this}for(t,r){return this._for(new Ks(t),r)}forRange(t,r,n,o,i=this.opts.es5?qe.varKinds.var:qe.varKinds.let){let s=this._scope.toName(t);return this._for(new Hs(i,s,r,n),()=>o(s))}forOf(t,r,n,o=qe.varKinds.const){let i=this._scope.toName(t);if(this.opts.es5){let s=r instanceof q.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,q._)`${s}.length`,a=>{this.var(i,(0,q._)`${s}[${a}]`),n(i)})}return this._for(new co("of",o,i,r),()=>n(i))}forIn(t,r,n,o=this.opts.es5?qe.varKinds.var:qe.varKinds.const){if(this.opts.ownProperties)return this.forOf(t,(0,q._)`Object.keys(${r})`,n);let i=this._scope.toName(t);return this._for(new co("in",o,i,r),()=>n(i))}endFor(){return this._endBlockNode(Rt)}label(t){return this._leafNode(new Ls(t))}break(t){return this._leafNode(new Zs(t))}return(t){let r=new Wr;if(this._blockNode(r),this.code(t),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Wr)}try(t,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new Gs;if(this._blockNode(o),this.code(t),r){let i=this.name("e");this._currNode=o.catch=new Jr(i),r(i)}return n&&(this._currNode=o.finally=new Qr,this.code(n)),this._endBlockNode(Jr,Qr)}throw(t){return this._leafNode(new Us(t))}block(t,r){return this._blockStarts.push(this._nodes.length),t&&this.code(t).endBlock(r),this}endBlock(t){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||t!==void 0&&n!==t)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${t} expected`);return this._nodes.length=r,this}func(t,r=q.nil,n,o){return this._blockNode(new Gr(t,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(Gr)}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}};O.CodeGen=Ws;function It(e,t){for(let r in t)e[r]=(e[r]||0)+(t[r]||0);return e}function uo(e,t){return t instanceof q._CodeOrName?It(e,t.names):e}function Jt(e,t,r){if(e instanceof q.Name)return n(e);if(!o(e))return e;return new q._Code(e._items.reduce((i,s)=>(s instanceof q.Name&&(s=n(s)),s instanceof q._Code?i.push(...s._items):i.push(s),i),[]));function n(i){let s=r[i.str];return s===void 0||t[i.str]!==1?i:(delete t[i.str],s)}function o(i){return i instanceof q._Code&&i._items.some(s=>s instanceof q.Name&&t[s.str]===1&&r[s.str]!==void 0)}}function Yw(e,t){for(let r in t)e[r]=(e[r]||0)-(t[r]||0)}function Bp(e){return typeof e=="boolean"||typeof e=="number"||e===null?!e:(0,q._)`!${Js(e)}`}O.not=Bp;var Xw=Lp(O.operators.AND);function eb(...e){return e.reduce(Xw)}O.and=eb;var tb=Lp(O.operators.OR);function rb(...e){return e.reduce(tb)}O.or=rb;function Lp(e){return(t,r)=>t===q.nil?r:r===q.nil?t:(0,q._)`${Js(t)} ${e} ${Js(r)}`}function Js(e){return e instanceof q.Name?e:(0,q._)`(${e})`}});var B=v(D=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0});D.checkStrictMode=D.getErrorPath=D.Type=D.useFunc=D.setEvaluated=D.evaluatedPropsToName=D.mergeEvaluated=D.eachItem=D.unescapeJsonPointer=D.escapeJsonPointer=D.escapeFragment=D.unescapeFragment=D.schemaRefOrVal=D.schemaHasRulesButRef=D.schemaHasRules=D.checkUnknownRules=D.alwaysValidSchema=D.toHash=void 0;var K=N(),nb=Kr();function ob(e){let t={};for(let r of e)t[r]=!0;return t}D.toHash=ob;function ib(e,t){return typeof t=="boolean"?t:Object.keys(t).length===0?!0:(Fp(e,t),!Vp(t,e.self.RULES.all))}D.alwaysValidSchema=ib;function Fp(e,t=e.schema){let{opts:r,self:n}=e;if(!r.strictSchema||typeof t=="boolean")return;let o=n.RULES.keywords;for(let i in t)o[i]||Gp(e,`unknown keyword: "${i}"`)}D.checkUnknownRules=Fp;function Vp(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(t[r])return!0;return!1}D.schemaHasRules=Vp;function sb(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(r!=="$ref"&&t.all[r])return!0;return!1}D.schemaHasRulesButRef=sb;function ab({topSchemaRef:e,schemaPath:t},r,n,o){if(!o){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,K._)`${r}`}return(0,K._)`${e}${t}${(0,K.getProperty)(n)}`}D.schemaRefOrVal=ab;function cb(e){return Kp(decodeURIComponent(e))}D.unescapeFragment=cb;function ub(e){return encodeURIComponent(Ys(e))}D.escapeFragment=ub;function Ys(e){return typeof e=="number"?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}D.escapeJsonPointer=Ys;function Kp(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}D.unescapeJsonPointer=Kp;function lb(e,t){if(Array.isArray(e))for(let r of e)t(r);else t(e)}D.eachItem=lb;function Zp({mergeNames:e,mergeToName:t,mergeValues:r,resultToName:n}){return(o,i,s,a)=>{let c=s===void 0?i:s instanceof K.Name?(i instanceof K.Name?e(o,i,s):t(o,i,s),s):i instanceof K.Name?(t(o,s,i),i):r(i,s);return a===K.Name&&!(c instanceof K.Name)?n(o,c):c}}D.mergeEvaluated={props:Zp({mergeNames:(e,t,r)=>e.if((0,K._)`${r} !== true && ${t} !== undefined`,()=>{e.if((0,K._)`${t} === true`,()=>e.assign(r,!0),()=>e.assign(r,(0,K._)`${r} || {}`).code((0,K._)`Object.assign(${r}, ${t})`))}),mergeToName:(e,t,r)=>e.if((0,K._)`${r} !== true`,()=>{t===!0?e.assign(r,!0):(e.assign(r,(0,K._)`${r} || {}`),Xs(e,r,t))}),mergeValues:(e,t)=>e===!0?!0:{...e,...t},resultToName:Hp}),items:Zp({mergeNames:(e,t,r)=>e.if((0,K._)`${r} !== true && ${t} !== undefined`,()=>e.assign(r,(0,K._)`${t} === true ? true : ${r} > ${t} ? ${r} : ${t}`)),mergeToName:(e,t,r)=>e.if((0,K._)`${r} !== true`,()=>e.assign(r,t===!0?!0:(0,K._)`${r} > ${t} ? ${r} : ${t}`)),mergeValues:(e,t)=>e===!0?!0:Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})};function Hp(e,t){if(t===!0)return e.var("props",!0);let r=e.var("props",(0,K._)`{}`);return t!==void 0&&Xs(e,r,t),r}D.evaluatedPropsToName=Hp;function Xs(e,t,r){Object.keys(r).forEach(n=>e.assign((0,K._)`${t}${(0,K.getProperty)(n)}`,!0))}D.setEvaluated=Xs;var Up={};function db(e,t){return e.scopeValue("func",{ref:t,code:Up[t.code]||(Up[t.code]=new nb._Code(t.code))})}D.useFunc=db;var Qs;(function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"})(Qs||(D.Type=Qs={}));function pb(e,t,r){if(e instanceof K.Name){let n=t===Qs.Num;return r?n?(0,K._)`"[" + ${e} + "]"`:(0,K._)`"['" + ${e} + "']"`:n?(0,K._)`"/" + ${e}`:(0,K._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,K.getProperty)(e).toString():"/"+Ys(e)}D.getErrorPath=pb;function Gp(e,t,r=e.opts.strictSchema){if(r){if(t=`strict mode: ${t}`,r===!0)throw new Error(t);e.self.logger.warn(t)}}D.checkStrictMode=Gp});var ot=v(ea=>{"use strict";Object.defineProperty(ea,"__esModule",{value:!0});var me=N(),fb={data:new me.Name("data"),valCxt:new me.Name("valCxt"),instancePath:new me.Name("instancePath"),parentData:new me.Name("parentData"),parentDataProperty:new me.Name("parentDataProperty"),rootData:new me.Name("rootData"),dynamicAnchors:new me.Name("dynamicAnchors"),vErrors:new me.Name("vErrors"),errors:new me.Name("errors"),this:new me.Name("this"),self:new me.Name("self"),scope:new me.Name("scope"),json:new me.Name("json"),jsonPos:new me.Name("jsonPos"),jsonLen:new me.Name("jsonLen"),jsonPart:new me.Name("jsonPart")};ea.default=fb});var Yr=v(he=>{"use strict";Object.defineProperty(he,"__esModule",{value:!0});he.extendErrors=he.resetErrorsCount=he.reportExtraError=he.reportError=he.keyword$DataError=he.keywordError=void 0;var L=N(),po=B(),we=ot();he.keywordError={message:({keyword:e})=>(0,L.str)`must pass "${e}" keyword validation`};he.keyword$DataError={message:({keyword:e,schemaType:t})=>t?(0,L.str)`"${e}" keyword must be ${t} ($data)`:(0,L.str)`"${e}" keyword is invalid ($data)`};function mb(e,t=he.keywordError,r,n){let{it:o}=e,{gen:i,compositeRule:s,allErrors:a}=o,c=Qp(e,t,r);n??(s||a)?Wp(i,c):Jp(o,(0,L._)`[${c}]`)}he.reportError=mb;function hb(e,t=he.keywordError,r){let{it:n}=e,{gen:o,compositeRule:i,allErrors:s}=n,a=Qp(e,t,r);Wp(o,a),i||s||Jp(n,we.default.vErrors)}he.reportExtraError=hb;function gb(e,t){e.assign(we.default.errors,t),e.if((0,L._)`${we.default.vErrors} !== null`,()=>e.if(t,()=>e.assign((0,L._)`${we.default.vErrors}.length`,t),()=>e.assign(we.default.vErrors,null)))}he.resetErrorsCount=gb;function yb({gen:e,keyword:t,schemaValue:r,data:n,errsCount:o,it:i}){if(o===void 0)throw new Error("ajv implementation error");let s=e.name("err");e.forRange("i",o,we.default.errors,a=>{e.const(s,(0,L._)`${we.default.vErrors}[${a}]`),e.if((0,L._)`${s}.instancePath === undefined`,()=>e.assign((0,L._)`${s}.instancePath`,(0,L.strConcat)(we.default.instancePath,i.errorPath))),e.assign((0,L._)`${s}.schemaPath`,(0,L.str)`${i.errSchemaPath}/${t}`),i.opts.verbose&&(e.assign((0,L._)`${s}.schema`,r),e.assign((0,L._)`${s}.data`,n))})}he.extendErrors=yb;function Wp(e,t){let r=e.const("err",t);e.if((0,L._)`${we.default.vErrors} === null`,()=>e.assign(we.default.vErrors,(0,L._)`[${r}]`),(0,L._)`${we.default.vErrors}.push(${r})`),e.code((0,L._)`${we.default.errors}++`)}function Jp(e,t){let{gen:r,validateName:n,schemaEnv:o}=e;o.$async?r.throw((0,L._)`new ${e.ValidationError}(${t})`):(r.assign((0,L._)`${n}.errors`,t),r.return(!1))}var At={keyword:new L.Name("keyword"),schemaPath:new L.Name("schemaPath"),params:new L.Name("params"),propertyName:new L.Name("propertyName"),message:new L.Name("message"),schema:new L.Name("schema"),parentSchema:new L.Name("parentSchema")};function Qp(e,t,r){let{createErrors:n}=e.it;return n===!1?(0,L._)`{}`:_b(e,t,r)}function _b(e,t,r={}){let{gen:n,it:o}=e,i=[vb(o,r),wb(e,r)];return bb(e,t,i),n.object(...i)}function vb({errorPath:e},{instancePath:t}){let r=t?(0,L.str)`${e}${(0,po.getErrorPath)(t,po.Type.Str)}`:e;return[we.default.instancePath,(0,L.strConcat)(we.default.instancePath,r)]}function wb({keyword:e,it:{errSchemaPath:t}},{schemaPath:r,parentSchema:n}){let o=n?t:(0,L.str)`${t}/${e}`;return r&&(o=(0,L.str)`${o}${(0,po.getErrorPath)(r,po.Type.Str)}`),[At.schemaPath,o]}function bb(e,{params:t,message:r},n){let{keyword:o,data:i,schemaValue:s,it:a}=e,{opts:c,propertyName:l,topSchemaRef:u,schemaPath:d}=a;n.push([At.keyword,o],[At.params,typeof t=="function"?t(e):t||(0,L._)`{}`]),c.messages&&n.push([At.message,typeof r=="function"?r(e):r]),c.verbose&&n.push([At.schema,s],[At.parentSchema,(0,L._)`${u}${d}`],[we.default.data,i]),l&&n.push([At.propertyName,l])}});var Xp=v(Qt=>{"use strict";Object.defineProperty(Qt,"__esModule",{value:!0});Qt.boolOrEmptySchema=Qt.topBoolOrEmptySchema=void 0;var $b=Yr(),xb=N(),kb=ot(),Sb={message:"boolean schema is false"};function Eb(e){let{gen:t,schema:r,validateName:n}=e;r===!1?Yp(e,!1):typeof r=="object"&&r.$async===!0?t.return(kb.default.data):(t.assign((0,xb._)`${n}.errors`,null),t.return(!0))}Qt.topBoolOrEmptySchema=Eb;function zb(e,t){let{gen:r,schema:n}=e;n===!1?(r.var(t,!1),Yp(e)):r.var(t,!0)}Qt.boolOrEmptySchema=zb;function Yp(e,t){let{gen:r,data:n}=e,o={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,$b.reportError)(o,Sb,void 0,t)}});var ta=v(Yt=>{"use strict";Object.defineProperty(Yt,"__esModule",{value:!0});Yt.getRules=Yt.isJSONType=void 0;var Pb=["string","number","integer","boolean","null","object","array"],Tb=new Set(Pb);function Rb(e){return typeof e=="string"&&Tb.has(e)}Yt.isJSONType=Rb;function Ib(){let e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}Yt.getRules=Ib});var ra=v(mt=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.shouldUseRule=mt.shouldUseGroup=mt.schemaHasRulesForType=void 0;function Ab({schema:e,self:t},r){let n=t.RULES.types[r];return n&&n!==!0&&ef(e,n)}mt.schemaHasRulesForType=Ab;function ef(e,t){return t.rules.some(r=>tf(e,r))}mt.shouldUseGroup=ef;function tf(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))}mt.shouldUseRule=tf});var Xr=v(ge=>{"use strict";Object.defineProperty(ge,"__esModule",{value:!0});ge.reportTypeError=ge.checkDataTypes=ge.checkDataType=ge.coerceAndCheckDataType=ge.getJSONTypes=ge.getSchemaTypes=ge.DataType=void 0;var Cb=ta(),Nb=ra(),Ob=Yr(),C=N(),rf=B(),Xt;(function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"})(Xt||(ge.DataType=Xt={}));function Db(e){let t=nf(e.type);if(t.includes("null")){if(e.nullable===!1)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===!0&&t.push("null")}return t}ge.getSchemaTypes=Db;function nf(e){let t=Array.isArray(e)?e:e?[e]:[];if(t.every(Cb.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}ge.getJSONTypes=nf;function jb(e,t){let{gen:r,data:n,opts:o}=e,i=Mb(t,o.coerceTypes),s=t.length>0&&!(i.length===0&&t.length===1&&(0,Nb.schemaHasRulesForType)(e,t[0]));if(s){let a=oa(t,n,o.strictNumbers,Xt.Wrong);r.if(a,()=>{i.length?qb(e,t,i):ia(e)})}return s}ge.coerceAndCheckDataType=jb;var of=new Set(["string","number","integer","boolean","null"]);function Mb(e,t){return t?e.filter(r=>of.has(r)||t==="array"&&r==="array"):[]}function qb(e,t,r){let{gen:n,data:o,opts:i}=e,s=n.let("dataType",(0,C._)`typeof ${o}`),a=n.let("coerced",(0,C._)`undefined`);i.coerceTypes==="array"&&n.if((0,C._)`${s} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>n.assign(o,(0,C._)`${o}[0]`).assign(s,(0,C._)`typeof ${o}`).if(oa(t,o,i.strictNumbers),()=>n.assign(a,o))),n.if((0,C._)`${a} !== undefined`);for(let l of r)(of.has(l)||l==="array"&&i.coerceTypes==="array")&&c(l);n.else(),ia(e),n.endIf(),n.if((0,C._)`${a} !== undefined`,()=>{n.assign(o,a),Bb(e,a)});function c(l){switch(l){case"string":n.elseIf((0,C._)`${s} == "number" || ${s} == "boolean"`).assign(a,(0,C._)`"" + ${o}`).elseIf((0,C._)`${o} === null`).assign(a,(0,C._)`""`);return;case"number":n.elseIf((0,C._)`${s} == "boolean" || ${o} === null
3
+ var Dy=Object.create;var mi=Object.defineProperty;var jy=Object.getOwnPropertyDescriptor;var My=Object.getOwnPropertyNames;var qy=Object.getPrototypeOf,By=Object.prototype.hasOwnProperty;var ct=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var v=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),fu=(e,t)=>{for(var r in t)mi(e,r,{get:t[r],enumerable:!0})},Ly=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of My(t))!By.call(e,o)&&o!==r&&mi(e,o,{get:()=>t[o],enumerable:!(n=jy(t,o))||n.enumerable});return e};var hi=(e,t,r)=>(r=e!=null?Dy(qy(e)):{},Ly(t||!e||!e.__esModule?mi(r,"default",{value:e,enumerable:!0}):r,e));var Kr=v(Z=>{"use strict";Object.defineProperty(Z,"__esModule",{value:!0});Z.regexpCode=Z.getEsmExportName=Z.getProperty=Z.safeStringify=Z.stringify=Z.strConcat=Z.addCodeArg=Z.str=Z._=Z.nil=Z._Code=Z.Name=Z.IDENTIFIER=Z._CodeOrName=void 0;var Fr=class{};Z._CodeOrName=Fr;Z.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Tt=class extends Fr{constructor(t){if(super(),!Z.IDENTIFIER.test(t))throw new Error("CodeGen: name must be a valid identifier");this.str=t}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};Z.Name=Tt;var Ce=class extends Fr{constructor(t){super(),this._items=typeof t=="string"?[t]:t}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;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 Tt&&(r[n.str]=(r[n.str]||0)+1),r),{})}};Z._Code=Ce;Z.nil=new Ce("");function Mp(e,...t){let r=[e[0]],n=0;for(;n<t.length;)Os(r,t[n]),r.push(e[++n]);return new Ce(r)}Z._=Mp;var Ns=new Ce("+");function qp(e,...t){let r=[Vr(e[0])],n=0;for(;n<t.length;)r.push(Ns),Os(r,t[n]),r.push(Ns,Vr(e[++n]));return Uw(r),new Ce(r)}Z.str=qp;function Os(e,t){t instanceof Ce?e.push(...t._items):t instanceof Tt?e.push(t):e.push(Kw(t))}Z.addCodeArg=Os;function Uw(e){let t=1;for(;t<e.length-1;){if(e[t]===Ns){let r=Fw(e[t-1],e[t+1]);if(r!==void 0){e.splice(t-1,3,r);continue}e[t++]="+"}t++}}function Fw(e,t){if(t==='""')return e;if(e==='""')return t;if(typeof e=="string")return t instanceof Tt||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 Tt))return`"${e}${t.slice(1)}`}function Vw(e,t){return t.emptyStr()?e:e.emptyStr()?t:qp`${e}${t}`}Z.strConcat=Vw;function Kw(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:Vr(Array.isArray(e)?e.join(","):e)}function Hw(e){return new Ce(Vr(e))}Z.stringify=Hw;function Vr(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}Z.safeStringify=Vr;function Gw(e){return typeof e=="string"&&Z.IDENTIFIER.test(e)?new Ce(`.${e}`):Mp`[${e}]`}Z.getProperty=Gw;function Ww(e){if(typeof e=="string"&&Z.IDENTIFIER.test(e))return new Ce(`${e}`);throw new Error(`CodeGen: invalid export name: ${e}, use explicit $id name mapping`)}Z.getEsmExportName=Ww;function Jw(e){return new Ce(e.toString())}Z.regexpCode=Jw});var Ms=v(Se=>{"use strict";Object.defineProperty(Se,"__esModule",{value:!0});Se.ValueScope=Se.ValueScopeName=Se.Scope=Se.varKinds=Se.UsedValueState=void 0;var ke=Kr(),Ds=class extends Error{constructor(t){super(`CodeGen: "code" for ${t} not defined`),this.value=t.value}},oo;(function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed"})(oo||(Se.UsedValueState=oo={}));Se.varKinds={const:new ke.Name("const"),let:new ke.Name("let"),var:new ke.Name("var")};var io=class{constructor({prefixes:t,parent:r}={}){this._names={},this._prefixes=t,this._parent=r}toName(t){return t instanceof ke.Name?t:this.name(t)}name(t){return new ke.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}}};Se.Scope=io;var so=class extends ke.Name{constructor(t,r){super(r),this.prefix=t}setValue(t,{property:r,itemIndex:n}){this.value=t,this.scopePath=(0,ke._)`.${new ke.Name(r)}[${n}]`}};Se.ValueScopeName=so;var Qw=(0,ke._)`\n`,js=class extends io{constructor(t){super(t),this._values={},this._scope=t.scope,this.opts={...t,_n:t.lines?Qw:ke.nil}}get(){return this._scope}name(t){return new so(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 o=this.toName(t),{prefix:i}=o,s=(n=r.key)!==null&&n!==void 0?n:r.ref,a=this._values[i];if(a){let u=a.get(s);if(u)return u}else a=this._values[i]=new Map;a.set(s,o);let c=this._scope[i]||(this._scope[i]=[]),l=c.length;return c[l]=r.ref,o.setValue(r,{property:i,itemIndex:l}),o}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,ke._)`${t}${n.scopePath}`})}scopeCode(t=this._values,r,n){return this._reduceValues(t,o=>{if(o.value===void 0)throw new Error(`CodeGen: name "${o}" has no value`);return o.value.code},r,n)}_reduceValues(t,r,n={},o){let i=ke.nil;for(let s in t){let a=t[s];if(!a)continue;let c=n[s]=n[s]||new Map;a.forEach(l=>{if(c.has(l))return;c.set(l,oo.Started);let u=r(l);if(u){let d=this.opts.es5?Se.varKinds.var:Se.varKinds.const;i=(0,ke._)`${i}${d} ${l} = ${u};${this.opts._n}`}else if(u=o?.(l))i=(0,ke._)`${i}${u}${this.opts._n}`;else throw new Ds(l);c.set(l,oo.Completed)})}return i}};Se.ValueScope=js});var N=v(O=>{"use strict";Object.defineProperty(O,"__esModule",{value:!0});O.or=O.and=O.not=O.CodeGen=O.operators=O.varKinds=O.ValueScopeName=O.ValueScope=O.Scope=O.Name=O.regexpCode=O.stringify=O.getProperty=O.nil=O.strConcat=O.str=O._=void 0;var q=Kr(),qe=Ms(),ft=Kr();Object.defineProperty(O,"_",{enumerable:!0,get:function(){return ft._}});Object.defineProperty(O,"str",{enumerable:!0,get:function(){return ft.str}});Object.defineProperty(O,"strConcat",{enumerable:!0,get:function(){return ft.strConcat}});Object.defineProperty(O,"nil",{enumerable:!0,get:function(){return ft.nil}});Object.defineProperty(O,"getProperty",{enumerable:!0,get:function(){return ft.getProperty}});Object.defineProperty(O,"stringify",{enumerable:!0,get:function(){return ft.stringify}});Object.defineProperty(O,"regexpCode",{enumerable:!0,get:function(){return ft.regexpCode}});Object.defineProperty(O,"Name",{enumerable:!0,get:function(){return ft.Name}});var lo=Ms();Object.defineProperty(O,"Scope",{enumerable:!0,get:function(){return lo.Scope}});Object.defineProperty(O,"ValueScope",{enumerable:!0,get:function(){return lo.ValueScope}});Object.defineProperty(O,"ValueScopeName",{enumerable:!0,get:function(){return lo.ValueScopeName}});Object.defineProperty(O,"varKinds",{enumerable:!0,get:function(){return lo.varKinds}});O.operators={GT:new q._Code(">"),GTE:new q._Code(">="),LT:new q._Code("<"),LTE:new q._Code("<="),EQ:new q._Code("==="),NEQ:new q._Code("!=="),NOT:new q._Code("!"),OR:new q._Code("||"),AND:new q._Code("&&"),ADD:new q._Code("+")};var rt=class{optimizeNodes(){return this}optimizeNames(t,r){return this}},qs=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?qe.varKinds.var:this.varKind,o=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${o};`+r}optimizeNames(t,r){if(t[this.name.str])return this.rhs&&(this.rhs=Jt(this.rhs,t,r)),this}get names(){return this.rhs instanceof q._CodeOrName?this.rhs.names:{}}},ao=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 q.Name&&!t[this.lhs.str]&&!this.sideEffects))return this.rhs=Jt(this.rhs,t,r),this}get names(){let t=this.lhs instanceof q.Name?{}:{...this.lhs.names};return uo(t,this.rhs)}},Bs=class extends ao{constructor(t,r,n,o){super(t,n,o),this.op=r}render({_n:t}){return`${this.lhs} ${this.op}= ${this.rhs};`+t}},Ls=class extends rt{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`${this.label}:`+t}},Zs=class extends rt{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`break${this.label?` ${this.label}`:""};`+t}},Us=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=Jt(this.code,t,r),this}get names(){return this.code instanceof q._CodeOrName?this.code.names:{}}},Hr=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,o=n.length;for(;o--;){let i=n[o];i.optimizeNames(t,r)||(Yw(t,i.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((t,r)=>It(t,r.names),{})}},nt=class extends Hr{render(t){return"{"+t._n+super.render(t)+"}"+t._n}},Vs=class extends Hr{},Wt=class extends nt{};Wt.kind="else";var Pt=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===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new Wt(n):n}if(r)return t===!1?r instanceof e?r:r.nodes:this.nodes.length?this:new e(Bp(t),r instanceof e?[r]:r.nodes);if(!(t===!1||!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=Jt(this.condition,t,r),this}get names(){let t=super.names;return uo(t,this.condition),this.else&&It(t,this.else.names),t}};Pt.kind="if";var Rt=class extends nt{};Rt.kind="for";var Ks=class extends Rt{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=Jt(this.iteration,t,r),this}get names(){return It(super.names,this.iteration.names)}},Hs=class extends Rt{constructor(t,r,n,o){super(),this.varKind=t,this.name=r,this.from=n,this.to=o}render(t){let r=t.es5?qe.varKinds.var:this.varKind,{name:n,from:o,to:i}=this;return`for(${r} ${n}=${o}; ${n}<${i}; ${n}++)`+super.render(t)}get names(){let t=uo(super.names,this.from);return uo(t,this.to)}},co=class extends Rt{constructor(t,r,n,o){super(),this.loop=t,this.varKind=r,this.name=n,this.iterable=o}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=Jt(this.iterable,t,r),this}get names(){return It(super.names,this.iterable.names)}},Gr=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)}};Gr.kind="func";var Wr=class extends Hr{render(t){return"return "+super.render(t)}};Wr.kind="return";var Gs=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,o;return super.optimizeNames(t,r),(n=this.catch)===null||n===void 0||n.optimizeNames(t,r),(o=this.finally)===null||o===void 0||o.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}},Jr=class extends nt{constructor(t){super(),this.error=t}render(t){return`catch(${this.error})`+super.render(t)}};Jr.kind="catch";var Qr=class extends nt{render(t){return"finally"+super.render(t)}};Qr.kind="finally";var Ws=class{constructor(t,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
4
+ `:""},this._extScope=t,this._scope=new qe.Scope({parent:t}),this._nodes=[new Vs]}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,o){let i=this._scope.toName(r);return n!==void 0&&o&&(this._constants[i.str]=n),this._leafNode(new qs(t,i,n)),i}const(t,r,n){return this._def(qe.varKinds.const,t,r,n)}let(t,r,n){return this._def(qe.varKinds.let,t,r,n)}var(t,r,n){return this._def(qe.varKinds.var,t,r,n)}assign(t,r,n){return this._leafNode(new ao(t,r,n))}add(t,r){return this._leafNode(new Bs(t,O.operators.ADD,r))}code(t){return typeof t=="function"?t():t!==q.nil&&this._leafNode(new Fs(t)),this}object(...t){let r=["{"];for(let[n,o]of t)r.length>1&&r.push(","),r.push(n),(n!==o||this.opts.es5)&&(r.push(":"),(0,q.addCodeArg)(r,o));return r.push("}"),new q._Code(r)}if(t,r,n){if(this._blockNode(new Pt(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 Pt(t))}else(){return this._elseNode(new Wt)}endIf(){return this._endBlockNode(Pt,Wt)}_for(t,r){return this._blockNode(t),r&&this.code(r).endFor(),this}for(t,r){return this._for(new Ks(t),r)}forRange(t,r,n,o,i=this.opts.es5?qe.varKinds.var:qe.varKinds.let){let s=this._scope.toName(t);return this._for(new Hs(i,s,r,n),()=>o(s))}forOf(t,r,n,o=qe.varKinds.const){let i=this._scope.toName(t);if(this.opts.es5){let s=r instanceof q.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,q._)`${s}.length`,a=>{this.var(i,(0,q._)`${s}[${a}]`),n(i)})}return this._for(new co("of",o,i,r),()=>n(i))}forIn(t,r,n,o=this.opts.es5?qe.varKinds.var:qe.varKinds.const){if(this.opts.ownProperties)return this.forOf(t,(0,q._)`Object.keys(${r})`,n);let i=this._scope.toName(t);return this._for(new co("in",o,i,r),()=>n(i))}endFor(){return this._endBlockNode(Rt)}label(t){return this._leafNode(new Ls(t))}break(t){return this._leafNode(new Zs(t))}return(t){let r=new Wr;if(this._blockNode(r),this.code(t),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Wr)}try(t,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new Gs;if(this._blockNode(o),this.code(t),r){let i=this.name("e");this._currNode=o.catch=new Jr(i),r(i)}return n&&(this._currNode=o.finally=new Qr,this.code(n)),this._endBlockNode(Jr,Qr)}throw(t){return this._leafNode(new Us(t))}block(t,r){return this._blockStarts.push(this._nodes.length),t&&this.code(t).endBlock(r),this}endBlock(t){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||t!==void 0&&n!==t)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${t} expected`);return this._nodes.length=r,this}func(t,r=q.nil,n,o){return this._blockNode(new Gr(t,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(Gr)}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 Pt))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}};O.CodeGen=Ws;function It(e,t){for(let r in t)e[r]=(e[r]||0)+(t[r]||0);return e}function uo(e,t){return t instanceof q._CodeOrName?It(e,t.names):e}function Jt(e,t,r){if(e instanceof q.Name)return n(e);if(!o(e))return e;return new q._Code(e._items.reduce((i,s)=>(s instanceof q.Name&&(s=n(s)),s instanceof q._Code?i.push(...s._items):i.push(s),i),[]));function n(i){let s=r[i.str];return s===void 0||t[i.str]!==1?i:(delete t[i.str],s)}function o(i){return i instanceof q._Code&&i._items.some(s=>s instanceof q.Name&&t[s.str]===1&&r[s.str]!==void 0)}}function Yw(e,t){for(let r in t)e[r]=(e[r]||0)-(t[r]||0)}function Bp(e){return typeof e=="boolean"||typeof e=="number"||e===null?!e:(0,q._)`!${Js(e)}`}O.not=Bp;var Xw=Lp(O.operators.AND);function eb(...e){return e.reduce(Xw)}O.and=eb;var tb=Lp(O.operators.OR);function rb(...e){return e.reduce(tb)}O.or=rb;function Lp(e){return(t,r)=>t===q.nil?r:r===q.nil?t:(0,q._)`${Js(t)} ${e} ${Js(r)}`}function Js(e){return e instanceof q.Name?e:(0,q._)`(${e})`}});var B=v(D=>{"use strict";Object.defineProperty(D,"__esModule",{value:!0});D.checkStrictMode=D.getErrorPath=D.Type=D.useFunc=D.setEvaluated=D.evaluatedPropsToName=D.mergeEvaluated=D.eachItem=D.unescapeJsonPointer=D.escapeJsonPointer=D.escapeFragment=D.unescapeFragment=D.schemaRefOrVal=D.schemaHasRulesButRef=D.schemaHasRules=D.checkUnknownRules=D.alwaysValidSchema=D.toHash=void 0;var K=N(),nb=Kr();function ob(e){let t={};for(let r of e)t[r]=!0;return t}D.toHash=ob;function ib(e,t){return typeof t=="boolean"?t:Object.keys(t).length===0?!0:(Fp(e,t),!Vp(t,e.self.RULES.all))}D.alwaysValidSchema=ib;function Fp(e,t=e.schema){let{opts:r,self:n}=e;if(!r.strictSchema||typeof t=="boolean")return;let o=n.RULES.keywords;for(let i in t)o[i]||Gp(e,`unknown keyword: "${i}"`)}D.checkUnknownRules=Fp;function Vp(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(t[r])return!0;return!1}D.schemaHasRules=Vp;function sb(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(r!=="$ref"&&t.all[r])return!0;return!1}D.schemaHasRulesButRef=sb;function ab({topSchemaRef:e,schemaPath:t},r,n,o){if(!o){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,K._)`${r}`}return(0,K._)`${e}${t}${(0,K.getProperty)(n)}`}D.schemaRefOrVal=ab;function cb(e){return Kp(decodeURIComponent(e))}D.unescapeFragment=cb;function ub(e){return encodeURIComponent(Ys(e))}D.escapeFragment=ub;function Ys(e){return typeof e=="number"?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}D.escapeJsonPointer=Ys;function Kp(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}D.unescapeJsonPointer=Kp;function lb(e,t){if(Array.isArray(e))for(let r of e)t(r);else t(e)}D.eachItem=lb;function Zp({mergeNames:e,mergeToName:t,mergeValues:r,resultToName:n}){return(o,i,s,a)=>{let c=s===void 0?i:s instanceof K.Name?(i instanceof K.Name?e(o,i,s):t(o,i,s),s):i instanceof K.Name?(t(o,s,i),i):r(i,s);return a===K.Name&&!(c instanceof K.Name)?n(o,c):c}}D.mergeEvaluated={props:Zp({mergeNames:(e,t,r)=>e.if((0,K._)`${r} !== true && ${t} !== undefined`,()=>{e.if((0,K._)`${t} === true`,()=>e.assign(r,!0),()=>e.assign(r,(0,K._)`${r} || {}`).code((0,K._)`Object.assign(${r}, ${t})`))}),mergeToName:(e,t,r)=>e.if((0,K._)`${r} !== true`,()=>{t===!0?e.assign(r,!0):(e.assign(r,(0,K._)`${r} || {}`),Xs(e,r,t))}),mergeValues:(e,t)=>e===!0?!0:{...e,...t},resultToName:Hp}),items:Zp({mergeNames:(e,t,r)=>e.if((0,K._)`${r} !== true && ${t} !== undefined`,()=>e.assign(r,(0,K._)`${t} === true ? true : ${r} > ${t} ? ${r} : ${t}`)),mergeToName:(e,t,r)=>e.if((0,K._)`${r} !== true`,()=>e.assign(r,t===!0?!0:(0,K._)`${r} > ${t} ? ${r} : ${t}`)),mergeValues:(e,t)=>e===!0?!0:Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})};function Hp(e,t){if(t===!0)return e.var("props",!0);let r=e.var("props",(0,K._)`{}`);return t!==void 0&&Xs(e,r,t),r}D.evaluatedPropsToName=Hp;function Xs(e,t,r){Object.keys(r).forEach(n=>e.assign((0,K._)`${t}${(0,K.getProperty)(n)}`,!0))}D.setEvaluated=Xs;var Up={};function db(e,t){return e.scopeValue("func",{ref:t,code:Up[t.code]||(Up[t.code]=new nb._Code(t.code))})}D.useFunc=db;var Qs;(function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"})(Qs||(D.Type=Qs={}));function pb(e,t,r){if(e instanceof K.Name){let n=t===Qs.Num;return r?n?(0,K._)`"[" + ${e} + "]"`:(0,K._)`"['" + ${e} + "']"`:n?(0,K._)`"/" + ${e}`:(0,K._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,K.getProperty)(e).toString():"/"+Ys(e)}D.getErrorPath=pb;function Gp(e,t,r=e.opts.strictSchema){if(r){if(t=`strict mode: ${t}`,r===!0)throw new Error(t);e.self.logger.warn(t)}}D.checkStrictMode=Gp});var ot=v(ea=>{"use strict";Object.defineProperty(ea,"__esModule",{value:!0});var me=N(),fb={data:new me.Name("data"),valCxt:new me.Name("valCxt"),instancePath:new me.Name("instancePath"),parentData:new me.Name("parentData"),parentDataProperty:new me.Name("parentDataProperty"),rootData:new me.Name("rootData"),dynamicAnchors:new me.Name("dynamicAnchors"),vErrors:new me.Name("vErrors"),errors:new me.Name("errors"),this:new me.Name("this"),self:new me.Name("self"),scope:new me.Name("scope"),json:new me.Name("json"),jsonPos:new me.Name("jsonPos"),jsonLen:new me.Name("jsonLen"),jsonPart:new me.Name("jsonPart")};ea.default=fb});var Yr=v(he=>{"use strict";Object.defineProperty(he,"__esModule",{value:!0});he.extendErrors=he.resetErrorsCount=he.reportExtraError=he.reportError=he.keyword$DataError=he.keywordError=void 0;var L=N(),po=B(),we=ot();he.keywordError={message:({keyword:e})=>(0,L.str)`must pass "${e}" keyword validation`};he.keyword$DataError={message:({keyword:e,schemaType:t})=>t?(0,L.str)`"${e}" keyword must be ${t} ($data)`:(0,L.str)`"${e}" keyword is invalid ($data)`};function mb(e,t=he.keywordError,r,n){let{it:o}=e,{gen:i,compositeRule:s,allErrors:a}=o,c=Qp(e,t,r);n??(s||a)?Wp(i,c):Jp(o,(0,L._)`[${c}]`)}he.reportError=mb;function hb(e,t=he.keywordError,r){let{it:n}=e,{gen:o,compositeRule:i,allErrors:s}=n,a=Qp(e,t,r);Wp(o,a),i||s||Jp(n,we.default.vErrors)}he.reportExtraError=hb;function gb(e,t){e.assign(we.default.errors,t),e.if((0,L._)`${we.default.vErrors} !== null`,()=>e.if(t,()=>e.assign((0,L._)`${we.default.vErrors}.length`,t),()=>e.assign(we.default.vErrors,null)))}he.resetErrorsCount=gb;function yb({gen:e,keyword:t,schemaValue:r,data:n,errsCount:o,it:i}){if(o===void 0)throw new Error("ajv implementation error");let s=e.name("err");e.forRange("i",o,we.default.errors,a=>{e.const(s,(0,L._)`${we.default.vErrors}[${a}]`),e.if((0,L._)`${s}.instancePath === undefined`,()=>e.assign((0,L._)`${s}.instancePath`,(0,L.strConcat)(we.default.instancePath,i.errorPath))),e.assign((0,L._)`${s}.schemaPath`,(0,L.str)`${i.errSchemaPath}/${t}`),i.opts.verbose&&(e.assign((0,L._)`${s}.schema`,r),e.assign((0,L._)`${s}.data`,n))})}he.extendErrors=yb;function Wp(e,t){let r=e.const("err",t);e.if((0,L._)`${we.default.vErrors} === null`,()=>e.assign(we.default.vErrors,(0,L._)`[${r}]`),(0,L._)`${we.default.vErrors}.push(${r})`),e.code((0,L._)`${we.default.errors}++`)}function Jp(e,t){let{gen:r,validateName:n,schemaEnv:o}=e;o.$async?r.throw((0,L._)`new ${e.ValidationError}(${t})`):(r.assign((0,L._)`${n}.errors`,t),r.return(!1))}var At={keyword:new L.Name("keyword"),schemaPath:new L.Name("schemaPath"),params:new L.Name("params"),propertyName:new L.Name("propertyName"),message:new L.Name("message"),schema:new L.Name("schema"),parentSchema:new L.Name("parentSchema")};function Qp(e,t,r){let{createErrors:n}=e.it;return n===!1?(0,L._)`{}`:_b(e,t,r)}function _b(e,t,r={}){let{gen:n,it:o}=e,i=[vb(o,r),wb(e,r)];return bb(e,t,i),n.object(...i)}function vb({errorPath:e},{instancePath:t}){let r=t?(0,L.str)`${e}${(0,po.getErrorPath)(t,po.Type.Str)}`:e;return[we.default.instancePath,(0,L.strConcat)(we.default.instancePath,r)]}function wb({keyword:e,it:{errSchemaPath:t}},{schemaPath:r,parentSchema:n}){let o=n?t:(0,L.str)`${t}/${e}`;return r&&(o=(0,L.str)`${o}${(0,po.getErrorPath)(r,po.Type.Str)}`),[At.schemaPath,o]}function bb(e,{params:t,message:r},n){let{keyword:o,data:i,schemaValue:s,it:a}=e,{opts:c,propertyName:l,topSchemaRef:u,schemaPath:d}=a;n.push([At.keyword,o],[At.params,typeof t=="function"?t(e):t||(0,L._)`{}`]),c.messages&&n.push([At.message,typeof r=="function"?r(e):r]),c.verbose&&n.push([At.schema,s],[At.parentSchema,(0,L._)`${u}${d}`],[we.default.data,i]),l&&n.push([At.propertyName,l])}});var Xp=v(Qt=>{"use strict";Object.defineProperty(Qt,"__esModule",{value:!0});Qt.boolOrEmptySchema=Qt.topBoolOrEmptySchema=void 0;var $b=Yr(),xb=N(),kb=ot(),Sb={message:"boolean schema is false"};function Eb(e){let{gen:t,schema:r,validateName:n}=e;r===!1?Yp(e,!1):typeof r=="object"&&r.$async===!0?t.return(kb.default.data):(t.assign((0,xb._)`${n}.errors`,null),t.return(!0))}Qt.topBoolOrEmptySchema=Eb;function zb(e,t){let{gen:r,schema:n}=e;n===!1?(r.var(t,!1),Yp(e)):r.var(t,!0)}Qt.boolOrEmptySchema=zb;function Yp(e,t){let{gen:r,data:n}=e,o={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,$b.reportError)(o,Sb,void 0,t)}});var ta=v(Yt=>{"use strict";Object.defineProperty(Yt,"__esModule",{value:!0});Yt.getRules=Yt.isJSONType=void 0;var Tb=["string","number","integer","boolean","null","object","array"],Pb=new Set(Tb);function Rb(e){return typeof e=="string"&&Pb.has(e)}Yt.isJSONType=Rb;function Ib(){let e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}Yt.getRules=Ib});var ra=v(mt=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.shouldUseRule=mt.shouldUseGroup=mt.schemaHasRulesForType=void 0;function Ab({schema:e,self:t},r){let n=t.RULES.types[r];return n&&n!==!0&&ef(e,n)}mt.schemaHasRulesForType=Ab;function ef(e,t){return t.rules.some(r=>tf(e,r))}mt.shouldUseGroup=ef;function tf(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))}mt.shouldUseRule=tf});var Xr=v(ge=>{"use strict";Object.defineProperty(ge,"__esModule",{value:!0});ge.reportTypeError=ge.checkDataTypes=ge.checkDataType=ge.coerceAndCheckDataType=ge.getJSONTypes=ge.getSchemaTypes=ge.DataType=void 0;var Cb=ta(),Nb=ra(),Ob=Yr(),C=N(),rf=B(),Xt;(function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"})(Xt||(ge.DataType=Xt={}));function Db(e){let t=nf(e.type);if(t.includes("null")){if(e.nullable===!1)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===!0&&t.push("null")}return t}ge.getSchemaTypes=Db;function nf(e){let t=Array.isArray(e)?e:e?[e]:[];if(t.every(Cb.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}ge.getJSONTypes=nf;function jb(e,t){let{gen:r,data:n,opts:o}=e,i=Mb(t,o.coerceTypes),s=t.length>0&&!(i.length===0&&t.length===1&&(0,Nb.schemaHasRulesForType)(e,t[0]));if(s){let a=oa(t,n,o.strictNumbers,Xt.Wrong);r.if(a,()=>{i.length?qb(e,t,i):ia(e)})}return s}ge.coerceAndCheckDataType=jb;var of=new Set(["string","number","integer","boolean","null"]);function Mb(e,t){return t?e.filter(r=>of.has(r)||t==="array"&&r==="array"):[]}function qb(e,t,r){let{gen:n,data:o,opts:i}=e,s=n.let("dataType",(0,C._)`typeof ${o}`),a=n.let("coerced",(0,C._)`undefined`);i.coerceTypes==="array"&&n.if((0,C._)`${s} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>n.assign(o,(0,C._)`${o}[0]`).assign(s,(0,C._)`typeof ${o}`).if(oa(t,o,i.strictNumbers),()=>n.assign(a,o))),n.if((0,C._)`${a} !== undefined`);for(let l of r)(of.has(l)||l==="array"&&i.coerceTypes==="array")&&c(l);n.else(),ia(e),n.endIf(),n.if((0,C._)`${a} !== undefined`,()=>{n.assign(o,a),Bb(e,a)});function c(l){switch(l){case"string":n.elseIf((0,C._)`${s} == "number" || ${s} == "boolean"`).assign(a,(0,C._)`"" + ${o}`).elseIf((0,C._)`${o} === null`).assign(a,(0,C._)`""`);return;case"number":n.elseIf((0,C._)`${s} == "boolean" || ${o} === null
5
5
  || (${s} == "string" && ${o} && ${o} == +${o})`).assign(a,(0,C._)`+${o}`);return;case"integer":n.elseIf((0,C._)`${s} === "boolean" || ${o} === null
6
6
  || (${s} === "string" && ${o} && ${o} == +${o} && !(${o} % 1))`).assign(a,(0,C._)`+${o}`);return;case"boolean":n.elseIf((0,C._)`${o} === "false" || ${o} === 0 || ${o} === null`).assign(a,!1).elseIf((0,C._)`${o} === "true" || ${o} === 1`).assign(a,!0);return;case"null":n.elseIf((0,C._)`${o} === "" || ${o} === 0 || ${o} === false`),n.assign(a,null);return;case"array":n.elseIf((0,C._)`${s} === "string" || ${s} === "number"
7
- || ${s} === "boolean" || ${o} === null`).assign(a,(0,C._)`[${o}]`)}}}function Bb({gen:e,parentData:t,parentDataProperty:r},n){e.if((0,C._)`${t} !== undefined`,()=>e.assign((0,C._)`${t}[${r}]`,n))}function na(e,t,r,n=Xt.Correct){let o=n===Xt.Correct?C.operators.EQ:C.operators.NEQ,i;switch(e){case"null":return(0,C._)`${t} ${o} null`;case"array":i=(0,C._)`Array.isArray(${t})`;break;case"object":i=(0,C._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":i=s((0,C._)`!(${t} % 1) && !isNaN(${t})`);break;case"number":i=s();break;default:return(0,C._)`typeof ${t} ${o} ${e}`}return n===Xt.Correct?i:(0,C.not)(i);function s(a=C.nil){return(0,C.and)((0,C._)`typeof ${t} == "number"`,a,r?(0,C._)`isFinite(${t})`:C.nil)}}ge.checkDataType=na;function oa(e,t,r,n){if(e.length===1)return na(e[0],t,r,n);let o,i=(0,rf.toHash)(e);if(i.array&&i.object){let s=(0,C._)`typeof ${t} != "object"`;o=i.null?s:(0,C._)`!${t} || ${s}`,delete i.null,delete i.array,delete i.object}else o=C.nil;i.number&&delete i.integer;for(let s in i)o=(0,C.and)(o,na(s,t,r,n));return o}ge.checkDataTypes=oa;var Lb={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0,C._)`{type: ${e}}`:(0,C._)`{type: ${t}}`};function ia(e){let t=Zb(e);(0,Ob.reportError)(t,Lb)}ge.reportTypeError=ia;function Zb(e){let{gen:t,data:r,schema:n}=e,o=(0,rf.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:e}}});var af=v(fo=>{"use strict";Object.defineProperty(fo,"__esModule",{value:!0});fo.assignDefaults=void 0;var er=N(),Ub=B();function Fb(e,t){let{properties:r,items:n}=e.schema;if(t==="object"&&r)for(let o in r)sf(e,o,r[o].default);else t==="array"&&Array.isArray(n)&&n.forEach((o,i)=>sf(e,i,o.default))}fo.assignDefaults=Fb;function sf(e,t,r){let{gen:n,compositeRule:o,data:i,opts:s}=e;if(r===void 0)return;let a=(0,er._)`${i}${(0,er.getProperty)(t)}`;if(o){(0,Ub.checkStrictMode)(e,`default is ignored for: ${a}`);return}let c=(0,er._)`${a} === undefined`;s.useDefaults==="empty"&&(c=(0,er._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,er._)`${a} = ${(0,er.stringify)(r)}`)}});var Ne=v(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});V.validateUnion=V.validateArray=V.usePattern=V.callValidateCode=V.schemaProperties=V.allSchemaProperties=V.noPropertyInData=V.propertyInData=V.isOwnProperty=V.hasPropFunc=V.reportMissingProp=V.checkMissingProp=V.checkReportMissingProp=void 0;var Y=N(),sa=B(),ht=ot(),Vb=B();function Kb(e,t){let{gen:r,data:n,it:o}=e;r.if(ca(r,n,t,o.opts.ownProperties),()=>{e.setParams({missingProperty:(0,Y._)`${t}`},!0),e.error()})}V.checkReportMissingProp=Kb;function Hb({gen:e,data:t,it:{opts:r}},n,o){return(0,Y.or)(...n.map(i=>(0,Y.and)(ca(e,t,i,r.ownProperties),(0,Y._)`${o} = ${i}`)))}V.checkMissingProp=Hb;function Gb(e,t){e.setParams({missingProperty:t},!0),e.error()}V.reportMissingProp=Gb;function cf(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,Y._)`Object.prototype.hasOwnProperty`})}V.hasPropFunc=cf;function aa(e,t,r){return(0,Y._)`${cf(e)}.call(${t}, ${r})`}V.isOwnProperty=aa;function Wb(e,t,r,n){let o=(0,Y._)`${t}${(0,Y.getProperty)(r)} !== undefined`;return n?(0,Y._)`${o} && ${aa(e,t,r)}`:o}V.propertyInData=Wb;function ca(e,t,r,n){let o=(0,Y._)`${t}${(0,Y.getProperty)(r)} === undefined`;return n?(0,Y.or)(o,(0,Y.not)(aa(e,t,r))):o}V.noPropertyInData=ca;function uf(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}V.allSchemaProperties=uf;function Jb(e,t){return uf(t).filter(r=>!(0,sa.alwaysValidSchema)(e,t[r]))}V.schemaProperties=Jb;function Qb({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:i},it:s},a,c,l){let u=l?(0,Y._)`${e}, ${t}, ${n}${o}`:t,d=[[ht.default.instancePath,(0,Y.strConcat)(ht.default.instancePath,i)],[ht.default.parentData,s.parentData],[ht.default.parentDataProperty,s.parentDataProperty],[ht.default.rootData,ht.default.rootData]];s.opts.dynamicRef&&d.push([ht.default.dynamicAnchors,ht.default.dynamicAnchors]);let p=(0,Y._)`${u}, ${r.object(...d)}`;return c!==Y.nil?(0,Y._)`${a}.call(${c}, ${p})`:(0,Y._)`${a}(${p})`}V.callValidateCode=Qb;var Yb=(0,Y._)`new RegExp`;function Xb({gen:e,it:{opts:t}},r){let n=t.unicodeRegExp?"u":"",{regExp:o}=t.code,i=o(r,n);return e.scopeValue("pattern",{key:i.toString(),ref:i,code:(0,Y._)`${o.code==="new RegExp"?Yb:(0,Vb.useFunc)(e,o)}(${r}, ${n})`})}V.usePattern=Xb;function e$(e){let{gen:t,data:r,keyword:n,it:o}=e,i=t.name("valid");if(o.allErrors){let a=t.let("valid",!0);return s(()=>t.assign(a,!1)),a}return t.var(i,!0),s(()=>t.break()),i;function s(a){let c=t.const("len",(0,Y._)`${r}.length`);t.forRange("i",0,c,l=>{e.subschema({keyword:n,dataProp:l,dataPropType:sa.Type.Num},i),t.if((0,Y.not)(i),a)})}}V.validateArray=e$;function t$(e){let{gen:t,schema:r,keyword:n,it:o}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,sa.alwaysValidSchema)(o,c))&&!o.opts.unevaluated)return;let s=t.let("valid",!1),a=t.name("_valid");t.block(()=>r.forEach((c,l)=>{let u=e.subschema({keyword:n,schemaProp:l,compositeRule:!0},a);t.assign(s,(0,Y._)`${s} || ${a}`),e.mergeValidEvaluated(u,a)||t.if((0,Y.not)(s))})),e.result(s,()=>e.reset(),()=>e.error(!0))}V.validateUnion=t$});var pf=v(We=>{"use strict";Object.defineProperty(We,"__esModule",{value:!0});We.validateKeywordUsage=We.validSchemaType=We.funcKeywordCode=We.macroKeywordCode=void 0;var be=N(),Ct=ot(),r$=Ne(),n$=Yr();function o$(e,t){let{gen:r,keyword:n,schema:o,parentSchema:i,it:s}=e,a=t.macro.call(s.self,o,i,s),c=df(r,n,a);s.opts.validateSchema!==!1&&s.self.validateSchema(a,!0);let l=r.name("valid");e.subschema({schema:a,schemaPath:be.nil,errSchemaPath:`${s.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},l),e.pass(l,()=>e.error(!0))}We.macroKeywordCode=o$;function i$(e,t){var r;let{gen:n,keyword:o,schema:i,parentSchema:s,$data:a,it:c}=e;a$(c,t);let l=!a&&t.compile?t.compile.call(c.self,i,s,c):t.validate,u=df(n,o,l),d=n.let("valid");e.block$data(d,p),e.ok((r=t.valid)!==null&&r!==void 0?r:d);function p(){if(t.errors===!1)g(),t.modifying&&lf(e),_(()=>e.error());else{let w=t.async?f():h();t.modifying&&lf(e),_(()=>s$(e,w))}}function f(){let w=n.let("ruleErrs",null);return n.try(()=>g((0,be._)`await `),b=>n.assign(d,!1).if((0,be._)`${b} instanceof ${c.ValidationError}`,()=>n.assign(w,(0,be._)`${b}.errors`),()=>n.throw(b))),w}function h(){let w=(0,be._)`${u}.errors`;return n.assign(w,null),g(be.nil),w}function g(w=t.async?(0,be._)`await `:be.nil){let b=c.opts.passContext?Ct.default.this:Ct.default.self,$=!("compile"in t&&!a||t.schema===!1);n.assign(d,(0,be._)`${w}${(0,r$.callValidateCode)(e,u,b,$)}`,t.modifying)}function _(w){var b;n.if((0,be.not)((b=t.valid)!==null&&b!==void 0?b:d),w)}}We.funcKeywordCode=i$;function lf(e){let{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,(0,be._)`${n.parentData}[${n.parentDataProperty}]`))}function s$(e,t){let{gen:r}=e;r.if((0,be._)`Array.isArray(${t})`,()=>{r.assign(Ct.default.vErrors,(0,be._)`${Ct.default.vErrors} === null ? ${t} : ${Ct.default.vErrors}.concat(${t})`).assign(Ct.default.errors,(0,be._)`${Ct.default.vErrors}.length`),(0,n$.extendErrors)(e)},()=>e.error())}function a$({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function df(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,be.stringify)(r)})}function c$(e,t,r=!1){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=c$;function u$({schema:e,opts:t,self:r,errSchemaPath:n},o,i){if(Array.isArray(o.keyword)?!o.keyword.includes(i):o.keyword!==i)throw new Error("ajv implementation error");let s=o.dependencies;if(s?.some(a=>!Object.prototype.hasOwnProperty.call(e,a)))throw new Error(`parent schema must have dependencies of ${i}: ${s.join(",")}`);if(o.validateSchema&&!o.validateSchema(e[i])){let c=`keyword "${i}" value is invalid at path "${n}": `+r.errorsText(o.validateSchema.errors);if(t.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}We.validateKeywordUsage=u$});var mf=v(gt=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});gt.extendSubschemaMode=gt.extendSubschemaData=gt.getSubschema=void 0;var Je=N(),ff=B();function l$(e,{keyword:t,schemaProp:r,schema:n,schemaPath:o,errSchemaPath:i,topSchemaRef:s}){if(t!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(t!==void 0){let a=e.schema[t];return r===void 0?{schema:a,schemaPath:(0,Je._)`${e.schemaPath}${(0,Je.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:a[r],schemaPath:(0,Je._)`${e.schemaPath}${(0,Je.getProperty)(t)}${(0,Je.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,ff.escapeFragment)(r)}`}}if(n!==void 0){if(o===void 0||i===void 0||s===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:o,topSchemaRef:s,errSchemaPath:i}}throw new Error('either "keyword" or "schema" must be passed')}gt.getSubschema=l$;function d$(e,t,{dataProp:r,dataPropType:n,data:o,dataTypes:i,propertyName:s}){if(o!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:a}=t;if(r!==void 0){let{errorPath:l,dataPathArr:u,opts:d}=t,p=a.let("data",(0,Je._)`${t.data}${(0,Je.getProperty)(r)}`,!0);c(p),e.errorPath=(0,Je.str)`${l}${(0,ff.getErrorPath)(r,n,d.jsPropertySyntax)}`,e.parentDataProperty=(0,Je._)`${r}`,e.dataPathArr=[...u,e.parentDataProperty]}if(o!==void 0){let l=o instanceof Je.Name?o:a.let("data",o,!0);c(l),s!==void 0&&(e.propertyName=s)}i&&(e.dataTypes=i);function c(l){e.data=l,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,l]}}gt.extendSubschemaData=d$;function p$(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:n,createErrors:o,allErrors:i}){n!==void 0&&(e.compositeRule=n),o!==void 0&&(e.createErrors=o),i!==void 0&&(e.allErrors=i),e.jtdDiscriminator=t,e.jtdMetadata=r}gt.extendSubschemaMode=p$});var ua=v((VO,hf)=>{"use strict";hf.exports=function e(t,r){if(t===r)return!0;if(t&&r&&typeof t=="object"&&typeof r=="object"){if(t.constructor!==r.constructor)return!1;var n,o,i;if(Array.isArray(t)){if(n=t.length,n!=r.length)return!1;for(o=n;o--!==0;)if(!e(t[o],r[o]))return!1;return!0}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(i=Object.keys(t),n=i.length,n!==Object.keys(r).length)return!1;for(o=n;o--!==0;)if(!Object.prototype.hasOwnProperty.call(r,i[o]))return!1;for(o=n;o--!==0;){var s=i[o];if(!e(t[s],r[s]))return!1}return!0}return t!==t&&r!==r}});var yf=v((KO,gf)=>{"use strict";var yt=gf.exports=function(e,t,r){typeof t=="function"&&(r=t,t={}),r=t.cb||r;var n=typeof r=="function"?r:r.pre||function(){},o=r.post||function(){};mo(t,n,o,e,"",e)};yt.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};yt.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};yt.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};yt.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function mo(e,t,r,n,o,i,s,a,c,l){if(n&&typeof n=="object"&&!Array.isArray(n)){t(n,o,i,s,a,c,l);for(var u in n){var d=n[u];if(Array.isArray(d)){if(u in yt.arrayKeywords)for(var p=0;p<d.length;p++)mo(e,t,r,d[p],o+"/"+u+"/"+p,i,o,u,n,p)}else if(u in yt.propsKeywords){if(d&&typeof d=="object")for(var f in d)mo(e,t,r,d[f],o+"/"+u+"/"+f$(f),i,o,u,n,f)}else(u in yt.keywords||e.allKeys&&!(u in yt.skipKeywords))&&mo(e,t,r,d,o+"/"+u,i,o,u,n)}r(n,o,i,s,a,c,l)}}function f$(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}});var en=v(Ee=>{"use strict";Object.defineProperty(Ee,"__esModule",{value:!0});Ee.getSchemaRefs=Ee.resolveUrl=Ee.normalizeId=Ee._getFullPath=Ee.getFullPath=Ee.inlineRef=void 0;var m$=B(),h$=ua(),g$=yf(),y$=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function _$(e,t=!0){return typeof e=="boolean"?!0:t===!0?!la(e):t?_f(e)<=t:!1}Ee.inlineRef=_$;var v$=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function la(e){for(let t in e){if(v$.has(t))return!0;let r=e[t];if(Array.isArray(r)&&r.some(la)||typeof r=="object"&&la(r))return!0}return!1}function _f(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,!y$.has(r)&&(typeof e[r]=="object"&&(0,m$.eachItem)(e[r],n=>t+=_f(n)),t===1/0))return 1/0}return t}function vf(e,t="",r){r!==!1&&(t=tr(t));let n=e.parse(t);return wf(e,n)}Ee.getFullPath=vf;function wf(e,t){return e.serialize(t).split("#")[0]+"#"}Ee._getFullPath=wf;var w$=/#\/?$/;function tr(e){return e?e.replace(w$,""):""}Ee.normalizeId=tr;function b$(e,t,r){return r=tr(r),e.resolve(t,r)}Ee.resolveUrl=b$;var $$=/^[a-z_][-a-z0-9._]*$/i;function x$(e,t){if(typeof e=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=tr(e[r]||t),i={"":o},s=vf(n,o,!1),a={},c=new Set;return g$(e,{allKeys:!0},(d,p,f,h)=>{if(h===void 0)return;let g=s+p,_=i[h];typeof d[r]=="string"&&(_=w.call(this,d[r])),b.call(this,d.$anchor),b.call(this,d.$dynamicAnchor),i[p]=_;function w($){let z=this.opts.uriResolver.resolve;if($=tr(_?z(_,$):$),c.has($))throw u($);c.add($);let R=this.refs[$];return typeof R=="string"&&(R=this.refs[R]),typeof R=="object"?l(d,R.schema,$):$!==tr(g)&&($[0]==="#"?(l(d,a[$],$),a[$]=d):this.refs[$]=g),$}function b($){if(typeof $=="string"){if(!$$.test($))throw new Error(`invalid anchor "${$}"`);w.call(this,`#${$}`)}}}),a;function l(d,p,f){if(p!==void 0&&!h$(d,p))throw u(f)}function u(d){return new Error(`reference "${d}" resolves to more than one schema`)}}Ee.getSchemaRefs=x$});var nn=v(_t=>{"use strict";Object.defineProperty(_t,"__esModule",{value:!0});_t.getData=_t.KeywordCxt=_t.validateFunctionCode=void 0;var Sf=Xp(),bf=Xr(),pa=ra(),ho=Xr(),k$=af(),rn=pf(),da=mf(),S=N(),A=ot(),S$=en(),it=B(),tn=Yr();function E$(e){if(Pf(e)&&(Tf(e),zf(e))){T$(e);return}Ef(e,()=>(0,Sf.topBoolOrEmptySchema)(e))}_t.validateFunctionCode=E$;function Ef({gen:e,validateName:t,schema:r,schemaEnv:n,opts:o},i){o.code.es5?e.func(t,(0,S._)`${A.default.data}, ${A.default.valCxt}`,n.$async,()=>{e.code((0,S._)`"use strict"; ${$f(r,o)}`),P$(e,o),e.code(i)}):e.func(t,(0,S._)`${A.default.data}, ${z$(o)}`,n.$async,()=>e.code($f(r,o)).code(i))}function z$(e){return(0,S._)`{${A.default.instancePath}="", ${A.default.parentData}, ${A.default.parentDataProperty}, ${A.default.rootData}=${A.default.data}${e.dynamicRef?(0,S._)`, ${A.default.dynamicAnchors}={}`:S.nil}}={}`}function P$(e,t){e.if(A.default.valCxt,()=>{e.var(A.default.instancePath,(0,S._)`${A.default.valCxt}.${A.default.instancePath}`),e.var(A.default.parentData,(0,S._)`${A.default.valCxt}.${A.default.parentData}`),e.var(A.default.parentDataProperty,(0,S._)`${A.default.valCxt}.${A.default.parentDataProperty}`),e.var(A.default.rootData,(0,S._)`${A.default.valCxt}.${A.default.rootData}`),t.dynamicRef&&e.var(A.default.dynamicAnchors,(0,S._)`${A.default.valCxt}.${A.default.dynamicAnchors}`)},()=>{e.var(A.default.instancePath,(0,S._)`""`),e.var(A.default.parentData,(0,S._)`undefined`),e.var(A.default.parentDataProperty,(0,S._)`undefined`),e.var(A.default.rootData,A.default.data),t.dynamicRef&&e.var(A.default.dynamicAnchors,(0,S._)`{}`)})}function T$(e){let{schema:t,opts:r,gen:n}=e;Ef(e,()=>{r.$comment&&t.$comment&&If(e),N$(e),n.let(A.default.vErrors,null),n.let(A.default.errors,0),r.unevaluated&&R$(e),Rf(e),j$(e)})}function R$(e){let{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",(0,S._)`${r}.evaluated`),t.if((0,S._)`${e.evaluated}.dynamicProps`,()=>t.assign((0,S._)`${e.evaluated}.props`,(0,S._)`undefined`)),t.if((0,S._)`${e.evaluated}.dynamicItems`,()=>t.assign((0,S._)`${e.evaluated}.items`,(0,S._)`undefined`))}function $f(e,t){let r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?(0,S._)`/*# sourceURL=${r} */`:S.nil}function I$(e,t){if(Pf(e)&&(Tf(e),zf(e))){A$(e,t);return}(0,Sf.boolOrEmptySchema)(e,t)}function zf({schema:e,self:t}){if(typeof e=="boolean")return!e;for(let r in e)if(t.RULES.all[r])return!0;return!1}function Pf(e){return typeof e.schema!="boolean"}function A$(e,t){let{schema:r,gen:n,opts:o}=e;o.$comment&&r.$comment&&If(e),O$(e),D$(e);let i=n.const("_errs",A.default.errors);Rf(e,i),n.var(t,(0,S._)`${i} === ${A.default.errors}`)}function Tf(e){(0,it.checkUnknownRules)(e),C$(e)}function Rf(e,t){if(e.opts.jtd)return xf(e,[],!1,t);let r=(0,bf.getSchemaTypes)(e.schema),n=(0,bf.coerceAndCheckDataType)(e,r);xf(e,r,!n,t)}function C$(e){let{schema:t,errSchemaPath:r,opts:n,self:o}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,it.schemaHasRulesButRef)(t,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function N$(e){let{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,it.checkStrictMode)(e,"default is ignored in the schema root")}function O$(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,S$.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function D$(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function If({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:o}){let i=r.$comment;if(o.$comment===!0)e.code((0,S._)`${A.default.self}.logger.log(${i})`);else if(typeof o.$comment=="function"){let s=(0,S.str)`${n}/$comment`,a=e.scopeValue("root",{ref:t.root});e.code((0,S._)`${A.default.self}.opts.$comment(${i}, ${s}, ${a}.schema)`)}}function j$(e){let{gen:t,schemaEnv:r,validateName:n,ValidationError:o,opts:i}=e;r.$async?t.if((0,S._)`${A.default.errors} === 0`,()=>t.return(A.default.data),()=>t.throw((0,S._)`new ${o}(${A.default.vErrors})`)):(t.assign((0,S._)`${n}.errors`,A.default.vErrors),i.unevaluated&&M$(e),t.return((0,S._)`${A.default.errors} === 0`))}function M$({gen:e,evaluated:t,props:r,items:n}){r instanceof S.Name&&e.assign((0,S._)`${t}.props`,r),n instanceof S.Name&&e.assign((0,S._)`${t}.items`,n)}function xf(e,t,r,n){let{gen:o,schema:i,data:s,allErrors:a,opts:c,self:l}=e,{RULES:u}=l;if(i.$ref&&(c.ignoreKeywordsWithRef||!(0,it.schemaHasRulesButRef)(i,u))){o.block(()=>Cf(e,"$ref",u.all.$ref.definition));return}c.jtd||q$(e,t),o.block(()=>{for(let p of u.rules)d(p);d(u.post)});function d(p){(0,pa.shouldUseGroup)(i,p)&&(p.type?(o.if((0,ho.checkDataType)(p.type,s,c.strictNumbers)),kf(e,p),t.length===1&&t[0]===p.type&&r&&(o.else(),(0,ho.reportTypeError)(e)),o.endIf()):kf(e,p),a||o.if((0,S._)`${A.default.errors} === ${n||0}`))}}function kf(e,t){let{gen:r,schema:n,opts:{useDefaults:o}}=e;o&&(0,k$.assignDefaults)(e,t.type),r.block(()=>{for(let i of t.rules)(0,pa.shouldUseRule)(n,i)&&Cf(e,i.keyword,i.definition,t.type)})}function q$(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(B$(e,t),e.opts.allowUnionTypes||L$(e,t),Z$(e,e.dataTypes))}function B$(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{Af(e.dataTypes,r)||fa(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`)}),F$(e,t)}}function L$(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&fa(e,"use allowUnionTypes to allow union type keyword")}function Z$(e,t){let r=e.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&(0,pa.shouldUseRule)(e.schema,o)){let{type:i}=o.definition;i.length&&!i.some(s=>U$(t,s))&&fa(e,`missing type "${i.join(",")}" for keyword "${n}"`)}}}function U$(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function Af(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function F$(e,t){let r=[];for(let n of e.dataTypes)Af(t,n)?r.push(n):t.includes("integer")&&n==="number"&&r.push("integer");e.dataTypes=r}function fa(e,t){let r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0,it.checkStrictMode)(e,t,e.opts.strictTypes)}var go=class{constructor(t,r,n){if((0,rn.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,it.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",Nf(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0,rn.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!==!1)&&(this.errsCount=t.gen.const("_errs",A.default.errors))}result(t,r,n){this.failResult((0,S.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,S.not)(t),void 0,r)}fail(t){if(t===void 0){this.error(),this.allErrors||this.gen.if(!1);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,S._)`${r} !== undefined && (${(0,S.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?tn.reportExtraError:tn.reportError)(this,this.def.error,r)}$dataError(){(0,tn.reportError)(this,this.def.$dataError||tn.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,tn.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=S.nil){this.gen.block(()=>{this.check$data(t,n),r()})}check$data(t=S.nil,r=S.nil){if(!this.$data)return;let{gen:n,schemaCode:o,schemaType:i,def:s}=this;n.if((0,S.or)((0,S._)`${o} === undefined`,r)),t!==S.nil&&n.assign(t,!0),(i.length||s.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),t!==S.nil&&n.assign(t,!1)),n.else()}invalid$data(){let{gen:t,schemaCode:r,schemaType:n,def:o,it:i}=this;return(0,S.or)(s(),a());function s(){if(n.length){if(!(r instanceof S.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,S._)`${(0,ho.checkDataTypes)(c,r,i.opts.strictNumbers,ho.DataType.Wrong)}`}return S.nil}function a(){if(o.validateSchema){let c=t.scopeValue("validate$data",{ref:o.validateSchema});return(0,S._)`!${c}(${r})`}return S.nil}}subschema(t,r){let n=(0,da.getSubschema)(this.it,t);(0,da.extendSubschemaData)(n,this.it,t),(0,da.extendSubschemaMode)(n,t);let o={...this.it,...n,items:void 0,props:void 0};return I$(o,r),o}mergeEvaluated(t,r){let{it:n,gen:o}=this;n.opts.unevaluated&&(n.props!==!0&&t.props!==void 0&&(n.props=it.mergeEvaluated.props(o,t.props,n.props,r)),n.items!==!0&&t.items!==void 0&&(n.items=it.mergeEvaluated.items(o,t.items,n.items,r)))}mergeValidEvaluated(t,r){let{it:n,gen:o}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return o.if(r,()=>this.mergeEvaluated(t,S.Name)),!0}};_t.KeywordCxt=go;function Cf(e,t,r,n){let o=new go(e,r,t);"code"in r?r.code(o,n):o.$data&&r.validate?(0,rn.funcKeywordCode)(o,r):"macro"in r?(0,rn.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,rn.funcKeywordCode)(o,r)}var V$=/^\/(?:[^~]|~0|~1)*$/,K$=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Nf(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let o,i;if(e==="")return A.default.rootData;if(e[0]==="/"){if(!V$.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);o=e,i=A.default.rootData}else{let l=K$.exec(e);if(!l)throw new Error(`Invalid JSON-pointer: ${e}`);let u=+l[1];if(o=l[2],o==="#"){if(u>=t)throw new Error(c("property/index",u));return n[t-u]}if(u>t)throw new Error(c("data",u));if(i=r[t-u],!o)return i}let s=i,a=o.split("/");for(let l of a)l&&(i=(0,S._)`${i}${(0,S.getProperty)((0,it.unescapeJsonPointer)(l))}`,s=(0,S._)`${s} && ${i}`);return s;function c(l,u){return`Cannot access ${l} ${u} levels up, current level is ${t}`}}_t.getData=Nf});var yo=v(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});var ma=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}};ha.default=ma});var on=v(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});var ga=en(),ya=class extends Error{constructor(t,r,n,o){super(o||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,ga.resolveUrl)(t,r,n),this.missingSchema=(0,ga.normalizeId)((0,ga.getFullPath)(t,this.missingRef))}};_a.default=ya});var vo=v(Oe=>{"use strict";Object.defineProperty(Oe,"__esModule",{value:!0});Oe.resolveSchema=Oe.getCompilingSchema=Oe.resolveRef=Oe.compileSchema=Oe.SchemaEnv=void 0;var Be=N(),H$=yo(),Nt=ot(),Le=en(),Of=B(),G$=nn(),rr=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,Le.normalizeId)(n?.[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=n?.$async,this.refs={}}};Oe.SchemaEnv=rr;function wa(e){let t=Df.call(this,e);if(t)return t;let r=(0,Le.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:i}=this.opts,s=new Be.CodeGen(this.scope,{es5:n,lines:o,ownProperties:i}),a;e.$async&&(a=s.scopeValue("Error",{ref:H$.default,code:(0,Be._)`require("ajv/dist/runtime/validation_error").default`}));let c=s.scopeName("validate");e.validateName=c;let l={gen:s,allErrors:this.opts.allErrors,data:Nt.default.data,parentData:Nt.default.parentData,parentDataProperty:Nt.default.parentDataProperty,dataNames:[Nt.default.data],dataPathArr:[Be.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:s.scopeValue("schema",this.opts.code.source===!0?{ref:e.schema,code:(0,Be.stringify)(e.schema)}:{ref:e.schema}),validateName:c,ValidationError:a,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:Be.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Be._)`""`,opts:this.opts,self:this},u;try{this._compilations.add(e),(0,G$.validateFunctionCode)(l),s.optimize(this.opts.code.optimize);let d=s.toString();u=`${s.scopeRefs(Nt.default.scope)}return ${d}`,this.opts.code.process&&(u=this.opts.code.process(u,e));let f=new Function(`${Nt.default.self}`,`${Nt.default.scope}`,u)(this,this.scope.get());if(this.scope.value(c,{ref:f}),f.errors=null,f.schema=e.schema,f.schemaEnv=e,e.$async&&(f.$async=!0),this.opts.code.source===!0&&(f.source={validateName:c,validateCode:d,scopeValues:s._values}),this.opts.unevaluated){let{props:h,items:g}=l;f.evaluated={props:h instanceof Be.Name?void 0:h,items:g instanceof Be.Name?void 0:g,dynamicProps:h instanceof Be.Name,dynamicItems:g instanceof Be.Name},f.source&&(f.source.evaluated=(0,Be.stringify)(f.evaluated))}return e.validate=f,e}catch(d){throw delete e.validate,delete e.validateName,u&&this.logger.error("Error compiling schema, function code:",u),d}finally{this._compilations.delete(e)}}Oe.compileSchema=wa;function W$(e,t,r){var n;r=(0,Le.resolveUrl)(this.opts.uriResolver,t,r);let o=e.refs[r];if(o)return o;let i=Y$.call(this,e,r);if(i===void 0){let s=(n=e.localRefs)===null||n===void 0?void 0:n[r],{schemaId:a}=this.opts;s&&(i=new rr({schema:s,schemaId:a,root:e,baseId:t}))}if(i!==void 0)return e.refs[r]=J$.call(this,i)}Oe.resolveRef=W$;function J$(e){return(0,Le.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:wa.call(this,e)}function Df(e){for(let t of this._compilations)if(Q$(t,e))return t}Oe.getCompilingSchema=Df;function Q$(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function Y$(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||_o.call(this,e,t)}function _o(e,t){let r=this.opts.uriResolver.parse(t),n=(0,Le._getFullPath)(this.opts.uriResolver,r),o=(0,Le.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===o)return va.call(this,r,e);let i=(0,Le.normalizeId)(n),s=this.refs[i]||this.schemas[i];if(typeof s=="string"){let a=_o.call(this,e,s);return typeof a?.schema!="object"?void 0:va.call(this,r,a)}if(typeof s?.schema=="object"){if(s.validate||wa.call(this,s),i===(0,Le.normalizeId)(t)){let{schema:a}=s,{schemaId:c}=this.opts,l=a[c];return l&&(o=(0,Le.resolveUrl)(this.opts.uriResolver,o,l)),new rr({schema:a,schemaId:c,root:e,baseId:o})}return va.call(this,r,s)}}Oe.resolveSchema=_o;var X$=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function va(e,{baseId:t,schema:r,root:n}){var o;if(((o=e.fragment)===null||o===void 0?void 0:o[0])!=="/")return;for(let a of e.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,Of.unescapeFragment)(a)];if(c===void 0)return;r=c;let l=typeof r=="object"&&r[this.opts.schemaId];!X$.has(a)&&l&&(t=(0,Le.resolveUrl)(this.opts.uriResolver,t,l))}let i;if(typeof r!="boolean"&&r.$ref&&!(0,Of.schemaHasRulesButRef)(r,this.RULES)){let a=(0,Le.resolveUrl)(this.opts.uriResolver,t,r.$ref);i=_o.call(this,n,a)}let{schemaId:s}=this.opts;if(i=i||new rr({schema:r,schemaId:s,root:n,baseId:t}),i.schema!==i.root.schema)return i}});var jf=v((YO,e0)=>{e0.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:!1}});var xa=v((XO,Uf)=>{"use strict";var t0=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),qf=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),ba=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),Bf=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),r0=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function $a(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 n0=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Mf(e){return e.length=0,!0}function o0(e,t,r){if(e.length){let n=$a(e);if(n!=="")t.push(n);else return r.error=!0,!1;e.length=0}return!0}function i0(e){let t=0,r={error:!1,address:"",zone:""},n=[],o=[],i=!1,s=!1,a=o0;for(let c=0;c<e.length;c++){let l=e[c];if(!(l==="["||l==="]"))if(l===":"){if(i===!0&&(s=!0),!a(o,n,r))break;if(++t>7){r.error=!0;break}c>0&&e[c-1]===":"&&(i=!0),n.push(":");continue}else if(l==="%"){if(!a(o,n,r))break;a=Mf}else{o.push(l);continue}}return o.length&&(a===Mf?r.zone=o.join(""):s?n.push(o.join("")):n.push($a(o))),r.address=n.join(""),r}function Lf(e){if(s0(e,":")<2)return{host:e,isIPV6:!1};let t=i0(e);if(t.error)return{host:e,isIPV6:!1};{let r=t.address,n=t.address;return t.zone&&(r+="%"+t.zone,n+="%25"+t.zone),{host:r,isIPV6:!0,escapedHost:n}}}function s0(e,t){let r=0;for(let n=0;n<e.length;n++)e[n]===t&&r++;return r}function a0(e){let t=e,r=[],n=-1,o=0;for(;o=t.length;){if(o===1){if(t===".")break;if(t==="/"){r.push("/");break}else{r.push(t);break}}else if(o===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(o===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("")}var c0={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"},u0=/[@/?#:]/g,l0=/[@/?#]/g;function Zf(e,t){let r=t?l0:u0;return r.lastIndex=0,e.replace(r,n=>c0[n])}function d0(e,t=!1){if(e.indexOf("%")===-1)return e;let r="";for(let n=0;n<e.length;n++){if(e[n]==="%"&&n+2<e.length){let o=e.slice(n+1,n+3);if(ba(o)){let i=o.toUpperCase(),s=String.fromCharCode(parseInt(i,16));t&&Bf(s)?r+=s:r+="%"+i,n+=2;continue}}r+=e[n]}return r}function p0(e){let t="";for(let r=0;r<e.length;r++){if(e[r]==="%"&&r+2<e.length){let n=e.slice(r+1,r+3);if(ba(n)){let o=n.toUpperCase(),i=String.fromCharCode(parseInt(o,16));i!=="."&&Bf(i)?t+=i:t+="%"+o,r+=2;continue}}r0(e[r])?t+=e[r]:t+=escape(e[r])}return t}function f0(e){let t="";for(let r=0;r<e.length;r++){if(e[r]==="%"&&r+2<e.length){let n=e.slice(r+1,r+3);if(ba(n)){t+="%"+n.toUpperCase(),r+=2;continue}}t+=escape(e[r])}return t}function m0(e){let t=[];if(e.userinfo!==void 0&&(t.push(e.userinfo),t.push("@")),e.host!==void 0){let r=unescape(e.host);if(!qf(r)){let n=Lf(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=Zf(r,!1)}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}Uf.exports={nonSimpleDomain:n0,recomposeAuthority:m0,reescapeHostDelimiters:Zf,normalizePercentEncoding:d0,normalizePathEncoding:p0,escapePreservingEscapes:f0,removeDotSegments:a0,isIPv4:qf,isUUID:t0,normalizeIPv6:Lf,stringArrayToHexStripped:$a}});var Gf=v((e1,Hf)=>{"use strict";var{isUUID:h0}=xa(),g0=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,y0=["http","https","ws","wss","urn","urn:uuid"];function _0(e){return y0.indexOf(e)!==-1}function ka(e){return e.secure===!0?!0:e.secure===!1?!1: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"):!1}function Ff(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function Vf(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 v0(e){return e.secure=ka(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function w0(e){if((e.port===(ka(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 b0(e,t){if(!e.path)return e.error="URN can not be parsed",e;let r=e.path.match(g0);if(r){let n=t.scheme||e.scheme||"urn";e.nid=r[1].toLowerCase(),e.nss=r[2];let o=`${n}:${t.nid||e.nid}`,i=Sa(o);e.path=void 0,i&&(e=i.parse(e,t))}else e.error=e.error||"URN can not be parsed.";return e}function $0(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(),o=`${r}:${t.nid||n}`,i=Sa(o);i&&(e=i.serialize(e,t));let s=e,a=e.nss;return s.path=`${n||t.nid}:${a}`,t.skipEscape=!0,s}function x0(e,t){let r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!h0(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function k0(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var Kf={scheme:"http",domainHost:!0,parse:Ff,serialize:Vf},S0={scheme:"https",domainHost:Kf.domainHost,parse:Ff,serialize:Vf},wo={scheme:"ws",domainHost:!0,parse:v0,serialize:w0},E0={scheme:"wss",domainHost:wo.domainHost,parse:wo.parse,serialize:wo.serialize},z0={scheme:"urn",parse:b0,serialize:$0,skipNormalize:!0},P0={scheme:"urn:uuid",parse:x0,serialize:k0,skipNormalize:!0},bo={http:Kf,https:S0,ws:wo,wss:E0,urn:z0,"urn:uuid":P0};Object.setPrototypeOf(bo,null);function Sa(e){return e&&(bo[e]||bo[e.toLowerCase()])||void 0}Hf.exports={wsIsSecure:ka,SCHEMES:bo,isValidSchemeName:_0,getSchemeHandler:Sa}});var em=v((t1,$o)=>{"use strict";var{normalizeIPv6:T0,removeDotSegments:sn,recomposeAuthority:R0,normalizePercentEncoding:I0,normalizePathEncoding:A0,escapePreservingEscapes:C0,reescapeHostDelimiters:N0,isIPv4:O0,nonSimpleDomain:D0}=xa(),{SCHEMES:j0,getSchemeHandler:Jf}=Gf();function M0(e,t){return typeof e=="string"?e=U0(e,t):typeof e=="object"&&(e=nr(Ot(e,t),t)),e}function q0(e,t,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=Qf(nr(e,n),nr(t,n),n,!0);return n.skipEscape=!0,Ot(o,n)}function Qf(e,t,r,n){let o={};return n||(e=nr(Ot(e,r),r),t=nr(Ot(t,r),r)),r=r||{},!r.tolerant&&t.scheme?(o.scheme=t.scheme,o.userinfo=t.userinfo,o.host=t.host,o.port=t.port,o.path=sn(t.path||""),o.query=t.query):(t.userinfo!==void 0||t.host!==void 0||t.port!==void 0?(o.userinfo=t.userinfo,o.host=t.host,o.port=t.port,o.path=sn(t.path||""),o.query=t.query):(t.path?(t.path[0]==="/"?o.path=sn(t.path):((e.userinfo!==void 0||e.host!==void 0||e.port!==void 0)&&!e.path?o.path="/"+t.path:e.path?o.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:o.path=t.path,o.path=sn(o.path)),o.query=t.query):(o.path=e.path,t.query!==void 0?o.query=t.query:o.query=e.query),o.userinfo=e.userinfo,o.host=e.host,o.port=e.port),o.scheme=e.scheme),o.fragment=t.fragment,o}function B0(e,t,r){let n=Wf(e,r),o=Wf(t,r);return n!==void 0&&o!==void 0&&n.toLowerCase()===o.toLowerCase()}function Ot(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),o=[],i=Jf(n.scheme||r.scheme);i&&i.serialize&&i.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=I0(r.path):(r.path=C0(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&o.push(r.scheme,":");let s=R0(r);if(s!==void 0&&(n.reference!=="suffix"&&o.push("//"),o.push(s),r.path&&r.path[0]!=="/"&&o.push("/")),r.path!==void 0){let a=r.path;!n.absolutePath&&(!i||!i.absolutePath)&&(a=sn(a)),s===void 0&&a[0]==="/"&&a[1]==="/"&&(a="/%2F"+a.slice(2)),o.push(a)}return r.query!==void 0&&o.push("?",r.query),r.fragment!==void 0&&o.push("#",r.fragment),o.join("")}var L0=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Z0(e,t){if(t[2]!==void 0&&e.path&&e.path[0]!=="/")return'URI path must start with "/" when authority is present.';if(typeof e.port=="number"&&(e.port<0||e.port>65535))return"URI port is malformed."}function Yf(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},o=!1,i=!1;r.reference==="suffix"&&(r.scheme?e=r.scheme+":"+e:e="//"+e);let s=e.match(L0);if(s){n.scheme=s[1],n.userinfo=s[3],n.host=s[4],n.port=parseInt(s[5],10),n.path=s[6]||"",n.query=s[7],n.fragment=s[8],isNaN(n.port)&&(n.port=s[5]);let a=Z0(n,s);if(a!==void 0&&(n.error=n.error||a,o=!0),n.host)if(O0(n.host)===!1){let u=T0(n.host);n.host=u.host.toLowerCase(),i=u.isIPV6}else i=!0;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 c=Jf(r.scheme||n.scheme);if(!r.unicodeSupport&&(!c||!c.unicodeSupport)&&n.host&&(r.domainHost||c&&c.domainHost)&&i===!1&&D0(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(l){n.error=n.error||"Host's domain name can not be converted to ASCII: "+l}if((!c||c&&!c.skipNormalize)&&(e.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=N0(unescape(n.host),i))),n.path&&(n.path=A0(n.path)),n.fragment))try{n.fragment=encodeURI(decodeURIComponent(n.fragment))}catch{n.error=n.error||"URI malformed"}c&&c.parse&&c.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return{parsed:n,malformedAuthorityOrPort:o}}function nr(e,t){return Yf(e,t).parsed}function U0(e,t){return Xf(e,t).normalized}function Xf(e,t){let{parsed:r,malformedAuthorityOrPort:n}=Yf(e,t);return{normalized:n?e:Ot(r,t),malformedAuthorityOrPort:n}}function Wf(e,t){if(typeof e=="string"){let{normalized:r,malformedAuthorityOrPort:n}=Xf(e,t);return n?void 0:r}if(typeof e=="object")return Ot(e,t)}var Ea={SCHEMES:j0,normalize:M0,resolve:q0,resolveComponent:Qf,equal:B0,serialize:Ot,parse:nr};$o.exports=Ea;$o.exports.default=Ea;$o.exports.fastUri=Ea});var rm=v(za=>{"use strict";Object.defineProperty(za,"__esModule",{value:!0});var tm=em();tm.code='require("ajv/dist/runtime/uri").default';za.default=tm});var lm=v(de=>{"use strict";Object.defineProperty(de,"__esModule",{value:!0});de.CodeGen=de.Name=de.nil=de.stringify=de.str=de._=de.KeywordCxt=void 0;var F0=nn();Object.defineProperty(de,"KeywordCxt",{enumerable:!0,get:function(){return F0.KeywordCxt}});var or=N();Object.defineProperty(de,"_",{enumerable:!0,get:function(){return or._}});Object.defineProperty(de,"str",{enumerable:!0,get:function(){return or.str}});Object.defineProperty(de,"stringify",{enumerable:!0,get:function(){return or.stringify}});Object.defineProperty(de,"nil",{enumerable:!0,get:function(){return or.nil}});Object.defineProperty(de,"Name",{enumerable:!0,get:function(){return or.Name}});Object.defineProperty(de,"CodeGen",{enumerable:!0,get:function(){return or.CodeGen}});var V0=yo(),am=on(),K0=ta(),an=vo(),H0=N(),cn=en(),xo=Xr(),Ta=B(),nm=jf(),G0=rm(),cm=(e,t)=>new RegExp(e,t);cm.code="new RegExp";var W0=["removeAdditional","useDefaults","coerceTypes"],J0=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),Q0={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."},Y0={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},om=200;function X0(e){var t,r,n,o,i,s,a,c,l,u,d,p,f,h,g,_,w,b,$,z,R,_e,Te,Zt,pi;let br=e.strict,fi=(t=e.code)===null||t===void 0?void 0:t.optimize,du=fi===!0||fi===void 0?1:fi||0,pu=(n=(r=e.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:cm,Oy=(o=e.uriResolver)!==null&&o!==void 0?o:G0.default;return{strictSchema:(s=(i=e.strictSchema)!==null&&i!==void 0?i:br)!==null&&s!==void 0?s:!0,strictNumbers:(c=(a=e.strictNumbers)!==null&&a!==void 0?a:br)!==null&&c!==void 0?c:!0,strictTypes:(u=(l=e.strictTypes)!==null&&l!==void 0?l:br)!==null&&u!==void 0?u:"log",strictTuples:(p=(d=e.strictTuples)!==null&&d!==void 0?d:br)!==null&&p!==void 0?p:"log",strictRequired:(h=(f=e.strictRequired)!==null&&f!==void 0?f:br)!==null&&h!==void 0?h:!1,code:e.code?{...e.code,optimize:du,regExp:pu}:{optimize:du,regExp:pu},loopRequired:(g=e.loopRequired)!==null&&g!==void 0?g:om,loopEnum:(_=e.loopEnum)!==null&&_!==void 0?_:om,meta:(w=e.meta)!==null&&w!==void 0?w:!0,messages:(b=e.messages)!==null&&b!==void 0?b:!0,inlineRefs:($=e.inlineRefs)!==null&&$!==void 0?$:!0,schemaId:(z=e.schemaId)!==null&&z!==void 0?z:"$id",addUsedSchema:(R=e.addUsedSchema)!==null&&R!==void 0?R:!0,validateSchema:(_e=e.validateSchema)!==null&&_e!==void 0?_e:!0,validateFormats:(Te=e.validateFormats)!==null&&Te!==void 0?Te:!0,unicodeRegExp:(Zt=e.unicodeRegExp)!==null&&Zt!==void 0?Zt:!0,int32range:(pi=e.int32range)!==null&&pi!==void 0?pi:!0,uriResolver:Oy}}var un=class{constructor(t={}){this.schemas={},this.refs={},this.formats=Object.create(null),this._compilations=new Set,this._loading={},this._cache=new Map,t=this.opts={...t,...X0(t)};let{es5:r,lines:n}=this.opts.code;this.scope=new H0.ValueScope({scope:{},prefixes:J0,es5:r,lines:n}),this.logger=ix(t.logger);let o=t.validateFormats;t.validateFormats=!1,this.RULES=(0,K0.getRules)(),im.call(this,Q0,t,"NOT SUPPORTED"),im.call(this,Y0,t,"DEPRECATED","warn"),this._metaOpts=nx.call(this),t.formats&&tx.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),t.keywords&&rx.call(this,t.keywords),typeof t.meta=="object"&&this.addMetaSchema(t.meta),ex.call(this),t.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:t,meta:r,schemaId:n}=this.opts,o=nm;n==="id"&&(o={...nm},o.id=o.$id,delete o.$id),r&&t&&this.addMetaSchema(o,o[n],!1)}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 o=n(r);return"$async"in n||(this.errors=n.errors),o}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 o.call(this,t,r);async function o(u,d){await i.call(this,u.$schema);let p=this._addSchema(u,d);return p.validate||s.call(this,p)}async function i(u){u&&!this.getSchema(u)&&await o.call(this,{$ref:u},!0)}async function s(u){try{return this._compileSchemaEnv(u)}catch(d){if(!(d instanceof am.default))throw d;return a.call(this,d),await c.call(this,d.missingSchema),s.call(this,u)}}function a({missingSchema:u,missingRef:d}){if(this.refs[u])throw new Error(`AnySchema ${u} is loaded but ${d} cannot be resolved`)}async function c(u){let d=await l.call(this,u);this.refs[u]||await i.call(this,d.$schema),this.refs[u]||this.addSchema(d,u,r)}async function l(u){let d=this._loading[u];if(d)return d;try{return await(this._loading[u]=n(u))}finally{delete this._loading[u]}}}addSchema(t,r,n,o=this.opts.validateSchema){if(Array.isArray(t)){for(let s of t)this.addSchema(s,void 0,n,o);return this}let i;if(typeof t=="object"){let{schemaId:s}=this.opts;if(i=t[s],i!==void 0&&typeof i!="string")throw new Error(`schema ${s} must be string`)}return r=(0,cn.normalizeId)(r||i),this._checkUnique(r),this.schemas[r]=this._addSchema(t,n,r,o,!0),this}addMetaSchema(t,r,n=this.opts.validateSchema){return this.addSchema(t,r,!0,n),this}validateSchema(t,r){if(typeof t=="boolean")return!0;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,!0;let o=this.validate(n,t);if(!o&&r){let i="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(i);else throw new Error(i)}return o}getSchema(t){let r;for(;typeof(r=sm.call(this,t))=="string";)t=r;if(r===void 0){let{schemaId:n}=this.opts,o=new an.SchemaEnv({schema:{},schemaId:n});if(r=an.resolveSchema.call(this,o,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=sm.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,cn.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(ax.call(this,n,r),!r)return(0,Ta.eachItem)(n,i=>Pa.call(this,i)),this;ux.call(this,r);let o={...r,type:(0,xo.getJSONTypes)(r.type),schemaType:(0,xo.getJSONTypes)(r.schemaType)};return(0,Ta.eachItem)(n,o.type.length===0?i=>Pa.call(this,i,o):i=>o.type.forEach(s=>Pa.call(this,i,o,s))),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 o=n.rules.findIndex(i=>i.keyword===t);o>=0&&n.rules.splice(o,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(o=>`${n}${o.instancePath} ${o.message}`).reduce((o,i)=>o+r+i)}$dataMetaSchema(t,r){let n=this.RULES.all;t=JSON.parse(JSON.stringify(t));for(let o of r){let i=o.split("/").slice(1),s=t;for(let a of i)s=s[a];for(let a in n){let c=n[a];if(typeof c!="object")continue;let{$data:l}=c.definition,u=s[a];l&&u&&(s[a]=um(u))}}return t}_removeAllSchemas(t,r){for(let n in t){let o=t[n];(!r||r.test(n))&&(typeof o=="string"?delete t[n]:o&&!o.meta&&(this._cache.delete(o.schema),delete t[n]))}}_addSchema(t,r,n,o=this.opts.validateSchema,i=this.opts.addUsedSchema){let s,{schemaId:a}=this.opts;if(typeof t=="object")s=t[a];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 c=this._cache.get(t);if(c!==void 0)return c;n=(0,cn.normalizeId)(s||n);let l=cn.getSchemaRefs.call(this,t,n);return c=new an.SchemaEnv({schema:t,schemaId:a,meta:r,baseId:n,localRefs:l}),this._cache.set(c.schema,c),i&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),o&&this.validateSchema(t,!0),c}_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):an.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{an.compileSchema.call(this,t)}finally{this.opts=r}}};un.ValidationError=V0.default;un.MissingRefError=am.default;de.default=un;function im(e,t,r,n="error"){for(let o in e){let i=o;i in t&&this.logger[n](`${r}: option ${o}. ${e[i]}`)}}function sm(e){return e=(0,cn.normalizeId)(e),this.schemas[e]||this.refs[e]}function ex(){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 tx(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t)}}function rx(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 nx(){let e={...this.opts};for(let t of W0)delete e[t];return e}var ox={log(){},warn(){},error(){}};function ix(e){if(e===!1)return ox;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 sx=/^[a-z_$][a-z0-9_$:-]*$/i;function ax(e,t){let{RULES:r}=this;if((0,Ta.eachItem)(e,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!sx.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 Pa(e,t,r){var n;let o=t?.post;if(r&&o)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:i}=this,s=o?i.post:i.rules.find(({type:c})=>c===r);if(s||(s={type:r,rules:[]},i.rules.push(s)),i.keywords[e]=!0,!t)return;let a={keyword:e,definition:{...t,type:(0,xo.getJSONTypes)(t.type),schemaType:(0,xo.getJSONTypes)(t.schemaType)}};t.before?cx.call(this,s,a,t.before):s.rules.push(a),i.all[e]=a,(n=t.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function cx(e,t,r){let n=e.rules.findIndex(o=>o.keyword===r);n>=0?e.rules.splice(n,0,t):(e.rules.push(t),this.logger.warn(`rule ${r} is not defined`))}function ux(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=um(t)),e.validateSchema=this.compile(t,!0))}var lx={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function um(e){return{anyOf:[e,lx]}}});var dm=v(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});var dx={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Ra.default=dx});var hm=v(Dt=>{"use strict";Object.defineProperty(Dt,"__esModule",{value:!0});Dt.callRef=Dt.getValidate=void 0;var px=on(),pm=Ne(),ze=N(),ir=ot(),fm=vo(),ko=B(),fx={keyword:"$ref",schemaType:"string",code(e){let{gen:t,schema:r,it:n}=e,{baseId:o,schemaEnv:i,validateName:s,opts:a,self:c}=n,{root:l}=i;if((r==="#"||r==="#/")&&o===l.baseId)return d();let u=fm.resolveRef.call(c,l,o,r);if(u===void 0)throw new px.default(n.opts.uriResolver,o,r);if(u instanceof fm.SchemaEnv)return p(u);return f(u);function d(){if(i===l)return So(e,s,i,i.$async);let h=t.scopeValue("root",{ref:l});return So(e,(0,ze._)`${h}.validate`,l,l.$async)}function p(h){let g=mm(e,h);So(e,g,h,h.$async)}function f(h){let g=t.scopeValue("schema",a.code.source===!0?{ref:h,code:(0,ze.stringify)(h)}:{ref:h}),_=t.name("valid"),w=e.subschema({schema:h,dataTypes:[],schemaPath:ze.nil,topSchemaRef:g,errSchemaPath:r},_);e.mergeEvaluated(w),e.ok(_)}}};function mm(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0,ze._)`${r.scopeValue("wrapper",{ref:t})}.validate`}Dt.getValidate=mm;function So(e,t,r,n){let{gen:o,it:i}=e,{allErrors:s,schemaEnv:a,opts:c}=i,l=c.passContext?ir.default.this:ze.nil;n?u():d();function u(){if(!a.$async)throw new Error("async schema referenced by sync schema");let h=o.let("valid");o.try(()=>{o.code((0,ze._)`await ${(0,pm.callValidateCode)(e,t,l)}`),f(t),s||o.assign(h,!0)},g=>{o.if((0,ze._)`!(${g} instanceof ${i.ValidationError})`,()=>o.throw(g)),p(g),s||o.assign(h,!1)}),e.ok(h)}function d(){e.result((0,pm.callValidateCode)(e,t,l),()=>f(t),()=>p(t))}function p(h){let g=(0,ze._)`${h}.errors`;o.assign(ir.default.vErrors,(0,ze._)`${ir.default.vErrors} === null ? ${g} : ${ir.default.vErrors}.concat(${g})`),o.assign(ir.default.errors,(0,ze._)`${ir.default.vErrors}.length`)}function f(h){var g;if(!i.opts.unevaluated)return;let _=(g=r?.validate)===null||g===void 0?void 0:g.evaluated;if(i.props!==!0)if(_&&!_.dynamicProps)_.props!==void 0&&(i.props=ko.mergeEvaluated.props(o,_.props,i.props));else{let w=o.var("props",(0,ze._)`${h}.evaluated.props`);i.props=ko.mergeEvaluated.props(o,w,i.props,ze.Name)}if(i.items!==!0)if(_&&!_.dynamicItems)_.items!==void 0&&(i.items=ko.mergeEvaluated.items(o,_.items,i.items));else{let w=o.var("items",(0,ze._)`${h}.evaluated.items`);i.items=ko.mergeEvaluated.items(o,w,i.items,ze.Name)}}}Dt.callRef=So;Dt.default=fx});var gm=v(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});var mx=dm(),hx=hm(),gx=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",mx.default,hx.default];Ia.default=gx});var ym=v(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});var Eo=N(),vt=Eo.operators,zo={maximum:{okStr:"<=",ok:vt.LTE,fail:vt.GT},minimum:{okStr:">=",ok:vt.GTE,fail:vt.LT},exclusiveMaximum:{okStr:"<",ok:vt.LT,fail:vt.GTE},exclusiveMinimum:{okStr:">",ok:vt.GT,fail:vt.LTE}},yx={message:({keyword:e,schemaCode:t})=>(0,Eo.str)`must be ${zo[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,Eo._)`{comparison: ${zo[e].okStr}, limit: ${t}}`},_x={keyword:Object.keys(zo),type:"number",schemaType:"number",$data:!0,error:yx,code(e){let{keyword:t,data:r,schemaCode:n}=e;e.fail$data((0,Eo._)`${r} ${zo[t].fail} ${n} || isNaN(${r})`)}};Aa.default=_x});var _m=v(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});var ln=N(),vx={message:({schemaCode:e})=>(0,ln.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,ln._)`{multipleOf: ${e}}`},wx={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:vx,code(e){let{gen:t,data:r,schemaCode:n,it:o}=e,i=o.opts.multipleOfPrecision,s=t.let("res"),a=i?(0,ln._)`Math.abs(Math.round(${s}) - ${s}) > 1e-${i}`:(0,ln._)`${s} !== parseInt(${s})`;e.fail$data((0,ln._)`(${n} === 0 || (${s} = ${r}/${n}, ${a}))`)}};Ca.default=wx});var wm=v(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});function vm(e){let t=e.length,r=0,n=0,o;for(;n<t;)r++,o=e.charCodeAt(n++),o>=55296&&o<=56319&&n<t&&(o=e.charCodeAt(n),(o&64512)===56320&&n++);return r}Na.default=vm;vm.code='require("ajv/dist/runtime/ucs2length").default'});var bm=v(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});var jt=N(),bx=B(),$x=wm(),xx={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}}`},kx={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:xx,code(e){let{keyword:t,data:r,schemaCode:n,it:o}=e,i=t==="maxLength"?jt.operators.GT:jt.operators.LT,s=o.opts.unicode===!1?(0,jt._)`${r}.length`:(0,jt._)`${(0,bx.useFunc)(e.gen,$x.default)}(${r})`;e.fail$data((0,jt._)`${s} ${i} ${n}`)}};Oa.default=kx});var $m=v(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});var Sx=Ne(),Ex=B(),sr=N(),zx={message:({schemaCode:e})=>(0,sr.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,sr._)`{pattern: ${e}}`},Px={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:zx,code(e){let{gen:t,data:r,$data:n,schema:o,schemaCode:i,it:s}=e,a=s.opts.unicodeRegExp?"u":"";if(n){let{regExp:c}=s.opts.code,l=c.code==="new RegExp"?(0,sr._)`new RegExp`:(0,Ex.useFunc)(t,c),u=t.let("valid");t.try(()=>t.assign(u,(0,sr._)`${l}(${i}, ${a}).test(${r})`),()=>t.assign(u,!1)),e.fail$data((0,sr._)`!${u}`)}else{let c=(0,Sx.usePattern)(e,o);e.fail$data((0,sr._)`!${c}.test(${r})`)}}};Da.default=Px});var xm=v(ja=>{"use strict";Object.defineProperty(ja,"__esModule",{value:!0});var dn=N(),Tx={message({keyword:e,schemaCode:t}){let r=e==="maxProperties"?"more":"fewer";return(0,dn.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0,dn._)`{limit: ${e}}`},Rx={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:Tx,code(e){let{keyword:t,data:r,schemaCode:n}=e,o=t==="maxProperties"?dn.operators.GT:dn.operators.LT;e.fail$data((0,dn._)`Object.keys(${r}).length ${o} ${n}`)}};ja.default=Rx});var km=v(Ma=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});var pn=Ne(),fn=N(),Ix=B(),Ax={message:({params:{missingProperty:e}})=>(0,fn.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,fn._)`{missingProperty: ${e}}`},Cx={keyword:"required",type:"object",schemaType:"array",$data:!0,error:Ax,code(e){let{gen:t,schema:r,schemaCode:n,data:o,$data:i,it:s}=e,{opts:a}=s;if(!i&&r.length===0)return;let c=r.length>=a.loopRequired;if(s.allErrors?l():u(),a.strictRequired){let f=e.parentSchema.properties,{definedProperties:h}=e.it;for(let g of r)if(f?.[g]===void 0&&!h.has(g)){let _=s.schemaEnv.baseId+s.errSchemaPath,w=`required property "${g}" is not defined at "${_}" (strictRequired)`;(0,Ix.checkStrictMode)(s,w,s.opts.strictRequired)}}function l(){if(c||i)e.block$data(fn.nil,d);else for(let f of r)(0,pn.checkReportMissingProp)(e,f)}function u(){let f=t.let("missing");if(c||i){let h=t.let("valid",!0);e.block$data(h,()=>p(f,h)),e.ok(h)}else t.if((0,pn.checkMissingProp)(e,r,f)),(0,pn.reportMissingProp)(e,f),t.else()}function d(){t.forOf("prop",n,f=>{e.setParams({missingProperty:f}),t.if((0,pn.noPropertyInData)(t,o,f,a.ownProperties),()=>e.error())})}function p(f,h){e.setParams({missingProperty:f}),t.forOf(f,n,()=>{t.assign(h,(0,pn.propertyInData)(t,o,f,a.ownProperties)),t.if((0,fn.not)(h),()=>{e.error(),t.break()})},fn.nil)}}};Ma.default=Cx});var Sm=v(qa=>{"use strict";Object.defineProperty(qa,"__esModule",{value:!0});var mn=N(),Nx={message({keyword:e,schemaCode:t}){let r=e==="maxItems"?"more":"fewer";return(0,mn.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0,mn._)`{limit: ${e}}`},Ox={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:Nx,code(e){let{keyword:t,data:r,schemaCode:n}=e,o=t==="maxItems"?mn.operators.GT:mn.operators.LT;e.fail$data((0,mn._)`${r}.length ${o} ${n}`)}};qa.default=Ox});var Po=v(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});var Em=ua();Em.code='require("ajv/dist/runtime/equal").default';Ba.default=Em});var zm=v(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});var La=Xr(),pe=N(),Dx=B(),jx=Po(),Mx={message:({params:{i:e,j:t}})=>(0,pe.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0,pe._)`{i: ${e}, j: ${t}}`},qx={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:Mx,code(e){let{gen:t,data:r,$data:n,schema:o,parentSchema:i,schemaCode:s,it:a}=e;if(!n&&!o)return;let c=t.let("valid"),l=i.items?(0,La.getSchemaTypes)(i.items):[];e.block$data(c,u,(0,pe._)`${s} === false`),e.ok(c);function u(){let h=t.let("i",(0,pe._)`${r}.length`),g=t.let("j");e.setParams({i:h,j:g}),t.assign(c,!0),t.if((0,pe._)`${h} > 1`,()=>(d()?p:f)(h,g))}function d(){return l.length>0&&!l.some(h=>h==="object"||h==="array")}function p(h,g){let _=t.name("item"),w=(0,La.checkDataTypes)(l,_,a.opts.strictNumbers,La.DataType.Wrong),b=t.const("indices",(0,pe._)`{}`);t.for((0,pe._)`;${h}--;`,()=>{t.let(_,(0,pe._)`${r}[${h}]`),t.if(w,(0,pe._)`continue`),l.length>1&&t.if((0,pe._)`typeof ${_} == "string"`,(0,pe._)`${_} += "_"`),t.if((0,pe._)`typeof ${b}[${_}] == "number"`,()=>{t.assign(g,(0,pe._)`${b}[${_}]`),e.error(),t.assign(c,!1).break()}).code((0,pe._)`${b}[${_}] = ${h}`)})}function f(h,g){let _=(0,Dx.useFunc)(t,jx.default),w=t.name("outer");t.label(w).for((0,pe._)`;${h}--;`,()=>t.for((0,pe._)`${g} = ${h}; ${g}--;`,()=>t.if((0,pe._)`${_}(${r}[${h}], ${r}[${g}])`,()=>{e.error(),t.assign(c,!1).break(w)})))}}};Za.default=qx});var Pm=v(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});var Ua=N(),Bx=B(),Lx=Po(),Zx={message:"must be equal to constant",params:({schemaCode:e})=>(0,Ua._)`{allowedValue: ${e}}`},Ux={keyword:"const",$data:!0,error:Zx,code(e){let{gen:t,data:r,$data:n,schemaCode:o,schema:i}=e;n||i&&typeof i=="object"?e.fail$data((0,Ua._)`!${(0,Bx.useFunc)(t,Lx.default)}(${r}, ${o})`):e.fail((0,Ua._)`${i} !== ${r}`)}};Fa.default=Ux});var Tm=v(Va=>{"use strict";Object.defineProperty(Va,"__esModule",{value:!0});var hn=N(),Fx=B(),Vx=Po(),Kx={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,hn._)`{allowedValues: ${e}}`},Hx={keyword:"enum",schemaType:"array",$data:!0,error:Kx,code(e){let{gen:t,data:r,$data:n,schema:o,schemaCode:i,it:s}=e;if(!n&&o.length===0)throw new Error("enum must have non-empty array");let a=o.length>=s.opts.loopEnum,c,l=()=>c??(c=(0,Fx.useFunc)(t,Vx.default)),u;if(a||n)u=t.let("valid"),e.block$data(u,d);else{if(!Array.isArray(o))throw new Error("ajv implementation error");let f=t.const("vSchema",i);u=(0,hn.or)(...o.map((h,g)=>p(f,g)))}e.pass(u);function d(){t.assign(u,!1),t.forOf("v",i,f=>t.if((0,hn._)`${l()}(${r}, ${f})`,()=>t.assign(u,!0).break()))}function p(f,h){let g=o[h];return typeof g=="object"&&g!==null?(0,hn._)`${l()}(${r}, ${f}[${h}])`:(0,hn._)`${r} === ${g}`}}};Va.default=Hx});var Rm=v(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});var Gx=ym(),Wx=_m(),Jx=bm(),Qx=$m(),Yx=xm(),Xx=km(),ek=Sm(),tk=zm(),rk=Pm(),nk=Tm(),ok=[Gx.default,Wx.default,Jx.default,Qx.default,Yx.default,Xx.default,ek.default,tk.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},rk.default,nk.default];Ka.default=ok});var Ga=v(gn=>{"use strict";Object.defineProperty(gn,"__esModule",{value:!0});gn.validateAdditionalItems=void 0;var Mt=N(),Ha=B(),ik={message:({params:{len:e}})=>(0,Mt.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Mt._)`{limit: ${e}}`},sk={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:ik,code(e){let{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){(0,Ha.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}Im(e,n)}};function Im(e,t){let{gen:r,schema:n,data:o,keyword:i,it:s}=e;s.items=!0;let a=r.const("len",(0,Mt._)`${o}.length`);if(n===!1)e.setParams({len:t.length}),e.pass((0,Mt._)`${a} <= ${t.length}`);else if(typeof n=="object"&&!(0,Ha.alwaysValidSchema)(s,n)){let l=r.var("valid",(0,Mt._)`${a} <= ${t.length}`);r.if((0,Mt.not)(l),()=>c(l)),e.ok(l)}function c(l){r.forRange("i",t.length,a,u=>{e.subschema({keyword:i,dataProp:u,dataPropType:Ha.Type.Num},l),s.allErrors||r.if((0,Mt.not)(l),()=>r.break())})}}gn.validateAdditionalItems=Im;gn.default=sk});var Wa=v(yn=>{"use strict";Object.defineProperty(yn,"__esModule",{value:!0});yn.validateTuple=void 0;var Am=N(),To=B(),ak=Ne(),ck={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return Cm(e,"additionalItems",t);r.items=!0,!(0,To.alwaysValidSchema)(r,t)&&e.ok((0,ak.validateArray)(e))}};function Cm(e,t,r=e.schema){let{gen:n,parentSchema:o,data:i,keyword:s,it:a}=e;u(o),a.opts.unevaluated&&r.length&&a.items!==!0&&(a.items=To.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),l=n.const("len",(0,Am._)`${i}.length`);r.forEach((d,p)=>{(0,To.alwaysValidSchema)(a,d)||(n.if((0,Am._)`${l} > ${p}`,()=>e.subschema({keyword:s,schemaProp:p,dataProp:p},c)),e.ok(c))});function u(d){let{opts:p,errSchemaPath:f}=a,h=r.length,g=h===d.minItems&&(h===d.maxItems||d[t]===!1);if(p.strictTuples&&!g){let _=`"${s}" is ${h}-tuple, but minItems or maxItems/${t} are not specified or different at path "${f}"`;(0,To.checkStrictMode)(a,_,p.strictTuples)}}}yn.validateTuple=Cm;yn.default=ck});var Nm=v(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});var uk=Wa(),lk={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,uk.validateTuple)(e,"items")};Ja.default=lk});var Dm=v(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});var Om=N(),dk=B(),pk=Ne(),fk=Ga(),mk={message:({params:{len:e}})=>(0,Om.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Om._)`{limit: ${e}}`},hk={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:mk,code(e){let{schema:t,parentSchema:r,it:n}=e,{prefixItems:o}=r;n.items=!0,!(0,dk.alwaysValidSchema)(n,t)&&(o?(0,fk.validateAdditionalItems)(e,o):e.ok((0,pk.validateArray)(e)))}};Qa.default=hk});var jm=v(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});var De=N(),Ro=B(),gk={message:({params:{min:e,max:t}})=>t===void 0?(0,De.str)`must contain at least ${e} valid item(s)`:(0,De.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0,De._)`{minContains: ${e}}`:(0,De._)`{minContains: ${e}, maxContains: ${t}}`},yk={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:gk,code(e){let{gen:t,schema:r,parentSchema:n,data:o,it:i}=e,s,a,{minContains:c,maxContains:l}=n;i.opts.next?(s=c===void 0?1:c,a=l):s=1;let u=t.const("len",(0,De._)`${o}.length`);if(e.setParams({min:s,max:a}),a===void 0&&s===0){(0,Ro.checkStrictMode)(i,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&s>a){(0,Ro.checkStrictMode)(i,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0,Ro.alwaysValidSchema)(i,r)){let g=(0,De._)`${u} >= ${s}`;a!==void 0&&(g=(0,De._)`${g} && ${u} <= ${a}`),e.pass(g);return}i.items=!0;let d=t.name("valid");a===void 0&&s===1?f(d,()=>t.if(d,()=>t.break())):s===0?(t.let(d,!0),a!==void 0&&t.if((0,De._)`${o}.length > 0`,p)):(t.let(d,!1),p()),e.result(d,()=>e.reset());function p(){let g=t.name("_valid"),_=t.let("count",0);f(g,()=>t.if(g,()=>h(_)))}function f(g,_){t.forRange("i",0,u,w=>{e.subschema({keyword:"contains",dataProp:w,dataPropType:Ro.Type.Num,compositeRule:!0},g),_()})}function h(g){t.code((0,De._)`${g}++`),a===void 0?t.if((0,De._)`${g} >= ${s}`,()=>t.assign(d,!0).break()):(t.if((0,De._)`${g} > ${a}`,()=>t.assign(d,!1).break()),s===1?t.assign(d,!0):t.if((0,De._)`${g} >= ${s}`,()=>t.assign(d,!0)))}}};Ya.default=yk});var Bm=v(Qe=>{"use strict";Object.defineProperty(Qe,"__esModule",{value:!0});Qe.validateSchemaDeps=Qe.validatePropertyDeps=Qe.error=void 0;var Xa=N(),_k=B(),_n=Ne();Qe.error={message:({params:{property:e,depsCount:t,deps:r}})=>{let n=t===1?"property":"properties";return(0,Xa.str)`must have ${n} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:r,missingProperty:n}})=>(0,Xa._)`{property: ${e},
7
+ || ${s} === "boolean" || ${o} === null`).assign(a,(0,C._)`[${o}]`)}}}function Bb({gen:e,parentData:t,parentDataProperty:r},n){e.if((0,C._)`${t} !== undefined`,()=>e.assign((0,C._)`${t}[${r}]`,n))}function na(e,t,r,n=Xt.Correct){let o=n===Xt.Correct?C.operators.EQ:C.operators.NEQ,i;switch(e){case"null":return(0,C._)`${t} ${o} null`;case"array":i=(0,C._)`Array.isArray(${t})`;break;case"object":i=(0,C._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":i=s((0,C._)`!(${t} % 1) && !isNaN(${t})`);break;case"number":i=s();break;default:return(0,C._)`typeof ${t} ${o} ${e}`}return n===Xt.Correct?i:(0,C.not)(i);function s(a=C.nil){return(0,C.and)((0,C._)`typeof ${t} == "number"`,a,r?(0,C._)`isFinite(${t})`:C.nil)}}ge.checkDataType=na;function oa(e,t,r,n){if(e.length===1)return na(e[0],t,r,n);let o,i=(0,rf.toHash)(e);if(i.array&&i.object){let s=(0,C._)`typeof ${t} != "object"`;o=i.null?s:(0,C._)`!${t} || ${s}`,delete i.null,delete i.array,delete i.object}else o=C.nil;i.number&&delete i.integer;for(let s in i)o=(0,C.and)(o,na(s,t,r,n));return o}ge.checkDataTypes=oa;var Lb={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0,C._)`{type: ${e}}`:(0,C._)`{type: ${t}}`};function ia(e){let t=Zb(e);(0,Ob.reportError)(t,Lb)}ge.reportTypeError=ia;function Zb(e){let{gen:t,data:r,schema:n}=e,o=(0,rf.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:e}}});var af=v(fo=>{"use strict";Object.defineProperty(fo,"__esModule",{value:!0});fo.assignDefaults=void 0;var er=N(),Ub=B();function Fb(e,t){let{properties:r,items:n}=e.schema;if(t==="object"&&r)for(let o in r)sf(e,o,r[o].default);else t==="array"&&Array.isArray(n)&&n.forEach((o,i)=>sf(e,i,o.default))}fo.assignDefaults=Fb;function sf(e,t,r){let{gen:n,compositeRule:o,data:i,opts:s}=e;if(r===void 0)return;let a=(0,er._)`${i}${(0,er.getProperty)(t)}`;if(o){(0,Ub.checkStrictMode)(e,`default is ignored for: ${a}`);return}let c=(0,er._)`${a} === undefined`;s.useDefaults==="empty"&&(c=(0,er._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,er._)`${a} = ${(0,er.stringify)(r)}`)}});var Ne=v(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});V.validateUnion=V.validateArray=V.usePattern=V.callValidateCode=V.schemaProperties=V.allSchemaProperties=V.noPropertyInData=V.propertyInData=V.isOwnProperty=V.hasPropFunc=V.reportMissingProp=V.checkMissingProp=V.checkReportMissingProp=void 0;var Y=N(),sa=B(),ht=ot(),Vb=B();function Kb(e,t){let{gen:r,data:n,it:o}=e;r.if(ca(r,n,t,o.opts.ownProperties),()=>{e.setParams({missingProperty:(0,Y._)`${t}`},!0),e.error()})}V.checkReportMissingProp=Kb;function Hb({gen:e,data:t,it:{opts:r}},n,o){return(0,Y.or)(...n.map(i=>(0,Y.and)(ca(e,t,i,r.ownProperties),(0,Y._)`${o} = ${i}`)))}V.checkMissingProp=Hb;function Gb(e,t){e.setParams({missingProperty:t},!0),e.error()}V.reportMissingProp=Gb;function cf(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,Y._)`Object.prototype.hasOwnProperty`})}V.hasPropFunc=cf;function aa(e,t,r){return(0,Y._)`${cf(e)}.call(${t}, ${r})`}V.isOwnProperty=aa;function Wb(e,t,r,n){let o=(0,Y._)`${t}${(0,Y.getProperty)(r)} !== undefined`;return n?(0,Y._)`${o} && ${aa(e,t,r)}`:o}V.propertyInData=Wb;function ca(e,t,r,n){let o=(0,Y._)`${t}${(0,Y.getProperty)(r)} === undefined`;return n?(0,Y.or)(o,(0,Y.not)(aa(e,t,r))):o}V.noPropertyInData=ca;function uf(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}V.allSchemaProperties=uf;function Jb(e,t){return uf(t).filter(r=>!(0,sa.alwaysValidSchema)(e,t[r]))}V.schemaProperties=Jb;function Qb({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:i},it:s},a,c,l){let u=l?(0,Y._)`${e}, ${t}, ${n}${o}`:t,d=[[ht.default.instancePath,(0,Y.strConcat)(ht.default.instancePath,i)],[ht.default.parentData,s.parentData],[ht.default.parentDataProperty,s.parentDataProperty],[ht.default.rootData,ht.default.rootData]];s.opts.dynamicRef&&d.push([ht.default.dynamicAnchors,ht.default.dynamicAnchors]);let p=(0,Y._)`${u}, ${r.object(...d)}`;return c!==Y.nil?(0,Y._)`${a}.call(${c}, ${p})`:(0,Y._)`${a}(${p})`}V.callValidateCode=Qb;var Yb=(0,Y._)`new RegExp`;function Xb({gen:e,it:{opts:t}},r){let n=t.unicodeRegExp?"u":"",{regExp:o}=t.code,i=o(r,n);return e.scopeValue("pattern",{key:i.toString(),ref:i,code:(0,Y._)`${o.code==="new RegExp"?Yb:(0,Vb.useFunc)(e,o)}(${r}, ${n})`})}V.usePattern=Xb;function e$(e){let{gen:t,data:r,keyword:n,it:o}=e,i=t.name("valid");if(o.allErrors){let a=t.let("valid",!0);return s(()=>t.assign(a,!1)),a}return t.var(i,!0),s(()=>t.break()),i;function s(a){let c=t.const("len",(0,Y._)`${r}.length`);t.forRange("i",0,c,l=>{e.subschema({keyword:n,dataProp:l,dataPropType:sa.Type.Num},i),t.if((0,Y.not)(i),a)})}}V.validateArray=e$;function t$(e){let{gen:t,schema:r,keyword:n,it:o}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,sa.alwaysValidSchema)(o,c))&&!o.opts.unevaluated)return;let s=t.let("valid",!1),a=t.name("_valid");t.block(()=>r.forEach((c,l)=>{let u=e.subschema({keyword:n,schemaProp:l,compositeRule:!0},a);t.assign(s,(0,Y._)`${s} || ${a}`),e.mergeValidEvaluated(u,a)||t.if((0,Y.not)(s))})),e.result(s,()=>e.reset(),()=>e.error(!0))}V.validateUnion=t$});var pf=v(We=>{"use strict";Object.defineProperty(We,"__esModule",{value:!0});We.validateKeywordUsage=We.validSchemaType=We.funcKeywordCode=We.macroKeywordCode=void 0;var be=N(),Ct=ot(),r$=Ne(),n$=Yr();function o$(e,t){let{gen:r,keyword:n,schema:o,parentSchema:i,it:s}=e,a=t.macro.call(s.self,o,i,s),c=df(r,n,a);s.opts.validateSchema!==!1&&s.self.validateSchema(a,!0);let l=r.name("valid");e.subschema({schema:a,schemaPath:be.nil,errSchemaPath:`${s.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},l),e.pass(l,()=>e.error(!0))}We.macroKeywordCode=o$;function i$(e,t){var r;let{gen:n,keyword:o,schema:i,parentSchema:s,$data:a,it:c}=e;a$(c,t);let l=!a&&t.compile?t.compile.call(c.self,i,s,c):t.validate,u=df(n,o,l),d=n.let("valid");e.block$data(d,p),e.ok((r=t.valid)!==null&&r!==void 0?r:d);function p(){if(t.errors===!1)g(),t.modifying&&lf(e),_(()=>e.error());else{let w=t.async?f():h();t.modifying&&lf(e),_(()=>s$(e,w))}}function f(){let w=n.let("ruleErrs",null);return n.try(()=>g((0,be._)`await `),b=>n.assign(d,!1).if((0,be._)`${b} instanceof ${c.ValidationError}`,()=>n.assign(w,(0,be._)`${b}.errors`),()=>n.throw(b))),w}function h(){let w=(0,be._)`${u}.errors`;return n.assign(w,null),g(be.nil),w}function g(w=t.async?(0,be._)`await `:be.nil){let b=c.opts.passContext?Ct.default.this:Ct.default.self,$=!("compile"in t&&!a||t.schema===!1);n.assign(d,(0,be._)`${w}${(0,r$.callValidateCode)(e,u,b,$)}`,t.modifying)}function _(w){var b;n.if((0,be.not)((b=t.valid)!==null&&b!==void 0?b:d),w)}}We.funcKeywordCode=i$;function lf(e){let{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,(0,be._)`${n.parentData}[${n.parentDataProperty}]`))}function s$(e,t){let{gen:r}=e;r.if((0,be._)`Array.isArray(${t})`,()=>{r.assign(Ct.default.vErrors,(0,be._)`${Ct.default.vErrors} === null ? ${t} : ${Ct.default.vErrors}.concat(${t})`).assign(Ct.default.errors,(0,be._)`${Ct.default.vErrors}.length`),(0,n$.extendErrors)(e)},()=>e.error())}function a$({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function df(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,be.stringify)(r)})}function c$(e,t,r=!1){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=c$;function u$({schema:e,opts:t,self:r,errSchemaPath:n},o,i){if(Array.isArray(o.keyword)?!o.keyword.includes(i):o.keyword!==i)throw new Error("ajv implementation error");let s=o.dependencies;if(s?.some(a=>!Object.prototype.hasOwnProperty.call(e,a)))throw new Error(`parent schema must have dependencies of ${i}: ${s.join(",")}`);if(o.validateSchema&&!o.validateSchema(e[i])){let c=`keyword "${i}" value is invalid at path "${n}": `+r.errorsText(o.validateSchema.errors);if(t.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}We.validateKeywordUsage=u$});var mf=v(gt=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});gt.extendSubschemaMode=gt.extendSubschemaData=gt.getSubschema=void 0;var Je=N(),ff=B();function l$(e,{keyword:t,schemaProp:r,schema:n,schemaPath:o,errSchemaPath:i,topSchemaRef:s}){if(t!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(t!==void 0){let a=e.schema[t];return r===void 0?{schema:a,schemaPath:(0,Je._)`${e.schemaPath}${(0,Je.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:a[r],schemaPath:(0,Je._)`${e.schemaPath}${(0,Je.getProperty)(t)}${(0,Je.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,ff.escapeFragment)(r)}`}}if(n!==void 0){if(o===void 0||i===void 0||s===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:o,topSchemaRef:s,errSchemaPath:i}}throw new Error('either "keyword" or "schema" must be passed')}gt.getSubschema=l$;function d$(e,t,{dataProp:r,dataPropType:n,data:o,dataTypes:i,propertyName:s}){if(o!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:a}=t;if(r!==void 0){let{errorPath:l,dataPathArr:u,opts:d}=t,p=a.let("data",(0,Je._)`${t.data}${(0,Je.getProperty)(r)}`,!0);c(p),e.errorPath=(0,Je.str)`${l}${(0,ff.getErrorPath)(r,n,d.jsPropertySyntax)}`,e.parentDataProperty=(0,Je._)`${r}`,e.dataPathArr=[...u,e.parentDataProperty]}if(o!==void 0){let l=o instanceof Je.Name?o:a.let("data",o,!0);c(l),s!==void 0&&(e.propertyName=s)}i&&(e.dataTypes=i);function c(l){e.data=l,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,l]}}gt.extendSubschemaData=d$;function p$(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:n,createErrors:o,allErrors:i}){n!==void 0&&(e.compositeRule=n),o!==void 0&&(e.createErrors=o),i!==void 0&&(e.allErrors=i),e.jtdDiscriminator=t,e.jtdMetadata=r}gt.extendSubschemaMode=p$});var ua=v((VO,hf)=>{"use strict";hf.exports=function e(t,r){if(t===r)return!0;if(t&&r&&typeof t=="object"&&typeof r=="object"){if(t.constructor!==r.constructor)return!1;var n,o,i;if(Array.isArray(t)){if(n=t.length,n!=r.length)return!1;for(o=n;o--!==0;)if(!e(t[o],r[o]))return!1;return!0}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(i=Object.keys(t),n=i.length,n!==Object.keys(r).length)return!1;for(o=n;o--!==0;)if(!Object.prototype.hasOwnProperty.call(r,i[o]))return!1;for(o=n;o--!==0;){var s=i[o];if(!e(t[s],r[s]))return!1}return!0}return t!==t&&r!==r}});var yf=v((KO,gf)=>{"use strict";var yt=gf.exports=function(e,t,r){typeof t=="function"&&(r=t,t={}),r=t.cb||r;var n=typeof r=="function"?r:r.pre||function(){},o=r.post||function(){};mo(t,n,o,e,"",e)};yt.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};yt.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};yt.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};yt.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function mo(e,t,r,n,o,i,s,a,c,l){if(n&&typeof n=="object"&&!Array.isArray(n)){t(n,o,i,s,a,c,l);for(var u in n){var d=n[u];if(Array.isArray(d)){if(u in yt.arrayKeywords)for(var p=0;p<d.length;p++)mo(e,t,r,d[p],o+"/"+u+"/"+p,i,o,u,n,p)}else if(u in yt.propsKeywords){if(d&&typeof d=="object")for(var f in d)mo(e,t,r,d[f],o+"/"+u+"/"+f$(f),i,o,u,n,f)}else(u in yt.keywords||e.allKeys&&!(u in yt.skipKeywords))&&mo(e,t,r,d,o+"/"+u,i,o,u,n)}r(n,o,i,s,a,c,l)}}function f$(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}});var en=v(Ee=>{"use strict";Object.defineProperty(Ee,"__esModule",{value:!0});Ee.getSchemaRefs=Ee.resolveUrl=Ee.normalizeId=Ee._getFullPath=Ee.getFullPath=Ee.inlineRef=void 0;var m$=B(),h$=ua(),g$=yf(),y$=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function _$(e,t=!0){return typeof e=="boolean"?!0:t===!0?!la(e):t?_f(e)<=t:!1}Ee.inlineRef=_$;var v$=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function la(e){for(let t in e){if(v$.has(t))return!0;let r=e[t];if(Array.isArray(r)&&r.some(la)||typeof r=="object"&&la(r))return!0}return!1}function _f(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,!y$.has(r)&&(typeof e[r]=="object"&&(0,m$.eachItem)(e[r],n=>t+=_f(n)),t===1/0))return 1/0}return t}function vf(e,t="",r){r!==!1&&(t=tr(t));let n=e.parse(t);return wf(e,n)}Ee.getFullPath=vf;function wf(e,t){return e.serialize(t).split("#")[0]+"#"}Ee._getFullPath=wf;var w$=/#\/?$/;function tr(e){return e?e.replace(w$,""):""}Ee.normalizeId=tr;function b$(e,t,r){return r=tr(r),e.resolve(t,r)}Ee.resolveUrl=b$;var $$=/^[a-z_][-a-z0-9._]*$/i;function x$(e,t){if(typeof e=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=tr(e[r]||t),i={"":o},s=vf(n,o,!1),a={},c=new Set;return g$(e,{allKeys:!0},(d,p,f,h)=>{if(h===void 0)return;let g=s+p,_=i[h];typeof d[r]=="string"&&(_=w.call(this,d[r])),b.call(this,d.$anchor),b.call(this,d.$dynamicAnchor),i[p]=_;function w($){let z=this.opts.uriResolver.resolve;if($=tr(_?z(_,$):$),c.has($))throw u($);c.add($);let R=this.refs[$];return typeof R=="string"&&(R=this.refs[R]),typeof R=="object"?l(d,R.schema,$):$!==tr(g)&&($[0]==="#"?(l(d,a[$],$),a[$]=d):this.refs[$]=g),$}function b($){if(typeof $=="string"){if(!$$.test($))throw new Error(`invalid anchor "${$}"`);w.call(this,`#${$}`)}}}),a;function l(d,p,f){if(p!==void 0&&!h$(d,p))throw u(f)}function u(d){return new Error(`reference "${d}" resolves to more than one schema`)}}Ee.getSchemaRefs=x$});var nn=v(_t=>{"use strict";Object.defineProperty(_t,"__esModule",{value:!0});_t.getData=_t.KeywordCxt=_t.validateFunctionCode=void 0;var Sf=Xp(),bf=Xr(),pa=ra(),ho=Xr(),k$=af(),rn=pf(),da=mf(),S=N(),A=ot(),S$=en(),it=B(),tn=Yr();function E$(e){if(Tf(e)&&(Pf(e),zf(e))){P$(e);return}Ef(e,()=>(0,Sf.topBoolOrEmptySchema)(e))}_t.validateFunctionCode=E$;function Ef({gen:e,validateName:t,schema:r,schemaEnv:n,opts:o},i){o.code.es5?e.func(t,(0,S._)`${A.default.data}, ${A.default.valCxt}`,n.$async,()=>{e.code((0,S._)`"use strict"; ${$f(r,o)}`),T$(e,o),e.code(i)}):e.func(t,(0,S._)`${A.default.data}, ${z$(o)}`,n.$async,()=>e.code($f(r,o)).code(i))}function z$(e){return(0,S._)`{${A.default.instancePath}="", ${A.default.parentData}, ${A.default.parentDataProperty}, ${A.default.rootData}=${A.default.data}${e.dynamicRef?(0,S._)`, ${A.default.dynamicAnchors}={}`:S.nil}}={}`}function T$(e,t){e.if(A.default.valCxt,()=>{e.var(A.default.instancePath,(0,S._)`${A.default.valCxt}.${A.default.instancePath}`),e.var(A.default.parentData,(0,S._)`${A.default.valCxt}.${A.default.parentData}`),e.var(A.default.parentDataProperty,(0,S._)`${A.default.valCxt}.${A.default.parentDataProperty}`),e.var(A.default.rootData,(0,S._)`${A.default.valCxt}.${A.default.rootData}`),t.dynamicRef&&e.var(A.default.dynamicAnchors,(0,S._)`${A.default.valCxt}.${A.default.dynamicAnchors}`)},()=>{e.var(A.default.instancePath,(0,S._)`""`),e.var(A.default.parentData,(0,S._)`undefined`),e.var(A.default.parentDataProperty,(0,S._)`undefined`),e.var(A.default.rootData,A.default.data),t.dynamicRef&&e.var(A.default.dynamicAnchors,(0,S._)`{}`)})}function P$(e){let{schema:t,opts:r,gen:n}=e;Ef(e,()=>{r.$comment&&t.$comment&&If(e),N$(e),n.let(A.default.vErrors,null),n.let(A.default.errors,0),r.unevaluated&&R$(e),Rf(e),j$(e)})}function R$(e){let{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",(0,S._)`${r}.evaluated`),t.if((0,S._)`${e.evaluated}.dynamicProps`,()=>t.assign((0,S._)`${e.evaluated}.props`,(0,S._)`undefined`)),t.if((0,S._)`${e.evaluated}.dynamicItems`,()=>t.assign((0,S._)`${e.evaluated}.items`,(0,S._)`undefined`))}function $f(e,t){let r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?(0,S._)`/*# sourceURL=${r} */`:S.nil}function I$(e,t){if(Tf(e)&&(Pf(e),zf(e))){A$(e,t);return}(0,Sf.boolOrEmptySchema)(e,t)}function zf({schema:e,self:t}){if(typeof e=="boolean")return!e;for(let r in e)if(t.RULES.all[r])return!0;return!1}function Tf(e){return typeof e.schema!="boolean"}function A$(e,t){let{schema:r,gen:n,opts:o}=e;o.$comment&&r.$comment&&If(e),O$(e),D$(e);let i=n.const("_errs",A.default.errors);Rf(e,i),n.var(t,(0,S._)`${i} === ${A.default.errors}`)}function Pf(e){(0,it.checkUnknownRules)(e),C$(e)}function Rf(e,t){if(e.opts.jtd)return xf(e,[],!1,t);let r=(0,bf.getSchemaTypes)(e.schema),n=(0,bf.coerceAndCheckDataType)(e,r);xf(e,r,!n,t)}function C$(e){let{schema:t,errSchemaPath:r,opts:n,self:o}=e;t.$ref&&n.ignoreKeywordsWithRef&&(0,it.schemaHasRulesButRef)(t,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function N$(e){let{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,it.checkStrictMode)(e,"default is ignored in the schema root")}function O$(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,S$.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function D$(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function If({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:o}){let i=r.$comment;if(o.$comment===!0)e.code((0,S._)`${A.default.self}.logger.log(${i})`);else if(typeof o.$comment=="function"){let s=(0,S.str)`${n}/$comment`,a=e.scopeValue("root",{ref:t.root});e.code((0,S._)`${A.default.self}.opts.$comment(${i}, ${s}, ${a}.schema)`)}}function j$(e){let{gen:t,schemaEnv:r,validateName:n,ValidationError:o,opts:i}=e;r.$async?t.if((0,S._)`${A.default.errors} === 0`,()=>t.return(A.default.data),()=>t.throw((0,S._)`new ${o}(${A.default.vErrors})`)):(t.assign((0,S._)`${n}.errors`,A.default.vErrors),i.unevaluated&&M$(e),t.return((0,S._)`${A.default.errors} === 0`))}function M$({gen:e,evaluated:t,props:r,items:n}){r instanceof S.Name&&e.assign((0,S._)`${t}.props`,r),n instanceof S.Name&&e.assign((0,S._)`${t}.items`,n)}function xf(e,t,r,n){let{gen:o,schema:i,data:s,allErrors:a,opts:c,self:l}=e,{RULES:u}=l;if(i.$ref&&(c.ignoreKeywordsWithRef||!(0,it.schemaHasRulesButRef)(i,u))){o.block(()=>Cf(e,"$ref",u.all.$ref.definition));return}c.jtd||q$(e,t),o.block(()=>{for(let p of u.rules)d(p);d(u.post)});function d(p){(0,pa.shouldUseGroup)(i,p)&&(p.type?(o.if((0,ho.checkDataType)(p.type,s,c.strictNumbers)),kf(e,p),t.length===1&&t[0]===p.type&&r&&(o.else(),(0,ho.reportTypeError)(e)),o.endIf()):kf(e,p),a||o.if((0,S._)`${A.default.errors} === ${n||0}`))}}function kf(e,t){let{gen:r,schema:n,opts:{useDefaults:o}}=e;o&&(0,k$.assignDefaults)(e,t.type),r.block(()=>{for(let i of t.rules)(0,pa.shouldUseRule)(n,i)&&Cf(e,i.keyword,i.definition,t.type)})}function q$(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(B$(e,t),e.opts.allowUnionTypes||L$(e,t),Z$(e,e.dataTypes))}function B$(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{Af(e.dataTypes,r)||fa(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`)}),F$(e,t)}}function L$(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&fa(e,"use allowUnionTypes to allow union type keyword")}function Z$(e,t){let r=e.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&(0,pa.shouldUseRule)(e.schema,o)){let{type:i}=o.definition;i.length&&!i.some(s=>U$(t,s))&&fa(e,`missing type "${i.join(",")}" for keyword "${n}"`)}}}function U$(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function Af(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function F$(e,t){let r=[];for(let n of e.dataTypes)Af(t,n)?r.push(n):t.includes("integer")&&n==="number"&&r.push("integer");e.dataTypes=r}function fa(e,t){let r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0,it.checkStrictMode)(e,t,e.opts.strictTypes)}var go=class{constructor(t,r,n){if((0,rn.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,it.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",Nf(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0,rn.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!==!1)&&(this.errsCount=t.gen.const("_errs",A.default.errors))}result(t,r,n){this.failResult((0,S.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,S.not)(t),void 0,r)}fail(t){if(t===void 0){this.error(),this.allErrors||this.gen.if(!1);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,S._)`${r} !== undefined && (${(0,S.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?tn.reportExtraError:tn.reportError)(this,this.def.error,r)}$dataError(){(0,tn.reportError)(this,this.def.$dataError||tn.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,tn.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=S.nil){this.gen.block(()=>{this.check$data(t,n),r()})}check$data(t=S.nil,r=S.nil){if(!this.$data)return;let{gen:n,schemaCode:o,schemaType:i,def:s}=this;n.if((0,S.or)((0,S._)`${o} === undefined`,r)),t!==S.nil&&n.assign(t,!0),(i.length||s.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),t!==S.nil&&n.assign(t,!1)),n.else()}invalid$data(){let{gen:t,schemaCode:r,schemaType:n,def:o,it:i}=this;return(0,S.or)(s(),a());function s(){if(n.length){if(!(r instanceof S.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,S._)`${(0,ho.checkDataTypes)(c,r,i.opts.strictNumbers,ho.DataType.Wrong)}`}return S.nil}function a(){if(o.validateSchema){let c=t.scopeValue("validate$data",{ref:o.validateSchema});return(0,S._)`!${c}(${r})`}return S.nil}}subschema(t,r){let n=(0,da.getSubschema)(this.it,t);(0,da.extendSubschemaData)(n,this.it,t),(0,da.extendSubschemaMode)(n,t);let o={...this.it,...n,items:void 0,props:void 0};return I$(o,r),o}mergeEvaluated(t,r){let{it:n,gen:o}=this;n.opts.unevaluated&&(n.props!==!0&&t.props!==void 0&&(n.props=it.mergeEvaluated.props(o,t.props,n.props,r)),n.items!==!0&&t.items!==void 0&&(n.items=it.mergeEvaluated.items(o,t.items,n.items,r)))}mergeValidEvaluated(t,r){let{it:n,gen:o}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return o.if(r,()=>this.mergeEvaluated(t,S.Name)),!0}};_t.KeywordCxt=go;function Cf(e,t,r,n){let o=new go(e,r,t);"code"in r?r.code(o,n):o.$data&&r.validate?(0,rn.funcKeywordCode)(o,r):"macro"in r?(0,rn.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,rn.funcKeywordCode)(o,r)}var V$=/^\/(?:[^~]|~0|~1)*$/,K$=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Nf(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let o,i;if(e==="")return A.default.rootData;if(e[0]==="/"){if(!V$.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);o=e,i=A.default.rootData}else{let l=K$.exec(e);if(!l)throw new Error(`Invalid JSON-pointer: ${e}`);let u=+l[1];if(o=l[2],o==="#"){if(u>=t)throw new Error(c("property/index",u));return n[t-u]}if(u>t)throw new Error(c("data",u));if(i=r[t-u],!o)return i}let s=i,a=o.split("/");for(let l of a)l&&(i=(0,S._)`${i}${(0,S.getProperty)((0,it.unescapeJsonPointer)(l))}`,s=(0,S._)`${s} && ${i}`);return s;function c(l,u){return`Cannot access ${l} ${u} levels up, current level is ${t}`}}_t.getData=Nf});var yo=v(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});var ma=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}};ha.default=ma});var on=v(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});var ga=en(),ya=class extends Error{constructor(t,r,n,o){super(o||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,ga.resolveUrl)(t,r,n),this.missingSchema=(0,ga.normalizeId)((0,ga.getFullPath)(t,this.missingRef))}};_a.default=ya});var vo=v(Oe=>{"use strict";Object.defineProperty(Oe,"__esModule",{value:!0});Oe.resolveSchema=Oe.getCompilingSchema=Oe.resolveRef=Oe.compileSchema=Oe.SchemaEnv=void 0;var Be=N(),H$=yo(),Nt=ot(),Le=en(),Of=B(),G$=nn(),rr=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,Le.normalizeId)(n?.[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=n?.$async,this.refs={}}};Oe.SchemaEnv=rr;function wa(e){let t=Df.call(this,e);if(t)return t;let r=(0,Le.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:i}=this.opts,s=new Be.CodeGen(this.scope,{es5:n,lines:o,ownProperties:i}),a;e.$async&&(a=s.scopeValue("Error",{ref:H$.default,code:(0,Be._)`require("ajv/dist/runtime/validation_error").default`}));let c=s.scopeName("validate");e.validateName=c;let l={gen:s,allErrors:this.opts.allErrors,data:Nt.default.data,parentData:Nt.default.parentData,parentDataProperty:Nt.default.parentDataProperty,dataNames:[Nt.default.data],dataPathArr:[Be.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:s.scopeValue("schema",this.opts.code.source===!0?{ref:e.schema,code:(0,Be.stringify)(e.schema)}:{ref:e.schema}),validateName:c,ValidationError:a,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:Be.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Be._)`""`,opts:this.opts,self:this},u;try{this._compilations.add(e),(0,G$.validateFunctionCode)(l),s.optimize(this.opts.code.optimize);let d=s.toString();u=`${s.scopeRefs(Nt.default.scope)}return ${d}`,this.opts.code.process&&(u=this.opts.code.process(u,e));let f=new Function(`${Nt.default.self}`,`${Nt.default.scope}`,u)(this,this.scope.get());if(this.scope.value(c,{ref:f}),f.errors=null,f.schema=e.schema,f.schemaEnv=e,e.$async&&(f.$async=!0),this.opts.code.source===!0&&(f.source={validateName:c,validateCode:d,scopeValues:s._values}),this.opts.unevaluated){let{props:h,items:g}=l;f.evaluated={props:h instanceof Be.Name?void 0:h,items:g instanceof Be.Name?void 0:g,dynamicProps:h instanceof Be.Name,dynamicItems:g instanceof Be.Name},f.source&&(f.source.evaluated=(0,Be.stringify)(f.evaluated))}return e.validate=f,e}catch(d){throw delete e.validate,delete e.validateName,u&&this.logger.error("Error compiling schema, function code:",u),d}finally{this._compilations.delete(e)}}Oe.compileSchema=wa;function W$(e,t,r){var n;r=(0,Le.resolveUrl)(this.opts.uriResolver,t,r);let o=e.refs[r];if(o)return o;let i=Y$.call(this,e,r);if(i===void 0){let s=(n=e.localRefs)===null||n===void 0?void 0:n[r],{schemaId:a}=this.opts;s&&(i=new rr({schema:s,schemaId:a,root:e,baseId:t}))}if(i!==void 0)return e.refs[r]=J$.call(this,i)}Oe.resolveRef=W$;function J$(e){return(0,Le.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:wa.call(this,e)}function Df(e){for(let t of this._compilations)if(Q$(t,e))return t}Oe.getCompilingSchema=Df;function Q$(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function Y$(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||_o.call(this,e,t)}function _o(e,t){let r=this.opts.uriResolver.parse(t),n=(0,Le._getFullPath)(this.opts.uriResolver,r),o=(0,Le.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===o)return va.call(this,r,e);let i=(0,Le.normalizeId)(n),s=this.refs[i]||this.schemas[i];if(typeof s=="string"){let a=_o.call(this,e,s);return typeof a?.schema!="object"?void 0:va.call(this,r,a)}if(typeof s?.schema=="object"){if(s.validate||wa.call(this,s),i===(0,Le.normalizeId)(t)){let{schema:a}=s,{schemaId:c}=this.opts,l=a[c];return l&&(o=(0,Le.resolveUrl)(this.opts.uriResolver,o,l)),new rr({schema:a,schemaId:c,root:e,baseId:o})}return va.call(this,r,s)}}Oe.resolveSchema=_o;var X$=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function va(e,{baseId:t,schema:r,root:n}){var o;if(((o=e.fragment)===null||o===void 0?void 0:o[0])!=="/")return;for(let a of e.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,Of.unescapeFragment)(a)];if(c===void 0)return;r=c;let l=typeof r=="object"&&r[this.opts.schemaId];!X$.has(a)&&l&&(t=(0,Le.resolveUrl)(this.opts.uriResolver,t,l))}let i;if(typeof r!="boolean"&&r.$ref&&!(0,Of.schemaHasRulesButRef)(r,this.RULES)){let a=(0,Le.resolveUrl)(this.opts.uriResolver,t,r.$ref);i=_o.call(this,n,a)}let{schemaId:s}=this.opts;if(i=i||new rr({schema:r,schemaId:s,root:n,baseId:t}),i.schema!==i.root.schema)return i}});var jf=v((YO,e0)=>{e0.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:!1}});var xa=v((XO,Uf)=>{"use strict";var t0=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),qf=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),ba=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),Bf=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),r0=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function $a(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 n0=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Mf(e){return e.length=0,!0}function o0(e,t,r){if(e.length){let n=$a(e);if(n!=="")t.push(n);else return r.error=!0,!1;e.length=0}return!0}function i0(e){let t=0,r={error:!1,address:"",zone:""},n=[],o=[],i=!1,s=!1,a=o0;for(let c=0;c<e.length;c++){let l=e[c];if(!(l==="["||l==="]"))if(l===":"){if(i===!0&&(s=!0),!a(o,n,r))break;if(++t>7){r.error=!0;break}c>0&&e[c-1]===":"&&(i=!0),n.push(":");continue}else if(l==="%"){if(!a(o,n,r))break;a=Mf}else{o.push(l);continue}}return o.length&&(a===Mf?r.zone=o.join(""):s?n.push(o.join("")):n.push($a(o))),r.address=n.join(""),r}function Lf(e){if(s0(e,":")<2)return{host:e,isIPV6:!1};let t=i0(e);if(t.error)return{host:e,isIPV6:!1};{let r=t.address,n=t.address;return t.zone&&(r+="%"+t.zone,n+="%25"+t.zone),{host:r,isIPV6:!0,escapedHost:n}}}function s0(e,t){let r=0;for(let n=0;n<e.length;n++)e[n]===t&&r++;return r}function a0(e){let t=e,r=[],n=-1,o=0;for(;o=t.length;){if(o===1){if(t===".")break;if(t==="/"){r.push("/");break}else{r.push(t);break}}else if(o===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(o===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("")}var c0={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"},u0=/[@/?#:]/g,l0=/[@/?#]/g;function Zf(e,t){let r=t?l0:u0;return r.lastIndex=0,e.replace(r,n=>c0[n])}function d0(e,t=!1){if(e.indexOf("%")===-1)return e;let r="";for(let n=0;n<e.length;n++){if(e[n]==="%"&&n+2<e.length){let o=e.slice(n+1,n+3);if(ba(o)){let i=o.toUpperCase(),s=String.fromCharCode(parseInt(i,16));t&&Bf(s)?r+=s:r+="%"+i,n+=2;continue}}r+=e[n]}return r}function p0(e){let t="";for(let r=0;r<e.length;r++){if(e[r]==="%"&&r+2<e.length){let n=e.slice(r+1,r+3);if(ba(n)){let o=n.toUpperCase(),i=String.fromCharCode(parseInt(o,16));i!=="."&&Bf(i)?t+=i:t+="%"+o,r+=2;continue}}r0(e[r])?t+=e[r]:t+=escape(e[r])}return t}function f0(e){let t="";for(let r=0;r<e.length;r++){if(e[r]==="%"&&r+2<e.length){let n=e.slice(r+1,r+3);if(ba(n)){t+="%"+n.toUpperCase(),r+=2;continue}}t+=escape(e[r])}return t}function m0(e){let t=[];if(e.userinfo!==void 0&&(t.push(e.userinfo),t.push("@")),e.host!==void 0){let r=unescape(e.host);if(!qf(r)){let n=Lf(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=Zf(r,!1)}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}Uf.exports={nonSimpleDomain:n0,recomposeAuthority:m0,reescapeHostDelimiters:Zf,normalizePercentEncoding:d0,normalizePathEncoding:p0,escapePreservingEscapes:f0,removeDotSegments:a0,isIPv4:qf,isUUID:t0,normalizeIPv6:Lf,stringArrayToHexStripped:$a}});var Gf=v((e1,Hf)=>{"use strict";var{isUUID:h0}=xa(),g0=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,y0=["http","https","ws","wss","urn","urn:uuid"];function _0(e){return y0.indexOf(e)!==-1}function ka(e){return e.secure===!0?!0:e.secure===!1?!1: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"):!1}function Ff(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function Vf(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 v0(e){return e.secure=ka(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function w0(e){if((e.port===(ka(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 b0(e,t){if(!e.path)return e.error="URN can not be parsed",e;let r=e.path.match(g0);if(r){let n=t.scheme||e.scheme||"urn";e.nid=r[1].toLowerCase(),e.nss=r[2];let o=`${n}:${t.nid||e.nid}`,i=Sa(o);e.path=void 0,i&&(e=i.parse(e,t))}else e.error=e.error||"URN can not be parsed.";return e}function $0(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(),o=`${r}:${t.nid||n}`,i=Sa(o);i&&(e=i.serialize(e,t));let s=e,a=e.nss;return s.path=`${n||t.nid}:${a}`,t.skipEscape=!0,s}function x0(e,t){let r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!h0(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function k0(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var Kf={scheme:"http",domainHost:!0,parse:Ff,serialize:Vf},S0={scheme:"https",domainHost:Kf.domainHost,parse:Ff,serialize:Vf},wo={scheme:"ws",domainHost:!0,parse:v0,serialize:w0},E0={scheme:"wss",domainHost:wo.domainHost,parse:wo.parse,serialize:wo.serialize},z0={scheme:"urn",parse:b0,serialize:$0,skipNormalize:!0},T0={scheme:"urn:uuid",parse:x0,serialize:k0,skipNormalize:!0},bo={http:Kf,https:S0,ws:wo,wss:E0,urn:z0,"urn:uuid":T0};Object.setPrototypeOf(bo,null);function Sa(e){return e&&(bo[e]||bo[e.toLowerCase()])||void 0}Hf.exports={wsIsSecure:ka,SCHEMES:bo,isValidSchemeName:_0,getSchemeHandler:Sa}});var em=v((t1,$o)=>{"use strict";var{normalizeIPv6:P0,removeDotSegments:sn,recomposeAuthority:R0,normalizePercentEncoding:I0,normalizePathEncoding:A0,escapePreservingEscapes:C0,reescapeHostDelimiters:N0,isIPv4:O0,nonSimpleDomain:D0}=xa(),{SCHEMES:j0,getSchemeHandler:Jf}=Gf();function M0(e,t){return typeof e=="string"?e=U0(e,t):typeof e=="object"&&(e=nr(Ot(e,t),t)),e}function q0(e,t,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=Qf(nr(e,n),nr(t,n),n,!0);return n.skipEscape=!0,Ot(o,n)}function Qf(e,t,r,n){let o={};return n||(e=nr(Ot(e,r),r),t=nr(Ot(t,r),r)),r=r||{},!r.tolerant&&t.scheme?(o.scheme=t.scheme,o.userinfo=t.userinfo,o.host=t.host,o.port=t.port,o.path=sn(t.path||""),o.query=t.query):(t.userinfo!==void 0||t.host!==void 0||t.port!==void 0?(o.userinfo=t.userinfo,o.host=t.host,o.port=t.port,o.path=sn(t.path||""),o.query=t.query):(t.path?(t.path[0]==="/"?o.path=sn(t.path):((e.userinfo!==void 0||e.host!==void 0||e.port!==void 0)&&!e.path?o.path="/"+t.path:e.path?o.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:o.path=t.path,o.path=sn(o.path)),o.query=t.query):(o.path=e.path,t.query!==void 0?o.query=t.query:o.query=e.query),o.userinfo=e.userinfo,o.host=e.host,o.port=e.port),o.scheme=e.scheme),o.fragment=t.fragment,o}function B0(e,t,r){let n=Wf(e,r),o=Wf(t,r);return n!==void 0&&o!==void 0&&n.toLowerCase()===o.toLowerCase()}function Ot(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),o=[],i=Jf(n.scheme||r.scheme);i&&i.serialize&&i.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=I0(r.path):(r.path=C0(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&o.push(r.scheme,":");let s=R0(r);if(s!==void 0&&(n.reference!=="suffix"&&o.push("//"),o.push(s),r.path&&r.path[0]!=="/"&&o.push("/")),r.path!==void 0){let a=r.path;!n.absolutePath&&(!i||!i.absolutePath)&&(a=sn(a)),s===void 0&&a[0]==="/"&&a[1]==="/"&&(a="/%2F"+a.slice(2)),o.push(a)}return r.query!==void 0&&o.push("?",r.query),r.fragment!==void 0&&o.push("#",r.fragment),o.join("")}var L0=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Z0(e,t){if(t[2]!==void 0&&e.path&&e.path[0]!=="/")return'URI path must start with "/" when authority is present.';if(typeof e.port=="number"&&(e.port<0||e.port>65535))return"URI port is malformed."}function Yf(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},o=!1,i=!1;r.reference==="suffix"&&(r.scheme?e=r.scheme+":"+e:e="//"+e);let s=e.match(L0);if(s){n.scheme=s[1],n.userinfo=s[3],n.host=s[4],n.port=parseInt(s[5],10),n.path=s[6]||"",n.query=s[7],n.fragment=s[8],isNaN(n.port)&&(n.port=s[5]);let a=Z0(n,s);if(a!==void 0&&(n.error=n.error||a,o=!0),n.host)if(O0(n.host)===!1){let u=P0(n.host);n.host=u.host.toLowerCase(),i=u.isIPV6}else i=!0;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 c=Jf(r.scheme||n.scheme);if(!r.unicodeSupport&&(!c||!c.unicodeSupport)&&n.host&&(r.domainHost||c&&c.domainHost)&&i===!1&&D0(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(l){n.error=n.error||"Host's domain name can not be converted to ASCII: "+l}if((!c||c&&!c.skipNormalize)&&(e.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=N0(unescape(n.host),i))),n.path&&(n.path=A0(n.path)),n.fragment))try{n.fragment=encodeURI(decodeURIComponent(n.fragment))}catch{n.error=n.error||"URI malformed"}c&&c.parse&&c.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return{parsed:n,malformedAuthorityOrPort:o}}function nr(e,t){return Yf(e,t).parsed}function U0(e,t){return Xf(e,t).normalized}function Xf(e,t){let{parsed:r,malformedAuthorityOrPort:n}=Yf(e,t);return{normalized:n?e:Ot(r,t),malformedAuthorityOrPort:n}}function Wf(e,t){if(typeof e=="string"){let{normalized:r,malformedAuthorityOrPort:n}=Xf(e,t);return n?void 0:r}if(typeof e=="object")return Ot(e,t)}var Ea={SCHEMES:j0,normalize:M0,resolve:q0,resolveComponent:Qf,equal:B0,serialize:Ot,parse:nr};$o.exports=Ea;$o.exports.default=Ea;$o.exports.fastUri=Ea});var rm=v(za=>{"use strict";Object.defineProperty(za,"__esModule",{value:!0});var tm=em();tm.code='require("ajv/dist/runtime/uri").default';za.default=tm});var lm=v(de=>{"use strict";Object.defineProperty(de,"__esModule",{value:!0});de.CodeGen=de.Name=de.nil=de.stringify=de.str=de._=de.KeywordCxt=void 0;var F0=nn();Object.defineProperty(de,"KeywordCxt",{enumerable:!0,get:function(){return F0.KeywordCxt}});var or=N();Object.defineProperty(de,"_",{enumerable:!0,get:function(){return or._}});Object.defineProperty(de,"str",{enumerable:!0,get:function(){return or.str}});Object.defineProperty(de,"stringify",{enumerable:!0,get:function(){return or.stringify}});Object.defineProperty(de,"nil",{enumerable:!0,get:function(){return or.nil}});Object.defineProperty(de,"Name",{enumerable:!0,get:function(){return or.Name}});Object.defineProperty(de,"CodeGen",{enumerable:!0,get:function(){return or.CodeGen}});var V0=yo(),am=on(),K0=ta(),an=vo(),H0=N(),cn=en(),xo=Xr(),Pa=B(),nm=jf(),G0=rm(),cm=(e,t)=>new RegExp(e,t);cm.code="new RegExp";var W0=["removeAdditional","useDefaults","coerceTypes"],J0=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),Q0={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."},Y0={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},om=200;function X0(e){var t,r,n,o,i,s,a,c,l,u,d,p,f,h,g,_,w,b,$,z,R,_e,Pe,Zt,pi;let br=e.strict,fi=(t=e.code)===null||t===void 0?void 0:t.optimize,du=fi===!0||fi===void 0?1:fi||0,pu=(n=(r=e.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:cm,Oy=(o=e.uriResolver)!==null&&o!==void 0?o:G0.default;return{strictSchema:(s=(i=e.strictSchema)!==null&&i!==void 0?i:br)!==null&&s!==void 0?s:!0,strictNumbers:(c=(a=e.strictNumbers)!==null&&a!==void 0?a:br)!==null&&c!==void 0?c:!0,strictTypes:(u=(l=e.strictTypes)!==null&&l!==void 0?l:br)!==null&&u!==void 0?u:"log",strictTuples:(p=(d=e.strictTuples)!==null&&d!==void 0?d:br)!==null&&p!==void 0?p:"log",strictRequired:(h=(f=e.strictRequired)!==null&&f!==void 0?f:br)!==null&&h!==void 0?h:!1,code:e.code?{...e.code,optimize:du,regExp:pu}:{optimize:du,regExp:pu},loopRequired:(g=e.loopRequired)!==null&&g!==void 0?g:om,loopEnum:(_=e.loopEnum)!==null&&_!==void 0?_:om,meta:(w=e.meta)!==null&&w!==void 0?w:!0,messages:(b=e.messages)!==null&&b!==void 0?b:!0,inlineRefs:($=e.inlineRefs)!==null&&$!==void 0?$:!0,schemaId:(z=e.schemaId)!==null&&z!==void 0?z:"$id",addUsedSchema:(R=e.addUsedSchema)!==null&&R!==void 0?R:!0,validateSchema:(_e=e.validateSchema)!==null&&_e!==void 0?_e:!0,validateFormats:(Pe=e.validateFormats)!==null&&Pe!==void 0?Pe:!0,unicodeRegExp:(Zt=e.unicodeRegExp)!==null&&Zt!==void 0?Zt:!0,int32range:(pi=e.int32range)!==null&&pi!==void 0?pi:!0,uriResolver:Oy}}var un=class{constructor(t={}){this.schemas={},this.refs={},this.formats=Object.create(null),this._compilations=new Set,this._loading={},this._cache=new Map,t=this.opts={...t,...X0(t)};let{es5:r,lines:n}=this.opts.code;this.scope=new H0.ValueScope({scope:{},prefixes:J0,es5:r,lines:n}),this.logger=ix(t.logger);let o=t.validateFormats;t.validateFormats=!1,this.RULES=(0,K0.getRules)(),im.call(this,Q0,t,"NOT SUPPORTED"),im.call(this,Y0,t,"DEPRECATED","warn"),this._metaOpts=nx.call(this),t.formats&&tx.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),t.keywords&&rx.call(this,t.keywords),typeof t.meta=="object"&&this.addMetaSchema(t.meta),ex.call(this),t.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:t,meta:r,schemaId:n}=this.opts,o=nm;n==="id"&&(o={...nm},o.id=o.$id,delete o.$id),r&&t&&this.addMetaSchema(o,o[n],!1)}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 o=n(r);return"$async"in n||(this.errors=n.errors),o}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 o.call(this,t,r);async function o(u,d){await i.call(this,u.$schema);let p=this._addSchema(u,d);return p.validate||s.call(this,p)}async function i(u){u&&!this.getSchema(u)&&await o.call(this,{$ref:u},!0)}async function s(u){try{return this._compileSchemaEnv(u)}catch(d){if(!(d instanceof am.default))throw d;return a.call(this,d),await c.call(this,d.missingSchema),s.call(this,u)}}function a({missingSchema:u,missingRef:d}){if(this.refs[u])throw new Error(`AnySchema ${u} is loaded but ${d} cannot be resolved`)}async function c(u){let d=await l.call(this,u);this.refs[u]||await i.call(this,d.$schema),this.refs[u]||this.addSchema(d,u,r)}async function l(u){let d=this._loading[u];if(d)return d;try{return await(this._loading[u]=n(u))}finally{delete this._loading[u]}}}addSchema(t,r,n,o=this.opts.validateSchema){if(Array.isArray(t)){for(let s of t)this.addSchema(s,void 0,n,o);return this}let i;if(typeof t=="object"){let{schemaId:s}=this.opts;if(i=t[s],i!==void 0&&typeof i!="string")throw new Error(`schema ${s} must be string`)}return r=(0,cn.normalizeId)(r||i),this._checkUnique(r),this.schemas[r]=this._addSchema(t,n,r,o,!0),this}addMetaSchema(t,r,n=this.opts.validateSchema){return this.addSchema(t,r,!0,n),this}validateSchema(t,r){if(typeof t=="boolean")return!0;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,!0;let o=this.validate(n,t);if(!o&&r){let i="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(i);else throw new Error(i)}return o}getSchema(t){let r;for(;typeof(r=sm.call(this,t))=="string";)t=r;if(r===void 0){let{schemaId:n}=this.opts,o=new an.SchemaEnv({schema:{},schemaId:n});if(r=an.resolveSchema.call(this,o,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=sm.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,cn.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(ax.call(this,n,r),!r)return(0,Pa.eachItem)(n,i=>Ta.call(this,i)),this;ux.call(this,r);let o={...r,type:(0,xo.getJSONTypes)(r.type),schemaType:(0,xo.getJSONTypes)(r.schemaType)};return(0,Pa.eachItem)(n,o.type.length===0?i=>Ta.call(this,i,o):i=>o.type.forEach(s=>Ta.call(this,i,o,s))),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 o=n.rules.findIndex(i=>i.keyword===t);o>=0&&n.rules.splice(o,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(o=>`${n}${o.instancePath} ${o.message}`).reduce((o,i)=>o+r+i)}$dataMetaSchema(t,r){let n=this.RULES.all;t=JSON.parse(JSON.stringify(t));for(let o of r){let i=o.split("/").slice(1),s=t;for(let a of i)s=s[a];for(let a in n){let c=n[a];if(typeof c!="object")continue;let{$data:l}=c.definition,u=s[a];l&&u&&(s[a]=um(u))}}return t}_removeAllSchemas(t,r){for(let n in t){let o=t[n];(!r||r.test(n))&&(typeof o=="string"?delete t[n]:o&&!o.meta&&(this._cache.delete(o.schema),delete t[n]))}}_addSchema(t,r,n,o=this.opts.validateSchema,i=this.opts.addUsedSchema){let s,{schemaId:a}=this.opts;if(typeof t=="object")s=t[a];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 c=this._cache.get(t);if(c!==void 0)return c;n=(0,cn.normalizeId)(s||n);let l=cn.getSchemaRefs.call(this,t,n);return c=new an.SchemaEnv({schema:t,schemaId:a,meta:r,baseId:n,localRefs:l}),this._cache.set(c.schema,c),i&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),o&&this.validateSchema(t,!0),c}_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):an.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{an.compileSchema.call(this,t)}finally{this.opts=r}}};un.ValidationError=V0.default;un.MissingRefError=am.default;de.default=un;function im(e,t,r,n="error"){for(let o in e){let i=o;i in t&&this.logger[n](`${r}: option ${o}. ${e[i]}`)}}function sm(e){return e=(0,cn.normalizeId)(e),this.schemas[e]||this.refs[e]}function ex(){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 tx(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t)}}function rx(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 nx(){let e={...this.opts};for(let t of W0)delete e[t];return e}var ox={log(){},warn(){},error(){}};function ix(e){if(e===!1)return ox;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 sx=/^[a-z_$][a-z0-9_$:-]*$/i;function ax(e,t){let{RULES:r}=this;if((0,Pa.eachItem)(e,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!sx.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 Ta(e,t,r){var n;let o=t?.post;if(r&&o)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:i}=this,s=o?i.post:i.rules.find(({type:c})=>c===r);if(s||(s={type:r,rules:[]},i.rules.push(s)),i.keywords[e]=!0,!t)return;let a={keyword:e,definition:{...t,type:(0,xo.getJSONTypes)(t.type),schemaType:(0,xo.getJSONTypes)(t.schemaType)}};t.before?cx.call(this,s,a,t.before):s.rules.push(a),i.all[e]=a,(n=t.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function cx(e,t,r){let n=e.rules.findIndex(o=>o.keyword===r);n>=0?e.rules.splice(n,0,t):(e.rules.push(t),this.logger.warn(`rule ${r} is not defined`))}function ux(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=um(t)),e.validateSchema=this.compile(t,!0))}var lx={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function um(e){return{anyOf:[e,lx]}}});var dm=v(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});var dx={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Ra.default=dx});var hm=v(Dt=>{"use strict";Object.defineProperty(Dt,"__esModule",{value:!0});Dt.callRef=Dt.getValidate=void 0;var px=on(),pm=Ne(),ze=N(),ir=ot(),fm=vo(),ko=B(),fx={keyword:"$ref",schemaType:"string",code(e){let{gen:t,schema:r,it:n}=e,{baseId:o,schemaEnv:i,validateName:s,opts:a,self:c}=n,{root:l}=i;if((r==="#"||r==="#/")&&o===l.baseId)return d();let u=fm.resolveRef.call(c,l,o,r);if(u===void 0)throw new px.default(n.opts.uriResolver,o,r);if(u instanceof fm.SchemaEnv)return p(u);return f(u);function d(){if(i===l)return So(e,s,i,i.$async);let h=t.scopeValue("root",{ref:l});return So(e,(0,ze._)`${h}.validate`,l,l.$async)}function p(h){let g=mm(e,h);So(e,g,h,h.$async)}function f(h){let g=t.scopeValue("schema",a.code.source===!0?{ref:h,code:(0,ze.stringify)(h)}:{ref:h}),_=t.name("valid"),w=e.subschema({schema:h,dataTypes:[],schemaPath:ze.nil,topSchemaRef:g,errSchemaPath:r},_);e.mergeEvaluated(w),e.ok(_)}}};function mm(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0,ze._)`${r.scopeValue("wrapper",{ref:t})}.validate`}Dt.getValidate=mm;function So(e,t,r,n){let{gen:o,it:i}=e,{allErrors:s,schemaEnv:a,opts:c}=i,l=c.passContext?ir.default.this:ze.nil;n?u():d();function u(){if(!a.$async)throw new Error("async schema referenced by sync schema");let h=o.let("valid");o.try(()=>{o.code((0,ze._)`await ${(0,pm.callValidateCode)(e,t,l)}`),f(t),s||o.assign(h,!0)},g=>{o.if((0,ze._)`!(${g} instanceof ${i.ValidationError})`,()=>o.throw(g)),p(g),s||o.assign(h,!1)}),e.ok(h)}function d(){e.result((0,pm.callValidateCode)(e,t,l),()=>f(t),()=>p(t))}function p(h){let g=(0,ze._)`${h}.errors`;o.assign(ir.default.vErrors,(0,ze._)`${ir.default.vErrors} === null ? ${g} : ${ir.default.vErrors}.concat(${g})`),o.assign(ir.default.errors,(0,ze._)`${ir.default.vErrors}.length`)}function f(h){var g;if(!i.opts.unevaluated)return;let _=(g=r?.validate)===null||g===void 0?void 0:g.evaluated;if(i.props!==!0)if(_&&!_.dynamicProps)_.props!==void 0&&(i.props=ko.mergeEvaluated.props(o,_.props,i.props));else{let w=o.var("props",(0,ze._)`${h}.evaluated.props`);i.props=ko.mergeEvaluated.props(o,w,i.props,ze.Name)}if(i.items!==!0)if(_&&!_.dynamicItems)_.items!==void 0&&(i.items=ko.mergeEvaluated.items(o,_.items,i.items));else{let w=o.var("items",(0,ze._)`${h}.evaluated.items`);i.items=ko.mergeEvaluated.items(o,w,i.items,ze.Name)}}}Dt.callRef=So;Dt.default=fx});var gm=v(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});var mx=dm(),hx=hm(),gx=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",mx.default,hx.default];Ia.default=gx});var ym=v(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});var Eo=N(),vt=Eo.operators,zo={maximum:{okStr:"<=",ok:vt.LTE,fail:vt.GT},minimum:{okStr:">=",ok:vt.GTE,fail:vt.LT},exclusiveMaximum:{okStr:"<",ok:vt.LT,fail:vt.GTE},exclusiveMinimum:{okStr:">",ok:vt.GT,fail:vt.LTE}},yx={message:({keyword:e,schemaCode:t})=>(0,Eo.str)`must be ${zo[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,Eo._)`{comparison: ${zo[e].okStr}, limit: ${t}}`},_x={keyword:Object.keys(zo),type:"number",schemaType:"number",$data:!0,error:yx,code(e){let{keyword:t,data:r,schemaCode:n}=e;e.fail$data((0,Eo._)`${r} ${zo[t].fail} ${n} || isNaN(${r})`)}};Aa.default=_x});var _m=v(Ca=>{"use strict";Object.defineProperty(Ca,"__esModule",{value:!0});var ln=N(),vx={message:({schemaCode:e})=>(0,ln.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,ln._)`{multipleOf: ${e}}`},wx={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:vx,code(e){let{gen:t,data:r,schemaCode:n,it:o}=e,i=o.opts.multipleOfPrecision,s=t.let("res"),a=i?(0,ln._)`Math.abs(Math.round(${s}) - ${s}) > 1e-${i}`:(0,ln._)`${s} !== parseInt(${s})`;e.fail$data((0,ln._)`(${n} === 0 || (${s} = ${r}/${n}, ${a}))`)}};Ca.default=wx});var wm=v(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});function vm(e){let t=e.length,r=0,n=0,o;for(;n<t;)r++,o=e.charCodeAt(n++),o>=55296&&o<=56319&&n<t&&(o=e.charCodeAt(n),(o&64512)===56320&&n++);return r}Na.default=vm;vm.code='require("ajv/dist/runtime/ucs2length").default'});var bm=v(Oa=>{"use strict";Object.defineProperty(Oa,"__esModule",{value:!0});var jt=N(),bx=B(),$x=wm(),xx={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}}`},kx={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:xx,code(e){let{keyword:t,data:r,schemaCode:n,it:o}=e,i=t==="maxLength"?jt.operators.GT:jt.operators.LT,s=o.opts.unicode===!1?(0,jt._)`${r}.length`:(0,jt._)`${(0,bx.useFunc)(e.gen,$x.default)}(${r})`;e.fail$data((0,jt._)`${s} ${i} ${n}`)}};Oa.default=kx});var $m=v(Da=>{"use strict";Object.defineProperty(Da,"__esModule",{value:!0});var Sx=Ne(),Ex=B(),sr=N(),zx={message:({schemaCode:e})=>(0,sr.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,sr._)`{pattern: ${e}}`},Tx={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:zx,code(e){let{gen:t,data:r,$data:n,schema:o,schemaCode:i,it:s}=e,a=s.opts.unicodeRegExp?"u":"";if(n){let{regExp:c}=s.opts.code,l=c.code==="new RegExp"?(0,sr._)`new RegExp`:(0,Ex.useFunc)(t,c),u=t.let("valid");t.try(()=>t.assign(u,(0,sr._)`${l}(${i}, ${a}).test(${r})`),()=>t.assign(u,!1)),e.fail$data((0,sr._)`!${u}`)}else{let c=(0,Sx.usePattern)(e,o);e.fail$data((0,sr._)`!${c}.test(${r})`)}}};Da.default=Tx});var xm=v(ja=>{"use strict";Object.defineProperty(ja,"__esModule",{value:!0});var dn=N(),Px={message({keyword:e,schemaCode:t}){let r=e==="maxProperties"?"more":"fewer";return(0,dn.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0,dn._)`{limit: ${e}}`},Rx={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:Px,code(e){let{keyword:t,data:r,schemaCode:n}=e,o=t==="maxProperties"?dn.operators.GT:dn.operators.LT;e.fail$data((0,dn._)`Object.keys(${r}).length ${o} ${n}`)}};ja.default=Rx});var km=v(Ma=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});var pn=Ne(),fn=N(),Ix=B(),Ax={message:({params:{missingProperty:e}})=>(0,fn.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,fn._)`{missingProperty: ${e}}`},Cx={keyword:"required",type:"object",schemaType:"array",$data:!0,error:Ax,code(e){let{gen:t,schema:r,schemaCode:n,data:o,$data:i,it:s}=e,{opts:a}=s;if(!i&&r.length===0)return;let c=r.length>=a.loopRequired;if(s.allErrors?l():u(),a.strictRequired){let f=e.parentSchema.properties,{definedProperties:h}=e.it;for(let g of r)if(f?.[g]===void 0&&!h.has(g)){let _=s.schemaEnv.baseId+s.errSchemaPath,w=`required property "${g}" is not defined at "${_}" (strictRequired)`;(0,Ix.checkStrictMode)(s,w,s.opts.strictRequired)}}function l(){if(c||i)e.block$data(fn.nil,d);else for(let f of r)(0,pn.checkReportMissingProp)(e,f)}function u(){let f=t.let("missing");if(c||i){let h=t.let("valid",!0);e.block$data(h,()=>p(f,h)),e.ok(h)}else t.if((0,pn.checkMissingProp)(e,r,f)),(0,pn.reportMissingProp)(e,f),t.else()}function d(){t.forOf("prop",n,f=>{e.setParams({missingProperty:f}),t.if((0,pn.noPropertyInData)(t,o,f,a.ownProperties),()=>e.error())})}function p(f,h){e.setParams({missingProperty:f}),t.forOf(f,n,()=>{t.assign(h,(0,pn.propertyInData)(t,o,f,a.ownProperties)),t.if((0,fn.not)(h),()=>{e.error(),t.break()})},fn.nil)}}};Ma.default=Cx});var Sm=v(qa=>{"use strict";Object.defineProperty(qa,"__esModule",{value:!0});var mn=N(),Nx={message({keyword:e,schemaCode:t}){let r=e==="maxItems"?"more":"fewer";return(0,mn.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0,mn._)`{limit: ${e}}`},Ox={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:Nx,code(e){let{keyword:t,data:r,schemaCode:n}=e,o=t==="maxItems"?mn.operators.GT:mn.operators.LT;e.fail$data((0,mn._)`${r}.length ${o} ${n}`)}};qa.default=Ox});var To=v(Ba=>{"use strict";Object.defineProperty(Ba,"__esModule",{value:!0});var Em=ua();Em.code='require("ajv/dist/runtime/equal").default';Ba.default=Em});var zm=v(Za=>{"use strict";Object.defineProperty(Za,"__esModule",{value:!0});var La=Xr(),pe=N(),Dx=B(),jx=To(),Mx={message:({params:{i:e,j:t}})=>(0,pe.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0,pe._)`{i: ${e}, j: ${t}}`},qx={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:Mx,code(e){let{gen:t,data:r,$data:n,schema:o,parentSchema:i,schemaCode:s,it:a}=e;if(!n&&!o)return;let c=t.let("valid"),l=i.items?(0,La.getSchemaTypes)(i.items):[];e.block$data(c,u,(0,pe._)`${s} === false`),e.ok(c);function u(){let h=t.let("i",(0,pe._)`${r}.length`),g=t.let("j");e.setParams({i:h,j:g}),t.assign(c,!0),t.if((0,pe._)`${h} > 1`,()=>(d()?p:f)(h,g))}function d(){return l.length>0&&!l.some(h=>h==="object"||h==="array")}function p(h,g){let _=t.name("item"),w=(0,La.checkDataTypes)(l,_,a.opts.strictNumbers,La.DataType.Wrong),b=t.const("indices",(0,pe._)`{}`);t.for((0,pe._)`;${h}--;`,()=>{t.let(_,(0,pe._)`${r}[${h}]`),t.if(w,(0,pe._)`continue`),l.length>1&&t.if((0,pe._)`typeof ${_} == "string"`,(0,pe._)`${_} += "_"`),t.if((0,pe._)`typeof ${b}[${_}] == "number"`,()=>{t.assign(g,(0,pe._)`${b}[${_}]`),e.error(),t.assign(c,!1).break()}).code((0,pe._)`${b}[${_}] = ${h}`)})}function f(h,g){let _=(0,Dx.useFunc)(t,jx.default),w=t.name("outer");t.label(w).for((0,pe._)`;${h}--;`,()=>t.for((0,pe._)`${g} = ${h}; ${g}--;`,()=>t.if((0,pe._)`${_}(${r}[${h}], ${r}[${g}])`,()=>{e.error(),t.assign(c,!1).break(w)})))}}};Za.default=qx});var Tm=v(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});var Ua=N(),Bx=B(),Lx=To(),Zx={message:"must be equal to constant",params:({schemaCode:e})=>(0,Ua._)`{allowedValue: ${e}}`},Ux={keyword:"const",$data:!0,error:Zx,code(e){let{gen:t,data:r,$data:n,schemaCode:o,schema:i}=e;n||i&&typeof i=="object"?e.fail$data((0,Ua._)`!${(0,Bx.useFunc)(t,Lx.default)}(${r}, ${o})`):e.fail((0,Ua._)`${i} !== ${r}`)}};Fa.default=Ux});var Pm=v(Va=>{"use strict";Object.defineProperty(Va,"__esModule",{value:!0});var hn=N(),Fx=B(),Vx=To(),Kx={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,hn._)`{allowedValues: ${e}}`},Hx={keyword:"enum",schemaType:"array",$data:!0,error:Kx,code(e){let{gen:t,data:r,$data:n,schema:o,schemaCode:i,it:s}=e;if(!n&&o.length===0)throw new Error("enum must have non-empty array");let a=o.length>=s.opts.loopEnum,c,l=()=>c??(c=(0,Fx.useFunc)(t,Vx.default)),u;if(a||n)u=t.let("valid"),e.block$data(u,d);else{if(!Array.isArray(o))throw new Error("ajv implementation error");let f=t.const("vSchema",i);u=(0,hn.or)(...o.map((h,g)=>p(f,g)))}e.pass(u);function d(){t.assign(u,!1),t.forOf("v",i,f=>t.if((0,hn._)`${l()}(${r}, ${f})`,()=>t.assign(u,!0).break()))}function p(f,h){let g=o[h];return typeof g=="object"&&g!==null?(0,hn._)`${l()}(${r}, ${f}[${h}])`:(0,hn._)`${r} === ${g}`}}};Va.default=Hx});var Rm=v(Ka=>{"use strict";Object.defineProperty(Ka,"__esModule",{value:!0});var Gx=ym(),Wx=_m(),Jx=bm(),Qx=$m(),Yx=xm(),Xx=km(),ek=Sm(),tk=zm(),rk=Tm(),nk=Pm(),ok=[Gx.default,Wx.default,Jx.default,Qx.default,Yx.default,Xx.default,ek.default,tk.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},rk.default,nk.default];Ka.default=ok});var Ga=v(gn=>{"use strict";Object.defineProperty(gn,"__esModule",{value:!0});gn.validateAdditionalItems=void 0;var Mt=N(),Ha=B(),ik={message:({params:{len:e}})=>(0,Mt.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Mt._)`{limit: ${e}}`},sk={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:ik,code(e){let{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){(0,Ha.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}Im(e,n)}};function Im(e,t){let{gen:r,schema:n,data:o,keyword:i,it:s}=e;s.items=!0;let a=r.const("len",(0,Mt._)`${o}.length`);if(n===!1)e.setParams({len:t.length}),e.pass((0,Mt._)`${a} <= ${t.length}`);else if(typeof n=="object"&&!(0,Ha.alwaysValidSchema)(s,n)){let l=r.var("valid",(0,Mt._)`${a} <= ${t.length}`);r.if((0,Mt.not)(l),()=>c(l)),e.ok(l)}function c(l){r.forRange("i",t.length,a,u=>{e.subschema({keyword:i,dataProp:u,dataPropType:Ha.Type.Num},l),s.allErrors||r.if((0,Mt.not)(l),()=>r.break())})}}gn.validateAdditionalItems=Im;gn.default=sk});var Wa=v(yn=>{"use strict";Object.defineProperty(yn,"__esModule",{value:!0});yn.validateTuple=void 0;var Am=N(),Po=B(),ak=Ne(),ck={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return Cm(e,"additionalItems",t);r.items=!0,!(0,Po.alwaysValidSchema)(r,t)&&e.ok((0,ak.validateArray)(e))}};function Cm(e,t,r=e.schema){let{gen:n,parentSchema:o,data:i,keyword:s,it:a}=e;u(o),a.opts.unevaluated&&r.length&&a.items!==!0&&(a.items=Po.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),l=n.const("len",(0,Am._)`${i}.length`);r.forEach((d,p)=>{(0,Po.alwaysValidSchema)(a,d)||(n.if((0,Am._)`${l} > ${p}`,()=>e.subschema({keyword:s,schemaProp:p,dataProp:p},c)),e.ok(c))});function u(d){let{opts:p,errSchemaPath:f}=a,h=r.length,g=h===d.minItems&&(h===d.maxItems||d[t]===!1);if(p.strictTuples&&!g){let _=`"${s}" is ${h}-tuple, but minItems or maxItems/${t} are not specified or different at path "${f}"`;(0,Po.checkStrictMode)(a,_,p.strictTuples)}}}yn.validateTuple=Cm;yn.default=ck});var Nm=v(Ja=>{"use strict";Object.defineProperty(Ja,"__esModule",{value:!0});var uk=Wa(),lk={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,uk.validateTuple)(e,"items")};Ja.default=lk});var Dm=v(Qa=>{"use strict";Object.defineProperty(Qa,"__esModule",{value:!0});var Om=N(),dk=B(),pk=Ne(),fk=Ga(),mk={message:({params:{len:e}})=>(0,Om.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Om._)`{limit: ${e}}`},hk={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:mk,code(e){let{schema:t,parentSchema:r,it:n}=e,{prefixItems:o}=r;n.items=!0,!(0,dk.alwaysValidSchema)(n,t)&&(o?(0,fk.validateAdditionalItems)(e,o):e.ok((0,pk.validateArray)(e)))}};Qa.default=hk});var jm=v(Ya=>{"use strict";Object.defineProperty(Ya,"__esModule",{value:!0});var De=N(),Ro=B(),gk={message:({params:{min:e,max:t}})=>t===void 0?(0,De.str)`must contain at least ${e} valid item(s)`:(0,De.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0,De._)`{minContains: ${e}}`:(0,De._)`{minContains: ${e}, maxContains: ${t}}`},yk={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:gk,code(e){let{gen:t,schema:r,parentSchema:n,data:o,it:i}=e,s,a,{minContains:c,maxContains:l}=n;i.opts.next?(s=c===void 0?1:c,a=l):s=1;let u=t.const("len",(0,De._)`${o}.length`);if(e.setParams({min:s,max:a}),a===void 0&&s===0){(0,Ro.checkStrictMode)(i,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&s>a){(0,Ro.checkStrictMode)(i,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0,Ro.alwaysValidSchema)(i,r)){let g=(0,De._)`${u} >= ${s}`;a!==void 0&&(g=(0,De._)`${g} && ${u} <= ${a}`),e.pass(g);return}i.items=!0;let d=t.name("valid");a===void 0&&s===1?f(d,()=>t.if(d,()=>t.break())):s===0?(t.let(d,!0),a!==void 0&&t.if((0,De._)`${o}.length > 0`,p)):(t.let(d,!1),p()),e.result(d,()=>e.reset());function p(){let g=t.name("_valid"),_=t.let("count",0);f(g,()=>t.if(g,()=>h(_)))}function f(g,_){t.forRange("i",0,u,w=>{e.subschema({keyword:"contains",dataProp:w,dataPropType:Ro.Type.Num,compositeRule:!0},g),_()})}function h(g){t.code((0,De._)`${g}++`),a===void 0?t.if((0,De._)`${g} >= ${s}`,()=>t.assign(d,!0).break()):(t.if((0,De._)`${g} > ${a}`,()=>t.assign(d,!1).break()),s===1?t.assign(d,!0):t.if((0,De._)`${g} >= ${s}`,()=>t.assign(d,!0)))}}};Ya.default=yk});var Bm=v(Qe=>{"use strict";Object.defineProperty(Qe,"__esModule",{value:!0});Qe.validateSchemaDeps=Qe.validatePropertyDeps=Qe.error=void 0;var Xa=N(),_k=B(),_n=Ne();Qe.error={message:({params:{property:e,depsCount:t,deps:r}})=>{let n=t===1?"property":"properties";return(0,Xa.str)`must have ${n} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:r,missingProperty:n}})=>(0,Xa._)`{property: ${e},
8
8
  missingProperty: ${n},
9
9
  depsCount: ${t},
10
- deps: ${r}}`};var vk={keyword:"dependencies",type:"object",schemaType:"object",error:Qe.error,code(e){let[t,r]=wk(e);Mm(e,t),qm(e,r)}};function wk({schema:e}){let t={},r={};for(let n in e){if(n==="__proto__")continue;let o=Array.isArray(e[n])?t:r;o[n]=e[n]}return[t,r]}function Mm(e,t=e.schema){let{gen:r,data:n,it:o}=e;if(Object.keys(t).length===0)return;let i=r.let("missing");for(let s in t){let a=t[s];if(a.length===0)continue;let c=(0,_n.propertyInData)(r,n,s,o.opts.ownProperties);e.setParams({property:s,depsCount:a.length,deps:a.join(", ")}),o.allErrors?r.if(c,()=>{for(let l of a)(0,_n.checkReportMissingProp)(e,l)}):(r.if((0,Xa._)`${c} && (${(0,_n.checkMissingProp)(e,a,i)})`),(0,_n.reportMissingProp)(e,i),r.else())}}Qe.validatePropertyDeps=Mm;function qm(e,t=e.schema){let{gen:r,data:n,keyword:o,it:i}=e,s=r.name("valid");for(let a in t)(0,_k.alwaysValidSchema)(i,t[a])||(r.if((0,_n.propertyInData)(r,n,a,i.opts.ownProperties),()=>{let c=e.subschema({keyword:o,schemaProp:a},s);e.mergeValidEvaluated(c,s)},()=>r.var(s,!0)),e.ok(s))}Qe.validateSchemaDeps=qm;Qe.default=vk});var Zm=v(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});var Lm=N(),bk=B(),$k={message:"property name must be valid",params:({params:e})=>(0,Lm._)`{propertyName: ${e.propertyName}}`},xk={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:$k,code(e){let{gen:t,schema:r,data:n,it:o}=e;if((0,bk.alwaysValidSchema)(o,r))return;let i=t.name("valid");t.forIn("key",n,s=>{e.setParams({propertyName:s}),e.subschema({keyword:"propertyNames",data:s,dataTypes:["string"],propertyName:s,compositeRule:!0},i),t.if((0,Lm.not)(i),()=>{e.error(!0),o.allErrors||t.break()})}),e.ok(i)}};ec.default=xk});var rc=v(tc=>{"use strict";Object.defineProperty(tc,"__esModule",{value:!0});var Io=Ne(),Ze=N(),kk=ot(),Ao=B(),Sk={message:"must NOT have additional properties",params:({params:e})=>(0,Ze._)`{additionalProperty: ${e.additionalProperty}}`},Ek={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:Sk,code(e){let{gen:t,schema:r,parentSchema:n,data:o,errsCount:i,it:s}=e;if(!i)throw new Error("ajv implementation error");let{allErrors:a,opts:c}=s;if(s.props=!0,c.removeAdditional!=="all"&&(0,Ao.alwaysValidSchema)(s,r))return;let l=(0,Io.allSchemaProperties)(n.properties),u=(0,Io.allSchemaProperties)(n.patternProperties);d(),e.ok((0,Ze._)`${i} === ${kk.default.errors}`);function d(){t.forIn("key",o,_=>{!l.length&&!u.length?h(_):t.if(p(_),()=>h(_))})}function p(_){let w;if(l.length>8){let b=(0,Ao.schemaRefOrVal)(s,n.properties,"properties");w=(0,Io.isOwnProperty)(t,b,_)}else l.length?w=(0,Ze.or)(...l.map(b=>(0,Ze._)`${_} === ${b}`)):w=Ze.nil;return u.length&&(w=(0,Ze.or)(w,...u.map(b=>(0,Ze._)`${(0,Io.usePattern)(e,b)}.test(${_})`))),(0,Ze.not)(w)}function f(_){t.code((0,Ze._)`delete ${o}[${_}]`)}function h(_){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){f(_);return}if(r===!1){e.setParams({additionalProperty:_}),e.error(),a||t.break();return}if(typeof r=="object"&&!(0,Ao.alwaysValidSchema)(s,r)){let w=t.name("valid");c.removeAdditional==="failing"?(g(_,w,!1),t.if((0,Ze.not)(w),()=>{e.reset(),f(_)})):(g(_,w),a||t.if((0,Ze.not)(w),()=>t.break()))}}function g(_,w,b){let $={keyword:"additionalProperties",dataProp:_,dataPropType:Ao.Type.Str};b===!1&&Object.assign($,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema($,w)}}};tc.default=Ek});var Vm=v(oc=>{"use strict";Object.defineProperty(oc,"__esModule",{value:!0});var zk=nn(),Um=Ne(),nc=B(),Fm=rc(),Pk={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,parentSchema:n,data:o,it:i}=e;i.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&Fm.default.code(new zk.KeywordCxt(i,Fm.default,"additionalProperties"));let s=(0,Um.allSchemaProperties)(r);for(let d of s)i.definedProperties.add(d);i.opts.unevaluated&&s.length&&i.props!==!0&&(i.props=nc.mergeEvaluated.props(t,(0,nc.toHash)(s),i.props));let a=s.filter(d=>!(0,nc.alwaysValidSchema)(i,r[d]));if(a.length===0)return;let c=t.name("valid");for(let d of a)l(d)?u(d):(t.if((0,Um.propertyInData)(t,o,d,i.opts.ownProperties)),u(d),i.allErrors||t.else().var(c,!0),t.endIf()),e.it.definedProperties.add(d),e.ok(c);function l(d){return i.opts.useDefaults&&!i.compositeRule&&r[d].default!==void 0}function u(d){e.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};oc.default=Pk});var Wm=v(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});var Km=Ne(),Co=N(),Hm=B(),Gm=B(),Tk={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,data:n,parentSchema:o,it:i}=e,{opts:s}=i,a=(0,Km.allSchemaProperties)(r),c=a.filter(g=>(0,Hm.alwaysValidSchema)(i,r[g]));if(a.length===0||c.length===a.length&&(!i.opts.unevaluated||i.props===!0))return;let l=s.strictSchema&&!s.allowMatchingProperties&&o.properties,u=t.name("valid");i.props!==!0&&!(i.props instanceof Co.Name)&&(i.props=(0,Gm.evaluatedPropsToName)(t,i.props));let{props:d}=i;p();function p(){for(let g of a)l&&f(g),i.allErrors?h(g):(t.var(u,!0),h(g),t.if(u))}function f(g){for(let _ in l)new RegExp(g).test(_)&&(0,Hm.checkStrictMode)(i,`property ${_} matches pattern ${g} (use allowMatchingProperties)`)}function h(g){t.forIn("key",n,_=>{t.if((0,Co._)`${(0,Km.usePattern)(e,g)}.test(${_})`,()=>{let w=c.includes(g);w||e.subschema({keyword:"patternProperties",schemaProp:g,dataProp:_,dataPropType:Gm.Type.Str},u),i.opts.unevaluated&&d!==!0?t.assign((0,Co._)`${d}[${_}]`,!0):!w&&!i.allErrors&&t.if((0,Co.not)(u),()=>t.break())})})}}};ic.default=Tk});var Jm=v(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});var Rk=B(),Ik={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:n}=e;if((0,Rk.alwaysValidSchema)(n,r)){e.fail();return}let o=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},o),e.failResult(o,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};sc.default=Ik});var Qm=v(ac=>{"use strict";Object.defineProperty(ac,"__esModule",{value:!0});var Ak=Ne(),Ck={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:Ak.validateUnion,error:{message:"must match a schema in anyOf"}};ac.default=Ck});var Ym=v(cc=>{"use strict";Object.defineProperty(cc,"__esModule",{value:!0});var No=N(),Nk=B(),Ok={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,No._)`{passingSchemas: ${e.passing}}`},Dk={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:Ok,code(e){let{gen:t,schema:r,parentSchema:n,it:o}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(o.opts.discriminator&&n.discriminator)return;let i=r,s=t.let("valid",!1),a=t.let("passing",null),c=t.name("_valid");e.setParams({passing:a}),t.block(l),e.result(s,()=>e.reset(),()=>e.error(!0));function l(){i.forEach((u,d)=>{let p;(0,Nk.alwaysValidSchema)(o,u)?t.var(c,!0):p=e.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&t.if((0,No._)`${c} && ${s}`).assign(s,!1).assign(a,(0,No._)`[${a}, ${d}]`).else(),t.if(c,()=>{t.assign(s,!0),t.assign(a,d),p&&e.mergeEvaluated(p,No.Name)})})}}};cc.default=Dk});var Xm=v(uc=>{"use strict";Object.defineProperty(uc,"__esModule",{value:!0});var jk=B(),Mk={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 o=t.name("valid");r.forEach((i,s)=>{if((0,jk.alwaysValidSchema)(n,i))return;let a=e.subschema({keyword:"allOf",schemaProp:s},o);e.ok(o),e.mergeEvaluated(a)})}};uc.default=Mk});var rh=v(lc=>{"use strict";Object.defineProperty(lc,"__esModule",{value:!0});var Oo=N(),th=B(),qk={message:({params:e})=>(0,Oo.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,Oo._)`{failingKeyword: ${e.ifClause}}`},Bk={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:qk,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0,th.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=eh(n,"then"),i=eh(n,"else");if(!o&&!i)return;let s=t.let("valid",!0),a=t.name("_valid");if(c(),e.reset(),o&&i){let u=t.let("ifClause");e.setParams({ifClause:u}),t.if(a,l("then",u),l("else",u))}else o?t.if(a,l("then")):t.if((0,Oo.not)(a),l("else"));e.pass(s,()=>e.error(!0));function c(){let u=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);e.mergeEvaluated(u)}function l(u,d){return()=>{let p=e.subschema({keyword:u},a);t.assign(s,a),e.mergeValidEvaluated(p,s),d?t.assign(d,(0,Oo._)`${u}`):e.setParams({ifClause:u})}}}};function eh(e,t){let r=e.schema[t];return r!==void 0&&!(0,th.alwaysValidSchema)(e,r)}lc.default=Bk});var nh=v(dc=>{"use strict";Object.defineProperty(dc,"__esModule",{value:!0});var Lk=B(),Zk={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,Lk.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};dc.default=Zk});var oh=v(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});var Uk=Ga(),Fk=Nm(),Vk=Wa(),Kk=Dm(),Hk=jm(),Gk=Bm(),Wk=Zm(),Jk=rc(),Qk=Vm(),Yk=Wm(),Xk=Jm(),eS=Qm(),tS=Ym(),rS=Xm(),nS=rh(),oS=nh();function iS(e=!1){let t=[Xk.default,eS.default,tS.default,rS.default,nS.default,oS.default,Wk.default,Jk.default,Gk.default,Qk.default,Yk.default];return e?t.push(Fk.default,Kk.default):t.push(Uk.default,Vk.default),t.push(Hk.default),t}pc.default=iS});var ih=v(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});var oe=N(),sS={message:({schemaCode:e})=>(0,oe.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,oe._)`{format: ${e}}`},aS={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:sS,code(e,t){let{gen:r,data:n,$data:o,schema:i,schemaCode:s,it:a}=e,{opts:c,errSchemaPath:l,schemaEnv:u,self:d}=a;if(!c.validateFormats)return;o?p():f();function p(){let h=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),g=r.const("fDef",(0,oe._)`${h}[${s}]`),_=r.let("fType"),w=r.let("format");r.if((0,oe._)`typeof ${g} == "object" && !(${g} instanceof RegExp)`,()=>r.assign(_,(0,oe._)`${g}.type || "string"`).assign(w,(0,oe._)`${g}.validate`),()=>r.assign(_,(0,oe._)`"string"`).assign(w,g)),e.fail$data((0,oe.or)(b(),$()));function b(){return c.strictSchema===!1?oe.nil:(0,oe._)`${s} && !${w}`}function $(){let z=u.$async?(0,oe._)`(${g}.async ? await ${w}(${n}) : ${w}(${n}))`:(0,oe._)`${w}(${n})`,R=(0,oe._)`(typeof ${w} == "function" ? ${z} : ${w}.test(${n}))`;return(0,oe._)`${w} && ${w} !== true && ${_} === ${t} && !${R}`}}function f(){let h=d.formats[i];if(!h){b();return}if(h===!0)return;let[g,_,w]=$(h);g===t&&e.pass(z());function b(){if(c.strictSchema===!1){d.logger.warn(R());return}throw new Error(R());function R(){return`unknown format "${i}" ignored in schema at path "${l}"`}}function $(R){let _e=R instanceof RegExp?(0,oe.regexpCode)(R):c.code.formats?(0,oe._)`${c.code.formats}${(0,oe.getProperty)(i)}`:void 0,Te=r.scopeValue("formats",{key:i,ref:R,code:_e});return typeof R=="object"&&!(R instanceof RegExp)?[R.type||"string",R.validate,(0,oe._)`${Te}.validate`]:["string",R,Te]}function z(){if(typeof h=="object"&&!(h instanceof RegExp)&&h.async){if(!u.$async)throw new Error("async format in sync schema");return(0,oe._)`await ${w}(${n})`}return typeof _=="function"?(0,oe._)`${w}(${n})`:(0,oe._)`${w}.test(${n})`}}}};fc.default=aS});var sh=v(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});var cS=ih(),uS=[cS.default];mc.default=uS});var ah=v(ar=>{"use strict";Object.defineProperty(ar,"__esModule",{value:!0});ar.contentVocabulary=ar.metadataVocabulary=void 0;ar.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];ar.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var uh=v(hc=>{"use strict";Object.defineProperty(hc,"__esModule",{value:!0});var lS=gm(),dS=Rm(),pS=oh(),fS=sh(),ch=ah(),mS=[lS.default,dS.default,(0,pS.default)(),fS.default,ch.metadataVocabulary,ch.contentVocabulary];hc.default=mS});var dh=v(Do=>{"use strict";Object.defineProperty(Do,"__esModule",{value:!0});Do.DiscrError=void 0;var lh;(function(e){e.Tag="tag",e.Mapping="mapping"})(lh||(Do.DiscrError=lh={}))});var fh=v(yc=>{"use strict";Object.defineProperty(yc,"__esModule",{value:!0});var cr=N(),gc=dh(),ph=vo(),hS=on(),gS=B(),yS={message:({params:{discrError:e,tagName:t}})=>e===gc.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,cr._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},_S={keyword:"discriminator",type:"object",schemaType:"object",error:yS,code(e){let{gen:t,data:r,schema:n,parentSchema:o,it:i}=e,{oneOf:s}=o;if(!i.opts.discriminator)throw new Error("discriminator: requires discriminator option");let a=n.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!s)throw new Error("discriminator: requires oneOf keyword");let c=t.let("valid",!1),l=t.const("tag",(0,cr._)`${r}${(0,cr.getProperty)(a)}`);t.if((0,cr._)`typeof ${l} == "string"`,()=>u(),()=>e.error(!1,{discrError:gc.DiscrError.Tag,tag:l,tagName:a})),e.ok(c);function u(){let f=p();t.if(!1);for(let h in f)t.elseIf((0,cr._)`${l} === ${h}`),t.assign(c,d(f[h]));t.else(),e.error(!1,{discrError:gc.DiscrError.Mapping,tag:l,tagName:a}),t.endIf()}function d(f){let h=t.name("valid"),g=e.subschema({keyword:"oneOf",schemaProp:f},h);return e.mergeEvaluated(g,cr.Name),h}function p(){var f;let h={},g=w(o),_=!0;for(let z=0;z<s.length;z++){let R=s[z];if(R?.$ref&&!(0,gS.schemaHasRulesButRef)(R,i.self.RULES)){let Te=R.$ref;if(R=ph.resolveRef.call(i.self,i.schemaEnv.root,i.baseId,Te),R instanceof ph.SchemaEnv&&(R=R.schema),R===void 0)throw new hS.default(i.opts.uriResolver,i.baseId,Te)}let _e=(f=R?.properties)===null||f===void 0?void 0:f[a];if(typeof _e!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);_=_&&(g||w(R)),b(_e,z)}if(!_)throw new Error(`discriminator: "${a}" must be required`);return h;function w({required:z}){return Array.isArray(z)&&z.includes(a)}function b(z,R){if(z.const)$(z.const,R);else if(z.enum)for(let _e of z.enum)$(_e,R);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function $(z,R){if(typeof z!="string"||z in h)throw new Error(`discriminator: "${a}" values must be unique strings`);h[z]=R}}}};yc.default=_S});var mh=v((U1,vS)=>{vS.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:!0,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:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},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:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},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:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},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:!0}});var vc=v((X,_c)=>{"use strict";Object.defineProperty(X,"__esModule",{value:!0});X.MissingRefError=X.ValidationError=X.CodeGen=X.Name=X.nil=X.stringify=X.str=X._=X.KeywordCxt=X.Ajv=void 0;var wS=lm(),bS=uh(),$S=fh(),hh=mh(),xS=["/properties"],jo="http://json-schema.org/draft-07/schema",ur=class extends wS.default{_addVocabularies(){super._addVocabularies(),bS.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword($S.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(hh,xS):hh;this.addMetaSchema(t,jo,!1),this.refs["http://json-schema.org/schema"]=jo}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(jo)?jo:void 0)}};X.Ajv=ur;_c.exports=X=ur;_c.exports.Ajv=ur;Object.defineProperty(X,"__esModule",{value:!0});X.default=ur;var kS=nn();Object.defineProperty(X,"KeywordCxt",{enumerable:!0,get:function(){return kS.KeywordCxt}});var lr=N();Object.defineProperty(X,"_",{enumerable:!0,get:function(){return lr._}});Object.defineProperty(X,"str",{enumerable:!0,get:function(){return lr.str}});Object.defineProperty(X,"stringify",{enumerable:!0,get:function(){return lr.stringify}});Object.defineProperty(X,"nil",{enumerable:!0,get:function(){return lr.nil}});Object.defineProperty(X,"Name",{enumerable:!0,get:function(){return lr.Name}});Object.defineProperty(X,"CodeGen",{enumerable:!0,get:function(){return lr.CodeGen}});var SS=yo();Object.defineProperty(X,"ValidationError",{enumerable:!0,get:function(){return SS.default}});var ES=on();Object.defineProperty(X,"MissingRefError",{enumerable:!0,get:function(){return ES.default}})});var xh=v(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.formatNames=Xe.fastFormats=Xe.fullFormats=void 0;function Ye(e,t){return{validate:e,compare:t}}Xe.fullFormats={date:Ye(vh,xc),time:Ye(bc(!0),kc),"date-time":Ye(gh(!0),bh),"iso-time":Ye(bc(),wh),"iso-date-time":Ye(gh(),$h),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:AS,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:qS,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:CS,int32:{type:"number",validate:DS},int64:{type:"number",validate:jS},float:{type:"number",validate:_h},double:{type:"number",validate:_h},password:!0,binary:!0};Xe.fastFormats={...Xe.fullFormats,date:Ye(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,xc),time:Ye(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,kc),"date-time":Ye(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,bh),"iso-time":Ye(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,wh),"iso-date-time":Ye(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,$h),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};Xe.formatNames=Object.keys(Xe.fullFormats);function zS(e){return e%4===0&&(e%100!==0||e%400===0)}var PS=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,TS=[0,31,28,31,30,31,30,31,31,30,31,30,31];function vh(e){let t=PS.exec(e);if(!t)return!1;let r=+t[1],n=+t[2],o=+t[3];return n>=1&&n<=12&&o>=1&&o<=(n===2&&zS(r)?29:TS[n])}function xc(e,t){if(e&&t)return e>t?1:e<t?-1:0}var wc=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function bc(e){return function(r){let n=wc.exec(r);if(!n)return!1;let o=+n[1],i=+n[2],s=+n[3],a=n[4],c=n[5]==="-"?-1:1,l=+(n[6]||0),u=+(n[7]||0);if(l>23||u>59||e&&!a)return!1;if(o<=23&&i<=59&&s<60)return!0;let d=i-u*c,p=o-l*c-(d<0?1:0);return(p===23||p===-1)&&(d===59||d===-1)&&s<61}}function kc(e,t){if(!(e&&t))return;let r=new Date("2020-01-01T"+e).valueOf(),n=new Date("2020-01-01T"+t).valueOf();if(r&&n)return r-n}function wh(e,t){if(!(e&&t))return;let r=wc.exec(e),n=wc.exec(t);if(r&&n)return e=r[1]+r[2]+r[3],t=n[1]+n[2]+n[3],e>t?1:e<t?-1:0}var $c=/t|\s/i;function gh(e){let t=bc(e);return function(n){let o=n.split($c);return o.length===2&&vh(o[0])&&t(o[1])}}function bh(e,t){if(!(e&&t))return;let r=new Date(e).valueOf(),n=new Date(t).valueOf();if(r&&n)return r-n}function $h(e,t){if(!(e&&t))return;let[r,n]=e.split($c),[o,i]=t.split($c),s=xc(r,o);if(s!==void 0)return s||kc(n,i)}var RS=/\/|:/,IS=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function AS(e){return RS.test(e)&&IS.test(e)}var yh=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function CS(e){return yh.lastIndex=0,yh.test(e)}var NS=-(2**31),OS=2**31-1;function DS(e){return Number.isInteger(e)&&e<=OS&&e>=NS}function jS(e){return Number.isInteger(e)}function _h(){return!0}var MS=/[^\\]\\Z/;function qS(e){if(MS.test(e))return!1;try{return new RegExp(e),!0}catch{return!1}}});var kh=v(dr=>{"use strict";Object.defineProperty(dr,"__esModule",{value:!0});dr.formatLimitDefinition=void 0;var BS=vc(),Ue=N(),wt=Ue.operators,Mo={formatMaximum:{okStr:"<=",ok:wt.LTE,fail:wt.GT},formatMinimum:{okStr:">=",ok:wt.GTE,fail:wt.LT},formatExclusiveMaximum:{okStr:"<",ok:wt.LT,fail:wt.GTE},formatExclusiveMinimum:{okStr:">",ok:wt.GT,fail:wt.LTE}},LS={message:({keyword:e,schemaCode:t})=>(0,Ue.str)`should be ${Mo[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,Ue._)`{comparison: ${Mo[e].okStr}, limit: ${t}}`};dr.formatLimitDefinition={keyword:Object.keys(Mo),type:"string",schemaType:"string",$data:!0,error:LS,code(e){let{gen:t,data:r,schemaCode:n,keyword:o,it:i}=e,{opts:s,self:a}=i;if(!s.validateFormats)return;let c=new BS.KeywordCxt(i,a.RULES.all.format.definition,"format");c.$data?l():u();function l(){let p=t.scopeValue("formats",{ref:a.formats,code:s.code.formats}),f=t.const("fmt",(0,Ue._)`${p}[${c.schemaCode}]`);e.fail$data((0,Ue.or)((0,Ue._)`typeof ${f} != "object"`,(0,Ue._)`${f} instanceof RegExp`,(0,Ue._)`typeof ${f}.compare != "function"`,d(f)))}function u(){let p=c.schema,f=a.formats[p];if(!f||f===!0)return;if(typeof f!="object"||f instanceof RegExp||typeof f.compare!="function")throw new Error(`"${o}": format "${p}" does not define "compare" function`);let h=t.scopeValue("formats",{key:p,ref:f,code:s.code.formats?(0,Ue._)`${s.code.formats}${(0,Ue.getProperty)(p)}`:void 0});e.fail$data(d(h))}function d(p){return(0,Ue._)`${p}.compare(${r}, ${n}) ${Mo[o].fail} 0`}},dependencies:["format"]};var ZS=e=>(e.addKeyword(dr.formatLimitDefinition),e);dr.default=ZS});var Ph=v((vn,zh)=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});var pr=xh(),US=kh(),Sc=N(),Sh=new Sc.Name("fullFormats"),FS=new Sc.Name("fastFormats"),Ec=(e,t={keywords:!0})=>{if(Array.isArray(t))return Eh(e,t,pr.fullFormats,Sh),e;let[r,n]=t.mode==="fast"?[pr.fastFormats,FS]:[pr.fullFormats,Sh],o=t.formats||pr.formatNames;return Eh(e,o,r,n),t.keywords&&(0,US.default)(e),e};Ec.get=(e,t="full")=>{let n=(t==="fast"?pr.fastFormats:pr.fullFormats)[e];if(!n)throw new Error(`Unknown format "${e}"`);return n};function Eh(e,t,r,n){var o,i;(o=(i=e.opts.code).formats)!==null&&o!==void 0||(i.formats=(0,Sc._)`require("ajv-formats/dist/formats").${n}`);for(let s of t)e.addFormat(s,r[s])}zh.exports=vn=Ec;Object.defineProperty(vn,"__esModule",{value:!0});vn.default=Ec});var jh=v((nD,Dh)=>{Dh.exports=Oh;Oh.sync=GS;var Ch=ct("fs");function HS(e,t){var r=t.pathExt!==void 0?t.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var n=0;n<r.length;n++){var o=r[n].toLowerCase();if(o&&e.substr(-o.length).toLowerCase()===o)return!0}return!1}function Nh(e,t,r){return!e.isSymbolicLink()&&!e.isFile()?!1:HS(t,r)}function Oh(e,t,r){Ch.stat(e,function(n,o){r(n,n?!1:Nh(o,e,t))})}function GS(e,t){return Nh(Ch.statSync(e),e,t)}});var Zh=v((oD,Lh)=>{Lh.exports=qh;qh.sync=WS;var Mh=ct("fs");function qh(e,t,r){Mh.stat(e,function(n,o){r(n,n?!1:Bh(o,t))})}function WS(e,t){return Bh(Mh.statSync(e),t)}function Bh(e,t){return e.isFile()&&JS(e,t)}function JS(e,t){var r=e.mode,n=e.uid,o=e.gid,i=t.uid!==void 0?t.uid:process.getuid&&process.getuid(),s=t.gid!==void 0?t.gid:process.getgid&&process.getgid(),a=parseInt("100",8),c=parseInt("010",8),l=parseInt("001",8),u=a|c,d=r&l||r&c&&o===s||r&a&&n===i||r&u&&i===0;return d}});var Fh=v((sD,Uh)=>{var iD=ct("fs"),Uo;process.platform==="win32"||global.TESTING_WINDOWS?Uo=jh():Uo=Zh();Uh.exports=zc;zc.sync=QS;function zc(e,t,r){if(typeof t=="function"&&(r=t,t={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(n,o){zc(e,t||{},function(i,s){i?o(i):n(s)})})}Uo(e,t||{},function(n,o){n&&(n.code==="EACCES"||t&&t.ignoreErrors)&&(n=null,o=!1),r(n,o)})}function QS(e,t){try{return Uo.sync(e,t||{})}catch(r){if(t&&t.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var Qh=v((aD,Jh)=>{var fr=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",Vh=ct("path"),YS=fr?";":":",Kh=Fh(),Hh=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),Gh=(e,t)=>{let r=t.colon||YS,n=e.match(/\//)||fr&&e.match(/\\/)?[""]:[...fr?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(r)],o=fr?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",i=fr?o.split(r):[""];return fr&&e.indexOf(".")!==-1&&i[0]!==""&&i.unshift(""),{pathEnv:n,pathExt:i,pathExtExe:o}},Wh=(e,t,r)=>{typeof t=="function"&&(r=t,t={}),t||(t={});let{pathEnv:n,pathExt:o,pathExtExe:i}=Gh(e,t),s=[],a=l=>new Promise((u,d)=>{if(l===n.length)return t.all&&s.length?u(s):d(Hh(e));let p=n[l],f=/^".*"$/.test(p)?p.slice(1,-1):p,h=Vh.join(f,e),g=!f&&/^\.[\\\/]/.test(e)?e.slice(0,2)+h:h;u(c(g,l,0))}),c=(l,u,d)=>new Promise((p,f)=>{if(d===o.length)return p(a(u+1));let h=o[d];Kh(l+h,{pathExt:i},(g,_)=>{if(!g&&_)if(t.all)s.push(l+h);else return p(l+h);return p(c(l,u,d+1))})});return r?a(0).then(l=>r(null,l),r):a(0)},XS=(e,t)=>{t=t||{};let{pathEnv:r,pathExt:n,pathExtExe:o}=Gh(e,t),i=[];for(let s=0;s<r.length;s++){let a=r[s],c=/^".*"$/.test(a)?a.slice(1,-1):a,l=Vh.join(c,e),u=!c&&/^\.[\\\/]/.test(e)?e.slice(0,2)+l:l;for(let d=0;d<n.length;d++){let p=u+n[d];try{if(Kh.sync(p,{pathExt:o}))if(t.all)i.push(p);else return p}catch{}}}if(t.all&&i.length)return i;if(t.nothrow)return null;throw Hh(e)};Jh.exports=Wh;Wh.sync=XS});var Xh=v((cD,Pc)=>{"use strict";var Yh=(e={})=>{let t=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(t).reverse().find(n=>n.toUpperCase()==="PATH")||"Path"};Pc.exports=Yh;Pc.exports.default=Yh});var ng=v((uD,rg)=>{"use strict";var eg=ct("path"),eE=Qh(),tE=Xh();function tg(e,t){let r=e.options.env||process.env,n=process.cwd(),o=e.options.cwd!=null,i=o&&process.chdir!==void 0&&!process.chdir.disabled;if(i)try{process.chdir(e.options.cwd)}catch{}let s;try{s=eE.sync(e.command,{path:r[tE({env:r})],pathExt:t?eg.delimiter:void 0})}catch{}finally{i&&process.chdir(n)}return s&&(s=eg.resolve(o?e.options.cwd:"",s)),s}function rE(e){return tg(e)||tg(e,!0)}rg.exports=rE});var og=v((lD,Rc)=>{"use strict";var Tc=/([()\][%!^"`<>&|;, *?])/g;function nE(e){return e=e.replace(Tc,"^$1"),e}function oE(e,t){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(Tc,"^$1"),t&&(e=e.replace(Tc,"^$1")),e}Rc.exports.command=nE;Rc.exports.argument=oE});var sg=v((dD,ig)=>{"use strict";ig.exports=/^#!(.*)/});var cg=v((pD,ag)=>{"use strict";var iE=sg();ag.exports=(e="")=>{let t=e.match(iE);if(!t)return null;let[r,n]=t[0].replace(/#! ?/,"").split(" "),o=r.split("/").pop();return o==="env"?n:n?`${o} ${n}`:o}});var lg=v((fD,ug)=>{"use strict";var Ic=ct("fs"),sE=cg();function aE(e){let r=Buffer.alloc(150),n;try{n=Ic.openSync(e,"r"),Ic.readSync(n,r,0,150,0),Ic.closeSync(n)}catch{}return sE(r.toString())}ug.exports=aE});var mg=v((mD,fg)=>{"use strict";var cE=ct("path"),dg=ng(),pg=og(),uE=lg(),lE=process.platform==="win32",dE=/\.(?:com|exe)$/i,pE=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function fE(e){e.file=dg(e);let t=e.file&&uE(e.file);return t?(e.args.unshift(e.file),e.command=t,dg(e)):e.file}function mE(e){if(!lE)return e;let t=fE(e),r=!dE.test(t);if(e.options.forceShell||r){let n=pE.test(t);e.command=cE.normalize(e.command),e.command=pg.command(e.command),e.args=e.args.map(i=>pg.argument(i,n));let o=[e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${o}"`],e.command=process.env.comspec||"cmd.exe",e.options.windowsVerbatimArguments=!0}return e}function hE(e,t,r){t&&!Array.isArray(t)&&(r=t,t=null),t=t?t.slice(0):[],r=Object.assign({},r);let n={command:e,args:t,options:r,file:void 0,original:{command:e,args:t}};return r.shell?n:mE(n)}fg.exports=hE});var yg=v((hD,gg)=>{"use strict";var Ac=process.platform==="win32";function Cc(e,t){return Object.assign(new Error(`${t} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}function gE(e,t){if(!Ac)return;let r=e.emit;e.emit=function(n,o){if(n==="exit"){let i=hg(o,t);if(i)return r.call(e,"error",i)}return r.apply(e,arguments)}}function hg(e,t){return Ac&&e===1&&!t.file?Cc(t.original,"spawn"):null}function yE(e,t){return Ac&&e===1&&!t.file?Cc(t.original,"spawnSync"):null}gg.exports={hookChildProcess:gE,verifyENOENT:hg,verifyENOENTSync:yE,notFoundError:Cc}});var wg=v((gD,mr)=>{"use strict";var _g=ct("child_process"),Nc=mg(),Oc=yg();function vg(e,t,r){let n=Nc(e,t,r),o=_g.spawn(n.command,n.args,n.options);return Oc.hookChildProcess(o,n),o}function _E(e,t,r){let n=Nc(e,t,r),o=_g.spawnSync(n.command,n.args,n.options);return o.error=o.error||Oc.verifyENOENTSync(o.status,n),o}mr.exports=vg;mr.exports.spawn=vg;mr.exports.sync=_E;mr.exports._parse=Nc;mr.exports._enoent=Oc});import{readFile as NT,mkdir as OT,writeFile as DT}from"node:fs/promises";import{dirname as jT,join as Ny}from"node:path";var rR=Object.freeze({status:"aborted"});function y(e,t,r){function n(a,c){var l;Object.defineProperty(a,"_zod",{value:a._zod??{},enumerable:!1}),(l=a._zod).traits??(l.traits=new Set),a._zod.traits.add(e),t(a,c);for(let u in s.prototype)u in a||Object.defineProperty(a,u,{value:s.prototype[u].bind(a)});a._zod.constr=s,a._zod.def=c}let o=r?.Parent??Object;class i extends o{}Object.defineProperty(i,"name",{value:e});function s(a){var c;let l=r?.Parent?new i:this;n(l,a),(c=l._zod).deferred??(c.deferred=[]);for(let u of l._zod.deferred)u();return l}return Object.defineProperty(s,"init",{value:n}),Object.defineProperty(s,Symbol.hasInstance,{value:a=>r?.Parent&&a instanceof r.Parent?!0:a?._zod?.traits?.has(e)}),Object.defineProperty(s,"name",{value:e}),s}var nR=Symbol("zod_brand"),et=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Pn={};function Re(e){return e&&Object.assign(Pn,e),Pn}var U={};fu(U,{BIGINT_FORMAT_RANGES:()=>hu,Class:()=>yi,NUMBER_FORMAT_RANGES:()=>Si,aborted:()=>kt,allowsEval:()=>$i,assert:()=>Ky,assertEqual:()=>Zy,assertIs:()=>Fy,assertNever:()=>Vy,assertNotEqual:()=>Uy,assignProp:()=>bi,cached:()=>xr,captureStackTrace:()=>Rn,cleanEnum:()=>i_,cleanRegex:()=>Sr,clone:()=>He,createTransparentProxy:()=>Yy,defineLazy:()=>H,esc:()=>xt,escapeRegex:()=>ut,extend:()=>t_,finalizeIssue:()=>je,floatSafeRemainder:()=>wi,getElementAtPath:()=>Hy,getEnumValues:()=>_i,getLengthableOrigin:()=>Er,getParsedType:()=>Qy,getSizableOrigin:()=>gu,isObject:()=>Ut,isPlainObject:()=>Ft,issue:()=>Ei,joinValues:()=>Tn,jsonStringifyReplacer:()=>vi,merge:()=>r_,normalizeParams:()=>P,nullish:()=>kr,numKeys:()=>Jy,omit:()=>e_,optionalKeys:()=>ki,partial:()=>n_,pick:()=>Xy,prefixIssues:()=>Ge,primitiveTypes:()=>mu,promiseAllObject:()=>Gy,propertyKeyTypes:()=>xi,randomString:()=>Wy,required:()=>o_,stringifyPrimitive:()=>In,unwrapMessage:()=>$r});function Zy(e){return e}function Uy(e){return e}function Fy(e){}function Vy(e){throw new Error}function Ky(e){}function _i(e){let t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,o])=>t.indexOf(+n)===-1).map(([n,o])=>o)}function Tn(e,t="|"){return e.map(r=>In(r)).join(t)}function vi(e,t){return typeof t=="bigint"?t.toString():t}function xr(e){return{get value(){{let r=e();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function kr(e){return e==null}function Sr(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function wi(e,t){let r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,o=r>n?r:n,i=Number.parseInt(e.toFixed(o).replace(".","")),s=Number.parseInt(t.toFixed(o).replace(".",""));return i%s/10**o}function H(e,t,r){Object.defineProperty(e,t,{get(){{let o=r();return e[t]=o,o}throw new Error("cached value already set")},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function bi(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Hy(e,t){return t?t.reduce((r,n)=>r?.[n],e):e}function Gy(e){let t=Object.keys(e),r=t.map(n=>e[n]);return Promise.all(r).then(n=>{let o={};for(let i=0;i<t.length;i++)o[t[i]]=n[i];return o})}function Wy(e=10){let t="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<e;n++)r+=t[Math.floor(Math.random()*t.length)];return r}function xt(e){return JSON.stringify(e)}var Rn=Error.captureStackTrace?Error.captureStackTrace:(...e)=>{};function Ut(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var $i=xr(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});function Ft(e){if(Ut(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;let r=t.prototype;return!(Ut(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function Jy(e){let t=0;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}var Qy=e=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(e)?"array":e===null?"null":e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?"promise":typeof Map<"u"&&e instanceof Map?"map":typeof Set<"u"&&e instanceof Set?"set":typeof Date<"u"&&e instanceof Date?"date":typeof File<"u"&&e instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${t}`)}},xi=new Set(["string","number","symbol"]),mu=new Set(["string","number","bigint","boolean","symbol","undefined"]);function ut(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function He(e,t,r){let n=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(n._zod.parent=e),n}function P(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function Yy(e){let t;return new Proxy({},{get(r,n,o){return t??(t=e()),Reflect.get(t,n,o)},set(r,n,o,i){return t??(t=e()),Reflect.set(t,n,o,i)},has(r,n){return t??(t=e()),Reflect.has(t,n)},deleteProperty(r,n){return t??(t=e()),Reflect.deleteProperty(t,n)},ownKeys(r){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(r,n){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,n)},defineProperty(r,n,o){return t??(t=e()),Reflect.defineProperty(t,n,o)}})}function In(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function ki(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var Si={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},hu={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function Xy(e,t){let r={},n=e._zod.def;for(let o in t){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);t[o]&&(r[o]=n.shape[o])}return He(e,{...e._zod.def,shape:r,checks:[]})}function e_(e,t){let r={...e._zod.def.shape},n=e._zod.def;for(let o in t){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);t[o]&&delete r[o]}return He(e,{...e._zod.def,shape:r,checks:[]})}function t_(e,t){if(!Ft(t))throw new Error("Invalid input to extend: expected a plain object");let r={...e._zod.def,get shape(){let n={...e._zod.def.shape,...t};return bi(this,"shape",n),n},checks:[]};return He(e,r)}function r_(e,t){return He(e,{...e._zod.def,get shape(){let r={...e._zod.def.shape,...t._zod.def.shape};return bi(this,"shape",r),r},catchall:t._zod.def.catchall,checks:[]})}function n_(e,t,r){let n=t._zod.def.shape,o={...n};if(r)for(let i in r){if(!(i in n))throw new Error(`Unrecognized key: "${i}"`);r[i]&&(o[i]=e?new e({type:"optional",innerType:n[i]}):n[i])}else for(let i in n)o[i]=e?new e({type:"optional",innerType:n[i]}):n[i];return He(t,{...t._zod.def,shape:o,checks:[]})}function o_(e,t,r){let n=t._zod.def.shape,o={...n};if(r)for(let i in r){if(!(i in o))throw new Error(`Unrecognized key: "${i}"`);r[i]&&(o[i]=new e({type:"nonoptional",innerType:n[i]}))}else for(let i in n)o[i]=new e({type:"nonoptional",innerType:n[i]});return He(t,{...t._zod.def,shape:o,checks:[]})}function kt(e,t=0){for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function Ge(e,t){return t.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function $r(e){return typeof e=="string"?e:e?.message}function je(e,t,r){let n={...e,path:e.path??[]};if(!e.message){let o=$r(e.inst?._zod.def?.error?.(e))??$r(t?.error?.(e))??$r(r.customError?.(e))??$r(r.localeError?.(e))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,t?.reportInput||delete n.input,n}function gu(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function Er(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function Ei(...e){let[t,r,n]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:n}:{...t}}function i_(e){return Object.entries(e).filter(([t,r])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}var yi=class{constructor(...t){}};var yu=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),Object.defineProperty(e,"message",{get(){return JSON.stringify(t,vi,2)},enumerable:!0}),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},An=y("$ZodError",yu),zi=y("$ZodError",yu,{Parent:Error});function _u(e,t=r=>r.message){let r={},n=[];for(let o of e.issues)o.path.length>0?(r[o.path[0]]=r[o.path[0]]||[],r[o.path[0]].push(t(o))):n.push(t(o));return{formErrors:n,fieldErrors:r}}function vu(e,t){let r=t||function(i){return i.message},n={_errors:[]},o=i=>{for(let s of i.issues)if(s.code==="invalid_union"&&s.errors.length)s.errors.map(a=>o({issues:a}));else if(s.code==="invalid_key")o({issues:s.issues});else if(s.code==="invalid_element")o({issues:s.issues});else if(s.path.length===0)n._errors.push(r(s));else{let a=n,c=0;for(;c<s.path.length;){let l=s.path[c];c===s.path.length-1?(a[l]=a[l]||{_errors:[]},a[l]._errors.push(r(s))):a[l]=a[l]||{_errors:[]},a=a[l],c++}}};return o(e),n}var wu=e=>(t,r,n,o)=>{let i=n?Object.assign(n,{async:!1}):{async:!1},s=t._zod.run({value:r,issues:[]},i);if(s instanceof Promise)throw new et;if(s.issues.length){let a=new(o?.Err??e)(s.issues.map(c=>je(c,i,Re())));throw Rn(a,o?.callee),a}return s.value};var bu=e=>async(t,r,n,o)=>{let i=n?Object.assign(n,{async:!0}):{async:!0},s=t._zod.run({value:r,issues:[]},i);if(s instanceof Promise&&(s=await s),s.issues.length){let a=new(o?.Err??e)(s.issues.map(c=>je(c,i,Re())));throw Rn(a,o?.callee),a}return s.value};var Pi=e=>(t,r,n)=>{let o=n?{...n,async:!1}:{async:!1},i=t._zod.run({value:r,issues:[]},o);if(i instanceof Promise)throw new et;return i.issues.length?{success:!1,error:new(e??An)(i.issues.map(s=>je(s,o,Re())))}:{success:!0,data:i.value}},zr=Pi(zi),Ti=e=>async(t,r,n)=>{let o=n?Object.assign(n,{async:!0}):{async:!0},i=t._zod.run({value:r,issues:[]},o);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new e(i.issues.map(s=>je(s,o,Re())))}:{success:!0,data:i.value}},Cn=Ti(zi);var $u=/^[cC][^\s-]{8,}$/,xu=/^[0-9a-z]+$/,ku=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Su=/^[0-9a-vA-V]{20}$/,Eu=/^[A-Za-z0-9]{27}$/,zu=/^[a-zA-Z0-9_-]{21}$/,Pu=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var Tu=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Ri=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/;var Ru=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var a_="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Iu(){return new RegExp(a_,"u")}var Au=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Cu=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/,Nu=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Ou=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Du=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Ii=/^[A-Za-z0-9_-]*$/,ju=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var Mu=/^\+(?:[0-9]){6,14}[0-9]$/,qu="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",Bu=new RegExp(`^${qu}$`);function Lu(e){let t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Zu(e){return new RegExp(`^${Lu(e)}$`)}function Uu(e){let t=Lu({precision:e.precision}),r=["Z"];e.local&&r.push(""),e.offset&&r.push("([+-]\\d{2}:\\d{2})");let n=`${t}(?:${r.join("|")})`;return new RegExp(`^${qu}T(?:${n})$`)}var Fu=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)};var Vu=/^\d+$/,Ku=/^-?\d+(?:\.\d+)?/i,Hu=/true|false/i,Gu=/null/i;var Wu=/^[^A-Z]*$/,Ju=/^[^a-z]*$/;var fe=y("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),Qu={number:"number",bigint:"bigint",object:"date"},Ci=y("$ZodCheckLessThan",(e,t)=>{fe.init(e,t);let r=Qu[typeof t.value];e._zod.onattach.push(n=>{let o=n._zod.bag,i=(t.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<i&&(t.inclusive?o.maximum=t.value:o.exclusiveMaximum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value<=t.value:n.value<t.value)||n.issues.push({origin:r,code:"too_big",maximum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Ni=y("$ZodCheckGreaterThan",(e,t)=>{fe.init(e,t);let r=Qu[typeof t.value];e._zod.onattach.push(n=>{let o=n._zod.bag,i=(t.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>i&&(t.inclusive?o.minimum=t.value:o.exclusiveMinimum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value>=t.value:n.value>t.value)||n.issues.push({origin:r,code:"too_small",minimum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Yu=y("$ZodCheckMultipleOf",(e,t)=>{fe.init(e,t),e._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=r=>{if(typeof r.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%t.value===BigInt(0):wi(r.value,t.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),Xu=y("$ZodCheckNumberFormat",(e,t)=>{fe.init(e,t),t.format=t.format||"float64";let r=t.format?.includes("int"),n=r?"int":"number",[o,i]=Si[t.format];e._zod.onattach.push(s=>{let a=s._zod.bag;a.format=t.format,a.minimum=o,a.maximum=i,r&&(a.pattern=Vu)}),e._zod.check=s=>{let a=s.value;if(r){if(!Number.isInteger(a)){s.issues.push({expected:n,format:t.format,code:"invalid_type",input:a,inst:e});return}if(!Number.isSafeInteger(a)){a>0?s.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort}):s.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort});return}}a<o&&s.issues.push({origin:"number",input:a,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort}),a>i&&s.issues.push({origin:"number",input:a,code:"too_big",maximum:i,inst:e})}});var el=y("$ZodCheckMaxLength",(e,t)=>{var r;fe.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!kr(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<o&&(n._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let o=n.value;if(o.length<=t.maximum)return;let s=Er(o);n.issues.push({origin:s,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),tl=y("$ZodCheckMinLength",(e,t)=>{var r;fe.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!kr(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>o&&(n._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let o=n.value;if(o.length>=t.minimum)return;let s=Er(o);n.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),rl=y("$ZodCheckLengthEquals",(e,t)=>{var r;fe.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!kr(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=n=>{let o=n.value,i=o.length;if(i===t.length)return;let s=Er(o),a=i>t.length;n.issues.push({origin:s,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Pr=y("$ZodCheckStringFormat",(e,t)=>{var r,n;fe.init(e,t),e._zod.onattach.push(o=>{let i=o._zod.bag;i.format=t.format,t.pattern&&(i.patterns??(i.patterns=new Set),i.patterns.add(t.pattern))}),t.pattern?(r=e._zod).check??(r.check=o=>{t.pattern.lastIndex=0,!t.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(n=e._zod).check??(n.check=()=>{})}),nl=y("$ZodCheckRegex",(e,t)=>{Pr.init(e,t),e._zod.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),ol=y("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Wu),Pr.init(e,t)}),il=y("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Ju),Pr.init(e,t)}),sl=y("$ZodCheckIncludes",(e,t)=>{fe.init(e,t);let r=ut(t.includes),n=new RegExp(typeof t.position=="number"?`^.{${t.position}}${r}`:r);t.pattern=n,e._zod.onattach.push(o=>{let i=o._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(n)}),e._zod.check=o=>{o.value.includes(t.includes,t.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),al=y("$ZodCheckStartsWith",(e,t)=>{fe.init(e,t);let r=new RegExp(`^${ut(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),cl=y("$ZodCheckEndsWith",(e,t)=>{fe.init(e,t);let r=new RegExp(`.*${ut(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}});var ul=y("$ZodCheckOverwrite",(e,t)=>{fe.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}});var Nn=class{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}let n=t.split(`
10
+ deps: ${r}}`};var vk={keyword:"dependencies",type:"object",schemaType:"object",error:Qe.error,code(e){let[t,r]=wk(e);Mm(e,t),qm(e,r)}};function wk({schema:e}){let t={},r={};for(let n in e){if(n==="__proto__")continue;let o=Array.isArray(e[n])?t:r;o[n]=e[n]}return[t,r]}function Mm(e,t=e.schema){let{gen:r,data:n,it:o}=e;if(Object.keys(t).length===0)return;let i=r.let("missing");for(let s in t){let a=t[s];if(a.length===0)continue;let c=(0,_n.propertyInData)(r,n,s,o.opts.ownProperties);e.setParams({property:s,depsCount:a.length,deps:a.join(", ")}),o.allErrors?r.if(c,()=>{for(let l of a)(0,_n.checkReportMissingProp)(e,l)}):(r.if((0,Xa._)`${c} && (${(0,_n.checkMissingProp)(e,a,i)})`),(0,_n.reportMissingProp)(e,i),r.else())}}Qe.validatePropertyDeps=Mm;function qm(e,t=e.schema){let{gen:r,data:n,keyword:o,it:i}=e,s=r.name("valid");for(let a in t)(0,_k.alwaysValidSchema)(i,t[a])||(r.if((0,_n.propertyInData)(r,n,a,i.opts.ownProperties),()=>{let c=e.subschema({keyword:o,schemaProp:a},s);e.mergeValidEvaluated(c,s)},()=>r.var(s,!0)),e.ok(s))}Qe.validateSchemaDeps=qm;Qe.default=vk});var Zm=v(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});var Lm=N(),bk=B(),$k={message:"property name must be valid",params:({params:e})=>(0,Lm._)`{propertyName: ${e.propertyName}}`},xk={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:$k,code(e){let{gen:t,schema:r,data:n,it:o}=e;if((0,bk.alwaysValidSchema)(o,r))return;let i=t.name("valid");t.forIn("key",n,s=>{e.setParams({propertyName:s}),e.subschema({keyword:"propertyNames",data:s,dataTypes:["string"],propertyName:s,compositeRule:!0},i),t.if((0,Lm.not)(i),()=>{e.error(!0),o.allErrors||t.break()})}),e.ok(i)}};ec.default=xk});var rc=v(tc=>{"use strict";Object.defineProperty(tc,"__esModule",{value:!0});var Io=Ne(),Ze=N(),kk=ot(),Ao=B(),Sk={message:"must NOT have additional properties",params:({params:e})=>(0,Ze._)`{additionalProperty: ${e.additionalProperty}}`},Ek={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:Sk,code(e){let{gen:t,schema:r,parentSchema:n,data:o,errsCount:i,it:s}=e;if(!i)throw new Error("ajv implementation error");let{allErrors:a,opts:c}=s;if(s.props=!0,c.removeAdditional!=="all"&&(0,Ao.alwaysValidSchema)(s,r))return;let l=(0,Io.allSchemaProperties)(n.properties),u=(0,Io.allSchemaProperties)(n.patternProperties);d(),e.ok((0,Ze._)`${i} === ${kk.default.errors}`);function d(){t.forIn("key",o,_=>{!l.length&&!u.length?h(_):t.if(p(_),()=>h(_))})}function p(_){let w;if(l.length>8){let b=(0,Ao.schemaRefOrVal)(s,n.properties,"properties");w=(0,Io.isOwnProperty)(t,b,_)}else l.length?w=(0,Ze.or)(...l.map(b=>(0,Ze._)`${_} === ${b}`)):w=Ze.nil;return u.length&&(w=(0,Ze.or)(w,...u.map(b=>(0,Ze._)`${(0,Io.usePattern)(e,b)}.test(${_})`))),(0,Ze.not)(w)}function f(_){t.code((0,Ze._)`delete ${o}[${_}]`)}function h(_){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){f(_);return}if(r===!1){e.setParams({additionalProperty:_}),e.error(),a||t.break();return}if(typeof r=="object"&&!(0,Ao.alwaysValidSchema)(s,r)){let w=t.name("valid");c.removeAdditional==="failing"?(g(_,w,!1),t.if((0,Ze.not)(w),()=>{e.reset(),f(_)})):(g(_,w),a||t.if((0,Ze.not)(w),()=>t.break()))}}function g(_,w,b){let $={keyword:"additionalProperties",dataProp:_,dataPropType:Ao.Type.Str};b===!1&&Object.assign($,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema($,w)}}};tc.default=Ek});var Vm=v(oc=>{"use strict";Object.defineProperty(oc,"__esModule",{value:!0});var zk=nn(),Um=Ne(),nc=B(),Fm=rc(),Tk={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,parentSchema:n,data:o,it:i}=e;i.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&Fm.default.code(new zk.KeywordCxt(i,Fm.default,"additionalProperties"));let s=(0,Um.allSchemaProperties)(r);for(let d of s)i.definedProperties.add(d);i.opts.unevaluated&&s.length&&i.props!==!0&&(i.props=nc.mergeEvaluated.props(t,(0,nc.toHash)(s),i.props));let a=s.filter(d=>!(0,nc.alwaysValidSchema)(i,r[d]));if(a.length===0)return;let c=t.name("valid");for(let d of a)l(d)?u(d):(t.if((0,Um.propertyInData)(t,o,d,i.opts.ownProperties)),u(d),i.allErrors||t.else().var(c,!0),t.endIf()),e.it.definedProperties.add(d),e.ok(c);function l(d){return i.opts.useDefaults&&!i.compositeRule&&r[d].default!==void 0}function u(d){e.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};oc.default=Tk});var Wm=v(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});var Km=Ne(),Co=N(),Hm=B(),Gm=B(),Pk={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,data:n,parentSchema:o,it:i}=e,{opts:s}=i,a=(0,Km.allSchemaProperties)(r),c=a.filter(g=>(0,Hm.alwaysValidSchema)(i,r[g]));if(a.length===0||c.length===a.length&&(!i.opts.unevaluated||i.props===!0))return;let l=s.strictSchema&&!s.allowMatchingProperties&&o.properties,u=t.name("valid");i.props!==!0&&!(i.props instanceof Co.Name)&&(i.props=(0,Gm.evaluatedPropsToName)(t,i.props));let{props:d}=i;p();function p(){for(let g of a)l&&f(g),i.allErrors?h(g):(t.var(u,!0),h(g),t.if(u))}function f(g){for(let _ in l)new RegExp(g).test(_)&&(0,Hm.checkStrictMode)(i,`property ${_} matches pattern ${g} (use allowMatchingProperties)`)}function h(g){t.forIn("key",n,_=>{t.if((0,Co._)`${(0,Km.usePattern)(e,g)}.test(${_})`,()=>{let w=c.includes(g);w||e.subschema({keyword:"patternProperties",schemaProp:g,dataProp:_,dataPropType:Gm.Type.Str},u),i.opts.unevaluated&&d!==!0?t.assign((0,Co._)`${d}[${_}]`,!0):!w&&!i.allErrors&&t.if((0,Co.not)(u),()=>t.break())})})}}};ic.default=Pk});var Jm=v(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});var Rk=B(),Ik={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:n}=e;if((0,Rk.alwaysValidSchema)(n,r)){e.fail();return}let o=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},o),e.failResult(o,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};sc.default=Ik});var Qm=v(ac=>{"use strict";Object.defineProperty(ac,"__esModule",{value:!0});var Ak=Ne(),Ck={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:Ak.validateUnion,error:{message:"must match a schema in anyOf"}};ac.default=Ck});var Ym=v(cc=>{"use strict";Object.defineProperty(cc,"__esModule",{value:!0});var No=N(),Nk=B(),Ok={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,No._)`{passingSchemas: ${e.passing}}`},Dk={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:Ok,code(e){let{gen:t,schema:r,parentSchema:n,it:o}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(o.opts.discriminator&&n.discriminator)return;let i=r,s=t.let("valid",!1),a=t.let("passing",null),c=t.name("_valid");e.setParams({passing:a}),t.block(l),e.result(s,()=>e.reset(),()=>e.error(!0));function l(){i.forEach((u,d)=>{let p;(0,Nk.alwaysValidSchema)(o,u)?t.var(c,!0):p=e.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&t.if((0,No._)`${c} && ${s}`).assign(s,!1).assign(a,(0,No._)`[${a}, ${d}]`).else(),t.if(c,()=>{t.assign(s,!0),t.assign(a,d),p&&e.mergeEvaluated(p,No.Name)})})}}};cc.default=Dk});var Xm=v(uc=>{"use strict";Object.defineProperty(uc,"__esModule",{value:!0});var jk=B(),Mk={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 o=t.name("valid");r.forEach((i,s)=>{if((0,jk.alwaysValidSchema)(n,i))return;let a=e.subschema({keyword:"allOf",schemaProp:s},o);e.ok(o),e.mergeEvaluated(a)})}};uc.default=Mk});var rh=v(lc=>{"use strict";Object.defineProperty(lc,"__esModule",{value:!0});var Oo=N(),th=B(),qk={message:({params:e})=>(0,Oo.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,Oo._)`{failingKeyword: ${e.ifClause}}`},Bk={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:qk,code(e){let{gen:t,parentSchema:r,it:n}=e;r.then===void 0&&r.else===void 0&&(0,th.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=eh(n,"then"),i=eh(n,"else");if(!o&&!i)return;let s=t.let("valid",!0),a=t.name("_valid");if(c(),e.reset(),o&&i){let u=t.let("ifClause");e.setParams({ifClause:u}),t.if(a,l("then",u),l("else",u))}else o?t.if(a,l("then")):t.if((0,Oo.not)(a),l("else"));e.pass(s,()=>e.error(!0));function c(){let u=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);e.mergeEvaluated(u)}function l(u,d){return()=>{let p=e.subschema({keyword:u},a);t.assign(s,a),e.mergeValidEvaluated(p,s),d?t.assign(d,(0,Oo._)`${u}`):e.setParams({ifClause:u})}}}};function eh(e,t){let r=e.schema[t];return r!==void 0&&!(0,th.alwaysValidSchema)(e,r)}lc.default=Bk});var nh=v(dc=>{"use strict";Object.defineProperty(dc,"__esModule",{value:!0});var Lk=B(),Zk={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,Lk.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};dc.default=Zk});var oh=v(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});var Uk=Ga(),Fk=Nm(),Vk=Wa(),Kk=Dm(),Hk=jm(),Gk=Bm(),Wk=Zm(),Jk=rc(),Qk=Vm(),Yk=Wm(),Xk=Jm(),eS=Qm(),tS=Ym(),rS=Xm(),nS=rh(),oS=nh();function iS(e=!1){let t=[Xk.default,eS.default,tS.default,rS.default,nS.default,oS.default,Wk.default,Jk.default,Gk.default,Qk.default,Yk.default];return e?t.push(Fk.default,Kk.default):t.push(Uk.default,Vk.default),t.push(Hk.default),t}pc.default=iS});var ih=v(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});var oe=N(),sS={message:({schemaCode:e})=>(0,oe.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,oe._)`{format: ${e}}`},aS={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:sS,code(e,t){let{gen:r,data:n,$data:o,schema:i,schemaCode:s,it:a}=e,{opts:c,errSchemaPath:l,schemaEnv:u,self:d}=a;if(!c.validateFormats)return;o?p():f();function p(){let h=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),g=r.const("fDef",(0,oe._)`${h}[${s}]`),_=r.let("fType"),w=r.let("format");r.if((0,oe._)`typeof ${g} == "object" && !(${g} instanceof RegExp)`,()=>r.assign(_,(0,oe._)`${g}.type || "string"`).assign(w,(0,oe._)`${g}.validate`),()=>r.assign(_,(0,oe._)`"string"`).assign(w,g)),e.fail$data((0,oe.or)(b(),$()));function b(){return c.strictSchema===!1?oe.nil:(0,oe._)`${s} && !${w}`}function $(){let z=u.$async?(0,oe._)`(${g}.async ? await ${w}(${n}) : ${w}(${n}))`:(0,oe._)`${w}(${n})`,R=(0,oe._)`(typeof ${w} == "function" ? ${z} : ${w}.test(${n}))`;return(0,oe._)`${w} && ${w} !== true && ${_} === ${t} && !${R}`}}function f(){let h=d.formats[i];if(!h){b();return}if(h===!0)return;let[g,_,w]=$(h);g===t&&e.pass(z());function b(){if(c.strictSchema===!1){d.logger.warn(R());return}throw new Error(R());function R(){return`unknown format "${i}" ignored in schema at path "${l}"`}}function $(R){let _e=R instanceof RegExp?(0,oe.regexpCode)(R):c.code.formats?(0,oe._)`${c.code.formats}${(0,oe.getProperty)(i)}`:void 0,Pe=r.scopeValue("formats",{key:i,ref:R,code:_e});return typeof R=="object"&&!(R instanceof RegExp)?[R.type||"string",R.validate,(0,oe._)`${Pe}.validate`]:["string",R,Pe]}function z(){if(typeof h=="object"&&!(h instanceof RegExp)&&h.async){if(!u.$async)throw new Error("async format in sync schema");return(0,oe._)`await ${w}(${n})`}return typeof _=="function"?(0,oe._)`${w}(${n})`:(0,oe._)`${w}.test(${n})`}}}};fc.default=aS});var sh=v(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});var cS=ih(),uS=[cS.default];mc.default=uS});var ah=v(ar=>{"use strict";Object.defineProperty(ar,"__esModule",{value:!0});ar.contentVocabulary=ar.metadataVocabulary=void 0;ar.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];ar.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var uh=v(hc=>{"use strict";Object.defineProperty(hc,"__esModule",{value:!0});var lS=gm(),dS=Rm(),pS=oh(),fS=sh(),ch=ah(),mS=[lS.default,dS.default,(0,pS.default)(),fS.default,ch.metadataVocabulary,ch.contentVocabulary];hc.default=mS});var dh=v(Do=>{"use strict";Object.defineProperty(Do,"__esModule",{value:!0});Do.DiscrError=void 0;var lh;(function(e){e.Tag="tag",e.Mapping="mapping"})(lh||(Do.DiscrError=lh={}))});var fh=v(yc=>{"use strict";Object.defineProperty(yc,"__esModule",{value:!0});var cr=N(),gc=dh(),ph=vo(),hS=on(),gS=B(),yS={message:({params:{discrError:e,tagName:t}})=>e===gc.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,cr._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},_S={keyword:"discriminator",type:"object",schemaType:"object",error:yS,code(e){let{gen:t,data:r,schema:n,parentSchema:o,it:i}=e,{oneOf:s}=o;if(!i.opts.discriminator)throw new Error("discriminator: requires discriminator option");let a=n.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!s)throw new Error("discriminator: requires oneOf keyword");let c=t.let("valid",!1),l=t.const("tag",(0,cr._)`${r}${(0,cr.getProperty)(a)}`);t.if((0,cr._)`typeof ${l} == "string"`,()=>u(),()=>e.error(!1,{discrError:gc.DiscrError.Tag,tag:l,tagName:a})),e.ok(c);function u(){let f=p();t.if(!1);for(let h in f)t.elseIf((0,cr._)`${l} === ${h}`),t.assign(c,d(f[h]));t.else(),e.error(!1,{discrError:gc.DiscrError.Mapping,tag:l,tagName:a}),t.endIf()}function d(f){let h=t.name("valid"),g=e.subschema({keyword:"oneOf",schemaProp:f},h);return e.mergeEvaluated(g,cr.Name),h}function p(){var f;let h={},g=w(o),_=!0;for(let z=0;z<s.length;z++){let R=s[z];if(R?.$ref&&!(0,gS.schemaHasRulesButRef)(R,i.self.RULES)){let Pe=R.$ref;if(R=ph.resolveRef.call(i.self,i.schemaEnv.root,i.baseId,Pe),R instanceof ph.SchemaEnv&&(R=R.schema),R===void 0)throw new hS.default(i.opts.uriResolver,i.baseId,Pe)}let _e=(f=R?.properties)===null||f===void 0?void 0:f[a];if(typeof _e!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);_=_&&(g||w(R)),b(_e,z)}if(!_)throw new Error(`discriminator: "${a}" must be required`);return h;function w({required:z}){return Array.isArray(z)&&z.includes(a)}function b(z,R){if(z.const)$(z.const,R);else if(z.enum)for(let _e of z.enum)$(_e,R);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function $(z,R){if(typeof z!="string"||z in h)throw new Error(`discriminator: "${a}" values must be unique strings`);h[z]=R}}}};yc.default=_S});var mh=v((U1,vS)=>{vS.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:!0,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:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},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:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},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:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},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:!0}});var vc=v((X,_c)=>{"use strict";Object.defineProperty(X,"__esModule",{value:!0});X.MissingRefError=X.ValidationError=X.CodeGen=X.Name=X.nil=X.stringify=X.str=X._=X.KeywordCxt=X.Ajv=void 0;var wS=lm(),bS=uh(),$S=fh(),hh=mh(),xS=["/properties"],jo="http://json-schema.org/draft-07/schema",ur=class extends wS.default{_addVocabularies(){super._addVocabularies(),bS.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword($S.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let t=this.opts.$data?this.$dataMetaSchema(hh,xS):hh;this.addMetaSchema(t,jo,!1),this.refs["http://json-schema.org/schema"]=jo}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(jo)?jo:void 0)}};X.Ajv=ur;_c.exports=X=ur;_c.exports.Ajv=ur;Object.defineProperty(X,"__esModule",{value:!0});X.default=ur;var kS=nn();Object.defineProperty(X,"KeywordCxt",{enumerable:!0,get:function(){return kS.KeywordCxt}});var lr=N();Object.defineProperty(X,"_",{enumerable:!0,get:function(){return lr._}});Object.defineProperty(X,"str",{enumerable:!0,get:function(){return lr.str}});Object.defineProperty(X,"stringify",{enumerable:!0,get:function(){return lr.stringify}});Object.defineProperty(X,"nil",{enumerable:!0,get:function(){return lr.nil}});Object.defineProperty(X,"Name",{enumerable:!0,get:function(){return lr.Name}});Object.defineProperty(X,"CodeGen",{enumerable:!0,get:function(){return lr.CodeGen}});var SS=yo();Object.defineProperty(X,"ValidationError",{enumerable:!0,get:function(){return SS.default}});var ES=on();Object.defineProperty(X,"MissingRefError",{enumerable:!0,get:function(){return ES.default}})});var xh=v(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.formatNames=Xe.fastFormats=Xe.fullFormats=void 0;function Ye(e,t){return{validate:e,compare:t}}Xe.fullFormats={date:Ye(vh,xc),time:Ye(bc(!0),kc),"date-time":Ye(gh(!0),bh),"iso-time":Ye(bc(),wh),"iso-date-time":Ye(gh(),$h),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:AS,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:qS,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:CS,int32:{type:"number",validate:DS},int64:{type:"number",validate:jS},float:{type:"number",validate:_h},double:{type:"number",validate:_h},password:!0,binary:!0};Xe.fastFormats={...Xe.fullFormats,date:Ye(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,xc),time:Ye(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,kc),"date-time":Ye(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,bh),"iso-time":Ye(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,wh),"iso-date-time":Ye(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,$h),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};Xe.formatNames=Object.keys(Xe.fullFormats);function zS(e){return e%4===0&&(e%100!==0||e%400===0)}var TS=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,PS=[0,31,28,31,30,31,30,31,31,30,31,30,31];function vh(e){let t=TS.exec(e);if(!t)return!1;let r=+t[1],n=+t[2],o=+t[3];return n>=1&&n<=12&&o>=1&&o<=(n===2&&zS(r)?29:PS[n])}function xc(e,t){if(e&&t)return e>t?1:e<t?-1:0}var wc=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function bc(e){return function(r){let n=wc.exec(r);if(!n)return!1;let o=+n[1],i=+n[2],s=+n[3],a=n[4],c=n[5]==="-"?-1:1,l=+(n[6]||0),u=+(n[7]||0);if(l>23||u>59||e&&!a)return!1;if(o<=23&&i<=59&&s<60)return!0;let d=i-u*c,p=o-l*c-(d<0?1:0);return(p===23||p===-1)&&(d===59||d===-1)&&s<61}}function kc(e,t){if(!(e&&t))return;let r=new Date("2020-01-01T"+e).valueOf(),n=new Date("2020-01-01T"+t).valueOf();if(r&&n)return r-n}function wh(e,t){if(!(e&&t))return;let r=wc.exec(e),n=wc.exec(t);if(r&&n)return e=r[1]+r[2]+r[3],t=n[1]+n[2]+n[3],e>t?1:e<t?-1:0}var $c=/t|\s/i;function gh(e){let t=bc(e);return function(n){let o=n.split($c);return o.length===2&&vh(o[0])&&t(o[1])}}function bh(e,t){if(!(e&&t))return;let r=new Date(e).valueOf(),n=new Date(t).valueOf();if(r&&n)return r-n}function $h(e,t){if(!(e&&t))return;let[r,n]=e.split($c),[o,i]=t.split($c),s=xc(r,o);if(s!==void 0)return s||kc(n,i)}var RS=/\/|:/,IS=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function AS(e){return RS.test(e)&&IS.test(e)}var yh=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function CS(e){return yh.lastIndex=0,yh.test(e)}var NS=-(2**31),OS=2**31-1;function DS(e){return Number.isInteger(e)&&e<=OS&&e>=NS}function jS(e){return Number.isInteger(e)}function _h(){return!0}var MS=/[^\\]\\Z/;function qS(e){if(MS.test(e))return!1;try{return new RegExp(e),!0}catch{return!1}}});var kh=v(dr=>{"use strict";Object.defineProperty(dr,"__esModule",{value:!0});dr.formatLimitDefinition=void 0;var BS=vc(),Ue=N(),wt=Ue.operators,Mo={formatMaximum:{okStr:"<=",ok:wt.LTE,fail:wt.GT},formatMinimum:{okStr:">=",ok:wt.GTE,fail:wt.LT},formatExclusiveMaximum:{okStr:"<",ok:wt.LT,fail:wt.GTE},formatExclusiveMinimum:{okStr:">",ok:wt.GT,fail:wt.LTE}},LS={message:({keyword:e,schemaCode:t})=>(0,Ue.str)`should be ${Mo[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,Ue._)`{comparison: ${Mo[e].okStr}, limit: ${t}}`};dr.formatLimitDefinition={keyword:Object.keys(Mo),type:"string",schemaType:"string",$data:!0,error:LS,code(e){let{gen:t,data:r,schemaCode:n,keyword:o,it:i}=e,{opts:s,self:a}=i;if(!s.validateFormats)return;let c=new BS.KeywordCxt(i,a.RULES.all.format.definition,"format");c.$data?l():u();function l(){let p=t.scopeValue("formats",{ref:a.formats,code:s.code.formats}),f=t.const("fmt",(0,Ue._)`${p}[${c.schemaCode}]`);e.fail$data((0,Ue.or)((0,Ue._)`typeof ${f} != "object"`,(0,Ue._)`${f} instanceof RegExp`,(0,Ue._)`typeof ${f}.compare != "function"`,d(f)))}function u(){let p=c.schema,f=a.formats[p];if(!f||f===!0)return;if(typeof f!="object"||f instanceof RegExp||typeof f.compare!="function")throw new Error(`"${o}": format "${p}" does not define "compare" function`);let h=t.scopeValue("formats",{key:p,ref:f,code:s.code.formats?(0,Ue._)`${s.code.formats}${(0,Ue.getProperty)(p)}`:void 0});e.fail$data(d(h))}function d(p){return(0,Ue._)`${p}.compare(${r}, ${n}) ${Mo[o].fail} 0`}},dependencies:["format"]};var ZS=e=>(e.addKeyword(dr.formatLimitDefinition),e);dr.default=ZS});var Th=v((vn,zh)=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});var pr=xh(),US=kh(),Sc=N(),Sh=new Sc.Name("fullFormats"),FS=new Sc.Name("fastFormats"),Ec=(e,t={keywords:!0})=>{if(Array.isArray(t))return Eh(e,t,pr.fullFormats,Sh),e;let[r,n]=t.mode==="fast"?[pr.fastFormats,FS]:[pr.fullFormats,Sh],o=t.formats||pr.formatNames;return Eh(e,o,r,n),t.keywords&&(0,US.default)(e),e};Ec.get=(e,t="full")=>{let n=(t==="fast"?pr.fastFormats:pr.fullFormats)[e];if(!n)throw new Error(`Unknown format "${e}"`);return n};function Eh(e,t,r,n){var o,i;(o=(i=e.opts.code).formats)!==null&&o!==void 0||(i.formats=(0,Sc._)`require("ajv-formats/dist/formats").${n}`);for(let s of t)e.addFormat(s,r[s])}zh.exports=vn=Ec;Object.defineProperty(vn,"__esModule",{value:!0});vn.default=Ec});var jh=v((nD,Dh)=>{Dh.exports=Oh;Oh.sync=GS;var Ch=ct("fs");function HS(e,t){var r=t.pathExt!==void 0?t.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var n=0;n<r.length;n++){var o=r[n].toLowerCase();if(o&&e.substr(-o.length).toLowerCase()===o)return!0}return!1}function Nh(e,t,r){return!e.isSymbolicLink()&&!e.isFile()?!1:HS(t,r)}function Oh(e,t,r){Ch.stat(e,function(n,o){r(n,n?!1:Nh(o,e,t))})}function GS(e,t){return Nh(Ch.statSync(e),e,t)}});var Zh=v((oD,Lh)=>{Lh.exports=qh;qh.sync=WS;var Mh=ct("fs");function qh(e,t,r){Mh.stat(e,function(n,o){r(n,n?!1:Bh(o,t))})}function WS(e,t){return Bh(Mh.statSync(e),t)}function Bh(e,t){return e.isFile()&&JS(e,t)}function JS(e,t){var r=e.mode,n=e.uid,o=e.gid,i=t.uid!==void 0?t.uid:process.getuid&&process.getuid(),s=t.gid!==void 0?t.gid:process.getgid&&process.getgid(),a=parseInt("100",8),c=parseInt("010",8),l=parseInt("001",8),u=a|c,d=r&l||r&c&&o===s||r&a&&n===i||r&u&&i===0;return d}});var Fh=v((sD,Uh)=>{var iD=ct("fs"),Uo;process.platform==="win32"||global.TESTING_WINDOWS?Uo=jh():Uo=Zh();Uh.exports=zc;zc.sync=QS;function zc(e,t,r){if(typeof t=="function"&&(r=t,t={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(n,o){zc(e,t||{},function(i,s){i?o(i):n(s)})})}Uo(e,t||{},function(n,o){n&&(n.code==="EACCES"||t&&t.ignoreErrors)&&(n=null,o=!1),r(n,o)})}function QS(e,t){try{return Uo.sync(e,t||{})}catch(r){if(t&&t.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var Qh=v((aD,Jh)=>{var fr=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",Vh=ct("path"),YS=fr?";":":",Kh=Fh(),Hh=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),Gh=(e,t)=>{let r=t.colon||YS,n=e.match(/\//)||fr&&e.match(/\\/)?[""]:[...fr?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(r)],o=fr?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",i=fr?o.split(r):[""];return fr&&e.indexOf(".")!==-1&&i[0]!==""&&i.unshift(""),{pathEnv:n,pathExt:i,pathExtExe:o}},Wh=(e,t,r)=>{typeof t=="function"&&(r=t,t={}),t||(t={});let{pathEnv:n,pathExt:o,pathExtExe:i}=Gh(e,t),s=[],a=l=>new Promise((u,d)=>{if(l===n.length)return t.all&&s.length?u(s):d(Hh(e));let p=n[l],f=/^".*"$/.test(p)?p.slice(1,-1):p,h=Vh.join(f,e),g=!f&&/^\.[\\\/]/.test(e)?e.slice(0,2)+h:h;u(c(g,l,0))}),c=(l,u,d)=>new Promise((p,f)=>{if(d===o.length)return p(a(u+1));let h=o[d];Kh(l+h,{pathExt:i},(g,_)=>{if(!g&&_)if(t.all)s.push(l+h);else return p(l+h);return p(c(l,u,d+1))})});return r?a(0).then(l=>r(null,l),r):a(0)},XS=(e,t)=>{t=t||{};let{pathEnv:r,pathExt:n,pathExtExe:o}=Gh(e,t),i=[];for(let s=0;s<r.length;s++){let a=r[s],c=/^".*"$/.test(a)?a.slice(1,-1):a,l=Vh.join(c,e),u=!c&&/^\.[\\\/]/.test(e)?e.slice(0,2)+l:l;for(let d=0;d<n.length;d++){let p=u+n[d];try{if(Kh.sync(p,{pathExt:o}))if(t.all)i.push(p);else return p}catch{}}}if(t.all&&i.length)return i;if(t.nothrow)return null;throw Hh(e)};Jh.exports=Wh;Wh.sync=XS});var Xh=v((cD,Tc)=>{"use strict";var Yh=(e={})=>{let t=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(t).reverse().find(n=>n.toUpperCase()==="PATH")||"Path"};Tc.exports=Yh;Tc.exports.default=Yh});var ng=v((uD,rg)=>{"use strict";var eg=ct("path"),eE=Qh(),tE=Xh();function tg(e,t){let r=e.options.env||process.env,n=process.cwd(),o=e.options.cwd!=null,i=o&&process.chdir!==void 0&&!process.chdir.disabled;if(i)try{process.chdir(e.options.cwd)}catch{}let s;try{s=eE.sync(e.command,{path:r[tE({env:r})],pathExt:t?eg.delimiter:void 0})}catch{}finally{i&&process.chdir(n)}return s&&(s=eg.resolve(o?e.options.cwd:"",s)),s}function rE(e){return tg(e)||tg(e,!0)}rg.exports=rE});var og=v((lD,Rc)=>{"use strict";var Pc=/([()\][%!^"`<>&|;, *?])/g;function nE(e){return e=e.replace(Pc,"^$1"),e}function oE(e,t){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(Pc,"^$1"),t&&(e=e.replace(Pc,"^$1")),e}Rc.exports.command=nE;Rc.exports.argument=oE});var sg=v((dD,ig)=>{"use strict";ig.exports=/^#!(.*)/});var cg=v((pD,ag)=>{"use strict";var iE=sg();ag.exports=(e="")=>{let t=e.match(iE);if(!t)return null;let[r,n]=t[0].replace(/#! ?/,"").split(" "),o=r.split("/").pop();return o==="env"?n:n?`${o} ${n}`:o}});var lg=v((fD,ug)=>{"use strict";var Ic=ct("fs"),sE=cg();function aE(e){let r=Buffer.alloc(150),n;try{n=Ic.openSync(e,"r"),Ic.readSync(n,r,0,150,0),Ic.closeSync(n)}catch{}return sE(r.toString())}ug.exports=aE});var mg=v((mD,fg)=>{"use strict";var cE=ct("path"),dg=ng(),pg=og(),uE=lg(),lE=process.platform==="win32",dE=/\.(?:com|exe)$/i,pE=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function fE(e){e.file=dg(e);let t=e.file&&uE(e.file);return t?(e.args.unshift(e.file),e.command=t,dg(e)):e.file}function mE(e){if(!lE)return e;let t=fE(e),r=!dE.test(t);if(e.options.forceShell||r){let n=pE.test(t);e.command=cE.normalize(e.command),e.command=pg.command(e.command),e.args=e.args.map(i=>pg.argument(i,n));let o=[e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${o}"`],e.command=process.env.comspec||"cmd.exe",e.options.windowsVerbatimArguments=!0}return e}function hE(e,t,r){t&&!Array.isArray(t)&&(r=t,t=null),t=t?t.slice(0):[],r=Object.assign({},r);let n={command:e,args:t,options:r,file:void 0,original:{command:e,args:t}};return r.shell?n:mE(n)}fg.exports=hE});var yg=v((hD,gg)=>{"use strict";var Ac=process.platform==="win32";function Cc(e,t){return Object.assign(new Error(`${t} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}function gE(e,t){if(!Ac)return;let r=e.emit;e.emit=function(n,o){if(n==="exit"){let i=hg(o,t);if(i)return r.call(e,"error",i)}return r.apply(e,arguments)}}function hg(e,t){return Ac&&e===1&&!t.file?Cc(t.original,"spawn"):null}function yE(e,t){return Ac&&e===1&&!t.file?Cc(t.original,"spawnSync"):null}gg.exports={hookChildProcess:gE,verifyENOENT:hg,verifyENOENTSync:yE,notFoundError:Cc}});var wg=v((gD,mr)=>{"use strict";var _g=ct("child_process"),Nc=mg(),Oc=yg();function vg(e,t,r){let n=Nc(e,t,r),o=_g.spawn(n.command,n.args,n.options);return Oc.hookChildProcess(o,n),o}function _E(e,t,r){let n=Nc(e,t,r),o=_g.spawnSync(n.command,n.args,n.options);return o.error=o.error||Oc.verifyENOENTSync(o.status,n),o}mr.exports=vg;mr.exports.spawn=vg;mr.exports.sync=_E;mr.exports._parse=Nc;mr.exports._enoent=Oc});import{readFile as NP,mkdir as OP,writeFile as DP}from"node:fs/promises";import{dirname as jP,join as Ny}from"node:path";var rR=Object.freeze({status:"aborted"});function y(e,t,r){function n(a,c){var l;Object.defineProperty(a,"_zod",{value:a._zod??{},enumerable:!1}),(l=a._zod).traits??(l.traits=new Set),a._zod.traits.add(e),t(a,c);for(let u in s.prototype)u in a||Object.defineProperty(a,u,{value:s.prototype[u].bind(a)});a._zod.constr=s,a._zod.def=c}let o=r?.Parent??Object;class i extends o{}Object.defineProperty(i,"name",{value:e});function s(a){var c;let l=r?.Parent?new i:this;n(l,a),(c=l._zod).deferred??(c.deferred=[]);for(let u of l._zod.deferred)u();return l}return Object.defineProperty(s,"init",{value:n}),Object.defineProperty(s,Symbol.hasInstance,{value:a=>r?.Parent&&a instanceof r.Parent?!0:a?._zod?.traits?.has(e)}),Object.defineProperty(s,"name",{value:e}),s}var nR=Symbol("zod_brand"),et=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Tn={};function Re(e){return e&&Object.assign(Tn,e),Tn}var U={};fu(U,{BIGINT_FORMAT_RANGES:()=>hu,Class:()=>yi,NUMBER_FORMAT_RANGES:()=>Si,aborted:()=>kt,allowsEval:()=>$i,assert:()=>Ky,assertEqual:()=>Zy,assertIs:()=>Fy,assertNever:()=>Vy,assertNotEqual:()=>Uy,assignProp:()=>bi,cached:()=>xr,captureStackTrace:()=>Rn,cleanEnum:()=>i_,cleanRegex:()=>Sr,clone:()=>He,createTransparentProxy:()=>Yy,defineLazy:()=>H,esc:()=>xt,escapeRegex:()=>ut,extend:()=>t_,finalizeIssue:()=>je,floatSafeRemainder:()=>wi,getElementAtPath:()=>Hy,getEnumValues:()=>_i,getLengthableOrigin:()=>Er,getParsedType:()=>Qy,getSizableOrigin:()=>gu,isObject:()=>Ut,isPlainObject:()=>Ft,issue:()=>Ei,joinValues:()=>Pn,jsonStringifyReplacer:()=>vi,merge:()=>r_,normalizeParams:()=>T,nullish:()=>kr,numKeys:()=>Jy,omit:()=>e_,optionalKeys:()=>ki,partial:()=>n_,pick:()=>Xy,prefixIssues:()=>Ge,primitiveTypes:()=>mu,promiseAllObject:()=>Gy,propertyKeyTypes:()=>xi,randomString:()=>Wy,required:()=>o_,stringifyPrimitive:()=>In,unwrapMessage:()=>$r});function Zy(e){return e}function Uy(e){return e}function Fy(e){}function Vy(e){throw new Error}function Ky(e){}function _i(e){let t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,o])=>t.indexOf(+n)===-1).map(([n,o])=>o)}function Pn(e,t="|"){return e.map(r=>In(r)).join(t)}function vi(e,t){return typeof t=="bigint"?t.toString():t}function xr(e){return{get value(){{let r=e();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function kr(e){return e==null}function Sr(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function wi(e,t){let r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,o=r>n?r:n,i=Number.parseInt(e.toFixed(o).replace(".","")),s=Number.parseInt(t.toFixed(o).replace(".",""));return i%s/10**o}function H(e,t,r){Object.defineProperty(e,t,{get(){{let o=r();return e[t]=o,o}throw new Error("cached value already set")},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function bi(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Hy(e,t){return t?t.reduce((r,n)=>r?.[n],e):e}function Gy(e){let t=Object.keys(e),r=t.map(n=>e[n]);return Promise.all(r).then(n=>{let o={};for(let i=0;i<t.length;i++)o[t[i]]=n[i];return o})}function Wy(e=10){let t="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<e;n++)r+=t[Math.floor(Math.random()*t.length)];return r}function xt(e){return JSON.stringify(e)}var Rn=Error.captureStackTrace?Error.captureStackTrace:(...e)=>{};function Ut(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var $i=xr(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});function Ft(e){if(Ut(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;let r=t.prototype;return!(Ut(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function Jy(e){let t=0;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}var Qy=e=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(e)?"array":e===null?"null":e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?"promise":typeof Map<"u"&&e instanceof Map?"map":typeof Set<"u"&&e instanceof Set?"set":typeof Date<"u"&&e instanceof Date?"date":typeof File<"u"&&e instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${t}`)}},xi=new Set(["string","number","symbol"]),mu=new Set(["string","number","bigint","boolean","symbol","undefined"]);function ut(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function He(e,t,r){let n=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(n._zod.parent=e),n}function T(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function Yy(e){let t;return new Proxy({},{get(r,n,o){return t??(t=e()),Reflect.get(t,n,o)},set(r,n,o,i){return t??(t=e()),Reflect.set(t,n,o,i)},has(r,n){return t??(t=e()),Reflect.has(t,n)},deleteProperty(r,n){return t??(t=e()),Reflect.deleteProperty(t,n)},ownKeys(r){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(r,n){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,n)},defineProperty(r,n,o){return t??(t=e()),Reflect.defineProperty(t,n,o)}})}function In(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function ki(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var Si={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},hu={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function Xy(e,t){let r={},n=e._zod.def;for(let o in t){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);t[o]&&(r[o]=n.shape[o])}return He(e,{...e._zod.def,shape:r,checks:[]})}function e_(e,t){let r={...e._zod.def.shape},n=e._zod.def;for(let o in t){if(!(o in n.shape))throw new Error(`Unrecognized key: "${o}"`);t[o]&&delete r[o]}return He(e,{...e._zod.def,shape:r,checks:[]})}function t_(e,t){if(!Ft(t))throw new Error("Invalid input to extend: expected a plain object");let r={...e._zod.def,get shape(){let n={...e._zod.def.shape,...t};return bi(this,"shape",n),n},checks:[]};return He(e,r)}function r_(e,t){return He(e,{...e._zod.def,get shape(){let r={...e._zod.def.shape,...t._zod.def.shape};return bi(this,"shape",r),r},catchall:t._zod.def.catchall,checks:[]})}function n_(e,t,r){let n=t._zod.def.shape,o={...n};if(r)for(let i in r){if(!(i in n))throw new Error(`Unrecognized key: "${i}"`);r[i]&&(o[i]=e?new e({type:"optional",innerType:n[i]}):n[i])}else for(let i in n)o[i]=e?new e({type:"optional",innerType:n[i]}):n[i];return He(t,{...t._zod.def,shape:o,checks:[]})}function o_(e,t,r){let n=t._zod.def.shape,o={...n};if(r)for(let i in r){if(!(i in o))throw new Error(`Unrecognized key: "${i}"`);r[i]&&(o[i]=new e({type:"nonoptional",innerType:n[i]}))}else for(let i in n)o[i]=new e({type:"nonoptional",innerType:n[i]});return He(t,{...t._zod.def,shape:o,checks:[]})}function kt(e,t=0){for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function Ge(e,t){return t.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function $r(e){return typeof e=="string"?e:e?.message}function je(e,t,r){let n={...e,path:e.path??[]};if(!e.message){let o=$r(e.inst?._zod.def?.error?.(e))??$r(t?.error?.(e))??$r(r.customError?.(e))??$r(r.localeError?.(e))??"Invalid input";n.message=o}return delete n.inst,delete n.continue,t?.reportInput||delete n.input,n}function gu(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function Er(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function Ei(...e){let[t,r,n]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:n}:{...t}}function i_(e){return Object.entries(e).filter(([t,r])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}var yi=class{constructor(...t){}};var yu=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),Object.defineProperty(e,"message",{get(){return JSON.stringify(t,vi,2)},enumerable:!0}),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},An=y("$ZodError",yu),zi=y("$ZodError",yu,{Parent:Error});function _u(e,t=r=>r.message){let r={},n=[];for(let o of e.issues)o.path.length>0?(r[o.path[0]]=r[o.path[0]]||[],r[o.path[0]].push(t(o))):n.push(t(o));return{formErrors:n,fieldErrors:r}}function vu(e,t){let r=t||function(i){return i.message},n={_errors:[]},o=i=>{for(let s of i.issues)if(s.code==="invalid_union"&&s.errors.length)s.errors.map(a=>o({issues:a}));else if(s.code==="invalid_key")o({issues:s.issues});else if(s.code==="invalid_element")o({issues:s.issues});else if(s.path.length===0)n._errors.push(r(s));else{let a=n,c=0;for(;c<s.path.length;){let l=s.path[c];c===s.path.length-1?(a[l]=a[l]||{_errors:[]},a[l]._errors.push(r(s))):a[l]=a[l]||{_errors:[]},a=a[l],c++}}};return o(e),n}var wu=e=>(t,r,n,o)=>{let i=n?Object.assign(n,{async:!1}):{async:!1},s=t._zod.run({value:r,issues:[]},i);if(s instanceof Promise)throw new et;if(s.issues.length){let a=new(o?.Err??e)(s.issues.map(c=>je(c,i,Re())));throw Rn(a,o?.callee),a}return s.value};var bu=e=>async(t,r,n,o)=>{let i=n?Object.assign(n,{async:!0}):{async:!0},s=t._zod.run({value:r,issues:[]},i);if(s instanceof Promise&&(s=await s),s.issues.length){let a=new(o?.Err??e)(s.issues.map(c=>je(c,i,Re())));throw Rn(a,o?.callee),a}return s.value};var Ti=e=>(t,r,n)=>{let o=n?{...n,async:!1}:{async:!1},i=t._zod.run({value:r,issues:[]},o);if(i instanceof Promise)throw new et;return i.issues.length?{success:!1,error:new(e??An)(i.issues.map(s=>je(s,o,Re())))}:{success:!0,data:i.value}},zr=Ti(zi),Pi=e=>async(t,r,n)=>{let o=n?Object.assign(n,{async:!0}):{async:!0},i=t._zod.run({value:r,issues:[]},o);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new e(i.issues.map(s=>je(s,o,Re())))}:{success:!0,data:i.value}},Cn=Pi(zi);var $u=/^[cC][^\s-]{8,}$/,xu=/^[0-9a-z]+$/,ku=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Su=/^[0-9a-vA-V]{20}$/,Eu=/^[A-Za-z0-9]{27}$/,zu=/^[a-zA-Z0-9_-]{21}$/,Tu=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var Pu=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Ri=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/;var Ru=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var a_="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Iu(){return new RegExp(a_,"u")}var Au=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Cu=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/,Nu=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Ou=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Du=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Ii=/^[A-Za-z0-9_-]*$/,ju=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var Mu=/^\+(?:[0-9]){6,14}[0-9]$/,qu="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",Bu=new RegExp(`^${qu}$`);function Lu(e){let t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Zu(e){return new RegExp(`^${Lu(e)}$`)}function Uu(e){let t=Lu({precision:e.precision}),r=["Z"];e.local&&r.push(""),e.offset&&r.push("([+-]\\d{2}:\\d{2})");let n=`${t}(?:${r.join("|")})`;return new RegExp(`^${qu}T(?:${n})$`)}var Fu=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)};var Vu=/^\d+$/,Ku=/^-?\d+(?:\.\d+)?/i,Hu=/true|false/i,Gu=/null/i;var Wu=/^[^A-Z]*$/,Ju=/^[^a-z]*$/;var fe=y("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),Qu={number:"number",bigint:"bigint",object:"date"},Ci=y("$ZodCheckLessThan",(e,t)=>{fe.init(e,t);let r=Qu[typeof t.value];e._zod.onattach.push(n=>{let o=n._zod.bag,i=(t.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<i&&(t.inclusive?o.maximum=t.value:o.exclusiveMaximum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value<=t.value:n.value<t.value)||n.issues.push({origin:r,code:"too_big",maximum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Ni=y("$ZodCheckGreaterThan",(e,t)=>{fe.init(e,t);let r=Qu[typeof t.value];e._zod.onattach.push(n=>{let o=n._zod.bag,i=(t.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>i&&(t.inclusive?o.minimum=t.value:o.exclusiveMinimum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value>=t.value:n.value>t.value)||n.issues.push({origin:r,code:"too_small",minimum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Yu=y("$ZodCheckMultipleOf",(e,t)=>{fe.init(e,t),e._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=r=>{if(typeof r.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%t.value===BigInt(0):wi(r.value,t.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),Xu=y("$ZodCheckNumberFormat",(e,t)=>{fe.init(e,t),t.format=t.format||"float64";let r=t.format?.includes("int"),n=r?"int":"number",[o,i]=Si[t.format];e._zod.onattach.push(s=>{let a=s._zod.bag;a.format=t.format,a.minimum=o,a.maximum=i,r&&(a.pattern=Vu)}),e._zod.check=s=>{let a=s.value;if(r){if(!Number.isInteger(a)){s.issues.push({expected:n,format:t.format,code:"invalid_type",input:a,inst:e});return}if(!Number.isSafeInteger(a)){a>0?s.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort}):s.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort});return}}a<o&&s.issues.push({origin:"number",input:a,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort}),a>i&&s.issues.push({origin:"number",input:a,code:"too_big",maximum:i,inst:e})}});var el=y("$ZodCheckMaxLength",(e,t)=>{var r;fe.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!kr(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<o&&(n._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let o=n.value;if(o.length<=t.maximum)return;let s=Er(o);n.issues.push({origin:s,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),tl=y("$ZodCheckMinLength",(e,t)=>{var r;fe.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!kr(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>o&&(n._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let o=n.value;if(o.length>=t.minimum)return;let s=Er(o);n.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),rl=y("$ZodCheckLengthEquals",(e,t)=>{var r;fe.init(e,t),(r=e._zod.def).when??(r.when=n=>{let o=n.value;return!kr(o)&&o.length!==void 0}),e._zod.onattach.push(n=>{let o=n._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=n=>{let o=n.value,i=o.length;if(i===t.length)return;let s=Er(o),a=i>t.length;n.issues.push({origin:s,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Tr=y("$ZodCheckStringFormat",(e,t)=>{var r,n;fe.init(e,t),e._zod.onattach.push(o=>{let i=o._zod.bag;i.format=t.format,t.pattern&&(i.patterns??(i.patterns=new Set),i.patterns.add(t.pattern))}),t.pattern?(r=e._zod).check??(r.check=o=>{t.pattern.lastIndex=0,!t.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(n=e._zod).check??(n.check=()=>{})}),nl=y("$ZodCheckRegex",(e,t)=>{Tr.init(e,t),e._zod.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),ol=y("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Wu),Tr.init(e,t)}),il=y("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Ju),Tr.init(e,t)}),sl=y("$ZodCheckIncludes",(e,t)=>{fe.init(e,t);let r=ut(t.includes),n=new RegExp(typeof t.position=="number"?`^.{${t.position}}${r}`:r);t.pattern=n,e._zod.onattach.push(o=>{let i=o._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(n)}),e._zod.check=o=>{o.value.includes(t.includes,t.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),al=y("$ZodCheckStartsWith",(e,t)=>{fe.init(e,t);let r=new RegExp(`^${ut(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),cl=y("$ZodCheckEndsWith",(e,t)=>{fe.init(e,t);let r=new RegExp(`.*${ut(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.onattach.push(n=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}});var ul=y("$ZodCheckOverwrite",(e,t)=>{fe.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}});var Nn=class{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}let n=t.split(`
11
11
  `).filter(s=>s),o=Math.min(...n.map(s=>s.length-s.trimStart().length)),i=n.map(s=>s.slice(o)).map(s=>" ".repeat(this.indent*2)+s);for(let s of i)this.content.push(s)}compile(){let t=Function,r=this?.args,o=[...(this?.content??[""]).map(i=>` ${i}`)];return new t(...r,o.join(`
12
- `))}};var dl={major:4,minor:0,patch:0};var G=y("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=dl;let n=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&n.unshift(e);for(let o of n)for(let i of o._zod.onattach)i(e);if(n.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let o=(i,s,a)=>{let c=kt(i),l;for(let u of s){if(u._zod.def.when){if(!u._zod.def.when(i))continue}else if(c)continue;let d=i.issues.length,p=u._zod.check(i);if(p instanceof Promise&&a?.async===!1)throw new et;if(l||p instanceof Promise)l=(l??Promise.resolve()).then(async()=>{await p,i.issues.length!==d&&(c||(c=kt(i,d)))});else{if(i.issues.length===d)continue;c||(c=kt(i,d))}}return l?l.then(()=>i):i};e._zod.run=(i,s)=>{let a=e._zod.parse(i,s);if(a instanceof Promise){if(s.async===!1)throw new et;return a.then(c=>o(c,n,s))}return o(a,n,s)}}e["~standard"]={validate:o=>{try{let i=zr(e,o);return i.success?{value:i.data}:{issues:i.error?.issues}}catch{return Cn(e,o).then(s=>s.success?{value:s.data}:{issues:s.error?.issues})}},vendor:"zod",version:1}}),Dn=y("$ZodString",(e,t)=>{G.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Fu(e._zod.bag),e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),J=y("$ZodStringFormat",(e,t)=>{Pr.init(e,t),Dn.init(e,t)}),bl=y("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=Tu),J.init(e,t)}),$l=y("$ZodUUID",(e,t)=>{if(t.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(n===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=Ri(n))}else t.pattern??(t.pattern=Ri());J.init(e,t)}),xl=y("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=Ru),J.init(e,t)}),kl=y("$ZodURL",(e,t)=>{J.init(e,t),e._zod.check=r=>{try{let n=r.value,o=new URL(n),i=o.href;t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(o.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:ju.source,input:r.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:r.value,inst:e,continue:!t.abort})),!n.endsWith("/")&&i.endsWith("/")?r.value=i.slice(0,-1):r.value=i;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort})}}}),Sl=y("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=Iu()),J.init(e,t)}),El=y("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=zu),J.init(e,t)}),zl=y("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=$u),J.init(e,t)}),Pl=y("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=xu),J.init(e,t)}),Tl=y("$ZodULID",(e,t)=>{t.pattern??(t.pattern=ku),J.init(e,t)}),Rl=y("$ZodXID",(e,t)=>{t.pattern??(t.pattern=Su),J.init(e,t)}),Il=y("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=Eu),J.init(e,t)}),Al=y("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=Uu(t)),J.init(e,t)}),Cl=y("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Bu),J.init(e,t)}),Nl=y("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=Zu(t)),J.init(e,t)}),Ol=y("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=Pu),J.init(e,t)}),Dl=y("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Au),J.init(e,t),e._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv4"})}),jl=y("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Cu),J.init(e,t),e._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv6"}),e._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!t.abort})}}}),Ml=y("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=Nu),J.init(e,t)}),ql=y("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=Ou),J.init(e,t),e._zod.check=r=>{let[n,o]=r.value.split("/");try{if(!o)throw new Error;let i=Number(o);if(`${i}`!==o)throw new Error;if(i<0||i>128)throw new Error;new URL(`http://[${n}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:e,continue:!t.abort})}}});function Bl(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var Ll=y("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=Du),J.init(e,t),e._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),e._zod.check=r=>{Bl(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}});function c_(e){if(!Ii.test(e))return!1;let t=e.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return Bl(r)}var Zl=y("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Ii),J.init(e,t),e._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64url"}),e._zod.check=r=>{c_(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),Ul=y("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Mu),J.init(e,t)});function u_(e,t=null){try{let r=e.split(".");if(r.length!==3)return!1;let[n]=r;if(!n)return!1;let o=JSON.parse(atob(n));return!("typ"in o&&o?.typ!=="JWT"||!o.alg||t&&(!("alg"in o)||o.alg!==t))}catch{return!1}}var Fl=y("$ZodJWT",(e,t)=>{J.init(e,t),e._zod.check=r=>{u_(r.value,t.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}});var Di=y("$ZodNumber",(e,t)=>{G.init(e,t),e._zod.pattern=e._zod.bag.pattern??Ku,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=Number(r.value)}catch{}let o=r.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return r;let i=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...i?{received:i}:{}}),r}}),Vl=y("$ZodNumber",(e,t)=>{Xu.init(e,t),Di.init(e,t)}),Kl=y("$ZodBoolean",(e,t)=>{G.init(e,t),e._zod.pattern=Hu,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=!!r.value}catch{}let o=r.value;return typeof o=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),r}});var Hl=y("$ZodNull",(e,t)=>{G.init(e,t),e._zod.pattern=Gu,e._zod.values=new Set([null]),e._zod.parse=(r,n)=>{let o=r.value;return o===null||r.issues.push({expected:"null",code:"invalid_type",input:o,inst:e}),r}});var Gl=y("$ZodUnknown",(e,t)=>{G.init(e,t),e._zod.parse=r=>r}),Wl=y("$ZodNever",(e,t)=>{G.init(e,t),e._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)});function pl(e,t,r){e.issues.length&&t.issues.push(...Ge(r,e.issues)),t.value[r]=e.value}var Jl=y("$ZodArray",(e,t)=>{G.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;if(!Array.isArray(o))return r.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),r;r.value=Array(o.length);let i=[];for(let s=0;s<o.length;s++){let a=o[s],c=t.element._zod.run({value:a,issues:[]},n);c instanceof Promise?i.push(c.then(l=>pl(l,r,s))):pl(c,r,s)}return i.length?Promise.all(i).then(()=>r):r}});function On(e,t,r){e.issues.length&&t.issues.push(...Ge(r,e.issues)),t.value[r]=e.value}function fl(e,t,r,n){e.issues.length?n[r]===void 0?r in n?t.value[r]=void 0:t.value[r]=e.value:t.issues.push(...Ge(r,e.issues)):e.value===void 0?r in n&&(t.value[r]=void 0):t.value[r]=e.value}var Ql=y("$ZodObject",(e,t)=>{G.init(e,t);let r=xr(()=>{let d=Object.keys(t.shape);for(let f of d)if(!(t.shape[f]instanceof G))throw new Error(`Invalid element at key "${f}": expected a Zod schema`);let p=ki(t.shape);return{shape:t.shape,keys:d,keySet:new Set(d),numKeys:d.length,optionalKeys:new Set(p)}});H(e._zod,"propValues",()=>{let d=t.shape,p={};for(let f in d){let h=d[f]._zod;if(h.values){p[f]??(p[f]=new Set);for(let g of h.values)p[f].add(g)}}return p});let n=d=>{let p=new Nn(["shape","payload","ctx"]),f=r.value,h=b=>{let $=xt(b);return`shape[${$}]._zod.run({ value: input[${$}], issues: [] }, ctx)`};p.write("const input = payload.value;");let g=Object.create(null),_=0;for(let b of f.keys)g[b]=`key_${_++}`;p.write("const newResult = {}");for(let b of f.keys)if(f.optionalKeys.has(b)){let $=g[b];p.write(`const ${$} = ${h(b)};`);let z=xt(b);p.write(`
12
+ `))}};var dl={major:4,minor:0,patch:0};var G=y("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=dl;let n=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&n.unshift(e);for(let o of n)for(let i of o._zod.onattach)i(e);if(n.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let o=(i,s,a)=>{let c=kt(i),l;for(let u of s){if(u._zod.def.when){if(!u._zod.def.when(i))continue}else if(c)continue;let d=i.issues.length,p=u._zod.check(i);if(p instanceof Promise&&a?.async===!1)throw new et;if(l||p instanceof Promise)l=(l??Promise.resolve()).then(async()=>{await p,i.issues.length!==d&&(c||(c=kt(i,d)))});else{if(i.issues.length===d)continue;c||(c=kt(i,d))}}return l?l.then(()=>i):i};e._zod.run=(i,s)=>{let a=e._zod.parse(i,s);if(a instanceof Promise){if(s.async===!1)throw new et;return a.then(c=>o(c,n,s))}return o(a,n,s)}}e["~standard"]={validate:o=>{try{let i=zr(e,o);return i.success?{value:i.data}:{issues:i.error?.issues}}catch{return Cn(e,o).then(s=>s.success?{value:s.data}:{issues:s.error?.issues})}},vendor:"zod",version:1}}),Dn=y("$ZodString",(e,t)=>{G.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Fu(e._zod.bag),e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),J=y("$ZodStringFormat",(e,t)=>{Tr.init(e,t),Dn.init(e,t)}),bl=y("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=Pu),J.init(e,t)}),$l=y("$ZodUUID",(e,t)=>{if(t.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(n===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=Ri(n))}else t.pattern??(t.pattern=Ri());J.init(e,t)}),xl=y("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=Ru),J.init(e,t)}),kl=y("$ZodURL",(e,t)=>{J.init(e,t),e._zod.check=r=>{try{let n=r.value,o=new URL(n),i=o.href;t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(o.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:ju.source,input:r.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:r.value,inst:e,continue:!t.abort})),!n.endsWith("/")&&i.endsWith("/")?r.value=i.slice(0,-1):r.value=i;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort})}}}),Sl=y("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=Iu()),J.init(e,t)}),El=y("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=zu),J.init(e,t)}),zl=y("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=$u),J.init(e,t)}),Tl=y("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=xu),J.init(e,t)}),Pl=y("$ZodULID",(e,t)=>{t.pattern??(t.pattern=ku),J.init(e,t)}),Rl=y("$ZodXID",(e,t)=>{t.pattern??(t.pattern=Su),J.init(e,t)}),Il=y("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=Eu),J.init(e,t)}),Al=y("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=Uu(t)),J.init(e,t)}),Cl=y("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Bu),J.init(e,t)}),Nl=y("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=Zu(t)),J.init(e,t)}),Ol=y("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=Tu),J.init(e,t)}),Dl=y("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Au),J.init(e,t),e._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv4"})}),jl=y("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Cu),J.init(e,t),e._zod.onattach.push(r=>{let n=r._zod.bag;n.format="ipv6"}),e._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!t.abort})}}}),Ml=y("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=Nu),J.init(e,t)}),ql=y("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=Ou),J.init(e,t),e._zod.check=r=>{let[n,o]=r.value.split("/");try{if(!o)throw new Error;let i=Number(o);if(`${i}`!==o)throw new Error;if(i<0||i>128)throw new Error;new URL(`http://[${n}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:e,continue:!t.abort})}}});function Bl(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var Ll=y("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=Du),J.init(e,t),e._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64"}),e._zod.check=r=>{Bl(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}});function c_(e){if(!Ii.test(e))return!1;let t=e.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return Bl(r)}var Zl=y("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Ii),J.init(e,t),e._zod.onattach.push(r=>{r._zod.bag.contentEncoding="base64url"}),e._zod.check=r=>{c_(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),Ul=y("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Mu),J.init(e,t)});function u_(e,t=null){try{let r=e.split(".");if(r.length!==3)return!1;let[n]=r;if(!n)return!1;let o=JSON.parse(atob(n));return!("typ"in o&&o?.typ!=="JWT"||!o.alg||t&&(!("alg"in o)||o.alg!==t))}catch{return!1}}var Fl=y("$ZodJWT",(e,t)=>{J.init(e,t),e._zod.check=r=>{u_(r.value,t.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}});var Di=y("$ZodNumber",(e,t)=>{G.init(e,t),e._zod.pattern=e._zod.bag.pattern??Ku,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=Number(r.value)}catch{}let o=r.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return r;let i=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...i?{received:i}:{}}),r}}),Vl=y("$ZodNumber",(e,t)=>{Xu.init(e,t),Di.init(e,t)}),Kl=y("$ZodBoolean",(e,t)=>{G.init(e,t),e._zod.pattern=Hu,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=!!r.value}catch{}let o=r.value;return typeof o=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),r}});var Hl=y("$ZodNull",(e,t)=>{G.init(e,t),e._zod.pattern=Gu,e._zod.values=new Set([null]),e._zod.parse=(r,n)=>{let o=r.value;return o===null||r.issues.push({expected:"null",code:"invalid_type",input:o,inst:e}),r}});var Gl=y("$ZodUnknown",(e,t)=>{G.init(e,t),e._zod.parse=r=>r}),Wl=y("$ZodNever",(e,t)=>{G.init(e,t),e._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)});function pl(e,t,r){e.issues.length&&t.issues.push(...Ge(r,e.issues)),t.value[r]=e.value}var Jl=y("$ZodArray",(e,t)=>{G.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;if(!Array.isArray(o))return r.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),r;r.value=Array(o.length);let i=[];for(let s=0;s<o.length;s++){let a=o[s],c=t.element._zod.run({value:a,issues:[]},n);c instanceof Promise?i.push(c.then(l=>pl(l,r,s))):pl(c,r,s)}return i.length?Promise.all(i).then(()=>r):r}});function On(e,t,r){e.issues.length&&t.issues.push(...Ge(r,e.issues)),t.value[r]=e.value}function fl(e,t,r,n){e.issues.length?n[r]===void 0?r in n?t.value[r]=void 0:t.value[r]=e.value:t.issues.push(...Ge(r,e.issues)):e.value===void 0?r in n&&(t.value[r]=void 0):t.value[r]=e.value}var Ql=y("$ZodObject",(e,t)=>{G.init(e,t);let r=xr(()=>{let d=Object.keys(t.shape);for(let f of d)if(!(t.shape[f]instanceof G))throw new Error(`Invalid element at key "${f}": expected a Zod schema`);let p=ki(t.shape);return{shape:t.shape,keys:d,keySet:new Set(d),numKeys:d.length,optionalKeys:new Set(p)}});H(e._zod,"propValues",()=>{let d=t.shape,p={};for(let f in d){let h=d[f]._zod;if(h.values){p[f]??(p[f]=new Set);for(let g of h.values)p[f].add(g)}}return p});let n=d=>{let p=new Nn(["shape","payload","ctx"]),f=r.value,h=b=>{let $=xt(b);return`shape[${$}]._zod.run({ value: input[${$}], issues: [] }, ctx)`};p.write("const input = payload.value;");let g=Object.create(null),_=0;for(let b of f.keys)g[b]=`key_${_++}`;p.write("const newResult = {}");for(let b of f.keys)if(f.optionalKeys.has(b)){let $=g[b];p.write(`const ${$} = ${h(b)};`);let z=xt(b);p.write(`
13
13
  if (${$}.issues.length) {
14
14
  if (input[${z}] === undefined) {
15
15
  if (${z} in input) {
@@ -32,27 +32,27 @@ var Dy=Object.create;var mi=Object.defineProperty;var jy=Object.getOwnPropertyDe
32
32
  if (${$}.issues.length) payload.issues = payload.issues.concat(${$}.issues.map(iss => ({
33
33
  ...iss,
34
34
  path: iss.path ? [${xt(b)}, ...iss.path] : [${xt(b)}]
35
- })));`),p.write(`newResult[${xt(b)}] = ${$}.value`)}p.write("payload.value = newResult;"),p.write("return payload;");let w=p.compile();return(b,$)=>w(d,b,$)},o,i=Ut,s=!Pn.jitless,c=s&&$i.value,l=t.catchall,u;e._zod.parse=(d,p)=>{u??(u=r.value);let f=d.value;if(!i(f))return d.issues.push({expected:"object",code:"invalid_type",input:f,inst:e}),d;let h=[];if(s&&c&&p?.async===!1&&p.jitless!==!0)o||(o=n(t.shape)),d=o(d,p);else{d.value={};let $=u.shape;for(let z of u.keys){let R=$[z],_e=R._zod.run({value:f[z],issues:[]},p),Te=R._zod.optin==="optional"&&R._zod.optout==="optional";_e instanceof Promise?h.push(_e.then(Zt=>Te?fl(Zt,d,z,f):On(Zt,d,z))):Te?fl(_e,d,z,f):On(_e,d,z)}}if(!l)return h.length?Promise.all(h).then(()=>d):d;let g=[],_=u.keySet,w=l._zod,b=w.def.type;for(let $ of Object.keys(f)){if(_.has($))continue;if(b==="never"){g.push($);continue}let z=w.run({value:f[$],issues:[]},p);z instanceof Promise?h.push(z.then(R=>On(R,d,$))):On(z,d,$)}return g.length&&d.issues.push({code:"unrecognized_keys",keys:g,input:f,inst:e}),h.length?Promise.all(h).then(()=>d):d}});function ml(e,t,r,n){for(let o of e)if(o.issues.length===0)return t.value=o.value,t;return t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map(o=>o.issues.map(i=>je(i,n,Re())))}),t}var ji=y("$ZodUnion",(e,t)=>{G.init(e,t),H(e._zod,"optin",()=>t.options.some(r=>r._zod.optin==="optional")?"optional":void 0),H(e._zod,"optout",()=>t.options.some(r=>r._zod.optout==="optional")?"optional":void 0),H(e._zod,"values",()=>{if(t.options.every(r=>r._zod.values))return new Set(t.options.flatMap(r=>Array.from(r._zod.values)))}),H(e._zod,"pattern",()=>{if(t.options.every(r=>r._zod.pattern)){let r=t.options.map(n=>n._zod.pattern);return new RegExp(`^(${r.map(n=>Sr(n.source)).join("|")})$`)}}),e._zod.parse=(r,n)=>{let o=!1,i=[];for(let s of t.options){let a=s._zod.run({value:r.value,issues:[]},n);if(a instanceof Promise)i.push(a),o=!0;else{if(a.issues.length===0)return a;i.push(a)}}return o?Promise.all(i).then(s=>ml(s,r,e,n)):ml(i,r,e,n)}}),Yl=y("$ZodDiscriminatedUnion",(e,t)=>{ji.init(e,t);let r=e._zod.parse;H(e._zod,"propValues",()=>{let o={};for(let i of t.options){let s=i._zod.propValues;if(!s||Object.keys(s).length===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(i)}"`);for(let[a,c]of Object.entries(s)){o[a]||(o[a]=new Set);for(let l of c)o[a].add(l)}}return o});let n=xr(()=>{let o=t.options,i=new Map;for(let s of o){let a=s._zod.propValues[t.discriminator];if(!a||a.size===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(s)}"`);for(let c of a){if(i.has(c))throw new Error(`Duplicate discriminator value "${String(c)}"`);i.set(c,s)}}return i});e._zod.parse=(o,i)=>{let s=o.value;if(!Ut(s))return o.issues.push({code:"invalid_type",expected:"object",input:s,inst:e}),o;let a=n.value.get(s?.[t.discriminator]);return a?a._zod.run(o,i):t.unionFallback?r(o,i):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:s,path:[t.discriminator],inst:e}),o)}}),Xl=y("$ZodIntersection",(e,t)=>{G.init(e,t),e._zod.parse=(r,n)=>{let o=r.value,i=t.left._zod.run({value:o,issues:[]},n),s=t.right._zod.run({value:o,issues:[]},n);return i instanceof Promise||s instanceof Promise?Promise.all([i,s]).then(([c,l])=>hl(r,c,l)):hl(r,i,s)}});function Oi(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Ft(e)&&Ft(t)){let r=Object.keys(t),n=Object.keys(e).filter(i=>r.indexOf(i)!==-1),o={...e,...t};for(let i of n){let s=Oi(e[i],t[i]);if(!s.valid)return{valid:!1,mergeErrorPath:[i,...s.mergeErrorPath]};o[i]=s.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n<e.length;n++){let o=e[n],i=t[n],s=Oi(o,i);if(!s.valid)return{valid:!1,mergeErrorPath:[n,...s.mergeErrorPath]};r.push(s.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function hl(e,t,r){if(t.issues.length&&e.issues.push(...t.issues),r.issues.length&&e.issues.push(...r.issues),kt(e))return e;let n=Oi(t.value,r.value);if(!n.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(n.mergeErrorPath)}`);return e.value=n.data,e}var ed=y("$ZodRecord",(e,t)=>{G.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;if(!Ft(o))return r.issues.push({expected:"record",code:"invalid_type",input:o,inst:e}),r;let i=[];if(t.keyType._zod.values){let s=t.keyType._zod.values;r.value={};for(let c of s)if(typeof c=="string"||typeof c=="number"||typeof c=="symbol"){let l=t.valueType._zod.run({value:o[c],issues:[]},n);l instanceof Promise?i.push(l.then(u=>{u.issues.length&&r.issues.push(...Ge(c,u.issues)),r.value[c]=u.value})):(l.issues.length&&r.issues.push(...Ge(c,l.issues)),r.value[c]=l.value)}let a;for(let c in o)s.has(c)||(a=a??[],a.push(c));a&&a.length>0&&r.issues.push({code:"unrecognized_keys",input:o,inst:e,keys:a})}else{r.value={};for(let s of Reflect.ownKeys(o)){if(s==="__proto__")continue;let a=t.keyType._zod.run({value:s,issues:[]},n);if(a instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(a.issues.length){r.issues.push({origin:"record",code:"invalid_key",issues:a.issues.map(l=>je(l,n,Re())),input:s,path:[s],inst:e}),r.value[a.value]=a.value;continue}let c=t.valueType._zod.run({value:o[s],issues:[]},n);c instanceof Promise?i.push(c.then(l=>{l.issues.length&&r.issues.push(...Ge(s,l.issues)),r.value[a.value]=l.value})):(c.issues.length&&r.issues.push(...Ge(s,c.issues)),r.value[a.value]=c.value)}}return i.length?Promise.all(i).then(()=>r):r}});var td=y("$ZodEnum",(e,t)=>{G.init(e,t);let r=_i(t.entries);e._zod.values=new Set(r),e._zod.pattern=new RegExp(`^(${r.filter(n=>xi.has(typeof n)).map(n=>typeof n=="string"?ut(n):n.toString()).join("|")})$`),e._zod.parse=(n,o)=>{let i=n.value;return e._zod.values.has(i)||n.issues.push({code:"invalid_value",values:r,input:i,inst:e}),n}}),rd=y("$ZodLiteral",(e,t)=>{G.init(e,t),e._zod.values=new Set(t.values),e._zod.pattern=new RegExp(`^(${t.values.map(r=>typeof r=="string"?ut(r):r?r.toString():String(r)).join("|")})$`),e._zod.parse=(r,n)=>{let o=r.value;return e._zod.values.has(o)||r.issues.push({code:"invalid_value",values:t.values,input:o,inst:e}),r}});var nd=y("$ZodTransform",(e,t)=>{G.init(e,t),e._zod.parse=(r,n)=>{let o=t.transform(r.value,r);if(n.async)return(o instanceof Promise?o:Promise.resolve(o)).then(s=>(r.value=s,r));if(o instanceof Promise)throw new et;return r.value=o,r}}),od=y("$ZodOptional",(e,t)=>{G.init(e,t),e._zod.optin="optional",e._zod.optout="optional",H(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),H(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${Sr(r.source)})?$`):void 0}),e._zod.parse=(r,n)=>t.innerType._zod.optin==="optional"?t.innerType._zod.run(r,n):r.value===void 0?r:t.innerType._zod.run(r,n)}),id=y("$ZodNullable",(e,t)=>{G.init(e,t),H(e._zod,"optin",()=>t.innerType._zod.optin),H(e._zod,"optout",()=>t.innerType._zod.optout),H(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${Sr(r.source)}|null)$`):void 0}),H(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(r,n)=>r.value===null?r:t.innerType._zod.run(r,n)}),sd=y("$ZodDefault",(e,t)=>{G.init(e,t),e._zod.optin="optional",H(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{if(r.value===void 0)return r.value=t.defaultValue,r;let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>gl(i,t)):gl(o,t)}});function gl(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var ad=y("$ZodPrefault",(e,t)=>{G.init(e,t),e._zod.optin="optional",H(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>(r.value===void 0&&(r.value=t.defaultValue),t.innerType._zod.run(r,n))}),cd=y("$ZodNonOptional",(e,t)=>{G.init(e,t),H(e._zod,"values",()=>{let r=t.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>yl(i,e)):yl(o,e)}});function yl(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}var ud=y("$ZodCatch",(e,t)=>{G.init(e,t),e._zod.optin="optional",H(e._zod,"optout",()=>t.innerType._zod.optout),H(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>(r.value=i.value,i.issues.length&&(r.value=t.catchValue({...r,error:{issues:i.issues.map(s=>je(s,n,Re()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=t.catchValue({...r,error:{issues:o.issues.map(i=>je(i,n,Re()))},input:r.value}),r.issues=[]),r)}});var ld=y("$ZodPipe",(e,t)=>{G.init(e,t),H(e._zod,"values",()=>t.in._zod.values),H(e._zod,"optin",()=>t.in._zod.optin),H(e._zod,"optout",()=>t.out._zod.optout),e._zod.parse=(r,n)=>{let o=t.in._zod.run(r,n);return o instanceof Promise?o.then(i=>_l(i,t,n)):_l(o,t,n)}});function _l(e,t,r){return kt(e)?e:t.out._zod.run({value:e.value,issues:e.issues},r)}var dd=y("$ZodReadonly",(e,t)=>{G.init(e,t),H(e._zod,"propValues",()=>t.innerType._zod.propValues),H(e._zod,"values",()=>t.innerType._zod.values),H(e._zod,"optin",()=>t.innerType._zod.optin),H(e._zod,"optout",()=>t.innerType._zod.optout),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(vl):vl(o)}});function vl(e){return e.value=Object.freeze(e.value),e}var pd=y("$ZodCustom",(e,t)=>{fe.init(e,t),G.init(e,t),e._zod.parse=(r,n)=>r,e._zod.check=r=>{let n=r.value,o=t.fn(n);if(o instanceof Promise)return o.then(i=>wl(i,r,n,e));wl(o,r,n,e)}});function wl(e,t,r,n){if(!e){let o={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(o.params=n._zod.def.params),t.issues.push(Ei(o))}}var l_=e=>{let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"NaN":"number";case"object":{if(Array.isArray(e))return"array";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return t},d_=()=>{let e={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"}};function t(n){return e[n]??null}let r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return n=>{switch(n.code){case"invalid_type":return`Invalid input: expected ${n.expected}, received ${l_(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${In(n.values[0])}`:`Invalid option: expected one of ${Tn(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",i=t(n.origin);return i?`Too big: expected ${n.origin??"value"} to have ${o}${n.maximum.toString()} ${i.unit??"elements"}`:`Too big: expected ${n.origin??"value"} to be ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",i=t(n.origin);return i?`Too small: expected ${n.origin} to have ${o}${n.minimum.toString()} ${i.unit}`:`Too small: expected ${n.origin} to be ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Invalid string: must start with "${o.prefix}"`:o.format==="ends_with"?`Invalid string: must end with "${o.suffix}"`:o.format==="includes"?`Invalid string: must include "${o.includes}"`:o.format==="regex"?`Invalid string: must match pattern ${o.pattern}`:`Invalid ${r[o.format]??n.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${n.divisor}`;case"unrecognized_keys":return`Unrecognized key${n.keys.length>1?"s":""}: ${Tn(n.keys,", ")}`;case"invalid_key":return`Invalid key in ${n.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${n.origin}`;default:return"Invalid input"}}};function fd(){return{localeError:d_()}}var yR=Symbol("ZodOutput"),_R=Symbol("ZodInput"),Mi=class{constructor(){this._map=new Map,this._idmap=new Map}add(t,...r){let n=r[0];if(this._map.set(t,n),n&&typeof n=="object"&&"id"in n){if(this._idmap.has(n.id))throw new Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,t)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(t){let r=this._map.get(t);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(t),this}get(t){let r=t._zod.parent;if(r){let n={...this.get(r)??{}};return delete n.id,{...n,...this._map.get(t)}}return this._map.get(t)}has(t){return this._map.has(t)}};function p_(){return new Mi}var Tr=p_();function md(e,t){return new e({type:"string",...P(t)})}function hd(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...P(t)})}function qi(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...P(t)})}function gd(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...P(t)})}function yd(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...P(t)})}function _d(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...P(t)})}function vd(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...P(t)})}function wd(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...P(t)})}function bd(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...P(t)})}function $d(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...P(t)})}function xd(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...P(t)})}function kd(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...P(t)})}function Sd(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...P(t)})}function Ed(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...P(t)})}function zd(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...P(t)})}function Pd(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...P(t)})}function Td(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...P(t)})}function Rd(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...P(t)})}function Id(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...P(t)})}function Ad(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...P(t)})}function Cd(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...P(t)})}function Nd(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...P(t)})}function Od(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...P(t)})}function Dd(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...P(t)})}function jd(e,t){return new e({type:"string",format:"date",check:"string_format",...P(t)})}function Md(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...P(t)})}function qd(e,t){return new e({type:"string",format:"duration",check:"string_format",...P(t)})}function Bd(e,t){return new e({type:"number",checks:[],...P(t)})}function Ld(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...P(t)})}function Zd(e,t){return new e({type:"boolean",...P(t)})}function Ud(e,t){return new e({type:"null",...P(t)})}function Fd(e){return new e({type:"unknown"})}function Vd(e,t){return new e({type:"never",...P(t)})}function jn(e,t){return new Ci({check:"less_than",...P(t),value:e,inclusive:!1})}function Rr(e,t){return new Ci({check:"less_than",...P(t),value:e,inclusive:!0})}function Mn(e,t){return new Ni({check:"greater_than",...P(t),value:e,inclusive:!1})}function Ir(e,t){return new Ni({check:"greater_than",...P(t),value:e,inclusive:!0})}function qn(e,t){return new Yu({check:"multiple_of",...P(t),value:e})}function Bn(e,t){return new el({check:"max_length",...P(t),maximum:e})}function Vt(e,t){return new tl({check:"min_length",...P(t),minimum:e})}function Ln(e,t){return new rl({check:"length_equals",...P(t),length:e})}function Bi(e,t){return new nl({check:"string_format",format:"regex",...P(t),pattern:e})}function Li(e){return new ol({check:"string_format",format:"lowercase",...P(e)})}function Zi(e){return new il({check:"string_format",format:"uppercase",...P(e)})}function Ui(e,t){return new sl({check:"string_format",format:"includes",...P(t),includes:e})}function Fi(e,t){return new al({check:"string_format",format:"starts_with",...P(t),prefix:e})}function Vi(e,t){return new cl({check:"string_format",format:"ends_with",...P(t),suffix:e})}function St(e){return new ul({check:"overwrite",tx:e})}function Ki(e){return St(t=>t.normalize(e))}function Hi(){return St(e=>e.trim())}function Gi(){return St(e=>e.toLowerCase())}function Wi(){return St(e=>e.toUpperCase())}function Kd(e,t,r){return new e({type:"array",element:t,...P(r)})}function Hd(e,t,r){let n=P(r);return n.abort??(n.abort=!0),new e({type:"custom",check:"custom",fn:t,...n})}function Gd(e,t,r){return new e({type:"custom",check:"custom",fn:t,...P(r)})}function Kt(e){return!!e._zod}function Me(e,t){return Kt(e)?zr(e,t):e.safeParse(t)}function Zn(e){if(!e)return;let t;if(Kt(e)?t=e._zod?.def?.shape:t=e.shape,!!t){if(typeof t=="function")try{return t()}catch{return}return t}}function Wd(e){if(Kt(e)){let i=e._zod?.def;if(i){if(i.value!==void 0)return i.value;if(Array.isArray(i.values)&&i.values.length>0)return i.values[0]}}let r=e._def;if(r){if(r.value!==void 0)return r.value;if(Array.isArray(r.values)&&r.values.length>0)return r.values[0]}let n=e.value;if(n!==void 0)return n}var Cr={};fu(Cr,{ZodISODate:()=>Qd,ZodISODateTime:()=>Jd,ZodISODuration:()=>Xd,ZodISOTime:()=>Yd,date:()=>Qi,datetime:()=>Ji,duration:()=>Xi,time:()=>Yi});var Jd=y("ZodISODateTime",(e,t)=>{Al.init(e,t),ee.init(e,t)});function Ji(e){return Dd(Jd,e)}var Qd=y("ZodISODate",(e,t)=>{Cl.init(e,t),ee.init(e,t)});function Qi(e){return jd(Qd,e)}var Yd=y("ZodISOTime",(e,t)=>{Nl.init(e,t),ee.init(e,t)});function Yi(e){return Md(Yd,e)}var Xd=y("ZodISODuration",(e,t)=>{Ol.init(e,t),ee.init(e,t)});function Xi(e){return qd(Xd,e)}var ep=(e,t)=>{An.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>vu(e,r)},flatten:{value:r=>_u(e,r)},addIssue:{value:r=>e.issues.push(r)},addIssues:{value:r=>e.issues.push(...r)},isEmpty:{get(){return e.issues.length===0}}})},YR=y("ZodError",ep),Nr=y("ZodError",ep,{Parent:Error});var tp=wu(Nr),rp=bu(Nr),np=Pi(Nr),op=Ti(Nr);var ne=y("ZodType",(e,t)=>(G.init(e,t),e.def=t,Object.defineProperty(e,"_def",{value:t}),e.check=(...r)=>e.clone({...t,checks:[...t.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),e.clone=(r,n)=>He(e,r,n),e.brand=()=>e,e.register=(r,n)=>(r.add(e,n),e),e.parse=(r,n)=>tp(e,r,n,{callee:e.parse}),e.safeParse=(r,n)=>np(e,r,n),e.parseAsync=async(r,n)=>rp(e,r,n,{callee:e.parseAsync}),e.safeParseAsync=async(r,n)=>op(e,r,n),e.spa=e.safeParseAsync,e.refine=(r,n)=>e.check(uv(r,n)),e.superRefine=r=>e.check(lv(r)),e.overwrite=r=>e.check(St(r)),e.optional=()=>re(e),e.nullable=()=>ap(e),e.nullish=()=>re(ap(e)),e.nonoptional=r=>rv(e,r),e.array=()=>M(e),e.or=r=>Q([e,r]),e.and=r=>Fn(e,r),e.transform=r=>ts(e,fp(r)),e.default=r=>X_(e,r),e.prefault=r=>tv(e,r),e.catch=r=>ov(e,r),e.pipe=r=>ts(e,r),e.readonly=()=>av(e),e.describe=r=>{let n=e.clone();return Tr.add(n,{description:r}),n},Object.defineProperty(e,"description",{get(){return Tr.get(e)?.description},configurable:!0}),e.meta=(...r)=>{if(r.length===0)return Tr.get(e);let n=e.clone();return Tr.add(n,r[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),cp=y("_ZodString",(e,t)=>{Dn.init(e,t),ne.init(e,t);let r=e._zod.bag;e.format=r.format??null,e.minLength=r.minimum??null,e.maxLength=r.maximum??null,e.regex=(...n)=>e.check(Bi(...n)),e.includes=(...n)=>e.check(Ui(...n)),e.startsWith=(...n)=>e.check(Fi(...n)),e.endsWith=(...n)=>e.check(Vi(...n)),e.min=(...n)=>e.check(Vt(...n)),e.max=(...n)=>e.check(Bn(...n)),e.length=(...n)=>e.check(Ln(...n)),e.nonempty=(...n)=>e.check(Vt(1,...n)),e.lowercase=n=>e.check(Li(n)),e.uppercase=n=>e.check(Zi(n)),e.trim=()=>e.check(Hi()),e.normalize=(...n)=>e.check(Ki(...n)),e.toLowerCase=()=>e.check(Gi()),e.toUpperCase=()=>e.check(Wi())}),b_=y("ZodString",(e,t)=>{Dn.init(e,t),cp.init(e,t),e.email=r=>e.check(hd($_,r)),e.url=r=>e.check(wd(x_,r)),e.jwt=r=>e.check(Od(M_,r)),e.emoji=r=>e.check(bd(k_,r)),e.guid=r=>e.check(qi(ip,r)),e.uuid=r=>e.check(gd(Un,r)),e.uuidv4=r=>e.check(yd(Un,r)),e.uuidv6=r=>e.check(_d(Un,r)),e.uuidv7=r=>e.check(vd(Un,r)),e.nanoid=r=>e.check($d(S_,r)),e.guid=r=>e.check(qi(ip,r)),e.cuid=r=>e.check(xd(E_,r)),e.cuid2=r=>e.check(kd(z_,r)),e.ulid=r=>e.check(Sd(P_,r)),e.base64=r=>e.check(Ad(O_,r)),e.base64url=r=>e.check(Cd(D_,r)),e.xid=r=>e.check(Ed(T_,r)),e.ksuid=r=>e.check(zd(R_,r)),e.ipv4=r=>e.check(Pd(I_,r)),e.ipv6=r=>e.check(Td(A_,r)),e.cidrv4=r=>e.check(Rd(C_,r)),e.cidrv6=r=>e.check(Id(N_,r)),e.e164=r=>e.check(Nd(j_,r)),e.datetime=r=>e.check(Ji(r)),e.date=r=>e.check(Qi(r)),e.time=r=>e.check(Yi(r)),e.duration=r=>e.check(Xi(r))});function m(e){return md(b_,e)}var ee=y("ZodStringFormat",(e,t)=>{J.init(e,t),cp.init(e,t)}),$_=y("ZodEmail",(e,t)=>{xl.init(e,t),ee.init(e,t)});var ip=y("ZodGUID",(e,t)=>{bl.init(e,t),ee.init(e,t)});var Un=y("ZodUUID",(e,t)=>{$l.init(e,t),ee.init(e,t)});var x_=y("ZodURL",(e,t)=>{kl.init(e,t),ee.init(e,t)});var k_=y("ZodEmoji",(e,t)=>{Sl.init(e,t),ee.init(e,t)});var S_=y("ZodNanoID",(e,t)=>{El.init(e,t),ee.init(e,t)});var E_=y("ZodCUID",(e,t)=>{zl.init(e,t),ee.init(e,t)});var z_=y("ZodCUID2",(e,t)=>{Pl.init(e,t),ee.init(e,t)});var P_=y("ZodULID",(e,t)=>{Tl.init(e,t),ee.init(e,t)});var T_=y("ZodXID",(e,t)=>{Rl.init(e,t),ee.init(e,t)});var R_=y("ZodKSUID",(e,t)=>{Il.init(e,t),ee.init(e,t)});var I_=y("ZodIPv4",(e,t)=>{Dl.init(e,t),ee.init(e,t)});var A_=y("ZodIPv6",(e,t)=>{jl.init(e,t),ee.init(e,t)});var C_=y("ZodCIDRv4",(e,t)=>{Ml.init(e,t),ee.init(e,t)});var N_=y("ZodCIDRv6",(e,t)=>{ql.init(e,t),ee.init(e,t)});var O_=y("ZodBase64",(e,t)=>{Ll.init(e,t),ee.init(e,t)});var D_=y("ZodBase64URL",(e,t)=>{Zl.init(e,t),ee.init(e,t)});var j_=y("ZodE164",(e,t)=>{Ul.init(e,t),ee.init(e,t)});var M_=y("ZodJWT",(e,t)=>{Fl.init(e,t),ee.init(e,t)});var up=y("ZodNumber",(e,t)=>{Di.init(e,t),ne.init(e,t),e.gt=(n,o)=>e.check(Mn(n,o)),e.gte=(n,o)=>e.check(Ir(n,o)),e.min=(n,o)=>e.check(Ir(n,o)),e.lt=(n,o)=>e.check(jn(n,o)),e.lte=(n,o)=>e.check(Rr(n,o)),e.max=(n,o)=>e.check(Rr(n,o)),e.int=n=>e.check(sp(n)),e.safe=n=>e.check(sp(n)),e.positive=n=>e.check(Mn(0,n)),e.nonnegative=n=>e.check(Ir(0,n)),e.negative=n=>e.check(jn(0,n)),e.nonpositive=n=>e.check(Rr(0,n)),e.multipleOf=(n,o)=>e.check(qn(n,o)),e.step=(n,o)=>e.check(qn(n,o)),e.finite=()=>e;let r=e._zod.bag;e.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),e.isFinite=!0,e.format=r.format??null});function F(e){return Bd(up,e)}var q_=y("ZodNumberFormat",(e,t)=>{Vl.init(e,t),up.init(e,t)});function sp(e){return Ld(q_,e)}var B_=y("ZodBoolean",(e,t)=>{Kl.init(e,t),ne.init(e,t)});function ae(e){return Zd(B_,e)}var L_=y("ZodNull",(e,t)=>{Hl.init(e,t),ne.init(e,t)});function lp(e){return Ud(L_,e)}var Z_=y("ZodUnknown",(e,t)=>{Gl.init(e,t),ne.init(e,t)});function te(){return Fd(Z_)}var U_=y("ZodNever",(e,t)=>{Wl.init(e,t),ne.init(e,t)});function F_(e){return Vd(U_,e)}var V_=y("ZodArray",(e,t)=>{Jl.init(e,t),ne.init(e,t),e.element=t.element,e.min=(r,n)=>e.check(Vt(r,n)),e.nonempty=r=>e.check(Vt(1,r)),e.max=(r,n)=>e.check(Bn(r,n)),e.length=(r,n)=>e.check(Ln(r,n)),e.unwrap=()=>e.element});function M(e,t){return Kd(V_,e,t)}var dp=y("ZodObject",(e,t)=>{Ql.init(e,t),ne.init(e,t),U.defineLazy(e,"shape",()=>t.shape),e.keyof=()=>xe(Object.keys(e._zod.def.shape)),e.catchall=r=>e.clone({...e._zod.def,catchall:r}),e.passthrough=()=>e.clone({...e._zod.def,catchall:te()}),e.loose=()=>e.clone({...e._zod.def,catchall:te()}),e.strict=()=>e.clone({...e._zod.def,catchall:F_()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=r=>U.extend(e,r),e.merge=r=>U.merge(e,r),e.pick=r=>U.pick(e,r),e.omit=r=>U.omit(e,r),e.partial=(...r)=>U.partial(mp,e,r[0]),e.required=(...r)=>U.required(hp,e,r[0])});function x(e,t){let r={type:"object",get shape(){return U.assignProp(this,"shape",{...e}),this.shape},...U.normalizeParams(t)};return new dp(r)}function ve(e,t){return new dp({type:"object",get shape(){return U.assignProp(this,"shape",{...e}),this.shape},catchall:te(),...U.normalizeParams(t)})}var pp=y("ZodUnion",(e,t)=>{ji.init(e,t),ne.init(e,t),e.options=t.options});function Q(e,t){return new pp({type:"union",options:e,...U.normalizeParams(t)})}var K_=y("ZodDiscriminatedUnion",(e,t)=>{pp.init(e,t),Yl.init(e,t)});function rs(e,t,r){return new K_({type:"union",options:t,discriminator:e,...U.normalizeParams(r)})}var H_=y("ZodIntersection",(e,t)=>{Xl.init(e,t),ne.init(e,t)});function Fn(e,t){return new H_({type:"intersection",left:e,right:t})}var G_=y("ZodRecord",(e,t)=>{ed.init(e,t),ne.init(e,t),e.keyType=t.keyType,e.valueType=t.valueType});function W(e,t,r){return new G_({type:"record",keyType:e,valueType:t,...U.normalizeParams(r)})}var es=y("ZodEnum",(e,t)=>{td.init(e,t),ne.init(e,t),e.enum=t.entries,e.options=Object.values(t.entries);let r=new Set(Object.keys(t.entries));e.extract=(n,o)=>{let i={};for(let s of n)if(r.has(s))i[s]=t.entries[s];else throw new Error(`Key ${s} not found in enum`);return new es({...t,checks:[],...U.normalizeParams(o),entries:i})},e.exclude=(n,o)=>{let i={...t.entries};for(let s of n)if(r.has(s))delete i[s];else throw new Error(`Key ${s} not found in enum`);return new es({...t,checks:[],...U.normalizeParams(o),entries:i})}});function xe(e,t){let r=Array.isArray(e)?Object.fromEntries(e.map(n=>[n,n])):e;return new es({type:"enum",entries:r,...U.normalizeParams(t)})}var W_=y("ZodLiteral",(e,t)=>{rd.init(e,t),ne.init(e,t),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function k(e,t){return new W_({type:"literal",values:Array.isArray(e)?e:[e],...U.normalizeParams(t)})}var J_=y("ZodTransform",(e,t)=>{nd.init(e,t),ne.init(e,t),e._zod.parse=(r,n)=>{r.addIssue=i=>{if(typeof i=="string")r.issues.push(U.issue(i,r.value,t));else{let s=i;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),s.input??(s.input=r.value),s.inst??(s.inst=e),s.continue??(s.continue=!0),r.issues.push(U.issue(s))}};let o=t.transform(r.value,r);return o instanceof Promise?o.then(i=>(r.value=i,r)):(r.value=o,r)}});function fp(e){return new J_({type:"transform",transform:e})}var mp=y("ZodOptional",(e,t)=>{od.init(e,t),ne.init(e,t),e.unwrap=()=>e._zod.def.innerType});function re(e){return new mp({type:"optional",innerType:e})}var Q_=y("ZodNullable",(e,t)=>{id.init(e,t),ne.init(e,t),e.unwrap=()=>e._zod.def.innerType});function ap(e){return new Q_({type:"nullable",innerType:e})}var Y_=y("ZodDefault",(e,t)=>{sd.init(e,t),ne.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function X_(e,t){return new Y_({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var ev=y("ZodPrefault",(e,t)=>{ad.init(e,t),ne.init(e,t),e.unwrap=()=>e._zod.def.innerType});function tv(e,t){return new ev({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var hp=y("ZodNonOptional",(e,t)=>{cd.init(e,t),ne.init(e,t),e.unwrap=()=>e._zod.def.innerType});function rv(e,t){return new hp({type:"nonoptional",innerType:e,...U.normalizeParams(t)})}var nv=y("ZodCatch",(e,t)=>{ud.init(e,t),ne.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function ov(e,t){return new nv({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}var iv=y("ZodPipe",(e,t)=>{ld.init(e,t),ne.init(e,t),e.in=t.in,e.out=t.out});function ts(e,t){return new iv({type:"pipe",in:e,out:t})}var sv=y("ZodReadonly",(e,t)=>{dd.init(e,t),ne.init(e,t)});function av(e){return new sv({type:"readonly",innerType:e})}var gp=y("ZodCustom",(e,t)=>{pd.init(e,t),ne.init(e,t)});function cv(e){let t=new fe({check:"custom"});return t._zod.check=e,t}function yp(e,t){return Hd(gp,e??(()=>!0),t)}function uv(e,t={}){return Gd(gp,e,t)}function lv(e){let t=cv(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(U.issue(n,r.value,t._zod.def));else{let o=n;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=r.value),o.inst??(o.inst=t),o.continue??(o.continue=!t._zod.def.abort),r.issues.push(U.issue(o))}},e(r.value,r)));return t}function ns(e,t){return ts(fp(e),t)}Re(fd());var is="2025-11-25";var _p=[is,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],lt="io.modelcontextprotocol/related-task",Kn="2.0",se=yp(e=>e!==null&&(typeof e=="object"||typeof e=="function")),vp=Q([m(),F().int()]),wp=m(),VI=ve({ttl:F().optional(),pollInterval:F().optional()}),dv=x({ttl:F().optional()}),pv=x({taskId:m()}),ss=ve({progressToken:vp.optional(),[lt]:pv.optional()}),Pe=x({_meta:ss.optional()}),Or=Pe.extend({task:dv.optional()}),bp=e=>Or.safeParse(e).success,ce=x({method:m(),params:Pe.loose().optional()}),Ie=x({_meta:ss.optional()}),Ae=x({method:m(),params:Ie.loose().optional()}),ue=ve({_meta:ss.optional()}),Hn=Q([m(),F().int()]),$p=x({jsonrpc:k(Kn),id:Hn,...ce.shape}).strict(),as=e=>$p.safeParse(e).success,xp=x({jsonrpc:k(Kn),...Ae.shape}).strict(),kp=e=>xp.safeParse(e).success,cs=x({jsonrpc:k(Kn),id:Hn,result:ue}).strict(),Dr=e=>cs.safeParse(e).success;var I;(function(e){e[e.ConnectionClosed=-32e3]="ConnectionClosed",e[e.RequestTimeout=-32001]="RequestTimeout",e[e.ParseError=-32700]="ParseError",e[e.InvalidRequest=-32600]="InvalidRequest",e[e.MethodNotFound=-32601]="MethodNotFound",e[e.InvalidParams=-32602]="InvalidParams",e[e.InternalError=-32603]="InternalError",e[e.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(I||(I={}));var us=x({jsonrpc:k(Kn),id:Hn.optional(),error:x({code:F().int(),message:m(),data:te().optional()})}).strict();var Sp=e=>us.safeParse(e).success;var Ep=Q([$p,xp,cs,us]),KI=Q([cs,us]),Et=ue.strict(),fv=Ie.extend({requestId:Hn.optional(),reason:m().optional()}),Gn=Ae.extend({method:k("notifications/cancelled"),params:fv}),mv=x({src:m(),mimeType:m().optional(),sizes:M(m()).optional(),theme:xe(["light","dark"]).optional()}),jr=x({icons:M(mv).optional()}),Ht=x({name:m(),title:m().optional()}),zp=Ht.extend({...Ht.shape,...jr.shape,version:m(),websiteUrl:m().optional(),description:m().optional()}),hv=Fn(x({applyDefaults:ae().optional()}),W(m(),te())),gv=ns(e=>e&&typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length===0?{form:{}}:e,Fn(x({form:hv.optional(),url:se.optional()}),W(m(),te()).optional())),yv=ve({list:se.optional(),cancel:se.optional(),requests:ve({sampling:ve({createMessage:se.optional()}).optional(),elicitation:ve({create:se.optional()}).optional()}).optional()}),_v=ve({list:se.optional(),cancel:se.optional(),requests:ve({tools:ve({call:se.optional()}).optional()}).optional()}),vv=x({experimental:W(m(),se).optional(),sampling:x({context:se.optional(),tools:se.optional()}).optional(),elicitation:gv.optional(),roots:x({listChanged:ae().optional()}).optional(),tasks:yv.optional(),extensions:W(m(),se).optional()}),wv=Pe.extend({protocolVersion:m(),capabilities:vv,clientInfo:zp}),bv=ce.extend({method:k("initialize"),params:wv});var $v=x({experimental:W(m(),se).optional(),logging:se.optional(),completions:se.optional(),prompts:x({listChanged:ae().optional()}).optional(),resources:x({subscribe:ae().optional(),listChanged:ae().optional()}).optional(),tools:x({listChanged:ae().optional()}).optional(),tasks:_v.optional(),extensions:W(m(),se).optional()}),ls=ue.extend({protocolVersion:m(),capabilities:$v,serverInfo:zp,instructions:m().optional()}),xv=Ae.extend({method:k("notifications/initialized"),params:Ie.optional()});var Wn=ce.extend({method:k("ping"),params:Pe.optional()}),kv=x({progress:F(),total:re(F()),message:re(m())}),Sv=x({...Ie.shape,...kv.shape,progressToken:vp}),Jn=Ae.extend({method:k("notifications/progress"),params:Sv}),Ev=Pe.extend({cursor:wp.optional()}),Mr=ce.extend({params:Ev.optional()}),qr=ue.extend({nextCursor:wp.optional()}),zv=xe(["working","input_required","completed","failed","cancelled"]),Br=x({taskId:m(),status:zv,ttl:Q([F(),lp()]),createdAt:m(),lastUpdatedAt:m(),pollInterval:re(F()),statusMessage:re(m())}),zt=ue.extend({task:Br}),Pv=Ie.merge(Br),Lr=Ae.extend({method:k("notifications/tasks/status"),params:Pv}),Qn=ce.extend({method:k("tasks/get"),params:Pe.extend({taskId:m()})}),Yn=ue.merge(Br),Xn=ce.extend({method:k("tasks/result"),params:Pe.extend({taskId:m()})}),HI=ue.loose(),eo=Mr.extend({method:k("tasks/list")}),to=qr.extend({tasks:M(Br)}),ro=ce.extend({method:k("tasks/cancel"),params:Pe.extend({taskId:m()})}),Pp=ue.merge(Br),Tp=x({uri:m(),mimeType:re(m()),_meta:W(m(),te()).optional()}),Rp=Tp.extend({text:m()}),ds=m().refine(e=>{try{return atob(e),!0}catch{return!1}},{message:"Invalid Base64 string"}),Ip=Tp.extend({blob:ds}),Zr=xe(["user","assistant"]),Gt=x({audience:M(Zr).optional(),priority:F().min(0).max(1).optional(),lastModified:Cr.datetime({offset:!0}).optional()}),Ap=x({...Ht.shape,...jr.shape,uri:m(),description:re(m()),mimeType:re(m()),size:re(F()),annotations:Gt.optional(),_meta:re(ve({}))}),Tv=x({...Ht.shape,...jr.shape,uriTemplate:m(),description:re(m()),mimeType:re(m()),annotations:Gt.optional(),_meta:re(ve({}))}),Rv=Mr.extend({method:k("resources/list")}),ps=qr.extend({resources:M(Ap)}),Iv=Mr.extend({method:k("resources/templates/list")}),fs=qr.extend({resourceTemplates:M(Tv)}),ms=Pe.extend({uri:m()}),Av=ms,Cv=ce.extend({method:k("resources/read"),params:Av}),hs=ue.extend({contents:M(Q([Rp,Ip]))}),gs=Ae.extend({method:k("notifications/resources/list_changed"),params:Ie.optional()}),Nv=ms,Ov=ce.extend({method:k("resources/subscribe"),params:Nv}),Dv=ms,jv=ce.extend({method:k("resources/unsubscribe"),params:Dv}),Mv=Ie.extend({uri:m()}),qv=Ae.extend({method:k("notifications/resources/updated"),params:Mv}),Bv=x({name:m(),description:re(m()),required:re(ae())}),Lv=x({...Ht.shape,...jr.shape,description:re(m()),arguments:re(M(Bv)),_meta:re(ve({}))}),Zv=Mr.extend({method:k("prompts/list")}),ys=qr.extend({prompts:M(Lv)}),Uv=Pe.extend({name:m(),arguments:W(m(),m()).optional()}),Fv=ce.extend({method:k("prompts/get"),params:Uv}),_s=x({type:k("text"),text:m(),annotations:Gt.optional(),_meta:W(m(),te()).optional()}),vs=x({type:k("image"),data:ds,mimeType:m(),annotations:Gt.optional(),_meta:W(m(),te()).optional()}),ws=x({type:k("audio"),data:ds,mimeType:m(),annotations:Gt.optional(),_meta:W(m(),te()).optional()}),Vv=x({type:k("tool_use"),name:m(),id:m(),input:W(m(),te()),_meta:W(m(),te()).optional()}),Kv=x({type:k("resource"),resource:Q([Rp,Ip]),annotations:Gt.optional(),_meta:W(m(),te()).optional()}),Hv=Ap.extend({type:k("resource_link")}),bs=Q([_s,vs,ws,Hv,Kv]),Gv=x({role:Zr,content:bs}),$s=ue.extend({description:m().optional(),messages:M(Gv)}),xs=Ae.extend({method:k("notifications/prompts/list_changed"),params:Ie.optional()}),Wv=x({title:m().optional(),readOnlyHint:ae().optional(),destructiveHint:ae().optional(),idempotentHint:ae().optional(),openWorldHint:ae().optional()}),Jv=x({taskSupport:xe(["required","optional","forbidden"]).optional()}),Cp=x({...Ht.shape,...jr.shape,description:m().optional(),inputSchema:x({type:k("object"),properties:W(m(),se).optional(),required:M(m()).optional()}).catchall(te()),outputSchema:x({type:k("object"),properties:W(m(),se).optional(),required:M(m()).optional()}).catchall(te()).optional(),annotations:Wv.optional(),execution:Jv.optional(),_meta:W(m(),te()).optional()}),Qv=Mr.extend({method:k("tools/list")}),ks=qr.extend({tools:M(Cp)}),dt=ue.extend({content:M(bs).default([]),structuredContent:W(m(),te()).optional(),isError:ae().optional()}),GI=dt.or(ue.extend({toolResult:te()})),Yv=Or.extend({name:m(),arguments:W(m(),te()).optional()}),Xv=ce.extend({method:k("tools/call"),params:Yv}),Ss=Ae.extend({method:k("notifications/tools/list_changed"),params:Ie.optional()}),Np=x({autoRefresh:ae().default(!0),debounceMs:F().int().nonnegative().default(300)}),Op=xe(["debug","info","notice","warning","error","critical","alert","emergency"]),ew=Pe.extend({level:Op}),tw=ce.extend({method:k("logging/setLevel"),params:ew}),rw=Ie.extend({level:Op,logger:m().optional(),data:te()}),nw=Ae.extend({method:k("notifications/message"),params:rw}),ow=x({name:m().optional()}),iw=x({hints:M(ow).optional(),costPriority:F().min(0).max(1).optional(),speedPriority:F().min(0).max(1).optional(),intelligencePriority:F().min(0).max(1).optional()}),sw=x({mode:xe(["auto","required","none"]).optional()}),aw=x({type:k("tool_result"),toolUseId:m().describe("The unique identifier for the corresponding tool call."),content:M(bs).default([]),structuredContent:x({}).loose().optional(),isError:ae().optional(),_meta:W(m(),te()).optional()}),cw=rs("type",[_s,vs,ws]),Vn=rs("type",[_s,vs,ws,Vv,aw]),uw=x({role:Zr,content:Q([Vn,M(Vn)]),_meta:W(m(),te()).optional()}),lw=Or.extend({messages:M(uw),modelPreferences:iw.optional(),systemPrompt:m().optional(),includeContext:xe(["none","thisServer","allServers"]).optional(),temperature:F().optional(),maxTokens:F().int(),stopSequences:M(m()).optional(),metadata:se.optional(),tools:M(Cp).optional(),toolChoice:sw.optional()}),Es=ce.extend({method:k("sampling/createMessage"),params:lw}),zs=ue.extend({model:m(),stopReason:re(xe(["endTurn","stopSequence","maxTokens"]).or(m())),role:Zr,content:cw}),Ps=ue.extend({model:m(),stopReason:re(xe(["endTurn","stopSequence","maxTokens","toolUse"]).or(m())),role:Zr,content:Q([Vn,M(Vn)])}),dw=x({type:k("boolean"),title:m().optional(),description:m().optional(),default:ae().optional()}),pw=x({type:k("string"),title:m().optional(),description:m().optional(),minLength:F().optional(),maxLength:F().optional(),format:xe(["email","uri","date","date-time"]).optional(),default:m().optional()}),fw=x({type:xe(["number","integer"]),title:m().optional(),description:m().optional(),minimum:F().optional(),maximum:F().optional(),default:F().optional()}),mw=x({type:k("string"),title:m().optional(),description:m().optional(),enum:M(m()),default:m().optional()}),hw=x({type:k("string"),title:m().optional(),description:m().optional(),oneOf:M(x({const:m(),title:m()})),default:m().optional()}),gw=x({type:k("string"),title:m().optional(),description:m().optional(),enum:M(m()),enumNames:M(m()).optional(),default:m().optional()}),yw=Q([mw,hw]),_w=x({type:k("array"),title:m().optional(),description:m().optional(),minItems:F().optional(),maxItems:F().optional(),items:x({type:k("string"),enum:M(m())}),default:M(m()).optional()}),vw=x({type:k("array"),title:m().optional(),description:m().optional(),minItems:F().optional(),maxItems:F().optional(),items:x({anyOf:M(x({const:m(),title:m()}))}),default:M(m()).optional()}),ww=Q([_w,vw]),bw=Q([gw,yw,ww]),$w=Q([bw,dw,pw,fw]),xw=Or.extend({mode:k("form").optional(),message:m(),requestedSchema:x({type:k("object"),properties:W(m(),$w),required:M(m()).optional()})}),kw=Or.extend({mode:k("url"),message:m(),elicitationId:m(),url:m().url()}),Sw=Q([xw,kw]),Ts=ce.extend({method:k("elicitation/create"),params:Sw}),Ew=Ie.extend({elicitationId:m()}),zw=Ae.extend({method:k("notifications/elicitation/complete"),params:Ew}),Rs=ue.extend({action:xe(["accept","decline","cancel"]),content:ns(e=>e===null?void 0:e,W(m(),Q([m(),F(),ae(),M(m())])).optional())}),Pw=x({type:k("ref/resource"),uri:m()});var Tw=x({type:k("ref/prompt"),name:m()}),Rw=Pe.extend({ref:Q([Tw,Pw]),argument:x({name:m(),value:m()}),context:x({arguments:W(m(),m()).optional()}).optional()}),Iw=ce.extend({method:k("completion/complete"),params:Rw});var Is=ue.extend({completion:ve({values:M(m()).max(100),total:re(F().int()),hasMore:re(ae())})}),Aw=x({uri:m().startsWith("file://"),name:m().optional(),_meta:W(m(),te()).optional()}),Cw=ce.extend({method:k("roots/list"),params:Pe.optional()}),Nw=ue.extend({roots:M(Aw)}),Ow=Ae.extend({method:k("notifications/roots/list_changed"),params:Ie.optional()}),WI=Q([Wn,bv,Iw,tw,Fv,Zv,Rv,Iv,Cv,Ov,jv,Xv,Qv,Qn,Xn,eo,ro]),JI=Q([Gn,Jn,xv,Ow,Lr]),QI=Q([Et,zs,Ps,Rs,Nw,Yn,to,zt]),YI=Q([Wn,Es,Ts,Cw,Qn,Xn,eo,ro]),XI=Q([Gn,Jn,nw,qv,gs,Ss,xs,Lr,zw]),eA=Q([Et,ls,Is,$s,ys,ps,fs,hs,dt,ks,Yn,to,zt]),E=class e extends Error{constructor(t,r,n){super(`MCP error ${t}: ${r}`),this.code=t,this.data=n,this.name="McpError"}static fromError(t,r,n){if(t===I.UrlElicitationRequired&&n){let o=n;if(o.elicitations)return new os(o.elicitations,r)}return new e(t,r,n)}},os=class extends E{constructor(t,r=`URL elicitation${t.length>1?"s":""} required`){super(I.UrlElicitationRequired,r,{elicitations:t})}get elicitations(){return this.data?.elicitations??[]}};function pt(e){return e==="completed"||e==="failed"||e==="cancelled"}var Dw=Symbol("Let zodToJsonSchema decide on which parser to use");var CA=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function As(e){let r=Zn(e)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=Wd(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function Cs(e,t){let r=Me(e,t);if(!r.success)throw r.error;return r.data}var Zw=6e4,no=class{constructor(t){this._options=t,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(Gn,r=>{this._oncancel(r)}),this.setNotificationHandler(Jn,r=>{this._onprogress(r)}),this.setRequestHandler(Wn,r=>({})),this._taskStore=t?.taskStore,this._taskMessageQueue=t?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(Qn,async(r,n)=>{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new E(I.InvalidParams,"Failed to retrieve task: Task not found");return{...o}}),this.setRequestHandler(Xn,async(r,n)=>{let o=async()=>{let i=r.params.taskId;if(this._taskMessageQueue){let a;for(;a=await this._taskMessageQueue.dequeue(i,n.sessionId);){if(a.type==="response"||a.type==="error"){let c=a.message,l=c.id,u=this._requestResolvers.get(l);if(u)if(this._requestResolvers.delete(l),a.type==="response")u(c);else{let d=c,p=new E(d.error.code,d.error.message,d.error.data);u(p)}else{let d=a.type==="response"?"Response":"Error";this._onerror(new Error(`${d} handler missing for request ${l}`))}continue}await this._transport?.send(a.message,{relatedRequestId:n.requestId})}}let s=await this._taskStore.getTask(i,n.sessionId);if(!s)throw new E(I.InvalidParams,`Task not found: ${i}`);if(!pt(s.status))return await this._waitForTaskUpdate(i,n.signal),await o();if(pt(s.status)){let a=await this._taskStore.getTaskResult(i,n.sessionId);return this._clearTaskQueue(i),{...a,_meta:{...a._meta,[lt]:{taskId:i}}}}return await o()};return await o()}),this.setRequestHandler(eo,async(r,n)=>{try{let{tasks:o,nextCursor:i}=await this._taskStore.listTasks(r.params?.cursor,n.sessionId);return{tasks:o,nextCursor:i,_meta:{}}}catch(o){throw new E(I.InvalidParams,`Failed to list tasks: ${o instanceof Error?o.message:String(o)}`)}}),this.setRequestHandler(ro,async(r,n)=>{try{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new E(I.InvalidParams,`Task not found: ${r.params.taskId}`);if(pt(o.status))throw new E(I.InvalidParams,`Cannot cancel task in terminal status: ${o.status}`);await this._taskStore.updateTaskStatus(r.params.taskId,"cancelled","Client cancelled task execution.",n.sessionId),this._clearTaskQueue(r.params.taskId);let i=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!i)throw new E(I.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...i}}catch(o){throw o instanceof E?o:new E(I.InvalidRequest,`Failed to cancel task: ${o instanceof Error?o.message:String(o)}`)}}))}async _oncancel(t){if(!t.params.requestId)return;this._requestHandlerAbortControllers.get(t.params.requestId)?.abort(t.params.reason)}_setupTimeout(t,r,n,o,i=!1){this._timeoutInfo.set(t,{timeoutId:setTimeout(o,r),startTime:Date.now(),timeout:r,maxTotalTimeout:n,resetTimeoutOnProgress:i,onTimeout:o})}_resetTimeout(t){let r=this._timeoutInfo.get(t);if(!r)return!1;let n=Date.now()-r.startTime;if(r.maxTotalTimeout&&n>=r.maxTotalTimeout)throw this._timeoutInfo.delete(t),E.fromError(I.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:r.maxTotalTimeout,totalElapsed:n});return clearTimeout(r.timeoutId),r.timeoutId=setTimeout(r.onTimeout,r.timeout),!0}_cleanupTimeout(t){let r=this._timeoutInfo.get(t);r&&(clearTimeout(r.timeoutId),this._timeoutInfo.delete(t))}async connect(t){if(this._transport)throw new Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=t;let r=this.transport?.onclose;this._transport.onclose=()=>{r?.(),this._onclose()};let n=this.transport?.onerror;this._transport.onerror=i=>{n?.(i),this._onerror(i)};let o=this._transport?.onmessage;this._transport.onmessage=(i,s)=>{o?.(i,s),Dr(i)||Sp(i)?this._onresponse(i):as(i)?this._onrequest(i,s):kp(i)?this._onnotification(i):this._onerror(new Error(`Unknown message type: ${JSON.stringify(i)}`))},await this._transport.start()}_onclose(){let t=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let n of this._timeoutInfo.values())clearTimeout(n.timeoutId);this._timeoutInfo.clear();for(let n of this._requestHandlerAbortControllers.values())n.abort();this._requestHandlerAbortControllers.clear();let r=E.fromError(I.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let n of t.values())n(r)}_onerror(t){this.onerror?.(t)}_onnotification(t){let r=this._notificationHandlers.get(t.method)??this.fallbackNotificationHandler;r!==void 0&&Promise.resolve().then(()=>r(t)).catch(n=>this._onerror(new Error(`Uncaught error in notification handler: ${n}`)))}_onrequest(t,r){let n=this._requestHandlers.get(t.method)??this.fallbackRequestHandler,o=this._transport,i=t.params?._meta?.[lt]?.taskId;if(n===void 0){let u={jsonrpc:"2.0",id:t.id,error:{code:I.MethodNotFound,message:"Method not found"}};i&&this._taskMessageQueue?this._enqueueTaskMessage(i,{type:"error",message:u,timestamp:Date.now()},o?.sessionId).catch(d=>this._onerror(new Error(`Failed to enqueue error response: ${d}`))):o?.send(u).catch(d=>this._onerror(new Error(`Failed to send an error response: ${d}`)));return}let s=new AbortController;this._requestHandlerAbortControllers.set(t.id,s);let a=bp(t.params)?t.params.task:void 0,c=this._taskStore?this.requestTaskStore(t,o?.sessionId):void 0,l={signal:s.signal,sessionId:o?.sessionId,_meta:t.params?._meta,sendNotification:async u=>{if(s.signal.aborted)return;let d={relatedRequestId:t.id};i&&(d.relatedTask={taskId:i}),await this.notification(u,d)},sendRequest:async(u,d,p)=>{if(s.signal.aborted)throw new E(I.ConnectionClosed,"Request was cancelled");let f={...p,relatedRequestId:t.id};i&&!f.relatedTask&&(f.relatedTask={taskId:i});let h=f.relatedTask?.taskId??i;return h&&c&&await c.updateTaskStatus(h,"input_required"),await this.request(u,d,f)},authInfo:r?.authInfo,requestId:t.id,requestInfo:r?.requestInfo,taskId:i,taskStore:c,taskRequestedTtl:a?.ttl,closeSSEStream:r?.closeSSEStream,closeStandaloneSSEStream:r?.closeStandaloneSSEStream};Promise.resolve().then(()=>{a&&this.assertTaskHandlerCapability(t.method)}).then(()=>n(t,l)).then(async u=>{if(s.signal.aborted)return;let d={result:u,jsonrpc:"2.0",id:t.id};i&&this._taskMessageQueue?await this._enqueueTaskMessage(i,{type:"response",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)},async u=>{if(s.signal.aborted)return;let d={jsonrpc:"2.0",id:t.id,error:{code:Number.isSafeInteger(u.code)?u.code:I.InternalError,message:u.message??"Internal error",...u.data!==void 0&&{data:u.data}}};i&&this._taskMessageQueue?await this._enqueueTaskMessage(i,{type:"error",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)}).catch(u=>this._onerror(new Error(`Failed to send response: ${u}`))).finally(()=>{this._requestHandlerAbortControllers.get(t.id)===s&&this._requestHandlerAbortControllers.delete(t.id)})}_onprogress(t){let{progressToken:r,...n}=t.params,o=Number(r),i=this._progressHandlers.get(o);if(!i){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(t)}`));return}let s=this._responseHandlers.get(o),a=this._timeoutInfo.get(o);if(a&&s&&a.resetTimeoutOnProgress)try{this._resetTimeout(o)}catch(c){this._responseHandlers.delete(o),this._progressHandlers.delete(o),this._cleanupTimeout(o),s(c);return}i(n)}_onresponse(t){let r=Number(t.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),Dr(t))n(t);else{let s=new E(t.error.code,t.error.message,t.error.data);n(s)}return}let o=this._responseHandlers.get(r);if(o===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(t)}`));return}this._responseHandlers.delete(r),this._cleanupTimeout(r);let i=!1;if(Dr(t)&&t.result&&typeof t.result=="object"){let s=t.result;if(s.task&&typeof s.task=="object"){let a=s.task;typeof a.taskId=="string"&&(i=!0,this._taskProgressTokens.set(a.taskId,r))}}if(i||this._progressHandlers.delete(r),Dr(t))o(t);else{let s=E.fromError(t.error.code,t.error.message,t.error.data);o(s)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(t,r,n){let{task:o}=n??{};if(!o){try{yield{type:"result",result:await this.request(t,r,n)}}catch(s){yield{type:"error",error:s instanceof E?s:new E(I.InternalError,String(s))}}return}let i;try{let s=await this.request(t,zt,n);if(s.task)i=s.task.taskId,yield{type:"taskCreated",task:s.task};else throw new E(I.InternalError,"Task creation did not return a task");for(;;){let a=await this.getTask({taskId:i},n);if(yield{type:"taskStatus",task:a},pt(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:i},r,n)}:a.status==="failed"?yield{type:"error",error:new E(I.InternalError,`Task ${i} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new E(I.InternalError,`Task ${i} was cancelled`)});return}if(a.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:i},r,n)};return}let c=a.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(l=>setTimeout(l,c)),n?.signal?.throwIfAborted()}}catch(s){yield{type:"error",error:s instanceof E?s:new E(I.InternalError,String(s))}}}request(t,r,n){let{relatedRequestId:o,resumptionToken:i,onresumptiontoken:s,task:a,relatedTask:c}=n??{};return new Promise((l,u)=>{let d=b=>{u(b)};if(!this._transport){d(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(t.method),a&&this.assertTaskCapability(t.method)}catch(b){d(b);return}n?.signal?.throwIfAborted();let p=this._requestMessageId++,f={...t,jsonrpc:"2.0",id:p};n?.onprogress&&(this._progressHandlers.set(p,n.onprogress),f.params={...t.params,_meta:{...t.params?._meta||{},progressToken:p}}),a&&(f.params={...f.params,task:a}),c&&(f.params={...f.params,_meta:{...f.params?._meta||{},[lt]:c}});let h=b=>{this._responseHandlers.delete(p),this._progressHandlers.delete(p),this._cleanupTimeout(p),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:p,reason:String(b)}},{relatedRequestId:o,resumptionToken:i,onresumptiontoken:s}).catch(z=>this._onerror(new Error(`Failed to send cancellation: ${z}`)));let $=b instanceof E?b:new E(I.RequestTimeout,String(b));u($)};this._responseHandlers.set(p,b=>{if(!n?.signal?.aborted){if(b instanceof Error)return u(b);try{let $=Me(r,b.result);$.success?l($.data):u($.error)}catch($){u($)}}}),n?.signal?.addEventListener("abort",()=>{h(n?.signal?.reason)});let g=n?.timeout??Zw,_=()=>h(E.fromError(I.RequestTimeout,"Request timed out",{timeout:g}));this._setupTimeout(p,g,n?.maxTotalTimeout,_,n?.resetTimeoutOnProgress??!1);let w=c?.taskId;if(w){let b=$=>{let z=this._responseHandlers.get(p);z?z($):this._onerror(new Error(`Response handler missing for side-channeled request ${p}`))};this._requestResolvers.set(p,b),this._enqueueTaskMessage(w,{type:"request",message:f,timestamp:Date.now()}).catch($=>{this._cleanupTimeout(p),u($)})}else this._transport.send(f,{relatedRequestId:o,resumptionToken:i,onresumptiontoken:s}).catch(b=>{this._cleanupTimeout(p),u(b)})})}async getTask(t,r){return this.request({method:"tasks/get",params:t},Yn,r)}async getTaskResult(t,r,n){return this.request({method:"tasks/result",params:t},r,n)}async listTasks(t,r){return this.request({method:"tasks/list",params:t},to,r)}async cancelTask(t,r){return this.request({method:"tasks/cancel",params:t},Pp,r)}async notification(t,r){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(t.method);let n=r?.relatedTask?.taskId;if(n){let a={...t,jsonrpc:"2.0",params:{...t.params,_meta:{...t.params?._meta||{},[lt]:r.relatedTask}}};await this._enqueueTaskMessage(n,{type:"notification",message:a,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(t.method)&&!t.params&&!r?.relatedRequestId&&!r?.relatedTask){if(this._pendingDebouncedNotifications.has(t.method))return;this._pendingDebouncedNotifications.add(t.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(t.method),!this._transport)return;let a={...t,jsonrpc:"2.0"};r?.relatedTask&&(a={...a,params:{...a.params,_meta:{...a.params?._meta||{},[lt]:r.relatedTask}}}),this._transport?.send(a,r).catch(c=>this._onerror(c))});return}let s={...t,jsonrpc:"2.0"};r?.relatedTask&&(s={...s,params:{...s.params,_meta:{...s.params?._meta||{},[lt]:r.relatedTask}}}),await this._transport.send(s,r)}setRequestHandler(t,r){let n=As(t);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(o,i)=>{let s=Cs(t,o);return Promise.resolve(r(s,i))})}removeRequestHandler(t){this._requestHandlers.delete(t)}assertCanSetRequestHandler(t){if(this._requestHandlers.has(t))throw new Error(`A request handler for ${t} already exists, which would be overridden`)}setNotificationHandler(t,r){let n=As(t);this._notificationHandlers.set(n,o=>{let i=Cs(t,o);return Promise.resolve(r(i))})}removeNotificationHandler(t){this._notificationHandlers.delete(t)}_cleanupTaskProgressHandler(t){let r=this._taskProgressTokens.get(t);r!==void 0&&(this._progressHandlers.delete(r),this._taskProgressTokens.delete(t))}async _enqueueTaskMessage(t,r,n){if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let o=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(t,r,n,o)}async _clearTaskQueue(t,r){if(this._taskMessageQueue){let n=await this._taskMessageQueue.dequeueAll(t,r);for(let o of n)if(o.type==="request"&&as(o.message)){let i=o.message.id,s=this._requestResolvers.get(i);s?(s(new E(I.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(i)):this._onerror(new Error(`Resolver missing for request ${i} during task ${t} cleanup`))}}}async _waitForTaskUpdate(t,r){let n=this._options?.defaultTaskPollInterval??1e3;try{let o=await this._taskStore?.getTask(t);o?.pollInterval&&(n=o.pollInterval)}catch{}return new Promise((o,i)=>{if(r.aborted){i(new E(I.InvalidRequest,"Request cancelled"));return}let s=setTimeout(o,n);r.addEventListener("abort",()=>{clearTimeout(s),i(new E(I.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(t,r){let n=this._taskStore;if(!n)throw new Error("No task store configured");return{createTask:async o=>{if(!t)throw new Error("No request provided");return await n.createTask(o,t.id,{method:t.method,params:t.params},r)},getTask:async o=>{let i=await n.getTask(o,r);if(!i)throw new E(I.InvalidParams,"Failed to retrieve task: Task not found");return i},storeTaskResult:async(o,i,s)=>{await n.storeTaskResult(o,i,s,r);let a=await n.getTask(o,r);if(a){let c=Lr.parse({method:"notifications/tasks/status",params:a});await this.notification(c),pt(a.status)&&this._cleanupTaskProgressHandler(o)}},getTaskResult:o=>n.getTaskResult(o,r),updateTaskStatus:async(o,i,s)=>{let a=await n.getTask(o,r);if(!a)throw new E(I.InvalidParams,`Task "${o}" not found - it may have been cleaned up`);if(pt(a.status))throw new E(I.InvalidParams,`Cannot update task "${o}" from terminal status "${a.status}" to "${i}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await n.updateTaskStatus(o,i,s,r);let c=await n.getTask(o,r);if(c){let l=Lr.parse({method:"notifications/tasks/status",params:c});await this.notification(l),pt(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>n.listTasks(o,r)}}};function Dp(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function jp(e,t){let r={...e};for(let n in t){let o=n,i=t[o];if(i===void 0)continue;let s=r[o];Dp(s)&&Dp(i)?r[o]={...s,...i}:r[o]=i}return r}var Th=hi(vc(),1),Rh=hi(Ph(),1);function VS(){let e=new Th.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,Rh.default)(e),e}var qo=class{constructor(t){this._ajv=t??VS()}getValidator(t){let r="$id"in t&&typeof t.$id=="string"?this._ajv.getSchema(t.$id)??this._ajv.compile(t):this._ajv.compile(t);return n=>r(n)?{valid:!0,data:n,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(r.errors)}}};var Bo=class{constructor(t){this._client=t}async*callToolStream(t,r=dt,n){let o=this._client,i={...n,task:n?.task??(o.isToolTask(t.name)?{}:void 0)},s=o.requestStream({method:"tools/call",params:t},r,i),a=o.getToolOutputValidator(t.name);for await(let c of s){if(c.type==="result"&&a){let l=c.result;if(!l.structuredContent&&!l.isError){yield{type:"error",error:new E(I.InvalidRequest,`Tool ${t.name} has an output schema but did not return structured content`)};return}if(l.structuredContent)try{let u=a(l.structuredContent);if(!u.valid){yield{type:"error",error:new E(I.InvalidParams,`Structured content does not match the tool's output schema: ${u.errorMessage}`)};return}}catch(u){if(u instanceof E){yield{type:"error",error:u};return}yield{type:"error",error:new E(I.InvalidParams,`Failed to validate structured content: ${u instanceof Error?u.message:String(u)}`)};return}}yield c}}async getTask(t,r){return this._client.getTask({taskId:t},r)}async getTaskResult(t,r,n){return this._client.getTaskResult({taskId:t},r,n)}async listTasks(t,r){return this._client.listTasks(t?{cursor:t}:void 0,r)}async cancelTask(t,r){return this._client.cancelTask({taskId:t},r)}requestStream(t,r,n){return this._client.requestStream(t,r,n)}};function Ih(e,t,r){if(!e)throw new Error(`${r} does not support task creation (required for ${t})`);switch(t){case"tools/call":if(!e.tools?.call)throw new Error(`${r} does not support task creation for tools/call (required for ${t})`);break;default:break}}function Ah(e,t,r){if(!e)throw new Error(`${r} does not support task creation (required for ${t})`);switch(t){case"sampling/createMessage":if(!e.sampling?.createMessage)throw new Error(`${r} does not support task creation for sampling/createMessage (required for ${t})`);break;case"elicitation/create":if(!e.elicitation?.create)throw new Error(`${r} does not support task creation for elicitation/create (required for ${t})`);break;default:break}}function Lo(e,t){if(!(!e||t===null||typeof t!="object")){if(e.type==="object"&&e.properties&&typeof e.properties=="object"){let r=t,n=e.properties;for(let o of Object.keys(n)){let i=n[o];r[o]===void 0&&Object.prototype.hasOwnProperty.call(i,"default")&&(r[o]=i.default),r[o]!==void 0&&Lo(i,r[o])}}if(Array.isArray(e.anyOf))for(let r of e.anyOf)typeof r!="boolean"&&Lo(r,t);if(Array.isArray(e.oneOf))for(let r of e.oneOf)typeof r!="boolean"&&Lo(r,t)}}function KS(e){if(!e)return{supportsFormMode:!1,supportsUrlMode:!1};let t=e.form!==void 0,r=e.url!==void 0;return{supportsFormMode:t||!t&&!r,supportsUrlMode:r}}var Zo=class extends no{constructor(t,r){super(r),this._clientInfo=t,this._cachedToolOutputValidators=new Map,this._cachedKnownTaskTools=new Set,this._cachedRequiredTaskTools=new Set,this._listChangedDebounceTimers=new Map,this._capabilities=r?.capabilities??{},this._jsonSchemaValidator=r?.jsonSchemaValidator??new qo,r?.listChanged&&(this._pendingListChangedConfig=r.listChanged)}_setupListChangedHandlers(t){t.tools&&this._serverCapabilities?.tools?.listChanged&&this._setupListChangedHandler("tools",Ss,t.tools,async()=>(await this.listTools()).tools),t.prompts&&this._serverCapabilities?.prompts?.listChanged&&this._setupListChangedHandler("prompts",xs,t.prompts,async()=>(await this.listPrompts()).prompts),t.resources&&this._serverCapabilities?.resources?.listChanged&&this._setupListChangedHandler("resources",gs,t.resources,async()=>(await this.listResources()).resources)}get experimental(){return this._experimental||(this._experimental={tasks:new Bo(this)}),this._experimental}registerCapabilities(t){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=jp(this._capabilities,t)}setRequestHandler(t,r){let o=Zn(t)?.method;if(!o)throw new Error("Schema is missing a method literal");let i;if(Kt(o)){let a=o;i=a._zod?.def?.value??a.value}else{let a=o;i=a._def?.value??a.value}if(typeof i!="string")throw new Error("Schema method literal must be a string");let s=i;if(s==="elicitation/create"){let a=async(c,l)=>{let u=Me(Ts,c);if(!u.success){let b=u.error instanceof Error?u.error.message:String(u.error);throw new E(I.InvalidParams,`Invalid elicitation request: ${b}`)}let{params:d}=u.data;d.mode=d.mode??"form";let{supportsFormMode:p,supportsUrlMode:f}=KS(this._capabilities.elicitation);if(d.mode==="form"&&!p)throw new E(I.InvalidParams,"Client does not support form-mode elicitation requests");if(d.mode==="url"&&!f)throw new E(I.InvalidParams,"Client does not support URL-mode elicitation requests");let h=await Promise.resolve(r(c,l));if(d.task){let b=Me(zt,h);if(!b.success){let $=b.error instanceof Error?b.error.message:String(b.error);throw new E(I.InvalidParams,`Invalid task creation result: ${$}`)}return b.data}let g=Me(Rs,h);if(!g.success){let b=g.error instanceof Error?g.error.message:String(g.error);throw new E(I.InvalidParams,`Invalid elicitation result: ${b}`)}let _=g.data,w=d.mode==="form"?d.requestedSchema:void 0;if(d.mode==="form"&&_.action==="accept"&&_.content&&w&&this._capabilities.elicitation?.form?.applyDefaults)try{Lo(w,_.content)}catch{}return _};return super.setRequestHandler(t,a)}if(s==="sampling/createMessage"){let a=async(c,l)=>{let u=Me(Es,c);if(!u.success){let _=u.error instanceof Error?u.error.message:String(u.error);throw new E(I.InvalidParams,`Invalid sampling request: ${_}`)}let{params:d}=u.data,p=await Promise.resolve(r(c,l));if(d.task){let _=Me(zt,p);if(!_.success){let w=_.error instanceof Error?_.error.message:String(_.error);throw new E(I.InvalidParams,`Invalid task creation result: ${w}`)}return _.data}let h=d.tools||d.toolChoice?Ps:zs,g=Me(h,p);if(!g.success){let _=g.error instanceof Error?g.error.message:String(g.error);throw new E(I.InvalidParams,`Invalid sampling result: ${_}`)}return g.data};return super.setRequestHandler(t,a)}return super.setRequestHandler(t,r)}assertCapability(t,r){if(!this._serverCapabilities?.[t])throw new Error(`Server does not support ${t} (required for ${r})`)}async connect(t,r){if(await super.connect(t),t.sessionId===void 0)try{let n=await this.request({method:"initialize",params:{protocolVersion:is,capabilities:this._capabilities,clientInfo:this._clientInfo}},ls,r);if(n===void 0)throw new Error(`Server sent invalid initialize result: ${n}`);if(!_p.includes(n.protocolVersion))throw new Error(`Server's protocol version is not supported: ${n.protocolVersion}`);this._serverCapabilities=n.capabilities,this._serverVersion=n.serverInfo,t.setProtocolVersion&&t.setProtocolVersion(n.protocolVersion),this._instructions=n.instructions,await this.notification({method:"notifications/initialized"}),this._pendingListChangedConfig&&(this._setupListChangedHandlers(this._pendingListChangedConfig),this._pendingListChangedConfig=void 0)}catch(n){throw this.close(),n}}getServerCapabilities(){return this._serverCapabilities}getServerVersion(){return this._serverVersion}getInstructions(){return this._instructions}assertCapabilityForMethod(t){switch(t){case"logging/setLevel":if(!this._serverCapabilities?.logging)throw new Error(`Server does not support logging (required for ${t})`);break;case"prompts/get":case"prompts/list":if(!this._serverCapabilities?.prompts)throw new Error(`Server does not support prompts (required for ${t})`);break;case"resources/list":case"resources/templates/list":case"resources/read":case"resources/subscribe":case"resources/unsubscribe":if(!this._serverCapabilities?.resources)throw new Error(`Server does not support resources (required for ${t})`);if(t==="resources/subscribe"&&!this._serverCapabilities.resources.subscribe)throw new Error(`Server does not support resource subscriptions (required for ${t})`);break;case"tools/call":case"tools/list":if(!this._serverCapabilities?.tools)throw new Error(`Server does not support tools (required for ${t})`);break;case"completion/complete":if(!this._serverCapabilities?.completions)throw new Error(`Server does not support completions (required for ${t})`);break;case"initialize":break;case"ping":break}}assertNotificationCapability(t){switch(t){case"notifications/roots/list_changed":if(!this._capabilities.roots?.listChanged)throw new Error(`Client does not support roots list changed notifications (required for ${t})`);break;case"notifications/initialized":break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(t){if(this._capabilities)switch(t){case"sampling/createMessage":if(!this._capabilities.sampling)throw new Error(`Client does not support sampling capability (required for ${t})`);break;case"elicitation/create":if(!this._capabilities.elicitation)throw new Error(`Client does not support elicitation capability (required for ${t})`);break;case"roots/list":if(!this._capabilities.roots)throw new Error(`Client does not support roots capability (required for ${t})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Client does not support tasks capability (required for ${t})`);break;case"ping":break}}assertTaskCapability(t){Ih(this._serverCapabilities?.tasks?.requests,t,"Server")}assertTaskHandlerCapability(t){this._capabilities&&Ah(this._capabilities.tasks?.requests,t,"Client")}async ping(t){return this.request({method:"ping"},Et,t)}async complete(t,r){return this.request({method:"completion/complete",params:t},Is,r)}async setLoggingLevel(t,r){return this.request({method:"logging/setLevel",params:{level:t}},Et,r)}async getPrompt(t,r){return this.request({method:"prompts/get",params:t},$s,r)}async listPrompts(t,r){return this.request({method:"prompts/list",params:t},ys,r)}async listResources(t,r){return this.request({method:"resources/list",params:t},ps,r)}async listResourceTemplates(t,r){return this.request({method:"resources/templates/list",params:t},fs,r)}async readResource(t,r){return this.request({method:"resources/read",params:t},hs,r)}async subscribeResource(t,r){return this.request({method:"resources/subscribe",params:t},Et,r)}async unsubscribeResource(t,r){return this.request({method:"resources/unsubscribe",params:t},Et,r)}async callTool(t,r=dt,n){if(this.isToolTaskRequired(t.name))throw new E(I.InvalidRequest,`Tool "${t.name}" requires task-based execution. Use client.experimental.tasks.callToolStream() instead.`);let o=await this.request({method:"tools/call",params:t},r,n),i=this.getToolOutputValidator(t.name);if(i){if(!o.structuredContent&&!o.isError)throw new E(I.InvalidRequest,`Tool ${t.name} has an output schema but did not return structured content`);if(o.structuredContent)try{let s=i(o.structuredContent);if(!s.valid)throw new E(I.InvalidParams,`Structured content does not match the tool's output schema: ${s.errorMessage}`)}catch(s){throw s instanceof E?s:new E(I.InvalidParams,`Failed to validate structured content: ${s instanceof Error?s.message:String(s)}`)}}return o}isToolTask(t){return this._serverCapabilities?.tasks?.requests?.tools?.call?this._cachedKnownTaskTools.has(t):!1}isToolTaskRequired(t){return this._cachedRequiredTaskTools.has(t)}cacheToolMetadata(t){this._cachedToolOutputValidators.clear(),this._cachedKnownTaskTools.clear(),this._cachedRequiredTaskTools.clear();for(let r of t){if(r.outputSchema){let o=this._jsonSchemaValidator.getValidator(r.outputSchema);this._cachedToolOutputValidators.set(r.name,o)}let n=r.execution?.taskSupport;(n==="required"||n==="optional")&&this._cachedKnownTaskTools.add(r.name),n==="required"&&this._cachedRequiredTaskTools.add(r.name)}}getToolOutputValidator(t){return this._cachedToolOutputValidators.get(t)}async listTools(t,r){let n=await this.request({method:"tools/list",params:t},ks,r);return this.cacheToolMetadata(n.tools),n}_setupListChangedHandler(t,r,n,o){let i=Np.safeParse(n);if(!i.success)throw new Error(`Invalid ${t} listChanged options: ${i.error.message}`);if(typeof n.onChanged!="function")throw new Error(`Invalid ${t} listChanged options: onChanged must be a function`);let{autoRefresh:s,debounceMs:a}=i.data,{onChanged:c}=n,l=async()=>{if(!s){c(null,null);return}try{let d=await o();c(null,d)}catch(d){let p=d instanceof Error?d:new Error(String(d));c(p,null)}},u=()=>{if(a){let d=this._listChangedDebounceTimers.get(t);d&&clearTimeout(d);let p=setTimeout(l,a);this._listChangedDebounceTimers.set(t,p)}else l()};this.setNotificationHandler(r,u)}async sendRootsListChanged(){return this.notification({method:"notifications/roots/list_changed"})}};var $g=hi(wg(),1);import Dc from"node:process";import{PassThrough as wE}from"node:stream";var Fo=class{append(t){this._buffer=this._buffer?Buffer.concat([this._buffer,t]):t}readMessage(){if(!this._buffer)return null;let t=this._buffer.indexOf(`
35
+ })));`),p.write(`newResult[${xt(b)}] = ${$}.value`)}p.write("payload.value = newResult;"),p.write("return payload;");let w=p.compile();return(b,$)=>w(d,b,$)},o,i=Ut,s=!Tn.jitless,c=s&&$i.value,l=t.catchall,u;e._zod.parse=(d,p)=>{u??(u=r.value);let f=d.value;if(!i(f))return d.issues.push({expected:"object",code:"invalid_type",input:f,inst:e}),d;let h=[];if(s&&c&&p?.async===!1&&p.jitless!==!0)o||(o=n(t.shape)),d=o(d,p);else{d.value={};let $=u.shape;for(let z of u.keys){let R=$[z],_e=R._zod.run({value:f[z],issues:[]},p),Pe=R._zod.optin==="optional"&&R._zod.optout==="optional";_e instanceof Promise?h.push(_e.then(Zt=>Pe?fl(Zt,d,z,f):On(Zt,d,z))):Pe?fl(_e,d,z,f):On(_e,d,z)}}if(!l)return h.length?Promise.all(h).then(()=>d):d;let g=[],_=u.keySet,w=l._zod,b=w.def.type;for(let $ of Object.keys(f)){if(_.has($))continue;if(b==="never"){g.push($);continue}let z=w.run({value:f[$],issues:[]},p);z instanceof Promise?h.push(z.then(R=>On(R,d,$))):On(z,d,$)}return g.length&&d.issues.push({code:"unrecognized_keys",keys:g,input:f,inst:e}),h.length?Promise.all(h).then(()=>d):d}});function ml(e,t,r,n){for(let o of e)if(o.issues.length===0)return t.value=o.value,t;return t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map(o=>o.issues.map(i=>je(i,n,Re())))}),t}var ji=y("$ZodUnion",(e,t)=>{G.init(e,t),H(e._zod,"optin",()=>t.options.some(r=>r._zod.optin==="optional")?"optional":void 0),H(e._zod,"optout",()=>t.options.some(r=>r._zod.optout==="optional")?"optional":void 0),H(e._zod,"values",()=>{if(t.options.every(r=>r._zod.values))return new Set(t.options.flatMap(r=>Array.from(r._zod.values)))}),H(e._zod,"pattern",()=>{if(t.options.every(r=>r._zod.pattern)){let r=t.options.map(n=>n._zod.pattern);return new RegExp(`^(${r.map(n=>Sr(n.source)).join("|")})$`)}}),e._zod.parse=(r,n)=>{let o=!1,i=[];for(let s of t.options){let a=s._zod.run({value:r.value,issues:[]},n);if(a instanceof Promise)i.push(a),o=!0;else{if(a.issues.length===0)return a;i.push(a)}}return o?Promise.all(i).then(s=>ml(s,r,e,n)):ml(i,r,e,n)}}),Yl=y("$ZodDiscriminatedUnion",(e,t)=>{ji.init(e,t);let r=e._zod.parse;H(e._zod,"propValues",()=>{let o={};for(let i of t.options){let s=i._zod.propValues;if(!s||Object.keys(s).length===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(i)}"`);for(let[a,c]of Object.entries(s)){o[a]||(o[a]=new Set);for(let l of c)o[a].add(l)}}return o});let n=xr(()=>{let o=t.options,i=new Map;for(let s of o){let a=s._zod.propValues[t.discriminator];if(!a||a.size===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(s)}"`);for(let c of a){if(i.has(c))throw new Error(`Duplicate discriminator value "${String(c)}"`);i.set(c,s)}}return i});e._zod.parse=(o,i)=>{let s=o.value;if(!Ut(s))return o.issues.push({code:"invalid_type",expected:"object",input:s,inst:e}),o;let a=n.value.get(s?.[t.discriminator]);return a?a._zod.run(o,i):t.unionFallback?r(o,i):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:s,path:[t.discriminator],inst:e}),o)}}),Xl=y("$ZodIntersection",(e,t)=>{G.init(e,t),e._zod.parse=(r,n)=>{let o=r.value,i=t.left._zod.run({value:o,issues:[]},n),s=t.right._zod.run({value:o,issues:[]},n);return i instanceof Promise||s instanceof Promise?Promise.all([i,s]).then(([c,l])=>hl(r,c,l)):hl(r,i,s)}});function Oi(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Ft(e)&&Ft(t)){let r=Object.keys(t),n=Object.keys(e).filter(i=>r.indexOf(i)!==-1),o={...e,...t};for(let i of n){let s=Oi(e[i],t[i]);if(!s.valid)return{valid:!1,mergeErrorPath:[i,...s.mergeErrorPath]};o[i]=s.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n<e.length;n++){let o=e[n],i=t[n],s=Oi(o,i);if(!s.valid)return{valid:!1,mergeErrorPath:[n,...s.mergeErrorPath]};r.push(s.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function hl(e,t,r){if(t.issues.length&&e.issues.push(...t.issues),r.issues.length&&e.issues.push(...r.issues),kt(e))return e;let n=Oi(t.value,r.value);if(!n.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(n.mergeErrorPath)}`);return e.value=n.data,e}var ed=y("$ZodRecord",(e,t)=>{G.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;if(!Ft(o))return r.issues.push({expected:"record",code:"invalid_type",input:o,inst:e}),r;let i=[];if(t.keyType._zod.values){let s=t.keyType._zod.values;r.value={};for(let c of s)if(typeof c=="string"||typeof c=="number"||typeof c=="symbol"){let l=t.valueType._zod.run({value:o[c],issues:[]},n);l instanceof Promise?i.push(l.then(u=>{u.issues.length&&r.issues.push(...Ge(c,u.issues)),r.value[c]=u.value})):(l.issues.length&&r.issues.push(...Ge(c,l.issues)),r.value[c]=l.value)}let a;for(let c in o)s.has(c)||(a=a??[],a.push(c));a&&a.length>0&&r.issues.push({code:"unrecognized_keys",input:o,inst:e,keys:a})}else{r.value={};for(let s of Reflect.ownKeys(o)){if(s==="__proto__")continue;let a=t.keyType._zod.run({value:s,issues:[]},n);if(a instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(a.issues.length){r.issues.push({origin:"record",code:"invalid_key",issues:a.issues.map(l=>je(l,n,Re())),input:s,path:[s],inst:e}),r.value[a.value]=a.value;continue}let c=t.valueType._zod.run({value:o[s],issues:[]},n);c instanceof Promise?i.push(c.then(l=>{l.issues.length&&r.issues.push(...Ge(s,l.issues)),r.value[a.value]=l.value})):(c.issues.length&&r.issues.push(...Ge(s,c.issues)),r.value[a.value]=c.value)}}return i.length?Promise.all(i).then(()=>r):r}});var td=y("$ZodEnum",(e,t)=>{G.init(e,t);let r=_i(t.entries);e._zod.values=new Set(r),e._zod.pattern=new RegExp(`^(${r.filter(n=>xi.has(typeof n)).map(n=>typeof n=="string"?ut(n):n.toString()).join("|")})$`),e._zod.parse=(n,o)=>{let i=n.value;return e._zod.values.has(i)||n.issues.push({code:"invalid_value",values:r,input:i,inst:e}),n}}),rd=y("$ZodLiteral",(e,t)=>{G.init(e,t),e._zod.values=new Set(t.values),e._zod.pattern=new RegExp(`^(${t.values.map(r=>typeof r=="string"?ut(r):r?r.toString():String(r)).join("|")})$`),e._zod.parse=(r,n)=>{let o=r.value;return e._zod.values.has(o)||r.issues.push({code:"invalid_value",values:t.values,input:o,inst:e}),r}});var nd=y("$ZodTransform",(e,t)=>{G.init(e,t),e._zod.parse=(r,n)=>{let o=t.transform(r.value,r);if(n.async)return(o instanceof Promise?o:Promise.resolve(o)).then(s=>(r.value=s,r));if(o instanceof Promise)throw new et;return r.value=o,r}}),od=y("$ZodOptional",(e,t)=>{G.init(e,t),e._zod.optin="optional",e._zod.optout="optional",H(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),H(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${Sr(r.source)})?$`):void 0}),e._zod.parse=(r,n)=>t.innerType._zod.optin==="optional"?t.innerType._zod.run(r,n):r.value===void 0?r:t.innerType._zod.run(r,n)}),id=y("$ZodNullable",(e,t)=>{G.init(e,t),H(e._zod,"optin",()=>t.innerType._zod.optin),H(e._zod,"optout",()=>t.innerType._zod.optout),H(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${Sr(r.source)}|null)$`):void 0}),H(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(r,n)=>r.value===null?r:t.innerType._zod.run(r,n)}),sd=y("$ZodDefault",(e,t)=>{G.init(e,t),e._zod.optin="optional",H(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{if(r.value===void 0)return r.value=t.defaultValue,r;let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>gl(i,t)):gl(o,t)}});function gl(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var ad=y("$ZodPrefault",(e,t)=>{G.init(e,t),e._zod.optin="optional",H(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>(r.value===void 0&&(r.value=t.defaultValue),t.innerType._zod.run(r,n))}),cd=y("$ZodNonOptional",(e,t)=>{G.init(e,t),H(e._zod,"values",()=>{let r=t.innerType._zod.values;return r?new Set([...r].filter(n=>n!==void 0)):void 0}),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>yl(i,e)):yl(o,e)}});function yl(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}var ud=y("$ZodCatch",(e,t)=>{G.init(e,t),e._zod.optin="optional",H(e._zod,"optout",()=>t.innerType._zod.optout),H(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>(r.value=i.value,i.issues.length&&(r.value=t.catchValue({...r,error:{issues:i.issues.map(s=>je(s,n,Re()))},input:r.value}),r.issues=[]),r)):(r.value=o.value,o.issues.length&&(r.value=t.catchValue({...r,error:{issues:o.issues.map(i=>je(i,n,Re()))},input:r.value}),r.issues=[]),r)}});var ld=y("$ZodPipe",(e,t)=>{G.init(e,t),H(e._zod,"values",()=>t.in._zod.values),H(e._zod,"optin",()=>t.in._zod.optin),H(e._zod,"optout",()=>t.out._zod.optout),e._zod.parse=(r,n)=>{let o=t.in._zod.run(r,n);return o instanceof Promise?o.then(i=>_l(i,t,n)):_l(o,t,n)}});function _l(e,t,r){return kt(e)?e:t.out._zod.run({value:e.value,issues:e.issues},r)}var dd=y("$ZodReadonly",(e,t)=>{G.init(e,t),H(e._zod,"propValues",()=>t.innerType._zod.propValues),H(e._zod,"values",()=>t.innerType._zod.values),H(e._zod,"optin",()=>t.innerType._zod.optin),H(e._zod,"optout",()=>t.innerType._zod.optout),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(vl):vl(o)}});function vl(e){return e.value=Object.freeze(e.value),e}var pd=y("$ZodCustom",(e,t)=>{fe.init(e,t),G.init(e,t),e._zod.parse=(r,n)=>r,e._zod.check=r=>{let n=r.value,o=t.fn(n);if(o instanceof Promise)return o.then(i=>wl(i,r,n,e));wl(o,r,n,e)}});function wl(e,t,r,n){if(!e){let o={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(o.params=n._zod.def.params),t.issues.push(Ei(o))}}var l_=e=>{let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"NaN":"number";case"object":{if(Array.isArray(e))return"array";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return t},d_=()=>{let e={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"}};function t(n){return e[n]??null}let r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return n=>{switch(n.code){case"invalid_type":return`Invalid input: expected ${n.expected}, received ${l_(n.input)}`;case"invalid_value":return n.values.length===1?`Invalid input: expected ${In(n.values[0])}`:`Invalid option: expected one of ${Pn(n.values,"|")}`;case"too_big":{let o=n.inclusive?"<=":"<",i=t(n.origin);return i?`Too big: expected ${n.origin??"value"} to have ${o}${n.maximum.toString()} ${i.unit??"elements"}`:`Too big: expected ${n.origin??"value"} to be ${o}${n.maximum.toString()}`}case"too_small":{let o=n.inclusive?">=":">",i=t(n.origin);return i?`Too small: expected ${n.origin} to have ${o}${n.minimum.toString()} ${i.unit}`:`Too small: expected ${n.origin} to be ${o}${n.minimum.toString()}`}case"invalid_format":{let o=n;return o.format==="starts_with"?`Invalid string: must start with "${o.prefix}"`:o.format==="ends_with"?`Invalid string: must end with "${o.suffix}"`:o.format==="includes"?`Invalid string: must include "${o.includes}"`:o.format==="regex"?`Invalid string: must match pattern ${o.pattern}`:`Invalid ${r[o.format]??n.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${n.divisor}`;case"unrecognized_keys":return`Unrecognized key${n.keys.length>1?"s":""}: ${Pn(n.keys,", ")}`;case"invalid_key":return`Invalid key in ${n.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${n.origin}`;default:return"Invalid input"}}};function fd(){return{localeError:d_()}}var yR=Symbol("ZodOutput"),_R=Symbol("ZodInput"),Mi=class{constructor(){this._map=new Map,this._idmap=new Map}add(t,...r){let n=r[0];if(this._map.set(t,n),n&&typeof n=="object"&&"id"in n){if(this._idmap.has(n.id))throw new Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,t)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(t){let r=this._map.get(t);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(t),this}get(t){let r=t._zod.parent;if(r){let n={...this.get(r)??{}};return delete n.id,{...n,...this._map.get(t)}}return this._map.get(t)}has(t){return this._map.has(t)}};function p_(){return new Mi}var Pr=p_();function md(e,t){return new e({type:"string",...T(t)})}function hd(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...T(t)})}function qi(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...T(t)})}function gd(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...T(t)})}function yd(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...T(t)})}function _d(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...T(t)})}function vd(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...T(t)})}function wd(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...T(t)})}function bd(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...T(t)})}function $d(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...T(t)})}function xd(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...T(t)})}function kd(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...T(t)})}function Sd(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...T(t)})}function Ed(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...T(t)})}function zd(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...T(t)})}function Td(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...T(t)})}function Pd(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...T(t)})}function Rd(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...T(t)})}function Id(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...T(t)})}function Ad(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...T(t)})}function Cd(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...T(t)})}function Nd(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...T(t)})}function Od(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...T(t)})}function Dd(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...T(t)})}function jd(e,t){return new e({type:"string",format:"date",check:"string_format",...T(t)})}function Md(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...T(t)})}function qd(e,t){return new e({type:"string",format:"duration",check:"string_format",...T(t)})}function Bd(e,t){return new e({type:"number",checks:[],...T(t)})}function Ld(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...T(t)})}function Zd(e,t){return new e({type:"boolean",...T(t)})}function Ud(e,t){return new e({type:"null",...T(t)})}function Fd(e){return new e({type:"unknown"})}function Vd(e,t){return new e({type:"never",...T(t)})}function jn(e,t){return new Ci({check:"less_than",...T(t),value:e,inclusive:!1})}function Rr(e,t){return new Ci({check:"less_than",...T(t),value:e,inclusive:!0})}function Mn(e,t){return new Ni({check:"greater_than",...T(t),value:e,inclusive:!1})}function Ir(e,t){return new Ni({check:"greater_than",...T(t),value:e,inclusive:!0})}function qn(e,t){return new Yu({check:"multiple_of",...T(t),value:e})}function Bn(e,t){return new el({check:"max_length",...T(t),maximum:e})}function Vt(e,t){return new tl({check:"min_length",...T(t),minimum:e})}function Ln(e,t){return new rl({check:"length_equals",...T(t),length:e})}function Bi(e,t){return new nl({check:"string_format",format:"regex",...T(t),pattern:e})}function Li(e){return new ol({check:"string_format",format:"lowercase",...T(e)})}function Zi(e){return new il({check:"string_format",format:"uppercase",...T(e)})}function Ui(e,t){return new sl({check:"string_format",format:"includes",...T(t),includes:e})}function Fi(e,t){return new al({check:"string_format",format:"starts_with",...T(t),prefix:e})}function Vi(e,t){return new cl({check:"string_format",format:"ends_with",...T(t),suffix:e})}function St(e){return new ul({check:"overwrite",tx:e})}function Ki(e){return St(t=>t.normalize(e))}function Hi(){return St(e=>e.trim())}function Gi(){return St(e=>e.toLowerCase())}function Wi(){return St(e=>e.toUpperCase())}function Kd(e,t,r){return new e({type:"array",element:t,...T(r)})}function Hd(e,t,r){let n=T(r);return n.abort??(n.abort=!0),new e({type:"custom",check:"custom",fn:t,...n})}function Gd(e,t,r){return new e({type:"custom",check:"custom",fn:t,...T(r)})}function Kt(e){return!!e._zod}function Me(e,t){return Kt(e)?zr(e,t):e.safeParse(t)}function Zn(e){if(!e)return;let t;if(Kt(e)?t=e._zod?.def?.shape:t=e.shape,!!t){if(typeof t=="function")try{return t()}catch{return}return t}}function Wd(e){if(Kt(e)){let i=e._zod?.def;if(i){if(i.value!==void 0)return i.value;if(Array.isArray(i.values)&&i.values.length>0)return i.values[0]}}let r=e._def;if(r){if(r.value!==void 0)return r.value;if(Array.isArray(r.values)&&r.values.length>0)return r.values[0]}let n=e.value;if(n!==void 0)return n}var Cr={};fu(Cr,{ZodISODate:()=>Qd,ZodISODateTime:()=>Jd,ZodISODuration:()=>Xd,ZodISOTime:()=>Yd,date:()=>Qi,datetime:()=>Ji,duration:()=>Xi,time:()=>Yi});var Jd=y("ZodISODateTime",(e,t)=>{Al.init(e,t),ee.init(e,t)});function Ji(e){return Dd(Jd,e)}var Qd=y("ZodISODate",(e,t)=>{Cl.init(e,t),ee.init(e,t)});function Qi(e){return jd(Qd,e)}var Yd=y("ZodISOTime",(e,t)=>{Nl.init(e,t),ee.init(e,t)});function Yi(e){return Md(Yd,e)}var Xd=y("ZodISODuration",(e,t)=>{Ol.init(e,t),ee.init(e,t)});function Xi(e){return qd(Xd,e)}var ep=(e,t)=>{An.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:r=>vu(e,r)},flatten:{value:r=>_u(e,r)},addIssue:{value:r=>e.issues.push(r)},addIssues:{value:r=>e.issues.push(...r)},isEmpty:{get(){return e.issues.length===0}}})},YR=y("ZodError",ep),Nr=y("ZodError",ep,{Parent:Error});var tp=wu(Nr),rp=bu(Nr),np=Ti(Nr),op=Pi(Nr);var ne=y("ZodType",(e,t)=>(G.init(e,t),e.def=t,Object.defineProperty(e,"_def",{value:t}),e.check=(...r)=>e.clone({...t,checks:[...t.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),e.clone=(r,n)=>He(e,r,n),e.brand=()=>e,e.register=(r,n)=>(r.add(e,n),e),e.parse=(r,n)=>tp(e,r,n,{callee:e.parse}),e.safeParse=(r,n)=>np(e,r,n),e.parseAsync=async(r,n)=>rp(e,r,n,{callee:e.parseAsync}),e.safeParseAsync=async(r,n)=>op(e,r,n),e.spa=e.safeParseAsync,e.refine=(r,n)=>e.check(uv(r,n)),e.superRefine=r=>e.check(lv(r)),e.overwrite=r=>e.check(St(r)),e.optional=()=>re(e),e.nullable=()=>ap(e),e.nullish=()=>re(ap(e)),e.nonoptional=r=>rv(e,r),e.array=()=>M(e),e.or=r=>Q([e,r]),e.and=r=>Fn(e,r),e.transform=r=>ts(e,fp(r)),e.default=r=>X_(e,r),e.prefault=r=>tv(e,r),e.catch=r=>ov(e,r),e.pipe=r=>ts(e,r),e.readonly=()=>av(e),e.describe=r=>{let n=e.clone();return Pr.add(n,{description:r}),n},Object.defineProperty(e,"description",{get(){return Pr.get(e)?.description},configurable:!0}),e.meta=(...r)=>{if(r.length===0)return Pr.get(e);let n=e.clone();return Pr.add(n,r[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),cp=y("_ZodString",(e,t)=>{Dn.init(e,t),ne.init(e,t);let r=e._zod.bag;e.format=r.format??null,e.minLength=r.minimum??null,e.maxLength=r.maximum??null,e.regex=(...n)=>e.check(Bi(...n)),e.includes=(...n)=>e.check(Ui(...n)),e.startsWith=(...n)=>e.check(Fi(...n)),e.endsWith=(...n)=>e.check(Vi(...n)),e.min=(...n)=>e.check(Vt(...n)),e.max=(...n)=>e.check(Bn(...n)),e.length=(...n)=>e.check(Ln(...n)),e.nonempty=(...n)=>e.check(Vt(1,...n)),e.lowercase=n=>e.check(Li(n)),e.uppercase=n=>e.check(Zi(n)),e.trim=()=>e.check(Hi()),e.normalize=(...n)=>e.check(Ki(...n)),e.toLowerCase=()=>e.check(Gi()),e.toUpperCase=()=>e.check(Wi())}),b_=y("ZodString",(e,t)=>{Dn.init(e,t),cp.init(e,t),e.email=r=>e.check(hd($_,r)),e.url=r=>e.check(wd(x_,r)),e.jwt=r=>e.check(Od(M_,r)),e.emoji=r=>e.check(bd(k_,r)),e.guid=r=>e.check(qi(ip,r)),e.uuid=r=>e.check(gd(Un,r)),e.uuidv4=r=>e.check(yd(Un,r)),e.uuidv6=r=>e.check(_d(Un,r)),e.uuidv7=r=>e.check(vd(Un,r)),e.nanoid=r=>e.check($d(S_,r)),e.guid=r=>e.check(qi(ip,r)),e.cuid=r=>e.check(xd(E_,r)),e.cuid2=r=>e.check(kd(z_,r)),e.ulid=r=>e.check(Sd(T_,r)),e.base64=r=>e.check(Ad(O_,r)),e.base64url=r=>e.check(Cd(D_,r)),e.xid=r=>e.check(Ed(P_,r)),e.ksuid=r=>e.check(zd(R_,r)),e.ipv4=r=>e.check(Td(I_,r)),e.ipv6=r=>e.check(Pd(A_,r)),e.cidrv4=r=>e.check(Rd(C_,r)),e.cidrv6=r=>e.check(Id(N_,r)),e.e164=r=>e.check(Nd(j_,r)),e.datetime=r=>e.check(Ji(r)),e.date=r=>e.check(Qi(r)),e.time=r=>e.check(Yi(r)),e.duration=r=>e.check(Xi(r))});function m(e){return md(b_,e)}var ee=y("ZodStringFormat",(e,t)=>{J.init(e,t),cp.init(e,t)}),$_=y("ZodEmail",(e,t)=>{xl.init(e,t),ee.init(e,t)});var ip=y("ZodGUID",(e,t)=>{bl.init(e,t),ee.init(e,t)});var Un=y("ZodUUID",(e,t)=>{$l.init(e,t),ee.init(e,t)});var x_=y("ZodURL",(e,t)=>{kl.init(e,t),ee.init(e,t)});var k_=y("ZodEmoji",(e,t)=>{Sl.init(e,t),ee.init(e,t)});var S_=y("ZodNanoID",(e,t)=>{El.init(e,t),ee.init(e,t)});var E_=y("ZodCUID",(e,t)=>{zl.init(e,t),ee.init(e,t)});var z_=y("ZodCUID2",(e,t)=>{Tl.init(e,t),ee.init(e,t)});var T_=y("ZodULID",(e,t)=>{Pl.init(e,t),ee.init(e,t)});var P_=y("ZodXID",(e,t)=>{Rl.init(e,t),ee.init(e,t)});var R_=y("ZodKSUID",(e,t)=>{Il.init(e,t),ee.init(e,t)});var I_=y("ZodIPv4",(e,t)=>{Dl.init(e,t),ee.init(e,t)});var A_=y("ZodIPv6",(e,t)=>{jl.init(e,t),ee.init(e,t)});var C_=y("ZodCIDRv4",(e,t)=>{Ml.init(e,t),ee.init(e,t)});var N_=y("ZodCIDRv6",(e,t)=>{ql.init(e,t),ee.init(e,t)});var O_=y("ZodBase64",(e,t)=>{Ll.init(e,t),ee.init(e,t)});var D_=y("ZodBase64URL",(e,t)=>{Zl.init(e,t),ee.init(e,t)});var j_=y("ZodE164",(e,t)=>{Ul.init(e,t),ee.init(e,t)});var M_=y("ZodJWT",(e,t)=>{Fl.init(e,t),ee.init(e,t)});var up=y("ZodNumber",(e,t)=>{Di.init(e,t),ne.init(e,t),e.gt=(n,o)=>e.check(Mn(n,o)),e.gte=(n,o)=>e.check(Ir(n,o)),e.min=(n,o)=>e.check(Ir(n,o)),e.lt=(n,o)=>e.check(jn(n,o)),e.lte=(n,o)=>e.check(Rr(n,o)),e.max=(n,o)=>e.check(Rr(n,o)),e.int=n=>e.check(sp(n)),e.safe=n=>e.check(sp(n)),e.positive=n=>e.check(Mn(0,n)),e.nonnegative=n=>e.check(Ir(0,n)),e.negative=n=>e.check(jn(0,n)),e.nonpositive=n=>e.check(Rr(0,n)),e.multipleOf=(n,o)=>e.check(qn(n,o)),e.step=(n,o)=>e.check(qn(n,o)),e.finite=()=>e;let r=e._zod.bag;e.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??.5),e.isFinite=!0,e.format=r.format??null});function F(e){return Bd(up,e)}var q_=y("ZodNumberFormat",(e,t)=>{Vl.init(e,t),up.init(e,t)});function sp(e){return Ld(q_,e)}var B_=y("ZodBoolean",(e,t)=>{Kl.init(e,t),ne.init(e,t)});function ae(e){return Zd(B_,e)}var L_=y("ZodNull",(e,t)=>{Hl.init(e,t),ne.init(e,t)});function lp(e){return Ud(L_,e)}var Z_=y("ZodUnknown",(e,t)=>{Gl.init(e,t),ne.init(e,t)});function te(){return Fd(Z_)}var U_=y("ZodNever",(e,t)=>{Wl.init(e,t),ne.init(e,t)});function F_(e){return Vd(U_,e)}var V_=y("ZodArray",(e,t)=>{Jl.init(e,t),ne.init(e,t),e.element=t.element,e.min=(r,n)=>e.check(Vt(r,n)),e.nonempty=r=>e.check(Vt(1,r)),e.max=(r,n)=>e.check(Bn(r,n)),e.length=(r,n)=>e.check(Ln(r,n)),e.unwrap=()=>e.element});function M(e,t){return Kd(V_,e,t)}var dp=y("ZodObject",(e,t)=>{Ql.init(e,t),ne.init(e,t),U.defineLazy(e,"shape",()=>t.shape),e.keyof=()=>xe(Object.keys(e._zod.def.shape)),e.catchall=r=>e.clone({...e._zod.def,catchall:r}),e.passthrough=()=>e.clone({...e._zod.def,catchall:te()}),e.loose=()=>e.clone({...e._zod.def,catchall:te()}),e.strict=()=>e.clone({...e._zod.def,catchall:F_()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=r=>U.extend(e,r),e.merge=r=>U.merge(e,r),e.pick=r=>U.pick(e,r),e.omit=r=>U.omit(e,r),e.partial=(...r)=>U.partial(mp,e,r[0]),e.required=(...r)=>U.required(hp,e,r[0])});function x(e,t){let r={type:"object",get shape(){return U.assignProp(this,"shape",{...e}),this.shape},...U.normalizeParams(t)};return new dp(r)}function ve(e,t){return new dp({type:"object",get shape(){return U.assignProp(this,"shape",{...e}),this.shape},catchall:te(),...U.normalizeParams(t)})}var pp=y("ZodUnion",(e,t)=>{ji.init(e,t),ne.init(e,t),e.options=t.options});function Q(e,t){return new pp({type:"union",options:e,...U.normalizeParams(t)})}var K_=y("ZodDiscriminatedUnion",(e,t)=>{pp.init(e,t),Yl.init(e,t)});function rs(e,t,r){return new K_({type:"union",options:t,discriminator:e,...U.normalizeParams(r)})}var H_=y("ZodIntersection",(e,t)=>{Xl.init(e,t),ne.init(e,t)});function Fn(e,t){return new H_({type:"intersection",left:e,right:t})}var G_=y("ZodRecord",(e,t)=>{ed.init(e,t),ne.init(e,t),e.keyType=t.keyType,e.valueType=t.valueType});function W(e,t,r){return new G_({type:"record",keyType:e,valueType:t,...U.normalizeParams(r)})}var es=y("ZodEnum",(e,t)=>{td.init(e,t),ne.init(e,t),e.enum=t.entries,e.options=Object.values(t.entries);let r=new Set(Object.keys(t.entries));e.extract=(n,o)=>{let i={};for(let s of n)if(r.has(s))i[s]=t.entries[s];else throw new Error(`Key ${s} not found in enum`);return new es({...t,checks:[],...U.normalizeParams(o),entries:i})},e.exclude=(n,o)=>{let i={...t.entries};for(let s of n)if(r.has(s))delete i[s];else throw new Error(`Key ${s} not found in enum`);return new es({...t,checks:[],...U.normalizeParams(o),entries:i})}});function xe(e,t){let r=Array.isArray(e)?Object.fromEntries(e.map(n=>[n,n])):e;return new es({type:"enum",entries:r,...U.normalizeParams(t)})}var W_=y("ZodLiteral",(e,t)=>{rd.init(e,t),ne.init(e,t),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function k(e,t){return new W_({type:"literal",values:Array.isArray(e)?e:[e],...U.normalizeParams(t)})}var J_=y("ZodTransform",(e,t)=>{nd.init(e,t),ne.init(e,t),e._zod.parse=(r,n)=>{r.addIssue=i=>{if(typeof i=="string")r.issues.push(U.issue(i,r.value,t));else{let s=i;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),s.input??(s.input=r.value),s.inst??(s.inst=e),s.continue??(s.continue=!0),r.issues.push(U.issue(s))}};let o=t.transform(r.value,r);return o instanceof Promise?o.then(i=>(r.value=i,r)):(r.value=o,r)}});function fp(e){return new J_({type:"transform",transform:e})}var mp=y("ZodOptional",(e,t)=>{od.init(e,t),ne.init(e,t),e.unwrap=()=>e._zod.def.innerType});function re(e){return new mp({type:"optional",innerType:e})}var Q_=y("ZodNullable",(e,t)=>{id.init(e,t),ne.init(e,t),e.unwrap=()=>e._zod.def.innerType});function ap(e){return new Q_({type:"nullable",innerType:e})}var Y_=y("ZodDefault",(e,t)=>{sd.init(e,t),ne.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function X_(e,t){return new Y_({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var ev=y("ZodPrefault",(e,t)=>{ad.init(e,t),ne.init(e,t),e.unwrap=()=>e._zod.def.innerType});function tv(e,t){return new ev({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}var hp=y("ZodNonOptional",(e,t)=>{cd.init(e,t),ne.init(e,t),e.unwrap=()=>e._zod.def.innerType});function rv(e,t){return new hp({type:"nonoptional",innerType:e,...U.normalizeParams(t)})}var nv=y("ZodCatch",(e,t)=>{ud.init(e,t),ne.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function ov(e,t){return new nv({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}var iv=y("ZodPipe",(e,t)=>{ld.init(e,t),ne.init(e,t),e.in=t.in,e.out=t.out});function ts(e,t){return new iv({type:"pipe",in:e,out:t})}var sv=y("ZodReadonly",(e,t)=>{dd.init(e,t),ne.init(e,t)});function av(e){return new sv({type:"readonly",innerType:e})}var gp=y("ZodCustom",(e,t)=>{pd.init(e,t),ne.init(e,t)});function cv(e){let t=new fe({check:"custom"});return t._zod.check=e,t}function yp(e,t){return Hd(gp,e??(()=>!0),t)}function uv(e,t={}){return Gd(gp,e,t)}function lv(e){let t=cv(r=>(r.addIssue=n=>{if(typeof n=="string")r.issues.push(U.issue(n,r.value,t._zod.def));else{let o=n;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=r.value),o.inst??(o.inst=t),o.continue??(o.continue=!t._zod.def.abort),r.issues.push(U.issue(o))}},e(r.value,r)));return t}function ns(e,t){return ts(fp(e),t)}Re(fd());var is="2025-11-25";var _p=[is,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],lt="io.modelcontextprotocol/related-task",Kn="2.0",se=yp(e=>e!==null&&(typeof e=="object"||typeof e=="function")),vp=Q([m(),F().int()]),wp=m(),VI=ve({ttl:F().optional(),pollInterval:F().optional()}),dv=x({ttl:F().optional()}),pv=x({taskId:m()}),ss=ve({progressToken:vp.optional(),[lt]:pv.optional()}),Te=x({_meta:ss.optional()}),Or=Te.extend({task:dv.optional()}),bp=e=>Or.safeParse(e).success,ce=x({method:m(),params:Te.loose().optional()}),Ie=x({_meta:ss.optional()}),Ae=x({method:m(),params:Ie.loose().optional()}),ue=ve({_meta:ss.optional()}),Hn=Q([m(),F().int()]),$p=x({jsonrpc:k(Kn),id:Hn,...ce.shape}).strict(),as=e=>$p.safeParse(e).success,xp=x({jsonrpc:k(Kn),...Ae.shape}).strict(),kp=e=>xp.safeParse(e).success,cs=x({jsonrpc:k(Kn),id:Hn,result:ue}).strict(),Dr=e=>cs.safeParse(e).success;var I;(function(e){e[e.ConnectionClosed=-32e3]="ConnectionClosed",e[e.RequestTimeout=-32001]="RequestTimeout",e[e.ParseError=-32700]="ParseError",e[e.InvalidRequest=-32600]="InvalidRequest",e[e.MethodNotFound=-32601]="MethodNotFound",e[e.InvalidParams=-32602]="InvalidParams",e[e.InternalError=-32603]="InternalError",e[e.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(I||(I={}));var us=x({jsonrpc:k(Kn),id:Hn.optional(),error:x({code:F().int(),message:m(),data:te().optional()})}).strict();var Sp=e=>us.safeParse(e).success;var Ep=Q([$p,xp,cs,us]),KI=Q([cs,us]),Et=ue.strict(),fv=Ie.extend({requestId:Hn.optional(),reason:m().optional()}),Gn=Ae.extend({method:k("notifications/cancelled"),params:fv}),mv=x({src:m(),mimeType:m().optional(),sizes:M(m()).optional(),theme:xe(["light","dark"]).optional()}),jr=x({icons:M(mv).optional()}),Ht=x({name:m(),title:m().optional()}),zp=Ht.extend({...Ht.shape,...jr.shape,version:m(),websiteUrl:m().optional(),description:m().optional()}),hv=Fn(x({applyDefaults:ae().optional()}),W(m(),te())),gv=ns(e=>e&&typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length===0?{form:{}}:e,Fn(x({form:hv.optional(),url:se.optional()}),W(m(),te()).optional())),yv=ve({list:se.optional(),cancel:se.optional(),requests:ve({sampling:ve({createMessage:se.optional()}).optional(),elicitation:ve({create:se.optional()}).optional()}).optional()}),_v=ve({list:se.optional(),cancel:se.optional(),requests:ve({tools:ve({call:se.optional()}).optional()}).optional()}),vv=x({experimental:W(m(),se).optional(),sampling:x({context:se.optional(),tools:se.optional()}).optional(),elicitation:gv.optional(),roots:x({listChanged:ae().optional()}).optional(),tasks:yv.optional(),extensions:W(m(),se).optional()}),wv=Te.extend({protocolVersion:m(),capabilities:vv,clientInfo:zp}),bv=ce.extend({method:k("initialize"),params:wv});var $v=x({experimental:W(m(),se).optional(),logging:se.optional(),completions:se.optional(),prompts:x({listChanged:ae().optional()}).optional(),resources:x({subscribe:ae().optional(),listChanged:ae().optional()}).optional(),tools:x({listChanged:ae().optional()}).optional(),tasks:_v.optional(),extensions:W(m(),se).optional()}),ls=ue.extend({protocolVersion:m(),capabilities:$v,serverInfo:zp,instructions:m().optional()}),xv=Ae.extend({method:k("notifications/initialized"),params:Ie.optional()});var Wn=ce.extend({method:k("ping"),params:Te.optional()}),kv=x({progress:F(),total:re(F()),message:re(m())}),Sv=x({...Ie.shape,...kv.shape,progressToken:vp}),Jn=Ae.extend({method:k("notifications/progress"),params:Sv}),Ev=Te.extend({cursor:wp.optional()}),Mr=ce.extend({params:Ev.optional()}),qr=ue.extend({nextCursor:wp.optional()}),zv=xe(["working","input_required","completed","failed","cancelled"]),Br=x({taskId:m(),status:zv,ttl:Q([F(),lp()]),createdAt:m(),lastUpdatedAt:m(),pollInterval:re(F()),statusMessage:re(m())}),zt=ue.extend({task:Br}),Tv=Ie.merge(Br),Lr=Ae.extend({method:k("notifications/tasks/status"),params:Tv}),Qn=ce.extend({method:k("tasks/get"),params:Te.extend({taskId:m()})}),Yn=ue.merge(Br),Xn=ce.extend({method:k("tasks/result"),params:Te.extend({taskId:m()})}),HI=ue.loose(),eo=Mr.extend({method:k("tasks/list")}),to=qr.extend({tasks:M(Br)}),ro=ce.extend({method:k("tasks/cancel"),params:Te.extend({taskId:m()})}),Tp=ue.merge(Br),Pp=x({uri:m(),mimeType:re(m()),_meta:W(m(),te()).optional()}),Rp=Pp.extend({text:m()}),ds=m().refine(e=>{try{return atob(e),!0}catch{return!1}},{message:"Invalid Base64 string"}),Ip=Pp.extend({blob:ds}),Zr=xe(["user","assistant"]),Gt=x({audience:M(Zr).optional(),priority:F().min(0).max(1).optional(),lastModified:Cr.datetime({offset:!0}).optional()}),Ap=x({...Ht.shape,...jr.shape,uri:m(),description:re(m()),mimeType:re(m()),size:re(F()),annotations:Gt.optional(),_meta:re(ve({}))}),Pv=x({...Ht.shape,...jr.shape,uriTemplate:m(),description:re(m()),mimeType:re(m()),annotations:Gt.optional(),_meta:re(ve({}))}),Rv=Mr.extend({method:k("resources/list")}),ps=qr.extend({resources:M(Ap)}),Iv=Mr.extend({method:k("resources/templates/list")}),fs=qr.extend({resourceTemplates:M(Pv)}),ms=Te.extend({uri:m()}),Av=ms,Cv=ce.extend({method:k("resources/read"),params:Av}),hs=ue.extend({contents:M(Q([Rp,Ip]))}),gs=Ae.extend({method:k("notifications/resources/list_changed"),params:Ie.optional()}),Nv=ms,Ov=ce.extend({method:k("resources/subscribe"),params:Nv}),Dv=ms,jv=ce.extend({method:k("resources/unsubscribe"),params:Dv}),Mv=Ie.extend({uri:m()}),qv=Ae.extend({method:k("notifications/resources/updated"),params:Mv}),Bv=x({name:m(),description:re(m()),required:re(ae())}),Lv=x({...Ht.shape,...jr.shape,description:re(m()),arguments:re(M(Bv)),_meta:re(ve({}))}),Zv=Mr.extend({method:k("prompts/list")}),ys=qr.extend({prompts:M(Lv)}),Uv=Te.extend({name:m(),arguments:W(m(),m()).optional()}),Fv=ce.extend({method:k("prompts/get"),params:Uv}),_s=x({type:k("text"),text:m(),annotations:Gt.optional(),_meta:W(m(),te()).optional()}),vs=x({type:k("image"),data:ds,mimeType:m(),annotations:Gt.optional(),_meta:W(m(),te()).optional()}),ws=x({type:k("audio"),data:ds,mimeType:m(),annotations:Gt.optional(),_meta:W(m(),te()).optional()}),Vv=x({type:k("tool_use"),name:m(),id:m(),input:W(m(),te()),_meta:W(m(),te()).optional()}),Kv=x({type:k("resource"),resource:Q([Rp,Ip]),annotations:Gt.optional(),_meta:W(m(),te()).optional()}),Hv=Ap.extend({type:k("resource_link")}),bs=Q([_s,vs,ws,Hv,Kv]),Gv=x({role:Zr,content:bs}),$s=ue.extend({description:m().optional(),messages:M(Gv)}),xs=Ae.extend({method:k("notifications/prompts/list_changed"),params:Ie.optional()}),Wv=x({title:m().optional(),readOnlyHint:ae().optional(),destructiveHint:ae().optional(),idempotentHint:ae().optional(),openWorldHint:ae().optional()}),Jv=x({taskSupport:xe(["required","optional","forbidden"]).optional()}),Cp=x({...Ht.shape,...jr.shape,description:m().optional(),inputSchema:x({type:k("object"),properties:W(m(),se).optional(),required:M(m()).optional()}).catchall(te()),outputSchema:x({type:k("object"),properties:W(m(),se).optional(),required:M(m()).optional()}).catchall(te()).optional(),annotations:Wv.optional(),execution:Jv.optional(),_meta:W(m(),te()).optional()}),Qv=Mr.extend({method:k("tools/list")}),ks=qr.extend({tools:M(Cp)}),dt=ue.extend({content:M(bs).default([]),structuredContent:W(m(),te()).optional(),isError:ae().optional()}),GI=dt.or(ue.extend({toolResult:te()})),Yv=Or.extend({name:m(),arguments:W(m(),te()).optional()}),Xv=ce.extend({method:k("tools/call"),params:Yv}),Ss=Ae.extend({method:k("notifications/tools/list_changed"),params:Ie.optional()}),Np=x({autoRefresh:ae().default(!0),debounceMs:F().int().nonnegative().default(300)}),Op=xe(["debug","info","notice","warning","error","critical","alert","emergency"]),ew=Te.extend({level:Op}),tw=ce.extend({method:k("logging/setLevel"),params:ew}),rw=Ie.extend({level:Op,logger:m().optional(),data:te()}),nw=Ae.extend({method:k("notifications/message"),params:rw}),ow=x({name:m().optional()}),iw=x({hints:M(ow).optional(),costPriority:F().min(0).max(1).optional(),speedPriority:F().min(0).max(1).optional(),intelligencePriority:F().min(0).max(1).optional()}),sw=x({mode:xe(["auto","required","none"]).optional()}),aw=x({type:k("tool_result"),toolUseId:m().describe("The unique identifier for the corresponding tool call."),content:M(bs).default([]),structuredContent:x({}).loose().optional(),isError:ae().optional(),_meta:W(m(),te()).optional()}),cw=rs("type",[_s,vs,ws]),Vn=rs("type",[_s,vs,ws,Vv,aw]),uw=x({role:Zr,content:Q([Vn,M(Vn)]),_meta:W(m(),te()).optional()}),lw=Or.extend({messages:M(uw),modelPreferences:iw.optional(),systemPrompt:m().optional(),includeContext:xe(["none","thisServer","allServers"]).optional(),temperature:F().optional(),maxTokens:F().int(),stopSequences:M(m()).optional(),metadata:se.optional(),tools:M(Cp).optional(),toolChoice:sw.optional()}),Es=ce.extend({method:k("sampling/createMessage"),params:lw}),zs=ue.extend({model:m(),stopReason:re(xe(["endTurn","stopSequence","maxTokens"]).or(m())),role:Zr,content:cw}),Ts=ue.extend({model:m(),stopReason:re(xe(["endTurn","stopSequence","maxTokens","toolUse"]).or(m())),role:Zr,content:Q([Vn,M(Vn)])}),dw=x({type:k("boolean"),title:m().optional(),description:m().optional(),default:ae().optional()}),pw=x({type:k("string"),title:m().optional(),description:m().optional(),minLength:F().optional(),maxLength:F().optional(),format:xe(["email","uri","date","date-time"]).optional(),default:m().optional()}),fw=x({type:xe(["number","integer"]),title:m().optional(),description:m().optional(),minimum:F().optional(),maximum:F().optional(),default:F().optional()}),mw=x({type:k("string"),title:m().optional(),description:m().optional(),enum:M(m()),default:m().optional()}),hw=x({type:k("string"),title:m().optional(),description:m().optional(),oneOf:M(x({const:m(),title:m()})),default:m().optional()}),gw=x({type:k("string"),title:m().optional(),description:m().optional(),enum:M(m()),enumNames:M(m()).optional(),default:m().optional()}),yw=Q([mw,hw]),_w=x({type:k("array"),title:m().optional(),description:m().optional(),minItems:F().optional(),maxItems:F().optional(),items:x({type:k("string"),enum:M(m())}),default:M(m()).optional()}),vw=x({type:k("array"),title:m().optional(),description:m().optional(),minItems:F().optional(),maxItems:F().optional(),items:x({anyOf:M(x({const:m(),title:m()}))}),default:M(m()).optional()}),ww=Q([_w,vw]),bw=Q([gw,yw,ww]),$w=Q([bw,dw,pw,fw]),xw=Or.extend({mode:k("form").optional(),message:m(),requestedSchema:x({type:k("object"),properties:W(m(),$w),required:M(m()).optional()})}),kw=Or.extend({mode:k("url"),message:m(),elicitationId:m(),url:m().url()}),Sw=Q([xw,kw]),Ps=ce.extend({method:k("elicitation/create"),params:Sw}),Ew=Ie.extend({elicitationId:m()}),zw=Ae.extend({method:k("notifications/elicitation/complete"),params:Ew}),Rs=ue.extend({action:xe(["accept","decline","cancel"]),content:ns(e=>e===null?void 0:e,W(m(),Q([m(),F(),ae(),M(m())])).optional())}),Tw=x({type:k("ref/resource"),uri:m()});var Pw=x({type:k("ref/prompt"),name:m()}),Rw=Te.extend({ref:Q([Pw,Tw]),argument:x({name:m(),value:m()}),context:x({arguments:W(m(),m()).optional()}).optional()}),Iw=ce.extend({method:k("completion/complete"),params:Rw});var Is=ue.extend({completion:ve({values:M(m()).max(100),total:re(F().int()),hasMore:re(ae())})}),Aw=x({uri:m().startsWith("file://"),name:m().optional(),_meta:W(m(),te()).optional()}),Cw=ce.extend({method:k("roots/list"),params:Te.optional()}),Nw=ue.extend({roots:M(Aw)}),Ow=Ae.extend({method:k("notifications/roots/list_changed"),params:Ie.optional()}),WI=Q([Wn,bv,Iw,tw,Fv,Zv,Rv,Iv,Cv,Ov,jv,Xv,Qv,Qn,Xn,eo,ro]),JI=Q([Gn,Jn,xv,Ow,Lr]),QI=Q([Et,zs,Ts,Rs,Nw,Yn,to,zt]),YI=Q([Wn,Es,Ps,Cw,Qn,Xn,eo,ro]),XI=Q([Gn,Jn,nw,qv,gs,Ss,xs,Lr,zw]),eA=Q([Et,ls,Is,$s,ys,ps,fs,hs,dt,ks,Yn,to,zt]),E=class e extends Error{constructor(t,r,n){super(`MCP error ${t}: ${r}`),this.code=t,this.data=n,this.name="McpError"}static fromError(t,r,n){if(t===I.UrlElicitationRequired&&n){let o=n;if(o.elicitations)return new os(o.elicitations,r)}return new e(t,r,n)}},os=class extends E{constructor(t,r=`URL elicitation${t.length>1?"s":""} required`){super(I.UrlElicitationRequired,r,{elicitations:t})}get elicitations(){return this.data?.elicitations??[]}};function pt(e){return e==="completed"||e==="failed"||e==="cancelled"}var Dw=Symbol("Let zodToJsonSchema decide on which parser to use");var CA=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function As(e){let r=Zn(e)?.method;if(!r)throw new Error("Schema is missing a method literal");let n=Wd(r);if(typeof n!="string")throw new Error("Schema method literal must be a string");return n}function Cs(e,t){let r=Me(e,t);if(!r.success)throw r.error;return r.data}var Zw=6e4,no=class{constructor(t){this._options=t,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(Gn,r=>{this._oncancel(r)}),this.setNotificationHandler(Jn,r=>{this._onprogress(r)}),this.setRequestHandler(Wn,r=>({})),this._taskStore=t?.taskStore,this._taskMessageQueue=t?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(Qn,async(r,n)=>{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new E(I.InvalidParams,"Failed to retrieve task: Task not found");return{...o}}),this.setRequestHandler(Xn,async(r,n)=>{let o=async()=>{let i=r.params.taskId;if(this._taskMessageQueue){let a;for(;a=await this._taskMessageQueue.dequeue(i,n.sessionId);){if(a.type==="response"||a.type==="error"){let c=a.message,l=c.id,u=this._requestResolvers.get(l);if(u)if(this._requestResolvers.delete(l),a.type==="response")u(c);else{let d=c,p=new E(d.error.code,d.error.message,d.error.data);u(p)}else{let d=a.type==="response"?"Response":"Error";this._onerror(new Error(`${d} handler missing for request ${l}`))}continue}await this._transport?.send(a.message,{relatedRequestId:n.requestId})}}let s=await this._taskStore.getTask(i,n.sessionId);if(!s)throw new E(I.InvalidParams,`Task not found: ${i}`);if(!pt(s.status))return await this._waitForTaskUpdate(i,n.signal),await o();if(pt(s.status)){let a=await this._taskStore.getTaskResult(i,n.sessionId);return this._clearTaskQueue(i),{...a,_meta:{...a._meta,[lt]:{taskId:i}}}}return await o()};return await o()}),this.setRequestHandler(eo,async(r,n)=>{try{let{tasks:o,nextCursor:i}=await this._taskStore.listTasks(r.params?.cursor,n.sessionId);return{tasks:o,nextCursor:i,_meta:{}}}catch(o){throw new E(I.InvalidParams,`Failed to list tasks: ${o instanceof Error?o.message:String(o)}`)}}),this.setRequestHandler(ro,async(r,n)=>{try{let o=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!o)throw new E(I.InvalidParams,`Task not found: ${r.params.taskId}`);if(pt(o.status))throw new E(I.InvalidParams,`Cannot cancel task in terminal status: ${o.status}`);await this._taskStore.updateTaskStatus(r.params.taskId,"cancelled","Client cancelled task execution.",n.sessionId),this._clearTaskQueue(r.params.taskId);let i=await this._taskStore.getTask(r.params.taskId,n.sessionId);if(!i)throw new E(I.InvalidParams,`Task not found after cancellation: ${r.params.taskId}`);return{_meta:{},...i}}catch(o){throw o instanceof E?o:new E(I.InvalidRequest,`Failed to cancel task: ${o instanceof Error?o.message:String(o)}`)}}))}async _oncancel(t){if(!t.params.requestId)return;this._requestHandlerAbortControllers.get(t.params.requestId)?.abort(t.params.reason)}_setupTimeout(t,r,n,o,i=!1){this._timeoutInfo.set(t,{timeoutId:setTimeout(o,r),startTime:Date.now(),timeout:r,maxTotalTimeout:n,resetTimeoutOnProgress:i,onTimeout:o})}_resetTimeout(t){let r=this._timeoutInfo.get(t);if(!r)return!1;let n=Date.now()-r.startTime;if(r.maxTotalTimeout&&n>=r.maxTotalTimeout)throw this._timeoutInfo.delete(t),E.fromError(I.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:r.maxTotalTimeout,totalElapsed:n});return clearTimeout(r.timeoutId),r.timeoutId=setTimeout(r.onTimeout,r.timeout),!0}_cleanupTimeout(t){let r=this._timeoutInfo.get(t);r&&(clearTimeout(r.timeoutId),this._timeoutInfo.delete(t))}async connect(t){if(this._transport)throw new Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=t;let r=this.transport?.onclose;this._transport.onclose=()=>{r?.(),this._onclose()};let n=this.transport?.onerror;this._transport.onerror=i=>{n?.(i),this._onerror(i)};let o=this._transport?.onmessage;this._transport.onmessage=(i,s)=>{o?.(i,s),Dr(i)||Sp(i)?this._onresponse(i):as(i)?this._onrequest(i,s):kp(i)?this._onnotification(i):this._onerror(new Error(`Unknown message type: ${JSON.stringify(i)}`))},await this._transport.start()}_onclose(){let t=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let n of this._timeoutInfo.values())clearTimeout(n.timeoutId);this._timeoutInfo.clear();for(let n of this._requestHandlerAbortControllers.values())n.abort();this._requestHandlerAbortControllers.clear();let r=E.fromError(I.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let n of t.values())n(r)}_onerror(t){this.onerror?.(t)}_onnotification(t){let r=this._notificationHandlers.get(t.method)??this.fallbackNotificationHandler;r!==void 0&&Promise.resolve().then(()=>r(t)).catch(n=>this._onerror(new Error(`Uncaught error in notification handler: ${n}`)))}_onrequest(t,r){let n=this._requestHandlers.get(t.method)??this.fallbackRequestHandler,o=this._transport,i=t.params?._meta?.[lt]?.taskId;if(n===void 0){let u={jsonrpc:"2.0",id:t.id,error:{code:I.MethodNotFound,message:"Method not found"}};i&&this._taskMessageQueue?this._enqueueTaskMessage(i,{type:"error",message:u,timestamp:Date.now()},o?.sessionId).catch(d=>this._onerror(new Error(`Failed to enqueue error response: ${d}`))):o?.send(u).catch(d=>this._onerror(new Error(`Failed to send an error response: ${d}`)));return}let s=new AbortController;this._requestHandlerAbortControllers.set(t.id,s);let a=bp(t.params)?t.params.task:void 0,c=this._taskStore?this.requestTaskStore(t,o?.sessionId):void 0,l={signal:s.signal,sessionId:o?.sessionId,_meta:t.params?._meta,sendNotification:async u=>{if(s.signal.aborted)return;let d={relatedRequestId:t.id};i&&(d.relatedTask={taskId:i}),await this.notification(u,d)},sendRequest:async(u,d,p)=>{if(s.signal.aborted)throw new E(I.ConnectionClosed,"Request was cancelled");let f={...p,relatedRequestId:t.id};i&&!f.relatedTask&&(f.relatedTask={taskId:i});let h=f.relatedTask?.taskId??i;return h&&c&&await c.updateTaskStatus(h,"input_required"),await this.request(u,d,f)},authInfo:r?.authInfo,requestId:t.id,requestInfo:r?.requestInfo,taskId:i,taskStore:c,taskRequestedTtl:a?.ttl,closeSSEStream:r?.closeSSEStream,closeStandaloneSSEStream:r?.closeStandaloneSSEStream};Promise.resolve().then(()=>{a&&this.assertTaskHandlerCapability(t.method)}).then(()=>n(t,l)).then(async u=>{if(s.signal.aborted)return;let d={result:u,jsonrpc:"2.0",id:t.id};i&&this._taskMessageQueue?await this._enqueueTaskMessage(i,{type:"response",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)},async u=>{if(s.signal.aborted)return;let d={jsonrpc:"2.0",id:t.id,error:{code:Number.isSafeInteger(u.code)?u.code:I.InternalError,message:u.message??"Internal error",...u.data!==void 0&&{data:u.data}}};i&&this._taskMessageQueue?await this._enqueueTaskMessage(i,{type:"error",message:d,timestamp:Date.now()},o?.sessionId):await o?.send(d)}).catch(u=>this._onerror(new Error(`Failed to send response: ${u}`))).finally(()=>{this._requestHandlerAbortControllers.get(t.id)===s&&this._requestHandlerAbortControllers.delete(t.id)})}_onprogress(t){let{progressToken:r,...n}=t.params,o=Number(r),i=this._progressHandlers.get(o);if(!i){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(t)}`));return}let s=this._responseHandlers.get(o),a=this._timeoutInfo.get(o);if(a&&s&&a.resetTimeoutOnProgress)try{this._resetTimeout(o)}catch(c){this._responseHandlers.delete(o),this._progressHandlers.delete(o),this._cleanupTimeout(o),s(c);return}i(n)}_onresponse(t){let r=Number(t.id),n=this._requestResolvers.get(r);if(n){if(this._requestResolvers.delete(r),Dr(t))n(t);else{let s=new E(t.error.code,t.error.message,t.error.data);n(s)}return}let o=this._responseHandlers.get(r);if(o===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(t)}`));return}this._responseHandlers.delete(r),this._cleanupTimeout(r);let i=!1;if(Dr(t)&&t.result&&typeof t.result=="object"){let s=t.result;if(s.task&&typeof s.task=="object"){let a=s.task;typeof a.taskId=="string"&&(i=!0,this._taskProgressTokens.set(a.taskId,r))}}if(i||this._progressHandlers.delete(r),Dr(t))o(t);else{let s=E.fromError(t.error.code,t.error.message,t.error.data);o(s)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(t,r,n){let{task:o}=n??{};if(!o){try{yield{type:"result",result:await this.request(t,r,n)}}catch(s){yield{type:"error",error:s instanceof E?s:new E(I.InternalError,String(s))}}return}let i;try{let s=await this.request(t,zt,n);if(s.task)i=s.task.taskId,yield{type:"taskCreated",task:s.task};else throw new E(I.InternalError,"Task creation did not return a task");for(;;){let a=await this.getTask({taskId:i},n);if(yield{type:"taskStatus",task:a},pt(a.status)){a.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:i},r,n)}:a.status==="failed"?yield{type:"error",error:new E(I.InternalError,`Task ${i} failed`)}:a.status==="cancelled"&&(yield{type:"error",error:new E(I.InternalError,`Task ${i} was cancelled`)});return}if(a.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:i},r,n)};return}let c=a.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(l=>setTimeout(l,c)),n?.signal?.throwIfAborted()}}catch(s){yield{type:"error",error:s instanceof E?s:new E(I.InternalError,String(s))}}}request(t,r,n){let{relatedRequestId:o,resumptionToken:i,onresumptiontoken:s,task:a,relatedTask:c}=n??{};return new Promise((l,u)=>{let d=b=>{u(b)};if(!this._transport){d(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(t.method),a&&this.assertTaskCapability(t.method)}catch(b){d(b);return}n?.signal?.throwIfAborted();let p=this._requestMessageId++,f={...t,jsonrpc:"2.0",id:p};n?.onprogress&&(this._progressHandlers.set(p,n.onprogress),f.params={...t.params,_meta:{...t.params?._meta||{},progressToken:p}}),a&&(f.params={...f.params,task:a}),c&&(f.params={...f.params,_meta:{...f.params?._meta||{},[lt]:c}});let h=b=>{this._responseHandlers.delete(p),this._progressHandlers.delete(p),this._cleanupTimeout(p),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:p,reason:String(b)}},{relatedRequestId:o,resumptionToken:i,onresumptiontoken:s}).catch(z=>this._onerror(new Error(`Failed to send cancellation: ${z}`)));let $=b instanceof E?b:new E(I.RequestTimeout,String(b));u($)};this._responseHandlers.set(p,b=>{if(!n?.signal?.aborted){if(b instanceof Error)return u(b);try{let $=Me(r,b.result);$.success?l($.data):u($.error)}catch($){u($)}}}),n?.signal?.addEventListener("abort",()=>{h(n?.signal?.reason)});let g=n?.timeout??Zw,_=()=>h(E.fromError(I.RequestTimeout,"Request timed out",{timeout:g}));this._setupTimeout(p,g,n?.maxTotalTimeout,_,n?.resetTimeoutOnProgress??!1);let w=c?.taskId;if(w){let b=$=>{let z=this._responseHandlers.get(p);z?z($):this._onerror(new Error(`Response handler missing for side-channeled request ${p}`))};this._requestResolvers.set(p,b),this._enqueueTaskMessage(w,{type:"request",message:f,timestamp:Date.now()}).catch($=>{this._cleanupTimeout(p),u($)})}else this._transport.send(f,{relatedRequestId:o,resumptionToken:i,onresumptiontoken:s}).catch(b=>{this._cleanupTimeout(p),u(b)})})}async getTask(t,r){return this.request({method:"tasks/get",params:t},Yn,r)}async getTaskResult(t,r,n){return this.request({method:"tasks/result",params:t},r,n)}async listTasks(t,r){return this.request({method:"tasks/list",params:t},to,r)}async cancelTask(t,r){return this.request({method:"tasks/cancel",params:t},Tp,r)}async notification(t,r){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(t.method);let n=r?.relatedTask?.taskId;if(n){let a={...t,jsonrpc:"2.0",params:{...t.params,_meta:{...t.params?._meta||{},[lt]:r.relatedTask}}};await this._enqueueTaskMessage(n,{type:"notification",message:a,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(t.method)&&!t.params&&!r?.relatedRequestId&&!r?.relatedTask){if(this._pendingDebouncedNotifications.has(t.method))return;this._pendingDebouncedNotifications.add(t.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(t.method),!this._transport)return;let a={...t,jsonrpc:"2.0"};r?.relatedTask&&(a={...a,params:{...a.params,_meta:{...a.params?._meta||{},[lt]:r.relatedTask}}}),this._transport?.send(a,r).catch(c=>this._onerror(c))});return}let s={...t,jsonrpc:"2.0"};r?.relatedTask&&(s={...s,params:{...s.params,_meta:{...s.params?._meta||{},[lt]:r.relatedTask}}}),await this._transport.send(s,r)}setRequestHandler(t,r){let n=As(t);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(o,i)=>{let s=Cs(t,o);return Promise.resolve(r(s,i))})}removeRequestHandler(t){this._requestHandlers.delete(t)}assertCanSetRequestHandler(t){if(this._requestHandlers.has(t))throw new Error(`A request handler for ${t} already exists, which would be overridden`)}setNotificationHandler(t,r){let n=As(t);this._notificationHandlers.set(n,o=>{let i=Cs(t,o);return Promise.resolve(r(i))})}removeNotificationHandler(t){this._notificationHandlers.delete(t)}_cleanupTaskProgressHandler(t){let r=this._taskProgressTokens.get(t);r!==void 0&&(this._progressHandlers.delete(r),this._taskProgressTokens.delete(t))}async _enqueueTaskMessage(t,r,n){if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let o=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(t,r,n,o)}async _clearTaskQueue(t,r){if(this._taskMessageQueue){let n=await this._taskMessageQueue.dequeueAll(t,r);for(let o of n)if(o.type==="request"&&as(o.message)){let i=o.message.id,s=this._requestResolvers.get(i);s?(s(new E(I.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(i)):this._onerror(new Error(`Resolver missing for request ${i} during task ${t} cleanup`))}}}async _waitForTaskUpdate(t,r){let n=this._options?.defaultTaskPollInterval??1e3;try{let o=await this._taskStore?.getTask(t);o?.pollInterval&&(n=o.pollInterval)}catch{}return new Promise((o,i)=>{if(r.aborted){i(new E(I.InvalidRequest,"Request cancelled"));return}let s=setTimeout(o,n);r.addEventListener("abort",()=>{clearTimeout(s),i(new E(I.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(t,r){let n=this._taskStore;if(!n)throw new Error("No task store configured");return{createTask:async o=>{if(!t)throw new Error("No request provided");return await n.createTask(o,t.id,{method:t.method,params:t.params},r)},getTask:async o=>{let i=await n.getTask(o,r);if(!i)throw new E(I.InvalidParams,"Failed to retrieve task: Task not found");return i},storeTaskResult:async(o,i,s)=>{await n.storeTaskResult(o,i,s,r);let a=await n.getTask(o,r);if(a){let c=Lr.parse({method:"notifications/tasks/status",params:a});await this.notification(c),pt(a.status)&&this._cleanupTaskProgressHandler(o)}},getTaskResult:o=>n.getTaskResult(o,r),updateTaskStatus:async(o,i,s)=>{let a=await n.getTask(o,r);if(!a)throw new E(I.InvalidParams,`Task "${o}" not found - it may have been cleaned up`);if(pt(a.status))throw new E(I.InvalidParams,`Cannot update task "${o}" from terminal status "${a.status}" to "${i}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await n.updateTaskStatus(o,i,s,r);let c=await n.getTask(o,r);if(c){let l=Lr.parse({method:"notifications/tasks/status",params:c});await this.notification(l),pt(c.status)&&this._cleanupTaskProgressHandler(o)}},listTasks:o=>n.listTasks(o,r)}}};function Dp(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function jp(e,t){let r={...e};for(let n in t){let o=n,i=t[o];if(i===void 0)continue;let s=r[o];Dp(s)&&Dp(i)?r[o]={...s,...i}:r[o]=i}return r}var Ph=hi(vc(),1),Rh=hi(Th(),1);function VS(){let e=new Ph.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,Rh.default)(e),e}var qo=class{constructor(t){this._ajv=t??VS()}getValidator(t){let r="$id"in t&&typeof t.$id=="string"?this._ajv.getSchema(t.$id)??this._ajv.compile(t):this._ajv.compile(t);return n=>r(n)?{valid:!0,data:n,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(r.errors)}}};var Bo=class{constructor(t){this._client=t}async*callToolStream(t,r=dt,n){let o=this._client,i={...n,task:n?.task??(o.isToolTask(t.name)?{}:void 0)},s=o.requestStream({method:"tools/call",params:t},r,i),a=o.getToolOutputValidator(t.name);for await(let c of s){if(c.type==="result"&&a){let l=c.result;if(!l.structuredContent&&!l.isError){yield{type:"error",error:new E(I.InvalidRequest,`Tool ${t.name} has an output schema but did not return structured content`)};return}if(l.structuredContent)try{let u=a(l.structuredContent);if(!u.valid){yield{type:"error",error:new E(I.InvalidParams,`Structured content does not match the tool's output schema: ${u.errorMessage}`)};return}}catch(u){if(u instanceof E){yield{type:"error",error:u};return}yield{type:"error",error:new E(I.InvalidParams,`Failed to validate structured content: ${u instanceof Error?u.message:String(u)}`)};return}}yield c}}async getTask(t,r){return this._client.getTask({taskId:t},r)}async getTaskResult(t,r,n){return this._client.getTaskResult({taskId:t},r,n)}async listTasks(t,r){return this._client.listTasks(t?{cursor:t}:void 0,r)}async cancelTask(t,r){return this._client.cancelTask({taskId:t},r)}requestStream(t,r,n){return this._client.requestStream(t,r,n)}};function Ih(e,t,r){if(!e)throw new Error(`${r} does not support task creation (required for ${t})`);switch(t){case"tools/call":if(!e.tools?.call)throw new Error(`${r} does not support task creation for tools/call (required for ${t})`);break;default:break}}function Ah(e,t,r){if(!e)throw new Error(`${r} does not support task creation (required for ${t})`);switch(t){case"sampling/createMessage":if(!e.sampling?.createMessage)throw new Error(`${r} does not support task creation for sampling/createMessage (required for ${t})`);break;case"elicitation/create":if(!e.elicitation?.create)throw new Error(`${r} does not support task creation for elicitation/create (required for ${t})`);break;default:break}}function Lo(e,t){if(!(!e||t===null||typeof t!="object")){if(e.type==="object"&&e.properties&&typeof e.properties=="object"){let r=t,n=e.properties;for(let o of Object.keys(n)){let i=n[o];r[o]===void 0&&Object.prototype.hasOwnProperty.call(i,"default")&&(r[o]=i.default),r[o]!==void 0&&Lo(i,r[o])}}if(Array.isArray(e.anyOf))for(let r of e.anyOf)typeof r!="boolean"&&Lo(r,t);if(Array.isArray(e.oneOf))for(let r of e.oneOf)typeof r!="boolean"&&Lo(r,t)}}function KS(e){if(!e)return{supportsFormMode:!1,supportsUrlMode:!1};let t=e.form!==void 0,r=e.url!==void 0;return{supportsFormMode:t||!t&&!r,supportsUrlMode:r}}var Zo=class extends no{constructor(t,r){super(r),this._clientInfo=t,this._cachedToolOutputValidators=new Map,this._cachedKnownTaskTools=new Set,this._cachedRequiredTaskTools=new Set,this._listChangedDebounceTimers=new Map,this._capabilities=r?.capabilities??{},this._jsonSchemaValidator=r?.jsonSchemaValidator??new qo,r?.listChanged&&(this._pendingListChangedConfig=r.listChanged)}_setupListChangedHandlers(t){t.tools&&this._serverCapabilities?.tools?.listChanged&&this._setupListChangedHandler("tools",Ss,t.tools,async()=>(await this.listTools()).tools),t.prompts&&this._serverCapabilities?.prompts?.listChanged&&this._setupListChangedHandler("prompts",xs,t.prompts,async()=>(await this.listPrompts()).prompts),t.resources&&this._serverCapabilities?.resources?.listChanged&&this._setupListChangedHandler("resources",gs,t.resources,async()=>(await this.listResources()).resources)}get experimental(){return this._experimental||(this._experimental={tasks:new Bo(this)}),this._experimental}registerCapabilities(t){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=jp(this._capabilities,t)}setRequestHandler(t,r){let o=Zn(t)?.method;if(!o)throw new Error("Schema is missing a method literal");let i;if(Kt(o)){let a=o;i=a._zod?.def?.value??a.value}else{let a=o;i=a._def?.value??a.value}if(typeof i!="string")throw new Error("Schema method literal must be a string");let s=i;if(s==="elicitation/create"){let a=async(c,l)=>{let u=Me(Ps,c);if(!u.success){let b=u.error instanceof Error?u.error.message:String(u.error);throw new E(I.InvalidParams,`Invalid elicitation request: ${b}`)}let{params:d}=u.data;d.mode=d.mode??"form";let{supportsFormMode:p,supportsUrlMode:f}=KS(this._capabilities.elicitation);if(d.mode==="form"&&!p)throw new E(I.InvalidParams,"Client does not support form-mode elicitation requests");if(d.mode==="url"&&!f)throw new E(I.InvalidParams,"Client does not support URL-mode elicitation requests");let h=await Promise.resolve(r(c,l));if(d.task){let b=Me(zt,h);if(!b.success){let $=b.error instanceof Error?b.error.message:String(b.error);throw new E(I.InvalidParams,`Invalid task creation result: ${$}`)}return b.data}let g=Me(Rs,h);if(!g.success){let b=g.error instanceof Error?g.error.message:String(g.error);throw new E(I.InvalidParams,`Invalid elicitation result: ${b}`)}let _=g.data,w=d.mode==="form"?d.requestedSchema:void 0;if(d.mode==="form"&&_.action==="accept"&&_.content&&w&&this._capabilities.elicitation?.form?.applyDefaults)try{Lo(w,_.content)}catch{}return _};return super.setRequestHandler(t,a)}if(s==="sampling/createMessage"){let a=async(c,l)=>{let u=Me(Es,c);if(!u.success){let _=u.error instanceof Error?u.error.message:String(u.error);throw new E(I.InvalidParams,`Invalid sampling request: ${_}`)}let{params:d}=u.data,p=await Promise.resolve(r(c,l));if(d.task){let _=Me(zt,p);if(!_.success){let w=_.error instanceof Error?_.error.message:String(_.error);throw new E(I.InvalidParams,`Invalid task creation result: ${w}`)}return _.data}let h=d.tools||d.toolChoice?Ts:zs,g=Me(h,p);if(!g.success){let _=g.error instanceof Error?g.error.message:String(g.error);throw new E(I.InvalidParams,`Invalid sampling result: ${_}`)}return g.data};return super.setRequestHandler(t,a)}return super.setRequestHandler(t,r)}assertCapability(t,r){if(!this._serverCapabilities?.[t])throw new Error(`Server does not support ${t} (required for ${r})`)}async connect(t,r){if(await super.connect(t),t.sessionId===void 0)try{let n=await this.request({method:"initialize",params:{protocolVersion:is,capabilities:this._capabilities,clientInfo:this._clientInfo}},ls,r);if(n===void 0)throw new Error(`Server sent invalid initialize result: ${n}`);if(!_p.includes(n.protocolVersion))throw new Error(`Server's protocol version is not supported: ${n.protocolVersion}`);this._serverCapabilities=n.capabilities,this._serverVersion=n.serverInfo,t.setProtocolVersion&&t.setProtocolVersion(n.protocolVersion),this._instructions=n.instructions,await this.notification({method:"notifications/initialized"}),this._pendingListChangedConfig&&(this._setupListChangedHandlers(this._pendingListChangedConfig),this._pendingListChangedConfig=void 0)}catch(n){throw this.close(),n}}getServerCapabilities(){return this._serverCapabilities}getServerVersion(){return this._serverVersion}getInstructions(){return this._instructions}assertCapabilityForMethod(t){switch(t){case"logging/setLevel":if(!this._serverCapabilities?.logging)throw new Error(`Server does not support logging (required for ${t})`);break;case"prompts/get":case"prompts/list":if(!this._serverCapabilities?.prompts)throw new Error(`Server does not support prompts (required for ${t})`);break;case"resources/list":case"resources/templates/list":case"resources/read":case"resources/subscribe":case"resources/unsubscribe":if(!this._serverCapabilities?.resources)throw new Error(`Server does not support resources (required for ${t})`);if(t==="resources/subscribe"&&!this._serverCapabilities.resources.subscribe)throw new Error(`Server does not support resource subscriptions (required for ${t})`);break;case"tools/call":case"tools/list":if(!this._serverCapabilities?.tools)throw new Error(`Server does not support tools (required for ${t})`);break;case"completion/complete":if(!this._serverCapabilities?.completions)throw new Error(`Server does not support completions (required for ${t})`);break;case"initialize":break;case"ping":break}}assertNotificationCapability(t){switch(t){case"notifications/roots/list_changed":if(!this._capabilities.roots?.listChanged)throw new Error(`Client does not support roots list changed notifications (required for ${t})`);break;case"notifications/initialized":break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(t){if(this._capabilities)switch(t){case"sampling/createMessage":if(!this._capabilities.sampling)throw new Error(`Client does not support sampling capability (required for ${t})`);break;case"elicitation/create":if(!this._capabilities.elicitation)throw new Error(`Client does not support elicitation capability (required for ${t})`);break;case"roots/list":if(!this._capabilities.roots)throw new Error(`Client does not support roots capability (required for ${t})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Client does not support tasks capability (required for ${t})`);break;case"ping":break}}assertTaskCapability(t){Ih(this._serverCapabilities?.tasks?.requests,t,"Server")}assertTaskHandlerCapability(t){this._capabilities&&Ah(this._capabilities.tasks?.requests,t,"Client")}async ping(t){return this.request({method:"ping"},Et,t)}async complete(t,r){return this.request({method:"completion/complete",params:t},Is,r)}async setLoggingLevel(t,r){return this.request({method:"logging/setLevel",params:{level:t}},Et,r)}async getPrompt(t,r){return this.request({method:"prompts/get",params:t},$s,r)}async listPrompts(t,r){return this.request({method:"prompts/list",params:t},ys,r)}async listResources(t,r){return this.request({method:"resources/list",params:t},ps,r)}async listResourceTemplates(t,r){return this.request({method:"resources/templates/list",params:t},fs,r)}async readResource(t,r){return this.request({method:"resources/read",params:t},hs,r)}async subscribeResource(t,r){return this.request({method:"resources/subscribe",params:t},Et,r)}async unsubscribeResource(t,r){return this.request({method:"resources/unsubscribe",params:t},Et,r)}async callTool(t,r=dt,n){if(this.isToolTaskRequired(t.name))throw new E(I.InvalidRequest,`Tool "${t.name}" requires task-based execution. Use client.experimental.tasks.callToolStream() instead.`);let o=await this.request({method:"tools/call",params:t},r,n),i=this.getToolOutputValidator(t.name);if(i){if(!o.structuredContent&&!o.isError)throw new E(I.InvalidRequest,`Tool ${t.name} has an output schema but did not return structured content`);if(o.structuredContent)try{let s=i(o.structuredContent);if(!s.valid)throw new E(I.InvalidParams,`Structured content does not match the tool's output schema: ${s.errorMessage}`)}catch(s){throw s instanceof E?s:new E(I.InvalidParams,`Failed to validate structured content: ${s instanceof Error?s.message:String(s)}`)}}return o}isToolTask(t){return this._serverCapabilities?.tasks?.requests?.tools?.call?this._cachedKnownTaskTools.has(t):!1}isToolTaskRequired(t){return this._cachedRequiredTaskTools.has(t)}cacheToolMetadata(t){this._cachedToolOutputValidators.clear(),this._cachedKnownTaskTools.clear(),this._cachedRequiredTaskTools.clear();for(let r of t){if(r.outputSchema){let o=this._jsonSchemaValidator.getValidator(r.outputSchema);this._cachedToolOutputValidators.set(r.name,o)}let n=r.execution?.taskSupport;(n==="required"||n==="optional")&&this._cachedKnownTaskTools.add(r.name),n==="required"&&this._cachedRequiredTaskTools.add(r.name)}}getToolOutputValidator(t){return this._cachedToolOutputValidators.get(t)}async listTools(t,r){let n=await this.request({method:"tools/list",params:t},ks,r);return this.cacheToolMetadata(n.tools),n}_setupListChangedHandler(t,r,n,o){let i=Np.safeParse(n);if(!i.success)throw new Error(`Invalid ${t} listChanged options: ${i.error.message}`);if(typeof n.onChanged!="function")throw new Error(`Invalid ${t} listChanged options: onChanged must be a function`);let{autoRefresh:s,debounceMs:a}=i.data,{onChanged:c}=n,l=async()=>{if(!s){c(null,null);return}try{let d=await o();c(null,d)}catch(d){let p=d instanceof Error?d:new Error(String(d));c(p,null)}},u=()=>{if(a){let d=this._listChangedDebounceTimers.get(t);d&&clearTimeout(d);let p=setTimeout(l,a);this._listChangedDebounceTimers.set(t,p)}else l()};this.setNotificationHandler(r,u)}async sendRootsListChanged(){return this.notification({method:"notifications/roots/list_changed"})}};var $g=hi(wg(),1);import Dc from"node:process";import{PassThrough as wE}from"node:stream";var Fo=class{append(t){this._buffer=this._buffer?Buffer.concat([this._buffer,t]):t}readMessage(){if(!this._buffer)return null;let t=this._buffer.indexOf(`
36
36
  `);if(t===-1)return null;let r=this._buffer.toString("utf8",0,t).replace(/\r$/,"");return this._buffer=this._buffer.subarray(t+1),vE(r)}clear(){this._buffer=void 0}};function vE(e){return Ep.parse(JSON.parse(e))}function bg(e){return JSON.stringify(e)+`
37
- `}var bE=Dc.platform==="win32"?["APPDATA","HOMEDRIVE","HOMEPATH","LOCALAPPDATA","PATH","PROCESSOR_ARCHITECTURE","SYSTEMDRIVE","SYSTEMROOT","TEMP","USERNAME","USERPROFILE","PROGRAMFILES"]:["HOME","LOGNAME","PATH","SHELL","TERM","USER"];function $E(){let e={};for(let t of bE){let r=Dc.env[t];r!==void 0&&(r.startsWith("()")||(e[t]=r))}return e}var Vo=class{constructor(t){this._readBuffer=new Fo,this._stderrStream=null,this._serverParams=t,(t.stderr==="pipe"||t.stderr==="overlapped")&&(this._stderrStream=new wE)}async start(){if(this._process)throw new Error("StdioClientTransport already started! If using Client class, note that connect() calls start() automatically.");return new Promise((t,r)=>{this._process=(0,$g.default)(this._serverParams.command,this._serverParams.args??[],{env:{...$E(),...this._serverParams.env},stdio:["pipe","pipe",this._serverParams.stderr??"inherit"],shell:!1,windowsHide:Dc.platform==="win32",cwd:this._serverParams.cwd}),this._process.on("error",n=>{r(n),this.onerror?.(n)}),this._process.on("spawn",()=>{t()}),this._process.on("close",n=>{this._process=void 0,this.onclose?.()}),this._process.stdin?.on("error",n=>{this.onerror?.(n)}),this._process.stdout?.on("data",n=>{this._readBuffer.append(n),this.processReadBuffer()}),this._process.stdout?.on("error",n=>{this.onerror?.(n)}),this._stderrStream&&this._process.stderr&&this._process.stderr.pipe(this._stderrStream)})}get stderr(){return this._stderrStream?this._stderrStream:this._process?.stderr??null}get pid(){return this._process?.pid??null}processReadBuffer(){for(;;)try{let t=this._readBuffer.readMessage();if(t===null)break;this.onmessage?.(t)}catch(t){this.onerror?.(t)}}async close(){if(this._process){let t=this._process;this._process=void 0;let r=new Promise(n=>{t.once("close",()=>{n()})});try{t.stdin?.end()}catch{}if(await Promise.race([r,new Promise(n=>setTimeout(n,2e3).unref())]),t.exitCode===null){try{t.kill("SIGTERM")}catch{}await Promise.race([r,new Promise(n=>setTimeout(n,2e3).unref())])}if(t.exitCode===null)try{t.kill("SIGKILL")}catch{}}this._readBuffer.clear()}send(t){return new Promise(r=>{if(!this._process?.stdin)throw new Error("Not connected");let n=bg(t);this._process.stdin.write(n)?r():this._process.stdin.once("drain",r)})}};var xE=["conversations_list","conversation_get","messages_read","attachments_fetch","events_poll","events_wait","messages_send","channels_list","permissions_list_open","permissions_respond"];var qt=class e{client;transport;constructor(t,r){this.client=t,this.transport=r}static async connect(t={}){let r=new Vo({command:t.command??"hermes",args:t.args??["mcp","serve"],cwd:t.cwd,env:t.env??kE(),stderr:t.stderr??"pipe"}),n=new Zo({name:"brain-channel-bridge",version:"0.0.0"},{capabilities:{}});try{await n.connect(r);let o=new e(n,r);return await o.assertHermesContract(),o}catch(o){throw await n.close().catch(()=>{}),await r.close().catch(()=>{}),o}}async poll(t={}){let r=await this.callJson("events_poll",{after_cursor:t.afterCursor,session_key:t.sessionKey,limit:t.limit});return{events:EE(r).map(zE),nextCursor:xg(r,["next_cursor","nextCursor","cursor"]),raw:r}}async send(t,r){let n=await this.callJson("messages_send",{target:t,message:r});return{ok:!Ko(n,["error"])&&RE(n,["ok","success"],!0),target:t,messageId:Fe(n,["message_id","messageId","id"]),raw:n}}async channels(t={}){let r=await this.callJson("channels_list",{platform:t.platform});return{channels:PE(r).map(TE).filter(n=>n!=null),raw:r}}async close(){await this.client.close(),await this.transport.close().catch(()=>{})}async assertHermesContract(){let{tools:t}=await this.client.listTools(),r=new Set(t.map(o=>o.name)),n=xE.filter(o=>!r.has(o));if(n.length>0)throw new Error(`Hermes channel bridge is missing tool(s): ${n.join(", ")}`)}async callJson(t,r){let n=await this.client.callTool({name:t,arguments:SE(r)},dt);if(n.structuredContent&&Object.keys(n.structuredContent).length>0)return n.structuredContent;let i=(Array.isArray(n.content)?n.content:[]).filter(s=>s.type==="text").map(s=>s.text??"").join(`
38
- `).trim();if(!i)return{};try{return JSON.parse(i)}catch{return{text:i}}}};function kE(){let e={};for(let[t,r]of Object.entries(process.env))typeof r=="string"&&(e[t]=r);return e}function SE(e){return Object.fromEntries(Object.entries(e).filter(([,t])=>t!==void 0))}function EE(e){if(Array.isArray(e))return e;if(!hr(e))return[];let t=e.events;if(Array.isArray(t))return t;let r=e.event;return r&&hr(r)?[r]:[]}function zE(e){return hr(e)?{id:Fe(e,["id","message_id","messageId"]),cursor:xg(e,["cursor"]),type:Fe(e,["type","event_type","eventType"]),platform:Fe(e,["platform"]),target:Fe(e,["target"]),sessionKey:Fe(e,["session_key","sessionKey"]),timestamp:Fe(e,["timestamp","created_at","createdAt"]),message:Fe(e,["message","text","content"]),raw:e}:{raw:e}}function PE(e){if(Array.isArray(e))return e;if(!hr(e))return[];for(let t of["channels","targets","conversations"]){let r=e[t];if(Array.isArray(r))return r}return[]}function TE(e){if(!hr(e))return null;let t=Fe(e,["target","id","session_key","sessionKey"]);return t?{target:t,platform:Fe(e,["platform"]),name:Fe(e,["name","display_name","displayName","chat_name","chatName"]),raw:e}:null}function Fe(e,t){let r=Ko(e,t);return typeof r=="string"?r:void 0}function RE(e,t,r){let n=Ko(e,t);return typeof n=="boolean"?n:r}function xg(e,t){let r=Ko(e,t);return typeof r=="string"||typeof r=="number"?r:void 0}function Ko(e,t){if(hr(e))for(let r of t){let n=e[r];if(n!=null)return n}}function hr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}import{mkdir as fT,writeFile as mT}from"node:fs/promises";import{join as by}from"node:path";import{basename as wy}from"node:path";import{createHash as AE,randomUUID as Mc}from"node:crypto";import{spawn as CE}from"node:child_process";import{constants as jc}from"node:fs";import{readFileSync as NE}from"node:fs";import{mkdir as Pg,open as OE,rm as Tg}from"node:fs/promises";import{tmpdir as DE}from"node:os";import{dirname as qc,join as st,resolve as Bc}from"node:path";import{fileURLToPath as jE}from"node:url";import{createConnection as IE}from"node:net";async function Ho(e,t){let r=e.timeoutMs??1e3;return await new Promise((n,o)=>{let i=IE(e.socketPath),s=!1,a="",c=setTimeout(()=>{l(()=>o(new Error("resident rsp server timed out"))),i.destroy()},r);function l(u){s||(s=!0,clearTimeout(c),u())}i.on("connect",()=>{i.write(`${JSON.stringify(t)}
37
+ `}var bE=Dc.platform==="win32"?["APPDATA","HOMEDRIVE","HOMEPATH","LOCALAPPDATA","PATH","PROCESSOR_ARCHITECTURE","SYSTEMDRIVE","SYSTEMROOT","TEMP","USERNAME","USERPROFILE","PROGRAMFILES"]:["HOME","LOGNAME","PATH","SHELL","TERM","USER"];function $E(){let e={};for(let t of bE){let r=Dc.env[t];r!==void 0&&(r.startsWith("()")||(e[t]=r))}return e}var Vo=class{constructor(t){this._readBuffer=new Fo,this._stderrStream=null,this._serverParams=t,(t.stderr==="pipe"||t.stderr==="overlapped")&&(this._stderrStream=new wE)}async start(){if(this._process)throw new Error("StdioClientTransport already started! If using Client class, note that connect() calls start() automatically.");return new Promise((t,r)=>{this._process=(0,$g.default)(this._serverParams.command,this._serverParams.args??[],{env:{...$E(),...this._serverParams.env},stdio:["pipe","pipe",this._serverParams.stderr??"inherit"],shell:!1,windowsHide:Dc.platform==="win32",cwd:this._serverParams.cwd}),this._process.on("error",n=>{r(n),this.onerror?.(n)}),this._process.on("spawn",()=>{t()}),this._process.on("close",n=>{this._process=void 0,this.onclose?.()}),this._process.stdin?.on("error",n=>{this.onerror?.(n)}),this._process.stdout?.on("data",n=>{this._readBuffer.append(n),this.processReadBuffer()}),this._process.stdout?.on("error",n=>{this.onerror?.(n)}),this._stderrStream&&this._process.stderr&&this._process.stderr.pipe(this._stderrStream)})}get stderr(){return this._stderrStream?this._stderrStream:this._process?.stderr??null}get pid(){return this._process?.pid??null}processReadBuffer(){for(;;)try{let t=this._readBuffer.readMessage();if(t===null)break;this.onmessage?.(t)}catch(t){this.onerror?.(t)}}async close(){if(this._process){let t=this._process;this._process=void 0;let r=new Promise(n=>{t.once("close",()=>{n()})});try{t.stdin?.end()}catch{}if(await Promise.race([r,new Promise(n=>setTimeout(n,2e3).unref())]),t.exitCode===null){try{t.kill("SIGTERM")}catch{}await Promise.race([r,new Promise(n=>setTimeout(n,2e3).unref())])}if(t.exitCode===null)try{t.kill("SIGKILL")}catch{}}this._readBuffer.clear()}send(t){return new Promise(r=>{if(!this._process?.stdin)throw new Error("Not connected");let n=bg(t);this._process.stdin.write(n)?r():this._process.stdin.once("drain",r)})}};var xE=["conversations_list","conversation_get","messages_read","attachments_fetch","events_poll","events_wait","messages_send","channels_list","permissions_list_open","permissions_respond"];var qt=class e{client;transport;constructor(t,r){this.client=t,this.transport=r}static async connect(t={}){let r=new Vo({command:t.command??"hermes",args:t.args??["mcp","serve"],cwd:t.cwd,env:t.env??kE(),stderr:t.stderr??"pipe"}),n=new Zo({name:"brain-channel-bridge",version:"0.0.0"},{capabilities:{}});try{await n.connect(r);let o=new e(n,r);return await o.assertHermesContract(),o}catch(o){throw await n.close().catch(()=>{}),await r.close().catch(()=>{}),o}}async poll(t={}){let r=await this.callJson("events_poll",{after_cursor:t.afterCursor,session_key:t.sessionKey,limit:t.limit});return{events:EE(r).map(zE),nextCursor:xg(r,["next_cursor","nextCursor","cursor"]),raw:r}}async send(t,r){let n=await this.callJson("messages_send",{target:t,message:r});return{ok:!Ko(n,["error"])&&RE(n,["ok","success"],!0),target:t,messageId:Fe(n,["message_id","messageId","id"]),raw:n}}async channels(t={}){let r=await this.callJson("channels_list",{platform:t.platform});return{channels:TE(r).map(PE).filter(n=>n!=null),raw:r}}async close(){await this.client.close(),await this.transport.close().catch(()=>{})}async assertHermesContract(){let{tools:t}=await this.client.listTools(),r=new Set(t.map(o=>o.name)),n=xE.filter(o=>!r.has(o));if(n.length>0)throw new Error(`Hermes channel bridge is missing tool(s): ${n.join(", ")}`)}async callJson(t,r){let n=await this.client.callTool({name:t,arguments:SE(r)},dt);if(n.structuredContent&&Object.keys(n.structuredContent).length>0)return n.structuredContent;let i=(Array.isArray(n.content)?n.content:[]).filter(s=>s.type==="text").map(s=>s.text??"").join(`
38
+ `).trim();if(!i)return{};try{return JSON.parse(i)}catch{return{text:i}}}};function kE(){let e={};for(let[t,r]of Object.entries(process.env))typeof r=="string"&&(e[t]=r);return e}function SE(e){return Object.fromEntries(Object.entries(e).filter(([,t])=>t!==void 0))}function EE(e){if(Array.isArray(e))return e;if(!hr(e))return[];let t=e.events;if(Array.isArray(t))return t;let r=e.event;return r&&hr(r)?[r]:[]}function zE(e){return hr(e)?{id:Fe(e,["id","message_id","messageId"]),cursor:xg(e,["cursor"]),type:Fe(e,["type","event_type","eventType"]),platform:Fe(e,["platform"]),target:Fe(e,["target"]),sessionKey:Fe(e,["session_key","sessionKey"]),timestamp:Fe(e,["timestamp","created_at","createdAt"]),message:Fe(e,["message","text","content"]),raw:e}:{raw:e}}function TE(e){if(Array.isArray(e))return e;if(!hr(e))return[];for(let t of["channels","targets","conversations"]){let r=e[t];if(Array.isArray(r))return r}return[]}function PE(e){if(!hr(e))return null;let t=Fe(e,["target","id","session_key","sessionKey"]);return t?{target:t,platform:Fe(e,["platform"]),name:Fe(e,["name","display_name","displayName","chat_name","chatName"]),raw:e}:null}function Fe(e,t){let r=Ko(e,t);return typeof r=="string"?r:void 0}function RE(e,t,r){let n=Ko(e,t);return typeof n=="boolean"?n:r}function xg(e,t){let r=Ko(e,t);return typeof r=="string"||typeof r=="number"?r:void 0}function Ko(e,t){if(hr(e))for(let r of t){let n=e[r];if(n!=null)return n}}function hr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}import{mkdir as fP,writeFile as mP}from"node:fs/promises";import{join as by}from"node:path";import{basename as wy}from"node:path";import{createHash as AE,randomUUID as Mc}from"node:crypto";import{spawn as CE}from"node:child_process";import{constants as jc}from"node:fs";import{readFileSync as NE}from"node:fs";import{mkdir as Tg,open as OE,rm as Pg}from"node:fs/promises";import{tmpdir as DE}from"node:os";import{dirname as qc,join as st,resolve as Bc}from"node:path";import{fileURLToPath as jE}from"node:url";import{createConnection as IE}from"node:net";async function Ho(e,t){let r=e.timeoutMs??1e3;return await new Promise((n,o)=>{let i=IE(e.socketPath),s=!1,a="",c=setTimeout(()=>{l(()=>o(new Error("resident rsp server timed out"))),i.destroy()},r);function l(u){s||(s=!0,clearTimeout(c),u())}i.on("connect",()=>{i.write(`${JSON.stringify(t)}
39
39
  `)}),i.on("data",u=>{a+=u.toString("utf8");let d=a.indexOf(`
40
- `);if(d<0)return;let p=a.slice(0,d);l(()=>{try{n(JSON.parse(p))}catch(f){o(f)}}),i.end()}),i.on("error",u=>l(()=>o(u))),i.on("close",()=>{s||l(()=>o(new Error("resident rsp server closed without response")))})})}var ME=108;function Wo(e){let t=VE(e)??Bc(e),r=FE(t);return{rootDir:t,socketPath:st(r,"rsp.sock"),lockPath:st(r,"rsp.lock"),wakeLockPath:st(t,".red","tmp","rsp.wake.lock"),summaryPath:st(t,".red","tmp","rsp-status-summary.json")}}var Go=class{constructor(t,r){this.paths=t;this.config=r}async request(t){await qE(this.paths,this.config);let r=await Ho(this.paths,{...t,id:Mc()});if(!r.ok)throw new Error(r.error);return r.value}};async function qE(e,t){if(await Pg(qc(e.socketPath),{recursive:!0,mode:448}),await Eg(e.socketPath,t))return;let r=await LE(e.lockPath);if(r)try{if(await Eg(e.socketPath,t))return;await BE(e.socketPath);let n=ZE(e,t);await kg(e.socketPath,n);return}finally{await r.close(),await Tg(e.lockPath,{force:!0})}await kg(e.socketPath)}async function Jo(e,t=200){try{return await Rg(e,t)!=null}catch{return!1}}async function Rg(e,t=200){let r=await Ho({socketPath:e,timeoutMs:t},{id:Mc(),op:"ping"});return r.ok?WE(r.value)?{version:JE(r.value.version)}:{}:null}async function kg(e,t){let r=Date.now()+5e3,n;for(;Date.now()<r;){if(await Jo(e))return;if(t&&t.exitCode!=null)throw new Error(`resident rsp server exited before ready (${t.exitCode})`);await new Promise(o=>setTimeout(o,50))}throw n instanceof Error?n:new Error("resident rsp server did not start")}async function BE(e){await Tg(e,{force:!0})}async function LE(e){await Pg(qc(e),{recursive:!0,mode:448});try{return await OE(e,jc.O_CREAT|jc.O_EXCL|jc.O_RDWR)}catch(t){if(t.code!=="EEXIST")throw t;return null}}function ZE(e,t){let[r,n]=UE(t),o=CE(r,[...n,"server","--socket",e.socketPath,"--store-uri",t.storeUri,"--ttl-days",String(t.ttlDays),"--byte-budget",String(t.byteBudget),"--telemetry-ttl-days",String(t.telemetryTtlDays??90),"--telemetry-byte-budget",String(t.telemetryByteBudget??t.byteBudget),"--telemetry-drain-interval-ms",String(t.telemetryDrainIntervalMs??3e4),"--resident-version",t.clientVersion??"0.0.0-dev"],{cwd:e.rootDir,detached:!0,stdio:"ignore",env:{...process.env,RSP_RESIDENT_SERVER:"1"}});return o.unref(),o}function UE(e){if(e.serverCommand)return[e.serverCommand,e.serverArgs??[]];let t=process.argv[1]?Bc(process.argv[1]):jE(import.meta.url);return[process.execPath,[...process.execArgv,t]]}function FE(e){let t=AE("sha256").update(e).digest("hex").slice(0,20),r=process.env.XDG_RUNTIME_DIR;if(r){let o=st(r,"red-skills",t);if(st(o,"rsp.sock").length<ME)return o}let n=typeof process.getuid=="function"?process.getuid():"nouid";return st(DE(),`red-skills-${n}`,t)}function VE(e){let t=Bc(e);for(let r=0;r<32;r++){try{if(Sg(st(t,".red","config.yaml"))!=null||Sg(st(t,".git","HEAD"))!=null)return t}catch{}let n=qc(t);if(n===t)return null;t=n}return null}function Sg(e){try{return NE(e,"utf8")}catch{return null}}async function Eg(e,t){let r=await Rg(e).catch(()=>null);return r?HE(t.clientVersion,r.version)?(await KE(e,t.clientVersion),await QE(e),!1):!0:!1}async function KE(e,t){try{await Ho({socketPath:e,timeoutMs:200},{id:Mc(),op:"handover",clientVersion:t})}catch{}}function HE(e,t){return!e||!t?!1:GE(e,t)>0}function GE(e,t){let r=zg(e),n=zg(t);return!r||!n?0:r.major-n.major||r.minor-n.minor||r.patch-n.patch}function zg(e){let t=/^(\d+)\.(\d+)\.(\d+)/.exec(String(e).trim());return t?{major:Number(t[1]),minor:Number(t[2]),patch:Number(t[3])}:null}function WE(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function JE(e){return typeof e=="string"&&e.length>0?e:void 0}async function QE(e){let t=Date.now()+1e3;for(;Date.now()<t;){if(!await Jo(e,50))return;await new Promise(r=>setTimeout(r,50))}}import{spawn as YE}from"node:child_process";var Zc=["supports","contradicts","related_to"];function Uc(e){return{rid:e.rid,id:e.properties.id,title:e.properties.title,kind:e.kind,content:e.properties.content,tags:e.properties.tags}}function Fc(e){return typeof e=="string"&&Zc.includes(e)}function gr(e){return e.properties.metadata?.derived===!0||typeof e.properties.metadata?.derived_kind=="string"}function Ig(e){return[e.properties.title,e.kind,...e.properties.tags,e.properties.content].join(`
40
+ `);if(d<0)return;let p=a.slice(0,d);l(()=>{try{n(JSON.parse(p))}catch(f){o(f)}}),i.end()}),i.on("error",u=>l(()=>o(u))),i.on("close",()=>{s||l(()=>o(new Error("resident rsp server closed without response")))})})}var ME=108;function Wo(e){let t=VE(e)??Bc(e),r=FE(t);return{rootDir:t,socketPath:st(r,"rsp.sock"),lockPath:st(r,"rsp.lock"),wakeLockPath:st(t,".red","tmp","rsp.wake.lock"),summaryPath:st(t,".red","tmp","rsp-status-summary.json")}}var Go=class{constructor(t,r){this.paths=t;this.config=r}async request(t){await qE(this.paths,this.config);let r=await Ho(this.paths,{...t,id:Mc()});if(!r.ok)throw new Error(r.error);return r.value}};async function qE(e,t){if(await Tg(qc(e.socketPath),{recursive:!0,mode:448}),await Eg(e.socketPath,t))return;let r=await LE(e.lockPath);if(r)try{if(await Eg(e.socketPath,t))return;await BE(e.socketPath);let n=ZE(e,t);await kg(e.socketPath,n);return}finally{await r.close(),await Pg(e.lockPath,{force:!0})}await kg(e.socketPath)}async function Jo(e,t=200){try{return await Rg(e,t)!=null}catch{return!1}}async function Rg(e,t=200){let r=await Ho({socketPath:e,timeoutMs:t},{id:Mc(),op:"ping"});return r.ok?WE(r.value)?{version:JE(r.value.version)}:{}:null}async function kg(e,t){let r=Date.now()+5e3,n;for(;Date.now()<r;){if(await Jo(e))return;if(t&&t.exitCode!=null)throw new Error(`resident rsp server exited before ready (${t.exitCode})`);await new Promise(o=>setTimeout(o,50))}throw n instanceof Error?n:new Error("resident rsp server did not start")}async function BE(e){await Pg(e,{force:!0})}async function LE(e){await Tg(qc(e),{recursive:!0,mode:448});try{return await OE(e,jc.O_CREAT|jc.O_EXCL|jc.O_RDWR)}catch(t){if(t.code!=="EEXIST")throw t;return null}}function ZE(e,t){let[r,n]=UE(t),o=CE(r,[...n,"server","--socket",e.socketPath,"--store-uri",t.storeUri,"--ttl-days",String(t.ttlDays),"--byte-budget",String(t.byteBudget),"--telemetry-ttl-days",String(t.telemetryTtlDays??90),"--telemetry-byte-budget",String(t.telemetryByteBudget??t.byteBudget),"--telemetry-drain-interval-ms",String(t.telemetryDrainIntervalMs??3e4),"--telemetry-drain-timeout-ms",String(t.telemetryDrainTimeoutMs??2e3),"--resident-version",t.clientVersion??"0.0.0-dev"],{cwd:e.rootDir,detached:!0,stdio:"ignore",env:{...process.env,RSP_RESIDENT_SERVER:"1"}});return o.unref(),o}function UE(e){if(e.serverCommand)return[e.serverCommand,e.serverArgs??[]];let t=process.argv[1]?Bc(process.argv[1]):jE(import.meta.url);return[process.execPath,[...process.execArgv,t]]}function FE(e){let t=AE("sha256").update(e).digest("hex").slice(0,20),r=process.env.XDG_RUNTIME_DIR;if(r){let o=st(r,"red-skills",t);if(st(o,"rsp.sock").length<ME)return o}let n=typeof process.getuid=="function"?process.getuid():"nouid";return st(DE(),`red-skills-${n}`,t)}function VE(e){let t=Bc(e);for(let r=0;r<32;r++){try{if(Sg(st(t,".red","config.yaml"))!=null||Sg(st(t,".git","HEAD"))!=null)return t}catch{}let n=qc(t);if(n===t)return null;t=n}return null}function Sg(e){try{return NE(e,"utf8")}catch{return null}}async function Eg(e,t){let r=await Rg(e).catch(()=>null);return r?HE(t.clientVersion,r.version)?(await KE(e,t.clientVersion),await QE(e),!1):!0:!1}async function KE(e,t){try{await Ho({socketPath:e,timeoutMs:200},{id:Mc(),op:"handover",clientVersion:t})}catch{}}function HE(e,t){return!e||!t?!1:GE(e,t)>0}function GE(e,t){let r=zg(e),n=zg(t);return!r||!n?0:r.major-n.major||r.minor-n.minor||r.patch-n.patch}function zg(e){let t=/^(\d+)\.(\d+)\.(\d+)/.exec(String(e).trim());return t?{major:Number(t[1]),minor:Number(t[2]),patch:Number(t[3])}:null}function WE(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function JE(e){return typeof e=="string"&&e.length>0?e:void 0}async function QE(e){let t=Date.now()+1e3;for(;Date.now()<t;){if(!await Jo(e,50))return;await new Promise(r=>setTimeout(r,50))}}import{spawn as YE}from"node:child_process";var Zc=["supports","contradicts","related_to"];function Uc(e){return{rid:e.rid,id:e.properties.id,title:e.properties.title,kind:e.kind,content:e.properties.content,tags:e.properties.tags}}function Fc(e){return typeof e=="string"&&Zc.includes(e)}function gr(e){return e.properties.metadata?.derived===!0||typeof e.properties.metadata?.derived_kind=="string"}function Ig(e){return[e.properties.title,e.kind,...e.properties.tags,e.properties.content].join(`
41
41
  `)}function XE(e){return{deriveConnections(t){return tz(e,t)}}}function Ag(e=process.env){let t=e.RED_BRAIN_AUTOLINK_AFK_COMMAND??e.RED_BRAIN_AUTOLINK_HEADLESS_COMMAND;if(t)return XE({command:t,args:rz(e.RED_BRAIN_AUTOLINK_AFK_ARGS??e.RED_BRAIN_AUTOLINK_HEADLESS_ARGS),cwd:e.RED_BRAIN_AUTOLINK_AFK_CWD??e.RED_BRAIN_AUTOLINK_HEADLESS_CWD,env:e,timeoutMs:nz(e.RED_BRAIN_AUTOLINK_AFK_TIMEOUT_MS)??6e4})}function ez(e){let t=JSON.parse(oz(e));return(Array.isArray(t)?t:Lc(t)&&Array.isArray(t.connections)?t.connections:[]).filter(iz).map(n=>({from:n.from,to:n.to,kind:n.kind,reason:typeof n.reason=="string"?n.reason:void 0,metadata:Lc(n.metadata)?n.metadata:void 0}))}async function tz(e,t){let r=YE(e.command,e.args??[],{cwd:e.cwd,env:e.env,stdio:["pipe","pipe","pipe"]}),n=[],o=[],i,s=new Promise((a,c)=>{r.once("error",c),r.stdout.on("data",l=>n.push(l)),r.stderr.on("data",l=>o.push(l)),r.once("close",l=>a(l??0)),e.timeoutMs&&e.timeoutMs>0&&(i=setTimeout(()=>{r.kill("SIGTERM"),c(new Error(`Brain autolink AFK headless provider timed out after ${e.timeoutMs}ms`))},e.timeoutMs))});r.stdin.end(JSON.stringify(t));try{let a=await s;if(a!==0){let c=Buffer.concat(o).toString("utf8").trim();throw new Error(`Brain autolink AFK headless provider exited ${a}${c?`: ${c}`:""}`)}return ez(Buffer.concat(n).toString("utf8"))}finally{i&&clearTimeout(i)}}function rz(e){if(!e)return[];let t=JSON.parse(e);if(!Array.isArray(t)||t.some(r=>typeof r!="string"))throw new Error("RED_BRAIN_AUTOLINK_AFK_ARGS must be a JSON array of strings");return t}function nz(e){if(e==null||e==="")return;let t=Number(e);return Number.isInteger(t)&&t>0?t:void 0}function oz(e){let t=e.trim();return(t.match(/```(?:json)?\s*([\s\S]*?)\s*```/i)?.[1]??t).trim()}function iz(e){return Lc(e)&&(typeof e.from=="number"||typeof e.from=="string")&&(typeof e.to=="number"||typeof e.to=="string")&&Fc(e.kind)}function Lc(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}import{existsSync as Qo}from"node:fs";import{mkdir as sz,readFile as Vc,writeFile as az}from"node:fs/promises";import{dirname as Kc,isAbsolute as cz,join as yr,resolve as bt}from"node:path";var Yo="file://./.red/brain/brain.rdb",uz="RED_BRAIN_ROOT",lz="brain.root";async function dz(e=process.cwd(),t={}){let n=(t.env??process.env)[uz];if(n)return bt(e,n);let o=await pz(e);if(o)return o;let i=bt(e),s=null;for(;;){let a=yr(i,".red");if(Qo(a)&&(s??=i,Qo(yr(a,"brain"))||Qo(yr(a,lz))))return i;let c=Kc(i);if(c===i)return s??bt(e);i=c}}async function pz(e){let t=bt(e);for(;;){let r=yr(t,".red","config.yaml");try{let o=await Vc(r,"utf8"),i=fz(o);if(i)return bt(t,i)}catch(o){if(o.code!=="ENOENT")throw o}let n=Kc(t);if(n===t)return null;t=n}}function fz(e){let t=mz(e);return t["plugins.brain.rootDir"]??t["plugins.brain.root"]??t["plugins.brain.root_dir"]??t["brain.rootDir"]??t["brain.root"]??t["brain.root_dir"]??null}function mz(e){let t={},r=[],n=[];for(let o of e.split(`
42
42
  `)){let i=o.replace(/\r$/,"");if(!/".*"/.test(i)&&!/'.*'/.test(i)){let p=i.indexOf("#");p>=0&&(i=i.slice(0,p))}if(i.replace(/\s/g,"")==="")continue;let s=i.match(/^ */)?.[0].length??0;if(s%2!==0)continue;let a=i.slice(s).replace(/\s+$/,""),c=a.indexOf(":");if(c<0||!/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(a.slice(0,c)))continue;let l=a.slice(0,c),u=a.slice(c+1).replace(/^\s+/,"");for((u.startsWith('"')&&u.endsWith('"')&&u.length>=2||u.startsWith("'")&&u.endsWith("'")&&u.length>=2)&&(u=u.slice(1,-1));n.length>0&&n[n.length-1]>=s;)r.pop(),n.pop();let d=r.length>0?`${r.join(".")}.${l}`:l;u===""?(r.push(l),n.push(s)):t[d]=u}return t}function Cg(e){return yr(bt(e),".red","brain","config.yaml")}function hz(e){return yr(bt(e),".env")}async function gz(e){let t=Cg(e);return Qo(t)||(await sz(Kc(t),{recursive:!0}),await az(t,`connection_string: ${Yo}
43
- `,"utf8")),t}async function yz(e){let t=Cg(e);try{let r=await Vc(t,"utf8");return _z(r)}catch(r){if(r.code==="ENOENT")return null;throw r}}function _z(e){let t=e.split(/\r?\n/).map(n=>n.trim()).find(n=>n.startsWith("connection_string:"));if(!t)return{connection_string:Yo};let r=t.slice(18).trim();return{connection_string:Ng(r)||Yo}}function Ng(e){return e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'")?e.slice(1,-1):e}async function Og(e=process.cwd()){let t=await dz(e),r=await gz(t),n=await yz(t)??{connection_string:Yo},o=await vz(t),i=n.connection_string,s=wz(i,o);return{rootDir:t,configPath:r,rawConnectionString:i,connectionString:bz(t,s)}}async function vz(e){let t={...process.env};try{let r=await Vc(hz(e),"utf8");for(let n of r.split(/\r?\n/)){let o=n.trim();if(!o||o.startsWith("#"))continue;let i=o.indexOf("=");if(i<=0)continue;let s=o.slice(0,i).trim(),a=Ng(o.slice(i+1).trim());t[s]==null&&(t[s]=a)}}catch(r){if(r.code!=="ENOENT")throw r}return t}function wz(e,t){return e.replace(/\$(\w+)|\$\{([^}]+)\}/g,(r,n,o)=>{let i=String(n??o),s=t[i];if(s==null||s==="")throw new Error(`Brain connection_string references missing environment variable ${i}`);return s})}function bz(e,t){if(!t.startsWith("file://"))return t;let r=t.slice(7);return cz(r)?t:`file://${bt(e,r)}`}import{resolve as $z}from"node:path";var xz=".red/tmp/red-skills.rdb",kz=7,Sz=64*1024*1024;function jg(e){return e.connectionString.startsWith("file://")?e.connectionString.slice(7)===qg(e.rootDir):!1}async function Mg(e){let t=Wo(e.rootDir),r=new Go(t,zz(e.rootDir));return await r.request({op:"ping"}),new Hc(r)}function Ez(e){return`file://${qg(e)}`}function qg(e){return $z(e,xz)}function zz(e){return{storeUri:Ez(e),ttlDays:kz,byteBudget:Sz,serverCommand:process.env.RSP_BIN??"rsp"}}var Hc=class{constructor(t){this.client=t}async close(){}async status(){let t=await this.request("status");return Pz(t)?t:{}}async capture(t){return await this.request("capture",t)}async getArtifact(t){return await this.request("getArtifact",{ridOrId:t})}async listArtifacts(){return await this.request("listArtifacts")}async search(t,r=10,n={}){return await this.request("search",{query:t,limit:r,options:Dg(n)})}async think(t,r=8,n={}){return await this.request("think",{query:t,limit:r,options:Dg(n)})}async link(t){return await this.request("link",t)}async backlinks(t){return await this.request("backlinks",{target:t})}async listConnections(){return await this.request("listConnections")}async eventKpis(t={}){return await this.request("eventKpis",t)}async appendOutcomeEvent(t){return await this.request("appendOutcomeEvent",t)}async replayOutcomeEvents(){return await this.request("replayOutcomeEvents")}async loadModelTierBanditDocument(){return await this.request("loadModelTierBanditDocument")}async saveModelTierBanditDocument(t){return await this.request("saveModelTierBanditDocument",t)}async refreshModelTierBanditDocument(){return await this.request("refreshModelTierBanditDocument")}async request(t,r){return await this.client.request({op:"brain",action:t,payload:r})}};function Dg(e){return{...e,excludeRids:e.excludeRids?[...e.excludeRids]:void 0}}function Pz(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Tz=typeof globalThis.Bun<"u"&&typeof globalThis.Bun.spawn=="function",Rz=typeof globalThis.Deno<"u"&&typeof globalThis.Deno.Command=="function";async function Bg(e,t){return Tz?Az(e,t):Rz?Nz(e,t):Iz(e,t)}async function Iz(e,t){let{spawn:r}=await import("node:child_process"),n=r(e,t,{stdio:["pipe","pipe","inherit"]});return{runtime:"node",stdin:{write(o){return new Promise((i,s)=>{n.stdin.write(o,a=>a?s(a):i())})},end(){n.stdin.end()}},stdout:n.stdout,kill(){n.kill("SIGTERM")},wait(){return new Promise(o=>{n.on("exit",i=>o(i??0))})}}}function Az(e,t){let r=globalThis.Bun.spawn({cmd:[e,...t],stdin:"pipe",stdout:"pipe",stderr:"inherit"}),n=r.stdin.getWriter?r.stdin.getWriter():null;return{runtime:"bun",stdin:{async write(o){n?await n.write(o):(r.stdin.write(o),await r.stdin.flush())},end(){n?n.close():r.stdin.end()}},stdout:Cz(r.stdout),kill(){r.kill()},wait(){return r.exited}}}async function*Cz(e){let t=e.getReader();try{for(;;){let{value:r,done:n}=await t.read();if(n)return;yield r}}finally{t.releaseLock()}}async function Nz(e,t){let n=new globalThis.Deno.Command(e,{args:t,stdin:"piped",stdout:"piped",stderr:"inherit"}).spawn(),o=n.stdin.getWriter();return{runtime:"deno",stdin:{async write(i){await o.write(i)},end(){try{o.close()}catch{}}},stdout:Oz(n.stdout),kill(){try{n.kill("SIGTERM")}catch{}},async wait(){return(await n.status).code??0}}}async function*Oz(e){let t=e.getReader();try{for(;;){let{value:r,done:n}=await t.read();if(n)return;yield r}}finally{t.releaseLock()}}import{fileURLToPath as Mz}from"node:url";import{dirname as qz,resolve as Bz,join as ej}from"node:path";import{existsSync as Dz}from"node:fs";import{join as jz}from"node:path";function Lg(e){if(!e||typeof e!="object")throw new TypeError("resolveBin: options object required");let{name:t,packageRoot:r,envVar:n}=e;if(typeof t!="string"||t==="")throw new TypeError("resolveBin: `name` must be a non-empty string");if(typeof r!="string"||r==="")throw new TypeError("resolveBin: `packageRoot` must be a non-empty string");if(typeof n!="string"||n==="")throw new TypeError("resolveBin: `envVar` must be a non-empty string");let o=process.env?.[n];if(typeof o=="string"&&o!=="")return o;let i=jz(r,"bin",t);if(Dz(i))return i;throw new Error(`reddb: binary "${t}" not found.
43
+ `,"utf8")),t}async function yz(e){let t=Cg(e);try{let r=await Vc(t,"utf8");return _z(r)}catch(r){if(r.code==="ENOENT")return null;throw r}}function _z(e){let t=e.split(/\r?\n/).map(n=>n.trim()).find(n=>n.startsWith("connection_string:"));if(!t)return{connection_string:Yo};let r=t.slice(18).trim();return{connection_string:Ng(r)||Yo}}function Ng(e){return e.startsWith('"')&&e.endsWith('"')||e.startsWith("'")&&e.endsWith("'")?e.slice(1,-1):e}async function Og(e=process.cwd()){let t=await dz(e),r=await gz(t),n=await yz(t)??{connection_string:Yo},o=await vz(t),i=n.connection_string,s=wz(i,o);return{rootDir:t,configPath:r,rawConnectionString:i,connectionString:bz(t,s)}}async function vz(e){let t={...process.env};try{let r=await Vc(hz(e),"utf8");for(let n of r.split(/\r?\n/)){let o=n.trim();if(!o||o.startsWith("#"))continue;let i=o.indexOf("=");if(i<=0)continue;let s=o.slice(0,i).trim(),a=Ng(o.slice(i+1).trim());t[s]==null&&(t[s]=a)}}catch(r){if(r.code!=="ENOENT")throw r}return t}function wz(e,t){return e.replace(/\$(\w+)|\$\{([^}]+)\}/g,(r,n,o)=>{let i=String(n??o),s=t[i];if(s==null||s==="")throw new Error(`Brain connection_string references missing environment variable ${i}`);return s})}function bz(e,t){if(!t.startsWith("file://"))return t;let r=t.slice(7);return cz(r)?t:`file://${bt(e,r)}`}import{resolve as $z}from"node:path";var xz=".red/tmp/red-skills.rdb",kz=7,Sz=64*1024*1024;function jg(e){return e.connectionString.startsWith("file://")?e.connectionString.slice(7)===qg(e.rootDir):!1}async function Mg(e){let t=Wo(e.rootDir),r=new Go(t,zz(e.rootDir));return await r.request({op:"ping"}),new Hc(r)}function Ez(e){return`file://${qg(e)}`}function qg(e){return $z(e,xz)}function zz(e){return{storeUri:Ez(e),ttlDays:kz,byteBudget:Sz,serverCommand:process.env.RSP_BIN??"rsp"}}var Hc=class{constructor(t){this.client=t}async close(){}async status(){let t=await this.request("status");return Tz(t)?t:{}}async capture(t){return await this.request("capture",t)}async getArtifact(t){return await this.request("getArtifact",{ridOrId:t})}async listArtifacts(){return await this.request("listArtifacts")}async search(t,r=10,n={}){return await this.request("search",{query:t,limit:r,options:Dg(n)})}async think(t,r=8,n={}){return await this.request("think",{query:t,limit:r,options:Dg(n)})}async link(t){return await this.request("link",t)}async backlinks(t){return await this.request("backlinks",{target:t})}async listConnections(){return await this.request("listConnections")}async eventKpis(t={}){return await this.request("eventKpis",t)}async appendOutcomeEvent(t){return await this.request("appendOutcomeEvent",t)}async replayOutcomeEvents(){return await this.request("replayOutcomeEvents")}async loadModelTierBanditDocument(){return await this.request("loadModelTierBanditDocument")}async saveModelTierBanditDocument(t){return await this.request("saveModelTierBanditDocument",t)}async refreshModelTierBanditDocument(){return await this.request("refreshModelTierBanditDocument")}async request(t,r){return await this.client.request({op:"brain",action:t,payload:r})}};function Dg(e){return{...e,excludeRids:e.excludeRids?[...e.excludeRids]:void 0}}function Tz(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Pz=typeof globalThis.Bun<"u"&&typeof globalThis.Bun.spawn=="function",Rz=typeof globalThis.Deno<"u"&&typeof globalThis.Deno.Command=="function";async function Bg(e,t){return Pz?Az(e,t):Rz?Nz(e,t):Iz(e,t)}async function Iz(e,t){let{spawn:r}=await import("node:child_process"),n=r(e,t,{stdio:["pipe","pipe","inherit"]});return{runtime:"node",stdin:{write(o){return new Promise((i,s)=>{n.stdin.write(o,a=>a?s(a):i())})},end(){n.stdin.end()}},stdout:n.stdout,kill(){n.kill("SIGTERM")},wait(){return new Promise(o=>{n.on("exit",i=>o(i??0))})}}}function Az(e,t){let r=globalThis.Bun.spawn({cmd:[e,...t],stdin:"pipe",stdout:"pipe",stderr:"inherit"}),n=r.stdin.getWriter?r.stdin.getWriter():null;return{runtime:"bun",stdin:{async write(o){n?await n.write(o):(r.stdin.write(o),await r.stdin.flush())},end(){n?n.close():r.stdin.end()}},stdout:Cz(r.stdout),kill(){r.kill()},wait(){return r.exited}}}async function*Cz(e){let t=e.getReader();try{for(;;){let{value:r,done:n}=await t.read();if(n)return;yield r}}finally{t.releaseLock()}}async function Nz(e,t){let n=new globalThis.Deno.Command(e,{args:t,stdin:"piped",stdout:"piped",stderr:"inherit"}).spawn(),o=n.stdin.getWriter();return{runtime:"deno",stdin:{async write(i){await o.write(i)},end(){try{o.close()}catch{}}},stdout:Oz(n.stdout),kill(){try{n.kill("SIGTERM")}catch{}},async wait(){return(await n.status).code??0}}}async function*Oz(e){let t=e.getReader();try{for(;;){let{value:r,done:n}=await t.read();if(n)return;yield r}}finally{t.releaseLock()}}import{fileURLToPath as Mz}from"node:url";import{dirname as qz,resolve as Bz,join as ej}from"node:path";import{existsSync as Dz}from"node:fs";import{join as jz}from"node:path";function Lg(e){if(!e||typeof e!="object")throw new TypeError("resolveBin: options object required");let{name:t,packageRoot:r,envVar:n}=e;if(typeof t!="string"||t==="")throw new TypeError("resolveBin: `name` must be a non-empty string");if(typeof r!="string"||r==="")throw new TypeError("resolveBin: `packageRoot` must be a non-empty string");if(typeof n!="string"||n==="")throw new TypeError("resolveBin: `envVar` must be a non-empty string");let o=process.env?.[n];if(typeof o=="string"&&o!=="")return o;let i=jz(r,"bin",t);if(Dz(i))return i;throw new Error(`reddb: binary "${t}" not found.
44
44
  expected at: ${i}
45
45
  override: set ${n}=/path/to/${t}
46
46
  fix: re-run \`pnpm install\` (the postinstall script downloads it),
47
- or check the postinstall log for a download error.`)}var Lz=qz(Mz(import.meta.url)),Zz=Bz(Lz,"..");function Uz(){return typeof process<"u"&&process.platform==="win32"?"red.exe":"red"}function Zg(){let e=process.env?.REDDB_BINARY_PATH;return typeof e=="string"&&e!==""&&!process.env?.REDDB_BIN?e:Lg({name:Uz(),packageRoot:Zz,envVar:"REDDB_BIN"})}var Fz=new TextEncoder,Vz=new TextDecoder("utf-8"),T=class extends Error{constructor(t,r,n){super(r),this.name="RedDBError",this.code=t,this.data=n??null}},Xo=class{constructor(t){this.child=t,this.nextId=1,this.pending=new Map,this.closed=!1,this.closeReason=null,this.readerPromise=this.#t()}call(t,r={}){if(this.closed)return Promise.reject(new T("CLIENT_CLOSED",`client is closed: ${this.closeReason??"unknown"}`));let n=this.nextId++,o=JSON.stringify({jsonrpc:"2.0",id:n,method:t,params:r});return new Promise((i,s)=>{this.pending.set(n,{resolve:i,reject:s}),this.child.stdin.write(Fz.encode(o+`
48
- `)).catch(a=>{this.pending.delete(n),s(a)})})}async close(){if(!this.closed){try{await this.call("close",{})}catch{}this.#e("close requested");try{this.child.stdin.end()}catch{}await this.child.wait()}}async#t(){let t=new Uint8Array(0);try{for await(let r of this.child.stdout){let n=new Uint8Array(t.length+r.length);n.set(t,0),n.set(r,t.length),t=n;let o=0;for(let i=0;i<t.length;i++)if(t[i]===10){let s=t.subarray(o,i);this.#r(Vz.decode(s)),o=i+1}o>0&&(t=t.subarray(o))}}catch(r){this.#e(`stdout reader error: ${r.message}`);return}this.#e("server stdout closed")}#r(t){if(!t.trim())return;let r;try{r=JSON.parse(t)}catch(i){this.#e(`malformed server response: ${i.message}`);return}let n=r.id;if(n==null)return;let o=this.pending.get(n);o&&(this.pending.delete(n),r.error?o.reject(new T(r.error.code??"UNKNOWN",r.error.message??"unknown error",r.error.data)):o.resolve(r.result))}#e(t){if(this.closed)return;this.closed=!0,this.closeReason=t;let r=new T("CLIENT_CLOSED",t);for(let{reject:n}of this.pending.values())n(r);this.pending.clear()}};function Wc(e){if(typeof e!="string"||e.length===0)throw new TypeError("connect() requires a URI string (e.g. 'red://localhost:5050' or 'red:///data.rdb')");return e.startsWith("red://")||e==="red:"||e==="red:/"?Kz(e):Hz(e)}function Kz(e){let t=e;e==="red:"||e==="red:/"||e==="red://"?t="red://embedded.local":e.startsWith("red:///")?t=`red://embedded.local${e.slice(6)}`:(e==="red://memory"||e==="red://memory/"||e==="red://:memory"||e==="red://:memory:")&&(t="red://embedded.local");let r;try{r=new URL(t)}catch(u){throw new T("UNPARSEABLE_URI",`failed to parse '${e}': ${u.message}`)}let n=r.searchParams,o=(n.get("proto")||"").toLowerCase(),i=r.pathname&&r.pathname!=="/"?r.pathname:"";if(r.hostname==="embedded.local")return i?{kind:"embedded",path:i,params:n,originalUri:e}:{kind:"embedded",params:n,originalUri:e};let s=Gz(o),a=r.port?Number(r.port):Gc(s),c=r.username?decodeURIComponent(r.username):void 0,l=r.password?decodeURIComponent(r.password):void 0;return{kind:s,host:r.hostname,port:a,path:i||void 0,username:c,password:l,token:n.get("token")??void 0,apiKey:n.get("apiKey")??n.get("api_key")??void 0,loginUrl:n.get("loginUrl")??n.get("login_url")??void 0,params:n,originalUri:e}}function Hz(e){if(e==="memory://"||e==="memory:")return{kind:"embedded",originalUri:e};if(e.startsWith("file://")){let t=e.slice(7);if(!t)throw new TypeError(`invalid file:// URI: missing path in '${e}'`);return{kind:"embedded",path:t,originalUri:e}}if(e.startsWith("grpc://")||e.startsWith("grpcs://")||e.startsWith("reds://")){let t=e.split("://",1)[0],r;try{r=new URL("https://"+e.slice(`${t}://`.length))}catch(i){throw new T("UNPARSEABLE_URI",`failed to parse '${e}': ${i.message}`)}if(!r.hostname)throw new TypeError(`invalid ${t}:// URI: missing host in '${e}'`);let n=t==="reds"?"reds":t==="grpcs"?"grpcs":"grpc",o=r.searchParams;return{kind:n,host:r.hostname,port:r.port?Number(r.port):Gc(n),username:r.username?decodeURIComponent(r.username):void 0,password:r.password?decodeURIComponent(r.password):void 0,token:o.get("token")??void 0,apiKey:o.get("apiKey")??o.get("api_key")??void 0,loginUrl:o.get("loginUrl")??o.get("login_url")??void 0,params:o,originalUri:e}}if(e.startsWith("http://")||e.startsWith("https://")){let t;try{t=new URL(e)}catch(r){throw new T("UNPARSEABLE_URI",`failed to parse '${e}': ${r.message}`)}return{kind:t.protocol==="https:"?"https":"http",host:t.hostname,port:t.port?Number(t.port):Gc(t.protocol==="https:"?"https":"http"),path:t.pathname!=="/"?t.pathname:void 0,username:t.username?decodeURIComponent(t.username):void 0,password:t.password?decodeURIComponent(t.password):void 0,token:t.searchParams.get("token")??void 0,apiKey:t.searchParams.get("apiKey")??void 0,params:t.searchParams,originalUri:e}}throw new T("UNSUPPORTED_SCHEME",`unsupported URI: '${e}'. Use 'red://...' or one of memory://, file://, grpc://, http(s)://`)}function Gz(e){switch(e){case"":case"red":return"red";case"reds":return"reds";case"grpc":return"grpc";case"grpcs":return"grpcs";case"http":return"http";case"https":return"https";case"pg":case"postgres":case"postgresql":return"pg";default:throw new T("UNSUPPORTED_PROTO",`unknown proto='${e}'. Supported: red | reds | grpc | grpcs | http | https | pg`)}}function Gc(e){switch(e){case"http":return 5e3;case"https":return 55555;case"red":case"reds":case"redwire":return 5050;case"grpc":return 55055;case"grpcs":return 55555;case"pg":case"postgres":case"postgresql":return 5432;default:return}}var Wz=new Set(["embedded"]),wn=class{constructor(t,r){this._client=t,this._transport=r??null}_guard(t){if(this._transport&&Wz.has(this._transport))throw new T("UNSUPPORTED_TRANSPORT",`cache.${t} is not available on '${this._transport}' transport; use @reddb-io/client for remote cache endpoints.`)}async get(t,r){this._guard("get");let n=await this._client.call("cache.get",{namespace:t,key:r});return n==null||n.value==null?null:Qz(n.value)}async put(t,r,n,o={}){this._guard("put");let i=Jz(n);await this._client.call("cache.put",{namespace:t,key:r,value:i,...o})}async exists(t,r){return this._guard("exists"),(await this._client.call("cache.exists",{namespace:t,key:r}))?.status??"maybe"}async invalidate(t,r){this._guard("invalidate"),await this._client.call("cache.invalidate",{namespace:t,key:r})}async invalidatePrefix(t,r){return this._guard("invalidatePrefix"),(await this._client.call("cache.invalidate_prefix",{namespace:t,prefix:r}))?.removed??0}async invalidateTags(t,r){return this._guard("invalidateTags"),(await this._client.call("cache.invalidate_tags",{namespace:t,tags:r}))?.removed??0}async flushNamespace(t){this._guard("flushNamespace"),await this._client.call("cache.flush_namespace",{namespace:t})}};function Jz(e){if(typeof e=="string"){let t=new TextEncoder().encode(e);return Ug(t)}if(e instanceof Uint8Array||typeof Buffer<"u"&&Buffer.isBuffer(e))return Ug(e);throw new TypeError("cache value must be a string, Uint8Array, or Buffer")}function Ug(e){if(typeof Buffer<"u")return Buffer.from(e).toString("base64");let t="";for(let r of e)t+=String.fromCharCode(r);return btoa(t)}function Qz(e){if(typeof Buffer<"u")return new Uint8Array(Buffer.from(e,"base64"));let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}var _r=class{constructor(t,r="kv_default"){this.client=t,this.collection=r}put(t,r,n={}){let o=n.collection??this.collection,i=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(Fg).join(", ")}]`:"",s=n.expireMs!=null?` EXPIRE ${Number(n.expireMs)} ms`:"";return this.client.call("query",{sql:`KV PUT ${Jc(o,t)} = ${Xz(r)}${s}${i}`})}set(t,r,n={}){return this.put(t,r,n)}async get(t,r={}){let n=r.collection??this.collection;return(await this.client.call("query",{sql:`KV GET ${Jc(n,t)}`}))?.rows?.[0]?.value??null}async getMany(t,r={}){let n=[];for(let o of t)n.push(await this.get(o,r));return n}async exists(t,r={}){return{exists:await this.get(t,r)!==null}}async delete(t,r={}){let n=r.collection??this.collection,o=await this.client.call("query",{sql:`KV DELETE ${Jc(n,t)}`}),i=o.affected??o.affected_rows??0;return{affected:i,deleted:i>0}}async list(t={}){let r=t.collection??this.collection,n=t.limit==null?100:Number(t.limit);if(!Number.isInteger(n)||n<=0)throw new T("INVALID_ARGUMENT","kv.list limit must be a positive integer");let o=t.prefix==null?"":String(t.prefix),s=(await this.client.call("query",{sql:`SELECT key, value FROM ${Qc(r)} ORDER BY key ASC LIMIT ${n}`})).rows??[];return{items:o.length>0?s.filter(c=>String(c.key).startsWith(o)):s}}async invalidateTags(t,r={}){let n=r.collection??this.collection,o=await this.client.call("query",{sql:`INVALIDATE TAGS [${t.map(Fg).join(", ")}] FROM ${Qc(n)}`});return o.affected??o.affected_rows??o.rows?.[0]?.invalidated??0}async*watch(t,r={}){if(!this.client.baseUrl)throw new T("UNSUPPORTED_TRANSPORT","kv.watch requires the HTTP transport");let n=r.collection??this.collection,o=new URLSearchParams;r.sinceLsn!=null&&o.set("since_lsn",String(r.sinceLsn)),r.limit!=null&&o.set("limit",String(r.limit));let i=o.toString()?`?${o}`:"",s=`${this.client.baseUrl}/collections/${encodeURIComponent(n)}/kv/${encodeURIComponent(String(t))}/watch${i}`,a=await fetch(s,this.client.attachAuth({method:"GET"}));if(!a.ok)throw new T("HTTP_ERROR",`kv.watch failed with HTTP ${a.status}`);let c=await a.text();for(let l of c.split(`
47
+ or check the postinstall log for a download error.`)}var Lz=qz(Mz(import.meta.url)),Zz=Bz(Lz,"..");function Uz(){return typeof process<"u"&&process.platform==="win32"?"red.exe":"red"}function Zg(){let e=process.env?.REDDB_BINARY_PATH;return typeof e=="string"&&e!==""&&!process.env?.REDDB_BIN?e:Lg({name:Uz(),packageRoot:Zz,envVar:"REDDB_BIN"})}var Fz=new TextEncoder,Vz=new TextDecoder("utf-8"),P=class extends Error{constructor(t,r,n){super(r),this.name="RedDBError",this.code=t,this.data=n??null}},Xo=class{constructor(t){this.child=t,this.nextId=1,this.pending=new Map,this.closed=!1,this.closeReason=null,this.readerPromise=this.#t()}call(t,r={}){if(this.closed)return Promise.reject(new P("CLIENT_CLOSED",`client is closed: ${this.closeReason??"unknown"}`));let n=this.nextId++,o=JSON.stringify({jsonrpc:"2.0",id:n,method:t,params:r});return new Promise((i,s)=>{this.pending.set(n,{resolve:i,reject:s}),this.child.stdin.write(Fz.encode(o+`
48
+ `)).catch(a=>{this.pending.delete(n),s(a)})})}async close(){if(!this.closed){try{await this.call("close",{})}catch{}this.#e("close requested");try{this.child.stdin.end()}catch{}await this.child.wait()}}async#t(){let t=new Uint8Array(0);try{for await(let r of this.child.stdout){let n=new Uint8Array(t.length+r.length);n.set(t,0),n.set(r,t.length),t=n;let o=0;for(let i=0;i<t.length;i++)if(t[i]===10){let s=t.subarray(o,i);this.#r(Vz.decode(s)),o=i+1}o>0&&(t=t.subarray(o))}}catch(r){this.#e(`stdout reader error: ${r.message}`);return}this.#e("server stdout closed")}#r(t){if(!t.trim())return;let r;try{r=JSON.parse(t)}catch(i){this.#e(`malformed server response: ${i.message}`);return}let n=r.id;if(n==null)return;let o=this.pending.get(n);o&&(this.pending.delete(n),r.error?o.reject(new P(r.error.code??"UNKNOWN",r.error.message??"unknown error",r.error.data)):o.resolve(r.result))}#e(t){if(this.closed)return;this.closed=!0,this.closeReason=t;let r=new P("CLIENT_CLOSED",t);for(let{reject:n}of this.pending.values())n(r);this.pending.clear()}};function Wc(e){if(typeof e!="string"||e.length===0)throw new TypeError("connect() requires a URI string (e.g. 'red://localhost:5050' or 'red:///data.rdb')");return e.startsWith("red://")||e==="red:"||e==="red:/"?Kz(e):Hz(e)}function Kz(e){let t=e;e==="red:"||e==="red:/"||e==="red://"?t="red://embedded.local":e.startsWith("red:///")?t=`red://embedded.local${e.slice(6)}`:(e==="red://memory"||e==="red://memory/"||e==="red://:memory"||e==="red://:memory:")&&(t="red://embedded.local");let r;try{r=new URL(t)}catch(u){throw new P("UNPARSEABLE_URI",`failed to parse '${e}': ${u.message}`)}let n=r.searchParams,o=(n.get("proto")||"").toLowerCase(),i=r.pathname&&r.pathname!=="/"?r.pathname:"";if(r.hostname==="embedded.local")return i?{kind:"embedded",path:i,params:n,originalUri:e}:{kind:"embedded",params:n,originalUri:e};let s=Gz(o),a=r.port?Number(r.port):Gc(s),c=r.username?decodeURIComponent(r.username):void 0,l=r.password?decodeURIComponent(r.password):void 0;return{kind:s,host:r.hostname,port:a,path:i||void 0,username:c,password:l,token:n.get("token")??void 0,apiKey:n.get("apiKey")??n.get("api_key")??void 0,loginUrl:n.get("loginUrl")??n.get("login_url")??void 0,params:n,originalUri:e}}function Hz(e){if(e==="memory://"||e==="memory:")return{kind:"embedded",originalUri:e};if(e.startsWith("file://")){let t=e.slice(7);if(!t)throw new TypeError(`invalid file:// URI: missing path in '${e}'`);return{kind:"embedded",path:t,originalUri:e}}if(e.startsWith("grpc://")||e.startsWith("grpcs://")||e.startsWith("reds://")){let t=e.split("://",1)[0],r;try{r=new URL("https://"+e.slice(`${t}://`.length))}catch(i){throw new P("UNPARSEABLE_URI",`failed to parse '${e}': ${i.message}`)}if(!r.hostname)throw new TypeError(`invalid ${t}:// URI: missing host in '${e}'`);let n=t==="reds"?"reds":t==="grpcs"?"grpcs":"grpc",o=r.searchParams;return{kind:n,host:r.hostname,port:r.port?Number(r.port):Gc(n),username:r.username?decodeURIComponent(r.username):void 0,password:r.password?decodeURIComponent(r.password):void 0,token:o.get("token")??void 0,apiKey:o.get("apiKey")??o.get("api_key")??void 0,loginUrl:o.get("loginUrl")??o.get("login_url")??void 0,params:o,originalUri:e}}if(e.startsWith("http://")||e.startsWith("https://")){let t;try{t=new URL(e)}catch(r){throw new P("UNPARSEABLE_URI",`failed to parse '${e}': ${r.message}`)}return{kind:t.protocol==="https:"?"https":"http",host:t.hostname,port:t.port?Number(t.port):Gc(t.protocol==="https:"?"https":"http"),path:t.pathname!=="/"?t.pathname:void 0,username:t.username?decodeURIComponent(t.username):void 0,password:t.password?decodeURIComponent(t.password):void 0,token:t.searchParams.get("token")??void 0,apiKey:t.searchParams.get("apiKey")??void 0,params:t.searchParams,originalUri:e}}throw new P("UNSUPPORTED_SCHEME",`unsupported URI: '${e}'. Use 'red://...' or one of memory://, file://, grpc://, http(s)://`)}function Gz(e){switch(e){case"":case"red":return"red";case"reds":return"reds";case"grpc":return"grpc";case"grpcs":return"grpcs";case"http":return"http";case"https":return"https";case"pg":case"postgres":case"postgresql":return"pg";default:throw new P("UNSUPPORTED_PROTO",`unknown proto='${e}'. Supported: red | reds | grpc | grpcs | http | https | pg`)}}function Gc(e){switch(e){case"http":return 5e3;case"https":return 55555;case"red":case"reds":case"redwire":return 5050;case"grpc":return 55055;case"grpcs":return 55555;case"pg":case"postgres":case"postgresql":return 5432;default:return}}var Wz=new Set(["embedded"]),wn=class{constructor(t,r){this._client=t,this._transport=r??null}_guard(t){if(this._transport&&Wz.has(this._transport))throw new P("UNSUPPORTED_TRANSPORT",`cache.${t} is not available on '${this._transport}' transport; use @reddb-io/client for remote cache endpoints.`)}async get(t,r){this._guard("get");let n=await this._client.call("cache.get",{namespace:t,key:r});return n==null||n.value==null?null:Qz(n.value)}async put(t,r,n,o={}){this._guard("put");let i=Jz(n);await this._client.call("cache.put",{namespace:t,key:r,value:i,...o})}async exists(t,r){return this._guard("exists"),(await this._client.call("cache.exists",{namespace:t,key:r}))?.status??"maybe"}async invalidate(t,r){this._guard("invalidate"),await this._client.call("cache.invalidate",{namespace:t,key:r})}async invalidatePrefix(t,r){return this._guard("invalidatePrefix"),(await this._client.call("cache.invalidate_prefix",{namespace:t,prefix:r}))?.removed??0}async invalidateTags(t,r){return this._guard("invalidateTags"),(await this._client.call("cache.invalidate_tags",{namespace:t,tags:r}))?.removed??0}async flushNamespace(t){this._guard("flushNamespace"),await this._client.call("cache.flush_namespace",{namespace:t})}};function Jz(e){if(typeof e=="string"){let t=new TextEncoder().encode(e);return Ug(t)}if(e instanceof Uint8Array||typeof Buffer<"u"&&Buffer.isBuffer(e))return Ug(e);throw new TypeError("cache value must be a string, Uint8Array, or Buffer")}function Ug(e){if(typeof Buffer<"u")return Buffer.from(e).toString("base64");let t="";for(let r of e)t+=String.fromCharCode(r);return btoa(t)}function Qz(e){if(typeof Buffer<"u")return new Uint8Array(Buffer.from(e,"base64"));let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}var _r=class{constructor(t,r="kv_default"){this.client=t,this.collection=r}put(t,r,n={}){let o=n.collection??this.collection,i=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(Fg).join(", ")}]`:"",s=n.expireMs!=null?` EXPIRE ${Number(n.expireMs)} ms`:"";return this.client.call("query",{sql:`KV PUT ${Jc(o,t)} = ${Xz(r)}${s}${i}`})}set(t,r,n={}){return this.put(t,r,n)}async get(t,r={}){let n=r.collection??this.collection;return(await this.client.call("query",{sql:`KV GET ${Jc(n,t)}`}))?.rows?.[0]?.value??null}async getMany(t,r={}){let n=[];for(let o of t)n.push(await this.get(o,r));return n}async exists(t,r={}){return{exists:await this.get(t,r)!==null}}async delete(t,r={}){let n=r.collection??this.collection,o=await this.client.call("query",{sql:`KV DELETE ${Jc(n,t)}`}),i=o.affected??o.affected_rows??0;return{affected:i,deleted:i>0}}async list(t={}){let r=t.collection??this.collection,n=t.limit==null?100:Number(t.limit);if(!Number.isInteger(n)||n<=0)throw new P("INVALID_ARGUMENT","kv.list limit must be a positive integer");let o=t.prefix==null?"":String(t.prefix),s=(await this.client.call("query",{sql:`SELECT key, value FROM ${Qc(r)} ORDER BY key ASC LIMIT ${n}`})).rows??[];return{items:o.length>0?s.filter(c=>String(c.key).startsWith(o)):s}}async invalidateTags(t,r={}){let n=r.collection??this.collection,o=await this.client.call("query",{sql:`INVALIDATE TAGS [${t.map(Fg).join(", ")}] FROM ${Qc(n)}`});return o.affected??o.affected_rows??o.rows?.[0]?.invalidated??0}async*watch(t,r={}){if(!this.client.baseUrl)throw new P("UNSUPPORTED_TRANSPORT","kv.watch requires the HTTP transport");let n=r.collection??this.collection,o=new URLSearchParams;r.sinceLsn!=null&&o.set("since_lsn",String(r.sinceLsn)),r.limit!=null&&o.set("limit",String(r.limit));let i=o.toString()?`?${o}`:"",s=`${this.client.baseUrl}/collections/${encodeURIComponent(n)}/kv/${encodeURIComponent(String(t))}/watch${i}`,a=await fetch(s,this.client.attachAuth({method:"GET"}));if(!a.ok)throw new P("HTTP_ERROR",`kv.watch failed with HTTP ${a.status}`);let c=await a.text();for(let l of c.split(`
49
49
 
50
50
  `)){let u=l.split(`
51
- `).find(d=>d.startsWith("data: "));u&&(yield JSON.parse(u.slice(6)))}}watchPrefix(t,r={}){return this.watch(`${t}.*`,r)}};function Jc(e,t){return`${Qc(e)}.${Yz(t)}`}function Qc(e){let t=String(e),r=t.match(/[^A-Za-z0-9_]/);if(r)throw new T("INVALID_KV_KEY",`invalid KV key "${t}": character "${r[0]}" is not supported`);return t}function Yz(e){let t=String(e);return/^[A-Za-z0-9_]+$/.test(t)?t:`'${t.replace(/'/g,"''")}'`}function Xz(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":typeof e=="object"?`'${JSON.stringify(e).replace(/'/g,"''")}'`:`'${String(e).replace(/'/g,"''")}'`}function Fg(e){return`'${String(e).replace(/'/g,"''")}'`}var bn=class{constructor(t){this.client=t}create(t){return this.client.call("query",{sql:`CREATE QUEUE IF NOT EXISTS ${at(t)}`})}push(t,r,n={}){let o=rP(n);return this.client.call("query",{sql:`QUEUE PUSH ${at(t)} ${nP(r)}${o}`})}async pop(t,r){let n=await this.client.call("query",{sql:`QUEUE POP ${at(t)}${Xc(r)}`});return Yc(n)}async peek(t,r){let n=await this.client.call("query",{sql:`QUEUE PEEK ${at(t)}${Xc(r)}`});return Yc(n)}async len(t){let r=await this.client.call("query",{sql:`QUEUE LEN ${at(t)}`});return Number(r?.rows?.[0]?.len??0)}purge(t){return this.client.call("query",{sql:`QUEUE PURGE ${at(t)}`})}async readWait(t,r,n={}){let o=eP(t,r,n),i=await this.client.call("query",{sql:o});return Yc(i)}};function eP(e,t,r){let{waitMs:n,group:o=null,count:i=null}=r??{};if(!Number.isInteger(n)||n<0)throw new T("INVALID_QUEUE_WAIT","queue readWait requires an explicit non-negative integer waitMs (no infinite wait)");let s=at(e),a=at(t),c=o!=null?` GROUP ${at(o)}`:"",l=i!=null?Xc(i):"";return`QUEUE READ ${s}${c} CONSUMER ${a}${l} WAIT ${n}ms`}function at(e){let t=String(e);if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(t))throw new T("INVALID_QUEUE_NAME",`invalid queue name "${t}": expected an SQL identifier`);return t}function Xc(e){if(e==null)return"";if(!Number.isInteger(e)||e<0)throw new T("INVALID_QUEUE_COUNT","queue count must be a non-negative integer");return` COUNT ${e}`}function tP(e){if(!Number.isInteger(e))throw new T("INVALID_QUEUE_PRIORITY","queue priority must be an integer");return String(e)}function rP(e){if(e.key!=null&&(e.delay!=null||e.at!=null))throw new T("INVALID_ARGUMENT","QUEUE PUSH KEY cannot be combined with DELAY / AVAILABLE AT");let t="";return e.priority!=null&&(t+=` PRIORITY ${tP(e.priority)}`),e.key!=null&&(t+=` KEY ${eu(e.key)}`),e.dedup!=null&&(t+=` DEDUP ${eu(e.dedup)}`),e.delay!=null&&(t+=` DELAY ${e.delay}`),e.at!=null&&(t+=` AVAILABLE AT ${e.at}`),t}function nP(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":typeof e=="string"?eu(e):JSON.stringify(e)}function eu(e){return`'${String(e).replace(/'/g,"''")}'`}function Yc(e){return Array.isArray(e?.rows)?e.rows.map(t=>t.payload):[]}var $n=class{constructor(t){this.db=t}async insert(t,r){Vg(r,"documents.insert document"),await this.ensureCollection(t);let n=await this.db.query(`INSERT INTO ${ei(t)} DOCUMENT VALUES (${sP(r)}) RETURNING *`),o=n.rows?.[0];if(!o||o.rid==null)throw new T("INVALID_RESPONSE","documents.insert expected one returned item with rid");return{affected:n.affected??1,rid:o.rid,item:o}}async get(t,r){let n=await this.db.get(t,r);if(!n.entity)throw new T("NOT_FOUND",`document ${String(r)} was not found`);return n.entity}async list(t,r={}){let n=oP(r.limit),o=r.orderBy??r.order_by??"rid ASC",i=r.filter?` WHERE ${String(r.filter)}`:"";return{items:(await this.db.query(`SELECT * FROM ${ei(t)}${i} ORDER BY ${o} LIMIT ${n}`)).rows??[]}}async patch(t,r,n){Vg(n,"documents.patch patch");let o=Object.entries(n);if(o.length===0)throw new T("INVALID_ARGUMENT","documents.patch patch must be a non-empty object");for(let[c]of o)if(c.includes("/"))throw new T("INVALID_ARGUMENT","documents.patch currently accepts top-level document fields");let i=o.map(([c,l])=>`${Kg(c)} = ${aP(l)}`).join(", "),a=(await this.db.query(`UPDATE ${ei(t)} SET ${i} WHERE rid = $1 RETURNING *`,r)).rows?.[0];if(!a)throw new T("NOT_FOUND",`document ${String(r)} was not found`);return a}async delete(t,r){let o=(await this.db.delete(t,r)).affected??0;return{affected:o,deleted:o>0}}async ensureCollection(t){try{await this.db.query(`CREATE DOCUMENT ${ei(t)}`)}catch(r){if(!String(r?.message??"").includes("already exists"))throw r}}};function Vg(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new T("INVALID_ARGUMENT",`${t} must be an object`)}function oP(e){if(e==null)return 100;if(!Number.isInteger(e)||e<=0)throw new T("INVALID_ARGUMENT","limit must be a positive integer");return e}function ei(e){return String(e).split(".").map(Kg).join(".")}function Kg(e){let t=String(e);if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(t))throw new T("INVALID_ARGUMENT",`invalid SQL identifier "${t}"`);return t}function iP(e){return Hg(JSON.stringify(e))}function sP(e){return JSON.stringify(e)}function aP(e){return e==null?"NULL":typeof e=="number"||typeof e=="boolean"?String(e):typeof e=="object"?iP(e):Hg(e)}function Hg(e){return`'${String(e).replace(/'/g,"''")}'`}var xn=class{constructor(t,r="red.config"){this.client=t,this.collection=r}put(t,r,n={}){uP(n,"config");let o=n.collection??this.collection,i=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(Gg).join(", ")}]`:"";return this.client.call("query",{sql:`PUT CONFIG ${$t(o)} ${$t(t)} = ${cP(r,n)}${i}`})}get(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`GET CONFIG ${$t(n)} ${$t(t)}`})}resolve(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`RESOLVE CONFIG ${$t(n)} ${$t(t)}`})}};function cP(e,t){if(t.secretRef){let{collection:r,key:n}=t.secretRef;return`SECRET_REF(vault, ${$t(r)}.${$t(n)})`}return lP(e)}function uP(e,t){for(let r of["ttl","ttlMs","ttl_ms","expireMs","expire_ms","expiresAt"])if(e[r]!=null)throw new TypeError(`${t} does not support TTL or expiration options`)}function $t(e){let t=String(e);if(!/^[A-Za-z0-9_.]+$/.test(t))throw new TypeError("keyed collection and key names must use letters, numbers, underscores, or dots");return t}function lP(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":Array.isArray(e)||typeof e=="object"?JSON.stringify(e):Gg(e)}function Gg(e){return`'${String(e).replace(/'/g,"''")}'`}var kn=class{constructor(t,r="red.vault"){this.client=t,this.collection=r}put(t,r,n={}){dP(n,"vault");let o=n.collection??this.collection,i=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(Wg).join(", ")}]`:"";return this.client.call("query",{sql:`VAULT PUT ${vr(o)}.${vr(t)} = ${pP(r)}${i}`})}get(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`VAULT GET ${vr(n)}.${vr(t)}`})}unseal(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`UNSEAL VAULT ${vr(n)}.${vr(t)}`})}};function dP(e,t){for(let r of["ttl","ttlMs","ttl_ms","expireMs","expire_ms","expiresAt"])if(e[r]!=null)throw new TypeError(`${t} does not support TTL or expiration options`)}function vr(e){let t=String(e);if(!/^[A-Za-z0-9_.]+$/.test(t))throw new TypeError("keyed collection and key names must use letters, numbers, underscores, or dots");return t}function pP(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":Array.isArray(e)||typeof e=="object"?JSON.stringify(e):Wg(e)}function Wg(e){return`'${String(e).replace(/'/g,"''")}'`}async function Qg(e){return((await e.query("SHOW COLLECTIONS")).rows??[]).map(fP)}async function Yg(e,t){return((await e.query(`SHOW COLLECTIONS WHERE name = ${hP(t)}`)).rows??[]).some(n=>n.name===String(t))}var Sn=class e{constructor(t,r,n=null,o=[],i=[]){this.db=t,this.collection=r,this.columns=n,this.whereClauses=o,this.params=i}select(...t){let r=t.length===1&&Array.isArray(t[0])?t[0]:t,n=r.length===1&&r[0]==="*"?null:r;return new e(this.db,this.collection,n!=null&&n.length>0?n:null,this.whereClauses,this.params)}where(t,...r){if(typeof t!="string"||t.trim().length===0)throw new T("INVALID_QUERY_BUILDER","where() requires a non-empty SQL condition");let n=r.length===1&&Array.isArray(r[0])?r[0]:r;return new e(this.db,this.collection,this.columns,[...this.whereClauses,t.trim()],[...this.params,...n])}async run(){let t=this.columns==null?"*":this.columns.map(Jg).join(", "),r=this.whereClauses.length>0?` WHERE ${this.whereClauses.map(s=>`(${s})`).join(" AND ")}`:"",n=`SELECT ${t} FROM ${Jg(this.collection)}${r}`,i=(this.params.length>0?await this.db.query(n,this.params):await this.db.query(n)).rows??[];return this.columns==null?i:i.map(s=>{let a={};for(let c of this.columns)a[c]=s[c];return a})}};function fP(e){return{...e,name:String(e.name),model:String(e.model),capabilities:Array.isArray(e.capabilities)?e.capabilities:[]}}function Jg(e){return String(e).split(".").map(mP).join(".")}function mP(e){let t=String(e);if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(t))throw new T("INVALID_IDENTIFIER",`invalid SQL identifier "${t}"`);return t}function hP(e){return`'${String(e).replace(/'/g,"''")}'`}var gP="remote URIs are not supported in @reddb-io/sdk; install @reddb-io/client for grpc/http/red transports",yP="1.0",ty="1.0.9",Xg="NESTED_TX_NOT_SUPPORTED";async function ry(e,t={}){let r=Wc(e);if(SP(r),r.kind==="embedded"){let n=kP(r,t.auth);if(n.token||n.username)throw new T("AUTH_NOT_APPLICABLE","auth is only meaningful for remote connections; embedded modes inherit caller privileges.");let o=xP(r),i=t.binary??Zg(),s=await Bg(i,o),a=new Xo(s);return await a.call("version",{}),new ru(a,{transport:"embedded"})}}function ey(e){return _P(e),e instanceof Float32Array||e instanceof Float64Array?Array.from(e):e instanceof Date?{$ts:String(BigInt(e.getTime())*1000000n)}:e instanceof Uint8Array||typeof Buffer<"u"&&e instanceof Buffer?{$bytes:wP(e)}:typeof e=="number"&&!Number.isFinite(e)?Number.isNaN(e)?{$float:"NaN"}:{$float:e>0?"Infinity":"-Infinity"}:typeof e=="string"&&$P(e)?{$uuid:e}:e}function _P(e){if(e!=null&&!(typeof e=="boolean"||typeof e=="number"||typeof e=="string")){if(e instanceof Date){if(Number.isNaN(e.getTime()))throw new T("UNSUPPORTED_PARAM","cannot encode invalid Date query parameter");return}if(!(e instanceof Uint8Array||e instanceof Float32Array||e instanceof Float64Array||typeof Buffer<"u"&&e instanceof Buffer)){if(Array.isArray(e)){if(e.every(t=>typeof t=="number"))return;throw new T("UNSUPPORTED_PARAM","array query parameters must contain only numbers")}if(!(typeof e=="object"&&Object.getPrototypeOf(e)===Object.prototype))throw new T("UNSUPPORTED_PARAM",`cannot encode query parameter of type ${typeof e}`)}}}function vP(e){return e.length===0?null:e.length===1&&Array.isArray(e[0])?e[0].map(ey):e.map(ey)}function wP(e){let t=e instanceof Uint8Array?e:new Uint8Array(e.buffer,e.byteOffset,e.byteLength);if(typeof Buffer<"u")return Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("base64");let r="";for(let n of t)r+=String.fromCharCode(n);return btoa(r)}function bP(e){if(typeof Buffer<"u"){let n=Buffer.from(e,"base64");return new Uint8Array(n.buffer,n.byteOffset,n.byteLength)}let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}function $P(e){return/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)}function ti(e){if(Array.isArray(e))return e.map(ti);if(e&&typeof e=="object"){if(Object.keys(e).length===1){if(typeof e.$bytes=="string")return bP(e.$bytes);if(typeof e.$uuid=="string")return e.$uuid;if(typeof e.$float=="string"){if(e.$float==="NaN")return Number.NaN;if(e.$float==="Infinity"||e.$float==="+Infinity")return 1/0;if(e.$float==="-Infinity")return-1/0}if(typeof e.$ts=="string"||typeof e.$ts=="number"){let n=typeof e.$ts=="string"?BigInt(e.$ts):BigInt(Math.trunc(e.$ts));return new Date(Number(n/1000000n))}}let r={};for(let[n,o]of Object.entries(e))r[n]=ti(o);return r}return e}function xP(e){return e.path?["rpc","--stdio","--path",e.path]:["rpc","--stdio"]}function kP(e,t){let r={token:e.token??e.apiKey??null,username:e.username??null,password:e.password??null,loginUrl:e.loginUrl??null};if(t==null)return r;if(typeof t!="object")throw new TypeError("options.auth must be an object");if(t.token!=null){if(typeof t.token!="string"||t.token.length===0)throw new TypeError("options.auth.token must be a non-empty string");r.token=t.token}if(t.apiKey!=null){if(typeof t.apiKey!="string"||t.apiKey.length===0)throw new TypeError("options.auth.apiKey must be a non-empty string");r.token=t.apiKey}if(t.username!=null){if(typeof t.username!="string"||t.username.length===0)throw new TypeError("options.auth.username must be a non-empty string");r.username=t.username}if(t.password!=null){if(typeof t.password!="string"||t.password.length===0)throw new TypeError("options.auth.password must be a non-empty string");r.password=t.password}return t.loginUrl!=null&&(r.loginUrl=t.loginUrl),r}function SP(e){if(e.kind!=="embedded")throw new T("EMBEDDED_ONLY",gP)}var ri=class{constructor(t){this.db=t}query(t,...r){return this.db.query(t,...r)}execute(t,...r){return this.db.execute(t,...r)}insert(t,r){return this.db.insert(t,r)}bulkInsert(t,r){return this.db.bulkInsert(t,r)}async transaction(){throw nu()}},tu=class{constructor(t){this.db=t,this.active=!1}async begin(){if(this.db.inTransaction)throw nu();this.db.inTransaction=!0,this.active=!0;try{return await this.db.query("BEGIN")}catch(t){throw this.db.inTransaction=!1,this.active=!1,t}}async commit(){if(!this.active)throw new T("INVALID_ARGUMENT","tx.commit() called without an open transaction");try{return await this.db.query("COMMIT")}finally{this.active=!1,this.db.inTransaction=!1}}async rollback(){if(!this.active)throw new T("INVALID_ARGUMENT","tx.rollback() called without an open transaction");try{return await this.db.query("ROLLBACK")}finally{this.active=!1,this.db.inTransaction=!1}}async run(t){if(typeof t!="function")throw new TypeError("tx.run(callback) requires a function");if(this.db.inTransaction)throw new T("INVALID_ARGUMENT","nested tx.run() is not supported; issue savepoints via tx.query() instead");await this.begin();try{let r=await t(new ri(this.db));return await this.commit(),r}catch(r){if(this.active)try{await this.rollback()}catch(n){ny(r,n)}throw r}}},ru=class{constructor(t,r={}){this.client=t,this.transport=r.transport??null,this.helperSpecVersion=yP,this.cache=new wn(t,this.transport),this.queue=new bn(t),this.queues=this.queue,this.documents=new $n(this);let n=new _r(t);this.kv=Object.assign((o="kv_default")=>new _r(t,o),{put:n.put.bind(n),invalidateTags:n.invalidateTags.bind(n),watch:n.watch.bind(n),watchPrefix:n.watchPrefix.bind(n)}),this.config=(o="red.config")=>new xn(t,o),this.vault=(o="red.vault")=>new kn(t,o),this.inTransaction=!1}query(t,...r){if(typeof t!="string"||t.trim().length===0)return Promise.reject(new T("INVALID_ARGUMENT","query() requires a non-empty SQL string"));let n=vP(r);return n==null?this.client.call("query",{sql:t}).then(ti):this.client.call("query",{sql:t,params:n}).then(ti)}execute(t,...r){return this.query(t,...r)}async insert(t,r){let n=await this.client.call("insert",{collection:t,payload:r});return EP(n,"insert")}async bulkInsert(t,r){if(Array.isArray(r)&&r.length===0)return{affected:0,rids:[],ids:[]};let n=await this.client.call("bulk_insert",{collection:t,payloads:r});return zP(n,r.length)}tx(){return new tu(this)}async transaction(t){if(this.inTransaction)throw nu();if(typeof t!="function")throw new TypeError("transaction(callback) requires a function");this.inTransaction=!0;let r=!1;try{await this.query("BEGIN"),r=!0;let n=await t(new ri(this));return await this.query("COMMIT"),n}catch(n){if(r)try{await this.query("ROLLBACK")}catch(o){ny(n,o)}throw n}finally{this.inTransaction=!1}}exists(t){return Yg(this,t)}list(){return Qg(this)}from(t){return new Sn(this,t)}get(t,r){return this.client.call("get",{collection:t,id:String(r)})}delete(t,r){return this.client.call("delete",{collection:t,id:String(r)})}health(){return this.client.call("health",{})}version(){return this.client.call("version",{})}login(t,r){return this.client.call("auth.login",{username:t,password:r})}whoami(){return this.client.call("auth.whoami",{})}changePassword(t,r){return this.client.call("auth.change_password",{current_password:t,new_password:r})}createApiKey({username:t,role:r}={}){return this.client.call("auth.create_api_key",{username:t,role:r})}revokeApiKey(t){return this.client.call("auth.revoke_api_key",{key:t})}close(){return this.client.close()}};function nu(){return new T(Xg,`${Xg}: nested transactions are not supported on one connection`)}function ny(e,t){if(e&&typeof e=="object")try{e.rollbackError=t}catch{}}function EP(e,t){if(!e||typeof e!="object"||e.rid==null&&e.id==null)throw new T("ENGINE_TOO_OLD",`${t}() requires RedDB engine >= ${ty} with insert id support`);return e.rid==null&&(e.rid=e.id),e.id==null&&(e.id=e.rid),e}function zP(e,t){if(!e||typeof e!="object"||!Array.isArray(e.rids)&&!Array.isArray(e.ids))throw new T("ENGINE_TOO_OLD",`bulkInsert() requires RedDB engine >= ${ty} with bulk insert id support`);if(Array.isArray(e.rids)||(e.rids=e.ids),Array.isArray(e.ids)||(e.ids=e.rids),e.rids.length!==t)throw new T("INVALID_RESPONSE",`bulkInsert() expected ${t} rids, got ${e.rids.length}`);return e}function En(e){if(typeof e!="object"||e===null)return!1;let t=e;return t.schemaVersion===1&&typeof t.id=="string"&&t.id.length>0&&typeof t.emitter=="string"&&t.emitter.length>0&&typeof t.occurredAt=="string"&&typeof t.taskClass=="string"&&PP(t.chosenOption)&&TP(t.outcome)&&RP(t.cost)}function PP(e){if(typeof e!="object"||e===null)return!1;let t=e;return typeof t.kind=="string"&&t.kind.length>0}function TP(e){return e==="success"||e==="failure"||e==="escalated"}function RP(e){if(typeof e!="object"||e===null)return!1;let t=e.signal;return t==="none"||t==="low"||t==="medium"||t==="high"||t==="unknown"}import{createHash as IP}from"node:crypto";function ou(e){return IP("sha256").update(e).digest("hex")}function oy(e){return ou(JSON.stringify(e))}function iy(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/-{2,}/g,"-").replace(/^-|-$/g,"")||"artifact"}var iu="unknown",ni=class{artifacts;constructor(t){this.artifacts=t}events(t={}){let r=t.interval??"day",n=t.timeField??"event",o=cu(t.from),i=cu(t.to),s=this.artifacts.filter(f=>f.kind==="event").map(f=>AP(f,n)).filter(f=>f!=null).filter(f=>NP(f,t)).filter(f=>OP(f.ts,o,i)).sort((f,h)=>f.ts-h.ts),a=s.length,c=o??(s.length>0?s[0].ts:null),l=i??(s.length>0?s[s.length-1].ts:null),u=MP(c,l,r),p=[sy(null,s,u,r)];if(t.groupBy){let h=[...DP(s,t.groupBy).entries()].map(([g,_])=>sy(g,_,u,r)).sort((g,_)=>_.total-g.total||BP(g.group,_.group));p.push(...h)}return{kind:"event",interval:r,timeField:n,range:{from:c,to:l},total:a,series:p}}};function AP(e,t){let r=e.properties.metadata??{},n=CP(e,r,t);return n==null?null:{ts:n,platform:su(r,"platform")??iu,eventType:su(r,"event_type")??iu,target:su(r,"target")??iu}}function CP(e,t,r){let n=Number.isFinite(e.properties.created_at)?e.properties.created_at:null;return r==="ingested"?n:cu(t.timestamp)??n}function su(e,t){let r=e[t];return typeof r=="string"&&r.length>0?r:void 0}function NP(e,t){return!(t.platform!=null&&e.platform!==t.platform||t.eventType!=null&&e.eventType!==t.eventType||t.target!=null&&e.target!==t.target)}function OP(e,t,r){return!(t!=null&&e<t||r!=null&&e>r)}function DP(e,t){let r=new Map;for(let n of e){let o=jP(n,t),i=r.get(o);i?i.push(n):r.set(o,[n])}return r}function jP(e,t){switch(t){case"platform":return e.platform;case"event_type":return e.eventType;case"target":return e.target}}function sy(e,t,r,n){let o=new Map;for(let s of t){let a=au(s.ts,n);o.set(a,(o.get(a)??0)+1)}let i=r.map(s=>({start:s,startIso:new Date(s).toISOString(),count:o.get(s)??0}));return{group:e,total:t.length,buckets:i}}function MP(e,t,r){if(e==null||t==null)return[];let n=[],o=au(e,r),i=au(t,r),s=0;for(;o<=i&&s<1e6;)n.push(o),o=qP(o,r),s++;return n}function au(e,t){let r=new Date(e);switch(t){case"hour":return Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate(),r.getUTCHours());case"day":return Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate());case"week":{let n=Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate()),i=(new Date(n).getUTCDay()+6)%7;return n-i*864e5}case"month":return Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),1)}}function qP(e,t){switch(t){case"hour":return e+36e5;case"day":return e+864e5;case"week":return e+6048e5;case"month":{let r=new Date(e);return Date.UTC(r.getUTCFullYear(),r.getUTCMonth()+1,1)}}}function cu(e){if(e==null)return null;if(typeof e=="number")return Number.isFinite(e)?e:null;let t=e.trim();if(t==="")return null;if(/^\d+$/.test(t)){let n=Number(t);return Number.isFinite(n)?n:null}let r=Date.parse(t);return Number.isNaN(r)?null:r}function BP(e,t){return String(e??"").localeCompare(String(t??""))}var LP=["validate","simple","complex","think"];var ZP={validate:1,simple:.85,complex:.65,think:.45};function UP(){return{schemaVersion:1,buckets:{}}}function cy(e,t={}){let r=WP(t.initial??UP());for(let n of e)FP(r,n,t);return r}function FP(e,t,r={}){let n=(r.tierForEvent??VP)(t);if(!n)return e;let i=HP(e,t.taskClass).arms[n],s=KP(t,n);return i.posterior.alpha=ay(i.posterior.alpha+s),i.posterior.beta=ay(i.posterior.beta+(1-s)),i.observations+=1,t.outcome==="success"?(i.successes+=1,i.consecutiveFailures=0):(i.failures+=1,i.consecutiveFailures+=1),e}function VP(e){let t=e.chosenOption.kind;if(JP(t))return t;let r=e.chosenOption.model?.toLowerCase()??"",n=e.chosenOption.effort?.toLowerCase()??"";if(r.includes("haiku"))return"validate";if(r.includes("sonnet"))return"simple";if(r.includes("opus")&&n==="high")return"think";if(r.includes("opus"))return"complex"}function KP(e,t){return e.outcome!=="success"?0:ZP[t]}function HP(e,t){let r=t.trim()||"unknown";return e.buckets[r]??=GP(),e.buckets[r]}function GP(){return{arms:{validate:oi(),simple:oi(),complex:oi(),think:oi()}}}function oi(){return{posterior:{alpha:1,beta:1},observations:0,successes:0,failures:0,consecutiveFailures:0}}function WP(e){return JSON.parse(JSON.stringify(e))}function JP(e){return LP.includes(e)}function ay(e){return Math.round(e*1e3)/1e3}var ii=["pillar","decision","concept","question","playbook","task","event","pattern","hypothesis","fact","source","bookmark","note","reference","custom","project","idea","meeting","claim","organization","person"],uy={contact:"person"},si=["supports","contradicts","depends_on","derived_from","related_to","part_of","preceded_by","followed_by","authored","tagged"],Ve={artifacts:"brain_artifacts",connections:"brain_connections",outcomeEvents:"brain_outcome_events",kv:"brain_kv"};var ci=class e{constructor(t){this.opts=t}db;artifactCache=null;connectionCache=null;outcomeEventCache=null;modelTierBanditCache=null;static async open(t){let r=new e(t);return r.db=await ry(t.uri),await r.bootstrap(),r}get raw(){return this.db}async close(){await this.db.close()}async bootstrap(){await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${Ve.artifacts}`),await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${Ve.connections}`),await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${Ve.outcomeEvents}`)}kv(){return this.db.kv(Ve.kv)}async capture(t){let r=gy(t.kind??"note"),n=Date.now(),o=eT(t.tags??[]),i=oy([r,t.title,t.content,o,t.sourcePath,t.sourceSession]),s=await this.findArtifactByHash(i);if(s!=null){let g=await this.getArtifact(s);if(g)return g}let a=await this.listArtifacts(),c=`${iy(t.title)}-${i.slice(0,8)}`,l={id:c,title:t.title,content:t.content,tags:o,source_agent:t.sourceAgent,source_runner:t.sourceRunner,source_session:t.sourceSession,source_path:t.sourcePath,created_at:n,updated_at:n,hash:i,metadata:t.metadata},u={label:c,kind:r,properties:l},p=(await this.db.query(`INSERT INTO ${Ve.artifacts} NODE (label, node_type, hash, properties) VALUES ($1, $2, $3, $4) RETURNING *`,u.label,u.kind,i,l)).rows[0];if(!p)throw new Error("INSERT artifact returned no row");let f=Number(p.red_entity_id??p.rid);await this.kv().put(dy(i),f),this.artifactCache=null;let h={...u,rid:f};return await this.autoLinkArtifact(h,a),await this.materializeTagConnections(h),h}async getArtifact(t){let r=await this.listArtifacts();return typeof t=="number"?r.find(n=>n.rid===t)??null:r.find(n=>n.properties.id===t||n.label===t)??null}async listArtifacts(){if(this.artifactCache==null){let t=await this.db.query(`SELECT * FROM ${Ve.artifacts}`);this.artifactCache=t.rows.map(QP).filter(ai)}return this.artifactCache}async search(t,r=10,n={}){let o=tT(t),i=new Set(n.excludeRids??[]),s=await this.listArtifacts(),a=await this.listConnections(),c=new Map(s.map(u=>[u.rid,u]));return s.filter(u=>!i.has(u.rid)).map(u=>{let d=_y(u,o),p=vy({...d,connections:rT(u,o,a,c),vector:0});return{artifact:u,score:p.total,score_breakdown:p,excerpt:oT(u.properties.content,o)}}).filter(u=>u.score>0).sort((u,d)=>d.score-u.score||d.artifact.properties.updated_at-u.artifact.properties.updated_at).slice(0,r)}async link(t){let r=await this.getArtifact(t.from),n=await this.getArtifact(t.to);if(!r)throw new Error(`Brain artifact not found: ${t.from}`);if(!n)throw new Error(`Brain artifact not found: ${t.to}`);let o=yy(t.kind??"related_to"),i=await this.findConnection(r.rid,n.rid,o);if(i!=null){let u=(await this.listConnections()).find(d=>d.rid===i);if(u)return u}let s={reason:t.reason,confidence:t.confidence??"explicit",created_at:Date.now(),metadata:t.metadata},c=(await this.db.query(`INSERT INTO ${Ve.connections} EDGE (label, from, to, weight, properties) VALUES ($1, $2, $3, $4, $5) RETURNING *`,o,r.rid,n.rid,1,s)).rows[0];if(!c)throw new Error("INSERT connection returned no row");let l=Number(c.red_entity_id??c.rid);return await this.kv().put(py(r.rid,n.rid,o),l),this.connectionCache=null,{rid:l,kind:o,from_rid:r.rid,to_rid:n.rid,weight:1,properties:s}}async backlinks(t){let r=await this.getArtifact(t);if(!r)throw new Error(`Brain artifact not found: ${t}`);return(await this.listConnections()).filter(n=>n.to_rid===r.rid)}async listConnections(){if(this.connectionCache==null){let t=await this.db.query(`SELECT * FROM ${Ve.connections}`);this.connectionCache=t.rows.map(YP).filter(ai)}return this.connectionCache}async status(){let t=await this.listArtifacts(),r=await this.listConnections();return{uri:this.opts.uri,artifacts:t.length,connections:r.length,kinds:dT(t.map(n=>n.kind))}}async eventKpis(t={}){let r=await this.listArtifacts();return new ni(r).events(t)}async appendOutcomeEvent(t){if(!En(t))throw new Error("invalid Brain outcome event");let r={...t};if(!(await this.db.query(`INSERT INTO ${Ve.outcomeEvents} NODE (label, node_type, properties) VALUES ($1, $2, $3) RETURNING *`,t.id,`outcome_event.v${t.schemaVersion}`,r)).rows[0])throw new Error("INSERT outcome event returned no row");return this.outcomeEventCache=null,t}async replayOutcomeEvents(){if(this.outcomeEventCache==null){let t=await this.db.query(`SELECT * FROM ${Ve.outcomeEvents}`);this.outcomeEventCache=t.rows.map(XP).filter(ai).sort((r,n)=>r.rid-n.rid).map(({rid:r,event:n})=>n)}return[...this.outcomeEventCache]}async loadModelTierBanditDocument(){if(this.modelTierBanditCache!=null)return this.modelTierBanditCache;let t=await this.kv().get(fy());if(t==null)return null;let r=typeof t=="string"?JSON.parse(t):t;return my(r)?(this.modelTierBanditCache=r,r):null}async saveModelTierBanditDocument(t){if(!my(t))throw new Error("invalid Brain model-tier bandit document");return await this.kv().put(fy(),JSON.stringify(t)),this.modelTierBanditCache=t,t}async refreshModelTierBanditDocument(){let t=cy(await this.replayOutcomeEvents());return this.saveModelTierBanditDocument(t)}async think(t,r=8,n={}){let o=(await this.search(t,Math.max(r*2,r+5),n)).filter(i=>!gr(i.artifact)).slice(0,r);return iT(t,o)}async deriveAutoLinks(t){return this.autoLinkArtifact(t,await this.listArtifacts())}async findArtifactByHash(t){let r=await this.kv().get(dy(t));return r!=null?Number(r):null}async findConnection(t,r,n){let o=await this.kv().get(py(t,r,n));return o!=null?Number(o):null}async materializeTagConnections(t){if(t.properties.metadata?.derived_kind!=="tag")for(let r of t.properties.tags){let n=await this.capture({title:r,content:`Tag: ${r}`,kind:"custom",tags:["tag"],metadata:{derived:!0,derived_kind:"tag"}});await this.link({from:t.rid,to:n.rid,kind:"tagged",confidence:"derived"})}}async autoLinkArtifact(t,r){if(!this.opts.autoLinker||gr(t))return[];let n=new Set(r.filter(o=>o.rid!==t.rid).map(o=>o.rid));if(n.size===0)return[];try{let o=Ig(t),i=new Set([t.rid]);for(let d of r)gr(d)&&i.add(d.rid);let s=await this.think(o,8,{excludeRids:i}),a=s.hits.filter(d=>n.has(d.artifact.rid)&&!gr(d.artifact)).map(d=>({artifact:Uc(d.artifact),score:d.score,excerpt:d.excerpt}));if(a.length===0)return[];let c={newArtifact:Uc(t),candidates:a,think:{query:o,answer:s.answer},allowedKinds:Zc},l=await this.opts.autoLinker.deriveConnections(c),u=[];for(let d of l){if(!Fc(d.kind))continue;let p=await this.getArtifact(d.from),f=await this.getArtifact(d.to);if(!p||!f)continue;let h=p.rid===t.rid||f.rid===t.rid,g=n.has(p.rid)||n.has(f.rid);if(!h||!g||p.rid===f.rid)continue;let _=await this.link({from:p.rid,to:f.rid,kind:d.kind,reason:d.reason,confidence:"derived",metadata:{...d.metadata??{},derived_by:"brain.autolink.afk-headless",source_artifact_rid:t.rid}});u.push({proposal:d,connection:_})}return u}catch(o){if(this.opts.autoLinkErrors==="throw")throw o;return[]}}};function gy(e){let r=uy[e]??e;if(ii.includes(r))return r;throw new Error(`invalid Brain artifact kind: ${e}`)}function yy(e){if(si.includes(e))return e;throw new Error(`invalid Brain connection kind: ${e}`)}function QP(e){let t=Number(e.red_entity_id??e.rid),r=uu(e.properties??e.PROPERTIES),n=String(e.node_type??e.NODE_TYPE??r.kind??"note");if(!Number.isFinite(t))return null;let o=String(r.id??e.label??e.LABEL??t),i=String(r.title??e.label??e.LABEL??o),s=String(r.content??""),a=Array.isArray(r.tags)?r.tags.map(String):[],c=Date.now();return{rid:t,label:String(e.label??e.LABEL??o),kind:gy(n),properties:{...r,id:o,title:i,content:s,tags:a,created_at:Number(r.created_at??c),updated_at:Number(r.updated_at??r.created_at??c),hash:String(r.hash??"")}}}function YP(e){let t=Number(e.red_entity_id??e.rid),r=Number(e.from??e.FROM??e.from_rid??e.source),n=Number(e.to??e.TO??e.to_rid??e.target),o=String(e.label??e.LABEL??"related_to");return!Number.isFinite(t)||!Number.isFinite(r)||!Number.isFinite(n)?null:{rid:t,kind:yy(o),from_rid:r,to_rid:n,weight:Number(e.weight??1),properties:uu(e.properties??e.PROPERTIES)}}function XP(e){let t=Number(e.red_entity_id??e.rid),r=uu(e.properties??e.PROPERTIES);return!Number.isFinite(t)||!En(r)?null:{rid:t,event:r}}function uu(e){return e==null?{}:typeof e=="string"?JSON.parse(e):e}function ai(e){return e!=null}function eT(e){return Array.from(new Set(e.map(t=>t.trim()).filter(Boolean))).sort()}function tT(e){return e.toLowerCase().split(/[^a-z0-9_]+/).map(t=>t.trim()).filter(t=>t.length>1)}function ly(e,t){let r=0,n=e.indexOf(t);for(;n>=0;)r++,n=e.indexOf(t,n+t.length);return r}function _y(e,t){let r=e.properties.title.toLowerCase(),n=e.properties.content.toLowerCase(),o=e.properties.tags.map(s=>s.toLowerCase()),i=e.kind.toLowerCase();return{lexical:t.reduce((s,a)=>s+ly(r,a)*3+ly(n,a),0),tags:t.reduce((s,a)=>{let c=o.reduce((l,u)=>u===a?l+4:u.includes(a)||a.includes(u)?l+2:l,0);return s+c},0),kind:t.reduce((s,a)=>i===a?s+3:i.includes(a)||a.includes(i)?s+1:s,0)}}function rT(e,t,r,n){let o=0;for(let i of r){let s=i.from_rid===e.rid?i.to_rid:i.to_rid===e.rid?i.from_rid:null;if(s==null)continue;let a=n.get(s);if(!a||gr(a))continue;let c=vy({..._y(a,t),connections:0,vector:0}).total;c<=0||(o+=Math.min(c,12)*nT(i.kind))}return Bt(o*.35)}function nT(e){switch(e){case"supports":case"contradicts":case"depends_on":case"derived_from":case"part_of":return 1;case"related_to":case"authored":return .75;case"preceded_by":case"followed_by":return .5;case"tagged":return .2}}function vy(e){return{...e,lexical:Bt(e.lexical),tags:Bt(e.tags),kind:Bt(e.kind),connections:Bt(e.connections),vector:Bt(e.vector),total:Bt(e.lexical+e.tags+e.kind+e.connections+e.vector)}}function Bt(e){return Math.round(e*1e3)/1e3}function oT(e,t){if(e.length<=220)return e;let r=e.toLowerCase(),n=t.map(i=>r.indexOf(i)).filter(i=>i>=0).sort((i,s)=>i-s)[0]??0,o=Math.max(0,n-80);return`${o>0?"...":""}${e.slice(o,o+220)}${o+220<e.length?"...":""}`}function iT(e,t){let r=t.map(sT),n=aT(t),o=cT(e,r,n);return{hits:t,citations:r,confidence:n,missing_evidence:o,answer:uT(e,r,n,o)}}function sT(e,t){let r=e.artifact,n={};return r.properties.source_path&&(n.path=r.properties.source_path),r.properties.source_session&&(n.session=r.properties.source_session),r.properties.source_agent&&(n.agent=r.properties.source_agent),r.properties.source_runner&&(n.runner=r.properties.source_runner),{ref:`B${t+1}`,rid:r.rid,id:r.properties.id,title:r.properties.title,kind:r.kind,score:e.score,score_breakdown:e.score_breakdown,excerpt:e.excerpt,source:Object.keys(n).length>0?n:void 0}}function aT(e){let t=e[0];if(!t)return"none";let r=Object.entries(t.score_breakdown).filter(([n,o])=>n!=="total"&&o>0).length;return t.score>=8||t.score>=5&&r>=2?"high":t.score>=3?"medium":"low"}function cT(e,t,r){if(t.length===0)return[`No Brain artifacts matched "${e}". Capture or ingest cited artifacts before relying on Brain for this answer.`];let n=[];return r==="low"&&n.push("Only low-scoring deterministic matches were found; open the cited artifacts before treating this as settled."),t.length===1&&n.push("Only one cited artifact matched; missing context or contradictions may not be visible yet."),t.every(o=>o.source==null)&&n.push("The matched artifacts do not carry source path, session, agent, or runner provenance."),n}function uT(e,t,r,n){if(t.length===0)return[`Brain has no cited evidence for "${e}".`,"","Missing evidence:",...n.map(a=>`- ${a}`)].join(`
52
- `);let o=t.slice(0,5).map(a=>`- ${a.title}: ${a.excerpt} [${a.ref}]`),i=t.map(a=>{let c=Object.entries(a.score_breakdown).filter(([l,u])=>l!=="total"&&u>0).map(([l,u])=>`${l} ${u}`).join(", ");return`[${a.ref}] ${a.title} (${a.kind}, rid ${a.rid}, score ${a.score})${c?` [${c}]`:""}; ${lT(a)}`}),s=n.length>0?n.map(a=>`- ${a}`):["- No deterministic evidence gap detected in the returned Brain citations."];return[`Brain answer for "${e}"`,"",`Confidence: ${r}`,"","Best cited evidence:",...o,"","Missing evidence:",...s,"","Citations:",...i].join(`
53
- `)}function lT(e){if(!e.source)return`source: Brain artifact ${e.id}`;let t=[e.source.path?`path ${e.source.path}`:null,e.source.session?`session ${e.source.session}`:null,e.source.agent?`agent ${e.source.agent}`:null,e.source.runner?`runner ${e.source.runner}`:null].filter(ai);return`source: ${t.length>0?t.join(", "):`Brain artifact ${e.id}`}`}function dy(e){return`artifact.hash.${e}`}function py(e,t,r){return`connection.${e}.${r}.${t}`}function fy(){return`model-tier-bandit.v${1}`}function my(e){if(typeof e!="object"||e===null)return!1;let t=e;return t.schemaVersion===1&&typeof t.buckets=="object"}function dT(e){let t={};for(let r of e)t[r]=(t[r]??0)+1;return t}async function pT(e=process.cwd()){let t=await Og(e);if(jg(t))try{return{config:t,store:await Mg(t),project:wy(t.rootDir)}}catch(n){let o=Wo(t.rootDir);if(await Jo(o.socketPath,50))throw n}let r=await ci.open({uri:t.connectionString,autoLinker:Ag()});return{config:t,store:r,project:wy(t.rootDir)}}async function ye(e,t=process.cwd()){let r=await pT(t);try{return await e(r)}finally{await r.store.close()}}async function $y(e,t){if(e!=="SessionStart")return{};let r=await ye(async({config:o,store:i})=>(await i.status(),o)),n=by(r.rootDir,".red","brain","sessions");return await fT(n,{recursive:!0}),await mT(by(n,"last-session.json"),JSON.stringify({runner:t,lifecycle:e,rootDir:r.rootDir,connectionString:r.connectionString,startedAt:new Date().toISOString()},null,2),"utf8"),{}}var ui=class{map({event:t,sourceAgent:r}){return{title:hT(t),content:gT(t),kind:"event",tags:yT(t),sourceAgent:r??"brain.ingest-events",sourceRunner:"hermes",sourceSession:xy(t),metadata:_T(t)}}};function xy(e){return e.id?`evt:${e.id}`:e.cursor!=null?`cursor:${String(e.cursor)}`:`hash:${ou(JSON.stringify({platform:e.platform??null,target:e.target??null,timestamp:e.timestamp??null,message:e.message??null}))}`}function hT(e){let t=[];e.platform&&t.push(e.platform),e.target&&t.push(e.target);let r=t.length>0?`[${t.join(":")}]`:"[channel-event]";if(e.message){let n=e.message.slice(0,60).replace(/\n/g," ");return`${r} ${n}`}return e.type?`${r} ${e.type}`:`${r} event`}function gT(e){let t=[];return e.message&&t.push(e.message),e.type&&t.push(`type: ${e.type}`),e.platform&&t.push(`platform: ${e.platform}`),e.target&&t.push(`target: ${e.target}`),e.timestamp&&t.push(`timestamp: ${e.timestamp}`),t.join(`
54
- `)||JSON.stringify(e.raw)}function yT(e){let t=new Set(["channel-event"]);return e.platform&&t.add(e.platform),e.type&&t.add(e.type),Array.from(t)}function _T(e){let t={event_key:xy(e)};return e.id!=null&&(t.event_id=e.id),e.cursor!=null&&(t.cursor=e.cursor),e.timestamp!=null&&(t.timestamp=e.timestamp),e.platform!=null&&(t.platform=e.platform),e.target!=null&&(t.target=e.target),e.sessionKey!=null&&(t.session_key=e.sessionKey),e.type!=null&&(t.event_type=e.type),t}async function li(e){let t=new ui,r=await e.bridge.poll({afterCursor:e.afterCursor,sessionKey:e.sessionKey,limit:e.limit}),n=new Set((await e.store.listArtifacts()).map(s=>s.rid)),o=0,i=0;for(let s of r.events){let a=t.map({event:s,sourceAgent:e.sourceAgent}),c=await e.store.capture(a);n.has(c.rid)?i++:(o++,n.add(c.rid))}return{polled:r.events.length,captured:o,skipped:i,nextCursor:r.nextCursor}}var Lt=class extends Error{constructor(t,r){super(t),this.name="BrainActError",r?.cause!==void 0&&(this.cause=r.cause)}};async function Sy(e,t={}){let r=e.target?.trim(),n=e.message;if(!r)throw new Lt("brain_act requires a non-empty channel target");if(!n||!n.trim())throw new Lt("brain_act requires a non-empty message");let o=t.connect??(a=>qt.connect(a)),i=t.process??vT(t.env??process.env),s;try{s=await o(i)}catch(a){throw new Lt(`brain_act could not reach the channel bridge: ${ky(a)}`,{cause:a})}try{let a;try{a=await s.send(r,n)}catch(c){throw new Lt(`brain_act could not send to "${r}": ${ky(c)}`,{cause:c})}if(!a.ok)throw new Lt(`brain_act could not send to "${r}": ${wT(a)}`);return{ok:!0,target:a.target,messageId:a.messageId,raw:a.raw}}finally{await s.close().catch(()=>{})}}function vT(e=process.env){let t=e.RED_BRAIN_HERMES_COMMAND?.trim()||void 0,r=e.RED_BRAIN_HERMES_ARGS?.trim(),n=r?r.split(/\s+/).filter(Boolean):void 0;return{command:t,args:n}}function wT(e){return bT(e.raw,["error","message","reason","detail"])??"the channel bridge reported a failed send"}function bT(e,t){if(typeof e!="object"||e===null||Array.isArray(e))return;let r=e;for(let n of t){let o=r[n];if(typeof o=="string"&&o.trim())return o}}function ky(e){return e instanceof Error?e.message:String(e)}import{createServer as $T}from"node:http";async function Py(e,t){let r=await e.listArtifacts(),n=await e.listConnections(),o=new Map(r.map(u=>[u.rid,u])),i=await e.eventKpis({interval:"day"}),s=await e.eventKpis({interval:"day",groupBy:"platform"}),a=await e.eventKpis({interval:"day",groupBy:"event_type"}),c=t.decisionLimit??8,l=t.connectionLimit??12;return{schema_version:"brain.dashboard.v1",generated_at:new Date(t.now??Date.now()).toISOString(),project:t.project,root:t.rootDir,stats:{artifacts:r.length,connections:n.length,decisions:r.filter(u=>u.kind==="decision").length,events:i.total,supports:lu(n,"supports"),contradicts:lu(n,"contradicts"),depends_on:lu(n,"depends_on")},kpis:{events_daily:i,events_by_platform:s,events_by_type:a},recent_decisions:r.filter(u=>u.kind==="decision").sort((u,d)=>d.properties.updated_at-u.properties.updated_at||d.rid-u.rid).slice(0,c).map(u=>xT(u,n)),recent_connections:n.filter(u=>o.has(u.from_rid)&&o.has(u.to_rid)).sort((u,d)=>d.properties.created_at-u.properties.created_at||d.rid-u.rid).slice(0,l).map(u=>kT(u,o)),attribution:{red_hermes:"Dashboard layout and command-center interaction model are adapted from the red-hermes web surface; NOTICE records the MIT attribution."}}}function Ty(e){return{contract:{name:"brain.dashboard.viewer",version:"brain.dashboard.viewer.v1",consumes:"brain.dashboard.v1"},html:ST(e)}}async function Ry(e,t={}){let r=t.host??"127.0.0.1",n=t.port??4738,o=$T((i,s)=>{let a=i.url??"/";if(a==="/"||a==="/dashboard"){s.writeHead(200,{"content-type":"text/html; charset=utf-8","cache-control":"no-store"}),s.end(e);return}s.writeHead(404,{"content-type":"text/plain; charset=utf-8"}),s.end(`not found
55
- `)});return await new Promise((i,s)=>{o.once("error",s),o.listen(n,r,()=>{o.off("error",s),i()})}),o}function xT(e,t){let r=t.filter(n=>n.from_rid===e.rid||n.to_rid===e.rid);return{rid:e.rid,id:e.properties.id,title:e.properties.title,updated_at:new Date(e.properties.updated_at).toISOString(),tags:e.properties.tags,connection_counts:{supports:r.filter(n=>n.kind==="supports").length,contradicts:r.filter(n=>n.kind==="contradicts").length,depends_on:r.filter(n=>n.kind==="depends_on").length,related_to:r.filter(n=>n.kind==="related_to").length},excerpt:PT(e.properties.content)}}function kT(e,t){let r=t.get(e.from_rid),n=t.get(e.to_rid);if(!r||!n)throw new Error(`connection ${e.rid} references missing artifacts`);return{rid:e.rid,kind:e.kind,from:{rid:r.rid,title:r.properties.title},to:{rid:n.rid,title:n.properties.title},created_at:new Date(e.properties.created_at).toISOString(),reason:e.properties.reason??null}}function ST(e){return`<!doctype html>
51
+ `).find(d=>d.startsWith("data: "));u&&(yield JSON.parse(u.slice(6)))}}watchPrefix(t,r={}){return this.watch(`${t}.*`,r)}};function Jc(e,t){return`${Qc(e)}.${Yz(t)}`}function Qc(e){let t=String(e),r=t.match(/[^A-Za-z0-9_]/);if(r)throw new P("INVALID_KV_KEY",`invalid KV key "${t}": character "${r[0]}" is not supported`);return t}function Yz(e){let t=String(e);return/^[A-Za-z0-9_]+$/.test(t)?t:`'${t.replace(/'/g,"''")}'`}function Xz(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":typeof e=="object"?`'${JSON.stringify(e).replace(/'/g,"''")}'`:`'${String(e).replace(/'/g,"''")}'`}function Fg(e){return`'${String(e).replace(/'/g,"''")}'`}var bn=class{constructor(t){this.client=t}create(t){return this.client.call("query",{sql:`CREATE QUEUE IF NOT EXISTS ${at(t)}`})}push(t,r,n={}){let o=rT(n);return this.client.call("query",{sql:`QUEUE PUSH ${at(t)} ${nT(r)}${o}`})}async pop(t,r){let n=await this.client.call("query",{sql:`QUEUE POP ${at(t)}${Xc(r)}`});return Yc(n)}async peek(t,r){let n=await this.client.call("query",{sql:`QUEUE PEEK ${at(t)}${Xc(r)}`});return Yc(n)}async len(t){let r=await this.client.call("query",{sql:`QUEUE LEN ${at(t)}`});return Number(r?.rows?.[0]?.len??0)}purge(t){return this.client.call("query",{sql:`QUEUE PURGE ${at(t)}`})}async readWait(t,r,n={}){let o=eT(t,r,n),i=await this.client.call("query",{sql:o});return Yc(i)}};function eT(e,t,r){let{waitMs:n,group:o=null,count:i=null}=r??{};if(!Number.isInteger(n)||n<0)throw new P("INVALID_QUEUE_WAIT","queue readWait requires an explicit non-negative integer waitMs (no infinite wait)");let s=at(e),a=at(t),c=o!=null?` GROUP ${at(o)}`:"",l=i!=null?Xc(i):"";return`QUEUE READ ${s}${c} CONSUMER ${a}${l} WAIT ${n}ms`}function at(e){let t=String(e);if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(t))throw new P("INVALID_QUEUE_NAME",`invalid queue name "${t}": expected an SQL identifier`);return t}function Xc(e){if(e==null)return"";if(!Number.isInteger(e)||e<0)throw new P("INVALID_QUEUE_COUNT","queue count must be a non-negative integer");return` COUNT ${e}`}function tT(e){if(!Number.isInteger(e))throw new P("INVALID_QUEUE_PRIORITY","queue priority must be an integer");return String(e)}function rT(e){if(e.key!=null&&(e.delay!=null||e.at!=null))throw new P("INVALID_ARGUMENT","QUEUE PUSH KEY cannot be combined with DELAY / AVAILABLE AT");let t="";return e.priority!=null&&(t+=` PRIORITY ${tT(e.priority)}`),e.key!=null&&(t+=` KEY ${eu(e.key)}`),e.dedup!=null&&(t+=` DEDUP ${eu(e.dedup)}`),e.delay!=null&&(t+=` DELAY ${e.delay}`),e.at!=null&&(t+=` AVAILABLE AT ${e.at}`),t}function nT(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":typeof e=="string"?eu(e):JSON.stringify(e)}function eu(e){return`'${String(e).replace(/'/g,"''")}'`}function Yc(e){return Array.isArray(e?.rows)?e.rows.map(t=>t.payload):[]}var $n=class{constructor(t){this.db=t}async insert(t,r){Vg(r,"documents.insert document"),await this.ensureCollection(t);let n=await this.db.query(`INSERT INTO ${ei(t)} DOCUMENT VALUES (${sT(r)}) RETURNING *`),o=n.rows?.[0];if(!o||o.rid==null)throw new P("INVALID_RESPONSE","documents.insert expected one returned item with rid");return{affected:n.affected??1,rid:o.rid,item:o}}async get(t,r){let n=await this.db.get(t,r);if(!n.entity)throw new P("NOT_FOUND",`document ${String(r)} was not found`);return n.entity}async list(t,r={}){let n=oT(r.limit),o=r.orderBy??r.order_by??"rid ASC",i=r.filter?` WHERE ${String(r.filter)}`:"";return{items:(await this.db.query(`SELECT * FROM ${ei(t)}${i} ORDER BY ${o} LIMIT ${n}`)).rows??[]}}async patch(t,r,n){Vg(n,"documents.patch patch");let o=Object.entries(n);if(o.length===0)throw new P("INVALID_ARGUMENT","documents.patch patch must be a non-empty object");for(let[c]of o)if(c.includes("/"))throw new P("INVALID_ARGUMENT","documents.patch currently accepts top-level document fields");let i=o.map(([c,l])=>`${Kg(c)} = ${aT(l)}`).join(", "),a=(await this.db.query(`UPDATE ${ei(t)} SET ${i} WHERE rid = $1 RETURNING *`,r)).rows?.[0];if(!a)throw new P("NOT_FOUND",`document ${String(r)} was not found`);return a}async delete(t,r){let o=(await this.db.delete(t,r)).affected??0;return{affected:o,deleted:o>0}}async ensureCollection(t){try{await this.db.query(`CREATE DOCUMENT ${ei(t)}`)}catch(r){if(!String(r?.message??"").includes("already exists"))throw r}}};function Vg(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new P("INVALID_ARGUMENT",`${t} must be an object`)}function oT(e){if(e==null)return 100;if(!Number.isInteger(e)||e<=0)throw new P("INVALID_ARGUMENT","limit must be a positive integer");return e}function ei(e){return String(e).split(".").map(Kg).join(".")}function Kg(e){let t=String(e);if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(t))throw new P("INVALID_ARGUMENT",`invalid SQL identifier "${t}"`);return t}function iT(e){return Hg(JSON.stringify(e))}function sT(e){return JSON.stringify(e)}function aT(e){return e==null?"NULL":typeof e=="number"||typeof e=="boolean"?String(e):typeof e=="object"?iT(e):Hg(e)}function Hg(e){return`'${String(e).replace(/'/g,"''")}'`}var xn=class{constructor(t,r="red.config"){this.client=t,this.collection=r}put(t,r,n={}){uT(n,"config");let o=n.collection??this.collection,i=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(Gg).join(", ")}]`:"";return this.client.call("query",{sql:`PUT CONFIG ${$t(o)} ${$t(t)} = ${cT(r,n)}${i}`})}get(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`GET CONFIG ${$t(n)} ${$t(t)}`})}resolve(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`RESOLVE CONFIG ${$t(n)} ${$t(t)}`})}};function cT(e,t){if(t.secretRef){let{collection:r,key:n}=t.secretRef;return`SECRET_REF(vault, ${$t(r)}.${$t(n)})`}return lT(e)}function uT(e,t){for(let r of["ttl","ttlMs","ttl_ms","expireMs","expire_ms","expiresAt"])if(e[r]!=null)throw new TypeError(`${t} does not support TTL or expiration options`)}function $t(e){let t=String(e);if(!/^[A-Za-z0-9_.]+$/.test(t))throw new TypeError("keyed collection and key names must use letters, numbers, underscores, or dots");return t}function lT(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":Array.isArray(e)||typeof e=="object"?JSON.stringify(e):Gg(e)}function Gg(e){return`'${String(e).replace(/'/g,"''")}'`}var kn=class{constructor(t,r="red.vault"){this.client=t,this.collection=r}put(t,r,n={}){dT(n,"vault");let o=n.collection??this.collection,i=Array.isArray(n.tags)&&n.tags.length>0?` TAGS [${n.tags.map(Wg).join(", ")}]`:"";return this.client.call("query",{sql:`VAULT PUT ${vr(o)}.${vr(t)} = ${pT(r)}${i}`})}get(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`VAULT GET ${vr(n)}.${vr(t)}`})}unseal(t,r={}){let n=r.collection??this.collection;return this.client.call("query",{sql:`UNSEAL VAULT ${vr(n)}.${vr(t)}`})}};function dT(e,t){for(let r of["ttl","ttlMs","ttl_ms","expireMs","expire_ms","expiresAt"])if(e[r]!=null)throw new TypeError(`${t} does not support TTL or expiration options`)}function vr(e){let t=String(e);if(!/^[A-Za-z0-9_.]+$/.test(t))throw new TypeError("keyed collection and key names must use letters, numbers, underscores, or dots");return t}function pT(e){return typeof e=="number"||typeof e=="boolean"?String(e):e==null?"NULL":Array.isArray(e)||typeof e=="object"?JSON.stringify(e):Wg(e)}function Wg(e){return`'${String(e).replace(/'/g,"''")}'`}async function Qg(e){return((await e.query("SHOW COLLECTIONS")).rows??[]).map(fT)}async function Yg(e,t){return((await e.query(`SHOW COLLECTIONS WHERE name = ${hT(t)}`)).rows??[]).some(n=>n.name===String(t))}var Sn=class e{constructor(t,r,n=null,o=[],i=[]){this.db=t,this.collection=r,this.columns=n,this.whereClauses=o,this.params=i}select(...t){let r=t.length===1&&Array.isArray(t[0])?t[0]:t,n=r.length===1&&r[0]==="*"?null:r;return new e(this.db,this.collection,n!=null&&n.length>0?n:null,this.whereClauses,this.params)}where(t,...r){if(typeof t!="string"||t.trim().length===0)throw new P("INVALID_QUERY_BUILDER","where() requires a non-empty SQL condition");let n=r.length===1&&Array.isArray(r[0])?r[0]:r;return new e(this.db,this.collection,this.columns,[...this.whereClauses,t.trim()],[...this.params,...n])}async run(){let t=this.columns==null?"*":this.columns.map(Jg).join(", "),r=this.whereClauses.length>0?` WHERE ${this.whereClauses.map(s=>`(${s})`).join(" AND ")}`:"",n=`SELECT ${t} FROM ${Jg(this.collection)}${r}`,i=(this.params.length>0?await this.db.query(n,this.params):await this.db.query(n)).rows??[];return this.columns==null?i:i.map(s=>{let a={};for(let c of this.columns)a[c]=s[c];return a})}};function fT(e){return{...e,name:String(e.name),model:String(e.model),capabilities:Array.isArray(e.capabilities)?e.capabilities:[]}}function Jg(e){return String(e).split(".").map(mT).join(".")}function mT(e){let t=String(e);if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(t))throw new P("INVALID_IDENTIFIER",`invalid SQL identifier "${t}"`);return t}function hT(e){return`'${String(e).replace(/'/g,"''")}'`}var gT="remote URIs are not supported in @reddb-io/sdk; install @reddb-io/client for grpc/http/red transports",yT="1.0",ty="1.0.9",Xg="NESTED_TX_NOT_SUPPORTED";async function ry(e,t={}){let r=Wc(e);if(ST(r),r.kind==="embedded"){let n=kT(r,t.auth);if(n.token||n.username)throw new P("AUTH_NOT_APPLICABLE","auth is only meaningful for remote connections; embedded modes inherit caller privileges.");let o=xT(r),i=t.binary??Zg(),s=await Bg(i,o),a=new Xo(s);return await a.call("version",{}),new ru(a,{transport:"embedded"})}}function ey(e){return _T(e),e instanceof Float32Array||e instanceof Float64Array?Array.from(e):e instanceof Date?{$ts:String(BigInt(e.getTime())*1000000n)}:e instanceof Uint8Array||typeof Buffer<"u"&&e instanceof Buffer?{$bytes:wT(e)}:typeof e=="number"&&!Number.isFinite(e)?Number.isNaN(e)?{$float:"NaN"}:{$float:e>0?"Infinity":"-Infinity"}:typeof e=="string"&&$T(e)?{$uuid:e}:e}function _T(e){if(e!=null&&!(typeof e=="boolean"||typeof e=="number"||typeof e=="string")){if(e instanceof Date){if(Number.isNaN(e.getTime()))throw new P("UNSUPPORTED_PARAM","cannot encode invalid Date query parameter");return}if(!(e instanceof Uint8Array||e instanceof Float32Array||e instanceof Float64Array||typeof Buffer<"u"&&e instanceof Buffer)){if(Array.isArray(e)){if(e.every(t=>typeof t=="number"))return;throw new P("UNSUPPORTED_PARAM","array query parameters must contain only numbers")}if(!(typeof e=="object"&&Object.getPrototypeOf(e)===Object.prototype))throw new P("UNSUPPORTED_PARAM",`cannot encode query parameter of type ${typeof e}`)}}}function vT(e){return e.length===0?null:e.length===1&&Array.isArray(e[0])?e[0].map(ey):e.map(ey)}function wT(e){let t=e instanceof Uint8Array?e:new Uint8Array(e.buffer,e.byteOffset,e.byteLength);if(typeof Buffer<"u")return Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("base64");let r="";for(let n of t)r+=String.fromCharCode(n);return btoa(r)}function bT(e){if(typeof Buffer<"u"){let n=Buffer.from(e,"base64");return new Uint8Array(n.buffer,n.byteOffset,n.byteLength)}let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}function $T(e){return/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)}function ti(e){if(Array.isArray(e))return e.map(ti);if(e&&typeof e=="object"){if(Object.keys(e).length===1){if(typeof e.$bytes=="string")return bT(e.$bytes);if(typeof e.$uuid=="string")return e.$uuid;if(typeof e.$float=="string"){if(e.$float==="NaN")return Number.NaN;if(e.$float==="Infinity"||e.$float==="+Infinity")return 1/0;if(e.$float==="-Infinity")return-1/0}if(typeof e.$ts=="string"||typeof e.$ts=="number"){let n=typeof e.$ts=="string"?BigInt(e.$ts):BigInt(Math.trunc(e.$ts));return new Date(Number(n/1000000n))}}let r={};for(let[n,o]of Object.entries(e))r[n]=ti(o);return r}return e}function xT(e){return e.path?["rpc","--stdio","--path",e.path]:["rpc","--stdio"]}function kT(e,t){let r={token:e.token??e.apiKey??null,username:e.username??null,password:e.password??null,loginUrl:e.loginUrl??null};if(t==null)return r;if(typeof t!="object")throw new TypeError("options.auth must be an object");if(t.token!=null){if(typeof t.token!="string"||t.token.length===0)throw new TypeError("options.auth.token must be a non-empty string");r.token=t.token}if(t.apiKey!=null){if(typeof t.apiKey!="string"||t.apiKey.length===0)throw new TypeError("options.auth.apiKey must be a non-empty string");r.token=t.apiKey}if(t.username!=null){if(typeof t.username!="string"||t.username.length===0)throw new TypeError("options.auth.username must be a non-empty string");r.username=t.username}if(t.password!=null){if(typeof t.password!="string"||t.password.length===0)throw new TypeError("options.auth.password must be a non-empty string");r.password=t.password}return t.loginUrl!=null&&(r.loginUrl=t.loginUrl),r}function ST(e){if(e.kind!=="embedded")throw new P("EMBEDDED_ONLY",gT)}var ri=class{constructor(t){this.db=t}query(t,...r){return this.db.query(t,...r)}execute(t,...r){return this.db.execute(t,...r)}insert(t,r){return this.db.insert(t,r)}bulkInsert(t,r){return this.db.bulkInsert(t,r)}async transaction(){throw nu()}},tu=class{constructor(t){this.db=t,this.active=!1}async begin(){if(this.db.inTransaction)throw nu();this.db.inTransaction=!0,this.active=!0;try{return await this.db.query("BEGIN")}catch(t){throw this.db.inTransaction=!1,this.active=!1,t}}async commit(){if(!this.active)throw new P("INVALID_ARGUMENT","tx.commit() called without an open transaction");try{return await this.db.query("COMMIT")}finally{this.active=!1,this.db.inTransaction=!1}}async rollback(){if(!this.active)throw new P("INVALID_ARGUMENT","tx.rollback() called without an open transaction");try{return await this.db.query("ROLLBACK")}finally{this.active=!1,this.db.inTransaction=!1}}async run(t){if(typeof t!="function")throw new TypeError("tx.run(callback) requires a function");if(this.db.inTransaction)throw new P("INVALID_ARGUMENT","nested tx.run() is not supported; issue savepoints via tx.query() instead");await this.begin();try{let r=await t(new ri(this.db));return await this.commit(),r}catch(r){if(this.active)try{await this.rollback()}catch(n){ny(r,n)}throw r}}},ru=class{constructor(t,r={}){this.client=t,this.transport=r.transport??null,this.helperSpecVersion=yT,this.cache=new wn(t,this.transport),this.queue=new bn(t),this.queues=this.queue,this.documents=new $n(this);let n=new _r(t);this.kv=Object.assign((o="kv_default")=>new _r(t,o),{put:n.put.bind(n),invalidateTags:n.invalidateTags.bind(n),watch:n.watch.bind(n),watchPrefix:n.watchPrefix.bind(n)}),this.config=(o="red.config")=>new xn(t,o),this.vault=(o="red.vault")=>new kn(t,o),this.inTransaction=!1}query(t,...r){if(typeof t!="string"||t.trim().length===0)return Promise.reject(new P("INVALID_ARGUMENT","query() requires a non-empty SQL string"));let n=vT(r);return n==null?this.client.call("query",{sql:t}).then(ti):this.client.call("query",{sql:t,params:n}).then(ti)}execute(t,...r){return this.query(t,...r)}async insert(t,r){let n=await this.client.call("insert",{collection:t,payload:r});return ET(n,"insert")}async bulkInsert(t,r){if(Array.isArray(r)&&r.length===0)return{affected:0,rids:[],ids:[]};let n=await this.client.call("bulk_insert",{collection:t,payloads:r});return zT(n,r.length)}tx(){return new tu(this)}async transaction(t){if(this.inTransaction)throw nu();if(typeof t!="function")throw new TypeError("transaction(callback) requires a function");this.inTransaction=!0;let r=!1;try{await this.query("BEGIN"),r=!0;let n=await t(new ri(this));return await this.query("COMMIT"),n}catch(n){if(r)try{await this.query("ROLLBACK")}catch(o){ny(n,o)}throw n}finally{this.inTransaction=!1}}exists(t){return Yg(this,t)}list(){return Qg(this)}from(t){return new Sn(this,t)}get(t,r){return this.client.call("get",{collection:t,id:String(r)})}delete(t,r){return this.client.call("delete",{collection:t,id:String(r)})}health(){return this.client.call("health",{})}version(){return this.client.call("version",{})}login(t,r){return this.client.call("auth.login",{username:t,password:r})}whoami(){return this.client.call("auth.whoami",{})}changePassword(t,r){return this.client.call("auth.change_password",{current_password:t,new_password:r})}createApiKey({username:t,role:r}={}){return this.client.call("auth.create_api_key",{username:t,role:r})}revokeApiKey(t){return this.client.call("auth.revoke_api_key",{key:t})}close(){return this.client.close()}};function nu(){return new P(Xg,`${Xg}: nested transactions are not supported on one connection`)}function ny(e,t){if(e&&typeof e=="object")try{e.rollbackError=t}catch{}}function ET(e,t){if(!e||typeof e!="object"||e.rid==null&&e.id==null)throw new P("ENGINE_TOO_OLD",`${t}() requires RedDB engine >= ${ty} with insert id support`);return e.rid==null&&(e.rid=e.id),e.id==null&&(e.id=e.rid),e}function zT(e,t){if(!e||typeof e!="object"||!Array.isArray(e.rids)&&!Array.isArray(e.ids))throw new P("ENGINE_TOO_OLD",`bulkInsert() requires RedDB engine >= ${ty} with bulk insert id support`);if(Array.isArray(e.rids)||(e.rids=e.ids),Array.isArray(e.ids)||(e.ids=e.rids),e.rids.length!==t)throw new P("INVALID_RESPONSE",`bulkInsert() expected ${t} rids, got ${e.rids.length}`);return e}function En(e){if(typeof e!="object"||e===null)return!1;let t=e;return t.schemaVersion===1&&typeof t.id=="string"&&t.id.length>0&&typeof t.emitter=="string"&&t.emitter.length>0&&typeof t.occurredAt=="string"&&typeof t.taskClass=="string"&&TT(t.chosenOption)&&PT(t.outcome)&&RT(t.cost)}function TT(e){if(typeof e!="object"||e===null)return!1;let t=e;return typeof t.kind=="string"&&t.kind.length>0}function PT(e){return e==="success"||e==="failure"||e==="escalated"}function RT(e){if(typeof e!="object"||e===null)return!1;let t=e.signal;return t==="none"||t==="low"||t==="medium"||t==="high"||t==="unknown"}import{createHash as IT}from"node:crypto";function ou(e){return IT("sha256").update(e).digest("hex")}function oy(e){return ou(JSON.stringify(e))}function iy(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/-{2,}/g,"-").replace(/^-|-$/g,"")||"artifact"}var iu="unknown",ni=class{artifacts;constructor(t){this.artifacts=t}events(t={}){let r=t.interval??"day",n=t.timeField??"event",o=cu(t.from),i=cu(t.to),s=this.artifacts.filter(f=>f.kind==="event").map(f=>AT(f,n)).filter(f=>f!=null).filter(f=>NT(f,t)).filter(f=>OT(f.ts,o,i)).sort((f,h)=>f.ts-h.ts),a=s.length,c=o??(s.length>0?s[0].ts:null),l=i??(s.length>0?s[s.length-1].ts:null),u=MT(c,l,r),p=[sy(null,s,u,r)];if(t.groupBy){let h=[...DT(s,t.groupBy).entries()].map(([g,_])=>sy(g,_,u,r)).sort((g,_)=>_.total-g.total||BT(g.group,_.group));p.push(...h)}return{kind:"event",interval:r,timeField:n,range:{from:c,to:l},total:a,series:p}}};function AT(e,t){let r=e.properties.metadata??{},n=CT(e,r,t);return n==null?null:{ts:n,platform:su(r,"platform")??iu,eventType:su(r,"event_type")??iu,target:su(r,"target")??iu}}function CT(e,t,r){let n=Number.isFinite(e.properties.created_at)?e.properties.created_at:null;return r==="ingested"?n:cu(t.timestamp)??n}function su(e,t){let r=e[t];return typeof r=="string"&&r.length>0?r:void 0}function NT(e,t){return!(t.platform!=null&&e.platform!==t.platform||t.eventType!=null&&e.eventType!==t.eventType||t.target!=null&&e.target!==t.target)}function OT(e,t,r){return!(t!=null&&e<t||r!=null&&e>r)}function DT(e,t){let r=new Map;for(let n of e){let o=jT(n,t),i=r.get(o);i?i.push(n):r.set(o,[n])}return r}function jT(e,t){switch(t){case"platform":return e.platform;case"event_type":return e.eventType;case"target":return e.target}}function sy(e,t,r,n){let o=new Map;for(let s of t){let a=au(s.ts,n);o.set(a,(o.get(a)??0)+1)}let i=r.map(s=>({start:s,startIso:new Date(s).toISOString(),count:o.get(s)??0}));return{group:e,total:t.length,buckets:i}}function MT(e,t,r){if(e==null||t==null)return[];let n=[],o=au(e,r),i=au(t,r),s=0;for(;o<=i&&s<1e6;)n.push(o),o=qT(o,r),s++;return n}function au(e,t){let r=new Date(e);switch(t){case"hour":return Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate(),r.getUTCHours());case"day":return Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate());case"week":{let n=Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate()),i=(new Date(n).getUTCDay()+6)%7;return n-i*864e5}case"month":return Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),1)}}function qT(e,t){switch(t){case"hour":return e+36e5;case"day":return e+864e5;case"week":return e+6048e5;case"month":{let r=new Date(e);return Date.UTC(r.getUTCFullYear(),r.getUTCMonth()+1,1)}}}function cu(e){if(e==null)return null;if(typeof e=="number")return Number.isFinite(e)?e:null;let t=e.trim();if(t==="")return null;if(/^\d+$/.test(t)){let n=Number(t);return Number.isFinite(n)?n:null}let r=Date.parse(t);return Number.isNaN(r)?null:r}function BT(e,t){return String(e??"").localeCompare(String(t??""))}var LT=["validate","simple","complex","think"];var ZT={validate:1,simple:.85,complex:.65,think:.45};function UT(){return{schemaVersion:1,buckets:{}}}function cy(e,t={}){let r=WT(t.initial??UT());for(let n of e)FT(r,n,t);return r}function FT(e,t,r={}){let n=(r.tierForEvent??VT)(t);if(!n)return e;let i=HT(e,t.taskClass).arms[n],s=KT(t,n);return i.posterior.alpha=ay(i.posterior.alpha+s),i.posterior.beta=ay(i.posterior.beta+(1-s)),i.observations+=1,t.outcome==="success"?(i.successes+=1,i.consecutiveFailures=0):(i.failures+=1,i.consecutiveFailures+=1),e}function VT(e){let t=e.chosenOption.kind;if(JT(t))return t;let r=e.chosenOption.model?.toLowerCase()??"",n=e.chosenOption.effort?.toLowerCase()??"";if(r.includes("haiku"))return"validate";if(r.includes("sonnet"))return"simple";if(r.includes("opus")&&n==="high")return"think";if(r.includes("opus"))return"complex"}function KT(e,t){return e.outcome!=="success"?0:ZT[t]}function HT(e,t){let r=t.trim()||"unknown";return e.buckets[r]??=GT(),e.buckets[r]}function GT(){return{arms:{validate:oi(),simple:oi(),complex:oi(),think:oi()}}}function oi(){return{posterior:{alpha:1,beta:1},observations:0,successes:0,failures:0,consecutiveFailures:0}}function WT(e){return JSON.parse(JSON.stringify(e))}function JT(e){return LT.includes(e)}function ay(e){return Math.round(e*1e3)/1e3}var ii=["pillar","decision","concept","question","playbook","task","event","pattern","hypothesis","fact","source","bookmark","note","reference","custom","project","idea","meeting","claim","organization","person"],uy={contact:"person"},si=["supports","contradicts","depends_on","derived_from","related_to","part_of","preceded_by","followed_by","authored","tagged"],Ve={artifacts:"brain_artifacts",connections:"brain_connections",outcomeEvents:"brain_outcome_events",kv:"brain_kv"};var ci=class e{constructor(t){this.opts=t}db;artifactCache=null;connectionCache=null;outcomeEventCache=null;modelTierBanditCache=null;static async open(t){let r=new e(t);return r.db=await ry(t.uri),await r.bootstrap(),r}get raw(){return this.db}async close(){await this.db.close()}async bootstrap(){await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${Ve.artifacts}`),await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${Ve.connections}`),await this.db.execute(`CREATE GRAPH IF NOT EXISTS ${Ve.outcomeEvents}`)}kv(){return this.db.kv(Ve.kv)}async capture(t){let r=gy(t.kind??"note"),n=Date.now(),o=eP(t.tags??[]),i=oy([r,t.title,t.content,o,t.sourcePath,t.sourceSession]),s=await this.findArtifactByHash(i);if(s!=null){let g=await this.getArtifact(s);if(g)return g}let a=await this.listArtifacts(),c=`${iy(t.title)}-${i.slice(0,8)}`,l={id:c,title:t.title,content:t.content,tags:o,source_agent:t.sourceAgent,source_runner:t.sourceRunner,source_session:t.sourceSession,source_path:t.sourcePath,created_at:n,updated_at:n,hash:i,metadata:t.metadata},u={label:c,kind:r,properties:l},p=(await this.db.query(`INSERT INTO ${Ve.artifacts} NODE (label, node_type, hash, properties) VALUES ($1, $2, $3, $4) RETURNING *`,u.label,u.kind,i,l)).rows[0];if(!p)throw new Error("INSERT artifact returned no row");let f=Number(p.red_entity_id??p.rid);await this.kv().put(dy(i),f),this.artifactCache=null;let h={...u,rid:f};return await this.autoLinkArtifact(h,a),await this.materializeTagConnections(h),h}async getArtifact(t){let r=await this.listArtifacts();return typeof t=="number"?r.find(n=>n.rid===t)??null:r.find(n=>n.properties.id===t||n.label===t)??null}async listArtifacts(){if(this.artifactCache==null){let t=await this.db.query(`SELECT * FROM ${Ve.artifacts}`);this.artifactCache=t.rows.map(QT).filter(ai)}return this.artifactCache}async search(t,r=10,n={}){let o=tP(t),i=new Set(n.excludeRids??[]),s=await this.listArtifacts(),a=await this.listConnections(),c=new Map(s.map(u=>[u.rid,u]));return s.filter(u=>!i.has(u.rid)).map(u=>{let d=_y(u,o),p=vy({...d,connections:rP(u,o,a,c),vector:0});return{artifact:u,score:p.total,score_breakdown:p,excerpt:oP(u.properties.content,o)}}).filter(u=>u.score>0).sort((u,d)=>d.score-u.score||d.artifact.properties.updated_at-u.artifact.properties.updated_at).slice(0,r)}async link(t){let r=await this.getArtifact(t.from),n=await this.getArtifact(t.to);if(!r)throw new Error(`Brain artifact not found: ${t.from}`);if(!n)throw new Error(`Brain artifact not found: ${t.to}`);let o=yy(t.kind??"related_to"),i=await this.findConnection(r.rid,n.rid,o);if(i!=null){let u=(await this.listConnections()).find(d=>d.rid===i);if(u)return u}let s={reason:t.reason,confidence:t.confidence??"explicit",created_at:Date.now(),metadata:t.metadata},c=(await this.db.query(`INSERT INTO ${Ve.connections} EDGE (label, from, to, weight, properties) VALUES ($1, $2, $3, $4, $5) RETURNING *`,o,r.rid,n.rid,1,s)).rows[0];if(!c)throw new Error("INSERT connection returned no row");let l=Number(c.red_entity_id??c.rid);return await this.kv().put(py(r.rid,n.rid,o),l),this.connectionCache=null,{rid:l,kind:o,from_rid:r.rid,to_rid:n.rid,weight:1,properties:s}}async backlinks(t){let r=await this.getArtifact(t);if(!r)throw new Error(`Brain artifact not found: ${t}`);return(await this.listConnections()).filter(n=>n.to_rid===r.rid)}async listConnections(){if(this.connectionCache==null){let t=await this.db.query(`SELECT * FROM ${Ve.connections}`);this.connectionCache=t.rows.map(YT).filter(ai)}return this.connectionCache}async status(){let t=await this.listArtifacts(),r=await this.listConnections();return{uri:this.opts.uri,artifacts:t.length,connections:r.length,kinds:dP(t.map(n=>n.kind))}}async eventKpis(t={}){let r=await this.listArtifacts();return new ni(r).events(t)}async appendOutcomeEvent(t){if(!En(t))throw new Error("invalid Brain outcome event");let r={...t};if(!(await this.db.query(`INSERT INTO ${Ve.outcomeEvents} NODE (label, node_type, properties) VALUES ($1, $2, $3) RETURNING *`,t.id,`outcome_event.v${t.schemaVersion}`,r)).rows[0])throw new Error("INSERT outcome event returned no row");return this.outcomeEventCache=null,t}async replayOutcomeEvents(){if(this.outcomeEventCache==null){let t=await this.db.query(`SELECT * FROM ${Ve.outcomeEvents}`);this.outcomeEventCache=t.rows.map(XT).filter(ai).sort((r,n)=>r.rid-n.rid).map(({rid:r,event:n})=>n)}return[...this.outcomeEventCache]}async loadModelTierBanditDocument(){if(this.modelTierBanditCache!=null)return this.modelTierBanditCache;let t=await this.kv().get(fy());if(t==null)return null;let r=typeof t=="string"?JSON.parse(t):t;return my(r)?(this.modelTierBanditCache=r,r):null}async saveModelTierBanditDocument(t){if(!my(t))throw new Error("invalid Brain model-tier bandit document");return await this.kv().put(fy(),JSON.stringify(t)),this.modelTierBanditCache=t,t}async refreshModelTierBanditDocument(){let t=cy(await this.replayOutcomeEvents());return this.saveModelTierBanditDocument(t)}async think(t,r=8,n={}){let o=(await this.search(t,Math.max(r*2,r+5),n)).filter(i=>!gr(i.artifact)).slice(0,r);return iP(t,o)}async deriveAutoLinks(t){return this.autoLinkArtifact(t,await this.listArtifacts())}async findArtifactByHash(t){let r=await this.kv().get(dy(t));return r!=null?Number(r):null}async findConnection(t,r,n){let o=await this.kv().get(py(t,r,n));return o!=null?Number(o):null}async materializeTagConnections(t){if(t.properties.metadata?.derived_kind!=="tag")for(let r of t.properties.tags){let n=await this.capture({title:r,content:`Tag: ${r}`,kind:"custom",tags:["tag"],metadata:{derived:!0,derived_kind:"tag"}});await this.link({from:t.rid,to:n.rid,kind:"tagged",confidence:"derived"})}}async autoLinkArtifact(t,r){if(!this.opts.autoLinker||gr(t))return[];let n=new Set(r.filter(o=>o.rid!==t.rid).map(o=>o.rid));if(n.size===0)return[];try{let o=Ig(t),i=new Set([t.rid]);for(let d of r)gr(d)&&i.add(d.rid);let s=await this.think(o,8,{excludeRids:i}),a=s.hits.filter(d=>n.has(d.artifact.rid)&&!gr(d.artifact)).map(d=>({artifact:Uc(d.artifact),score:d.score,excerpt:d.excerpt}));if(a.length===0)return[];let c={newArtifact:Uc(t),candidates:a,think:{query:o,answer:s.answer},allowedKinds:Zc},l=await this.opts.autoLinker.deriveConnections(c),u=[];for(let d of l){if(!Fc(d.kind))continue;let p=await this.getArtifact(d.from),f=await this.getArtifact(d.to);if(!p||!f)continue;let h=p.rid===t.rid||f.rid===t.rid,g=n.has(p.rid)||n.has(f.rid);if(!h||!g||p.rid===f.rid)continue;let _=await this.link({from:p.rid,to:f.rid,kind:d.kind,reason:d.reason,confidence:"derived",metadata:{...d.metadata??{},derived_by:"brain.autolink.afk-headless",source_artifact_rid:t.rid}});u.push({proposal:d,connection:_})}return u}catch(o){if(this.opts.autoLinkErrors==="throw")throw o;return[]}}};function gy(e){let r=uy[e]??e;if(ii.includes(r))return r;throw new Error(`invalid Brain artifact kind: ${e}`)}function yy(e){if(si.includes(e))return e;throw new Error(`invalid Brain connection kind: ${e}`)}function QT(e){let t=Number(e.red_entity_id??e.rid),r=uu(e.properties??e.PROPERTIES),n=String(e.node_type??e.NODE_TYPE??r.kind??"note");if(!Number.isFinite(t))return null;let o=String(r.id??e.label??e.LABEL??t),i=String(r.title??e.label??e.LABEL??o),s=String(r.content??""),a=Array.isArray(r.tags)?r.tags.map(String):[],c=Date.now();return{rid:t,label:String(e.label??e.LABEL??o),kind:gy(n),properties:{...r,id:o,title:i,content:s,tags:a,created_at:Number(r.created_at??c),updated_at:Number(r.updated_at??r.created_at??c),hash:String(r.hash??"")}}}function YT(e){let t=Number(e.red_entity_id??e.rid),r=Number(e.from??e.FROM??e.from_rid??e.source),n=Number(e.to??e.TO??e.to_rid??e.target),o=String(e.label??e.LABEL??"related_to");return!Number.isFinite(t)||!Number.isFinite(r)||!Number.isFinite(n)?null:{rid:t,kind:yy(o),from_rid:r,to_rid:n,weight:Number(e.weight??1),properties:uu(e.properties??e.PROPERTIES)}}function XT(e){let t=Number(e.red_entity_id??e.rid),r=uu(e.properties??e.PROPERTIES);return!Number.isFinite(t)||!En(r)?null:{rid:t,event:r}}function uu(e){return e==null?{}:typeof e=="string"?JSON.parse(e):e}function ai(e){return e!=null}function eP(e){return Array.from(new Set(e.map(t=>t.trim()).filter(Boolean))).sort()}function tP(e){return e.toLowerCase().split(/[^a-z0-9_]+/).map(t=>t.trim()).filter(t=>t.length>1)}function ly(e,t){let r=0,n=e.indexOf(t);for(;n>=0;)r++,n=e.indexOf(t,n+t.length);return r}function _y(e,t){let r=e.properties.title.toLowerCase(),n=e.properties.content.toLowerCase(),o=e.properties.tags.map(s=>s.toLowerCase()),i=e.kind.toLowerCase();return{lexical:t.reduce((s,a)=>s+ly(r,a)*3+ly(n,a),0),tags:t.reduce((s,a)=>{let c=o.reduce((l,u)=>u===a?l+4:u.includes(a)||a.includes(u)?l+2:l,0);return s+c},0),kind:t.reduce((s,a)=>i===a?s+3:i.includes(a)||a.includes(i)?s+1:s,0)}}function rP(e,t,r,n){let o=0;for(let i of r){let s=i.from_rid===e.rid?i.to_rid:i.to_rid===e.rid?i.from_rid:null;if(s==null)continue;let a=n.get(s);if(!a||gr(a))continue;let c=vy({..._y(a,t),connections:0,vector:0}).total;c<=0||(o+=Math.min(c,12)*nP(i.kind))}return Bt(o*.35)}function nP(e){switch(e){case"supports":case"contradicts":case"depends_on":case"derived_from":case"part_of":return 1;case"related_to":case"authored":return .75;case"preceded_by":case"followed_by":return .5;case"tagged":return .2}}function vy(e){return{...e,lexical:Bt(e.lexical),tags:Bt(e.tags),kind:Bt(e.kind),connections:Bt(e.connections),vector:Bt(e.vector),total:Bt(e.lexical+e.tags+e.kind+e.connections+e.vector)}}function Bt(e){return Math.round(e*1e3)/1e3}function oP(e,t){if(e.length<=220)return e;let r=e.toLowerCase(),n=t.map(i=>r.indexOf(i)).filter(i=>i>=0).sort((i,s)=>i-s)[0]??0,o=Math.max(0,n-80);return`${o>0?"...":""}${e.slice(o,o+220)}${o+220<e.length?"...":""}`}function iP(e,t){let r=t.map(sP),n=aP(t),o=cP(e,r,n);return{hits:t,citations:r,confidence:n,missing_evidence:o,answer:uP(e,r,n,o)}}function sP(e,t){let r=e.artifact,n={};return r.properties.source_path&&(n.path=r.properties.source_path),r.properties.source_session&&(n.session=r.properties.source_session),r.properties.source_agent&&(n.agent=r.properties.source_agent),r.properties.source_runner&&(n.runner=r.properties.source_runner),{ref:`B${t+1}`,rid:r.rid,id:r.properties.id,title:r.properties.title,kind:r.kind,score:e.score,score_breakdown:e.score_breakdown,excerpt:e.excerpt,source:Object.keys(n).length>0?n:void 0}}function aP(e){let t=e[0];if(!t)return"none";let r=Object.entries(t.score_breakdown).filter(([n,o])=>n!=="total"&&o>0).length;return t.score>=8||t.score>=5&&r>=2?"high":t.score>=3?"medium":"low"}function cP(e,t,r){if(t.length===0)return[`No Brain artifacts matched "${e}". Capture or ingest cited artifacts before relying on Brain for this answer.`];let n=[];return r==="low"&&n.push("Only low-scoring deterministic matches were found; open the cited artifacts before treating this as settled."),t.length===1&&n.push("Only one cited artifact matched; missing context or contradictions may not be visible yet."),t.every(o=>o.source==null)&&n.push("The matched artifacts do not carry source path, session, agent, or runner provenance."),n}function uP(e,t,r,n){if(t.length===0)return[`Brain has no cited evidence for "${e}".`,"","Missing evidence:",...n.map(a=>`- ${a}`)].join(`
52
+ `);let o=t.slice(0,5).map(a=>`- ${a.title}: ${a.excerpt} [${a.ref}]`),i=t.map(a=>{let c=Object.entries(a.score_breakdown).filter(([l,u])=>l!=="total"&&u>0).map(([l,u])=>`${l} ${u}`).join(", ");return`[${a.ref}] ${a.title} (${a.kind}, rid ${a.rid}, score ${a.score})${c?` [${c}]`:""}; ${lP(a)}`}),s=n.length>0?n.map(a=>`- ${a}`):["- No deterministic evidence gap detected in the returned Brain citations."];return[`Brain answer for "${e}"`,"",`Confidence: ${r}`,"","Best cited evidence:",...o,"","Missing evidence:",...s,"","Citations:",...i].join(`
53
+ `)}function lP(e){if(!e.source)return`source: Brain artifact ${e.id}`;let t=[e.source.path?`path ${e.source.path}`:null,e.source.session?`session ${e.source.session}`:null,e.source.agent?`agent ${e.source.agent}`:null,e.source.runner?`runner ${e.source.runner}`:null].filter(ai);return`source: ${t.length>0?t.join(", "):`Brain artifact ${e.id}`}`}function dy(e){return`artifact.hash.${e}`}function py(e,t,r){return`connection.${e}.${r}.${t}`}function fy(){return`model-tier-bandit.v${1}`}function my(e){if(typeof e!="object"||e===null)return!1;let t=e;return t.schemaVersion===1&&typeof t.buckets=="object"}function dP(e){let t={};for(let r of e)t[r]=(t[r]??0)+1;return t}async function pP(e=process.cwd()){let t=await Og(e);if(jg(t))try{return{config:t,store:await Mg(t),project:wy(t.rootDir)}}catch(n){let o=Wo(t.rootDir);if(await Jo(o.socketPath,50))throw n}let r=await ci.open({uri:t.connectionString,autoLinker:Ag()});return{config:t,store:r,project:wy(t.rootDir)}}async function ye(e,t=process.cwd()){let r=await pP(t);try{return await e(r)}finally{await r.store.close()}}async function $y(e,t){if(e!=="SessionStart")return{};let r=await ye(async({config:o,store:i})=>(await i.status(),o)),n=by(r.rootDir,".red","brain","sessions");return await fP(n,{recursive:!0}),await mP(by(n,"last-session.json"),JSON.stringify({runner:t,lifecycle:e,rootDir:r.rootDir,connectionString:r.connectionString,startedAt:new Date().toISOString()},null,2),"utf8"),{}}var ui=class{map({event:t,sourceAgent:r}){return{title:hP(t),content:gP(t),kind:"event",tags:yP(t),sourceAgent:r??"brain.ingest-events",sourceRunner:"hermes",sourceSession:xy(t),metadata:_P(t)}}};function xy(e){return e.id?`evt:${e.id}`:e.cursor!=null?`cursor:${String(e.cursor)}`:`hash:${ou(JSON.stringify({platform:e.platform??null,target:e.target??null,timestamp:e.timestamp??null,message:e.message??null}))}`}function hP(e){let t=[];e.platform&&t.push(e.platform),e.target&&t.push(e.target);let r=t.length>0?`[${t.join(":")}]`:"[channel-event]";if(e.message){let n=e.message.slice(0,60).replace(/\n/g," ");return`${r} ${n}`}return e.type?`${r} ${e.type}`:`${r} event`}function gP(e){let t=[];return e.message&&t.push(e.message),e.type&&t.push(`type: ${e.type}`),e.platform&&t.push(`platform: ${e.platform}`),e.target&&t.push(`target: ${e.target}`),e.timestamp&&t.push(`timestamp: ${e.timestamp}`),t.join(`
54
+ `)||JSON.stringify(e.raw)}function yP(e){let t=new Set(["channel-event"]);return e.platform&&t.add(e.platform),e.type&&t.add(e.type),Array.from(t)}function _P(e){let t={event_key:xy(e)};return e.id!=null&&(t.event_id=e.id),e.cursor!=null&&(t.cursor=e.cursor),e.timestamp!=null&&(t.timestamp=e.timestamp),e.platform!=null&&(t.platform=e.platform),e.target!=null&&(t.target=e.target),e.sessionKey!=null&&(t.session_key=e.sessionKey),e.type!=null&&(t.event_type=e.type),t}async function li(e){let t=new ui,r=await e.bridge.poll({afterCursor:e.afterCursor,sessionKey:e.sessionKey,limit:e.limit}),n=new Set((await e.store.listArtifacts()).map(s=>s.rid)),o=0,i=0;for(let s of r.events){let a=t.map({event:s,sourceAgent:e.sourceAgent}),c=await e.store.capture(a);n.has(c.rid)?i++:(o++,n.add(c.rid))}return{polled:r.events.length,captured:o,skipped:i,nextCursor:r.nextCursor}}var Lt=class extends Error{constructor(t,r){super(t),this.name="BrainActError",r?.cause!==void 0&&(this.cause=r.cause)}};async function Sy(e,t={}){let r=e.target?.trim(),n=e.message;if(!r)throw new Lt("brain_act requires a non-empty channel target");if(!n||!n.trim())throw new Lt("brain_act requires a non-empty message");let o=t.connect??(a=>qt.connect(a)),i=t.process??vP(t.env??process.env),s;try{s=await o(i)}catch(a){throw new Lt(`brain_act could not reach the channel bridge: ${ky(a)}`,{cause:a})}try{let a;try{a=await s.send(r,n)}catch(c){throw new Lt(`brain_act could not send to "${r}": ${ky(c)}`,{cause:c})}if(!a.ok)throw new Lt(`brain_act could not send to "${r}": ${wP(a)}`);return{ok:!0,target:a.target,messageId:a.messageId,raw:a.raw}}finally{await s.close().catch(()=>{})}}function vP(e=process.env){let t=e.RED_BRAIN_HERMES_COMMAND?.trim()||void 0,r=e.RED_BRAIN_HERMES_ARGS?.trim(),n=r?r.split(/\s+/).filter(Boolean):void 0;return{command:t,args:n}}function wP(e){return bP(e.raw,["error","message","reason","detail"])??"the channel bridge reported a failed send"}function bP(e,t){if(typeof e!="object"||e===null||Array.isArray(e))return;let r=e;for(let n of t){let o=r[n];if(typeof o=="string"&&o.trim())return o}}function ky(e){return e instanceof Error?e.message:String(e)}import{createServer as $P}from"node:http";async function Ty(e,t){let r=await e.listArtifacts(),n=await e.listConnections(),o=new Map(r.map(u=>[u.rid,u])),i=await e.eventKpis({interval:"day"}),s=await e.eventKpis({interval:"day",groupBy:"platform"}),a=await e.eventKpis({interval:"day",groupBy:"event_type"}),c=t.decisionLimit??8,l=t.connectionLimit??12;return{schema_version:"brain.dashboard.v1",generated_at:new Date(t.now??Date.now()).toISOString(),project:t.project,root:t.rootDir,stats:{artifacts:r.length,connections:n.length,decisions:r.filter(u=>u.kind==="decision").length,events:i.total,supports:lu(n,"supports"),contradicts:lu(n,"contradicts"),depends_on:lu(n,"depends_on")},kpis:{events_daily:i,events_by_platform:s,events_by_type:a},recent_decisions:r.filter(u=>u.kind==="decision").sort((u,d)=>d.properties.updated_at-u.properties.updated_at||d.rid-u.rid).slice(0,c).map(u=>xP(u,n)),recent_connections:n.filter(u=>o.has(u.from_rid)&&o.has(u.to_rid)).sort((u,d)=>d.properties.created_at-u.properties.created_at||d.rid-u.rid).slice(0,l).map(u=>kP(u,o)),attribution:{red_hermes:"Dashboard layout and command-center interaction model are adapted from the red-hermes web surface; NOTICE records the MIT attribution."}}}function Py(e){return{contract:{name:"brain.dashboard.viewer",version:"brain.dashboard.viewer.v1",consumes:"brain.dashboard.v1"},html:SP(e)}}async function Ry(e,t={}){let r=t.host??"127.0.0.1",n=t.port??4738,o=$P((i,s)=>{let a=i.url??"/";if(a==="/"||a==="/dashboard"){s.writeHead(200,{"content-type":"text/html; charset=utf-8","cache-control":"no-store"}),s.end(e);return}s.writeHead(404,{"content-type":"text/plain; charset=utf-8"}),s.end(`not found
55
+ `)});return await new Promise((i,s)=>{o.once("error",s),o.listen(n,r,()=>{o.off("error",s),i()})}),o}function xP(e,t){let r=t.filter(n=>n.from_rid===e.rid||n.to_rid===e.rid);return{rid:e.rid,id:e.properties.id,title:e.properties.title,updated_at:new Date(e.properties.updated_at).toISOString(),tags:e.properties.tags,connection_counts:{supports:r.filter(n=>n.kind==="supports").length,contradicts:r.filter(n=>n.kind==="contradicts").length,depends_on:r.filter(n=>n.kind==="depends_on").length,related_to:r.filter(n=>n.kind==="related_to").length},excerpt:TP(e.properties.content)}}function kP(e,t){let r=t.get(e.from_rid),n=t.get(e.to_rid);if(!r||!n)throw new Error(`connection ${e.rid} references missing artifacts`);return{rid:e.rid,kind:e.kind,from:{rid:r.rid,title:r.properties.title},to:{rid:n.rid,title:n.properties.title},created_at:new Date(e.properties.created_at).toISOString(),reason:e.properties.reason??null}}function SP(e){return`<!doctype html>
56
56
  <html lang="en">
57
57
  <head>
58
58
  <meta charset="utf-8">
@@ -250,30 +250,30 @@ var Dy=Object.create;var mi=Object.defineProperty;var jy=Object.getOwnPropertyDe
250
250
  <section>
251
251
  <h2>Recent Decisions</h2>
252
252
  <div class="feed">
253
- ${e.recent_decisions.length===0?zy("No decision artifacts captured yet."):e.recent_decisions.map(ET).join("")}
253
+ ${e.recent_decisions.length===0?zy("No decision artifacts captured yet."):e.recent_decisions.map(EP).join("")}
254
254
  </div>
255
255
  </section>
256
256
  </div>
257
257
  <section>
258
258
  <h2>Recent Connections</h2>
259
259
  <div class="feed">
260
- ${e.recent_connections.length===0?zy("No graph connections captured yet."):e.recent_connections.map(zT).join("")}
260
+ ${e.recent_connections.length===0?zy("No graph connections captured yet."):e.recent_connections.map(zP).join("")}
261
261
  </div>
262
262
  </section>
263
263
  </main>
264
264
  <footer class="meta">${ie(e.attribution.red_hermes)}</footer>
265
- <script id="brain-dashboard-data" type="application/json">${TT(e)}</script>
265
+ <script id="brain-dashboard-data" type="application/json">${PP(e)}</script>
266
266
  </body>
267
- </html>`}function wr(e,t,r){return`<div class="metric"><span>${ie(e)}</span><strong>${t}</strong><div class="meta">${ie(r)}</div></div>`}function Ey(e,t){let r=e.series.filter(o=>o.group!=null);if(r.length===0)return`<div class="empty">No ${ie(t.toLowerCase())} split available.</div>`;let n=Math.max(...r.map(o=>o.total),1);return`<div class="bars" aria-label="${ie(t)}">${r.map(o=>{let i=o.group??"all",s=Math.round(o.total/n*100);return`<div class="bar"><div class="meta">${ie(i)}</div><div class="track"><div class="fill" style="width:${s}%"></div></div><strong>${o.total}</strong></div>`}).join("")}</div>`}function ET(e){let t=e.connection_counts,r=e.tags.length===0?"":`<div class="tags">${e.tags.slice(0,6).map(n=>`<span class="tag">${ie(n)}</span>`).join("")}</div>`;return`<article class="item">
267
+ </html>`}function wr(e,t,r){return`<div class="metric"><span>${ie(e)}</span><strong>${t}</strong><div class="meta">${ie(r)}</div></div>`}function Ey(e,t){let r=e.series.filter(o=>o.group!=null);if(r.length===0)return`<div class="empty">No ${ie(t.toLowerCase())} split available.</div>`;let n=Math.max(...r.map(o=>o.total),1);return`<div class="bars" aria-label="${ie(t)}">${r.map(o=>{let i=o.group??"all",s=Math.round(o.total/n*100);return`<div class="bar"><div class="meta">${ie(i)}</div><div class="track"><div class="fill" style="width:${s}%"></div></div><strong>${o.total}</strong></div>`}).join("")}</div>`}function EP(e){let t=e.connection_counts,r=e.tags.length===0?"":`<div class="tags">${e.tags.slice(0,6).map(n=>`<span class="tag">${ie(n)}</span>`).join("")}</div>`;return`<article class="item">
268
268
  <h3>${ie(e.title)}</h3>
269
269
  <div class="meta">#${e.rid} - ${ie(e.updated_at)} - supports ${t.supports}, contradicts ${t.contradicts}, depends_on ${t.depends_on}, related_to ${t.related_to}</div>
270
270
  <p class="meta">${ie(e.excerpt)}</p>
271
271
  ${r}
272
- </article>`}function zT(e){return`<article class="item">
272
+ </article>`}function zP(e){return`<article class="item">
273
273
  <h3><span class="edge ${ie(e.kind)}">${ie(e.kind)}</span> ${ie(e.from.title)} -> ${ie(e.to.title)}</h3>
274
274
  <div class="meta">#${e.rid} - ${ie(e.created_at)}${e.reason?` - ${ie(e.reason)}`:""}</div>
275
- </article>`}function zy(e){return`<div class="empty">${ie(e)}</div>`}function lu(e,t){return e.filter(r=>r.kind===t).length}function PT(e){let t=e.replace(/\s+/g," ").trim();return t.length>180?`${t.slice(0,177)}...`:t}function ie(e){return e.replace(/[&<>"']/g,t=>{switch(t){case"&":return"&amp;";case"<":return"&lt;";case">":return"&gt;";case'"':return"&quot;";case"'":return"&#39;";default:return t}})}function TT(e){return JSON.stringify(e).replace(/</g,"\\u003c")}import{mkdir as RT,readFile as IT,writeFile as AT}from"node:fs/promises";import{dirname as CT}from"node:path";async function Iy(e){let t=await li({bridge:e.bridge,store:e.store,afterCursor:e.state.cursor,sessionKey:e.sessionKey,limit:e.limit,sourceAgent:e.sourceAgent}),r={cursor:t.nextCursor??e.state.cursor,lastRunAt:new Date().toISOString()};return{polled:t.polled,captured:t.captured,skipped:t.skipped,state:r}}async function Ay(e){try{let t=await IT(e,"utf8");return JSON.parse(t)}catch(t){if(t.code==="ENOENT")return{};throw t}}async function Cy(e,t){await RT(CT(e),{recursive:!0}),await AT(e,JSON.stringify(t,null,2)+`
276
- `,"utf8")}async function MT(){let[e="help",...t]=process.argv.slice(2);switch(e){case"help":case"--help":case"-h":eR();return;case"init":await ye(async({config:r,store:n})=>{let o=await n.status();$e({rootDir:r.rootDir,configPath:r.configPath,...o})});return;case"status":await ye(async({config:r,store:n})=>{$e({rootDir:r.rootDir,configPath:r.configPath,...await n.status()})});return;case"capture":await BT(t);return;case"search":await LT(t);return;case"think":case"query":await ZT(t);return;case"get":await UT(t);return;case"link":await FT(t);return;case"backlinks":await VT(t);return;case"act":await JT(t);return;case"hook":await QT(t);return;case"ingest-events":await HT(t);return;case"schedule-ingest":await KT(t);return;case"kpi":case"kpis":await GT(t);return;case"dashboard":await WT(t);return;case"outcome-event":await qT(t);return;default:throw new Error(`unknown brain command: ${e}`)}}async function qT(e){let[t,...r]=e;if(t!=="record")throw new Error("brain outcome-event requires subcommand: record");let n=Ke(r),o=await XT(),i=JSON.parse(o);if(!En(i))throw new Error("invalid brain outcome event");await ye(async({store:s})=>{$e(await s.appendOutcomeEvent(i))},j(n,"root")??process.cwd())}async function BT(e){let t=Ke(e),r=(j(t,"title")??t._.join(" ").slice(0,80))||"Untitled artifact",n=j(t,"content")??(j(t,"file")?await NT(String(j(t,"file")),"utf8"):t._.join(" "));if(!n.trim())throw new Error("brain capture requires content, --content, or --file");await ye(async({store:o})=>{let i=await o.capture({title:r,content:n,kind:j(t,"kind")??"note",tags:YT(t,"tag"),sourceAgent:j(t,"agent"),sourceRunner:j(t,"runner"),sourceSession:j(t,"session"),sourcePath:process.cwd()});$e(i)})}async function LT(e){let t=Ke(e),r=j(t,"query")??t._.join(" ");if(!r)throw new Error("brain search requires a query");let n=zn(t,"limit")??10;await ye(async({store:o})=>$e(await o.search(r,n)))}async function ZT(e){let t=Ke(e),r=j(t,"query")??t._.join(" ");if(!r)throw new Error("brain think requires a query");let n=zn(t,"limit")??8;await ye(async({store:o})=>{let i=await o.think(r,n);t.json===!0?$e(i):console.log(i.answer)})}async function UT(e){let t=e[0];if(!t)throw new Error("brain get requires a rid or artifact id");await ye(async({store:r})=>{let n=await r.getArtifact(di(t));if(!n)throw new Error(`Brain artifact not found: ${t}`);$e(n)})}async function FT(e){let t=Ke(e),r=j(t,"from"),n=j(t,"to");if(!r||!n)throw new Error("brain link requires --from and --to");await ye(async({store:o})=>{$e(await o.link({from:di(r),to:di(n),kind:j(t,"kind")??"related_to",reason:j(t,"reason")}))})}async function VT(e){let t=e[0];if(!t)throw new Error("brain backlinks requires a rid or artifact id");await ye(async({store:r})=>$e(await r.backlinks(di(t))))}async function KT(e){let t=Ke(e),r=j(t,"session-key")??j(t,"session"),n=zn(t,"limit"),o=await qt.connect();try{await ye(async({config:i,store:s})=>{let a=j(t,"state")??Ny(i.rootDir,".red","brain","ingestion-state.json"),c=await Ay(a),l=await Iy({bridge:o,store:s,state:c,sessionKey:r??void 0,limit:n??void 0,sourceAgent:"brain.schedule-ingest"});await Cy(a,l.state),$e(l)})}finally{await o.close().catch(()=>{})}}async function HT(e){let t=Ke(e),r=j(t,"after-cursor")??j(t,"cursor"),n=j(t,"session-key")??j(t,"session"),o=zn(t,"limit"),i=await qt.connect();try{await ye(async({store:s})=>{let a=await li({bridge:i,store:s,afterCursor:r??void 0,sessionKey:n??void 0,limit:o??void 0,sourceAgent:"brain.ingest-events"});$e(a)})}finally{await i.close().catch(()=>{})}}async function GT(e){let t=Ke(e),r=j(t,"interval"),n=j(t,"group-by"),o=j(t,"time-field");await ye(async({store:i})=>{$e(await i.eventKpis({interval:r,groupBy:n,timeField:o,from:j(t,"from"),to:j(t,"to"),platform:j(t,"platform"),eventType:j(t,"event-type"),target:j(t,"target")}))})}async function WT(e){let t=Ke(e),r=await ye(async({config:o,store:i,project:s})=>{let a=await Py(i,{project:s,rootDir:o.rootDir});return{dashboard:a,artifact:Ty(a),defaultOut:Ny(o.rootDir,".red","brain","dashboard.html")}});if(t.json===!0){$e(r.dashboard);return}if(t.serve===!0){let o=j(t,"host")??"127.0.0.1",i=zn(t,"port")??4738,s=await Ry(r.artifact.html,{host:o,port:i}),a=s.address();console.log(`brain: dashboard serving at http://${a.address}:${a.port}/`),await new Promise(c=>{let l=()=>s.close(()=>c());process.once("SIGINT",l),process.once("SIGTERM",l)});return}let n=j(t,"out")??r.defaultOut;await OT(jT(n),{recursive:!0}),await DT(n,r.artifact.html,"utf8"),console.log(`brain: dashboard written ${n}`)}async function JT(e){let t=Ke(e),r=j(t,"target")??t._[0],n=j(t,"message")??t._.slice(1).join(" ");if(!r)throw new Error("brain act requires --target <channel>");if(!n)throw new Error("brain act requires --message <text>");$e(await Sy({target:r,message:n}))}async function QT(e){let[t="SessionStart",...r]=e,n=Ke(r),o=j(n,"runner")??"unknown";$e(await $y(t,o))}function di(e){return/^\d+$/.test(e)?Number(e):e}function Ke(e){let t={_:[]};for(let r=0;r<e.length;r++){let n=e[r];if(!n.startsWith("--")){t._.push(n);continue}let o=n.slice(2),i=e[r+1],s=i&&!i.startsWith("--")?e[++r]:!0,a=t[o];a==null||a===!1?t[o]=s:Array.isArray(a)?a.push(String(s)):t[o]=[String(a),String(s)]}return t}function j(e,t){let r=e[t];if(typeof r=="string")return r;if(Array.isArray(r))return r[r.length-1]}function YT(e,t){let r=e[t];return typeof r=="string"?[r]:Array.isArray(r)?r:[]}function zn(e,t){let r=j(e,t);if(r==null)return;let n=Number(r);if(!Number.isFinite(n))throw new Error(`--${t} must be a number`);return n}function $e(e){console.log(JSON.stringify(e,null,2))}async function XT(){let e=[];for await(let t of process.stdin)e.push(Buffer.isBuffer(t)?t:Buffer.from(String(t)));return Buffer.concat(e).toString("utf8")}function eR(){console.log(`brain commands:
275
+ </article>`}function zy(e){return`<div class="empty">${ie(e)}</div>`}function lu(e,t){return e.filter(r=>r.kind===t).length}function TP(e){let t=e.replace(/\s+/g," ").trim();return t.length>180?`${t.slice(0,177)}...`:t}function ie(e){return e.replace(/[&<>"']/g,t=>{switch(t){case"&":return"&amp;";case"<":return"&lt;";case">":return"&gt;";case'"':return"&quot;";case"'":return"&#39;";default:return t}})}function PP(e){return JSON.stringify(e).replace(/</g,"\\u003c")}import{mkdir as RP,readFile as IP,writeFile as AP}from"node:fs/promises";import{dirname as CP}from"node:path";async function Iy(e){let t=await li({bridge:e.bridge,store:e.store,afterCursor:e.state.cursor,sessionKey:e.sessionKey,limit:e.limit,sourceAgent:e.sourceAgent}),r={cursor:t.nextCursor??e.state.cursor,lastRunAt:new Date().toISOString()};return{polled:t.polled,captured:t.captured,skipped:t.skipped,state:r}}async function Ay(e){try{let t=await IP(e,"utf8");return JSON.parse(t)}catch(t){if(t.code==="ENOENT")return{};throw t}}async function Cy(e,t){await RP(CP(e),{recursive:!0}),await AP(e,JSON.stringify(t,null,2)+`
276
+ `,"utf8")}async function MP(){let[e="help",...t]=process.argv.slice(2);switch(e){case"help":case"--help":case"-h":eR();return;case"init":await ye(async({config:r,store:n})=>{let o=await n.status();$e({rootDir:r.rootDir,configPath:r.configPath,...o})});return;case"status":await ye(async({config:r,store:n})=>{$e({rootDir:r.rootDir,configPath:r.configPath,...await n.status()})});return;case"capture":await BP(t);return;case"search":await LP(t);return;case"think":case"query":await ZP(t);return;case"get":await UP(t);return;case"link":await FP(t);return;case"backlinks":await VP(t);return;case"act":await JP(t);return;case"hook":await QP(t);return;case"ingest-events":await HP(t);return;case"schedule-ingest":await KP(t);return;case"kpi":case"kpis":await GP(t);return;case"dashboard":await WP(t);return;case"outcome-event":await qP(t);return;default:throw new Error(`unknown brain command: ${e}`)}}async function qP(e){let[t,...r]=e;if(t!=="record")throw new Error("brain outcome-event requires subcommand: record");let n=Ke(r),o=await XP(),i=JSON.parse(o);if(!En(i))throw new Error("invalid brain outcome event");await ye(async({store:s})=>{$e(await s.appendOutcomeEvent(i))},j(n,"root")??process.cwd())}async function BP(e){let t=Ke(e),r=(j(t,"title")??t._.join(" ").slice(0,80))||"Untitled artifact",n=j(t,"content")??(j(t,"file")?await NP(String(j(t,"file")),"utf8"):t._.join(" "));if(!n.trim())throw new Error("brain capture requires content, --content, or --file");await ye(async({store:o})=>{let i=await o.capture({title:r,content:n,kind:j(t,"kind")??"note",tags:YP(t,"tag"),sourceAgent:j(t,"agent"),sourceRunner:j(t,"runner"),sourceSession:j(t,"session"),sourcePath:process.cwd()});$e(i)})}async function LP(e){let t=Ke(e),r=j(t,"query")??t._.join(" ");if(!r)throw new Error("brain search requires a query");let n=zn(t,"limit")??10;await ye(async({store:o})=>$e(await o.search(r,n)))}async function ZP(e){let t=Ke(e),r=j(t,"query")??t._.join(" ");if(!r)throw new Error("brain think requires a query");let n=zn(t,"limit")??8;await ye(async({store:o})=>{let i=await o.think(r,n);t.json===!0?$e(i):console.log(i.answer)})}async function UP(e){let t=e[0];if(!t)throw new Error("brain get requires a rid or artifact id");await ye(async({store:r})=>{let n=await r.getArtifact(di(t));if(!n)throw new Error(`Brain artifact not found: ${t}`);$e(n)})}async function FP(e){let t=Ke(e),r=j(t,"from"),n=j(t,"to");if(!r||!n)throw new Error("brain link requires --from and --to");await ye(async({store:o})=>{$e(await o.link({from:di(r),to:di(n),kind:j(t,"kind")??"related_to",reason:j(t,"reason")}))})}async function VP(e){let t=e[0];if(!t)throw new Error("brain backlinks requires a rid or artifact id");await ye(async({store:r})=>$e(await r.backlinks(di(t))))}async function KP(e){let t=Ke(e),r=j(t,"session-key")??j(t,"session"),n=zn(t,"limit"),o=await qt.connect();try{await ye(async({config:i,store:s})=>{let a=j(t,"state")??Ny(i.rootDir,".red","brain","ingestion-state.json"),c=await Ay(a),l=await Iy({bridge:o,store:s,state:c,sessionKey:r??void 0,limit:n??void 0,sourceAgent:"brain.schedule-ingest"});await Cy(a,l.state),$e(l)})}finally{await o.close().catch(()=>{})}}async function HP(e){let t=Ke(e),r=j(t,"after-cursor")??j(t,"cursor"),n=j(t,"session-key")??j(t,"session"),o=zn(t,"limit"),i=await qt.connect();try{await ye(async({store:s})=>{let a=await li({bridge:i,store:s,afterCursor:r??void 0,sessionKey:n??void 0,limit:o??void 0,sourceAgent:"brain.ingest-events"});$e(a)})}finally{await i.close().catch(()=>{})}}async function GP(e){let t=Ke(e),r=j(t,"interval"),n=j(t,"group-by"),o=j(t,"time-field");await ye(async({store:i})=>{$e(await i.eventKpis({interval:r,groupBy:n,timeField:o,from:j(t,"from"),to:j(t,"to"),platform:j(t,"platform"),eventType:j(t,"event-type"),target:j(t,"target")}))})}async function WP(e){let t=Ke(e),r=await ye(async({config:o,store:i,project:s})=>{let a=await Ty(i,{project:s,rootDir:o.rootDir});return{dashboard:a,artifact:Py(a),defaultOut:Ny(o.rootDir,".red","brain","dashboard.html")}});if(t.json===!0){$e(r.dashboard);return}if(t.serve===!0){let o=j(t,"host")??"127.0.0.1",i=zn(t,"port")??4738,s=await Ry(r.artifact.html,{host:o,port:i}),a=s.address();console.log(`brain: dashboard serving at http://${a.address}:${a.port}/`),await new Promise(c=>{let l=()=>s.close(()=>c());process.once("SIGINT",l),process.once("SIGTERM",l)});return}let n=j(t,"out")??r.defaultOut;await OP(jP(n),{recursive:!0}),await DP(n,r.artifact.html,"utf8"),console.log(`brain: dashboard written ${n}`)}async function JP(e){let t=Ke(e),r=j(t,"target")??t._[0],n=j(t,"message")??t._.slice(1).join(" ");if(!r)throw new Error("brain act requires --target <channel>");if(!n)throw new Error("brain act requires --message <text>");$e(await Sy({target:r,message:n}))}async function QP(e){let[t="SessionStart",...r]=e,n=Ke(r),o=j(n,"runner")??"unknown";$e(await $y(t,o))}function di(e){return/^\d+$/.test(e)?Number(e):e}function Ke(e){let t={_:[]};for(let r=0;r<e.length;r++){let n=e[r];if(!n.startsWith("--")){t._.push(n);continue}let o=n.slice(2),i=e[r+1],s=i&&!i.startsWith("--")?e[++r]:!0,a=t[o];a==null||a===!1?t[o]=s:Array.isArray(a)?a.push(String(s)):t[o]=[String(a),String(s)]}return t}function j(e,t){let r=e[t];if(typeof r=="string")return r;if(Array.isArray(r))return r[r.length-1]}function YP(e,t){let r=e[t];return typeof r=="string"?[r]:Array.isArray(r)?r:[]}function zn(e,t){let r=j(e,t);if(r==null)return;let n=Number(r);if(!Number.isFinite(n))throw new Error(`--${t} must be a number`);return n}function $e(e){console.log(JSON.stringify(e,null,2))}async function XP(){let e=[];for await(let t of process.stdin)e.push(Buffer.isBuffer(t)?t:Buffer.from(String(t)));return Buffer.concat(e).toString("utf8")}function eR(){console.log(`brain commands:
277
277
  init
278
278
  status
279
279
  capture [text] --title <title> --kind <${ii.join("|")}> --tag <tag>
@@ -288,4 +288,4 @@ var Dy=Object.create;var mi=Object.defineProperty;var jy=Object.getOwnPropertyDe
288
288
  kpi [--interval hour|day|week|month] [--group-by platform|event_type|target] [--time-field event|ingested] [--from T] [--to T] [--platform P] [--event-type T] [--target T]
289
289
  dashboard [--out PATH] [--json] [--serve] [--host 127.0.0.1] [--port 4738]
290
290
  outcome-event record [--root PATH] < event.json
291
- `)}MT().catch(e=>{console.error(e instanceof Error?e.message:String(e)),process.exit(1)});
291
+ `)}MP().catch(e=>{console.error(e instanceof Error?e.message:String(e)),process.exit(1)});