emceepee 0.2.0 → 0.2.2
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.
- package/LICENSE +1 -1
- package/README.md +158 -77
- package/dist/emceepee-http.js +285 -0
- package/dist/emceepee.js +56 -0
- package/package.json +14 -7
- package/dist/mcp-proxy.js +0 -63
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{createRequire as xj}from"node:module";var Tj=Object.create;var{getPrototypeOf:kj,defineProperty:uY,getOwnPropertyNames:vj}=Object;var _j=Object.prototype.hasOwnProperty;var lY=(Q,X,Y)=>{Y=Q!=null?Tj(kj(Q)):{};let W=X||!Q||!Q.__esModule?uY(Y,"default",{value:Q,enumerable:!0}):Y;for(let $ of vj(Q))if(!_j.call(W,$))uY(W,$,{get:()=>Q[$],enumerable:!0});return W};var w=(Q,X)=>()=>(X||Q((X={exports:{}}).exports,X),X.exports);var a8=(Q,X)=>{for(var Y in X)uY(Q,Y,{get:X[Y],enumerable:!0,configurable:!0,set:(W)=>X[Y]=()=>W})};var yj=xj(import.meta.url);var Y8=w((OB)=>{Object.defineProperty(OB,"__esModule",{value:!0});OB.regexpCode=OB.getEsmExportName=OB.getProperty=OB.safeStringify=OB.stringify=OB.strConcat=OB.addCodeArg=OB.str=OB._=OB.nil=OB._Code=OB.Name=OB.IDENTIFIER=OB._CodeOrName=void 0;class eQ{}OB._CodeOrName=eQ;OB.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class m9 extends eQ{constructor(Q){super();if(!OB.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}}}OB.Name=m9;class R1 extends eQ{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 m9)X[Y.str]=(X[Y.str]||0)+1;return X},{})}}OB._Code=R1;OB.nil=new R1("");function DB(Q,...X){let Y=[Q[0]],W=0;while(W<X.length)x5(Y,X[W]),Y.push(Q[++W]);return new R1(Y)}OB._=DB;var _5=new R1("+");function LB(Q,...X){let Y=[X8(Q[0])],W=0;while(W<X.length)Y.push(_5),x5(Y,X[W]),Y.push(_5,X8(Q[++W]));return NM(Y),new R1(Y)}OB.str=LB;function x5(Q,X){if(X instanceof R1)Q.push(...X._items);else if(X instanceof m9)Q.push(X);else Q.push(MM(X))}OB.addCodeArg=x5;function NM(Q){let X=1;while(X<Q.length-1){if(Q[X]===_5){let Y=wM(Q[X-1],Q[X+1]);if(Y!==void 0){Q.splice(X-1,3,Y);continue}Q[X++]="+"}X++}}function wM(Q,X){if(X==='""')return Q;if(Q==='""')return X;if(typeof Q=="string"){if(X instanceof m9||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 m9))return`"${Q}${X.slice(1)}`;return}function qM(Q,X){return X.emptyStr()?Q:Q.emptyStr()?X:LB`${Q}${X}`}OB.strConcat=qM;function MM(Q){return typeof Q=="number"||typeof Q=="boolean"||Q===null?Q:X8(Array.isArray(Q)?Q.join(","):Q)}function bM(Q){return new R1(X8(Q))}OB.stringify=bM;function X8(Q){return JSON.stringify(Q).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}OB.safeStringify=X8;function PM(Q){return typeof Q=="string"&&OB.IDENTIFIER.test(Q)?new R1(`.${Q}`):DB`[${Q}]`}OB.getProperty=PM;function ZM(Q){if(typeof Q=="string"&&OB.IDENTIFIER.test(Q))return new R1(`${Q}`);throw Error(`CodeGen: invalid export name: ${Q}, use explicit $id name mapping`)}OB.getEsmExportName=ZM;function EM(Q){return new R1(Q.toString())}OB.regexpCode=EM});var h5=w((wB)=>{Object.defineProperty(wB,"__esModule",{value:!0});wB.ValueScope=wB.ValueScopeName=wB.Scope=wB.varKinds=wB.UsedValueState=void 0;var Q1=Y8();class UB extends Error{constructor(Q){super(`CodeGen: "code" for ${Q} not defined`);this.value=Q.value}}var XX;(function(Q){Q[Q.Started=0]="Started",Q[Q.Completed=1]="Completed"})(XX||(wB.UsedValueState=XX={}));wB.varKinds={const:new Q1.Name("const"),let:new Q1.Name("let"),var:new Q1.Name("var")};class f5{constructor({prefixes:Q,parent:X}={}){this._names={},this._prefixes=Q,this._parent=X}toName(Q){return Q instanceof Q1.Name?Q:this.name(Q)}name(Q){return new Q1.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}}}wB.Scope=f5;class g5 extends Q1.Name{constructor(Q,X){super(X);this.prefix=Q}setValue(Q,{property:X,itemIndex:Y}){this.value=Q,this.scopePath=Q1._`.${new Q1.Name(X)}[${Y}]`}}wB.ValueScopeName=g5;var hM=Q1._`\n`;class NB extends f5{constructor(Q){super(Q);this._values={},this._scope=Q.scope,this.opts={...Q,_n:Q.lines?hM:Q1.nil}}get(){return this._scope}name(Q){return new g5(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 Q1._`${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 $=Q1.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,XX.Started);let z=X(B);if(z){let K=this.opts.es5?wB.varKinds.var:wB.varKinds.const;$=Q1._`${$}${K} ${B} = ${z};${this.opts._n}`}else if(z=W===null||W===void 0?void 0:W(B))$=Q1._`${$}${z}${this.opts._n}`;else throw new UB(B);H.set(B,XX.Completed)})}return $}}wB.ValueScope=NB});var o=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=Y8(),S1=h5(),b6=Y8();Object.defineProperty(X1,"_",{enumerable:!0,get:function(){return b6._}});Object.defineProperty(X1,"str",{enumerable:!0,get:function(){return b6.str}});Object.defineProperty(X1,"strConcat",{enumerable:!0,get:function(){return b6.strConcat}});Object.defineProperty(X1,"nil",{enumerable:!0,get:function(){return b6.nil}});Object.defineProperty(X1,"getProperty",{enumerable:!0,get:function(){return b6.getProperty}});Object.defineProperty(X1,"stringify",{enumerable:!0,get:function(){return b6.stringify}});Object.defineProperty(X1,"regexpCode",{enumerable:!0,get:function(){return b6.regexpCode}});Object.defineProperty(X1,"Name",{enumerable:!0,get:function(){return b6.Name}});var HX=h5();Object.defineProperty(X1,"Scope",{enumerable:!0,get:function(){return HX.Scope}});Object.defineProperty(X1,"ValueScope",{enumerable:!0,get:function(){return HX.ValueScope}});Object.defineProperty(X1,"ValueScopeName",{enumerable:!0,get:function(){return HX.ValueScopeName}});Object.defineProperty(X1,"varKinds",{enumerable:!0,get:function(){return HX.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 P6{optimizeNodes(){return this}optimizeNames(Q,X){return this}}class MB extends P6{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=p9(this.rhs,Q,X);return this}get names(){return this.rhs instanceof e._CodeOrName?this.rhs.names:{}}}class m5 extends P6{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=p9(this.rhs,Q,X),this}get names(){let Q=this.lhs instanceof e.Name?{}:{...this.lhs.names};return GX(Q,this.rhs)}}class bB extends m5{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 P6{constructor(Q){super();this.label=Q,this.names={}}render({_n:Q}){return`${this.label}:`+Q}}class ZB extends P6{constructor(Q){super();this.label=Q,this.names={}}render({_n:Q}){return`break${this.label?` ${this.label}`:""};`+Q}}class EB extends P6{constructor(Q){super();this.error=Q}render({_n:Q}){return`throw ${this.error};`+Q}get names(){return this.error.names}}class RB extends P6{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=p9(this.code,Q,X),this}get names(){return this.code instanceof e._CodeOrName?this.code.names:{}}}class BX extends P6{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;cM(Q,$.names),Y.splice(W,1)}return Y.length>0?this:void 0}get names(){return this.nodes.reduce((Q,X)=>Q9(Q,X.names),{})}}class Z6 extends BX{render(Q){return"{"+Q._n+super.render(Q)+"}"+Q._n}}class SB extends BX{}class W8 extends Z6{}W8.kind="else";class Y6 extends Z6{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 W8(Y):Y}if(X){if(Q===!1)return X instanceof Y6?X:X.nodes;if(this.nodes.length)return this;return new Y6(vB(Q),X instanceof Y6?[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=p9(this.condition,Q,X),this}get names(){let Q=super.names;if(GX(Q,this.condition),this.else)Q9(Q,this.else.names);return Q}}Y6.kind="if";class c9 extends Z6{}c9.kind="for";class IB extends c9{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=p9(this.iteration,Q,X),this}get names(){return Q9(super.names,this.iteration.names)}}class CB extends c9{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=GX(super.names,this.from);return GX(Q,this.to)}}class u5 extends c9{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=p9(this.iterable,Q,X),this}get names(){return Q9(super.names,this.iterable.names)}}class YX extends Z6{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)}}YX.kind="func";class WX extends BX{render(Q){return"return "+super.render(Q)}}WX.kind="return";class TB extends Z6{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)Q9(Q,this.catch.names);if(this.finally)Q9(Q,this.finally.names);return Q}}class $X extends Z6{constructor(Q){super();this.error=Q}render(Q){return`catch(${this.error})`+super.render(Q)}}$X.kind="catch";class JX extends Z6{render(Q){return"finally"+super.render(Q)}}JX.kind="finally";class kB{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 SB]}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 m5(Q,X,Y))}add(Q,X){return this._leafNode(new bB(Q,X1.operators.ADD,X))}code(Q){if(typeof Q=="function")Q();else if(Q!==e.nil)this._leafNode(new RB(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 Y6(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 Y6(Q))}else(){return this._elseNode(new W8)}endIf(){return this._endBlockNode(Y6,W8)}_for(Q,X){if(this._blockNode(Q),X)this.code(X).endFor();return this}for(Q,X){return this._for(new IB(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 CB($,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 u5("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 u5("in",W,$,X),()=>Y($))}endFor(){return this._endBlockNode(c9)}label(Q){return this._leafNode(new PB(Q))}break(Q){return this._leafNode(new ZB(Q))}return(Q){let X=new WX;if(this._blockNode(X),this.code(Q),X.nodes.length!==1)throw Error('CodeGen: "return" should have one node');return this._endBlockNode(WX)}try(Q,X,Y){if(!X&&!Y)throw Error('CodeGen: "try" without "catch" and "finally"');let W=new TB;if(this._blockNode(W),this.code(Q),X){let $=this.name("e");this._currNode=W.catch=new $X($),X($)}if(Y)this._currNode=W.finally=new JX,this.code(Y);return this._endBlockNode($X,JX)}throw(Q){return this._leafNode(new EB(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 YX(Q,X,Y)),W)this.code(W).endFunc();return this}endFunc(){return this._endBlockNode(YX)}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 Y6))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}}X1.CodeGen=kB;function Q9(Q,X){for(let Y in X)Q[Y]=(Q[Y]||0)+(X[Y]||0);return Q}function GX(Q,X){return X instanceof e._CodeOrName?Q9(Q,X.names):Q}function p9(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 cM(Q,X){for(let Y in X)Q[Y]=(Q[Y]||0)-(X[Y]||0)}function vB(Q){return typeof Q=="boolean"||typeof Q=="number"||Q===null?!Q:e._`!${l5(Q)}`}X1.not=vB;var pM=_B(X1.operators.AND);function dM(...Q){return Q.reduce(pM)}X1.and=dM;var iM=_B(X1.operators.OR);function nM(...Q){return Q.reduce(iM)}X1.or=nM;function _B(Q){return(X,Y)=>X===e.nil?Y:Y===e.nil?X:e._`${l5(X)} ${Q} ${l5(Y)}`}function l5(Q){return Q instanceof e.Name?Q:e._`(${Q})`}});var W0=w((cB)=>{Object.defineProperty(cB,"__esModule",{value:!0});cB.checkStrictMode=cB.getErrorPath=cB.Type=cB.useFunc=cB.setEvaluated=cB.evaluatedPropsToName=cB.mergeEvaluated=cB.eachItem=cB.unescapeJsonPointer=cB.escapeJsonPointer=cB.escapeFragment=cB.unescapeFragment=cB.schemaRefOrVal=cB.schemaHasRulesButRef=cB.schemaHasRules=cB.checkUnknownRules=cB.alwaysValidSchema=cB.toHash=void 0;var B0=o(),aM=Y8();function sM(Q){let X={};for(let Y of Q)X[Y]=!0;return X}cB.toHash=sM;function eM(Q,X){if(typeof X=="boolean")return X;if(Object.keys(X).length===0)return!0;return gB(Q,X),!hB(X,Q.self.RULES.all)}cB.alwaysValidSchema=eM;function gB(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])mB(Q,`unknown keyword: "${J}"`)}cB.checkUnknownRules=gB;function hB(Q,X){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(X[Y])return!0;return!1}cB.schemaHasRules=hB;function Qb(Q,X){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(Y!=="$ref"&&X.all[Y])return!0;return!1}cB.schemaHasRulesButRef=Qb;function Xb({topSchemaRef:Q,schemaPath:X},Y,W,$){if(!$){if(typeof Y=="number"||typeof Y=="boolean")return Y;if(typeof Y=="string")return B0._`${Y}`}return B0._`${Q}${X}${(0,B0.getProperty)(W)}`}cB.schemaRefOrVal=Xb;function Yb(Q){return uB(decodeURIComponent(Q))}cB.unescapeFragment=Yb;function Wb(Q){return encodeURIComponent(p5(Q))}cB.escapeFragment=Wb;function p5(Q){if(typeof Q=="number")return`${Q}`;return Q.replace(/~/g,"~0").replace(/\//g,"~1")}cB.escapeJsonPointer=p5;function uB(Q){return Q.replace(/~1/g,"/").replace(/~0/g,"~")}cB.unescapeJsonPointer=uB;function $b(Q,X){if(Array.isArray(Q))for(let Y of Q)X(Y);else X(Q)}cB.eachItem=$b;function yB({mergeNames:Q,mergeToName:X,mergeValues:Y,resultToName:W}){return($,J,G,H)=>{let B=G===void 0?J:G instanceof B0.Name?(J instanceof B0.Name?Q($,J,G):X($,J,G),G):J instanceof B0.Name?(X($,G,J),J):Y(J,G);return H===B0.Name&&!(B instanceof B0.Name)?W($,B):B}}cB.mergeEvaluated={props:yB({mergeNames:(Q,X,Y)=>Q.if(B0._`${Y} !== true && ${X} !== undefined`,()=>{Q.if(B0._`${X} === true`,()=>Q.assign(Y,!0),()=>Q.assign(Y,B0._`${Y} || {}`).code(B0._`Object.assign(${Y}, ${X})`))}),mergeToName:(Q,X,Y)=>Q.if(B0._`${Y} !== true`,()=>{if(X===!0)Q.assign(Y,!0);else Q.assign(Y,B0._`${Y} || {}`),d5(Q,Y,X)}),mergeValues:(Q,X)=>Q===!0?!0:{...Q,...X},resultToName:lB}),items:yB({mergeNames:(Q,X,Y)=>Q.if(B0._`${Y} !== true && ${X} !== undefined`,()=>Q.assign(Y,B0._`${X} === true ? true : ${Y} > ${X} ? ${Y} : ${X}`)),mergeToName:(Q,X,Y)=>Q.if(B0._`${Y} !== true`,()=>Q.assign(Y,X===!0?!0:B0._`${Y} > ${X} ? ${Y} : ${X}`)),mergeValues:(Q,X)=>Q===!0?!0:Math.max(Q,X),resultToName:(Q,X)=>Q.var("items",X)})};function lB(Q,X){if(X===!0)return Q.var("props",!0);let Y=Q.var("props",B0._`{}`);if(X!==void 0)d5(Q,Y,X);return Y}cB.evaluatedPropsToName=lB;function d5(Q,X,Y){Object.keys(Y).forEach((W)=>Q.assign(B0._`${X}${(0,B0.getProperty)(W)}`,!0))}cB.setEvaluated=d5;var fB={};function Jb(Q,X){return Q.scopeValue("func",{ref:X,code:fB[X.code]||(fB[X.code]=new aM._Code(X.code))})}cB.useFunc=Jb;var c5;(function(Q){Q[Q.Num=0]="Num",Q[Q.Str=1]="Str"})(c5||(cB.Type=c5={}));function Gb(Q,X,Y){if(Q instanceof B0.Name){let W=X===c5.Num;return Y?W?B0._`"[" + ${Q} + "]"`:B0._`"['" + ${Q} + "']"`:W?B0._`"/" + ${Q}`:B0._`"/" + ${Q}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return Y?(0,B0.getProperty)(Q).toString():"/"+p5(Q)}cB.getErrorPath=Gb;function mB(Q,X,Y=Q.opts.strictSchema){if(!Y)return;if(X=`strict mode: ${X}`,Y===!0)throw Error(X);Q.self.logger.warn(X)}cB.checkStrictMode=mB});var W6=w((dB)=>{Object.defineProperty(dB,"__esModule",{value:!0});var h0=o(),Pb={data:new h0.Name("data"),valCxt:new h0.Name("valCxt"),instancePath:new h0.Name("instancePath"),parentData:new h0.Name("parentData"),parentDataProperty:new h0.Name("parentDataProperty"),rootData:new h0.Name("rootData"),dynamicAnchors:new h0.Name("dynamicAnchors"),vErrors:new h0.Name("vErrors"),errors:new h0.Name("errors"),this:new h0.Name("this"),self:new h0.Name("self"),scope:new h0.Name("scope"),json:new h0.Name("json"),jsonPos:new h0.Name("jsonPos"),jsonLen:new h0.Name("jsonLen"),jsonPart:new h0.Name("jsonPart")};dB.default=Pb});var $8=w((rB)=>{Object.defineProperty(rB,"__esModule",{value:!0});rB.extendErrors=rB.resetErrorsCount=rB.reportExtraError=rB.reportError=rB.keyword$DataError=rB.keywordError=void 0;var X0=o(),KX=W0(),d0=W6();rB.keywordError={message:({keyword:Q})=>X0.str`must pass "${Q}" keyword validation`};rB.keyword$DataError={message:({keyword:Q,schemaType:X})=>X?X0.str`"${Q}" keyword must be ${X} ($data)`:X0.str`"${Q}" keyword is invalid ($data)`};function Eb(Q,X=rB.keywordError,Y,W){let{it:$}=Q,{gen:J,compositeRule:G,allErrors:H}=$,B=oB(Q,X,Y);if(W!==null&&W!==void 0?W:G||H)iB(J,B);else nB($,X0._`[${B}]`)}rB.reportError=Eb;function Rb(Q,X=rB.keywordError,Y){let{it:W}=Q,{gen:$,compositeRule:J,allErrors:G}=W,H=oB(Q,X,Y);if(iB($,H),!(J||G))nB(W,d0.default.vErrors)}rB.reportExtraError=Rb;function Sb(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)))}rB.resetErrorsCount=Sb;function Ib({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)})}rB.extendErrors=Ib;function iB(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 nB(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 X9={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 oB(Q,X,Y){let{createErrors:W}=Q.it;if(W===!1)return X0._`{}`;return Cb(Q,X,Y)}function Cb(Q,X,Y={}){let{gen:W,it:$}=Q,J=[Tb($,Y),kb(Q,Y)];return vb(Q,X,J),W.object(...J)}function Tb({errorPath:Q},{instancePath:X}){let Y=X?X0.str`${Q}${(0,KX.getErrorPath)(X,KX.Type.Str)}`:Q;return[d0.default.instancePath,(0,X0.strConcat)(d0.default.instancePath,Y)]}function kb({keyword:Q,it:{errSchemaPath:X}},{schemaPath:Y,parentSchema:W}){let $=W?X:X0.str`${X}/${Q}`;if(Y)$=X0.str`${$}${(0,KX.getErrorPath)(Y,KX.Type.Str)}`;return[X9.schemaPath,$]}function vb(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([X9.keyword,$],[X9.params,typeof X=="function"?X(Q):X||X0._`{}`]),B.messages)W.push([X9.message,typeof Y=="function"?Y(Q):Y]);if(B.verbose)W.push([X9.schema,G],[X9.parentSchema,X0._`${K}${V}`],[d0.default.data,J]);if(z)W.push([X9.propertyName,z])}});var Qz=w((sB)=>{Object.defineProperty(sB,"__esModule",{value:!0});sB.boolOrEmptySchema=sB.topBoolOrEmptySchema=void 0;var gb=$8(),hb=o(),ub=W6(),lb={message:"boolean schema is false"};function mb(Q){let{gen:X,schema:Y,validateName:W}=Q;if(Y===!1)aB(Q,!1);else if(typeof Y=="object"&&Y.$async===!0)X.return(ub.default.data);else X.assign(hb._`${W}.errors`,null),X.return(!0)}sB.topBoolOrEmptySchema=mb;function cb(Q,X){let{gen:Y,schema:W}=Q;if(W===!1)Y.var(X,!1),aB(Q);else Y.var(X,!0)}sB.boolOrEmptySchema=cb;function aB(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,gb.reportError)($,lb,void 0,X)}});var n5=w((Xz)=>{Object.defineProperty(Xz,"__esModule",{value:!0});Xz.getRules=Xz.isJSONType=void 0;var db=["string","number","integer","boolean","null","object","array"],ib=new Set(db);function nb(Q){return typeof Q=="string"&&ib.has(Q)}Xz.isJSONType=nb;function ob(){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=ob});var o5=w((Jz)=>{Object.defineProperty(Jz,"__esModule",{value:!0});Jz.shouldUseRule=Jz.shouldUseGroup=Jz.schemaHasRulesForType=void 0;function tb({schema:Q,self:X},Y){let W=X.RULES.types[Y];return W&&W!==!0&&Wz(Q,W)}Jz.schemaHasRulesForType=tb;function Wz(Q,X){return X.rules.some((Y)=>$z(Q,Y))}Jz.shouldUseGroup=Wz;function $z(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))}Jz.shouldUseRule=$z});var J8=w((Kz)=>{Object.defineProperty(Kz,"__esModule",{value:!0});Kz.reportTypeError=Kz.checkDataTypes=Kz.checkDataType=Kz.coerceAndCheckDataType=Kz.getJSONTypes=Kz.getSchemaTypes=Kz.DataType=void 0;var eb=n5(),QP=o5(),XP=$8(),p=o(),Hz=W0(),d9;(function(Q){Q[Q.Correct=0]="Correct",Q[Q.Wrong=1]="Wrong"})(d9||(Kz.DataType=d9={}));function YP(Q){let X=Bz(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}Kz.getSchemaTypes=YP;function Bz(Q){let X=Array.isArray(Q)?Q:Q?[Q]:[];if(X.every(eb.isJSONType))return X;throw Error("type must be JSONType or JSONType[]: "+X.join(","))}Kz.getJSONTypes=Bz;function WP(Q,X){let{gen:Y,data:W,opts:$}=Q,J=$P(X,$.coerceTypes),G=X.length>0&&!(J.length===0&&X.length===1&&(0,QP.schemaHasRulesForType)(Q,X[0]));if(G){let H=t5(X,W,$.strictNumbers,d9.Wrong);Y.if(H,()=>{if(J.length)JP(Q,X,J);else a5(Q)})}return G}Kz.coerceAndCheckDataType=WP;var zz=new Set(["string","number","integer","boolean","null"]);function $P(Q,X){return X?Q.filter((Y)=>zz.has(Y)||X==="array"&&Y==="array"):[]}function JP(Q,X,Y){let{gen:W,data:$,opts:J}=Q,G=W.let("dataType",p._`typeof ${$}`),H=W.let("coerced",p._`undefined`);if(J.coerceTypes==="array")W.if(p._`${G} == 'object' && Array.isArray(${$}) && ${$}.length == 1`,()=>W.assign($,p._`${$}[0]`).assign(G,p._`typeof ${$}`).if(t5(X,$,J.strictNumbers),()=>W.assign(H,$)));W.if(p._`${H} !== undefined`);for(let z of Y)if(zz.has(z)||z==="array"&&J.coerceTypes==="array")B(z);W.else(),a5(Q),W.endIf(),W.if(p._`${H} !== undefined`,()=>{W.assign($,H),GP(Q,H)});function B(z){switch(z){case"string":W.elseIf(p._`${G} == "number" || ${G} == "boolean"`).assign(H,p._`"" + ${$}`).elseIf(p._`${$} === null`).assign(H,p._`""`);return;case"number":W.elseIf(p._`${G} == "boolean" || ${$} === null
|
|
4
|
+
|| (${G} == "string" && ${$} && ${$} == +${$})`).assign(H,p._`+${$}`);return;case"integer":W.elseIf(p._`${G} === "boolean" || ${$} === null
|
|
5
|
+
|| (${G} === "string" && ${$} && ${$} == +${$} && !(${$} % 1))`).assign(H,p._`+${$}`);return;case"boolean":W.elseIf(p._`${$} === "false" || ${$} === 0 || ${$} === null`).assign(H,!1).elseIf(p._`${$} === "true" || ${$} === 1`).assign(H,!0);return;case"null":W.elseIf(p._`${$} === "" || ${$} === 0 || ${$} === false`),W.assign(H,null);return;case"array":W.elseIf(p._`${G} === "string" || ${G} === "number"
|
|
6
|
+
|| ${G} === "boolean" || ${$} === null`).assign(H,p._`[${$}]`)}}}function GP({gen:Q,parentData:X,parentDataProperty:Y},W){Q.if(p._`${X} !== undefined`,()=>Q.assign(p._`${X}[${Y}]`,W))}function r5(Q,X,Y,W=d9.Correct){let $=W===d9.Correct?p.operators.EQ:p.operators.NEQ,J;switch(Q){case"null":return p._`${X} ${$} null`;case"array":J=p._`Array.isArray(${X})`;break;case"object":J=p._`${X} && typeof ${X} == "object" && !Array.isArray(${X})`;break;case"integer":J=G(p._`!(${X} % 1) && !isNaN(${X})`);break;case"number":J=G();break;default:return p._`typeof ${X} ${$} ${Q}`}return W===d9.Correct?J:(0,p.not)(J);function G(H=p.nil){return(0,p.and)(p._`typeof ${X} == "number"`,H,Y?p._`isFinite(${X})`:p.nil)}}Kz.checkDataType=r5;function t5(Q,X,Y,W){if(Q.length===1)return r5(Q[0],X,Y,W);let $,J=(0,Hz.toHash)(Q);if(J.array&&J.object){let G=p._`typeof ${X} != "object"`;$=J.null?G:p._`!${X} || ${G}`,delete J.null,delete J.array,delete J.object}else $=p.nil;if(J.number)delete J.integer;for(let G in J)$=(0,p.and)($,r5(G,X,Y,W));return $}Kz.checkDataTypes=t5;var HP={message:({schema:Q})=>`must be ${Q}`,params:({schema:Q,schemaValue:X})=>typeof Q=="string"?p._`{type: ${Q}}`:p._`{type: ${X}}`};function a5(Q){let X=BP(Q);(0,XP.reportError)(X,HP)}Kz.reportTypeError=a5;function BP(Q){let{gen:X,data:Y,schema:W}=Q,$=(0,Hz.schemaRefOrVal)(Q,W,"type");return{gen:X,keyword:"type",data:Y,schema:W.type,schemaCode:$,schemaValue:$,parentSchema:W,params:{},it:Q}}});var Lz=w((Az)=>{Object.defineProperty(Az,"__esModule",{value:!0});Az.assignDefaults=void 0;var i9=o(),LP=W0();function OP(Q,X){let{properties:Y,items:W}=Q.schema;if(X==="object"&&Y)for(let $ in Y)Fz(Q,$,Y[$].default);else if(X==="array"&&Array.isArray(W))W.forEach(($,J)=>Fz(Q,J,$.default))}Az.assignDefaults=OP;function Fz(Q,X,Y){let{gen:W,compositeRule:$,data:J,opts:G}=Q;if(Y===void 0)return;let H=i9._`${J}${(0,i9.getProperty)(X)}`;if($){(0,LP.checkStrictMode)(Q,`default is ignored for: ${H}`);return}let B=i9._`${H} === undefined`;if(G.useDefaults==="empty")B=i9._`${B} || ${H} === null || ${H} === ""`;W.if(B,i9._`${H} = ${(0,i9.stringify)(Y)}`)}});var A1=w((Uz)=>{Object.defineProperty(Uz,"__esModule",{value:!0});Uz.validateUnion=Uz.validateArray=Uz.usePattern=Uz.callValidateCode=Uz.schemaProperties=Uz.allSchemaProperties=Uz.noPropertyInData=Uz.propertyInData=Uz.isOwnProperty=Uz.hasPropFunc=Uz.reportMissingProp=Uz.checkMissingProp=Uz.checkReportMissingProp=void 0;var L0=o(),s5=W0(),E6=W6(),jP=W0();function UP(Q,X){let{gen:Y,data:W,it:$}=Q;Y.if(Q$(Y,W,X,$.opts.ownProperties),()=>{Q.setParams({missingProperty:L0._`${X}`},!0),Q.error()})}Uz.checkReportMissingProp=UP;function NP({gen:Q,data:X,it:{opts:Y}},W,$){return(0,L0.or)(...W.map((J)=>(0,L0.and)(Q$(Q,X,J,Y.ownProperties),L0._`${$} = ${J}`)))}Uz.checkMissingProp=NP;function wP(Q,X){Q.setParams({missingProperty:X},!0),Q.error()}Uz.reportMissingProp=wP;function Oz(Q){return Q.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:L0._`Object.prototype.hasOwnProperty`})}Uz.hasPropFunc=Oz;function e5(Q,X,Y){return L0._`${Oz(Q)}.call(${X}, ${Y})`}Uz.isOwnProperty=e5;function qP(Q,X,Y,W){let $=L0._`${X}${(0,L0.getProperty)(Y)} !== undefined`;return W?L0._`${$} && ${e5(Q,X,Y)}`:$}Uz.propertyInData=qP;function Q$(Q,X,Y,W){let $=L0._`${X}${(0,L0.getProperty)(Y)} === undefined`;return W?(0,L0.or)($,(0,L0.not)(e5(Q,X,Y))):$}Uz.noPropertyInData=Q$;function jz(Q){return Q?Object.keys(Q).filter((X)=>X!=="__proto__"):[]}Uz.allSchemaProperties=jz;function MP(Q,X){return jz(X).filter((Y)=>!(0,s5.alwaysValidSchema)(Q,X[Y]))}Uz.schemaProperties=MP;function bP({schemaCode:Q,data:X,it:{gen:Y,topSchemaRef:W,schemaPath:$,errorPath:J},it:G},H,B,z){let K=z?L0._`${Q}, ${X}, ${W}${$}`:X,V=[[E6.default.instancePath,(0,L0.strConcat)(E6.default.instancePath,J)],[E6.default.parentData,G.parentData],[E6.default.parentDataProperty,G.parentDataProperty],[E6.default.rootData,E6.default.rootData]];if(G.opts.dynamicRef)V.push([E6.default.dynamicAnchors,E6.default.dynamicAnchors]);let F=L0._`${K}, ${Y.object(...V)}`;return B!==L0.nil?L0._`${H}.call(${B}, ${F})`:L0._`${H}(${F})`}Uz.callValidateCode=bP;var PP=L0._`new RegExp`;function ZP({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:L0._`${$.code==="new RegExp"?PP:(0,jP.useFunc)(Q,$)}(${Y}, ${W})`})}Uz.usePattern=ZP;function EP(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",L0._`${Y}.length`);X.forRange("i",0,B,(z)=>{Q.subschema({keyword:W,dataProp:z,dataPropType:s5.Type.Num},J),X.if((0,L0.not)(J),H)})}}Uz.validateArray=EP;function RP(Q){let{gen:X,schema:Y,keyword:W,it:$}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");if(Y.some((B)=>(0,s5.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,L0._`${G} || ${H}`),!Q.mergeValidEvaluated(K,H))X.if((0,L0.not)(G))})),Q.result(G,()=>Q.reset(),()=>Q.error(!0))}Uz.validateUnion=RP});var Pz=w((Mz)=>{Object.defineProperty(Mz,"__esModule",{value:!0});Mz.validateKeywordUsage=Mz.validSchemaType=Mz.funcKeywordCode=Mz.macroKeywordCode=void 0;var i0=o(),Y9=W6(),uP=A1(),lP=$8();function mP(Q,X){let{gen:Y,keyword:W,schema:$,parentSchema:J,it:G}=Q,H=X.macro.call(G.self,$,J,G),B=qz(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=mP;function cP(Q,X){var Y;let{gen:W,keyword:$,schema:J,parentSchema:G,$data:H,it:B}=Q;dP(B,X);let z=!H&&X.compile?X.compile.call(B.self,J,G,B):X.validate,K=qz(W,$,z),V=W.let("valid");Q.block$data(V,F),Q.ok((Y=X.valid)!==null&&Y!==void 0?Y:V);function F(){if(X.errors===!1){if(D(),X.modifying)wz(Q);O(()=>Q.error())}else{let j=X.async?A():L();if(X.modifying)wz(Q);O(()=>pP(Q,j))}}function A(){let j=W.let("ruleErrs",null);return W.try(()=>D(i0._`await `),(q)=>W.assign(V,!1).if(i0._`${q} instanceof ${B.ValidationError}`,()=>W.assign(j,i0._`${q}.errors`),()=>W.throw(q))),j}function L(){let j=i0._`${K}.errors`;return W.assign(j,null),D(i0.nil),j}function D(j=X.async?i0._`await `:i0.nil){let q=B.opts.passContext?Y9.default.this:Y9.default.self,M=!(("compile"in X)&&!H||X.schema===!1);W.assign(V,i0._`${j}${(0,uP.callValidateCode)(Q,K,q,M)}`,X.modifying)}function O(j){var q;W.if((0,i0.not)((q=X.valid)!==null&&q!==void 0?q:V),j)}}Mz.funcKeywordCode=cP;function wz(Q){let{gen:X,data:Y,it:W}=Q;X.if(W.parentData,()=>X.assign(Y,i0._`${W.parentData}[${W.parentDataProperty}]`))}function pP(Q,X){let{gen:Y}=Q;Y.if(i0._`Array.isArray(${X})`,()=>{Y.assign(Y9.default.vErrors,i0._`${Y9.default.vErrors} === null ? ${X} : ${Y9.default.vErrors}.concat(${X})`).assign(Y9.default.errors,i0._`${Y9.default.vErrors}.length`),(0,lP.extendErrors)(Q)},()=>Q.error())}function dP({schemaEnv:Q},X){if(X.async&&!Q.$async)throw Error("async keyword in sync schema")}function qz(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 iP(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=iP;function nP({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=nP});var Sz=w((Ez)=>{Object.defineProperty(Ez,"__esModule",{value:!0});Ez.extendSubschemaMode=Ez.extendSubschemaData=Ez.getSubschema=void 0;var d1=o(),Zz=W0();function aP(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,Zz.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')}Ez.getSubschema=aP;function sP(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,F=H.let("data",d1._`${X.data}${(0,d1.getProperty)(Y)}`,!0);B(F),Q.errorPath=d1.str`${z}${(0,Zz.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]}}Ez.extendSubschemaData=sP;function eP(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}Ez.extendSubschemaMode=eP});var G8=w((yc,Iz)=>{Iz.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 Tz=w((fc,Cz)=>{var R6=Cz.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(){};VX(X,W,$,Q,"",Q)};R6.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};R6.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};R6.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};R6.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 VX(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 R6.arrayKeywords)for(var F=0;F<V.length;F++)VX(Q,X,Y,V[F],$+"/"+K+"/"+F,J,$,K,W,F)}else if(K in R6.propsKeywords){if(V&&typeof V=="object")for(var A in V)VX(Q,X,Y,V[A],$+"/"+K+"/"+YZ(A),J,$,K,W,A)}else if(K in R6.keywords||Q.allKeys&&!(K in R6.skipKeywords))VX(Q,X,Y,V,$+"/"+K,J,$,K,W)}Y(W,$,J,G,H,B,z)}}function YZ(Q){return Q.replace(/~/g,"~0").replace(/\//g,"~1")}});var H8=w((xz)=>{Object.defineProperty(xz,"__esModule",{value:!0});xz.getSchemaRefs=xz.resolveUrl=xz.normalizeId=xz._getFullPath=xz.getFullPath=xz.inlineRef=void 0;var WZ=W0(),$Z=G8(),JZ=Tz(),GZ=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function HZ(Q,X=!0){if(typeof Q=="boolean")return!0;if(X===!0)return!X$(Q);if(!X)return!1;return kz(Q)<=X}xz.inlineRef=HZ;var BZ=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function X$(Q){for(let X in Q){if(BZ.has(X))return!0;let Y=Q[X];if(Array.isArray(Y)&&Y.some(X$))return!0;if(typeof Y=="object"&&X$(Y))return!0}return!1}function kz(Q){let X=0;for(let Y in Q){if(Y==="$ref")return 1/0;if(X++,GZ.has(Y))continue;if(typeof Q[Y]=="object")(0,WZ.eachItem)(Q[Y],(W)=>X+=kz(W));if(X===1/0)return 1/0}return X}function vz(Q,X="",Y){if(Y!==!1)X=n9(X);let W=Q.parse(X);return _z(Q,W)}xz.getFullPath=vz;function _z(Q,X){return Q.serialize(X).split("#")[0]+"#"}xz._getFullPath=_z;var zZ=/#\/?$/;function n9(Q){return Q?Q.replace(zZ,""):""}xz.normalizeId=n9;function KZ(Q,X,Y){return Y=n9(Y),Q.resolve(X,Y)}xz.resolveUrl=KZ;var VZ=/^[a-z_][-a-z0-9._]*$/i;function FZ(Q,X){if(typeof Q=="boolean")return{};let{schemaId:Y,uriResolver:W}=this.opts,$=n9(Q[Y]||X),J={"":$},G=vz(W,$,!1),H={},B=new Set;return JZ(Q,{allKeys:!0},(V,F,A,L)=>{if(L===void 0)return;let D=G+F,O=J[L];if(typeof V[Y]=="string")O=j.call(this,V[Y]);q.call(this,V.$anchor),q.call(this,V.$dynamicAnchor),J[F]=O;function j(M){let S=this.opts.uriResolver.resolve;if(M=n9(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!==n9(D))if(M[0]==="#")z(V,H[M],M),H[M]=V;else this.refs[M]=D;return M}function q(M){if(typeof M=="string"){if(!VZ.test(M))throw Error(`invalid anchor "${M}"`);j.call(this,`#${M}`)}}}),H;function z(V,F,A){if(F!==void 0&&!$Z(V,F))throw K(A)}function K(V){return Error(`reference "${V}" resolves to more than one schema`)}}xz.getSchemaRefs=FZ});var K8=w((az)=>{Object.defineProperty(az,"__esModule",{value:!0});az.getData=az.KeywordCxt=az.validateFunctionCode=void 0;var lz=Qz(),fz=J8(),W$=o5(),FX=J8(),UZ=Lz(),z8=Pz(),Y$=Sz(),x=o(),u=W6(),NZ=H8(),$6=W0(),B8=$8();function wZ(Q){if(pz(Q)){if(dz(Q),cz(Q)){bZ(Q);return}}mz(Q,()=>(0,lz.topBoolOrEmptySchema)(Q))}az.validateFunctionCode=wZ;function mz({gen:Q,validateName:X,schema:Y,schemaEnv:W,opts:$},J){if($.code.es5)Q.func(X,x._`${u.default.data}, ${u.default.valCxt}`,W.$async,()=>{Q.code(x._`"use strict"; ${gz(Y,$)}`),MZ(Q,$),Q.code(J)});else Q.func(X,x._`${u.default.data}, ${qZ($)}`,W.$async,()=>Q.code(gz(Y,$)).code(J))}function qZ(Q){return x._`{${u.default.instancePath}="", ${u.default.parentData}, ${u.default.parentDataProperty}, ${u.default.rootData}=${u.default.data}${Q.dynamicRef?x._`, ${u.default.dynamicAnchors}={}`:x.nil}}={}`}function MZ(Q,X){Q.if(u.default.valCxt,()=>{if(Q.var(u.default.instancePath,x._`${u.default.valCxt}.${u.default.instancePath}`),Q.var(u.default.parentData,x._`${u.default.valCxt}.${u.default.parentData}`),Q.var(u.default.parentDataProperty,x._`${u.default.valCxt}.${u.default.parentDataProperty}`),Q.var(u.default.rootData,x._`${u.default.valCxt}.${u.default.rootData}`),X.dynamicRef)Q.var(u.default.dynamicAnchors,x._`${u.default.valCxt}.${u.default.dynamicAnchors}`)},()=>{if(Q.var(u.default.instancePath,x._`""`),Q.var(u.default.parentData,x._`undefined`),Q.var(u.default.parentDataProperty,x._`undefined`),Q.var(u.default.rootData,u.default.data),X.dynamicRef)Q.var(u.default.dynamicAnchors,x._`{}`)})}function bZ(Q){let{schema:X,opts:Y,gen:W}=Q;mz(Q,()=>{if(Y.$comment&&X.$comment)nz(Q);if(SZ(Q),W.let(u.default.vErrors,null),W.let(u.default.errors,0),Y.unevaluated)PZ(Q);iz(Q),TZ(Q)});return}function PZ(Q){let{gen:X,validateName:Y}=Q;Q.evaluated=X.const("evaluated",x._`${Y}.evaluated`),X.if(x._`${Q.evaluated}.dynamicProps`,()=>X.assign(x._`${Q.evaluated}.props`,x._`undefined`)),X.if(x._`${Q.evaluated}.dynamicItems`,()=>X.assign(x._`${Q.evaluated}.items`,x._`undefined`))}function gz(Q,X){let Y=typeof Q=="object"&&Q[X.schemaId];return Y&&(X.code.source||X.code.process)?x._`/*# sourceURL=${Y} */`:x.nil}function ZZ(Q,X){if(pz(Q)){if(dz(Q),cz(Q)){EZ(Q,X);return}}(0,lz.boolOrEmptySchema)(Q,X)}function cz({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 pz(Q){return typeof Q.schema!="boolean"}function EZ(Q,X){let{schema:Y,gen:W,opts:$}=Q;if($.$comment&&Y.$comment)nz(Q);IZ(Q),CZ(Q);let J=W.const("_errs",u.default.errors);iz(Q,J),W.var(X,x._`${J} === ${u.default.errors}`)}function dz(Q){(0,$6.checkUnknownRules)(Q),RZ(Q)}function iz(Q,X){if(Q.opts.jtd)return hz(Q,[],!1,X);let Y=(0,fz.getSchemaTypes)(Q.schema),W=(0,fz.coerceAndCheckDataType)(Q,Y);hz(Q,Y,!W,X)}function RZ(Q){let{schema:X,errSchemaPath:Y,opts:W,self:$}=Q;if(X.$ref&&W.ignoreKeywordsWithRef&&(0,$6.schemaHasRulesButRef)(X,$.RULES))$.logger.warn(`$ref: keywords ignored in schema at path "${Y}"`)}function SZ(Q){let{schema:X,opts:Y}=Q;if(X.default!==void 0&&Y.useDefaults&&Y.strictSchema)(0,$6.checkStrictMode)(Q,"default is ignored in the schema root")}function IZ(Q){let X=Q.schema[Q.opts.schemaId];if(X)Q.baseId=(0,NZ.resolveUrl)(Q.opts.uriResolver,Q.baseId,X)}function CZ(Q){if(Q.schema.$async&&!Q.schemaEnv.$async)throw Error("async schema in sync schema")}function nz({gen:Q,schemaEnv:X,schema:Y,errSchemaPath:W,opts:$}){let J=Y.$comment;if($.$comment===!0)Q.code(x._`${u.default.self}.logger.log(${J})`);else if(typeof $.$comment=="function"){let G=x.str`${W}/$comment`,H=Q.scopeValue("root",{ref:X.root});Q.code(x._`${u.default.self}.opts.$comment(${J}, ${G}, ${H}.schema)`)}}function TZ(Q){let{gen:X,schemaEnv:Y,validateName:W,ValidationError:$,opts:J}=Q;if(Y.$async)X.if(x._`${u.default.errors} === 0`,()=>X.return(u.default.data),()=>X.throw(x._`new ${$}(${u.default.vErrors})`));else{if(X.assign(x._`${W}.errors`,u.default.vErrors),J.unevaluated)kZ(Q);X.return(x._`${u.default.errors} === 0`)}}function kZ({gen:Q,evaluated:X,props:Y,items:W}){if(Y instanceof x.Name)Q.assign(x._`${X}.props`,Y);if(W instanceof x.Name)Q.assign(x._`${X}.items`,W)}function hz(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,$6.schemaHasRulesButRef)(J,K))){$.block(()=>rz(Q,"$ref",K.all.$ref.definition));return}if(!B.jtd)vZ(Q,X);$.block(()=>{for(let F of K.rules)V(F);V(K.post)});function V(F){if(!(0,W$.shouldUseGroup)(J,F))return;if(F.type){if($.if((0,FX.checkDataType)(F.type,G,B.strictNumbers)),uz(Q,F),X.length===1&&X[0]===F.type&&Y)$.else(),(0,FX.reportTypeError)(Q);$.endIf()}else uz(Q,F);if(!H)$.if(x._`${u.default.errors} === ${W||0}`)}}function uz(Q,X){let{gen:Y,schema:W,opts:{useDefaults:$}}=Q;if($)(0,UZ.assignDefaults)(Q,X.type);Y.block(()=>{for(let J of X.rules)if((0,W$.shouldUseRule)(W,J))rz(Q,J.keyword,J.definition,X.type)})}function vZ(Q,X){if(Q.schemaEnv.meta||!Q.opts.strictTypes)return;if(_Z(Q,X),!Q.opts.allowUnionTypes)xZ(Q,X);yZ(Q,Q.dataTypes)}function _Z(Q,X){if(!X.length)return;if(!Q.dataTypes.length){Q.dataTypes=X;return}X.forEach((Y)=>{if(!oz(Q.dataTypes,Y))$$(Q,`type "${Y}" not allowed by context "${Q.dataTypes.join(",")}"`)}),gZ(Q,X)}function xZ(Q,X){if(X.length>1&&!(X.length===2&&X.includes("null")))$$(Q,"use allowUnionTypes to allow union type keyword")}function yZ(Q,X){let Y=Q.self.RULES.all;for(let W in Y){let $=Y[W];if(typeof $=="object"&&(0,W$.shouldUseRule)(Q.schema,$)){let{type:J}=$.definition;if(J.length&&!J.some((G)=>fZ(X,G)))$$(Q,`missing type "${J.join(",")}" for keyword "${W}"`)}}}function fZ(Q,X){return Q.includes(X)||X==="number"&&Q.includes("integer")}function oz(Q,X){return Q.includes(X)||X==="integer"&&Q.includes("number")}function gZ(Q,X){let Y=[];for(let W of Q.dataTypes)if(oz(X,W))Y.push(W);else if(X.includes("integer")&&W==="number")Y.push("integer");Q.dataTypes=Y}function $$(Q,X){let Y=Q.schemaEnv.baseId+Q.errSchemaPath;X+=` at "${Y}" (strictTypes)`,(0,$6.checkStrictMode)(Q,X,Q.opts.strictTypes)}class J${constructor(Q,X,Y){if((0,z8.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,$6.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",tz(this.$data,Q));else if(this.schemaCode=this.schemaValue,!(0,z8.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",u.default.errors)}result(Q,X,Y){this.failResult((0,x.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,x.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(x._`${X} !== undefined && (${(0,x.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?B8.reportExtraError:B8.reportError)(this,this.def.error,X)}$dataError(){(0,B8.reportError)(this,this.def.$dataError||B8.keyword$DataError)}reset(){if(this.errsCount===void 0)throw Error('add "trackErrors" to keyword definition');(0,B8.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=x.nil){this.gen.block(()=>{this.check$data(Q,Y),X()})}check$data(Q=x.nil,X=x.nil){if(!this.$data)return;let{gen:Y,schemaCode:W,schemaType:$,def:J}=this;if(Y.if((0,x.or)(x._`${W} === undefined`,X)),Q!==x.nil)Y.assign(Q,!0);if($.length||J.validateSchema){if(Y.elseIf(this.invalid$data()),this.$dataError(),Q!==x.nil)Y.assign(Q,!1)}Y.else()}invalid$data(){let{gen:Q,schemaCode:X,schemaType:Y,def:W,it:$}=this;return(0,x.or)(J(),G());function J(){if(Y.length){if(!(X instanceof x.Name))throw Error("ajv implementation error");let H=Array.isArray(Y)?Y:[Y];return x._`${(0,FX.checkDataTypes)(H,X,$.opts.strictNumbers,FX.DataType.Wrong)}`}return x.nil}function G(){if(W.validateSchema){let H=Q.scopeValue("validate$data",{ref:W.validateSchema});return x._`!${H}(${X})`}return x.nil}}subschema(Q,X){let Y=(0,Y$.getSubschema)(this.it,Q);(0,Y$.extendSubschemaData)(Y,this.it,Q),(0,Y$.extendSubschemaMode)(Y,Q);let W={...this.it,...Y,items:void 0,props:void 0};return ZZ(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=$6.mergeEvaluated.props(W,Q.props,Y.props,X);if(Y.items!==!0&&Q.items!==void 0)Y.items=$6.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,x.Name)),!0}}az.KeywordCxt=J$;function rz(Q,X,Y,W){let $=new J$(Q,Y,X);if("code"in Y)Y.code($,W);else if($.$data&&Y.validate)(0,z8.funcKeywordCode)($,Y);else if("macro"in Y)(0,z8.macroKeywordCode)($,Y);else if(Y.compile||Y.validate)(0,z8.funcKeywordCode)($,Y)}var hZ=/^\/(?:[^~]|~0|~1)*$/,uZ=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function tz(Q,{dataLevel:X,dataNames:Y,dataPathArr:W}){let $,J;if(Q==="")return u.default.rootData;if(Q[0]==="/"){if(!hZ.test(Q))throw Error(`Invalid JSON-pointer: ${Q}`);$=Q,J=u.default.rootData}else{let z=uZ.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=x._`${J}${(0,x.getProperty)((0,$6.unescapeJsonPointer)(z))}`,G=x._`${G} && ${J}`;return G;function B(z,K){return`Cannot access ${z} ${K} levels up, current level is ${X}`}}az.getData=tz});var AX=w((QK)=>{Object.defineProperty(QK,"__esModule",{value:!0});class ez extends Error{constructor(Q){super("validation failed");this.errors=Q,this.ajv=this.validation=!0}}QK.default=ez});var V8=w((YK)=>{Object.defineProperty(YK,"__esModule",{value:!0});var G$=H8();class XK extends Error{constructor(Q,X,Y,W){super(W||`can't resolve reference ${Y} from id ${X}`);this.missingRef=(0,G$.resolveUrl)(Q,X,Y),this.missingSchema=(0,G$.normalizeId)((0,G$.getFullPath)(Q,this.missingRef))}}YK.default=XK});var LX=w((JK)=>{Object.defineProperty(JK,"__esModule",{value:!0});JK.resolveSchema=JK.getCompilingSchema=JK.resolveRef=JK.compileSchema=JK.SchemaEnv=void 0;var I1=o(),dZ=AX(),W9=W6(),C1=H8(),WK=W0(),iZ=K8();class F8{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,C1.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={}}}JK.SchemaEnv=F8;function B$(Q){let X=$K.call(this,Q);if(X)return X;let Y=(0,C1.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:dZ.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:W9.default.data,parentData:W9.default.parentData,parentDataProperty:W9.default.parentDataProperty,dataNames:[W9.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,iZ.validateFunctionCode)(z),G.optimize(this.opts.code.optimize);let V=G.toString();if(K=`${G.scopeRefs(W9.default.scope)}return ${V}`,this.opts.code.process)K=this.opts.code.process(K,Q);let A=Function(`${W9.default.self}`,`${W9.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:L,items:D}=z;if(A.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},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)}}JK.compileSchema=B$;function nZ(Q,X,Y){var W;Y=(0,C1.resolveUrl)(this.opts.uriResolver,X,Y);let $=Q.refs[Y];if($)return $;let J=tZ.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 F8({schema:G,schemaId:H,root:Q,baseId:X})}if(J===void 0)return;return Q.refs[Y]=oZ.call(this,J)}JK.resolveRef=nZ;function oZ(Q){if((0,C1.inlineRef)(Q.schema,this.opts.inlineRefs))return Q.schema;return Q.validate?Q:B$.call(this,Q)}function $K(Q){for(let X of this._compilations)if(rZ(X,Q))return X}JK.getCompilingSchema=$K;function rZ(Q,X){return Q.schema===X.schema&&Q.root===X.root&&Q.baseId===X.baseId}function tZ(Q,X){let Y;while(typeof(Y=this.refs[X])=="string")X=Y;return Y||this.schemas[X]||DX.call(this,Q,X)}function DX(Q,X){let Y=this.opts.uriResolver.parse(X),W=(0,C1._getFullPath)(this.opts.uriResolver,Y),$=(0,C1.getFullPath)(this.opts.uriResolver,Q.baseId,void 0);if(Object.keys(Q.schema).length>0&&W===$)return H$.call(this,Y,Q);let J=(0,C1.normalizeId)(W),G=this.refs[J]||this.schemas[J];if(typeof G=="string"){let H=DX.call(this,Q,G);if(typeof(H===null||H===void 0?void 0:H.schema)!=="object")return;return H$.call(this,Y,H)}if(typeof(G===null||G===void 0?void 0:G.schema)!=="object")return;if(!G.validate)B$.call(this,G);if(J===(0,C1.normalizeId)(X)){let{schema:H}=G,{schemaId:B}=this.opts,z=H[B];if(z)$=(0,C1.resolveUrl)(this.opts.uriResolver,$,z);return new F8({schema:H,schemaId:B,root:Q,baseId:$})}return H$.call(this,Y,G)}JK.resolveSchema=DX;var aZ=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function H$(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,WK.unescapeFragment)(H)];if(B===void 0)return;Y=B;let z=typeof Y==="object"&&Y[this.opts.schemaId];if(!aZ.has(H)&&z)X=(0,C1.resolveUrl)(this.opts.uriResolver,X,z)}let J;if(typeof Y!="boolean"&&Y.$ref&&!(0,WK.schemaHasRulesButRef)(Y,this.RULES)){let H=(0,C1.resolveUrl)(this.opts.uriResolver,X,Y.$ref);J=DX.call(this,W,H)}let{schemaId:G}=this.opts;if(J=J||new F8({schema:Y,schemaId:G,root:W,baseId:X}),J.schema!==J.root.schema)return J;return}});var HK=w((cc,YE)=>{YE.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 K$=w((pc,VK)=>{var WE=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),zK=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 z$(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 $E=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function BK(Q){return Q.length=0,!0}function JE(Q,X,Y){if(Q.length){let W=z$(Q);if(W!=="")X.push(W);else return Y.error=!0,!1;Q.length=0}return!0}function GE(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=BK}else{$.push(z);continue}}if($.length)if(H===BK)Y.zone=$.join("");else if(G)W.push($.join(""));else W.push(z$($));return Y.address=W.join(""),Y}function KK(Q){if(HE(Q,":")<2)return{host:Q,isIPV6:!1};let X=GE(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 HE(Q,X){let Y=0;for(let W=0;W<Q.length;W++)if(Q[W]===X)Y++;return Y}function BE(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 zE(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 KE(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(!zK(Y)){let W=KK(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}VK.exports={nonSimpleDomain:$E,recomposeAuthority:KE,normalizeComponentEncoding:zE,removeDotSegments:BE,isIPv4:zK,isUUID:WE,normalizeIPv6:KK,stringArrayToHexStripped:z$}});var OK=w((dc,LK)=>{var{isUUID:VE}=K$(),FE=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,AE=["http","https","ws","wss","urn","urn:uuid"];function DE(Q){return AE.indexOf(Q)!==-1}function V$(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 FK(Q){if(!Q.host)Q.error=Q.error||"HTTP URIs must have a host.";return Q}function AK(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 LE(Q){return Q.secure=V$(Q),Q.resourceName=(Q.path||"/")+(Q.query?"?"+Q.query:""),Q.path=void 0,Q.query=void 0,Q}function OE(Q){if(Q.port===(V$(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 jE(Q,X){if(!Q.path)return Q.error="URN can not be parsed",Q;let Y=Q.path.match(FE);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=F$($);if(Q.path=void 0,J)Q=J.parse(Q,X)}else Q.error=Q.error||"URN can not be parsed.";return Q}function UE(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=F$($);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 NE(Q,X){let Y=Q;if(Y.uuid=Y.nss,Y.nss=void 0,!X.tolerant&&(!Y.uuid||!VE(Y.uuid)))Y.error=Y.error||"UUID is not valid.";return Y}function wE(Q){let X=Q;return X.nss=(Q.uuid||"").toLowerCase(),X}var DK={scheme:"http",domainHost:!0,parse:FK,serialize:AK},qE={scheme:"https",domainHost:DK.domainHost,parse:FK,serialize:AK},OX={scheme:"ws",domainHost:!0,parse:LE,serialize:OE},ME={scheme:"wss",domainHost:OX.domainHost,parse:OX.parse,serialize:OX.serialize},bE={scheme:"urn",parse:jE,serialize:UE,skipNormalize:!0},PE={scheme:"urn:uuid",parse:NE,serialize:wE,skipNormalize:!0},jX={http:DK,https:qE,ws:OX,wss:ME,urn:bE,"urn:uuid":PE};Object.setPrototypeOf(jX,null);function F$(Q){return Q&&(jX[Q]||jX[Q.toLowerCase()])||void 0}LK.exports={wsIsSecure:V$,SCHEMES:jX,isValidSchemeName:DE,getSchemeHandler:F$}});var D$=w((ic,NX)=>{var{normalizeIPv6:ZE,removeDotSegments:A8,recomposeAuthority:EE,normalizeComponentEncoding:UX,isIPv4:RE,nonSimpleDomain:SE}=K$(),{SCHEMES:IE,getSchemeHandler:jK}=OK();function CE(Q,X){if(typeof Q==="string")Q=i1(J6(Q,X),X);else if(typeof Q==="object")Q=J6(i1(Q,X),X);return Q}function TE(Q,X,Y){let W=Y?Object.assign({scheme:"null"},Y):{scheme:"null"},$=UK(J6(Q,W),J6(X,W),W,!0);return W.skipEscape=!0,i1($,W)}function UK(Q,X,Y,W){let $={};if(!W)Q=J6(i1(Q,Y),Y),X=J6(i1(X,Y),Y);if(Y=Y||{},!Y.tolerant&&X.scheme)$.scheme=X.scheme,$.userinfo=X.userinfo,$.host=X.host,$.port=X.port,$.path=A8(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=A8(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=A8(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=A8($.path)}$.query=X.query}$.userinfo=Q.userinfo,$.host=Q.host,$.port=Q.port}$.scheme=Q.scheme}return $.fragment=X.fragment,$}function kE(Q,X,Y){if(typeof Q==="string")Q=unescape(Q),Q=i1(UX(J6(Q,Y),!0),{...Y,skipEscape:!0});else if(typeof Q==="object")Q=i1(UX(Q,!0),{...Y,skipEscape:!0});if(typeof X==="string")X=unescape(X),X=i1(UX(J6(X,Y),!0),{...Y,skipEscape:!0});else if(typeof X==="object")X=i1(UX(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=jK(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=EE(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=A8(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 vE=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function J6(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(vE);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(RE(W.host)===!1){let B=ZE(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=jK(Y.scheme||W.scheme);if(!Y.unicodeSupport&&(!G||!G.unicodeSupport)){if(W.host&&(Y.domainHost||G&&G.domainHost)&&$===!1&&SE(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 A$={SCHEMES:IE,normalize:CE,resolve:TE,resolveComponent:UK,equal:kE,serialize:i1,parse:J6};NX.exports=A$;NX.exports.default=A$;NX.exports.fastUri=A$});var qK=w((wK)=>{Object.defineProperty(wK,"__esModule",{value:!0});var NK=D$();NK.code='require("ajv/dist/runtime/uri").default';wK.default=NK});var IK=w((G6)=>{Object.defineProperty(G6,"__esModule",{value:!0});G6.CodeGen=G6.Name=G6.nil=G6.stringify=G6.str=G6._=G6.KeywordCxt=void 0;var xE=K8();Object.defineProperty(G6,"KeywordCxt",{enumerable:!0,get:function(){return xE.KeywordCxt}});var o9=o();Object.defineProperty(G6,"_",{enumerable:!0,get:function(){return o9._}});Object.defineProperty(G6,"str",{enumerable:!0,get:function(){return o9.str}});Object.defineProperty(G6,"stringify",{enumerable:!0,get:function(){return o9.stringify}});Object.defineProperty(G6,"nil",{enumerable:!0,get:function(){return o9.nil}});Object.defineProperty(G6,"Name",{enumerable:!0,get:function(){return o9.Name}});Object.defineProperty(G6,"CodeGen",{enumerable:!0,get:function(){return o9.CodeGen}});var yE=AX(),EK=V8(),fE=n5(),D8=LX(),gE=o(),L8=H8(),wX=J8(),O$=W0(),MK=HK(),hE=qK(),RK=(Q,X)=>new RegExp(Q,X);RK.code="new RegExp";var uE=["removeAdditional","useDefaults","coerceTypes"],lE=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),mE={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."},cE={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},bK=200;function pE(Q){var X,Y,W,$,J,G,H,B,z,K,V,F,A,L,D,O,j,q,M,S,Z,K0,b0,g1,h6;let j1=Q.strict,u6=(X=Q.code)===null||X===void 0?void 0:X.optimize,j4=u6===!0||u6===void 0?1:u6||0,U4=(W=(Y=Q.code)===null||Y===void 0?void 0:Y.regExp)!==null&&W!==void 0?W:RK,hY=($=Q.uriResolver)!==null&&$!==void 0?$:hE.default;return{strictSchema:(G=(J=Q.strictSchema)!==null&&J!==void 0?J:j1)!==null&&G!==void 0?G:!0,strictNumbers:(B=(H=Q.strictNumbers)!==null&&H!==void 0?H:j1)!==null&&B!==void 0?B:!0,strictTypes:(K=(z=Q.strictTypes)!==null&&z!==void 0?z:j1)!==null&&K!==void 0?K:"log",strictTuples:(F=(V=Q.strictTuples)!==null&&V!==void 0?V:j1)!==null&&F!==void 0?F:"log",strictRequired:(L=(A=Q.strictRequired)!==null&&A!==void 0?A:j1)!==null&&L!==void 0?L:!1,code:Q.code?{...Q.code,optimize:j4,regExp:U4}:{optimize:j4,regExp:U4},loopRequired:(D=Q.loopRequired)!==null&&D!==void 0?D:bK,loopEnum:(O=Q.loopEnum)!==null&&O!==void 0?O:bK,meta:(j=Q.meta)!==null&&j!==void 0?j:!0,messages:(q=Q.messages)!==null&&q!==void 0?q:!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:(K0=Q.validateSchema)!==null&&K0!==void 0?K0:!0,validateFormats:(b0=Q.validateFormats)!==null&&b0!==void 0?b0:!0,unicodeRegExp:(g1=Q.unicodeRegExp)!==null&&g1!==void 0?g1:!0,int32range:(h6=Q.int32range)!==null&&h6!==void 0?h6:!0,uriResolver:hY}}class qX{constructor(Q={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,Q=this.opts={...Q,...pE(Q)};let{es5:X,lines:Y}=this.opts.code;this.scope=new gE.ValueScope({scope:{},prefixes:lE,es5:X,lines:Y}),this.logger=tE(Q.logger);let W=Q.validateFormats;if(Q.validateFormats=!1,this.RULES=(0,fE.getRules)(),PK.call(this,mE,Q,"NOT SUPPORTED"),PK.call(this,cE,Q,"DEPRECATED","warn"),this._metaOpts=oE.call(this),Q.formats)iE.call(this);if(this._addVocabularies(),this._addDefaultMetaSchema(),Q.keywords)nE.call(this,Q.keywords);if(typeof Q.meta=="object")this.addMetaSchema(Q.meta);dE.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 EK.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,L8.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=ZK.call(this,Q))=="string")Q=X;if(X===void 0){let{schemaId:Y}=this.opts,W=new D8.SchemaEnv({schema:{},schemaId:Y});if(X=D8.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=ZK.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,L8.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(sE.call(this,Y,X),!X)return(0,O$.eachItem)(Y,($)=>L$.call(this,$)),this;QR.call(this,X);let W={...X,type:(0,wX.getJSONTypes)(X.type),schemaType:(0,wX.getJSONTypes)(X.schemaType)};return(0,O$.eachItem)(Y,W.type.length===0?($)=>L$.call(this,$,W):($)=>W.type.forEach((J)=>L$.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]=SK(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,L8.normalizeId)(J||Y);let B=L8.getSchemaRefs.call(this,Q,Y);if(H=new D8.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 D8.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{D8.compileSchema.call(this,Q)}finally{this.opts=X}}}qX.ValidationError=yE.default;qX.MissingRefError=EK.default;G6.default=qX;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 ZK(Q){return Q=(0,L8.normalizeId)(Q),this.schemas[Q]||this.refs[Q]}function dE(){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 iE(){for(let Q in this.opts.formats){let X=this.opts.formats[Q];if(X)this.addFormat(Q,X)}}function nE(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 oE(){let Q={...this.opts};for(let X of uE)delete Q[X];return Q}var rE={log(){},warn(){},error(){}};function tE(Q){if(Q===!1)return rE;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 aE=/^[a-z_$][a-z0-9_$:-]*$/i;function sE(Q,X){let{RULES:Y}=this;if((0,O$.eachItem)(Q,(W)=>{if(Y.keywords[W])throw Error(`Keyword ${W} is already defined`);if(!aE.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 L$(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,wX.getJSONTypes)(X.type),schemaType:(0,wX.getJSONTypes)(X.schemaType)}};if(X.before)eE.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 eE(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 QR(Q){let{metaSchema:X}=Q;if(X===void 0)return;if(Q.$data&&this.opts.$data)X=SK(X);Q.validateSchema=this.compile(X,!0)}var XR={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function SK(Q){return{anyOf:[Q,XR]}}});var TK=w((CK)=>{Object.defineProperty(CK,"__esModule",{value:!0});var $R={keyword:"id",code(){throw Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};CK.default=$R});var fK=w((xK)=>{Object.defineProperty(xK,"__esModule",{value:!0});xK.callRef=xK.getValidate=void 0;var GR=V8(),kK=A1(),Y1=o(),r9=W6(),vK=LX(),MX=W0(),HR={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=vK.resolveRef.call(B,z,$,Y);if(K===void 0)throw new GR.default(W.opts.uriResolver,$,Y);if(K instanceof vK.SchemaEnv)return F(K);return A(K);function V(){if(J===z)return bX(Q,G,J,J.$async);let L=X.scopeValue("root",{ref:z});return bX(Q,Y1._`${L}.validate`,z,z.$async)}function F(L){let D=_K(Q,L);bX(Q,D,L,L.$async)}function A(L){let D=X.scopeValue("schema",H.code.source===!0?{ref:L,code:(0,Y1.stringify)(L)}:{ref:L}),O=X.name("valid"),j=Q.subschema({schema:L,dataTypes:[],schemaPath:Y1.nil,topSchemaRef:D,errSchemaPath:Y},O);Q.mergeEvaluated(j),Q.ok(O)}}};function _K(Q,X){let{gen:Y}=Q;return X.validate?Y.scopeValue("validate",{ref:X.validate}):Y1._`${Y.scopeValue("wrapper",{ref:X})}.validate`}xK.getValidate=_K;function bX(Q,X,Y,W){let{gen:$,it:J}=Q,{allErrors:G,schemaEnv:H,opts:B}=J,z=B.passContext?r9.default.this:Y1.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(Y1._`await ${(0,kK.callValidateCode)(Q,X,z)}`),A(X),!G)$.assign(L,!0)},(D)=>{if($.if(Y1._`!(${D} instanceof ${J.ValidationError})`,()=>$.throw(D)),F(D),!G)$.assign(L,!1)}),Q.ok(L)}function V(){Q.result((0,kK.callValidateCode)(Q,X,z),()=>A(X),()=>F(X))}function F(L){let D=Y1._`${L}.errors`;$.assign(r9.default.vErrors,Y1._`${r9.default.vErrors} === null ? ${D} : ${r9.default.vErrors}.concat(${D})`),$.assign(r9.default.errors,Y1._`${r9.default.vErrors}.length`)}function A(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=MX.mergeEvaluated.props($,O.props,J.props)}else{let j=$.var("props",Y1._`${L}.evaluated.props`);J.props=MX.mergeEvaluated.props($,j,J.props,Y1.Name)}if(J.items!==!0)if(O&&!O.dynamicItems){if(O.items!==void 0)J.items=MX.mergeEvaluated.items($,O.items,J.items)}else{let j=$.var("items",Y1._`${L}.evaluated.items`);J.items=MX.mergeEvaluated.items($,j,J.items,Y1.Name)}}}xK.callRef=bX;xK.default=HR});var hK=w((gK)=>{Object.defineProperty(gK,"__esModule",{value:!0});var KR=TK(),VR=fK(),FR=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",KR.default,VR.default];gK.default=FR});var lK=w((uK)=>{Object.defineProperty(uK,"__esModule",{value:!0});var PX=o(),S6=PX.operators,ZX={maximum:{okStr:"<=",ok:S6.LTE,fail:S6.GT},minimum:{okStr:">=",ok:S6.GTE,fail:S6.LT},exclusiveMaximum:{okStr:"<",ok:S6.LT,fail:S6.GTE},exclusiveMinimum:{okStr:">",ok:S6.GT,fail:S6.LTE}},DR={message:({keyword:Q,schemaCode:X})=>PX.str`must be ${ZX[Q].okStr} ${X}`,params:({keyword:Q,schemaCode:X})=>PX._`{comparison: ${ZX[Q].okStr}, limit: ${X}}`},LR={keyword:Object.keys(ZX),type:"number",schemaType:"number",$data:!0,error:DR,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q;Q.fail$data(PX._`${Y} ${ZX[X].fail} ${W} || isNaN(${Y})`)}};uK.default=LR});var cK=w((mK)=>{Object.defineProperty(mK,"__esModule",{value:!0});var O8=o(),jR={message:({schemaCode:Q})=>O8.str`must be multiple of ${Q}`,params:({schemaCode:Q})=>O8._`{multipleOf: ${Q}}`},UR={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:jR,code(Q){let{gen:X,data:Y,schemaCode:W,it:$}=Q,J=$.opts.multipleOfPrecision,G=X.let("res"),H=J?O8._`Math.abs(Math.round(${G}) - ${G}) > 1e-${J}`:O8._`${G} !== parseInt(${G})`;Q.fail$data(O8._`(${W} === 0 || (${G} = ${Y}/${W}, ${H}))`)}};mK.default=UR});var iK=w((dK)=>{Object.defineProperty(dK,"__esModule",{value:!0});function pK(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}dK.default=pK;pK.code='require("ajv/dist/runtime/ucs2length").default'});var oK=w((nK)=>{Object.defineProperty(nK,"__esModule",{value:!0});var $9=o(),qR=W0(),MR=iK(),bR={message({keyword:Q,schemaCode:X}){let Y=Q==="maxLength"?"more":"fewer";return $9.str`must NOT have ${Y} than ${X} characters`},params:({schemaCode:Q})=>$9._`{limit: ${Q}}`},PR={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:bR,code(Q){let{keyword:X,data:Y,schemaCode:W,it:$}=Q,J=X==="maxLength"?$9.operators.GT:$9.operators.LT,G=$.opts.unicode===!1?$9._`${Y}.length`:$9._`${(0,qR.useFunc)(Q.gen,MR.default)}(${Y})`;Q.fail$data($9._`${G} ${J} ${W}`)}};nK.default=PR});var tK=w((rK)=>{Object.defineProperty(rK,"__esModule",{value:!0});var ER=A1(),EX=o(),RR={message:({schemaCode:Q})=>EX.str`must match pattern "${Q}"`,params:({schemaCode:Q})=>EX._`{pattern: ${Q}}`},SR={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:RR,code(Q){let{data:X,$data:Y,schema:W,schemaCode:$,it:J}=Q,G=J.opts.unicodeRegExp?"u":"",H=Y?EX._`(new RegExp(${$}, ${G}))`:(0,ER.usePattern)(Q,W);Q.fail$data(EX._`!${H}.test(${X})`)}};rK.default=SR});var sK=w((aK)=>{Object.defineProperty(aK,"__esModule",{value:!0});var j8=o(),CR={message({keyword:Q,schemaCode:X}){let Y=Q==="maxProperties"?"more":"fewer";return j8.str`must NOT have ${Y} than ${X} properties`},params:({schemaCode:Q})=>j8._`{limit: ${Q}}`},TR={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:CR,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q,$=X==="maxProperties"?j8.operators.GT:j8.operators.LT;Q.fail$data(j8._`Object.keys(${Y}).length ${$} ${W}`)}};aK.default=TR});var QV=w((eK)=>{Object.defineProperty(eK,"__esModule",{value:!0});var U8=A1(),N8=o(),vR=W0(),_R={message:({params:{missingProperty:Q}})=>N8.str`must have required property '${Q}'`,params:({params:{missingProperty:Q}})=>N8._`{missingProperty: ${Q}}`},xR={keyword:"required",type:"object",schemaType:"array",$data:!0,error:_R,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 A=Q.parentSchema.properties,{definedProperties:L}=Q.it;for(let D of Y)if((A===null||A===void 0?void 0:A[D])===void 0&&!L.has(D)){let O=G.schemaEnv.baseId+G.errSchemaPath,j=`required property "${D}" is not defined at "${O}" (strictRequired)`;(0,vR.checkStrictMode)(G,j,G.opts.strictRequired)}}function z(){if(B||J)Q.block$data(N8.nil,V);else for(let A of Y)(0,U8.checkReportMissingProp)(Q,A)}function K(){let A=X.let("missing");if(B||J){let L=X.let("valid",!0);Q.block$data(L,()=>F(A,L)),Q.ok(L)}else X.if((0,U8.checkMissingProp)(Q,Y,A)),(0,U8.reportMissingProp)(Q,A),X.else()}function V(){X.forOf("prop",W,(A)=>{Q.setParams({missingProperty:A}),X.if((0,U8.noPropertyInData)(X,$,A,H.ownProperties),()=>Q.error())})}function F(A,L){Q.setParams({missingProperty:A}),X.forOf(A,W,()=>{X.assign(L,(0,U8.propertyInData)(X,$,A,H.ownProperties)),X.if((0,N8.not)(L),()=>{Q.error(),X.break()})},N8.nil)}}};eK.default=xR});var YV=w((XV)=>{Object.defineProperty(XV,"__esModule",{value:!0});var w8=o(),fR={message({keyword:Q,schemaCode:X}){let Y=Q==="maxItems"?"more":"fewer";return w8.str`must NOT have ${Y} than ${X} items`},params:({schemaCode:Q})=>w8._`{limit: ${Q}}`},gR={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:fR,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q,$=X==="maxItems"?w8.operators.GT:w8.operators.LT;Q.fail$data(w8._`${Y}.length ${$} ${W}`)}};XV.default=gR});var RX=w(($V)=>{Object.defineProperty($V,"__esModule",{value:!0});var WV=G8();WV.code='require("ajv/dist/runtime/equal").default';$V.default=WV});var GV=w((JV)=>{Object.defineProperty(JV,"__esModule",{value:!0});var j$=J8(),x0=o(),lR=W0(),mR=RX(),cR={message:({params:{i:Q,j:X}})=>x0.str`must NOT have duplicate items (items ## ${X} and ${Q} are identical)`,params:({params:{i:Q,j:X}})=>x0._`{i: ${Q}, j: ${X}}`},pR={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:cR,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,j$.getSchemaTypes)(J.items):[];Q.block$data(B,K,x0._`${G} === false`),Q.ok(B);function K(){let L=X.let("i",x0._`${Y}.length`),D=X.let("j");Q.setParams({i:L,j:D}),X.assign(B,!0),X.if(x0._`${L} > 1`,()=>(V()?F:A)(L,D))}function V(){return z.length>0&&!z.some((L)=>L==="object"||L==="array")}function F(L,D){let O=X.name("item"),j=(0,j$.checkDataTypes)(z,O,H.opts.strictNumbers,j$.DataType.Wrong),q=X.const("indices",x0._`{}`);X.for(x0._`;${L}--;`,()=>{if(X.let(O,x0._`${Y}[${L}]`),X.if(j,x0._`continue`),z.length>1)X.if(x0._`typeof ${O} == "string"`,x0._`${O} += "_"`);X.if(x0._`typeof ${q}[${O}] == "number"`,()=>{X.assign(D,x0._`${q}[${O}]`),Q.error(),X.assign(B,!1).break()}).code(x0._`${q}[${O}] = ${L}`)})}function A(L,D){let O=(0,lR.useFunc)(X,mR.default),j=X.name("outer");X.label(j).for(x0._`;${L}--;`,()=>X.for(x0._`${D} = ${L}; ${D}--;`,()=>X.if(x0._`${O}(${Y}[${L}], ${Y}[${D}])`,()=>{Q.error(),X.assign(B,!1).break(j)})))}}};JV.default=pR});var BV=w((HV)=>{Object.defineProperty(HV,"__esModule",{value:!0});var U$=o(),iR=W0(),nR=RX(),oR={message:"must be equal to constant",params:({schemaCode:Q})=>U$._`{allowedValue: ${Q}}`},rR={keyword:"const",$data:!0,error:oR,code(Q){let{gen:X,data:Y,$data:W,schemaCode:$,schema:J}=Q;if(W||J&&typeof J=="object")Q.fail$data(U$._`!${(0,iR.useFunc)(X,nR.default)}(${Y}, ${$})`);else Q.fail(U$._`${J} !== ${Y}`)}};HV.default=rR});var KV=w((zV)=>{Object.defineProperty(zV,"__esModule",{value:!0});var q8=o(),aR=W0(),sR=RX(),eR={message:"must be equal to one of the allowed values",params:({schemaCode:Q})=>q8._`{allowedValues: ${Q}}`},QS={keyword:"enum",schemaType:"array",$data:!0,error:eR,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,aR.useFunc)(X,sR.default),K;if(H||W)K=X.let("valid"),Q.block$data(K,V);else{if(!Array.isArray($))throw Error("ajv implementation error");let A=X.const("vSchema",J);K=(0,q8.or)(...$.map((L,D)=>F(A,D)))}Q.pass(K);function V(){X.assign(K,!1),X.forOf("v",J,(A)=>X.if(q8._`${z()}(${Y}, ${A})`,()=>X.assign(K,!0).break()))}function F(A,L){let D=$[L];return typeof D==="object"&&D!==null?q8._`${z()}(${Y}, ${A}[${L}])`:q8._`${Y} === ${D}`}}};zV.default=QS});var FV=w((VV)=>{Object.defineProperty(VV,"__esModule",{value:!0});var YS=lK(),WS=cK(),$S=oK(),JS=tK(),GS=sK(),HS=QV(),BS=YV(),zS=GV(),KS=BV(),VS=KV(),FS=[YS.default,WS.default,$S.default,JS.default,GS.default,HS.default,BS.default,zS.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},KS.default,VS.default];VV.default=FS});var w$=w((DV)=>{Object.defineProperty(DV,"__esModule",{value:!0});DV.validateAdditionalItems=void 0;var J9=o(),N$=W0(),DS={message:({params:{len:Q}})=>J9.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>J9._`{limit: ${Q}}`},LS={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:DS,code(Q){let{parentSchema:X,it:Y}=Q,{items:W}=X;if(!Array.isArray(W)){(0,N$.checkStrictMode)(Y,'"additionalItems" is ignored when "items" is not an array of schemas');return}AV(Q,W)}};function AV(Q,X){let{gen:Y,schema:W,data:$,keyword:J,it:G}=Q;G.items=!0;let H=Y.const("len",J9._`${$}.length`);if(W===!1)Q.setParams({len:X.length}),Q.pass(J9._`${H} <= ${X.length}`);else if(typeof W=="object"&&!(0,N$.alwaysValidSchema)(G,W)){let z=Y.var("valid",J9._`${H} <= ${X.length}`);Y.if((0,J9.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:N$.Type.Num},z),!G.allErrors)Y.if((0,J9.not)(z),()=>Y.break())})}}DV.validateAdditionalItems=AV;DV.default=LS});var q$=w((UV)=>{Object.defineProperty(UV,"__esModule",{value:!0});UV.validateTuple=void 0;var OV=o(),SX=W0(),jS=A1(),US={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(Q){let{schema:X,it:Y}=Q;if(Array.isArray(X))return jV(Q,"additionalItems",X);if(Y.items=!0,(0,SX.alwaysValidSchema)(Y,X))return;Q.ok((0,jS.validateArray)(Q))}};function jV(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=SX.mergeEvaluated.items(W,Y.length,H.items);let B=W.name("valid"),z=W.const("len",OV._`${J}.length`);Y.forEach((V,F)=>{if((0,SX.alwaysValidSchema)(H,V))return;W.if(OV._`${z} > ${F}`,()=>Q.subschema({keyword:G,schemaProp:F,dataProp:F},B)),Q.ok(B)});function K(V){let{opts:F,errSchemaPath:A}=H,L=Y.length,D=L===V.minItems&&(L===V.maxItems||V[X]===!1);if(F.strictTuples&&!D){let O=`"${G}" is ${L}-tuple, but minItems or maxItems/${X} are not specified or different at path "${A}"`;(0,SX.checkStrictMode)(H,O,F.strictTuples)}}}UV.validateTuple=jV;UV.default=US});var qV=w((wV)=>{Object.defineProperty(wV,"__esModule",{value:!0});var wS=q$(),qS={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:(Q)=>(0,wS.validateTuple)(Q,"items")};wV.default=qS});var PV=w((bV)=>{Object.defineProperty(bV,"__esModule",{value:!0});var MV=o(),bS=W0(),PS=A1(),ZS=w$(),ES={message:({params:{len:Q}})=>MV.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>MV._`{limit: ${Q}}`},RS={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:ES,code(Q){let{schema:X,parentSchema:Y,it:W}=Q,{prefixItems:$}=Y;if(W.items=!0,(0,bS.alwaysValidSchema)(W,X))return;if($)(0,ZS.validateAdditionalItems)(Q,$);else Q.ok((0,PS.validateArray)(Q))}};bV.default=RS});var EV=w((ZV)=>{Object.defineProperty(ZV,"__esModule",{value:!0});var D1=o(),IX=W0(),IS={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}}`},CS={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:IS,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,IX.checkStrictMode)(J,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(H!==void 0&&G>H){(0,IX.checkStrictMode)(J,'"minContains" > "maxContains" is always invalid'),Q.fail();return}if((0,IX.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)A(V,()=>X.if(V,()=>X.break()));else if(G===0){if(X.let(V,!0),H!==void 0)X.if(D1._`${$}.length > 0`,F)}else X.let(V,!1),F();Q.result(V,()=>Q.reset());function F(){let D=X.name("_valid"),O=X.let("count",0);A(D,()=>X.if(D,()=>L(O)))}function A(D,O){X.forRange("i",0,K,(j)=>{Q.subschema({keyword:"contains",dataProp:j,dataPropType:IX.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))}}};ZV.default=CS});var kV=w((IV)=>{Object.defineProperty(IV,"__esModule",{value:!0});IV.validateSchemaDeps=IV.validatePropertyDeps=IV.error=void 0;var M$=o(),kS=W0(),M8=A1();IV.error={message:({params:{property:Q,depsCount:X,deps:Y}})=>{let W=X===1?"property":"properties";return M$.str`must have ${W} ${Y} when property ${Q} is present`},params:({params:{property:Q,depsCount:X,deps:Y,missingProperty:W}})=>M$._`{property: ${Q},
|
|
7
|
+
missingProperty: ${W},
|
|
8
|
+
depsCount: ${X},
|
|
9
|
+
deps: ${Y}}`};var vS={keyword:"dependencies",type:"object",schemaType:"object",error:IV.error,code(Q){let[X,Y]=_S(Q);RV(Q,X),SV(Q,Y)}};function _S({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 RV(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,M8.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,M8.checkReportMissingProp)(Q,z)});else Y.if(M$._`${B} && (${(0,M8.checkMissingProp)(Q,H,J)})`),(0,M8.reportMissingProp)(Q,J),Y.else()}}IV.validatePropertyDeps=RV;function SV(Q,X=Q.schema){let{gen:Y,data:W,keyword:$,it:J}=Q,G=Y.name("valid");for(let H in X){if((0,kS.alwaysValidSchema)(J,X[H]))continue;Y.if((0,M8.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)}}IV.validateSchemaDeps=SV;IV.default=vS});var xV=w((_V)=>{Object.defineProperty(_V,"__esModule",{value:!0});var vV=o(),fS=W0(),gS={message:"property name must be valid",params:({params:Q})=>vV._`{propertyName: ${Q.propertyName}}`},hS={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:gS,code(Q){let{gen:X,schema:Y,data:W,it:$}=Q;if((0,fS.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,vV.not)(J),()=>{if(Q.error(!0),!$.allErrors)X.break()})}),Q.ok(J)}};_V.default=hS});var b$=w((yV)=>{Object.defineProperty(yV,"__esModule",{value:!0});var CX=A1(),T1=o(),lS=W6(),TX=W0(),mS={message:"must NOT have additional properties",params:({params:Q})=>T1._`{additionalProperty: ${Q.additionalProperty}}`},cS={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:mS,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,TX.alwaysValidSchema)(G,Y))return;let z=(0,CX.allSchemaProperties)(W.properties),K=(0,CX.allSchemaProperties)(W.patternProperties);V(),Q.ok(T1._`${J} === ${lS.default.errors}`);function V(){X.forIn("key",$,(O)=>{if(!z.length&&!K.length)L(O);else X.if(F(O),()=>L(O))})}function F(O){let j;if(z.length>8){let q=(0,TX.schemaRefOrVal)(G,W.properties,"properties");j=(0,CX.isOwnProperty)(X,q,O)}else if(z.length)j=(0,T1.or)(...z.map((q)=>T1._`${O} === ${q}`));else j=T1.nil;if(K.length)j=(0,T1.or)(j,...K.map((q)=>T1._`${(0,CX.usePattern)(Q,q)}.test(${O})`));return(0,T1.not)(j)}function A(O){X.code(T1._`delete ${$}[${O}]`)}function L(O){if(B.removeAdditional==="all"||B.removeAdditional&&Y===!1){A(O);return}if(Y===!1){if(Q.setParams({additionalProperty:O}),Q.error(),!H)X.break();return}if(typeof Y=="object"&&!(0,TX.alwaysValidSchema)(G,Y)){let j=X.name("valid");if(B.removeAdditional==="failing")D(O,j,!1),X.if((0,T1.not)(j),()=>{Q.reset(),A(O)});else if(D(O,j),!H)X.if((0,T1.not)(j),()=>X.break())}}function D(O,j,q){let M={keyword:"additionalProperties",dataProp:O,dataPropType:TX.Type.Str};if(q===!1)Object.assign(M,{compositeRule:!0,createErrors:!1,allErrors:!1});Q.subschema(M,j)}}};yV.default=cS});var uV=w((hV)=>{Object.defineProperty(hV,"__esModule",{value:!0});var dS=K8(),fV=A1(),P$=W0(),gV=b$(),iS={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)gV.default.code(new dS.KeywordCxt(J,gV.default,"additionalProperties"));let G=(0,fV.allSchemaProperties)(Y);for(let V of G)J.definedProperties.add(V);if(J.opts.unevaluated&&G.length&&J.props!==!0)J.props=P$.mergeEvaluated.props(X,(0,P$.toHash)(G),J.props);let H=G.filter((V)=>!(0,P$.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,fV.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)}}};hV.default=iS});var dV=w((pV)=>{Object.defineProperty(pV,"__esModule",{value:!0});var lV=A1(),kX=o(),mV=W0(),cV=W0(),oS={keyword:"patternProperties",type:"object",schemaType:"object",code(Q){let{gen:X,schema:Y,data:W,parentSchema:$,it:J}=Q,{opts:G}=J,H=(0,lV.allSchemaProperties)(Y),B=H.filter((D)=>(0,mV.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 kX.Name))J.props=(0,cV.evaluatedPropsToName)(X,J.props);let{props:V}=J;F();function F(){for(let D of H){if(z)A(D);if(J.allErrors)L(D);else X.var(K,!0),L(D),X.if(K)}}function A(D){for(let O in z)if(new RegExp(D).test(O))(0,mV.checkStrictMode)(J,`property ${O} matches pattern ${D} (use allowMatchingProperties)`)}function L(D){X.forIn("key",W,(O)=>{X.if(kX._`${(0,lV.usePattern)(Q,D)}.test(${O})`,()=>{let j=B.includes(D);if(!j)Q.subschema({keyword:"patternProperties",schemaProp:D,dataProp:O,dataPropType:cV.Type.Str},K);if(J.opts.unevaluated&&V!==!0)X.assign(kX._`${V}[${O}]`,!0);else if(!j&&!J.allErrors)X.if((0,kX.not)(K),()=>X.break())})})}}};pV.default=oS});var nV=w((iV)=>{Object.defineProperty(iV,"__esModule",{value:!0});var tS=W0(),aS={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(Q){let{gen:X,schema:Y,it:W}=Q;if((0,tS.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"}};iV.default=aS});var rV=w((oV)=>{Object.defineProperty(oV,"__esModule",{value:!0});var eS=A1(),QI={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:eS.validateUnion,error:{message:"must match a schema in anyOf"}};oV.default=QI});var aV=w((tV)=>{Object.defineProperty(tV,"__esModule",{value:!0});var vX=o(),YI=W0(),WI={message:"must match exactly one schema in oneOf",params:({params:Q})=>vX._`{passingSchemas: ${Q.passing}}`},$I={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:WI,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 F;if((0,YI.alwaysValidSchema)($,K))X.var(B,!0);else F=Q.subschema({keyword:"oneOf",schemaProp:V,compositeRule:!0},B);if(V>0)X.if(vX._`${B} && ${G}`).assign(G,!1).assign(H,vX._`[${H}, ${V}]`).else();X.if(B,()=>{if(X.assign(G,!0),X.assign(H,V),F)Q.mergeEvaluated(F,vX.Name)})})}}};tV.default=$I});var eV=w((sV)=>{Object.defineProperty(sV,"__esModule",{value:!0});var GI=W0(),HI={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,GI.alwaysValidSchema)(W,J))return;let H=Q.subschema({keyword:"allOf",schemaProp:G},$);Q.ok($),Q.mergeEvaluated(H)})}};sV.default=HI});var WF=w((YF)=>{Object.defineProperty(YF,"__esModule",{value:!0});var _X=o(),XF=W0(),zI={message:({params:Q})=>_X.str`must match "${Q.ifClause}" schema`,params:({params:Q})=>_X._`{failingKeyword: ${Q.ifClause}}`},KI={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:zI,code(Q){let{gen:X,parentSchema:Y,it:W}=Q;if(Y.then===void 0&&Y.else===void 0)(0,XF.checkStrictMode)(W,'"if" without "then" and "else" is ignored');let $=QF(W,"then"),J=QF(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,_X.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(X.assign(G,H),Q.mergeValidEvaluated(F,G),V)X.assign(V,_X._`${K}`);else Q.setParams({ifClause:K})}}}};function QF(Q,X){let Y=Q.schema[X];return Y!==void 0&&!(0,XF.alwaysValidSchema)(Q,Y)}YF.default=KI});var JF=w(($F)=>{Object.defineProperty($F,"__esModule",{value:!0});var FI=W0(),AI={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:Q,parentSchema:X,it:Y}){if(X.if===void 0)(0,FI.checkStrictMode)(Y,`"${Q}" without "if" is ignored`)}};$F.default=AI});var HF=w((GF)=>{Object.defineProperty(GF,"__esModule",{value:!0});var LI=w$(),OI=qV(),jI=q$(),UI=PV(),NI=EV(),wI=kV(),qI=xV(),MI=b$(),bI=uV(),PI=dV(),ZI=nV(),EI=rV(),RI=aV(),SI=eV(),II=WF(),CI=JF();function TI(Q=!1){let X=[ZI.default,EI.default,RI.default,SI.default,II.default,CI.default,qI.default,MI.default,wI.default,bI.default,PI.default];if(Q)X.push(OI.default,UI.default);else X.push(LI.default,jI.default);return X.push(NI.default),X}GF.default=TI});var zF=w((BF)=>{Object.defineProperty(BF,"__esModule",{value:!0});var P0=o(),vI={message:({schemaCode:Q})=>P0.str`must match format "${Q}"`,params:({schemaCode:Q})=>P0._`{format: ${Q}}`},_I={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:vI,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($)F();else A();function F(){let L=Y.scopeValue("formats",{ref:V.formats,code:B.code.formats}),D=Y.const("fDef",P0._`${L}[${G}]`),O=Y.let("fType"),j=Y.let("format");Y.if(P0._`typeof ${D} == "object" && !(${D} instanceof RegExp)`,()=>Y.assign(O,P0._`${D}.type || "string"`).assign(j,P0._`${D}.validate`),()=>Y.assign(O,P0._`"string"`).assign(j,D)),Q.fail$data((0,P0.or)(q(),M()));function q(){if(B.strictSchema===!1)return P0.nil;return P0._`${G} && !${j}`}function M(){let S=K.$async?P0._`(${D}.async ? await ${j}(${W}) : ${j}(${W}))`:P0._`${j}(${W})`,Z=P0._`(typeof ${j} == "function" ? ${S} : ${j}.test(${W}))`;return P0._`${j} && ${j} !== true && ${O} === ${X} && !${Z}`}}function A(){let L=V.formats[J];if(!L){q();return}if(L===!0)return;let[D,O,j]=M(L);if(D===X)Q.pass(S());function q(){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 K0=Z instanceof RegExp?(0,P0.regexpCode)(Z):B.code.formats?P0._`${B.code.formats}${(0,P0.getProperty)(J)}`:void 0,b0=Y.scopeValue("formats",{key:J,ref:Z,code:K0});if(typeof Z=="object"&&!(Z instanceof RegExp))return[Z.type||"string",Z.validate,P0._`${b0}.validate`];return["string",Z,b0]}function S(){if(typeof L=="object"&&!(L instanceof RegExp)&&L.async){if(!K.$async)throw Error("async format in sync schema");return P0._`await ${j}(${W})`}return typeof O=="function"?P0._`${j}(${W})`:P0._`${j}.test(${W})`}}}};BF.default=_I});var VF=w((KF)=>{Object.defineProperty(KF,"__esModule",{value:!0});var yI=zF(),fI=[yI.default];KF.default=fI});var DF=w((FF)=>{Object.defineProperty(FF,"__esModule",{value:!0});FF.contentVocabulary=FF.metadataVocabulary=void 0;FF.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];FF.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var jF=w((OF)=>{Object.defineProperty(OF,"__esModule",{value:!0});var uI=hK(),lI=FV(),mI=HF(),cI=VF(),LF=DF(),pI=[uI.default,lI.default,(0,mI.default)(),cI.default,LF.metadataVocabulary,LF.contentVocabulary];OF.default=pI});var qF=w((NF)=>{Object.defineProperty(NF,"__esModule",{value:!0});NF.DiscrError=void 0;var UF;(function(Q){Q.Tag="tag",Q.Mapping="mapping"})(UF||(NF.DiscrError=UF={}))});var PF=w((bF)=>{Object.defineProperty(bF,"__esModule",{value:!0});var t9=o(),Z$=qF(),MF=LX(),iI=V8(),nI=W0(),oI={message:({params:{discrError:Q,tagName:X}})=>Q===Z$.DiscrError.Tag?`tag "${X}" must be string`:`value of tag "${X}" must be in oneOf`,params:({params:{discrError:Q,tag:X,tagName:Y}})=>t9._`{error: ${Q}, tag: ${Y}, tagValue: ${X}}`},rI={keyword:"discriminator",type:"object",schemaType:"object",error:oI,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",t9._`${Y}${(0,t9.getProperty)(H)}`);X.if(t9._`typeof ${z} == "string"`,()=>K(),()=>Q.error(!1,{discrError:Z$.DiscrError.Tag,tag:z,tagName:H})),Q.ok(B);function K(){let A=F();X.if(!1);for(let L in A)X.elseIf(t9._`${z} === ${L}`),X.assign(B,V(A[L]));X.else(),Q.error(!1,{discrError:Z$.DiscrError.Mapping,tag:z,tagName:H}),X.endIf()}function V(A){let L=X.name("valid"),D=Q.subschema({keyword:"oneOf",schemaProp:A},L);return Q.mergeEvaluated(D,t9.Name),L}function F(){var A;let L={},D=j($),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,nI.schemaHasRulesButRef)(Z,J.self.RULES)){let b0=Z.$ref;if(Z=MF.resolveRef.call(J.self,J.schemaEnv.root,J.baseId,b0),Z instanceof MF.SchemaEnv)Z=Z.schema;if(Z===void 0)throw new iI.default(J.opts.uriResolver,J.baseId,b0)}let K0=(A=Z===null||Z===void 0?void 0:Z.properties)===null||A===void 0?void 0:A[H];if(typeof K0!="object")throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${H}"`);O=O&&(D||j(Z)),q(K0,S)}if(!O)throw Error(`discriminator: "${H}" must be required`);return L;function j({required:S}){return Array.isArray(S)&&S.includes(H)}function q(S,Z){if(S.const)M(S.const,Z);else if(S.enum)for(let K0 of S.enum)M(K0,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}}}};bF.default=rI});var ZF=w((up,aI)=>{aI.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 RF=w((W1,E$)=>{Object.defineProperty(W1,"__esModule",{value:!0});W1.MissingRefError=W1.ValidationError=W1.CodeGen=W1.Name=W1.nil=W1.stringify=W1.str=W1._=W1.KeywordCxt=W1.Ajv=void 0;var sI=IK(),eI=jF(),QC=PF(),EF=ZF(),XC=["/properties"],xX="http://json-schema.org/draft-07/schema";class b8 extends sI.default{_addVocabularies(){if(super._addVocabularies(),eI.default.forEach((Q)=>this.addVocabulary(Q)),this.opts.discriminator)this.addKeyword(QC.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let Q=this.opts.$data?this.$dataMetaSchema(EF,XC):EF;this.addMetaSchema(Q,xX,!1),this.refs["http://json-schema.org/schema"]=xX}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(xX)?xX:void 0)}}W1.Ajv=b8;E$.exports=W1=b8;E$.exports.Ajv=b8;Object.defineProperty(W1,"__esModule",{value:!0});W1.default=b8;var YC=K8();Object.defineProperty(W1,"KeywordCxt",{enumerable:!0,get:function(){return YC.KeywordCxt}});var a9=o();Object.defineProperty(W1,"_",{enumerable:!0,get:function(){return a9._}});Object.defineProperty(W1,"str",{enumerable:!0,get:function(){return a9.str}});Object.defineProperty(W1,"stringify",{enumerable:!0,get:function(){return a9.stringify}});Object.defineProperty(W1,"nil",{enumerable:!0,get:function(){return a9.nil}});Object.defineProperty(W1,"Name",{enumerable:!0,get:function(){return a9.Name}});Object.defineProperty(W1,"CodeGen",{enumerable:!0,get:function(){return a9.CodeGen}});var WC=AX();Object.defineProperty(W1,"ValidationError",{enumerable:!0,get:function(){return WC.default}});var $C=V8();Object.defineProperty(W1,"MissingRefError",{enumerable:!0,get:function(){return $C.default}})});var fF=w((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(TF,C$),time:n1(S$(!0),T$),"date-time":n1(SF(!0),vF),"iso-time":n1(S$(),kF),"iso-date-time":n1(SF(),_F),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:FC,"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:NC,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:AC,int32:{type:"number",validate:OC},int64:{type:"number",validate:jC},float:{type:"number",validate:CF},double:{type:"number",validate:CF},password:!0,binary:!0};xF.fastFormats={...xF.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,T$),"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,vF),"iso-time":n1(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,kF),"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,_F),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 HC(Q){return Q%4===0&&(Q%100!==0||Q%400===0)}var BC=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,zC=[0,31,28,31,30,31,30,31,31,30,31,30,31];function TF(Q){let X=BC.exec(Q);if(!X)return!1;let Y=+X[1],W=+X[2],$=+X[3];return W>=1&&W<=12&&$>=1&&$<=(W===2&&HC(Y)?29:zC[W])}function C$(Q,X){if(!(Q&&X))return;if(Q>X)return 1;if(Q<X)return-1;return 0}var R$=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function S$(Q){return function(Y){let W=R$.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,F=$-z*B-(V<0?1:0);return(F===23||F===-1)&&(V===59||V===-1)&&G<61}}function T$(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 kF(Q,X){if(!(Q&&X))return;let Y=R$.exec(Q),W=R$.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 I$=/t|\s/i;function SF(Q){let X=S$(Q);return function(W){let $=W.split(I$);return $.length===2&&TF($[0])&&X($[1])}}function vF(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 _F(Q,X){if(!(Q&&X))return;let[Y,W]=Q.split(I$),[$,J]=X.split(I$),G=C$(Y,$);if(G===void 0)return;return G||T$(W,J)}var KC=/\/|:/,VC=/^(?:[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 FC(Q){return KC.test(Q)&&VC.test(Q)}var IF=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function AC(Q){return IF.lastIndex=0,IF.test(Q)}var DC=-2147483648,LC=2147483647;function OC(Q){return Number.isInteger(Q)&&Q<=LC&&Q>=DC}function jC(Q){return Number.isInteger(Q)}function CF(){return!0}var UC=/[^\\]\\Z/;function NC(Q){if(UC.test(Q))return!1;try{return new RegExp(Q),!0}catch(X){return!1}}});var Z8=w((uF)=>{Object.defineProperty(uF,"__esModule",{value:!0});uF.regexpCode=uF.getEsmExportName=uF.getProperty=uF.safeStringify=uF.stringify=uF.strConcat=uF.addCodeArg=uF.str=uF._=uF.nil=uF._Code=uF.Name=uF.IDENTIFIER=uF._CodeOrName=void 0;class yX{}uF._CodeOrName=yX;uF.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class s9 extends yX{constructor(Q){super();if(!uF.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}}}uF.Name=s9;class k1 extends yX{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 s9)X[Y.str]=(X[Y.str]||0)+1;return X},{})}}uF._Code=k1;uF.nil=new k1("");function gF(Q,...X){let Y=[Q[0]],W=0;while(W<X.length)_$(Y,X[W]),Y.push(Q[++W]);return new k1(Y)}uF._=gF;var v$=new k1("+");function hF(Q,...X){let Y=[P8(Q[0])],W=0;while(W<X.length)Y.push(v$),_$(Y,X[W]),Y.push(v$,P8(Q[++W]));return qC(Y),new k1(Y)}uF.str=hF;function _$(Q,X){if(X instanceof k1)Q.push(...X._items);else if(X instanceof s9)Q.push(X);else Q.push(PC(X))}uF.addCodeArg=_$;function qC(Q){let X=1;while(X<Q.length-1){if(Q[X]===v$){let Y=MC(Q[X-1],Q[X+1]);if(Y!==void 0){Q.splice(X-1,3,Y);continue}Q[X++]="+"}X++}}function MC(Q,X){if(X==='""')return Q;if(Q==='""')return X;if(typeof Q=="string"){if(X instanceof s9||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 s9))return`"${Q}${X.slice(1)}`;return}function bC(Q,X){return X.emptyStr()?Q:Q.emptyStr()?X:hF`${Q}${X}`}uF.strConcat=bC;function PC(Q){return typeof Q=="number"||typeof Q=="boolean"||Q===null?Q:P8(Array.isArray(Q)?Q.join(","):Q)}function ZC(Q){return new k1(P8(Q))}uF.stringify=ZC;function P8(Q){return JSON.stringify(Q).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}uF.safeStringify=P8;function EC(Q){return typeof Q=="string"&&uF.IDENTIFIER.test(Q)?new k1(`.${Q}`):gF`[${Q}]`}uF.getProperty=EC;function RC(Q){if(typeof Q=="string"&&uF.IDENTIFIER.test(Q))return new k1(`${Q}`);throw Error(`CodeGen: invalid export name: ${Q}, use explicit $id name mapping`)}uF.getEsmExportName=RC;function SC(Q){return new k1(Q.toString())}uF.regexpCode=SC});var g$=w((pF)=>{Object.defineProperty(pF,"__esModule",{value:!0});pF.ValueScope=pF.ValueScopeName=pF.Scope=pF.varKinds=pF.UsedValueState=void 0;var $1=Z8();class mF extends Error{constructor(Q){super(`CodeGen: "code" for ${Q} not defined`);this.value=Q.value}}var gX;(function(Q){Q[Q.Started=0]="Started",Q[Q.Completed=1]="Completed"})(gX||(pF.UsedValueState=gX={}));pF.varKinds={const:new $1.Name("const"),let:new $1.Name("let"),var:new $1.Name("var")};class y${constructor({prefixes:Q,parent:X}={}){this._names={},this._prefixes=Q,this._parent=X}toName(Q){return Q instanceof $1.Name?Q:this.name(Q)}name(Q){return new $1.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}}}pF.Scope=y$;class f$ extends $1.Name{constructor(Q,X){super(X);this.prefix=Q}setValue(Q,{property:X,itemIndex:Y}){this.value=Q,this.scopePath=$1._`.${new $1.Name(X)}[${Y}]`}}pF.ValueScopeName=f$;var lC=$1._`\n`;class cF extends y${constructor(Q){super(Q);this._values={},this._scope=Q.scope,this.opts={...Q,_n:Q.lines?lC:$1.nil}}get(){return this._scope}name(Q){return new f$(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 $1._`${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 $=$1.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,gX.Started);let z=X(B);if(z){let K=this.opts.es5?pF.varKinds.var:pF.varKinds.const;$=$1._`${$}${K} ${B} = ${z};${this.opts._n}`}else if(z=W===null||W===void 0?void 0:W(B))$=$1._`${$}${z}${this.opts._n}`;else throw new mF(B);H.set(B,gX.Completed)})}return $}}pF.ValueScope=cF});var i=w((J1)=>{Object.defineProperty(J1,"__esModule",{value:!0});J1.or=J1.and=J1.not=J1.CodeGen=J1.operators=J1.varKinds=J1.ValueScopeName=J1.ValueScope=J1.Scope=J1.Name=J1.regexpCode=J1.stringify=J1.getProperty=J1.nil=J1.strConcat=J1.str=J1._=void 0;var Q0=Z8(),v1=g$(),I6=Z8();Object.defineProperty(J1,"_",{enumerable:!0,get:function(){return I6._}});Object.defineProperty(J1,"str",{enumerable:!0,get:function(){return I6.str}});Object.defineProperty(J1,"strConcat",{enumerable:!0,get:function(){return I6.strConcat}});Object.defineProperty(J1,"nil",{enumerable:!0,get:function(){return I6.nil}});Object.defineProperty(J1,"getProperty",{enumerable:!0,get:function(){return I6.getProperty}});Object.defineProperty(J1,"stringify",{enumerable:!0,get:function(){return I6.stringify}});Object.defineProperty(J1,"regexpCode",{enumerable:!0,get:function(){return I6.regexpCode}});Object.defineProperty(J1,"Name",{enumerable:!0,get:function(){return I6.Name}});var pX=g$();Object.defineProperty(J1,"Scope",{enumerable:!0,get:function(){return pX.Scope}});Object.defineProperty(J1,"ValueScope",{enumerable:!0,get:function(){return pX.ValueScope}});Object.defineProperty(J1,"ValueScopeName",{enumerable:!0,get:function(){return pX.ValueScopeName}});Object.defineProperty(J1,"varKinds",{enumerable:!0,get:function(){return pX.varKinds}});J1.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 C6{optimizeNodes(){return this}optimizeNames(Q,X){return this}}class iF extends C6{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=Q4(this.rhs,Q,X);return this}get names(){return this.rhs instanceof Q0._CodeOrName?this.rhs.names:{}}}class l$ extends C6{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=Q4(this.rhs,Q,X),this}get names(){let Q=this.lhs instanceof Q0.Name?{}:{...this.lhs.names};return cX(Q,this.rhs)}}class nF extends l${constructor(Q,X,Y,W){super(Q,Y,W);this.op=X}render({_n:Q}){return`${this.lhs} ${this.op}= ${this.rhs};`+Q}}class oF extends C6{constructor(Q){super();this.label=Q,this.names={}}render({_n:Q}){return`${this.label}:`+Q}}class rF extends C6{constructor(Q){super();this.label=Q,this.names={}}render({_n:Q}){return`break${this.label?` ${this.label}`:""};`+Q}}class tF extends C6{constructor(Q){super();this.error=Q}render({_n:Q}){return`throw ${this.error};`+Q}get names(){return this.error.names}}class aF extends C6{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=Q4(this.code,Q,X),this}get names(){return this.code instanceof Q0._CodeOrName?this.code.names:{}}}class dX extends C6{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;dC(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 T6 extends dX{render(Q){return"{"+Q._n+super.render(Q)+"}"+Q._n}}class sF extends dX{}class E8 extends T6{}E8.kind="else";class H6 extends T6{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 E8(Y):Y}if(X){if(Q===!1)return X instanceof H6?X:X.nodes;if(this.nodes.length)return this;return new H6(WA(Q),X instanceof H6?[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=Q4(this.condition,Q,X),this}get names(){let Q=super.names;if(cX(Q,this.condition),this.else)G9(Q,this.else.names);return Q}}H6.kind="if";class e9 extends T6{}e9.kind="for";class eF extends e9{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=Q4(this.iteration,Q,X),this}get names(){return G9(super.names,this.iteration.names)}}class QA extends e9{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=cX(super.names,this.from);return cX(Q,this.to)}}class h$ extends e9{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=Q4(this.iterable,Q,X),this}get names(){return G9(super.names,this.iterable.names)}}class hX extends T6{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)}}hX.kind="func";class uX extends dX{render(Q){return"return "+super.render(Q)}}uX.kind="return";class XA extends T6{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 lX extends T6{constructor(Q){super();this.error=Q}render(Q){return`catch(${this.error})`+super.render(Q)}}lX.kind="catch";class mX extends T6{render(Q){return"finally"+super.render(Q)}}mX.kind="finally";class YA{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 sF]}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 iF(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 l$(Q,X,Y))}add(Q,X){return this._leafNode(new nF(Q,J1.operators.ADD,X))}code(Q){if(typeof Q=="function")Q();else if(Q!==Q0.nil)this._leafNode(new aF(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 H6(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 H6(Q))}else(){return this._elseNode(new E8)}endIf(){return this._endBlockNode(H6,E8)}_for(Q,X){if(this._blockNode(Q),X)this.code(X).endFor();return this}for(Q,X){return this._for(new eF(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 QA($,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 h$("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 h$("in",W,$,X),()=>Y($))}endFor(){return this._endBlockNode(e9)}label(Q){return this._leafNode(new oF(Q))}break(Q){return this._leafNode(new rF(Q))}return(Q){let X=new uX;if(this._blockNode(X),this.code(Q),X.nodes.length!==1)throw Error('CodeGen: "return" should have one node');return this._endBlockNode(uX)}try(Q,X,Y){if(!X&&!Y)throw Error('CodeGen: "try" without "catch" and "finally"');let W=new XA;if(this._blockNode(W),this.code(Q),X){let $=this.name("e");this._currNode=W.catch=new lX($),X($)}if(Y)this._currNode=W.finally=new mX,this.code(Y);return this._endBlockNode(lX,mX)}throw(Q){return this._leafNode(new tF(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 hX(Q,X,Y)),W)this.code(W).endFunc();return this}endFunc(){return this._endBlockNode(hX)}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 H6))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}}J1.CodeGen=YA;function G9(Q,X){for(let Y in X)Q[Y]=(Q[Y]||0)+(X[Y]||0);return Q}function cX(Q,X){return X instanceof Q0._CodeOrName?G9(Q,X.names):Q}function Q4(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 dC(Q,X){for(let Y in X)Q[Y]=(Q[Y]||0)-(X[Y]||0)}function WA(Q){return typeof Q=="boolean"||typeof Q=="number"||Q===null?!Q:Q0._`!${u$(Q)}`}J1.not=WA;var iC=$A(J1.operators.AND);function nC(...Q){return Q.reduce(iC)}J1.and=nC;var oC=$A(J1.operators.OR);function rC(...Q){return Q.reduce(oC)}J1.or=rC;function $A(Q){return(X,Y)=>X===Q0.nil?Y:Y===Q0.nil?X:Q0._`${u$(X)} ${Q} ${u$(Y)}`}function u$(Q){return Q instanceof Q0.Name?Q:Q0._`(${Q})`}});var $0=w((AA)=>{Object.defineProperty(AA,"__esModule",{value:!0});AA.checkStrictMode=AA.getErrorPath=AA.Type=AA.useFunc=AA.setEvaluated=AA.evaluatedPropsToName=AA.mergeEvaluated=AA.eachItem=AA.unescapeJsonPointer=AA.escapeJsonPointer=AA.escapeFragment=AA.unescapeFragment=AA.schemaRefOrVal=AA.schemaHasRulesButRef=AA.schemaHasRules=AA.checkUnknownRules=AA.alwaysValidSchema=AA.toHash=void 0;var z0=i(),eC=Z8();function QT(Q){let X={};for(let Y of Q)X[Y]=!0;return X}AA.toHash=QT;function XT(Q,X){if(typeof X=="boolean")return X;if(Object.keys(X).length===0)return!0;return BA(Q,X),!zA(X,Q.self.RULES.all)}AA.alwaysValidSchema=XT;function BA(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])FA(Q,`unknown keyword: "${J}"`)}AA.checkUnknownRules=BA;function zA(Q,X){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(X[Y])return!0;return!1}AA.schemaHasRules=zA;function YT(Q,X){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(Y!=="$ref"&&X.all[Y])return!0;return!1}AA.schemaHasRulesButRef=YT;function WT({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)}`}AA.schemaRefOrVal=WT;function $T(Q){return KA(decodeURIComponent(Q))}AA.unescapeFragment=$T;function JT(Q){return encodeURIComponent(c$(Q))}AA.escapeFragment=JT;function c$(Q){if(typeof Q=="number")return`${Q}`;return Q.replace(/~/g,"~0").replace(/\//g,"~1")}AA.escapeJsonPointer=c$;function KA(Q){return Q.replace(/~1/g,"/").replace(/~0/g,"~")}AA.unescapeJsonPointer=KA;function GT(Q,X){if(Array.isArray(Q))for(let Y of Q)X(Y);else X(Q)}AA.eachItem=GT;function GA({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}}AA.mergeEvaluated={props:GA({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} || {}`),p$(Q,Y,X)}),mergeValues:(Q,X)=>Q===!0?!0:{...Q,...X},resultToName:VA}),items:GA({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 VA(Q,X){if(X===!0)return Q.var("props",!0);let Y=Q.var("props",z0._`{}`);if(X!==void 0)p$(Q,Y,X);return Y}AA.evaluatedPropsToName=VA;function p$(Q,X,Y){Object.keys(Y).forEach((W)=>Q.assign(z0._`${X}${(0,z0.getProperty)(W)}`,!0))}AA.setEvaluated=p$;var HA={};function HT(Q,X){return Q.scopeValue("func",{ref:X,code:HA[X.code]||(HA[X.code]=new eC._Code(X.code))})}AA.useFunc=HT;var m$;(function(Q){Q[Q.Num=0]="Num",Q[Q.Str=1]="Str"})(m$||(AA.Type=m$={}));function BT(Q,X,Y){if(Q instanceof z0.Name){let W=X===m$.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():"/"+c$(Q)}AA.getErrorPath=BT;function FA(Q,X,Y=Q.opts.strictSchema){if(!Y)return;if(X=`strict mode: ${X}`,Y===!0)throw Error(X);Q.self.logger.warn(X)}AA.checkStrictMode=FA});var B6=w((LA)=>{Object.defineProperty(LA,"__esModule",{value:!0});var u0=i(),ET={data:new u0.Name("data"),valCxt:new u0.Name("valCxt"),instancePath:new u0.Name("instancePath"),parentData:new u0.Name("parentData"),parentDataProperty:new u0.Name("parentDataProperty"),rootData:new u0.Name("rootData"),dynamicAnchors:new u0.Name("dynamicAnchors"),vErrors:new u0.Name("vErrors"),errors:new u0.Name("errors"),this:new u0.Name("this"),self:new u0.Name("self"),scope:new u0.Name("scope"),json:new u0.Name("json"),jsonPos:new u0.Name("jsonPos"),jsonLen:new u0.Name("jsonLen"),jsonPart:new u0.Name("jsonPart")};LA.default=ET});var R8=w((NA)=>{Object.defineProperty(NA,"__esModule",{value:!0});NA.extendErrors=NA.resetErrorsCount=NA.reportExtraError=NA.reportError=NA.keyword$DataError=NA.keywordError=void 0;var Y0=i(),nX=$0(),n0=B6();NA.keywordError={message:({keyword:Q})=>Y0.str`must pass "${Q}" keyword validation`};NA.keyword$DataError={message:({keyword:Q,schemaType:X})=>X?Y0.str`"${Q}" keyword must be ${X} ($data)`:Y0.str`"${Q}" keyword is invalid ($data)`};function ST(Q,X=NA.keywordError,Y,W){let{it:$}=Q,{gen:J,compositeRule:G,allErrors:H}=$,B=UA(Q,X,Y);if(W!==null&&W!==void 0?W:G||H)OA(J,B);else jA($,Y0._`[${B}]`)}NA.reportError=ST;function IT(Q,X=NA.keywordError,Y){let{it:W}=Q,{gen:$,compositeRule:J,allErrors:G}=W,H=UA(Q,X,Y);if(OA($,H),!(J||G))jA(W,n0.default.vErrors)}NA.reportExtraError=IT;function CT(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)))}NA.resetErrorsCount=CT;function TT({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)})}NA.extendErrors=TT;function OA(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 jA(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 H9={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 UA(Q,X,Y){let{createErrors:W}=Q.it;if(W===!1)return Y0._`{}`;return kT(Q,X,Y)}function kT(Q,X,Y={}){let{gen:W,it:$}=Q,J=[vT($,Y),_T(Q,Y)];return xT(Q,X,J),W.object(...J)}function vT({errorPath:Q},{instancePath:X}){let Y=X?Y0.str`${Q}${(0,nX.getErrorPath)(X,nX.Type.Str)}`:Q;return[n0.default.instancePath,(0,Y0.strConcat)(n0.default.instancePath,Y)]}function _T({keyword:Q,it:{errSchemaPath:X}},{schemaPath:Y,parentSchema:W}){let $=W?X:Y0.str`${X}/${Q}`;if(Y)$=Y0.str`${$}${(0,nX.getErrorPath)(Y,nX.Type.Str)}`;return[H9.schemaPath,$]}function xT(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||Y0._`{}`]),B.messages)W.push([H9.message,typeof Y=="function"?Y(Q):Y]);if(B.verbose)W.push([H9.schema,G],[H9.parentSchema,Y0._`${K}${V}`],[n0.default.data,J]);if(z)W.push([H9.propertyName,z])}});var PA=w((MA)=>{Object.defineProperty(MA,"__esModule",{value:!0});MA.boolOrEmptySchema=MA.topBoolOrEmptySchema=void 0;var uT=R8(),lT=i(),mT=B6(),cT={message:"boolean schema is false"};function pT(Q){let{gen:X,schema:Y,validateName:W}=Q;if(Y===!1)qA(Q,!1);else if(typeof Y=="object"&&Y.$async===!0)X.return(mT.default.data);else X.assign(lT._`${W}.errors`,null),X.return(!0)}MA.topBoolOrEmptySchema=pT;function dT(Q,X){let{gen:Y,schema:W}=Q;if(W===!1)Y.var(X,!1),qA(Q);else Y.var(X,!0)}MA.boolOrEmptySchema=dT;function qA(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,uT.reportError)($,cT,void 0,X)}});var i$=w((ZA)=>{Object.defineProperty(ZA,"__esModule",{value:!0});ZA.getRules=ZA.isJSONType=void 0;var nT=["string","number","integer","boolean","null","object","array"],oT=new Set(nT);function rT(Q){return typeof Q=="string"&&oT.has(Q)}ZA.isJSONType=rT;function tT(){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:{}}}ZA.getRules=tT});var n$=w((IA)=>{Object.defineProperty(IA,"__esModule",{value:!0});IA.shouldUseRule=IA.shouldUseGroup=IA.schemaHasRulesForType=void 0;function sT({schema:Q,self:X},Y){let W=X.RULES.types[Y];return W&&W!==!0&&RA(Q,W)}IA.schemaHasRulesForType=sT;function RA(Q,X){return X.rules.some((Y)=>SA(Q,Y))}IA.shouldUseGroup=RA;function SA(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))}IA.shouldUseRule=SA});var S8=w((_A)=>{Object.defineProperty(_A,"__esModule",{value:!0});_A.reportTypeError=_A.checkDataTypes=_A.checkDataType=_A.coerceAndCheckDataType=_A.getJSONTypes=_A.getSchemaTypes=_A.DataType=void 0;var X2=i$(),Y2=n$(),W2=R8(),d=i(),TA=$0(),X4;(function(Q){Q[Q.Correct=0]="Correct",Q[Q.Wrong=1]="Wrong"})(X4||(_A.DataType=X4={}));function $2(Q){let X=kA(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}_A.getSchemaTypes=$2;function kA(Q){let X=Array.isArray(Q)?Q:Q?[Q]:[];if(X.every(X2.isJSONType))return X;throw Error("type must be JSONType or JSONType[]: "+X.join(","))}_A.getJSONTypes=kA;function J2(Q,X){let{gen:Y,data:W,opts:$}=Q,J=G2(X,$.coerceTypes),G=X.length>0&&!(J.length===0&&X.length===1&&(0,Y2.schemaHasRulesForType)(Q,X[0]));if(G){let H=r$(X,W,$.strictNumbers,X4.Wrong);Y.if(H,()=>{if(J.length)H2(Q,X,J);else t$(Q)})}return G}_A.coerceAndCheckDataType=J2;var vA=new Set(["string","number","integer","boolean","null"]);function G2(Q,X){return X?Q.filter((Y)=>vA.has(Y)||X==="array"&&Y==="array"):[]}function H2(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(r$(X,$,J.strictNumbers),()=>W.assign(H,$)));W.if(d._`${H} !== undefined`);for(let z of Y)if(vA.has(z)||z==="array"&&J.coerceTypes==="array")B(z);W.else(),t$(Q),W.endIf(),W.if(d._`${H} !== undefined`,()=>{W.assign($,H),B2(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
|
|
11
|
+
|| (${G} == "string" && ${$} && ${$} == +${$})`).assign(H,d._`+${$}`);return;case"integer":W.elseIf(d._`${G} === "boolean" || ${$} === null
|
|
12
|
+
|| (${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"
|
|
13
|
+
|| ${G} === "boolean" || ${$} === null`).assign(H,d._`[${$}]`)}}}function B2({gen:Q,parentData:X,parentDataProperty:Y},W){Q.if(d._`${X} !== undefined`,()=>Q.assign(d._`${X}[${Y}]`,W))}function o$(Q,X,Y,W=X4.Correct){let $=W===X4.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===X4.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)}}_A.checkDataType=o$;function r$(Q,X,Y,W){if(Q.length===1)return o$(Q[0],X,Y,W);let $,J=(0,TA.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)($,o$(G,X,Y,W));return $}_A.checkDataTypes=r$;var z2={message:({schema:Q})=>`must be ${Q}`,params:({schema:Q,schemaValue:X})=>typeof Q=="string"?d._`{type: ${Q}}`:d._`{type: ${X}}`};function t$(Q){let X=K2(Q);(0,W2.reportError)(X,z2)}_A.reportTypeError=t$;function K2(Q){let{gen:X,data:Y,schema:W}=Q,$=(0,TA.schemaRefOrVal)(Q,W,"type");return{gen:X,keyword:"type",data:Y,schema:W.type,schemaCode:$,schemaValue:$,parentSchema:W,params:{},it:Q}}});var hA=w((fA)=>{Object.defineProperty(fA,"__esModule",{value:!0});fA.assignDefaults=void 0;var Y4=i(),j2=$0();function U2(Q,X){let{properties:Y,items:W}=Q.schema;if(X==="object"&&Y)for(let $ in Y)yA(Q,$,Y[$].default);else if(X==="array"&&Array.isArray(W))W.forEach(($,J)=>yA(Q,J,$.default))}fA.assignDefaults=U2;function yA(Q,X,Y){let{gen:W,compositeRule:$,data:J,opts:G}=Q;if(Y===void 0)return;let H=Y4._`${J}${(0,Y4.getProperty)(X)}`;if($){(0,j2.checkStrictMode)(Q,`default is ignored for: ${H}`);return}let B=Y4._`${H} === undefined`;if(G.useDefaults==="empty")B=Y4._`${B} || ${H} === null || ${H} === ""`;W.if(B,Y4._`${H} = ${(0,Y4.stringify)(Y)}`)}});var L1=w((mA)=>{Object.defineProperty(mA,"__esModule",{value:!0});mA.validateUnion=mA.validateArray=mA.usePattern=mA.callValidateCode=mA.schemaProperties=mA.allSchemaProperties=mA.noPropertyInData=mA.propertyInData=mA.isOwnProperty=mA.hasPropFunc=mA.reportMissingProp=mA.checkMissingProp=mA.checkReportMissingProp=void 0;var O0=i(),a$=$0(),k6=B6(),N2=$0();function w2(Q,X){let{gen:Y,data:W,it:$}=Q;Y.if(e$(Y,W,X,$.opts.ownProperties),()=>{Q.setParams({missingProperty:O0._`${X}`},!0),Q.error()})}mA.checkReportMissingProp=w2;function q2({gen:Q,data:X,it:{opts:Y}},W,$){return(0,O0.or)(...W.map((J)=>(0,O0.and)(e$(Q,X,J,Y.ownProperties),O0._`${$} = ${J}`)))}mA.checkMissingProp=q2;function M2(Q,X){Q.setParams({missingProperty:X},!0),Q.error()}mA.reportMissingProp=M2;function uA(Q){return Q.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:O0._`Object.prototype.hasOwnProperty`})}mA.hasPropFunc=uA;function s$(Q,X,Y){return O0._`${uA(Q)}.call(${X}, ${Y})`}mA.isOwnProperty=s$;function b2(Q,X,Y,W){let $=O0._`${X}${(0,O0.getProperty)(Y)} !== undefined`;return W?O0._`${$} && ${s$(Q,X,Y)}`:$}mA.propertyInData=b2;function e$(Q,X,Y,W){let $=O0._`${X}${(0,O0.getProperty)(Y)} === undefined`;return W?(0,O0.or)($,(0,O0.not)(s$(Q,X,Y))):$}mA.noPropertyInData=e$;function lA(Q){return Q?Object.keys(Q).filter((X)=>X!=="__proto__"):[]}mA.allSchemaProperties=lA;function P2(Q,X){return lA(X).filter((Y)=>!(0,a$.alwaysValidSchema)(Q,X[Y]))}mA.schemaProperties=P2;function Z2({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=[[k6.default.instancePath,(0,O0.strConcat)(k6.default.instancePath,J)],[k6.default.parentData,G.parentData],[k6.default.parentDataProperty,G.parentDataProperty],[k6.default.rootData,k6.default.rootData]];if(G.opts.dynamicRef)V.push([k6.default.dynamicAnchors,k6.default.dynamicAnchors]);let F=O0._`${K}, ${Y.object(...V)}`;return B!==O0.nil?O0._`${H}.call(${B}, ${F})`:O0._`${H}(${F})`}mA.callValidateCode=Z2;var E2=O0._`new RegExp`;function R2({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"?E2:(0,N2.useFunc)(Q,$)}(${Y}, ${W})`})}mA.usePattern=R2;function S2(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:a$.Type.Num},J),X.if((0,O0.not)(J),H)})}}mA.validateArray=S2;function I2(Q){let{gen:X,schema:Y,keyword:W,it:$}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");if(Y.some((B)=>(0,a$.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))}mA.validateUnion=I2});var oA=w((iA)=>{Object.defineProperty(iA,"__esModule",{value:!0});iA.validateKeywordUsage=iA.validSchemaType=iA.funcKeywordCode=iA.macroKeywordCode=void 0;var o0=i(),B9=B6(),m2=L1(),c2=R8();function p2(Q,X){let{gen:Y,keyword:W,schema:$,parentSchema:J,it:G}=Q,H=X.macro.call(G.self,$,J,G),B=dA(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))}iA.macroKeywordCode=p2;function d2(Q,X){var Y;let{gen:W,keyword:$,schema:J,parentSchema:G,$data:H,it:B}=Q;n2(B,X);let z=!H&&X.compile?X.compile.call(B.self,J,G,B):X.validate,K=dA(W,$,z),V=W.let("valid");Q.block$data(V,F),Q.ok((Y=X.valid)!==null&&Y!==void 0?Y:V);function F(){if(X.errors===!1){if(D(),X.modifying)pA(Q);O(()=>Q.error())}else{let j=X.async?A():L();if(X.modifying)pA(Q);O(()=>i2(Q,j))}}function A(){let j=W.let("ruleErrs",null);return W.try(()=>D(o0._`await `),(q)=>W.assign(V,!1).if(o0._`${q} instanceof ${B.ValidationError}`,()=>W.assign(j,o0._`${q}.errors`),()=>W.throw(q))),j}function L(){let j=o0._`${K}.errors`;return W.assign(j,null),D(o0.nil),j}function D(j=X.async?o0._`await `:o0.nil){let q=B.opts.passContext?B9.default.this:B9.default.self,M=!(("compile"in X)&&!H||X.schema===!1);W.assign(V,o0._`${j}${(0,m2.callValidateCode)(Q,K,q,M)}`,X.modifying)}function O(j){var q;W.if((0,o0.not)((q=X.valid)!==null&&q!==void 0?q:V),j)}}iA.funcKeywordCode=d2;function pA(Q){let{gen:X,data:Y,it:W}=Q;X.if(W.parentData,()=>X.assign(Y,o0._`${W.parentData}[${W.parentDataProperty}]`))}function i2(Q,X){let{gen:Y}=Q;Y.if(o0._`Array.isArray(${X})`,()=>{Y.assign(B9.default.vErrors,o0._`${B9.default.vErrors} === null ? ${X} : ${B9.default.vErrors}.concat(${X})`).assign(B9.default.errors,o0._`${B9.default.vErrors}.length`),(0,c2.extendErrors)(Q)},()=>Q.error())}function n2({schemaEnv:Q},X){if(X.async&&!Q.$async)throw Error("async keyword in sync schema")}function dA(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 o2(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")}iA.validSchemaType=o2;function r2({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)}}}iA.validateKeywordUsage=r2});var sA=w((tA)=>{Object.defineProperty(tA,"__esModule",{value:!0});tA.extendSubschemaMode=tA.extendSubschemaData=tA.getSubschema=void 0;var o1=i(),rA=$0();function e2(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,rA.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')}tA.getSubschema=e2;function Qk(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,F=H.let("data",o1._`${X.data}${(0,o1.getProperty)(Y)}`,!0);B(F),Q.errorPath=o1.str`${z}${(0,rA.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]}}tA.extendSubschemaData=Qk;function Xk(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}tA.extendSubschemaMode=Xk});var QD=w((Md,eA)=>{var v6=eA.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(){};oX(X,W,$,Q,"",Q)};v6.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};v6.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};v6.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};v6.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 oX(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 v6.arrayKeywords)for(var F=0;F<V.length;F++)oX(Q,X,Y,V[F],$+"/"+K+"/"+F,J,$,K,W,F)}else if(K in v6.propsKeywords){if(V&&typeof V=="object")for(var A in V)oX(Q,X,Y,V[A],$+"/"+K+"/"+$k(A),J,$,K,W,A)}else if(K in v6.keywords||Q.allKeys&&!(K in v6.skipKeywords))oX(Q,X,Y,V,$+"/"+K,J,$,K,W)}Y(W,$,J,G,H,B,z)}}function $k(Q){return Q.replace(/~/g,"~0").replace(/\//g,"~1")}});var I8=w(($D)=>{Object.defineProperty($D,"__esModule",{value:!0});$D.getSchemaRefs=$D.resolveUrl=$D.normalizeId=$D._getFullPath=$D.getFullPath=$D.inlineRef=void 0;var Jk=$0(),Gk=G8(),Hk=QD(),Bk=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function zk(Q,X=!0){if(typeof Q=="boolean")return!0;if(X===!0)return!QJ(Q);if(!X)return!1;return XD(Q)<=X}$D.inlineRef=zk;var Kk=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function QJ(Q){for(let X in Q){if(Kk.has(X))return!0;let Y=Q[X];if(Array.isArray(Y)&&Y.some(QJ))return!0;if(typeof Y=="object"&&QJ(Y))return!0}return!1}function XD(Q){let X=0;for(let Y in Q){if(Y==="$ref")return 1/0;if(X++,Bk.has(Y))continue;if(typeof Q[Y]=="object")(0,Jk.eachItem)(Q[Y],(W)=>X+=XD(W));if(X===1/0)return 1/0}return X}function YD(Q,X="",Y){if(Y!==!1)X=W4(X);let W=Q.parse(X);return WD(Q,W)}$D.getFullPath=YD;function WD(Q,X){return Q.serialize(X).split("#")[0]+"#"}$D._getFullPath=WD;var Vk=/#\/?$/;function W4(Q){return Q?Q.replace(Vk,""):""}$D.normalizeId=W4;function Fk(Q,X,Y){return Y=W4(Y),Q.resolve(X,Y)}$D.resolveUrl=Fk;var Ak=/^[a-z_][-a-z0-9._]*$/i;function Dk(Q,X){if(typeof Q=="boolean")return{};let{schemaId:Y,uriResolver:W}=this.opts,$=W4(Q[Y]||X),J={"":$},G=YD(W,$,!1),H={},B=new Set;return Hk(Q,{allKeys:!0},(V,F,A,L)=>{if(L===void 0)return;let D=G+F,O=J[L];if(typeof V[Y]=="string")O=j.call(this,V[Y]);q.call(this,V.$anchor),q.call(this,V.$dynamicAnchor),J[F]=O;function j(M){let S=this.opts.uriResolver.resolve;if(M=W4(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!==W4(D))if(M[0]==="#")z(V,H[M],M),H[M]=V;else this.refs[M]=D;return M}function q(M){if(typeof M=="string"){if(!Ak.test(M))throw Error(`invalid anchor "${M}"`);j.call(this,`#${M}`)}}}),H;function z(V,F,A){if(F!==void 0&&!Gk(V,F))throw K(A)}function K(V){return Error(`reference "${V}" resolves to more than one schema`)}}$D.getSchemaRefs=Dk});var k8=w((wD)=>{Object.defineProperty(wD,"__esModule",{value:!0});wD.getData=wD.KeywordCxt=wD.validateFunctionCode=void 0;var KD=PA(),GD=S8(),YJ=n$(),rX=S8(),wk=hA(),T8=oA(),XJ=sA(),y=i(),l=B6(),qk=I8(),z6=$0(),C8=R8();function Mk(Q){if(AD(Q)){if(DD(Q),FD(Q)){Zk(Q);return}}VD(Q,()=>(0,KD.topBoolOrEmptySchema)(Q))}wD.validateFunctionCode=Mk;function VD({gen:Q,validateName:X,schema:Y,schemaEnv:W,opts:$},J){if($.code.es5)Q.func(X,y._`${l.default.data}, ${l.default.valCxt}`,W.$async,()=>{Q.code(y._`"use strict"; ${HD(Y,$)}`),Pk(Q,$),Q.code(J)});else Q.func(X,y._`${l.default.data}, ${bk($)}`,W.$async,()=>Q.code(HD(Y,$)).code(J))}function bk(Q){return y._`{${l.default.instancePath}="", ${l.default.parentData}, ${l.default.parentDataProperty}, ${l.default.rootData}=${l.default.data}${Q.dynamicRef?y._`, ${l.default.dynamicAnchors}={}`:y.nil}}={}`}function Pk(Q,X){Q.if(l.default.valCxt,()=>{if(Q.var(l.default.instancePath,y._`${l.default.valCxt}.${l.default.instancePath}`),Q.var(l.default.parentData,y._`${l.default.valCxt}.${l.default.parentData}`),Q.var(l.default.parentDataProperty,y._`${l.default.valCxt}.${l.default.parentDataProperty}`),Q.var(l.default.rootData,y._`${l.default.valCxt}.${l.default.rootData}`),X.dynamicRef)Q.var(l.default.dynamicAnchors,y._`${l.default.valCxt}.${l.default.dynamicAnchors}`)},()=>{if(Q.var(l.default.instancePath,y._`""`),Q.var(l.default.parentData,y._`undefined`),Q.var(l.default.parentDataProperty,y._`undefined`),Q.var(l.default.rootData,l.default.data),X.dynamicRef)Q.var(l.default.dynamicAnchors,y._`{}`)})}function Zk(Q){let{schema:X,opts:Y,gen:W}=Q;VD(Q,()=>{if(Y.$comment&&X.$comment)OD(Q);if(Ck(Q),W.let(l.default.vErrors,null),W.let(l.default.errors,0),Y.unevaluated)Ek(Q);LD(Q),vk(Q)});return}function Ek(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 HD(Q,X){let Y=typeof Q=="object"&&Q[X.schemaId];return Y&&(X.code.source||X.code.process)?y._`/*# sourceURL=${Y} */`:y.nil}function Rk(Q,X){if(AD(Q)){if(DD(Q),FD(Q)){Sk(Q,X);return}}(0,KD.boolOrEmptySchema)(Q,X)}function FD({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 AD(Q){return typeof Q.schema!="boolean"}function Sk(Q,X){let{schema:Y,gen:W,opts:$}=Q;if($.$comment&&Y.$comment)OD(Q);Tk(Q),kk(Q);let J=W.const("_errs",l.default.errors);LD(Q,J),W.var(X,y._`${J} === ${l.default.errors}`)}function DD(Q){(0,z6.checkUnknownRules)(Q),Ik(Q)}function LD(Q,X){if(Q.opts.jtd)return BD(Q,[],!1,X);let Y=(0,GD.getSchemaTypes)(Q.schema),W=(0,GD.coerceAndCheckDataType)(Q,Y);BD(Q,Y,!W,X)}function Ik(Q){let{schema:X,errSchemaPath:Y,opts:W,self:$}=Q;if(X.$ref&&W.ignoreKeywordsWithRef&&(0,z6.schemaHasRulesButRef)(X,$.RULES))$.logger.warn(`$ref: keywords ignored in schema at path "${Y}"`)}function Ck(Q){let{schema:X,opts:Y}=Q;if(X.default!==void 0&&Y.useDefaults&&Y.strictSchema)(0,z6.checkStrictMode)(Q,"default is ignored in the schema root")}function Tk(Q){let X=Q.schema[Q.opts.schemaId];if(X)Q.baseId=(0,qk.resolveUrl)(Q.opts.uriResolver,Q.baseId,X)}function kk(Q){if(Q.schema.$async&&!Q.schemaEnv.$async)throw Error("async schema in sync schema")}function OD({gen:Q,schemaEnv:X,schema:Y,errSchemaPath:W,opts:$}){let J=Y.$comment;if($.$comment===!0)Q.code(y._`${l.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._`${l.default.self}.opts.$comment(${J}, ${G}, ${H}.schema)`)}}function vk(Q){let{gen:X,schemaEnv:Y,validateName:W,ValidationError:$,opts:J}=Q;if(Y.$async)X.if(y._`${l.default.errors} === 0`,()=>X.return(l.default.data),()=>X.throw(y._`new ${$}(${l.default.vErrors})`));else{if(X.assign(y._`${W}.errors`,l.default.vErrors),J.unevaluated)_k(Q);X.return(y._`${l.default.errors} === 0`)}}function _k({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 BD(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,z6.schemaHasRulesButRef)(J,K))){$.block(()=>UD(Q,"$ref",K.all.$ref.definition));return}if(!B.jtd)xk(Q,X);$.block(()=>{for(let F of K.rules)V(F);V(K.post)});function V(F){if(!(0,YJ.shouldUseGroup)(J,F))return;if(F.type){if($.if((0,rX.checkDataType)(F.type,G,B.strictNumbers)),zD(Q,F),X.length===1&&X[0]===F.type&&Y)$.else(),(0,rX.reportTypeError)(Q);$.endIf()}else zD(Q,F);if(!H)$.if(y._`${l.default.errors} === ${W||0}`)}}function zD(Q,X){let{gen:Y,schema:W,opts:{useDefaults:$}}=Q;if($)(0,wk.assignDefaults)(Q,X.type);Y.block(()=>{for(let J of X.rules)if((0,YJ.shouldUseRule)(W,J))UD(Q,J.keyword,J.definition,X.type)})}function xk(Q,X){if(Q.schemaEnv.meta||!Q.opts.strictTypes)return;if(yk(Q,X),!Q.opts.allowUnionTypes)fk(Q,X);gk(Q,Q.dataTypes)}function yk(Q,X){if(!X.length)return;if(!Q.dataTypes.length){Q.dataTypes=X;return}X.forEach((Y)=>{if(!jD(Q.dataTypes,Y))WJ(Q,`type "${Y}" not allowed by context "${Q.dataTypes.join(",")}"`)}),uk(Q,X)}function fk(Q,X){if(X.length>1&&!(X.length===2&&X.includes("null")))WJ(Q,"use allowUnionTypes to allow union type keyword")}function gk(Q,X){let Y=Q.self.RULES.all;for(let W in Y){let $=Y[W];if(typeof $=="object"&&(0,YJ.shouldUseRule)(Q.schema,$)){let{type:J}=$.definition;if(J.length&&!J.some((G)=>hk(X,G)))WJ(Q,`missing type "${J.join(",")}" for keyword "${W}"`)}}}function hk(Q,X){return Q.includes(X)||X==="number"&&Q.includes("integer")}function jD(Q,X){return Q.includes(X)||X==="integer"&&Q.includes("number")}function uk(Q,X){let Y=[];for(let W of Q.dataTypes)if(jD(X,W))Y.push(W);else if(X.includes("integer")&&W==="number")Y.push("integer");Q.dataTypes=Y}function WJ(Q,X){let Y=Q.schemaEnv.baseId+Q.errSchemaPath;X+=` at "${Y}" (strictTypes)`,(0,z6.checkStrictMode)(Q,X,Q.opts.strictTypes)}class $J{constructor(Q,X,Y){if((0,T8.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,z6.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",ND(this.$data,Q));else if(this.schemaCode=this.schemaValue,!(0,T8.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",l.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?C8.reportExtraError:C8.reportError)(this,this.def.error,X)}$dataError(){(0,C8.reportError)(this,this.def.$dataError||C8.keyword$DataError)}reset(){if(this.errsCount===void 0)throw Error('add "trackErrors" to keyword definition');(0,C8.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,rX.checkDataTypes)(H,X,$.opts.strictNumbers,rX.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,XJ.getSubschema)(this.it,Q);(0,XJ.extendSubschemaData)(Y,this.it,Q),(0,XJ.extendSubschemaMode)(Y,Q);let W={...this.it,...Y,items:void 0,props:void 0};return Rk(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=z6.mergeEvaluated.props(W,Q.props,Y.props,X);if(Y.items!==!0&&Q.items!==void 0)Y.items=z6.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}}wD.KeywordCxt=$J;function UD(Q,X,Y,W){let $=new $J(Q,Y,X);if("code"in Y)Y.code($,W);else if($.$data&&Y.validate)(0,T8.funcKeywordCode)($,Y);else if("macro"in Y)(0,T8.macroKeywordCode)($,Y);else if(Y.compile||Y.validate)(0,T8.funcKeywordCode)($,Y)}var lk=/^\/(?:[^~]|~0|~1)*$/,mk=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function ND(Q,{dataLevel:X,dataNames:Y,dataPathArr:W}){let $,J;if(Q==="")return l.default.rootData;if(Q[0]==="/"){if(!lk.test(Q))throw Error(`Invalid JSON-pointer: ${Q}`);$=Q,J=l.default.rootData}else{let z=mk.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,z6.unescapeJsonPointer)(z))}`,G=y._`${G} && ${J}`;return G;function B(z,K){return`Cannot access ${z} ${K} levels up, current level is ${X}`}}wD.getData=ND});var tX=w((bD)=>{Object.defineProperty(bD,"__esModule",{value:!0});class MD extends Error{constructor(Q){super("validation failed");this.errors=Q,this.ajv=this.validation=!0}}bD.default=MD});var v8=w((ZD)=>{Object.defineProperty(ZD,"__esModule",{value:!0});var JJ=I8();class PD extends Error{constructor(Q,X,Y,W){super(W||`can't resolve reference ${Y} from id ${X}`);this.missingRef=(0,JJ.resolveUrl)(Q,X,Y),this.missingSchema=(0,JJ.normalizeId)((0,JJ.getFullPath)(Q,this.missingRef))}}ZD.default=PD});var sX=w((SD)=>{Object.defineProperty(SD,"__esModule",{value:!0});SD.resolveSchema=SD.getCompilingSchema=SD.resolveRef=SD.compileSchema=SD.SchemaEnv=void 0;var _1=i(),nk=tX(),z9=B6(),x1=I8(),ED=$0(),ok=k8();class _8{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={}}}SD.SchemaEnv=_8;function HJ(Q){let X=RD.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:nk.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:z9.default.data,parentData:z9.default.parentData,parentDataProperty:z9.default.parentDataProperty,dataNames:[z9.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,ok.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 A=Function(`${z9.default.self}`,`${z9.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:L,items:D}=z;if(A.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},A.source)A.source.evaluated=(0,_1.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)}}SD.compileSchema=HJ;function rk(Q,X,Y){var W;Y=(0,x1.resolveUrl)(this.opts.uriResolver,X,Y);let $=Q.refs[Y];if($)return $;let J=sk.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 _8({schema:G,schemaId:H,root:Q,baseId:X})}if(J===void 0)return;return Q.refs[Y]=tk.call(this,J)}SD.resolveRef=rk;function tk(Q){if((0,x1.inlineRef)(Q.schema,this.opts.inlineRefs))return Q.schema;return Q.validate?Q:HJ.call(this,Q)}function RD(Q){for(let X of this._compilations)if(ak(X,Q))return X}SD.getCompilingSchema=RD;function ak(Q,X){return Q.schema===X.schema&&Q.root===X.root&&Q.baseId===X.baseId}function sk(Q,X){let Y;while(typeof(Y=this.refs[X])=="string")X=Y;return Y||this.schemas[X]||aX.call(this,Q,X)}function aX(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 GJ.call(this,Y,Q);let J=(0,x1.normalizeId)(W),G=this.refs[J]||this.schemas[J];if(typeof G=="string"){let H=aX.call(this,Q,G);if(typeof(H===null||H===void 0?void 0:H.schema)!=="object")return;return GJ.call(this,Y,H)}if(typeof(G===null||G===void 0?void 0:G.schema)!=="object")return;if(!G.validate)HJ.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 _8({schema:H,schemaId:B,root:Q,baseId:$})}return GJ.call(this,Y,G)}SD.resolveSchema=aX;var ek=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function GJ(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,ED.unescapeFragment)(H)];if(B===void 0)return;Y=B;let z=typeof Y==="object"&&Y[this.opts.schemaId];if(!ek.has(H)&&z)X=(0,x1.resolveUrl)(this.opts.uriResolver,X,z)}let J;if(typeof Y!="boolean"&&Y.$ref&&!(0,ED.schemaHasRulesButRef)(Y,this.RULES)){let H=(0,x1.resolveUrl)(this.opts.uriResolver,X,Y.$ref);J=aX.call(this,W,H)}let{schemaId:G}=this.opts;if(J=J||new _8({schema:Y,schemaId:G,root:W,baseId:X}),J.schema!==J.root.schema)return J;return}});var CD=w((Sd,$v)=>{$v.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 vD=w((kD)=>{Object.defineProperty(kD,"__esModule",{value:!0});var TD=D$();TD.code='require("ajv/dist/runtime/uri").default';kD.default=TD});var lD=w((K6)=>{Object.defineProperty(K6,"__esModule",{value:!0});K6.CodeGen=K6.Name=K6.nil=K6.stringify=K6.str=K6._=K6.KeywordCxt=void 0;var Gv=k8();Object.defineProperty(K6,"KeywordCxt",{enumerable:!0,get:function(){return Gv.KeywordCxt}});var $4=i();Object.defineProperty(K6,"_",{enumerable:!0,get:function(){return $4._}});Object.defineProperty(K6,"str",{enumerable:!0,get:function(){return $4.str}});Object.defineProperty(K6,"stringify",{enumerable:!0,get:function(){return $4.stringify}});Object.defineProperty(K6,"nil",{enumerable:!0,get:function(){return $4.nil}});Object.defineProperty(K6,"Name",{enumerable:!0,get:function(){return $4.Name}});Object.defineProperty(K6,"CodeGen",{enumerable:!0,get:function(){return $4.CodeGen}});var Hv=tX(),gD=v8(),Bv=i$(),x8=sX(),zv=i(),y8=I8(),eX=S8(),zJ=$0(),_D=CD(),Kv=vD(),hD=(Q,X)=>new RegExp(Q,X);hD.code="new RegExp";var Vv=["removeAdditional","useDefaults","coerceTypes"],Fv=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),Av={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."},Dv={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},xD=200;function Lv(Q){var X,Y,W,$,J,G,H,B,z,K,V,F,A,L,D,O,j,q,M,S,Z,K0,b0,g1,h6;let j1=Q.strict,u6=(X=Q.code)===null||X===void 0?void 0:X.optimize,j4=u6===!0||u6===void 0?1:u6||0,U4=(W=(Y=Q.code)===null||Y===void 0?void 0:Y.regExp)!==null&&W!==void 0?W:hD,hY=($=Q.uriResolver)!==null&&$!==void 0?$:Kv.default;return{strictSchema:(G=(J=Q.strictSchema)!==null&&J!==void 0?J:j1)!==null&&G!==void 0?G:!0,strictNumbers:(B=(H=Q.strictNumbers)!==null&&H!==void 0?H:j1)!==null&&B!==void 0?B:!0,strictTypes:(K=(z=Q.strictTypes)!==null&&z!==void 0?z:j1)!==null&&K!==void 0?K:"log",strictTuples:(F=(V=Q.strictTuples)!==null&&V!==void 0?V:j1)!==null&&F!==void 0?F:"log",strictRequired:(L=(A=Q.strictRequired)!==null&&A!==void 0?A:j1)!==null&&L!==void 0?L:!1,code:Q.code?{...Q.code,optimize:j4,regExp:U4}:{optimize:j4,regExp:U4},loopRequired:(D=Q.loopRequired)!==null&&D!==void 0?D:xD,loopEnum:(O=Q.loopEnum)!==null&&O!==void 0?O:xD,meta:(j=Q.meta)!==null&&j!==void 0?j:!0,messages:(q=Q.messages)!==null&&q!==void 0?q:!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:(K0=Q.validateSchema)!==null&&K0!==void 0?K0:!0,validateFormats:(b0=Q.validateFormats)!==null&&b0!==void 0?b0:!0,unicodeRegExp:(g1=Q.unicodeRegExp)!==null&&g1!==void 0?g1:!0,int32range:(h6=Q.int32range)!==null&&h6!==void 0?h6:!0,uriResolver:hY}}class QY{constructor(Q={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,Q=this.opts={...Q,...Lv(Q)};let{es5:X,lines:Y}=this.opts.code;this.scope=new zv.ValueScope({scope:{},prefixes:Fv,es5:X,lines:Y}),this.logger=qv(Q.logger);let W=Q.validateFormats;if(Q.validateFormats=!1,this.RULES=(0,Bv.getRules)(),yD.call(this,Av,Q,"NOT SUPPORTED"),yD.call(this,Dv,Q,"DEPRECATED","warn"),this._metaOpts=Nv.call(this),Q.formats)jv.call(this);if(this._addVocabularies(),this._addDefaultMetaSchema(),Q.keywords)Uv.call(this,Q.keywords);if(typeof Q.meta=="object")this.addMetaSchema(Q.meta);Ov.call(this),Q.validateFormats=W}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:Q,meta:X,schemaId:Y}=this.opts,W=_D;if(Y==="id")W={..._D},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 gD.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,y8.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=fD.call(this,Q))=="string")Q=X;if(X===void 0){let{schemaId:Y}=this.opts,W=new x8.SchemaEnv({schema:{},schemaId:Y});if(X=x8.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=fD.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,y8.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(bv.call(this,Y,X),!X)return(0,zJ.eachItem)(Y,($)=>BJ.call(this,$)),this;Zv.call(this,X);let W={...X,type:(0,eX.getJSONTypes)(X.type),schemaType:(0,eX.getJSONTypes)(X.schemaType)};return(0,zJ.eachItem)(Y,W.type.length===0?($)=>BJ.call(this,$,W):($)=>W.type.forEach((J)=>BJ.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]=uD(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,y8.normalizeId)(J||Y);let B=y8.getSchemaRefs.call(this,Q,Y);if(H=new x8.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 x8.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{x8.compileSchema.call(this,Q)}finally{this.opts=X}}}QY.ValidationError=Hv.default;QY.MissingRefError=gD.default;K6.default=QY;function yD(Q,X,Y,W="error"){for(let $ in Q){let J=$;if(J in X)this.logger[W](`${Y}: option ${$}. ${Q[J]}`)}}function fD(Q){return Q=(0,y8.normalizeId)(Q),this.schemas[Q]||this.refs[Q]}function Ov(){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 jv(){for(let Q in this.opts.formats){let X=this.opts.formats[Q];if(X)this.addFormat(Q,X)}}function Uv(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 Nv(){let Q={...this.opts};for(let X of Vv)delete Q[X];return Q}var wv={log(){},warn(){},error(){}};function qv(Q){if(Q===!1)return wv;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 Mv=/^[a-z_$][a-z0-9_$:-]*$/i;function bv(Q,X){let{RULES:Y}=this;if((0,zJ.eachItem)(Q,(W)=>{if(Y.keywords[W])throw Error(`Keyword ${W} is already defined`);if(!Mv.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 BJ(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)Pv.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 Pv(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 Zv(Q){let{metaSchema:X}=Q;if(X===void 0)return;if(Q.$data&&this.opts.$data)X=uD(X);Q.validateSchema=this.compile(X,!0)}var Ev={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function uD(Q){return{anyOf:[Q,Ev]}}});var cD=w((mD)=>{Object.defineProperty(mD,"__esModule",{value:!0});var Iv={keyword:"id",code(){throw Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};mD.default=Iv});var rD=w((nD)=>{Object.defineProperty(nD,"__esModule",{value:!0});nD.callRef=nD.getValidate=void 0;var Tv=v8(),pD=L1(),G1=i(),J4=B6(),dD=sX(),XY=$0(),kv={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=dD.resolveRef.call(B,z,$,Y);if(K===void 0)throw new Tv.default(W.opts.uriResolver,$,Y);if(K instanceof dD.SchemaEnv)return F(K);return A(K);function V(){if(J===z)return YY(Q,G,J,J.$async);let L=X.scopeValue("root",{ref:z});return YY(Q,G1._`${L}.validate`,z,z.$async)}function F(L){let D=iD(Q,L);YY(Q,D,L,L.$async)}function A(L){let D=X.scopeValue("schema",H.code.source===!0?{ref:L,code:(0,G1.stringify)(L)}:{ref:L}),O=X.name("valid"),j=Q.subschema({schema:L,dataTypes:[],schemaPath:G1.nil,topSchemaRef:D,errSchemaPath:Y},O);Q.mergeEvaluated(j),Q.ok(O)}}};function iD(Q,X){let{gen:Y}=Q;return X.validate?Y.scopeValue("validate",{ref:X.validate}):G1._`${Y.scopeValue("wrapper",{ref:X})}.validate`}nD.getValidate=iD;function YY(Q,X,Y,W){let{gen:$,it:J}=Q,{allErrors:G,schemaEnv:H,opts:B}=J,z=B.passContext?J4.default.this:G1.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(G1._`await ${(0,pD.callValidateCode)(Q,X,z)}`),A(X),!G)$.assign(L,!0)},(D)=>{if($.if(G1._`!(${D} instanceof ${J.ValidationError})`,()=>$.throw(D)),F(D),!G)$.assign(L,!1)}),Q.ok(L)}function V(){Q.result((0,pD.callValidateCode)(Q,X,z),()=>A(X),()=>F(X))}function F(L){let D=G1._`${L}.errors`;$.assign(J4.default.vErrors,G1._`${J4.default.vErrors} === null ? ${D} : ${J4.default.vErrors}.concat(${D})`),$.assign(J4.default.errors,G1._`${J4.default.vErrors}.length`)}function A(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=XY.mergeEvaluated.props($,O.props,J.props)}else{let j=$.var("props",G1._`${L}.evaluated.props`);J.props=XY.mergeEvaluated.props($,j,J.props,G1.Name)}if(J.items!==!0)if(O&&!O.dynamicItems){if(O.items!==void 0)J.items=XY.mergeEvaluated.items($,O.items,J.items)}else{let j=$.var("items",G1._`${L}.evaluated.items`);J.items=XY.mergeEvaluated.items($,j,J.items,G1.Name)}}}nD.callRef=YY;nD.default=kv});var aD=w((tD)=>{Object.defineProperty(tD,"__esModule",{value:!0});var xv=cD(),yv=rD(),fv=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",xv.default,yv.default];tD.default=fv});var eD=w((sD)=>{Object.defineProperty(sD,"__esModule",{value:!0});var WY=i(),_6=WY.operators,$Y={maximum:{okStr:"<=",ok:_6.LTE,fail:_6.GT},minimum:{okStr:">=",ok:_6.GTE,fail:_6.LT},exclusiveMaximum:{okStr:"<",ok:_6.LT,fail:_6.GTE},exclusiveMinimum:{okStr:">",ok:_6.GT,fail:_6.LTE}},hv={message:({keyword:Q,schemaCode:X})=>WY.str`must be ${$Y[Q].okStr} ${X}`,params:({keyword:Q,schemaCode:X})=>WY._`{comparison: ${$Y[Q].okStr}, limit: ${X}}`},uv={keyword:Object.keys($Y),type:"number",schemaType:"number",$data:!0,error:hv,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q;Q.fail$data(WY._`${Y} ${$Y[X].fail} ${W} || isNaN(${Y})`)}};sD.default=uv});var XL=w((QL)=>{Object.defineProperty(QL,"__esModule",{value:!0});var f8=i(),mv={message:({schemaCode:Q})=>f8.str`must be multiple of ${Q}`,params:({schemaCode:Q})=>f8._`{multipleOf: ${Q}}`},cv={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:mv,code(Q){let{gen:X,data:Y,schemaCode:W,it:$}=Q,J=$.opts.multipleOfPrecision,G=X.let("res"),H=J?f8._`Math.abs(Math.round(${G}) - ${G}) > 1e-${J}`:f8._`${G} !== parseInt(${G})`;Q.fail$data(f8._`(${W} === 0 || (${G} = ${Y}/${W}, ${H}))`)}};QL.default=cv});var $L=w((WL)=>{Object.defineProperty(WL,"__esModule",{value:!0});function YL(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}WL.default=YL;YL.code='require("ajv/dist/runtime/ucs2length").default'});var GL=w((JL)=>{Object.defineProperty(JL,"__esModule",{value:!0});var K9=i(),iv=$0(),nv=$L(),ov={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}}`},rv={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:ov,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,iv.useFunc)(Q.gen,nv.default)}(${Y})`;Q.fail$data(K9._`${G} ${J} ${W}`)}};JL.default=rv});var BL=w((HL)=>{Object.defineProperty(HL,"__esModule",{value:!0});var av=L1(),JY=i(),sv={message:({schemaCode:Q})=>JY.str`must match pattern "${Q}"`,params:({schemaCode:Q})=>JY._`{pattern: ${Q}}`},ev={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:sv,code(Q){let{data:X,$data:Y,schema:W,schemaCode:$,it:J}=Q,G=J.opts.unicodeRegExp?"u":"",H=Y?JY._`(new RegExp(${$}, ${G}))`:(0,av.usePattern)(Q,W);Q.fail$data(JY._`!${H}.test(${X})`)}};HL.default=ev});var KL=w((zL)=>{Object.defineProperty(zL,"__esModule",{value:!0});var g8=i(),X_={message({keyword:Q,schemaCode:X}){let Y=Q==="maxProperties"?"more":"fewer";return g8.str`must NOT have ${Y} than ${X} properties`},params:({schemaCode:Q})=>g8._`{limit: ${Q}}`},Y_={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:X_,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q,$=X==="maxProperties"?g8.operators.GT:g8.operators.LT;Q.fail$data(g8._`Object.keys(${Y}).length ${$} ${W}`)}};zL.default=Y_});var FL=w((VL)=>{Object.defineProperty(VL,"__esModule",{value:!0});var h8=L1(),u8=i(),$_=$0(),J_={message:({params:{missingProperty:Q}})=>u8.str`must have required property '${Q}'`,params:({params:{missingProperty:Q}})=>u8._`{missingProperty: ${Q}}`},G_={keyword:"required",type:"object",schemaType:"array",$data:!0,error:J_,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 A=Q.parentSchema.properties,{definedProperties:L}=Q.it;for(let D of Y)if((A===null||A===void 0?void 0:A[D])===void 0&&!L.has(D)){let O=G.schemaEnv.baseId+G.errSchemaPath,j=`required property "${D}" is not defined at "${O}" (strictRequired)`;(0,$_.checkStrictMode)(G,j,G.opts.strictRequired)}}function z(){if(B||J)Q.block$data(u8.nil,V);else for(let A of Y)(0,h8.checkReportMissingProp)(Q,A)}function K(){let A=X.let("missing");if(B||J){let L=X.let("valid",!0);Q.block$data(L,()=>F(A,L)),Q.ok(L)}else X.if((0,h8.checkMissingProp)(Q,Y,A)),(0,h8.reportMissingProp)(Q,A),X.else()}function V(){X.forOf("prop",W,(A)=>{Q.setParams({missingProperty:A}),X.if((0,h8.noPropertyInData)(X,$,A,H.ownProperties),()=>Q.error())})}function F(A,L){Q.setParams({missingProperty:A}),X.forOf(A,W,()=>{X.assign(L,(0,h8.propertyInData)(X,$,A,H.ownProperties)),X.if((0,u8.not)(L),()=>{Q.error(),X.break()})},u8.nil)}}};VL.default=G_});var DL=w((AL)=>{Object.defineProperty(AL,"__esModule",{value:!0});var l8=i(),B_={message({keyword:Q,schemaCode:X}){let Y=Q==="maxItems"?"more":"fewer";return l8.str`must NOT have ${Y} than ${X} items`},params:({schemaCode:Q})=>l8._`{limit: ${Q}}`},z_={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:B_,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q,$=X==="maxItems"?l8.operators.GT:l8.operators.LT;Q.fail$data(l8._`${Y}.length ${$} ${W}`)}};AL.default=z_});var GY=w((OL)=>{Object.defineProperty(OL,"__esModule",{value:!0});var LL=G8();LL.code='require("ajv/dist/runtime/equal").default';OL.default=LL});var UL=w((jL)=>{Object.defineProperty(jL,"__esModule",{value:!0});var KJ=S8(),y0=i(),F_=$0(),A_=GY(),D_={message:({params:{i:Q,j:X}})=>y0.str`must NOT have duplicate items (items ## ${X} and ${Q} are identical)`,params:({params:{i:Q,j:X}})=>y0._`{i: ${Q}, j: ${X}}`},L_={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:D_,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,KJ.getSchemaTypes)(J.items):[];Q.block$data(B,K,y0._`${G} === false`),Q.ok(B);function K(){let L=X.let("i",y0._`${Y}.length`),D=X.let("j");Q.setParams({i:L,j:D}),X.assign(B,!0),X.if(y0._`${L} > 1`,()=>(V()?F:A)(L,D))}function V(){return z.length>0&&!z.some((L)=>L==="object"||L==="array")}function F(L,D){let O=X.name("item"),j=(0,KJ.checkDataTypes)(z,O,H.opts.strictNumbers,KJ.DataType.Wrong),q=X.const("indices",y0._`{}`);X.for(y0._`;${L}--;`,()=>{if(X.let(O,y0._`${Y}[${L}]`),X.if(j,y0._`continue`),z.length>1)X.if(y0._`typeof ${O} == "string"`,y0._`${O} += "_"`);X.if(y0._`typeof ${q}[${O}] == "number"`,()=>{X.assign(D,y0._`${q}[${O}]`),Q.error(),X.assign(B,!1).break()}).code(y0._`${q}[${O}] = ${L}`)})}function A(L,D){let O=(0,F_.useFunc)(X,A_.default),j=X.name("outer");X.label(j).for(y0._`;${L}--;`,()=>X.for(y0._`${D} = ${L}; ${D}--;`,()=>X.if(y0._`${O}(${Y}[${L}], ${Y}[${D}])`,()=>{Q.error(),X.assign(B,!1).break(j)})))}}};jL.default=L_});var wL=w((NL)=>{Object.defineProperty(NL,"__esModule",{value:!0});var VJ=i(),j_=$0(),U_=GY(),N_={message:"must be equal to constant",params:({schemaCode:Q})=>VJ._`{allowedValue: ${Q}}`},w_={keyword:"const",$data:!0,error:N_,code(Q){let{gen:X,data:Y,$data:W,schemaCode:$,schema:J}=Q;if(W||J&&typeof J=="object")Q.fail$data(VJ._`!${(0,j_.useFunc)(X,U_.default)}(${Y}, ${$})`);else Q.fail(VJ._`${J} !== ${Y}`)}};NL.default=w_});var ML=w((qL)=>{Object.defineProperty(qL,"__esModule",{value:!0});var m8=i(),M_=$0(),b_=GY(),P_={message:"must be equal to one of the allowed values",params:({schemaCode:Q})=>m8._`{allowedValues: ${Q}}`},Z_={keyword:"enum",schemaType:"array",$data:!0,error:P_,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,M_.useFunc)(X,b_.default),K;if(H||W)K=X.let("valid"),Q.block$data(K,V);else{if(!Array.isArray($))throw Error("ajv implementation error");let A=X.const("vSchema",J);K=(0,m8.or)(...$.map((L,D)=>F(A,D)))}Q.pass(K);function V(){X.assign(K,!1),X.forOf("v",J,(A)=>X.if(m8._`${z()}(${Y}, ${A})`,()=>X.assign(K,!0).break()))}function F(A,L){let D=$[L];return typeof D==="object"&&D!==null?m8._`${z()}(${Y}, ${A}[${L}])`:m8._`${Y} === ${D}`}}};qL.default=Z_});var PL=w((bL)=>{Object.defineProperty(bL,"__esModule",{value:!0});var R_=eD(),S_=XL(),I_=GL(),C_=BL(),T_=KL(),k_=FL(),v_=DL(),__=UL(),x_=wL(),y_=ML(),f_=[R_.default,S_.default,I_.default,C_.default,T_.default,k_.default,v_.default,__.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},x_.default,y_.default];bL.default=f_});var AJ=w((EL)=>{Object.defineProperty(EL,"__esModule",{value:!0});EL.validateAdditionalItems=void 0;var V9=i(),FJ=$0(),h_={message:({params:{len:Q}})=>V9.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>V9._`{limit: ${Q}}`},u_={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:h_,code(Q){let{parentSchema:X,it:Y}=Q,{items:W}=X;if(!Array.isArray(W)){(0,FJ.checkStrictMode)(Y,'"additionalItems" is ignored when "items" is not an array of schemas');return}ZL(Q,W)}};function ZL(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,FJ.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:FJ.Type.Num},z),!G.allErrors)Y.if((0,V9.not)(z),()=>Y.break())})}}EL.validateAdditionalItems=ZL;EL.default=u_});var DJ=w((CL)=>{Object.defineProperty(CL,"__esModule",{value:!0});CL.validateTuple=void 0;var SL=i(),HY=$0(),m_=L1(),c_={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(Q){let{schema:X,it:Y}=Q;if(Array.isArray(X))return IL(Q,"additionalItems",X);if(Y.items=!0,(0,HY.alwaysValidSchema)(Y,X))return;Q.ok((0,m_.validateArray)(Q))}};function IL(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=HY.mergeEvaluated.items(W,Y.length,H.items);let B=W.name("valid"),z=W.const("len",SL._`${J}.length`);Y.forEach((V,F)=>{if((0,HY.alwaysValidSchema)(H,V))return;W.if(SL._`${z} > ${F}`,()=>Q.subschema({keyword:G,schemaProp:F,dataProp:F},B)),Q.ok(B)});function K(V){let{opts:F,errSchemaPath:A}=H,L=Y.length,D=L===V.minItems&&(L===V.maxItems||V[X]===!1);if(F.strictTuples&&!D){let O=`"${G}" is ${L}-tuple, but minItems or maxItems/${X} are not specified or different at path "${A}"`;(0,HY.checkStrictMode)(H,O,F.strictTuples)}}}CL.validateTuple=IL;CL.default=c_});var vL=w((kL)=>{Object.defineProperty(kL,"__esModule",{value:!0});var d_=DJ(),i_={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:(Q)=>(0,d_.validateTuple)(Q,"items")};kL.default=i_});var yL=w((xL)=>{Object.defineProperty(xL,"__esModule",{value:!0});var _L=i(),o_=$0(),r_=L1(),t_=AJ(),a_={message:({params:{len:Q}})=>_L.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>_L._`{limit: ${Q}}`},s_={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:a_,code(Q){let{schema:X,parentSchema:Y,it:W}=Q,{prefixItems:$}=Y;if(W.items=!0,(0,o_.alwaysValidSchema)(W,X))return;if($)(0,t_.validateAdditionalItems)(Q,$);else Q.ok((0,r_.validateArray)(Q))}};xL.default=s_});var gL=w((fL)=>{Object.defineProperty(fL,"__esModule",{value:!0});var O1=i(),BY=$0(),Qx={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}}`},Xx={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:Qx,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,BY.checkStrictMode)(J,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(H!==void 0&&G>H){(0,BY.checkStrictMode)(J,'"minContains" > "maxContains" is always invalid'),Q.fail();return}if((0,BY.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)A(V,()=>X.if(V,()=>X.break()));else if(G===0){if(X.let(V,!0),H!==void 0)X.if(O1._`${$}.length > 0`,F)}else X.let(V,!1),F();Q.result(V,()=>Q.reset());function F(){let D=X.name("_valid"),O=X.let("count",0);A(D,()=>X.if(D,()=>L(O)))}function A(D,O){X.forRange("i",0,K,(j)=>{Q.subschema({keyword:"contains",dataProp:j,dataPropType:BY.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))}}};fL.default=Xx});var pL=w((lL)=>{Object.defineProperty(lL,"__esModule",{value:!0});lL.validateSchemaDeps=lL.validatePropertyDeps=lL.error=void 0;var LJ=i(),Wx=$0(),c8=L1();lL.error={message:({params:{property:Q,depsCount:X,deps:Y}})=>{let W=X===1?"property":"properties";return LJ.str`must have ${W} ${Y} when property ${Q} is present`},params:({params:{property:Q,depsCount:X,deps:Y,missingProperty:W}})=>LJ._`{property: ${Q},
|
|
14
|
+
missingProperty: ${W},
|
|
15
|
+
depsCount: ${X},
|
|
16
|
+
deps: ${Y}}`};var $x={keyword:"dependencies",type:"object",schemaType:"object",error:lL.error,code(Q){let[X,Y]=Jx(Q);hL(Q,X),uL(Q,Y)}};function Jx({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 hL(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,c8.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,c8.checkReportMissingProp)(Q,z)});else Y.if(LJ._`${B} && (${(0,c8.checkMissingProp)(Q,H,J)})`),(0,c8.reportMissingProp)(Q,J),Y.else()}}lL.validatePropertyDeps=hL;function uL(Q,X=Q.schema){let{gen:Y,data:W,keyword:$,it:J}=Q,G=Y.name("valid");for(let H in X){if((0,Wx.alwaysValidSchema)(J,X[H]))continue;Y.if((0,c8.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)}}lL.validateSchemaDeps=uL;lL.default=$x});var nL=w((iL)=>{Object.defineProperty(iL,"__esModule",{value:!0});var dL=i(),Bx=$0(),zx={message:"property name must be valid",params:({params:Q})=>dL._`{propertyName: ${Q.propertyName}}`},Kx={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:zx,code(Q){let{gen:X,schema:Y,data:W,it:$}=Q;if((0,Bx.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,dL.not)(J),()=>{if(Q.error(!0),!$.allErrors)X.break()})}),Q.ok(J)}};iL.default=Kx});var OJ=w((oL)=>{Object.defineProperty(oL,"__esModule",{value:!0});var zY=L1(),y1=i(),Fx=B6(),KY=$0(),Ax={message:"must NOT have additional properties",params:({params:Q})=>y1._`{additionalProperty: ${Q.additionalProperty}}`},Dx={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:Ax,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,KY.alwaysValidSchema)(G,Y))return;let z=(0,zY.allSchemaProperties)(W.properties),K=(0,zY.allSchemaProperties)(W.patternProperties);V(),Q.ok(y1._`${J} === ${Fx.default.errors}`);function V(){X.forIn("key",$,(O)=>{if(!z.length&&!K.length)L(O);else X.if(F(O),()=>L(O))})}function F(O){let j;if(z.length>8){let q=(0,KY.schemaRefOrVal)(G,W.properties,"properties");j=(0,zY.isOwnProperty)(X,q,O)}else if(z.length)j=(0,y1.or)(...z.map((q)=>y1._`${O} === ${q}`));else j=y1.nil;if(K.length)j=(0,y1.or)(j,...K.map((q)=>y1._`${(0,zY.usePattern)(Q,q)}.test(${O})`));return(0,y1.not)(j)}function A(O){X.code(y1._`delete ${$}[${O}]`)}function L(O){if(B.removeAdditional==="all"||B.removeAdditional&&Y===!1){A(O);return}if(Y===!1){if(Q.setParams({additionalProperty:O}),Q.error(),!H)X.break();return}if(typeof Y=="object"&&!(0,KY.alwaysValidSchema)(G,Y)){let j=X.name("valid");if(B.removeAdditional==="failing")D(O,j,!1),X.if((0,y1.not)(j),()=>{Q.reset(),A(O)});else if(D(O,j),!H)X.if((0,y1.not)(j),()=>X.break())}}function D(O,j,q){let M={keyword:"additionalProperties",dataProp:O,dataPropType:KY.Type.Str};if(q===!1)Object.assign(M,{compositeRule:!0,createErrors:!1,allErrors:!1});Q.subschema(M,j)}}};oL.default=Dx});var sL=w((aL)=>{Object.defineProperty(aL,"__esModule",{value:!0});var Ox=k8(),rL=L1(),jJ=$0(),tL=OJ(),jx={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)tL.default.code(new Ox.KeywordCxt(J,tL.default,"additionalProperties"));let G=(0,rL.allSchemaProperties)(Y);for(let V of G)J.definedProperties.add(V);if(J.opts.unevaluated&&G.length&&J.props!==!0)J.props=jJ.mergeEvaluated.props(X,(0,jJ.toHash)(G),J.props);let H=G.filter((V)=>!(0,jJ.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,rL.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)}}};aL.default=jx});var WO=w((YO)=>{Object.defineProperty(YO,"__esModule",{value:!0});var eL=L1(),VY=i(),QO=$0(),XO=$0(),Nx={keyword:"patternProperties",type:"object",schemaType:"object",code(Q){let{gen:X,schema:Y,data:W,parentSchema:$,it:J}=Q,{opts:G}=J,H=(0,eL.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 VY.Name))J.props=(0,XO.evaluatedPropsToName)(X,J.props);let{props:V}=J;F();function F(){for(let D of H){if(z)A(D);if(J.allErrors)L(D);else X.var(K,!0),L(D),X.if(K)}}function A(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(VY._`${(0,eL.usePattern)(Q,D)}.test(${O})`,()=>{let j=B.includes(D);if(!j)Q.subschema({keyword:"patternProperties",schemaProp:D,dataProp:O,dataPropType:XO.Type.Str},K);if(J.opts.unevaluated&&V!==!0)X.assign(VY._`${V}[${O}]`,!0);else if(!j&&!J.allErrors)X.if((0,VY.not)(K),()=>X.break())})})}}};YO.default=Nx});var JO=w(($O)=>{Object.defineProperty($O,"__esModule",{value:!0});var qx=$0(),Mx={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(Q){let{gen:X,schema:Y,it:W}=Q;if((0,qx.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"}};$O.default=Mx});var HO=w((GO)=>{Object.defineProperty(GO,"__esModule",{value:!0});var Px=L1(),Zx={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:Px.validateUnion,error:{message:"must match a schema in anyOf"}};GO.default=Zx});var zO=w((BO)=>{Object.defineProperty(BO,"__esModule",{value:!0});var FY=i(),Rx=$0(),Sx={message:"must match exactly one schema in oneOf",params:({params:Q})=>FY._`{passingSchemas: ${Q.passing}}`},Ix={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:Sx,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 F;if((0,Rx.alwaysValidSchema)($,K))X.var(B,!0);else F=Q.subschema({keyword:"oneOf",schemaProp:V,compositeRule:!0},B);if(V>0)X.if(FY._`${B} && ${G}`).assign(G,!1).assign(H,FY._`[${H}, ${V}]`).else();X.if(B,()=>{if(X.assign(G,!0),X.assign(H,V),F)Q.mergeEvaluated(F,FY.Name)})})}}};BO.default=Ix});var VO=w((KO)=>{Object.defineProperty(KO,"__esModule",{value:!0});var Tx=$0(),kx={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,Tx.alwaysValidSchema)(W,J))return;let H=Q.subschema({keyword:"allOf",schemaProp:G},$);Q.ok($),Q.mergeEvaluated(H)})}};KO.default=kx});var LO=w((DO)=>{Object.defineProperty(DO,"__esModule",{value:!0});var AY=i(),AO=$0(),_x={message:({params:Q})=>AY.str`must match "${Q.ifClause}" schema`,params:({params:Q})=>AY._`{failingKeyword: ${Q.ifClause}}`},xx={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:_x,code(Q){let{gen:X,parentSchema:Y,it:W}=Q;if(Y.then===void 0&&Y.else===void 0)(0,AO.checkStrictMode)(W,'"if" without "then" and "else" is ignored');let $=FO(W,"then"),J=FO(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,AY.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(X.assign(G,H),Q.mergeValidEvaluated(F,G),V)X.assign(V,AY._`${K}`);else Q.setParams({ifClause:K})}}}};function FO(Q,X){let Y=Q.schema[X];return Y!==void 0&&!(0,AO.alwaysValidSchema)(Q,Y)}DO.default=xx});var jO=w((OO)=>{Object.defineProperty(OO,"__esModule",{value:!0});var fx=$0(),gx={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:Q,parentSchema:X,it:Y}){if(X.if===void 0)(0,fx.checkStrictMode)(Y,`"${Q}" without "if" is ignored`)}};OO.default=gx});var NO=w((UO)=>{Object.defineProperty(UO,"__esModule",{value:!0});var ux=AJ(),lx=vL(),mx=DJ(),cx=yL(),px=gL(),dx=pL(),ix=nL(),nx=OJ(),ox=sL(),rx=WO(),tx=JO(),ax=HO(),sx=zO(),ex=VO(),Qy=LO(),Xy=jO();function Yy(Q=!1){let X=[tx.default,ax.default,sx.default,ex.default,Qy.default,Xy.default,ix.default,nx.default,dx.default,ox.default,rx.default];if(Q)X.push(lx.default,cx.default);else X.push(ux.default,mx.default);return X.push(px.default),X}UO.default=Yy});var qO=w((wO)=>{Object.defineProperty(wO,"__esModule",{value:!0});var Z0=i(),$y={message:({schemaCode:Q})=>Z0.str`must match format "${Q}"`,params:({schemaCode:Q})=>Z0._`{format: ${Q}}`},Jy={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:$y,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($)F();else A();function F(){let L=Y.scopeValue("formats",{ref:V.formats,code:B.code.formats}),D=Y.const("fDef",Z0._`${L}[${G}]`),O=Y.let("fType"),j=Y.let("format");Y.if(Z0._`typeof ${D} == "object" && !(${D} instanceof RegExp)`,()=>Y.assign(O,Z0._`${D}.type || "string"`).assign(j,Z0._`${D}.validate`),()=>Y.assign(O,Z0._`"string"`).assign(j,D)),Q.fail$data((0,Z0.or)(q(),M()));function q(){if(B.strictSchema===!1)return Z0.nil;return Z0._`${G} && !${j}`}function M(){let S=K.$async?Z0._`(${D}.async ? await ${j}(${W}) : ${j}(${W}))`:Z0._`${j}(${W})`,Z=Z0._`(typeof ${j} == "function" ? ${S} : ${j}.test(${W}))`;return Z0._`${j} && ${j} !== true && ${O} === ${X} && !${Z}`}}function A(){let L=V.formats[J];if(!L){q();return}if(L===!0)return;let[D,O,j]=M(L);if(D===X)Q.pass(S());function q(){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 K0=Z instanceof RegExp?(0,Z0.regexpCode)(Z):B.code.formats?Z0._`${B.code.formats}${(0,Z0.getProperty)(J)}`:void 0,b0=Y.scopeValue("formats",{key:J,ref:Z,code:K0});if(typeof Z=="object"&&!(Z instanceof RegExp))return[Z.type||"string",Z.validate,Z0._`${b0}.validate`];return["string",Z,b0]}function S(){if(typeof L=="object"&&!(L instanceof RegExp)&&L.async){if(!K.$async)throw Error("async format in sync schema");return Z0._`await ${j}(${W})`}return typeof O=="function"?Z0._`${j}(${W})`:Z0._`${j}.test(${W})`}}}};wO.default=Jy});var bO=w((MO)=>{Object.defineProperty(MO,"__esModule",{value:!0});var Hy=qO(),By=[Hy.default];MO.default=By});var EO=w((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 IO=w((SO)=>{Object.defineProperty(SO,"__esModule",{value:!0});var Vy=aD(),Fy=PL(),Ay=NO(),Dy=bO(),RO=EO(),Ly=[Vy.default,Fy.default,(0,Ay.default)(),Dy.default,RO.metadataVocabulary,RO.contentVocabulary];SO.default=Ly});var vO=w((TO)=>{Object.defineProperty(TO,"__esModule",{value:!0});TO.DiscrError=void 0;var CO;(function(Q){Q.Tag="tag",Q.Mapping="mapping"})(CO||(TO.DiscrError=CO={}))});var yO=w((xO)=>{Object.defineProperty(xO,"__esModule",{value:!0});var G4=i(),UJ=vO(),_O=sX(),jy=v8(),Uy=$0(),Ny={message:({params:{discrError:Q,tagName:X}})=>Q===UJ.DiscrError.Tag?`tag "${X}" must be string`:`value of tag "${X}" must be in oneOf`,params:({params:{discrError:Q,tag:X,tagName:Y}})=>G4._`{error: ${Q}, tag: ${Y}, tagValue: ${X}}`},wy={keyword:"discriminator",type:"object",schemaType:"object",error:Ny,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",G4._`${Y}${(0,G4.getProperty)(H)}`);X.if(G4._`typeof ${z} == "string"`,()=>K(),()=>Q.error(!1,{discrError:UJ.DiscrError.Tag,tag:z,tagName:H})),Q.ok(B);function K(){let A=F();X.if(!1);for(let L in A)X.elseIf(G4._`${z} === ${L}`),X.assign(B,V(A[L]));X.else(),Q.error(!1,{discrError:UJ.DiscrError.Mapping,tag:z,tagName:H}),X.endIf()}function V(A){let L=X.name("valid"),D=Q.subschema({keyword:"oneOf",schemaProp:A},L);return Q.mergeEvaluated(D,G4.Name),L}function F(){var A;let L={},D=j($),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,Uy.schemaHasRulesButRef)(Z,J.self.RULES)){let b0=Z.$ref;if(Z=_O.resolveRef.call(J.self,J.schemaEnv.root,J.baseId,b0),Z instanceof _O.SchemaEnv)Z=Z.schema;if(Z===void 0)throw new jy.default(J.opts.uriResolver,J.baseId,b0)}let K0=(A=Z===null||Z===void 0?void 0:Z.properties)===null||A===void 0?void 0:A[H];if(typeof K0!="object")throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${H}"`);O=O&&(D||j(Z)),q(K0,S)}if(!O)throw Error(`discriminator: "${H}" must be required`);return L;function j({required:S}){return Array.isArray(S)&&S.includes(H)}function q(S,Z){if(S.const)M(S.const,Z);else if(S.enum)for(let K0 of S.enum)M(K0,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}}}};xO.default=wy});var fO=w((Mi,My)=>{My.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 hO=w((H1,NJ)=>{Object.defineProperty(H1,"__esModule",{value:!0});H1.MissingRefError=H1.ValidationError=H1.CodeGen=H1.Name=H1.nil=H1.stringify=H1.str=H1._=H1.KeywordCxt=H1.Ajv=void 0;var by=lD(),Py=IO(),Zy=yO(),gO=fO(),Ey=["/properties"],DY="http://json-schema.org/draft-07/schema";class p8 extends by.default{_addVocabularies(){if(super._addVocabularies(),Py.default.forEach((Q)=>this.addVocabulary(Q)),this.opts.discriminator)this.addKeyword(Zy.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let Q=this.opts.$data?this.$dataMetaSchema(gO,Ey):gO;this.addMetaSchema(Q,DY,!1),this.refs["http://json-schema.org/schema"]=DY}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(DY)?DY:void 0)}}H1.Ajv=p8;NJ.exports=H1=p8;NJ.exports.Ajv=p8;Object.defineProperty(H1,"__esModule",{value:!0});H1.default=p8;var Ry=k8();Object.defineProperty(H1,"KeywordCxt",{enumerable:!0,get:function(){return Ry.KeywordCxt}});var H4=i();Object.defineProperty(H1,"_",{enumerable:!0,get:function(){return H4._}});Object.defineProperty(H1,"str",{enumerable:!0,get:function(){return H4.str}});Object.defineProperty(H1,"stringify",{enumerable:!0,get:function(){return H4.stringify}});Object.defineProperty(H1,"nil",{enumerable:!0,get:function(){return H4.nil}});Object.defineProperty(H1,"Name",{enumerable:!0,get:function(){return H4.Name}});Object.defineProperty(H1,"CodeGen",{enumerable:!0,get:function(){return H4.CodeGen}});var Sy=tX();Object.defineProperty(H1,"ValidationError",{enumerable:!0,get:function(){return Sy.default}});var Iy=v8();Object.defineProperty(H1,"MissingRefError",{enumerable:!0,get:function(){return Iy.default}})});var lO=w((uO)=>{Object.defineProperty(uO,"__esModule",{value:!0});uO.formatLimitDefinition=void 0;var ky=hO(),f1=i(),x6=f1.operators,LY={formatMaximum:{okStr:"<=",ok:x6.LTE,fail:x6.GT},formatMinimum:{okStr:">=",ok:x6.GTE,fail:x6.LT},formatExclusiveMaximum:{okStr:"<",ok:x6.LT,fail:x6.GTE},formatExclusiveMinimum:{okStr:">",ok:x6.GT,fail:x6.LTE}},vy={message:({keyword:Q,schemaCode:X})=>f1.str`should be ${LY[Q].okStr} ${X}`,params:({keyword:Q,schemaCode:X})=>f1._`{comparison: ${LY[Q].okStr}, limit: ${X}}`};uO.formatLimitDefinition={keyword:Object.keys(LY),type:"string",schemaType:"string",$data:!0,error:vy,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 ky.KeywordCxt(J,H.RULES.all.format.definition,"format");if(B.$data)z();else K();function z(){let F=X.scopeValue("formats",{ref:H.formats,code:G.code.formats}),A=X.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 L=X.scopeValue("formats",{key:F,ref:A,code:G.code.formats?f1._`${G.code.formats}${(0,f1.getProperty)(F)}`:void 0});Q.fail$data(V(L))}function V(F){return f1._`${F}.compare(${Y}, ${W}) ${LY[$].fail} 0`}},dependencies:["format"]};var _y=(Q)=>{return Q.addKeyword(uO.formatLimitDefinition),Q};uO.default=_y});var dO=w((d8,pO)=>{Object.defineProperty(d8,"__esModule",{value:!0});var B4=fF(),yy=lO(),qJ=i(),mO=new qJ.Name("fullFormats"),fy=new qJ.Name("fastFormats"),MJ=(Q,X={keywords:!0})=>{if(Array.isArray(X))return cO(Q,X,B4.fullFormats,mO),Q;let[Y,W]=X.mode==="fast"?[B4.fastFormats,fy]:[B4.fullFormats,mO],$=X.formats||B4.formatNames;if(cO(Q,$,Y,W),X.keywords)(0,yy.default)(Q);return Q};MJ.get=(Q,X="full")=>{let W=(X==="fast"?B4.fastFormats:B4.fullFormats)[Q];if(!W)throw Error(`Unknown format "${Q}"`);return W};function cO(Q,X,Y,W){var $,J;($=(J=Q.opts.code).formats)!==null&&$!==void 0||(J.formats=qJ._`require("ajv-formats/dist/formats").${W}`);for(let G of X)Q.addFormat(G,Y[G])}pO.exports=d8=MJ;Object.defineProperty(d8,"__esModule",{value:!0});d8.default=MJ});var c={};a8(c,{void:()=>wU,util:()=>r,unknown:()=>UU,union:()=>bU,undefined:()=>LU,tuple:()=>EU,transformer:()=>yU,symbol:()=>DU,string:()=>DG,strictObject:()=>MU,setErrorMap:()=>hj,set:()=>IU,record:()=>RU,quotelessJson:()=>fj,promise:()=>xU,preprocess:()=>hU,pipeline:()=>uU,ostring:()=>lU,optional:()=>fU,onumber:()=>mU,oboolean:()=>cU,objectUtil:()=>mY,object:()=>dY,number:()=>LG,nullable:()=>gU,null:()=>OU,never:()=>NU,nativeEnum:()=>_U,nan:()=>VU,map:()=>SU,makeIssue:()=>N4,literal:()=>kU,lazy:()=>TU,late:()=>zU,isValid:()=>V6,isDirty:()=>e8,isAsync:()=>j9,isAborted:()=>s8,intersection:()=>ZU,instanceof:()=>KU,getParsedType:()=>h1,getErrorMap:()=>O9,function:()=>CU,enum:()=>vU,effect:()=>yU,discriminatedUnion:()=>PU,defaultErrorMap:()=>r1,datetimeRegex:()=>VG,date:()=>AU,custom:()=>AG,coerce:()=>pU,boolean:()=>OG,bigint:()=>FU,array:()=>qU,any:()=>jU,addIssueToContext:()=>T,ZodVoid:()=>q4,ZodUnknown:()=>F6,ZodUnion:()=>b9,ZodUndefined:()=>q9,ZodType:()=>n,ZodTuple:()=>l1,ZodTransformer:()=>q1,ZodSymbol:()=>w4,ZodString:()=>U1,ZodSet:()=>p6,ZodSchema:()=>n,ZodRecord:()=>M4,ZodReadonly:()=>C9,ZodPromise:()=>d6,ZodPipeline:()=>Z4,ZodParsedType:()=>E,ZodOptional:()=>B1,ZodObject:()=>q0,ZodNumber:()=>A6,ZodNullable:()=>a1,ZodNull:()=>M9,ZodNever:()=>u1,ZodNativeEnum:()=>R9,ZodNaN:()=>P4,ZodMap:()=>b4,ZodLiteral:()=>E9,ZodLazy:()=>Z9,ZodIssueCode:()=>b,ZodIntersection:()=>P9,ZodFunction:()=>N9,ZodFirstPartyTypeKind:()=>P,ZodError:()=>r0,ZodEnum:()=>L6,ZodEffects:()=>q1,ZodDiscriminatedUnion:()=>QQ,ZodDefault:()=>S9,ZodDate:()=>m6,ZodCatch:()=>I9,ZodBranded:()=>XQ,ZodBoolean:()=>w9,ZodBigInt:()=>D6,ZodArray:()=>N1,ZodAny:()=>c6,Schema:()=>n,ParseStatus:()=>C0,OK:()=>g0,NEVER:()=>dU,INVALID:()=>g,EMPTY_PATH:()=>uj,DIRTY:()=>l6,BRAND:()=>BU});var r;(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}})(r||(r={}));var mY;(function(Q){Q.mergeShapes=(X,Y)=>{return{...X,...Y}}})(mY||(mY={}));var E=r.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 E.undefined;case"string":return E.string;case"number":return Number.isNaN(Q)?E.nan:E.number;case"boolean":return E.boolean;case"function":return E.function;case"bigint":return E.bigint;case"symbol":return E.symbol;case"object":if(Array.isArray(Q))return E.array;if(Q===null)return E.null;if(Q.then&&typeof Q.then==="function"&&Q.catch&&typeof Q.catch==="function")return E.promise;if(typeof Map<"u"&&Q instanceof Map)return E.map;if(typeof Set<"u"&&Q instanceof Set)return E.set;if(typeof Date<"u"&&Q instanceof Date)return E.date;return E.object;default:return E.unknown}};var b=r.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"]),fj=(Q)=>{return JSON.stringify(Q,null,2).replace(/"([^"]+)":/g,"$1:")};class r0 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 r0))throw Error(`Not a ZodError: ${Q}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,r.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()}}r0.create=(Q)=>{return new r0(Q)};var gj=(Q,X)=>{let Y;switch(Q.code){case b.invalid_type:if(Q.received===E.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,r.jsonStringifyReplacer)}`;break;case b.unrecognized_keys:Y=`Unrecognized key(s) in object: ${r.joinValues(Q.keys,", ")}`;break;case b.invalid_union:Y="Invalid input";break;case b.invalid_union_discriminator:Y=`Invalid discriminator value. Expected ${r.joinValues(Q.options)}`;break;case b.invalid_enum_value:Y=`Invalid enum value. Expected ${r.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 r.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,r.assertNever(Q)}return{message:Y}},r1=gj;var GG=r1;function hj(Q){GG=Q}function O9(){return GG}var N4=(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}},uj=[];function T(Q,X){let Y=O9(),W=N4({issueData:X,data:Q.data,path:Q.path,errorMaps:[Q.common.contextualErrorMap,Q.schemaErrorMap,Y,Y===r1?void 0:r1].filter(($)=>!!$)});Q.common.issues.push(W)}class C0{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 g;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 C0.mergeObjectSync(Q,Y)}static mergeObjectSync(Q,X){let Y={};for(let W of X){let{key:$,value:J}=W;if($.status==="aborted")return g;if(J.status==="aborted")return g;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 g=Object.freeze({status:"aborted"}),l6=(Q)=>({status:"dirty",value:Q}),g0=(Q)=>({status:"valid",value:Q}),s8=(Q)=>Q.status==="aborted",e8=(Q)=>Q.status==="dirty",V6=(Q)=>Q.status==="valid",j9=(Q)=>typeof Promise<"u"&&Q instanceof Promise;var v;(function(Q){Q.errToObj=(X)=>typeof X==="string"?{message:X}:X||{},Q.toString=(X)=>typeof X==="string"?X:X?.message})(v||(v={}));class w1{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 HG=(Q,X)=>{if(V6(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 r0(Q.common.issues);return this._error=Y,this._error}}}};function m(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 n{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 C0,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(j9(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 HG(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 V6(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)=>V6(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(j9(W)?W:Promise.resolve(W));return HG(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 q1({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 B1.create(this,this._def)}nullable(){return a1.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return N1.create(this)}promise(){return d6.create(this,this._def)}or(Q){return b9.create([this,Q],this._def)}and(Q){return P9.create(this,Q,this._def)}transform(Q){return new q1({...m(this._def),schema:this,typeName:P.ZodEffects,effect:{type:"transform",transform:Q}})}default(Q){let X=typeof Q==="function"?Q:()=>Q;return new S9({...m(this._def),innerType:this,defaultValue:X,typeName:P.ZodDefault})}brand(){return new XQ({typeName:P.ZodBranded,type:this,...m(this._def)})}catch(Q){let X=typeof Q==="function"?Q:()=>Q;return new I9({...m(this._def),innerType:this,catchValue:X,typeName:P.ZodCatch})}describe(Q){return new this.constructor({...this._def,description:Q})}pipe(Q){return Z4.create(this,Q)}readonly(){return C9.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var lj=/^c[^\s-]{8,}$/i,mj=/^[0-9a-z]+$/,cj=/^[0-9A-HJKMNP-TV-Z]{26}$/i,pj=/^[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,dj=/^[a-z0-9_-]{21}$/i,ij=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,nj=/^[-+]?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)?)??$/,oj=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,rj="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",cY,tj=/^(?:(?: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])$/,aj=/^(?:(?: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])$/,sj=/^(([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]))$/,ej=/^(([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])$/,QU=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,XU=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,zG="((\\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])))",YU=new RegExp(`^${zG}$`);function KG(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 WU(Q){return new RegExp(`^${KG(Q)}$`)}function VG(Q){let X=`${zG}T${KG(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 $U(Q,X){if((X==="v4"||!X)&&tj.test(Q))return!0;if((X==="v6"||!X)&&sj.test(Q))return!0;return!1}function JU(Q,X){if(!ij.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 GU(Q,X){if((X==="v4"||!X)&&aj.test(Q))return!0;if((X==="v6"||!X)&&ej.test(Q))return!0;return!1}class U1 extends n{_parse(Q){if(this._def.coerce)Q.data=String(Q.data);if(this._getType(Q)!==E.string){let $=this._getOrReturnCtx(Q);return T($,{code:b.invalid_type,expected:E.string,received:$.parsedType}),g}let Y=new C0,W=void 0;for(let $ of this._def.checks)if($.kind==="min"){if(Q.data.length<$.value)W=this._getOrReturnCtx(Q,W),T(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),T(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)T(W,{code:b.too_big,maximum:$.value,type:"string",inclusive:!0,exact:!0,message:$.message});else if(G)T(W,{code:b.too_small,minimum:$.value,type:"string",inclusive:!0,exact:!0,message:$.message});Y.dirty()}}else if($.kind==="email"){if(!oj.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"email",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="emoji"){if(!cY)cY=new RegExp(rj,"u");if(!cY.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"emoji",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="uuid"){if(!pj.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"uuid",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="nanoid"){if(!dj.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"nanoid",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="cuid"){if(!lj.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"cuid",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="cuid2"){if(!mj.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"cuid2",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="ulid"){if(!cj.test(Q.data))W=this._getOrReturnCtx(Q,W),T(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),T(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),T(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),T(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),T(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),T(W,{code:b.invalid_string,validation:{endsWith:$.value},message:$.message}),Y.dirty()}else if($.kind==="datetime"){if(!VG($).test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:"datetime",message:$.message}),Y.dirty()}else if($.kind==="date"){if(!YU.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:"date",message:$.message}),Y.dirty()}else if($.kind==="time"){if(!WU($).test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:"time",message:$.message}),Y.dirty()}else if($.kind==="duration"){if(!nj.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"duration",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="ip"){if(!$U(Q.data,$.version))W=this._getOrReturnCtx(Q,W),T(W,{validation:"ip",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="jwt"){if(!JU(Q.data,$.alg))W=this._getOrReturnCtx(Q,W),T(W,{validation:"jwt",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="cidr"){if(!GU(Q.data,$.version))W=this._getOrReturnCtx(Q,W),T(W,{validation:"cidr",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="base64"){if(!QU.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"base64",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="base64url"){if(!XU.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"base64url",code:b.invalid_string,message:$.message}),Y.dirty()}else r.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,...v.errToObj(Y)})}_addCheck(Q){return new U1({...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,X){return this._addCheck({kind:"regex",regex:Q,...v.errToObj(X)})}includes(Q,X){return this._addCheck({kind:"includes",value:Q,position:X?.position,...v.errToObj(X?.message)})}startsWith(Q,X){return this._addCheck({kind:"startsWith",value:Q,...v.errToObj(X)})}endsWith(Q,X){return this._addCheck({kind:"endsWith",value:Q,...v.errToObj(X)})}min(Q,X){return this._addCheck({kind:"min",value:Q,...v.errToObj(X)})}max(Q,X){return this._addCheck({kind:"max",value:Q,...v.errToObj(X)})}length(Q,X){return this._addCheck({kind:"length",value:Q,...v.errToObj(X)})}nonempty(Q){return this.min(1,v.errToObj(Q))}trim(){return new U1({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new U1({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new U1({...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}}U1.create=(Q)=>{return new U1({checks:[],typeName:P.ZodString,coerce:Q?.coerce??!1,...m(Q)})};function HU(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 A6 extends n{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)!==E.number){let $=this._getOrReturnCtx(Q);return T($,{code:b.invalid_type,expected:E.number,received:$.parsedType}),g}let Y=void 0,W=new C0;for(let $ of this._def.checks)if($.kind==="int"){if(!r.isInteger(Q.data))Y=this._getOrReturnCtx(Q,Y),T(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),T(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),T(Y,{code:b.too_big,maximum:$.value,type:"number",inclusive:$.inclusive,exact:!1,message:$.message}),W.dirty()}else if($.kind==="multipleOf"){if(HU(Q.data,$.value)!==0)Y=this._getOrReturnCtx(Q,Y),T(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),T(Y,{code:b.not_finite,message:$.message}),W.dirty()}else r.assertNever($);return{status:W.value,value:Q.data}}gte(Q,X){return this.setLimit("min",Q,!0,v.toString(X))}gt(Q,X){return this.setLimit("min",Q,!1,v.toString(X))}lte(Q,X){return this.setLimit("max",Q,!0,v.toString(X))}lt(Q,X){return this.setLimit("max",Q,!1,v.toString(X))}setLimit(Q,X,Y,W){return new A6({...this._def,checks:[...this._def.checks,{kind:Q,value:X,inclusive:Y,message:v.toString(W)}]})}_addCheck(Q){return new A6({...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,X){return this._addCheck({kind:"multipleOf",value:Q,message:v.toString(X)})}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 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"&&r.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)}}A6.create=(Q)=>{return new A6({checks:[],typeName:P.ZodNumber,coerce:Q?.coerce||!1,...m(Q)})};class D6 extends n{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)!==E.bigint)return this._getInvalidInput(Q);let Y=void 0,W=new C0;for(let $ of this._def.checks)if($.kind==="min"){if($.inclusive?Q.data<$.value:Q.data<=$.value)Y=this._getOrReturnCtx(Q,Y),T(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),T(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),T(Y,{code:b.not_multiple_of,multipleOf:$.value,message:$.message}),W.dirty()}else r.assertNever($);return{status:W.value,value:Q.data}}_getInvalidInput(Q){let X=this._getOrReturnCtx(Q);return T(X,{code:b.invalid_type,expected:E.bigint,received:X.parsedType}),g}gte(Q,X){return this.setLimit("min",Q,!0,v.toString(X))}gt(Q,X){return this.setLimit("min",Q,!1,v.toString(X))}lte(Q,X){return this.setLimit("max",Q,!0,v.toString(X))}lt(Q,X){return this.setLimit("max",Q,!1,v.toString(X))}setLimit(Q,X,Y,W){return new D6({...this._def,checks:[...this._def.checks,{kind:Q,value:X,inclusive:Y,message:v.toString(W)}]})}_addCheck(Q){return new D6({...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,X){return this._addCheck({kind:"multipleOf",value:Q,message:v.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}}D6.create=(Q)=>{return new D6({checks:[],typeName:P.ZodBigInt,coerce:Q?.coerce??!1,...m(Q)})};class w9 extends n{_parse(Q){if(this._def.coerce)Q.data=Boolean(Q.data);if(this._getType(Q)!==E.boolean){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:E.boolean,received:Y.parsedType}),g}return g0(Q.data)}}w9.create=(Q)=>{return new w9({typeName:P.ZodBoolean,coerce:Q?.coerce||!1,...m(Q)})};class m6 extends n{_parse(Q){if(this._def.coerce)Q.data=new Date(Q.data);if(this._getType(Q)!==E.date){let $=this._getOrReturnCtx(Q);return T($,{code:b.invalid_type,expected:E.date,received:$.parsedType}),g}if(Number.isNaN(Q.data.getTime())){let $=this._getOrReturnCtx(Q);return T($,{code:b.invalid_date}),g}let Y=new C0,W=void 0;for(let $ of this._def.checks)if($.kind==="min"){if(Q.data.getTime()<$.value)W=this._getOrReturnCtx(Q,W),T(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),T(W,{code:b.too_big,message:$.message,inclusive:!0,exact:!1,maximum:$.value,type:"date"}),Y.dirty()}else r.assertNever($);return{status:Y.value,value:new Date(Q.data.getTime())}}_addCheck(Q){return new m6({...this._def,checks:[...this._def.checks,Q]})}min(Q,X){return this._addCheck({kind:"min",value:Q.getTime(),message:v.toString(X)})}max(Q,X){return this._addCheck({kind:"max",value:Q.getTime(),message:v.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}}m6.create=(Q)=>{return new m6({checks:[],coerce:Q?.coerce||!1,typeName:P.ZodDate,...m(Q)})};class w4 extends n{_parse(Q){if(this._getType(Q)!==E.symbol){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:E.symbol,received:Y.parsedType}),g}return g0(Q.data)}}w4.create=(Q)=>{return new w4({typeName:P.ZodSymbol,...m(Q)})};class q9 extends n{_parse(Q){if(this._getType(Q)!==E.undefined){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:E.undefined,received:Y.parsedType}),g}return g0(Q.data)}}q9.create=(Q)=>{return new q9({typeName:P.ZodUndefined,...m(Q)})};class M9 extends n{_parse(Q){if(this._getType(Q)!==E.null){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:E.null,received:Y.parsedType}),g}return g0(Q.data)}}M9.create=(Q)=>{return new M9({typeName:P.ZodNull,...m(Q)})};class c6 extends n{constructor(){super(...arguments);this._any=!0}_parse(Q){return g0(Q.data)}}c6.create=(Q)=>{return new c6({typeName:P.ZodAny,...m(Q)})};class F6 extends n{constructor(){super(...arguments);this._unknown=!0}_parse(Q){return g0(Q.data)}}F6.create=(Q)=>{return new F6({typeName:P.ZodUnknown,...m(Q)})};class u1 extends n{_parse(Q){let X=this._getOrReturnCtx(Q);return T(X,{code:b.invalid_type,expected:E.never,received:X.parsedType}),g}}u1.create=(Q)=>{return new u1({typeName:P.ZodNever,...m(Q)})};class q4 extends n{_parse(Q){if(this._getType(Q)!==E.undefined){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:E.void,received:Y.parsedType}),g}return g0(Q.data)}}q4.create=(Q)=>{return new q4({typeName:P.ZodVoid,...m(Q)})};class N1 extends n{_parse(Q){let{ctx:X,status:Y}=this._processInputParams(Q),W=this._def;if(X.parsedType!==E.array)return T(X,{code:b.invalid_type,expected:E.array,received:X.parsedType}),g;if(W.exactLength!==null){let J=X.data.length>W.exactLength.value,G=X.data.length<W.exactLength.value;if(J||G)T(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)T(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)T(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 w1(X,J,X.path,G))})).then((J)=>{return C0.mergeArray(Y,J)});let $=[...X.data].map((J,G)=>{return W.type._parseSync(new w1(X,J,X.path,G))});return C0.mergeArray(Y,$)}get element(){return this._def.type}min(Q,X){return new N1({...this._def,minLength:{value:Q,message:v.toString(X)}})}max(Q,X){return new N1({...this._def,maxLength:{value:Q,message:v.toString(X)}})}length(Q,X){return new N1({...this._def,exactLength:{value:Q,message:v.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,...m(X)})};function U9(Q){if(Q instanceof q0){let X={};for(let Y in Q.shape){let W=Q.shape[Y];X[Y]=B1.create(U9(W))}return new q0({...Q._def,shape:()=>X})}else if(Q instanceof N1)return new N1({...Q._def,type:U9(Q.element)});else if(Q instanceof B1)return B1.create(U9(Q.unwrap()));else if(Q instanceof a1)return a1.create(U9(Q.unwrap()));else if(Q instanceof l1)return l1.create(Q.items.map((X)=>U9(X)));else return Q}class q0 extends n{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=r.objectKeys(Q);return this._cached={shape:Q,keys:X},this._cached}_parse(Q){if(this._getType(Q)!==E.object){let B=this._getOrReturnCtx(Q);return T(B,{code:b.invalid_type,expected:E.object,received:B.parsedType}),g}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 w1(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)T(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 w1(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 C0.mergeObjectSync(Y,B)});else return C0.mergeObjectSync(Y,H)}get shape(){return this._def.shape()}strict(Q){return v.errToObj,new q0({...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:v.errToObj(Q).message??W};return{message:W}}}:{}})}strip(){return new q0({...this._def,unknownKeys:"strip"})}passthrough(){return new q0({...this._def,unknownKeys:"passthrough"})}extend(Q){return new q0({...this._def,shape:()=>({...this._def.shape(),...Q})})}merge(Q){return new q0({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 q0({...this._def,catchall:Q})}pick(Q){let X={};for(let Y of r.objectKeys(Q))if(Q[Y]&&this.shape[Y])X[Y]=this.shape[Y];return new q0({...this._def,shape:()=>X})}omit(Q){let X={};for(let Y of r.objectKeys(this.shape))if(!Q[Y])X[Y]=this.shape[Y];return new q0({...this._def,shape:()=>X})}deepPartial(){return U9(this)}partial(Q){let X={};for(let Y of r.objectKeys(this.shape)){let W=this.shape[Y];if(Q&&!Q[Y])X[Y]=W;else X[Y]=W.optional()}return new q0({...this._def,shape:()=>X})}required(Q){let X={};for(let Y of r.objectKeys(this.shape))if(Q&&!Q[Y])X[Y]=this.shape[Y];else{let $=this.shape[Y];while($ instanceof B1)$=$._def.innerType;X[Y]=$}return new q0({...this._def,shape:()=>X})}keyof(){return FG(r.objectKeys(this.shape))}}q0.create=(Q,X)=>{return new q0({shape:()=>Q,unknownKeys:"strip",catchall:u1.create(),typeName:P.ZodObject,...m(X)})};q0.strictCreate=(Q,X)=>{return new q0({shape:()=>Q,unknownKeys:"strict",catchall:u1.create(),typeName:P.ZodObject,...m(X)})};q0.lazycreate=(Q,X)=>{return new q0({shape:Q,unknownKeys:"strip",catchall:u1.create(),typeName:P.ZodObject,...m(X)})};class b9 extends n{_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 r0(G.ctx.common.issues));return T(X,{code:b.invalid_union,unionErrors:J}),g}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 r0(H));return T(X,{code:b.invalid_union,unionErrors:G}),g}}get options(){return this._def.options}}b9.create=(Q,X)=>{return new b9({options:Q,typeName:P.ZodUnion,...m(X)})};var t1=(Q)=>{if(Q instanceof Z9)return t1(Q.schema);else if(Q instanceof q1)return t1(Q.innerType());else if(Q instanceof E9)return[Q.value];else if(Q instanceof L6)return Q.options;else if(Q instanceof R9)return r.objectValues(Q.enum);else if(Q instanceof S9)return t1(Q._def.innerType);else if(Q instanceof q9)return[void 0];else if(Q instanceof M9)return[null];else if(Q instanceof B1)return[void 0,...t1(Q.unwrap())];else if(Q instanceof a1)return[null,...t1(Q.unwrap())];else if(Q instanceof XQ)return t1(Q.unwrap());else if(Q instanceof C9)return t1(Q.unwrap());else if(Q instanceof I9)return t1(Q._def.innerType);else return[]};class QQ extends n{_parse(Q){let{ctx:X}=this._processInputParams(Q);if(X.parsedType!==E.object)return T(X,{code:b.invalid_type,expected:E.object,received:X.parsedType}),g;let Y=this.discriminator,W=X.data[Y],$=this.optionsMap.get(W);if(!$)return T(X,{code:b.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[Y]}),g;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=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 QQ({typeName:P.ZodDiscriminatedUnion,discriminator:Q,options:X,optionsMap:W,...m(Y)})}}function pY(Q,X){let Y=h1(Q),W=h1(X);if(Q===X)return{valid:!0,data:Q};else if(Y===E.object&&W===E.object){let $=r.objectKeys(X),J=r.objectKeys(Q).filter((H)=>$.indexOf(H)!==-1),G={...Q,...X};for(let H of J){let B=pY(Q[H],X[H]);if(!B.valid)return{valid:!1};G[H]=B.data}return{valid:!0,data:G}}else if(Y===E.array&&W===E.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=pY(G,H);if(!B.valid)return{valid:!1};$.push(B.data)}return{valid:!0,data:$}}else if(Y===E.date&&W===E.date&&+Q===+X)return{valid:!0,data:Q};else return{valid:!1}}class P9 extends n{_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q),W=($,J)=>{if(s8($)||s8(J))return g;let G=pY($.value,J.value);if(!G.valid)return T(Y,{code:b.invalid_intersection_types}),g;if(e8($)||e8(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}))}}P9.create=(Q,X,Y)=>{return new P9({left:Q,right:X,typeName:P.ZodIntersection,...m(Y)})};class l1 extends n{_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q);if(Y.parsedType!==E.array)return T(Y,{code:b.invalid_type,expected:E.array,received:Y.parsedType}),g;if(Y.data.length<this._def.items.length)return T(Y,{code:b.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),g;if(!this._def.rest&&Y.data.length>this._def.items.length)T(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 w1(Y,J,Y.path,G))}).filter((J)=>!!J);if(Y.common.async)return Promise.all($).then((J)=>{return C0.mergeArray(X,J)});else return C0.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,...m(X)})};class M4 extends n{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!==E.object)return T(Y,{code:b.invalid_type,expected:E.object,received:Y.parsedType}),g;let W=[],$=this._def.keyType,J=this._def.valueType;for(let G in Y.data)W.push({key:$._parse(new w1(Y,G,Y.path,G)),value:J._parse(new w1(Y,Y.data[G],Y.path,G)),alwaysSet:G in Y.data});if(Y.common.async)return C0.mergeObjectAsync(X,W);else return C0.mergeObjectSync(X,W)}get element(){return this._def.valueType}static create(Q,X,Y){if(X instanceof n)return new M4({keyType:Q,valueType:X,typeName:P.ZodRecord,...m(Y)});return new M4({keyType:U1.create(),valueType:Q,typeName:P.ZodRecord,...m(X)})}}class b4 extends n{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!==E.map)return T(Y,{code:b.invalid_type,expected:E.map,received:Y.parsedType}),g;let W=this._def.keyType,$=this._def.valueType,J=[...Y.data.entries()].map(([G,H],B)=>{return{key:W._parse(new w1(Y,G,Y.path,[B,"key"])),value:$._parse(new w1(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 g;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 g;if(B.status==="dirty"||z.status==="dirty")X.dirty();G.set(B.value,z.value)}return{status:X.value,value:G}}}}b4.create=(Q,X,Y)=>{return new b4({valueType:X,keyType:Q,typeName:P.ZodMap,...m(Y)})};class p6 extends n{_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q);if(Y.parsedType!==E.set)return T(Y,{code:b.invalid_type,expected:E.set,received:Y.parsedType}),g;let W=this._def;if(W.minSize!==null){if(Y.data.size<W.minSize.value)T(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)T(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 g;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 w1(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 p6({...this._def,minSize:{value:Q,message:v.toString(X)}})}max(Q,X){return new p6({...this._def,maxSize:{value:Q,message:v.toString(X)}})}size(Q,X){return this.min(Q,X).max(Q,X)}nonempty(Q){return this.min(1,Q)}}p6.create=(Q,X)=>{return new p6({valueType:Q,minSize:null,maxSize:null,typeName:P.ZodSet,...m(X)})};class N9 extends n{constructor(){super(...arguments);this.validate=this.implement}_parse(Q){let{ctx:X}=this._processInputParams(Q);if(X.parsedType!==E.function)return T(X,{code:b.invalid_type,expected:E.function,received:X.parsedType}),g;function Y(G,H){return N4({data:G,path:X.path,errorMaps:[X.common.contextualErrorMap,X.schemaErrorMap,O9(),r1].filter((B)=>!!B),issueData:{code:b.invalid_arguments,argumentsError:H}})}function W(G,H){return N4({data:G,path:X.path,errorMaps:[X.common.contextualErrorMap,X.schemaErrorMap,O9(),r1].filter((B)=>!!B),issueData:{code:b.invalid_return_type,returnTypeError:H}})}let $={errorMap:X.common.contextualErrorMap},J=X.data;if(this._def.returns instanceof d6){let G=this;return g0(async function(...H){let B=new r0([]),z=await G._def.args.parseAsync(H,$).catch((F)=>{throw B.addIssue(Y(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 g0(function(...H){let B=G._def.args.safeParse(H,$);if(!B.success)throw new r0([Y(H,B.error)]);let z=Reflect.apply(J,this,B.data),K=G._def.returns.safeParse(z,$);if(!K.success)throw new r0([W(z,K.error)]);return K.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...Q){return new N9({...this._def,args:l1.create(Q).rest(F6.create())})}returns(Q){return new N9({...this._def,returns:Q})}implement(Q){return this.parse(Q)}strictImplement(Q){return this.parse(Q)}static create(Q,X,Y){return new N9({args:Q?Q:l1.create([]).rest(F6.create()),returns:X||F6.create(),typeName:P.ZodFunction,...m(Y)})}}class Z9 extends n{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})}}Z9.create=(Q,X)=>{return new Z9({getter:Q,typeName:P.ZodLazy,...m(X)})};class E9 extends n{_parse(Q){if(Q.data!==this._def.value){let X=this._getOrReturnCtx(Q);return T(X,{received:X.data,code:b.invalid_literal,expected:this._def.value}),g}return{status:"valid",value:Q.data}}get value(){return this._def.value}}E9.create=(Q,X)=>{return new E9({value:Q,typeName:P.ZodLiteral,...m(X)})};function FG(Q,X){return new L6({values:Q,typeName:P.ZodEnum,...m(X)})}class L6 extends n{_parse(Q){if(typeof Q.data!=="string"){let X=this._getOrReturnCtx(Q),Y=this._def.values;return T(X,{expected:r.joinValues(Y),received:X.parsedType,code:b.invalid_type}),g}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 T(X,{received:X.data,code:b.invalid_enum_value,options:Y}),g}return g0(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 L6.create(Q,{...this._def,...X})}exclude(Q,X=this._def){return L6.create(this.options.filter((Y)=>!Q.includes(Y)),{...this._def,...X})}}L6.create=FG;class R9 extends n{_parse(Q){let X=r.getValidEnumValues(this._def.values),Y=this._getOrReturnCtx(Q);if(Y.parsedType!==E.string&&Y.parsedType!==E.number){let W=r.objectValues(X);return T(Y,{expected:r.joinValues(W),received:Y.parsedType,code:b.invalid_type}),g}if(!this._cache)this._cache=new Set(r.getValidEnumValues(this._def.values));if(!this._cache.has(Q.data)){let W=r.objectValues(X);return T(Y,{received:Y.data,code:b.invalid_enum_value,options:W}),g}return g0(Q.data)}get enum(){return this._def.values}}R9.create=(Q,X)=>{return new R9({values:Q,typeName:P.ZodNativeEnum,...m(X)})};class d6 extends n{unwrap(){return this._def.type}_parse(Q){let{ctx:X}=this._processInputParams(Q);if(X.parsedType!==E.promise&&X.common.async===!1)return T(X,{code:b.invalid_type,expected:E.promise,received:X.parsedType}),g;let Y=X.parsedType===E.promise?X.data:Promise.resolve(X.data);return g0(Y.then((W)=>{return this._def.type.parseAsync(W,{path:X.path,errorMap:X.common.contextualErrorMap})}))}}d6.create=(Q,X)=>{return new d6({type:Q,typeName:P.ZodPromise,...m(X)})};class q1 extends n{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(T(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 g;let H=await this._def.schema._parseAsync({data:G,path:Y.path,parent:Y});if(H.status==="aborted")return g;if(H.status==="dirty")return l6(H.value);if(X.value==="dirty")return l6(H.value);return H});else{if(X.value==="aborted")return g;let G=this._def.schema._parseSync({data:J,path:Y.path,parent:Y});if(G.status==="aborted")return g;if(G.status==="dirty")return l6(G.value);if(X.value==="dirty")return l6(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 g;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 g;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(!V6(J))return g;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(!V6(J))return g;return Promise.resolve(W.transform(J.value,$)).then((G)=>({status:X.value,value:G}))});r.assertNever(W)}}q1.create=(Q,X,Y)=>{return new q1({schema:Q,typeName:P.ZodEffects,effect:X,...m(Y)})};q1.createWithPreprocess=(Q,X,Y)=>{return new q1({schema:X,effect:{type:"preprocess",transform:Q},typeName:P.ZodEffects,...m(Y)})};class B1 extends n{_parse(Q){if(this._getType(Q)===E.undefined)return g0(void 0);return this._def.innerType._parse(Q)}unwrap(){return this._def.innerType}}B1.create=(Q,X)=>{return new B1({innerType:Q,typeName:P.ZodOptional,...m(X)})};class a1 extends n{_parse(Q){if(this._getType(Q)===E.null)return g0(null);return this._def.innerType._parse(Q)}unwrap(){return this._def.innerType}}a1.create=(Q,X)=>{return new a1({innerType:Q,typeName:P.ZodNullable,...m(X)})};class S9 extends n{_parse(Q){let{ctx:X}=this._processInputParams(Q),Y=X.data;if(X.parsedType===E.undefined)Y=this._def.defaultValue();return this._def.innerType._parse({data:Y,path:X.path,parent:X})}removeDefault(){return this._def.innerType}}S9.create=(Q,X)=>{return new S9({innerType:Q,typeName:P.ZodDefault,defaultValue:typeof X.default==="function"?X.default:()=>X.default,...m(X)})};class I9 extends n{_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(j9(W))return W.then(($)=>{return{status:"valid",value:$.status==="valid"?$.value:this._def.catchValue({get error(){return new r0(Y.common.issues)},input:Y.data})}});else return{status:"valid",value:W.status==="valid"?W.value:this._def.catchValue({get error(){return new r0(Y.common.issues)},input:Y.data})}}removeCatch(){return this._def.innerType}}I9.create=(Q,X)=>{return new I9({innerType:Q,typeName:P.ZodCatch,catchValue:typeof X.catch==="function"?X.catch:()=>X.catch,...m(X)})};class P4 extends n{_parse(Q){if(this._getType(Q)!==E.nan){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:E.nan,received:Y.parsedType}),g}return{status:"valid",value:Q.data}}}P4.create=(Q)=>{return new P4({typeName:P.ZodNaN,...m(Q)})};var BU=Symbol("zod_brand");class XQ extends n{_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 Z4 extends n{_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 g;if($.status==="dirty")return X.dirty(),l6($.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 g;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 Z4({in:Q,out:X,typeName:P.ZodPipeline})}}class C9 extends n{_parse(Q){let X=this._def.innerType._parse(Q),Y=(W)=>{if(V6(W))W.value=Object.freeze(W.value);return W};return j9(X)?X.then((W)=>Y(W)):Y(X)}unwrap(){return this._def.innerType}}C9.create=(Q,X)=>{return new C9({innerType:Q,typeName:P.ZodReadonly,...m(X)})};function BG(Q,X){let Y=typeof Q==="function"?Q(X):typeof Q==="string"?{message:Q}:Q;return typeof Y==="string"?{message:Y}:Y}function AG(Q,X={},Y){if(Q)return c6.create().superRefine((W,$)=>{let J=Q(W);if(J instanceof Promise)return J.then((G)=>{if(!G){let H=BG(X,W),B=H.fatal??Y??!0;$.addIssue({code:"custom",...H,fatal:B})}});if(!J){let G=BG(X,W),H=G.fatal??Y??!0;$.addIssue({code:"custom",...G,fatal:H})}return});return c6.create()}var zU={object:q0.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 KU=(Q,X={message:`Input not instance of ${Q.name}`})=>AG((Y)=>Y instanceof Q,X),DG=U1.create,LG=A6.create,VU=P4.create,FU=D6.create,OG=w9.create,AU=m6.create,DU=w4.create,LU=q9.create,OU=M9.create,jU=c6.create,UU=F6.create,NU=u1.create,wU=q4.create,qU=N1.create,dY=q0.create,MU=q0.strictCreate,bU=b9.create,PU=QQ.create,ZU=P9.create,EU=l1.create,RU=M4.create,SU=b4.create,IU=p6.create,CU=N9.create,TU=Z9.create,kU=E9.create,vU=L6.create,_U=R9.create,xU=d6.create,yU=q1.create,fU=B1.create,gU=a1.create,hU=q1.createWithPreprocess,uU=Z4.create,lU=()=>DG().optional(),mU=()=>LG().optional(),cU=()=>OG().optional(),pU={string:(Q)=>U1.create({...Q,coerce:!0}),number:(Q)=>A6.create({...Q,coerce:!0}),boolean:(Q)=>w9.create({...Q,coerce:!0}),bigint:(Q)=>D6.create({...Q,coerce:!0}),date:(Q)=>m6.create({...Q,coerce:!0})};var dU=g;var WQ=Object.freeze({status:"aborted"});function N(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 jG=Symbol("zod_brand");class O6 extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}var YQ={};function t0(Q){if(Q)Object.assign(YQ,Q);return YQ}var t={};a8(t,{unwrapMessage:()=>E4,stringifyPrimitive:()=>GQ,required:()=>BN,randomString:()=>eU,propertyKeyTypes:()=>aY,promiseAllObject:()=>sU,primitiveTypes:()=>UG,prefixIssues:()=>m1,pick:()=>WN,partial:()=>HN,optionalKeys:()=>sY,omit:()=>$N,numKeys:()=>QN,nullish:()=>I4,normalizeParams:()=>f,merge:()=>GN,jsonStringifyReplacer:()=>nY,joinValues:()=>$Q,issue:()=>QW,isPlainObject:()=>k9,isObject:()=>T9,getSizableOrigin:()=>wG,getParsedType:()=>XN,getLengthableOrigin:()=>T4,getEnumValues:()=>R4,getElementAtPath:()=>aU,floatSafeRemainder:()=>oY,finalizeIssue:()=>M1,extend:()=>JN,escapeRegex:()=>j6,esc:()=>i6,defineLazy:()=>V0,createTransparentProxy:()=>YN,clone:()=>a0,cleanRegex:()=>C4,cleanEnum:()=>zN,captureStackTrace:()=>JQ,cached:()=>S4,assignProp:()=>rY,assertNotEqual:()=>nU,assertNever:()=>rU,assertIs:()=>oU,assertEqual:()=>iU,assert:()=>tU,allowsEval:()=>tY,aborted:()=>n6,NUMBER_FORMAT_RANGES:()=>eY,Class:()=>qG,BIGINT_FORMAT_RANGES:()=>NG});function iU(Q){return Q}function nU(Q){return Q}function oU(Q){}function rU(Q){throw Error()}function tU(Q){}function R4(Q){let X=Object.values(Q).filter((W)=>typeof W==="number");return Object.entries(Q).filter(([W,$])=>X.indexOf(+W)===-1).map(([W,$])=>$)}function $Q(Q,X="|"){return Q.map((Y)=>GQ(Y)).join(X)}function nY(Q,X){if(typeof X==="bigint")return X.toString();return X}function S4(Q){return{get value(){{let Y=Q();return Object.defineProperty(this,"value",{value:Y}),Y}throw Error("cached value already set")}}}function I4(Q){return Q===null||Q===void 0}function C4(Q){let X=Q.startsWith("^")?1:0,Y=Q.endsWith("$")?Q.length-1:Q.length;return Q.slice(X,Y)}function oY(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 V0(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 rY(Q,X,Y){Object.defineProperty(Q,X,{value:Y,writable:!0,enumerable:!0,configurable:!0})}function aU(Q,X){if(!X)return Q;return X.reduce((Y,W)=>Y?.[W],Q)}function sU(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 eU(Q=10){let Y="";for(let W=0;W<Q;W++)Y+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return Y}function i6(Q){return JSON.stringify(Q)}var JQ=Error.captureStackTrace?Error.captureStackTrace:(...Q)=>{};function T9(Q){return typeof Q==="object"&&Q!==null&&!Array.isArray(Q)}var tY=S4(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(Q){return!1}});function k9(Q){if(T9(Q)===!1)return!1;let X=Q.constructor;if(X===void 0)return!0;let Y=X.prototype;if(T9(Y)===!1)return!1;if(Object.prototype.hasOwnProperty.call(Y,"isPrototypeOf")===!1)return!1;return!0}function QN(Q){let X=0;for(let Y in Q)if(Object.prototype.hasOwnProperty.call(Q,Y))X++;return X}var XN=(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}`)}},aY=new Set(["string","number","symbol"]),UG=new Set(["string","number","bigint","boolean","symbol","undefined"]);function j6(Q){return Q.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function a0(Q,X,Y){let W=new Q._zod.constr(X??Q._zod.def);if(!X||Y?.parent)W._zod.parent=Q;return W}function f(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 YN(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 GQ(Q){if(typeof Q==="bigint")return Q.toString()+"n";if(typeof Q==="string")return`"${Q}"`;return`${Q}`}function sY(Q){return Object.keys(Q).filter((X)=>{return Q[X]._zod.optin==="optional"&&Q[X]._zod.optout==="optional"})}var eY={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]},NG={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function WN(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 a0(Q,{...Q._zod.def,shape:Y,checks:[]})}function $N(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 a0(Q,{...Q._zod.def,shape:Y,checks:[]})}function JN(Q,X){if(!k9(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 rY(this,"shape",W),W},checks:[]};return a0(Q,Y)}function GN(Q,X){return a0(Q,{...Q._zod.def,get shape(){let Y={...Q._zod.def.shape,...X._zod.def.shape};return rY(this,"shape",Y),Y},catchall:X._zod.def.catchall,checks:[]})}function HN(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 a0(X,{...X._zod.def,shape:$,checks:[]})}function BN(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 a0(X,{...X._zod.def,shape:$,checks:[]})}function n6(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 E4(Q){return typeof Q==="string"?Q:Q?.message}function M1(Q,X,Y){let W={...Q,path:Q.path??[]};if(!Q.message){let $=E4(Q.inst?._zod.def?.error?.(Q))??E4(X?.error?.(Q))??E4(Y.customError?.(Q))??E4(Y.localeError?.(Q))??"Invalid input";W.message=$}if(delete W.inst,delete W.continue,!X?.reportInput)delete W.input;return W}function wG(Q){if(Q instanceof Set)return"set";if(Q instanceof Map)return"map";if(Q instanceof File)return"file";return"unknown"}function T4(Q){if(Array.isArray(Q))return"array";if(typeof Q==="string")return"string";return"unknown"}function QW(...Q){let[X,Y,W]=Q;if(typeof X==="string")return{message:X,code:"custom",input:Y,inst:W};return{...X}}function zN(Q){return Object.entries(Q).filter(([X,Y])=>{return Number.isNaN(Number.parseInt(X,10))}).map((X)=>X[1])}class qG{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,nY,2)},enumerable:!0}),Object.defineProperty(Q,"toString",{value:()=>Q.message,enumerable:!1})},HQ=N("$ZodError",MG),k4=N("$ZodError",MG,{Parent:Error});function BQ(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 zQ(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 XW=(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 O6;if(G.issues.length){let H=new($?.Err??Q)(G.issues.map((B)=>M1(B,J,t0())));throw JQ(H,$?.callee),H}return G.value},YW=XW(k4),WW=(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,t0())));throw JQ(H,$?.callee),H}return G.value},$W=WW(k4),JW=(Q)=>(X,Y,W)=>{let $=W?{...W,async:!1}:{async:!1},J=X._zod.run({value:Y,issues:[]},$);if(J instanceof Promise)throw new O6;return J.issues.length?{success:!1,error:new(Q??HQ)(J.issues.map((G)=>M1(G,$,t0())))}:{success:!0,data:J.value}},o6=JW(k4),GW=(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,$,t0())))}:{success:!0,data:J.value}},r6=GW(k4);var bG=/^[cC][^\s-]{8,}$/,PG=/^[0-9a-z]+$/,ZG=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,EG=/^[0-9a-vA-V]{20}$/,RG=/^[A-Za-z0-9]{27}$/,SG=/^[a-zA-Z0-9_-]{21}$/,IG=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var CG=/^([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})$/,HW=(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 TG=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;function kG(){return new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")}var vG=/^(?:(?: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])$/,_G=/^(([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})$/,xG=/^((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])$/,yG=/^(([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])$/,fG=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,BW=/^[A-Za-z0-9_-]*$/,gG=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var hG=/^\+(?:[0-9]){6,14}[0-9]$/,uG="(?:(?:\\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])))",lG=new RegExp(`^${uG}$`);function mG(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 cG(Q){return new RegExp(`^${mG(Q)}$`)}function pG(Q){let X=mG({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(`^${uG}T(?:${W})$`)}var dG=(Q)=>{let X=Q?`[\\s\\S]{${Q?.minimum??0},${Q?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${X}$`)},iG=/^\d+n?$/,nG=/^\d+$/,oG=/^-?\d+(?:\.\d+)?/i,rG=/true|false/i,tG=/null/i;var aG=/^[^A-Z]*$/,sG=/^[^a-z]*$/;var T0=N("$ZodCheck",(Q,X)=>{var Y;Q._zod??(Q._zod={}),Q._zod.def=X,(Y=Q._zod).onattach??(Y.onattach=[])}),eG={number:"number",bigint:"bigint",object:"date"},zW=N("$ZodCheckLessThan",(Q,X)=>{T0.init(Q,X);let Y=eG[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})}}),KW=N("$ZodCheckGreaterThan",(Q,X)=>{T0.init(Q,X);let Y=eG[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=N("$ZodCheckMultipleOf",(Q,X)=>{T0.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):oY(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})}}),XH=N("$ZodCheckNumberFormat",(Q,X)=>{T0.init(Q,X),X.format=X.format||"float64";let Y=X.format?.includes("int"),W=Y?"int":"number",[$,J]=eY[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=nG}),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 YH=N("$ZodCheckMaxLength",(Q,X)=>{var Y;T0.init(Q,X),(Y=Q._zod.def).when??(Y.when=(W)=>{let $=W.value;return!I4($)&&$.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=T4($);W.issues.push({origin:G,code:"too_big",maximum:X.maximum,inclusive:!0,input:$,inst:Q,continue:!X.abort})}}),WH=N("$ZodCheckMinLength",(Q,X)=>{var Y;T0.init(Q,X),(Y=Q._zod.def).when??(Y.when=(W)=>{let $=W.value;return!I4($)&&$.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=T4($);W.issues.push({origin:G,code:"too_small",minimum:X.minimum,inclusive:!0,input:$,inst:Q,continue:!X.abort})}}),$H=N("$ZodCheckLengthEquals",(Q,X)=>{var Y;T0.init(Q,X),(Y=Q._zod.def).when??(Y.when=(W)=>{let $=W.value;return!I4($)&&$.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=T4($),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})}}),_4=N("$ZodCheckStringFormat",(Q,X)=>{var Y,W;if(T0.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=()=>{})}),JH=N("$ZodCheckRegex",(Q,X)=>{_4.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})}}),GH=N("$ZodCheckLowerCase",(Q,X)=>{X.pattern??(X.pattern=aG),_4.init(Q,X)}),HH=N("$ZodCheckUpperCase",(Q,X)=>{X.pattern??(X.pattern=sG),_4.init(Q,X)}),BH=N("$ZodCheckIncludes",(Q,X)=>{T0.init(Q,X);let Y=j6(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})}}),zH=N("$ZodCheckStartsWith",(Q,X)=>{T0.init(Q,X);let Y=new RegExp(`^${j6(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})}}),KH=N("$ZodCheckEndsWith",(Q,X)=>{T0.init(Q,X);let Y=new RegExp(`.*${j6(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 VH=N("$ZodCheckOverwrite",(Q,X)=>{T0.init(Q,X),Q._zod.check=(Y)=>{Y.value=X.tx(Y.value)}});class VW{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 AH={major:4,minor:0,patch:0};var G0=N("$ZodType",(Q,X)=>{var Y;Q??(Q={}),Q._zod.def=X,Q._zod.bag=Q._zod.bag||{},Q._zod.version=AH;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=n6(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 O6;if(z||F instanceof Promise)z=(z??Promise.resolve()).then(async()=>{if(await F,J.issues.length===V)return;if(!B)B=n6(J,V)});else{if(J.issues.length===V)continue;if(!B)B=n6(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 O6;return H.then((B)=>$(B,W,G))}return $(H,W,G)}}Q["~standard"]={validate:($)=>{try{let J=o6(Q,$);return J.success?{value:J.data}:{issues:J.error?.issues}}catch(J){return r6(Q,$).then((G)=>G.success?{value:G.data}:{issues:G.error?.issues})}},vendor:"zod",version:1}}),x4=N("$ZodString",(Q,X)=>{G0.init(Q,X),Q._zod.pattern=[...Q?._zod.bag?.patterns??[]].pop()??dG(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=N("$ZodStringFormat",(Q,X)=>{_4.init(Q,X),x4.init(Q,X)}),AW=N("$ZodGUID",(Q,X)=>{X.pattern??(X.pattern=CG),F0.init(Q,X)}),DW=N("$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=HW(W))}else X.pattern??(X.pattern=HW());F0.init(Q,X)}),LW=N("$ZodEmail",(Q,X)=>{X.pattern??(X.pattern=TG),F0.init(Q,X)}),OW=N("$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:gG.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})}}}),jW=N("$ZodEmoji",(Q,X)=>{X.pattern??(X.pattern=kG()),F0.init(Q,X)}),UW=N("$ZodNanoID",(Q,X)=>{X.pattern??(X.pattern=SG),F0.init(Q,X)}),NW=N("$ZodCUID",(Q,X)=>{X.pattern??(X.pattern=bG),F0.init(Q,X)}),wW=N("$ZodCUID2",(Q,X)=>{X.pattern??(X.pattern=PG),F0.init(Q,X)}),qW=N("$ZodULID",(Q,X)=>{X.pattern??(X.pattern=ZG),F0.init(Q,X)}),MW=N("$ZodXID",(Q,X)=>{X.pattern??(X.pattern=EG),F0.init(Q,X)}),bW=N("$ZodKSUID",(Q,X)=>{X.pattern??(X.pattern=RG),F0.init(Q,X)}),bH=N("$ZodISODateTime",(Q,X)=>{X.pattern??(X.pattern=pG(X)),F0.init(Q,X)}),PH=N("$ZodISODate",(Q,X)=>{X.pattern??(X.pattern=lG),F0.init(Q,X)}),ZH=N("$ZodISOTime",(Q,X)=>{X.pattern??(X.pattern=cG(X)),F0.init(Q,X)}),EH=N("$ZodISODuration",(Q,X)=>{X.pattern??(X.pattern=IG),F0.init(Q,X)}),PW=N("$ZodIPv4",(Q,X)=>{X.pattern??(X.pattern=vG),F0.init(Q,X),Q._zod.onattach.push((Y)=>{let W=Y._zod.bag;W.format="ipv4"})}),ZW=N("$ZodIPv6",(Q,X)=>{X.pattern??(X.pattern=_G),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})}}}),EW=N("$ZodCIDRv4",(Q,X)=>{X.pattern??(X.pattern=xG),F0.init(Q,X)}),RW=N("$ZodCIDRv6",(Q,X)=>{X.pattern??(X.pattern=yG),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 RH(Q){if(Q==="")return!0;if(Q.length%4!==0)return!1;try{return atob(Q),!0}catch{return!1}}var SW=N("$ZodBase64",(Q,X)=>{X.pattern??(X.pattern=fG),F0.init(Q,X),Q._zod.onattach.push((Y)=>{Y._zod.bag.contentEncoding="base64"}),Q._zod.check=(Y)=>{if(RH(Y.value))return;Y.issues.push({code:"invalid_format",format:"base64",input:Y.value,inst:Q,continue:!X.abort})}});function VN(Q){if(!BW.test(Q))return!1;let X=Q.replace(/[-_]/g,(W)=>W==="-"?"+":"/"),Y=X.padEnd(Math.ceil(X.length/4)*4,"=");return RH(Y)}var IW=N("$ZodBase64URL",(Q,X)=>{X.pattern??(X.pattern=BW),F0.init(Q,X),Q._zod.onattach.push((Y)=>{Y._zod.bag.contentEncoding="base64url"}),Q._zod.check=(Y)=>{if(VN(Y.value))return;Y.issues.push({code:"invalid_format",format:"base64url",input:Y.value,inst:Q,continue:!X.abort})}}),CW=N("$ZodE164",(Q,X)=>{X.pattern??(X.pattern=hG),F0.init(Q,X)});function FN(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 TW=N("$ZodJWT",(Q,X)=>{F0.init(Q,X),Q._zod.check=(Y)=>{if(FN(Y.value,X.alg))return;Y.issues.push({code:"invalid_format",format:"jwt",input:Y.value,inst:Q,continue:!X.abort})}});var VQ=N("$ZodNumber",(Q,X)=>{G0.init(Q,X),Q._zod.pattern=Q._zod.bag.pattern??oG,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}}),kW=N("$ZodNumber",(Q,X)=>{XH.init(Q,X),VQ.init(Q,X)}),vW=N("$ZodBoolean",(Q,X)=>{G0.init(Q,X),Q._zod.pattern=rG,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}}),_W=N("$ZodBigInt",(Q,X)=>{G0.init(Q,X),Q._zod.pattern=iG,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 xW=N("$ZodNull",(Q,X)=>{G0.init(Q,X),Q._zod.pattern=tG,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}}),yW=N("$ZodAny",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y)=>Y}),fW=N("$ZodUnknown",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y)=>Y}),gW=N("$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 hW=N("$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 DH(Q,X,Y){if(Q.issues.length)X.issues.push(...m1(Y,Q.issues));X.value[Y]=Q.value}var uW=N("$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)=>DH(z,Y,G)));else DH(B,Y,G)}if(J.length)return Promise.all(J).then(()=>Y);return Y}});function KQ(Q,X,Y){if(Q.issues.length)X.issues.push(...m1(Y,Q.issues));X.value[Y]=Q.value}function LH(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 FQ=N("$ZodObject",(Q,X)=>{G0.init(Q,X);let Y=S4(()=>{let V=Object.keys(X.shape);for(let A of V)if(!(X.shape[A]instanceof G0))throw Error(`Invalid element at key "${A}": expected a Zod schema`);let F=sY(X.shape);return{shape:X.shape,keys:V,keySet:new Set(V),numKeys:V.length,optionalKeys:new Set(F)}});V0(Q._zod,"propValues",()=>{let V=X.shape,F={};for(let A in V){let L=V[A]._zod;if(L.values){F[A]??(F[A]=new Set);for(let D of L.values)F[A].add(D)}}return F});let W=(V)=>{let F=new VW(["shape","payload","ctx"]),A=Y.value,L=(q)=>{let M=i6(q);return`shape[${M}]._zod.run({ value: input[${M}], issues: [] }, ctx)`};F.write("const input = payload.value;");let D=Object.create(null),O=0;for(let q of A.keys)D[q]=`key_${O++}`;F.write("const newResult = {}");for(let q of A.keys)if(A.optionalKeys.has(q)){let M=D[q];F.write(`const ${M} = ${L(q)};`);let S=i6(q);F.write(`
|
|
19
|
+
if (${M}.issues.length) {
|
|
20
|
+
if (input[${S}] === undefined) {
|
|
21
|
+
if (${S} in input) {
|
|
22
|
+
newResult[${S}] = undefined;
|
|
23
|
+
}
|
|
24
|
+
} else {
|
|
25
|
+
payload.issues = payload.issues.concat(
|
|
26
|
+
${M}.issues.map((iss) => ({
|
|
27
|
+
...iss,
|
|
28
|
+
path: iss.path ? [${S}, ...iss.path] : [${S}],
|
|
29
|
+
}))
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
} else if (${M}.value === undefined) {
|
|
33
|
+
if (${S} in input) newResult[${S}] = undefined;
|
|
34
|
+
} else {
|
|
35
|
+
newResult[${S}] = ${M}.value;
|
|
36
|
+
}
|
|
37
|
+
`)}else{let M=D[q];F.write(`const ${M} = ${L(q)};`),F.write(`
|
|
38
|
+
if (${M}.issues.length) payload.issues = payload.issues.concat(${M}.issues.map(iss => ({
|
|
39
|
+
...iss,
|
|
40
|
+
path: iss.path ? [${i6(q)}, ...iss.path] : [${i6(q)}]
|
|
41
|
+
})));`),F.write(`newResult[${i6(q)}] = ${M}.value`)}F.write("payload.value = newResult;"),F.write("return payload;");let j=F.compile();return(q,M)=>j(V,q,M)},$,J=T9,G=!YQ.jitless,B=G&&tY.value,z=X.catchall,K;Q._zod.parse=(V,F)=>{K??(K=Y.value);let A=V.value;if(!J(A))return V.issues.push({expected:"object",code:"invalid_type",input:A,inst:Q}),V;let L=[];if(G&&B&&F?.async===!1&&F.jitless!==!0){if(!$)$=W(X.shape);V=$(V,F)}else{V.value={};let M=K.shape;for(let S of K.keys){let Z=M[S],K0=Z._zod.run({value:A[S],issues:[]},F),b0=Z._zod.optin==="optional"&&Z._zod.optout==="optional";if(K0 instanceof Promise)L.push(K0.then((g1)=>b0?LH(g1,V,S,A):KQ(g1,V,S)));else if(b0)LH(K0,V,S,A);else KQ(K0,V,S)}}if(!z)return L.length?Promise.all(L).then(()=>V):V;let D=[],O=K.keySet,j=z._zod,q=j.def.type;for(let M of Object.keys(A)){if(O.has(M))continue;if(q==="never"){D.push(M);continue}let S=j.run({value:A[M],issues:[]},F);if(S instanceof Promise)L.push(S.then((Z)=>KQ(Z,V,M)));else KQ(S,V,M)}if(D.length)V.issues.push({code:"unrecognized_keys",keys:D,input:A,inst:Q});if(!L.length)return V;return Promise.all(L).then(()=>{return V})}});function OH(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,t0())))}),X}var AQ=N("$ZodUnion",(Q,X)=>{G0.init(Q,X),V0(Q._zod,"optin",()=>X.options.some((Y)=>Y._zod.optin==="optional")?"optional":void 0),V0(Q._zod,"optout",()=>X.options.some((Y)=>Y._zod.optout==="optional")?"optional":void 0),V0(Q._zod,"values",()=>{if(X.options.every((Y)=>Y._zod.values))return new Set(X.options.flatMap((Y)=>Array.from(Y._zod.values)));return}),V0(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)=>C4(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 OH(J,Y,Q,W);return Promise.all(J).then((G)=>{return OH(G,Y,Q,W)})}}),lW=N("$ZodDiscriminatedUnion",(Q,X)=>{AQ.init(Q,X);let Y=Q._zod.parse;V0(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=S4(()=>{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(!T9(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}),$}}),mW=N("$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 jH(Y,B,z)});return jH(Y,J,G)}});function FW(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(k9(Q)&&k9(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=FW(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=FW($,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 jH(Q,X,Y){if(X.issues.length)Q.issues.push(...X.issues);if(Y.issues.length)Q.issues.push(...Y.issues);if(n6(Q))return Q;let W=FW(X.value,Y.value);if(!W.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(W.mergeErrorPath)}`);return Q.value=W.data,Q}var cW=N("$ZodRecord",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y,W)=>{let $=Y.value;if(!k9($))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,t0())),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 pW=N("$ZodEnum",(Q,X)=>{G0.init(Q,X);let Y=R4(X.entries);Q._zod.values=new Set(Y),Q._zod.pattern=new RegExp(`^(${Y.filter((W)=>aY.has(typeof W)).map((W)=>typeof W==="string"?j6(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}}),dW=N("$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"?j6(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 iW=N("$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 O6;return Y.value=$,Y}}),nW=N("$ZodOptional",(Q,X)=>{G0.init(Q,X),Q._zod.optin="optional",Q._zod.optout="optional",V0(Q._zod,"values",()=>{return X.innerType._zod.values?new Set([...X.innerType._zod.values,void 0]):void 0}),V0(Q._zod,"pattern",()=>{let Y=X.innerType._zod.pattern;return Y?new RegExp(`^(${C4(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)}}),oW=N("$ZodNullable",(Q,X)=>{G0.init(Q,X),V0(Q._zod,"optin",()=>X.innerType._zod.optin),V0(Q._zod,"optout",()=>X.innerType._zod.optout),V0(Q._zod,"pattern",()=>{let Y=X.innerType._zod.pattern;return Y?new RegExp(`^(${C4(Y.source)}|null)$`):void 0}),V0(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)}}),rW=N("$ZodDefault",(Q,X)=>{G0.init(Q,X),Q._zod.optin="optional",V0(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)=>UH(J,X));return UH($,X)}});function UH(Q,X){if(Q.value===void 0)Q.value=X.defaultValue;return Q}var tW=N("$ZodPrefault",(Q,X)=>{G0.init(Q,X),Q._zod.optin="optional",V0(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)}}),aW=N("$ZodNonOptional",(Q,X)=>{G0.init(Q,X),V0(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)=>NH(J,Q));return NH($,Q)}});function NH(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 sW=N("$ZodCatch",(Q,X)=>{G0.init(Q,X),Q._zod.optin="optional",V0(Q._zod,"optout",()=>X.innerType._zod.optout),V0(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,t0()))},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,t0()))},input:Y.value}),Y.issues=[];return Y}});var eW=N("$ZodPipe",(Q,X)=>{G0.init(Q,X),V0(Q._zod,"values",()=>X.in._zod.values),V0(Q._zod,"optin",()=>X.in._zod.optin),V0(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)=>wH(J,X,W));return wH($,X,W)}});function wH(Q,X,Y){if(n6(Q))return Q;return X.out._zod.run({value:Q.value,issues:Q.issues},Y)}var Q7=N("$ZodReadonly",(Q,X)=>{G0.init(Q,X),V0(Q._zod,"propValues",()=>X.innerType._zod.propValues),V0(Q._zod,"values",()=>X.innerType._zod.values),V0(Q._zod,"optin",()=>X.innerType._zod.optin),V0(Q._zod,"optout",()=>X.innerType._zod.optout),Q._zod.parse=(Y,W)=>{let $=X.innerType._zod.run(Y,W);if($ instanceof Promise)return $.then(qH);return qH($)}});function qH(Q){return Q.value=Object.freeze(Q.value),Q}var X7=N("$ZodCustom",(Q,X)=>{T0.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(QW($))}}var AN=(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},DN=()=>{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 ${AN(W.input)}`;case"invalid_value":if(W.values.length===1)return`Invalid input: expected ${GQ(W.values[0])}`;return`Invalid option: expected one of ${$Q(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":""}: ${$Q(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 Y7(){return{localeError:DN()}}var SH=Symbol("ZodOutput"),IH=Symbol("ZodInput");class DQ{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 W7(){return new DQ}var s1=W7();function $7(Q,X){return new Q({type:"string",...f(X)})}function CH(Q,X){return new Q({type:"string",coerce:!0,...f(X)})}function J7(Q,X){return new Q({type:"string",format:"email",check:"string_format",abort:!1,...f(X)})}function LQ(Q,X){return new Q({type:"string",format:"guid",check:"string_format",abort:!1,...f(X)})}function G7(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,...f(X)})}function H7(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...f(X)})}function B7(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...f(X)})}function z7(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...f(X)})}function OQ(Q,X){return new Q({type:"string",format:"url",check:"string_format",abort:!1,...f(X)})}function K7(Q,X){return new Q({type:"string",format:"emoji",check:"string_format",abort:!1,...f(X)})}function V7(Q,X){return new Q({type:"string",format:"nanoid",check:"string_format",abort:!1,...f(X)})}function F7(Q,X){return new Q({type:"string",format:"cuid",check:"string_format",abort:!1,...f(X)})}function A7(Q,X){return new Q({type:"string",format:"cuid2",check:"string_format",abort:!1,...f(X)})}function D7(Q,X){return new Q({type:"string",format:"ulid",check:"string_format",abort:!1,...f(X)})}function L7(Q,X){return new Q({type:"string",format:"xid",check:"string_format",abort:!1,...f(X)})}function O7(Q,X){return new Q({type:"string",format:"ksuid",check:"string_format",abort:!1,...f(X)})}function j7(Q,X){return new Q({type:"string",format:"ipv4",check:"string_format",abort:!1,...f(X)})}function U7(Q,X){return new Q({type:"string",format:"ipv6",check:"string_format",abort:!1,...f(X)})}function N7(Q,X){return new Q({type:"string",format:"cidrv4",check:"string_format",abort:!1,...f(X)})}function w7(Q,X){return new Q({type:"string",format:"cidrv6",check:"string_format",abort:!1,...f(X)})}function q7(Q,X){return new Q({type:"string",format:"base64",check:"string_format",abort:!1,...f(X)})}function M7(Q,X){return new Q({type:"string",format:"base64url",check:"string_format",abort:!1,...f(X)})}function b7(Q,X){return new Q({type:"string",format:"e164",check:"string_format",abort:!1,...f(X)})}function P7(Q,X){return new Q({type:"string",format:"jwt",check:"string_format",abort:!1,...f(X)})}function TH(Q,X){return new Q({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...f(X)})}function kH(Q,X){return new Q({type:"string",format:"date",check:"string_format",...f(X)})}function vH(Q,X){return new Q({type:"string",format:"time",check:"string_format",precision:null,...f(X)})}function _H(Q,X){return new Q({type:"string",format:"duration",check:"string_format",...f(X)})}function Z7(Q,X){return new Q({type:"number",checks:[],...f(X)})}function xH(Q,X){return new Q({type:"number",coerce:!0,checks:[],...f(X)})}function E7(Q,X){return new Q({type:"number",check:"number_format",abort:!1,format:"safeint",...f(X)})}function R7(Q,X){return new Q({type:"boolean",...f(X)})}function yH(Q,X){return new Q({type:"boolean",coerce:!0,...f(X)})}function fH(Q,X){return new Q({type:"bigint",coerce:!0,...f(X)})}function S7(Q,X){return new Q({type:"null",...f(X)})}function I7(Q){return new Q({type:"any"})}function C7(Q){return new Q({type:"unknown"})}function T7(Q,X){return new Q({type:"never",...f(X)})}function gH(Q,X){return new Q({type:"date",coerce:!0,...f(X)})}function v9(Q,X){return new zW({check:"less_than",...f(X),value:Q,inclusive:!1})}function e1(Q,X){return new zW({check:"less_than",...f(X),value:Q,inclusive:!0})}function _9(Q,X){return new KW({check:"greater_than",...f(X),value:Q,inclusive:!1})}function b1(Q,X){return new KW({check:"greater_than",...f(X),value:Q,inclusive:!0})}function y4(Q,X){return new QH({check:"multiple_of",...f(X),value:Q})}function jQ(Q,X){return new YH({check:"max_length",...f(X),maximum:Q})}function x9(Q,X){return new WH({check:"min_length",...f(X),minimum:Q})}function UQ(Q,X){return new $H({check:"length_equals",...f(X),length:Q})}function k7(Q,X){return new JH({check:"string_format",format:"regex",...f(X),pattern:Q})}function v7(Q){return new GH({check:"string_format",format:"lowercase",...f(Q)})}function _7(Q){return new HH({check:"string_format",format:"uppercase",...f(Q)})}function x7(Q,X){return new BH({check:"string_format",format:"includes",...f(X),includes:Q})}function y7(Q,X){return new zH({check:"string_format",format:"starts_with",...f(X),prefix:Q})}function f7(Q,X){return new KH({check:"string_format",format:"ends_with",...f(X),suffix:Q})}function t6(Q){return new VH({check:"overwrite",tx:Q})}function g7(Q){return t6((X)=>X.normalize(Q))}function h7(){return t6((Q)=>Q.trim())}function u7(){return t6((Q)=>Q.toLowerCase())}function l7(){return t6((Q)=>Q.toUpperCase())}function hH(Q,X,Y){return new Q({type:"array",element:X,...f(Y)})}function m7(Q,X,Y){let W=f(Y);return W.abort??(W.abort=!0),new Q({type:"custom",check:"custom",fn:X,...W})}function c7(Q,X,Y){return new Q({type:"custom",check:"custom",fn:X,...f(Y)})}class p7{constructor(Q){this.counter=0,this.metadataRegistry=Q?.metadata??s1,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 F=G.schema;switch(W.type){case"string":{let A=F;A.type="string";let{minimum:L,maximum:D,format:O,patterns:j,contentEncoding:q}=Q._zod.bag;if(typeof L==="number")A.minLength=L;if(typeof D==="number")A.maxLength=D;if(O){if(A.format=$[O]??O,A.format==="")delete A.format}if(q)A.contentEncoding=q;if(j&&j.size>0){let M=[...j];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:L,maximum:D,format:O,multipleOf:j,exclusiveMaximum:q,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 L==="number"){if(A.minimum=L,typeof M==="number")if(M>=L)delete A.minimum;else delete A.exclusiveMinimum}if(typeof q==="number")A.exclusiveMaximum=q;if(typeof D==="number"){if(A.maximum=D,typeof q==="number")if(q<=D)delete A.maximum;else delete A.exclusiveMaximum}if(typeof j==="number")A.multipleOf=j;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:L,maximum:D}=Q._zod.bag;if(typeof L==="number")A.minItems=L;if(typeof D==="number")A.maxItems=D;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 L=W.shape;for(let j in L)A.properties[j]=this.process(L[j],{...K,path:[...K.path,"properties",j]});let D=new Set(Object.keys(L)),O=new Set([...D].filter((j)=>{let q=W.shape[j]._zod;if(this.io==="input")return q.optin===void 0;else return q.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((L,D)=>this.process(L,{...K,path:[...K.path,"anyOf",D]}));break}case"intersection":{let A=F,L=this.process(W.left,{...K,path:[...K.path,"allOf",0]}),D=this.process(W.right,{...K,path:[...K.path,"allOf",1]}),O=(q)=>("allOf"in q)&&Object.keys(q).length===1,j=[...O(L)?L.allOf:[L],...O(D)?D.allOf:[D]];A.allOf=j;break}case"tuple":{let A=F;A.type="array";let L=W.items.map((j,q)=>this.process(j,{...K,path:[...K.path,"prefixItems",q]}));if(this.target==="draft-2020-12")A.prefixItems=L;else A.items=L;if(W.rest){let j=this.process(W.rest,{...K,path:[...K.path,"items"]});if(this.target==="draft-2020-12")A.items=j;else A.additionalItems=j}if(W.rest)A.items=this.process(W.rest,{...K,path:[...K.path,"items"]});let{minimum:D,maximum:O}=Q._zod.bag;if(typeof D==="number")A.minItems=D;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,L=R4(W.entries);if(L.every((D)=>typeof D==="number"))A.type="number";if(L.every((D)=>typeof D==="string"))A.type="string";A.enum=L;break}case"literal":{let A=F,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];A.type=D===null?"null":typeof D,A.const=D}else{if(L.every((D)=>typeof D==="number"))A.type="number";if(L.every((D)=>typeof D==="string"))A.type="string";if(L.every((D)=>typeof D==="boolean"))A.type="string";if(L.every((D)=>D===null))A.type="null";A.enum=L}break}case"file":{let A=F,L={type:"string",format:"binary",contentEncoding:"binary"},{minimum:D,maximum:O,mime:j}=Q._zod.bag;if(D!==void 0)L.minLength=D;if(O!==void 0)L.maxLength=O;if(j)if(j.length===1)L.contentMediaType=j[0],Object.assign(A,L);else A.anyOf=j.map((q)=>{return{...L,contentMediaType:q}});else Object.assign(A,L);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,L=Q._zod.pattern;if(!L)throw Error("Pattern not found in template literal");A.type="string",A.pattern=L.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"&&S0(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??((j)=>j);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 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 L in A)delete A[L];A.$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>
|
|
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 F=Y.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(Y.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 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")F.allOf=F.allOf??[],F.allOf.push(D);else Object.assign(F,D),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(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 NQ(Q,X){if(Q instanceof DQ){let W=new p7(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 p7(X);return Y.process(Q),Y.emit(Q,X)}function S0(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 S0($.element,Y);case"object":{for(let J in $.shape)if(S0($.shape[J],Y))return!0;return!1}case"union":{for(let J of $.options)if(S0(J,Y))return!0;return!1}case"intersection":return S0($.left,Y)||S0($.right,Y);case"tuple":{for(let J of $.items)if(S0(J,Y))return!0;if($.rest&&S0($.rest,Y))return!0;return!1}case"record":return S0($.keyType,Y)||S0($.valueType,Y);case"map":return S0($.keyType,Y)||S0($.valueType,Y);case"set":return S0($.valueType,Y);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return S0($.innerType,Y);case"lazy":return S0($.getter(),Y);case"default":return S0($.innerType,Y);case"prefault":return S0($.innerType,Y);case"custom":return!1;case"transform":return!0;case"pipe":return S0($.in,Y)||S0($.out,Y);case"success":return!1;case"catch":return!1;default:}throw Error(`Unknown schema type: ${$.type}`)}var dN=N("ZodMiniType",(Q,X)=>{if(!Q._zod)throw Error("Uninitialized schema in ZodMiniType.");G0.init(Q,X),Q.def=X,Q.parse=(Y,W)=>YW(Q,Y,W,{callee:Q.parse}),Q.safeParse=(Y,W)=>o6(Q,Y,W),Q.parseAsync=async(Y,W)=>$W(Q,Y,W,{callee:Q.parseAsync}),Q.safeParseAsync=async(Y,W)=>r6(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)=>a0(Q,Y,W),Q.brand=()=>Q,Q.register=(Y,W)=>{return Y.add(Q,W),Q}});var iN=N("ZodMiniObject",(Q,X)=>{FQ.init(Q,X),dN.init(Q,X),t.defineLazy(Q,"shape",()=>X.shape)});function d7(Q,X){let Y={type:"object",get shape(){return t.assignProp(this,"shape",{...Q}),this.shape},...t.normalizeParams(X)};return new iN(Y)}function s0(Q){return!!Q._zod}function a6(Q){let X=Object.values(Q);if(X.length===0)return d7({});let Y=X.every(s0),W=X.every(($)=>!s0($));if(Y)return d7(Q);if(W)return dY(Q);throw Error("Mixed Zod versions detected in object shape.")}function c0(Q,X){if(s0(Q))return o6(Q,X);return Q.safeParse(X)}async function wQ(Q,X){if(s0(Q))return await r6(Q,X);return await Q.safeParseAsync(X)}function c1(Q){if(!Q)return;let X;if(s0(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 y9(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 a6(Q)}}if(s0(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 qQ(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 lH(Q){return Q.description}function mH(Q){if(s0(Q))return Q._zod?.def?.type==="optional";let X=Q;if(typeof Q.isOptional==="function")return Q.isOptional();return X._def?.typeName==="ZodOptional"}function MQ(Q){if(s0(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 f4={};a8(f4,{time:()=>o7,duration:()=>r7,datetime:()=>i7,date:()=>n7,ZodISOTime:()=>dH,ZodISODuration:()=>iH,ZodISODateTime:()=>cH,ZodISODate:()=>pH});var cH=N("ZodISODateTime",(Q,X)=>{bH.init(Q,X),j0.init(Q,X)});function i7(Q){return TH(cH,Q)}var pH=N("ZodISODate",(Q,X)=>{PH.init(Q,X),j0.init(Q,X)});function n7(Q){return kH(pH,Q)}var dH=N("ZodISOTime",(Q,X)=>{ZH.init(Q,X),j0.init(Q,X)});function o7(Q){return vH(dH,Q)}var iH=N("ZodISODuration",(Q,X)=>{EH.init(Q,X),j0.init(Q,X)});function r7(Q){return _H(iH,Q)}var oH=(Q,X)=>{HQ.init(Q,X),Q.name="ZodError",Object.defineProperties(Q,{format:{value:(Y)=>zQ(Q,Y)},flatten:{value:(Y)=>BQ(Q,Y)},addIssue:{value:(Y)=>Q.issues.push(Y)},addIssues:{value:(Y)=>Q.issues.push(...Y)},isEmpty:{get(){return Q.issues.length===0}}})},hh=N("ZodError",oH),g4=N("ZodError",oH,{Parent:Error});var rH=XW(g4),tH=WW(g4),aH=JW(g4),sH=GW(g4);var A0=N("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)=>a0(Q,Y,W),Q.brand=()=>Q,Q.register=(Y,W)=>{return Y.add(Q,W),Q},Q.parse=(Y,W)=>rH(Q,Y,W,{callee:Q.parse}),Q.safeParse=(Y,W)=>aH(Q,Y,W),Q.parseAsync=async(Y,W)=>tH(Q,Y,W,{callee:Q.parseAsync}),Q.safeParseAsync=async(Y,W)=>sH(Q,Y,W),Q.spa=Q.safeParseAsync,Q.refine=(Y,W)=>Q.check(pw(Y,W)),Q.superRefine=(Y)=>Q.check(dw(Y)),Q.overwrite=(Y)=>Q.check(t6(Y)),Q.optional=()=>M0(Q),Q.nullable=()=>X3(Q),Q.nullish=()=>M0(X3(Q)),Q.nonoptional=(Y)=>fw(Q,Y),Q.array=()=>R(Q),Q.or=(Y)=>D0([Q,Y]),Q.and=(Y)=>ZQ(Q,Y),Q.transform=(Y)=>a7(Q,K3(Y)),Q.default=(Y)=>_w(Q,Y),Q.prefault=(Y)=>yw(Q,Y),Q.catch=(Y)=>hw(Q,Y),Q.pipe=(Y)=>a7(Q,Y),Q.readonly=()=>mw(Q),Q.describe=(Y)=>{let W=Q.clone();return s1.add(W,{description:Y}),W},Object.defineProperty(Q,"description",{get(){return s1.get(Q)?.description},configurable:!0}),Q.meta=(...Y)=>{if(Y.length===0)return s1.get(Q);let W=Q.clone();return s1.add(W,Y[0]),W},Q.isOptional=()=>Q.safeParse(void 0).success,Q.isNullable=()=>Q.safeParse(null).success,Q}),Y3=N("_ZodString",(Q,X)=>{x4.init(Q,X),A0.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(k7(...W)),Q.includes=(...W)=>Q.check(x7(...W)),Q.startsWith=(...W)=>Q.check(y7(...W)),Q.endsWith=(...W)=>Q.check(f7(...W)),Q.min=(...W)=>Q.check(x9(...W)),Q.max=(...W)=>Q.check(jQ(...W)),Q.length=(...W)=>Q.check(UQ(...W)),Q.nonempty=(...W)=>Q.check(x9(1,...W)),Q.lowercase=(W)=>Q.check(v7(W)),Q.uppercase=(W)=>Q.check(_7(W)),Q.trim=()=>Q.check(h7()),Q.normalize=(...W)=>Q.check(g7(...W)),Q.toLowerCase=()=>Q.check(u7()),Q.toUpperCase=()=>Q.check(l7())}),s7=N("ZodString",(Q,X)=>{x4.init(Q,X),Y3.init(Q,X),Q.email=(Y)=>Q.check(J7($w,Y)),Q.url=(Y)=>Q.check(OQ(W3,Y)),Q.jwt=(Y)=>Q.check(P7(Nw,Y)),Q.emoji=(Y)=>Q.check(K7(Jw,Y)),Q.guid=(Y)=>Q.check(LQ(eH,Y)),Q.uuid=(Y)=>Q.check(G7(bQ,Y)),Q.uuidv4=(Y)=>Q.check(H7(bQ,Y)),Q.uuidv6=(Y)=>Q.check(B7(bQ,Y)),Q.uuidv7=(Y)=>Q.check(z7(bQ,Y)),Q.nanoid=(Y)=>Q.check(V7(Gw,Y)),Q.guid=(Y)=>Q.check(LQ(eH,Y)),Q.cuid=(Y)=>Q.check(F7(Hw,Y)),Q.cuid2=(Y)=>Q.check(A7(Bw,Y)),Q.ulid=(Y)=>Q.check(D7(zw,Y)),Q.base64=(Y)=>Q.check(q7(Ow,Y)),Q.base64url=(Y)=>Q.check(M7(jw,Y)),Q.xid=(Y)=>Q.check(L7(Kw,Y)),Q.ksuid=(Y)=>Q.check(O7(Vw,Y)),Q.ipv4=(Y)=>Q.check(j7(Fw,Y)),Q.ipv6=(Y)=>Q.check(U7(Aw,Y)),Q.cidrv4=(Y)=>Q.check(N7(Dw,Y)),Q.cidrv6=(Y)=>Q.check(w7(Lw,Y)),Q.e164=(Y)=>Q.check(b7(Uw,Y)),Q.datetime=(Y)=>Q.check(i7(Y)),Q.date=(Y)=>Q.check(n7(Y)),Q.time=(Y)=>Q.check(o7(Y)),Q.duration=(Y)=>Q.check(r7(Y))});function U(Q){return $7(s7,Q)}var j0=N("ZodStringFormat",(Q,X)=>{F0.init(Q,X),Y3.init(Q,X)}),$w=N("ZodEmail",(Q,X)=>{LW.init(Q,X),j0.init(Q,X)});var eH=N("ZodGUID",(Q,X)=>{AW.init(Q,X),j0.init(Q,X)});var bQ=N("ZodUUID",(Q,X)=>{DW.init(Q,X),j0.init(Q,X)});var W3=N("ZodURL",(Q,X)=>{OW.init(Q,X),j0.init(Q,X)});function $3(Q){return OQ(W3,Q)}var Jw=N("ZodEmoji",(Q,X)=>{jW.init(Q,X),j0.init(Q,X)});var Gw=N("ZodNanoID",(Q,X)=>{UW.init(Q,X),j0.init(Q,X)});var Hw=N("ZodCUID",(Q,X)=>{NW.init(Q,X),j0.init(Q,X)});var Bw=N("ZodCUID2",(Q,X)=>{wW.init(Q,X),j0.init(Q,X)});var zw=N("ZodULID",(Q,X)=>{qW.init(Q,X),j0.init(Q,X)});var Kw=N("ZodXID",(Q,X)=>{MW.init(Q,X),j0.init(Q,X)});var Vw=N("ZodKSUID",(Q,X)=>{bW.init(Q,X),j0.init(Q,X)});var Fw=N("ZodIPv4",(Q,X)=>{PW.init(Q,X),j0.init(Q,X)});var Aw=N("ZodIPv6",(Q,X)=>{ZW.init(Q,X),j0.init(Q,X)});var Dw=N("ZodCIDRv4",(Q,X)=>{EW.init(Q,X),j0.init(Q,X)});var Lw=N("ZodCIDRv6",(Q,X)=>{RW.init(Q,X),j0.init(Q,X)});var Ow=N("ZodBase64",(Q,X)=>{SW.init(Q,X),j0.init(Q,X)});var jw=N("ZodBase64URL",(Q,X)=>{IW.init(Q,X),j0.init(Q,X)});var Uw=N("ZodE164",(Q,X)=>{CW.init(Q,X),j0.init(Q,X)});var Nw=N("ZodJWT",(Q,X)=>{TW.init(Q,X),j0.init(Q,X)});var PQ=N("ZodNumber",(Q,X)=>{VQ.init(Q,X),A0.init(Q,X),Q.gt=(W,$)=>Q.check(_9(W,$)),Q.gte=(W,$)=>Q.check(b1(W,$)),Q.min=(W,$)=>Q.check(b1(W,$)),Q.lt=(W,$)=>Q.check(v9(W,$)),Q.lte=(W,$)=>Q.check(e1(W,$)),Q.max=(W,$)=>Q.check(e1(W,$)),Q.int=(W)=>Q.check(Q3(W)),Q.safe=(W)=>Q.check(Q3(W)),Q.positive=(W)=>Q.check(_9(0,W)),Q.nonnegative=(W)=>Q.check(b1(0,W)),Q.negative=(W)=>Q.check(v9(0,W)),Q.nonpositive=(W)=>Q.check(e1(0,W)),Q.multipleOf=(W,$)=>Q.check(y4(W,$)),Q.step=(W,$)=>Q.check(y4(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 Z7(PQ,Q)}var ww=N("ZodNumberFormat",(Q,X)=>{kW.init(Q,X),PQ.init(Q,X)});function Q3(Q){return E7(ww,Q)}var e7=N("ZodBoolean",(Q,X)=>{vW.init(Q,X),A0.init(Q,X)});function H0(Q){return R7(e7,Q)}var J3=N("ZodBigInt",(Q,X)=>{_W.init(Q,X),A0.init(Q,X),Q.gte=(W,$)=>Q.check(b1(W,$)),Q.min=(W,$)=>Q.check(b1(W,$)),Q.gt=(W,$)=>Q.check(_9(W,$)),Q.gte=(W,$)=>Q.check(b1(W,$)),Q.min=(W,$)=>Q.check(b1(W,$)),Q.lt=(W,$)=>Q.check(v9(W,$)),Q.lte=(W,$)=>Q.check(e1(W,$)),Q.max=(W,$)=>Q.check(e1(W,$)),Q.positive=(W)=>Q.check(_9(BigInt(0),W)),Q.negative=(W)=>Q.check(v9(BigInt(0),W)),Q.nonpositive=(W)=>Q.check(e1(BigInt(0),W)),Q.nonnegative=(W)=>Q.check(b1(BigInt(0),W)),Q.multipleOf=(W,$)=>Q.check(y4(W,$));let Y=Q._zod.bag;Q.minValue=Y.minimum??null,Q.maxValue=Y.maximum??null,Q.format=Y.format??null});var qw=N("ZodNull",(Q,X)=>{xW.init(Q,X),A0.init(Q,X)});function Q5(Q){return S7(qw,Q)}var Mw=N("ZodAny",(Q,X)=>{yW.init(Q,X),A0.init(Q,X)});function G3(){return I7(Mw)}var bw=N("ZodUnknown",(Q,X)=>{fW.init(Q,X),A0.init(Q,X)});function U0(){return C7(bw)}var Pw=N("ZodNever",(Q,X)=>{gW.init(Q,X),A0.init(Q,X)});function Zw(Q){return T7(Pw,Q)}var H3=N("ZodDate",(Q,X)=>{hW.init(Q,X),A0.init(Q,X),Q.min=(W,$)=>Q.check(b1(W,$)),Q.max=(W,$)=>Q.check(e1(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 Ew=N("ZodArray",(Q,X)=>{uW.init(Q,X),A0.init(Q,X),Q.element=X.element,Q.min=(Y,W)=>Q.check(x9(Y,W)),Q.nonempty=(Y)=>Q.check(x9(1,Y)),Q.max=(Y,W)=>Q.check(jQ(Y,W)),Q.length=(Y,W)=>Q.check(UQ(Y,W)),Q.unwrap=()=>Q.element});function R(Q,X){return hH(Ew,Q,X)}var B3=N("ZodObject",(Q,X)=>{FQ.init(Q,X),A0.init(Q,X),t.defineLazy(Q,"shape",()=>X.shape),Q.keyof=()=>e0(Object.keys(Q._zod.def.shape)),Q.catchall=(Y)=>Q.clone({...Q._zod.def,catchall:Y}),Q.passthrough=()=>Q.clone({...Q._zod.def,catchall:U0()}),Q.loose=()=>Q.clone({...Q._zod.def,catchall:U0()}),Q.strict=()=>Q.clone({...Q._zod.def,catchall:Zw()}),Q.strip=()=>Q.clone({...Q._zod.def,catchall:void 0}),Q.extend=(Y)=>{return t.extend(Q,Y)},Q.merge=(Y)=>t.merge(Q,Y),Q.pick=(Y)=>t.pick(Q,Y),Q.omit=(Y)=>t.omit(Q,Y),Q.partial=(...Y)=>t.partial(V3,Q,Y[0]),Q.required=(...Y)=>t.required(F3,Q,Y[0])});function C(Q,X){let Y={type:"object",get shape(){return t.assignProp(this,"shape",{...Q}),this.shape},...t.normalizeParams(X)};return new B3(Y)}function I0(Q,X){return new B3({type:"object",get shape(){return t.assignProp(this,"shape",{...Q}),this.shape},catchall:U0(),...t.normalizeParams(X)})}var z3=N("ZodUnion",(Q,X)=>{AQ.init(Q,X),A0.init(Q,X),Q.options=X.options});function D0(Q,X){return new z3({type:"union",options:Q,...t.normalizeParams(X)})}var Rw=N("ZodDiscriminatedUnion",(Q,X)=>{z3.init(Q,X),lW.init(Q,X)});function X5(Q,X,Y){return new Rw({type:"union",options:X,discriminator:Q,...t.normalizeParams(Y)})}var Sw=N("ZodIntersection",(Q,X)=>{mW.init(Q,X),A0.init(Q,X)});function ZQ(Q,X){return new Sw({type:"intersection",left:Q,right:X})}var Iw=N("ZodRecord",(Q,X)=>{cW.init(Q,X),A0.init(Q,X),Q.keyType=X.keyType,Q.valueType=X.valueType});function N0(Q,X,Y){return new Iw({type:"record",keyType:Q,valueType:X,...t.normalizeParams(Y)})}var t7=N("ZodEnum",(Q,X)=>{pW.init(Q,X),A0.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 t7({...X,checks:[],...t.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 t7({...X,checks:[],...t.normalizeParams($),entries:J})}});function e0(Q,X){let Y=Array.isArray(Q)?Object.fromEntries(Q.map((W)=>[W,W])):Q;return new t7({type:"enum",entries:Y,...t.normalizeParams(X)})}var Cw=N("ZodLiteral",(Q,X)=>{dW.init(Q,X),A0.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 _(Q,X){return new Cw({type:"literal",values:Array.isArray(Q)?Q:[Q],...t.normalizeParams(X)})}var Tw=N("ZodTransform",(Q,X)=>{iW.init(Q,X),A0.init(Q,X),Q._zod.parse=(Y,W)=>{Y.addIssue=(J)=>{if(typeof J==="string")Y.issues.push(t.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(t.issue(G))}};let $=X.transform(Y.value,Y);if($ instanceof Promise)return $.then((J)=>{return Y.value=J,Y});return Y.value=$,Y}});function K3(Q){return new Tw({type:"transform",transform:Q})}var V3=N("ZodOptional",(Q,X)=>{nW.init(Q,X),A0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType});function M0(Q){return new V3({type:"optional",innerType:Q})}var kw=N("ZodNullable",(Q,X)=>{oW.init(Q,X),A0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType});function X3(Q){return new kw({type:"nullable",innerType:Q})}var vw=N("ZodDefault",(Q,X)=>{rW.init(Q,X),A0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType,Q.removeDefault=Q.unwrap});function _w(Q,X){return new vw({type:"default",innerType:Q,get defaultValue(){return typeof X==="function"?X():X}})}var xw=N("ZodPrefault",(Q,X)=>{tW.init(Q,X),A0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType});function yw(Q,X){return new xw({type:"prefault",innerType:Q,get defaultValue(){return typeof X==="function"?X():X}})}var F3=N("ZodNonOptional",(Q,X)=>{aW.init(Q,X),A0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType});function fw(Q,X){return new F3({type:"nonoptional",innerType:Q,...t.normalizeParams(X)})}var gw=N("ZodCatch",(Q,X)=>{sW.init(Q,X),A0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType,Q.removeCatch=Q.unwrap});function hw(Q,X){return new gw({type:"catch",innerType:Q,catchValue:typeof X==="function"?X:()=>X})}var uw=N("ZodPipe",(Q,X)=>{eW.init(Q,X),A0.init(Q,X),Q.in=X.in,Q.out=X.out});function a7(Q,X){return new uw({type:"pipe",in:Q,out:X})}var lw=N("ZodReadonly",(Q,X)=>{Q7.init(Q,X),A0.init(Q,X)});function mw(Q){return new lw({type:"readonly",innerType:Q})}var A3=N("ZodCustom",(Q,X)=>{X7.init(Q,X),A0.init(Q,X)});function cw(Q){let X=new T0({check:"custom"});return X._zod.check=Q,X}function D3(Q,X){return m7(A3,Q??(()=>!0),X)}function pw(Q,X={}){return c7(A3,Q,X)}function dw(Q){let X=cw((Y)=>{return Y.addIssue=(W)=>{if(typeof W==="string")Y.issues.push(t.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(t.issue($))}},Q(Y.value,Y)});return X}function Y5(Q,X){return a7(K3(Q),X)}var L3={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 EQ={};a8(EQ,{string:()=>iw,number:()=>nw,date:()=>tw,boolean:()=>ow,bigint:()=>rw});function iw(Q){return CH(s7,Q)}function nw(Q){return xH(PQ,Q)}function ow(Q){return yH(e7,Q)}function rw(Q){return fH(J3,Q)}function tw(Q){return gH(H3,Q)}t0(Y7());var N6="2025-11-25",O3="2025-03-26",s6=[N6,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],w6="io.modelcontextprotocol/related-task",SQ="2.0",k0=D3((Q)=>Q!==null&&(typeof Q==="object"||typeof Q==="function")),j3=D0([U(),J0().int()]),U3=U(),eh=I0({ttl:D0([J0(),Q5()]).optional(),pollInterval:J0().optional()}),sw=C({ttl:J0().optional()}),ew=C({taskId:U()}),W5=I0({progressToken:j3.optional(),[w6]:ew.optional()}),z1=C({_meta:W5.optional()}),h4=z1.extend({task:sw.optional()}),N3=(Q)=>h4.safeParse(Q).success,v0=C({method:U(),params:z1.loose().optional()}),V1=C({_meta:W5.optional()}),F1=C({method:U(),params:V1.loose().optional()}),_0=I0({_meta:W5.optional()}),IQ=D0([U(),J0().int()]),w3=C({jsonrpc:_(SQ),id:IQ,...v0.shape}).strict(),p1=(Q)=>w3.safeParse(Q).success,q3=C({jsonrpc:_(SQ),...F1.shape}).strict(),M3=(Q)=>q3.safeParse(Q).success,$5=C({jsonrpc:_(SQ),id:IQ,result:_0}).strict(),P1=(Q)=>$5.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 J5=C({jsonrpc:_(SQ),id:IQ.optional(),error:C({code:J0().int(),message:U(),data:U0().optional()})}).strict();var g9=(Q)=>J5.safeParse(Q).success;var e6=D0([w3,q3,$5,J5]),Qu=D0([$5,J5]),Q6=_0.strict(),Qq=V1.extend({requestId:IQ.optional(),reason:U().optional()}),CQ=F1.extend({method:_("notifications/cancelled"),params:Qq}),Xq=C({src:U(),mimeType:U().optional(),sizes:R(U()).optional(),theme:e0(["light","dark"]).optional()}),u4=C({icons:R(Xq).optional()}),f9=C({name:U(),title:U().optional()}),b3=f9.extend({...f9.shape,...u4.shape,version:U(),websiteUrl:U().optional(),description:U().optional()}),Yq=ZQ(C({applyDefaults:H0().optional()}),N0(U(),U0())),Wq=Y5((Q)=>{if(Q&&typeof Q==="object"&&!Array.isArray(Q)){if(Object.keys(Q).length===0)return{form:{}}}return Q},ZQ(C({form:Yq.optional(),url:k0.optional()}),N0(U(),U0()).optional())),$q=I0({list:k0.optional(),cancel:k0.optional(),requests:I0({sampling:I0({createMessage:k0.optional()}).optional(),elicitation:I0({create:k0.optional()}).optional()}).optional()}),Jq=I0({list:k0.optional(),cancel:k0.optional(),requests:I0({tools:I0({call:k0.optional()}).optional()}).optional()}),Gq=C({experimental:N0(U(),k0).optional(),sampling:C({context:k0.optional(),tools:k0.optional()}).optional(),elicitation:Wq.optional(),roots:C({listChanged:H0().optional()}).optional(),tasks:$q.optional()}),Hq=z1.extend({protocolVersion:U(),capabilities:Gq,clientInfo:b3}),TQ=v0.extend({method:_("initialize"),params:Hq}),G5=(Q)=>TQ.safeParse(Q).success,Bq=C({experimental:N0(U(),k0).optional(),logging:k0.optional(),completions:k0.optional(),prompts:C({listChanged:H0().optional()}).optional(),resources:C({subscribe:H0().optional(),listChanged:H0().optional()}).optional(),tools:C({listChanged:H0().optional()}).optional(),tasks:Jq.optional()}),H5=_0.extend({protocolVersion:U(),capabilities:Bq,serverInfo:b3,instructions:U().optional()}),kQ=F1.extend({method:_("notifications/initialized"),params:V1.optional()}),P3=(Q)=>kQ.safeParse(Q).success,vQ=v0.extend({method:_("ping"),params:z1.optional()}),zq=C({progress:J0(),total:M0(J0()),message:M0(U())}),Kq=C({...V1.shape,...zq.shape,progressToken:j3}),_Q=F1.extend({method:_("notifications/progress"),params:Kq}),Vq=z1.extend({cursor:U3.optional()}),l4=v0.extend({params:Vq.optional()}),m4=_0.extend({nextCursor:U3.optional()}),Fq=e0(["working","input_required","completed","failed","cancelled"]),c4=C({taskId:U(),status:Fq,ttl:D0([J0(),Q5()]),createdAt:U(),lastUpdatedAt:U(),pollInterval:M0(J0()),statusMessage:M0(U())}),X6=_0.extend({task:c4}),Aq=V1.merge(c4),p4=F1.extend({method:_("notifications/tasks/status"),params:Aq}),xQ=v0.extend({method:_("tasks/get"),params:z1.extend({taskId:U()})}),yQ=_0.merge(c4),fQ=v0.extend({method:_("tasks/result"),params:z1.extend({taskId:U()})}),Xu=_0.loose(),gQ=l4.extend({method:_("tasks/list")}),hQ=m4.extend({tasks:R(c4)}),uQ=v0.extend({method:_("tasks/cancel"),params:z1.extend({taskId:U()})}),Z3=_0.merge(c4),E3=C({uri:U(),mimeType:M0(U()),_meta:N0(U(),U0()).optional()}),R3=E3.extend({text:U()}),B5=U().refine((Q)=>{try{return atob(Q),!0}catch{return!1}},{message:"Invalid Base64 string"}),S3=E3.extend({blob:B5}),d4=e0(["user","assistant"]),h9=C({audience:R(d4).optional(),priority:J0().min(0).max(1).optional(),lastModified:f4.datetime({offset:!0}).optional()}),I3=C({...f9.shape,...u4.shape,uri:U(),description:M0(U()),mimeType:M0(U()),annotations:h9.optional(),_meta:M0(I0({}))}),Dq=C({...f9.shape,...u4.shape,uriTemplate:U(),description:M0(U()),mimeType:M0(U()),annotations:h9.optional(),_meta:M0(I0({}))}),lQ=l4.extend({method:_("resources/list")}),z5=m4.extend({resources:R(I3)}),mQ=l4.extend({method:_("resources/templates/list")}),K5=m4.extend({resourceTemplates:R(Dq)}),V5=z1.extend({uri:U()}),Lq=V5,cQ=v0.extend({method:_("resources/read"),params:Lq}),F5=_0.extend({contents:R(D0([R3,S3]))}),i4=F1.extend({method:_("notifications/resources/list_changed"),params:V1.optional()}),Oq=V5,jq=v0.extend({method:_("resources/subscribe"),params:Oq}),Uq=V5,Nq=v0.extend({method:_("resources/unsubscribe"),params:Uq}),wq=V1.extend({uri:U()}),A5=F1.extend({method:_("notifications/resources/updated"),params:wq}),qq=C({name:U(),description:M0(U()),required:M0(H0())}),Mq=C({...f9.shape,...u4.shape,description:M0(U()),arguments:M0(R(qq)),_meta:M0(I0({}))}),pQ=l4.extend({method:_("prompts/list")}),D5=m4.extend({prompts:R(Mq)}),bq=z1.extend({name:U(),arguments:N0(U(),U()).optional()}),dQ=v0.extend({method:_("prompts/get"),params:bq}),L5=C({type:_("text"),text:U(),annotations:h9.optional(),_meta:N0(U(),U0()).optional()}),O5=C({type:_("image"),data:B5,mimeType:U(),annotations:h9.optional(),_meta:N0(U(),U0()).optional()}),j5=C({type:_("audio"),data:B5,mimeType:U(),annotations:h9.optional(),_meta:N0(U(),U0()).optional()}),Pq=C({type:_("tool_use"),name:U(),id:U(),input:N0(U(),U0()),_meta:N0(U(),U0()).optional()}),Zq=C({type:_("resource"),resource:D0([R3,S3]),annotations:h9.optional(),_meta:N0(U(),U0()).optional()}),Eq=I3.extend({type:_("resource_link")}),U5=D0([L5,O5,j5,Eq,Zq]),Rq=C({role:d4,content:U5}),N5=_0.extend({description:U().optional(),messages:R(Rq)}),n4=F1.extend({method:_("notifications/prompts/list_changed"),params:V1.optional()}),Sq=C({title:U().optional(),readOnlyHint:H0().optional(),destructiveHint:H0().optional(),idempotentHint:H0().optional(),openWorldHint:H0().optional()}),Iq=C({taskSupport:e0(["required","optional","forbidden"]).optional()}),C3=C({...f9.shape,...u4.shape,description:U().optional(),inputSchema:C({type:_("object"),properties:N0(U(),k0).optional(),required:R(U()).optional()}).catchall(U0()),outputSchema:C({type:_("object"),properties:N0(U(),k0).optional(),required:R(U()).optional()}).catchall(U0()).optional(),annotations:Sq.optional(),execution:Iq.optional(),_meta:N0(U(),U0()).optional()}),iQ=l4.extend({method:_("tools/list")}),w5=m4.extend({tools:R(C3)}),q6=_0.extend({content:R(U5).default([]),structuredContent:N0(U(),U0()).optional(),isError:H0().optional()}),Yu=q6.or(_0.extend({toolResult:U0()})),Cq=h4.extend({name:U(),arguments:N0(U(),U0()).optional()}),u9=v0.extend({method:_("tools/call"),params:Cq}),o4=F1.extend({method:_("notifications/tools/list_changed"),params:V1.optional()}),T3=C({autoRefresh:H0().default(!0),debounceMs:J0().int().nonnegative().default(300)}),r4=e0(["debug","info","notice","warning","error","critical","alert","emergency"]),Tq=z1.extend({level:r4}),q5=v0.extend({method:_("logging/setLevel"),params:Tq}),kq=V1.extend({level:r4,logger:U().optional(),data:U0()}),M5=F1.extend({method:_("notifications/message"),params:kq}),vq=C({name:U().optional()}),_q=C({hints:R(vq).optional(),costPriority:J0().min(0).max(1).optional(),speedPriority:J0().min(0).max(1).optional(),intelligencePriority:J0().min(0).max(1).optional()}),xq=C({mode:e0(["auto","required","none"]).optional()}),yq=C({type:_("tool_result"),toolUseId:U().describe("The unique identifier for the corresponding tool call."),content:R(U5).default([]),structuredContent:C({}).loose().optional(),isError:H0().optional(),_meta:N0(U(),U0()).optional()}),fq=X5("type",[L5,O5,j5]),RQ=X5("type",[L5,O5,j5,Pq,yq]),gq=C({role:d4,content:D0([RQ,R(RQ)]),_meta:N0(U(),U0()).optional()}),hq=h4.extend({messages:R(gq),modelPreferences:_q.optional(),systemPrompt:U().optional(),includeContext:e0(["none","thisServer","allServers"]).optional(),temperature:J0().optional(),maxTokens:J0().int(),stopSequences:R(U()).optional(),metadata:k0.optional(),tools:R(C3).optional(),toolChoice:xq.optional()}),t4=v0.extend({method:_("sampling/createMessage"),params:hq}),a4=_0.extend({model:U(),stopReason:M0(e0(["endTurn","stopSequence","maxTokens"]).or(U())),role:d4,content:fq}),b5=_0.extend({model:U(),stopReason:M0(e0(["endTurn","stopSequence","maxTokens","toolUse"]).or(U())),role:d4,content:D0([RQ,R(RQ)])}),uq=C({type:_("boolean"),title:U().optional(),description:U().optional(),default:H0().optional()}),lq=C({type:_("string"),title:U().optional(),description:U().optional(),minLength:J0().optional(),maxLength:J0().optional(),format:e0(["email","uri","date","date-time"]).optional(),default:U().optional()}),mq=C({type:e0(["number","integer"]),title:U().optional(),description:U().optional(),minimum:J0().optional(),maximum:J0().optional(),default:J0().optional()}),cq=C({type:_("string"),title:U().optional(),description:U().optional(),enum:R(U()),default:U().optional()}),pq=C({type:_("string"),title:U().optional(),description:U().optional(),oneOf:R(C({const:U(),title:U()})),default:U().optional()}),dq=C({type:_("string"),title:U().optional(),description:U().optional(),enum:R(U()),enumNames:R(U()).optional(),default:U().optional()}),iq=D0([cq,pq]),nq=C({type:_("array"),title:U().optional(),description:U().optional(),minItems:J0().optional(),maxItems:J0().optional(),items:C({type:_("string"),enum:R(U())}),default:R(U()).optional()}),oq=C({type:_("array"),title:U().optional(),description:U().optional(),minItems:J0().optional(),maxItems:J0().optional(),items:C({anyOf:R(C({const:U(),title:U()}))}),default:R(U()).optional()}),rq=D0([nq,oq]),tq=D0([dq,iq,rq]),aq=D0([tq,uq,lq,mq]),sq=h4.extend({mode:_("form").optional(),message:U(),requestedSchema:C({type:_("object"),properties:N0(U(),aq),required:R(U()).optional()})}),eq=h4.extend({mode:_("url"),message:U(),elicitationId:U(),url:U().url()}),QM=D0([sq,eq]),s4=v0.extend({method:_("elicitation/create"),params:QM}),XM=V1.extend({elicitationId:U()}),YM=F1.extend({method:_("notifications/elicitation/complete"),params:XM}),l9=_0.extend({action:e0(["accept","decline","cancel"]),content:Y5((Q)=>Q===null?void 0:Q,N0(U(),D0([U(),J0(),H0(),R(U())])).optional())}),WM=C({type:_("ref/resource"),uri:U()});var $M=C({type:_("ref/prompt"),name:U()}),JM=z1.extend({ref:D0([$M,WM]),argument:C({name:U(),value:U()}),context:C({arguments:N0(U(),U()).optional()}).optional()}),nQ=v0.extend({method:_("completion/complete"),params:JM});function k3(Q){if(Q.params.ref.type!=="ref/prompt")throw TypeError(`Expected CompleteRequestPrompt, but got ${Q.params.ref.type}`)}function v3(Q){if(Q.params.ref.type!=="ref/resource")throw TypeError(`Expected CompleteRequestResourceTemplate, but got ${Q.params.ref.type}`)}var P5=_0.extend({completion:I0({values:R(U()).max(100),total:M0(J0().int()),hasMore:M0(H0())})}),GM=C({uri:U().startsWith("file://"),name:U().optional(),_meta:N0(U(),U0()).optional()}),HM=v0.extend({method:_("roots/list"),params:z1.optional()}),Z5=_0.extend({roots:R(GM)}),BM=F1.extend({method:_("notifications/roots/list_changed"),params:V1.optional()}),Wu=D0([vQ,TQ,nQ,q5,dQ,pQ,lQ,mQ,cQ,jq,Nq,u9,iQ,xQ,fQ,gQ,uQ]),$u=D0([CQ,_Q,kQ,BM,p4]),Ju=D0([Q6,a4,b5,l9,Z5,yQ,hQ,X6]),Gu=D0([vQ,t4,s4,HM,xQ,fQ,gQ,uQ]),Hu=D0([CQ,_Q,M5,A5,i4,o4,n4,p4,YM]),Bu=D0([Q6,H5,P5,N5,D5,z5,K5,F5,q6,w5,yQ,hQ,X6]);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 _3(W.elicitations,X)}return new I(Q,X,Y)}}class _3 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 M6(Q){return Q==="completed"||Q==="failed"||Q==="cancelled"}var y3=Symbol("Let zodToJsonSchema decide on which parser to use");var x3={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"},f3=(Q)=>typeof Q==="string"?{...x3,name:Q}:{...x3,...Q};var g3=(Q)=>{let X=f3(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 E5(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,E5(Q,X,W,$)}var oQ=(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"?oQ(X,Q.currentPath):X.join("/")}}function h3(Q,X){let Y={type:"array"};if(Q.type?._def&&Q.type?._def?.typeName!==P.ZodAny)Y.items=h(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 u3(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 l3(){return{type:"boolean"}}function rQ(Q,X){return h(Q.type._def,X)}var m3=(Q,X)=>{return h(Q.innerType._def,X)};function R5(Q,X,Y){let W=Y??X.dateStrategy;if(Array.isArray(W))return{anyOf:W.map(($,J)=>R5(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 zM(Q,X)}}var zM=(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 c3(Q,X){return{...h(Q.innerType._def,X),default:Q.defaultValue()}}function p3(Q,X){return X.effectStrategy==="input"?h(Q.schema._def,X):w0(X)}function d3(Q){return{type:"string",enum:Array.from(Q.values)}}var KM=(Q)=>{if("type"in Q&&Q.type==="string")return!1;return"allOf"in Q};function i3(Q,X){let Y=[h(Q.left._def,{...X,currentPath:[...X.currentPath,"allOf","0"]}),h(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(KM(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 n3(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 S5=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(S5===void 0)S5=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return S5},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 tQ(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":E1(Y,"email",W.message,X);break;case"format:idn-email":E1(Y,"idn-email",W.message,X);break;case"pattern:zod":p0(Y,Z1.email,W.message,X);break}break;case"url":E1(Y,"uri",W.message,X);break;case"uuid":E1(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(`^${I5(W.value,X)}`),W.message,X);break;case"endsWith":p0(Y,RegExp(`${I5(W.value,X)}$`),W.message,X);break;case"datetime":E1(Y,"date-time",W.message,X);break;case"date":E1(Y,"date",W.message,X);break;case"time":E1(Y,"time",W.message,X);break;case"duration":E1(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(I5(W.value,X)),W.message,X);break}case"ip":{if(W.version!=="v6")E1(Y,"ipv4",W.message,X);if(W.version!=="v4")E1(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":{E1(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 I5(Q,X){return X.patternStrategy==="escape"?FM(Q):Q}var VM=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function FM(Q){let X="";for(let Y=0;Y<Q.length;Y++){if(!VM.has(Q[Y]))X+="\\";X+=Q[Y]}return X}function E1(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:o3(X,W),...Y&&W.errorMessages&&{errorMessage:{pattern:Y}}})}else s(Q,"pattern",o3(X,W),Y,W)}function o3(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
|
|
44
|
+
]))`;continue}else if(W[B]==="$"){$+=`($|(?=[\r
|
|
45
|
+
]))`;continue}}if(Y.s&&W[B]==="."){$+=G?`${W[B]}\r
|
|
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 aQ(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,[$]:h(Q.valueType._def,{...X,currentPath:[...X.currentPath,"properties",$]})??w0(X)}),{}),additionalProperties:X.rejectedAdditionalProperties};let Y={type:"object",additionalProperties:h(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,...$}=tQ(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,...$}=rQ(Q.keyType._def,X);return{...Y,propertyNames:$}}return Y}function r3(Q,X){if(X.mapStrategy==="record")return aQ(Q,X);let Y=h(Q.keyType._def,{...X,currentPath:[...X.currentPath,"items","items","0"]})||w0(X),W=h(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 t3(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 a3(Q){return Q.target==="openAi"?void 0:{not:w0({...Q,currentPath:[...Q.currentPath,"not"]})}}function s3(Q){return Q.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var e4={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function QB(Q,X){if(X.target==="openApi3")return e3(Q,X);let Y=Q.options instanceof Map?Array.from(Q.options.values()):Q.options;if(Y.every((W)=>(W._def.typeName in e4)&&(!W._def.checks||!W._def.checks.length))){let W=Y.reduce(($,J)=>{let G=e4[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 e3(Q,X)}var e3=(Q,X)=>{let Y=(Q.options instanceof Map?Array.from(Q.options.values()):Q.options).map((W,$)=>h(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 XB(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:e4[Q.innerType._def.typeName],nullable:!0};return{type:[e4[Q.innerType._def.typeName],"null"]}}if(X.target==="openApi3"){let W=h(Q.innerType._def,{...X,currentPath:[...X.currentPath]});if(W&&"$ref"in W)return{allOf:[W],nullable:!0};return W&&{...W,nullable:!0}}let Y=h(Q.innerType._def,{...X,currentPath:[...X.currentPath,"anyOf","0"]});return Y&&{anyOf:[Y,{type:"null"}]}}function YB(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",E5(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 WB(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=DM(B);if(z&&Y){if(B._def.typeName==="ZodOptional")B=B._def.innerType;if(!B.isNullable())B=B.nullable();z=!1}let K=h(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=AM(Q,X);if(G!==void 0)W.additionalProperties=G;return W}function AM(Q,X){if(Q.catchall._def.typeName!=="ZodNever")return h(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 DM(Q){try{return Q.isOptional()}catch{return!0}}var $B=(Q,X)=>{if(X.currentPath.toString()===X.propertyPath?.toString())return h(Q.innerType._def,X);let Y=h(Q.innerType._def,{...X,currentPath:[...X.currentPath,"anyOf","1"]});return Y?{anyOf:[{not:w0(X)},Y]}:w0(X)};var JB=(Q,X)=>{if(X.pipeStrategy==="input")return h(Q.in._def,X);else if(X.pipeStrategy==="output")return h(Q.out._def,X);let Y=h(Q.in._def,{...X,currentPath:[...X.currentPath,"allOf","0"]}),W=h(Q.out._def,{...X,currentPath:[...X.currentPath,"allOf",Y?"1":"0"]});return{allOf:[Y,W].filter(($)=>$!==void 0)}};function GB(Q,X){return h(Q.type._def,X)}function HB(Q,X){let W={type:"array",uniqueItems:!0,items:h(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 BB(Q,X){if(Q.rest)return{type:"array",minItems:Q.items.length,items:Q.items.map((Y,W)=>h(Y._def,{...X,currentPath:[...X.currentPath,"items",`${W}`]})).reduce((Y,W)=>W===void 0?Y:[...Y,W],[]),additionalItems:h(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)=>h(Y._def,{...X,currentPath:[...X.currentPath,"items",`${W}`]})).reduce((Y,W)=>W===void 0?Y:[...Y,W],[])}}function zB(Q){return{not:w0(Q)}}function KB(Q){return w0(Q)}var VB=(Q,X)=>{return h(Q.innerType._def,X)};var FB=(Q,X,Y)=>{switch(X){case P.ZodString:return tQ(Q,Y);case P.ZodNumber:return YB(Q,Y);case P.ZodObject:return WB(Q,Y);case P.ZodBigInt:return u3(Q,Y);case P.ZodBoolean:return l3();case P.ZodDate:return R5(Q,Y);case P.ZodUndefined:return zB(Y);case P.ZodNull:return s3(Y);case P.ZodArray:return h3(Q,Y);case P.ZodUnion:case P.ZodDiscriminatedUnion:return QB(Q,Y);case P.ZodIntersection:return i3(Q,Y);case P.ZodTuple:return BB(Q,Y);case P.ZodRecord:return aQ(Q,Y);case P.ZodLiteral:return n3(Q,Y);case P.ZodEnum:return d3(Q);case P.ZodNativeEnum:return t3(Q);case P.ZodNullable:return XB(Q,Y);case P.ZodOptional:return $B(Q,Y);case P.ZodMap:return r3(Q,Y);case P.ZodSet:return HB(Q,Y);case P.ZodLazy:return()=>Q.getter()._def;case P.ZodPromise:return GB(Q,Y);case P.ZodNaN:case P.ZodNever:return a3(Y);case P.ZodEffects:return p3(Q,Y);case P.ZodAny:return w0(Y);case P.ZodUnknown:return KB(Y);case P.ZodDefault:return c3(Q,Y);case P.ZodBranded:return rQ(Q,Y);case P.ZodReadonly:return VB(Q,Y);case P.ZodCatch:return m3(Q,Y);case P.ZodPipeline:return JB(Q,Y);case P.ZodFunction:case P.ZodVoid:case P.ZodSymbol:return;default:return((W)=>{return})(X)}};function h(Q,X,Y=!1){let W=X.seen.get(Q);if(X.override){let H=X.override?.(Q,X,W,Y);if(H!==y3)return H}if(W&&!Y){let H=LM(W,X);if(H!==void 0)return H}let $={def:Q,path:X.currentPath,jsonSchema:void 0};X.seen.set(Q,$);let J=FB(Q,Q.typeName,X),G=typeof J==="function"?h(J(),X):J;if(G)OM(Q,X,G);if(X.postProcess){let H=X.postProcess(G,Q,X);return $.jsonSchema=G,H}return $.jsonSchema=G,G}var LM=(Q,X)=>{switch(X.$refStrategy){case"root":return{$ref:Q.path.join("/")};case"relative":return{$ref:oQ(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}}},OM=(Q,X,Y)=>{if(Q.description){if(Y.description=Q.description,X.markdownDescription)Y.markdownDescription=Q.description}return Y};var C5=(Q,X)=>{let Y=g3(X),W=typeof X==="object"&&X.definitions?Object.entries(X.definitions).reduce((B,[z,K])=>({...B,[z]:h(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=h(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 jM(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 T5(Q,X){if(s0(Q))return NQ(Q,{target:jM(X?.target),io:X?.pipeStrategy??"input"});return C5(Q,{strictUnions:X?.strictUnions??!0,pipeStrategy:X?.pipeStrategy??"input"})}function k5(Q){let Y=c1(Q)?.method;if(!Y)throw Error("Schema is missing a method literal");let W=MQ(Y);if(typeof W!=="string")throw Error("Schema method literal must be a string");return W}function v5(Q,X){let Y=c0(Q,X);if(!Y.success)throw Y.error;return Y.data}var UM=60000;class Q8{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(CQ,(X)=>{this._oncancel(X)}),this.setNotificationHandler(_Q,(X)=>{this._onprogress(X)}),this.setRequestHandler(vQ,(X)=>({})),this._taskStore=Q?.taskStore,this._taskMessageQueue=Q?.taskMessageQueue,this._taskStore)this.setRequestHandler(xQ,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(fQ,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(!M6(J.status))return await this._waitForTaskUpdate($,Y.signal),await W();if(M6(J.status)){let G=await this._taskStore.getTaskResult($,Y.sessionId);return this._clearTaskQueue($),{...G,_meta:{...G._meta,[w6]:{taskId:$}}}}return await W()};return await W()}),this.setRequestHandler(gQ,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(uQ,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(M6(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($)||g9($))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?.[w6]?.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=N3(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: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,X6,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},M6(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=(j)=>{z(j)};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(j){K(j);return}Y?.signal?.throwIfAborted();let V=this._requestMessageId++,F={...Q,jsonrpc:"2.0",id:V};if(Y?.onprogress)this._progressHandlers.set(V,Y.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||{},[w6]:H}};let A=(j)=>{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(j)}},{relatedRequestId:W,resumptionToken:$,onresumptiontoken:J}).catch((M)=>this._onerror(Error(`Failed to send cancellation: ${M}`)));let q=j instanceof I?j:new I(k.RequestTimeout,String(j));z(q)};this._responseHandlers.set(V,(j)=>{if(Y?.signal?.aborted)return;if(j instanceof Error)return z(j);try{let q=c0(X,j.result);if(!q.success)z(q.error);else B(q.data)}catch(q){z(q)}}),Y?.signal?.addEventListener("abort",()=>{A(Y?.signal?.reason)});let L=Y?.timeout??UM,D=()=>A(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 j=(q)=>{let M=this._responseHandlers.get(V);if(M)M(q);else this._onerror(Error(`Response handler missing for side-channeled request ${V}`))};this._requestResolvers.set(V,j),this._enqueueTaskMessage(O,{type:"request",message:F,timestamp:Date.now()}).catch((q)=>{this._cleanupTimeout(V),z(q)})}else this._transport.send(F,{relatedRequestId:W,resumptionToken:$,onresumptiontoken:J}).catch((j)=>{this._cleanupTimeout(V),z(j)})})}async getTask(Q,X){return this.request({method:"tasks/get",params:Q},yQ,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},hQ,X)}async cancelTask(Q,X){return this.request({method:"tasks/cancel",params:Q},Z3,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||{},[w6]: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||{},[w6]: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||{},[w6]:X.relatedTask}}};await this._transport.send(J,X)}setRequestHandler(Q,X){let Y=k5(Q);this.assertRequestHandlerCapability(Y),this._requestHandlers.set(Y,(W,$)=>{let J=v5(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=k5(Q);this._notificationHandlers.set(Y,(W)=>{let $=v5(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=p4.parse({method:"notifications/tasks/status",params:G});if(await this.notification(H),M6(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(M6(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=p4.parse({method:"notifications/tasks/status",params:H});if(await this.notification(B),M6(H.status))this._cleanupTaskProgressHandler(W)}},listTasks:(W)=>{return Y.listTasks(W,X)}}}}function AB(Q){return Q!==null&&typeof Q==="object"&&!Array.isArray(Q)}function sQ(Q,X){let Y={...Q};for(let W in X){let $=W,J=X[$];if(J===void 0)continue;let G=Y[$];if(AB(G)&&AB(J))Y[$]={...G,...J};else Y[$]=J}return Y}var iO=lY(RF(),1),nO=lY(dO(),1);function gy(){let Q=new iO.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return nO.default(Q),Q}class i8{constructor(Q){this._ajv=Q??gy()}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 bJ{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 OY(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 jY(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 PJ extends Q8{constructor(Q,X){super(X);if(this._serverInfo=Q,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(r4.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 i8,this.setRequestHandler(TQ,(Y)=>this._oninitialize(Y)),this.setNotificationHandler(kQ,()=>this.oninitialized?.()),this._capabilities.logging)this.setRequestHandler(q5,async(Y,W)=>{let $=W.sessionId||W.requestInfo?.headers["mcp-session-id"]||void 0,{level:J}=Y.params,G=r4.safeParse(J);if(G.success)this._loggingLevels.set($,G.data);return{}})}get experimental(){if(!this._experimental)this._experimental={tasks:new bJ(this)};return this._experimental}registerCapabilities(Q){if(this.transport)throw Error("Cannot register capabilities after connecting to transport");this._capabilities=sQ(this._capabilities,Q)}setRequestHandler(Q,X){let W=c1(Q)?.method;if(!W)throw Error("Schema is missing a method literal");let $;if(s0(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(u9,H);if(!z.success){let A=z.error instanceof Error?z.error.message:String(z.error);throw new I(k.InvalidParams,`Invalid tools/call request: ${A}`)}let{params:K}=z.data,V=await Promise.resolve(X(H,B));if(K.task){let A=c0(X6,V);if(!A.success){let L=A.error instanceof Error?A.error.message:String(A.error);throw new I(k.InvalidParams,`Invalid task creation result: ${L}`)}return A.data}let F=c0(q6,V);if(!F.success){let A=F.error instanceof Error?F.error.message:String(F.error);throw new I(k.InvalidParams,`Invalid tools/call result: ${A}`)}return F.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){jY(this._clientCapabilities?.tasks?.requests,Q,"Client")}assertTaskHandlerCapability(Q){if(!this._capabilities)return;OY(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:s6.includes(X)?X:N6,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"},Q6)}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},b5,X);return this.request({method:"sampling/createMessage",params:Q},a4,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},l9,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},l9,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},Z5,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 rO=Symbol.for("mcp.completable");function ZJ(Q){return!!Q&&typeof Q==="object"&&rO in Q}function tO(Q){return Q[rO]?.complete}var oO;(function(Q){Q.Completable="McpCompletable"})(oO||(oO={}));var hy=/^[A-Za-z0-9._-]{1,128}$/;function uy(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(!hy.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 ly(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 EJ(Q){let X=uy(Q);return ly(Q,X.warnings),X.isValid}class RJ{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 IJ{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 PJ(Q,X)}get experimental(){if(!this._experimental)this._experimental={tasks:new RJ(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(y6(iQ)),this.server.assertCanSetRequestHandler(y6(u9)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(iQ,()=>({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=y9(X.inputSchema);return W?T5(W,{strictUnions:!0,pipeStrategy:"input"}):my})(),annotations:X.annotations,execution:X.execution,_meta:X._meta};if(X.outputSchema){let W=y9(X.outputSchema);if(W)Y.outputSchema=T5(W,{strictUnions:!0,pipeStrategy:"output"})}return Y})})),this.server.setRequestHandler(u9,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 $=y9(Q.inputSchema)??Q.inputSchema,J=await wQ($,X);if(!J.success){let G="error"in J?J.error:"Unknown error",H=qQ(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=y9(Q.outputSchema),$=await wQ(W,X.structuredContent);if(!$.success){let J="error"in $?$.error:"Unknown error",G=qQ(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(y6(nQ)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(nQ,async(Q)=>{switch(Q.params.ref.type){case"ref/prompt":return k3(Q),this.handlePromptCompletion(Q,Q.params.ref);case"ref/resource":return v3(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 n8;let $=c1(Y.argsSchema)?.[Q.params.argument.name];if(!ZJ($))return n8;let J=tO($);if(!J)return n8;let G=await J(Q.params.argument.value,Q.params.context);return sO(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 n8;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 n8;let $=await W(Q.params.argument.value,Q.params.context);return sO($)}setResourceRequestHandlers(){if(this._resourceHandlersInitialized)return;this.server.assertCanSetRequestHandler(y6(lQ)),this.server.assertCanSetRequestHandler(y6(mQ)),this.server.assertCanSetRequestHandler(y6(cQ)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(lQ,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(mQ,async()=>{return{resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([X,Y])=>({name:X,uriTemplate:Y.resourceTemplate.uriTemplate.toString(),...Y.metadata}))}}),this.server.setRequestHandler(cQ,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(y6(pQ)),this.server.assertCanSetRequestHandler(y6(dQ)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(pQ,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,Q])=>Q.enabled).map(([Q,X])=>{return{name:Q,title:X.title,description:X.description,arguments:X.argsSchema?py(X.argsSchema):void 0}})})),this.server.setRequestHandler(dQ,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=y9(Y.argsSchema),$=await wQ(W,Q.params.arguments);if(!$.success){let H="error"in $?$.error:"Unknown error",B=qQ(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:a6(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=a6(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 B1?H._def?.innerType:H;return ZJ(B)}))this.setCompletionRequestHandler()}return J}_createRegisteredTool(Q,X,Y,W,$,J,G,H,B){EJ(Q);let z={title:X,description:Y,inputSchema:aO(W),outputSchema:aO($),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")EJ(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=a6(K.paramsSchema);if(typeof K.outputSchema<"u")z.outputSchema=a6(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(SJ(H)){if(W=X.shift(),X.length>1&&typeof X[0]==="object"&&X[0]!==null&&!SJ(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 my={type:"object",properties:{}};function eO(Q){return Q!==null&&typeof Q==="object"&&"parse"in Q&&typeof Q.parse==="function"&&"safeParse"in Q&&typeof Q.safeParse==="function"}function cy(Q){return"_def"in Q||"_zod"in Q||eO(Q)}function SJ(Q){if(typeof Q!=="object"||Q===null)return!1;if(cy(Q))return!1;if(Object.keys(Q).length===0)return!0;return Object.values(Q).some(eO)}function aO(Q){if(!Q)return;if(SJ(Q))return a6(Q);return Q}function py(Q){let X=c1(Q);if(!X)return[];return Object.entries(X).map(([Y,W])=>{let $=lH(W),J=mH(W);return{name:Y,description:$,required:!J}})}function y6(Q){let Y=c1(Q)?.method;if(!Y)throw Error("Schema is missing a method literal");let W=MQ(Y);if(typeof W==="string")return W;throw Error("Schema method literal must be a string")}function sO(Q){return{completion:{values:Q.slice(0,100),total:Q.length,hasMore:Q.length>100}}}var n8={completion:{values:[],hasMore:!1}};import{Http2ServerRequest as dy}from"http2";import{Http2ServerRequest as CJ}from"http2";import{Readable as Qj}from"stream";import Wf from"crypto";var F9=class extends Error{constructor(Q,X){super(Q,X);this.name="RequestError"}},iy=(Q)=>{if(Q instanceof F9)return Q;return new F9(Q.message,{cause:Q})},ny=global.Request,o8=class extends ny{constructor(Q,X){if(typeof Q==="object"&&V4 in Q)Q=Q[V4]();if(typeof X?.body?.getReader<"u")X.duplex??="half";super(Q,X)}},oy=(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)},Yj=Symbol("wrapBodyStream"),ry=(Q,X,Y,W,$)=>{let J={method:Q,headers:Y,signal:$.signal};if(Q==="TRACE"){J.method="GET";let G=new o8(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[Yj]){let G;J.body=new ReadableStream({async pull(H){try{G||=Qj.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=Qj.toWeb(W);return new o8(X,J)},V4=Symbol("getRequestCache"),ty=Symbol("requestCache"),UY=Symbol("incomingKey"),NY=Symbol("urlKey"),ay=Symbol("headersKey"),K4=Symbol("abortControllerKey"),sy=Symbol("getAbortController"),wY={get method(){return this[UY].method||"GET"},get url(){return this[NY]},get headers(){return this[ay]||=oy(this[UY])},[sy](){return this[V4](),this[K4]},[V4](){return this[K4]||=new AbortController,this[ty]||=ry(this.method,this[NY],this.headers,this[UY],this[K4])}};["body","bodyUsed","cache","credentials","destination","integrity","mode","redirect","referrer","referrerPolicy","signal","keepalive"].forEach((Q)=>{Object.defineProperty(wY,Q,{get(){return this[V4]()[Q]}})});["arrayBuffer","blob","clone","formData","json","text"].forEach((Q)=>{Object.defineProperty(wY,Q,{value:function(){return this[V4]()[Q]()}})});Object.setPrototypeOf(wY,o8.prototype);var ey=(Q,X)=>{let Y=Object.create(wY);Y[UY]=Q;let W=Q.url||"";if(W[0]!=="/"&&(W.startsWith("http://")||W.startsWith("https://"))){if(Q instanceof CJ)throw new F9("Absolute URL for :path is not allowed in HTTP/2");try{let H=new URL(W);Y[NY]=H.href}catch(H){throw new F9("Invalid absolute URL",{cause:H})}return Y}let $=(Q instanceof CJ?Q.authority:Q.headers.host)||X;if(!$)throw new F9("Missing host header");let J;if(Q instanceof CJ){if(J=Q.scheme,!(J==="http"||J==="https"))throw new F9("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 F9("Invalid host header");return Y[NY]=G.href,Y},Xj=Symbol("responseCache"),z4=Symbol("getResponseCache"),A9=Symbol("cache"),kJ=global.Response,r8=class Q{#X;#Q;[z4](){return delete this[A9],this[Xj]||=new kJ(this.#X,this.#Q)}constructor(X,Y){let W;if(this.#X=X,Y instanceof Q){let $=Y[Xj];if($){this.#Q=$,this[z4]();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[A9]=[Y?.status||200,X,W]}get headers(){let X=this[A9];if(X){if(!(X[2]instanceof Headers))X[2]=new Headers(X[2]);return X[2]}return this[z4]().headers}get status(){return this[A9]?.[0]??this[z4]().status}get ok(){let X=this.status;return X>=200&&X<300}};["body","bodyUsed","redirected","statusText","trailers","type","url"].forEach((Q)=>{Object.defineProperty(r8.prototype,Q,{get(){return this[z4]()[Q]}})});["arrayBuffer","blob","clone","formData","json","text"].forEach((Q)=>{Object.defineProperty(r8.prototype,Q,{value:function(){return this[z4]()[Q]()}})});Object.setPrototypeOf(r8,kJ);Object.setPrototypeOf(r8.prototype,kJ.prototype);async function Qf(Q){return Promise.race([Q,Promise.resolve().then(()=>Promise.resolve(void 0))])}function Wj(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 Xf(Q,X){if(Q.locked)throw TypeError("ReadableStream is locked.");else if(X.destroyed)return;return Wj(Q.getReader(),X)}var $j=(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},Yf="x-hono-already-sent",$f=global.fetch;if(typeof global.crypto>"u")global.crypto=Wf;global.fetch=(Q,X)=>{return X={compress:!1,...X},$f(Q,X)};var vJ=Symbol("outgoingEnded"),Jf=()=>new Response(null,{status:400}),Jj=(Q)=>new Response(null,{status:Q instanceof Error&&(Q.name==="TimeoutError"||Q.constructor.name==="TimeoutError")?504:500}),TJ=(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)}},Gj=(Q)=>{if("flushHeaders"in Q&&Q.writable)Q.flushHeaders()},Hj=async(Q,X)=>{let[Y,W,$]=Q[A9];if($ instanceof Headers)$=$j($);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 Gj(X),await Xf(W,X)?.catch((J)=>TJ(J,X));X[vJ]?.()},Gf=(Q)=>typeof Q.then==="function",Hf=async(Q,X,Y={})=>{if(Gf(Q))if(Y.errorHandler)try{Q=await Q}catch($){let J=await Y.errorHandler($);if(!J)return;Q=J}else Q=await Q.catch(Jj);if(A9 in Q)return Hj(Q,X);let W=$j(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 Qf(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)Gj(X);await Wj($,X,H)}}else if(W[Yf]);else X.writeHead(Q.status,W),X.end();X[vJ]?.()},_J=(Q,X={})=>{let Y=X.autoCleanupIncoming??!0;if(X.overrideGlobalObjects!==!1&&global.Request!==o8)Object.defineProperty(global,"Request",{value:o8}),Object.defineProperty(global,"Response",{value:r8});return async(W,$)=>{let J,G;try{G=ey(W,X.hostname);let H=!Y||W.method==="GET"||W.method==="HEAD";if(!H){if(W[Yj]=!0,W.on("end",()=>{H=!0}),W instanceof dy)$[vJ]=()=>{if(!H)setTimeout(()=>{if(!H)setTimeout(()=>{W.destroy(),$.destroy()})})}}if($.on("close",()=>{if(G[K4]){if(W.errored)G[K4].abort(W.errored.toString());else if(!$.writableFinished)G[K4].abort("Client connection prematurely closed.")}if(!H)setTimeout(()=>{if(!H)setTimeout(()=>{W.destroy()})})}),J=Q(G,{incoming:W,outgoing:$}),A9 in J)return Hj(J,$)}catch(H){if(!J)if(X.errorHandler){if(J=await X.errorHandler(G?H:iy(H)),!J)return}else if(!G)J=Jf();else J=Jj(H);else return TJ(H,$)}try{return await Hf(J,$,X)}catch(H){return TJ(H,$)}}};class xJ{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: ${$}
|
|
48
|
+
data:
|
|
49
|
+
|
|
50
|
+
`;if(this._retryInterval!==void 0)J=`id: ${$}
|
|
51
|
+
retry: ${this._retryInterval}
|
|
52
|
+
data:
|
|
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
|
|
55
|
+
`;if(W)$+=`id: ${W}
|
|
56
|
+
`;return $+=`data: ${JSON.stringify(Y)}
|
|
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)=>e6.parse(O));else G=[e6.parse(J)]}catch{return this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON-RPC message")}let H=G.some(G5);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 j=this.validateProtocolVersion(Q);if(j)return j}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)=>G5(O)),V=K?K.params.protocolVersion:Q.headers.get("mcp-protocol-version")??O3;if(this._enableJsonResponse)return new Promise((O)=>{this._streamMapping.set(z,{resolveJson:O,cleanup:()=>{this._streamMapping.delete(z)}});for(let j of G)if(p1(j))this._requestToStreamMapping.set(j.id,z);for(let j of G)this.onmessage?.(j,{authInfo:X?.authInfo,requestInfo:$})});let F=new TextEncoder,A,L=new ReadableStream({start:(O)=>{A=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: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 j,q;if(p1(O)&&this._eventStore&&V>="2025-11-25")j=()=>{this.closeSSEStream(O.id)},q=()=>{this.closeStandaloneSSEStream()};this.onmessage?.(O,{authInfo:X?.authInfo,requestInfo:$,closeSSEStream:j,closeStandaloneSSEStream:q})}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&&!s6.includes(X))return this.createJsonErrorResponse(400,-32000,`Bad Request: Unsupported protocol version: ${X} (supported versions: ${s6.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)||g9(Q))Y=Q.id;if(Y===void 0){if(P1(Q)||g9(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)||g9(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 yJ{constructor(Q={}){this._requestContext=new WeakMap,this._webStandardTransport=new xJ(Q),this._requestListener=_J(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 _J(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 Bg}from"http";import{readFileSync as zg}from"fs";import qY from"node:crypto";var zj="0123456789ABCDEFGHJKMNPQRSTVWXYZ",MY=32;var Bf=16,Kj=10,Bj=281474976710655;var D9;(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"})(D9||(D9={}));class F4 extends Error{constructor(Q,X){super(`${X} (${Q})`);this.name="ULIDError",this.code=Q}}function zf(Q){let X=Math.floor(Q()*MY)%MY;return zj.charAt(X)}function Kf(Q){let X=Vf(),Y=X&&(X.crypto||X.msCrypto)||(typeof qY<"u"?qY: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(qY?.randomBytes)return()=>qY.randomBytes(1).readUInt8()/256;throw new F4(D9.PRNGDetectFailure,"Failed to find a reliable PRNG")}function Vf(){if(Df())return self;if(typeof window<"u")return window;if(typeof global<"u")return global;if(typeof globalThis<"u")return globalThis;return null}function Ff(Q,X){let Y="";for(;Q>0;Q--)Y=zf(X)+Y;return Y}function Af(Q,X=Kj){if(isNaN(Q))throw new F4(D9.EncodeTimeValueMalformed,`Time must be a number: ${Q}`);else if(Q>Bj)throw new F4(D9.EncodeTimeSizeExceeded,`Cannot encode a time larger than ${Bj}: ${Q}`);else if(Q<0)throw new F4(D9.EncodeTimeNegative,`Time must be positive: ${Q}`);else if(Number.isInteger(Q)===!1)throw new F4(D9.EncodeTimeValueMalformed,`Time must be an integer: ${Q}`);let Y,W="";for(let $=X;$>0;$--)Y=Q%MY,W=zj.charAt(Y)+W,Q=(Q-Y)/MY;return W}function Df(){return typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope}function K1(Q,X){let Y=X||Kf(),W=!Q||isNaN(Q)?Date.now():Q;return Af(W,Kj)+Ff(Bf,Y)}class fJ{configs=new Map;logger;constructor(Q={}){this.logger=Q.logger}addConfig(Q,X,Y){let W=this.configs.has(Q);return this.configs.set(Q,{name:Q,url:X,addedAt:new Date,addedBy:Y}),this.logger?.info(W?"server_config_updated":"server_config_added",{server:Q,url:X,addedBy:Y}),!W}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 Lf={maxEvents:1000,retentionMs:1800000,cleanupIntervalMs:300000};class gJ{events=[];config;logger;lastDeliveredId=null;waiters=[];cleanupIntervalHandle=null;constructor(Q={},X){this.config={...Lf,...Q},this.logger=X,this.startCleanupInterval()}addEvent(Q,X,Y){let W=K1(),$={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 Of={defaultTtlMs:600000,completedRetentionMs:300000,cleanupIntervalMs:60000};class hJ{tasks=new Map;eventSystem;config;cleanupIntervalHandle=null;constructor(Q,X={}){this.eventSystem=Q,this.config={...Of,...X},this.startCleanupInterval()}createTask(Q,X,Y,W){let $=K1(),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 jf={maxNotificationsPerServer:100,maxLogsPerServer:500};class uJ{buffers=new Map;eventSystem;config;constructor(Q,X={}){this.eventSystem=Q,this.config={...jf,...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 Uf={defaultTimeoutMs:600000};class lJ{samplingRequests=new Map;elicitationRequests=new Map;eventSystem;config;constructor(Q,X={}){this.eventSystem=Q,this.config={...Uf,...X}}addSamplingRequest(Q,X,Y,W){let $=K1(),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 $=K1(),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)}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)}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()}}class mJ{sessionId;createdAt;lastActivityAt;backendConnections=new Map;eventSystem;taskManager;pendingRequests;bufferManager;logger;constructor(Q,X={},Y){this.sessionId=Q,this.createdAt=new Date,this.lastActivityAt=new Date,this.logger=Y,this.eventSystem=new gJ(X.eventSystemConfig,Y),this.taskManager=new hJ(this.eventSystem,X.taskConfig),this.pendingRequests=new lJ(this.eventSystem,X.requestConfig),this.bufferManager=new uJ(this.eventSystem,X.bufferConfig)}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.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 cJ{constructor(Q){this._client=Q}async*callToolStream(Q,X=q6,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 bY(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)bY(J,Y[$])}}if(Array.isArray(Q.anyOf)){for(let Y of Q.anyOf)if(typeof Y!=="boolean")bY(Y,X)}if(Array.isArray(Q.oneOf)){for(let Y of Q.oneOf)if(typeof Y!=="boolean")bY(Y,X)}}function Nf(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 PY extends Q8{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 i8,X?.listChanged)this._pendingListChangedConfig=X.listChanged}_setupListChangedHandlers(Q){if(Q.tools&&this._serverCapabilities?.tools?.listChanged)this._setupListChangedHandler("tools",o4,Q.tools,async()=>{return(await this.listTools()).tools});if(Q.prompts&&this._serverCapabilities?.prompts?.listChanged)this._setupListChangedHandler("prompts",n4,Q.prompts,async()=>{return(await this.listPrompts()).prompts});if(Q.resources&&this._serverCapabilities?.resources?.listChanged)this._setupListChangedHandler("resources",i4,Q.resources,async()=>{return(await this.listResources()).resources})}get experimental(){if(!this._experimental)this._experimental={tasks:new cJ(this)};return this._experimental}registerCapabilities(Q){if(this.transport)throw Error("Cannot register capabilities after connecting to transport");this._capabilities=sQ(this._capabilities,Q)}setRequestHandler(Q,X){let W=c1(Q)?.method;if(!W)throw Error("Schema is missing a method literal");let $;if(s0(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(s4,H);if(!z.success){let j=z.error instanceof Error?z.error.message:String(z.error);throw new I(k.InvalidParams,`Invalid elicitation request: ${j}`)}let{params:K}=z.data;K.mode=K.mode??"form";let{supportsFormMode:V,supportsUrlMode:F}=Nf(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"&&!F)throw new I(k.InvalidParams,"Client does not support URL-mode elicitation requests");let A=await Promise.resolve(X(H,B));if(K.task){let j=c0(X6,A);if(!j.success){let q=j.error instanceof Error?j.error.message:String(j.error);throw new I(k.InvalidParams,`Invalid task creation result: ${q}`)}return j.data}let L=c0(l9,A);if(!L.success){let j=L.error instanceof Error?L.error.message:String(L.error);throw new I(k.InvalidParams,`Invalid elicitation result: ${j}`)}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{bY(O,D.content)}catch{}}return D};return super.setRequestHandler(Q,G)}if(J==="sampling/createMessage"){let G=async(H,B)=>{let z=c0(t4,H);if(!z.success){let A=z.error instanceof Error?z.error.message:String(z.error);throw new I(k.InvalidParams,`Invalid sampling request: ${A}`)}let{params:K}=z.data,V=await Promise.resolve(X(H,B));if(K.task){let A=c0(X6,V);if(!A.success){let L=A.error instanceof Error?A.error.message:String(A.error);throw new I(k.InvalidParams,`Invalid task creation result: ${L}`)}return A.data}let F=c0(a4,V);if(!F.success){let A=F.error instanceof Error?F.error.message:String(F.error);throw new I(k.InvalidParams,`Invalid sampling result: ${A}`)}return F.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:N6,capabilities:this._capabilities,clientInfo:this._clientInfo}},H5,X);if(Y===void 0)throw Error(`Server sent invalid initialize result: ${Y}`);if(!s6.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){OY(this._serverCapabilities?.tasks?.requests,Q,"Server")}assertTaskHandlerCapability(Q){if(!this._capabilities)return;jY(this._capabilities.tasks?.requests,Q,"Client")}async ping(Q){return this.request({method:"ping"},Q6,Q)}async complete(Q,X){return this.request({method:"completion/complete",params:Q},P5,X)}async setLoggingLevel(Q,X){return this.request({method:"logging/setLevel",params:{level:Q}},Q6,X)}async getPrompt(Q,X){return this.request({method:"prompts/get",params:Q},N5,X)}async listPrompts(Q,X){return this.request({method:"prompts/list",params:Q},D5,X)}async listResources(Q,X){return this.request({method:"resources/list",params:Q},z5,X)}async listResourceTemplates(Q,X){return this.request({method:"resources/templates/list",params:Q},K5,X)}async readResource(Q,X){return this.request({method:"resources/read",params:Q},F5,X)}async subscribeResource(Q,X){return this.request({method:"resources/subscribe",params:Q},Q6,X)}async unsubscribeResource(Q,X){return this.request({method:"resources/unsubscribe",params:Q},Q6,X)}async callTool(Q,X=q6,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},w5,X);return this.cacheToolMetadata(Y.tools),Y}_setupListChangedHandler(Q,X,Y,W){let $=T3.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 ZY(Q){if(!Q)return{};if(Q instanceof Headers)return Object.fromEntries(Q.entries());if(Array.isArray(Q))return Object.fromEntries(Q);return{...Q}}function Vj(Q=fetch,X){if(!X)return Q;return async(Y,W)=>{let $={...X,...W,headers:W?.headers?{...ZY(X.headers),...ZY(W.headers)}:X.headers};return Q(Y,$)}}var pJ;pJ=globalThis.crypto?.webcrypto??globalThis.crypto??import("node:crypto").then((Q)=>Q.webcrypto);async function wf(Q){return(await pJ).getRandomValues(new Uint8Array(Q))}async function qf(Q){let Y=Math.pow(2,8)-Math.pow(2,8)%66,W="";while(W.length<Q){let $=await wf(Q-W.length);for(let J of $)if(J<Y)W+="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~"[J%66]}return W}async function Mf(Q){return await qf(Q)}async function bf(Q){let X=await(await pJ).subtle.digest("SHA-256",new TextEncoder().encode(Q));return btoa(String.fromCharCode(...new Uint8Array(X))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}async function dJ(Q){if(!Q)Q=43;if(Q<43||Q>128)throw`Expected a length between 43 and 128. Received ${Q}.`;let X=await Mf(Q),Y=await bf(X);return{code_verifier:X,code_challenge:Y}}var f0=$3().superRefine((Q,X)=>{if(!URL.canParse(Q))return X.addIssue({code:L3.custom,message:"URL must be parseable",fatal:!0}),WQ}).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"}),Aj=I0({resource:U().url(),authorization_servers:R(f0).optional(),jwks_uri:U().url().optional(),scopes_supported:R(U()).optional(),bearer_methods_supported:R(U()).optional(),resource_signing_alg_values_supported:R(U()).optional(),resource_name:U().optional(),resource_documentation:U().optional(),resource_policy_uri:U().url().optional(),resource_tos_uri:U().url().optional(),tls_client_certificate_bound_access_tokens:H0().optional(),authorization_details_types_supported:R(U()).optional(),dpop_signing_alg_values_supported:R(U()).optional(),dpop_bound_access_tokens_required:H0().optional()}),iJ=I0({issuer:U(),authorization_endpoint:f0,token_endpoint:f0,registration_endpoint:f0.optional(),scopes_supported:R(U()).optional(),response_types_supported:R(U()),response_modes_supported:R(U()).optional(),grant_types_supported:R(U()).optional(),token_endpoint_auth_methods_supported:R(U()).optional(),token_endpoint_auth_signing_alg_values_supported:R(U()).optional(),service_documentation:f0.optional(),revocation_endpoint:f0.optional(),revocation_endpoint_auth_methods_supported:R(U()).optional(),revocation_endpoint_auth_signing_alg_values_supported:R(U()).optional(),introspection_endpoint:U().optional(),introspection_endpoint_auth_methods_supported:R(U()).optional(),introspection_endpoint_auth_signing_alg_values_supported:R(U()).optional(),code_challenge_methods_supported:R(U()).optional(),client_id_metadata_document_supported:H0().optional()}),Pf=I0({issuer:U(),authorization_endpoint:f0,token_endpoint:f0,userinfo_endpoint:f0.optional(),jwks_uri:f0,registration_endpoint:f0.optional(),scopes_supported:R(U()).optional(),response_types_supported:R(U()),response_modes_supported:R(U()).optional(),grant_types_supported:R(U()).optional(),acr_values_supported:R(U()).optional(),subject_types_supported:R(U()),id_token_signing_alg_values_supported:R(U()),id_token_encryption_alg_values_supported:R(U()).optional(),id_token_encryption_enc_values_supported:R(U()).optional(),userinfo_signing_alg_values_supported:R(U()).optional(),userinfo_encryption_alg_values_supported:R(U()).optional(),userinfo_encryption_enc_values_supported:R(U()).optional(),request_object_signing_alg_values_supported:R(U()).optional(),request_object_encryption_alg_values_supported:R(U()).optional(),request_object_encryption_enc_values_supported:R(U()).optional(),token_endpoint_auth_methods_supported:R(U()).optional(),token_endpoint_auth_signing_alg_values_supported:R(U()).optional(),display_values_supported:R(U()).optional(),claim_types_supported:R(U()).optional(),claims_supported:R(U()).optional(),service_documentation:U().optional(),claims_locales_supported:R(U()).optional(),ui_locales_supported:R(U()).optional(),claims_parameter_supported:H0().optional(),request_parameter_supported:H0().optional(),request_uri_parameter_supported:H0().optional(),require_request_uri_registration:H0().optional(),op_policy_uri:f0.optional(),op_tos_uri:f0.optional(),client_id_metadata_document_supported:H0().optional()}),Dj=C({...Pf.shape,...iJ.pick({code_challenge_methods_supported:!0}).shape}),Lj=C({access_token:U(),id_token:U().optional(),token_type:U(),expires_in:EQ.number().optional(),scope:U().optional(),refresh_token:U().optional()}).strip(),Oj=C({error:U(),error_description:U().optional(),error_uri:U().optional()}),Fj=f0.optional().or(_("").transform(()=>{return})),Zf=C({redirect_uris:R(f0),token_endpoint_auth_method:U().optional(),grant_types:R(U()).optional(),response_types:R(U()).optional(),client_name:U().optional(),client_uri:f0.optional(),logo_uri:Fj,scope:U().optional(),contacts:R(U()).optional(),tos_uri:Fj,policy_uri:U().optional(),jwks_uri:f0.optional(),jwks:G3().optional(),software_id:U().optional(),software_version:U().optional(),software_statement:U().optional()}).strip(),Ef=C({client_id:U(),client_secret:U().optional(),client_id_issued_at:J0().optional(),client_secret_expires_at:J0().optional()}).strip(),jj=Zf.merge(Ef),cn=C({error:U(),error_description:U().optional()}).strip(),pn=C({token:U(),token_type_hint:U().optional()}).strip();function Uj(Q){let X=typeof Q==="string"?new URL(Q):new URL(Q.href);return X.hash="",X}function Nj({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 R0 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 EY extends R0{}EY.errorCode="invalid_request";class A4 extends R0{}A4.errorCode="invalid_client";class D4 extends R0{}D4.errorCode="invalid_grant";class L4 extends R0{}L4.errorCode="unauthorized_client";class RY extends R0{}RY.errorCode="unsupported_grant_type";class SY extends R0{}SY.errorCode="invalid_scope";class IY extends R0{}IY.errorCode="access_denied";class f6 extends R0{}f6.errorCode="server_error";class CY extends R0{}CY.errorCode="temporarily_unavailable";class TY extends R0{}TY.errorCode="unsupported_response_type";class kY extends R0{}kY.errorCode="unsupported_token_type";class vY extends R0{}vY.errorCode="invalid_token";class _Y extends R0{}_Y.errorCode="method_not_allowed";class xY extends R0{}xY.errorCode="too_many_requests";class O4 extends R0{}O4.errorCode="invalid_client_metadata";class yY extends R0{}yY.errorCode="insufficient_scope";class fY extends R0{}fY.errorCode="invalid_target";var wj={[EY.errorCode]:EY,[A4.errorCode]:A4,[D4.errorCode]:D4,[L4.errorCode]:L4,[RY.errorCode]:RY,[SY.errorCode]:SY,[IY.errorCode]:IY,[f6.errorCode]:f6,[CY.errorCode]:CY,[TY.errorCode]:TY,[kY.errorCode]:kY,[vY.errorCode]:vY,[_Y.errorCode]:_Y,[xY.errorCode]:xY,[O4.errorCode]:O4,[yY.errorCode]:yY,[fY.errorCode]:fY};class g6 extends Error{constructor(Q){super(Q??"Unauthorized")}}function Rf(Q){return["client_secret_basic","client_secret_post","none"].includes(Q)}var nJ="code",oJ="S256";function Sf(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&&Rf(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 If(Q,X,Y,W){let{client_id:$,client_secret:J}=X;switch(Q){case"client_secret_basic":Cf($,J,Y);return;case"client_secret_post":Tf($,J,W);return;case"none":kf($,W);return;default:throw Error(`Unsupported client authentication method: ${Q}`)}}function Cf(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 Tf(Q,X,Y){if(Y.set("client_id",Q),X)Y.set("client_secret",X)}function kf(Q,X){X.set("client_id",Q)}async function Mj(Q){let X=Q instanceof Response?Q.status:void 0,Y=Q instanceof Response?await Q.text():Q;try{let W=Oj.parse(JSON.parse(Y)),{error:$,error_description:J,error_uri:G}=W;return new(wj[$]||f6)(J||"",G)}catch(W){let $=`${X?`HTTP ${X}: `:""}Invalid OAuth error response: ${W}. Raw body: ${Y}`;return new f6($)}}async function t8(Q,X){try{return await rJ(Q,X)}catch(Y){if(Y instanceof A4||Y instanceof L4)return await Q.invalidateCredentials?.("all"),await rJ(Q,X);else if(Y instanceof D4)return await Q.invalidateCredentials?.("tokens"),await rJ(Q,X);throw Y}}async function rJ(Q,{serverUrl:X,authorizationCode:Y,scope:W,resourceMetadataUrl:$,fetchFn:J}){let G,H;try{if(G=await xf(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 _f(X,Q,G),z=await uf(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,j=Q.clientMetadataUrl;if(j&&!vf(j))throw new O4(`clientMetadataUrl must be a valid HTTPS URL with a non-root pathname, got: ${j}`);if(O&&j)K={client_id:j},await Q.saveClientInformation?.(K);else{if(!Q.saveClientInformation)throw Error("OAuth client information must be saveable for dynamic registration");let M=await df(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 pf(Q,H,{metadata:z,resource:B,authorizationCode:Y,fetchFn:J});return await Q.saveTokens(O),"AUTHORIZED"}let F=await Q.tokens();if(F?.refresh_token)try{let O=await cf(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 R0)||O instanceof f6);else throw O}let A=Q.state?await Q.state():void 0,{authorizationUrl:L,codeVerifier:D}=await lf(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(D),await Q.redirectToAuthorization(L),"REDIRECT"}function vf(Q){if(!Q)return!1;try{let X=new URL(Q);return X.protocol==="https:"&&X.pathname!=="/"}catch{return!1}}async function _f(Q,X,Y){let W=Uj(Q);if(X.validateResourceURL)return await X.validateResourceURL(W,Y?.resource);if(!Y)return;if(!Nj({requestedResource:W,configuredResource:Y.resource}))throw Error(`Protected resource ${Y.resource} does not match expected ${W} (or origin)`);return new URL(Y.resource)}function aJ(Q){let X=Q.headers.get("WWW-Authenticate");if(!X)return{};let[Y,W]=X.split(" ");if(Y.toLowerCase()!=="bearer"||!W)return{};let $=tJ(Q,"resource_metadata")||void 0,J;if($)try{J=new URL($)}catch{}let G=tJ(Q,"scope")||void 0,H=tJ(Q,"error")||void 0;return{resourceMetadataUrl:J,scope:G,error:H}}function tJ(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 xf(Q,X,Y=fetch){let W=await gf(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 Aj.parse(await W.json())}async function sJ(Q,X,Y=fetch){try{return await Y(Q,{headers:X})}catch(W){if(W instanceof TypeError)if(X)return sJ(Q,void 0,Y);else return;throw W}}function yf(Q,X="",Y={}){if(X.endsWith("/"))X=X.slice(0,-1);return Y.prependPathname?`${X}/.well-known/${Q}`:`/.well-known/${Q}${X}`}async function qj(Q,X,Y=fetch){return await sJ(Q,{"MCP-Protocol-Version":X},Y)}function ff(Q,X){return!Q||Q.status>=400&&Q.status<500&&X!=="/"}async function gf(Q,X,Y,W){let $=new URL(Q),J=W?.protocolVersion??N6,G;if(W?.metadataUrl)G=new URL(W.metadataUrl);else{let B=yf(X,$.pathname);G=new URL(B,W?.metadataServerUrl??$),G.search=$.search}let H=await qj(G,J,Y);if(!W?.metadataUrl&&ff(H,$.pathname)){let B=new URL(`/.well-known/${X}`,$);H=await qj(B,J,Y)}return H}function hf(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 uf(Q,{fetchFn:X=fetch,protocolVersion:Y=N6}={}){let W={"MCP-Protocol-Version":Y,Accept:"application/json"},$=hf(Q);for(let{url:J,type:G}of $){let H=await sJ(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 iJ.parse(await H.json());else return Dj.parse(await H.json())}return}async function lf(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(nJ))throw Error(`Incompatible auth server: does not support response type ${nJ}`);if(X.code_challenge_methods_supported&&!X.code_challenge_methods_supported.includes(oJ))throw Error(`Incompatible auth server: does not support code challenge method ${oJ}`)}else H=new URL("/authorize",Q);let B=await dJ(),z=B.code_verifier,K=B.code_challenge;if(H.searchParams.set("response_type",nJ),H.searchParams.set("client_id",Y.client_id),H.searchParams.set("code_challenge",K),H.searchParams.set("code_challenge_method",oJ),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 mf(Q,X,Y){return new URLSearchParams({grant_type:"authorization_code",code:Q,code_verifier:X,redirect_uri:String(Y)})}async function bj(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=Sf(W,K);If(V,W,B,Y)}let z=await(G??fetch)(H,{method:"POST",headers:B,body:Y});if(!z.ok)throw await Mj(z);return Lj.parse(await z.json())}async function cf(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 bj(Q,{metadata:X,tokenRequestParams:H,clientInformation:Y,addClientAuthentication:J,resource:$,fetchFn:G});return{refresh_token:W,...B}}async function pf(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=mf($,z,Q.redirectUrl)}let B=await Q.clientInformation();return bj(X,{metadata:Y,tokenRequestParams:H,clientInformation:B??void 0,addClientAuthentication:Q.addClientAuthentication,resource:W,fetchFn:J})}async function df(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 Mj(J);return jj.parse(await J.json())}class QG 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 eJ(Q){}function Pj(Q){if(typeof Q=="function")throw TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");let{onEvent:X=eJ,onError:Y=eJ,onRetry:W=eJ,onComment:$}=Q,J="",G=!0,H,B="",z="";function K(D){let O=G?D.replace(/^\xEF\xBB\xBF/,""):D,[j,q]=nf(`${J}${O}`);for(let M of j)V(M);J=q,G=!1}function V(D){if(D===""){A();return}if(D.startsWith(":")){$&&$(D.slice(D.startsWith(": ")?2:1));return}let O=D.indexOf(":");if(O!==-1){let j=D.slice(0,O),q=D[O+1]===" "?2:1,M=D.slice(O+q);F(j,M,D);return}F(D,"",D)}function F(D,O,j){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 QG(`Invalid \`retry\` value: "${O}"`,{type:"invalid-retry",value:O,line:j}));break;default:Y(new QG(`Unknown field "${D.length>20?`${D.slice(0,20)}…`:D}"`,{type:"unknown-field",field:D,value:O,line:j}));break}}function A(){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 nf(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 XG extends TransformStream{constructor({onError:Q,onRetry:X,onComment:Y}={}){let W;super({start($){W=Pj({onEvent:(J)=>{$.enqueue(J)},onError(J){Q==="terminate"?$.error(J):typeof Q=="function"&&Q(J)},onRetry:X,onComment:Y})},transform($){W.feed($)}})}}var of={initialReconnectionDelay:1000,maxReconnectionDelay:30000,reconnectionDelayGrowFactor:1.5,maxRetries:2};class L9 extends Error{constructor(Q,X){super(`Streamable HTTP error: ${X}`);this.code=Q}}class gY{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=Vj(X?.fetch,X?.requestInit),this._sessionId=X?.sessionId,this._reconnectionOptions=X?.reconnectionOptions??of}async _authThenStart(){if(!this._authProvider)throw new g6("No auth provider");let Q;try{Q=await t8(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 g6;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=ZY(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 L9(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 XG({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 L=e6.parse(JSON.parse(F.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(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 g6("No auth provider");if(await t8(this._authProvider,{serverUrl:this._url,authorizationCode:Q,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new g6("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 L9(401,"Server returned 401 after successful authentication");let{resourceMetadataUrl:F,scope:A}=aJ(G);if(this._resourceMetadataUrl=F,this._scope=A,await t8(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new g6;return this._hasCompletedAuthFlow=!0,this.send(Q)}if(G.status===403&&this._authProvider){let{resourceMetadataUrl:F,scope:A,error:L}=aJ(G);if(L==="insufficient_scope"){let D=G.headers.get("WWW-Authenticate");if(this._lastUpscopingHeader===D)throw new L9(403,"Server returned 403 after trying upscoping");if(A)this._scope=A;if(F)this._resourceMetadataUrl=F;if(this._lastUpscopingHeader=D??void 0,await t8(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetch})!=="AUTHORIZED")throw new g6;return this.send(Q)}}throw new L9(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(),F=Array.isArray(V)?V.map((A)=>e6.parse(A)):[e6.parse(V)];for(let A of F)this.onmessage?.(A)}else throw await G.body?.cancel(),new L9(-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 L9(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 rf=1000,tf=180000,af=2,sf=0.1,Zj=120000,ef=0.1,Qg=60000,Xg=3;class YG{name;url;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.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}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{this.transport=new gY(new URL(this.url)),this.client=new PY({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 Q=this.client.getServerCapabilities();this.capabilities={tools:Q?.tools!==void 0,resources:Q?.resources!==void 0,prompts:Q?.prompts!==void 0,resourceTemplates:Q?.resources!==void 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 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(o4,()=>{this.emitNotification("notifications/tools/list_changed")}),this.client.setNotificationHandler(i4,()=>{this.emitNotification("notifications/resources/list_changed")}),this.client.setNotificationHandler(A5,(Q)=>{this.emitNotification("notifications/resources/updated",Q.params)}),this.client.setNotificationHandler(n4,()=>{this.emitNotification("notifications/prompts/list_changed")}),this.client.setNotificationHandler(M5,(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(t4,(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(s4,(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{this.transport=new gY(new URL(this.url)),this.client=new PY({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 Q=this.client.getServerCapabilities();this.capabilities={tools:Q?.tools!==void 0,resources:Q?.resources!==void 0,prompts:Q?.prompts!==void 0,resourceTemplates:Q?.resources!==void 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 X=rf*Math.pow(af,Q-1),Y=Math.min(X,tf),W=Y*sf*(Math.random()*2-1);return Math.round(Y+W)}startHealthChecks(){this.stopHealthChecks();let Q=()=>{let X=Zj*ef*(Math.random()*2-1),Y=Math.round(Zj+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()},Qg);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>=Xg&&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 Yg={sessionTimeoutMs:1800000,cleanupIntervalMs:300000};class WG{sessions=new Map;serverConfigs;config;logger;cleanupIntervalHandle=null;constructor(Q={}){this.config={...Yg,...Q},this.logger=Q.logger;let X={logger:Q.logger};this.serverConfigs=new fJ(X),this.startCleanupInterval()}async createSession(){let Q=K1(),X=new mJ(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){let W=this.sessions.get(Q);if(!W)throw Error(`Session '${Q}' not found`);let $=this.serverConfigs.addConfig(X,Y,Q),J=this.serverConfigs.getConfig(X);if(!J)throw Error(`Failed to add server config for '${X}'`);let G=await this.connectSessionToServer(W,J);if($){for(let[H,B]of this.sessions)if(H!==Q)B.eventSystem.addEvent("server_added",X,{name:X,url:Y,addedBy:Q})}return G}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={name:W.name,url:W.url,connected:$?.status==="connected",status:$?.status??"not_connected",connectedAt:$?.connectedAt,lastError:$?.lastError};if($?.status==="reconnecting"){let G=$.client.getReconnectionState();if(G)J.reconnectAttempt=G.attempt,J.nextRetryMs=G.nextRetryMs}if($?.status==="connected"){J.healthStatus=$.client.getHealthStatus();let G=$.client.getConsecutiveHealthFailures();if(G>0)J.consecutiveHealthFailures=G}return J})}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=new YG({name:X.name,url:X.url,onStatusChange:($,J)=>{Q.setConnectionStatus(X.name,$,J)},onNotification:($)=>{Q.bufferManager.addNotification($)},onLog:($)=>{Q.bufferManager.addLog($)},onSamplingRequest:($)=>{Q.pendingRequests.addSamplingRequest($.server,$.params,$.resolve,$.reject)},onElicitationRequest:($)=>{Q.pendingRequests.addElicitationRequest($.server,$.params,$.resolve,$.reject)},onReconnecting:($,J)=>{if($===1)this.handleBackendDisconnect(Q,X.name);Q.eventSystem.addEvent("server_reconnecting",X.name,{name:X.name,attempt:$,nextRetryMs:J}),this.logger?.debug("session_server_reconnecting",{sessionId:Q.sessionId,server:X.name,attempt:$,nextRetryMs:J})},onReconnected:($)=>{Q.setConnectionStatus(X.name,"connected"),Q.eventSystem.addEvent("server_reconnected",X.name,{name:X.name,attemptsTaken:$}),this.logger?.info("session_server_reconnected",{sessionId:Q.sessionId,server:X.name,attemptsTaken:$})},onHealthDegraded:($,J)=>{Q.eventSystem.addEvent("server_health_degraded",X.name,{name:X.name,consecutiveFailures:$,lastError:J}),this.logger?.warn("session_server_health_degraded",{sessionId:Q.sessionId,server:X.name,consecutiveFailures:$,lastError:J})},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})}});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}),$}}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 Wg={maxEvents:1000,retentionMs:300000};class $G{events=new Map;config;logger;constructor(Q={}){this.config={...Wg,...Q},this.logger=Q.logger}storeEvent(Q,X){let Y=K1();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()}}var Ej={debug:0,info:1,warn:2,error:3};function Rj(Q="info"){let X=Ej[Q],Y=(W,$,J)=>{if(Ej[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 $g={maxRequestsPerSession:100,maxTotalRequests:1000};class JG{requests=new Map;sessionRequests=new Map;config;logger;constructor(Q={}){this.config={...$g,...Q},this.logger=Q.logger}startRequest(Q,X,Y,W={}){let $=K1(),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 Ij(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>
|
|
63
|
+
<html>
|
|
64
|
+
<head>
|
|
65
|
+
<title>MCP Proxy - Request Waterfall</title>
|
|
66
|
+
<meta http-equiv="refresh" content="2">
|
|
67
|
+
<style>
|
|
68
|
+
* { box-sizing: border-box; margin: 0; padding: 0; }
|
|
69
|
+
body {
|
|
70
|
+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
|
|
71
|
+
background: #1a1a2e;
|
|
72
|
+
color: #eee;
|
|
73
|
+
padding: 20px;
|
|
74
|
+
}
|
|
75
|
+
h1 { margin-bottom: 10px; color: #00d4ff; }
|
|
76
|
+
.stats {
|
|
77
|
+
display: flex;
|
|
78
|
+
gap: 20px;
|
|
79
|
+
margin-bottom: 20px;
|
|
80
|
+
flex-wrap: wrap;
|
|
81
|
+
}
|
|
82
|
+
.stat {
|
|
83
|
+
background: #16213e;
|
|
84
|
+
padding: 10px 15px;
|
|
85
|
+
border-radius: 8px;
|
|
86
|
+
border: 1px solid #0f3460;
|
|
87
|
+
}
|
|
88
|
+
.stat-label { font-size: 12px; color: #888; }
|
|
89
|
+
.stat-value { font-size: 24px; font-weight: bold; color: #00d4ff; }
|
|
90
|
+
.session {
|
|
91
|
+
background: #16213e;
|
|
92
|
+
border-radius: 8px;
|
|
93
|
+
margin-bottom: 15px;
|
|
94
|
+
border: 1px solid #0f3460;
|
|
95
|
+
overflow: hidden;
|
|
96
|
+
}
|
|
97
|
+
.session-header {
|
|
98
|
+
background: #0f3460;
|
|
99
|
+
padding: 10px 15px;
|
|
100
|
+
display: flex;
|
|
101
|
+
justify-content: space-between;
|
|
102
|
+
align-items: center;
|
|
103
|
+
}
|
|
104
|
+
.session-id {
|
|
105
|
+
font-family: monospace;
|
|
106
|
+
font-size: 12px;
|
|
107
|
+
color: #00d4ff;
|
|
108
|
+
}
|
|
109
|
+
.session-count {
|
|
110
|
+
font-size: 12px;
|
|
111
|
+
color: #888;
|
|
112
|
+
}
|
|
113
|
+
.waterfall {
|
|
114
|
+
padding: 10px;
|
|
115
|
+
position: relative;
|
|
116
|
+
min-height: 50px;
|
|
117
|
+
}
|
|
118
|
+
.timeline {
|
|
119
|
+
position: absolute;
|
|
120
|
+
top: 0;
|
|
121
|
+
left: 150px;
|
|
122
|
+
right: 10px;
|
|
123
|
+
height: 100%;
|
|
124
|
+
border-left: 1px dashed #333;
|
|
125
|
+
}
|
|
126
|
+
.timeline-markers {
|
|
127
|
+
position: absolute;
|
|
128
|
+
top: 0;
|
|
129
|
+
left: 150px;
|
|
130
|
+
right: 10px;
|
|
131
|
+
height: 20px;
|
|
132
|
+
display: flex;
|
|
133
|
+
justify-content: space-between;
|
|
134
|
+
font-size: 10px;
|
|
135
|
+
color: #666;
|
|
136
|
+
padding: 0 5px;
|
|
137
|
+
}
|
|
138
|
+
.request-row {
|
|
139
|
+
display: flex;
|
|
140
|
+
align-items: center;
|
|
141
|
+
height: 28px;
|
|
142
|
+
margin-bottom: 2px;
|
|
143
|
+
}
|
|
144
|
+
.request-name {
|
|
145
|
+
width: 140px;
|
|
146
|
+
font-size: 11px;
|
|
147
|
+
padding-right: 10px;
|
|
148
|
+
white-space: nowrap;
|
|
149
|
+
overflow: hidden;
|
|
150
|
+
text-overflow: ellipsis;
|
|
151
|
+
flex-shrink: 0;
|
|
152
|
+
}
|
|
153
|
+
.request-bar-container {
|
|
154
|
+
flex: 1;
|
|
155
|
+
position: relative;
|
|
156
|
+
height: 20px;
|
|
157
|
+
}
|
|
158
|
+
.request-bar {
|
|
159
|
+
position: absolute;
|
|
160
|
+
height: 16px;
|
|
161
|
+
top: 2px;
|
|
162
|
+
border-radius: 3px;
|
|
163
|
+
min-width: 2px;
|
|
164
|
+
display: flex;
|
|
165
|
+
align-items: center;
|
|
166
|
+
padding: 0 4px;
|
|
167
|
+
font-size: 10px;
|
|
168
|
+
color: #fff;
|
|
169
|
+
text-shadow: 0 0 2px rgba(0,0,0,0.5);
|
|
170
|
+
}
|
|
171
|
+
.request-bar.pending { background: #f39c12; animation: pulse 1s infinite; }
|
|
172
|
+
.request-bar.completed { background: #27ae60; }
|
|
173
|
+
.request-bar.failed { background: #e74c3c; }
|
|
174
|
+
.request-bar.timeout { background: #9b59b6; }
|
|
175
|
+
@keyframes pulse {
|
|
176
|
+
0%, 100% { opacity: 1; }
|
|
177
|
+
50% { opacity: 0.6; }
|
|
178
|
+
}
|
|
179
|
+
.request-duration {
|
|
180
|
+
position: absolute;
|
|
181
|
+
right: -45px;
|
|
182
|
+
font-size: 10px;
|
|
183
|
+
color: #888;
|
|
184
|
+
width: 40px;
|
|
185
|
+
}
|
|
186
|
+
.type-badge {
|
|
187
|
+
font-size: 9px;
|
|
188
|
+
padding: 1px 4px;
|
|
189
|
+
border-radius: 3px;
|
|
190
|
+
background: rgba(0,0,0,0.3);
|
|
191
|
+
margin-right: 4px;
|
|
192
|
+
}
|
|
193
|
+
.no-requests {
|
|
194
|
+
color: #666;
|
|
195
|
+
font-style: italic;
|
|
196
|
+
padding: 20px;
|
|
197
|
+
text-align: center;
|
|
198
|
+
}
|
|
199
|
+
.legend {
|
|
200
|
+
display: flex;
|
|
201
|
+
gap: 15px;
|
|
202
|
+
margin-bottom: 20px;
|
|
203
|
+
flex-wrap: wrap;
|
|
204
|
+
}
|
|
205
|
+
.legend-item {
|
|
206
|
+
display: flex;
|
|
207
|
+
align-items: center;
|
|
208
|
+
gap: 5px;
|
|
209
|
+
font-size: 12px;
|
|
210
|
+
}
|
|
211
|
+
.legend-color {
|
|
212
|
+
width: 12px;
|
|
213
|
+
height: 12px;
|
|
214
|
+
border-radius: 2px;
|
|
215
|
+
}
|
|
216
|
+
.legend-color.pending { background: #f39c12; }
|
|
217
|
+
.legend-color.completed { background: #27ae60; }
|
|
218
|
+
.legend-color.failed { background: #e74c3c; }
|
|
219
|
+
.legend-color.timeout { background: #9b59b6; }
|
|
220
|
+
</style>
|
|
221
|
+
</head>
|
|
222
|
+
<body>
|
|
223
|
+
<h1>\uD83D\uDD00 MCP Proxy - Request Waterfall</h1>
|
|
224
|
+
|
|
225
|
+
<div class="stats">
|
|
226
|
+
<div class="stat">
|
|
227
|
+
<div class="stat-label">Total Requests</div>
|
|
228
|
+
<div class="stat-value">${String(Y.totalRequests)}</div>
|
|
229
|
+
</div>
|
|
230
|
+
<div class="stat">
|
|
231
|
+
<div class="stat-label">Sessions</div>
|
|
232
|
+
<div class="stat-value">${String(Y.sessionCount)}</div>
|
|
233
|
+
</div>
|
|
234
|
+
<div class="stat">
|
|
235
|
+
<div class="stat-label">Pending</div>
|
|
236
|
+
<div class="stat-value">${String(Y.byStatus.pending)}</div>
|
|
237
|
+
</div>
|
|
238
|
+
<div class="stat">
|
|
239
|
+
<div class="stat-label">Completed</div>
|
|
240
|
+
<div class="stat-value">${String(Y.byStatus.completed)}</div>
|
|
241
|
+
</div>
|
|
242
|
+
<div class="stat">
|
|
243
|
+
<div class="stat-label">Failed</div>
|
|
244
|
+
<div class="stat-value">${String(Y.byStatus.failed)}</div>
|
|
245
|
+
</div>
|
|
246
|
+
</div>
|
|
247
|
+
|
|
248
|
+
<div class="legend">
|
|
249
|
+
<div class="legend-item"><div class="legend-color pending"></div> Pending</div>
|
|
250
|
+
<div class="legend-item"><div class="legend-color completed"></div> Completed</div>
|
|
251
|
+
<div class="legend-item"><div class="legend-color failed"></div> Failed</div>
|
|
252
|
+
<div class="legend-item"><div class="legend-color timeout"></div> Timeout</div>
|
|
253
|
+
</div>
|
|
254
|
+
|
|
255
|
+
${Jg(X,W,J)}
|
|
256
|
+
</body>
|
|
257
|
+
</html>`}function Jg(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(`
|
|
258
|
+
<div class="session">
|
|
259
|
+
<div class="session-header">
|
|
260
|
+
<span class="session-id">${J}</span>
|
|
261
|
+
<span class="session-count">${String(G.length)} request${G.length!==1?"s":""}</span>
|
|
262
|
+
</div>
|
|
263
|
+
<div class="waterfall">
|
|
264
|
+
<div class="timeline-markers">
|
|
265
|
+
<span>0ms</span>
|
|
266
|
+
<span>${String(Math.round(Y/2))}ms</span>
|
|
267
|
+
<span>${String(Math.round(Y))}ms</span>
|
|
268
|
+
</div>
|
|
269
|
+
${H.map((B)=>Gg(B,X,Y)).join("")}
|
|
270
|
+
</div>
|
|
271
|
+
</div>
|
|
272
|
+
`)}return W.join("")}function Gg(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=Hg(Q.type),z=Q.status==="pending"?"...":`${String($)}ms`;return`
|
|
273
|
+
<div class="request-row" title="${Sj(JSON.stringify(Q.args??{}))}">
|
|
274
|
+
<div class="request-name">${Sj(H)}</div>
|
|
275
|
+
<div class="request-bar-container">
|
|
276
|
+
<div class="request-bar ${Q.status}" style="left: ${String(J)}%; width: ${String(G)}%;">
|
|
277
|
+
<span class="type-badge">${B}</span>
|
|
278
|
+
${Q.error?"⚠️":""}
|
|
279
|
+
</div>
|
|
280
|
+
<span class="request-duration">${z}</span>
|
|
281
|
+
</div>
|
|
282
|
+
</div>
|
|
283
|
+
`}function Hg(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 Sj(Q){return Q.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function Cj(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 Kg(){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 Vg(Q){let X=zg(Q,"utf-8");return JSON.parse(X)}function E0(Q,X,Y){let W=X.sessionId;if(!W)return;let $=Y.get(W);if(!$)return;return Q.getSession($)}function a(Q){return{content:[{type:"text",text:Q}],isError:!0}}function l0(Q){return{content:[{type:"text",text:Q}]}}function m0(Q){return{content:[{type:"text",text:JSON.stringify(Q,null,2)}]}}function Fg(Q,X,Y,W){Q.registerTool("add_server",{description:"Connect to a backend MCP server. The server will be added to the shared configuration and this session will connect to it.",inputSchema:{name:c.string().describe("Unique name for this server"),url:c.string().url().describe("HTTP URL of the MCP server endpoint")}},async({name:$,url:J},G)=>{let H=E0(X,G,Y);if(!H)return a("Session not found");try{let z=(await X.addServer(H.sessionId,$,J)).client.getInfo().capabilities;return l0(`Connected to server '${$}' at ${J}
|
|
284
|
+
Capabilities: ${JSON.stringify(z)}`)}catch(B){let z=B instanceof Error?B.message:String(B);return a(`Failed to add server: ${z}`)}}),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:c.string().describe("Name of the server to remove")}},async({name:$},J)=>{let G=E0(X,J,Y);if(!G)return a("Session not found");try{return await X.removeServer(G.sessionId,$),l0(`Disconnected from server '${$}'`)}catch(H){let B=H instanceof Error?H.message:String(H);return a(`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:c.string().describe("Name of the server to reconnect")}},async({name:$},J)=>{let G=E0(X,J,Y);if(!G)return a("Session not found");try{return await X.reconnectServer(G.sessionId,$),l0(`Reconnected to server '${$}'`)}catch(H){let B=H instanceof Error?H.message:String(H);return a(`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=E0(X,J,Y);if(!G)return a("Session not found");let H=X.listServers(G.sessionId);if(H.length===0)return l0("No servers configured");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 m0(B)}),Q.registerTool("list_tools",{description:"List tools available from backend servers",inputSchema:{server:c.string().default(".*").describe("Regex pattern to match server names (default: .*)"),tool:c.string().default(".*").describe("Regex pattern to match tool names (default: .*)")}},async({server:$,tool:J},G)=>{let H=E0(X,G,Y);if(!H)return a("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 F=H.getConnection(V);if(F?.status!=="connected")continue;try{let A=await F.client.listTools();for(let L of A)if(z.test(L.name))K.push({server:V,name:L.name,description:L.description,inputSchema:L.inputSchema})}catch{}}if(K.length===0)return l0("No tools available");return m0(K)}catch(B){let z=B instanceof Error?B.message:String(B);return a(`Failed to list tools: ${z}`)}}),Q.registerTool("execute_tool",{description:"Execute a tool on a specific backend server",inputSchema:{server:c.string().describe("Name of the backend server"),tool:c.string().describe("Name of the tool to execute"),args:c.record(c.unknown()).optional().describe("Arguments to pass to the tool")}},async({server:$,tool:J,args:G},H)=>{let B=E0(X,H,Y);if(!B)return a("Session not found");let z=B.getConnection($);if(z?.status==="reconnecting"){let V=z.client.getReconnectionState(),F=V?` (attempt ${String(V.attempt)}, next retry in ${String(V.nextRetryMs)}ms)`:"";return a(`Server '${$}' is reconnecting${F}. 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 F=await(await X.getOrCreateConnection(B.sessionId,$)).callTool(J,G??{}),A=F.isError?"error":"ok";return W.completeRequest(K,A),{content:F.content,isError:F.isError}}catch(V){let F=V instanceof Error?V.message:String(V);return W.failRequest(K,F),a(`Failed to execute tool: ${F}`)}}),Q.registerTool("list_resources",{description:"List resources available from backend servers",inputSchema:{server:c.string().optional().describe("Server name to filter by (omit for all servers)")}},async({server:$},J)=>{let G=E0(X,J,Y);if(!G)return a("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 F of V)H.push({server:z,uri:F.uri,name:F.name,description:F.description,mimeType:F.mimeType})}catch{}}if(H.length===0)return l0("No resources available");return m0(H)}catch(H){let B=H instanceof Error?H.message:String(H);return a(`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:c.string().optional().describe("Server name to filter by (omit for all servers)")}},async({server:$},J)=>{let G=E0(X,J,Y);if(!G)return a("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 F of V)H.push({server:z,uriTemplate:F.uriTemplate,name:F.name,description:F.description,mimeType:F.mimeType})}catch{}}if(H.length===0)return l0("No resource templates available");return m0(H)}catch(H){let B=H instanceof Error?H.message:String(H);return a(`Failed to list resource templates: ${B}`)}}),Q.registerTool("read_resource",{description:"Read a specific resource from a backend server",inputSchema:{server:c.string().describe("Name of the backend server"),uri:c.string().describe("URI of the resource to read")}},async({server:$,uri:J},G)=>{let H=E0(X,G,Y);if(!H)return a("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((F)=>{if("text"in F&&typeof F.text==="string")return{uri:F.uri,mimeType:F.mimeType,text:F.text};else if("blob"in F&&typeof F.blob==="string")return{uri:F.uri,mimeType:F.mimeType,blob:`[base64 data, ${String(F.blob.length)} chars]`};return F});return W.completeRequest(B,`${String(V.length)} content(s)`),m0({contents:V})}catch(z){let K=z instanceof Error?z.message:String(z);return W.failRequest(B,K),a(`Failed to read resource: ${K}`)}}),Q.registerTool("list_prompts",{description:"List prompts available from backend servers",inputSchema:{server:c.string().optional().describe("Server name to filter by (omit for all servers)")}},async({server:$},J)=>{let G=E0(X,J,Y);if(!G)return a("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 F of V)H.push({server:z,name:F.name,description:F.description,arguments:F.arguments})}catch{}}if(H.length===0)return l0("No prompts available");return m0(H)}catch(H){let B=H instanceof Error?H.message:String(H);return a(`Failed to list prompts: ${B}`)}}),Q.registerTool("get_prompt",{description:"Get a specific prompt from a backend server",inputSchema:{server:c.string().describe("Name of the backend server"),name:c.string().describe("Name of the prompt to get"),arguments:c.record(c.string()).optional().describe("Arguments to pass to the prompt")}},async({server:$,name:J,arguments:G},H)=>{let B=E0(X,H,Y);if(!B)return a("Session not found");try{let K=await(await X.getOrCreateConnection(B.sessionId,$)).getPrompt(J,G??{});return m0(K)}catch(z){let K=z instanceof Error?z.message:String(z);return a(`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=E0(X,J,Y);if(!G)return a("Session not found");let H=G.bufferManager.getAndClearNotifications();if(H.length===0)return l0("No notifications");let B=H.map((z)=>({server:z.server,method:z.method,timestamp:z.timestamp.toISOString(),params:z.params}));return m0(B)}),Q.registerTool("get_logs",{description:"Get and clear buffered log messages from backend servers for this session",inputSchema:{}},($,J)=>{let G=E0(X,J,Y);if(!G)return a("Session not found");let H=G.bufferManager.getAndClearLogs();if(H.length===0)return l0("No log messages");let B=H.map((z)=>({server:z.server,level:z.level,logger:z.logger,timestamp:z.timestamp.toISOString(),data:z.data}));return m0(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.",inputSchema:{}},($,J)=>{let G=E0(X,J,Y);if(!G)return a("Session not found");let H=G.pendingRequests.getPendingSamplingRequests();if(H.length===0)return l0("No pending sampling requests");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 m0(B)}),Q.registerTool("respond_to_sampling",{description:"Respond to a pending sampling request with an LLM result",inputSchema:{request_id:c.string().describe("The ID of the sampling request to respond to"),role:c.enum(["user","assistant"]).describe("The role of the message"),content:c.string().describe("The text content of the response"),model:c.string().describe("The model that generated the response"),stop_reason:c.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=E0(X,z,Y);if(!K)return a("Session not found");try{return K.pendingRequests.respondToSampling($,{role:J,content:{type:"text",text:G},model:H,stopReason:B}),l0(`Responded to sampling request '${$}'`)}catch(V){let F=V instanceof Error?V.message:String(V);return a(`Failed to respond: ${F}`)}}),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.",inputSchema:{}},($,J)=>{let G=E0(X,J,Y);if(!G)return a("Session not found");let H=G.pendingRequests.getPendingElicitationRequests();if(H.length===0)return l0("No pending elicitation requests");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 m0(B)}),Q.registerTool("respond_to_elicitation",{description:"Respond to a pending elicitation request with user input",inputSchema:{request_id:c.string().describe("The ID of the elicitation request to respond to"),action:c.enum(["accept","decline","cancel"]).describe("The user's action: accept (with content), decline, or cancel"),content:c.record(c.union([c.string(),c.number(),c.boolean(),c.array(c.string())])).optional().describe("The form field values (required if action is 'accept' for form mode)")}},({request_id:$,action:J,content:G},H)=>{let B=E0(X,H,Y);if(!B)return a("Session not found");try{return B.pendingRequests.respondToElicitation($,{action:J,content:G}),l0(`Responded to elicitation request '${$}' with action '${J}'`)}catch(z){let K=z instanceof Error?z.message:String(z);return a(`Failed to respond: ${K}`)}}),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.",inputSchema:{timeout_ms:c.number().min(100).max(60000).default(30000).describe("Maximum time to wait in milliseconds (100-60000, default: 30000)"),last_event_id:c.string().optional().describe("Only return events after this ID (for pagination/continuation)")}},async({timeout_ms:$,last_event_id:J},G)=>{let H=E0(X,G,Y);if(!H)return a("Session not found");let B=J?H.eventSystem.getEventsAfter(J):H.eventSystem.getNewEvents();if(B.length>0)return m0({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}});let z=await H.eventSystem.waitForActivity($);if(z){let K=H.eventSystem.getNewEvents();return m0({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}})}return m0({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}})}),Q.registerTool("list_tasks",{description:"List proxy tasks (background tool executions that exceeded timeout)",inputSchema:{include_completed:c.boolean().default(!1).describe("Include completed/failed/cancelled tasks (default: false, only working tasks)"),server:c.string().optional().describe("Filter by server name")}},({include_completed:$,server:J},G)=>{let H=E0(X,G,Y);if(!H)return a("Session not found");let B=H.taskManager.getAllTasks($);if(J)B=B.filter((K)=>K.server===J);if(B.length===0)return l0("No tasks");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 m0(z)}),Q.registerTool("get_task",{description:"Get details of a specific task including its result if completed",inputSchema:{task_id:c.string().describe("The task ID to retrieve")}},({task_id:$},J)=>{let G=E0(X,J,Y);if(!G)return a("Session not found");let H=G.taskManager.getTask($);if(!H)return a(`Task '${$}' not found`);return m0({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})}),Q.registerTool("cancel_task",{description:"Cancel a working task",inputSchema:{task_id:c.string().describe("The task ID to cancel")}},({task_id:$},J)=>{let G=E0(X,J,Y);if(!G)return a("Session not found");if(G.taskManager.cancelTask($))return l0(`Task '${$}' cancelled`);else return a(`Task '${$}' not found or not in working state`)})}function Ag(){let{configPath:Q,port:X,logLevel:Y}=Kg(),W=Rj(Y);W.info("Starting MCP Proxy Server",{port:X,configPath:Q});let $=new WG({logger:W,sessionTimeoutMs:1800000,cleanupIntervalMs:300000});if(Q)try{let V=Vg(Q);W.info("Loading servers from config",{count:V.servers.length,path:Q});for(let F of V.servers)W.info("Adding server config",{name:F.name,url:F.url}),$.getServerConfigs().addConfig(F.name,F.url)}catch(V){W.error("Failed to load config",{error:V instanceof Error?V.message:String(V)}),process.exit(1)}let J=new JG({logger:W}),G=new IJ({name:"emceepee",version:"0.2.0"}),H=new Map,B=new Map;Fg(G,$,H,J);let z=Bg((V,F)=>{let A=V.headers.host??"localhost",L=new URL(V.url??"/",`http://${A}`);if(L.pathname==="/waterfall"||L.pathname==="/waterfall/"){F.writeHead(200,{"Content-Type":"text/html"}),F.end(Ij(J));return}if(L.pathname==="/waterfall/json"){F.writeHead(200,{"Content-Type":"application/json"}),F.end(JSON.stringify(Cj(J),null,2));return}if(L.pathname!=="/mcp"){F.writeHead(404,{"Content-Type":"application/json"}),F.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 j=new $G({logger:W}),q=new yJ({sessionIdGenerator:()=>crypto.randomUUID(),eventStore:j,onsessioninitialized:(M)=>{B.set(M,q),$.createSession().then((S)=>{H.set(M,S.sessionId),W.info("Session created",{transportSessionId:M,sessionId:S.sessionId})})}});O=q,G.connect(q)}else{W.debug("using_existing_transport",{transportSessionId:D});let j=H.get(D??"");if(j)$.touchSession(j)}O.handleRequest(V,F)}else if(V.method==="GET"){if(!D){F.writeHead(400,{"Content-Type":"application/json"}),F.end(JSON.stringify({error:"Missing mcp-session-id header"}));return}let O=B.get(D);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:D});let q=B.get(D);if(q){q.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 j=V.headers["last-event-id"]!==void 0;if(O.handleRequest(V,F),!j)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 j=H.get(D);if(j)$.destroySession(j),H.delete(D);W.info("Session closed",{transportSessionId:D})}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(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(`
|
|
285
|
+
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, read_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")})}Ag();
|