emceepee 0.3.6 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,21 +1,21 @@
1
1
  #!/usr/bin/env node
2
- import{createRequire as rj}from"node:module";var dj=Object.create;var{getPrototypeOf:ij,defineProperty:oY,getOwnPropertyNames:nj}=Object;var oj=Object.prototype.hasOwnProperty;var WQ=(Q,X,Y)=>{Y=Q!=null?dj(ij(Q)):{};let W=X||!Q||!Q.__esModule?oY(Y,"default",{value:Q,enumerable:!0}):Y;for(let $ of nj(Q))if(!oj.call(W,$))oY(W,$,{get:()=>Q[$],enumerable:!0});return W};var N=(Q,X)=>()=>(X||Q((X={exports:{}}).exports,X),X.exports);var $Q=(Q,X)=>{for(var Y in X)oY(Q,Y,{get:X[Y],enumerable:!0,configurable:!0,set:(W)=>X[Y]=()=>W})};var r1=rj(import.meta.url);var B4=N((yB)=>{Object.defineProperty(yB,"__esModule",{value:!0});yB.regexpCode=yB.getEsmExportName=yB.getProperty=yB.safeStringify=yB.stringify=yB.strConcat=yB.addCodeArg=yB.str=yB._=yB.nil=yB._Code=yB.Name=yB.IDENTIFIER=yB._CodeOrName=void 0;class GX{}yB._CodeOrName=GX;yB.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class o9 extends GX{constructor(Q){super();if(!yB.IDENTIFIER.test(Q))throw Error("CodeGen: name must be a valid identifier");this.str=Q}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}yB.Name=o9;class E1 extends GX{constructor(Q){super();this._items=typeof Q==="string"?[Q]:Q}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let Q=this._items[0];return Q===""||Q==='""'}get str(){var Q;return(Q=this._str)!==null&&Q!==void 0?Q:this._str=this._items.reduce((X,Y)=>`${X}${Y}`,"")}get names(){var Q;return(Q=this._names)!==null&&Q!==void 0?Q:this._names=this._items.reduce((X,Y)=>{if(Y instanceof o9)X[Y.str]=(X[Y.str]||0)+1;return X},{})}}yB._Code=E1;yB.nil=new E1("");function _B(Q,...X){let Y=[Q[0]],W=0;while(W<X.length)u5(Y,X[W]),Y.push(Q[++W]);return new E1(Y)}yB._=_B;var h5=new E1("+");function xB(Q,...X){let Y=[H4(Q[0])],W=0;while(W<X.length)Y.push(h5),u5(Y,X[W]),Y.push(h5,H4(Q[++W]));return kb(Y),new E1(Y)}yB.str=xB;function u5(Q,X){if(X instanceof E1)Q.push(...X._items);else if(X instanceof o9)Q.push(X);else Q.push(xb(X))}yB.addCodeArg=u5;function kb(Q){let X=1;while(X<Q.length-1){if(Q[X]===h5){let Y=vb(Q[X-1],Q[X+1]);if(Y!==void 0){Q.splice(X-1,3,Y);continue}Q[X++]="+"}X++}}function vb(Q,X){if(X==='""')return Q;if(Q==='""')return X;if(typeof Q=="string"){if(X instanceof o9||Q[Q.length-1]!=='"')return;if(typeof X!="string")return`${Q.slice(0,-1)}${X}"`;if(X[0]==='"')return Q.slice(0,-1)+X.slice(1);return}if(typeof X=="string"&&X[0]==='"'&&!(Q instanceof o9))return`"${Q}${X.slice(1)}`;return}function _b(Q,X){return X.emptyStr()?Q:Q.emptyStr()?X:xB`${Q}${X}`}yB.strConcat=_b;function xb(Q){return typeof Q=="number"||typeof Q=="boolean"||Q===null?Q:H4(Array.isArray(Q)?Q.join(","):Q)}function yb(Q){return new E1(H4(Q))}yB.stringify=yb;function H4(Q){return JSON.stringify(Q).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}yB.safeStringify=H4;function fb(Q){return typeof Q=="string"&&yB.IDENTIFIER.test(Q)?new E1(`.${Q}`):_B`[${Q}]`}yB.getProperty=fb;function gb(Q){if(typeof Q=="string"&&yB.IDENTIFIER.test(Q))return new E1(`${Q}`);throw Error(`CodeGen: invalid export name: ${Q}, use explicit $id name mapping`)}yB.getEsmExportName=gb;function hb(Q){return new E1(Q.toString())}yB.regexpCode=hb});var p5=N((uB)=>{Object.defineProperty(uB,"__esModule",{value:!0});uB.ValueScope=uB.ValueScopeName=uB.Scope=uB.varKinds=uB.UsedValueState=void 0;var X1=B4();class gB extends Error{constructor(Q){super(`CodeGen: "code" for ${Q} not defined`);this.value=Q.value}}var BX;(function(Q){Q[Q.Started=0]="Started",Q[Q.Completed=1]="Completed"})(BX||(uB.UsedValueState=BX={}));uB.varKinds={const:new X1.Name("const"),let:new X1.Name("let"),var:new X1.Name("var")};class m5{constructor({prefixes:Q,parent:X}={}){this._names={},this._prefixes=Q,this._parent=X}toName(Q){return Q instanceof X1.Name?Q:this.name(Q)}name(Q){return new X1.Name(this._newName(Q))}_newName(Q){let X=this._names[Q]||this._nameGroup(Q);return`${Q}${X.index++}`}_nameGroup(Q){var X,Y;if(((Y=(X=this._parent)===null||X===void 0?void 0:X._prefixes)===null||Y===void 0?void 0:Y.has(Q))||this._prefixes&&!this._prefixes.has(Q))throw Error(`CodeGen: prefix "${Q}" is not allowed in this scope`);return this._names[Q]={prefix:Q,index:0}}}uB.Scope=m5;class c5 extends X1.Name{constructor(Q,X){super(X);this.prefix=Q}setValue(Q,{property:X,itemIndex:Y}){this.value=Q,this.scopePath=X1._`.${new X1.Name(X)}[${Y}]`}}uB.ValueScopeName=c5;var sb=X1._`\n`;class hB extends m5{constructor(Q){super(Q);this._values={},this._scope=Q.scope,this.opts={...Q,_n:Q.lines?sb:X1.nil}}get(){return this._scope}name(Q){return new c5(Q,this._newName(Q))}value(Q,X){var Y;if(X.ref===void 0)throw Error("CodeGen: ref must be passed in value");let W=this.toName(Q),{prefix:$}=W,J=(Y=X.key)!==null&&Y!==void 0?Y:X.ref,G=this._values[$];if(G){let z=G.get(J);if(z)return z}else G=this._values[$]=new Map;G.set(J,W);let H=this._scope[$]||(this._scope[$]=[]),B=H.length;return H[B]=X.ref,W.setValue(X,{property:$,itemIndex:B}),W}getValue(Q,X){let Y=this._values[Q];if(!Y)return;return Y.get(X)}scopeRefs(Q,X=this._values){return this._reduceValues(X,(Y)=>{if(Y.scopePath===void 0)throw Error(`CodeGen: name "${Y}" has no value`);return X1._`${Q}${Y.scopePath}`})}scopeCode(Q=this._values,X,Y){return this._reduceValues(Q,(W)=>{if(W.value===void 0)throw Error(`CodeGen: name "${W}" has no value`);return W.value.code},X,Y)}_reduceValues(Q,X,Y={},W){let $=X1.nil;for(let J in Q){let G=Q[J];if(!G)continue;let H=Y[J]=Y[J]||new Map;G.forEach((B)=>{if(H.has(B))return;H.set(B,BX.Started);let z=X(B);if(z){let K=this.opts.es5?uB.varKinds.var:uB.varKinds.const;$=X1._`${$}${K} ${B} = ${z};${this.opts._n}`}else if(z=W===null||W===void 0?void 0:W(B))$=X1._`${$}${z}${this.opts._n}`;else throw new gB(B);H.set(B,BX.Completed)})}return $}}uB.ValueScope=hB});var r=N((Y1)=>{Object.defineProperty(Y1,"__esModule",{value:!0});Y1.or=Y1.and=Y1.not=Y1.CodeGen=Y1.operators=Y1.varKinds=Y1.ValueScopeName=Y1.ValueScope=Y1.Scope=Y1.Name=Y1.regexpCode=Y1.stringify=Y1.getProperty=Y1.nil=Y1.strConcat=Y1.str=Y1._=void 0;var e=B4(),S1=p5(),Z6=B4();Object.defineProperty(Y1,"_",{enumerable:!0,get:function(){return Z6._}});Object.defineProperty(Y1,"str",{enumerable:!0,get:function(){return Z6.str}});Object.defineProperty(Y1,"strConcat",{enumerable:!0,get:function(){return Z6.strConcat}});Object.defineProperty(Y1,"nil",{enumerable:!0,get:function(){return Z6.nil}});Object.defineProperty(Y1,"getProperty",{enumerable:!0,get:function(){return Z6.getProperty}});Object.defineProperty(Y1,"stringify",{enumerable:!0,get:function(){return Z6.stringify}});Object.defineProperty(Y1,"regexpCode",{enumerable:!0,get:function(){return Z6.regexpCode}});Object.defineProperty(Y1,"Name",{enumerable:!0,get:function(){return Z6.Name}});var DX=p5();Object.defineProperty(Y1,"Scope",{enumerable:!0,get:function(){return DX.Scope}});Object.defineProperty(Y1,"ValueScope",{enumerable:!0,get:function(){return DX.ValueScope}});Object.defineProperty(Y1,"ValueScopeName",{enumerable:!0,get:function(){return DX.ValueScopeName}});Object.defineProperty(Y1,"varKinds",{enumerable:!0,get:function(){return DX.varKinds}});Y1.operators={GT:new e._Code(">"),GTE:new e._Code(">="),LT:new e._Code("<"),LTE:new e._Code("<="),EQ:new e._Code("==="),NEQ:new e._Code("!=="),NOT:new e._Code("!"),OR:new e._Code("||"),AND:new e._Code("&&"),ADD:new e._Code("+")};class R6{optimizeNodes(){return this}optimizeNames(Q,X){return this}}class mB extends R6{constructor(Q,X,Y){super();this.varKind=Q,this.name=X,this.rhs=Y}render({es5:Q,_n:X}){let Y=Q?S1.varKinds.var:this.varKind,W=this.rhs===void 0?"":` = ${this.rhs}`;return`${Y} ${this.name}${W};`+X}optimizeNames(Q,X){if(!Q[this.name.str])return;if(this.rhs)this.rhs=t9(this.rhs,Q,X);return this}get names(){return this.rhs instanceof e._CodeOrName?this.rhs.names:{}}}class n5 extends R6{constructor(Q,X,Y){super();this.lhs=Q,this.rhs=X,this.sideEffects=Y}render({_n:Q}){return`${this.lhs} = ${this.rhs};`+Q}optimizeNames(Q,X){if(this.lhs instanceof e.Name&&!Q[this.lhs.str]&&!this.sideEffects)return;return this.rhs=t9(this.rhs,Q,X),this}get names(){let Q=this.lhs instanceof e.Name?{}:{...this.lhs.names};return FX(Q,this.rhs)}}class cB extends n5{constructor(Q,X,Y,W){super(Q,Y,W);this.op=X}render({_n:Q}){return`${this.lhs} ${this.op}= ${this.rhs};`+Q}}class pB extends R6{constructor(Q){super();this.label=Q,this.names={}}render({_n:Q}){return`${this.label}:`+Q}}class dB extends R6{constructor(Q){super();this.label=Q,this.names={}}render({_n:Q}){return`break${this.label?` ${this.label}`:""};`+Q}}class iB extends R6{constructor(Q){super();this.error=Q}render({_n:Q}){return`throw ${this.error};`+Q}get names(){return this.error.names}}class nB extends R6{constructor(Q){super();this.code=Q}render({_n:Q}){return`${this.code};`+Q}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(Q,X){return this.code=t9(this.code,Q,X),this}get names(){return this.code instanceof e._CodeOrName?this.code.names:{}}}class LX extends R6{constructor(Q=[]){super();this.nodes=Q}render(Q){return this.nodes.reduce((X,Y)=>X+Y.render(Q),"")}optimizeNodes(){let{nodes:Q}=this,X=Q.length;while(X--){let Y=Q[X].optimizeNodes();if(Array.isArray(Y))Q.splice(X,1,...Y);else if(Y)Q[X]=Y;else Q.splice(X,1)}return Q.length>0?this:void 0}optimizeNames(Q,X){let{nodes:Y}=this,W=Y.length;while(W--){let $=Y[W];if($.optimizeNames(Q,X))continue;YP(Q,$.names),Y.splice(W,1)}return Y.length>0?this:void 0}get names(){return this.nodes.reduce((Q,X)=>G9(Q,X.names),{})}}class E6 extends LX{render(Q){return"{"+Q._n+super.render(Q)+"}"+Q._n}}class oB extends LX{}class z4 extends E6{}z4.kind="else";class $6 extends E6{constructor(Q,X){super(X);this.condition=Q}render(Q){let X=`if(${this.condition})`+super.render(Q);if(this.else)X+="else "+this.else.render(Q);return X}optimizeNodes(){super.optimizeNodes();let Q=this.condition;if(Q===!0)return this.nodes;let X=this.else;if(X){let Y=X.optimizeNodes();X=this.else=Array.isArray(Y)?new z4(Y):Y}if(X){if(Q===!1)return X instanceof $6?X:X.nodes;if(this.nodes.length)return this;return new $6(eB(Q),X instanceof $6?[X]:X.nodes)}if(Q===!1||!this.nodes.length)return;return this}optimizeNames(Q,X){var Y;if(this.else=(Y=this.else)===null||Y===void 0?void 0:Y.optimizeNames(Q,X),!(super.optimizeNames(Q,X)||this.else))return;return this.condition=t9(this.condition,Q,X),this}get names(){let Q=super.names;if(FX(Q,this.condition),this.else)G9(Q,this.else.names);return Q}}$6.kind="if";class r9 extends E6{}r9.kind="for";class rB extends r9{constructor(Q){super();this.iteration=Q}render(Q){return`for(${this.iteration})`+super.render(Q)}optimizeNames(Q,X){if(!super.optimizeNames(Q,X))return;return this.iteration=t9(this.iteration,Q,X),this}get names(){return G9(super.names,this.iteration.names)}}class tB extends r9{constructor(Q,X,Y,W){super();this.varKind=Q,this.name=X,this.from=Y,this.to=W}render(Q){let X=Q.es5?S1.varKinds.var:this.varKind,{name:Y,from:W,to:$}=this;return`for(${X} ${Y}=${W}; ${Y}<${$}; ${Y}++)`+super.render(Q)}get names(){let Q=FX(super.names,this.from);return FX(Q,this.to)}}class d5 extends r9{constructor(Q,X,Y,W){super();this.loop=Q,this.varKind=X,this.name=Y,this.iterable=W}render(Q){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(Q)}optimizeNames(Q,X){if(!super.optimizeNames(Q,X))return;return this.iterable=t9(this.iterable,Q,X),this}get names(){return G9(super.names,this.iterable.names)}}class zX extends E6{constructor(Q,X,Y){super();this.name=Q,this.args=X,this.async=Y}render(Q){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(Q)}}zX.kind="func";class KX extends LX{render(Q){return"return "+super.render(Q)}}KX.kind="return";class aB extends E6{render(Q){let X="try"+super.render(Q);if(this.catch)X+=this.catch.render(Q);if(this.finally)X+=this.finally.render(Q);return X}optimizeNodes(){var Q,X;return super.optimizeNodes(),(Q=this.catch)===null||Q===void 0||Q.optimizeNodes(),(X=this.finally)===null||X===void 0||X.optimizeNodes(),this}optimizeNames(Q,X){var Y,W;return super.optimizeNames(Q,X),(Y=this.catch)===null||Y===void 0||Y.optimizeNames(Q,X),(W=this.finally)===null||W===void 0||W.optimizeNames(Q,X),this}get names(){let Q=super.names;if(this.catch)G9(Q,this.catch.names);if(this.finally)G9(Q,this.finally.names);return Q}}class VX extends E6{constructor(Q){super();this.error=Q}render(Q){return`catch(${this.error})`+super.render(Q)}}VX.kind="catch";class AX extends E6{render(Q){return"finally"+super.render(Q)}}AX.kind="finally";class sB{constructor(Q,X={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...X,_n:X.lines?`
3
- `:""},this._extScope=Q,this._scope=new S1.Scope({parent:Q}),this._nodes=[new oB]}toString(){return this._root.render(this.opts)}name(Q){return this._scope.name(Q)}scopeName(Q){return this._extScope.name(Q)}scopeValue(Q,X){let Y=this._extScope.value(Q,X);return(this._values[Y.prefix]||(this._values[Y.prefix]=new Set)).add(Y),Y}getScopeValue(Q,X){return this._extScope.getValue(Q,X)}scopeRefs(Q){return this._extScope.scopeRefs(Q,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(Q,X,Y,W){let $=this._scope.toName(X);if(Y!==void 0&&W)this._constants[$.str]=Y;return this._leafNode(new mB(Q,$,Y)),$}const(Q,X,Y){return this._def(S1.varKinds.const,Q,X,Y)}let(Q,X,Y){return this._def(S1.varKinds.let,Q,X,Y)}var(Q,X,Y){return this._def(S1.varKinds.var,Q,X,Y)}assign(Q,X,Y){return this._leafNode(new n5(Q,X,Y))}add(Q,X){return this._leafNode(new cB(Q,Y1.operators.ADD,X))}code(Q){if(typeof Q=="function")Q();else if(Q!==e.nil)this._leafNode(new nB(Q));return this}object(...Q){let X=["{"];for(let[Y,W]of Q){if(X.length>1)X.push(",");if(X.push(Y),Y!==W||this.opts.es5)X.push(":"),(0,e.addCodeArg)(X,W)}return X.push("}"),new e._Code(X)}if(Q,X,Y){if(this._blockNode(new $6(Q)),X&&Y)this.code(X).else().code(Y).endIf();else if(X)this.code(X).endIf();else if(Y)throw Error('CodeGen: "else" body without "then" body');return this}elseIf(Q){return this._elseNode(new $6(Q))}else(){return this._elseNode(new z4)}endIf(){return this._endBlockNode($6,z4)}_for(Q,X){if(this._blockNode(Q),X)this.code(X).endFor();return this}for(Q,X){return this._for(new rB(Q),X)}forRange(Q,X,Y,W,$=this.opts.es5?S1.varKinds.var:S1.varKinds.let){let J=this._scope.toName(Q);return this._for(new tB($,J,X,Y),()=>W(J))}forOf(Q,X,Y,W=S1.varKinds.const){let $=this._scope.toName(Q);if(this.opts.es5){let J=X instanceof e.Name?X:this.var("_arr",X);return this.forRange("_i",0,e._`${J}.length`,(G)=>{this.var($,e._`${J}[${G}]`),Y($)})}return this._for(new d5("of",W,$,X),()=>Y($))}forIn(Q,X,Y,W=this.opts.es5?S1.varKinds.var:S1.varKinds.const){if(this.opts.ownProperties)return this.forOf(Q,e._`Object.keys(${X})`,Y);let $=this._scope.toName(Q);return this._for(new d5("in",W,$,X),()=>Y($))}endFor(){return this._endBlockNode(r9)}label(Q){return this._leafNode(new pB(Q))}break(Q){return this._leafNode(new dB(Q))}return(Q){let X=new KX;if(this._blockNode(X),this.code(Q),X.nodes.length!==1)throw Error('CodeGen: "return" should have one node');return this._endBlockNode(KX)}try(Q,X,Y){if(!X&&!Y)throw Error('CodeGen: "try" without "catch" and "finally"');let W=new aB;if(this._blockNode(W),this.code(Q),X){let $=this.name("e");this._currNode=W.catch=new VX($),X($)}if(Y)this._currNode=W.finally=new AX,this.code(Y);return this._endBlockNode(VX,AX)}throw(Q){return this._leafNode(new iB(Q))}block(Q,X){if(this._blockStarts.push(this._nodes.length),Q)this.code(Q).endBlock(X);return this}endBlock(Q){let X=this._blockStarts.pop();if(X===void 0)throw Error("CodeGen: not in self-balancing block");let Y=this._nodes.length-X;if(Y<0||Q!==void 0&&Y!==Q)throw Error(`CodeGen: wrong number of nodes: ${Y} vs ${Q} expected`);return this._nodes.length=X,this}func(Q,X=e.nil,Y,W){if(this._blockNode(new zX(Q,X,Y)),W)this.code(W).endFunc();return this}endFunc(){return this._endBlockNode(zX)}optimize(Q=1){while(Q-- >0)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(Q){return this._currNode.nodes.push(Q),this}_blockNode(Q){this._currNode.nodes.push(Q),this._nodes.push(Q)}_endBlockNode(Q,X){let Y=this._currNode;if(Y instanceof Q||X&&Y instanceof X)return this._nodes.pop(),this;throw Error(`CodeGen: not in block "${X?`${Q.kind}/${X.kind}`:Q.kind}"`)}_elseNode(Q){let X=this._currNode;if(!(X instanceof $6))throw Error('CodeGen: "else" without "if"');return this._currNode=X.else=Q,this}get _root(){return this._nodes[0]}get _currNode(){let Q=this._nodes;return Q[Q.length-1]}set _currNode(Q){let X=this._nodes;X[X.length-1]=Q}}Y1.CodeGen=sB;function G9(Q,X){for(let Y in X)Q[Y]=(Q[Y]||0)+(X[Y]||0);return Q}function FX(Q,X){return X instanceof e._CodeOrName?G9(Q,X.names):Q}function t9(Q,X,Y){if(Q instanceof e.Name)return W(Q);if(!$(Q))return Q;return new e._Code(Q._items.reduce((J,G)=>{if(G instanceof e.Name)G=W(G);if(G instanceof e._Code)J.push(...G._items);else J.push(G);return J},[]));function W(J){let G=Y[J.str];if(G===void 0||X[J.str]!==1)return J;return delete X[J.str],G}function $(J){return J instanceof e._Code&&J._items.some((G)=>G instanceof e.Name&&X[G.str]===1&&Y[G.str]!==void 0)}}function YP(Q,X){for(let Y in X)Q[Y]=(Q[Y]||0)-(X[Y]||0)}function eB(Q){return typeof Q=="boolean"||typeof Q=="number"||Q===null?!Q:e._`!${i5(Q)}`}Y1.not=eB;var WP=Qz(Y1.operators.AND);function $P(...Q){return Q.reduce(WP)}Y1.and=$P;var JP=Qz(Y1.operators.OR);function GP(...Q){return Q.reduce(JP)}Y1.or=GP;function Qz(Q){return(X,Y)=>X===e.nil?Y:Y===e.nil?X:e._`${i5(X)} ${Q} ${i5(Y)}`}function i5(Q){return Q instanceof e.Name?Q:e._`(${Q})`}});var W0=N((zz)=>{Object.defineProperty(zz,"__esModule",{value:!0});zz.checkStrictMode=zz.getErrorPath=zz.Type=zz.useFunc=zz.setEvaluated=zz.evaluatedPropsToName=zz.mergeEvaluated=zz.eachItem=zz.unescapeJsonPointer=zz.escapeJsonPointer=zz.escapeFragment=zz.unescapeFragment=zz.schemaRefOrVal=zz.schemaHasRulesButRef=zz.schemaHasRules=zz.checkUnknownRules=zz.alwaysValidSchema=zz.toHash=void 0;var z0=r(),KP=B4();function VP(Q){let X={};for(let Y of Q)X[Y]=!0;return X}zz.toHash=VP;function AP(Q,X){if(typeof X=="boolean")return X;if(Object.keys(X).length===0)return!0;return $z(Q,X),!Jz(X,Q.self.RULES.all)}zz.alwaysValidSchema=AP;function $z(Q,X=Q.schema){let{opts:Y,self:W}=Q;if(!Y.strictSchema)return;if(typeof X==="boolean")return;let $=W.RULES.keywords;for(let J in X)if(!$[J])Bz(Q,`unknown keyword: "${J}"`)}zz.checkUnknownRules=$z;function Jz(Q,X){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(X[Y])return!0;return!1}zz.schemaHasRules=Jz;function FP(Q,X){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(Y!=="$ref"&&X.all[Y])return!0;return!1}zz.schemaHasRulesButRef=FP;function DP({topSchemaRef:Q,schemaPath:X},Y,W,$){if(!$){if(typeof Y=="number"||typeof Y=="boolean")return Y;if(typeof Y=="string")return z0._`${Y}`}return z0._`${Q}${X}${(0,z0.getProperty)(W)}`}zz.schemaRefOrVal=DP;function LP(Q){return Gz(decodeURIComponent(Q))}zz.unescapeFragment=LP;function OP(Q){return encodeURIComponent(r5(Q))}zz.escapeFragment=OP;function r5(Q){if(typeof Q=="number")return`${Q}`;return Q.replace(/~/g,"~0").replace(/\//g,"~1")}zz.escapeJsonPointer=r5;function Gz(Q){return Q.replace(/~1/g,"/").replace(/~0/g,"~")}zz.unescapeJsonPointer=Gz;function UP(Q,X){if(Array.isArray(Q))for(let Y of Q)X(Y);else X(Q)}zz.eachItem=UP;function Yz({mergeNames:Q,mergeToName:X,mergeValues:Y,resultToName:W}){return($,J,G,H)=>{let B=G===void 0?J:G instanceof z0.Name?(J instanceof z0.Name?Q($,J,G):X($,J,G),G):J instanceof z0.Name?(X($,G,J),J):Y(J,G);return H===z0.Name&&!(B instanceof z0.Name)?W($,B):B}}zz.mergeEvaluated={props:Yz({mergeNames:(Q,X,Y)=>Q.if(z0._`${Y} !== true && ${X} !== undefined`,()=>{Q.if(z0._`${X} === true`,()=>Q.assign(Y,!0),()=>Q.assign(Y,z0._`${Y} || {}`).code(z0._`Object.assign(${Y}, ${X})`))}),mergeToName:(Q,X,Y)=>Q.if(z0._`${Y} !== true`,()=>{if(X===!0)Q.assign(Y,!0);else Q.assign(Y,z0._`${Y} || {}`),t5(Q,Y,X)}),mergeValues:(Q,X)=>Q===!0?!0:{...Q,...X},resultToName:Hz}),items:Yz({mergeNames:(Q,X,Y)=>Q.if(z0._`${Y} !== true && ${X} !== undefined`,()=>Q.assign(Y,z0._`${X} === true ? true : ${Y} > ${X} ? ${Y} : ${X}`)),mergeToName:(Q,X,Y)=>Q.if(z0._`${Y} !== true`,()=>Q.assign(Y,X===!0?!0:z0._`${Y} > ${X} ? ${Y} : ${X}`)),mergeValues:(Q,X)=>Q===!0?!0:Math.max(Q,X),resultToName:(Q,X)=>Q.var("items",X)})};function Hz(Q,X){if(X===!0)return Q.var("props",!0);let Y=Q.var("props",z0._`{}`);if(X!==void 0)t5(Q,Y,X);return Y}zz.evaluatedPropsToName=Hz;function t5(Q,X,Y){Object.keys(Y).forEach((W)=>Q.assign(z0._`${X}${(0,z0.getProperty)(W)}`,!0))}zz.setEvaluated=t5;var Wz={};function jP(Q,X){return Q.scopeValue("func",{ref:X,code:Wz[X.code]||(Wz[X.code]=new KP._Code(X.code))})}zz.useFunc=jP;var o5;(function(Q){Q[Q.Num=0]="Num",Q[Q.Str=1]="Str"})(o5||(zz.Type=o5={}));function NP(Q,X,Y){if(Q instanceof z0.Name){let W=X===o5.Num;return Y?W?z0._`"[" + ${Q} + "]"`:z0._`"['" + ${Q} + "']"`:W?z0._`"/" + ${Q}`:z0._`"/" + ${Q}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return Y?(0,z0.getProperty)(Q).toString():"/"+r5(Q)}zz.getErrorPath=NP;function Bz(Q,X,Y=Q.opts.strictSchema){if(!Y)return;if(X=`strict mode: ${X}`,Y===!0)throw Error(X);Q.self.logger.warn(X)}zz.checkStrictMode=Bz});var J6=N((Vz)=>{Object.defineProperty(Vz,"__esModule",{value:!0});var l0=r(),fP={data:new l0.Name("data"),valCxt:new l0.Name("valCxt"),instancePath:new l0.Name("instancePath"),parentData:new l0.Name("parentData"),parentDataProperty:new l0.Name("parentDataProperty"),rootData:new l0.Name("rootData"),dynamicAnchors:new l0.Name("dynamicAnchors"),vErrors:new l0.Name("vErrors"),errors:new l0.Name("errors"),this:new l0.Name("this"),self:new l0.Name("self"),scope:new l0.Name("scope"),json:new l0.Name("json"),jsonPos:new l0.Name("jsonPos"),jsonLen:new l0.Name("jsonLen"),jsonPart:new l0.Name("jsonPart")};Vz.default=fP});var K4=N((Lz)=>{Object.defineProperty(Lz,"__esModule",{value:!0});Lz.extendErrors=Lz.resetErrorsCount=Lz.reportExtraError=Lz.reportError=Lz.keyword$DataError=Lz.keywordError=void 0;var X0=r(),UX=W0(),d0=J6();Lz.keywordError={message:({keyword:Q})=>X0.str`must pass "${Q}" keyword validation`};Lz.keyword$DataError={message:({keyword:Q,schemaType:X})=>X?X0.str`"${Q}" keyword must be ${X} ($data)`:X0.str`"${Q}" keyword is invalid ($data)`};function hP(Q,X=Lz.keywordError,Y,W){let{it:$}=Q,{gen:J,compositeRule:G,allErrors:H}=$,B=Dz(Q,X,Y);if(W!==null&&W!==void 0?W:G||H)Az(J,B);else Fz($,X0._`[${B}]`)}Lz.reportError=hP;function uP(Q,X=Lz.keywordError,Y){let{it:W}=Q,{gen:$,compositeRule:J,allErrors:G}=W,H=Dz(Q,X,Y);if(Az($,H),!(J||G))Fz(W,d0.default.vErrors)}Lz.reportExtraError=uP;function lP(Q,X){Q.assign(d0.default.errors,X),Q.if(X0._`${d0.default.vErrors} !== null`,()=>Q.if(X,()=>Q.assign(X0._`${d0.default.vErrors}.length`,X),()=>Q.assign(d0.default.vErrors,null)))}Lz.resetErrorsCount=lP;function mP({gen:Q,keyword:X,schemaValue:Y,data:W,errsCount:$,it:J}){if($===void 0)throw Error("ajv implementation error");let G=Q.name("err");Q.forRange("i",$,d0.default.errors,(H)=>{if(Q.const(G,X0._`${d0.default.vErrors}[${H}]`),Q.if(X0._`${G}.instancePath === undefined`,()=>Q.assign(X0._`${G}.instancePath`,(0,X0.strConcat)(d0.default.instancePath,J.errorPath))),Q.assign(X0._`${G}.schemaPath`,X0.str`${J.errSchemaPath}/${X}`),J.opts.verbose)Q.assign(X0._`${G}.schema`,Y),Q.assign(X0._`${G}.data`,W)})}Lz.extendErrors=mP;function Az(Q,X){let Y=Q.const("err",X);Q.if(X0._`${d0.default.vErrors} === null`,()=>Q.assign(d0.default.vErrors,X0._`[${Y}]`),X0._`${d0.default.vErrors}.push(${Y})`),Q.code(X0._`${d0.default.errors}++`)}function Fz(Q,X){let{gen:Y,validateName:W,schemaEnv:$}=Q;if($.$async)Y.throw(X0._`new ${Q.ValidationError}(${X})`);else Y.assign(X0._`${W}.errors`,X),Y.return(!1)}var H9={keyword:new X0.Name("keyword"),schemaPath:new X0.Name("schemaPath"),params:new X0.Name("params"),propertyName:new X0.Name("propertyName"),message:new X0.Name("message"),schema:new X0.Name("schema"),parentSchema:new X0.Name("parentSchema")};function Dz(Q,X,Y){let{createErrors:W}=Q.it;if(W===!1)return X0._`{}`;return cP(Q,X,Y)}function cP(Q,X,Y={}){let{gen:W,it:$}=Q,J=[pP($,Y),dP(Q,Y)];return iP(Q,X,J),W.object(...J)}function pP({errorPath:Q},{instancePath:X}){let Y=X?X0.str`${Q}${(0,UX.getErrorPath)(X,UX.Type.Str)}`:Q;return[d0.default.instancePath,(0,X0.strConcat)(d0.default.instancePath,Y)]}function dP({keyword:Q,it:{errSchemaPath:X}},{schemaPath:Y,parentSchema:W}){let $=W?X:X0.str`${X}/${Q}`;if(Y)$=X0.str`${$}${(0,UX.getErrorPath)(Y,UX.Type.Str)}`;return[H9.schemaPath,$]}function iP(Q,{params:X,message:Y},W){let{keyword:$,data:J,schemaValue:G,it:H}=Q,{opts:B,propertyName:z,topSchemaRef:K,schemaPath:V}=H;if(W.push([H9.keyword,$],[H9.params,typeof X=="function"?X(Q):X||X0._`{}`]),B.messages)W.push([H9.message,typeof Y=="function"?Y(Q):Y]);if(B.verbose)W.push([H9.schema,G],[H9.parentSchema,X0._`${K}${V}`],[d0.default.data,J]);if(z)W.push([H9.propertyName,z])}});var qz=N((jz)=>{Object.defineProperty(jz,"__esModule",{value:!0});jz.boolOrEmptySchema=jz.topBoolOrEmptySchema=void 0;var aP=K4(),sP=r(),eP=J6(),QZ={message:"boolean schema is false"};function XZ(Q){let{gen:X,schema:Y,validateName:W}=Q;if(Y===!1)Uz(Q,!1);else if(typeof Y=="object"&&Y.$async===!0)X.return(eP.default.data);else X.assign(sP._`${W}.errors`,null),X.return(!0)}jz.topBoolOrEmptySchema=XZ;function YZ(Q,X){let{gen:Y,schema:W}=Q;if(W===!1)Y.var(X,!1),Uz(Q);else Y.var(X,!0)}jz.boolOrEmptySchema=YZ;function Uz(Q,X){let{gen:Y,data:W}=Q,$={gen:Y,keyword:"false schema",data:W,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:Q};(0,aP.reportError)($,QZ,void 0,X)}});var s5=N((wz)=>{Object.defineProperty(wz,"__esModule",{value:!0});wz.getRules=wz.isJSONType=void 0;var $Z=["string","number","integer","boolean","null","object","array"],JZ=new Set($Z);function GZ(Q){return typeof Q=="string"&&JZ.has(Q)}wz.isJSONType=GZ;function HZ(){let Q={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...Q,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},Q.number,Q.string,Q.array,Q.object],post:{rules:[]},all:{},keywords:{}}}wz.getRules=HZ});var e5=N((Zz)=>{Object.defineProperty(Zz,"__esModule",{value:!0});Zz.shouldUseRule=Zz.shouldUseGroup=Zz.schemaHasRulesForType=void 0;function zZ({schema:Q,self:X},Y){let W=X.RULES.types[Y];return W&&W!==!0&&bz(Q,W)}Zz.schemaHasRulesForType=zZ;function bz(Q,X){return X.rules.some((Y)=>Pz(Q,Y))}Zz.shouldUseGroup=bz;function Pz(Q,X){var Y;return Q[X.keyword]!==void 0||((Y=X.definition.implements)===null||Y===void 0?void 0:Y.some((W)=>Q[W]!==void 0))}Zz.shouldUseRule=Pz});var V4=N((Tz)=>{Object.defineProperty(Tz,"__esModule",{value:!0});Tz.reportTypeError=Tz.checkDataTypes=Tz.checkDataType=Tz.coerceAndCheckDataType=Tz.getJSONTypes=Tz.getSchemaTypes=Tz.DataType=void 0;var AZ=s5(),FZ=e5(),DZ=K4(),d=r(),Ez=W0(),a9;(function(Q){Q[Q.Correct=0]="Correct",Q[Q.Wrong=1]="Wrong"})(a9||(Tz.DataType=a9={}));function LZ(Q){let X=Sz(Q.type);if(X.includes("null")){if(Q.nullable===!1)throw Error("type: null contradicts nullable: false")}else{if(!X.length&&Q.nullable!==void 0)throw Error('"nullable" cannot be used without "type"');if(Q.nullable===!0)X.push("null")}return X}Tz.getSchemaTypes=LZ;function Sz(Q){let X=Array.isArray(Q)?Q:Q?[Q]:[];if(X.every(AZ.isJSONType))return X;throw Error("type must be JSONType or JSONType[]: "+X.join(","))}Tz.getJSONTypes=Sz;function OZ(Q,X){let{gen:Y,data:W,opts:$}=Q,J=UZ(X,$.coerceTypes),G=X.length>0&&!(J.length===0&&X.length===1&&(0,FZ.schemaHasRulesForType)(Q,X[0]));if(G){let H=X$(X,W,$.strictNumbers,a9.Wrong);Y.if(H,()=>{if(J.length)jZ(Q,X,J);else Y$(Q)})}return G}Tz.coerceAndCheckDataType=OZ;var Iz=new Set(["string","number","integer","boolean","null"]);function UZ(Q,X){return X?Q.filter((Y)=>Iz.has(Y)||X==="array"&&Y==="array"):[]}function jZ(Q,X,Y){let{gen:W,data:$,opts:J}=Q,G=W.let("dataType",d._`typeof ${$}`),H=W.let("coerced",d._`undefined`);if(J.coerceTypes==="array")W.if(d._`${G} == 'object' && Array.isArray(${$}) && ${$}.length == 1`,()=>W.assign($,d._`${$}[0]`).assign(G,d._`typeof ${$}`).if(X$(X,$,J.strictNumbers),()=>W.assign(H,$)));W.if(d._`${H} !== undefined`);for(let z of Y)if(Iz.has(z)||z==="array"&&J.coerceTypes==="array")B(z);W.else(),Y$(Q),W.endIf(),W.if(d._`${H} !== undefined`,()=>{W.assign($,H),NZ(Q,H)});function B(z){switch(z){case"string":W.elseIf(d._`${G} == "number" || ${G} == "boolean"`).assign(H,d._`"" + ${$}`).elseIf(d._`${$} === null`).assign(H,d._`""`);return;case"number":W.elseIf(d._`${G} == "boolean" || ${$} === null
2
+ import{createRequire as jw}from"node:module";var Dw=Object.create;var{getPrototypeOf:Lw,defineProperty:X7,getOwnPropertyNames:Ow}=Object;var Uw=Object.prototype.hasOwnProperty;var HQ=(Q,Y,X)=>{X=Q!=null?Dw(Lw(Q)):{};let W=Y||!Q||!Q.__esModule?X7(X,"default",{value:Q,enumerable:!0}):X;for(let $ of Ow(Q))if(!Uw.call(W,$))X7(W,$,{get:()=>Q[$],enumerable:!0});return W};var w=(Q,Y)=>()=>(Y||Q((Y={exports:{}}).exports,Y),Y.exports);var BQ=(Q,Y)=>{for(var X in Y)X7(Q,X,{get:Y[X],enumerable:!0,configurable:!0,set:(W)=>Y[X]=()=>W})};var r1=jw(import.meta.url);var F4=w((aB)=>{Object.defineProperty(aB,"__esModule",{value:!0});aB.regexpCode=aB.getEsmExportName=aB.getProperty=aB.safeStringify=aB.stringify=aB.strConcat=aB.addCodeArg=aB.str=aB._=aB.nil=aB._Code=aB.Name=aB.IDENTIFIER=aB._CodeOrName=void 0;class KY{}aB._CodeOrName=KY;aB.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class t9 extends KY{constructor(Q){super();if(!aB.IDENTIFIER.test(Q))throw Error("CodeGen: name must be a valid identifier");this.str=Q}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}aB.Name=t9;class E1 extends KY{constructor(Q){super();this._items=typeof Q==="string"?[Q]:Q}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let Q=this._items[0];return Q===""||Q==='""'}get str(){var Q;return(Q=this._str)!==null&&Q!==void 0?Q:this._str=this._items.reduce((Y,X)=>`${Y}${X}`,"")}get names(){var Q;return(Q=this._names)!==null&&Q!==void 0?Q:this._names=this._items.reduce((Y,X)=>{if(X instanceof t9)Y[X.str]=(Y[X.str]||0)+1;return Y},{})}}aB._Code=E1;aB.nil=new E1("");function oB(Q,...Y){let X=[Q[0]],W=0;while(W<Y.length)o5(X,Y[W]),X.push(Q[++W]);return new E1(X)}aB._=oB;var n5=new E1("+");function rB(Q,...Y){let X=[V4(Q[0])],W=0;while(W<Y.length)X.push(n5),o5(X,Y[W]),X.push(n5,V4(Q[++W]));return YZ(X),new E1(X)}aB.str=rB;function o5(Q,Y){if(Y instanceof E1)Q.push(...Y._items);else if(Y instanceof t9)Q.push(Y);else Q.push($Z(Y))}aB.addCodeArg=o5;function YZ(Q){let Y=1;while(Y<Q.length-1){if(Q[Y]===n5){let X=XZ(Q[Y-1],Q[Y+1]);if(X!==void 0){Q.splice(Y-1,3,X);continue}Q[Y++]="+"}Y++}}function XZ(Q,Y){if(Y==='""')return Q;if(Q==='""')return Y;if(typeof Q=="string"){if(Y instanceof t9||Q[Q.length-1]!=='"')return;if(typeof Y!="string")return`${Q.slice(0,-1)}${Y}"`;if(Y[0]==='"')return Q.slice(0,-1)+Y.slice(1);return}if(typeof Y=="string"&&Y[0]==='"'&&!(Q instanceof t9))return`"${Q}${Y.slice(1)}`;return}function WZ(Q,Y){return Y.emptyStr()?Q:Q.emptyStr()?Y:rB`${Q}${Y}`}aB.strConcat=WZ;function $Z(Q){return typeof Q=="number"||typeof Q=="boolean"||Q===null?Q:V4(Array.isArray(Q)?Q.join(","):Q)}function JZ(Q){return new E1(V4(Q))}aB.stringify=JZ;function V4(Q){return JSON.stringify(Q).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}aB.safeStringify=V4;function GZ(Q){return typeof Q=="string"&&aB.IDENTIFIER.test(Q)?new E1(`.${Q}`):oB`[${Q}]`}aB.getProperty=GZ;function HZ(Q){if(typeof Q=="string"&&aB.IDENTIFIER.test(Q))return new E1(`${Q}`);throw Error(`CodeGen: invalid export name: ${Q}, use explicit $id name mapping`)}aB.getEsmExportName=HZ;function BZ(Q){return new E1(Q.toString())}aB.regexpCode=BZ});var s5=w((Qz)=>{Object.defineProperty(Qz,"__esModule",{value:!0});Qz.ValueScope=Qz.ValueScopeName=Qz.Scope=Qz.varKinds=Qz.UsedValueState=void 0;var Y1=F4();class sB extends Error{constructor(Q){super(`CodeGen: "code" for ${Q} not defined`);this.value=Q.value}}var FY;(function(Q){Q[Q.Started=0]="Started",Q[Q.Completed=1]="Completed"})(FY||(Qz.UsedValueState=FY={}));Qz.varKinds={const:new Y1.Name("const"),let:new Y1.Name("let"),var:new Y1.Name("var")};class a5{constructor({prefixes:Q,parent:Y}={}){this._names={},this._prefixes=Q,this._parent=Y}toName(Q){return Q instanceof Y1.Name?Q:this.name(Q)}name(Q){return new Y1.Name(this._newName(Q))}_newName(Q){let Y=this._names[Q]||this._nameGroup(Q);return`${Q}${Y.index++}`}_nameGroup(Q){var Y,X;if(((X=(Y=this._parent)===null||Y===void 0?void 0:Y._prefixes)===null||X===void 0?void 0:X.has(Q))||this._prefixes&&!this._prefixes.has(Q))throw Error(`CodeGen: prefix "${Q}" is not allowed in this scope`);return this._names[Q]={prefix:Q,index:0}}}Qz.Scope=a5;class t5 extends Y1.Name{constructor(Q,Y){super(Y);this.prefix=Q}setValue(Q,{property:Y,itemIndex:X}){this.value=Q,this.scopePath=Y1._`.${new Y1.Name(Y)}[${X}]`}}Qz.ValueScopeName=t5;var qZ=Y1._`\n`;class eB extends a5{constructor(Q){super(Q);this._values={},this._scope=Q.scope,this.opts={...Q,_n:Q.lines?qZ:Y1.nil}}get(){return this._scope}name(Q){return new t5(Q,this._newName(Q))}value(Q,Y){var X;if(Y.ref===void 0)throw Error("CodeGen: ref must be passed in value");let W=this.toName(Q),{prefix:$}=W,J=(X=Y.key)!==null&&X!==void 0?X:Y.ref,G=this._values[$];if(G){let z=G.get(J);if(z)return z}else G=this._values[$]=new Map;G.set(J,W);let H=this._scope[$]||(this._scope[$]=[]),B=H.length;return H[B]=Y.ref,W.setValue(Y,{property:$,itemIndex:B}),W}getValue(Q,Y){let X=this._values[Q];if(!X)return;return X.get(Y)}scopeRefs(Q,Y=this._values){return this._reduceValues(Y,(X)=>{if(X.scopePath===void 0)throw Error(`CodeGen: name "${X}" has no value`);return Y1._`${Q}${X.scopePath}`})}scopeCode(Q=this._values,Y,X){return this._reduceValues(Q,(W)=>{if(W.value===void 0)throw Error(`CodeGen: name "${W}" has no value`);return W.value.code},Y,X)}_reduceValues(Q,Y,X={},W){let $=Y1.nil;for(let J in Q){let G=Q[J];if(!G)continue;let H=X[J]=X[J]||new Map;G.forEach((B)=>{if(H.has(B))return;H.set(B,FY.Started);let z=Y(B);if(z){let K=this.opts.es5?Qz.varKinds.var:Qz.varKinds.const;$=Y1._`${$}${K} ${B} = ${z};${this.opts._n}`}else if(z=W===null||W===void 0?void 0:W(B))$=Y1._`${$}${z}${this.opts._n}`;else throw new sB(B);H.set(B,FY.Completed)})}return $}}Qz.ValueScope=eB});var r=w((X1)=>{Object.defineProperty(X1,"__esModule",{value:!0});X1.or=X1.and=X1.not=X1.CodeGen=X1.operators=X1.varKinds=X1.ValueScopeName=X1.ValueScope=X1.Scope=X1.Name=X1.regexpCode=X1.stringify=X1.getProperty=X1.nil=X1.strConcat=X1.str=X1._=void 0;var e=F4(),S1=s5(),R6=F4();Object.defineProperty(X1,"_",{enumerable:!0,get:function(){return R6._}});Object.defineProperty(X1,"str",{enumerable:!0,get:function(){return R6.str}});Object.defineProperty(X1,"strConcat",{enumerable:!0,get:function(){return R6.strConcat}});Object.defineProperty(X1,"nil",{enumerable:!0,get:function(){return R6.nil}});Object.defineProperty(X1,"getProperty",{enumerable:!0,get:function(){return R6.getProperty}});Object.defineProperty(X1,"stringify",{enumerable:!0,get:function(){return R6.stringify}});Object.defineProperty(X1,"regexpCode",{enumerable:!0,get:function(){return R6.regexpCode}});Object.defineProperty(X1,"Name",{enumerable:!0,get:function(){return R6.Name}});var jY=s5();Object.defineProperty(X1,"Scope",{enumerable:!0,get:function(){return jY.Scope}});Object.defineProperty(X1,"ValueScope",{enumerable:!0,get:function(){return jY.ValueScope}});Object.defineProperty(X1,"ValueScopeName",{enumerable:!0,get:function(){return jY.ValueScopeName}});Object.defineProperty(X1,"varKinds",{enumerable:!0,get:function(){return jY.varKinds}});X1.operators={GT:new e._Code(">"),GTE:new e._Code(">="),LT:new e._Code("<"),LTE:new e._Code("<="),EQ:new e._Code("==="),NEQ:new e._Code("!=="),NOT:new e._Code("!"),OR:new e._Code("||"),AND:new e._Code("&&"),ADD:new e._Code("+")};class E6{optimizeNodes(){return this}optimizeNames(Q,Y){return this}}class Xz extends E6{constructor(Q,Y,X){super();this.varKind=Q,this.name=Y,this.rhs=X}render({es5:Q,_n:Y}){let X=Q?S1.varKinds.var:this.varKind,W=this.rhs===void 0?"":` = ${this.rhs}`;return`${X} ${this.name}${W};`+Y}optimizeNames(Q,Y){if(!Q[this.name.str])return;if(this.rhs)this.rhs=e9(this.rhs,Q,Y);return this}get names(){return this.rhs instanceof e._CodeOrName?this.rhs.names:{}}}class Y$ extends E6{constructor(Q,Y,X){super();this.lhs=Q,this.rhs=Y,this.sideEffects=X}render({_n:Q}){return`${this.lhs} = ${this.rhs};`+Q}optimizeNames(Q,Y){if(this.lhs instanceof e.Name&&!Q[this.lhs.str]&&!this.sideEffects)return;return this.rhs=e9(this.rhs,Q,Y),this}get names(){let Q=this.lhs instanceof e.Name?{}:{...this.lhs.names};return UY(Q,this.rhs)}}class Wz extends Y${constructor(Q,Y,X,W){super(Q,X,W);this.op=Y}render({_n:Q}){return`${this.lhs} ${this.op}= ${this.rhs};`+Q}}class $z extends E6{constructor(Q){super();this.label=Q,this.names={}}render({_n:Q}){return`${this.label}:`+Q}}class Jz extends E6{constructor(Q){super();this.label=Q,this.names={}}render({_n:Q}){return`break${this.label?` ${this.label}`:""};`+Q}}class Gz extends E6{constructor(Q){super();this.error=Q}render({_n:Q}){return`throw ${this.error};`+Q}get names(){return this.error.names}}class Hz extends E6{constructor(Q){super();this.code=Q}render({_n:Q}){return`${this.code};`+Q}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(Q,Y){return this.code=e9(this.code,Q,Y),this}get names(){return this.code instanceof e._CodeOrName?this.code.names:{}}}class wY extends E6{constructor(Q=[]){super();this.nodes=Q}render(Q){return this.nodes.reduce((Y,X)=>Y+X.render(Q),"")}optimizeNodes(){let{nodes:Q}=this,Y=Q.length;while(Y--){let X=Q[Y].optimizeNodes();if(Array.isArray(X))Q.splice(Y,1,...X);else if(X)Q[Y]=X;else Q.splice(Y,1)}return Q.length>0?this:void 0}optimizeNames(Q,Y){let{nodes:X}=this,W=X.length;while(W--){let $=X[W];if($.optimizeNames(Q,Y))continue;PZ(Q,$.names),X.splice(W,1)}return X.length>0?this:void 0}get names(){return this.nodes.reduce((Q,Y)=>z9(Q,Y.names),{})}}class S6 extends wY{render(Q){return"{"+Q._n+super.render(Q)+"}"+Q._n}}class Bz extends wY{}class A4 extends S6{}A4.kind="else";class $6 extends S6{constructor(Q,Y){super(Y);this.condition=Q}render(Q){let Y=`if(${this.condition})`+super.render(Q);if(this.else)Y+="else "+this.else.render(Q);return Y}optimizeNodes(){super.optimizeNodes();let Q=this.condition;if(Q===!0)return this.nodes;let Y=this.else;if(Y){let X=Y.optimizeNodes();Y=this.else=Array.isArray(X)?new A4(X):X}if(Y){if(Q===!1)return Y instanceof $6?Y:Y.nodes;if(this.nodes.length)return this;return new $6(Az(Q),Y instanceof $6?[Y]:Y.nodes)}if(Q===!1||!this.nodes.length)return;return this}optimizeNames(Q,Y){var X;if(this.else=(X=this.else)===null||X===void 0?void 0:X.optimizeNames(Q,Y),!(super.optimizeNames(Q,Y)||this.else))return;return this.condition=e9(this.condition,Q,Y),this}get names(){let Q=super.names;if(UY(Q,this.condition),this.else)z9(Q,this.else.names);return Q}}$6.kind="if";class s9 extends S6{}s9.kind="for";class zz extends s9{constructor(Q){super();this.iteration=Q}render(Q){return`for(${this.iteration})`+super.render(Q)}optimizeNames(Q,Y){if(!super.optimizeNames(Q,Y))return;return this.iteration=e9(this.iteration,Q,Y),this}get names(){return z9(super.names,this.iteration.names)}}class Kz extends s9{constructor(Q,Y,X,W){super();this.varKind=Q,this.name=Y,this.from=X,this.to=W}render(Q){let Y=Q.es5?S1.varKinds.var:this.varKind,{name:X,from:W,to:$}=this;return`for(${Y} ${X}=${W}; ${X}<${$}; ${X}++)`+super.render(Q)}get names(){let Q=UY(super.names,this.from);return UY(Q,this.to)}}class e5 extends s9{constructor(Q,Y,X,W){super();this.loop=Q,this.varKind=Y,this.name=X,this.iterable=W}render(Q){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(Q)}optimizeNames(Q,Y){if(!super.optimizeNames(Q,Y))return;return this.iterable=e9(this.iterable,Q,Y),this}get names(){return z9(super.names,this.iterable.names)}}class AY extends S6{constructor(Q,Y,X){super();this.name=Q,this.args=Y,this.async=X}render(Q){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(Q)}}AY.kind="func";class DY extends wY{render(Q){return"return "+super.render(Q)}}DY.kind="return";class Vz extends S6{render(Q){let Y="try"+super.render(Q);if(this.catch)Y+=this.catch.render(Q);if(this.finally)Y+=this.finally.render(Q);return Y}optimizeNodes(){var Q,Y;return super.optimizeNodes(),(Q=this.catch)===null||Q===void 0||Q.optimizeNodes(),(Y=this.finally)===null||Y===void 0||Y.optimizeNodes(),this}optimizeNames(Q,Y){var X,W;return super.optimizeNames(Q,Y),(X=this.catch)===null||X===void 0||X.optimizeNames(Q,Y),(W=this.finally)===null||W===void 0||W.optimizeNames(Q,Y),this}get names(){let Q=super.names;if(this.catch)z9(Q,this.catch.names);if(this.finally)z9(Q,this.finally.names);return Q}}class LY extends S6{constructor(Q){super();this.error=Q}render(Q){return`catch(${this.error})`+super.render(Q)}}LY.kind="catch";class OY extends S6{render(Q){return"finally"+super.render(Q)}}OY.kind="finally";class Fz{constructor(Q,Y={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...Y,_n:Y.lines?`
3
+ `:""},this._extScope=Q,this._scope=new S1.Scope({parent:Q}),this._nodes=[new Bz]}toString(){return this._root.render(this.opts)}name(Q){return this._scope.name(Q)}scopeName(Q){return this._extScope.name(Q)}scopeValue(Q,Y){let X=this._extScope.value(Q,Y);return(this._values[X.prefix]||(this._values[X.prefix]=new Set)).add(X),X}getScopeValue(Q,Y){return this._extScope.getValue(Q,Y)}scopeRefs(Q){return this._extScope.scopeRefs(Q,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(Q,Y,X,W){let $=this._scope.toName(Y);if(X!==void 0&&W)this._constants[$.str]=X;return this._leafNode(new Xz(Q,$,X)),$}const(Q,Y,X){return this._def(S1.varKinds.const,Q,Y,X)}let(Q,Y,X){return this._def(S1.varKinds.let,Q,Y,X)}var(Q,Y,X){return this._def(S1.varKinds.var,Q,Y,X)}assign(Q,Y,X){return this._leafNode(new Y$(Q,Y,X))}add(Q,Y){return this._leafNode(new Wz(Q,X1.operators.ADD,Y))}code(Q){if(typeof Q=="function")Q();else if(Q!==e.nil)this._leafNode(new Hz(Q));return this}object(...Q){let Y=["{"];for(let[X,W]of Q){if(Y.length>1)Y.push(",");if(Y.push(X),X!==W||this.opts.es5)Y.push(":"),(0,e.addCodeArg)(Y,W)}return Y.push("}"),new e._Code(Y)}if(Q,Y,X){if(this._blockNode(new $6(Q)),Y&&X)this.code(Y).else().code(X).endIf();else if(Y)this.code(Y).endIf();else if(X)throw Error('CodeGen: "else" body without "then" body');return this}elseIf(Q){return this._elseNode(new $6(Q))}else(){return this._elseNode(new A4)}endIf(){return this._endBlockNode($6,A4)}_for(Q,Y){if(this._blockNode(Q),Y)this.code(Y).endFor();return this}for(Q,Y){return this._for(new zz(Q),Y)}forRange(Q,Y,X,W,$=this.opts.es5?S1.varKinds.var:S1.varKinds.let){let J=this._scope.toName(Q);return this._for(new Kz($,J,Y,X),()=>W(J))}forOf(Q,Y,X,W=S1.varKinds.const){let $=this._scope.toName(Q);if(this.opts.es5){let J=Y instanceof e.Name?Y:this.var("_arr",Y);return this.forRange("_i",0,e._`${J}.length`,(G)=>{this.var($,e._`${J}[${G}]`),X($)})}return this._for(new e5("of",W,$,Y),()=>X($))}forIn(Q,Y,X,W=this.opts.es5?S1.varKinds.var:S1.varKinds.const){if(this.opts.ownProperties)return this.forOf(Q,e._`Object.keys(${Y})`,X);let $=this._scope.toName(Q);return this._for(new e5("in",W,$,Y),()=>X($))}endFor(){return this._endBlockNode(s9)}label(Q){return this._leafNode(new $z(Q))}break(Q){return this._leafNode(new Jz(Q))}return(Q){let Y=new DY;if(this._blockNode(Y),this.code(Q),Y.nodes.length!==1)throw Error('CodeGen: "return" should have one node');return this._endBlockNode(DY)}try(Q,Y,X){if(!Y&&!X)throw Error('CodeGen: "try" without "catch" and "finally"');let W=new Vz;if(this._blockNode(W),this.code(Q),Y){let $=this.name("e");this._currNode=W.catch=new LY($),Y($)}if(X)this._currNode=W.finally=new OY,this.code(X);return this._endBlockNode(LY,OY)}throw(Q){return this._leafNode(new Gz(Q))}block(Q,Y){if(this._blockStarts.push(this._nodes.length),Q)this.code(Q).endBlock(Y);return this}endBlock(Q){let Y=this._blockStarts.pop();if(Y===void 0)throw Error("CodeGen: not in self-balancing block");let X=this._nodes.length-Y;if(X<0||Q!==void 0&&X!==Q)throw Error(`CodeGen: wrong number of nodes: ${X} vs ${Q} expected`);return this._nodes.length=Y,this}func(Q,Y=e.nil,X,W){if(this._blockNode(new AY(Q,Y,X)),W)this.code(W).endFunc();return this}endFunc(){return this._endBlockNode(AY)}optimize(Q=1){while(Q-- >0)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(Q){return this._currNode.nodes.push(Q),this}_blockNode(Q){this._currNode.nodes.push(Q),this._nodes.push(Q)}_endBlockNode(Q,Y){let X=this._currNode;if(X instanceof Q||Y&&X instanceof Y)return this._nodes.pop(),this;throw Error(`CodeGen: not in block "${Y?`${Q.kind}/${Y.kind}`:Q.kind}"`)}_elseNode(Q){let Y=this._currNode;if(!(Y instanceof $6))throw Error('CodeGen: "else" without "if"');return this._currNode=Y.else=Q,this}get _root(){return this._nodes[0]}get _currNode(){let Q=this._nodes;return Q[Q.length-1]}set _currNode(Q){let Y=this._nodes;Y[Y.length-1]=Q}}X1.CodeGen=Fz;function z9(Q,Y){for(let X in Y)Q[X]=(Q[X]||0)+(Y[X]||0);return Q}function UY(Q,Y){return Y instanceof e._CodeOrName?z9(Q,Y.names):Q}function e9(Q,Y,X){if(Q instanceof e.Name)return W(Q);if(!$(Q))return Q;return new e._Code(Q._items.reduce((J,G)=>{if(G instanceof e.Name)G=W(G);if(G instanceof e._Code)J.push(...G._items);else J.push(G);return J},[]));function W(J){let G=X[J.str];if(G===void 0||Y[J.str]!==1)return J;return delete Y[J.str],G}function $(J){return J instanceof e._Code&&J._items.some((G)=>G instanceof e.Name&&Y[G.str]===1&&X[G.str]!==void 0)}}function PZ(Q,Y){for(let X in Y)Q[X]=(Q[X]||0)-(Y[X]||0)}function Az(Q){return typeof Q=="boolean"||typeof Q=="number"||Q===null?!Q:e._`!${Q$(Q)}`}X1.not=Az;var RZ=Dz(X1.operators.AND);function EZ(...Q){return Q.reduce(RZ)}X1.and=EZ;var SZ=Dz(X1.operators.OR);function IZ(...Q){return Q.reduce(SZ)}X1.or=IZ;function Dz(Q){return(Y,X)=>Y===e.nil?X:X===e.nil?Y:e._`${Q$(Y)} ${Q} ${Q$(X)}`}function Q$(Q){return Q instanceof e.Name?Q:e._`(${Q})`}});var W0=w((bz)=>{Object.defineProperty(bz,"__esModule",{value:!0});bz.checkStrictMode=bz.getErrorPath=bz.Type=bz.useFunc=bz.setEvaluated=bz.evaluatedPropsToName=bz.mergeEvaluated=bz.eachItem=bz.unescapeJsonPointer=bz.escapeJsonPointer=bz.escapeFragment=bz.unescapeFragment=bz.schemaRefOrVal=bz.schemaHasRulesButRef=bz.schemaHasRules=bz.checkUnknownRules=bz.alwaysValidSchema=bz.toHash=void 0;var z0=r(),_Z=F4();function vZ(Q){let Y={};for(let X of Q)Y[X]=!0;return Y}bz.toHash=vZ;function xZ(Q,Y){if(typeof Y=="boolean")return Y;if(Object.keys(Y).length===0)return!0;return jz(Q,Y),!wz(Y,Q.self.RULES.all)}bz.alwaysValidSchema=xZ;function jz(Q,Y=Q.schema){let{opts:X,self:W}=Q;if(!X.strictSchema)return;if(typeof Y==="boolean")return;let $=W.RULES.keywords;for(let J in Y)if(!$[J])Mz(Q,`unknown keyword: "${J}"`)}bz.checkUnknownRules=jz;function wz(Q,Y){if(typeof Q=="boolean")return!Q;for(let X in Q)if(Y[X])return!0;return!1}bz.schemaHasRules=wz;function yZ(Q,Y){if(typeof Q=="boolean")return!Q;for(let X in Q)if(X!=="$ref"&&Y.all[X])return!0;return!1}bz.schemaHasRulesButRef=yZ;function fZ({topSchemaRef:Q,schemaPath:Y},X,W,$){if(!$){if(typeof X=="number"||typeof X=="boolean")return X;if(typeof X=="string")return z0._`${X}`}return z0._`${Q}${Y}${(0,z0.getProperty)(W)}`}bz.schemaRefOrVal=fZ;function hZ(Q){return Nz(decodeURIComponent(Q))}bz.unescapeFragment=hZ;function gZ(Q){return encodeURIComponent(W$(Q))}bz.escapeFragment=gZ;function W$(Q){if(typeof Q=="number")return`${Q}`;return Q.replace(/~/g,"~0").replace(/\//g,"~1")}bz.escapeJsonPointer=W$;function Nz(Q){return Q.replace(/~1/g,"/").replace(/~0/g,"~")}bz.unescapeJsonPointer=Nz;function uZ(Q,Y){if(Array.isArray(Q))for(let X of Q)Y(X);else Y(Q)}bz.eachItem=uZ;function Oz({mergeNames:Q,mergeToName:Y,mergeValues:X,resultToName:W}){return($,J,G,H)=>{let B=G===void 0?J:G instanceof z0.Name?(J instanceof z0.Name?Q($,J,G):Y($,J,G),G):J instanceof z0.Name?(Y($,G,J),J):X(J,G);return H===z0.Name&&!(B instanceof z0.Name)?W($,B):B}}bz.mergeEvaluated={props:Oz({mergeNames:(Q,Y,X)=>Q.if(z0._`${X} !== true && ${Y} !== undefined`,()=>{Q.if(z0._`${Y} === true`,()=>Q.assign(X,!0),()=>Q.assign(X,z0._`${X} || {}`).code(z0._`Object.assign(${X}, ${Y})`))}),mergeToName:(Q,Y,X)=>Q.if(z0._`${X} !== true`,()=>{if(Y===!0)Q.assign(X,!0);else Q.assign(X,z0._`${X} || {}`),$$(Q,X,Y)}),mergeValues:(Q,Y)=>Q===!0?!0:{...Q,...Y},resultToName:qz}),items:Oz({mergeNames:(Q,Y,X)=>Q.if(z0._`${X} !== true && ${Y} !== undefined`,()=>Q.assign(X,z0._`${Y} === true ? true : ${X} > ${Y} ? ${X} : ${Y}`)),mergeToName:(Q,Y,X)=>Q.if(z0._`${X} !== true`,()=>Q.assign(X,Y===!0?!0:z0._`${X} > ${Y} ? ${X} : ${Y}`)),mergeValues:(Q,Y)=>Q===!0?!0:Math.max(Q,Y),resultToName:(Q,Y)=>Q.var("items",Y)})};function qz(Q,Y){if(Y===!0)return Q.var("props",!0);let X=Q.var("props",z0._`{}`);if(Y!==void 0)$$(Q,X,Y);return X}bz.evaluatedPropsToName=qz;function $$(Q,Y,X){Object.keys(X).forEach((W)=>Q.assign(z0._`${Y}${(0,z0.getProperty)(W)}`,!0))}bz.setEvaluated=$$;var Uz={};function lZ(Q,Y){return Q.scopeValue("func",{ref:Y,code:Uz[Y.code]||(Uz[Y.code]=new _Z._Code(Y.code))})}bz.useFunc=lZ;var X$;(function(Q){Q[Q.Num=0]="Num",Q[Q.Str=1]="Str"})(X$||(bz.Type=X$={}));function mZ(Q,Y,X){if(Q instanceof z0.Name){let W=Y===X$.Num;return X?W?z0._`"[" + ${Q} + "]"`:z0._`"['" + ${Q} + "']"`:W?z0._`"/" + ${Q}`:z0._`"/" + ${Q}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return X?(0,z0.getProperty)(Q).toString():"/"+W$(Q)}bz.getErrorPath=mZ;function Mz(Q,Y,X=Q.opts.strictSchema){if(!X)return;if(Y=`strict mode: ${Y}`,X===!0)throw Error(Y);Q.self.logger.warn(Y)}bz.checkStrictMode=Mz});var J6=w((Pz)=>{Object.defineProperty(Pz,"__esModule",{value:!0});var l0=r(),GP={data:new l0.Name("data"),valCxt:new l0.Name("valCxt"),instancePath:new l0.Name("instancePath"),parentData:new l0.Name("parentData"),parentDataProperty:new l0.Name("parentDataProperty"),rootData:new l0.Name("rootData"),dynamicAnchors:new l0.Name("dynamicAnchors"),vErrors:new l0.Name("vErrors"),errors:new l0.Name("errors"),this:new l0.Name("this"),self:new l0.Name("self"),scope:new l0.Name("scope"),json:new l0.Name("json"),jsonPos:new l0.Name("jsonPos"),jsonLen:new l0.Name("jsonLen"),jsonPart:new l0.Name("jsonPart")};Pz.default=GP});var D4=w((Iz)=>{Object.defineProperty(Iz,"__esModule",{value:!0});Iz.extendErrors=Iz.resetErrorsCount=Iz.reportExtraError=Iz.reportError=Iz.keyword$DataError=Iz.keywordError=void 0;var Y0=r(),qY=W0(),d0=J6();Iz.keywordError={message:({keyword:Q})=>Y0.str`must pass "${Q}" keyword validation`};Iz.keyword$DataError={message:({keyword:Q,schemaType:Y})=>Y?Y0.str`"${Q}" keyword must be ${Y} ($data)`:Y0.str`"${Q}" keyword is invalid ($data)`};function BP(Q,Y=Iz.keywordError,X,W){let{it:$}=Q,{gen:J,compositeRule:G,allErrors:H}=$,B=Sz(Q,Y,X);if(W!==null&&W!==void 0?W:G||H)Rz(J,B);else Ez($,Y0._`[${B}]`)}Iz.reportError=BP;function zP(Q,Y=Iz.keywordError,X){let{it:W}=Q,{gen:$,compositeRule:J,allErrors:G}=W,H=Sz(Q,Y,X);if(Rz($,H),!(J||G))Ez(W,d0.default.vErrors)}Iz.reportExtraError=zP;function KP(Q,Y){Q.assign(d0.default.errors,Y),Q.if(Y0._`${d0.default.vErrors} !== null`,()=>Q.if(Y,()=>Q.assign(Y0._`${d0.default.vErrors}.length`,Y),()=>Q.assign(d0.default.vErrors,null)))}Iz.resetErrorsCount=KP;function VP({gen:Q,keyword:Y,schemaValue:X,data:W,errsCount:$,it:J}){if($===void 0)throw Error("ajv implementation error");let G=Q.name("err");Q.forRange("i",$,d0.default.errors,(H)=>{if(Q.const(G,Y0._`${d0.default.vErrors}[${H}]`),Q.if(Y0._`${G}.instancePath === undefined`,()=>Q.assign(Y0._`${G}.instancePath`,(0,Y0.strConcat)(d0.default.instancePath,J.errorPath))),Q.assign(Y0._`${G}.schemaPath`,Y0.str`${J.errSchemaPath}/${Y}`),J.opts.verbose)Q.assign(Y0._`${G}.schema`,X),Q.assign(Y0._`${G}.data`,W)})}Iz.extendErrors=VP;function Rz(Q,Y){let X=Q.const("err",Y);Q.if(Y0._`${d0.default.vErrors} === null`,()=>Q.assign(d0.default.vErrors,Y0._`[${X}]`),Y0._`${d0.default.vErrors}.push(${X})`),Q.code(Y0._`${d0.default.errors}++`)}function Ez(Q,Y){let{gen:X,validateName:W,schemaEnv:$}=Q;if($.$async)X.throw(Y0._`new ${Q.ValidationError}(${Y})`);else X.assign(Y0._`${W}.errors`,Y),X.return(!1)}var K9={keyword:new Y0.Name("keyword"),schemaPath:new Y0.Name("schemaPath"),params:new Y0.Name("params"),propertyName:new Y0.Name("propertyName"),message:new Y0.Name("message"),schema:new Y0.Name("schema"),parentSchema:new Y0.Name("parentSchema")};function Sz(Q,Y,X){let{createErrors:W}=Q.it;if(W===!1)return Y0._`{}`;return FP(Q,Y,X)}function FP(Q,Y,X={}){let{gen:W,it:$}=Q,J=[AP($,X),DP(Q,X)];return LP(Q,Y,J),W.object(...J)}function AP({errorPath:Q},{instancePath:Y}){let X=Y?Y0.str`${Q}${(0,qY.getErrorPath)(Y,qY.Type.Str)}`:Q;return[d0.default.instancePath,(0,Y0.strConcat)(d0.default.instancePath,X)]}function DP({keyword:Q,it:{errSchemaPath:Y}},{schemaPath:X,parentSchema:W}){let $=W?Y:Y0.str`${Y}/${Q}`;if(X)$=Y0.str`${$}${(0,qY.getErrorPath)(X,qY.Type.Str)}`;return[K9.schemaPath,$]}function LP(Q,{params:Y,message:X},W){let{keyword:$,data:J,schemaValue:G,it:H}=Q,{opts:B,propertyName:z,topSchemaRef:K,schemaPath:V}=H;if(W.push([K9.keyword,$],[K9.params,typeof Y=="function"?Y(Q):Y||Y0._`{}`]),B.messages)W.push([K9.message,typeof X=="function"?X(Q):X]);if(B.verbose)W.push([K9.schema,G],[K9.parentSchema,Y0._`${K}${V}`],[d0.default.data,J]);if(z)W.push([K9.propertyName,z])}});var vz=w((kz)=>{Object.defineProperty(kz,"__esModule",{value:!0});kz.boolOrEmptySchema=kz.topBoolOrEmptySchema=void 0;var NP=D4(),qP=r(),MP=J6(),bP={message:"boolean schema is false"};function ZP(Q){let{gen:Y,schema:X,validateName:W}=Q;if(X===!1)Cz(Q,!1);else if(typeof X=="object"&&X.$async===!0)Y.return(MP.default.data);else Y.assign(qP._`${W}.errors`,null),Y.return(!0)}kz.topBoolOrEmptySchema=ZP;function PP(Q,Y){let{gen:X,schema:W}=Q;if(W===!1)X.var(Y,!1),Cz(Q);else X.var(Y,!0)}kz.boolOrEmptySchema=PP;function Cz(Q,Y){let{gen:X,data:W}=Q,$={gen:X,keyword:"false schema",data:W,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:Q};(0,NP.reportError)($,bP,void 0,Y)}});var G$=w((xz)=>{Object.defineProperty(xz,"__esModule",{value:!0});xz.getRules=xz.isJSONType=void 0;var EP=["string","number","integer","boolean","null","object","array"],SP=new Set(EP);function IP(Q){return typeof Q=="string"&&SP.has(Q)}xz.isJSONType=IP;function TP(){let Q={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...Q,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},Q.number,Q.string,Q.array,Q.object],post:{rules:[]},all:{},keywords:{}}}xz.getRules=TP});var H$=w((gz)=>{Object.defineProperty(gz,"__esModule",{value:!0});gz.shouldUseRule=gz.shouldUseGroup=gz.schemaHasRulesForType=void 0;function kP({schema:Q,self:Y},X){let W=Y.RULES.types[X];return W&&W!==!0&&fz(Q,W)}gz.schemaHasRulesForType=kP;function fz(Q,Y){return Y.rules.some((X)=>hz(Q,X))}gz.shouldUseGroup=fz;function hz(Q,Y){var X;return Q[Y.keyword]!==void 0||((X=Y.definition.implements)===null||X===void 0?void 0:X.some((W)=>Q[W]!==void 0))}gz.shouldUseRule=hz});var L4=w((pz)=>{Object.defineProperty(pz,"__esModule",{value:!0});pz.reportTypeError=pz.checkDataTypes=pz.checkDataType=pz.coerceAndCheckDataType=pz.getJSONTypes=pz.getSchemaTypes=pz.DataType=void 0;var xP=G$(),yP=H$(),fP=D4(),d=r(),lz=W0(),Q8;(function(Q){Q[Q.Correct=0]="Correct",Q[Q.Wrong=1]="Wrong"})(Q8||(pz.DataType=Q8={}));function hP(Q){let Y=mz(Q.type);if(Y.includes("null")){if(Q.nullable===!1)throw Error("type: null contradicts nullable: false")}else{if(!Y.length&&Q.nullable!==void 0)throw Error('"nullable" cannot be used without "type"');if(Q.nullable===!0)Y.push("null")}return Y}pz.getSchemaTypes=hP;function mz(Q){let Y=Array.isArray(Q)?Q:Q?[Q]:[];if(Y.every(xP.isJSONType))return Y;throw Error("type must be JSONType or JSONType[]: "+Y.join(","))}pz.getJSONTypes=mz;function gP(Q,Y){let{gen:X,data:W,opts:$}=Q,J=uP(Y,$.coerceTypes),G=Y.length>0&&!(J.length===0&&Y.length===1&&(0,yP.schemaHasRulesForType)(Q,Y[0]));if(G){let H=z$(Y,W,$.strictNumbers,Q8.Wrong);X.if(H,()=>{if(J.length)lP(Q,Y,J);else K$(Q)})}return G}pz.coerceAndCheckDataType=gP;var cz=new Set(["string","number","integer","boolean","null"]);function uP(Q,Y){return Y?Q.filter((X)=>cz.has(X)||Y==="array"&&X==="array"):[]}function lP(Q,Y,X){let{gen:W,data:$,opts:J}=Q,G=W.let("dataType",d._`typeof ${$}`),H=W.let("coerced",d._`undefined`);if(J.coerceTypes==="array")W.if(d._`${G} == 'object' && Array.isArray(${$}) && ${$}.length == 1`,()=>W.assign($,d._`${$}[0]`).assign(G,d._`typeof ${$}`).if(z$(Y,$,J.strictNumbers),()=>W.assign(H,$)));W.if(d._`${H} !== undefined`);for(let z of X)if(cz.has(z)||z==="array"&&J.coerceTypes==="array")B(z);W.else(),K$(Q),W.endIf(),W.if(d._`${H} !== undefined`,()=>{W.assign($,H),mP(Q,H)});function B(z){switch(z){case"string":W.elseIf(d._`${G} == "number" || ${G} == "boolean"`).assign(H,d._`"" + ${$}`).elseIf(d._`${$} === null`).assign(H,d._`""`);return;case"number":W.elseIf(d._`${G} == "boolean" || ${$} === null
4
4
  || (${G} == "string" && ${$} && ${$} == +${$})`).assign(H,d._`+${$}`);return;case"integer":W.elseIf(d._`${G} === "boolean" || ${$} === null
5
5
  || (${G} === "string" && ${$} && ${$} == +${$} && !(${$} % 1))`).assign(H,d._`+${$}`);return;case"boolean":W.elseIf(d._`${$} === "false" || ${$} === 0 || ${$} === null`).assign(H,!1).elseIf(d._`${$} === "true" || ${$} === 1`).assign(H,!0);return;case"null":W.elseIf(d._`${$} === "" || ${$} === 0 || ${$} === false`),W.assign(H,null);return;case"array":W.elseIf(d._`${G} === "string" || ${G} === "number"
6
- || ${G} === "boolean" || ${$} === null`).assign(H,d._`[${$}]`)}}}function NZ({gen:Q,parentData:X,parentDataProperty:Y},W){Q.if(d._`${X} !== undefined`,()=>Q.assign(d._`${X}[${Y}]`,W))}function Q$(Q,X,Y,W=a9.Correct){let $=W===a9.Correct?d.operators.EQ:d.operators.NEQ,J;switch(Q){case"null":return d._`${X} ${$} null`;case"array":J=d._`Array.isArray(${X})`;break;case"object":J=d._`${X} && typeof ${X} == "object" && !Array.isArray(${X})`;break;case"integer":J=G(d._`!(${X} % 1) && !isNaN(${X})`);break;case"number":J=G();break;default:return d._`typeof ${X} ${$} ${Q}`}return W===a9.Correct?J:(0,d.not)(J);function G(H=d.nil){return(0,d.and)(d._`typeof ${X} == "number"`,H,Y?d._`isFinite(${X})`:d.nil)}}Tz.checkDataType=Q$;function X$(Q,X,Y,W){if(Q.length===1)return Q$(Q[0],X,Y,W);let $,J=(0,Ez.toHash)(Q);if(J.array&&J.object){let G=d._`typeof ${X} != "object"`;$=J.null?G:d._`!${X} || ${G}`,delete J.null,delete J.array,delete J.object}else $=d.nil;if(J.number)delete J.integer;for(let G in J)$=(0,d.and)($,Q$(G,X,Y,W));return $}Tz.checkDataTypes=X$;var qZ={message:({schema:Q})=>`must be ${Q}`,params:({schema:Q,schemaValue:X})=>typeof Q=="string"?d._`{type: ${Q}}`:d._`{type: ${X}}`};function Y$(Q){let X=wZ(Q);(0,DZ.reportError)(X,qZ)}Tz.reportTypeError=Y$;function wZ(Q){let{gen:X,data:Y,schema:W}=Q,$=(0,Ez.schemaRefOrVal)(Q,W,"type");return{gen:X,keyword:"type",data:Y,schema:W.type,schemaCode:$,schemaValue:$,parentSchema:W,params:{},it:Q}}});var xz=N((vz)=>{Object.defineProperty(vz,"__esModule",{value:!0});vz.assignDefaults=void 0;var s9=r(),SZ=W0();function IZ(Q,X){let{properties:Y,items:W}=Q.schema;if(X==="object"&&Y)for(let $ in Y)kz(Q,$,Y[$].default);else if(X==="array"&&Array.isArray(W))W.forEach(($,J)=>kz(Q,J,$.default))}vz.assignDefaults=IZ;function kz(Q,X,Y){let{gen:W,compositeRule:$,data:J,opts:G}=Q;if(Y===void 0)return;let H=s9._`${J}${(0,s9.getProperty)(X)}`;if($){(0,SZ.checkStrictMode)(Q,`default is ignored for: ${H}`);return}let B=s9._`${H} === undefined`;if(G.useDefaults==="empty")B=s9._`${B} || ${H} === null || ${H} === ""`;W.if(B,s9._`${H} = ${(0,s9.stringify)(Y)}`)}});var F1=N((gz)=>{Object.defineProperty(gz,"__esModule",{value:!0});gz.validateUnion=gz.validateArray=gz.usePattern=gz.callValidateCode=gz.schemaProperties=gz.allSchemaProperties=gz.noPropertyInData=gz.propertyInData=gz.isOwnProperty=gz.hasPropFunc=gz.reportMissingProp=gz.checkMissingProp=gz.checkReportMissingProp=void 0;var O0=r(),W$=W0(),S6=J6(),TZ=W0();function CZ(Q,X){let{gen:Y,data:W,it:$}=Q;Y.if(J$(Y,W,X,$.opts.ownProperties),()=>{Q.setParams({missingProperty:O0._`${X}`},!0),Q.error()})}gz.checkReportMissingProp=CZ;function kZ({gen:Q,data:X,it:{opts:Y}},W,$){return(0,O0.or)(...W.map((J)=>(0,O0.and)(J$(Q,X,J,Y.ownProperties),O0._`${$} = ${J}`)))}gz.checkMissingProp=kZ;function vZ(Q,X){Q.setParams({missingProperty:X},!0),Q.error()}gz.reportMissingProp=vZ;function yz(Q){return Q.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:O0._`Object.prototype.hasOwnProperty`})}gz.hasPropFunc=yz;function $$(Q,X,Y){return O0._`${yz(Q)}.call(${X}, ${Y})`}gz.isOwnProperty=$$;function _Z(Q,X,Y,W){let $=O0._`${X}${(0,O0.getProperty)(Y)} !== undefined`;return W?O0._`${$} && ${$$(Q,X,Y)}`:$}gz.propertyInData=_Z;function J$(Q,X,Y,W){let $=O0._`${X}${(0,O0.getProperty)(Y)} === undefined`;return W?(0,O0.or)($,(0,O0.not)($$(Q,X,Y))):$}gz.noPropertyInData=J$;function fz(Q){return Q?Object.keys(Q).filter((X)=>X!=="__proto__"):[]}gz.allSchemaProperties=fz;function xZ(Q,X){return fz(X).filter((Y)=>!(0,W$.alwaysValidSchema)(Q,X[Y]))}gz.schemaProperties=xZ;function yZ({schemaCode:Q,data:X,it:{gen:Y,topSchemaRef:W,schemaPath:$,errorPath:J},it:G},H,B,z){let K=z?O0._`${Q}, ${X}, ${W}${$}`:X,V=[[S6.default.instancePath,(0,O0.strConcat)(S6.default.instancePath,J)],[S6.default.parentData,G.parentData],[S6.default.parentDataProperty,G.parentDataProperty],[S6.default.rootData,S6.default.rootData]];if(G.opts.dynamicRef)V.push([S6.default.dynamicAnchors,S6.default.dynamicAnchors]);let A=O0._`${K}, ${Y.object(...V)}`;return B!==O0.nil?O0._`${H}.call(${B}, ${A})`:O0._`${H}(${A})`}gz.callValidateCode=yZ;var fZ=O0._`new RegExp`;function gZ({gen:Q,it:{opts:X}},Y){let W=X.unicodeRegExp?"u":"",{regExp:$}=X.code,J=$(Y,W);return Q.scopeValue("pattern",{key:J.toString(),ref:J,code:O0._`${$.code==="new RegExp"?fZ:(0,TZ.useFunc)(Q,$)}(${Y}, ${W})`})}gz.usePattern=gZ;function hZ(Q){let{gen:X,data:Y,keyword:W,it:$}=Q,J=X.name("valid");if($.allErrors){let H=X.let("valid",!0);return G(()=>X.assign(H,!1)),H}return X.var(J,!0),G(()=>X.break()),J;function G(H){let B=X.const("len",O0._`${Y}.length`);X.forRange("i",0,B,(z)=>{Q.subschema({keyword:W,dataProp:z,dataPropType:W$.Type.Num},J),X.if((0,O0.not)(J),H)})}}gz.validateArray=hZ;function uZ(Q){let{gen:X,schema:Y,keyword:W,it:$}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");if(Y.some((B)=>(0,W$.alwaysValidSchema)($,B))&&!$.opts.unevaluated)return;let G=X.let("valid",!1),H=X.name("_valid");X.block(()=>Y.forEach((B,z)=>{let K=Q.subschema({keyword:W,schemaProp:z,compositeRule:!0},H);if(X.assign(G,O0._`${G} || ${H}`),!Q.mergeValidEvaluated(K,H))X.if((0,O0.not)(G))})),Q.result(G,()=>Q.reset(),()=>Q.error(!0))}gz.validateUnion=uZ});var pz=N((mz)=>{Object.defineProperty(mz,"__esModule",{value:!0});mz.validateKeywordUsage=mz.validSchemaType=mz.funcKeywordCode=mz.macroKeywordCode=void 0;var i0=r(),B9=J6(),eZ=F1(),QR=K4();function XR(Q,X){let{gen:Y,keyword:W,schema:$,parentSchema:J,it:G}=Q,H=X.macro.call(G.self,$,J,G),B=lz(Y,W,H);if(G.opts.validateSchema!==!1)G.self.validateSchema(H,!0);let z=Y.name("valid");Q.subschema({schema:H,schemaPath:i0.nil,errSchemaPath:`${G.errSchemaPath}/${W}`,topSchemaRef:B,compositeRule:!0},z),Q.pass(z,()=>Q.error(!0))}mz.macroKeywordCode=XR;function YR(Q,X){var Y;let{gen:W,keyword:$,schema:J,parentSchema:G,$data:H,it:B}=Q;$R(B,X);let z=!H&&X.compile?X.compile.call(B.self,J,G,B):X.validate,K=lz(W,$,z),V=W.let("valid");Q.block$data(V,A),Q.ok((Y=X.valid)!==null&&Y!==void 0?Y:V);function A(){if(X.errors===!1){if(D(),X.modifying)uz(Q);O(()=>Q.error())}else{let U=X.async?F():L();if(X.modifying)uz(Q);O(()=>WR(Q,U))}}function F(){let U=W.let("ruleErrs",null);return W.try(()=>D(i0._`await `),(w)=>W.assign(V,!1).if(i0._`${w} instanceof ${B.ValidationError}`,()=>W.assign(U,i0._`${w}.errors`),()=>W.throw(w))),U}function L(){let U=i0._`${K}.errors`;return W.assign(U,null),D(i0.nil),U}function D(U=X.async?i0._`await `:i0.nil){let w=B.opts.passContext?B9.default.this:B9.default.self,M=!(("compile"in X)&&!H||X.schema===!1);W.assign(V,i0._`${U}${(0,eZ.callValidateCode)(Q,K,w,M)}`,X.modifying)}function O(U){var w;W.if((0,i0.not)((w=X.valid)!==null&&w!==void 0?w:V),U)}}mz.funcKeywordCode=YR;function uz(Q){let{gen:X,data:Y,it:W}=Q;X.if(W.parentData,()=>X.assign(Y,i0._`${W.parentData}[${W.parentDataProperty}]`))}function WR(Q,X){let{gen:Y}=Q;Y.if(i0._`Array.isArray(${X})`,()=>{Y.assign(B9.default.vErrors,i0._`${B9.default.vErrors} === null ? ${X} : ${B9.default.vErrors}.concat(${X})`).assign(B9.default.errors,i0._`${B9.default.vErrors}.length`),(0,QR.extendErrors)(Q)},()=>Q.error())}function $R({schemaEnv:Q},X){if(X.async&&!Q.$async)throw Error("async keyword in sync schema")}function lz(Q,X,Y){if(Y===void 0)throw Error(`keyword "${X}" failed to compile`);return Q.scopeValue("keyword",typeof Y=="function"?{ref:Y}:{ref:Y,code:(0,i0.stringify)(Y)})}function JR(Q,X,Y=!1){return!X.length||X.some((W)=>W==="array"?Array.isArray(Q):W==="object"?Q&&typeof Q=="object"&&!Array.isArray(Q):typeof Q==W||Y&&typeof Q>"u")}mz.validSchemaType=JR;function GR({schema:Q,opts:X,self:Y,errSchemaPath:W},$,J){if(Array.isArray($.keyword)?!$.keyword.includes(J):$.keyword!==J)throw Error("ajv implementation error");let G=$.dependencies;if(G===null||G===void 0?void 0:G.some((H)=>!Object.prototype.hasOwnProperty.call(Q,H)))throw Error(`parent schema must have dependencies of ${J}: ${G.join(",")}`);if($.validateSchema){if(!$.validateSchema(Q[J])){let B=`keyword "${J}" value is invalid at path "${W}": `+Y.errorsText($.validateSchema.errors);if(X.validateSchema==="log")Y.logger.error(B);else throw Error(B)}}}mz.validateKeywordUsage=GR});var oz=N((iz)=>{Object.defineProperty(iz,"__esModule",{value:!0});iz.extendSubschemaMode=iz.extendSubschemaData=iz.getSubschema=void 0;var d1=r(),dz=W0();function KR(Q,{keyword:X,schemaProp:Y,schema:W,schemaPath:$,errSchemaPath:J,topSchemaRef:G}){if(X!==void 0&&W!==void 0)throw Error('both "keyword" and "schema" passed, only one allowed');if(X!==void 0){let H=Q.schema[X];return Y===void 0?{schema:H,schemaPath:d1._`${Q.schemaPath}${(0,d1.getProperty)(X)}`,errSchemaPath:`${Q.errSchemaPath}/${X}`}:{schema:H[Y],schemaPath:d1._`${Q.schemaPath}${(0,d1.getProperty)(X)}${(0,d1.getProperty)(Y)}`,errSchemaPath:`${Q.errSchemaPath}/${X}/${(0,dz.escapeFragment)(Y)}`}}if(W!==void 0){if($===void 0||J===void 0||G===void 0)throw Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:W,schemaPath:$,topSchemaRef:G,errSchemaPath:J}}throw Error('either "keyword" or "schema" must be passed')}iz.getSubschema=KR;function VR(Q,X,{dataProp:Y,dataPropType:W,data:$,dataTypes:J,propertyName:G}){if($!==void 0&&Y!==void 0)throw Error('both "data" and "dataProp" passed, only one allowed');let{gen:H}=X;if(Y!==void 0){let{errorPath:z,dataPathArr:K,opts:V}=X,A=H.let("data",d1._`${X.data}${(0,d1.getProperty)(Y)}`,!0);B(A),Q.errorPath=d1.str`${z}${(0,dz.getErrorPath)(Y,W,V.jsPropertySyntax)}`,Q.parentDataProperty=d1._`${Y}`,Q.dataPathArr=[...K,Q.parentDataProperty]}if($!==void 0){let z=$ instanceof d1.Name?$:H.let("data",$,!0);if(B(z),G!==void 0)Q.propertyName=G}if(J)Q.dataTypes=J;function B(z){Q.data=z,Q.dataLevel=X.dataLevel+1,Q.dataTypes=[],X.definedProperties=new Set,Q.parentData=X.data,Q.dataNames=[...X.dataNames,z]}}iz.extendSubschemaData=VR;function AR(Q,{jtdDiscriminator:X,jtdMetadata:Y,compositeRule:W,createErrors:$,allErrors:J}){if(W!==void 0)Q.compositeRule=W;if($!==void 0)Q.createErrors=$;if(J!==void 0)Q.allErrors=J;Q.jtdDiscriminator=X,Q.jtdMetadata=Y}iz.extendSubschemaMode=AR});var A4=N((Cd,rz)=>{rz.exports=function Q(X,Y){if(X===Y)return!0;if(X&&Y&&typeof X=="object"&&typeof Y=="object"){if(X.constructor!==Y.constructor)return!1;var W,$,J;if(Array.isArray(X)){if(W=X.length,W!=Y.length)return!1;for($=W;$--!==0;)if(!Q(X[$],Y[$]))return!1;return!0}if(X.constructor===RegExp)return X.source===Y.source&&X.flags===Y.flags;if(X.valueOf!==Object.prototype.valueOf)return X.valueOf()===Y.valueOf();if(X.toString!==Object.prototype.toString)return X.toString()===Y.toString();if(J=Object.keys(X),W=J.length,W!==Object.keys(Y).length)return!1;for($=W;$--!==0;)if(!Object.prototype.hasOwnProperty.call(Y,J[$]))return!1;for($=W;$--!==0;){var G=J[$];if(!Q(X[G],Y[G]))return!1}return!0}return X!==X&&Y!==Y}});var az=N((kd,tz)=>{var I6=tz.exports=function(Q,X,Y){if(typeof X=="function")Y=X,X={};Y=X.cb||Y;var W=typeof Y=="function"?Y:Y.pre||function(){},$=Y.post||function(){};jX(X,W,$,Q,"",Q)};I6.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};I6.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};I6.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};I6.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 jX(Q,X,Y,W,$,J,G,H,B,z){if(W&&typeof W=="object"&&!Array.isArray(W)){X(W,$,J,G,H,B,z);for(var K in W){var V=W[K];if(Array.isArray(V)){if(K in I6.arrayKeywords)for(var A=0;A<V.length;A++)jX(Q,X,Y,V[A],$+"/"+K+"/"+A,J,$,K,W,A)}else if(K in I6.propsKeywords){if(V&&typeof V=="object")for(var F in V)jX(Q,X,Y,V[F],$+"/"+K+"/"+LR(F),J,$,K,W,F)}else if(K in I6.keywords||Q.allKeys&&!(K in I6.skipKeywords))jX(Q,X,Y,V,$+"/"+K,J,$,K,W)}Y(W,$,J,G,H,B,z)}}function LR(Q){return Q.replace(/~/g,"~0").replace(/\//g,"~1")}});var F4=N((XK)=>{Object.defineProperty(XK,"__esModule",{value:!0});XK.getSchemaRefs=XK.resolveUrl=XK.normalizeId=XK._getFullPath=XK.getFullPath=XK.inlineRef=void 0;var OR=W0(),UR=A4(),jR=az(),NR=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function qR(Q,X=!0){if(typeof Q=="boolean")return!0;if(X===!0)return!G$(Q);if(!X)return!1;return sz(Q)<=X}XK.inlineRef=qR;var wR=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function G$(Q){for(let X in Q){if(wR.has(X))return!0;let Y=Q[X];if(Array.isArray(Y)&&Y.some(G$))return!0;if(typeof Y=="object"&&G$(Y))return!0}return!1}function sz(Q){let X=0;for(let Y in Q){if(Y==="$ref")return 1/0;if(X++,NR.has(Y))continue;if(typeof Q[Y]=="object")(0,OR.eachItem)(Q[Y],(W)=>X+=sz(W));if(X===1/0)return 1/0}return X}function ez(Q,X="",Y){if(Y!==!1)X=e9(X);let W=Q.parse(X);return QK(Q,W)}XK.getFullPath=ez;function QK(Q,X){return Q.serialize(X).split("#")[0]+"#"}XK._getFullPath=QK;var MR=/#\/?$/;function e9(Q){return Q?Q.replace(MR,""):""}XK.normalizeId=e9;function bR(Q,X,Y){return Y=e9(Y),Q.resolve(X,Y)}XK.resolveUrl=bR;var PR=/^[a-z_][-a-z0-9._]*$/i;function ZR(Q,X){if(typeof Q=="boolean")return{};let{schemaId:Y,uriResolver:W}=this.opts,$=e9(Q[Y]||X),J={"":$},G=ez(W,$,!1),H={},B=new Set;return jR(Q,{allKeys:!0},(V,A,F,L)=>{if(L===void 0)return;let D=G+A,O=J[L];if(typeof V[Y]=="string")O=U.call(this,V[Y]);w.call(this,V.$anchor),w.call(this,V.$dynamicAnchor),J[A]=O;function U(M){let S=this.opts.uriResolver.resolve;if(M=e9(O?S(O,M):M),B.has(M))throw K(M);B.add(M);let Z=this.refs[M];if(typeof Z=="string")Z=this.refs[Z];if(typeof Z=="object")z(V,Z.schema,M);else if(M!==e9(D))if(M[0]==="#")z(V,H[M],M),H[M]=V;else this.refs[M]=D;return M}function w(M){if(typeof M=="string"){if(!PR.test(M))throw Error(`invalid anchor "${M}"`);U.call(this,`#${M}`)}}}),H;function z(V,A,F){if(A!==void 0&&!UR(V,A))throw K(F)}function K(V){return Error(`reference "${V}" resolves to more than one schema`)}}XK.getSchemaRefs=ZR});var O4=N((UK)=>{Object.defineProperty(UK,"__esModule",{value:!0});UK.getData=UK.KeywordCxt=UK.validateFunctionCode=void 0;var HK=qz(),WK=V4(),B$=e5(),NX=V4(),CR=xz(),L4=pz(),H$=oz(),y=r(),m=J6(),kR=F4(),G6=W0(),D4=K4();function vR(Q){if(KK(Q)){if(VK(Q),zK(Q)){yR(Q);return}}BK(Q,()=>(0,HK.topBoolOrEmptySchema)(Q))}UK.validateFunctionCode=vR;function BK({gen:Q,validateName:X,schema:Y,schemaEnv:W,opts:$},J){if($.code.es5)Q.func(X,y._`${m.default.data}, ${m.default.valCxt}`,W.$async,()=>{Q.code(y._`"use strict"; ${$K(Y,$)}`),xR(Q,$),Q.code(J)});else Q.func(X,y._`${m.default.data}, ${_R($)}`,W.$async,()=>Q.code($K(Y,$)).code(J))}function _R(Q){return y._`{${m.default.instancePath}="", ${m.default.parentData}, ${m.default.parentDataProperty}, ${m.default.rootData}=${m.default.data}${Q.dynamicRef?y._`, ${m.default.dynamicAnchors}={}`:y.nil}}={}`}function xR(Q,X){Q.if(m.default.valCxt,()=>{if(Q.var(m.default.instancePath,y._`${m.default.valCxt}.${m.default.instancePath}`),Q.var(m.default.parentData,y._`${m.default.valCxt}.${m.default.parentData}`),Q.var(m.default.parentDataProperty,y._`${m.default.valCxt}.${m.default.parentDataProperty}`),Q.var(m.default.rootData,y._`${m.default.valCxt}.${m.default.rootData}`),X.dynamicRef)Q.var(m.default.dynamicAnchors,y._`${m.default.valCxt}.${m.default.dynamicAnchors}`)},()=>{if(Q.var(m.default.instancePath,y._`""`),Q.var(m.default.parentData,y._`undefined`),Q.var(m.default.parentDataProperty,y._`undefined`),Q.var(m.default.rootData,m.default.data),X.dynamicRef)Q.var(m.default.dynamicAnchors,y._`{}`)})}function yR(Q){let{schema:X,opts:Y,gen:W}=Q;BK(Q,()=>{if(Y.$comment&&X.$comment)FK(Q);if(lR(Q),W.let(m.default.vErrors,null),W.let(m.default.errors,0),Y.unevaluated)fR(Q);AK(Q),pR(Q)});return}function fR(Q){let{gen:X,validateName:Y}=Q;Q.evaluated=X.const("evaluated",y._`${Y}.evaluated`),X.if(y._`${Q.evaluated}.dynamicProps`,()=>X.assign(y._`${Q.evaluated}.props`,y._`undefined`)),X.if(y._`${Q.evaluated}.dynamicItems`,()=>X.assign(y._`${Q.evaluated}.items`,y._`undefined`))}function $K(Q,X){let Y=typeof Q=="object"&&Q[X.schemaId];return Y&&(X.code.source||X.code.process)?y._`/*# sourceURL=${Y} */`:y.nil}function gR(Q,X){if(KK(Q)){if(VK(Q),zK(Q)){hR(Q,X);return}}(0,HK.boolOrEmptySchema)(Q,X)}function zK({schema:Q,self:X}){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(X.RULES.all[Y])return!0;return!1}function KK(Q){return typeof Q.schema!="boolean"}function hR(Q,X){let{schema:Y,gen:W,opts:$}=Q;if($.$comment&&Y.$comment)FK(Q);mR(Q),cR(Q);let J=W.const("_errs",m.default.errors);AK(Q,J),W.var(X,y._`${J} === ${m.default.errors}`)}function VK(Q){(0,G6.checkUnknownRules)(Q),uR(Q)}function AK(Q,X){if(Q.opts.jtd)return JK(Q,[],!1,X);let Y=(0,WK.getSchemaTypes)(Q.schema),W=(0,WK.coerceAndCheckDataType)(Q,Y);JK(Q,Y,!W,X)}function uR(Q){let{schema:X,errSchemaPath:Y,opts:W,self:$}=Q;if(X.$ref&&W.ignoreKeywordsWithRef&&(0,G6.schemaHasRulesButRef)(X,$.RULES))$.logger.warn(`$ref: keywords ignored in schema at path "${Y}"`)}function lR(Q){let{schema:X,opts:Y}=Q;if(X.default!==void 0&&Y.useDefaults&&Y.strictSchema)(0,G6.checkStrictMode)(Q,"default is ignored in the schema root")}function mR(Q){let X=Q.schema[Q.opts.schemaId];if(X)Q.baseId=(0,kR.resolveUrl)(Q.opts.uriResolver,Q.baseId,X)}function cR(Q){if(Q.schema.$async&&!Q.schemaEnv.$async)throw Error("async schema in sync schema")}function FK({gen:Q,schemaEnv:X,schema:Y,errSchemaPath:W,opts:$}){let J=Y.$comment;if($.$comment===!0)Q.code(y._`${m.default.self}.logger.log(${J})`);else if(typeof $.$comment=="function"){let G=y.str`${W}/$comment`,H=Q.scopeValue("root",{ref:X.root});Q.code(y._`${m.default.self}.opts.$comment(${J}, ${G}, ${H}.schema)`)}}function pR(Q){let{gen:X,schemaEnv:Y,validateName:W,ValidationError:$,opts:J}=Q;if(Y.$async)X.if(y._`${m.default.errors} === 0`,()=>X.return(m.default.data),()=>X.throw(y._`new ${$}(${m.default.vErrors})`));else{if(X.assign(y._`${W}.errors`,m.default.vErrors),J.unevaluated)dR(Q);X.return(y._`${m.default.errors} === 0`)}}function dR({gen:Q,evaluated:X,props:Y,items:W}){if(Y instanceof y.Name)Q.assign(y._`${X}.props`,Y);if(W instanceof y.Name)Q.assign(y._`${X}.items`,W)}function JK(Q,X,Y,W){let{gen:$,schema:J,data:G,allErrors:H,opts:B,self:z}=Q,{RULES:K}=z;if(J.$ref&&(B.ignoreKeywordsWithRef||!(0,G6.schemaHasRulesButRef)(J,K))){$.block(()=>LK(Q,"$ref",K.all.$ref.definition));return}if(!B.jtd)iR(Q,X);$.block(()=>{for(let A of K.rules)V(A);V(K.post)});function V(A){if(!(0,B$.shouldUseGroup)(J,A))return;if(A.type){if($.if((0,NX.checkDataType)(A.type,G,B.strictNumbers)),GK(Q,A),X.length===1&&X[0]===A.type&&Y)$.else(),(0,NX.reportTypeError)(Q);$.endIf()}else GK(Q,A);if(!H)$.if(y._`${m.default.errors} === ${W||0}`)}}function GK(Q,X){let{gen:Y,schema:W,opts:{useDefaults:$}}=Q;if($)(0,CR.assignDefaults)(Q,X.type);Y.block(()=>{for(let J of X.rules)if((0,B$.shouldUseRule)(W,J))LK(Q,J.keyword,J.definition,X.type)})}function iR(Q,X){if(Q.schemaEnv.meta||!Q.opts.strictTypes)return;if(nR(Q,X),!Q.opts.allowUnionTypes)oR(Q,X);rR(Q,Q.dataTypes)}function nR(Q,X){if(!X.length)return;if(!Q.dataTypes.length){Q.dataTypes=X;return}X.forEach((Y)=>{if(!DK(Q.dataTypes,Y))z$(Q,`type "${Y}" not allowed by context "${Q.dataTypes.join(",")}"`)}),aR(Q,X)}function oR(Q,X){if(X.length>1&&!(X.length===2&&X.includes("null")))z$(Q,"use allowUnionTypes to allow union type keyword")}function rR(Q,X){let Y=Q.self.RULES.all;for(let W in Y){let $=Y[W];if(typeof $=="object"&&(0,B$.shouldUseRule)(Q.schema,$)){let{type:J}=$.definition;if(J.length&&!J.some((G)=>tR(X,G)))z$(Q,`missing type "${J.join(",")}" for keyword "${W}"`)}}}function tR(Q,X){return Q.includes(X)||X==="number"&&Q.includes("integer")}function DK(Q,X){return Q.includes(X)||X==="integer"&&Q.includes("number")}function aR(Q,X){let Y=[];for(let W of Q.dataTypes)if(DK(X,W))Y.push(W);else if(X.includes("integer")&&W==="number")Y.push("integer");Q.dataTypes=Y}function z$(Q,X){let Y=Q.schemaEnv.baseId+Q.errSchemaPath;X+=` at "${Y}" (strictTypes)`,(0,G6.checkStrictMode)(Q,X,Q.opts.strictTypes)}class K${constructor(Q,X,Y){if((0,L4.validateKeywordUsage)(Q,X,Y),this.gen=Q.gen,this.allErrors=Q.allErrors,this.keyword=Y,this.data=Q.data,this.schema=Q.schema[Y],this.$data=X.$data&&Q.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,G6.schemaRefOrVal)(Q,this.schema,Y,this.$data),this.schemaType=X.schemaType,this.parentSchema=Q.schema,this.params={},this.it=Q,this.def=X,this.$data)this.schemaCode=Q.gen.const("vSchema",OK(this.$data,Q));else if(this.schemaCode=this.schemaValue,!(0,L4.validSchemaType)(this.schema,X.schemaType,X.allowUndefined))throw Error(`${Y} value must be ${JSON.stringify(X.schemaType)}`);if("code"in X?X.trackErrors:X.errors!==!1)this.errsCount=Q.gen.const("_errs",m.default.errors)}result(Q,X,Y){this.failResult((0,y.not)(Q),X,Y)}failResult(Q,X,Y){if(this.gen.if(Q),Y)Y();else this.error();if(X){if(this.gen.else(),X(),this.allErrors)this.gen.endIf()}else if(this.allErrors)this.gen.endIf();else this.gen.else()}pass(Q,X){this.failResult((0,y.not)(Q),void 0,X)}fail(Q){if(Q===void 0){if(this.error(),!this.allErrors)this.gen.if(!1);return}if(this.gen.if(Q),this.error(),this.allErrors)this.gen.endIf();else this.gen.else()}fail$data(Q){if(!this.$data)return this.fail(Q);let{schemaCode:X}=this;this.fail(y._`${X} !== undefined && (${(0,y.or)(this.invalid$data(),Q)})`)}error(Q,X,Y){if(X){this.setParams(X),this._error(Q,Y),this.setParams({});return}this._error(Q,Y)}_error(Q,X){(Q?D4.reportExtraError:D4.reportError)(this,this.def.error,X)}$dataError(){(0,D4.reportError)(this,this.def.$dataError||D4.keyword$DataError)}reset(){if(this.errsCount===void 0)throw Error('add "trackErrors" to keyword definition');(0,D4.resetErrorsCount)(this.gen,this.errsCount)}ok(Q){if(!this.allErrors)this.gen.if(Q)}setParams(Q,X){if(X)Object.assign(this.params,Q);else this.params=Q}block$data(Q,X,Y=y.nil){this.gen.block(()=>{this.check$data(Q,Y),X()})}check$data(Q=y.nil,X=y.nil){if(!this.$data)return;let{gen:Y,schemaCode:W,schemaType:$,def:J}=this;if(Y.if((0,y.or)(y._`${W} === undefined`,X)),Q!==y.nil)Y.assign(Q,!0);if($.length||J.validateSchema){if(Y.elseIf(this.invalid$data()),this.$dataError(),Q!==y.nil)Y.assign(Q,!1)}Y.else()}invalid$data(){let{gen:Q,schemaCode:X,schemaType:Y,def:W,it:$}=this;return(0,y.or)(J(),G());function J(){if(Y.length){if(!(X instanceof y.Name))throw Error("ajv implementation error");let H=Array.isArray(Y)?Y:[Y];return y._`${(0,NX.checkDataTypes)(H,X,$.opts.strictNumbers,NX.DataType.Wrong)}`}return y.nil}function G(){if(W.validateSchema){let H=Q.scopeValue("validate$data",{ref:W.validateSchema});return y._`!${H}(${X})`}return y.nil}}subschema(Q,X){let Y=(0,H$.getSubschema)(this.it,Q);(0,H$.extendSubschemaData)(Y,this.it,Q),(0,H$.extendSubschemaMode)(Y,Q);let W={...this.it,...Y,items:void 0,props:void 0};return gR(W,X),W}mergeEvaluated(Q,X){let{it:Y,gen:W}=this;if(!Y.opts.unevaluated)return;if(Y.props!==!0&&Q.props!==void 0)Y.props=G6.mergeEvaluated.props(W,Q.props,Y.props,X);if(Y.items!==!0&&Q.items!==void 0)Y.items=G6.mergeEvaluated.items(W,Q.items,Y.items,X)}mergeValidEvaluated(Q,X){let{it:Y,gen:W}=this;if(Y.opts.unevaluated&&(Y.props!==!0||Y.items!==!0))return W.if(X,()=>this.mergeEvaluated(Q,y.Name)),!0}}UK.KeywordCxt=K$;function LK(Q,X,Y,W){let $=new K$(Q,Y,X);if("code"in Y)Y.code($,W);else if($.$data&&Y.validate)(0,L4.funcKeywordCode)($,Y);else if("macro"in Y)(0,L4.macroKeywordCode)($,Y);else if(Y.compile||Y.validate)(0,L4.funcKeywordCode)($,Y)}var sR=/^\/(?:[^~]|~0|~1)*$/,eR=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function OK(Q,{dataLevel:X,dataNames:Y,dataPathArr:W}){let $,J;if(Q==="")return m.default.rootData;if(Q[0]==="/"){if(!sR.test(Q))throw Error(`Invalid JSON-pointer: ${Q}`);$=Q,J=m.default.rootData}else{let z=eR.exec(Q);if(!z)throw Error(`Invalid JSON-pointer: ${Q}`);let K=+z[1];if($=z[2],$==="#"){if(K>=X)throw Error(B("property/index",K));return W[X-K]}if(K>X)throw Error(B("data",K));if(J=Y[X-K],!$)return J}let G=J,H=$.split("/");for(let z of H)if(z)J=y._`${J}${(0,y.getProperty)((0,G6.unescapeJsonPointer)(z))}`,G=y._`${G} && ${J}`;return G;function B(z,K){return`Cannot access ${z} ${K} levels up, current level is ${X}`}}UK.getData=OK});var qX=N((qK)=>{Object.defineProperty(qK,"__esModule",{value:!0});class NK extends Error{constructor(Q){super("validation failed");this.errors=Q,this.ajv=this.validation=!0}}qK.default=NK});var U4=N((MK)=>{Object.defineProperty(MK,"__esModule",{value:!0});var V$=F4();class wK extends Error{constructor(Q,X,Y,W){super(W||`can't resolve reference ${Y} from id ${X}`);this.missingRef=(0,V$.resolveUrl)(Q,X,Y),this.missingSchema=(0,V$.normalizeId)((0,V$.getFullPath)(Q,this.missingRef))}}MK.default=wK});var MX=N((ZK)=>{Object.defineProperty(ZK,"__esModule",{value:!0});ZK.resolveSchema=ZK.getCompilingSchema=ZK.resolveRef=ZK.compileSchema=ZK.SchemaEnv=void 0;var I1=r(),$E=qX(),z9=J6(),T1=F4(),bK=W0(),JE=O4();class j4{constructor(Q){var X;this.refs={},this.dynamicAnchors={};let Y;if(typeof Q.schema=="object")Y=Q.schema;this.schema=Q.schema,this.schemaId=Q.schemaId,this.root=Q.root||this,this.baseId=(X=Q.baseId)!==null&&X!==void 0?X:(0,T1.normalizeId)(Y===null||Y===void 0?void 0:Y[Q.schemaId||"$id"]),this.schemaPath=Q.schemaPath,this.localRefs=Q.localRefs,this.meta=Q.meta,this.$async=Y===null||Y===void 0?void 0:Y.$async,this.refs={}}}ZK.SchemaEnv=j4;function F$(Q){let X=PK.call(this,Q);if(X)return X;let Y=(0,T1.getFullPath)(this.opts.uriResolver,Q.root.baseId),{es5:W,lines:$}=this.opts.code,{ownProperties:J}=this.opts,G=new I1.CodeGen(this.scope,{es5:W,lines:$,ownProperties:J}),H;if(Q.$async)H=G.scopeValue("Error",{ref:$E.default,code:I1._`require("ajv/dist/runtime/validation_error").default`});let B=G.scopeName("validate");Q.validateName=B;let z={gen:G,allErrors:this.opts.allErrors,data:z9.default.data,parentData:z9.default.parentData,parentDataProperty:z9.default.parentDataProperty,dataNames:[z9.default.data],dataPathArr:[I1.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:G.scopeValue("schema",this.opts.code.source===!0?{ref:Q.schema,code:(0,I1.stringify)(Q.schema)}:{ref:Q.schema}),validateName:B,ValidationError:H,schema:Q.schema,schemaEnv:Q,rootId:Y,baseId:Q.baseId||Y,schemaPath:I1.nil,errSchemaPath:Q.schemaPath||(this.opts.jtd?"":"#"),errorPath:I1._`""`,opts:this.opts,self:this},K;try{this._compilations.add(Q),(0,JE.validateFunctionCode)(z),G.optimize(this.opts.code.optimize);let V=G.toString();if(K=`${G.scopeRefs(z9.default.scope)}return ${V}`,this.opts.code.process)K=this.opts.code.process(K,Q);let F=Function(`${z9.default.self}`,`${z9.default.scope}`,K)(this,this.scope.get());if(this.scope.value(B,{ref:F}),F.errors=null,F.schema=Q.schema,F.schemaEnv=Q,Q.$async)F.$async=!0;if(this.opts.code.source===!0)F.source={validateName:B,validateCode:V,scopeValues:G._values};if(this.opts.unevaluated){let{props:L,items:D}=z;if(F.evaluated={props:L instanceof I1.Name?void 0:L,items:D instanceof I1.Name?void 0:D,dynamicProps:L instanceof I1.Name,dynamicItems:D instanceof I1.Name},F.source)F.source.evaluated=(0,I1.stringify)(F.evaluated)}return Q.validate=F,Q}catch(V){if(delete Q.validate,delete Q.validateName,K)this.logger.error("Error compiling schema, function code:",K);throw V}finally{this._compilations.delete(Q)}}ZK.compileSchema=F$;function GE(Q,X,Y){var W;Y=(0,T1.resolveUrl)(this.opts.uriResolver,X,Y);let $=Q.refs[Y];if($)return $;let J=zE.call(this,Q,Y);if(J===void 0){let G=(W=Q.localRefs)===null||W===void 0?void 0:W[Y],{schemaId:H}=this.opts;if(G)J=new j4({schema:G,schemaId:H,root:Q,baseId:X})}if(J===void 0)return;return Q.refs[Y]=HE.call(this,J)}ZK.resolveRef=GE;function HE(Q){if((0,T1.inlineRef)(Q.schema,this.opts.inlineRefs))return Q.schema;return Q.validate?Q:F$.call(this,Q)}function PK(Q){for(let X of this._compilations)if(BE(X,Q))return X}ZK.getCompilingSchema=PK;function BE(Q,X){return Q.schema===X.schema&&Q.root===X.root&&Q.baseId===X.baseId}function zE(Q,X){let Y;while(typeof(Y=this.refs[X])=="string")X=Y;return Y||this.schemas[X]||wX.call(this,Q,X)}function wX(Q,X){let Y=this.opts.uriResolver.parse(X),W=(0,T1._getFullPath)(this.opts.uriResolver,Y),$=(0,T1.getFullPath)(this.opts.uriResolver,Q.baseId,void 0);if(Object.keys(Q.schema).length>0&&W===$)return A$.call(this,Y,Q);let J=(0,T1.normalizeId)(W),G=this.refs[J]||this.schemas[J];if(typeof G=="string"){let H=wX.call(this,Q,G);if(typeof(H===null||H===void 0?void 0:H.schema)!=="object")return;return A$.call(this,Y,H)}if(typeof(G===null||G===void 0?void 0:G.schema)!=="object")return;if(!G.validate)F$.call(this,G);if(J===(0,T1.normalizeId)(X)){let{schema:H}=G,{schemaId:B}=this.opts,z=H[B];if(z)$=(0,T1.resolveUrl)(this.opts.uriResolver,$,z);return new j4({schema:H,schemaId:B,root:Q,baseId:$})}return A$.call(this,Y,G)}ZK.resolveSchema=wX;var KE=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function A$(Q,{baseId:X,schema:Y,root:W}){var $;if((($=Q.fragment)===null||$===void 0?void 0:$[0])!=="/")return;for(let H of Q.fragment.slice(1).split("/")){if(typeof Y==="boolean")return;let B=Y[(0,bK.unescapeFragment)(H)];if(B===void 0)return;Y=B;let z=typeof Y==="object"&&Y[this.opts.schemaId];if(!KE.has(H)&&z)X=(0,T1.resolveUrl)(this.opts.uriResolver,X,z)}let J;if(typeof Y!="boolean"&&Y.$ref&&!(0,bK.schemaHasRulesButRef)(Y,this.RULES)){let H=(0,T1.resolveUrl)(this.opts.uriResolver,X,Y.$ref);J=wX.call(this,W,H)}let{schemaId:G}=this.opts;if(J=J||new j4({schema:Y,schemaId:G,root:W,baseId:X}),J.schema!==J.root.schema)return J;return}});var EK=N((gd,LE)=>{LE.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 L$=N((hd,CK)=>{var OE=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),IK=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function D$(Q){let X="",Y=0,W=0;for(W=0;W<Q.length;W++){if(Y=Q[W].charCodeAt(0),Y===48)continue;if(!(Y>=48&&Y<=57||Y>=65&&Y<=70||Y>=97&&Y<=102))return"";X+=Q[W];break}for(W+=1;W<Q.length;W++){if(Y=Q[W].charCodeAt(0),!(Y>=48&&Y<=57||Y>=65&&Y<=70||Y>=97&&Y<=102))return"";X+=Q[W]}return X}var UE=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function SK(Q){return Q.length=0,!0}function jE(Q,X,Y){if(Q.length){let W=D$(Q);if(W!=="")X.push(W);else return Y.error=!0,!1;Q.length=0}return!0}function NE(Q){let X=0,Y={error:!1,address:"",zone:""},W=[],$=[],J=!1,G=!1,H=jE;for(let B=0;B<Q.length;B++){let z=Q[B];if(z==="["||z==="]")continue;if(z===":"){if(J===!0)G=!0;if(!H($,W,Y))break;if(++X>7){Y.error=!0;break}if(B>0&&Q[B-1]===":")J=!0;W.push(":");continue}else if(z==="%"){if(!H($,W,Y))break;H=SK}else{$.push(z);continue}}if($.length)if(H===SK)Y.zone=$.join("");else if(G)W.push($.join(""));else W.push(D$($));return Y.address=W.join(""),Y}function TK(Q){if(qE(Q,":")<2)return{host:Q,isIPV6:!1};let X=NE(Q);if(!X.error){let{address:Y,address:W}=X;if(X.zone)Y+="%"+X.zone,W+="%25"+X.zone;return{host:Y,isIPV6:!0,escapedHost:W}}else return{host:Q,isIPV6:!1}}function qE(Q,X){let Y=0;for(let W=0;W<Q.length;W++)if(Q[W]===X)Y++;return Y}function wE(Q){let X=Q,Y=[],W=-1,$=0;while($=X.length){if($===1)if(X===".")break;else if(X==="/"){Y.push("/");break}else{Y.push(X);break}else if($===2){if(X[0]==="."){if(X[1]===".")break;else if(X[1]==="/"){X=X.slice(2);continue}}else if(X[0]==="/"){if(X[1]==="."||X[1]==="/"){Y.push("/");break}}}else if($===3){if(X==="/.."){if(Y.length!==0)Y.pop();Y.push("/");break}}if(X[0]==="."){if(X[1]==="."){if(X[2]==="/"){X=X.slice(3);continue}}else if(X[1]==="/"){X=X.slice(2);continue}}else if(X[0]==="/"){if(X[1]==="."){if(X[2]==="/"){X=X.slice(2);continue}else if(X[2]==="."){if(X[3]==="/"){if(X=X.slice(3),Y.length!==0)Y.pop();continue}}}}if((W=X.indexOf("/",1))===-1){Y.push(X);break}else Y.push(X.slice(0,W)),X=X.slice(W)}return Y.join("")}function ME(Q,X){let Y=X!==!0?escape:unescape;if(Q.scheme!==void 0)Q.scheme=Y(Q.scheme);if(Q.userinfo!==void 0)Q.userinfo=Y(Q.userinfo);if(Q.host!==void 0)Q.host=Y(Q.host);if(Q.path!==void 0)Q.path=Y(Q.path);if(Q.query!==void 0)Q.query=Y(Q.query);if(Q.fragment!==void 0)Q.fragment=Y(Q.fragment);return Q}function bE(Q){let X=[];if(Q.userinfo!==void 0)X.push(Q.userinfo),X.push("@");if(Q.host!==void 0){let Y=unescape(Q.host);if(!IK(Y)){let W=TK(Y);if(W.isIPV6===!0)Y=`[${W.escapedHost}]`;else Y=Q.host}X.push(Y)}if(typeof Q.port==="number"||typeof Q.port==="string")X.push(":"),X.push(String(Q.port));return X.length?X.join(""):void 0}CK.exports={nonSimpleDomain:UE,recomposeAuthority:bE,normalizeComponentEncoding:ME,removeDotSegments:wE,isIPv4:IK,isUUID:OE,normalizeIPv6:TK,stringArrayToHexStripped:D$}});var yK=N((ud,xK)=>{var{isUUID:PE}=L$(),ZE=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,RE=["http","https","ws","wss","urn","urn:uuid"];function EE(Q){return RE.indexOf(Q)!==-1}function O$(Q){if(Q.secure===!0)return!0;else if(Q.secure===!1)return!1;else if(Q.scheme)return Q.scheme.length===3&&(Q.scheme[0]==="w"||Q.scheme[0]==="W")&&(Q.scheme[1]==="s"||Q.scheme[1]==="S")&&(Q.scheme[2]==="s"||Q.scheme[2]==="S");else return!1}function kK(Q){if(!Q.host)Q.error=Q.error||"HTTP URIs must have a host.";return Q}function vK(Q){let X=String(Q.scheme).toLowerCase()==="https";if(Q.port===(X?443:80)||Q.port==="")Q.port=void 0;if(!Q.path)Q.path="/";return Q}function SE(Q){return Q.secure=O$(Q),Q.resourceName=(Q.path||"/")+(Q.query?"?"+Q.query:""),Q.path=void 0,Q.query=void 0,Q}function IE(Q){if(Q.port===(O$(Q)?443:80)||Q.port==="")Q.port=void 0;if(typeof Q.secure==="boolean")Q.scheme=Q.secure?"wss":"ws",Q.secure=void 0;if(Q.resourceName){let[X,Y]=Q.resourceName.split("?");Q.path=X&&X!=="/"?X:void 0,Q.query=Y,Q.resourceName=void 0}return Q.fragment=void 0,Q}function TE(Q,X){if(!Q.path)return Q.error="URN can not be parsed",Q;let Y=Q.path.match(ZE);if(Y){let W=X.scheme||Q.scheme||"urn";Q.nid=Y[1].toLowerCase(),Q.nss=Y[2];let $=`${W}:${X.nid||Q.nid}`,J=U$($);if(Q.path=void 0,J)Q=J.parse(Q,X)}else Q.error=Q.error||"URN can not be parsed.";return Q}function CE(Q,X){if(Q.nid===void 0)throw Error("URN without nid cannot be serialized");let Y=X.scheme||Q.scheme||"urn",W=Q.nid.toLowerCase(),$=`${Y}:${X.nid||W}`,J=U$($);if(J)Q=J.serialize(Q,X);let G=Q,H=Q.nss;return G.path=`${W||X.nid}:${H}`,X.skipEscape=!0,G}function kE(Q,X){let Y=Q;if(Y.uuid=Y.nss,Y.nss=void 0,!X.tolerant&&(!Y.uuid||!PE(Y.uuid)))Y.error=Y.error||"UUID is not valid.";return Y}function vE(Q){let X=Q;return X.nss=(Q.uuid||"").toLowerCase(),X}var _K={scheme:"http",domainHost:!0,parse:kK,serialize:vK},_E={scheme:"https",domainHost:_K.domainHost,parse:kK,serialize:vK},bX={scheme:"ws",domainHost:!0,parse:SE,serialize:IE},xE={scheme:"wss",domainHost:bX.domainHost,parse:bX.parse,serialize:bX.serialize},yE={scheme:"urn",parse:TE,serialize:CE,skipNormalize:!0},fE={scheme:"urn:uuid",parse:kE,serialize:vE,skipNormalize:!0},PX={http:_K,https:_E,ws:bX,wss:xE,urn:yE,"urn:uuid":fE};Object.setPrototypeOf(PX,null);function U$(Q){return Q&&(PX[Q]||PX[Q.toLowerCase()])||void 0}xK.exports={wsIsSecure:O$,SCHEMES:PX,isValidSchemeName:EE,getSchemeHandler:U$}});var N$=N((ld,RX)=>{var{normalizeIPv6:gE,removeDotSegments:N4,recomposeAuthority:hE,normalizeComponentEncoding:ZX,isIPv4:uE,nonSimpleDomain:lE}=L$(),{SCHEMES:mE,getSchemeHandler:fK}=yK();function cE(Q,X){if(typeof Q==="string")Q=i1(H6(Q,X),X);else if(typeof Q==="object")Q=H6(i1(Q,X),X);return Q}function pE(Q,X,Y){let W=Y?Object.assign({scheme:"null"},Y):{scheme:"null"},$=gK(H6(Q,W),H6(X,W),W,!0);return W.skipEscape=!0,i1($,W)}function gK(Q,X,Y,W){let $={};if(!W)Q=H6(i1(Q,Y),Y),X=H6(i1(X,Y),Y);if(Y=Y||{},!Y.tolerant&&X.scheme)$.scheme=X.scheme,$.userinfo=X.userinfo,$.host=X.host,$.port=X.port,$.path=N4(X.path||""),$.query=X.query;else{if(X.userinfo!==void 0||X.host!==void 0||X.port!==void 0)$.userinfo=X.userinfo,$.host=X.host,$.port=X.port,$.path=N4(X.path||""),$.query=X.query;else{if(!X.path)if($.path=Q.path,X.query!==void 0)$.query=X.query;else $.query=Q.query;else{if(X.path[0]==="/")$.path=N4(X.path);else{if((Q.userinfo!==void 0||Q.host!==void 0||Q.port!==void 0)&&!Q.path)$.path="/"+X.path;else if(!Q.path)$.path=X.path;else $.path=Q.path.slice(0,Q.path.lastIndexOf("/")+1)+X.path;$.path=N4($.path)}$.query=X.query}$.userinfo=Q.userinfo,$.host=Q.host,$.port=Q.port}$.scheme=Q.scheme}return $.fragment=X.fragment,$}function dE(Q,X,Y){if(typeof Q==="string")Q=unescape(Q),Q=i1(ZX(H6(Q,Y),!0),{...Y,skipEscape:!0});else if(typeof Q==="object")Q=i1(ZX(Q,!0),{...Y,skipEscape:!0});if(typeof X==="string")X=unescape(X),X=i1(ZX(H6(X,Y),!0),{...Y,skipEscape:!0});else if(typeof X==="object")X=i1(ZX(X,!0),{...Y,skipEscape:!0});return Q.toLowerCase()===X.toLowerCase()}function i1(Q,X){let Y={host:Q.host,scheme:Q.scheme,userinfo:Q.userinfo,port:Q.port,path:Q.path,query:Q.query,nid:Q.nid,nss:Q.nss,uuid:Q.uuid,fragment:Q.fragment,reference:Q.reference,resourceName:Q.resourceName,secure:Q.secure,error:""},W=Object.assign({},X),$=[],J=fK(W.scheme||Y.scheme);if(J&&J.serialize)J.serialize(Y,W);if(Y.path!==void 0)if(!W.skipEscape){if(Y.path=escape(Y.path),Y.scheme!==void 0)Y.path=Y.path.split("%3A").join(":")}else Y.path=unescape(Y.path);if(W.reference!=="suffix"&&Y.scheme)$.push(Y.scheme,":");let G=hE(Y);if(G!==void 0){if(W.reference!=="suffix")$.push("//");if($.push(G),Y.path&&Y.path[0]!=="/")$.push("/")}if(Y.path!==void 0){let H=Y.path;if(!W.absolutePath&&(!J||!J.absolutePath))H=N4(H);if(G===void 0&&H[0]==="/"&&H[1]==="/")H="/%2F"+H.slice(2);$.push(H)}if(Y.query!==void 0)$.push("?",Y.query);if(Y.fragment!==void 0)$.push("#",Y.fragment);return $.join("")}var iE=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function H6(Q,X){let Y=Object.assign({},X),W={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},$=!1;if(Y.reference==="suffix")if(Y.scheme)Q=Y.scheme+":"+Q;else Q="//"+Q;let J=Q.match(iE);if(J){if(W.scheme=J[1],W.userinfo=J[3],W.host=J[4],W.port=parseInt(J[5],10),W.path=J[6]||"",W.query=J[7],W.fragment=J[8],isNaN(W.port))W.port=J[5];if(W.host)if(uE(W.host)===!1){let B=gE(W.host);W.host=B.host.toLowerCase(),$=B.isIPV6}else $=!0;if(W.scheme===void 0&&W.userinfo===void 0&&W.host===void 0&&W.port===void 0&&W.query===void 0&&!W.path)W.reference="same-document";else if(W.scheme===void 0)W.reference="relative";else if(W.fragment===void 0)W.reference="absolute";else W.reference="uri";if(Y.reference&&Y.reference!=="suffix"&&Y.reference!==W.reference)W.error=W.error||"URI is not a "+Y.reference+" reference.";let G=fK(Y.scheme||W.scheme);if(!Y.unicodeSupport&&(!G||!G.unicodeSupport)){if(W.host&&(Y.domainHost||G&&G.domainHost)&&$===!1&&lE(W.host))try{W.host=URL.domainToASCII(W.host.toLowerCase())}catch(H){W.error=W.error||"Host's domain name can not be converted to ASCII: "+H}}if(!G||G&&!G.skipNormalize){if(Q.indexOf("%")!==-1){if(W.scheme!==void 0)W.scheme=unescape(W.scheme);if(W.host!==void 0)W.host=unescape(W.host)}if(W.path)W.path=escape(unescape(W.path));if(W.fragment)W.fragment=encodeURI(decodeURIComponent(W.fragment))}if(G&&G.parse)G.parse(W,Y)}else W.error=W.error||"URI can not be parsed.";return W}var j$={SCHEMES:mE,normalize:cE,resolve:pE,resolveComponent:gK,equal:dE,serialize:i1,parse:H6};RX.exports=j$;RX.exports.default=j$;RX.exports.fastUri=j$});var lK=N((uK)=>{Object.defineProperty(uK,"__esModule",{value:!0});var hK=N$();hK.code='require("ajv/dist/runtime/uri").default';uK.default=hK});var rK=N((B6)=>{Object.defineProperty(B6,"__esModule",{value:!0});B6.CodeGen=B6.Name=B6.nil=B6.stringify=B6.str=B6._=B6.KeywordCxt=void 0;var oE=O4();Object.defineProperty(B6,"KeywordCxt",{enumerable:!0,get:function(){return oE.KeywordCxt}});var Q8=r();Object.defineProperty(B6,"_",{enumerable:!0,get:function(){return Q8._}});Object.defineProperty(B6,"str",{enumerable:!0,get:function(){return Q8.str}});Object.defineProperty(B6,"stringify",{enumerable:!0,get:function(){return Q8.stringify}});Object.defineProperty(B6,"nil",{enumerable:!0,get:function(){return Q8.nil}});Object.defineProperty(B6,"Name",{enumerable:!0,get:function(){return Q8.Name}});Object.defineProperty(B6,"CodeGen",{enumerable:!0,get:function(){return Q8.CodeGen}});var rE=qX(),iK=U4(),tE=s5(),q4=MX(),aE=r(),w4=F4(),EX=V4(),w$=W0(),mK=EK(),sE=lK(),nK=(Q,X)=>new RegExp(Q,X);nK.code="new RegExp";var eE=["removeAdditional","useDefaults","coerceTypes"],QS=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),XS={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."},YS={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},cK=200;function WS(Q){var X,Y,W,$,J,G,H,B,z,K,V,A,F,L,D,O,U,w,M,S,Z,V0,P0,g1,l6;let U1=Q.strict,m6=(X=Q.code)===null||X===void 0?void 0:X.optimize,R8=m6===!0||m6===void 0?1:m6||0,E8=(W=(Y=Q.code)===null||Y===void 0?void 0:Y.regExp)!==null&&W!==void 0?W:nK,nY=($=Q.uriResolver)!==null&&$!==void 0?$:sE.default;return{strictSchema:(G=(J=Q.strictSchema)!==null&&J!==void 0?J:U1)!==null&&G!==void 0?G:!0,strictNumbers:(B=(H=Q.strictNumbers)!==null&&H!==void 0?H:U1)!==null&&B!==void 0?B:!0,strictTypes:(K=(z=Q.strictTypes)!==null&&z!==void 0?z:U1)!==null&&K!==void 0?K:"log",strictTuples:(A=(V=Q.strictTuples)!==null&&V!==void 0?V:U1)!==null&&A!==void 0?A:"log",strictRequired:(L=(F=Q.strictRequired)!==null&&F!==void 0?F:U1)!==null&&L!==void 0?L:!1,code:Q.code?{...Q.code,optimize:R8,regExp:E8}:{optimize:R8,regExp:E8},loopRequired:(D=Q.loopRequired)!==null&&D!==void 0?D:cK,loopEnum:(O=Q.loopEnum)!==null&&O!==void 0?O:cK,meta:(U=Q.meta)!==null&&U!==void 0?U:!0,messages:(w=Q.messages)!==null&&w!==void 0?w:!0,inlineRefs:(M=Q.inlineRefs)!==null&&M!==void 0?M:!0,schemaId:(S=Q.schemaId)!==null&&S!==void 0?S:"$id",addUsedSchema:(Z=Q.addUsedSchema)!==null&&Z!==void 0?Z:!0,validateSchema:(V0=Q.validateSchema)!==null&&V0!==void 0?V0:!0,validateFormats:(P0=Q.validateFormats)!==null&&P0!==void 0?P0:!0,unicodeRegExp:(g1=Q.unicodeRegExp)!==null&&g1!==void 0?g1:!0,int32range:(l6=Q.int32range)!==null&&l6!==void 0?l6:!0,uriResolver:nY}}class SX{constructor(Q={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,Q=this.opts={...Q,...WS(Q)};let{es5:X,lines:Y}=this.opts.code;this.scope=new aE.ValueScope({scope:{},prefixes:QS,es5:X,lines:Y}),this.logger=zS(Q.logger);let W=Q.validateFormats;if(Q.validateFormats=!1,this.RULES=(0,tE.getRules)(),pK.call(this,XS,Q,"NOT SUPPORTED"),pK.call(this,YS,Q,"DEPRECATED","warn"),this._metaOpts=HS.call(this),Q.formats)JS.call(this);if(this._addVocabularies(),this._addDefaultMetaSchema(),Q.keywords)GS.call(this,Q.keywords);if(typeof Q.meta=="object")this.addMetaSchema(Q.meta);$S.call(this),Q.validateFormats=W}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:Q,meta:X,schemaId:Y}=this.opts,W=mK;if(Y==="id")W={...mK},W.id=W.$id,delete W.$id;if(X&&Q)this.addMetaSchema(W,W[Y],!1)}defaultMeta(){let{meta:Q,schemaId:X}=this.opts;return this.opts.defaultMeta=typeof Q=="object"?Q[X]||Q:void 0}validate(Q,X){let Y;if(typeof Q=="string"){if(Y=this.getSchema(Q),!Y)throw Error(`no schema with key or ref "${Q}"`)}else Y=this.compile(Q);let W=Y(X);if(!("$async"in Y))this.errors=Y.errors;return W}compile(Q,X){let Y=this._addSchema(Q,X);return Y.validate||this._compileSchemaEnv(Y)}compileAsync(Q,X){if(typeof this.opts.loadSchema!="function")throw Error("options.loadSchema should be a function");let{loadSchema:Y}=this.opts;return W.call(this,Q,X);async function W(z,K){await $.call(this,z.$schema);let V=this._addSchema(z,K);return V.validate||J.call(this,V)}async function $(z){if(z&&!this.getSchema(z))await W.call(this,{$ref:z},!0)}async function J(z){try{return this._compileSchemaEnv(z)}catch(K){if(!(K instanceof iK.default))throw K;return G.call(this,K),await H.call(this,K.missingSchema),J.call(this,z)}}function G({missingSchema:z,missingRef:K}){if(this.refs[z])throw Error(`AnySchema ${z} is loaded but ${K} cannot be resolved`)}async function H(z){let K=await B.call(this,z);if(!this.refs[z])await $.call(this,K.$schema);if(!this.refs[z])this.addSchema(K,z,X)}async function B(z){let K=this._loading[z];if(K)return K;try{return await(this._loading[z]=Y(z))}finally{delete this._loading[z]}}}addSchema(Q,X,Y,W=this.opts.validateSchema){if(Array.isArray(Q)){for(let J of Q)this.addSchema(J,void 0,Y,W);return this}let $;if(typeof Q==="object"){let{schemaId:J}=this.opts;if($=Q[J],$!==void 0&&typeof $!="string")throw Error(`schema ${J} must be string`)}return X=(0,w4.normalizeId)(X||$),this._checkUnique(X),this.schemas[X]=this._addSchema(Q,Y,X,W,!0),this}addMetaSchema(Q,X,Y=this.opts.validateSchema){return this.addSchema(Q,X,!0,Y),this}validateSchema(Q,X){if(typeof Q=="boolean")return!0;let Y;if(Y=Q.$schema,Y!==void 0&&typeof Y!="string")throw Error("$schema must be a string");if(Y=Y||this.opts.defaultMeta||this.defaultMeta(),!Y)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let W=this.validate(Y,Q);if(!W&&X){let $="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error($);else throw Error($)}return W}getSchema(Q){let X;while(typeof(X=dK.call(this,Q))=="string")Q=X;if(X===void 0){let{schemaId:Y}=this.opts,W=new q4.SchemaEnv({schema:{},schemaId:Y});if(X=q4.resolveSchema.call(this,W,Q),!X)return;this.refs[Q]=X}return X.validate||this._compileSchemaEnv(X)}removeSchema(Q){if(Q instanceof RegExp)return this._removeAllSchemas(this.schemas,Q),this._removeAllSchemas(this.refs,Q),this;switch(typeof Q){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let X=dK.call(this,Q);if(typeof X=="object")this._cache.delete(X.schema);return delete this.schemas[Q],delete this.refs[Q],this}case"object":{let X=Q;this._cache.delete(X);let Y=Q[this.opts.schemaId];if(Y)Y=(0,w4.normalizeId)(Y),delete this.schemas[Y],delete this.refs[Y];return this}default:throw Error("ajv.removeSchema: invalid parameter")}}addVocabulary(Q){for(let X of Q)this.addKeyword(X);return this}addKeyword(Q,X){let Y;if(typeof Q=="string"){if(Y=Q,typeof X=="object")this.logger.warn("these parameters are deprecated, see docs for addKeyword"),X.keyword=Y}else if(typeof Q=="object"&&X===void 0){if(X=Q,Y=X.keyword,Array.isArray(Y)&&!Y.length)throw Error("addKeywords: keyword must be string or non-empty array")}else throw Error("invalid addKeywords parameters");if(VS.call(this,Y,X),!X)return(0,w$.eachItem)(Y,($)=>q$.call(this,$)),this;FS.call(this,X);let W={...X,type:(0,EX.getJSONTypes)(X.type),schemaType:(0,EX.getJSONTypes)(X.schemaType)};return(0,w$.eachItem)(Y,W.type.length===0?($)=>q$.call(this,$,W):($)=>W.type.forEach((J)=>q$.call(this,$,W,J))),this}getKeyword(Q){let X=this.RULES.all[Q];return typeof X=="object"?X.definition:!!X}removeKeyword(Q){let{RULES:X}=this;delete X.keywords[Q],delete X.all[Q];for(let Y of X.rules){let W=Y.rules.findIndex(($)=>$.keyword===Q);if(W>=0)Y.rules.splice(W,1)}return this}addFormat(Q,X){if(typeof X=="string")X=new RegExp(X);return this.formats[Q]=X,this}errorsText(Q=this.errors,{separator:X=", ",dataVar:Y="data"}={}){if(!Q||Q.length===0)return"No errors";return Q.map((W)=>`${Y}${W.instancePath} ${W.message}`).reduce((W,$)=>W+X+$)}$dataMetaSchema(Q,X){let Y=this.RULES.all;Q=JSON.parse(JSON.stringify(Q));for(let W of X){let $=W.split("/").slice(1),J=Q;for(let G of $)J=J[G];for(let G in Y){let H=Y[G];if(typeof H!="object")continue;let{$data:B}=H.definition,z=J[G];if(B&&z)J[G]=oK(z)}}return Q}_removeAllSchemas(Q,X){for(let Y in Q){let W=Q[Y];if(!X||X.test(Y)){if(typeof W=="string")delete Q[Y];else if(W&&!W.meta)this._cache.delete(W.schema),delete Q[Y]}}}_addSchema(Q,X,Y,W=this.opts.validateSchema,$=this.opts.addUsedSchema){let J,{schemaId:G}=this.opts;if(typeof Q=="object")J=Q[G];else if(this.opts.jtd)throw Error("schema must be object");else if(typeof Q!="boolean")throw Error("schema must be object or boolean");let H=this._cache.get(Q);if(H!==void 0)return H;Y=(0,w4.normalizeId)(J||Y);let B=w4.getSchemaRefs.call(this,Q,Y);if(H=new q4.SchemaEnv({schema:Q,schemaId:G,meta:X,baseId:Y,localRefs:B}),this._cache.set(H.schema,H),$&&!Y.startsWith("#")){if(Y)this._checkUnique(Y);this.refs[Y]=H}if(W)this.validateSchema(Q,!0);return H}_checkUnique(Q){if(this.schemas[Q]||this.refs[Q])throw Error(`schema with key or id "${Q}" already exists`)}_compileSchemaEnv(Q){if(Q.meta)this._compileMetaSchema(Q);else q4.compileSchema.call(this,Q);if(!Q.validate)throw Error("ajv implementation error");return Q.validate}_compileMetaSchema(Q){let X=this.opts;this.opts=this._metaOpts;try{q4.compileSchema.call(this,Q)}finally{this.opts=X}}}SX.ValidationError=rE.default;SX.MissingRefError=iK.default;B6.default=SX;function pK(Q,X,Y,W="error"){for(let $ in Q){let J=$;if(J in X)this.logger[W](`${Y}: option ${$}. ${Q[J]}`)}}function dK(Q){return Q=(0,w4.normalizeId)(Q),this.schemas[Q]||this.refs[Q]}function $S(){let Q=this.opts.schemas;if(!Q)return;if(Array.isArray(Q))this.addSchema(Q);else for(let X in Q)this.addSchema(Q[X],X)}function JS(){for(let Q in this.opts.formats){let X=this.opts.formats[Q];if(X)this.addFormat(Q,X)}}function GS(Q){if(Array.isArray(Q)){this.addVocabulary(Q);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let X in Q){let Y=Q[X];if(!Y.keyword)Y.keyword=X;this.addKeyword(Y)}}function HS(){let Q={...this.opts};for(let X of eE)delete Q[X];return Q}var BS={log(){},warn(){},error(){}};function zS(Q){if(Q===!1)return BS;if(Q===void 0)return console;if(Q.log&&Q.warn&&Q.error)return Q;throw Error("logger must implement log, warn and error methods")}var KS=/^[a-z_$][a-z0-9_$:-]*$/i;function VS(Q,X){let{RULES:Y}=this;if((0,w$.eachItem)(Q,(W)=>{if(Y.keywords[W])throw Error(`Keyword ${W} is already defined`);if(!KS.test(W))throw Error(`Keyword ${W} has invalid name`)}),!X)return;if(X.$data&&!(("code"in X)||("validate"in X)))throw Error('$data keyword must have "code" or "validate" function')}function q$(Q,X,Y){var W;let $=X===null||X===void 0?void 0:X.post;if(Y&&$)throw Error('keyword with "post" flag cannot have "type"');let{RULES:J}=this,G=$?J.post:J.rules.find(({type:B})=>B===Y);if(!G)G={type:Y,rules:[]},J.rules.push(G);if(J.keywords[Q]=!0,!X)return;let H={keyword:Q,definition:{...X,type:(0,EX.getJSONTypes)(X.type),schemaType:(0,EX.getJSONTypes)(X.schemaType)}};if(X.before)AS.call(this,G,H,X.before);else G.rules.push(H);J.all[Q]=H,(W=X.implements)===null||W===void 0||W.forEach((B)=>this.addKeyword(B))}function AS(Q,X,Y){let W=Q.rules.findIndex(($)=>$.keyword===Y);if(W>=0)Q.rules.splice(W,0,X);else Q.rules.push(X),this.logger.warn(`rule ${Y} is not defined`)}function FS(Q){let{metaSchema:X}=Q;if(X===void 0)return;if(Q.$data&&this.opts.$data)X=oK(X);Q.validateSchema=this.compile(X,!0)}var DS={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function oK(Q){return{anyOf:[Q,DS]}}});var aK=N((tK)=>{Object.defineProperty(tK,"__esModule",{value:!0});var US={keyword:"id",code(){throw Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};tK.default=US});var WV=N((XV)=>{Object.defineProperty(XV,"__esModule",{value:!0});XV.callRef=XV.getValidate=void 0;var NS=U4(),sK=F1(),W1=r(),X8=J6(),eK=MX(),IX=W0(),qS={keyword:"$ref",schemaType:"string",code(Q){let{gen:X,schema:Y,it:W}=Q,{baseId:$,schemaEnv:J,validateName:G,opts:H,self:B}=W,{root:z}=J;if((Y==="#"||Y==="#/")&&$===z.baseId)return V();let K=eK.resolveRef.call(B,z,$,Y);if(K===void 0)throw new NS.default(W.opts.uriResolver,$,Y);if(K instanceof eK.SchemaEnv)return A(K);return F(K);function V(){if(J===z)return TX(Q,G,J,J.$async);let L=X.scopeValue("root",{ref:z});return TX(Q,W1._`${L}.validate`,z,z.$async)}function A(L){let D=QV(Q,L);TX(Q,D,L,L.$async)}function F(L){let D=X.scopeValue("schema",H.code.source===!0?{ref:L,code:(0,W1.stringify)(L)}:{ref:L}),O=X.name("valid"),U=Q.subschema({schema:L,dataTypes:[],schemaPath:W1.nil,topSchemaRef:D,errSchemaPath:Y},O);Q.mergeEvaluated(U),Q.ok(O)}}};function QV(Q,X){let{gen:Y}=Q;return X.validate?Y.scopeValue("validate",{ref:X.validate}):W1._`${Y.scopeValue("wrapper",{ref:X})}.validate`}XV.getValidate=QV;function TX(Q,X,Y,W){let{gen:$,it:J}=Q,{allErrors:G,schemaEnv:H,opts:B}=J,z=B.passContext?X8.default.this:W1.nil;if(W)K();else V();function K(){if(!H.$async)throw Error("async schema referenced by sync schema");let L=$.let("valid");$.try(()=>{if($.code(W1._`await ${(0,sK.callValidateCode)(Q,X,z)}`),F(X),!G)$.assign(L,!0)},(D)=>{if($.if(W1._`!(${D} instanceof ${J.ValidationError})`,()=>$.throw(D)),A(D),!G)$.assign(L,!1)}),Q.ok(L)}function V(){Q.result((0,sK.callValidateCode)(Q,X,z),()=>F(X),()=>A(X))}function A(L){let D=W1._`${L}.errors`;$.assign(X8.default.vErrors,W1._`${X8.default.vErrors} === null ? ${D} : ${X8.default.vErrors}.concat(${D})`),$.assign(X8.default.errors,W1._`${X8.default.vErrors}.length`)}function F(L){var D;if(!J.opts.unevaluated)return;let O=(D=Y===null||Y===void 0?void 0:Y.validate)===null||D===void 0?void 0:D.evaluated;if(J.props!==!0)if(O&&!O.dynamicProps){if(O.props!==void 0)J.props=IX.mergeEvaluated.props($,O.props,J.props)}else{let U=$.var("props",W1._`${L}.evaluated.props`);J.props=IX.mergeEvaluated.props($,U,J.props,W1.Name)}if(J.items!==!0)if(O&&!O.dynamicItems){if(O.items!==void 0)J.items=IX.mergeEvaluated.items($,O.items,J.items)}else{let U=$.var("items",W1._`${L}.evaluated.items`);J.items=IX.mergeEvaluated.items($,U,J.items,W1.Name)}}}XV.callRef=TX;XV.default=qS});var JV=N(($V)=>{Object.defineProperty($V,"__esModule",{value:!0});var bS=aK(),PS=WV(),ZS=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",bS.default,PS.default];$V.default=ZS});var HV=N((GV)=>{Object.defineProperty(GV,"__esModule",{value:!0});var CX=r(),T6=CX.operators,kX={maximum:{okStr:"<=",ok:T6.LTE,fail:T6.GT},minimum:{okStr:">=",ok:T6.GTE,fail:T6.LT},exclusiveMaximum:{okStr:"<",ok:T6.LT,fail:T6.GTE},exclusiveMinimum:{okStr:">",ok:T6.GT,fail:T6.LTE}},ES={message:({keyword:Q,schemaCode:X})=>CX.str`must be ${kX[Q].okStr} ${X}`,params:({keyword:Q,schemaCode:X})=>CX._`{comparison: ${kX[Q].okStr}, limit: ${X}}`},SS={keyword:Object.keys(kX),type:"number",schemaType:"number",$data:!0,error:ES,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q;Q.fail$data(CX._`${Y} ${kX[X].fail} ${W} || isNaN(${Y})`)}};GV.default=SS});var zV=N((BV)=>{Object.defineProperty(BV,"__esModule",{value:!0});var M4=r(),TS={message:({schemaCode:Q})=>M4.str`must be multiple of ${Q}`,params:({schemaCode:Q})=>M4._`{multipleOf: ${Q}}`},CS={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:TS,code(Q){let{gen:X,data:Y,schemaCode:W,it:$}=Q,J=$.opts.multipleOfPrecision,G=X.let("res"),H=J?M4._`Math.abs(Math.round(${G}) - ${G}) > 1e-${J}`:M4._`${G} !== parseInt(${G})`;Q.fail$data(M4._`(${W} === 0 || (${G} = ${Y}/${W}, ${H}))`)}};BV.default=CS});var AV=N((VV)=>{Object.defineProperty(VV,"__esModule",{value:!0});function KV(Q){let X=Q.length,Y=0,W=0,$;while(W<X)if(Y++,$=Q.charCodeAt(W++),$>=55296&&$<=56319&&W<X){if($=Q.charCodeAt(W),($&64512)===56320)W++}return Y}VV.default=KV;KV.code='require("ajv/dist/runtime/ucs2length").default'});var DV=N((FV)=>{Object.defineProperty(FV,"__esModule",{value:!0});var K9=r(),_S=W0(),xS=AV(),yS={message({keyword:Q,schemaCode:X}){let Y=Q==="maxLength"?"more":"fewer";return K9.str`must NOT have ${Y} than ${X} characters`},params:({schemaCode:Q})=>K9._`{limit: ${Q}}`},fS={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:yS,code(Q){let{keyword:X,data:Y,schemaCode:W,it:$}=Q,J=X==="maxLength"?K9.operators.GT:K9.operators.LT,G=$.opts.unicode===!1?K9._`${Y}.length`:K9._`${(0,_S.useFunc)(Q.gen,xS.default)}(${Y})`;Q.fail$data(K9._`${G} ${J} ${W}`)}};FV.default=fS});var OV=N((LV)=>{Object.defineProperty(LV,"__esModule",{value:!0});var hS=F1(),vX=r(),uS={message:({schemaCode:Q})=>vX.str`must match pattern "${Q}"`,params:({schemaCode:Q})=>vX._`{pattern: ${Q}}`},lS={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:uS,code(Q){let{data:X,$data:Y,schema:W,schemaCode:$,it:J}=Q,G=J.opts.unicodeRegExp?"u":"",H=Y?vX._`(new RegExp(${$}, ${G}))`:(0,hS.usePattern)(Q,W);Q.fail$data(vX._`!${H}.test(${X})`)}};LV.default=lS});var jV=N((UV)=>{Object.defineProperty(UV,"__esModule",{value:!0});var b4=r(),cS={message({keyword:Q,schemaCode:X}){let Y=Q==="maxProperties"?"more":"fewer";return b4.str`must NOT have ${Y} than ${X} properties`},params:({schemaCode:Q})=>b4._`{limit: ${Q}}`},pS={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:cS,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q,$=X==="maxProperties"?b4.operators.GT:b4.operators.LT;Q.fail$data(b4._`Object.keys(${Y}).length ${$} ${W}`)}};UV.default=pS});var qV=N((NV)=>{Object.defineProperty(NV,"__esModule",{value:!0});var P4=F1(),Z4=r(),iS=W0(),nS={message:({params:{missingProperty:Q}})=>Z4.str`must have required property '${Q}'`,params:({params:{missingProperty:Q}})=>Z4._`{missingProperty: ${Q}}`},oS={keyword:"required",type:"object",schemaType:"array",$data:!0,error:nS,code(Q){let{gen:X,schema:Y,schemaCode:W,data:$,$data:J,it:G}=Q,{opts:H}=G;if(!J&&Y.length===0)return;let B=Y.length>=H.loopRequired;if(G.allErrors)z();else K();if(H.strictRequired){let F=Q.parentSchema.properties,{definedProperties:L}=Q.it;for(let D of Y)if((F===null||F===void 0?void 0:F[D])===void 0&&!L.has(D)){let O=G.schemaEnv.baseId+G.errSchemaPath,U=`required property "${D}" is not defined at "${O}" (strictRequired)`;(0,iS.checkStrictMode)(G,U,G.opts.strictRequired)}}function z(){if(B||J)Q.block$data(Z4.nil,V);else for(let F of Y)(0,P4.checkReportMissingProp)(Q,F)}function K(){let F=X.let("missing");if(B||J){let L=X.let("valid",!0);Q.block$data(L,()=>A(F,L)),Q.ok(L)}else X.if((0,P4.checkMissingProp)(Q,Y,F)),(0,P4.reportMissingProp)(Q,F),X.else()}function V(){X.forOf("prop",W,(F)=>{Q.setParams({missingProperty:F}),X.if((0,P4.noPropertyInData)(X,$,F,H.ownProperties),()=>Q.error())})}function A(F,L){Q.setParams({missingProperty:F}),X.forOf(F,W,()=>{X.assign(L,(0,P4.propertyInData)(X,$,F,H.ownProperties)),X.if((0,Z4.not)(L),()=>{Q.error(),X.break()})},Z4.nil)}}};NV.default=oS});var MV=N((wV)=>{Object.defineProperty(wV,"__esModule",{value:!0});var R4=r(),tS={message({keyword:Q,schemaCode:X}){let Y=Q==="maxItems"?"more":"fewer";return R4.str`must NOT have ${Y} than ${X} items`},params:({schemaCode:Q})=>R4._`{limit: ${Q}}`},aS={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:tS,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q,$=X==="maxItems"?R4.operators.GT:R4.operators.LT;Q.fail$data(R4._`${Y}.length ${$} ${W}`)}};wV.default=aS});var _X=N((PV)=>{Object.defineProperty(PV,"__esModule",{value:!0});var bV=A4();bV.code='require("ajv/dist/runtime/equal").default';PV.default=bV});var RV=N((ZV)=>{Object.defineProperty(ZV,"__esModule",{value:!0});var M$=V4(),f0=r(),QI=W0(),XI=_X(),YI={message:({params:{i:Q,j:X}})=>f0.str`must NOT have duplicate items (items ## ${X} and ${Q} are identical)`,params:({params:{i:Q,j:X}})=>f0._`{i: ${Q}, j: ${X}}`},WI={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:YI,code(Q){let{gen:X,data:Y,$data:W,schema:$,parentSchema:J,schemaCode:G,it:H}=Q;if(!W&&!$)return;let B=X.let("valid"),z=J.items?(0,M$.getSchemaTypes)(J.items):[];Q.block$data(B,K,f0._`${G} === false`),Q.ok(B);function K(){let L=X.let("i",f0._`${Y}.length`),D=X.let("j");Q.setParams({i:L,j:D}),X.assign(B,!0),X.if(f0._`${L} > 1`,()=>(V()?A:F)(L,D))}function V(){return z.length>0&&!z.some((L)=>L==="object"||L==="array")}function A(L,D){let O=X.name("item"),U=(0,M$.checkDataTypes)(z,O,H.opts.strictNumbers,M$.DataType.Wrong),w=X.const("indices",f0._`{}`);X.for(f0._`;${L}--;`,()=>{if(X.let(O,f0._`${Y}[${L}]`),X.if(U,f0._`continue`),z.length>1)X.if(f0._`typeof ${O} == "string"`,f0._`${O} += "_"`);X.if(f0._`typeof ${w}[${O}] == "number"`,()=>{X.assign(D,f0._`${w}[${O}]`),Q.error(),X.assign(B,!1).break()}).code(f0._`${w}[${O}] = ${L}`)})}function F(L,D){let O=(0,QI.useFunc)(X,XI.default),U=X.name("outer");X.label(U).for(f0._`;${L}--;`,()=>X.for(f0._`${D} = ${L}; ${D}--;`,()=>X.if(f0._`${O}(${Y}[${L}], ${Y}[${D}])`,()=>{Q.error(),X.assign(B,!1).break(U)})))}}};ZV.default=WI});var SV=N((EV)=>{Object.defineProperty(EV,"__esModule",{value:!0});var b$=r(),JI=W0(),GI=_X(),HI={message:"must be equal to constant",params:({schemaCode:Q})=>b$._`{allowedValue: ${Q}}`},BI={keyword:"const",$data:!0,error:HI,code(Q){let{gen:X,data:Y,$data:W,schemaCode:$,schema:J}=Q;if(W||J&&typeof J=="object")Q.fail$data(b$._`!${(0,JI.useFunc)(X,GI.default)}(${Y}, ${$})`);else Q.fail(b$._`${J} !== ${Y}`)}};EV.default=BI});var TV=N((IV)=>{Object.defineProperty(IV,"__esModule",{value:!0});var E4=r(),KI=W0(),VI=_X(),AI={message:"must be equal to one of the allowed values",params:({schemaCode:Q})=>E4._`{allowedValues: ${Q}}`},FI={keyword:"enum",schemaType:"array",$data:!0,error:AI,code(Q){let{gen:X,data:Y,$data:W,schema:$,schemaCode:J,it:G}=Q;if(!W&&$.length===0)throw Error("enum must have non-empty array");let H=$.length>=G.opts.loopEnum,B,z=()=>B!==null&&B!==void 0?B:B=(0,KI.useFunc)(X,VI.default),K;if(H||W)K=X.let("valid"),Q.block$data(K,V);else{if(!Array.isArray($))throw Error("ajv implementation error");let F=X.const("vSchema",J);K=(0,E4.or)(...$.map((L,D)=>A(F,D)))}Q.pass(K);function V(){X.assign(K,!1),X.forOf("v",J,(F)=>X.if(E4._`${z()}(${Y}, ${F})`,()=>X.assign(K,!0).break()))}function A(F,L){let D=$[L];return typeof D==="object"&&D!==null?E4._`${z()}(${Y}, ${F}[${L}])`:E4._`${Y} === ${D}`}}};IV.default=FI});var kV=N((CV)=>{Object.defineProperty(CV,"__esModule",{value:!0});var LI=HV(),OI=zV(),UI=DV(),jI=OV(),NI=jV(),qI=qV(),wI=MV(),MI=RV(),bI=SV(),PI=TV(),ZI=[LI.default,OI.default,UI.default,jI.default,NI.default,qI.default,wI.default,MI.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},bI.default,PI.default];CV.default=ZI});var Z$=N((_V)=>{Object.defineProperty(_V,"__esModule",{value:!0});_V.validateAdditionalItems=void 0;var V9=r(),P$=W0(),EI={message:({params:{len:Q}})=>V9.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>V9._`{limit: ${Q}}`},SI={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:EI,code(Q){let{parentSchema:X,it:Y}=Q,{items:W}=X;if(!Array.isArray(W)){(0,P$.checkStrictMode)(Y,'"additionalItems" is ignored when "items" is not an array of schemas');return}vV(Q,W)}};function vV(Q,X){let{gen:Y,schema:W,data:$,keyword:J,it:G}=Q;G.items=!0;let H=Y.const("len",V9._`${$}.length`);if(W===!1)Q.setParams({len:X.length}),Q.pass(V9._`${H} <= ${X.length}`);else if(typeof W=="object"&&!(0,P$.alwaysValidSchema)(G,W)){let z=Y.var("valid",V9._`${H} <= ${X.length}`);Y.if((0,V9.not)(z),()=>B(z)),Q.ok(z)}function B(z){Y.forRange("i",X.length,H,(K)=>{if(Q.subschema({keyword:J,dataProp:K,dataPropType:P$.Type.Num},z),!G.allErrors)Y.if((0,V9.not)(z),()=>Y.break())})}}_V.validateAdditionalItems=vV;_V.default=SI});var R$=N((gV)=>{Object.defineProperty(gV,"__esModule",{value:!0});gV.validateTuple=void 0;var yV=r(),xX=W0(),TI=F1(),CI={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(Q){let{schema:X,it:Y}=Q;if(Array.isArray(X))return fV(Q,"additionalItems",X);if(Y.items=!0,(0,xX.alwaysValidSchema)(Y,X))return;Q.ok((0,TI.validateArray)(Q))}};function fV(Q,X,Y=Q.schema){let{gen:W,parentSchema:$,data:J,keyword:G,it:H}=Q;if(K($),H.opts.unevaluated&&Y.length&&H.items!==!0)H.items=xX.mergeEvaluated.items(W,Y.length,H.items);let B=W.name("valid"),z=W.const("len",yV._`${J}.length`);Y.forEach((V,A)=>{if((0,xX.alwaysValidSchema)(H,V))return;W.if(yV._`${z} > ${A}`,()=>Q.subschema({keyword:G,schemaProp:A,dataProp:A},B)),Q.ok(B)});function K(V){let{opts:A,errSchemaPath:F}=H,L=Y.length,D=L===V.minItems&&(L===V.maxItems||V[X]===!1);if(A.strictTuples&&!D){let O=`"${G}" is ${L}-tuple, but minItems or maxItems/${X} are not specified or different at path "${F}"`;(0,xX.checkStrictMode)(H,O,A.strictTuples)}}}gV.validateTuple=fV;gV.default=CI});var lV=N((uV)=>{Object.defineProperty(uV,"__esModule",{value:!0});var vI=R$(),_I={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:(Q)=>(0,vI.validateTuple)(Q,"items")};uV.default=_I});var pV=N((cV)=>{Object.defineProperty(cV,"__esModule",{value:!0});var mV=r(),yI=W0(),fI=F1(),gI=Z$(),hI={message:({params:{len:Q}})=>mV.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>mV._`{limit: ${Q}}`},uI={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:hI,code(Q){let{schema:X,parentSchema:Y,it:W}=Q,{prefixItems:$}=Y;if(W.items=!0,(0,yI.alwaysValidSchema)(W,X))return;if($)(0,gI.validateAdditionalItems)(Q,$);else Q.ok((0,fI.validateArray)(Q))}};cV.default=uI});var iV=N((dV)=>{Object.defineProperty(dV,"__esModule",{value:!0});var D1=r(),yX=W0(),mI={message:({params:{min:Q,max:X}})=>X===void 0?D1.str`must contain at least ${Q} valid item(s)`:D1.str`must contain at least ${Q} and no more than ${X} valid item(s)`,params:({params:{min:Q,max:X}})=>X===void 0?D1._`{minContains: ${Q}}`:D1._`{minContains: ${Q}, maxContains: ${X}}`},cI={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:mI,code(Q){let{gen:X,schema:Y,parentSchema:W,data:$,it:J}=Q,G,H,{minContains:B,maxContains:z}=W;if(J.opts.next)G=B===void 0?1:B,H=z;else G=1;let K=X.const("len",D1._`${$}.length`);if(Q.setParams({min:G,max:H}),H===void 0&&G===0){(0,yX.checkStrictMode)(J,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(H!==void 0&&G>H){(0,yX.checkStrictMode)(J,'"minContains" > "maxContains" is always invalid'),Q.fail();return}if((0,yX.alwaysValidSchema)(J,Y)){let D=D1._`${K} >= ${G}`;if(H!==void 0)D=D1._`${D} && ${K} <= ${H}`;Q.pass(D);return}J.items=!0;let V=X.name("valid");if(H===void 0&&G===1)F(V,()=>X.if(V,()=>X.break()));else if(G===0){if(X.let(V,!0),H!==void 0)X.if(D1._`${$}.length > 0`,A)}else X.let(V,!1),A();Q.result(V,()=>Q.reset());function A(){let D=X.name("_valid"),O=X.let("count",0);F(D,()=>X.if(D,()=>L(O)))}function F(D,O){X.forRange("i",0,K,(U)=>{Q.subschema({keyword:"contains",dataProp:U,dataPropType:yX.Type.Num,compositeRule:!0},D),O()})}function L(D){if(X.code(D1._`${D}++`),H===void 0)X.if(D1._`${D} >= ${G}`,()=>X.assign(V,!0).break());else if(X.if(D1._`${D} > ${H}`,()=>X.assign(V,!1).break()),G===1)X.assign(V,!0);else X.if(D1._`${D} >= ${G}`,()=>X.assign(V,!0))}}};dV.default=cI});var sV=N((rV)=>{Object.defineProperty(rV,"__esModule",{value:!0});rV.validateSchemaDeps=rV.validatePropertyDeps=rV.error=void 0;var E$=r(),dI=W0(),S4=F1();rV.error={message:({params:{property:Q,depsCount:X,deps:Y}})=>{let W=X===1?"property":"properties";return E$.str`must have ${W} ${Y} when property ${Q} is present`},params:({params:{property:Q,depsCount:X,deps:Y,missingProperty:W}})=>E$._`{property: ${Q},
6
+ || ${G} === "boolean" || ${$} === null`).assign(H,d._`[${$}]`)}}}function mP({gen:Q,parentData:Y,parentDataProperty:X},W){Q.if(d._`${Y} !== undefined`,()=>Q.assign(d._`${Y}[${X}]`,W))}function B$(Q,Y,X,W=Q8.Correct){let $=W===Q8.Correct?d.operators.EQ:d.operators.NEQ,J;switch(Q){case"null":return d._`${Y} ${$} null`;case"array":J=d._`Array.isArray(${Y})`;break;case"object":J=d._`${Y} && typeof ${Y} == "object" && !Array.isArray(${Y})`;break;case"integer":J=G(d._`!(${Y} % 1) && !isNaN(${Y})`);break;case"number":J=G();break;default:return d._`typeof ${Y} ${$} ${Q}`}return W===Q8.Correct?J:(0,d.not)(J);function G(H=d.nil){return(0,d.and)(d._`typeof ${Y} == "number"`,H,X?d._`isFinite(${Y})`:d.nil)}}pz.checkDataType=B$;function z$(Q,Y,X,W){if(Q.length===1)return B$(Q[0],Y,X,W);let $,J=(0,lz.toHash)(Q);if(J.array&&J.object){let G=d._`typeof ${Y} != "object"`;$=J.null?G:d._`!${Y} || ${G}`,delete J.null,delete J.array,delete J.object}else $=d.nil;if(J.number)delete J.integer;for(let G in J)$=(0,d.and)($,B$(G,Y,X,W));return $}pz.checkDataTypes=z$;var cP={message:({schema:Q})=>`must be ${Q}`,params:({schema:Q,schemaValue:Y})=>typeof Q=="string"?d._`{type: ${Q}}`:d._`{type: ${Y}}`};function K$(Q){let Y=pP(Q);(0,fP.reportError)(Y,cP)}pz.reportTypeError=K$;function pP(Q){let{gen:Y,data:X,schema:W}=Q,$=(0,lz.schemaRefOrVal)(Q,W,"type");return{gen:Y,keyword:"type",data:X,schema:W.type,schemaCode:$,schemaValue:$,parentSchema:W,params:{},it:Q}}});var rz=w((nz)=>{Object.defineProperty(nz,"__esModule",{value:!0});nz.assignDefaults=void 0;var Y8=r(),tP=W0();function sP(Q,Y){let{properties:X,items:W}=Q.schema;if(Y==="object"&&X)for(let $ in X)iz(Q,$,X[$].default);else if(Y==="array"&&Array.isArray(W))W.forEach(($,J)=>iz(Q,J,$.default))}nz.assignDefaults=sP;function iz(Q,Y,X){let{gen:W,compositeRule:$,data:J,opts:G}=Q;if(X===void 0)return;let H=Y8._`${J}${(0,Y8.getProperty)(Y)}`;if($){(0,tP.checkStrictMode)(Q,`default is ignored for: ${H}`);return}let B=Y8._`${H} === undefined`;if(G.useDefaults==="empty")B=Y8._`${B} || ${H} === null || ${H} === ""`;W.if(B,Y8._`${H} = ${(0,Y8.stringify)(X)}`)}});var A1=w((sz)=>{Object.defineProperty(sz,"__esModule",{value:!0});sz.validateUnion=sz.validateArray=sz.usePattern=sz.callValidateCode=sz.schemaProperties=sz.allSchemaProperties=sz.noPropertyInData=sz.propertyInData=sz.isOwnProperty=sz.hasPropFunc=sz.reportMissingProp=sz.checkMissingProp=sz.checkReportMissingProp=void 0;var O0=r(),V$=W0(),I6=J6(),eP=W0();function QR(Q,Y){let{gen:X,data:W,it:$}=Q;X.if(A$(X,W,Y,$.opts.ownProperties),()=>{Q.setParams({missingProperty:O0._`${Y}`},!0),Q.error()})}sz.checkReportMissingProp=QR;function YR({gen:Q,data:Y,it:{opts:X}},W,$){return(0,O0.or)(...W.map((J)=>(0,O0.and)(A$(Q,Y,J,X.ownProperties),O0._`${$} = ${J}`)))}sz.checkMissingProp=YR;function XR(Q,Y){Q.setParams({missingProperty:Y},!0),Q.error()}sz.reportMissingProp=XR;function az(Q){return Q.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:O0._`Object.prototype.hasOwnProperty`})}sz.hasPropFunc=az;function F$(Q,Y,X){return O0._`${az(Q)}.call(${Y}, ${X})`}sz.isOwnProperty=F$;function WR(Q,Y,X,W){let $=O0._`${Y}${(0,O0.getProperty)(X)} !== undefined`;return W?O0._`${$} && ${F$(Q,Y,X)}`:$}sz.propertyInData=WR;function A$(Q,Y,X,W){let $=O0._`${Y}${(0,O0.getProperty)(X)} === undefined`;return W?(0,O0.or)($,(0,O0.not)(F$(Q,Y,X))):$}sz.noPropertyInData=A$;function tz(Q){return Q?Object.keys(Q).filter((Y)=>Y!=="__proto__"):[]}sz.allSchemaProperties=tz;function $R(Q,Y){return tz(Y).filter((X)=>!(0,V$.alwaysValidSchema)(Q,Y[X]))}sz.schemaProperties=$R;function JR({schemaCode:Q,data:Y,it:{gen:X,topSchemaRef:W,schemaPath:$,errorPath:J},it:G},H,B,z){let K=z?O0._`${Q}, ${Y}, ${W}${$}`:Y,V=[[I6.default.instancePath,(0,O0.strConcat)(I6.default.instancePath,J)],[I6.default.parentData,G.parentData],[I6.default.parentDataProperty,G.parentDataProperty],[I6.default.rootData,I6.default.rootData]];if(G.opts.dynamicRef)V.push([I6.default.dynamicAnchors,I6.default.dynamicAnchors]);let F=O0._`${K}, ${X.object(...V)}`;return B!==O0.nil?O0._`${H}.call(${B}, ${F})`:O0._`${H}(${F})`}sz.callValidateCode=JR;var GR=O0._`new RegExp`;function HR({gen:Q,it:{opts:Y}},X){let W=Y.unicodeRegExp?"u":"",{regExp:$}=Y.code,J=$(X,W);return Q.scopeValue("pattern",{key:J.toString(),ref:J,code:O0._`${$.code==="new RegExp"?GR:(0,eP.useFunc)(Q,$)}(${X}, ${W})`})}sz.usePattern=HR;function BR(Q){let{gen:Y,data:X,keyword:W,it:$}=Q,J=Y.name("valid");if($.allErrors){let H=Y.let("valid",!0);return G(()=>Y.assign(H,!1)),H}return Y.var(J,!0),G(()=>Y.break()),J;function G(H){let B=Y.const("len",O0._`${X}.length`);Y.forRange("i",0,B,(z)=>{Q.subschema({keyword:W,dataProp:z,dataPropType:V$.Type.Num},J),Y.if((0,O0.not)(J),H)})}}sz.validateArray=BR;function zR(Q){let{gen:Y,schema:X,keyword:W,it:$}=Q;if(!Array.isArray(X))throw Error("ajv implementation error");if(X.some((B)=>(0,V$.alwaysValidSchema)($,B))&&!$.opts.unevaluated)return;let G=Y.let("valid",!1),H=Y.name("_valid");Y.block(()=>X.forEach((B,z)=>{let K=Q.subschema({keyword:W,schemaProp:z,compositeRule:!0},H);if(Y.assign(G,O0._`${G} || ${H}`),!Q.mergeValidEvaluated(K,H))Y.if((0,O0.not)(G))})),Q.result(G,()=>Q.reset(),()=>Q.error(!0))}sz.validateUnion=zR});var $K=w((XK)=>{Object.defineProperty(XK,"__esModule",{value:!0});XK.validateKeywordUsage=XK.validSchemaType=XK.funcKeywordCode=XK.macroKeywordCode=void 0;var i0=r(),V9=J6(),MR=A1(),bR=D4();function ZR(Q,Y){let{gen:X,keyword:W,schema:$,parentSchema:J,it:G}=Q,H=Y.macro.call(G.self,$,J,G),B=YK(X,W,H);if(G.opts.validateSchema!==!1)G.self.validateSchema(H,!0);let z=X.name("valid");Q.subschema({schema:H,schemaPath:i0.nil,errSchemaPath:`${G.errSchemaPath}/${W}`,topSchemaRef:B,compositeRule:!0},z),Q.pass(z,()=>Q.error(!0))}XK.macroKeywordCode=ZR;function PR(Q,Y){var X;let{gen:W,keyword:$,schema:J,parentSchema:G,$data:H,it:B}=Q;ER(B,Y);let z=!H&&Y.compile?Y.compile.call(B.self,J,G,B):Y.validate,K=YK(W,$,z),V=W.let("valid");Q.block$data(V,F),Q.ok((X=Y.valid)!==null&&X!==void 0?X:V);function F(){if(Y.errors===!1){if(L(),Y.modifying)QK(Q);O(()=>Q.error())}else{let U=Y.async?A():D();if(Y.modifying)QK(Q);O(()=>RR(Q,U))}}function A(){let U=W.let("ruleErrs",null);return W.try(()=>L(i0._`await `),(N)=>W.assign(V,!1).if(i0._`${N} instanceof ${B.ValidationError}`,()=>W.assign(U,i0._`${N}.errors`),()=>W.throw(N))),U}function D(){let U=i0._`${K}.errors`;return W.assign(U,null),L(i0.nil),U}function L(U=Y.async?i0._`await `:i0.nil){let N=B.opts.passContext?V9.default.this:V9.default.self,M=!(("compile"in Y)&&!H||Y.schema===!1);W.assign(V,i0._`${U}${(0,MR.callValidateCode)(Q,K,N,M)}`,Y.modifying)}function O(U){var N;W.if((0,i0.not)((N=Y.valid)!==null&&N!==void 0?N:V),U)}}XK.funcKeywordCode=PR;function QK(Q){let{gen:Y,data:X,it:W}=Q;Y.if(W.parentData,()=>Y.assign(X,i0._`${W.parentData}[${W.parentDataProperty}]`))}function RR(Q,Y){let{gen:X}=Q;X.if(i0._`Array.isArray(${Y})`,()=>{X.assign(V9.default.vErrors,i0._`${V9.default.vErrors} === null ? ${Y} : ${V9.default.vErrors}.concat(${Y})`).assign(V9.default.errors,i0._`${V9.default.vErrors}.length`),(0,bR.extendErrors)(Q)},()=>Q.error())}function ER({schemaEnv:Q},Y){if(Y.async&&!Q.$async)throw Error("async keyword in sync schema")}function YK(Q,Y,X){if(X===void 0)throw Error(`keyword "${Y}" failed to compile`);return Q.scopeValue("keyword",typeof X=="function"?{ref:X}:{ref:X,code:(0,i0.stringify)(X)})}function SR(Q,Y,X=!1){return!Y.length||Y.some((W)=>W==="array"?Array.isArray(Q):W==="object"?Q&&typeof Q=="object"&&!Array.isArray(Q):typeof Q==W||X&&typeof Q>"u")}XK.validSchemaType=SR;function IR({schema:Q,opts:Y,self:X,errSchemaPath:W},$,J){if(Array.isArray($.keyword)?!$.keyword.includes(J):$.keyword!==J)throw Error("ajv implementation error");let G=$.dependencies;if(G===null||G===void 0?void 0:G.some((H)=>!Object.prototype.hasOwnProperty.call(Q,H)))throw Error(`parent schema must have dependencies of ${J}: ${G.join(",")}`);if($.validateSchema){if(!$.validateSchema(Q[J])){let B=`keyword "${J}" value is invalid at path "${W}": `+X.errorsText($.validateSchema.errors);if(Y.validateSchema==="log")X.logger.error(B);else throw Error(B)}}}XK.validateKeywordUsage=IR});var BK=w((GK)=>{Object.defineProperty(GK,"__esModule",{value:!0});GK.extendSubschemaMode=GK.extendSubschemaData=GK.getSubschema=void 0;var d1=r(),JK=W0();function _R(Q,{keyword:Y,schemaProp:X,schema:W,schemaPath:$,errSchemaPath:J,topSchemaRef:G}){if(Y!==void 0&&W!==void 0)throw Error('both "keyword" and "schema" passed, only one allowed');if(Y!==void 0){let H=Q.schema[Y];return X===void 0?{schema:H,schemaPath:d1._`${Q.schemaPath}${(0,d1.getProperty)(Y)}`,errSchemaPath:`${Q.errSchemaPath}/${Y}`}:{schema:H[X],schemaPath:d1._`${Q.schemaPath}${(0,d1.getProperty)(Y)}${(0,d1.getProperty)(X)}`,errSchemaPath:`${Q.errSchemaPath}/${Y}/${(0,JK.escapeFragment)(X)}`}}if(W!==void 0){if($===void 0||J===void 0||G===void 0)throw Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:W,schemaPath:$,topSchemaRef:G,errSchemaPath:J}}throw Error('either "keyword" or "schema" must be passed')}GK.getSubschema=_R;function vR(Q,Y,{dataProp:X,dataPropType:W,data:$,dataTypes:J,propertyName:G}){if($!==void 0&&X!==void 0)throw Error('both "data" and "dataProp" passed, only one allowed');let{gen:H}=Y;if(X!==void 0){let{errorPath:z,dataPathArr:K,opts:V}=Y,F=H.let("data",d1._`${Y.data}${(0,d1.getProperty)(X)}`,!0);B(F),Q.errorPath=d1.str`${z}${(0,JK.getErrorPath)(X,W,V.jsPropertySyntax)}`,Q.parentDataProperty=d1._`${X}`,Q.dataPathArr=[...K,Q.parentDataProperty]}if($!==void 0){let z=$ instanceof d1.Name?$:H.let("data",$,!0);if(B(z),G!==void 0)Q.propertyName=G}if(J)Q.dataTypes=J;function B(z){Q.data=z,Q.dataLevel=Y.dataLevel+1,Q.dataTypes=[],Y.definedProperties=new Set,Q.parentData=Y.data,Q.dataNames=[...Y.dataNames,z]}}GK.extendSubschemaData=vR;function xR(Q,{jtdDiscriminator:Y,jtdMetadata:X,compositeRule:W,createErrors:$,allErrors:J}){if(W!==void 0)Q.compositeRule=W;if($!==void 0)Q.createErrors=$;if(J!==void 0)Q.allErrors=J;Q.jtdDiscriminator=Y,Q.jtdMetadata=X}GK.extendSubschemaMode=xR});var O4=w((qi,zK)=>{zK.exports=function Q(Y,X){if(Y===X)return!0;if(Y&&X&&typeof Y=="object"&&typeof X=="object"){if(Y.constructor!==X.constructor)return!1;var W,$,J;if(Array.isArray(Y)){if(W=Y.length,W!=X.length)return!1;for($=W;$--!==0;)if(!Q(Y[$],X[$]))return!1;return!0}if(Y.constructor===RegExp)return Y.source===X.source&&Y.flags===X.flags;if(Y.valueOf!==Object.prototype.valueOf)return Y.valueOf()===X.valueOf();if(Y.toString!==Object.prototype.toString)return Y.toString()===X.toString();if(J=Object.keys(Y),W=J.length,W!==Object.keys(X).length)return!1;for($=W;$--!==0;)if(!Object.prototype.hasOwnProperty.call(X,J[$]))return!1;for($=W;$--!==0;){var G=J[$];if(!Q(Y[G],X[G]))return!1}return!0}return Y!==Y&&X!==X}});var VK=w((Mi,KK)=>{var T6=KK.exports=function(Q,Y,X){if(typeof Y=="function")X=Y,Y={};X=Y.cb||X;var W=typeof X=="function"?X:X.pre||function(){},$=X.post||function(){};MY(Y,W,$,Q,"",Q)};T6.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};T6.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};T6.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};T6.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 MY(Q,Y,X,W,$,J,G,H,B,z){if(W&&typeof W=="object"&&!Array.isArray(W)){Y(W,$,J,G,H,B,z);for(var K in W){var V=W[K];if(Array.isArray(V)){if(K in T6.arrayKeywords)for(var F=0;F<V.length;F++)MY(Q,Y,X,V[F],$+"/"+K+"/"+F,J,$,K,W,F)}else if(K in T6.propsKeywords){if(V&&typeof V=="object")for(var A in V)MY(Q,Y,X,V[A],$+"/"+K+"/"+hR(A),J,$,K,W,A)}else if(K in T6.keywords||Q.allKeys&&!(K in T6.skipKeywords))MY(Q,Y,X,V,$+"/"+K,J,$,K,W)}X(W,$,J,G,H,B,z)}}function hR(Q){return Q.replace(/~/g,"~0").replace(/\//g,"~1")}});var U4=w((LK)=>{Object.defineProperty(LK,"__esModule",{value:!0});LK.getSchemaRefs=LK.resolveUrl=LK.normalizeId=LK._getFullPath=LK.getFullPath=LK.inlineRef=void 0;var gR=W0(),uR=O4(),lR=VK(),mR=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function cR(Q,Y=!0){if(typeof Q=="boolean")return!0;if(Y===!0)return!D$(Q);if(!Y)return!1;return FK(Q)<=Y}LK.inlineRef=cR;var pR=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function D$(Q){for(let Y in Q){if(pR.has(Y))return!0;let X=Q[Y];if(Array.isArray(X)&&X.some(D$))return!0;if(typeof X=="object"&&D$(X))return!0}return!1}function FK(Q){let Y=0;for(let X in Q){if(X==="$ref")return 1/0;if(Y++,mR.has(X))continue;if(typeof Q[X]=="object")(0,gR.eachItem)(Q[X],(W)=>Y+=FK(W));if(Y===1/0)return 1/0}return Y}function AK(Q,Y="",X){if(X!==!1)Y=X8(Y);let W=Q.parse(Y);return DK(Q,W)}LK.getFullPath=AK;function DK(Q,Y){return Q.serialize(Y).split("#")[0]+"#"}LK._getFullPath=DK;var dR=/#\/?$/;function X8(Q){return Q?Q.replace(dR,""):""}LK.normalizeId=X8;function iR(Q,Y,X){return X=X8(X),Q.resolve(Y,X)}LK.resolveUrl=iR;var nR=/^[a-z_][-a-z0-9._]*$/i;function oR(Q,Y){if(typeof Q=="boolean")return{};let{schemaId:X,uriResolver:W}=this.opts,$=X8(Q[X]||Y),J={"":$},G=AK(W,$,!1),H={},B=new Set;return lR(Q,{allKeys:!0},(V,F,A,D)=>{if(D===void 0)return;let L=G+F,O=J[D];if(typeof V[X]=="string")O=U.call(this,V[X]);N.call(this,V.$anchor),N.call(this,V.$dynamicAnchor),J[F]=O;function U(M){let S=this.opts.uriResolver.resolve;if(M=X8(O?S(O,M):M),B.has(M))throw K(M);B.add(M);let P=this.refs[M];if(typeof P=="string")P=this.refs[P];if(typeof P=="object")z(V,P.schema,M);else if(M!==X8(L))if(M[0]==="#")z(V,H[M],M),H[M]=V;else this.refs[M]=L;return M}function N(M){if(typeof M=="string"){if(!nR.test(M))throw Error(`invalid anchor "${M}"`);U.call(this,`#${M}`)}}}),H;function z(V,F,A){if(F!==void 0&&!uR(V,F))throw K(A)}function K(V){return Error(`reference "${V}" resolves to more than one schema`)}}LK.getSchemaRefs=oR});var N4=w((CK)=>{Object.defineProperty(CK,"__esModule",{value:!0});CK.getData=CK.KeywordCxt=CK.validateFunctionCode=void 0;var qK=vz(),UK=L4(),O$=H$(),bY=L4(),QE=rz(),w4=$K(),L$=BK(),f=r(),m=J6(),YE=U4(),G6=W0(),j4=D4();function XE(Q){if(ZK(Q)){if(PK(Q),bK(Q)){JE(Q);return}}MK(Q,()=>(0,qK.topBoolOrEmptySchema)(Q))}CK.validateFunctionCode=XE;function MK({gen:Q,validateName:Y,schema:X,schemaEnv:W,opts:$},J){if($.code.es5)Q.func(Y,f._`${m.default.data}, ${m.default.valCxt}`,W.$async,()=>{Q.code(f._`"use strict"; ${jK(X,$)}`),$E(Q,$),Q.code(J)});else Q.func(Y,f._`${m.default.data}, ${WE($)}`,W.$async,()=>Q.code(jK(X,$)).code(J))}function WE(Q){return f._`{${m.default.instancePath}="", ${m.default.parentData}, ${m.default.parentDataProperty}, ${m.default.rootData}=${m.default.data}${Q.dynamicRef?f._`, ${m.default.dynamicAnchors}={}`:f.nil}}={}`}function $E(Q,Y){Q.if(m.default.valCxt,()=>{if(Q.var(m.default.instancePath,f._`${m.default.valCxt}.${m.default.instancePath}`),Q.var(m.default.parentData,f._`${m.default.valCxt}.${m.default.parentData}`),Q.var(m.default.parentDataProperty,f._`${m.default.valCxt}.${m.default.parentDataProperty}`),Q.var(m.default.rootData,f._`${m.default.valCxt}.${m.default.rootData}`),Y.dynamicRef)Q.var(m.default.dynamicAnchors,f._`${m.default.valCxt}.${m.default.dynamicAnchors}`)},()=>{if(Q.var(m.default.instancePath,f._`""`),Q.var(m.default.parentData,f._`undefined`),Q.var(m.default.parentDataProperty,f._`undefined`),Q.var(m.default.rootData,m.default.data),Y.dynamicRef)Q.var(m.default.dynamicAnchors,f._`{}`)})}function JE(Q){let{schema:Y,opts:X,gen:W}=Q;MK(Q,()=>{if(X.$comment&&Y.$comment)EK(Q);if(KE(Q),W.let(m.default.vErrors,null),W.let(m.default.errors,0),X.unevaluated)GE(Q);RK(Q),AE(Q)});return}function GE(Q){let{gen:Y,validateName:X}=Q;Q.evaluated=Y.const("evaluated",f._`${X}.evaluated`),Y.if(f._`${Q.evaluated}.dynamicProps`,()=>Y.assign(f._`${Q.evaluated}.props`,f._`undefined`)),Y.if(f._`${Q.evaluated}.dynamicItems`,()=>Y.assign(f._`${Q.evaluated}.items`,f._`undefined`))}function jK(Q,Y){let X=typeof Q=="object"&&Q[Y.schemaId];return X&&(Y.code.source||Y.code.process)?f._`/*# sourceURL=${X} */`:f.nil}function HE(Q,Y){if(ZK(Q)){if(PK(Q),bK(Q)){BE(Q,Y);return}}(0,qK.boolOrEmptySchema)(Q,Y)}function bK({schema:Q,self:Y}){if(typeof Q=="boolean")return!Q;for(let X in Q)if(Y.RULES.all[X])return!0;return!1}function ZK(Q){return typeof Q.schema!="boolean"}function BE(Q,Y){let{schema:X,gen:W,opts:$}=Q;if($.$comment&&X.$comment)EK(Q);VE(Q),FE(Q);let J=W.const("_errs",m.default.errors);RK(Q,J),W.var(Y,f._`${J} === ${m.default.errors}`)}function PK(Q){(0,G6.checkUnknownRules)(Q),zE(Q)}function RK(Q,Y){if(Q.opts.jtd)return wK(Q,[],!1,Y);let X=(0,UK.getSchemaTypes)(Q.schema),W=(0,UK.coerceAndCheckDataType)(Q,X);wK(Q,X,!W,Y)}function zE(Q){let{schema:Y,errSchemaPath:X,opts:W,self:$}=Q;if(Y.$ref&&W.ignoreKeywordsWithRef&&(0,G6.schemaHasRulesButRef)(Y,$.RULES))$.logger.warn(`$ref: keywords ignored in schema at path "${X}"`)}function KE(Q){let{schema:Y,opts:X}=Q;if(Y.default!==void 0&&X.useDefaults&&X.strictSchema)(0,G6.checkStrictMode)(Q,"default is ignored in the schema root")}function VE(Q){let Y=Q.schema[Q.opts.schemaId];if(Y)Q.baseId=(0,YE.resolveUrl)(Q.opts.uriResolver,Q.baseId,Y)}function FE(Q){if(Q.schema.$async&&!Q.schemaEnv.$async)throw Error("async schema in sync schema")}function EK({gen:Q,schemaEnv:Y,schema:X,errSchemaPath:W,opts:$}){let J=X.$comment;if($.$comment===!0)Q.code(f._`${m.default.self}.logger.log(${J})`);else if(typeof $.$comment=="function"){let G=f.str`${W}/$comment`,H=Q.scopeValue("root",{ref:Y.root});Q.code(f._`${m.default.self}.opts.$comment(${J}, ${G}, ${H}.schema)`)}}function AE(Q){let{gen:Y,schemaEnv:X,validateName:W,ValidationError:$,opts:J}=Q;if(X.$async)Y.if(f._`${m.default.errors} === 0`,()=>Y.return(m.default.data),()=>Y.throw(f._`new ${$}(${m.default.vErrors})`));else{if(Y.assign(f._`${W}.errors`,m.default.vErrors),J.unevaluated)DE(Q);Y.return(f._`${m.default.errors} === 0`)}}function DE({gen:Q,evaluated:Y,props:X,items:W}){if(X instanceof f.Name)Q.assign(f._`${Y}.props`,X);if(W instanceof f.Name)Q.assign(f._`${Y}.items`,W)}function wK(Q,Y,X,W){let{gen:$,schema:J,data:G,allErrors:H,opts:B,self:z}=Q,{RULES:K}=z;if(J.$ref&&(B.ignoreKeywordsWithRef||!(0,G6.schemaHasRulesButRef)(J,K))){$.block(()=>IK(Q,"$ref",K.all.$ref.definition));return}if(!B.jtd)LE(Q,Y);$.block(()=>{for(let F of K.rules)V(F);V(K.post)});function V(F){if(!(0,O$.shouldUseGroup)(J,F))return;if(F.type){if($.if((0,bY.checkDataType)(F.type,G,B.strictNumbers)),NK(Q,F),Y.length===1&&Y[0]===F.type&&X)$.else(),(0,bY.reportTypeError)(Q);$.endIf()}else NK(Q,F);if(!H)$.if(f._`${m.default.errors} === ${W||0}`)}}function NK(Q,Y){let{gen:X,schema:W,opts:{useDefaults:$}}=Q;if($)(0,QE.assignDefaults)(Q,Y.type);X.block(()=>{for(let J of Y.rules)if((0,O$.shouldUseRule)(W,J))IK(Q,J.keyword,J.definition,Y.type)})}function LE(Q,Y){if(Q.schemaEnv.meta||!Q.opts.strictTypes)return;if(OE(Q,Y),!Q.opts.allowUnionTypes)UE(Q,Y);jE(Q,Q.dataTypes)}function OE(Q,Y){if(!Y.length)return;if(!Q.dataTypes.length){Q.dataTypes=Y;return}Y.forEach((X)=>{if(!SK(Q.dataTypes,X))U$(Q,`type "${X}" not allowed by context "${Q.dataTypes.join(",")}"`)}),NE(Q,Y)}function UE(Q,Y){if(Y.length>1&&!(Y.length===2&&Y.includes("null")))U$(Q,"use allowUnionTypes to allow union type keyword")}function jE(Q,Y){let X=Q.self.RULES.all;for(let W in X){let $=X[W];if(typeof $=="object"&&(0,O$.shouldUseRule)(Q.schema,$)){let{type:J}=$.definition;if(J.length&&!J.some((G)=>wE(Y,G)))U$(Q,`missing type "${J.join(",")}" for keyword "${W}"`)}}}function wE(Q,Y){return Q.includes(Y)||Y==="number"&&Q.includes("integer")}function SK(Q,Y){return Q.includes(Y)||Y==="integer"&&Q.includes("number")}function NE(Q,Y){let X=[];for(let W of Q.dataTypes)if(SK(Y,W))X.push(W);else if(Y.includes("integer")&&W==="number")X.push("integer");Q.dataTypes=X}function U$(Q,Y){let X=Q.schemaEnv.baseId+Q.errSchemaPath;Y+=` at "${X}" (strictTypes)`,(0,G6.checkStrictMode)(Q,Y,Q.opts.strictTypes)}class j${constructor(Q,Y,X){if((0,w4.validateKeywordUsage)(Q,Y,X),this.gen=Q.gen,this.allErrors=Q.allErrors,this.keyword=X,this.data=Q.data,this.schema=Q.schema[X],this.$data=Y.$data&&Q.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,G6.schemaRefOrVal)(Q,this.schema,X,this.$data),this.schemaType=Y.schemaType,this.parentSchema=Q.schema,this.params={},this.it=Q,this.def=Y,this.$data)this.schemaCode=Q.gen.const("vSchema",TK(this.$data,Q));else if(this.schemaCode=this.schemaValue,!(0,w4.validSchemaType)(this.schema,Y.schemaType,Y.allowUndefined))throw Error(`${X} value must be ${JSON.stringify(Y.schemaType)}`);if("code"in Y?Y.trackErrors:Y.errors!==!1)this.errsCount=Q.gen.const("_errs",m.default.errors)}result(Q,Y,X){this.failResult((0,f.not)(Q),Y,X)}failResult(Q,Y,X){if(this.gen.if(Q),X)X();else this.error();if(Y){if(this.gen.else(),Y(),this.allErrors)this.gen.endIf()}else if(this.allErrors)this.gen.endIf();else this.gen.else()}pass(Q,Y){this.failResult((0,f.not)(Q),void 0,Y)}fail(Q){if(Q===void 0){if(this.error(),!this.allErrors)this.gen.if(!1);return}if(this.gen.if(Q),this.error(),this.allErrors)this.gen.endIf();else this.gen.else()}fail$data(Q){if(!this.$data)return this.fail(Q);let{schemaCode:Y}=this;this.fail(f._`${Y} !== undefined && (${(0,f.or)(this.invalid$data(),Q)})`)}error(Q,Y,X){if(Y){this.setParams(Y),this._error(Q,X),this.setParams({});return}this._error(Q,X)}_error(Q,Y){(Q?j4.reportExtraError:j4.reportError)(this,this.def.error,Y)}$dataError(){(0,j4.reportError)(this,this.def.$dataError||j4.keyword$DataError)}reset(){if(this.errsCount===void 0)throw Error('add "trackErrors" to keyword definition');(0,j4.resetErrorsCount)(this.gen,this.errsCount)}ok(Q){if(!this.allErrors)this.gen.if(Q)}setParams(Q,Y){if(Y)Object.assign(this.params,Q);else this.params=Q}block$data(Q,Y,X=f.nil){this.gen.block(()=>{this.check$data(Q,X),Y()})}check$data(Q=f.nil,Y=f.nil){if(!this.$data)return;let{gen:X,schemaCode:W,schemaType:$,def:J}=this;if(X.if((0,f.or)(f._`${W} === undefined`,Y)),Q!==f.nil)X.assign(Q,!0);if($.length||J.validateSchema){if(X.elseIf(this.invalid$data()),this.$dataError(),Q!==f.nil)X.assign(Q,!1)}X.else()}invalid$data(){let{gen:Q,schemaCode:Y,schemaType:X,def:W,it:$}=this;return(0,f.or)(J(),G());function J(){if(X.length){if(!(Y instanceof f.Name))throw Error("ajv implementation error");let H=Array.isArray(X)?X:[X];return f._`${(0,bY.checkDataTypes)(H,Y,$.opts.strictNumbers,bY.DataType.Wrong)}`}return f.nil}function G(){if(W.validateSchema){let H=Q.scopeValue("validate$data",{ref:W.validateSchema});return f._`!${H}(${Y})`}return f.nil}}subschema(Q,Y){let X=(0,L$.getSubschema)(this.it,Q);(0,L$.extendSubschemaData)(X,this.it,Q),(0,L$.extendSubschemaMode)(X,Q);let W={...this.it,...X,items:void 0,props:void 0};return HE(W,Y),W}mergeEvaluated(Q,Y){let{it:X,gen:W}=this;if(!X.opts.unevaluated)return;if(X.props!==!0&&Q.props!==void 0)X.props=G6.mergeEvaluated.props(W,Q.props,X.props,Y);if(X.items!==!0&&Q.items!==void 0)X.items=G6.mergeEvaluated.items(W,Q.items,X.items,Y)}mergeValidEvaluated(Q,Y){let{it:X,gen:W}=this;if(X.opts.unevaluated&&(X.props!==!0||X.items!==!0))return W.if(Y,()=>this.mergeEvaluated(Q,f.Name)),!0}}CK.KeywordCxt=j$;function IK(Q,Y,X,W){let $=new j$(Q,X,Y);if("code"in X)X.code($,W);else if($.$data&&X.validate)(0,w4.funcKeywordCode)($,X);else if("macro"in X)(0,w4.macroKeywordCode)($,X);else if(X.compile||X.validate)(0,w4.funcKeywordCode)($,X)}var qE=/^\/(?:[^~]|~0|~1)*$/,ME=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function TK(Q,{dataLevel:Y,dataNames:X,dataPathArr:W}){let $,J;if(Q==="")return m.default.rootData;if(Q[0]==="/"){if(!qE.test(Q))throw Error(`Invalid JSON-pointer: ${Q}`);$=Q,J=m.default.rootData}else{let z=ME.exec(Q);if(!z)throw Error(`Invalid JSON-pointer: ${Q}`);let K=+z[1];if($=z[2],$==="#"){if(K>=Y)throw Error(B("property/index",K));return W[Y-K]}if(K>Y)throw Error(B("data",K));if(J=X[Y-K],!$)return J}let G=J,H=$.split("/");for(let z of H)if(z)J=f._`${J}${(0,f.getProperty)((0,G6.unescapeJsonPointer)(z))}`,G=f._`${G} && ${J}`;return G;function B(z,K){return`Cannot access ${z} ${K} levels up, current level is ${Y}`}}CK.getData=TK});var ZY=w((vK)=>{Object.defineProperty(vK,"__esModule",{value:!0});class _K extends Error{constructor(Q){super("validation failed");this.errors=Q,this.ajv=this.validation=!0}}vK.default=_K});var q4=w((yK)=>{Object.defineProperty(yK,"__esModule",{value:!0});var w$=U4();class xK extends Error{constructor(Q,Y,X,W){super(W||`can't resolve reference ${X} from id ${Y}`);this.missingRef=(0,w$.resolveUrl)(Q,Y,X),this.missingSchema=(0,w$.normalizeId)((0,w$.getFullPath)(Q,this.missingRef))}}yK.default=xK});var RY=w((gK)=>{Object.defineProperty(gK,"__esModule",{value:!0});gK.resolveSchema=gK.getCompilingSchema=gK.resolveRef=gK.compileSchema=gK.SchemaEnv=void 0;var I1=r(),EE=ZY(),F9=J6(),T1=U4(),fK=W0(),SE=N4();class M4{constructor(Q){var Y;this.refs={},this.dynamicAnchors={};let X;if(typeof Q.schema=="object")X=Q.schema;this.schema=Q.schema,this.schemaId=Q.schemaId,this.root=Q.root||this,this.baseId=(Y=Q.baseId)!==null&&Y!==void 0?Y:(0,T1.normalizeId)(X===null||X===void 0?void 0:X[Q.schemaId||"$id"]),this.schemaPath=Q.schemaPath,this.localRefs=Q.localRefs,this.meta=Q.meta,this.$async=X===null||X===void 0?void 0:X.$async,this.refs={}}}gK.SchemaEnv=M4;function q$(Q){let Y=hK.call(this,Q);if(Y)return Y;let X=(0,T1.getFullPath)(this.opts.uriResolver,Q.root.baseId),{es5:W,lines:$}=this.opts.code,{ownProperties:J}=this.opts,G=new I1.CodeGen(this.scope,{es5:W,lines:$,ownProperties:J}),H;if(Q.$async)H=G.scopeValue("Error",{ref:EE.default,code:I1._`require("ajv/dist/runtime/validation_error").default`});let B=G.scopeName("validate");Q.validateName=B;let z={gen:G,allErrors:this.opts.allErrors,data:F9.default.data,parentData:F9.default.parentData,parentDataProperty:F9.default.parentDataProperty,dataNames:[F9.default.data],dataPathArr:[I1.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:G.scopeValue("schema",this.opts.code.source===!0?{ref:Q.schema,code:(0,I1.stringify)(Q.schema)}:{ref:Q.schema}),validateName:B,ValidationError:H,schema:Q.schema,schemaEnv:Q,rootId:X,baseId:Q.baseId||X,schemaPath:I1.nil,errSchemaPath:Q.schemaPath||(this.opts.jtd?"":"#"),errorPath:I1._`""`,opts:this.opts,self:this},K;try{this._compilations.add(Q),(0,SE.validateFunctionCode)(z),G.optimize(this.opts.code.optimize);let V=G.toString();if(K=`${G.scopeRefs(F9.default.scope)}return ${V}`,this.opts.code.process)K=this.opts.code.process(K,Q);let A=Function(`${F9.default.self}`,`${F9.default.scope}`,K)(this,this.scope.get());if(this.scope.value(B,{ref:A}),A.errors=null,A.schema=Q.schema,A.schemaEnv=Q,Q.$async)A.$async=!0;if(this.opts.code.source===!0)A.source={validateName:B,validateCode:V,scopeValues:G._values};if(this.opts.unevaluated){let{props:D,items:L}=z;if(A.evaluated={props:D instanceof I1.Name?void 0:D,items:L instanceof I1.Name?void 0:L,dynamicProps:D instanceof I1.Name,dynamicItems:L instanceof I1.Name},A.source)A.source.evaluated=(0,I1.stringify)(A.evaluated)}return Q.validate=A,Q}catch(V){if(delete Q.validate,delete Q.validateName,K)this.logger.error("Error compiling schema, function code:",K);throw V}finally{this._compilations.delete(Q)}}gK.compileSchema=q$;function IE(Q,Y,X){var W;X=(0,T1.resolveUrl)(this.opts.uriResolver,Y,X);let $=Q.refs[X];if($)return $;let J=kE.call(this,Q,X);if(J===void 0){let G=(W=Q.localRefs)===null||W===void 0?void 0:W[X],{schemaId:H}=this.opts;if(G)J=new M4({schema:G,schemaId:H,root:Q,baseId:Y})}if(J===void 0)return;return Q.refs[X]=TE.call(this,J)}gK.resolveRef=IE;function TE(Q){if((0,T1.inlineRef)(Q.schema,this.opts.inlineRefs))return Q.schema;return Q.validate?Q:q$.call(this,Q)}function hK(Q){for(let Y of this._compilations)if(CE(Y,Q))return Y}gK.getCompilingSchema=hK;function CE(Q,Y){return Q.schema===Y.schema&&Q.root===Y.root&&Q.baseId===Y.baseId}function kE(Q,Y){let X;while(typeof(X=this.refs[Y])=="string")Y=X;return X||this.schemas[Y]||PY.call(this,Q,Y)}function PY(Q,Y){let X=this.opts.uriResolver.parse(Y),W=(0,T1._getFullPath)(this.opts.uriResolver,X),$=(0,T1.getFullPath)(this.opts.uriResolver,Q.baseId,void 0);if(Object.keys(Q.schema).length>0&&W===$)return N$.call(this,X,Q);let J=(0,T1.normalizeId)(W),G=this.refs[J]||this.schemas[J];if(typeof G=="string"){let H=PY.call(this,Q,G);if(typeof(H===null||H===void 0?void 0:H.schema)!=="object")return;return N$.call(this,X,H)}if(typeof(G===null||G===void 0?void 0:G.schema)!=="object")return;if(!G.validate)q$.call(this,G);if(J===(0,T1.normalizeId)(Y)){let{schema:H}=G,{schemaId:B}=this.opts,z=H[B];if(z)$=(0,T1.resolveUrl)(this.opts.uriResolver,$,z);return new M4({schema:H,schemaId:B,root:Q,baseId:$})}return N$.call(this,X,G)}gK.resolveSchema=PY;var _E=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function N$(Q,{baseId:Y,schema:X,root:W}){var $;if((($=Q.fragment)===null||$===void 0?void 0:$[0])!=="/")return;for(let H of Q.fragment.slice(1).split("/")){if(typeof X==="boolean")return;let B=X[(0,fK.unescapeFragment)(H)];if(B===void 0)return;X=B;let z=typeof X==="object"&&X[this.opts.schemaId];if(!_E.has(H)&&z)Y=(0,T1.resolveUrl)(this.opts.uriResolver,Y,z)}let J;if(typeof X!="boolean"&&X.$ref&&!(0,fK.schemaHasRulesButRef)(X,this.RULES)){let H=(0,T1.resolveUrl)(this.opts.uriResolver,Y,X.$ref);J=PY.call(this,W,H)}let{schemaId:G}=this.opts;if(J=J||new M4({schema:X,schemaId:G,root:W,baseId:Y}),J.schema!==J.root.schema)return J;return}});var lK=w((Si,hE)=>{hE.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 b$=w((Ii,dK)=>{var gE=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),cK=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function M$(Q){let Y="",X=0,W=0;for(W=0;W<Q.length;W++){if(X=Q[W].charCodeAt(0),X===48)continue;if(!(X>=48&&X<=57||X>=65&&X<=70||X>=97&&X<=102))return"";Y+=Q[W];break}for(W+=1;W<Q.length;W++){if(X=Q[W].charCodeAt(0),!(X>=48&&X<=57||X>=65&&X<=70||X>=97&&X<=102))return"";Y+=Q[W]}return Y}var uE=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function mK(Q){return Q.length=0,!0}function lE(Q,Y,X){if(Q.length){let W=M$(Q);if(W!=="")Y.push(W);else return X.error=!0,!1;Q.length=0}return!0}function mE(Q){let Y=0,X={error:!1,address:"",zone:""},W=[],$=[],J=!1,G=!1,H=lE;for(let B=0;B<Q.length;B++){let z=Q[B];if(z==="["||z==="]")continue;if(z===":"){if(J===!0)G=!0;if(!H($,W,X))break;if(++Y>7){X.error=!0;break}if(B>0&&Q[B-1]===":")J=!0;W.push(":");continue}else if(z==="%"){if(!H($,W,X))break;H=mK}else{$.push(z);continue}}if($.length)if(H===mK)X.zone=$.join("");else if(G)W.push($.join(""));else W.push(M$($));return X.address=W.join(""),X}function pK(Q){if(cE(Q,":")<2)return{host:Q,isIPV6:!1};let Y=mE(Q);if(!Y.error){let{address:X,address:W}=Y;if(Y.zone)X+="%"+Y.zone,W+="%25"+Y.zone;return{host:X,isIPV6:!0,escapedHost:W}}else return{host:Q,isIPV6:!1}}function cE(Q,Y){let X=0;for(let W=0;W<Q.length;W++)if(Q[W]===Y)X++;return X}function pE(Q){let Y=Q,X=[],W=-1,$=0;while($=Y.length){if($===1)if(Y===".")break;else if(Y==="/"){X.push("/");break}else{X.push(Y);break}else if($===2){if(Y[0]==="."){if(Y[1]===".")break;else if(Y[1]==="/"){Y=Y.slice(2);continue}}else if(Y[0]==="/"){if(Y[1]==="."||Y[1]==="/"){X.push("/");break}}}else if($===3){if(Y==="/.."){if(X.length!==0)X.pop();X.push("/");break}}if(Y[0]==="."){if(Y[1]==="."){if(Y[2]==="/"){Y=Y.slice(3);continue}}else if(Y[1]==="/"){Y=Y.slice(2);continue}}else if(Y[0]==="/"){if(Y[1]==="."){if(Y[2]==="/"){Y=Y.slice(2);continue}else if(Y[2]==="."){if(Y[3]==="/"){if(Y=Y.slice(3),X.length!==0)X.pop();continue}}}}if((W=Y.indexOf("/",1))===-1){X.push(Y);break}else X.push(Y.slice(0,W)),Y=Y.slice(W)}return X.join("")}function dE(Q,Y){let X=Y!==!0?escape:unescape;if(Q.scheme!==void 0)Q.scheme=X(Q.scheme);if(Q.userinfo!==void 0)Q.userinfo=X(Q.userinfo);if(Q.host!==void 0)Q.host=X(Q.host);if(Q.path!==void 0)Q.path=X(Q.path);if(Q.query!==void 0)Q.query=X(Q.query);if(Q.fragment!==void 0)Q.fragment=X(Q.fragment);return Q}function iE(Q){let Y=[];if(Q.userinfo!==void 0)Y.push(Q.userinfo),Y.push("@");if(Q.host!==void 0){let X=unescape(Q.host);if(!cK(X)){let W=pK(X);if(W.isIPV6===!0)X=`[${W.escapedHost}]`;else X=Q.host}Y.push(X)}if(typeof Q.port==="number"||typeof Q.port==="string")Y.push(":"),Y.push(String(Q.port));return Y.length?Y.join(""):void 0}dK.exports={nonSimpleDomain:uE,recomposeAuthority:iE,normalizeComponentEncoding:dE,removeDotSegments:pE,isIPv4:cK,isUUID:gE,normalizeIPv6:pK,stringArrayToHexStripped:M$}});var aK=w((Ti,rK)=>{var{isUUID:nE}=b$(),oE=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,rE=["http","https","ws","wss","urn","urn:uuid"];function aE(Q){return rE.indexOf(Q)!==-1}function Z$(Q){if(Q.secure===!0)return!0;else if(Q.secure===!1)return!1;else if(Q.scheme)return Q.scheme.length===3&&(Q.scheme[0]==="w"||Q.scheme[0]==="W")&&(Q.scheme[1]==="s"||Q.scheme[1]==="S")&&(Q.scheme[2]==="s"||Q.scheme[2]==="S");else return!1}function iK(Q){if(!Q.host)Q.error=Q.error||"HTTP URIs must have a host.";return Q}function nK(Q){let Y=String(Q.scheme).toLowerCase()==="https";if(Q.port===(Y?443:80)||Q.port==="")Q.port=void 0;if(!Q.path)Q.path="/";return Q}function tE(Q){return Q.secure=Z$(Q),Q.resourceName=(Q.path||"/")+(Q.query?"?"+Q.query:""),Q.path=void 0,Q.query=void 0,Q}function sE(Q){if(Q.port===(Z$(Q)?443:80)||Q.port==="")Q.port=void 0;if(typeof Q.secure==="boolean")Q.scheme=Q.secure?"wss":"ws",Q.secure=void 0;if(Q.resourceName){let[Y,X]=Q.resourceName.split("?");Q.path=Y&&Y!=="/"?Y:void 0,Q.query=X,Q.resourceName=void 0}return Q.fragment=void 0,Q}function eE(Q,Y){if(!Q.path)return Q.error="URN can not be parsed",Q;let X=Q.path.match(oE);if(X){let W=Y.scheme||Q.scheme||"urn";Q.nid=X[1].toLowerCase(),Q.nss=X[2];let $=`${W}:${Y.nid||Q.nid}`,J=P$($);if(Q.path=void 0,J)Q=J.parse(Q,Y)}else Q.error=Q.error||"URN can not be parsed.";return Q}function QS(Q,Y){if(Q.nid===void 0)throw Error("URN without nid cannot be serialized");let X=Y.scheme||Q.scheme||"urn",W=Q.nid.toLowerCase(),$=`${X}:${Y.nid||W}`,J=P$($);if(J)Q=J.serialize(Q,Y);let G=Q,H=Q.nss;return G.path=`${W||Y.nid}:${H}`,Y.skipEscape=!0,G}function YS(Q,Y){let X=Q;if(X.uuid=X.nss,X.nss=void 0,!Y.tolerant&&(!X.uuid||!nE(X.uuid)))X.error=X.error||"UUID is not valid.";return X}function XS(Q){let Y=Q;return Y.nss=(Q.uuid||"").toLowerCase(),Y}var oK={scheme:"http",domainHost:!0,parse:iK,serialize:nK},WS={scheme:"https",domainHost:oK.domainHost,parse:iK,serialize:nK},EY={scheme:"ws",domainHost:!0,parse:tE,serialize:sE},$S={scheme:"wss",domainHost:EY.domainHost,parse:EY.parse,serialize:EY.serialize},JS={scheme:"urn",parse:eE,serialize:QS,skipNormalize:!0},GS={scheme:"urn:uuid",parse:YS,serialize:XS,skipNormalize:!0},SY={http:oK,https:WS,ws:EY,wss:$S,urn:JS,"urn:uuid":GS};Object.setPrototypeOf(SY,null);function P$(Q){return Q&&(SY[Q]||SY[Q.toLowerCase()])||void 0}rK.exports={wsIsSecure:Z$,SCHEMES:SY,isValidSchemeName:aE,getSchemeHandler:P$}});var E$=w((Ci,TY)=>{var{normalizeIPv6:HS,removeDotSegments:b4,recomposeAuthority:BS,normalizeComponentEncoding:IY,isIPv4:zS,nonSimpleDomain:KS}=b$(),{SCHEMES:VS,getSchemeHandler:tK}=aK();function FS(Q,Y){if(typeof Q==="string")Q=i1(H6(Q,Y),Y);else if(typeof Q==="object")Q=H6(i1(Q,Y),Y);return Q}function AS(Q,Y,X){let W=X?Object.assign({scheme:"null"},X):{scheme:"null"},$=sK(H6(Q,W),H6(Y,W),W,!0);return W.skipEscape=!0,i1($,W)}function sK(Q,Y,X,W){let $={};if(!W)Q=H6(i1(Q,X),X),Y=H6(i1(Y,X),X);if(X=X||{},!X.tolerant&&Y.scheme)$.scheme=Y.scheme,$.userinfo=Y.userinfo,$.host=Y.host,$.port=Y.port,$.path=b4(Y.path||""),$.query=Y.query;else{if(Y.userinfo!==void 0||Y.host!==void 0||Y.port!==void 0)$.userinfo=Y.userinfo,$.host=Y.host,$.port=Y.port,$.path=b4(Y.path||""),$.query=Y.query;else{if(!Y.path)if($.path=Q.path,Y.query!==void 0)$.query=Y.query;else $.query=Q.query;else{if(Y.path[0]==="/")$.path=b4(Y.path);else{if((Q.userinfo!==void 0||Q.host!==void 0||Q.port!==void 0)&&!Q.path)$.path="/"+Y.path;else if(!Q.path)$.path=Y.path;else $.path=Q.path.slice(0,Q.path.lastIndexOf("/")+1)+Y.path;$.path=b4($.path)}$.query=Y.query}$.userinfo=Q.userinfo,$.host=Q.host,$.port=Q.port}$.scheme=Q.scheme}return $.fragment=Y.fragment,$}function DS(Q,Y,X){if(typeof Q==="string")Q=unescape(Q),Q=i1(IY(H6(Q,X),!0),{...X,skipEscape:!0});else if(typeof Q==="object")Q=i1(IY(Q,!0),{...X,skipEscape:!0});if(typeof Y==="string")Y=unescape(Y),Y=i1(IY(H6(Y,X),!0),{...X,skipEscape:!0});else if(typeof Y==="object")Y=i1(IY(Y,!0),{...X,skipEscape:!0});return Q.toLowerCase()===Y.toLowerCase()}function i1(Q,Y){let X={host:Q.host,scheme:Q.scheme,userinfo:Q.userinfo,port:Q.port,path:Q.path,query:Q.query,nid:Q.nid,nss:Q.nss,uuid:Q.uuid,fragment:Q.fragment,reference:Q.reference,resourceName:Q.resourceName,secure:Q.secure,error:""},W=Object.assign({},Y),$=[],J=tK(W.scheme||X.scheme);if(J&&J.serialize)J.serialize(X,W);if(X.path!==void 0)if(!W.skipEscape){if(X.path=escape(X.path),X.scheme!==void 0)X.path=X.path.split("%3A").join(":")}else X.path=unescape(X.path);if(W.reference!=="suffix"&&X.scheme)$.push(X.scheme,":");let G=BS(X);if(G!==void 0){if(W.reference!=="suffix")$.push("//");if($.push(G),X.path&&X.path[0]!=="/")$.push("/")}if(X.path!==void 0){let H=X.path;if(!W.absolutePath&&(!J||!J.absolutePath))H=b4(H);if(G===void 0&&H[0]==="/"&&H[1]==="/")H="/%2F"+H.slice(2);$.push(H)}if(X.query!==void 0)$.push("?",X.query);if(X.fragment!==void 0)$.push("#",X.fragment);return $.join("")}var LS=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function H6(Q,Y){let X=Object.assign({},Y),W={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},$=!1;if(X.reference==="suffix")if(X.scheme)Q=X.scheme+":"+Q;else Q="//"+Q;let J=Q.match(LS);if(J){if(W.scheme=J[1],W.userinfo=J[3],W.host=J[4],W.port=parseInt(J[5],10),W.path=J[6]||"",W.query=J[7],W.fragment=J[8],isNaN(W.port))W.port=J[5];if(W.host)if(zS(W.host)===!1){let B=HS(W.host);W.host=B.host.toLowerCase(),$=B.isIPV6}else $=!0;if(W.scheme===void 0&&W.userinfo===void 0&&W.host===void 0&&W.port===void 0&&W.query===void 0&&!W.path)W.reference="same-document";else if(W.scheme===void 0)W.reference="relative";else if(W.fragment===void 0)W.reference="absolute";else W.reference="uri";if(X.reference&&X.reference!=="suffix"&&X.reference!==W.reference)W.error=W.error||"URI is not a "+X.reference+" reference.";let G=tK(X.scheme||W.scheme);if(!X.unicodeSupport&&(!G||!G.unicodeSupport)){if(W.host&&(X.domainHost||G&&G.domainHost)&&$===!1&&KS(W.host))try{W.host=URL.domainToASCII(W.host.toLowerCase())}catch(H){W.error=W.error||"Host's domain name can not be converted to ASCII: "+H}}if(!G||G&&!G.skipNormalize){if(Q.indexOf("%")!==-1){if(W.scheme!==void 0)W.scheme=unescape(W.scheme);if(W.host!==void 0)W.host=unescape(W.host)}if(W.path)W.path=escape(unescape(W.path));if(W.fragment)W.fragment=encodeURI(decodeURIComponent(W.fragment))}if(G&&G.parse)G.parse(W,X)}else W.error=W.error||"URI can not be parsed.";return W}var R$={SCHEMES:VS,normalize:FS,resolve:AS,resolveComponent:sK,equal:DS,serialize:i1,parse:H6};TY.exports=R$;TY.exports.default=R$;TY.exports.fastUri=R$});var YV=w((QV)=>{Object.defineProperty(QV,"__esModule",{value:!0});var eK=E$();eK.code='require("ajv/dist/runtime/uri").default';QV.default=eK});var zV=w((B6)=>{Object.defineProperty(B6,"__esModule",{value:!0});B6.CodeGen=B6.Name=B6.nil=B6.stringify=B6.str=B6._=B6.KeywordCxt=void 0;var US=N4();Object.defineProperty(B6,"KeywordCxt",{enumerable:!0,get:function(){return US.KeywordCxt}});var W8=r();Object.defineProperty(B6,"_",{enumerable:!0,get:function(){return W8._}});Object.defineProperty(B6,"str",{enumerable:!0,get:function(){return W8.str}});Object.defineProperty(B6,"stringify",{enumerable:!0,get:function(){return W8.stringify}});Object.defineProperty(B6,"nil",{enumerable:!0,get:function(){return W8.nil}});Object.defineProperty(B6,"Name",{enumerable:!0,get:function(){return W8.Name}});Object.defineProperty(B6,"CodeGen",{enumerable:!0,get:function(){return W8.CodeGen}});var jS=ZY(),GV=q4(),wS=G$(),Z4=RY(),NS=r(),P4=U4(),CY=L4(),I$=W0(),XV=lK(),qS=YV(),HV=(Q,Y)=>new RegExp(Q,Y);HV.code="new RegExp";var MS=["removeAdditional","useDefaults","coerceTypes"],bS=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),ZS={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."},PS={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},WV=200;function RS(Q){var Y,X,W,$,J,G,H,B,z,K,V,F,A,D,L,O,U,N,M,S,P,V0,Z0,h1,p6;let U1=Q.strict,d6=(Y=Q.code)===null||Y===void 0?void 0:Y.optimize,T8=d6===!0||d6===void 0?1:d6||0,C8=(W=(X=Q.code)===null||X===void 0?void 0:X.regExp)!==null&&W!==void 0?W:HV,Y7=($=Q.uriResolver)!==null&&$!==void 0?$:qS.default;return{strictSchema:(G=(J=Q.strictSchema)!==null&&J!==void 0?J:U1)!==null&&G!==void 0?G:!0,strictNumbers:(B=(H=Q.strictNumbers)!==null&&H!==void 0?H:U1)!==null&&B!==void 0?B:!0,strictTypes:(K=(z=Q.strictTypes)!==null&&z!==void 0?z:U1)!==null&&K!==void 0?K:"log",strictTuples:(F=(V=Q.strictTuples)!==null&&V!==void 0?V:U1)!==null&&F!==void 0?F:"log",strictRequired:(D=(A=Q.strictRequired)!==null&&A!==void 0?A:U1)!==null&&D!==void 0?D:!1,code:Q.code?{...Q.code,optimize:T8,regExp:C8}:{optimize:T8,regExp:C8},loopRequired:(L=Q.loopRequired)!==null&&L!==void 0?L:WV,loopEnum:(O=Q.loopEnum)!==null&&O!==void 0?O:WV,meta:(U=Q.meta)!==null&&U!==void 0?U:!0,messages:(N=Q.messages)!==null&&N!==void 0?N:!0,inlineRefs:(M=Q.inlineRefs)!==null&&M!==void 0?M:!0,schemaId:(S=Q.schemaId)!==null&&S!==void 0?S:"$id",addUsedSchema:(P=Q.addUsedSchema)!==null&&P!==void 0?P:!0,validateSchema:(V0=Q.validateSchema)!==null&&V0!==void 0?V0:!0,validateFormats:(Z0=Q.validateFormats)!==null&&Z0!==void 0?Z0:!0,unicodeRegExp:(h1=Q.unicodeRegExp)!==null&&h1!==void 0?h1:!0,int32range:(p6=Q.int32range)!==null&&p6!==void 0?p6:!0,uriResolver:Y7}}class kY{constructor(Q={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,Q=this.opts={...Q,...RS(Q)};let{es5:Y,lines:X}=this.opts.code;this.scope=new NS.ValueScope({scope:{},prefixes:bS,es5:Y,lines:X}),this.logger=kS(Q.logger);let W=Q.validateFormats;if(Q.validateFormats=!1,this.RULES=(0,wS.getRules)(),$V.call(this,ZS,Q,"NOT SUPPORTED"),$V.call(this,PS,Q,"DEPRECATED","warn"),this._metaOpts=TS.call(this),Q.formats)SS.call(this);if(this._addVocabularies(),this._addDefaultMetaSchema(),Q.keywords)IS.call(this,Q.keywords);if(typeof Q.meta=="object")this.addMetaSchema(Q.meta);ES.call(this),Q.validateFormats=W}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:Q,meta:Y,schemaId:X}=this.opts,W=XV;if(X==="id")W={...XV},W.id=W.$id,delete W.$id;if(Y&&Q)this.addMetaSchema(W,W[X],!1)}defaultMeta(){let{meta:Q,schemaId:Y}=this.opts;return this.opts.defaultMeta=typeof Q=="object"?Q[Y]||Q:void 0}validate(Q,Y){let X;if(typeof Q=="string"){if(X=this.getSchema(Q),!X)throw Error(`no schema with key or ref "${Q}"`)}else X=this.compile(Q);let W=X(Y);if(!("$async"in X))this.errors=X.errors;return W}compile(Q,Y){let X=this._addSchema(Q,Y);return X.validate||this._compileSchemaEnv(X)}compileAsync(Q,Y){if(typeof this.opts.loadSchema!="function")throw Error("options.loadSchema should be a function");let{loadSchema:X}=this.opts;return W.call(this,Q,Y);async function W(z,K){await $.call(this,z.$schema);let V=this._addSchema(z,K);return V.validate||J.call(this,V)}async function $(z){if(z&&!this.getSchema(z))await W.call(this,{$ref:z},!0)}async function J(z){try{return this._compileSchemaEnv(z)}catch(K){if(!(K instanceof GV.default))throw K;return G.call(this,K),await H.call(this,K.missingSchema),J.call(this,z)}}function G({missingSchema:z,missingRef:K}){if(this.refs[z])throw Error(`AnySchema ${z} is loaded but ${K} cannot be resolved`)}async function H(z){let K=await B.call(this,z);if(!this.refs[z])await $.call(this,K.$schema);if(!this.refs[z])this.addSchema(K,z,Y)}async function B(z){let K=this._loading[z];if(K)return K;try{return await(this._loading[z]=X(z))}finally{delete this._loading[z]}}}addSchema(Q,Y,X,W=this.opts.validateSchema){if(Array.isArray(Q)){for(let J of Q)this.addSchema(J,void 0,X,W);return this}let $;if(typeof Q==="object"){let{schemaId:J}=this.opts;if($=Q[J],$!==void 0&&typeof $!="string")throw Error(`schema ${J} must be string`)}return Y=(0,P4.normalizeId)(Y||$),this._checkUnique(Y),this.schemas[Y]=this._addSchema(Q,X,Y,W,!0),this}addMetaSchema(Q,Y,X=this.opts.validateSchema){return this.addSchema(Q,Y,!0,X),this}validateSchema(Q,Y){if(typeof Q=="boolean")return!0;let X;if(X=Q.$schema,X!==void 0&&typeof X!="string")throw Error("$schema must be a string");if(X=X||this.opts.defaultMeta||this.defaultMeta(),!X)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let W=this.validate(X,Q);if(!W&&Y){let $="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error($);else throw Error($)}return W}getSchema(Q){let Y;while(typeof(Y=JV.call(this,Q))=="string")Q=Y;if(Y===void 0){let{schemaId:X}=this.opts,W=new Z4.SchemaEnv({schema:{},schemaId:X});if(Y=Z4.resolveSchema.call(this,W,Q),!Y)return;this.refs[Q]=Y}return Y.validate||this._compileSchemaEnv(Y)}removeSchema(Q){if(Q instanceof RegExp)return this._removeAllSchemas(this.schemas,Q),this._removeAllSchemas(this.refs,Q),this;switch(typeof Q){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let Y=JV.call(this,Q);if(typeof Y=="object")this._cache.delete(Y.schema);return delete this.schemas[Q],delete this.refs[Q],this}case"object":{let Y=Q;this._cache.delete(Y);let X=Q[this.opts.schemaId];if(X)X=(0,P4.normalizeId)(X),delete this.schemas[X],delete this.refs[X];return this}default:throw Error("ajv.removeSchema: invalid parameter")}}addVocabulary(Q){for(let Y of Q)this.addKeyword(Y);return this}addKeyword(Q,Y){let X;if(typeof Q=="string"){if(X=Q,typeof Y=="object")this.logger.warn("these parameters are deprecated, see docs for addKeyword"),Y.keyword=X}else if(typeof Q=="object"&&Y===void 0){if(Y=Q,X=Y.keyword,Array.isArray(X)&&!X.length)throw Error("addKeywords: keyword must be string or non-empty array")}else throw Error("invalid addKeywords parameters");if(vS.call(this,X,Y),!Y)return(0,I$.eachItem)(X,($)=>S$.call(this,$)),this;yS.call(this,Y);let W={...Y,type:(0,CY.getJSONTypes)(Y.type),schemaType:(0,CY.getJSONTypes)(Y.schemaType)};return(0,I$.eachItem)(X,W.type.length===0?($)=>S$.call(this,$,W):($)=>W.type.forEach((J)=>S$.call(this,$,W,J))),this}getKeyword(Q){let Y=this.RULES.all[Q];return typeof Y=="object"?Y.definition:!!Y}removeKeyword(Q){let{RULES:Y}=this;delete Y.keywords[Q],delete Y.all[Q];for(let X of Y.rules){let W=X.rules.findIndex(($)=>$.keyword===Q);if(W>=0)X.rules.splice(W,1)}return this}addFormat(Q,Y){if(typeof Y=="string")Y=new RegExp(Y);return this.formats[Q]=Y,this}errorsText(Q=this.errors,{separator:Y=", ",dataVar:X="data"}={}){if(!Q||Q.length===0)return"No errors";return Q.map((W)=>`${X}${W.instancePath} ${W.message}`).reduce((W,$)=>W+Y+$)}$dataMetaSchema(Q,Y){let X=this.RULES.all;Q=JSON.parse(JSON.stringify(Q));for(let W of Y){let $=W.split("/").slice(1),J=Q;for(let G of $)J=J[G];for(let G in X){let H=X[G];if(typeof H!="object")continue;let{$data:B}=H.definition,z=J[G];if(B&&z)J[G]=BV(z)}}return Q}_removeAllSchemas(Q,Y){for(let X in Q){let W=Q[X];if(!Y||Y.test(X)){if(typeof W=="string")delete Q[X];else if(W&&!W.meta)this._cache.delete(W.schema),delete Q[X]}}}_addSchema(Q,Y,X,W=this.opts.validateSchema,$=this.opts.addUsedSchema){let J,{schemaId:G}=this.opts;if(typeof Q=="object")J=Q[G];else if(this.opts.jtd)throw Error("schema must be object");else if(typeof Q!="boolean")throw Error("schema must be object or boolean");let H=this._cache.get(Q);if(H!==void 0)return H;X=(0,P4.normalizeId)(J||X);let B=P4.getSchemaRefs.call(this,Q,X);if(H=new Z4.SchemaEnv({schema:Q,schemaId:G,meta:Y,baseId:X,localRefs:B}),this._cache.set(H.schema,H),$&&!X.startsWith("#")){if(X)this._checkUnique(X);this.refs[X]=H}if(W)this.validateSchema(Q,!0);return H}_checkUnique(Q){if(this.schemas[Q]||this.refs[Q])throw Error(`schema with key or id "${Q}" already exists`)}_compileSchemaEnv(Q){if(Q.meta)this._compileMetaSchema(Q);else Z4.compileSchema.call(this,Q);if(!Q.validate)throw Error("ajv implementation error");return Q.validate}_compileMetaSchema(Q){let Y=this.opts;this.opts=this._metaOpts;try{Z4.compileSchema.call(this,Q)}finally{this.opts=Y}}}kY.ValidationError=jS.default;kY.MissingRefError=GV.default;B6.default=kY;function $V(Q,Y,X,W="error"){for(let $ in Q){let J=$;if(J in Y)this.logger[W](`${X}: option ${$}. ${Q[J]}`)}}function JV(Q){return Q=(0,P4.normalizeId)(Q),this.schemas[Q]||this.refs[Q]}function ES(){let Q=this.opts.schemas;if(!Q)return;if(Array.isArray(Q))this.addSchema(Q);else for(let Y in Q)this.addSchema(Q[Y],Y)}function SS(){for(let Q in this.opts.formats){let Y=this.opts.formats[Q];if(Y)this.addFormat(Q,Y)}}function IS(Q){if(Array.isArray(Q)){this.addVocabulary(Q);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let Y in Q){let X=Q[Y];if(!X.keyword)X.keyword=Y;this.addKeyword(X)}}function TS(){let Q={...this.opts};for(let Y of MS)delete Q[Y];return Q}var CS={log(){},warn(){},error(){}};function kS(Q){if(Q===!1)return CS;if(Q===void 0)return console;if(Q.log&&Q.warn&&Q.error)return Q;throw Error("logger must implement log, warn and error methods")}var _S=/^[a-z_$][a-z0-9_$:-]*$/i;function vS(Q,Y){let{RULES:X}=this;if((0,I$.eachItem)(Q,(W)=>{if(X.keywords[W])throw Error(`Keyword ${W} is already defined`);if(!_S.test(W))throw Error(`Keyword ${W} has invalid name`)}),!Y)return;if(Y.$data&&!(("code"in Y)||("validate"in Y)))throw Error('$data keyword must have "code" or "validate" function')}function S$(Q,Y,X){var W;let $=Y===null||Y===void 0?void 0:Y.post;if(X&&$)throw Error('keyword with "post" flag cannot have "type"');let{RULES:J}=this,G=$?J.post:J.rules.find(({type:B})=>B===X);if(!G)G={type:X,rules:[]},J.rules.push(G);if(J.keywords[Q]=!0,!Y)return;let H={keyword:Q,definition:{...Y,type:(0,CY.getJSONTypes)(Y.type),schemaType:(0,CY.getJSONTypes)(Y.schemaType)}};if(Y.before)xS.call(this,G,H,Y.before);else G.rules.push(H);J.all[Q]=H,(W=Y.implements)===null||W===void 0||W.forEach((B)=>this.addKeyword(B))}function xS(Q,Y,X){let W=Q.rules.findIndex(($)=>$.keyword===X);if(W>=0)Q.rules.splice(W,0,Y);else Q.rules.push(Y),this.logger.warn(`rule ${X} is not defined`)}function yS(Q){let{metaSchema:Y}=Q;if(Y===void 0)return;if(Q.$data&&this.opts.$data)Y=BV(Y);Q.validateSchema=this.compile(Y,!0)}var fS={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function BV(Q){return{anyOf:[Q,fS]}}});var VV=w((KV)=>{Object.defineProperty(KV,"__esModule",{value:!0});var uS={keyword:"id",code(){throw Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};KV.default=uS});var UV=w((LV)=>{Object.defineProperty(LV,"__esModule",{value:!0});LV.callRef=LV.getValidate=void 0;var mS=q4(),FV=A1(),W1=r(),$8=J6(),AV=RY(),_Y=W0(),cS={keyword:"$ref",schemaType:"string",code(Q){let{gen:Y,schema:X,it:W}=Q,{baseId:$,schemaEnv:J,validateName:G,opts:H,self:B}=W,{root:z}=J;if((X==="#"||X==="#/")&&$===z.baseId)return V();let K=AV.resolveRef.call(B,z,$,X);if(K===void 0)throw new mS.default(W.opts.uriResolver,$,X);if(K instanceof AV.SchemaEnv)return F(K);return A(K);function V(){if(J===z)return vY(Q,G,J,J.$async);let D=Y.scopeValue("root",{ref:z});return vY(Q,W1._`${D}.validate`,z,z.$async)}function F(D){let L=DV(Q,D);vY(Q,L,D,D.$async)}function A(D){let L=Y.scopeValue("schema",H.code.source===!0?{ref:D,code:(0,W1.stringify)(D)}:{ref:D}),O=Y.name("valid"),U=Q.subschema({schema:D,dataTypes:[],schemaPath:W1.nil,topSchemaRef:L,errSchemaPath:X},O);Q.mergeEvaluated(U),Q.ok(O)}}};function DV(Q,Y){let{gen:X}=Q;return Y.validate?X.scopeValue("validate",{ref:Y.validate}):W1._`${X.scopeValue("wrapper",{ref:Y})}.validate`}LV.getValidate=DV;function vY(Q,Y,X,W){let{gen:$,it:J}=Q,{allErrors:G,schemaEnv:H,opts:B}=J,z=B.passContext?$8.default.this:W1.nil;if(W)K();else V();function K(){if(!H.$async)throw Error("async schema referenced by sync schema");let D=$.let("valid");$.try(()=>{if($.code(W1._`await ${(0,FV.callValidateCode)(Q,Y,z)}`),A(Y),!G)$.assign(D,!0)},(L)=>{if($.if(W1._`!(${L} instanceof ${J.ValidationError})`,()=>$.throw(L)),F(L),!G)$.assign(D,!1)}),Q.ok(D)}function V(){Q.result((0,FV.callValidateCode)(Q,Y,z),()=>A(Y),()=>F(Y))}function F(D){let L=W1._`${D}.errors`;$.assign($8.default.vErrors,W1._`${$8.default.vErrors} === null ? ${L} : ${$8.default.vErrors}.concat(${L})`),$.assign($8.default.errors,W1._`${$8.default.vErrors}.length`)}function A(D){var L;if(!J.opts.unevaluated)return;let O=(L=X===null||X===void 0?void 0:X.validate)===null||L===void 0?void 0:L.evaluated;if(J.props!==!0)if(O&&!O.dynamicProps){if(O.props!==void 0)J.props=_Y.mergeEvaluated.props($,O.props,J.props)}else{let U=$.var("props",W1._`${D}.evaluated.props`);J.props=_Y.mergeEvaluated.props($,U,J.props,W1.Name)}if(J.items!==!0)if(O&&!O.dynamicItems){if(O.items!==void 0)J.items=_Y.mergeEvaluated.items($,O.items,J.items)}else{let U=$.var("items",W1._`${D}.evaluated.items`);J.items=_Y.mergeEvaluated.items($,U,J.items,W1.Name)}}}LV.callRef=vY;LV.default=cS});var wV=w((jV)=>{Object.defineProperty(jV,"__esModule",{value:!0});var iS=VV(),nS=UV(),oS=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",iS.default,nS.default];jV.default=oS});var qV=w((NV)=>{Object.defineProperty(NV,"__esModule",{value:!0});var xY=r(),C6=xY.operators,yY={maximum:{okStr:"<=",ok:C6.LTE,fail:C6.GT},minimum:{okStr:">=",ok:C6.GTE,fail:C6.LT},exclusiveMaximum:{okStr:"<",ok:C6.LT,fail:C6.GTE},exclusiveMinimum:{okStr:">",ok:C6.GT,fail:C6.LTE}},aS={message:({keyword:Q,schemaCode:Y})=>xY.str`must be ${yY[Q].okStr} ${Y}`,params:({keyword:Q,schemaCode:Y})=>xY._`{comparison: ${yY[Q].okStr}, limit: ${Y}}`},tS={keyword:Object.keys(yY),type:"number",schemaType:"number",$data:!0,error:aS,code(Q){let{keyword:Y,data:X,schemaCode:W}=Q;Q.fail$data(xY._`${X} ${yY[Y].fail} ${W} || isNaN(${X})`)}};NV.default=tS});var bV=w((MV)=>{Object.defineProperty(MV,"__esModule",{value:!0});var R4=r(),eS={message:({schemaCode:Q})=>R4.str`must be multiple of ${Q}`,params:({schemaCode:Q})=>R4._`{multipleOf: ${Q}}`},QI={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:eS,code(Q){let{gen:Y,data:X,schemaCode:W,it:$}=Q,J=$.opts.multipleOfPrecision,G=Y.let("res"),H=J?R4._`Math.abs(Math.round(${G}) - ${G}) > 1e-${J}`:R4._`${G} !== parseInt(${G})`;Q.fail$data(R4._`(${W} === 0 || (${G} = ${X}/${W}, ${H}))`)}};MV.default=QI});var RV=w((PV)=>{Object.defineProperty(PV,"__esModule",{value:!0});function ZV(Q){let Y=Q.length,X=0,W=0,$;while(W<Y)if(X++,$=Q.charCodeAt(W++),$>=55296&&$<=56319&&W<Y){if($=Q.charCodeAt(W),($&64512)===56320)W++}return X}PV.default=ZV;ZV.code='require("ajv/dist/runtime/ucs2length").default'});var SV=w((EV)=>{Object.defineProperty(EV,"__esModule",{value:!0});var A9=r(),WI=W0(),$I=RV(),JI={message({keyword:Q,schemaCode:Y}){let X=Q==="maxLength"?"more":"fewer";return A9.str`must NOT have ${X} than ${Y} characters`},params:({schemaCode:Q})=>A9._`{limit: ${Q}}`},GI={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:JI,code(Q){let{keyword:Y,data:X,schemaCode:W,it:$}=Q,J=Y==="maxLength"?A9.operators.GT:A9.operators.LT,G=$.opts.unicode===!1?A9._`${X}.length`:A9._`${(0,WI.useFunc)(Q.gen,$I.default)}(${X})`;Q.fail$data(A9._`${G} ${J} ${W}`)}};EV.default=GI});var TV=w((IV)=>{Object.defineProperty(IV,"__esModule",{value:!0});var BI=A1(),fY=r(),zI={message:({schemaCode:Q})=>fY.str`must match pattern "${Q}"`,params:({schemaCode:Q})=>fY._`{pattern: ${Q}}`},KI={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:zI,code(Q){let{data:Y,$data:X,schema:W,schemaCode:$,it:J}=Q,G=J.opts.unicodeRegExp?"u":"",H=X?fY._`(new RegExp(${$}, ${G}))`:(0,BI.usePattern)(Q,W);Q.fail$data(fY._`!${H}.test(${Y})`)}};IV.default=KI});var kV=w((CV)=>{Object.defineProperty(CV,"__esModule",{value:!0});var E4=r(),FI={message({keyword:Q,schemaCode:Y}){let X=Q==="maxProperties"?"more":"fewer";return E4.str`must NOT have ${X} than ${Y} properties`},params:({schemaCode:Q})=>E4._`{limit: ${Q}}`},AI={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:FI,code(Q){let{keyword:Y,data:X,schemaCode:W}=Q,$=Y==="maxProperties"?E4.operators.GT:E4.operators.LT;Q.fail$data(E4._`Object.keys(${X}).length ${$} ${W}`)}};CV.default=AI});var vV=w((_V)=>{Object.defineProperty(_V,"__esModule",{value:!0});var S4=A1(),I4=r(),LI=W0(),OI={message:({params:{missingProperty:Q}})=>I4.str`must have required property '${Q}'`,params:({params:{missingProperty:Q}})=>I4._`{missingProperty: ${Q}}`},UI={keyword:"required",type:"object",schemaType:"array",$data:!0,error:OI,code(Q){let{gen:Y,schema:X,schemaCode:W,data:$,$data:J,it:G}=Q,{opts:H}=G;if(!J&&X.length===0)return;let B=X.length>=H.loopRequired;if(G.allErrors)z();else K();if(H.strictRequired){let A=Q.parentSchema.properties,{definedProperties:D}=Q.it;for(let L of X)if((A===null||A===void 0?void 0:A[L])===void 0&&!D.has(L)){let O=G.schemaEnv.baseId+G.errSchemaPath,U=`required property "${L}" is not defined at "${O}" (strictRequired)`;(0,LI.checkStrictMode)(G,U,G.opts.strictRequired)}}function z(){if(B||J)Q.block$data(I4.nil,V);else for(let A of X)(0,S4.checkReportMissingProp)(Q,A)}function K(){let A=Y.let("missing");if(B||J){let D=Y.let("valid",!0);Q.block$data(D,()=>F(A,D)),Q.ok(D)}else Y.if((0,S4.checkMissingProp)(Q,X,A)),(0,S4.reportMissingProp)(Q,A),Y.else()}function V(){Y.forOf("prop",W,(A)=>{Q.setParams({missingProperty:A}),Y.if((0,S4.noPropertyInData)(Y,$,A,H.ownProperties),()=>Q.error())})}function F(A,D){Q.setParams({missingProperty:A}),Y.forOf(A,W,()=>{Y.assign(D,(0,S4.propertyInData)(Y,$,A,H.ownProperties)),Y.if((0,I4.not)(D),()=>{Q.error(),Y.break()})},I4.nil)}}};_V.default=UI});var yV=w((xV)=>{Object.defineProperty(xV,"__esModule",{value:!0});var T4=r(),wI={message({keyword:Q,schemaCode:Y}){let X=Q==="maxItems"?"more":"fewer";return T4.str`must NOT have ${X} than ${Y} items`},params:({schemaCode:Q})=>T4._`{limit: ${Q}}`},NI={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:wI,code(Q){let{keyword:Y,data:X,schemaCode:W}=Q,$=Y==="maxItems"?T4.operators.GT:T4.operators.LT;Q.fail$data(T4._`${X}.length ${$} ${W}`)}};xV.default=NI});var hY=w((hV)=>{Object.defineProperty(hV,"__esModule",{value:!0});var fV=O4();fV.code='require("ajv/dist/runtime/equal").default';hV.default=fV});var uV=w((gV)=>{Object.defineProperty(gV,"__esModule",{value:!0});var T$=L4(),f0=r(),bI=W0(),ZI=hY(),PI={message:({params:{i:Q,j:Y}})=>f0.str`must NOT have duplicate items (items ## ${Y} and ${Q} are identical)`,params:({params:{i:Q,j:Y}})=>f0._`{i: ${Q}, j: ${Y}}`},RI={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:PI,code(Q){let{gen:Y,data:X,$data:W,schema:$,parentSchema:J,schemaCode:G,it:H}=Q;if(!W&&!$)return;let B=Y.let("valid"),z=J.items?(0,T$.getSchemaTypes)(J.items):[];Q.block$data(B,K,f0._`${G} === false`),Q.ok(B);function K(){let D=Y.let("i",f0._`${X}.length`),L=Y.let("j");Q.setParams({i:D,j:L}),Y.assign(B,!0),Y.if(f0._`${D} > 1`,()=>(V()?F:A)(D,L))}function V(){return z.length>0&&!z.some((D)=>D==="object"||D==="array")}function F(D,L){let O=Y.name("item"),U=(0,T$.checkDataTypes)(z,O,H.opts.strictNumbers,T$.DataType.Wrong),N=Y.const("indices",f0._`{}`);Y.for(f0._`;${D}--;`,()=>{if(Y.let(O,f0._`${X}[${D}]`),Y.if(U,f0._`continue`),z.length>1)Y.if(f0._`typeof ${O} == "string"`,f0._`${O} += "_"`);Y.if(f0._`typeof ${N}[${O}] == "number"`,()=>{Y.assign(L,f0._`${N}[${O}]`),Q.error(),Y.assign(B,!1).break()}).code(f0._`${N}[${O}] = ${D}`)})}function A(D,L){let O=(0,bI.useFunc)(Y,ZI.default),U=Y.name("outer");Y.label(U).for(f0._`;${D}--;`,()=>Y.for(f0._`${L} = ${D}; ${L}--;`,()=>Y.if(f0._`${O}(${X}[${D}], ${X}[${L}])`,()=>{Q.error(),Y.assign(B,!1).break(U)})))}}};gV.default=RI});var mV=w((lV)=>{Object.defineProperty(lV,"__esModule",{value:!0});var C$=r(),SI=W0(),II=hY(),TI={message:"must be equal to constant",params:({schemaCode:Q})=>C$._`{allowedValue: ${Q}}`},CI={keyword:"const",$data:!0,error:TI,code(Q){let{gen:Y,data:X,$data:W,schemaCode:$,schema:J}=Q;if(W||J&&typeof J=="object")Q.fail$data(C$._`!${(0,SI.useFunc)(Y,II.default)}(${X}, ${$})`);else Q.fail(C$._`${J} !== ${X}`)}};lV.default=CI});var pV=w((cV)=>{Object.defineProperty(cV,"__esModule",{value:!0});var C4=r(),_I=W0(),vI=hY(),xI={message:"must be equal to one of the allowed values",params:({schemaCode:Q})=>C4._`{allowedValues: ${Q}}`},yI={keyword:"enum",schemaType:"array",$data:!0,error:xI,code(Q){let{gen:Y,data:X,$data:W,schema:$,schemaCode:J,it:G}=Q;if(!W&&$.length===0)throw Error("enum must have non-empty array");let H=$.length>=G.opts.loopEnum,B,z=()=>B!==null&&B!==void 0?B:B=(0,_I.useFunc)(Y,vI.default),K;if(H||W)K=Y.let("valid"),Q.block$data(K,V);else{if(!Array.isArray($))throw Error("ajv implementation error");let A=Y.const("vSchema",J);K=(0,C4.or)(...$.map((D,L)=>F(A,L)))}Q.pass(K);function V(){Y.assign(K,!1),Y.forOf("v",J,(A)=>Y.if(C4._`${z()}(${X}, ${A})`,()=>Y.assign(K,!0).break()))}function F(A,D){let L=$[D];return typeof L==="object"&&L!==null?C4._`${z()}(${X}, ${A}[${D}])`:C4._`${X} === ${L}`}}};cV.default=yI});var iV=w((dV)=>{Object.defineProperty(dV,"__esModule",{value:!0});var hI=qV(),gI=bV(),uI=SV(),lI=TV(),mI=kV(),cI=vV(),pI=yV(),dI=uV(),iI=mV(),nI=pV(),oI=[hI.default,gI.default,uI.default,lI.default,mI.default,cI.default,pI.default,dI.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},iI.default,nI.default];dV.default=oI});var _$=w((oV)=>{Object.defineProperty(oV,"__esModule",{value:!0});oV.validateAdditionalItems=void 0;var D9=r(),k$=W0(),aI={message:({params:{len:Q}})=>D9.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>D9._`{limit: ${Q}}`},tI={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:aI,code(Q){let{parentSchema:Y,it:X}=Q,{items:W}=Y;if(!Array.isArray(W)){(0,k$.checkStrictMode)(X,'"additionalItems" is ignored when "items" is not an array of schemas');return}nV(Q,W)}};function nV(Q,Y){let{gen:X,schema:W,data:$,keyword:J,it:G}=Q;G.items=!0;let H=X.const("len",D9._`${$}.length`);if(W===!1)Q.setParams({len:Y.length}),Q.pass(D9._`${H} <= ${Y.length}`);else if(typeof W=="object"&&!(0,k$.alwaysValidSchema)(G,W)){let z=X.var("valid",D9._`${H} <= ${Y.length}`);X.if((0,D9.not)(z),()=>B(z)),Q.ok(z)}function B(z){X.forRange("i",Y.length,H,(K)=>{if(Q.subschema({keyword:J,dataProp:K,dataPropType:k$.Type.Num},z),!G.allErrors)X.if((0,D9.not)(z),()=>X.break())})}}oV.validateAdditionalItems=nV;oV.default=tI});var v$=w((sV)=>{Object.defineProperty(sV,"__esModule",{value:!0});sV.validateTuple=void 0;var aV=r(),gY=W0(),eI=A1(),QT={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(Q){let{schema:Y,it:X}=Q;if(Array.isArray(Y))return tV(Q,"additionalItems",Y);if(X.items=!0,(0,gY.alwaysValidSchema)(X,Y))return;Q.ok((0,eI.validateArray)(Q))}};function tV(Q,Y,X=Q.schema){let{gen:W,parentSchema:$,data:J,keyword:G,it:H}=Q;if(K($),H.opts.unevaluated&&X.length&&H.items!==!0)H.items=gY.mergeEvaluated.items(W,X.length,H.items);let B=W.name("valid"),z=W.const("len",aV._`${J}.length`);X.forEach((V,F)=>{if((0,gY.alwaysValidSchema)(H,V))return;W.if(aV._`${z} > ${F}`,()=>Q.subschema({keyword:G,schemaProp:F,dataProp:F},B)),Q.ok(B)});function K(V){let{opts:F,errSchemaPath:A}=H,D=X.length,L=D===V.minItems&&(D===V.maxItems||V[Y]===!1);if(F.strictTuples&&!L){let O=`"${G}" is ${D}-tuple, but minItems or maxItems/${Y} are not specified or different at path "${A}"`;(0,gY.checkStrictMode)(H,O,F.strictTuples)}}}sV.validateTuple=tV;sV.default=QT});var YF=w((QF)=>{Object.defineProperty(QF,"__esModule",{value:!0});var XT=v$(),WT={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:(Q)=>(0,XT.validateTuple)(Q,"items")};QF.default=WT});var $F=w((WF)=>{Object.defineProperty(WF,"__esModule",{value:!0});var XF=r(),JT=W0(),GT=A1(),HT=_$(),BT={message:({params:{len:Q}})=>XF.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>XF._`{limit: ${Q}}`},zT={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:BT,code(Q){let{schema:Y,parentSchema:X,it:W}=Q,{prefixItems:$}=X;if(W.items=!0,(0,JT.alwaysValidSchema)(W,Y))return;if($)(0,HT.validateAdditionalItems)(Q,$);else Q.ok((0,GT.validateArray)(Q))}};WF.default=zT});var GF=w((JF)=>{Object.defineProperty(JF,"__esModule",{value:!0});var D1=r(),uY=W0(),VT={message:({params:{min:Q,max:Y}})=>Y===void 0?D1.str`must contain at least ${Q} valid item(s)`:D1.str`must contain at least ${Q} and no more than ${Y} valid item(s)`,params:({params:{min:Q,max:Y}})=>Y===void 0?D1._`{minContains: ${Q}}`:D1._`{minContains: ${Q}, maxContains: ${Y}}`},FT={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:VT,code(Q){let{gen:Y,schema:X,parentSchema:W,data:$,it:J}=Q,G,H,{minContains:B,maxContains:z}=W;if(J.opts.next)G=B===void 0?1:B,H=z;else G=1;let K=Y.const("len",D1._`${$}.length`);if(Q.setParams({min:G,max:H}),H===void 0&&G===0){(0,uY.checkStrictMode)(J,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(H!==void 0&&G>H){(0,uY.checkStrictMode)(J,'"minContains" > "maxContains" is always invalid'),Q.fail();return}if((0,uY.alwaysValidSchema)(J,X)){let L=D1._`${K} >= ${G}`;if(H!==void 0)L=D1._`${L} && ${K} <= ${H}`;Q.pass(L);return}J.items=!0;let V=Y.name("valid");if(H===void 0&&G===1)A(V,()=>Y.if(V,()=>Y.break()));else if(G===0){if(Y.let(V,!0),H!==void 0)Y.if(D1._`${$}.length > 0`,F)}else Y.let(V,!1),F();Q.result(V,()=>Q.reset());function F(){let L=Y.name("_valid"),O=Y.let("count",0);A(L,()=>Y.if(L,()=>D(O)))}function A(L,O){Y.forRange("i",0,K,(U)=>{Q.subschema({keyword:"contains",dataProp:U,dataPropType:uY.Type.Num,compositeRule:!0},L),O()})}function D(L){if(Y.code(D1._`${L}++`),H===void 0)Y.if(D1._`${L} >= ${G}`,()=>Y.assign(V,!0).break());else if(Y.if(D1._`${L} > ${H}`,()=>Y.assign(V,!1).break()),G===1)Y.assign(V,!0);else Y.if(D1._`${L} >= ${G}`,()=>Y.assign(V,!0))}}};JF.default=FT});var FF=w((zF)=>{Object.defineProperty(zF,"__esModule",{value:!0});zF.validateSchemaDeps=zF.validatePropertyDeps=zF.error=void 0;var x$=r(),DT=W0(),k4=A1();zF.error={message:({params:{property:Q,depsCount:Y,deps:X}})=>{let W=Y===1?"property":"properties";return x$.str`must have ${W} ${X} when property ${Q} is present`},params:({params:{property:Q,depsCount:Y,deps:X,missingProperty:W}})=>x$._`{property: ${Q},
7
7
  missingProperty: ${W},
8
- depsCount: ${X},
9
- deps: ${Y}}`};var iI={keyword:"dependencies",type:"object",schemaType:"object",error:rV.error,code(Q){let[X,Y]=nI(Q);nV(Q,X),oV(Q,Y)}};function nI({schema:Q}){let X={},Y={};for(let W in Q){if(W==="__proto__")continue;let $=Array.isArray(Q[W])?X:Y;$[W]=Q[W]}return[X,Y]}function nV(Q,X=Q.schema){let{gen:Y,data:W,it:$}=Q;if(Object.keys(X).length===0)return;let J=Y.let("missing");for(let G in X){let H=X[G];if(H.length===0)continue;let B=(0,S4.propertyInData)(Y,W,G,$.opts.ownProperties);if(Q.setParams({property:G,depsCount:H.length,deps:H.join(", ")}),$.allErrors)Y.if(B,()=>{for(let z of H)(0,S4.checkReportMissingProp)(Q,z)});else Y.if(E$._`${B} && (${(0,S4.checkMissingProp)(Q,H,J)})`),(0,S4.reportMissingProp)(Q,J),Y.else()}}rV.validatePropertyDeps=nV;function oV(Q,X=Q.schema){let{gen:Y,data:W,keyword:$,it:J}=Q,G=Y.name("valid");for(let H in X){if((0,dI.alwaysValidSchema)(J,X[H]))continue;Y.if((0,S4.propertyInData)(Y,W,H,J.opts.ownProperties),()=>{let B=Q.subschema({keyword:$,schemaProp:H},G);Q.mergeValidEvaluated(B,G)},()=>Y.var(G,!0)),Q.ok(G)}}rV.validateSchemaDeps=oV;rV.default=iI});var XA=N((QA)=>{Object.defineProperty(QA,"__esModule",{value:!0});var eV=r(),tI=W0(),aI={message:"property name must be valid",params:({params:Q})=>eV._`{propertyName: ${Q.propertyName}}`},sI={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:aI,code(Q){let{gen:X,schema:Y,data:W,it:$}=Q;if((0,tI.alwaysValidSchema)($,Y))return;let J=X.name("valid");X.forIn("key",W,(G)=>{Q.setParams({propertyName:G}),Q.subschema({keyword:"propertyNames",data:G,dataTypes:["string"],propertyName:G,compositeRule:!0},J),X.if((0,eV.not)(J),()=>{if(Q.error(!0),!$.allErrors)X.break()})}),Q.ok(J)}};QA.default=sI});var S$=N((YA)=>{Object.defineProperty(YA,"__esModule",{value:!0});var fX=F1(),C1=r(),QT=J6(),gX=W0(),XT={message:"must NOT have additional properties",params:({params:Q})=>C1._`{additionalProperty: ${Q.additionalProperty}}`},YT={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:XT,code(Q){let{gen:X,schema:Y,parentSchema:W,data:$,errsCount:J,it:G}=Q;if(!J)throw Error("ajv implementation error");let{allErrors:H,opts:B}=G;if(G.props=!0,B.removeAdditional!=="all"&&(0,gX.alwaysValidSchema)(G,Y))return;let z=(0,fX.allSchemaProperties)(W.properties),K=(0,fX.allSchemaProperties)(W.patternProperties);V(),Q.ok(C1._`${J} === ${QT.default.errors}`);function V(){X.forIn("key",$,(O)=>{if(!z.length&&!K.length)L(O);else X.if(A(O),()=>L(O))})}function A(O){let U;if(z.length>8){let w=(0,gX.schemaRefOrVal)(G,W.properties,"properties");U=(0,fX.isOwnProperty)(X,w,O)}else if(z.length)U=(0,C1.or)(...z.map((w)=>C1._`${O} === ${w}`));else U=C1.nil;if(K.length)U=(0,C1.or)(U,...K.map((w)=>C1._`${(0,fX.usePattern)(Q,w)}.test(${O})`));return(0,C1.not)(U)}function F(O){X.code(C1._`delete ${$}[${O}]`)}function L(O){if(B.removeAdditional==="all"||B.removeAdditional&&Y===!1){F(O);return}if(Y===!1){if(Q.setParams({additionalProperty:O}),Q.error(),!H)X.break();return}if(typeof Y=="object"&&!(0,gX.alwaysValidSchema)(G,Y)){let U=X.name("valid");if(B.removeAdditional==="failing")D(O,U,!1),X.if((0,C1.not)(U),()=>{Q.reset(),F(O)});else if(D(O,U),!H)X.if((0,C1.not)(U),()=>X.break())}}function D(O,U,w){let M={keyword:"additionalProperties",dataProp:O,dataPropType:gX.Type.Str};if(w===!1)Object.assign(M,{compositeRule:!0,createErrors:!1,allErrors:!1});Q.subschema(M,U)}}};YA.default=YT});var GA=N((JA)=>{Object.defineProperty(JA,"__esModule",{value:!0});var $T=O4(),WA=F1(),I$=W0(),$A=S$(),JT={keyword:"properties",type:"object",schemaType:"object",code(Q){let{gen:X,schema:Y,parentSchema:W,data:$,it:J}=Q;if(J.opts.removeAdditional==="all"&&W.additionalProperties===void 0)$A.default.code(new $T.KeywordCxt(J,$A.default,"additionalProperties"));let G=(0,WA.allSchemaProperties)(Y);for(let V of G)J.definedProperties.add(V);if(J.opts.unevaluated&&G.length&&J.props!==!0)J.props=I$.mergeEvaluated.props(X,(0,I$.toHash)(G),J.props);let H=G.filter((V)=>!(0,I$.alwaysValidSchema)(J,Y[V]));if(H.length===0)return;let B=X.name("valid");for(let V of H){if(z(V))K(V);else{if(X.if((0,WA.propertyInData)(X,$,V,J.opts.ownProperties)),K(V),!J.allErrors)X.else().var(B,!0);X.endIf()}Q.it.definedProperties.add(V),Q.ok(B)}function z(V){return J.opts.useDefaults&&!J.compositeRule&&Y[V].default!==void 0}function K(V){Q.subschema({keyword:"properties",schemaProp:V,dataProp:V},B)}}};JA.default=JT});var VA=N((KA)=>{Object.defineProperty(KA,"__esModule",{value:!0});var HA=F1(),hX=r(),BA=W0(),zA=W0(),HT={keyword:"patternProperties",type:"object",schemaType:"object",code(Q){let{gen:X,schema:Y,data:W,parentSchema:$,it:J}=Q,{opts:G}=J,H=(0,HA.allSchemaProperties)(Y),B=H.filter((D)=>(0,BA.alwaysValidSchema)(J,Y[D]));if(H.length===0||B.length===H.length&&(!J.opts.unevaluated||J.props===!0))return;let z=G.strictSchema&&!G.allowMatchingProperties&&$.properties,K=X.name("valid");if(J.props!==!0&&!(J.props instanceof hX.Name))J.props=(0,zA.evaluatedPropsToName)(X,J.props);let{props:V}=J;A();function A(){for(let D of H){if(z)F(D);if(J.allErrors)L(D);else X.var(K,!0),L(D),X.if(K)}}function F(D){for(let O in z)if(new RegExp(D).test(O))(0,BA.checkStrictMode)(J,`property ${O} matches pattern ${D} (use allowMatchingProperties)`)}function L(D){X.forIn("key",W,(O)=>{X.if(hX._`${(0,HA.usePattern)(Q,D)}.test(${O})`,()=>{let U=B.includes(D);if(!U)Q.subschema({keyword:"patternProperties",schemaProp:D,dataProp:O,dataPropType:zA.Type.Str},K);if(J.opts.unevaluated&&V!==!0)X.assign(hX._`${V}[${O}]`,!0);else if(!U&&!J.allErrors)X.if((0,hX.not)(K),()=>X.break())})})}}};KA.default=HT});var FA=N((AA)=>{Object.defineProperty(AA,"__esModule",{value:!0});var zT=W0(),KT={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(Q){let{gen:X,schema:Y,it:W}=Q;if((0,zT.alwaysValidSchema)(W,Y)){Q.fail();return}let $=X.name("valid");Q.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},$),Q.failResult($,()=>Q.reset(),()=>Q.error())},error:{message:"must NOT be valid"}};AA.default=KT});var LA=N((DA)=>{Object.defineProperty(DA,"__esModule",{value:!0});var AT=F1(),FT={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:AT.validateUnion,error:{message:"must match a schema in anyOf"}};DA.default=FT});var UA=N((OA)=>{Object.defineProperty(OA,"__esModule",{value:!0});var uX=r(),LT=W0(),OT={message:"must match exactly one schema in oneOf",params:({params:Q})=>uX._`{passingSchemas: ${Q.passing}}`},UT={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:OT,code(Q){let{gen:X,schema:Y,parentSchema:W,it:$}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");if($.opts.discriminator&&W.discriminator)return;let J=Y,G=X.let("valid",!1),H=X.let("passing",null),B=X.name("_valid");Q.setParams({passing:H}),X.block(z),Q.result(G,()=>Q.reset(),()=>Q.error(!0));function z(){J.forEach((K,V)=>{let A;if((0,LT.alwaysValidSchema)($,K))X.var(B,!0);else A=Q.subschema({keyword:"oneOf",schemaProp:V,compositeRule:!0},B);if(V>0)X.if(uX._`${B} && ${G}`).assign(G,!1).assign(H,uX._`[${H}, ${V}]`).else();X.if(B,()=>{if(X.assign(G,!0),X.assign(H,V),A)Q.mergeEvaluated(A,uX.Name)})})}}};OA.default=UT});var NA=N((jA)=>{Object.defineProperty(jA,"__esModule",{value:!0});var NT=W0(),qT={keyword:"allOf",schemaType:"array",code(Q){let{gen:X,schema:Y,it:W}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");let $=X.name("valid");Y.forEach((J,G)=>{if((0,NT.alwaysValidSchema)(W,J))return;let H=Q.subschema({keyword:"allOf",schemaProp:G},$);Q.ok($),Q.mergeEvaluated(H)})}};jA.default=qT});var bA=N((MA)=>{Object.defineProperty(MA,"__esModule",{value:!0});var lX=r(),wA=W0(),MT={message:({params:Q})=>lX.str`must match "${Q.ifClause}" schema`,params:({params:Q})=>lX._`{failingKeyword: ${Q.ifClause}}`},bT={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:MT,code(Q){let{gen:X,parentSchema:Y,it:W}=Q;if(Y.then===void 0&&Y.else===void 0)(0,wA.checkStrictMode)(W,'"if" without "then" and "else" is ignored');let $=qA(W,"then"),J=qA(W,"else");if(!$&&!J)return;let G=X.let("valid",!0),H=X.name("_valid");if(B(),Q.reset(),$&&J){let K=X.let("ifClause");Q.setParams({ifClause:K}),X.if(H,z("then",K),z("else",K))}else if($)X.if(H,z("then"));else X.if((0,lX.not)(H),z("else"));Q.pass(G,()=>Q.error(!0));function B(){let K=Q.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},H);Q.mergeEvaluated(K)}function z(K,V){return()=>{let A=Q.subschema({keyword:K},H);if(X.assign(G,H),Q.mergeValidEvaluated(A,G),V)X.assign(V,lX._`${K}`);else Q.setParams({ifClause:K})}}}};function qA(Q,X){let Y=Q.schema[X];return Y!==void 0&&!(0,wA.alwaysValidSchema)(Q,Y)}MA.default=bT});var ZA=N((PA)=>{Object.defineProperty(PA,"__esModule",{value:!0});var ZT=W0(),RT={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:Q,parentSchema:X,it:Y}){if(X.if===void 0)(0,ZT.checkStrictMode)(Y,`"${Q}" without "if" is ignored`)}};PA.default=RT});var EA=N((RA)=>{Object.defineProperty(RA,"__esModule",{value:!0});var ST=Z$(),IT=lV(),TT=R$(),CT=pV(),kT=iV(),vT=sV(),_T=XA(),xT=S$(),yT=GA(),fT=VA(),gT=FA(),hT=LA(),uT=UA(),lT=NA(),mT=bA(),cT=ZA();function pT(Q=!1){let X=[gT.default,hT.default,uT.default,lT.default,mT.default,cT.default,_T.default,xT.default,vT.default,yT.default,fT.default];if(Q)X.push(IT.default,CT.default);else X.push(ST.default,TT.default);return X.push(kT.default),X}RA.default=pT});var IA=N((SA)=>{Object.defineProperty(SA,"__esModule",{value:!0});var Z0=r(),iT={message:({schemaCode:Q})=>Z0.str`must match format "${Q}"`,params:({schemaCode:Q})=>Z0._`{format: ${Q}}`},nT={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:iT,code(Q,X){let{gen:Y,data:W,$data:$,schema:J,schemaCode:G,it:H}=Q,{opts:B,errSchemaPath:z,schemaEnv:K,self:V}=H;if(!B.validateFormats)return;if($)A();else F();function A(){let L=Y.scopeValue("formats",{ref:V.formats,code:B.code.formats}),D=Y.const("fDef",Z0._`${L}[${G}]`),O=Y.let("fType"),U=Y.let("format");Y.if(Z0._`typeof ${D} == "object" && !(${D} instanceof RegExp)`,()=>Y.assign(O,Z0._`${D}.type || "string"`).assign(U,Z0._`${D}.validate`),()=>Y.assign(O,Z0._`"string"`).assign(U,D)),Q.fail$data((0,Z0.or)(w(),M()));function w(){if(B.strictSchema===!1)return Z0.nil;return Z0._`${G} && !${U}`}function M(){let S=K.$async?Z0._`(${D}.async ? await ${U}(${W}) : ${U}(${W}))`:Z0._`${U}(${W})`,Z=Z0._`(typeof ${U} == "function" ? ${S} : ${U}.test(${W}))`;return Z0._`${U} && ${U} !== true && ${O} === ${X} && !${Z}`}}function F(){let L=V.formats[J];if(!L){w();return}if(L===!0)return;let[D,O,U]=M(L);if(D===X)Q.pass(S());function w(){if(B.strictSchema===!1){V.logger.warn(Z());return}throw Error(Z());function Z(){return`unknown format "${J}" ignored in schema at path "${z}"`}}function M(Z){let V0=Z instanceof RegExp?(0,Z0.regexpCode)(Z):B.code.formats?Z0._`${B.code.formats}${(0,Z0.getProperty)(J)}`:void 0,P0=Y.scopeValue("formats",{key:J,ref:Z,code:V0});if(typeof Z=="object"&&!(Z instanceof RegExp))return[Z.type||"string",Z.validate,Z0._`${P0}.validate`];return["string",Z,P0]}function S(){if(typeof L=="object"&&!(L instanceof RegExp)&&L.async){if(!K.$async)throw Error("async format in sync schema");return Z0._`await ${U}(${W})`}return typeof O=="function"?Z0._`${U}(${W})`:Z0._`${U}.test(${W})`}}}};SA.default=nT});var CA=N((TA)=>{Object.defineProperty(TA,"__esModule",{value:!0});var rT=IA(),tT=[rT.default];TA.default=tT});var _A=N((kA)=>{Object.defineProperty(kA,"__esModule",{value:!0});kA.contentVocabulary=kA.metadataVocabulary=void 0;kA.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];kA.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var fA=N((yA)=>{Object.defineProperty(yA,"__esModule",{value:!0});var eT=JV(),QC=kV(),XC=EA(),YC=CA(),xA=_A(),WC=[eT.default,QC.default,(0,XC.default)(),YC.default,xA.metadataVocabulary,xA.contentVocabulary];yA.default=WC});var lA=N((hA)=>{Object.defineProperty(hA,"__esModule",{value:!0});hA.DiscrError=void 0;var gA;(function(Q){Q.Tag="tag",Q.Mapping="mapping"})(gA||(hA.DiscrError=gA={}))});var pA=N((cA)=>{Object.defineProperty(cA,"__esModule",{value:!0});var Y8=r(),T$=lA(),mA=MX(),JC=U4(),GC=W0(),HC={message:({params:{discrError:Q,tagName:X}})=>Q===T$.DiscrError.Tag?`tag "${X}" must be string`:`value of tag "${X}" must be in oneOf`,params:({params:{discrError:Q,tag:X,tagName:Y}})=>Y8._`{error: ${Q}, tag: ${Y}, tagValue: ${X}}`},BC={keyword:"discriminator",type:"object",schemaType:"object",error:HC,code(Q){let{gen:X,data:Y,schema:W,parentSchema:$,it:J}=Q,{oneOf:G}=$;if(!J.opts.discriminator)throw Error("discriminator: requires discriminator option");let H=W.propertyName;if(typeof H!="string")throw Error("discriminator: requires propertyName");if(W.mapping)throw Error("discriminator: mapping is not supported");if(!G)throw Error("discriminator: requires oneOf keyword");let B=X.let("valid",!1),z=X.const("tag",Y8._`${Y}${(0,Y8.getProperty)(H)}`);X.if(Y8._`typeof ${z} == "string"`,()=>K(),()=>Q.error(!1,{discrError:T$.DiscrError.Tag,tag:z,tagName:H})),Q.ok(B);function K(){let F=A();X.if(!1);for(let L in F)X.elseIf(Y8._`${z} === ${L}`),X.assign(B,V(F[L]));X.else(),Q.error(!1,{discrError:T$.DiscrError.Mapping,tag:z,tagName:H}),X.endIf()}function V(F){let L=X.name("valid"),D=Q.subschema({keyword:"oneOf",schemaProp:F},L);return Q.mergeEvaluated(D,Y8.Name),L}function A(){var F;let L={},D=U($),O=!0;for(let S=0;S<G.length;S++){let Z=G[S];if((Z===null||Z===void 0?void 0:Z.$ref)&&!(0,GC.schemaHasRulesButRef)(Z,J.self.RULES)){let P0=Z.$ref;if(Z=mA.resolveRef.call(J.self,J.schemaEnv.root,J.baseId,P0),Z instanceof mA.SchemaEnv)Z=Z.schema;if(Z===void 0)throw new JC.default(J.opts.uriResolver,J.baseId,P0)}let V0=(F=Z===null||Z===void 0?void 0:Z.properties)===null||F===void 0?void 0:F[H];if(typeof V0!="object")throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${H}"`);O=O&&(D||U(Z)),w(V0,S)}if(!O)throw Error(`discriminator: "${H}" must be required`);return L;function U({required:S}){return Array.isArray(S)&&S.includes(H)}function w(S,Z){if(S.const)M(S.const,Z);else if(S.enum)for(let V0 of S.enum)M(V0,Z);else throw Error(`discriminator: "properties/${H}" must have "const" or "enum"`)}function M(S,Z){if(typeof S!="string"||S in L)throw Error(`discriminator: "${H}" values must be unique strings`);L[S]=Z}}}};cA.default=BC});var dA=N((xi,KC)=>{KC.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 nA=N(($1,C$)=>{Object.defineProperty($1,"__esModule",{value:!0});$1.MissingRefError=$1.ValidationError=$1.CodeGen=$1.Name=$1.nil=$1.stringify=$1.str=$1._=$1.KeywordCxt=$1.Ajv=void 0;var VC=rK(),AC=fA(),FC=pA(),iA=dA(),DC=["/properties"],mX="http://json-schema.org/draft-07/schema";class I4 extends VC.default{_addVocabularies(){if(super._addVocabularies(),AC.default.forEach((Q)=>this.addVocabulary(Q)),this.opts.discriminator)this.addKeyword(FC.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let Q=this.opts.$data?this.$dataMetaSchema(iA,DC):iA;this.addMetaSchema(Q,mX,!1),this.refs["http://json-schema.org/schema"]=mX}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(mX)?mX:void 0)}}$1.Ajv=I4;C$.exports=$1=I4;C$.exports.Ajv=I4;Object.defineProperty($1,"__esModule",{value:!0});$1.default=I4;var LC=O4();Object.defineProperty($1,"KeywordCxt",{enumerable:!0,get:function(){return LC.KeywordCxt}});var W8=r();Object.defineProperty($1,"_",{enumerable:!0,get:function(){return W8._}});Object.defineProperty($1,"str",{enumerable:!0,get:function(){return W8.str}});Object.defineProperty($1,"stringify",{enumerable:!0,get:function(){return W8.stringify}});Object.defineProperty($1,"nil",{enumerable:!0,get:function(){return W8.nil}});Object.defineProperty($1,"Name",{enumerable:!0,get:function(){return W8.Name}});Object.defineProperty($1,"CodeGen",{enumerable:!0,get:function(){return W8.CodeGen}});var OC=qX();Object.defineProperty($1,"ValidationError",{enumerable:!0,get:function(){return OC.default}});var UC=U4();Object.defineProperty($1,"MissingRefError",{enumerable:!0,get:function(){return UC.default}})});var WF=N((XF)=>{Object.defineProperty(XF,"__esModule",{value:!0});XF.formatNames=XF.fastFormats=XF.fullFormats=void 0;function n1(Q,X){return{validate:Q,compare:X}}XF.fullFormats={date:n1(aA,x$),time:n1(v$(!0),y$),"date-time":n1(oA(!0),eA),"iso-time":n1(v$(),sA),"iso-date-time":n1(oA(),QF),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:ZC,"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:kC,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:RC,int32:{type:"number",validate:IC},int64:{type:"number",validate:TC},float:{type:"number",validate:tA},double:{type:"number",validate:tA},password:!0,binary:!0};XF.fastFormats={...XF.fullFormats,date:n1(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,x$),time:n1(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,y$),"date-time":n1(/^\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,eA),"iso-time":n1(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,sA),"iso-date-time":n1(/^\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,QF),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};XF.formatNames=Object.keys(XF.fullFormats);function qC(Q){return Q%4===0&&(Q%100!==0||Q%400===0)}var wC=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,MC=[0,31,28,31,30,31,30,31,31,30,31,30,31];function aA(Q){let X=wC.exec(Q);if(!X)return!1;let Y=+X[1],W=+X[2],$=+X[3];return W>=1&&W<=12&&$>=1&&$<=(W===2&&qC(Y)?29:MC[W])}function x$(Q,X){if(!(Q&&X))return;if(Q>X)return 1;if(Q<X)return-1;return 0}var k$=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function v$(Q){return function(Y){let W=k$.exec(Y);if(!W)return!1;let $=+W[1],J=+W[2],G=+W[3],H=W[4],B=W[5]==="-"?-1:1,z=+(W[6]||0),K=+(W[7]||0);if(z>23||K>59||Q&&!H)return!1;if($<=23&&J<=59&&G<60)return!0;let V=J-K*B,A=$-z*B-(V<0?1:0);return(A===23||A===-1)&&(V===59||V===-1)&&G<61}}function y$(Q,X){if(!(Q&&X))return;let Y=new Date("2020-01-01T"+Q).valueOf(),W=new Date("2020-01-01T"+X).valueOf();if(!(Y&&W))return;return Y-W}function sA(Q,X){if(!(Q&&X))return;let Y=k$.exec(Q),W=k$.exec(X);if(!(Y&&W))return;if(Q=Y[1]+Y[2]+Y[3],X=W[1]+W[2]+W[3],Q>X)return 1;if(Q<X)return-1;return 0}var _$=/t|\s/i;function oA(Q){let X=v$(Q);return function(W){let $=W.split(_$);return $.length===2&&aA($[0])&&X($[1])}}function eA(Q,X){if(!(Q&&X))return;let Y=new Date(Q).valueOf(),W=new Date(X).valueOf();if(!(Y&&W))return;return Y-W}function QF(Q,X){if(!(Q&&X))return;let[Y,W]=Q.split(_$),[$,J]=X.split(_$),G=x$(Y,$);if(G===void 0)return;return G||y$(W,J)}var bC=/\/|:/,PC=/^(?:[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 ZC(Q){return bC.test(Q)&&PC.test(Q)}var rA=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function RC(Q){return rA.lastIndex=0,rA.test(Q)}var EC=-2147483648,SC=2147483647;function IC(Q){return Number.isInteger(Q)&&Q<=SC&&Q>=EC}function TC(Q){return Number.isInteger(Q)}function tA(){return!0}var CC=/[^\\]\\Z/;function kC(Q){if(CC.test(Q))return!1;try{return new RegExp(Q),!0}catch(X){return!1}}});var C4=N((GF)=>{Object.defineProperty(GF,"__esModule",{value:!0});GF.regexpCode=GF.getEsmExportName=GF.getProperty=GF.safeStringify=GF.stringify=GF.strConcat=GF.addCodeArg=GF.str=GF._=GF.nil=GF._Code=GF.Name=GF.IDENTIFIER=GF._CodeOrName=void 0;class cX{}GF._CodeOrName=cX;GF.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class $8 extends cX{constructor(Q){super();if(!GF.IDENTIFIER.test(Q))throw Error("CodeGen: name must be a valid identifier");this.str=Q}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}GF.Name=$8;class k1 extends cX{constructor(Q){super();this._items=typeof Q==="string"?[Q]:Q}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let Q=this._items[0];return Q===""||Q==='""'}get str(){var Q;return(Q=this._str)!==null&&Q!==void 0?Q:this._str=this._items.reduce((X,Y)=>`${X}${Y}`,"")}get names(){var Q;return(Q=this._names)!==null&&Q!==void 0?Q:this._names=this._items.reduce((X,Y)=>{if(Y instanceof $8)X[Y.str]=(X[Y.str]||0)+1;return X},{})}}GF._Code=k1;GF.nil=new k1("");function $F(Q,...X){let Y=[Q[0]],W=0;while(W<X.length)h$(Y,X[W]),Y.push(Q[++W]);return new k1(Y)}GF._=$F;var g$=new k1("+");function JF(Q,...X){let Y=[T4(Q[0])],W=0;while(W<X.length)Y.push(g$),h$(Y,X[W]),Y.push(g$,T4(Q[++W]));return _C(Y),new k1(Y)}GF.str=JF;function h$(Q,X){if(X instanceof k1)Q.push(...X._items);else if(X instanceof $8)Q.push(X);else Q.push(fC(X))}GF.addCodeArg=h$;function _C(Q){let X=1;while(X<Q.length-1){if(Q[X]===g$){let Y=xC(Q[X-1],Q[X+1]);if(Y!==void 0){Q.splice(X-1,3,Y);continue}Q[X++]="+"}X++}}function xC(Q,X){if(X==='""')return Q;if(Q==='""')return X;if(typeof Q=="string"){if(X instanceof $8||Q[Q.length-1]!=='"')return;if(typeof X!="string")return`${Q.slice(0,-1)}${X}"`;if(X[0]==='"')return Q.slice(0,-1)+X.slice(1);return}if(typeof X=="string"&&X[0]==='"'&&!(Q instanceof $8))return`"${Q}${X.slice(1)}`;return}function yC(Q,X){return X.emptyStr()?Q:Q.emptyStr()?X:JF`${Q}${X}`}GF.strConcat=yC;function fC(Q){return typeof Q=="number"||typeof Q=="boolean"||Q===null?Q:T4(Array.isArray(Q)?Q.join(","):Q)}function gC(Q){return new k1(T4(Q))}GF.stringify=gC;function T4(Q){return JSON.stringify(Q).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}GF.safeStringify=T4;function hC(Q){return typeof Q=="string"&&GF.IDENTIFIER.test(Q)?new k1(`.${Q}`):$F`[${Q}]`}GF.getProperty=hC;function uC(Q){if(typeof Q=="string"&&GF.IDENTIFIER.test(Q))return new k1(`${Q}`);throw Error(`CodeGen: invalid export name: ${Q}, use explicit $id name mapping`)}GF.getEsmExportName=uC;function lC(Q){return new k1(Q.toString())}GF.regexpCode=lC});var c$=N((KF)=>{Object.defineProperty(KF,"__esModule",{value:!0});KF.ValueScope=KF.ValueScopeName=KF.Scope=KF.varKinds=KF.UsedValueState=void 0;var J1=C4();class BF extends Error{constructor(Q){super(`CodeGen: "code" for ${Q} not defined`);this.value=Q.value}}var dX;(function(Q){Q[Q.Started=0]="Started",Q[Q.Completed=1]="Completed"})(dX||(KF.UsedValueState=dX={}));KF.varKinds={const:new J1.Name("const"),let:new J1.Name("let"),var:new J1.Name("var")};class l${constructor({prefixes:Q,parent:X}={}){this._names={},this._prefixes=Q,this._parent=X}toName(Q){return Q instanceof J1.Name?Q:this.name(Q)}name(Q){return new J1.Name(this._newName(Q))}_newName(Q){let X=this._names[Q]||this._nameGroup(Q);return`${Q}${X.index++}`}_nameGroup(Q){var X,Y;if(((Y=(X=this._parent)===null||X===void 0?void 0:X._prefixes)===null||Y===void 0?void 0:Y.has(Q))||this._prefixes&&!this._prefixes.has(Q))throw Error(`CodeGen: prefix "${Q}" is not allowed in this scope`);return this._names[Q]={prefix:Q,index:0}}}KF.Scope=l$;class m$ extends J1.Name{constructor(Q,X){super(X);this.prefix=Q}setValue(Q,{property:X,itemIndex:Y}){this.value=Q,this.scopePath=J1._`.${new J1.Name(X)}[${Y}]`}}KF.ValueScopeName=m$;var Q2=J1._`\n`;class zF extends l${constructor(Q){super(Q);this._values={},this._scope=Q.scope,this.opts={...Q,_n:Q.lines?Q2:J1.nil}}get(){return this._scope}name(Q){return new m$(Q,this._newName(Q))}value(Q,X){var Y;if(X.ref===void 0)throw Error("CodeGen: ref must be passed in value");let W=this.toName(Q),{prefix:$}=W,J=(Y=X.key)!==null&&Y!==void 0?Y:X.ref,G=this._values[$];if(G){let z=G.get(J);if(z)return z}else G=this._values[$]=new Map;G.set(J,W);let H=this._scope[$]||(this._scope[$]=[]),B=H.length;return H[B]=X.ref,W.setValue(X,{property:$,itemIndex:B}),W}getValue(Q,X){let Y=this._values[Q];if(!Y)return;return Y.get(X)}scopeRefs(Q,X=this._values){return this._reduceValues(X,(Y)=>{if(Y.scopePath===void 0)throw Error(`CodeGen: name "${Y}" has no value`);return J1._`${Q}${Y.scopePath}`})}scopeCode(Q=this._values,X,Y){return this._reduceValues(Q,(W)=>{if(W.value===void 0)throw Error(`CodeGen: name "${W}" has no value`);return W.value.code},X,Y)}_reduceValues(Q,X,Y={},W){let $=J1.nil;for(let J in Q){let G=Q[J];if(!G)continue;let H=Y[J]=Y[J]||new Map;G.forEach((B)=>{if(H.has(B))return;H.set(B,dX.Started);let z=X(B);if(z){let K=this.opts.es5?KF.varKinds.var:KF.varKinds.const;$=J1._`${$}${K} ${B} = ${z};${this.opts._n}`}else if(z=W===null||W===void 0?void 0:W(B))$=J1._`${$}${z}${this.opts._n}`;else throw new BF(B);H.set(B,dX.Completed)})}return $}}KF.ValueScope=zF});var n=N((G1)=>{Object.defineProperty(G1,"__esModule",{value:!0});G1.or=G1.and=G1.not=G1.CodeGen=G1.operators=G1.varKinds=G1.ValueScopeName=G1.ValueScope=G1.Scope=G1.Name=G1.regexpCode=G1.stringify=G1.getProperty=G1.nil=G1.strConcat=G1.str=G1._=void 0;var Q0=C4(),v1=c$(),C6=C4();Object.defineProperty(G1,"_",{enumerable:!0,get:function(){return C6._}});Object.defineProperty(G1,"str",{enumerable:!0,get:function(){return C6.str}});Object.defineProperty(G1,"strConcat",{enumerable:!0,get:function(){return C6.strConcat}});Object.defineProperty(G1,"nil",{enumerable:!0,get:function(){return C6.nil}});Object.defineProperty(G1,"getProperty",{enumerable:!0,get:function(){return C6.getProperty}});Object.defineProperty(G1,"stringify",{enumerable:!0,get:function(){return C6.stringify}});Object.defineProperty(G1,"regexpCode",{enumerable:!0,get:function(){return C6.regexpCode}});Object.defineProperty(G1,"Name",{enumerable:!0,get:function(){return C6.Name}});var aX=c$();Object.defineProperty(G1,"Scope",{enumerable:!0,get:function(){return aX.Scope}});Object.defineProperty(G1,"ValueScope",{enumerable:!0,get:function(){return aX.ValueScope}});Object.defineProperty(G1,"ValueScopeName",{enumerable:!0,get:function(){return aX.ValueScopeName}});Object.defineProperty(G1,"varKinds",{enumerable:!0,get:function(){return aX.varKinds}});G1.operators={GT:new Q0._Code(">"),GTE:new Q0._Code(">="),LT:new Q0._Code("<"),LTE:new Q0._Code("<="),EQ:new Q0._Code("==="),NEQ:new Q0._Code("!=="),NOT:new Q0._Code("!"),OR:new Q0._Code("||"),AND:new Q0._Code("&&"),ADD:new Q0._Code("+")};class k6{optimizeNodes(){return this}optimizeNames(Q,X){return this}}class AF extends k6{constructor(Q,X,Y){super();this.varKind=Q,this.name=X,this.rhs=Y}render({es5:Q,_n:X}){let Y=Q?v1.varKinds.var:this.varKind,W=this.rhs===void 0?"":` = ${this.rhs}`;return`${Y} ${this.name}${W};`+X}optimizeNames(Q,X){if(!Q[this.name.str])return;if(this.rhs)this.rhs=G8(this.rhs,Q,X);return this}get names(){return this.rhs instanceof Q0._CodeOrName?this.rhs.names:{}}}class i$ extends k6{constructor(Q,X,Y){super();this.lhs=Q,this.rhs=X,this.sideEffects=Y}render({_n:Q}){return`${this.lhs} = ${this.rhs};`+Q}optimizeNames(Q,X){if(this.lhs instanceof Q0.Name&&!Q[this.lhs.str]&&!this.sideEffects)return;return this.rhs=G8(this.rhs,Q,X),this}get names(){let Q=this.lhs instanceof Q0.Name?{}:{...this.lhs.names};return tX(Q,this.rhs)}}class FF extends i${constructor(Q,X,Y,W){super(Q,Y,W);this.op=X}render({_n:Q}){return`${this.lhs} ${this.op}= ${this.rhs};`+Q}}class DF extends k6{constructor(Q){super();this.label=Q,this.names={}}render({_n:Q}){return`${this.label}:`+Q}}class LF extends k6{constructor(Q){super();this.label=Q,this.names={}}render({_n:Q}){return`break${this.label?` ${this.label}`:""};`+Q}}class OF extends k6{constructor(Q){super();this.error=Q}render({_n:Q}){return`throw ${this.error};`+Q}get names(){return this.error.names}}class UF extends k6{constructor(Q){super();this.code=Q}render({_n:Q}){return`${this.code};`+Q}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(Q,X){return this.code=G8(this.code,Q,X),this}get names(){return this.code instanceof Q0._CodeOrName?this.code.names:{}}}class sX extends k6{constructor(Q=[]){super();this.nodes=Q}render(Q){return this.nodes.reduce((X,Y)=>X+Y.render(Q),"")}optimizeNodes(){let{nodes:Q}=this,X=Q.length;while(X--){let Y=Q[X].optimizeNodes();if(Array.isArray(Y))Q.splice(X,1,...Y);else if(Y)Q[X]=Y;else Q.splice(X,1)}return Q.length>0?this:void 0}optimizeNames(Q,X){let{nodes:Y}=this,W=Y.length;while(W--){let $=Y[W];if($.optimizeNames(Q,X))continue;$2(Q,$.names),Y.splice(W,1)}return Y.length>0?this:void 0}get names(){return this.nodes.reduce((Q,X)=>A9(Q,X.names),{})}}class v6 extends sX{render(Q){return"{"+Q._n+super.render(Q)+"}"+Q._n}}class jF extends sX{}class k4 extends v6{}k4.kind="else";class z6 extends v6{constructor(Q,X){super(X);this.condition=Q}render(Q){let X=`if(${this.condition})`+super.render(Q);if(this.else)X+="else "+this.else.render(Q);return X}optimizeNodes(){super.optimizeNodes();let Q=this.condition;if(Q===!0)return this.nodes;let X=this.else;if(X){let Y=X.optimizeNodes();X=this.else=Array.isArray(Y)?new k4(Y):Y}if(X){if(Q===!1)return X instanceof z6?X:X.nodes;if(this.nodes.length)return this;return new z6(bF(Q),X instanceof z6?[X]:X.nodes)}if(Q===!1||!this.nodes.length)return;return this}optimizeNames(Q,X){var Y;if(this.else=(Y=this.else)===null||Y===void 0?void 0:Y.optimizeNames(Q,X),!(super.optimizeNames(Q,X)||this.else))return;return this.condition=G8(this.condition,Q,X),this}get names(){let Q=super.names;if(tX(Q,this.condition),this.else)A9(Q,this.else.names);return Q}}z6.kind="if";class J8 extends v6{}J8.kind="for";class NF extends J8{constructor(Q){super();this.iteration=Q}render(Q){return`for(${this.iteration})`+super.render(Q)}optimizeNames(Q,X){if(!super.optimizeNames(Q,X))return;return this.iteration=G8(this.iteration,Q,X),this}get names(){return A9(super.names,this.iteration.names)}}class qF extends J8{constructor(Q,X,Y,W){super();this.varKind=Q,this.name=X,this.from=Y,this.to=W}render(Q){let X=Q.es5?v1.varKinds.var:this.varKind,{name:Y,from:W,to:$}=this;return`for(${X} ${Y}=${W}; ${Y}<${$}; ${Y}++)`+super.render(Q)}get names(){let Q=tX(super.names,this.from);return tX(Q,this.to)}}class p$ extends J8{constructor(Q,X,Y,W){super();this.loop=Q,this.varKind=X,this.name=Y,this.iterable=W}render(Q){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(Q)}optimizeNames(Q,X){if(!super.optimizeNames(Q,X))return;return this.iterable=G8(this.iterable,Q,X),this}get names(){return A9(super.names,this.iterable.names)}}class iX extends v6{constructor(Q,X,Y){super();this.name=Q,this.args=X,this.async=Y}render(Q){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(Q)}}iX.kind="func";class nX extends sX{render(Q){return"return "+super.render(Q)}}nX.kind="return";class wF extends v6{render(Q){let X="try"+super.render(Q);if(this.catch)X+=this.catch.render(Q);if(this.finally)X+=this.finally.render(Q);return X}optimizeNodes(){var Q,X;return super.optimizeNodes(),(Q=this.catch)===null||Q===void 0||Q.optimizeNodes(),(X=this.finally)===null||X===void 0||X.optimizeNodes(),this}optimizeNames(Q,X){var Y,W;return super.optimizeNames(Q,X),(Y=this.catch)===null||Y===void 0||Y.optimizeNames(Q,X),(W=this.finally)===null||W===void 0||W.optimizeNames(Q,X),this}get names(){let Q=super.names;if(this.catch)A9(Q,this.catch.names);if(this.finally)A9(Q,this.finally.names);return Q}}class oX extends v6{constructor(Q){super();this.error=Q}render(Q){return`catch(${this.error})`+super.render(Q)}}oX.kind="catch";class rX extends v6{render(Q){return"finally"+super.render(Q)}}rX.kind="finally";class MF{constructor(Q,X={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...X,_n:X.lines?`
10
- `:""},this._extScope=Q,this._scope=new v1.Scope({parent:Q}),this._nodes=[new jF]}toString(){return this._root.render(this.opts)}name(Q){return this._scope.name(Q)}scopeName(Q){return this._extScope.name(Q)}scopeValue(Q,X){let Y=this._extScope.value(Q,X);return(this._values[Y.prefix]||(this._values[Y.prefix]=new Set)).add(Y),Y}getScopeValue(Q,X){return this._extScope.getValue(Q,X)}scopeRefs(Q){return this._extScope.scopeRefs(Q,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(Q,X,Y,W){let $=this._scope.toName(X);if(Y!==void 0&&W)this._constants[$.str]=Y;return this._leafNode(new AF(Q,$,Y)),$}const(Q,X,Y){return this._def(v1.varKinds.const,Q,X,Y)}let(Q,X,Y){return this._def(v1.varKinds.let,Q,X,Y)}var(Q,X,Y){return this._def(v1.varKinds.var,Q,X,Y)}assign(Q,X,Y){return this._leafNode(new i$(Q,X,Y))}add(Q,X){return this._leafNode(new FF(Q,G1.operators.ADD,X))}code(Q){if(typeof Q=="function")Q();else if(Q!==Q0.nil)this._leafNode(new UF(Q));return this}object(...Q){let X=["{"];for(let[Y,W]of Q){if(X.length>1)X.push(",");if(X.push(Y),Y!==W||this.opts.es5)X.push(":"),(0,Q0.addCodeArg)(X,W)}return X.push("}"),new Q0._Code(X)}if(Q,X,Y){if(this._blockNode(new z6(Q)),X&&Y)this.code(X).else().code(Y).endIf();else if(X)this.code(X).endIf();else if(Y)throw Error('CodeGen: "else" body without "then" body');return this}elseIf(Q){return this._elseNode(new z6(Q))}else(){return this._elseNode(new k4)}endIf(){return this._endBlockNode(z6,k4)}_for(Q,X){if(this._blockNode(Q),X)this.code(X).endFor();return this}for(Q,X){return this._for(new NF(Q),X)}forRange(Q,X,Y,W,$=this.opts.es5?v1.varKinds.var:v1.varKinds.let){let J=this._scope.toName(Q);return this._for(new qF($,J,X,Y),()=>W(J))}forOf(Q,X,Y,W=v1.varKinds.const){let $=this._scope.toName(Q);if(this.opts.es5){let J=X instanceof Q0.Name?X:this.var("_arr",X);return this.forRange("_i",0,Q0._`${J}.length`,(G)=>{this.var($,Q0._`${J}[${G}]`),Y($)})}return this._for(new p$("of",W,$,X),()=>Y($))}forIn(Q,X,Y,W=this.opts.es5?v1.varKinds.var:v1.varKinds.const){if(this.opts.ownProperties)return this.forOf(Q,Q0._`Object.keys(${X})`,Y);let $=this._scope.toName(Q);return this._for(new p$("in",W,$,X),()=>Y($))}endFor(){return this._endBlockNode(J8)}label(Q){return this._leafNode(new DF(Q))}break(Q){return this._leafNode(new LF(Q))}return(Q){let X=new nX;if(this._blockNode(X),this.code(Q),X.nodes.length!==1)throw Error('CodeGen: "return" should have one node');return this._endBlockNode(nX)}try(Q,X,Y){if(!X&&!Y)throw Error('CodeGen: "try" without "catch" and "finally"');let W=new wF;if(this._blockNode(W),this.code(Q),X){let $=this.name("e");this._currNode=W.catch=new oX($),X($)}if(Y)this._currNode=W.finally=new rX,this.code(Y);return this._endBlockNode(oX,rX)}throw(Q){return this._leafNode(new OF(Q))}block(Q,X){if(this._blockStarts.push(this._nodes.length),Q)this.code(Q).endBlock(X);return this}endBlock(Q){let X=this._blockStarts.pop();if(X===void 0)throw Error("CodeGen: not in self-balancing block");let Y=this._nodes.length-X;if(Y<0||Q!==void 0&&Y!==Q)throw Error(`CodeGen: wrong number of nodes: ${Y} vs ${Q} expected`);return this._nodes.length=X,this}func(Q,X=Q0.nil,Y,W){if(this._blockNode(new iX(Q,X,Y)),W)this.code(W).endFunc();return this}endFunc(){return this._endBlockNode(iX)}optimize(Q=1){while(Q-- >0)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(Q){return this._currNode.nodes.push(Q),this}_blockNode(Q){this._currNode.nodes.push(Q),this._nodes.push(Q)}_endBlockNode(Q,X){let Y=this._currNode;if(Y instanceof Q||X&&Y instanceof X)return this._nodes.pop(),this;throw Error(`CodeGen: not in block "${X?`${Q.kind}/${X.kind}`:Q.kind}"`)}_elseNode(Q){let X=this._currNode;if(!(X instanceof z6))throw Error('CodeGen: "else" without "if"');return this._currNode=X.else=Q,this}get _root(){return this._nodes[0]}get _currNode(){let Q=this._nodes;return Q[Q.length-1]}set _currNode(Q){let X=this._nodes;X[X.length-1]=Q}}G1.CodeGen=MF;function A9(Q,X){for(let Y in X)Q[Y]=(Q[Y]||0)+(X[Y]||0);return Q}function tX(Q,X){return X instanceof Q0._CodeOrName?A9(Q,X.names):Q}function G8(Q,X,Y){if(Q instanceof Q0.Name)return W(Q);if(!$(Q))return Q;return new Q0._Code(Q._items.reduce((J,G)=>{if(G instanceof Q0.Name)G=W(G);if(G instanceof Q0._Code)J.push(...G._items);else J.push(G);return J},[]));function W(J){let G=Y[J.str];if(G===void 0||X[J.str]!==1)return J;return delete X[J.str],G}function $(J){return J instanceof Q0._Code&&J._items.some((G)=>G instanceof Q0.Name&&X[G.str]===1&&Y[G.str]!==void 0)}}function $2(Q,X){for(let Y in X)Q[Y]=(Q[Y]||0)-(X[Y]||0)}function bF(Q){return typeof Q=="boolean"||typeof Q=="number"||Q===null?!Q:Q0._`!${d$(Q)}`}G1.not=bF;var J2=PF(G1.operators.AND);function G2(...Q){return Q.reduce(J2)}G1.and=G2;var H2=PF(G1.operators.OR);function B2(...Q){return Q.reduce(H2)}G1.or=B2;function PF(Q){return(X,Y)=>X===Q0.nil?Y:Y===Q0.nil?X:Q0._`${d$(X)} ${Q} ${d$(Y)}`}function d$(Q){return Q instanceof Q0.Name?Q:Q0._`(${Q})`}});var $0=N((vF)=>{Object.defineProperty(vF,"__esModule",{value:!0});vF.checkStrictMode=vF.getErrorPath=vF.Type=vF.useFunc=vF.setEvaluated=vF.evaluatedPropsToName=vF.mergeEvaluated=vF.eachItem=vF.unescapeJsonPointer=vF.escapeJsonPointer=vF.escapeFragment=vF.unescapeFragment=vF.schemaRefOrVal=vF.schemaHasRulesButRef=vF.schemaHasRules=vF.checkUnknownRules=vF.alwaysValidSchema=vF.toHash=void 0;var K0=n(),A2=C4();function F2(Q){let X={};for(let Y of Q)X[Y]=!0;return X}vF.toHash=F2;function D2(Q,X){if(typeof X=="boolean")return X;if(Object.keys(X).length===0)return!0;return SF(Q,X),!IF(X,Q.self.RULES.all)}vF.alwaysValidSchema=D2;function SF(Q,X=Q.schema){let{opts:Y,self:W}=Q;if(!Y.strictSchema)return;if(typeof X==="boolean")return;let $=W.RULES.keywords;for(let J in X)if(!$[J])kF(Q,`unknown keyword: "${J}"`)}vF.checkUnknownRules=SF;function IF(Q,X){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(X[Y])return!0;return!1}vF.schemaHasRules=IF;function L2(Q,X){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(Y!=="$ref"&&X.all[Y])return!0;return!1}vF.schemaHasRulesButRef=L2;function O2({topSchemaRef:Q,schemaPath:X},Y,W,$){if(!$){if(typeof Y=="number"||typeof Y=="boolean")return Y;if(typeof Y=="string")return K0._`${Y}`}return K0._`${Q}${X}${(0,K0.getProperty)(W)}`}vF.schemaRefOrVal=O2;function U2(Q){return TF(decodeURIComponent(Q))}vF.unescapeFragment=U2;function j2(Q){return encodeURIComponent(o$(Q))}vF.escapeFragment=j2;function o$(Q){if(typeof Q=="number")return`${Q}`;return Q.replace(/~/g,"~0").replace(/\//g,"~1")}vF.escapeJsonPointer=o$;function TF(Q){return Q.replace(/~1/g,"/").replace(/~0/g,"~")}vF.unescapeJsonPointer=TF;function N2(Q,X){if(Array.isArray(Q))for(let Y of Q)X(Y);else X(Q)}vF.eachItem=N2;function RF({mergeNames:Q,mergeToName:X,mergeValues:Y,resultToName:W}){return($,J,G,H)=>{let B=G===void 0?J:G instanceof K0.Name?(J instanceof K0.Name?Q($,J,G):X($,J,G),G):J instanceof K0.Name?(X($,G,J),J):Y(J,G);return H===K0.Name&&!(B instanceof K0.Name)?W($,B):B}}vF.mergeEvaluated={props:RF({mergeNames:(Q,X,Y)=>Q.if(K0._`${Y} !== true && ${X} !== undefined`,()=>{Q.if(K0._`${X} === true`,()=>Q.assign(Y,!0),()=>Q.assign(Y,K0._`${Y} || {}`).code(K0._`Object.assign(${Y}, ${X})`))}),mergeToName:(Q,X,Y)=>Q.if(K0._`${Y} !== true`,()=>{if(X===!0)Q.assign(Y,!0);else Q.assign(Y,K0._`${Y} || {}`),r$(Q,Y,X)}),mergeValues:(Q,X)=>Q===!0?!0:{...Q,...X},resultToName:CF}),items:RF({mergeNames:(Q,X,Y)=>Q.if(K0._`${Y} !== true && ${X} !== undefined`,()=>Q.assign(Y,K0._`${X} === true ? true : ${Y} > ${X} ? ${Y} : ${X}`)),mergeToName:(Q,X,Y)=>Q.if(K0._`${Y} !== true`,()=>Q.assign(Y,X===!0?!0:K0._`${Y} > ${X} ? ${Y} : ${X}`)),mergeValues:(Q,X)=>Q===!0?!0:Math.max(Q,X),resultToName:(Q,X)=>Q.var("items",X)})};function CF(Q,X){if(X===!0)return Q.var("props",!0);let Y=Q.var("props",K0._`{}`);if(X!==void 0)r$(Q,Y,X);return Y}vF.evaluatedPropsToName=CF;function r$(Q,X,Y){Object.keys(Y).forEach((W)=>Q.assign(K0._`${X}${(0,K0.getProperty)(W)}`,!0))}vF.setEvaluated=r$;var EF={};function q2(Q,X){return Q.scopeValue("func",{ref:X,code:EF[X.code]||(EF[X.code]=new A2._Code(X.code))})}vF.useFunc=q2;var n$;(function(Q){Q[Q.Num=0]="Num",Q[Q.Str=1]="Str"})(n$||(vF.Type=n$={}));function w2(Q,X,Y){if(Q instanceof K0.Name){let W=X===n$.Num;return Y?W?K0._`"[" + ${Q} + "]"`:K0._`"['" + ${Q} + "']"`:W?K0._`"/" + ${Q}`:K0._`"/" + ${Q}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return Y?(0,K0.getProperty)(Q).toString():"/"+o$(Q)}vF.getErrorPath=w2;function kF(Q,X,Y=Q.opts.strictSchema){if(!Y)return;if(X=`strict mode: ${X}`,Y===!0)throw Error(X);Q.self.logger.warn(X)}vF.checkStrictMode=kF});var K6=N((xF)=>{Object.defineProperty(xF,"__esModule",{value:!0});var m0=n(),h2={data:new m0.Name("data"),valCxt:new m0.Name("valCxt"),instancePath:new m0.Name("instancePath"),parentData:new m0.Name("parentData"),parentDataProperty:new m0.Name("parentDataProperty"),rootData:new m0.Name("rootData"),dynamicAnchors:new m0.Name("dynamicAnchors"),vErrors:new m0.Name("vErrors"),errors:new m0.Name("errors"),this:new m0.Name("this"),self:new m0.Name("self"),scope:new m0.Name("scope"),json:new m0.Name("json"),jsonPos:new m0.Name("jsonPos"),jsonLen:new m0.Name("jsonLen"),jsonPart:new m0.Name("jsonPart")};xF.default=h2});var v4=N((hF)=>{Object.defineProperty(hF,"__esModule",{value:!0});hF.extendErrors=hF.resetErrorsCount=hF.reportExtraError=hF.reportError=hF.keyword$DataError=hF.keywordError=void 0;var Y0=n(),QY=$0(),n0=K6();hF.keywordError={message:({keyword:Q})=>Y0.str`must pass "${Q}" keyword validation`};hF.keyword$DataError={message:({keyword:Q,schemaType:X})=>X?Y0.str`"${Q}" keyword must be ${X} ($data)`:Y0.str`"${Q}" keyword is invalid ($data)`};function l2(Q,X=hF.keywordError,Y,W){let{it:$}=Q,{gen:J,compositeRule:G,allErrors:H}=$,B=gF(Q,X,Y);if(W!==null&&W!==void 0?W:G||H)yF(J,B);else fF($,Y0._`[${B}]`)}hF.reportError=l2;function m2(Q,X=hF.keywordError,Y){let{it:W}=Q,{gen:$,compositeRule:J,allErrors:G}=W,H=gF(Q,X,Y);if(yF($,H),!(J||G))fF(W,n0.default.vErrors)}hF.reportExtraError=m2;function c2(Q,X){Q.assign(n0.default.errors,X),Q.if(Y0._`${n0.default.vErrors} !== null`,()=>Q.if(X,()=>Q.assign(Y0._`${n0.default.vErrors}.length`,X),()=>Q.assign(n0.default.vErrors,null)))}hF.resetErrorsCount=c2;function p2({gen:Q,keyword:X,schemaValue:Y,data:W,errsCount:$,it:J}){if($===void 0)throw Error("ajv implementation error");let G=Q.name("err");Q.forRange("i",$,n0.default.errors,(H)=>{if(Q.const(G,Y0._`${n0.default.vErrors}[${H}]`),Q.if(Y0._`${G}.instancePath === undefined`,()=>Q.assign(Y0._`${G}.instancePath`,(0,Y0.strConcat)(n0.default.instancePath,J.errorPath))),Q.assign(Y0._`${G}.schemaPath`,Y0.str`${J.errSchemaPath}/${X}`),J.opts.verbose)Q.assign(Y0._`${G}.schema`,Y),Q.assign(Y0._`${G}.data`,W)})}hF.extendErrors=p2;function yF(Q,X){let Y=Q.const("err",X);Q.if(Y0._`${n0.default.vErrors} === null`,()=>Q.assign(n0.default.vErrors,Y0._`[${Y}]`),Y0._`${n0.default.vErrors}.push(${Y})`),Q.code(Y0._`${n0.default.errors}++`)}function fF(Q,X){let{gen:Y,validateName:W,schemaEnv:$}=Q;if($.$async)Y.throw(Y0._`new ${Q.ValidationError}(${X})`);else Y.assign(Y0._`${W}.errors`,X),Y.return(!1)}var F9={keyword:new Y0.Name("keyword"),schemaPath:new Y0.Name("schemaPath"),params:new Y0.Name("params"),propertyName:new Y0.Name("propertyName"),message:new Y0.Name("message"),schema:new Y0.Name("schema"),parentSchema:new Y0.Name("parentSchema")};function gF(Q,X,Y){let{createErrors:W}=Q.it;if(W===!1)return Y0._`{}`;return d2(Q,X,Y)}function d2(Q,X,Y={}){let{gen:W,it:$}=Q,J=[i2($,Y),n2(Q,Y)];return o2(Q,X,J),W.object(...J)}function i2({errorPath:Q},{instancePath:X}){let Y=X?Y0.str`${Q}${(0,QY.getErrorPath)(X,QY.Type.Str)}`:Q;return[n0.default.instancePath,(0,Y0.strConcat)(n0.default.instancePath,Y)]}function n2({keyword:Q,it:{errSchemaPath:X}},{schemaPath:Y,parentSchema:W}){let $=W?X:Y0.str`${X}/${Q}`;if(Y)$=Y0.str`${$}${(0,QY.getErrorPath)(Y,QY.Type.Str)}`;return[F9.schemaPath,$]}function o2(Q,{params:X,message:Y},W){let{keyword:$,data:J,schemaValue:G,it:H}=Q,{opts:B,propertyName:z,topSchemaRef:K,schemaPath:V}=H;if(W.push([F9.keyword,$],[F9.params,typeof X=="function"?X(Q):X||Y0._`{}`]),B.messages)W.push([F9.message,typeof Y=="function"?Y(Q):Y]);if(B.verbose)W.push([F9.schema,G],[F9.parentSchema,Y0._`${K}${V}`],[n0.default.data,J]);if(z)W.push([F9.propertyName,z])}});var pF=N((mF)=>{Object.defineProperty(mF,"__esModule",{value:!0});mF.boolOrEmptySchema=mF.topBoolOrEmptySchema=void 0;var e2=v4(),Qk=n(),Xk=K6(),Yk={message:"boolean schema is false"};function Wk(Q){let{gen:X,schema:Y,validateName:W}=Q;if(Y===!1)lF(Q,!1);else if(typeof Y=="object"&&Y.$async===!0)X.return(Xk.default.data);else X.assign(Qk._`${W}.errors`,null),X.return(!0)}mF.topBoolOrEmptySchema=Wk;function $k(Q,X){let{gen:Y,schema:W}=Q;if(W===!1)Y.var(X,!1),lF(Q);else Y.var(X,!0)}mF.boolOrEmptySchema=$k;function lF(Q,X){let{gen:Y,data:W}=Q,$={gen:Y,keyword:"false schema",data:W,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:Q};(0,e2.reportError)($,Yk,void 0,X)}});var a$=N((dF)=>{Object.defineProperty(dF,"__esModule",{value:!0});dF.getRules=dF.isJSONType=void 0;var Gk=["string","number","integer","boolean","null","object","array"],Hk=new Set(Gk);function Bk(Q){return typeof Q=="string"&&Hk.has(Q)}dF.isJSONType=Bk;function zk(){let Q={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...Q,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},Q.number,Q.string,Q.array,Q.object],post:{rules:[]},all:{},keywords:{}}}dF.getRules=zk});var s$=N((rF)=>{Object.defineProperty(rF,"__esModule",{value:!0});rF.shouldUseRule=rF.shouldUseGroup=rF.schemaHasRulesForType=void 0;function Vk({schema:Q,self:X},Y){let W=X.RULES.types[Y];return W&&W!==!0&&nF(Q,W)}rF.schemaHasRulesForType=Vk;function nF(Q,X){return X.rules.some((Y)=>oF(Q,Y))}rF.shouldUseGroup=nF;function oF(Q,X){var Y;return Q[X.keyword]!==void 0||((Y=X.definition.implements)===null||Y===void 0?void 0:Y.some((W)=>Q[W]!==void 0))}rF.shouldUseRule=oF});var _4=N((QD)=>{Object.defineProperty(QD,"__esModule",{value:!0});QD.reportTypeError=QD.checkDataTypes=QD.checkDataType=QD.coerceAndCheckDataType=QD.getJSONTypes=QD.getSchemaTypes=QD.DataType=void 0;var Dk=a$(),Lk=s$(),Ok=v4(),i=n(),aF=$0(),H8;(function(Q){Q[Q.Correct=0]="Correct",Q[Q.Wrong=1]="Wrong"})(H8||(QD.DataType=H8={}));function Uk(Q){let X=sF(Q.type);if(X.includes("null")){if(Q.nullable===!1)throw Error("type: null contradicts nullable: false")}else{if(!X.length&&Q.nullable!==void 0)throw Error('"nullable" cannot be used without "type"');if(Q.nullable===!0)X.push("null")}return X}QD.getSchemaTypes=Uk;function sF(Q){let X=Array.isArray(Q)?Q:Q?[Q]:[];if(X.every(Dk.isJSONType))return X;throw Error("type must be JSONType or JSONType[]: "+X.join(","))}QD.getJSONTypes=sF;function jk(Q,X){let{gen:Y,data:W,opts:$}=Q,J=Nk(X,$.coerceTypes),G=X.length>0&&!(J.length===0&&X.length===1&&(0,Lk.schemaHasRulesForType)(Q,X[0]));if(G){let H=QJ(X,W,$.strictNumbers,H8.Wrong);Y.if(H,()=>{if(J.length)qk(Q,X,J);else XJ(Q)})}return G}QD.coerceAndCheckDataType=jk;var eF=new Set(["string","number","integer","boolean","null"]);function Nk(Q,X){return X?Q.filter((Y)=>eF.has(Y)||X==="array"&&Y==="array"):[]}function qk(Q,X,Y){let{gen:W,data:$,opts:J}=Q,G=W.let("dataType",i._`typeof ${$}`),H=W.let("coerced",i._`undefined`);if(J.coerceTypes==="array")W.if(i._`${G} == 'object' && Array.isArray(${$}) && ${$}.length == 1`,()=>W.assign($,i._`${$}[0]`).assign(G,i._`typeof ${$}`).if(QJ(X,$,J.strictNumbers),()=>W.assign(H,$)));W.if(i._`${H} !== undefined`);for(let z of Y)if(eF.has(z)||z==="array"&&J.coerceTypes==="array")B(z);W.else(),XJ(Q),W.endIf(),W.if(i._`${H} !== undefined`,()=>{W.assign($,H),wk(Q,H)});function B(z){switch(z){case"string":W.elseIf(i._`${G} == "number" || ${G} == "boolean"`).assign(H,i._`"" + ${$}`).elseIf(i._`${$} === null`).assign(H,i._`""`);return;case"number":W.elseIf(i._`${G} == "boolean" || ${$} === null
8
+ depsCount: ${Y},
9
+ deps: ${X}}`};var LT={keyword:"dependencies",type:"object",schemaType:"object",error:zF.error,code(Q){let[Y,X]=OT(Q);HF(Q,Y),BF(Q,X)}};function OT({schema:Q}){let Y={},X={};for(let W in Q){if(W==="__proto__")continue;let $=Array.isArray(Q[W])?Y:X;$[W]=Q[W]}return[Y,X]}function HF(Q,Y=Q.schema){let{gen:X,data:W,it:$}=Q;if(Object.keys(Y).length===0)return;let J=X.let("missing");for(let G in Y){let H=Y[G];if(H.length===0)continue;let B=(0,k4.propertyInData)(X,W,G,$.opts.ownProperties);if(Q.setParams({property:G,depsCount:H.length,deps:H.join(", ")}),$.allErrors)X.if(B,()=>{for(let z of H)(0,k4.checkReportMissingProp)(Q,z)});else X.if(x$._`${B} && (${(0,k4.checkMissingProp)(Q,H,J)})`),(0,k4.reportMissingProp)(Q,J),X.else()}}zF.validatePropertyDeps=HF;function BF(Q,Y=Q.schema){let{gen:X,data:W,keyword:$,it:J}=Q,G=X.name("valid");for(let H in Y){if((0,DT.alwaysValidSchema)(J,Y[H]))continue;X.if((0,k4.propertyInData)(X,W,H,J.opts.ownProperties),()=>{let B=Q.subschema({keyword:$,schemaProp:H},G);Q.mergeValidEvaluated(B,G)},()=>X.var(G,!0)),Q.ok(G)}}zF.validateSchemaDeps=BF;zF.default=LT});var LF=w((DF)=>{Object.defineProperty(DF,"__esModule",{value:!0});var AF=r(),wT=W0(),NT={message:"property name must be valid",params:({params:Q})=>AF._`{propertyName: ${Q.propertyName}}`},qT={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:NT,code(Q){let{gen:Y,schema:X,data:W,it:$}=Q;if((0,wT.alwaysValidSchema)($,X))return;let J=Y.name("valid");Y.forIn("key",W,(G)=>{Q.setParams({propertyName:G}),Q.subschema({keyword:"propertyNames",data:G,dataTypes:["string"],propertyName:G,compositeRule:!0},J),Y.if((0,AF.not)(J),()=>{if(Q.error(!0),!$.allErrors)Y.break()})}),Q.ok(J)}};DF.default=qT});var y$=w((OF)=>{Object.defineProperty(OF,"__esModule",{value:!0});var lY=A1(),C1=r(),bT=J6(),mY=W0(),ZT={message:"must NOT have additional properties",params:({params:Q})=>C1._`{additionalProperty: ${Q.additionalProperty}}`},PT={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:ZT,code(Q){let{gen:Y,schema:X,parentSchema:W,data:$,errsCount:J,it:G}=Q;if(!J)throw Error("ajv implementation error");let{allErrors:H,opts:B}=G;if(G.props=!0,B.removeAdditional!=="all"&&(0,mY.alwaysValidSchema)(G,X))return;let z=(0,lY.allSchemaProperties)(W.properties),K=(0,lY.allSchemaProperties)(W.patternProperties);V(),Q.ok(C1._`${J} === ${bT.default.errors}`);function V(){Y.forIn("key",$,(O)=>{if(!z.length&&!K.length)D(O);else Y.if(F(O),()=>D(O))})}function F(O){let U;if(z.length>8){let N=(0,mY.schemaRefOrVal)(G,W.properties,"properties");U=(0,lY.isOwnProperty)(Y,N,O)}else if(z.length)U=(0,C1.or)(...z.map((N)=>C1._`${O} === ${N}`));else U=C1.nil;if(K.length)U=(0,C1.or)(U,...K.map((N)=>C1._`${(0,lY.usePattern)(Q,N)}.test(${O})`));return(0,C1.not)(U)}function A(O){Y.code(C1._`delete ${$}[${O}]`)}function D(O){if(B.removeAdditional==="all"||B.removeAdditional&&X===!1){A(O);return}if(X===!1){if(Q.setParams({additionalProperty:O}),Q.error(),!H)Y.break();return}if(typeof X=="object"&&!(0,mY.alwaysValidSchema)(G,X)){let U=Y.name("valid");if(B.removeAdditional==="failing")L(O,U,!1),Y.if((0,C1.not)(U),()=>{Q.reset(),A(O)});else if(L(O,U),!H)Y.if((0,C1.not)(U),()=>Y.break())}}function L(O,U,N){let M={keyword:"additionalProperties",dataProp:O,dataPropType:mY.Type.Str};if(N===!1)Object.assign(M,{compositeRule:!0,createErrors:!1,allErrors:!1});Q.subschema(M,U)}}};OF.default=PT});var NF=w((wF)=>{Object.defineProperty(wF,"__esModule",{value:!0});var ET=N4(),UF=A1(),f$=W0(),jF=y$(),ST={keyword:"properties",type:"object",schemaType:"object",code(Q){let{gen:Y,schema:X,parentSchema:W,data:$,it:J}=Q;if(J.opts.removeAdditional==="all"&&W.additionalProperties===void 0)jF.default.code(new ET.KeywordCxt(J,jF.default,"additionalProperties"));let G=(0,UF.allSchemaProperties)(X);for(let V of G)J.definedProperties.add(V);if(J.opts.unevaluated&&G.length&&J.props!==!0)J.props=f$.mergeEvaluated.props(Y,(0,f$.toHash)(G),J.props);let H=G.filter((V)=>!(0,f$.alwaysValidSchema)(J,X[V]));if(H.length===0)return;let B=Y.name("valid");for(let V of H){if(z(V))K(V);else{if(Y.if((0,UF.propertyInData)(Y,$,V,J.opts.ownProperties)),K(V),!J.allErrors)Y.else().var(B,!0);Y.endIf()}Q.it.definedProperties.add(V),Q.ok(B)}function z(V){return J.opts.useDefaults&&!J.compositeRule&&X[V].default!==void 0}function K(V){Q.subschema({keyword:"properties",schemaProp:V,dataProp:V},B)}}};wF.default=ST});var PF=w((ZF)=>{Object.defineProperty(ZF,"__esModule",{value:!0});var qF=A1(),cY=r(),MF=W0(),bF=W0(),TT={keyword:"patternProperties",type:"object",schemaType:"object",code(Q){let{gen:Y,schema:X,data:W,parentSchema:$,it:J}=Q,{opts:G}=J,H=(0,qF.allSchemaProperties)(X),B=H.filter((L)=>(0,MF.alwaysValidSchema)(J,X[L]));if(H.length===0||B.length===H.length&&(!J.opts.unevaluated||J.props===!0))return;let z=G.strictSchema&&!G.allowMatchingProperties&&$.properties,K=Y.name("valid");if(J.props!==!0&&!(J.props instanceof cY.Name))J.props=(0,bF.evaluatedPropsToName)(Y,J.props);let{props:V}=J;F();function F(){for(let L of H){if(z)A(L);if(J.allErrors)D(L);else Y.var(K,!0),D(L),Y.if(K)}}function A(L){for(let O in z)if(new RegExp(L).test(O))(0,MF.checkStrictMode)(J,`property ${O} matches pattern ${L} (use allowMatchingProperties)`)}function D(L){Y.forIn("key",W,(O)=>{Y.if(cY._`${(0,qF.usePattern)(Q,L)}.test(${O})`,()=>{let U=B.includes(L);if(!U)Q.subschema({keyword:"patternProperties",schemaProp:L,dataProp:O,dataPropType:bF.Type.Str},K);if(J.opts.unevaluated&&V!==!0)Y.assign(cY._`${V}[${O}]`,!0);else if(!U&&!J.allErrors)Y.if((0,cY.not)(K),()=>Y.break())})})}}};ZF.default=TT});var EF=w((RF)=>{Object.defineProperty(RF,"__esModule",{value:!0});var kT=W0(),_T={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(Q){let{gen:Y,schema:X,it:W}=Q;if((0,kT.alwaysValidSchema)(W,X)){Q.fail();return}let $=Y.name("valid");Q.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},$),Q.failResult($,()=>Q.reset(),()=>Q.error())},error:{message:"must NOT be valid"}};RF.default=_T});var IF=w((SF)=>{Object.defineProperty(SF,"__esModule",{value:!0});var xT=A1(),yT={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:xT.validateUnion,error:{message:"must match a schema in anyOf"}};SF.default=yT});var CF=w((TF)=>{Object.defineProperty(TF,"__esModule",{value:!0});var pY=r(),hT=W0(),gT={message:"must match exactly one schema in oneOf",params:({params:Q})=>pY._`{passingSchemas: ${Q.passing}}`},uT={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:gT,code(Q){let{gen:Y,schema:X,parentSchema:W,it:$}=Q;if(!Array.isArray(X))throw Error("ajv implementation error");if($.opts.discriminator&&W.discriminator)return;let J=X,G=Y.let("valid",!1),H=Y.let("passing",null),B=Y.name("_valid");Q.setParams({passing:H}),Y.block(z),Q.result(G,()=>Q.reset(),()=>Q.error(!0));function z(){J.forEach((K,V)=>{let F;if((0,hT.alwaysValidSchema)($,K))Y.var(B,!0);else F=Q.subschema({keyword:"oneOf",schemaProp:V,compositeRule:!0},B);if(V>0)Y.if(pY._`${B} && ${G}`).assign(G,!1).assign(H,pY._`[${H}, ${V}]`).else();Y.if(B,()=>{if(Y.assign(G,!0),Y.assign(H,V),F)Q.mergeEvaluated(F,pY.Name)})})}}};TF.default=uT});var _F=w((kF)=>{Object.defineProperty(kF,"__esModule",{value:!0});var mT=W0(),cT={keyword:"allOf",schemaType:"array",code(Q){let{gen:Y,schema:X,it:W}=Q;if(!Array.isArray(X))throw Error("ajv implementation error");let $=Y.name("valid");X.forEach((J,G)=>{if((0,mT.alwaysValidSchema)(W,J))return;let H=Q.subschema({keyword:"allOf",schemaProp:G},$);Q.ok($),Q.mergeEvaluated(H)})}};kF.default=cT});var fF=w((yF)=>{Object.defineProperty(yF,"__esModule",{value:!0});var dY=r(),xF=W0(),dT={message:({params:Q})=>dY.str`must match "${Q.ifClause}" schema`,params:({params:Q})=>dY._`{failingKeyword: ${Q.ifClause}}`},iT={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:dT,code(Q){let{gen:Y,parentSchema:X,it:W}=Q;if(X.then===void 0&&X.else===void 0)(0,xF.checkStrictMode)(W,'"if" without "then" and "else" is ignored');let $=vF(W,"then"),J=vF(W,"else");if(!$&&!J)return;let G=Y.let("valid",!0),H=Y.name("_valid");if(B(),Q.reset(),$&&J){let K=Y.let("ifClause");Q.setParams({ifClause:K}),Y.if(H,z("then",K),z("else",K))}else if($)Y.if(H,z("then"));else Y.if((0,dY.not)(H),z("else"));Q.pass(G,()=>Q.error(!0));function B(){let K=Q.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},H);Q.mergeEvaluated(K)}function z(K,V){return()=>{let F=Q.subschema({keyword:K},H);if(Y.assign(G,H),Q.mergeValidEvaluated(F,G),V)Y.assign(V,dY._`${K}`);else Q.setParams({ifClause:K})}}}};function vF(Q,Y){let X=Q.schema[Y];return X!==void 0&&!(0,xF.alwaysValidSchema)(Q,X)}yF.default=iT});var gF=w((hF)=>{Object.defineProperty(hF,"__esModule",{value:!0});var oT=W0(),rT={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:Q,parentSchema:Y,it:X}){if(Y.if===void 0)(0,oT.checkStrictMode)(X,`"${Q}" without "if" is ignored`)}};hF.default=rT});var lF=w((uF)=>{Object.defineProperty(uF,"__esModule",{value:!0});var tT=_$(),sT=YF(),eT=v$(),Q2=$F(),Y2=GF(),X2=FF(),W2=LF(),$2=y$(),J2=NF(),G2=PF(),H2=EF(),B2=IF(),z2=CF(),K2=_F(),V2=fF(),F2=gF();function A2(Q=!1){let Y=[H2.default,B2.default,z2.default,K2.default,V2.default,F2.default,W2.default,$2.default,X2.default,J2.default,G2.default];if(Q)Y.push(sT.default,Q2.default);else Y.push(tT.default,eT.default);return Y.push(Y2.default),Y}uF.default=A2});var cF=w((mF)=>{Object.defineProperty(mF,"__esModule",{value:!0});var R0=r(),L2={message:({schemaCode:Q})=>R0.str`must match format "${Q}"`,params:({schemaCode:Q})=>R0._`{format: ${Q}}`},O2={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:L2,code(Q,Y){let{gen:X,data:W,$data:$,schema:J,schemaCode:G,it:H}=Q,{opts:B,errSchemaPath:z,schemaEnv:K,self:V}=H;if(!B.validateFormats)return;if($)F();else A();function F(){let D=X.scopeValue("formats",{ref:V.formats,code:B.code.formats}),L=X.const("fDef",R0._`${D}[${G}]`),O=X.let("fType"),U=X.let("format");X.if(R0._`typeof ${L} == "object" && !(${L} instanceof RegExp)`,()=>X.assign(O,R0._`${L}.type || "string"`).assign(U,R0._`${L}.validate`),()=>X.assign(O,R0._`"string"`).assign(U,L)),Q.fail$data((0,R0.or)(N(),M()));function N(){if(B.strictSchema===!1)return R0.nil;return R0._`${G} && !${U}`}function M(){let S=K.$async?R0._`(${L}.async ? await ${U}(${W}) : ${U}(${W}))`:R0._`${U}(${W})`,P=R0._`(typeof ${U} == "function" ? ${S} : ${U}.test(${W}))`;return R0._`${U} && ${U} !== true && ${O} === ${Y} && !${P}`}}function A(){let D=V.formats[J];if(!D){N();return}if(D===!0)return;let[L,O,U]=M(D);if(L===Y)Q.pass(S());function N(){if(B.strictSchema===!1){V.logger.warn(P());return}throw Error(P());function P(){return`unknown format "${J}" ignored in schema at path "${z}"`}}function M(P){let V0=P instanceof RegExp?(0,R0.regexpCode)(P):B.code.formats?R0._`${B.code.formats}${(0,R0.getProperty)(J)}`:void 0,Z0=X.scopeValue("formats",{key:J,ref:P,code:V0});if(typeof P=="object"&&!(P instanceof RegExp))return[P.type||"string",P.validate,R0._`${Z0}.validate`];return["string",P,Z0]}function S(){if(typeof D=="object"&&!(D instanceof RegExp)&&D.async){if(!K.$async)throw Error("async format in sync schema");return R0._`await ${U}(${W})`}return typeof O=="function"?R0._`${U}(${W})`:R0._`${U}.test(${W})`}}}};mF.default=O2});var dF=w((pF)=>{Object.defineProperty(pF,"__esModule",{value:!0});var j2=cF(),w2=[j2.default];pF.default=w2});var oF=w((iF)=>{Object.defineProperty(iF,"__esModule",{value:!0});iF.contentVocabulary=iF.metadataVocabulary=void 0;iF.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];iF.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var tF=w((aF)=>{Object.defineProperty(aF,"__esModule",{value:!0});var M2=wV(),b2=iV(),Z2=lF(),P2=dF(),rF=oF(),R2=[M2.default,b2.default,(0,Z2.default)(),P2.default,rF.metadataVocabulary,rF.contentVocabulary];aF.default=R2});var YA=w((eF)=>{Object.defineProperty(eF,"__esModule",{value:!0});eF.DiscrError=void 0;var sF;(function(Q){Q.Tag="tag",Q.Mapping="mapping"})(sF||(eF.DiscrError=sF={}))});var $A=w((WA)=>{Object.defineProperty(WA,"__esModule",{value:!0});var J8=r(),h$=YA(),XA=RY(),S2=q4(),I2=W0(),T2={message:({params:{discrError:Q,tagName:Y}})=>Q===h$.DiscrError.Tag?`tag "${Y}" must be string`:`value of tag "${Y}" must be in oneOf`,params:({params:{discrError:Q,tag:Y,tagName:X}})=>J8._`{error: ${Q}, tag: ${X}, tagValue: ${Y}}`},C2={keyword:"discriminator",type:"object",schemaType:"object",error:T2,code(Q){let{gen:Y,data:X,schema:W,parentSchema:$,it:J}=Q,{oneOf:G}=$;if(!J.opts.discriminator)throw Error("discriminator: requires discriminator option");let H=W.propertyName;if(typeof H!="string")throw Error("discriminator: requires propertyName");if(W.mapping)throw Error("discriminator: mapping is not supported");if(!G)throw Error("discriminator: requires oneOf keyword");let B=Y.let("valid",!1),z=Y.const("tag",J8._`${X}${(0,J8.getProperty)(H)}`);Y.if(J8._`typeof ${z} == "string"`,()=>K(),()=>Q.error(!1,{discrError:h$.DiscrError.Tag,tag:z,tagName:H})),Q.ok(B);function K(){let A=F();Y.if(!1);for(let D in A)Y.elseIf(J8._`${z} === ${D}`),Y.assign(B,V(A[D]));Y.else(),Q.error(!1,{discrError:h$.DiscrError.Mapping,tag:z,tagName:H}),Y.endIf()}function V(A){let D=Y.name("valid"),L=Q.subschema({keyword:"oneOf",schemaProp:A},D);return Q.mergeEvaluated(L,J8.Name),D}function F(){var A;let D={},L=U($),O=!0;for(let S=0;S<G.length;S++){let P=G[S];if((P===null||P===void 0?void 0:P.$ref)&&!(0,I2.schemaHasRulesButRef)(P,J.self.RULES)){let Z0=P.$ref;if(P=XA.resolveRef.call(J.self,J.schemaEnv.root,J.baseId,Z0),P instanceof XA.SchemaEnv)P=P.schema;if(P===void 0)throw new S2.default(J.opts.uriResolver,J.baseId,Z0)}let V0=(A=P===null||P===void 0?void 0:P.properties)===null||A===void 0?void 0:A[H];if(typeof V0!="object")throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${H}"`);O=O&&(L||U(P)),N(V0,S)}if(!O)throw Error(`discriminator: "${H}" must be required`);return D;function U({required:S}){return Array.isArray(S)&&S.includes(H)}function N(S,P){if(S.const)M(S.const,P);else if(S.enum)for(let V0 of S.enum)M(V0,P);else throw Error(`discriminator: "properties/${H}" must have "const" or "enum"`)}function M(S,P){if(typeof S!="string"||S in D)throw Error(`discriminator: "${H}" values must be unique strings`);D[S]=P}}}};WA.default=C2});var JA=w((Pn,_2)=>{_2.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 HA=w(($1,g$)=>{Object.defineProperty($1,"__esModule",{value:!0});$1.MissingRefError=$1.ValidationError=$1.CodeGen=$1.Name=$1.nil=$1.stringify=$1.str=$1._=$1.KeywordCxt=$1.Ajv=void 0;var v2=zV(),x2=tF(),y2=$A(),GA=JA(),f2=["/properties"],iY="http://json-schema.org/draft-07/schema";class _4 extends v2.default{_addVocabularies(){if(super._addVocabularies(),x2.default.forEach((Q)=>this.addVocabulary(Q)),this.opts.discriminator)this.addKeyword(y2.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let Q=this.opts.$data?this.$dataMetaSchema(GA,f2):GA;this.addMetaSchema(Q,iY,!1),this.refs["http://json-schema.org/schema"]=iY}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(iY)?iY:void 0)}}$1.Ajv=_4;g$.exports=$1=_4;g$.exports.Ajv=_4;Object.defineProperty($1,"__esModule",{value:!0});$1.default=_4;var h2=N4();Object.defineProperty($1,"KeywordCxt",{enumerable:!0,get:function(){return h2.KeywordCxt}});var G8=r();Object.defineProperty($1,"_",{enumerable:!0,get:function(){return G8._}});Object.defineProperty($1,"str",{enumerable:!0,get:function(){return G8.str}});Object.defineProperty($1,"stringify",{enumerable:!0,get:function(){return G8.stringify}});Object.defineProperty($1,"nil",{enumerable:!0,get:function(){return G8.nil}});Object.defineProperty($1,"Name",{enumerable:!0,get:function(){return G8.Name}});Object.defineProperty($1,"CodeGen",{enumerable:!0,get:function(){return G8.CodeGen}});var g2=ZY();Object.defineProperty($1,"ValidationError",{enumerable:!0,get:function(){return g2.default}});var u2=q4();Object.defineProperty($1,"MissingRefError",{enumerable:!0,get:function(){return u2.default}})});var UA=w((LA)=>{Object.defineProperty(LA,"__esModule",{value:!0});LA.formatNames=LA.fastFormats=LA.fullFormats=void 0;function n1(Q,Y){return{validate:Q,compare:Y}}LA.fullFormats={date:n1(VA,c$),time:n1(l$(!0),p$),"date-time":n1(BA(!0),AA),"iso-time":n1(l$(),FA),"iso-date-time":n1(BA(),DA),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:o2,"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:YC,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:r2,int32:{type:"number",validate:s2},int64:{type:"number",validate:e2},float:{type:"number",validate:KA},double:{type:"number",validate:KA},password:!0,binary:!0};LA.fastFormats={...LA.fullFormats,date:n1(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,c$),time:n1(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,p$),"date-time":n1(/^\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,AA),"iso-time":n1(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,FA),"iso-date-time":n1(/^\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,DA),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};LA.formatNames=Object.keys(LA.fullFormats);function c2(Q){return Q%4===0&&(Q%100!==0||Q%400===0)}var p2=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,d2=[0,31,28,31,30,31,30,31,31,30,31,30,31];function VA(Q){let Y=p2.exec(Q);if(!Y)return!1;let X=+Y[1],W=+Y[2],$=+Y[3];return W>=1&&W<=12&&$>=1&&$<=(W===2&&c2(X)?29:d2[W])}function c$(Q,Y){if(!(Q&&Y))return;if(Q>Y)return 1;if(Q<Y)return-1;return 0}var u$=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function l$(Q){return function(X){let W=u$.exec(X);if(!W)return!1;let $=+W[1],J=+W[2],G=+W[3],H=W[4],B=W[5]==="-"?-1:1,z=+(W[6]||0),K=+(W[7]||0);if(z>23||K>59||Q&&!H)return!1;if($<=23&&J<=59&&G<60)return!0;let V=J-K*B,F=$-z*B-(V<0?1:0);return(F===23||F===-1)&&(V===59||V===-1)&&G<61}}function p$(Q,Y){if(!(Q&&Y))return;let X=new Date("2020-01-01T"+Q).valueOf(),W=new Date("2020-01-01T"+Y).valueOf();if(!(X&&W))return;return X-W}function FA(Q,Y){if(!(Q&&Y))return;let X=u$.exec(Q),W=u$.exec(Y);if(!(X&&W))return;if(Q=X[1]+X[2]+X[3],Y=W[1]+W[2]+W[3],Q>Y)return 1;if(Q<Y)return-1;return 0}var m$=/t|\s/i;function BA(Q){let Y=l$(Q);return function(W){let $=W.split(m$);return $.length===2&&VA($[0])&&Y($[1])}}function AA(Q,Y){if(!(Q&&Y))return;let X=new Date(Q).valueOf(),W=new Date(Y).valueOf();if(!(X&&W))return;return X-W}function DA(Q,Y){if(!(Q&&Y))return;let[X,W]=Q.split(m$),[$,J]=Y.split(m$),G=c$(X,$);if(G===void 0)return;return G||p$(W,J)}var i2=/\/|:/,n2=/^(?:[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 o2(Q){return i2.test(Q)&&n2.test(Q)}var zA=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function r2(Q){return zA.lastIndex=0,zA.test(Q)}var a2=-2147483648,t2=2147483647;function s2(Q){return Number.isInteger(Q)&&Q<=t2&&Q>=a2}function e2(Q){return Number.isInteger(Q)}function KA(){return!0}var QC=/[^\\]\\Z/;function YC(Q){if(QC.test(Q))return!1;try{return new RegExp(Q),!0}catch(Y){return!1}}});var x4=w((NA)=>{Object.defineProperty(NA,"__esModule",{value:!0});NA.regexpCode=NA.getEsmExportName=NA.getProperty=NA.safeStringify=NA.stringify=NA.strConcat=NA.addCodeArg=NA.str=NA._=NA.nil=NA._Code=NA.Name=NA.IDENTIFIER=NA._CodeOrName=void 0;class nY{}NA._CodeOrName=nY;NA.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class H8 extends nY{constructor(Q){super();if(!NA.IDENTIFIER.test(Q))throw Error("CodeGen: name must be a valid identifier");this.str=Q}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}NA.Name=H8;class k1 extends nY{constructor(Q){super();this._items=typeof Q==="string"?[Q]:Q}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let Q=this._items[0];return Q===""||Q==='""'}get str(){var Q;return(Q=this._str)!==null&&Q!==void 0?Q:this._str=this._items.reduce((Y,X)=>`${Y}${X}`,"")}get names(){var Q;return(Q=this._names)!==null&&Q!==void 0?Q:this._names=this._items.reduce((Y,X)=>{if(X instanceof H8)Y[X.str]=(Y[X.str]||0)+1;return Y},{})}}NA._Code=k1;NA.nil=new k1("");function jA(Q,...Y){let X=[Q[0]],W=0;while(W<Y.length)n$(X,Y[W]),X.push(Q[++W]);return new k1(X)}NA._=jA;var i$=new k1("+");function wA(Q,...Y){let X=[v4(Q[0])],W=0;while(W<Y.length)X.push(i$),n$(X,Y[W]),X.push(i$,v4(Q[++W]));return WC(X),new k1(X)}NA.str=wA;function n$(Q,Y){if(Y instanceof k1)Q.push(...Y._items);else if(Y instanceof H8)Q.push(Y);else Q.push(GC(Y))}NA.addCodeArg=n$;function WC(Q){let Y=1;while(Y<Q.length-1){if(Q[Y]===i$){let X=$C(Q[Y-1],Q[Y+1]);if(X!==void 0){Q.splice(Y-1,3,X);continue}Q[Y++]="+"}Y++}}function $C(Q,Y){if(Y==='""')return Q;if(Q==='""')return Y;if(typeof Q=="string"){if(Y instanceof H8||Q[Q.length-1]!=='"')return;if(typeof Y!="string")return`${Q.slice(0,-1)}${Y}"`;if(Y[0]==='"')return Q.slice(0,-1)+Y.slice(1);return}if(typeof Y=="string"&&Y[0]==='"'&&!(Q instanceof H8))return`"${Q}${Y.slice(1)}`;return}function JC(Q,Y){return Y.emptyStr()?Q:Q.emptyStr()?Y:wA`${Q}${Y}`}NA.strConcat=JC;function GC(Q){return typeof Q=="number"||typeof Q=="boolean"||Q===null?Q:v4(Array.isArray(Q)?Q.join(","):Q)}function HC(Q){return new k1(v4(Q))}NA.stringify=HC;function v4(Q){return JSON.stringify(Q).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}NA.safeStringify=v4;function BC(Q){return typeof Q=="string"&&NA.IDENTIFIER.test(Q)?new k1(`.${Q}`):jA`[${Q}]`}NA.getProperty=BC;function zC(Q){if(typeof Q=="string"&&NA.IDENTIFIER.test(Q))return new k1(`${Q}`);throw Error(`CodeGen: invalid export name: ${Q}, use explicit $id name mapping`)}NA.getEsmExportName=zC;function KC(Q){return new k1(Q.toString())}NA.regexpCode=KC});var t$=w((ZA)=>{Object.defineProperty(ZA,"__esModule",{value:!0});ZA.ValueScope=ZA.ValueScopeName=ZA.Scope=ZA.varKinds=ZA.UsedValueState=void 0;var J1=x4();class MA extends Error{constructor(Q){super(`CodeGen: "code" for ${Q} not defined`);this.value=Q.value}}var rY;(function(Q){Q[Q.Started=0]="Started",Q[Q.Completed=1]="Completed"})(rY||(ZA.UsedValueState=rY={}));ZA.varKinds={const:new J1.Name("const"),let:new J1.Name("let"),var:new J1.Name("var")};class r${constructor({prefixes:Q,parent:Y}={}){this._names={},this._prefixes=Q,this._parent=Y}toName(Q){return Q instanceof J1.Name?Q:this.name(Q)}name(Q){return new J1.Name(this._newName(Q))}_newName(Q){let Y=this._names[Q]||this._nameGroup(Q);return`${Q}${Y.index++}`}_nameGroup(Q){var Y,X;if(((X=(Y=this._parent)===null||Y===void 0?void 0:Y._prefixes)===null||X===void 0?void 0:X.has(Q))||this._prefixes&&!this._prefixes.has(Q))throw Error(`CodeGen: prefix "${Q}" is not allowed in this scope`);return this._names[Q]={prefix:Q,index:0}}}ZA.Scope=r$;class a$ extends J1.Name{constructor(Q,Y){super(Y);this.prefix=Q}setValue(Q,{property:Y,itemIndex:X}){this.value=Q,this.scopePath=J1._`.${new J1.Name(Y)}[${X}]`}}ZA.ValueScopeName=a$;var bC=J1._`\n`;class bA extends r${constructor(Q){super(Q);this._values={},this._scope=Q.scope,this.opts={...Q,_n:Q.lines?bC:J1.nil}}get(){return this._scope}name(Q){return new a$(Q,this._newName(Q))}value(Q,Y){var X;if(Y.ref===void 0)throw Error("CodeGen: ref must be passed in value");let W=this.toName(Q),{prefix:$}=W,J=(X=Y.key)!==null&&X!==void 0?X:Y.ref,G=this._values[$];if(G){let z=G.get(J);if(z)return z}else G=this._values[$]=new Map;G.set(J,W);let H=this._scope[$]||(this._scope[$]=[]),B=H.length;return H[B]=Y.ref,W.setValue(Y,{property:$,itemIndex:B}),W}getValue(Q,Y){let X=this._values[Q];if(!X)return;return X.get(Y)}scopeRefs(Q,Y=this._values){return this._reduceValues(Y,(X)=>{if(X.scopePath===void 0)throw Error(`CodeGen: name "${X}" has no value`);return J1._`${Q}${X.scopePath}`})}scopeCode(Q=this._values,Y,X){return this._reduceValues(Q,(W)=>{if(W.value===void 0)throw Error(`CodeGen: name "${W}" has no value`);return W.value.code},Y,X)}_reduceValues(Q,Y,X={},W){let $=J1.nil;for(let J in Q){let G=Q[J];if(!G)continue;let H=X[J]=X[J]||new Map;G.forEach((B)=>{if(H.has(B))return;H.set(B,rY.Started);let z=Y(B);if(z){let K=this.opts.es5?ZA.varKinds.var:ZA.varKinds.const;$=J1._`${$}${K} ${B} = ${z};${this.opts._n}`}else if(z=W===null||W===void 0?void 0:W(B))$=J1._`${$}${z}${this.opts._n}`;else throw new MA(B);H.set(B,rY.Completed)})}return $}}ZA.ValueScope=bA});var n=w((G1)=>{Object.defineProperty(G1,"__esModule",{value:!0});G1.or=G1.and=G1.not=G1.CodeGen=G1.operators=G1.varKinds=G1.ValueScopeName=G1.ValueScope=G1.Scope=G1.Name=G1.regexpCode=G1.stringify=G1.getProperty=G1.nil=G1.strConcat=G1.str=G1._=void 0;var Q0=x4(),_1=t$(),k6=x4();Object.defineProperty(G1,"_",{enumerable:!0,get:function(){return k6._}});Object.defineProperty(G1,"str",{enumerable:!0,get:function(){return k6.str}});Object.defineProperty(G1,"strConcat",{enumerable:!0,get:function(){return k6.strConcat}});Object.defineProperty(G1,"nil",{enumerable:!0,get:function(){return k6.nil}});Object.defineProperty(G1,"getProperty",{enumerable:!0,get:function(){return k6.getProperty}});Object.defineProperty(G1,"stringify",{enumerable:!0,get:function(){return k6.stringify}});Object.defineProperty(G1,"regexpCode",{enumerable:!0,get:function(){return k6.regexpCode}});Object.defineProperty(G1,"Name",{enumerable:!0,get:function(){return k6.Name}});var YX=t$();Object.defineProperty(G1,"Scope",{enumerable:!0,get:function(){return YX.Scope}});Object.defineProperty(G1,"ValueScope",{enumerable:!0,get:function(){return YX.ValueScope}});Object.defineProperty(G1,"ValueScopeName",{enumerable:!0,get:function(){return YX.ValueScopeName}});Object.defineProperty(G1,"varKinds",{enumerable:!0,get:function(){return YX.varKinds}});G1.operators={GT:new Q0._Code(">"),GTE:new Q0._Code(">="),LT:new Q0._Code("<"),LTE:new Q0._Code("<="),EQ:new Q0._Code("==="),NEQ:new Q0._Code("!=="),NOT:new Q0._Code("!"),OR:new Q0._Code("||"),AND:new Q0._Code("&&"),ADD:new Q0._Code("+")};class _6{optimizeNodes(){return this}optimizeNames(Q,Y){return this}}class RA extends _6{constructor(Q,Y,X){super();this.varKind=Q,this.name=Y,this.rhs=X}render({es5:Q,_n:Y}){let X=Q?_1.varKinds.var:this.varKind,W=this.rhs===void 0?"":` = ${this.rhs}`;return`${X} ${this.name}${W};`+Y}optimizeNames(Q,Y){if(!Q[this.name.str])return;if(this.rhs)this.rhs=z8(this.rhs,Q,Y);return this}get names(){return this.rhs instanceof Q0._CodeOrName?this.rhs.names:{}}}class QJ extends _6{constructor(Q,Y,X){super();this.lhs=Q,this.rhs=Y,this.sideEffects=X}render({_n:Q}){return`${this.lhs} = ${this.rhs};`+Q}optimizeNames(Q,Y){if(this.lhs instanceof Q0.Name&&!Q[this.lhs.str]&&!this.sideEffects)return;return this.rhs=z8(this.rhs,Q,Y),this}get names(){let Q=this.lhs instanceof Q0.Name?{}:{...this.lhs.names};return QX(Q,this.rhs)}}class EA extends QJ{constructor(Q,Y,X,W){super(Q,X,W);this.op=Y}render({_n:Q}){return`${this.lhs} ${this.op}= ${this.rhs};`+Q}}class SA extends _6{constructor(Q){super();this.label=Q,this.names={}}render({_n:Q}){return`${this.label}:`+Q}}class IA extends _6{constructor(Q){super();this.label=Q,this.names={}}render({_n:Q}){return`break${this.label?` ${this.label}`:""};`+Q}}class TA extends _6{constructor(Q){super();this.error=Q}render({_n:Q}){return`throw ${this.error};`+Q}get names(){return this.error.names}}class CA extends _6{constructor(Q){super();this.code=Q}render({_n:Q}){return`${this.code};`+Q}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(Q,Y){return this.code=z8(this.code,Q,Y),this}get names(){return this.code instanceof Q0._CodeOrName?this.code.names:{}}}class XX extends _6{constructor(Q=[]){super();this.nodes=Q}render(Q){return this.nodes.reduce((Y,X)=>Y+X.render(Q),"")}optimizeNodes(){let{nodes:Q}=this,Y=Q.length;while(Y--){let X=Q[Y].optimizeNodes();if(Array.isArray(X))Q.splice(Y,1,...X);else if(X)Q[Y]=X;else Q.splice(Y,1)}return Q.length>0?this:void 0}optimizeNames(Q,Y){let{nodes:X}=this,W=X.length;while(W--){let $=X[W];if($.optimizeNames(Q,Y))continue;EC(Q,$.names),X.splice(W,1)}return X.length>0?this:void 0}get names(){return this.nodes.reduce((Q,Y)=>L9(Q,Y.names),{})}}class v6 extends XX{render(Q){return"{"+Q._n+super.render(Q)+"}"+Q._n}}class kA extends XX{}class y4 extends v6{}y4.kind="else";class z6 extends v6{constructor(Q,Y){super(Y);this.condition=Q}render(Q){let Y=`if(${this.condition})`+super.render(Q);if(this.else)Y+="else "+this.else.render(Q);return Y}optimizeNodes(){super.optimizeNodes();let Q=this.condition;if(Q===!0)return this.nodes;let Y=this.else;if(Y){let X=Y.optimizeNodes();Y=this.else=Array.isArray(X)?new y4(X):X}if(Y){if(Q===!1)return Y instanceof z6?Y:Y.nodes;if(this.nodes.length)return this;return new z6(fA(Q),Y instanceof z6?[Y]:Y.nodes)}if(Q===!1||!this.nodes.length)return;return this}optimizeNames(Q,Y){var X;if(this.else=(X=this.else)===null||X===void 0?void 0:X.optimizeNames(Q,Y),!(super.optimizeNames(Q,Y)||this.else))return;return this.condition=z8(this.condition,Q,Y),this}get names(){let Q=super.names;if(QX(Q,this.condition),this.else)L9(Q,this.else.names);return Q}}z6.kind="if";class B8 extends v6{}B8.kind="for";class _A extends B8{constructor(Q){super();this.iteration=Q}render(Q){return`for(${this.iteration})`+super.render(Q)}optimizeNames(Q,Y){if(!super.optimizeNames(Q,Y))return;return this.iteration=z8(this.iteration,Q,Y),this}get names(){return L9(super.names,this.iteration.names)}}class vA extends B8{constructor(Q,Y,X,W){super();this.varKind=Q,this.name=Y,this.from=X,this.to=W}render(Q){let Y=Q.es5?_1.varKinds.var:this.varKind,{name:X,from:W,to:$}=this;return`for(${Y} ${X}=${W}; ${X}<${$}; ${X}++)`+super.render(Q)}get names(){let Q=QX(super.names,this.from);return QX(Q,this.to)}}class s$ extends B8{constructor(Q,Y,X,W){super();this.loop=Q,this.varKind=Y,this.name=X,this.iterable=W}render(Q){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(Q)}optimizeNames(Q,Y){if(!super.optimizeNames(Q,Y))return;return this.iterable=z8(this.iterable,Q,Y),this}get names(){return L9(super.names,this.iterable.names)}}class aY extends v6{constructor(Q,Y,X){super();this.name=Q,this.args=Y,this.async=X}render(Q){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(Q)}}aY.kind="func";class tY extends XX{render(Q){return"return "+super.render(Q)}}tY.kind="return";class xA extends v6{render(Q){let Y="try"+super.render(Q);if(this.catch)Y+=this.catch.render(Q);if(this.finally)Y+=this.finally.render(Q);return Y}optimizeNodes(){var Q,Y;return super.optimizeNodes(),(Q=this.catch)===null||Q===void 0||Q.optimizeNodes(),(Y=this.finally)===null||Y===void 0||Y.optimizeNodes(),this}optimizeNames(Q,Y){var X,W;return super.optimizeNames(Q,Y),(X=this.catch)===null||X===void 0||X.optimizeNames(Q,Y),(W=this.finally)===null||W===void 0||W.optimizeNames(Q,Y),this}get names(){let Q=super.names;if(this.catch)L9(Q,this.catch.names);if(this.finally)L9(Q,this.finally.names);return Q}}class sY extends v6{constructor(Q){super();this.error=Q}render(Q){return`catch(${this.error})`+super.render(Q)}}sY.kind="catch";class eY extends v6{render(Q){return"finally"+super.render(Q)}}eY.kind="finally";class yA{constructor(Q,Y={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...Y,_n:Y.lines?`
10
+ `:""},this._extScope=Q,this._scope=new _1.Scope({parent:Q}),this._nodes=[new kA]}toString(){return this._root.render(this.opts)}name(Q){return this._scope.name(Q)}scopeName(Q){return this._extScope.name(Q)}scopeValue(Q,Y){let X=this._extScope.value(Q,Y);return(this._values[X.prefix]||(this._values[X.prefix]=new Set)).add(X),X}getScopeValue(Q,Y){return this._extScope.getValue(Q,Y)}scopeRefs(Q){return this._extScope.scopeRefs(Q,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(Q,Y,X,W){let $=this._scope.toName(Y);if(X!==void 0&&W)this._constants[$.str]=X;return this._leafNode(new RA(Q,$,X)),$}const(Q,Y,X){return this._def(_1.varKinds.const,Q,Y,X)}let(Q,Y,X){return this._def(_1.varKinds.let,Q,Y,X)}var(Q,Y,X){return this._def(_1.varKinds.var,Q,Y,X)}assign(Q,Y,X){return this._leafNode(new QJ(Q,Y,X))}add(Q,Y){return this._leafNode(new EA(Q,G1.operators.ADD,Y))}code(Q){if(typeof Q=="function")Q();else if(Q!==Q0.nil)this._leafNode(new CA(Q));return this}object(...Q){let Y=["{"];for(let[X,W]of Q){if(Y.length>1)Y.push(",");if(Y.push(X),X!==W||this.opts.es5)Y.push(":"),(0,Q0.addCodeArg)(Y,W)}return Y.push("}"),new Q0._Code(Y)}if(Q,Y,X){if(this._blockNode(new z6(Q)),Y&&X)this.code(Y).else().code(X).endIf();else if(Y)this.code(Y).endIf();else if(X)throw Error('CodeGen: "else" body without "then" body');return this}elseIf(Q){return this._elseNode(new z6(Q))}else(){return this._elseNode(new y4)}endIf(){return this._endBlockNode(z6,y4)}_for(Q,Y){if(this._blockNode(Q),Y)this.code(Y).endFor();return this}for(Q,Y){return this._for(new _A(Q),Y)}forRange(Q,Y,X,W,$=this.opts.es5?_1.varKinds.var:_1.varKinds.let){let J=this._scope.toName(Q);return this._for(new vA($,J,Y,X),()=>W(J))}forOf(Q,Y,X,W=_1.varKinds.const){let $=this._scope.toName(Q);if(this.opts.es5){let J=Y instanceof Q0.Name?Y:this.var("_arr",Y);return this.forRange("_i",0,Q0._`${J}.length`,(G)=>{this.var($,Q0._`${J}[${G}]`),X($)})}return this._for(new s$("of",W,$,Y),()=>X($))}forIn(Q,Y,X,W=this.opts.es5?_1.varKinds.var:_1.varKinds.const){if(this.opts.ownProperties)return this.forOf(Q,Q0._`Object.keys(${Y})`,X);let $=this._scope.toName(Q);return this._for(new s$("in",W,$,Y),()=>X($))}endFor(){return this._endBlockNode(B8)}label(Q){return this._leafNode(new SA(Q))}break(Q){return this._leafNode(new IA(Q))}return(Q){let Y=new tY;if(this._blockNode(Y),this.code(Q),Y.nodes.length!==1)throw Error('CodeGen: "return" should have one node');return this._endBlockNode(tY)}try(Q,Y,X){if(!Y&&!X)throw Error('CodeGen: "try" without "catch" and "finally"');let W=new xA;if(this._blockNode(W),this.code(Q),Y){let $=this.name("e");this._currNode=W.catch=new sY($),Y($)}if(X)this._currNode=W.finally=new eY,this.code(X);return this._endBlockNode(sY,eY)}throw(Q){return this._leafNode(new TA(Q))}block(Q,Y){if(this._blockStarts.push(this._nodes.length),Q)this.code(Q).endBlock(Y);return this}endBlock(Q){let Y=this._blockStarts.pop();if(Y===void 0)throw Error("CodeGen: not in self-balancing block");let X=this._nodes.length-Y;if(X<0||Q!==void 0&&X!==Q)throw Error(`CodeGen: wrong number of nodes: ${X} vs ${Q} expected`);return this._nodes.length=Y,this}func(Q,Y=Q0.nil,X,W){if(this._blockNode(new aY(Q,Y,X)),W)this.code(W).endFunc();return this}endFunc(){return this._endBlockNode(aY)}optimize(Q=1){while(Q-- >0)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(Q){return this._currNode.nodes.push(Q),this}_blockNode(Q){this._currNode.nodes.push(Q),this._nodes.push(Q)}_endBlockNode(Q,Y){let X=this._currNode;if(X instanceof Q||Y&&X instanceof Y)return this._nodes.pop(),this;throw Error(`CodeGen: not in block "${Y?`${Q.kind}/${Y.kind}`:Q.kind}"`)}_elseNode(Q){let Y=this._currNode;if(!(Y instanceof z6))throw Error('CodeGen: "else" without "if"');return this._currNode=Y.else=Q,this}get _root(){return this._nodes[0]}get _currNode(){let Q=this._nodes;return Q[Q.length-1]}set _currNode(Q){let Y=this._nodes;Y[Y.length-1]=Q}}G1.CodeGen=yA;function L9(Q,Y){for(let X in Y)Q[X]=(Q[X]||0)+(Y[X]||0);return Q}function QX(Q,Y){return Y instanceof Q0._CodeOrName?L9(Q,Y.names):Q}function z8(Q,Y,X){if(Q instanceof Q0.Name)return W(Q);if(!$(Q))return Q;return new Q0._Code(Q._items.reduce((J,G)=>{if(G instanceof Q0.Name)G=W(G);if(G instanceof Q0._Code)J.push(...G._items);else J.push(G);return J},[]));function W(J){let G=X[J.str];if(G===void 0||Y[J.str]!==1)return J;return delete Y[J.str],G}function $(J){return J instanceof Q0._Code&&J._items.some((G)=>G instanceof Q0.Name&&Y[G.str]===1&&X[G.str]!==void 0)}}function EC(Q,Y){for(let X in Y)Q[X]=(Q[X]||0)-(Y[X]||0)}function fA(Q){return typeof Q=="boolean"||typeof Q=="number"||Q===null?!Q:Q0._`!${e$(Q)}`}G1.not=fA;var SC=hA(G1.operators.AND);function IC(...Q){return Q.reduce(SC)}G1.and=IC;var TC=hA(G1.operators.OR);function CC(...Q){return Q.reduce(TC)}G1.or=CC;function hA(Q){return(Y,X)=>Y===Q0.nil?X:X===Q0.nil?Y:Q0._`${e$(Y)} ${Q} ${e$(X)}`}function e$(Q){return Q instanceof Q0.Name?Q:Q0._`(${Q})`}});var $0=w((nA)=>{Object.defineProperty(nA,"__esModule",{value:!0});nA.checkStrictMode=nA.getErrorPath=nA.Type=nA.useFunc=nA.setEvaluated=nA.evaluatedPropsToName=nA.mergeEvaluated=nA.eachItem=nA.unescapeJsonPointer=nA.escapeJsonPointer=nA.escapeFragment=nA.unescapeFragment=nA.schemaRefOrVal=nA.schemaHasRulesButRef=nA.schemaHasRules=nA.checkUnknownRules=nA.alwaysValidSchema=nA.toHash=void 0;var K0=n(),xC=x4();function yC(Q){let Y={};for(let X of Q)Y[X]=!0;return Y}nA.toHash=yC;function fC(Q,Y){if(typeof Y=="boolean")return Y;if(Object.keys(Y).length===0)return!0;return mA(Q,Y),!cA(Y,Q.self.RULES.all)}nA.alwaysValidSchema=fC;function mA(Q,Y=Q.schema){let{opts:X,self:W}=Q;if(!X.strictSchema)return;if(typeof Y==="boolean")return;let $=W.RULES.keywords;for(let J in Y)if(!$[J])iA(Q,`unknown keyword: "${J}"`)}nA.checkUnknownRules=mA;function cA(Q,Y){if(typeof Q=="boolean")return!Q;for(let X in Q)if(Y[X])return!0;return!1}nA.schemaHasRules=cA;function hC(Q,Y){if(typeof Q=="boolean")return!Q;for(let X in Q)if(X!=="$ref"&&Y.all[X])return!0;return!1}nA.schemaHasRulesButRef=hC;function gC({topSchemaRef:Q,schemaPath:Y},X,W,$){if(!$){if(typeof X=="number"||typeof X=="boolean")return X;if(typeof X=="string")return K0._`${X}`}return K0._`${Q}${Y}${(0,K0.getProperty)(W)}`}nA.schemaRefOrVal=gC;function uC(Q){return pA(decodeURIComponent(Q))}nA.unescapeFragment=uC;function lC(Q){return encodeURIComponent(XJ(Q))}nA.escapeFragment=lC;function XJ(Q){if(typeof Q=="number")return`${Q}`;return Q.replace(/~/g,"~0").replace(/\//g,"~1")}nA.escapeJsonPointer=XJ;function pA(Q){return Q.replace(/~1/g,"/").replace(/~0/g,"~")}nA.unescapeJsonPointer=pA;function mC(Q,Y){if(Array.isArray(Q))for(let X of Q)Y(X);else Y(Q)}nA.eachItem=mC;function uA({mergeNames:Q,mergeToName:Y,mergeValues:X,resultToName:W}){return($,J,G,H)=>{let B=G===void 0?J:G instanceof K0.Name?(J instanceof K0.Name?Q($,J,G):Y($,J,G),G):J instanceof K0.Name?(Y($,G,J),J):X(J,G);return H===K0.Name&&!(B instanceof K0.Name)?W($,B):B}}nA.mergeEvaluated={props:uA({mergeNames:(Q,Y,X)=>Q.if(K0._`${X} !== true && ${Y} !== undefined`,()=>{Q.if(K0._`${Y} === true`,()=>Q.assign(X,!0),()=>Q.assign(X,K0._`${X} || {}`).code(K0._`Object.assign(${X}, ${Y})`))}),mergeToName:(Q,Y,X)=>Q.if(K0._`${X} !== true`,()=>{if(Y===!0)Q.assign(X,!0);else Q.assign(X,K0._`${X} || {}`),WJ(Q,X,Y)}),mergeValues:(Q,Y)=>Q===!0?!0:{...Q,...Y},resultToName:dA}),items:uA({mergeNames:(Q,Y,X)=>Q.if(K0._`${X} !== true && ${Y} !== undefined`,()=>Q.assign(X,K0._`${Y} === true ? true : ${X} > ${Y} ? ${X} : ${Y}`)),mergeToName:(Q,Y,X)=>Q.if(K0._`${X} !== true`,()=>Q.assign(X,Y===!0?!0:K0._`${X} > ${Y} ? ${X} : ${Y}`)),mergeValues:(Q,Y)=>Q===!0?!0:Math.max(Q,Y),resultToName:(Q,Y)=>Q.var("items",Y)})};function dA(Q,Y){if(Y===!0)return Q.var("props",!0);let X=Q.var("props",K0._`{}`);if(Y!==void 0)WJ(Q,X,Y);return X}nA.evaluatedPropsToName=dA;function WJ(Q,Y,X){Object.keys(X).forEach((W)=>Q.assign(K0._`${Y}${(0,K0.getProperty)(W)}`,!0))}nA.setEvaluated=WJ;var lA={};function cC(Q,Y){return Q.scopeValue("func",{ref:Y,code:lA[Y.code]||(lA[Y.code]=new xC._Code(Y.code))})}nA.useFunc=cC;var YJ;(function(Q){Q[Q.Num=0]="Num",Q[Q.Str=1]="Str"})(YJ||(nA.Type=YJ={}));function pC(Q,Y,X){if(Q instanceof K0.Name){let W=Y===YJ.Num;return X?W?K0._`"[" + ${Q} + "]"`:K0._`"['" + ${Q} + "']"`:W?K0._`"/" + ${Q}`:K0._`"/" + ${Q}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return X?(0,K0.getProperty)(Q).toString():"/"+XJ(Q)}nA.getErrorPath=pC;function iA(Q,Y,X=Q.opts.strictSchema){if(!X)return;if(Y=`strict mode: ${Y}`,X===!0)throw Error(Y);Q.self.logger.warn(Y)}nA.checkStrictMode=iA});var K6=w((rA)=>{Object.defineProperty(rA,"__esModule",{value:!0});var m0=n(),Bk={data:new m0.Name("data"),valCxt:new m0.Name("valCxt"),instancePath:new m0.Name("instancePath"),parentData:new m0.Name("parentData"),parentDataProperty:new m0.Name("parentDataProperty"),rootData:new m0.Name("rootData"),dynamicAnchors:new m0.Name("dynamicAnchors"),vErrors:new m0.Name("vErrors"),errors:new m0.Name("errors"),this:new m0.Name("this"),self:new m0.Name("self"),scope:new m0.Name("scope"),json:new m0.Name("json"),jsonPos:new m0.Name("jsonPos"),jsonLen:new m0.Name("jsonLen"),jsonPart:new m0.Name("jsonPart")};rA.default=Bk});var f4=w((eA)=>{Object.defineProperty(eA,"__esModule",{value:!0});eA.extendErrors=eA.resetErrorsCount=eA.reportExtraError=eA.reportError=eA.keyword$DataError=eA.keywordError=void 0;var X0=n(),$X=$0(),n0=K6();eA.keywordError={message:({keyword:Q})=>X0.str`must pass "${Q}" keyword validation`};eA.keyword$DataError={message:({keyword:Q,schemaType:Y})=>Y?X0.str`"${Q}" keyword must be ${Y} ($data)`:X0.str`"${Q}" keyword is invalid ($data)`};function Kk(Q,Y=eA.keywordError,X,W){let{it:$}=Q,{gen:J,compositeRule:G,allErrors:H}=$,B=sA(Q,Y,X);if(W!==null&&W!==void 0?W:G||H)aA(J,B);else tA($,X0._`[${B}]`)}eA.reportError=Kk;function Vk(Q,Y=eA.keywordError,X){let{it:W}=Q,{gen:$,compositeRule:J,allErrors:G}=W,H=sA(Q,Y,X);if(aA($,H),!(J||G))tA(W,n0.default.vErrors)}eA.reportExtraError=Vk;function Fk(Q,Y){Q.assign(n0.default.errors,Y),Q.if(X0._`${n0.default.vErrors} !== null`,()=>Q.if(Y,()=>Q.assign(X0._`${n0.default.vErrors}.length`,Y),()=>Q.assign(n0.default.vErrors,null)))}eA.resetErrorsCount=Fk;function Ak({gen:Q,keyword:Y,schemaValue:X,data:W,errsCount:$,it:J}){if($===void 0)throw Error("ajv implementation error");let G=Q.name("err");Q.forRange("i",$,n0.default.errors,(H)=>{if(Q.const(G,X0._`${n0.default.vErrors}[${H}]`),Q.if(X0._`${G}.instancePath === undefined`,()=>Q.assign(X0._`${G}.instancePath`,(0,X0.strConcat)(n0.default.instancePath,J.errorPath))),Q.assign(X0._`${G}.schemaPath`,X0.str`${J.errSchemaPath}/${Y}`),J.opts.verbose)Q.assign(X0._`${G}.schema`,X),Q.assign(X0._`${G}.data`,W)})}eA.extendErrors=Ak;function aA(Q,Y){let X=Q.const("err",Y);Q.if(X0._`${n0.default.vErrors} === null`,()=>Q.assign(n0.default.vErrors,X0._`[${X}]`),X0._`${n0.default.vErrors}.push(${X})`),Q.code(X0._`${n0.default.errors}++`)}function tA(Q,Y){let{gen:X,validateName:W,schemaEnv:$}=Q;if($.$async)X.throw(X0._`new ${Q.ValidationError}(${Y})`);else X.assign(X0._`${W}.errors`,Y),X.return(!1)}var O9={keyword:new X0.Name("keyword"),schemaPath:new X0.Name("schemaPath"),params:new X0.Name("params"),propertyName:new X0.Name("propertyName"),message:new X0.Name("message"),schema:new X0.Name("schema"),parentSchema:new X0.Name("parentSchema")};function sA(Q,Y,X){let{createErrors:W}=Q.it;if(W===!1)return X0._`{}`;return Dk(Q,Y,X)}function Dk(Q,Y,X={}){let{gen:W,it:$}=Q,J=[Lk($,X),Ok(Q,X)];return Uk(Q,Y,J),W.object(...J)}function Lk({errorPath:Q},{instancePath:Y}){let X=Y?X0.str`${Q}${(0,$X.getErrorPath)(Y,$X.Type.Str)}`:Q;return[n0.default.instancePath,(0,X0.strConcat)(n0.default.instancePath,X)]}function Ok({keyword:Q,it:{errSchemaPath:Y}},{schemaPath:X,parentSchema:W}){let $=W?Y:X0.str`${Y}/${Q}`;if(X)$=X0.str`${$}${(0,$X.getErrorPath)(X,$X.Type.Str)}`;return[O9.schemaPath,$]}function Uk(Q,{params:Y,message:X},W){let{keyword:$,data:J,schemaValue:G,it:H}=Q,{opts:B,propertyName:z,topSchemaRef:K,schemaPath:V}=H;if(W.push([O9.keyword,$],[O9.params,typeof Y=="function"?Y(Q):Y||X0._`{}`]),B.messages)W.push([O9.message,typeof X=="function"?X(Q):X]);if(B.verbose)W.push([O9.schema,G],[O9.parentSchema,X0._`${K}${V}`],[n0.default.data,J]);if(z)W.push([O9.propertyName,z])}});var $D=w((XD)=>{Object.defineProperty(XD,"__esModule",{value:!0});XD.boolOrEmptySchema=XD.topBoolOrEmptySchema=void 0;var Mk=f4(),bk=n(),Zk=K6(),Pk={message:"boolean schema is false"};function Rk(Q){let{gen:Y,schema:X,validateName:W}=Q;if(X===!1)YD(Q,!1);else if(typeof X=="object"&&X.$async===!0)Y.return(Zk.default.data);else Y.assign(bk._`${W}.errors`,null),Y.return(!0)}XD.topBoolOrEmptySchema=Rk;function Ek(Q,Y){let{gen:X,schema:W}=Q;if(W===!1)X.var(Y,!1),YD(Q);else X.var(Y,!0)}XD.boolOrEmptySchema=Ek;function YD(Q,Y){let{gen:X,data:W}=Q,$={gen:X,keyword:"false schema",data:W,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:Q};(0,Mk.reportError)($,Pk,void 0,Y)}});var JJ=w((JD)=>{Object.defineProperty(JD,"__esModule",{value:!0});JD.getRules=JD.isJSONType=void 0;var Ik=["string","number","integer","boolean","null","object","array"],Tk=new Set(Ik);function Ck(Q){return typeof Q=="string"&&Tk.has(Q)}JD.isJSONType=Ck;function kk(){let Q={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...Q,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},Q.number,Q.string,Q.array,Q.object],post:{rules:[]},all:{},keywords:{}}}JD.getRules=kk});var GJ=w((zD)=>{Object.defineProperty(zD,"__esModule",{value:!0});zD.shouldUseRule=zD.shouldUseGroup=zD.schemaHasRulesForType=void 0;function vk({schema:Q,self:Y},X){let W=Y.RULES.types[X];return W&&W!==!0&&HD(Q,W)}zD.schemaHasRulesForType=vk;function HD(Q,Y){return Y.rules.some((X)=>BD(Q,X))}zD.shouldUseGroup=HD;function BD(Q,Y){var X;return Q[Y.keyword]!==void 0||((X=Y.definition.implements)===null||X===void 0?void 0:X.some((W)=>Q[W]!==void 0))}zD.shouldUseRule=BD});var h4=w((DD)=>{Object.defineProperty(DD,"__esModule",{value:!0});DD.reportTypeError=DD.checkDataTypes=DD.checkDataType=DD.coerceAndCheckDataType=DD.getJSONTypes=DD.getSchemaTypes=DD.DataType=void 0;var fk=JJ(),hk=GJ(),gk=f4(),i=n(),VD=$0(),K8;(function(Q){Q[Q.Correct=0]="Correct",Q[Q.Wrong=1]="Wrong"})(K8||(DD.DataType=K8={}));function uk(Q){let Y=FD(Q.type);if(Y.includes("null")){if(Q.nullable===!1)throw Error("type: null contradicts nullable: false")}else{if(!Y.length&&Q.nullable!==void 0)throw Error('"nullable" cannot be used without "type"');if(Q.nullable===!0)Y.push("null")}return Y}DD.getSchemaTypes=uk;function FD(Q){let Y=Array.isArray(Q)?Q:Q?[Q]:[];if(Y.every(fk.isJSONType))return Y;throw Error("type must be JSONType or JSONType[]: "+Y.join(","))}DD.getJSONTypes=FD;function lk(Q,Y){let{gen:X,data:W,opts:$}=Q,J=mk(Y,$.coerceTypes),G=Y.length>0&&!(J.length===0&&Y.length===1&&(0,hk.schemaHasRulesForType)(Q,Y[0]));if(G){let H=BJ(Y,W,$.strictNumbers,K8.Wrong);X.if(H,()=>{if(J.length)ck(Q,Y,J);else zJ(Q)})}return G}DD.coerceAndCheckDataType=lk;var AD=new Set(["string","number","integer","boolean","null"]);function mk(Q,Y){return Y?Q.filter((X)=>AD.has(X)||Y==="array"&&X==="array"):[]}function ck(Q,Y,X){let{gen:W,data:$,opts:J}=Q,G=W.let("dataType",i._`typeof ${$}`),H=W.let("coerced",i._`undefined`);if(J.coerceTypes==="array")W.if(i._`${G} == 'object' && Array.isArray(${$}) && ${$}.length == 1`,()=>W.assign($,i._`${$}[0]`).assign(G,i._`typeof ${$}`).if(BJ(Y,$,J.strictNumbers),()=>W.assign(H,$)));W.if(i._`${H} !== undefined`);for(let z of X)if(AD.has(z)||z==="array"&&J.coerceTypes==="array")B(z);W.else(),zJ(Q),W.endIf(),W.if(i._`${H} !== undefined`,()=>{W.assign($,H),pk(Q,H)});function B(z){switch(z){case"string":W.elseIf(i._`${G} == "number" || ${G} == "boolean"`).assign(H,i._`"" + ${$}`).elseIf(i._`${$} === null`).assign(H,i._`""`);return;case"number":W.elseIf(i._`${G} == "boolean" || ${$} === null
11
11
  || (${G} == "string" && ${$} && ${$} == +${$})`).assign(H,i._`+${$}`);return;case"integer":W.elseIf(i._`${G} === "boolean" || ${$} === null
12
12
  || (${G} === "string" && ${$} && ${$} == +${$} && !(${$} % 1))`).assign(H,i._`+${$}`);return;case"boolean":W.elseIf(i._`${$} === "false" || ${$} === 0 || ${$} === null`).assign(H,!1).elseIf(i._`${$} === "true" || ${$} === 1`).assign(H,!0);return;case"null":W.elseIf(i._`${$} === "" || ${$} === 0 || ${$} === false`),W.assign(H,null);return;case"array":W.elseIf(i._`${G} === "string" || ${G} === "number"
13
- || ${G} === "boolean" || ${$} === null`).assign(H,i._`[${$}]`)}}}function wk({gen:Q,parentData:X,parentDataProperty:Y},W){Q.if(i._`${X} !== undefined`,()=>Q.assign(i._`${X}[${Y}]`,W))}function e$(Q,X,Y,W=H8.Correct){let $=W===H8.Correct?i.operators.EQ:i.operators.NEQ,J;switch(Q){case"null":return i._`${X} ${$} null`;case"array":J=i._`Array.isArray(${X})`;break;case"object":J=i._`${X} && typeof ${X} == "object" && !Array.isArray(${X})`;break;case"integer":J=G(i._`!(${X} % 1) && !isNaN(${X})`);break;case"number":J=G();break;default:return i._`typeof ${X} ${$} ${Q}`}return W===H8.Correct?J:(0,i.not)(J);function G(H=i.nil){return(0,i.and)(i._`typeof ${X} == "number"`,H,Y?i._`isFinite(${X})`:i.nil)}}QD.checkDataType=e$;function QJ(Q,X,Y,W){if(Q.length===1)return e$(Q[0],X,Y,W);let $,J=(0,aF.toHash)(Q);if(J.array&&J.object){let G=i._`typeof ${X} != "object"`;$=J.null?G:i._`!${X} || ${G}`,delete J.null,delete J.array,delete J.object}else $=i.nil;if(J.number)delete J.integer;for(let G in J)$=(0,i.and)($,e$(G,X,Y,W));return $}QD.checkDataTypes=QJ;var Mk={message:({schema:Q})=>`must be ${Q}`,params:({schema:Q,schemaValue:X})=>typeof Q=="string"?i._`{type: ${Q}}`:i._`{type: ${X}}`};function XJ(Q){let X=bk(Q);(0,Ok.reportError)(X,Mk)}QD.reportTypeError=XJ;function bk(Q){let{gen:X,data:Y,schema:W}=Q,$=(0,aF.schemaRefOrVal)(Q,W,"type");return{gen:X,keyword:"type",data:Y,schema:W.type,schemaCode:$,schemaValue:$,parentSchema:W,params:{},it:Q}}});var JD=N((WD)=>{Object.defineProperty(WD,"__esModule",{value:!0});WD.assignDefaults=void 0;var B8=n(),Tk=$0();function Ck(Q,X){let{properties:Y,items:W}=Q.schema;if(X==="object"&&Y)for(let $ in Y)YD(Q,$,Y[$].default);else if(X==="array"&&Array.isArray(W))W.forEach(($,J)=>YD(Q,J,$.default))}WD.assignDefaults=Ck;function YD(Q,X,Y){let{gen:W,compositeRule:$,data:J,opts:G}=Q;if(Y===void 0)return;let H=B8._`${J}${(0,B8.getProperty)(X)}`;if($){(0,Tk.checkStrictMode)(Q,`default is ignored for: ${H}`);return}let B=B8._`${H} === undefined`;if(G.useDefaults==="empty")B=B8._`${B} || ${H} === null || ${H} === ""`;W.if(B,B8._`${H} = ${(0,B8.stringify)(Y)}`)}});var L1=N((BD)=>{Object.defineProperty(BD,"__esModule",{value:!0});BD.validateUnion=BD.validateArray=BD.usePattern=BD.callValidateCode=BD.schemaProperties=BD.allSchemaProperties=BD.noPropertyInData=BD.propertyInData=BD.isOwnProperty=BD.hasPropFunc=BD.reportMissingProp=BD.checkMissingProp=BD.checkReportMissingProp=void 0;var U0=n(),YJ=$0(),_6=K6(),kk=$0();function vk(Q,X){let{gen:Y,data:W,it:$}=Q;Y.if($J(Y,W,X,$.opts.ownProperties),()=>{Q.setParams({missingProperty:U0._`${X}`},!0),Q.error()})}BD.checkReportMissingProp=vk;function _k({gen:Q,data:X,it:{opts:Y}},W,$){return(0,U0.or)(...W.map((J)=>(0,U0.and)($J(Q,X,J,Y.ownProperties),U0._`${$} = ${J}`)))}BD.checkMissingProp=_k;function xk(Q,X){Q.setParams({missingProperty:X},!0),Q.error()}BD.reportMissingProp=xk;function GD(Q){return Q.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:U0._`Object.prototype.hasOwnProperty`})}BD.hasPropFunc=GD;function WJ(Q,X,Y){return U0._`${GD(Q)}.call(${X}, ${Y})`}BD.isOwnProperty=WJ;function yk(Q,X,Y,W){let $=U0._`${X}${(0,U0.getProperty)(Y)} !== undefined`;return W?U0._`${$} && ${WJ(Q,X,Y)}`:$}BD.propertyInData=yk;function $J(Q,X,Y,W){let $=U0._`${X}${(0,U0.getProperty)(Y)} === undefined`;return W?(0,U0.or)($,(0,U0.not)(WJ(Q,X,Y))):$}BD.noPropertyInData=$J;function HD(Q){return Q?Object.keys(Q).filter((X)=>X!=="__proto__"):[]}BD.allSchemaProperties=HD;function fk(Q,X){return HD(X).filter((Y)=>!(0,YJ.alwaysValidSchema)(Q,X[Y]))}BD.schemaProperties=fk;function gk({schemaCode:Q,data:X,it:{gen:Y,topSchemaRef:W,schemaPath:$,errorPath:J},it:G},H,B,z){let K=z?U0._`${Q}, ${X}, ${W}${$}`:X,V=[[_6.default.instancePath,(0,U0.strConcat)(_6.default.instancePath,J)],[_6.default.parentData,G.parentData],[_6.default.parentDataProperty,G.parentDataProperty],[_6.default.rootData,_6.default.rootData]];if(G.opts.dynamicRef)V.push([_6.default.dynamicAnchors,_6.default.dynamicAnchors]);let A=U0._`${K}, ${Y.object(...V)}`;return B!==U0.nil?U0._`${H}.call(${B}, ${A})`:U0._`${H}(${A})`}BD.callValidateCode=gk;var hk=U0._`new RegExp`;function uk({gen:Q,it:{opts:X}},Y){let W=X.unicodeRegExp?"u":"",{regExp:$}=X.code,J=$(Y,W);return Q.scopeValue("pattern",{key:J.toString(),ref:J,code:U0._`${$.code==="new RegExp"?hk:(0,kk.useFunc)(Q,$)}(${Y}, ${W})`})}BD.usePattern=uk;function lk(Q){let{gen:X,data:Y,keyword:W,it:$}=Q,J=X.name("valid");if($.allErrors){let H=X.let("valid",!0);return G(()=>X.assign(H,!1)),H}return X.var(J,!0),G(()=>X.break()),J;function G(H){let B=X.const("len",U0._`${Y}.length`);X.forRange("i",0,B,(z)=>{Q.subschema({keyword:W,dataProp:z,dataPropType:YJ.Type.Num},J),X.if((0,U0.not)(J),H)})}}BD.validateArray=lk;function mk(Q){let{gen:X,schema:Y,keyword:W,it:$}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");if(Y.some((B)=>(0,YJ.alwaysValidSchema)($,B))&&!$.opts.unevaluated)return;let G=X.let("valid",!1),H=X.name("_valid");X.block(()=>Y.forEach((B,z)=>{let K=Q.subschema({keyword:W,schemaProp:z,compositeRule:!0},H);if(X.assign(G,U0._`${G} || ${H}`),!Q.mergeValidEvaluated(K,H))X.if((0,U0.not)(G))})),Q.result(G,()=>Q.reset(),()=>Q.error(!0))}BD.validateUnion=mk});var DD=N((AD)=>{Object.defineProperty(AD,"__esModule",{value:!0});AD.validateKeywordUsage=AD.validSchemaType=AD.funcKeywordCode=AD.macroKeywordCode=void 0;var o0=n(),D9=K6(),Xv=L1(),Yv=v4();function Wv(Q,X){let{gen:Y,keyword:W,schema:$,parentSchema:J,it:G}=Q,H=X.macro.call(G.self,$,J,G),B=VD(Y,W,H);if(G.opts.validateSchema!==!1)G.self.validateSchema(H,!0);let z=Y.name("valid");Q.subschema({schema:H,schemaPath:o0.nil,errSchemaPath:`${G.errSchemaPath}/${W}`,topSchemaRef:B,compositeRule:!0},z),Q.pass(z,()=>Q.error(!0))}AD.macroKeywordCode=Wv;function $v(Q,X){var Y;let{gen:W,keyword:$,schema:J,parentSchema:G,$data:H,it:B}=Q;Gv(B,X);let z=!H&&X.compile?X.compile.call(B.self,J,G,B):X.validate,K=VD(W,$,z),V=W.let("valid");Q.block$data(V,A),Q.ok((Y=X.valid)!==null&&Y!==void 0?Y:V);function A(){if(X.errors===!1){if(D(),X.modifying)KD(Q);O(()=>Q.error())}else{let U=X.async?F():L();if(X.modifying)KD(Q);O(()=>Jv(Q,U))}}function F(){let U=W.let("ruleErrs",null);return W.try(()=>D(o0._`await `),(w)=>W.assign(V,!1).if(o0._`${w} instanceof ${B.ValidationError}`,()=>W.assign(U,o0._`${w}.errors`),()=>W.throw(w))),U}function L(){let U=o0._`${K}.errors`;return W.assign(U,null),D(o0.nil),U}function D(U=X.async?o0._`await `:o0.nil){let w=B.opts.passContext?D9.default.this:D9.default.self,M=!(("compile"in X)&&!H||X.schema===!1);W.assign(V,o0._`${U}${(0,Xv.callValidateCode)(Q,K,w,M)}`,X.modifying)}function O(U){var w;W.if((0,o0.not)((w=X.valid)!==null&&w!==void 0?w:V),U)}}AD.funcKeywordCode=$v;function KD(Q){let{gen:X,data:Y,it:W}=Q;X.if(W.parentData,()=>X.assign(Y,o0._`${W.parentData}[${W.parentDataProperty}]`))}function Jv(Q,X){let{gen:Y}=Q;Y.if(o0._`Array.isArray(${X})`,()=>{Y.assign(D9.default.vErrors,o0._`${D9.default.vErrors} === null ? ${X} : ${D9.default.vErrors}.concat(${X})`).assign(D9.default.errors,o0._`${D9.default.vErrors}.length`),(0,Yv.extendErrors)(Q)},()=>Q.error())}function Gv({schemaEnv:Q},X){if(X.async&&!Q.$async)throw Error("async keyword in sync schema")}function VD(Q,X,Y){if(Y===void 0)throw Error(`keyword "${X}" failed to compile`);return Q.scopeValue("keyword",typeof Y=="function"?{ref:Y}:{ref:Y,code:(0,o0.stringify)(Y)})}function Hv(Q,X,Y=!1){return!X.length||X.some((W)=>W==="array"?Array.isArray(Q):W==="object"?Q&&typeof Q=="object"&&!Array.isArray(Q):typeof Q==W||Y&&typeof Q>"u")}AD.validSchemaType=Hv;function Bv({schema:Q,opts:X,self:Y,errSchemaPath:W},$,J){if(Array.isArray($.keyword)?!$.keyword.includes(J):$.keyword!==J)throw Error("ajv implementation error");let G=$.dependencies;if(G===null||G===void 0?void 0:G.some((H)=>!Object.prototype.hasOwnProperty.call(Q,H)))throw Error(`parent schema must have dependencies of ${J}: ${G.join(",")}`);if($.validateSchema){if(!$.validateSchema(Q[J])){let B=`keyword "${J}" value is invalid at path "${W}": `+Y.errorsText($.validateSchema.errors);if(X.validateSchema==="log")Y.logger.error(B);else throw Error(B)}}}AD.validateKeywordUsage=Bv});var jD=N((OD)=>{Object.defineProperty(OD,"__esModule",{value:!0});OD.extendSubschemaMode=OD.extendSubschemaData=OD.getSubschema=void 0;var o1=n(),LD=$0();function Av(Q,{keyword:X,schemaProp:Y,schema:W,schemaPath:$,errSchemaPath:J,topSchemaRef:G}){if(X!==void 0&&W!==void 0)throw Error('both "keyword" and "schema" passed, only one allowed');if(X!==void 0){let H=Q.schema[X];return Y===void 0?{schema:H,schemaPath:o1._`${Q.schemaPath}${(0,o1.getProperty)(X)}`,errSchemaPath:`${Q.errSchemaPath}/${X}`}:{schema:H[Y],schemaPath:o1._`${Q.schemaPath}${(0,o1.getProperty)(X)}${(0,o1.getProperty)(Y)}`,errSchemaPath:`${Q.errSchemaPath}/${X}/${(0,LD.escapeFragment)(Y)}`}}if(W!==void 0){if($===void 0||J===void 0||G===void 0)throw Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:W,schemaPath:$,topSchemaRef:G,errSchemaPath:J}}throw Error('either "keyword" or "schema" must be passed')}OD.getSubschema=Av;function Fv(Q,X,{dataProp:Y,dataPropType:W,data:$,dataTypes:J,propertyName:G}){if($!==void 0&&Y!==void 0)throw Error('both "data" and "dataProp" passed, only one allowed');let{gen:H}=X;if(Y!==void 0){let{errorPath:z,dataPathArr:K,opts:V}=X,A=H.let("data",o1._`${X.data}${(0,o1.getProperty)(Y)}`,!0);B(A),Q.errorPath=o1.str`${z}${(0,LD.getErrorPath)(Y,W,V.jsPropertySyntax)}`,Q.parentDataProperty=o1._`${Y}`,Q.dataPathArr=[...K,Q.parentDataProperty]}if($!==void 0){let z=$ instanceof o1.Name?$:H.let("data",$,!0);if(B(z),G!==void 0)Q.propertyName=G}if(J)Q.dataTypes=J;function B(z){Q.data=z,Q.dataLevel=X.dataLevel+1,Q.dataTypes=[],X.definedProperties=new Set,Q.parentData=X.data,Q.dataNames=[...X.dataNames,z]}}OD.extendSubschemaData=Fv;function Dv(Q,{jtdDiscriminator:X,jtdMetadata:Y,compositeRule:W,createErrors:$,allErrors:J}){if(W!==void 0)Q.compositeRule=W;if($!==void 0)Q.createErrors=$;if(J!==void 0)Q.allErrors=J;Q.jtdDiscriminator=X,Q.jtdMetadata=Y}OD.extendSubschemaMode=Dv});var qD=N((Un,ND)=>{var x6=ND.exports=function(Q,X,Y){if(typeof X=="function")Y=X,X={};Y=X.cb||Y;var W=typeof Y=="function"?Y:Y.pre||function(){},$=Y.post||function(){};XY(X,W,$,Q,"",Q)};x6.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};x6.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};x6.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};x6.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 XY(Q,X,Y,W,$,J,G,H,B,z){if(W&&typeof W=="object"&&!Array.isArray(W)){X(W,$,J,G,H,B,z);for(var K in W){var V=W[K];if(Array.isArray(V)){if(K in x6.arrayKeywords)for(var A=0;A<V.length;A++)XY(Q,X,Y,V[A],$+"/"+K+"/"+A,J,$,K,W,A)}else if(K in x6.propsKeywords){if(V&&typeof V=="object")for(var F in V)XY(Q,X,Y,V[F],$+"/"+K+"/"+Uv(F),J,$,K,W,F)}else if(K in x6.keywords||Q.allKeys&&!(K in x6.skipKeywords))XY(Q,X,Y,V,$+"/"+K,J,$,K,W)}Y(W,$,J,G,H,B,z)}}function Uv(Q){return Q.replace(/~/g,"~0").replace(/\//g,"~1")}});var x4=N((PD)=>{Object.defineProperty(PD,"__esModule",{value:!0});PD.getSchemaRefs=PD.resolveUrl=PD.normalizeId=PD._getFullPath=PD.getFullPath=PD.inlineRef=void 0;var jv=$0(),Nv=A4(),qv=qD(),wv=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function Mv(Q,X=!0){if(typeof Q=="boolean")return!0;if(X===!0)return!JJ(Q);if(!X)return!1;return wD(Q)<=X}PD.inlineRef=Mv;var bv=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function JJ(Q){for(let X in Q){if(bv.has(X))return!0;let Y=Q[X];if(Array.isArray(Y)&&Y.some(JJ))return!0;if(typeof Y=="object"&&JJ(Y))return!0}return!1}function wD(Q){let X=0;for(let Y in Q){if(Y==="$ref")return 1/0;if(X++,wv.has(Y))continue;if(typeof Q[Y]=="object")(0,jv.eachItem)(Q[Y],(W)=>X+=wD(W));if(X===1/0)return 1/0}return X}function MD(Q,X="",Y){if(Y!==!1)X=z8(X);let W=Q.parse(X);return bD(Q,W)}PD.getFullPath=MD;function bD(Q,X){return Q.serialize(X).split("#")[0]+"#"}PD._getFullPath=bD;var Pv=/#\/?$/;function z8(Q){return Q?Q.replace(Pv,""):""}PD.normalizeId=z8;function Zv(Q,X,Y){return Y=z8(Y),Q.resolve(X,Y)}PD.resolveUrl=Zv;var Rv=/^[a-z_][-a-z0-9._]*$/i;function Ev(Q,X){if(typeof Q=="boolean")return{};let{schemaId:Y,uriResolver:W}=this.opts,$=z8(Q[Y]||X),J={"":$},G=MD(W,$,!1),H={},B=new Set;return qv(Q,{allKeys:!0},(V,A,F,L)=>{if(L===void 0)return;let D=G+A,O=J[L];if(typeof V[Y]=="string")O=U.call(this,V[Y]);w.call(this,V.$anchor),w.call(this,V.$dynamicAnchor),J[A]=O;function U(M){let S=this.opts.uriResolver.resolve;if(M=z8(O?S(O,M):M),B.has(M))throw K(M);B.add(M);let Z=this.refs[M];if(typeof Z=="string")Z=this.refs[Z];if(typeof Z=="object")z(V,Z.schema,M);else if(M!==z8(D))if(M[0]==="#")z(V,H[M],M),H[M]=V;else this.refs[M]=D;return M}function w(M){if(typeof M=="string"){if(!Rv.test(M))throw Error(`invalid anchor "${M}"`);U.call(this,`#${M}`)}}}),H;function z(V,A,F){if(A!==void 0&&!Nv(V,A))throw K(F)}function K(V){return Error(`reference "${V}" resolves to more than one schema`)}}PD.getSchemaRefs=Ev});var g4=N((uD)=>{Object.defineProperty(uD,"__esModule",{value:!0});uD.getData=uD.KeywordCxt=uD.validateFunctionCode=void 0;var TD=pF(),RD=_4(),HJ=s$(),YY=_4(),vv=JD(),f4=DD(),GJ=jD(),f=n(),c=K6(),_v=x4(),V6=$0(),y4=v4();function xv(Q){if(vD(Q)){if(_D(Q),kD(Q)){gv(Q);return}}CD(Q,()=>(0,TD.topBoolOrEmptySchema)(Q))}uD.validateFunctionCode=xv;function CD({gen:Q,validateName:X,schema:Y,schemaEnv:W,opts:$},J){if($.code.es5)Q.func(X,f._`${c.default.data}, ${c.default.valCxt}`,W.$async,()=>{Q.code(f._`"use strict"; ${ED(Y,$)}`),fv(Q,$),Q.code(J)});else Q.func(X,f._`${c.default.data}, ${yv($)}`,W.$async,()=>Q.code(ED(Y,$)).code(J))}function yv(Q){return f._`{${c.default.instancePath}="", ${c.default.parentData}, ${c.default.parentDataProperty}, ${c.default.rootData}=${c.default.data}${Q.dynamicRef?f._`, ${c.default.dynamicAnchors}={}`:f.nil}}={}`}function fv(Q,X){Q.if(c.default.valCxt,()=>{if(Q.var(c.default.instancePath,f._`${c.default.valCxt}.${c.default.instancePath}`),Q.var(c.default.parentData,f._`${c.default.valCxt}.${c.default.parentData}`),Q.var(c.default.parentDataProperty,f._`${c.default.valCxt}.${c.default.parentDataProperty}`),Q.var(c.default.rootData,f._`${c.default.valCxt}.${c.default.rootData}`),X.dynamicRef)Q.var(c.default.dynamicAnchors,f._`${c.default.valCxt}.${c.default.dynamicAnchors}`)},()=>{if(Q.var(c.default.instancePath,f._`""`),Q.var(c.default.parentData,f._`undefined`),Q.var(c.default.parentDataProperty,f._`undefined`),Q.var(c.default.rootData,c.default.data),X.dynamicRef)Q.var(c.default.dynamicAnchors,f._`{}`)})}function gv(Q){let{schema:X,opts:Y,gen:W}=Q;CD(Q,()=>{if(Y.$comment&&X.$comment)yD(Q);if(cv(Q),W.let(c.default.vErrors,null),W.let(c.default.errors,0),Y.unevaluated)hv(Q);xD(Q),iv(Q)});return}function hv(Q){let{gen:X,validateName:Y}=Q;Q.evaluated=X.const("evaluated",f._`${Y}.evaluated`),X.if(f._`${Q.evaluated}.dynamicProps`,()=>X.assign(f._`${Q.evaluated}.props`,f._`undefined`)),X.if(f._`${Q.evaluated}.dynamicItems`,()=>X.assign(f._`${Q.evaluated}.items`,f._`undefined`))}function ED(Q,X){let Y=typeof Q=="object"&&Q[X.schemaId];return Y&&(X.code.source||X.code.process)?f._`/*# sourceURL=${Y} */`:f.nil}function uv(Q,X){if(vD(Q)){if(_D(Q),kD(Q)){lv(Q,X);return}}(0,TD.boolOrEmptySchema)(Q,X)}function kD({schema:Q,self:X}){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(X.RULES.all[Y])return!0;return!1}function vD(Q){return typeof Q.schema!="boolean"}function lv(Q,X){let{schema:Y,gen:W,opts:$}=Q;if($.$comment&&Y.$comment)yD(Q);pv(Q),dv(Q);let J=W.const("_errs",c.default.errors);xD(Q,J),W.var(X,f._`${J} === ${c.default.errors}`)}function _D(Q){(0,V6.checkUnknownRules)(Q),mv(Q)}function xD(Q,X){if(Q.opts.jtd)return SD(Q,[],!1,X);let Y=(0,RD.getSchemaTypes)(Q.schema),W=(0,RD.coerceAndCheckDataType)(Q,Y);SD(Q,Y,!W,X)}function mv(Q){let{schema:X,errSchemaPath:Y,opts:W,self:$}=Q;if(X.$ref&&W.ignoreKeywordsWithRef&&(0,V6.schemaHasRulesButRef)(X,$.RULES))$.logger.warn(`$ref: keywords ignored in schema at path "${Y}"`)}function cv(Q){let{schema:X,opts:Y}=Q;if(X.default!==void 0&&Y.useDefaults&&Y.strictSchema)(0,V6.checkStrictMode)(Q,"default is ignored in the schema root")}function pv(Q){let X=Q.schema[Q.opts.schemaId];if(X)Q.baseId=(0,_v.resolveUrl)(Q.opts.uriResolver,Q.baseId,X)}function dv(Q){if(Q.schema.$async&&!Q.schemaEnv.$async)throw Error("async schema in sync schema")}function yD({gen:Q,schemaEnv:X,schema:Y,errSchemaPath:W,opts:$}){let J=Y.$comment;if($.$comment===!0)Q.code(f._`${c.default.self}.logger.log(${J})`);else if(typeof $.$comment=="function"){let G=f.str`${W}/$comment`,H=Q.scopeValue("root",{ref:X.root});Q.code(f._`${c.default.self}.opts.$comment(${J}, ${G}, ${H}.schema)`)}}function iv(Q){let{gen:X,schemaEnv:Y,validateName:W,ValidationError:$,opts:J}=Q;if(Y.$async)X.if(f._`${c.default.errors} === 0`,()=>X.return(c.default.data),()=>X.throw(f._`new ${$}(${c.default.vErrors})`));else{if(X.assign(f._`${W}.errors`,c.default.vErrors),J.unevaluated)nv(Q);X.return(f._`${c.default.errors} === 0`)}}function nv({gen:Q,evaluated:X,props:Y,items:W}){if(Y instanceof f.Name)Q.assign(f._`${X}.props`,Y);if(W instanceof f.Name)Q.assign(f._`${X}.items`,W)}function SD(Q,X,Y,W){let{gen:$,schema:J,data:G,allErrors:H,opts:B,self:z}=Q,{RULES:K}=z;if(J.$ref&&(B.ignoreKeywordsWithRef||!(0,V6.schemaHasRulesButRef)(J,K))){$.block(()=>gD(Q,"$ref",K.all.$ref.definition));return}if(!B.jtd)ov(Q,X);$.block(()=>{for(let A of K.rules)V(A);V(K.post)});function V(A){if(!(0,HJ.shouldUseGroup)(J,A))return;if(A.type){if($.if((0,YY.checkDataType)(A.type,G,B.strictNumbers)),ID(Q,A),X.length===1&&X[0]===A.type&&Y)$.else(),(0,YY.reportTypeError)(Q);$.endIf()}else ID(Q,A);if(!H)$.if(f._`${c.default.errors} === ${W||0}`)}}function ID(Q,X){let{gen:Y,schema:W,opts:{useDefaults:$}}=Q;if($)(0,vv.assignDefaults)(Q,X.type);Y.block(()=>{for(let J of X.rules)if((0,HJ.shouldUseRule)(W,J))gD(Q,J.keyword,J.definition,X.type)})}function ov(Q,X){if(Q.schemaEnv.meta||!Q.opts.strictTypes)return;if(rv(Q,X),!Q.opts.allowUnionTypes)tv(Q,X);av(Q,Q.dataTypes)}function rv(Q,X){if(!X.length)return;if(!Q.dataTypes.length){Q.dataTypes=X;return}X.forEach((Y)=>{if(!fD(Q.dataTypes,Y))BJ(Q,`type "${Y}" not allowed by context "${Q.dataTypes.join(",")}"`)}),ev(Q,X)}function tv(Q,X){if(X.length>1&&!(X.length===2&&X.includes("null")))BJ(Q,"use allowUnionTypes to allow union type keyword")}function av(Q,X){let Y=Q.self.RULES.all;for(let W in Y){let $=Y[W];if(typeof $=="object"&&(0,HJ.shouldUseRule)(Q.schema,$)){let{type:J}=$.definition;if(J.length&&!J.some((G)=>sv(X,G)))BJ(Q,`missing type "${J.join(",")}" for keyword "${W}"`)}}}function sv(Q,X){return Q.includes(X)||X==="number"&&Q.includes("integer")}function fD(Q,X){return Q.includes(X)||X==="integer"&&Q.includes("number")}function ev(Q,X){let Y=[];for(let W of Q.dataTypes)if(fD(X,W))Y.push(W);else if(X.includes("integer")&&W==="number")Y.push("integer");Q.dataTypes=Y}function BJ(Q,X){let Y=Q.schemaEnv.baseId+Q.errSchemaPath;X+=` at "${Y}" (strictTypes)`,(0,V6.checkStrictMode)(Q,X,Q.opts.strictTypes)}class zJ{constructor(Q,X,Y){if((0,f4.validateKeywordUsage)(Q,X,Y),this.gen=Q.gen,this.allErrors=Q.allErrors,this.keyword=Y,this.data=Q.data,this.schema=Q.schema[Y],this.$data=X.$data&&Q.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,V6.schemaRefOrVal)(Q,this.schema,Y,this.$data),this.schemaType=X.schemaType,this.parentSchema=Q.schema,this.params={},this.it=Q,this.def=X,this.$data)this.schemaCode=Q.gen.const("vSchema",hD(this.$data,Q));else if(this.schemaCode=this.schemaValue,!(0,f4.validSchemaType)(this.schema,X.schemaType,X.allowUndefined))throw Error(`${Y} value must be ${JSON.stringify(X.schemaType)}`);if("code"in X?X.trackErrors:X.errors!==!1)this.errsCount=Q.gen.const("_errs",c.default.errors)}result(Q,X,Y){this.failResult((0,f.not)(Q),X,Y)}failResult(Q,X,Y){if(this.gen.if(Q),Y)Y();else this.error();if(X){if(this.gen.else(),X(),this.allErrors)this.gen.endIf()}else if(this.allErrors)this.gen.endIf();else this.gen.else()}pass(Q,X){this.failResult((0,f.not)(Q),void 0,X)}fail(Q){if(Q===void 0){if(this.error(),!this.allErrors)this.gen.if(!1);return}if(this.gen.if(Q),this.error(),this.allErrors)this.gen.endIf();else this.gen.else()}fail$data(Q){if(!this.$data)return this.fail(Q);let{schemaCode:X}=this;this.fail(f._`${X} !== undefined && (${(0,f.or)(this.invalid$data(),Q)})`)}error(Q,X,Y){if(X){this.setParams(X),this._error(Q,Y),this.setParams({});return}this._error(Q,Y)}_error(Q,X){(Q?y4.reportExtraError:y4.reportError)(this,this.def.error,X)}$dataError(){(0,y4.reportError)(this,this.def.$dataError||y4.keyword$DataError)}reset(){if(this.errsCount===void 0)throw Error('add "trackErrors" to keyword definition');(0,y4.resetErrorsCount)(this.gen,this.errsCount)}ok(Q){if(!this.allErrors)this.gen.if(Q)}setParams(Q,X){if(X)Object.assign(this.params,Q);else this.params=Q}block$data(Q,X,Y=f.nil){this.gen.block(()=>{this.check$data(Q,Y),X()})}check$data(Q=f.nil,X=f.nil){if(!this.$data)return;let{gen:Y,schemaCode:W,schemaType:$,def:J}=this;if(Y.if((0,f.or)(f._`${W} === undefined`,X)),Q!==f.nil)Y.assign(Q,!0);if($.length||J.validateSchema){if(Y.elseIf(this.invalid$data()),this.$dataError(),Q!==f.nil)Y.assign(Q,!1)}Y.else()}invalid$data(){let{gen:Q,schemaCode:X,schemaType:Y,def:W,it:$}=this;return(0,f.or)(J(),G());function J(){if(Y.length){if(!(X instanceof f.Name))throw Error("ajv implementation error");let H=Array.isArray(Y)?Y:[Y];return f._`${(0,YY.checkDataTypes)(H,X,$.opts.strictNumbers,YY.DataType.Wrong)}`}return f.nil}function G(){if(W.validateSchema){let H=Q.scopeValue("validate$data",{ref:W.validateSchema});return f._`!${H}(${X})`}return f.nil}}subschema(Q,X){let Y=(0,GJ.getSubschema)(this.it,Q);(0,GJ.extendSubschemaData)(Y,this.it,Q),(0,GJ.extendSubschemaMode)(Y,Q);let W={...this.it,...Y,items:void 0,props:void 0};return uv(W,X),W}mergeEvaluated(Q,X){let{it:Y,gen:W}=this;if(!Y.opts.unevaluated)return;if(Y.props!==!0&&Q.props!==void 0)Y.props=V6.mergeEvaluated.props(W,Q.props,Y.props,X);if(Y.items!==!0&&Q.items!==void 0)Y.items=V6.mergeEvaluated.items(W,Q.items,Y.items,X)}mergeValidEvaluated(Q,X){let{it:Y,gen:W}=this;if(Y.opts.unevaluated&&(Y.props!==!0||Y.items!==!0))return W.if(X,()=>this.mergeEvaluated(Q,f.Name)),!0}}uD.KeywordCxt=zJ;function gD(Q,X,Y,W){let $=new zJ(Q,Y,X);if("code"in Y)Y.code($,W);else if($.$data&&Y.validate)(0,f4.funcKeywordCode)($,Y);else if("macro"in Y)(0,f4.macroKeywordCode)($,Y);else if(Y.compile||Y.validate)(0,f4.funcKeywordCode)($,Y)}var Q_=/^\/(?:[^~]|~0|~1)*$/,X_=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function hD(Q,{dataLevel:X,dataNames:Y,dataPathArr:W}){let $,J;if(Q==="")return c.default.rootData;if(Q[0]==="/"){if(!Q_.test(Q))throw Error(`Invalid JSON-pointer: ${Q}`);$=Q,J=c.default.rootData}else{let z=X_.exec(Q);if(!z)throw Error(`Invalid JSON-pointer: ${Q}`);let K=+z[1];if($=z[2],$==="#"){if(K>=X)throw Error(B("property/index",K));return W[X-K]}if(K>X)throw Error(B("data",K));if(J=Y[X-K],!$)return J}let G=J,H=$.split("/");for(let z of H)if(z)J=f._`${J}${(0,f.getProperty)((0,V6.unescapeJsonPointer)(z))}`,G=f._`${G} && ${J}`;return G;function B(z,K){return`Cannot access ${z} ${K} levels up, current level is ${X}`}}uD.getData=hD});var WY=N((cD)=>{Object.defineProperty(cD,"__esModule",{value:!0});class mD extends Error{constructor(Q){super("validation failed");this.errors=Q,this.ajv=this.validation=!0}}cD.default=mD});var h4=N((dD)=>{Object.defineProperty(dD,"__esModule",{value:!0});var KJ=x4();class pD extends Error{constructor(Q,X,Y,W){super(W||`can't resolve reference ${Y} from id ${X}`);this.missingRef=(0,KJ.resolveUrl)(Q,X,Y),this.missingSchema=(0,KJ.normalizeId)((0,KJ.getFullPath)(Q,this.missingRef))}}dD.default=pD});var JY=N((oD)=>{Object.defineProperty(oD,"__esModule",{value:!0});oD.resolveSchema=oD.getCompilingSchema=oD.resolveRef=oD.compileSchema=oD.SchemaEnv=void 0;var _1=n(),G_=WY(),L9=K6(),x1=x4(),iD=$0(),H_=g4();class u4{constructor(Q){var X;this.refs={},this.dynamicAnchors={};let Y;if(typeof Q.schema=="object")Y=Q.schema;this.schema=Q.schema,this.schemaId=Q.schemaId,this.root=Q.root||this,this.baseId=(X=Q.baseId)!==null&&X!==void 0?X:(0,x1.normalizeId)(Y===null||Y===void 0?void 0:Y[Q.schemaId||"$id"]),this.schemaPath=Q.schemaPath,this.localRefs=Q.localRefs,this.meta=Q.meta,this.$async=Y===null||Y===void 0?void 0:Y.$async,this.refs={}}}oD.SchemaEnv=u4;function AJ(Q){let X=nD.call(this,Q);if(X)return X;let Y=(0,x1.getFullPath)(this.opts.uriResolver,Q.root.baseId),{es5:W,lines:$}=this.opts.code,{ownProperties:J}=this.opts,G=new _1.CodeGen(this.scope,{es5:W,lines:$,ownProperties:J}),H;if(Q.$async)H=G.scopeValue("Error",{ref:G_.default,code:_1._`require("ajv/dist/runtime/validation_error").default`});let B=G.scopeName("validate");Q.validateName=B;let z={gen:G,allErrors:this.opts.allErrors,data:L9.default.data,parentData:L9.default.parentData,parentDataProperty:L9.default.parentDataProperty,dataNames:[L9.default.data],dataPathArr:[_1.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:G.scopeValue("schema",this.opts.code.source===!0?{ref:Q.schema,code:(0,_1.stringify)(Q.schema)}:{ref:Q.schema}),validateName:B,ValidationError:H,schema:Q.schema,schemaEnv:Q,rootId:Y,baseId:Q.baseId||Y,schemaPath:_1.nil,errSchemaPath:Q.schemaPath||(this.opts.jtd?"":"#"),errorPath:_1._`""`,opts:this.opts,self:this},K;try{this._compilations.add(Q),(0,H_.validateFunctionCode)(z),G.optimize(this.opts.code.optimize);let V=G.toString();if(K=`${G.scopeRefs(L9.default.scope)}return ${V}`,this.opts.code.process)K=this.opts.code.process(K,Q);let F=Function(`${L9.default.self}`,`${L9.default.scope}`,K)(this,this.scope.get());if(this.scope.value(B,{ref:F}),F.errors=null,F.schema=Q.schema,F.schemaEnv=Q,Q.$async)F.$async=!0;if(this.opts.code.source===!0)F.source={validateName:B,validateCode:V,scopeValues:G._values};if(this.opts.unevaluated){let{props:L,items:D}=z;if(F.evaluated={props:L instanceof _1.Name?void 0:L,items:D instanceof _1.Name?void 0:D,dynamicProps:L instanceof _1.Name,dynamicItems:D instanceof _1.Name},F.source)F.source.evaluated=(0,_1.stringify)(F.evaluated)}return Q.validate=F,Q}catch(V){if(delete Q.validate,delete Q.validateName,K)this.logger.error("Error compiling schema, function code:",K);throw V}finally{this._compilations.delete(Q)}}oD.compileSchema=AJ;function B_(Q,X,Y){var W;Y=(0,x1.resolveUrl)(this.opts.uriResolver,X,Y);let $=Q.refs[Y];if($)return $;let J=V_.call(this,Q,Y);if(J===void 0){let G=(W=Q.localRefs)===null||W===void 0?void 0:W[Y],{schemaId:H}=this.opts;if(G)J=new u4({schema:G,schemaId:H,root:Q,baseId:X})}if(J===void 0)return;return Q.refs[Y]=z_.call(this,J)}oD.resolveRef=B_;function z_(Q){if((0,x1.inlineRef)(Q.schema,this.opts.inlineRefs))return Q.schema;return Q.validate?Q:AJ.call(this,Q)}function nD(Q){for(let X of this._compilations)if(K_(X,Q))return X}oD.getCompilingSchema=nD;function K_(Q,X){return Q.schema===X.schema&&Q.root===X.root&&Q.baseId===X.baseId}function V_(Q,X){let Y;while(typeof(Y=this.refs[X])=="string")X=Y;return Y||this.schemas[X]||$Y.call(this,Q,X)}function $Y(Q,X){let Y=this.opts.uriResolver.parse(X),W=(0,x1._getFullPath)(this.opts.uriResolver,Y),$=(0,x1.getFullPath)(this.opts.uriResolver,Q.baseId,void 0);if(Object.keys(Q.schema).length>0&&W===$)return VJ.call(this,Y,Q);let J=(0,x1.normalizeId)(W),G=this.refs[J]||this.schemas[J];if(typeof G=="string"){let H=$Y.call(this,Q,G);if(typeof(H===null||H===void 0?void 0:H.schema)!=="object")return;return VJ.call(this,Y,H)}if(typeof(G===null||G===void 0?void 0:G.schema)!=="object")return;if(!G.validate)AJ.call(this,G);if(J===(0,x1.normalizeId)(X)){let{schema:H}=G,{schemaId:B}=this.opts,z=H[B];if(z)$=(0,x1.resolveUrl)(this.opts.uriResolver,$,z);return new u4({schema:H,schemaId:B,root:Q,baseId:$})}return VJ.call(this,Y,G)}oD.resolveSchema=$Y;var A_=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function VJ(Q,{baseId:X,schema:Y,root:W}){var $;if((($=Q.fragment)===null||$===void 0?void 0:$[0])!=="/")return;for(let H of Q.fragment.slice(1).split("/")){if(typeof Y==="boolean")return;let B=Y[(0,iD.unescapeFragment)(H)];if(B===void 0)return;Y=B;let z=typeof Y==="object"&&Y[this.opts.schemaId];if(!A_.has(H)&&z)X=(0,x1.resolveUrl)(this.opts.uriResolver,X,z)}let J;if(typeof Y!="boolean"&&Y.$ref&&!(0,iD.schemaHasRulesButRef)(Y,this.RULES)){let H=(0,x1.resolveUrl)(this.opts.uriResolver,X,Y.$ref);J=$Y.call(this,W,H)}let{schemaId:G}=this.opts;if(J=J||new u4({schema:Y,schemaId:G,root:W,baseId:X}),J.schema!==J.root.schema)return J;return}});var tD=N((bn,U_)=>{U_.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 eD=N((sD)=>{Object.defineProperty(sD,"__esModule",{value:!0});var aD=N$();aD.code='require("ajv/dist/runtime/uri").default';sD.default=aD});var HL=N((A6)=>{Object.defineProperty(A6,"__esModule",{value:!0});A6.CodeGen=A6.Name=A6.nil=A6.stringify=A6.str=A6._=A6.KeywordCxt=void 0;var N_=g4();Object.defineProperty(A6,"KeywordCxt",{enumerable:!0,get:function(){return N_.KeywordCxt}});var K8=n();Object.defineProperty(A6,"_",{enumerable:!0,get:function(){return K8._}});Object.defineProperty(A6,"str",{enumerable:!0,get:function(){return K8.str}});Object.defineProperty(A6,"stringify",{enumerable:!0,get:function(){return K8.stringify}});Object.defineProperty(A6,"nil",{enumerable:!0,get:function(){return K8.nil}});Object.defineProperty(A6,"Name",{enumerable:!0,get:function(){return K8.Name}});Object.defineProperty(A6,"CodeGen",{enumerable:!0,get:function(){return K8.CodeGen}});var q_=WY(),$L=h4(),w_=a$(),l4=JY(),M_=n(),m4=x4(),GY=_4(),DJ=$0(),QL=tD(),b_=eD(),JL=(Q,X)=>new RegExp(Q,X);JL.code="new RegExp";var P_=["removeAdditional","useDefaults","coerceTypes"],Z_=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),R_={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."},E_={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},XL=200;function S_(Q){var X,Y,W,$,J,G,H,B,z,K,V,A,F,L,D,O,U,w,M,S,Z,V0,P0,g1,l6;let U1=Q.strict,m6=(X=Q.code)===null||X===void 0?void 0:X.optimize,R8=m6===!0||m6===void 0?1:m6||0,E8=(W=(Y=Q.code)===null||Y===void 0?void 0:Y.regExp)!==null&&W!==void 0?W:JL,nY=($=Q.uriResolver)!==null&&$!==void 0?$:b_.default;return{strictSchema:(G=(J=Q.strictSchema)!==null&&J!==void 0?J:U1)!==null&&G!==void 0?G:!0,strictNumbers:(B=(H=Q.strictNumbers)!==null&&H!==void 0?H:U1)!==null&&B!==void 0?B:!0,strictTypes:(K=(z=Q.strictTypes)!==null&&z!==void 0?z:U1)!==null&&K!==void 0?K:"log",strictTuples:(A=(V=Q.strictTuples)!==null&&V!==void 0?V:U1)!==null&&A!==void 0?A:"log",strictRequired:(L=(F=Q.strictRequired)!==null&&F!==void 0?F:U1)!==null&&L!==void 0?L:!1,code:Q.code?{...Q.code,optimize:R8,regExp:E8}:{optimize:R8,regExp:E8},loopRequired:(D=Q.loopRequired)!==null&&D!==void 0?D:XL,loopEnum:(O=Q.loopEnum)!==null&&O!==void 0?O:XL,meta:(U=Q.meta)!==null&&U!==void 0?U:!0,messages:(w=Q.messages)!==null&&w!==void 0?w:!0,inlineRefs:(M=Q.inlineRefs)!==null&&M!==void 0?M:!0,schemaId:(S=Q.schemaId)!==null&&S!==void 0?S:"$id",addUsedSchema:(Z=Q.addUsedSchema)!==null&&Z!==void 0?Z:!0,validateSchema:(V0=Q.validateSchema)!==null&&V0!==void 0?V0:!0,validateFormats:(P0=Q.validateFormats)!==null&&P0!==void 0?P0:!0,unicodeRegExp:(g1=Q.unicodeRegExp)!==null&&g1!==void 0?g1:!0,int32range:(l6=Q.int32range)!==null&&l6!==void 0?l6:!0,uriResolver:nY}}class HY{constructor(Q={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,Q=this.opts={...Q,...S_(Q)};let{es5:X,lines:Y}=this.opts.code;this.scope=new M_.ValueScope({scope:{},prefixes:Z_,es5:X,lines:Y}),this.logger=__(Q.logger);let W=Q.validateFormats;if(Q.validateFormats=!1,this.RULES=(0,w_.getRules)(),YL.call(this,R_,Q,"NOT SUPPORTED"),YL.call(this,E_,Q,"DEPRECATED","warn"),this._metaOpts=k_.call(this),Q.formats)T_.call(this);if(this._addVocabularies(),this._addDefaultMetaSchema(),Q.keywords)C_.call(this,Q.keywords);if(typeof Q.meta=="object")this.addMetaSchema(Q.meta);I_.call(this),Q.validateFormats=W}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:Q,meta:X,schemaId:Y}=this.opts,W=QL;if(Y==="id")W={...QL},W.id=W.$id,delete W.$id;if(X&&Q)this.addMetaSchema(W,W[Y],!1)}defaultMeta(){let{meta:Q,schemaId:X}=this.opts;return this.opts.defaultMeta=typeof Q=="object"?Q[X]||Q:void 0}validate(Q,X){let Y;if(typeof Q=="string"){if(Y=this.getSchema(Q),!Y)throw Error(`no schema with key or ref "${Q}"`)}else Y=this.compile(Q);let W=Y(X);if(!("$async"in Y))this.errors=Y.errors;return W}compile(Q,X){let Y=this._addSchema(Q,X);return Y.validate||this._compileSchemaEnv(Y)}compileAsync(Q,X){if(typeof this.opts.loadSchema!="function")throw Error("options.loadSchema should be a function");let{loadSchema:Y}=this.opts;return W.call(this,Q,X);async function W(z,K){await $.call(this,z.$schema);let V=this._addSchema(z,K);return V.validate||J.call(this,V)}async function $(z){if(z&&!this.getSchema(z))await W.call(this,{$ref:z},!0)}async function J(z){try{return this._compileSchemaEnv(z)}catch(K){if(!(K instanceof $L.default))throw K;return G.call(this,K),await H.call(this,K.missingSchema),J.call(this,z)}}function G({missingSchema:z,missingRef:K}){if(this.refs[z])throw Error(`AnySchema ${z} is loaded but ${K} cannot be resolved`)}async function H(z){let K=await B.call(this,z);if(!this.refs[z])await $.call(this,K.$schema);if(!this.refs[z])this.addSchema(K,z,X)}async function B(z){let K=this._loading[z];if(K)return K;try{return await(this._loading[z]=Y(z))}finally{delete this._loading[z]}}}addSchema(Q,X,Y,W=this.opts.validateSchema){if(Array.isArray(Q)){for(let J of Q)this.addSchema(J,void 0,Y,W);return this}let $;if(typeof Q==="object"){let{schemaId:J}=this.opts;if($=Q[J],$!==void 0&&typeof $!="string")throw Error(`schema ${J} must be string`)}return X=(0,m4.normalizeId)(X||$),this._checkUnique(X),this.schemas[X]=this._addSchema(Q,Y,X,W,!0),this}addMetaSchema(Q,X,Y=this.opts.validateSchema){return this.addSchema(Q,X,!0,Y),this}validateSchema(Q,X){if(typeof Q=="boolean")return!0;let Y;if(Y=Q.$schema,Y!==void 0&&typeof Y!="string")throw Error("$schema must be a string");if(Y=Y||this.opts.defaultMeta||this.defaultMeta(),!Y)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let W=this.validate(Y,Q);if(!W&&X){let $="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error($);else throw Error($)}return W}getSchema(Q){let X;while(typeof(X=WL.call(this,Q))=="string")Q=X;if(X===void 0){let{schemaId:Y}=this.opts,W=new l4.SchemaEnv({schema:{},schemaId:Y});if(X=l4.resolveSchema.call(this,W,Q),!X)return;this.refs[Q]=X}return X.validate||this._compileSchemaEnv(X)}removeSchema(Q){if(Q instanceof RegExp)return this._removeAllSchemas(this.schemas,Q),this._removeAllSchemas(this.refs,Q),this;switch(typeof Q){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let X=WL.call(this,Q);if(typeof X=="object")this._cache.delete(X.schema);return delete this.schemas[Q],delete this.refs[Q],this}case"object":{let X=Q;this._cache.delete(X);let Y=Q[this.opts.schemaId];if(Y)Y=(0,m4.normalizeId)(Y),delete this.schemas[Y],delete this.refs[Y];return this}default:throw Error("ajv.removeSchema: invalid parameter")}}addVocabulary(Q){for(let X of Q)this.addKeyword(X);return this}addKeyword(Q,X){let Y;if(typeof Q=="string"){if(Y=Q,typeof X=="object")this.logger.warn("these parameters are deprecated, see docs for addKeyword"),X.keyword=Y}else if(typeof Q=="object"&&X===void 0){if(X=Q,Y=X.keyword,Array.isArray(Y)&&!Y.length)throw Error("addKeywords: keyword must be string or non-empty array")}else throw Error("invalid addKeywords parameters");if(y_.call(this,Y,X),!X)return(0,DJ.eachItem)(Y,($)=>FJ.call(this,$)),this;g_.call(this,X);let W={...X,type:(0,GY.getJSONTypes)(X.type),schemaType:(0,GY.getJSONTypes)(X.schemaType)};return(0,DJ.eachItem)(Y,W.type.length===0?($)=>FJ.call(this,$,W):($)=>W.type.forEach((J)=>FJ.call(this,$,W,J))),this}getKeyword(Q){let X=this.RULES.all[Q];return typeof X=="object"?X.definition:!!X}removeKeyword(Q){let{RULES:X}=this;delete X.keywords[Q],delete X.all[Q];for(let Y of X.rules){let W=Y.rules.findIndex(($)=>$.keyword===Q);if(W>=0)Y.rules.splice(W,1)}return this}addFormat(Q,X){if(typeof X=="string")X=new RegExp(X);return this.formats[Q]=X,this}errorsText(Q=this.errors,{separator:X=", ",dataVar:Y="data"}={}){if(!Q||Q.length===0)return"No errors";return Q.map((W)=>`${Y}${W.instancePath} ${W.message}`).reduce((W,$)=>W+X+$)}$dataMetaSchema(Q,X){let Y=this.RULES.all;Q=JSON.parse(JSON.stringify(Q));for(let W of X){let $=W.split("/").slice(1),J=Q;for(let G of $)J=J[G];for(let G in Y){let H=Y[G];if(typeof H!="object")continue;let{$data:B}=H.definition,z=J[G];if(B&&z)J[G]=GL(z)}}return Q}_removeAllSchemas(Q,X){for(let Y in Q){let W=Q[Y];if(!X||X.test(Y)){if(typeof W=="string")delete Q[Y];else if(W&&!W.meta)this._cache.delete(W.schema),delete Q[Y]}}}_addSchema(Q,X,Y,W=this.opts.validateSchema,$=this.opts.addUsedSchema){let J,{schemaId:G}=this.opts;if(typeof Q=="object")J=Q[G];else if(this.opts.jtd)throw Error("schema must be object");else if(typeof Q!="boolean")throw Error("schema must be object or boolean");let H=this._cache.get(Q);if(H!==void 0)return H;Y=(0,m4.normalizeId)(J||Y);let B=m4.getSchemaRefs.call(this,Q,Y);if(H=new l4.SchemaEnv({schema:Q,schemaId:G,meta:X,baseId:Y,localRefs:B}),this._cache.set(H.schema,H),$&&!Y.startsWith("#")){if(Y)this._checkUnique(Y);this.refs[Y]=H}if(W)this.validateSchema(Q,!0);return H}_checkUnique(Q){if(this.schemas[Q]||this.refs[Q])throw Error(`schema with key or id "${Q}" already exists`)}_compileSchemaEnv(Q){if(Q.meta)this._compileMetaSchema(Q);else l4.compileSchema.call(this,Q);if(!Q.validate)throw Error("ajv implementation error");return Q.validate}_compileMetaSchema(Q){let X=this.opts;this.opts=this._metaOpts;try{l4.compileSchema.call(this,Q)}finally{this.opts=X}}}HY.ValidationError=q_.default;HY.MissingRefError=$L.default;A6.default=HY;function YL(Q,X,Y,W="error"){for(let $ in Q){let J=$;if(J in X)this.logger[W](`${Y}: option ${$}. ${Q[J]}`)}}function WL(Q){return Q=(0,m4.normalizeId)(Q),this.schemas[Q]||this.refs[Q]}function I_(){let Q=this.opts.schemas;if(!Q)return;if(Array.isArray(Q))this.addSchema(Q);else for(let X in Q)this.addSchema(Q[X],X)}function T_(){for(let Q in this.opts.formats){let X=this.opts.formats[Q];if(X)this.addFormat(Q,X)}}function C_(Q){if(Array.isArray(Q)){this.addVocabulary(Q);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let X in Q){let Y=Q[X];if(!Y.keyword)Y.keyword=X;this.addKeyword(Y)}}function k_(){let Q={...this.opts};for(let X of P_)delete Q[X];return Q}var v_={log(){},warn(){},error(){}};function __(Q){if(Q===!1)return v_;if(Q===void 0)return console;if(Q.log&&Q.warn&&Q.error)return Q;throw Error("logger must implement log, warn and error methods")}var x_=/^[a-z_$][a-z0-9_$:-]*$/i;function y_(Q,X){let{RULES:Y}=this;if((0,DJ.eachItem)(Q,(W)=>{if(Y.keywords[W])throw Error(`Keyword ${W} is already defined`);if(!x_.test(W))throw Error(`Keyword ${W} has invalid name`)}),!X)return;if(X.$data&&!(("code"in X)||("validate"in X)))throw Error('$data keyword must have "code" or "validate" function')}function FJ(Q,X,Y){var W;let $=X===null||X===void 0?void 0:X.post;if(Y&&$)throw Error('keyword with "post" flag cannot have "type"');let{RULES:J}=this,G=$?J.post:J.rules.find(({type:B})=>B===Y);if(!G)G={type:Y,rules:[]},J.rules.push(G);if(J.keywords[Q]=!0,!X)return;let H={keyword:Q,definition:{...X,type:(0,GY.getJSONTypes)(X.type),schemaType:(0,GY.getJSONTypes)(X.schemaType)}};if(X.before)f_.call(this,G,H,X.before);else G.rules.push(H);J.all[Q]=H,(W=X.implements)===null||W===void 0||W.forEach((B)=>this.addKeyword(B))}function f_(Q,X,Y){let W=Q.rules.findIndex(($)=>$.keyword===Y);if(W>=0)Q.rules.splice(W,0,X);else Q.rules.push(X),this.logger.warn(`rule ${Y} is not defined`)}function g_(Q){let{metaSchema:X}=Q;if(X===void 0)return;if(Q.$data&&this.opts.$data)X=GL(X);Q.validateSchema=this.compile(X,!0)}var h_={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function GL(Q){return{anyOf:[Q,h_]}}});var zL=N((BL)=>{Object.defineProperty(BL,"__esModule",{value:!0});var m_={keyword:"id",code(){throw Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};BL.default=m_});var LL=N((FL)=>{Object.defineProperty(FL,"__esModule",{value:!0});FL.callRef=FL.getValidate=void 0;var p_=h4(),KL=L1(),H1=n(),V8=K6(),VL=JY(),BY=$0(),d_={keyword:"$ref",schemaType:"string",code(Q){let{gen:X,schema:Y,it:W}=Q,{baseId:$,schemaEnv:J,validateName:G,opts:H,self:B}=W,{root:z}=J;if((Y==="#"||Y==="#/")&&$===z.baseId)return V();let K=VL.resolveRef.call(B,z,$,Y);if(K===void 0)throw new p_.default(W.opts.uriResolver,$,Y);if(K instanceof VL.SchemaEnv)return A(K);return F(K);function V(){if(J===z)return zY(Q,G,J,J.$async);let L=X.scopeValue("root",{ref:z});return zY(Q,H1._`${L}.validate`,z,z.$async)}function A(L){let D=AL(Q,L);zY(Q,D,L,L.$async)}function F(L){let D=X.scopeValue("schema",H.code.source===!0?{ref:L,code:(0,H1.stringify)(L)}:{ref:L}),O=X.name("valid"),U=Q.subschema({schema:L,dataTypes:[],schemaPath:H1.nil,topSchemaRef:D,errSchemaPath:Y},O);Q.mergeEvaluated(U),Q.ok(O)}}};function AL(Q,X){let{gen:Y}=Q;return X.validate?Y.scopeValue("validate",{ref:X.validate}):H1._`${Y.scopeValue("wrapper",{ref:X})}.validate`}FL.getValidate=AL;function zY(Q,X,Y,W){let{gen:$,it:J}=Q,{allErrors:G,schemaEnv:H,opts:B}=J,z=B.passContext?V8.default.this:H1.nil;if(W)K();else V();function K(){if(!H.$async)throw Error("async schema referenced by sync schema");let L=$.let("valid");$.try(()=>{if($.code(H1._`await ${(0,KL.callValidateCode)(Q,X,z)}`),F(X),!G)$.assign(L,!0)},(D)=>{if($.if(H1._`!(${D} instanceof ${J.ValidationError})`,()=>$.throw(D)),A(D),!G)$.assign(L,!1)}),Q.ok(L)}function V(){Q.result((0,KL.callValidateCode)(Q,X,z),()=>F(X),()=>A(X))}function A(L){let D=H1._`${L}.errors`;$.assign(V8.default.vErrors,H1._`${V8.default.vErrors} === null ? ${D} : ${V8.default.vErrors}.concat(${D})`),$.assign(V8.default.errors,H1._`${V8.default.vErrors}.length`)}function F(L){var D;if(!J.opts.unevaluated)return;let O=(D=Y===null||Y===void 0?void 0:Y.validate)===null||D===void 0?void 0:D.evaluated;if(J.props!==!0)if(O&&!O.dynamicProps){if(O.props!==void 0)J.props=BY.mergeEvaluated.props($,O.props,J.props)}else{let U=$.var("props",H1._`${L}.evaluated.props`);J.props=BY.mergeEvaluated.props($,U,J.props,H1.Name)}if(J.items!==!0)if(O&&!O.dynamicItems){if(O.items!==void 0)J.items=BY.mergeEvaluated.items($,O.items,J.items)}else{let U=$.var("items",H1._`${L}.evaluated.items`);J.items=BY.mergeEvaluated.items($,U,J.items,H1.Name)}}}FL.callRef=zY;FL.default=d_});var UL=N((OL)=>{Object.defineProperty(OL,"__esModule",{value:!0});var o_=zL(),r_=LL(),t_=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",o_.default,r_.default];OL.default=t_});var NL=N((jL)=>{Object.defineProperty(jL,"__esModule",{value:!0});var KY=n(),y6=KY.operators,VY={maximum:{okStr:"<=",ok:y6.LTE,fail:y6.GT},minimum:{okStr:">=",ok:y6.GTE,fail:y6.LT},exclusiveMaximum:{okStr:"<",ok:y6.LT,fail:y6.GTE},exclusiveMinimum:{okStr:">",ok:y6.GT,fail:y6.LTE}},s_={message:({keyword:Q,schemaCode:X})=>KY.str`must be ${VY[Q].okStr} ${X}`,params:({keyword:Q,schemaCode:X})=>KY._`{comparison: ${VY[Q].okStr}, limit: ${X}}`},e_={keyword:Object.keys(VY),type:"number",schemaType:"number",$data:!0,error:s_,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q;Q.fail$data(KY._`${Y} ${VY[X].fail} ${W} || isNaN(${Y})`)}};jL.default=e_});var wL=N((qL)=>{Object.defineProperty(qL,"__esModule",{value:!0});var c4=n(),Xx={message:({schemaCode:Q})=>c4.str`must be multiple of ${Q}`,params:({schemaCode:Q})=>c4._`{multipleOf: ${Q}}`},Yx={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:Xx,code(Q){let{gen:X,data:Y,schemaCode:W,it:$}=Q,J=$.opts.multipleOfPrecision,G=X.let("res"),H=J?c4._`Math.abs(Math.round(${G}) - ${G}) > 1e-${J}`:c4._`${G} !== parseInt(${G})`;Q.fail$data(c4._`(${W} === 0 || (${G} = ${Y}/${W}, ${H}))`)}};qL.default=Yx});var PL=N((bL)=>{Object.defineProperty(bL,"__esModule",{value:!0});function ML(Q){let X=Q.length,Y=0,W=0,$;while(W<X)if(Y++,$=Q.charCodeAt(W++),$>=55296&&$<=56319&&W<X){if($=Q.charCodeAt(W),($&64512)===56320)W++}return Y}bL.default=ML;ML.code='require("ajv/dist/runtime/ucs2length").default'});var RL=N((ZL)=>{Object.defineProperty(ZL,"__esModule",{value:!0});var O9=n(),Jx=$0(),Gx=PL(),Hx={message({keyword:Q,schemaCode:X}){let Y=Q==="maxLength"?"more":"fewer";return O9.str`must NOT have ${Y} than ${X} characters`},params:({schemaCode:Q})=>O9._`{limit: ${Q}}`},Bx={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:Hx,code(Q){let{keyword:X,data:Y,schemaCode:W,it:$}=Q,J=X==="maxLength"?O9.operators.GT:O9.operators.LT,G=$.opts.unicode===!1?O9._`${Y}.length`:O9._`${(0,Jx.useFunc)(Q.gen,Gx.default)}(${Y})`;Q.fail$data(O9._`${G} ${J} ${W}`)}};ZL.default=Bx});var SL=N((EL)=>{Object.defineProperty(EL,"__esModule",{value:!0});var Kx=L1(),AY=n(),Vx={message:({schemaCode:Q})=>AY.str`must match pattern "${Q}"`,params:({schemaCode:Q})=>AY._`{pattern: ${Q}}`},Ax={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:Vx,code(Q){let{data:X,$data:Y,schema:W,schemaCode:$,it:J}=Q,G=J.opts.unicodeRegExp?"u":"",H=Y?AY._`(new RegExp(${$}, ${G}))`:(0,Kx.usePattern)(Q,W);Q.fail$data(AY._`!${H}.test(${X})`)}};EL.default=Ax});var TL=N((IL)=>{Object.defineProperty(IL,"__esModule",{value:!0});var p4=n(),Dx={message({keyword:Q,schemaCode:X}){let Y=Q==="maxProperties"?"more":"fewer";return p4.str`must NOT have ${Y} than ${X} properties`},params:({schemaCode:Q})=>p4._`{limit: ${Q}}`},Lx={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:Dx,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q,$=X==="maxProperties"?p4.operators.GT:p4.operators.LT;Q.fail$data(p4._`Object.keys(${Y}).length ${$} ${W}`)}};IL.default=Lx});var kL=N((CL)=>{Object.defineProperty(CL,"__esModule",{value:!0});var d4=L1(),i4=n(),Ux=$0(),jx={message:({params:{missingProperty:Q}})=>i4.str`must have required property '${Q}'`,params:({params:{missingProperty:Q}})=>i4._`{missingProperty: ${Q}}`},Nx={keyword:"required",type:"object",schemaType:"array",$data:!0,error:jx,code(Q){let{gen:X,schema:Y,schemaCode:W,data:$,$data:J,it:G}=Q,{opts:H}=G;if(!J&&Y.length===0)return;let B=Y.length>=H.loopRequired;if(G.allErrors)z();else K();if(H.strictRequired){let F=Q.parentSchema.properties,{definedProperties:L}=Q.it;for(let D of Y)if((F===null||F===void 0?void 0:F[D])===void 0&&!L.has(D)){let O=G.schemaEnv.baseId+G.errSchemaPath,U=`required property "${D}" is not defined at "${O}" (strictRequired)`;(0,Ux.checkStrictMode)(G,U,G.opts.strictRequired)}}function z(){if(B||J)Q.block$data(i4.nil,V);else for(let F of Y)(0,d4.checkReportMissingProp)(Q,F)}function K(){let F=X.let("missing");if(B||J){let L=X.let("valid",!0);Q.block$data(L,()=>A(F,L)),Q.ok(L)}else X.if((0,d4.checkMissingProp)(Q,Y,F)),(0,d4.reportMissingProp)(Q,F),X.else()}function V(){X.forOf("prop",W,(F)=>{Q.setParams({missingProperty:F}),X.if((0,d4.noPropertyInData)(X,$,F,H.ownProperties),()=>Q.error())})}function A(F,L){Q.setParams({missingProperty:F}),X.forOf(F,W,()=>{X.assign(L,(0,d4.propertyInData)(X,$,F,H.ownProperties)),X.if((0,i4.not)(L),()=>{Q.error(),X.break()})},i4.nil)}}};CL.default=Nx});var _L=N((vL)=>{Object.defineProperty(vL,"__esModule",{value:!0});var n4=n(),wx={message({keyword:Q,schemaCode:X}){let Y=Q==="maxItems"?"more":"fewer";return n4.str`must NOT have ${Y} than ${X} items`},params:({schemaCode:Q})=>n4._`{limit: ${Q}}`},Mx={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:wx,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q,$=X==="maxItems"?n4.operators.GT:n4.operators.LT;Q.fail$data(n4._`${Y}.length ${$} ${W}`)}};vL.default=Mx});var FY=N((yL)=>{Object.defineProperty(yL,"__esModule",{value:!0});var xL=A4();xL.code='require("ajv/dist/runtime/equal").default';yL.default=xL});var gL=N((fL)=>{Object.defineProperty(fL,"__esModule",{value:!0});var LJ=_4(),g0=n(),Zx=$0(),Rx=FY(),Ex={message:({params:{i:Q,j:X}})=>g0.str`must NOT have duplicate items (items ## ${X} and ${Q} are identical)`,params:({params:{i:Q,j:X}})=>g0._`{i: ${Q}, j: ${X}}`},Sx={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:Ex,code(Q){let{gen:X,data:Y,$data:W,schema:$,parentSchema:J,schemaCode:G,it:H}=Q;if(!W&&!$)return;let B=X.let("valid"),z=J.items?(0,LJ.getSchemaTypes)(J.items):[];Q.block$data(B,K,g0._`${G} === false`),Q.ok(B);function K(){let L=X.let("i",g0._`${Y}.length`),D=X.let("j");Q.setParams({i:L,j:D}),X.assign(B,!0),X.if(g0._`${L} > 1`,()=>(V()?A:F)(L,D))}function V(){return z.length>0&&!z.some((L)=>L==="object"||L==="array")}function A(L,D){let O=X.name("item"),U=(0,LJ.checkDataTypes)(z,O,H.opts.strictNumbers,LJ.DataType.Wrong),w=X.const("indices",g0._`{}`);X.for(g0._`;${L}--;`,()=>{if(X.let(O,g0._`${Y}[${L}]`),X.if(U,g0._`continue`),z.length>1)X.if(g0._`typeof ${O} == "string"`,g0._`${O} += "_"`);X.if(g0._`typeof ${w}[${O}] == "number"`,()=>{X.assign(D,g0._`${w}[${O}]`),Q.error(),X.assign(B,!1).break()}).code(g0._`${w}[${O}] = ${L}`)})}function F(L,D){let O=(0,Zx.useFunc)(X,Rx.default),U=X.name("outer");X.label(U).for(g0._`;${L}--;`,()=>X.for(g0._`${D} = ${L}; ${D}--;`,()=>X.if(g0._`${O}(${Y}[${L}], ${Y}[${D}])`,()=>{Q.error(),X.assign(B,!1).break(U)})))}}};fL.default=Sx});var uL=N((hL)=>{Object.defineProperty(hL,"__esModule",{value:!0});var OJ=n(),Tx=$0(),Cx=FY(),kx={message:"must be equal to constant",params:({schemaCode:Q})=>OJ._`{allowedValue: ${Q}}`},vx={keyword:"const",$data:!0,error:kx,code(Q){let{gen:X,data:Y,$data:W,schemaCode:$,schema:J}=Q;if(W||J&&typeof J=="object")Q.fail$data(OJ._`!${(0,Tx.useFunc)(X,Cx.default)}(${Y}, ${$})`);else Q.fail(OJ._`${J} !== ${Y}`)}};hL.default=vx});var mL=N((lL)=>{Object.defineProperty(lL,"__esModule",{value:!0});var o4=n(),xx=$0(),yx=FY(),fx={message:"must be equal to one of the allowed values",params:({schemaCode:Q})=>o4._`{allowedValues: ${Q}}`},gx={keyword:"enum",schemaType:"array",$data:!0,error:fx,code(Q){let{gen:X,data:Y,$data:W,schema:$,schemaCode:J,it:G}=Q;if(!W&&$.length===0)throw Error("enum must have non-empty array");let H=$.length>=G.opts.loopEnum,B,z=()=>B!==null&&B!==void 0?B:B=(0,xx.useFunc)(X,yx.default),K;if(H||W)K=X.let("valid"),Q.block$data(K,V);else{if(!Array.isArray($))throw Error("ajv implementation error");let F=X.const("vSchema",J);K=(0,o4.or)(...$.map((L,D)=>A(F,D)))}Q.pass(K);function V(){X.assign(K,!1),X.forOf("v",J,(F)=>X.if(o4._`${z()}(${Y}, ${F})`,()=>X.assign(K,!0).break()))}function A(F,L){let D=$[L];return typeof D==="object"&&D!==null?o4._`${z()}(${Y}, ${F}[${L}])`:o4._`${Y} === ${D}`}}};lL.default=gx});var pL=N((cL)=>{Object.defineProperty(cL,"__esModule",{value:!0});var ux=NL(),lx=wL(),mx=RL(),cx=SL(),px=TL(),dx=kL(),ix=_L(),nx=gL(),ox=uL(),rx=mL(),tx=[ux.default,lx.default,mx.default,cx.default,px.default,dx.default,ix.default,nx.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},ox.default,rx.default];cL.default=tx});var jJ=N((iL)=>{Object.defineProperty(iL,"__esModule",{value:!0});iL.validateAdditionalItems=void 0;var U9=n(),UJ=$0(),sx={message:({params:{len:Q}})=>U9.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>U9._`{limit: ${Q}}`},ex={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:sx,code(Q){let{parentSchema:X,it:Y}=Q,{items:W}=X;if(!Array.isArray(W)){(0,UJ.checkStrictMode)(Y,'"additionalItems" is ignored when "items" is not an array of schemas');return}dL(Q,W)}};function dL(Q,X){let{gen:Y,schema:W,data:$,keyword:J,it:G}=Q;G.items=!0;let H=Y.const("len",U9._`${$}.length`);if(W===!1)Q.setParams({len:X.length}),Q.pass(U9._`${H} <= ${X.length}`);else if(typeof W=="object"&&!(0,UJ.alwaysValidSchema)(G,W)){let z=Y.var("valid",U9._`${H} <= ${X.length}`);Y.if((0,U9.not)(z),()=>B(z)),Q.ok(z)}function B(z){Y.forRange("i",X.length,H,(K)=>{if(Q.subschema({keyword:J,dataProp:K,dataPropType:UJ.Type.Num},z),!G.allErrors)Y.if((0,U9.not)(z),()=>Y.break())})}}iL.validateAdditionalItems=dL;iL.default=ex});var NJ=N((tL)=>{Object.defineProperty(tL,"__esModule",{value:!0});tL.validateTuple=void 0;var oL=n(),DY=$0(),Xy=L1(),Yy={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(Q){let{schema:X,it:Y}=Q;if(Array.isArray(X))return rL(Q,"additionalItems",X);if(Y.items=!0,(0,DY.alwaysValidSchema)(Y,X))return;Q.ok((0,Xy.validateArray)(Q))}};function rL(Q,X,Y=Q.schema){let{gen:W,parentSchema:$,data:J,keyword:G,it:H}=Q;if(K($),H.opts.unevaluated&&Y.length&&H.items!==!0)H.items=DY.mergeEvaluated.items(W,Y.length,H.items);let B=W.name("valid"),z=W.const("len",oL._`${J}.length`);Y.forEach((V,A)=>{if((0,DY.alwaysValidSchema)(H,V))return;W.if(oL._`${z} > ${A}`,()=>Q.subschema({keyword:G,schemaProp:A,dataProp:A},B)),Q.ok(B)});function K(V){let{opts:A,errSchemaPath:F}=H,L=Y.length,D=L===V.minItems&&(L===V.maxItems||V[X]===!1);if(A.strictTuples&&!D){let O=`"${G}" is ${L}-tuple, but minItems or maxItems/${X} are not specified or different at path "${F}"`;(0,DY.checkStrictMode)(H,O,A.strictTuples)}}}tL.validateTuple=rL;tL.default=Yy});var eL=N((sL)=>{Object.defineProperty(sL,"__esModule",{value:!0});var $y=NJ(),Jy={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:(Q)=>(0,$y.validateTuple)(Q,"items")};sL.default=Jy});var YO=N((XO)=>{Object.defineProperty(XO,"__esModule",{value:!0});var QO=n(),Hy=$0(),By=L1(),zy=jJ(),Ky={message:({params:{len:Q}})=>QO.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>QO._`{limit: ${Q}}`},Vy={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:Ky,code(Q){let{schema:X,parentSchema:Y,it:W}=Q,{prefixItems:$}=Y;if(W.items=!0,(0,Hy.alwaysValidSchema)(W,X))return;if($)(0,zy.validateAdditionalItems)(Q,$);else Q.ok((0,By.validateArray)(Q))}};XO.default=Vy});var $O=N((WO)=>{Object.defineProperty(WO,"__esModule",{value:!0});var O1=n(),LY=$0(),Fy={message:({params:{min:Q,max:X}})=>X===void 0?O1.str`must contain at least ${Q} valid item(s)`:O1.str`must contain at least ${Q} and no more than ${X} valid item(s)`,params:({params:{min:Q,max:X}})=>X===void 0?O1._`{minContains: ${Q}}`:O1._`{minContains: ${Q}, maxContains: ${X}}`},Dy={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:Fy,code(Q){let{gen:X,schema:Y,parentSchema:W,data:$,it:J}=Q,G,H,{minContains:B,maxContains:z}=W;if(J.opts.next)G=B===void 0?1:B,H=z;else G=1;let K=X.const("len",O1._`${$}.length`);if(Q.setParams({min:G,max:H}),H===void 0&&G===0){(0,LY.checkStrictMode)(J,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(H!==void 0&&G>H){(0,LY.checkStrictMode)(J,'"minContains" > "maxContains" is always invalid'),Q.fail();return}if((0,LY.alwaysValidSchema)(J,Y)){let D=O1._`${K} >= ${G}`;if(H!==void 0)D=O1._`${D} && ${K} <= ${H}`;Q.pass(D);return}J.items=!0;let V=X.name("valid");if(H===void 0&&G===1)F(V,()=>X.if(V,()=>X.break()));else if(G===0){if(X.let(V,!0),H!==void 0)X.if(O1._`${$}.length > 0`,A)}else X.let(V,!1),A();Q.result(V,()=>Q.reset());function A(){let D=X.name("_valid"),O=X.let("count",0);F(D,()=>X.if(D,()=>L(O)))}function F(D,O){X.forRange("i",0,K,(U)=>{Q.subschema({keyword:"contains",dataProp:U,dataPropType:LY.Type.Num,compositeRule:!0},D),O()})}function L(D){if(X.code(O1._`${D}++`),H===void 0)X.if(O1._`${D} >= ${G}`,()=>X.assign(V,!0).break());else if(X.if(O1._`${D} > ${H}`,()=>X.assign(V,!1).break()),G===1)X.assign(V,!0);else X.if(O1._`${D} >= ${G}`,()=>X.assign(V,!0))}}};WO.default=Dy});var KO=N((HO)=>{Object.defineProperty(HO,"__esModule",{value:!0});HO.validateSchemaDeps=HO.validatePropertyDeps=HO.error=void 0;var qJ=n(),Oy=$0(),r4=L1();HO.error={message:({params:{property:Q,depsCount:X,deps:Y}})=>{let W=X===1?"property":"properties";return qJ.str`must have ${W} ${Y} when property ${Q} is present`},params:({params:{property:Q,depsCount:X,deps:Y,missingProperty:W}})=>qJ._`{property: ${Q},
13
+ || ${G} === "boolean" || ${$} === null`).assign(H,i._`[${$}]`)}}}function pk({gen:Q,parentData:Y,parentDataProperty:X},W){Q.if(i._`${Y} !== undefined`,()=>Q.assign(i._`${Y}[${X}]`,W))}function HJ(Q,Y,X,W=K8.Correct){let $=W===K8.Correct?i.operators.EQ:i.operators.NEQ,J;switch(Q){case"null":return i._`${Y} ${$} null`;case"array":J=i._`Array.isArray(${Y})`;break;case"object":J=i._`${Y} && typeof ${Y} == "object" && !Array.isArray(${Y})`;break;case"integer":J=G(i._`!(${Y} % 1) && !isNaN(${Y})`);break;case"number":J=G();break;default:return i._`typeof ${Y} ${$} ${Q}`}return W===K8.Correct?J:(0,i.not)(J);function G(H=i.nil){return(0,i.and)(i._`typeof ${Y} == "number"`,H,X?i._`isFinite(${Y})`:i.nil)}}DD.checkDataType=HJ;function BJ(Q,Y,X,W){if(Q.length===1)return HJ(Q[0],Y,X,W);let $,J=(0,VD.toHash)(Q);if(J.array&&J.object){let G=i._`typeof ${Y} != "object"`;$=J.null?G:i._`!${Y} || ${G}`,delete J.null,delete J.array,delete J.object}else $=i.nil;if(J.number)delete J.integer;for(let G in J)$=(0,i.and)($,HJ(G,Y,X,W));return $}DD.checkDataTypes=BJ;var dk={message:({schema:Q})=>`must be ${Q}`,params:({schema:Q,schemaValue:Y})=>typeof Q=="string"?i._`{type: ${Q}}`:i._`{type: ${Y}}`};function zJ(Q){let Y=ik(Q);(0,gk.reportError)(Y,dk)}DD.reportTypeError=zJ;function ik(Q){let{gen:Y,data:X,schema:W}=Q,$=(0,VD.schemaRefOrVal)(Q,W,"type");return{gen:Y,keyword:"type",data:X,schema:W.type,schemaCode:$,schemaValue:$,parentSchema:W,params:{},it:Q}}});var wD=w((UD)=>{Object.defineProperty(UD,"__esModule",{value:!0});UD.assignDefaults=void 0;var V8=n(),ek=$0();function Q_(Q,Y){let{properties:X,items:W}=Q.schema;if(Y==="object"&&X)for(let $ in X)OD(Q,$,X[$].default);else if(Y==="array"&&Array.isArray(W))W.forEach(($,J)=>OD(Q,J,$.default))}UD.assignDefaults=Q_;function OD(Q,Y,X){let{gen:W,compositeRule:$,data:J,opts:G}=Q;if(X===void 0)return;let H=V8._`${J}${(0,V8.getProperty)(Y)}`;if($){(0,ek.checkStrictMode)(Q,`default is ignored for: ${H}`);return}let B=V8._`${H} === undefined`;if(G.useDefaults==="empty")B=V8._`${B} || ${H} === null || ${H} === ""`;W.if(B,V8._`${H} = ${(0,V8.stringify)(X)}`)}});var L1=w((MD)=>{Object.defineProperty(MD,"__esModule",{value:!0});MD.validateUnion=MD.validateArray=MD.usePattern=MD.callValidateCode=MD.schemaProperties=MD.allSchemaProperties=MD.noPropertyInData=MD.propertyInData=MD.isOwnProperty=MD.hasPropFunc=MD.reportMissingProp=MD.checkMissingProp=MD.checkReportMissingProp=void 0;var U0=n(),KJ=$0(),x6=K6(),Y_=$0();function X_(Q,Y){let{gen:X,data:W,it:$}=Q;X.if(FJ(X,W,Y,$.opts.ownProperties),()=>{Q.setParams({missingProperty:U0._`${Y}`},!0),Q.error()})}MD.checkReportMissingProp=X_;function W_({gen:Q,data:Y,it:{opts:X}},W,$){return(0,U0.or)(...W.map((J)=>(0,U0.and)(FJ(Q,Y,J,X.ownProperties),U0._`${$} = ${J}`)))}MD.checkMissingProp=W_;function $_(Q,Y){Q.setParams({missingProperty:Y},!0),Q.error()}MD.reportMissingProp=$_;function ND(Q){return Q.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:U0._`Object.prototype.hasOwnProperty`})}MD.hasPropFunc=ND;function VJ(Q,Y,X){return U0._`${ND(Q)}.call(${Y}, ${X})`}MD.isOwnProperty=VJ;function J_(Q,Y,X,W){let $=U0._`${Y}${(0,U0.getProperty)(X)} !== undefined`;return W?U0._`${$} && ${VJ(Q,Y,X)}`:$}MD.propertyInData=J_;function FJ(Q,Y,X,W){let $=U0._`${Y}${(0,U0.getProperty)(X)} === undefined`;return W?(0,U0.or)($,(0,U0.not)(VJ(Q,Y,X))):$}MD.noPropertyInData=FJ;function qD(Q){return Q?Object.keys(Q).filter((Y)=>Y!=="__proto__"):[]}MD.allSchemaProperties=qD;function G_(Q,Y){return qD(Y).filter((X)=>!(0,KJ.alwaysValidSchema)(Q,Y[X]))}MD.schemaProperties=G_;function H_({schemaCode:Q,data:Y,it:{gen:X,topSchemaRef:W,schemaPath:$,errorPath:J},it:G},H,B,z){let K=z?U0._`${Q}, ${Y}, ${W}${$}`:Y,V=[[x6.default.instancePath,(0,U0.strConcat)(x6.default.instancePath,J)],[x6.default.parentData,G.parentData],[x6.default.parentDataProperty,G.parentDataProperty],[x6.default.rootData,x6.default.rootData]];if(G.opts.dynamicRef)V.push([x6.default.dynamicAnchors,x6.default.dynamicAnchors]);let F=U0._`${K}, ${X.object(...V)}`;return B!==U0.nil?U0._`${H}.call(${B}, ${F})`:U0._`${H}(${F})`}MD.callValidateCode=H_;var B_=U0._`new RegExp`;function z_({gen:Q,it:{opts:Y}},X){let W=Y.unicodeRegExp?"u":"",{regExp:$}=Y.code,J=$(X,W);return Q.scopeValue("pattern",{key:J.toString(),ref:J,code:U0._`${$.code==="new RegExp"?B_:(0,Y_.useFunc)(Q,$)}(${X}, ${W})`})}MD.usePattern=z_;function K_(Q){let{gen:Y,data:X,keyword:W,it:$}=Q,J=Y.name("valid");if($.allErrors){let H=Y.let("valid",!0);return G(()=>Y.assign(H,!1)),H}return Y.var(J,!0),G(()=>Y.break()),J;function G(H){let B=Y.const("len",U0._`${X}.length`);Y.forRange("i",0,B,(z)=>{Q.subschema({keyword:W,dataProp:z,dataPropType:KJ.Type.Num},J),Y.if((0,U0.not)(J),H)})}}MD.validateArray=K_;function V_(Q){let{gen:Y,schema:X,keyword:W,it:$}=Q;if(!Array.isArray(X))throw Error("ajv implementation error");if(X.some((B)=>(0,KJ.alwaysValidSchema)($,B))&&!$.opts.unevaluated)return;let G=Y.let("valid",!1),H=Y.name("_valid");Y.block(()=>X.forEach((B,z)=>{let K=Q.subschema({keyword:W,schemaProp:z,compositeRule:!0},H);if(Y.assign(G,U0._`${G} || ${H}`),!Q.mergeValidEvaluated(K,H))Y.if((0,U0.not)(G))})),Q.result(G,()=>Q.reset(),()=>Q.error(!0))}MD.validateUnion=V_});var SD=w((RD)=>{Object.defineProperty(RD,"__esModule",{value:!0});RD.validateKeywordUsage=RD.validSchemaType=RD.funcKeywordCode=RD.macroKeywordCode=void 0;var o0=n(),U9=K6(),Z_=L1(),P_=f4();function R_(Q,Y){let{gen:X,keyword:W,schema:$,parentSchema:J,it:G}=Q,H=Y.macro.call(G.self,$,J,G),B=PD(X,W,H);if(G.opts.validateSchema!==!1)G.self.validateSchema(H,!0);let z=X.name("valid");Q.subschema({schema:H,schemaPath:o0.nil,errSchemaPath:`${G.errSchemaPath}/${W}`,topSchemaRef:B,compositeRule:!0},z),Q.pass(z,()=>Q.error(!0))}RD.macroKeywordCode=R_;function E_(Q,Y){var X;let{gen:W,keyword:$,schema:J,parentSchema:G,$data:H,it:B}=Q;I_(B,Y);let z=!H&&Y.compile?Y.compile.call(B.self,J,G,B):Y.validate,K=PD(W,$,z),V=W.let("valid");Q.block$data(V,F),Q.ok((X=Y.valid)!==null&&X!==void 0?X:V);function F(){if(Y.errors===!1){if(L(),Y.modifying)ZD(Q);O(()=>Q.error())}else{let U=Y.async?A():D();if(Y.modifying)ZD(Q);O(()=>S_(Q,U))}}function A(){let U=W.let("ruleErrs",null);return W.try(()=>L(o0._`await `),(N)=>W.assign(V,!1).if(o0._`${N} instanceof ${B.ValidationError}`,()=>W.assign(U,o0._`${N}.errors`),()=>W.throw(N))),U}function D(){let U=o0._`${K}.errors`;return W.assign(U,null),L(o0.nil),U}function L(U=Y.async?o0._`await `:o0.nil){let N=B.opts.passContext?U9.default.this:U9.default.self,M=!(("compile"in Y)&&!H||Y.schema===!1);W.assign(V,o0._`${U}${(0,Z_.callValidateCode)(Q,K,N,M)}`,Y.modifying)}function O(U){var N;W.if((0,o0.not)((N=Y.valid)!==null&&N!==void 0?N:V),U)}}RD.funcKeywordCode=E_;function ZD(Q){let{gen:Y,data:X,it:W}=Q;Y.if(W.parentData,()=>Y.assign(X,o0._`${W.parentData}[${W.parentDataProperty}]`))}function S_(Q,Y){let{gen:X}=Q;X.if(o0._`Array.isArray(${Y})`,()=>{X.assign(U9.default.vErrors,o0._`${U9.default.vErrors} === null ? ${Y} : ${U9.default.vErrors}.concat(${Y})`).assign(U9.default.errors,o0._`${U9.default.vErrors}.length`),(0,P_.extendErrors)(Q)},()=>Q.error())}function I_({schemaEnv:Q},Y){if(Y.async&&!Q.$async)throw Error("async keyword in sync schema")}function PD(Q,Y,X){if(X===void 0)throw Error(`keyword "${Y}" failed to compile`);return Q.scopeValue("keyword",typeof X=="function"?{ref:X}:{ref:X,code:(0,o0.stringify)(X)})}function T_(Q,Y,X=!1){return!Y.length||Y.some((W)=>W==="array"?Array.isArray(Q):W==="object"?Q&&typeof Q=="object"&&!Array.isArray(Q):typeof Q==W||X&&typeof Q>"u")}RD.validSchemaType=T_;function C_({schema:Q,opts:Y,self:X,errSchemaPath:W},$,J){if(Array.isArray($.keyword)?!$.keyword.includes(J):$.keyword!==J)throw Error("ajv implementation error");let G=$.dependencies;if(G===null||G===void 0?void 0:G.some((H)=>!Object.prototype.hasOwnProperty.call(Q,H)))throw Error(`parent schema must have dependencies of ${J}: ${G.join(",")}`);if($.validateSchema){if(!$.validateSchema(Q[J])){let B=`keyword "${J}" value is invalid at path "${W}": `+X.errorsText($.validateSchema.errors);if(Y.validateSchema==="log")X.logger.error(B);else throw Error(B)}}}RD.validateKeywordUsage=C_});var kD=w((TD)=>{Object.defineProperty(TD,"__esModule",{value:!0});TD.extendSubschemaMode=TD.extendSubschemaData=TD.getSubschema=void 0;var o1=n(),ID=$0();function x_(Q,{keyword:Y,schemaProp:X,schema:W,schemaPath:$,errSchemaPath:J,topSchemaRef:G}){if(Y!==void 0&&W!==void 0)throw Error('both "keyword" and "schema" passed, only one allowed');if(Y!==void 0){let H=Q.schema[Y];return X===void 0?{schema:H,schemaPath:o1._`${Q.schemaPath}${(0,o1.getProperty)(Y)}`,errSchemaPath:`${Q.errSchemaPath}/${Y}`}:{schema:H[X],schemaPath:o1._`${Q.schemaPath}${(0,o1.getProperty)(Y)}${(0,o1.getProperty)(X)}`,errSchemaPath:`${Q.errSchemaPath}/${Y}/${(0,ID.escapeFragment)(X)}`}}if(W!==void 0){if($===void 0||J===void 0||G===void 0)throw Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:W,schemaPath:$,topSchemaRef:G,errSchemaPath:J}}throw Error('either "keyword" or "schema" must be passed')}TD.getSubschema=x_;function y_(Q,Y,{dataProp:X,dataPropType:W,data:$,dataTypes:J,propertyName:G}){if($!==void 0&&X!==void 0)throw Error('both "data" and "dataProp" passed, only one allowed');let{gen:H}=Y;if(X!==void 0){let{errorPath:z,dataPathArr:K,opts:V}=Y,F=H.let("data",o1._`${Y.data}${(0,o1.getProperty)(X)}`,!0);B(F),Q.errorPath=o1.str`${z}${(0,ID.getErrorPath)(X,W,V.jsPropertySyntax)}`,Q.parentDataProperty=o1._`${X}`,Q.dataPathArr=[...K,Q.parentDataProperty]}if($!==void 0){let z=$ instanceof o1.Name?$:H.let("data",$,!0);if(B(z),G!==void 0)Q.propertyName=G}if(J)Q.dataTypes=J;function B(z){Q.data=z,Q.dataLevel=Y.dataLevel+1,Q.dataTypes=[],Y.definedProperties=new Set,Q.parentData=Y.data,Q.dataNames=[...Y.dataNames,z]}}TD.extendSubschemaData=y_;function f_(Q,{jtdDiscriminator:Y,jtdMetadata:X,compositeRule:W,createErrors:$,allErrors:J}){if(W!==void 0)Q.compositeRule=W;if($!==void 0)Q.createErrors=$;if(J!==void 0)Q.allErrors=J;Q.jtdDiscriminator=Y,Q.jtdMetadata=X}TD.extendSubschemaMode=f_});var vD=w((Bo,_D)=>{var y6=_D.exports=function(Q,Y,X){if(typeof Y=="function")X=Y,Y={};X=Y.cb||X;var W=typeof X=="function"?X:X.pre||function(){},$=X.post||function(){};JX(Y,W,$,Q,"",Q)};y6.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};y6.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};y6.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};y6.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 JX(Q,Y,X,W,$,J,G,H,B,z){if(W&&typeof W=="object"&&!Array.isArray(W)){Y(W,$,J,G,H,B,z);for(var K in W){var V=W[K];if(Array.isArray(V)){if(K in y6.arrayKeywords)for(var F=0;F<V.length;F++)JX(Q,Y,X,V[F],$+"/"+K+"/"+F,J,$,K,W,F)}else if(K in y6.propsKeywords){if(V&&typeof V=="object")for(var A in V)JX(Q,Y,X,V[A],$+"/"+K+"/"+u_(A),J,$,K,W,A)}else if(K in y6.keywords||Q.allKeys&&!(K in y6.skipKeywords))JX(Q,Y,X,V,$+"/"+K,J,$,K,W)}X(W,$,J,G,H,B,z)}}function u_(Q){return Q.replace(/~/g,"~0").replace(/\//g,"~1")}});var g4=w((hD)=>{Object.defineProperty(hD,"__esModule",{value:!0});hD.getSchemaRefs=hD.resolveUrl=hD.normalizeId=hD._getFullPath=hD.getFullPath=hD.inlineRef=void 0;var l_=$0(),m_=O4(),c_=vD(),p_=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function d_(Q,Y=!0){if(typeof Q=="boolean")return!0;if(Y===!0)return!AJ(Q);if(!Y)return!1;return xD(Q)<=Y}hD.inlineRef=d_;var i_=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function AJ(Q){for(let Y in Q){if(i_.has(Y))return!0;let X=Q[Y];if(Array.isArray(X)&&X.some(AJ))return!0;if(typeof X=="object"&&AJ(X))return!0}return!1}function xD(Q){let Y=0;for(let X in Q){if(X==="$ref")return 1/0;if(Y++,p_.has(X))continue;if(typeof Q[X]=="object")(0,l_.eachItem)(Q[X],(W)=>Y+=xD(W));if(Y===1/0)return 1/0}return Y}function yD(Q,Y="",X){if(X!==!1)Y=F8(Y);let W=Q.parse(Y);return fD(Q,W)}hD.getFullPath=yD;function fD(Q,Y){return Q.serialize(Y).split("#")[0]+"#"}hD._getFullPath=fD;var n_=/#\/?$/;function F8(Q){return Q?Q.replace(n_,""):""}hD.normalizeId=F8;function o_(Q,Y,X){return X=F8(X),Q.resolve(Y,X)}hD.resolveUrl=o_;var r_=/^[a-z_][-a-z0-9._]*$/i;function a_(Q,Y){if(typeof Q=="boolean")return{};let{schemaId:X,uriResolver:W}=this.opts,$=F8(Q[X]||Y),J={"":$},G=yD(W,$,!1),H={},B=new Set;return c_(Q,{allKeys:!0},(V,F,A,D)=>{if(D===void 0)return;let L=G+F,O=J[D];if(typeof V[X]=="string")O=U.call(this,V[X]);N.call(this,V.$anchor),N.call(this,V.$dynamicAnchor),J[F]=O;function U(M){let S=this.opts.uriResolver.resolve;if(M=F8(O?S(O,M):M),B.has(M))throw K(M);B.add(M);let P=this.refs[M];if(typeof P=="string")P=this.refs[P];if(typeof P=="object")z(V,P.schema,M);else if(M!==F8(L))if(M[0]==="#")z(V,H[M],M),H[M]=V;else this.refs[M]=L;return M}function N(M){if(typeof M=="string"){if(!r_.test(M))throw Error(`invalid anchor "${M}"`);U.call(this,`#${M}`)}}}),H;function z(V,F,A){if(F!==void 0&&!m_(V,F))throw K(A)}function K(V){return Error(`reference "${V}" resolves to more than one schema`)}}hD.getSchemaRefs=a_});var m4=w((QL)=>{Object.defineProperty(QL,"__esModule",{value:!0});QL.getData=QL.KeywordCxt=QL.validateFunctionCode=void 0;var pD=$D(),uD=h4(),LJ=GJ(),GX=h4(),Xv=wD(),l4=SD(),DJ=kD(),h=n(),c=K6(),Wv=g4(),V6=$0(),u4=f4();function $v(Q){if(nD(Q)){if(oD(Q),iD(Q)){Hv(Q);return}}dD(Q,()=>(0,pD.topBoolOrEmptySchema)(Q))}QL.validateFunctionCode=$v;function dD({gen:Q,validateName:Y,schema:X,schemaEnv:W,opts:$},J){if($.code.es5)Q.func(Y,h._`${c.default.data}, ${c.default.valCxt}`,W.$async,()=>{Q.code(h._`"use strict"; ${lD(X,$)}`),Gv(Q,$),Q.code(J)});else Q.func(Y,h._`${c.default.data}, ${Jv($)}`,W.$async,()=>Q.code(lD(X,$)).code(J))}function Jv(Q){return h._`{${c.default.instancePath}="", ${c.default.parentData}, ${c.default.parentDataProperty}, ${c.default.rootData}=${c.default.data}${Q.dynamicRef?h._`, ${c.default.dynamicAnchors}={}`:h.nil}}={}`}function Gv(Q,Y){Q.if(c.default.valCxt,()=>{if(Q.var(c.default.instancePath,h._`${c.default.valCxt}.${c.default.instancePath}`),Q.var(c.default.parentData,h._`${c.default.valCxt}.${c.default.parentData}`),Q.var(c.default.parentDataProperty,h._`${c.default.valCxt}.${c.default.parentDataProperty}`),Q.var(c.default.rootData,h._`${c.default.valCxt}.${c.default.rootData}`),Y.dynamicRef)Q.var(c.default.dynamicAnchors,h._`${c.default.valCxt}.${c.default.dynamicAnchors}`)},()=>{if(Q.var(c.default.instancePath,h._`""`),Q.var(c.default.parentData,h._`undefined`),Q.var(c.default.parentDataProperty,h._`undefined`),Q.var(c.default.rootData,c.default.data),Y.dynamicRef)Q.var(c.default.dynamicAnchors,h._`{}`)})}function Hv(Q){let{schema:Y,opts:X,gen:W}=Q;dD(Q,()=>{if(X.$comment&&Y.$comment)aD(Q);if(Fv(Q),W.let(c.default.vErrors,null),W.let(c.default.errors,0),X.unevaluated)Bv(Q);rD(Q),Lv(Q)});return}function Bv(Q){let{gen:Y,validateName:X}=Q;Q.evaluated=Y.const("evaluated",h._`${X}.evaluated`),Y.if(h._`${Q.evaluated}.dynamicProps`,()=>Y.assign(h._`${Q.evaluated}.props`,h._`undefined`)),Y.if(h._`${Q.evaluated}.dynamicItems`,()=>Y.assign(h._`${Q.evaluated}.items`,h._`undefined`))}function lD(Q,Y){let X=typeof Q=="object"&&Q[Y.schemaId];return X&&(Y.code.source||Y.code.process)?h._`/*# sourceURL=${X} */`:h.nil}function zv(Q,Y){if(nD(Q)){if(oD(Q),iD(Q)){Kv(Q,Y);return}}(0,pD.boolOrEmptySchema)(Q,Y)}function iD({schema:Q,self:Y}){if(typeof Q=="boolean")return!Q;for(let X in Q)if(Y.RULES.all[X])return!0;return!1}function nD(Q){return typeof Q.schema!="boolean"}function Kv(Q,Y){let{schema:X,gen:W,opts:$}=Q;if($.$comment&&X.$comment)aD(Q);Av(Q),Dv(Q);let J=W.const("_errs",c.default.errors);rD(Q,J),W.var(Y,h._`${J} === ${c.default.errors}`)}function oD(Q){(0,V6.checkUnknownRules)(Q),Vv(Q)}function rD(Q,Y){if(Q.opts.jtd)return mD(Q,[],!1,Y);let X=(0,uD.getSchemaTypes)(Q.schema),W=(0,uD.coerceAndCheckDataType)(Q,X);mD(Q,X,!W,Y)}function Vv(Q){let{schema:Y,errSchemaPath:X,opts:W,self:$}=Q;if(Y.$ref&&W.ignoreKeywordsWithRef&&(0,V6.schemaHasRulesButRef)(Y,$.RULES))$.logger.warn(`$ref: keywords ignored in schema at path "${X}"`)}function Fv(Q){let{schema:Y,opts:X}=Q;if(Y.default!==void 0&&X.useDefaults&&X.strictSchema)(0,V6.checkStrictMode)(Q,"default is ignored in the schema root")}function Av(Q){let Y=Q.schema[Q.opts.schemaId];if(Y)Q.baseId=(0,Wv.resolveUrl)(Q.opts.uriResolver,Q.baseId,Y)}function Dv(Q){if(Q.schema.$async&&!Q.schemaEnv.$async)throw Error("async schema in sync schema")}function aD({gen:Q,schemaEnv:Y,schema:X,errSchemaPath:W,opts:$}){let J=X.$comment;if($.$comment===!0)Q.code(h._`${c.default.self}.logger.log(${J})`);else if(typeof $.$comment=="function"){let G=h.str`${W}/$comment`,H=Q.scopeValue("root",{ref:Y.root});Q.code(h._`${c.default.self}.opts.$comment(${J}, ${G}, ${H}.schema)`)}}function Lv(Q){let{gen:Y,schemaEnv:X,validateName:W,ValidationError:$,opts:J}=Q;if(X.$async)Y.if(h._`${c.default.errors} === 0`,()=>Y.return(c.default.data),()=>Y.throw(h._`new ${$}(${c.default.vErrors})`));else{if(Y.assign(h._`${W}.errors`,c.default.vErrors),J.unevaluated)Ov(Q);Y.return(h._`${c.default.errors} === 0`)}}function Ov({gen:Q,evaluated:Y,props:X,items:W}){if(X instanceof h.Name)Q.assign(h._`${Y}.props`,X);if(W instanceof h.Name)Q.assign(h._`${Y}.items`,W)}function mD(Q,Y,X,W){let{gen:$,schema:J,data:G,allErrors:H,opts:B,self:z}=Q,{RULES:K}=z;if(J.$ref&&(B.ignoreKeywordsWithRef||!(0,V6.schemaHasRulesButRef)(J,K))){$.block(()=>sD(Q,"$ref",K.all.$ref.definition));return}if(!B.jtd)Uv(Q,Y);$.block(()=>{for(let F of K.rules)V(F);V(K.post)});function V(F){if(!(0,LJ.shouldUseGroup)(J,F))return;if(F.type){if($.if((0,GX.checkDataType)(F.type,G,B.strictNumbers)),cD(Q,F),Y.length===1&&Y[0]===F.type&&X)$.else(),(0,GX.reportTypeError)(Q);$.endIf()}else cD(Q,F);if(!H)$.if(h._`${c.default.errors} === ${W||0}`)}}function cD(Q,Y){let{gen:X,schema:W,opts:{useDefaults:$}}=Q;if($)(0,Xv.assignDefaults)(Q,Y.type);X.block(()=>{for(let J of Y.rules)if((0,LJ.shouldUseRule)(W,J))sD(Q,J.keyword,J.definition,Y.type)})}function Uv(Q,Y){if(Q.schemaEnv.meta||!Q.opts.strictTypes)return;if(jv(Q,Y),!Q.opts.allowUnionTypes)wv(Q,Y);Nv(Q,Q.dataTypes)}function jv(Q,Y){if(!Y.length)return;if(!Q.dataTypes.length){Q.dataTypes=Y;return}Y.forEach((X)=>{if(!tD(Q.dataTypes,X))OJ(Q,`type "${X}" not allowed by context "${Q.dataTypes.join(",")}"`)}),Mv(Q,Y)}function wv(Q,Y){if(Y.length>1&&!(Y.length===2&&Y.includes("null")))OJ(Q,"use allowUnionTypes to allow union type keyword")}function Nv(Q,Y){let X=Q.self.RULES.all;for(let W in X){let $=X[W];if(typeof $=="object"&&(0,LJ.shouldUseRule)(Q.schema,$)){let{type:J}=$.definition;if(J.length&&!J.some((G)=>qv(Y,G)))OJ(Q,`missing type "${J.join(",")}" for keyword "${W}"`)}}}function qv(Q,Y){return Q.includes(Y)||Y==="number"&&Q.includes("integer")}function tD(Q,Y){return Q.includes(Y)||Y==="integer"&&Q.includes("number")}function Mv(Q,Y){let X=[];for(let W of Q.dataTypes)if(tD(Y,W))X.push(W);else if(Y.includes("integer")&&W==="number")X.push("integer");Q.dataTypes=X}function OJ(Q,Y){let X=Q.schemaEnv.baseId+Q.errSchemaPath;Y+=` at "${X}" (strictTypes)`,(0,V6.checkStrictMode)(Q,Y,Q.opts.strictTypes)}class UJ{constructor(Q,Y,X){if((0,l4.validateKeywordUsage)(Q,Y,X),this.gen=Q.gen,this.allErrors=Q.allErrors,this.keyword=X,this.data=Q.data,this.schema=Q.schema[X],this.$data=Y.$data&&Q.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,V6.schemaRefOrVal)(Q,this.schema,X,this.$data),this.schemaType=Y.schemaType,this.parentSchema=Q.schema,this.params={},this.it=Q,this.def=Y,this.$data)this.schemaCode=Q.gen.const("vSchema",eD(this.$data,Q));else if(this.schemaCode=this.schemaValue,!(0,l4.validSchemaType)(this.schema,Y.schemaType,Y.allowUndefined))throw Error(`${X} value must be ${JSON.stringify(Y.schemaType)}`);if("code"in Y?Y.trackErrors:Y.errors!==!1)this.errsCount=Q.gen.const("_errs",c.default.errors)}result(Q,Y,X){this.failResult((0,h.not)(Q),Y,X)}failResult(Q,Y,X){if(this.gen.if(Q),X)X();else this.error();if(Y){if(this.gen.else(),Y(),this.allErrors)this.gen.endIf()}else if(this.allErrors)this.gen.endIf();else this.gen.else()}pass(Q,Y){this.failResult((0,h.not)(Q),void 0,Y)}fail(Q){if(Q===void 0){if(this.error(),!this.allErrors)this.gen.if(!1);return}if(this.gen.if(Q),this.error(),this.allErrors)this.gen.endIf();else this.gen.else()}fail$data(Q){if(!this.$data)return this.fail(Q);let{schemaCode:Y}=this;this.fail(h._`${Y} !== undefined && (${(0,h.or)(this.invalid$data(),Q)})`)}error(Q,Y,X){if(Y){this.setParams(Y),this._error(Q,X),this.setParams({});return}this._error(Q,X)}_error(Q,Y){(Q?u4.reportExtraError:u4.reportError)(this,this.def.error,Y)}$dataError(){(0,u4.reportError)(this,this.def.$dataError||u4.keyword$DataError)}reset(){if(this.errsCount===void 0)throw Error('add "trackErrors" to keyword definition');(0,u4.resetErrorsCount)(this.gen,this.errsCount)}ok(Q){if(!this.allErrors)this.gen.if(Q)}setParams(Q,Y){if(Y)Object.assign(this.params,Q);else this.params=Q}block$data(Q,Y,X=h.nil){this.gen.block(()=>{this.check$data(Q,X),Y()})}check$data(Q=h.nil,Y=h.nil){if(!this.$data)return;let{gen:X,schemaCode:W,schemaType:$,def:J}=this;if(X.if((0,h.or)(h._`${W} === undefined`,Y)),Q!==h.nil)X.assign(Q,!0);if($.length||J.validateSchema){if(X.elseIf(this.invalid$data()),this.$dataError(),Q!==h.nil)X.assign(Q,!1)}X.else()}invalid$data(){let{gen:Q,schemaCode:Y,schemaType:X,def:W,it:$}=this;return(0,h.or)(J(),G());function J(){if(X.length){if(!(Y instanceof h.Name))throw Error("ajv implementation error");let H=Array.isArray(X)?X:[X];return h._`${(0,GX.checkDataTypes)(H,Y,$.opts.strictNumbers,GX.DataType.Wrong)}`}return h.nil}function G(){if(W.validateSchema){let H=Q.scopeValue("validate$data",{ref:W.validateSchema});return h._`!${H}(${Y})`}return h.nil}}subschema(Q,Y){let X=(0,DJ.getSubschema)(this.it,Q);(0,DJ.extendSubschemaData)(X,this.it,Q),(0,DJ.extendSubschemaMode)(X,Q);let W={...this.it,...X,items:void 0,props:void 0};return zv(W,Y),W}mergeEvaluated(Q,Y){let{it:X,gen:W}=this;if(!X.opts.unevaluated)return;if(X.props!==!0&&Q.props!==void 0)X.props=V6.mergeEvaluated.props(W,Q.props,X.props,Y);if(X.items!==!0&&Q.items!==void 0)X.items=V6.mergeEvaluated.items(W,Q.items,X.items,Y)}mergeValidEvaluated(Q,Y){let{it:X,gen:W}=this;if(X.opts.unevaluated&&(X.props!==!0||X.items!==!0))return W.if(Y,()=>this.mergeEvaluated(Q,h.Name)),!0}}QL.KeywordCxt=UJ;function sD(Q,Y,X,W){let $=new UJ(Q,X,Y);if("code"in X)X.code($,W);else if($.$data&&X.validate)(0,l4.funcKeywordCode)($,X);else if("macro"in X)(0,l4.macroKeywordCode)($,X);else if(X.compile||X.validate)(0,l4.funcKeywordCode)($,X)}var bv=/^\/(?:[^~]|~0|~1)*$/,Zv=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function eD(Q,{dataLevel:Y,dataNames:X,dataPathArr:W}){let $,J;if(Q==="")return c.default.rootData;if(Q[0]==="/"){if(!bv.test(Q))throw Error(`Invalid JSON-pointer: ${Q}`);$=Q,J=c.default.rootData}else{let z=Zv.exec(Q);if(!z)throw Error(`Invalid JSON-pointer: ${Q}`);let K=+z[1];if($=z[2],$==="#"){if(K>=Y)throw Error(B("property/index",K));return W[Y-K]}if(K>Y)throw Error(B("data",K));if(J=X[Y-K],!$)return J}let G=J,H=$.split("/");for(let z of H)if(z)J=h._`${J}${(0,h.getProperty)((0,V6.unescapeJsonPointer)(z))}`,G=h._`${G} && ${J}`;return G;function B(z,K){return`Cannot access ${z} ${K} levels up, current level is ${Y}`}}QL.getData=eD});var HX=w((WL)=>{Object.defineProperty(WL,"__esModule",{value:!0});class XL extends Error{constructor(Q){super("validation failed");this.errors=Q,this.ajv=this.validation=!0}}WL.default=XL});var c4=w((JL)=>{Object.defineProperty(JL,"__esModule",{value:!0});var jJ=g4();class $L extends Error{constructor(Q,Y,X,W){super(W||`can't resolve reference ${X} from id ${Y}`);this.missingRef=(0,jJ.resolveUrl)(Q,Y,X),this.missingSchema=(0,jJ.normalizeId)((0,jJ.getFullPath)(Q,this.missingRef))}}JL.default=$L});var zX=w((BL)=>{Object.defineProperty(BL,"__esModule",{value:!0});BL.resolveSchema=BL.getCompilingSchema=BL.resolveRef=BL.compileSchema=BL.SchemaEnv=void 0;var v1=n(),Iv=HX(),j9=K6(),x1=g4(),GL=$0(),Tv=m4();class p4{constructor(Q){var Y;this.refs={},this.dynamicAnchors={};let X;if(typeof Q.schema=="object")X=Q.schema;this.schema=Q.schema,this.schemaId=Q.schemaId,this.root=Q.root||this,this.baseId=(Y=Q.baseId)!==null&&Y!==void 0?Y:(0,x1.normalizeId)(X===null||X===void 0?void 0:X[Q.schemaId||"$id"]),this.schemaPath=Q.schemaPath,this.localRefs=Q.localRefs,this.meta=Q.meta,this.$async=X===null||X===void 0?void 0:X.$async,this.refs={}}}BL.SchemaEnv=p4;function NJ(Q){let Y=HL.call(this,Q);if(Y)return Y;let X=(0,x1.getFullPath)(this.opts.uriResolver,Q.root.baseId),{es5:W,lines:$}=this.opts.code,{ownProperties:J}=this.opts,G=new v1.CodeGen(this.scope,{es5:W,lines:$,ownProperties:J}),H;if(Q.$async)H=G.scopeValue("Error",{ref:Iv.default,code:v1._`require("ajv/dist/runtime/validation_error").default`});let B=G.scopeName("validate");Q.validateName=B;let z={gen:G,allErrors:this.opts.allErrors,data:j9.default.data,parentData:j9.default.parentData,parentDataProperty:j9.default.parentDataProperty,dataNames:[j9.default.data],dataPathArr:[v1.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:G.scopeValue("schema",this.opts.code.source===!0?{ref:Q.schema,code:(0,v1.stringify)(Q.schema)}:{ref:Q.schema}),validateName:B,ValidationError:H,schema:Q.schema,schemaEnv:Q,rootId:X,baseId:Q.baseId||X,schemaPath:v1.nil,errSchemaPath:Q.schemaPath||(this.opts.jtd?"":"#"),errorPath:v1._`""`,opts:this.opts,self:this},K;try{this._compilations.add(Q),(0,Tv.validateFunctionCode)(z),G.optimize(this.opts.code.optimize);let V=G.toString();if(K=`${G.scopeRefs(j9.default.scope)}return ${V}`,this.opts.code.process)K=this.opts.code.process(K,Q);let A=Function(`${j9.default.self}`,`${j9.default.scope}`,K)(this,this.scope.get());if(this.scope.value(B,{ref:A}),A.errors=null,A.schema=Q.schema,A.schemaEnv=Q,Q.$async)A.$async=!0;if(this.opts.code.source===!0)A.source={validateName:B,validateCode:V,scopeValues:G._values};if(this.opts.unevaluated){let{props:D,items:L}=z;if(A.evaluated={props:D instanceof v1.Name?void 0:D,items:L instanceof v1.Name?void 0:L,dynamicProps:D instanceof v1.Name,dynamicItems:L instanceof v1.Name},A.source)A.source.evaluated=(0,v1.stringify)(A.evaluated)}return Q.validate=A,Q}catch(V){if(delete Q.validate,delete Q.validateName,K)this.logger.error("Error compiling schema, function code:",K);throw V}finally{this._compilations.delete(Q)}}BL.compileSchema=NJ;function Cv(Q,Y,X){var W;X=(0,x1.resolveUrl)(this.opts.uriResolver,Y,X);let $=Q.refs[X];if($)return $;let J=vv.call(this,Q,X);if(J===void 0){let G=(W=Q.localRefs)===null||W===void 0?void 0:W[X],{schemaId:H}=this.opts;if(G)J=new p4({schema:G,schemaId:H,root:Q,baseId:Y})}if(J===void 0)return;return Q.refs[X]=kv.call(this,J)}BL.resolveRef=Cv;function kv(Q){if((0,x1.inlineRef)(Q.schema,this.opts.inlineRefs))return Q.schema;return Q.validate?Q:NJ.call(this,Q)}function HL(Q){for(let Y of this._compilations)if(_v(Y,Q))return Y}BL.getCompilingSchema=HL;function _v(Q,Y){return Q.schema===Y.schema&&Q.root===Y.root&&Q.baseId===Y.baseId}function vv(Q,Y){let X;while(typeof(X=this.refs[Y])=="string")Y=X;return X||this.schemas[Y]||BX.call(this,Q,Y)}function BX(Q,Y){let X=this.opts.uriResolver.parse(Y),W=(0,x1._getFullPath)(this.opts.uriResolver,X),$=(0,x1.getFullPath)(this.opts.uriResolver,Q.baseId,void 0);if(Object.keys(Q.schema).length>0&&W===$)return wJ.call(this,X,Q);let J=(0,x1.normalizeId)(W),G=this.refs[J]||this.schemas[J];if(typeof G=="string"){let H=BX.call(this,Q,G);if(typeof(H===null||H===void 0?void 0:H.schema)!=="object")return;return wJ.call(this,X,H)}if(typeof(G===null||G===void 0?void 0:G.schema)!=="object")return;if(!G.validate)NJ.call(this,G);if(J===(0,x1.normalizeId)(Y)){let{schema:H}=G,{schemaId:B}=this.opts,z=H[B];if(z)$=(0,x1.resolveUrl)(this.opts.uriResolver,$,z);return new p4({schema:H,schemaId:B,root:Q,baseId:$})}return wJ.call(this,X,G)}BL.resolveSchema=BX;var xv=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function wJ(Q,{baseId:Y,schema:X,root:W}){var $;if((($=Q.fragment)===null||$===void 0?void 0:$[0])!=="/")return;for(let H of Q.fragment.slice(1).split("/")){if(typeof X==="boolean")return;let B=X[(0,GL.unescapeFragment)(H)];if(B===void 0)return;X=B;let z=typeof X==="object"&&X[this.opts.schemaId];if(!xv.has(H)&&z)Y=(0,x1.resolveUrl)(this.opts.uriResolver,Y,z)}let J;if(typeof X!="boolean"&&X.$ref&&!(0,GL.schemaHasRulesButRef)(X,this.RULES)){let H=(0,x1.resolveUrl)(this.opts.uriResolver,Y,X.$ref);J=BX.call(this,W,H)}let{schemaId:G}=this.opts;if(J=J||new p4({schema:X,schemaId:G,root:W,baseId:Y}),J.schema!==J.root.schema)return J;return}});var KL=w((Do,uv)=>{uv.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 AL=w((FL)=>{Object.defineProperty(FL,"__esModule",{value:!0});var VL=E$();VL.code='require("ajv/dist/runtime/uri").default';FL.default=VL});var qL=w((F6)=>{Object.defineProperty(F6,"__esModule",{value:!0});F6.CodeGen=F6.Name=F6.nil=F6.stringify=F6.str=F6._=F6.KeywordCxt=void 0;var mv=m4();Object.defineProperty(F6,"KeywordCxt",{enumerable:!0,get:function(){return mv.KeywordCxt}});var A8=n();Object.defineProperty(F6,"_",{enumerable:!0,get:function(){return A8._}});Object.defineProperty(F6,"str",{enumerable:!0,get:function(){return A8.str}});Object.defineProperty(F6,"stringify",{enumerable:!0,get:function(){return A8.stringify}});Object.defineProperty(F6,"nil",{enumerable:!0,get:function(){return A8.nil}});Object.defineProperty(F6,"Name",{enumerable:!0,get:function(){return A8.Name}});Object.defineProperty(F6,"CodeGen",{enumerable:!0,get:function(){return A8.CodeGen}});var cv=HX(),jL=c4(),pv=JJ(),d4=zX(),dv=n(),i4=g4(),KX=h4(),MJ=$0(),DL=KL(),iv=AL(),wL=(Q,Y)=>new RegExp(Q,Y);wL.code="new RegExp";var nv=["removeAdditional","useDefaults","coerceTypes"],ov=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),rv={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."},av={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},LL=200;function tv(Q){var Y,X,W,$,J,G,H,B,z,K,V,F,A,D,L,O,U,N,M,S,P,V0,Z0,h1,p6;let U1=Q.strict,d6=(Y=Q.code)===null||Y===void 0?void 0:Y.optimize,T8=d6===!0||d6===void 0?1:d6||0,C8=(W=(X=Q.code)===null||X===void 0?void 0:X.regExp)!==null&&W!==void 0?W:wL,Y7=($=Q.uriResolver)!==null&&$!==void 0?$:iv.default;return{strictSchema:(G=(J=Q.strictSchema)!==null&&J!==void 0?J:U1)!==null&&G!==void 0?G:!0,strictNumbers:(B=(H=Q.strictNumbers)!==null&&H!==void 0?H:U1)!==null&&B!==void 0?B:!0,strictTypes:(K=(z=Q.strictTypes)!==null&&z!==void 0?z:U1)!==null&&K!==void 0?K:"log",strictTuples:(F=(V=Q.strictTuples)!==null&&V!==void 0?V:U1)!==null&&F!==void 0?F:"log",strictRequired:(D=(A=Q.strictRequired)!==null&&A!==void 0?A:U1)!==null&&D!==void 0?D:!1,code:Q.code?{...Q.code,optimize:T8,regExp:C8}:{optimize:T8,regExp:C8},loopRequired:(L=Q.loopRequired)!==null&&L!==void 0?L:LL,loopEnum:(O=Q.loopEnum)!==null&&O!==void 0?O:LL,meta:(U=Q.meta)!==null&&U!==void 0?U:!0,messages:(N=Q.messages)!==null&&N!==void 0?N:!0,inlineRefs:(M=Q.inlineRefs)!==null&&M!==void 0?M:!0,schemaId:(S=Q.schemaId)!==null&&S!==void 0?S:"$id",addUsedSchema:(P=Q.addUsedSchema)!==null&&P!==void 0?P:!0,validateSchema:(V0=Q.validateSchema)!==null&&V0!==void 0?V0:!0,validateFormats:(Z0=Q.validateFormats)!==null&&Z0!==void 0?Z0:!0,unicodeRegExp:(h1=Q.unicodeRegExp)!==null&&h1!==void 0?h1:!0,int32range:(p6=Q.int32range)!==null&&p6!==void 0?p6:!0,uriResolver:Y7}}class VX{constructor(Q={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,Q=this.opts={...Q,...tv(Q)};let{es5:Y,lines:X}=this.opts.code;this.scope=new dv.ValueScope({scope:{},prefixes:ov,es5:Y,lines:X}),this.logger=Wx(Q.logger);let W=Q.validateFormats;if(Q.validateFormats=!1,this.RULES=(0,pv.getRules)(),OL.call(this,rv,Q,"NOT SUPPORTED"),OL.call(this,av,Q,"DEPRECATED","warn"),this._metaOpts=Yx.call(this),Q.formats)ev.call(this);if(this._addVocabularies(),this._addDefaultMetaSchema(),Q.keywords)Qx.call(this,Q.keywords);if(typeof Q.meta=="object")this.addMetaSchema(Q.meta);sv.call(this),Q.validateFormats=W}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:Q,meta:Y,schemaId:X}=this.opts,W=DL;if(X==="id")W={...DL},W.id=W.$id,delete W.$id;if(Y&&Q)this.addMetaSchema(W,W[X],!1)}defaultMeta(){let{meta:Q,schemaId:Y}=this.opts;return this.opts.defaultMeta=typeof Q=="object"?Q[Y]||Q:void 0}validate(Q,Y){let X;if(typeof Q=="string"){if(X=this.getSchema(Q),!X)throw Error(`no schema with key or ref "${Q}"`)}else X=this.compile(Q);let W=X(Y);if(!("$async"in X))this.errors=X.errors;return W}compile(Q,Y){let X=this._addSchema(Q,Y);return X.validate||this._compileSchemaEnv(X)}compileAsync(Q,Y){if(typeof this.opts.loadSchema!="function")throw Error("options.loadSchema should be a function");let{loadSchema:X}=this.opts;return W.call(this,Q,Y);async function W(z,K){await $.call(this,z.$schema);let V=this._addSchema(z,K);return V.validate||J.call(this,V)}async function $(z){if(z&&!this.getSchema(z))await W.call(this,{$ref:z},!0)}async function J(z){try{return this._compileSchemaEnv(z)}catch(K){if(!(K instanceof jL.default))throw K;return G.call(this,K),await H.call(this,K.missingSchema),J.call(this,z)}}function G({missingSchema:z,missingRef:K}){if(this.refs[z])throw Error(`AnySchema ${z} is loaded but ${K} cannot be resolved`)}async function H(z){let K=await B.call(this,z);if(!this.refs[z])await $.call(this,K.$schema);if(!this.refs[z])this.addSchema(K,z,Y)}async function B(z){let K=this._loading[z];if(K)return K;try{return await(this._loading[z]=X(z))}finally{delete this._loading[z]}}}addSchema(Q,Y,X,W=this.opts.validateSchema){if(Array.isArray(Q)){for(let J of Q)this.addSchema(J,void 0,X,W);return this}let $;if(typeof Q==="object"){let{schemaId:J}=this.opts;if($=Q[J],$!==void 0&&typeof $!="string")throw Error(`schema ${J} must be string`)}return Y=(0,i4.normalizeId)(Y||$),this._checkUnique(Y),this.schemas[Y]=this._addSchema(Q,X,Y,W,!0),this}addMetaSchema(Q,Y,X=this.opts.validateSchema){return this.addSchema(Q,Y,!0,X),this}validateSchema(Q,Y){if(typeof Q=="boolean")return!0;let X;if(X=Q.$schema,X!==void 0&&typeof X!="string")throw Error("$schema must be a string");if(X=X||this.opts.defaultMeta||this.defaultMeta(),!X)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let W=this.validate(X,Q);if(!W&&Y){let $="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error($);else throw Error($)}return W}getSchema(Q){let Y;while(typeof(Y=UL.call(this,Q))=="string")Q=Y;if(Y===void 0){let{schemaId:X}=this.opts,W=new d4.SchemaEnv({schema:{},schemaId:X});if(Y=d4.resolveSchema.call(this,W,Q),!Y)return;this.refs[Q]=Y}return Y.validate||this._compileSchemaEnv(Y)}removeSchema(Q){if(Q instanceof RegExp)return this._removeAllSchemas(this.schemas,Q),this._removeAllSchemas(this.refs,Q),this;switch(typeof Q){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let Y=UL.call(this,Q);if(typeof Y=="object")this._cache.delete(Y.schema);return delete this.schemas[Q],delete this.refs[Q],this}case"object":{let Y=Q;this._cache.delete(Y);let X=Q[this.opts.schemaId];if(X)X=(0,i4.normalizeId)(X),delete this.schemas[X],delete this.refs[X];return this}default:throw Error("ajv.removeSchema: invalid parameter")}}addVocabulary(Q){for(let Y of Q)this.addKeyword(Y);return this}addKeyword(Q,Y){let X;if(typeof Q=="string"){if(X=Q,typeof Y=="object")this.logger.warn("these parameters are deprecated, see docs for addKeyword"),Y.keyword=X}else if(typeof Q=="object"&&Y===void 0){if(Y=Q,X=Y.keyword,Array.isArray(X)&&!X.length)throw Error("addKeywords: keyword must be string or non-empty array")}else throw Error("invalid addKeywords parameters");if(Jx.call(this,X,Y),!Y)return(0,MJ.eachItem)(X,($)=>qJ.call(this,$)),this;Hx.call(this,Y);let W={...Y,type:(0,KX.getJSONTypes)(Y.type),schemaType:(0,KX.getJSONTypes)(Y.schemaType)};return(0,MJ.eachItem)(X,W.type.length===0?($)=>qJ.call(this,$,W):($)=>W.type.forEach((J)=>qJ.call(this,$,W,J))),this}getKeyword(Q){let Y=this.RULES.all[Q];return typeof Y=="object"?Y.definition:!!Y}removeKeyword(Q){let{RULES:Y}=this;delete Y.keywords[Q],delete Y.all[Q];for(let X of Y.rules){let W=X.rules.findIndex(($)=>$.keyword===Q);if(W>=0)X.rules.splice(W,1)}return this}addFormat(Q,Y){if(typeof Y=="string")Y=new RegExp(Y);return this.formats[Q]=Y,this}errorsText(Q=this.errors,{separator:Y=", ",dataVar:X="data"}={}){if(!Q||Q.length===0)return"No errors";return Q.map((W)=>`${X}${W.instancePath} ${W.message}`).reduce((W,$)=>W+Y+$)}$dataMetaSchema(Q,Y){let X=this.RULES.all;Q=JSON.parse(JSON.stringify(Q));for(let W of Y){let $=W.split("/").slice(1),J=Q;for(let G of $)J=J[G];for(let G in X){let H=X[G];if(typeof H!="object")continue;let{$data:B}=H.definition,z=J[G];if(B&&z)J[G]=NL(z)}}return Q}_removeAllSchemas(Q,Y){for(let X in Q){let W=Q[X];if(!Y||Y.test(X)){if(typeof W=="string")delete Q[X];else if(W&&!W.meta)this._cache.delete(W.schema),delete Q[X]}}}_addSchema(Q,Y,X,W=this.opts.validateSchema,$=this.opts.addUsedSchema){let J,{schemaId:G}=this.opts;if(typeof Q=="object")J=Q[G];else if(this.opts.jtd)throw Error("schema must be object");else if(typeof Q!="boolean")throw Error("schema must be object or boolean");let H=this._cache.get(Q);if(H!==void 0)return H;X=(0,i4.normalizeId)(J||X);let B=i4.getSchemaRefs.call(this,Q,X);if(H=new d4.SchemaEnv({schema:Q,schemaId:G,meta:Y,baseId:X,localRefs:B}),this._cache.set(H.schema,H),$&&!X.startsWith("#")){if(X)this._checkUnique(X);this.refs[X]=H}if(W)this.validateSchema(Q,!0);return H}_checkUnique(Q){if(this.schemas[Q]||this.refs[Q])throw Error(`schema with key or id "${Q}" already exists`)}_compileSchemaEnv(Q){if(Q.meta)this._compileMetaSchema(Q);else d4.compileSchema.call(this,Q);if(!Q.validate)throw Error("ajv implementation error");return Q.validate}_compileMetaSchema(Q){let Y=this.opts;this.opts=this._metaOpts;try{d4.compileSchema.call(this,Q)}finally{this.opts=Y}}}VX.ValidationError=cv.default;VX.MissingRefError=jL.default;F6.default=VX;function OL(Q,Y,X,W="error"){for(let $ in Q){let J=$;if(J in Y)this.logger[W](`${X}: option ${$}. ${Q[J]}`)}}function UL(Q){return Q=(0,i4.normalizeId)(Q),this.schemas[Q]||this.refs[Q]}function sv(){let Q=this.opts.schemas;if(!Q)return;if(Array.isArray(Q))this.addSchema(Q);else for(let Y in Q)this.addSchema(Q[Y],Y)}function ev(){for(let Q in this.opts.formats){let Y=this.opts.formats[Q];if(Y)this.addFormat(Q,Y)}}function Qx(Q){if(Array.isArray(Q)){this.addVocabulary(Q);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let Y in Q){let X=Q[Y];if(!X.keyword)X.keyword=Y;this.addKeyword(X)}}function Yx(){let Q={...this.opts};for(let Y of nv)delete Q[Y];return Q}var Xx={log(){},warn(){},error(){}};function Wx(Q){if(Q===!1)return Xx;if(Q===void 0)return console;if(Q.log&&Q.warn&&Q.error)return Q;throw Error("logger must implement log, warn and error methods")}var $x=/^[a-z_$][a-z0-9_$:-]*$/i;function Jx(Q,Y){let{RULES:X}=this;if((0,MJ.eachItem)(Q,(W)=>{if(X.keywords[W])throw Error(`Keyword ${W} is already defined`);if(!$x.test(W))throw Error(`Keyword ${W} has invalid name`)}),!Y)return;if(Y.$data&&!(("code"in Y)||("validate"in Y)))throw Error('$data keyword must have "code" or "validate" function')}function qJ(Q,Y,X){var W;let $=Y===null||Y===void 0?void 0:Y.post;if(X&&$)throw Error('keyword with "post" flag cannot have "type"');let{RULES:J}=this,G=$?J.post:J.rules.find(({type:B})=>B===X);if(!G)G={type:X,rules:[]},J.rules.push(G);if(J.keywords[Q]=!0,!Y)return;let H={keyword:Q,definition:{...Y,type:(0,KX.getJSONTypes)(Y.type),schemaType:(0,KX.getJSONTypes)(Y.schemaType)}};if(Y.before)Gx.call(this,G,H,Y.before);else G.rules.push(H);J.all[Q]=H,(W=Y.implements)===null||W===void 0||W.forEach((B)=>this.addKeyword(B))}function Gx(Q,Y,X){let W=Q.rules.findIndex(($)=>$.keyword===X);if(W>=0)Q.rules.splice(W,0,Y);else Q.rules.push(Y),this.logger.warn(`rule ${X} is not defined`)}function Hx(Q){let{metaSchema:Y}=Q;if(Y===void 0)return;if(Q.$data&&this.opts.$data)Y=NL(Y);Q.validateSchema=this.compile(Y,!0)}var Bx={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function NL(Q){return{anyOf:[Q,Bx]}}});var bL=w((ML)=>{Object.defineProperty(ML,"__esModule",{value:!0});var Vx={keyword:"id",code(){throw Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};ML.default=Vx});var IL=w((EL)=>{Object.defineProperty(EL,"__esModule",{value:!0});EL.callRef=EL.getValidate=void 0;var Ax=c4(),ZL=L1(),H1=n(),D8=K6(),PL=zX(),FX=$0(),Dx={keyword:"$ref",schemaType:"string",code(Q){let{gen:Y,schema:X,it:W}=Q,{baseId:$,schemaEnv:J,validateName:G,opts:H,self:B}=W,{root:z}=J;if((X==="#"||X==="#/")&&$===z.baseId)return V();let K=PL.resolveRef.call(B,z,$,X);if(K===void 0)throw new Ax.default(W.opts.uriResolver,$,X);if(K instanceof PL.SchemaEnv)return F(K);return A(K);function V(){if(J===z)return AX(Q,G,J,J.$async);let D=Y.scopeValue("root",{ref:z});return AX(Q,H1._`${D}.validate`,z,z.$async)}function F(D){let L=RL(Q,D);AX(Q,L,D,D.$async)}function A(D){let L=Y.scopeValue("schema",H.code.source===!0?{ref:D,code:(0,H1.stringify)(D)}:{ref:D}),O=Y.name("valid"),U=Q.subschema({schema:D,dataTypes:[],schemaPath:H1.nil,topSchemaRef:L,errSchemaPath:X},O);Q.mergeEvaluated(U),Q.ok(O)}}};function RL(Q,Y){let{gen:X}=Q;return Y.validate?X.scopeValue("validate",{ref:Y.validate}):H1._`${X.scopeValue("wrapper",{ref:Y})}.validate`}EL.getValidate=RL;function AX(Q,Y,X,W){let{gen:$,it:J}=Q,{allErrors:G,schemaEnv:H,opts:B}=J,z=B.passContext?D8.default.this:H1.nil;if(W)K();else V();function K(){if(!H.$async)throw Error("async schema referenced by sync schema");let D=$.let("valid");$.try(()=>{if($.code(H1._`await ${(0,ZL.callValidateCode)(Q,Y,z)}`),A(Y),!G)$.assign(D,!0)},(L)=>{if($.if(H1._`!(${L} instanceof ${J.ValidationError})`,()=>$.throw(L)),F(L),!G)$.assign(D,!1)}),Q.ok(D)}function V(){Q.result((0,ZL.callValidateCode)(Q,Y,z),()=>A(Y),()=>F(Y))}function F(D){let L=H1._`${D}.errors`;$.assign(D8.default.vErrors,H1._`${D8.default.vErrors} === null ? ${L} : ${D8.default.vErrors}.concat(${L})`),$.assign(D8.default.errors,H1._`${D8.default.vErrors}.length`)}function A(D){var L;if(!J.opts.unevaluated)return;let O=(L=X===null||X===void 0?void 0:X.validate)===null||L===void 0?void 0:L.evaluated;if(J.props!==!0)if(O&&!O.dynamicProps){if(O.props!==void 0)J.props=FX.mergeEvaluated.props($,O.props,J.props)}else{let U=$.var("props",H1._`${D}.evaluated.props`);J.props=FX.mergeEvaluated.props($,U,J.props,H1.Name)}if(J.items!==!0)if(O&&!O.dynamicItems){if(O.items!==void 0)J.items=FX.mergeEvaluated.items($,O.items,J.items)}else{let U=$.var("items",H1._`${D}.evaluated.items`);J.items=FX.mergeEvaluated.items($,U,J.items,H1.Name)}}}EL.callRef=AX;EL.default=Dx});var CL=w((TL)=>{Object.defineProperty(TL,"__esModule",{value:!0});var Ux=bL(),jx=IL(),wx=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",Ux.default,jx.default];TL.default=wx});var _L=w((kL)=>{Object.defineProperty(kL,"__esModule",{value:!0});var DX=n(),f6=DX.operators,LX={maximum:{okStr:"<=",ok:f6.LTE,fail:f6.GT},minimum:{okStr:">=",ok:f6.GTE,fail:f6.LT},exclusiveMaximum:{okStr:"<",ok:f6.LT,fail:f6.GTE},exclusiveMinimum:{okStr:">",ok:f6.GT,fail:f6.LTE}},qx={message:({keyword:Q,schemaCode:Y})=>DX.str`must be ${LX[Q].okStr} ${Y}`,params:({keyword:Q,schemaCode:Y})=>DX._`{comparison: ${LX[Q].okStr}, limit: ${Y}}`},Mx={keyword:Object.keys(LX),type:"number",schemaType:"number",$data:!0,error:qx,code(Q){let{keyword:Y,data:X,schemaCode:W}=Q;Q.fail$data(DX._`${X} ${LX[Y].fail} ${W} || isNaN(${X})`)}};kL.default=Mx});var xL=w((vL)=>{Object.defineProperty(vL,"__esModule",{value:!0});var n4=n(),Zx={message:({schemaCode:Q})=>n4.str`must be multiple of ${Q}`,params:({schemaCode:Q})=>n4._`{multipleOf: ${Q}}`},Px={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:Zx,code(Q){let{gen:Y,data:X,schemaCode:W,it:$}=Q,J=$.opts.multipleOfPrecision,G=Y.let("res"),H=J?n4._`Math.abs(Math.round(${G}) - ${G}) > 1e-${J}`:n4._`${G} !== parseInt(${G})`;Q.fail$data(n4._`(${W} === 0 || (${G} = ${X}/${W}, ${H}))`)}};vL.default=Px});var hL=w((fL)=>{Object.defineProperty(fL,"__esModule",{value:!0});function yL(Q){let Y=Q.length,X=0,W=0,$;while(W<Y)if(X++,$=Q.charCodeAt(W++),$>=55296&&$<=56319&&W<Y){if($=Q.charCodeAt(W),($&64512)===56320)W++}return X}fL.default=yL;yL.code='require("ajv/dist/runtime/ucs2length").default'});var uL=w((gL)=>{Object.defineProperty(gL,"__esModule",{value:!0});var w9=n(),Sx=$0(),Ix=hL(),Tx={message({keyword:Q,schemaCode:Y}){let X=Q==="maxLength"?"more":"fewer";return w9.str`must NOT have ${X} than ${Y} characters`},params:({schemaCode:Q})=>w9._`{limit: ${Q}}`},Cx={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:Tx,code(Q){let{keyword:Y,data:X,schemaCode:W,it:$}=Q,J=Y==="maxLength"?w9.operators.GT:w9.operators.LT,G=$.opts.unicode===!1?w9._`${X}.length`:w9._`${(0,Sx.useFunc)(Q.gen,Ix.default)}(${X})`;Q.fail$data(w9._`${G} ${J} ${W}`)}};gL.default=Cx});var mL=w((lL)=>{Object.defineProperty(lL,"__esModule",{value:!0});var _x=L1(),OX=n(),vx={message:({schemaCode:Q})=>OX.str`must match pattern "${Q}"`,params:({schemaCode:Q})=>OX._`{pattern: ${Q}}`},xx={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:vx,code(Q){let{data:Y,$data:X,schema:W,schemaCode:$,it:J}=Q,G=J.opts.unicodeRegExp?"u":"",H=X?OX._`(new RegExp(${$}, ${G}))`:(0,_x.usePattern)(Q,W);Q.fail$data(OX._`!${H}.test(${Y})`)}};lL.default=xx});var pL=w((cL)=>{Object.defineProperty(cL,"__esModule",{value:!0});var o4=n(),fx={message({keyword:Q,schemaCode:Y}){let X=Q==="maxProperties"?"more":"fewer";return o4.str`must NOT have ${X} than ${Y} properties`},params:({schemaCode:Q})=>o4._`{limit: ${Q}}`},hx={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:fx,code(Q){let{keyword:Y,data:X,schemaCode:W}=Q,$=Y==="maxProperties"?o4.operators.GT:o4.operators.LT;Q.fail$data(o4._`Object.keys(${X}).length ${$} ${W}`)}};cL.default=hx});var iL=w((dL)=>{Object.defineProperty(dL,"__esModule",{value:!0});var r4=L1(),a4=n(),ux=$0(),lx={message:({params:{missingProperty:Q}})=>a4.str`must have required property '${Q}'`,params:({params:{missingProperty:Q}})=>a4._`{missingProperty: ${Q}}`},mx={keyword:"required",type:"object",schemaType:"array",$data:!0,error:lx,code(Q){let{gen:Y,schema:X,schemaCode:W,data:$,$data:J,it:G}=Q,{opts:H}=G;if(!J&&X.length===0)return;let B=X.length>=H.loopRequired;if(G.allErrors)z();else K();if(H.strictRequired){let A=Q.parentSchema.properties,{definedProperties:D}=Q.it;for(let L of X)if((A===null||A===void 0?void 0:A[L])===void 0&&!D.has(L)){let O=G.schemaEnv.baseId+G.errSchemaPath,U=`required property "${L}" is not defined at "${O}" (strictRequired)`;(0,ux.checkStrictMode)(G,U,G.opts.strictRequired)}}function z(){if(B||J)Q.block$data(a4.nil,V);else for(let A of X)(0,r4.checkReportMissingProp)(Q,A)}function K(){let A=Y.let("missing");if(B||J){let D=Y.let("valid",!0);Q.block$data(D,()=>F(A,D)),Q.ok(D)}else Y.if((0,r4.checkMissingProp)(Q,X,A)),(0,r4.reportMissingProp)(Q,A),Y.else()}function V(){Y.forOf("prop",W,(A)=>{Q.setParams({missingProperty:A}),Y.if((0,r4.noPropertyInData)(Y,$,A,H.ownProperties),()=>Q.error())})}function F(A,D){Q.setParams({missingProperty:A}),Y.forOf(A,W,()=>{Y.assign(D,(0,r4.propertyInData)(Y,$,A,H.ownProperties)),Y.if((0,a4.not)(D),()=>{Q.error(),Y.break()})},a4.nil)}}};dL.default=mx});var oL=w((nL)=>{Object.defineProperty(nL,"__esModule",{value:!0});var t4=n(),px={message({keyword:Q,schemaCode:Y}){let X=Q==="maxItems"?"more":"fewer";return t4.str`must NOT have ${X} than ${Y} items`},params:({schemaCode:Q})=>t4._`{limit: ${Q}}`},dx={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:px,code(Q){let{keyword:Y,data:X,schemaCode:W}=Q,$=Y==="maxItems"?t4.operators.GT:t4.operators.LT;Q.fail$data(t4._`${X}.length ${$} ${W}`)}};nL.default=dx});var UX=w((aL)=>{Object.defineProperty(aL,"__esModule",{value:!0});var rL=O4();rL.code='require("ajv/dist/runtime/equal").default';aL.default=rL});var sL=w((tL)=>{Object.defineProperty(tL,"__esModule",{value:!0});var bJ=h4(),h0=n(),ox=$0(),rx=UX(),ax={message:({params:{i:Q,j:Y}})=>h0.str`must NOT have duplicate items (items ## ${Y} and ${Q} are identical)`,params:({params:{i:Q,j:Y}})=>h0._`{i: ${Q}, j: ${Y}}`},tx={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:ax,code(Q){let{gen:Y,data:X,$data:W,schema:$,parentSchema:J,schemaCode:G,it:H}=Q;if(!W&&!$)return;let B=Y.let("valid"),z=J.items?(0,bJ.getSchemaTypes)(J.items):[];Q.block$data(B,K,h0._`${G} === false`),Q.ok(B);function K(){let D=Y.let("i",h0._`${X}.length`),L=Y.let("j");Q.setParams({i:D,j:L}),Y.assign(B,!0),Y.if(h0._`${D} > 1`,()=>(V()?F:A)(D,L))}function V(){return z.length>0&&!z.some((D)=>D==="object"||D==="array")}function F(D,L){let O=Y.name("item"),U=(0,bJ.checkDataTypes)(z,O,H.opts.strictNumbers,bJ.DataType.Wrong),N=Y.const("indices",h0._`{}`);Y.for(h0._`;${D}--;`,()=>{if(Y.let(O,h0._`${X}[${D}]`),Y.if(U,h0._`continue`),z.length>1)Y.if(h0._`typeof ${O} == "string"`,h0._`${O} += "_"`);Y.if(h0._`typeof ${N}[${O}] == "number"`,()=>{Y.assign(L,h0._`${N}[${O}]`),Q.error(),Y.assign(B,!1).break()}).code(h0._`${N}[${O}] = ${D}`)})}function A(D,L){let O=(0,ox.useFunc)(Y,rx.default),U=Y.name("outer");Y.label(U).for(h0._`;${D}--;`,()=>Y.for(h0._`${L} = ${D}; ${L}--;`,()=>Y.if(h0._`${O}(${X}[${D}], ${X}[${L}])`,()=>{Q.error(),Y.assign(B,!1).break(U)})))}}};tL.default=tx});var QO=w((eL)=>{Object.defineProperty(eL,"__esModule",{value:!0});var ZJ=n(),ex=$0(),Qy=UX(),Yy={message:"must be equal to constant",params:({schemaCode:Q})=>ZJ._`{allowedValue: ${Q}}`},Xy={keyword:"const",$data:!0,error:Yy,code(Q){let{gen:Y,data:X,$data:W,schemaCode:$,schema:J}=Q;if(W||J&&typeof J=="object")Q.fail$data(ZJ._`!${(0,ex.useFunc)(Y,Qy.default)}(${X}, ${$})`);else Q.fail(ZJ._`${J} !== ${X}`)}};eL.default=Xy});var XO=w((YO)=>{Object.defineProperty(YO,"__esModule",{value:!0});var s4=n(),$y=$0(),Jy=UX(),Gy={message:"must be equal to one of the allowed values",params:({schemaCode:Q})=>s4._`{allowedValues: ${Q}}`},Hy={keyword:"enum",schemaType:"array",$data:!0,error:Gy,code(Q){let{gen:Y,data:X,$data:W,schema:$,schemaCode:J,it:G}=Q;if(!W&&$.length===0)throw Error("enum must have non-empty array");let H=$.length>=G.opts.loopEnum,B,z=()=>B!==null&&B!==void 0?B:B=(0,$y.useFunc)(Y,Jy.default),K;if(H||W)K=Y.let("valid"),Q.block$data(K,V);else{if(!Array.isArray($))throw Error("ajv implementation error");let A=Y.const("vSchema",J);K=(0,s4.or)(...$.map((D,L)=>F(A,L)))}Q.pass(K);function V(){Y.assign(K,!1),Y.forOf("v",J,(A)=>Y.if(s4._`${z()}(${X}, ${A})`,()=>Y.assign(K,!0).break()))}function F(A,D){let L=$[D];return typeof L==="object"&&L!==null?s4._`${z()}(${X}, ${A}[${D}])`:s4._`${X} === ${L}`}}};YO.default=Hy});var $O=w((WO)=>{Object.defineProperty(WO,"__esModule",{value:!0});var zy=_L(),Ky=xL(),Vy=uL(),Fy=mL(),Ay=pL(),Dy=iL(),Ly=oL(),Oy=sL(),Uy=QO(),jy=XO(),wy=[zy.default,Ky.default,Vy.default,Fy.default,Ay.default,Dy.default,Ly.default,Oy.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},Uy.default,jy.default];WO.default=wy});var RJ=w((GO)=>{Object.defineProperty(GO,"__esModule",{value:!0});GO.validateAdditionalItems=void 0;var N9=n(),PJ=$0(),qy={message:({params:{len:Q}})=>N9.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>N9._`{limit: ${Q}}`},My={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:qy,code(Q){let{parentSchema:Y,it:X}=Q,{items:W}=Y;if(!Array.isArray(W)){(0,PJ.checkStrictMode)(X,'"additionalItems" is ignored when "items" is not an array of schemas');return}JO(Q,W)}};function JO(Q,Y){let{gen:X,schema:W,data:$,keyword:J,it:G}=Q;G.items=!0;let H=X.const("len",N9._`${$}.length`);if(W===!1)Q.setParams({len:Y.length}),Q.pass(N9._`${H} <= ${Y.length}`);else if(typeof W=="object"&&!(0,PJ.alwaysValidSchema)(G,W)){let z=X.var("valid",N9._`${H} <= ${Y.length}`);X.if((0,N9.not)(z),()=>B(z)),Q.ok(z)}function B(z){X.forRange("i",Y.length,H,(K)=>{if(Q.subschema({keyword:J,dataProp:K,dataPropType:PJ.Type.Num},z),!G.allErrors)X.if((0,N9.not)(z),()=>X.break())})}}GO.validateAdditionalItems=JO;GO.default=My});var EJ=w((KO)=>{Object.defineProperty(KO,"__esModule",{value:!0});KO.validateTuple=void 0;var BO=n(),jX=$0(),Zy=L1(),Py={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(Q){let{schema:Y,it:X}=Q;if(Array.isArray(Y))return zO(Q,"additionalItems",Y);if(X.items=!0,(0,jX.alwaysValidSchema)(X,Y))return;Q.ok((0,Zy.validateArray)(Q))}};function zO(Q,Y,X=Q.schema){let{gen:W,parentSchema:$,data:J,keyword:G,it:H}=Q;if(K($),H.opts.unevaluated&&X.length&&H.items!==!0)H.items=jX.mergeEvaluated.items(W,X.length,H.items);let B=W.name("valid"),z=W.const("len",BO._`${J}.length`);X.forEach((V,F)=>{if((0,jX.alwaysValidSchema)(H,V))return;W.if(BO._`${z} > ${F}`,()=>Q.subschema({keyword:G,schemaProp:F,dataProp:F},B)),Q.ok(B)});function K(V){let{opts:F,errSchemaPath:A}=H,D=X.length,L=D===V.minItems&&(D===V.maxItems||V[Y]===!1);if(F.strictTuples&&!L){let O=`"${G}" is ${D}-tuple, but minItems or maxItems/${Y} are not specified or different at path "${A}"`;(0,jX.checkStrictMode)(H,O,F.strictTuples)}}}KO.validateTuple=zO;KO.default=Py});var AO=w((FO)=>{Object.defineProperty(FO,"__esModule",{value:!0});var Ey=EJ(),Sy={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:(Q)=>(0,Ey.validateTuple)(Q,"items")};FO.default=Sy});var OO=w((LO)=>{Object.defineProperty(LO,"__esModule",{value:!0});var DO=n(),Ty=$0(),Cy=L1(),ky=RJ(),_y={message:({params:{len:Q}})=>DO.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>DO._`{limit: ${Q}}`},vy={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:_y,code(Q){let{schema:Y,parentSchema:X,it:W}=Q,{prefixItems:$}=X;if(W.items=!0,(0,Ty.alwaysValidSchema)(W,Y))return;if($)(0,ky.validateAdditionalItems)(Q,$);else Q.ok((0,Cy.validateArray)(Q))}};LO.default=vy});var jO=w((UO)=>{Object.defineProperty(UO,"__esModule",{value:!0});var O1=n(),wX=$0(),yy={message:({params:{min:Q,max:Y}})=>Y===void 0?O1.str`must contain at least ${Q} valid item(s)`:O1.str`must contain at least ${Q} and no more than ${Y} valid item(s)`,params:({params:{min:Q,max:Y}})=>Y===void 0?O1._`{minContains: ${Q}}`:O1._`{minContains: ${Q}, maxContains: ${Y}}`},fy={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:yy,code(Q){let{gen:Y,schema:X,parentSchema:W,data:$,it:J}=Q,G,H,{minContains:B,maxContains:z}=W;if(J.opts.next)G=B===void 0?1:B,H=z;else G=1;let K=Y.const("len",O1._`${$}.length`);if(Q.setParams({min:G,max:H}),H===void 0&&G===0){(0,wX.checkStrictMode)(J,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(H!==void 0&&G>H){(0,wX.checkStrictMode)(J,'"minContains" > "maxContains" is always invalid'),Q.fail();return}if((0,wX.alwaysValidSchema)(J,X)){let L=O1._`${K} >= ${G}`;if(H!==void 0)L=O1._`${L} && ${K} <= ${H}`;Q.pass(L);return}J.items=!0;let V=Y.name("valid");if(H===void 0&&G===1)A(V,()=>Y.if(V,()=>Y.break()));else if(G===0){if(Y.let(V,!0),H!==void 0)Y.if(O1._`${$}.length > 0`,F)}else Y.let(V,!1),F();Q.result(V,()=>Q.reset());function F(){let L=Y.name("_valid"),O=Y.let("count",0);A(L,()=>Y.if(L,()=>D(O)))}function A(L,O){Y.forRange("i",0,K,(U)=>{Q.subschema({keyword:"contains",dataProp:U,dataPropType:wX.Type.Num,compositeRule:!0},L),O()})}function D(L){if(Y.code(O1._`${L}++`),H===void 0)Y.if(O1._`${L} >= ${G}`,()=>Y.assign(V,!0).break());else if(Y.if(O1._`${L} > ${H}`,()=>Y.assign(V,!1).break()),G===1)Y.assign(V,!0);else Y.if(O1._`${L} >= ${G}`,()=>Y.assign(V,!0))}}};UO.default=fy});var ZO=w((qO)=>{Object.defineProperty(qO,"__esModule",{value:!0});qO.validateSchemaDeps=qO.validatePropertyDeps=qO.error=void 0;var SJ=n(),gy=$0(),e4=L1();qO.error={message:({params:{property:Q,depsCount:Y,deps:X}})=>{let W=Y===1?"property":"properties";return SJ.str`must have ${W} ${X} when property ${Q} is present`},params:({params:{property:Q,depsCount:Y,deps:X,missingProperty:W}})=>SJ._`{property: ${Q},
14
14
  missingProperty: ${W},
15
- depsCount: ${X},
16
- deps: ${Y}}`};var Uy={keyword:"dependencies",type:"object",schemaType:"object",error:HO.error,code(Q){let[X,Y]=jy(Q);JO(Q,X),GO(Q,Y)}};function jy({schema:Q}){let X={},Y={};for(let W in Q){if(W==="__proto__")continue;let $=Array.isArray(Q[W])?X:Y;$[W]=Q[W]}return[X,Y]}function JO(Q,X=Q.schema){let{gen:Y,data:W,it:$}=Q;if(Object.keys(X).length===0)return;let J=Y.let("missing");for(let G in X){let H=X[G];if(H.length===0)continue;let B=(0,r4.propertyInData)(Y,W,G,$.opts.ownProperties);if(Q.setParams({property:G,depsCount:H.length,deps:H.join(", ")}),$.allErrors)Y.if(B,()=>{for(let z of H)(0,r4.checkReportMissingProp)(Q,z)});else Y.if(qJ._`${B} && (${(0,r4.checkMissingProp)(Q,H,J)})`),(0,r4.reportMissingProp)(Q,J),Y.else()}}HO.validatePropertyDeps=JO;function GO(Q,X=Q.schema){let{gen:Y,data:W,keyword:$,it:J}=Q,G=Y.name("valid");for(let H in X){if((0,Oy.alwaysValidSchema)(J,X[H]))continue;Y.if((0,r4.propertyInData)(Y,W,H,J.opts.ownProperties),()=>{let B=Q.subschema({keyword:$,schemaProp:H},G);Q.mergeValidEvaluated(B,G)},()=>Y.var(G,!0)),Q.ok(G)}}HO.validateSchemaDeps=GO;HO.default=Uy});var FO=N((AO)=>{Object.defineProperty(AO,"__esModule",{value:!0});var VO=n(),wy=$0(),My={message:"property name must be valid",params:({params:Q})=>VO._`{propertyName: ${Q.propertyName}}`},by={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:My,code(Q){let{gen:X,schema:Y,data:W,it:$}=Q;if((0,wy.alwaysValidSchema)($,Y))return;let J=X.name("valid");X.forIn("key",W,(G)=>{Q.setParams({propertyName:G}),Q.subschema({keyword:"propertyNames",data:G,dataTypes:["string"],propertyName:G,compositeRule:!0},J),X.if((0,VO.not)(J),()=>{if(Q.error(!0),!$.allErrors)X.break()})}),Q.ok(J)}};AO.default=by});var wJ=N((DO)=>{Object.defineProperty(DO,"__esModule",{value:!0});var OY=L1(),y1=n(),Zy=K6(),UY=$0(),Ry={message:"must NOT have additional properties",params:({params:Q})=>y1._`{additionalProperty: ${Q.additionalProperty}}`},Ey={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:Ry,code(Q){let{gen:X,schema:Y,parentSchema:W,data:$,errsCount:J,it:G}=Q;if(!J)throw Error("ajv implementation error");let{allErrors:H,opts:B}=G;if(G.props=!0,B.removeAdditional!=="all"&&(0,UY.alwaysValidSchema)(G,Y))return;let z=(0,OY.allSchemaProperties)(W.properties),K=(0,OY.allSchemaProperties)(W.patternProperties);V(),Q.ok(y1._`${J} === ${Zy.default.errors}`);function V(){X.forIn("key",$,(O)=>{if(!z.length&&!K.length)L(O);else X.if(A(O),()=>L(O))})}function A(O){let U;if(z.length>8){let w=(0,UY.schemaRefOrVal)(G,W.properties,"properties");U=(0,OY.isOwnProperty)(X,w,O)}else if(z.length)U=(0,y1.or)(...z.map((w)=>y1._`${O} === ${w}`));else U=y1.nil;if(K.length)U=(0,y1.or)(U,...K.map((w)=>y1._`${(0,OY.usePattern)(Q,w)}.test(${O})`));return(0,y1.not)(U)}function F(O){X.code(y1._`delete ${$}[${O}]`)}function L(O){if(B.removeAdditional==="all"||B.removeAdditional&&Y===!1){F(O);return}if(Y===!1){if(Q.setParams({additionalProperty:O}),Q.error(),!H)X.break();return}if(typeof Y=="object"&&!(0,UY.alwaysValidSchema)(G,Y)){let U=X.name("valid");if(B.removeAdditional==="failing")D(O,U,!1),X.if((0,y1.not)(U),()=>{Q.reset(),F(O)});else if(D(O,U),!H)X.if((0,y1.not)(U),()=>X.break())}}function D(O,U,w){let M={keyword:"additionalProperties",dataProp:O,dataPropType:UY.Type.Str};if(w===!1)Object.assign(M,{compositeRule:!0,createErrors:!1,allErrors:!1});Q.subschema(M,U)}}};DO.default=Ey});var jO=N((UO)=>{Object.defineProperty(UO,"__esModule",{value:!0});var Iy=g4(),LO=L1(),MJ=$0(),OO=wJ(),Ty={keyword:"properties",type:"object",schemaType:"object",code(Q){let{gen:X,schema:Y,parentSchema:W,data:$,it:J}=Q;if(J.opts.removeAdditional==="all"&&W.additionalProperties===void 0)OO.default.code(new Iy.KeywordCxt(J,OO.default,"additionalProperties"));let G=(0,LO.allSchemaProperties)(Y);for(let V of G)J.definedProperties.add(V);if(J.opts.unevaluated&&G.length&&J.props!==!0)J.props=MJ.mergeEvaluated.props(X,(0,MJ.toHash)(G),J.props);let H=G.filter((V)=>!(0,MJ.alwaysValidSchema)(J,Y[V]));if(H.length===0)return;let B=X.name("valid");for(let V of H){if(z(V))K(V);else{if(X.if((0,LO.propertyInData)(X,$,V,J.opts.ownProperties)),K(V),!J.allErrors)X.else().var(B,!0);X.endIf()}Q.it.definedProperties.add(V),Q.ok(B)}function z(V){return J.opts.useDefaults&&!J.compositeRule&&Y[V].default!==void 0}function K(V){Q.subschema({keyword:"properties",schemaProp:V,dataProp:V},B)}}};UO.default=Ty});var bO=N((MO)=>{Object.defineProperty(MO,"__esModule",{value:!0});var NO=L1(),jY=n(),qO=$0(),wO=$0(),ky={keyword:"patternProperties",type:"object",schemaType:"object",code(Q){let{gen:X,schema:Y,data:W,parentSchema:$,it:J}=Q,{opts:G}=J,H=(0,NO.allSchemaProperties)(Y),B=H.filter((D)=>(0,qO.alwaysValidSchema)(J,Y[D]));if(H.length===0||B.length===H.length&&(!J.opts.unevaluated||J.props===!0))return;let z=G.strictSchema&&!G.allowMatchingProperties&&$.properties,K=X.name("valid");if(J.props!==!0&&!(J.props instanceof jY.Name))J.props=(0,wO.evaluatedPropsToName)(X,J.props);let{props:V}=J;A();function A(){for(let D of H){if(z)F(D);if(J.allErrors)L(D);else X.var(K,!0),L(D),X.if(K)}}function F(D){for(let O in z)if(new RegExp(D).test(O))(0,qO.checkStrictMode)(J,`property ${O} matches pattern ${D} (use allowMatchingProperties)`)}function L(D){X.forIn("key",W,(O)=>{X.if(jY._`${(0,NO.usePattern)(Q,D)}.test(${O})`,()=>{let U=B.includes(D);if(!U)Q.subschema({keyword:"patternProperties",schemaProp:D,dataProp:O,dataPropType:wO.Type.Str},K);if(J.opts.unevaluated&&V!==!0)X.assign(jY._`${V}[${O}]`,!0);else if(!U&&!J.allErrors)X.if((0,jY.not)(K),()=>X.break())})})}}};MO.default=ky});var ZO=N((PO)=>{Object.defineProperty(PO,"__esModule",{value:!0});var _y=$0(),xy={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(Q){let{gen:X,schema:Y,it:W}=Q;if((0,_y.alwaysValidSchema)(W,Y)){Q.fail();return}let $=X.name("valid");Q.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},$),Q.failResult($,()=>Q.reset(),()=>Q.error())},error:{message:"must NOT be valid"}};PO.default=xy});var EO=N((RO)=>{Object.defineProperty(RO,"__esModule",{value:!0});var fy=L1(),gy={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:fy.validateUnion,error:{message:"must match a schema in anyOf"}};RO.default=gy});var IO=N((SO)=>{Object.defineProperty(SO,"__esModule",{value:!0});var NY=n(),uy=$0(),ly={message:"must match exactly one schema in oneOf",params:({params:Q})=>NY._`{passingSchemas: ${Q.passing}}`},my={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:ly,code(Q){let{gen:X,schema:Y,parentSchema:W,it:$}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");if($.opts.discriminator&&W.discriminator)return;let J=Y,G=X.let("valid",!1),H=X.let("passing",null),B=X.name("_valid");Q.setParams({passing:H}),X.block(z),Q.result(G,()=>Q.reset(),()=>Q.error(!0));function z(){J.forEach((K,V)=>{let A;if((0,uy.alwaysValidSchema)($,K))X.var(B,!0);else A=Q.subschema({keyword:"oneOf",schemaProp:V,compositeRule:!0},B);if(V>0)X.if(NY._`${B} && ${G}`).assign(G,!1).assign(H,NY._`[${H}, ${V}]`).else();X.if(B,()=>{if(X.assign(G,!0),X.assign(H,V),A)Q.mergeEvaluated(A,NY.Name)})})}}};SO.default=my});var CO=N((TO)=>{Object.defineProperty(TO,"__esModule",{value:!0});var py=$0(),dy={keyword:"allOf",schemaType:"array",code(Q){let{gen:X,schema:Y,it:W}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");let $=X.name("valid");Y.forEach((J,G)=>{if((0,py.alwaysValidSchema)(W,J))return;let H=Q.subschema({keyword:"allOf",schemaProp:G},$);Q.ok($),Q.mergeEvaluated(H)})}};TO.default=dy});var xO=N((_O)=>{Object.defineProperty(_O,"__esModule",{value:!0});var qY=n(),vO=$0(),ny={message:({params:Q})=>qY.str`must match "${Q.ifClause}" schema`,params:({params:Q})=>qY._`{failingKeyword: ${Q.ifClause}}`},oy={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:ny,code(Q){let{gen:X,parentSchema:Y,it:W}=Q;if(Y.then===void 0&&Y.else===void 0)(0,vO.checkStrictMode)(W,'"if" without "then" and "else" is ignored');let $=kO(W,"then"),J=kO(W,"else");if(!$&&!J)return;let G=X.let("valid",!0),H=X.name("_valid");if(B(),Q.reset(),$&&J){let K=X.let("ifClause");Q.setParams({ifClause:K}),X.if(H,z("then",K),z("else",K))}else if($)X.if(H,z("then"));else X.if((0,qY.not)(H),z("else"));Q.pass(G,()=>Q.error(!0));function B(){let K=Q.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},H);Q.mergeEvaluated(K)}function z(K,V){return()=>{let A=Q.subschema({keyword:K},H);if(X.assign(G,H),Q.mergeValidEvaluated(A,G),V)X.assign(V,qY._`${K}`);else Q.setParams({ifClause:K})}}}};function kO(Q,X){let Y=Q.schema[X];return Y!==void 0&&!(0,vO.alwaysValidSchema)(Q,Y)}_O.default=oy});var fO=N((yO)=>{Object.defineProperty(yO,"__esModule",{value:!0});var ty=$0(),ay={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:Q,parentSchema:X,it:Y}){if(X.if===void 0)(0,ty.checkStrictMode)(Y,`"${Q}" without "if" is ignored`)}};yO.default=ay});var hO=N((gO)=>{Object.defineProperty(gO,"__esModule",{value:!0});var ey=jJ(),Qf=eL(),Xf=NJ(),Yf=YO(),Wf=$O(),$f=KO(),Jf=FO(),Gf=wJ(),Hf=jO(),Bf=bO(),zf=ZO(),Kf=EO(),Vf=IO(),Af=CO(),Ff=xO(),Df=fO();function Lf(Q=!1){let X=[zf.default,Kf.default,Vf.default,Af.default,Ff.default,Df.default,Jf.default,Gf.default,$f.default,Hf.default,Bf.default];if(Q)X.push(Qf.default,Yf.default);else X.push(ey.default,Xf.default);return X.push(Wf.default),X}gO.default=Lf});var lO=N((uO)=>{Object.defineProperty(uO,"__esModule",{value:!0});var R0=n(),Uf={message:({schemaCode:Q})=>R0.str`must match format "${Q}"`,params:({schemaCode:Q})=>R0._`{format: ${Q}}`},jf={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:Uf,code(Q,X){let{gen:Y,data:W,$data:$,schema:J,schemaCode:G,it:H}=Q,{opts:B,errSchemaPath:z,schemaEnv:K,self:V}=H;if(!B.validateFormats)return;if($)A();else F();function A(){let L=Y.scopeValue("formats",{ref:V.formats,code:B.code.formats}),D=Y.const("fDef",R0._`${L}[${G}]`),O=Y.let("fType"),U=Y.let("format");Y.if(R0._`typeof ${D} == "object" && !(${D} instanceof RegExp)`,()=>Y.assign(O,R0._`${D}.type || "string"`).assign(U,R0._`${D}.validate`),()=>Y.assign(O,R0._`"string"`).assign(U,D)),Q.fail$data((0,R0.or)(w(),M()));function w(){if(B.strictSchema===!1)return R0.nil;return R0._`${G} && !${U}`}function M(){let S=K.$async?R0._`(${D}.async ? await ${U}(${W}) : ${U}(${W}))`:R0._`${U}(${W})`,Z=R0._`(typeof ${U} == "function" ? ${S} : ${U}.test(${W}))`;return R0._`${U} && ${U} !== true && ${O} === ${X} && !${Z}`}}function F(){let L=V.formats[J];if(!L){w();return}if(L===!0)return;let[D,O,U]=M(L);if(D===X)Q.pass(S());function w(){if(B.strictSchema===!1){V.logger.warn(Z());return}throw Error(Z());function Z(){return`unknown format "${J}" ignored in schema at path "${z}"`}}function M(Z){let V0=Z instanceof RegExp?(0,R0.regexpCode)(Z):B.code.formats?R0._`${B.code.formats}${(0,R0.getProperty)(J)}`:void 0,P0=Y.scopeValue("formats",{key:J,ref:Z,code:V0});if(typeof Z=="object"&&!(Z instanceof RegExp))return[Z.type||"string",Z.validate,R0._`${P0}.validate`];return["string",Z,P0]}function S(){if(typeof L=="object"&&!(L instanceof RegExp)&&L.async){if(!K.$async)throw Error("async format in sync schema");return R0._`await ${U}(${W})`}return typeof O=="function"?R0._`${U}(${W})`:R0._`${U}.test(${W})`}}}};uO.default=jf});var cO=N((mO)=>{Object.defineProperty(mO,"__esModule",{value:!0});var qf=lO(),wf=[qf.default];mO.default=wf});var iO=N((pO)=>{Object.defineProperty(pO,"__esModule",{value:!0});pO.contentVocabulary=pO.metadataVocabulary=void 0;pO.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];pO.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var rO=N((oO)=>{Object.defineProperty(oO,"__esModule",{value:!0});var Pf=UL(),Zf=pL(),Rf=hO(),Ef=cO(),nO=iO(),Sf=[Pf.default,Zf.default,(0,Rf.default)(),Ef.default,nO.metadataVocabulary,nO.contentVocabulary];oO.default=Sf});var eO=N((aO)=>{Object.defineProperty(aO,"__esModule",{value:!0});aO.DiscrError=void 0;var tO;(function(Q){Q.Tag="tag",Q.Mapping="mapping"})(tO||(aO.DiscrError=tO={}))});var YU=N((XU)=>{Object.defineProperty(XU,"__esModule",{value:!0});var A8=n(),bJ=eO(),QU=JY(),Tf=h4(),Cf=$0(),kf={message:({params:{discrError:Q,tagName:X}})=>Q===bJ.DiscrError.Tag?`tag "${X}" must be string`:`value of tag "${X}" must be in oneOf`,params:({params:{discrError:Q,tag:X,tagName:Y}})=>A8._`{error: ${Q}, tag: ${Y}, tagValue: ${X}}`},vf={keyword:"discriminator",type:"object",schemaType:"object",error:kf,code(Q){let{gen:X,data:Y,schema:W,parentSchema:$,it:J}=Q,{oneOf:G}=$;if(!J.opts.discriminator)throw Error("discriminator: requires discriminator option");let H=W.propertyName;if(typeof H!="string")throw Error("discriminator: requires propertyName");if(W.mapping)throw Error("discriminator: mapping is not supported");if(!G)throw Error("discriminator: requires oneOf keyword");let B=X.let("valid",!1),z=X.const("tag",A8._`${Y}${(0,A8.getProperty)(H)}`);X.if(A8._`typeof ${z} == "string"`,()=>K(),()=>Q.error(!1,{discrError:bJ.DiscrError.Tag,tag:z,tagName:H})),Q.ok(B);function K(){let F=A();X.if(!1);for(let L in F)X.elseIf(A8._`${z} === ${L}`),X.assign(B,V(F[L]));X.else(),Q.error(!1,{discrError:bJ.DiscrError.Mapping,tag:z,tagName:H}),X.endIf()}function V(F){let L=X.name("valid"),D=Q.subschema({keyword:"oneOf",schemaProp:F},L);return Q.mergeEvaluated(D,A8.Name),L}function A(){var F;let L={},D=U($),O=!0;for(let S=0;S<G.length;S++){let Z=G[S];if((Z===null||Z===void 0?void 0:Z.$ref)&&!(0,Cf.schemaHasRulesButRef)(Z,J.self.RULES)){let P0=Z.$ref;if(Z=QU.resolveRef.call(J.self,J.schemaEnv.root,J.baseId,P0),Z instanceof QU.SchemaEnv)Z=Z.schema;if(Z===void 0)throw new Tf.default(J.opts.uriResolver,J.baseId,P0)}let V0=(F=Z===null||Z===void 0?void 0:Z.properties)===null||F===void 0?void 0:F[H];if(typeof V0!="object")throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${H}"`);O=O&&(D||U(Z)),w(V0,S)}if(!O)throw Error(`discriminator: "${H}" must be required`);return L;function U({required:S}){return Array.isArray(S)&&S.includes(H)}function w(S,Z){if(S.const)M(S.const,Z);else if(S.enum)for(let V0 of S.enum)M(V0,Z);else throw Error(`discriminator: "properties/${H}" must have "const" or "enum"`)}function M(S,Z){if(typeof S!="string"||S in L)throw Error(`discriminator: "${H}" values must be unique strings`);L[S]=Z}}}};XU.default=vf});var WU=N((jo,xf)=>{xf.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 JU=N((B1,PJ)=>{Object.defineProperty(B1,"__esModule",{value:!0});B1.MissingRefError=B1.ValidationError=B1.CodeGen=B1.Name=B1.nil=B1.stringify=B1.str=B1._=B1.KeywordCxt=B1.Ajv=void 0;var yf=HL(),ff=rO(),gf=YU(),$U=WU(),hf=["/properties"],wY="http://json-schema.org/draft-07/schema";class t4 extends yf.default{_addVocabularies(){if(super._addVocabularies(),ff.default.forEach((Q)=>this.addVocabulary(Q)),this.opts.discriminator)this.addKeyword(gf.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let Q=this.opts.$data?this.$dataMetaSchema($U,hf):$U;this.addMetaSchema(Q,wY,!1),this.refs["http://json-schema.org/schema"]=wY}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(wY)?wY:void 0)}}B1.Ajv=t4;PJ.exports=B1=t4;PJ.exports.Ajv=t4;Object.defineProperty(B1,"__esModule",{value:!0});B1.default=t4;var uf=g4();Object.defineProperty(B1,"KeywordCxt",{enumerable:!0,get:function(){return uf.KeywordCxt}});var F8=n();Object.defineProperty(B1,"_",{enumerable:!0,get:function(){return F8._}});Object.defineProperty(B1,"str",{enumerable:!0,get:function(){return F8.str}});Object.defineProperty(B1,"stringify",{enumerable:!0,get:function(){return F8.stringify}});Object.defineProperty(B1,"nil",{enumerable:!0,get:function(){return F8.nil}});Object.defineProperty(B1,"Name",{enumerable:!0,get:function(){return F8.Name}});Object.defineProperty(B1,"CodeGen",{enumerable:!0,get:function(){return F8.CodeGen}});var lf=WY();Object.defineProperty(B1,"ValidationError",{enumerable:!0,get:function(){return lf.default}});var mf=h4();Object.defineProperty(B1,"MissingRefError",{enumerable:!0,get:function(){return mf.default}})});var HU=N((GU)=>{Object.defineProperty(GU,"__esModule",{value:!0});GU.formatLimitDefinition=void 0;var df=JU(),f1=n(),f6=f1.operators,MY={formatMaximum:{okStr:"<=",ok:f6.LTE,fail:f6.GT},formatMinimum:{okStr:">=",ok:f6.GTE,fail:f6.LT},formatExclusiveMaximum:{okStr:"<",ok:f6.LT,fail:f6.GTE},formatExclusiveMinimum:{okStr:">",ok:f6.GT,fail:f6.LTE}},nf={message:({keyword:Q,schemaCode:X})=>f1.str`should be ${MY[Q].okStr} ${X}`,params:({keyword:Q,schemaCode:X})=>f1._`{comparison: ${MY[Q].okStr}, limit: ${X}}`};GU.formatLimitDefinition={keyword:Object.keys(MY),type:"string",schemaType:"string",$data:!0,error:nf,code(Q){let{gen:X,data:Y,schemaCode:W,keyword:$,it:J}=Q,{opts:G,self:H}=J;if(!G.validateFormats)return;let B=new df.KeywordCxt(J,H.RULES.all.format.definition,"format");if(B.$data)z();else K();function z(){let A=X.scopeValue("formats",{ref:H.formats,code:G.code.formats}),F=X.const("fmt",f1._`${A}[${B.schemaCode}]`);Q.fail$data((0,f1.or)(f1._`typeof ${F} != "object"`,f1._`${F} instanceof RegExp`,f1._`typeof ${F}.compare != "function"`,V(F)))}function K(){let A=B.schema,F=H.formats[A];if(!F||F===!0)return;if(typeof F!="object"||F instanceof RegExp||typeof F.compare!="function")throw Error(`"${$}": format "${A}" does not define "compare" function`);let L=X.scopeValue("formats",{key:A,ref:F,code:G.code.formats?f1._`${G.code.formats}${(0,f1.getProperty)(A)}`:void 0});Q.fail$data(V(L))}function V(A){return f1._`${A}.compare(${Y}, ${W}) ${MY[$].fail} 0`}},dependencies:["format"]};var of=(Q)=>{return Q.addKeyword(GU.formatLimitDefinition),Q};GU.default=of});var VU=N((a4,KU)=>{Object.defineProperty(a4,"__esModule",{value:!0});var D8=WF(),tf=HU(),RJ=n(),BU=new RJ.Name("fullFormats"),af=new RJ.Name("fastFormats"),EJ=(Q,X={keywords:!0})=>{if(Array.isArray(X))return zU(Q,X,D8.fullFormats,BU),Q;let[Y,W]=X.mode==="fast"?[D8.fastFormats,af]:[D8.fullFormats,BU],$=X.formats||D8.formatNames;if(zU(Q,$,Y,W),X.keywords)(0,tf.default)(Q);return Q};EJ.get=(Q,X="full")=>{let W=(X==="fast"?D8.fastFormats:D8.fullFormats)[Q];if(!W)throw Error(`Unknown format "${Q}"`);return W};function zU(Q,X,Y,W){var $,J;($=(J=Q.opts.code).formats)!==null&&$!==void 0||(J.formats=RJ._`require("ajv-formats/dist/formats").${W}`);for(let G of X)Q.addFormat(G,Y[G])}KU.exports=a4=EJ;Object.defineProperty(a4,"__esModule",{value:!0});a4.default=EJ});var tU=N((Ft,rU)=>{rU.exports=oU;oU.sync=Uh;var iU=r1("fs");function Oh(Q,X){var Y=X.pathExt!==void 0?X.pathExt:process.env.PATHEXT;if(!Y)return!0;if(Y=Y.split(";"),Y.indexOf("")!==-1)return!0;for(var W=0;W<Y.length;W++){var $=Y[W].toLowerCase();if($&&Q.substr(-$.length).toLowerCase()===$)return!0}return!1}function nU(Q,X,Y){if(!Q.isSymbolicLink()&&!Q.isFile())return!1;return Oh(X,Y)}function oU(Q,X,Y){iU.stat(Q,function(W,$){Y(W,W?!1:nU($,Q,X))})}function Uh(Q,X){return nU(iU.statSync(Q),Q,X)}});var Xj=N((Dt,Qj)=>{Qj.exports=sU;sU.sync=jh;var aU=r1("fs");function sU(Q,X,Y){aU.stat(Q,function(W,$){Y(W,W?!1:eU($,X))})}function jh(Q,X){return eU(aU.statSync(Q),X)}function eU(Q,X){return Q.isFile()&&Nh(Q,X)}function Nh(Q,X){var{mode:Y,uid:W,gid:$}=Q,J=X.uid!==void 0?X.uid:process.getuid&&process.getuid(),G=X.gid!==void 0?X.gid:process.getgid&&process.getgid(),H=parseInt("100",8),B=parseInt("010",8),z=parseInt("001",8),K=H|B,V=Y&z||Y&B&&$===G||Y&H&&W===J||Y&K&&J===0;return V}});var Wj=N((Ot,Yj)=>{var Lt=r1("fs"),dY;if(process.platform==="win32"||global.TESTING_WINDOWS)dY=tU();else dY=Xj();Yj.exports=VG;VG.sync=qh;function VG(Q,X,Y){if(typeof X==="function")Y=X,X={};if(!Y){if(typeof Promise!=="function")throw TypeError("callback not provided");return new Promise(function(W,$){VG(Q,X||{},function(J,G){if(J)$(J);else W(G)})})}dY(Q,X||{},function(W,$){if(W){if(W.code==="EACCES"||X&&X.ignoreErrors)W=null,$=!1}Y(W,$)})}function qh(Q,X){try{return dY.sync(Q,X||{})}catch(Y){if(X&&X.ignoreErrors||Y.code==="EACCES")return!1;else throw Y}}});var Kj=N((Ut,zj)=>{var P8=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",$j=r1("path"),wh=P8?";":":",Jj=Wj(),Gj=(Q)=>Object.assign(Error(`not found: ${Q}`),{code:"ENOENT"}),Hj=(Q,X)=>{let Y=X.colon||wh,W=Q.match(/\//)||P8&&Q.match(/\\/)?[""]:[...P8?[process.cwd()]:[],...(X.path||process.env.PATH||"").split(Y)],$=P8?X.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",J=P8?$.split(Y):[""];if(P8){if(Q.indexOf(".")!==-1&&J[0]!=="")J.unshift("")}return{pathEnv:W,pathExt:J,pathExtExe:$}},Bj=(Q,X,Y)=>{if(typeof X==="function")Y=X,X={};if(!X)X={};let{pathEnv:W,pathExt:$,pathExtExe:J}=Hj(Q,X),G=[],H=(z)=>new Promise((K,V)=>{if(z===W.length)return X.all&&G.length?K(G):V(Gj(Q));let A=W[z],F=/^".*"$/.test(A)?A.slice(1,-1):A,L=$j.join(F,Q),D=!F&&/^\.[\\\/]/.test(Q)?Q.slice(0,2)+L:L;K(B(D,z,0))}),B=(z,K,V)=>new Promise((A,F)=>{if(V===$.length)return A(H(K+1));let L=$[V];Jj(z+L,{pathExt:J},(D,O)=>{if(!D&&O)if(X.all)G.push(z+L);else return A(z+L);return A(B(z,K,V+1))})});return Y?H(0).then((z)=>Y(null,z),Y):H(0)},Mh=(Q,X)=>{X=X||{};let{pathEnv:Y,pathExt:W,pathExtExe:$}=Hj(Q,X),J=[];for(let G=0;G<Y.length;G++){let H=Y[G],B=/^".*"$/.test(H)?H.slice(1,-1):H,z=$j.join(B,Q),K=!B&&/^\.[\\\/]/.test(Q)?Q.slice(0,2)+z:z;for(let V=0;V<W.length;V++){let A=K+W[V];try{if(Jj.sync(A,{pathExt:$}))if(X.all)J.push(A);else return A}catch(F){}}}if(X.all&&J.length)return J;if(X.nothrow)return null;throw Gj(Q)};zj.exports=Bj;Bj.sync=Mh});var Aj=N((jt,AG)=>{var Vj=(Q={})=>{let X=Q.env||process.env;if((Q.platform||process.platform)!=="win32")return"PATH";return Object.keys(X).reverse().find((W)=>W.toUpperCase()==="PATH")||"Path"};AG.exports=Vj;AG.exports.default=Vj});var Oj=N((Nt,Lj)=>{var Fj=r1("path"),bh=Kj(),Ph=Aj();function Dj(Q,X){let Y=Q.options.env||process.env,W=process.cwd(),$=Q.options.cwd!=null,J=$&&process.chdir!==void 0&&!process.chdir.disabled;if(J)try{process.chdir(Q.options.cwd)}catch(H){}let G;try{G=bh.sync(Q.command,{path:Y[Ph({env:Y})],pathExt:X?Fj.delimiter:void 0})}catch(H){}finally{if(J)process.chdir(W)}if(G)G=Fj.resolve($?Q.options.cwd:"",G);return G}function Zh(Q){return Dj(Q)||Dj(Q,!0)}Lj.exports=Zh});var Uj=N((Sh,DG)=>{var FG=/([()\][%!^"`<>&|;, *?])/g;function Rh(Q){return Q=Q.replace(FG,"^$1"),Q}function Eh(Q,X){if(Q=`${Q}`,Q=Q.replace(/(?=(\\+?)?)\1"/g,"$1$1\\\""),Q=Q.replace(/(?=(\\+?)?)\1$/,"$1$1"),Q=`"${Q}"`,Q=Q.replace(FG,"^$1"),X)Q=Q.replace(FG,"^$1");return Q}Sh.command=Rh;Sh.argument=Eh});var Nj=N((qt,jj)=>{jj.exports=/^#!(.*)/});var wj=N((wt,qj)=>{var Ch=Nj();qj.exports=(Q="")=>{let X=Q.match(Ch);if(!X)return null;let[Y,W]=X[0].replace(/#! ?/,"").split(" "),$=Y.split("/").pop();if($==="env")return W;return W?`${$} ${W}`:$}});var bj=N((Mt,Mj)=>{var LG=r1("fs"),kh=wj();function vh(Q){let Y=Buffer.alloc(150),W;try{W=LG.openSync(Q,"r"),LG.readSync(W,Y,0,150,0),LG.closeSync(W)}catch($){}return kh(Y.toString())}Mj.exports=vh});var Ej=N((bt,Rj)=>{var _h=r1("path"),Pj=Oj(),Zj=Uj(),xh=bj(),yh=process.platform==="win32",fh=/\.(?:com|exe)$/i,gh=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function hh(Q){Q.file=Pj(Q);let X=Q.file&&xh(Q.file);if(X)return Q.args.unshift(Q.file),Q.command=X,Pj(Q);return Q.file}function uh(Q){if(!yh)return Q;let X=hh(Q),Y=!fh.test(X);if(Q.options.forceShell||Y){let W=gh.test(X);Q.command=_h.normalize(Q.command),Q.command=Zj.command(Q.command),Q.args=Q.args.map((J)=>Zj.argument(J,W));let $=[Q.command].concat(Q.args).join(" ");Q.args=["/d","/s","/c",`"${$}"`],Q.command=process.env.comspec||"cmd.exe",Q.options.windowsVerbatimArguments=!0}return Q}function lh(Q,X,Y){if(X&&!Array.isArray(X))Y=X,X=null;X=X?X.slice(0):[],Y=Object.assign({},Y);let W={command:Q,args:X,options:Y,file:void 0,original:{command:Q,args:X}};return Y.shell?W:uh(W)}Rj.exports=lh});var Tj=N((Pt,Ij)=>{var OG=process.platform==="win32";function UG(Q,X){return Object.assign(Error(`${X} ${Q.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${X} ${Q.command}`,path:Q.command,spawnargs:Q.args})}function mh(Q,X){if(!OG)return;let Y=Q.emit;Q.emit=function(W,$){if(W==="exit"){let J=Sj($,X);if(J)return Y.call(Q,"error",J)}return Y.apply(Q,arguments)}}function Sj(Q,X){if(OG&&Q===1&&!X.file)return UG(X.original,"spawn");return null}function ch(Q,X){if(OG&&Q===1&&!X.file)return UG(X.original,"spawnSync");return null}Ij.exports={hookChildProcess:mh,verifyENOENT:Sj,verifyENOENTSync:ch,notFoundError:UG}});var vj=N((Zt,Z8)=>{var Cj=r1("child_process"),jG=Ej(),NG=Tj();function kj(Q,X,Y){let W=jG(Q,X,Y),$=Cj.spawn(W.command,W.args,W.options);return NG.hookChildProcess($,W),$}function ph(Q,X,Y){let W=jG(Q,X,Y),$=Cj.spawnSync(W.command,W.args,W.options);return $.error=$.error||NG.verifyENOENTSync($.status,W),$}Z8.exports=kj;Z8.exports.spawn=kj;Z8.exports.sync=ph;Z8.exports._parse=jG;Z8.exports._enoent=NG});var v={};$Q(v,{void:()=>vN,util:()=>t,unknown:()=>CN,union:()=>yN,undefined:()=>SN,tuple:()=>hN,transformer:()=>rN,symbol:()=>EN,string:()=>_G,strictObject:()=>xN,setErrorMap:()=>sj,set:()=>mN,record:()=>uN,quotelessJson:()=>tj,promise:()=>oN,preprocess:()=>sN,pipeline:()=>eN,ostring:()=>Qq,optional:()=>tN,onumber:()=>Xq,oboolean:()=>Yq,objectUtil:()=>rY,object:()=>sY,number:()=>xG,nullable:()=>aN,null:()=>IN,never:()=>kN,nativeEnum:()=>nN,nan:()=>PN,map:()=>lN,makeIssue:()=>S8,literal:()=>dN,lazy:()=>pN,late:()=>MN,isValid:()=>F6,isDirty:()=>GQ,isAsync:()=>b9,isAborted:()=>JQ,intersection:()=>gN,instanceof:()=>bN,getParsedType:()=>h1,getErrorMap:()=>M9,function:()=>cN,enum:()=>iN,effect:()=>rN,discriminatedUnion:()=>fN,defaultErrorMap:()=>t1,datetimeRegex:()=>CG,date:()=>RN,custom:()=>vG,coerce:()=>Wq,boolean:()=>yG,bigint:()=>ZN,array:()=>_N,any:()=>TN,addIssueToContext:()=>C,ZodVoid:()=>T8,ZodUnknown:()=>D6,ZodUnion:()=>I9,ZodUndefined:()=>E9,ZodType:()=>o,ZodTuple:()=>l1,ZodTransformer:()=>w1,ZodSymbol:()=>I8,ZodString:()=>j1,ZodSet:()=>i6,ZodSchema:()=>o,ZodRecord:()=>C8,ZodReadonly:()=>y9,ZodPromise:()=>n6,ZodPipeline:()=>_8,ZodParsedType:()=>R,ZodOptional:()=>z1,ZodObject:()=>M0,ZodNumber:()=>L6,ZodNullable:()=>s1,ZodNull:()=>S9,ZodNever:()=>u1,ZodNativeEnum:()=>v9,ZodNaN:()=>v8,ZodMap:()=>k8,ZodLiteral:()=>k9,ZodLazy:()=>C9,ZodIssueCode:()=>b,ZodIntersection:()=>T9,ZodFunction:()=>Z9,ZodFirstPartyTypeKind:()=>P,ZodError:()=>t0,ZodEnum:()=>U6,ZodEffects:()=>w1,ZodDiscriminatedUnion:()=>HQ,ZodDefault:()=>_9,ZodDate:()=>p6,ZodCatch:()=>x9,ZodBranded:()=>BQ,ZodBoolean:()=>R9,ZodBigInt:()=>O6,ZodArray:()=>N1,ZodAny:()=>d6,Schema:()=>o,ParseStatus:()=>k0,OK:()=>u0,NEVER:()=>$q,INVALID:()=>u,EMPTY_PATH:()=>ej,DIRTY:()=>c6,BRAND:()=>wN});var t;(function(Q){Q.assertEqual=($)=>{};function X($){}Q.assertIs=X;function Y($){throw Error()}Q.assertNever=Y,Q.arrayToEnum=($)=>{let J={};for(let G of $)J[G]=G;return J},Q.getValidEnumValues=($)=>{let J=Q.objectKeys($).filter((H)=>typeof $[$[H]]!=="number"),G={};for(let H of J)G[H]=$[H];return Q.objectValues(G)},Q.objectValues=($)=>{return Q.objectKeys($).map(function(J){return $[J]})},Q.objectKeys=typeof Object.keys==="function"?($)=>Object.keys($):($)=>{let J=[];for(let G in $)if(Object.prototype.hasOwnProperty.call($,G))J.push(G);return J},Q.find=($,J)=>{for(let G of $)if(J(G))return G;return},Q.isInteger=typeof Number.isInteger==="function"?($)=>Number.isInteger($):($)=>typeof $==="number"&&Number.isFinite($)&&Math.floor($)===$;function W($,J=" | "){return $.map((G)=>typeof G==="string"?`'${G}'`:G).join(J)}Q.joinValues=W,Q.jsonStringifyReplacer=($,J)=>{if(typeof J==="bigint")return J.toString();return J}})(t||(t={}));var rY;(function(Q){Q.mergeShapes=(X,Y)=>{return{...X,...Y}}})(rY||(rY={}));var R=t.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),h1=(Q)=>{switch(typeof Q){case"undefined":return R.undefined;case"string":return R.string;case"number":return Number.isNaN(Q)?R.nan:R.number;case"boolean":return R.boolean;case"function":return R.function;case"bigint":return R.bigint;case"symbol":return R.symbol;case"object":if(Array.isArray(Q))return R.array;if(Q===null)return R.null;if(Q.then&&typeof Q.then==="function"&&Q.catch&&typeof Q.catch==="function")return R.promise;if(typeof Map<"u"&&Q instanceof Map)return R.map;if(typeof Set<"u"&&Q instanceof Set)return R.set;if(typeof Date<"u"&&Q instanceof Date)return R.date;return R.object;default:return R.unknown}};var b=t.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),tj=(Q)=>{return JSON.stringify(Q,null,2).replace(/"([^"]+)":/g,"$1:")};class t0 extends Error{get errors(){return this.issues}constructor(Q){super();this.issues=[],this.addIssue=(Y)=>{this.issues=[...this.issues,Y]},this.addIssues=(Y=[])=>{this.issues=[...this.issues,...Y]};let X=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,X);else this.__proto__=X;this.name="ZodError",this.issues=Q}format(Q){let X=Q||function($){return $.message},Y={_errors:[]},W=($)=>{for(let J of $.issues)if(J.code==="invalid_union")J.unionErrors.map(W);else if(J.code==="invalid_return_type")W(J.returnTypeError);else if(J.code==="invalid_arguments")W(J.argumentsError);else if(J.path.length===0)Y._errors.push(X(J));else{let G=Y,H=0;while(H<J.path.length){let B=J.path[H];if(H!==J.path.length-1)G[B]=G[B]||{_errors:[]};else G[B]=G[B]||{_errors:[]},G[B]._errors.push(X(J));G=G[B],H++}}};return W(this),Y}static assert(Q){if(!(Q instanceof t0))throw Error(`Not a ZodError: ${Q}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,t.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(Q=(X)=>X.message){let X={},Y=[];for(let W of this.issues)if(W.path.length>0){let $=W.path[0];X[$]=X[$]||[],X[$].push(Q(W))}else Y.push(Q(W));return{formErrors:Y,fieldErrors:X}}get formErrors(){return this.flatten()}}t0.create=(Q)=>{return new t0(Q)};var aj=(Q,X)=>{let Y;switch(Q.code){case b.invalid_type:if(Q.received===R.undefined)Y="Required";else Y=`Expected ${Q.expected}, received ${Q.received}`;break;case b.invalid_literal:Y=`Invalid literal value, expected ${JSON.stringify(Q.expected,t.jsonStringifyReplacer)}`;break;case b.unrecognized_keys:Y=`Unrecognized key(s) in object: ${t.joinValues(Q.keys,", ")}`;break;case b.invalid_union:Y="Invalid input";break;case b.invalid_union_discriminator:Y=`Invalid discriminator value. Expected ${t.joinValues(Q.options)}`;break;case b.invalid_enum_value:Y=`Invalid enum value. Expected ${t.joinValues(Q.options)}, received '${Q.received}'`;break;case b.invalid_arguments:Y="Invalid function arguments";break;case b.invalid_return_type:Y="Invalid function return type";break;case b.invalid_date:Y="Invalid date";break;case b.invalid_string:if(typeof Q.validation==="object")if("includes"in Q.validation){if(Y=`Invalid input: must include "${Q.validation.includes}"`,typeof Q.validation.position==="number")Y=`${Y} at one or more positions greater than or equal to ${Q.validation.position}`}else if("startsWith"in Q.validation)Y=`Invalid input: must start with "${Q.validation.startsWith}"`;else if("endsWith"in Q.validation)Y=`Invalid input: must end with "${Q.validation.endsWith}"`;else t.assertNever(Q.validation);else if(Q.validation!=="regex")Y=`Invalid ${Q.validation}`;else Y="Invalid";break;case b.too_small:if(Q.type==="array")Y=`Array must contain ${Q.exact?"exactly":Q.inclusive?"at least":"more than"} ${Q.minimum} element(s)`;else if(Q.type==="string")Y=`String must contain ${Q.exact?"exactly":Q.inclusive?"at least":"over"} ${Q.minimum} character(s)`;else if(Q.type==="number")Y=`Number must be ${Q.exact?"exactly equal to ":Q.inclusive?"greater than or equal to ":"greater than "}${Q.minimum}`;else if(Q.type==="bigint")Y=`Number must be ${Q.exact?"exactly equal to ":Q.inclusive?"greater than or equal to ":"greater than "}${Q.minimum}`;else if(Q.type==="date")Y=`Date must be ${Q.exact?"exactly equal to ":Q.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(Q.minimum))}`;else Y="Invalid input";break;case b.too_big:if(Q.type==="array")Y=`Array must contain ${Q.exact?"exactly":Q.inclusive?"at most":"less than"} ${Q.maximum} element(s)`;else if(Q.type==="string")Y=`String must contain ${Q.exact?"exactly":Q.inclusive?"at most":"under"} ${Q.maximum} character(s)`;else if(Q.type==="number")Y=`Number must be ${Q.exact?"exactly":Q.inclusive?"less than or equal to":"less than"} ${Q.maximum}`;else if(Q.type==="bigint")Y=`BigInt must be ${Q.exact?"exactly":Q.inclusive?"less than or equal to":"less than"} ${Q.maximum}`;else if(Q.type==="date")Y=`Date must be ${Q.exact?"exactly":Q.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(Q.maximum))}`;else Y="Invalid input";break;case b.custom:Y="Invalid input";break;case b.invalid_intersection_types:Y="Intersection results could not be merged";break;case b.not_multiple_of:Y=`Number must be a multiple of ${Q.multipleOf}`;break;case b.not_finite:Y="Number must be finite";break;default:Y=X.defaultError,t.assertNever(Q)}return{message:Y}},t1=aj;var RG=t1;function sj(Q){RG=Q}function M9(){return RG}var S8=(Q)=>{let{data:X,path:Y,errorMaps:W,issueData:$}=Q,J=[...Y,...$.path||[]],G={...$,path:J};if($.message!==void 0)return{...$,path:J,message:$.message};let H="",B=W.filter((z)=>!!z).slice().reverse();for(let z of B)H=z(G,{data:X,defaultError:H}).message;return{...$,path:J,message:H}},ej=[];function C(Q,X){let Y=M9(),W=S8({issueData:X,data:Q.data,path:Q.path,errorMaps:[Q.common.contextualErrorMap,Q.schemaErrorMap,Y,Y===t1?void 0:t1].filter(($)=>!!$)});Q.common.issues.push(W)}class k0{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(Q,X){let Y=[];for(let W of X){if(W.status==="aborted")return u;if(W.status==="dirty")Q.dirty();Y.push(W.value)}return{status:Q.value,value:Y}}static async mergeObjectAsync(Q,X){let Y=[];for(let W of X){let $=await W.key,J=await W.value;Y.push({key:$,value:J})}return k0.mergeObjectSync(Q,Y)}static mergeObjectSync(Q,X){let Y={};for(let W of X){let{key:$,value:J}=W;if($.status==="aborted")return u;if(J.status==="aborted")return u;if($.status==="dirty")Q.dirty();if(J.status==="dirty")Q.dirty();if($.value!=="__proto__"&&(typeof J.value<"u"||W.alwaysSet))Y[$.value]=J.value}return{status:Q.value,value:Y}}}var u=Object.freeze({status:"aborted"}),c6=(Q)=>({status:"dirty",value:Q}),u0=(Q)=>({status:"valid",value:Q}),JQ=(Q)=>Q.status==="aborted",GQ=(Q)=>Q.status==="dirty",F6=(Q)=>Q.status==="valid",b9=(Q)=>typeof Promise<"u"&&Q instanceof Promise;var _;(function(Q){Q.errToObj=(X)=>typeof X==="string"?{message:X}:X||{},Q.toString=(X)=>typeof X==="string"?X:X?.message})(_||(_={}));class q1{constructor(Q,X,Y,W){this._cachedPath=[],this.parent=Q,this.data=X,this._path=Y,this._key=W}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var EG=(Q,X)=>{if(F6(X))return{success:!0,data:X.value};else{if(!Q.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let Y=new t0(Q.common.issues);return this._error=Y,this._error}}}};function p(Q){if(!Q)return{};let{errorMap:X,invalid_type_error:Y,required_error:W,description:$}=Q;if(X&&(Y||W))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(X)return{errorMap:X,description:$};return{errorMap:(G,H)=>{let{message:B}=Q;if(G.code==="invalid_enum_value")return{message:B??H.defaultError};if(typeof H.data>"u")return{message:B??W??H.defaultError};if(G.code!=="invalid_type")return{message:H.defaultError};return{message:B??Y??H.defaultError}},description:$}}class o{get description(){return this._def.description}_getType(Q){return h1(Q.data)}_getOrReturnCtx(Q,X){return X||{common:Q.parent.common,data:Q.data,parsedType:h1(Q.data),schemaErrorMap:this._def.errorMap,path:Q.path,parent:Q.parent}}_processInputParams(Q){return{status:new k0,ctx:{common:Q.parent.common,data:Q.data,parsedType:h1(Q.data),schemaErrorMap:this._def.errorMap,path:Q.path,parent:Q.parent}}}_parseSync(Q){let X=this._parse(Q);if(b9(X))throw Error("Synchronous parse encountered promise.");return X}_parseAsync(Q){let X=this._parse(Q);return Promise.resolve(X)}parse(Q,X){let Y=this.safeParse(Q,X);if(Y.success)return Y.data;throw Y.error}safeParse(Q,X){let Y={common:{issues:[],async:X?.async??!1,contextualErrorMap:X?.errorMap},path:X?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:Q,parsedType:h1(Q)},W=this._parseSync({data:Q,path:Y.path,parent:Y});return EG(Y,W)}"~validate"(Q){let X={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:Q,parsedType:h1(Q)};if(!this["~standard"].async)try{let Y=this._parseSync({data:Q,path:[],parent:X});return F6(Y)?{value:Y.value}:{issues:X.common.issues}}catch(Y){if(Y?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;X.common={issues:[],async:!0}}return this._parseAsync({data:Q,path:[],parent:X}).then((Y)=>F6(Y)?{value:Y.value}:{issues:X.common.issues})}async parseAsync(Q,X){let Y=await this.safeParseAsync(Q,X);if(Y.success)return Y.data;throw Y.error}async safeParseAsync(Q,X){let Y={common:{issues:[],contextualErrorMap:X?.errorMap,async:!0},path:X?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:Q,parsedType:h1(Q)},W=this._parse({data:Q,path:Y.path,parent:Y}),$=await(b9(W)?W:Promise.resolve(W));return EG(Y,$)}refine(Q,X){let Y=(W)=>{if(typeof X==="string"||typeof X>"u")return{message:X};else if(typeof X==="function")return X(W);else return X};return this._refinement((W,$)=>{let J=Q(W),G=()=>$.addIssue({code:b.custom,...Y(W)});if(typeof Promise<"u"&&J instanceof Promise)return J.then((H)=>{if(!H)return G(),!1;else return!0});if(!J)return G(),!1;else return!0})}refinement(Q,X){return this._refinement((Y,W)=>{if(!Q(Y))return W.addIssue(typeof X==="function"?X(Y,W):X),!1;else return!0})}_refinement(Q){return new w1({schema:this,typeName:P.ZodEffects,effect:{type:"refinement",refinement:Q}})}superRefine(Q){return this._refinement(Q)}constructor(Q){this.spa=this.safeParseAsync,this._def=Q,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(X)=>this["~validate"](X)}}optional(){return z1.create(this,this._def)}nullable(){return s1.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return N1.create(this)}promise(){return n6.create(this,this._def)}or(Q){return I9.create([this,Q],this._def)}and(Q){return T9.create(this,Q,this._def)}transform(Q){return new w1({...p(this._def),schema:this,typeName:P.ZodEffects,effect:{type:"transform",transform:Q}})}default(Q){let X=typeof Q==="function"?Q:()=>Q;return new _9({...p(this._def),innerType:this,defaultValue:X,typeName:P.ZodDefault})}brand(){return new BQ({typeName:P.ZodBranded,type:this,...p(this._def)})}catch(Q){let X=typeof Q==="function"?Q:()=>Q;return new x9({...p(this._def),innerType:this,catchValue:X,typeName:P.ZodCatch})}describe(Q){return new this.constructor({...this._def,description:Q})}pipe(Q){return _8.create(this,Q)}readonly(){return y9.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var QN=/^c[^\s-]{8,}$/i,XN=/^[0-9a-z]+$/,YN=/^[0-9A-HJKMNP-TV-Z]{26}$/i,WN=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,$N=/^[a-z0-9_-]{21}$/i,JN=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,GN=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,HN=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,BN="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",tY,zN=/^(?:(?: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])$/,KN=/^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/,VN=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,AN=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,FN=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,DN=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,IG="((\\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])))",LN=new RegExp(`^${IG}$`);function TG(Q){let X="[0-5]\\d";if(Q.precision)X=`${X}\\.\\d{${Q.precision}}`;else if(Q.precision==null)X=`${X}(\\.\\d+)?`;let Y=Q.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${X})${Y}`}function ON(Q){return new RegExp(`^${TG(Q)}$`)}function CG(Q){let X=`${IG}T${TG(Q)}`,Y=[];if(Y.push(Q.local?"Z?":"Z"),Q.offset)Y.push("([+-]\\d{2}:?\\d{2})");return X=`${X}(${Y.join("|")})`,new RegExp(`^${X}$`)}function UN(Q,X){if((X==="v4"||!X)&&zN.test(Q))return!0;if((X==="v6"||!X)&&VN.test(Q))return!0;return!1}function jN(Q,X){if(!JN.test(Q))return!1;try{let[Y]=Q.split(".");if(!Y)return!1;let W=Y.replace(/-/g,"+").replace(/_/g,"/").padEnd(Y.length+(4-Y.length%4)%4,"="),$=JSON.parse(atob(W));if(typeof $!=="object"||$===null)return!1;if("typ"in $&&$?.typ!=="JWT")return!1;if(!$.alg)return!1;if(X&&$.alg!==X)return!1;return!0}catch{return!1}}function NN(Q,X){if((X==="v4"||!X)&&KN.test(Q))return!0;if((X==="v6"||!X)&&AN.test(Q))return!0;return!1}class j1 extends o{_parse(Q){if(this._def.coerce)Q.data=String(Q.data);if(this._getType(Q)!==R.string){let $=this._getOrReturnCtx(Q);return C($,{code:b.invalid_type,expected:R.string,received:$.parsedType}),u}let Y=new k0,W=void 0;for(let $ of this._def.checks)if($.kind==="min"){if(Q.data.length<$.value)W=this._getOrReturnCtx(Q,W),C(W,{code:b.too_small,minimum:$.value,type:"string",inclusive:!0,exact:!1,message:$.message}),Y.dirty()}else if($.kind==="max"){if(Q.data.length>$.value)W=this._getOrReturnCtx(Q,W),C(W,{code:b.too_big,maximum:$.value,type:"string",inclusive:!0,exact:!1,message:$.message}),Y.dirty()}else if($.kind==="length"){let J=Q.data.length>$.value,G=Q.data.length<$.value;if(J||G){if(W=this._getOrReturnCtx(Q,W),J)C(W,{code:b.too_big,maximum:$.value,type:"string",inclusive:!0,exact:!0,message:$.message});else if(G)C(W,{code:b.too_small,minimum:$.value,type:"string",inclusive:!0,exact:!0,message:$.message});Y.dirty()}}else if($.kind==="email"){if(!HN.test(Q.data))W=this._getOrReturnCtx(Q,W),C(W,{validation:"email",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="emoji"){if(!tY)tY=new RegExp(BN,"u");if(!tY.test(Q.data))W=this._getOrReturnCtx(Q,W),C(W,{validation:"emoji",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="uuid"){if(!WN.test(Q.data))W=this._getOrReturnCtx(Q,W),C(W,{validation:"uuid",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="nanoid"){if(!$N.test(Q.data))W=this._getOrReturnCtx(Q,W),C(W,{validation:"nanoid",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="cuid"){if(!QN.test(Q.data))W=this._getOrReturnCtx(Q,W),C(W,{validation:"cuid",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="cuid2"){if(!XN.test(Q.data))W=this._getOrReturnCtx(Q,W),C(W,{validation:"cuid2",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="ulid"){if(!YN.test(Q.data))W=this._getOrReturnCtx(Q,W),C(W,{validation:"ulid",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="url")try{new URL(Q.data)}catch{W=this._getOrReturnCtx(Q,W),C(W,{validation:"url",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="regex"){if($.regex.lastIndex=0,!$.regex.test(Q.data))W=this._getOrReturnCtx(Q,W),C(W,{validation:"regex",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="trim")Q.data=Q.data.trim();else if($.kind==="includes"){if(!Q.data.includes($.value,$.position))W=this._getOrReturnCtx(Q,W),C(W,{code:b.invalid_string,validation:{includes:$.value,position:$.position},message:$.message}),Y.dirty()}else if($.kind==="toLowerCase")Q.data=Q.data.toLowerCase();else if($.kind==="toUpperCase")Q.data=Q.data.toUpperCase();else if($.kind==="startsWith"){if(!Q.data.startsWith($.value))W=this._getOrReturnCtx(Q,W),C(W,{code:b.invalid_string,validation:{startsWith:$.value},message:$.message}),Y.dirty()}else if($.kind==="endsWith"){if(!Q.data.endsWith($.value))W=this._getOrReturnCtx(Q,W),C(W,{code:b.invalid_string,validation:{endsWith:$.value},message:$.message}),Y.dirty()}else if($.kind==="datetime"){if(!CG($).test(Q.data))W=this._getOrReturnCtx(Q,W),C(W,{code:b.invalid_string,validation:"datetime",message:$.message}),Y.dirty()}else if($.kind==="date"){if(!LN.test(Q.data))W=this._getOrReturnCtx(Q,W),C(W,{code:b.invalid_string,validation:"date",message:$.message}),Y.dirty()}else if($.kind==="time"){if(!ON($).test(Q.data))W=this._getOrReturnCtx(Q,W),C(W,{code:b.invalid_string,validation:"time",message:$.message}),Y.dirty()}else if($.kind==="duration"){if(!GN.test(Q.data))W=this._getOrReturnCtx(Q,W),C(W,{validation:"duration",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="ip"){if(!UN(Q.data,$.version))W=this._getOrReturnCtx(Q,W),C(W,{validation:"ip",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="jwt"){if(!jN(Q.data,$.alg))W=this._getOrReturnCtx(Q,W),C(W,{validation:"jwt",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="cidr"){if(!NN(Q.data,$.version))W=this._getOrReturnCtx(Q,W),C(W,{validation:"cidr",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="base64"){if(!FN.test(Q.data))W=this._getOrReturnCtx(Q,W),C(W,{validation:"base64",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="base64url"){if(!DN.test(Q.data))W=this._getOrReturnCtx(Q,W),C(W,{validation:"base64url",code:b.invalid_string,message:$.message}),Y.dirty()}else t.assertNever($);return{status:Y.value,value:Q.data}}_regex(Q,X,Y){return this.refinement((W)=>Q.test(W),{validation:X,code:b.invalid_string,..._.errToObj(Y)})}_addCheck(Q){return new j1({...this._def,checks:[...this._def.checks,Q]})}email(Q){return this._addCheck({kind:"email",..._.errToObj(Q)})}url(Q){return this._addCheck({kind:"url",..._.errToObj(Q)})}emoji(Q){return this._addCheck({kind:"emoji",..._.errToObj(Q)})}uuid(Q){return this._addCheck({kind:"uuid",..._.errToObj(Q)})}nanoid(Q){return this._addCheck({kind:"nanoid",..._.errToObj(Q)})}cuid(Q){return this._addCheck({kind:"cuid",..._.errToObj(Q)})}cuid2(Q){return this._addCheck({kind:"cuid2",..._.errToObj(Q)})}ulid(Q){return this._addCheck({kind:"ulid",..._.errToObj(Q)})}base64(Q){return this._addCheck({kind:"base64",..._.errToObj(Q)})}base64url(Q){return this._addCheck({kind:"base64url",..._.errToObj(Q)})}jwt(Q){return this._addCheck({kind:"jwt",..._.errToObj(Q)})}ip(Q){return this._addCheck({kind:"ip",..._.errToObj(Q)})}cidr(Q){return this._addCheck({kind:"cidr",..._.errToObj(Q)})}datetime(Q){if(typeof Q==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:Q});return this._addCheck({kind:"datetime",precision:typeof Q?.precision>"u"?null:Q?.precision,offset:Q?.offset??!1,local:Q?.local??!1,..._.errToObj(Q?.message)})}date(Q){return this._addCheck({kind:"date",message:Q})}time(Q){if(typeof Q==="string")return this._addCheck({kind:"time",precision:null,message:Q});return this._addCheck({kind:"time",precision:typeof Q?.precision>"u"?null:Q?.precision,..._.errToObj(Q?.message)})}duration(Q){return this._addCheck({kind:"duration",..._.errToObj(Q)})}regex(Q,X){return this._addCheck({kind:"regex",regex:Q,..._.errToObj(X)})}includes(Q,X){return this._addCheck({kind:"includes",value:Q,position:X?.position,..._.errToObj(X?.message)})}startsWith(Q,X){return this._addCheck({kind:"startsWith",value:Q,..._.errToObj(X)})}endsWith(Q,X){return this._addCheck({kind:"endsWith",value:Q,..._.errToObj(X)})}min(Q,X){return this._addCheck({kind:"min",value:Q,..._.errToObj(X)})}max(Q,X){return this._addCheck({kind:"max",value:Q,..._.errToObj(X)})}length(Q,X){return this._addCheck({kind:"length",value:Q,..._.errToObj(X)})}nonempty(Q){return this.min(1,_.errToObj(Q))}trim(){return new j1({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new j1({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new j1({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((Q)=>Q.kind==="datetime")}get isDate(){return!!this._def.checks.find((Q)=>Q.kind==="date")}get isTime(){return!!this._def.checks.find((Q)=>Q.kind==="time")}get isDuration(){return!!this._def.checks.find((Q)=>Q.kind==="duration")}get isEmail(){return!!this._def.checks.find((Q)=>Q.kind==="email")}get isURL(){return!!this._def.checks.find((Q)=>Q.kind==="url")}get isEmoji(){return!!this._def.checks.find((Q)=>Q.kind==="emoji")}get isUUID(){return!!this._def.checks.find((Q)=>Q.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((Q)=>Q.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((Q)=>Q.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((Q)=>Q.kind==="cuid2")}get isULID(){return!!this._def.checks.find((Q)=>Q.kind==="ulid")}get isIP(){return!!this._def.checks.find((Q)=>Q.kind==="ip")}get isCIDR(){return!!this._def.checks.find((Q)=>Q.kind==="cidr")}get isBase64(){return!!this._def.checks.find((Q)=>Q.kind==="base64")}get isBase64url(){return!!this._def.checks.find((Q)=>Q.kind==="base64url")}get minLength(){let Q=null;for(let X of this._def.checks)if(X.kind==="min"){if(Q===null||X.value>Q)Q=X.value}return Q}get maxLength(){let Q=null;for(let X of this._def.checks)if(X.kind==="max"){if(Q===null||X.value<Q)Q=X.value}return Q}}j1.create=(Q)=>{return new j1({checks:[],typeName:P.ZodString,coerce:Q?.coerce??!1,...p(Q)})};function qN(Q,X){let Y=(Q.toString().split(".")[1]||"").length,W=(X.toString().split(".")[1]||"").length,$=Y>W?Y:W,J=Number.parseInt(Q.toFixed($).replace(".","")),G=Number.parseInt(X.toFixed($).replace(".",""));return J%G/10**$}class L6 extends o{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(Q){if(this._def.coerce)Q.data=Number(Q.data);if(this._getType(Q)!==R.number){let $=this._getOrReturnCtx(Q);return C($,{code:b.invalid_type,expected:R.number,received:$.parsedType}),u}let Y=void 0,W=new k0;for(let $ of this._def.checks)if($.kind==="int"){if(!t.isInteger(Q.data))Y=this._getOrReturnCtx(Q,Y),C(Y,{code:b.invalid_type,expected:"integer",received:"float",message:$.message}),W.dirty()}else if($.kind==="min"){if($.inclusive?Q.data<$.value:Q.data<=$.value)Y=this._getOrReturnCtx(Q,Y),C(Y,{code:b.too_small,minimum:$.value,type:"number",inclusive:$.inclusive,exact:!1,message:$.message}),W.dirty()}else if($.kind==="max"){if($.inclusive?Q.data>$.value:Q.data>=$.value)Y=this._getOrReturnCtx(Q,Y),C(Y,{code:b.too_big,maximum:$.value,type:"number",inclusive:$.inclusive,exact:!1,message:$.message}),W.dirty()}else if($.kind==="multipleOf"){if(qN(Q.data,$.value)!==0)Y=this._getOrReturnCtx(Q,Y),C(Y,{code:b.not_multiple_of,multipleOf:$.value,message:$.message}),W.dirty()}else if($.kind==="finite"){if(!Number.isFinite(Q.data))Y=this._getOrReturnCtx(Q,Y),C(Y,{code:b.not_finite,message:$.message}),W.dirty()}else t.assertNever($);return{status:W.value,value:Q.data}}gte(Q,X){return this.setLimit("min",Q,!0,_.toString(X))}gt(Q,X){return this.setLimit("min",Q,!1,_.toString(X))}lte(Q,X){return this.setLimit("max",Q,!0,_.toString(X))}lt(Q,X){return this.setLimit("max",Q,!1,_.toString(X))}setLimit(Q,X,Y,W){return new L6({...this._def,checks:[...this._def.checks,{kind:Q,value:X,inclusive:Y,message:_.toString(W)}]})}_addCheck(Q){return new L6({...this._def,checks:[...this._def.checks,Q]})}int(Q){return this._addCheck({kind:"int",message:_.toString(Q)})}positive(Q){return this._addCheck({kind:"min",value:0,inclusive:!1,message:_.toString(Q)})}negative(Q){return this._addCheck({kind:"max",value:0,inclusive:!1,message:_.toString(Q)})}nonpositive(Q){return this._addCheck({kind:"max",value:0,inclusive:!0,message:_.toString(Q)})}nonnegative(Q){return this._addCheck({kind:"min",value:0,inclusive:!0,message:_.toString(Q)})}multipleOf(Q,X){return this._addCheck({kind:"multipleOf",value:Q,message:_.toString(X)})}finite(Q){return this._addCheck({kind:"finite",message:_.toString(Q)})}safe(Q){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:_.toString(Q)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:_.toString(Q)})}get minValue(){let Q=null;for(let X of this._def.checks)if(X.kind==="min"){if(Q===null||X.value>Q)Q=X.value}return Q}get maxValue(){let Q=null;for(let X of this._def.checks)if(X.kind==="max"){if(Q===null||X.value<Q)Q=X.value}return Q}get isInt(){return!!this._def.checks.find((Q)=>Q.kind==="int"||Q.kind==="multipleOf"&&t.isInteger(Q.value))}get isFinite(){let Q=null,X=null;for(let Y of this._def.checks)if(Y.kind==="finite"||Y.kind==="int"||Y.kind==="multipleOf")return!0;else if(Y.kind==="min"){if(X===null||Y.value>X)X=Y.value}else if(Y.kind==="max"){if(Q===null||Y.value<Q)Q=Y.value}return Number.isFinite(X)&&Number.isFinite(Q)}}L6.create=(Q)=>{return new L6({checks:[],typeName:P.ZodNumber,coerce:Q?.coerce||!1,...p(Q)})};class O6 extends o{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(Q){if(this._def.coerce)try{Q.data=BigInt(Q.data)}catch{return this._getInvalidInput(Q)}if(this._getType(Q)!==R.bigint)return this._getInvalidInput(Q);let Y=void 0,W=new k0;for(let $ of this._def.checks)if($.kind==="min"){if($.inclusive?Q.data<$.value:Q.data<=$.value)Y=this._getOrReturnCtx(Q,Y),C(Y,{code:b.too_small,type:"bigint",minimum:$.value,inclusive:$.inclusive,message:$.message}),W.dirty()}else if($.kind==="max"){if($.inclusive?Q.data>$.value:Q.data>=$.value)Y=this._getOrReturnCtx(Q,Y),C(Y,{code:b.too_big,type:"bigint",maximum:$.value,inclusive:$.inclusive,message:$.message}),W.dirty()}else if($.kind==="multipleOf"){if(Q.data%$.value!==BigInt(0))Y=this._getOrReturnCtx(Q,Y),C(Y,{code:b.not_multiple_of,multipleOf:$.value,message:$.message}),W.dirty()}else t.assertNever($);return{status:W.value,value:Q.data}}_getInvalidInput(Q){let X=this._getOrReturnCtx(Q);return C(X,{code:b.invalid_type,expected:R.bigint,received:X.parsedType}),u}gte(Q,X){return this.setLimit("min",Q,!0,_.toString(X))}gt(Q,X){return this.setLimit("min",Q,!1,_.toString(X))}lte(Q,X){return this.setLimit("max",Q,!0,_.toString(X))}lt(Q,X){return this.setLimit("max",Q,!1,_.toString(X))}setLimit(Q,X,Y,W){return new O6({...this._def,checks:[...this._def.checks,{kind:Q,value:X,inclusive:Y,message:_.toString(W)}]})}_addCheck(Q){return new O6({...this._def,checks:[...this._def.checks,Q]})}positive(Q){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:_.toString(Q)})}negative(Q){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:_.toString(Q)})}nonpositive(Q){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:_.toString(Q)})}nonnegative(Q){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:_.toString(Q)})}multipleOf(Q,X){return this._addCheck({kind:"multipleOf",value:Q,message:_.toString(X)})}get minValue(){let Q=null;for(let X of this._def.checks)if(X.kind==="min"){if(Q===null||X.value>Q)Q=X.value}return Q}get maxValue(){let Q=null;for(let X of this._def.checks)if(X.kind==="max"){if(Q===null||X.value<Q)Q=X.value}return Q}}O6.create=(Q)=>{return new O6({checks:[],typeName:P.ZodBigInt,coerce:Q?.coerce??!1,...p(Q)})};class R9 extends o{_parse(Q){if(this._def.coerce)Q.data=Boolean(Q.data);if(this._getType(Q)!==R.boolean){let Y=this._getOrReturnCtx(Q);return C(Y,{code:b.invalid_type,expected:R.boolean,received:Y.parsedType}),u}return u0(Q.data)}}R9.create=(Q)=>{return new R9({typeName:P.ZodBoolean,coerce:Q?.coerce||!1,...p(Q)})};class p6 extends o{_parse(Q){if(this._def.coerce)Q.data=new Date(Q.data);if(this._getType(Q)!==R.date){let $=this._getOrReturnCtx(Q);return C($,{code:b.invalid_type,expected:R.date,received:$.parsedType}),u}if(Number.isNaN(Q.data.getTime())){let $=this._getOrReturnCtx(Q);return C($,{code:b.invalid_date}),u}let Y=new k0,W=void 0;for(let $ of this._def.checks)if($.kind==="min"){if(Q.data.getTime()<$.value)W=this._getOrReturnCtx(Q,W),C(W,{code:b.too_small,message:$.message,inclusive:!0,exact:!1,minimum:$.value,type:"date"}),Y.dirty()}else if($.kind==="max"){if(Q.data.getTime()>$.value)W=this._getOrReturnCtx(Q,W),C(W,{code:b.too_big,message:$.message,inclusive:!0,exact:!1,maximum:$.value,type:"date"}),Y.dirty()}else t.assertNever($);return{status:Y.value,value:new Date(Q.data.getTime())}}_addCheck(Q){return new p6({...this._def,checks:[...this._def.checks,Q]})}min(Q,X){return this._addCheck({kind:"min",value:Q.getTime(),message:_.toString(X)})}max(Q,X){return this._addCheck({kind:"max",value:Q.getTime(),message:_.toString(X)})}get minDate(){let Q=null;for(let X of this._def.checks)if(X.kind==="min"){if(Q===null||X.value>Q)Q=X.value}return Q!=null?new Date(Q):null}get maxDate(){let Q=null;for(let X of this._def.checks)if(X.kind==="max"){if(Q===null||X.value<Q)Q=X.value}return Q!=null?new Date(Q):null}}p6.create=(Q)=>{return new p6({checks:[],coerce:Q?.coerce||!1,typeName:P.ZodDate,...p(Q)})};class I8 extends o{_parse(Q){if(this._getType(Q)!==R.symbol){let Y=this._getOrReturnCtx(Q);return C(Y,{code:b.invalid_type,expected:R.symbol,received:Y.parsedType}),u}return u0(Q.data)}}I8.create=(Q)=>{return new I8({typeName:P.ZodSymbol,...p(Q)})};class E9 extends o{_parse(Q){if(this._getType(Q)!==R.undefined){let Y=this._getOrReturnCtx(Q);return C(Y,{code:b.invalid_type,expected:R.undefined,received:Y.parsedType}),u}return u0(Q.data)}}E9.create=(Q)=>{return new E9({typeName:P.ZodUndefined,...p(Q)})};class S9 extends o{_parse(Q){if(this._getType(Q)!==R.null){let Y=this._getOrReturnCtx(Q);return C(Y,{code:b.invalid_type,expected:R.null,received:Y.parsedType}),u}return u0(Q.data)}}S9.create=(Q)=>{return new S9({typeName:P.ZodNull,...p(Q)})};class d6 extends o{constructor(){super(...arguments);this._any=!0}_parse(Q){return u0(Q.data)}}d6.create=(Q)=>{return new d6({typeName:P.ZodAny,...p(Q)})};class D6 extends o{constructor(){super(...arguments);this._unknown=!0}_parse(Q){return u0(Q.data)}}D6.create=(Q)=>{return new D6({typeName:P.ZodUnknown,...p(Q)})};class u1 extends o{_parse(Q){let X=this._getOrReturnCtx(Q);return C(X,{code:b.invalid_type,expected:R.never,received:X.parsedType}),u}}u1.create=(Q)=>{return new u1({typeName:P.ZodNever,...p(Q)})};class T8 extends o{_parse(Q){if(this._getType(Q)!==R.undefined){let Y=this._getOrReturnCtx(Q);return C(Y,{code:b.invalid_type,expected:R.void,received:Y.parsedType}),u}return u0(Q.data)}}T8.create=(Q)=>{return new T8({typeName:P.ZodVoid,...p(Q)})};class N1 extends o{_parse(Q){let{ctx:X,status:Y}=this._processInputParams(Q),W=this._def;if(X.parsedType!==R.array)return C(X,{code:b.invalid_type,expected:R.array,received:X.parsedType}),u;if(W.exactLength!==null){let J=X.data.length>W.exactLength.value,G=X.data.length<W.exactLength.value;if(J||G)C(X,{code:J?b.too_big:b.too_small,minimum:G?W.exactLength.value:void 0,maximum:J?W.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:W.exactLength.message}),Y.dirty()}if(W.minLength!==null){if(X.data.length<W.minLength.value)C(X,{code:b.too_small,minimum:W.minLength.value,type:"array",inclusive:!0,exact:!1,message:W.minLength.message}),Y.dirty()}if(W.maxLength!==null){if(X.data.length>W.maxLength.value)C(X,{code:b.too_big,maximum:W.maxLength.value,type:"array",inclusive:!0,exact:!1,message:W.maxLength.message}),Y.dirty()}if(X.common.async)return Promise.all([...X.data].map((J,G)=>{return W.type._parseAsync(new q1(X,J,X.path,G))})).then((J)=>{return k0.mergeArray(Y,J)});let $=[...X.data].map((J,G)=>{return W.type._parseSync(new q1(X,J,X.path,G))});return k0.mergeArray(Y,$)}get element(){return this._def.type}min(Q,X){return new N1({...this._def,minLength:{value:Q,message:_.toString(X)}})}max(Q,X){return new N1({...this._def,maxLength:{value:Q,message:_.toString(X)}})}length(Q,X){return new N1({...this._def,exactLength:{value:Q,message:_.toString(X)}})}nonempty(Q){return this.min(1,Q)}}N1.create=(Q,X)=>{return new N1({type:Q,minLength:null,maxLength:null,exactLength:null,typeName:P.ZodArray,...p(X)})};function P9(Q){if(Q instanceof M0){let X={};for(let Y in Q.shape){let W=Q.shape[Y];X[Y]=z1.create(P9(W))}return new M0({...Q._def,shape:()=>X})}else if(Q instanceof N1)return new N1({...Q._def,type:P9(Q.element)});else if(Q instanceof z1)return z1.create(P9(Q.unwrap()));else if(Q instanceof s1)return s1.create(P9(Q.unwrap()));else if(Q instanceof l1)return l1.create(Q.items.map((X)=>P9(X)));else return Q}class M0 extends o{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let Q=this._def.shape(),X=t.objectKeys(Q);return this._cached={shape:Q,keys:X},this._cached}_parse(Q){if(this._getType(Q)!==R.object){let B=this._getOrReturnCtx(Q);return C(B,{code:b.invalid_type,expected:R.object,received:B.parsedType}),u}let{status:Y,ctx:W}=this._processInputParams(Q),{shape:$,keys:J}=this._getCached(),G=[];if(!(this._def.catchall instanceof u1&&this._def.unknownKeys==="strip")){for(let B in W.data)if(!J.includes(B))G.push(B)}let H=[];for(let B of J){let z=$[B],K=W.data[B];H.push({key:{status:"valid",value:B},value:z._parse(new q1(W,K,W.path,B)),alwaysSet:B in W.data})}if(this._def.catchall instanceof u1){let B=this._def.unknownKeys;if(B==="passthrough")for(let z of G)H.push({key:{status:"valid",value:z},value:{status:"valid",value:W.data[z]}});else if(B==="strict"){if(G.length>0)C(W,{code:b.unrecognized_keys,keys:G}),Y.dirty()}else if(B==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let B=this._def.catchall;for(let z of G){let K=W.data[z];H.push({key:{status:"valid",value:z},value:B._parse(new q1(W,K,W.path,z)),alwaysSet:z in W.data})}}if(W.common.async)return Promise.resolve().then(async()=>{let B=[];for(let z of H){let K=await z.key,V=await z.value;B.push({key:K,value:V,alwaysSet:z.alwaysSet})}return B}).then((B)=>{return k0.mergeObjectSync(Y,B)});else return k0.mergeObjectSync(Y,H)}get shape(){return this._def.shape()}strict(Q){return _.errToObj,new M0({...this._def,unknownKeys:"strict",...Q!==void 0?{errorMap:(X,Y)=>{let W=this._def.errorMap?.(X,Y).message??Y.defaultError;if(X.code==="unrecognized_keys")return{message:_.errToObj(Q).message??W};return{message:W}}}:{}})}strip(){return new M0({...this._def,unknownKeys:"strip"})}passthrough(){return new M0({...this._def,unknownKeys:"passthrough"})}extend(Q){return new M0({...this._def,shape:()=>({...this._def.shape(),...Q})})}merge(Q){return new M0({unknownKeys:Q._def.unknownKeys,catchall:Q._def.catchall,shape:()=>({...this._def.shape(),...Q._def.shape()}),typeName:P.ZodObject})}setKey(Q,X){return this.augment({[Q]:X})}catchall(Q){return new M0({...this._def,catchall:Q})}pick(Q){let X={};for(let Y of t.objectKeys(Q))if(Q[Y]&&this.shape[Y])X[Y]=this.shape[Y];return new M0({...this._def,shape:()=>X})}omit(Q){let X={};for(let Y of t.objectKeys(this.shape))if(!Q[Y])X[Y]=this.shape[Y];return new M0({...this._def,shape:()=>X})}deepPartial(){return P9(this)}partial(Q){let X={};for(let Y of t.objectKeys(this.shape)){let W=this.shape[Y];if(Q&&!Q[Y])X[Y]=W;else X[Y]=W.optional()}return new M0({...this._def,shape:()=>X})}required(Q){let X={};for(let Y of t.objectKeys(this.shape))if(Q&&!Q[Y])X[Y]=this.shape[Y];else{let $=this.shape[Y];while($ instanceof z1)$=$._def.innerType;X[Y]=$}return new M0({...this._def,shape:()=>X})}keyof(){return kG(t.objectKeys(this.shape))}}M0.create=(Q,X)=>{return new M0({shape:()=>Q,unknownKeys:"strip",catchall:u1.create(),typeName:P.ZodObject,...p(X)})};M0.strictCreate=(Q,X)=>{return new M0({shape:()=>Q,unknownKeys:"strict",catchall:u1.create(),typeName:P.ZodObject,...p(X)})};M0.lazycreate=(Q,X)=>{return new M0({shape:Q,unknownKeys:"strip",catchall:u1.create(),typeName:P.ZodObject,...p(X)})};class I9 extends o{_parse(Q){let{ctx:X}=this._processInputParams(Q),Y=this._def.options;function W($){for(let G of $)if(G.result.status==="valid")return G.result;for(let G of $)if(G.result.status==="dirty")return X.common.issues.push(...G.ctx.common.issues),G.result;let J=$.map((G)=>new t0(G.ctx.common.issues));return C(X,{code:b.invalid_union,unionErrors:J}),u}if(X.common.async)return Promise.all(Y.map(async($)=>{let J={...X,common:{...X.common,issues:[]},parent:null};return{result:await $._parseAsync({data:X.data,path:X.path,parent:J}),ctx:J}})).then(W);else{let $=void 0,J=[];for(let H of Y){let B={...X,common:{...X.common,issues:[]},parent:null},z=H._parseSync({data:X.data,path:X.path,parent:B});if(z.status==="valid")return z;else if(z.status==="dirty"&&!$)$={result:z,ctx:B};if(B.common.issues.length)J.push(B.common.issues)}if($)return X.common.issues.push(...$.ctx.common.issues),$.result;let G=J.map((H)=>new t0(H));return C(X,{code:b.invalid_union,unionErrors:G}),u}}get options(){return this._def.options}}I9.create=(Q,X)=>{return new I9({options:Q,typeName:P.ZodUnion,...p(X)})};var a1=(Q)=>{if(Q instanceof C9)return a1(Q.schema);else if(Q instanceof w1)return a1(Q.innerType());else if(Q instanceof k9)return[Q.value];else if(Q instanceof U6)return Q.options;else if(Q instanceof v9)return t.objectValues(Q.enum);else if(Q instanceof _9)return a1(Q._def.innerType);else if(Q instanceof E9)return[void 0];else if(Q instanceof S9)return[null];else if(Q instanceof z1)return[void 0,...a1(Q.unwrap())];else if(Q instanceof s1)return[null,...a1(Q.unwrap())];else if(Q instanceof BQ)return a1(Q.unwrap());else if(Q instanceof y9)return a1(Q.unwrap());else if(Q instanceof x9)return a1(Q._def.innerType);else return[]};class HQ extends o{_parse(Q){let{ctx:X}=this._processInputParams(Q);if(X.parsedType!==R.object)return C(X,{code:b.invalid_type,expected:R.object,received:X.parsedType}),u;let Y=this.discriminator,W=X.data[Y],$=this.optionsMap.get(W);if(!$)return C(X,{code:b.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[Y]}),u;if(X.common.async)return $._parseAsync({data:X.data,path:X.path,parent:X});else return $._parseSync({data:X.data,path:X.path,parent:X})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(Q,X,Y){let W=new Map;for(let $ of X){let J=a1($.shape[Q]);if(!J.length)throw Error(`A discriminator value for key \`${Q}\` could not be extracted from all schema options`);for(let G of J){if(W.has(G))throw Error(`Discriminator property ${String(Q)} has duplicate value ${String(G)}`);W.set(G,$)}}return new HQ({typeName:P.ZodDiscriminatedUnion,discriminator:Q,options:X,optionsMap:W,...p(Y)})}}function aY(Q,X){let Y=h1(Q),W=h1(X);if(Q===X)return{valid:!0,data:Q};else if(Y===R.object&&W===R.object){let $=t.objectKeys(X),J=t.objectKeys(Q).filter((H)=>$.indexOf(H)!==-1),G={...Q,...X};for(let H of J){let B=aY(Q[H],X[H]);if(!B.valid)return{valid:!1};G[H]=B.data}return{valid:!0,data:G}}else if(Y===R.array&&W===R.array){if(Q.length!==X.length)return{valid:!1};let $=[];for(let J=0;J<Q.length;J++){let G=Q[J],H=X[J],B=aY(G,H);if(!B.valid)return{valid:!1};$.push(B.data)}return{valid:!0,data:$}}else if(Y===R.date&&W===R.date&&+Q===+X)return{valid:!0,data:Q};else return{valid:!1}}class T9 extends o{_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q),W=($,J)=>{if(JQ($)||JQ(J))return u;let G=aY($.value,J.value);if(!G.valid)return C(Y,{code:b.invalid_intersection_types}),u;if(GQ($)||GQ(J))X.dirty();return{status:X.value,value:G.data}};if(Y.common.async)return Promise.all([this._def.left._parseAsync({data:Y.data,path:Y.path,parent:Y}),this._def.right._parseAsync({data:Y.data,path:Y.path,parent:Y})]).then(([$,J])=>W($,J));else return W(this._def.left._parseSync({data:Y.data,path:Y.path,parent:Y}),this._def.right._parseSync({data:Y.data,path:Y.path,parent:Y}))}}T9.create=(Q,X,Y)=>{return new T9({left:Q,right:X,typeName:P.ZodIntersection,...p(Y)})};class l1 extends o{_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q);if(Y.parsedType!==R.array)return C(Y,{code:b.invalid_type,expected:R.array,received:Y.parsedType}),u;if(Y.data.length<this._def.items.length)return C(Y,{code:b.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),u;if(!this._def.rest&&Y.data.length>this._def.items.length)C(Y,{code:b.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),X.dirty();let $=[...Y.data].map((J,G)=>{let H=this._def.items[G]||this._def.rest;if(!H)return null;return H._parse(new q1(Y,J,Y.path,G))}).filter((J)=>!!J);if(Y.common.async)return Promise.all($).then((J)=>{return k0.mergeArray(X,J)});else return k0.mergeArray(X,$)}get items(){return this._def.items}rest(Q){return new l1({...this._def,rest:Q})}}l1.create=(Q,X)=>{if(!Array.isArray(Q))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new l1({items:Q,typeName:P.ZodTuple,rest:null,...p(X)})};class C8 extends o{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q);if(Y.parsedType!==R.object)return C(Y,{code:b.invalid_type,expected:R.object,received:Y.parsedType}),u;let W=[],$=this._def.keyType,J=this._def.valueType;for(let G in Y.data)W.push({key:$._parse(new q1(Y,G,Y.path,G)),value:J._parse(new q1(Y,Y.data[G],Y.path,G)),alwaysSet:G in Y.data});if(Y.common.async)return k0.mergeObjectAsync(X,W);else return k0.mergeObjectSync(X,W)}get element(){return this._def.valueType}static create(Q,X,Y){if(X instanceof o)return new C8({keyType:Q,valueType:X,typeName:P.ZodRecord,...p(Y)});return new C8({keyType:j1.create(),valueType:Q,typeName:P.ZodRecord,...p(X)})}}class k8 extends o{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q);if(Y.parsedType!==R.map)return C(Y,{code:b.invalid_type,expected:R.map,received:Y.parsedType}),u;let W=this._def.keyType,$=this._def.valueType,J=[...Y.data.entries()].map(([G,H],B)=>{return{key:W._parse(new q1(Y,G,Y.path,[B,"key"])),value:$._parse(new q1(Y,H,Y.path,[B,"value"]))}});if(Y.common.async){let G=new Map;return Promise.resolve().then(async()=>{for(let H of J){let B=await H.key,z=await H.value;if(B.status==="aborted"||z.status==="aborted")return u;if(B.status==="dirty"||z.status==="dirty")X.dirty();G.set(B.value,z.value)}return{status:X.value,value:G}})}else{let G=new Map;for(let H of J){let{key:B,value:z}=H;if(B.status==="aborted"||z.status==="aborted")return u;if(B.status==="dirty"||z.status==="dirty")X.dirty();G.set(B.value,z.value)}return{status:X.value,value:G}}}}k8.create=(Q,X,Y)=>{return new k8({valueType:X,keyType:Q,typeName:P.ZodMap,...p(Y)})};class i6 extends o{_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q);if(Y.parsedType!==R.set)return C(Y,{code:b.invalid_type,expected:R.set,received:Y.parsedType}),u;let W=this._def;if(W.minSize!==null){if(Y.data.size<W.minSize.value)C(Y,{code:b.too_small,minimum:W.minSize.value,type:"set",inclusive:!0,exact:!1,message:W.minSize.message}),X.dirty()}if(W.maxSize!==null){if(Y.data.size>W.maxSize.value)C(Y,{code:b.too_big,maximum:W.maxSize.value,type:"set",inclusive:!0,exact:!1,message:W.maxSize.message}),X.dirty()}let $=this._def.valueType;function J(H){let B=new Set;for(let z of H){if(z.status==="aborted")return u;if(z.status==="dirty")X.dirty();B.add(z.value)}return{status:X.value,value:B}}let G=[...Y.data.values()].map((H,B)=>$._parse(new q1(Y,H,Y.path,B)));if(Y.common.async)return Promise.all(G).then((H)=>J(H));else return J(G)}min(Q,X){return new i6({...this._def,minSize:{value:Q,message:_.toString(X)}})}max(Q,X){return new i6({...this._def,maxSize:{value:Q,message:_.toString(X)}})}size(Q,X){return this.min(Q,X).max(Q,X)}nonempty(Q){return this.min(1,Q)}}i6.create=(Q,X)=>{return new i6({valueType:Q,minSize:null,maxSize:null,typeName:P.ZodSet,...p(X)})};class Z9 extends o{constructor(){super(...arguments);this.validate=this.implement}_parse(Q){let{ctx:X}=this._processInputParams(Q);if(X.parsedType!==R.function)return C(X,{code:b.invalid_type,expected:R.function,received:X.parsedType}),u;function Y(G,H){return S8({data:G,path:X.path,errorMaps:[X.common.contextualErrorMap,X.schemaErrorMap,M9(),t1].filter((B)=>!!B),issueData:{code:b.invalid_arguments,argumentsError:H}})}function W(G,H){return S8({data:G,path:X.path,errorMaps:[X.common.contextualErrorMap,X.schemaErrorMap,M9(),t1].filter((B)=>!!B),issueData:{code:b.invalid_return_type,returnTypeError:H}})}let $={errorMap:X.common.contextualErrorMap},J=X.data;if(this._def.returns instanceof n6){let G=this;return u0(async function(...H){let B=new t0([]),z=await G._def.args.parseAsync(H,$).catch((A)=>{throw B.addIssue(Y(H,A)),B}),K=await Reflect.apply(J,this,z);return await G._def.returns._def.type.parseAsync(K,$).catch((A)=>{throw B.addIssue(W(K,A)),B})})}else{let G=this;return u0(function(...H){let B=G._def.args.safeParse(H,$);if(!B.success)throw new t0([Y(H,B.error)]);let z=Reflect.apply(J,this,B.data),K=G._def.returns.safeParse(z,$);if(!K.success)throw new t0([W(z,K.error)]);return K.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...Q){return new Z9({...this._def,args:l1.create(Q).rest(D6.create())})}returns(Q){return new Z9({...this._def,returns:Q})}implement(Q){return this.parse(Q)}strictImplement(Q){return this.parse(Q)}static create(Q,X,Y){return new Z9({args:Q?Q:l1.create([]).rest(D6.create()),returns:X||D6.create(),typeName:P.ZodFunction,...p(Y)})}}class C9 extends o{get schema(){return this._def.getter()}_parse(Q){let{ctx:X}=this._processInputParams(Q);return this._def.getter()._parse({data:X.data,path:X.path,parent:X})}}C9.create=(Q,X)=>{return new C9({getter:Q,typeName:P.ZodLazy,...p(X)})};class k9 extends o{_parse(Q){if(Q.data!==this._def.value){let X=this._getOrReturnCtx(Q);return C(X,{received:X.data,code:b.invalid_literal,expected:this._def.value}),u}return{status:"valid",value:Q.data}}get value(){return this._def.value}}k9.create=(Q,X)=>{return new k9({value:Q,typeName:P.ZodLiteral,...p(X)})};function kG(Q,X){return new U6({values:Q,typeName:P.ZodEnum,...p(X)})}class U6 extends o{_parse(Q){if(typeof Q.data!=="string"){let X=this._getOrReturnCtx(Q),Y=this._def.values;return C(X,{expected:t.joinValues(Y),received:X.parsedType,code:b.invalid_type}),u}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(Q.data)){let X=this._getOrReturnCtx(Q),Y=this._def.values;return C(X,{received:X.data,code:b.invalid_enum_value,options:Y}),u}return u0(Q.data)}get options(){return this._def.values}get enum(){let Q={};for(let X of this._def.values)Q[X]=X;return Q}get Values(){let Q={};for(let X of this._def.values)Q[X]=X;return Q}get Enum(){let Q={};for(let X of this._def.values)Q[X]=X;return Q}extract(Q,X=this._def){return U6.create(Q,{...this._def,...X})}exclude(Q,X=this._def){return U6.create(this.options.filter((Y)=>!Q.includes(Y)),{...this._def,...X})}}U6.create=kG;class v9 extends o{_parse(Q){let X=t.getValidEnumValues(this._def.values),Y=this._getOrReturnCtx(Q);if(Y.parsedType!==R.string&&Y.parsedType!==R.number){let W=t.objectValues(X);return C(Y,{expected:t.joinValues(W),received:Y.parsedType,code:b.invalid_type}),u}if(!this._cache)this._cache=new Set(t.getValidEnumValues(this._def.values));if(!this._cache.has(Q.data)){let W=t.objectValues(X);return C(Y,{received:Y.data,code:b.invalid_enum_value,options:W}),u}return u0(Q.data)}get enum(){return this._def.values}}v9.create=(Q,X)=>{return new v9({values:Q,typeName:P.ZodNativeEnum,...p(X)})};class n6 extends o{unwrap(){return this._def.type}_parse(Q){let{ctx:X}=this._processInputParams(Q);if(X.parsedType!==R.promise&&X.common.async===!1)return C(X,{code:b.invalid_type,expected:R.promise,received:X.parsedType}),u;let Y=X.parsedType===R.promise?X.data:Promise.resolve(X.data);return u0(Y.then((W)=>{return this._def.type.parseAsync(W,{path:X.path,errorMap:X.common.contextualErrorMap})}))}}n6.create=(Q,X)=>{return new n6({type:Q,typeName:P.ZodPromise,...p(X)})};class w1 extends o{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===P.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q),W=this._def.effect||null,$={addIssue:(J)=>{if(C(Y,J),J.fatal)X.abort();else X.dirty()},get path(){return Y.path}};if($.addIssue=$.addIssue.bind($),W.type==="preprocess"){let J=W.transform(Y.data,$);if(Y.common.async)return Promise.resolve(J).then(async(G)=>{if(X.value==="aborted")return u;let H=await this._def.schema._parseAsync({data:G,path:Y.path,parent:Y});if(H.status==="aborted")return u;if(H.status==="dirty")return c6(H.value);if(X.value==="dirty")return c6(H.value);return H});else{if(X.value==="aborted")return u;let G=this._def.schema._parseSync({data:J,path:Y.path,parent:Y});if(G.status==="aborted")return u;if(G.status==="dirty")return c6(G.value);if(X.value==="dirty")return c6(G.value);return G}}if(W.type==="refinement"){let J=(G)=>{let H=W.refinement(G,$);if(Y.common.async)return Promise.resolve(H);if(H instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return G};if(Y.common.async===!1){let G=this._def.schema._parseSync({data:Y.data,path:Y.path,parent:Y});if(G.status==="aborted")return u;if(G.status==="dirty")X.dirty();return J(G.value),{status:X.value,value:G.value}}else return this._def.schema._parseAsync({data:Y.data,path:Y.path,parent:Y}).then((G)=>{if(G.status==="aborted")return u;if(G.status==="dirty")X.dirty();return J(G.value).then(()=>{return{status:X.value,value:G.value}})})}if(W.type==="transform")if(Y.common.async===!1){let J=this._def.schema._parseSync({data:Y.data,path:Y.path,parent:Y});if(!F6(J))return u;let G=W.transform(J.value,$);if(G instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:X.value,value:G}}else return this._def.schema._parseAsync({data:Y.data,path:Y.path,parent:Y}).then((J)=>{if(!F6(J))return u;return Promise.resolve(W.transform(J.value,$)).then((G)=>({status:X.value,value:G}))});t.assertNever(W)}}w1.create=(Q,X,Y)=>{return new w1({schema:Q,typeName:P.ZodEffects,effect:X,...p(Y)})};w1.createWithPreprocess=(Q,X,Y)=>{return new w1({schema:X,effect:{type:"preprocess",transform:Q},typeName:P.ZodEffects,...p(Y)})};class z1 extends o{_parse(Q){if(this._getType(Q)===R.undefined)return u0(void 0);return this._def.innerType._parse(Q)}unwrap(){return this._def.innerType}}z1.create=(Q,X)=>{return new z1({innerType:Q,typeName:P.ZodOptional,...p(X)})};class s1 extends o{_parse(Q){if(this._getType(Q)===R.null)return u0(null);return this._def.innerType._parse(Q)}unwrap(){return this._def.innerType}}s1.create=(Q,X)=>{return new s1({innerType:Q,typeName:P.ZodNullable,...p(X)})};class _9 extends o{_parse(Q){let{ctx:X}=this._processInputParams(Q),Y=X.data;if(X.parsedType===R.undefined)Y=this._def.defaultValue();return this._def.innerType._parse({data:Y,path:X.path,parent:X})}removeDefault(){return this._def.innerType}}_9.create=(Q,X)=>{return new _9({innerType:Q,typeName:P.ZodDefault,defaultValue:typeof X.default==="function"?X.default:()=>X.default,...p(X)})};class x9 extends o{_parse(Q){let{ctx:X}=this._processInputParams(Q),Y={...X,common:{...X.common,issues:[]}},W=this._def.innerType._parse({data:Y.data,path:Y.path,parent:{...Y}});if(b9(W))return W.then(($)=>{return{status:"valid",value:$.status==="valid"?$.value:this._def.catchValue({get error(){return new t0(Y.common.issues)},input:Y.data})}});else return{status:"valid",value:W.status==="valid"?W.value:this._def.catchValue({get error(){return new t0(Y.common.issues)},input:Y.data})}}removeCatch(){return this._def.innerType}}x9.create=(Q,X)=>{return new x9({innerType:Q,typeName:P.ZodCatch,catchValue:typeof X.catch==="function"?X.catch:()=>X.catch,...p(X)})};class v8 extends o{_parse(Q){if(this._getType(Q)!==R.nan){let Y=this._getOrReturnCtx(Q);return C(Y,{code:b.invalid_type,expected:R.nan,received:Y.parsedType}),u}return{status:"valid",value:Q.data}}}v8.create=(Q)=>{return new v8({typeName:P.ZodNaN,...p(Q)})};var wN=Symbol("zod_brand");class BQ extends o{_parse(Q){let{ctx:X}=this._processInputParams(Q),Y=X.data;return this._def.type._parse({data:Y,path:X.path,parent:X})}unwrap(){return this._def.type}}class _8 extends o{_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q);if(Y.common.async)return(async()=>{let $=await this._def.in._parseAsync({data:Y.data,path:Y.path,parent:Y});if($.status==="aborted")return u;if($.status==="dirty")return X.dirty(),c6($.value);else return this._def.out._parseAsync({data:$.value,path:Y.path,parent:Y})})();else{let W=this._def.in._parseSync({data:Y.data,path:Y.path,parent:Y});if(W.status==="aborted")return u;if(W.status==="dirty")return X.dirty(),{status:"dirty",value:W.value};else return this._def.out._parseSync({data:W.value,path:Y.path,parent:Y})}}static create(Q,X){return new _8({in:Q,out:X,typeName:P.ZodPipeline})}}class y9 extends o{_parse(Q){let X=this._def.innerType._parse(Q),Y=(W)=>{if(F6(W))W.value=Object.freeze(W.value);return W};return b9(X)?X.then((W)=>Y(W)):Y(X)}unwrap(){return this._def.innerType}}y9.create=(Q,X)=>{return new y9({innerType:Q,typeName:P.ZodReadonly,...p(X)})};function SG(Q,X){let Y=typeof Q==="function"?Q(X):typeof Q==="string"?{message:Q}:Q;return typeof Y==="string"?{message:Y}:Y}function vG(Q,X={},Y){if(Q)return d6.create().superRefine((W,$)=>{let J=Q(W);if(J instanceof Promise)return J.then((G)=>{if(!G){let H=SG(X,W),B=H.fatal??Y??!0;$.addIssue({code:"custom",...H,fatal:B})}});if(!J){let G=SG(X,W),H=G.fatal??Y??!0;$.addIssue({code:"custom",...G,fatal:H})}return});return d6.create()}var MN={object:M0.lazycreate},P;(function(Q){Q.ZodString="ZodString",Q.ZodNumber="ZodNumber",Q.ZodNaN="ZodNaN",Q.ZodBigInt="ZodBigInt",Q.ZodBoolean="ZodBoolean",Q.ZodDate="ZodDate",Q.ZodSymbol="ZodSymbol",Q.ZodUndefined="ZodUndefined",Q.ZodNull="ZodNull",Q.ZodAny="ZodAny",Q.ZodUnknown="ZodUnknown",Q.ZodNever="ZodNever",Q.ZodVoid="ZodVoid",Q.ZodArray="ZodArray",Q.ZodObject="ZodObject",Q.ZodUnion="ZodUnion",Q.ZodDiscriminatedUnion="ZodDiscriminatedUnion",Q.ZodIntersection="ZodIntersection",Q.ZodTuple="ZodTuple",Q.ZodRecord="ZodRecord",Q.ZodMap="ZodMap",Q.ZodSet="ZodSet",Q.ZodFunction="ZodFunction",Q.ZodLazy="ZodLazy",Q.ZodLiteral="ZodLiteral",Q.ZodEnum="ZodEnum",Q.ZodEffects="ZodEffects",Q.ZodNativeEnum="ZodNativeEnum",Q.ZodOptional="ZodOptional",Q.ZodNullable="ZodNullable",Q.ZodDefault="ZodDefault",Q.ZodCatch="ZodCatch",Q.ZodPromise="ZodPromise",Q.ZodBranded="ZodBranded",Q.ZodPipeline="ZodPipeline",Q.ZodReadonly="ZodReadonly"})(P||(P={}));var bN=(Q,X={message:`Input not instance of ${Q.name}`})=>vG((Y)=>Y instanceof Q,X),_G=j1.create,xG=L6.create,PN=v8.create,ZN=O6.create,yG=R9.create,RN=p6.create,EN=I8.create,SN=E9.create,IN=S9.create,TN=d6.create,CN=D6.create,kN=u1.create,vN=T8.create,_N=N1.create,sY=M0.create,xN=M0.strictCreate,yN=I9.create,fN=HQ.create,gN=T9.create,hN=l1.create,uN=C8.create,lN=k8.create,mN=i6.create,cN=Z9.create,pN=C9.create,dN=k9.create,iN=U6.create,nN=v9.create,oN=n6.create,rN=w1.create,tN=z1.create,aN=s1.create,sN=w1.createWithPreprocess,eN=_8.create,Qq=()=>_G().optional(),Xq=()=>xG().optional(),Yq=()=>yG().optional(),Wq={string:(Q)=>j1.create({...Q,coerce:!0}),number:(Q)=>L6.create({...Q,coerce:!0}),boolean:(Q)=>R9.create({...Q,coerce:!0}),bigint:(Q)=>O6.create({...Q,coerce:!0}),date:(Q)=>p6.create({...Q,coerce:!0})};var $q=u;var KQ=Object.freeze({status:"aborted"});function q(Q,X,Y){function W(H,B){var z;Object.defineProperty(H,"_zod",{value:H._zod??{},enumerable:!1}),(z=H._zod).traits??(z.traits=new Set),H._zod.traits.add(Q),X(H,B);for(let K in G.prototype)if(!(K in H))Object.defineProperty(H,K,{value:G.prototype[K].bind(H)});H._zod.constr=G,H._zod.def=B}let $=Y?.Parent??Object;class J extends ${}Object.defineProperty(J,"name",{value:Q});function G(H){var B;let z=Y?.Parent?new J:this;W(z,H),(B=z._zod).deferred??(B.deferred=[]);for(let K of z._zod.deferred)K();return z}return Object.defineProperty(G,"init",{value:W}),Object.defineProperty(G,Symbol.hasInstance,{value:(H)=>{if(Y?.Parent&&H instanceof Y.Parent)return!0;return H?._zod?.traits?.has(Q)}}),Object.defineProperty(G,"name",{value:Q}),G}var fG=Symbol("zod_brand");class j6 extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}var zQ={};function a0(Q){if(Q)Object.assign(zQ,Q);return zQ}var a={};$Q(a,{unwrapMessage:()=>x8,stringifyPrimitive:()=>FQ,required:()=>wq,randomString:()=>Aq,propertyKeyTypes:()=>$7,promiseAllObject:()=>Vq,primitiveTypes:()=>gG,prefixIssues:()=>m1,pick:()=>Oq,partial:()=>qq,optionalKeys:()=>J7,omit:()=>Uq,numKeys:()=>Fq,nullish:()=>g8,normalizeParams:()=>g,merge:()=>Nq,jsonStringifyReplacer:()=>Q7,joinValues:()=>VQ,issue:()=>H7,isPlainObject:()=>g9,isObject:()=>f9,getSizableOrigin:()=>uG,getParsedType:()=>Dq,getLengthableOrigin:()=>u8,getEnumValues:()=>y8,getElementAtPath:()=>Kq,floatSafeRemainder:()=>X7,finalizeIssue:()=>M1,extend:()=>jq,escapeRegex:()=>N6,esc:()=>o6,defineLazy:()=>A0,createTransparentProxy:()=>Lq,clone:()=>s0,cleanRegex:()=>h8,cleanEnum:()=>Mq,captureStackTrace:()=>AQ,cached:()=>f8,assignProp:()=>Y7,assertNotEqual:()=>Gq,assertNever:()=>Bq,assertIs:()=>Hq,assertEqual:()=>Jq,assert:()=>zq,allowsEval:()=>W7,aborted:()=>r6,NUMBER_FORMAT_RANGES:()=>G7,Class:()=>lG,BIGINT_FORMAT_RANGES:()=>hG});function Jq(Q){return Q}function Gq(Q){return Q}function Hq(Q){}function Bq(Q){throw Error()}function zq(Q){}function y8(Q){let X=Object.values(Q).filter((W)=>typeof W==="number");return Object.entries(Q).filter(([W,$])=>X.indexOf(+W)===-1).map(([W,$])=>$)}function VQ(Q,X="|"){return Q.map((Y)=>FQ(Y)).join(X)}function Q7(Q,X){if(typeof X==="bigint")return X.toString();return X}function f8(Q){return{get value(){{let Y=Q();return Object.defineProperty(this,"value",{value:Y}),Y}throw Error("cached value already set")}}}function g8(Q){return Q===null||Q===void 0}function h8(Q){let X=Q.startsWith("^")?1:0,Y=Q.endsWith("$")?Q.length-1:Q.length;return Q.slice(X,Y)}function X7(Q,X){let Y=(Q.toString().split(".")[1]||"").length,W=(X.toString().split(".")[1]||"").length,$=Y>W?Y:W,J=Number.parseInt(Q.toFixed($).replace(".","")),G=Number.parseInt(X.toFixed($).replace(".",""));return J%G/10**$}function A0(Q,X,Y){Object.defineProperty(Q,X,{get(){{let $=Y();return Q[X]=$,$}throw Error("cached value already set")},set($){Object.defineProperty(Q,X,{value:$})},configurable:!0})}function Y7(Q,X,Y){Object.defineProperty(Q,X,{value:Y,writable:!0,enumerable:!0,configurable:!0})}function Kq(Q,X){if(!X)return Q;return X.reduce((Y,W)=>Y?.[W],Q)}function Vq(Q){let X=Object.keys(Q),Y=X.map((W)=>Q[W]);return Promise.all(Y).then((W)=>{let $={};for(let J=0;J<X.length;J++)$[X[J]]=W[J];return $})}function Aq(Q=10){let Y="";for(let W=0;W<Q;W++)Y+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return Y}function o6(Q){return JSON.stringify(Q)}var AQ=Error.captureStackTrace?Error.captureStackTrace:(...Q)=>{};function f9(Q){return typeof Q==="object"&&Q!==null&&!Array.isArray(Q)}var W7=f8(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(Q){return!1}});function g9(Q){if(f9(Q)===!1)return!1;let X=Q.constructor;if(X===void 0)return!0;let Y=X.prototype;if(f9(Y)===!1)return!1;if(Object.prototype.hasOwnProperty.call(Y,"isPrototypeOf")===!1)return!1;return!0}function Fq(Q){let X=0;for(let Y in Q)if(Object.prototype.hasOwnProperty.call(Q,Y))X++;return X}var Dq=(Q)=>{let X=typeof Q;switch(X){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(Q)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray(Q))return"array";if(Q===null)return"null";if(Q.then&&typeof Q.then==="function"&&Q.catch&&typeof Q.catch==="function")return"promise";if(typeof Map<"u"&&Q instanceof Map)return"map";if(typeof Set<"u"&&Q instanceof Set)return"set";if(typeof Date<"u"&&Q instanceof Date)return"date";if(typeof File<"u"&&Q instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${X}`)}},$7=new Set(["string","number","symbol"]),gG=new Set(["string","number","bigint","boolean","symbol","undefined"]);function N6(Q){return Q.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function s0(Q,X,Y){let W=new Q._zod.constr(X??Q._zod.def);if(!X||Y?.parent)W._zod.parent=Q;return W}function g(Q){let X=Q;if(!X)return{};if(typeof X==="string")return{error:()=>X};if(X?.message!==void 0){if(X?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");X.error=X.message}if(delete X.message,typeof X.error==="string")return{...X,error:()=>X.error};return X}function Lq(Q){let X;return new Proxy({},{get(Y,W,$){return X??(X=Q()),Reflect.get(X,W,$)},set(Y,W,$,J){return X??(X=Q()),Reflect.set(X,W,$,J)},has(Y,W){return X??(X=Q()),Reflect.has(X,W)},deleteProperty(Y,W){return X??(X=Q()),Reflect.deleteProperty(X,W)},ownKeys(Y){return X??(X=Q()),Reflect.ownKeys(X)},getOwnPropertyDescriptor(Y,W){return X??(X=Q()),Reflect.getOwnPropertyDescriptor(X,W)},defineProperty(Y,W,$){return X??(X=Q()),Reflect.defineProperty(X,W,$)}})}function FQ(Q){if(typeof Q==="bigint")return Q.toString()+"n";if(typeof Q==="string")return`"${Q}"`;return`${Q}`}function J7(Q){return Object.keys(Q).filter((X)=>{return Q[X]._zod.optin==="optional"&&Q[X]._zod.optout==="optional"})}var G7={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},hG={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function Oq(Q,X){let Y={},W=Q._zod.def;for(let $ in X){if(!($ in W.shape))throw Error(`Unrecognized key: "${$}"`);if(!X[$])continue;Y[$]=W.shape[$]}return s0(Q,{...Q._zod.def,shape:Y,checks:[]})}function Uq(Q,X){let Y={...Q._zod.def.shape},W=Q._zod.def;for(let $ in X){if(!($ in W.shape))throw Error(`Unrecognized key: "${$}"`);if(!X[$])continue;delete Y[$]}return s0(Q,{...Q._zod.def,shape:Y,checks:[]})}function jq(Q,X){if(!g9(X))throw Error("Invalid input to extend: expected a plain object");let Y={...Q._zod.def,get shape(){let W={...Q._zod.def.shape,...X};return Y7(this,"shape",W),W},checks:[]};return s0(Q,Y)}function Nq(Q,X){return s0(Q,{...Q._zod.def,get shape(){let Y={...Q._zod.def.shape,...X._zod.def.shape};return Y7(this,"shape",Y),Y},catchall:X._zod.def.catchall,checks:[]})}function qq(Q,X,Y){let W=X._zod.def.shape,$={...W};if(Y)for(let J in Y){if(!(J in W))throw Error(`Unrecognized key: "${J}"`);if(!Y[J])continue;$[J]=Q?new Q({type:"optional",innerType:W[J]}):W[J]}else for(let J in W)$[J]=Q?new Q({type:"optional",innerType:W[J]}):W[J];return s0(X,{...X._zod.def,shape:$,checks:[]})}function wq(Q,X,Y){let W=X._zod.def.shape,$={...W};if(Y)for(let J in Y){if(!(J in $))throw Error(`Unrecognized key: "${J}"`);if(!Y[J])continue;$[J]=new Q({type:"nonoptional",innerType:W[J]})}else for(let J in W)$[J]=new Q({type:"nonoptional",innerType:W[J]});return s0(X,{...X._zod.def,shape:$,checks:[]})}function r6(Q,X=0){for(let Y=X;Y<Q.issues.length;Y++)if(Q.issues[Y]?.continue!==!0)return!0;return!1}function m1(Q,X){return X.map((Y)=>{var W;return(W=Y).path??(W.path=[]),Y.path.unshift(Q),Y})}function x8(Q){return typeof Q==="string"?Q:Q?.message}function M1(Q,X,Y){let W={...Q,path:Q.path??[]};if(!Q.message){let $=x8(Q.inst?._zod.def?.error?.(Q))??x8(X?.error?.(Q))??x8(Y.customError?.(Q))??x8(Y.localeError?.(Q))??"Invalid input";W.message=$}if(delete W.inst,delete W.continue,!X?.reportInput)delete W.input;return W}function uG(Q){if(Q instanceof Set)return"set";if(Q instanceof Map)return"map";if(Q instanceof File)return"file";return"unknown"}function u8(Q){if(Array.isArray(Q))return"array";if(typeof Q==="string")return"string";return"unknown"}function H7(...Q){let[X,Y,W]=Q;if(typeof X==="string")return{message:X,code:"custom",input:Y,inst:W};return{...X}}function Mq(Q){return Object.entries(Q).filter(([X,Y])=>{return Number.isNaN(Number.parseInt(X,10))}).map((X)=>X[1])}class lG{constructor(...Q){}}var mG=(Q,X)=>{Q.name="$ZodError",Object.defineProperty(Q,"_zod",{value:Q._zod,enumerable:!1}),Object.defineProperty(Q,"issues",{value:X,enumerable:!1}),Object.defineProperty(Q,"message",{get(){return JSON.stringify(X,Q7,2)},enumerable:!0}),Object.defineProperty(Q,"toString",{value:()=>Q.message,enumerable:!1})},DQ=q("$ZodError",mG),l8=q("$ZodError",mG,{Parent:Error});function LQ(Q,X=(Y)=>Y.message){let Y={},W=[];for(let $ of Q.issues)if($.path.length>0)Y[$.path[0]]=Y[$.path[0]]||[],Y[$.path[0]].push(X($));else W.push(X($));return{formErrors:W,fieldErrors:Y}}function OQ(Q,X){let Y=X||function(J){return J.message},W={_errors:[]},$=(J)=>{for(let G of J.issues)if(G.code==="invalid_union"&&G.errors.length)G.errors.map((H)=>$({issues:H}));else if(G.code==="invalid_key")$({issues:G.issues});else if(G.code==="invalid_element")$({issues:G.issues});else if(G.path.length===0)W._errors.push(Y(G));else{let H=W,B=0;while(B<G.path.length){let z=G.path[B];if(B!==G.path.length-1)H[z]=H[z]||{_errors:[]};else H[z]=H[z]||{_errors:[]},H[z]._errors.push(Y(G));H=H[z],B++}}};return $(Q),W}var B7=(Q)=>(X,Y,W,$)=>{let J=W?Object.assign(W,{async:!1}):{async:!1},G=X._zod.run({value:Y,issues:[]},J);if(G instanceof Promise)throw new j6;if(G.issues.length){let H=new($?.Err??Q)(G.issues.map((B)=>M1(B,J,a0())));throw AQ(H,$?.callee),H}return G.value},z7=B7(l8),K7=(Q)=>async(X,Y,W,$)=>{let J=W?Object.assign(W,{async:!0}):{async:!0},G=X._zod.run({value:Y,issues:[]},J);if(G instanceof Promise)G=await G;if(G.issues.length){let H=new($?.Err??Q)(G.issues.map((B)=>M1(B,J,a0())));throw AQ(H,$?.callee),H}return G.value},V7=K7(l8),A7=(Q)=>(X,Y,W)=>{let $=W?{...W,async:!1}:{async:!1},J=X._zod.run({value:Y,issues:[]},$);if(J instanceof Promise)throw new j6;return J.issues.length?{success:!1,error:new(Q??DQ)(J.issues.map((G)=>M1(G,$,a0())))}:{success:!0,data:J.value}},t6=A7(l8),F7=(Q)=>async(X,Y,W)=>{let $=W?Object.assign(W,{async:!0}):{async:!0},J=X._zod.run({value:Y,issues:[]},$);if(J instanceof Promise)J=await J;return J.issues.length?{success:!1,error:new Q(J.issues.map((G)=>M1(G,$,a0())))}:{success:!0,data:J.value}},a6=F7(l8);var cG=/^[cC][^\s-]{8,}$/,pG=/^[0-9a-z]+$/,dG=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,iG=/^[0-9a-vA-V]{20}$/,nG=/^[A-Za-z0-9]{27}$/,oG=/^[a-zA-Z0-9_-]{21}$/,rG=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var tG=/^([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})$/,D7=(Q)=>{if(!Q)return/^([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)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${Q}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)};var aG=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;function sG(){return new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")}var eG=/^(?:(?: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])$/,QH=/^(([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})$/,XH=/^((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])$/,YH=/^(([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])$/,WH=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,L7=/^[A-Za-z0-9_-]*$/,$H=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var JH=/^\+(?:[0-9]){6,14}[0-9]$/,GH="(?:(?:\\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])))",HH=new RegExp(`^${GH}$`);function BH(Q){return typeof Q.precision==="number"?Q.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":Q.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${Q.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function zH(Q){return new RegExp(`^${BH(Q)}$`)}function KH(Q){let X=BH({precision:Q.precision}),Y=["Z"];if(Q.local)Y.push("");if(Q.offset)Y.push("([+-]\\d{2}:\\d{2})");let W=`${X}(?:${Y.join("|")})`;return new RegExp(`^${GH}T(?:${W})$`)}var VH=(Q)=>{let X=Q?`[\\s\\S]{${Q?.minimum??0},${Q?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${X}$`)},AH=/^\d+n?$/,FH=/^\d+$/,DH=/^-?\d+(?:\.\d+)?/i,LH=/true|false/i,OH=/null/i;var UH=/^[^A-Z]*$/,jH=/^[^a-z]*$/;var v0=q("$ZodCheck",(Q,X)=>{var Y;Q._zod??(Q._zod={}),Q._zod.def=X,(Y=Q._zod).onattach??(Y.onattach=[])}),NH={number:"number",bigint:"bigint",object:"date"},O7=q("$ZodCheckLessThan",(Q,X)=>{v0.init(Q,X);let Y=NH[typeof X.value];Q._zod.onattach.push((W)=>{let $=W._zod.bag,J=(X.inclusive?$.maximum:$.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(X.value<J)if(X.inclusive)$.maximum=X.value;else $.exclusiveMaximum=X.value}),Q._zod.check=(W)=>{if(X.inclusive?W.value<=X.value:W.value<X.value)return;W.issues.push({origin:Y,code:"too_big",maximum:X.value,input:W.value,inclusive:X.inclusive,inst:Q,continue:!X.abort})}}),U7=q("$ZodCheckGreaterThan",(Q,X)=>{v0.init(Q,X);let Y=NH[typeof X.value];Q._zod.onattach.push((W)=>{let $=W._zod.bag,J=(X.inclusive?$.minimum:$.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(X.value>J)if(X.inclusive)$.minimum=X.value;else $.exclusiveMinimum=X.value}),Q._zod.check=(W)=>{if(X.inclusive?W.value>=X.value:W.value>X.value)return;W.issues.push({origin:Y,code:"too_small",minimum:X.value,input:W.value,inclusive:X.inclusive,inst:Q,continue:!X.abort})}}),qH=q("$ZodCheckMultipleOf",(Q,X)=>{v0.init(Q,X),Q._zod.onattach.push((Y)=>{var W;(W=Y._zod.bag).multipleOf??(W.multipleOf=X.value)}),Q._zod.check=(Y)=>{if(typeof Y.value!==typeof X.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof Y.value==="bigint"?Y.value%X.value===BigInt(0):X7(Y.value,X.value)===0)return;Y.issues.push({origin:typeof Y.value,code:"not_multiple_of",divisor:X.value,input:Y.value,inst:Q,continue:!X.abort})}}),wH=q("$ZodCheckNumberFormat",(Q,X)=>{v0.init(Q,X),X.format=X.format||"float64";let Y=X.format?.includes("int"),W=Y?"int":"number",[$,J]=G7[X.format];Q._zod.onattach.push((G)=>{let H=G._zod.bag;if(H.format=X.format,H.minimum=$,H.maximum=J,Y)H.pattern=FH}),Q._zod.check=(G)=>{let H=G.value;if(Y){if(!Number.isInteger(H)){G.issues.push({expected:W,format:X.format,code:"invalid_type",input:H,inst:Q});return}if(!Number.isSafeInteger(H)){if(H>0)G.issues.push({input:H,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:Q,origin:W,continue:!X.abort});else G.issues.push({input:H,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:Q,origin:W,continue:!X.abort});return}}if(H<$)G.issues.push({origin:"number",input:H,code:"too_small",minimum:$,inclusive:!0,inst:Q,continue:!X.abort});if(H>J)G.issues.push({origin:"number",input:H,code:"too_big",maximum:J,inst:Q})}});var MH=q("$ZodCheckMaxLength",(Q,X)=>{var Y;v0.init(Q,X),(Y=Q._zod.def).when??(Y.when=(W)=>{let $=W.value;return!g8($)&&$.length!==void 0}),Q._zod.onattach.push((W)=>{let $=W._zod.bag.maximum??Number.POSITIVE_INFINITY;if(X.maximum<$)W._zod.bag.maximum=X.maximum}),Q._zod.check=(W)=>{let $=W.value;if($.length<=X.maximum)return;let G=u8($);W.issues.push({origin:G,code:"too_big",maximum:X.maximum,inclusive:!0,input:$,inst:Q,continue:!X.abort})}}),bH=q("$ZodCheckMinLength",(Q,X)=>{var Y;v0.init(Q,X),(Y=Q._zod.def).when??(Y.when=(W)=>{let $=W.value;return!g8($)&&$.length!==void 0}),Q._zod.onattach.push((W)=>{let $=W._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(X.minimum>$)W._zod.bag.minimum=X.minimum}),Q._zod.check=(W)=>{let $=W.value;if($.length>=X.minimum)return;let G=u8($);W.issues.push({origin:G,code:"too_small",minimum:X.minimum,inclusive:!0,input:$,inst:Q,continue:!X.abort})}}),PH=q("$ZodCheckLengthEquals",(Q,X)=>{var Y;v0.init(Q,X),(Y=Q._zod.def).when??(Y.when=(W)=>{let $=W.value;return!g8($)&&$.length!==void 0}),Q._zod.onattach.push((W)=>{let $=W._zod.bag;$.minimum=X.length,$.maximum=X.length,$.length=X.length}),Q._zod.check=(W)=>{let $=W.value,J=$.length;if(J===X.length)return;let G=u8($),H=J>X.length;W.issues.push({origin:G,...H?{code:"too_big",maximum:X.length}:{code:"too_small",minimum:X.length},inclusive:!0,exact:!0,input:W.value,inst:Q,continue:!X.abort})}}),c8=q("$ZodCheckStringFormat",(Q,X)=>{var Y,W;if(v0.init(Q,X),Q._zod.onattach.push(($)=>{let J=$._zod.bag;if(J.format=X.format,X.pattern)J.patterns??(J.patterns=new Set),J.patterns.add(X.pattern)}),X.pattern)(Y=Q._zod).check??(Y.check=($)=>{if(X.pattern.lastIndex=0,X.pattern.test($.value))return;$.issues.push({origin:"string",code:"invalid_format",format:X.format,input:$.value,...X.pattern?{pattern:X.pattern.toString()}:{},inst:Q,continue:!X.abort})});else(W=Q._zod).check??(W.check=()=>{})}),ZH=q("$ZodCheckRegex",(Q,X)=>{c8.init(Q,X),Q._zod.check=(Y)=>{if(X.pattern.lastIndex=0,X.pattern.test(Y.value))return;Y.issues.push({origin:"string",code:"invalid_format",format:"regex",input:Y.value,pattern:X.pattern.toString(),inst:Q,continue:!X.abort})}}),RH=q("$ZodCheckLowerCase",(Q,X)=>{X.pattern??(X.pattern=UH),c8.init(Q,X)}),EH=q("$ZodCheckUpperCase",(Q,X)=>{X.pattern??(X.pattern=jH),c8.init(Q,X)}),SH=q("$ZodCheckIncludes",(Q,X)=>{v0.init(Q,X);let Y=N6(X.includes),W=new RegExp(typeof X.position==="number"?`^.{${X.position}}${Y}`:Y);X.pattern=W,Q._zod.onattach.push(($)=>{let J=$._zod.bag;J.patterns??(J.patterns=new Set),J.patterns.add(W)}),Q._zod.check=($)=>{if($.value.includes(X.includes,X.position))return;$.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:X.includes,input:$.value,inst:Q,continue:!X.abort})}}),IH=q("$ZodCheckStartsWith",(Q,X)=>{v0.init(Q,X);let Y=new RegExp(`^${N6(X.prefix)}.*`);X.pattern??(X.pattern=Y),Q._zod.onattach.push((W)=>{let $=W._zod.bag;$.patterns??($.patterns=new Set),$.patterns.add(Y)}),Q._zod.check=(W)=>{if(W.value.startsWith(X.prefix))return;W.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:X.prefix,input:W.value,inst:Q,continue:!X.abort})}}),TH=q("$ZodCheckEndsWith",(Q,X)=>{v0.init(Q,X);let Y=new RegExp(`.*${N6(X.suffix)}$`);X.pattern??(X.pattern=Y),Q._zod.onattach.push((W)=>{let $=W._zod.bag;$.patterns??($.patterns=new Set),$.patterns.add(Y)}),Q._zod.check=(W)=>{if(W.value.endsWith(X.suffix))return;W.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:X.suffix,input:W.value,inst:Q,continue:!X.abort})}});var CH=q("$ZodCheckOverwrite",(Q,X)=>{v0.init(Q,X),Q._zod.check=(Y)=>{Y.value=X.tx(Y.value)}});class j7{constructor(Q=[]){if(this.content=[],this.indent=0,this)this.args=Q}indented(Q){this.indent+=1,Q(this),this.indent-=1}write(Q){if(typeof Q==="function"){Q(this,{execution:"sync"}),Q(this,{execution:"async"});return}let Y=Q.split(`
17
- `).filter((J)=>J),W=Math.min(...Y.map((J)=>J.length-J.trimStart().length)),$=Y.map((J)=>J.slice(W)).map((J)=>" ".repeat(this.indent*2)+J);for(let J of $)this.content.push(J)}compile(){let Q=Function,X=this?.args,W=[...(this?.content??[""]).map(($)=>` ${$}`)];return new Q(...X,W.join(`
18
- `))}}var vH={major:4,minor:0,patch:0};var G0=q("$ZodType",(Q,X)=>{var Y;Q??(Q={}),Q._zod.def=X,Q._zod.bag=Q._zod.bag||{},Q._zod.version=vH;let W=[...Q._zod.def.checks??[]];if(Q._zod.traits.has("$ZodCheck"))W.unshift(Q);for(let $ of W)for(let J of $._zod.onattach)J(Q);if(W.length===0)(Y=Q._zod).deferred??(Y.deferred=[]),Q._zod.deferred?.push(()=>{Q._zod.run=Q._zod.parse});else{let $=(J,G,H)=>{let B=r6(J),z;for(let K of G){if(K._zod.def.when){if(!K._zod.def.when(J))continue}else if(B)continue;let V=J.issues.length,A=K._zod.check(J);if(A instanceof Promise&&H?.async===!1)throw new j6;if(z||A instanceof Promise)z=(z??Promise.resolve()).then(async()=>{if(await A,J.issues.length===V)return;if(!B)B=r6(J,V)});else{if(J.issues.length===V)continue;if(!B)B=r6(J,V)}}if(z)return z.then(()=>{return J});return J};Q._zod.run=(J,G)=>{let H=Q._zod.parse(J,G);if(H instanceof Promise){if(G.async===!1)throw new j6;return H.then((B)=>$(B,W,G))}return $(H,W,G)}}Q["~standard"]={validate:($)=>{try{let J=t6(Q,$);return J.success?{value:J.data}:{issues:J.error?.issues}}catch(J){return a6(Q,$).then((G)=>G.success?{value:G.data}:{issues:G.error?.issues})}},vendor:"zod",version:1}}),p8=q("$ZodString",(Q,X)=>{G0.init(Q,X),Q._zod.pattern=[...Q?._zod.bag?.patterns??[]].pop()??VH(Q._zod.bag),Q._zod.parse=(Y,W)=>{if(X.coerce)try{Y.value=String(Y.value)}catch($){}if(typeof Y.value==="string")return Y;return Y.issues.push({expected:"string",code:"invalid_type",input:Y.value,inst:Q}),Y}}),F0=q("$ZodStringFormat",(Q,X)=>{c8.init(Q,X),p8.init(Q,X)}),q7=q("$ZodGUID",(Q,X)=>{X.pattern??(X.pattern=tG),F0.init(Q,X)}),w7=q("$ZodUUID",(Q,X)=>{if(X.version){let W={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[X.version];if(W===void 0)throw Error(`Invalid UUID version: "${X.version}"`);X.pattern??(X.pattern=D7(W))}else X.pattern??(X.pattern=D7());F0.init(Q,X)}),M7=q("$ZodEmail",(Q,X)=>{X.pattern??(X.pattern=aG),F0.init(Q,X)}),b7=q("$ZodURL",(Q,X)=>{F0.init(Q,X),Q._zod.check=(Y)=>{try{let W=Y.value,$=new URL(W),J=$.href;if(X.hostname){if(X.hostname.lastIndex=0,!X.hostname.test($.hostname))Y.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:$H.source,input:Y.value,inst:Q,continue:!X.abort})}if(X.protocol){if(X.protocol.lastIndex=0,!X.protocol.test($.protocol.endsWith(":")?$.protocol.slice(0,-1):$.protocol))Y.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:X.protocol.source,input:Y.value,inst:Q,continue:!X.abort})}if(!W.endsWith("/")&&J.endsWith("/"))Y.value=J.slice(0,-1);else Y.value=J;return}catch(W){Y.issues.push({code:"invalid_format",format:"url",input:Y.value,inst:Q,continue:!X.abort})}}}),P7=q("$ZodEmoji",(Q,X)=>{X.pattern??(X.pattern=sG()),F0.init(Q,X)}),Z7=q("$ZodNanoID",(Q,X)=>{X.pattern??(X.pattern=oG),F0.init(Q,X)}),R7=q("$ZodCUID",(Q,X)=>{X.pattern??(X.pattern=cG),F0.init(Q,X)}),E7=q("$ZodCUID2",(Q,X)=>{X.pattern??(X.pattern=pG),F0.init(Q,X)}),S7=q("$ZodULID",(Q,X)=>{X.pattern??(X.pattern=dG),F0.init(Q,X)}),I7=q("$ZodXID",(Q,X)=>{X.pattern??(X.pattern=iG),F0.init(Q,X)}),T7=q("$ZodKSUID",(Q,X)=>{X.pattern??(X.pattern=nG),F0.init(Q,X)}),cH=q("$ZodISODateTime",(Q,X)=>{X.pattern??(X.pattern=KH(X)),F0.init(Q,X)}),pH=q("$ZodISODate",(Q,X)=>{X.pattern??(X.pattern=HH),F0.init(Q,X)}),dH=q("$ZodISOTime",(Q,X)=>{X.pattern??(X.pattern=zH(X)),F0.init(Q,X)}),iH=q("$ZodISODuration",(Q,X)=>{X.pattern??(X.pattern=rG),F0.init(Q,X)}),C7=q("$ZodIPv4",(Q,X)=>{X.pattern??(X.pattern=eG),F0.init(Q,X),Q._zod.onattach.push((Y)=>{let W=Y._zod.bag;W.format="ipv4"})}),k7=q("$ZodIPv6",(Q,X)=>{X.pattern??(X.pattern=QH),F0.init(Q,X),Q._zod.onattach.push((Y)=>{let W=Y._zod.bag;W.format="ipv6"}),Q._zod.check=(Y)=>{try{new URL(`http://[${Y.value}]`)}catch{Y.issues.push({code:"invalid_format",format:"ipv6",input:Y.value,inst:Q,continue:!X.abort})}}}),v7=q("$ZodCIDRv4",(Q,X)=>{X.pattern??(X.pattern=XH),F0.init(Q,X)}),_7=q("$ZodCIDRv6",(Q,X)=>{X.pattern??(X.pattern=YH),F0.init(Q,X),Q._zod.check=(Y)=>{let[W,$]=Y.value.split("/");try{if(!$)throw Error();let J=Number($);if(`${J}`!==$)throw Error();if(J<0||J>128)throw Error();new URL(`http://[${W}]`)}catch{Y.issues.push({code:"invalid_format",format:"cidrv6",input:Y.value,inst:Q,continue:!X.abort})}}});function nH(Q){if(Q==="")return!0;if(Q.length%4!==0)return!1;try{return atob(Q),!0}catch{return!1}}var x7=q("$ZodBase64",(Q,X)=>{X.pattern??(X.pattern=WH),F0.init(Q,X),Q._zod.onattach.push((Y)=>{Y._zod.bag.contentEncoding="base64"}),Q._zod.check=(Y)=>{if(nH(Y.value))return;Y.issues.push({code:"invalid_format",format:"base64",input:Y.value,inst:Q,continue:!X.abort})}});function Pq(Q){if(!L7.test(Q))return!1;let X=Q.replace(/[-_]/g,(W)=>W==="-"?"+":"/"),Y=X.padEnd(Math.ceil(X.length/4)*4,"=");return nH(Y)}var y7=q("$ZodBase64URL",(Q,X)=>{X.pattern??(X.pattern=L7),F0.init(Q,X),Q._zod.onattach.push((Y)=>{Y._zod.bag.contentEncoding="base64url"}),Q._zod.check=(Y)=>{if(Pq(Y.value))return;Y.issues.push({code:"invalid_format",format:"base64url",input:Y.value,inst:Q,continue:!X.abort})}}),f7=q("$ZodE164",(Q,X)=>{X.pattern??(X.pattern=JH),F0.init(Q,X)});function Zq(Q,X=null){try{let Y=Q.split(".");if(Y.length!==3)return!1;let[W]=Y;if(!W)return!1;let $=JSON.parse(atob(W));if("typ"in $&&$?.typ!=="JWT")return!1;if(!$.alg)return!1;if(X&&(!("alg"in $)||$.alg!==X))return!1;return!0}catch{return!1}}var g7=q("$ZodJWT",(Q,X)=>{F0.init(Q,X),Q._zod.check=(Y)=>{if(Zq(Y.value,X.alg))return;Y.issues.push({code:"invalid_format",format:"jwt",input:Y.value,inst:Q,continue:!X.abort})}});var jQ=q("$ZodNumber",(Q,X)=>{G0.init(Q,X),Q._zod.pattern=Q._zod.bag.pattern??DH,Q._zod.parse=(Y,W)=>{if(X.coerce)try{Y.value=Number(Y.value)}catch(G){}let $=Y.value;if(typeof $==="number"&&!Number.isNaN($)&&Number.isFinite($))return Y;let J=typeof $==="number"?Number.isNaN($)?"NaN":!Number.isFinite($)?"Infinity":void 0:void 0;return Y.issues.push({expected:"number",code:"invalid_type",input:$,inst:Q,...J?{received:J}:{}}),Y}}),h7=q("$ZodNumber",(Q,X)=>{wH.init(Q,X),jQ.init(Q,X)}),u7=q("$ZodBoolean",(Q,X)=>{G0.init(Q,X),Q._zod.pattern=LH,Q._zod.parse=(Y,W)=>{if(X.coerce)try{Y.value=Boolean(Y.value)}catch(J){}let $=Y.value;if(typeof $==="boolean")return Y;return Y.issues.push({expected:"boolean",code:"invalid_type",input:$,inst:Q}),Y}}),l7=q("$ZodBigInt",(Q,X)=>{G0.init(Q,X),Q._zod.pattern=AH,Q._zod.parse=(Y,W)=>{if(X.coerce)try{Y.value=BigInt(Y.value)}catch($){}if(typeof Y.value==="bigint")return Y;return Y.issues.push({expected:"bigint",code:"invalid_type",input:Y.value,inst:Q}),Y}});var m7=q("$ZodNull",(Q,X)=>{G0.init(Q,X),Q._zod.pattern=OH,Q._zod.values=new Set([null]),Q._zod.parse=(Y,W)=>{let $=Y.value;if($===null)return Y;return Y.issues.push({expected:"null",code:"invalid_type",input:$,inst:Q}),Y}}),c7=q("$ZodAny",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y)=>Y}),p7=q("$ZodUnknown",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y)=>Y}),d7=q("$ZodNever",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y,W)=>{return Y.issues.push({expected:"never",code:"invalid_type",input:Y.value,inst:Q}),Y}});var i7=q("$ZodDate",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y,W)=>{if(X.coerce)try{Y.value=new Date(Y.value)}catch(H){}let $=Y.value,J=$ instanceof Date;if(J&&!Number.isNaN($.getTime()))return Y;return Y.issues.push({expected:"date",code:"invalid_type",input:$,...J?{received:"Invalid Date"}:{},inst:Q}),Y}});function _H(Q,X,Y){if(Q.issues.length)X.issues.push(...m1(Y,Q.issues));X.value[Y]=Q.value}var n7=q("$ZodArray",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y,W)=>{let $=Y.value;if(!Array.isArray($))return Y.issues.push({expected:"array",code:"invalid_type",input:$,inst:Q}),Y;Y.value=Array($.length);let J=[];for(let G=0;G<$.length;G++){let H=$[G],B=X.element._zod.run({value:H,issues:[]},W);if(B instanceof Promise)J.push(B.then((z)=>_H(z,Y,G)));else _H(B,Y,G)}if(J.length)return Promise.all(J).then(()=>Y);return Y}});function UQ(Q,X,Y){if(Q.issues.length)X.issues.push(...m1(Y,Q.issues));X.value[Y]=Q.value}function xH(Q,X,Y,W){if(Q.issues.length)if(W[Y]===void 0)if(Y in W)X.value[Y]=void 0;else X.value[Y]=Q.value;else X.issues.push(...m1(Y,Q.issues));else if(Q.value===void 0){if(Y in W)X.value[Y]=void 0}else X.value[Y]=Q.value}var NQ=q("$ZodObject",(Q,X)=>{G0.init(Q,X);let Y=f8(()=>{let V=Object.keys(X.shape);for(let F of V)if(!(X.shape[F]instanceof G0))throw Error(`Invalid element at key "${F}": expected a Zod schema`);let A=J7(X.shape);return{shape:X.shape,keys:V,keySet:new Set(V),numKeys:V.length,optionalKeys:new Set(A)}});A0(Q._zod,"propValues",()=>{let V=X.shape,A={};for(let F in V){let L=V[F]._zod;if(L.values){A[F]??(A[F]=new Set);for(let D of L.values)A[F].add(D)}}return A});let W=(V)=>{let A=new j7(["shape","payload","ctx"]),F=Y.value,L=(w)=>{let M=o6(w);return`shape[${M}]._zod.run({ value: input[${M}], issues: [] }, ctx)`};A.write("const input = payload.value;");let D=Object.create(null),O=0;for(let w of F.keys)D[w]=`key_${O++}`;A.write("const newResult = {}");for(let w of F.keys)if(F.optionalKeys.has(w)){let M=D[w];A.write(`const ${M} = ${L(w)};`);let S=o6(w);A.write(`
15
+ depsCount: ${Y},
16
+ deps: ${X}}`};var uy={keyword:"dependencies",type:"object",schemaType:"object",error:qO.error,code(Q){let[Y,X]=ly(Q);wO(Q,Y),NO(Q,X)}};function ly({schema:Q}){let Y={},X={};for(let W in Q){if(W==="__proto__")continue;let $=Array.isArray(Q[W])?Y:X;$[W]=Q[W]}return[Y,X]}function wO(Q,Y=Q.schema){let{gen:X,data:W,it:$}=Q;if(Object.keys(Y).length===0)return;let J=X.let("missing");for(let G in Y){let H=Y[G];if(H.length===0)continue;let B=(0,e4.propertyInData)(X,W,G,$.opts.ownProperties);if(Q.setParams({property:G,depsCount:H.length,deps:H.join(", ")}),$.allErrors)X.if(B,()=>{for(let z of H)(0,e4.checkReportMissingProp)(Q,z)});else X.if(SJ._`${B} && (${(0,e4.checkMissingProp)(Q,H,J)})`),(0,e4.reportMissingProp)(Q,J),X.else()}}qO.validatePropertyDeps=wO;function NO(Q,Y=Q.schema){let{gen:X,data:W,keyword:$,it:J}=Q,G=X.name("valid");for(let H in Y){if((0,gy.alwaysValidSchema)(J,Y[H]))continue;X.if((0,e4.propertyInData)(X,W,H,J.opts.ownProperties),()=>{let B=Q.subschema({keyword:$,schemaProp:H},G);Q.mergeValidEvaluated(B,G)},()=>X.var(G,!0)),Q.ok(G)}}qO.validateSchemaDeps=NO;qO.default=uy});var EO=w((RO)=>{Object.defineProperty(RO,"__esModule",{value:!0});var PO=n(),py=$0(),dy={message:"property name must be valid",params:({params:Q})=>PO._`{propertyName: ${Q.propertyName}}`},iy={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:dy,code(Q){let{gen:Y,schema:X,data:W,it:$}=Q;if((0,py.alwaysValidSchema)($,X))return;let J=Y.name("valid");Y.forIn("key",W,(G)=>{Q.setParams({propertyName:G}),Q.subschema({keyword:"propertyNames",data:G,dataTypes:["string"],propertyName:G,compositeRule:!0},J),Y.if((0,PO.not)(J),()=>{if(Q.error(!0),!$.allErrors)Y.break()})}),Q.ok(J)}};RO.default=iy});var IJ=w((SO)=>{Object.defineProperty(SO,"__esModule",{value:!0});var NX=L1(),y1=n(),oy=K6(),qX=$0(),ry={message:"must NOT have additional properties",params:({params:Q})=>y1._`{additionalProperty: ${Q.additionalProperty}}`},ay={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:ry,code(Q){let{gen:Y,schema:X,parentSchema:W,data:$,errsCount:J,it:G}=Q;if(!J)throw Error("ajv implementation error");let{allErrors:H,opts:B}=G;if(G.props=!0,B.removeAdditional!=="all"&&(0,qX.alwaysValidSchema)(G,X))return;let z=(0,NX.allSchemaProperties)(W.properties),K=(0,NX.allSchemaProperties)(W.patternProperties);V(),Q.ok(y1._`${J} === ${oy.default.errors}`);function V(){Y.forIn("key",$,(O)=>{if(!z.length&&!K.length)D(O);else Y.if(F(O),()=>D(O))})}function F(O){let U;if(z.length>8){let N=(0,qX.schemaRefOrVal)(G,W.properties,"properties");U=(0,NX.isOwnProperty)(Y,N,O)}else if(z.length)U=(0,y1.or)(...z.map((N)=>y1._`${O} === ${N}`));else U=y1.nil;if(K.length)U=(0,y1.or)(U,...K.map((N)=>y1._`${(0,NX.usePattern)(Q,N)}.test(${O})`));return(0,y1.not)(U)}function A(O){Y.code(y1._`delete ${$}[${O}]`)}function D(O){if(B.removeAdditional==="all"||B.removeAdditional&&X===!1){A(O);return}if(X===!1){if(Q.setParams({additionalProperty:O}),Q.error(),!H)Y.break();return}if(typeof X=="object"&&!(0,qX.alwaysValidSchema)(G,X)){let U=Y.name("valid");if(B.removeAdditional==="failing")L(O,U,!1),Y.if((0,y1.not)(U),()=>{Q.reset(),A(O)});else if(L(O,U),!H)Y.if((0,y1.not)(U),()=>Y.break())}}function L(O,U,N){let M={keyword:"additionalProperties",dataProp:O,dataPropType:qX.Type.Str};if(N===!1)Object.assign(M,{compositeRule:!0,createErrors:!1,allErrors:!1});Q.subschema(M,U)}}};SO.default=ay});var kO=w((CO)=>{Object.defineProperty(CO,"__esModule",{value:!0});var sy=m4(),IO=L1(),TJ=$0(),TO=IJ(),ey={keyword:"properties",type:"object",schemaType:"object",code(Q){let{gen:Y,schema:X,parentSchema:W,data:$,it:J}=Q;if(J.opts.removeAdditional==="all"&&W.additionalProperties===void 0)TO.default.code(new sy.KeywordCxt(J,TO.default,"additionalProperties"));let G=(0,IO.allSchemaProperties)(X);for(let V of G)J.definedProperties.add(V);if(J.opts.unevaluated&&G.length&&J.props!==!0)J.props=TJ.mergeEvaluated.props(Y,(0,TJ.toHash)(G),J.props);let H=G.filter((V)=>!(0,TJ.alwaysValidSchema)(J,X[V]));if(H.length===0)return;let B=Y.name("valid");for(let V of H){if(z(V))K(V);else{if(Y.if((0,IO.propertyInData)(Y,$,V,J.opts.ownProperties)),K(V),!J.allErrors)Y.else().var(B,!0);Y.endIf()}Q.it.definedProperties.add(V),Q.ok(B)}function z(V){return J.opts.useDefaults&&!J.compositeRule&&X[V].default!==void 0}function K(V){Q.subschema({keyword:"properties",schemaProp:V,dataProp:V},B)}}};CO.default=ey});var fO=w((yO)=>{Object.defineProperty(yO,"__esModule",{value:!0});var _O=L1(),MX=n(),vO=$0(),xO=$0(),Yf={keyword:"patternProperties",type:"object",schemaType:"object",code(Q){let{gen:Y,schema:X,data:W,parentSchema:$,it:J}=Q,{opts:G}=J,H=(0,_O.allSchemaProperties)(X),B=H.filter((L)=>(0,vO.alwaysValidSchema)(J,X[L]));if(H.length===0||B.length===H.length&&(!J.opts.unevaluated||J.props===!0))return;let z=G.strictSchema&&!G.allowMatchingProperties&&$.properties,K=Y.name("valid");if(J.props!==!0&&!(J.props instanceof MX.Name))J.props=(0,xO.evaluatedPropsToName)(Y,J.props);let{props:V}=J;F();function F(){for(let L of H){if(z)A(L);if(J.allErrors)D(L);else Y.var(K,!0),D(L),Y.if(K)}}function A(L){for(let O in z)if(new RegExp(L).test(O))(0,vO.checkStrictMode)(J,`property ${O} matches pattern ${L} (use allowMatchingProperties)`)}function D(L){Y.forIn("key",W,(O)=>{Y.if(MX._`${(0,_O.usePattern)(Q,L)}.test(${O})`,()=>{let U=B.includes(L);if(!U)Q.subschema({keyword:"patternProperties",schemaProp:L,dataProp:O,dataPropType:xO.Type.Str},K);if(J.opts.unevaluated&&V!==!0)Y.assign(MX._`${V}[${O}]`,!0);else if(!U&&!J.allErrors)Y.if((0,MX.not)(K),()=>Y.break())})})}}};yO.default=Yf});var gO=w((hO)=>{Object.defineProperty(hO,"__esModule",{value:!0});var Wf=$0(),$f={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(Q){let{gen:Y,schema:X,it:W}=Q;if((0,Wf.alwaysValidSchema)(W,X)){Q.fail();return}let $=Y.name("valid");Q.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},$),Q.failResult($,()=>Q.reset(),()=>Q.error())},error:{message:"must NOT be valid"}};hO.default=$f});var lO=w((uO)=>{Object.defineProperty(uO,"__esModule",{value:!0});var Gf=L1(),Hf={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:Gf.validateUnion,error:{message:"must match a schema in anyOf"}};uO.default=Hf});var cO=w((mO)=>{Object.defineProperty(mO,"__esModule",{value:!0});var bX=n(),zf=$0(),Kf={message:"must match exactly one schema in oneOf",params:({params:Q})=>bX._`{passingSchemas: ${Q.passing}}`},Vf={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:Kf,code(Q){let{gen:Y,schema:X,parentSchema:W,it:$}=Q;if(!Array.isArray(X))throw Error("ajv implementation error");if($.opts.discriminator&&W.discriminator)return;let J=X,G=Y.let("valid",!1),H=Y.let("passing",null),B=Y.name("_valid");Q.setParams({passing:H}),Y.block(z),Q.result(G,()=>Q.reset(),()=>Q.error(!0));function z(){J.forEach((K,V)=>{let F;if((0,zf.alwaysValidSchema)($,K))Y.var(B,!0);else F=Q.subschema({keyword:"oneOf",schemaProp:V,compositeRule:!0},B);if(V>0)Y.if(bX._`${B} && ${G}`).assign(G,!1).assign(H,bX._`[${H}, ${V}]`).else();Y.if(B,()=>{if(Y.assign(G,!0),Y.assign(H,V),F)Q.mergeEvaluated(F,bX.Name)})})}}};mO.default=Vf});var dO=w((pO)=>{Object.defineProperty(pO,"__esModule",{value:!0});var Af=$0(),Df={keyword:"allOf",schemaType:"array",code(Q){let{gen:Y,schema:X,it:W}=Q;if(!Array.isArray(X))throw Error("ajv implementation error");let $=Y.name("valid");X.forEach((J,G)=>{if((0,Af.alwaysValidSchema)(W,J))return;let H=Q.subschema({keyword:"allOf",schemaProp:G},$);Q.ok($),Q.mergeEvaluated(H)})}};pO.default=Df});var rO=w((oO)=>{Object.defineProperty(oO,"__esModule",{value:!0});var ZX=n(),nO=$0(),Of={message:({params:Q})=>ZX.str`must match "${Q.ifClause}" schema`,params:({params:Q})=>ZX._`{failingKeyword: ${Q.ifClause}}`},Uf={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:Of,code(Q){let{gen:Y,parentSchema:X,it:W}=Q;if(X.then===void 0&&X.else===void 0)(0,nO.checkStrictMode)(W,'"if" without "then" and "else" is ignored');let $=iO(W,"then"),J=iO(W,"else");if(!$&&!J)return;let G=Y.let("valid",!0),H=Y.name("_valid");if(B(),Q.reset(),$&&J){let K=Y.let("ifClause");Q.setParams({ifClause:K}),Y.if(H,z("then",K),z("else",K))}else if($)Y.if(H,z("then"));else Y.if((0,ZX.not)(H),z("else"));Q.pass(G,()=>Q.error(!0));function B(){let K=Q.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},H);Q.mergeEvaluated(K)}function z(K,V){return()=>{let F=Q.subschema({keyword:K},H);if(Y.assign(G,H),Q.mergeValidEvaluated(F,G),V)Y.assign(V,ZX._`${K}`);else Q.setParams({ifClause:K})}}}};function iO(Q,Y){let X=Q.schema[Y];return X!==void 0&&!(0,nO.alwaysValidSchema)(Q,X)}oO.default=Uf});var tO=w((aO)=>{Object.defineProperty(aO,"__esModule",{value:!0});var wf=$0(),Nf={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:Q,parentSchema:Y,it:X}){if(Y.if===void 0)(0,wf.checkStrictMode)(X,`"${Q}" without "if" is ignored`)}};aO.default=Nf});var eO=w((sO)=>{Object.defineProperty(sO,"__esModule",{value:!0});var Mf=RJ(),bf=AO(),Zf=EJ(),Pf=OO(),Rf=jO(),Ef=ZO(),Sf=EO(),If=IJ(),Tf=kO(),Cf=fO(),kf=gO(),_f=lO(),vf=cO(),xf=dO(),yf=rO(),ff=tO();function hf(Q=!1){let Y=[kf.default,_f.default,vf.default,xf.default,yf.default,ff.default,Sf.default,If.default,Ef.default,Tf.default,Cf.default];if(Q)Y.push(bf.default,Pf.default);else Y.push(Mf.default,Zf.default);return Y.push(Rf.default),Y}sO.default=hf});var YU=w((QU)=>{Object.defineProperty(QU,"__esModule",{value:!0});var E0=n(),uf={message:({schemaCode:Q})=>E0.str`must match format "${Q}"`,params:({schemaCode:Q})=>E0._`{format: ${Q}}`},lf={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:uf,code(Q,Y){let{gen:X,data:W,$data:$,schema:J,schemaCode:G,it:H}=Q,{opts:B,errSchemaPath:z,schemaEnv:K,self:V}=H;if(!B.validateFormats)return;if($)F();else A();function F(){let D=X.scopeValue("formats",{ref:V.formats,code:B.code.formats}),L=X.const("fDef",E0._`${D}[${G}]`),O=X.let("fType"),U=X.let("format");X.if(E0._`typeof ${L} == "object" && !(${L} instanceof RegExp)`,()=>X.assign(O,E0._`${L}.type || "string"`).assign(U,E0._`${L}.validate`),()=>X.assign(O,E0._`"string"`).assign(U,L)),Q.fail$data((0,E0.or)(N(),M()));function N(){if(B.strictSchema===!1)return E0.nil;return E0._`${G} && !${U}`}function M(){let S=K.$async?E0._`(${L}.async ? await ${U}(${W}) : ${U}(${W}))`:E0._`${U}(${W})`,P=E0._`(typeof ${U} == "function" ? ${S} : ${U}.test(${W}))`;return E0._`${U} && ${U} !== true && ${O} === ${Y} && !${P}`}}function A(){let D=V.formats[J];if(!D){N();return}if(D===!0)return;let[L,O,U]=M(D);if(L===Y)Q.pass(S());function N(){if(B.strictSchema===!1){V.logger.warn(P());return}throw Error(P());function P(){return`unknown format "${J}" ignored in schema at path "${z}"`}}function M(P){let V0=P instanceof RegExp?(0,E0.regexpCode)(P):B.code.formats?E0._`${B.code.formats}${(0,E0.getProperty)(J)}`:void 0,Z0=X.scopeValue("formats",{key:J,ref:P,code:V0});if(typeof P=="object"&&!(P instanceof RegExp))return[P.type||"string",P.validate,E0._`${Z0}.validate`];return["string",P,Z0]}function S(){if(typeof D=="object"&&!(D instanceof RegExp)&&D.async){if(!K.$async)throw Error("async format in sync schema");return E0._`await ${U}(${W})`}return typeof O=="function"?E0._`${U}(${W})`:E0._`${U}.test(${W})`}}}};QU.default=lf});var WU=w((XU)=>{Object.defineProperty(XU,"__esModule",{value:!0});var cf=YU(),pf=[cf.default];XU.default=pf});var GU=w(($U)=>{Object.defineProperty($U,"__esModule",{value:!0});$U.contentVocabulary=$U.metadataVocabulary=void 0;$U.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];$U.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var zU=w((BU)=>{Object.defineProperty(BU,"__esModule",{value:!0});var of=CL(),rf=$O(),af=eO(),tf=WU(),HU=GU(),sf=[of.default,rf.default,(0,af.default)(),tf.default,HU.metadataVocabulary,HU.contentVocabulary];BU.default=sf});var AU=w((VU)=>{Object.defineProperty(VU,"__esModule",{value:!0});VU.DiscrError=void 0;var KU;(function(Q){Q.Tag="tag",Q.Mapping="mapping"})(KU||(VU.DiscrError=KU={}))});var OU=w((LU)=>{Object.defineProperty(LU,"__esModule",{value:!0});var L8=n(),CJ=AU(),DU=zX(),Qh=c4(),Yh=$0(),Xh={message:({params:{discrError:Q,tagName:Y}})=>Q===CJ.DiscrError.Tag?`tag "${Y}" must be string`:`value of tag "${Y}" must be in oneOf`,params:({params:{discrError:Q,tag:Y,tagName:X}})=>L8._`{error: ${Q}, tag: ${X}, tagValue: ${Y}}`},Wh={keyword:"discriminator",type:"object",schemaType:"object",error:Xh,code(Q){let{gen:Y,data:X,schema:W,parentSchema:$,it:J}=Q,{oneOf:G}=$;if(!J.opts.discriminator)throw Error("discriminator: requires discriminator option");let H=W.propertyName;if(typeof H!="string")throw Error("discriminator: requires propertyName");if(W.mapping)throw Error("discriminator: mapping is not supported");if(!G)throw Error("discriminator: requires oneOf keyword");let B=Y.let("valid",!1),z=Y.const("tag",L8._`${X}${(0,L8.getProperty)(H)}`);Y.if(L8._`typeof ${z} == "string"`,()=>K(),()=>Q.error(!1,{discrError:CJ.DiscrError.Tag,tag:z,tagName:H})),Q.ok(B);function K(){let A=F();Y.if(!1);for(let D in A)Y.elseIf(L8._`${z} === ${D}`),Y.assign(B,V(A[D]));Y.else(),Q.error(!1,{discrError:CJ.DiscrError.Mapping,tag:z,tagName:H}),Y.endIf()}function V(A){let D=Y.name("valid"),L=Q.subschema({keyword:"oneOf",schemaProp:A},D);return Q.mergeEvaluated(L,L8.Name),D}function F(){var A;let D={},L=U($),O=!0;for(let S=0;S<G.length;S++){let P=G[S];if((P===null||P===void 0?void 0:P.$ref)&&!(0,Yh.schemaHasRulesButRef)(P,J.self.RULES)){let Z0=P.$ref;if(P=DU.resolveRef.call(J.self,J.schemaEnv.root,J.baseId,Z0),P instanceof DU.SchemaEnv)P=P.schema;if(P===void 0)throw new Qh.default(J.opts.uriResolver,J.baseId,Z0)}let V0=(A=P===null||P===void 0?void 0:P.properties)===null||A===void 0?void 0:A[H];if(typeof V0!="object")throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${H}"`);O=O&&(L||U(P)),N(V0,S)}if(!O)throw Error(`discriminator: "${H}" must be required`);return D;function U({required:S}){return Array.isArray(S)&&S.includes(H)}function N(S,P){if(S.const)M(S.const,P);else if(S.enum)for(let V0 of S.enum)M(V0,P);else throw Error(`discriminator: "properties/${H}" must have "const" or "enum"`)}function M(S,P){if(typeof S!="string"||S in D)throw Error(`discriminator: "${H}" values must be unique strings`);D[S]=P}}}};LU.default=Wh});var UU=w((zr,Jh)=>{Jh.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 wU=w((B1,kJ)=>{Object.defineProperty(B1,"__esModule",{value:!0});B1.MissingRefError=B1.ValidationError=B1.CodeGen=B1.Name=B1.nil=B1.stringify=B1.str=B1._=B1.KeywordCxt=B1.Ajv=void 0;var Gh=qL(),Hh=zU(),Bh=OU(),jU=UU(),zh=["/properties"],PX="http://json-schema.org/draft-07/schema";class QQ extends Gh.default{_addVocabularies(){if(super._addVocabularies(),Hh.default.forEach((Q)=>this.addVocabulary(Q)),this.opts.discriminator)this.addKeyword(Bh.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let Q=this.opts.$data?this.$dataMetaSchema(jU,zh):jU;this.addMetaSchema(Q,PX,!1),this.refs["http://json-schema.org/schema"]=PX}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(PX)?PX:void 0)}}B1.Ajv=QQ;kJ.exports=B1=QQ;kJ.exports.Ajv=QQ;Object.defineProperty(B1,"__esModule",{value:!0});B1.default=QQ;var Kh=m4();Object.defineProperty(B1,"KeywordCxt",{enumerable:!0,get:function(){return Kh.KeywordCxt}});var O8=n();Object.defineProperty(B1,"_",{enumerable:!0,get:function(){return O8._}});Object.defineProperty(B1,"str",{enumerable:!0,get:function(){return O8.str}});Object.defineProperty(B1,"stringify",{enumerable:!0,get:function(){return O8.stringify}});Object.defineProperty(B1,"nil",{enumerable:!0,get:function(){return O8.nil}});Object.defineProperty(B1,"Name",{enumerable:!0,get:function(){return O8.Name}});Object.defineProperty(B1,"CodeGen",{enumerable:!0,get:function(){return O8.CodeGen}});var Vh=HX();Object.defineProperty(B1,"ValidationError",{enumerable:!0,get:function(){return Vh.default}});var Fh=c4();Object.defineProperty(B1,"MissingRefError",{enumerable:!0,get:function(){return Fh.default}})});var qU=w((NU)=>{Object.defineProperty(NU,"__esModule",{value:!0});NU.formatLimitDefinition=void 0;var Lh=wU(),f1=n(),h6=f1.operators,RX={formatMaximum:{okStr:"<=",ok:h6.LTE,fail:h6.GT},formatMinimum:{okStr:">=",ok:h6.GTE,fail:h6.LT},formatExclusiveMaximum:{okStr:"<",ok:h6.LT,fail:h6.GTE},formatExclusiveMinimum:{okStr:">",ok:h6.GT,fail:h6.LTE}},Oh={message:({keyword:Q,schemaCode:Y})=>f1.str`should be ${RX[Q].okStr} ${Y}`,params:({keyword:Q,schemaCode:Y})=>f1._`{comparison: ${RX[Q].okStr}, limit: ${Y}}`};NU.formatLimitDefinition={keyword:Object.keys(RX),type:"string",schemaType:"string",$data:!0,error:Oh,code(Q){let{gen:Y,data:X,schemaCode:W,keyword:$,it:J}=Q,{opts:G,self:H}=J;if(!G.validateFormats)return;let B=new Lh.KeywordCxt(J,H.RULES.all.format.definition,"format");if(B.$data)z();else K();function z(){let F=Y.scopeValue("formats",{ref:H.formats,code:G.code.formats}),A=Y.const("fmt",f1._`${F}[${B.schemaCode}]`);Q.fail$data((0,f1.or)(f1._`typeof ${A} != "object"`,f1._`${A} instanceof RegExp`,f1._`typeof ${A}.compare != "function"`,V(A)))}function K(){let F=B.schema,A=H.formats[F];if(!A||A===!0)return;if(typeof A!="object"||A instanceof RegExp||typeof A.compare!="function")throw Error(`"${$}": format "${F}" does not define "compare" function`);let D=Y.scopeValue("formats",{key:F,ref:A,code:G.code.formats?f1._`${G.code.formats}${(0,f1.getProperty)(F)}`:void 0});Q.fail$data(V(D))}function V(F){return f1._`${F}.compare(${X}, ${W}) ${RX[$].fail} 0`}},dependencies:["format"]};var Uh=(Q)=>{return Q.addKeyword(NU.formatLimitDefinition),Q};NU.default=Uh});var PU=w((YQ,ZU)=>{Object.defineProperty(YQ,"__esModule",{value:!0});var U8=UA(),wh=qU(),vJ=n(),MU=new vJ.Name("fullFormats"),Nh=new vJ.Name("fastFormats"),xJ=(Q,Y={keywords:!0})=>{if(Array.isArray(Y))return bU(Q,Y,U8.fullFormats,MU),Q;let[X,W]=Y.mode==="fast"?[U8.fastFormats,Nh]:[U8.fullFormats,MU],$=Y.formats||U8.formatNames;if(bU(Q,$,X,W),Y.keywords)(0,wh.default)(Q);return Q};xJ.get=(Q,Y="full")=>{let W=(Y==="fast"?U8.fastFormats:U8.fullFormats)[Q];if(!W)throw Error(`Unknown format "${Q}"`);return W};function bU(Q,Y,X,W){var $,J;($=(J=Q.opts.code).formats)!==null&&$!==void 0||(J.formats=vJ._`require("ajv-formats/dist/formats").${W}`);for(let G of Y)Q.addFormat(G,X[G])}ZU.exports=YQ=xJ;Object.defineProperty(YQ,"__esModule",{value:!0});YQ.default=xJ});var Kj=w((Wt,zj)=>{zj.exports=Bj;Bj.sync=ug;var Gj=r1("fs");function gg(Q,Y){var X=Y.pathExt!==void 0?Y.pathExt:process.env.PATHEXT;if(!X)return!0;if(X=X.split(";"),X.indexOf("")!==-1)return!0;for(var W=0;W<X.length;W++){var $=X[W].toLowerCase();if($&&Q.substr(-$.length).toLowerCase()===$)return!0}return!1}function Hj(Q,Y,X){if(!Q.isSymbolicLink()&&!Q.isFile())return!1;return gg(Y,X)}function Bj(Q,Y,X){Gj.stat(Q,function(W,$){X(W,W?!1:Hj($,Q,Y))})}function ug(Q,Y){return Hj(Gj.statSync(Q),Q,Y)}});var Lj=w(($t,Dj)=>{Dj.exports=Fj;Fj.sync=lg;var Vj=r1("fs");function Fj(Q,Y,X){Vj.stat(Q,function(W,$){X(W,W?!1:Aj($,Y))})}function lg(Q,Y){return Aj(Vj.statSync(Q),Y)}function Aj(Q,Y){return Q.isFile()&&mg(Q,Y)}function mg(Q,Y){var{mode:X,uid:W,gid:$}=Q,J=Y.uid!==void 0?Y.uid:process.getuid&&process.getuid(),G=Y.gid!==void 0?Y.gid:process.getgid&&process.getgid(),H=parseInt("100",8),B=parseInt("010",8),z=parseInt("001",8),K=H|B,V=X&z||X&B&&$===G||X&H&&W===J||X&K&&J===0;return V}});var Uj=w((Gt,Oj)=>{var Jt=r1("fs"),rX;if(process.platform==="win32"||global.TESTING_WINDOWS)rX=Kj();else rX=Lj();Oj.exports=wG;wG.sync=cg;function wG(Q,Y,X){if(typeof Y==="function")X=Y,Y={};if(!X){if(typeof Promise!=="function")throw TypeError("callback not provided");return new Promise(function(W,$){wG(Q,Y||{},function(J,G){if(J)$(J);else W(G)})})}rX(Q,Y||{},function(W,$){if(W){if(W.code==="EACCES"||Y&&Y.ignoreErrors)W=null,$=!1}X(W,$)})}function cg(Q,Y){try{return rX.sync(Q,Y||{})}catch(X){if(Y&&Y.ignoreErrors||X.code==="EACCES")return!1;else throw X}}});var Zj=w((Ht,bj)=>{var E8=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",jj=r1("path"),pg=E8?";":":",wj=Uj(),Nj=(Q)=>Object.assign(Error(`not found: ${Q}`),{code:"ENOENT"}),qj=(Q,Y)=>{let X=Y.colon||pg,W=Q.match(/\//)||E8&&Q.match(/\\/)?[""]:[...E8?[process.cwd()]:[],...(Y.path||process.env.PATH||"").split(X)],$=E8?Y.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",J=E8?$.split(X):[""];if(E8){if(Q.indexOf(".")!==-1&&J[0]!=="")J.unshift("")}return{pathEnv:W,pathExt:J,pathExtExe:$}},Mj=(Q,Y,X)=>{if(typeof Y==="function")X=Y,Y={};if(!Y)Y={};let{pathEnv:W,pathExt:$,pathExtExe:J}=qj(Q,Y),G=[],H=(z)=>new Promise((K,V)=>{if(z===W.length)return Y.all&&G.length?K(G):V(Nj(Q));let F=W[z],A=/^".*"$/.test(F)?F.slice(1,-1):F,D=jj.join(A,Q),L=!A&&/^\.[\\\/]/.test(Q)?Q.slice(0,2)+D:D;K(B(L,z,0))}),B=(z,K,V)=>new Promise((F,A)=>{if(V===$.length)return F(H(K+1));let D=$[V];wj(z+D,{pathExt:J},(L,O)=>{if(!L&&O)if(Y.all)G.push(z+D);else return F(z+D);return F(B(z,K,V+1))})});return X?H(0).then((z)=>X(null,z),X):H(0)},dg=(Q,Y)=>{Y=Y||{};let{pathEnv:X,pathExt:W,pathExtExe:$}=qj(Q,Y),J=[];for(let G=0;G<X.length;G++){let H=X[G],B=/^".*"$/.test(H)?H.slice(1,-1):H,z=jj.join(B,Q),K=!B&&/^\.[\\\/]/.test(Q)?Q.slice(0,2)+z:z;for(let V=0;V<W.length;V++){let F=K+W[V];try{if(wj.sync(F,{pathExt:$}))if(Y.all)J.push(F);else return F}catch(A){}}}if(Y.all&&J.length)return J;if(Y.nothrow)return null;throw Nj(Q)};bj.exports=Mj;Mj.sync=dg});var Rj=w((Bt,NG)=>{var Pj=(Q={})=>{let Y=Q.env||process.env;if((Q.platform||process.platform)!=="win32")return"PATH";return Object.keys(Y).reverse().find((W)=>W.toUpperCase()==="PATH")||"Path"};NG.exports=Pj;NG.exports.default=Pj});var Tj=w((zt,Ij)=>{var Ej=r1("path"),ig=Zj(),ng=Rj();function Sj(Q,Y){let X=Q.options.env||process.env,W=process.cwd(),$=Q.options.cwd!=null,J=$&&process.chdir!==void 0&&!process.chdir.disabled;if(J)try{process.chdir(Q.options.cwd)}catch(H){}let G;try{G=ig.sync(Q.command,{path:X[ng({env:X})],pathExt:Y?Ej.delimiter:void 0})}catch(H){}finally{if(J)process.chdir(W)}if(G)G=Ej.resolve($?Q.options.cwd:"",G);return G}function og(Q){return Sj(Q)||Sj(Q,!0)}Ij.exports=og});var Cj=w((tg,MG)=>{var qG=/([()\][%!^"`<>&|;, *?])/g;function rg(Q){return Q=Q.replace(qG,"^$1"),Q}function ag(Q,Y){if(Q=`${Q}`,Q=Q.replace(/(?=(\\+?)?)\1"/g,"$1$1\\\""),Q=Q.replace(/(?=(\\+?)?)\1$/,"$1$1"),Q=`"${Q}"`,Q=Q.replace(qG,"^$1"),Y)Q=Q.replace(qG,"^$1");return Q}tg.command=rg;tg.argument=ag});var _j=w((Kt,kj)=>{kj.exports=/^#!(.*)/});var xj=w((Vt,vj)=>{var Qu=_j();vj.exports=(Q="")=>{let Y=Q.match(Qu);if(!Y)return null;let[X,W]=Y[0].replace(/#! ?/,"").split(" "),$=X.split("/").pop();if($==="env")return W;return W?`${$} ${W}`:$}});var fj=w((Ft,yj)=>{var bG=r1("fs"),Yu=xj();function Xu(Q){let X=Buffer.alloc(150),W;try{W=bG.openSync(Q,"r"),bG.readSync(W,X,0,150,0),bG.closeSync(W)}catch($){}return Yu(X.toString())}yj.exports=Xu});var lj=w((At,uj)=>{var Wu=r1("path"),hj=Tj(),gj=Cj(),$u=fj(),Ju=process.platform==="win32",Gu=/\.(?:com|exe)$/i,Hu=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Bu(Q){Q.file=hj(Q);let Y=Q.file&&$u(Q.file);if(Y)return Q.args.unshift(Q.file),Q.command=Y,hj(Q);return Q.file}function zu(Q){if(!Ju)return Q;let Y=Bu(Q),X=!Gu.test(Y);if(Q.options.forceShell||X){let W=Hu.test(Y);Q.command=Wu.normalize(Q.command),Q.command=gj.command(Q.command),Q.args=Q.args.map((J)=>gj.argument(J,W));let $=[Q.command].concat(Q.args).join(" ");Q.args=["/d","/s","/c",`"${$}"`],Q.command=process.env.comspec||"cmd.exe",Q.options.windowsVerbatimArguments=!0}return Q}function Ku(Q,Y,X){if(Y&&!Array.isArray(Y))X=Y,Y=null;Y=Y?Y.slice(0):[],X=Object.assign({},X);let W={command:Q,args:Y,options:X,file:void 0,original:{command:Q,args:Y}};return X.shell?W:zu(W)}uj.exports=Ku});var pj=w((Dt,cj)=>{var ZG=process.platform==="win32";function PG(Q,Y){return Object.assign(Error(`${Y} ${Q.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${Y} ${Q.command}`,path:Q.command,spawnargs:Q.args})}function Vu(Q,Y){if(!ZG)return;let X=Q.emit;Q.emit=function(W,$){if(W==="exit"){let J=mj($,Y);if(J)return X.call(Q,"error",J)}return X.apply(Q,arguments)}}function mj(Q,Y){if(ZG&&Q===1&&!Y.file)return PG(Y.original,"spawn");return null}function Fu(Q,Y){if(ZG&&Q===1&&!Y.file)return PG(Y.original,"spawnSync");return null}cj.exports={hookChildProcess:Vu,verifyENOENT:mj,verifyENOENTSync:Fu,notFoundError:PG}});var nj=w((Lt,S8)=>{var dj=r1("child_process"),RG=lj(),EG=pj();function ij(Q,Y,X){let W=RG(Q,Y,X),$=dj.spawn(W.command,W.args,W.options);return EG.hookChildProcess($,W),$}function Au(Q,Y,X){let W=RG(Q,Y,X),$=dj.spawnSync(W.command,W.args,W.options);return $.error=$.error||EG.verifyENOENTSync($.status,W),$}S8.exports=ij;S8.exports.spawn=ij;S8.exports.sync=Au;S8.exports._parse=RG;S8.exports._enoent=EG});var k={};BQ(k,{void:()=>XN,util:()=>a,unknown:()=>QN,union:()=>JN,undefined:()=>tw,tuple:()=>BN,transformer:()=>jN,symbol:()=>aw,string:()=>oG,strictObject:()=>$N,setErrorMap:()=>qw,set:()=>VN,record:()=>zN,quotelessJson:()=>ww,promise:()=>UN,preprocess:()=>qN,pipeline:()=>MN,ostring:()=>bN,optional:()=>wN,onumber:()=>ZN,oboolean:()=>PN,objectUtil:()=>W7,object:()=>G7,number:()=>rG,nullable:()=>NN,null:()=>sw,never:()=>YN,nativeEnum:()=>ON,nan:()=>nw,map:()=>KN,makeIssue:()=>k8,literal:()=>DN,lazy:()=>AN,late:()=>dw,isValid:()=>D6,isDirty:()=>KQ,isAsync:()=>R9,isAborted:()=>zQ,intersection:()=>HN,instanceof:()=>iw,getParsedType:()=>g1,getErrorMap:()=>P9,function:()=>FN,enum:()=>LN,effect:()=>jN,discriminatedUnion:()=>GN,defaultErrorMap:()=>a1,datetimeRegex:()=>dG,date:()=>rw,custom:()=>nG,coerce:()=>RN,boolean:()=>aG,bigint:()=>ow,array:()=>WN,any:()=>ew,addIssueToContext:()=>C,ZodVoid:()=>v8,ZodUnknown:()=>L6,ZodUnion:()=>k9,ZodUndefined:()=>T9,ZodType:()=>o,ZodTuple:()=>l1,ZodTransformer:()=>q1,ZodSymbol:()=>_8,ZodString:()=>j1,ZodSet:()=>r6,ZodSchema:()=>o,ZodRecord:()=>x8,ZodReadonly:()=>g9,ZodPromise:()=>a6,ZodPipeline:()=>h8,ZodParsedType:()=>R,ZodOptional:()=>z1,ZodObject:()=>M0,ZodNumber:()=>O6,ZodNullable:()=>s1,ZodNull:()=>C9,ZodNever:()=>u1,ZodNativeEnum:()=>y9,ZodNaN:()=>f8,ZodMap:()=>y8,ZodLiteral:()=>x9,ZodLazy:()=>v9,ZodIssueCode:()=>b,ZodIntersection:()=>_9,ZodFunction:()=>S9,ZodFirstPartyTypeKind:()=>Z,ZodError:()=>a0,ZodEnum:()=>j6,ZodEffects:()=>q1,ZodDiscriminatedUnion:()=>VQ,ZodDefault:()=>f9,ZodDate:()=>n6,ZodCatch:()=>h9,ZodBranded:()=>FQ,ZodBoolean:()=>I9,ZodBigInt:()=>U6,ZodArray:()=>w1,ZodAny:()=>o6,Schema:()=>o,ParseStatus:()=>k0,OK:()=>u0,NEVER:()=>EN,INVALID:()=>u,EMPTY_PATH:()=>Mw,DIRTY:()=>i6,BRAND:()=>pw});var a;(function(Q){Q.assertEqual=($)=>{};function Y($){}Q.assertIs=Y;function X($){throw Error()}Q.assertNever=X,Q.arrayToEnum=($)=>{let J={};for(let G of $)J[G]=G;return J},Q.getValidEnumValues=($)=>{let J=Q.objectKeys($).filter((H)=>typeof $[$[H]]!=="number"),G={};for(let H of J)G[H]=$[H];return Q.objectValues(G)},Q.objectValues=($)=>{return Q.objectKeys($).map(function(J){return $[J]})},Q.objectKeys=typeof Object.keys==="function"?($)=>Object.keys($):($)=>{let J=[];for(let G in $)if(Object.prototype.hasOwnProperty.call($,G))J.push(G);return J},Q.find=($,J)=>{for(let G of $)if(J(G))return G;return},Q.isInteger=typeof Number.isInteger==="function"?($)=>Number.isInteger($):($)=>typeof $==="number"&&Number.isFinite($)&&Math.floor($)===$;function W($,J=" | "){return $.map((G)=>typeof G==="string"?`'${G}'`:G).join(J)}Q.joinValues=W,Q.jsonStringifyReplacer=($,J)=>{if(typeof J==="bigint")return J.toString();return J}})(a||(a={}));var W7;(function(Q){Q.mergeShapes=(Y,X)=>{return{...Y,...X}}})(W7||(W7={}));var R=a.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),g1=(Q)=>{switch(typeof Q){case"undefined":return R.undefined;case"string":return R.string;case"number":return Number.isNaN(Q)?R.nan:R.number;case"boolean":return R.boolean;case"function":return R.function;case"bigint":return R.bigint;case"symbol":return R.symbol;case"object":if(Array.isArray(Q))return R.array;if(Q===null)return R.null;if(Q.then&&typeof Q.then==="function"&&Q.catch&&typeof Q.catch==="function")return R.promise;if(typeof Map<"u"&&Q instanceof Map)return R.map;if(typeof Set<"u"&&Q instanceof Set)return R.set;if(typeof Date<"u"&&Q instanceof Date)return R.date;return R.object;default:return R.unknown}};var b=a.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),ww=(Q)=>{return JSON.stringify(Q,null,2).replace(/"([^"]+)":/g,"$1:")};class a0 extends Error{get errors(){return this.issues}constructor(Q){super();this.issues=[],this.addIssue=(X)=>{this.issues=[...this.issues,X]},this.addIssues=(X=[])=>{this.issues=[...this.issues,...X]};let Y=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,Y);else this.__proto__=Y;this.name="ZodError",this.issues=Q}format(Q){let Y=Q||function($){return $.message},X={_errors:[]},W=($)=>{for(let J of $.issues)if(J.code==="invalid_union")J.unionErrors.map(W);else if(J.code==="invalid_return_type")W(J.returnTypeError);else if(J.code==="invalid_arguments")W(J.argumentsError);else if(J.path.length===0)X._errors.push(Y(J));else{let G=X,H=0;while(H<J.path.length){let B=J.path[H];if(H!==J.path.length-1)G[B]=G[B]||{_errors:[]};else G[B]=G[B]||{_errors:[]},G[B]._errors.push(Y(J));G=G[B],H++}}};return W(this),X}static assert(Q){if(!(Q instanceof a0))throw Error(`Not a ZodError: ${Q}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,a.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(Q=(Y)=>Y.message){let Y={},X=[];for(let W of this.issues)if(W.path.length>0){let $=W.path[0];Y[$]=Y[$]||[],Y[$].push(Q(W))}else X.push(Q(W));return{formErrors:X,fieldErrors:Y}}get formErrors(){return this.flatten()}}a0.create=(Q)=>{return new a0(Q)};var Nw=(Q,Y)=>{let X;switch(Q.code){case b.invalid_type:if(Q.received===R.undefined)X="Required";else X=`Expected ${Q.expected}, received ${Q.received}`;break;case b.invalid_literal:X=`Invalid literal value, expected ${JSON.stringify(Q.expected,a.jsonStringifyReplacer)}`;break;case b.unrecognized_keys:X=`Unrecognized key(s) in object: ${a.joinValues(Q.keys,", ")}`;break;case b.invalid_union:X="Invalid input";break;case b.invalid_union_discriminator:X=`Invalid discriminator value. Expected ${a.joinValues(Q.options)}`;break;case b.invalid_enum_value:X=`Invalid enum value. Expected ${a.joinValues(Q.options)}, received '${Q.received}'`;break;case b.invalid_arguments:X="Invalid function arguments";break;case b.invalid_return_type:X="Invalid function return type";break;case b.invalid_date:X="Invalid date";break;case b.invalid_string:if(typeof Q.validation==="object")if("includes"in Q.validation){if(X=`Invalid input: must include "${Q.validation.includes}"`,typeof Q.validation.position==="number")X=`${X} at one or more positions greater than or equal to ${Q.validation.position}`}else if("startsWith"in Q.validation)X=`Invalid input: must start with "${Q.validation.startsWith}"`;else if("endsWith"in Q.validation)X=`Invalid input: must end with "${Q.validation.endsWith}"`;else a.assertNever(Q.validation);else if(Q.validation!=="regex")X=`Invalid ${Q.validation}`;else X="Invalid";break;case b.too_small:if(Q.type==="array")X=`Array must contain ${Q.exact?"exactly":Q.inclusive?"at least":"more than"} ${Q.minimum} element(s)`;else if(Q.type==="string")X=`String must contain ${Q.exact?"exactly":Q.inclusive?"at least":"over"} ${Q.minimum} character(s)`;else if(Q.type==="number")X=`Number must be ${Q.exact?"exactly equal to ":Q.inclusive?"greater than or equal to ":"greater than "}${Q.minimum}`;else if(Q.type==="bigint")X=`Number must be ${Q.exact?"exactly equal to ":Q.inclusive?"greater than or equal to ":"greater than "}${Q.minimum}`;else if(Q.type==="date")X=`Date must be ${Q.exact?"exactly equal to ":Q.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(Q.minimum))}`;else X="Invalid input";break;case b.too_big:if(Q.type==="array")X=`Array must contain ${Q.exact?"exactly":Q.inclusive?"at most":"less than"} ${Q.maximum} element(s)`;else if(Q.type==="string")X=`String must contain ${Q.exact?"exactly":Q.inclusive?"at most":"under"} ${Q.maximum} character(s)`;else if(Q.type==="number")X=`Number must be ${Q.exact?"exactly":Q.inclusive?"less than or equal to":"less than"} ${Q.maximum}`;else if(Q.type==="bigint")X=`BigInt must be ${Q.exact?"exactly":Q.inclusive?"less than or equal to":"less than"} ${Q.maximum}`;else if(Q.type==="date")X=`Date must be ${Q.exact?"exactly":Q.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(Q.maximum))}`;else X="Invalid input";break;case b.custom:X="Invalid input";break;case b.invalid_intersection_types:X="Intersection results could not be merged";break;case b.not_multiple_of:X=`Number must be a multiple of ${Q.multipleOf}`;break;case b.not_finite:X="Number must be finite";break;default:X=Y.defaultError,a.assertNever(Q)}return{message:X}},a1=Nw;var uG=a1;function qw(Q){uG=Q}function P9(){return uG}var k8=(Q)=>{let{data:Y,path:X,errorMaps:W,issueData:$}=Q,J=[...X,...$.path||[]],G={...$,path:J};if($.message!==void 0)return{...$,path:J,message:$.message};let H="",B=W.filter((z)=>!!z).slice().reverse();for(let z of B)H=z(G,{data:Y,defaultError:H}).message;return{...$,path:J,message:H}},Mw=[];function C(Q,Y){let X=P9(),W=k8({issueData:Y,data:Q.data,path:Q.path,errorMaps:[Q.common.contextualErrorMap,Q.schemaErrorMap,X,X===a1?void 0:a1].filter(($)=>!!$)});Q.common.issues.push(W)}class k0{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(Q,Y){let X=[];for(let W of Y){if(W.status==="aborted")return u;if(W.status==="dirty")Q.dirty();X.push(W.value)}return{status:Q.value,value:X}}static async mergeObjectAsync(Q,Y){let X=[];for(let W of Y){let $=await W.key,J=await W.value;X.push({key:$,value:J})}return k0.mergeObjectSync(Q,X)}static mergeObjectSync(Q,Y){let X={};for(let W of Y){let{key:$,value:J}=W;if($.status==="aborted")return u;if(J.status==="aborted")return u;if($.status==="dirty")Q.dirty();if(J.status==="dirty")Q.dirty();if($.value!=="__proto__"&&(typeof J.value<"u"||W.alwaysSet))X[$.value]=J.value}return{status:Q.value,value:X}}}var u=Object.freeze({status:"aborted"}),i6=(Q)=>({status:"dirty",value:Q}),u0=(Q)=>({status:"valid",value:Q}),zQ=(Q)=>Q.status==="aborted",KQ=(Q)=>Q.status==="dirty",D6=(Q)=>Q.status==="valid",R9=(Q)=>typeof Promise<"u"&&Q instanceof Promise;var v;(function(Q){Q.errToObj=(Y)=>typeof Y==="string"?{message:Y}:Y||{},Q.toString=(Y)=>typeof Y==="string"?Y:Y?.message})(v||(v={}));class N1{constructor(Q,Y,X,W){this._cachedPath=[],this.parent=Q,this.data=Y,this._path=X,this._key=W}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var lG=(Q,Y)=>{if(D6(Y))return{success:!0,data:Y.value};else{if(!Q.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let X=new a0(Q.common.issues);return this._error=X,this._error}}}};function p(Q){if(!Q)return{};let{errorMap:Y,invalid_type_error:X,required_error:W,description:$}=Q;if(Y&&(X||W))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(Y)return{errorMap:Y,description:$};return{errorMap:(G,H)=>{let{message:B}=Q;if(G.code==="invalid_enum_value")return{message:B??H.defaultError};if(typeof H.data>"u")return{message:B??W??H.defaultError};if(G.code!=="invalid_type")return{message:H.defaultError};return{message:B??X??H.defaultError}},description:$}}class o{get description(){return this._def.description}_getType(Q){return g1(Q.data)}_getOrReturnCtx(Q,Y){return Y||{common:Q.parent.common,data:Q.data,parsedType:g1(Q.data),schemaErrorMap:this._def.errorMap,path:Q.path,parent:Q.parent}}_processInputParams(Q){return{status:new k0,ctx:{common:Q.parent.common,data:Q.data,parsedType:g1(Q.data),schemaErrorMap:this._def.errorMap,path:Q.path,parent:Q.parent}}}_parseSync(Q){let Y=this._parse(Q);if(R9(Y))throw Error("Synchronous parse encountered promise.");return Y}_parseAsync(Q){let Y=this._parse(Q);return Promise.resolve(Y)}parse(Q,Y){let X=this.safeParse(Q,Y);if(X.success)return X.data;throw X.error}safeParse(Q,Y){let X={common:{issues:[],async:Y?.async??!1,contextualErrorMap:Y?.errorMap},path:Y?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:Q,parsedType:g1(Q)},W=this._parseSync({data:Q,path:X.path,parent:X});return lG(X,W)}"~validate"(Q){let Y={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:Q,parsedType:g1(Q)};if(!this["~standard"].async)try{let X=this._parseSync({data:Q,path:[],parent:Y});return D6(X)?{value:X.value}:{issues:Y.common.issues}}catch(X){if(X?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;Y.common={issues:[],async:!0}}return this._parseAsync({data:Q,path:[],parent:Y}).then((X)=>D6(X)?{value:X.value}:{issues:Y.common.issues})}async parseAsync(Q,Y){let X=await this.safeParseAsync(Q,Y);if(X.success)return X.data;throw X.error}async safeParseAsync(Q,Y){let X={common:{issues:[],contextualErrorMap:Y?.errorMap,async:!0},path:Y?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:Q,parsedType:g1(Q)},W=this._parse({data:Q,path:X.path,parent:X}),$=await(R9(W)?W:Promise.resolve(W));return lG(X,$)}refine(Q,Y){let X=(W)=>{if(typeof Y==="string"||typeof Y>"u")return{message:Y};else if(typeof Y==="function")return Y(W);else return Y};return this._refinement((W,$)=>{let J=Q(W),G=()=>$.addIssue({code:b.custom,...X(W)});if(typeof Promise<"u"&&J instanceof Promise)return J.then((H)=>{if(!H)return G(),!1;else return!0});if(!J)return G(),!1;else return!0})}refinement(Q,Y){return this._refinement((X,W)=>{if(!Q(X))return W.addIssue(typeof Y==="function"?Y(X,W):Y),!1;else return!0})}_refinement(Q){return new q1({schema:this,typeName:Z.ZodEffects,effect:{type:"refinement",refinement:Q}})}superRefine(Q){return this._refinement(Q)}constructor(Q){this.spa=this.safeParseAsync,this._def=Q,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(Y)=>this["~validate"](Y)}}optional(){return z1.create(this,this._def)}nullable(){return s1.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return w1.create(this)}promise(){return a6.create(this,this._def)}or(Q){return k9.create([this,Q],this._def)}and(Q){return _9.create(this,Q,this._def)}transform(Q){return new q1({...p(this._def),schema:this,typeName:Z.ZodEffects,effect:{type:"transform",transform:Q}})}default(Q){let Y=typeof Q==="function"?Q:()=>Q;return new f9({...p(this._def),innerType:this,defaultValue:Y,typeName:Z.ZodDefault})}brand(){return new FQ({typeName:Z.ZodBranded,type:this,...p(this._def)})}catch(Q){let Y=typeof Q==="function"?Q:()=>Q;return new h9({...p(this._def),innerType:this,catchValue:Y,typeName:Z.ZodCatch})}describe(Q){return new this.constructor({...this._def,description:Q})}pipe(Q){return h8.create(this,Q)}readonly(){return g9.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var bw=/^c[^\s-]{8,}$/i,Zw=/^[0-9a-z]+$/,Pw=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Rw=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Ew=/^[a-z0-9_-]{21}$/i,Sw=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Iw=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Tw=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Cw="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",$7,kw=/^(?:(?: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])$/,_w=/^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/,vw=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,xw=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,yw=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,fw=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,cG="((\\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])))",hw=new RegExp(`^${cG}$`);function pG(Q){let Y="[0-5]\\d";if(Q.precision)Y=`${Y}\\.\\d{${Q.precision}}`;else if(Q.precision==null)Y=`${Y}(\\.\\d+)?`;let X=Q.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${Y})${X}`}function gw(Q){return new RegExp(`^${pG(Q)}$`)}function dG(Q){let Y=`${cG}T${pG(Q)}`,X=[];if(X.push(Q.local?"Z?":"Z"),Q.offset)X.push("([+-]\\d{2}:?\\d{2})");return Y=`${Y}(${X.join("|")})`,new RegExp(`^${Y}$`)}function uw(Q,Y){if((Y==="v4"||!Y)&&kw.test(Q))return!0;if((Y==="v6"||!Y)&&vw.test(Q))return!0;return!1}function lw(Q,Y){if(!Sw.test(Q))return!1;try{let[X]=Q.split(".");if(!X)return!1;let W=X.replace(/-/g,"+").replace(/_/g,"/").padEnd(X.length+(4-X.length%4)%4,"="),$=JSON.parse(atob(W));if(typeof $!=="object"||$===null)return!1;if("typ"in $&&$?.typ!=="JWT")return!1;if(!$.alg)return!1;if(Y&&$.alg!==Y)return!1;return!0}catch{return!1}}function mw(Q,Y){if((Y==="v4"||!Y)&&_w.test(Q))return!0;if((Y==="v6"||!Y)&&xw.test(Q))return!0;return!1}class j1 extends o{_parse(Q){if(this._def.coerce)Q.data=String(Q.data);if(this._getType(Q)!==R.string){let $=this._getOrReturnCtx(Q);return C($,{code:b.invalid_type,expected:R.string,received:$.parsedType}),u}let X=new k0,W=void 0;for(let $ of this._def.checks)if($.kind==="min"){if(Q.data.length<$.value)W=this._getOrReturnCtx(Q,W),C(W,{code:b.too_small,minimum:$.value,type:"string",inclusive:!0,exact:!1,message:$.message}),X.dirty()}else if($.kind==="max"){if(Q.data.length>$.value)W=this._getOrReturnCtx(Q,W),C(W,{code:b.too_big,maximum:$.value,type:"string",inclusive:!0,exact:!1,message:$.message}),X.dirty()}else if($.kind==="length"){let J=Q.data.length>$.value,G=Q.data.length<$.value;if(J||G){if(W=this._getOrReturnCtx(Q,W),J)C(W,{code:b.too_big,maximum:$.value,type:"string",inclusive:!0,exact:!0,message:$.message});else if(G)C(W,{code:b.too_small,minimum:$.value,type:"string",inclusive:!0,exact:!0,message:$.message});X.dirty()}}else if($.kind==="email"){if(!Tw.test(Q.data))W=this._getOrReturnCtx(Q,W),C(W,{validation:"email",code:b.invalid_string,message:$.message}),X.dirty()}else if($.kind==="emoji"){if(!$7)$7=new RegExp(Cw,"u");if(!$7.test(Q.data))W=this._getOrReturnCtx(Q,W),C(W,{validation:"emoji",code:b.invalid_string,message:$.message}),X.dirty()}else if($.kind==="uuid"){if(!Rw.test(Q.data))W=this._getOrReturnCtx(Q,W),C(W,{validation:"uuid",code:b.invalid_string,message:$.message}),X.dirty()}else if($.kind==="nanoid"){if(!Ew.test(Q.data))W=this._getOrReturnCtx(Q,W),C(W,{validation:"nanoid",code:b.invalid_string,message:$.message}),X.dirty()}else if($.kind==="cuid"){if(!bw.test(Q.data))W=this._getOrReturnCtx(Q,W),C(W,{validation:"cuid",code:b.invalid_string,message:$.message}),X.dirty()}else if($.kind==="cuid2"){if(!Zw.test(Q.data))W=this._getOrReturnCtx(Q,W),C(W,{validation:"cuid2",code:b.invalid_string,message:$.message}),X.dirty()}else if($.kind==="ulid"){if(!Pw.test(Q.data))W=this._getOrReturnCtx(Q,W),C(W,{validation:"ulid",code:b.invalid_string,message:$.message}),X.dirty()}else if($.kind==="url")try{new URL(Q.data)}catch{W=this._getOrReturnCtx(Q,W),C(W,{validation:"url",code:b.invalid_string,message:$.message}),X.dirty()}else if($.kind==="regex"){if($.regex.lastIndex=0,!$.regex.test(Q.data))W=this._getOrReturnCtx(Q,W),C(W,{validation:"regex",code:b.invalid_string,message:$.message}),X.dirty()}else if($.kind==="trim")Q.data=Q.data.trim();else if($.kind==="includes"){if(!Q.data.includes($.value,$.position))W=this._getOrReturnCtx(Q,W),C(W,{code:b.invalid_string,validation:{includes:$.value,position:$.position},message:$.message}),X.dirty()}else if($.kind==="toLowerCase")Q.data=Q.data.toLowerCase();else if($.kind==="toUpperCase")Q.data=Q.data.toUpperCase();else if($.kind==="startsWith"){if(!Q.data.startsWith($.value))W=this._getOrReturnCtx(Q,W),C(W,{code:b.invalid_string,validation:{startsWith:$.value},message:$.message}),X.dirty()}else if($.kind==="endsWith"){if(!Q.data.endsWith($.value))W=this._getOrReturnCtx(Q,W),C(W,{code:b.invalid_string,validation:{endsWith:$.value},message:$.message}),X.dirty()}else if($.kind==="datetime"){if(!dG($).test(Q.data))W=this._getOrReturnCtx(Q,W),C(W,{code:b.invalid_string,validation:"datetime",message:$.message}),X.dirty()}else if($.kind==="date"){if(!hw.test(Q.data))W=this._getOrReturnCtx(Q,W),C(W,{code:b.invalid_string,validation:"date",message:$.message}),X.dirty()}else if($.kind==="time"){if(!gw($).test(Q.data))W=this._getOrReturnCtx(Q,W),C(W,{code:b.invalid_string,validation:"time",message:$.message}),X.dirty()}else if($.kind==="duration"){if(!Iw.test(Q.data))W=this._getOrReturnCtx(Q,W),C(W,{validation:"duration",code:b.invalid_string,message:$.message}),X.dirty()}else if($.kind==="ip"){if(!uw(Q.data,$.version))W=this._getOrReturnCtx(Q,W),C(W,{validation:"ip",code:b.invalid_string,message:$.message}),X.dirty()}else if($.kind==="jwt"){if(!lw(Q.data,$.alg))W=this._getOrReturnCtx(Q,W),C(W,{validation:"jwt",code:b.invalid_string,message:$.message}),X.dirty()}else if($.kind==="cidr"){if(!mw(Q.data,$.version))W=this._getOrReturnCtx(Q,W),C(W,{validation:"cidr",code:b.invalid_string,message:$.message}),X.dirty()}else if($.kind==="base64"){if(!yw.test(Q.data))W=this._getOrReturnCtx(Q,W),C(W,{validation:"base64",code:b.invalid_string,message:$.message}),X.dirty()}else if($.kind==="base64url"){if(!fw.test(Q.data))W=this._getOrReturnCtx(Q,W),C(W,{validation:"base64url",code:b.invalid_string,message:$.message}),X.dirty()}else a.assertNever($);return{status:X.value,value:Q.data}}_regex(Q,Y,X){return this.refinement((W)=>Q.test(W),{validation:Y,code:b.invalid_string,...v.errToObj(X)})}_addCheck(Q){return new j1({...this._def,checks:[...this._def.checks,Q]})}email(Q){return this._addCheck({kind:"email",...v.errToObj(Q)})}url(Q){return this._addCheck({kind:"url",...v.errToObj(Q)})}emoji(Q){return this._addCheck({kind:"emoji",...v.errToObj(Q)})}uuid(Q){return this._addCheck({kind:"uuid",...v.errToObj(Q)})}nanoid(Q){return this._addCheck({kind:"nanoid",...v.errToObj(Q)})}cuid(Q){return this._addCheck({kind:"cuid",...v.errToObj(Q)})}cuid2(Q){return this._addCheck({kind:"cuid2",...v.errToObj(Q)})}ulid(Q){return this._addCheck({kind:"ulid",...v.errToObj(Q)})}base64(Q){return this._addCheck({kind:"base64",...v.errToObj(Q)})}base64url(Q){return this._addCheck({kind:"base64url",...v.errToObj(Q)})}jwt(Q){return this._addCheck({kind:"jwt",...v.errToObj(Q)})}ip(Q){return this._addCheck({kind:"ip",...v.errToObj(Q)})}cidr(Q){return this._addCheck({kind:"cidr",...v.errToObj(Q)})}datetime(Q){if(typeof Q==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:Q});return this._addCheck({kind:"datetime",precision:typeof Q?.precision>"u"?null:Q?.precision,offset:Q?.offset??!1,local:Q?.local??!1,...v.errToObj(Q?.message)})}date(Q){return this._addCheck({kind:"date",message:Q})}time(Q){if(typeof Q==="string")return this._addCheck({kind:"time",precision:null,message:Q});return this._addCheck({kind:"time",precision:typeof Q?.precision>"u"?null:Q?.precision,...v.errToObj(Q?.message)})}duration(Q){return this._addCheck({kind:"duration",...v.errToObj(Q)})}regex(Q,Y){return this._addCheck({kind:"regex",regex:Q,...v.errToObj(Y)})}includes(Q,Y){return this._addCheck({kind:"includes",value:Q,position:Y?.position,...v.errToObj(Y?.message)})}startsWith(Q,Y){return this._addCheck({kind:"startsWith",value:Q,...v.errToObj(Y)})}endsWith(Q,Y){return this._addCheck({kind:"endsWith",value:Q,...v.errToObj(Y)})}min(Q,Y){return this._addCheck({kind:"min",value:Q,...v.errToObj(Y)})}max(Q,Y){return this._addCheck({kind:"max",value:Q,...v.errToObj(Y)})}length(Q,Y){return this._addCheck({kind:"length",value:Q,...v.errToObj(Y)})}nonempty(Q){return this.min(1,v.errToObj(Q))}trim(){return new j1({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new j1({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new j1({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((Q)=>Q.kind==="datetime")}get isDate(){return!!this._def.checks.find((Q)=>Q.kind==="date")}get isTime(){return!!this._def.checks.find((Q)=>Q.kind==="time")}get isDuration(){return!!this._def.checks.find((Q)=>Q.kind==="duration")}get isEmail(){return!!this._def.checks.find((Q)=>Q.kind==="email")}get isURL(){return!!this._def.checks.find((Q)=>Q.kind==="url")}get isEmoji(){return!!this._def.checks.find((Q)=>Q.kind==="emoji")}get isUUID(){return!!this._def.checks.find((Q)=>Q.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((Q)=>Q.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((Q)=>Q.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((Q)=>Q.kind==="cuid2")}get isULID(){return!!this._def.checks.find((Q)=>Q.kind==="ulid")}get isIP(){return!!this._def.checks.find((Q)=>Q.kind==="ip")}get isCIDR(){return!!this._def.checks.find((Q)=>Q.kind==="cidr")}get isBase64(){return!!this._def.checks.find((Q)=>Q.kind==="base64")}get isBase64url(){return!!this._def.checks.find((Q)=>Q.kind==="base64url")}get minLength(){let Q=null;for(let Y of this._def.checks)if(Y.kind==="min"){if(Q===null||Y.value>Q)Q=Y.value}return Q}get maxLength(){let Q=null;for(let Y of this._def.checks)if(Y.kind==="max"){if(Q===null||Y.value<Q)Q=Y.value}return Q}}j1.create=(Q)=>{return new j1({checks:[],typeName:Z.ZodString,coerce:Q?.coerce??!1,...p(Q)})};function cw(Q,Y){let X=(Q.toString().split(".")[1]||"").length,W=(Y.toString().split(".")[1]||"").length,$=X>W?X:W,J=Number.parseInt(Q.toFixed($).replace(".","")),G=Number.parseInt(Y.toFixed($).replace(".",""));return J%G/10**$}class O6 extends o{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(Q){if(this._def.coerce)Q.data=Number(Q.data);if(this._getType(Q)!==R.number){let $=this._getOrReturnCtx(Q);return C($,{code:b.invalid_type,expected:R.number,received:$.parsedType}),u}let X=void 0,W=new k0;for(let $ of this._def.checks)if($.kind==="int"){if(!a.isInteger(Q.data))X=this._getOrReturnCtx(Q,X),C(X,{code:b.invalid_type,expected:"integer",received:"float",message:$.message}),W.dirty()}else if($.kind==="min"){if($.inclusive?Q.data<$.value:Q.data<=$.value)X=this._getOrReturnCtx(Q,X),C(X,{code:b.too_small,minimum:$.value,type:"number",inclusive:$.inclusive,exact:!1,message:$.message}),W.dirty()}else if($.kind==="max"){if($.inclusive?Q.data>$.value:Q.data>=$.value)X=this._getOrReturnCtx(Q,X),C(X,{code:b.too_big,maximum:$.value,type:"number",inclusive:$.inclusive,exact:!1,message:$.message}),W.dirty()}else if($.kind==="multipleOf"){if(cw(Q.data,$.value)!==0)X=this._getOrReturnCtx(Q,X),C(X,{code:b.not_multiple_of,multipleOf:$.value,message:$.message}),W.dirty()}else if($.kind==="finite"){if(!Number.isFinite(Q.data))X=this._getOrReturnCtx(Q,X),C(X,{code:b.not_finite,message:$.message}),W.dirty()}else a.assertNever($);return{status:W.value,value:Q.data}}gte(Q,Y){return this.setLimit("min",Q,!0,v.toString(Y))}gt(Q,Y){return this.setLimit("min",Q,!1,v.toString(Y))}lte(Q,Y){return this.setLimit("max",Q,!0,v.toString(Y))}lt(Q,Y){return this.setLimit("max",Q,!1,v.toString(Y))}setLimit(Q,Y,X,W){return new O6({...this._def,checks:[...this._def.checks,{kind:Q,value:Y,inclusive:X,message:v.toString(W)}]})}_addCheck(Q){return new O6({...this._def,checks:[...this._def.checks,Q]})}int(Q){return this._addCheck({kind:"int",message:v.toString(Q)})}positive(Q){return this._addCheck({kind:"min",value:0,inclusive:!1,message:v.toString(Q)})}negative(Q){return this._addCheck({kind:"max",value:0,inclusive:!1,message:v.toString(Q)})}nonpositive(Q){return this._addCheck({kind:"max",value:0,inclusive:!0,message:v.toString(Q)})}nonnegative(Q){return this._addCheck({kind:"min",value:0,inclusive:!0,message:v.toString(Q)})}multipleOf(Q,Y){return this._addCheck({kind:"multipleOf",value:Q,message:v.toString(Y)})}finite(Q){return this._addCheck({kind:"finite",message:v.toString(Q)})}safe(Q){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:v.toString(Q)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:v.toString(Q)})}get minValue(){let Q=null;for(let Y of this._def.checks)if(Y.kind==="min"){if(Q===null||Y.value>Q)Q=Y.value}return Q}get maxValue(){let Q=null;for(let Y of this._def.checks)if(Y.kind==="max"){if(Q===null||Y.value<Q)Q=Y.value}return Q}get isInt(){return!!this._def.checks.find((Q)=>Q.kind==="int"||Q.kind==="multipleOf"&&a.isInteger(Q.value))}get isFinite(){let Q=null,Y=null;for(let X of this._def.checks)if(X.kind==="finite"||X.kind==="int"||X.kind==="multipleOf")return!0;else if(X.kind==="min"){if(Y===null||X.value>Y)Y=X.value}else if(X.kind==="max"){if(Q===null||X.value<Q)Q=X.value}return Number.isFinite(Y)&&Number.isFinite(Q)}}O6.create=(Q)=>{return new O6({checks:[],typeName:Z.ZodNumber,coerce:Q?.coerce||!1,...p(Q)})};class U6 extends o{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(Q){if(this._def.coerce)try{Q.data=BigInt(Q.data)}catch{return this._getInvalidInput(Q)}if(this._getType(Q)!==R.bigint)return this._getInvalidInput(Q);let X=void 0,W=new k0;for(let $ of this._def.checks)if($.kind==="min"){if($.inclusive?Q.data<$.value:Q.data<=$.value)X=this._getOrReturnCtx(Q,X),C(X,{code:b.too_small,type:"bigint",minimum:$.value,inclusive:$.inclusive,message:$.message}),W.dirty()}else if($.kind==="max"){if($.inclusive?Q.data>$.value:Q.data>=$.value)X=this._getOrReturnCtx(Q,X),C(X,{code:b.too_big,type:"bigint",maximum:$.value,inclusive:$.inclusive,message:$.message}),W.dirty()}else if($.kind==="multipleOf"){if(Q.data%$.value!==BigInt(0))X=this._getOrReturnCtx(Q,X),C(X,{code:b.not_multiple_of,multipleOf:$.value,message:$.message}),W.dirty()}else a.assertNever($);return{status:W.value,value:Q.data}}_getInvalidInput(Q){let Y=this._getOrReturnCtx(Q);return C(Y,{code:b.invalid_type,expected:R.bigint,received:Y.parsedType}),u}gte(Q,Y){return this.setLimit("min",Q,!0,v.toString(Y))}gt(Q,Y){return this.setLimit("min",Q,!1,v.toString(Y))}lte(Q,Y){return this.setLimit("max",Q,!0,v.toString(Y))}lt(Q,Y){return this.setLimit("max",Q,!1,v.toString(Y))}setLimit(Q,Y,X,W){return new U6({...this._def,checks:[...this._def.checks,{kind:Q,value:Y,inclusive:X,message:v.toString(W)}]})}_addCheck(Q){return new U6({...this._def,checks:[...this._def.checks,Q]})}positive(Q){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:v.toString(Q)})}negative(Q){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:v.toString(Q)})}nonpositive(Q){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:v.toString(Q)})}nonnegative(Q){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:v.toString(Q)})}multipleOf(Q,Y){return this._addCheck({kind:"multipleOf",value:Q,message:v.toString(Y)})}get minValue(){let Q=null;for(let Y of this._def.checks)if(Y.kind==="min"){if(Q===null||Y.value>Q)Q=Y.value}return Q}get maxValue(){let Q=null;for(let Y of this._def.checks)if(Y.kind==="max"){if(Q===null||Y.value<Q)Q=Y.value}return Q}}U6.create=(Q)=>{return new U6({checks:[],typeName:Z.ZodBigInt,coerce:Q?.coerce??!1,...p(Q)})};class I9 extends o{_parse(Q){if(this._def.coerce)Q.data=Boolean(Q.data);if(this._getType(Q)!==R.boolean){let X=this._getOrReturnCtx(Q);return C(X,{code:b.invalid_type,expected:R.boolean,received:X.parsedType}),u}return u0(Q.data)}}I9.create=(Q)=>{return new I9({typeName:Z.ZodBoolean,coerce:Q?.coerce||!1,...p(Q)})};class n6 extends o{_parse(Q){if(this._def.coerce)Q.data=new Date(Q.data);if(this._getType(Q)!==R.date){let $=this._getOrReturnCtx(Q);return C($,{code:b.invalid_type,expected:R.date,received:$.parsedType}),u}if(Number.isNaN(Q.data.getTime())){let $=this._getOrReturnCtx(Q);return C($,{code:b.invalid_date}),u}let X=new k0,W=void 0;for(let $ of this._def.checks)if($.kind==="min"){if(Q.data.getTime()<$.value)W=this._getOrReturnCtx(Q,W),C(W,{code:b.too_small,message:$.message,inclusive:!0,exact:!1,minimum:$.value,type:"date"}),X.dirty()}else if($.kind==="max"){if(Q.data.getTime()>$.value)W=this._getOrReturnCtx(Q,W),C(W,{code:b.too_big,message:$.message,inclusive:!0,exact:!1,maximum:$.value,type:"date"}),X.dirty()}else a.assertNever($);return{status:X.value,value:new Date(Q.data.getTime())}}_addCheck(Q){return new n6({...this._def,checks:[...this._def.checks,Q]})}min(Q,Y){return this._addCheck({kind:"min",value:Q.getTime(),message:v.toString(Y)})}max(Q,Y){return this._addCheck({kind:"max",value:Q.getTime(),message:v.toString(Y)})}get minDate(){let Q=null;for(let Y of this._def.checks)if(Y.kind==="min"){if(Q===null||Y.value>Q)Q=Y.value}return Q!=null?new Date(Q):null}get maxDate(){let Q=null;for(let Y of this._def.checks)if(Y.kind==="max"){if(Q===null||Y.value<Q)Q=Y.value}return Q!=null?new Date(Q):null}}n6.create=(Q)=>{return new n6({checks:[],coerce:Q?.coerce||!1,typeName:Z.ZodDate,...p(Q)})};class _8 extends o{_parse(Q){if(this._getType(Q)!==R.symbol){let X=this._getOrReturnCtx(Q);return C(X,{code:b.invalid_type,expected:R.symbol,received:X.parsedType}),u}return u0(Q.data)}}_8.create=(Q)=>{return new _8({typeName:Z.ZodSymbol,...p(Q)})};class T9 extends o{_parse(Q){if(this._getType(Q)!==R.undefined){let X=this._getOrReturnCtx(Q);return C(X,{code:b.invalid_type,expected:R.undefined,received:X.parsedType}),u}return u0(Q.data)}}T9.create=(Q)=>{return new T9({typeName:Z.ZodUndefined,...p(Q)})};class C9 extends o{_parse(Q){if(this._getType(Q)!==R.null){let X=this._getOrReturnCtx(Q);return C(X,{code:b.invalid_type,expected:R.null,received:X.parsedType}),u}return u0(Q.data)}}C9.create=(Q)=>{return new C9({typeName:Z.ZodNull,...p(Q)})};class o6 extends o{constructor(){super(...arguments);this._any=!0}_parse(Q){return u0(Q.data)}}o6.create=(Q)=>{return new o6({typeName:Z.ZodAny,...p(Q)})};class L6 extends o{constructor(){super(...arguments);this._unknown=!0}_parse(Q){return u0(Q.data)}}L6.create=(Q)=>{return new L6({typeName:Z.ZodUnknown,...p(Q)})};class u1 extends o{_parse(Q){let Y=this._getOrReturnCtx(Q);return C(Y,{code:b.invalid_type,expected:R.never,received:Y.parsedType}),u}}u1.create=(Q)=>{return new u1({typeName:Z.ZodNever,...p(Q)})};class v8 extends o{_parse(Q){if(this._getType(Q)!==R.undefined){let X=this._getOrReturnCtx(Q);return C(X,{code:b.invalid_type,expected:R.void,received:X.parsedType}),u}return u0(Q.data)}}v8.create=(Q)=>{return new v8({typeName:Z.ZodVoid,...p(Q)})};class w1 extends o{_parse(Q){let{ctx:Y,status:X}=this._processInputParams(Q),W=this._def;if(Y.parsedType!==R.array)return C(Y,{code:b.invalid_type,expected:R.array,received:Y.parsedType}),u;if(W.exactLength!==null){let J=Y.data.length>W.exactLength.value,G=Y.data.length<W.exactLength.value;if(J||G)C(Y,{code:J?b.too_big:b.too_small,minimum:G?W.exactLength.value:void 0,maximum:J?W.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:W.exactLength.message}),X.dirty()}if(W.minLength!==null){if(Y.data.length<W.minLength.value)C(Y,{code:b.too_small,minimum:W.minLength.value,type:"array",inclusive:!0,exact:!1,message:W.minLength.message}),X.dirty()}if(W.maxLength!==null){if(Y.data.length>W.maxLength.value)C(Y,{code:b.too_big,maximum:W.maxLength.value,type:"array",inclusive:!0,exact:!1,message:W.maxLength.message}),X.dirty()}if(Y.common.async)return Promise.all([...Y.data].map((J,G)=>{return W.type._parseAsync(new N1(Y,J,Y.path,G))})).then((J)=>{return k0.mergeArray(X,J)});let $=[...Y.data].map((J,G)=>{return W.type._parseSync(new N1(Y,J,Y.path,G))});return k0.mergeArray(X,$)}get element(){return this._def.type}min(Q,Y){return new w1({...this._def,minLength:{value:Q,message:v.toString(Y)}})}max(Q,Y){return new w1({...this._def,maxLength:{value:Q,message:v.toString(Y)}})}length(Q,Y){return new w1({...this._def,exactLength:{value:Q,message:v.toString(Y)}})}nonempty(Q){return this.min(1,Q)}}w1.create=(Q,Y)=>{return new w1({type:Q,minLength:null,maxLength:null,exactLength:null,typeName:Z.ZodArray,...p(Y)})};function E9(Q){if(Q instanceof M0){let Y={};for(let X in Q.shape){let W=Q.shape[X];Y[X]=z1.create(E9(W))}return new M0({...Q._def,shape:()=>Y})}else if(Q instanceof w1)return new w1({...Q._def,type:E9(Q.element)});else if(Q instanceof z1)return z1.create(E9(Q.unwrap()));else if(Q instanceof s1)return s1.create(E9(Q.unwrap()));else if(Q instanceof l1)return l1.create(Q.items.map((Y)=>E9(Y)));else return Q}class M0 extends o{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let Q=this._def.shape(),Y=a.objectKeys(Q);return this._cached={shape:Q,keys:Y},this._cached}_parse(Q){if(this._getType(Q)!==R.object){let B=this._getOrReturnCtx(Q);return C(B,{code:b.invalid_type,expected:R.object,received:B.parsedType}),u}let{status:X,ctx:W}=this._processInputParams(Q),{shape:$,keys:J}=this._getCached(),G=[];if(!(this._def.catchall instanceof u1&&this._def.unknownKeys==="strip")){for(let B in W.data)if(!J.includes(B))G.push(B)}let H=[];for(let B of J){let z=$[B],K=W.data[B];H.push({key:{status:"valid",value:B},value:z._parse(new N1(W,K,W.path,B)),alwaysSet:B in W.data})}if(this._def.catchall instanceof u1){let B=this._def.unknownKeys;if(B==="passthrough")for(let z of G)H.push({key:{status:"valid",value:z},value:{status:"valid",value:W.data[z]}});else if(B==="strict"){if(G.length>0)C(W,{code:b.unrecognized_keys,keys:G}),X.dirty()}else if(B==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let B=this._def.catchall;for(let z of G){let K=W.data[z];H.push({key:{status:"valid",value:z},value:B._parse(new N1(W,K,W.path,z)),alwaysSet:z in W.data})}}if(W.common.async)return Promise.resolve().then(async()=>{let B=[];for(let z of H){let K=await z.key,V=await z.value;B.push({key:K,value:V,alwaysSet:z.alwaysSet})}return B}).then((B)=>{return k0.mergeObjectSync(X,B)});else return k0.mergeObjectSync(X,H)}get shape(){return this._def.shape()}strict(Q){return v.errToObj,new M0({...this._def,unknownKeys:"strict",...Q!==void 0?{errorMap:(Y,X)=>{let W=this._def.errorMap?.(Y,X).message??X.defaultError;if(Y.code==="unrecognized_keys")return{message:v.errToObj(Q).message??W};return{message:W}}}:{}})}strip(){return new M0({...this._def,unknownKeys:"strip"})}passthrough(){return new M0({...this._def,unknownKeys:"passthrough"})}extend(Q){return new M0({...this._def,shape:()=>({...this._def.shape(),...Q})})}merge(Q){return new M0({unknownKeys:Q._def.unknownKeys,catchall:Q._def.catchall,shape:()=>({...this._def.shape(),...Q._def.shape()}),typeName:Z.ZodObject})}setKey(Q,Y){return this.augment({[Q]:Y})}catchall(Q){return new M0({...this._def,catchall:Q})}pick(Q){let Y={};for(let X of a.objectKeys(Q))if(Q[X]&&this.shape[X])Y[X]=this.shape[X];return new M0({...this._def,shape:()=>Y})}omit(Q){let Y={};for(let X of a.objectKeys(this.shape))if(!Q[X])Y[X]=this.shape[X];return new M0({...this._def,shape:()=>Y})}deepPartial(){return E9(this)}partial(Q){let Y={};for(let X of a.objectKeys(this.shape)){let W=this.shape[X];if(Q&&!Q[X])Y[X]=W;else Y[X]=W.optional()}return new M0({...this._def,shape:()=>Y})}required(Q){let Y={};for(let X of a.objectKeys(this.shape))if(Q&&!Q[X])Y[X]=this.shape[X];else{let $=this.shape[X];while($ instanceof z1)$=$._def.innerType;Y[X]=$}return new M0({...this._def,shape:()=>Y})}keyof(){return iG(a.objectKeys(this.shape))}}M0.create=(Q,Y)=>{return new M0({shape:()=>Q,unknownKeys:"strip",catchall:u1.create(),typeName:Z.ZodObject,...p(Y)})};M0.strictCreate=(Q,Y)=>{return new M0({shape:()=>Q,unknownKeys:"strict",catchall:u1.create(),typeName:Z.ZodObject,...p(Y)})};M0.lazycreate=(Q,Y)=>{return new M0({shape:Q,unknownKeys:"strip",catchall:u1.create(),typeName:Z.ZodObject,...p(Y)})};class k9 extends o{_parse(Q){let{ctx:Y}=this._processInputParams(Q),X=this._def.options;function W($){for(let G of $)if(G.result.status==="valid")return G.result;for(let G of $)if(G.result.status==="dirty")return Y.common.issues.push(...G.ctx.common.issues),G.result;let J=$.map((G)=>new a0(G.ctx.common.issues));return C(Y,{code:b.invalid_union,unionErrors:J}),u}if(Y.common.async)return Promise.all(X.map(async($)=>{let J={...Y,common:{...Y.common,issues:[]},parent:null};return{result:await $._parseAsync({data:Y.data,path:Y.path,parent:J}),ctx:J}})).then(W);else{let $=void 0,J=[];for(let H of X){let B={...Y,common:{...Y.common,issues:[]},parent:null},z=H._parseSync({data:Y.data,path:Y.path,parent:B});if(z.status==="valid")return z;else if(z.status==="dirty"&&!$)$={result:z,ctx:B};if(B.common.issues.length)J.push(B.common.issues)}if($)return Y.common.issues.push(...$.ctx.common.issues),$.result;let G=J.map((H)=>new a0(H));return C(Y,{code:b.invalid_union,unionErrors:G}),u}}get options(){return this._def.options}}k9.create=(Q,Y)=>{return new k9({options:Q,typeName:Z.ZodUnion,...p(Y)})};var t1=(Q)=>{if(Q instanceof v9)return t1(Q.schema);else if(Q instanceof q1)return t1(Q.innerType());else if(Q instanceof x9)return[Q.value];else if(Q instanceof j6)return Q.options;else if(Q instanceof y9)return a.objectValues(Q.enum);else if(Q instanceof f9)return t1(Q._def.innerType);else if(Q instanceof T9)return[void 0];else if(Q instanceof C9)return[null];else if(Q instanceof z1)return[void 0,...t1(Q.unwrap())];else if(Q instanceof s1)return[null,...t1(Q.unwrap())];else if(Q instanceof FQ)return t1(Q.unwrap());else if(Q instanceof g9)return t1(Q.unwrap());else if(Q instanceof h9)return t1(Q._def.innerType);else return[]};class VQ extends o{_parse(Q){let{ctx:Y}=this._processInputParams(Q);if(Y.parsedType!==R.object)return C(Y,{code:b.invalid_type,expected:R.object,received:Y.parsedType}),u;let X=this.discriminator,W=Y.data[X],$=this.optionsMap.get(W);if(!$)return C(Y,{code:b.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[X]}),u;if(Y.common.async)return $._parseAsync({data:Y.data,path:Y.path,parent:Y});else return $._parseSync({data:Y.data,path:Y.path,parent:Y})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(Q,Y,X){let W=new Map;for(let $ of Y){let J=t1($.shape[Q]);if(!J.length)throw Error(`A discriminator value for key \`${Q}\` could not be extracted from all schema options`);for(let G of J){if(W.has(G))throw Error(`Discriminator property ${String(Q)} has duplicate value ${String(G)}`);W.set(G,$)}}return new VQ({typeName:Z.ZodDiscriminatedUnion,discriminator:Q,options:Y,optionsMap:W,...p(X)})}}function J7(Q,Y){let X=g1(Q),W=g1(Y);if(Q===Y)return{valid:!0,data:Q};else if(X===R.object&&W===R.object){let $=a.objectKeys(Y),J=a.objectKeys(Q).filter((H)=>$.indexOf(H)!==-1),G={...Q,...Y};for(let H of J){let B=J7(Q[H],Y[H]);if(!B.valid)return{valid:!1};G[H]=B.data}return{valid:!0,data:G}}else if(X===R.array&&W===R.array){if(Q.length!==Y.length)return{valid:!1};let $=[];for(let J=0;J<Q.length;J++){let G=Q[J],H=Y[J],B=J7(G,H);if(!B.valid)return{valid:!1};$.push(B.data)}return{valid:!0,data:$}}else if(X===R.date&&W===R.date&&+Q===+Y)return{valid:!0,data:Q};else return{valid:!1}}class _9 extends o{_parse(Q){let{status:Y,ctx:X}=this._processInputParams(Q),W=($,J)=>{if(zQ($)||zQ(J))return u;let G=J7($.value,J.value);if(!G.valid)return C(X,{code:b.invalid_intersection_types}),u;if(KQ($)||KQ(J))Y.dirty();return{status:Y.value,value:G.data}};if(X.common.async)return Promise.all([this._def.left._parseAsync({data:X.data,path:X.path,parent:X}),this._def.right._parseAsync({data:X.data,path:X.path,parent:X})]).then(([$,J])=>W($,J));else return W(this._def.left._parseSync({data:X.data,path:X.path,parent:X}),this._def.right._parseSync({data:X.data,path:X.path,parent:X}))}}_9.create=(Q,Y,X)=>{return new _9({left:Q,right:Y,typeName:Z.ZodIntersection,...p(X)})};class l1 extends o{_parse(Q){let{status:Y,ctx:X}=this._processInputParams(Q);if(X.parsedType!==R.array)return C(X,{code:b.invalid_type,expected:R.array,received:X.parsedType}),u;if(X.data.length<this._def.items.length)return C(X,{code:b.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),u;if(!this._def.rest&&X.data.length>this._def.items.length)C(X,{code:b.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),Y.dirty();let $=[...X.data].map((J,G)=>{let H=this._def.items[G]||this._def.rest;if(!H)return null;return H._parse(new N1(X,J,X.path,G))}).filter((J)=>!!J);if(X.common.async)return Promise.all($).then((J)=>{return k0.mergeArray(Y,J)});else return k0.mergeArray(Y,$)}get items(){return this._def.items}rest(Q){return new l1({...this._def,rest:Q})}}l1.create=(Q,Y)=>{if(!Array.isArray(Q))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new l1({items:Q,typeName:Z.ZodTuple,rest:null,...p(Y)})};class x8 extends o{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(Q){let{status:Y,ctx:X}=this._processInputParams(Q);if(X.parsedType!==R.object)return C(X,{code:b.invalid_type,expected:R.object,received:X.parsedType}),u;let W=[],$=this._def.keyType,J=this._def.valueType;for(let G in X.data)W.push({key:$._parse(new N1(X,G,X.path,G)),value:J._parse(new N1(X,X.data[G],X.path,G)),alwaysSet:G in X.data});if(X.common.async)return k0.mergeObjectAsync(Y,W);else return k0.mergeObjectSync(Y,W)}get element(){return this._def.valueType}static create(Q,Y,X){if(Y instanceof o)return new x8({keyType:Q,valueType:Y,typeName:Z.ZodRecord,...p(X)});return new x8({keyType:j1.create(),valueType:Q,typeName:Z.ZodRecord,...p(Y)})}}class y8 extends o{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(Q){let{status:Y,ctx:X}=this._processInputParams(Q);if(X.parsedType!==R.map)return C(X,{code:b.invalid_type,expected:R.map,received:X.parsedType}),u;let W=this._def.keyType,$=this._def.valueType,J=[...X.data.entries()].map(([G,H],B)=>{return{key:W._parse(new N1(X,G,X.path,[B,"key"])),value:$._parse(new N1(X,H,X.path,[B,"value"]))}});if(X.common.async){let G=new Map;return Promise.resolve().then(async()=>{for(let H of J){let B=await H.key,z=await H.value;if(B.status==="aborted"||z.status==="aborted")return u;if(B.status==="dirty"||z.status==="dirty")Y.dirty();G.set(B.value,z.value)}return{status:Y.value,value:G}})}else{let G=new Map;for(let H of J){let{key:B,value:z}=H;if(B.status==="aborted"||z.status==="aborted")return u;if(B.status==="dirty"||z.status==="dirty")Y.dirty();G.set(B.value,z.value)}return{status:Y.value,value:G}}}}y8.create=(Q,Y,X)=>{return new y8({valueType:Y,keyType:Q,typeName:Z.ZodMap,...p(X)})};class r6 extends o{_parse(Q){let{status:Y,ctx:X}=this._processInputParams(Q);if(X.parsedType!==R.set)return C(X,{code:b.invalid_type,expected:R.set,received:X.parsedType}),u;let W=this._def;if(W.minSize!==null){if(X.data.size<W.minSize.value)C(X,{code:b.too_small,minimum:W.minSize.value,type:"set",inclusive:!0,exact:!1,message:W.minSize.message}),Y.dirty()}if(W.maxSize!==null){if(X.data.size>W.maxSize.value)C(X,{code:b.too_big,maximum:W.maxSize.value,type:"set",inclusive:!0,exact:!1,message:W.maxSize.message}),Y.dirty()}let $=this._def.valueType;function J(H){let B=new Set;for(let z of H){if(z.status==="aborted")return u;if(z.status==="dirty")Y.dirty();B.add(z.value)}return{status:Y.value,value:B}}let G=[...X.data.values()].map((H,B)=>$._parse(new N1(X,H,X.path,B)));if(X.common.async)return Promise.all(G).then((H)=>J(H));else return J(G)}min(Q,Y){return new r6({...this._def,minSize:{value:Q,message:v.toString(Y)}})}max(Q,Y){return new r6({...this._def,maxSize:{value:Q,message:v.toString(Y)}})}size(Q,Y){return this.min(Q,Y).max(Q,Y)}nonempty(Q){return this.min(1,Q)}}r6.create=(Q,Y)=>{return new r6({valueType:Q,minSize:null,maxSize:null,typeName:Z.ZodSet,...p(Y)})};class S9 extends o{constructor(){super(...arguments);this.validate=this.implement}_parse(Q){let{ctx:Y}=this._processInputParams(Q);if(Y.parsedType!==R.function)return C(Y,{code:b.invalid_type,expected:R.function,received:Y.parsedType}),u;function X(G,H){return k8({data:G,path:Y.path,errorMaps:[Y.common.contextualErrorMap,Y.schemaErrorMap,P9(),a1].filter((B)=>!!B),issueData:{code:b.invalid_arguments,argumentsError:H}})}function W(G,H){return k8({data:G,path:Y.path,errorMaps:[Y.common.contextualErrorMap,Y.schemaErrorMap,P9(),a1].filter((B)=>!!B),issueData:{code:b.invalid_return_type,returnTypeError:H}})}let $={errorMap:Y.common.contextualErrorMap},J=Y.data;if(this._def.returns instanceof a6){let G=this;return u0(async function(...H){let B=new a0([]),z=await G._def.args.parseAsync(H,$).catch((F)=>{throw B.addIssue(X(H,F)),B}),K=await Reflect.apply(J,this,z);return await G._def.returns._def.type.parseAsync(K,$).catch((F)=>{throw B.addIssue(W(K,F)),B})})}else{let G=this;return u0(function(...H){let B=G._def.args.safeParse(H,$);if(!B.success)throw new a0([X(H,B.error)]);let z=Reflect.apply(J,this,B.data),K=G._def.returns.safeParse(z,$);if(!K.success)throw new a0([W(z,K.error)]);return K.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...Q){return new S9({...this._def,args:l1.create(Q).rest(L6.create())})}returns(Q){return new S9({...this._def,returns:Q})}implement(Q){return this.parse(Q)}strictImplement(Q){return this.parse(Q)}static create(Q,Y,X){return new S9({args:Q?Q:l1.create([]).rest(L6.create()),returns:Y||L6.create(),typeName:Z.ZodFunction,...p(X)})}}class v9 extends o{get schema(){return this._def.getter()}_parse(Q){let{ctx:Y}=this._processInputParams(Q);return this._def.getter()._parse({data:Y.data,path:Y.path,parent:Y})}}v9.create=(Q,Y)=>{return new v9({getter:Q,typeName:Z.ZodLazy,...p(Y)})};class x9 extends o{_parse(Q){if(Q.data!==this._def.value){let Y=this._getOrReturnCtx(Q);return C(Y,{received:Y.data,code:b.invalid_literal,expected:this._def.value}),u}return{status:"valid",value:Q.data}}get value(){return this._def.value}}x9.create=(Q,Y)=>{return new x9({value:Q,typeName:Z.ZodLiteral,...p(Y)})};function iG(Q,Y){return new j6({values:Q,typeName:Z.ZodEnum,...p(Y)})}class j6 extends o{_parse(Q){if(typeof Q.data!=="string"){let Y=this._getOrReturnCtx(Q),X=this._def.values;return C(Y,{expected:a.joinValues(X),received:Y.parsedType,code:b.invalid_type}),u}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(Q.data)){let Y=this._getOrReturnCtx(Q),X=this._def.values;return C(Y,{received:Y.data,code:b.invalid_enum_value,options:X}),u}return u0(Q.data)}get options(){return this._def.values}get enum(){let Q={};for(let Y of this._def.values)Q[Y]=Y;return Q}get Values(){let Q={};for(let Y of this._def.values)Q[Y]=Y;return Q}get Enum(){let Q={};for(let Y of this._def.values)Q[Y]=Y;return Q}extract(Q,Y=this._def){return j6.create(Q,{...this._def,...Y})}exclude(Q,Y=this._def){return j6.create(this.options.filter((X)=>!Q.includes(X)),{...this._def,...Y})}}j6.create=iG;class y9 extends o{_parse(Q){let Y=a.getValidEnumValues(this._def.values),X=this._getOrReturnCtx(Q);if(X.parsedType!==R.string&&X.parsedType!==R.number){let W=a.objectValues(Y);return C(X,{expected:a.joinValues(W),received:X.parsedType,code:b.invalid_type}),u}if(!this._cache)this._cache=new Set(a.getValidEnumValues(this._def.values));if(!this._cache.has(Q.data)){let W=a.objectValues(Y);return C(X,{received:X.data,code:b.invalid_enum_value,options:W}),u}return u0(Q.data)}get enum(){return this._def.values}}y9.create=(Q,Y)=>{return new y9({values:Q,typeName:Z.ZodNativeEnum,...p(Y)})};class a6 extends o{unwrap(){return this._def.type}_parse(Q){let{ctx:Y}=this._processInputParams(Q);if(Y.parsedType!==R.promise&&Y.common.async===!1)return C(Y,{code:b.invalid_type,expected:R.promise,received:Y.parsedType}),u;let X=Y.parsedType===R.promise?Y.data:Promise.resolve(Y.data);return u0(X.then((W)=>{return this._def.type.parseAsync(W,{path:Y.path,errorMap:Y.common.contextualErrorMap})}))}}a6.create=(Q,Y)=>{return new a6({type:Q,typeName:Z.ZodPromise,...p(Y)})};class q1 extends o{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Z.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(Q){let{status:Y,ctx:X}=this._processInputParams(Q),W=this._def.effect||null,$={addIssue:(J)=>{if(C(X,J),J.fatal)Y.abort();else Y.dirty()},get path(){return X.path}};if($.addIssue=$.addIssue.bind($),W.type==="preprocess"){let J=W.transform(X.data,$);if(X.common.async)return Promise.resolve(J).then(async(G)=>{if(Y.value==="aborted")return u;let H=await this._def.schema._parseAsync({data:G,path:X.path,parent:X});if(H.status==="aborted")return u;if(H.status==="dirty")return i6(H.value);if(Y.value==="dirty")return i6(H.value);return H});else{if(Y.value==="aborted")return u;let G=this._def.schema._parseSync({data:J,path:X.path,parent:X});if(G.status==="aborted")return u;if(G.status==="dirty")return i6(G.value);if(Y.value==="dirty")return i6(G.value);return G}}if(W.type==="refinement"){let J=(G)=>{let H=W.refinement(G,$);if(X.common.async)return Promise.resolve(H);if(H instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return G};if(X.common.async===!1){let G=this._def.schema._parseSync({data:X.data,path:X.path,parent:X});if(G.status==="aborted")return u;if(G.status==="dirty")Y.dirty();return J(G.value),{status:Y.value,value:G.value}}else return this._def.schema._parseAsync({data:X.data,path:X.path,parent:X}).then((G)=>{if(G.status==="aborted")return u;if(G.status==="dirty")Y.dirty();return J(G.value).then(()=>{return{status:Y.value,value:G.value}})})}if(W.type==="transform")if(X.common.async===!1){let J=this._def.schema._parseSync({data:X.data,path:X.path,parent:X});if(!D6(J))return u;let G=W.transform(J.value,$);if(G instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:Y.value,value:G}}else return this._def.schema._parseAsync({data:X.data,path:X.path,parent:X}).then((J)=>{if(!D6(J))return u;return Promise.resolve(W.transform(J.value,$)).then((G)=>({status:Y.value,value:G}))});a.assertNever(W)}}q1.create=(Q,Y,X)=>{return new q1({schema:Q,typeName:Z.ZodEffects,effect:Y,...p(X)})};q1.createWithPreprocess=(Q,Y,X)=>{return new q1({schema:Y,effect:{type:"preprocess",transform:Q},typeName:Z.ZodEffects,...p(X)})};class z1 extends o{_parse(Q){if(this._getType(Q)===R.undefined)return u0(void 0);return this._def.innerType._parse(Q)}unwrap(){return this._def.innerType}}z1.create=(Q,Y)=>{return new z1({innerType:Q,typeName:Z.ZodOptional,...p(Y)})};class s1 extends o{_parse(Q){if(this._getType(Q)===R.null)return u0(null);return this._def.innerType._parse(Q)}unwrap(){return this._def.innerType}}s1.create=(Q,Y)=>{return new s1({innerType:Q,typeName:Z.ZodNullable,...p(Y)})};class f9 extends o{_parse(Q){let{ctx:Y}=this._processInputParams(Q),X=Y.data;if(Y.parsedType===R.undefined)X=this._def.defaultValue();return this._def.innerType._parse({data:X,path:Y.path,parent:Y})}removeDefault(){return this._def.innerType}}f9.create=(Q,Y)=>{return new f9({innerType:Q,typeName:Z.ZodDefault,defaultValue:typeof Y.default==="function"?Y.default:()=>Y.default,...p(Y)})};class h9 extends o{_parse(Q){let{ctx:Y}=this._processInputParams(Q),X={...Y,common:{...Y.common,issues:[]}},W=this._def.innerType._parse({data:X.data,path:X.path,parent:{...X}});if(R9(W))return W.then(($)=>{return{status:"valid",value:$.status==="valid"?$.value:this._def.catchValue({get error(){return new a0(X.common.issues)},input:X.data})}});else return{status:"valid",value:W.status==="valid"?W.value:this._def.catchValue({get error(){return new a0(X.common.issues)},input:X.data})}}removeCatch(){return this._def.innerType}}h9.create=(Q,Y)=>{return new h9({innerType:Q,typeName:Z.ZodCatch,catchValue:typeof Y.catch==="function"?Y.catch:()=>Y.catch,...p(Y)})};class f8 extends o{_parse(Q){if(this._getType(Q)!==R.nan){let X=this._getOrReturnCtx(Q);return C(X,{code:b.invalid_type,expected:R.nan,received:X.parsedType}),u}return{status:"valid",value:Q.data}}}f8.create=(Q)=>{return new f8({typeName:Z.ZodNaN,...p(Q)})};var pw=Symbol("zod_brand");class FQ extends o{_parse(Q){let{ctx:Y}=this._processInputParams(Q),X=Y.data;return this._def.type._parse({data:X,path:Y.path,parent:Y})}unwrap(){return this._def.type}}class h8 extends o{_parse(Q){let{status:Y,ctx:X}=this._processInputParams(Q);if(X.common.async)return(async()=>{let $=await this._def.in._parseAsync({data:X.data,path:X.path,parent:X});if($.status==="aborted")return u;if($.status==="dirty")return Y.dirty(),i6($.value);else return this._def.out._parseAsync({data:$.value,path:X.path,parent:X})})();else{let W=this._def.in._parseSync({data:X.data,path:X.path,parent:X});if(W.status==="aborted")return u;if(W.status==="dirty")return Y.dirty(),{status:"dirty",value:W.value};else return this._def.out._parseSync({data:W.value,path:X.path,parent:X})}}static create(Q,Y){return new h8({in:Q,out:Y,typeName:Z.ZodPipeline})}}class g9 extends o{_parse(Q){let Y=this._def.innerType._parse(Q),X=(W)=>{if(D6(W))W.value=Object.freeze(W.value);return W};return R9(Y)?Y.then((W)=>X(W)):X(Y)}unwrap(){return this._def.innerType}}g9.create=(Q,Y)=>{return new g9({innerType:Q,typeName:Z.ZodReadonly,...p(Y)})};function mG(Q,Y){let X=typeof Q==="function"?Q(Y):typeof Q==="string"?{message:Q}:Q;return typeof X==="string"?{message:X}:X}function nG(Q,Y={},X){if(Q)return o6.create().superRefine((W,$)=>{let J=Q(W);if(J instanceof Promise)return J.then((G)=>{if(!G){let H=mG(Y,W),B=H.fatal??X??!0;$.addIssue({code:"custom",...H,fatal:B})}});if(!J){let G=mG(Y,W),H=G.fatal??X??!0;$.addIssue({code:"custom",...G,fatal:H})}return});return o6.create()}var dw={object:M0.lazycreate},Z;(function(Q){Q.ZodString="ZodString",Q.ZodNumber="ZodNumber",Q.ZodNaN="ZodNaN",Q.ZodBigInt="ZodBigInt",Q.ZodBoolean="ZodBoolean",Q.ZodDate="ZodDate",Q.ZodSymbol="ZodSymbol",Q.ZodUndefined="ZodUndefined",Q.ZodNull="ZodNull",Q.ZodAny="ZodAny",Q.ZodUnknown="ZodUnknown",Q.ZodNever="ZodNever",Q.ZodVoid="ZodVoid",Q.ZodArray="ZodArray",Q.ZodObject="ZodObject",Q.ZodUnion="ZodUnion",Q.ZodDiscriminatedUnion="ZodDiscriminatedUnion",Q.ZodIntersection="ZodIntersection",Q.ZodTuple="ZodTuple",Q.ZodRecord="ZodRecord",Q.ZodMap="ZodMap",Q.ZodSet="ZodSet",Q.ZodFunction="ZodFunction",Q.ZodLazy="ZodLazy",Q.ZodLiteral="ZodLiteral",Q.ZodEnum="ZodEnum",Q.ZodEffects="ZodEffects",Q.ZodNativeEnum="ZodNativeEnum",Q.ZodOptional="ZodOptional",Q.ZodNullable="ZodNullable",Q.ZodDefault="ZodDefault",Q.ZodCatch="ZodCatch",Q.ZodPromise="ZodPromise",Q.ZodBranded="ZodBranded",Q.ZodPipeline="ZodPipeline",Q.ZodReadonly="ZodReadonly"})(Z||(Z={}));var iw=(Q,Y={message:`Input not instance of ${Q.name}`})=>nG((X)=>X instanceof Q,Y),oG=j1.create,rG=O6.create,nw=f8.create,ow=U6.create,aG=I9.create,rw=n6.create,aw=_8.create,tw=T9.create,sw=C9.create,ew=o6.create,QN=L6.create,YN=u1.create,XN=v8.create,WN=w1.create,G7=M0.create,$N=M0.strictCreate,JN=k9.create,GN=VQ.create,HN=_9.create,BN=l1.create,zN=x8.create,KN=y8.create,VN=r6.create,FN=S9.create,AN=v9.create,DN=x9.create,LN=j6.create,ON=y9.create,UN=a6.create,jN=q1.create,wN=z1.create,NN=s1.create,qN=q1.createWithPreprocess,MN=h8.create,bN=()=>oG().optional(),ZN=()=>rG().optional(),PN=()=>aG().optional(),RN={string:(Q)=>j1.create({...Q,coerce:!0}),number:(Q)=>O6.create({...Q,coerce:!0}),boolean:(Q)=>I9.create({...Q,coerce:!0}),bigint:(Q)=>U6.create({...Q,coerce:!0}),date:(Q)=>n6.create({...Q,coerce:!0})};var EN=u;var DQ=Object.freeze({status:"aborted"});function q(Q,Y,X){function W(H,B){var z;Object.defineProperty(H,"_zod",{value:H._zod??{},enumerable:!1}),(z=H._zod).traits??(z.traits=new Set),H._zod.traits.add(Q),Y(H,B);for(let K in G.prototype)if(!(K in H))Object.defineProperty(H,K,{value:G.prototype[K].bind(H)});H._zod.constr=G,H._zod.def=B}let $=X?.Parent??Object;class J extends ${}Object.defineProperty(J,"name",{value:Q});function G(H){var B;let z=X?.Parent?new J:this;W(z,H),(B=z._zod).deferred??(B.deferred=[]);for(let K of z._zod.deferred)K();return z}return Object.defineProperty(G,"init",{value:W}),Object.defineProperty(G,Symbol.hasInstance,{value:(H)=>{if(X?.Parent&&H instanceof X.Parent)return!0;return H?._zod?.traits?.has(Q)}}),Object.defineProperty(G,"name",{value:Q}),G}var tG=Symbol("zod_brand");class w6 extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}var AQ={};function t0(Q){if(Q)Object.assign(AQ,Q);return AQ}var t={};BQ(t,{unwrapMessage:()=>g8,stringifyPrimitive:()=>UQ,required:()=>pN,randomString:()=>xN,propertyKeyTypes:()=>F7,promiseAllObject:()=>vN,primitiveTypes:()=>sG,prefixIssues:()=>m1,pick:()=>gN,partial:()=>cN,optionalKeys:()=>A7,omit:()=>uN,numKeys:()=>yN,nullish:()=>m8,normalizeParams:()=>g,merge:()=>mN,jsonStringifyReplacer:()=>B7,joinValues:()=>LQ,issue:()=>L7,isPlainObject:()=>l9,isObject:()=>u9,getSizableOrigin:()=>QH,getParsedType:()=>fN,getLengthableOrigin:()=>p8,getEnumValues:()=>u8,getElementAtPath:()=>_N,floatSafeRemainder:()=>z7,finalizeIssue:()=>M1,extend:()=>lN,escapeRegex:()=>N6,esc:()=>t6,defineLazy:()=>F0,createTransparentProxy:()=>hN,clone:()=>s0,cleanRegex:()=>c8,cleanEnum:()=>dN,captureStackTrace:()=>OQ,cached:()=>l8,assignProp:()=>K7,assertNotEqual:()=>IN,assertNever:()=>CN,assertIs:()=>TN,assertEqual:()=>SN,assert:()=>kN,allowsEval:()=>V7,aborted:()=>s6,NUMBER_FORMAT_RANGES:()=>D7,Class:()=>YH,BIGINT_FORMAT_RANGES:()=>eG});function SN(Q){return Q}function IN(Q){return Q}function TN(Q){}function CN(Q){throw Error()}function kN(Q){}function u8(Q){let Y=Object.values(Q).filter((W)=>typeof W==="number");return Object.entries(Q).filter(([W,$])=>Y.indexOf(+W)===-1).map(([W,$])=>$)}function LQ(Q,Y="|"){return Q.map((X)=>UQ(X)).join(Y)}function B7(Q,Y){if(typeof Y==="bigint")return Y.toString();return Y}function l8(Q){return{get value(){{let X=Q();return Object.defineProperty(this,"value",{value:X}),X}throw Error("cached value already set")}}}function m8(Q){return Q===null||Q===void 0}function c8(Q){let Y=Q.startsWith("^")?1:0,X=Q.endsWith("$")?Q.length-1:Q.length;return Q.slice(Y,X)}function z7(Q,Y){let X=(Q.toString().split(".")[1]||"").length,W=(Y.toString().split(".")[1]||"").length,$=X>W?X:W,J=Number.parseInt(Q.toFixed($).replace(".","")),G=Number.parseInt(Y.toFixed($).replace(".",""));return J%G/10**$}function F0(Q,Y,X){Object.defineProperty(Q,Y,{get(){{let $=X();return Q[Y]=$,$}throw Error("cached value already set")},set($){Object.defineProperty(Q,Y,{value:$})},configurable:!0})}function K7(Q,Y,X){Object.defineProperty(Q,Y,{value:X,writable:!0,enumerable:!0,configurable:!0})}function _N(Q,Y){if(!Y)return Q;return Y.reduce((X,W)=>X?.[W],Q)}function vN(Q){let Y=Object.keys(Q),X=Y.map((W)=>Q[W]);return Promise.all(X).then((W)=>{let $={};for(let J=0;J<Y.length;J++)$[Y[J]]=W[J];return $})}function xN(Q=10){let X="";for(let W=0;W<Q;W++)X+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return X}function t6(Q){return JSON.stringify(Q)}var OQ=Error.captureStackTrace?Error.captureStackTrace:(...Q)=>{};function u9(Q){return typeof Q==="object"&&Q!==null&&!Array.isArray(Q)}var V7=l8(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(Q){return!1}});function l9(Q){if(u9(Q)===!1)return!1;let Y=Q.constructor;if(Y===void 0)return!0;let X=Y.prototype;if(u9(X)===!1)return!1;if(Object.prototype.hasOwnProperty.call(X,"isPrototypeOf")===!1)return!1;return!0}function yN(Q){let Y=0;for(let X in Q)if(Object.prototype.hasOwnProperty.call(Q,X))Y++;return Y}var fN=(Q)=>{let Y=typeof Q;switch(Y){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(Q)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray(Q))return"array";if(Q===null)return"null";if(Q.then&&typeof Q.then==="function"&&Q.catch&&typeof Q.catch==="function")return"promise";if(typeof Map<"u"&&Q instanceof Map)return"map";if(typeof Set<"u"&&Q instanceof Set)return"set";if(typeof Date<"u"&&Q instanceof Date)return"date";if(typeof File<"u"&&Q instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${Y}`)}},F7=new Set(["string","number","symbol"]),sG=new Set(["string","number","bigint","boolean","symbol","undefined"]);function N6(Q){return Q.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function s0(Q,Y,X){let W=new Q._zod.constr(Y??Q._zod.def);if(!Y||X?.parent)W._zod.parent=Q;return W}function g(Q){let Y=Q;if(!Y)return{};if(typeof Y==="string")return{error:()=>Y};if(Y?.message!==void 0){if(Y?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");Y.error=Y.message}if(delete Y.message,typeof Y.error==="string")return{...Y,error:()=>Y.error};return Y}function hN(Q){let Y;return new Proxy({},{get(X,W,$){return Y??(Y=Q()),Reflect.get(Y,W,$)},set(X,W,$,J){return Y??(Y=Q()),Reflect.set(Y,W,$,J)},has(X,W){return Y??(Y=Q()),Reflect.has(Y,W)},deleteProperty(X,W){return Y??(Y=Q()),Reflect.deleteProperty(Y,W)},ownKeys(X){return Y??(Y=Q()),Reflect.ownKeys(Y)},getOwnPropertyDescriptor(X,W){return Y??(Y=Q()),Reflect.getOwnPropertyDescriptor(Y,W)},defineProperty(X,W,$){return Y??(Y=Q()),Reflect.defineProperty(Y,W,$)}})}function UQ(Q){if(typeof Q==="bigint")return Q.toString()+"n";if(typeof Q==="string")return`"${Q}"`;return`${Q}`}function A7(Q){return Object.keys(Q).filter((Y)=>{return Q[Y]._zod.optin==="optional"&&Q[Y]._zod.optout==="optional"})}var D7={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},eG={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function gN(Q,Y){let X={},W=Q._zod.def;for(let $ in Y){if(!($ in W.shape))throw Error(`Unrecognized key: "${$}"`);if(!Y[$])continue;X[$]=W.shape[$]}return s0(Q,{...Q._zod.def,shape:X,checks:[]})}function uN(Q,Y){let X={...Q._zod.def.shape},W=Q._zod.def;for(let $ in Y){if(!($ in W.shape))throw Error(`Unrecognized key: "${$}"`);if(!Y[$])continue;delete X[$]}return s0(Q,{...Q._zod.def,shape:X,checks:[]})}function lN(Q,Y){if(!l9(Y))throw Error("Invalid input to extend: expected a plain object");let X={...Q._zod.def,get shape(){let W={...Q._zod.def.shape,...Y};return K7(this,"shape",W),W},checks:[]};return s0(Q,X)}function mN(Q,Y){return s0(Q,{...Q._zod.def,get shape(){let X={...Q._zod.def.shape,...Y._zod.def.shape};return K7(this,"shape",X),X},catchall:Y._zod.def.catchall,checks:[]})}function cN(Q,Y,X){let W=Y._zod.def.shape,$={...W};if(X)for(let J in X){if(!(J in W))throw Error(`Unrecognized key: "${J}"`);if(!X[J])continue;$[J]=Q?new Q({type:"optional",innerType:W[J]}):W[J]}else for(let J in W)$[J]=Q?new Q({type:"optional",innerType:W[J]}):W[J];return s0(Y,{...Y._zod.def,shape:$,checks:[]})}function pN(Q,Y,X){let W=Y._zod.def.shape,$={...W};if(X)for(let J in X){if(!(J in $))throw Error(`Unrecognized key: "${J}"`);if(!X[J])continue;$[J]=new Q({type:"nonoptional",innerType:W[J]})}else for(let J in W)$[J]=new Q({type:"nonoptional",innerType:W[J]});return s0(Y,{...Y._zod.def,shape:$,checks:[]})}function s6(Q,Y=0){for(let X=Y;X<Q.issues.length;X++)if(Q.issues[X]?.continue!==!0)return!0;return!1}function m1(Q,Y){return Y.map((X)=>{var W;return(W=X).path??(W.path=[]),X.path.unshift(Q),X})}function g8(Q){return typeof Q==="string"?Q:Q?.message}function M1(Q,Y,X){let W={...Q,path:Q.path??[]};if(!Q.message){let $=g8(Q.inst?._zod.def?.error?.(Q))??g8(Y?.error?.(Q))??g8(X.customError?.(Q))??g8(X.localeError?.(Q))??"Invalid input";W.message=$}if(delete W.inst,delete W.continue,!Y?.reportInput)delete W.input;return W}function QH(Q){if(Q instanceof Set)return"set";if(Q instanceof Map)return"map";if(Q instanceof File)return"file";return"unknown"}function p8(Q){if(Array.isArray(Q))return"array";if(typeof Q==="string")return"string";return"unknown"}function L7(...Q){let[Y,X,W]=Q;if(typeof Y==="string")return{message:Y,code:"custom",input:X,inst:W};return{...Y}}function dN(Q){return Object.entries(Q).filter(([Y,X])=>{return Number.isNaN(Number.parseInt(Y,10))}).map((Y)=>Y[1])}class YH{constructor(...Q){}}var XH=(Q,Y)=>{Q.name="$ZodError",Object.defineProperty(Q,"_zod",{value:Q._zod,enumerable:!1}),Object.defineProperty(Q,"issues",{value:Y,enumerable:!1}),Object.defineProperty(Q,"message",{get(){return JSON.stringify(Y,B7,2)},enumerable:!0}),Object.defineProperty(Q,"toString",{value:()=>Q.message,enumerable:!1})},jQ=q("$ZodError",XH),d8=q("$ZodError",XH,{Parent:Error});function wQ(Q,Y=(X)=>X.message){let X={},W=[];for(let $ of Q.issues)if($.path.length>0)X[$.path[0]]=X[$.path[0]]||[],X[$.path[0]].push(Y($));else W.push(Y($));return{formErrors:W,fieldErrors:X}}function NQ(Q,Y){let X=Y||function(J){return J.message},W={_errors:[]},$=(J)=>{for(let G of J.issues)if(G.code==="invalid_union"&&G.errors.length)G.errors.map((H)=>$({issues:H}));else if(G.code==="invalid_key")$({issues:G.issues});else if(G.code==="invalid_element")$({issues:G.issues});else if(G.path.length===0)W._errors.push(X(G));else{let H=W,B=0;while(B<G.path.length){let z=G.path[B];if(B!==G.path.length-1)H[z]=H[z]||{_errors:[]};else H[z]=H[z]||{_errors:[]},H[z]._errors.push(X(G));H=H[z],B++}}};return $(Q),W}var O7=(Q)=>(Y,X,W,$)=>{let J=W?Object.assign(W,{async:!1}):{async:!1},G=Y._zod.run({value:X,issues:[]},J);if(G instanceof Promise)throw new w6;if(G.issues.length){let H=new($?.Err??Q)(G.issues.map((B)=>M1(B,J,t0())));throw OQ(H,$?.callee),H}return G.value},U7=O7(d8),j7=(Q)=>async(Y,X,W,$)=>{let J=W?Object.assign(W,{async:!0}):{async:!0},G=Y._zod.run({value:X,issues:[]},J);if(G instanceof Promise)G=await G;if(G.issues.length){let H=new($?.Err??Q)(G.issues.map((B)=>M1(B,J,t0())));throw OQ(H,$?.callee),H}return G.value},w7=j7(d8),N7=(Q)=>(Y,X,W)=>{let $=W?{...W,async:!1}:{async:!1},J=Y._zod.run({value:X,issues:[]},$);if(J instanceof Promise)throw new w6;return J.issues.length?{success:!1,error:new(Q??jQ)(J.issues.map((G)=>M1(G,$,t0())))}:{success:!0,data:J.value}},e6=N7(d8),q7=(Q)=>async(Y,X,W)=>{let $=W?Object.assign(W,{async:!0}):{async:!0},J=Y._zod.run({value:X,issues:[]},$);if(J instanceof Promise)J=await J;return J.issues.length?{success:!1,error:new Q(J.issues.map((G)=>M1(G,$,t0())))}:{success:!0,data:J.value}},Q9=q7(d8);var WH=/^[cC][^\s-]{8,}$/,$H=/^[0-9a-z]+$/,JH=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,GH=/^[0-9a-vA-V]{20}$/,HH=/^[A-Za-z0-9]{27}$/,BH=/^[a-zA-Z0-9_-]{21}$/,zH=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var KH=/^([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})$/,M7=(Q)=>{if(!Q)return/^([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)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${Q}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)};var VH=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;function FH(){return new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")}var AH=/^(?:(?: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])$/,DH=/^(([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})$/,LH=/^((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])$/,OH=/^(([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])$/,UH=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,b7=/^[A-Za-z0-9_-]*$/,jH=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var wH=/^\+(?:[0-9]){6,14}[0-9]$/,NH="(?:(?:\\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])))",qH=new RegExp(`^${NH}$`);function MH(Q){return typeof Q.precision==="number"?Q.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":Q.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${Q.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function bH(Q){return new RegExp(`^${MH(Q)}$`)}function ZH(Q){let Y=MH({precision:Q.precision}),X=["Z"];if(Q.local)X.push("");if(Q.offset)X.push("([+-]\\d{2}:\\d{2})");let W=`${Y}(?:${X.join("|")})`;return new RegExp(`^${NH}T(?:${W})$`)}var PH=(Q)=>{let Y=Q?`[\\s\\S]{${Q?.minimum??0},${Q?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${Y}$`)},RH=/^\d+n?$/,EH=/^\d+$/,SH=/^-?\d+(?:\.\d+)?/i,IH=/true|false/i,TH=/null/i;var CH=/^[^A-Z]*$/,kH=/^[^a-z]*$/;var _0=q("$ZodCheck",(Q,Y)=>{var X;Q._zod??(Q._zod={}),Q._zod.def=Y,(X=Q._zod).onattach??(X.onattach=[])}),_H={number:"number",bigint:"bigint",object:"date"},Z7=q("$ZodCheckLessThan",(Q,Y)=>{_0.init(Q,Y);let X=_H[typeof Y.value];Q._zod.onattach.push((W)=>{let $=W._zod.bag,J=(Y.inclusive?$.maximum:$.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(Y.value<J)if(Y.inclusive)$.maximum=Y.value;else $.exclusiveMaximum=Y.value}),Q._zod.check=(W)=>{if(Y.inclusive?W.value<=Y.value:W.value<Y.value)return;W.issues.push({origin:X,code:"too_big",maximum:Y.value,input:W.value,inclusive:Y.inclusive,inst:Q,continue:!Y.abort})}}),P7=q("$ZodCheckGreaterThan",(Q,Y)=>{_0.init(Q,Y);let X=_H[typeof Y.value];Q._zod.onattach.push((W)=>{let $=W._zod.bag,J=(Y.inclusive?$.minimum:$.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(Y.value>J)if(Y.inclusive)$.minimum=Y.value;else $.exclusiveMinimum=Y.value}),Q._zod.check=(W)=>{if(Y.inclusive?W.value>=Y.value:W.value>Y.value)return;W.issues.push({origin:X,code:"too_small",minimum:Y.value,input:W.value,inclusive:Y.inclusive,inst:Q,continue:!Y.abort})}}),vH=q("$ZodCheckMultipleOf",(Q,Y)=>{_0.init(Q,Y),Q._zod.onattach.push((X)=>{var W;(W=X._zod.bag).multipleOf??(W.multipleOf=Y.value)}),Q._zod.check=(X)=>{if(typeof X.value!==typeof Y.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof X.value==="bigint"?X.value%Y.value===BigInt(0):z7(X.value,Y.value)===0)return;X.issues.push({origin:typeof X.value,code:"not_multiple_of",divisor:Y.value,input:X.value,inst:Q,continue:!Y.abort})}}),xH=q("$ZodCheckNumberFormat",(Q,Y)=>{_0.init(Q,Y),Y.format=Y.format||"float64";let X=Y.format?.includes("int"),W=X?"int":"number",[$,J]=D7[Y.format];Q._zod.onattach.push((G)=>{let H=G._zod.bag;if(H.format=Y.format,H.minimum=$,H.maximum=J,X)H.pattern=EH}),Q._zod.check=(G)=>{let H=G.value;if(X){if(!Number.isInteger(H)){G.issues.push({expected:W,format:Y.format,code:"invalid_type",input:H,inst:Q});return}if(!Number.isSafeInteger(H)){if(H>0)G.issues.push({input:H,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:Q,origin:W,continue:!Y.abort});else G.issues.push({input:H,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:Q,origin:W,continue:!Y.abort});return}}if(H<$)G.issues.push({origin:"number",input:H,code:"too_small",minimum:$,inclusive:!0,inst:Q,continue:!Y.abort});if(H>J)G.issues.push({origin:"number",input:H,code:"too_big",maximum:J,inst:Q})}});var yH=q("$ZodCheckMaxLength",(Q,Y)=>{var X;_0.init(Q,Y),(X=Q._zod.def).when??(X.when=(W)=>{let $=W.value;return!m8($)&&$.length!==void 0}),Q._zod.onattach.push((W)=>{let $=W._zod.bag.maximum??Number.POSITIVE_INFINITY;if(Y.maximum<$)W._zod.bag.maximum=Y.maximum}),Q._zod.check=(W)=>{let $=W.value;if($.length<=Y.maximum)return;let G=p8($);W.issues.push({origin:G,code:"too_big",maximum:Y.maximum,inclusive:!0,input:$,inst:Q,continue:!Y.abort})}}),fH=q("$ZodCheckMinLength",(Q,Y)=>{var X;_0.init(Q,Y),(X=Q._zod.def).when??(X.when=(W)=>{let $=W.value;return!m8($)&&$.length!==void 0}),Q._zod.onattach.push((W)=>{let $=W._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(Y.minimum>$)W._zod.bag.minimum=Y.minimum}),Q._zod.check=(W)=>{let $=W.value;if($.length>=Y.minimum)return;let G=p8($);W.issues.push({origin:G,code:"too_small",minimum:Y.minimum,inclusive:!0,input:$,inst:Q,continue:!Y.abort})}}),hH=q("$ZodCheckLengthEquals",(Q,Y)=>{var X;_0.init(Q,Y),(X=Q._zod.def).when??(X.when=(W)=>{let $=W.value;return!m8($)&&$.length!==void 0}),Q._zod.onattach.push((W)=>{let $=W._zod.bag;$.minimum=Y.length,$.maximum=Y.length,$.length=Y.length}),Q._zod.check=(W)=>{let $=W.value,J=$.length;if(J===Y.length)return;let G=p8($),H=J>Y.length;W.issues.push({origin:G,...H?{code:"too_big",maximum:Y.length}:{code:"too_small",minimum:Y.length},inclusive:!0,exact:!0,input:W.value,inst:Q,continue:!Y.abort})}}),n8=q("$ZodCheckStringFormat",(Q,Y)=>{var X,W;if(_0.init(Q,Y),Q._zod.onattach.push(($)=>{let J=$._zod.bag;if(J.format=Y.format,Y.pattern)J.patterns??(J.patterns=new Set),J.patterns.add(Y.pattern)}),Y.pattern)(X=Q._zod).check??(X.check=($)=>{if(Y.pattern.lastIndex=0,Y.pattern.test($.value))return;$.issues.push({origin:"string",code:"invalid_format",format:Y.format,input:$.value,...Y.pattern?{pattern:Y.pattern.toString()}:{},inst:Q,continue:!Y.abort})});else(W=Q._zod).check??(W.check=()=>{})}),gH=q("$ZodCheckRegex",(Q,Y)=>{n8.init(Q,Y),Q._zod.check=(X)=>{if(Y.pattern.lastIndex=0,Y.pattern.test(X.value))return;X.issues.push({origin:"string",code:"invalid_format",format:"regex",input:X.value,pattern:Y.pattern.toString(),inst:Q,continue:!Y.abort})}}),uH=q("$ZodCheckLowerCase",(Q,Y)=>{Y.pattern??(Y.pattern=CH),n8.init(Q,Y)}),lH=q("$ZodCheckUpperCase",(Q,Y)=>{Y.pattern??(Y.pattern=kH),n8.init(Q,Y)}),mH=q("$ZodCheckIncludes",(Q,Y)=>{_0.init(Q,Y);let X=N6(Y.includes),W=new RegExp(typeof Y.position==="number"?`^.{${Y.position}}${X}`:X);Y.pattern=W,Q._zod.onattach.push(($)=>{let J=$._zod.bag;J.patterns??(J.patterns=new Set),J.patterns.add(W)}),Q._zod.check=($)=>{if($.value.includes(Y.includes,Y.position))return;$.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:Y.includes,input:$.value,inst:Q,continue:!Y.abort})}}),cH=q("$ZodCheckStartsWith",(Q,Y)=>{_0.init(Q,Y);let X=new RegExp(`^${N6(Y.prefix)}.*`);Y.pattern??(Y.pattern=X),Q._zod.onattach.push((W)=>{let $=W._zod.bag;$.patterns??($.patterns=new Set),$.patterns.add(X)}),Q._zod.check=(W)=>{if(W.value.startsWith(Y.prefix))return;W.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:Y.prefix,input:W.value,inst:Q,continue:!Y.abort})}}),pH=q("$ZodCheckEndsWith",(Q,Y)=>{_0.init(Q,Y);let X=new RegExp(`.*${N6(Y.suffix)}$`);Y.pattern??(Y.pattern=X),Q._zod.onattach.push((W)=>{let $=W._zod.bag;$.patterns??($.patterns=new Set),$.patterns.add(X)}),Q._zod.check=(W)=>{if(W.value.endsWith(Y.suffix))return;W.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:Y.suffix,input:W.value,inst:Q,continue:!Y.abort})}});var dH=q("$ZodCheckOverwrite",(Q,Y)=>{_0.init(Q,Y),Q._zod.check=(X)=>{X.value=Y.tx(X.value)}});class R7{constructor(Q=[]){if(this.content=[],this.indent=0,this)this.args=Q}indented(Q){this.indent+=1,Q(this),this.indent-=1}write(Q){if(typeof Q==="function"){Q(this,{execution:"sync"}),Q(this,{execution:"async"});return}let X=Q.split(`
17
+ `).filter((J)=>J),W=Math.min(...X.map((J)=>J.length-J.trimStart().length)),$=X.map((J)=>J.slice(W)).map((J)=>" ".repeat(this.indent*2)+J);for(let J of $)this.content.push(J)}compile(){let Q=Function,Y=this?.args,W=[...(this?.content??[""]).map(($)=>` ${$}`)];return new Q(...Y,W.join(`
18
+ `))}}var nH={major:4,minor:0,patch:0};var G0=q("$ZodType",(Q,Y)=>{var X;Q??(Q={}),Q._zod.def=Y,Q._zod.bag=Q._zod.bag||{},Q._zod.version=nH;let W=[...Q._zod.def.checks??[]];if(Q._zod.traits.has("$ZodCheck"))W.unshift(Q);for(let $ of W)for(let J of $._zod.onattach)J(Q);if(W.length===0)(X=Q._zod).deferred??(X.deferred=[]),Q._zod.deferred?.push(()=>{Q._zod.run=Q._zod.parse});else{let $=(J,G,H)=>{let B=s6(J),z;for(let K of G){if(K._zod.def.when){if(!K._zod.def.when(J))continue}else if(B)continue;let V=J.issues.length,F=K._zod.check(J);if(F instanceof Promise&&H?.async===!1)throw new w6;if(z||F instanceof Promise)z=(z??Promise.resolve()).then(async()=>{if(await F,J.issues.length===V)return;if(!B)B=s6(J,V)});else{if(J.issues.length===V)continue;if(!B)B=s6(J,V)}}if(z)return z.then(()=>{return J});return J};Q._zod.run=(J,G)=>{let H=Q._zod.parse(J,G);if(H instanceof Promise){if(G.async===!1)throw new w6;return H.then((B)=>$(B,W,G))}return $(H,W,G)}}Q["~standard"]={validate:($)=>{try{let J=e6(Q,$);return J.success?{value:J.data}:{issues:J.error?.issues}}catch(J){return Q9(Q,$).then((G)=>G.success?{value:G.data}:{issues:G.error?.issues})}},vendor:"zod",version:1}}),o8=q("$ZodString",(Q,Y)=>{G0.init(Q,Y),Q._zod.pattern=[...Q?._zod.bag?.patterns??[]].pop()??PH(Q._zod.bag),Q._zod.parse=(X,W)=>{if(Y.coerce)try{X.value=String(X.value)}catch($){}if(typeof X.value==="string")return X;return X.issues.push({expected:"string",code:"invalid_type",input:X.value,inst:Q}),X}}),A0=q("$ZodStringFormat",(Q,Y)=>{n8.init(Q,Y),o8.init(Q,Y)}),S7=q("$ZodGUID",(Q,Y)=>{Y.pattern??(Y.pattern=KH),A0.init(Q,Y)}),I7=q("$ZodUUID",(Q,Y)=>{if(Y.version){let W={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[Y.version];if(W===void 0)throw Error(`Invalid UUID version: "${Y.version}"`);Y.pattern??(Y.pattern=M7(W))}else Y.pattern??(Y.pattern=M7());A0.init(Q,Y)}),T7=q("$ZodEmail",(Q,Y)=>{Y.pattern??(Y.pattern=VH),A0.init(Q,Y)}),C7=q("$ZodURL",(Q,Y)=>{A0.init(Q,Y),Q._zod.check=(X)=>{try{let W=X.value,$=new URL(W),J=$.href;if(Y.hostname){if(Y.hostname.lastIndex=0,!Y.hostname.test($.hostname))X.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:jH.source,input:X.value,inst:Q,continue:!Y.abort})}if(Y.protocol){if(Y.protocol.lastIndex=0,!Y.protocol.test($.protocol.endsWith(":")?$.protocol.slice(0,-1):$.protocol))X.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:Y.protocol.source,input:X.value,inst:Q,continue:!Y.abort})}if(!W.endsWith("/")&&J.endsWith("/"))X.value=J.slice(0,-1);else X.value=J;return}catch(W){X.issues.push({code:"invalid_format",format:"url",input:X.value,inst:Q,continue:!Y.abort})}}}),k7=q("$ZodEmoji",(Q,Y)=>{Y.pattern??(Y.pattern=FH()),A0.init(Q,Y)}),_7=q("$ZodNanoID",(Q,Y)=>{Y.pattern??(Y.pattern=BH),A0.init(Q,Y)}),v7=q("$ZodCUID",(Q,Y)=>{Y.pattern??(Y.pattern=WH),A0.init(Q,Y)}),x7=q("$ZodCUID2",(Q,Y)=>{Y.pattern??(Y.pattern=$H),A0.init(Q,Y)}),y7=q("$ZodULID",(Q,Y)=>{Y.pattern??(Y.pattern=JH),A0.init(Q,Y)}),f7=q("$ZodXID",(Q,Y)=>{Y.pattern??(Y.pattern=GH),A0.init(Q,Y)}),h7=q("$ZodKSUID",(Q,Y)=>{Y.pattern??(Y.pattern=HH),A0.init(Q,Y)}),W3=q("$ZodISODateTime",(Q,Y)=>{Y.pattern??(Y.pattern=ZH(Y)),A0.init(Q,Y)}),$3=q("$ZodISODate",(Q,Y)=>{Y.pattern??(Y.pattern=qH),A0.init(Q,Y)}),J3=q("$ZodISOTime",(Q,Y)=>{Y.pattern??(Y.pattern=bH(Y)),A0.init(Q,Y)}),G3=q("$ZodISODuration",(Q,Y)=>{Y.pattern??(Y.pattern=zH),A0.init(Q,Y)}),g7=q("$ZodIPv4",(Q,Y)=>{Y.pattern??(Y.pattern=AH),A0.init(Q,Y),Q._zod.onattach.push((X)=>{let W=X._zod.bag;W.format="ipv4"})}),u7=q("$ZodIPv6",(Q,Y)=>{Y.pattern??(Y.pattern=DH),A0.init(Q,Y),Q._zod.onattach.push((X)=>{let W=X._zod.bag;W.format="ipv6"}),Q._zod.check=(X)=>{try{new URL(`http://[${X.value}]`)}catch{X.issues.push({code:"invalid_format",format:"ipv6",input:X.value,inst:Q,continue:!Y.abort})}}}),l7=q("$ZodCIDRv4",(Q,Y)=>{Y.pattern??(Y.pattern=LH),A0.init(Q,Y)}),m7=q("$ZodCIDRv6",(Q,Y)=>{Y.pattern??(Y.pattern=OH),A0.init(Q,Y),Q._zod.check=(X)=>{let[W,$]=X.value.split("/");try{if(!$)throw Error();let J=Number($);if(`${J}`!==$)throw Error();if(J<0||J>128)throw Error();new URL(`http://[${W}]`)}catch{X.issues.push({code:"invalid_format",format:"cidrv6",input:X.value,inst:Q,continue:!Y.abort})}}});function H3(Q){if(Q==="")return!0;if(Q.length%4!==0)return!1;try{return atob(Q),!0}catch{return!1}}var c7=q("$ZodBase64",(Q,Y)=>{Y.pattern??(Y.pattern=UH),A0.init(Q,Y),Q._zod.onattach.push((X)=>{X._zod.bag.contentEncoding="base64"}),Q._zod.check=(X)=>{if(H3(X.value))return;X.issues.push({code:"invalid_format",format:"base64",input:X.value,inst:Q,continue:!Y.abort})}});function nN(Q){if(!b7.test(Q))return!1;let Y=Q.replace(/[-_]/g,(W)=>W==="-"?"+":"/"),X=Y.padEnd(Math.ceil(Y.length/4)*4,"=");return H3(X)}var p7=q("$ZodBase64URL",(Q,Y)=>{Y.pattern??(Y.pattern=b7),A0.init(Q,Y),Q._zod.onattach.push((X)=>{X._zod.bag.contentEncoding="base64url"}),Q._zod.check=(X)=>{if(nN(X.value))return;X.issues.push({code:"invalid_format",format:"base64url",input:X.value,inst:Q,continue:!Y.abort})}}),d7=q("$ZodE164",(Q,Y)=>{Y.pattern??(Y.pattern=wH),A0.init(Q,Y)});function oN(Q,Y=null){try{let X=Q.split(".");if(X.length!==3)return!1;let[W]=X;if(!W)return!1;let $=JSON.parse(atob(W));if("typ"in $&&$?.typ!=="JWT")return!1;if(!$.alg)return!1;if(Y&&(!("alg"in $)||$.alg!==Y))return!1;return!0}catch{return!1}}var i7=q("$ZodJWT",(Q,Y)=>{A0.init(Q,Y),Q._zod.check=(X)=>{if(oN(X.value,Y.alg))return;X.issues.push({code:"invalid_format",format:"jwt",input:X.value,inst:Q,continue:!Y.abort})}});var MQ=q("$ZodNumber",(Q,Y)=>{G0.init(Q,Y),Q._zod.pattern=Q._zod.bag.pattern??SH,Q._zod.parse=(X,W)=>{if(Y.coerce)try{X.value=Number(X.value)}catch(G){}let $=X.value;if(typeof $==="number"&&!Number.isNaN($)&&Number.isFinite($))return X;let J=typeof $==="number"?Number.isNaN($)?"NaN":!Number.isFinite($)?"Infinity":void 0:void 0;return X.issues.push({expected:"number",code:"invalid_type",input:$,inst:Q,...J?{received:J}:{}}),X}}),n7=q("$ZodNumber",(Q,Y)=>{xH.init(Q,Y),MQ.init(Q,Y)}),o7=q("$ZodBoolean",(Q,Y)=>{G0.init(Q,Y),Q._zod.pattern=IH,Q._zod.parse=(X,W)=>{if(Y.coerce)try{X.value=Boolean(X.value)}catch(J){}let $=X.value;if(typeof $==="boolean")return X;return X.issues.push({expected:"boolean",code:"invalid_type",input:$,inst:Q}),X}}),r7=q("$ZodBigInt",(Q,Y)=>{G0.init(Q,Y),Q._zod.pattern=RH,Q._zod.parse=(X,W)=>{if(Y.coerce)try{X.value=BigInt(X.value)}catch($){}if(typeof X.value==="bigint")return X;return X.issues.push({expected:"bigint",code:"invalid_type",input:X.value,inst:Q}),X}});var a7=q("$ZodNull",(Q,Y)=>{G0.init(Q,Y),Q._zod.pattern=TH,Q._zod.values=new Set([null]),Q._zod.parse=(X,W)=>{let $=X.value;if($===null)return X;return X.issues.push({expected:"null",code:"invalid_type",input:$,inst:Q}),X}}),t7=q("$ZodAny",(Q,Y)=>{G0.init(Q,Y),Q._zod.parse=(X)=>X}),s7=q("$ZodUnknown",(Q,Y)=>{G0.init(Q,Y),Q._zod.parse=(X)=>X}),e7=q("$ZodNever",(Q,Y)=>{G0.init(Q,Y),Q._zod.parse=(X,W)=>{return X.issues.push({expected:"never",code:"invalid_type",input:X.value,inst:Q}),X}});var QW=q("$ZodDate",(Q,Y)=>{G0.init(Q,Y),Q._zod.parse=(X,W)=>{if(Y.coerce)try{X.value=new Date(X.value)}catch(H){}let $=X.value,J=$ instanceof Date;if(J&&!Number.isNaN($.getTime()))return X;return X.issues.push({expected:"date",code:"invalid_type",input:$,...J?{received:"Invalid Date"}:{},inst:Q}),X}});function oH(Q,Y,X){if(Q.issues.length)Y.issues.push(...m1(X,Q.issues));Y.value[X]=Q.value}var YW=q("$ZodArray",(Q,Y)=>{G0.init(Q,Y),Q._zod.parse=(X,W)=>{let $=X.value;if(!Array.isArray($))return X.issues.push({expected:"array",code:"invalid_type",input:$,inst:Q}),X;X.value=Array($.length);let J=[];for(let G=0;G<$.length;G++){let H=$[G],B=Y.element._zod.run({value:H,issues:[]},W);if(B instanceof Promise)J.push(B.then((z)=>oH(z,X,G)));else oH(B,X,G)}if(J.length)return Promise.all(J).then(()=>X);return X}});function qQ(Q,Y,X){if(Q.issues.length)Y.issues.push(...m1(X,Q.issues));Y.value[X]=Q.value}function rH(Q,Y,X,W){if(Q.issues.length)if(W[X]===void 0)if(X in W)Y.value[X]=void 0;else Y.value[X]=Q.value;else Y.issues.push(...m1(X,Q.issues));else if(Q.value===void 0){if(X in W)Y.value[X]=void 0}else Y.value[X]=Q.value}var bQ=q("$ZodObject",(Q,Y)=>{G0.init(Q,Y);let X=l8(()=>{let V=Object.keys(Y.shape);for(let A of V)if(!(Y.shape[A]instanceof G0))throw Error(`Invalid element at key "${A}": expected a Zod schema`);let F=A7(Y.shape);return{shape:Y.shape,keys:V,keySet:new Set(V),numKeys:V.length,optionalKeys:new Set(F)}});F0(Q._zod,"propValues",()=>{let V=Y.shape,F={};for(let A in V){let D=V[A]._zod;if(D.values){F[A]??(F[A]=new Set);for(let L of D.values)F[A].add(L)}}return F});let W=(V)=>{let F=new R7(["shape","payload","ctx"]),A=X.value,D=(N)=>{let M=t6(N);return`shape[${M}]._zod.run({ value: input[${M}], issues: [] }, ctx)`};F.write("const input = payload.value;");let L=Object.create(null),O=0;for(let N of A.keys)L[N]=`key_${O++}`;F.write("const newResult = {}");for(let N of A.keys)if(A.optionalKeys.has(N)){let M=L[N];F.write(`const ${M} = ${D(N)};`);let S=t6(N);F.write(`
19
19
  if (${M}.issues.length) {
20
20
  if (input[${S}] === undefined) {
21
21
  if (${S} in input) {
@@ -34,35 +34,35 @@ import{createRequire as rj}from"node:module";var dj=Object.create;var{getPrototy
34
34
  } else {
35
35
  newResult[${S}] = ${M}.value;
36
36
  }
37
- `)}else{let M=D[w];A.write(`const ${M} = ${L(w)};`),A.write(`
37
+ `)}else{let M=L[N];F.write(`const ${M} = ${D(N)};`),F.write(`
38
38
  if (${M}.issues.length) payload.issues = payload.issues.concat(${M}.issues.map(iss => ({
39
39
  ...iss,
40
- path: iss.path ? [${o6(w)}, ...iss.path] : [${o6(w)}]
41
- })));`),A.write(`newResult[${o6(w)}] = ${M}.value`)}A.write("payload.value = newResult;"),A.write("return payload;");let U=A.compile();return(w,M)=>U(V,w,M)},$,J=f9,G=!zQ.jitless,B=G&&W7.value,z=X.catchall,K;Q._zod.parse=(V,A)=>{K??(K=Y.value);let F=V.value;if(!J(F))return V.issues.push({expected:"object",code:"invalid_type",input:F,inst:Q}),V;let L=[];if(G&&B&&A?.async===!1&&A.jitless!==!0){if(!$)$=W(X.shape);V=$(V,A)}else{V.value={};let M=K.shape;for(let S of K.keys){let Z=M[S],V0=Z._zod.run({value:F[S],issues:[]},A),P0=Z._zod.optin==="optional"&&Z._zod.optout==="optional";if(V0 instanceof Promise)L.push(V0.then((g1)=>P0?xH(g1,V,S,F):UQ(g1,V,S)));else if(P0)xH(V0,V,S,F);else UQ(V0,V,S)}}if(!z)return L.length?Promise.all(L).then(()=>V):V;let D=[],O=K.keySet,U=z._zod,w=U.def.type;for(let M of Object.keys(F)){if(O.has(M))continue;if(w==="never"){D.push(M);continue}let S=U.run({value:F[M],issues:[]},A);if(S instanceof Promise)L.push(S.then((Z)=>UQ(Z,V,M)));else UQ(S,V,M)}if(D.length)V.issues.push({code:"unrecognized_keys",keys:D,input:F,inst:Q});if(!L.length)return V;return Promise.all(L).then(()=>{return V})}});function yH(Q,X,Y,W){for(let $ of Q)if($.issues.length===0)return X.value=$.value,X;return X.issues.push({code:"invalid_union",input:X.value,inst:Y,errors:Q.map(($)=>$.issues.map((J)=>M1(J,W,a0())))}),X}var qQ=q("$ZodUnion",(Q,X)=>{G0.init(Q,X),A0(Q._zod,"optin",()=>X.options.some((Y)=>Y._zod.optin==="optional")?"optional":void 0),A0(Q._zod,"optout",()=>X.options.some((Y)=>Y._zod.optout==="optional")?"optional":void 0),A0(Q._zod,"values",()=>{if(X.options.every((Y)=>Y._zod.values))return new Set(X.options.flatMap((Y)=>Array.from(Y._zod.values)));return}),A0(Q._zod,"pattern",()=>{if(X.options.every((Y)=>Y._zod.pattern)){let Y=X.options.map((W)=>W._zod.pattern);return new RegExp(`^(${Y.map((W)=>h8(W.source)).join("|")})$`)}return}),Q._zod.parse=(Y,W)=>{let $=!1,J=[];for(let G of X.options){let H=G._zod.run({value:Y.value,issues:[]},W);if(H instanceof Promise)J.push(H),$=!0;else{if(H.issues.length===0)return H;J.push(H)}}if(!$)return yH(J,Y,Q,W);return Promise.all(J).then((G)=>{return yH(G,Y,Q,W)})}}),o7=q("$ZodDiscriminatedUnion",(Q,X)=>{qQ.init(Q,X);let Y=Q._zod.parse;A0(Q._zod,"propValues",()=>{let $={};for(let J of X.options){let G=J._zod.propValues;if(!G||Object.keys(G).length===0)throw Error(`Invalid discriminated union option at index "${X.options.indexOf(J)}"`);for(let[H,B]of Object.entries(G)){if(!$[H])$[H]=new Set;for(let z of B)$[H].add(z)}}return $});let W=f8(()=>{let $=X.options,J=new Map;for(let G of $){let H=G._zod.propValues[X.discriminator];if(!H||H.size===0)throw Error(`Invalid discriminated union option at index "${X.options.indexOf(G)}"`);for(let B of H){if(J.has(B))throw Error(`Duplicate discriminator value "${String(B)}"`);J.set(B,G)}}return J});Q._zod.parse=($,J)=>{let G=$.value;if(!f9(G))return $.issues.push({code:"invalid_type",expected:"object",input:G,inst:Q}),$;let H=W.value.get(G?.[X.discriminator]);if(H)return H._zod.run($,J);if(X.unionFallback)return Y($,J);return $.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:G,path:[X.discriminator],inst:Q}),$}}),r7=q("$ZodIntersection",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y,W)=>{let $=Y.value,J=X.left._zod.run({value:$,issues:[]},W),G=X.right._zod.run({value:$,issues:[]},W);if(J instanceof Promise||G instanceof Promise)return Promise.all([J,G]).then(([B,z])=>{return fH(Y,B,z)});return fH(Y,J,G)}});function N7(Q,X){if(Q===X)return{valid:!0,data:Q};if(Q instanceof Date&&X instanceof Date&&+Q===+X)return{valid:!0,data:Q};if(g9(Q)&&g9(X)){let Y=Object.keys(X),W=Object.keys(Q).filter((J)=>Y.indexOf(J)!==-1),$={...Q,...X};for(let J of W){let G=N7(Q[J],X[J]);if(!G.valid)return{valid:!1,mergeErrorPath:[J,...G.mergeErrorPath]};$[J]=G.data}return{valid:!0,data:$}}if(Array.isArray(Q)&&Array.isArray(X)){if(Q.length!==X.length)return{valid:!1,mergeErrorPath:[]};let Y=[];for(let W=0;W<Q.length;W++){let $=Q[W],J=X[W],G=N7($,J);if(!G.valid)return{valid:!1,mergeErrorPath:[W,...G.mergeErrorPath]};Y.push(G.data)}return{valid:!0,data:Y}}return{valid:!1,mergeErrorPath:[]}}function fH(Q,X,Y){if(X.issues.length)Q.issues.push(...X.issues);if(Y.issues.length)Q.issues.push(...Y.issues);if(r6(Q))return Q;let W=N7(X.value,Y.value);if(!W.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(W.mergeErrorPath)}`);return Q.value=W.data,Q}var t7=q("$ZodRecord",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y,W)=>{let $=Y.value;if(!g9($))return Y.issues.push({expected:"record",code:"invalid_type",input:$,inst:Q}),Y;let J=[];if(X.keyType._zod.values){let G=X.keyType._zod.values;Y.value={};for(let B of G)if(typeof B==="string"||typeof B==="number"||typeof B==="symbol"){let z=X.valueType._zod.run({value:$[B],issues:[]},W);if(z instanceof Promise)J.push(z.then((K)=>{if(K.issues.length)Y.issues.push(...m1(B,K.issues));Y.value[B]=K.value}));else{if(z.issues.length)Y.issues.push(...m1(B,z.issues));Y.value[B]=z.value}}let H;for(let B in $)if(!G.has(B))H=H??[],H.push(B);if(H&&H.length>0)Y.issues.push({code:"unrecognized_keys",input:$,inst:Q,keys:H})}else{Y.value={};for(let G of Reflect.ownKeys($)){if(G==="__proto__")continue;let H=X.keyType._zod.run({value:G,issues:[]},W);if(H instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(H.issues.length){Y.issues.push({origin:"record",code:"invalid_key",issues:H.issues.map((z)=>M1(z,W,a0())),input:G,path:[G],inst:Q}),Y.value[H.value]=H.value;continue}let B=X.valueType._zod.run({value:$[G],issues:[]},W);if(B instanceof Promise)J.push(B.then((z)=>{if(z.issues.length)Y.issues.push(...m1(G,z.issues));Y.value[H.value]=z.value}));else{if(B.issues.length)Y.issues.push(...m1(G,B.issues));Y.value[H.value]=B.value}}}if(J.length)return Promise.all(J).then(()=>Y);return Y}});var a7=q("$ZodEnum",(Q,X)=>{G0.init(Q,X);let Y=y8(X.entries);Q._zod.values=new Set(Y),Q._zod.pattern=new RegExp(`^(${Y.filter((W)=>$7.has(typeof W)).map((W)=>typeof W==="string"?N6(W):W.toString()).join("|")})$`),Q._zod.parse=(W,$)=>{let J=W.value;if(Q._zod.values.has(J))return W;return W.issues.push({code:"invalid_value",values:Y,input:J,inst:Q}),W}}),s7=q("$ZodLiteral",(Q,X)=>{G0.init(Q,X),Q._zod.values=new Set(X.values),Q._zod.pattern=new RegExp(`^(${X.values.map((Y)=>typeof Y==="string"?N6(Y):Y?Y.toString():String(Y)).join("|")})$`),Q._zod.parse=(Y,W)=>{let $=Y.value;if(Q._zod.values.has($))return Y;return Y.issues.push({code:"invalid_value",values:X.values,input:$,inst:Q}),Y}});var e7=q("$ZodTransform",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y,W)=>{let $=X.transform(Y.value,Y);if(W.async)return($ instanceof Promise?$:Promise.resolve($)).then((G)=>{return Y.value=G,Y});if($ instanceof Promise)throw new j6;return Y.value=$,Y}}),QW=q("$ZodOptional",(Q,X)=>{G0.init(Q,X),Q._zod.optin="optional",Q._zod.optout="optional",A0(Q._zod,"values",()=>{return X.innerType._zod.values?new Set([...X.innerType._zod.values,void 0]):void 0}),A0(Q._zod,"pattern",()=>{let Y=X.innerType._zod.pattern;return Y?new RegExp(`^(${h8(Y.source)})?$`):void 0}),Q._zod.parse=(Y,W)=>{if(X.innerType._zod.optin==="optional")return X.innerType._zod.run(Y,W);if(Y.value===void 0)return Y;return X.innerType._zod.run(Y,W)}}),XW=q("$ZodNullable",(Q,X)=>{G0.init(Q,X),A0(Q._zod,"optin",()=>X.innerType._zod.optin),A0(Q._zod,"optout",()=>X.innerType._zod.optout),A0(Q._zod,"pattern",()=>{let Y=X.innerType._zod.pattern;return Y?new RegExp(`^(${h8(Y.source)}|null)$`):void 0}),A0(Q._zod,"values",()=>{return X.innerType._zod.values?new Set([...X.innerType._zod.values,null]):void 0}),Q._zod.parse=(Y,W)=>{if(Y.value===null)return Y;return X.innerType._zod.run(Y,W)}}),YW=q("$ZodDefault",(Q,X)=>{G0.init(Q,X),Q._zod.optin="optional",A0(Q._zod,"values",()=>X.innerType._zod.values),Q._zod.parse=(Y,W)=>{if(Y.value===void 0)return Y.value=X.defaultValue,Y;let $=X.innerType._zod.run(Y,W);if($ instanceof Promise)return $.then((J)=>gH(J,X));return gH($,X)}});function gH(Q,X){if(Q.value===void 0)Q.value=X.defaultValue;return Q}var WW=q("$ZodPrefault",(Q,X)=>{G0.init(Q,X),Q._zod.optin="optional",A0(Q._zod,"values",()=>X.innerType._zod.values),Q._zod.parse=(Y,W)=>{if(Y.value===void 0)Y.value=X.defaultValue;return X.innerType._zod.run(Y,W)}}),$W=q("$ZodNonOptional",(Q,X)=>{G0.init(Q,X),A0(Q._zod,"values",()=>{let Y=X.innerType._zod.values;return Y?new Set([...Y].filter((W)=>W!==void 0)):void 0}),Q._zod.parse=(Y,W)=>{let $=X.innerType._zod.run(Y,W);if($ instanceof Promise)return $.then((J)=>hH(J,Q));return hH($,Q)}});function hH(Q,X){if(!Q.issues.length&&Q.value===void 0)Q.issues.push({code:"invalid_type",expected:"nonoptional",input:Q.value,inst:X});return Q}var JW=q("$ZodCatch",(Q,X)=>{G0.init(Q,X),Q._zod.optin="optional",A0(Q._zod,"optout",()=>X.innerType._zod.optout),A0(Q._zod,"values",()=>X.innerType._zod.values),Q._zod.parse=(Y,W)=>{let $=X.innerType._zod.run(Y,W);if($ instanceof Promise)return $.then((J)=>{if(Y.value=J.value,J.issues.length)Y.value=X.catchValue({...Y,error:{issues:J.issues.map((G)=>M1(G,W,a0()))},input:Y.value}),Y.issues=[];return Y});if(Y.value=$.value,$.issues.length)Y.value=X.catchValue({...Y,error:{issues:$.issues.map((J)=>M1(J,W,a0()))},input:Y.value}),Y.issues=[];return Y}});var GW=q("$ZodPipe",(Q,X)=>{G0.init(Q,X),A0(Q._zod,"values",()=>X.in._zod.values),A0(Q._zod,"optin",()=>X.in._zod.optin),A0(Q._zod,"optout",()=>X.out._zod.optout),Q._zod.parse=(Y,W)=>{let $=X.in._zod.run(Y,W);if($ instanceof Promise)return $.then((J)=>uH(J,X,W));return uH($,X,W)}});function uH(Q,X,Y){if(r6(Q))return Q;return X.out._zod.run({value:Q.value,issues:Q.issues},Y)}var HW=q("$ZodReadonly",(Q,X)=>{G0.init(Q,X),A0(Q._zod,"propValues",()=>X.innerType._zod.propValues),A0(Q._zod,"values",()=>X.innerType._zod.values),A0(Q._zod,"optin",()=>X.innerType._zod.optin),A0(Q._zod,"optout",()=>X.innerType._zod.optout),Q._zod.parse=(Y,W)=>{let $=X.innerType._zod.run(Y,W);if($ instanceof Promise)return $.then(lH);return lH($)}});function lH(Q){return Q.value=Object.freeze(Q.value),Q}var BW=q("$ZodCustom",(Q,X)=>{v0.init(Q,X),G0.init(Q,X),Q._zod.parse=(Y,W)=>{return Y},Q._zod.check=(Y)=>{let W=Y.value,$=X.fn(W);if($ instanceof Promise)return $.then((J)=>mH(J,Y,W,Q));mH($,Y,W,Q);return}});function mH(Q,X,Y,W){if(!Q){let $={code:"custom",input:Y,inst:W,path:[...W._zod.def.path??[]],continue:!W._zod.def.abort};if(W._zod.def.params)$.params=W._zod.def.params;X.issues.push(H7($))}}var Rq=(Q)=>{let X=typeof Q;switch(X){case"number":return Number.isNaN(Q)?"NaN":"number";case"object":{if(Array.isArray(Q))return"array";if(Q===null)return"null";if(Object.getPrototypeOf(Q)!==Object.prototype&&Q.constructor)return Q.constructor.name}}return X},Eq=()=>{let Q={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 X(W){return Q[W]??null}let Y={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(W)=>{switch(W.code){case"invalid_type":return`Invalid input: expected ${W.expected}, received ${Rq(W.input)}`;case"invalid_value":if(W.values.length===1)return`Invalid input: expected ${FQ(W.values[0])}`;return`Invalid option: expected one of ${VQ(W.values,"|")}`;case"too_big":{let $=W.inclusive?"<=":"<",J=X(W.origin);if(J)return`Too big: expected ${W.origin??"value"} to have ${$}${W.maximum.toString()} ${J.unit??"elements"}`;return`Too big: expected ${W.origin??"value"} to be ${$}${W.maximum.toString()}`}case"too_small":{let $=W.inclusive?">=":">",J=X(W.origin);if(J)return`Too small: expected ${W.origin} to have ${$}${W.minimum.toString()} ${J.unit}`;return`Too small: expected ${W.origin} to be ${$}${W.minimum.toString()}`}case"invalid_format":{let $=W;if($.format==="starts_with")return`Invalid string: must start with "${$.prefix}"`;if($.format==="ends_with")return`Invalid string: must end with "${$.suffix}"`;if($.format==="includes")return`Invalid string: must include "${$.includes}"`;if($.format==="regex")return`Invalid string: must match pattern ${$.pattern}`;return`Invalid ${Y[$.format]??W.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${W.divisor}`;case"unrecognized_keys":return`Unrecognized key${W.keys.length>1?"s":""}: ${VQ(W.keys,", ")}`;case"invalid_key":return`Invalid key in ${W.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${W.origin}`;default:return"Invalid input"}}};function zW(){return{localeError:Eq()}}var oH=Symbol("ZodOutput"),rH=Symbol("ZodInput");class wQ{constructor(){this._map=new Map,this._idmap=new Map}add(Q,...X){let Y=X[0];if(this._map.set(Q,Y),Y&&typeof Y==="object"&&"id"in Y){if(this._idmap.has(Y.id))throw Error(`ID ${Y.id} already exists in the registry`);this._idmap.set(Y.id,Q)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(Q){let X=this._map.get(Q);if(X&&typeof X==="object"&&"id"in X)this._idmap.delete(X.id);return this._map.delete(Q),this}get(Q){let X=Q._zod.parent;if(X){let Y={...this.get(X)??{}};return delete Y.id,{...Y,...this._map.get(Q)}}return this._map.get(Q)}has(Q){return this._map.has(Q)}}function KW(){return new wQ}var e1=KW();function VW(Q,X){return new Q({type:"string",...g(X)})}function tH(Q,X){return new Q({type:"string",coerce:!0,...g(X)})}function AW(Q,X){return new Q({type:"string",format:"email",check:"string_format",abort:!1,...g(X)})}function MQ(Q,X){return new Q({type:"string",format:"guid",check:"string_format",abort:!1,...g(X)})}function FW(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,...g(X)})}function DW(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...g(X)})}function LW(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...g(X)})}function OW(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...g(X)})}function bQ(Q,X){return new Q({type:"string",format:"url",check:"string_format",abort:!1,...g(X)})}function UW(Q,X){return new Q({type:"string",format:"emoji",check:"string_format",abort:!1,...g(X)})}function jW(Q,X){return new Q({type:"string",format:"nanoid",check:"string_format",abort:!1,...g(X)})}function NW(Q,X){return new Q({type:"string",format:"cuid",check:"string_format",abort:!1,...g(X)})}function qW(Q,X){return new Q({type:"string",format:"cuid2",check:"string_format",abort:!1,...g(X)})}function wW(Q,X){return new Q({type:"string",format:"ulid",check:"string_format",abort:!1,...g(X)})}function MW(Q,X){return new Q({type:"string",format:"xid",check:"string_format",abort:!1,...g(X)})}function bW(Q,X){return new Q({type:"string",format:"ksuid",check:"string_format",abort:!1,...g(X)})}function PW(Q,X){return new Q({type:"string",format:"ipv4",check:"string_format",abort:!1,...g(X)})}function ZW(Q,X){return new Q({type:"string",format:"ipv6",check:"string_format",abort:!1,...g(X)})}function RW(Q,X){return new Q({type:"string",format:"cidrv4",check:"string_format",abort:!1,...g(X)})}function EW(Q,X){return new Q({type:"string",format:"cidrv6",check:"string_format",abort:!1,...g(X)})}function SW(Q,X){return new Q({type:"string",format:"base64",check:"string_format",abort:!1,...g(X)})}function IW(Q,X){return new Q({type:"string",format:"base64url",check:"string_format",abort:!1,...g(X)})}function TW(Q,X){return new Q({type:"string",format:"e164",check:"string_format",abort:!1,...g(X)})}function CW(Q,X){return new Q({type:"string",format:"jwt",check:"string_format",abort:!1,...g(X)})}function aH(Q,X){return new Q({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...g(X)})}function sH(Q,X){return new Q({type:"string",format:"date",check:"string_format",...g(X)})}function eH(Q,X){return new Q({type:"string",format:"time",check:"string_format",precision:null,...g(X)})}function Q3(Q,X){return new Q({type:"string",format:"duration",check:"string_format",...g(X)})}function kW(Q,X){return new Q({type:"number",checks:[],...g(X)})}function X3(Q,X){return new Q({type:"number",coerce:!0,checks:[],...g(X)})}function vW(Q,X){return new Q({type:"number",check:"number_format",abort:!1,format:"safeint",...g(X)})}function _W(Q,X){return new Q({type:"boolean",...g(X)})}function Y3(Q,X){return new Q({type:"boolean",coerce:!0,...g(X)})}function W3(Q,X){return new Q({type:"bigint",coerce:!0,...g(X)})}function xW(Q,X){return new Q({type:"null",...g(X)})}function yW(Q){return new Q({type:"any"})}function fW(Q){return new Q({type:"unknown"})}function gW(Q,X){return new Q({type:"never",...g(X)})}function $3(Q,X){return new Q({type:"date",coerce:!0,...g(X)})}function h9(Q,X){return new O7({check:"less_than",...g(X),value:Q,inclusive:!1})}function Q6(Q,X){return new O7({check:"less_than",...g(X),value:Q,inclusive:!0})}function u9(Q,X){return new U7({check:"greater_than",...g(X),value:Q,inclusive:!1})}function b1(Q,X){return new U7({check:"greater_than",...g(X),value:Q,inclusive:!0})}function d8(Q,X){return new qH({check:"multiple_of",...g(X),value:Q})}function PQ(Q,X){return new MH({check:"max_length",...g(X),maximum:Q})}function l9(Q,X){return new bH({check:"min_length",...g(X),minimum:Q})}function ZQ(Q,X){return new PH({check:"length_equals",...g(X),length:Q})}function hW(Q,X){return new ZH({check:"string_format",format:"regex",...g(X),pattern:Q})}function uW(Q){return new RH({check:"string_format",format:"lowercase",...g(Q)})}function lW(Q){return new EH({check:"string_format",format:"uppercase",...g(Q)})}function mW(Q,X){return new SH({check:"string_format",format:"includes",...g(X),includes:Q})}function cW(Q,X){return new IH({check:"string_format",format:"starts_with",...g(X),prefix:Q})}function pW(Q,X){return new TH({check:"string_format",format:"ends_with",...g(X),suffix:Q})}function s6(Q){return new CH({check:"overwrite",tx:Q})}function dW(Q){return s6((X)=>X.normalize(Q))}function iW(){return s6((Q)=>Q.trim())}function nW(){return s6((Q)=>Q.toLowerCase())}function oW(){return s6((Q)=>Q.toUpperCase())}function J3(Q,X,Y){return new Q({type:"array",element:X,...g(Y)})}function rW(Q,X,Y){let W=g(Y);return W.abort??(W.abort=!0),new Q({type:"custom",check:"custom",fn:X,...W})}function tW(Q,X,Y){return new Q({type:"custom",check:"custom",fn:X,...g(Y)})}class aW{constructor(Q){this.counter=0,this.metadataRegistry=Q?.metadata??e1,this.target=Q?.target??"draft-2020-12",this.unrepresentable=Q?.unrepresentable??"throw",this.override=Q?.override??(()=>{}),this.io=Q?.io??"output",this.seen=new Map}process(Q,X={path:[],schemaPath:[]}){var Y;let W=Q._zod.def,$={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},J=this.seen.get(Q);if(J){if(J.count++,X.schemaPath.includes(Q))J.cycle=X.path;return J.schema}let G={schema:{},count:1,cycle:void 0,path:X.path};this.seen.set(Q,G);let H=Q._zod.toJSONSchema?.();if(H)G.schema=H;else{let K={...X,schemaPath:[...X.schemaPath,Q],path:X.path},V=Q._zod.parent;if(V)G.ref=V,this.process(V,K),this.seen.get(V).isParent=!0;else{let A=G.schema;switch(W.type){case"string":{let F=A;F.type="string";let{minimum:L,maximum:D,format:O,patterns:U,contentEncoding:w}=Q._zod.bag;if(typeof L==="number")F.minLength=L;if(typeof D==="number")F.maxLength=D;if(O){if(F.format=$[O]??O,F.format==="")delete F.format}if(w)F.contentEncoding=w;if(U&&U.size>0){let M=[...U];if(M.length===1)F.pattern=M[0].source;else if(M.length>1)G.schema.allOf=[...M.map((S)=>({...this.target==="draft-7"?{type:"string"}:{},pattern:S.source}))]}break}case"number":{let F=A,{minimum:L,maximum:D,format:O,multipleOf:U,exclusiveMaximum:w,exclusiveMinimum:M}=Q._zod.bag;if(typeof O==="string"&&O.includes("int"))F.type="integer";else F.type="number";if(typeof M==="number")F.exclusiveMinimum=M;if(typeof L==="number"){if(F.minimum=L,typeof M==="number")if(M>=L)delete F.minimum;else delete F.exclusiveMinimum}if(typeof w==="number")F.exclusiveMaximum=w;if(typeof D==="number"){if(F.maximum=D,typeof w==="number")if(w<=D)delete F.maximum;else delete F.exclusiveMaximum}if(typeof U==="number")F.multipleOf=U;break}case"boolean":{let F=A;F.type="boolean";break}case"bigint":{if(this.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema");break}case"symbol":{if(this.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema");break}case"null":{A.type="null";break}case"any":break;case"unknown":break;case"undefined":{if(this.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema");break}case"void":{if(this.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema");break}case"never":{A.not={};break}case"date":{if(this.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema");break}case"array":{let F=A,{minimum:L,maximum:D}=Q._zod.bag;if(typeof L==="number")F.minItems=L;if(typeof D==="number")F.maxItems=D;F.type="array",F.items=this.process(W.element,{...K,path:[...K.path,"items"]});break}case"object":{let F=A;F.type="object",F.properties={};let L=W.shape;for(let U in L)F.properties[U]=this.process(L[U],{...K,path:[...K.path,"properties",U]});let D=new Set(Object.keys(L)),O=new Set([...D].filter((U)=>{let w=W.shape[U]._zod;if(this.io==="input")return w.optin===void 0;else return w.optout===void 0}));if(O.size>0)F.required=Array.from(O);if(W.catchall?._zod.def.type==="never")F.additionalProperties=!1;else if(!W.catchall){if(this.io==="output")F.additionalProperties=!1}else if(W.catchall)F.additionalProperties=this.process(W.catchall,{...K,path:[...K.path,"additionalProperties"]});break}case"union":{let F=A;F.anyOf=W.options.map((L,D)=>this.process(L,{...K,path:[...K.path,"anyOf",D]}));break}case"intersection":{let F=A,L=this.process(W.left,{...K,path:[...K.path,"allOf",0]}),D=this.process(W.right,{...K,path:[...K.path,"allOf",1]}),O=(w)=>("allOf"in w)&&Object.keys(w).length===1,U=[...O(L)?L.allOf:[L],...O(D)?D.allOf:[D]];F.allOf=U;break}case"tuple":{let F=A;F.type="array";let L=W.items.map((U,w)=>this.process(U,{...K,path:[...K.path,"prefixItems",w]}));if(this.target==="draft-2020-12")F.prefixItems=L;else F.items=L;if(W.rest){let U=this.process(W.rest,{...K,path:[...K.path,"items"]});if(this.target==="draft-2020-12")F.items=U;else F.additionalItems=U}if(W.rest)F.items=this.process(W.rest,{...K,path:[...K.path,"items"]});let{minimum:D,maximum:O}=Q._zod.bag;if(typeof D==="number")F.minItems=D;if(typeof O==="number")F.maxItems=O;break}case"record":{let F=A;F.type="object",F.propertyNames=this.process(W.keyType,{...K,path:[...K.path,"propertyNames"]}),F.additionalProperties=this.process(W.valueType,{...K,path:[...K.path,"additionalProperties"]});break}case"map":{if(this.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema");break}case"set":{if(this.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema");break}case"enum":{let F=A,L=y8(W.entries);if(L.every((D)=>typeof D==="number"))F.type="number";if(L.every((D)=>typeof D==="string"))F.type="string";F.enum=L;break}case"literal":{let F=A,L=[];for(let D of W.values)if(D===void 0){if(this.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof D==="bigint")if(this.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else L.push(Number(D));else L.push(D);if(L.length===0);else if(L.length===1){let D=L[0];F.type=D===null?"null":typeof D,F.const=D}else{if(L.every((D)=>typeof D==="number"))F.type="number";if(L.every((D)=>typeof D==="string"))F.type="string";if(L.every((D)=>typeof D==="boolean"))F.type="string";if(L.every((D)=>D===null))F.type="null";F.enum=L}break}case"file":{let F=A,L={type:"string",format:"binary",contentEncoding:"binary"},{minimum:D,maximum:O,mime:U}=Q._zod.bag;if(D!==void 0)L.minLength=D;if(O!==void 0)L.maxLength=O;if(U)if(U.length===1)L.contentMediaType=U[0],Object.assign(F,L);else F.anyOf=U.map((w)=>{return{...L,contentMediaType:w}});else Object.assign(F,L);break}case"transform":{if(this.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema");break}case"nullable":{let F=this.process(W.innerType,K);A.anyOf=[F,{type:"null"}];break}case"nonoptional":{this.process(W.innerType,K),G.ref=W.innerType;break}case"success":{let F=A;F.type="boolean";break}case"default":{this.process(W.innerType,K),G.ref=W.innerType,A.default=JSON.parse(JSON.stringify(W.defaultValue));break}case"prefault":{if(this.process(W.innerType,K),G.ref=W.innerType,this.io==="input")A._prefault=JSON.parse(JSON.stringify(W.defaultValue));break}case"catch":{this.process(W.innerType,K),G.ref=W.innerType;let F;try{F=W.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}A.default=F;break}case"nan":{if(this.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema");break}case"template_literal":{let F=A,L=Q._zod.pattern;if(!L)throw Error("Pattern not found in template literal");F.type="string",F.pattern=L.source;break}case"pipe":{let F=this.io==="input"?W.in._zod.def.type==="transform"?W.out:W.in:W.out;this.process(F,K),G.ref=F;break}case"readonly":{this.process(W.innerType,K),G.ref=W.innerType,A.readOnly=!0;break}case"promise":{this.process(W.innerType,K),G.ref=W.innerType;break}case"optional":{this.process(W.innerType,K),G.ref=W.innerType;break}case"lazy":{let F=Q._zod.innerType;this.process(F,K),G.ref=F;break}case"custom":{if(this.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema");break}default:}}}let B=this.metadataRegistry.get(Q);if(B)Object.assign(G.schema,B);if(this.io==="input"&&T0(Q))delete G.schema.examples,delete G.schema.default;if(this.io==="input"&&G.schema._prefault)(Y=G.schema).default??(Y.default=G.schema._prefault);return delete G.schema._prefault,this.seen.get(Q).schema}emit(Q,X){let Y={cycles:X?.cycles??"ref",reused:X?.reused??"inline",external:X?.external??void 0},W=this.seen.get(Q);if(!W)throw Error("Unprocessed schema. This is a bug in Zod.");let $=(z)=>{let K=this.target==="draft-2020-12"?"$defs":"definitions";if(Y.external){let L=Y.external.registry.get(z[0])?.id,D=Y.external.uri??((U)=>U);if(L)return{ref:D(L)};let O=z[1].defId??z[1].schema.id??`schema${this.counter++}`;return z[1].defId=O,{defId:O,ref:`${D("__shared")}#/${K}/${O}`}}if(z[1]===W)return{ref:"#"};let A=`${"#"}/${K}/`,F=z[1].schema.id??`__schema${this.counter++}`;return{defId:F,ref:A+F}},J=(z)=>{if(z[1].schema.$ref)return;let K=z[1],{ref:V,defId:A}=$(z);if(K.def={...K.schema},A)K.defId=A;let F=K.schema;for(let L in F)delete F[L];F.$ref=V};if(Y.cycles==="throw")for(let z of this.seen.entries()){let K=z[1];if(K.cycle)throw Error(`Cycle detected: #/${K.cycle?.join("/")}/<root>
40
+ path: iss.path ? [${t6(N)}, ...iss.path] : [${t6(N)}]
41
+ })));`),F.write(`newResult[${t6(N)}] = ${M}.value`)}F.write("payload.value = newResult;"),F.write("return payload;");let U=F.compile();return(N,M)=>U(V,N,M)},$,J=u9,G=!AQ.jitless,B=G&&V7.value,z=Y.catchall,K;Q._zod.parse=(V,F)=>{K??(K=X.value);let A=V.value;if(!J(A))return V.issues.push({expected:"object",code:"invalid_type",input:A,inst:Q}),V;let D=[];if(G&&B&&F?.async===!1&&F.jitless!==!0){if(!$)$=W(Y.shape);V=$(V,F)}else{V.value={};let M=K.shape;for(let S of K.keys){let P=M[S],V0=P._zod.run({value:A[S],issues:[]},F),Z0=P._zod.optin==="optional"&&P._zod.optout==="optional";if(V0 instanceof Promise)D.push(V0.then((h1)=>Z0?rH(h1,V,S,A):qQ(h1,V,S)));else if(Z0)rH(V0,V,S,A);else qQ(V0,V,S)}}if(!z)return D.length?Promise.all(D).then(()=>V):V;let L=[],O=K.keySet,U=z._zod,N=U.def.type;for(let M of Object.keys(A)){if(O.has(M))continue;if(N==="never"){L.push(M);continue}let S=U.run({value:A[M],issues:[]},F);if(S instanceof Promise)D.push(S.then((P)=>qQ(P,V,M)));else qQ(S,V,M)}if(L.length)V.issues.push({code:"unrecognized_keys",keys:L,input:A,inst:Q});if(!D.length)return V;return Promise.all(D).then(()=>{return V})}});function aH(Q,Y,X,W){for(let $ of Q)if($.issues.length===0)return Y.value=$.value,Y;return Y.issues.push({code:"invalid_union",input:Y.value,inst:X,errors:Q.map(($)=>$.issues.map((J)=>M1(J,W,t0())))}),Y}var ZQ=q("$ZodUnion",(Q,Y)=>{G0.init(Q,Y),F0(Q._zod,"optin",()=>Y.options.some((X)=>X._zod.optin==="optional")?"optional":void 0),F0(Q._zod,"optout",()=>Y.options.some((X)=>X._zod.optout==="optional")?"optional":void 0),F0(Q._zod,"values",()=>{if(Y.options.every((X)=>X._zod.values))return new Set(Y.options.flatMap((X)=>Array.from(X._zod.values)));return}),F0(Q._zod,"pattern",()=>{if(Y.options.every((X)=>X._zod.pattern)){let X=Y.options.map((W)=>W._zod.pattern);return new RegExp(`^(${X.map((W)=>c8(W.source)).join("|")})$`)}return}),Q._zod.parse=(X,W)=>{let $=!1,J=[];for(let G of Y.options){let H=G._zod.run({value:X.value,issues:[]},W);if(H instanceof Promise)J.push(H),$=!0;else{if(H.issues.length===0)return H;J.push(H)}}if(!$)return aH(J,X,Q,W);return Promise.all(J).then((G)=>{return aH(G,X,Q,W)})}}),XW=q("$ZodDiscriminatedUnion",(Q,Y)=>{ZQ.init(Q,Y);let X=Q._zod.parse;F0(Q._zod,"propValues",()=>{let $={};for(let J of Y.options){let G=J._zod.propValues;if(!G||Object.keys(G).length===0)throw Error(`Invalid discriminated union option at index "${Y.options.indexOf(J)}"`);for(let[H,B]of Object.entries(G)){if(!$[H])$[H]=new Set;for(let z of B)$[H].add(z)}}return $});let W=l8(()=>{let $=Y.options,J=new Map;for(let G of $){let H=G._zod.propValues[Y.discriminator];if(!H||H.size===0)throw Error(`Invalid discriminated union option at index "${Y.options.indexOf(G)}"`);for(let B of H){if(J.has(B))throw Error(`Duplicate discriminator value "${String(B)}"`);J.set(B,G)}}return J});Q._zod.parse=($,J)=>{let G=$.value;if(!u9(G))return $.issues.push({code:"invalid_type",expected:"object",input:G,inst:Q}),$;let H=W.value.get(G?.[Y.discriminator]);if(H)return H._zod.run($,J);if(Y.unionFallback)return X($,J);return $.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:G,path:[Y.discriminator],inst:Q}),$}}),WW=q("$ZodIntersection",(Q,Y)=>{G0.init(Q,Y),Q._zod.parse=(X,W)=>{let $=X.value,J=Y.left._zod.run({value:$,issues:[]},W),G=Y.right._zod.run({value:$,issues:[]},W);if(J instanceof Promise||G instanceof Promise)return Promise.all([J,G]).then(([B,z])=>{return tH(X,B,z)});return tH(X,J,G)}});function E7(Q,Y){if(Q===Y)return{valid:!0,data:Q};if(Q instanceof Date&&Y instanceof Date&&+Q===+Y)return{valid:!0,data:Q};if(l9(Q)&&l9(Y)){let X=Object.keys(Y),W=Object.keys(Q).filter((J)=>X.indexOf(J)!==-1),$={...Q,...Y};for(let J of W){let G=E7(Q[J],Y[J]);if(!G.valid)return{valid:!1,mergeErrorPath:[J,...G.mergeErrorPath]};$[J]=G.data}return{valid:!0,data:$}}if(Array.isArray(Q)&&Array.isArray(Y)){if(Q.length!==Y.length)return{valid:!1,mergeErrorPath:[]};let X=[];for(let W=0;W<Q.length;W++){let $=Q[W],J=Y[W],G=E7($,J);if(!G.valid)return{valid:!1,mergeErrorPath:[W,...G.mergeErrorPath]};X.push(G.data)}return{valid:!0,data:X}}return{valid:!1,mergeErrorPath:[]}}function tH(Q,Y,X){if(Y.issues.length)Q.issues.push(...Y.issues);if(X.issues.length)Q.issues.push(...X.issues);if(s6(Q))return Q;let W=E7(Y.value,X.value);if(!W.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(W.mergeErrorPath)}`);return Q.value=W.data,Q}var $W=q("$ZodRecord",(Q,Y)=>{G0.init(Q,Y),Q._zod.parse=(X,W)=>{let $=X.value;if(!l9($))return X.issues.push({expected:"record",code:"invalid_type",input:$,inst:Q}),X;let J=[];if(Y.keyType._zod.values){let G=Y.keyType._zod.values;X.value={};for(let B of G)if(typeof B==="string"||typeof B==="number"||typeof B==="symbol"){let z=Y.valueType._zod.run({value:$[B],issues:[]},W);if(z instanceof Promise)J.push(z.then((K)=>{if(K.issues.length)X.issues.push(...m1(B,K.issues));X.value[B]=K.value}));else{if(z.issues.length)X.issues.push(...m1(B,z.issues));X.value[B]=z.value}}let H;for(let B in $)if(!G.has(B))H=H??[],H.push(B);if(H&&H.length>0)X.issues.push({code:"unrecognized_keys",input:$,inst:Q,keys:H})}else{X.value={};for(let G of Reflect.ownKeys($)){if(G==="__proto__")continue;let H=Y.keyType._zod.run({value:G,issues:[]},W);if(H instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(H.issues.length){X.issues.push({origin:"record",code:"invalid_key",issues:H.issues.map((z)=>M1(z,W,t0())),input:G,path:[G],inst:Q}),X.value[H.value]=H.value;continue}let B=Y.valueType._zod.run({value:$[G],issues:[]},W);if(B instanceof Promise)J.push(B.then((z)=>{if(z.issues.length)X.issues.push(...m1(G,z.issues));X.value[H.value]=z.value}));else{if(B.issues.length)X.issues.push(...m1(G,B.issues));X.value[H.value]=B.value}}}if(J.length)return Promise.all(J).then(()=>X);return X}});var JW=q("$ZodEnum",(Q,Y)=>{G0.init(Q,Y);let X=u8(Y.entries);Q._zod.values=new Set(X),Q._zod.pattern=new RegExp(`^(${X.filter((W)=>F7.has(typeof W)).map((W)=>typeof W==="string"?N6(W):W.toString()).join("|")})$`),Q._zod.parse=(W,$)=>{let J=W.value;if(Q._zod.values.has(J))return W;return W.issues.push({code:"invalid_value",values:X,input:J,inst:Q}),W}}),GW=q("$ZodLiteral",(Q,Y)=>{G0.init(Q,Y),Q._zod.values=new Set(Y.values),Q._zod.pattern=new RegExp(`^(${Y.values.map((X)=>typeof X==="string"?N6(X):X?X.toString():String(X)).join("|")})$`),Q._zod.parse=(X,W)=>{let $=X.value;if(Q._zod.values.has($))return X;return X.issues.push({code:"invalid_value",values:Y.values,input:$,inst:Q}),X}});var HW=q("$ZodTransform",(Q,Y)=>{G0.init(Q,Y),Q._zod.parse=(X,W)=>{let $=Y.transform(X.value,X);if(W.async)return($ instanceof Promise?$:Promise.resolve($)).then((G)=>{return X.value=G,X});if($ instanceof Promise)throw new w6;return X.value=$,X}}),BW=q("$ZodOptional",(Q,Y)=>{G0.init(Q,Y),Q._zod.optin="optional",Q._zod.optout="optional",F0(Q._zod,"values",()=>{return Y.innerType._zod.values?new Set([...Y.innerType._zod.values,void 0]):void 0}),F0(Q._zod,"pattern",()=>{let X=Y.innerType._zod.pattern;return X?new RegExp(`^(${c8(X.source)})?$`):void 0}),Q._zod.parse=(X,W)=>{if(Y.innerType._zod.optin==="optional")return Y.innerType._zod.run(X,W);if(X.value===void 0)return X;return Y.innerType._zod.run(X,W)}}),zW=q("$ZodNullable",(Q,Y)=>{G0.init(Q,Y),F0(Q._zod,"optin",()=>Y.innerType._zod.optin),F0(Q._zod,"optout",()=>Y.innerType._zod.optout),F0(Q._zod,"pattern",()=>{let X=Y.innerType._zod.pattern;return X?new RegExp(`^(${c8(X.source)}|null)$`):void 0}),F0(Q._zod,"values",()=>{return Y.innerType._zod.values?new Set([...Y.innerType._zod.values,null]):void 0}),Q._zod.parse=(X,W)=>{if(X.value===null)return X;return Y.innerType._zod.run(X,W)}}),KW=q("$ZodDefault",(Q,Y)=>{G0.init(Q,Y),Q._zod.optin="optional",F0(Q._zod,"values",()=>Y.innerType._zod.values),Q._zod.parse=(X,W)=>{if(X.value===void 0)return X.value=Y.defaultValue,X;let $=Y.innerType._zod.run(X,W);if($ instanceof Promise)return $.then((J)=>sH(J,Y));return sH($,Y)}});function sH(Q,Y){if(Q.value===void 0)Q.value=Y.defaultValue;return Q}var VW=q("$ZodPrefault",(Q,Y)=>{G0.init(Q,Y),Q._zod.optin="optional",F0(Q._zod,"values",()=>Y.innerType._zod.values),Q._zod.parse=(X,W)=>{if(X.value===void 0)X.value=Y.defaultValue;return Y.innerType._zod.run(X,W)}}),FW=q("$ZodNonOptional",(Q,Y)=>{G0.init(Q,Y),F0(Q._zod,"values",()=>{let X=Y.innerType._zod.values;return X?new Set([...X].filter((W)=>W!==void 0)):void 0}),Q._zod.parse=(X,W)=>{let $=Y.innerType._zod.run(X,W);if($ instanceof Promise)return $.then((J)=>eH(J,Q));return eH($,Q)}});function eH(Q,Y){if(!Q.issues.length&&Q.value===void 0)Q.issues.push({code:"invalid_type",expected:"nonoptional",input:Q.value,inst:Y});return Q}var AW=q("$ZodCatch",(Q,Y)=>{G0.init(Q,Y),Q._zod.optin="optional",F0(Q._zod,"optout",()=>Y.innerType._zod.optout),F0(Q._zod,"values",()=>Y.innerType._zod.values),Q._zod.parse=(X,W)=>{let $=Y.innerType._zod.run(X,W);if($ instanceof Promise)return $.then((J)=>{if(X.value=J.value,J.issues.length)X.value=Y.catchValue({...X,error:{issues:J.issues.map((G)=>M1(G,W,t0()))},input:X.value}),X.issues=[];return X});if(X.value=$.value,$.issues.length)X.value=Y.catchValue({...X,error:{issues:$.issues.map((J)=>M1(J,W,t0()))},input:X.value}),X.issues=[];return X}});var DW=q("$ZodPipe",(Q,Y)=>{G0.init(Q,Y),F0(Q._zod,"values",()=>Y.in._zod.values),F0(Q._zod,"optin",()=>Y.in._zod.optin),F0(Q._zod,"optout",()=>Y.out._zod.optout),Q._zod.parse=(X,W)=>{let $=Y.in._zod.run(X,W);if($ instanceof Promise)return $.then((J)=>Q3(J,Y,W));return Q3($,Y,W)}});function Q3(Q,Y,X){if(s6(Q))return Q;return Y.out._zod.run({value:Q.value,issues:Q.issues},X)}var LW=q("$ZodReadonly",(Q,Y)=>{G0.init(Q,Y),F0(Q._zod,"propValues",()=>Y.innerType._zod.propValues),F0(Q._zod,"values",()=>Y.innerType._zod.values),F0(Q._zod,"optin",()=>Y.innerType._zod.optin),F0(Q._zod,"optout",()=>Y.innerType._zod.optout),Q._zod.parse=(X,W)=>{let $=Y.innerType._zod.run(X,W);if($ instanceof Promise)return $.then(Y3);return Y3($)}});function Y3(Q){return Q.value=Object.freeze(Q.value),Q}var OW=q("$ZodCustom",(Q,Y)=>{_0.init(Q,Y),G0.init(Q,Y),Q._zod.parse=(X,W)=>{return X},Q._zod.check=(X)=>{let W=X.value,$=Y.fn(W);if($ instanceof Promise)return $.then((J)=>X3(J,X,W,Q));X3($,X,W,Q);return}});function X3(Q,Y,X,W){if(!Q){let $={code:"custom",input:X,inst:W,path:[...W._zod.def.path??[]],continue:!W._zod.def.abort};if(W._zod.def.params)$.params=W._zod.def.params;Y.issues.push(L7($))}}var rN=(Q)=>{let Y=typeof Q;switch(Y){case"number":return Number.isNaN(Q)?"NaN":"number";case"object":{if(Array.isArray(Q))return"array";if(Q===null)return"null";if(Object.getPrototypeOf(Q)!==Object.prototype&&Q.constructor)return Q.constructor.name}}return Y},aN=()=>{let Q={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 Y(W){return Q[W]??null}let X={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(W)=>{switch(W.code){case"invalid_type":return`Invalid input: expected ${W.expected}, received ${rN(W.input)}`;case"invalid_value":if(W.values.length===1)return`Invalid input: expected ${UQ(W.values[0])}`;return`Invalid option: expected one of ${LQ(W.values,"|")}`;case"too_big":{let $=W.inclusive?"<=":"<",J=Y(W.origin);if(J)return`Too big: expected ${W.origin??"value"} to have ${$}${W.maximum.toString()} ${J.unit??"elements"}`;return`Too big: expected ${W.origin??"value"} to be ${$}${W.maximum.toString()}`}case"too_small":{let $=W.inclusive?">=":">",J=Y(W.origin);if(J)return`Too small: expected ${W.origin} to have ${$}${W.minimum.toString()} ${J.unit}`;return`Too small: expected ${W.origin} to be ${$}${W.minimum.toString()}`}case"invalid_format":{let $=W;if($.format==="starts_with")return`Invalid string: must start with "${$.prefix}"`;if($.format==="ends_with")return`Invalid string: must end with "${$.suffix}"`;if($.format==="includes")return`Invalid string: must include "${$.includes}"`;if($.format==="regex")return`Invalid string: must match pattern ${$.pattern}`;return`Invalid ${X[$.format]??W.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${W.divisor}`;case"unrecognized_keys":return`Unrecognized key${W.keys.length>1?"s":""}: ${LQ(W.keys,", ")}`;case"invalid_key":return`Invalid key in ${W.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${W.origin}`;default:return"Invalid input"}}};function UW(){return{localeError:aN()}}var B3=Symbol("ZodOutput"),z3=Symbol("ZodInput");class PQ{constructor(){this._map=new Map,this._idmap=new Map}add(Q,...Y){let X=Y[0];if(this._map.set(Q,X),X&&typeof X==="object"&&"id"in X){if(this._idmap.has(X.id))throw Error(`ID ${X.id} already exists in the registry`);this._idmap.set(X.id,Q)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(Q){let Y=this._map.get(Q);if(Y&&typeof Y==="object"&&"id"in Y)this._idmap.delete(Y.id);return this._map.delete(Q),this}get(Q){let Y=Q._zod.parent;if(Y){let X={...this.get(Y)??{}};return delete X.id,{...X,...this._map.get(Q)}}return this._map.get(Q)}has(Q){return this._map.has(Q)}}function jW(){return new PQ}var e1=jW();function wW(Q,Y){return new Q({type:"string",...g(Y)})}function K3(Q,Y){return new Q({type:"string",coerce:!0,...g(Y)})}function NW(Q,Y){return new Q({type:"string",format:"email",check:"string_format",abort:!1,...g(Y)})}function RQ(Q,Y){return new Q({type:"string",format:"guid",check:"string_format",abort:!1,...g(Y)})}function qW(Q,Y){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,...g(Y)})}function MW(Q,Y){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...g(Y)})}function bW(Q,Y){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...g(Y)})}function ZW(Q,Y){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...g(Y)})}function EQ(Q,Y){return new Q({type:"string",format:"url",check:"string_format",abort:!1,...g(Y)})}function PW(Q,Y){return new Q({type:"string",format:"emoji",check:"string_format",abort:!1,...g(Y)})}function RW(Q,Y){return new Q({type:"string",format:"nanoid",check:"string_format",abort:!1,...g(Y)})}function EW(Q,Y){return new Q({type:"string",format:"cuid",check:"string_format",abort:!1,...g(Y)})}function SW(Q,Y){return new Q({type:"string",format:"cuid2",check:"string_format",abort:!1,...g(Y)})}function IW(Q,Y){return new Q({type:"string",format:"ulid",check:"string_format",abort:!1,...g(Y)})}function TW(Q,Y){return new Q({type:"string",format:"xid",check:"string_format",abort:!1,...g(Y)})}function CW(Q,Y){return new Q({type:"string",format:"ksuid",check:"string_format",abort:!1,...g(Y)})}function kW(Q,Y){return new Q({type:"string",format:"ipv4",check:"string_format",abort:!1,...g(Y)})}function _W(Q,Y){return new Q({type:"string",format:"ipv6",check:"string_format",abort:!1,...g(Y)})}function vW(Q,Y){return new Q({type:"string",format:"cidrv4",check:"string_format",abort:!1,...g(Y)})}function xW(Q,Y){return new Q({type:"string",format:"cidrv6",check:"string_format",abort:!1,...g(Y)})}function yW(Q,Y){return new Q({type:"string",format:"base64",check:"string_format",abort:!1,...g(Y)})}function fW(Q,Y){return new Q({type:"string",format:"base64url",check:"string_format",abort:!1,...g(Y)})}function hW(Q,Y){return new Q({type:"string",format:"e164",check:"string_format",abort:!1,...g(Y)})}function gW(Q,Y){return new Q({type:"string",format:"jwt",check:"string_format",abort:!1,...g(Y)})}function V3(Q,Y){return new Q({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...g(Y)})}function F3(Q,Y){return new Q({type:"string",format:"date",check:"string_format",...g(Y)})}function A3(Q,Y){return new Q({type:"string",format:"time",check:"string_format",precision:null,...g(Y)})}function D3(Q,Y){return new Q({type:"string",format:"duration",check:"string_format",...g(Y)})}function uW(Q,Y){return new Q({type:"number",checks:[],...g(Y)})}function L3(Q,Y){return new Q({type:"number",coerce:!0,checks:[],...g(Y)})}function lW(Q,Y){return new Q({type:"number",check:"number_format",abort:!1,format:"safeint",...g(Y)})}function mW(Q,Y){return new Q({type:"boolean",...g(Y)})}function O3(Q,Y){return new Q({type:"boolean",coerce:!0,...g(Y)})}function U3(Q,Y){return new Q({type:"bigint",coerce:!0,...g(Y)})}function cW(Q,Y){return new Q({type:"null",...g(Y)})}function pW(Q){return new Q({type:"any"})}function dW(Q){return new Q({type:"unknown"})}function iW(Q,Y){return new Q({type:"never",...g(Y)})}function j3(Q,Y){return new Q({type:"date",coerce:!0,...g(Y)})}function m9(Q,Y){return new Z7({check:"less_than",...g(Y),value:Q,inclusive:!1})}function Q6(Q,Y){return new Z7({check:"less_than",...g(Y),value:Q,inclusive:!0})}function c9(Q,Y){return new P7({check:"greater_than",...g(Y),value:Q,inclusive:!1})}function b1(Q,Y){return new P7({check:"greater_than",...g(Y),value:Q,inclusive:!0})}function r8(Q,Y){return new vH({check:"multiple_of",...g(Y),value:Q})}function SQ(Q,Y){return new yH({check:"max_length",...g(Y),maximum:Q})}function p9(Q,Y){return new fH({check:"min_length",...g(Y),minimum:Q})}function IQ(Q,Y){return new hH({check:"length_equals",...g(Y),length:Q})}function nW(Q,Y){return new gH({check:"string_format",format:"regex",...g(Y),pattern:Q})}function oW(Q){return new uH({check:"string_format",format:"lowercase",...g(Q)})}function rW(Q){return new lH({check:"string_format",format:"uppercase",...g(Q)})}function aW(Q,Y){return new mH({check:"string_format",format:"includes",...g(Y),includes:Q})}function tW(Q,Y){return new cH({check:"string_format",format:"starts_with",...g(Y),prefix:Q})}function sW(Q,Y){return new pH({check:"string_format",format:"ends_with",...g(Y),suffix:Q})}function Y9(Q){return new dH({check:"overwrite",tx:Q})}function eW(Q){return Y9((Y)=>Y.normalize(Q))}function Q5(){return Y9((Q)=>Q.trim())}function Y5(){return Y9((Q)=>Q.toLowerCase())}function X5(){return Y9((Q)=>Q.toUpperCase())}function w3(Q,Y,X){return new Q({type:"array",element:Y,...g(X)})}function W5(Q,Y,X){let W=g(X);return W.abort??(W.abort=!0),new Q({type:"custom",check:"custom",fn:Y,...W})}function $5(Q,Y,X){return new Q({type:"custom",check:"custom",fn:Y,...g(X)})}class J5{constructor(Q){this.counter=0,this.metadataRegistry=Q?.metadata??e1,this.target=Q?.target??"draft-2020-12",this.unrepresentable=Q?.unrepresentable??"throw",this.override=Q?.override??(()=>{}),this.io=Q?.io??"output",this.seen=new Map}process(Q,Y={path:[],schemaPath:[]}){var X;let W=Q._zod.def,$={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},J=this.seen.get(Q);if(J){if(J.count++,Y.schemaPath.includes(Q))J.cycle=Y.path;return J.schema}let G={schema:{},count:1,cycle:void 0,path:Y.path};this.seen.set(Q,G);let H=Q._zod.toJSONSchema?.();if(H)G.schema=H;else{let K={...Y,schemaPath:[...Y.schemaPath,Q],path:Y.path},V=Q._zod.parent;if(V)G.ref=V,this.process(V,K),this.seen.get(V).isParent=!0;else{let F=G.schema;switch(W.type){case"string":{let A=F;A.type="string";let{minimum:D,maximum:L,format:O,patterns:U,contentEncoding:N}=Q._zod.bag;if(typeof D==="number")A.minLength=D;if(typeof L==="number")A.maxLength=L;if(O){if(A.format=$[O]??O,A.format==="")delete A.format}if(N)A.contentEncoding=N;if(U&&U.size>0){let M=[...U];if(M.length===1)A.pattern=M[0].source;else if(M.length>1)G.schema.allOf=[...M.map((S)=>({...this.target==="draft-7"?{type:"string"}:{},pattern:S.source}))]}break}case"number":{let A=F,{minimum:D,maximum:L,format:O,multipleOf:U,exclusiveMaximum:N,exclusiveMinimum:M}=Q._zod.bag;if(typeof O==="string"&&O.includes("int"))A.type="integer";else A.type="number";if(typeof M==="number")A.exclusiveMinimum=M;if(typeof D==="number"){if(A.minimum=D,typeof M==="number")if(M>=D)delete A.minimum;else delete A.exclusiveMinimum}if(typeof N==="number")A.exclusiveMaximum=N;if(typeof L==="number"){if(A.maximum=L,typeof N==="number")if(N<=L)delete A.maximum;else delete A.exclusiveMaximum}if(typeof U==="number")A.multipleOf=U;break}case"boolean":{let A=F;A.type="boolean";break}case"bigint":{if(this.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema");break}case"symbol":{if(this.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema");break}case"null":{F.type="null";break}case"any":break;case"unknown":break;case"undefined":{if(this.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema");break}case"void":{if(this.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema");break}case"never":{F.not={};break}case"date":{if(this.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema");break}case"array":{let A=F,{minimum:D,maximum:L}=Q._zod.bag;if(typeof D==="number")A.minItems=D;if(typeof L==="number")A.maxItems=L;A.type="array",A.items=this.process(W.element,{...K,path:[...K.path,"items"]});break}case"object":{let A=F;A.type="object",A.properties={};let D=W.shape;for(let U in D)A.properties[U]=this.process(D[U],{...K,path:[...K.path,"properties",U]});let L=new Set(Object.keys(D)),O=new Set([...L].filter((U)=>{let N=W.shape[U]._zod;if(this.io==="input")return N.optin===void 0;else return N.optout===void 0}));if(O.size>0)A.required=Array.from(O);if(W.catchall?._zod.def.type==="never")A.additionalProperties=!1;else if(!W.catchall){if(this.io==="output")A.additionalProperties=!1}else if(W.catchall)A.additionalProperties=this.process(W.catchall,{...K,path:[...K.path,"additionalProperties"]});break}case"union":{let A=F;A.anyOf=W.options.map((D,L)=>this.process(D,{...K,path:[...K.path,"anyOf",L]}));break}case"intersection":{let A=F,D=this.process(W.left,{...K,path:[...K.path,"allOf",0]}),L=this.process(W.right,{...K,path:[...K.path,"allOf",1]}),O=(N)=>("allOf"in N)&&Object.keys(N).length===1,U=[...O(D)?D.allOf:[D],...O(L)?L.allOf:[L]];A.allOf=U;break}case"tuple":{let A=F;A.type="array";let D=W.items.map((U,N)=>this.process(U,{...K,path:[...K.path,"prefixItems",N]}));if(this.target==="draft-2020-12")A.prefixItems=D;else A.items=D;if(W.rest){let U=this.process(W.rest,{...K,path:[...K.path,"items"]});if(this.target==="draft-2020-12")A.items=U;else A.additionalItems=U}if(W.rest)A.items=this.process(W.rest,{...K,path:[...K.path,"items"]});let{minimum:L,maximum:O}=Q._zod.bag;if(typeof L==="number")A.minItems=L;if(typeof O==="number")A.maxItems=O;break}case"record":{let A=F;A.type="object",A.propertyNames=this.process(W.keyType,{...K,path:[...K.path,"propertyNames"]}),A.additionalProperties=this.process(W.valueType,{...K,path:[...K.path,"additionalProperties"]});break}case"map":{if(this.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema");break}case"set":{if(this.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema");break}case"enum":{let A=F,D=u8(W.entries);if(D.every((L)=>typeof L==="number"))A.type="number";if(D.every((L)=>typeof L==="string"))A.type="string";A.enum=D;break}case"literal":{let A=F,D=[];for(let L of W.values)if(L===void 0){if(this.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof L==="bigint")if(this.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else D.push(Number(L));else D.push(L);if(D.length===0);else if(D.length===1){let L=D[0];A.type=L===null?"null":typeof L,A.const=L}else{if(D.every((L)=>typeof L==="number"))A.type="number";if(D.every((L)=>typeof L==="string"))A.type="string";if(D.every((L)=>typeof L==="boolean"))A.type="string";if(D.every((L)=>L===null))A.type="null";A.enum=D}break}case"file":{let A=F,D={type:"string",format:"binary",contentEncoding:"binary"},{minimum:L,maximum:O,mime:U}=Q._zod.bag;if(L!==void 0)D.minLength=L;if(O!==void 0)D.maxLength=O;if(U)if(U.length===1)D.contentMediaType=U[0],Object.assign(A,D);else A.anyOf=U.map((N)=>{return{...D,contentMediaType:N}});else Object.assign(A,D);break}case"transform":{if(this.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema");break}case"nullable":{let A=this.process(W.innerType,K);F.anyOf=[A,{type:"null"}];break}case"nonoptional":{this.process(W.innerType,K),G.ref=W.innerType;break}case"success":{let A=F;A.type="boolean";break}case"default":{this.process(W.innerType,K),G.ref=W.innerType,F.default=JSON.parse(JSON.stringify(W.defaultValue));break}case"prefault":{if(this.process(W.innerType,K),G.ref=W.innerType,this.io==="input")F._prefault=JSON.parse(JSON.stringify(W.defaultValue));break}case"catch":{this.process(W.innerType,K),G.ref=W.innerType;let A;try{A=W.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}F.default=A;break}case"nan":{if(this.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema");break}case"template_literal":{let A=F,D=Q._zod.pattern;if(!D)throw Error("Pattern not found in template literal");A.type="string",A.pattern=D.source;break}case"pipe":{let A=this.io==="input"?W.in._zod.def.type==="transform"?W.out:W.in:W.out;this.process(A,K),G.ref=A;break}case"readonly":{this.process(W.innerType,K),G.ref=W.innerType,F.readOnly=!0;break}case"promise":{this.process(W.innerType,K),G.ref=W.innerType;break}case"optional":{this.process(W.innerType,K),G.ref=W.innerType;break}case"lazy":{let A=Q._zod.innerType;this.process(A,K),G.ref=A;break}case"custom":{if(this.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema");break}default:}}}let B=this.metadataRegistry.get(Q);if(B)Object.assign(G.schema,B);if(this.io==="input"&&T0(Q))delete G.schema.examples,delete G.schema.default;if(this.io==="input"&&G.schema._prefault)(X=G.schema).default??(X.default=G.schema._prefault);return delete G.schema._prefault,this.seen.get(Q).schema}emit(Q,Y){let X={cycles:Y?.cycles??"ref",reused:Y?.reused??"inline",external:Y?.external??void 0},W=this.seen.get(Q);if(!W)throw Error("Unprocessed schema. This is a bug in Zod.");let $=(z)=>{let K=this.target==="draft-2020-12"?"$defs":"definitions";if(X.external){let D=X.external.registry.get(z[0])?.id,L=X.external.uri??((U)=>U);if(D)return{ref:L(D)};let O=z[1].defId??z[1].schema.id??`schema${this.counter++}`;return z[1].defId=O,{defId:O,ref:`${L("__shared")}#/${K}/${O}`}}if(z[1]===W)return{ref:"#"};let F=`${"#"}/${K}/`,A=z[1].schema.id??`__schema${this.counter++}`;return{defId:A,ref:F+A}},J=(z)=>{if(z[1].schema.$ref)return;let K=z[1],{ref:V,defId:F}=$(z);if(K.def={...K.schema},F)K.defId=F;let A=K.schema;for(let D in A)delete A[D];A.$ref=V};if(X.cycles==="throw")for(let z of this.seen.entries()){let K=z[1];if(K.cycle)throw Error(`Cycle detected: #/${K.cycle?.join("/")}/<root>
42
42
 
43
- Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let z of this.seen.entries()){let K=z[1];if(Q===z[0]){J(z);continue}if(Y.external){let A=Y.external.registry.get(z[0])?.id;if(Q!==z[0]&&A){J(z);continue}}if(this.metadataRegistry.get(z[0])?.id){J(z);continue}if(K.cycle){J(z);continue}if(K.count>1){if(Y.reused==="ref"){J(z);continue}}}let G=(z,K)=>{let V=this.seen.get(z),A=V.def??V.schema,F={...A};if(V.ref===null)return;let L=V.ref;if(V.ref=null,L){G(L,K);let D=this.seen.get(L).schema;if(D.$ref&&K.target==="draft-7")A.allOf=A.allOf??[],A.allOf.push(D);else Object.assign(A,D),Object.assign(A,F)}if(!V.isParent)this.override({zodSchema:z,jsonSchema:A,path:V.path??[]})};for(let z of[...this.seen.entries()].reverse())G(z[0],{target:this.target});let H={};if(this.target==="draft-2020-12")H.$schema="https://json-schema.org/draft/2020-12/schema";else if(this.target==="draft-7")H.$schema="http://json-schema.org/draft-07/schema#";else console.warn(`Invalid target: ${this.target}`);if(Y.external?.uri){let z=Y.external.registry.get(Q)?.id;if(!z)throw Error("Schema is missing an `id` property");H.$id=Y.external.uri(z)}Object.assign(H,W.def);let B=Y.external?.defs??{};for(let z of this.seen.entries()){let K=z[1];if(K.def&&K.defId)B[K.defId]=K.def}if(Y.external);else if(Object.keys(B).length>0)if(this.target==="draft-2020-12")H.$defs=B;else H.definitions=B;try{return JSON.parse(JSON.stringify(H))}catch(z){throw Error("Error converting schema to JSON.")}}}function RQ(Q,X){if(Q instanceof wQ){let W=new aW(X),$={};for(let H of Q._idmap.entries()){let[B,z]=H;W.process(z)}let J={},G={registry:Q,uri:X?.uri,defs:$};for(let H of Q._idmap.entries()){let[B,z]=H;J[B]=W.emit(z,{...X,external:G})}if(Object.keys($).length>0){let H=W.target==="draft-2020-12"?"$defs":"definitions";J.__shared={[H]:$}}return{schemas:J}}let Y=new aW(X);return Y.process(Q),Y.emit(Q,X)}function T0(Q,X){let Y=X??{seen:new Set};if(Y.seen.has(Q))return!1;Y.seen.add(Q);let $=Q._zod.def;switch($.type){case"string":case"number":case"bigint":case"boolean":case"date":case"symbol":case"undefined":case"null":case"any":case"unknown":case"never":case"void":case"literal":case"enum":case"nan":case"file":case"template_literal":return!1;case"array":return T0($.element,Y);case"object":{for(let J in $.shape)if(T0($.shape[J],Y))return!0;return!1}case"union":{for(let J of $.options)if(T0(J,Y))return!0;return!1}case"intersection":return T0($.left,Y)||T0($.right,Y);case"tuple":{for(let J of $.items)if(T0(J,Y))return!0;if($.rest&&T0($.rest,Y))return!0;return!1}case"record":return T0($.keyType,Y)||T0($.valueType,Y);case"map":return T0($.keyType,Y)||T0($.valueType,Y);case"set":return T0($.valueType,Y);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return T0($.innerType,Y);case"lazy":return T0($.getter(),Y);case"default":return T0($.innerType,Y);case"prefault":return T0($.innerType,Y);case"custom":return!1;case"transform":return!0;case"pipe":return T0($.in,Y)||T0($.out,Y);case"success":return!1;case"catch":return!1;default:}throw Error(`Unknown schema type: ${$.type}`)}var $w=q("ZodMiniType",(Q,X)=>{if(!Q._zod)throw Error("Uninitialized schema in ZodMiniType.");G0.init(Q,X),Q.def=X,Q.parse=(Y,W)=>z7(Q,Y,W,{callee:Q.parse}),Q.safeParse=(Y,W)=>t6(Q,Y,W),Q.parseAsync=async(Y,W)=>V7(Q,Y,W,{callee:Q.parseAsync}),Q.safeParseAsync=async(Y,W)=>a6(Q,Y,W),Q.check=(...Y)=>{return Q.clone({...X,checks:[...X.checks??[],...Y.map((W)=>typeof W==="function"?{_zod:{check:W,def:{check:"custom"},onattach:[]}}:W)]})},Q.clone=(Y,W)=>s0(Q,Y,W),Q.brand=()=>Q,Q.register=(Y,W)=>{return Y.add(Q,W),Q}});var Jw=q("ZodMiniObject",(Q,X)=>{NQ.init(Q,X),$w.init(Q,X),a.defineLazy(Q,"shape",()=>X.shape)});function sW(Q,X){let Y={type:"object",get shape(){return a.assignProp(this,"shape",{...Q}),this.shape},...a.normalizeParams(X)};return new Jw(Y)}function e0(Q){return!!Q._zod}function e6(Q){let X=Object.values(Q);if(X.length===0)return sW({});let Y=X.every(e0),W=X.every(($)=>!e0($));if(Y)return sW(Q);if(W)return sY(Q);throw Error("Mixed Zod versions detected in object shape.")}function c0(Q,X){if(e0(Q))return t6(Q,X);return Q.safeParse(X)}async function EQ(Q,X){if(e0(Q))return await a6(Q,X);return await Q.safeParseAsync(X)}function c1(Q){if(!Q)return;let X;if(e0(Q))X=Q._zod?.def?.shape;else X=Q.shape;if(!X)return;if(typeof X==="function")try{return X()}catch{return}return X}function m9(Q){if(!Q)return;if(typeof Q==="object"){let X=Q,Y=Q;if(!X._def&&!Y._zod){let W=Object.values(Q);if(W.length>0&&W.every(($)=>typeof $==="object"&&$!==null&&($._def!==void 0||$._zod!==void 0||typeof $.parse==="function")))return e6(Q)}}if(e0(Q)){let Y=Q._zod?.def;if(Y&&(Y.type==="object"||Y.shape!==void 0))return Q}else if(Q.shape!==void 0)return Q;return}function SQ(Q){if(Q&&typeof Q==="object"){if("message"in Q&&typeof Q.message==="string")return Q.message;if("issues"in Q&&Array.isArray(Q.issues)&&Q.issues.length>0){let X=Q.issues[0];if(X&&typeof X==="object"&&"message"in X)return String(X.message)}try{return JSON.stringify(Q)}catch{return String(Q)}}return String(Q)}function H3(Q){return Q.description}function B3(Q){if(e0(Q))return Q._zod?.def?.type==="optional";let X=Q;if(typeof Q.isOptional==="function")return Q.isOptional();return X._def?.typeName==="ZodOptional"}function IQ(Q){if(e0(Q)){let J=Q._zod?.def;if(J){if(J.value!==void 0)return J.value;if(Array.isArray(J.values)&&J.values.length>0)return J.values[0]}}let Y=Q._def;if(Y){if(Y.value!==void 0)return Y.value;if(Array.isArray(Y.values)&&Y.values.length>0)return Y.values[0]}let W=Q.value;if(W!==void 0)return W;return}var i8={};$Q(i8,{time:()=>X5,duration:()=>Y5,datetime:()=>eW,date:()=>Q5,ZodISOTime:()=>V3,ZodISODuration:()=>A3,ZodISODateTime:()=>z3,ZodISODate:()=>K3});var z3=q("ZodISODateTime",(Q,X)=>{cH.init(Q,X),j0.init(Q,X)});function eW(Q){return aH(z3,Q)}var K3=q("ZodISODate",(Q,X)=>{pH.init(Q,X),j0.init(Q,X)});function Q5(Q){return sH(K3,Q)}var V3=q("ZodISOTime",(Q,X)=>{dH.init(Q,X),j0.init(Q,X)});function X5(Q){return eH(V3,Q)}var A3=q("ZodISODuration",(Q,X)=>{iH.init(Q,X),j0.init(Q,X)});function Y5(Q){return Q3(A3,Q)}var D3=(Q,X)=>{DQ.init(Q,X),Q.name="ZodError",Object.defineProperties(Q,{format:{value:(Y)=>OQ(Q,Y)},flatten:{value:(Y)=>LQ(Q,Y)},addIssue:{value:(Y)=>Q.issues.push(Y)},addIssues:{value:(Y)=>Q.issues.push(...Y)},isEmpty:{get(){return Q.issues.length===0}}})},_l=q("ZodError",D3),n8=q("ZodError",D3,{Parent:Error});var L3=B7(n8),O3=K7(n8),U3=A7(n8),j3=F7(n8);var D0=q("ZodType",(Q,X)=>{return G0.init(Q,X),Q.def=X,Object.defineProperty(Q,"_def",{value:X}),Q.check=(...Y)=>{return Q.clone({...X,checks:[...X.checks??[],...Y.map((W)=>typeof W==="function"?{_zod:{check:W,def:{check:"custom"},onattach:[]}}:W)]})},Q.clone=(Y,W)=>s0(Q,Y,W),Q.brand=()=>Q,Q.register=(Y,W)=>{return Y.add(Q,W),Q},Q.parse=(Y,W)=>L3(Q,Y,W,{callee:Q.parse}),Q.safeParse=(Y,W)=>U3(Q,Y,W),Q.parseAsync=async(Y,W)=>O3(Q,Y,W,{callee:Q.parseAsync}),Q.safeParseAsync=async(Y,W)=>j3(Q,Y,W),Q.spa=Q.safeParseAsync,Q.refine=(Y,W)=>Q.check(WM(Y,W)),Q.superRefine=(Y)=>Q.check($M(Y)),Q.overwrite=(Y)=>Q.check(s6(Y)),Q.optional=()=>b0(Q),Q.nullable=()=>w3(Q),Q.nullish=()=>b0(w3(Q)),Q.nonoptional=(Y)=>tw(Q,Y),Q.array=()=>E(Q),Q.or=(Y)=>L0([Q,Y]),Q.and=(Y)=>kQ(Q,Y),Q.transform=(Y)=>$5(Q,T3(Y)),Q.default=(Y)=>nw(Q,Y),Q.prefault=(Y)=>rw(Q,Y),Q.catch=(Y)=>sw(Q,Y),Q.pipe=(Y)=>$5(Q,Y),Q.readonly=()=>XM(Q),Q.describe=(Y)=>{let W=Q.clone();return e1.add(W,{description:Y}),W},Object.defineProperty(Q,"description",{get(){return e1.get(Q)?.description},configurable:!0}),Q.meta=(...Y)=>{if(Y.length===0)return e1.get(Q);let W=Q.clone();return e1.add(W,Y[0]),W},Q.isOptional=()=>Q.safeParse(void 0).success,Q.isNullable=()=>Q.safeParse(null).success,Q}),M3=q("_ZodString",(Q,X)=>{p8.init(Q,X),D0.init(Q,X);let Y=Q._zod.bag;Q.format=Y.format??null,Q.minLength=Y.minimum??null,Q.maxLength=Y.maximum??null,Q.regex=(...W)=>Q.check(hW(...W)),Q.includes=(...W)=>Q.check(mW(...W)),Q.startsWith=(...W)=>Q.check(cW(...W)),Q.endsWith=(...W)=>Q.check(pW(...W)),Q.min=(...W)=>Q.check(l9(...W)),Q.max=(...W)=>Q.check(PQ(...W)),Q.length=(...W)=>Q.check(ZQ(...W)),Q.nonempty=(...W)=>Q.check(l9(1,...W)),Q.lowercase=(W)=>Q.check(uW(W)),Q.uppercase=(W)=>Q.check(lW(W)),Q.trim=()=>Q.check(iW()),Q.normalize=(...W)=>Q.check(dW(...W)),Q.toLowerCase=()=>Q.check(nW()),Q.toUpperCase=()=>Q.check(oW())}),J5=q("ZodString",(Q,X)=>{p8.init(Q,X),M3.init(Q,X),Q.email=(Y)=>Q.check(AW(Uw,Y)),Q.url=(Y)=>Q.check(bQ(b3,Y)),Q.jwt=(Y)=>Q.check(CW(kw,Y)),Q.emoji=(Y)=>Q.check(UW(jw,Y)),Q.guid=(Y)=>Q.check(MQ(N3,Y)),Q.uuid=(Y)=>Q.check(FW(TQ,Y)),Q.uuidv4=(Y)=>Q.check(DW(TQ,Y)),Q.uuidv6=(Y)=>Q.check(LW(TQ,Y)),Q.uuidv7=(Y)=>Q.check(OW(TQ,Y)),Q.nanoid=(Y)=>Q.check(jW(Nw,Y)),Q.guid=(Y)=>Q.check(MQ(N3,Y)),Q.cuid=(Y)=>Q.check(NW(qw,Y)),Q.cuid2=(Y)=>Q.check(qW(ww,Y)),Q.ulid=(Y)=>Q.check(wW(Mw,Y)),Q.base64=(Y)=>Q.check(SW(Iw,Y)),Q.base64url=(Y)=>Q.check(IW(Tw,Y)),Q.xid=(Y)=>Q.check(MW(bw,Y)),Q.ksuid=(Y)=>Q.check(bW(Pw,Y)),Q.ipv4=(Y)=>Q.check(PW(Zw,Y)),Q.ipv6=(Y)=>Q.check(ZW(Rw,Y)),Q.cidrv4=(Y)=>Q.check(RW(Ew,Y)),Q.cidrv6=(Y)=>Q.check(EW(Sw,Y)),Q.e164=(Y)=>Q.check(TW(Cw,Y)),Q.datetime=(Y)=>Q.check(eW(Y)),Q.date=(Y)=>Q.check(Q5(Y)),Q.time=(Y)=>Q.check(X5(Y)),Q.duration=(Y)=>Q.check(Y5(Y))});function j(Q){return VW(J5,Q)}var j0=q("ZodStringFormat",(Q,X)=>{F0.init(Q,X),M3.init(Q,X)}),Uw=q("ZodEmail",(Q,X)=>{M7.init(Q,X),j0.init(Q,X)});var N3=q("ZodGUID",(Q,X)=>{q7.init(Q,X),j0.init(Q,X)});var TQ=q("ZodUUID",(Q,X)=>{w7.init(Q,X),j0.init(Q,X)});var b3=q("ZodURL",(Q,X)=>{b7.init(Q,X),j0.init(Q,X)});function P3(Q){return bQ(b3,Q)}var jw=q("ZodEmoji",(Q,X)=>{P7.init(Q,X),j0.init(Q,X)});var Nw=q("ZodNanoID",(Q,X)=>{Z7.init(Q,X),j0.init(Q,X)});var qw=q("ZodCUID",(Q,X)=>{R7.init(Q,X),j0.init(Q,X)});var ww=q("ZodCUID2",(Q,X)=>{E7.init(Q,X),j0.init(Q,X)});var Mw=q("ZodULID",(Q,X)=>{S7.init(Q,X),j0.init(Q,X)});var bw=q("ZodXID",(Q,X)=>{I7.init(Q,X),j0.init(Q,X)});var Pw=q("ZodKSUID",(Q,X)=>{T7.init(Q,X),j0.init(Q,X)});var Zw=q("ZodIPv4",(Q,X)=>{C7.init(Q,X),j0.init(Q,X)});var Rw=q("ZodIPv6",(Q,X)=>{k7.init(Q,X),j0.init(Q,X)});var Ew=q("ZodCIDRv4",(Q,X)=>{v7.init(Q,X),j0.init(Q,X)});var Sw=q("ZodCIDRv6",(Q,X)=>{_7.init(Q,X),j0.init(Q,X)});var Iw=q("ZodBase64",(Q,X)=>{x7.init(Q,X),j0.init(Q,X)});var Tw=q("ZodBase64URL",(Q,X)=>{y7.init(Q,X),j0.init(Q,X)});var Cw=q("ZodE164",(Q,X)=>{f7.init(Q,X),j0.init(Q,X)});var kw=q("ZodJWT",(Q,X)=>{g7.init(Q,X),j0.init(Q,X)});var CQ=q("ZodNumber",(Q,X)=>{jQ.init(Q,X),D0.init(Q,X),Q.gt=(W,$)=>Q.check(u9(W,$)),Q.gte=(W,$)=>Q.check(b1(W,$)),Q.min=(W,$)=>Q.check(b1(W,$)),Q.lt=(W,$)=>Q.check(h9(W,$)),Q.lte=(W,$)=>Q.check(Q6(W,$)),Q.max=(W,$)=>Q.check(Q6(W,$)),Q.int=(W)=>Q.check(q3(W)),Q.safe=(W)=>Q.check(q3(W)),Q.positive=(W)=>Q.check(u9(0,W)),Q.nonnegative=(W)=>Q.check(b1(0,W)),Q.negative=(W)=>Q.check(h9(0,W)),Q.nonpositive=(W)=>Q.check(Q6(0,W)),Q.multipleOf=(W,$)=>Q.check(d8(W,$)),Q.step=(W,$)=>Q.check(d8(W,$)),Q.finite=()=>Q;let Y=Q._zod.bag;Q.minValue=Math.max(Y.minimum??Number.NEGATIVE_INFINITY,Y.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,Q.maxValue=Math.min(Y.maximum??Number.POSITIVE_INFINITY,Y.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,Q.isInt=(Y.format??"").includes("int")||Number.isSafeInteger(Y.multipleOf??0.5),Q.isFinite=!0,Q.format=Y.format??null});function J0(Q){return kW(CQ,Q)}var vw=q("ZodNumberFormat",(Q,X)=>{h7.init(Q,X),CQ.init(Q,X)});function q3(Q){return vW(vw,Q)}var G5=q("ZodBoolean",(Q,X)=>{u7.init(Q,X),D0.init(Q,X)});function B0(Q){return _W(G5,Q)}var Z3=q("ZodBigInt",(Q,X)=>{l7.init(Q,X),D0.init(Q,X),Q.gte=(W,$)=>Q.check(b1(W,$)),Q.min=(W,$)=>Q.check(b1(W,$)),Q.gt=(W,$)=>Q.check(u9(W,$)),Q.gte=(W,$)=>Q.check(b1(W,$)),Q.min=(W,$)=>Q.check(b1(W,$)),Q.lt=(W,$)=>Q.check(h9(W,$)),Q.lte=(W,$)=>Q.check(Q6(W,$)),Q.max=(W,$)=>Q.check(Q6(W,$)),Q.positive=(W)=>Q.check(u9(BigInt(0),W)),Q.negative=(W)=>Q.check(h9(BigInt(0),W)),Q.nonpositive=(W)=>Q.check(Q6(BigInt(0),W)),Q.nonnegative=(W)=>Q.check(b1(BigInt(0),W)),Q.multipleOf=(W,$)=>Q.check(d8(W,$));let Y=Q._zod.bag;Q.minValue=Y.minimum??null,Q.maxValue=Y.maximum??null,Q.format=Y.format??null});var _w=q("ZodNull",(Q,X)=>{m7.init(Q,X),D0.init(Q,X)});function H5(Q){return xW(_w,Q)}var xw=q("ZodAny",(Q,X)=>{c7.init(Q,X),D0.init(Q,X)});function R3(){return yW(xw)}var yw=q("ZodUnknown",(Q,X)=>{p7.init(Q,X),D0.init(Q,X)});function N0(){return fW(yw)}var fw=q("ZodNever",(Q,X)=>{d7.init(Q,X),D0.init(Q,X)});function gw(Q){return gW(fw,Q)}var E3=q("ZodDate",(Q,X)=>{i7.init(Q,X),D0.init(Q,X),Q.min=(W,$)=>Q.check(b1(W,$)),Q.max=(W,$)=>Q.check(Q6(W,$));let Y=Q._zod.bag;Q.minDate=Y.minimum?new Date(Y.minimum):null,Q.maxDate=Y.maximum?new Date(Y.maximum):null});var hw=q("ZodArray",(Q,X)=>{n7.init(Q,X),D0.init(Q,X),Q.element=X.element,Q.min=(Y,W)=>Q.check(l9(Y,W)),Q.nonempty=(Y)=>Q.check(l9(1,Y)),Q.max=(Y,W)=>Q.check(PQ(Y,W)),Q.length=(Y,W)=>Q.check(ZQ(Y,W)),Q.unwrap=()=>Q.element});function E(Q,X){return J3(hw,Q,X)}var S3=q("ZodObject",(Q,X)=>{NQ.init(Q,X),D0.init(Q,X),a.defineLazy(Q,"shape",()=>X.shape),Q.keyof=()=>Q1(Object.keys(Q._zod.def.shape)),Q.catchall=(Y)=>Q.clone({...Q._zod.def,catchall:Y}),Q.passthrough=()=>Q.clone({...Q._zod.def,catchall:N0()}),Q.loose=()=>Q.clone({...Q._zod.def,catchall:N0()}),Q.strict=()=>Q.clone({...Q._zod.def,catchall:gw()}),Q.strip=()=>Q.clone({...Q._zod.def,catchall:void 0}),Q.extend=(Y)=>{return a.extend(Q,Y)},Q.merge=(Y)=>a.merge(Q,Y),Q.pick=(Y)=>a.pick(Q,Y),Q.omit=(Y)=>a.omit(Q,Y),Q.partial=(...Y)=>a.partial(C3,Q,Y[0]),Q.required=(...Y)=>a.required(k3,Q,Y[0])});function T(Q,X){let Y={type:"object",get shape(){return a.assignProp(this,"shape",{...Q}),this.shape},...a.normalizeParams(X)};return new S3(Y)}function C0(Q,X){return new S3({type:"object",get shape(){return a.assignProp(this,"shape",{...Q}),this.shape},catchall:N0(),...a.normalizeParams(X)})}var I3=q("ZodUnion",(Q,X)=>{qQ.init(Q,X),D0.init(Q,X),Q.options=X.options});function L0(Q,X){return new I3({type:"union",options:Q,...a.normalizeParams(X)})}var uw=q("ZodDiscriminatedUnion",(Q,X)=>{I3.init(Q,X),o7.init(Q,X)});function B5(Q,X,Y){return new uw({type:"union",options:X,discriminator:Q,...a.normalizeParams(Y)})}var lw=q("ZodIntersection",(Q,X)=>{r7.init(Q,X),D0.init(Q,X)});function kQ(Q,X){return new lw({type:"intersection",left:Q,right:X})}var mw=q("ZodRecord",(Q,X)=>{t7.init(Q,X),D0.init(Q,X),Q.keyType=X.keyType,Q.valueType=X.valueType});function q0(Q,X,Y){return new mw({type:"record",keyType:Q,valueType:X,...a.normalizeParams(Y)})}var W5=q("ZodEnum",(Q,X)=>{a7.init(Q,X),D0.init(Q,X),Q.enum=X.entries,Q.options=Object.values(X.entries);let Y=new Set(Object.keys(X.entries));Q.extract=(W,$)=>{let J={};for(let G of W)if(Y.has(G))J[G]=X.entries[G];else throw Error(`Key ${G} not found in enum`);return new W5({...X,checks:[],...a.normalizeParams($),entries:J})},Q.exclude=(W,$)=>{let J={...X.entries};for(let G of W)if(Y.has(G))delete J[G];else throw Error(`Key ${G} not found in enum`);return new W5({...X,checks:[],...a.normalizeParams($),entries:J})}});function Q1(Q,X){let Y=Array.isArray(Q)?Object.fromEntries(Q.map((W)=>[W,W])):Q;return new W5({type:"enum",entries:Y,...a.normalizeParams(X)})}var cw=q("ZodLiteral",(Q,X)=>{s7.init(Q,X),D0.init(Q,X),Q.values=new Set(X.values),Object.defineProperty(Q,"value",{get(){if(X.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return X.values[0]}})});function x(Q,X){return new cw({type:"literal",values:Array.isArray(Q)?Q:[Q],...a.normalizeParams(X)})}var pw=q("ZodTransform",(Q,X)=>{e7.init(Q,X),D0.init(Q,X),Q._zod.parse=(Y,W)=>{Y.addIssue=(J)=>{if(typeof J==="string")Y.issues.push(a.issue(J,Y.value,X));else{let G=J;if(G.fatal)G.continue=!1;G.code??(G.code="custom"),G.input??(G.input=Y.value),G.inst??(G.inst=Q),G.continue??(G.continue=!0),Y.issues.push(a.issue(G))}};let $=X.transform(Y.value,Y);if($ instanceof Promise)return $.then((J)=>{return Y.value=J,Y});return Y.value=$,Y}});function T3(Q){return new pw({type:"transform",transform:Q})}var C3=q("ZodOptional",(Q,X)=>{QW.init(Q,X),D0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType});function b0(Q){return new C3({type:"optional",innerType:Q})}var dw=q("ZodNullable",(Q,X)=>{XW.init(Q,X),D0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType});function w3(Q){return new dw({type:"nullable",innerType:Q})}var iw=q("ZodDefault",(Q,X)=>{YW.init(Q,X),D0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType,Q.removeDefault=Q.unwrap});function nw(Q,X){return new iw({type:"default",innerType:Q,get defaultValue(){return typeof X==="function"?X():X}})}var ow=q("ZodPrefault",(Q,X)=>{WW.init(Q,X),D0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType});function rw(Q,X){return new ow({type:"prefault",innerType:Q,get defaultValue(){return typeof X==="function"?X():X}})}var k3=q("ZodNonOptional",(Q,X)=>{$W.init(Q,X),D0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType});function tw(Q,X){return new k3({type:"nonoptional",innerType:Q,...a.normalizeParams(X)})}var aw=q("ZodCatch",(Q,X)=>{JW.init(Q,X),D0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType,Q.removeCatch=Q.unwrap});function sw(Q,X){return new aw({type:"catch",innerType:Q,catchValue:typeof X==="function"?X:()=>X})}var ew=q("ZodPipe",(Q,X)=>{GW.init(Q,X),D0.init(Q,X),Q.in=X.in,Q.out=X.out});function $5(Q,X){return new ew({type:"pipe",in:Q,out:X})}var QM=q("ZodReadonly",(Q,X)=>{HW.init(Q,X),D0.init(Q,X)});function XM(Q){return new QM({type:"readonly",innerType:Q})}var v3=q("ZodCustom",(Q,X)=>{BW.init(Q,X),D0.init(Q,X)});function YM(Q){let X=new v0({check:"custom"});return X._zod.check=Q,X}function _3(Q,X){return rW(v3,Q??(()=>!0),X)}function WM(Q,X={}){return tW(v3,Q,X)}function $M(Q){let X=YM((Y)=>{return Y.addIssue=(W)=>{if(typeof W==="string")Y.issues.push(a.issue(W,Y.value,X._zod.def));else{let $=W;if($.fatal)$.continue=!1;$.code??($.code="custom"),$.input??($.input=Y.value),$.inst??($.inst=X),$.continue??($.continue=!X._zod.def.abort),Y.issues.push(a.issue($))}},Q(Y.value,Y)});return X}function z5(Q,X){return $5(T3(Q),X)}var x3={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};var vQ={};$Q(vQ,{string:()=>JM,number:()=>GM,date:()=>zM,boolean:()=>HM,bigint:()=>BM});function JM(Q){return tH(J5,Q)}function GM(Q){return X3(CQ,Q)}function HM(Q){return Y3(G5,Q)}function BM(Q){return W3(Z3,Q)}function zM(Q){return $3(E3,Q)}a0(zW());var w6="2025-11-25",y3="2025-03-26",Q9=[w6,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],M6="io.modelcontextprotocol/related-task",xQ="2.0",_0=_3((Q)=>Q!==null&&(typeof Q==="object"||typeof Q==="function")),f3=L0([j(),J0().int()]),g3=j(),ol=C0({ttl:L0([J0(),H5()]).optional(),pollInterval:J0().optional()}),VM=T({ttl:J0().optional()}),AM=T({taskId:j()}),K5=C0({progressToken:f3.optional(),[M6]:AM.optional()}),K1=T({_meta:K5.optional()}),o8=K1.extend({task:VM.optional()}),h3=(Q)=>o8.safeParse(Q).success,x0=T({method:j(),params:K1.loose().optional()}),V1=T({_meta:K5.optional()}),A1=T({method:j(),params:V1.loose().optional()}),y0=C0({_meta:K5.optional()}),yQ=L0([j(),J0().int()]),u3=T({jsonrpc:x(xQ),id:yQ,...x0.shape}).strict(),p1=(Q)=>u3.safeParse(Q).success,l3=T({jsonrpc:x(xQ),...A1.shape}).strict(),m3=(Q)=>l3.safeParse(Q).success,V5=T({jsonrpc:x(xQ),id:yQ,result:y0}).strict(),P1=(Q)=>V5.safeParse(Q).success;var k;(function(Q){Q[Q.ConnectionClosed=-32000]="ConnectionClosed",Q[Q.RequestTimeout=-32001]="RequestTimeout",Q[Q.ParseError=-32700]="ParseError",Q[Q.InvalidRequest=-32600]="InvalidRequest",Q[Q.MethodNotFound=-32601]="MethodNotFound",Q[Q.InvalidParams=-32602]="InvalidParams",Q[Q.InternalError=-32603]="InternalError",Q[Q.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(k||(k={}));var A5=T({jsonrpc:x(xQ),id:yQ.optional(),error:T({code:J0().int(),message:j(),data:N0().optional()})}).strict();var p9=(Q)=>A5.safeParse(Q).success;var X6=L0([u3,l3,V5,A5]),rl=L0([V5,A5]),Y6=y0.strict(),FM=V1.extend({requestId:yQ.optional(),reason:j().optional()}),fQ=A1.extend({method:x("notifications/cancelled"),params:FM}),DM=T({src:j(),mimeType:j().optional(),sizes:E(j()).optional(),theme:Q1(["light","dark"]).optional()}),r8=T({icons:E(DM).optional()}),c9=T({name:j(),title:j().optional()}),c3=c9.extend({...c9.shape,...r8.shape,version:j(),websiteUrl:j().optional(),description:j().optional()}),LM=kQ(T({applyDefaults:B0().optional()}),q0(j(),N0())),OM=z5((Q)=>{if(Q&&typeof Q==="object"&&!Array.isArray(Q)){if(Object.keys(Q).length===0)return{form:{}}}return Q},kQ(T({form:LM.optional(),url:_0.optional()}),q0(j(),N0()).optional())),UM=C0({list:_0.optional(),cancel:_0.optional(),requests:C0({sampling:C0({createMessage:_0.optional()}).optional(),elicitation:C0({create:_0.optional()}).optional()}).optional()}),jM=C0({list:_0.optional(),cancel:_0.optional(),requests:C0({tools:C0({call:_0.optional()}).optional()}).optional()}),NM=T({experimental:q0(j(),_0).optional(),sampling:T({context:_0.optional(),tools:_0.optional()}).optional(),elicitation:OM.optional(),roots:T({listChanged:B0().optional()}).optional(),tasks:UM.optional()}),qM=K1.extend({protocolVersion:j(),capabilities:NM,clientInfo:c3}),gQ=x0.extend({method:x("initialize"),params:qM}),F5=(Q)=>gQ.safeParse(Q).success,wM=T({experimental:q0(j(),_0).optional(),logging:_0.optional(),completions:_0.optional(),prompts:T({listChanged:B0().optional()}).optional(),resources:T({subscribe:B0().optional(),listChanged:B0().optional()}).optional(),tools:T({listChanged:B0().optional()}).optional(),tasks:jM.optional()}),D5=y0.extend({protocolVersion:j(),capabilities:wM,serverInfo:c3,instructions:j().optional()}),hQ=A1.extend({method:x("notifications/initialized"),params:V1.optional()}),p3=(Q)=>hQ.safeParse(Q).success,uQ=x0.extend({method:x("ping"),params:K1.optional()}),MM=T({progress:J0(),total:b0(J0()),message:b0(j())}),bM=T({...V1.shape,...MM.shape,progressToken:f3}),lQ=A1.extend({method:x("notifications/progress"),params:bM}),PM=K1.extend({cursor:g3.optional()}),t8=x0.extend({params:PM.optional()}),a8=y0.extend({nextCursor:g3.optional()}),ZM=Q1(["working","input_required","completed","failed","cancelled"]),s8=T({taskId:j(),status:ZM,ttl:L0([J0(),H5()]),createdAt:j(),lastUpdatedAt:j(),pollInterval:b0(J0()),statusMessage:b0(j())}),W6=y0.extend({task:s8}),RM=V1.merge(s8),e8=A1.extend({method:x("notifications/tasks/status"),params:RM}),mQ=x0.extend({method:x("tasks/get"),params:K1.extend({taskId:j()})}),cQ=y0.merge(s8),pQ=x0.extend({method:x("tasks/result"),params:K1.extend({taskId:j()})}),tl=y0.loose(),dQ=t8.extend({method:x("tasks/list")}),iQ=a8.extend({tasks:E(s8)}),nQ=x0.extend({method:x("tasks/cancel"),params:K1.extend({taskId:j()})}),d3=y0.merge(s8),i3=T({uri:j(),mimeType:b0(j()),_meta:q0(j(),N0()).optional()}),n3=i3.extend({text:j()}),L5=j().refine((Q)=>{try{return atob(Q),!0}catch{return!1}},{message:"Invalid Base64 string"}),o3=i3.extend({blob:L5}),Q4=Q1(["user","assistant"]),d9=T({audience:E(Q4).optional(),priority:J0().min(0).max(1).optional(),lastModified:i8.datetime({offset:!0}).optional()}),r3=T({...c9.shape,...r8.shape,uri:j(),description:b0(j()),mimeType:b0(j()),annotations:d9.optional(),_meta:b0(C0({}))}),EM=T({...c9.shape,...r8.shape,uriTemplate:j(),description:b0(j()),mimeType:b0(j()),annotations:d9.optional(),_meta:b0(C0({}))}),oQ=t8.extend({method:x("resources/list")}),O5=a8.extend({resources:E(r3)}),rQ=t8.extend({method:x("resources/templates/list")}),U5=a8.extend({resourceTemplates:E(EM)}),j5=K1.extend({uri:j()}),SM=j5,tQ=x0.extend({method:x("resources/read"),params:SM}),N5=y0.extend({contents:E(L0([n3,o3]))}),X9=A1.extend({method:x("notifications/resources/list_changed"),params:V1.optional()}),IM=j5,TM=x0.extend({method:x("resources/subscribe"),params:IM}),CM=j5,kM=x0.extend({method:x("resources/unsubscribe"),params:CM}),vM=V1.extend({uri:j()}),X4=A1.extend({method:x("notifications/resources/updated"),params:vM}),_M=T({name:j(),description:b0(j()),required:b0(B0())}),xM=T({...c9.shape,...r8.shape,description:b0(j()),arguments:b0(E(_M)),_meta:b0(C0({}))}),aQ=t8.extend({method:x("prompts/list")}),q5=a8.extend({prompts:E(xM)}),yM=K1.extend({name:j(),arguments:q0(j(),j()).optional()}),sQ=x0.extend({method:x("prompts/get"),params:yM}),w5=T({type:x("text"),text:j(),annotations:d9.optional(),_meta:q0(j(),N0()).optional()}),M5=T({type:x("image"),data:L5,mimeType:j(),annotations:d9.optional(),_meta:q0(j(),N0()).optional()}),b5=T({type:x("audio"),data:L5,mimeType:j(),annotations:d9.optional(),_meta:q0(j(),N0()).optional()}),fM=T({type:x("tool_use"),name:j(),id:j(),input:q0(j(),N0()),_meta:q0(j(),N0()).optional()}),gM=T({type:x("resource"),resource:L0([n3,o3]),annotations:d9.optional(),_meta:q0(j(),N0()).optional()}),hM=r3.extend({type:x("resource_link")}),P5=L0([w5,M5,b5,hM,gM]),uM=T({role:Q4,content:P5}),Z5=y0.extend({description:j().optional(),messages:E(uM)}),Y9=A1.extend({method:x("notifications/prompts/list_changed"),params:V1.optional()}),lM=T({title:j().optional(),readOnlyHint:B0().optional(),destructiveHint:B0().optional(),idempotentHint:B0().optional(),openWorldHint:B0().optional()}),mM=T({taskSupport:Q1(["required","optional","forbidden"]).optional()}),t3=T({...c9.shape,...r8.shape,description:j().optional(),inputSchema:T({type:x("object"),properties:q0(j(),_0).optional(),required:E(j()).optional()}).catchall(N0()),outputSchema:T({type:x("object"),properties:q0(j(),_0).optional(),required:E(j()).optional()}).catchall(N0()).optional(),annotations:lM.optional(),execution:mM.optional(),_meta:q0(j(),N0()).optional()}),eQ=t8.extend({method:x("tools/list")}),R5=a8.extend({tools:E(t3)}),b6=y0.extend({content:E(P5).default([]),structuredContent:q0(j(),N0()).optional(),isError:B0().optional()}),al=b6.or(y0.extend({toolResult:N0()})),cM=o8.extend({name:j(),arguments:q0(j(),N0()).optional()}),i9=x0.extend({method:x("tools/call"),params:cM}),W9=A1.extend({method:x("notifications/tools/list_changed"),params:V1.optional()}),a3=T({autoRefresh:B0().default(!0),debounceMs:J0().int().nonnegative().default(300)}),Y4=Q1(["debug","info","notice","warning","error","critical","alert","emergency"]),pM=K1.extend({level:Y4}),E5=x0.extend({method:x("logging/setLevel"),params:pM}),dM=V1.extend({level:Y4,logger:j().optional(),data:N0()}),W4=A1.extend({method:x("notifications/message"),params:dM}),iM=T({name:j().optional()}),nM=T({hints:E(iM).optional(),costPriority:J0().min(0).max(1).optional(),speedPriority:J0().min(0).max(1).optional(),intelligencePriority:J0().min(0).max(1).optional()}),oM=T({mode:Q1(["auto","required","none"]).optional()}),rM=T({type:x("tool_result"),toolUseId:j().describe("The unique identifier for the corresponding tool call."),content:E(P5).default([]),structuredContent:T({}).loose().optional(),isError:B0().optional(),_meta:q0(j(),N0()).optional()}),tM=B5("type",[w5,M5,b5]),_Q=B5("type",[w5,M5,b5,fM,rM]),aM=T({role:Q4,content:L0([_Q,E(_Q)]),_meta:q0(j(),N0()).optional()}),sM=o8.extend({messages:E(aM),modelPreferences:nM.optional(),systemPrompt:j().optional(),includeContext:Q1(["none","thisServer","allServers"]).optional(),temperature:J0().optional(),maxTokens:J0().int(),stopSequences:E(j()).optional(),metadata:_0.optional(),tools:E(t3).optional(),toolChoice:oM.optional()}),$9=x0.extend({method:x("sampling/createMessage"),params:sM}),$4=y0.extend({model:j(),stopReason:b0(Q1(["endTurn","stopSequence","maxTokens"]).or(j())),role:Q4,content:tM}),S5=y0.extend({model:j(),stopReason:b0(Q1(["endTurn","stopSequence","maxTokens","toolUse"]).or(j())),role:Q4,content:L0([_Q,E(_Q)])}),eM=T({type:x("boolean"),title:j().optional(),description:j().optional(),default:B0().optional()}),Qb=T({type:x("string"),title:j().optional(),description:j().optional(),minLength:J0().optional(),maxLength:J0().optional(),format:Q1(["email","uri","date","date-time"]).optional(),default:j().optional()}),Xb=T({type:Q1(["number","integer"]),title:j().optional(),description:j().optional(),minimum:J0().optional(),maximum:J0().optional(),default:J0().optional()}),Yb=T({type:x("string"),title:j().optional(),description:j().optional(),enum:E(j()),default:j().optional()}),Wb=T({type:x("string"),title:j().optional(),description:j().optional(),oneOf:E(T({const:j(),title:j()})),default:j().optional()}),$b=T({type:x("string"),title:j().optional(),description:j().optional(),enum:E(j()),enumNames:E(j()).optional(),default:j().optional()}),Jb=L0([Yb,Wb]),Gb=T({type:x("array"),title:j().optional(),description:j().optional(),minItems:J0().optional(),maxItems:J0().optional(),items:T({type:x("string"),enum:E(j())}),default:E(j()).optional()}),Hb=T({type:x("array"),title:j().optional(),description:j().optional(),minItems:J0().optional(),maxItems:J0().optional(),items:T({anyOf:E(T({const:j(),title:j()}))}),default:E(j()).optional()}),Bb=L0([Gb,Hb]),zb=L0([$b,Jb,Bb]),Kb=L0([zb,eM,Qb,Xb]),Vb=o8.extend({mode:x("form").optional(),message:j(),requestedSchema:T({type:x("object"),properties:q0(j(),Kb),required:E(j()).optional()})}),Ab=o8.extend({mode:x("url"),message:j(),elicitationId:j(),url:j().url()}),Fb=L0([Vb,Ab]),J9=x0.extend({method:x("elicitation/create"),params:Fb}),Db=V1.extend({elicitationId:j()}),Lb=A1.extend({method:x("notifications/elicitation/complete"),params:Db}),n9=y0.extend({action:Q1(["accept","decline","cancel"]),content:z5((Q)=>Q===null?void 0:Q,q0(j(),L0([j(),J0(),B0(),E(j())])).optional())}),Ob=T({type:x("ref/resource"),uri:j()});var Ub=T({type:x("ref/prompt"),name:j()}),jb=K1.extend({ref:L0([Ub,Ob]),argument:T({name:j(),value:j()}),context:T({arguments:q0(j(),j()).optional()}).optional()}),QX=x0.extend({method:x("completion/complete"),params:jb});function s3(Q){if(Q.params.ref.type!=="ref/prompt")throw TypeError(`Expected CompleteRequestPrompt, but got ${Q.params.ref.type}`)}function e3(Q){if(Q.params.ref.type!=="ref/resource")throw TypeError(`Expected CompleteRequestResourceTemplate, but got ${Q.params.ref.type}`)}var I5=y0.extend({completion:C0({values:E(j()).max(100),total:b0(J0().int()),hasMore:b0(B0())})}),Nb=T({uri:j().startsWith("file://"),name:j().optional(),_meta:q0(j(),N0()).optional()}),qb=x0.extend({method:x("roots/list"),params:K1.optional()}),T5=y0.extend({roots:E(Nb)}),wb=A1.extend({method:x("notifications/roots/list_changed"),params:V1.optional()}),sl=L0([uQ,gQ,QX,E5,sQ,aQ,oQ,rQ,tQ,TM,kM,i9,eQ,mQ,pQ,dQ,nQ]),el=L0([fQ,lQ,hQ,wb,e8]),Qm=L0([Y6,$4,S5,n9,T5,cQ,iQ,W6]),Xm=L0([uQ,$9,J9,qb,mQ,pQ,dQ,nQ]),Ym=L0([fQ,lQ,W4,X4,X9,W9,Y9,e8,Lb]),Wm=L0([Y6,D5,I5,Z5,q5,O5,U5,N5,b6,R5,cQ,iQ,W6]);class I extends Error{constructor(Q,X,Y){super(`MCP error ${Q}: ${X}`);this.code=Q,this.data=Y,this.name="McpError"}static fromError(Q,X,Y){if(Q===k.UrlElicitationRequired&&Y){let W=Y;if(W.elicitations)return new QB(W.elicitations,X)}return new I(Q,X,Y)}}class QB extends I{constructor(Q,X=`URL elicitation${Q.length>1?"s":""} required`){super(k.UrlElicitationRequired,X,{elicitations:Q})}get elicitations(){return this.data?.elicitations??[]}}function P6(Q){return Q==="completed"||Q==="failed"||Q==="cancelled"}var YB=Symbol("Let zodToJsonSchema decide on which parser to use");var XB={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},WB=(Q)=>typeof Q==="string"?{...XB,name:Q}:{...XB,...Q};var $B=(Q)=>{let X=WB(Q),Y=X.name!==void 0?[...X.basePath,X.definitionPath,X.name]:X.basePath;return{...X,flags:{hasReferencedOpenAiAnyType:!1},currentPath:Y,propertyPath:void 0,seen:new Map(Object.entries(X.definitions).map(([W,$])=>[$._def,{def:$._def,path:[...X.basePath,X.definitionPath,W],jsonSchema:void 0}]))}};function C5(Q,X,Y,W){if(!W?.errorMessages)return;if(Y)Q.errorMessage={...Q.errorMessage,[X]:Y}}function s(Q,X,Y,W,$){Q[X]=Y,C5(Q,X,W,$)}var XX=(Q,X)=>{let Y=0;for(;Y<Q.length&&Y<X.length;Y++)if(Q[Y]!==X[Y])break;return[(Q.length-Y).toString(),...X.slice(Y)].join("/")};function w0(Q){if(Q.target!=="openAi")return{};let X=[...Q.basePath,Q.definitionPath,Q.openAiAnyTypeName];return Q.flags.hasReferencedOpenAiAnyType=!0,{$ref:Q.$refStrategy==="relative"?XX(X,Q.currentPath):X.join("/")}}function JB(Q,X){let Y={type:"array"};if(Q.type?._def&&Q.type?._def?.typeName!==P.ZodAny)Y.items=l(Q.type._def,{...X,currentPath:[...X.currentPath,"items"]});if(Q.minLength)s(Y,"minItems",Q.minLength.value,Q.minLength.message,X);if(Q.maxLength)s(Y,"maxItems",Q.maxLength.value,Q.maxLength.message,X);if(Q.exactLength)s(Y,"minItems",Q.exactLength.value,Q.exactLength.message,X),s(Y,"maxItems",Q.exactLength.value,Q.exactLength.message,X);return Y}function GB(Q,X){let Y={type:"integer",format:"int64"};if(!Q.checks)return Y;for(let W of Q.checks)switch(W.kind){case"min":if(X.target==="jsonSchema7")if(W.inclusive)s(Y,"minimum",W.value,W.message,X);else s(Y,"exclusiveMinimum",W.value,W.message,X);else{if(!W.inclusive)Y.exclusiveMinimum=!0;s(Y,"minimum",W.value,W.message,X)}break;case"max":if(X.target==="jsonSchema7")if(W.inclusive)s(Y,"maximum",W.value,W.message,X);else s(Y,"exclusiveMaximum",W.value,W.message,X);else{if(!W.inclusive)Y.exclusiveMaximum=!0;s(Y,"maximum",W.value,W.message,X)}break;case"multipleOf":s(Y,"multipleOf",W.value,W.message,X);break}return Y}function HB(){return{type:"boolean"}}function YX(Q,X){return l(Q.type._def,X)}var BB=(Q,X)=>{return l(Q.innerType._def,X)};function k5(Q,X,Y){let W=Y??X.dateStrategy;if(Array.isArray(W))return{anyOf:W.map(($,J)=>k5(Q,X,$))};switch(W){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return Mb(Q,X)}}var Mb=(Q,X)=>{let Y={type:"integer",format:"unix-time"};if(X.target==="openApi3")return Y;for(let W of Q.checks)switch(W.kind){case"min":s(Y,"minimum",W.value,W.message,X);break;case"max":s(Y,"maximum",W.value,W.message,X);break}return Y};function zB(Q,X){return{...l(Q.innerType._def,X),default:Q.defaultValue()}}function KB(Q,X){return X.effectStrategy==="input"?l(Q.schema._def,X):w0(X)}function VB(Q){return{type:"string",enum:Array.from(Q.values)}}var bb=(Q)=>{if("type"in Q&&Q.type==="string")return!1;return"allOf"in Q};function AB(Q,X){let Y=[l(Q.left._def,{...X,currentPath:[...X.currentPath,"allOf","0"]}),l(Q.right._def,{...X,currentPath:[...X.currentPath,"allOf","1"]})].filter((J)=>!!J),W=X.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,$=[];return Y.forEach((J)=>{if(bb(J)){if($.push(...J.allOf),J.unevaluatedProperties===void 0)W=void 0}else{let G=J;if("additionalProperties"in J&&J.additionalProperties===!1){let{additionalProperties:H,...B}=J;G=B}else W=void 0;$.push(G)}}),$.length?{allOf:$,...W}:void 0}function FB(Q,X){let Y=typeof Q.value;if(Y!=="bigint"&&Y!=="number"&&Y!=="boolean"&&Y!=="string")return{type:Array.isArray(Q.value)?"array":"object"};if(X.target==="openApi3")return{type:Y==="bigint"?"integer":Y,enum:[Q.value]};return{type:Y==="bigint"?"integer":Y,const:Q.value}}var v5=void 0,Z1={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>{if(v5===void 0)v5=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return v5},uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?: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])$/,ipv4Cidr:/^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function WX(Q,X){let Y={type:"string"};if(Q.checks)for(let W of Q.checks)switch(W.kind){case"min":s(Y,"minLength",typeof Y.minLength==="number"?Math.max(Y.minLength,W.value):W.value,W.message,X);break;case"max":s(Y,"maxLength",typeof Y.maxLength==="number"?Math.min(Y.maxLength,W.value):W.value,W.message,X);break;case"email":switch(X.emailStrategy){case"format:email":R1(Y,"email",W.message,X);break;case"format:idn-email":R1(Y,"idn-email",W.message,X);break;case"pattern:zod":p0(Y,Z1.email,W.message,X);break}break;case"url":R1(Y,"uri",W.message,X);break;case"uuid":R1(Y,"uuid",W.message,X);break;case"regex":p0(Y,W.regex,W.message,X);break;case"cuid":p0(Y,Z1.cuid,W.message,X);break;case"cuid2":p0(Y,Z1.cuid2,W.message,X);break;case"startsWith":p0(Y,RegExp(`^${_5(W.value,X)}`),W.message,X);break;case"endsWith":p0(Y,RegExp(`${_5(W.value,X)}$`),W.message,X);break;case"datetime":R1(Y,"date-time",W.message,X);break;case"date":R1(Y,"date",W.message,X);break;case"time":R1(Y,"time",W.message,X);break;case"duration":R1(Y,"duration",W.message,X);break;case"length":s(Y,"minLength",typeof Y.minLength==="number"?Math.max(Y.minLength,W.value):W.value,W.message,X),s(Y,"maxLength",typeof Y.maxLength==="number"?Math.min(Y.maxLength,W.value):W.value,W.message,X);break;case"includes":{p0(Y,RegExp(_5(W.value,X)),W.message,X);break}case"ip":{if(W.version!=="v6")R1(Y,"ipv4",W.message,X);if(W.version!=="v4")R1(Y,"ipv6",W.message,X);break}case"base64url":p0(Y,Z1.base64url,W.message,X);break;case"jwt":p0(Y,Z1.jwt,W.message,X);break;case"cidr":{if(W.version!=="v6")p0(Y,Z1.ipv4Cidr,W.message,X);if(W.version!=="v4")p0(Y,Z1.ipv6Cidr,W.message,X);break}case"emoji":p0(Y,Z1.emoji(),W.message,X);break;case"ulid":{p0(Y,Z1.ulid,W.message,X);break}case"base64":{switch(X.base64Strategy){case"format:binary":{R1(Y,"binary",W.message,X);break}case"contentEncoding:base64":{s(Y,"contentEncoding","base64",W.message,X);break}case"pattern:zod":{p0(Y,Z1.base64,W.message,X);break}}break}case"nanoid":p0(Y,Z1.nanoid,W.message,X);case"toLowerCase":case"toUpperCase":case"trim":break;default:(($)=>{})(W)}return Y}function _5(Q,X){return X.patternStrategy==="escape"?Zb(Q):Q}var Pb=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function Zb(Q){let X="";for(let Y=0;Y<Q.length;Y++){if(!Pb.has(Q[Y]))X+="\\";X+=Q[Y]}return X}function R1(Q,X,Y,W){if(Q.format||Q.anyOf?.some(($)=>$.format)){if(!Q.anyOf)Q.anyOf=[];if(Q.format){if(Q.anyOf.push({format:Q.format,...Q.errorMessage&&W.errorMessages&&{errorMessage:{format:Q.errorMessage.format}}}),delete Q.format,Q.errorMessage){if(delete Q.errorMessage.format,Object.keys(Q.errorMessage).length===0)delete Q.errorMessage}}Q.anyOf.push({format:X,...Y&&W.errorMessages&&{errorMessage:{format:Y}}})}else s(Q,"format",X,Y,W)}function p0(Q,X,Y,W){if(Q.pattern||Q.allOf?.some(($)=>$.pattern)){if(!Q.allOf)Q.allOf=[];if(Q.pattern){if(Q.allOf.push({pattern:Q.pattern,...Q.errorMessage&&W.errorMessages&&{errorMessage:{pattern:Q.errorMessage.pattern}}}),delete Q.pattern,Q.errorMessage){if(delete Q.errorMessage.pattern,Object.keys(Q.errorMessage).length===0)delete Q.errorMessage}}Q.allOf.push({pattern:DB(X,W),...Y&&W.errorMessages&&{errorMessage:{pattern:Y}}})}else s(Q,"pattern",DB(X,W),Y,W)}function DB(Q,X){if(!X.applyRegexFlags||!Q.flags)return Q.source;let Y={i:Q.flags.includes("i"),m:Q.flags.includes("m"),s:Q.flags.includes("s")},W=Y.i?Q.source.toLowerCase():Q.source,$="",J=!1,G=!1,H=!1;for(let B=0;B<W.length;B++){if(J){$+=W[B],J=!1;continue}if(Y.i){if(G){if(W[B].match(/[a-z]/)){if(H)$+=W[B],$+=`${W[B-2]}-${W[B]}`.toUpperCase(),H=!1;else if(W[B+1]==="-"&&W[B+2]?.match(/[a-z]/))$+=W[B],H=!0;else $+=`${W[B]}${W[B].toUpperCase()}`;continue}}else if(W[B].match(/[a-z]/)){$+=`[${W[B]}${W[B].toUpperCase()}]`;continue}}if(Y.m){if(W[B]==="^"){$+=`(^|(?<=[\r
43
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let z of this.seen.entries()){let K=z[1];if(Q===z[0]){J(z);continue}if(X.external){let F=X.external.registry.get(z[0])?.id;if(Q!==z[0]&&F){J(z);continue}}if(this.metadataRegistry.get(z[0])?.id){J(z);continue}if(K.cycle){J(z);continue}if(K.count>1){if(X.reused==="ref"){J(z);continue}}}let G=(z,K)=>{let V=this.seen.get(z),F=V.def??V.schema,A={...F};if(V.ref===null)return;let D=V.ref;if(V.ref=null,D){G(D,K);let L=this.seen.get(D).schema;if(L.$ref&&K.target==="draft-7")F.allOf=F.allOf??[],F.allOf.push(L);else Object.assign(F,L),Object.assign(F,A)}if(!V.isParent)this.override({zodSchema:z,jsonSchema:F,path:V.path??[]})};for(let z of[...this.seen.entries()].reverse())G(z[0],{target:this.target});let H={};if(this.target==="draft-2020-12")H.$schema="https://json-schema.org/draft/2020-12/schema";else if(this.target==="draft-7")H.$schema="http://json-schema.org/draft-07/schema#";else console.warn(`Invalid target: ${this.target}`);if(X.external?.uri){let z=X.external.registry.get(Q)?.id;if(!z)throw Error("Schema is missing an `id` property");H.$id=X.external.uri(z)}Object.assign(H,W.def);let B=X.external?.defs??{};for(let z of this.seen.entries()){let K=z[1];if(K.def&&K.defId)B[K.defId]=K.def}if(X.external);else if(Object.keys(B).length>0)if(this.target==="draft-2020-12")H.$defs=B;else H.definitions=B;try{return JSON.parse(JSON.stringify(H))}catch(z){throw Error("Error converting schema to JSON.")}}}function TQ(Q,Y){if(Q instanceof PQ){let W=new J5(Y),$={};for(let H of Q._idmap.entries()){let[B,z]=H;W.process(z)}let J={},G={registry:Q,uri:Y?.uri,defs:$};for(let H of Q._idmap.entries()){let[B,z]=H;J[B]=W.emit(z,{...Y,external:G})}if(Object.keys($).length>0){let H=W.target==="draft-2020-12"?"$defs":"definitions";J.__shared={[H]:$}}return{schemas:J}}let X=new J5(Y);return X.process(Q),X.emit(Q,Y)}function T0(Q,Y){let X=Y??{seen:new Set};if(X.seen.has(Q))return!1;X.seen.add(Q);let $=Q._zod.def;switch($.type){case"string":case"number":case"bigint":case"boolean":case"date":case"symbol":case"undefined":case"null":case"any":case"unknown":case"never":case"void":case"literal":case"enum":case"nan":case"file":case"template_literal":return!1;case"array":return T0($.element,X);case"object":{for(let J in $.shape)if(T0($.shape[J],X))return!0;return!1}case"union":{for(let J of $.options)if(T0(J,X))return!0;return!1}case"intersection":return T0($.left,X)||T0($.right,X);case"tuple":{for(let J of $.items)if(T0(J,X))return!0;if($.rest&&T0($.rest,X))return!0;return!1}case"record":return T0($.keyType,X)||T0($.valueType,X);case"map":return T0($.keyType,X)||T0($.valueType,X);case"set":return T0($.valueType,X);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return T0($.innerType,X);case"lazy":return T0($.getter(),X);case"default":return T0($.innerType,X);case"prefault":return T0($.innerType,X);case"custom":return!1;case"transform":return!0;case"pipe":return T0($.in,X)||T0($.out,X);case"success":return!1;case"catch":return!1;default:}throw Error(`Unknown schema type: ${$.type}`)}var Eq=q("ZodMiniType",(Q,Y)=>{if(!Q._zod)throw Error("Uninitialized schema in ZodMiniType.");G0.init(Q,Y),Q.def=Y,Q.parse=(X,W)=>U7(Q,X,W,{callee:Q.parse}),Q.safeParse=(X,W)=>e6(Q,X,W),Q.parseAsync=async(X,W)=>w7(Q,X,W,{callee:Q.parseAsync}),Q.safeParseAsync=async(X,W)=>Q9(Q,X,W),Q.check=(...X)=>{return Q.clone({...Y,checks:[...Y.checks??[],...X.map((W)=>typeof W==="function"?{_zod:{check:W,def:{check:"custom"},onattach:[]}}:W)]})},Q.clone=(X,W)=>s0(Q,X,W),Q.brand=()=>Q,Q.register=(X,W)=>{return X.add(Q,W),Q}});var Sq=q("ZodMiniObject",(Q,Y)=>{bQ.init(Q,Y),Eq.init(Q,Y),t.defineLazy(Q,"shape",()=>Y.shape)});function G5(Q,Y){let X={type:"object",get shape(){return t.assignProp(this,"shape",{...Q}),this.shape},...t.normalizeParams(Y)};return new Sq(X)}function e0(Q){return!!Q._zod}function X9(Q){let Y=Object.values(Q);if(Y.length===0)return G5({});let X=Y.every(e0),W=Y.every(($)=>!e0($));if(X)return G5(Q);if(W)return G7(Q);throw Error("Mixed Zod versions detected in object shape.")}function c0(Q,Y){if(e0(Q))return e6(Q,Y);return Q.safeParse(Y)}async function CQ(Q,Y){if(e0(Q))return await Q9(Q,Y);return await Q.safeParseAsync(Y)}function c1(Q){if(!Q)return;let Y;if(e0(Q))Y=Q._zod?.def?.shape;else Y=Q.shape;if(!Y)return;if(typeof Y==="function")try{return Y()}catch{return}return Y}function d9(Q){if(!Q)return;if(typeof Q==="object"){let Y=Q,X=Q;if(!Y._def&&!X._zod){let W=Object.values(Q);if(W.length>0&&W.every(($)=>typeof $==="object"&&$!==null&&($._def!==void 0||$._zod!==void 0||typeof $.parse==="function")))return X9(Q)}}if(e0(Q)){let X=Q._zod?.def;if(X&&(X.type==="object"||X.shape!==void 0))return Q}else if(Q.shape!==void 0)return Q;return}function kQ(Q){if(Q&&typeof Q==="object"){if("message"in Q&&typeof Q.message==="string")return Q.message;if("issues"in Q&&Array.isArray(Q.issues)&&Q.issues.length>0){let Y=Q.issues[0];if(Y&&typeof Y==="object"&&"message"in Y)return String(Y.message)}try{return JSON.stringify(Q)}catch{return String(Q)}}return String(Q)}function q3(Q){return Q.description}function M3(Q){if(e0(Q))return Q._zod?.def?.type==="optional";let Y=Q;if(typeof Q.isOptional==="function")return Q.isOptional();return Y._def?.typeName==="ZodOptional"}function _Q(Q){if(e0(Q)){let J=Q._zod?.def;if(J){if(J.value!==void 0)return J.value;if(Array.isArray(J.values)&&J.values.length>0)return J.values[0]}}let X=Q._def;if(X){if(X.value!==void 0)return X.value;if(Array.isArray(X.values)&&X.values.length>0)return X.values[0]}let W=Q.value;if(W!==void 0)return W;return}var a8={};BQ(a8,{time:()=>z5,duration:()=>K5,datetime:()=>H5,date:()=>B5,ZodISOTime:()=>P3,ZodISODuration:()=>R3,ZodISODateTime:()=>b3,ZodISODate:()=>Z3});var b3=q("ZodISODateTime",(Q,Y)=>{W3.init(Q,Y),j0.init(Q,Y)});function H5(Q){return V3(b3,Q)}var Z3=q("ZodISODate",(Q,Y)=>{$3.init(Q,Y),j0.init(Q,Y)});function B5(Q){return F3(Z3,Q)}var P3=q("ZodISOTime",(Q,Y)=>{J3.init(Q,Y),j0.init(Q,Y)});function z5(Q){return A3(P3,Q)}var R3=q("ZodISODuration",(Q,Y)=>{G3.init(Q,Y),j0.init(Q,Y)});function K5(Q){return D3(R3,Q)}var S3=(Q,Y)=>{jQ.init(Q,Y),Q.name="ZodError",Object.defineProperties(Q,{format:{value:(X)=>NQ(Q,X)},flatten:{value:(X)=>wQ(Q,X)},addIssue:{value:(X)=>Q.issues.push(X)},addIssues:{value:(X)=>Q.issues.push(...X)},isEmpty:{get(){return Q.issues.length===0}}})},Zm=q("ZodError",S3),t8=q("ZodError",S3,{Parent:Error});var I3=O7(t8),T3=j7(t8),C3=N7(t8),k3=q7(t8);var D0=q("ZodType",(Q,Y)=>{return G0.init(Q,Y),Q.def=Y,Object.defineProperty(Q,"_def",{value:Y}),Q.check=(...X)=>{return Q.clone({...Y,checks:[...Y.checks??[],...X.map((W)=>typeof W==="function"?{_zod:{check:W,def:{check:"custom"},onattach:[]}}:W)]})},Q.clone=(X,W)=>s0(Q,X,W),Q.brand=()=>Q,Q.register=(X,W)=>{return X.add(Q,W),Q},Q.parse=(X,W)=>I3(Q,X,W,{callee:Q.parse}),Q.safeParse=(X,W)=>C3(Q,X,W),Q.parseAsync=async(X,W)=>T3(Q,X,W,{callee:Q.parseAsync}),Q.safeParseAsync=async(X,W)=>k3(Q,X,W),Q.spa=Q.safeParseAsync,Q.refine=(X,W)=>Q.check(RM(X,W)),Q.superRefine=(X)=>Q.check(EM(X)),Q.overwrite=(X)=>Q.check(Y9(X)),Q.optional=()=>b0(Q),Q.nullable=()=>x3(Q),Q.nullish=()=>b0(x3(Q)),Q.nonoptional=(X)=>wM(Q,X),Q.array=()=>E(Q),Q.or=(X)=>L0([Q,X]),Q.and=(X)=>yQ(Q,X),Q.transform=(X)=>F5(Q,p3(X)),Q.default=(X)=>OM(Q,X),Q.prefault=(X)=>jM(Q,X),Q.catch=(X)=>qM(Q,X),Q.pipe=(X)=>F5(Q,X),Q.readonly=()=>ZM(Q),Q.describe=(X)=>{let W=Q.clone();return e1.add(W,{description:X}),W},Object.defineProperty(Q,"description",{get(){return e1.get(Q)?.description},configurable:!0}),Q.meta=(...X)=>{if(X.length===0)return e1.get(Q);let W=Q.clone();return e1.add(W,X[0]),W},Q.isOptional=()=>Q.safeParse(void 0).success,Q.isNullable=()=>Q.safeParse(null).success,Q}),y3=q("_ZodString",(Q,Y)=>{o8.init(Q,Y),D0.init(Q,Y);let X=Q._zod.bag;Q.format=X.format??null,Q.minLength=X.minimum??null,Q.maxLength=X.maximum??null,Q.regex=(...W)=>Q.check(nW(...W)),Q.includes=(...W)=>Q.check(aW(...W)),Q.startsWith=(...W)=>Q.check(tW(...W)),Q.endsWith=(...W)=>Q.check(sW(...W)),Q.min=(...W)=>Q.check(p9(...W)),Q.max=(...W)=>Q.check(SQ(...W)),Q.length=(...W)=>Q.check(IQ(...W)),Q.nonempty=(...W)=>Q.check(p9(1,...W)),Q.lowercase=(W)=>Q.check(oW(W)),Q.uppercase=(W)=>Q.check(rW(W)),Q.trim=()=>Q.check(Q5()),Q.normalize=(...W)=>Q.check(eW(...W)),Q.toLowerCase=()=>Q.check(Y5()),Q.toUpperCase=()=>Q.check(X5())}),A5=q("ZodString",(Q,Y)=>{o8.init(Q,Y),y3.init(Q,Y),Q.email=(X)=>Q.check(NW(uq,X)),Q.url=(X)=>Q.check(EQ(f3,X)),Q.jwt=(X)=>Q.check(gW(YM,X)),Q.emoji=(X)=>Q.check(PW(lq,X)),Q.guid=(X)=>Q.check(RQ(_3,X)),Q.uuid=(X)=>Q.check(qW(vQ,X)),Q.uuidv4=(X)=>Q.check(MW(vQ,X)),Q.uuidv6=(X)=>Q.check(bW(vQ,X)),Q.uuidv7=(X)=>Q.check(ZW(vQ,X)),Q.nanoid=(X)=>Q.check(RW(mq,X)),Q.guid=(X)=>Q.check(RQ(_3,X)),Q.cuid=(X)=>Q.check(EW(cq,X)),Q.cuid2=(X)=>Q.check(SW(pq,X)),Q.ulid=(X)=>Q.check(IW(dq,X)),Q.base64=(X)=>Q.check(yW(sq,X)),Q.base64url=(X)=>Q.check(fW(eq,X)),Q.xid=(X)=>Q.check(TW(iq,X)),Q.ksuid=(X)=>Q.check(CW(nq,X)),Q.ipv4=(X)=>Q.check(kW(oq,X)),Q.ipv6=(X)=>Q.check(_W(rq,X)),Q.cidrv4=(X)=>Q.check(vW(aq,X)),Q.cidrv6=(X)=>Q.check(xW(tq,X)),Q.e164=(X)=>Q.check(hW(QM,X)),Q.datetime=(X)=>Q.check(H5(X)),Q.date=(X)=>Q.check(B5(X)),Q.time=(X)=>Q.check(z5(X)),Q.duration=(X)=>Q.check(K5(X))});function j(Q){return wW(A5,Q)}var j0=q("ZodStringFormat",(Q,Y)=>{A0.init(Q,Y),y3.init(Q,Y)}),uq=q("ZodEmail",(Q,Y)=>{T7.init(Q,Y),j0.init(Q,Y)});var _3=q("ZodGUID",(Q,Y)=>{S7.init(Q,Y),j0.init(Q,Y)});var vQ=q("ZodUUID",(Q,Y)=>{I7.init(Q,Y),j0.init(Q,Y)});var f3=q("ZodURL",(Q,Y)=>{C7.init(Q,Y),j0.init(Q,Y)});function h3(Q){return EQ(f3,Q)}var lq=q("ZodEmoji",(Q,Y)=>{k7.init(Q,Y),j0.init(Q,Y)});var mq=q("ZodNanoID",(Q,Y)=>{_7.init(Q,Y),j0.init(Q,Y)});var cq=q("ZodCUID",(Q,Y)=>{v7.init(Q,Y),j0.init(Q,Y)});var pq=q("ZodCUID2",(Q,Y)=>{x7.init(Q,Y),j0.init(Q,Y)});var dq=q("ZodULID",(Q,Y)=>{y7.init(Q,Y),j0.init(Q,Y)});var iq=q("ZodXID",(Q,Y)=>{f7.init(Q,Y),j0.init(Q,Y)});var nq=q("ZodKSUID",(Q,Y)=>{h7.init(Q,Y),j0.init(Q,Y)});var oq=q("ZodIPv4",(Q,Y)=>{g7.init(Q,Y),j0.init(Q,Y)});var rq=q("ZodIPv6",(Q,Y)=>{u7.init(Q,Y),j0.init(Q,Y)});var aq=q("ZodCIDRv4",(Q,Y)=>{l7.init(Q,Y),j0.init(Q,Y)});var tq=q("ZodCIDRv6",(Q,Y)=>{m7.init(Q,Y),j0.init(Q,Y)});var sq=q("ZodBase64",(Q,Y)=>{c7.init(Q,Y),j0.init(Q,Y)});var eq=q("ZodBase64URL",(Q,Y)=>{p7.init(Q,Y),j0.init(Q,Y)});var QM=q("ZodE164",(Q,Y)=>{d7.init(Q,Y),j0.init(Q,Y)});var YM=q("ZodJWT",(Q,Y)=>{i7.init(Q,Y),j0.init(Q,Y)});var xQ=q("ZodNumber",(Q,Y)=>{MQ.init(Q,Y),D0.init(Q,Y),Q.gt=(W,$)=>Q.check(c9(W,$)),Q.gte=(W,$)=>Q.check(b1(W,$)),Q.min=(W,$)=>Q.check(b1(W,$)),Q.lt=(W,$)=>Q.check(m9(W,$)),Q.lte=(W,$)=>Q.check(Q6(W,$)),Q.max=(W,$)=>Q.check(Q6(W,$)),Q.int=(W)=>Q.check(v3(W)),Q.safe=(W)=>Q.check(v3(W)),Q.positive=(W)=>Q.check(c9(0,W)),Q.nonnegative=(W)=>Q.check(b1(0,W)),Q.negative=(W)=>Q.check(m9(0,W)),Q.nonpositive=(W)=>Q.check(Q6(0,W)),Q.multipleOf=(W,$)=>Q.check(r8(W,$)),Q.step=(W,$)=>Q.check(r8(W,$)),Q.finite=()=>Q;let X=Q._zod.bag;Q.minValue=Math.max(X.minimum??Number.NEGATIVE_INFINITY,X.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,Q.maxValue=Math.min(X.maximum??Number.POSITIVE_INFINITY,X.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,Q.isInt=(X.format??"").includes("int")||Number.isSafeInteger(X.multipleOf??0.5),Q.isFinite=!0,Q.format=X.format??null});function J0(Q){return uW(xQ,Q)}var XM=q("ZodNumberFormat",(Q,Y)=>{n7.init(Q,Y),xQ.init(Q,Y)});function v3(Q){return lW(XM,Q)}var D5=q("ZodBoolean",(Q,Y)=>{o7.init(Q,Y),D0.init(Q,Y)});function B0(Q){return mW(D5,Q)}var g3=q("ZodBigInt",(Q,Y)=>{r7.init(Q,Y),D0.init(Q,Y),Q.gte=(W,$)=>Q.check(b1(W,$)),Q.min=(W,$)=>Q.check(b1(W,$)),Q.gt=(W,$)=>Q.check(c9(W,$)),Q.gte=(W,$)=>Q.check(b1(W,$)),Q.min=(W,$)=>Q.check(b1(W,$)),Q.lt=(W,$)=>Q.check(m9(W,$)),Q.lte=(W,$)=>Q.check(Q6(W,$)),Q.max=(W,$)=>Q.check(Q6(W,$)),Q.positive=(W)=>Q.check(c9(BigInt(0),W)),Q.negative=(W)=>Q.check(m9(BigInt(0),W)),Q.nonpositive=(W)=>Q.check(Q6(BigInt(0),W)),Q.nonnegative=(W)=>Q.check(b1(BigInt(0),W)),Q.multipleOf=(W,$)=>Q.check(r8(W,$));let X=Q._zod.bag;Q.minValue=X.minimum??null,Q.maxValue=X.maximum??null,Q.format=X.format??null});var WM=q("ZodNull",(Q,Y)=>{a7.init(Q,Y),D0.init(Q,Y)});function L5(Q){return cW(WM,Q)}var $M=q("ZodAny",(Q,Y)=>{t7.init(Q,Y),D0.init(Q,Y)});function u3(){return pW($M)}var JM=q("ZodUnknown",(Q,Y)=>{s7.init(Q,Y),D0.init(Q,Y)});function w0(){return dW(JM)}var GM=q("ZodNever",(Q,Y)=>{e7.init(Q,Y),D0.init(Q,Y)});function HM(Q){return iW(GM,Q)}var l3=q("ZodDate",(Q,Y)=>{QW.init(Q,Y),D0.init(Q,Y),Q.min=(W,$)=>Q.check(b1(W,$)),Q.max=(W,$)=>Q.check(Q6(W,$));let X=Q._zod.bag;Q.minDate=X.minimum?new Date(X.minimum):null,Q.maxDate=X.maximum?new Date(X.maximum):null});var BM=q("ZodArray",(Q,Y)=>{YW.init(Q,Y),D0.init(Q,Y),Q.element=Y.element,Q.min=(X,W)=>Q.check(p9(X,W)),Q.nonempty=(X)=>Q.check(p9(1,X)),Q.max=(X,W)=>Q.check(SQ(X,W)),Q.length=(X,W)=>Q.check(IQ(X,W)),Q.unwrap=()=>Q.element});function E(Q,Y){return w3(BM,Q,Y)}var m3=q("ZodObject",(Q,Y)=>{bQ.init(Q,Y),D0.init(Q,Y),t.defineLazy(Q,"shape",()=>Y.shape),Q.keyof=()=>Q1(Object.keys(Q._zod.def.shape)),Q.catchall=(X)=>Q.clone({...Q._zod.def,catchall:X}),Q.passthrough=()=>Q.clone({...Q._zod.def,catchall:w0()}),Q.loose=()=>Q.clone({...Q._zod.def,catchall:w0()}),Q.strict=()=>Q.clone({...Q._zod.def,catchall:HM()}),Q.strip=()=>Q.clone({...Q._zod.def,catchall:void 0}),Q.extend=(X)=>{return t.extend(Q,X)},Q.merge=(X)=>t.merge(Q,X),Q.pick=(X)=>t.pick(Q,X),Q.omit=(X)=>t.omit(Q,X),Q.partial=(...X)=>t.partial(d3,Q,X[0]),Q.required=(...X)=>t.required(i3,Q,X[0])});function T(Q,Y){let X={type:"object",get shape(){return t.assignProp(this,"shape",{...Q}),this.shape},...t.normalizeParams(Y)};return new m3(X)}function C0(Q,Y){return new m3({type:"object",get shape(){return t.assignProp(this,"shape",{...Q}),this.shape},catchall:w0(),...t.normalizeParams(Y)})}var c3=q("ZodUnion",(Q,Y)=>{ZQ.init(Q,Y),D0.init(Q,Y),Q.options=Y.options});function L0(Q,Y){return new c3({type:"union",options:Q,...t.normalizeParams(Y)})}var zM=q("ZodDiscriminatedUnion",(Q,Y)=>{c3.init(Q,Y),XW.init(Q,Y)});function O5(Q,Y,X){return new zM({type:"union",options:Y,discriminator:Q,...t.normalizeParams(X)})}var KM=q("ZodIntersection",(Q,Y)=>{WW.init(Q,Y),D0.init(Q,Y)});function yQ(Q,Y){return new KM({type:"intersection",left:Q,right:Y})}var VM=q("ZodRecord",(Q,Y)=>{$W.init(Q,Y),D0.init(Q,Y),Q.keyType=Y.keyType,Q.valueType=Y.valueType});function N0(Q,Y,X){return new VM({type:"record",keyType:Q,valueType:Y,...t.normalizeParams(X)})}var V5=q("ZodEnum",(Q,Y)=>{JW.init(Q,Y),D0.init(Q,Y),Q.enum=Y.entries,Q.options=Object.values(Y.entries);let X=new Set(Object.keys(Y.entries));Q.extract=(W,$)=>{let J={};for(let G of W)if(X.has(G))J[G]=Y.entries[G];else throw Error(`Key ${G} not found in enum`);return new V5({...Y,checks:[],...t.normalizeParams($),entries:J})},Q.exclude=(W,$)=>{let J={...Y.entries};for(let G of W)if(X.has(G))delete J[G];else throw Error(`Key ${G} not found in enum`);return new V5({...Y,checks:[],...t.normalizeParams($),entries:J})}});function Q1(Q,Y){let X=Array.isArray(Q)?Object.fromEntries(Q.map((W)=>[W,W])):Q;return new V5({type:"enum",entries:X,...t.normalizeParams(Y)})}var FM=q("ZodLiteral",(Q,Y)=>{GW.init(Q,Y),D0.init(Q,Y),Q.values=new Set(Y.values),Object.defineProperty(Q,"value",{get(){if(Y.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return Y.values[0]}})});function y(Q,Y){return new FM({type:"literal",values:Array.isArray(Q)?Q:[Q],...t.normalizeParams(Y)})}var AM=q("ZodTransform",(Q,Y)=>{HW.init(Q,Y),D0.init(Q,Y),Q._zod.parse=(X,W)=>{X.addIssue=(J)=>{if(typeof J==="string")X.issues.push(t.issue(J,X.value,Y));else{let G=J;if(G.fatal)G.continue=!1;G.code??(G.code="custom"),G.input??(G.input=X.value),G.inst??(G.inst=Q),G.continue??(G.continue=!0),X.issues.push(t.issue(G))}};let $=Y.transform(X.value,X);if($ instanceof Promise)return $.then((J)=>{return X.value=J,X});return X.value=$,X}});function p3(Q){return new AM({type:"transform",transform:Q})}var d3=q("ZodOptional",(Q,Y)=>{BW.init(Q,Y),D0.init(Q,Y),Q.unwrap=()=>Q._zod.def.innerType});function b0(Q){return new d3({type:"optional",innerType:Q})}var DM=q("ZodNullable",(Q,Y)=>{zW.init(Q,Y),D0.init(Q,Y),Q.unwrap=()=>Q._zod.def.innerType});function x3(Q){return new DM({type:"nullable",innerType:Q})}var LM=q("ZodDefault",(Q,Y)=>{KW.init(Q,Y),D0.init(Q,Y),Q.unwrap=()=>Q._zod.def.innerType,Q.removeDefault=Q.unwrap});function OM(Q,Y){return new LM({type:"default",innerType:Q,get defaultValue(){return typeof Y==="function"?Y():Y}})}var UM=q("ZodPrefault",(Q,Y)=>{VW.init(Q,Y),D0.init(Q,Y),Q.unwrap=()=>Q._zod.def.innerType});function jM(Q,Y){return new UM({type:"prefault",innerType:Q,get defaultValue(){return typeof Y==="function"?Y():Y}})}var i3=q("ZodNonOptional",(Q,Y)=>{FW.init(Q,Y),D0.init(Q,Y),Q.unwrap=()=>Q._zod.def.innerType});function wM(Q,Y){return new i3({type:"nonoptional",innerType:Q,...t.normalizeParams(Y)})}var NM=q("ZodCatch",(Q,Y)=>{AW.init(Q,Y),D0.init(Q,Y),Q.unwrap=()=>Q._zod.def.innerType,Q.removeCatch=Q.unwrap});function qM(Q,Y){return new NM({type:"catch",innerType:Q,catchValue:typeof Y==="function"?Y:()=>Y})}var MM=q("ZodPipe",(Q,Y)=>{DW.init(Q,Y),D0.init(Q,Y),Q.in=Y.in,Q.out=Y.out});function F5(Q,Y){return new MM({type:"pipe",in:Q,out:Y})}var bM=q("ZodReadonly",(Q,Y)=>{LW.init(Q,Y),D0.init(Q,Y)});function ZM(Q){return new bM({type:"readonly",innerType:Q})}var n3=q("ZodCustom",(Q,Y)=>{OW.init(Q,Y),D0.init(Q,Y)});function PM(Q){let Y=new _0({check:"custom"});return Y._zod.check=Q,Y}function o3(Q,Y){return W5(n3,Q??(()=>!0),Y)}function RM(Q,Y={}){return $5(n3,Q,Y)}function EM(Q){let Y=PM((X)=>{return X.addIssue=(W)=>{if(typeof W==="string")X.issues.push(t.issue(W,X.value,Y._zod.def));else{let $=W;if($.fatal)$.continue=!1;$.code??($.code="custom"),$.input??($.input=X.value),$.inst??($.inst=Y),$.continue??($.continue=!Y._zod.def.abort),X.issues.push(t.issue($))}},Q(X.value,X)});return Y}function U5(Q,Y){return F5(p3(Q),Y)}var r3={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};var fQ={};BQ(fQ,{string:()=>SM,number:()=>IM,date:()=>kM,boolean:()=>TM,bigint:()=>CM});function SM(Q){return K3(A5,Q)}function IM(Q){return L3(xQ,Q)}function TM(Q){return O3(D5,Q)}function CM(Q){return U3(g3,Q)}function kM(Q){return j3(l3,Q)}t0(UW());var M6="2025-11-25",a3="2025-03-26",W9=[M6,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],b6="io.modelcontextprotocol/related-task",gQ="2.0",v0=o3((Q)=>Q!==null&&(typeof Q==="object"||typeof Q==="function")),t3=L0([j(),J0().int()]),s3=j(),hm=C0({ttl:L0([J0(),L5()]).optional(),pollInterval:J0().optional()}),vM=T({ttl:J0().optional()}),xM=T({taskId:j()}),j5=C0({progressToken:t3.optional(),[b6]:xM.optional()}),K1=T({_meta:j5.optional()}),s8=K1.extend({task:vM.optional()}),e3=(Q)=>s8.safeParse(Q).success,x0=T({method:j(),params:K1.loose().optional()}),V1=T({_meta:j5.optional()}),F1=T({method:j(),params:V1.loose().optional()}),y0=C0({_meta:j5.optional()}),uQ=L0([j(),J0().int()]),QB=T({jsonrpc:y(gQ),id:uQ,...x0.shape}).strict(),p1=(Q)=>QB.safeParse(Q).success,YB=T({jsonrpc:y(gQ),...F1.shape}).strict(),XB=(Q)=>YB.safeParse(Q).success,w5=T({jsonrpc:y(gQ),id:uQ,result:y0}).strict(),Z1=(Q)=>w5.safeParse(Q).success;var _;(function(Q){Q[Q.ConnectionClosed=-32000]="ConnectionClosed",Q[Q.RequestTimeout=-32001]="RequestTimeout",Q[Q.ParseError=-32700]="ParseError",Q[Q.InvalidRequest=-32600]="InvalidRequest",Q[Q.MethodNotFound=-32601]="MethodNotFound",Q[Q.InvalidParams=-32602]="InvalidParams",Q[Q.InternalError=-32603]="InternalError",Q[Q.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(_||(_={}));var N5=T({jsonrpc:y(gQ),id:uQ.optional(),error:T({code:J0().int(),message:j(),data:w0().optional()})}).strict();var n9=(Q)=>N5.safeParse(Q).success;var Y6=L0([QB,YB,w5,N5]),gm=L0([w5,N5]),X6=y0.strict(),yM=V1.extend({requestId:uQ.optional(),reason:j().optional()}),lQ=F1.extend({method:y("notifications/cancelled"),params:yM}),fM=T({src:j(),mimeType:j().optional(),sizes:E(j()).optional(),theme:Q1(["light","dark"]).optional()}),e8=T({icons:E(fM).optional()}),i9=T({name:j(),title:j().optional()}),WB=i9.extend({...i9.shape,...e8.shape,version:j(),websiteUrl:j().optional(),description:j().optional()}),hM=yQ(T({applyDefaults:B0().optional()}),N0(j(),w0())),gM=U5((Q)=>{if(Q&&typeof Q==="object"&&!Array.isArray(Q)){if(Object.keys(Q).length===0)return{form:{}}}return Q},yQ(T({form:hM.optional(),url:v0.optional()}),N0(j(),w0()).optional())),uM=C0({list:v0.optional(),cancel:v0.optional(),requests:C0({sampling:C0({createMessage:v0.optional()}).optional(),elicitation:C0({create:v0.optional()}).optional()}).optional()}),lM=C0({list:v0.optional(),cancel:v0.optional(),requests:C0({tools:C0({call:v0.optional()}).optional()}).optional()}),mM=T({experimental:N0(j(),v0).optional(),sampling:T({context:v0.optional(),tools:v0.optional()}).optional(),elicitation:gM.optional(),roots:T({listChanged:B0().optional()}).optional(),tasks:uM.optional()}),cM=K1.extend({protocolVersion:j(),capabilities:mM,clientInfo:WB}),mQ=x0.extend({method:y("initialize"),params:cM}),q5=(Q)=>mQ.safeParse(Q).success,pM=T({experimental:N0(j(),v0).optional(),logging:v0.optional(),completions:v0.optional(),prompts:T({listChanged:B0().optional()}).optional(),resources:T({subscribe:B0().optional(),listChanged:B0().optional()}).optional(),tools:T({listChanged:B0().optional()}).optional(),tasks:lM.optional()}),M5=y0.extend({protocolVersion:j(),capabilities:pM,serverInfo:WB,instructions:j().optional()}),cQ=F1.extend({method:y("notifications/initialized"),params:V1.optional()}),$B=(Q)=>cQ.safeParse(Q).success,pQ=x0.extend({method:y("ping"),params:K1.optional()}),dM=T({progress:J0(),total:b0(J0()),message:b0(j())}),iM=T({...V1.shape,...dM.shape,progressToken:t3}),dQ=F1.extend({method:y("notifications/progress"),params:iM}),nM=K1.extend({cursor:s3.optional()}),Q4=x0.extend({params:nM.optional()}),Y4=y0.extend({nextCursor:s3.optional()}),oM=Q1(["working","input_required","completed","failed","cancelled"]),X4=T({taskId:j(),status:oM,ttl:L0([J0(),L5()]),createdAt:j(),lastUpdatedAt:j(),pollInterval:b0(J0()),statusMessage:b0(j())}),W6=y0.extend({task:X4}),rM=V1.merge(X4),W4=F1.extend({method:y("notifications/tasks/status"),params:rM}),iQ=x0.extend({method:y("tasks/get"),params:K1.extend({taskId:j()})}),nQ=y0.merge(X4),oQ=x0.extend({method:y("tasks/result"),params:K1.extend({taskId:j()})}),um=y0.loose(),rQ=Q4.extend({method:y("tasks/list")}),aQ=Y4.extend({tasks:E(X4)}),tQ=x0.extend({method:y("tasks/cancel"),params:K1.extend({taskId:j()})}),JB=y0.merge(X4),GB=T({uri:j(),mimeType:b0(j()),_meta:N0(j(),w0()).optional()}),HB=GB.extend({text:j()}),b5=j().refine((Q)=>{try{return atob(Q),!0}catch{return!1}},{message:"Invalid Base64 string"}),BB=GB.extend({blob:b5}),$4=Q1(["user","assistant"]),o9=T({audience:E($4).optional(),priority:J0().min(0).max(1).optional(),lastModified:a8.datetime({offset:!0}).optional()}),zB=T({...i9.shape,...e8.shape,uri:j(),description:b0(j()),mimeType:b0(j()),annotations:o9.optional(),_meta:b0(C0({}))}),aM=T({...i9.shape,...e8.shape,uriTemplate:j(),description:b0(j()),mimeType:b0(j()),annotations:o9.optional(),_meta:b0(C0({}))}),sQ=Q4.extend({method:y("resources/list")}),Z5=Y4.extend({resources:E(zB)}),eQ=Q4.extend({method:y("resources/templates/list")}),P5=Y4.extend({resourceTemplates:E(aM)}),R5=K1.extend({uri:j()}),tM=R5,QY=x0.extend({method:y("resources/read"),params:tM}),E5=y0.extend({contents:E(L0([HB,BB]))}),$9=F1.extend({method:y("notifications/resources/list_changed"),params:V1.optional()}),sM=R5,eM=x0.extend({method:y("resources/subscribe"),params:sM}),Qb=R5,Yb=x0.extend({method:y("resources/unsubscribe"),params:Qb}),Xb=V1.extend({uri:j()}),J4=F1.extend({method:y("notifications/resources/updated"),params:Xb}),Wb=T({name:j(),description:b0(j()),required:b0(B0())}),$b=T({...i9.shape,...e8.shape,description:b0(j()),arguments:b0(E(Wb)),_meta:b0(C0({}))}),YY=Q4.extend({method:y("prompts/list")}),S5=Y4.extend({prompts:E($b)}),Jb=K1.extend({name:j(),arguments:N0(j(),j()).optional()}),XY=x0.extend({method:y("prompts/get"),params:Jb}),I5=T({type:y("text"),text:j(),annotations:o9.optional(),_meta:N0(j(),w0()).optional()}),T5=T({type:y("image"),data:b5,mimeType:j(),annotations:o9.optional(),_meta:N0(j(),w0()).optional()}),C5=T({type:y("audio"),data:b5,mimeType:j(),annotations:o9.optional(),_meta:N0(j(),w0()).optional()}),Gb=T({type:y("tool_use"),name:j(),id:j(),input:N0(j(),w0()),_meta:N0(j(),w0()).optional()}),Hb=T({type:y("resource"),resource:L0([HB,BB]),annotations:o9.optional(),_meta:N0(j(),w0()).optional()}),Bb=zB.extend({type:y("resource_link")}),k5=L0([I5,T5,C5,Bb,Hb]),zb=T({role:$4,content:k5}),_5=y0.extend({description:j().optional(),messages:E(zb)}),J9=F1.extend({method:y("notifications/prompts/list_changed"),params:V1.optional()}),Kb=T({title:j().optional(),readOnlyHint:B0().optional(),destructiveHint:B0().optional(),idempotentHint:B0().optional(),openWorldHint:B0().optional()}),Vb=T({taskSupport:Q1(["required","optional","forbidden"]).optional()}),KB=T({...i9.shape,...e8.shape,description:j().optional(),inputSchema:T({type:y("object"),properties:N0(j(),v0).optional(),required:E(j()).optional()}).catchall(w0()),outputSchema:T({type:y("object"),properties:N0(j(),v0).optional(),required:E(j()).optional()}).catchall(w0()).optional(),annotations:Kb.optional(),execution:Vb.optional(),_meta:N0(j(),w0()).optional()}),WY=Q4.extend({method:y("tools/list")}),v5=Y4.extend({tools:E(KB)}),Z6=y0.extend({content:E(k5).default([]),structuredContent:N0(j(),w0()).optional(),isError:B0().optional()}),lm=Z6.or(y0.extend({toolResult:w0()})),Fb=s8.extend({name:j(),arguments:N0(j(),w0()).optional()}),r9=x0.extend({method:y("tools/call"),params:Fb}),G9=F1.extend({method:y("notifications/tools/list_changed"),params:V1.optional()}),VB=T({autoRefresh:B0().default(!0),debounceMs:J0().int().nonnegative().default(300)}),G4=Q1(["debug","info","notice","warning","error","critical","alert","emergency"]),Ab=K1.extend({level:G4}),x5=x0.extend({method:y("logging/setLevel"),params:Ab}),Db=V1.extend({level:G4,logger:j().optional(),data:w0()}),H4=F1.extend({method:y("notifications/message"),params:Db}),Lb=T({name:j().optional()}),Ob=T({hints:E(Lb).optional(),costPriority:J0().min(0).max(1).optional(),speedPriority:J0().min(0).max(1).optional(),intelligencePriority:J0().min(0).max(1).optional()}),Ub=T({mode:Q1(["auto","required","none"]).optional()}),jb=T({type:y("tool_result"),toolUseId:j().describe("The unique identifier for the corresponding tool call."),content:E(k5).default([]),structuredContent:T({}).loose().optional(),isError:B0().optional(),_meta:N0(j(),w0()).optional()}),wb=O5("type",[I5,T5,C5]),hQ=O5("type",[I5,T5,C5,Gb,jb]),Nb=T({role:$4,content:L0([hQ,E(hQ)]),_meta:N0(j(),w0()).optional()}),qb=s8.extend({messages:E(Nb),modelPreferences:Ob.optional(),systemPrompt:j().optional(),includeContext:Q1(["none","thisServer","allServers"]).optional(),temperature:J0().optional(),maxTokens:J0().int(),stopSequences:E(j()).optional(),metadata:v0.optional(),tools:E(KB).optional(),toolChoice:Ub.optional()}),H9=x0.extend({method:y("sampling/createMessage"),params:qb}),B4=y0.extend({model:j(),stopReason:b0(Q1(["endTurn","stopSequence","maxTokens"]).or(j())),role:$4,content:wb}),y5=y0.extend({model:j(),stopReason:b0(Q1(["endTurn","stopSequence","maxTokens","toolUse"]).or(j())),role:$4,content:L0([hQ,E(hQ)])}),Mb=T({type:y("boolean"),title:j().optional(),description:j().optional(),default:B0().optional()}),bb=T({type:y("string"),title:j().optional(),description:j().optional(),minLength:J0().optional(),maxLength:J0().optional(),format:Q1(["email","uri","date","date-time"]).optional(),default:j().optional()}),Zb=T({type:Q1(["number","integer"]),title:j().optional(),description:j().optional(),minimum:J0().optional(),maximum:J0().optional(),default:J0().optional()}),Pb=T({type:y("string"),title:j().optional(),description:j().optional(),enum:E(j()),default:j().optional()}),Rb=T({type:y("string"),title:j().optional(),description:j().optional(),oneOf:E(T({const:j(),title:j()})),default:j().optional()}),Eb=T({type:y("string"),title:j().optional(),description:j().optional(),enum:E(j()),enumNames:E(j()).optional(),default:j().optional()}),Sb=L0([Pb,Rb]),Ib=T({type:y("array"),title:j().optional(),description:j().optional(),minItems:J0().optional(),maxItems:J0().optional(),items:T({type:y("string"),enum:E(j())}),default:E(j()).optional()}),Tb=T({type:y("array"),title:j().optional(),description:j().optional(),minItems:J0().optional(),maxItems:J0().optional(),items:T({anyOf:E(T({const:j(),title:j()}))}),default:E(j()).optional()}),Cb=L0([Ib,Tb]),kb=L0([Eb,Sb,Cb]),_b=L0([kb,Mb,bb,Zb]),vb=s8.extend({mode:y("form").optional(),message:j(),requestedSchema:T({type:y("object"),properties:N0(j(),_b),required:E(j()).optional()})}),xb=s8.extend({mode:y("url"),message:j(),elicitationId:j(),url:j().url()}),yb=L0([vb,xb]),B9=x0.extend({method:y("elicitation/create"),params:yb}),fb=V1.extend({elicitationId:j()}),hb=F1.extend({method:y("notifications/elicitation/complete"),params:fb}),a9=y0.extend({action:Q1(["accept","decline","cancel"]),content:U5((Q)=>Q===null?void 0:Q,N0(j(),L0([j(),J0(),B0(),E(j())])).optional())}),gb=T({type:y("ref/resource"),uri:j()});var ub=T({type:y("ref/prompt"),name:j()}),lb=K1.extend({ref:L0([ub,gb]),argument:T({name:j(),value:j()}),context:T({arguments:N0(j(),j()).optional()}).optional()}),$Y=x0.extend({method:y("completion/complete"),params:lb});function FB(Q){if(Q.params.ref.type!=="ref/prompt")throw TypeError(`Expected CompleteRequestPrompt, but got ${Q.params.ref.type}`)}function AB(Q){if(Q.params.ref.type!=="ref/resource")throw TypeError(`Expected CompleteRequestResourceTemplate, but got ${Q.params.ref.type}`)}var f5=y0.extend({completion:C0({values:E(j()).max(100),total:b0(J0().int()),hasMore:b0(B0())})}),mb=T({uri:j().startsWith("file://"),name:j().optional(),_meta:N0(j(),w0()).optional()}),cb=x0.extend({method:y("roots/list"),params:K1.optional()}),h5=y0.extend({roots:E(mb)}),pb=F1.extend({method:y("notifications/roots/list_changed"),params:V1.optional()}),mm=L0([pQ,mQ,$Y,x5,XY,YY,sQ,eQ,QY,eM,Yb,r9,WY,iQ,oQ,rQ,tQ]),cm=L0([lQ,dQ,cQ,pb,W4]),pm=L0([X6,B4,y5,a9,h5,nQ,aQ,W6]),dm=L0([pQ,H9,B9,cb,iQ,oQ,rQ,tQ]),im=L0([lQ,dQ,H4,J4,$9,G9,J9,W4,hb]),nm=L0([X6,M5,f5,_5,S5,Z5,P5,E5,Z6,v5,nQ,aQ,W6]);class I extends Error{constructor(Q,Y,X){super(`MCP error ${Q}: ${Y}`);this.code=Q,this.data=X,this.name="McpError"}static fromError(Q,Y,X){if(Q===_.UrlElicitationRequired&&X){let W=X;if(W.elicitations)return new DB(W.elicitations,Y)}return new I(Q,Y,X)}}class DB extends I{constructor(Q,Y=`URL elicitation${Q.length>1?"s":""} required`){super(_.UrlElicitationRequired,Y,{elicitations:Q})}get elicitations(){return this.data?.elicitations??[]}}function P6(Q){return Q==="completed"||Q==="failed"||Q==="cancelled"}var OB=Symbol("Let zodToJsonSchema decide on which parser to use");var LB={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},UB=(Q)=>typeof Q==="string"?{...LB,name:Q}:{...LB,...Q};var jB=(Q)=>{let Y=UB(Q),X=Y.name!==void 0?[...Y.basePath,Y.definitionPath,Y.name]:Y.basePath;return{...Y,flags:{hasReferencedOpenAiAnyType:!1},currentPath:X,propertyPath:void 0,seen:new Map(Object.entries(Y.definitions).map(([W,$])=>[$._def,{def:$._def,path:[...Y.basePath,Y.definitionPath,W],jsonSchema:void 0}]))}};function g5(Q,Y,X,W){if(!W?.errorMessages)return;if(X)Q.errorMessage={...Q.errorMessage,[Y]:X}}function s(Q,Y,X,W,$){Q[Y]=X,g5(Q,Y,W,$)}var JY=(Q,Y)=>{let X=0;for(;X<Q.length&&X<Y.length;X++)if(Q[X]!==Y[X])break;return[(Q.length-X).toString(),...Y.slice(X)].join("/")};function q0(Q){if(Q.target!=="openAi")return{};let Y=[...Q.basePath,Q.definitionPath,Q.openAiAnyTypeName];return Q.flags.hasReferencedOpenAiAnyType=!0,{$ref:Q.$refStrategy==="relative"?JY(Y,Q.currentPath):Y.join("/")}}function wB(Q,Y){let X={type:"array"};if(Q.type?._def&&Q.type?._def?.typeName!==Z.ZodAny)X.items=l(Q.type._def,{...Y,currentPath:[...Y.currentPath,"items"]});if(Q.minLength)s(X,"minItems",Q.minLength.value,Q.minLength.message,Y);if(Q.maxLength)s(X,"maxItems",Q.maxLength.value,Q.maxLength.message,Y);if(Q.exactLength)s(X,"minItems",Q.exactLength.value,Q.exactLength.message,Y),s(X,"maxItems",Q.exactLength.value,Q.exactLength.message,Y);return X}function NB(Q,Y){let X={type:"integer",format:"int64"};if(!Q.checks)return X;for(let W of Q.checks)switch(W.kind){case"min":if(Y.target==="jsonSchema7")if(W.inclusive)s(X,"minimum",W.value,W.message,Y);else s(X,"exclusiveMinimum",W.value,W.message,Y);else{if(!W.inclusive)X.exclusiveMinimum=!0;s(X,"minimum",W.value,W.message,Y)}break;case"max":if(Y.target==="jsonSchema7")if(W.inclusive)s(X,"maximum",W.value,W.message,Y);else s(X,"exclusiveMaximum",W.value,W.message,Y);else{if(!W.inclusive)X.exclusiveMaximum=!0;s(X,"maximum",W.value,W.message,Y)}break;case"multipleOf":s(X,"multipleOf",W.value,W.message,Y);break}return X}function qB(){return{type:"boolean"}}function GY(Q,Y){return l(Q.type._def,Y)}var MB=(Q,Y)=>{return l(Q.innerType._def,Y)};function u5(Q,Y,X){let W=X??Y.dateStrategy;if(Array.isArray(W))return{anyOf:W.map(($,J)=>u5(Q,Y,$))};switch(W){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return db(Q,Y)}}var db=(Q,Y)=>{let X={type:"integer",format:"unix-time"};if(Y.target==="openApi3")return X;for(let W of Q.checks)switch(W.kind){case"min":s(X,"minimum",W.value,W.message,Y);break;case"max":s(X,"maximum",W.value,W.message,Y);break}return X};function bB(Q,Y){return{...l(Q.innerType._def,Y),default:Q.defaultValue()}}function ZB(Q,Y){return Y.effectStrategy==="input"?l(Q.schema._def,Y):q0(Y)}function PB(Q){return{type:"string",enum:Array.from(Q.values)}}var ib=(Q)=>{if("type"in Q&&Q.type==="string")return!1;return"allOf"in Q};function RB(Q,Y){let X=[l(Q.left._def,{...Y,currentPath:[...Y.currentPath,"allOf","0"]}),l(Q.right._def,{...Y,currentPath:[...Y.currentPath,"allOf","1"]})].filter((J)=>!!J),W=Y.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,$=[];return X.forEach((J)=>{if(ib(J)){if($.push(...J.allOf),J.unevaluatedProperties===void 0)W=void 0}else{let G=J;if("additionalProperties"in J&&J.additionalProperties===!1){let{additionalProperties:H,...B}=J;G=B}else W=void 0;$.push(G)}}),$.length?{allOf:$,...W}:void 0}function EB(Q,Y){let X=typeof Q.value;if(X!=="bigint"&&X!=="number"&&X!=="boolean"&&X!=="string")return{type:Array.isArray(Q.value)?"array":"object"};if(Y.target==="openApi3")return{type:X==="bigint"?"integer":X,enum:[Q.value]};return{type:X==="bigint"?"integer":X,const:Q.value}}var l5=void 0,P1={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>{if(l5===void 0)l5=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return l5},uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?: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])$/,ipv4Cidr:/^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function HY(Q,Y){let X={type:"string"};if(Q.checks)for(let W of Q.checks)switch(W.kind){case"min":s(X,"minLength",typeof X.minLength==="number"?Math.max(X.minLength,W.value):W.value,W.message,Y);break;case"max":s(X,"maxLength",typeof X.maxLength==="number"?Math.min(X.maxLength,W.value):W.value,W.message,Y);break;case"email":switch(Y.emailStrategy){case"format:email":R1(X,"email",W.message,Y);break;case"format:idn-email":R1(X,"idn-email",W.message,Y);break;case"pattern:zod":p0(X,P1.email,W.message,Y);break}break;case"url":R1(X,"uri",W.message,Y);break;case"uuid":R1(X,"uuid",W.message,Y);break;case"regex":p0(X,W.regex,W.message,Y);break;case"cuid":p0(X,P1.cuid,W.message,Y);break;case"cuid2":p0(X,P1.cuid2,W.message,Y);break;case"startsWith":p0(X,RegExp(`^${m5(W.value,Y)}`),W.message,Y);break;case"endsWith":p0(X,RegExp(`${m5(W.value,Y)}$`),W.message,Y);break;case"datetime":R1(X,"date-time",W.message,Y);break;case"date":R1(X,"date",W.message,Y);break;case"time":R1(X,"time",W.message,Y);break;case"duration":R1(X,"duration",W.message,Y);break;case"length":s(X,"minLength",typeof X.minLength==="number"?Math.max(X.minLength,W.value):W.value,W.message,Y),s(X,"maxLength",typeof X.maxLength==="number"?Math.min(X.maxLength,W.value):W.value,W.message,Y);break;case"includes":{p0(X,RegExp(m5(W.value,Y)),W.message,Y);break}case"ip":{if(W.version!=="v6")R1(X,"ipv4",W.message,Y);if(W.version!=="v4")R1(X,"ipv6",W.message,Y);break}case"base64url":p0(X,P1.base64url,W.message,Y);break;case"jwt":p0(X,P1.jwt,W.message,Y);break;case"cidr":{if(W.version!=="v6")p0(X,P1.ipv4Cidr,W.message,Y);if(W.version!=="v4")p0(X,P1.ipv6Cidr,W.message,Y);break}case"emoji":p0(X,P1.emoji(),W.message,Y);break;case"ulid":{p0(X,P1.ulid,W.message,Y);break}case"base64":{switch(Y.base64Strategy){case"format:binary":{R1(X,"binary",W.message,Y);break}case"contentEncoding:base64":{s(X,"contentEncoding","base64",W.message,Y);break}case"pattern:zod":{p0(X,P1.base64,W.message,Y);break}}break}case"nanoid":p0(X,P1.nanoid,W.message,Y);case"toLowerCase":case"toUpperCase":case"trim":break;default:(($)=>{})(W)}return X}function m5(Q,Y){return Y.patternStrategy==="escape"?ob(Q):Q}var nb=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function ob(Q){let Y="";for(let X=0;X<Q.length;X++){if(!nb.has(Q[X]))Y+="\\";Y+=Q[X]}return Y}function R1(Q,Y,X,W){if(Q.format||Q.anyOf?.some(($)=>$.format)){if(!Q.anyOf)Q.anyOf=[];if(Q.format){if(Q.anyOf.push({format:Q.format,...Q.errorMessage&&W.errorMessages&&{errorMessage:{format:Q.errorMessage.format}}}),delete Q.format,Q.errorMessage){if(delete Q.errorMessage.format,Object.keys(Q.errorMessage).length===0)delete Q.errorMessage}}Q.anyOf.push({format:Y,...X&&W.errorMessages&&{errorMessage:{format:X}}})}else s(Q,"format",Y,X,W)}function p0(Q,Y,X,W){if(Q.pattern||Q.allOf?.some(($)=>$.pattern)){if(!Q.allOf)Q.allOf=[];if(Q.pattern){if(Q.allOf.push({pattern:Q.pattern,...Q.errorMessage&&W.errorMessages&&{errorMessage:{pattern:Q.errorMessage.pattern}}}),delete Q.pattern,Q.errorMessage){if(delete Q.errorMessage.pattern,Object.keys(Q.errorMessage).length===0)delete Q.errorMessage}}Q.allOf.push({pattern:SB(Y,W),...X&&W.errorMessages&&{errorMessage:{pattern:X}}})}else s(Q,"pattern",SB(Y,W),X,W)}function SB(Q,Y){if(!Y.applyRegexFlags||!Q.flags)return Q.source;let X={i:Q.flags.includes("i"),m:Q.flags.includes("m"),s:Q.flags.includes("s")},W=X.i?Q.source.toLowerCase():Q.source,$="",J=!1,G=!1,H=!1;for(let B=0;B<W.length;B++){if(J){$+=W[B],J=!1;continue}if(X.i){if(G){if(W[B].match(/[a-z]/)){if(H)$+=W[B],$+=`${W[B-2]}-${W[B]}`.toUpperCase(),H=!1;else if(W[B+1]==="-"&&W[B+2]?.match(/[a-z]/))$+=W[B],H=!0;else $+=`${W[B]}${W[B].toUpperCase()}`;continue}}else if(W[B].match(/[a-z]/)){$+=`[${W[B]}${W[B].toUpperCase()}]`;continue}}if(X.m){if(W[B]==="^"){$+=`(^|(?<=[\r
44
44
  ]))`;continue}else if(W[B]==="$"){$+=`($|(?=[\r
45
- ]))`;continue}}if(Y.s&&W[B]==="."){$+=G?`${W[B]}\r
45
+ ]))`;continue}}if(X.s&&W[B]==="."){$+=G?`${W[B]}\r
46
46
  `:`[${W[B]}\r
47
- ]`;continue}if($+=W[B],W[B]==="\\")J=!0;else if(G&&W[B]==="]")G=!1;else if(!G&&W[B]==="[")G=!0}try{new RegExp($)}catch{return console.warn(`Could not convert regex pattern at ${X.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),Q.source}return $}function $X(Q,X){if(X.target==="openAi")console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.");if(X.target==="openApi3"&&Q.keyType?._def.typeName===P.ZodEnum)return{type:"object",required:Q.keyType._def.values,properties:Q.keyType._def.values.reduce((W,$)=>({...W,[$]:l(Q.valueType._def,{...X,currentPath:[...X.currentPath,"properties",$]})??w0(X)}),{}),additionalProperties:X.rejectedAdditionalProperties};let Y={type:"object",additionalProperties:l(Q.valueType._def,{...X,currentPath:[...X.currentPath,"additionalProperties"]})??X.allowedAdditionalProperties};if(X.target==="openApi3")return Y;if(Q.keyType?._def.typeName===P.ZodString&&Q.keyType._def.checks?.length){let{type:W,...$}=WX(Q.keyType._def,X);return{...Y,propertyNames:$}}else if(Q.keyType?._def.typeName===P.ZodEnum)return{...Y,propertyNames:{enum:Q.keyType._def.values}};else if(Q.keyType?._def.typeName===P.ZodBranded&&Q.keyType._def.type._def.typeName===P.ZodString&&Q.keyType._def.type._def.checks?.length){let{type:W,...$}=YX(Q.keyType._def,X);return{...Y,propertyNames:$}}return Y}function LB(Q,X){if(X.mapStrategy==="record")return $X(Q,X);let Y=l(Q.keyType._def,{...X,currentPath:[...X.currentPath,"items","items","0"]})||w0(X),W=l(Q.valueType._def,{...X,currentPath:[...X.currentPath,"items","items","1"]})||w0(X);return{type:"array",maxItems:125,items:{type:"array",items:[Y,W],minItems:2,maxItems:2}}}function OB(Q){let X=Q.values,W=Object.keys(Q.values).filter((J)=>{return typeof X[X[J]]!=="number"}).map((J)=>X[J]),$=Array.from(new Set(W.map((J)=>typeof J)));return{type:$.length===1?$[0]==="string"?"string":"number":["string","number"],enum:W}}function UB(Q){return Q.target==="openAi"?void 0:{not:w0({...Q,currentPath:[...Q.currentPath,"not"]})}}function jB(Q){return Q.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var J4={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function qB(Q,X){if(X.target==="openApi3")return NB(Q,X);let Y=Q.options instanceof Map?Array.from(Q.options.values()):Q.options;if(Y.every((W)=>(W._def.typeName in J4)&&(!W._def.checks||!W._def.checks.length))){let W=Y.reduce(($,J)=>{let G=J4[J._def.typeName];return G&&!$.includes(G)?[...$,G]:$},[]);return{type:W.length>1?W:W[0]}}else if(Y.every((W)=>W._def.typeName==="ZodLiteral"&&!W.description)){let W=Y.reduce(($,J)=>{let G=typeof J._def.value;switch(G){case"string":case"number":case"boolean":return[...$,G];case"bigint":return[...$,"integer"];case"object":if(J._def.value===null)return[...$,"null"];case"symbol":case"undefined":case"function":default:return $}},[]);if(W.length===Y.length){let $=W.filter((J,G,H)=>H.indexOf(J)===G);return{type:$.length>1?$:$[0],enum:Y.reduce((J,G)=>{return J.includes(G._def.value)?J:[...J,G._def.value]},[])}}}else if(Y.every((W)=>W._def.typeName==="ZodEnum"))return{type:"string",enum:Y.reduce((W,$)=>[...W,...$._def.values.filter((J)=>!W.includes(J))],[])};return NB(Q,X)}var NB=(Q,X)=>{let Y=(Q.options instanceof Map?Array.from(Q.options.values()):Q.options).map((W,$)=>l(W._def,{...X,currentPath:[...X.currentPath,"anyOf",`${$}`]})).filter((W)=>!!W&&(!X.strictUnions||typeof W==="object"&&Object.keys(W).length>0));return Y.length?{anyOf:Y}:void 0};function wB(Q,X){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(Q.innerType._def.typeName)&&(!Q.innerType._def.checks||!Q.innerType._def.checks.length)){if(X.target==="openApi3")return{type:J4[Q.innerType._def.typeName],nullable:!0};return{type:[J4[Q.innerType._def.typeName],"null"]}}if(X.target==="openApi3"){let W=l(Q.innerType._def,{...X,currentPath:[...X.currentPath]});if(W&&"$ref"in W)return{allOf:[W],nullable:!0};return W&&{...W,nullable:!0}}let Y=l(Q.innerType._def,{...X,currentPath:[...X.currentPath,"anyOf","0"]});return Y&&{anyOf:[Y,{type:"null"}]}}function MB(Q,X){let Y={type:"number"};if(!Q.checks)return Y;for(let W of Q.checks)switch(W.kind){case"int":Y.type="integer",C5(Y,"type",W.message,X);break;case"min":if(X.target==="jsonSchema7")if(W.inclusive)s(Y,"minimum",W.value,W.message,X);else s(Y,"exclusiveMinimum",W.value,W.message,X);else{if(!W.inclusive)Y.exclusiveMinimum=!0;s(Y,"minimum",W.value,W.message,X)}break;case"max":if(X.target==="jsonSchema7")if(W.inclusive)s(Y,"maximum",W.value,W.message,X);else s(Y,"exclusiveMaximum",W.value,W.message,X);else{if(!W.inclusive)Y.exclusiveMaximum=!0;s(Y,"maximum",W.value,W.message,X)}break;case"multipleOf":s(Y,"multipleOf",W.value,W.message,X);break}return Y}function bB(Q,X){let Y=X.target==="openAi",W={type:"object",properties:{}},$=[],J=Q.shape();for(let H in J){let B=J[H];if(B===void 0||B._def===void 0)continue;let z=Eb(B);if(z&&Y){if(B._def.typeName==="ZodOptional")B=B._def.innerType;if(!B.isNullable())B=B.nullable();z=!1}let K=l(B._def,{...X,currentPath:[...X.currentPath,"properties",H],propertyPath:[...X.currentPath,"properties",H]});if(K===void 0)continue;if(W.properties[H]=K,!z)$.push(H)}if($.length)W.required=$;let G=Rb(Q,X);if(G!==void 0)W.additionalProperties=G;return W}function Rb(Q,X){if(Q.catchall._def.typeName!=="ZodNever")return l(Q.catchall._def,{...X,currentPath:[...X.currentPath,"additionalProperties"]});switch(Q.unknownKeys){case"passthrough":return X.allowedAdditionalProperties;case"strict":return X.rejectedAdditionalProperties;case"strip":return X.removeAdditionalStrategy==="strict"?X.allowedAdditionalProperties:X.rejectedAdditionalProperties}}function Eb(Q){try{return Q.isOptional()}catch{return!0}}var PB=(Q,X)=>{if(X.currentPath.toString()===X.propertyPath?.toString())return l(Q.innerType._def,X);let Y=l(Q.innerType._def,{...X,currentPath:[...X.currentPath,"anyOf","1"]});return Y?{anyOf:[{not:w0(X)},Y]}:w0(X)};var ZB=(Q,X)=>{if(X.pipeStrategy==="input")return l(Q.in._def,X);else if(X.pipeStrategy==="output")return l(Q.out._def,X);let Y=l(Q.in._def,{...X,currentPath:[...X.currentPath,"allOf","0"]}),W=l(Q.out._def,{...X,currentPath:[...X.currentPath,"allOf",Y?"1":"0"]});return{allOf:[Y,W].filter(($)=>$!==void 0)}};function RB(Q,X){return l(Q.type._def,X)}function EB(Q,X){let W={type:"array",uniqueItems:!0,items:l(Q.valueType._def,{...X,currentPath:[...X.currentPath,"items"]})};if(Q.minSize)s(W,"minItems",Q.minSize.value,Q.minSize.message,X);if(Q.maxSize)s(W,"maxItems",Q.maxSize.value,Q.maxSize.message,X);return W}function SB(Q,X){if(Q.rest)return{type:"array",minItems:Q.items.length,items:Q.items.map((Y,W)=>l(Y._def,{...X,currentPath:[...X.currentPath,"items",`${W}`]})).reduce((Y,W)=>W===void 0?Y:[...Y,W],[]),additionalItems:l(Q.rest._def,{...X,currentPath:[...X.currentPath,"additionalItems"]})};else return{type:"array",minItems:Q.items.length,maxItems:Q.items.length,items:Q.items.map((Y,W)=>l(Y._def,{...X,currentPath:[...X.currentPath,"items",`${W}`]})).reduce((Y,W)=>W===void 0?Y:[...Y,W],[])}}function IB(Q){return{not:w0(Q)}}function TB(Q){return w0(Q)}var CB=(Q,X)=>{return l(Q.innerType._def,X)};var kB=(Q,X,Y)=>{switch(X){case P.ZodString:return WX(Q,Y);case P.ZodNumber:return MB(Q,Y);case P.ZodObject:return bB(Q,Y);case P.ZodBigInt:return GB(Q,Y);case P.ZodBoolean:return HB();case P.ZodDate:return k5(Q,Y);case P.ZodUndefined:return IB(Y);case P.ZodNull:return jB(Y);case P.ZodArray:return JB(Q,Y);case P.ZodUnion:case P.ZodDiscriminatedUnion:return qB(Q,Y);case P.ZodIntersection:return AB(Q,Y);case P.ZodTuple:return SB(Q,Y);case P.ZodRecord:return $X(Q,Y);case P.ZodLiteral:return FB(Q,Y);case P.ZodEnum:return VB(Q);case P.ZodNativeEnum:return OB(Q);case P.ZodNullable:return wB(Q,Y);case P.ZodOptional:return PB(Q,Y);case P.ZodMap:return LB(Q,Y);case P.ZodSet:return EB(Q,Y);case P.ZodLazy:return()=>Q.getter()._def;case P.ZodPromise:return RB(Q,Y);case P.ZodNaN:case P.ZodNever:return UB(Y);case P.ZodEffects:return KB(Q,Y);case P.ZodAny:return w0(Y);case P.ZodUnknown:return TB(Y);case P.ZodDefault:return zB(Q,Y);case P.ZodBranded:return YX(Q,Y);case P.ZodReadonly:return CB(Q,Y);case P.ZodCatch:return BB(Q,Y);case P.ZodPipeline:return ZB(Q,Y);case P.ZodFunction:case P.ZodVoid:case P.ZodSymbol:return;default:return((W)=>{return})(X)}};function l(Q,X,Y=!1){let W=X.seen.get(Q);if(X.override){let H=X.override?.(Q,X,W,Y);if(H!==YB)return H}if(W&&!Y){let H=Sb(W,X);if(H!==void 0)return H}let $={def:Q,path:X.currentPath,jsonSchema:void 0};X.seen.set(Q,$);let J=kB(Q,Q.typeName,X),G=typeof J==="function"?l(J(),X):J;if(G)Ib(Q,X,G);if(X.postProcess){let H=X.postProcess(G,Q,X);return $.jsonSchema=G,H}return $.jsonSchema=G,G}var Sb=(Q,X)=>{switch(X.$refStrategy){case"root":return{$ref:Q.path.join("/")};case"relative":return{$ref:XX(X.currentPath,Q.path)};case"none":case"seen":{if(Q.path.length<X.currentPath.length&&Q.path.every((Y,W)=>X.currentPath[W]===Y))return console.warn(`Recursive reference detected at ${X.currentPath.join("/")}! Defaulting to any`),w0(X);return X.$refStrategy==="seen"?w0(X):void 0}}},Ib=(Q,X,Y)=>{if(Q.description){if(Y.description=Q.description,X.markdownDescription)Y.markdownDescription=Q.description}return Y};var x5=(Q,X)=>{let Y=$B(X),W=typeof X==="object"&&X.definitions?Object.entries(X.definitions).reduce((B,[z,K])=>({...B,[z]:l(K._def,{...Y,currentPath:[...Y.basePath,Y.definitionPath,z]},!0)??w0(Y)}),{}):void 0,$=typeof X==="string"?X:X?.nameStrategy==="title"?void 0:X?.name,J=l(Q._def,$===void 0?Y:{...Y,currentPath:[...Y.basePath,Y.definitionPath,$]},!1)??w0(Y),G=typeof X==="object"&&X.name!==void 0&&X.nameStrategy==="title"?X.name:void 0;if(G!==void 0)J.title=G;if(Y.flags.hasReferencedOpenAiAnyType){if(!W)W={};if(!W[Y.openAiAnyTypeName])W[Y.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:Y.$refStrategy==="relative"?"1":[...Y.basePath,Y.definitionPath,Y.openAiAnyTypeName].join("/")}}}let H=$===void 0?W?{...J,[Y.definitionPath]:W}:J:{$ref:[...Y.$refStrategy==="relative"?[]:Y.basePath,Y.definitionPath,$].join("/"),[Y.definitionPath]:{...W,[$]:J}};if(Y.target==="jsonSchema7")H.$schema="http://json-schema.org/draft-07/schema#";else if(Y.target==="jsonSchema2019-09"||Y.target==="openAi")H.$schema="https://json-schema.org/draft/2019-09/schema#";if(Y.target==="openAi"&&(("anyOf"in H)||("oneOf"in H)||("allOf"in H)||("type"in H)&&Array.isArray(H.type)))console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property.");return H};function Tb(Q){if(!Q)return"draft-7";if(Q==="jsonSchema7"||Q==="draft-7")return"draft-7";if(Q==="jsonSchema2019-09"||Q==="draft-2020-12")return"draft-2020-12";return"draft-7"}function y5(Q,X){if(e0(Q))return RQ(Q,{target:Tb(X?.target),io:X?.pipeStrategy??"input"});return x5(Q,{strictUnions:X?.strictUnions??!0,pipeStrategy:X?.pipeStrategy??"input"})}function f5(Q){let Y=c1(Q)?.method;if(!Y)throw Error("Schema is missing a method literal");let W=IQ(Y);if(typeof W!=="string")throw Error("Schema method literal must be a string");return W}function g5(Q,X){let Y=c0(Q,X);if(!Y.success)throw Y.error;return Y.data}var Cb=60000;class G4{constructor(Q){if(this._options=Q,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(fQ,(X)=>{this._oncancel(X)}),this.setNotificationHandler(lQ,(X)=>{this._onprogress(X)}),this.setRequestHandler(uQ,(X)=>({})),this._taskStore=Q?.taskStore,this._taskMessageQueue=Q?.taskMessageQueue,this._taskStore)this.setRequestHandler(mQ,async(X,Y)=>{let W=await this._taskStore.getTask(X.params.taskId,Y.sessionId);if(!W)throw new I(k.InvalidParams,"Failed to retrieve task: Task not found");return{...W}}),this.setRequestHandler(pQ,async(X,Y)=>{let W=async()=>{let $=X.params.taskId;if(this._taskMessageQueue){let G;while(G=await this._taskMessageQueue.dequeue($,Y.sessionId)){if(G.type==="response"||G.type==="error"){let H=G.message,B=H.id,z=this._requestResolvers.get(B);if(z)if(this._requestResolvers.delete(B),G.type==="response")z(H);else{let K=H,V=new I(K.error.code,K.error.message,K.error.data);z(V)}else{let K=G.type==="response"?"Response":"Error";this._onerror(Error(`${K} handler missing for request ${B}`))}continue}await this._transport?.send(G.message,{relatedRequestId:Y.requestId})}}let J=await this._taskStore.getTask($,Y.sessionId);if(!J)throw new I(k.InvalidParams,`Task not found: ${$}`);if(!P6(J.status))return await this._waitForTaskUpdate($,Y.signal),await W();if(P6(J.status)){let G=await this._taskStore.getTaskResult($,Y.sessionId);return this._clearTaskQueue($),{...G,_meta:{...G._meta,[M6]:{taskId:$}}}}return await W()};return await W()}),this.setRequestHandler(dQ,async(X,Y)=>{try{let{tasks:W,nextCursor:$}=await this._taskStore.listTasks(X.params?.cursor,Y.sessionId);return{tasks:W,nextCursor:$,_meta:{}}}catch(W){throw new I(k.InvalidParams,`Failed to list tasks: ${W instanceof Error?W.message:String(W)}`)}}),this.setRequestHandler(nQ,async(X,Y)=>{try{let W=await this._taskStore.getTask(X.params.taskId,Y.sessionId);if(!W)throw new I(k.InvalidParams,`Task not found: ${X.params.taskId}`);if(P6(W.status))throw new I(k.InvalidParams,`Cannot cancel task in terminal status: ${W.status}`);await this._taskStore.updateTaskStatus(X.params.taskId,"cancelled","Client cancelled task execution.",Y.sessionId),this._clearTaskQueue(X.params.taskId);let $=await this._taskStore.getTask(X.params.taskId,Y.sessionId);if(!$)throw new I(k.InvalidParams,`Task not found after cancellation: ${X.params.taskId}`);return{_meta:{},...$}}catch(W){if(W instanceof I)throw W;throw new I(k.InvalidRequest,`Failed to cancel task: ${W instanceof Error?W.message:String(W)}`)}})}async _oncancel(Q){if(!Q.params.requestId)return;this._requestHandlerAbortControllers.get(Q.params.requestId)?.abort(Q.params.reason)}_setupTimeout(Q,X,Y,W,$=!1){this._timeoutInfo.set(Q,{timeoutId:setTimeout(W,X),startTime:Date.now(),timeout:X,maxTotalTimeout:Y,resetTimeoutOnProgress:$,onTimeout:W})}_resetTimeout(Q){let X=this._timeoutInfo.get(Q);if(!X)return!1;let Y=Date.now()-X.startTime;if(X.maxTotalTimeout&&Y>=X.maxTotalTimeout)throw this._timeoutInfo.delete(Q),I.fromError(k.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:X.maxTotalTimeout,totalElapsed:Y});return clearTimeout(X.timeoutId),X.timeoutId=setTimeout(X.onTimeout,X.timeout),!0}_cleanupTimeout(Q){let X=this._timeoutInfo.get(Q);if(X)clearTimeout(X.timeoutId),this._timeoutInfo.delete(Q)}async connect(Q){this._transport=Q;let X=this.transport?.onclose;this._transport.onclose=()=>{X?.(),this._onclose()};let Y=this.transport?.onerror;this._transport.onerror=($)=>{Y?.($),this._onerror($)};let W=this._transport?.onmessage;this._transport.onmessage=($,J)=>{if(W?.($,J),P1($)||p9($))this._onresponse($);else if(p1($))this._onrequest($,J);else if(m3($))this._onnotification($);else this._onerror(Error(`Unknown message type: ${JSON.stringify($)}`))},await this._transport.start()}_onclose(){let Q=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();let X=I.fromError(k.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let Y of Q.values())Y(X)}_onerror(Q){this.onerror?.(Q)}_onnotification(Q){let X=this._notificationHandlers.get(Q.method)??this.fallbackNotificationHandler;if(X===void 0)return;Promise.resolve().then(()=>X(Q)).catch((Y)=>this._onerror(Error(`Uncaught error in notification handler: ${Y}`)))}_onrequest(Q,X){let Y=this._requestHandlers.get(Q.method)??this.fallbackRequestHandler,W=this._transport,$=Q.params?._meta?.[M6]?.taskId;if(Y===void 0){let z={jsonrpc:"2.0",id:Q.id,error:{code:k.MethodNotFound,message:"Method not found"}};if($&&this._taskMessageQueue)this._enqueueTaskMessage($,{type:"error",message:z,timestamp:Date.now()},W?.sessionId).catch((K)=>this._onerror(Error(`Failed to enqueue error response: ${K}`)));else W?.send(z).catch((K)=>this._onerror(Error(`Failed to send an error response: ${K}`)));return}let J=new AbortController;this._requestHandlerAbortControllers.set(Q.id,J);let G=h3(Q.params)?Q.params.task:void 0,H=this._taskStore?this.requestTaskStore(Q,W?.sessionId):void 0,B={signal:J.signal,sessionId:W?.sessionId,_meta:Q.params?._meta,sendNotification:async(z)=>{let K={relatedRequestId:Q.id};if($)K.relatedTask={taskId:$};await this.notification(z,K)},sendRequest:async(z,K,V)=>{let A={...V,relatedRequestId:Q.id};if($&&!A.relatedTask)A.relatedTask={taskId:$};let F=A.relatedTask?.taskId??$;if(F&&H)await H.updateTaskStatus(F,"input_required");return await this.request(z,K,A)},authInfo:X?.authInfo,requestId:Q.id,requestInfo:X?.requestInfo,taskId:$,taskStore:H,taskRequestedTtl:G?.ttl,closeSSEStream:X?.closeSSEStream,closeStandaloneSSEStream:X?.closeStandaloneSSEStream};Promise.resolve().then(()=>{if(G)this.assertTaskHandlerCapability(Q.method)}).then(()=>Y(Q,B)).then(async(z)=>{if(J.signal.aborted)return;let K={result:z,jsonrpc:"2.0",id:Q.id};if($&&this._taskMessageQueue)await this._enqueueTaskMessage($,{type:"response",message:K,timestamp:Date.now()},W?.sessionId);else await W?.send(K)},async(z)=>{if(J.signal.aborted)return;let K={jsonrpc:"2.0",id:Q.id,error:{code:Number.isSafeInteger(z.code)?z.code:k.InternalError,message:z.message??"Internal error",...z.data!==void 0&&{data:z.data}}};if($&&this._taskMessageQueue)await this._enqueueTaskMessage($,{type:"error",message:K,timestamp:Date.now()},W?.sessionId);else await W?.send(K)}).catch((z)=>this._onerror(Error(`Failed to send response: ${z}`))).finally(()=>{this._requestHandlerAbortControllers.delete(Q.id)})}_onprogress(Q){let{progressToken:X,...Y}=Q.params,W=Number(X),$=this._progressHandlers.get(W);if(!$){this._onerror(Error(`Received a progress notification for an unknown token: ${JSON.stringify(Q)}`));return}let J=this._responseHandlers.get(W),G=this._timeoutInfo.get(W);if(G&&J&&G.resetTimeoutOnProgress)try{this._resetTimeout(W)}catch(H){this._responseHandlers.delete(W),this._progressHandlers.delete(W),this._cleanupTimeout(W),J(H);return}$(Y)}_onresponse(Q){let X=Number(Q.id),Y=this._requestResolvers.get(X);if(Y){if(this._requestResolvers.delete(X),P1(Q))Y(Q);else{let J=new I(Q.error.code,Q.error.message,Q.error.data);Y(J)}return}let W=this._responseHandlers.get(X);if(W===void 0){this._onerror(Error(`Received a response for an unknown message ID: ${JSON.stringify(Q)}`));return}this._responseHandlers.delete(X),this._cleanupTimeout(X);let $=!1;if(P1(Q)&&Q.result&&typeof Q.result==="object"){let J=Q.result;if(J.task&&typeof J.task==="object"){let G=J.task;if(typeof G.taskId==="string")$=!0,this._taskProgressTokens.set(G.taskId,X)}}if(!$)this._progressHandlers.delete(X);if(P1(Q))W(Q);else{let J=I.fromError(Q.error.code,Q.error.message,Q.error.data);W(J)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(Q,X,Y){let{task:W}=Y??{};if(!W){try{yield{type:"result",result:await this.request(Q,X,Y)}}catch(J){yield{type:"error",error:J instanceof I?J:new I(k.InternalError,String(J))}}return}let $;try{let J=await this.request(Q,W6,Y);if(J.task)$=J.task.taskId,yield{type:"taskCreated",task:J.task};else throw new I(k.InternalError,"Task creation did not return a task");while(!0){let G=await this.getTask({taskId:$},Y);if(yield{type:"taskStatus",task:G},P6(G.status)){if(G.status==="completed")yield{type:"result",result:await this.getTaskResult({taskId:$},X,Y)};else if(G.status==="failed")yield{type:"error",error:new I(k.InternalError,`Task ${$} failed`)};else if(G.status==="cancelled")yield{type:"error",error:new I(k.InternalError,`Task ${$} was cancelled`)};return}if(G.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:$},X,Y)};return}let H=G.pollInterval??this._options?.defaultTaskPollInterval??1000;await new Promise((B)=>setTimeout(B,H)),Y?.signal?.throwIfAborted()}}catch(J){yield{type:"error",error:J instanceof I?J:new I(k.InternalError,String(J))}}}request(Q,X,Y){let{relatedRequestId:W,resumptionToken:$,onresumptiontoken:J,task:G,relatedTask:H}=Y??{};return new Promise((B,z)=>{let K=(U)=>{z(U)};if(!this._transport){K(Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{if(this.assertCapabilityForMethod(Q.method),G)this.assertTaskCapability(Q.method)}catch(U){K(U);return}Y?.signal?.throwIfAborted();let V=this._requestMessageId++,A={...Q,jsonrpc:"2.0",id:V};if(Y?.onprogress)this._progressHandlers.set(V,Y.onprogress),A.params={...Q.params,_meta:{...Q.params?._meta||{},progressToken:V}};if(G)A.params={...A.params,task:G};if(H)A.params={...A.params,_meta:{...A.params?._meta||{},[M6]:H}};let F=(U)=>{this._responseHandlers.delete(V),this._progressHandlers.delete(V),this._cleanupTimeout(V),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:V,reason:String(U)}},{relatedRequestId:W,resumptionToken:$,onresumptiontoken:J}).catch((M)=>this._onerror(Error(`Failed to send cancellation: ${M}`)));let w=U instanceof I?U:new I(k.RequestTimeout,String(U));z(w)};this._responseHandlers.set(V,(U)=>{if(Y?.signal?.aborted)return;if(U instanceof Error)return z(U);try{let w=c0(X,U.result);if(!w.success)z(w.error);else B(w.data)}catch(w){z(w)}}),Y?.signal?.addEventListener("abort",()=>{F(Y?.signal?.reason)});let L=Y?.timeout??Cb,D=()=>F(I.fromError(k.RequestTimeout,"Request timed out",{timeout:L}));this._setupTimeout(V,L,Y?.maxTotalTimeout,D,Y?.resetTimeoutOnProgress??!1);let O=H?.taskId;if(O){let U=(w)=>{let M=this._responseHandlers.get(V);if(M)M(w);else this._onerror(Error(`Response handler missing for side-channeled request ${V}`))};this._requestResolvers.set(V,U),this._enqueueTaskMessage(O,{type:"request",message:A,timestamp:Date.now()}).catch((w)=>{this._cleanupTimeout(V),z(w)})}else this._transport.send(A,{relatedRequestId:W,resumptionToken:$,onresumptiontoken:J}).catch((U)=>{this._cleanupTimeout(V),z(U)})})}async getTask(Q,X){return this.request({method:"tasks/get",params:Q},cQ,X)}async getTaskResult(Q,X,Y){return this.request({method:"tasks/result",params:Q},X,Y)}async listTasks(Q,X){return this.request({method:"tasks/list",params:Q},iQ,X)}async cancelTask(Q,X){return this.request({method:"tasks/cancel",params:Q},d3,X)}async notification(Q,X){if(!this._transport)throw Error("Not connected");this.assertNotificationCapability(Q.method);let Y=X?.relatedTask?.taskId;if(Y){let G={...Q,jsonrpc:"2.0",params:{...Q.params,_meta:{...Q.params?._meta||{},[M6]:X.relatedTask}}};await this._enqueueTaskMessage(Y,{type:"notification",message:G,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(Q.method)&&!Q.params&&!X?.relatedRequestId&&!X?.relatedTask){if(this._pendingDebouncedNotifications.has(Q.method))return;this._pendingDebouncedNotifications.add(Q.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(Q.method),!this._transport)return;let G={...Q,jsonrpc:"2.0"};if(X?.relatedTask)G={...G,params:{...G.params,_meta:{...G.params?._meta||{},[M6]:X.relatedTask}}};this._transport?.send(G,X).catch((H)=>this._onerror(H))});return}let J={...Q,jsonrpc:"2.0"};if(X?.relatedTask)J={...J,params:{...J.params,_meta:{...J.params?._meta||{},[M6]:X.relatedTask}}};await this._transport.send(J,X)}setRequestHandler(Q,X){let Y=f5(Q);this.assertRequestHandlerCapability(Y),this._requestHandlers.set(Y,(W,$)=>{let J=g5(Q,W);return Promise.resolve(X(J,$))})}removeRequestHandler(Q){this._requestHandlers.delete(Q)}assertCanSetRequestHandler(Q){if(this._requestHandlers.has(Q))throw Error(`A request handler for ${Q} already exists, which would be overridden`)}setNotificationHandler(Q,X){let Y=f5(Q);this._notificationHandlers.set(Y,(W)=>{let $=g5(Q,W);return Promise.resolve(X($))})}removeNotificationHandler(Q){this._notificationHandlers.delete(Q)}_cleanupTaskProgressHandler(Q){let X=this._taskProgressTokens.get(Q);if(X!==void 0)this._progressHandlers.delete(X),this._taskProgressTokens.delete(Q)}async _enqueueTaskMessage(Q,X,Y){if(!this._taskStore||!this._taskMessageQueue)throw Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let W=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(Q,X,Y,W)}async _clearTaskQueue(Q,X){if(this._taskMessageQueue){let Y=await this._taskMessageQueue.dequeueAll(Q,X);for(let W of Y)if(W.type==="request"&&p1(W.message)){let $=W.message.id,J=this._requestResolvers.get($);if(J)J(new I(k.InternalError,"Task cancelled or completed")),this._requestResolvers.delete($);else this._onerror(Error(`Resolver missing for request ${$} during task ${Q} cleanup`))}}}async _waitForTaskUpdate(Q,X){let Y=this._options?.defaultTaskPollInterval??1000;try{let W=await this._taskStore?.getTask(Q);if(W?.pollInterval)Y=W.pollInterval}catch{}return new Promise((W,$)=>{if(X.aborted){$(new I(k.InvalidRequest,"Request cancelled"));return}let J=setTimeout(W,Y);X.addEventListener("abort",()=>{clearTimeout(J),$(new I(k.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(Q,X){let Y=this._taskStore;if(!Y)throw Error("No task store configured");return{createTask:async(W)=>{if(!Q)throw Error("No request provided");return await Y.createTask(W,Q.id,{method:Q.method,params:Q.params},X)},getTask:async(W)=>{let $=await Y.getTask(W,X);if(!$)throw new I(k.InvalidParams,"Failed to retrieve task: Task not found");return $},storeTaskResult:async(W,$,J)=>{await Y.storeTaskResult(W,$,J,X);let G=await Y.getTask(W,X);if(G){let H=e8.parse({method:"notifications/tasks/status",params:G});if(await this.notification(H),P6(G.status))this._cleanupTaskProgressHandler(W)}},getTaskResult:(W)=>{return Y.getTaskResult(W,X)},updateTaskStatus:async(W,$,J)=>{let G=await Y.getTask(W,X);if(!G)throw new I(k.InvalidParams,`Task "${W}" not found - it may have been cleaned up`);if(P6(G.status))throw new I(k.InvalidParams,`Cannot update task "${W}" from terminal status "${G.status}" to "${$}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await Y.updateTaskStatus(W,$,J,X);let H=await Y.getTask(W,X);if(H){let B=e8.parse({method:"notifications/tasks/status",params:H});if(await this.notification(B),P6(H.status))this._cleanupTaskProgressHandler(W)}},listTasks:(W)=>{return Y.listTasks(W,X)}}}}function vB(Q){return Q!==null&&typeof Q==="object"&&!Array.isArray(Q)}function JX(Q,X){let Y={...Q};for(let W in X){let $=W,J=X[$];if(J===void 0)continue;let G=Y[$];if(vB(G)&&vB(J))Y[$]={...G,...J};else Y[$]=J}return Y}var AU=WQ(nA(),1),FU=WQ(VU(),1);function sf(){let Q=new AU.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return FU.default(Q),Q}class s4{constructor(Q){this._ajv=Q??sf()}getValidator(Q){let X="$id"in Q&&typeof Q.$id==="string"?this._ajv.getSchema(Q.$id)??this._ajv.compile(Q):this._ajv.compile(Q);return(Y)=>{if(X(Y))return{valid:!0,data:Y,errorMessage:void 0};else return{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(X.errors)}}}}class SJ{constructor(Q){this._server=Q}requestStream(Q,X,Y){return this._server.requestStream(Q,X,Y)}async getTask(Q,X){return this._server.getTask({taskId:Q},X)}async getTaskResult(Q,X,Y){return this._server.getTaskResult({taskId:Q},X,Y)}async listTasks(Q,X){return this._server.listTasks(Q?{cursor:Q}:void 0,X)}async cancelTask(Q,X){return this._server.cancelTask({taskId:Q},X)}}function bY(Q,X,Y){if(!Q)throw Error(`${Y} does not support task creation (required for ${X})`);switch(X){case"tools/call":if(!Q.tools?.call)throw Error(`${Y} does not support task creation for tools/call (required for ${X})`);break;default:break}}function PY(Q,X,Y){if(!Q)throw Error(`${Y} does not support task creation (required for ${X})`);switch(X){case"sampling/createMessage":if(!Q.sampling?.createMessage)throw Error(`${Y} does not support task creation for sampling/createMessage (required for ${X})`);break;case"elicitation/create":if(!Q.elicitation?.create)throw Error(`${Y} does not support task creation for elicitation/create (required for ${X})`);break;default:break}}class IJ extends G4{constructor(Q,X){super(X);if(this._serverInfo=Q,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(Y4.options.map((Y,W)=>[Y,W])),this.isMessageIgnored=(Y,W)=>{let $=this._loggingLevels.get(W);return $?this.LOG_LEVEL_SEVERITY.get(Y)<this.LOG_LEVEL_SEVERITY.get($):!1},this._capabilities=X?.capabilities??{},this._instructions=X?.instructions,this._jsonSchemaValidator=X?.jsonSchemaValidator??new s4,this.setRequestHandler(gQ,(Y)=>this._oninitialize(Y)),this.setNotificationHandler(hQ,()=>this.oninitialized?.()),this._capabilities.logging)this.setRequestHandler(E5,async(Y,W)=>{let $=W.sessionId||W.requestInfo?.headers["mcp-session-id"]||void 0,{level:J}=Y.params,G=Y4.safeParse(J);if(G.success)this._loggingLevels.set($,G.data);return{}})}get experimental(){if(!this._experimental)this._experimental={tasks:new SJ(this)};return this._experimental}registerCapabilities(Q){if(this.transport)throw Error("Cannot register capabilities after connecting to transport");this._capabilities=JX(this._capabilities,Q)}setRequestHandler(Q,X){let W=c1(Q)?.method;if(!W)throw Error("Schema is missing a method literal");let $;if(e0(W)){let G=W;$=G._zod?.def?.value??G.value}else{let G=W;$=G._def?.value??G.value}if(typeof $!=="string")throw Error("Schema method literal must be a string");if($==="tools/call"){let G=async(H,B)=>{let z=c0(i9,H);if(!z.success){let F=z.error instanceof Error?z.error.message:String(z.error);throw new I(k.InvalidParams,`Invalid tools/call request: ${F}`)}let{params:K}=z.data,V=await Promise.resolve(X(H,B));if(K.task){let F=c0(W6,V);if(!F.success){let L=F.error instanceof Error?F.error.message:String(F.error);throw new I(k.InvalidParams,`Invalid task creation result: ${L}`)}return F.data}let A=c0(b6,V);if(!A.success){let F=A.error instanceof Error?A.error.message:String(A.error);throw new I(k.InvalidParams,`Invalid tools/call result: ${F}`)}return A.data};return super.setRequestHandler(Q,G)}return super.setRequestHandler(Q,X)}assertCapabilityForMethod(Q){switch(Q){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw Error(`Client does not support sampling (required for ${Q})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw Error(`Client does not support elicitation (required for ${Q})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw Error(`Client does not support listing roots (required for ${Q})`);break;case"ping":break}}assertNotificationCapability(Q){switch(Q){case"notifications/message":if(!this._capabilities.logging)throw Error(`Server does not support logging (required for ${Q})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw Error(`Server does not support notifying about resources (required for ${Q})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw Error(`Server does not support notifying of tool list changes (required for ${Q})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw Error(`Server does not support notifying of prompt list changes (required for ${Q})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw Error(`Client does not support URL elicitation (required for ${Q})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(Q){if(!this._capabilities)return;switch(Q){case"completion/complete":if(!this._capabilities.completions)throw Error(`Server does not support completions (required for ${Q})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw Error(`Server does not support logging (required for ${Q})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw Error(`Server does not support prompts (required for ${Q})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw Error(`Server does not support resources (required for ${Q})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw Error(`Server does not support tools (required for ${Q})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw Error(`Server does not support tasks capability (required for ${Q})`);break;case"ping":case"initialize":break}}assertTaskCapability(Q){PY(this._clientCapabilities?.tasks?.requests,Q,"Client")}assertTaskHandlerCapability(Q){if(!this._capabilities)return;bY(this._capabilities.tasks?.requests,Q,"Server")}async _oninitialize(Q){let X=Q.params.protocolVersion;return this._clientCapabilities=Q.params.capabilities,this._clientVersion=Q.params.clientInfo,{protocolVersion:Q9.includes(X)?X:w6,capabilities:this.getCapabilities(),serverInfo:this._serverInfo,...this._instructions&&{instructions:this._instructions}}}getClientCapabilities(){return this._clientCapabilities}getClientVersion(){return this._clientVersion}getCapabilities(){return this._capabilities}async ping(){return this.request({method:"ping"},Y6)}async createMessage(Q,X){if(Q.tools||Q.toolChoice){if(!this._clientCapabilities?.sampling?.tools)throw Error("Client does not support sampling tools capability.")}if(Q.messages.length>0){let Y=Q.messages[Q.messages.length-1],W=Array.isArray(Y.content)?Y.content:[Y.content],$=W.some((B)=>B.type==="tool_result"),J=Q.messages.length>1?Q.messages[Q.messages.length-2]:void 0,G=J?Array.isArray(J.content)?J.content:[J.content]:[],H=G.some((B)=>B.type==="tool_use");if($){if(W.some((B)=>B.type!=="tool_result"))throw Error("The last message must contain only tool_result content if any is present");if(!H)throw Error("tool_result blocks are not matching any tool_use from the previous message")}if(H){let B=new Set(G.filter((K)=>K.type==="tool_use").map((K)=>K.id)),z=new Set(W.filter((K)=>K.type==="tool_result").map((K)=>K.toolUseId));if(B.size!==z.size||![...B].every((K)=>z.has(K)))throw Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}if(Q.tools)return this.request({method:"sampling/createMessage",params:Q},S5,X);return this.request({method:"sampling/createMessage",params:Q},$4,X)}async elicitInput(Q,X){switch(Q.mode??"form"){case"url":{if(!this._clientCapabilities?.elicitation?.url)throw Error("Client does not support url elicitation.");let W=Q;return this.request({method:"elicitation/create",params:W},n9,X)}case"form":{if(!this._clientCapabilities?.elicitation?.form)throw Error("Client does not support form elicitation.");let W=Q.mode==="form"?Q:{...Q,mode:"form"},$=await this.request({method:"elicitation/create",params:W},n9,X);if($.action==="accept"&&$.content&&W.requestedSchema)try{let G=this._jsonSchemaValidator.getValidator(W.requestedSchema)($.content);if(!G.valid)throw new I(k.InvalidParams,`Elicitation response content does not match requested schema: ${G.errorMessage}`)}catch(J){if(J instanceof I)throw J;throw new I(k.InternalError,`Error validating elicitation response: ${J instanceof Error?J.message:String(J)}`)}return $}}}createElicitationCompletionNotifier(Q,X){if(!this._clientCapabilities?.elicitation?.url)throw Error("Client does not support URL elicitation (required for notifications/elicitation/complete)");return()=>this.notification({method:"notifications/elicitation/complete",params:{elicitationId:Q}},X)}async listRoots(Q,X){return this.request({method:"roots/list",params:Q},T5,X)}async sendLoggingMessage(Q,X){if(this._capabilities.logging){if(!this.isMessageIgnored(Q.level,X))return this.notification({method:"notifications/message",params:Q})}}async sendResourceUpdated(Q){return this.notification({method:"notifications/resources/updated",params:Q})}async sendResourceListChanged(){return this.notification({method:"notifications/resources/list_changed"})}async sendToolListChanged(){return this.notification({method:"notifications/tools/list_changed"})}async sendPromptListChanged(){return this.notification({method:"notifications/prompts/list_changed"})}}var LU=Symbol.for("mcp.completable");function TJ(Q){return!!Q&&typeof Q==="object"&&LU in Q}function OU(Q){return Q[LU]?.complete}var DU;(function(Q){Q.Completable="McpCompletable"})(DU||(DU={}));var ef=/^[A-Za-z0-9._-]{1,128}$/;function Qg(Q){let X=[];if(Q.length===0)return{isValid:!1,warnings:["Tool name cannot be empty"]};if(Q.length>128)return{isValid:!1,warnings:[`Tool name exceeds maximum length of 128 characters (current: ${Q.length})`]};if(Q.includes(" "))X.push("Tool name contains spaces, which may cause parsing issues");if(Q.includes(","))X.push("Tool name contains commas, which may cause parsing issues");if(Q.startsWith("-")||Q.endsWith("-"))X.push("Tool name starts or ends with a dash, which may cause parsing issues in some contexts");if(Q.startsWith(".")||Q.endsWith("."))X.push("Tool name starts or ends with a dot, which may cause parsing issues in some contexts");if(!ef.test(Q)){let Y=Q.split("").filter((W)=>!/[A-Za-z0-9._-]/.test(W)).filter((W,$,J)=>J.indexOf(W)===$);return X.push(`Tool name contains invalid characters: ${Y.map((W)=>`"${W}"`).join(", ")}`,"Allowed characters are: A-Z, a-z, 0-9, underscore (_), dash (-), and dot (.)"),{isValid:!1,warnings:X}}return{isValid:!0,warnings:X}}function Xg(Q,X){if(X.length>0){console.warn(`Tool name validation warning for "${Q}":`);for(let Y of X)console.warn(` - ${Y}`);console.warn("Tool registration will proceed, but this may cause compatibility issues."),console.warn("Consider updating the tool name to conform to the MCP tool naming standard."),console.warn("See SEP: Specify Format for Tool Names (https://github.com/modelcontextprotocol/modelcontextprotocol/issues/986) for more details.")}}function CJ(Q){let X=Qg(Q);return Xg(Q,X.warnings),X.isValid}class kJ{constructor(Q){this._mcpServer=Q}registerToolTask(Q,X,Y){let W={taskSupport:"required",...X.execution};if(W.taskSupport==="forbidden")throw Error(`Cannot register task-based tool '${Q}' with taskSupport 'forbidden'. Use registerTool() instead.`);return this._mcpServer._createRegisteredTool(Q,X.title,X.description,X.inputSchema,X.outputSchema,X.annotations,W,X._meta,Y)}}class _J{constructor(Q,X){this._registeredResources={},this._registeredResourceTemplates={},this._registeredTools={},this._registeredPrompts={},this._toolHandlersInitialized=!1,this._completionHandlerInitialized=!1,this._resourceHandlersInitialized=!1,this._promptHandlersInitialized=!1,this.server=new IJ(Q,X)}get experimental(){if(!this._experimental)this._experimental={tasks:new kJ(this)};return this._experimental}async connect(Q){return await this.server.connect(Q)}async close(){await this.server.close()}setToolRequestHandlers(){if(this._toolHandlersInitialized)return;this.server.assertCanSetRequestHandler(g6(eQ)),this.server.assertCanSetRequestHandler(g6(i9)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(eQ,()=>({tools:Object.entries(this._registeredTools).filter(([,Q])=>Q.enabled).map(([Q,X])=>{let Y={name:Q,title:X.title,description:X.description,inputSchema:(()=>{let W=m9(X.inputSchema);return W?y5(W,{strictUnions:!0,pipeStrategy:"input"}):Yg})(),annotations:X.annotations,execution:X.execution,_meta:X._meta};if(X.outputSchema){let W=m9(X.outputSchema);if(W)Y.outputSchema=y5(W,{strictUnions:!0,pipeStrategy:"output"})}return Y})})),this.server.setRequestHandler(i9,async(Q,X)=>{try{let Y=this._registeredTools[Q.params.name];if(!Y)throw new I(k.InvalidParams,`Tool ${Q.params.name} not found`);if(!Y.enabled)throw new I(k.InvalidParams,`Tool ${Q.params.name} disabled`);let W=!!Q.params.task,$=Y.execution?.taskSupport,J="createTask"in Y.handler;if(($==="required"||$==="optional")&&!J)throw new I(k.InternalError,`Tool ${Q.params.name} has taskSupport '${$}' but was not registered with registerToolTask`);if($==="required"&&!W)throw new I(k.MethodNotFound,`Tool ${Q.params.name} requires task augmentation (taskSupport: 'required')`);if($==="optional"&&!W&&J)return await this.handleAutomaticTaskPolling(Y,Q,X);let G=await this.validateToolInput(Y,Q.params.arguments,Q.params.name),H=await this.executeToolHandler(Y,G,X);if(W)return H;return await this.validateToolOutput(Y,H,Q.params.name),H}catch(Y){if(Y instanceof I){if(Y.code===k.UrlElicitationRequired)throw Y}return this.createToolError(Y instanceof Error?Y.message:String(Y))}}),this._toolHandlersInitialized=!0}createToolError(Q){return{content:[{type:"text",text:Q}],isError:!0}}async validateToolInput(Q,X,Y){if(!Q.inputSchema)return;let $=m9(Q.inputSchema)??Q.inputSchema,J=await EQ($,X);if(!J.success){let G="error"in J?J.error:"Unknown error",H=SQ(G);throw new I(k.InvalidParams,`Input validation error: Invalid arguments for tool ${Y}: ${H}`)}return J.data}async validateToolOutput(Q,X,Y){if(!Q.outputSchema)return;if(!("content"in X))return;if(X.isError)return;if(!X.structuredContent)throw new I(k.InvalidParams,`Output validation error: Tool ${Y} has an output schema but no structured content was provided`);let W=m9(Q.outputSchema),$=await EQ(W,X.structuredContent);if(!$.success){let J="error"in $?$.error:"Unknown error",G=SQ(J);throw new I(k.InvalidParams,`Output validation error: Invalid structured content for tool ${Y}: ${G}`)}}async executeToolHandler(Q,X,Y){let W=Q.handler;if("createTask"in W){if(!Y.taskStore)throw Error("No task store provided.");let J={...Y,taskStore:Y.taskStore};if(Q.inputSchema)return await Promise.resolve(W.createTask(X,J));else return await Promise.resolve(W.createTask(J))}if(Q.inputSchema)return await Promise.resolve(W(X,Y));else return await Promise.resolve(W(Y))}async handleAutomaticTaskPolling(Q,X,Y){if(!Y.taskStore)throw Error("No task store provided for task-capable tool.");let W=await this.validateToolInput(Q,X.params.arguments,X.params.name),$=Q.handler,J={...Y,taskStore:Y.taskStore},G=W?await Promise.resolve($.createTask(W,J)):await Promise.resolve($.createTask(J)),H=G.task.taskId,B=G.task,z=B.pollInterval??5000;while(B.status!=="completed"&&B.status!=="failed"&&B.status!=="cancelled"){await new Promise((V)=>setTimeout(V,z));let K=await Y.taskStore.getTask(H);if(!K)throw new I(k.InternalError,`Task ${H} not found during polling`);B=K}return await Y.taskStore.getTaskResult(H)}setCompletionRequestHandler(){if(this._completionHandlerInitialized)return;this.server.assertCanSetRequestHandler(g6(QX)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(QX,async(Q)=>{switch(Q.params.ref.type){case"ref/prompt":return s3(Q),this.handlePromptCompletion(Q,Q.params.ref);case"ref/resource":return e3(Q),this.handleResourceCompletion(Q,Q.params.ref);default:throw new I(k.InvalidParams,`Invalid completion reference: ${Q.params.ref}`)}}),this._completionHandlerInitialized=!0}async handlePromptCompletion(Q,X){let Y=this._registeredPrompts[X.name];if(!Y)throw new I(k.InvalidParams,`Prompt ${X.name} not found`);if(!Y.enabled)throw new I(k.InvalidParams,`Prompt ${X.name} disabled`);if(!Y.argsSchema)return e4;let $=c1(Y.argsSchema)?.[Q.params.argument.name];if(!TJ($))return e4;let J=OU($);if(!J)return e4;let G=await J(Q.params.argument.value,Q.params.context);return jU(G)}async handleResourceCompletion(Q,X){let Y=Object.values(this._registeredResourceTemplates).find((J)=>J.resourceTemplate.uriTemplate.toString()===X.uri);if(!Y){if(this._registeredResources[X.uri])return e4;throw new I(k.InvalidParams,`Resource template ${Q.params.ref.uri} not found`)}let W=Y.resourceTemplate.completeCallback(Q.params.argument.name);if(!W)return e4;let $=await W(Q.params.argument.value,Q.params.context);return jU($)}setResourceRequestHandlers(){if(this._resourceHandlersInitialized)return;this.server.assertCanSetRequestHandler(g6(oQ)),this.server.assertCanSetRequestHandler(g6(rQ)),this.server.assertCanSetRequestHandler(g6(tQ)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(oQ,async(Q,X)=>{let Y=Object.entries(this._registeredResources).filter(([$,J])=>J.enabled).map(([$,J])=>({uri:$,name:J.name,...J.metadata})),W=[];for(let $ of Object.values(this._registeredResourceTemplates)){if(!$.resourceTemplate.listCallback)continue;let J=await $.resourceTemplate.listCallback(X);for(let G of J.resources)W.push({...$.metadata,...G})}return{resources:[...Y,...W]}}),this.server.setRequestHandler(rQ,async()=>{return{resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([X,Y])=>({name:X,uriTemplate:Y.resourceTemplate.uriTemplate.toString(),...Y.metadata}))}}),this.server.setRequestHandler(tQ,async(Q,X)=>{let Y=new URL(Q.params.uri),W=this._registeredResources[Y.toString()];if(W){if(!W.enabled)throw new I(k.InvalidParams,`Resource ${Y} disabled`);return W.readCallback(Y,X)}for(let $ of Object.values(this._registeredResourceTemplates)){let J=$.resourceTemplate.uriTemplate.match(Y.toString());if(J)return $.readCallback(Y,J,X)}throw new I(k.InvalidParams,`Resource ${Y} not found`)}),this._resourceHandlersInitialized=!0}setPromptRequestHandlers(){if(this._promptHandlersInitialized)return;this.server.assertCanSetRequestHandler(g6(aQ)),this.server.assertCanSetRequestHandler(g6(sQ)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(aQ,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,Q])=>Q.enabled).map(([Q,X])=>{return{name:Q,title:X.title,description:X.description,arguments:X.argsSchema?$g(X.argsSchema):void 0}})})),this.server.setRequestHandler(sQ,async(Q,X)=>{let Y=this._registeredPrompts[Q.params.name];if(!Y)throw new I(k.InvalidParams,`Prompt ${Q.params.name} not found`);if(!Y.enabled)throw new I(k.InvalidParams,`Prompt ${Q.params.name} disabled`);if(Y.argsSchema){let W=m9(Y.argsSchema),$=await EQ(W,Q.params.arguments);if(!$.success){let H="error"in $?$.error:"Unknown error",B=SQ(H);throw new I(k.InvalidParams,`Invalid arguments for prompt ${Q.params.name}: ${B}`)}let J=$.data,G=Y.callback;return await Promise.resolve(G(J,X))}else{let W=Y.callback;return await Promise.resolve(W(X))}}),this._promptHandlersInitialized=!0}resource(Q,X,...Y){let W;if(typeof Y[0]==="object")W=Y.shift();let $=Y[0];if(typeof X==="string"){if(this._registeredResources[X])throw Error(`Resource ${X} is already registered`);let J=this._createRegisteredResource(Q,void 0,X,W,$);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),J}else{if(this._registeredResourceTemplates[Q])throw Error(`Resource template ${Q} is already registered`);let J=this._createRegisteredResourceTemplate(Q,void 0,X,W,$);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),J}}registerResource(Q,X,Y,W){if(typeof X==="string"){if(this._registeredResources[X])throw Error(`Resource ${X} is already registered`);let $=this._createRegisteredResource(Q,Y.title,X,Y,W);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),$}else{if(this._registeredResourceTemplates[Q])throw Error(`Resource template ${Q} is already registered`);let $=this._createRegisteredResourceTemplate(Q,Y.title,X,Y,W);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),$}}_createRegisteredResource(Q,X,Y,W,$){let J={name:Q,title:X,metadata:W,readCallback:$,enabled:!0,disable:()=>J.update({enabled:!1}),enable:()=>J.update({enabled:!0}),remove:()=>J.update({uri:null}),update:(G)=>{if(typeof G.uri<"u"&&G.uri!==Y){if(delete this._registeredResources[Y],G.uri)this._registeredResources[G.uri]=J}if(typeof G.name<"u")J.name=G.name;if(typeof G.title<"u")J.title=G.title;if(typeof G.metadata<"u")J.metadata=G.metadata;if(typeof G.callback<"u")J.readCallback=G.callback;if(typeof G.enabled<"u")J.enabled=G.enabled;this.sendResourceListChanged()}};return this._registeredResources[Y]=J,J}_createRegisteredResourceTemplate(Q,X,Y,W,$){let J={resourceTemplate:Y,title:X,metadata:W,readCallback:$,enabled:!0,disable:()=>J.update({enabled:!1}),enable:()=>J.update({enabled:!0}),remove:()=>J.update({name:null}),update:(B)=>{if(typeof B.name<"u"&&B.name!==Q){if(delete this._registeredResourceTemplates[Q],B.name)this._registeredResourceTemplates[B.name]=J}if(typeof B.title<"u")J.title=B.title;if(typeof B.template<"u")J.resourceTemplate=B.template;if(typeof B.metadata<"u")J.metadata=B.metadata;if(typeof B.callback<"u")J.readCallback=B.callback;if(typeof B.enabled<"u")J.enabled=B.enabled;this.sendResourceListChanged()}};this._registeredResourceTemplates[Q]=J;let G=Y.uriTemplate.variableNames;if(Array.isArray(G)&&G.some((B)=>!!Y.completeCallback(B)))this.setCompletionRequestHandler();return J}_createRegisteredPrompt(Q,X,Y,W,$){let J={title:X,description:Y,argsSchema:W===void 0?void 0:e6(W),callback:$,enabled:!0,disable:()=>J.update({enabled:!1}),enable:()=>J.update({enabled:!0}),remove:()=>J.update({name:null}),update:(G)=>{if(typeof G.name<"u"&&G.name!==Q){if(delete this._registeredPrompts[Q],G.name)this._registeredPrompts[G.name]=J}if(typeof G.title<"u")J.title=G.title;if(typeof G.description<"u")J.description=G.description;if(typeof G.argsSchema<"u")J.argsSchema=e6(G.argsSchema);if(typeof G.callback<"u")J.callback=G.callback;if(typeof G.enabled<"u")J.enabled=G.enabled;this.sendPromptListChanged()}};if(this._registeredPrompts[Q]=J,W){if(Object.values(W).some((H)=>{let B=H instanceof z1?H._def?.innerType:H;return TJ(B)}))this.setCompletionRequestHandler()}return J}_createRegisteredTool(Q,X,Y,W,$,J,G,H,B){CJ(Q);let z={title:X,description:Y,inputSchema:UU(W),outputSchema:UU($),annotations:J,execution:G,_meta:H,handler:B,enabled:!0,disable:()=>z.update({enabled:!1}),enable:()=>z.update({enabled:!0}),remove:()=>z.update({name:null}),update:(K)=>{if(typeof K.name<"u"&&K.name!==Q){if(typeof K.name==="string")CJ(K.name);if(delete this._registeredTools[Q],K.name)this._registeredTools[K.name]=z}if(typeof K.title<"u")z.title=K.title;if(typeof K.description<"u")z.description=K.description;if(typeof K.paramsSchema<"u")z.inputSchema=e6(K.paramsSchema);if(typeof K.outputSchema<"u")z.outputSchema=e6(K.outputSchema);if(typeof K.callback<"u")z.handler=K.callback;if(typeof K.annotations<"u")z.annotations=K.annotations;if(typeof K._meta<"u")z._meta=K._meta;if(typeof K.enabled<"u")z.enabled=K.enabled;this.sendToolListChanged()}};return this._registeredTools[Q]=z,this.setToolRequestHandlers(),this.sendToolListChanged(),z}tool(Q,...X){if(this._registeredTools[Q])throw Error(`Tool ${Q} is already registered`);let Y,W,$,J;if(typeof X[0]==="string")Y=X.shift();if(X.length>1){let H=X[0];if(vJ(H)){if(W=X.shift(),X.length>1&&typeof X[0]==="object"&&X[0]!==null&&!vJ(X[0]))J=X.shift()}else if(typeof H==="object"&&H!==null)J=X.shift()}let G=X[0];return this._createRegisteredTool(Q,void 0,Y,W,$,J,{taskSupport:"forbidden"},void 0,G)}registerTool(Q,X,Y){if(this._registeredTools[Q])throw Error(`Tool ${Q} is already registered`);let{title:W,description:$,inputSchema:J,outputSchema:G,annotations:H,_meta:B}=X;return this._createRegisteredTool(Q,W,$,J,G,H,{taskSupport:"forbidden"},B,Y)}prompt(Q,...X){if(this._registeredPrompts[Q])throw Error(`Prompt ${Q} is already registered`);let Y;if(typeof X[0]==="string")Y=X.shift();let W;if(X.length>1)W=X.shift();let $=X[0],J=this._createRegisteredPrompt(Q,void 0,Y,W,$);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),J}registerPrompt(Q,X,Y){if(this._registeredPrompts[Q])throw Error(`Prompt ${Q} is already registered`);let{title:W,description:$,argsSchema:J}=X,G=this._createRegisteredPrompt(Q,W,$,J,Y);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),G}isConnected(){return this.server.transport!==void 0}async sendLoggingMessage(Q,X){return this.server.sendLoggingMessage(Q,X)}sendResourceListChanged(){if(this.isConnected())this.server.sendResourceListChanged()}sendToolListChanged(){if(this.isConnected())this.server.sendToolListChanged()}sendPromptListChanged(){if(this.isConnected())this.server.sendPromptListChanged()}}var Yg={type:"object",properties:{}};function NU(Q){return Q!==null&&typeof Q==="object"&&"parse"in Q&&typeof Q.parse==="function"&&"safeParse"in Q&&typeof Q.safeParse==="function"}function Wg(Q){return"_def"in Q||"_zod"in Q||NU(Q)}function vJ(Q){if(typeof Q!=="object"||Q===null)return!1;if(Wg(Q))return!1;if(Object.keys(Q).length===0)return!0;return Object.values(Q).some(NU)}function UU(Q){if(!Q)return;if(vJ(Q))return e6(Q);return Q}function $g(Q){let X=c1(Q);if(!X)return[];return Object.entries(X).map(([Y,W])=>{let $=H3(W),J=B3(W);return{name:Y,description:$,required:!J}})}function g6(Q){let Y=c1(Q)?.method;if(!Y)throw Error("Schema is missing a method literal");let W=IQ(Y);if(typeof W==="string")return W;throw Error("Schema method literal must be a string")}function jU(Q){return{completion:{values:Q.slice(0,100),total:Q.length,hasMore:Q.length>100}}}var e4={completion:{values:[],hasMore:!1}};import{Http2ServerRequest as Jg}from"http2";import{Http2ServerRequest as xJ}from"http2";import{Readable as qU}from"stream";import Ug from"crypto";var j9=class extends Error{constructor(Q,X){super(Q,X);this.name="RequestError"}},Gg=(Q)=>{if(Q instanceof j9)return Q;return new j9(Q.message,{cause:Q})},Hg=global.Request,QQ=class extends Hg{constructor(Q,X){if(typeof Q==="object"&&U8 in Q)Q=Q[U8]();if(typeof X?.body?.getReader<"u")X.duplex??="half";super(Q,X)}},Bg=(Q)=>{let X=[],Y=Q.rawHeaders;for(let W=0;W<Y.length;W+=2){let{[W]:$,[W+1]:J}=Y;if($.charCodeAt(0)!==58)X.push([$,J])}return new Headers(X)},MU=Symbol("wrapBodyStream"),zg=(Q,X,Y,W,$)=>{let J={method:Q,headers:Y,signal:$.signal};if(Q==="TRACE"){J.method="GET";let G=new QQ(X,J);return Object.defineProperty(G,"method",{get(){return"TRACE"}}),G}if(!(Q==="GET"||Q==="HEAD"))if("rawBody"in W&&W.rawBody instanceof Buffer)J.body=new ReadableStream({start(G){G.enqueue(W.rawBody),G.close()}});else if(W[MU]){let G;J.body=new ReadableStream({async pull(H){try{G||=qU.toWeb(W).getReader();let{done:B,value:z}=await G.read();if(B)H.close();else H.enqueue(z)}catch(B){H.error(B)}}})}else J.body=qU.toWeb(W);return new QQ(X,J)},U8=Symbol("getRequestCache"),Kg=Symbol("requestCache"),ZY=Symbol("incomingKey"),RY=Symbol("urlKey"),Vg=Symbol("headersKey"),O8=Symbol("abortControllerKey"),Ag=Symbol("getAbortController"),EY={get method(){return this[ZY].method||"GET"},get url(){return this[RY]},get headers(){return this[Vg]||=Bg(this[ZY])},[Ag](){return this[U8](),this[O8]},[U8](){return this[O8]||=new AbortController,this[Kg]||=zg(this.method,this[RY],this.headers,this[ZY],this[O8])}};["body","bodyUsed","cache","credentials","destination","integrity","mode","redirect","referrer","referrerPolicy","signal","keepalive"].forEach((Q)=>{Object.defineProperty(EY,Q,{get(){return this[U8]()[Q]}})});["arrayBuffer","blob","clone","formData","json","text"].forEach((Q)=>{Object.defineProperty(EY,Q,{value:function(){return this[U8]()[Q]()}})});Object.setPrototypeOf(EY,QQ.prototype);var Fg=(Q,X)=>{let Y=Object.create(EY);Y[ZY]=Q;let W=Q.url||"";if(W[0]!=="/"&&(W.startsWith("http://")||W.startsWith("https://"))){if(Q instanceof xJ)throw new j9("Absolute URL for :path is not allowed in HTTP/2");try{let H=new URL(W);Y[RY]=H.href}catch(H){throw new j9("Invalid absolute URL",{cause:H})}return Y}let $=(Q instanceof xJ?Q.authority:Q.headers.host)||X;if(!$)throw new j9("Missing host header");let J;if(Q instanceof xJ){if(J=Q.scheme,!(J==="http"||J==="https"))throw new j9("Unsupported scheme")}else J=Q.socket&&Q.socket.encrypted?"https":"http";let G=new URL(`${J}://${$}${W}`);if(G.hostname.length!==$.length&&G.hostname!==$.replace(/:\d+$/,""))throw new j9("Invalid host header");return Y[RY]=G.href,Y},wU=Symbol("responseCache"),L8=Symbol("getResponseCache"),N9=Symbol("cache"),fJ=global.Response,XQ=class Q{#X;#Q;[L8](){return delete this[N9],this[wU]||=new fJ(this.#X,this.#Q)}constructor(X,Y){let W;if(this.#X=X,Y instanceof Q){let $=Y[wU];if($){this.#Q=$,this[L8]();return}else this.#Q=Y.#Q,W=new Headers(Y.#Q.headers)}else this.#Q=Y;if(typeof X==="string"||typeof X?.getReader<"u"||X instanceof Blob||X instanceof Uint8Array)W||=Y?.headers||{"content-type":"text/plain; charset=UTF-8"},this[N9]=[Y?.status||200,X,W]}get headers(){let X=this[N9];if(X){if(!(X[2]instanceof Headers))X[2]=new Headers(X[2]);return X[2]}return this[L8]().headers}get status(){return this[N9]?.[0]??this[L8]().status}get ok(){let X=this.status;return X>=200&&X<300}};["body","bodyUsed","redirected","statusText","trailers","type","url"].forEach((Q)=>{Object.defineProperty(XQ.prototype,Q,{get(){return this[L8]()[Q]}})});["arrayBuffer","blob","clone","formData","json","text"].forEach((Q)=>{Object.defineProperty(XQ.prototype,Q,{value:function(){return this[L8]()[Q]()}})});Object.setPrototypeOf(XQ,fJ);Object.setPrototypeOf(XQ.prototype,fJ.prototype);async function Dg(Q){return Promise.race([Q,Promise.resolve().then(()=>Promise.resolve(void 0))])}function bU(Q,X,Y){let W=(H)=>{Q.cancel(H).catch(()=>{})};return X.on("close",W),X.on("error",W),(Y??Q.read()).then(G,$),Q.closed.finally(()=>{X.off("close",W),X.off("error",W)});function $(H){if(H)X.destroy(H)}function J(){Q.read().then(G,$)}function G({done:H,value:B}){try{if(H)X.end();else if(!X.write(B))X.once("drain",J);else return Q.read().then(G,$)}catch(z){$(z)}}}function Lg(Q,X){if(Q.locked)throw TypeError("ReadableStream is locked.");else if(X.destroyed)return;return bU(Q.getReader(),X)}var PU=(Q)=>{let X={};if(!(Q instanceof Headers))Q=new Headers(Q??void 0);let Y=[];for(let[W,$]of Q)if(W==="set-cookie")Y.push($);else X[W]=$;if(Y.length>0)X["set-cookie"]=Y;return X["content-type"]??="text/plain; charset=UTF-8",X},Og="x-hono-already-sent",jg=global.fetch;if(typeof global.crypto>"u")global.crypto=Ug;global.fetch=(Q,X)=>{return X={compress:!1,...X},jg(Q,X)};var gJ=Symbol("outgoingEnded"),Ng=()=>new Response(null,{status:400}),ZU=(Q)=>new Response(null,{status:Q instanceof Error&&(Q.name==="TimeoutError"||Q.constructor.name==="TimeoutError")?504:500}),yJ=(Q,X)=>{let Y=Q instanceof Error?Q:Error("unknown error",{cause:Q});if(Y.code==="ERR_STREAM_PREMATURE_CLOSE")console.info("The user aborted a request.");else{if(console.error(Q),!X.headersSent)X.writeHead(500,{"Content-Type":"text/plain"});X.end(`Error: ${Y.message}`),X.destroy(Y)}},RU=(Q)=>{if("flushHeaders"in Q&&Q.writable)Q.flushHeaders()},EU=async(Q,X)=>{let[Y,W,$]=Q[N9];if($ instanceof Headers)$=PU($);if(typeof W==="string")$["Content-Length"]=Buffer.byteLength(W);else if(W instanceof Uint8Array)$["Content-Length"]=W.byteLength;else if(W instanceof Blob)$["Content-Length"]=W.size;if(X.writeHead(Y,$),typeof W==="string"||W instanceof Uint8Array)X.end(W);else if(W instanceof Blob)X.end(new Uint8Array(await W.arrayBuffer()));else RU(X),await Lg(W,X)?.catch((J)=>yJ(J,X));X[gJ]?.()},qg=(Q)=>typeof Q.then==="function",wg=async(Q,X,Y={})=>{if(qg(Q))if(Y.errorHandler)try{Q=await Q}catch($){let J=await Y.errorHandler($);if(!J)return;Q=J}else Q=await Q.catch(ZU);if(N9 in Q)return EU(Q,X);let W=PU(Q.headers);if(Q.body){let $=Q.body.getReader(),J=[],G=!1,H=void 0;if(W["transfer-encoding"]!=="chunked"){let B=2;for(let z=0;z<B;z++){H||=$.read();let K=await Dg(H).catch((V)=>{console.error(V),G=!0});if(!K){if(z===1){await new Promise((V)=>setTimeout(V)),B=3;continue}break}if(H=void 0,K.value)J.push(K.value);if(K.done){G=!0;break}}if(G&&!("content-length"in W))W["content-length"]=J.reduce((z,K)=>z+K.length,0)}if(X.writeHead(Q.status,W),J.forEach((B)=>{X.write(B)}),G)X.end();else{if(J.length===0)RU(X);await bU($,X,H)}}else if(W[Og]);else X.writeHead(Q.status,W),X.end();X[gJ]?.()},hJ=(Q,X={})=>{let Y=X.autoCleanupIncoming??!0;if(X.overrideGlobalObjects!==!1&&global.Request!==QQ)Object.defineProperty(global,"Request",{value:QQ}),Object.defineProperty(global,"Response",{value:XQ});return async(W,$)=>{let J,G;try{G=Fg(W,X.hostname);let H=!Y||W.method==="GET"||W.method==="HEAD";if(!H){if(W[MU]=!0,W.on("end",()=>{H=!0}),W instanceof Jg)$[gJ]=()=>{if(!H)setTimeout(()=>{if(!H)setTimeout(()=>{W.destroy(),$.destroy()})})}}if($.on("close",()=>{if(G[O8]){if(W.errored)G[O8].abort(W.errored.toString());else if(!$.writableFinished)G[O8].abort("Client connection prematurely closed.")}if(!H)setTimeout(()=>{if(!H)setTimeout(()=>{W.destroy()})})}),J=Q(G,{incoming:W,outgoing:$}),N9 in J)return EU(J,$)}catch(H){if(!J)if(X.errorHandler){if(J=await X.errorHandler(G?H:Gg(H)),!J)return}else if(!G)J=Ng();else J=ZU(H);else return yJ(H,$)}try{return await wg(J,$,X)}catch(H){return yJ(H,$)}}};class uJ{constructor(Q={}){this._started=!1,this._streamMapping=new Map,this._requestToStreamMapping=new Map,this._requestResponseMap=new Map,this._initialized=!1,this._enableJsonResponse=!1,this._standaloneSseStreamId="_GET_stream",this.sessionIdGenerator=Q.sessionIdGenerator,this._enableJsonResponse=Q.enableJsonResponse??!1,this._eventStore=Q.eventStore,this._onsessioninitialized=Q.onsessioninitialized,this._onsessionclosed=Q.onsessionclosed,this._allowedHosts=Q.allowedHosts,this._allowedOrigins=Q.allowedOrigins,this._enableDnsRebindingProtection=Q.enableDnsRebindingProtection??!1,this._retryInterval=Q.retryInterval}async start(){if(this._started)throw Error("Transport already started");this._started=!0}createJsonErrorResponse(Q,X,Y,W){let $={code:X,message:Y};if(W?.data!==void 0)$.data=W.data;return new Response(JSON.stringify({jsonrpc:"2.0",error:$,id:null}),{status:Q,headers:{"Content-Type":"application/json",...W?.headers}})}validateRequestHeaders(Q){if(!this._enableDnsRebindingProtection)return;if(this._allowedHosts&&this._allowedHosts.length>0){let X=Q.headers.get("host");if(!X||!this._allowedHosts.includes(X)){let Y=`Invalid Host header: ${X}`;return this.onerror?.(Error(Y)),this.createJsonErrorResponse(403,-32000,Y)}}if(this._allowedOrigins&&this._allowedOrigins.length>0){let X=Q.headers.get("origin");if(X&&!this._allowedOrigins.includes(X)){let Y=`Invalid Origin header: ${X}`;return this.onerror?.(Error(Y)),this.createJsonErrorResponse(403,-32000,Y)}}return}async handleRequest(Q,X){let Y=this.validateRequestHeaders(Q);if(Y)return Y;switch(Q.method){case"POST":return this.handlePostRequest(Q,X);case"GET":return this.handleGetRequest(Q);case"DELETE":return this.handleDeleteRequest(Q);default:return this.handleUnsupportedRequest()}}async writePrimingEvent(Q,X,Y,W){if(!this._eventStore)return;if(W<"2025-11-25")return;let $=await this._eventStore.storeEvent(Y,{}),J=`id: ${$}
47
+ ]`;continue}if($+=W[B],W[B]==="\\")J=!0;else if(G&&W[B]==="]")G=!1;else if(!G&&W[B]==="[")G=!0}try{new RegExp($)}catch{return console.warn(`Could not convert regex pattern at ${Y.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),Q.source}return $}function BY(Q,Y){if(Y.target==="openAi")console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.");if(Y.target==="openApi3"&&Q.keyType?._def.typeName===Z.ZodEnum)return{type:"object",required:Q.keyType._def.values,properties:Q.keyType._def.values.reduce((W,$)=>({...W,[$]:l(Q.valueType._def,{...Y,currentPath:[...Y.currentPath,"properties",$]})??q0(Y)}),{}),additionalProperties:Y.rejectedAdditionalProperties};let X={type:"object",additionalProperties:l(Q.valueType._def,{...Y,currentPath:[...Y.currentPath,"additionalProperties"]})??Y.allowedAdditionalProperties};if(Y.target==="openApi3")return X;if(Q.keyType?._def.typeName===Z.ZodString&&Q.keyType._def.checks?.length){let{type:W,...$}=HY(Q.keyType._def,Y);return{...X,propertyNames:$}}else if(Q.keyType?._def.typeName===Z.ZodEnum)return{...X,propertyNames:{enum:Q.keyType._def.values}};else if(Q.keyType?._def.typeName===Z.ZodBranded&&Q.keyType._def.type._def.typeName===Z.ZodString&&Q.keyType._def.type._def.checks?.length){let{type:W,...$}=GY(Q.keyType._def,Y);return{...X,propertyNames:$}}return X}function IB(Q,Y){if(Y.mapStrategy==="record")return BY(Q,Y);let X=l(Q.keyType._def,{...Y,currentPath:[...Y.currentPath,"items","items","0"]})||q0(Y),W=l(Q.valueType._def,{...Y,currentPath:[...Y.currentPath,"items","items","1"]})||q0(Y);return{type:"array",maxItems:125,items:{type:"array",items:[X,W],minItems:2,maxItems:2}}}function TB(Q){let Y=Q.values,W=Object.keys(Q.values).filter((J)=>{return typeof Y[Y[J]]!=="number"}).map((J)=>Y[J]),$=Array.from(new Set(W.map((J)=>typeof J)));return{type:$.length===1?$[0]==="string"?"string":"number":["string","number"],enum:W}}function CB(Q){return Q.target==="openAi"?void 0:{not:q0({...Q,currentPath:[...Q.currentPath,"not"]})}}function kB(Q){return Q.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var z4={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function vB(Q,Y){if(Y.target==="openApi3")return _B(Q,Y);let X=Q.options instanceof Map?Array.from(Q.options.values()):Q.options;if(X.every((W)=>(W._def.typeName in z4)&&(!W._def.checks||!W._def.checks.length))){let W=X.reduce(($,J)=>{let G=z4[J._def.typeName];return G&&!$.includes(G)?[...$,G]:$},[]);return{type:W.length>1?W:W[0]}}else if(X.every((W)=>W._def.typeName==="ZodLiteral"&&!W.description)){let W=X.reduce(($,J)=>{let G=typeof J._def.value;switch(G){case"string":case"number":case"boolean":return[...$,G];case"bigint":return[...$,"integer"];case"object":if(J._def.value===null)return[...$,"null"];case"symbol":case"undefined":case"function":default:return $}},[]);if(W.length===X.length){let $=W.filter((J,G,H)=>H.indexOf(J)===G);return{type:$.length>1?$:$[0],enum:X.reduce((J,G)=>{return J.includes(G._def.value)?J:[...J,G._def.value]},[])}}}else if(X.every((W)=>W._def.typeName==="ZodEnum"))return{type:"string",enum:X.reduce((W,$)=>[...W,...$._def.values.filter((J)=>!W.includes(J))],[])};return _B(Q,Y)}var _B=(Q,Y)=>{let X=(Q.options instanceof Map?Array.from(Q.options.values()):Q.options).map((W,$)=>l(W._def,{...Y,currentPath:[...Y.currentPath,"anyOf",`${$}`]})).filter((W)=>!!W&&(!Y.strictUnions||typeof W==="object"&&Object.keys(W).length>0));return X.length?{anyOf:X}:void 0};function xB(Q,Y){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(Q.innerType._def.typeName)&&(!Q.innerType._def.checks||!Q.innerType._def.checks.length)){if(Y.target==="openApi3")return{type:z4[Q.innerType._def.typeName],nullable:!0};return{type:[z4[Q.innerType._def.typeName],"null"]}}if(Y.target==="openApi3"){let W=l(Q.innerType._def,{...Y,currentPath:[...Y.currentPath]});if(W&&"$ref"in W)return{allOf:[W],nullable:!0};return W&&{...W,nullable:!0}}let X=l(Q.innerType._def,{...Y,currentPath:[...Y.currentPath,"anyOf","0"]});return X&&{anyOf:[X,{type:"null"}]}}function yB(Q,Y){let X={type:"number"};if(!Q.checks)return X;for(let W of Q.checks)switch(W.kind){case"int":X.type="integer",g5(X,"type",W.message,Y);break;case"min":if(Y.target==="jsonSchema7")if(W.inclusive)s(X,"minimum",W.value,W.message,Y);else s(X,"exclusiveMinimum",W.value,W.message,Y);else{if(!W.inclusive)X.exclusiveMinimum=!0;s(X,"minimum",W.value,W.message,Y)}break;case"max":if(Y.target==="jsonSchema7")if(W.inclusive)s(X,"maximum",W.value,W.message,Y);else s(X,"exclusiveMaximum",W.value,W.message,Y);else{if(!W.inclusive)X.exclusiveMaximum=!0;s(X,"maximum",W.value,W.message,Y)}break;case"multipleOf":s(X,"multipleOf",W.value,W.message,Y);break}return X}function fB(Q,Y){let X=Y.target==="openAi",W={type:"object",properties:{}},$=[],J=Q.shape();for(let H in J){let B=J[H];if(B===void 0||B._def===void 0)continue;let z=ab(B);if(z&&X){if(B._def.typeName==="ZodOptional")B=B._def.innerType;if(!B.isNullable())B=B.nullable();z=!1}let K=l(B._def,{...Y,currentPath:[...Y.currentPath,"properties",H],propertyPath:[...Y.currentPath,"properties",H]});if(K===void 0)continue;if(W.properties[H]=K,!z)$.push(H)}if($.length)W.required=$;let G=rb(Q,Y);if(G!==void 0)W.additionalProperties=G;return W}function rb(Q,Y){if(Q.catchall._def.typeName!=="ZodNever")return l(Q.catchall._def,{...Y,currentPath:[...Y.currentPath,"additionalProperties"]});switch(Q.unknownKeys){case"passthrough":return Y.allowedAdditionalProperties;case"strict":return Y.rejectedAdditionalProperties;case"strip":return Y.removeAdditionalStrategy==="strict"?Y.allowedAdditionalProperties:Y.rejectedAdditionalProperties}}function ab(Q){try{return Q.isOptional()}catch{return!0}}var hB=(Q,Y)=>{if(Y.currentPath.toString()===Y.propertyPath?.toString())return l(Q.innerType._def,Y);let X=l(Q.innerType._def,{...Y,currentPath:[...Y.currentPath,"anyOf","1"]});return X?{anyOf:[{not:q0(Y)},X]}:q0(Y)};var gB=(Q,Y)=>{if(Y.pipeStrategy==="input")return l(Q.in._def,Y);else if(Y.pipeStrategy==="output")return l(Q.out._def,Y);let X=l(Q.in._def,{...Y,currentPath:[...Y.currentPath,"allOf","0"]}),W=l(Q.out._def,{...Y,currentPath:[...Y.currentPath,"allOf",X?"1":"0"]});return{allOf:[X,W].filter(($)=>$!==void 0)}};function uB(Q,Y){return l(Q.type._def,Y)}function lB(Q,Y){let W={type:"array",uniqueItems:!0,items:l(Q.valueType._def,{...Y,currentPath:[...Y.currentPath,"items"]})};if(Q.minSize)s(W,"minItems",Q.minSize.value,Q.minSize.message,Y);if(Q.maxSize)s(W,"maxItems",Q.maxSize.value,Q.maxSize.message,Y);return W}function mB(Q,Y){if(Q.rest)return{type:"array",minItems:Q.items.length,items:Q.items.map((X,W)=>l(X._def,{...Y,currentPath:[...Y.currentPath,"items",`${W}`]})).reduce((X,W)=>W===void 0?X:[...X,W],[]),additionalItems:l(Q.rest._def,{...Y,currentPath:[...Y.currentPath,"additionalItems"]})};else return{type:"array",minItems:Q.items.length,maxItems:Q.items.length,items:Q.items.map((X,W)=>l(X._def,{...Y,currentPath:[...Y.currentPath,"items",`${W}`]})).reduce((X,W)=>W===void 0?X:[...X,W],[])}}function cB(Q){return{not:q0(Q)}}function pB(Q){return q0(Q)}var dB=(Q,Y)=>{return l(Q.innerType._def,Y)};var iB=(Q,Y,X)=>{switch(Y){case Z.ZodString:return HY(Q,X);case Z.ZodNumber:return yB(Q,X);case Z.ZodObject:return fB(Q,X);case Z.ZodBigInt:return NB(Q,X);case Z.ZodBoolean:return qB();case Z.ZodDate:return u5(Q,X);case Z.ZodUndefined:return cB(X);case Z.ZodNull:return kB(X);case Z.ZodArray:return wB(Q,X);case Z.ZodUnion:case Z.ZodDiscriminatedUnion:return vB(Q,X);case Z.ZodIntersection:return RB(Q,X);case Z.ZodTuple:return mB(Q,X);case Z.ZodRecord:return BY(Q,X);case Z.ZodLiteral:return EB(Q,X);case Z.ZodEnum:return PB(Q);case Z.ZodNativeEnum:return TB(Q);case Z.ZodNullable:return xB(Q,X);case Z.ZodOptional:return hB(Q,X);case Z.ZodMap:return IB(Q,X);case Z.ZodSet:return lB(Q,X);case Z.ZodLazy:return()=>Q.getter()._def;case Z.ZodPromise:return uB(Q,X);case Z.ZodNaN:case Z.ZodNever:return CB(X);case Z.ZodEffects:return ZB(Q,X);case Z.ZodAny:return q0(X);case Z.ZodUnknown:return pB(X);case Z.ZodDefault:return bB(Q,X);case Z.ZodBranded:return GY(Q,X);case Z.ZodReadonly:return dB(Q,X);case Z.ZodCatch:return MB(Q,X);case Z.ZodPipeline:return gB(Q,X);case Z.ZodFunction:case Z.ZodVoid:case Z.ZodSymbol:return;default:return((W)=>{return})(Y)}};function l(Q,Y,X=!1){let W=Y.seen.get(Q);if(Y.override){let H=Y.override?.(Q,Y,W,X);if(H!==OB)return H}if(W&&!X){let H=tb(W,Y);if(H!==void 0)return H}let $={def:Q,path:Y.currentPath,jsonSchema:void 0};Y.seen.set(Q,$);let J=iB(Q,Q.typeName,Y),G=typeof J==="function"?l(J(),Y):J;if(G)sb(Q,Y,G);if(Y.postProcess){let H=Y.postProcess(G,Q,Y);return $.jsonSchema=G,H}return $.jsonSchema=G,G}var tb=(Q,Y)=>{switch(Y.$refStrategy){case"root":return{$ref:Q.path.join("/")};case"relative":return{$ref:JY(Y.currentPath,Q.path)};case"none":case"seen":{if(Q.path.length<Y.currentPath.length&&Q.path.every((X,W)=>Y.currentPath[W]===X))return console.warn(`Recursive reference detected at ${Y.currentPath.join("/")}! Defaulting to any`),q0(Y);return Y.$refStrategy==="seen"?q0(Y):void 0}}},sb=(Q,Y,X)=>{if(Q.description){if(X.description=Q.description,Y.markdownDescription)X.markdownDescription=Q.description}return X};var c5=(Q,Y)=>{let X=jB(Y),W=typeof Y==="object"&&Y.definitions?Object.entries(Y.definitions).reduce((B,[z,K])=>({...B,[z]:l(K._def,{...X,currentPath:[...X.basePath,X.definitionPath,z]},!0)??q0(X)}),{}):void 0,$=typeof Y==="string"?Y:Y?.nameStrategy==="title"?void 0:Y?.name,J=l(Q._def,$===void 0?X:{...X,currentPath:[...X.basePath,X.definitionPath,$]},!1)??q0(X),G=typeof Y==="object"&&Y.name!==void 0&&Y.nameStrategy==="title"?Y.name:void 0;if(G!==void 0)J.title=G;if(X.flags.hasReferencedOpenAiAnyType){if(!W)W={};if(!W[X.openAiAnyTypeName])W[X.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:X.$refStrategy==="relative"?"1":[...X.basePath,X.definitionPath,X.openAiAnyTypeName].join("/")}}}let H=$===void 0?W?{...J,[X.definitionPath]:W}:J:{$ref:[...X.$refStrategy==="relative"?[]:X.basePath,X.definitionPath,$].join("/"),[X.definitionPath]:{...W,[$]:J}};if(X.target==="jsonSchema7")H.$schema="http://json-schema.org/draft-07/schema#";else if(X.target==="jsonSchema2019-09"||X.target==="openAi")H.$schema="https://json-schema.org/draft/2019-09/schema#";if(X.target==="openAi"&&(("anyOf"in H)||("oneOf"in H)||("allOf"in H)||("type"in H)&&Array.isArray(H.type)))console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property.");return H};function eb(Q){if(!Q)return"draft-7";if(Q==="jsonSchema7"||Q==="draft-7")return"draft-7";if(Q==="jsonSchema2019-09"||Q==="draft-2020-12")return"draft-2020-12";return"draft-7"}function p5(Q,Y){if(e0(Q))return TQ(Q,{target:eb(Y?.target),io:Y?.pipeStrategy??"input"});return c5(Q,{strictUnions:Y?.strictUnions??!0,pipeStrategy:Y?.pipeStrategy??"input"})}function d5(Q){let X=c1(Q)?.method;if(!X)throw Error("Schema is missing a method literal");let W=_Q(X);if(typeof W!=="string")throw Error("Schema method literal must be a string");return W}function i5(Q,Y){let X=c0(Q,Y);if(!X.success)throw X.error;return X.data}var QZ=60000;class K4{constructor(Q){if(this._options=Q,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(lQ,(Y)=>{this._oncancel(Y)}),this.setNotificationHandler(dQ,(Y)=>{this._onprogress(Y)}),this.setRequestHandler(pQ,(Y)=>({})),this._taskStore=Q?.taskStore,this._taskMessageQueue=Q?.taskMessageQueue,this._taskStore)this.setRequestHandler(iQ,async(Y,X)=>{let W=await this._taskStore.getTask(Y.params.taskId,X.sessionId);if(!W)throw new I(_.InvalidParams,"Failed to retrieve task: Task not found");return{...W}}),this.setRequestHandler(oQ,async(Y,X)=>{let W=async()=>{let $=Y.params.taskId;if(this._taskMessageQueue){let G;while(G=await this._taskMessageQueue.dequeue($,X.sessionId)){if(G.type==="response"||G.type==="error"){let H=G.message,B=H.id,z=this._requestResolvers.get(B);if(z)if(this._requestResolvers.delete(B),G.type==="response")z(H);else{let K=H,V=new I(K.error.code,K.error.message,K.error.data);z(V)}else{let K=G.type==="response"?"Response":"Error";this._onerror(Error(`${K} handler missing for request ${B}`))}continue}await this._transport?.send(G.message,{relatedRequestId:X.requestId})}}let J=await this._taskStore.getTask($,X.sessionId);if(!J)throw new I(_.InvalidParams,`Task not found: ${$}`);if(!P6(J.status))return await this._waitForTaskUpdate($,X.signal),await W();if(P6(J.status)){let G=await this._taskStore.getTaskResult($,X.sessionId);return this._clearTaskQueue($),{...G,_meta:{...G._meta,[b6]:{taskId:$}}}}return await W()};return await W()}),this.setRequestHandler(rQ,async(Y,X)=>{try{let{tasks:W,nextCursor:$}=await this._taskStore.listTasks(Y.params?.cursor,X.sessionId);return{tasks:W,nextCursor:$,_meta:{}}}catch(W){throw new I(_.InvalidParams,`Failed to list tasks: ${W instanceof Error?W.message:String(W)}`)}}),this.setRequestHandler(tQ,async(Y,X)=>{try{let W=await this._taskStore.getTask(Y.params.taskId,X.sessionId);if(!W)throw new I(_.InvalidParams,`Task not found: ${Y.params.taskId}`);if(P6(W.status))throw new I(_.InvalidParams,`Cannot cancel task in terminal status: ${W.status}`);await this._taskStore.updateTaskStatus(Y.params.taskId,"cancelled","Client cancelled task execution.",X.sessionId),this._clearTaskQueue(Y.params.taskId);let $=await this._taskStore.getTask(Y.params.taskId,X.sessionId);if(!$)throw new I(_.InvalidParams,`Task not found after cancellation: ${Y.params.taskId}`);return{_meta:{},...$}}catch(W){if(W instanceof I)throw W;throw new I(_.InvalidRequest,`Failed to cancel task: ${W instanceof Error?W.message:String(W)}`)}})}async _oncancel(Q){if(!Q.params.requestId)return;this._requestHandlerAbortControllers.get(Q.params.requestId)?.abort(Q.params.reason)}_setupTimeout(Q,Y,X,W,$=!1){this._timeoutInfo.set(Q,{timeoutId:setTimeout(W,Y),startTime:Date.now(),timeout:Y,maxTotalTimeout:X,resetTimeoutOnProgress:$,onTimeout:W})}_resetTimeout(Q){let Y=this._timeoutInfo.get(Q);if(!Y)return!1;let X=Date.now()-Y.startTime;if(Y.maxTotalTimeout&&X>=Y.maxTotalTimeout)throw this._timeoutInfo.delete(Q),I.fromError(_.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:Y.maxTotalTimeout,totalElapsed:X});return clearTimeout(Y.timeoutId),Y.timeoutId=setTimeout(Y.onTimeout,Y.timeout),!0}_cleanupTimeout(Q){let Y=this._timeoutInfo.get(Q);if(Y)clearTimeout(Y.timeoutId),this._timeoutInfo.delete(Q)}async connect(Q){this._transport=Q;let Y=this.transport?.onclose;this._transport.onclose=()=>{Y?.(),this._onclose()};let X=this.transport?.onerror;this._transport.onerror=($)=>{X?.($),this._onerror($)};let W=this._transport?.onmessage;this._transport.onmessage=($,J)=>{if(W?.($,J),Z1($)||n9($))this._onresponse($);else if(p1($))this._onrequest($,J);else if(XB($))this._onnotification($);else this._onerror(Error(`Unknown message type: ${JSON.stringify($)}`))},await this._transport.start()}_onclose(){let Q=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();let Y=I.fromError(_.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let X of Q.values())X(Y)}_onerror(Q){this.onerror?.(Q)}_onnotification(Q){let Y=this._notificationHandlers.get(Q.method)??this.fallbackNotificationHandler;if(Y===void 0)return;Promise.resolve().then(()=>Y(Q)).catch((X)=>this._onerror(Error(`Uncaught error in notification handler: ${X}`)))}_onrequest(Q,Y){let X=this._requestHandlers.get(Q.method)??this.fallbackRequestHandler,W=this._transport,$=Q.params?._meta?.[b6]?.taskId;if(X===void 0){let z={jsonrpc:"2.0",id:Q.id,error:{code:_.MethodNotFound,message:"Method not found"}};if($&&this._taskMessageQueue)this._enqueueTaskMessage($,{type:"error",message:z,timestamp:Date.now()},W?.sessionId).catch((K)=>this._onerror(Error(`Failed to enqueue error response: ${K}`)));else W?.send(z).catch((K)=>this._onerror(Error(`Failed to send an error response: ${K}`)));return}let J=new AbortController;this._requestHandlerAbortControllers.set(Q.id,J);let G=e3(Q.params)?Q.params.task:void 0,H=this._taskStore?this.requestTaskStore(Q,W?.sessionId):void 0,B={signal:J.signal,sessionId:W?.sessionId,_meta:Q.params?._meta,sendNotification:async(z)=>{let K={relatedRequestId:Q.id};if($)K.relatedTask={taskId:$};await this.notification(z,K)},sendRequest:async(z,K,V)=>{let F={...V,relatedRequestId:Q.id};if($&&!F.relatedTask)F.relatedTask={taskId:$};let A=F.relatedTask?.taskId??$;if(A&&H)await H.updateTaskStatus(A,"input_required");return await this.request(z,K,F)},authInfo:Y?.authInfo,requestId:Q.id,requestInfo:Y?.requestInfo,taskId:$,taskStore:H,taskRequestedTtl:G?.ttl,closeSSEStream:Y?.closeSSEStream,closeStandaloneSSEStream:Y?.closeStandaloneSSEStream};Promise.resolve().then(()=>{if(G)this.assertTaskHandlerCapability(Q.method)}).then(()=>X(Q,B)).then(async(z)=>{if(J.signal.aborted)return;let K={result:z,jsonrpc:"2.0",id:Q.id};if($&&this._taskMessageQueue)await this._enqueueTaskMessage($,{type:"response",message:K,timestamp:Date.now()},W?.sessionId);else await W?.send(K)},async(z)=>{if(J.signal.aborted)return;let K={jsonrpc:"2.0",id:Q.id,error:{code:Number.isSafeInteger(z.code)?z.code:_.InternalError,message:z.message??"Internal error",...z.data!==void 0&&{data:z.data}}};if($&&this._taskMessageQueue)await this._enqueueTaskMessage($,{type:"error",message:K,timestamp:Date.now()},W?.sessionId);else await W?.send(K)}).catch((z)=>this._onerror(Error(`Failed to send response: ${z}`))).finally(()=>{this._requestHandlerAbortControllers.delete(Q.id)})}_onprogress(Q){let{progressToken:Y,...X}=Q.params,W=Number(Y),$=this._progressHandlers.get(W);if(!$){this._onerror(Error(`Received a progress notification for an unknown token: ${JSON.stringify(Q)}`));return}let J=this._responseHandlers.get(W),G=this._timeoutInfo.get(W);if(G&&J&&G.resetTimeoutOnProgress)try{this._resetTimeout(W)}catch(H){this._responseHandlers.delete(W),this._progressHandlers.delete(W),this._cleanupTimeout(W),J(H);return}$(X)}_onresponse(Q){let Y=Number(Q.id),X=this._requestResolvers.get(Y);if(X){if(this._requestResolvers.delete(Y),Z1(Q))X(Q);else{let J=new I(Q.error.code,Q.error.message,Q.error.data);X(J)}return}let W=this._responseHandlers.get(Y);if(W===void 0){this._onerror(Error(`Received a response for an unknown message ID: ${JSON.stringify(Q)}`));return}this._responseHandlers.delete(Y),this._cleanupTimeout(Y);let $=!1;if(Z1(Q)&&Q.result&&typeof Q.result==="object"){let J=Q.result;if(J.task&&typeof J.task==="object"){let G=J.task;if(typeof G.taskId==="string")$=!0,this._taskProgressTokens.set(G.taskId,Y)}}if(!$)this._progressHandlers.delete(Y);if(Z1(Q))W(Q);else{let J=I.fromError(Q.error.code,Q.error.message,Q.error.data);W(J)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(Q,Y,X){let{task:W}=X??{};if(!W){try{yield{type:"result",result:await this.request(Q,Y,X)}}catch(J){yield{type:"error",error:J instanceof I?J:new I(_.InternalError,String(J))}}return}let $;try{let J=await this.request(Q,W6,X);if(J.task)$=J.task.taskId,yield{type:"taskCreated",task:J.task};else throw new I(_.InternalError,"Task creation did not return a task");while(!0){let G=await this.getTask({taskId:$},X);if(yield{type:"taskStatus",task:G},P6(G.status)){if(G.status==="completed")yield{type:"result",result:await this.getTaskResult({taskId:$},Y,X)};else if(G.status==="failed")yield{type:"error",error:new I(_.InternalError,`Task ${$} failed`)};else if(G.status==="cancelled")yield{type:"error",error:new I(_.InternalError,`Task ${$} was cancelled`)};return}if(G.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:$},Y,X)};return}let H=G.pollInterval??this._options?.defaultTaskPollInterval??1000;await new Promise((B)=>setTimeout(B,H)),X?.signal?.throwIfAborted()}}catch(J){yield{type:"error",error:J instanceof I?J:new I(_.InternalError,String(J))}}}request(Q,Y,X){let{relatedRequestId:W,resumptionToken:$,onresumptiontoken:J,task:G,relatedTask:H}=X??{};return new Promise((B,z)=>{let K=(U)=>{z(U)};if(!this._transport){K(Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{if(this.assertCapabilityForMethod(Q.method),G)this.assertTaskCapability(Q.method)}catch(U){K(U);return}X?.signal?.throwIfAborted();let V=this._requestMessageId++,F={...Q,jsonrpc:"2.0",id:V};if(X?.onprogress)this._progressHandlers.set(V,X.onprogress),F.params={...Q.params,_meta:{...Q.params?._meta||{},progressToken:V}};if(G)F.params={...F.params,task:G};if(H)F.params={...F.params,_meta:{...F.params?._meta||{},[b6]:H}};let A=(U)=>{this._responseHandlers.delete(V),this._progressHandlers.delete(V),this._cleanupTimeout(V),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:V,reason:String(U)}},{relatedRequestId:W,resumptionToken:$,onresumptiontoken:J}).catch((M)=>this._onerror(Error(`Failed to send cancellation: ${M}`)));let N=U instanceof I?U:new I(_.RequestTimeout,String(U));z(N)};this._responseHandlers.set(V,(U)=>{if(X?.signal?.aborted)return;if(U instanceof Error)return z(U);try{let N=c0(Y,U.result);if(!N.success)z(N.error);else B(N.data)}catch(N){z(N)}}),X?.signal?.addEventListener("abort",()=>{A(X?.signal?.reason)});let D=X?.timeout??QZ,L=()=>A(I.fromError(_.RequestTimeout,"Request timed out",{timeout:D}));this._setupTimeout(V,D,X?.maxTotalTimeout,L,X?.resetTimeoutOnProgress??!1);let O=H?.taskId;if(O){let U=(N)=>{let M=this._responseHandlers.get(V);if(M)M(N);else this._onerror(Error(`Response handler missing for side-channeled request ${V}`))};this._requestResolvers.set(V,U),this._enqueueTaskMessage(O,{type:"request",message:F,timestamp:Date.now()}).catch((N)=>{this._cleanupTimeout(V),z(N)})}else this._transport.send(F,{relatedRequestId:W,resumptionToken:$,onresumptiontoken:J}).catch((U)=>{this._cleanupTimeout(V),z(U)})})}async getTask(Q,Y){return this.request({method:"tasks/get",params:Q},nQ,Y)}async getTaskResult(Q,Y,X){return this.request({method:"tasks/result",params:Q},Y,X)}async listTasks(Q,Y){return this.request({method:"tasks/list",params:Q},aQ,Y)}async cancelTask(Q,Y){return this.request({method:"tasks/cancel",params:Q},JB,Y)}async notification(Q,Y){if(!this._transport)throw Error("Not connected");this.assertNotificationCapability(Q.method);let X=Y?.relatedTask?.taskId;if(X){let G={...Q,jsonrpc:"2.0",params:{...Q.params,_meta:{...Q.params?._meta||{},[b6]:Y.relatedTask}}};await this._enqueueTaskMessage(X,{type:"notification",message:G,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(Q.method)&&!Q.params&&!Y?.relatedRequestId&&!Y?.relatedTask){if(this._pendingDebouncedNotifications.has(Q.method))return;this._pendingDebouncedNotifications.add(Q.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(Q.method),!this._transport)return;let G={...Q,jsonrpc:"2.0"};if(Y?.relatedTask)G={...G,params:{...G.params,_meta:{...G.params?._meta||{},[b6]:Y.relatedTask}}};this._transport?.send(G,Y).catch((H)=>this._onerror(H))});return}let J={...Q,jsonrpc:"2.0"};if(Y?.relatedTask)J={...J,params:{...J.params,_meta:{...J.params?._meta||{},[b6]:Y.relatedTask}}};await this._transport.send(J,Y)}setRequestHandler(Q,Y){let X=d5(Q);this.assertRequestHandlerCapability(X),this._requestHandlers.set(X,(W,$)=>{let J=i5(Q,W);return Promise.resolve(Y(J,$))})}removeRequestHandler(Q){this._requestHandlers.delete(Q)}assertCanSetRequestHandler(Q){if(this._requestHandlers.has(Q))throw Error(`A request handler for ${Q} already exists, which would be overridden`)}setNotificationHandler(Q,Y){let X=d5(Q);this._notificationHandlers.set(X,(W)=>{let $=i5(Q,W);return Promise.resolve(Y($))})}removeNotificationHandler(Q){this._notificationHandlers.delete(Q)}_cleanupTaskProgressHandler(Q){let Y=this._taskProgressTokens.get(Q);if(Y!==void 0)this._progressHandlers.delete(Y),this._taskProgressTokens.delete(Q)}async _enqueueTaskMessage(Q,Y,X){if(!this._taskStore||!this._taskMessageQueue)throw Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let W=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(Q,Y,X,W)}async _clearTaskQueue(Q,Y){if(this._taskMessageQueue){let X=await this._taskMessageQueue.dequeueAll(Q,Y);for(let W of X)if(W.type==="request"&&p1(W.message)){let $=W.message.id,J=this._requestResolvers.get($);if(J)J(new I(_.InternalError,"Task cancelled or completed")),this._requestResolvers.delete($);else this._onerror(Error(`Resolver missing for request ${$} during task ${Q} cleanup`))}}}async _waitForTaskUpdate(Q,Y){let X=this._options?.defaultTaskPollInterval??1000;try{let W=await this._taskStore?.getTask(Q);if(W?.pollInterval)X=W.pollInterval}catch{}return new Promise((W,$)=>{if(Y.aborted){$(new I(_.InvalidRequest,"Request cancelled"));return}let J=setTimeout(W,X);Y.addEventListener("abort",()=>{clearTimeout(J),$(new I(_.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(Q,Y){let X=this._taskStore;if(!X)throw Error("No task store configured");return{createTask:async(W)=>{if(!Q)throw Error("No request provided");return await X.createTask(W,Q.id,{method:Q.method,params:Q.params},Y)},getTask:async(W)=>{let $=await X.getTask(W,Y);if(!$)throw new I(_.InvalidParams,"Failed to retrieve task: Task not found");return $},storeTaskResult:async(W,$,J)=>{await X.storeTaskResult(W,$,J,Y);let G=await X.getTask(W,Y);if(G){let H=W4.parse({method:"notifications/tasks/status",params:G});if(await this.notification(H),P6(G.status))this._cleanupTaskProgressHandler(W)}},getTaskResult:(W)=>{return X.getTaskResult(W,Y)},updateTaskStatus:async(W,$,J)=>{let G=await X.getTask(W,Y);if(!G)throw new I(_.InvalidParams,`Task "${W}" not found - it may have been cleaned up`);if(P6(G.status))throw new I(_.InvalidParams,`Cannot update task "${W}" from terminal status "${G.status}" to "${$}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await X.updateTaskStatus(W,$,J,Y);let H=await X.getTask(W,Y);if(H){let B=W4.parse({method:"notifications/tasks/status",params:H});if(await this.notification(B),P6(H.status))this._cleanupTaskProgressHandler(W)}},listTasks:(W)=>{return X.listTasks(W,Y)}}}}function nB(Q){return Q!==null&&typeof Q==="object"&&!Array.isArray(Q)}function zY(Q,Y){let X={...Q};for(let W in Y){let $=W,J=Y[$];if(J===void 0)continue;let G=X[$];if(nB(G)&&nB(J))X[$]={...G,...J};else X[$]=J}return X}var RU=HQ(HA(),1),EU=HQ(PU(),1);function qh(){let Q=new RU.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return EU.default(Q),Q}class XQ{constructor(Q){this._ajv=Q??qh()}getValidator(Q){let Y="$id"in Q&&typeof Q.$id==="string"?this._ajv.getSchema(Q.$id)??this._ajv.compile(Q):this._ajv.compile(Q);return(X)=>{if(Y(X))return{valid:!0,data:X,errorMessage:void 0};else return{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(Y.errors)}}}}class yJ{constructor(Q){this._server=Q}requestStream(Q,Y,X){return this._server.requestStream(Q,Y,X)}async getTask(Q,Y){return this._server.getTask({taskId:Q},Y)}async getTaskResult(Q,Y,X){return this._server.getTaskResult({taskId:Q},Y,X)}async listTasks(Q,Y){return this._server.listTasks(Q?{cursor:Q}:void 0,Y)}async cancelTask(Q,Y){return this._server.cancelTask({taskId:Q},Y)}}function EX(Q,Y,X){if(!Q)throw Error(`${X} does not support task creation (required for ${Y})`);switch(Y){case"tools/call":if(!Q.tools?.call)throw Error(`${X} does not support task creation for tools/call (required for ${Y})`);break;default:break}}function SX(Q,Y,X){if(!Q)throw Error(`${X} does not support task creation (required for ${Y})`);switch(Y){case"sampling/createMessage":if(!Q.sampling?.createMessage)throw Error(`${X} does not support task creation for sampling/createMessage (required for ${Y})`);break;case"elicitation/create":if(!Q.elicitation?.create)throw Error(`${X} does not support task creation for elicitation/create (required for ${Y})`);break;default:break}}class fJ extends K4{constructor(Q,Y){super(Y);if(this._serverInfo=Q,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(G4.options.map((X,W)=>[X,W])),this.isMessageIgnored=(X,W)=>{let $=this._loggingLevels.get(W);return $?this.LOG_LEVEL_SEVERITY.get(X)<this.LOG_LEVEL_SEVERITY.get($):!1},this._capabilities=Y?.capabilities??{},this._instructions=Y?.instructions,this._jsonSchemaValidator=Y?.jsonSchemaValidator??new XQ,this.setRequestHandler(mQ,(X)=>this._oninitialize(X)),this.setNotificationHandler(cQ,()=>this.oninitialized?.()),this._capabilities.logging)this.setRequestHandler(x5,async(X,W)=>{let $=W.sessionId||W.requestInfo?.headers["mcp-session-id"]||void 0,{level:J}=X.params,G=G4.safeParse(J);if(G.success)this._loggingLevels.set($,G.data);return{}})}get experimental(){if(!this._experimental)this._experimental={tasks:new yJ(this)};return this._experimental}registerCapabilities(Q){if(this.transport)throw Error("Cannot register capabilities after connecting to transport");this._capabilities=zY(this._capabilities,Q)}setRequestHandler(Q,Y){let W=c1(Q)?.method;if(!W)throw Error("Schema is missing a method literal");let $;if(e0(W)){let G=W;$=G._zod?.def?.value??G.value}else{let G=W;$=G._def?.value??G.value}if(typeof $!=="string")throw Error("Schema method literal must be a string");if($==="tools/call"){let G=async(H,B)=>{let z=c0(r9,H);if(!z.success){let A=z.error instanceof Error?z.error.message:String(z.error);throw new I(_.InvalidParams,`Invalid tools/call request: ${A}`)}let{params:K}=z.data,V=await Promise.resolve(Y(H,B));if(K.task){let A=c0(W6,V);if(!A.success){let D=A.error instanceof Error?A.error.message:String(A.error);throw new I(_.InvalidParams,`Invalid task creation result: ${D}`)}return A.data}let F=c0(Z6,V);if(!F.success){let A=F.error instanceof Error?F.error.message:String(F.error);throw new I(_.InvalidParams,`Invalid tools/call result: ${A}`)}return F.data};return super.setRequestHandler(Q,G)}return super.setRequestHandler(Q,Y)}assertCapabilityForMethod(Q){switch(Q){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw Error(`Client does not support sampling (required for ${Q})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw Error(`Client does not support elicitation (required for ${Q})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw Error(`Client does not support listing roots (required for ${Q})`);break;case"ping":break}}assertNotificationCapability(Q){switch(Q){case"notifications/message":if(!this._capabilities.logging)throw Error(`Server does not support logging (required for ${Q})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw Error(`Server does not support notifying about resources (required for ${Q})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw Error(`Server does not support notifying of tool list changes (required for ${Q})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw Error(`Server does not support notifying of prompt list changes (required for ${Q})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw Error(`Client does not support URL elicitation (required for ${Q})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(Q){if(!this._capabilities)return;switch(Q){case"completion/complete":if(!this._capabilities.completions)throw Error(`Server does not support completions (required for ${Q})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw Error(`Server does not support logging (required for ${Q})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw Error(`Server does not support prompts (required for ${Q})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw Error(`Server does not support resources (required for ${Q})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw Error(`Server does not support tools (required for ${Q})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw Error(`Server does not support tasks capability (required for ${Q})`);break;case"ping":case"initialize":break}}assertTaskCapability(Q){SX(this._clientCapabilities?.tasks?.requests,Q,"Client")}assertTaskHandlerCapability(Q){if(!this._capabilities)return;EX(this._capabilities.tasks?.requests,Q,"Server")}async _oninitialize(Q){let Y=Q.params.protocolVersion;return this._clientCapabilities=Q.params.capabilities,this._clientVersion=Q.params.clientInfo,{protocolVersion:W9.includes(Y)?Y:M6,capabilities:this.getCapabilities(),serverInfo:this._serverInfo,...this._instructions&&{instructions:this._instructions}}}getClientCapabilities(){return this._clientCapabilities}getClientVersion(){return this._clientVersion}getCapabilities(){return this._capabilities}async ping(){return this.request({method:"ping"},X6)}async createMessage(Q,Y){if(Q.tools||Q.toolChoice){if(!this._clientCapabilities?.sampling?.tools)throw Error("Client does not support sampling tools capability.")}if(Q.messages.length>0){let X=Q.messages[Q.messages.length-1],W=Array.isArray(X.content)?X.content:[X.content],$=W.some((B)=>B.type==="tool_result"),J=Q.messages.length>1?Q.messages[Q.messages.length-2]:void 0,G=J?Array.isArray(J.content)?J.content:[J.content]:[],H=G.some((B)=>B.type==="tool_use");if($){if(W.some((B)=>B.type!=="tool_result"))throw Error("The last message must contain only tool_result content if any is present");if(!H)throw Error("tool_result blocks are not matching any tool_use from the previous message")}if(H){let B=new Set(G.filter((K)=>K.type==="tool_use").map((K)=>K.id)),z=new Set(W.filter((K)=>K.type==="tool_result").map((K)=>K.toolUseId));if(B.size!==z.size||![...B].every((K)=>z.has(K)))throw Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}if(Q.tools)return this.request({method:"sampling/createMessage",params:Q},y5,Y);return this.request({method:"sampling/createMessage",params:Q},B4,Y)}async elicitInput(Q,Y){switch(Q.mode??"form"){case"url":{if(!this._clientCapabilities?.elicitation?.url)throw Error("Client does not support url elicitation.");let W=Q;return this.request({method:"elicitation/create",params:W},a9,Y)}case"form":{if(!this._clientCapabilities?.elicitation?.form)throw Error("Client does not support form elicitation.");let W=Q.mode==="form"?Q:{...Q,mode:"form"},$=await this.request({method:"elicitation/create",params:W},a9,Y);if($.action==="accept"&&$.content&&W.requestedSchema)try{let G=this._jsonSchemaValidator.getValidator(W.requestedSchema)($.content);if(!G.valid)throw new I(_.InvalidParams,`Elicitation response content does not match requested schema: ${G.errorMessage}`)}catch(J){if(J instanceof I)throw J;throw new I(_.InternalError,`Error validating elicitation response: ${J instanceof Error?J.message:String(J)}`)}return $}}}createElicitationCompletionNotifier(Q,Y){if(!this._clientCapabilities?.elicitation?.url)throw Error("Client does not support URL elicitation (required for notifications/elicitation/complete)");return()=>this.notification({method:"notifications/elicitation/complete",params:{elicitationId:Q}},Y)}async listRoots(Q,Y){return this.request({method:"roots/list",params:Q},h5,Y)}async sendLoggingMessage(Q,Y){if(this._capabilities.logging){if(!this.isMessageIgnored(Q.level,Y))return this.notification({method:"notifications/message",params:Q})}}async sendResourceUpdated(Q){return this.notification({method:"notifications/resources/updated",params:Q})}async sendResourceListChanged(){return this.notification({method:"notifications/resources/list_changed"})}async sendToolListChanged(){return this.notification({method:"notifications/tools/list_changed"})}async sendPromptListChanged(){return this.notification({method:"notifications/prompts/list_changed"})}}var IU=Symbol.for("mcp.completable");function hJ(Q){return!!Q&&typeof Q==="object"&&IU in Q}function TU(Q){return Q[IU]?.complete}var SU;(function(Q){Q.Completable="McpCompletable"})(SU||(SU={}));var Mh=/^[A-Za-z0-9._-]{1,128}$/;function bh(Q){let Y=[];if(Q.length===0)return{isValid:!1,warnings:["Tool name cannot be empty"]};if(Q.length>128)return{isValid:!1,warnings:[`Tool name exceeds maximum length of 128 characters (current: ${Q.length})`]};if(Q.includes(" "))Y.push("Tool name contains spaces, which may cause parsing issues");if(Q.includes(","))Y.push("Tool name contains commas, which may cause parsing issues");if(Q.startsWith("-")||Q.endsWith("-"))Y.push("Tool name starts or ends with a dash, which may cause parsing issues in some contexts");if(Q.startsWith(".")||Q.endsWith("."))Y.push("Tool name starts or ends with a dot, which may cause parsing issues in some contexts");if(!Mh.test(Q)){let X=Q.split("").filter((W)=>!/[A-Za-z0-9._-]/.test(W)).filter((W,$,J)=>J.indexOf(W)===$);return Y.push(`Tool name contains invalid characters: ${X.map((W)=>`"${W}"`).join(", ")}`,"Allowed characters are: A-Z, a-z, 0-9, underscore (_), dash (-), and dot (.)"),{isValid:!1,warnings:Y}}return{isValid:!0,warnings:Y}}function Zh(Q,Y){if(Y.length>0){console.warn(`Tool name validation warning for "${Q}":`);for(let X of Y)console.warn(` - ${X}`);console.warn("Tool registration will proceed, but this may cause compatibility issues."),console.warn("Consider updating the tool name to conform to the MCP tool naming standard."),console.warn("See SEP: Specify Format for Tool Names (https://github.com/modelcontextprotocol/modelcontextprotocol/issues/986) for more details.")}}function gJ(Q){let Y=bh(Q);return Zh(Q,Y.warnings),Y.isValid}class uJ{constructor(Q){this._mcpServer=Q}registerToolTask(Q,Y,X){let W={taskSupport:"required",...Y.execution};if(W.taskSupport==="forbidden")throw Error(`Cannot register task-based tool '${Q}' with taskSupport 'forbidden'. Use registerTool() instead.`);return this._mcpServer._createRegisteredTool(Q,Y.title,Y.description,Y.inputSchema,Y.outputSchema,Y.annotations,W,Y._meta,X)}}class mJ{constructor(Q,Y){this._registeredResources={},this._registeredResourceTemplates={},this._registeredTools={},this._registeredPrompts={},this._toolHandlersInitialized=!1,this._completionHandlerInitialized=!1,this._resourceHandlersInitialized=!1,this._promptHandlersInitialized=!1,this.server=new fJ(Q,Y)}get experimental(){if(!this._experimental)this._experimental={tasks:new uJ(this)};return this._experimental}async connect(Q){return await this.server.connect(Q)}async close(){await this.server.close()}setToolRequestHandlers(){if(this._toolHandlersInitialized)return;this.server.assertCanSetRequestHandler(g6(WY)),this.server.assertCanSetRequestHandler(g6(r9)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(WY,()=>({tools:Object.entries(this._registeredTools).filter(([,Q])=>Q.enabled).map(([Q,Y])=>{let X={name:Q,title:Y.title,description:Y.description,inputSchema:(()=>{let W=d9(Y.inputSchema);return W?p5(W,{strictUnions:!0,pipeStrategy:"input"}):Ph})(),annotations:Y.annotations,execution:Y.execution,_meta:Y._meta};if(Y.outputSchema){let W=d9(Y.outputSchema);if(W)X.outputSchema=p5(W,{strictUnions:!0,pipeStrategy:"output"})}return X})})),this.server.setRequestHandler(r9,async(Q,Y)=>{try{let X=this._registeredTools[Q.params.name];if(!X)throw new I(_.InvalidParams,`Tool ${Q.params.name} not found`);if(!X.enabled)throw new I(_.InvalidParams,`Tool ${Q.params.name} disabled`);let W=!!Q.params.task,$=X.execution?.taskSupport,J="createTask"in X.handler;if(($==="required"||$==="optional")&&!J)throw new I(_.InternalError,`Tool ${Q.params.name} has taskSupport '${$}' but was not registered with registerToolTask`);if($==="required"&&!W)throw new I(_.MethodNotFound,`Tool ${Q.params.name} requires task augmentation (taskSupport: 'required')`);if($==="optional"&&!W&&J)return await this.handleAutomaticTaskPolling(X,Q,Y);let G=await this.validateToolInput(X,Q.params.arguments,Q.params.name),H=await this.executeToolHandler(X,G,Y);if(W)return H;return await this.validateToolOutput(X,H,Q.params.name),H}catch(X){if(X instanceof I){if(X.code===_.UrlElicitationRequired)throw X}return this.createToolError(X instanceof Error?X.message:String(X))}}),this._toolHandlersInitialized=!0}createToolError(Q){return{content:[{type:"text",text:Q}],isError:!0}}async validateToolInput(Q,Y,X){if(!Q.inputSchema)return;let $=d9(Q.inputSchema)??Q.inputSchema,J=await CQ($,Y);if(!J.success){let G="error"in J?J.error:"Unknown error",H=kQ(G);throw new I(_.InvalidParams,`Input validation error: Invalid arguments for tool ${X}: ${H}`)}return J.data}async validateToolOutput(Q,Y,X){if(!Q.outputSchema)return;if(!("content"in Y))return;if(Y.isError)return;if(!Y.structuredContent)throw new I(_.InvalidParams,`Output validation error: Tool ${X} has an output schema but no structured content was provided`);let W=d9(Q.outputSchema),$=await CQ(W,Y.structuredContent);if(!$.success){let J="error"in $?$.error:"Unknown error",G=kQ(J);throw new I(_.InvalidParams,`Output validation error: Invalid structured content for tool ${X}: ${G}`)}}async executeToolHandler(Q,Y,X){let W=Q.handler;if("createTask"in W){if(!X.taskStore)throw Error("No task store provided.");let J={...X,taskStore:X.taskStore};if(Q.inputSchema)return await Promise.resolve(W.createTask(Y,J));else return await Promise.resolve(W.createTask(J))}if(Q.inputSchema)return await Promise.resolve(W(Y,X));else return await Promise.resolve(W(X))}async handleAutomaticTaskPolling(Q,Y,X){if(!X.taskStore)throw Error("No task store provided for task-capable tool.");let W=await this.validateToolInput(Q,Y.params.arguments,Y.params.name),$=Q.handler,J={...X,taskStore:X.taskStore},G=W?await Promise.resolve($.createTask(W,J)):await Promise.resolve($.createTask(J)),H=G.task.taskId,B=G.task,z=B.pollInterval??5000;while(B.status!=="completed"&&B.status!=="failed"&&B.status!=="cancelled"){await new Promise((V)=>setTimeout(V,z));let K=await X.taskStore.getTask(H);if(!K)throw new I(_.InternalError,`Task ${H} not found during polling`);B=K}return await X.taskStore.getTaskResult(H)}setCompletionRequestHandler(){if(this._completionHandlerInitialized)return;this.server.assertCanSetRequestHandler(g6($Y)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler($Y,async(Q)=>{switch(Q.params.ref.type){case"ref/prompt":return FB(Q),this.handlePromptCompletion(Q,Q.params.ref);case"ref/resource":return AB(Q),this.handleResourceCompletion(Q,Q.params.ref);default:throw new I(_.InvalidParams,`Invalid completion reference: ${Q.params.ref}`)}}),this._completionHandlerInitialized=!0}async handlePromptCompletion(Q,Y){let X=this._registeredPrompts[Y.name];if(!X)throw new I(_.InvalidParams,`Prompt ${Y.name} not found`);if(!X.enabled)throw new I(_.InvalidParams,`Prompt ${Y.name} disabled`);if(!X.argsSchema)return WQ;let $=c1(X.argsSchema)?.[Q.params.argument.name];if(!hJ($))return WQ;let J=TU($);if(!J)return WQ;let G=await J(Q.params.argument.value,Q.params.context);return kU(G)}async handleResourceCompletion(Q,Y){let X=Object.values(this._registeredResourceTemplates).find((J)=>J.resourceTemplate.uriTemplate.toString()===Y.uri);if(!X){if(this._registeredResources[Y.uri])return WQ;throw new I(_.InvalidParams,`Resource template ${Q.params.ref.uri} not found`)}let W=X.resourceTemplate.completeCallback(Q.params.argument.name);if(!W)return WQ;let $=await W(Q.params.argument.value,Q.params.context);return kU($)}setResourceRequestHandlers(){if(this._resourceHandlersInitialized)return;this.server.assertCanSetRequestHandler(g6(sQ)),this.server.assertCanSetRequestHandler(g6(eQ)),this.server.assertCanSetRequestHandler(g6(QY)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(sQ,async(Q,Y)=>{let X=Object.entries(this._registeredResources).filter(([$,J])=>J.enabled).map(([$,J])=>({uri:$,name:J.name,...J.metadata})),W=[];for(let $ of Object.values(this._registeredResourceTemplates)){if(!$.resourceTemplate.listCallback)continue;let J=await $.resourceTemplate.listCallback(Y);for(let G of J.resources)W.push({...$.metadata,...G})}return{resources:[...X,...W]}}),this.server.setRequestHandler(eQ,async()=>{return{resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([Y,X])=>({name:Y,uriTemplate:X.resourceTemplate.uriTemplate.toString(),...X.metadata}))}}),this.server.setRequestHandler(QY,async(Q,Y)=>{let X=new URL(Q.params.uri),W=this._registeredResources[X.toString()];if(W){if(!W.enabled)throw new I(_.InvalidParams,`Resource ${X} disabled`);return W.readCallback(X,Y)}for(let $ of Object.values(this._registeredResourceTemplates)){let J=$.resourceTemplate.uriTemplate.match(X.toString());if(J)return $.readCallback(X,J,Y)}throw new I(_.InvalidParams,`Resource ${X} not found`)}),this._resourceHandlersInitialized=!0}setPromptRequestHandlers(){if(this._promptHandlersInitialized)return;this.server.assertCanSetRequestHandler(g6(YY)),this.server.assertCanSetRequestHandler(g6(XY)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(YY,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,Q])=>Q.enabled).map(([Q,Y])=>{return{name:Q,title:Y.title,description:Y.description,arguments:Y.argsSchema?Eh(Y.argsSchema):void 0}})})),this.server.setRequestHandler(XY,async(Q,Y)=>{let X=this._registeredPrompts[Q.params.name];if(!X)throw new I(_.InvalidParams,`Prompt ${Q.params.name} not found`);if(!X.enabled)throw new I(_.InvalidParams,`Prompt ${Q.params.name} disabled`);if(X.argsSchema){let W=d9(X.argsSchema),$=await CQ(W,Q.params.arguments);if(!$.success){let H="error"in $?$.error:"Unknown error",B=kQ(H);throw new I(_.InvalidParams,`Invalid arguments for prompt ${Q.params.name}: ${B}`)}let J=$.data,G=X.callback;return await Promise.resolve(G(J,Y))}else{let W=X.callback;return await Promise.resolve(W(Y))}}),this._promptHandlersInitialized=!0}resource(Q,Y,...X){let W;if(typeof X[0]==="object")W=X.shift();let $=X[0];if(typeof Y==="string"){if(this._registeredResources[Y])throw Error(`Resource ${Y} is already registered`);let J=this._createRegisteredResource(Q,void 0,Y,W,$);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),J}else{if(this._registeredResourceTemplates[Q])throw Error(`Resource template ${Q} is already registered`);let J=this._createRegisteredResourceTemplate(Q,void 0,Y,W,$);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),J}}registerResource(Q,Y,X,W){if(typeof Y==="string"){if(this._registeredResources[Y])throw Error(`Resource ${Y} is already registered`);let $=this._createRegisteredResource(Q,X.title,Y,X,W);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),$}else{if(this._registeredResourceTemplates[Q])throw Error(`Resource template ${Q} is already registered`);let $=this._createRegisteredResourceTemplate(Q,X.title,Y,X,W);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),$}}_createRegisteredResource(Q,Y,X,W,$){let J={name:Q,title:Y,metadata:W,readCallback:$,enabled:!0,disable:()=>J.update({enabled:!1}),enable:()=>J.update({enabled:!0}),remove:()=>J.update({uri:null}),update:(G)=>{if(typeof G.uri<"u"&&G.uri!==X){if(delete this._registeredResources[X],G.uri)this._registeredResources[G.uri]=J}if(typeof G.name<"u")J.name=G.name;if(typeof G.title<"u")J.title=G.title;if(typeof G.metadata<"u")J.metadata=G.metadata;if(typeof G.callback<"u")J.readCallback=G.callback;if(typeof G.enabled<"u")J.enabled=G.enabled;this.sendResourceListChanged()}};return this._registeredResources[X]=J,J}_createRegisteredResourceTemplate(Q,Y,X,W,$){let J={resourceTemplate:X,title:Y,metadata:W,readCallback:$,enabled:!0,disable:()=>J.update({enabled:!1}),enable:()=>J.update({enabled:!0}),remove:()=>J.update({name:null}),update:(B)=>{if(typeof B.name<"u"&&B.name!==Q){if(delete this._registeredResourceTemplates[Q],B.name)this._registeredResourceTemplates[B.name]=J}if(typeof B.title<"u")J.title=B.title;if(typeof B.template<"u")J.resourceTemplate=B.template;if(typeof B.metadata<"u")J.metadata=B.metadata;if(typeof B.callback<"u")J.readCallback=B.callback;if(typeof B.enabled<"u")J.enabled=B.enabled;this.sendResourceListChanged()}};this._registeredResourceTemplates[Q]=J;let G=X.uriTemplate.variableNames;if(Array.isArray(G)&&G.some((B)=>!!X.completeCallback(B)))this.setCompletionRequestHandler();return J}_createRegisteredPrompt(Q,Y,X,W,$){let J={title:Y,description:X,argsSchema:W===void 0?void 0:X9(W),callback:$,enabled:!0,disable:()=>J.update({enabled:!1}),enable:()=>J.update({enabled:!0}),remove:()=>J.update({name:null}),update:(G)=>{if(typeof G.name<"u"&&G.name!==Q){if(delete this._registeredPrompts[Q],G.name)this._registeredPrompts[G.name]=J}if(typeof G.title<"u")J.title=G.title;if(typeof G.description<"u")J.description=G.description;if(typeof G.argsSchema<"u")J.argsSchema=X9(G.argsSchema);if(typeof G.callback<"u")J.callback=G.callback;if(typeof G.enabled<"u")J.enabled=G.enabled;this.sendPromptListChanged()}};if(this._registeredPrompts[Q]=J,W){if(Object.values(W).some((H)=>{let B=H instanceof z1?H._def?.innerType:H;return hJ(B)}))this.setCompletionRequestHandler()}return J}_createRegisteredTool(Q,Y,X,W,$,J,G,H,B){gJ(Q);let z={title:Y,description:X,inputSchema:CU(W),outputSchema:CU($),annotations:J,execution:G,_meta:H,handler:B,enabled:!0,disable:()=>z.update({enabled:!1}),enable:()=>z.update({enabled:!0}),remove:()=>z.update({name:null}),update:(K)=>{if(typeof K.name<"u"&&K.name!==Q){if(typeof K.name==="string")gJ(K.name);if(delete this._registeredTools[Q],K.name)this._registeredTools[K.name]=z}if(typeof K.title<"u")z.title=K.title;if(typeof K.description<"u")z.description=K.description;if(typeof K.paramsSchema<"u")z.inputSchema=X9(K.paramsSchema);if(typeof K.outputSchema<"u")z.outputSchema=X9(K.outputSchema);if(typeof K.callback<"u")z.handler=K.callback;if(typeof K.annotations<"u")z.annotations=K.annotations;if(typeof K._meta<"u")z._meta=K._meta;if(typeof K.enabled<"u")z.enabled=K.enabled;this.sendToolListChanged()}};return this._registeredTools[Q]=z,this.setToolRequestHandlers(),this.sendToolListChanged(),z}tool(Q,...Y){if(this._registeredTools[Q])throw Error(`Tool ${Q} is already registered`);let X,W,$,J;if(typeof Y[0]==="string")X=Y.shift();if(Y.length>1){let H=Y[0];if(lJ(H)){if(W=Y.shift(),Y.length>1&&typeof Y[0]==="object"&&Y[0]!==null&&!lJ(Y[0]))J=Y.shift()}else if(typeof H==="object"&&H!==null)J=Y.shift()}let G=Y[0];return this._createRegisteredTool(Q,void 0,X,W,$,J,{taskSupport:"forbidden"},void 0,G)}registerTool(Q,Y,X){if(this._registeredTools[Q])throw Error(`Tool ${Q} is already registered`);let{title:W,description:$,inputSchema:J,outputSchema:G,annotations:H,_meta:B}=Y;return this._createRegisteredTool(Q,W,$,J,G,H,{taskSupport:"forbidden"},B,X)}prompt(Q,...Y){if(this._registeredPrompts[Q])throw Error(`Prompt ${Q} is already registered`);let X;if(typeof Y[0]==="string")X=Y.shift();let W;if(Y.length>1)W=Y.shift();let $=Y[0],J=this._createRegisteredPrompt(Q,void 0,X,W,$);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),J}registerPrompt(Q,Y,X){if(this._registeredPrompts[Q])throw Error(`Prompt ${Q} is already registered`);let{title:W,description:$,argsSchema:J}=Y,G=this._createRegisteredPrompt(Q,W,$,J,X);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),G}isConnected(){return this.server.transport!==void 0}async sendLoggingMessage(Q,Y){return this.server.sendLoggingMessage(Q,Y)}sendResourceListChanged(){if(this.isConnected())this.server.sendResourceListChanged()}sendToolListChanged(){if(this.isConnected())this.server.sendToolListChanged()}sendPromptListChanged(){if(this.isConnected())this.server.sendPromptListChanged()}}var Ph={type:"object",properties:{}};function _U(Q){return Q!==null&&typeof Q==="object"&&"parse"in Q&&typeof Q.parse==="function"&&"safeParse"in Q&&typeof Q.safeParse==="function"}function Rh(Q){return"_def"in Q||"_zod"in Q||_U(Q)}function lJ(Q){if(typeof Q!=="object"||Q===null)return!1;if(Rh(Q))return!1;if(Object.keys(Q).length===0)return!0;return Object.values(Q).some(_U)}function CU(Q){if(!Q)return;if(lJ(Q))return X9(Q);return Q}function Eh(Q){let Y=c1(Q);if(!Y)return[];return Object.entries(Y).map(([X,W])=>{let $=q3(W),J=M3(W);return{name:X,description:$,required:!J}})}function g6(Q){let X=c1(Q)?.method;if(!X)throw Error("Schema is missing a method literal");let W=_Q(X);if(typeof W==="string")return W;throw Error("Schema method literal must be a string")}function kU(Q){return{completion:{values:Q.slice(0,100),total:Q.length,hasMore:Q.length>100}}}var WQ={completion:{values:[],hasMore:!1}};import{Http2ServerRequest as Sh}from"http2";import{Http2ServerRequest as cJ}from"http2";import{Readable as vU}from"stream";import uh from"crypto";var q9=class extends Error{constructor(Q,Y){super(Q,Y);this.name="RequestError"}},Ih=(Q)=>{if(Q instanceof q9)return Q;return new q9(Q.message,{cause:Q})},Th=global.Request,$Q=class extends Th{constructor(Q,Y){if(typeof Q==="object"&&N8 in Q)Q=Q[N8]();if(typeof Y?.body?.getReader<"u")Y.duplex??="half";super(Q,Y)}},Ch=(Q)=>{let Y=[],X=Q.rawHeaders;for(let W=0;W<X.length;W+=2){let{[W]:$,[W+1]:J}=X;if($.charCodeAt(0)!==58)Y.push([$,J])}return new Headers(Y)},yU=Symbol("wrapBodyStream"),kh=(Q,Y,X,W,$)=>{let J={method:Q,headers:X,signal:$.signal};if(Q==="TRACE"){J.method="GET";let G=new $Q(Y,J);return Object.defineProperty(G,"method",{get(){return"TRACE"}}),G}if(!(Q==="GET"||Q==="HEAD"))if("rawBody"in W&&W.rawBody instanceof Buffer)J.body=new ReadableStream({start(G){G.enqueue(W.rawBody),G.close()}});else if(W[yU]){let G;J.body=new ReadableStream({async pull(H){try{G||=vU.toWeb(W).getReader();let{done:B,value:z}=await G.read();if(B)H.close();else H.enqueue(z)}catch(B){H.error(B)}}})}else J.body=vU.toWeb(W);return new $Q(Y,J)},N8=Symbol("getRequestCache"),_h=Symbol("requestCache"),IX=Symbol("incomingKey"),TX=Symbol("urlKey"),vh=Symbol("headersKey"),w8=Symbol("abortControllerKey"),xh=Symbol("getAbortController"),CX={get method(){return this[IX].method||"GET"},get url(){return this[TX]},get headers(){return this[vh]||=Ch(this[IX])},[xh](){return this[N8](),this[w8]},[N8](){return this[w8]||=new AbortController,this[_h]||=kh(this.method,this[TX],this.headers,this[IX],this[w8])}};["body","bodyUsed","cache","credentials","destination","integrity","mode","redirect","referrer","referrerPolicy","signal","keepalive"].forEach((Q)=>{Object.defineProperty(CX,Q,{get(){return this[N8]()[Q]}})});["arrayBuffer","blob","clone","formData","json","text"].forEach((Q)=>{Object.defineProperty(CX,Q,{value:function(){return this[N8]()[Q]()}})});Object.setPrototypeOf(CX,$Q.prototype);var yh=(Q,Y)=>{let X=Object.create(CX);X[IX]=Q;let W=Q.url||"";if(W[0]!=="/"&&(W.startsWith("http://")||W.startsWith("https://"))){if(Q instanceof cJ)throw new q9("Absolute URL for :path is not allowed in HTTP/2");try{let H=new URL(W);X[TX]=H.href}catch(H){throw new q9("Invalid absolute URL",{cause:H})}return X}let $=(Q instanceof cJ?Q.authority:Q.headers.host)||Y;if(!$)throw new q9("Missing host header");let J;if(Q instanceof cJ){if(J=Q.scheme,!(J==="http"||J==="https"))throw new q9("Unsupported scheme")}else J=Q.socket&&Q.socket.encrypted?"https":"http";let G=new URL(`${J}://${$}${W}`);if(G.hostname.length!==$.length&&G.hostname!==$.replace(/:\d+$/,""))throw new q9("Invalid host header");return X[TX]=G.href,X},xU=Symbol("responseCache"),j8=Symbol("getResponseCache"),M9=Symbol("cache"),dJ=global.Response,JQ=class Q{#Y;#Q;[j8](){return delete this[M9],this[xU]||=new dJ(this.#Y,this.#Q)}constructor(Y,X){let W;if(this.#Y=Y,X instanceof Q){let $=X[xU];if($){this.#Q=$,this[j8]();return}else this.#Q=X.#Q,W=new Headers(X.#Q.headers)}else this.#Q=X;if(typeof Y==="string"||typeof Y?.getReader<"u"||Y instanceof Blob||Y instanceof Uint8Array)W||=X?.headers||{"content-type":"text/plain; charset=UTF-8"},this[M9]=[X?.status||200,Y,W]}get headers(){let Y=this[M9];if(Y){if(!(Y[2]instanceof Headers))Y[2]=new Headers(Y[2]);return Y[2]}return this[j8]().headers}get status(){return this[M9]?.[0]??this[j8]().status}get ok(){let Y=this.status;return Y>=200&&Y<300}};["body","bodyUsed","redirected","statusText","trailers","type","url"].forEach((Q)=>{Object.defineProperty(JQ.prototype,Q,{get(){return this[j8]()[Q]}})});["arrayBuffer","blob","clone","formData","json","text"].forEach((Q)=>{Object.defineProperty(JQ.prototype,Q,{value:function(){return this[j8]()[Q]()}})});Object.setPrototypeOf(JQ,dJ);Object.setPrototypeOf(JQ.prototype,dJ.prototype);async function fh(Q){return Promise.race([Q,Promise.resolve().then(()=>Promise.resolve(void 0))])}function fU(Q,Y,X){let W=(H)=>{Q.cancel(H).catch(()=>{})};return Y.on("close",W),Y.on("error",W),(X??Q.read()).then(G,$),Q.closed.finally(()=>{Y.off("close",W),Y.off("error",W)});function $(H){if(H)Y.destroy(H)}function J(){Q.read().then(G,$)}function G({done:H,value:B}){try{if(H)Y.end();else if(!Y.write(B))Y.once("drain",J);else return Q.read().then(G,$)}catch(z){$(z)}}}function hh(Q,Y){if(Q.locked)throw TypeError("ReadableStream is locked.");else if(Y.destroyed)return;return fU(Q.getReader(),Y)}var hU=(Q)=>{let Y={};if(!(Q instanceof Headers))Q=new Headers(Q??void 0);let X=[];for(let[W,$]of Q)if(W==="set-cookie")X.push($);else Y[W]=$;if(X.length>0)Y["set-cookie"]=X;return Y["content-type"]??="text/plain; charset=UTF-8",Y},gh="x-hono-already-sent",lh=global.fetch;if(typeof global.crypto>"u")global.crypto=uh;global.fetch=(Q,Y)=>{return Y={compress:!1,...Y},lh(Q,Y)};var iJ=Symbol("outgoingEnded"),mh=()=>new Response(null,{status:400}),gU=(Q)=>new Response(null,{status:Q instanceof Error&&(Q.name==="TimeoutError"||Q.constructor.name==="TimeoutError")?504:500}),pJ=(Q,Y)=>{let X=Q instanceof Error?Q:Error("unknown error",{cause:Q});if(X.code==="ERR_STREAM_PREMATURE_CLOSE")console.info("The user aborted a request.");else{if(console.error(Q),!Y.headersSent)Y.writeHead(500,{"Content-Type":"text/plain"});Y.end(`Error: ${X.message}`),Y.destroy(X)}},uU=(Q)=>{if("flushHeaders"in Q&&Q.writable)Q.flushHeaders()},lU=async(Q,Y)=>{let[X,W,$]=Q[M9];if($ instanceof Headers)$=hU($);if(typeof W==="string")$["Content-Length"]=Buffer.byteLength(W);else if(W instanceof Uint8Array)$["Content-Length"]=W.byteLength;else if(W instanceof Blob)$["Content-Length"]=W.size;if(Y.writeHead(X,$),typeof W==="string"||W instanceof Uint8Array)Y.end(W);else if(W instanceof Blob)Y.end(new Uint8Array(await W.arrayBuffer()));else uU(Y),await hh(W,Y)?.catch((J)=>pJ(J,Y));Y[iJ]?.()},ch=(Q)=>typeof Q.then==="function",ph=async(Q,Y,X={})=>{if(ch(Q))if(X.errorHandler)try{Q=await Q}catch($){let J=await X.errorHandler($);if(!J)return;Q=J}else Q=await Q.catch(gU);if(M9 in Q)return lU(Q,Y);let W=hU(Q.headers);if(Q.body){let $=Q.body.getReader(),J=[],G=!1,H=void 0;if(W["transfer-encoding"]!=="chunked"){let B=2;for(let z=0;z<B;z++){H||=$.read();let K=await fh(H).catch((V)=>{console.error(V),G=!0});if(!K){if(z===1){await new Promise((V)=>setTimeout(V)),B=3;continue}break}if(H=void 0,K.value)J.push(K.value);if(K.done){G=!0;break}}if(G&&!("content-length"in W))W["content-length"]=J.reduce((z,K)=>z+K.length,0)}if(Y.writeHead(Q.status,W),J.forEach((B)=>{Y.write(B)}),G)Y.end();else{if(J.length===0)uU(Y);await fU($,Y,H)}}else if(W[gh]);else Y.writeHead(Q.status,W),Y.end();Y[iJ]?.()},nJ=(Q,Y={})=>{let X=Y.autoCleanupIncoming??!0;if(Y.overrideGlobalObjects!==!1&&global.Request!==$Q)Object.defineProperty(global,"Request",{value:$Q}),Object.defineProperty(global,"Response",{value:JQ});return async(W,$)=>{let J,G;try{G=yh(W,Y.hostname);let H=!X||W.method==="GET"||W.method==="HEAD";if(!H){if(W[yU]=!0,W.on("end",()=>{H=!0}),W instanceof Sh)$[iJ]=()=>{if(!H)setTimeout(()=>{if(!H)setTimeout(()=>{W.destroy(),$.destroy()})})}}if($.on("close",()=>{if(G[w8]){if(W.errored)G[w8].abort(W.errored.toString());else if(!$.writableFinished)G[w8].abort("Client connection prematurely closed.")}if(!H)setTimeout(()=>{if(!H)setTimeout(()=>{W.destroy()})})}),J=Q(G,{incoming:W,outgoing:$}),M9 in J)return lU(J,$)}catch(H){if(!J)if(Y.errorHandler){if(J=await Y.errorHandler(G?H:Ih(H)),!J)return}else if(!G)J=mh();else J=gU(H);else return pJ(H,$)}try{return await ph(J,$,Y)}catch(H){return pJ(H,$)}}};class oJ{constructor(Q={}){this._started=!1,this._streamMapping=new Map,this._requestToStreamMapping=new Map,this._requestResponseMap=new Map,this._initialized=!1,this._enableJsonResponse=!1,this._standaloneSseStreamId="_GET_stream",this.sessionIdGenerator=Q.sessionIdGenerator,this._enableJsonResponse=Q.enableJsonResponse??!1,this._eventStore=Q.eventStore,this._onsessioninitialized=Q.onsessioninitialized,this._onsessionclosed=Q.onsessionclosed,this._allowedHosts=Q.allowedHosts,this._allowedOrigins=Q.allowedOrigins,this._enableDnsRebindingProtection=Q.enableDnsRebindingProtection??!1,this._retryInterval=Q.retryInterval}async start(){if(this._started)throw Error("Transport already started");this._started=!0}createJsonErrorResponse(Q,Y,X,W){let $={code:Y,message:X};if(W?.data!==void 0)$.data=W.data;return new Response(JSON.stringify({jsonrpc:"2.0",error:$,id:null}),{status:Q,headers:{"Content-Type":"application/json",...W?.headers}})}validateRequestHeaders(Q){if(!this._enableDnsRebindingProtection)return;if(this._allowedHosts&&this._allowedHosts.length>0){let Y=Q.headers.get("host");if(!Y||!this._allowedHosts.includes(Y)){let X=`Invalid Host header: ${Y}`;return this.onerror?.(Error(X)),this.createJsonErrorResponse(403,-32000,X)}}if(this._allowedOrigins&&this._allowedOrigins.length>0){let Y=Q.headers.get("origin");if(Y&&!this._allowedOrigins.includes(Y)){let X=`Invalid Origin header: ${Y}`;return this.onerror?.(Error(X)),this.createJsonErrorResponse(403,-32000,X)}}return}async handleRequest(Q,Y){let X=this.validateRequestHeaders(Q);if(X)return X;switch(Q.method){case"POST":return this.handlePostRequest(Q,Y);case"GET":return this.handleGetRequest(Q);case"DELETE":return this.handleDeleteRequest(Q);default:return this.handleUnsupportedRequest()}}async writePrimingEvent(Q,Y,X,W){if(!this._eventStore)return;if(W<"2025-11-25")return;let $=await this._eventStore.storeEvent(X,{}),J=`id: ${$}
48
48
  data:
49
49
 
50
50
  `;if(this._retryInterval!==void 0)J=`id: ${$}
51
51
  retry: ${this._retryInterval}
52
52
  data:
53
53
 
54
- `;Q.enqueue(X.encode(J))}async handleGetRequest(Q){if(!Q.headers.get("accept")?.includes("text/event-stream"))return this.createJsonErrorResponse(406,-32000,"Not Acceptable: Client must accept text/event-stream");let Y=this.validateSession(Q);if(Y)return Y;let W=this.validateProtocolVersion(Q);if(W)return W;if(this._eventStore){let B=Q.headers.get("last-event-id");if(B)return this.replayEvents(B)}if(this._streamMapping.get(this._standaloneSseStreamId)!==void 0)return this.createJsonErrorResponse(409,-32000,"Conflict: Only one SSE stream is allowed per session");let $=new TextEncoder,J,G=new ReadableStream({start:(B)=>{J=B},cancel:()=>{this._streamMapping.delete(this._standaloneSseStreamId)}}),H={"Content-Type":"text/event-stream","Cache-Control":"no-cache, no-transform",Connection:"keep-alive"};if(this.sessionId!==void 0)H["mcp-session-id"]=this.sessionId;return this._streamMapping.set(this._standaloneSseStreamId,{controller:J,encoder:$,cleanup:()=>{this._streamMapping.delete(this._standaloneSseStreamId);try{J.close()}catch{}}}),new Response(G,{headers:H})}async replayEvents(Q){if(!this._eventStore)return this.createJsonErrorResponse(400,-32000,"Event store not configured");try{let X;if(this._eventStore.getStreamIdForEventId){if(X=await this._eventStore.getStreamIdForEventId(Q),!X)return this.createJsonErrorResponse(400,-32000,"Invalid event ID format");if(this._streamMapping.get(X)!==void 0)return this.createJsonErrorResponse(409,-32000,"Conflict: Stream already has an active connection")}let Y={"Content-Type":"text/event-stream","Cache-Control":"no-cache, no-transform",Connection:"keep-alive"};if(this.sessionId!==void 0)Y["mcp-session-id"]=this.sessionId;let W=new TextEncoder,$,J=new ReadableStream({start:(H)=>{$=H},cancel:()=>{}}),G=await this._eventStore.replayEventsAfter(Q,{send:async(H,B)=>{if(!this.writeSSEEvent($,W,B,H)){this.onerror?.(Error("Failed replay events"));try{$.close()}catch{}}}});return this._streamMapping.set(G,{controller:$,encoder:W,cleanup:()=>{this._streamMapping.delete(G);try{$.close()}catch{}}}),new Response(J,{headers:Y})}catch(X){return this.onerror?.(X),this.createJsonErrorResponse(500,-32000,"Error replaying events")}}writeSSEEvent(Q,X,Y,W){try{let $=`event: message
54
+ `;Q.enqueue(Y.encode(J))}async handleGetRequest(Q){if(!Q.headers.get("accept")?.includes("text/event-stream"))return this.createJsonErrorResponse(406,-32000,"Not Acceptable: Client must accept text/event-stream");let X=this.validateSession(Q);if(X)return X;let W=this.validateProtocolVersion(Q);if(W)return W;if(this._eventStore){let B=Q.headers.get("last-event-id");if(B)return this.replayEvents(B)}if(this._streamMapping.get(this._standaloneSseStreamId)!==void 0)return this.createJsonErrorResponse(409,-32000,"Conflict: Only one SSE stream is allowed per session");let $=new TextEncoder,J,G=new ReadableStream({start:(B)=>{J=B},cancel:()=>{this._streamMapping.delete(this._standaloneSseStreamId)}}),H={"Content-Type":"text/event-stream","Cache-Control":"no-cache, no-transform",Connection:"keep-alive"};if(this.sessionId!==void 0)H["mcp-session-id"]=this.sessionId;return this._streamMapping.set(this._standaloneSseStreamId,{controller:J,encoder:$,cleanup:()=>{this._streamMapping.delete(this._standaloneSseStreamId);try{J.close()}catch{}}}),new Response(G,{headers:H})}async replayEvents(Q){if(!this._eventStore)return this.createJsonErrorResponse(400,-32000,"Event store not configured");try{let Y;if(this._eventStore.getStreamIdForEventId){if(Y=await this._eventStore.getStreamIdForEventId(Q),!Y)return this.createJsonErrorResponse(400,-32000,"Invalid event ID format");if(this._streamMapping.get(Y)!==void 0)return this.createJsonErrorResponse(409,-32000,"Conflict: Stream already has an active connection")}let X={"Content-Type":"text/event-stream","Cache-Control":"no-cache, no-transform",Connection:"keep-alive"};if(this.sessionId!==void 0)X["mcp-session-id"]=this.sessionId;let W=new TextEncoder,$,J=new ReadableStream({start:(H)=>{$=H},cancel:()=>{}}),G=await this._eventStore.replayEventsAfter(Q,{send:async(H,B)=>{if(!this.writeSSEEvent($,W,B,H)){this.onerror?.(Error("Failed replay events"));try{$.close()}catch{}}}});return this._streamMapping.set(G,{controller:$,encoder:W,cleanup:()=>{this._streamMapping.delete(G);try{$.close()}catch{}}}),new Response(J,{headers:X})}catch(Y){return this.onerror?.(Y),this.createJsonErrorResponse(500,-32000,"Error replaying events")}}writeSSEEvent(Q,Y,X,W){try{let $=`event: message
55
55
  `;if(W)$+=`id: ${W}
56
- `;return $+=`data: ${JSON.stringify(Y)}
56
+ `;return $+=`data: ${JSON.stringify(X)}
57
57
 
58
- `,Q.enqueue(X.encode($)),!0}catch{return!1}}handleUnsupportedRequest(){return new Response(JSON.stringify({jsonrpc:"2.0",error:{code:-32000,message:"Method not allowed."},id:null}),{status:405,headers:{Allow:"GET, POST, DELETE","Content-Type":"application/json"}})}async handlePostRequest(Q,X){try{let Y=Q.headers.get("accept");if(!Y?.includes("application/json")||!Y.includes("text/event-stream"))return this.createJsonErrorResponse(406,-32000,"Not Acceptable: Client must accept both application/json and text/event-stream");let W=Q.headers.get("content-type");if(!W||!W.includes("application/json"))return this.createJsonErrorResponse(415,-32000,"Unsupported Media Type: Content-Type must be application/json");let $={headers:Object.fromEntries(Q.headers.entries())},J;if(X?.parsedBody!==void 0)J=X.parsedBody;else try{J=await Q.json()}catch{return this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON")}let G;try{if(Array.isArray(J))G=J.map((O)=>X6.parse(O));else G=[X6.parse(J)]}catch{return this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON-RPC message")}let H=G.some(F5);if(H){if(this._initialized&&this.sessionId!==void 0)return this.createJsonErrorResponse(400,-32600,"Invalid Request: Server already initialized");if(G.length>1)return this.createJsonErrorResponse(400,-32600,"Invalid Request: Only one initialization request is allowed");if(this.sessionId=this.sessionIdGenerator?.(),this._initialized=!0,this.sessionId&&this._onsessioninitialized)await Promise.resolve(this._onsessioninitialized(this.sessionId))}if(!H){let O=this.validateSession(Q);if(O)return O;let U=this.validateProtocolVersion(Q);if(U)return U}if(!G.some(p1)){for(let O of G)this.onmessage?.(O,{authInfo:X?.authInfo,requestInfo:$});return new Response(null,{status:202})}let z=crypto.randomUUID(),K=G.find((O)=>F5(O)),V=K?K.params.protocolVersion:Q.headers.get("mcp-protocol-version")??y3;if(this._enableJsonResponse)return new Promise((O)=>{this._streamMapping.set(z,{resolveJson:O,cleanup:()=>{this._streamMapping.delete(z)}});for(let U of G)if(p1(U))this._requestToStreamMapping.set(U.id,z);for(let U of G)this.onmessage?.(U,{authInfo:X?.authInfo,requestInfo:$})});let A=new TextEncoder,F,L=new ReadableStream({start:(O)=>{F=O},cancel:()=>{this._streamMapping.delete(z)}}),D={"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"};if(this.sessionId!==void 0)D["mcp-session-id"]=this.sessionId;for(let O of G)if(p1(O))this._streamMapping.set(z,{controller:F,encoder:A,cleanup:()=>{this._streamMapping.delete(z);try{F.close()}catch{}}}),this._requestToStreamMapping.set(O.id,z);await this.writePrimingEvent(F,A,z,V);for(let O of G){let U,w;if(p1(O)&&this._eventStore&&V>="2025-11-25")U=()=>{this.closeSSEStream(O.id)},w=()=>{this.closeStandaloneSSEStream()};this.onmessage?.(O,{authInfo:X?.authInfo,requestInfo:$,closeSSEStream:U,closeStandaloneSSEStream:w})}return new Response(L,{status:200,headers:D})}catch(Y){return this.onerror?.(Y),this.createJsonErrorResponse(400,-32700,"Parse error",{data:String(Y)})}}async handleDeleteRequest(Q){let X=this.validateSession(Q);if(X)return X;let Y=this.validateProtocolVersion(Q);if(Y)return Y;return await Promise.resolve(this._onsessionclosed?.(this.sessionId)),await this.close(),new Response(null,{status:200})}validateSession(Q){if(this.sessionIdGenerator===void 0)return;if(!this._initialized)return this.createJsonErrorResponse(400,-32000,"Bad Request: Server not initialized");let X=Q.headers.get("mcp-session-id");if(!X)return this.createJsonErrorResponse(400,-32000,"Bad Request: Mcp-Session-Id header is required");if(X!==this.sessionId)return this.createJsonErrorResponse(404,-32001,"Session not found");return}validateProtocolVersion(Q){let X=Q.headers.get("mcp-protocol-version");if(X!==null&&!Q9.includes(X))return this.createJsonErrorResponse(400,-32000,`Bad Request: Unsupported protocol version: ${X} (supported versions: ${Q9.join(", ")})`);return}async close(){this._streamMapping.forEach(({cleanup:Q})=>{Q()}),this._streamMapping.clear(),this._requestResponseMap.clear(),this.onclose?.()}closeSSEStream(Q){let X=this._requestToStreamMapping.get(Q);if(!X)return;let Y=this._streamMapping.get(X);if(Y)Y.cleanup()}closeStandaloneSSEStream(){let Q=this._streamMapping.get(this._standaloneSseStreamId);if(Q)Q.cleanup()}async send(Q,X){let Y=X?.relatedRequestId;if(P1(Q)||p9(Q))Y=Q.id;if(Y===void 0){if(P1(Q)||p9(Q))throw Error("Cannot send a response on a standalone SSE stream unless resuming a previous client request");let J;if(this._eventStore)J=await this._eventStore.storeEvent(this._standaloneSseStreamId,Q);let G=this._streamMapping.get(this._standaloneSseStreamId);if(G===void 0)return;if(G.controller&&G.encoder)this.writeSSEEvent(G.controller,G.encoder,Q,J);return}let W=this._requestToStreamMapping.get(Y);if(!W)throw Error(`No connection established for request ID: ${String(Y)}`);let $=this._streamMapping.get(W);if(!this._enableJsonResponse&&$?.controller&&$?.encoder){let J;if(this._eventStore)J=await this._eventStore.storeEvent(W,Q);this.writeSSEEvent($.controller,$.encoder,Q,J)}if(P1(Q)||p9(Q)){this._requestResponseMap.set(Y,Q);let J=Array.from(this._requestToStreamMapping.entries()).filter(([H,B])=>B===W).map(([H])=>H);if(J.every((H)=>this._requestResponseMap.has(H))){if(!$)throw Error(`No connection established for request ID: ${String(Y)}`);if(this._enableJsonResponse&&$.resolveJson){let H={"Content-Type":"application/json"};if(this.sessionId!==void 0)H["mcp-session-id"]=this.sessionId;let B=J.map((z)=>this._requestResponseMap.get(z));if(B.length===1)$.resolveJson(new Response(JSON.stringify(B[0]),{status:200,headers:H}));else $.resolveJson(new Response(JSON.stringify(B),{status:200,headers:H}))}else $.cleanup();for(let H of J)this._requestResponseMap.delete(H),this._requestToStreamMapping.delete(H)}}}}class lJ{constructor(Q={}){this._requestContext=new WeakMap,this._webStandardTransport=new uJ(Q),this._requestListener=hJ(async(X)=>{let Y=this._requestContext.get(X);return this._webStandardTransport.handleRequest(X,{authInfo:Y?.authInfo,parsedBody:Y?.parsedBody})})}get sessionId(){return this._webStandardTransport.sessionId}set onclose(Q){this._webStandardTransport.onclose=Q}get onclose(){return this._webStandardTransport.onclose}set onerror(Q){this._webStandardTransport.onerror=Q}get onerror(){return this._webStandardTransport.onerror}set onmessage(Q){this._webStandardTransport.onmessage=Q}get onmessage(){return this._webStandardTransport.onmessage}async start(){return this._webStandardTransport.start()}async close(){return this._webStandardTransport.close()}async send(Q,X){return this._webStandardTransport.send(Q,X)}async handleRequest(Q,X,Y){let W=Q.auth;await hJ(async(J)=>{return this._webStandardTransport.handleRequest(J,{authInfo:W,parsedBody:Y})})(Q,X)}closeSSEStream(Q){this._webStandardTransport.closeSSEStream(Q)}closeStandaloneSSEStream(){this._webStandardTransport.closeStandaloneSSEStream()}}import{createServer as Wu}from"http";import{readFileSync as $u}from"fs";import SY from"node:crypto";var IU="0123456789ABCDEFGHJKMNPQRSTVWXYZ",IY=32;var Mg=16,TU=10,SU=281474976710655;var q9;(function(Q){Q.Base32IncorrectEncoding="B32_ENC_INVALID",Q.DecodeTimeInvalidCharacter="DEC_TIME_CHAR",Q.DecodeTimeValueMalformed="DEC_TIME_MALFORMED",Q.EncodeTimeNegative="ENC_TIME_NEG",Q.EncodeTimeSizeExceeded="ENC_TIME_SIZE_EXCEED",Q.EncodeTimeValueMalformed="ENC_TIME_MALFORMED",Q.PRNGDetectFailure="PRNG_DETECT",Q.ULIDInvalid="ULID_INVALID",Q.Unexpected="UNEXPECTED",Q.UUIDInvalid="UUID_INVALID"})(q9||(q9={}));class j8 extends Error{constructor(Q,X){super(`${X} (${Q})`);this.name="ULIDError",this.code=Q}}function bg(Q){let X=Math.floor(Q()*IY)%IY;return IU.charAt(X)}function Pg(Q){let X=Zg(),Y=X&&(X.crypto||X.msCrypto)||(typeof SY<"u"?SY:null);if(typeof Y?.getRandomValues==="function")return()=>{let W=new Uint8Array(1);return Y.getRandomValues(W),W[0]/256};else if(typeof Y?.randomBytes==="function")return()=>Y.randomBytes(1).readUInt8()/256;else if(SY?.randomBytes)return()=>SY.randomBytes(1).readUInt8()/256;throw new j8(q9.PRNGDetectFailure,"Failed to find a reliable PRNG")}function Zg(){if(Sg())return self;if(typeof window<"u")return window;if(typeof global<"u")return global;if(typeof globalThis<"u")return globalThis;return null}function Rg(Q,X){let Y="";for(;Q>0;Q--)Y=bg(X)+Y;return Y}function Eg(Q,X=TU){if(isNaN(Q))throw new j8(q9.EncodeTimeValueMalformed,`Time must be a number: ${Q}`);else if(Q>SU)throw new j8(q9.EncodeTimeSizeExceeded,`Cannot encode a time larger than ${SU}: ${Q}`);else if(Q<0)throw new j8(q9.EncodeTimeNegative,`Time must be positive: ${Q}`);else if(Number.isInteger(Q)===!1)throw new j8(q9.EncodeTimeValueMalformed,`Time must be an integer: ${Q}`);let Y,W="";for(let $=X;$>0;$--)Y=Q%IY,W=IU.charAt(Y)+W,Q=(Q-Y)/IY;return W}function Sg(){return typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope}function r0(Q,X){let Y=X||Pg(),W=!Q||isNaN(Q)?Date.now():Q;return Eg(W,TU)+Rg(Mg,Y)}function mJ(Q){return Q.type==="http"}function cJ(Q){return Q.type==="stdio"}class pJ{configs=new Map;logger;constructor(Q={}){this.logger=Q.logger}addConfig(Q,X,Y,W){let $=this.configs.has(Q);return this.configs.set(Q,{name:Q,type:"http",url:X,headers:Y?.headers,addedAt:new Date,addedBy:W}),this.logger?.info($?"server_config_updated":"server_config_added",{server:Q,type:"http",url:X,hasHeaders:Y?.headers!==void 0,addedBy:W}),!$}addStdioConfig(Q,X,Y,W,$){let J=this.configs.has(Q);return this.configs.set(Q,{name:Q,type:"stdio",command:X,args:Y,env:W?.env,cwd:W?.cwd,restartConfig:W?.restartConfig,addedAt:new Date,addedBy:$}),this.logger?.info(J?"server_config_updated":"server_config_added",{server:Q,type:"stdio",command:X,args:Y,addedBy:$}),!J}getConfig(Q){return this.configs.get(Q)}listConfigs(){return Array.from(this.configs.values())}removeConfig(Q){let X=this.configs.delete(Q);if(X)this.logger?.info("server_config_removed",{server:Q});return X}hasConfig(Q){return this.configs.has(Q)}get size(){return this.configs.size}clear(){this.configs.clear(),this.logger?.info("server_configs_cleared",{})}}var Ig={maxEvents:1000,retentionMs:1800000,cleanupIntervalMs:300000};class dJ{events=[];config;logger;lastDeliveredId=null;waiters=[];cleanupIntervalHandle=null;constructor(Q={},X){this.config={...Ig,...Q},this.logger=X,this.startCleanupInterval()}addEvent(Q,X,Y){let W=r0(),$={id:W,type:Q,server:X,data:Y,createdAt:new Date,sentViaSSE:!1};this.events.push($);while(this.events.length>this.config.maxEvents)this.events.shift();return this.logger?.debug("event_added",{id:W,type:Q,server:X}),this.wakeWaiters($),W}hasNewEvents(){if(this.lastDeliveredId===null)return this.events.length>0;let Q=this.events.findIndex((X)=>X.id===this.lastDeliveredId);if(Q===-1)return this.events.length>0;return Q<this.events.length-1}getNewEvents(){if(this.events.length===0)return[];let Q=0;if(this.lastDeliveredId!==null){let Y=this.events.findIndex((W)=>W.id===this.lastDeliveredId);if(Y!==-1)Q=Y+1}let X=this.events.slice(Q);if(X.length>0){let Y=X[X.length-1];if(Y)this.lastDeliveredId=Y.id}return X}getEventsAfter(Q){if(Q===null)return[...this.events];let X=this.events.findIndex((Y)=>Y.id===Q);if(X===-1)return[...this.events];return this.events.slice(X+1)}markSent(Q){let X=this.events.find((Y)=>Y.id===Q);if(X)X.sentViaSSE=!0}waitForActivity(Q){return new Promise((X)=>{let Y=setTimeout(()=>{let W=this.waiters.findIndex(($)=>$.timeoutHandle===Y);if(W!==-1)this.waiters.splice(W,1);X(null)},Q);this.waiters.push({resolve:X,timeoutHandle:Y})})}wakeWaiters(Q){let X=this.waiters;this.waiters=[];for(let Y of X)clearTimeout(Y.timeoutHandle),Y.resolve(Q)}startCleanupInterval(){this.cleanupIntervalHandle=setInterval(()=>{this.runCleanup()},this.config.cleanupIntervalMs)}runCleanup(){let Q=Date.now()-this.config.retentionMs,X=0;while(this.events.length>0){let Y=this.events[0];if(Y&&Y.createdAt.getTime()<Q)this.events.shift(),X++;else break}if(X>0)this.logger?.debug("events_cleaned",{removed:X,remaining:this.events.length})}shutdown(){if(this.cleanupIntervalHandle)clearInterval(this.cleanupIntervalHandle),this.cleanupIntervalHandle=null;for(let Q of this.waiters)clearTimeout(Q.timeoutHandle),Q.resolve(null);this.waiters=[]}}var Tg={defaultTtlMs:600000,completedRetentionMs:300000,cleanupIntervalMs:60000};class iJ{tasks=new Map;eventSystem;config;cleanupIntervalHandle=null;constructor(Q,X={}){this.eventSystem=Q,this.config={...Tg,...X},this.startCleanupInterval()}createTask(Q,X,Y,W){let $=r0(),J=new Date,G={taskId:$,server:Q,toolName:X,args:Y,status:"working",createdAt:J,lastUpdatedAt:J,ttl:W??this.config.defaultTtlMs};return this.tasks.set($,G),this.eventSystem.addEvent("task_created",Q,{taskId:$,toolName:X,args:Y}),G}completeTask(Q,X){let Y=this.tasks.get(Q);if(Y?.status!=="working")return;Y.status="completed",Y.result=X,Y.lastUpdatedAt=new Date,this.scheduleTaskCleanup(Y),this.eventSystem.addEvent("task_completed",Y.server,{taskId:Q,toolName:Y.toolName,result:X})}failTask(Q,X){let Y=this.tasks.get(Q);if(Y?.status!=="working")return;Y.status="failed",Y.error=X,Y.lastUpdatedAt=new Date,this.scheduleTaskCleanup(Y),this.eventSystem.addEvent("task_failed",Y.server,{taskId:Q,toolName:Y.toolName,error:X})}cancelTask(Q){let X=this.tasks.get(Q);if(X?.status!=="working")return!1;return X.status="cancelled",X.lastUpdatedAt=new Date,this.scheduleTaskCleanup(X),this.eventSystem.addEvent("task_cancelled",X.server,{taskId:Q,toolName:X.toolName}),!0}getTask(Q){let X=this.tasks.get(Q);if(!X)return;let{_cleanupTimeoutHandle:Y,...W}=X;return W}getTasksForServer(Q){return Array.from(this.tasks.values()).filter((X)=>X.server===Q).map((X)=>({taskId:X.taskId,server:X.server,toolName:X.toolName,args:X.args,status:X.status,result:X.result,error:X.error,createdAt:X.createdAt,lastUpdatedAt:X.lastUpdatedAt,ttl:X.ttl}))}getAllTasks(Q=!1){let X=["completed","failed","cancelled","expired"];return Array.from(this.tasks.values()).filter((Y)=>Q||!X.includes(Y.status)).map((Y)=>({taskId:Y.taskId,server:Y.server,toolName:Y.toolName,args:Y.args,status:Y.status,result:Y.result,error:Y.error,createdAt:Y.createdAt,lastUpdatedAt:Y.lastUpdatedAt,ttl:Y.ttl}))}getWorkingTasksForServer(Q){return Array.from(this.tasks.values()).filter((X)=>X.server===Q&&X.status==="working").map((X)=>({taskId:X.taskId,toolName:X.toolName,status:X.status}))}scheduleTaskCleanup(Q){if(Q._cleanupTimeoutHandle)clearTimeout(Q._cleanupTimeoutHandle);Q._cleanupTimeoutHandle=setTimeout(()=>{this.tasks.delete(Q.taskId)},this.config.completedRetentionMs)}startCleanupInterval(){this.cleanupIntervalHandle=setInterval(()=>{this.runCleanup()},this.config.cleanupIntervalMs)}runCleanup(){let Q=Date.now();for(let X of this.tasks.values()){if(X.status!=="working")continue;if(Q-X.createdAt.getTime()>=X.ttl)X.status="expired",X.error=`Task expired after ${String(X.ttl)}ms TTL`,X.lastUpdatedAt=new Date,this.eventSystem.addEvent("task_expired",X.server,{taskId:X.taskId,toolName:X.toolName,ttl:X.ttl}),this.scheduleTaskCleanup(X)}}shutdown(){if(this.cleanupIntervalHandle)clearInterval(this.cleanupIntervalHandle),this.cleanupIntervalHandle=null;for(let Q of this.tasks.values())if(Q._cleanupTimeoutHandle)clearTimeout(Q._cleanupTimeoutHandle)}}var Cg={maxNotificationsPerServer:100,maxLogsPerServer:500};class nJ{buffers=new Map;eventSystem;config;constructor(Q,X={}){this.eventSystem=Q,this.config={...Cg,...X}}addNotification(Q){let X=this.getOrCreateBuffers(Q.server);if(X.notifications.length>=this.config.maxNotificationsPerServer)X.notifications.shift();X.notifications.push(Q),this.eventSystem.addEvent("notification",Q.server,{method:Q.method,params:Q.params,timestamp:Q.timestamp.toISOString()})}addLog(Q){let X=this.getOrCreateBuffers(Q.server);if(X.logs.length>=this.config.maxLogsPerServer)X.logs.shift();X.logs.push(Q)}getAndClearNotifications(){let Q=[];for(let X of this.buffers.values())Q.push(...X.notifications),X.notifications=[];return Q}getAndClearLogs(){let Q=[];for(let X of this.buffers.values())Q.push(...X.logs),X.logs=[];return Q}getNotificationsForServer(Q){let X=this.buffers.get(Q);return X?[...X.notifications]:[]}getLogsForServer(Q){let X=this.buffers.get(Q);return X?[...X.logs]:[]}getNotificationCount(){let Q=0;for(let X of this.buffers.values())Q+=X.notifications.length;return Q}getLogCount(){let Q=0;for(let X of this.buffers.values())Q+=X.logs.length;return Q}clearServer(Q){this.buffers.delete(Q)}getOrCreateBuffers(Q){let X=this.buffers.get(Q);if(!X)X={notifications:[],logs:[]},this.buffers.set(Q,X);return X}}var kg={defaultTimeoutMs:600000};class oJ{samplingRequests=new Map;elicitationRequests=new Map;eventSystem;config;constructor(Q,X={}){this.eventSystem=Q,this.config={...kg,...X}}addSamplingRequest(Q,X,Y,W){let $=r0(),J=setTimeout(()=>{let H=this.samplingRequests.get($);if(H)this.samplingRequests.delete($),this.eventSystem.addEvent("sampling_expired",Q,{requestId:$,reason:`Timed out after ${String(this.config.defaultTimeoutMs)}ms`}),H.reject(Error(`Sampling request timed out after ${String(this.config.defaultTimeoutMs)}ms`))},this.config.defaultTimeoutMs),G={requestId:$,server:Q,timestamp:new Date,params:X,resolve:Y,reject:W,timeoutHandle:J};return this.samplingRequests.set($,G),this.eventSystem.addEvent("sampling_request",Q,{requestId:$,params:X}),$}addElicitationRequest(Q,X,Y,W){let $=r0(),J=setTimeout(()=>{let H=this.elicitationRequests.get($);if(H)this.elicitationRequests.delete($),this.eventSystem.addEvent("elicitation_expired",Q,{requestId:$,reason:`Timed out after ${String(this.config.defaultTimeoutMs)}ms`}),H.reject(Error(`Elicitation request timed out after ${String(this.config.defaultTimeoutMs)}ms`))},this.config.defaultTimeoutMs),G={requestId:$,server:Q,timestamp:new Date,params:X,resolve:Y,reject:W,timeoutHandle:J};return this.elicitationRequests.set($,G),this.eventSystem.addEvent("elicitation_request",Q,{requestId:$,params:X}),$}respondToSampling(Q,X){let Y=this.samplingRequests.get(Q);if(!Y)throw Error(`Sampling request '${Q}' not found or already completed`);clearTimeout(Y.timeoutHandle),this.samplingRequests.delete(Q),Y.resolve(X)}cancelSampling(Q,X="User cancelled"){let Y=this.samplingRequests.get(Q);if(!Y)throw Error(`Sampling request '${Q}' not found or already completed`);clearTimeout(Y.timeoutHandle),this.samplingRequests.delete(Q),this.eventSystem.addEvent("sampling_expired",Y.server,{requestId:Q,reason:X}),Y.reject(Error(X))}respondToElicitation(Q,X){let Y=this.elicitationRequests.get(Q);if(!Y)throw Error(`Elicitation request '${Q}' not found or already completed`);clearTimeout(Y.timeoutHandle),this.elicitationRequests.delete(Q),Y.resolve(X)}cancelElicitation(Q,X="User cancelled"){let Y=this.elicitationRequests.get(Q);if(!Y)throw Error(`Elicitation request '${Q}' not found or already completed`);clearTimeout(Y.timeoutHandle),this.elicitationRequests.delete(Q),this.eventSystem.addEvent("elicitation_expired",Y.server,{requestId:Q,reason:X}),Y.reject(Error(X))}getPendingSamplingRequests(){return Array.from(this.samplingRequests.values()).map((Q)=>({requestId:Q.requestId,server:Q.server,timestamp:Q.timestamp,params:Q.params}))}getPendingElicitationRequests(){return Array.from(this.elicitationRequests.values()).map((Q)=>({requestId:Q.requestId,server:Q.server,timestamp:Q.timestamp,params:Q.params}))}getRequestsForServer(Q){return{sampling:this.getPendingSamplingRequests().filter((X)=>X.server===Q),elicitation:this.getPendingElicitationRequests().filter((X)=>X.server===Q)}}hasPendingRequests(){return this.samplingRequests.size>0||this.elicitationRequests.size>0}rejectRequestsForServer(Q,X){for(let[Y,W]of this.samplingRequests)if(W.server===Q)clearTimeout(W.timeoutHandle),this.samplingRequests.delete(Y),this.eventSystem.addEvent("sampling_expired",Q,{requestId:Y,reason:X}),W.reject(Error(X));for(let[Y,W]of this.elicitationRequests)if(W.server===Q)clearTimeout(W.timeoutHandle),this.elicitationRequests.delete(Y),this.eventSystem.addEvent("elicitation_expired",Q,{requestId:Y,reason:X}),W.reject(Error(X))}shutdown(){for(let Q of this.samplingRequests.values())clearTimeout(Q.timeoutHandle),Q.reject(Error("PendingRequestsManager shutting down"));this.samplingRequests.clear();for(let Q of this.elicitationRequests.values())clearTimeout(Q.timeoutHandle),Q.reject(Error("PendingRequestsManager shutting down"));this.elicitationRequests.clear()}}var vg={maxActiveTimers:100,maxDurationMs:86400000,retentionMs:300000};class rJ{timers=new Map;expiredBuffer=[];eventSystem;config;constructor(Q,X={}){this.eventSystem=Q,this.config={...vg,...X}}createTimer(Q,X,Y=!1){if(this.getActiveTimers().length>=this.config.maxActiveTimers)throw Error(`Maximum active timers (${String(this.config.maxActiveTimers)}) exceeded`);if(Q<=0)throw Error("Duration must be positive");if(Q>this.config.maxDurationMs)throw Error(`Duration exceeds maximum (${String(this.config.maxDurationMs)}ms)`);let $=r0(),J=new Date,G=new Date(J.getTime()+Q),H={id:$,durationMs:Q,message:X,createdAt:J,expiresAt:G,status:"active",interval:Y,fireCount:0};if(Y)H._intervalHandle=setInterval(()=>{this.fireIntervalTimer($)},Q);else H._timeoutHandle=setTimeout(()=>{this.expireTimer($)},Q);return this.timers.set($,H),this.toPublicTimer(H)}getTimer(Q){let X=this.timers.get(Q);if(!X)return;return this.toPublicTimer(X)}deleteTimer(Q){let X=this.timers.get(Q);if(!X)return;if(X._timeoutHandle)clearTimeout(X._timeoutHandle),X._timeoutHandle=void 0;if(X._intervalHandle)clearInterval(X._intervalHandle),X._intervalHandle=void 0;return X.status="deleted",this.scheduleCleanup(X),this.toPublicTimer(X)}getAllTimers(Q=!1){let X=Array.from(this.timers.values());return(Q?X:X.filter((W)=>W.status==="active")).map((W)=>this.toPublicTimer(W))}getActiveTimers(){return Array.from(this.timers.values()).filter((Q)=>Q.status==="active").map((Q)=>this.toPublicTimer(Q))}getAndClearExpired(){let Q=[...this.expiredBuffer];return this.expiredBuffer.length=0,Q}hasExpired(){return this.expiredBuffer.length>0}shutdown(){for(let Q of this.timers.values()){if(Q._timeoutHandle)clearTimeout(Q._timeoutHandle);if(Q._intervalHandle)clearInterval(Q._intervalHandle)}this.timers.clear(),this.expiredBuffer.length=0}expireTimer(Q){let X=this.timers.get(Q);if(!X?.status||X.status!=="active")return;X.status="expired",X._timeoutHandle=void 0,X.fireCount++,this.expiredBuffer.push({id:X.id,message:X.message,expiredAt:new Date().toISOString()}),this.eventSystem.addEvent("timer_expired","emceepee",{timerId:X.id,message:X.message}),this.scheduleCleanup(X)}fireIntervalTimer(Q){let X=this.timers.get(Q);if(!X?.status||X.status!=="active")return;X.fireCount++,X.expiresAt=new Date(Date.now()+X.durationMs),this.expiredBuffer.push({id:X.id,message:X.message,expiredAt:new Date().toISOString()}),this.eventSystem.addEvent("timer_expired","emceepee",{timerId:X.id,message:X.message,fireCount:X.fireCount,interval:!0})}scheduleCleanup(Q){setTimeout(()=>{this.timers.delete(Q.id)},this.config.retentionMs)}toPublicTimer(Q){return{id:Q.id,durationMs:Q.durationMs,message:Q.message,createdAt:Q.createdAt,expiresAt:Q.expiresAt,status:Q.status,interval:Q.interval,fireCount:Q.fireCount}}}class tJ{sessionId;createdAt;lastActivityAt;backendConnections=new Map;eventSystem;taskManager;pendingRequests;bufferManager;timerManager;logger;constructor(Q,X={},Y){this.sessionId=Q,this.createdAt=new Date,this.lastActivityAt=new Date,this.logger=Y,this.eventSystem=new dJ(X.eventSystemConfig,Y),this.taskManager=new iJ(this.eventSystem,X.taskConfig),this.pendingRequests=new oJ(this.eventSystem,X.requestConfig),this.bufferManager=new nJ(this.eventSystem,X.bufferConfig),this.timerManager=new rJ(this.eventSystem,X.timerConfig)}touch(){this.lastActivityAt=new Date}getConnection(Q){return this.backendConnections.get(Q)}isConnectedTo(Q){return this.backendConnections.get(Q)?.status==="connected"}listConnectedServers(){return Array.from(this.backendConnections.entries()).filter(([,Q])=>Q.status==="connected").map(([Q])=>Q)}listConnections(){return Array.from(this.backendConnections.entries()).map(([Q,X])=>({name:Q,status:X.status,connectedAt:X.connectedAt,lastError:X.lastError}))}setConnectionStatus(Q,X,Y){let W=this.backendConnections.get(Q);if(W){if(W.status=X,X==="connected")W.connectedAt=new Date,W.lastError=void 0;else if(X==="error"&&Y)W.lastError=Y}}addConnection(Q,X){this.backendConnections.set(Q,{client:X,status:"connecting"})}removeConnection(Q){return this.backendConnections.delete(Q)}async cleanup(){this.logger?.info("session_cleanup_start",{sessionId:this.sessionId}),this.pendingRequests.shutdown(),this.taskManager.shutdown(),this.timerManager.shutdown(),this.eventSystem.shutdown();for(let[Q,X]of this.backendConnections)try{await X.client.disconnect(),this.logger?.debug("session_backend_disconnected",{sessionId:this.sessionId,server:Q})}catch(Y){this.logger?.debug("session_backend_disconnect_error",{sessionId:this.sessionId,server:Q,error:Y instanceof Error?Y.message:String(Y)})}this.backendConnections.clear(),this.logger?.info("session_cleanup_complete",{sessionId:this.sessionId})}}class aJ{constructor(Q){this._client=Q}async*callToolStream(Q,X=b6,Y){let W=this._client,$={...Y,task:Y?.task??(W.isToolTask(Q.name)?{}:void 0)},J=W.requestStream({method:"tools/call",params:Q},X,$),G=W.getToolOutputValidator(Q.name);for await(let H of J){if(H.type==="result"&&G){let B=H.result;if(!B.structuredContent&&!B.isError){yield{type:"error",error:new I(k.InvalidRequest,`Tool ${Q.name} has an output schema but did not return structured content`)};return}if(B.structuredContent)try{let z=G(B.structuredContent);if(!z.valid){yield{type:"error",error:new I(k.InvalidParams,`Structured content does not match the tool's output schema: ${z.errorMessage}`)};return}}catch(z){if(z instanceof I){yield{type:"error",error:z};return}yield{type:"error",error:new I(k.InvalidParams,`Failed to validate structured content: ${z instanceof Error?z.message:String(z)}`)};return}}yield H}}async getTask(Q,X){return this._client.getTask({taskId:Q},X)}async getTaskResult(Q,X,Y){return this._client.getTaskResult({taskId:Q},X,Y)}async listTasks(Q,X){return this._client.listTasks(Q?{cursor:Q}:void 0,X)}async cancelTask(Q,X){return this._client.cancelTask({taskId:Q},X)}requestStream(Q,X,Y){return this._client.requestStream(Q,X,Y)}}function TY(Q,X){if(!Q||X===null||typeof X!=="object")return;if(Q.type==="object"&&Q.properties&&typeof Q.properties==="object"){let Y=X,W=Q.properties;for(let $ of Object.keys(W)){let J=W[$];if(Y[$]===void 0&&Object.prototype.hasOwnProperty.call(J,"default"))Y[$]=J.default;if(Y[$]!==void 0)TY(J,Y[$])}}if(Array.isArray(Q.anyOf)){for(let Y of Q.anyOf)if(typeof Y!=="boolean")TY(Y,X)}if(Array.isArray(Q.oneOf)){for(let Y of Q.oneOf)if(typeof Y!=="boolean")TY(Y,X)}}function _g(Q){if(!Q)return{supportsFormMode:!1,supportsUrlMode:!1};let X=Q.form!==void 0,Y=Q.url!==void 0;return{supportsFormMode:X||!X&&!Y,supportsUrlMode:Y}}class N8 extends G4{constructor(Q,X){super(X);if(this._clientInfo=Q,this._cachedToolOutputValidators=new Map,this._cachedKnownTaskTools=new Set,this._cachedRequiredTaskTools=new Set,this._listChangedDebounceTimers=new Map,this._capabilities=X?.capabilities??{},this._jsonSchemaValidator=X?.jsonSchemaValidator??new s4,X?.listChanged)this._pendingListChangedConfig=X.listChanged}_setupListChangedHandlers(Q){if(Q.tools&&this._serverCapabilities?.tools?.listChanged)this._setupListChangedHandler("tools",W9,Q.tools,async()=>{return(await this.listTools()).tools});if(Q.prompts&&this._serverCapabilities?.prompts?.listChanged)this._setupListChangedHandler("prompts",Y9,Q.prompts,async()=>{return(await this.listPrompts()).prompts});if(Q.resources&&this._serverCapabilities?.resources?.listChanged)this._setupListChangedHandler("resources",X9,Q.resources,async()=>{return(await this.listResources()).resources})}get experimental(){if(!this._experimental)this._experimental={tasks:new aJ(this)};return this._experimental}registerCapabilities(Q){if(this.transport)throw Error("Cannot register capabilities after connecting to transport");this._capabilities=JX(this._capabilities,Q)}setRequestHandler(Q,X){let W=c1(Q)?.method;if(!W)throw Error("Schema is missing a method literal");let $;if(e0(W)){let G=W;$=G._zod?.def?.value??G.value}else{let G=W;$=G._def?.value??G.value}if(typeof $!=="string")throw Error("Schema method literal must be a string");let J=$;if(J==="elicitation/create"){let G=async(H,B)=>{let z=c0(J9,H);if(!z.success){let U=z.error instanceof Error?z.error.message:String(z.error);throw new I(k.InvalidParams,`Invalid elicitation request: ${U}`)}let{params:K}=z.data;K.mode=K.mode??"form";let{supportsFormMode:V,supportsUrlMode:A}=_g(this._capabilities.elicitation);if(K.mode==="form"&&!V)throw new I(k.InvalidParams,"Client does not support form-mode elicitation requests");if(K.mode==="url"&&!A)throw new I(k.InvalidParams,"Client does not support URL-mode elicitation requests");let F=await Promise.resolve(X(H,B));if(K.task){let U=c0(W6,F);if(!U.success){let w=U.error instanceof Error?U.error.message:String(U.error);throw new I(k.InvalidParams,`Invalid task creation result: ${w}`)}return U.data}let L=c0(n9,F);if(!L.success){let U=L.error instanceof Error?L.error.message:String(L.error);throw new I(k.InvalidParams,`Invalid elicitation result: ${U}`)}let D=L.data,O=K.mode==="form"?K.requestedSchema:void 0;if(K.mode==="form"&&D.action==="accept"&&D.content&&O){if(this._capabilities.elicitation?.form?.applyDefaults)try{TY(O,D.content)}catch{}}return D};return super.setRequestHandler(Q,G)}if(J==="sampling/createMessage"){let G=async(H,B)=>{let z=c0($9,H);if(!z.success){let F=z.error instanceof Error?z.error.message:String(z.error);throw new I(k.InvalidParams,`Invalid sampling request: ${F}`)}let{params:K}=z.data,V=await Promise.resolve(X(H,B));if(K.task){let F=c0(W6,V);if(!F.success){let L=F.error instanceof Error?F.error.message:String(F.error);throw new I(k.InvalidParams,`Invalid task creation result: ${L}`)}return F.data}let A=c0($4,V);if(!A.success){let F=A.error instanceof Error?A.error.message:String(A.error);throw new I(k.InvalidParams,`Invalid sampling result: ${F}`)}return A.data};return super.setRequestHandler(Q,G)}return super.setRequestHandler(Q,X)}assertCapability(Q,X){if(!this._serverCapabilities?.[Q])throw Error(`Server does not support ${Q} (required for ${X})`)}async connect(Q,X){if(await super.connect(Q),Q.sessionId!==void 0)return;try{let Y=await this.request({method:"initialize",params:{protocolVersion:w6,capabilities:this._capabilities,clientInfo:this._clientInfo}},D5,X);if(Y===void 0)throw Error(`Server sent invalid initialize result: ${Y}`);if(!Q9.includes(Y.protocolVersion))throw Error(`Server's protocol version is not supported: ${Y.protocolVersion}`);if(this._serverCapabilities=Y.capabilities,this._serverVersion=Y.serverInfo,Q.setProtocolVersion)Q.setProtocolVersion(Y.protocolVersion);if(this._instructions=Y.instructions,await this.notification({method:"notifications/initialized"}),this._pendingListChangedConfig)this._setupListChangedHandlers(this._pendingListChangedConfig),this._pendingListChangedConfig=void 0}catch(Y){throw this.close(),Y}}getServerCapabilities(){return this._serverCapabilities}getServerVersion(){return this._serverVersion}getInstructions(){return this._instructions}assertCapabilityForMethod(Q){switch(Q){case"logging/setLevel":if(!this._serverCapabilities?.logging)throw Error(`Server does not support logging (required for ${Q})`);break;case"prompts/get":case"prompts/list":if(!this._serverCapabilities?.prompts)throw Error(`Server does not support prompts (required for ${Q})`);break;case"resources/list":case"resources/templates/list":case"resources/read":case"resources/subscribe":case"resources/unsubscribe":if(!this._serverCapabilities?.resources)throw Error(`Server does not support resources (required for ${Q})`);if(Q==="resources/subscribe"&&!this._serverCapabilities.resources.subscribe)throw Error(`Server does not support resource subscriptions (required for ${Q})`);break;case"tools/call":case"tools/list":if(!this._serverCapabilities?.tools)throw Error(`Server does not support tools (required for ${Q})`);break;case"completion/complete":if(!this._serverCapabilities?.completions)throw Error(`Server does not support completions (required for ${Q})`);break;case"initialize":break;case"ping":break}}assertNotificationCapability(Q){switch(Q){case"notifications/roots/list_changed":if(!this._capabilities.roots?.listChanged)throw Error(`Client does not support roots list changed notifications (required for ${Q})`);break;case"notifications/initialized":break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(Q){if(!this._capabilities)return;switch(Q){case"sampling/createMessage":if(!this._capabilities.sampling)throw Error(`Client does not support sampling capability (required for ${Q})`);break;case"elicitation/create":if(!this._capabilities.elicitation)throw Error(`Client does not support elicitation capability (required for ${Q})`);break;case"roots/list":if(!this._capabilities.roots)throw Error(`Client does not support roots capability (required for ${Q})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw Error(`Client does not support tasks capability (required for ${Q})`);break;case"ping":break}}assertTaskCapability(Q){bY(this._serverCapabilities?.tasks?.requests,Q,"Server")}assertTaskHandlerCapability(Q){if(!this._capabilities)return;PY(this._capabilities.tasks?.requests,Q,"Client")}async ping(Q){return this.request({method:"ping"},Y6,Q)}async complete(Q,X){return this.request({method:"completion/complete",params:Q},I5,X)}async setLoggingLevel(Q,X){return this.request({method:"logging/setLevel",params:{level:Q}},Y6,X)}async getPrompt(Q,X){return this.request({method:"prompts/get",params:Q},Z5,X)}async listPrompts(Q,X){return this.request({method:"prompts/list",params:Q},q5,X)}async listResources(Q,X){return this.request({method:"resources/list",params:Q},O5,X)}async listResourceTemplates(Q,X){return this.request({method:"resources/templates/list",params:Q},U5,X)}async readResource(Q,X){return this.request({method:"resources/read",params:Q},N5,X)}async subscribeResource(Q,X){return this.request({method:"resources/subscribe",params:Q},Y6,X)}async unsubscribeResource(Q,X){return this.request({method:"resources/unsubscribe",params:Q},Y6,X)}async callTool(Q,X=b6,Y){if(this.isToolTaskRequired(Q.name))throw new I(k.InvalidRequest,`Tool "${Q.name}" requires task-based execution. Use client.experimental.tasks.callToolStream() instead.`);let W=await this.request({method:"tools/call",params:Q},X,Y),$=this.getToolOutputValidator(Q.name);if($){if(!W.structuredContent&&!W.isError)throw new I(k.InvalidRequest,`Tool ${Q.name} has an output schema but did not return structured content`);if(W.structuredContent)try{let J=$(W.structuredContent);if(!J.valid)throw new I(k.InvalidParams,`Structured content does not match the tool's output schema: ${J.errorMessage}`)}catch(J){if(J instanceof I)throw J;throw new I(k.InvalidParams,`Failed to validate structured content: ${J instanceof Error?J.message:String(J)}`)}}return W}isToolTask(Q){if(!this._serverCapabilities?.tasks?.requests?.tools?.call)return!1;return this._cachedKnownTaskTools.has(Q)}isToolTaskRequired(Q){return this._cachedRequiredTaskTools.has(Q)}cacheToolMetadata(Q){this._cachedToolOutputValidators.clear(),this._cachedKnownTaskTools.clear(),this._cachedRequiredTaskTools.clear();for(let X of Q){if(X.outputSchema){let W=this._jsonSchemaValidator.getValidator(X.outputSchema);this._cachedToolOutputValidators.set(X.name,W)}let Y=X.execution?.taskSupport;if(Y==="required"||Y==="optional")this._cachedKnownTaskTools.add(X.name);if(Y==="required")this._cachedRequiredTaskTools.add(X.name)}}getToolOutputValidator(Q){return this._cachedToolOutputValidators.get(Q)}async listTools(Q,X){let Y=await this.request({method:"tools/list",params:Q},R5,X);return this.cacheToolMetadata(Y.tools),Y}_setupListChangedHandler(Q,X,Y,W){let $=a3.safeParse(Y);if(!$.success)throw Error(`Invalid ${Q} listChanged options: ${$.error.message}`);if(typeof Y.onChanged!=="function")throw Error(`Invalid ${Q} listChanged options: onChanged must be a function`);let{autoRefresh:J,debounceMs:G}=$.data,{onChanged:H}=Y,B=async()=>{if(!J){H(null,null);return}try{let K=await W();H(null,K)}catch(K){let V=K instanceof Error?K:Error(String(K));H(V,null)}},z=()=>{if(G){let K=this._listChangedDebounceTimers.get(Q);if(K)clearTimeout(K);let V=setTimeout(B,G);this._listChangedDebounceTimers.set(Q,V)}else B()};this.setNotificationHandler(X,z)}async sendRootsListChanged(){return this.notification({method:"notifications/roots/list_changed"})}}function CY(Q){if(!Q)return{};if(Q instanceof Headers)return Object.fromEntries(Q.entries());if(Array.isArray(Q))return Object.fromEntries(Q);return{...Q}}function CU(Q=fetch,X){if(!X)return Q;return async(Y,W)=>{let $={...X,...W,headers:W?.headers?{...CY(X.headers),...CY(W.headers)}:X.headers};return Q(Y,$)}}var sJ;sJ=globalThis.crypto?.webcrypto??globalThis.crypto??import("node:crypto").then((Q)=>Q.webcrypto);async function xg(Q){return(await sJ).getRandomValues(new Uint8Array(Q))}async function yg(Q){let Y=Math.pow(2,8)-Math.pow(2,8)%66,W="";while(W.length<Q){let $=await xg(Q-W.length);for(let J of $)if(J<Y)W+="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~"[J%66]}return W}async function fg(Q){return await yg(Q)}async function gg(Q){let X=await(await sJ).subtle.digest("SHA-256",new TextEncoder().encode(Q));return btoa(String.fromCharCode(...new Uint8Array(X))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}async function eJ(Q){if(!Q)Q=43;if(Q<43||Q>128)throw`Expected a length between 43 and 128. Received ${Q}.`;let X=await fg(Q),Y=await gg(X);return{code_verifier:X,code_challenge:Y}}var h0=P3().superRefine((Q,X)=>{if(!URL.canParse(Q))return X.addIssue({code:x3.custom,message:"URL must be parseable",fatal:!0}),KQ}).refine((Q)=>{let X=new URL(Q);return X.protocol!=="javascript:"&&X.protocol!=="data:"&&X.protocol!=="vbscript:"},{message:"URL cannot use javascript:, data:, or vbscript: scheme"}),vU=C0({resource:j().url(),authorization_servers:E(h0).optional(),jwks_uri:j().url().optional(),scopes_supported:E(j()).optional(),bearer_methods_supported:E(j()).optional(),resource_signing_alg_values_supported:E(j()).optional(),resource_name:j().optional(),resource_documentation:j().optional(),resource_policy_uri:j().url().optional(),resource_tos_uri:j().url().optional(),tls_client_certificate_bound_access_tokens:B0().optional(),authorization_details_types_supported:E(j()).optional(),dpop_signing_alg_values_supported:E(j()).optional(),dpop_bound_access_tokens_required:B0().optional()}),QG=C0({issuer:j(),authorization_endpoint:h0,token_endpoint:h0,registration_endpoint:h0.optional(),scopes_supported:E(j()).optional(),response_types_supported:E(j()),response_modes_supported:E(j()).optional(),grant_types_supported:E(j()).optional(),token_endpoint_auth_methods_supported:E(j()).optional(),token_endpoint_auth_signing_alg_values_supported:E(j()).optional(),service_documentation:h0.optional(),revocation_endpoint:h0.optional(),revocation_endpoint_auth_methods_supported:E(j()).optional(),revocation_endpoint_auth_signing_alg_values_supported:E(j()).optional(),introspection_endpoint:j().optional(),introspection_endpoint_auth_methods_supported:E(j()).optional(),introspection_endpoint_auth_signing_alg_values_supported:E(j()).optional(),code_challenge_methods_supported:E(j()).optional(),client_id_metadata_document_supported:B0().optional()}),hg=C0({issuer:j(),authorization_endpoint:h0,token_endpoint:h0,userinfo_endpoint:h0.optional(),jwks_uri:h0,registration_endpoint:h0.optional(),scopes_supported:E(j()).optional(),response_types_supported:E(j()),response_modes_supported:E(j()).optional(),grant_types_supported:E(j()).optional(),acr_values_supported:E(j()).optional(),subject_types_supported:E(j()),id_token_signing_alg_values_supported:E(j()),id_token_encryption_alg_values_supported:E(j()).optional(),id_token_encryption_enc_values_supported:E(j()).optional(),userinfo_signing_alg_values_supported:E(j()).optional(),userinfo_encryption_alg_values_supported:E(j()).optional(),userinfo_encryption_enc_values_supported:E(j()).optional(),request_object_signing_alg_values_supported:E(j()).optional(),request_object_encryption_alg_values_supported:E(j()).optional(),request_object_encryption_enc_values_supported:E(j()).optional(),token_endpoint_auth_methods_supported:E(j()).optional(),token_endpoint_auth_signing_alg_values_supported:E(j()).optional(),display_values_supported:E(j()).optional(),claim_types_supported:E(j()).optional(),claims_supported:E(j()).optional(),service_documentation:j().optional(),claims_locales_supported:E(j()).optional(),ui_locales_supported:E(j()).optional(),claims_parameter_supported:B0().optional(),request_parameter_supported:B0().optional(),request_uri_parameter_supported:B0().optional(),require_request_uri_registration:B0().optional(),op_policy_uri:h0.optional(),op_tos_uri:h0.optional(),client_id_metadata_document_supported:B0().optional()}),_U=T({...hg.shape,...QG.pick({code_challenge_methods_supported:!0}).shape}),xU=T({access_token:j(),id_token:j().optional(),token_type:j(),expires_in:vQ.number().optional(),scope:j().optional(),refresh_token:j().optional()}).strip(),yU=T({error:j(),error_description:j().optional(),error_uri:j().optional()}),kU=h0.optional().or(x("").transform(()=>{return})),ug=T({redirect_uris:E(h0),token_endpoint_auth_method:j().optional(),grant_types:E(j()).optional(),response_types:E(j()).optional(),client_name:j().optional(),client_uri:h0.optional(),logo_uri:kU,scope:j().optional(),contacts:E(j()).optional(),tos_uri:kU,policy_uri:j().optional(),jwks_uri:h0.optional(),jwks:R3().optional(),software_id:j().optional(),software_version:j().optional(),software_statement:j().optional()}).strip(),lg=T({client_id:j(),client_secret:j().optional(),client_id_issued_at:J0().optional(),client_secret_expires_at:J0().optional()}).strip(),fU=ug.merge(lg),cr=T({error:j(),error_description:j().optional()}).strip(),pr=T({token:j(),token_type_hint:j().optional()}).strip();function gU(Q){let X=typeof Q==="string"?new URL(Q):new URL(Q.href);return X.hash="",X}function hU({requestedResource:Q,configuredResource:X}){let Y=typeof Q==="string"?new URL(Q):new URL(Q.href),W=typeof X==="string"?new URL(X):new URL(X.href);if(Y.origin!==W.origin)return!1;if(Y.pathname.length<W.pathname.length)return!1;let $=Y.pathname.endsWith("/")?Y.pathname:Y.pathname+"/",J=W.pathname.endsWith("/")?W.pathname:W.pathname+"/";return $.startsWith(J)}class S0 extends Error{constructor(Q,X){super(Q);this.errorUri=X,this.name=this.constructor.name}toResponseObject(){let Q={error:this.errorCode,error_description:this.message};if(this.errorUri)Q.error_uri=this.errorUri;return Q}get errorCode(){return this.constructor.errorCode}}class kY extends S0{}kY.errorCode="invalid_request";class q8 extends S0{}q8.errorCode="invalid_client";class w8 extends S0{}w8.errorCode="invalid_grant";class M8 extends S0{}M8.errorCode="unauthorized_client";class vY extends S0{}vY.errorCode="unsupported_grant_type";class _Y extends S0{}_Y.errorCode="invalid_scope";class xY extends S0{}xY.errorCode="access_denied";class h6 extends S0{}h6.errorCode="server_error";class yY extends S0{}yY.errorCode="temporarily_unavailable";class fY extends S0{}fY.errorCode="unsupported_response_type";class gY extends S0{}gY.errorCode="unsupported_token_type";class hY extends S0{}hY.errorCode="invalid_token";class uY extends S0{}uY.errorCode="method_not_allowed";class lY extends S0{}lY.errorCode="too_many_requests";class b8 extends S0{}b8.errorCode="invalid_client_metadata";class mY extends S0{}mY.errorCode="insufficient_scope";class cY extends S0{}cY.errorCode="invalid_target";var uU={[kY.errorCode]:kY,[q8.errorCode]:q8,[w8.errorCode]:w8,[M8.errorCode]:M8,[vY.errorCode]:vY,[_Y.errorCode]:_Y,[xY.errorCode]:xY,[h6.errorCode]:h6,[yY.errorCode]:yY,[fY.errorCode]:fY,[gY.errorCode]:gY,[hY.errorCode]:hY,[uY.errorCode]:uY,[lY.errorCode]:lY,[b8.errorCode]:b8,[mY.errorCode]:mY,[cY.errorCode]:cY};class u6 extends Error{constructor(Q){super(Q??"Unauthorized")}}function mg(Q){return["client_secret_basic","client_secret_post","none"].includes(Q)}var XG="code",YG="S256";function cg(Q,X){let Y=Q.client_secret!==void 0;if(X.length===0)return Y?"client_secret_post":"none";if("token_endpoint_auth_method"in Q&&Q.token_endpoint_auth_method&&mg(Q.token_endpoint_auth_method)&&X.includes(Q.token_endpoint_auth_method))return Q.token_endpoint_auth_method;if(Y&&X.includes("client_secret_basic"))return"client_secret_basic";if(Y&&X.includes("client_secret_post"))return"client_secret_post";if(X.includes("none"))return"none";return Y?"client_secret_post":"none"}function pg(Q,X,Y,W){let{client_id:$,client_secret:J}=X;switch(Q){case"client_secret_basic":dg($,J,Y);return;case"client_secret_post":ig($,J,W);return;case"none":ng($,W);return;default:throw Error(`Unsupported client authentication method: ${Q}`)}}function dg(Q,X,Y){if(!X)throw Error("client_secret_basic authentication requires a client_secret");let W=btoa(`${Q}:${X}`);Y.set("Authorization",`Basic ${W}`)}function ig(Q,X,Y){if(Y.set("client_id",Q),X)Y.set("client_secret",X)}function ng(Q,X){X.set("client_id",Q)}async function mU(Q){let X=Q instanceof Response?Q.status:void 0,Y=Q instanceof Response?await Q.text():Q;try{let W=yU.parse(JSON.parse(Y)),{error:$,error_description:J,error_uri:G}=W;return new(uU[$]||h6)(J||"",G)}catch(W){let $=`${X?`HTTP ${X}: `:""}Invalid OAuth error response: ${W}. Raw body: ${Y}`;return new h6($)}}async function YQ(Q,X){try{return await WG(Q,X)}catch(Y){if(Y instanceof q8||Y instanceof M8)return await Q.invalidateCredentials?.("all"),await WG(Q,X);else if(Y instanceof w8)return await Q.invalidateCredentials?.("tokens"),await WG(Q,X);throw Y}}async function WG(Q,{serverUrl:X,authorizationCode:Y,scope:W,resourceMetadataUrl:$,fetchFn:J}){let G,H;try{if(G=await tg(X,{resourceMetadataUrl:$},J),G.authorization_servers&&G.authorization_servers.length>0)H=G.authorization_servers[0]}catch{}if(!H)H=new URL("/",X);let B=await rg(X,Q,G),z=await Xh(H,{fetchFn:J}),K=await Promise.resolve(Q.clientInformation());if(!K){if(Y!==void 0)throw Error("Existing OAuth client information is required when exchanging an authorization code");let O=z?.client_id_metadata_document_supported===!0,U=Q.clientMetadataUrl;if(U&&!og(U))throw new b8(`clientMetadataUrl must be a valid HTTPS URL with a non-root pathname, got: ${U}`);if(O&&U)K={client_id:U},await Q.saveClientInformation?.(K);else{if(!Q.saveClientInformation)throw Error("OAuth client information must be saveable for dynamic registration");let M=await Gh(H,{metadata:z,clientMetadata:Q.clientMetadata,fetchFn:J});await Q.saveClientInformation(M),K=M}}let V=!Q.redirectUrl;if(Y!==void 0||V){let O=await Jh(Q,H,{metadata:z,resource:B,authorizationCode:Y,fetchFn:J});return await Q.saveTokens(O),"AUTHORIZED"}let A=await Q.tokens();if(A?.refresh_token)try{let O=await $h(H,{metadata:z,clientInformation:K,refreshToken:A.refresh_token,resource:B,addClientAuthentication:Q.addClientAuthentication,fetchFn:J});return await Q.saveTokens(O),"AUTHORIZED"}catch(O){if(!(O instanceof S0)||O instanceof h6);else throw O}let F=Q.state?await Q.state():void 0,{authorizationUrl:L,codeVerifier:D}=await Yh(H,{metadata:z,clientInformation:K,state:F,redirectUrl:Q.redirectUrl,scope:W||G?.scopes_supported?.join(" ")||Q.clientMetadata.scope,resource:B});return await Q.saveCodeVerifier(D),await Q.redirectToAuthorization(L),"REDIRECT"}function og(Q){if(!Q)return!1;try{let X=new URL(Q);return X.protocol==="https:"&&X.pathname!=="/"}catch{return!1}}async function rg(Q,X,Y){let W=gU(Q);if(X.validateResourceURL)return await X.validateResourceURL(W,Y?.resource);if(!Y)return;if(!hU({requestedResource:W,configuredResource:Y.resource}))throw Error(`Protected resource ${Y.resource} does not match expected ${W} (or origin)`);return new URL(Y.resource)}function JG(Q){let X=Q.headers.get("WWW-Authenticate");if(!X)return{};let[Y,W]=X.split(" ");if(Y.toLowerCase()!=="bearer"||!W)return{};let $=$G(Q,"resource_metadata")||void 0,J;if($)try{J=new URL($)}catch{}let G=$G(Q,"scope")||void 0,H=$G(Q,"error")||void 0;return{resourceMetadataUrl:J,scope:G,error:H}}function $G(Q,X){let Y=Q.headers.get("WWW-Authenticate");if(!Y)return null;let W=new RegExp(`${X}=(?:"([^"]+)"|([^\\s,]+))`),$=Y.match(W);if($)return $[1]||$[2];return null}async function tg(Q,X,Y=fetch){let W=await eg(Q,"oauth-protected-resource",Y,{protocolVersion:X?.protocolVersion,metadataUrl:X?.resourceMetadataUrl});if(!W||W.status===404)throw await W?.body?.cancel(),Error("Resource server does not implement OAuth 2.0 Protected Resource Metadata.");if(!W.ok)throw await W.body?.cancel(),Error(`HTTP ${W.status} trying to load well-known OAuth protected resource metadata.`);return vU.parse(await W.json())}async function GG(Q,X,Y=fetch){try{return await Y(Q,{headers:X})}catch(W){if(W instanceof TypeError)if(X)return GG(Q,void 0,Y);else return;throw W}}function ag(Q,X="",Y={}){if(X.endsWith("/"))X=X.slice(0,-1);return Y.prependPathname?`${X}/.well-known/${Q}`:`/.well-known/${Q}${X}`}async function lU(Q,X,Y=fetch){return await GG(Q,{"MCP-Protocol-Version":X},Y)}function sg(Q,X){return!Q||Q.status>=400&&Q.status<500&&X!=="/"}async function eg(Q,X,Y,W){let $=new URL(Q),J=W?.protocolVersion??w6,G;if(W?.metadataUrl)G=new URL(W.metadataUrl);else{let B=ag(X,$.pathname);G=new URL(B,W?.metadataServerUrl??$),G.search=$.search}let H=await lU(G,J,Y);if(!W?.metadataUrl&&sg(H,$.pathname)){let B=new URL(`/.well-known/${X}`,$);H=await lU(B,J,Y)}return H}function Qh(Q){let X=typeof Q==="string"?new URL(Q):Q,Y=X.pathname!=="/",W=[];if(!Y)return W.push({url:new URL("/.well-known/oauth-authorization-server",X.origin),type:"oauth"}),W.push({url:new URL("/.well-known/openid-configuration",X.origin),type:"oidc"}),W;let $=X.pathname;if($.endsWith("/"))$=$.slice(0,-1);return W.push({url:new URL(`/.well-known/oauth-authorization-server${$}`,X.origin),type:"oauth"}),W.push({url:new URL(`/.well-known/openid-configuration${$}`,X.origin),type:"oidc"}),W.push({url:new URL(`${$}/.well-known/openid-configuration`,X.origin),type:"oidc"}),W}async function Xh(Q,{fetchFn:X=fetch,protocolVersion:Y=w6}={}){let W={"MCP-Protocol-Version":Y,Accept:"application/json"},$=Qh(Q);for(let{url:J,type:G}of $){let H=await GG(J,W,X);if(!H)continue;if(!H.ok){if(await H.body?.cancel(),H.status>=400&&H.status<500)continue;throw Error(`HTTP ${H.status} trying to load ${G==="oauth"?"OAuth":"OpenID provider"} metadata from ${J}`)}if(G==="oauth")return QG.parse(await H.json());else return _U.parse(await H.json())}return}async function Yh(Q,{metadata:X,clientInformation:Y,redirectUrl:W,scope:$,state:J,resource:G}){let H;if(X){if(H=new URL(X.authorization_endpoint),!X.response_types_supported.includes(XG))throw Error(`Incompatible auth server: does not support response type ${XG}`);if(X.code_challenge_methods_supported&&!X.code_challenge_methods_supported.includes(YG))throw Error(`Incompatible auth server: does not support code challenge method ${YG}`)}else H=new URL("/authorize",Q);let B=await eJ(),z=B.code_verifier,K=B.code_challenge;if(H.searchParams.set("response_type",XG),H.searchParams.set("client_id",Y.client_id),H.searchParams.set("code_challenge",K),H.searchParams.set("code_challenge_method",YG),H.searchParams.set("redirect_uri",String(W)),J)H.searchParams.set("state",J);if($)H.searchParams.set("scope",$);if($?.includes("offline_access"))H.searchParams.append("prompt","consent");if(G)H.searchParams.set("resource",G.href);return{authorizationUrl:H,codeVerifier:z}}function Wh(Q,X,Y){return new URLSearchParams({grant_type:"authorization_code",code:Q,code_verifier:X,redirect_uri:String(Y)})}async function cU(Q,{metadata:X,tokenRequestParams:Y,clientInformation:W,addClientAuthentication:$,resource:J,fetchFn:G}){let H=X?.token_endpoint?new URL(X.token_endpoint):new URL("/token",Q),B=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"});if(J)Y.set("resource",J.href);if($)await $(B,Y,H,X);else if(W){let K=X?.token_endpoint_auth_methods_supported??[],V=cg(W,K);pg(V,W,B,Y)}let z=await(G??fetch)(H,{method:"POST",headers:B,body:Y});if(!z.ok)throw await mU(z);return xU.parse(await z.json())}async function $h(Q,{metadata:X,clientInformation:Y,refreshToken:W,resource:$,addClientAuthentication:J,fetchFn:G}){let H=new URLSearchParams({grant_type:"refresh_token",refresh_token:W}),B=await cU(Q,{metadata:X,tokenRequestParams:H,clientInformation:Y,addClientAuthentication:J,resource:$,fetchFn:G});return{refresh_token:W,...B}}async function Jh(Q,X,{metadata:Y,resource:W,authorizationCode:$,fetchFn:J}={}){let G=Q.clientMetadata.scope,H;if(Q.prepareTokenRequest)H=await Q.prepareTokenRequest(G);if(!H){if(!$)throw Error("Either provider.prepareTokenRequest() or authorizationCode is required");if(!Q.redirectUrl)throw Error("redirectUrl is required for authorization_code flow");let z=await Q.codeVerifier();H=Wh($,z,Q.redirectUrl)}let B=await Q.clientInformation();return cU(X,{metadata:Y,tokenRequestParams:H,clientInformation:B??void 0,addClientAuthentication:Q.addClientAuthentication,resource:W,fetchFn:J})}async function Gh(Q,{metadata:X,clientMetadata:Y,fetchFn:W}){let $;if(X){if(!X.registration_endpoint)throw Error("Incompatible auth server: does not support dynamic client registration");$=new URL(X.registration_endpoint)}else $=new URL("/register",Q);let J=await(W??fetch)($,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Y)});if(!J.ok)throw await mU(J);return fU.parse(await J.json())}class BG extends Error{constructor(Q,X){super(Q),this.name="ParseError",this.type=X.type,this.field=X.field,this.value=X.value,this.line=X.line}}function HG(Q){}function pU(Q){if(typeof Q=="function")throw TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");let{onEvent:X=HG,onError:Y=HG,onRetry:W=HG,onComment:$}=Q,J="",G=!0,H,B="",z="";function K(D){let O=G?D.replace(/^\xEF\xBB\xBF/,""):D,[U,w]=Hh(`${J}${O}`);for(let M of U)V(M);J=w,G=!1}function V(D){if(D===""){F();return}if(D.startsWith(":")){$&&$(D.slice(D.startsWith(": ")?2:1));return}let O=D.indexOf(":");if(O!==-1){let U=D.slice(0,O),w=D[O+1]===" "?2:1,M=D.slice(O+w);A(U,M,D);return}A(D,"",D)}function A(D,O,U){switch(D){case"event":z=O;break;case"data":B=`${B}${O}
59
- `;break;case"id":H=O.includes("\x00")?void 0:O;break;case"retry":/^\d+$/.test(O)?W(parseInt(O,10)):Y(new BG(`Invalid \`retry\` value: "${O}"`,{type:"invalid-retry",value:O,line:U}));break;default:Y(new BG(`Unknown field "${D.length>20?`${D.slice(0,20)}…`:D}"`,{type:"unknown-field",field:D,value:O,line:U}));break}}function F(){B.length>0&&X({id:H,event:z||void 0,data:B.endsWith(`
60
- `)?B.slice(0,-1):B}),H=void 0,B="",z=""}function L(D={}){J&&D.consume&&V(J),G=!0,H=void 0,B="",z="",J=""}return{feed:K,reset:L}}function Hh(Q){let X=[],Y="",W=0;for(;W<Q.length;){let $=Q.indexOf("\r",W),J=Q.indexOf(`
61
- `,W),G=-1;if($!==-1&&J!==-1?G=Math.min($,J):$!==-1?$===Q.length-1?G=-1:G=$:J!==-1&&(G=J),G===-1){Y=Q.slice(W);break}else{let H=Q.slice(W,G);X.push(H),W=G+1,Q[W-1]==="\r"&&Q[W]===`
62
- `&&W++}}return[X,Y]}class zG extends TransformStream{constructor({onError:Q,onRetry:X,onComment:Y}={}){let W;super({start($){W=pU({onEvent:(J)=>{$.enqueue(J)},onError(J){Q==="terminate"?$.error(J):typeof Q=="function"&&Q(J)},onRetry:X,onComment:Y})},transform($){W.feed($)}})}}var Bh={initialReconnectionDelay:1000,maxReconnectionDelay:30000,reconnectionDelayGrowFactor:1.5,maxRetries:2};class w9 extends Error{constructor(Q,X){super(`Streamable HTTP error: ${X}`);this.code=Q}}class pY{constructor(Q,X){this._hasCompletedAuthFlow=!1,this._url=Q,this._resourceMetadataUrl=void 0,this._scope=void 0,this._requestInit=X?.requestInit,this._authProvider=X?.authProvider,this._fetch=X?.fetch,this._fetchWithInit=CU(X?.fetch,X?.requestInit),this._sessionId=X?.sessionId,this._reconnectionOptions=X?.reconnectionOptions??Bh}async _authThenStart(){if(!this._authProvider)throw new u6("No auth provider");let Q;try{Q=await YQ(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})}catch(X){throw this.onerror?.(X),X}if(Q!=="AUTHORIZED")throw new u6;return await this._startOrAuthSse({resumptionToken:void 0})}async _commonHeaders(){let Q={};if(this._authProvider){let Y=await this._authProvider.tokens();if(Y)Q.Authorization=`Bearer ${Y.access_token}`}if(this._sessionId)Q["mcp-session-id"]=this._sessionId;if(this._protocolVersion)Q["mcp-protocol-version"]=this._protocolVersion;let X=CY(this._requestInit?.headers);return new Headers({...Q,...X})}async _startOrAuthSse(Q){let{resumptionToken:X}=Q;try{let Y=await this._commonHeaders();if(Y.set("Accept","text/event-stream"),X)Y.set("last-event-id",X);let W=await(this._fetch??fetch)(this._url,{method:"GET",headers:Y,signal:this._abortController?.signal});if(!W.ok){if(await W.body?.cancel(),W.status===401&&this._authProvider)return await this._authThenStart();if(W.status===405)return;throw new w9(W.status,`Failed to open SSE stream: ${W.statusText}`)}this._handleSseStream(W.body,Q,!0)}catch(Y){throw this.onerror?.(Y),Y}}_getNextReconnectionDelay(Q){if(this._serverRetryMs!==void 0)return this._serverRetryMs;let X=this._reconnectionOptions.initialReconnectionDelay,Y=this._reconnectionOptions.reconnectionDelayGrowFactor,W=this._reconnectionOptions.maxReconnectionDelay;return Math.min(X*Math.pow(Y,Q),W)}_scheduleReconnection(Q,X=0){let Y=this._reconnectionOptions.maxRetries;if(X>=Y){this.onerror?.(Error(`Maximum reconnection attempts (${Y}) exceeded.`));return}let W=this._getNextReconnectionDelay(X);this._reconnectionTimeout=setTimeout(()=>{this._startOrAuthSse(Q).catch(($)=>{this.onerror?.(Error(`Failed to reconnect SSE stream: ${$ instanceof Error?$.message:String($)}`)),this._scheduleReconnection(Q,X+1)})},W)}_handleSseStream(Q,X,Y){if(!Q)return;let{onresumptiontoken:W,replayMessageId:$}=X,J,G=!1,H=!1;(async()=>{try{let z=Q.pipeThrough(new TextDecoderStream).pipeThrough(new zG({onRetry:(A)=>{this._serverRetryMs=A}})).getReader();while(!0){let{value:A,done:F}=await z.read();if(F)break;if(A.id)J=A.id,G=!0,W?.(A.id);if(!A.data)continue;if(!A.event||A.event==="message")try{let L=X6.parse(JSON.parse(A.data));if(P1(L)){if(H=!0,$!==void 0)L.id=$}this.onmessage?.(L)}catch(L){this.onerror?.(L)}}if((Y||G)&&!H&&this._abortController&&!this._abortController.signal.aborted)this._scheduleReconnection({resumptionToken:J,onresumptiontoken:W,replayMessageId:$},0)}catch(z){if(this.onerror?.(Error(`SSE stream disconnected: ${z}`)),(Y||G)&&!H&&this._abortController&&!this._abortController.signal.aborted)try{this._scheduleReconnection({resumptionToken:J,onresumptiontoken:W,replayMessageId:$},0)}catch(A){this.onerror?.(Error(`Failed to reconnect: ${A instanceof Error?A.message:String(A)}`))}}})()}async start(){if(this._abortController)throw Error("StreamableHTTPClientTransport already started! If using Client class, note that connect() calls start() automatically.");this._abortController=new AbortController}async finishAuth(Q){if(!this._authProvider)throw new u6("No auth provider");if(await YQ(this._authProvider,{serverUrl:this._url,authorizationCode:Q,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new u6("Failed to authorize")}async close(){if(this._reconnectionTimeout)clearTimeout(this._reconnectionTimeout),this._reconnectionTimeout=void 0;this._abortController?.abort(),this.onclose?.()}async send(Q,X){try{let{resumptionToken:Y,onresumptiontoken:W}=X||{};if(Y){this._startOrAuthSse({resumptionToken:Y,replayMessageId:p1(Q)?Q.id:void 0}).catch((V)=>this.onerror?.(V));return}let $=await this._commonHeaders();$.set("content-type","application/json"),$.set("accept","application/json, text/event-stream");let J={...this._requestInit,method:"POST",headers:$,body:JSON.stringify(Q),signal:this._abortController?.signal},G=await(this._fetch??fetch)(this._url,J),H=G.headers.get("mcp-session-id");if(H)this._sessionId=H;if(!G.ok){let V=await G.text().catch(()=>null);if(G.status===401&&this._authProvider){if(this._hasCompletedAuthFlow)throw new w9(401,"Server returned 401 after successful authentication");let{resourceMetadataUrl:A,scope:F}=JG(G);if(this._resourceMetadataUrl=A,this._scope=F,await YQ(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new u6;return this._hasCompletedAuthFlow=!0,this.send(Q)}if(G.status===403&&this._authProvider){let{resourceMetadataUrl:A,scope:F,error:L}=JG(G);if(L==="insufficient_scope"){let D=G.headers.get("WWW-Authenticate");if(this._lastUpscopingHeader===D)throw new w9(403,"Server returned 403 after trying upscoping");if(F)this._scope=F;if(A)this._resourceMetadataUrl=A;if(this._lastUpscopingHeader=D??void 0,await YQ(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetch})!=="AUTHORIZED")throw new u6;return this.send(Q)}}throw new w9(G.status,`Error POSTing to endpoint: ${V}`)}if(this._hasCompletedAuthFlow=!1,this._lastUpscopingHeader=void 0,G.status===202){if(await G.body?.cancel(),p3(Q))this._startOrAuthSse({resumptionToken:void 0}).catch((V)=>this.onerror?.(V));return}let z=(Array.isArray(Q)?Q:[Q]).filter((V)=>("method"in V)&&("id"in V)&&V.id!==void 0).length>0,K=G.headers.get("content-type");if(z)if(K?.includes("text/event-stream"))this._handleSseStream(G.body,{onresumptiontoken:W},!1);else if(K?.includes("application/json")){let V=await G.json(),A=Array.isArray(V)?V.map((F)=>X6.parse(F)):[X6.parse(V)];for(let F of A)this.onmessage?.(F)}else throw await G.body?.cancel(),new w9(-1,`Unexpected content type: ${K}`);else await G.body?.cancel()}catch(Y){throw this.onerror?.(Y),Y}}get sessionId(){return this._sessionId}async terminateSession(){if(!this._sessionId)return;try{let Q=await this._commonHeaders(),X={...this._requestInit,method:"DELETE",headers:Q,signal:this._abortController?.signal},Y=await(this._fetch??fetch)(this._url,X);if(await Y.body?.cancel(),!Y.ok&&Y.status!==405)throw new w9(Y.status,`Failed to terminate session: ${Y.statusText}`);this._sessionId=void 0}catch(Q){throw this.onerror?.(Q),Q}}setProtocolVersion(Q){this._protocolVersion=Q}get protocolVersion(){return this._protocolVersion}async resumeStream(Q,X){await this._startOrAuthSse({resumptionToken:Q,onresumptiontoken:X?.onresumptiontoken})}}var zh=1000,Kh=180000,Vh=2,Ah=0.1,dU=120000,Fh=0.1,Dh=60000,Lh=3;class KG{name;url;headers;onStatusChange;onNotification;onLog;onSamplingRequest;onElicitationRequest;onReconnecting;onReconnected;onHealthDegraded;onHealthRestored;client=null;transport=null;status="disconnected";errorMessage;capabilities;isClosing=!1;reconnectAttempt=0;reconnectTimeoutHandle=null;nextRetryMs=0;isReconnecting=!1;healthCheckIntervalHandle=null;consecutiveHealthFailures=0;healthStatus="healthy";constructor(Q){this.name=Q.name,this.url=Q.url,this.headers=Q.headers,this.onStatusChange=Q.onStatusChange,this.onNotification=Q.onNotification,this.onLog=Q.onLog,this.onSamplingRequest=Q.onSamplingRequest,this.onElicitationRequest=Q.onElicitationRequest,this.onReconnecting=Q.onReconnecting,this.onReconnected=Q.onReconnected,this.onHealthDegraded=Q.onHealthDegraded,this.onHealthRestored=Q.onHealthRestored}getTransportType(){return"http"}getUrl(){return this.url}getInfo(){let Q={name:this.name,url:this.url,status:this.status};if(this.errorMessage!==void 0)Q.error=this.errorMessage;if(this.capabilities!==void 0)Q.capabilities=this.capabilities;return Q}getName(){return this.name}getStatus(){return this.status}isConnected(){return this.status==="connected"}getReconnectionState(){if(this.status!=="reconnecting")return null;return{attempt:this.reconnectAttempt,nextRetryMs:this.nextRetryMs}}getHealthStatus(){return this.healthStatus}getConsecutiveHealthFailures(){return this.consecutiveHealthFailures}async connect(){if(this.status==="connected"||this.status==="connecting")return;this.setStatus("connecting");try{let Q={};if(this.headers)Q.requestInit={headers:this.headers};this.transport=new pY(new URL(this.url),Q),this.client=new N8({name:"emceepee",version:"0.1.0"},{capabilities:{sampling:{},elicitation:{form:{}}}}),this.setupNotificationHandler(),this.transport.onclose=()=>{if(!this.isClosing)this.handleUnexpectedDisconnect()},this.transport.onerror=(Y)=>{if((Y.name==="AbortError"||Y.message.includes("AbortError"))&&(this.isClosing||this.status==="disconnected"))return;this.errorMessage=Y.message,this.handleUnexpectedDisconnect()},await this.client.connect(this.transport);let X=this.client.getServerCapabilities();this.capabilities={tools:X?.tools!==void 0,resources:X?.resources!==void 0,prompts:X?.prompts!==void 0,resourceTemplates:X?.resources!==void 0,resourceSubscriptions:X?.resources?.subscribe===!0},this.setStatus("connected"),this.startHealthChecks()}catch(Q){let X=Q instanceof Error?Q.message:String(Q);throw this.setStatus("error",X),Q}}async disconnect(){if(this.isClosing=!0,this.stopHealthChecks(),this.cancelReconnection(),this.transport)try{await this.transport.close()}catch{}this.client=null,this.transport=null,this.isClosing=!1,this.setStatus("disconnected")}async forceReconnect(){if(this.stopHealthChecks(),this.cancelReconnection(),this.transport){this.isClosing=!0;try{await this.transport.close()}catch{}this.isClosing=!1}this.client=null,this.transport=null,this.reconnectAttempt=0,this.nextRetryMs=0,this.consecutiveHealthFailures=0,this.healthStatus="healthy",await this.connect()}cancelReconnection(){if(this.reconnectTimeoutHandle)clearTimeout(this.reconnectTimeoutHandle),this.reconnectTimeoutHandle=null;this.isReconnecting=!1}async listTools(){let Q=this.getConnectedClient();if(!this.capabilities?.tools)return[];return(await Q.listTools()).tools}async callTool(Q,X={}){return await this.getConnectedClient().callTool({name:Q,arguments:X})}async listResources(){let Q=this.getConnectedClient();if(!this.capabilities?.resources)return[];return(await Q.listResources()).resources}async listResourceTemplates(){let Q=this.getConnectedClient();if(!this.capabilities?.resourceTemplates)return[];return(await Q.listResourceTemplates()).resourceTemplates}async readResource(Q){return await this.getConnectedClient().readResource({uri:Q})}async subscribeResource(Q){let X=this.getConnectedClient();if(!this.capabilities?.resourceSubscriptions)throw Error(`Server '${this.name}' does not support resource subscriptions`);await X.subscribeResource({uri:Q})}async unsubscribeResource(Q){let X=this.getConnectedClient();if(!this.capabilities?.resourceSubscriptions)throw Error(`Server '${this.name}' does not support resource subscriptions`);await X.unsubscribeResource({uri:Q})}supportsResourceSubscriptions(){return this.capabilities?.resourceSubscriptions===!0}async listPrompts(){let Q=this.getConnectedClient();if(!this.capabilities?.prompts)return[];return(await Q.listPrompts()).prompts}async getPrompt(Q,X={}){return await this.getConnectedClient().getPrompt({name:Q,arguments:X})}setupNotificationHandler(){if(!this.client)return;this.client.setNotificationHandler(W9,()=>{this.emitNotification("notifications/tools/list_changed")}),this.client.setNotificationHandler(X9,()=>{this.emitNotification("notifications/resources/list_changed")}),this.client.setNotificationHandler(X4,(Q)=>{this.emitNotification("notifications/resources/updated",Q.params)}),this.client.setNotificationHandler(Y9,()=>{this.emitNotification("notifications/prompts/list_changed")}),this.client.setNotificationHandler(W4,(Q)=>{if(this.onLog)this.onLog({server:this.name,timestamp:new Date,level:Q.params.level,logger:Q.params.logger,data:Q.params.data})}),this.client.setRequestHandler($9,(Q)=>{return new Promise((X,Y)=>{if(this.onSamplingRequest)this.onSamplingRequest({id:crypto.randomUUID(),server:this.name,timestamp:new Date,params:Q.params,resolve:X,reject:Y});else Y(Error("Sampling not supported: no handler registered"))})}),this.client.setRequestHandler(J9,(Q)=>{return new Promise((X,Y)=>{if(this.onElicitationRequest)this.onElicitationRequest({id:crypto.randomUUID(),server:this.name,timestamp:new Date,params:Q.params,resolve:X,reject:Y});else Y(Error("Elicitation not supported: no handler registered"))})})}emitNotification(Q,X){if(this.onNotification!==void 0)this.onNotification({server:this.name,timestamp:new Date,method:Q,params:X})}handleUnexpectedDisconnect(){if(this.isReconnecting||this.isClosing)return;this.stopHealthChecks(),this.client=null,this.transport=null,this.isReconnecting=!0,this.reconnectAttempt=0,this.setStatus("reconnecting",this.errorMessage),this.scheduleReconnection()}scheduleReconnection(){if(this.isClosing)return;this.reconnectAttempt++;let Q=this.calculateBackoff(this.reconnectAttempt);if(this.nextRetryMs=Q,this.onReconnecting)this.onReconnecting(this.reconnectAttempt,Q);this.reconnectTimeoutHandle=setTimeout(()=>{this.attemptReconnection()},Q)}async attemptReconnection(){if(this.isClosing)return;try{let Q={};if(this.headers)Q.requestInit={headers:this.headers};this.transport=new pY(new URL(this.url),Q),this.client=new N8({name:"emceepee",version:"0.1.0"},{capabilities:{sampling:{},elicitation:{form:{}}}}),this.setupNotificationHandler(),this.transport.onclose=()=>{if(!this.isClosing)this.handleUnexpectedDisconnect()},this.transport.onerror=(W)=>{if((W.name==="AbortError"||W.message.includes("AbortError"))&&(this.isClosing||this.status==="disconnected"))return;this.errorMessage=W.message,this.handleUnexpectedDisconnect()},await this.client.connect(this.transport);let X=this.client.getServerCapabilities();this.capabilities={tools:X?.tools!==void 0,resources:X?.resources!==void 0,prompts:X?.prompts!==void 0,resourceTemplates:X?.resources!==void 0,resourceSubscriptions:X?.resources?.subscribe===!0};let Y=this.reconnectAttempt;if(this.reconnectAttempt=0,this.nextRetryMs=0,this.isReconnecting=!1,this.consecutiveHealthFailures=0,this.healthStatus="healthy",this.setStatus("connected"),this.onReconnected)this.onReconnected(Y);this.startHealthChecks()}catch(Q){this.client=null,this.transport=null,this.errorMessage=Q instanceof Error?Q.message:String(Q),this.scheduleReconnection()}}calculateBackoff(Q){let X=zh*Math.pow(Vh,Q-1),Y=Math.min(X,Kh),W=Y*Ah*(Math.random()*2-1);return Math.round(Y+W)}startHealthChecks(){this.stopHealthChecks();let Q=()=>{let X=dU*Fh*(Math.random()*2-1),Y=Math.round(dU+X);this.healthCheckIntervalHandle=setTimeout(()=>{this.performHealthCheck(),Q()},Y)};Q()}stopHealthChecks(){if(this.healthCheckIntervalHandle)clearTimeout(this.healthCheckIntervalHandle),this.healthCheckIntervalHandle=null}async performHealthCheck(){if(!this.client||!this.isConnected())return;try{let Q=new AbortController,X=setTimeout(()=>{Q.abort()},Dh);try{if(await this.client.listTools(),clearTimeout(X),this.consecutiveHealthFailures>0){let Y=this.healthStatus==="degraded";if(this.consecutiveHealthFailures=0,this.healthStatus="healthy",Y&&this.onHealthRestored)this.onHealthRestored()}}catch(Y){throw clearTimeout(X),Y}}catch(Q){this.consecutiveHealthFailures++;let X=Q instanceof Error?Q.message:String(Q);if(this.consecutiveHealthFailures>=Lh&&this.healthStatus!=="degraded"){if(this.healthStatus="degraded",this.onHealthDegraded)this.onHealthDegraded(this.consecutiveHealthFailures,X)}}}setStatus(Q,X){if(this.status=Q,Q==="error"&&X!==void 0)this.errorMessage=X;else this.errorMessage=void 0;if(this.onStatusChange!==void 0)this.onStatusChange(Q,X)}getConnectedClient(){if(!this.isConnected()||!this.client)throw Error(`Client '${this.name}' is not connected`);return this.client}}var xj=WQ(vj(),1);import iY from"node:process";import{PassThrough as ih}from"node:stream";class qG{append(Q){this._buffer=this._buffer?Buffer.concat([this._buffer,Q]):Q}readMessage(){if(!this._buffer)return null;let Q=this._buffer.indexOf(`
63
- `);if(Q===-1)return null;let X=this._buffer.toString("utf8",0,Q).replace(/\r$/,"");return this._buffer=this._buffer.subarray(Q+1),dh(X)}clear(){this._buffer=void 0}}function dh(Q){return X6.parse(JSON.parse(Q))}function _j(Q){return JSON.stringify(Q)+`
64
- `}var nh=iY.platform==="win32"?["APPDATA","HOMEDRIVE","HOMEPATH","LOCALAPPDATA","PATH","PROCESSOR_ARCHITECTURE","SYSTEMDRIVE","SYSTEMROOT","TEMP","USERNAME","USERPROFILE","PROGRAMFILES"]:["HOME","LOGNAME","PATH","SHELL","TERM","USER"];function oh(){let Q={};for(let X of nh){let Y=iY.env[X];if(Y===void 0)continue;if(Y.startsWith("()"))continue;Q[X]=Y}return Q}class wG{constructor(Q){if(this._readBuffer=new qG,this._stderrStream=null,this._serverParams=Q,Q.stderr==="pipe"||Q.stderr==="overlapped")this._stderrStream=new ih}async start(){if(this._process)throw Error("StdioClientTransport already started! If using Client class, note that connect() calls start() automatically.");return new Promise((Q,X)=>{if(this._process=xj.default(this._serverParams.command,this._serverParams.args??[],{env:{...oh(),...this._serverParams.env},stdio:["pipe","pipe",this._serverParams.stderr??"inherit"],shell:!1,windowsHide:iY.platform==="win32"&&rh(),cwd:this._serverParams.cwd}),this._process.on("error",(Y)=>{X(Y),this.onerror?.(Y)}),this._process.on("spawn",()=>{Q()}),this._process.on("close",(Y)=>{this._process=void 0,this.onclose?.()}),this._process.stdin?.on("error",(Y)=>{this.onerror?.(Y)}),this._process.stdout?.on("data",(Y)=>{this._readBuffer.append(Y),this.processReadBuffer()}),this._process.stdout?.on("error",(Y)=>{this.onerror?.(Y)}),this._stderrStream&&this._process.stderr)this._process.stderr.pipe(this._stderrStream)})}get stderr(){if(this._stderrStream)return this._stderrStream;return this._process?.stderr??null}get pid(){return this._process?.pid??null}processReadBuffer(){while(!0)try{let Q=this._readBuffer.readMessage();if(Q===null)break;this.onmessage?.(Q)}catch(Q){this.onerror?.(Q)}}async close(){if(this._process){let Q=this._process;this._process=void 0;let X=new Promise((Y)=>{Q.once("close",()=>{Y()})});try{Q.stdin?.end()}catch{}if(await Promise.race([X,new Promise((Y)=>setTimeout(Y,2000).unref())]),Q.exitCode===null){try{Q.kill("SIGTERM")}catch{}await Promise.race([X,new Promise((Y)=>setTimeout(Y,2000).unref())])}if(Q.exitCode===null)try{Q.kill("SIGKILL")}catch{}}this._readBuffer.clear()}send(Q){return new Promise((X)=>{if(!this._process?.stdin)throw Error("Not connected");let Y=_j(Q);if(this._process.stdin.write(Y))X();else this._process.stdin.once("drain",X)})}}function rh(){return"type"in iY}var th={enabled:!0,maxAttempts:5,baseDelayMs:1000,maxDelayMs:60000,backoffMultiplier:2};class MG{name;command;args;env;cwd;restartConfig;onStatusChange;onNotification;onLog;onSamplingRequest;onElicitationRequest;onLifecycleEvent;client=null;transport=null;status="disconnected";errorMessage;capabilities;isClosing=!1;restartAttempt=0;restartTimeoutHandle=null;nextRetryMs=0;isRestarting=!1;stderrBuffer=[];maxStderrLines=1000;constructor(Q){this.name=Q.name,this.command=Q.command,this.args=Q.args??[],this.env=Q.env,this.cwd=Q.cwd,this.restartConfig={...th,...Q.restartConfig},this.onStatusChange=Q.onStatusChange,this.onNotification=Q.onNotification,this.onLog=Q.onLog,this.onSamplingRequest=Q.onSamplingRequest,this.onElicitationRequest=Q.onElicitationRequest,this.onLifecycleEvent=Q.onLifecycleEvent}getTransportType(){return"stdio"}getInfo(){let Q={transportType:"stdio",name:this.name,url:`stdio://${this.command}`,status:this.status},X=this.transport._process;if(X?.pid!==void 0)Q.pid=X.pid;if(this.errorMessage!==void 0)Q.error=this.errorMessage;if(this.capabilities!==void 0)Q.capabilities=this.capabilities;return Q}getName(){return this.name}getStatus(){return this.status}isConnected(){return this.status==="connected"}getReconnectionState(){if(this.status!=="reconnecting")return null;return{attempt:this.restartAttempt,nextRetryMs:this.nextRetryMs}}getHealthStatus(){return this.isConnected()?"healthy":"degraded"}getConsecutiveHealthFailures(){return this.isConnected()?0:this.restartAttempt}getCommand(){return this.command}getArgs(){return[...this.args]}getStderrBuffer(){return[...this.stderrBuffer]}async connect(){if(this.status==="connected"||this.status==="connecting")return;this.setStatus("connecting");try{await this.createTransport(),this.emitLifecycleEvent({event:"process_started",timestamp:new Date}),this.setStatus("connected")}catch(Q){let X=Q instanceof Error?Q.message:String(Q);throw this.setStatus("error",X),Q}}async disconnect(){if(this.isClosing=!0,this.cancelReconnection(),this.transport)try{await this.transport.close()}catch{}this.client=null,this.transport=null,this.isClosing=!1,this.setStatus("disconnected"),this.emitLifecycleEvent({event:"process_stopped",timestamp:new Date})}async forceReconnect(){if(this.cancelReconnection(),this.transport){this.isClosing=!0;try{await this.transport.close()}catch{}this.isClosing=!1}this.client=null,this.transport=null,this.restartAttempt=0,this.nextRetryMs=0,await this.connect()}cancelReconnection(){if(this.restartTimeoutHandle)clearTimeout(this.restartTimeoutHandle),this.restartTimeoutHandle=null;this.isRestarting=!1}async listTools(){let Q=this.getConnectedClient();if(!this.capabilities?.tools)return[];return(await Q.listTools()).tools}async callTool(Q,X={}){return await this.getConnectedClient().callTool({name:Q,arguments:X})}async listResources(){let Q=this.getConnectedClient();if(!this.capabilities?.resources)return[];return(await Q.listResources()).resources}async listResourceTemplates(){let Q=this.getConnectedClient();if(!this.capabilities?.resourceTemplates)return[];return(await Q.listResourceTemplates()).resourceTemplates}async readResource(Q){return await this.getConnectedClient().readResource({uri:Q})}async subscribeResource(Q){let X=this.getConnectedClient();if(!this.capabilities?.resourceSubscriptions)throw Error(`Server '${this.name}' does not support resource subscriptions`);await X.subscribeResource({uri:Q})}async unsubscribeResource(Q){let X=this.getConnectedClient();if(!this.capabilities?.resourceSubscriptions)throw Error(`Server '${this.name}' does not support resource subscriptions`);await X.unsubscribeResource({uri:Q})}supportsResourceSubscriptions(){return this.capabilities?.resourceSubscriptions===!0}async listPrompts(){let Q=this.getConnectedClient();if(!this.capabilities?.prompts)return[];return(await Q.listPrompts()).prompts}async getPrompt(Q,X={}){return await this.getConnectedClient().getPrompt({name:Q,arguments:X})}async createTransport(){let Q;if(this.env){Q={};for(let[Y,W]of Object.entries(process.env))if(W!==void 0)Q[Y]=W;Object.assign(Q,this.env)}this.transport=new wG({command:this.command,args:this.args,env:Q,cwd:this.cwd,stderr:"pipe"}),this.client=new N8({name:"emceepee",version:"0.1.0"},{capabilities:{sampling:{},elicitation:{form:{}}}}),this.setupNotificationHandler(),this.transport.onclose=()=>{if(!this.isClosing)this.handleProcessExit()},this.transport.onerror=(Y)=>{if(this.isClosing||this.status==="disconnected")return;this.errorMessage=Y.message,this.handleProcessExit()},await this.client.connect(this.transport),this.setupStderrCapture();let X=this.client.getServerCapabilities();this.capabilities={tools:X?.tools!==void 0,resources:X?.resources!==void 0,prompts:X?.prompts!==void 0,resourceTemplates:X?.resources!==void 0,resourceSubscriptions:X?.resources?.subscribe===!0}}setupStderrCapture(){if(!this.transport)return;let Q=this.transport._process;if(Q?.stderr)Q.stderr.on("data",(X)=>{let Y=X.toString().split(`
65
- `).filter((W)=>W.length>0);for(let W of Y){if(this.stderrBuffer.push(W),this.stderrBuffer.length>this.maxStderrLines)this.stderrBuffer.shift();if(this.onLog)this.onLog({server:this.name,timestamp:new Date,level:"warning",source:"stderr",data:W})}})}handleProcessExit(Q,X){if(this.isRestarting||this.isClosing)return;if(this.emitLifecycleEvent({event:"process_crashed",timestamp:new Date,exitCode:Q,signal:X}),this.client=null,this.transport=null,this.restartConfig.enabled)this.isRestarting=!0,this.restartAttempt=0,this.setStatus("reconnecting",this.errorMessage),this.scheduleRestart();else this.setStatus("error",`Process exited with code ${Q!==void 0?String(Q):"unknown"}`)}scheduleRestart(){if(this.isClosing)return;if(this.restartAttempt++,this.restartAttempt>this.restartConfig.maxAttempts){this.isRestarting=!1,this.setStatus("error","Max restart attempts exceeded"),this.emitLifecycleEvent({event:"restart_failed",timestamp:new Date,attempt:this.restartAttempt-1,error:"Max restart attempts exceeded"});return}let Q=this.calculateBackoff(this.restartAttempt);this.nextRetryMs=Q,this.emitLifecycleEvent({event:"restarting",timestamp:new Date,attempt:this.restartAttempt,nextRetryMs:Q}),this.restartTimeoutHandle=setTimeout(()=>{this.attemptRestart()},Q)}async attemptRestart(){if(this.isClosing)return;try{await this.createTransport();let Q=this.restartAttempt;this.restartAttempt=0,this.nextRetryMs=0,this.isRestarting=!1,this.setStatus("connected"),this.emitLifecycleEvent({event:"restarted",timestamp:new Date,attempt:Q})}catch(Q){this.client=null,this.transport=null,this.errorMessage=Q instanceof Error?Q.message:String(Q),this.scheduleRestart()}}calculateBackoff(Q){let X=this.restartConfig.baseDelayMs*Math.pow(this.restartConfig.backoffMultiplier,Q-1);return Math.min(X,this.restartConfig.maxDelayMs)}setupNotificationHandler(){if(!this.client)return;this.client.setNotificationHandler(W9,()=>{this.emitNotification("notifications/tools/list_changed")}),this.client.setNotificationHandler(X9,()=>{this.emitNotification("notifications/resources/list_changed")}),this.client.setNotificationHandler(X4,(Q)=>{this.emitNotification("notifications/resources/updated",Q.params)}),this.client.setNotificationHandler(Y9,()=>{this.emitNotification("notifications/prompts/list_changed")}),this.client.setNotificationHandler(W4,(Q)=>{if(this.onLog)this.onLog({server:this.name,timestamp:new Date,level:Q.params.level,logger:Q.params.logger,data:Q.params.data,source:"protocol"})}),this.client.setRequestHandler($9,(Q)=>{return new Promise((X,Y)=>{if(this.onSamplingRequest)this.onSamplingRequest({id:crypto.randomUUID(),server:this.name,timestamp:new Date,params:Q.params,resolve:X,reject:Y});else Y(Error("Sampling not supported: no handler registered"))})}),this.client.setRequestHandler(J9,(Q)=>{return new Promise((X,Y)=>{if(this.onElicitationRequest)this.onElicitationRequest({id:crypto.randomUUID(),server:this.name,timestamp:new Date,params:Q.params,resolve:X,reject:Y});else Y(Error("Elicitation not supported: no handler registered"))})})}emitNotification(Q,X){if(this.onNotification!==void 0)this.onNotification({server:this.name,timestamp:new Date,method:Q,params:X})}emitLifecycleEvent(Q){if(this.onLifecycleEvent)this.onLifecycleEvent(Q)}setStatus(Q,X){if(this.status=Q,Q==="error"&&X!==void 0)this.errorMessage=X;else this.errorMessage=void 0;if(this.onStatusChange!==void 0)this.onStatusChange(Q,X)}getConnectedClient(){if(!this.isConnected()||!this.client)throw Error(`Client '${this.name}' is not connected`);return this.client}}var ah={sessionTimeoutMs:86400000,cleanupIntervalMs:300000};class bG{sessions=new Map;serverConfigs;config;logger;cleanupIntervalHandle=null;constructor(Q={}){this.config={...ah,...Q},this.logger=Q.logger;let X={logger:Q.logger};this.serverConfigs=new pJ(X),this.startCleanupInterval()}async createSession(){let Q=r0(),X=new tJ(Q,this.config.sessionStateConfig,this.logger);this.sessions.set(Q,X),this.logger?.info("session_created",{sessionId:Q});let Y=this.serverConfigs.listConfigs();for(let W of Y)try{await this.connectSessionToServer(X,W)}catch($){this.logger?.warn("session_auto_connect_failed",{sessionId:Q,server:W.name,error:$ instanceof Error?$.message:String($)})}return X}getSession(Q){return this.sessions.get(Q)}touchSession(Q){this.sessions.get(Q)?.touch()}async destroySession(Q){let X=this.sessions.get(Q);if(!X)return;this.logger?.info("session_destroying",{sessionId:Q}),await X.cleanup(),this.sessions.delete(Q),this.logger?.info("session_destroyed",{sessionId:Q})}async addServer(Q,X,Y,W){let $=this.sessions.get(Q);if(!$)throw Error(`Session '${Q}' not found`);let J=this.serverConfigs.addConfig(X,Y,{headers:W?.headers},Q),G=this.serverConfigs.getConfig(X);if(!G)throw Error(`Failed to add server config for '${X}'`);let H=await this.connectSessionToServer($,G);if(J){for(let[B,z]of this.sessions)if(B!==Q)z.eventSystem.addEvent("server_added",X,{name:X,url:Y,addedBy:Q})}return H}async addStdioServer(Q,X,Y,W,$){let J=this.sessions.get(Q);if(!J)throw Error(`Session '${Q}' not found`);let G=this.serverConfigs.addStdioConfig(X,Y,W,$,Q),H=this.serverConfigs.getConfig(X);if(!H)throw Error(`Failed to add server config for '${X}'`);let B=await this.connectSessionToServer(J,H);if(G){for(let[z,K]of this.sessions)if(z!==Q)K.eventSystem.addEvent("server_added",X,{name:X,type:"stdio",command:Y,args:W,addedBy:Q})}return B}async removeServer(Q,X){if(this.logger?.debug("removeServer_start",{sessionId:Q,serverName:X}),!this.serverConfigs.removeConfig(X))throw this.logger?.debug("removeServer_not_found",{sessionId:Q,serverName:X}),Error(`Server '${X}' not found`);for(let[W,$]of this.sessions)this.logger?.debug("removeServer_disconnecting_session",{sessionId:W,serverName:X,hasConnection:$.getConnection(X)!==void 0}),await this.disconnectSessionFromServer($,X),$.eventSystem.addEvent("server_removed",X,{name:X,removedBy:Q});this.logger?.debug("removeServer_complete",{sessionId:Q,serverName:X})}listServers(Q){let X=this.sessions.get(Q);return this.serverConfigs.listConfigs().map((W)=>{let $=X?.getConnection(W.name),J;if(mJ(W))J=W.url;else if(cJ(W))J=`stdio://${W.command}`;else J="unknown";let G={name:W.name,url:J,connected:$?.status==="connected",status:$?.status??"not_connected",connectedAt:$?.connectedAt,lastError:$?.lastError};if($?.status==="reconnecting"){let H=$.client.getReconnectionState();if(H)G.reconnectAttempt=H.attempt,G.nextRetryMs=H.nextRetryMs}if($?.status==="connected"){G.healthStatus=$.client.getHealthStatus();let H=$.client.getConsecutiveHealthFailures();if(H>0)G.consecutiveHealthFailures=H}return G})}async reconnectServer(Q,X){let Y=this.sessions.get(Q);if(!Y)throw Error(`Session '${Q}' not found`);let W=this.serverConfigs.getConfig(X);if(!W)throw Error(`Server '${X}' not found`);let $=Y.getConnection(X);if(!$){await this.connectSessionToServer(Y,W);return}this.handleBackendDisconnect(Y,X),await $.client.forceReconnect(),Y.setConnectionStatus(X,"connected"),Y.eventSystem.addEvent("server_reconnected",X,{name:X,attemptsTaken:0,forced:!0}),this.logger?.info("session_server_force_reconnected",{sessionId:Y.sessionId,server:X})}async getOrCreateConnection(Q,X){let Y=this.sessions.get(Q);if(!Y)throw Error(`Session '${Q}' not found`);let W=Y.getConnection(X);if(W?.status==="connected")return W.client;let $=this.serverConfigs.getConfig(X);if(!$)throw Error(`Server '${X}' not found`);return(await this.connectSessionToServer(Y,$)).client}getConnectedClient(Q,X){let Y=this.sessions.get(Q);if(!Y)return;let W=Y.getConnection(X);if(W?.status==="connected")return W.client;return}async connectSessionToServer(Q,X){let Y=Q.backendConnections.get(X.name);if(Y?.status==="connected")return Y;if(Y?.status==="connecting")throw Error(`Already connecting to '${X.name}'`);let W;if(mJ(X))W=this.createHttpClient(Q,X);else if(cJ(X))W=this.createStdioClient(Q,X);else throw Error(`Unknown server config type for '${X.name}'`);Q.addConnection(X.name,W);try{await W.connect(),Q.setConnectionStatus(X.name,"connected"),Q.eventSystem.addEvent("server_connected",X.name,{name:X.name,capabilities:W.getInfo().capabilities}),this.logger?.info("session_server_connected",{sessionId:Q.sessionId,server:X.name});let $=Q.getConnection(X.name);if(!$)throw Error("Connection not found after connect");return $}catch($){let J=$ instanceof Error?$.message:String($);throw Q.setConnectionStatus(X.name,"error",J),this.logger?.warn("session_server_connect_failed",{sessionId:Q.sessionId,server:X.name,error:J}),$}}createHttpClient(Q,X){return new KG({name:X.name,url:X.url,headers:X.headers,onStatusChange:(Y,W)=>{Q.setConnectionStatus(X.name,Y,W)},onNotification:(Y)=>{Q.bufferManager.addNotification(Y)},onLog:(Y)=>{Q.bufferManager.addLog(Y)},onSamplingRequest:(Y)=>{Q.pendingRequests.addSamplingRequest(Y.server,Y.params,Y.resolve,Y.reject)},onElicitationRequest:(Y)=>{Q.pendingRequests.addElicitationRequest(Y.server,Y.params,Y.resolve,Y.reject)},onReconnecting:(Y,W)=>{if(Y===1)this.handleBackendDisconnect(Q,X.name);Q.eventSystem.addEvent("server_reconnecting",X.name,{name:X.name,attempt:Y,nextRetryMs:W}),this.logger?.debug("session_server_reconnecting",{sessionId:Q.sessionId,server:X.name,attempt:Y,nextRetryMs:W})},onReconnected:(Y)=>{Q.setConnectionStatus(X.name,"connected"),Q.eventSystem.addEvent("server_reconnected",X.name,{name:X.name,attemptsTaken:Y}),this.logger?.info("session_server_reconnected",{sessionId:Q.sessionId,server:X.name,attemptsTaken:Y})},onHealthDegraded:(Y,W)=>{Q.eventSystem.addEvent("server_health_degraded",X.name,{name:X.name,consecutiveFailures:Y,lastError:W}),this.logger?.warn("session_server_health_degraded",{sessionId:Q.sessionId,server:X.name,consecutiveFailures:Y,lastError:W})},onHealthRestored:()=>{Q.eventSystem.addEvent("server_health_restored",X.name,{name:X.name}),this.logger?.info("session_server_health_restored",{sessionId:Q.sessionId,server:X.name})}})}createStdioClient(Q,X){return new MG({name:X.name,command:X.command,args:X.args,env:X.env,cwd:X.cwd,restartConfig:X.restartConfig,onStatusChange:(Y,W)=>{Q.setConnectionStatus(X.name,Y,W)},onNotification:(Y)=>{Q.bufferManager.addNotification(Y)},onLog:(Y)=>{Q.bufferManager.addLog({server:Y.server,timestamp:Y.timestamp,level:Y.level,logger:Y.logger,data:Y.data})},onSamplingRequest:(Y)=>{Q.pendingRequests.addSamplingRequest(Y.server,Y.params,Y.resolve,Y.reject)},onElicitationRequest:(Y)=>{Q.pendingRequests.addElicitationRequest(Y.server,Y.params,Y.resolve,Y.reject)},onLifecycleEvent:(Y)=>{switch(Y.event){case"process_started":this.logger?.info("session_stdio_process_started",{sessionId:Q.sessionId,server:X.name});break;case"process_crashed":this.handleBackendDisconnect(Q,X.name),Q.eventSystem.addEvent("server_process_crashed",X.name,{name:X.name,exitCode:Y.exitCode,signal:Y.signal}),this.logger?.warn("session_stdio_process_crashed",{sessionId:Q.sessionId,server:X.name,exitCode:Y.exitCode,signal:Y.signal});break;case"restarting":Q.eventSystem.addEvent("server_reconnecting",X.name,{name:X.name,attempt:Y.attempt,nextRetryMs:Y.nextRetryMs}),this.logger?.debug("session_stdio_restarting",{sessionId:Q.sessionId,server:X.name,attempt:Y.attempt,nextRetryMs:Y.nextRetryMs});break;case"restarted":Q.setConnectionStatus(X.name,"connected"),Q.eventSystem.addEvent("server_reconnected",X.name,{name:X.name,attemptsTaken:Y.attempt}),this.logger?.info("session_stdio_restarted",{sessionId:Q.sessionId,server:X.name,attemptsTaken:Y.attempt});break;case"restart_failed":Q.setConnectionStatus(X.name,"error",Y.error),Q.eventSystem.addEvent("server_restart_failed",X.name,{name:X.name,error:Y.error}),this.logger?.error("session_stdio_restart_failed",{sessionId:Q.sessionId,server:X.name,error:Y.error});break;case"process_stopped":this.logger?.info("session_stdio_process_stopped",{sessionId:Q.sessionId,server:X.name});break}}})}async disconnectSessionFromServer(Q,X){let Y=Q.getConnection(X);if(!Y){this.logger?.debug("disconnectSessionFromServer_no_connection",{sessionId:Q.sessionId,serverName:X});return}this.logger?.debug("disconnectSessionFromServer_start",{sessionId:Q.sessionId,serverName:X,connectionStatus:Y.status});let W=Q.taskManager.getTasksForServer(X);for(let $ of W)if($.status==="working")Q.taskManager.failTask($.taskId,"Server removed");Q.pendingRequests.rejectRequestsForServer(X,"Server removed");try{this.logger?.debug("disconnectSessionFromServer_calling_disconnect",{sessionId:Q.sessionId,serverName:X}),await Y.client.disconnect(),this.logger?.debug("disconnectSessionFromServer_disconnect_complete",{sessionId:Q.sessionId,serverName:X})}catch($){this.logger?.debug("disconnectSessionFromServer_disconnect_error",{sessionId:Q.sessionId,serverName:X,error:$ instanceof Error?$.message:String($)})}Q.removeConnection(X),this.logger?.debug("disconnectSessionFromServer_complete",{sessionId:Q.sessionId,serverName:X})}handleBackendDisconnect(Q,X){let Y=Q.taskManager.getTasksForServer(X);for(let W of Y)if(W.status==="working")Q.taskManager.failTask(W.taskId,"Server disconnected");Q.pendingRequests.rejectRequestsForServer(X,"Server disconnected"),Q.eventSystem.addEvent("server_disconnected",X,{name:X}),this.logger?.info("session_server_disconnected",{sessionId:Q.sessionId,server:X})}startCleanupInterval(){this.cleanupIntervalHandle=setInterval(()=>{this.runSessionCleanup()},this.config.cleanupIntervalMs)}runSessionCleanup(){let Q=Date.now(),X=[];for(let[Y,W]of this.sessions)if(Q-W.lastActivityAt.getTime()>=this.config.sessionTimeoutMs)X.push(Y);for(let Y of X)this.logger?.info("session_timeout_cleanup",{sessionId:Y}),this.destroySession(Y)}async shutdown(){if(this.logger?.info("session_manager_shutdown_start",{sessionCount:this.sessions.size}),this.cleanupIntervalHandle)clearInterval(this.cleanupIntervalHandle),this.cleanupIntervalHandle=null;for(let Q of Array.from(this.sessions.keys()))await this.destroySession(Q);this.logger?.info("session_manager_shutdown_complete",{})}getServerConfigs(){return this.serverConfigs}listSessionIds(){return Array.from(this.sessions.keys())}get sessionCount(){return this.sessions.size}}var sh={maxEvents:1000,retentionMs:300000};class PG{events=new Map;config;logger;constructor(Q={}){this.config={...sh,...Q},this.logger=Q.logger}storeEvent(Q,X){let Y=r0();return this.events.set(Y,{streamId:Q,message:X,createdAt:Date.now()}),this.logger?.debug("sse_event_stored",{eventId:Y,streamId:Q,messageId:X.id}),this.enforceLimit(),this.cleanupOldEvents(),Promise.resolve(Y)}getStreamIdForEventId(Q){return Promise.resolve(this.events.get(Q)?.streamId)}async replayEventsAfter(Q,{send:X}){this.logger?.debug("sse_replay_requested",{lastEventId:Q,totalEvents:this.events.size});let Y=this.events.get(Q);if(!Y)return this.logger?.debug("sse_replay_event_not_found",{lastEventId:Q}),"";let W=Y.streamId,$=!1,J=0,G=[...this.events.keys()].sort();this.logger?.debug("sse_replay_scanning",{streamId:W,sortedIdsCount:G.length});for(let H of G){if(H===Q){$=!0;continue}if($){let B=this.events.get(H);if(B?.streamId===W)this.logger?.debug("sse_replaying_event",{eventId:H,streamId:W}),await X(H,B.message),J++;else this.logger?.debug("sse_skip_different_stream",{eventId:H,eventStreamId:B?.streamId,targetStreamId:W})}}return this.logger?.debug("sse_replay_complete",{streamId:W,replayedCount:J}),W}enforceLimit(){if(this.events.size<=this.config.maxEvents)return;let X=[...this.events.keys()].sort().slice(0,this.events.size-this.config.maxEvents);for(let Y of X)this.events.delete(Y)}cleanupOldEvents(){let Q=Date.now()-this.config.retentionMs;for(let[X,Y]of this.events)if(Y.createdAt<Q)this.events.delete(X)}getEventCount(){return this.events.size}clear(){this.events.clear()}}function yj(Q){return"url"in Q&&!(("type"in Q)&&Q.type==="stdio")}function fj(Q){return"type"in Q}var gj={debug:0,info:1,warn:2,error:3};function hj(Q="info"){let X=gj[Q],Y=(W,$,J)=>{if(gj[W]<X)return;let G=new Date().toISOString(),H=J?` ${JSON.stringify(J)}`:"";switch(W){case"debug":console.debug(`[${G}] DEBUG ${$}${H}`);break;case"info":console.info(`[${G}] INFO ${$}${H}`);break;case"warn":console.warn(`[${G}] WARN ${$}${H}`);break;case"error":console.error(`[${G}] ERROR ${$}${H}`);break}};return{debug:(W,$)=>{Y("debug",W,$)},info:(W,$)=>{Y("info",W,$)},warn:(W,$)=>{Y("warn",W,$)},error:(W,$)=>{Y("error",W,$)}}}var eh={maxRequestsPerSession:100,maxTotalRequests:1000};class ZG{requests=new Map;sessionRequests=new Map;config;logger;constructor(Q={}){this.config={...eh,...Q},this.logger=Q.logger}startRequest(Q,X,Y,W={}){let $=r0(),J={requestId:$,sessionId:Q,type:X,name:Y,server:W.server,args:W.args,startedAt:new Date,status:"pending"};this.requests.set($,J);let G=this.sessionRequests.get(Q)??[];return G.push($),this.sessionRequests.set(Q,G),this.logger?.debug("request_started",{requestId:$,sessionId:Q,type:X,name:Y,server:W.server}),this.enforceSessionLimit(Q),this.enforceTotalLimit(),$}completeRequest(Q,X){let Y=this.requests.get(Q);if(!Y)return;Y.status="completed",Y.endedAt=new Date,Y.durationMs=Y.endedAt.getTime()-Y.startedAt.getTime(),Y.resultSummary=X,this.logger?.debug("request_completed",{requestId:Q,sessionId:Y.sessionId,type:Y.type,name:Y.name,server:Y.server,durationMs:Y.durationMs})}failRequest(Q,X){let Y=this.requests.get(Q);if(!Y)return;Y.status="failed",Y.endedAt=new Date,Y.durationMs=Y.endedAt.getTime()-Y.startedAt.getTime(),Y.error=X,this.logger?.debug("request_failed",{requestId:Q,sessionId:Y.sessionId,type:Y.type,name:Y.name,server:Y.server,durationMs:Y.durationMs,error:X})}timeoutRequest(Q){let X=this.requests.get(Q);if(!X)return;X.status="timeout",X.endedAt=new Date,X.durationMs=X.endedAt.getTime()-X.startedAt.getTime(),this.logger?.debug("request_timeout",{requestId:Q,sessionId:X.sessionId,type:X.type,name:X.name,server:X.server,durationMs:X.durationMs})}getSessionRequests(Q){return(this.sessionRequests.get(Q)??[]).map((Y)=>this.requests.get(Y)).filter((Y)=>Y!==void 0)}getAllRequests(){return Array.from(this.requests.values())}getRequestsBySession(){let Q=new Map;for(let[X]of this.sessionRequests)Q.set(X,this.getSessionRequests(X));return Q}clearSession(Q){let X=this.sessionRequests.get(Q)??[];for(let Y of X)this.requests.delete(Y);this.sessionRequests.delete(Q)}getStats(){let Q={pending:0,completed:0,failed:0,timeout:0},X={};for(let Y of this.requests.values())Q[Y.status]++,X[Y.type]=(X[Y.type]??0)+1;return{totalRequests:this.requests.size,sessionCount:this.sessionRequests.size,byStatus:Q,byType:X}}enforceSessionLimit(Q){let X=this.sessionRequests.get(Q);if(!X||X.length<=this.config.maxRequestsPerSession)return;let Y=X.length-this.config.maxRequestsPerSession,W=X.splice(0,Y);for(let $ of W)this.requests.delete($)}enforceTotalLimit(){if(this.requests.size<=this.config.maxTotalRequests)return;let Q=Array.from(this.requests.values()).sort((Y,W)=>Y.startedAt.getTime()-W.startedAt.getTime()),X=this.requests.size-this.config.maxTotalRequests;for(let Y=0;Y<X;Y++){let W=Q[Y];if(W){this.requests.delete(W.requestId);let $=this.sessionRequests.get(W.sessionId);if($){let J=$.indexOf(W.requestId);if(J>=0)$.splice(J,1)}}}}}function lj(Q){let X=Q.getRequestsBySession(),Y=Q.getStats(),W=1/0,$=0;for(let G of X.values())for(let H of G){W=Math.min(W,H.startedAt.getTime());let B=H.endedAt?.getTime()??Date.now();$=Math.max($,B)}if(W===1/0)W=Date.now()-60000,$=Date.now();let J=Math.max($-W,1000);return`<!DOCTYPE html>
58
+ `,Q.enqueue(Y.encode($)),!0}catch{return!1}}handleUnsupportedRequest(){return new Response(JSON.stringify({jsonrpc:"2.0",error:{code:-32000,message:"Method not allowed."},id:null}),{status:405,headers:{Allow:"GET, POST, DELETE","Content-Type":"application/json"}})}async handlePostRequest(Q,Y){try{let X=Q.headers.get("accept");if(!X?.includes("application/json")||!X.includes("text/event-stream"))return this.createJsonErrorResponse(406,-32000,"Not Acceptable: Client must accept both application/json and text/event-stream");let W=Q.headers.get("content-type");if(!W||!W.includes("application/json"))return this.createJsonErrorResponse(415,-32000,"Unsupported Media Type: Content-Type must be application/json");let $={headers:Object.fromEntries(Q.headers.entries())},J;if(Y?.parsedBody!==void 0)J=Y.parsedBody;else try{J=await Q.json()}catch{return this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON")}let G;try{if(Array.isArray(J))G=J.map((O)=>Y6.parse(O));else G=[Y6.parse(J)]}catch{return this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON-RPC message")}let H=G.some(q5);if(H){if(this._initialized&&this.sessionId!==void 0)return this.createJsonErrorResponse(400,-32600,"Invalid Request: Server already initialized");if(G.length>1)return this.createJsonErrorResponse(400,-32600,"Invalid Request: Only one initialization request is allowed");if(this.sessionId=this.sessionIdGenerator?.(),this._initialized=!0,this.sessionId&&this._onsessioninitialized)await Promise.resolve(this._onsessioninitialized(this.sessionId))}if(!H){let O=this.validateSession(Q);if(O)return O;let U=this.validateProtocolVersion(Q);if(U)return U}if(!G.some(p1)){for(let O of G)this.onmessage?.(O,{authInfo:Y?.authInfo,requestInfo:$});return new Response(null,{status:202})}let z=crypto.randomUUID(),K=G.find((O)=>q5(O)),V=K?K.params.protocolVersion:Q.headers.get("mcp-protocol-version")??a3;if(this._enableJsonResponse)return new Promise((O)=>{this._streamMapping.set(z,{resolveJson:O,cleanup:()=>{this._streamMapping.delete(z)}});for(let U of G)if(p1(U))this._requestToStreamMapping.set(U.id,z);for(let U of G)this.onmessage?.(U,{authInfo:Y?.authInfo,requestInfo:$})});let F=new TextEncoder,A,D=new ReadableStream({start:(O)=>{A=O},cancel:()=>{this._streamMapping.delete(z)}}),L={"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"};if(this.sessionId!==void 0)L["mcp-session-id"]=this.sessionId;for(let O of G)if(p1(O))this._streamMapping.set(z,{controller:A,encoder:F,cleanup:()=>{this._streamMapping.delete(z);try{A.close()}catch{}}}),this._requestToStreamMapping.set(O.id,z);await this.writePrimingEvent(A,F,z,V);for(let O of G){let U,N;if(p1(O)&&this._eventStore&&V>="2025-11-25")U=()=>{this.closeSSEStream(O.id)},N=()=>{this.closeStandaloneSSEStream()};this.onmessage?.(O,{authInfo:Y?.authInfo,requestInfo:$,closeSSEStream:U,closeStandaloneSSEStream:N})}return new Response(D,{status:200,headers:L})}catch(X){return this.onerror?.(X),this.createJsonErrorResponse(400,-32700,"Parse error",{data:String(X)})}}async handleDeleteRequest(Q){let Y=this.validateSession(Q);if(Y)return Y;let X=this.validateProtocolVersion(Q);if(X)return X;return await Promise.resolve(this._onsessionclosed?.(this.sessionId)),await this.close(),new Response(null,{status:200})}validateSession(Q){if(this.sessionIdGenerator===void 0)return;if(!this._initialized)return this.createJsonErrorResponse(400,-32000,"Bad Request: Server not initialized");let Y=Q.headers.get("mcp-session-id");if(!Y)return this.createJsonErrorResponse(400,-32000,"Bad Request: Mcp-Session-Id header is required");if(Y!==this.sessionId)return this.createJsonErrorResponse(404,-32001,"Session not found");return}validateProtocolVersion(Q){let Y=Q.headers.get("mcp-protocol-version");if(Y!==null&&!W9.includes(Y))return this.createJsonErrorResponse(400,-32000,`Bad Request: Unsupported protocol version: ${Y} (supported versions: ${W9.join(", ")})`);return}async close(){this._streamMapping.forEach(({cleanup:Q})=>{Q()}),this._streamMapping.clear(),this._requestResponseMap.clear(),this.onclose?.()}closeSSEStream(Q){let Y=this._requestToStreamMapping.get(Q);if(!Y)return;let X=this._streamMapping.get(Y);if(X)X.cleanup()}closeStandaloneSSEStream(){let Q=this._streamMapping.get(this._standaloneSseStreamId);if(Q)Q.cleanup()}async send(Q,Y){let X=Y?.relatedRequestId;if(Z1(Q)||n9(Q))X=Q.id;if(X===void 0){if(Z1(Q)||n9(Q))throw Error("Cannot send a response on a standalone SSE stream unless resuming a previous client request");let J;if(this._eventStore)J=await this._eventStore.storeEvent(this._standaloneSseStreamId,Q);let G=this._streamMapping.get(this._standaloneSseStreamId);if(G===void 0)return;if(G.controller&&G.encoder)this.writeSSEEvent(G.controller,G.encoder,Q,J);return}let W=this._requestToStreamMapping.get(X);if(!W)throw Error(`No connection established for request ID: ${String(X)}`);let $=this._streamMapping.get(W);if(!this._enableJsonResponse&&$?.controller&&$?.encoder){let J;if(this._eventStore)J=await this._eventStore.storeEvent(W,Q);this.writeSSEEvent($.controller,$.encoder,Q,J)}if(Z1(Q)||n9(Q)){this._requestResponseMap.set(X,Q);let J=Array.from(this._requestToStreamMapping.entries()).filter(([H,B])=>B===W).map(([H])=>H);if(J.every((H)=>this._requestResponseMap.has(H))){if(!$)throw Error(`No connection established for request ID: ${String(X)}`);if(this._enableJsonResponse&&$.resolveJson){let H={"Content-Type":"application/json"};if(this.sessionId!==void 0)H["mcp-session-id"]=this.sessionId;let B=J.map((z)=>this._requestResponseMap.get(z));if(B.length===1)$.resolveJson(new Response(JSON.stringify(B[0]),{status:200,headers:H}));else $.resolveJson(new Response(JSON.stringify(B),{status:200,headers:H}))}else $.cleanup();for(let H of J)this._requestResponseMap.delete(H),this._requestToStreamMapping.delete(H)}}}}class rJ{constructor(Q={}){this._requestContext=new WeakMap,this._webStandardTransport=new oJ(Q),this._requestListener=nJ(async(Y)=>{let X=this._requestContext.get(Y);return this._webStandardTransport.handleRequest(Y,{authInfo:X?.authInfo,parsedBody:X?.parsedBody})})}get sessionId(){return this._webStandardTransport.sessionId}set onclose(Q){this._webStandardTransport.onclose=Q}get onclose(){return this._webStandardTransport.onclose}set onerror(Q){this._webStandardTransport.onerror=Q}get onerror(){return this._webStandardTransport.onerror}set onmessage(Q){this._webStandardTransport.onmessage=Q}get onmessage(){return this._webStandardTransport.onmessage}async start(){return this._webStandardTransport.start()}async close(){return this._webStandardTransport.close()}async send(Q,Y){return this._webStandardTransport.send(Q,Y)}async handleRequest(Q,Y,X){let W=Q.auth;await nJ(async(J)=>{return this._webStandardTransport.handleRequest(J,{authInfo:W,parsedBody:X})})(Q,Y)}closeSSEStream(Q){this._webStandardTransport.closeSSEStream(Q)}closeStandaloneSSEStream(){this._webStandardTransport.closeStandaloneSSEStream()}}import{createServer as nu}from"http";import{readFileSync as ou}from"fs";import kX from"node:crypto";var cU="0123456789ABCDEFGHJKMNPQRSTVWXYZ",_X=32;var dh=16,pU=10,mU=281474976710655;var b9;(function(Q){Q.Base32IncorrectEncoding="B32_ENC_INVALID",Q.DecodeTimeInvalidCharacter="DEC_TIME_CHAR",Q.DecodeTimeValueMalformed="DEC_TIME_MALFORMED",Q.EncodeTimeNegative="ENC_TIME_NEG",Q.EncodeTimeSizeExceeded="ENC_TIME_SIZE_EXCEED",Q.EncodeTimeValueMalformed="ENC_TIME_MALFORMED",Q.PRNGDetectFailure="PRNG_DETECT",Q.ULIDInvalid="ULID_INVALID",Q.Unexpected="UNEXPECTED",Q.UUIDInvalid="UUID_INVALID"})(b9||(b9={}));class q8 extends Error{constructor(Q,Y){super(`${Y} (${Q})`);this.name="ULIDError",this.code=Q}}function ih(Q){let Y=Math.floor(Q()*_X)%_X;return cU.charAt(Y)}function nh(Q){let Y=oh(),X=Y&&(Y.crypto||Y.msCrypto)||(typeof kX<"u"?kX:null);if(typeof X?.getRandomValues==="function")return()=>{let W=new Uint8Array(1);return X.getRandomValues(W),W[0]/256};else if(typeof X?.randomBytes==="function")return()=>X.randomBytes(1).readUInt8()/256;else if(kX?.randomBytes)return()=>kX.randomBytes(1).readUInt8()/256;throw new q8(b9.PRNGDetectFailure,"Failed to find a reliable PRNG")}function oh(){if(th())return self;if(typeof window<"u")return window;if(typeof global<"u")return global;if(typeof globalThis<"u")return globalThis;return null}function rh(Q,Y){let X="";for(;Q>0;Q--)X=ih(Y)+X;return X}function ah(Q,Y=pU){if(isNaN(Q))throw new q8(b9.EncodeTimeValueMalformed,`Time must be a number: ${Q}`);else if(Q>mU)throw new q8(b9.EncodeTimeSizeExceeded,`Cannot encode a time larger than ${mU}: ${Q}`);else if(Q<0)throw new q8(b9.EncodeTimeNegative,`Time must be positive: ${Q}`);else if(Number.isInteger(Q)===!1)throw new q8(b9.EncodeTimeValueMalformed,`Time must be an integer: ${Q}`);let X,W="";for(let $=Y;$>0;$--)X=Q%_X,W=cU.charAt(X)+W,Q=(Q-X)/_X;return W}function th(){return typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope}function r0(Q,Y){let X=Y||nh(),W=!Q||isNaN(Q)?Date.now():Q;return ah(W,pU)+rh(dh,X)}function aJ(Q){return Q.type==="http"}function tJ(Q){return Q.type==="stdio"}class sJ{configs=new Map;logger;constructor(Q={}){this.logger=Q.logger}addConfig(Q,Y,X,W){let $=this.configs.has(Q);return this.configs.set(Q,{name:Q,type:"http",url:Y,headers:X?.headers,addedAt:new Date,addedBy:W}),this.logger?.info($?"server_config_updated":"server_config_added",{server:Q,type:"http",url:Y,hasHeaders:X?.headers!==void 0,addedBy:W}),!$}addStdioConfig(Q,Y,X,W,$){let J=this.configs.has(Q);return this.configs.set(Q,{name:Q,type:"stdio",command:Y,args:X,env:W?.env,cwd:W?.cwd,restartConfig:W?.restartConfig,addedAt:new Date,addedBy:$}),this.logger?.info(J?"server_config_updated":"server_config_added",{server:Q,type:"stdio",command:Y,args:X,addedBy:$}),!J}getConfig(Q){return this.configs.get(Q)}listConfigs(){return Array.from(this.configs.values())}removeConfig(Q){let Y=this.configs.delete(Q);if(Y)this.logger?.info("server_config_removed",{server:Q});return Y}hasConfig(Q){return this.configs.has(Q)}get size(){return this.configs.size}clear(){this.configs.clear(),this.logger?.info("server_configs_cleared",{})}}var sh={maxEvents:1000,retentionMs:1800000,cleanupIntervalMs:300000};class eJ{events=[];config;logger;lastDeliveredId=null;waiters=[];cleanupIntervalHandle=null;constructor(Q={},Y){this.config={...sh,...Q},this.logger=Y,this.startCleanupInterval()}addEvent(Q,Y,X){let W=r0(),$={id:W,type:Q,server:Y,data:X,createdAt:new Date,sentViaSSE:!1};this.events.push($);while(this.events.length>this.config.maxEvents)this.events.shift();return this.logger?.debug("event_added",{id:W,type:Q,server:Y}),this.wakeWaiters($),W}hasNewEvents(){if(this.lastDeliveredId===null)return this.events.length>0;let Q=this.events.findIndex((Y)=>Y.id===this.lastDeliveredId);if(Q===-1)return this.events.length>0;return Q<this.events.length-1}getNewEvents(){if(this.events.length===0)return[];let Q=0;if(this.lastDeliveredId!==null){let X=this.events.findIndex((W)=>W.id===this.lastDeliveredId);if(X!==-1)Q=X+1}let Y=this.events.slice(Q);if(Y.length>0){let X=Y[Y.length-1];if(X)this.lastDeliveredId=X.id}return Y}getEventsAfter(Q){if(Q===null)return[...this.events];let Y=this.events.findIndex((X)=>X.id===Q);if(Y===-1)return[...this.events];return this.events.slice(Y+1)}markSent(Q){let Y=this.events.find((X)=>X.id===Q);if(Y)Y.sentViaSSE=!0}waitForActivity(Q){return new Promise((Y)=>{let X=setTimeout(()=>{let W=this.waiters.findIndex(($)=>$.timeoutHandle===X);if(W!==-1)this.waiters.splice(W,1);Y(null)},Q);this.waiters.push({resolve:Y,timeoutHandle:X})})}wakeWaiters(Q){let Y=this.waiters;this.waiters=[];for(let X of Y)clearTimeout(X.timeoutHandle),X.resolve(Q)}startCleanupInterval(){this.cleanupIntervalHandle=setInterval(()=>{this.runCleanup()},this.config.cleanupIntervalMs)}runCleanup(){let Q=Date.now()-this.config.retentionMs,Y=0;while(this.events.length>0){let X=this.events[0];if(X&&X.createdAt.getTime()<Q)this.events.shift(),Y++;else break}if(Y>0)this.logger?.debug("events_cleaned",{removed:Y,remaining:this.events.length})}shutdown(){if(this.cleanupIntervalHandle)clearInterval(this.cleanupIntervalHandle),this.cleanupIntervalHandle=null;for(let Q of this.waiters)clearTimeout(Q.timeoutHandle),Q.resolve(null);this.waiters=[]}}var eh={defaultTtlMs:600000,completedRetentionMs:300000,cleanupIntervalMs:60000};class QG{tasks=new Map;eventSystem;config;cleanupIntervalHandle=null;constructor(Q,Y={}){this.eventSystem=Q,this.config={...eh,...Y},this.startCleanupInterval()}createTask(Q,Y,X,W){let $=r0(),J=new Date,G={taskId:$,server:Q,toolName:Y,args:X,status:"working",createdAt:J,lastUpdatedAt:J,ttl:W??this.config.defaultTtlMs};return this.tasks.set($,G),this.eventSystem.addEvent("task_created",Q,{taskId:$,toolName:Y,args:X}),G}completeTask(Q,Y){let X=this.tasks.get(Q);if(X?.status!=="working")return;X.status="completed",X.result=Y,X.lastUpdatedAt=new Date,this.scheduleTaskCleanup(X),this.eventSystem.addEvent("task_completed",X.server,{taskId:Q,toolName:X.toolName,result:Y})}failTask(Q,Y){let X=this.tasks.get(Q);if(X?.status!=="working")return;X.status="failed",X.error=Y,X.lastUpdatedAt=new Date,this.scheduleTaskCleanup(X),this.eventSystem.addEvent("task_failed",X.server,{taskId:Q,toolName:X.toolName,error:Y})}cancelTask(Q){let Y=this.tasks.get(Q);if(Y?.status!=="working")return!1;return Y.status="cancelled",Y.lastUpdatedAt=new Date,this.scheduleTaskCleanup(Y),this.eventSystem.addEvent("task_cancelled",Y.server,{taskId:Q,toolName:Y.toolName}),!0}getTask(Q){let Y=this.tasks.get(Q);if(!Y)return;let{_cleanupTimeoutHandle:X,...W}=Y;return W}getTasksForServer(Q){return Array.from(this.tasks.values()).filter((Y)=>Y.server===Q).map((Y)=>({taskId:Y.taskId,server:Y.server,toolName:Y.toolName,args:Y.args,status:Y.status,result:Y.result,error:Y.error,createdAt:Y.createdAt,lastUpdatedAt:Y.lastUpdatedAt,ttl:Y.ttl}))}getAllTasks(Q=!1){let Y=["completed","failed","cancelled","expired"];return Array.from(this.tasks.values()).filter((X)=>Q||!Y.includes(X.status)).map((X)=>({taskId:X.taskId,server:X.server,toolName:X.toolName,args:X.args,status:X.status,result:X.result,error:X.error,createdAt:X.createdAt,lastUpdatedAt:X.lastUpdatedAt,ttl:X.ttl}))}getWorkingTasksForServer(Q){return Array.from(this.tasks.values()).filter((Y)=>Y.server===Q&&Y.status==="working").map((Y)=>({taskId:Y.taskId,toolName:Y.toolName,status:Y.status}))}scheduleTaskCleanup(Q){if(Q._cleanupTimeoutHandle)clearTimeout(Q._cleanupTimeoutHandle);Q._cleanupTimeoutHandle=setTimeout(()=>{this.tasks.delete(Q.taskId)},this.config.completedRetentionMs)}startCleanupInterval(){this.cleanupIntervalHandle=setInterval(()=>{this.runCleanup()},this.config.cleanupIntervalMs)}runCleanup(){let Q=Date.now();for(let Y of this.tasks.values()){if(Y.status!=="working")continue;if(Q-Y.createdAt.getTime()>=Y.ttl)Y.status="expired",Y.error=`Task expired after ${String(Y.ttl)}ms TTL`,Y.lastUpdatedAt=new Date,this.eventSystem.addEvent("task_expired",Y.server,{taskId:Y.taskId,toolName:Y.toolName,ttl:Y.ttl}),this.scheduleTaskCleanup(Y)}}shutdown(){if(this.cleanupIntervalHandle)clearInterval(this.cleanupIntervalHandle),this.cleanupIntervalHandle=null;for(let Q of this.tasks.values())if(Q._cleanupTimeoutHandle)clearTimeout(Q._cleanupTimeoutHandle)}}var Qg={maxNotificationsPerServer:100,maxLogsPerServer:500};class YG{buffers=new Map;eventSystem;config;constructor(Q,Y={}){this.eventSystem=Q,this.config={...Qg,...Y}}addNotification(Q){let Y=this.getOrCreateBuffers(Q.server);if(Y.notifications.length>=this.config.maxNotificationsPerServer)Y.notifications.shift();Y.notifications.push(Q),this.eventSystem.addEvent("notification",Q.server,{method:Q.method,params:Q.params,timestamp:Q.timestamp.toISOString()})}addLog(Q){let Y=this.getOrCreateBuffers(Q.server);if(Y.logs.length>=this.config.maxLogsPerServer)Y.logs.shift();Y.logs.push(Q)}getAndClearNotifications(){let Q=[];for(let Y of this.buffers.values())Q.push(...Y.notifications),Y.notifications=[];return Q}getAndClearLogs(){let Q=[];for(let Y of this.buffers.values())Q.push(...Y.logs),Y.logs=[];return Q}getNotificationsForServer(Q){let Y=this.buffers.get(Q);return Y?[...Y.notifications]:[]}getLogsForServer(Q){let Y=this.buffers.get(Q);return Y?[...Y.logs]:[]}getNotificationCount(){let Q=0;for(let Y of this.buffers.values())Q+=Y.notifications.length;return Q}getLogCount(){let Q=0;for(let Y of this.buffers.values())Q+=Y.logs.length;return Q}clearServer(Q){this.buffers.delete(Q)}getOrCreateBuffers(Q){let Y=this.buffers.get(Q);if(!Y)Y={notifications:[],logs:[]},this.buffers.set(Q,Y);return Y}}var Yg={defaultTimeoutMs:600000};class XG{samplingRequests=new Map;elicitationRequests=new Map;eventSystem;config;constructor(Q,Y={}){this.eventSystem=Q,this.config={...Yg,...Y}}addSamplingRequest(Q,Y,X,W){let $=r0(),J=setTimeout(()=>{let H=this.samplingRequests.get($);if(H)this.samplingRequests.delete($),this.eventSystem.addEvent("sampling_expired",Q,{requestId:$,reason:`Timed out after ${String(this.config.defaultTimeoutMs)}ms`}),H.reject(Error(`Sampling request timed out after ${String(this.config.defaultTimeoutMs)}ms`))},this.config.defaultTimeoutMs),G={requestId:$,server:Q,timestamp:new Date,params:Y,resolve:X,reject:W,timeoutHandle:J};return this.samplingRequests.set($,G),this.eventSystem.addEvent("sampling_request",Q,{requestId:$,params:Y}),$}addElicitationRequest(Q,Y,X,W){let $=r0(),J=setTimeout(()=>{let H=this.elicitationRequests.get($);if(H)this.elicitationRequests.delete($),this.eventSystem.addEvent("elicitation_expired",Q,{requestId:$,reason:`Timed out after ${String(this.config.defaultTimeoutMs)}ms`}),H.reject(Error(`Elicitation request timed out after ${String(this.config.defaultTimeoutMs)}ms`))},this.config.defaultTimeoutMs),G={requestId:$,server:Q,timestamp:new Date,params:Y,resolve:X,reject:W,timeoutHandle:J};return this.elicitationRequests.set($,G),this.eventSystem.addEvent("elicitation_request",Q,{requestId:$,params:Y}),$}respondToSampling(Q,Y){let X=this.samplingRequests.get(Q);if(!X)throw Error(`Sampling request '${Q}' not found or already completed`);clearTimeout(X.timeoutHandle),this.samplingRequests.delete(Q),X.resolve(Y)}cancelSampling(Q,Y="User cancelled"){let X=this.samplingRequests.get(Q);if(!X)throw Error(`Sampling request '${Q}' not found or already completed`);clearTimeout(X.timeoutHandle),this.samplingRequests.delete(Q),this.eventSystem.addEvent("sampling_expired",X.server,{requestId:Q,reason:Y}),X.reject(Error(Y))}respondToElicitation(Q,Y){let X=this.elicitationRequests.get(Q);if(!X)throw Error(`Elicitation request '${Q}' not found or already completed`);clearTimeout(X.timeoutHandle),this.elicitationRequests.delete(Q),X.resolve(Y)}cancelElicitation(Q,Y="User cancelled"){let X=this.elicitationRequests.get(Q);if(!X)throw Error(`Elicitation request '${Q}' not found or already completed`);clearTimeout(X.timeoutHandle),this.elicitationRequests.delete(Q),this.eventSystem.addEvent("elicitation_expired",X.server,{requestId:Q,reason:Y}),X.reject(Error(Y))}getPendingSamplingRequests(){return Array.from(this.samplingRequests.values()).map((Q)=>({requestId:Q.requestId,server:Q.server,timestamp:Q.timestamp,params:Q.params}))}getPendingElicitationRequests(){return Array.from(this.elicitationRequests.values()).map((Q)=>({requestId:Q.requestId,server:Q.server,timestamp:Q.timestamp,params:Q.params}))}getRequestsForServer(Q){return{sampling:this.getPendingSamplingRequests().filter((Y)=>Y.server===Q),elicitation:this.getPendingElicitationRequests().filter((Y)=>Y.server===Q)}}hasPendingRequests(){return this.samplingRequests.size>0||this.elicitationRequests.size>0}rejectRequestsForServer(Q,Y){for(let[X,W]of this.samplingRequests)if(W.server===Q)clearTimeout(W.timeoutHandle),this.samplingRequests.delete(X),this.eventSystem.addEvent("sampling_expired",Q,{requestId:X,reason:Y}),W.reject(Error(Y));for(let[X,W]of this.elicitationRequests)if(W.server===Q)clearTimeout(W.timeoutHandle),this.elicitationRequests.delete(X),this.eventSystem.addEvent("elicitation_expired",Q,{requestId:X,reason:Y}),W.reject(Error(Y))}shutdown(){for(let Q of this.samplingRequests.values())clearTimeout(Q.timeoutHandle),Q.reject(Error("PendingRequestsManager shutting down"));this.samplingRequests.clear();for(let Q of this.elicitationRequests.values())clearTimeout(Q.timeoutHandle),Q.reject(Error("PendingRequestsManager shutting down"));this.elicitationRequests.clear()}}var Xg={maxActiveTimers:100,maxDurationMs:86400000,retentionMs:300000};class WG{timers=new Map;expiredBuffer=[];eventSystem;config;constructor(Q,Y={}){this.eventSystem=Q,this.config={...Xg,...Y}}createTimer(Q,Y,X=!1){if(this.getActiveTimers().length>=this.config.maxActiveTimers)throw Error(`Maximum active timers (${String(this.config.maxActiveTimers)}) exceeded`);if(Q<=0)throw Error("Duration must be positive");if(Q>this.config.maxDurationMs)throw Error(`Duration exceeds maximum (${String(this.config.maxDurationMs)}ms)`);let $=r0(),J=new Date,G=new Date(J.getTime()+Q),H={id:$,durationMs:Q,message:Y,createdAt:J,expiresAt:G,status:"active",interval:X,fireCount:0};if(X)H._intervalHandle=setInterval(()=>{this.fireIntervalTimer($)},Q);else H._timeoutHandle=setTimeout(()=>{this.expireTimer($)},Q);return this.timers.set($,H),this.toPublicTimer(H)}getTimer(Q){let Y=this.timers.get(Q);if(!Y)return;return this.toPublicTimer(Y)}deleteTimer(Q){let Y=this.timers.get(Q);if(!Y)return;if(Y._timeoutHandle)clearTimeout(Y._timeoutHandle),Y._timeoutHandle=void 0;if(Y._intervalHandle)clearInterval(Y._intervalHandle),Y._intervalHandle=void 0;return Y.status="deleted",this.scheduleCleanup(Y),this.toPublicTimer(Y)}getAllTimers(Q=!1){let Y=Array.from(this.timers.values());return(Q?Y:Y.filter((W)=>W.status==="active")).map((W)=>this.toPublicTimer(W))}getActiveTimers(){return Array.from(this.timers.values()).filter((Q)=>Q.status==="active").map((Q)=>this.toPublicTimer(Q))}getAndClearExpired(){let Q=[...this.expiredBuffer];return this.expiredBuffer.length=0,Q}hasExpired(){return this.expiredBuffer.length>0}shutdown(){for(let Q of this.timers.values()){if(Q._timeoutHandle)clearTimeout(Q._timeoutHandle);if(Q._intervalHandle)clearInterval(Q._intervalHandle)}this.timers.clear(),this.expiredBuffer.length=0}expireTimer(Q){let Y=this.timers.get(Q);if(!Y?.status||Y.status!=="active")return;Y.status="expired",Y._timeoutHandle=void 0,Y.fireCount++,this.expiredBuffer.push({id:Y.id,message:Y.message,expiredAt:new Date().toISOString()}),this.eventSystem.addEvent("timer_expired","emceepee",{timerId:Y.id,message:Y.message}),this.scheduleCleanup(Y)}fireIntervalTimer(Q){let Y=this.timers.get(Q);if(!Y?.status||Y.status!=="active")return;Y.fireCount++,Y.expiresAt=new Date(Date.now()+Y.durationMs),this.expiredBuffer.push({id:Y.id,message:Y.message,expiredAt:new Date().toISOString()}),this.eventSystem.addEvent("timer_expired","emceepee",{timerId:Y.id,message:Y.message,fireCount:Y.fireCount,interval:!0})}scheduleCleanup(Q){setTimeout(()=>{this.timers.delete(Q.id)},this.config.retentionMs)}toPublicTimer(Q){return{id:Q.id,durationMs:Q.durationMs,message:Q.message,createdAt:Q.createdAt,expiresAt:Q.expiresAt,status:Q.status,interval:Q.interval,fireCount:Q.fireCount}}}class $G{sessionId;createdAt;lastActivityAt;backendConnections=new Map;eventSystem;taskManager;pendingRequests;bufferManager;timerManager;logger;constructor(Q,Y={},X){this.sessionId=Q,this.createdAt=new Date,this.lastActivityAt=new Date,this.logger=X,this.eventSystem=new eJ(Y.eventSystemConfig,X),this.taskManager=new QG(this.eventSystem,Y.taskConfig),this.pendingRequests=new XG(this.eventSystem,Y.requestConfig),this.bufferManager=new YG(this.eventSystem,Y.bufferConfig),this.timerManager=new WG(this.eventSystem,Y.timerConfig)}touch(){this.lastActivityAt=new Date}getConnection(Q){return this.backendConnections.get(Q)}isConnectedTo(Q){return this.backendConnections.get(Q)?.status==="connected"}listConnectedServers(){return Array.from(this.backendConnections.entries()).filter(([,Q])=>Q.status==="connected").map(([Q])=>Q)}listConnections(){return Array.from(this.backendConnections.entries()).map(([Q,Y])=>({name:Q,status:Y.status,connectedAt:Y.connectedAt,lastError:Y.lastError}))}setConnectionStatus(Q,Y,X){let W=this.backendConnections.get(Q);if(W){if(W.status=Y,Y==="connected")W.connectedAt=new Date,W.lastError=void 0;else if(Y==="error"&&X)W.lastError=X}}addConnection(Q,Y){this.backendConnections.set(Q,{client:Y,status:"connecting"})}removeConnection(Q){return this.backendConnections.delete(Q)}async cleanup(){this.logger?.info("session_cleanup_start",{sessionId:this.sessionId}),this.pendingRequests.shutdown(),this.taskManager.shutdown(),this.timerManager.shutdown(),this.eventSystem.shutdown();for(let[Q,Y]of this.backendConnections)try{await Y.client.disconnect(),this.logger?.debug("session_backend_disconnected",{sessionId:this.sessionId,server:Q})}catch(X){this.logger?.debug("session_backend_disconnect_error",{sessionId:this.sessionId,server:Q,error:X instanceof Error?X.message:String(X)})}this.backendConnections.clear(),this.logger?.info("session_cleanup_complete",{sessionId:this.sessionId})}}class JG{constructor(Q){this._client=Q}async*callToolStream(Q,Y=Z6,X){let W=this._client,$={...X,task:X?.task??(W.isToolTask(Q.name)?{}:void 0)},J=W.requestStream({method:"tools/call",params:Q},Y,$),G=W.getToolOutputValidator(Q.name);for await(let H of J){if(H.type==="result"&&G){let B=H.result;if(!B.structuredContent&&!B.isError){yield{type:"error",error:new I(_.InvalidRequest,`Tool ${Q.name} has an output schema but did not return structured content`)};return}if(B.structuredContent)try{let z=G(B.structuredContent);if(!z.valid){yield{type:"error",error:new I(_.InvalidParams,`Structured content does not match the tool's output schema: ${z.errorMessage}`)};return}}catch(z){if(z instanceof I){yield{type:"error",error:z};return}yield{type:"error",error:new I(_.InvalidParams,`Failed to validate structured content: ${z instanceof Error?z.message:String(z)}`)};return}}yield H}}async getTask(Q,Y){return this._client.getTask({taskId:Q},Y)}async getTaskResult(Q,Y,X){return this._client.getTaskResult({taskId:Q},Y,X)}async listTasks(Q,Y){return this._client.listTasks(Q?{cursor:Q}:void 0,Y)}async cancelTask(Q,Y){return this._client.cancelTask({taskId:Q},Y)}requestStream(Q,Y,X){return this._client.requestStream(Q,Y,X)}}function vX(Q,Y){if(!Q||Y===null||typeof Y!=="object")return;if(Q.type==="object"&&Q.properties&&typeof Q.properties==="object"){let X=Y,W=Q.properties;for(let $ of Object.keys(W)){let J=W[$];if(X[$]===void 0&&Object.prototype.hasOwnProperty.call(J,"default"))X[$]=J.default;if(X[$]!==void 0)vX(J,X[$])}}if(Array.isArray(Q.anyOf)){for(let X of Q.anyOf)if(typeof X!=="boolean")vX(X,Y)}if(Array.isArray(Q.oneOf)){for(let X of Q.oneOf)if(typeof X!=="boolean")vX(X,Y)}}function Wg(Q){if(!Q)return{supportsFormMode:!1,supportsUrlMode:!1};let Y=Q.form!==void 0,X=Q.url!==void 0;return{supportsFormMode:Y||!Y&&!X,supportsUrlMode:X}}class M8 extends K4{constructor(Q,Y){super(Y);if(this._clientInfo=Q,this._cachedToolOutputValidators=new Map,this._cachedKnownTaskTools=new Set,this._cachedRequiredTaskTools=new Set,this._listChangedDebounceTimers=new Map,this._capabilities=Y?.capabilities??{},this._jsonSchemaValidator=Y?.jsonSchemaValidator??new XQ,Y?.listChanged)this._pendingListChangedConfig=Y.listChanged}_setupListChangedHandlers(Q){if(Q.tools&&this._serverCapabilities?.tools?.listChanged)this._setupListChangedHandler("tools",G9,Q.tools,async()=>{return(await this.listTools()).tools});if(Q.prompts&&this._serverCapabilities?.prompts?.listChanged)this._setupListChangedHandler("prompts",J9,Q.prompts,async()=>{return(await this.listPrompts()).prompts});if(Q.resources&&this._serverCapabilities?.resources?.listChanged)this._setupListChangedHandler("resources",$9,Q.resources,async()=>{return(await this.listResources()).resources})}get experimental(){if(!this._experimental)this._experimental={tasks:new JG(this)};return this._experimental}registerCapabilities(Q){if(this.transport)throw Error("Cannot register capabilities after connecting to transport");this._capabilities=zY(this._capabilities,Q)}setRequestHandler(Q,Y){let W=c1(Q)?.method;if(!W)throw Error("Schema is missing a method literal");let $;if(e0(W)){let G=W;$=G._zod?.def?.value??G.value}else{let G=W;$=G._def?.value??G.value}if(typeof $!=="string")throw Error("Schema method literal must be a string");let J=$;if(J==="elicitation/create"){let G=async(H,B)=>{let z=c0(B9,H);if(!z.success){let U=z.error instanceof Error?z.error.message:String(z.error);throw new I(_.InvalidParams,`Invalid elicitation request: ${U}`)}let{params:K}=z.data;K.mode=K.mode??"form";let{supportsFormMode:V,supportsUrlMode:F}=Wg(this._capabilities.elicitation);if(K.mode==="form"&&!V)throw new I(_.InvalidParams,"Client does not support form-mode elicitation requests");if(K.mode==="url"&&!F)throw new I(_.InvalidParams,"Client does not support URL-mode elicitation requests");let A=await Promise.resolve(Y(H,B));if(K.task){let U=c0(W6,A);if(!U.success){let N=U.error instanceof Error?U.error.message:String(U.error);throw new I(_.InvalidParams,`Invalid task creation result: ${N}`)}return U.data}let D=c0(a9,A);if(!D.success){let U=D.error instanceof Error?D.error.message:String(D.error);throw new I(_.InvalidParams,`Invalid elicitation result: ${U}`)}let L=D.data,O=K.mode==="form"?K.requestedSchema:void 0;if(K.mode==="form"&&L.action==="accept"&&L.content&&O){if(this._capabilities.elicitation?.form?.applyDefaults)try{vX(O,L.content)}catch{}}return L};return super.setRequestHandler(Q,G)}if(J==="sampling/createMessage"){let G=async(H,B)=>{let z=c0(H9,H);if(!z.success){let A=z.error instanceof Error?z.error.message:String(z.error);throw new I(_.InvalidParams,`Invalid sampling request: ${A}`)}let{params:K}=z.data,V=await Promise.resolve(Y(H,B));if(K.task){let A=c0(W6,V);if(!A.success){let D=A.error instanceof Error?A.error.message:String(A.error);throw new I(_.InvalidParams,`Invalid task creation result: ${D}`)}return A.data}let F=c0(B4,V);if(!F.success){let A=F.error instanceof Error?F.error.message:String(F.error);throw new I(_.InvalidParams,`Invalid sampling result: ${A}`)}return F.data};return super.setRequestHandler(Q,G)}return super.setRequestHandler(Q,Y)}assertCapability(Q,Y){if(!this._serverCapabilities?.[Q])throw Error(`Server does not support ${Q} (required for ${Y})`)}async connect(Q,Y){if(await super.connect(Q),Q.sessionId!==void 0)return;try{let X=await this.request({method:"initialize",params:{protocolVersion:M6,capabilities:this._capabilities,clientInfo:this._clientInfo}},M5,Y);if(X===void 0)throw Error(`Server sent invalid initialize result: ${X}`);if(!W9.includes(X.protocolVersion))throw Error(`Server's protocol version is not supported: ${X.protocolVersion}`);if(this._serverCapabilities=X.capabilities,this._serverVersion=X.serverInfo,Q.setProtocolVersion)Q.setProtocolVersion(X.protocolVersion);if(this._instructions=X.instructions,await this.notification({method:"notifications/initialized"}),this._pendingListChangedConfig)this._setupListChangedHandlers(this._pendingListChangedConfig),this._pendingListChangedConfig=void 0}catch(X){throw this.close(),X}}getServerCapabilities(){return this._serverCapabilities}getServerVersion(){return this._serverVersion}getInstructions(){return this._instructions}assertCapabilityForMethod(Q){switch(Q){case"logging/setLevel":if(!this._serverCapabilities?.logging)throw Error(`Server does not support logging (required for ${Q})`);break;case"prompts/get":case"prompts/list":if(!this._serverCapabilities?.prompts)throw Error(`Server does not support prompts (required for ${Q})`);break;case"resources/list":case"resources/templates/list":case"resources/read":case"resources/subscribe":case"resources/unsubscribe":if(!this._serverCapabilities?.resources)throw Error(`Server does not support resources (required for ${Q})`);if(Q==="resources/subscribe"&&!this._serverCapabilities.resources.subscribe)throw Error(`Server does not support resource subscriptions (required for ${Q})`);break;case"tools/call":case"tools/list":if(!this._serverCapabilities?.tools)throw Error(`Server does not support tools (required for ${Q})`);break;case"completion/complete":if(!this._serverCapabilities?.completions)throw Error(`Server does not support completions (required for ${Q})`);break;case"initialize":break;case"ping":break}}assertNotificationCapability(Q){switch(Q){case"notifications/roots/list_changed":if(!this._capabilities.roots?.listChanged)throw Error(`Client does not support roots list changed notifications (required for ${Q})`);break;case"notifications/initialized":break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(Q){if(!this._capabilities)return;switch(Q){case"sampling/createMessage":if(!this._capabilities.sampling)throw Error(`Client does not support sampling capability (required for ${Q})`);break;case"elicitation/create":if(!this._capabilities.elicitation)throw Error(`Client does not support elicitation capability (required for ${Q})`);break;case"roots/list":if(!this._capabilities.roots)throw Error(`Client does not support roots capability (required for ${Q})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw Error(`Client does not support tasks capability (required for ${Q})`);break;case"ping":break}}assertTaskCapability(Q){EX(this._serverCapabilities?.tasks?.requests,Q,"Server")}assertTaskHandlerCapability(Q){if(!this._capabilities)return;SX(this._capabilities.tasks?.requests,Q,"Client")}async ping(Q){return this.request({method:"ping"},X6,Q)}async complete(Q,Y){return this.request({method:"completion/complete",params:Q},f5,Y)}async setLoggingLevel(Q,Y){return this.request({method:"logging/setLevel",params:{level:Q}},X6,Y)}async getPrompt(Q,Y){return this.request({method:"prompts/get",params:Q},_5,Y)}async listPrompts(Q,Y){return this.request({method:"prompts/list",params:Q},S5,Y)}async listResources(Q,Y){return this.request({method:"resources/list",params:Q},Z5,Y)}async listResourceTemplates(Q,Y){return this.request({method:"resources/templates/list",params:Q},P5,Y)}async readResource(Q,Y){return this.request({method:"resources/read",params:Q},E5,Y)}async subscribeResource(Q,Y){return this.request({method:"resources/subscribe",params:Q},X6,Y)}async unsubscribeResource(Q,Y){return this.request({method:"resources/unsubscribe",params:Q},X6,Y)}async callTool(Q,Y=Z6,X){if(this.isToolTaskRequired(Q.name))throw new I(_.InvalidRequest,`Tool "${Q.name}" requires task-based execution. Use client.experimental.tasks.callToolStream() instead.`);let W=await this.request({method:"tools/call",params:Q},Y,X),$=this.getToolOutputValidator(Q.name);if($){if(!W.structuredContent&&!W.isError)throw new I(_.InvalidRequest,`Tool ${Q.name} has an output schema but did not return structured content`);if(W.structuredContent)try{let J=$(W.structuredContent);if(!J.valid)throw new I(_.InvalidParams,`Structured content does not match the tool's output schema: ${J.errorMessage}`)}catch(J){if(J instanceof I)throw J;throw new I(_.InvalidParams,`Failed to validate structured content: ${J instanceof Error?J.message:String(J)}`)}}return W}isToolTask(Q){if(!this._serverCapabilities?.tasks?.requests?.tools?.call)return!1;return this._cachedKnownTaskTools.has(Q)}isToolTaskRequired(Q){return this._cachedRequiredTaskTools.has(Q)}cacheToolMetadata(Q){this._cachedToolOutputValidators.clear(),this._cachedKnownTaskTools.clear(),this._cachedRequiredTaskTools.clear();for(let Y of Q){if(Y.outputSchema){let W=this._jsonSchemaValidator.getValidator(Y.outputSchema);this._cachedToolOutputValidators.set(Y.name,W)}let X=Y.execution?.taskSupport;if(X==="required"||X==="optional")this._cachedKnownTaskTools.add(Y.name);if(X==="required")this._cachedRequiredTaskTools.add(Y.name)}}getToolOutputValidator(Q){return this._cachedToolOutputValidators.get(Q)}async listTools(Q,Y){let X=await this.request({method:"tools/list",params:Q},v5,Y);return this.cacheToolMetadata(X.tools),X}_setupListChangedHandler(Q,Y,X,W){let $=VB.safeParse(X);if(!$.success)throw Error(`Invalid ${Q} listChanged options: ${$.error.message}`);if(typeof X.onChanged!=="function")throw Error(`Invalid ${Q} listChanged options: onChanged must be a function`);let{autoRefresh:J,debounceMs:G}=$.data,{onChanged:H}=X,B=async()=>{if(!J){H(null,null);return}try{let K=await W();H(null,K)}catch(K){let V=K instanceof Error?K:Error(String(K));H(V,null)}},z=()=>{if(G){let K=this._listChangedDebounceTimers.get(Q);if(K)clearTimeout(K);let V=setTimeout(B,G);this._listChangedDebounceTimers.set(Q,V)}else B()};this.setNotificationHandler(Y,z)}async sendRootsListChanged(){return this.notification({method:"notifications/roots/list_changed"})}}function xX(Q){if(!Q)return{};if(Q instanceof Headers)return Object.fromEntries(Q.entries());if(Array.isArray(Q))return Object.fromEntries(Q);return{...Q}}function dU(Q=fetch,Y){if(!Y)return Q;return async(X,W)=>{let $={...Y,...W,headers:W?.headers?{...xX(Y.headers),...xX(W.headers)}:Y.headers};return Q(X,$)}}var GG;GG=globalThis.crypto?.webcrypto??globalThis.crypto??import("node:crypto").then((Q)=>Q.webcrypto);async function $g(Q){return(await GG).getRandomValues(new Uint8Array(Q))}async function Jg(Q){let X=Math.pow(2,8)-Math.pow(2,8)%66,W="";while(W.length<Q){let $=await $g(Q-W.length);for(let J of $)if(J<X)W+="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~"[J%66]}return W}async function Gg(Q){return await Jg(Q)}async function Hg(Q){let Y=await(await GG).subtle.digest("SHA-256",new TextEncoder().encode(Q));return btoa(String.fromCharCode(...new Uint8Array(Y))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}async function HG(Q){if(!Q)Q=43;if(Q<43||Q>128)throw`Expected a length between 43 and 128. Received ${Q}.`;let Y=await Gg(Q),X=await Hg(Y);return{code_verifier:Y,code_challenge:X}}var g0=h3().superRefine((Q,Y)=>{if(!URL.canParse(Q))return Y.addIssue({code:r3.custom,message:"URL must be parseable",fatal:!0}),DQ}).refine((Q)=>{let Y=new URL(Q);return Y.protocol!=="javascript:"&&Y.protocol!=="data:"&&Y.protocol!=="vbscript:"},{message:"URL cannot use javascript:, data:, or vbscript: scheme"}),nU=C0({resource:j().url(),authorization_servers:E(g0).optional(),jwks_uri:j().url().optional(),scopes_supported:E(j()).optional(),bearer_methods_supported:E(j()).optional(),resource_signing_alg_values_supported:E(j()).optional(),resource_name:j().optional(),resource_documentation:j().optional(),resource_policy_uri:j().url().optional(),resource_tos_uri:j().url().optional(),tls_client_certificate_bound_access_tokens:B0().optional(),authorization_details_types_supported:E(j()).optional(),dpop_signing_alg_values_supported:E(j()).optional(),dpop_bound_access_tokens_required:B0().optional()}),BG=C0({issuer:j(),authorization_endpoint:g0,token_endpoint:g0,registration_endpoint:g0.optional(),scopes_supported:E(j()).optional(),response_types_supported:E(j()),response_modes_supported:E(j()).optional(),grant_types_supported:E(j()).optional(),token_endpoint_auth_methods_supported:E(j()).optional(),token_endpoint_auth_signing_alg_values_supported:E(j()).optional(),service_documentation:g0.optional(),revocation_endpoint:g0.optional(),revocation_endpoint_auth_methods_supported:E(j()).optional(),revocation_endpoint_auth_signing_alg_values_supported:E(j()).optional(),introspection_endpoint:j().optional(),introspection_endpoint_auth_methods_supported:E(j()).optional(),introspection_endpoint_auth_signing_alg_values_supported:E(j()).optional(),code_challenge_methods_supported:E(j()).optional(),client_id_metadata_document_supported:B0().optional()}),Bg=C0({issuer:j(),authorization_endpoint:g0,token_endpoint:g0,userinfo_endpoint:g0.optional(),jwks_uri:g0,registration_endpoint:g0.optional(),scopes_supported:E(j()).optional(),response_types_supported:E(j()),response_modes_supported:E(j()).optional(),grant_types_supported:E(j()).optional(),acr_values_supported:E(j()).optional(),subject_types_supported:E(j()),id_token_signing_alg_values_supported:E(j()),id_token_encryption_alg_values_supported:E(j()).optional(),id_token_encryption_enc_values_supported:E(j()).optional(),userinfo_signing_alg_values_supported:E(j()).optional(),userinfo_encryption_alg_values_supported:E(j()).optional(),userinfo_encryption_enc_values_supported:E(j()).optional(),request_object_signing_alg_values_supported:E(j()).optional(),request_object_encryption_alg_values_supported:E(j()).optional(),request_object_encryption_enc_values_supported:E(j()).optional(),token_endpoint_auth_methods_supported:E(j()).optional(),token_endpoint_auth_signing_alg_values_supported:E(j()).optional(),display_values_supported:E(j()).optional(),claim_types_supported:E(j()).optional(),claims_supported:E(j()).optional(),service_documentation:j().optional(),claims_locales_supported:E(j()).optional(),ui_locales_supported:E(j()).optional(),claims_parameter_supported:B0().optional(),request_parameter_supported:B0().optional(),request_uri_parameter_supported:B0().optional(),require_request_uri_registration:B0().optional(),op_policy_uri:g0.optional(),op_tos_uri:g0.optional(),client_id_metadata_document_supported:B0().optional()}),oU=T({...Bg.shape,...BG.pick({code_challenge_methods_supported:!0}).shape}),rU=T({access_token:j(),id_token:j().optional(),token_type:j(),expires_in:fQ.number().optional(),scope:j().optional(),refresh_token:j().optional()}).strip(),aU=T({error:j(),error_description:j().optional(),error_uri:j().optional()}),iU=g0.optional().or(y("").transform(()=>{return})),zg=T({redirect_uris:E(g0),token_endpoint_auth_method:j().optional(),grant_types:E(j()).optional(),response_types:E(j()).optional(),client_name:j().optional(),client_uri:g0.optional(),logo_uri:iU,scope:j().optional(),contacts:E(j()).optional(),tos_uri:iU,policy_uri:j().optional(),jwks_uri:g0.optional(),jwks:u3().optional(),software_id:j().optional(),software_version:j().optional(),software_statement:j().optional()}).strip(),Kg=T({client_id:j(),client_secret:j().optional(),client_id_issued_at:J0().optional(),client_secret_expires_at:J0().optional()}).strip(),tU=zg.merge(Kg),_a=T({error:j(),error_description:j().optional()}).strip(),va=T({token:j(),token_type_hint:j().optional()}).strip();function sU(Q){let Y=typeof Q==="string"?new URL(Q):new URL(Q.href);return Y.hash="",Y}function eU({requestedResource:Q,configuredResource:Y}){let X=typeof Q==="string"?new URL(Q):new URL(Q.href),W=typeof Y==="string"?new URL(Y):new URL(Y.href);if(X.origin!==W.origin)return!1;if(X.pathname.length<W.pathname.length)return!1;let $=X.pathname.endsWith("/")?X.pathname:X.pathname+"/",J=W.pathname.endsWith("/")?W.pathname:W.pathname+"/";return $.startsWith(J)}class I0 extends Error{constructor(Q,Y){super(Q);this.errorUri=Y,this.name=this.constructor.name}toResponseObject(){let Q={error:this.errorCode,error_description:this.message};if(this.errorUri)Q.error_uri=this.errorUri;return Q}get errorCode(){return this.constructor.errorCode}}class yX extends I0{}yX.errorCode="invalid_request";class b8 extends I0{}b8.errorCode="invalid_client";class Z8 extends I0{}Z8.errorCode="invalid_grant";class P8 extends I0{}P8.errorCode="unauthorized_client";class fX extends I0{}fX.errorCode="unsupported_grant_type";class hX extends I0{}hX.errorCode="invalid_scope";class gX extends I0{}gX.errorCode="access_denied";class u6 extends I0{}u6.errorCode="server_error";class uX extends I0{}uX.errorCode="temporarily_unavailable";class lX extends I0{}lX.errorCode="unsupported_response_type";class mX extends I0{}mX.errorCode="unsupported_token_type";class cX extends I0{}cX.errorCode="invalid_token";class pX extends I0{}pX.errorCode="method_not_allowed";class dX extends I0{}dX.errorCode="too_many_requests";class R8 extends I0{}R8.errorCode="invalid_client_metadata";class iX extends I0{}iX.errorCode="insufficient_scope";class nX extends I0{}nX.errorCode="invalid_target";var Qj={[yX.errorCode]:yX,[b8.errorCode]:b8,[Z8.errorCode]:Z8,[P8.errorCode]:P8,[fX.errorCode]:fX,[hX.errorCode]:hX,[gX.errorCode]:gX,[u6.errorCode]:u6,[uX.errorCode]:uX,[lX.errorCode]:lX,[mX.errorCode]:mX,[cX.errorCode]:cX,[pX.errorCode]:pX,[dX.errorCode]:dX,[R8.errorCode]:R8,[iX.errorCode]:iX,[nX.errorCode]:nX};class l6 extends Error{constructor(Q){super(Q??"Unauthorized")}}function Vg(Q){return["client_secret_basic","client_secret_post","none"].includes(Q)}var zG="code",KG="S256";function Fg(Q,Y){let X=Q.client_secret!==void 0;if(Y.length===0)return X?"client_secret_post":"none";if("token_endpoint_auth_method"in Q&&Q.token_endpoint_auth_method&&Vg(Q.token_endpoint_auth_method)&&Y.includes(Q.token_endpoint_auth_method))return Q.token_endpoint_auth_method;if(X&&Y.includes("client_secret_basic"))return"client_secret_basic";if(X&&Y.includes("client_secret_post"))return"client_secret_post";if(Y.includes("none"))return"none";return X?"client_secret_post":"none"}function Ag(Q,Y,X,W){let{client_id:$,client_secret:J}=Y;switch(Q){case"client_secret_basic":Dg($,J,X);return;case"client_secret_post":Lg($,J,W);return;case"none":Og($,W);return;default:throw Error(`Unsupported client authentication method: ${Q}`)}}function Dg(Q,Y,X){if(!Y)throw Error("client_secret_basic authentication requires a client_secret");let W=btoa(`${Q}:${Y}`);X.set("Authorization",`Basic ${W}`)}function Lg(Q,Y,X){if(X.set("client_id",Q),Y)X.set("client_secret",Y)}function Og(Q,Y){Y.set("client_id",Q)}async function Xj(Q){let Y=Q instanceof Response?Q.status:void 0,X=Q instanceof Response?await Q.text():Q;try{let W=aU.parse(JSON.parse(X)),{error:$,error_description:J,error_uri:G}=W;return new(Qj[$]||u6)(J||"",G)}catch(W){let $=`${Y?`HTTP ${Y}: `:""}Invalid OAuth error response: ${W}. Raw body: ${X}`;return new u6($)}}async function GQ(Q,Y){try{return await VG(Q,Y)}catch(X){if(X instanceof b8||X instanceof P8)return await Q.invalidateCredentials?.("all"),await VG(Q,Y);else if(X instanceof Z8)return await Q.invalidateCredentials?.("tokens"),await VG(Q,Y);throw X}}async function VG(Q,{serverUrl:Y,authorizationCode:X,scope:W,resourceMetadataUrl:$,fetchFn:J}){let G,H;try{if(G=await wg(Y,{resourceMetadataUrl:$},J),G.authorization_servers&&G.authorization_servers.length>0)H=G.authorization_servers[0]}catch{}if(!H)H=new URL("/",Y);let B=await jg(Y,Q,G),z=await Zg(H,{fetchFn:J}),K=await Promise.resolve(Q.clientInformation());if(!K){if(X!==void 0)throw Error("Existing OAuth client information is required when exchanging an authorization code");let O=z?.client_id_metadata_document_supported===!0,U=Q.clientMetadataUrl;if(U&&!Ug(U))throw new R8(`clientMetadataUrl must be a valid HTTPS URL with a non-root pathname, got: ${U}`);if(O&&U)K={client_id:U},await Q.saveClientInformation?.(K);else{if(!Q.saveClientInformation)throw Error("OAuth client information must be saveable for dynamic registration");let M=await Ig(H,{metadata:z,clientMetadata:Q.clientMetadata,fetchFn:J});await Q.saveClientInformation(M),K=M}}let V=!Q.redirectUrl;if(X!==void 0||V){let O=await Sg(Q,H,{metadata:z,resource:B,authorizationCode:X,fetchFn:J});return await Q.saveTokens(O),"AUTHORIZED"}let F=await Q.tokens();if(F?.refresh_token)try{let O=await Eg(H,{metadata:z,clientInformation:K,refreshToken:F.refresh_token,resource:B,addClientAuthentication:Q.addClientAuthentication,fetchFn:J});return await Q.saveTokens(O),"AUTHORIZED"}catch(O){if(!(O instanceof I0)||O instanceof u6);else throw O}let A=Q.state?await Q.state():void 0,{authorizationUrl:D,codeVerifier:L}=await Pg(H,{metadata:z,clientInformation:K,state:A,redirectUrl:Q.redirectUrl,scope:W||G?.scopes_supported?.join(" ")||Q.clientMetadata.scope,resource:B});return await Q.saveCodeVerifier(L),await Q.redirectToAuthorization(D),"REDIRECT"}function Ug(Q){if(!Q)return!1;try{let Y=new URL(Q);return Y.protocol==="https:"&&Y.pathname!=="/"}catch{return!1}}async function jg(Q,Y,X){let W=sU(Q);if(Y.validateResourceURL)return await Y.validateResourceURL(W,X?.resource);if(!X)return;if(!eU({requestedResource:W,configuredResource:X.resource}))throw Error(`Protected resource ${X.resource} does not match expected ${W} (or origin)`);return new URL(X.resource)}function AG(Q){let Y=Q.headers.get("WWW-Authenticate");if(!Y)return{};let[X,W]=Y.split(" ");if(X.toLowerCase()!=="bearer"||!W)return{};let $=FG(Q,"resource_metadata")||void 0,J;if($)try{J=new URL($)}catch{}let G=FG(Q,"scope")||void 0,H=FG(Q,"error")||void 0;return{resourceMetadataUrl:J,scope:G,error:H}}function FG(Q,Y){let X=Q.headers.get("WWW-Authenticate");if(!X)return null;let W=new RegExp(`${Y}=(?:"([^"]+)"|([^\\s,]+))`),$=X.match(W);if($)return $[1]||$[2];return null}async function wg(Q,Y,X=fetch){let W=await Mg(Q,"oauth-protected-resource",X,{protocolVersion:Y?.protocolVersion,metadataUrl:Y?.resourceMetadataUrl});if(!W||W.status===404)throw await W?.body?.cancel(),Error("Resource server does not implement OAuth 2.0 Protected Resource Metadata.");if(!W.ok)throw await W.body?.cancel(),Error(`HTTP ${W.status} trying to load well-known OAuth protected resource metadata.`);return nU.parse(await W.json())}async function DG(Q,Y,X=fetch){try{return await X(Q,{headers:Y})}catch(W){if(W instanceof TypeError)if(Y)return DG(Q,void 0,X);else return;throw W}}function Ng(Q,Y="",X={}){if(Y.endsWith("/"))Y=Y.slice(0,-1);return X.prependPathname?`${Y}/.well-known/${Q}`:`/.well-known/${Q}${Y}`}async function Yj(Q,Y,X=fetch){return await DG(Q,{"MCP-Protocol-Version":Y},X)}function qg(Q,Y){return!Q||Q.status>=400&&Q.status<500&&Y!=="/"}async function Mg(Q,Y,X,W){let $=new URL(Q),J=W?.protocolVersion??M6,G;if(W?.metadataUrl)G=new URL(W.metadataUrl);else{let B=Ng(Y,$.pathname);G=new URL(B,W?.metadataServerUrl??$),G.search=$.search}let H=await Yj(G,J,X);if(!W?.metadataUrl&&qg(H,$.pathname)){let B=new URL(`/.well-known/${Y}`,$);H=await Yj(B,J,X)}return H}function bg(Q){let Y=typeof Q==="string"?new URL(Q):Q,X=Y.pathname!=="/",W=[];if(!X)return W.push({url:new URL("/.well-known/oauth-authorization-server",Y.origin),type:"oauth"}),W.push({url:new URL("/.well-known/openid-configuration",Y.origin),type:"oidc"}),W;let $=Y.pathname;if($.endsWith("/"))$=$.slice(0,-1);return W.push({url:new URL(`/.well-known/oauth-authorization-server${$}`,Y.origin),type:"oauth"}),W.push({url:new URL(`/.well-known/openid-configuration${$}`,Y.origin),type:"oidc"}),W.push({url:new URL(`${$}/.well-known/openid-configuration`,Y.origin),type:"oidc"}),W}async function Zg(Q,{fetchFn:Y=fetch,protocolVersion:X=M6}={}){let W={"MCP-Protocol-Version":X,Accept:"application/json"},$=bg(Q);for(let{url:J,type:G}of $){let H=await DG(J,W,Y);if(!H)continue;if(!H.ok){if(await H.body?.cancel(),H.status>=400&&H.status<500)continue;throw Error(`HTTP ${H.status} trying to load ${G==="oauth"?"OAuth":"OpenID provider"} metadata from ${J}`)}if(G==="oauth")return BG.parse(await H.json());else return oU.parse(await H.json())}return}async function Pg(Q,{metadata:Y,clientInformation:X,redirectUrl:W,scope:$,state:J,resource:G}){let H;if(Y){if(H=new URL(Y.authorization_endpoint),!Y.response_types_supported.includes(zG))throw Error(`Incompatible auth server: does not support response type ${zG}`);if(Y.code_challenge_methods_supported&&!Y.code_challenge_methods_supported.includes(KG))throw Error(`Incompatible auth server: does not support code challenge method ${KG}`)}else H=new URL("/authorize",Q);let B=await HG(),z=B.code_verifier,K=B.code_challenge;if(H.searchParams.set("response_type",zG),H.searchParams.set("client_id",X.client_id),H.searchParams.set("code_challenge",K),H.searchParams.set("code_challenge_method",KG),H.searchParams.set("redirect_uri",String(W)),J)H.searchParams.set("state",J);if($)H.searchParams.set("scope",$);if($?.includes("offline_access"))H.searchParams.append("prompt","consent");if(G)H.searchParams.set("resource",G.href);return{authorizationUrl:H,codeVerifier:z}}function Rg(Q,Y,X){return new URLSearchParams({grant_type:"authorization_code",code:Q,code_verifier:Y,redirect_uri:String(X)})}async function Wj(Q,{metadata:Y,tokenRequestParams:X,clientInformation:W,addClientAuthentication:$,resource:J,fetchFn:G}){let H=Y?.token_endpoint?new URL(Y.token_endpoint):new URL("/token",Q),B=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"});if(J)X.set("resource",J.href);if($)await $(B,X,H,Y);else if(W){let K=Y?.token_endpoint_auth_methods_supported??[],V=Fg(W,K);Ag(V,W,B,X)}let z=await(G??fetch)(H,{method:"POST",headers:B,body:X});if(!z.ok)throw await Xj(z);return rU.parse(await z.json())}async function Eg(Q,{metadata:Y,clientInformation:X,refreshToken:W,resource:$,addClientAuthentication:J,fetchFn:G}){let H=new URLSearchParams({grant_type:"refresh_token",refresh_token:W}),B=await Wj(Q,{metadata:Y,tokenRequestParams:H,clientInformation:X,addClientAuthentication:J,resource:$,fetchFn:G});return{refresh_token:W,...B}}async function Sg(Q,Y,{metadata:X,resource:W,authorizationCode:$,fetchFn:J}={}){let G=Q.clientMetadata.scope,H;if(Q.prepareTokenRequest)H=await Q.prepareTokenRequest(G);if(!H){if(!$)throw Error("Either provider.prepareTokenRequest() or authorizationCode is required");if(!Q.redirectUrl)throw Error("redirectUrl is required for authorization_code flow");let z=await Q.codeVerifier();H=Rg($,z,Q.redirectUrl)}let B=await Q.clientInformation();return Wj(Y,{metadata:X,tokenRequestParams:H,clientInformation:B??void 0,addClientAuthentication:Q.addClientAuthentication,resource:W,fetchFn:J})}async function Ig(Q,{metadata:Y,clientMetadata:X,fetchFn:W}){let $;if(Y){if(!Y.registration_endpoint)throw Error("Incompatible auth server: does not support dynamic client registration");$=new URL(Y.registration_endpoint)}else $=new URL("/register",Q);let J=await(W??fetch)($,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(X)});if(!J.ok)throw await Xj(J);return tU.parse(await J.json())}class OG extends Error{constructor(Q,Y){super(Q),this.name="ParseError",this.type=Y.type,this.field=Y.field,this.value=Y.value,this.line=Y.line}}function LG(Q){}function $j(Q){if(typeof Q=="function")throw TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");let{onEvent:Y=LG,onError:X=LG,onRetry:W=LG,onComment:$}=Q,J="",G=!0,H,B="",z="";function K(L){let O=G?L.replace(/^\xEF\xBB\xBF/,""):L,[U,N]=Tg(`${J}${O}`);for(let M of U)V(M);J=N,G=!1}function V(L){if(L===""){A();return}if(L.startsWith(":")){$&&$(L.slice(L.startsWith(": ")?2:1));return}let O=L.indexOf(":");if(O!==-1){let U=L.slice(0,O),N=L[O+1]===" "?2:1,M=L.slice(O+N);F(U,M,L);return}F(L,"",L)}function F(L,O,U){switch(L){case"event":z=O;break;case"data":B=`${B}${O}
59
+ `;break;case"id":H=O.includes("\x00")?void 0:O;break;case"retry":/^\d+$/.test(O)?W(parseInt(O,10)):X(new OG(`Invalid \`retry\` value: "${O}"`,{type:"invalid-retry",value:O,line:U}));break;default:X(new OG(`Unknown field "${L.length>20?`${L.slice(0,20)}…`:L}"`,{type:"unknown-field",field:L,value:O,line:U}));break}}function A(){B.length>0&&Y({id:H,event:z||void 0,data:B.endsWith(`
60
+ `)?B.slice(0,-1):B}),H=void 0,B="",z=""}function D(L={}){J&&L.consume&&V(J),G=!0,H=void 0,B="",z="",J=""}return{feed:K,reset:D}}function Tg(Q){let Y=[],X="",W=0;for(;W<Q.length;){let $=Q.indexOf("\r",W),J=Q.indexOf(`
61
+ `,W),G=-1;if($!==-1&&J!==-1?G=Math.min($,J):$!==-1?$===Q.length-1?G=-1:G=$:J!==-1&&(G=J),G===-1){X=Q.slice(W);break}else{let H=Q.slice(W,G);Y.push(H),W=G+1,Q[W-1]==="\r"&&Q[W]===`
62
+ `&&W++}}return[Y,X]}class UG extends TransformStream{constructor({onError:Q,onRetry:Y,onComment:X}={}){let W;super({start($){W=$j({onEvent:(J)=>{$.enqueue(J)},onError(J){Q==="terminate"?$.error(J):typeof Q=="function"&&Q(J)},onRetry:Y,onComment:X})},transform($){W.feed($)}})}}var Cg={initialReconnectionDelay:1000,maxReconnectionDelay:30000,reconnectionDelayGrowFactor:1.5,maxRetries:2};class Z9 extends Error{constructor(Q,Y){super(`Streamable HTTP error: ${Y}`);this.code=Q}}class oX{constructor(Q,Y){this._hasCompletedAuthFlow=!1,this._url=Q,this._resourceMetadataUrl=void 0,this._scope=void 0,this._requestInit=Y?.requestInit,this._authProvider=Y?.authProvider,this._fetch=Y?.fetch,this._fetchWithInit=dU(Y?.fetch,Y?.requestInit),this._sessionId=Y?.sessionId,this._reconnectionOptions=Y?.reconnectionOptions??Cg}async _authThenStart(){if(!this._authProvider)throw new l6("No auth provider");let Q;try{Q=await GQ(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})}catch(Y){throw this.onerror?.(Y),Y}if(Q!=="AUTHORIZED")throw new l6;return await this._startOrAuthSse({resumptionToken:void 0})}async _commonHeaders(){let Q={};if(this._authProvider){let X=await this._authProvider.tokens();if(X)Q.Authorization=`Bearer ${X.access_token}`}if(this._sessionId)Q["mcp-session-id"]=this._sessionId;if(this._protocolVersion)Q["mcp-protocol-version"]=this._protocolVersion;let Y=xX(this._requestInit?.headers);return new Headers({...Q,...Y})}async _startOrAuthSse(Q){let{resumptionToken:Y}=Q;try{let X=await this._commonHeaders();if(X.set("Accept","text/event-stream"),Y)X.set("last-event-id",Y);let W=await(this._fetch??fetch)(this._url,{method:"GET",headers:X,signal:this._abortController?.signal});if(!W.ok){if(await W.body?.cancel(),W.status===401&&this._authProvider)return await this._authThenStart();if(W.status===405)return;throw new Z9(W.status,`Failed to open SSE stream: ${W.statusText}`)}this._handleSseStream(W.body,Q,!0)}catch(X){throw this.onerror?.(X),X}}_getNextReconnectionDelay(Q){if(this._serverRetryMs!==void 0)return this._serverRetryMs;let Y=this._reconnectionOptions.initialReconnectionDelay,X=this._reconnectionOptions.reconnectionDelayGrowFactor,W=this._reconnectionOptions.maxReconnectionDelay;return Math.min(Y*Math.pow(X,Q),W)}_scheduleReconnection(Q,Y=0){let X=this._reconnectionOptions.maxRetries;if(Y>=X){this.onerror?.(Error(`Maximum reconnection attempts (${X}) exceeded.`));return}let W=this._getNextReconnectionDelay(Y);this._reconnectionTimeout=setTimeout(()=>{this._startOrAuthSse(Q).catch(($)=>{this.onerror?.(Error(`Failed to reconnect SSE stream: ${$ instanceof Error?$.message:String($)}`)),this._scheduleReconnection(Q,Y+1)})},W)}_handleSseStream(Q,Y,X){if(!Q)return;let{onresumptiontoken:W,replayMessageId:$}=Y,J,G=!1,H=!1;(async()=>{try{let z=Q.pipeThrough(new TextDecoderStream).pipeThrough(new UG({onRetry:(F)=>{this._serverRetryMs=F}})).getReader();while(!0){let{value:F,done:A}=await z.read();if(A)break;if(F.id)J=F.id,G=!0,W?.(F.id);if(!F.data)continue;if(!F.event||F.event==="message")try{let D=Y6.parse(JSON.parse(F.data));if(Z1(D)){if(H=!0,$!==void 0)D.id=$}this.onmessage?.(D)}catch(D){this.onerror?.(D)}}if((X||G)&&!H&&this._abortController&&!this._abortController.signal.aborted)this._scheduleReconnection({resumptionToken:J,onresumptiontoken:W,replayMessageId:$},0)}catch(z){if(this.onerror?.(Error(`SSE stream disconnected: ${z}`)),(X||G)&&!H&&this._abortController&&!this._abortController.signal.aborted)try{this._scheduleReconnection({resumptionToken:J,onresumptiontoken:W,replayMessageId:$},0)}catch(F){this.onerror?.(Error(`Failed to reconnect: ${F instanceof Error?F.message:String(F)}`))}}})()}async start(){if(this._abortController)throw Error("StreamableHTTPClientTransport already started! If using Client class, note that connect() calls start() automatically.");this._abortController=new AbortController}async finishAuth(Q){if(!this._authProvider)throw new l6("No auth provider");if(await GQ(this._authProvider,{serverUrl:this._url,authorizationCode:Q,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new l6("Failed to authorize")}async close(){if(this._reconnectionTimeout)clearTimeout(this._reconnectionTimeout),this._reconnectionTimeout=void 0;this._abortController?.abort(),this.onclose?.()}async send(Q,Y){try{let{resumptionToken:X,onresumptiontoken:W}=Y||{};if(X){this._startOrAuthSse({resumptionToken:X,replayMessageId:p1(Q)?Q.id:void 0}).catch((V)=>this.onerror?.(V));return}let $=await this._commonHeaders();$.set("content-type","application/json"),$.set("accept","application/json, text/event-stream");let J={...this._requestInit,method:"POST",headers:$,body:JSON.stringify(Q),signal:this._abortController?.signal},G=await(this._fetch??fetch)(this._url,J),H=G.headers.get("mcp-session-id");if(H)this._sessionId=H;if(!G.ok){let V=await G.text().catch(()=>null);if(G.status===401&&this._authProvider){if(this._hasCompletedAuthFlow)throw new Z9(401,"Server returned 401 after successful authentication");let{resourceMetadataUrl:F,scope:A}=AG(G);if(this._resourceMetadataUrl=F,this._scope=A,await GQ(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new l6;return this._hasCompletedAuthFlow=!0,this.send(Q)}if(G.status===403&&this._authProvider){let{resourceMetadataUrl:F,scope:A,error:D}=AG(G);if(D==="insufficient_scope"){let L=G.headers.get("WWW-Authenticate");if(this._lastUpscopingHeader===L)throw new Z9(403,"Server returned 403 after trying upscoping");if(A)this._scope=A;if(F)this._resourceMetadataUrl=F;if(this._lastUpscopingHeader=L??void 0,await GQ(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetch})!=="AUTHORIZED")throw new l6;return this.send(Q)}}throw new Z9(G.status,`Error POSTing to endpoint: ${V}`)}if(this._hasCompletedAuthFlow=!1,this._lastUpscopingHeader=void 0,G.status===202){if(await G.body?.cancel(),$B(Q))this._startOrAuthSse({resumptionToken:void 0}).catch((V)=>this.onerror?.(V));return}let z=(Array.isArray(Q)?Q:[Q]).filter((V)=>("method"in V)&&("id"in V)&&V.id!==void 0).length>0,K=G.headers.get("content-type");if(z)if(K?.includes("text/event-stream"))this._handleSseStream(G.body,{onresumptiontoken:W},!1);else if(K?.includes("application/json")){let V=await G.json(),F=Array.isArray(V)?V.map((A)=>Y6.parse(A)):[Y6.parse(V)];for(let A of F)this.onmessage?.(A)}else throw await G.body?.cancel(),new Z9(-1,`Unexpected content type: ${K}`);else await G.body?.cancel()}catch(X){throw this.onerror?.(X),X}}get sessionId(){return this._sessionId}async terminateSession(){if(!this._sessionId)return;try{let Q=await this._commonHeaders(),Y={...this._requestInit,method:"DELETE",headers:Q,signal:this._abortController?.signal},X=await(this._fetch??fetch)(this._url,Y);if(await X.body?.cancel(),!X.ok&&X.status!==405)throw new Z9(X.status,`Failed to terminate session: ${X.statusText}`);this._sessionId=void 0}catch(Q){throw this.onerror?.(Q),Q}}setProtocolVersion(Q){this._protocolVersion=Q}get protocolVersion(){return this._protocolVersion}async resumeStream(Q,Y){await this._startOrAuthSse({resumptionToken:Q,onresumptiontoken:Y?.onresumptiontoken})}}var kg=1000,_g=180000,vg=2,xg=0.1,Jj=120000,yg=0.1,fg=60000,hg=3;class jG{name;url;headers;onStatusChange;onNotification;onLog;onSamplingRequest;onElicitationRequest;onReconnecting;onReconnected;onHealthDegraded;onHealthRestored;client=null;transport=null;status="disconnected";errorMessage;capabilities;isClosing=!1;reconnectAttempt=0;reconnectTimeoutHandle=null;nextRetryMs=0;isReconnecting=!1;healthCheckIntervalHandle=null;consecutiveHealthFailures=0;healthStatus="healthy";constructor(Q){this.name=Q.name,this.url=Q.url,this.headers=Q.headers,this.onStatusChange=Q.onStatusChange,this.onNotification=Q.onNotification,this.onLog=Q.onLog,this.onSamplingRequest=Q.onSamplingRequest,this.onElicitationRequest=Q.onElicitationRequest,this.onReconnecting=Q.onReconnecting,this.onReconnected=Q.onReconnected,this.onHealthDegraded=Q.onHealthDegraded,this.onHealthRestored=Q.onHealthRestored}getTransportType(){return"http"}getUrl(){return this.url}getInfo(){let Q={name:this.name,url:this.url,status:this.status};if(this.errorMessage!==void 0)Q.error=this.errorMessage;if(this.capabilities!==void 0)Q.capabilities=this.capabilities;return Q}getName(){return this.name}getStatus(){return this.status}isConnected(){return this.status==="connected"}getReconnectionState(){if(this.status!=="reconnecting")return null;return{attempt:this.reconnectAttempt,nextRetryMs:this.nextRetryMs}}getHealthStatus(){return this.healthStatus}getConsecutiveHealthFailures(){return this.consecutiveHealthFailures}async connect(){if(this.status==="connected"||this.status==="connecting")return;this.setStatus("connecting");try{let Q={};if(this.headers)Q.requestInit={headers:this.headers};this.transport=new oX(new URL(this.url),Q),this.client=new M8({name:"emceepee",version:"0.1.0"},{capabilities:{sampling:{},elicitation:{form:{}}}}),this.setupNotificationHandler(),this.transport.onclose=()=>{if(!this.isClosing)this.handleUnexpectedDisconnect()},this.transport.onerror=(X)=>{if((X.name==="AbortError"||X.message.includes("AbortError"))&&(this.isClosing||this.status==="disconnected"))return;this.errorMessage=X.message,this.handleUnexpectedDisconnect()},await this.client.connect(this.transport);let Y=this.client.getServerCapabilities();this.capabilities={tools:Y?.tools!==void 0,resources:Y?.resources!==void 0,prompts:Y?.prompts!==void 0,resourceTemplates:Y?.resources!==void 0,resourceSubscriptions:Y?.resources?.subscribe===!0},this.setStatus("connected"),this.startHealthChecks()}catch(Q){let Y=Q instanceof Error?Q.message:String(Q);throw this.setStatus("error",Y),Q}}async disconnect(){if(this.isClosing=!0,this.stopHealthChecks(),this.cancelReconnection(),this.transport)try{await this.transport.close()}catch{}this.client=null,this.transport=null,this.isClosing=!1,this.setStatus("disconnected")}async forceReconnect(){if(this.stopHealthChecks(),this.cancelReconnection(),this.transport){this.isClosing=!0;try{await this.transport.close()}catch{}this.isClosing=!1}this.client=null,this.transport=null,this.reconnectAttempt=0,this.nextRetryMs=0,this.consecutiveHealthFailures=0,this.healthStatus="healthy",await this.connect()}cancelReconnection(){if(this.reconnectTimeoutHandle)clearTimeout(this.reconnectTimeoutHandle),this.reconnectTimeoutHandle=null;this.isReconnecting=!1}async listTools(){let Q=this.getConnectedClient();if(!this.capabilities?.tools)return[];return(await Q.listTools()).tools}async callTool(Q,Y={}){return await this.getConnectedClient().callTool({name:Q,arguments:Y})}async listResources(){let Q=this.getConnectedClient();if(!this.capabilities?.resources)return[];return(await Q.listResources()).resources}async listResourceTemplates(){let Q=this.getConnectedClient();if(!this.capabilities?.resourceTemplates)return[];return(await Q.listResourceTemplates()).resourceTemplates}async readResource(Q){return await this.getConnectedClient().readResource({uri:Q})}async subscribeResource(Q){let Y=this.getConnectedClient();if(!this.capabilities?.resourceSubscriptions)throw Error(`Server '${this.name}' does not support resource subscriptions`);await Y.subscribeResource({uri:Q})}async unsubscribeResource(Q){let Y=this.getConnectedClient();if(!this.capabilities?.resourceSubscriptions)throw Error(`Server '${this.name}' does not support resource subscriptions`);await Y.unsubscribeResource({uri:Q})}supportsResourceSubscriptions(){return this.capabilities?.resourceSubscriptions===!0}async listPrompts(){let Q=this.getConnectedClient();if(!this.capabilities?.prompts)return[];return(await Q.listPrompts()).prompts}async getPrompt(Q,Y={}){return await this.getConnectedClient().getPrompt({name:Q,arguments:Y})}setupNotificationHandler(){if(!this.client)return;this.client.setNotificationHandler(G9,()=>{this.emitNotification("notifications/tools/list_changed")}),this.client.setNotificationHandler($9,()=>{this.emitNotification("notifications/resources/list_changed")}),this.client.setNotificationHandler(J4,(Q)=>{this.emitNotification("notifications/resources/updated",Q.params)}),this.client.setNotificationHandler(J9,()=>{this.emitNotification("notifications/prompts/list_changed")}),this.client.setNotificationHandler(H4,(Q)=>{if(this.onLog)this.onLog({server:this.name,timestamp:new Date,level:Q.params.level,logger:Q.params.logger,data:Q.params.data})}),this.client.setRequestHandler(H9,(Q)=>{return new Promise((Y,X)=>{if(this.onSamplingRequest)this.onSamplingRequest({id:crypto.randomUUID(),server:this.name,timestamp:new Date,params:Q.params,resolve:Y,reject:X});else X(Error("Sampling not supported: no handler registered"))})}),this.client.setRequestHandler(B9,(Q)=>{return new Promise((Y,X)=>{if(this.onElicitationRequest)this.onElicitationRequest({id:crypto.randomUUID(),server:this.name,timestamp:new Date,params:Q.params,resolve:Y,reject:X});else X(Error("Elicitation not supported: no handler registered"))})})}emitNotification(Q,Y){if(this.onNotification!==void 0)this.onNotification({server:this.name,timestamp:new Date,method:Q,params:Y})}handleUnexpectedDisconnect(){if(this.isReconnecting||this.isClosing)return;this.stopHealthChecks(),this.client=null,this.transport=null,this.isReconnecting=!0,this.reconnectAttempt=0,this.setStatus("reconnecting",this.errorMessage),this.scheduleReconnection()}scheduleReconnection(){if(this.isClosing)return;this.reconnectAttempt++;let Q=this.calculateBackoff(this.reconnectAttempt);if(this.nextRetryMs=Q,this.onReconnecting)this.onReconnecting(this.reconnectAttempt,Q);this.reconnectTimeoutHandle=setTimeout(()=>{this.attemptReconnection()},Q)}async attemptReconnection(){if(this.isClosing)return;try{let Q={};if(this.headers)Q.requestInit={headers:this.headers};this.transport=new oX(new URL(this.url),Q),this.client=new M8({name:"emceepee",version:"0.1.0"},{capabilities:{sampling:{},elicitation:{form:{}}}}),this.setupNotificationHandler(),this.transport.onclose=()=>{if(!this.isClosing)this.handleUnexpectedDisconnect()},this.transport.onerror=(W)=>{if((W.name==="AbortError"||W.message.includes("AbortError"))&&(this.isClosing||this.status==="disconnected"))return;this.errorMessage=W.message,this.handleUnexpectedDisconnect()},await this.client.connect(this.transport);let Y=this.client.getServerCapabilities();this.capabilities={tools:Y?.tools!==void 0,resources:Y?.resources!==void 0,prompts:Y?.prompts!==void 0,resourceTemplates:Y?.resources!==void 0,resourceSubscriptions:Y?.resources?.subscribe===!0};let X=this.reconnectAttempt;if(this.reconnectAttempt=0,this.nextRetryMs=0,this.isReconnecting=!1,this.consecutiveHealthFailures=0,this.healthStatus="healthy",this.setStatus("connected"),this.onReconnected)this.onReconnected(X);this.startHealthChecks()}catch(Q){this.client=null,this.transport=null,this.errorMessage=Q instanceof Error?Q.message:String(Q),this.scheduleReconnection()}}calculateBackoff(Q){let Y=kg*Math.pow(vg,Q-1),X=Math.min(Y,_g),W=X*xg*(Math.random()*2-1);return Math.round(X+W)}startHealthChecks(){this.stopHealthChecks();let Q=()=>{let Y=Jj*yg*(Math.random()*2-1),X=Math.round(Jj+Y);this.healthCheckIntervalHandle=setTimeout(()=>{this.performHealthCheck(),Q()},X)};Q()}stopHealthChecks(){if(this.healthCheckIntervalHandle)clearTimeout(this.healthCheckIntervalHandle),this.healthCheckIntervalHandle=null}async performHealthCheck(){if(!this.client||!this.isConnected())return;try{let Q=new AbortController,Y=setTimeout(()=>{Q.abort()},fg);try{if(await this.client.listTools(),clearTimeout(Y),this.consecutiveHealthFailures>0){let X=this.healthStatus==="degraded";if(this.consecutiveHealthFailures=0,this.healthStatus="healthy",X&&this.onHealthRestored)this.onHealthRestored()}}catch(X){throw clearTimeout(Y),X}}catch(Q){this.consecutiveHealthFailures++;let Y=Q instanceof Error?Q.message:String(Q);if(this.consecutiveHealthFailures>=hg&&this.healthStatus!=="degraded"){if(this.healthStatus="degraded",this.onHealthDegraded)this.onHealthDegraded(this.consecutiveHealthFailures,Y)}}}setStatus(Q,Y){if(this.status=Q,Q==="error"&&Y!==void 0)this.errorMessage=Y;else this.errorMessage=void 0;if(this.onStatusChange!==void 0)this.onStatusChange(Q,Y)}getConnectedClient(){if(!this.isConnected()||!this.client)throw Error(`Client '${this.name}' is not connected`);return this.client}}var rj=HQ(nj(),1);import aX from"node:process";import{PassThrough as Lu}from"node:stream";class SG{append(Q){this._buffer=this._buffer?Buffer.concat([this._buffer,Q]):Q}readMessage(){if(!this._buffer)return null;let Q=this._buffer.indexOf(`
63
+ `);if(Q===-1)return null;let Y=this._buffer.toString("utf8",0,Q).replace(/\r$/,"");return this._buffer=this._buffer.subarray(Q+1),Du(Y)}clear(){this._buffer=void 0}}function Du(Q){return Y6.parse(JSON.parse(Q))}function oj(Q){return JSON.stringify(Q)+`
64
+ `}var Ou=aX.platform==="win32"?["APPDATA","HOMEDRIVE","HOMEPATH","LOCALAPPDATA","PATH","PROCESSOR_ARCHITECTURE","SYSTEMDRIVE","SYSTEMROOT","TEMP","USERNAME","USERPROFILE","PROGRAMFILES"]:["HOME","LOGNAME","PATH","SHELL","TERM","USER"];function Uu(){let Q={};for(let Y of Ou){let X=aX.env[Y];if(X===void 0)continue;if(X.startsWith("()"))continue;Q[Y]=X}return Q}class IG{constructor(Q){if(this._readBuffer=new SG,this._stderrStream=null,this._serverParams=Q,Q.stderr==="pipe"||Q.stderr==="overlapped")this._stderrStream=new Lu}async start(){if(this._process)throw Error("StdioClientTransport already started! If using Client class, note that connect() calls start() automatically.");return new Promise((Q,Y)=>{if(this._process=rj.default(this._serverParams.command,this._serverParams.args??[],{env:{...Uu(),...this._serverParams.env},stdio:["pipe","pipe",this._serverParams.stderr??"inherit"],shell:!1,windowsHide:aX.platform==="win32"&&ju(),cwd:this._serverParams.cwd}),this._process.on("error",(X)=>{Y(X),this.onerror?.(X)}),this._process.on("spawn",()=>{Q()}),this._process.on("close",(X)=>{this._process=void 0,this.onclose?.()}),this._process.stdin?.on("error",(X)=>{this.onerror?.(X)}),this._process.stdout?.on("data",(X)=>{this._readBuffer.append(X),this.processReadBuffer()}),this._process.stdout?.on("error",(X)=>{this.onerror?.(X)}),this._stderrStream&&this._process.stderr)this._process.stderr.pipe(this._stderrStream)})}get stderr(){if(this._stderrStream)return this._stderrStream;return this._process?.stderr??null}get pid(){return this._process?.pid??null}processReadBuffer(){while(!0)try{let Q=this._readBuffer.readMessage();if(Q===null)break;this.onmessage?.(Q)}catch(Q){this.onerror?.(Q)}}async close(){if(this._process){let Q=this._process;this._process=void 0;let Y=new Promise((X)=>{Q.once("close",()=>{X()})});try{Q.stdin?.end()}catch{}if(await Promise.race([Y,new Promise((X)=>setTimeout(X,2000).unref())]),Q.exitCode===null){try{Q.kill("SIGTERM")}catch{}await Promise.race([Y,new Promise((X)=>setTimeout(X,2000).unref())])}if(Q.exitCode===null)try{Q.kill("SIGKILL")}catch{}}this._readBuffer.clear()}send(Q){return new Promise((Y)=>{if(!this._process?.stdin)throw Error("Not connected");let X=oj(Q);if(this._process.stdin.write(X))Y();else this._process.stdin.once("drain",Y)})}}function ju(){return"type"in aX}var wu={enabled:!0,maxAttempts:5,baseDelayMs:1000,maxDelayMs:60000,backoffMultiplier:2};class TG{name;command;args;env;cwd;restartConfig;onStatusChange;onNotification;onLog;onSamplingRequest;onElicitationRequest;onLifecycleEvent;client=null;transport=null;status="disconnected";errorMessage;capabilities;isClosing=!1;restartAttempt=0;restartTimeoutHandle=null;nextRetryMs=0;isRestarting=!1;stderrBuffer=[];maxStderrLines=1000;constructor(Q){this.name=Q.name,this.command=Q.command,this.args=Q.args??[],this.env=Q.env,this.cwd=Q.cwd,this.restartConfig={...wu,...Q.restartConfig},this.onStatusChange=Q.onStatusChange,this.onNotification=Q.onNotification,this.onLog=Q.onLog,this.onSamplingRequest=Q.onSamplingRequest,this.onElicitationRequest=Q.onElicitationRequest,this.onLifecycleEvent=Q.onLifecycleEvent}getTransportType(){return"stdio"}getInfo(){let Q={transportType:"stdio",name:this.name,url:`stdio://${this.command}`,status:this.status},Y=this.transport._process;if(Y?.pid!==void 0)Q.pid=Y.pid;if(this.errorMessage!==void 0)Q.error=this.errorMessage;if(this.capabilities!==void 0)Q.capabilities=this.capabilities;return Q}getName(){return this.name}getStatus(){return this.status}isConnected(){return this.status==="connected"}getReconnectionState(){if(this.status!=="reconnecting")return null;return{attempt:this.restartAttempt,nextRetryMs:this.nextRetryMs}}getHealthStatus(){return this.isConnected()?"healthy":"degraded"}getConsecutiveHealthFailures(){return this.isConnected()?0:this.restartAttempt}getCommand(){return this.command}getArgs(){return[...this.args]}getStderrBuffer(){return[...this.stderrBuffer]}async connect(){if(this.status==="connected"||this.status==="connecting")return;this.setStatus("connecting");try{await this.createTransport(),this.emitLifecycleEvent({event:"process_started",timestamp:new Date}),this.setStatus("connected")}catch(Q){let Y=Q instanceof Error?Q.message:String(Q);throw this.setStatus("error",Y),Q}}async disconnect(){if(this.isClosing=!0,this.cancelReconnection(),this.transport)try{await this.transport.close()}catch{}this.client=null,this.transport=null,this.isClosing=!1,this.setStatus("disconnected"),this.emitLifecycleEvent({event:"process_stopped",timestamp:new Date})}async forceReconnect(){if(this.cancelReconnection(),this.transport){this.isClosing=!0;try{await this.transport.close()}catch{}this.isClosing=!1}this.client=null,this.transport=null,this.restartAttempt=0,this.nextRetryMs=0,await this.connect()}cancelReconnection(){if(this.restartTimeoutHandle)clearTimeout(this.restartTimeoutHandle),this.restartTimeoutHandle=null;this.isRestarting=!1}async listTools(){let Q=this.getConnectedClient();if(!this.capabilities?.tools)return[];return(await Q.listTools()).tools}async callTool(Q,Y={}){return await this.getConnectedClient().callTool({name:Q,arguments:Y})}async listResources(){let Q=this.getConnectedClient();if(!this.capabilities?.resources)return[];return(await Q.listResources()).resources}async listResourceTemplates(){let Q=this.getConnectedClient();if(!this.capabilities?.resourceTemplates)return[];return(await Q.listResourceTemplates()).resourceTemplates}async readResource(Q){return await this.getConnectedClient().readResource({uri:Q})}async subscribeResource(Q){let Y=this.getConnectedClient();if(!this.capabilities?.resourceSubscriptions)throw Error(`Server '${this.name}' does not support resource subscriptions`);await Y.subscribeResource({uri:Q})}async unsubscribeResource(Q){let Y=this.getConnectedClient();if(!this.capabilities?.resourceSubscriptions)throw Error(`Server '${this.name}' does not support resource subscriptions`);await Y.unsubscribeResource({uri:Q})}supportsResourceSubscriptions(){return this.capabilities?.resourceSubscriptions===!0}async listPrompts(){let Q=this.getConnectedClient();if(!this.capabilities?.prompts)return[];return(await Q.listPrompts()).prompts}async getPrompt(Q,Y={}){return await this.getConnectedClient().getPrompt({name:Q,arguments:Y})}async createTransport(){let Q;if(this.env){Q={};for(let[X,W]of Object.entries(process.env))if(W!==void 0)Q[X]=W;Object.assign(Q,this.env)}this.transport=new IG({command:this.command,args:this.args,env:Q,cwd:this.cwd,stderr:"pipe"}),this.client=new M8({name:"emceepee",version:"0.1.0"},{capabilities:{sampling:{},elicitation:{form:{}}}}),this.setupNotificationHandler(),this.transport.onclose=()=>{if(!this.isClosing)this.handleProcessExit()},this.transport.onerror=(X)=>{if(this.isClosing||this.status==="disconnected")return;this.errorMessage=X.message,this.handleProcessExit()},await this.client.connect(this.transport),this.setupStderrCapture();let Y=this.client.getServerCapabilities();this.capabilities={tools:Y?.tools!==void 0,resources:Y?.resources!==void 0,prompts:Y?.prompts!==void 0,resourceTemplates:Y?.resources!==void 0,resourceSubscriptions:Y?.resources?.subscribe===!0}}setupStderrCapture(){if(!this.transport)return;let Q=this.transport._process;if(Q?.stderr)Q.stderr.on("data",(Y)=>{let X=Y.toString().split(`
65
+ `).filter((W)=>W.length>0);for(let W of X){if(this.stderrBuffer.push(W),this.stderrBuffer.length>this.maxStderrLines)this.stderrBuffer.shift();if(this.onLog)this.onLog({server:this.name,timestamp:new Date,level:"warning",source:"stderr",data:W})}})}handleProcessExit(Q,Y){if(this.isRestarting||this.isClosing)return;if(this.emitLifecycleEvent({event:"process_crashed",timestamp:new Date,exitCode:Q,signal:Y}),this.client=null,this.transport=null,this.restartConfig.enabled)this.isRestarting=!0,this.restartAttempt=0,this.setStatus("reconnecting",this.errorMessage),this.scheduleRestart();else this.setStatus("error",`Process exited with code ${Q!==void 0?String(Q):"unknown"}`)}scheduleRestart(){if(this.isClosing)return;if(this.restartAttempt++,this.restartAttempt>this.restartConfig.maxAttempts){this.isRestarting=!1,this.setStatus("error","Max restart attempts exceeded"),this.emitLifecycleEvent({event:"restart_failed",timestamp:new Date,attempt:this.restartAttempt-1,error:"Max restart attempts exceeded"});return}let Q=this.calculateBackoff(this.restartAttempt);this.nextRetryMs=Q,this.emitLifecycleEvent({event:"restarting",timestamp:new Date,attempt:this.restartAttempt,nextRetryMs:Q}),this.restartTimeoutHandle=setTimeout(()=>{this.attemptRestart()},Q)}async attemptRestart(){if(this.isClosing)return;try{await this.createTransport();let Q=this.restartAttempt;this.restartAttempt=0,this.nextRetryMs=0,this.isRestarting=!1,this.setStatus("connected"),this.emitLifecycleEvent({event:"restarted",timestamp:new Date,attempt:Q})}catch(Q){this.client=null,this.transport=null,this.errorMessage=Q instanceof Error?Q.message:String(Q),this.scheduleRestart()}}calculateBackoff(Q){let Y=this.restartConfig.baseDelayMs*Math.pow(this.restartConfig.backoffMultiplier,Q-1);return Math.min(Y,this.restartConfig.maxDelayMs)}setupNotificationHandler(){if(!this.client)return;this.client.setNotificationHandler(G9,()=>{this.emitNotification("notifications/tools/list_changed")}),this.client.setNotificationHandler($9,()=>{this.emitNotification("notifications/resources/list_changed")}),this.client.setNotificationHandler(J4,(Q)=>{this.emitNotification("notifications/resources/updated",Q.params)}),this.client.setNotificationHandler(J9,()=>{this.emitNotification("notifications/prompts/list_changed")}),this.client.setNotificationHandler(H4,(Q)=>{if(this.onLog)this.onLog({server:this.name,timestamp:new Date,level:Q.params.level,logger:Q.params.logger,data:Q.params.data,source:"protocol"})}),this.client.setRequestHandler(H9,(Q)=>{return new Promise((Y,X)=>{if(this.onSamplingRequest)this.onSamplingRequest({id:crypto.randomUUID(),server:this.name,timestamp:new Date,params:Q.params,resolve:Y,reject:X});else X(Error("Sampling not supported: no handler registered"))})}),this.client.setRequestHandler(B9,(Q)=>{return new Promise((Y,X)=>{if(this.onElicitationRequest)this.onElicitationRequest({id:crypto.randomUUID(),server:this.name,timestamp:new Date,params:Q.params,resolve:Y,reject:X});else X(Error("Elicitation not supported: no handler registered"))})})}emitNotification(Q,Y){if(this.onNotification!==void 0)this.onNotification({server:this.name,timestamp:new Date,method:Q,params:Y})}emitLifecycleEvent(Q){if(this.onLifecycleEvent)this.onLifecycleEvent(Q)}setStatus(Q,Y){if(this.status=Q,Q==="error"&&Y!==void 0)this.errorMessage=Y;else this.errorMessage=void 0;if(this.onStatusChange!==void 0)this.onStatusChange(Q,Y)}getConnectedClient(){if(!this.isConnected()||!this.client)throw Error(`Client '${this.name}' is not connected`);return this.client}}var Nu={sessionTimeoutMs:86400000,cleanupIntervalMs:300000};class CG{sessions=new Map;serverConfigs;config;logger;cleanupIntervalHandle=null;constructor(Q={}){this.config={...Nu,...Q},this.logger=Q.logger;let Y={logger:Q.logger};this.serverConfigs=new sJ(Y),this.startCleanupInterval()}async createSession(){let Q=r0(),Y=new $G(Q,this.config.sessionStateConfig,this.logger);this.sessions.set(Q,Y),this.logger?.info("session_created",{sessionId:Q});let X=this.serverConfigs.listConfigs();for(let W of X)try{await this.connectSessionToServer(Y,W)}catch($){this.logger?.warn("session_auto_connect_failed",{sessionId:Q,server:W.name,error:$ instanceof Error?$.message:String($)})}return Y}getSession(Q){return this.sessions.get(Q)}touchSession(Q){this.sessions.get(Q)?.touch()}async destroySession(Q){let Y=this.sessions.get(Q);if(!Y)return;this.logger?.info("session_destroying",{sessionId:Q}),await Y.cleanup(),this.sessions.delete(Q),this.logger?.info("session_destroyed",{sessionId:Q})}async addServer(Q,Y,X,W){let $=this.sessions.get(Q);if(!$)throw Error(`Session '${Q}' not found`);let J=this.serverConfigs.addConfig(Y,X,{headers:W?.headers},Q),G=this.serverConfigs.getConfig(Y);if(!G)throw Error(`Failed to add server config for '${Y}'`);let H=await this.connectSessionToServer($,G);if(J){for(let[B,z]of this.sessions)if(B!==Q)z.eventSystem.addEvent("server_added",Y,{name:Y,url:X,addedBy:Q})}return H}async addStdioServer(Q,Y,X,W,$){let J=this.sessions.get(Q);if(!J)throw Error(`Session '${Q}' not found`);let G=this.serverConfigs.addStdioConfig(Y,X,W,$,Q),H=this.serverConfigs.getConfig(Y);if(!H)throw Error(`Failed to add server config for '${Y}'`);let B=await this.connectSessionToServer(J,H);if(G){for(let[z,K]of this.sessions)if(z!==Q)K.eventSystem.addEvent("server_added",Y,{name:Y,type:"stdio",command:X,args:W,addedBy:Q})}return B}async removeServer(Q,Y){if(this.logger?.debug("removeServer_start",{sessionId:Q,serverName:Y}),!this.serverConfigs.removeConfig(Y))throw this.logger?.debug("removeServer_not_found",{sessionId:Q,serverName:Y}),Error(`Server '${Y}' not found`);for(let[W,$]of this.sessions)this.logger?.debug("removeServer_disconnecting_session",{sessionId:W,serverName:Y,hasConnection:$.getConnection(Y)!==void 0}),await this.disconnectSessionFromServer($,Y),$.eventSystem.addEvent("server_removed",Y,{name:Y,removedBy:Q});this.logger?.debug("removeServer_complete",{sessionId:Q,serverName:Y})}listServers(Q){let Y=this.sessions.get(Q);return this.serverConfigs.listConfigs().map((W)=>{let $=Y?.getConnection(W.name),J;if(aJ(W))J=W.url;else if(tJ(W))J=`stdio://${W.command}`;else J="unknown";let G={name:W.name,url:J,connected:$?.status==="connected",status:$?.status??"not_connected",connectedAt:$?.connectedAt,lastError:$?.lastError};if($?.status==="reconnecting"){let H=$.client.getReconnectionState();if(H)G.reconnectAttempt=H.attempt,G.nextRetryMs=H.nextRetryMs}if($?.status==="connected"){G.healthStatus=$.client.getHealthStatus();let H=$.client.getConsecutiveHealthFailures();if(H>0)G.consecutiveHealthFailures=H}return G})}async reconnectServer(Q,Y){let X=this.sessions.get(Q);if(!X)throw Error(`Session '${Q}' not found`);let W=this.serverConfigs.getConfig(Y);if(!W)throw Error(`Server '${Y}' not found`);let $=X.getConnection(Y);if(!$){await this.connectSessionToServer(X,W);return}this.handleBackendDisconnect(X,Y),await $.client.forceReconnect(),X.setConnectionStatus(Y,"connected"),X.eventSystem.addEvent("server_reconnected",Y,{name:Y,attemptsTaken:0,forced:!0}),this.logger?.info("session_server_force_reconnected",{sessionId:X.sessionId,server:Y})}async getOrCreateConnection(Q,Y){let X=this.sessions.get(Q);if(!X)throw Error(`Session '${Q}' not found`);let W=X.getConnection(Y);if(W?.status==="connected")return W.client;let $=this.serverConfigs.getConfig(Y);if(!$)throw Error(`Server '${Y}' not found`);return(await this.connectSessionToServer(X,$)).client}getConnectedClient(Q,Y){let X=this.sessions.get(Q);if(!X)return;let W=X.getConnection(Y);if(W?.status==="connected")return W.client;return}async connectSessionToServer(Q,Y){let X=Q.backendConnections.get(Y.name);if(X?.status==="connected")return X;if(X?.status==="connecting")throw Error(`Already connecting to '${Y.name}'`);let W;if(aJ(Y))W=this.createHttpClient(Q,Y);else if(tJ(Y))W=this.createStdioClient(Q,Y);else throw Error(`Unknown server config type for '${Y.name}'`);Q.addConnection(Y.name,W);try{await W.connect(),Q.setConnectionStatus(Y.name,"connected"),Q.eventSystem.addEvent("server_connected",Y.name,{name:Y.name,capabilities:W.getInfo().capabilities}),this.logger?.info("session_server_connected",{sessionId:Q.sessionId,server:Y.name});let $=Q.getConnection(Y.name);if(!$)throw Error("Connection not found after connect");return $}catch($){let J=$ instanceof Error?$.message:String($);throw Q.setConnectionStatus(Y.name,"error",J),this.logger?.warn("session_server_connect_failed",{sessionId:Q.sessionId,server:Y.name,error:J}),$}}createHttpClient(Q,Y){return new jG({name:Y.name,url:Y.url,headers:Y.headers,onStatusChange:(X,W)=>{Q.setConnectionStatus(Y.name,X,W)},onNotification:(X)=>{Q.bufferManager.addNotification(X)},onLog:(X)=>{Q.bufferManager.addLog(X)},onSamplingRequest:(X)=>{Q.pendingRequests.addSamplingRequest(X.server,X.params,X.resolve,X.reject)},onElicitationRequest:(X)=>{Q.pendingRequests.addElicitationRequest(X.server,X.params,X.resolve,X.reject)},onReconnecting:(X,W)=>{if(X===1)this.handleBackendDisconnect(Q,Y.name);Q.eventSystem.addEvent("server_reconnecting",Y.name,{name:Y.name,attempt:X,nextRetryMs:W}),this.logger?.debug("session_server_reconnecting",{sessionId:Q.sessionId,server:Y.name,attempt:X,nextRetryMs:W})},onReconnected:(X)=>{Q.setConnectionStatus(Y.name,"connected"),Q.eventSystem.addEvent("server_reconnected",Y.name,{name:Y.name,attemptsTaken:X}),this.logger?.info("session_server_reconnected",{sessionId:Q.sessionId,server:Y.name,attemptsTaken:X})},onHealthDegraded:(X,W)=>{Q.eventSystem.addEvent("server_health_degraded",Y.name,{name:Y.name,consecutiveFailures:X,lastError:W}),this.logger?.warn("session_server_health_degraded",{sessionId:Q.sessionId,server:Y.name,consecutiveFailures:X,lastError:W})},onHealthRestored:()=>{Q.eventSystem.addEvent("server_health_restored",Y.name,{name:Y.name}),this.logger?.info("session_server_health_restored",{sessionId:Q.sessionId,server:Y.name})}})}createStdioClient(Q,Y){return new TG({name:Y.name,command:Y.command,args:Y.args,env:Y.env,cwd:Y.cwd,restartConfig:Y.restartConfig,onStatusChange:(X,W)=>{Q.setConnectionStatus(Y.name,X,W)},onNotification:(X)=>{Q.bufferManager.addNotification(X)},onLog:(X)=>{Q.bufferManager.addLog({server:X.server,timestamp:X.timestamp,level:X.level,logger:X.logger,data:X.data})},onSamplingRequest:(X)=>{Q.pendingRequests.addSamplingRequest(X.server,X.params,X.resolve,X.reject)},onElicitationRequest:(X)=>{Q.pendingRequests.addElicitationRequest(X.server,X.params,X.resolve,X.reject)},onLifecycleEvent:(X)=>{switch(X.event){case"process_started":this.logger?.info("session_stdio_process_started",{sessionId:Q.sessionId,server:Y.name});break;case"process_crashed":this.handleBackendDisconnect(Q,Y.name),Q.eventSystem.addEvent("server_process_crashed",Y.name,{name:Y.name,exitCode:X.exitCode,signal:X.signal}),this.logger?.warn("session_stdio_process_crashed",{sessionId:Q.sessionId,server:Y.name,exitCode:X.exitCode,signal:X.signal});break;case"restarting":Q.eventSystem.addEvent("server_reconnecting",Y.name,{name:Y.name,attempt:X.attempt,nextRetryMs:X.nextRetryMs}),this.logger?.debug("session_stdio_restarting",{sessionId:Q.sessionId,server:Y.name,attempt:X.attempt,nextRetryMs:X.nextRetryMs});break;case"restarted":Q.setConnectionStatus(Y.name,"connected"),Q.eventSystem.addEvent("server_reconnected",Y.name,{name:Y.name,attemptsTaken:X.attempt}),this.logger?.info("session_stdio_restarted",{sessionId:Q.sessionId,server:Y.name,attemptsTaken:X.attempt});break;case"restart_failed":Q.setConnectionStatus(Y.name,"error",X.error),Q.eventSystem.addEvent("server_restart_failed",Y.name,{name:Y.name,error:X.error}),this.logger?.error("session_stdio_restart_failed",{sessionId:Q.sessionId,server:Y.name,error:X.error});break;case"process_stopped":this.logger?.info("session_stdio_process_stopped",{sessionId:Q.sessionId,server:Y.name});break}}})}async disconnectSessionFromServer(Q,Y){let X=Q.getConnection(Y);if(!X){this.logger?.debug("disconnectSessionFromServer_no_connection",{sessionId:Q.sessionId,serverName:Y});return}this.logger?.debug("disconnectSessionFromServer_start",{sessionId:Q.sessionId,serverName:Y,connectionStatus:X.status});let W=Q.taskManager.getTasksForServer(Y);for(let $ of W)if($.status==="working")Q.taskManager.failTask($.taskId,"Server removed");Q.pendingRequests.rejectRequestsForServer(Y,"Server removed");try{this.logger?.debug("disconnectSessionFromServer_calling_disconnect",{sessionId:Q.sessionId,serverName:Y}),await X.client.disconnect(),this.logger?.debug("disconnectSessionFromServer_disconnect_complete",{sessionId:Q.sessionId,serverName:Y})}catch($){this.logger?.debug("disconnectSessionFromServer_disconnect_error",{sessionId:Q.sessionId,serverName:Y,error:$ instanceof Error?$.message:String($)})}Q.removeConnection(Y),this.logger?.debug("disconnectSessionFromServer_complete",{sessionId:Q.sessionId,serverName:Y})}handleBackendDisconnect(Q,Y){let X=Q.taskManager.getTasksForServer(Y);for(let W of X)if(W.status==="working")Q.taskManager.failTask(W.taskId,"Server disconnected");Q.pendingRequests.rejectRequestsForServer(Y,"Server disconnected"),Q.eventSystem.addEvent("server_disconnected",Y,{name:Y}),this.logger?.info("session_server_disconnected",{sessionId:Q.sessionId,server:Y})}startCleanupInterval(){this.cleanupIntervalHandle=setInterval(()=>{this.runSessionCleanup()},this.config.cleanupIntervalMs)}runSessionCleanup(){let Q=Date.now(),Y=[];for(let[X,W]of this.sessions)if(Q-W.lastActivityAt.getTime()>=this.config.sessionTimeoutMs)Y.push(X);for(let X of Y)this.logger?.info("session_timeout_cleanup",{sessionId:X}),this.destroySession(X)}async shutdown(){if(this.logger?.info("session_manager_shutdown_start",{sessionCount:this.sessions.size}),this.cleanupIntervalHandle)clearInterval(this.cleanupIntervalHandle),this.cleanupIntervalHandle=null;for(let Q of Array.from(this.sessions.keys()))await this.destroySession(Q);this.logger?.info("session_manager_shutdown_complete",{})}getServerConfigs(){return this.serverConfigs}listSessionIds(){return Array.from(this.sessions.keys())}get sessionCount(){return this.sessions.size}}var qu={maxEvents:1000,retentionMs:300000};class kG{events=new Map;config;logger;constructor(Q={}){this.config={...qu,...Q},this.logger=Q.logger}storeEvent(Q,Y){let X=r0();return this.events.set(X,{streamId:Q,message:Y,createdAt:Date.now()}),this.logger?.debug("sse_event_stored",{eventId:X,streamId:Q,messageId:Y.id}),this.enforceLimit(),this.cleanupOldEvents(),Promise.resolve(X)}getStreamIdForEventId(Q){return Promise.resolve(this.events.get(Q)?.streamId)}async replayEventsAfter(Q,{send:Y}){this.logger?.debug("sse_replay_requested",{lastEventId:Q,totalEvents:this.events.size});let X=this.events.get(Q);if(!X)return this.logger?.debug("sse_replay_event_not_found",{lastEventId:Q}),"";let W=X.streamId,$=!1,J=0,G=[...this.events.keys()].sort();this.logger?.debug("sse_replay_scanning",{streamId:W,sortedIdsCount:G.length});for(let H of G){if(H===Q){$=!0;continue}if($){let B=this.events.get(H);if(B?.streamId===W)this.logger?.debug("sse_replaying_event",{eventId:H,streamId:W}),await Y(H,B.message),J++;else this.logger?.debug("sse_skip_different_stream",{eventId:H,eventStreamId:B?.streamId,targetStreamId:W})}}return this.logger?.debug("sse_replay_complete",{streamId:W,replayedCount:J}),W}enforceLimit(){if(this.events.size<=this.config.maxEvents)return;let Y=[...this.events.keys()].sort().slice(0,this.events.size-this.config.maxEvents);for(let X of Y)this.events.delete(X)}cleanupOldEvents(){let Q=Date.now()-this.config.retentionMs;for(let[Y,X]of this.events)if(X.createdAt<Q)this.events.delete(Y)}getEventCount(){return this.events.size}clear(){this.events.clear()}}function aj(Q){return"url"in Q&&!(("type"in Q)&&Q.type==="stdio")}function tj(Q){return"type"in Q}var sj={debug:0,info:1,warn:2,error:3};function ej(Q="info"){let Y=sj[Q],X=(W,$,J)=>{if(sj[W]<Y)return;let G=new Date().toISOString(),H=J?` ${JSON.stringify(J)}`:"";switch(W){case"debug":console.debug(`[${G}] DEBUG ${$}${H}`);break;case"info":console.info(`[${G}] INFO ${$}${H}`);break;case"warn":console.warn(`[${G}] WARN ${$}${H}`);break;case"error":console.error(`[${G}] ERROR ${$}${H}`);break}};return{debug:(W,$)=>{X("debug",W,$)},info:(W,$)=>{X("info",W,$)},warn:(W,$)=>{X("warn",W,$)},error:(W,$)=>{X("error",W,$)}}}var Mu={maxRequestsPerSession:100,maxTotalRequests:1000};class _G{requests=new Map;sessionRequests=new Map;config;logger;constructor(Q={}){this.config={...Mu,...Q},this.logger=Q.logger}startRequest(Q,Y,X,W={}){let $=r0(),J={requestId:$,sessionId:Q,type:Y,name:X,server:W.server,args:W.args,startedAt:new Date,status:"pending"};this.requests.set($,J);let G=this.sessionRequests.get(Q)??[];return G.push($),this.sessionRequests.set(Q,G),this.logger?.debug("request_started",{requestId:$,sessionId:Q,type:Y,name:X,server:W.server}),this.enforceSessionLimit(Q),this.enforceTotalLimit(),$}completeRequest(Q,Y){let X=this.requests.get(Q);if(!X)return;X.status="completed",X.endedAt=new Date,X.durationMs=X.endedAt.getTime()-X.startedAt.getTime(),X.resultSummary=Y,this.logger?.debug("request_completed",{requestId:Q,sessionId:X.sessionId,type:X.type,name:X.name,server:X.server,durationMs:X.durationMs})}failRequest(Q,Y){let X=this.requests.get(Q);if(!X)return;X.status="failed",X.endedAt=new Date,X.durationMs=X.endedAt.getTime()-X.startedAt.getTime(),X.error=Y,this.logger?.debug("request_failed",{requestId:Q,sessionId:X.sessionId,type:X.type,name:X.name,server:X.server,durationMs:X.durationMs,error:Y})}timeoutRequest(Q){let Y=this.requests.get(Q);if(!Y)return;Y.status="timeout",Y.endedAt=new Date,Y.durationMs=Y.endedAt.getTime()-Y.startedAt.getTime(),this.logger?.debug("request_timeout",{requestId:Q,sessionId:Y.sessionId,type:Y.type,name:Y.name,server:Y.server,durationMs:Y.durationMs})}getSessionRequests(Q){return(this.sessionRequests.get(Q)??[]).map((X)=>this.requests.get(X)).filter((X)=>X!==void 0)}getAllRequests(){return Array.from(this.requests.values())}getRequestsBySession(){let Q=new Map;for(let[Y]of this.sessionRequests)Q.set(Y,this.getSessionRequests(Y));return Q}clearSession(Q){let Y=this.sessionRequests.get(Q)??[];for(let X of Y)this.requests.delete(X);this.sessionRequests.delete(Q)}getStats(){let Q={pending:0,completed:0,failed:0,timeout:0},Y={};for(let X of this.requests.values())Q[X.status]++,Y[X.type]=(Y[X.type]??0)+1;return{totalRequests:this.requests.size,sessionCount:this.sessionRequests.size,byStatus:Q,byType:Y}}enforceSessionLimit(Q){let Y=this.sessionRequests.get(Q);if(!Y||Y.length<=this.config.maxRequestsPerSession)return;let X=Y.length-this.config.maxRequestsPerSession,W=Y.splice(0,X);for(let $ of W)this.requests.delete($)}enforceTotalLimit(){if(this.requests.size<=this.config.maxTotalRequests)return;let Q=Array.from(this.requests.values()).sort((X,W)=>X.startedAt.getTime()-W.startedAt.getTime()),Y=this.requests.size-this.config.maxTotalRequests;for(let X=0;X<Y;X++){let W=Q[X];if(W){this.requests.delete(W.requestId);let $=this.sessionRequests.get(W.sessionId);if($){let J=$.indexOf(W.requestId);if(J>=0)$.splice(J,1)}}}}}function Yw(Q){let Y=Q.getRequestsBySession(),X=Q.getStats(),W=1/0,$=0;for(let G of Y.values())for(let H of G){W=Math.min(W,H.startedAt.getTime());let B=H.endedAt?.getTime()??Date.now();$=Math.max($,B)}if(W===1/0)W=Date.now()-60000,$=Date.now();let J=Math.max($-W,1000);return`<!DOCTYPE html>
66
66
  <html>
67
67
  <head>
68
68
  <title>MCP Proxy - Request Waterfall</title>
@@ -228,23 +228,23 @@ data:
228
228
  <div class="stats">
229
229
  <div class="stat">
230
230
  <div class="stat-label">Total Requests</div>
231
- <div class="stat-value">${String(Y.totalRequests)}</div>
231
+ <div class="stat-value">${String(X.totalRequests)}</div>
232
232
  </div>
233
233
  <div class="stat">
234
234
  <div class="stat-label">Sessions</div>
235
- <div class="stat-value">${String(Y.sessionCount)}</div>
235
+ <div class="stat-value">${String(X.sessionCount)}</div>
236
236
  </div>
237
237
  <div class="stat">
238
238
  <div class="stat-label">Pending</div>
239
- <div class="stat-value">${String(Y.byStatus.pending)}</div>
239
+ <div class="stat-value">${String(X.byStatus.pending)}</div>
240
240
  </div>
241
241
  <div class="stat">
242
242
  <div class="stat-label">Completed</div>
243
- <div class="stat-value">${String(Y.byStatus.completed)}</div>
243
+ <div class="stat-value">${String(X.byStatus.completed)}</div>
244
244
  </div>
245
245
  <div class="stat">
246
246
  <div class="stat-label">Failed</div>
247
- <div class="stat-value">${String(Y.byStatus.failed)}</div>
247
+ <div class="stat-value">${String(X.byStatus.failed)}</div>
248
248
  </div>
249
249
  </div>
250
250
 
@@ -255,9 +255,9 @@ data:
255
255
  <div class="legend-item"><div class="legend-color timeout"></div> Timeout</div>
256
256
  </div>
257
257
 
258
- ${Qu(X,W,J)}
258
+ ${bu(Y,W,J)}
259
259
  </body>
260
- </html>`}function Qu(Q,X,Y){if(Q.size===0)return'<div class="no-requests">No requests yet. Make some MCP tool calls to see them here.</div>';let W=[],$=Array.from(Q.entries()).sort((J,G)=>{let H=Math.max(...J[1].map((z)=>z.startedAt.getTime()));return Math.max(...G[1].map((z)=>z.startedAt.getTime()))-H});for(let[J,G]of $){let H=[...G].sort((B,z)=>B.startedAt.getTime()-z.startedAt.getTime());W.push(`
260
+ </html>`}function bu(Q,Y,X){if(Q.size===0)return'<div class="no-requests">No requests yet. Make some MCP tool calls to see them here.</div>';let W=[],$=Array.from(Q.entries()).sort((J,G)=>{let H=Math.max(...J[1].map((z)=>z.startedAt.getTime()));return Math.max(...G[1].map((z)=>z.startedAt.getTime()))-H});for(let[J,G]of $){let H=[...G].sort((B,z)=>B.startedAt.getTime()-z.startedAt.getTime());W.push(`
261
261
  <div class="session">
262
262
  <div class="session-header">
263
263
  <span class="session-id">${J}</span>
@@ -266,15 +266,15 @@ data:
266
266
  <div class="waterfall">
267
267
  <div class="timeline-markers">
268
268
  <span>0ms</span>
269
- <span>${String(Math.round(Y/2))}ms</span>
270
- <span>${String(Math.round(Y))}ms</span>
269
+ <span>${String(Math.round(X/2))}ms</span>
270
+ <span>${String(Math.round(X))}ms</span>
271
271
  </div>
272
- ${H.map((B)=>Xu(B,X,Y)).join("")}
272
+ ${H.map((B)=>Zu(B,Y,X)).join("")}
273
273
  </div>
274
274
  </div>
275
- `)}return W.join("")}function Xu(Q,X,Y){let W=Q.startedAt.getTime()-X,$=Q.durationMs??Date.now()-Q.startedAt.getTime(),J=W/Y*100,G=Math.max($/Y*100,0.5),H=Q.server?`${Q.server}:${Q.name}`:Q.name,B=Yu(Q.type),z=Q.status==="pending"?"...":`${String($)}ms`;return`
276
- <div class="request-row" title="${uj(JSON.stringify(Q.args??{}))}">
277
- <div class="request-name">${uj(H)}</div>
275
+ `)}return W.join("")}function Zu(Q,Y,X){let W=Q.startedAt.getTime()-Y,$=Q.durationMs??Date.now()-Q.startedAt.getTime(),J=W/X*100,G=Math.max($/X*100,0.5),H=Q.server?`${Q.server}:${Q.name}`:Q.name,B=Pu(Q.type),z=Q.status==="pending"?"...":`${String($)}ms`;return`
276
+ <div class="request-row" title="${Qw(JSON.stringify(Q.args??{}))}">
277
+ <div class="request-name">${Qw(H)}</div>
278
278
  <div class="request-bar-container">
279
279
  <div class="request-bar ${Q.status}" style="left: ${String(J)}%; width: ${String(G)}%;">
280
280
  <span class="type-badge">${B}</span>
@@ -283,7 +283,12 @@ data:
283
283
  <span class="request-duration">${z}</span>
284
284
  </div>
285
285
  </div>
286
- `}function Yu(Q){switch(Q){case"tool_call":return"TOOL";case"resource_read":return"RES";case"prompt_get":return"PROMPT";case"backend_tool":return"B:TOOL";case"backend_resource":return"B:RES";case"backend_prompt":return"B:PROMPT";default:return Q.toUpperCase()}}function uj(Q){return Q.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function mj(Q){let X=Q.getRequestsBySession(),Y=Q.getStats(),W={};for(let[$,J]of X)W[$]=J;return{stats:Y,sessions:W,generatedAt:new Date().toISOString()}}function Ju(){let Q=process.argv.slice(2),X,Y=Number(process.env.PORT)||8080,W="info";for(let $=0;$<Q.length;$++){let J=Q[$];if(J==="--config"&&Q[$+1])X=Q[$+1],$++;else if(J?.startsWith("--config="))X=J.slice(9);else if(J==="--port"&&Q[$+1])Y=Number(Q[$+1]),$++;else if(J?.startsWith("--port="))Y=Number(J.slice(7));else if(J==="--log-level"&&Q[$+1])W=Q[$+1],$++;else if(J?.startsWith("--log-level="))W=J.slice(12)}return{configPath:X,port:Y,logLevel:W}}function Gu(Q){let X=$u(Q,"utf-8");return JSON.parse(X)}function H0(Q,X,Y){let W=X.sessionId;if(!W)return;let $=Y.get(W);if(!$)return;return Q.getSession($)}function cj(Q){let X=Q.pendingRequests.getPendingSamplingRequests().length,Y=Q.pendingRequests.getPendingElicitationRequests().length,W=Q.timerManager.getAndClearExpired(),$=Q.bufferManager.getAndClearNotifications(),J=X>0||Y>0,G=W.length>0,H=$.length>0;if(!J&&!G&&!H)return null;let B={};if(J)B.pending_client={sampling:X,elicitation:Y};if(G)B.expired_timers=W;if(H)B.notifications=$.map((z)=>({server:z.server,method:z.method,timestamp:z.timestamp.toISOString(),params:z.params}));return B}function pj(Q,X){if(!X)return Q;let Y=cj(X);if(!Y)return Q;return{...Q,content:[...Q.content,{type:"text",text:JSON.stringify(Y)}]}}function h(Q){return{content:[{type:"text",text:Q}],isError:!0}}function E0(Q,X){return pj({content:[{type:"text",text:Q}]},X)}function I0(Q,X){let Y={content:[{type:"text",text:JSON.stringify(Q,null,2)}]};return pj(Y,X)}function Hu(Q,X,Y,W){Q.registerTool("add_server",{description:`Connect to a backend MCP server. Supports two transport types:
286
+ `}function Pu(Q){switch(Q){case"tool_call":return"TOOL";case"resource_read":return"RES";case"prompt_get":return"PROMPT";case"backend_tool":return"B:TOOL";case"backend_resource":return"B:RES";case"backend_prompt":return"B:PROMPT";default:return Q.toUpperCase()}}function Qw(Q){return Q.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}function Xw(Q){let Y=Q.getRequestsBySession(),X=Q.getStats(),W={};for(let[$,J]of Y)W[$]=J;return{stats:X,sessions:W,generatedAt:new Date().toISOString()}}var I8={timeoutMs:30000,maxMcpCalls:100,maxCodeLength:102400};import{createContext as Ru,Script as Ww}from"vm";import{inspect as vG}from"util";var Eu=["process","require","module","exports","__dirname","__filename","global","globalThis","Buffer","setTimeout","setInterval","setImmediate","clearTimeout","clearInterval","clearImmediate","queueMicrotask","fetch","XMLHttpRequest","WebSocket","Request","Response","Headers","eval","Function","ArrayBuffer","SharedArrayBuffer","Atomics","WebAssembly","DataView","Proxy","Reflect"],Su=5000;function $w(Q){if(typeof Q==="string")return Q;if(typeof Q>"u")return"undefined";if(Q===null)return"null";if(typeof Q==="object")try{return vG(Q,{depth:3,colors:!1,maxArrayLength:50})}catch{return vG(Q)}if(typeof Q==="number"||typeof Q==="boolean"||typeof Q==="bigint")return Q.toString();if(typeof Q==="symbol")return Q.toString();if(typeof Q==="function")return"[Function]";return vG(Q)}function Jw(Q){return Q.map($w).join(" ")}function Iu(Q){let Y=(...X)=>{Q.push(Jw(X))};return{log:Y,warn:Y,error:Y,info:Y,debug:Y}}function Gw(Q,Y){let X={mcp:Q,console:Iu(Y.logs),JSON,Math,Date,Object,Array,String,Number,Boolean,RegExp,Error,TypeError,ReferenceError,SyntaxError,RangeError,URIError,EvalError,Map,Set,WeakMap,WeakSet,Symbol,Promise,Intl,isNaN,isFinite,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array,BigInt,...Object.fromEntries(Eu.map((W)=>[W,void 0]))};return Ru(X,{name:"codemode-sandbox",codeGeneration:{strings:!1,wasm:!1}})}function Hw(Q){return`
287
+ (async () => {
288
+ "use strict";
289
+ ${Q}
290
+ })()
291
+ `.trim()}function Tu(Q,Y){if(Q.length>Y)throw Error(`Code exceeds maximum length of ${String(Y)} bytes`);try{new Ww(Hw(Q))}catch(X){throw Error(`Syntax error in code: ${X.message}`)}}function Cu(Q){let Y;return{promise:new Promise(($,J)=>{Y=setTimeout(()=>{J(Error(`Execution timed out after ${String(Q)}ms`))},Q)}),clear:()=>{if(Y!==void 0)clearTimeout(Y),Y=void 0}}}function ku(Q){if(Q instanceof Error)return{name:Q.name,message:Q.message,stack:Q.stack};return{name:"Error",message:String(Q)}}function _u(Q){try{return JSON.stringify(Q),!0}catch{return!1}}function vu(Q){if(Q===void 0)return null;if(_u(Q))return Q;return $w(Q)}async function xG(Q,Y,X={}){let{config:W={},initialLogs:$=[]}=X,J={timeoutMs:W.timeoutMs??30000,maxMcpCalls:W.maxMcpCalls??100,maxCodeLength:W.maxCodeLength??102400},G=Date.now(),H={mcpCallCount:0,maxMcpCalls:J.maxMcpCalls,logs:[...$],startTime:G};try{Tu(Q,J.maxCodeLength);let B=xu(Y,H),z=Gw(B,H),K=Hw(Q),F=new Ww(K,{filename:"codemode-user-script.js"}).runInContext(z,{timeout:J.timeoutMs,breakOnSigint:!0}),A=Cu(J.timeoutMs);try{let D=await Promise.race([F,A.promise]);A.clear();let L=Date.now()-G;return{success:!0,result:vu(D),logs:H.logs,stats:{durationMs:L,mcpCalls:H.mcpCallCount}}}catch(D){throw A.clear(),D}}catch(B){let z=Date.now()-G;return{success:!1,error:ku(B),logs:H.logs,stats:{durationMs:z,mcpCalls:H.mcpCallCount}}}}function xu(Q,Y){let X=()=>{if(Y.mcpCallCount++,Y.mcpCallCount>Y.maxMcpCalls)throw Error(`Maximum mcp.* call limit exceeded (${String(Y.maxMcpCalls)})`)};return{listServers:async()=>{return X(),Q.listServers()},listTools:async(W)=>{return X(),Q.listTools(W)},callTool:async(W,$,J)=>{return X(),Q.callTool(W,$,J)},listResources:async(W)=>{return X(),Q.listResources(W)},listResourceTemplates:async(W)=>{return X(),Q.listResourceTemplates(W)},readResource:async(W,$)=>{return X(),Q.readResource(W,$)},listPrompts:async(W)=>{return X(),Q.listPrompts(W)},getPrompt:async(W,$,J)=>{return X(),Q.getPrompt(W,$,J)},sleep:async(W)=>{let $=Math.min(Math.max(0,W),Su);return new Promise((J)=>setTimeout(J,$))},log:(...W)=>{Y.logs.push(Jw(W))}}}function yu(Q,Y){return{server:Q,name:Y.name,description:Y.description,inputSchema:Y.inputSchema}}function fu(Q,Y){return{server:Q,uri:Y.uri,name:Y.name,description:Y.description,mimeType:Y.mimeType}}function hu(Q,Y){return{server:Q,uriTemplate:Y.uriTemplate,name:Y.name,description:Y.description,mimeType:Y.mimeType}}function gu(Q,Y){return{server:Q,name:Y.name,description:Y.description,arguments:Y.arguments?.map((X)=>({name:X.name,description:X.description,required:X.required}))}}function uu(Q){if(["connected","connecting","disconnected","reconnecting","error"].includes(Q))return Q;return"disconnected"}function Bw(Q,Y){if(!Y)return!0;try{return new RegExp(Y).test(Q)}catch{return Q===Y}}function A6(Q,Y){let X=[];for(let[W,$]of Q.backendConnections)if($.status==="connected"&&Bw(W,Y))X.push({name:W,client:$.client});return X}function tX(Q,Y){let X=Q.getConnection(Y);if(!X)throw Error(`Server '${Y}' not found`);if(X.status!=="connected")throw Error(`Server '${Y}' is not connected (status: ${X.status})`);return X.client}function yG(Q){let{session:Y,sessionManager:X,maxSleepMs:W=5000,warningLogs:$=[]}=Q;return{listServers:()=>{let G=X.listServers(Y.sessionId).map((H)=>{let K=Y.getConnection(H.name)?.client?.getInfo().capabilities;return{name:H.name,status:uu(H.status),capabilities:{tools:K?.tools??!1,resources:K?.resources??!1,prompts:K?.prompts??!1}}});return Promise.resolve(G)},listTools:async(J)=>{let G=A6(Y,J),H=[];for(let{name:B,client:z}of G)try{let K=await z.listTools();for(let V of K)H.push(yu(B,V))}catch(K){let V=K instanceof Error?K.message:String(K);$.push(`Warning: Failed to list tools from '${B}': ${V}`)}return H},callTool:async(J,G,H)=>{let z=await tX(Y,J).callTool(G,H);return{content:z.content.map((K)=>{let V={type:K.type};if(K.type==="text")V.text=K.text;if(K.type==="image")V.data=K.data,V.mimeType=K.mimeType;if(K.type==="resource"){let F=K;V.resource={uri:F.resource.uri,mimeType:F.resource.mimeType,text:F.resource.text,blob:F.resource.blob}}return V}),isError:z.isError}},listResources:async(J)=>{let G=A6(Y,J),H=[];for(let{name:B,client:z}of G)try{let K=await z.listResources();for(let V of K)H.push(fu(B,V))}catch(K){let V=K instanceof Error?K.message:String(K);$.push(`Warning: Failed to list resources from '${B}': ${V}`)}return H},listResourceTemplates:async(J)=>{let G=A6(Y,J),H=[];for(let{name:B,client:z}of G)try{let K=await z.listResourceTemplates();for(let V of K)H.push(hu(B,V))}catch(K){let V=K instanceof Error?K.message:String(K);$.push(`Warning: Failed to list resource templates from '${B}': ${V}`)}return H},readResource:async(J,G)=>{return{contents:(await tX(Y,J).readResource(G)).contents.map((z)=>({uri:z.uri,mimeType:z.mimeType,text:"text"in z?z.text:void 0,blob:"blob"in z?z.blob:void 0}))}},listPrompts:async(J)=>{let G=A6(Y,J),H=[];for(let{name:B,client:z}of G)try{let K=await z.listPrompts();for(let V of K)H.push(gu(B,V))}catch(K){let V=K instanceof Error?K.message:String(K);$.push(`Warning: Failed to list prompts from '${B}': ${V}`)}return H},getPrompt:async(J,G,H)=>{let z=await tX(Y,J).getPrompt(G,H);return{description:z.description,messages:z.messages.map((K)=>({role:K.role,content:{type:K.content.type,text:K.content.type==="text"?K.content.text:void 0,resource:K.content.type==="resource"?K.content.resource:void 0}}))}},sleep:async(J)=>{let G=Math.min(Math.max(0,J),W);return new Promise((H)=>setTimeout(H,G))},log:(...J)=>{let G=J.map((H)=>{if(typeof H==="string")return H;try{return JSON.stringify(H)}catch{return String(H)}}).join(" ");$.push(G)}}}function lu(Q){try{return new RegExp(Q,"i")}catch{let Y=Q.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");try{return new RegExp(Y,"i")}catch{return null}}}function m6(Q,Y){if(!Q)return!1;return Y.test(Q)}function sX(Q,Y){if(!Y)return!0;try{return new RegExp(Y,"i").test(Q)}catch{return Q.toLowerCase()===Y.toLowerCase()}}async function fG(Q,Y){let{session:X,sessionManager:W}=Y,{query:$,type:J,server:G,includeSchemas:H}=Q,B=lu($);if(!B)return{};let z={};if(J==="tools"||J==="all")z.tools=await mu(X,B,G,H);if(J==="resources"||J==="all")z.resources=await cu(X,B,G);if(J==="prompts"||J==="all")z.prompts=await pu(X,B,G);if(J==="servers"||J==="all")z.servers=du(X,W,B,G);return z}async function mu(Q,Y,X,W){let $=[],J=A6(Q,X);for(let{name:G,client:H}of J){if(!sX(G,X))continue;try{let B=await H.listTools();for(let z of B)if(m6(z.name,Y)||m6(z.description,Y)){let K={server:G,name:z.name,description:z.description};if(W)K.inputSchema=z.inputSchema;$.push(K)}}catch{}}return $}async function cu(Q,Y,X){let W=[],$=A6(Q,X);for(let{name:J,client:G}of $){if(!sX(J,X))continue;try{let H=await G.listResources();for(let B of H)if(m6(B.name,Y)||m6(B.uri,Y)||m6(B.description,Y))W.push({server:J,uri:B.uri,name:B.name,description:B.description,mimeType:B.mimeType})}catch{}}return W}async function pu(Q,Y,X){let W=[],$=A6(Q,X);for(let{name:J,client:G}of $){if(!sX(J,X))continue;try{let H=await G.listPrompts();for(let B of H)if(m6(B.name,Y)||m6(B.description,Y))W.push({server:J,name:B.name,description:B.description,arguments:B.arguments?.map((z)=>({name:z.name,required:z.required}))})}catch{}}return W}function du(Q,Y,X,W){let $=[],J=Y.listServers(Q.sessionId);for(let G of J){if(!sX(G.name,W))continue;if(m6(G.name,X)){let z=Q.getConnection(G.name)?.client?.getInfo().capabilities;$.push({name:G.name,status:G.status,capabilities:{tools:z?.tools??!1,resources:z?.resources??!1,prompts:z?.prompts??!1}})}}return $}var eX=1000,Q7=300000,zw=30000;async function hG(Q,Y){let{session:X,sessionManager:W,config:$}=Y,{code:J,timeout:G}=Q,H=iu(G),B={...$,timeoutMs:H},z=[],K=yG({session:X,sessionManager:W,warningLogs:z});return await xG(J,K,{config:B,initialLogs:z})}function iu(Q){if(Q===void 0)return zw;return Math.min(Math.max(Q,eX),Q7)}function Kw(Q){if(!Q||Q.trim().length===0)return"Code cannot be empty";if(Q.length>I8.maxCodeLength)return`Code exceeds maximum length of ${String(I8.maxCodeLength)} bytes`;return null}function Vw(Q){if(Q===void 0)return null;if(typeof Q!=="number"||isNaN(Q))return"Timeout must be a number";if(Q<eX)return`Timeout must be at least ${String(eX)}ms`;if(Q>Q7)return`Timeout cannot exceed ${String(Q7)}ms`;return null}function gG(Q){let Y=Kw(Q.code);if(Y)return Y;let X=Vw(Q.timeout);if(X)return X;return null}var c6={MIN_TIMEOUT_MS:eX,MAX_TIMEOUT_MS:Q7,DEFAULT_TIMEOUT_MS:zw,MAX_CODE_LENGTH:I8.maxCodeLength,MAX_MCP_CALLS:I8.maxMcpCalls};function ru(){let Q=process.argv.slice(2),Y,X=Number(process.env.PORT)||8080,W="info";for(let $=0;$<Q.length;$++){let J=Q[$];if(J==="--config"&&Q[$+1])Y=Q[$+1],$++;else if(J?.startsWith("--config="))Y=J.slice(9);else if(J==="--port"&&Q[$+1])X=Number(Q[$+1]),$++;else if(J?.startsWith("--port="))X=Number(J.slice(7));else if(J==="--log-level"&&Q[$+1])W=Q[$+1],$++;else if(J?.startsWith("--log-level="))W=J.slice(12)}return{configPath:Y,port:X,logLevel:W}}function au(Q){let Y=ou(Q,"utf-8");return JSON.parse(Y)}function H0(Q,Y,X){let W=Y.sessionId;if(!W)return;let $=X.get(W);if(!$)return;return Q.getSession($)}function Fw(Q){let Y=Q.pendingRequests.getPendingSamplingRequests().length,X=Q.pendingRequests.getPendingElicitationRequests().length,W=Q.timerManager.getAndClearExpired(),$=Q.bufferManager.getAndClearNotifications(),J=Y>0||X>0,G=W.length>0,H=$.length>0;if(!J&&!G&&!H)return null;let B={};if(J)B.pending_client={sampling:Y,elicitation:X};if(G)B.expired_timers=W;if(H)B.notifications=$.map((z)=>({server:z.server,method:z.method,timestamp:z.timestamp.toISOString(),params:z.params}));return B}function Aw(Q,Y){if(!Y)return Q;let X=Fw(Y);if(!X)return Q;return{...Q,content:[...Q.content,{type:"text",text:JSON.stringify(X)}]}}function x(Q){return{content:[{type:"text",text:Q}],isError:!0}}function S0(Q,Y){return Aw({content:[{type:"text",text:Q}]},Y)}function P0(Q,Y){let X={content:[{type:"text",text:JSON.stringify(Q,null,2)}]};return Aw(X,Y)}function tu(Q,Y,X,W,$={}){let{codemodeEnabled:J=!0}=$;if(Q.registerTool("add_server",{description:`Connect to a backend MCP server. Supports two transport types:
287
292
 
288
293
  **HTTP Transport**: Provide a \`url\` to connect to a remote HTTP/SSE MCP server.
289
294
  Example: add_server(name: "myserver", url: "http://localhost:3001/mcp")
@@ -291,6 +296,6 @@ Example: add_server(name: "myserver", url: "http://localhost:3001/mcp")
291
296
  **Stdio Transport**: Provide \`command\` (and optionally \`args\`) to spawn a local MCP server process.
292
297
  Example: add_server(name: "myserver", command: "npx", args: ["some-mcp-server"])
293
298
 
294
- Stdio servers support automatic crash recovery with exponential backoff restart.`,inputSchema:{name:v.string().describe("Unique name for this server"),url:v.string().url().optional().describe("HTTP URL of the MCP server endpoint (for HTTP transport)"),headers:v.record(v.string()).optional().describe('Custom headers to send with HTTP requests (e.g., {"Authorization": "Bearer token"})'),command:v.string().optional().describe("Command to spawn (for stdio transport, e.g., 'node', 'npx', 'python')"),args:v.array(v.string()).optional().describe("Arguments for the command (for stdio transport)"),env:v.record(v.string()).optional().describe("Environment variables for the spawned process (stdio only)"),cwd:v.string().optional().describe("Working directory for the spawned process (stdio only)"),restartConfig:v.object({enabled:v.boolean().optional().describe("Enable automatic restart on crash (default: true)"),maxAttempts:v.number().optional().describe("Maximum restart attempts (default: 5)"),baseDelayMs:v.number().optional().describe("Base delay before restart in ms (default: 1000)"),maxDelayMs:v.number().optional().describe("Maximum delay between restarts in ms (default: 60000)"),backoffMultiplier:v.number().optional().describe("Backoff multiplier (default: 2)")}).optional().describe("Restart configuration for stdio servers")}},async({name:$,url:J,headers:G,command:H,args:B,env:z,cwd:K,restartConfig:V},A)=>{let F=H0(X,A,Y);if(!F)return h("Session not found");if(J&&H)return h("Provide either 'url' (for HTTP) or 'command' (for stdio), not both");if(!J&&!H)return h("Must provide either 'url' (for HTTP transport) or 'command' (for stdio transport)");try{let L,D;if(J)L=await X.addServer(F.sessionId,$,J,{headers:G}),D=J;else if(H)L=await X.addStdioServer(F.sessionId,$,H,B,{env:z,cwd:K,restartConfig:V}),D=`stdio://${H}${B?.length?` ${B.join(" ")}`:""}`;else return h("Internal error: no transport specified");let O=L.client.getInfo().capabilities;return E0(`Connected to server '${$}' at ${D}
295
- Capabilities: ${JSON.stringify(O)}`,F)}catch(L){let D=L instanceof Error?L.message:String(L);return h(`Failed to add server: ${D}`)}}),Q.registerTool("remove_server",{description:"Disconnect from a backend MCP server and remove it from the configuration. This disconnects ALL sessions from the server.",inputSchema:{name:v.string().describe("Name of the server to remove")}},async({name:$},J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");try{return await X.removeServer(G.sessionId,$),E0(`Disconnected from server '${$}'`,G)}catch(H){let B=H instanceof Error?H.message:String(H);return h(`Failed to remove server: ${B}`)}}),Q.registerTool("reconnect_server",{description:"Force reconnection to a backend MCP server. Works on connected, disconnected, or reconnecting servers. Cancels any pending reconnection and immediately attempts a fresh connection.",inputSchema:{name:v.string().describe("Name of the server to reconnect")}},async({name:$},J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");try{return await X.reconnectServer(G.sessionId,$),E0(`Reconnected to server '${$}'`,G)}catch(H){let B=H instanceof Error?H.message:String(H);return h(`Failed to reconnect: ${B}`)}}),Q.registerTool("list_servers",{description:"List all configured backend MCP servers with their connection status for this session",inputSchema:{}},($,J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");let H=X.listServers(G.sessionId);if(H.length===0)return E0("No servers configured",G);let B=H.map((z)=>{let K={name:z.name,url:z.url,status:z.status,connected:z.connected,connectedAt:z.connectedAt?.toISOString(),lastError:z.lastError};if(z.status==="reconnecting")K.reconnectAttempt=z.reconnectAttempt,K.nextRetryMs=z.nextRetryMs;if(z.status==="connected"){if(K.healthStatus=z.healthStatus,z.consecutiveHealthFailures!==void 0&&z.consecutiveHealthFailures>0)K.consecutiveHealthFailures=z.consecutiveHealthFailures}return K});return I0(B,G)}),Q.registerTool("list_tools",{description:"List tools available from backend servers",inputSchema:{server:v.string().default(".*").describe("Regex pattern to match server names (default: .*)"),tool:v.string().default(".*").describe("Regex pattern to match tool names (default: .*)")}},async({server:$,tool:J},G)=>{let H=H0(X,G,Y);if(!H)return h("Session not found");try{let B=new RegExp($),z=new RegExp(J),K=[];for(let V of H.listConnectedServers()){if(!B.test(V))continue;let A=H.getConnection(V);if(A?.status!=="connected")continue;try{let F=await A.client.listTools();for(let L of F)if(z.test(L.name))K.push({server:V,name:L.name,description:L.description,inputSchema:L.inputSchema})}catch{}}if(K.length===0)return E0("No tools available",H);return I0(K,H)}catch(B){let z=B instanceof Error?B.message:String(B);return h(`Failed to list tools: ${z}`)}}),Q.registerTool("execute_tool",{description:"Execute a tool on a specific backend server",inputSchema:{server:v.string().describe("Name of the backend server"),tool:v.string().describe("Name of the tool to execute"),args:v.record(v.unknown()).optional().describe("Arguments to pass to the tool")}},async({server:$,tool:J,args:G},H)=>{let B=H0(X,H,Y);if(!B)return h("Session not found");let z=B.getConnection($);if(z?.status==="reconnecting"){let V=z.client.getReconnectionState(),A=V?` (attempt ${String(V.attempt)}, next retry in ${String(V.nextRetryMs)}ms)`:"";return h(`Server '${$}' is reconnecting${A}. Use reconnect_server to force immediate reconnection or await_activity to wait for reconnection.`)}let K=W.startRequest(B.sessionId,"backend_tool",J,{server:$,args:G});try{let A=await(await X.getOrCreateConnection(B.sessionId,$)).callTool(J,G??{}),F=A.isError?"error":"ok";W.completeRequest(K,F);let L=cj(B);if(L)return{content:[...A.content,{type:"text",text:JSON.stringify(L)}],isError:A.isError};return{content:A.content,isError:A.isError}}catch(V){let A=V instanceof Error?V.message:String(V);return W.failRequest(K,A),h(`Failed to execute tool: ${A}`)}}),Q.registerTool("list_resources",{description:"List resources available from backend servers",inputSchema:{server:v.string().optional().describe("Server name to filter by (omit for all servers)")}},async({server:$},J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");try{let H=[],B=$?[$]:G.listConnectedServers();for(let z of B){let K=G.getConnection(z);if(K?.status!=="connected")continue;try{let V=await K.client.listResources();for(let A of V)H.push({server:z,uri:A.uri,name:A.name,description:A.description,mimeType:A.mimeType})}catch{}}if(H.length===0)return E0("No resources available",G);return I0(H,G)}catch(H){let B=H instanceof Error?H.message:String(H);return h(`Failed to list resources: ${B}`)}}),Q.registerTool("list_resource_templates",{description:"List resource templates available from backend servers. Templates define parameterized resources that can be read with specific arguments.",inputSchema:{server:v.string().optional().describe("Server name to filter by (omit for all servers)")}},async({server:$},J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");try{let H=[],B=$?[$]:G.listConnectedServers();for(let z of B){let K=G.getConnection(z);if(K?.status!=="connected")continue;try{let V=await K.client.listResourceTemplates();for(let A of V)H.push({server:z,uriTemplate:A.uriTemplate,name:A.name,description:A.description,mimeType:A.mimeType})}catch{}}if(H.length===0)return E0("No resource templates available",G);return I0(H,G)}catch(H){let B=H instanceof Error?H.message:String(H);return h(`Failed to list resource templates: ${B}`)}}),Q.registerTool("read_resource",{description:"Read a specific resource from a backend server",inputSchema:{server:v.string().describe("Name of the backend server"),uri:v.string().describe("URI of the resource to read")}},async({server:$,uri:J},G)=>{let H=H0(X,G,Y);if(!H)return h("Session not found");let B=W.startRequest(H.sessionId,"backend_resource",J,{server:$});try{let V=(await(await X.getOrCreateConnection(H.sessionId,$)).readResource(J)).contents.map((A)=>{if("text"in A&&typeof A.text==="string")return{uri:A.uri,mimeType:A.mimeType,text:A.text};else if("blob"in A&&typeof A.blob==="string")return{uri:A.uri,mimeType:A.mimeType,blob:`[base64 data, ${String(A.blob.length)} chars]`};return A});return W.completeRequest(B,`${String(V.length)} content(s)`),I0({contents:V},H)}catch(z){let K=z instanceof Error?z.message:String(z);return W.failRequest(B,K),h(`Failed to read resource: ${K}`)}}),Q.registerTool("subscribe_resource",{description:"Subscribe to updates for a specific resource. The server will send notifications when the resource changes. Use get_notifications or await_activity to receive updates.",inputSchema:{server:v.string().describe("Name of the backend server"),uri:v.string().describe("URI of the resource to subscribe to")}},async({server:$,uri:J},G)=>{let H=H0(X,G,Y);if(!H)return h("Session not found");try{let B=await X.getOrCreateConnection(H.sessionId,$);if(!B.supportsResourceSubscriptions())return h(`Server '${$}' does not support resource subscriptions`);return await B.subscribeResource(J),E0(`Subscribed to resource '${J}' on server '${$}'`,H)}catch(B){let z=B instanceof Error?B.message:String(B);return h(`Failed to subscribe to resource: ${z}`)}}),Q.registerTool("unsubscribe_resource",{description:"Unsubscribe from updates for a specific resource",inputSchema:{server:v.string().describe("Name of the backend server"),uri:v.string().describe("URI of the resource to unsubscribe from")}},async({server:$,uri:J},G)=>{let H=H0(X,G,Y);if(!H)return h("Session not found");try{let B=await X.getOrCreateConnection(H.sessionId,$);if(!B.supportsResourceSubscriptions())return h(`Server '${$}' does not support resource subscriptions`);return await B.unsubscribeResource(J),E0(`Unsubscribed from resource '${J}' on server '${$}'`,H)}catch(B){let z=B instanceof Error?B.message:String(B);return h(`Failed to unsubscribe from resource: ${z}`)}}),Q.registerTool("list_prompts",{description:"List prompts available from backend servers",inputSchema:{server:v.string().optional().describe("Server name to filter by (omit for all servers)")}},async({server:$},J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");try{let H=[],B=$?[$]:G.listConnectedServers();for(let z of B){let K=G.getConnection(z);if(K?.status!=="connected")continue;try{let V=await K.client.listPrompts();for(let A of V)H.push({server:z,name:A.name,description:A.description,arguments:A.arguments})}catch{}}if(H.length===0)return E0("No prompts available",G);return I0(H,G)}catch(H){let B=H instanceof Error?H.message:String(H);return h(`Failed to list prompts: ${B}`)}}),Q.registerTool("get_prompt",{description:"Get a specific prompt from a backend server",inputSchema:{server:v.string().describe("Name of the backend server"),name:v.string().describe("Name of the prompt to get"),arguments:v.record(v.string()).optional().describe("Arguments to pass to the prompt")}},async({server:$,name:J,arguments:G},H)=>{let B=H0(X,H,Y);if(!B)return h("Session not found");try{let K=await(await X.getOrCreateConnection(B.sessionId,$)).getPrompt(J,G??{});return I0(K,B)}catch(z){let K=z instanceof Error?z.message:String(z);return h(`Failed to get prompt: ${K}`)}}),Q.registerTool("get_notifications",{description:"Get and clear buffered notifications from backend servers for this session",inputSchema:{}},($,J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");let H=G.bufferManager.getAndClearNotifications();if(H.length===0)return E0("No notifications",G);let B=H.map((z)=>({server:z.server,method:z.method,timestamp:z.timestamp.toISOString(),params:z.params}));return I0(B,G)}),Q.registerTool("get_logs",{description:"Get and clear buffered log messages from backend servers for this session",inputSchema:{}},($,J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");let H=G.bufferManager.getAndClearLogs();if(H.length===0)return E0("No log messages",G);let B=H.map((z)=>({server:z.server,level:z.level,logger:z.logger,timestamp:z.timestamp.toISOString(),data:z.data}));return I0(B,G)}),Q.registerTool("get_sampling_requests",{description:"Get pending sampling requests from backend servers that need LLM responses. These are requests from MCP servers asking for LLM completions. URGENT: Backend servers are blocked waiting for these responses. You MUST respond promptly using respond_to_sampling.",inputSchema:{}},($,J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");let H=G.pendingRequests.getPendingSamplingRequests();if(H.length===0)return E0("No pending sampling requests",G);let B=H.map((z)=>({requestId:z.requestId,server:z.server,timestamp:z.timestamp.toISOString(),maxTokens:z.params.maxTokens,systemPrompt:z.params.systemPrompt,temperature:z.params.temperature,messages:z.params.messages,modelPreferences:z.params.modelPreferences,tools:z.params.tools?.map((K)=>({name:K.name,description:K.description}))}));return I0(B,G)}),Q.registerTool("respond_to_sampling",{description:"Respond to a pending sampling request with an LLM result",inputSchema:{request_id:v.string().describe("The ID of the sampling request to respond to"),role:v.enum(["user","assistant"]).describe("The role of the message"),content:v.string().describe("The text content of the response"),model:v.string().describe("The model that generated the response"),stop_reason:v.enum(["endTurn","maxTokens","stopSequence","toolUse"]).optional().describe("Why the model stopped generating")}},({request_id:$,role:J,content:G,model:H,stop_reason:B},z)=>{let K=H0(X,z,Y);if(!K)return h("Session not found");try{return K.pendingRequests.respondToSampling($,{role:J,content:{type:"text",text:G},model:H,stopReason:B}),E0(`Responded to sampling request '${$}'`,K)}catch(V){let A=V instanceof Error?V.message:String(V);return h(`Failed to respond: ${A}`)}}),Q.registerTool("cancel_sampling_request",{description:"Cancel a pending sampling request without responding. Use this when you want to ignore a request or if it seems to be part of a loop.",inputSchema:{request_id:v.string().describe("The ID of the sampling request to cancel"),reason:v.string().default("User cancelled").describe("Optional reason for cancellation")}},({request_id:$,reason:J},G)=>{let H=H0(X,G,Y);if(!H)return h("Session not found");try{return H.pendingRequests.cancelSampling($,J),E0(`Cancelled sampling request '${$}'`,H)}catch(B){let z=B instanceof Error?B.message:String(B);return h(`Failed to cancel: ${z}`)}}),Q.registerTool("get_elicitations",{description:"Get pending elicitation requests from backend servers that need user input. These are requests from MCP servers asking for form data or user confirmation. URGENT: Backend servers are blocked waiting for user responses. You MUST respond promptly using respond_to_elicitation or the request may time out.",inputSchema:{}},($,J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");let H=G.pendingRequests.getPendingElicitationRequests();if(H.length===0)return E0("No pending elicitation requests",G);let B=H.map((z)=>({requestId:z.requestId,server:z.server,timestamp:z.timestamp.toISOString(),mode:"mode"in z.params?z.params.mode:"form",message:z.params.message,requestedSchema:"requestedSchema"in z.params?z.params.requestedSchema:void 0,elicitationId:"elicitationId"in z.params?z.params.elicitationId:void 0,url:"url"in z.params?z.params.url:void 0}));return I0(B,G)}),Q.registerTool("respond_to_elicitation",{description:"Respond to a pending elicitation request with user input",inputSchema:{request_id:v.string().describe("The ID of the elicitation request to respond to"),action:v.enum(["accept","decline","cancel"]).describe("The user's action: accept (with content), decline, or cancel"),content:v.record(v.union([v.string(),v.number(),v.boolean(),v.array(v.string())])).optional().describe("The form field values (required if action is 'accept' for form mode)")}},({request_id:$,action:J,content:G},H)=>{let B=H0(X,H,Y);if(!B)return h("Session not found");try{return B.pendingRequests.respondToElicitation($,{action:J,content:G}),E0(`Responded to elicitation request '${$}' with action '${J}'`,B)}catch(z){let K=z instanceof Error?z.message:String(z);return h(`Failed to respond: ${K}`)}}),Q.registerTool("cancel_elicitation_request",{description:"Cancel a pending elicitation request without responding.",inputSchema:{request_id:v.string().describe("The ID of the elicitation request to cancel"),reason:v.string().default("User cancelled").describe("Optional reason for cancellation")}},({request_id:$,reason:J},G)=>{let H=H0(X,G,Y);if(!H)return h("Session not found");try{return H.pendingRequests.cancelElicitation($,J),E0(`Cancelled elicitation request '${$}'`,H)}catch(B){let z=B instanceof Error?B.message:String(B);return h(`Failed to cancel: ${z}`)}}),Q.registerTool("await_activity",{description:"Wait for activity (events, pending requests) or timeout. Use this to poll for changes efficiently instead of repeatedly calling get_* tools. IMPORTANT: If pending_client.sampling or pending_client.elicitation counts are non-zero, you MUST respond promptly - backend servers are blocked waiting.",inputSchema:{timeout_ms:v.number().min(100).max(900000).default(30000).describe("Maximum time to wait in milliseconds (100-900000, default: 30000)"),last_event_id:v.string().optional().describe("Only return events after this ID (for pagination/continuation)")}},async({timeout_ms:$,last_event_id:J},G)=>{let H=H0(X,G,Y);if(!H)return h("Session not found");let B=J?H.eventSystem.getEventsAfter(J):H.eventSystem.getNewEvents();if(B.length>0)return I0({triggered_by:"existing_events",events:B.map((K)=>({id:K.id,type:K.type,server:K.server,createdAt:K.createdAt.toISOString(),data:K.data})),pending_server:{tasks:H.taskManager.getAllTasks().map((K)=>({taskId:K.taskId,server:K.server,toolName:K.toolName,status:K.status}))},pending_client:{sampling:H.pendingRequests.getPendingSamplingRequests().length,elicitation:H.pendingRequests.getPendingElicitationRequests().length}},H);let z=await H.eventSystem.waitForActivity($);if(z){let K=H.eventSystem.getNewEvents();return I0({triggered_by:z.type,events:K.map((V)=>({id:V.id,type:V.type,server:V.server,createdAt:V.createdAt.toISOString(),data:V.data})),pending_server:{tasks:H.taskManager.getAllTasks().map((V)=>({taskId:V.taskId,server:V.server,toolName:V.toolName,status:V.status}))},pending_client:{sampling:H.pendingRequests.getPendingSamplingRequests().length,elicitation:H.pendingRequests.getPendingElicitationRequests().length}},H)}return I0({triggered_by:"timeout",events:[],pending_server:{tasks:H.taskManager.getAllTasks().map((K)=>({taskId:K.taskId,server:K.server,toolName:K.toolName,status:K.status}))},pending_client:{sampling:H.pendingRequests.getPendingSamplingRequests().length,elicitation:H.pendingRequests.getPendingElicitationRequests().length}},H)}),Q.registerTool("list_tasks",{description:"List proxy tasks (background tool executions that exceeded timeout)",inputSchema:{include_completed:v.boolean().default(!1).describe("Include completed/failed/cancelled tasks (default: false, only working tasks)"),server:v.string().optional().describe("Filter by server name")}},({include_completed:$,server:J},G)=>{let H=H0(X,G,Y);if(!H)return h("Session not found");let B=H.taskManager.getAllTasks($);if(J)B=B.filter((K)=>K.server===J);if(B.length===0)return E0("No tasks",H);let z=B.map((K)=>({taskId:K.taskId,server:K.server,toolName:K.toolName,status:K.status,createdAt:K.createdAt.toISOString(),lastUpdatedAt:K.lastUpdatedAt.toISOString(),error:K.error,hasResult:K.result!==void 0}));return I0(z,H)}),Q.registerTool("get_task",{description:"Get details of a specific task including its result if completed",inputSchema:{task_id:v.string().describe("The task ID to retrieve")}},({task_id:$},J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");let H=G.taskManager.getTask($);if(!H)return h(`Task '${$}' not found`);return I0({taskId:H.taskId,server:H.server,toolName:H.toolName,args:H.args,status:H.status,createdAt:H.createdAt.toISOString(),lastUpdatedAt:H.lastUpdatedAt.toISOString(),ttl:H.ttl,error:H.error,result:H.result},G)}),Q.registerTool("cancel_task",{description:"Cancel a working task",inputSchema:{task_id:v.string().describe("The task ID to cancel")}},({task_id:$},J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");if(G.taskManager.cancelTask($))return E0(`Task '${$}' cancelled`,G);else return h(`Task '${$}' not found or not in working state`)}),Q.registerTool("set_timer",{description:"Set a timer that will fire after a specified duration. When the timer expires, you'll receive a notification in the context info of subsequent tool responses, and it will also appear as a timer_expired event in await_activity.",inputSchema:{duration_ms:v.number().min(1).max(86400000).describe("Duration in milliseconds until the timer fires (max 24 hours)"),message:v.string().min(1).max(500).describe("Message to include in the notification when the timer fires"),interval:v.boolean().default(!1).describe("If true, timer repeats at the specified interval instead of firing once (default: false)")}},({duration_ms:$,message:J,interval:G},H)=>{let B=H0(X,H,Y);if(!B)return h("Session not found");try{let z=B.timerManager.createTimer($,J,G);return I0({timerId:z.id,message:z.message,durationMs:z.durationMs,interval:z.interval,createdAt:z.createdAt.toISOString(),expiresAt:z.expiresAt.toISOString()},B)}catch(z){let K=z instanceof Error?z.message:String(z);return h(`Failed to set timer: ${K}`)}}),Q.registerTool("list_timers",{description:"List all timers for this session",inputSchema:{include_inactive:v.boolean().default(!1).describe("Include expired and deleted timers (default: false, only active timers)")}},({include_inactive:$},J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");let H=G.timerManager.getAllTimers($);if(H.length===0)return E0("No timers",G);let B=H.map((z)=>({id:z.id,message:z.message,durationMs:z.durationMs,status:z.status,interval:z.interval,fireCount:z.fireCount,createdAt:z.createdAt.toISOString(),expiresAt:z.expiresAt.toISOString()}));return I0(B,G)}),Q.registerTool("get_timer",{description:"Get details of a specific timer",inputSchema:{timer_id:v.string().describe("The timer ID to retrieve")}},({timer_id:$},J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");let H=G.timerManager.getTimer($);if(!H)return h(`Timer '${$}' not found`);return I0({id:H.id,message:H.message,durationMs:H.durationMs,status:H.status,interval:H.interval,fireCount:H.fireCount,createdAt:H.createdAt.toISOString(),expiresAt:H.expiresAt.toISOString()},G)}),Q.registerTool("delete_timer",{description:"Delete a timer. Returns the timer details before deletion.",inputSchema:{timer_id:v.string().describe("The timer ID to delete")}},({timer_id:$},J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");let H=G.timerManager.deleteTimer($);if(!H)return h(`Timer '${$}' not found`);return I0({deleted:!0,timer:{id:H.id,message:H.message,durationMs:H.durationMs,status:H.status,interval:H.interval,fireCount:H.fireCount,createdAt:H.createdAt.toISOString(),expiresAt:H.expiresAt.toISOString()}},G)})}function Bu(){let{configPath:Q,port:X,logLevel:Y}=Ju(),W=hj(Y);W.info("Starting MCP Proxy Server",{port:X,configPath:Q});let $=new bG({logger:W,sessionTimeoutMs:86400000,cleanupIntervalMs:3600000});if(Q)try{let V=Gu(Q);W.info("Loading servers from config",{count:V.servers.length,path:Q});for(let A of V.servers)if(yj(A))W.info("Adding HTTP server config",{name:A.name,url:A.url}),$.getServerConfigs().addConfig(A.name,A.url);else if(fj(A))W.info("Adding stdio server config",{name:A.name,command:A.command}),$.getServerConfigs().addStdioConfig(A.name,A.command,A.args,{env:A.env,cwd:A.cwd,restartConfig:A.restartConfig})}catch(V){W.error("Failed to load config",{error:V instanceof Error?V.message:String(V)}),process.exit(1)}let J=new ZG({logger:W}),G=new _J({name:"emceepee",version:"0.2.0"}),H=new Map,B=new Map;Hu(G,$,H,J);let z=Wu((V,A)=>{let F=V.headers.host??"localhost",L=new URL(V.url??"/",`http://${F}`);if(L.pathname==="/waterfall"||L.pathname==="/waterfall/"){A.writeHead(200,{"Content-Type":"text/html"}),A.end(lj(J));return}if(L.pathname==="/waterfall/json"){A.writeHead(200,{"Content-Type":"application/json"}),A.end(JSON.stringify(mj(J),null,2));return}if(L.pathname!=="/mcp"){A.writeHead(404,{"Content-Type":"application/json"}),A.end(JSON.stringify({error:"Not found. Available endpoints: /mcp, /waterfall, /waterfall/json"}));return}let D=V.headers["mcp-session-id"];if(V.method==="POST"){let O=D?B.get(D):void 0;if(!O){if(D)W.warn("transport_not_found_for_session",{transportSessionId:D,transportCount:B.size,knownTransports:Array.from(B.keys())});let U=new PG({logger:W}),w=new lJ({sessionIdGenerator:()=>crypto.randomUUID(),eventStore:U,onsessioninitialized:(M)=>{B.set(M,w),$.createSession().then((S)=>{H.set(M,S.sessionId),W.info("Session created",{transportSessionId:M,sessionId:S.sessionId})})}});O=w,G.connect(w)}else{W.debug("using_existing_transport",{transportSessionId:D});let U=H.get(D??"");if(U)$.touchSession(U)}O.handleRequest(V,A)}else if(V.method==="GET"){if(!D){A.writeHead(400,{"Content-Type":"application/json"}),A.end(JSON.stringify({error:"Missing mcp-session-id header"}));return}let O=B.get(D);if(!O){A.writeHead(404,{"Content-Type":"application/json"}),A.end(JSON.stringify({error:"Session not found"}));return}A.on("close",()=>{W.info("sse_connection_closed",{transportSessionId:D});let w=B.get(D);if(w){w.close(),B.delete(D);let M=H.get(D);if(M)$.destroySession(M),H.delete(D),W.info("session_closed_via_sse",{transportSessionId:D,sessionId:M})}});let U=V.headers["last-event-id"]!==void 0;if(O.handleRequest(V,A),!U)setTimeout(()=>{W.debug("sending_sse_priming_notification",{transportSessionId:D}),G.sendToolListChanged()},100)}else if(V.method==="DELETE"){if(D&&B.has(D)){B.get(D)?.close(),B.delete(D);let U=H.get(D);if(U)$.destroySession(U),H.delete(D);W.info("Session closed",{transportSessionId:D})}A.writeHead(200),A.end()}else A.writeHead(405,{"Content-Type":"application/json"}),A.end(JSON.stringify({error:"Method not allowed"}))}),K=async()=>{W.info("Shutting down...",{});for(let V of B.values())V.close();await $.shutdown(),z.close(),process.exit(0)};process.on("SIGINT",()=>void K()),process.on("SIGTERM",()=>void K()),z.listen(X,()=>{W.info("Server started",{url:`http://localhost:${String(X)}/mcp`}),console.log(`MCP Proxy Server running at http://localhost:${String(X)}/mcp`),console.log(`Waterfall UI available at http://localhost:${String(X)}/waterfall`),console.log(`
296
- Available tools:`),console.log(" Server management: add_server, remove_server, reconnect_server, list_servers"),console.log(" Tools: list_tools, execute_tool"),console.log(" Resources: list_resources, list_resource_templates, read_resource, subscribe_resource, unsubscribe_resource"),console.log(" Prompts: list_prompts, get_prompt"),console.log(" Notifications: get_notifications, get_logs"),console.log(" Sampling: get_sampling_requests, respond_to_sampling"),console.log(" Elicitation: get_elicitations, respond_to_elicitation"),console.log(" Activity: await_activity"),console.log(" Tasks: list_tasks, get_task, cancel_task")})}Bu();
299
+ Stdio servers support automatic crash recovery with exponential backoff restart.`,inputSchema:{name:k.string().describe("Unique name for this server"),url:k.string().url().optional().describe("HTTP URL of the MCP server endpoint (for HTTP transport)"),headers:k.record(k.string()).optional().describe('Custom headers to send with HTTP requests (e.g., {"Authorization": "Bearer token"})'),command:k.string().optional().describe("Command to spawn (for stdio transport, e.g., 'node', 'npx', 'python')"),args:k.array(k.string()).optional().describe("Arguments for the command (for stdio transport)"),env:k.record(k.string()).optional().describe("Environment variables for the spawned process (stdio only)"),cwd:k.string().optional().describe("Working directory for the spawned process (stdio only)"),restartConfig:k.object({enabled:k.boolean().optional().describe("Enable automatic restart on crash (default: true)"),maxAttempts:k.number().optional().describe("Maximum restart attempts (default: 5)"),baseDelayMs:k.number().optional().describe("Base delay before restart in ms (default: 1000)"),maxDelayMs:k.number().optional().describe("Maximum delay between restarts in ms (default: 60000)"),backoffMultiplier:k.number().optional().describe("Backoff multiplier (default: 2)")}).optional().describe("Restart configuration for stdio servers")}},async({name:G,url:H,headers:B,command:z,args:K,env:V,cwd:F,restartConfig:A},D)=>{let L=H0(Y,D,X);if(!L)return x("Session not found");if(H&&z)return x("Provide either 'url' (for HTTP) or 'command' (for stdio), not both");if(!H&&!z)return x("Must provide either 'url' (for HTTP transport) or 'command' (for stdio transport)");try{let O,U;if(H)O=await Y.addServer(L.sessionId,G,H,{headers:B}),U=H;else if(z)O=await Y.addStdioServer(L.sessionId,G,z,K,{env:V,cwd:F,restartConfig:A}),U=`stdio://${z}${K?.length?` ${K.join(" ")}`:""}`;else return x("Internal error: no transport specified");let N=O.client.getInfo().capabilities;return S0(`Connected to server '${G}' at ${U}
300
+ Capabilities: ${JSON.stringify(N)}`,L)}catch(O){let U=O instanceof Error?O.message:String(O);return x(`Failed to add server: ${U}`)}}),Q.registerTool("remove_server",{description:"Disconnect from a backend MCP server and remove it from the configuration. This disconnects ALL sessions from the server.",inputSchema:{name:k.string().describe("Name of the server to remove")}},async({name:G},H)=>{let B=H0(Y,H,X);if(!B)return x("Session not found");try{return await Y.removeServer(B.sessionId,G),S0(`Disconnected from server '${G}'`,B)}catch(z){let K=z instanceof Error?z.message:String(z);return x(`Failed to remove server: ${K}`)}}),Q.registerTool("reconnect_server",{description:"Force reconnection to a backend MCP server. Works on connected, disconnected, or reconnecting servers. Cancels any pending reconnection and immediately attempts a fresh connection.",inputSchema:{name:k.string().describe("Name of the server to reconnect")}},async({name:G},H)=>{let B=H0(Y,H,X);if(!B)return x("Session not found");try{return await Y.reconnectServer(B.sessionId,G),S0(`Reconnected to server '${G}'`,B)}catch(z){let K=z instanceof Error?z.message:String(z);return x(`Failed to reconnect: ${K}`)}}),Q.registerTool("list_servers",{description:"List all configured backend MCP servers with their connection status for this session",inputSchema:{}},(G,H)=>{let B=H0(Y,H,X);if(!B)return x("Session not found");let z=Y.listServers(B.sessionId);if(z.length===0)return S0("No servers configured",B);let K=z.map((V)=>{let F={name:V.name,url:V.url,status:V.status,connected:V.connected,connectedAt:V.connectedAt?.toISOString(),lastError:V.lastError};if(V.status==="reconnecting")F.reconnectAttempt=V.reconnectAttempt,F.nextRetryMs=V.nextRetryMs;if(V.status==="connected"){if(F.healthStatus=V.healthStatus,V.consecutiveHealthFailures!==void 0&&V.consecutiveHealthFailures>0)F.consecutiveHealthFailures=V.consecutiveHealthFailures}return F});return P0(K,B)}),Q.registerTool("list_tools",{description:"List tools available from backend servers",inputSchema:{server:k.string().default(".*").describe("Regex pattern to match server names (default: .*)"),tool:k.string().default(".*").describe("Regex pattern to match tool names (default: .*)")}},async({server:G,tool:H},B)=>{let z=H0(Y,B,X);if(!z)return x("Session not found");try{let K=new RegExp(G),V=new RegExp(H),F=[];for(let A of z.listConnectedServers()){if(!K.test(A))continue;let D=z.getConnection(A);if(D?.status!=="connected")continue;try{let L=await D.client.listTools();for(let O of L)if(V.test(O.name))F.push({server:A,name:O.name,description:O.description,inputSchema:O.inputSchema})}catch{}}if(F.length===0)return S0("No tools available",z);return P0(F,z)}catch(K){let V=K instanceof Error?K.message:String(K);return x(`Failed to list tools: ${V}`)}}),Q.registerTool("execute_tool",{description:"Execute a tool on a specific backend server",inputSchema:{server:k.string().describe("Name of the backend server"),tool:k.string().describe("Name of the tool to execute"),args:k.record(k.unknown()).optional().describe("Arguments to pass to the tool")}},async({server:G,tool:H,args:B},z)=>{let K=H0(Y,z,X);if(!K)return x("Session not found");let V=K.getConnection(G);if(V?.status==="reconnecting"){let A=V.client.getReconnectionState(),D=A?` (attempt ${String(A.attempt)}, next retry in ${String(A.nextRetryMs)}ms)`:"";return x(`Server '${G}' is reconnecting${D}. Use reconnect_server to force immediate reconnection or await_activity to wait for reconnection.`)}let F=W.startRequest(K.sessionId,"backend_tool",H,{server:G,args:B});try{let D=await(await Y.getOrCreateConnection(K.sessionId,G)).callTool(H,B??{}),L=D.isError?"error":"ok";W.completeRequest(F,L);let O=Fw(K);if(O)return{content:[...D.content,{type:"text",text:JSON.stringify(O)}],isError:D.isError};return{content:D.content,isError:D.isError}}catch(A){let D=A instanceof Error?A.message:String(A);return W.failRequest(F,D),x(`Failed to execute tool: ${D}`)}}),Q.registerTool("list_resources",{description:"List resources available from backend servers",inputSchema:{server:k.string().optional().describe("Server name to filter by (omit for all servers)")}},async({server:G},H)=>{let B=H0(Y,H,X);if(!B)return x("Session not found");try{let z=[],K=G?[G]:B.listConnectedServers();for(let V of K){let F=B.getConnection(V);if(F?.status!=="connected")continue;try{let A=await F.client.listResources();for(let D of A)z.push({server:V,uri:D.uri,name:D.name,description:D.description,mimeType:D.mimeType})}catch{}}if(z.length===0)return S0("No resources available",B);return P0(z,B)}catch(z){let K=z instanceof Error?z.message:String(z);return x(`Failed to list resources: ${K}`)}}),Q.registerTool("list_resource_templates",{description:"List resource templates available from backend servers. Templates define parameterized resources that can be read with specific arguments.",inputSchema:{server:k.string().optional().describe("Server name to filter by (omit for all servers)")}},async({server:G},H)=>{let B=H0(Y,H,X);if(!B)return x("Session not found");try{let z=[],K=G?[G]:B.listConnectedServers();for(let V of K){let F=B.getConnection(V);if(F?.status!=="connected")continue;try{let A=await F.client.listResourceTemplates();for(let D of A)z.push({server:V,uriTemplate:D.uriTemplate,name:D.name,description:D.description,mimeType:D.mimeType})}catch{}}if(z.length===0)return S0("No resource templates available",B);return P0(z,B)}catch(z){let K=z instanceof Error?z.message:String(z);return x(`Failed to list resource templates: ${K}`)}}),Q.registerTool("read_resource",{description:"Read a specific resource from a backend server",inputSchema:{server:k.string().describe("Name of the backend server"),uri:k.string().describe("URI of the resource to read")}},async({server:G,uri:H},B)=>{let z=H0(Y,B,X);if(!z)return x("Session not found");let K=W.startRequest(z.sessionId,"backend_resource",H,{server:G});try{let A=(await(await Y.getOrCreateConnection(z.sessionId,G)).readResource(H)).contents.map((D)=>{if("text"in D&&typeof D.text==="string")return{uri:D.uri,mimeType:D.mimeType,text:D.text};else if("blob"in D&&typeof D.blob==="string")return{uri:D.uri,mimeType:D.mimeType,blob:`[base64 data, ${String(D.blob.length)} chars]`};return D});return W.completeRequest(K,`${String(A.length)} content(s)`),P0({contents:A},z)}catch(V){let F=V instanceof Error?V.message:String(V);return W.failRequest(K,F),x(`Failed to read resource: ${F}`)}}),Q.registerTool("subscribe_resource",{description:"Subscribe to updates for a specific resource. The server will send notifications when the resource changes. Use get_notifications or await_activity to receive updates.",inputSchema:{server:k.string().describe("Name of the backend server"),uri:k.string().describe("URI of the resource to subscribe to")}},async({server:G,uri:H},B)=>{let z=H0(Y,B,X);if(!z)return x("Session not found");try{let K=await Y.getOrCreateConnection(z.sessionId,G);if(!K.supportsResourceSubscriptions())return x(`Server '${G}' does not support resource subscriptions`);return await K.subscribeResource(H),S0(`Subscribed to resource '${H}' on server '${G}'`,z)}catch(K){let V=K instanceof Error?K.message:String(K);return x(`Failed to subscribe to resource: ${V}`)}}),Q.registerTool("unsubscribe_resource",{description:"Unsubscribe from updates for a specific resource",inputSchema:{server:k.string().describe("Name of the backend server"),uri:k.string().describe("URI of the resource to unsubscribe from")}},async({server:G,uri:H},B)=>{let z=H0(Y,B,X);if(!z)return x("Session not found");try{let K=await Y.getOrCreateConnection(z.sessionId,G);if(!K.supportsResourceSubscriptions())return x(`Server '${G}' does not support resource subscriptions`);return await K.unsubscribeResource(H),S0(`Unsubscribed from resource '${H}' on server '${G}'`,z)}catch(K){let V=K instanceof Error?K.message:String(K);return x(`Failed to unsubscribe from resource: ${V}`)}}),Q.registerTool("list_prompts",{description:"List prompts available from backend servers",inputSchema:{server:k.string().optional().describe("Server name to filter by (omit for all servers)")}},async({server:G},H)=>{let B=H0(Y,H,X);if(!B)return x("Session not found");try{let z=[],K=G?[G]:B.listConnectedServers();for(let V of K){let F=B.getConnection(V);if(F?.status!=="connected")continue;try{let A=await F.client.listPrompts();for(let D of A)z.push({server:V,name:D.name,description:D.description,arguments:D.arguments})}catch{}}if(z.length===0)return S0("No prompts available",B);return P0(z,B)}catch(z){let K=z instanceof Error?z.message:String(z);return x(`Failed to list prompts: ${K}`)}}),Q.registerTool("get_prompt",{description:"Get a specific prompt from a backend server",inputSchema:{server:k.string().describe("Name of the backend server"),name:k.string().describe("Name of the prompt to get"),arguments:k.record(k.string()).optional().describe("Arguments to pass to the prompt")}},async({server:G,name:H,arguments:B},z)=>{let K=H0(Y,z,X);if(!K)return x("Session not found");try{let F=await(await Y.getOrCreateConnection(K.sessionId,G)).getPrompt(H,B??{});return P0(F,K)}catch(V){let F=V instanceof Error?V.message:String(V);return x(`Failed to get prompt: ${F}`)}}),Q.registerTool("get_notifications",{description:"Get and clear buffered notifications from backend servers for this session",inputSchema:{}},(G,H)=>{let B=H0(Y,H,X);if(!B)return x("Session not found");let z=B.bufferManager.getAndClearNotifications();if(z.length===0)return S0("No notifications",B);let K=z.map((V)=>({server:V.server,method:V.method,timestamp:V.timestamp.toISOString(),params:V.params}));return P0(K,B)}),Q.registerTool("get_logs",{description:"Get and clear buffered log messages from backend servers for this session",inputSchema:{}},(G,H)=>{let B=H0(Y,H,X);if(!B)return x("Session not found");let z=B.bufferManager.getAndClearLogs();if(z.length===0)return S0("No log messages",B);let K=z.map((V)=>({server:V.server,level:V.level,logger:V.logger,timestamp:V.timestamp.toISOString(),data:V.data}));return P0(K,B)}),Q.registerTool("get_sampling_requests",{description:"Get pending sampling requests from backend servers that need LLM responses. These are requests from MCP servers asking for LLM completions. URGENT: Backend servers are blocked waiting for these responses. You MUST respond promptly using respond_to_sampling.",inputSchema:{}},(G,H)=>{let B=H0(Y,H,X);if(!B)return x("Session not found");let z=B.pendingRequests.getPendingSamplingRequests();if(z.length===0)return S0("No pending sampling requests",B);let K=z.map((V)=>({requestId:V.requestId,server:V.server,timestamp:V.timestamp.toISOString(),maxTokens:V.params.maxTokens,systemPrompt:V.params.systemPrompt,temperature:V.params.temperature,messages:V.params.messages,modelPreferences:V.params.modelPreferences,tools:V.params.tools?.map((F)=>({name:F.name,description:F.description}))}));return P0(K,B)}),Q.registerTool("respond_to_sampling",{description:"Respond to a pending sampling request with an LLM result",inputSchema:{request_id:k.string().describe("The ID of the sampling request to respond to"),role:k.enum(["user","assistant"]).describe("The role of the message"),content:k.string().describe("The text content of the response"),model:k.string().describe("The model that generated the response"),stop_reason:k.enum(["endTurn","maxTokens","stopSequence","toolUse"]).optional().describe("Why the model stopped generating")}},({request_id:G,role:H,content:B,model:z,stop_reason:K},V)=>{let F=H0(Y,V,X);if(!F)return x("Session not found");try{return F.pendingRequests.respondToSampling(G,{role:H,content:{type:"text",text:B},model:z,stopReason:K}),S0(`Responded to sampling request '${G}'`,F)}catch(A){let D=A instanceof Error?A.message:String(A);return x(`Failed to respond: ${D}`)}}),Q.registerTool("cancel_sampling_request",{description:"Cancel a pending sampling request without responding. Use this when you want to ignore a request or if it seems to be part of a loop.",inputSchema:{request_id:k.string().describe("The ID of the sampling request to cancel"),reason:k.string().default("User cancelled").describe("Optional reason for cancellation")}},({request_id:G,reason:H},B)=>{let z=H0(Y,B,X);if(!z)return x("Session not found");try{return z.pendingRequests.cancelSampling(G,H),S0(`Cancelled sampling request '${G}'`,z)}catch(K){let V=K instanceof Error?K.message:String(K);return x(`Failed to cancel: ${V}`)}}),Q.registerTool("get_elicitations",{description:"Get pending elicitation requests from backend servers that need user input. These are requests from MCP servers asking for form data or user confirmation. URGENT: Backend servers are blocked waiting for user responses. You MUST respond promptly using respond_to_elicitation or the request may time out.",inputSchema:{}},(G,H)=>{let B=H0(Y,H,X);if(!B)return x("Session not found");let z=B.pendingRequests.getPendingElicitationRequests();if(z.length===0)return S0("No pending elicitation requests",B);let K=z.map((V)=>({requestId:V.requestId,server:V.server,timestamp:V.timestamp.toISOString(),mode:"mode"in V.params?V.params.mode:"form",message:V.params.message,requestedSchema:"requestedSchema"in V.params?V.params.requestedSchema:void 0,elicitationId:"elicitationId"in V.params?V.params.elicitationId:void 0,url:"url"in V.params?V.params.url:void 0}));return P0(K,B)}),Q.registerTool("respond_to_elicitation",{description:"Respond to a pending elicitation request with user input",inputSchema:{request_id:k.string().describe("The ID of the elicitation request to respond to"),action:k.enum(["accept","decline","cancel"]).describe("The user's action: accept (with content), decline, or cancel"),content:k.record(k.union([k.string(),k.number(),k.boolean(),k.array(k.string())])).optional().describe("The form field values (required if action is 'accept' for form mode)")}},({request_id:G,action:H,content:B},z)=>{let K=H0(Y,z,X);if(!K)return x("Session not found");try{return K.pendingRequests.respondToElicitation(G,{action:H,content:B}),S0(`Responded to elicitation request '${G}' with action '${H}'`,K)}catch(V){let F=V instanceof Error?V.message:String(V);return x(`Failed to respond: ${F}`)}}),Q.registerTool("cancel_elicitation_request",{description:"Cancel a pending elicitation request without responding.",inputSchema:{request_id:k.string().describe("The ID of the elicitation request to cancel"),reason:k.string().default("User cancelled").describe("Optional reason for cancellation")}},({request_id:G,reason:H},B)=>{let z=H0(Y,B,X);if(!z)return x("Session not found");try{return z.pendingRequests.cancelElicitation(G,H),S0(`Cancelled elicitation request '${G}'`,z)}catch(K){let V=K instanceof Error?K.message:String(K);return x(`Failed to cancel: ${V}`)}}),Q.registerTool("await_activity",{description:"Wait for activity (events, pending requests) or timeout. Use this to poll for changes efficiently instead of repeatedly calling get_* tools. IMPORTANT: If pending_client.sampling or pending_client.elicitation counts are non-zero, you MUST respond promptly - backend servers are blocked waiting.",inputSchema:{timeout_ms:k.number().min(100).max(900000).default(30000).describe("Maximum time to wait in milliseconds (100-900000, default: 30000)"),last_event_id:k.string().optional().describe("Only return events after this ID (for pagination/continuation)")}},async({timeout_ms:G,last_event_id:H},B)=>{let z=H0(Y,B,X);if(!z)return x("Session not found");let K=H?z.eventSystem.getEventsAfter(H):z.eventSystem.getNewEvents();if(K.length>0)return P0({triggered_by:"existing_events",events:K.map((F)=>({id:F.id,type:F.type,server:F.server,createdAt:F.createdAt.toISOString(),data:F.data})),pending_server:{tasks:z.taskManager.getAllTasks().map((F)=>({taskId:F.taskId,server:F.server,toolName:F.toolName,status:F.status}))},pending_client:{sampling:z.pendingRequests.getPendingSamplingRequests().length,elicitation:z.pendingRequests.getPendingElicitationRequests().length}},z);let V=await z.eventSystem.waitForActivity(G);if(V){let F=z.eventSystem.getNewEvents();return P0({triggered_by:V.type,events:F.map((A)=>({id:A.id,type:A.type,server:A.server,createdAt:A.createdAt.toISOString(),data:A.data})),pending_server:{tasks:z.taskManager.getAllTasks().map((A)=>({taskId:A.taskId,server:A.server,toolName:A.toolName,status:A.status}))},pending_client:{sampling:z.pendingRequests.getPendingSamplingRequests().length,elicitation:z.pendingRequests.getPendingElicitationRequests().length}},z)}return P0({triggered_by:"timeout",events:[],pending_server:{tasks:z.taskManager.getAllTasks().map((F)=>({taskId:F.taskId,server:F.server,toolName:F.toolName,status:F.status}))},pending_client:{sampling:z.pendingRequests.getPendingSamplingRequests().length,elicitation:z.pendingRequests.getPendingElicitationRequests().length}},z)}),Q.registerTool("list_tasks",{description:"List proxy tasks (background tool executions that exceeded timeout)",inputSchema:{include_completed:k.boolean().default(!1).describe("Include completed/failed/cancelled tasks (default: false, only working tasks)"),server:k.string().optional().describe("Filter by server name")}},({include_completed:G,server:H},B)=>{let z=H0(Y,B,X);if(!z)return x("Session not found");let K=z.taskManager.getAllTasks(G);if(H)K=K.filter((F)=>F.server===H);if(K.length===0)return S0("No tasks",z);let V=K.map((F)=>({taskId:F.taskId,server:F.server,toolName:F.toolName,status:F.status,createdAt:F.createdAt.toISOString(),lastUpdatedAt:F.lastUpdatedAt.toISOString(),error:F.error,hasResult:F.result!==void 0}));return P0(V,z)}),Q.registerTool("get_task",{description:"Get details of a specific task including its result if completed",inputSchema:{task_id:k.string().describe("The task ID to retrieve")}},({task_id:G},H)=>{let B=H0(Y,H,X);if(!B)return x("Session not found");let z=B.taskManager.getTask(G);if(!z)return x(`Task '${G}' not found`);return P0({taskId:z.taskId,server:z.server,toolName:z.toolName,args:z.args,status:z.status,createdAt:z.createdAt.toISOString(),lastUpdatedAt:z.lastUpdatedAt.toISOString(),ttl:z.ttl,error:z.error,result:z.result},B)}),Q.registerTool("cancel_task",{description:"Cancel a working task",inputSchema:{task_id:k.string().describe("The task ID to cancel")}},({task_id:G},H)=>{let B=H0(Y,H,X);if(!B)return x("Session not found");if(B.taskManager.cancelTask(G))return S0(`Task '${G}' cancelled`,B);else return x(`Task '${G}' not found or not in working state`)}),Q.registerTool("set_timer",{description:"Set a timer that will fire after a specified duration. When the timer expires, you'll receive a notification in the context info of subsequent tool responses, and it will also appear as a timer_expired event in await_activity.",inputSchema:{duration_ms:k.number().min(1).max(86400000).describe("Duration in milliseconds until the timer fires (max 24 hours)"),message:k.string().min(1).max(500).describe("Message to include in the notification when the timer fires"),interval:k.boolean().default(!1).describe("If true, timer repeats at the specified interval instead of firing once (default: false)")}},({duration_ms:G,message:H,interval:B},z)=>{let K=H0(Y,z,X);if(!K)return x("Session not found");try{let V=K.timerManager.createTimer(G,H,B);return P0({timerId:V.id,message:V.message,durationMs:V.durationMs,interval:V.interval,createdAt:V.createdAt.toISOString(),expiresAt:V.expiresAt.toISOString()},K)}catch(V){let F=V instanceof Error?V.message:String(V);return x(`Failed to set timer: ${F}`)}}),Q.registerTool("list_timers",{description:"List all timers for this session",inputSchema:{include_inactive:k.boolean().default(!1).describe("Include expired and deleted timers (default: false, only active timers)")}},({include_inactive:G},H)=>{let B=H0(Y,H,X);if(!B)return x("Session not found");let z=B.timerManager.getAllTimers(G);if(z.length===0)return S0("No timers",B);let K=z.map((V)=>({id:V.id,message:V.message,durationMs:V.durationMs,status:V.status,interval:V.interval,fireCount:V.fireCount,createdAt:V.createdAt.toISOString(),expiresAt:V.expiresAt.toISOString()}));return P0(K,B)}),Q.registerTool("get_timer",{description:"Get details of a specific timer",inputSchema:{timer_id:k.string().describe("The timer ID to retrieve")}},({timer_id:G},H)=>{let B=H0(Y,H,X);if(!B)return x("Session not found");let z=B.timerManager.getTimer(G);if(!z)return x(`Timer '${G}' not found`);return P0({id:z.id,message:z.message,durationMs:z.durationMs,status:z.status,interval:z.interval,fireCount:z.fireCount,createdAt:z.createdAt.toISOString(),expiresAt:z.expiresAt.toISOString()},B)}),Q.registerTool("delete_timer",{description:"Delete a timer. Returns the timer details before deletion.",inputSchema:{timer_id:k.string().describe("The timer ID to delete")}},({timer_id:G},H)=>{let B=H0(Y,H,X);if(!B)return x("Session not found");let z=B.timerManager.deleteTimer(G);if(!z)return x(`Timer '${G}' not found`);return P0({deleted:!0,timer:{id:z.id,message:z.message,durationMs:z.durationMs,status:z.status,interval:z.interval,fireCount:z.fireCount,createdAt:z.createdAt.toISOString(),expiresAt:z.expiresAt.toISOString()}},B)}),J)Q.registerTool("codemode_search",{description:"Search for MCP capabilities (tools, resources, prompts, servers) across all connected backend servers. Returns compact results that can be used to discover available functionality. Use regex patterns in the query to match names and descriptions.",inputSchema:{query:k.string().describe("Search query - matches against names and descriptions. Supports regex patterns."),type:k.enum(["tools","resources","prompts","servers","all"]).default("all").describe("Type of capability to search for"),server:k.string().optional().describe("Filter by server name (regex pattern). Omit to search all servers."),includeSchemas:k.boolean().default(!1).describe("Include full input schemas for tools (increases response size)")}},async({query:G,type:H,server:B,includeSchemas:z},K)=>{let V=H0(Y,K,X);if(!V)return x("Session not found");let F=W.startRequest(V.sessionId,"codemode_search",G,{args:{type:H,server:B,includeSchemas:z}});try{let D=await fG({query:G,type:H,server:B,includeSchemas:z},{session:V,sessionManager:Y}),L=[D.tools?.length?`${String(D.tools.length)} tools`:null,D.resources?.length?`${String(D.resources.length)} resources`:null,D.prompts?.length?`${String(D.prompts.length)} prompts`:null,D.servers?.length?`${String(D.servers.length)} servers`:null].filter(Boolean).join(", ");return W.completeRequest(F,L||"no results"),P0(D,V)}catch(A){let D=A instanceof Error?A.message:String(A);return W.failRequest(F,D),x(`Search failed: ${D}`)}}),Q.registerTool("codemode_execute",{description:"Execute JavaScript code in a sandboxed environment with access to MCP operations via the `mcp.*` API. Use this to perform complex operations that would require multiple tool calls. Available API: mcp.listServers(), mcp.listTools(pattern?), mcp.callTool(server, tool, args?), mcp.listResources(pattern?), mcp.readResource(server, uri), mcp.listPrompts(pattern?), mcp.getPrompt(server, name, args?), mcp.sleep(ms), mcp.log(...args). Code runs with async/await support. Return a value to include it in the response.",inputSchema:{code:k.string().describe("JavaScript code to execute. Has access to 'mcp' object for MCP operations. Async/await is supported. Return a value to include it in the result."),timeout:k.number().min(c6.MIN_TIMEOUT_MS).max(c6.MAX_TIMEOUT_MS).default(c6.DEFAULT_TIMEOUT_MS).describe(`Execution timeout in milliseconds (${String(c6.MIN_TIMEOUT_MS)}ms - ${String(c6.MAX_TIMEOUT_MS)}ms, default ${String(c6.DEFAULT_TIMEOUT_MS)}ms)`)}},async({code:G,timeout:H},B)=>{let z=H0(Y,B,X);if(!z)return x("Session not found");let K=gG({code:G,timeout:H});if(K)return x(K);let V=G.length>50?G.substring(0,50)+"...":G,F=W.startRequest(z.sessionId,"codemode_execute",V.replace(/\n/g," "),{args:{codeLength:G.length,timeout:H}});try{let A=await hG({code:G,timeout:H},{session:z,sessionManager:Y}),D=A.success?`success (${String(A.stats.durationMs)}ms, ${String(A.stats.mcpCalls)} mcp calls)`:`error: ${A.error?.message??"unknown"}`;if(A.success)W.completeRequest(F,D);else if(A.error?.message.includes("timed out"))W.timeoutRequest(F);else W.failRequest(F,A.error?.message??"unknown error");return P0(A,z)}catch(A){let D=A instanceof Error?A.message:String(A);return W.failRequest(F,D),x(`Execution failed: ${D}`)}})}function su(){let{configPath:Q,port:Y,logLevel:X}=ru(),W=ej(X);W.info("Starting MCP Proxy Server",{port:Y,configPath:Q});let $=new CG({logger:W,sessionTimeoutMs:86400000,cleanupIntervalMs:3600000});if(Q)try{let V=au(Q);W.info("Loading servers from config",{count:V.servers.length,path:Q});for(let F of V.servers)if(aj(F))W.info("Adding HTTP server config",{name:F.name,url:F.url}),$.getServerConfigs().addConfig(F.name,F.url);else if(tj(F))W.info("Adding stdio server config",{name:F.name,command:F.command}),$.getServerConfigs().addStdioConfig(F.name,F.command,F.args,{env:F.env,cwd:F.cwd,restartConfig:F.restartConfig})}catch(V){W.error("Failed to load config",{error:V instanceof Error?V.message:String(V)}),process.exit(1)}let J=new _G({logger:W}),G=new mJ({name:"emceepee",version:"0.2.0"}),H=new Map,B=new Map;tu(G,$,H,J);let z=nu((V,F)=>{let A=V.headers.host??"localhost",D=new URL(V.url??"/",`http://${A}`);if(D.pathname==="/waterfall"||D.pathname==="/waterfall/"){F.writeHead(200,{"Content-Type":"text/html"}),F.end(Yw(J));return}if(D.pathname==="/waterfall/json"){F.writeHead(200,{"Content-Type":"application/json"}),F.end(JSON.stringify(Xw(J),null,2));return}if(D.pathname!=="/mcp"){F.writeHead(404,{"Content-Type":"application/json"}),F.end(JSON.stringify({error:"Not found. Available endpoints: /mcp, /waterfall, /waterfall/json"}));return}let L=V.headers["mcp-session-id"];if(V.method==="POST"){let O=L?B.get(L):void 0;if(!O){if(L)W.warn("transport_not_found_for_session",{transportSessionId:L,transportCount:B.size,knownTransports:Array.from(B.keys())});let U=new kG({logger:W}),N=new rJ({sessionIdGenerator:()=>crypto.randomUUID(),eventStore:U,onsessioninitialized:(M)=>{B.set(M,N),$.createSession().then((S)=>{H.set(M,S.sessionId),W.info("Session created",{transportSessionId:M,sessionId:S.sessionId})})}});O=N,G.connect(N)}else{W.debug("using_existing_transport",{transportSessionId:L});let U=H.get(L??"");if(U)$.touchSession(U)}O.handleRequest(V,F)}else if(V.method==="GET"){if(!L){F.writeHead(400,{"Content-Type":"application/json"}),F.end(JSON.stringify({error:"Missing mcp-session-id header"}));return}let O=B.get(L);if(!O){F.writeHead(404,{"Content-Type":"application/json"}),F.end(JSON.stringify({error:"Session not found"}));return}F.on("close",()=>{W.info("sse_connection_closed",{transportSessionId:L});let N=B.get(L);if(N){N.close(),B.delete(L);let M=H.get(L);if(M)$.destroySession(M),H.delete(L),W.info("session_closed_via_sse",{transportSessionId:L,sessionId:M})}});let U=V.headers["last-event-id"]!==void 0;if(O.handleRequest(V,F),!U)setTimeout(()=>{W.debug("sending_sse_priming_notification",{transportSessionId:L}),G.sendToolListChanged()},100)}else if(V.method==="DELETE"){if(L&&B.has(L)){B.get(L)?.close(),B.delete(L);let U=H.get(L);if(U)$.destroySession(U),H.delete(L);W.info("Session closed",{transportSessionId:L})}F.writeHead(200),F.end()}else F.writeHead(405,{"Content-Type":"application/json"}),F.end(JSON.stringify({error:"Method not allowed"}))}),K=async()=>{W.info("Shutting down...",{});for(let V of B.values())V.close();await $.shutdown(),z.close(),process.exit(0)};process.on("SIGINT",()=>void K()),process.on("SIGTERM",()=>void K()),z.listen(Y,()=>{W.info("Server started",{url:`http://localhost:${String(Y)}/mcp`}),console.log(`MCP Proxy Server running at http://localhost:${String(Y)}/mcp`),console.log(`Waterfall UI available at http://localhost:${String(Y)}/waterfall`),console.log(`
301
+ Available tools:`),console.log(" Server management: add_server, remove_server, reconnect_server, list_servers"),console.log(" Tools: list_tools, execute_tool"),console.log(" Resources: list_resources, list_resource_templates, read_resource, subscribe_resource, unsubscribe_resource"),console.log(" Prompts: list_prompts, get_prompt"),console.log(" Notifications: get_notifications, get_logs"),console.log(" Sampling: get_sampling_requests, respond_to_sampling"),console.log(" Elicitation: get_elicitations, respond_to_elicitation"),console.log(" Activity: await_activity"),console.log(" Tasks: list_tasks, get_task, cancel_task")})}su();