emceepee 0.2.1 → 0.2.3
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 +157 -76
- package/dist/emceepee-http.js +285 -0
- package/dist/emceepee.js +31 -260
- package/package.json +9 -9
- package/dist/emceepee-stdio.js +0 -56
package/dist/emceepee.js
CHANGED
|
@@ -1,285 +1,56 @@
|
|
|
1
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
|
|
2
|
+
import{createRequire as zO}from"node:module";var JO=Object.create;var{getPrototypeOf:GO,defineProperty:TY,getOwnPropertyNames:HO}=Object;var BO=Object.prototype.hasOwnProperty;var F4=(Q,X,Y)=>{Y=Q!=null?JO(GO(Q)):{};let W=X||!Q||!Q.__esModule?TY(Y,"default",{value:Q,enumerable:!0}):Y;for(let $ of HO(Q))if(!BO.call(W,$))TY(W,$,{get:()=>Q[$],enumerable:!0});return W};var w=(Q,X)=>()=>(X||Q((X={exports:{}}).exports,X),X.exports);var c8=(Q,X)=>{for(var Y in X)TY(Q,Y,{get:X[Y],enumerable:!0,configurable:!0,set:(W)=>X[Y]=()=>W})};var p8=zO(import.meta.url);var t4=w((s3)=>{Object.defineProperty(s3,"__esModule",{value:!0});s3.regexpCode=s3.getEsmExportName=s3.getProperty=s3.safeStringify=s3.stringify=s3.strConcat=s3.addCodeArg=s3.str=s3._=s3.nil=s3._Code=s3.Name=s3.IDENTIFIER=s3._CodeOrName=void 0;class iQ{}s3._CodeOrName=iQ;s3.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class g9 extends iQ{constructor(Q){super();if(!s3.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}}}s3.Name=g9;class Z1 extends iQ{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 g9)X[Y.str]=(X[Y.str]||0)+1;return X},{})}}s3._Code=Z1;s3.nil=new Z1("");function t3(Q,...X){let Y=[Q[0]],W=0;while(W<X.length)P5(Y,X[W]),Y.push(Q[++W]);return new Z1(Y)}s3._=t3;var b5=new Z1("+");function a3(Q,...X){let Y=[r4(Q[0])],W=0;while(W<X.length)Y.push(b5),P5(Y,X[W]),Y.push(b5,r4(Q[++W]));return iM(Y),new Z1(Y)}s3.str=a3;function P5(Q,X){if(X instanceof Z1)Q.push(...X._items);else if(X instanceof g9)Q.push(X);else Q.push(rM(X))}s3.addCodeArg=P5;function iM(Q){let X=1;while(X<Q.length-1){if(Q[X]===b5){let Y=nM(Q[X-1],Q[X+1]);if(Y!==void 0){Q.splice(X-1,3,Y);continue}Q[X++]="+"}X++}}function nM(Q,X){if(X==='""')return Q;if(Q==='""')return X;if(typeof Q=="string"){if(X instanceof g9||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 g9))return`"${Q}${X.slice(1)}`;return}function oM(Q,X){return X.emptyStr()?Q:Q.emptyStr()?X:a3`${Q}${X}`}s3.strConcat=oM;function rM(Q){return typeof Q=="number"||typeof Q=="boolean"||Q===null?Q:r4(Array.isArray(Q)?Q.join(","):Q)}function tM(Q){return new Z1(r4(Q))}s3.stringify=tM;function r4(Q){return JSON.stringify(Q).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}s3.safeStringify=r4;function aM(Q){return typeof Q=="string"&&s3.IDENTIFIER.test(Q)?new Z1(`.${Q}`):t3`[${Q}]`}s3.getProperty=aM;function sM(Q){if(typeof Q=="string"&&s3.IDENTIFIER.test(Q))return new Z1(`${Q}`);throw Error(`CodeGen: invalid export name: ${Q}, use explicit $id name mapping`)}s3.getEsmExportName=sM;function eM(Q){return new Z1(Q.toString())}s3.regexpCode=eM});var S5=w((YB)=>{Object.defineProperty(YB,"__esModule",{value:!0});YB.ValueScope=YB.ValueScopeName=YB.Scope=YB.varKinds=YB.UsedValueState=void 0;var Q1=t4();class QB extends Error{constructor(Q){super(`CodeGen: "code" for ${Q} not defined`);this.value=Q.value}}var oQ;(function(Q){Q[Q.Started=0]="Started",Q[Q.Completed=1]="Completed"})(oQ||(YB.UsedValueState=oQ={}));YB.varKinds={const:new Q1.Name("const"),let:new Q1.Name("let"),var:new Q1.Name("var")};class R5{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}}}YB.Scope=R5;class E5 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}]`}}YB.ValueScopeName=E5;var VN=Q1._`\n`;class XB extends R5{constructor(Q){super(Q);this._values={},this._scope=Q.scope,this.opts={...Q,_n:Q.lines?VN:Q1.nil}}get(){return this._scope}name(Q){return new E5(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,oQ.Started);let z=X(B);if(z){let K=this.opts.es5?YB.varKinds.var:YB.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 QB(B);H.set(B,oQ.Completed)})}return $}}YB.ValueScope=XB});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 s=t4(),R1=S5(),M6=t4();Object.defineProperty(X1,"_",{enumerable:!0,get:function(){return M6._}});Object.defineProperty(X1,"str",{enumerable:!0,get:function(){return M6.str}});Object.defineProperty(X1,"strConcat",{enumerable:!0,get:function(){return M6.strConcat}});Object.defineProperty(X1,"nil",{enumerable:!0,get:function(){return M6.nil}});Object.defineProperty(X1,"getProperty",{enumerable:!0,get:function(){return M6.getProperty}});Object.defineProperty(X1,"stringify",{enumerable:!0,get:function(){return M6.stringify}});Object.defineProperty(X1,"regexpCode",{enumerable:!0,get:function(){return M6.regexpCode}});Object.defineProperty(X1,"Name",{enumerable:!0,get:function(){return M6.Name}});var QX=S5();Object.defineProperty(X1,"Scope",{enumerable:!0,get:function(){return QX.Scope}});Object.defineProperty(X1,"ValueScope",{enumerable:!0,get:function(){return QX.ValueScope}});Object.defineProperty(X1,"ValueScopeName",{enumerable:!0,get:function(){return QX.ValueScopeName}});Object.defineProperty(X1,"varKinds",{enumerable:!0,get:function(){return QX.varKinds}});X1.operators={GT:new s._Code(">"),GTE:new s._Code(">="),LT:new s._Code("<"),LTE:new s._Code("<="),EQ:new s._Code("==="),NEQ:new s._Code("!=="),NOT:new s._Code("!"),OR:new s._Code("||"),AND:new s._Code("&&"),ADD:new s._Code("+")};class N6{optimizeNodes(){return this}optimizeNames(Q,X){return this}}class $B extends N6{constructor(Q,X,Y){super();this.varKind=Q,this.name=X,this.rhs=Y}render({es5:Q,_n:X}){let Y=Q?R1.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=h9(this.rhs,Q,X);return this}get names(){return this.rhs instanceof s._CodeOrName?this.rhs.names:{}}}class C5 extends N6{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 s.Name&&!Q[this.lhs.str]&&!this.sideEffects)return;return this.rhs=h9(this.rhs,Q,X),this}get names(){let Q=this.lhs instanceof s.Name?{}:{...this.lhs.names};return eQ(Q,this.rhs)}}class JB extends C5{constructor(Q,X,Y,W){super(Q,Y,W);this.op=X}render({_n:Q}){return`${this.lhs} ${this.op}= ${this.rhs};`+Q}}class GB extends N6{constructor(Q){super();this.label=Q,this.names={}}render({_n:Q}){return`${this.label}:`+Q}}class HB extends N6{constructor(Q){super();this.label=Q,this.names={}}render({_n:Q}){return`break${this.label?` ${this.label}`:""};`+Q}}class BB extends N6{constructor(Q){super();this.error=Q}render({_n:Q}){return`throw ${this.error};`+Q}get names(){return this.error.names}}class zB extends N6{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=h9(this.code,Q,X),this}get names(){return this.code instanceof s._CodeOrName?this.code.names:{}}}class XX extends N6{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;LN(Q,$.names),Y.splice(W,1)}return Y.length>0?this:void 0}get names(){return this.nodes.reduce((Q,X)=>a6(Q,X.names),{})}}class b6 extends XX{render(Q){return"{"+Q._n+super.render(Q)+"}"+Q._n}}class KB extends XX{}class a4 extends b6{}a4.kind="else";class e1 extends b6{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 a4(Y):Y}if(X){if(Q===!1)return X instanceof e1?X:X.nodes;if(this.nodes.length)return this;return new e1(DB(Q),X instanceof e1?[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=h9(this.condition,Q,X),this}get names(){let Q=super.names;if(eQ(Q,this.condition),this.else)a6(Q,this.else.names);return Q}}e1.kind="if";class f9 extends b6{}f9.kind="for";class FB extends f9{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=h9(this.iteration,Q,X),this}get names(){return a6(super.names,this.iteration.names)}}class VB extends f9{constructor(Q,X,Y,W){super();this.varKind=Q,this.name=X,this.from=Y,this.to=W}render(Q){let X=Q.es5?R1.varKinds.var:this.varKind,{name:Y,from:W,to:$}=this;return`for(${X} ${Y}=${W}; ${Y}<${$}; ${Y}++)`+super.render(Q)}get names(){let Q=eQ(super.names,this.from);return eQ(Q,this.to)}}class I5 extends f9{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=h9(this.iterable,Q,X),this}get names(){return a6(super.names,this.iterable.names)}}class rQ extends b6{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)}}rQ.kind="func";class tQ extends XX{render(Q){return"return "+super.render(Q)}}tQ.kind="return";class qB extends b6{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)a6(Q,this.catch.names);if(this.finally)a6(Q,this.finally.names);return Q}}class aQ extends b6{constructor(Q){super();this.error=Q}render(Q){return`catch(${this.error})`+super.render(Q)}}aQ.kind="catch";class sQ extends b6{render(Q){return"finally"+super.render(Q)}}sQ.kind="finally";class AB{constructor(Q,X={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...X,_n:X.lines?`
|
|
3
|
+
`:""},this._extScope=Q,this._scope=new R1.Scope({parent:Q}),this._nodes=[new KB]}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 $B(Q,$,Y)),$}const(Q,X,Y){return this._def(R1.varKinds.const,Q,X,Y)}let(Q,X,Y){return this._def(R1.varKinds.let,Q,X,Y)}var(Q,X,Y){return this._def(R1.varKinds.var,Q,X,Y)}assign(Q,X,Y){return this._leafNode(new C5(Q,X,Y))}add(Q,X){return this._leafNode(new JB(Q,X1.operators.ADD,X))}code(Q){if(typeof Q=="function")Q();else if(Q!==s.nil)this._leafNode(new zB(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,s.addCodeArg)(X,W)}return X.push("}"),new s._Code(X)}if(Q,X,Y){if(this._blockNode(new e1(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 e1(Q))}else(){return this._elseNode(new a4)}endIf(){return this._endBlockNode(e1,a4)}_for(Q,X){if(this._blockNode(Q),X)this.code(X).endFor();return this}for(Q,X){return this._for(new FB(Q),X)}forRange(Q,X,Y,W,$=this.opts.es5?R1.varKinds.var:R1.varKinds.let){let J=this._scope.toName(Q);return this._for(new VB($,J,X,Y),()=>W(J))}forOf(Q,X,Y,W=R1.varKinds.const){let $=this._scope.toName(Q);if(this.opts.es5){let J=X instanceof s.Name?X:this.var("_arr",X);return this.forRange("_i",0,s._`${J}.length`,(G)=>{this.var($,s._`${J}[${G}]`),Y($)})}return this._for(new I5("of",W,$,X),()=>Y($))}forIn(Q,X,Y,W=this.opts.es5?R1.varKinds.var:R1.varKinds.const){if(this.opts.ownProperties)return this.forOf(Q,s._`Object.keys(${X})`,Y);let $=this._scope.toName(Q);return this._for(new I5("in",W,$,X),()=>Y($))}endFor(){return this._endBlockNode(f9)}label(Q){return this._leafNode(new GB(Q))}break(Q){return this._leafNode(new HB(Q))}return(Q){let X=new tQ;if(this._blockNode(X),this.code(Q),X.nodes.length!==1)throw Error('CodeGen: "return" should have one node');return this._endBlockNode(tQ)}try(Q,X,Y){if(!X&&!Y)throw Error('CodeGen: "try" without "catch" and "finally"');let W=new qB;if(this._blockNode(W),this.code(Q),X){let $=this.name("e");this._currNode=W.catch=new aQ($),X($)}if(Y)this._currNode=W.finally=new sQ,this.code(Y);return this._endBlockNode(aQ,sQ)}throw(Q){return this._leafNode(new BB(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=s.nil,Y,W){if(this._blockNode(new rQ(Q,X,Y)),W)this.code(W).endFunc();return this}endFunc(){return this._endBlockNode(rQ)}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 e1))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=AB;function a6(Q,X){for(let Y in X)Q[Y]=(Q[Y]||0)+(X[Y]||0);return Q}function eQ(Q,X){return X instanceof s._CodeOrName?a6(Q,X.names):Q}function h9(Q,X,Y){if(Q instanceof s.Name)return W(Q);if(!$(Q))return Q;return new s._Code(Q._items.reduce((J,G)=>{if(G instanceof s.Name)G=W(G);if(G instanceof s._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 s._Code&&J._items.some((G)=>G instanceof s.Name&&X[G.str]===1&&Y[G.str]!==void 0)}}function LN(Q,X){for(let Y in X)Q[Y]=(Q[Y]||0)-(X[Y]||0)}function DB(Q){return typeof Q=="boolean"||typeof Q=="number"||Q===null?!Q:s._`!${T5(Q)}`}X1.not=DB;var ON=LB(X1.operators.AND);function UN(...Q){return Q.reduce(ON)}X1.and=UN;var jN=LB(X1.operators.OR);function wN(...Q){return Q.reduce(jN)}X1.or=wN;function LB(Q){return(X,Y)=>X===s.nil?Y:Y===s.nil?X:s._`${T5(X)} ${Q} ${T5(Y)}`}function T5(Q){return Q instanceof s.Name?Q:s._`(${Q})`}});var Y0=w((ZB)=>{Object.defineProperty(ZB,"__esModule",{value:!0});ZB.checkStrictMode=ZB.getErrorPath=ZB.Type=ZB.useFunc=ZB.setEvaluated=ZB.evaluatedPropsToName=ZB.mergeEvaluated=ZB.eachItem=ZB.unescapeJsonPointer=ZB.escapeJsonPointer=ZB.escapeFragment=ZB.unescapeFragment=ZB.schemaRefOrVal=ZB.schemaHasRulesButRef=ZB.schemaHasRules=ZB.checkUnknownRules=ZB.alwaysValidSchema=ZB.toHash=void 0;var B0=o(),PN=t4();function ZN(Q){let X={};for(let Y of Q)X[Y]=!0;return X}ZB.toHash=ZN;function RN(Q,X){if(typeof X=="boolean")return X;if(Object.keys(X).length===0)return!0;return wB(Q,X),!MB(X,Q.self.RULES.all)}ZB.alwaysValidSchema=RN;function wB(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])PB(Q,`unknown keyword: "${J}"`)}ZB.checkUnknownRules=wB;function MB(Q,X){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(X[Y])return!0;return!1}ZB.schemaHasRules=MB;function EN(Q,X){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(Y!=="$ref"&&X.all[Y])return!0;return!1}ZB.schemaHasRulesButRef=EN;function SN({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)}`}ZB.schemaRefOrVal=SN;function IN(Q){return NB(decodeURIComponent(Q))}ZB.unescapeFragment=IN;function TN(Q){return encodeURIComponent(v5(Q))}ZB.escapeFragment=TN;function v5(Q){if(typeof Q=="number")return`${Q}`;return Q.replace(/~/g,"~0").replace(/\//g,"~1")}ZB.escapeJsonPointer=v5;function NB(Q){return Q.replace(/~1/g,"/").replace(/~0/g,"~")}ZB.unescapeJsonPointer=NB;function CN(Q,X){if(Array.isArray(Q))for(let Y of Q)X(Y);else X(Q)}ZB.eachItem=CN;function UB({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}}ZB.mergeEvaluated={props:UB({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} || {}`),_5(Q,Y,X)}),mergeValues:(Q,X)=>Q===!0?!0:{...Q,...X},resultToName:bB}),items:UB({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 bB(Q,X){if(X===!0)return Q.var("props",!0);let Y=Q.var("props",B0._`{}`);if(X!==void 0)_5(Q,Y,X);return Y}ZB.evaluatedPropsToName=bB;function _5(Q,X,Y){Object.keys(Y).forEach((W)=>Q.assign(B0._`${X}${(0,B0.getProperty)(W)}`,!0))}ZB.setEvaluated=_5;var jB={};function kN(Q,X){return Q.scopeValue("func",{ref:X,code:jB[X.code]||(jB[X.code]=new PN._Code(X.code))})}ZB.useFunc=kN;var k5;(function(Q){Q[Q.Num=0]="Num",Q[Q.Str=1]="Str"})(k5||(ZB.Type=k5={}));function vN(Q,X,Y){if(Q instanceof B0.Name){let W=X===k5.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():"/"+v5(Q)}ZB.getErrorPath=vN;function PB(Q,X,Y=Q.opts.strictSchema){if(!Y)return;if(X=`strict mode: ${X}`,Y===!0)throw Error(X);Q.self.logger.warn(X)}ZB.checkStrictMode=PB});var Q6=w((EB)=>{Object.defineProperty(EB,"__esModule",{value:!0});var h0=o(),aN={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")};EB.default=aN});var s4=w((CB)=>{Object.defineProperty(CB,"__esModule",{value:!0});CB.extendErrors=CB.resetErrorsCount=CB.reportExtraError=CB.reportError=CB.keyword$DataError=CB.keywordError=void 0;var Q0=o(),WX=Y0(),p0=Q6();CB.keywordError={message:({keyword:Q})=>Q0.str`must pass "${Q}" keyword validation`};CB.keyword$DataError={message:({keyword:Q,schemaType:X})=>X?Q0.str`"${Q}" keyword must be ${X} ($data)`:Q0.str`"${Q}" keyword is invalid ($data)`};function eN(Q,X=CB.keywordError,Y,W){let{it:$}=Q,{gen:J,compositeRule:G,allErrors:H}=$,B=TB(Q,X,Y);if(W!==null&&W!==void 0?W:G||H)SB(J,B);else IB($,Q0._`[${B}]`)}CB.reportError=eN;function Qb(Q,X=CB.keywordError,Y){let{it:W}=Q,{gen:$,compositeRule:J,allErrors:G}=W,H=TB(Q,X,Y);if(SB($,H),!(J||G))IB(W,p0.default.vErrors)}CB.reportExtraError=Qb;function Xb(Q,X){Q.assign(p0.default.errors,X),Q.if(Q0._`${p0.default.vErrors} !== null`,()=>Q.if(X,()=>Q.assign(Q0._`${p0.default.vErrors}.length`,X),()=>Q.assign(p0.default.vErrors,null)))}CB.resetErrorsCount=Xb;function Yb({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",$,p0.default.errors,(H)=>{if(Q.const(G,Q0._`${p0.default.vErrors}[${H}]`),Q.if(Q0._`${G}.instancePath === undefined`,()=>Q.assign(Q0._`${G}.instancePath`,(0,Q0.strConcat)(p0.default.instancePath,J.errorPath))),Q.assign(Q0._`${G}.schemaPath`,Q0.str`${J.errSchemaPath}/${X}`),J.opts.verbose)Q.assign(Q0._`${G}.schema`,Y),Q.assign(Q0._`${G}.data`,W)})}CB.extendErrors=Yb;function SB(Q,X){let Y=Q.const("err",X);Q.if(Q0._`${p0.default.vErrors} === null`,()=>Q.assign(p0.default.vErrors,Q0._`[${Y}]`),Q0._`${p0.default.vErrors}.push(${Y})`),Q.code(Q0._`${p0.default.errors}++`)}function IB(Q,X){let{gen:Y,validateName:W,schemaEnv:$}=Q;if($.$async)Y.throw(Q0._`new ${Q.ValidationError}(${X})`);else Y.assign(Q0._`${W}.errors`,X),Y.return(!1)}var s6={keyword:new Q0.Name("keyword"),schemaPath:new Q0.Name("schemaPath"),params:new Q0.Name("params"),propertyName:new Q0.Name("propertyName"),message:new Q0.Name("message"),schema:new Q0.Name("schema"),parentSchema:new Q0.Name("parentSchema")};function TB(Q,X,Y){let{createErrors:W}=Q.it;if(W===!1)return Q0._`{}`;return Wb(Q,X,Y)}function Wb(Q,X,Y={}){let{gen:W,it:$}=Q,J=[$b($,Y),Jb(Q,Y)];return Gb(Q,X,J),W.object(...J)}function $b({errorPath:Q},{instancePath:X}){let Y=X?Q0.str`${Q}${(0,WX.getErrorPath)(X,WX.Type.Str)}`:Q;return[p0.default.instancePath,(0,Q0.strConcat)(p0.default.instancePath,Y)]}function Jb({keyword:Q,it:{errSchemaPath:X}},{schemaPath:Y,parentSchema:W}){let $=W?X:Q0.str`${X}/${Q}`;if(Y)$=Q0.str`${$}${(0,WX.getErrorPath)(Y,WX.Type.Str)}`;return[s6.schemaPath,$]}function Gb(Q,{params:X,message:Y},W){let{keyword:$,data:J,schemaValue:G,it:H}=Q,{opts:B,propertyName:z,topSchemaRef:K,schemaPath:F}=H;if(W.push([s6.keyword,$],[s6.params,typeof X=="function"?X(Q):X||Q0._`{}`]),B.messages)W.push([s6.message,typeof Y=="function"?Y(Q):Y]);if(B.verbose)W.push([s6.schema,G],[s6.parentSchema,Q0._`${K}${F}`],[p0.default.data,J]);if(z)W.push([s6.propertyName,z])}});var yB=w((_B)=>{Object.defineProperty(_B,"__esModule",{value:!0});_B.boolOrEmptySchema=_B.topBoolOrEmptySchema=void 0;var Fb=s4(),Vb=o(),qb=Q6(),Ab={message:"boolean schema is false"};function Db(Q){let{gen:X,schema:Y,validateName:W}=Q;if(Y===!1)vB(Q,!1);else if(typeof Y=="object"&&Y.$async===!0)X.return(qb.default.data);else X.assign(Vb._`${W}.errors`,null),X.return(!0)}_B.topBoolOrEmptySchema=Db;function Lb(Q,X){let{gen:Y,schema:W}=Q;if(W===!1)Y.var(X,!1),vB(Q);else Y.var(X,!0)}_B.boolOrEmptySchema=Lb;function vB(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,Fb.reportError)($,Ab,void 0,X)}});var y5=w((gB)=>{Object.defineProperty(gB,"__esModule",{value:!0});gB.getRules=gB.isJSONType=void 0;var Ub=["string","number","integer","boolean","null","object","array"],jb=new Set(Ub);function wb(Q){return typeof Q=="string"&&jb.has(Q)}gB.isJSONType=wb;function Mb(){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:{}}}gB.getRules=Mb});var g5=w((lB)=>{Object.defineProperty(lB,"__esModule",{value:!0});lB.shouldUseRule=lB.shouldUseGroup=lB.schemaHasRulesForType=void 0;function bb({schema:Q,self:X},Y){let W=X.RULES.types[Y];return W&&W!==!0&&hB(Q,W)}lB.schemaHasRulesForType=bb;function hB(Q,X){return X.rules.some((Y)=>uB(Q,Y))}lB.shouldUseGroup=hB;function uB(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))}lB.shouldUseRule=uB});var e4=w((iB)=>{Object.defineProperty(iB,"__esModule",{value:!0});iB.reportTypeError=iB.checkDataTypes=iB.checkDataType=iB.coerceAndCheckDataType=iB.getJSONTypes=iB.getSchemaTypes=iB.DataType=void 0;var Rb=y5(),Eb=g5(),Sb=s4(),p=o(),cB=Y0(),u9;(function(Q){Q[Q.Correct=0]="Correct",Q[Q.Wrong=1]="Wrong"})(u9||(iB.DataType=u9={}));function Ib(Q){let X=pB(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}iB.getSchemaTypes=Ib;function pB(Q){let X=Array.isArray(Q)?Q:Q?[Q]:[];if(X.every(Rb.isJSONType))return X;throw Error("type must be JSONType or JSONType[]: "+X.join(","))}iB.getJSONTypes=pB;function Tb(Q,X){let{gen:Y,data:W,opts:$}=Q,J=Cb(X,$.coerceTypes),G=X.length>0&&!(J.length===0&&X.length===1&&(0,Eb.schemaHasRulesForType)(Q,X[0]));if(G){let H=h5(X,W,$.strictNumbers,u9.Wrong);Y.if(H,()=>{if(J.length)kb(Q,X,J);else u5(Q)})}return G}iB.coerceAndCheckDataType=Tb;var dB=new Set(["string","number","integer","boolean","null"]);function Cb(Q,X){return X?Q.filter((Y)=>dB.has(Y)||X==="array"&&Y==="array"):[]}function kb(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(h5(X,$,J.strictNumbers),()=>W.assign(H,$)));W.if(p._`${H} !== undefined`);for(let z of Y)if(dB.has(z)||z==="array"&&J.coerceTypes==="array")B(z);W.else(),u5(Q),W.endIf(),W.if(p._`${H} !== undefined`,()=>{W.assign($,H),vb(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
4
|
|| (${G} == "string" && ${$} && ${$} == +${$})`).assign(H,p._`+${$}`);return;case"integer":W.elseIf(p._`${G} === "boolean" || ${$} === null
|
|
5
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},
|
|
6
|
+
|| ${G} === "boolean" || ${$} === null`).assign(H,p._`[${$}]`)}}}function vb({gen:Q,parentData:X,parentDataProperty:Y},W){Q.if(p._`${X} !== undefined`,()=>Q.assign(p._`${X}[${Y}]`,W))}function f5(Q,X,Y,W=u9.Correct){let $=W===u9.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===u9.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)}}iB.checkDataType=f5;function h5(Q,X,Y,W){if(Q.length===1)return f5(Q[0],X,Y,W);let $,J=(0,cB.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)($,f5(G,X,Y,W));return $}iB.checkDataTypes=h5;var _b={message:({schema:Q})=>`must be ${Q}`,params:({schema:Q,schemaValue:X})=>typeof Q=="string"?p._`{type: ${Q}}`:p._`{type: ${X}}`};function u5(Q){let X=xb(Q);(0,Sb.reportError)(X,_b)}iB.reportTypeError=u5;function xb(Q){let{gen:X,data:Y,schema:W}=Q,$=(0,cB.schemaRefOrVal)(Q,W,"type");return{gen:X,keyword:"type",data:Y,schema:W.type,schemaCode:$,schemaValue:$,parentSchema:W,params:{},it:Q}}});var aB=w((rB)=>{Object.defineProperty(rB,"__esModule",{value:!0});rB.assignDefaults=void 0;var l9=o(),mb=Y0();function cb(Q,X){let{properties:Y,items:W}=Q.schema;if(X==="object"&&Y)for(let $ in Y)oB(Q,$,Y[$].default);else if(X==="array"&&Array.isArray(W))W.forEach(($,J)=>oB(Q,J,$.default))}rB.assignDefaults=cb;function oB(Q,X,Y){let{gen:W,compositeRule:$,data:J,opts:G}=Q;if(Y===void 0)return;let H=l9._`${J}${(0,l9.getProperty)(X)}`;if($){(0,mb.checkStrictMode)(Q,`default is ignored for: ${H}`);return}let B=l9._`${H} === undefined`;if(G.useDefaults==="empty")B=l9._`${B} || ${H} === null || ${H} === ""`;W.if(B,l9._`${H} = ${(0,l9.stringify)(Y)}`)}});var V1=w((Qz)=>{Object.defineProperty(Qz,"__esModule",{value:!0});Qz.validateUnion=Qz.validateArray=Qz.usePattern=Qz.callValidateCode=Qz.schemaProperties=Qz.allSchemaProperties=Qz.noPropertyInData=Qz.propertyInData=Qz.isOwnProperty=Qz.hasPropFunc=Qz.reportMissingProp=Qz.checkMissingProp=Qz.checkReportMissingProp=void 0;var D0=o(),l5=Y0(),P6=Q6(),pb=Y0();function db(Q,X){let{gen:Y,data:W,it:$}=Q;Y.if(c5(Y,W,X,$.opts.ownProperties),()=>{Q.setParams({missingProperty:D0._`${X}`},!0),Q.error()})}Qz.checkReportMissingProp=db;function ib({gen:Q,data:X,it:{opts:Y}},W,$){return(0,D0.or)(...W.map((J)=>(0,D0.and)(c5(Q,X,J,Y.ownProperties),D0._`${$} = ${J}`)))}Qz.checkMissingProp=ib;function nb(Q,X){Q.setParams({missingProperty:X},!0),Q.error()}Qz.reportMissingProp=nb;function sB(Q){return Q.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:D0._`Object.prototype.hasOwnProperty`})}Qz.hasPropFunc=sB;function m5(Q,X,Y){return D0._`${sB(Q)}.call(${X}, ${Y})`}Qz.isOwnProperty=m5;function ob(Q,X,Y,W){let $=D0._`${X}${(0,D0.getProperty)(Y)} !== undefined`;return W?D0._`${$} && ${m5(Q,X,Y)}`:$}Qz.propertyInData=ob;function c5(Q,X,Y,W){let $=D0._`${X}${(0,D0.getProperty)(Y)} === undefined`;return W?(0,D0.or)($,(0,D0.not)(m5(Q,X,Y))):$}Qz.noPropertyInData=c5;function eB(Q){return Q?Object.keys(Q).filter((X)=>X!=="__proto__"):[]}Qz.allSchemaProperties=eB;function rb(Q,X){return eB(X).filter((Y)=>!(0,l5.alwaysValidSchema)(Q,X[Y]))}Qz.schemaProperties=rb;function tb({schemaCode:Q,data:X,it:{gen:Y,topSchemaRef:W,schemaPath:$,errorPath:J},it:G},H,B,z){let K=z?D0._`${Q}, ${X}, ${W}${$}`:X,F=[[P6.default.instancePath,(0,D0.strConcat)(P6.default.instancePath,J)],[P6.default.parentData,G.parentData],[P6.default.parentDataProperty,G.parentDataProperty],[P6.default.rootData,P6.default.rootData]];if(G.opts.dynamicRef)F.push([P6.default.dynamicAnchors,P6.default.dynamicAnchors]);let q=D0._`${K}, ${Y.object(...F)}`;return B!==D0.nil?D0._`${H}.call(${B}, ${q})`:D0._`${H}(${q})`}Qz.callValidateCode=tb;var ab=D0._`new RegExp`;function sb({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:D0._`${$.code==="new RegExp"?ab:(0,pb.useFunc)(Q,$)}(${Y}, ${W})`})}Qz.usePattern=sb;function eb(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",D0._`${Y}.length`);X.forRange("i",0,B,(z)=>{Q.subschema({keyword:W,dataProp:z,dataPropType:l5.Type.Num},J),X.if((0,D0.not)(J),H)})}}Qz.validateArray=eb;function QP(Q){let{gen:X,schema:Y,keyword:W,it:$}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");if(Y.some((B)=>(0,l5.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,D0._`${G} || ${H}`),!Q.mergeValidEvaluated(K,H))X.if((0,D0.not)(G))})),Q.result(G,()=>Q.reset(),()=>Q.error(!0))}Qz.validateUnion=QP});var Gz=w(($z)=>{Object.defineProperty($z,"__esModule",{value:!0});$z.validateKeywordUsage=$z.validSchemaType=$z.funcKeywordCode=$z.macroKeywordCode=void 0;var d0=o(),e6=Q6(),qP=V1(),AP=s4();function DP(Q,X){let{gen:Y,keyword:W,schema:$,parentSchema:J,it:G}=Q,H=X.macro.call(G.self,$,J,G),B=Wz(Y,W,H);if(G.opts.validateSchema!==!1)G.self.validateSchema(H,!0);let z=Y.name("valid");Q.subschema({schema:H,schemaPath:d0.nil,errSchemaPath:`${G.errSchemaPath}/${W}`,topSchemaRef:B,compositeRule:!0},z),Q.pass(z,()=>Q.error(!0))}$z.macroKeywordCode=DP;function LP(Q,X){var Y;let{gen:W,keyword:$,schema:J,parentSchema:G,$data:H,it:B}=Q;UP(B,X);let z=!H&&X.compile?X.compile.call(B.self,J,G,B):X.validate,K=Wz(W,$,z),F=W.let("valid");Q.block$data(F,q),Q.ok((Y=X.valid)!==null&&Y!==void 0?Y:F);function q(){if(X.errors===!1){if(A(),X.modifying)Yz(Q);L(()=>Q.error())}else{let O=X.async?V():D();if(X.modifying)Yz(Q);L(()=>OP(Q,O))}}function V(){let O=W.let("ruleErrs",null);return W.try(()=>A(d0._`await `),(M)=>W.assign(F,!1).if(d0._`${M} instanceof ${B.ValidationError}`,()=>W.assign(O,d0._`${M}.errors`),()=>W.throw(M))),O}function D(){let O=d0._`${K}.errors`;return W.assign(O,null),A(d0.nil),O}function A(O=X.async?d0._`await `:d0.nil){let M=B.opts.passContext?e6.default.this:e6.default.self,N=!(("compile"in X)&&!H||X.schema===!1);W.assign(F,d0._`${O}${(0,qP.callValidateCode)(Q,K,M,N)}`,X.modifying)}function L(O){var M;W.if((0,d0.not)((M=X.valid)!==null&&M!==void 0?M:F),O)}}$z.funcKeywordCode=LP;function Yz(Q){let{gen:X,data:Y,it:W}=Q;X.if(W.parentData,()=>X.assign(Y,d0._`${W.parentData}[${W.parentDataProperty}]`))}function OP(Q,X){let{gen:Y}=Q;Y.if(d0._`Array.isArray(${X})`,()=>{Y.assign(e6.default.vErrors,d0._`${e6.default.vErrors} === null ? ${X} : ${e6.default.vErrors}.concat(${X})`).assign(e6.default.errors,d0._`${e6.default.vErrors}.length`),(0,AP.extendErrors)(Q)},()=>Q.error())}function UP({schemaEnv:Q},X){if(X.async&&!Q.$async)throw Error("async keyword in sync schema")}function Wz(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,d0.stringify)(Y)})}function jP(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")}$z.validSchemaType=jP;function wP({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)}}}$z.validateKeywordUsage=wP});var Kz=w((Bz)=>{Object.defineProperty(Bz,"__esModule",{value:!0});Bz.extendSubschemaMode=Bz.extendSubschemaData=Bz.getSubschema=void 0;var m1=o(),Hz=Y0();function PP(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:m1._`${Q.schemaPath}${(0,m1.getProperty)(X)}`,errSchemaPath:`${Q.errSchemaPath}/${X}`}:{schema:H[Y],schemaPath:m1._`${Q.schemaPath}${(0,m1.getProperty)(X)}${(0,m1.getProperty)(Y)}`,errSchemaPath:`${Q.errSchemaPath}/${X}/${(0,Hz.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')}Bz.getSubschema=PP;function ZP(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:F}=X,q=H.let("data",m1._`${X.data}${(0,m1.getProperty)(Y)}`,!0);B(q),Q.errorPath=m1.str`${z}${(0,Hz.getErrorPath)(Y,W,F.jsPropertySyntax)}`,Q.parentDataProperty=m1._`${Y}`,Q.dataPathArr=[...K,Q.parentDataProperty]}if($!==void 0){let z=$ instanceof m1.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]}}Bz.extendSubschemaData=ZP;function RP(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}Bz.extendSubschemaMode=RP});var Q8=w((mm,Fz)=>{Fz.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 qz=w((cm,Vz)=>{var Z6=Vz.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(){};$X(X,W,$,Q,"",Q)};Z6.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Z6.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Z6.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Z6.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 $X(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 F=W[K];if(Array.isArray(F)){if(K in Z6.arrayKeywords)for(var q=0;q<F.length;q++)$X(Q,X,Y,F[q],$+"/"+K+"/"+q,J,$,K,W,q)}else if(K in Z6.propsKeywords){if(F&&typeof F=="object")for(var V in F)$X(Q,X,Y,F[V],$+"/"+K+"/"+IP(V),J,$,K,W,V)}else if(K in Z6.keywords||Q.allKeys&&!(K in Z6.skipKeywords))$X(Q,X,Y,F,$+"/"+K,J,$,K,W)}Y(W,$,J,G,H,B,z)}}function IP(Q){return Q.replace(/~/g,"~0").replace(/\//g,"~1")}});var X8=w((Oz)=>{Object.defineProperty(Oz,"__esModule",{value:!0});Oz.getSchemaRefs=Oz.resolveUrl=Oz.normalizeId=Oz._getFullPath=Oz.getFullPath=Oz.inlineRef=void 0;var TP=Y0(),CP=Q8(),kP=qz(),vP=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function _P(Q,X=!0){if(typeof Q=="boolean")return!0;if(X===!0)return!p5(Q);if(!X)return!1;return Az(Q)<=X}Oz.inlineRef=_P;var xP=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function p5(Q){for(let X in Q){if(xP.has(X))return!0;let Y=Q[X];if(Array.isArray(Y)&&Y.some(p5))return!0;if(typeof Y=="object"&&p5(Y))return!0}return!1}function Az(Q){let X=0;for(let Y in Q){if(Y==="$ref")return 1/0;if(X++,vP.has(Y))continue;if(typeof Q[Y]=="object")(0,TP.eachItem)(Q[Y],(W)=>X+=Az(W));if(X===1/0)return 1/0}return X}function Dz(Q,X="",Y){if(Y!==!1)X=m9(X);let W=Q.parse(X);return Lz(Q,W)}Oz.getFullPath=Dz;function Lz(Q,X){return Q.serialize(X).split("#")[0]+"#"}Oz._getFullPath=Lz;var yP=/#\/?$/;function m9(Q){return Q?Q.replace(yP,""):""}Oz.normalizeId=m9;function gP(Q,X,Y){return Y=m9(Y),Q.resolve(X,Y)}Oz.resolveUrl=gP;var fP=/^[a-z_][-a-z0-9._]*$/i;function hP(Q,X){if(typeof Q=="boolean")return{};let{schemaId:Y,uriResolver:W}=this.opts,$=m9(Q[Y]||X),J={"":$},G=Dz(W,$,!1),H={},B=new Set;return kP(Q,{allKeys:!0},(F,q,V,D)=>{if(D===void 0)return;let A=G+q,L=J[D];if(typeof F[Y]=="string")L=O.call(this,F[Y]);M.call(this,F.$anchor),M.call(this,F.$dynamicAnchor),J[q]=L;function O(N){let C=this.opts.uriResolver.resolve;if(N=m9(L?C(L,N):N),B.has(N))throw K(N);B.add(N);let Z=this.refs[N];if(typeof Z=="string")Z=this.refs[Z];if(typeof Z=="object")z(F,Z.schema,N);else if(N!==m9(A))if(N[0]==="#")z(F,H[N],N),H[N]=F;else this.refs[N]=A;return N}function M(N){if(typeof N=="string"){if(!fP.test(N))throw Error(`invalid anchor "${N}"`);O.call(this,`#${N}`)}}}),H;function z(F,q,V){if(q!==void 0&&!CP(F,q))throw K(V)}function K(F){return Error(`reference "${F}" resolves to more than one schema`)}}Oz.getSchemaRefs=hP});var $8=w((vz)=>{Object.defineProperty(vz,"__esModule",{value:!0});vz.getData=vz.KeywordCxt=vz.validateFunctionCode=void 0;var bz=yB(),jz=e4(),i5=g5(),JX=e4(),dP=aB(),W8=Gz(),d5=Kz(),x=o(),u=Q6(),iP=X8(),X6=Y0(),Y8=s4();function nP(Q){if(Rz(Q)){if(Ez(Q),Zz(Q)){tP(Q);return}}Pz(Q,()=>(0,bz.topBoolOrEmptySchema)(Q))}vz.validateFunctionCode=nP;function Pz({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"; ${wz(Y,$)}`),rP(Q,$),Q.code(J)});else Q.func(X,x._`${u.default.data}, ${oP($)}`,W.$async,()=>Q.code(wz(Y,$)).code(J))}function oP(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 rP(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 tP(Q){let{schema:X,opts:Y,gen:W}=Q;Pz(Q,()=>{if(Y.$comment&&X.$comment)Iz(Q);if(XZ(Q),W.let(u.default.vErrors,null),W.let(u.default.errors,0),Y.unevaluated)aP(Q);Sz(Q),$Z(Q)});return}function aP(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 wz(Q,X){let Y=typeof Q=="object"&&Q[X.schemaId];return Y&&(X.code.source||X.code.process)?x._`/*# sourceURL=${Y} */`:x.nil}function sP(Q,X){if(Rz(Q)){if(Ez(Q),Zz(Q)){eP(Q,X);return}}(0,bz.boolOrEmptySchema)(Q,X)}function Zz({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 Rz(Q){return typeof Q.schema!="boolean"}function eP(Q,X){let{schema:Y,gen:W,opts:$}=Q;if($.$comment&&Y.$comment)Iz(Q);YZ(Q),WZ(Q);let J=W.const("_errs",u.default.errors);Sz(Q,J),W.var(X,x._`${J} === ${u.default.errors}`)}function Ez(Q){(0,X6.checkUnknownRules)(Q),QZ(Q)}function Sz(Q,X){if(Q.opts.jtd)return Mz(Q,[],!1,X);let Y=(0,jz.getSchemaTypes)(Q.schema),W=(0,jz.coerceAndCheckDataType)(Q,Y);Mz(Q,Y,!W,X)}function QZ(Q){let{schema:X,errSchemaPath:Y,opts:W,self:$}=Q;if(X.$ref&&W.ignoreKeywordsWithRef&&(0,X6.schemaHasRulesButRef)(X,$.RULES))$.logger.warn(`$ref: keywords ignored in schema at path "${Y}"`)}function XZ(Q){let{schema:X,opts:Y}=Q;if(X.default!==void 0&&Y.useDefaults&&Y.strictSchema)(0,X6.checkStrictMode)(Q,"default is ignored in the schema root")}function YZ(Q){let X=Q.schema[Q.opts.schemaId];if(X)Q.baseId=(0,iP.resolveUrl)(Q.opts.uriResolver,Q.baseId,X)}function WZ(Q){if(Q.schema.$async&&!Q.schemaEnv.$async)throw Error("async schema in sync schema")}function Iz({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 $Z(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)JZ(Q);X.return(x._`${u.default.errors} === 0`)}}function JZ({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 Mz(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,X6.schemaHasRulesButRef)(J,K))){$.block(()=>Cz(Q,"$ref",K.all.$ref.definition));return}if(!B.jtd)GZ(Q,X);$.block(()=>{for(let q of K.rules)F(q);F(K.post)});function F(q){if(!(0,i5.shouldUseGroup)(J,q))return;if(q.type){if($.if((0,JX.checkDataType)(q.type,G,B.strictNumbers)),Nz(Q,q),X.length===1&&X[0]===q.type&&Y)$.else(),(0,JX.reportTypeError)(Q);$.endIf()}else Nz(Q,q);if(!H)$.if(x._`${u.default.errors} === ${W||0}`)}}function Nz(Q,X){let{gen:Y,schema:W,opts:{useDefaults:$}}=Q;if($)(0,dP.assignDefaults)(Q,X.type);Y.block(()=>{for(let J of X.rules)if((0,i5.shouldUseRule)(W,J))Cz(Q,J.keyword,J.definition,X.type)})}function GZ(Q,X){if(Q.schemaEnv.meta||!Q.opts.strictTypes)return;if(HZ(Q,X),!Q.opts.allowUnionTypes)BZ(Q,X);zZ(Q,Q.dataTypes)}function HZ(Q,X){if(!X.length)return;if(!Q.dataTypes.length){Q.dataTypes=X;return}X.forEach((Y)=>{if(!Tz(Q.dataTypes,Y))n5(Q,`type "${Y}" not allowed by context "${Q.dataTypes.join(",")}"`)}),FZ(Q,X)}function BZ(Q,X){if(X.length>1&&!(X.length===2&&X.includes("null")))n5(Q,"use allowUnionTypes to allow union type keyword")}function zZ(Q,X){let Y=Q.self.RULES.all;for(let W in Y){let $=Y[W];if(typeof $=="object"&&(0,i5.shouldUseRule)(Q.schema,$)){let{type:J}=$.definition;if(J.length&&!J.some((G)=>KZ(X,G)))n5(Q,`missing type "${J.join(",")}" for keyword "${W}"`)}}}function KZ(Q,X){return Q.includes(X)||X==="number"&&Q.includes("integer")}function Tz(Q,X){return Q.includes(X)||X==="integer"&&Q.includes("number")}function FZ(Q,X){let Y=[];for(let W of Q.dataTypes)if(Tz(X,W))Y.push(W);else if(X.includes("integer")&&W==="number")Y.push("integer");Q.dataTypes=Y}function n5(Q,X){let Y=Q.schemaEnv.baseId+Q.errSchemaPath;X+=` at "${Y}" (strictTypes)`,(0,X6.checkStrictMode)(Q,X,Q.opts.strictTypes)}class o5{constructor(Q,X,Y){if((0,W8.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,X6.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",kz(this.$data,Q));else if(this.schemaCode=this.schemaValue,!(0,W8.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?Y8.reportExtraError:Y8.reportError)(this,this.def.error,X)}$dataError(){(0,Y8.reportError)(this,this.def.$dataError||Y8.keyword$DataError)}reset(){if(this.errsCount===void 0)throw Error('add "trackErrors" to keyword definition');(0,Y8.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,JX.checkDataTypes)(H,X,$.opts.strictNumbers,JX.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,d5.getSubschema)(this.it,Q);(0,d5.extendSubschemaData)(Y,this.it,Q),(0,d5.extendSubschemaMode)(Y,Q);let W={...this.it,...Y,items:void 0,props:void 0};return sP(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=X6.mergeEvaluated.props(W,Q.props,Y.props,X);if(Y.items!==!0&&Q.items!==void 0)Y.items=X6.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}}vz.KeywordCxt=o5;function Cz(Q,X,Y,W){let $=new o5(Q,Y,X);if("code"in Y)Y.code($,W);else if($.$data&&Y.validate)(0,W8.funcKeywordCode)($,Y);else if("macro"in Y)(0,W8.macroKeywordCode)($,Y);else if(Y.compile||Y.validate)(0,W8.funcKeywordCode)($,Y)}var VZ=/^\/(?:[^~]|~0|~1)*$/,qZ=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function kz(Q,{dataLevel:X,dataNames:Y,dataPathArr:W}){let $,J;if(Q==="")return u.default.rootData;if(Q[0]==="/"){if(!VZ.test(Q))throw Error(`Invalid JSON-pointer: ${Q}`);$=Q,J=u.default.rootData}else{let z=qZ.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,X6.unescapeJsonPointer)(z))}`,G=x._`${G} && ${J}`;return G;function B(z,K){return`Cannot access ${z} ${K} levels up, current level is ${X}`}}vz.getData=kz});var GX=w((yz)=>{Object.defineProperty(yz,"__esModule",{value:!0});class xz extends Error{constructor(Q){super("validation failed");this.errors=Q,this.ajv=this.validation=!0}}yz.default=xz});var J8=w((fz)=>{Object.defineProperty(fz,"__esModule",{value:!0});var r5=X8();class gz extends Error{constructor(Q,X,Y,W){super(W||`can't resolve reference ${Y} from id ${X}`);this.missingRef=(0,r5.resolveUrl)(Q,X,Y),this.missingSchema=(0,r5.normalizeId)((0,r5.getFullPath)(Q,this.missingRef))}}fz.default=gz});var BX=w((lz)=>{Object.defineProperty(lz,"__esModule",{value:!0});lz.resolveSchema=lz.getCompilingSchema=lz.resolveRef=lz.compileSchema=lz.SchemaEnv=void 0;var E1=o(),UZ=GX(),Q9=Q6(),S1=X8(),hz=Y0(),jZ=$8();class G8{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,S1.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={}}}lz.SchemaEnv=G8;function a5(Q){let X=uz.call(this,Q);if(X)return X;let Y=(0,S1.getFullPath)(this.opts.uriResolver,Q.root.baseId),{es5:W,lines:$}=this.opts.code,{ownProperties:J}=this.opts,G=new E1.CodeGen(this.scope,{es5:W,lines:$,ownProperties:J}),H;if(Q.$async)H=G.scopeValue("Error",{ref:UZ.default,code:E1._`require("ajv/dist/runtime/validation_error").default`});let B=G.scopeName("validate");Q.validateName=B;let z={gen:G,allErrors:this.opts.allErrors,data:Q9.default.data,parentData:Q9.default.parentData,parentDataProperty:Q9.default.parentDataProperty,dataNames:[Q9.default.data],dataPathArr:[E1.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:G.scopeValue("schema",this.opts.code.source===!0?{ref:Q.schema,code:(0,E1.stringify)(Q.schema)}:{ref:Q.schema}),validateName:B,ValidationError:H,schema:Q.schema,schemaEnv:Q,rootId:Y,baseId:Q.baseId||Y,schemaPath:E1.nil,errSchemaPath:Q.schemaPath||(this.opts.jtd?"":"#"),errorPath:E1._`""`,opts:this.opts,self:this},K;try{this._compilations.add(Q),(0,jZ.validateFunctionCode)(z),G.optimize(this.opts.code.optimize);let F=G.toString();if(K=`${G.scopeRefs(Q9.default.scope)}return ${F}`,this.opts.code.process)K=this.opts.code.process(K,Q);let V=Function(`${Q9.default.self}`,`${Q9.default.scope}`,K)(this,this.scope.get());if(this.scope.value(B,{ref:V}),V.errors=null,V.schema=Q.schema,V.schemaEnv=Q,Q.$async)V.$async=!0;if(this.opts.code.source===!0)V.source={validateName:B,validateCode:F,scopeValues:G._values};if(this.opts.unevaluated){let{props:D,items:A}=z;if(V.evaluated={props:D instanceof E1.Name?void 0:D,items:A instanceof E1.Name?void 0:A,dynamicProps:D instanceof E1.Name,dynamicItems:A instanceof E1.Name},V.source)V.source.evaluated=(0,E1.stringify)(V.evaluated)}return Q.validate=V,Q}catch(F){if(delete Q.validate,delete Q.validateName,K)this.logger.error("Error compiling schema, function code:",K);throw F}finally{this._compilations.delete(Q)}}lz.compileSchema=a5;function wZ(Q,X,Y){var W;Y=(0,S1.resolveUrl)(this.opts.uriResolver,X,Y);let $=Q.refs[Y];if($)return $;let J=bZ.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 G8({schema:G,schemaId:H,root:Q,baseId:X})}if(J===void 0)return;return Q.refs[Y]=MZ.call(this,J)}lz.resolveRef=wZ;function MZ(Q){if((0,S1.inlineRef)(Q.schema,this.opts.inlineRefs))return Q.schema;return Q.validate?Q:a5.call(this,Q)}function uz(Q){for(let X of this._compilations)if(NZ(X,Q))return X}lz.getCompilingSchema=uz;function NZ(Q,X){return Q.schema===X.schema&&Q.root===X.root&&Q.baseId===X.baseId}function bZ(Q,X){let Y;while(typeof(Y=this.refs[X])=="string")X=Y;return Y||this.schemas[X]||HX.call(this,Q,X)}function HX(Q,X){let Y=this.opts.uriResolver.parse(X),W=(0,S1._getFullPath)(this.opts.uriResolver,Y),$=(0,S1.getFullPath)(this.opts.uriResolver,Q.baseId,void 0);if(Object.keys(Q.schema).length>0&&W===$)return t5.call(this,Y,Q);let J=(0,S1.normalizeId)(W),G=this.refs[J]||this.schemas[J];if(typeof G=="string"){let H=HX.call(this,Q,G);if(typeof(H===null||H===void 0?void 0:H.schema)!=="object")return;return t5.call(this,Y,H)}if(typeof(G===null||G===void 0?void 0:G.schema)!=="object")return;if(!G.validate)a5.call(this,G);if(J===(0,S1.normalizeId)(X)){let{schema:H}=G,{schemaId:B}=this.opts,z=H[B];if(z)$=(0,S1.resolveUrl)(this.opts.uriResolver,$,z);return new G8({schema:H,schemaId:B,root:Q,baseId:$})}return t5.call(this,Y,G)}lz.resolveSchema=HX;var PZ=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function t5(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,hz.unescapeFragment)(H)];if(B===void 0)return;Y=B;let z=typeof Y==="object"&&Y[this.opts.schemaId];if(!PZ.has(H)&&z)X=(0,S1.resolveUrl)(this.opts.uriResolver,X,z)}let J;if(typeof Y!="boolean"&&Y.$ref&&!(0,hz.schemaHasRulesButRef)(Y,this.RULES)){let H=(0,S1.resolveUrl)(this.opts.uriResolver,X,Y.$ref);J=HX.call(this,W,H)}let{schemaId:G}=this.opts;if(J=J||new G8({schema:Y,schemaId:G,root:W,baseId:X}),J.schema!==J.root.schema)return J;return}});var cz=w((rm,IZ)=>{IZ.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 e5=w((tm,nz)=>{var TZ=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),dz=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 s5(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 CZ=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function pz(Q){return Q.length=0,!0}function kZ(Q,X,Y){if(Q.length){let W=s5(Q);if(W!=="")X.push(W);else return Y.error=!0,!1;Q.length=0}return!0}function vZ(Q){let X=0,Y={error:!1,address:"",zone:""},W=[],$=[],J=!1,G=!1,H=kZ;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=pz}else{$.push(z);continue}}if($.length)if(H===pz)Y.zone=$.join("");else if(G)W.push($.join(""));else W.push(s5($));return Y.address=W.join(""),Y}function iz(Q){if(_Z(Q,":")<2)return{host:Q,isIPV6:!1};let X=vZ(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 _Z(Q,X){let Y=0;for(let W=0;W<Q.length;W++)if(Q[W]===X)Y++;return Y}function xZ(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 yZ(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 gZ(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(!dz(Y)){let W=iz(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}nz.exports={nonSimpleDomain:CZ,recomposeAuthority:gZ,normalizeComponentEncoding:yZ,removeDotSegments:xZ,isIPv4:dz,isUUID:TZ,normalizeIPv6:iz,stringArrayToHexStripped:s5}});var sz=w((am,az)=>{var{isUUID:fZ}=e5(),hZ=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,uZ=["http","https","ws","wss","urn","urn:uuid"];function lZ(Q){return uZ.indexOf(Q)!==-1}function Q$(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 oz(Q){if(!Q.host)Q.error=Q.error||"HTTP URIs must have a host.";return Q}function rz(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 mZ(Q){return Q.secure=Q$(Q),Q.resourceName=(Q.path||"/")+(Q.query?"?"+Q.query:""),Q.path=void 0,Q.query=void 0,Q}function cZ(Q){if(Q.port===(Q$(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 pZ(Q,X){if(!Q.path)return Q.error="URN can not be parsed",Q;let Y=Q.path.match(hZ);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=X$($);if(Q.path=void 0,J)Q=J.parse(Q,X)}else Q.error=Q.error||"URN can not be parsed.";return Q}function dZ(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=X$($);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 iZ(Q,X){let Y=Q;if(Y.uuid=Y.nss,Y.nss=void 0,!X.tolerant&&(!Y.uuid||!fZ(Y.uuid)))Y.error=Y.error||"UUID is not valid.";return Y}function nZ(Q){let X=Q;return X.nss=(Q.uuid||"").toLowerCase(),X}var tz={scheme:"http",domainHost:!0,parse:oz,serialize:rz},oZ={scheme:"https",domainHost:tz.domainHost,parse:oz,serialize:rz},zX={scheme:"ws",domainHost:!0,parse:mZ,serialize:cZ},rZ={scheme:"wss",domainHost:zX.domainHost,parse:zX.parse,serialize:zX.serialize},tZ={scheme:"urn",parse:pZ,serialize:dZ,skipNormalize:!0},aZ={scheme:"urn:uuid",parse:iZ,serialize:nZ,skipNormalize:!0},KX={http:tz,https:oZ,ws:zX,wss:rZ,urn:tZ,"urn:uuid":aZ};Object.setPrototypeOf(KX,null);function X$(Q){return Q&&(KX[Q]||KX[Q.toLowerCase()])||void 0}az.exports={wsIsSecure:Q$,SCHEMES:KX,isValidSchemeName:lZ,getSchemeHandler:X$}});var W$=w((sm,VX)=>{var{normalizeIPv6:sZ,removeDotSegments:H8,recomposeAuthority:eZ,normalizeComponentEncoding:FX,isIPv4:QR,nonSimpleDomain:XR}=e5(),{SCHEMES:YR,getSchemeHandler:ez}=sz();function WR(Q,X){if(typeof Q==="string")Q=c1(Y6(Q,X),X);else if(typeof Q==="object")Q=Y6(c1(Q,X),X);return Q}function $R(Q,X,Y){let W=Y?Object.assign({scheme:"null"},Y):{scheme:"null"},$=QK(Y6(Q,W),Y6(X,W),W,!0);return W.skipEscape=!0,c1($,W)}function QK(Q,X,Y,W){let $={};if(!W)Q=Y6(c1(Q,Y),Y),X=Y6(c1(X,Y),Y);if(Y=Y||{},!Y.tolerant&&X.scheme)$.scheme=X.scheme,$.userinfo=X.userinfo,$.host=X.host,$.port=X.port,$.path=H8(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=H8(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=H8(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=H8($.path)}$.query=X.query}$.userinfo=Q.userinfo,$.host=Q.host,$.port=Q.port}$.scheme=Q.scheme}return $.fragment=X.fragment,$}function JR(Q,X,Y){if(typeof Q==="string")Q=unescape(Q),Q=c1(FX(Y6(Q,Y),!0),{...Y,skipEscape:!0});else if(typeof Q==="object")Q=c1(FX(Q,!0),{...Y,skipEscape:!0});if(typeof X==="string")X=unescape(X),X=c1(FX(Y6(X,Y),!0),{...Y,skipEscape:!0});else if(typeof X==="object")X=c1(FX(X,!0),{...Y,skipEscape:!0});return Q.toLowerCase()===X.toLowerCase()}function c1(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=ez(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=eZ(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=H8(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 GR=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Y6(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(GR);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(QR(W.host)===!1){let B=sZ(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=ez(Y.scheme||W.scheme);if(!Y.unicodeSupport&&(!G||!G.unicodeSupport)){if(W.host&&(Y.domainHost||G&&G.domainHost)&&$===!1&&XR(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 Y$={SCHEMES:YR,normalize:WR,resolve:$R,resolveComponent:QK,equal:JR,serialize:c1,parse:Y6};VX.exports=Y$;VX.exports.default=Y$;VX.exports.fastUri=Y$});var WK=w((YK)=>{Object.defineProperty(YK,"__esModule",{value:!0});var XK=W$();XK.code='require("ajv/dist/runtime/uri").default';YK.default=XK});var FK=w((W6)=>{Object.defineProperty(W6,"__esModule",{value:!0});W6.CodeGen=W6.Name=W6.nil=W6.stringify=W6.str=W6._=W6.KeywordCxt=void 0;var BR=$8();Object.defineProperty(W6,"KeywordCxt",{enumerable:!0,get:function(){return BR.KeywordCxt}});var c9=o();Object.defineProperty(W6,"_",{enumerable:!0,get:function(){return c9._}});Object.defineProperty(W6,"str",{enumerable:!0,get:function(){return c9.str}});Object.defineProperty(W6,"stringify",{enumerable:!0,get:function(){return c9.stringify}});Object.defineProperty(W6,"nil",{enumerable:!0,get:function(){return c9.nil}});Object.defineProperty(W6,"Name",{enumerable:!0,get:function(){return c9.Name}});Object.defineProperty(W6,"CodeGen",{enumerable:!0,get:function(){return c9.CodeGen}});var zR=GX(),BK=J8(),KR=y5(),B8=BX(),FR=o(),z8=X8(),qX=e4(),J$=Y0(),$K=cz(),VR=WK(),zK=(Q,X)=>new RegExp(Q,X);zK.code="new RegExp";var qR=["removeAdditional","useDefaults","coerceTypes"],AR=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),DR={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."},LR={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},JK=200;function OR(Q){var X,Y,W,$,J,G,H,B,z,K,F,q,V,D,A,L,O,M,N,C,Z,K0,b0,y1,g6;let L1=Q.strict,f6=(X=Q.code)===null||X===void 0?void 0:X.optimize,z4=f6===!0||f6===void 0?1:f6||0,K4=(W=(Y=Q.code)===null||Y===void 0?void 0:Y.regExp)!==null&&W!==void 0?W:zK,IY=($=Q.uriResolver)!==null&&$!==void 0?$:VR.default;return{strictSchema:(G=(J=Q.strictSchema)!==null&&J!==void 0?J:L1)!==null&&G!==void 0?G:!0,strictNumbers:(B=(H=Q.strictNumbers)!==null&&H!==void 0?H:L1)!==null&&B!==void 0?B:!0,strictTypes:(K=(z=Q.strictTypes)!==null&&z!==void 0?z:L1)!==null&&K!==void 0?K:"log",strictTuples:(q=(F=Q.strictTuples)!==null&&F!==void 0?F:L1)!==null&&q!==void 0?q:"log",strictRequired:(D=(V=Q.strictRequired)!==null&&V!==void 0?V:L1)!==null&&D!==void 0?D:!1,code:Q.code?{...Q.code,optimize:z4,regExp:K4}:{optimize:z4,regExp:K4},loopRequired:(A=Q.loopRequired)!==null&&A!==void 0?A:JK,loopEnum:(L=Q.loopEnum)!==null&&L!==void 0?L:JK,meta:(O=Q.meta)!==null&&O!==void 0?O:!0,messages:(M=Q.messages)!==null&&M!==void 0?M:!0,inlineRefs:(N=Q.inlineRefs)!==null&&N!==void 0?N:!0,schemaId:(C=Q.schemaId)!==null&&C!==void 0?C:"$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:(y1=Q.unicodeRegExp)!==null&&y1!==void 0?y1:!0,int32range:(g6=Q.int32range)!==null&&g6!==void 0?g6:!0,uriResolver:IY}}class AX{constructor(Q={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,Q=this.opts={...Q,...OR(Q)};let{es5:X,lines:Y}=this.opts.code;this.scope=new FR.ValueScope({scope:{},prefixes:AR,es5:X,lines:Y}),this.logger=bR(Q.logger);let W=Q.validateFormats;if(Q.validateFormats=!1,this.RULES=(0,KR.getRules)(),GK.call(this,DR,Q,"NOT SUPPORTED"),GK.call(this,LR,Q,"DEPRECATED","warn"),this._metaOpts=MR.call(this),Q.formats)jR.call(this);if(this._addVocabularies(),this._addDefaultMetaSchema(),Q.keywords)wR.call(this,Q.keywords);if(typeof Q.meta=="object")this.addMetaSchema(Q.meta);UR.call(this),Q.validateFormats=W}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:Q,meta:X,schemaId:Y}=this.opts,W=$K;if(Y==="id")W={...$K},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 F=this._addSchema(z,K);return F.validate||J.call(this,F)}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 BK.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,z8.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=HK.call(this,Q))=="string")Q=X;if(X===void 0){let{schemaId:Y}=this.opts,W=new B8.SchemaEnv({schema:{},schemaId:Y});if(X=B8.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=HK.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,z8.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(ZR.call(this,Y,X),!X)return(0,J$.eachItem)(Y,($)=>$$.call(this,$)),this;ER.call(this,X);let W={...X,type:(0,qX.getJSONTypes)(X.type),schemaType:(0,qX.getJSONTypes)(X.schemaType)};return(0,J$.eachItem)(Y,W.type.length===0?($)=>$$.call(this,$,W):($)=>W.type.forEach((J)=>$$.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]=KK(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,z8.normalizeId)(J||Y);let B=z8.getSchemaRefs.call(this,Q,Y);if(H=new B8.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 B8.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{B8.compileSchema.call(this,Q)}finally{this.opts=X}}}AX.ValidationError=zR.default;AX.MissingRefError=BK.default;W6.default=AX;function GK(Q,X,Y,W="error"){for(let $ in Q){let J=$;if(J in X)this.logger[W](`${Y}: option ${$}. ${Q[J]}`)}}function HK(Q){return Q=(0,z8.normalizeId)(Q),this.schemas[Q]||this.refs[Q]}function UR(){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 jR(){for(let Q in this.opts.formats){let X=this.opts.formats[Q];if(X)this.addFormat(Q,X)}}function wR(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 MR(){let Q={...this.opts};for(let X of qR)delete Q[X];return Q}var NR={log(){},warn(){},error(){}};function bR(Q){if(Q===!1)return NR;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 PR=/^[a-z_$][a-z0-9_$:-]*$/i;function ZR(Q,X){let{RULES:Y}=this;if((0,J$.eachItem)(Q,(W)=>{if(Y.keywords[W])throw Error(`Keyword ${W} is already defined`);if(!PR.test(W))throw Error(`Keyword ${W} has invalid name`)}),!X)return;if(X.$data&&!(("code"in X)||("validate"in X)))throw Error('$data keyword must have "code" or "validate" function')}function $$(Q,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,qX.getJSONTypes)(X.type),schemaType:(0,qX.getJSONTypes)(X.schemaType)}};if(X.before)RR.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 RR(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 ER(Q){let{metaSchema:X}=Q;if(X===void 0)return;if(Q.$data&&this.opts.$data)X=KK(X);Q.validateSchema=this.compile(X,!0)}var SR={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function KK(Q){return{anyOf:[Q,SR]}}});var qK=w((VK)=>{Object.defineProperty(VK,"__esModule",{value:!0});var CR={keyword:"id",code(){throw Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};VK.default=CR});var jK=w((OK)=>{Object.defineProperty(OK,"__esModule",{value:!0});OK.callRef=OK.getValidate=void 0;var vR=J8(),AK=V1(),Y1=o(),p9=Q6(),DK=BX(),DX=Y0(),_R={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 F();let K=DK.resolveRef.call(B,z,$,Y);if(K===void 0)throw new vR.default(W.opts.uriResolver,$,Y);if(K instanceof DK.SchemaEnv)return q(K);return V(K);function F(){if(J===z)return LX(Q,G,J,J.$async);let D=X.scopeValue("root",{ref:z});return LX(Q,Y1._`${D}.validate`,z,z.$async)}function q(D){let A=LK(Q,D);LX(Q,A,D,D.$async)}function V(D){let A=X.scopeValue("schema",H.code.source===!0?{ref:D,code:(0,Y1.stringify)(D)}:{ref:D}),L=X.name("valid"),O=Q.subschema({schema:D,dataTypes:[],schemaPath:Y1.nil,topSchemaRef:A,errSchemaPath:Y},L);Q.mergeEvaluated(O),Q.ok(L)}}};function LK(Q,X){let{gen:Y}=Q;return X.validate?Y.scopeValue("validate",{ref:X.validate}):Y1._`${Y.scopeValue("wrapper",{ref:X})}.validate`}OK.getValidate=LK;function LX(Q,X,Y,W){let{gen:$,it:J}=Q,{allErrors:G,schemaEnv:H,opts:B}=J,z=B.passContext?p9.default.this:Y1.nil;if(W)K();else F();function K(){if(!H.$async)throw Error("async schema referenced by sync schema");let D=$.let("valid");$.try(()=>{if($.code(Y1._`await ${(0,AK.callValidateCode)(Q,X,z)}`),V(X),!G)$.assign(D,!0)},(A)=>{if($.if(Y1._`!(${A} instanceof ${J.ValidationError})`,()=>$.throw(A)),q(A),!G)$.assign(D,!1)}),Q.ok(D)}function F(){Q.result((0,AK.callValidateCode)(Q,X,z),()=>V(X),()=>q(X))}function q(D){let A=Y1._`${D}.errors`;$.assign(p9.default.vErrors,Y1._`${p9.default.vErrors} === null ? ${A} : ${p9.default.vErrors}.concat(${A})`),$.assign(p9.default.errors,Y1._`${p9.default.vErrors}.length`)}function V(D){var A;if(!J.opts.unevaluated)return;let L=(A=Y===null||Y===void 0?void 0:Y.validate)===null||A===void 0?void 0:A.evaluated;if(J.props!==!0)if(L&&!L.dynamicProps){if(L.props!==void 0)J.props=DX.mergeEvaluated.props($,L.props,J.props)}else{let O=$.var("props",Y1._`${D}.evaluated.props`);J.props=DX.mergeEvaluated.props($,O,J.props,Y1.Name)}if(J.items!==!0)if(L&&!L.dynamicItems){if(L.items!==void 0)J.items=DX.mergeEvaluated.items($,L.items,J.items)}else{let O=$.var("items",Y1._`${D}.evaluated.items`);J.items=DX.mergeEvaluated.items($,O,J.items,Y1.Name)}}}OK.callRef=LX;OK.default=_R});var MK=w((wK)=>{Object.defineProperty(wK,"__esModule",{value:!0});var gR=qK(),fR=jK(),hR=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",gR.default,fR.default];wK.default=hR});var bK=w((NK)=>{Object.defineProperty(NK,"__esModule",{value:!0});var OX=o(),R6=OX.operators,UX={maximum:{okStr:"<=",ok:R6.LTE,fail:R6.GT},minimum:{okStr:">=",ok:R6.GTE,fail:R6.LT},exclusiveMaximum:{okStr:"<",ok:R6.LT,fail:R6.GTE},exclusiveMinimum:{okStr:">",ok:R6.GT,fail:R6.LTE}},lR={message:({keyword:Q,schemaCode:X})=>OX.str`must be ${UX[Q].okStr} ${X}`,params:({keyword:Q,schemaCode:X})=>OX._`{comparison: ${UX[Q].okStr}, limit: ${X}}`},mR={keyword:Object.keys(UX),type:"number",schemaType:"number",$data:!0,error:lR,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q;Q.fail$data(OX._`${Y} ${UX[X].fail} ${W} || isNaN(${Y})`)}};NK.default=mR});var ZK=w((PK)=>{Object.defineProperty(PK,"__esModule",{value:!0});var K8=o(),pR={message:({schemaCode:Q})=>K8.str`must be multiple of ${Q}`,params:({schemaCode:Q})=>K8._`{multipleOf: ${Q}}`},dR={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:pR,code(Q){let{gen:X,data:Y,schemaCode:W,it:$}=Q,J=$.opts.multipleOfPrecision,G=X.let("res"),H=J?K8._`Math.abs(Math.round(${G}) - ${G}) > 1e-${J}`:K8._`${G} !== parseInt(${G})`;Q.fail$data(K8._`(${W} === 0 || (${G} = ${Y}/${W}, ${H}))`)}};PK.default=dR});var SK=w((EK)=>{Object.defineProperty(EK,"__esModule",{value:!0});function RK(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}EK.default=RK;RK.code='require("ajv/dist/runtime/ucs2length").default'});var TK=w((IK)=>{Object.defineProperty(IK,"__esModule",{value:!0});var X9=o(),oR=Y0(),rR=SK(),tR={message({keyword:Q,schemaCode:X}){let Y=Q==="maxLength"?"more":"fewer";return X9.str`must NOT have ${Y} than ${X} characters`},params:({schemaCode:Q})=>X9._`{limit: ${Q}}`},aR={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:tR,code(Q){let{keyword:X,data:Y,schemaCode:W,it:$}=Q,J=X==="maxLength"?X9.operators.GT:X9.operators.LT,G=$.opts.unicode===!1?X9._`${Y}.length`:X9._`${(0,oR.useFunc)(Q.gen,rR.default)}(${Y})`;Q.fail$data(X9._`${G} ${J} ${W}`)}};IK.default=aR});var kK=w((CK)=>{Object.defineProperty(CK,"__esModule",{value:!0});var eR=V1(),jX=o(),QE={message:({schemaCode:Q})=>jX.str`must match pattern "${Q}"`,params:({schemaCode:Q})=>jX._`{pattern: ${Q}}`},XE={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:QE,code(Q){let{data:X,$data:Y,schema:W,schemaCode:$,it:J}=Q,G=J.opts.unicodeRegExp?"u":"",H=Y?jX._`(new RegExp(${$}, ${G}))`:(0,eR.usePattern)(Q,W);Q.fail$data(jX._`!${H}.test(${X})`)}};CK.default=XE});var _K=w((vK)=>{Object.defineProperty(vK,"__esModule",{value:!0});var F8=o(),WE={message({keyword:Q,schemaCode:X}){let Y=Q==="maxProperties"?"more":"fewer";return F8.str`must NOT have ${Y} than ${X} properties`},params:({schemaCode:Q})=>F8._`{limit: ${Q}}`},$E={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:WE,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q,$=X==="maxProperties"?F8.operators.GT:F8.operators.LT;Q.fail$data(F8._`Object.keys(${Y}).length ${$} ${W}`)}};vK.default=$E});var yK=w((xK)=>{Object.defineProperty(xK,"__esModule",{value:!0});var V8=V1(),q8=o(),GE=Y0(),HE={message:({params:{missingProperty:Q}})=>q8.str`must have required property '${Q}'`,params:({params:{missingProperty:Q}})=>q8._`{missingProperty: ${Q}}`},BE={keyword:"required",type:"object",schemaType:"array",$data:!0,error:HE,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 V=Q.parentSchema.properties,{definedProperties:D}=Q.it;for(let A of Y)if((V===null||V===void 0?void 0:V[A])===void 0&&!D.has(A)){let L=G.schemaEnv.baseId+G.errSchemaPath,O=`required property "${A}" is not defined at "${L}" (strictRequired)`;(0,GE.checkStrictMode)(G,O,G.opts.strictRequired)}}function z(){if(B||J)Q.block$data(q8.nil,F);else for(let V of Y)(0,V8.checkReportMissingProp)(Q,V)}function K(){let V=X.let("missing");if(B||J){let D=X.let("valid",!0);Q.block$data(D,()=>q(V,D)),Q.ok(D)}else X.if((0,V8.checkMissingProp)(Q,Y,V)),(0,V8.reportMissingProp)(Q,V),X.else()}function F(){X.forOf("prop",W,(V)=>{Q.setParams({missingProperty:V}),X.if((0,V8.noPropertyInData)(X,$,V,H.ownProperties),()=>Q.error())})}function q(V,D){Q.setParams({missingProperty:V}),X.forOf(V,W,()=>{X.assign(D,(0,V8.propertyInData)(X,$,V,H.ownProperties)),X.if((0,q8.not)(D),()=>{Q.error(),X.break()})},q8.nil)}}};xK.default=BE});var fK=w((gK)=>{Object.defineProperty(gK,"__esModule",{value:!0});var A8=o(),KE={message({keyword:Q,schemaCode:X}){let Y=Q==="maxItems"?"more":"fewer";return A8.str`must NOT have ${Y} than ${X} items`},params:({schemaCode:Q})=>A8._`{limit: ${Q}}`},FE={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:KE,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q,$=X==="maxItems"?A8.operators.GT:A8.operators.LT;Q.fail$data(A8._`${Y}.length ${$} ${W}`)}};gK.default=FE});var wX=w((uK)=>{Object.defineProperty(uK,"__esModule",{value:!0});var hK=Q8();hK.code='require("ajv/dist/runtime/equal").default';uK.default=hK});var mK=w((lK)=>{Object.defineProperty(lK,"__esModule",{value:!0});var G$=e4(),x0=o(),AE=Y0(),DE=wX(),LE={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}}`},OE={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:LE,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,G$.getSchemaTypes)(J.items):[];Q.block$data(B,K,x0._`${G} === false`),Q.ok(B);function K(){let D=X.let("i",x0._`${Y}.length`),A=X.let("j");Q.setParams({i:D,j:A}),X.assign(B,!0),X.if(x0._`${D} > 1`,()=>(F()?q:V)(D,A))}function F(){return z.length>0&&!z.some((D)=>D==="object"||D==="array")}function q(D,A){let L=X.name("item"),O=(0,G$.checkDataTypes)(z,L,H.opts.strictNumbers,G$.DataType.Wrong),M=X.const("indices",x0._`{}`);X.for(x0._`;${D}--;`,()=>{if(X.let(L,x0._`${Y}[${D}]`),X.if(O,x0._`continue`),z.length>1)X.if(x0._`typeof ${L} == "string"`,x0._`${L} += "_"`);X.if(x0._`typeof ${M}[${L}] == "number"`,()=>{X.assign(A,x0._`${M}[${L}]`),Q.error(),X.assign(B,!1).break()}).code(x0._`${M}[${L}] = ${D}`)})}function V(D,A){let L=(0,AE.useFunc)(X,DE.default),O=X.name("outer");X.label(O).for(x0._`;${D}--;`,()=>X.for(x0._`${A} = ${D}; ${A}--;`,()=>X.if(x0._`${L}(${Y}[${D}], ${Y}[${A}])`,()=>{Q.error(),X.assign(B,!1).break(O)})))}}};lK.default=OE});var pK=w((cK)=>{Object.defineProperty(cK,"__esModule",{value:!0});var H$=o(),jE=Y0(),wE=wX(),ME={message:"must be equal to constant",params:({schemaCode:Q})=>H$._`{allowedValue: ${Q}}`},NE={keyword:"const",$data:!0,error:ME,code(Q){let{gen:X,data:Y,$data:W,schemaCode:$,schema:J}=Q;if(W||J&&typeof J=="object")Q.fail$data(H$._`!${(0,jE.useFunc)(X,wE.default)}(${Y}, ${$})`);else Q.fail(H$._`${J} !== ${Y}`)}};cK.default=NE});var iK=w((dK)=>{Object.defineProperty(dK,"__esModule",{value:!0});var D8=o(),PE=Y0(),ZE=wX(),RE={message:"must be equal to one of the allowed values",params:({schemaCode:Q})=>D8._`{allowedValues: ${Q}}`},EE={keyword:"enum",schemaType:"array",$data:!0,error:RE,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,PE.useFunc)(X,ZE.default),K;if(H||W)K=X.let("valid"),Q.block$data(K,F);else{if(!Array.isArray($))throw Error("ajv implementation error");let V=X.const("vSchema",J);K=(0,D8.or)(...$.map((D,A)=>q(V,A)))}Q.pass(K);function F(){X.assign(K,!1),X.forOf("v",J,(V)=>X.if(D8._`${z()}(${Y}, ${V})`,()=>X.assign(K,!0).break()))}function q(V,D){let A=$[D];return typeof A==="object"&&A!==null?D8._`${z()}(${Y}, ${V}[${D}])`:D8._`${Y} === ${A}`}}};dK.default=EE});var oK=w((nK)=>{Object.defineProperty(nK,"__esModule",{value:!0});var IE=bK(),TE=ZK(),CE=TK(),kE=kK(),vE=_K(),_E=yK(),xE=fK(),yE=mK(),gE=pK(),fE=iK(),hE=[IE.default,TE.default,CE.default,kE.default,vE.default,_E.default,xE.default,yE.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},gE.default,fE.default];nK.default=hE});var z$=w((tK)=>{Object.defineProperty(tK,"__esModule",{value:!0});tK.validateAdditionalItems=void 0;var Y9=o(),B$=Y0(),lE={message:({params:{len:Q}})=>Y9.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>Y9._`{limit: ${Q}}`},mE={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:lE,code(Q){let{parentSchema:X,it:Y}=Q,{items:W}=X;if(!Array.isArray(W)){(0,B$.checkStrictMode)(Y,'"additionalItems" is ignored when "items" is not an array of schemas');return}rK(Q,W)}};function rK(Q,X){let{gen:Y,schema:W,data:$,keyword:J,it:G}=Q;G.items=!0;let H=Y.const("len",Y9._`${$}.length`);if(W===!1)Q.setParams({len:X.length}),Q.pass(Y9._`${H} <= ${X.length}`);else if(typeof W=="object"&&!(0,B$.alwaysValidSchema)(G,W)){let z=Y.var("valid",Y9._`${H} <= ${X.length}`);Y.if((0,Y9.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:B$.Type.Num},z),!G.allErrors)Y.if((0,Y9.not)(z),()=>Y.break())})}}tK.validateAdditionalItems=rK;tK.default=mE});var K$=w((QF)=>{Object.defineProperty(QF,"__esModule",{value:!0});QF.validateTuple=void 0;var sK=o(),MX=Y0(),pE=V1(),dE={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(Q){let{schema:X,it:Y}=Q;if(Array.isArray(X))return eK(Q,"additionalItems",X);if(Y.items=!0,(0,MX.alwaysValidSchema)(Y,X))return;Q.ok((0,pE.validateArray)(Q))}};function eK(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=MX.mergeEvaluated.items(W,Y.length,H.items);let B=W.name("valid"),z=W.const("len",sK._`${J}.length`);Y.forEach((F,q)=>{if((0,MX.alwaysValidSchema)(H,F))return;W.if(sK._`${z} > ${q}`,()=>Q.subschema({keyword:G,schemaProp:q,dataProp:q},B)),Q.ok(B)});function K(F){let{opts:q,errSchemaPath:V}=H,D=Y.length,A=D===F.minItems&&(D===F.maxItems||F[X]===!1);if(q.strictTuples&&!A){let L=`"${G}" is ${D}-tuple, but minItems or maxItems/${X} are not specified or different at path "${V}"`;(0,MX.checkStrictMode)(H,L,q.strictTuples)}}}QF.validateTuple=eK;QF.default=dE});var WF=w((YF)=>{Object.defineProperty(YF,"__esModule",{value:!0});var nE=K$(),oE={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:(Q)=>(0,nE.validateTuple)(Q,"items")};YF.default=oE});var GF=w((JF)=>{Object.defineProperty(JF,"__esModule",{value:!0});var $F=o(),tE=Y0(),aE=V1(),sE=z$(),eE={message:({params:{len:Q}})=>$F.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>$F._`{limit: ${Q}}`},QS={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:eE,code(Q){let{schema:X,parentSchema:Y,it:W}=Q,{prefixItems:$}=Y;if(W.items=!0,(0,tE.alwaysValidSchema)(W,X))return;if($)(0,sE.validateAdditionalItems)(Q,$);else Q.ok((0,aE.validateArray)(Q))}};JF.default=QS});var BF=w((HF)=>{Object.defineProperty(HF,"__esModule",{value:!0});var q1=o(),NX=Y0(),YS={message:({params:{min:Q,max:X}})=>X===void 0?q1.str`must contain at least ${Q} valid item(s)`:q1.str`must contain at least ${Q} and no more than ${X} valid item(s)`,params:({params:{min:Q,max:X}})=>X===void 0?q1._`{minContains: ${Q}}`:q1._`{minContains: ${Q}, maxContains: ${X}}`},WS={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:YS,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",q1._`${$}.length`);if(Q.setParams({min:G,max:H}),H===void 0&&G===0){(0,NX.checkStrictMode)(J,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(H!==void 0&&G>H){(0,NX.checkStrictMode)(J,'"minContains" > "maxContains" is always invalid'),Q.fail();return}if((0,NX.alwaysValidSchema)(J,Y)){let A=q1._`${K} >= ${G}`;if(H!==void 0)A=q1._`${A} && ${K} <= ${H}`;Q.pass(A);return}J.items=!0;let F=X.name("valid");if(H===void 0&&G===1)V(F,()=>X.if(F,()=>X.break()));else if(G===0){if(X.let(F,!0),H!==void 0)X.if(q1._`${$}.length > 0`,q)}else X.let(F,!1),q();Q.result(F,()=>Q.reset());function q(){let A=X.name("_valid"),L=X.let("count",0);V(A,()=>X.if(A,()=>D(L)))}function V(A,L){X.forRange("i",0,K,(O)=>{Q.subschema({keyword:"contains",dataProp:O,dataPropType:NX.Type.Num,compositeRule:!0},A),L()})}function D(A){if(X.code(q1._`${A}++`),H===void 0)X.if(q1._`${A} >= ${G}`,()=>X.assign(F,!0).break());else if(X.if(q1._`${A} > ${H}`,()=>X.assign(F,!1).break()),G===1)X.assign(F,!0);else X.if(q1._`${A} >= ${G}`,()=>X.assign(F,!0))}}};HF.default=WS});var AF=w((FF)=>{Object.defineProperty(FF,"__esModule",{value:!0});FF.validateSchemaDeps=FF.validatePropertyDeps=FF.error=void 0;var F$=o(),JS=Y0(),L8=V1();FF.error={message:({params:{property:Q,depsCount:X,deps:Y}})=>{let W=X===1?"property":"properties";return F$.str`must have ${W} ${Y} when property ${Q} is present`},params:({params:{property:Q,depsCount:X,deps:Y,missingProperty:W}})=>F$._`{property: ${Q},
|
|
7
7
|
missingProperty: ${W},
|
|
8
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
|
|
9
|
+
deps: ${Y}}`};var GS={keyword:"dependencies",type:"object",schemaType:"object",error:FF.error,code(Q){let[X,Y]=HS(Q);zF(Q,X),KF(Q,Y)}};function HS({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 zF(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,L8.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,L8.checkReportMissingProp)(Q,z)});else Y.if(F$._`${B} && (${(0,L8.checkMissingProp)(Q,H,J)})`),(0,L8.reportMissingProp)(Q,J),Y.else()}}FF.validatePropertyDeps=zF;function KF(Q,X=Q.schema){let{gen:Y,data:W,keyword:$,it:J}=Q,G=Y.name("valid");for(let H in X){if((0,JS.alwaysValidSchema)(J,X[H]))continue;Y.if((0,L8.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)}}FF.validateSchemaDeps=KF;FF.default=GS});var OF=w((LF)=>{Object.defineProperty(LF,"__esModule",{value:!0});var DF=o(),KS=Y0(),FS={message:"property name must be valid",params:({params:Q})=>DF._`{propertyName: ${Q.propertyName}}`},VS={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:FS,code(Q){let{gen:X,schema:Y,data:W,it:$}=Q;if((0,KS.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,DF.not)(J),()=>{if(Q.error(!0),!$.allErrors)X.break()})}),Q.ok(J)}};LF.default=VS});var V$=w((UF)=>{Object.defineProperty(UF,"__esModule",{value:!0});var bX=V1(),I1=o(),AS=Q6(),PX=Y0(),DS={message:"must NOT have additional properties",params:({params:Q})=>I1._`{additionalProperty: ${Q.additionalProperty}}`},LS={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:DS,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,PX.alwaysValidSchema)(G,Y))return;let z=(0,bX.allSchemaProperties)(W.properties),K=(0,bX.allSchemaProperties)(W.patternProperties);F(),Q.ok(I1._`${J} === ${AS.default.errors}`);function F(){X.forIn("key",$,(L)=>{if(!z.length&&!K.length)D(L);else X.if(q(L),()=>D(L))})}function q(L){let O;if(z.length>8){let M=(0,PX.schemaRefOrVal)(G,W.properties,"properties");O=(0,bX.isOwnProperty)(X,M,L)}else if(z.length)O=(0,I1.or)(...z.map((M)=>I1._`${L} === ${M}`));else O=I1.nil;if(K.length)O=(0,I1.or)(O,...K.map((M)=>I1._`${(0,bX.usePattern)(Q,M)}.test(${L})`));return(0,I1.not)(O)}function V(L){X.code(I1._`delete ${$}[${L}]`)}function D(L){if(B.removeAdditional==="all"||B.removeAdditional&&Y===!1){V(L);return}if(Y===!1){if(Q.setParams({additionalProperty:L}),Q.error(),!H)X.break();return}if(typeof Y=="object"&&!(0,PX.alwaysValidSchema)(G,Y)){let O=X.name("valid");if(B.removeAdditional==="failing")A(L,O,!1),X.if((0,I1.not)(O),()=>{Q.reset(),V(L)});else if(A(L,O),!H)X.if((0,I1.not)(O),()=>X.break())}}function A(L,O,M){let N={keyword:"additionalProperties",dataProp:L,dataPropType:PX.Type.Str};if(M===!1)Object.assign(N,{compositeRule:!0,createErrors:!1,allErrors:!1});Q.subschema(N,O)}}};UF.default=LS});var NF=w((MF)=>{Object.defineProperty(MF,"__esModule",{value:!0});var US=$8(),jF=V1(),q$=Y0(),wF=V$(),jS={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)wF.default.code(new US.KeywordCxt(J,wF.default,"additionalProperties"));let G=(0,jF.allSchemaProperties)(Y);for(let F of G)J.definedProperties.add(F);if(J.opts.unevaluated&&G.length&&J.props!==!0)J.props=q$.mergeEvaluated.props(X,(0,q$.toHash)(G),J.props);let H=G.filter((F)=>!(0,q$.alwaysValidSchema)(J,Y[F]));if(H.length===0)return;let B=X.name("valid");for(let F of H){if(z(F))K(F);else{if(X.if((0,jF.propertyInData)(X,$,F,J.opts.ownProperties)),K(F),!J.allErrors)X.else().var(B,!0);X.endIf()}Q.it.definedProperties.add(F),Q.ok(B)}function z(F){return J.opts.useDefaults&&!J.compositeRule&&Y[F].default!==void 0}function K(F){Q.subschema({keyword:"properties",schemaProp:F,dataProp:F},B)}}};MF.default=jS});var EF=w((RF)=>{Object.defineProperty(RF,"__esModule",{value:!0});var bF=V1(),ZX=o(),PF=Y0(),ZF=Y0(),MS={keyword:"patternProperties",type:"object",schemaType:"object",code(Q){let{gen:X,schema:Y,data:W,parentSchema:$,it:J}=Q,{opts:G}=J,H=(0,bF.allSchemaProperties)(Y),B=H.filter((A)=>(0,PF.alwaysValidSchema)(J,Y[A]));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 ZX.Name))J.props=(0,ZF.evaluatedPropsToName)(X,J.props);let{props:F}=J;q();function q(){for(let A of H){if(z)V(A);if(J.allErrors)D(A);else X.var(K,!0),D(A),X.if(K)}}function V(A){for(let L in z)if(new RegExp(A).test(L))(0,PF.checkStrictMode)(J,`property ${L} matches pattern ${A} (use allowMatchingProperties)`)}function D(A){X.forIn("key",W,(L)=>{X.if(ZX._`${(0,bF.usePattern)(Q,A)}.test(${L})`,()=>{let O=B.includes(A);if(!O)Q.subschema({keyword:"patternProperties",schemaProp:A,dataProp:L,dataPropType:ZF.Type.Str},K);if(J.opts.unevaluated&&F!==!0)X.assign(ZX._`${F}[${L}]`,!0);else if(!O&&!J.allErrors)X.if((0,ZX.not)(K),()=>X.break())})})}}};RF.default=MS});var IF=w((SF)=>{Object.defineProperty(SF,"__esModule",{value:!0});var bS=Y0(),PS={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(Q){let{gen:X,schema:Y,it:W}=Q;if((0,bS.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"}};SF.default=PS});var CF=w((TF)=>{Object.defineProperty(TF,"__esModule",{value:!0});var RS=V1(),ES={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:RS.validateUnion,error:{message:"must match a schema in anyOf"}};TF.default=ES});var vF=w((kF)=>{Object.defineProperty(kF,"__esModule",{value:!0});var RX=o(),IS=Y0(),TS={message:"must match exactly one schema in oneOf",params:({params:Q})=>RX._`{passingSchemas: ${Q.passing}}`},CS={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:TS,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,F)=>{let q;if((0,IS.alwaysValidSchema)($,K))X.var(B,!0);else q=Q.subschema({keyword:"oneOf",schemaProp:F,compositeRule:!0},B);if(F>0)X.if(RX._`${B} && ${G}`).assign(G,!1).assign(H,RX._`[${H}, ${F}]`).else();X.if(B,()=>{if(X.assign(G,!0),X.assign(H,F),q)Q.mergeEvaluated(q,RX.Name)})})}}};kF.default=CS});var xF=w((_F)=>{Object.defineProperty(_F,"__esModule",{value:!0});var vS=Y0(),_S={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,vS.alwaysValidSchema)(W,J))return;let H=Q.subschema({keyword:"allOf",schemaProp:G},$);Q.ok($),Q.mergeEvaluated(H)})}};_F.default=_S});var hF=w((fF)=>{Object.defineProperty(fF,"__esModule",{value:!0});var EX=o(),gF=Y0(),yS={message:({params:Q})=>EX.str`must match "${Q.ifClause}" schema`,params:({params:Q})=>EX._`{failingKeyword: ${Q.ifClause}}`},gS={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:yS,code(Q){let{gen:X,parentSchema:Y,it:W}=Q;if(Y.then===void 0&&Y.else===void 0)(0,gF.checkStrictMode)(W,'"if" without "then" and "else" is ignored');let $=yF(W,"then"),J=yF(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,EX.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,F){return()=>{let q=Q.subschema({keyword:K},H);if(X.assign(G,H),Q.mergeValidEvaluated(q,G),F)X.assign(F,EX._`${K}`);else Q.setParams({ifClause:K})}}}};function yF(Q,X){let Y=Q.schema[X];return Y!==void 0&&!(0,gF.alwaysValidSchema)(Q,Y)}fF.default=gS});var lF=w((uF)=>{Object.defineProperty(uF,"__esModule",{value:!0});var hS=Y0(),uS={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:Q,parentSchema:X,it:Y}){if(X.if===void 0)(0,hS.checkStrictMode)(Y,`"${Q}" without "if" is ignored`)}};uF.default=uS});var cF=w((mF)=>{Object.defineProperty(mF,"__esModule",{value:!0});var mS=z$(),cS=WF(),pS=K$(),dS=GF(),iS=BF(),nS=AF(),oS=OF(),rS=V$(),tS=NF(),aS=EF(),sS=IF(),eS=CF(),QI=vF(),XI=xF(),YI=hF(),WI=lF();function $I(Q=!1){let X=[sS.default,eS.default,QI.default,XI.default,YI.default,WI.default,oS.default,rS.default,nS.default,tS.default,aS.default];if(Q)X.push(cS.default,dS.default);else X.push(mS.default,pS.default);return X.push(iS.default),X}mF.default=$I});var dF=w((pF)=>{Object.defineProperty(pF,"__esModule",{value:!0});var P0=o(),GI={message:({schemaCode:Q})=>P0.str`must match format "${Q}"`,params:({schemaCode:Q})=>P0._`{format: ${Q}}`},HI={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:GI,code(Q,X){let{gen:Y,data:W,$data:$,schema:J,schemaCode:G,it:H}=Q,{opts:B,errSchemaPath:z,schemaEnv:K,self:F}=H;if(!B.validateFormats)return;if($)q();else V();function q(){let D=Y.scopeValue("formats",{ref:F.formats,code:B.code.formats}),A=Y.const("fDef",P0._`${D}[${G}]`),L=Y.let("fType"),O=Y.let("format");Y.if(P0._`typeof ${A} == "object" && !(${A} instanceof RegExp)`,()=>Y.assign(L,P0._`${A}.type || "string"`).assign(O,P0._`${A}.validate`),()=>Y.assign(L,P0._`"string"`).assign(O,A)),Q.fail$data((0,P0.or)(M(),N()));function M(){if(B.strictSchema===!1)return P0.nil;return P0._`${G} && !${O}`}function N(){let C=K.$async?P0._`(${A}.async ? await ${O}(${W}) : ${O}(${W}))`:P0._`${O}(${W})`,Z=P0._`(typeof ${O} == "function" ? ${C} : ${O}.test(${W}))`;return P0._`${O} && ${O} !== true && ${L} === ${X} && !${Z}`}}function V(){let D=F.formats[J];if(!D){M();return}if(D===!0)return;let[A,L,O]=N(D);if(A===X)Q.pass(C());function M(){if(B.strictSchema===!1){F.logger.warn(Z());return}throw Error(Z());function Z(){return`unknown format "${J}" ignored in schema at path "${z}"`}}function N(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 C(){if(typeof D=="object"&&!(D instanceof RegExp)&&D.async){if(!K.$async)throw Error("async format in sync schema");return P0._`await ${O}(${W})`}return typeof L=="function"?P0._`${O}(${W})`:P0._`${O}.test(${W})`}}}};pF.default=HI});var nF=w((iF)=>{Object.defineProperty(iF,"__esModule",{value:!0});var zI=dF(),KI=[zI.default];iF.default=KI});var tF=w((oF)=>{Object.defineProperty(oF,"__esModule",{value:!0});oF.contentVocabulary=oF.metadataVocabulary=void 0;oF.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];oF.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var eF=w((sF)=>{Object.defineProperty(sF,"__esModule",{value:!0});var qI=MK(),AI=oK(),DI=cF(),LI=nF(),aF=tF(),OI=[qI.default,AI.default,(0,DI.default)(),LI.default,aF.metadataVocabulary,aF.contentVocabulary];sF.default=OI});var WV=w((XV)=>{Object.defineProperty(XV,"__esModule",{value:!0});XV.DiscrError=void 0;var QV;(function(Q){Q.Tag="tag",Q.Mapping="mapping"})(QV||(XV.DiscrError=QV={}))});var GV=w((JV)=>{Object.defineProperty(JV,"__esModule",{value:!0});var d9=o(),A$=WV(),$V=BX(),jI=J8(),wI=Y0(),MI={message:({params:{discrError:Q,tagName:X}})=>Q===A$.DiscrError.Tag?`tag "${X}" must be string`:`value of tag "${X}" must be in oneOf`,params:({params:{discrError:Q,tag:X,tagName:Y}})=>d9._`{error: ${Q}, tag: ${Y}, tagValue: ${X}}`},NI={keyword:"discriminator",type:"object",schemaType:"object",error:MI,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",d9._`${Y}${(0,d9.getProperty)(H)}`);X.if(d9._`typeof ${z} == "string"`,()=>K(),()=>Q.error(!1,{discrError:A$.DiscrError.Tag,tag:z,tagName:H})),Q.ok(B);function K(){let V=q();X.if(!1);for(let D in V)X.elseIf(d9._`${z} === ${D}`),X.assign(B,F(V[D]));X.else(),Q.error(!1,{discrError:A$.DiscrError.Mapping,tag:z,tagName:H}),X.endIf()}function F(V){let D=X.name("valid"),A=Q.subschema({keyword:"oneOf",schemaProp:V},D);return Q.mergeEvaluated(A,d9.Name),D}function q(){var V;let D={},A=O($),L=!0;for(let C=0;C<G.length;C++){let Z=G[C];if((Z===null||Z===void 0?void 0:Z.$ref)&&!(0,wI.schemaHasRulesButRef)(Z,J.self.RULES)){let b0=Z.$ref;if(Z=$V.resolveRef.call(J.self,J.schemaEnv.root,J.baseId,b0),Z instanceof $V.SchemaEnv)Z=Z.schema;if(Z===void 0)throw new jI.default(J.opts.uriResolver,J.baseId,b0)}let K0=(V=Z===null||Z===void 0?void 0:Z.properties)===null||V===void 0?void 0:V[H];if(typeof K0!="object")throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${H}"`);L=L&&(A||O(Z)),M(K0,C)}if(!L)throw Error(`discriminator: "${H}" must be required`);return D;function O({required:C}){return Array.isArray(C)&&C.includes(H)}function M(C,Z){if(C.const)N(C.const,Z);else if(C.enum)for(let K0 of C.enum)N(K0,Z);else throw Error(`discriminator: "properties/${H}" must have "const" or "enum"`)}function N(C,Z){if(typeof C!="string"||C in D)throw Error(`discriminator: "${H}" values must be unique strings`);D[C]=Z}}}};JV.default=NI});var HV=w((ic,PI)=>{PI.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 zV=w((W1,D$)=>{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 ZI=FK(),RI=eF(),EI=GV(),BV=HV(),SI=["/properties"],SX="http://json-schema.org/draft-07/schema";class O8 extends ZI.default{_addVocabularies(){if(super._addVocabularies(),RI.default.forEach((Q)=>this.addVocabulary(Q)),this.opts.discriminator)this.addKeyword(EI.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let Q=this.opts.$data?this.$dataMetaSchema(BV,SI):BV;this.addMetaSchema(Q,SX,!1),this.refs["http://json-schema.org/schema"]=SX}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(SX)?SX:void 0)}}W1.Ajv=O8;D$.exports=W1=O8;D$.exports.Ajv=O8;Object.defineProperty(W1,"__esModule",{value:!0});W1.default=O8;var II=$8();Object.defineProperty(W1,"KeywordCxt",{enumerable:!0,get:function(){return II.KeywordCxt}});var i9=o();Object.defineProperty(W1,"_",{enumerable:!0,get:function(){return i9._}});Object.defineProperty(W1,"str",{enumerable:!0,get:function(){return i9.str}});Object.defineProperty(W1,"stringify",{enumerable:!0,get:function(){return i9.stringify}});Object.defineProperty(W1,"nil",{enumerable:!0,get:function(){return i9.nil}});Object.defineProperty(W1,"Name",{enumerable:!0,get:function(){return i9.Name}});Object.defineProperty(W1,"CodeGen",{enumerable:!0,get:function(){return i9.CodeGen}});var TI=GX();Object.defineProperty(W1,"ValidationError",{enumerable:!0,get:function(){return TI.default}});var CI=J8();Object.defineProperty(W1,"MissingRefError",{enumerable:!0,get:function(){return CI.default}})});var jV=w((OV)=>{Object.defineProperty(OV,"__esModule",{value:!0});OV.formatNames=OV.fastFormats=OV.fullFormats=void 0;function p1(Q,X){return{validate:Q,compare:X}}OV.fullFormats={date:p1(qV,j$),time:p1(O$(!0),w$),"date-time":p1(KV(!0),DV),"iso-time":p1(O$(),AV),"iso-date-time":p1(KV(),LV),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:hI,"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:iI,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:uI,int32:{type:"number",validate:cI},int64:{type:"number",validate:pI},float:{type:"number",validate:VV},double:{type:"number",validate:VV},password:!0,binary:!0};OV.fastFormats={...OV.fullFormats,date:p1(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,j$),time:p1(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,w$),"date-time":p1(/^\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,DV),"iso-time":p1(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,AV),"iso-date-time":p1(/^\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,LV),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};OV.formatNames=Object.keys(OV.fullFormats);function _I(Q){return Q%4===0&&(Q%100!==0||Q%400===0)}var xI=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,yI=[0,31,28,31,30,31,30,31,31,30,31,30,31];function qV(Q){let X=xI.exec(Q);if(!X)return!1;let Y=+X[1],W=+X[2],$=+X[3];return W>=1&&W<=12&&$>=1&&$<=(W===2&&_I(Y)?29:yI[W])}function j$(Q,X){if(!(Q&&X))return;if(Q>X)return 1;if(Q<X)return-1;return 0}var L$=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function O$(Q){return function(Y){let W=L$.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 F=J-K*B,q=$-z*B-(F<0?1:0);return(q===23||q===-1)&&(F===59||F===-1)&&G<61}}function w$(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 AV(Q,X){if(!(Q&&X))return;let Y=L$.exec(Q),W=L$.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 U$=/t|\s/i;function KV(Q){let X=O$(Q);return function(W){let $=W.split(U$);return $.length===2&&qV($[0])&&X($[1])}}function DV(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 LV(Q,X){if(!(Q&&X))return;let[Y,W]=Q.split(U$),[$,J]=X.split(U$),G=j$(Y,$);if(G===void 0)return;return G||w$(W,J)}var gI=/\/|:/,fI=/^(?:[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 hI(Q){return gI.test(Q)&&fI.test(Q)}var FV=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function uI(Q){return FV.lastIndex=0,FV.test(Q)}var lI=-2147483648,mI=2147483647;function cI(Q){return Number.isInteger(Q)&&Q<=mI&&Q>=lI}function pI(Q){return Number.isInteger(Q)}function VV(){return!0}var dI=/[^\\]\\Z/;function iI(Q){if(dI.test(Q))return!1;try{return new RegExp(Q),!0}catch(X){return!1}}});var j8=w((NV)=>{Object.defineProperty(NV,"__esModule",{value:!0});NV.regexpCode=NV.getEsmExportName=NV.getProperty=NV.safeStringify=NV.stringify=NV.strConcat=NV.addCodeArg=NV.str=NV._=NV.nil=NV._Code=NV.Name=NV.IDENTIFIER=NV._CodeOrName=void 0;class IX{}NV._CodeOrName=IX;NV.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class n9 extends IX{constructor(Q){super();if(!NV.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}}}NV.Name=n9;class T1 extends IX{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 n9)X[Y.str]=(X[Y.str]||0)+1;return X},{})}}NV._Code=T1;NV.nil=new T1("");function wV(Q,...X){let Y=[Q[0]],W=0;while(W<X.length)b$(Y,X[W]),Y.push(Q[++W]);return new T1(Y)}NV._=wV;var N$=new T1("+");function MV(Q,...X){let Y=[U8(Q[0])],W=0;while(W<X.length)Y.push(N$),b$(Y,X[W]),Y.push(N$,U8(Q[++W]));return oI(Y),new T1(Y)}NV.str=MV;function b$(Q,X){if(X instanceof T1)Q.push(...X._items);else if(X instanceof n9)Q.push(X);else Q.push(aI(X))}NV.addCodeArg=b$;function oI(Q){let X=1;while(X<Q.length-1){if(Q[X]===N$){let Y=rI(Q[X-1],Q[X+1]);if(Y!==void 0){Q.splice(X-1,3,Y);continue}Q[X++]="+"}X++}}function rI(Q,X){if(X==='""')return Q;if(Q==='""')return X;if(typeof Q=="string"){if(X instanceof n9||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 n9))return`"${Q}${X.slice(1)}`;return}function tI(Q,X){return X.emptyStr()?Q:Q.emptyStr()?X:MV`${Q}${X}`}NV.strConcat=tI;function aI(Q){return typeof Q=="number"||typeof Q=="boolean"||Q===null?Q:U8(Array.isArray(Q)?Q.join(","):Q)}function sI(Q){return new T1(U8(Q))}NV.stringify=sI;function U8(Q){return JSON.stringify(Q).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}NV.safeStringify=U8;function eI(Q){return typeof Q=="string"&&NV.IDENTIFIER.test(Q)?new T1(`.${Q}`):wV`[${Q}]`}NV.getProperty=eI;function QT(Q){if(typeof Q=="string"&&NV.IDENTIFIER.test(Q))return new T1(`${Q}`);throw Error(`CodeGen: invalid export name: ${Q}, use explicit $id name mapping`)}NV.getEsmExportName=QT;function XT(Q){return new T1(Q.toString())}NV.regexpCode=XT});var E$=w((RV)=>{Object.defineProperty(RV,"__esModule",{value:!0});RV.ValueScope=RV.ValueScopeName=RV.Scope=RV.varKinds=RV.UsedValueState=void 0;var $1=j8();class PV extends Error{constructor(Q){super(`CodeGen: "code" for ${Q} not defined`);this.value=Q.value}}var CX;(function(Q){Q[Q.Started=0]="Started",Q[Q.Completed=1]="Completed"})(CX||(RV.UsedValueState=CX={}));RV.varKinds={const:new $1.Name("const"),let:new $1.Name("let"),var:new $1.Name("var")};class Z${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}}}RV.Scope=Z$;class R$ 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}]`}}RV.ValueScopeName=R$;var AT=$1._`\n`;class ZV extends Z${constructor(Q){super(Q);this._values={},this._scope=Q.scope,this.opts={...Q,_n:Q.lines?AT:$1.nil}}get(){return this._scope}name(Q){return new R$(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,CX.Started);let z=X(B);if(z){let K=this.opts.es5?RV.varKinds.var:RV.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 PV(B);H.set(B,CX.Completed)})}return $}}RV.ValueScope=ZV});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 e=j8(),C1=E$(),E6=j8();Object.defineProperty(J1,"_",{enumerable:!0,get:function(){return E6._}});Object.defineProperty(J1,"str",{enumerable:!0,get:function(){return E6.str}});Object.defineProperty(J1,"strConcat",{enumerable:!0,get:function(){return E6.strConcat}});Object.defineProperty(J1,"nil",{enumerable:!0,get:function(){return E6.nil}});Object.defineProperty(J1,"getProperty",{enumerable:!0,get:function(){return E6.getProperty}});Object.defineProperty(J1,"stringify",{enumerable:!0,get:function(){return E6.stringify}});Object.defineProperty(J1,"regexpCode",{enumerable:!0,get:function(){return E6.regexpCode}});Object.defineProperty(J1,"Name",{enumerable:!0,get:function(){return E6.Name}});var gX=E$();Object.defineProperty(J1,"Scope",{enumerable:!0,get:function(){return gX.Scope}});Object.defineProperty(J1,"ValueScope",{enumerable:!0,get:function(){return gX.ValueScope}});Object.defineProperty(J1,"ValueScopeName",{enumerable:!0,get:function(){return gX.ValueScopeName}});Object.defineProperty(J1,"varKinds",{enumerable:!0,get:function(){return gX.varKinds}});J1.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 S6{optimizeNodes(){return this}optimizeNames(Q,X){return this}}class SV extends S6{constructor(Q,X,Y){super();this.varKind=Q,this.name=X,this.rhs=Y}render({es5:Q,_n:X}){let Y=Q?C1.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=r9(this.rhs,Q,X);return this}get names(){return this.rhs instanceof e._CodeOrName?this.rhs.names:{}}}class T$ extends S6{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=r9(this.rhs,Q,X),this}get names(){let Q=this.lhs instanceof e.Name?{}:{...this.lhs.names};return yX(Q,this.rhs)}}class IV extends T${constructor(Q,X,Y,W){super(Q,Y,W);this.op=X}render({_n:Q}){return`${this.lhs} ${this.op}= ${this.rhs};`+Q}}class TV extends S6{constructor(Q){super();this.label=Q,this.names={}}render({_n:Q}){return`${this.label}:`+Q}}class CV extends S6{constructor(Q){super();this.label=Q,this.names={}}render({_n:Q}){return`break${this.label?` ${this.label}`:""};`+Q}}class kV extends S6{constructor(Q){super();this.error=Q}render({_n:Q}){return`throw ${this.error};`+Q}get names(){return this.error.names}}class vV extends S6{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=r9(this.code,Q,X),this}get names(){return this.code instanceof e._CodeOrName?this.code.names:{}}}class fX extends S6{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;UT(Q,$.names),Y.splice(W,1)}return Y.length>0?this:void 0}get names(){return this.nodes.reduce((Q,X)=>W9(Q,X.names),{})}}class I6 extends fX{render(Q){return"{"+Q._n+super.render(Q)+"}"+Q._n}}class _V extends fX{}class w8 extends I6{}w8.kind="else";class $6 extends I6{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 $6?X:X.nodes;if(this.nodes.length)return this;return new $6(hV(Q),X instanceof $6?[X]:X.nodes)}if(Q===!1||!this.nodes.length)return;return this}optimizeNames(Q,X){var Y;if(this.else=(Y=this.else)===null||Y===void 0?void 0:Y.optimizeNames(Q,X),!(super.optimizeNames(Q,X)||this.else))return;return this.condition=r9(this.condition,Q,X),this}get names(){let Q=super.names;if(yX(Q,this.condition),this.else)W9(Q,this.else.names);return Q}}$6.kind="if";class o9 extends I6{}o9.kind="for";class xV extends o9{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=r9(this.iteration,Q,X),this}get names(){return W9(super.names,this.iteration.names)}}class yV extends o9{constructor(Q,X,Y,W){super();this.varKind=Q,this.name=X,this.from=Y,this.to=W}render(Q){let X=Q.es5?C1.varKinds.var:this.varKind,{name:Y,from:W,to:$}=this;return`for(${X} ${Y}=${W}; ${Y}<${$}; ${Y}++)`+super.render(Q)}get names(){let Q=yX(super.names,this.from);return yX(Q,this.to)}}class S$ extends o9{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=r9(this.iterable,Q,X),this}get names(){return W9(super.names,this.iterable.names)}}class kX extends I6{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)}}kX.kind="func";class vX extends fX{render(Q){return"return "+super.render(Q)}}vX.kind="return";class gV extends I6{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)W9(Q,this.catch.names);if(this.finally)W9(Q,this.finally.names);return Q}}class _X extends I6{constructor(Q){super();this.error=Q}render(Q){return`catch(${this.error})`+super.render(Q)}}_X.kind="catch";class xX extends I6{render(Q){return"finally"+super.render(Q)}}xX.kind="finally";class fV{constructor(Q,X={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...X,_n:X.lines?`
|
|
10
|
+
`:""},this._extScope=Q,this._scope=new C1.Scope({parent:Q}),this._nodes=[new _V]}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 SV(Q,$,Y)),$}const(Q,X,Y){return this._def(C1.varKinds.const,Q,X,Y)}let(Q,X,Y){return this._def(C1.varKinds.let,Q,X,Y)}var(Q,X,Y){return this._def(C1.varKinds.var,Q,X,Y)}assign(Q,X,Y){return this._leafNode(new T$(Q,X,Y))}add(Q,X){return this._leafNode(new IV(Q,J1.operators.ADD,X))}code(Q){if(typeof Q=="function")Q();else if(Q!==e.nil)this._leafNode(new vV(Q));return this}object(...Q){let X=["{"];for(let[Y,W]of Q){if(X.length>1)X.push(",");if(X.push(Y),Y!==W||this.opts.es5)X.push(":"),(0,e.addCodeArg)(X,W)}return X.push("}"),new e._Code(X)}if(Q,X,Y){if(this._blockNode(new $6(Q)),X&&Y)this.code(X).else().code(Y).endIf();else if(X)this.code(X).endIf();else if(Y)throw Error('CodeGen: "else" body without "then" body');return this}elseIf(Q){return this._elseNode(new $6(Q))}else(){return this._elseNode(new w8)}endIf(){return this._endBlockNode($6,w8)}_for(Q,X){if(this._blockNode(Q),X)this.code(X).endFor();return this}for(Q,X){return this._for(new xV(Q),X)}forRange(Q,X,Y,W,$=this.opts.es5?C1.varKinds.var:C1.varKinds.let){let J=this._scope.toName(Q);return this._for(new yV($,J,X,Y),()=>W(J))}forOf(Q,X,Y,W=C1.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 S$("of",W,$,X),()=>Y($))}forIn(Q,X,Y,W=this.opts.es5?C1.varKinds.var:C1.varKinds.const){if(this.opts.ownProperties)return this.forOf(Q,e._`Object.keys(${X})`,Y);let $=this._scope.toName(Q);return this._for(new S$("in",W,$,X),()=>Y($))}endFor(){return this._endBlockNode(o9)}label(Q){return this._leafNode(new TV(Q))}break(Q){return this._leafNode(new CV(Q))}return(Q){let X=new vX;if(this._blockNode(X),this.code(Q),X.nodes.length!==1)throw Error('CodeGen: "return" should have one node');return this._endBlockNode(vX)}try(Q,X,Y){if(!X&&!Y)throw Error('CodeGen: "try" without "catch" and "finally"');let W=new gV;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 xX,this.code(Y);return this._endBlockNode(_X,xX)}throw(Q){return this._leafNode(new kV(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 kX(Q,X,Y)),W)this.code(W).endFunc();return this}endFunc(){return this._endBlockNode(kX)}optimize(Q=1){while(Q-- >0)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(Q){return this._currNode.nodes.push(Q),this}_blockNode(Q){this._currNode.nodes.push(Q),this._nodes.push(Q)}_endBlockNode(Q,X){let Y=this._currNode;if(Y instanceof Q||X&&Y instanceof X)return this._nodes.pop(),this;throw Error(`CodeGen: not in block "${X?`${Q.kind}/${X.kind}`:Q.kind}"`)}_elseNode(Q){let X=this._currNode;if(!(X instanceof $6))throw Error('CodeGen: "else" without "if"');return this._currNode=X.else=Q,this}get _root(){return this._nodes[0]}get _currNode(){let Q=this._nodes;return Q[Q.length-1]}set _currNode(Q){let X=this._nodes;X[X.length-1]=Q}}J1.CodeGen=fV;function W9(Q,X){for(let Y in X)Q[Y]=(Q[Y]||0)+(X[Y]||0);return Q}function yX(Q,X){return X instanceof e._CodeOrName?W9(Q,X.names):Q}function r9(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 UT(Q,X){for(let Y in X)Q[Y]=(Q[Y]||0)-(X[Y]||0)}function hV(Q){return typeof Q=="boolean"||typeof Q=="number"||Q===null?!Q:e._`!${I$(Q)}`}J1.not=hV;var jT=uV(J1.operators.AND);function wT(...Q){return Q.reduce(jT)}J1.and=wT;var MT=uV(J1.operators.OR);function NT(...Q){return Q.reduce(MT)}J1.or=NT;function uV(Q){return(X,Y)=>X===e.nil?Y:Y===e.nil?X:e._`${I$(X)} ${Q} ${I$(Y)}`}function I$(Q){return Q instanceof e.Name?Q:e._`(${Q})`}});var W0=w((rV)=>{Object.defineProperty(rV,"__esModule",{value:!0});rV.checkStrictMode=rV.getErrorPath=rV.Type=rV.useFunc=rV.setEvaluated=rV.evaluatedPropsToName=rV.mergeEvaluated=rV.eachItem=rV.unescapeJsonPointer=rV.escapeJsonPointer=rV.escapeFragment=rV.unescapeFragment=rV.schemaRefOrVal=rV.schemaHasRulesButRef=rV.schemaHasRules=rV.checkUnknownRules=rV.alwaysValidSchema=rV.toHash=void 0;var z0=i(),RT=j8();function ET(Q){let X={};for(let Y of Q)X[Y]=!0;return X}rV.toHash=ET;function ST(Q,X){if(typeof X=="boolean")return X;if(Object.keys(X).length===0)return!0;return pV(Q,X),!dV(X,Q.self.RULES.all)}rV.alwaysValidSchema=ST;function pV(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])oV(Q,`unknown keyword: "${J}"`)}rV.checkUnknownRules=pV;function dV(Q,X){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(X[Y])return!0;return!1}rV.schemaHasRules=dV;function IT(Q,X){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(Y!=="$ref"&&X.all[Y])return!0;return!1}rV.schemaHasRulesButRef=IT;function TT({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)}`}rV.schemaRefOrVal=TT;function CT(Q){return iV(decodeURIComponent(Q))}rV.unescapeFragment=CT;function kT(Q){return encodeURIComponent(k$(Q))}rV.escapeFragment=kT;function k$(Q){if(typeof Q=="number")return`${Q}`;return Q.replace(/~/g,"~0").replace(/\//g,"~1")}rV.escapeJsonPointer=k$;function iV(Q){return Q.replace(/~1/g,"/").replace(/~0/g,"~")}rV.unescapeJsonPointer=iV;function vT(Q,X){if(Array.isArray(Q))for(let Y of Q)X(Y);else X(Q)}rV.eachItem=vT;function mV({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}}rV.mergeEvaluated={props:mV({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} || {}`),v$(Q,Y,X)}),mergeValues:(Q,X)=>Q===!0?!0:{...Q,...X},resultToName:nV}),items:mV({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 nV(Q,X){if(X===!0)return Q.var("props",!0);let Y=Q.var("props",z0._`{}`);if(X!==void 0)v$(Q,Y,X);return Y}rV.evaluatedPropsToName=nV;function v$(Q,X,Y){Object.keys(Y).forEach((W)=>Q.assign(z0._`${X}${(0,z0.getProperty)(W)}`,!0))}rV.setEvaluated=v$;var cV={};function _T(Q,X){return Q.scopeValue("func",{ref:X,code:cV[X.code]||(cV[X.code]=new RT._Code(X.code))})}rV.useFunc=_T;var C$;(function(Q){Q[Q.Num=0]="Num",Q[Q.Str=1]="Str"})(C$||(rV.Type=C$={}));function xT(Q,X,Y){if(Q instanceof z0.Name){let W=X===C$.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():"/"+k$(Q)}rV.getErrorPath=xT;function oV(Q,X,Y=Q.opts.strictSchema){if(!Y)return;if(X=`strict mode: ${X}`,Y===!0)throw Error(X);Q.self.logger.warn(X)}rV.checkStrictMode=oV});var J6=w((aV)=>{Object.defineProperty(aV,"__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")};aV.default=eT});var M8=w((Xq)=>{Object.defineProperty(Xq,"__esModule",{value:!0});Xq.extendErrors=Xq.resetErrorsCount=Xq.reportExtraError=Xq.reportError=Xq.keyword$DataError=Xq.keywordError=void 0;var X0=i(),uX=W0(),i0=J6();Xq.keywordError={message:({keyword:Q})=>X0.str`must pass "${Q}" keyword validation`};Xq.keyword$DataError={message:({keyword:Q,schemaType:X})=>X?X0.str`"${Q}" keyword must be ${X} ($data)`:X0.str`"${Q}" keyword is invalid ($data)`};function XC(Q,X=Xq.keywordError,Y,W){let{it:$}=Q,{gen:J,compositeRule:G,allErrors:H}=$,B=Qq(Q,X,Y);if(W!==null&&W!==void 0?W:G||H)sV(J,B);else eV($,X0._`[${B}]`)}Xq.reportError=XC;function YC(Q,X=Xq.keywordError,Y){let{it:W}=Q,{gen:$,compositeRule:J,allErrors:G}=W,H=Qq(Q,X,Y);if(sV($,H),!(J||G))eV(W,i0.default.vErrors)}Xq.reportExtraError=YC;function WC(Q,X){Q.assign(i0.default.errors,X),Q.if(X0._`${i0.default.vErrors} !== null`,()=>Q.if(X,()=>Q.assign(X0._`${i0.default.vErrors}.length`,X),()=>Q.assign(i0.default.vErrors,null)))}Xq.resetErrorsCount=WC;function $C({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",$,i0.default.errors,(H)=>{if(Q.const(G,X0._`${i0.default.vErrors}[${H}]`),Q.if(X0._`${G}.instancePath === undefined`,()=>Q.assign(X0._`${G}.instancePath`,(0,X0.strConcat)(i0.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)})}Xq.extendErrors=$C;function sV(Q,X){let Y=Q.const("err",X);Q.if(X0._`${i0.default.vErrors} === null`,()=>Q.assign(i0.default.vErrors,X0._`[${Y}]`),X0._`${i0.default.vErrors}.push(${Y})`),Q.code(X0._`${i0.default.errors}++`)}function eV(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 $9={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 Qq(Q,X,Y){let{createErrors:W}=Q.it;if(W===!1)return X0._`{}`;return JC(Q,X,Y)}function JC(Q,X,Y={}){let{gen:W,it:$}=Q,J=[GC($,Y),HC(Q,Y)];return BC(Q,X,J),W.object(...J)}function GC({errorPath:Q},{instancePath:X}){let Y=X?X0.str`${Q}${(0,uX.getErrorPath)(X,uX.Type.Str)}`:Q;return[i0.default.instancePath,(0,X0.strConcat)(i0.default.instancePath,Y)]}function HC({keyword:Q,it:{errSchemaPath:X}},{schemaPath:Y,parentSchema:W}){let $=W?X:X0.str`${X}/${Q}`;if(Y)$=X0.str`${$}${(0,uX.getErrorPath)(Y,uX.Type.Str)}`;return[$9.schemaPath,$]}function BC(Q,{params:X,message:Y},W){let{keyword:$,data:J,schemaValue:G,it:H}=Q,{opts:B,propertyName:z,topSchemaRef:K,schemaPath:F}=H;if(W.push([$9.keyword,$],[$9.params,typeof X=="function"?X(Q):X||X0._`{}`]),B.messages)W.push([$9.message,typeof Y=="function"?Y(Q):Y]);if(B.verbose)W.push([$9.schema,G],[$9.parentSchema,X0._`${K}${F}`],[i0.default.data,J]);if(z)W.push([$9.propertyName,z])}});var Gq=w(($q)=>{Object.defineProperty($q,"__esModule",{value:!0});$q.boolOrEmptySchema=$q.topBoolOrEmptySchema=void 0;var qC=M8(),AC=i(),DC=J6(),LC={message:"boolean schema is false"};function OC(Q){let{gen:X,schema:Y,validateName:W}=Q;if(Y===!1)Wq(Q,!1);else if(typeof Y=="object"&&Y.$async===!0)X.return(DC.default.data);else X.assign(AC._`${W}.errors`,null),X.return(!0)}$q.topBoolOrEmptySchema=OC;function UC(Q,X){let{gen:Y,schema:W}=Q;if(W===!1)Y.var(X,!1),Wq(Q);else Y.var(X,!0)}$q.boolOrEmptySchema=UC;function Wq(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,qC.reportError)($,LC,void 0,X)}});var x$=w((Hq)=>{Object.defineProperty(Hq,"__esModule",{value:!0});Hq.getRules=Hq.isJSONType=void 0;var wC=["string","number","integer","boolean","null","object","array"],MC=new Set(wC);function NC(Q){return typeof Q=="string"&&MC.has(Q)}Hq.isJSONType=NC;function bC(){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:{}}}Hq.getRules=bC});var y$=w((Fq)=>{Object.defineProperty(Fq,"__esModule",{value:!0});Fq.shouldUseRule=Fq.shouldUseGroup=Fq.schemaHasRulesForType=void 0;function ZC({schema:Q,self:X},Y){let W=X.RULES.types[Y];return W&&W!==!0&&zq(Q,W)}Fq.schemaHasRulesForType=ZC;function zq(Q,X){return X.rules.some((Y)=>Kq(Q,Y))}Fq.shouldUseGroup=zq;function Kq(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))}Fq.shouldUseRule=Kq});var N8=w((Lq)=>{Object.defineProperty(Lq,"__esModule",{value:!0});Lq.reportTypeError=Lq.checkDataTypes=Lq.checkDataType=Lq.coerceAndCheckDataType=Lq.getJSONTypes=Lq.getSchemaTypes=Lq.DataType=void 0;var SC=x$(),IC=y$(),TC=M8(),d=i(),qq=W0(),t9;(function(Q){Q[Q.Correct=0]="Correct",Q[Q.Wrong=1]="Wrong"})(t9||(Lq.DataType=t9={}));function CC(Q){let X=Aq(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}Lq.getSchemaTypes=CC;function Aq(Q){let X=Array.isArray(Q)?Q:Q?[Q]:[];if(X.every(SC.isJSONType))return X;throw Error("type must be JSONType or JSONType[]: "+X.join(","))}Lq.getJSONTypes=Aq;function kC(Q,X){let{gen:Y,data:W,opts:$}=Q,J=vC(X,$.coerceTypes),G=X.length>0&&!(J.length===0&&X.length===1&&(0,IC.schemaHasRulesForType)(Q,X[0]));if(G){let H=f$(X,W,$.strictNumbers,t9.Wrong);Y.if(H,()=>{if(J.length)_C(Q,X,J);else h$(Q)})}return G}Lq.coerceAndCheckDataType=kC;var Dq=new Set(["string","number","integer","boolean","null"]);function vC(Q,X){return X?Q.filter((Y)=>Dq.has(Y)||X==="array"&&Y==="array"):[]}function _C(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(f$(X,$,J.strictNumbers),()=>W.assign(H,$)));W.if(d._`${H} !== undefined`);for(let z of Y)if(Dq.has(z)||z==="array"&&J.coerceTypes==="array")B(z);W.else(),h$(Q),W.endIf(),W.if(d._`${H} !== undefined`,()=>{W.assign($,H),xC(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
11
|
|| (${G} == "string" && ${$} && ${$} == +${$})`).assign(H,d._`+${$}`);return;case"integer":W.elseIf(d._`${G} === "boolean" || ${$} === null
|
|
12
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},
|
|
13
|
+
|| ${G} === "boolean" || ${$} === null`).assign(H,d._`[${$}]`)}}}function xC({gen:Q,parentData:X,parentDataProperty:Y},W){Q.if(d._`${X} !== undefined`,()=>Q.assign(d._`${X}[${Y}]`,W))}function g$(Q,X,Y,W=t9.Correct){let $=W===t9.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===t9.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)}}Lq.checkDataType=g$;function f$(Q,X,Y,W){if(Q.length===1)return g$(Q[0],X,Y,W);let $,J=(0,qq.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)($,g$(G,X,Y,W));return $}Lq.checkDataTypes=f$;var yC={message:({schema:Q})=>`must be ${Q}`,params:({schema:Q,schemaValue:X})=>typeof Q=="string"?d._`{type: ${Q}}`:d._`{type: ${X}}`};function h$(Q){let X=gC(Q);(0,TC.reportError)(X,yC)}Lq.reportTypeError=h$;function gC(Q){let{gen:X,data:Y,schema:W}=Q,$=(0,qq.schemaRefOrVal)(Q,W,"type");return{gen:X,keyword:"type",data:Y,schema:W.type,schemaCode:$,schemaValue:$,parentSchema:W,params:{},it:Q}}});var Mq=w((jq)=>{Object.defineProperty(jq,"__esModule",{value:!0});jq.assignDefaults=void 0;var a9=i(),pC=W0();function dC(Q,X){let{properties:Y,items:W}=Q.schema;if(X==="object"&&Y)for(let $ in Y)Uq(Q,$,Y[$].default);else if(X==="array"&&Array.isArray(W))W.forEach(($,J)=>Uq(Q,J,$.default))}jq.assignDefaults=dC;function Uq(Q,X,Y){let{gen:W,compositeRule:$,data:J,opts:G}=Q;if(Y===void 0)return;let H=a9._`${J}${(0,a9.getProperty)(X)}`;if($){(0,pC.checkStrictMode)(Q,`default is ignored for: ${H}`);return}let B=a9._`${H} === undefined`;if(G.useDefaults==="empty")B=a9._`${B} || ${H} === null || ${H} === ""`;W.if(B,a9._`${H} = ${(0,a9.stringify)(Y)}`)}});var A1=w((Pq)=>{Object.defineProperty(Pq,"__esModule",{value:!0});Pq.validateUnion=Pq.validateArray=Pq.usePattern=Pq.callValidateCode=Pq.schemaProperties=Pq.allSchemaProperties=Pq.noPropertyInData=Pq.propertyInData=Pq.isOwnProperty=Pq.hasPropFunc=Pq.reportMissingProp=Pq.checkMissingProp=Pq.checkReportMissingProp=void 0;var L0=i(),u$=W0(),T6=J6(),iC=W0();function nC(Q,X){let{gen:Y,data:W,it:$}=Q;Y.if(m$(Y,W,X,$.opts.ownProperties),()=>{Q.setParams({missingProperty:L0._`${X}`},!0),Q.error()})}Pq.checkReportMissingProp=nC;function oC({gen:Q,data:X,it:{opts:Y}},W,$){return(0,L0.or)(...W.map((J)=>(0,L0.and)(m$(Q,X,J,Y.ownProperties),L0._`${$} = ${J}`)))}Pq.checkMissingProp=oC;function rC(Q,X){Q.setParams({missingProperty:X},!0),Q.error()}Pq.reportMissingProp=rC;function Nq(Q){return Q.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:L0._`Object.prototype.hasOwnProperty`})}Pq.hasPropFunc=Nq;function l$(Q,X,Y){return L0._`${Nq(Q)}.call(${X}, ${Y})`}Pq.isOwnProperty=l$;function tC(Q,X,Y,W){let $=L0._`${X}${(0,L0.getProperty)(Y)} !== undefined`;return W?L0._`${$} && ${l$(Q,X,Y)}`:$}Pq.propertyInData=tC;function m$(Q,X,Y,W){let $=L0._`${X}${(0,L0.getProperty)(Y)} === undefined`;return W?(0,L0.or)($,(0,L0.not)(l$(Q,X,Y))):$}Pq.noPropertyInData=m$;function bq(Q){return Q?Object.keys(Q).filter((X)=>X!=="__proto__"):[]}Pq.allSchemaProperties=bq;function aC(Q,X){return bq(X).filter((Y)=>!(0,u$.alwaysValidSchema)(Q,X[Y]))}Pq.schemaProperties=aC;function sC({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,F=[[T6.default.instancePath,(0,L0.strConcat)(T6.default.instancePath,J)],[T6.default.parentData,G.parentData],[T6.default.parentDataProperty,G.parentDataProperty],[T6.default.rootData,T6.default.rootData]];if(G.opts.dynamicRef)F.push([T6.default.dynamicAnchors,T6.default.dynamicAnchors]);let q=L0._`${K}, ${Y.object(...F)}`;return B!==L0.nil?L0._`${H}.call(${B}, ${q})`:L0._`${H}(${q})`}Pq.callValidateCode=sC;var eC=L0._`new RegExp`;function Q2({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"?eC:(0,iC.useFunc)(Q,$)}(${Y}, ${W})`})}Pq.usePattern=Q2;function X2(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:u$.Type.Num},J),X.if((0,L0.not)(J),H)})}}Pq.validateArray=X2;function Y2(Q){let{gen:X,schema:Y,keyword:W,it:$}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");if(Y.some((B)=>(0,u$.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))}Pq.validateUnion=Y2});var Tq=w((Sq)=>{Object.defineProperty(Sq,"__esModule",{value:!0});Sq.validateKeywordUsage=Sq.validSchemaType=Sq.funcKeywordCode=Sq.macroKeywordCode=void 0;var n0=i(),J9=J6(),D2=A1(),L2=M8();function O2(Q,X){let{gen:Y,keyword:W,schema:$,parentSchema:J,it:G}=Q,H=X.macro.call(G.self,$,J,G),B=Eq(Y,W,H);if(G.opts.validateSchema!==!1)G.self.validateSchema(H,!0);let z=Y.name("valid");Q.subschema({schema:H,schemaPath:n0.nil,errSchemaPath:`${G.errSchemaPath}/${W}`,topSchemaRef:B,compositeRule:!0},z),Q.pass(z,()=>Q.error(!0))}Sq.macroKeywordCode=O2;function U2(Q,X){var Y;let{gen:W,keyword:$,schema:J,parentSchema:G,$data:H,it:B}=Q;w2(B,X);let z=!H&&X.compile?X.compile.call(B.self,J,G,B):X.validate,K=Eq(W,$,z),F=W.let("valid");Q.block$data(F,q),Q.ok((Y=X.valid)!==null&&Y!==void 0?Y:F);function q(){if(X.errors===!1){if(A(),X.modifying)Rq(Q);L(()=>Q.error())}else{let O=X.async?V():D();if(X.modifying)Rq(Q);L(()=>j2(Q,O))}}function V(){let O=W.let("ruleErrs",null);return W.try(()=>A(n0._`await `),(M)=>W.assign(F,!1).if(n0._`${M} instanceof ${B.ValidationError}`,()=>W.assign(O,n0._`${M}.errors`),()=>W.throw(M))),O}function D(){let O=n0._`${K}.errors`;return W.assign(O,null),A(n0.nil),O}function A(O=X.async?n0._`await `:n0.nil){let M=B.opts.passContext?J9.default.this:J9.default.self,N=!(("compile"in X)&&!H||X.schema===!1);W.assign(F,n0._`${O}${(0,D2.callValidateCode)(Q,K,M,N)}`,X.modifying)}function L(O){var M;W.if((0,n0.not)((M=X.valid)!==null&&M!==void 0?M:F),O)}}Sq.funcKeywordCode=U2;function Rq(Q){let{gen:X,data:Y,it:W}=Q;X.if(W.parentData,()=>X.assign(Y,n0._`${W.parentData}[${W.parentDataProperty}]`))}function j2(Q,X){let{gen:Y}=Q;Y.if(n0._`Array.isArray(${X})`,()=>{Y.assign(J9.default.vErrors,n0._`${J9.default.vErrors} === null ? ${X} : ${J9.default.vErrors}.concat(${X})`).assign(J9.default.errors,n0._`${J9.default.vErrors}.length`),(0,L2.extendErrors)(Q)},()=>Q.error())}function w2({schemaEnv:Q},X){if(X.async&&!Q.$async)throw Error("async keyword in sync schema")}function Eq(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,n0.stringify)(Y)})}function M2(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")}Sq.validSchemaType=M2;function N2({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)}}}Sq.validateKeywordUsage=N2});var _q=w((kq)=>{Object.defineProperty(kq,"__esModule",{value:!0});kq.extendSubschemaMode=kq.extendSubschemaData=kq.getSubschema=void 0;var d1=i(),Cq=W0();function R2(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,Cq.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')}kq.getSubschema=R2;function E2(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:F}=X,q=H.let("data",d1._`${X.data}${(0,d1.getProperty)(Y)}`,!0);B(q),Q.errorPath=d1.str`${z}${(0,Cq.getErrorPath)(Y,W,F.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]}}kq.extendSubschemaData=E2;function S2(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}kq.extendSubschemaMode=S2});var yq=w((Sp,xq)=>{var C6=xq.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(){};lX(X,W,$,Q,"",Q)};C6.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};C6.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};C6.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};C6.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 lX(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 F=W[K];if(Array.isArray(F)){if(K in C6.arrayKeywords)for(var q=0;q<F.length;q++)lX(Q,X,Y,F[q],$+"/"+K+"/"+q,J,$,K,W,q)}else if(K in C6.propsKeywords){if(F&&typeof F=="object")for(var V in F)lX(Q,X,Y,F[V],$+"/"+K+"/"+C2(V),J,$,K,W,V)}else if(K in C6.keywords||Q.allKeys&&!(K in C6.skipKeywords))lX(Q,X,Y,F,$+"/"+K,J,$,K,W)}Y(W,$,J,G,H,B,z)}}function C2(Q){return Q.replace(/~/g,"~0").replace(/\//g,"~1")}});var b8=w((uq)=>{Object.defineProperty(uq,"__esModule",{value:!0});uq.getSchemaRefs=uq.resolveUrl=uq.normalizeId=uq._getFullPath=uq.getFullPath=uq.inlineRef=void 0;var k2=W0(),v2=Q8(),_2=yq(),x2=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function y2(Q,X=!0){if(typeof Q=="boolean")return!0;if(X===!0)return!c$(Q);if(!X)return!1;return gq(Q)<=X}uq.inlineRef=y2;var g2=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function c$(Q){for(let X in Q){if(g2.has(X))return!0;let Y=Q[X];if(Array.isArray(Y)&&Y.some(c$))return!0;if(typeof Y=="object"&&c$(Y))return!0}return!1}function gq(Q){let X=0;for(let Y in Q){if(Y==="$ref")return 1/0;if(X++,x2.has(Y))continue;if(typeof Q[Y]=="object")(0,k2.eachItem)(Q[Y],(W)=>X+=gq(W));if(X===1/0)return 1/0}return X}function fq(Q,X="",Y){if(Y!==!1)X=s9(X);let W=Q.parse(X);return hq(Q,W)}uq.getFullPath=fq;function hq(Q,X){return Q.serialize(X).split("#")[0]+"#"}uq._getFullPath=hq;var f2=/#\/?$/;function s9(Q){return Q?Q.replace(f2,""):""}uq.normalizeId=s9;function h2(Q,X,Y){return Y=s9(Y),Q.resolve(X,Y)}uq.resolveUrl=h2;var u2=/^[a-z_][-a-z0-9._]*$/i;function l2(Q,X){if(typeof Q=="boolean")return{};let{schemaId:Y,uriResolver:W}=this.opts,$=s9(Q[Y]||X),J={"":$},G=fq(W,$,!1),H={},B=new Set;return _2(Q,{allKeys:!0},(F,q,V,D)=>{if(D===void 0)return;let A=G+q,L=J[D];if(typeof F[Y]=="string")L=O.call(this,F[Y]);M.call(this,F.$anchor),M.call(this,F.$dynamicAnchor),J[q]=L;function O(N){let C=this.opts.uriResolver.resolve;if(N=s9(L?C(L,N):N),B.has(N))throw K(N);B.add(N);let Z=this.refs[N];if(typeof Z=="string")Z=this.refs[Z];if(typeof Z=="object")z(F,Z.schema,N);else if(N!==s9(A))if(N[0]==="#")z(F,H[N],N),H[N]=F;else this.refs[N]=A;return N}function M(N){if(typeof N=="string"){if(!u2.test(N))throw Error(`invalid anchor "${N}"`);O.call(this,`#${N}`)}}}),H;function z(F,q,V){if(q!==void 0&&!v2(F,q))throw K(V)}function K(F){return Error(`reference "${F}" resolves to more than one schema`)}}uq.getSchemaRefs=l2});var R8=w((YA)=>{Object.defineProperty(YA,"__esModule",{value:!0});YA.getData=YA.KeywordCxt=YA.validateFunctionCode=void 0;var iq=Gq(),mq=N8(),d$=y$(),mX=N8(),n2=Mq(),Z8=Tq(),p$=_q(),y=i(),l=J6(),o2=b8(),G6=W0(),P8=M8();function r2(Q){if(rq(Q)){if(tq(Q),oq(Q)){s2(Q);return}}nq(Q,()=>(0,iq.topBoolOrEmptySchema)(Q))}YA.validateFunctionCode=r2;function nq({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"; ${cq(Y,$)}`),a2(Q,$),Q.code(J)});else Q.func(X,y._`${l.default.data}, ${t2($)}`,W.$async,()=>Q.code(cq(Y,$)).code(J))}function t2(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 a2(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 s2(Q){let{schema:X,opts:Y,gen:W}=Q;nq(Q,()=>{if(Y.$comment&&X.$comment)sq(Q);if(Wk(Q),W.let(l.default.vErrors,null),W.let(l.default.errors,0),Y.unevaluated)e2(Q);aq(Q),Gk(Q)});return}function e2(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 cq(Q,X){let Y=typeof Q=="object"&&Q[X.schemaId];return Y&&(X.code.source||X.code.process)?y._`/*# sourceURL=${Y} */`:y.nil}function Qk(Q,X){if(rq(Q)){if(tq(Q),oq(Q)){Xk(Q,X);return}}(0,iq.boolOrEmptySchema)(Q,X)}function oq({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 rq(Q){return typeof Q.schema!="boolean"}function Xk(Q,X){let{schema:Y,gen:W,opts:$}=Q;if($.$comment&&Y.$comment)sq(Q);$k(Q),Jk(Q);let J=W.const("_errs",l.default.errors);aq(Q,J),W.var(X,y._`${J} === ${l.default.errors}`)}function tq(Q){(0,G6.checkUnknownRules)(Q),Yk(Q)}function aq(Q,X){if(Q.opts.jtd)return pq(Q,[],!1,X);let Y=(0,mq.getSchemaTypes)(Q.schema),W=(0,mq.coerceAndCheckDataType)(Q,Y);pq(Q,Y,!W,X)}function Yk(Q){let{schema:X,errSchemaPath:Y,opts:W,self:$}=Q;if(X.$ref&&W.ignoreKeywordsWithRef&&(0,G6.schemaHasRulesButRef)(X,$.RULES))$.logger.warn(`$ref: keywords ignored in schema at path "${Y}"`)}function Wk(Q){let{schema:X,opts:Y}=Q;if(X.default!==void 0&&Y.useDefaults&&Y.strictSchema)(0,G6.checkStrictMode)(Q,"default is ignored in the schema root")}function $k(Q){let X=Q.schema[Q.opts.schemaId];if(X)Q.baseId=(0,o2.resolveUrl)(Q.opts.uriResolver,Q.baseId,X)}function Jk(Q){if(Q.schema.$async&&!Q.schemaEnv.$async)throw Error("async schema in sync schema")}function sq({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 Gk(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)Hk(Q);X.return(y._`${l.default.errors} === 0`)}}function Hk({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 pq(Q,X,Y,W){let{gen:$,schema:J,data:G,allErrors:H,opts:B,self:z}=Q,{RULES:K}=z;if(J.$ref&&(B.ignoreKeywordsWithRef||!(0,G6.schemaHasRulesButRef)(J,K))){$.block(()=>QA(Q,"$ref",K.all.$ref.definition));return}if(!B.jtd)Bk(Q,X);$.block(()=>{for(let q of K.rules)F(q);F(K.post)});function F(q){if(!(0,d$.shouldUseGroup)(J,q))return;if(q.type){if($.if((0,mX.checkDataType)(q.type,G,B.strictNumbers)),dq(Q,q),X.length===1&&X[0]===q.type&&Y)$.else(),(0,mX.reportTypeError)(Q);$.endIf()}else dq(Q,q);if(!H)$.if(y._`${l.default.errors} === ${W||0}`)}}function dq(Q,X){let{gen:Y,schema:W,opts:{useDefaults:$}}=Q;if($)(0,n2.assignDefaults)(Q,X.type);Y.block(()=>{for(let J of X.rules)if((0,d$.shouldUseRule)(W,J))QA(Q,J.keyword,J.definition,X.type)})}function Bk(Q,X){if(Q.schemaEnv.meta||!Q.opts.strictTypes)return;if(zk(Q,X),!Q.opts.allowUnionTypes)Kk(Q,X);Fk(Q,Q.dataTypes)}function zk(Q,X){if(!X.length)return;if(!Q.dataTypes.length){Q.dataTypes=X;return}X.forEach((Y)=>{if(!eq(Q.dataTypes,Y))i$(Q,`type "${Y}" not allowed by context "${Q.dataTypes.join(",")}"`)}),qk(Q,X)}function Kk(Q,X){if(X.length>1&&!(X.length===2&&X.includes("null")))i$(Q,"use allowUnionTypes to allow union type keyword")}function Fk(Q,X){let Y=Q.self.RULES.all;for(let W in Y){let $=Y[W];if(typeof $=="object"&&(0,d$.shouldUseRule)(Q.schema,$)){let{type:J}=$.definition;if(J.length&&!J.some((G)=>Vk(X,G)))i$(Q,`missing type "${J.join(",")}" for keyword "${W}"`)}}}function Vk(Q,X){return Q.includes(X)||X==="number"&&Q.includes("integer")}function eq(Q,X){return Q.includes(X)||X==="integer"&&Q.includes("number")}function qk(Q,X){let Y=[];for(let W of Q.dataTypes)if(eq(X,W))Y.push(W);else if(X.includes("integer")&&W==="number")Y.push("integer");Q.dataTypes=Y}function i$(Q,X){let Y=Q.schemaEnv.baseId+Q.errSchemaPath;X+=` at "${Y}" (strictTypes)`,(0,G6.checkStrictMode)(Q,X,Q.opts.strictTypes)}class n${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,G6.schemaRefOrVal)(Q,this.schema,Y,this.$data),this.schemaType=X.schemaType,this.parentSchema=Q.schema,this.params={},this.it=Q,this.def=X,this.$data)this.schemaCode=Q.gen.const("vSchema",XA(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",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?P8.reportExtraError:P8.reportError)(this,this.def.error,X)}$dataError(){(0,P8.reportError)(this,this.def.$dataError||P8.keyword$DataError)}reset(){if(this.errsCount===void 0)throw Error('add "trackErrors" to keyword definition');(0,P8.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,mX.checkDataTypes)(H,X,$.opts.strictNumbers,mX.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,p$.getSubschema)(this.it,Q);(0,p$.extendSubschemaData)(Y,this.it,Q),(0,p$.extendSubschemaMode)(Y,Q);let W={...this.it,...Y,items:void 0,props:void 0};return Qk(W,X),W}mergeEvaluated(Q,X){let{it:Y,gen:W}=this;if(!Y.opts.unevaluated)return;if(Y.props!==!0&&Q.props!==void 0)Y.props=G6.mergeEvaluated.props(W,Q.props,Y.props,X);if(Y.items!==!0&&Q.items!==void 0)Y.items=G6.mergeEvaluated.items(W,Q.items,Y.items,X)}mergeValidEvaluated(Q,X){let{it:Y,gen:W}=this;if(Y.opts.unevaluated&&(Y.props!==!0||Y.items!==!0))return W.if(X,()=>this.mergeEvaluated(Q,y.Name)),!0}}YA.KeywordCxt=n$;function QA(Q,X,Y,W){let $=new n$(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 Ak=/^\/(?:[^~]|~0|~1)*$/,Dk=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function XA(Q,{dataLevel:X,dataNames:Y,dataPathArr:W}){let $,J;if(Q==="")return l.default.rootData;if(Q[0]==="/"){if(!Ak.test(Q))throw Error(`Invalid JSON-pointer: ${Q}`);$=Q,J=l.default.rootData}else{let z=Dk.exec(Q);if(!z)throw Error(`Invalid JSON-pointer: ${Q}`);let K=+z[1];if($=z[2],$==="#"){if(K>=X)throw Error(B("property/index",K));return W[X-K]}if(K>X)throw Error(B("data",K));if(J=Y[X-K],!$)return J}let G=J,H=$.split("/");for(let z of H)if(z)J=y._`${J}${(0,y.getProperty)((0,G6.unescapeJsonPointer)(z))}`,G=y._`${G} && ${J}`;return G;function B(z,K){return`Cannot access ${z} ${K} levels up, current level is ${X}`}}YA.getData=XA});var cX=w((JA)=>{Object.defineProperty(JA,"__esModule",{value:!0});class $A extends Error{constructor(Q){super("validation failed");this.errors=Q,this.ajv=this.validation=!0}}JA.default=$A});var E8=w((HA)=>{Object.defineProperty(HA,"__esModule",{value:!0});var o$=b8();class GA extends Error{constructor(Q,X,Y,W){super(W||`can't resolve reference ${Y} from id ${X}`);this.missingRef=(0,o$.resolveUrl)(Q,X,Y),this.missingSchema=(0,o$.normalizeId)((0,o$.getFullPath)(Q,this.missingRef))}}HA.default=GA});var dX=w((KA)=>{Object.defineProperty(KA,"__esModule",{value:!0});KA.resolveSchema=KA.getCompilingSchema=KA.resolveRef=KA.compileSchema=KA.SchemaEnv=void 0;var k1=i(),wk=cX(),G9=J6(),v1=b8(),BA=W0(),Mk=R8();class S8{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,v1.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={}}}KA.SchemaEnv=S8;function t$(Q){let X=zA.call(this,Q);if(X)return X;let Y=(0,v1.getFullPath)(this.opts.uriResolver,Q.root.baseId),{es5:W,lines:$}=this.opts.code,{ownProperties:J}=this.opts,G=new k1.CodeGen(this.scope,{es5:W,lines:$,ownProperties:J}),H;if(Q.$async)H=G.scopeValue("Error",{ref:wk.default,code:k1._`require("ajv/dist/runtime/validation_error").default`});let B=G.scopeName("validate");Q.validateName=B;let z={gen:G,allErrors:this.opts.allErrors,data:G9.default.data,parentData:G9.default.parentData,parentDataProperty:G9.default.parentDataProperty,dataNames:[G9.default.data],dataPathArr:[k1.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:G.scopeValue("schema",this.opts.code.source===!0?{ref:Q.schema,code:(0,k1.stringify)(Q.schema)}:{ref:Q.schema}),validateName:B,ValidationError:H,schema:Q.schema,schemaEnv:Q,rootId:Y,baseId:Q.baseId||Y,schemaPath:k1.nil,errSchemaPath:Q.schemaPath||(this.opts.jtd?"":"#"),errorPath:k1._`""`,opts:this.opts,self:this},K;try{this._compilations.add(Q),(0,Mk.validateFunctionCode)(z),G.optimize(this.opts.code.optimize);let F=G.toString();if(K=`${G.scopeRefs(G9.default.scope)}return ${F}`,this.opts.code.process)K=this.opts.code.process(K,Q);let V=Function(`${G9.default.self}`,`${G9.default.scope}`,K)(this,this.scope.get());if(this.scope.value(B,{ref:V}),V.errors=null,V.schema=Q.schema,V.schemaEnv=Q,Q.$async)V.$async=!0;if(this.opts.code.source===!0)V.source={validateName:B,validateCode:F,scopeValues:G._values};if(this.opts.unevaluated){let{props:D,items:A}=z;if(V.evaluated={props:D instanceof k1.Name?void 0:D,items:A instanceof k1.Name?void 0:A,dynamicProps:D instanceof k1.Name,dynamicItems:A instanceof k1.Name},V.source)V.source.evaluated=(0,k1.stringify)(V.evaluated)}return Q.validate=V,Q}catch(F){if(delete Q.validate,delete Q.validateName,K)this.logger.error("Error compiling schema, function code:",K);throw F}finally{this._compilations.delete(Q)}}KA.compileSchema=t$;function Nk(Q,X,Y){var W;Y=(0,v1.resolveUrl)(this.opts.uriResolver,X,Y);let $=Q.refs[Y];if($)return $;let J=Zk.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 S8({schema:G,schemaId:H,root:Q,baseId:X})}if(J===void 0)return;return Q.refs[Y]=bk.call(this,J)}KA.resolveRef=Nk;function bk(Q){if((0,v1.inlineRef)(Q.schema,this.opts.inlineRefs))return Q.schema;return Q.validate?Q:t$.call(this,Q)}function zA(Q){for(let X of this._compilations)if(Pk(X,Q))return X}KA.getCompilingSchema=zA;function Pk(Q,X){return Q.schema===X.schema&&Q.root===X.root&&Q.baseId===X.baseId}function Zk(Q,X){let Y;while(typeof(Y=this.refs[X])=="string")X=Y;return Y||this.schemas[X]||pX.call(this,Q,X)}function pX(Q,X){let Y=this.opts.uriResolver.parse(X),W=(0,v1._getFullPath)(this.opts.uriResolver,Y),$=(0,v1.getFullPath)(this.opts.uriResolver,Q.baseId,void 0);if(Object.keys(Q.schema).length>0&&W===$)return r$.call(this,Y,Q);let J=(0,v1.normalizeId)(W),G=this.refs[J]||this.schemas[J];if(typeof G=="string"){let H=pX.call(this,Q,G);if(typeof(H===null||H===void 0?void 0:H.schema)!=="object")return;return r$.call(this,Y,H)}if(typeof(G===null||G===void 0?void 0:G.schema)!=="object")return;if(!G.validate)t$.call(this,G);if(J===(0,v1.normalizeId)(X)){let{schema:H}=G,{schemaId:B}=this.opts,z=H[B];if(z)$=(0,v1.resolveUrl)(this.opts.uriResolver,$,z);return new S8({schema:H,schemaId:B,root:Q,baseId:$})}return r$.call(this,Y,G)}KA.resolveSchema=pX;var Rk=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function r$(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,BA.unescapeFragment)(H)];if(B===void 0)return;Y=B;let z=typeof Y==="object"&&Y[this.opts.schemaId];if(!Rk.has(H)&&z)X=(0,v1.resolveUrl)(this.opts.uriResolver,X,z)}let J;if(typeof Y!="boolean"&&Y.$ref&&!(0,BA.schemaHasRulesButRef)(Y,this.RULES)){let H=(0,v1.resolveUrl)(this.opts.uriResolver,X,Y.$ref);J=pX.call(this,W,H)}let{schemaId:G}=this.opts;if(J=J||new S8({schema:Y,schemaId:G,root:W,baseId:X}),J.schema!==J.root.schema)return J;return}});var VA=w((_p,Ck)=>{Ck.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 DA=w((AA)=>{Object.defineProperty(AA,"__esModule",{value:!0});var qA=W$();qA.code='require("ajv/dist/runtime/uri").default';AA.default=qA});var bA=w((H6)=>{Object.defineProperty(H6,"__esModule",{value:!0});H6.CodeGen=H6.Name=H6.nil=H6.stringify=H6.str=H6._=H6.KeywordCxt=void 0;var vk=R8();Object.defineProperty(H6,"KeywordCxt",{enumerable:!0,get:function(){return vk.KeywordCxt}});var e9=i();Object.defineProperty(H6,"_",{enumerable:!0,get:function(){return e9._}});Object.defineProperty(H6,"str",{enumerable:!0,get:function(){return e9.str}});Object.defineProperty(H6,"stringify",{enumerable:!0,get:function(){return e9.stringify}});Object.defineProperty(H6,"nil",{enumerable:!0,get:function(){return e9.nil}});Object.defineProperty(H6,"Name",{enumerable:!0,get:function(){return e9.Name}});Object.defineProperty(H6,"CodeGen",{enumerable:!0,get:function(){return e9.CodeGen}});var _k=cX(),wA=E8(),xk=x$(),I8=dX(),yk=i(),T8=b8(),iX=N8(),s$=W0(),LA=VA(),gk=DA(),MA=(Q,X)=>new RegExp(Q,X);MA.code="new RegExp";var fk=["removeAdditional","useDefaults","coerceTypes"],hk=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),uk={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."},lk={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},OA=200;function mk(Q){var X,Y,W,$,J,G,H,B,z,K,F,q,V,D,A,L,O,M,N,C,Z,K0,b0,y1,g6;let L1=Q.strict,f6=(X=Q.code)===null||X===void 0?void 0:X.optimize,z4=f6===!0||f6===void 0?1:f6||0,K4=(W=(Y=Q.code)===null||Y===void 0?void 0:Y.regExp)!==null&&W!==void 0?W:MA,IY=($=Q.uriResolver)!==null&&$!==void 0?$:gk.default;return{strictSchema:(G=(J=Q.strictSchema)!==null&&J!==void 0?J:L1)!==null&&G!==void 0?G:!0,strictNumbers:(B=(H=Q.strictNumbers)!==null&&H!==void 0?H:L1)!==null&&B!==void 0?B:!0,strictTypes:(K=(z=Q.strictTypes)!==null&&z!==void 0?z:L1)!==null&&K!==void 0?K:"log",strictTuples:(q=(F=Q.strictTuples)!==null&&F!==void 0?F:L1)!==null&&q!==void 0?q:"log",strictRequired:(D=(V=Q.strictRequired)!==null&&V!==void 0?V:L1)!==null&&D!==void 0?D:!1,code:Q.code?{...Q.code,optimize:z4,regExp:K4}:{optimize:z4,regExp:K4},loopRequired:(A=Q.loopRequired)!==null&&A!==void 0?A:OA,loopEnum:(L=Q.loopEnum)!==null&&L!==void 0?L:OA,meta:(O=Q.meta)!==null&&O!==void 0?O:!0,messages:(M=Q.messages)!==null&&M!==void 0?M:!0,inlineRefs:(N=Q.inlineRefs)!==null&&N!==void 0?N:!0,schemaId:(C=Q.schemaId)!==null&&C!==void 0?C:"$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:(y1=Q.unicodeRegExp)!==null&&y1!==void 0?y1:!0,int32range:(g6=Q.int32range)!==null&&g6!==void 0?g6:!0,uriResolver:IY}}class nX{constructor(Q={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,Q=this.opts={...Q,...mk(Q)};let{es5:X,lines:Y}=this.opts.code;this.scope=new yk.ValueScope({scope:{},prefixes:hk,es5:X,lines:Y}),this.logger=ok(Q.logger);let W=Q.validateFormats;if(Q.validateFormats=!1,this.RULES=(0,xk.getRules)(),UA.call(this,uk,Q,"NOT SUPPORTED"),UA.call(this,lk,Q,"DEPRECATED","warn"),this._metaOpts=ik.call(this),Q.formats)pk.call(this);if(this._addVocabularies(),this._addDefaultMetaSchema(),Q.keywords)dk.call(this,Q.keywords);if(typeof Q.meta=="object")this.addMetaSchema(Q.meta);ck.call(this),Q.validateFormats=W}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:Q,meta:X,schemaId:Y}=this.opts,W=LA;if(Y==="id")W={...LA},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 F=this._addSchema(z,K);return F.validate||J.call(this,F)}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 wA.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,T8.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=jA.call(this,Q))=="string")Q=X;if(X===void 0){let{schemaId:Y}=this.opts,W=new I8.SchemaEnv({schema:{},schemaId:Y});if(X=I8.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=jA.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,T8.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(tk.call(this,Y,X),!X)return(0,s$.eachItem)(Y,($)=>a$.call(this,$)),this;sk.call(this,X);let W={...X,type:(0,iX.getJSONTypes)(X.type),schemaType:(0,iX.getJSONTypes)(X.schemaType)};return(0,s$.eachItem)(Y,W.type.length===0?($)=>a$.call(this,$,W):($)=>W.type.forEach((J)=>a$.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]=NA(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,T8.normalizeId)(J||Y);let B=T8.getSchemaRefs.call(this,Q,Y);if(H=new I8.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 I8.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{I8.compileSchema.call(this,Q)}finally{this.opts=X}}}nX.ValidationError=_k.default;nX.MissingRefError=wA.default;H6.default=nX;function UA(Q,X,Y,W="error"){for(let $ in Q){let J=$;if(J in X)this.logger[W](`${Y}: option ${$}. ${Q[J]}`)}}function jA(Q){return Q=(0,T8.normalizeId)(Q),this.schemas[Q]||this.refs[Q]}function ck(){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 pk(){for(let Q in this.opts.formats){let X=this.opts.formats[Q];if(X)this.addFormat(Q,X)}}function dk(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 ik(){let Q={...this.opts};for(let X of fk)delete Q[X];return Q}var nk={log(){},warn(){},error(){}};function ok(Q){if(Q===!1)return nk;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 rk=/^[a-z_$][a-z0-9_$:-]*$/i;function tk(Q,X){let{RULES:Y}=this;if((0,s$.eachItem)(Q,(W)=>{if(Y.keywords[W])throw Error(`Keyword ${W} is already defined`);if(!rk.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 a$(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,iX.getJSONTypes)(X.type),schemaType:(0,iX.getJSONTypes)(X.schemaType)}};if(X.before)ak.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 ak(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 sk(Q){let{metaSchema:X}=Q;if(X===void 0)return;if(Q.$data&&this.opts.$data)X=NA(X);Q.validateSchema=this.compile(X,!0)}var ek={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function NA(Q){return{anyOf:[Q,ek]}}});var ZA=w((PA)=>{Object.defineProperty(PA,"__esModule",{value:!0});var Yv={keyword:"id",code(){throw Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};PA.default=Yv});var CA=w((IA)=>{Object.defineProperty(IA,"__esModule",{value:!0});IA.callRef=IA.getValidate=void 0;var $v=E8(),RA=A1(),G1=i(),Q4=J6(),EA=dX(),oX=W0(),Jv={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 F();let K=EA.resolveRef.call(B,z,$,Y);if(K===void 0)throw new $v.default(W.opts.uriResolver,$,Y);if(K instanceof EA.SchemaEnv)return q(K);return V(K);function F(){if(J===z)return rX(Q,G,J,J.$async);let D=X.scopeValue("root",{ref:z});return rX(Q,G1._`${D}.validate`,z,z.$async)}function q(D){let A=SA(Q,D);rX(Q,A,D,D.$async)}function V(D){let A=X.scopeValue("schema",H.code.source===!0?{ref:D,code:(0,G1.stringify)(D)}:{ref:D}),L=X.name("valid"),O=Q.subschema({schema:D,dataTypes:[],schemaPath:G1.nil,topSchemaRef:A,errSchemaPath:Y},L);Q.mergeEvaluated(O),Q.ok(L)}}};function SA(Q,X){let{gen:Y}=Q;return X.validate?Y.scopeValue("validate",{ref:X.validate}):G1._`${Y.scopeValue("wrapper",{ref:X})}.validate`}IA.getValidate=SA;function rX(Q,X,Y,W){let{gen:$,it:J}=Q,{allErrors:G,schemaEnv:H,opts:B}=J,z=B.passContext?Q4.default.this:G1.nil;if(W)K();else F();function K(){if(!H.$async)throw Error("async schema referenced by sync schema");let D=$.let("valid");$.try(()=>{if($.code(G1._`await ${(0,RA.callValidateCode)(Q,X,z)}`),V(X),!G)$.assign(D,!0)},(A)=>{if($.if(G1._`!(${A} instanceof ${J.ValidationError})`,()=>$.throw(A)),q(A),!G)$.assign(D,!1)}),Q.ok(D)}function F(){Q.result((0,RA.callValidateCode)(Q,X,z),()=>V(X),()=>q(X))}function q(D){let A=G1._`${D}.errors`;$.assign(Q4.default.vErrors,G1._`${Q4.default.vErrors} === null ? ${A} : ${Q4.default.vErrors}.concat(${A})`),$.assign(Q4.default.errors,G1._`${Q4.default.vErrors}.length`)}function V(D){var A;if(!J.opts.unevaluated)return;let L=(A=Y===null||Y===void 0?void 0:Y.validate)===null||A===void 0?void 0:A.evaluated;if(J.props!==!0)if(L&&!L.dynamicProps){if(L.props!==void 0)J.props=oX.mergeEvaluated.props($,L.props,J.props)}else{let O=$.var("props",G1._`${D}.evaluated.props`);J.props=oX.mergeEvaluated.props($,O,J.props,G1.Name)}if(J.items!==!0)if(L&&!L.dynamicItems){if(L.items!==void 0)J.items=oX.mergeEvaluated.items($,L.items,J.items)}else{let O=$.var("items",G1._`${D}.evaluated.items`);J.items=oX.mergeEvaluated.items($,O,J.items,G1.Name)}}}IA.callRef=rX;IA.default=Jv});var vA=w((kA)=>{Object.defineProperty(kA,"__esModule",{value:!0});var Bv=ZA(),zv=CA(),Kv=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",Bv.default,zv.default];kA.default=Kv});var xA=w((_A)=>{Object.defineProperty(_A,"__esModule",{value:!0});var tX=i(),k6=tX.operators,aX={maximum:{okStr:"<=",ok:k6.LTE,fail:k6.GT},minimum:{okStr:">=",ok:k6.GTE,fail:k6.LT},exclusiveMaximum:{okStr:"<",ok:k6.LT,fail:k6.GTE},exclusiveMinimum:{okStr:">",ok:k6.GT,fail:k6.LTE}},Vv={message:({keyword:Q,schemaCode:X})=>tX.str`must be ${aX[Q].okStr} ${X}`,params:({keyword:Q,schemaCode:X})=>tX._`{comparison: ${aX[Q].okStr}, limit: ${X}}`},qv={keyword:Object.keys(aX),type:"number",schemaType:"number",$data:!0,error:Vv,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q;Q.fail$data(tX._`${Y} ${aX[X].fail} ${W} || isNaN(${Y})`)}};_A.default=qv});var gA=w((yA)=>{Object.defineProperty(yA,"__esModule",{value:!0});var C8=i(),Dv={message:({schemaCode:Q})=>C8.str`must be multiple of ${Q}`,params:({schemaCode:Q})=>C8._`{multipleOf: ${Q}}`},Lv={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:Dv,code(Q){let{gen:X,data:Y,schemaCode:W,it:$}=Q,J=$.opts.multipleOfPrecision,G=X.let("res"),H=J?C8._`Math.abs(Math.round(${G}) - ${G}) > 1e-${J}`:C8._`${G} !== parseInt(${G})`;Q.fail$data(C8._`(${W} === 0 || (${G} = ${Y}/${W}, ${H}))`)}};yA.default=Lv});var uA=w((hA)=>{Object.defineProperty(hA,"__esModule",{value:!0});function fA(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}hA.default=fA;fA.code='require("ajv/dist/runtime/ucs2length").default'});var mA=w((lA)=>{Object.defineProperty(lA,"__esModule",{value:!0});var H9=i(),jv=W0(),wv=uA(),Mv={message({keyword:Q,schemaCode:X}){let Y=Q==="maxLength"?"more":"fewer";return H9.str`must NOT have ${Y} than ${X} characters`},params:({schemaCode:Q})=>H9._`{limit: ${Q}}`},Nv={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:Mv,code(Q){let{keyword:X,data:Y,schemaCode:W,it:$}=Q,J=X==="maxLength"?H9.operators.GT:H9.operators.LT,G=$.opts.unicode===!1?H9._`${Y}.length`:H9._`${(0,jv.useFunc)(Q.gen,wv.default)}(${Y})`;Q.fail$data(H9._`${G} ${J} ${W}`)}};lA.default=Nv});var pA=w((cA)=>{Object.defineProperty(cA,"__esModule",{value:!0});var Pv=A1(),sX=i(),Zv={message:({schemaCode:Q})=>sX.str`must match pattern "${Q}"`,params:({schemaCode:Q})=>sX._`{pattern: ${Q}}`},Rv={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:Zv,code(Q){let{data:X,$data:Y,schema:W,schemaCode:$,it:J}=Q,G=J.opts.unicodeRegExp?"u":"",H=Y?sX._`(new RegExp(${$}, ${G}))`:(0,Pv.usePattern)(Q,W);Q.fail$data(sX._`!${H}.test(${X})`)}};cA.default=Rv});var iA=w((dA)=>{Object.defineProperty(dA,"__esModule",{value:!0});var k8=i(),Sv={message({keyword:Q,schemaCode:X}){let Y=Q==="maxProperties"?"more":"fewer";return k8.str`must NOT have ${Y} than ${X} properties`},params:({schemaCode:Q})=>k8._`{limit: ${Q}}`},Iv={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:Sv,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q,$=X==="maxProperties"?k8.operators.GT:k8.operators.LT;Q.fail$data(k8._`Object.keys(${Y}).length ${$} ${W}`)}};dA.default=Iv});var oA=w((nA)=>{Object.defineProperty(nA,"__esModule",{value:!0});var v8=A1(),_8=i(),Cv=W0(),kv={message:({params:{missingProperty:Q}})=>_8.str`must have required property '${Q}'`,params:({params:{missingProperty:Q}})=>_8._`{missingProperty: ${Q}}`},vv={keyword:"required",type:"object",schemaType:"array",$data:!0,error:kv,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 V=Q.parentSchema.properties,{definedProperties:D}=Q.it;for(let A of Y)if((V===null||V===void 0?void 0:V[A])===void 0&&!D.has(A)){let L=G.schemaEnv.baseId+G.errSchemaPath,O=`required property "${A}" is not defined at "${L}" (strictRequired)`;(0,Cv.checkStrictMode)(G,O,G.opts.strictRequired)}}function z(){if(B||J)Q.block$data(_8.nil,F);else for(let V of Y)(0,v8.checkReportMissingProp)(Q,V)}function K(){let V=X.let("missing");if(B||J){let D=X.let("valid",!0);Q.block$data(D,()=>q(V,D)),Q.ok(D)}else X.if((0,v8.checkMissingProp)(Q,Y,V)),(0,v8.reportMissingProp)(Q,V),X.else()}function F(){X.forOf("prop",W,(V)=>{Q.setParams({missingProperty:V}),X.if((0,v8.noPropertyInData)(X,$,V,H.ownProperties),()=>Q.error())})}function q(V,D){Q.setParams({missingProperty:V}),X.forOf(V,W,()=>{X.assign(D,(0,v8.propertyInData)(X,$,V,H.ownProperties)),X.if((0,_8.not)(D),()=>{Q.error(),X.break()})},_8.nil)}}};nA.default=vv});var tA=w((rA)=>{Object.defineProperty(rA,"__esModule",{value:!0});var x8=i(),xv={message({keyword:Q,schemaCode:X}){let Y=Q==="maxItems"?"more":"fewer";return x8.str`must NOT have ${Y} than ${X} items`},params:({schemaCode:Q})=>x8._`{limit: ${Q}}`},yv={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:xv,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q,$=X==="maxItems"?x8.operators.GT:x8.operators.LT;Q.fail$data(x8._`${Y}.length ${$} ${W}`)}};rA.default=yv});var eX=w((sA)=>{Object.defineProperty(sA,"__esModule",{value:!0});var aA=Q8();aA.code='require("ajv/dist/runtime/equal").default';sA.default=aA});var QD=w((eA)=>{Object.defineProperty(eA,"__esModule",{value:!0});var e$=N8(),y0=i(),hv=W0(),uv=eX(),lv={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}}`},mv={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:lv,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,e$.getSchemaTypes)(J.items):[];Q.block$data(B,K,y0._`${G} === false`),Q.ok(B);function K(){let D=X.let("i",y0._`${Y}.length`),A=X.let("j");Q.setParams({i:D,j:A}),X.assign(B,!0),X.if(y0._`${D} > 1`,()=>(F()?q:V)(D,A))}function F(){return z.length>0&&!z.some((D)=>D==="object"||D==="array")}function q(D,A){let L=X.name("item"),O=(0,e$.checkDataTypes)(z,L,H.opts.strictNumbers,e$.DataType.Wrong),M=X.const("indices",y0._`{}`);X.for(y0._`;${D}--;`,()=>{if(X.let(L,y0._`${Y}[${D}]`),X.if(O,y0._`continue`),z.length>1)X.if(y0._`typeof ${L} == "string"`,y0._`${L} += "_"`);X.if(y0._`typeof ${M}[${L}] == "number"`,()=>{X.assign(A,y0._`${M}[${L}]`),Q.error(),X.assign(B,!1).break()}).code(y0._`${M}[${L}] = ${D}`)})}function V(D,A){let L=(0,hv.useFunc)(X,uv.default),O=X.name("outer");X.label(O).for(y0._`;${D}--;`,()=>X.for(y0._`${A} = ${D}; ${A}--;`,()=>X.if(y0._`${L}(${Y}[${D}], ${Y}[${A}])`,()=>{Q.error(),X.assign(B,!1).break(O)})))}}};eA.default=mv});var YD=w((XD)=>{Object.defineProperty(XD,"__esModule",{value:!0});var QJ=i(),pv=W0(),dv=eX(),iv={message:"must be equal to constant",params:({schemaCode:Q})=>QJ._`{allowedValue: ${Q}}`},nv={keyword:"const",$data:!0,error:iv,code(Q){let{gen:X,data:Y,$data:W,schemaCode:$,schema:J}=Q;if(W||J&&typeof J=="object")Q.fail$data(QJ._`!${(0,pv.useFunc)(X,dv.default)}(${Y}, ${$})`);else Q.fail(QJ._`${J} !== ${Y}`)}};XD.default=nv});var $D=w((WD)=>{Object.defineProperty(WD,"__esModule",{value:!0});var y8=i(),rv=W0(),tv=eX(),av={message:"must be equal to one of the allowed values",params:({schemaCode:Q})=>y8._`{allowedValues: ${Q}}`},sv={keyword:"enum",schemaType:"array",$data:!0,error:av,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,rv.useFunc)(X,tv.default),K;if(H||W)K=X.let("valid"),Q.block$data(K,F);else{if(!Array.isArray($))throw Error("ajv implementation error");let V=X.const("vSchema",J);K=(0,y8.or)(...$.map((D,A)=>q(V,A)))}Q.pass(K);function F(){X.assign(K,!1),X.forOf("v",J,(V)=>X.if(y8._`${z()}(${Y}, ${V})`,()=>X.assign(K,!0).break()))}function q(V,D){let A=$[D];return typeof A==="object"&&A!==null?y8._`${z()}(${Y}, ${V}[${D}])`:y8._`${Y} === ${A}`}}};WD.default=sv});var GD=w((JD)=>{Object.defineProperty(JD,"__esModule",{value:!0});var Q_=xA(),X_=gA(),Y_=mA(),W_=pA(),$_=iA(),J_=oA(),G_=tA(),H_=QD(),B_=YD(),z_=$D(),K_=[Q_.default,X_.default,Y_.default,W_.default,$_.default,J_.default,G_.default,H_.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},B_.default,z_.default];JD.default=K_});var YJ=w((BD)=>{Object.defineProperty(BD,"__esModule",{value:!0});BD.validateAdditionalItems=void 0;var B9=i(),XJ=W0(),V_={message:({params:{len:Q}})=>B9.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>B9._`{limit: ${Q}}`},q_={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:V_,code(Q){let{parentSchema:X,it:Y}=Q,{items:W}=X;if(!Array.isArray(W)){(0,XJ.checkStrictMode)(Y,'"additionalItems" is ignored when "items" is not an array of schemas');return}HD(Q,W)}};function HD(Q,X){let{gen:Y,schema:W,data:$,keyword:J,it:G}=Q;G.items=!0;let H=Y.const("len",B9._`${$}.length`);if(W===!1)Q.setParams({len:X.length}),Q.pass(B9._`${H} <= ${X.length}`);else if(typeof W=="object"&&!(0,XJ.alwaysValidSchema)(G,W)){let z=Y.var("valid",B9._`${H} <= ${X.length}`);Y.if((0,B9.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:XJ.Type.Num},z),!G.allErrors)Y.if((0,B9.not)(z),()=>Y.break())})}}BD.validateAdditionalItems=HD;BD.default=q_});var WJ=w((VD)=>{Object.defineProperty(VD,"__esModule",{value:!0});VD.validateTuple=void 0;var KD=i(),QY=W0(),D_=A1(),L_={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(Q){let{schema:X,it:Y}=Q;if(Array.isArray(X))return FD(Q,"additionalItems",X);if(Y.items=!0,(0,QY.alwaysValidSchema)(Y,X))return;Q.ok((0,D_.validateArray)(Q))}};function FD(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=QY.mergeEvaluated.items(W,Y.length,H.items);let B=W.name("valid"),z=W.const("len",KD._`${J}.length`);Y.forEach((F,q)=>{if((0,QY.alwaysValidSchema)(H,F))return;W.if(KD._`${z} > ${q}`,()=>Q.subschema({keyword:G,schemaProp:q,dataProp:q},B)),Q.ok(B)});function K(F){let{opts:q,errSchemaPath:V}=H,D=Y.length,A=D===F.minItems&&(D===F.maxItems||F[X]===!1);if(q.strictTuples&&!A){let L=`"${G}" is ${D}-tuple, but minItems or maxItems/${X} are not specified or different at path "${V}"`;(0,QY.checkStrictMode)(H,L,q.strictTuples)}}}VD.validateTuple=FD;VD.default=L_});var DD=w((AD)=>{Object.defineProperty(AD,"__esModule",{value:!0});var U_=WJ(),j_={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:(Q)=>(0,U_.validateTuple)(Q,"items")};AD.default=j_});var UD=w((OD)=>{Object.defineProperty(OD,"__esModule",{value:!0});var LD=i(),M_=W0(),N_=A1(),b_=YJ(),P_={message:({params:{len:Q}})=>LD.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>LD._`{limit: ${Q}}`},Z_={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:P_,code(Q){let{schema:X,parentSchema:Y,it:W}=Q,{prefixItems:$}=Y;if(W.items=!0,(0,M_.alwaysValidSchema)(W,X))return;if($)(0,b_.validateAdditionalItems)(Q,$);else Q.ok((0,N_.validateArray)(Q))}};OD.default=Z_});var wD=w((jD)=>{Object.defineProperty(jD,"__esModule",{value:!0});var D1=i(),XY=W0(),E_={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}}`},S_={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:E_,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,XY.checkStrictMode)(J,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(H!==void 0&&G>H){(0,XY.checkStrictMode)(J,'"minContains" > "maxContains" is always invalid'),Q.fail();return}if((0,XY.alwaysValidSchema)(J,Y)){let A=D1._`${K} >= ${G}`;if(H!==void 0)A=D1._`${A} && ${K} <= ${H}`;Q.pass(A);return}J.items=!0;let F=X.name("valid");if(H===void 0&&G===1)V(F,()=>X.if(F,()=>X.break()));else if(G===0){if(X.let(F,!0),H!==void 0)X.if(D1._`${$}.length > 0`,q)}else X.let(F,!1),q();Q.result(F,()=>Q.reset());function q(){let A=X.name("_valid"),L=X.let("count",0);V(A,()=>X.if(A,()=>D(L)))}function V(A,L){X.forRange("i",0,K,(O)=>{Q.subschema({keyword:"contains",dataProp:O,dataPropType:XY.Type.Num,compositeRule:!0},A),L()})}function D(A){if(X.code(D1._`${A}++`),H===void 0)X.if(D1._`${A} >= ${G}`,()=>X.assign(F,!0).break());else if(X.if(D1._`${A} > ${H}`,()=>X.assign(F,!1).break()),G===1)X.assign(F,!0);else X.if(D1._`${A} >= ${G}`,()=>X.assign(F,!0))}}};jD.default=S_});var RD=w((bD)=>{Object.defineProperty(bD,"__esModule",{value:!0});bD.validateSchemaDeps=bD.validatePropertyDeps=bD.error=void 0;var $J=i(),T_=W0(),g8=A1();bD.error={message:({params:{property:Q,depsCount:X,deps:Y}})=>{let W=X===1?"property":"properties";return $J.str`must have ${W} ${Y} when property ${Q} is present`},params:({params:{property:Q,depsCount:X,deps:Y,missingProperty:W}})=>$J._`{property: ${Q},
|
|
14
14
|
missingProperty: ${W},
|
|
15
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(`
|
|
16
|
+
deps: ${Y}}`};var C_={keyword:"dependencies",type:"object",schemaType:"object",error:bD.error,code(Q){let[X,Y]=k_(Q);MD(Q,X),ND(Q,Y)}};function k_({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 MD(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,g8.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,g8.checkReportMissingProp)(Q,z)});else Y.if($J._`${B} && (${(0,g8.checkMissingProp)(Q,H,J)})`),(0,g8.reportMissingProp)(Q,J),Y.else()}}bD.validatePropertyDeps=MD;function ND(Q,X=Q.schema){let{gen:Y,data:W,keyword:$,it:J}=Q,G=Y.name("valid");for(let H in X){if((0,T_.alwaysValidSchema)(J,X[H]))continue;Y.if((0,g8.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)}}bD.validateSchemaDeps=ND;bD.default=C_});var ID=w((SD)=>{Object.defineProperty(SD,"__esModule",{value:!0});var ED=i(),x_=W0(),y_={message:"property name must be valid",params:({params:Q})=>ED._`{propertyName: ${Q.propertyName}}`},g_={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:y_,code(Q){let{gen:X,schema:Y,data:W,it:$}=Q;if((0,x_.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,ED.not)(J),()=>{if(Q.error(!0),!$.allErrors)X.break()})}),Q.ok(J)}};SD.default=g_});var JJ=w((TD)=>{Object.defineProperty(TD,"__esModule",{value:!0});var YY=A1(),_1=i(),h_=J6(),WY=W0(),u_={message:"must NOT have additional properties",params:({params:Q})=>_1._`{additionalProperty: ${Q.additionalProperty}}`},l_={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:u_,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,WY.alwaysValidSchema)(G,Y))return;let z=(0,YY.allSchemaProperties)(W.properties),K=(0,YY.allSchemaProperties)(W.patternProperties);F(),Q.ok(_1._`${J} === ${h_.default.errors}`);function F(){X.forIn("key",$,(L)=>{if(!z.length&&!K.length)D(L);else X.if(q(L),()=>D(L))})}function q(L){let O;if(z.length>8){let M=(0,WY.schemaRefOrVal)(G,W.properties,"properties");O=(0,YY.isOwnProperty)(X,M,L)}else if(z.length)O=(0,_1.or)(...z.map((M)=>_1._`${L} === ${M}`));else O=_1.nil;if(K.length)O=(0,_1.or)(O,...K.map((M)=>_1._`${(0,YY.usePattern)(Q,M)}.test(${L})`));return(0,_1.not)(O)}function V(L){X.code(_1._`delete ${$}[${L}]`)}function D(L){if(B.removeAdditional==="all"||B.removeAdditional&&Y===!1){V(L);return}if(Y===!1){if(Q.setParams({additionalProperty:L}),Q.error(),!H)X.break();return}if(typeof Y=="object"&&!(0,WY.alwaysValidSchema)(G,Y)){let O=X.name("valid");if(B.removeAdditional==="failing")A(L,O,!1),X.if((0,_1.not)(O),()=>{Q.reset(),V(L)});else if(A(L,O),!H)X.if((0,_1.not)(O),()=>X.break())}}function A(L,O,M){let N={keyword:"additionalProperties",dataProp:L,dataPropType:WY.Type.Str};if(M===!1)Object.assign(N,{compositeRule:!0,createErrors:!1,allErrors:!1});Q.subschema(N,O)}}};TD.default=l_});var _D=w((vD)=>{Object.defineProperty(vD,"__esModule",{value:!0});var c_=R8(),CD=A1(),GJ=W0(),kD=JJ(),p_={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)kD.default.code(new c_.KeywordCxt(J,kD.default,"additionalProperties"));let G=(0,CD.allSchemaProperties)(Y);for(let F of G)J.definedProperties.add(F);if(J.opts.unevaluated&&G.length&&J.props!==!0)J.props=GJ.mergeEvaluated.props(X,(0,GJ.toHash)(G),J.props);let H=G.filter((F)=>!(0,GJ.alwaysValidSchema)(J,Y[F]));if(H.length===0)return;let B=X.name("valid");for(let F of H){if(z(F))K(F);else{if(X.if((0,CD.propertyInData)(X,$,F,J.opts.ownProperties)),K(F),!J.allErrors)X.else().var(B,!0);X.endIf()}Q.it.definedProperties.add(F),Q.ok(B)}function z(F){return J.opts.useDefaults&&!J.compositeRule&&Y[F].default!==void 0}function K(F){Q.subschema({keyword:"properties",schemaProp:F,dataProp:F},B)}}};vD.default=p_});var hD=w((fD)=>{Object.defineProperty(fD,"__esModule",{value:!0});var xD=A1(),$Y=i(),yD=W0(),gD=W0(),i_={keyword:"patternProperties",type:"object",schemaType:"object",code(Q){let{gen:X,schema:Y,data:W,parentSchema:$,it:J}=Q,{opts:G}=J,H=(0,xD.allSchemaProperties)(Y),B=H.filter((A)=>(0,yD.alwaysValidSchema)(J,Y[A]));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 $Y.Name))J.props=(0,gD.evaluatedPropsToName)(X,J.props);let{props:F}=J;q();function q(){for(let A of H){if(z)V(A);if(J.allErrors)D(A);else X.var(K,!0),D(A),X.if(K)}}function V(A){for(let L in z)if(new RegExp(A).test(L))(0,yD.checkStrictMode)(J,`property ${L} matches pattern ${A} (use allowMatchingProperties)`)}function D(A){X.forIn("key",W,(L)=>{X.if($Y._`${(0,xD.usePattern)(Q,A)}.test(${L})`,()=>{let O=B.includes(A);if(!O)Q.subschema({keyword:"patternProperties",schemaProp:A,dataProp:L,dataPropType:gD.Type.Str},K);if(J.opts.unevaluated&&F!==!0)X.assign($Y._`${F}[${L}]`,!0);else if(!O&&!J.allErrors)X.if((0,$Y.not)(K),()=>X.break())})})}}};fD.default=i_});var lD=w((uD)=>{Object.defineProperty(uD,"__esModule",{value:!0});var o_=W0(),r_={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(Q){let{gen:X,schema:Y,it:W}=Q;if((0,o_.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"}};uD.default=r_});var cD=w((mD)=>{Object.defineProperty(mD,"__esModule",{value:!0});var a_=A1(),s_={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:a_.validateUnion,error:{message:"must match a schema in anyOf"}};mD.default=s_});var dD=w((pD)=>{Object.defineProperty(pD,"__esModule",{value:!0});var JY=i(),Qx=W0(),Xx={message:"must match exactly one schema in oneOf",params:({params:Q})=>JY._`{passingSchemas: ${Q.passing}}`},Yx={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:Xx,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,F)=>{let q;if((0,Qx.alwaysValidSchema)($,K))X.var(B,!0);else q=Q.subschema({keyword:"oneOf",schemaProp:F,compositeRule:!0},B);if(F>0)X.if(JY._`${B} && ${G}`).assign(G,!1).assign(H,JY._`[${H}, ${F}]`).else();X.if(B,()=>{if(X.assign(G,!0),X.assign(H,F),q)Q.mergeEvaluated(q,JY.Name)})})}}};pD.default=Yx});var nD=w((iD)=>{Object.defineProperty(iD,"__esModule",{value:!0});var $x=W0(),Jx={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,$x.alwaysValidSchema)(W,J))return;let H=Q.subschema({keyword:"allOf",schemaProp:G},$);Q.ok($),Q.mergeEvaluated(H)})}};iD.default=Jx});var aD=w((tD)=>{Object.defineProperty(tD,"__esModule",{value:!0});var GY=i(),rD=W0(),Hx={message:({params:Q})=>GY.str`must match "${Q.ifClause}" schema`,params:({params:Q})=>GY._`{failingKeyword: ${Q.ifClause}}`},Bx={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:Hx,code(Q){let{gen:X,parentSchema:Y,it:W}=Q;if(Y.then===void 0&&Y.else===void 0)(0,rD.checkStrictMode)(W,'"if" without "then" and "else" is ignored');let $=oD(W,"then"),J=oD(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,GY.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,F){return()=>{let q=Q.subschema({keyword:K},H);if(X.assign(G,H),Q.mergeValidEvaluated(q,G),F)X.assign(F,GY._`${K}`);else Q.setParams({ifClause:K})}}}};function oD(Q,X){let Y=Q.schema[X];return Y!==void 0&&!(0,rD.alwaysValidSchema)(Q,Y)}tD.default=Bx});var eD=w((sD)=>{Object.defineProperty(sD,"__esModule",{value:!0});var Kx=W0(),Fx={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:Q,parentSchema:X,it:Y}){if(X.if===void 0)(0,Kx.checkStrictMode)(Y,`"${Q}" without "if" is ignored`)}};sD.default=Fx});var XL=w((QL)=>{Object.defineProperty(QL,"__esModule",{value:!0});var qx=YJ(),Ax=DD(),Dx=WJ(),Lx=UD(),Ox=wD(),Ux=RD(),jx=ID(),wx=JJ(),Mx=_D(),Nx=hD(),bx=lD(),Px=cD(),Zx=dD(),Rx=nD(),Ex=aD(),Sx=eD();function Ix(Q=!1){let X=[bx.default,Px.default,Zx.default,Rx.default,Ex.default,Sx.default,jx.default,wx.default,Ux.default,Mx.default,Nx.default];if(Q)X.push(Ax.default,Lx.default);else X.push(qx.default,Dx.default);return X.push(Ox.default),X}QL.default=Ix});var WL=w((YL)=>{Object.defineProperty(YL,"__esModule",{value:!0});var Z0=i(),Cx={message:({schemaCode:Q})=>Z0.str`must match format "${Q}"`,params:({schemaCode:Q})=>Z0._`{format: ${Q}}`},kx={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:Cx,code(Q,X){let{gen:Y,data:W,$data:$,schema:J,schemaCode:G,it:H}=Q,{opts:B,errSchemaPath:z,schemaEnv:K,self:F}=H;if(!B.validateFormats)return;if($)q();else V();function q(){let D=Y.scopeValue("formats",{ref:F.formats,code:B.code.formats}),A=Y.const("fDef",Z0._`${D}[${G}]`),L=Y.let("fType"),O=Y.let("format");Y.if(Z0._`typeof ${A} == "object" && !(${A} instanceof RegExp)`,()=>Y.assign(L,Z0._`${A}.type || "string"`).assign(O,Z0._`${A}.validate`),()=>Y.assign(L,Z0._`"string"`).assign(O,A)),Q.fail$data((0,Z0.or)(M(),N()));function M(){if(B.strictSchema===!1)return Z0.nil;return Z0._`${G} && !${O}`}function N(){let C=K.$async?Z0._`(${A}.async ? await ${O}(${W}) : ${O}(${W}))`:Z0._`${O}(${W})`,Z=Z0._`(typeof ${O} == "function" ? ${C} : ${O}.test(${W}))`;return Z0._`${O} && ${O} !== true && ${L} === ${X} && !${Z}`}}function V(){let D=F.formats[J];if(!D){M();return}if(D===!0)return;let[A,L,O]=N(D);if(A===X)Q.pass(C());function M(){if(B.strictSchema===!1){F.logger.warn(Z());return}throw Error(Z());function Z(){return`unknown format "${J}" ignored in schema at path "${z}"`}}function N(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 C(){if(typeof D=="object"&&!(D instanceof RegExp)&&D.async){if(!K.$async)throw Error("async format in sync schema");return Z0._`await ${O}(${W})`}return typeof L=="function"?Z0._`${O}(${W})`:Z0._`${O}.test(${W})`}}}};YL.default=kx});var JL=w(($L)=>{Object.defineProperty($L,"__esModule",{value:!0});var _x=WL(),xx=[_x.default];$L.default=xx});var BL=w((GL)=>{Object.defineProperty(GL,"__esModule",{value:!0});GL.contentVocabulary=GL.metadataVocabulary=void 0;GL.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];GL.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var FL=w((KL)=>{Object.defineProperty(KL,"__esModule",{value:!0});var fx=vA(),hx=GD(),ux=XL(),lx=JL(),zL=BL(),mx=[fx.default,hx.default,(0,ux.default)(),lx.default,zL.metadataVocabulary,zL.contentVocabulary];KL.default=mx});var DL=w((qL)=>{Object.defineProperty(qL,"__esModule",{value:!0});qL.DiscrError=void 0;var VL;(function(Q){Q.Tag="tag",Q.Mapping="mapping"})(VL||(qL.DiscrError=VL={}))});var UL=w((OL)=>{Object.defineProperty(OL,"__esModule",{value:!0});var X4=i(),HJ=DL(),LL=dX(),px=E8(),dx=W0(),ix={message:({params:{discrError:Q,tagName:X}})=>Q===HJ.DiscrError.Tag?`tag "${X}" must be string`:`value of tag "${X}" must be in oneOf`,params:({params:{discrError:Q,tag:X,tagName:Y}})=>X4._`{error: ${Q}, tag: ${Y}, tagValue: ${X}}`},nx={keyword:"discriminator",type:"object",schemaType:"object",error:ix,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",X4._`${Y}${(0,X4.getProperty)(H)}`);X.if(X4._`typeof ${z} == "string"`,()=>K(),()=>Q.error(!1,{discrError:HJ.DiscrError.Tag,tag:z,tagName:H})),Q.ok(B);function K(){let V=q();X.if(!1);for(let D in V)X.elseIf(X4._`${z} === ${D}`),X.assign(B,F(V[D]));X.else(),Q.error(!1,{discrError:HJ.DiscrError.Mapping,tag:z,tagName:H}),X.endIf()}function F(V){let D=X.name("valid"),A=Q.subschema({keyword:"oneOf",schemaProp:V},D);return Q.mergeEvaluated(A,X4.Name),D}function q(){var V;let D={},A=O($),L=!0;for(let C=0;C<G.length;C++){let Z=G[C];if((Z===null||Z===void 0?void 0:Z.$ref)&&!(0,dx.schemaHasRulesButRef)(Z,J.self.RULES)){let b0=Z.$ref;if(Z=LL.resolveRef.call(J.self,J.schemaEnv.root,J.baseId,b0),Z instanceof LL.SchemaEnv)Z=Z.schema;if(Z===void 0)throw new px.default(J.opts.uriResolver,J.baseId,b0)}let K0=(V=Z===null||Z===void 0?void 0:Z.properties)===null||V===void 0?void 0:V[H];if(typeof K0!="object")throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${H}"`);L=L&&(A||O(Z)),M(K0,C)}if(!L)throw Error(`discriminator: "${H}" must be required`);return D;function O({required:C}){return Array.isArray(C)&&C.includes(H)}function M(C,Z){if(C.const)N(C.const,Z);else if(C.enum)for(let K0 of C.enum)N(K0,Z);else throw Error(`discriminator: "properties/${H}" must have "const" or "enum"`)}function N(C,Z){if(typeof C!="string"||C in D)throw Error(`discriminator: "${H}" values must be unique strings`);D[C]=Z}}}};OL.default=nx});var jL=w((Sd,rx)=>{rx.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 ML=w((H1,BJ)=>{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 tx=bA(),ax=FL(),sx=UL(),wL=jL(),ex=["/properties"],HY="http://json-schema.org/draft-07/schema";class f8 extends tx.default{_addVocabularies(){if(super._addVocabularies(),ax.default.forEach((Q)=>this.addVocabulary(Q)),this.opts.discriminator)this.addKeyword(sx.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let Q=this.opts.$data?this.$dataMetaSchema(wL,ex):wL;this.addMetaSchema(Q,HY,!1),this.refs["http://json-schema.org/schema"]=HY}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(HY)?HY:void 0)}}H1.Ajv=f8;BJ.exports=H1=f8;BJ.exports.Ajv=f8;Object.defineProperty(H1,"__esModule",{value:!0});H1.default=f8;var Qy=R8();Object.defineProperty(H1,"KeywordCxt",{enumerable:!0,get:function(){return Qy.KeywordCxt}});var Y4=i();Object.defineProperty(H1,"_",{enumerable:!0,get:function(){return Y4._}});Object.defineProperty(H1,"str",{enumerable:!0,get:function(){return Y4.str}});Object.defineProperty(H1,"stringify",{enumerable:!0,get:function(){return Y4.stringify}});Object.defineProperty(H1,"nil",{enumerable:!0,get:function(){return Y4.nil}});Object.defineProperty(H1,"Name",{enumerable:!0,get:function(){return Y4.Name}});Object.defineProperty(H1,"CodeGen",{enumerable:!0,get:function(){return Y4.CodeGen}});var Xy=cX();Object.defineProperty(H1,"ValidationError",{enumerable:!0,get:function(){return Xy.default}});var Yy=E8();Object.defineProperty(H1,"MissingRefError",{enumerable:!0,get:function(){return Yy.default}})});var bL=w((NL)=>{Object.defineProperty(NL,"__esModule",{value:!0});NL.formatLimitDefinition=void 0;var Jy=ML(),x1=i(),v6=x1.operators,BY={formatMaximum:{okStr:"<=",ok:v6.LTE,fail:v6.GT},formatMinimum:{okStr:">=",ok:v6.GTE,fail:v6.LT},formatExclusiveMaximum:{okStr:"<",ok:v6.LT,fail:v6.GTE},formatExclusiveMinimum:{okStr:">",ok:v6.GT,fail:v6.LTE}},Gy={message:({keyword:Q,schemaCode:X})=>x1.str`should be ${BY[Q].okStr} ${X}`,params:({keyword:Q,schemaCode:X})=>x1._`{comparison: ${BY[Q].okStr}, limit: ${X}}`};NL.formatLimitDefinition={keyword:Object.keys(BY),type:"string",schemaType:"string",$data:!0,error:Gy,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 Jy.KeywordCxt(J,H.RULES.all.format.definition,"format");if(B.$data)z();else K();function z(){let q=X.scopeValue("formats",{ref:H.formats,code:G.code.formats}),V=X.const("fmt",x1._`${q}[${B.schemaCode}]`);Q.fail$data((0,x1.or)(x1._`typeof ${V} != "object"`,x1._`${V} instanceof RegExp`,x1._`typeof ${V}.compare != "function"`,F(V)))}function K(){let q=B.schema,V=H.formats[q];if(!V||V===!0)return;if(typeof V!="object"||V instanceof RegExp||typeof V.compare!="function")throw Error(`"${$}": format "${q}" does not define "compare" function`);let D=X.scopeValue("formats",{key:q,ref:V,code:G.code.formats?x1._`${G.code.formats}${(0,x1.getProperty)(q)}`:void 0});Q.fail$data(F(D))}function F(q){return x1._`${q}.compare(${Y}, ${W}) ${BY[$].fail} 0`}},dependencies:["format"]};var Hy=(Q)=>{return Q.addKeyword(NL.formatLimitDefinition),Q};NL.default=Hy});var EL=w((h8,RL)=>{Object.defineProperty(h8,"__esModule",{value:!0});var W4=jV(),zy=bL(),KJ=i(),PL=new KJ.Name("fullFormats"),Ky=new KJ.Name("fastFormats"),FJ=(Q,X={keywords:!0})=>{if(Array.isArray(X))return ZL(Q,X,W4.fullFormats,PL),Q;let[Y,W]=X.mode==="fast"?[W4.fastFormats,Ky]:[W4.fullFormats,PL],$=X.formats||W4.formatNames;if(ZL(Q,$,Y,W),X.keywords)(0,zy.default)(Q);return Q};FJ.get=(Q,X="full")=>{let W=(X==="fast"?W4.fastFormats:W4.fullFormats)[Q];if(!W)throw Error(`Unknown format "${Q}"`);return W};function ZL(Q,X,Y,W){var $,J;($=(J=Q.opts.code).formats)!==null&&$!==void 0||(J.formats=KJ._`require("ajv-formats/dist/formats").${W}`);for(let G of X)Q.addFormat(G,Y[G])}RL.exports=h8=FJ;Object.defineProperty(h8,"__esModule",{value:!0});h8.default=FJ});var c={};c8(c,{void:()=>nO,util:()=>r,unknown:()=>dO,union:()=>tO,undefined:()=>mO,tuple:()=>eO,transformer:()=>zU,symbol:()=>lO,string:()=>tJ,strictObject:()=>rO,setErrorMap:()=>VO,set:()=>YU,record:()=>QU,quotelessJson:()=>KO,promise:()=>BU,preprocess:()=>VU,pipeline:()=>qU,ostring:()=>AU,optional:()=>KU,onumber:()=>DU,oboolean:()=>LU,objectUtil:()=>CY,object:()=>_Y,number:()=>aJ,nullable:()=>FU,null:()=>cO,never:()=>iO,nativeEnum:()=>HU,nan:()=>fO,map:()=>XU,makeIssue:()=>V4,literal:()=>JU,lazy:()=>$U,late:()=>yO,isValid:()=>z6,isDirty:()=>i8,isAsync:()=>V9,isAborted:()=>d8,intersection:()=>sO,instanceof:()=>gO,getParsedType:()=>g1,getErrorMap:()=>F9,function:()=>WU,enum:()=>GU,effect:()=>zU,discriminatedUnion:()=>aO,defaultErrorMap:()=>i1,datetimeRegex:()=>nJ,date:()=>uO,custom:()=>rJ,coerce:()=>OU,boolean:()=>sJ,bigint:()=>hO,array:()=>oO,any:()=>pO,addIssueToContext:()=>T,ZodVoid:()=>A4,ZodUnknown:()=>K6,ZodUnion:()=>U9,ZodUndefined:()=>L9,ZodType:()=>n,ZodTuple:()=>h1,ZodTransformer:()=>w1,ZodSymbol:()=>q4,ZodString:()=>O1,ZodSet:()=>m6,ZodSchema:()=>n,ZodRecord:()=>D4,ZodReadonly:()=>Z9,ZodPromise:()=>c6,ZodPipeline:()=>U4,ZodParsedType:()=>R,ZodOptional:()=>B1,ZodObject:()=>M0,ZodNumber:()=>F6,ZodNullable:()=>o1,ZodNull:()=>O9,ZodNever:()=>f1,ZodNativeEnum:()=>N9,ZodNaN:()=>O4,ZodMap:()=>L4,ZodLiteral:()=>M9,ZodLazy:()=>w9,ZodIssueCode:()=>b,ZodIntersection:()=>j9,ZodFunction:()=>A9,ZodFirstPartyTypeKind:()=>P,ZodError:()=>r0,ZodEnum:()=>q6,ZodEffects:()=>w1,ZodDiscriminatedUnion:()=>n8,ZodDefault:()=>b9,ZodDate:()=>u6,ZodCatch:()=>P9,ZodBranded:()=>o8,ZodBoolean:()=>D9,ZodBigInt:()=>V6,ZodArray:()=>U1,ZodAny:()=>l6,Schema:()=>n,ParseStatus:()=>T0,OK:()=>f0,NEVER:()=>UU,INVALID:()=>f,EMPTY_PATH:()=>qO,DIRTY:()=>h6,BRAND:()=>xO});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 CY;(function(Q){Q.mergeShapes=(X,Y)=>{return{...X,...Y}}})(CY||(CY={}));var R=r.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),g1=(Q)=>{switch(typeof Q){case"undefined":return R.undefined;case"string":return R.string;case"number":return Number.isNaN(Q)?R.nan:R.number;case"boolean":return R.boolean;case"function":return R.function;case"bigint":return R.bigint;case"symbol":return R.symbol;case"object":if(Array.isArray(Q))return R.array;if(Q===null)return R.null;if(Q.then&&typeof Q.then==="function"&&Q.catch&&typeof Q.catch==="function")return R.promise;if(typeof Map<"u"&&Q instanceof Map)return R.map;if(typeof Set<"u"&&Q instanceof Set)return R.set;if(typeof Date<"u"&&Q instanceof Date)return R.date;return R.object;default:return R.unknown}};var b=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"]),KO=(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 FO=(Q,X)=>{let Y;switch(Q.code){case b.invalid_type:if(Q.received===R.undefined)Y="Required";else Y=`Expected ${Q.expected}, received ${Q.received}`;break;case b.invalid_literal:Y=`Invalid literal value, expected ${JSON.stringify(Q.expected,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}},i1=FO;var mJ=i1;function VO(Q){mJ=Q}function F9(){return mJ}var V4=(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}},qO=[];function T(Q,X){let Y=F9(),W=V4({issueData:X,data:Q.data,path:Q.path,errorMaps:[Q.common.contextualErrorMap,Q.schemaErrorMap,Y,Y===i1?void 0:i1].filter(($)=>!!$)});Q.common.issues.push(W)}class T0{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 f;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 T0.mergeObjectSync(Q,Y)}static mergeObjectSync(Q,X){let Y={};for(let W of X){let{key:$,value:J}=W;if($.status==="aborted")return f;if(J.status==="aborted")return f;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 f=Object.freeze({status:"aborted"}),h6=(Q)=>({status:"dirty",value:Q}),f0=(Q)=>({status:"valid",value:Q}),d8=(Q)=>Q.status==="aborted",i8=(Q)=>Q.status==="dirty",z6=(Q)=>Q.status==="valid",V9=(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 j1{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 cJ=(Q,X)=>{if(z6(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 g1(Q.data)}_getOrReturnCtx(Q,X){return X||{common:Q.parent.common,data:Q.data,parsedType:g1(Q.data),schemaErrorMap:this._def.errorMap,path:Q.path,parent:Q.parent}}_processInputParams(Q){return{status:new T0,ctx:{common:Q.parent.common,data:Q.data,parsedType:g1(Q.data),schemaErrorMap:this._def.errorMap,path:Q.path,parent:Q.parent}}}_parseSync(Q){let X=this._parse(Q);if(V9(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:g1(Q)},W=this._parseSync({data:Q,path:Y.path,parent:Y});return cJ(Y,W)}"~validate"(Q){let X={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:Q,parsedType:g1(Q)};if(!this["~standard"].async)try{let Y=this._parseSync({data:Q,path:[],parent:X});return z6(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)=>z6(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:g1(Q)},W=this._parse({data:Q,path:Y.path,parent:Y}),$=await(V9(W)?W:Promise.resolve(W));return cJ(Y,$)}refine(Q,X){let Y=(W)=>{if(typeof X==="string"||typeof X>"u")return{message:X};else if(typeof X==="function")return X(W);else return X};return this._refinement((W,$)=>{let J=Q(W),G=()=>$.addIssue({code:b.custom,...Y(W)});if(typeof Promise<"u"&&J instanceof Promise)return J.then((H)=>{if(!H)return G(),!1;else return!0});if(!J)return G(),!1;else return!0})}refinement(Q,X){return this._refinement((Y,W)=>{if(!Q(Y))return W.addIssue(typeof X==="function"?X(Y,W):X),!1;else return!0})}_refinement(Q){return new w1({schema:this,typeName:P.ZodEffects,effect:{type:"refinement",refinement:Q}})}superRefine(Q){return this._refinement(Q)}constructor(Q){this.spa=this.safeParseAsync,this._def=Q,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(X)=>this["~validate"](X)}}optional(){return B1.create(this,this._def)}nullable(){return o1.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return U1.create(this)}promise(){return c6.create(this,this._def)}or(Q){return U9.create([this,Q],this._def)}and(Q){return j9.create(this,Q,this._def)}transform(Q){return new w1({...m(this._def),schema:this,typeName:P.ZodEffects,effect:{type:"transform",transform:Q}})}default(Q){let X=typeof Q==="function"?Q:()=>Q;return new b9({...m(this._def),innerType:this,defaultValue:X,typeName:P.ZodDefault})}brand(){return new o8({typeName:P.ZodBranded,type:this,...m(this._def)})}catch(Q){let X=typeof Q==="function"?Q:()=>Q;return new P9({...m(this._def),innerType:this,catchValue:X,typeName:P.ZodCatch})}describe(Q){return new this.constructor({...this._def,description:Q})}pipe(Q){return U4.create(this,Q)}readonly(){return Z9.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var AO=/^c[^\s-]{8,}$/i,DO=/^[0-9a-z]+$/,LO=/^[0-9A-HJKMNP-TV-Z]{26}$/i,OO=/^[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,UO=/^[a-z0-9_-]{21}$/i,jO=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,wO=/^[-+]?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)?)??$/,MO=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,NO="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",kY,bO=/^(?:(?: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])$/,PO=/^(?:(?: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])$/,ZO=/^(([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]))$/,RO=/^(([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])$/,EO=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,SO=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,dJ="((\\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])))",IO=new RegExp(`^${dJ}$`);function iJ(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 TO(Q){return new RegExp(`^${iJ(Q)}$`)}function nJ(Q){let X=`${dJ}T${iJ(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 CO(Q,X){if((X==="v4"||!X)&&bO.test(Q))return!0;if((X==="v6"||!X)&&ZO.test(Q))return!0;return!1}function kO(Q,X){if(!jO.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 vO(Q,X){if((X==="v4"||!X)&&PO.test(Q))return!0;if((X==="v6"||!X)&&RO.test(Q))return!0;return!1}class O1 extends n{_parse(Q){if(this._def.coerce)Q.data=String(Q.data);if(this._getType(Q)!==R.string){let $=this._getOrReturnCtx(Q);return T($,{code:b.invalid_type,expected:R.string,received:$.parsedType}),f}let Y=new T0,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(!MO.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(!kY)kY=new RegExp(NO,"u");if(!kY.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(!OO.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(!UO.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(!AO.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(!DO.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(!LO.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(!nJ($).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(!IO.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(!TO($).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(!wO.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(!CO(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(!kO(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(!vO(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(!EO.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(!SO.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 O1({...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 O1({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new O1({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new O1({...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}}O1.create=(Q)=>{return new O1({checks:[],typeName:P.ZodString,coerce:Q?.coerce??!1,...m(Q)})};function _O(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 F6 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)!==R.number){let $=this._getOrReturnCtx(Q);return T($,{code:b.invalid_type,expected:R.number,received:$.parsedType}),f}let Y=void 0,W=new T0;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(_O(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 F6({...this._def,checks:[...this._def.checks,{kind:Q,value:X,inclusive:Y,message:v.toString(W)}]})}_addCheck(Q){return new F6({...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)}}F6.create=(Q)=>{return new F6({checks:[],typeName:P.ZodNumber,coerce:Q?.coerce||!1,...m(Q)})};class V6 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)!==R.bigint)return this._getInvalidInput(Q);let Y=void 0,W=new T0;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:R.bigint,received:X.parsedType}),f}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 V6({...this._def,checks:[...this._def.checks,{kind:Q,value:X,inclusive:Y,message:v.toString(W)}]})}_addCheck(Q){return new V6({...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}}V6.create=(Q)=>{return new V6({checks:[],typeName:P.ZodBigInt,coerce:Q?.coerce??!1,...m(Q)})};class D9 extends n{_parse(Q){if(this._def.coerce)Q.data=Boolean(Q.data);if(this._getType(Q)!==R.boolean){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:R.boolean,received:Y.parsedType}),f}return f0(Q.data)}}D9.create=(Q)=>{return new D9({typeName:P.ZodBoolean,coerce:Q?.coerce||!1,...m(Q)})};class u6 extends n{_parse(Q){if(this._def.coerce)Q.data=new Date(Q.data);if(this._getType(Q)!==R.date){let $=this._getOrReturnCtx(Q);return T($,{code:b.invalid_type,expected:R.date,received:$.parsedType}),f}if(Number.isNaN(Q.data.getTime())){let $=this._getOrReturnCtx(Q);return T($,{code:b.invalid_date}),f}let Y=new T0,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 u6({...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}}u6.create=(Q)=>{return new u6({checks:[],coerce:Q?.coerce||!1,typeName:P.ZodDate,...m(Q)})};class q4 extends n{_parse(Q){if(this._getType(Q)!==R.symbol){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:R.symbol,received:Y.parsedType}),f}return f0(Q.data)}}q4.create=(Q)=>{return new q4({typeName:P.ZodSymbol,...m(Q)})};class L9 extends n{_parse(Q){if(this._getType(Q)!==R.undefined){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:R.undefined,received:Y.parsedType}),f}return f0(Q.data)}}L9.create=(Q)=>{return new L9({typeName:P.ZodUndefined,...m(Q)})};class O9 extends n{_parse(Q){if(this._getType(Q)!==R.null){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:R.null,received:Y.parsedType}),f}return f0(Q.data)}}O9.create=(Q)=>{return new O9({typeName:P.ZodNull,...m(Q)})};class l6 extends n{constructor(){super(...arguments);this._any=!0}_parse(Q){return f0(Q.data)}}l6.create=(Q)=>{return new l6({typeName:P.ZodAny,...m(Q)})};class K6 extends n{constructor(){super(...arguments);this._unknown=!0}_parse(Q){return f0(Q.data)}}K6.create=(Q)=>{return new K6({typeName:P.ZodUnknown,...m(Q)})};class f1 extends n{_parse(Q){let X=this._getOrReturnCtx(Q);return T(X,{code:b.invalid_type,expected:R.never,received:X.parsedType}),f}}f1.create=(Q)=>{return new f1({typeName:P.ZodNever,...m(Q)})};class A4 extends n{_parse(Q){if(this._getType(Q)!==R.undefined){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:R.void,received:Y.parsedType}),f}return f0(Q.data)}}A4.create=(Q)=>{return new A4({typeName:P.ZodVoid,...m(Q)})};class U1 extends n{_parse(Q){let{ctx:X,status:Y}=this._processInputParams(Q),W=this._def;if(X.parsedType!==R.array)return T(X,{code:b.invalid_type,expected:R.array,received:X.parsedType}),f;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 j1(X,J,X.path,G))})).then((J)=>{return T0.mergeArray(Y,J)});let $=[...X.data].map((J,G)=>{return W.type._parseSync(new j1(X,J,X.path,G))});return T0.mergeArray(Y,$)}get element(){return this._def.type}min(Q,X){return new U1({...this._def,minLength:{value:Q,message:v.toString(X)}})}max(Q,X){return new U1({...this._def,maxLength:{value:Q,message:v.toString(X)}})}length(Q,X){return new U1({...this._def,exactLength:{value:Q,message:v.toString(X)}})}nonempty(Q){return this.min(1,Q)}}U1.create=(Q,X)=>{return new U1({type:Q,minLength:null,maxLength:null,exactLength:null,typeName:P.ZodArray,...m(X)})};function q9(Q){if(Q instanceof M0){let X={};for(let Y in Q.shape){let W=Q.shape[Y];X[Y]=B1.create(q9(W))}return new M0({...Q._def,shape:()=>X})}else if(Q instanceof U1)return new U1({...Q._def,type:q9(Q.element)});else if(Q instanceof B1)return B1.create(q9(Q.unwrap()));else if(Q instanceof o1)return o1.create(q9(Q.unwrap()));else if(Q instanceof h1)return h1.create(Q.items.map((X)=>q9(X)));else return Q}class M0 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)!==R.object){let B=this._getOrReturnCtx(Q);return T(B,{code:b.invalid_type,expected:R.object,received:B.parsedType}),f}let{status:Y,ctx:W}=this._processInputParams(Q),{shape:$,keys:J}=this._getCached(),G=[];if(!(this._def.catchall instanceof f1&&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 j1(W,K,W.path,B)),alwaysSet:B in W.data})}if(this._def.catchall instanceof f1){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 j1(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,F=await z.value;B.push({key:K,value:F,alwaysSet:z.alwaysSet})}return B}).then((B)=>{return T0.mergeObjectSync(Y,B)});else return T0.mergeObjectSync(Y,H)}get shape(){return this._def.shape()}strict(Q){return v.errToObj,new M0({...this._def,unknownKeys:"strict",...Q!==void 0?{errorMap:(X,Y)=>{let W=this._def.errorMap?.(X,Y).message??Y.defaultError;if(X.code==="unrecognized_keys")return{message:v.errToObj(Q).message??W};return{message:W}}}:{}})}strip(){return new M0({...this._def,unknownKeys:"strip"})}passthrough(){return new M0({...this._def,unknownKeys:"passthrough"})}extend(Q){return new M0({...this._def,shape:()=>({...this._def.shape(),...Q})})}merge(Q){return new M0({unknownKeys:Q._def.unknownKeys,catchall:Q._def.catchall,shape:()=>({...this._def.shape(),...Q._def.shape()}),typeName:P.ZodObject})}setKey(Q,X){return this.augment({[Q]:X})}catchall(Q){return new M0({...this._def,catchall:Q})}pick(Q){let X={};for(let Y of r.objectKeys(Q))if(Q[Y]&&this.shape[Y])X[Y]=this.shape[Y];return new M0({...this._def,shape:()=>X})}omit(Q){let X={};for(let Y of r.objectKeys(this.shape))if(!Q[Y])X[Y]=this.shape[Y];return new M0({...this._def,shape:()=>X})}deepPartial(){return q9(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 M0({...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 M0({...this._def,shape:()=>X})}keyof(){return oJ(r.objectKeys(this.shape))}}M0.create=(Q,X)=>{return new M0({shape:()=>Q,unknownKeys:"strip",catchall:f1.create(),typeName:P.ZodObject,...m(X)})};M0.strictCreate=(Q,X)=>{return new M0({shape:()=>Q,unknownKeys:"strict",catchall:f1.create(),typeName:P.ZodObject,...m(X)})};M0.lazycreate=(Q,X)=>{return new M0({shape:Q,unknownKeys:"strip",catchall:f1.create(),typeName:P.ZodObject,...m(X)})};class U9 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}),f}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}),f}}get options(){return this._def.options}}U9.create=(Q,X)=>{return new U9({options:Q,typeName:P.ZodUnion,...m(X)})};var n1=(Q)=>{if(Q instanceof w9)return n1(Q.schema);else if(Q instanceof w1)return n1(Q.innerType());else if(Q instanceof M9)return[Q.value];else if(Q instanceof q6)return Q.options;else if(Q instanceof N9)return r.objectValues(Q.enum);else if(Q instanceof b9)return n1(Q._def.innerType);else if(Q instanceof L9)return[void 0];else if(Q instanceof O9)return[null];else if(Q instanceof B1)return[void 0,...n1(Q.unwrap())];else if(Q instanceof o1)return[null,...n1(Q.unwrap())];else if(Q instanceof o8)return n1(Q.unwrap());else if(Q instanceof Z9)return n1(Q.unwrap());else if(Q instanceof P9)return n1(Q._def.innerType);else return[]};class n8 extends n{_parse(Q){let{ctx:X}=this._processInputParams(Q);if(X.parsedType!==R.object)return T(X,{code:b.invalid_type,expected:R.object,received:X.parsedType}),f;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]}),f;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=n1($.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 n8({typeName:P.ZodDiscriminatedUnion,discriminator:Q,options:X,optionsMap:W,...m(Y)})}}function vY(Q,X){let Y=g1(Q),W=g1(X);if(Q===X)return{valid:!0,data:Q};else if(Y===R.object&&W===R.object){let $=r.objectKeys(X),J=r.objectKeys(Q).filter((H)=>$.indexOf(H)!==-1),G={...Q,...X};for(let H of J){let B=vY(Q[H],X[H]);if(!B.valid)return{valid:!1};G[H]=B.data}return{valid:!0,data:G}}else if(Y===R.array&&W===R.array){if(Q.length!==X.length)return{valid:!1};let $=[];for(let J=0;J<Q.length;J++){let G=Q[J],H=X[J],B=vY(G,H);if(!B.valid)return{valid:!1};$.push(B.data)}return{valid:!0,data:$}}else if(Y===R.date&&W===R.date&&+Q===+X)return{valid:!0,data:Q};else return{valid:!1}}class j9 extends n{_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q),W=($,J)=>{if(d8($)||d8(J))return f;let G=vY($.value,J.value);if(!G.valid)return T(Y,{code:b.invalid_intersection_types}),f;if(i8($)||i8(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}))}}j9.create=(Q,X,Y)=>{return new j9({left:Q,right:X,typeName:P.ZodIntersection,...m(Y)})};class h1 extends n{_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q);if(Y.parsedType!==R.array)return T(Y,{code:b.invalid_type,expected:R.array,received:Y.parsedType}),f;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"}),f;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 j1(Y,J,Y.path,G))}).filter((J)=>!!J);if(Y.common.async)return Promise.all($).then((J)=>{return T0.mergeArray(X,J)});else return T0.mergeArray(X,$)}get items(){return this._def.items}rest(Q){return new h1({...this._def,rest:Q})}}h1.create=(Q,X)=>{if(!Array.isArray(Q))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new h1({items:Q,typeName:P.ZodTuple,rest:null,...m(X)})};class D4 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!==R.object)return T(Y,{code:b.invalid_type,expected:R.object,received:Y.parsedType}),f;let W=[],$=this._def.keyType,J=this._def.valueType;for(let G in Y.data)W.push({key:$._parse(new j1(Y,G,Y.path,G)),value:J._parse(new j1(Y,Y.data[G],Y.path,G)),alwaysSet:G in Y.data});if(Y.common.async)return T0.mergeObjectAsync(X,W);else return T0.mergeObjectSync(X,W)}get element(){return this._def.valueType}static create(Q,X,Y){if(X instanceof n)return new D4({keyType:Q,valueType:X,typeName:P.ZodRecord,...m(Y)});return new D4({keyType:O1.create(),valueType:Q,typeName:P.ZodRecord,...m(X)})}}class L4 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!==R.map)return T(Y,{code:b.invalid_type,expected:R.map,received:Y.parsedType}),f;let W=this._def.keyType,$=this._def.valueType,J=[...Y.data.entries()].map(([G,H],B)=>{return{key:W._parse(new j1(Y,G,Y.path,[B,"key"])),value:$._parse(new j1(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 f;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 f;if(B.status==="dirty"||z.status==="dirty")X.dirty();G.set(B.value,z.value)}return{status:X.value,value:G}}}}L4.create=(Q,X,Y)=>{return new L4({valueType:X,keyType:Q,typeName:P.ZodMap,...m(Y)})};class m6 extends n{_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q);if(Y.parsedType!==R.set)return T(Y,{code:b.invalid_type,expected:R.set,received:Y.parsedType}),f;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 f;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 j1(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 m6({...this._def,minSize:{value:Q,message:v.toString(X)}})}max(Q,X){return new m6({...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)}}m6.create=(Q,X)=>{return new m6({valueType:Q,minSize:null,maxSize:null,typeName:P.ZodSet,...m(X)})};class A9 extends n{constructor(){super(...arguments);this.validate=this.implement}_parse(Q){let{ctx:X}=this._processInputParams(Q);if(X.parsedType!==R.function)return T(X,{code:b.invalid_type,expected:R.function,received:X.parsedType}),f;function Y(G,H){return V4({data:G,path:X.path,errorMaps:[X.common.contextualErrorMap,X.schemaErrorMap,F9(),i1].filter((B)=>!!B),issueData:{code:b.invalid_arguments,argumentsError:H}})}function W(G,H){return V4({data:G,path:X.path,errorMaps:[X.common.contextualErrorMap,X.schemaErrorMap,F9(),i1].filter((B)=>!!B),issueData:{code:b.invalid_return_type,returnTypeError:H}})}let $={errorMap:X.common.contextualErrorMap},J=X.data;if(this._def.returns instanceof c6){let G=this;return f0(async function(...H){let B=new r0([]),z=await G._def.args.parseAsync(H,$).catch((q)=>{throw B.addIssue(Y(H,q)),B}),K=await Reflect.apply(J,this,z);return await G._def.returns._def.type.parseAsync(K,$).catch((q)=>{throw B.addIssue(W(K,q)),B})})}else{let G=this;return f0(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 A9({...this._def,args:h1.create(Q).rest(K6.create())})}returns(Q){return new A9({...this._def,returns:Q})}implement(Q){return this.parse(Q)}strictImplement(Q){return this.parse(Q)}static create(Q,X,Y){return new A9({args:Q?Q:h1.create([]).rest(K6.create()),returns:X||K6.create(),typeName:P.ZodFunction,...m(Y)})}}class w9 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})}}w9.create=(Q,X)=>{return new w9({getter:Q,typeName:P.ZodLazy,...m(X)})};class M9 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}),f}return{status:"valid",value:Q.data}}get value(){return this._def.value}}M9.create=(Q,X)=>{return new M9({value:Q,typeName:P.ZodLiteral,...m(X)})};function oJ(Q,X){return new q6({values:Q,typeName:P.ZodEnum,...m(X)})}class q6 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}),f}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}),f}return f0(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 q6.create(Q,{...this._def,...X})}exclude(Q,X=this._def){return q6.create(this.options.filter((Y)=>!Q.includes(Y)),{...this._def,...X})}}q6.create=oJ;class N9 extends n{_parse(Q){let X=r.getValidEnumValues(this._def.values),Y=this._getOrReturnCtx(Q);if(Y.parsedType!==R.string&&Y.parsedType!==R.number){let W=r.objectValues(X);return T(Y,{expected:r.joinValues(W),received:Y.parsedType,code:b.invalid_type}),f}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}),f}return f0(Q.data)}get enum(){return this._def.values}}N9.create=(Q,X)=>{return new N9({values:Q,typeName:P.ZodNativeEnum,...m(X)})};class c6 extends n{unwrap(){return this._def.type}_parse(Q){let{ctx:X}=this._processInputParams(Q);if(X.parsedType!==R.promise&&X.common.async===!1)return T(X,{code:b.invalid_type,expected:R.promise,received:X.parsedType}),f;let Y=X.parsedType===R.promise?X.data:Promise.resolve(X.data);return f0(Y.then((W)=>{return this._def.type.parseAsync(W,{path:X.path,errorMap:X.common.contextualErrorMap})}))}}c6.create=(Q,X)=>{return new c6({type:Q,typeName:P.ZodPromise,...m(X)})};class w1 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 f;let H=await this._def.schema._parseAsync({data:G,path:Y.path,parent:Y});if(H.status==="aborted")return f;if(H.status==="dirty")return h6(H.value);if(X.value==="dirty")return h6(H.value);return H});else{if(X.value==="aborted")return f;let G=this._def.schema._parseSync({data:J,path:Y.path,parent:Y});if(G.status==="aborted")return f;if(G.status==="dirty")return h6(G.value);if(X.value==="dirty")return h6(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 f;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 f;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(!z6(J))return f;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(!z6(J))return f;return Promise.resolve(W.transform(J.value,$)).then((G)=>({status:X.value,value:G}))});r.assertNever(W)}}w1.create=(Q,X,Y)=>{return new w1({schema:Q,typeName:P.ZodEffects,effect:X,...m(Y)})};w1.createWithPreprocess=(Q,X,Y)=>{return new w1({schema:X,effect:{type:"preprocess",transform:Q},typeName:P.ZodEffects,...m(Y)})};class B1 extends n{_parse(Q){if(this._getType(Q)===R.undefined)return f0(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 o1 extends n{_parse(Q){if(this._getType(Q)===R.null)return f0(null);return this._def.innerType._parse(Q)}unwrap(){return this._def.innerType}}o1.create=(Q,X)=>{return new o1({innerType:Q,typeName:P.ZodNullable,...m(X)})};class b9 extends n{_parse(Q){let{ctx:X}=this._processInputParams(Q),Y=X.data;if(X.parsedType===R.undefined)Y=this._def.defaultValue();return this._def.innerType._parse({data:Y,path:X.path,parent:X})}removeDefault(){return this._def.innerType}}b9.create=(Q,X)=>{return new b9({innerType:Q,typeName:P.ZodDefault,defaultValue:typeof X.default==="function"?X.default:()=>X.default,...m(X)})};class P9 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(V9(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}}P9.create=(Q,X)=>{return new P9({innerType:Q,typeName:P.ZodCatch,catchValue:typeof X.catch==="function"?X.catch:()=>X.catch,...m(X)})};class O4 extends n{_parse(Q){if(this._getType(Q)!==R.nan){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:R.nan,received:Y.parsedType}),f}return{status:"valid",value:Q.data}}}O4.create=(Q)=>{return new O4({typeName:P.ZodNaN,...m(Q)})};var xO=Symbol("zod_brand");class o8 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 U4 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 f;if($.status==="dirty")return X.dirty(),h6($.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 f;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 U4({in:Q,out:X,typeName:P.ZodPipeline})}}class Z9 extends n{_parse(Q){let X=this._def.innerType._parse(Q),Y=(W)=>{if(z6(W))W.value=Object.freeze(W.value);return W};return V9(X)?X.then((W)=>Y(W)):Y(X)}unwrap(){return this._def.innerType}}Z9.create=(Q,X)=>{return new Z9({innerType:Q,typeName:P.ZodReadonly,...m(X)})};function pJ(Q,X){let Y=typeof Q==="function"?Q(X):typeof Q==="string"?{message:Q}:Q;return typeof Y==="string"?{message:Y}:Y}function rJ(Q,X={},Y){if(Q)return l6.create().superRefine((W,$)=>{let J=Q(W);if(J instanceof Promise)return J.then((G)=>{if(!G){let H=pJ(X,W),B=H.fatal??Y??!0;$.addIssue({code:"custom",...H,fatal:B})}});if(!J){let G=pJ(X,W),H=G.fatal??Y??!0;$.addIssue({code:"custom",...G,fatal:H})}return});return l6.create()}var yO={object:M0.lazycreate},P;(function(Q){Q.ZodString="ZodString",Q.ZodNumber="ZodNumber",Q.ZodNaN="ZodNaN",Q.ZodBigInt="ZodBigInt",Q.ZodBoolean="ZodBoolean",Q.ZodDate="ZodDate",Q.ZodSymbol="ZodSymbol",Q.ZodUndefined="ZodUndefined",Q.ZodNull="ZodNull",Q.ZodAny="ZodAny",Q.ZodUnknown="ZodUnknown",Q.ZodNever="ZodNever",Q.ZodVoid="ZodVoid",Q.ZodArray="ZodArray",Q.ZodObject="ZodObject",Q.ZodUnion="ZodUnion",Q.ZodDiscriminatedUnion="ZodDiscriminatedUnion",Q.ZodIntersection="ZodIntersection",Q.ZodTuple="ZodTuple",Q.ZodRecord="ZodRecord",Q.ZodMap="ZodMap",Q.ZodSet="ZodSet",Q.ZodFunction="ZodFunction",Q.ZodLazy="ZodLazy",Q.ZodLiteral="ZodLiteral",Q.ZodEnum="ZodEnum",Q.ZodEffects="ZodEffects",Q.ZodNativeEnum="ZodNativeEnum",Q.ZodOptional="ZodOptional",Q.ZodNullable="ZodNullable",Q.ZodDefault="ZodDefault",Q.ZodCatch="ZodCatch",Q.ZodPromise="ZodPromise",Q.ZodBranded="ZodBranded",Q.ZodPipeline="ZodPipeline",Q.ZodReadonly="ZodReadonly"})(P||(P={}));var gO=(Q,X={message:`Input not instance of ${Q.name}`})=>rJ((Y)=>Y instanceof Q,X),tJ=O1.create,aJ=F6.create,fO=O4.create,hO=V6.create,sJ=D9.create,uO=u6.create,lO=q4.create,mO=L9.create,cO=O9.create,pO=l6.create,dO=K6.create,iO=f1.create,nO=A4.create,oO=U1.create,_Y=M0.create,rO=M0.strictCreate,tO=U9.create,aO=n8.create,sO=j9.create,eO=h1.create,QU=D4.create,XU=L4.create,YU=m6.create,WU=A9.create,$U=w9.create,JU=M9.create,GU=q6.create,HU=N9.create,BU=c6.create,zU=w1.create,KU=B1.create,FU=o1.create,VU=w1.createWithPreprocess,qU=U4.create,AU=()=>tJ().optional(),DU=()=>aJ().optional(),LU=()=>sJ().optional(),OU={string:(Q)=>O1.create({...Q,coerce:!0}),number:(Q)=>F6.create({...Q,coerce:!0}),boolean:(Q)=>D9.create({...Q,coerce:!0}),bigint:(Q)=>V6.create({...Q,coerce:!0}),date:(Q)=>u6.create({...Q,coerce:!0})};var UU=f;var t8=Object.freeze({status:"aborted"});function j(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 eJ=Symbol("zod_brand");class A6 extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}var r8={};function t0(Q){if(Q)Object.assign(r8,Q);return r8}var t={};c8(t,{unwrapMessage:()=>j4,stringifyPrimitive:()=>e8,required:()=>xU,randomString:()=>RU,propertyKeyTypes:()=>uY,promiseAllObject:()=>ZU,primitiveTypes:()=>QG,prefixIssues:()=>u1,pick:()=>TU,partial:()=>_U,optionalKeys:()=>lY,omit:()=>CU,numKeys:()=>EU,nullish:()=>N4,normalizeParams:()=>g,merge:()=>vU,jsonStringifyReplacer:()=>yY,joinValues:()=>a8,issue:()=>cY,isPlainObject:()=>E9,isObject:()=>R9,getSizableOrigin:()=>YG,getParsedType:()=>SU,getLengthableOrigin:()=>P4,getEnumValues:()=>w4,getElementAtPath:()=>PU,floatSafeRemainder:()=>gY,finalizeIssue:()=>M1,extend:()=>kU,escapeRegex:()=>D6,esc:()=>p6,defineLazy:()=>F0,createTransparentProxy:()=>IU,clone:()=>a0,cleanRegex:()=>b4,cleanEnum:()=>yU,captureStackTrace:()=>s8,cached:()=>M4,assignProp:()=>fY,assertNotEqual:()=>wU,assertNever:()=>NU,assertIs:()=>MU,assertEqual:()=>jU,assert:()=>bU,allowsEval:()=>hY,aborted:()=>d6,NUMBER_FORMAT_RANGES:()=>mY,Class:()=>WG,BIGINT_FORMAT_RANGES:()=>XG});function jU(Q){return Q}function wU(Q){return Q}function MU(Q){}function NU(Q){throw Error()}function bU(Q){}function w4(Q){let X=Object.values(Q).filter((W)=>typeof W==="number");return Object.entries(Q).filter(([W,$])=>X.indexOf(+W)===-1).map(([W,$])=>$)}function a8(Q,X="|"){return Q.map((Y)=>e8(Y)).join(X)}function yY(Q,X){if(typeof X==="bigint")return X.toString();return X}function M4(Q){return{get value(){{let Y=Q();return Object.defineProperty(this,"value",{value:Y}),Y}throw Error("cached value already set")}}}function N4(Q){return Q===null||Q===void 0}function b4(Q){let X=Q.startsWith("^")?1:0,Y=Q.endsWith("$")?Q.length-1:Q.length;return Q.slice(X,Y)}function gY(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 F0(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 fY(Q,X,Y){Object.defineProperty(Q,X,{value:Y,writable:!0,enumerable:!0,configurable:!0})}function PU(Q,X){if(!X)return Q;return X.reduce((Y,W)=>Y?.[W],Q)}function ZU(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 RU(Q=10){let Y="";for(let W=0;W<Q;W++)Y+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return Y}function p6(Q){return JSON.stringify(Q)}var s8=Error.captureStackTrace?Error.captureStackTrace:(...Q)=>{};function R9(Q){return typeof Q==="object"&&Q!==null&&!Array.isArray(Q)}var hY=M4(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(Q){return!1}});function E9(Q){if(R9(Q)===!1)return!1;let X=Q.constructor;if(X===void 0)return!0;let Y=X.prototype;if(R9(Y)===!1)return!1;if(Object.prototype.hasOwnProperty.call(Y,"isPrototypeOf")===!1)return!1;return!0}function EU(Q){let X=0;for(let Y in Q)if(Object.prototype.hasOwnProperty.call(Q,Y))X++;return X}var SU=(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}`)}},uY=new Set(["string","number","symbol"]),QG=new Set(["string","number","bigint","boolean","symbol","undefined"]);function D6(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 g(Q){let X=Q;if(!X)return{};if(typeof X==="string")return{error:()=>X};if(X?.message!==void 0){if(X?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");X.error=X.message}if(delete X.message,typeof X.error==="string")return{...X,error:()=>X.error};return X}function IU(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 e8(Q){if(typeof Q==="bigint")return Q.toString()+"n";if(typeof Q==="string")return`"${Q}"`;return`${Q}`}function lY(Q){return Object.keys(Q).filter((X)=>{return Q[X]._zod.optin==="optional"&&Q[X]._zod.optout==="optional"})}var mY={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]},XG={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function TU(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 CU(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 kU(Q,X){if(!E9(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 fY(this,"shape",W),W},checks:[]};return a0(Q,Y)}function vU(Q,X){return a0(Q,{...Q._zod.def,get shape(){let Y={...Q._zod.def.shape,...X._zod.def.shape};return fY(this,"shape",Y),Y},catchall:X._zod.def.catchall,checks:[]})}function _U(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 xU(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 d6(Q,X=0){for(let Y=X;Y<Q.issues.length;Y++)if(Q.issues[Y]?.continue!==!0)return!0;return!1}function u1(Q,X){return X.map((Y)=>{var W;return(W=Y).path??(W.path=[]),Y.path.unshift(Q),Y})}function j4(Q){return typeof Q==="string"?Q:Q?.message}function M1(Q,X,Y){let W={...Q,path:Q.path??[]};if(!Q.message){let $=j4(Q.inst?._zod.def?.error?.(Q))??j4(X?.error?.(Q))??j4(Y.customError?.(Q))??j4(Y.localeError?.(Q))??"Invalid input";W.message=$}if(delete W.inst,delete W.continue,!X?.reportInput)delete W.input;return W}function YG(Q){if(Q instanceof Set)return"set";if(Q instanceof Map)return"map";if(Q instanceof File)return"file";return"unknown"}function P4(Q){if(Array.isArray(Q))return"array";if(typeof Q==="string")return"string";return"unknown"}function cY(...Q){let[X,Y,W]=Q;if(typeof X==="string")return{message:X,code:"custom",input:Y,inst:W};return{...X}}function yU(Q){return Object.entries(Q).filter(([X,Y])=>{return Number.isNaN(Number.parseInt(X,10))}).map((X)=>X[1])}class WG{constructor(...Q){}}var $G=(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,yY,2)},enumerable:!0}),Object.defineProperty(Q,"toString",{value:()=>Q.message,enumerable:!1})},QQ=j("$ZodError",$G),Z4=j("$ZodError",$G,{Parent:Error});function XQ(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 YQ(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 pY=(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 A6;if(G.issues.length){let H=new($?.Err??Q)(G.issues.map((B)=>M1(B,J,t0())));throw s8(H,$?.callee),H}return G.value},dY=pY(Z4),iY=(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 s8(H,$?.callee),H}return G.value},nY=iY(Z4),oY=(Q)=>(X,Y,W)=>{let $=W?{...W,async:!1}:{async:!1},J=X._zod.run({value:Y,issues:[]},$);if(J instanceof Promise)throw new A6;return J.issues.length?{success:!1,error:new(Q??QQ)(J.issues.map((G)=>M1(G,$,t0())))}:{success:!0,data:J.value}},i6=oY(Z4),rY=(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}},n6=rY(Z4);var JG=/^[cC][^\s-]{8,}$/,GG=/^[0-9a-z]+$/,HG=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,BG=/^[0-9a-vA-V]{20}$/,zG=/^[A-Za-z0-9]{27}$/,KG=/^[a-zA-Z0-9_-]{21}$/,FG=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var VG=/^([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})$/,tY=(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 qG=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;function AG(){return new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")}var DG=/^(?:(?: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])$/,LG=/^(([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})$/,OG=/^((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])$/,UG=/^(([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])$/,jG=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,aY=/^[A-Za-z0-9_-]*$/,wG=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var MG=/^\+(?:[0-9]){6,14}[0-9]$/,NG="(?:(?:\\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])))",bG=new RegExp(`^${NG}$`);function PG(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 ZG(Q){return new RegExp(`^${PG(Q)}$`)}function RG(Q){let X=PG({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(`^${NG}T(?:${W})$`)}var EG=(Q)=>{let X=Q?`[\\s\\S]{${Q?.minimum??0},${Q?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${X}$`)},SG=/^\d+n?$/,IG=/^\d+$/,TG=/^-?\d+(?:\.\d+)?/i,CG=/true|false/i,kG=/null/i;var vG=/^[^A-Z]*$/,_G=/^[^a-z]*$/;var C0=j("$ZodCheck",(Q,X)=>{var Y;Q._zod??(Q._zod={}),Q._zod.def=X,(Y=Q._zod).onattach??(Y.onattach=[])}),xG={number:"number",bigint:"bigint",object:"date"},sY=j("$ZodCheckLessThan",(Q,X)=>{C0.init(Q,X);let Y=xG[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})}}),eY=j("$ZodCheckGreaterThan",(Q,X)=>{C0.init(Q,X);let Y=xG[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})}}),yG=j("$ZodCheckMultipleOf",(Q,X)=>{C0.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):gY(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})}}),gG=j("$ZodCheckNumberFormat",(Q,X)=>{C0.init(Q,X),X.format=X.format||"float64";let Y=X.format?.includes("int"),W=Y?"int":"number",[$,J]=mY[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=IG}),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 fG=j("$ZodCheckMaxLength",(Q,X)=>{var Y;C0.init(Q,X),(Y=Q._zod.def).when??(Y.when=(W)=>{let $=W.value;return!N4($)&&$.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=P4($);W.issues.push({origin:G,code:"too_big",maximum:X.maximum,inclusive:!0,input:$,inst:Q,continue:!X.abort})}}),hG=j("$ZodCheckMinLength",(Q,X)=>{var Y;C0.init(Q,X),(Y=Q._zod.def).when??(Y.when=(W)=>{let $=W.value;return!N4($)&&$.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=P4($);W.issues.push({origin:G,code:"too_small",minimum:X.minimum,inclusive:!0,input:$,inst:Q,continue:!X.abort})}}),uG=j("$ZodCheckLengthEquals",(Q,X)=>{var Y;C0.init(Q,X),(Y=Q._zod.def).when??(Y.when=(W)=>{let $=W.value;return!N4($)&&$.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=P4($),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})}}),E4=j("$ZodCheckStringFormat",(Q,X)=>{var Y,W;if(C0.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=()=>{})}),lG=j("$ZodCheckRegex",(Q,X)=>{E4.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})}}),mG=j("$ZodCheckLowerCase",(Q,X)=>{X.pattern??(X.pattern=vG),E4.init(Q,X)}),cG=j("$ZodCheckUpperCase",(Q,X)=>{X.pattern??(X.pattern=_G),E4.init(Q,X)}),pG=j("$ZodCheckIncludes",(Q,X)=>{C0.init(Q,X);let Y=D6(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})}}),dG=j("$ZodCheckStartsWith",(Q,X)=>{C0.init(Q,X);let Y=new RegExp(`^${D6(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})}}),iG=j("$ZodCheckEndsWith",(Q,X)=>{C0.init(Q,X);let Y=new RegExp(`.*${D6(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 nG=j("$ZodCheckOverwrite",(Q,X)=>{C0.init(Q,X),Q._zod.check=(Y)=>{Y.value=X.tx(Y.value)}});class QW{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
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
|
|
19
|
-
if (${
|
|
20
|
-
if (input[${
|
|
21
|
-
if (${
|
|
22
|
-
newResult[${
|
|
18
|
+
`))}}var rG={major:4,minor:0,patch:0};var G0=j("$ZodType",(Q,X)=>{var Y;Q??(Q={}),Q._zod.def=X,Q._zod.bag=Q._zod.bag||{},Q._zod.version=rG;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=d6(J),z;for(let K of G){if(K._zod.def.when){if(!K._zod.def.when(J))continue}else if(B)continue;let F=J.issues.length,q=K._zod.check(J);if(q instanceof Promise&&H?.async===!1)throw new A6;if(z||q instanceof Promise)z=(z??Promise.resolve()).then(async()=>{if(await q,J.issues.length===F)return;if(!B)B=d6(J,F)});else{if(J.issues.length===F)continue;if(!B)B=d6(J,F)}}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 A6;return H.then((B)=>$(B,W,G))}return $(H,W,G)}}Q["~standard"]={validate:($)=>{try{let J=i6(Q,$);return J.success?{value:J.data}:{issues:J.error?.issues}}catch(J){return n6(Q,$).then((G)=>G.success?{value:G.data}:{issues:G.error?.issues})}},vendor:"zod",version:1}}),S4=j("$ZodString",(Q,X)=>{G0.init(Q,X),Q._zod.pattern=[...Q?._zod.bag?.patterns??[]].pop()??EG(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}}),V0=j("$ZodStringFormat",(Q,X)=>{E4.init(Q,X),S4.init(Q,X)}),YW=j("$ZodGUID",(Q,X)=>{X.pattern??(X.pattern=VG),V0.init(Q,X)}),WW=j("$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=tY(W))}else X.pattern??(X.pattern=tY());V0.init(Q,X)}),$W=j("$ZodEmail",(Q,X)=>{X.pattern??(X.pattern=qG),V0.init(Q,X)}),JW=j("$ZodURL",(Q,X)=>{V0.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:wG.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})}}}),GW=j("$ZodEmoji",(Q,X)=>{X.pattern??(X.pattern=AG()),V0.init(Q,X)}),HW=j("$ZodNanoID",(Q,X)=>{X.pattern??(X.pattern=KG),V0.init(Q,X)}),BW=j("$ZodCUID",(Q,X)=>{X.pattern??(X.pattern=JG),V0.init(Q,X)}),zW=j("$ZodCUID2",(Q,X)=>{X.pattern??(X.pattern=GG),V0.init(Q,X)}),KW=j("$ZodULID",(Q,X)=>{X.pattern??(X.pattern=HG),V0.init(Q,X)}),FW=j("$ZodXID",(Q,X)=>{X.pattern??(X.pattern=BG),V0.init(Q,X)}),VW=j("$ZodKSUID",(Q,X)=>{X.pattern??(X.pattern=zG),V0.init(Q,X)}),JH=j("$ZodISODateTime",(Q,X)=>{X.pattern??(X.pattern=RG(X)),V0.init(Q,X)}),GH=j("$ZodISODate",(Q,X)=>{X.pattern??(X.pattern=bG),V0.init(Q,X)}),HH=j("$ZodISOTime",(Q,X)=>{X.pattern??(X.pattern=ZG(X)),V0.init(Q,X)}),BH=j("$ZodISODuration",(Q,X)=>{X.pattern??(X.pattern=FG),V0.init(Q,X)}),qW=j("$ZodIPv4",(Q,X)=>{X.pattern??(X.pattern=DG),V0.init(Q,X),Q._zod.onattach.push((Y)=>{let W=Y._zod.bag;W.format="ipv4"})}),AW=j("$ZodIPv6",(Q,X)=>{X.pattern??(X.pattern=LG),V0.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})}}}),DW=j("$ZodCIDRv4",(Q,X)=>{X.pattern??(X.pattern=OG),V0.init(Q,X)}),LW=j("$ZodCIDRv6",(Q,X)=>{X.pattern??(X.pattern=UG),V0.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 zH(Q){if(Q==="")return!0;if(Q.length%4!==0)return!1;try{return atob(Q),!0}catch{return!1}}var OW=j("$ZodBase64",(Q,X)=>{X.pattern??(X.pattern=jG),V0.init(Q,X),Q._zod.onattach.push((Y)=>{Y._zod.bag.contentEncoding="base64"}),Q._zod.check=(Y)=>{if(zH(Y.value))return;Y.issues.push({code:"invalid_format",format:"base64",input:Y.value,inst:Q,continue:!X.abort})}});function fU(Q){if(!aY.test(Q))return!1;let X=Q.replace(/[-_]/g,(W)=>W==="-"?"+":"/"),Y=X.padEnd(Math.ceil(X.length/4)*4,"=");return zH(Y)}var UW=j("$ZodBase64URL",(Q,X)=>{X.pattern??(X.pattern=aY),V0.init(Q,X),Q._zod.onattach.push((Y)=>{Y._zod.bag.contentEncoding="base64url"}),Q._zod.check=(Y)=>{if(fU(Y.value))return;Y.issues.push({code:"invalid_format",format:"base64url",input:Y.value,inst:Q,continue:!X.abort})}}),jW=j("$ZodE164",(Q,X)=>{X.pattern??(X.pattern=MG),V0.init(Q,X)});function hU(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 wW=j("$ZodJWT",(Q,X)=>{V0.init(Q,X),Q._zod.check=(Y)=>{if(hU(Y.value,X.alg))return;Y.issues.push({code:"invalid_format",format:"jwt",input:Y.value,inst:Q,continue:!X.abort})}});var $Q=j("$ZodNumber",(Q,X)=>{G0.init(Q,X),Q._zod.pattern=Q._zod.bag.pattern??TG,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}}),MW=j("$ZodNumber",(Q,X)=>{gG.init(Q,X),$Q.init(Q,X)}),NW=j("$ZodBoolean",(Q,X)=>{G0.init(Q,X),Q._zod.pattern=CG,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}}),bW=j("$ZodBigInt",(Q,X)=>{G0.init(Q,X),Q._zod.pattern=SG,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 PW=j("$ZodNull",(Q,X)=>{G0.init(Q,X),Q._zod.pattern=kG,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}}),ZW=j("$ZodAny",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y)=>Y}),RW=j("$ZodUnknown",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y)=>Y}),EW=j("$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 SW=j("$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 tG(Q,X,Y){if(Q.issues.length)X.issues.push(...u1(Y,Q.issues));X.value[Y]=Q.value}var IW=j("$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)=>tG(z,Y,G)));else tG(B,Y,G)}if(J.length)return Promise.all(J).then(()=>Y);return Y}});function WQ(Q,X,Y){if(Q.issues.length)X.issues.push(...u1(Y,Q.issues));X.value[Y]=Q.value}function aG(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(...u1(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 JQ=j("$ZodObject",(Q,X)=>{G0.init(Q,X);let Y=M4(()=>{let F=Object.keys(X.shape);for(let V of F)if(!(X.shape[V]instanceof G0))throw Error(`Invalid element at key "${V}": expected a Zod schema`);let q=lY(X.shape);return{shape:X.shape,keys:F,keySet:new Set(F),numKeys:F.length,optionalKeys:new Set(q)}});F0(Q._zod,"propValues",()=>{let F=X.shape,q={};for(let V in F){let D=F[V]._zod;if(D.values){q[V]??(q[V]=new Set);for(let A of D.values)q[V].add(A)}}return q});let W=(F)=>{let q=new QW(["shape","payload","ctx"]),V=Y.value,D=(M)=>{let N=p6(M);return`shape[${N}]._zod.run({ value: input[${N}], issues: [] }, ctx)`};q.write("const input = payload.value;");let A=Object.create(null),L=0;for(let M of V.keys)A[M]=`key_${L++}`;q.write("const newResult = {}");for(let M of V.keys)if(V.optionalKeys.has(M)){let N=A[M];q.write(`const ${N} = ${D(M)};`);let C=p6(M);q.write(`
|
|
19
|
+
if (${N}.issues.length) {
|
|
20
|
+
if (input[${C}] === undefined) {
|
|
21
|
+
if (${C} in input) {
|
|
22
|
+
newResult[${C}] = undefined;
|
|
23
23
|
}
|
|
24
24
|
} else {
|
|
25
25
|
payload.issues = payload.issues.concat(
|
|
26
|
-
${
|
|
26
|
+
${N}.issues.map((iss) => ({
|
|
27
27
|
...iss,
|
|
28
|
-
path: iss.path ? [${
|
|
28
|
+
path: iss.path ? [${C}, ...iss.path] : [${C}],
|
|
29
29
|
}))
|
|
30
30
|
);
|
|
31
31
|
}
|
|
32
|
-
} else if (${
|
|
33
|
-
if (${
|
|
32
|
+
} else if (${N}.value === undefined) {
|
|
33
|
+
if (${C} in input) newResult[${C}] = undefined;
|
|
34
34
|
} else {
|
|
35
|
-
newResult[${
|
|
35
|
+
newResult[${C}] = ${N}.value;
|
|
36
36
|
}
|
|
37
|
-
`)}else{let
|
|
38
|
-
if (${
|
|
37
|
+
`)}else{let N=A[M];q.write(`const ${N} = ${D(M)};`),q.write(`
|
|
38
|
+
if (${N}.issues.length) payload.issues = payload.issues.concat(${N}.issues.map(iss => ({
|
|
39
39
|
...iss,
|
|
40
|
-
path: iss.path ? [${
|
|
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>
|
|
40
|
+
path: iss.path ? [${p6(M)}, ...iss.path] : [${p6(M)}]
|
|
41
|
+
})));`),q.write(`newResult[${p6(M)}] = ${N}.value`)}q.write("payload.value = newResult;"),q.write("return payload;");let O=q.compile();return(M,N)=>O(F,M,N)},$,J=R9,G=!r8.jitless,B=G&&hY.value,z=X.catchall,K;Q._zod.parse=(F,q)=>{K??(K=Y.value);let V=F.value;if(!J(V))return F.issues.push({expected:"object",code:"invalid_type",input:V,inst:Q}),F;let D=[];if(G&&B&&q?.async===!1&&q.jitless!==!0){if(!$)$=W(X.shape);F=$(F,q)}else{F.value={};let N=K.shape;for(let C of K.keys){let Z=N[C],K0=Z._zod.run({value:V[C],issues:[]},q),b0=Z._zod.optin==="optional"&&Z._zod.optout==="optional";if(K0 instanceof Promise)D.push(K0.then((y1)=>b0?aG(y1,F,C,V):WQ(y1,F,C)));else if(b0)aG(K0,F,C,V);else WQ(K0,F,C)}}if(!z)return D.length?Promise.all(D).then(()=>F):F;let A=[],L=K.keySet,O=z._zod,M=O.def.type;for(let N of Object.keys(V)){if(L.has(N))continue;if(M==="never"){A.push(N);continue}let C=O.run({value:V[N],issues:[]},q);if(C instanceof Promise)D.push(C.then((Z)=>WQ(Z,F,N)));else WQ(C,F,N)}if(A.length)F.issues.push({code:"unrecognized_keys",keys:A,input:V,inst:Q});if(!D.length)return F;return Promise.all(D).then(()=>{return F})}});function sG(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 GQ=j("$ZodUnion",(Q,X)=>{G0.init(Q,X),F0(Q._zod,"optin",()=>X.options.some((Y)=>Y._zod.optin==="optional")?"optional":void 0),F0(Q._zod,"optout",()=>X.options.some((Y)=>Y._zod.optout==="optional")?"optional":void 0),F0(Q._zod,"values",()=>{if(X.options.every((Y)=>Y._zod.values))return new Set(X.options.flatMap((Y)=>Array.from(Y._zod.values)));return}),F0(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)=>b4(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 sG(J,Y,Q,W);return Promise.all(J).then((G)=>{return sG(G,Y,Q,W)})}}),TW=j("$ZodDiscriminatedUnion",(Q,X)=>{GQ.init(Q,X);let Y=Q._zod.parse;F0(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=M4(()=>{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(!R9(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}),$}}),CW=j("$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 eG(Y,B,z)});return eG(Y,J,G)}});function XW(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(E9(Q)&&E9(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=XW(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=XW($,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 eG(Q,X,Y){if(X.issues.length)Q.issues.push(...X.issues);if(Y.issues.length)Q.issues.push(...Y.issues);if(d6(Q))return Q;let W=XW(X.value,Y.value);if(!W.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(W.mergeErrorPath)}`);return Q.value=W.data,Q}var kW=j("$ZodRecord",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y,W)=>{let $=Y.value;if(!E9($))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(...u1(B,K.issues));Y.value[B]=K.value}));else{if(z.issues.length)Y.issues.push(...u1(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(...u1(G,z.issues));Y.value[H.value]=z.value}));else{if(B.issues.length)Y.issues.push(...u1(G,B.issues));Y.value[H.value]=B.value}}}if(J.length)return Promise.all(J).then(()=>Y);return Y}});var vW=j("$ZodEnum",(Q,X)=>{G0.init(Q,X);let Y=w4(X.entries);Q._zod.values=new Set(Y),Q._zod.pattern=new RegExp(`^(${Y.filter((W)=>uY.has(typeof W)).map((W)=>typeof W==="string"?D6(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}}),_W=j("$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"?D6(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 xW=j("$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 A6;return Y.value=$,Y}}),yW=j("$ZodOptional",(Q,X)=>{G0.init(Q,X),Q._zod.optin="optional",Q._zod.optout="optional",F0(Q._zod,"values",()=>{return X.innerType._zod.values?new Set([...X.innerType._zod.values,void 0]):void 0}),F0(Q._zod,"pattern",()=>{let Y=X.innerType._zod.pattern;return Y?new RegExp(`^(${b4(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)}}),gW=j("$ZodNullable",(Q,X)=>{G0.init(Q,X),F0(Q._zod,"optin",()=>X.innerType._zod.optin),F0(Q._zod,"optout",()=>X.innerType._zod.optout),F0(Q._zod,"pattern",()=>{let Y=X.innerType._zod.pattern;return Y?new RegExp(`^(${b4(Y.source)}|null)$`):void 0}),F0(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)}}),fW=j("$ZodDefault",(Q,X)=>{G0.init(Q,X),Q._zod.optin="optional",F0(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)=>QH(J,X));return QH($,X)}});function QH(Q,X){if(Q.value===void 0)Q.value=X.defaultValue;return Q}var hW=j("$ZodPrefault",(Q,X)=>{G0.init(Q,X),Q._zod.optin="optional",F0(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)}}),uW=j("$ZodNonOptional",(Q,X)=>{G0.init(Q,X),F0(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)=>XH(J,Q));return XH($,Q)}});function XH(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 lW=j("$ZodCatch",(Q,X)=>{G0.init(Q,X),Q._zod.optin="optional",F0(Q._zod,"optout",()=>X.innerType._zod.optout),F0(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 mW=j("$ZodPipe",(Q,X)=>{G0.init(Q,X),F0(Q._zod,"values",()=>X.in._zod.values),F0(Q._zod,"optin",()=>X.in._zod.optin),F0(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)=>YH(J,X,W));return YH($,X,W)}});function YH(Q,X,Y){if(d6(Q))return Q;return X.out._zod.run({value:Q.value,issues:Q.issues},Y)}var cW=j("$ZodReadonly",(Q,X)=>{G0.init(Q,X),F0(Q._zod,"propValues",()=>X.innerType._zod.propValues),F0(Q._zod,"values",()=>X.innerType._zod.values),F0(Q._zod,"optin",()=>X.innerType._zod.optin),F0(Q._zod,"optout",()=>X.innerType._zod.optout),Q._zod.parse=(Y,W)=>{let $=X.innerType._zod.run(Y,W);if($ instanceof Promise)return $.then(WH);return WH($)}});function WH(Q){return Q.value=Object.freeze(Q.value),Q}var pW=j("$ZodCustom",(Q,X)=>{C0.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)=>$H(J,Y,W,Q));$H($,Y,W,Q);return}});function $H(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(cY($))}}var uU=(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},lU=()=>{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 ${uU(W.input)}`;case"invalid_value":if(W.values.length===1)return`Invalid input: expected ${e8(W.values[0])}`;return`Invalid option: expected one of ${a8(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":""}: ${a8(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 dW(){return{localeError:lU()}}var KH=Symbol("ZodOutput"),FH=Symbol("ZodInput");class HQ{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 iW(){return new HQ}var r1=iW();function nW(Q,X){return new Q({type:"string",...g(X)})}function VH(Q,X){return new Q({type:"string",coerce:!0,...g(X)})}function oW(Q,X){return new Q({type:"string",format:"email",check:"string_format",abort:!1,...g(X)})}function BQ(Q,X){return new Q({type:"string",format:"guid",check:"string_format",abort:!1,...g(X)})}function rW(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,...g(X)})}function tW(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...g(X)})}function aW(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...g(X)})}function sW(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...g(X)})}function zQ(Q,X){return new Q({type:"string",format:"url",check:"string_format",abort:!1,...g(X)})}function eW(Q,X){return new Q({type:"string",format:"emoji",check:"string_format",abort:!1,...g(X)})}function Q7(Q,X){return new Q({type:"string",format:"nanoid",check:"string_format",abort:!1,...g(X)})}function X7(Q,X){return new Q({type:"string",format:"cuid",check:"string_format",abort:!1,...g(X)})}function Y7(Q,X){return new Q({type:"string",format:"cuid2",check:"string_format",abort:!1,...g(X)})}function W7(Q,X){return new Q({type:"string",format:"ulid",check:"string_format",abort:!1,...g(X)})}function $7(Q,X){return new Q({type:"string",format:"xid",check:"string_format",abort:!1,...g(X)})}function J7(Q,X){return new Q({type:"string",format:"ksuid",check:"string_format",abort:!1,...g(X)})}function G7(Q,X){return new Q({type:"string",format:"ipv4",check:"string_format",abort:!1,...g(X)})}function H7(Q,X){return new Q({type:"string",format:"ipv6",check:"string_format",abort:!1,...g(X)})}function B7(Q,X){return new Q({type:"string",format:"cidrv4",check:"string_format",abort:!1,...g(X)})}function z7(Q,X){return new Q({type:"string",format:"cidrv6",check:"string_format",abort:!1,...g(X)})}function K7(Q,X){return new Q({type:"string",format:"base64",check:"string_format",abort:!1,...g(X)})}function F7(Q,X){return new Q({type:"string",format:"base64url",check:"string_format",abort:!1,...g(X)})}function V7(Q,X){return new Q({type:"string",format:"e164",check:"string_format",abort:!1,...g(X)})}function q7(Q,X){return new Q({type:"string",format:"jwt",check:"string_format",abort:!1,...g(X)})}function qH(Q,X){return new Q({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...g(X)})}function AH(Q,X){return new Q({type:"string",format:"date",check:"string_format",...g(X)})}function DH(Q,X){return new Q({type:"string",format:"time",check:"string_format",precision:null,...g(X)})}function LH(Q,X){return new Q({type:"string",format:"duration",check:"string_format",...g(X)})}function A7(Q,X){return new Q({type:"number",checks:[],...g(X)})}function OH(Q,X){return new Q({type:"number",coerce:!0,checks:[],...g(X)})}function D7(Q,X){return new Q({type:"number",check:"number_format",abort:!1,format:"safeint",...g(X)})}function L7(Q,X){return new Q({type:"boolean",...g(X)})}function UH(Q,X){return new Q({type:"boolean",coerce:!0,...g(X)})}function jH(Q,X){return new Q({type:"bigint",coerce:!0,...g(X)})}function O7(Q,X){return new Q({type:"null",...g(X)})}function U7(Q){return new Q({type:"any"})}function j7(Q){return new Q({type:"unknown"})}function w7(Q,X){return new Q({type:"never",...g(X)})}function wH(Q,X){return new Q({type:"date",coerce:!0,...g(X)})}function S9(Q,X){return new sY({check:"less_than",...g(X),value:Q,inclusive:!1})}function t1(Q,X){return new sY({check:"less_than",...g(X),value:Q,inclusive:!0})}function I9(Q,X){return new eY({check:"greater_than",...g(X),value:Q,inclusive:!1})}function N1(Q,X){return new eY({check:"greater_than",...g(X),value:Q,inclusive:!0})}function I4(Q,X){return new yG({check:"multiple_of",...g(X),value:Q})}function KQ(Q,X){return new fG({check:"max_length",...g(X),maximum:Q})}function T9(Q,X){return new hG({check:"min_length",...g(X),minimum:Q})}function FQ(Q,X){return new uG({check:"length_equals",...g(X),length:Q})}function M7(Q,X){return new lG({check:"string_format",format:"regex",...g(X),pattern:Q})}function N7(Q){return new mG({check:"string_format",format:"lowercase",...g(Q)})}function b7(Q){return new cG({check:"string_format",format:"uppercase",...g(Q)})}function P7(Q,X){return new pG({check:"string_format",format:"includes",...g(X),includes:Q})}function Z7(Q,X){return new dG({check:"string_format",format:"starts_with",...g(X),prefix:Q})}function R7(Q,X){return new iG({check:"string_format",format:"ends_with",...g(X),suffix:Q})}function o6(Q){return new nG({check:"overwrite",tx:Q})}function E7(Q){return o6((X)=>X.normalize(Q))}function S7(){return o6((Q)=>Q.trim())}function I7(){return o6((Q)=>Q.toLowerCase())}function T7(){return o6((Q)=>Q.toUpperCase())}function MH(Q,X,Y){return new Q({type:"array",element:X,...g(Y)})}function C7(Q,X,Y){let W=g(Y);return W.abort??(W.abort=!0),new Q({type:"custom",check:"custom",fn:X,...W})}function k7(Q,X,Y){return new Q({type:"custom",check:"custom",fn:X,...g(Y)})}class v7{constructor(Q){this.counter=0,this.metadataRegistry=Q?.metadata??r1,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},F=Q._zod.parent;if(F)G.ref=F,this.process(F,K),this.seen.get(F).isParent=!0;else{let q=G.schema;switch(W.type){case"string":{let V=q;V.type="string";let{minimum:D,maximum:A,format:L,patterns:O,contentEncoding:M}=Q._zod.bag;if(typeof D==="number")V.minLength=D;if(typeof A==="number")V.maxLength=A;if(L){if(V.format=$[L]??L,V.format==="")delete V.format}if(M)V.contentEncoding=M;if(O&&O.size>0){let N=[...O];if(N.length===1)V.pattern=N[0].source;else if(N.length>1)G.schema.allOf=[...N.map((C)=>({...this.target==="draft-7"?{type:"string"}:{},pattern:C.source}))]}break}case"number":{let V=q,{minimum:D,maximum:A,format:L,multipleOf:O,exclusiveMaximum:M,exclusiveMinimum:N}=Q._zod.bag;if(typeof L==="string"&&L.includes("int"))V.type="integer";else V.type="number";if(typeof N==="number")V.exclusiveMinimum=N;if(typeof D==="number"){if(V.minimum=D,typeof N==="number")if(N>=D)delete V.minimum;else delete V.exclusiveMinimum}if(typeof M==="number")V.exclusiveMaximum=M;if(typeof A==="number"){if(V.maximum=A,typeof M==="number")if(M<=A)delete V.maximum;else delete V.exclusiveMaximum}if(typeof O==="number")V.multipleOf=O;break}case"boolean":{let V=q;V.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":{q.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":{q.not={};break}case"date":{if(this.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema");break}case"array":{let V=q,{minimum:D,maximum:A}=Q._zod.bag;if(typeof D==="number")V.minItems=D;if(typeof A==="number")V.maxItems=A;V.type="array",V.items=this.process(W.element,{...K,path:[...K.path,"items"]});break}case"object":{let V=q;V.type="object",V.properties={};let D=W.shape;for(let O in D)V.properties[O]=this.process(D[O],{...K,path:[...K.path,"properties",O]});let A=new Set(Object.keys(D)),L=new Set([...A].filter((O)=>{let M=W.shape[O]._zod;if(this.io==="input")return M.optin===void 0;else return M.optout===void 0}));if(L.size>0)V.required=Array.from(L);if(W.catchall?._zod.def.type==="never")V.additionalProperties=!1;else if(!W.catchall){if(this.io==="output")V.additionalProperties=!1}else if(W.catchall)V.additionalProperties=this.process(W.catchall,{...K,path:[...K.path,"additionalProperties"]});break}case"union":{let V=q;V.anyOf=W.options.map((D,A)=>this.process(D,{...K,path:[...K.path,"anyOf",A]}));break}case"intersection":{let V=q,D=this.process(W.left,{...K,path:[...K.path,"allOf",0]}),A=this.process(W.right,{...K,path:[...K.path,"allOf",1]}),L=(M)=>("allOf"in M)&&Object.keys(M).length===1,O=[...L(D)?D.allOf:[D],...L(A)?A.allOf:[A]];V.allOf=O;break}case"tuple":{let V=q;V.type="array";let D=W.items.map((O,M)=>this.process(O,{...K,path:[...K.path,"prefixItems",M]}));if(this.target==="draft-2020-12")V.prefixItems=D;else V.items=D;if(W.rest){let O=this.process(W.rest,{...K,path:[...K.path,"items"]});if(this.target==="draft-2020-12")V.items=O;else V.additionalItems=O}if(W.rest)V.items=this.process(W.rest,{...K,path:[...K.path,"items"]});let{minimum:A,maximum:L}=Q._zod.bag;if(typeof A==="number")V.minItems=A;if(typeof L==="number")V.maxItems=L;break}case"record":{let V=q;V.type="object",V.propertyNames=this.process(W.keyType,{...K,path:[...K.path,"propertyNames"]}),V.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 V=q,D=w4(W.entries);if(D.every((A)=>typeof A==="number"))V.type="number";if(D.every((A)=>typeof A==="string"))V.type="string";V.enum=D;break}case"literal":{let V=q,D=[];for(let A of W.values)if(A===void 0){if(this.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof A==="bigint")if(this.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else D.push(Number(A));else D.push(A);if(D.length===0);else if(D.length===1){let A=D[0];V.type=A===null?"null":typeof A,V.const=A}else{if(D.every((A)=>typeof A==="number"))V.type="number";if(D.every((A)=>typeof A==="string"))V.type="string";if(D.every((A)=>typeof A==="boolean"))V.type="string";if(D.every((A)=>A===null))V.type="null";V.enum=D}break}case"file":{let V=q,D={type:"string",format:"binary",contentEncoding:"binary"},{minimum:A,maximum:L,mime:O}=Q._zod.bag;if(A!==void 0)D.minLength=A;if(L!==void 0)D.maxLength=L;if(O)if(O.length===1)D.contentMediaType=O[0],Object.assign(V,D);else V.anyOf=O.map((M)=>{return{...D,contentMediaType:M}});else Object.assign(V,D);break}case"transform":{if(this.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema");break}case"nullable":{let V=this.process(W.innerType,K);q.anyOf=[V,{type:"null"}];break}case"nonoptional":{this.process(W.innerType,K),G.ref=W.innerType;break}case"success":{let V=q;V.type="boolean";break}case"default":{this.process(W.innerType,K),G.ref=W.innerType,q.default=JSON.parse(JSON.stringify(W.defaultValue));break}case"prefault":{if(this.process(W.innerType,K),G.ref=W.innerType,this.io==="input")q._prefault=JSON.parse(JSON.stringify(W.defaultValue));break}case"catch":{this.process(W.innerType,K),G.ref=W.innerType;let V;try{V=W.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}q.default=V;break}case"nan":{if(this.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema");break}case"template_literal":{let V=q,D=Q._zod.pattern;if(!D)throw Error("Pattern not found in template literal");V.type="string",V.pattern=D.source;break}case"pipe":{let V=this.io==="input"?W.in._zod.def.type==="transform"?W.out:W.in:W.out;this.process(V,K),G.ref=V;break}case"readonly":{this.process(W.innerType,K),G.ref=W.innerType,q.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 V=Q._zod.innerType;this.process(V,K),G.ref=V;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 D=Y.external.registry.get(z[0])?.id,A=Y.external.uri??((O)=>O);if(D)return{ref:A(D)};let L=z[1].defId??z[1].schema.id??`schema${this.counter++}`;return z[1].defId=L,{defId:L,ref:`${A("__shared")}#/${K}/${L}`}}if(z[1]===W)return{ref:"#"};let q=`${"#"}/${K}/`,V=z[1].schema.id??`__schema${this.counter++}`;return{defId:V,ref:q+V}},J=(z)=>{if(z[1].schema.$ref)return;let K=z[1],{ref:F,defId:q}=$(z);if(K.def={...K.schema},q)K.defId=q;let V=K.schema;for(let D in V)delete V[D];V.$ref=F};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
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
|
|
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 q=Y.external.registry.get(z[0])?.id;if(Q!==z[0]&&q){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 F=this.seen.get(z),q=F.def??F.schema,V={...q};if(F.ref===null)return;let D=F.ref;if(F.ref=null,D){G(D,K);let A=this.seen.get(D).schema;if(A.$ref&&K.target==="draft-7")q.allOf=q.allOf??[],q.allOf.push(A);else Object.assign(q,A),Object.assign(q,V)}if(!F.isParent)this.override({zodSchema:z,jsonSchema:q,path:F.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 VQ(Q,X){if(Q instanceof HQ){let W=new v7(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 v7(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 Uj=j("ZodMiniType",(Q,X)=>{if(!Q._zod)throw Error("Uninitialized schema in ZodMiniType.");G0.init(Q,X),Q.def=X,Q.parse=(Y,W)=>dY(Q,Y,W,{callee:Q.parse}),Q.safeParse=(Y,W)=>i6(Q,Y,W),Q.parseAsync=async(Y,W)=>nY(Q,Y,W,{callee:Q.parseAsync}),Q.safeParseAsync=async(Y,W)=>n6(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 jj=j("ZodMiniObject",(Q,X)=>{JQ.init(Q,X),Uj.init(Q,X),t.defineLazy(Q,"shape",()=>X.shape)});function _7(Q,X){let Y={type:"object",get shape(){return t.assignProp(this,"shape",{...Q}),this.shape},...t.normalizeParams(X)};return new jj(Y)}function s0(Q){return!!Q._zod}function r6(Q){let X=Object.values(Q);if(X.length===0)return _7({});let Y=X.every(s0),W=X.every(($)=>!s0($));if(Y)return _7(Q);if(W)return _Y(Q);throw Error("Mixed Zod versions detected in object shape.")}function m0(Q,X){if(s0(Q))return i6(Q,X);return Q.safeParse(X)}async function qQ(Q,X){if(s0(Q))return await n6(Q,X);return await Q.safeParseAsync(X)}function l1(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 C9(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 r6(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 AQ(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 bH(Q){return Q.description}function PH(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 DQ(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 T4={};c8(T4,{time:()=>g7,duration:()=>f7,datetime:()=>x7,date:()=>y7,ZodISOTime:()=>EH,ZodISODuration:()=>SH,ZodISODateTime:()=>ZH,ZodISODate:()=>RH});var ZH=j("ZodISODateTime",(Q,X)=>{JH.init(Q,X),O0.init(Q,X)});function x7(Q){return qH(ZH,Q)}var RH=j("ZodISODate",(Q,X)=>{GH.init(Q,X),O0.init(Q,X)});function y7(Q){return AH(RH,Q)}var EH=j("ZodISOTime",(Q,X)=>{HH.init(Q,X),O0.init(Q,X)});function g7(Q){return DH(EH,Q)}var SH=j("ZodISODuration",(Q,X)=>{BH.init(Q,X),O0.init(Q,X)});function f7(Q){return LH(SH,Q)}var TH=(Q,X)=>{QQ.init(Q,X),Q.name="ZodError",Object.defineProperties(Q,{format:{value:(Y)=>YQ(Q,Y)},flatten:{value:(Y)=>XQ(Q,Y)},addIssue:{value:(Y)=>Q.issues.push(Y)},addIssues:{value:(Y)=>Q.issues.push(...Y)},isEmpty:{get(){return Q.issues.length===0}}})},pf=j("ZodError",TH),C4=j("ZodError",TH,{Parent:Error});var CH=pY(C4),kH=iY(C4),vH=oY(C4),_H=rY(C4);var q0=j("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)=>CH(Q,Y,W,{callee:Q.parse}),Q.safeParse=(Y,W)=>vH(Q,Y,W),Q.parseAsync=async(Y,W)=>kH(Q,Y,W,{callee:Q.parseAsync}),Q.safeParseAsync=async(Y,W)=>_H(Q,Y,W),Q.spa=Q.safeParseAsync,Q.refine=(Y,W)=>Q.check(Ow(Y,W)),Q.superRefine=(Y)=>Q.check(Uw(Y)),Q.overwrite=(Y)=>Q.check(o6(Y)),Q.optional=()=>N0(Q),Q.nullable=()=>gH(Q),Q.nullish=()=>N0(gH(Q)),Q.nonoptional=(Y)=>Kw(Q,Y),Q.array=()=>E(Q),Q.or=(Y)=>A0([Q,Y]),Q.and=(Y)=>UQ(Q,Y),Q.transform=(Y)=>u7(Q,iH(Y)),Q.default=(Y)=>Hw(Q,Y),Q.prefault=(Y)=>zw(Q,Y),Q.catch=(Y)=>Vw(Q,Y),Q.pipe=(Y)=>u7(Q,Y),Q.readonly=()=>Dw(Q),Q.describe=(Y)=>{let W=Q.clone();return r1.add(W,{description:Y}),W},Object.defineProperty(Q,"description",{get(){return r1.get(Q)?.description},configurable:!0}),Q.meta=(...Y)=>{if(Y.length===0)return r1.get(Q);let W=Q.clone();return r1.add(W,Y[0]),W},Q.isOptional=()=>Q.safeParse(void 0).success,Q.isNullable=()=>Q.safeParse(null).success,Q}),fH=j("_ZodString",(Q,X)=>{S4.init(Q,X),q0.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(M7(...W)),Q.includes=(...W)=>Q.check(P7(...W)),Q.startsWith=(...W)=>Q.check(Z7(...W)),Q.endsWith=(...W)=>Q.check(R7(...W)),Q.min=(...W)=>Q.check(T9(...W)),Q.max=(...W)=>Q.check(KQ(...W)),Q.length=(...W)=>Q.check(FQ(...W)),Q.nonempty=(...W)=>Q.check(T9(1,...W)),Q.lowercase=(W)=>Q.check(N7(W)),Q.uppercase=(W)=>Q.check(b7(W)),Q.trim=()=>Q.check(S7()),Q.normalize=(...W)=>Q.check(E7(...W)),Q.toLowerCase=()=>Q.check(I7()),Q.toUpperCase=()=>Q.check(T7())}),l7=j("ZodString",(Q,X)=>{S4.init(Q,X),fH.init(Q,X),Q.email=(Y)=>Q.check(oW(Cj,Y)),Q.url=(Y)=>Q.check(zQ(hH,Y)),Q.jwt=(Y)=>Q.check(q7(ij,Y)),Q.emoji=(Y)=>Q.check(eW(kj,Y)),Q.guid=(Y)=>Q.check(BQ(xH,Y)),Q.uuid=(Y)=>Q.check(rW(LQ,Y)),Q.uuidv4=(Y)=>Q.check(tW(LQ,Y)),Q.uuidv6=(Y)=>Q.check(aW(LQ,Y)),Q.uuidv7=(Y)=>Q.check(sW(LQ,Y)),Q.nanoid=(Y)=>Q.check(Q7(vj,Y)),Q.guid=(Y)=>Q.check(BQ(xH,Y)),Q.cuid=(Y)=>Q.check(X7(_j,Y)),Q.cuid2=(Y)=>Q.check(Y7(xj,Y)),Q.ulid=(Y)=>Q.check(W7(yj,Y)),Q.base64=(Y)=>Q.check(K7(cj,Y)),Q.base64url=(Y)=>Q.check(F7(pj,Y)),Q.xid=(Y)=>Q.check($7(gj,Y)),Q.ksuid=(Y)=>Q.check(J7(fj,Y)),Q.ipv4=(Y)=>Q.check(G7(hj,Y)),Q.ipv6=(Y)=>Q.check(H7(uj,Y)),Q.cidrv4=(Y)=>Q.check(B7(lj,Y)),Q.cidrv6=(Y)=>Q.check(z7(mj,Y)),Q.e164=(Y)=>Q.check(V7(dj,Y)),Q.datetime=(Y)=>Q.check(x7(Y)),Q.date=(Y)=>Q.check(y7(Y)),Q.time=(Y)=>Q.check(g7(Y)),Q.duration=(Y)=>Q.check(f7(Y))});function U(Q){return nW(l7,Q)}var O0=j("ZodStringFormat",(Q,X)=>{V0.init(Q,X),fH.init(Q,X)}),Cj=j("ZodEmail",(Q,X)=>{$W.init(Q,X),O0.init(Q,X)});var xH=j("ZodGUID",(Q,X)=>{YW.init(Q,X),O0.init(Q,X)});var LQ=j("ZodUUID",(Q,X)=>{WW.init(Q,X),O0.init(Q,X)});var hH=j("ZodURL",(Q,X)=>{JW.init(Q,X),O0.init(Q,X)});function uH(Q){return zQ(hH,Q)}var kj=j("ZodEmoji",(Q,X)=>{GW.init(Q,X),O0.init(Q,X)});var vj=j("ZodNanoID",(Q,X)=>{HW.init(Q,X),O0.init(Q,X)});var _j=j("ZodCUID",(Q,X)=>{BW.init(Q,X),O0.init(Q,X)});var xj=j("ZodCUID2",(Q,X)=>{zW.init(Q,X),O0.init(Q,X)});var yj=j("ZodULID",(Q,X)=>{KW.init(Q,X),O0.init(Q,X)});var gj=j("ZodXID",(Q,X)=>{FW.init(Q,X),O0.init(Q,X)});var fj=j("ZodKSUID",(Q,X)=>{VW.init(Q,X),O0.init(Q,X)});var hj=j("ZodIPv4",(Q,X)=>{qW.init(Q,X),O0.init(Q,X)});var uj=j("ZodIPv6",(Q,X)=>{AW.init(Q,X),O0.init(Q,X)});var lj=j("ZodCIDRv4",(Q,X)=>{DW.init(Q,X),O0.init(Q,X)});var mj=j("ZodCIDRv6",(Q,X)=>{LW.init(Q,X),O0.init(Q,X)});var cj=j("ZodBase64",(Q,X)=>{OW.init(Q,X),O0.init(Q,X)});var pj=j("ZodBase64URL",(Q,X)=>{UW.init(Q,X),O0.init(Q,X)});var dj=j("ZodE164",(Q,X)=>{jW.init(Q,X),O0.init(Q,X)});var ij=j("ZodJWT",(Q,X)=>{wW.init(Q,X),O0.init(Q,X)});var OQ=j("ZodNumber",(Q,X)=>{$Q.init(Q,X),q0.init(Q,X),Q.gt=(W,$)=>Q.check(I9(W,$)),Q.gte=(W,$)=>Q.check(N1(W,$)),Q.min=(W,$)=>Q.check(N1(W,$)),Q.lt=(W,$)=>Q.check(S9(W,$)),Q.lte=(W,$)=>Q.check(t1(W,$)),Q.max=(W,$)=>Q.check(t1(W,$)),Q.int=(W)=>Q.check(yH(W)),Q.safe=(W)=>Q.check(yH(W)),Q.positive=(W)=>Q.check(I9(0,W)),Q.nonnegative=(W)=>Q.check(N1(0,W)),Q.negative=(W)=>Q.check(S9(0,W)),Q.nonpositive=(W)=>Q.check(t1(0,W)),Q.multipleOf=(W,$)=>Q.check(I4(W,$)),Q.step=(W,$)=>Q.check(I4(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 A7(OQ,Q)}var nj=j("ZodNumberFormat",(Q,X)=>{MW.init(Q,X),OQ.init(Q,X)});function yH(Q){return D7(nj,Q)}var m7=j("ZodBoolean",(Q,X)=>{NW.init(Q,X),q0.init(Q,X)});function H0(Q){return L7(m7,Q)}var lH=j("ZodBigInt",(Q,X)=>{bW.init(Q,X),q0.init(Q,X),Q.gte=(W,$)=>Q.check(N1(W,$)),Q.min=(W,$)=>Q.check(N1(W,$)),Q.gt=(W,$)=>Q.check(I9(W,$)),Q.gte=(W,$)=>Q.check(N1(W,$)),Q.min=(W,$)=>Q.check(N1(W,$)),Q.lt=(W,$)=>Q.check(S9(W,$)),Q.lte=(W,$)=>Q.check(t1(W,$)),Q.max=(W,$)=>Q.check(t1(W,$)),Q.positive=(W)=>Q.check(I9(BigInt(0),W)),Q.negative=(W)=>Q.check(S9(BigInt(0),W)),Q.nonpositive=(W)=>Q.check(t1(BigInt(0),W)),Q.nonnegative=(W)=>Q.check(N1(BigInt(0),W)),Q.multipleOf=(W,$)=>Q.check(I4(W,$));let Y=Q._zod.bag;Q.minValue=Y.minimum??null,Q.maxValue=Y.maximum??null,Q.format=Y.format??null});var oj=j("ZodNull",(Q,X)=>{PW.init(Q,X),q0.init(Q,X)});function c7(Q){return O7(oj,Q)}var rj=j("ZodAny",(Q,X)=>{ZW.init(Q,X),q0.init(Q,X)});function mH(){return U7(rj)}var tj=j("ZodUnknown",(Q,X)=>{RW.init(Q,X),q0.init(Q,X)});function U0(){return j7(tj)}var aj=j("ZodNever",(Q,X)=>{EW.init(Q,X),q0.init(Q,X)});function sj(Q){return w7(aj,Q)}var cH=j("ZodDate",(Q,X)=>{SW.init(Q,X),q0.init(Q,X),Q.min=(W,$)=>Q.check(N1(W,$)),Q.max=(W,$)=>Q.check(t1(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 ej=j("ZodArray",(Q,X)=>{IW.init(Q,X),q0.init(Q,X),Q.element=X.element,Q.min=(Y,W)=>Q.check(T9(Y,W)),Q.nonempty=(Y)=>Q.check(T9(1,Y)),Q.max=(Y,W)=>Q.check(KQ(Y,W)),Q.length=(Y,W)=>Q.check(FQ(Y,W)),Q.unwrap=()=>Q.element});function E(Q,X){return MH(ej,Q,X)}var pH=j("ZodObject",(Q,X)=>{JQ.init(Q,X),q0.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:sj()}),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(nH,Q,Y[0]),Q.required=(...Y)=>t.required(oH,Q,Y[0])});function I(Q,X){let Y={type:"object",get shape(){return t.assignProp(this,"shape",{...Q}),this.shape},...t.normalizeParams(X)};return new pH(Y)}function I0(Q,X){return new pH({type:"object",get shape(){return t.assignProp(this,"shape",{...Q}),this.shape},catchall:U0(),...t.normalizeParams(X)})}var dH=j("ZodUnion",(Q,X)=>{GQ.init(Q,X),q0.init(Q,X),Q.options=X.options});function A0(Q,X){return new dH({type:"union",options:Q,...t.normalizeParams(X)})}var Qw=j("ZodDiscriminatedUnion",(Q,X)=>{dH.init(Q,X),TW.init(Q,X)});function p7(Q,X,Y){return new Qw({type:"union",options:X,discriminator:Q,...t.normalizeParams(Y)})}var Xw=j("ZodIntersection",(Q,X)=>{CW.init(Q,X),q0.init(Q,X)});function UQ(Q,X){return new Xw({type:"intersection",left:Q,right:X})}var Yw=j("ZodRecord",(Q,X)=>{kW.init(Q,X),q0.init(Q,X),Q.keyType=X.keyType,Q.valueType=X.valueType});function j0(Q,X,Y){return new Yw({type:"record",keyType:Q,valueType:X,...t.normalizeParams(Y)})}var h7=j("ZodEnum",(Q,X)=>{vW.init(Q,X),q0.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 h7({...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 h7({...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 h7({type:"enum",entries:Y,...t.normalizeParams(X)})}var Ww=j("ZodLiteral",(Q,X)=>{_W.init(Q,X),q0.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 Ww({type:"literal",values:Array.isArray(Q)?Q:[Q],...t.normalizeParams(X)})}var $w=j("ZodTransform",(Q,X)=>{xW.init(Q,X),q0.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 iH(Q){return new $w({type:"transform",transform:Q})}var nH=j("ZodOptional",(Q,X)=>{yW.init(Q,X),q0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType});function N0(Q){return new nH({type:"optional",innerType:Q})}var Jw=j("ZodNullable",(Q,X)=>{gW.init(Q,X),q0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType});function gH(Q){return new Jw({type:"nullable",innerType:Q})}var Gw=j("ZodDefault",(Q,X)=>{fW.init(Q,X),q0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType,Q.removeDefault=Q.unwrap});function Hw(Q,X){return new Gw({type:"default",innerType:Q,get defaultValue(){return typeof X==="function"?X():X}})}var Bw=j("ZodPrefault",(Q,X)=>{hW.init(Q,X),q0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType});function zw(Q,X){return new Bw({type:"prefault",innerType:Q,get defaultValue(){return typeof X==="function"?X():X}})}var oH=j("ZodNonOptional",(Q,X)=>{uW.init(Q,X),q0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType});function Kw(Q,X){return new oH({type:"nonoptional",innerType:Q,...t.normalizeParams(X)})}var Fw=j("ZodCatch",(Q,X)=>{lW.init(Q,X),q0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType,Q.removeCatch=Q.unwrap});function Vw(Q,X){return new Fw({type:"catch",innerType:Q,catchValue:typeof X==="function"?X:()=>X})}var qw=j("ZodPipe",(Q,X)=>{mW.init(Q,X),q0.init(Q,X),Q.in=X.in,Q.out=X.out});function u7(Q,X){return new qw({type:"pipe",in:Q,out:X})}var Aw=j("ZodReadonly",(Q,X)=>{cW.init(Q,X),q0.init(Q,X)});function Dw(Q){return new Aw({type:"readonly",innerType:Q})}var rH=j("ZodCustom",(Q,X)=>{pW.init(Q,X),q0.init(Q,X)});function Lw(Q){let X=new C0({check:"custom"});return X._zod.check=Q,X}function tH(Q,X){return C7(rH,Q??(()=>!0),X)}function Ow(Q,X={}){return k7(rH,Q,X)}function Uw(Q){let X=Lw((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 d7(Q,X){return u7(iH(Q),X)}var aH={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 jQ={};c8(jQ,{string:()=>jw,number:()=>ww,date:()=>bw,boolean:()=>Mw,bigint:()=>Nw});function jw(Q){return VH(l7,Q)}function ww(Q){return OH(OQ,Q)}function Mw(Q){return UH(m7,Q)}function Nw(Q){return jH(lH,Q)}function bw(Q){return wH(cH,Q)}t0(dW());var O6="2025-11-25";var MQ=[O6,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],U6="io.modelcontextprotocol/related-task",NQ="2.0",k0=tH((Q)=>Q!==null&&(typeof Q==="object"||typeof Q==="function")),sH=A0([U(),J0().int()]),eH=U(),Jh=I0({ttl:A0([J0(),c7()]).optional(),pollInterval:J0().optional()}),Zw=I({ttl:J0().optional()}),Rw=I({taskId:U()}),i7=I0({progressToken:sH.optional(),[U6]:Rw.optional()}),z1=I({_meta:i7.optional()}),k4=z1.extend({task:Zw.optional()}),Q3=(Q)=>k4.safeParse(Q).success,v0=I({method:U(),params:z1.loose().optional()}),K1=I({_meta:i7.optional()}),F1=I({method:U(),params:K1.loose().optional()}),_0=I0({_meta:i7.optional()}),bQ=A0([U(),J0().int()]),X3=I({jsonrpc:_(NQ),id:bQ,...v0.shape}).strict(),v4=(Q)=>X3.safeParse(Q).success,Y3=I({jsonrpc:_(NQ),...F1.shape}).strict(),W3=(Q)=>Y3.safeParse(Q).success,n7=I({jsonrpc:_(NQ),id:bQ,result:_0}).strict(),t6=(Q)=>n7.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 o7=I({jsonrpc:_(NQ),id:bQ.optional(),error:I({code:J0().int(),message:U(),data:U0().optional()})}).strict();var $3=(Q)=>o7.safeParse(Q).success;var v9=A0([X3,Y3,n7,o7]),Gh=A0([n7,o7]),a1=_0.strict(),Ew=K1.extend({requestId:bQ.optional(),reason:U().optional()}),PQ=F1.extend({method:_("notifications/cancelled"),params:Ew}),Sw=I({src:U(),mimeType:U().optional(),sizes:E(U()).optional(),theme:e0(["light","dark"]).optional()}),_4=I({icons:E(Sw).optional()}),k9=I({name:U(),title:U().optional()}),J3=k9.extend({...k9.shape,..._4.shape,version:U(),websiteUrl:U().optional(),description:U().optional()}),Iw=UQ(I({applyDefaults:H0().optional()}),j0(U(),U0())),Tw=d7((Q)=>{if(Q&&typeof Q==="object"&&!Array.isArray(Q)){if(Object.keys(Q).length===0)return{form:{}}}return Q},UQ(I({form:Iw.optional(),url:k0.optional()}),j0(U(),U0()).optional())),Cw=I0({list:k0.optional(),cancel:k0.optional(),requests:I0({sampling:I0({createMessage:k0.optional()}).optional(),elicitation:I0({create:k0.optional()}).optional()}).optional()}),kw=I0({list:k0.optional(),cancel:k0.optional(),requests:I0({tools:I0({call:k0.optional()}).optional()}).optional()}),vw=I({experimental:j0(U(),k0).optional(),sampling:I({context:k0.optional(),tools:k0.optional()}).optional(),elicitation:Tw.optional(),roots:I({listChanged:H0().optional()}).optional(),tasks:Cw.optional()}),_w=z1.extend({protocolVersion:U(),capabilities:vw,clientInfo:J3}),r7=v0.extend({method:_("initialize"),params:_w});var xw=I({experimental:j0(U(),k0).optional(),logging:k0.optional(),completions:k0.optional(),prompts:I({listChanged:H0().optional()}).optional(),resources:I({subscribe:H0().optional(),listChanged:H0().optional()}).optional(),tools:I({listChanged:H0().optional()}).optional(),tasks:kw.optional()}),t7=_0.extend({protocolVersion:U(),capabilities:xw,serverInfo:J3,instructions:U().optional()}),ZQ=F1.extend({method:_("notifications/initialized"),params:K1.optional()}),G3=(Q)=>ZQ.safeParse(Q).success,RQ=v0.extend({method:_("ping"),params:z1.optional()}),yw=I({progress:J0(),total:N0(J0()),message:N0(U())}),gw=I({...K1.shape,...yw.shape,progressToken:sH}),EQ=F1.extend({method:_("notifications/progress"),params:gw}),fw=z1.extend({cursor:eH.optional()}),x4=v0.extend({params:fw.optional()}),y4=_0.extend({nextCursor:eH.optional()}),hw=e0(["working","input_required","completed","failed","cancelled"]),g4=I({taskId:U(),status:hw,ttl:A0([J0(),c7()]),createdAt:U(),lastUpdatedAt:U(),pollInterval:N0(J0()),statusMessage:N0(U())}),s1=_0.extend({task:g4}),uw=K1.merge(g4),f4=F1.extend({method:_("notifications/tasks/status"),params:uw}),SQ=v0.extend({method:_("tasks/get"),params:z1.extend({taskId:U()})}),IQ=_0.merge(g4),TQ=v0.extend({method:_("tasks/result"),params:z1.extend({taskId:U()})}),Hh=_0.loose(),CQ=x4.extend({method:_("tasks/list")}),kQ=y4.extend({tasks:E(g4)}),vQ=v0.extend({method:_("tasks/cancel"),params:z1.extend({taskId:U()})}),H3=_0.merge(g4),B3=I({uri:U(),mimeType:N0(U()),_meta:j0(U(),U0()).optional()}),z3=B3.extend({text:U()}),a7=U().refine((Q)=>{try{return atob(Q),!0}catch{return!1}},{message:"Invalid Base64 string"}),K3=B3.extend({blob:a7}),h4=e0(["user","assistant"]),_9=I({audience:E(h4).optional(),priority:J0().min(0).max(1).optional(),lastModified:T4.datetime({offset:!0}).optional()}),F3=I({...k9.shape,..._4.shape,uri:U(),description:N0(U()),mimeType:N0(U()),annotations:_9.optional(),_meta:N0(I0({}))}),lw=I({...k9.shape,..._4.shape,uriTemplate:U(),description:N0(U()),mimeType:N0(U()),annotations:_9.optional(),_meta:N0(I0({}))}),_Q=x4.extend({method:_("resources/list")}),s7=y4.extend({resources:E(F3)}),xQ=x4.extend({method:_("resources/templates/list")}),e7=y4.extend({resourceTemplates:E(lw)}),Q5=z1.extend({uri:U()}),mw=Q5,yQ=v0.extend({method:_("resources/read"),params:mw}),X5=_0.extend({contents:E(A0([z3,K3]))}),u4=F1.extend({method:_("notifications/resources/list_changed"),params:K1.optional()}),cw=Q5,pw=v0.extend({method:_("resources/subscribe"),params:cw}),dw=Q5,iw=v0.extend({method:_("resources/unsubscribe"),params:dw}),nw=K1.extend({uri:U()}),Y5=F1.extend({method:_("notifications/resources/updated"),params:nw}),ow=I({name:U(),description:N0(U()),required:N0(H0())}),rw=I({...k9.shape,..._4.shape,description:N0(U()),arguments:N0(E(ow)),_meta:N0(I0({}))}),gQ=x4.extend({method:_("prompts/list")}),W5=y4.extend({prompts:E(rw)}),tw=z1.extend({name:U(),arguments:j0(U(),U()).optional()}),fQ=v0.extend({method:_("prompts/get"),params:tw}),$5=I({type:_("text"),text:U(),annotations:_9.optional(),_meta:j0(U(),U0()).optional()}),J5=I({type:_("image"),data:a7,mimeType:U(),annotations:_9.optional(),_meta:j0(U(),U0()).optional()}),G5=I({type:_("audio"),data:a7,mimeType:U(),annotations:_9.optional(),_meta:j0(U(),U0()).optional()}),aw=I({type:_("tool_use"),name:U(),id:U(),input:j0(U(),U0()),_meta:j0(U(),U0()).optional()}),sw=I({type:_("resource"),resource:A0([z3,K3]),annotations:_9.optional(),_meta:j0(U(),U0()).optional()}),ew=F3.extend({type:_("resource_link")}),H5=A0([$5,J5,G5,ew,sw]),QM=I({role:h4,content:H5}),B5=_0.extend({description:U().optional(),messages:E(QM)}),l4=F1.extend({method:_("notifications/prompts/list_changed"),params:K1.optional()}),XM=I({title:U().optional(),readOnlyHint:H0().optional(),destructiveHint:H0().optional(),idempotentHint:H0().optional(),openWorldHint:H0().optional()}),YM=I({taskSupport:e0(["required","optional","forbidden"]).optional()}),V3=I({...k9.shape,..._4.shape,description:U().optional(),inputSchema:I({type:_("object"),properties:j0(U(),k0).optional(),required:E(U()).optional()}).catchall(U0()),outputSchema:I({type:_("object"),properties:j0(U(),k0).optional(),required:E(U()).optional()}).catchall(U0()).optional(),annotations:XM.optional(),execution:YM.optional(),_meta:j0(U(),U0()).optional()}),hQ=x4.extend({method:_("tools/list")}),z5=y4.extend({tools:E(V3)}),j6=_0.extend({content:E(H5).default([]),structuredContent:j0(U(),U0()).optional(),isError:H0().optional()}),Bh=j6.or(_0.extend({toolResult:U0()})),WM=k4.extend({name:U(),arguments:j0(U(),U0()).optional()}),x9=v0.extend({method:_("tools/call"),params:WM}),m4=F1.extend({method:_("notifications/tools/list_changed"),params:K1.optional()}),q3=I({autoRefresh:H0().default(!0),debounceMs:J0().int().nonnegative().default(300)}),c4=e0(["debug","info","notice","warning","error","critical","alert","emergency"]),$M=z1.extend({level:c4}),K5=v0.extend({method:_("logging/setLevel"),params:$M}),JM=K1.extend({level:c4,logger:U().optional(),data:U0()}),F5=F1.extend({method:_("notifications/message"),params:JM}),GM=I({name:U().optional()}),HM=I({hints:E(GM).optional(),costPriority:J0().min(0).max(1).optional(),speedPriority:J0().min(0).max(1).optional(),intelligencePriority:J0().min(0).max(1).optional()}),BM=I({mode:e0(["auto","required","none"]).optional()}),zM=I({type:_("tool_result"),toolUseId:U().describe("The unique identifier for the corresponding tool call."),content:E(H5).default([]),structuredContent:I({}).loose().optional(),isError:H0().optional(),_meta:j0(U(),U0()).optional()}),KM=p7("type",[$5,J5,G5]),wQ=p7("type",[$5,J5,G5,aw,zM]),FM=I({role:h4,content:A0([wQ,E(wQ)]),_meta:j0(U(),U0()).optional()}),VM=k4.extend({messages:E(FM),modelPreferences:HM.optional(),systemPrompt:U().optional(),includeContext:e0(["none","thisServer","allServers"]).optional(),temperature:J0().optional(),maxTokens:J0().int(),stopSequences:E(U()).optional(),metadata:k0.optional(),tools:E(V3).optional(),toolChoice:BM.optional()}),p4=v0.extend({method:_("sampling/createMessage"),params:VM}),d4=_0.extend({model:U(),stopReason:N0(e0(["endTurn","stopSequence","maxTokens"]).or(U())),role:h4,content:KM}),V5=_0.extend({model:U(),stopReason:N0(e0(["endTurn","stopSequence","maxTokens","toolUse"]).or(U())),role:h4,content:A0([wQ,E(wQ)])}),qM=I({type:_("boolean"),title:U().optional(),description:U().optional(),default:H0().optional()}),AM=I({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()}),DM=I({type:e0(["number","integer"]),title:U().optional(),description:U().optional(),minimum:J0().optional(),maximum:J0().optional(),default:J0().optional()}),LM=I({type:_("string"),title:U().optional(),description:U().optional(),enum:E(U()),default:U().optional()}),OM=I({type:_("string"),title:U().optional(),description:U().optional(),oneOf:E(I({const:U(),title:U()})),default:U().optional()}),UM=I({type:_("string"),title:U().optional(),description:U().optional(),enum:E(U()),enumNames:E(U()).optional(),default:U().optional()}),jM=A0([LM,OM]),wM=I({type:_("array"),title:U().optional(),description:U().optional(),minItems:J0().optional(),maxItems:J0().optional(),items:I({type:_("string"),enum:E(U())}),default:E(U()).optional()}),MM=I({type:_("array"),title:U().optional(),description:U().optional(),minItems:J0().optional(),maxItems:J0().optional(),items:I({anyOf:E(I({const:U(),title:U()}))}),default:E(U()).optional()}),NM=A0([wM,MM]),bM=A0([UM,jM,NM]),PM=A0([bM,qM,AM,DM]),ZM=k4.extend({mode:_("form").optional(),message:U(),requestedSchema:I({type:_("object"),properties:j0(U(),PM),required:E(U()).optional()})}),RM=k4.extend({mode:_("url"),message:U(),elicitationId:U(),url:U().url()}),EM=A0([ZM,RM]),i4=v0.extend({method:_("elicitation/create"),params:EM}),SM=K1.extend({elicitationId:U()}),IM=F1.extend({method:_("notifications/elicitation/complete"),params:SM}),y9=_0.extend({action:e0(["accept","decline","cancel"]),content:d7((Q)=>Q===null?void 0:Q,j0(U(),A0([U(),J0(),H0(),E(U())])).optional())}),TM=I({type:_("ref/resource"),uri:U()});var CM=I({type:_("ref/prompt"),name:U()}),kM=z1.extend({ref:A0([CM,TM]),argument:I({name:U(),value:U()}),context:I({arguments:j0(U(),U()).optional()}).optional()}),uQ=v0.extend({method:_("completion/complete"),params:kM});function A3(Q){if(Q.params.ref.type!=="ref/prompt")throw TypeError(`Expected CompleteRequestPrompt, but got ${Q.params.ref.type}`)}function D3(Q){if(Q.params.ref.type!=="ref/resource")throw TypeError(`Expected CompleteRequestResourceTemplate, but got ${Q.params.ref.type}`)}var q5=_0.extend({completion:I0({values:E(U()).max(100),total:N0(J0().int()),hasMore:N0(H0())})}),vM=I({uri:U().startsWith("file://"),name:U().optional(),_meta:j0(U(),U0()).optional()}),_M=v0.extend({method:_("roots/list"),params:z1.optional()}),A5=_0.extend({roots:E(vM)}),xM=F1.extend({method:_("notifications/roots/list_changed"),params:K1.optional()}),zh=A0([RQ,r7,uQ,K5,fQ,gQ,_Q,xQ,yQ,pw,iw,x9,hQ,SQ,TQ,CQ,vQ]),Kh=A0([PQ,EQ,ZQ,xM,f4]),Fh=A0([a1,d4,V5,y9,A5,IQ,kQ,s1]),Vh=A0([RQ,p4,i4,_M,SQ,TQ,CQ,vQ]),qh=A0([PQ,EQ,F5,Y5,u4,m4,l4,f4,IM]),Ah=A0([a1,t7,q5,B5,W5,s7,e7,X5,j6,z5,IQ,kQ,s1]);class S 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 L3(W.elicitations,X)}return new S(Q,X,Y)}}class L3 extends S{constructor(Q,X=`URL elicitation${Q.length>1?"s":""} required`){super(k.UrlElicitationRequired,X,{elicitations:Q})}get elicitations(){return this.data?.elicitations??[]}}function w6(Q){return Q==="completed"||Q==="failed"||Q==="cancelled"}var U3=Symbol("Let zodToJsonSchema decide on which parser to use");var O3={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"},j3=(Q)=>typeof Q==="string"?{...O3,name:Q}:{...O3,...Q};var w3=(Q)=>{let X=j3(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 D5(Q,X,Y,W){if(!W?.errorMessages)return;if(Y)Q.errorMessage={...Q.errorMessage,[X]:Y}}function a(Q,X,Y,W,$){Q[X]=Y,D5(Q,X,W,$)}var lQ=(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"?lQ(X,Q.currentPath):X.join("/")}}function M3(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)a(Y,"minItems",Q.minLength.value,Q.minLength.message,X);if(Q.maxLength)a(Y,"maxItems",Q.maxLength.value,Q.maxLength.message,X);if(Q.exactLength)a(Y,"minItems",Q.exactLength.value,Q.exactLength.message,X),a(Y,"maxItems",Q.exactLength.value,Q.exactLength.message,X);return Y}function N3(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)a(Y,"minimum",W.value,W.message,X);else a(Y,"exclusiveMinimum",W.value,W.message,X);else{if(!W.inclusive)Y.exclusiveMinimum=!0;a(Y,"minimum",W.value,W.message,X)}break;case"max":if(X.target==="jsonSchema7")if(W.inclusive)a(Y,"maximum",W.value,W.message,X);else a(Y,"exclusiveMaximum",W.value,W.message,X);else{if(!W.inclusive)Y.exclusiveMaximum=!0;a(Y,"maximum",W.value,W.message,X)}break;case"multipleOf":a(Y,"multipleOf",W.value,W.message,X);break}return Y}function b3(){return{type:"boolean"}}function mQ(Q,X){return h(Q.type._def,X)}var P3=(Q,X)=>{return h(Q.innerType._def,X)};function L5(Q,X,Y){let W=Y??X.dateStrategy;if(Array.isArray(W))return{anyOf:W.map(($,J)=>L5(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 yM(Q,X)}}var yM=(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":a(Y,"minimum",W.value,W.message,X);break;case"max":a(Y,"maximum",W.value,W.message,X);break}return Y};function Z3(Q,X){return{...h(Q.innerType._def,X),default:Q.defaultValue()}}function R3(Q,X){return X.effectStrategy==="input"?h(Q.schema._def,X):w0(X)}function E3(Q){return{type:"string",enum:Array.from(Q.values)}}var gM=(Q)=>{if("type"in Q&&Q.type==="string")return!1;return"allOf"in Q};function S3(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(gM(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 I3(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 O5=void 0,b1={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(O5===void 0)O5=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return O5},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 cQ(Q,X){let Y={type:"string"};if(Q.checks)for(let W of Q.checks)switch(W.kind){case"min":a(Y,"minLength",typeof Y.minLength==="number"?Math.max(Y.minLength,W.value):W.value,W.message,X);break;case"max":a(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":P1(Y,"email",W.message,X);break;case"format:idn-email":P1(Y,"idn-email",W.message,X);break;case"pattern:zod":c0(Y,b1.email,W.message,X);break}break;case"url":P1(Y,"uri",W.message,X);break;case"uuid":P1(Y,"uuid",W.message,X);break;case"regex":c0(Y,W.regex,W.message,X);break;case"cuid":c0(Y,b1.cuid,W.message,X);break;case"cuid2":c0(Y,b1.cuid2,W.message,X);break;case"startsWith":c0(Y,RegExp(`^${U5(W.value,X)}`),W.message,X);break;case"endsWith":c0(Y,RegExp(`${U5(W.value,X)}$`),W.message,X);break;case"datetime":P1(Y,"date-time",W.message,X);break;case"date":P1(Y,"date",W.message,X);break;case"time":P1(Y,"time",W.message,X);break;case"duration":P1(Y,"duration",W.message,X);break;case"length":a(Y,"minLength",typeof Y.minLength==="number"?Math.max(Y.minLength,W.value):W.value,W.message,X),a(Y,"maxLength",typeof Y.maxLength==="number"?Math.min(Y.maxLength,W.value):W.value,W.message,X);break;case"includes":{c0(Y,RegExp(U5(W.value,X)),W.message,X);break}case"ip":{if(W.version!=="v6")P1(Y,"ipv4",W.message,X);if(W.version!=="v4")P1(Y,"ipv6",W.message,X);break}case"base64url":c0(Y,b1.base64url,W.message,X);break;case"jwt":c0(Y,b1.jwt,W.message,X);break;case"cidr":{if(W.version!=="v6")c0(Y,b1.ipv4Cidr,W.message,X);if(W.version!=="v4")c0(Y,b1.ipv6Cidr,W.message,X);break}case"emoji":c0(Y,b1.emoji(),W.message,X);break;case"ulid":{c0(Y,b1.ulid,W.message,X);break}case"base64":{switch(X.base64Strategy){case"format:binary":{P1(Y,"binary",W.message,X);break}case"contentEncoding:base64":{a(Y,"contentEncoding","base64",W.message,X);break}case"pattern:zod":{c0(Y,b1.base64,W.message,X);break}}break}case"nanoid":c0(Y,b1.nanoid,W.message,X);case"toLowerCase":case"toUpperCase":case"trim":break;default:(($)=>{})(W)}return Y}function U5(Q,X){return X.patternStrategy==="escape"?hM(Q):Q}var fM=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function hM(Q){let X="";for(let Y=0;Y<Q.length;Y++){if(!fM.has(Q[Y]))X+="\\";X+=Q[Y]}return X}function P1(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 a(Q,"format",X,Y,W)}function c0(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:T3(X,W),...Y&&W.errorMessages&&{errorMessage:{pattern:Y}}})}else a(Q,"pattern",T3(X,W),Y,W)}function T3(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
44
|
]))`;continue}else if(W[B]==="$"){$+=`($|(?=[\r
|
|
45
45
|
]))`;continue}}if(Y.s&&W[B]==="."){$+=G?`${W[B]}\r
|
|
46
46
|
`:`[${W[B]}\r
|
|
47
|
-
]`;continue}if($+=W[B],W[B]==="\\")J=!0;else if(G&&W[B]==="]")G=!1;else if(!G&&W[B]==="[")G=!0}try{new RegExp($)}catch{return console.warn(`Could not convert regex pattern at ${X.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),Q.source}return $}function 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
|
-
|
|
49
|
-
|
|
50
|
-
`;
|
|
51
|
-
|
|
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(`
|
|
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 pQ(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,...$}=cQ(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,...$}=mQ(Q.keyType._def,X);return{...Y,propertyNames:$}}return Y}function C3(Q,X){if(X.mapStrategy==="record")return pQ(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 k3(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 v3(Q){return Q.target==="openAi"?void 0:{not:w0({...Q,currentPath:[...Q.currentPath,"not"]})}}function _3(Q){return Q.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var n4={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function y3(Q,X){if(X.target==="openApi3")return x3(Q,X);let Y=Q.options instanceof Map?Array.from(Q.options.values()):Q.options;if(Y.every((W)=>(W._def.typeName in n4)&&(!W._def.checks||!W._def.checks.length))){let W=Y.reduce(($,J)=>{let G=n4[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 x3(Q,X)}var x3=(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 g3(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:n4[Q.innerType._def.typeName],nullable:!0};return{type:[n4[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 f3(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",D5(Y,"type",W.message,X);break;case"min":if(X.target==="jsonSchema7")if(W.inclusive)a(Y,"minimum",W.value,W.message,X);else a(Y,"exclusiveMinimum",W.value,W.message,X);else{if(!W.inclusive)Y.exclusiveMinimum=!0;a(Y,"minimum",W.value,W.message,X)}break;case"max":if(X.target==="jsonSchema7")if(W.inclusive)a(Y,"maximum",W.value,W.message,X);else a(Y,"exclusiveMaximum",W.value,W.message,X);else{if(!W.inclusive)Y.exclusiveMaximum=!0;a(Y,"maximum",W.value,W.message,X)}break;case"multipleOf":a(Y,"multipleOf",W.value,W.message,X);break}return Y}function h3(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=lM(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=uM(Q,X);if(G!==void 0)W.additionalProperties=G;return W}function uM(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 lM(Q){try{return Q.isOptional()}catch{return!0}}var u3=(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 l3=(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 m3(Q,X){return h(Q.type._def,X)}function c3(Q,X){let W={type:"array",uniqueItems:!0,items:h(Q.valueType._def,{...X,currentPath:[...X.currentPath,"items"]})};if(Q.minSize)a(W,"minItems",Q.minSize.value,Q.minSize.message,X);if(Q.maxSize)a(W,"maxItems",Q.maxSize.value,Q.maxSize.message,X);return W}function p3(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 d3(Q){return{not:w0(Q)}}function i3(Q){return w0(Q)}var n3=(Q,X)=>{return h(Q.innerType._def,X)};var o3=(Q,X,Y)=>{switch(X){case P.ZodString:return cQ(Q,Y);case P.ZodNumber:return f3(Q,Y);case P.ZodObject:return h3(Q,Y);case P.ZodBigInt:return N3(Q,Y);case P.ZodBoolean:return b3();case P.ZodDate:return L5(Q,Y);case P.ZodUndefined:return d3(Y);case P.ZodNull:return _3(Y);case P.ZodArray:return M3(Q,Y);case P.ZodUnion:case P.ZodDiscriminatedUnion:return y3(Q,Y);case P.ZodIntersection:return S3(Q,Y);case P.ZodTuple:return p3(Q,Y);case P.ZodRecord:return pQ(Q,Y);case P.ZodLiteral:return I3(Q,Y);case P.ZodEnum:return E3(Q);case P.ZodNativeEnum:return k3(Q);case P.ZodNullable:return g3(Q,Y);case P.ZodOptional:return u3(Q,Y);case P.ZodMap:return C3(Q,Y);case P.ZodSet:return c3(Q,Y);case P.ZodLazy:return()=>Q.getter()._def;case P.ZodPromise:return m3(Q,Y);case P.ZodNaN:case P.ZodNever:return v3(Y);case P.ZodEffects:return R3(Q,Y);case P.ZodAny:return w0(Y);case P.ZodUnknown:return i3(Y);case P.ZodDefault:return Z3(Q,Y);case P.ZodBranded:return mQ(Q,Y);case P.ZodReadonly:return n3(Q,Y);case P.ZodCatch:return P3(Q,Y);case P.ZodPipeline:return l3(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!==U3)return H}if(W&&!Y){let H=mM(W,X);if(H!==void 0)return H}let $={def:Q,path:X.currentPath,jsonSchema:void 0};X.seen.set(Q,$);let J=o3(Q,Q.typeName,X),G=typeof J==="function"?h(J(),X):J;if(G)cM(Q,X,G);if(X.postProcess){let H=X.postProcess(G,Q,X);return $.jsonSchema=G,H}return $.jsonSchema=G,G}var mM=(Q,X)=>{switch(X.$refStrategy){case"root":return{$ref:Q.path.join("/")};case"relative":return{$ref:lQ(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}}},cM=(Q,X,Y)=>{if(Q.description){if(Y.description=Q.description,X.markdownDescription)Y.markdownDescription=Q.description}return Y};var j5=(Q,X)=>{let Y=w3(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 pM(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 w5(Q,X){if(s0(Q))return VQ(Q,{target:pM(X?.target),io:X?.pipeStrategy??"input"});return j5(Q,{strictUnions:X?.strictUnions??!0,pipeStrategy:X?.pipeStrategy??"input"})}function M5(Q){let Y=l1(Q)?.method;if(!Y)throw Error("Schema is missing a method literal");let W=DQ(Y);if(typeof W!=="string")throw Error("Schema method literal must be a string");return W}function N5(Q,X){let Y=m0(Q,X);if(!Y.success)throw Y.error;return Y.data}var dM=60000;class o4{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(PQ,(X)=>{this._oncancel(X)}),this.setNotificationHandler(EQ,(X)=>{this._onprogress(X)}),this.setRequestHandler(RQ,(X)=>({})),this._taskStore=Q?.taskStore,this._taskMessageQueue=Q?.taskMessageQueue,this._taskStore)this.setRequestHandler(SQ,async(X,Y)=>{let W=await this._taskStore.getTask(X.params.taskId,Y.sessionId);if(!W)throw new S(k.InvalidParams,"Failed to retrieve task: Task not found");return{...W}}),this.setRequestHandler(TQ,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,F=new S(K.error.code,K.error.message,K.error.data);z(F)}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 S(k.InvalidParams,`Task not found: ${$}`);if(!w6(J.status))return await this._waitForTaskUpdate($,Y.signal),await W();if(w6(J.status)){let G=await this._taskStore.getTaskResult($,Y.sessionId);return this._clearTaskQueue($),{...G,_meta:{...G._meta,[U6]:{taskId:$}}}}return await W()};return await W()}),this.setRequestHandler(CQ,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 S(k.InvalidParams,`Failed to list tasks: ${W instanceof Error?W.message:String(W)}`)}}),this.setRequestHandler(vQ,async(X,Y)=>{try{let W=await this._taskStore.getTask(X.params.taskId,Y.sessionId);if(!W)throw new S(k.InvalidParams,`Task not found: ${X.params.taskId}`);if(w6(W.status))throw new S(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 S(k.InvalidParams,`Task not found after cancellation: ${X.params.taskId}`);return{_meta:{},...$}}catch(W){if(W instanceof S)throw W;throw new S(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),S.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),t6($)||$3($))this._onresponse($);else if(v4($))this._onrequest($,J);else if(W3($))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=S.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?.[U6]?.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=Q3(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,F)=>{let q={...F,relatedRequestId:Q.id};if($&&!q.relatedTask)q.relatedTask={taskId:$};let V=q.relatedTask?.taskId??$;if(V&&H)await H.updateTaskStatus(V,"input_required");return await this.request(z,K,q)},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),t6(Q))Y(Q);else{let J=new S(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(t6(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(t6(Q))W(Q);else{let J=S.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 S?J:new S(k.InternalError,String(J))}}return}let $;try{let J=await this.request(Q,s1,Y);if(J.task)$=J.task.taskId,yield{type:"taskCreated",task:J.task};else throw new S(k.InternalError,"Task creation did not return a task");while(!0){let G=await this.getTask({taskId:$},Y);if(yield{type:"taskStatus",task:G},w6(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 S(k.InternalError,`Task ${$} failed`)};else if(G.status==="cancelled")yield{type:"error",error:new S(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 S?J:new S(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=(O)=>{z(O)};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(O){K(O);return}Y?.signal?.throwIfAborted();let F=this._requestMessageId++,q={...Q,jsonrpc:"2.0",id:F};if(Y?.onprogress)this._progressHandlers.set(F,Y.onprogress),q.params={...Q.params,_meta:{...Q.params?._meta||{},progressToken:F}};if(G)q.params={...q.params,task:G};if(H)q.params={...q.params,_meta:{...q.params?._meta||{},[U6]:H}};let V=(O)=>{this._responseHandlers.delete(F),this._progressHandlers.delete(F),this._cleanupTimeout(F),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:F,reason:String(O)}},{relatedRequestId:W,resumptionToken:$,onresumptiontoken:J}).catch((N)=>this._onerror(Error(`Failed to send cancellation: ${N}`)));let M=O instanceof S?O:new S(k.RequestTimeout,String(O));z(M)};this._responseHandlers.set(F,(O)=>{if(Y?.signal?.aborted)return;if(O instanceof Error)return z(O);try{let M=m0(X,O.result);if(!M.success)z(M.error);else B(M.data)}catch(M){z(M)}}),Y?.signal?.addEventListener("abort",()=>{V(Y?.signal?.reason)});let D=Y?.timeout??dM,A=()=>V(S.fromError(k.RequestTimeout,"Request timed out",{timeout:D}));this._setupTimeout(F,D,Y?.maxTotalTimeout,A,Y?.resetTimeoutOnProgress??!1);let L=H?.taskId;if(L){let O=(M)=>{let N=this._responseHandlers.get(F);if(N)N(M);else this._onerror(Error(`Response handler missing for side-channeled request ${F}`))};this._requestResolvers.set(F,O),this._enqueueTaskMessage(L,{type:"request",message:q,timestamp:Date.now()}).catch((M)=>{this._cleanupTimeout(F),z(M)})}else this._transport.send(q,{relatedRequestId:W,resumptionToken:$,onresumptiontoken:J}).catch((O)=>{this._cleanupTimeout(F),z(O)})})}async getTask(Q,X){return this.request({method:"tasks/get",params:Q},IQ,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},kQ,X)}async cancelTask(Q,X){return this.request({method:"tasks/cancel",params:Q},H3,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||{},[U6]: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||{},[U6]: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||{},[U6]:X.relatedTask}}};await this._transport.send(J,X)}setRequestHandler(Q,X){let Y=M5(Q);this.assertRequestHandlerCapability(Y),this._requestHandlers.set(Y,(W,$)=>{let J=N5(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=M5(Q);this._notificationHandlers.set(Y,(W)=>{let $=N5(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"&&v4(W.message)){let $=W.message.id,J=this._requestResolvers.get($);if(J)J(new S(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 S(k.InvalidRequest,"Request cancelled"));return}let J=setTimeout(W,Y);X.addEventListener("abort",()=>{clearTimeout(J),$(new S(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 S(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=f4.parse({method:"notifications/tasks/status",params:G});if(await this.notification(H),w6(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 S(k.InvalidParams,`Task "${W}" not found - it may have been cleaned up`);if(w6(G.status))throw new S(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=f4.parse({method:"notifications/tasks/status",params:H});if(await this.notification(B),w6(H.status))this._cleanupTaskProgressHandler(W)}},listTasks:(W)=>{return Y.listTasks(W,X)}}}}function r3(Q){return Q!==null&&typeof Q==="object"&&!Array.isArray(Q)}function dQ(Q,X){let Y={...Q};for(let W in X){let $=W,J=X[$];if(J===void 0)continue;let G=Y[$];if(r3(G)&&r3(J))Y[$]={...G,...J};else Y[$]=J}return Y}var SL=F4(zV(),1),IL=F4(EL(),1);function Fy(){let Q=new SL.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return IL.default(Q),Q}class u8{constructor(Q){this._ajv=Q??Fy()}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 VJ{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 zY(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 KY(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 qJ extends o4{constructor(Q,X){super(X);if(this._serverInfo=Q,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(c4.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 u8,this.setRequestHandler(r7,(Y)=>this._oninitialize(Y)),this.setNotificationHandler(ZQ,()=>this.oninitialized?.()),this._capabilities.logging)this.setRequestHandler(K5,async(Y,W)=>{let $=W.sessionId||W.requestInfo?.headers["mcp-session-id"]||void 0,{level:J}=Y.params,G=c4.safeParse(J);if(G.success)this._loggingLevels.set($,G.data);return{}})}get experimental(){if(!this._experimental)this._experimental={tasks:new VJ(this)};return this._experimental}registerCapabilities(Q){if(this.transport)throw Error("Cannot register capabilities after connecting to transport");this._capabilities=dQ(this._capabilities,Q)}setRequestHandler(Q,X){let W=l1(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=m0(x9,H);if(!z.success){let V=z.error instanceof Error?z.error.message:String(z.error);throw new S(k.InvalidParams,`Invalid tools/call request: ${V}`)}let{params:K}=z.data,F=await Promise.resolve(X(H,B));if(K.task){let V=m0(s1,F);if(!V.success){let D=V.error instanceof Error?V.error.message:String(V.error);throw new S(k.InvalidParams,`Invalid task creation result: ${D}`)}return V.data}let q=m0(j6,F);if(!q.success){let V=q.error instanceof Error?q.error.message:String(q.error);throw new S(k.InvalidParams,`Invalid tools/call result: ${V}`)}return q.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){KY(this._clientCapabilities?.tasks?.requests,Q,"Client")}assertTaskHandlerCapability(Q){if(!this._capabilities)return;zY(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:MQ.includes(X)?X:O6,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"},a1)}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},V5,X);return this.request({method:"sampling/createMessage",params:Q},d4,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},y9,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},y9,X);if($.action==="accept"&&$.content&&W.requestedSchema)try{let G=this._jsonSchemaValidator.getValidator(W.requestedSchema)($.content);if(!G.valid)throw new S(k.InvalidParams,`Elicitation response content does not match requested schema: ${G.errorMessage}`)}catch(J){if(J instanceof S)throw J;throw new S(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},A5,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 CL=Symbol.for("mcp.completable");function AJ(Q){return!!Q&&typeof Q==="object"&&CL in Q}function kL(Q){return Q[CL]?.complete}var TL;(function(Q){Q.Completable="McpCompletable"})(TL||(TL={}));var Vy=/^[A-Za-z0-9._-]{1,128}$/;function qy(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(!Vy.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 Ay(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 DJ(Q){let X=qy(Q);return Ay(Q,X.warnings),X.isValid}class LJ{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 UJ{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 qJ(Q,X)}get experimental(){if(!this._experimental)this._experimental={tasks:new LJ(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(_6(hQ)),this.server.assertCanSetRequestHandler(_6(x9)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(hQ,()=>({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=C9(X.inputSchema);return W?w5(W,{strictUnions:!0,pipeStrategy:"input"}):Dy})(),annotations:X.annotations,execution:X.execution,_meta:X._meta};if(X.outputSchema){let W=C9(X.outputSchema);if(W)Y.outputSchema=w5(W,{strictUnions:!0,pipeStrategy:"output"})}return Y})})),this.server.setRequestHandler(x9,async(Q,X)=>{try{let Y=this._registeredTools[Q.params.name];if(!Y)throw new S(k.InvalidParams,`Tool ${Q.params.name} not found`);if(!Y.enabled)throw new S(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 S(k.InternalError,`Tool ${Q.params.name} has taskSupport '${$}' but was not registered with registerToolTask`);if($==="required"&&!W)throw new S(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 S){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 $=C9(Q.inputSchema)??Q.inputSchema,J=await qQ($,X);if(!J.success){let G="error"in J?J.error:"Unknown error",H=AQ(G);throw new S(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 S(k.InvalidParams,`Output validation error: Tool ${Y} has an output schema but no structured content was provided`);let W=C9(Q.outputSchema),$=await qQ(W,X.structuredContent);if(!$.success){let J="error"in $?$.error:"Unknown error",G=AQ(J);throw new S(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((F)=>setTimeout(F,z));let K=await Y.taskStore.getTask(H);if(!K)throw new S(k.InternalError,`Task ${H} not found during polling`);B=K}return await Y.taskStore.getTaskResult(H)}setCompletionRequestHandler(){if(this._completionHandlerInitialized)return;this.server.assertCanSetRequestHandler(_6(uQ)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(uQ,async(Q)=>{switch(Q.params.ref.type){case"ref/prompt":return A3(Q),this.handlePromptCompletion(Q,Q.params.ref);case"ref/resource":return D3(Q),this.handleResourceCompletion(Q,Q.params.ref);default:throw new S(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 S(k.InvalidParams,`Prompt ${X.name} not found`);if(!Y.enabled)throw new S(k.InvalidParams,`Prompt ${X.name} disabled`);if(!Y.argsSchema)return l8;let $=l1(Y.argsSchema)?.[Q.params.argument.name];if(!AJ($))return l8;let J=kL($);if(!J)return l8;let G=await J(Q.params.argument.value,Q.params.context);return _L(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 l8;throw new S(k.InvalidParams,`Resource template ${Q.params.ref.uri} not found`)}let W=Y.resourceTemplate.completeCallback(Q.params.argument.name);if(!W)return l8;let $=await W(Q.params.argument.value,Q.params.context);return _L($)}setResourceRequestHandlers(){if(this._resourceHandlersInitialized)return;this.server.assertCanSetRequestHandler(_6(_Q)),this.server.assertCanSetRequestHandler(_6(xQ)),this.server.assertCanSetRequestHandler(_6(yQ)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(_Q,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(xQ,async()=>{return{resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([X,Y])=>({name:X,uriTemplate:Y.resourceTemplate.uriTemplate.toString(),...Y.metadata}))}}),this.server.setRequestHandler(yQ,async(Q,X)=>{let Y=new URL(Q.params.uri),W=this._registeredResources[Y.toString()];if(W){if(!W.enabled)throw new S(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 S(k.InvalidParams,`Resource ${Y} not found`)}),this._resourceHandlersInitialized=!0}setPromptRequestHandlers(){if(this._promptHandlersInitialized)return;this.server.assertCanSetRequestHandler(_6(gQ)),this.server.assertCanSetRequestHandler(_6(fQ)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(gQ,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,Q])=>Q.enabled).map(([Q,X])=>{return{name:Q,title:X.title,description:X.description,arguments:X.argsSchema?Oy(X.argsSchema):void 0}})})),this.server.setRequestHandler(fQ,async(Q,X)=>{let Y=this._registeredPrompts[Q.params.name];if(!Y)throw new S(k.InvalidParams,`Prompt ${Q.params.name} not found`);if(!Y.enabled)throw new S(k.InvalidParams,`Prompt ${Q.params.name} disabled`);if(Y.argsSchema){let W=C9(Y.argsSchema),$=await qQ(W,Q.params.arguments);if(!$.success){let H="error"in $?$.error:"Unknown error",B=AQ(H);throw new S(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:r6(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=r6(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 AJ(B)}))this.setCompletionRequestHandler()}return J}_createRegisteredTool(Q,X,Y,W,$,J,G,H,B){DJ(Q);let z={title:X,description:Y,inputSchema:vL(W),outputSchema:vL($),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")DJ(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=r6(K.paramsSchema);if(typeof K.outputSchema<"u")z.outputSchema=r6(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(OJ(H)){if(W=X.shift(),X.length>1&&typeof X[0]==="object"&&X[0]!==null&&!OJ(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 Dy={type:"object",properties:{}};function xL(Q){return Q!==null&&typeof Q==="object"&&"parse"in Q&&typeof Q.parse==="function"&&"safeParse"in Q&&typeof Q.safeParse==="function"}function Ly(Q){return"_def"in Q||"_zod"in Q||xL(Q)}function OJ(Q){if(typeof Q!=="object"||Q===null)return!1;if(Ly(Q))return!1;if(Object.keys(Q).length===0)return!0;return Object.values(Q).some(xL)}function vL(Q){if(!Q)return;if(OJ(Q))return r6(Q);return Q}function Oy(Q){let X=l1(Q);if(!X)return[];return Object.entries(X).map(([Y,W])=>{let $=bH(W),J=PH(W);return{name:Y,description:$,required:!J}})}function _6(Q){let Y=l1(Q)?.method;if(!Y)throw Error("Schema is missing a method literal");let W=DQ(Y);if(typeof W==="string")return W;throw Error("Schema method literal must be a string")}function _L(Q){return{completion:{values:Q.slice(0,100),total:Q.length,hasMore:Q.length>100}}}var l8={completion:{values:[],hasMore:!1}};import gL from"node:process";class jJ{append(Q){this._buffer=this._buffer?Buffer.concat([this._buffer,Q]):Q}readMessage(){if(!this._buffer)return null;let Q=this._buffer.indexOf(`
|
|
48
|
+
`);if(Q===-1)return null;let X=this._buffer.toString("utf8",0,Q).replace(/\r$/,"");return this._buffer=this._buffer.subarray(Q+1),Uy(X)}clear(){this._buffer=void 0}}function Uy(Q){return v9.parse(JSON.parse(Q))}function yL(Q){return JSON.stringify(Q)+`
|
|
49
|
+
`}class wJ{constructor(Q=gL.stdin,X=gL.stdout){this._stdin=Q,this._stdout=X,this._readBuffer=new jJ,this._started=!1,this._ondata=(Y)=>{this._readBuffer.append(Y),this.processReadBuffer()},this._onerror=(Y)=>{this.onerror?.(Y)}}async start(){if(this._started)throw Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=!0,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror)}processReadBuffer(){while(!0)try{let Q=this._readBuffer.readMessage();if(Q===null)break;this.onmessage?.(Q)}catch(Q){this.onerror?.(Q)}}async close(){if(this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0)this._stdin.pause();this._readBuffer.clear(),this.onclose?.()}send(Q){return new Promise((X)=>{let Y=yL(Q);if(this._stdout.write(Y))X();else this._stdout.once("drain",X)})}}import{readFileSync as qg}from"fs";import FY from"node:crypto";var hL="0123456789ABCDEFGHJKMNPQRSTVWXYZ",VY=32;var jy=16,uL=10,fL=281474976710655;var z9;(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"})(z9||(z9={}));class $4 extends Error{constructor(Q,X){super(`${X} (${Q})`);this.name="ULIDError",this.code=Q}}function wy(Q){let X=Math.floor(Q()*VY)%VY;return hL.charAt(X)}function My(Q){let X=Ny(),Y=X&&(X.crypto||X.msCrypto)||(typeof FY<"u"?FY: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(FY?.randomBytes)return()=>FY.randomBytes(1).readUInt8()/256;throw new $4(z9.PRNGDetectFailure,"Failed to find a reliable PRNG")}function Ny(){if(Zy())return self;if(typeof window<"u")return window;if(typeof global<"u")return global;if(typeof globalThis<"u")return globalThis;return null}function by(Q,X){let Y="";for(;Q>0;Q--)Y=wy(X)+Y;return Y}function Py(Q,X=uL){if(isNaN(Q))throw new $4(z9.EncodeTimeValueMalformed,`Time must be a number: ${Q}`);else if(Q>fL)throw new $4(z9.EncodeTimeSizeExceeded,`Cannot encode a time larger than ${fL}: ${Q}`);else if(Q<0)throw new $4(z9.EncodeTimeNegative,`Time must be positive: ${Q}`);else if(Number.isInteger(Q)===!1)throw new $4(z9.EncodeTimeValueMalformed,`Time must be an integer: ${Q}`);let Y,W="";for(let $=X;$>0;$--)Y=Q%VY,W=hL.charAt(Y)+W,Q=(Q-Y)/VY;return W}function Zy(){return typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope}function B6(Q,X){let Y=X||My(),W=!Q||isNaN(Q)?Date.now():Q;return Py(W,uL)+by(jy,Y)}class MJ{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 Ry={maxEvents:1000,retentionMs:1800000,cleanupIntervalMs:300000};class NJ{events=[];config;logger;lastDeliveredId=null;waiters=[];cleanupIntervalHandle=null;constructor(Q={},X){this.config={...Ry,...Q},this.logger=X,this.startCleanupInterval()}addEvent(Q,X,Y){let W=B6(),$={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 Ey={defaultTtlMs:600000,completedRetentionMs:300000,cleanupIntervalMs:60000};class bJ{tasks=new Map;eventSystem;config;cleanupIntervalHandle=null;constructor(Q,X={}){this.eventSystem=Q,this.config={...Ey,...X},this.startCleanupInterval()}createTask(Q,X,Y,W){let $=B6(),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 Sy={maxNotificationsPerServer:100,maxLogsPerServer:500};class PJ{buffers=new Map;eventSystem;config;constructor(Q,X={}){this.eventSystem=Q,this.config={...Sy,...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 Iy={defaultTimeoutMs:600000};class ZJ{samplingRequests=new Map;elicitationRequests=new Map;eventSystem;config;constructor(Q,X={}){this.eventSystem=Q,this.config={...Iy,...X}}addSamplingRequest(Q,X,Y,W){let $=B6(),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 $=B6(),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 RJ{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 NJ(X.eventSystemConfig,Y),this.taskManager=new bJ(this.eventSystem,X.taskConfig),this.pendingRequests=new ZJ(this.eventSystem,X.requestConfig),this.bufferManager=new PJ(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 EJ{constructor(Q){this._client=Q}async*callToolStream(Q,X=j6,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 S(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 S(k.InvalidParams,`Structured content does not match the tool's output schema: ${z.errorMessage}`)};return}}catch(z){if(z instanceof S){yield{type:"error",error:z};return}yield{type:"error",error:new S(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 qY(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)qY(J,Y[$])}}if(Array.isArray(Q.anyOf)){for(let Y of Q.anyOf)if(typeof Y!=="boolean")qY(Y,X)}if(Array.isArray(Q.oneOf)){for(let Y of Q.oneOf)if(typeof Y!=="boolean")qY(Y,X)}}function Ty(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 AY extends o4{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 u8,X?.listChanged)this._pendingListChangedConfig=X.listChanged}_setupListChangedHandlers(Q){if(Q.tools&&this._serverCapabilities?.tools?.listChanged)this._setupListChangedHandler("tools",m4,Q.tools,async()=>{return(await this.listTools()).tools});if(Q.prompts&&this._serverCapabilities?.prompts?.listChanged)this._setupListChangedHandler("prompts",l4,Q.prompts,async()=>{return(await this.listPrompts()).prompts});if(Q.resources&&this._serverCapabilities?.resources?.listChanged)this._setupListChangedHandler("resources",u4,Q.resources,async()=>{return(await this.listResources()).resources})}get experimental(){if(!this._experimental)this._experimental={tasks:new EJ(this)};return this._experimental}registerCapabilities(Q){if(this.transport)throw Error("Cannot register capabilities after connecting to transport");this._capabilities=dQ(this._capabilities,Q)}setRequestHandler(Q,X){let W=l1(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=m0(i4,H);if(!z.success){let O=z.error instanceof Error?z.error.message:String(z.error);throw new S(k.InvalidParams,`Invalid elicitation request: ${O}`)}let{params:K}=z.data;K.mode=K.mode??"form";let{supportsFormMode:F,supportsUrlMode:q}=Ty(this._capabilities.elicitation);if(K.mode==="form"&&!F)throw new S(k.InvalidParams,"Client does not support form-mode elicitation requests");if(K.mode==="url"&&!q)throw new S(k.InvalidParams,"Client does not support URL-mode elicitation requests");let V=await Promise.resolve(X(H,B));if(K.task){let O=m0(s1,V);if(!O.success){let M=O.error instanceof Error?O.error.message:String(O.error);throw new S(k.InvalidParams,`Invalid task creation result: ${M}`)}return O.data}let D=m0(y9,V);if(!D.success){let O=D.error instanceof Error?D.error.message:String(D.error);throw new S(k.InvalidParams,`Invalid elicitation result: ${O}`)}let A=D.data,L=K.mode==="form"?K.requestedSchema:void 0;if(K.mode==="form"&&A.action==="accept"&&A.content&&L){if(this._capabilities.elicitation?.form?.applyDefaults)try{qY(L,A.content)}catch{}}return A};return super.setRequestHandler(Q,G)}if(J==="sampling/createMessage"){let G=async(H,B)=>{let z=m0(p4,H);if(!z.success){let V=z.error instanceof Error?z.error.message:String(z.error);throw new S(k.InvalidParams,`Invalid sampling request: ${V}`)}let{params:K}=z.data,F=await Promise.resolve(X(H,B));if(K.task){let V=m0(s1,F);if(!V.success){let D=V.error instanceof Error?V.error.message:String(V.error);throw new S(k.InvalidParams,`Invalid task creation result: ${D}`)}return V.data}let q=m0(d4,F);if(!q.success){let V=q.error instanceof Error?q.error.message:String(q.error);throw new S(k.InvalidParams,`Invalid sampling result: ${V}`)}return q.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:O6,capabilities:this._capabilities,clientInfo:this._clientInfo}},t7,X);if(Y===void 0)throw Error(`Server sent invalid initialize result: ${Y}`);if(!MQ.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){zY(this._serverCapabilities?.tasks?.requests,Q,"Server")}assertTaskHandlerCapability(Q){if(!this._capabilities)return;KY(this._capabilities.tasks?.requests,Q,"Client")}async ping(Q){return this.request({method:"ping"},a1,Q)}async complete(Q,X){return this.request({method:"completion/complete",params:Q},q5,X)}async setLoggingLevel(Q,X){return this.request({method:"logging/setLevel",params:{level:Q}},a1,X)}async getPrompt(Q,X){return this.request({method:"prompts/get",params:Q},B5,X)}async listPrompts(Q,X){return this.request({method:"prompts/list",params:Q},W5,X)}async listResources(Q,X){return this.request({method:"resources/list",params:Q},s7,X)}async listResourceTemplates(Q,X){return this.request({method:"resources/templates/list",params:Q},e7,X)}async readResource(Q,X){return this.request({method:"resources/read",params:Q},X5,X)}async subscribeResource(Q,X){return this.request({method:"resources/subscribe",params:Q},a1,X)}async unsubscribeResource(Q,X){return this.request({method:"resources/unsubscribe",params:Q},a1,X)}async callTool(Q,X=j6,Y){if(this.isToolTaskRequired(Q.name))throw new S(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 S(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 S(k.InvalidParams,`Structured content does not match the tool's output schema: ${J.errorMessage}`)}catch(J){if(J instanceof S)throw J;throw new S(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},z5,X);return this.cacheToolMetadata(Y.tools),Y}_setupListChangedHandler(Q,X,Y,W){let $=q3.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 F=K instanceof Error?K:Error(String(K));H(F,null)}},z=()=>{if(G){let K=this._listChangedDebounceTimers.get(Q);if(K)clearTimeout(K);let F=setTimeout(B,G);this._listChangedDebounceTimers.set(Q,F)}else B()};this.setNotificationHandler(X,z)}async sendRootsListChanged(){return this.notification({method:"notifications/roots/list_changed"})}}function DY(Q){if(!Q)return{};if(Q instanceof Headers)return Object.fromEntries(Q.entries());if(Array.isArray(Q))return Object.fromEntries(Q);return{...Q}}function lL(Q=fetch,X){if(!X)return Q;return async(Y,W)=>{let $={...X,...W,headers:W?.headers?{...DY(X.headers),...DY(W.headers)}:X.headers};return Q(Y,$)}}var SJ;SJ=globalThis.crypto?.webcrypto??globalThis.crypto??import("node:crypto").then((Q)=>Q.webcrypto);async function Cy(Q){return(await SJ).getRandomValues(new Uint8Array(Q))}async function ky(Q){let Y=Math.pow(2,8)-Math.pow(2,8)%66,W="";while(W.length<Q){let $=await Cy(Q-W.length);for(let J of $)if(J<Y)W+="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~"[J%66]}return W}async function vy(Q){return await ky(Q)}async function _y(Q){let X=await(await SJ).subtle.digest("SHA-256",new TextEncoder().encode(Q));return btoa(String.fromCharCode(...new Uint8Array(X))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}async function IJ(Q){if(!Q)Q=43;if(Q<43||Q>128)throw`Expected a length between 43 and 128. Received ${Q}.`;let X=await vy(Q),Y=await _y(X);return{code_verifier:X,code_challenge:Y}}var g0=uH().superRefine((Q,X)=>{if(!URL.canParse(Q))return X.addIssue({code:aH.custom,message:"URL must be parseable",fatal:!0}),t8}).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"}),cL=I0({resource:U().url(),authorization_servers:E(g0).optional(),jwks_uri:U().url().optional(),scopes_supported:E(U()).optional(),bearer_methods_supported:E(U()).optional(),resource_signing_alg_values_supported:E(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:E(U()).optional(),dpop_signing_alg_values_supported:E(U()).optional(),dpop_bound_access_tokens_required:H0().optional()}),TJ=I0({issuer:U(),authorization_endpoint:g0,token_endpoint:g0,registration_endpoint:g0.optional(),scopes_supported:E(U()).optional(),response_types_supported:E(U()),response_modes_supported:E(U()).optional(),grant_types_supported:E(U()).optional(),token_endpoint_auth_methods_supported:E(U()).optional(),token_endpoint_auth_signing_alg_values_supported:E(U()).optional(),service_documentation:g0.optional(),revocation_endpoint:g0.optional(),revocation_endpoint_auth_methods_supported:E(U()).optional(),revocation_endpoint_auth_signing_alg_values_supported:E(U()).optional(),introspection_endpoint:U().optional(),introspection_endpoint_auth_methods_supported:E(U()).optional(),introspection_endpoint_auth_signing_alg_values_supported:E(U()).optional(),code_challenge_methods_supported:E(U()).optional(),client_id_metadata_document_supported:H0().optional()}),xy=I0({issuer:U(),authorization_endpoint:g0,token_endpoint:g0,userinfo_endpoint:g0.optional(),jwks_uri:g0,registration_endpoint:g0.optional(),scopes_supported:E(U()).optional(),response_types_supported:E(U()),response_modes_supported:E(U()).optional(),grant_types_supported:E(U()).optional(),acr_values_supported:E(U()).optional(),subject_types_supported:E(U()),id_token_signing_alg_values_supported:E(U()),id_token_encryption_alg_values_supported:E(U()).optional(),id_token_encryption_enc_values_supported:E(U()).optional(),userinfo_signing_alg_values_supported:E(U()).optional(),userinfo_encryption_alg_values_supported:E(U()).optional(),userinfo_encryption_enc_values_supported:E(U()).optional(),request_object_signing_alg_values_supported:E(U()).optional(),request_object_encryption_alg_values_supported:E(U()).optional(),request_object_encryption_enc_values_supported:E(U()).optional(),token_endpoint_auth_methods_supported:E(U()).optional(),token_endpoint_auth_signing_alg_values_supported:E(U()).optional(),display_values_supported:E(U()).optional(),claim_types_supported:E(U()).optional(),claims_supported:E(U()).optional(),service_documentation:U().optional(),claims_locales_supported:E(U()).optional(),ui_locales_supported:E(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:g0.optional(),op_tos_uri:g0.optional(),client_id_metadata_document_supported:H0().optional()}),pL=I({...xy.shape,...TJ.pick({code_challenge_methods_supported:!0}).shape}),dL=I({access_token:U(),id_token:U().optional(),token_type:U(),expires_in:jQ.number().optional(),scope:U().optional(),refresh_token:U().optional()}).strip(),iL=I({error:U(),error_description:U().optional(),error_uri:U().optional()}),mL=g0.optional().or(_("").transform(()=>{return})),yy=I({redirect_uris:E(g0),token_endpoint_auth_method:U().optional(),grant_types:E(U()).optional(),response_types:E(U()).optional(),client_name:U().optional(),client_uri:g0.optional(),logo_uri:mL,scope:U().optional(),contacts:E(U()).optional(),tos_uri:mL,policy_uri:U().optional(),jwks_uri:g0.optional(),jwks:mH().optional(),software_id:U().optional(),software_version:U().optional(),software_statement:U().optional()}).strip(),gy=I({client_id:U(),client_secret:U().optional(),client_id_issued_at:J0().optional(),client_secret_expires_at:J0().optional()}).strip(),nL=yy.merge(gy),mi=I({error:U(),error_description:U().optional()}).strip(),ci=I({token:U(),token_type_hint:U().optional()}).strip();function oL(Q){let X=typeof Q==="string"?new URL(Q):new URL(Q.href);return X.hash="",X}function rL({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 LY extends R0{}LY.errorCode="invalid_request";class J4 extends R0{}J4.errorCode="invalid_client";class G4 extends R0{}G4.errorCode="invalid_grant";class H4 extends R0{}H4.errorCode="unauthorized_client";class OY extends R0{}OY.errorCode="unsupported_grant_type";class UY extends R0{}UY.errorCode="invalid_scope";class jY extends R0{}jY.errorCode="access_denied";class x6 extends R0{}x6.errorCode="server_error";class wY extends R0{}wY.errorCode="temporarily_unavailable";class MY extends R0{}MY.errorCode="unsupported_response_type";class NY extends R0{}NY.errorCode="unsupported_token_type";class bY extends R0{}bY.errorCode="invalid_token";class PY extends R0{}PY.errorCode="method_not_allowed";class ZY extends R0{}ZY.errorCode="too_many_requests";class B4 extends R0{}B4.errorCode="invalid_client_metadata";class RY extends R0{}RY.errorCode="insufficient_scope";class EY extends R0{}EY.errorCode="invalid_target";var tL={[LY.errorCode]:LY,[J4.errorCode]:J4,[G4.errorCode]:G4,[H4.errorCode]:H4,[OY.errorCode]:OY,[UY.errorCode]:UY,[jY.errorCode]:jY,[x6.errorCode]:x6,[wY.errorCode]:wY,[MY.errorCode]:MY,[NY.errorCode]:NY,[bY.errorCode]:bY,[PY.errorCode]:PY,[ZY.errorCode]:ZY,[B4.errorCode]:B4,[RY.errorCode]:RY,[EY.errorCode]:EY};class y6 extends Error{constructor(Q){super(Q??"Unauthorized")}}function fy(Q){return["client_secret_basic","client_secret_post","none"].includes(Q)}var CJ="code",kJ="S256";function hy(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&&fy(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 uy(Q,X,Y,W){let{client_id:$,client_secret:J}=X;switch(Q){case"client_secret_basic":ly($,J,Y);return;case"client_secret_post":my($,J,W);return;case"none":cy($,W);return;default:throw Error(`Unsupported client authentication method: ${Q}`)}}function ly(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 my(Q,X,Y){if(Y.set("client_id",Q),X)Y.set("client_secret",X)}function cy(Q,X){X.set("client_id",Q)}async function sL(Q){let X=Q instanceof Response?Q.status:void 0,Y=Q instanceof Response?await Q.text():Q;try{let W=iL.parse(JSON.parse(Y)),{error:$,error_description:J,error_uri:G}=W;return new(tL[$]||x6)(J||"",G)}catch(W){let $=`${X?`HTTP ${X}: `:""}Invalid OAuth error response: ${W}. Raw body: ${Y}`;return new x6($)}}async function m8(Q,X){try{return await vJ(Q,X)}catch(Y){if(Y instanceof J4||Y instanceof H4)return await Q.invalidateCredentials?.("all"),await vJ(Q,X);else if(Y instanceof G4)return await Q.invalidateCredentials?.("tokens"),await vJ(Q,X);throw Y}}async function vJ(Q,{serverUrl:X,authorizationCode:Y,scope:W,resourceMetadataUrl:$,fetchFn:J}){let G,H;try{if(G=await iy(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 dy(X,Q,G),z=await ay(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 L=z?.client_id_metadata_document_supported===!0,O=Q.clientMetadataUrl;if(O&&!py(O))throw new B4(`clientMetadataUrl must be a valid HTTPS URL with a non-root pathname, got: ${O}`);if(L&&O)K={client_id:O},await Q.saveClientInformation?.(K);else{if(!Q.saveClientInformation)throw Error("OAuth client information must be saveable for dynamic registration");let N=await Yg(H,{metadata:z,clientMetadata:Q.clientMetadata,fetchFn:J});await Q.saveClientInformation(N),K=N}}let F=!Q.redirectUrl;if(Y!==void 0||F){let L=await Xg(Q,H,{metadata:z,resource:B,authorizationCode:Y,fetchFn:J});return await Q.saveTokens(L),"AUTHORIZED"}let q=await Q.tokens();if(q?.refresh_token)try{let L=await Qg(H,{metadata:z,clientInformation:K,refreshToken:q.refresh_token,resource:B,addClientAuthentication:Q.addClientAuthentication,fetchFn:J});return await Q.saveTokens(L),"AUTHORIZED"}catch(L){if(!(L instanceof R0)||L instanceof x6);else throw L}let V=Q.state?await Q.state():void 0,{authorizationUrl:D,codeVerifier:A}=await sy(H,{metadata:z,clientInformation:K,state:V,redirectUrl:Q.redirectUrl,scope:W||G?.scopes_supported?.join(" ")||Q.clientMetadata.scope,resource:B});return await Q.saveCodeVerifier(A),await Q.redirectToAuthorization(D),"REDIRECT"}function py(Q){if(!Q)return!1;try{let X=new URL(Q);return X.protocol==="https:"&&X.pathname!=="/"}catch{return!1}}async function dy(Q,X,Y){let W=oL(Q);if(X.validateResourceURL)return await X.validateResourceURL(W,Y?.resource);if(!Y)return;if(!rL({requestedResource:W,configuredResource:Y.resource}))throw Error(`Protected resource ${Y.resource} does not match expected ${W} (or origin)`);return new URL(Y.resource)}function xJ(Q){let X=Q.headers.get("WWW-Authenticate");if(!X)return{};let[Y,W]=X.split(" ");if(Y.toLowerCase()!=="bearer"||!W)return{};let $=_J(Q,"resource_metadata")||void 0,J;if($)try{J=new URL($)}catch{}let G=_J(Q,"scope")||void 0,H=_J(Q,"error")||void 0;return{resourceMetadataUrl:J,scope:G,error:H}}function _J(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 iy(Q,X,Y=fetch){let W=await ry(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 cL.parse(await W.json())}async function yJ(Q,X,Y=fetch){try{return await Y(Q,{headers:X})}catch(W){if(W instanceof TypeError)if(X)return yJ(Q,void 0,Y);else return;throw W}}function ny(Q,X="",Y={}){if(X.endsWith("/"))X=X.slice(0,-1);return Y.prependPathname?`${X}/.well-known/${Q}`:`/.well-known/${Q}${X}`}async function aL(Q,X,Y=fetch){return await yJ(Q,{"MCP-Protocol-Version":X},Y)}function oy(Q,X){return!Q||Q.status>=400&&Q.status<500&&X!=="/"}async function ry(Q,X,Y,W){let $=new URL(Q),J=W?.protocolVersion??O6,G;if(W?.metadataUrl)G=new URL(W.metadataUrl);else{let B=ny(X,$.pathname);G=new URL(B,W?.metadataServerUrl??$),G.search=$.search}let H=await aL(G,J,Y);if(!W?.metadataUrl&&oy(H,$.pathname)){let B=new URL(`/.well-known/${X}`,$);H=await aL(B,J,Y)}return H}function ty(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 ay(Q,{fetchFn:X=fetch,protocolVersion:Y=O6}={}){let W={"MCP-Protocol-Version":Y,Accept:"application/json"},$=ty(Q);for(let{url:J,type:G}of $){let H=await yJ(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 TJ.parse(await H.json());else return pL.parse(await H.json())}return}async function sy(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(CJ))throw Error(`Incompatible auth server: does not support response type ${CJ}`);if(X.code_challenge_methods_supported&&!X.code_challenge_methods_supported.includes(kJ))throw Error(`Incompatible auth server: does not support code challenge method ${kJ}`)}else H=new URL("/authorize",Q);let B=await IJ(),z=B.code_verifier,K=B.code_challenge;if(H.searchParams.set("response_type",CJ),H.searchParams.set("client_id",Y.client_id),H.searchParams.set("code_challenge",K),H.searchParams.set("code_challenge_method",kJ),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 ey(Q,X,Y){return new URLSearchParams({grant_type:"authorization_code",code:Q,code_verifier:X,redirect_uri:String(Y)})}async function eL(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??[],F=hy(W,K);uy(F,W,B,Y)}let z=await(G??fetch)(H,{method:"POST",headers:B,body:Y});if(!z.ok)throw await sL(z);return dL.parse(await z.json())}async function Qg(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 eL(Q,{metadata:X,tokenRequestParams:H,clientInformation:Y,addClientAuthentication:J,resource:$,fetchFn:G});return{refresh_token:W,...B}}async function Xg(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=ey($,z,Q.redirectUrl)}let B=await Q.clientInformation();return eL(X,{metadata:Y,tokenRequestParams:H,clientInformation:B??void 0,addClientAuthentication:Q.addClientAuthentication,resource:W,fetchFn:J})}async function Yg(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 sL(J);return nL.parse(await J.json())}class fJ 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 gJ(Q){}function QO(Q){if(typeof Q=="function")throw TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");let{onEvent:X=gJ,onError:Y=gJ,onRetry:W=gJ,onComment:$}=Q,J="",G=!0,H,B="",z="";function K(A){let L=G?A.replace(/^\xEF\xBB\xBF/,""):A,[O,M]=Wg(`${J}${L}`);for(let N of O)F(N);J=M,G=!1}function F(A){if(A===""){V();return}if(A.startsWith(":")){$&&$(A.slice(A.startsWith(": ")?2:1));return}let L=A.indexOf(":");if(L!==-1){let O=A.slice(0,L),M=A[L+1]===" "?2:1,N=A.slice(L+M);q(O,N,A);return}q(A,"",A)}function q(A,L,O){switch(A){case"event":z=L;break;case"data":B=`${B}${L}
|
|
50
|
+
`;break;case"id":H=L.includes("\x00")?void 0:L;break;case"retry":/^\d+$/.test(L)?W(parseInt(L,10)):Y(new fJ(`Invalid \`retry\` value: "${L}"`,{type:"invalid-retry",value:L,line:O}));break;default:Y(new fJ(`Unknown field "${A.length>20?`${A.slice(0,20)}…`:A}"`,{type:"unknown-field",field:A,value:L,line:O}));break}}function V(){B.length>0&&X({id:H,event:z||void 0,data:B.endsWith(`
|
|
51
|
+
`)?B.slice(0,-1):B}),H=void 0,B="",z=""}function D(A={}){J&&A.consume&&F(J),G=!0,H=void 0,B="",z="",J=""}return{feed:K,reset:D}}function Wg(Q){let X=[],Y="",W=0;for(;W<Q.length;){let $=Q.indexOf("\r",W),J=Q.indexOf(`
|
|
61
52
|
`,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
|
-
|
|
64
|
-
|
|
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();
|
|
53
|
+
`&&W++}}return[X,Y]}class hJ extends TransformStream{constructor({onError:Q,onRetry:X,onComment:Y}={}){let W;super({start($){W=QO({onEvent:(J)=>{$.enqueue(J)},onError(J){Q==="terminate"?$.error(J):typeof Q=="function"&&Q(J)},onRetry:X,onComment:Y})},transform($){W.feed($)}})}}var $g={initialReconnectionDelay:1000,maxReconnectionDelay:30000,reconnectionDelayGrowFactor:1.5,maxRetries:2};class K9 extends Error{constructor(Q,X){super(`Streamable HTTP error: ${X}`);this.code=Q}}class SY{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=lL(X?.fetch,X?.requestInit),this._sessionId=X?.sessionId,this._reconnectionOptions=X?.reconnectionOptions??$g}async _authThenStart(){if(!this._authProvider)throw new y6("No auth provider");let Q;try{Q=await m8(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 y6;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=DY(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 K9(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 hJ({onRetry:(q)=>{this._serverRetryMs=q}})).getReader();while(!0){let{value:q,done:V}=await z.read();if(V)break;if(q.id)J=q.id,G=!0,W?.(q.id);if(!q.data)continue;if(!q.event||q.event==="message")try{let D=v9.parse(JSON.parse(q.data));if(t6(D)){if(H=!0,$!==void 0)D.id=$}this.onmessage?.(D)}catch(D){this.onerror?.(D)}}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(q){this.onerror?.(Error(`Failed to reconnect: ${q instanceof Error?q.message:String(q)}`))}}})()}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 y6("No auth provider");if(await m8(this._authProvider,{serverUrl:this._url,authorizationCode:Q,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new y6("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:v4(Q)?Q.id:void 0}).catch((F)=>this.onerror?.(F));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 F=await G.text().catch(()=>null);if(G.status===401&&this._authProvider){if(this._hasCompletedAuthFlow)throw new K9(401,"Server returned 401 after successful authentication");let{resourceMetadataUrl:q,scope:V}=xJ(G);if(this._resourceMetadataUrl=q,this._scope=V,await m8(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new y6;return this._hasCompletedAuthFlow=!0,this.send(Q)}if(G.status===403&&this._authProvider){let{resourceMetadataUrl:q,scope:V,error:D}=xJ(G);if(D==="insufficient_scope"){let A=G.headers.get("WWW-Authenticate");if(this._lastUpscopingHeader===A)throw new K9(403,"Server returned 403 after trying upscoping");if(V)this._scope=V;if(q)this._resourceMetadataUrl=q;if(this._lastUpscopingHeader=A??void 0,await m8(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetch})!=="AUTHORIZED")throw new y6;return this.send(Q)}}throw new K9(G.status,`Error POSTing to endpoint: ${F}`)}if(this._hasCompletedAuthFlow=!1,this._lastUpscopingHeader=void 0,G.status===202){if(await G.body?.cancel(),G3(Q))this._startOrAuthSse({resumptionToken:void 0}).catch((F)=>this.onerror?.(F));return}let z=(Array.isArray(Q)?Q:[Q]).filter((F)=>("method"in F)&&("id"in F)&&F.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 F=await G.json(),q=Array.isArray(F)?F.map((V)=>v9.parse(V)):[v9.parse(F)];for(let V of q)this.onmessage?.(V)}else throw await G.body?.cancel(),new K9(-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 K9(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 Jg=1000,Gg=180000,Hg=2,Bg=0.1,XO=120000,zg=0.1,Kg=60000,Fg=3;class uJ{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 SY(new URL(this.url)),this.client=new AY({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(m4,()=>{this.emitNotification("notifications/tools/list_changed")}),this.client.setNotificationHandler(u4,()=>{this.emitNotification("notifications/resources/list_changed")}),this.client.setNotificationHandler(Y5,(Q)=>{this.emitNotification("notifications/resources/updated",Q.params)}),this.client.setNotificationHandler(l4,()=>{this.emitNotification("notifications/prompts/list_changed")}),this.client.setNotificationHandler(F5,(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(p4,(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(i4,(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 SY(new URL(this.url)),this.client=new AY({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=Jg*Math.pow(Hg,Q-1),Y=Math.min(X,Gg),W=Y*Bg*(Math.random()*2-1);return Math.round(Y+W)}startHealthChecks(){this.stopHealthChecks();let Q=()=>{let X=XO*zg*(Math.random()*2-1),Y=Math.round(XO+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()},Kg);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>=Fg&&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 Vg={sessionTimeoutMs:1800000,cleanupIntervalMs:300000};class lJ{sessions=new Map;serverConfigs;config;logger;cleanupIntervalHandle=null;constructor(Q={}){this.config={...Vg,...Q},this.logger=Q.logger;let X={logger:Q.logger};this.serverConfigs=new MJ(X),this.startCleanupInterval()}async createSession(){let Q=B6(),X=new RJ(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 uJ({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 YO={debug:0,info:1,warn:2,error:3};function WO(){let Q=()=>{};return{debug:Q,info:Q,warn:Q,error:Q}}function $O(Q="info",X){let Y=YO[Q],W=p8("fs"),$=(J,G,H)=>{if(YO[J]<Y)return;let B=new Date().toISOString(),z=H?` ${JSON.stringify(H)}`:"",K=`[${B}] ${J.toUpperCase()} ${G}${z}
|
|
54
|
+
`;try{W.appendFileSync(X,K)}catch(F){process.stderr.write(`Failed to write to log file: ${String(F)}
|
|
55
|
+
`),process.stderr.write(K)}};return{debug:(J,G)=>{$("debug",J,G)},info:(J,G)=>{$("info",J,G)},warn:(J,G)=>{$("warn",J,G)},error:(J,G)=>{$("error",J,G)}}}function Ag(Q,X){return{start:async()=>{return X.debug("transport_start",{}),Q.start()},send:async(W,$)=>{return X.debug("transport_send",{message:JSON.stringify(W),hasRelatedRequestId:$?.relatedRequestId!==void 0}),Q.send(W,$)},close:async()=>{return X.debug("transport_close",{}),Q.close()},get sessionId(){return Q.sessionId},set onclose(W){Q.onclose=W?()=>{X.debug("transport_onclose",{}),W()}:void 0},get onclose(){return Q.onclose},set onerror(W){Q.onerror=W?($)=>{X.debug("transport_onerror",{error:$.message}),W($)}:void 0},get onerror(){return Q.onerror},set onmessage(W){Q.onmessage=W?($)=>{X.debug("transport_onmessage",{message:JSON.stringify($)}),W($)}:void 0},get onmessage(){return Q.onmessage},setProtocolVersion:Q.setProtocolVersion?.bind(Q)}}function Dg(){let Q=process.argv.slice(2),X,Y="info",W;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==="--log-level"&&Q[$+1])Y=Q[$+1],$++;else if(J?.startsWith("--log-level="))Y=J.slice(12);else if(J==="--log-file"&&Q[$+1])W=Q[$+1],$++;else if(J?.startsWith("--log-file="))W=J.slice(11)}return{configPath:X,logLevel:Y,logFile:W}}function Lg(Q){let X=qg(Q,"utf-8");return JSON.parse(X)}function E0(Q){return Q}function $0(Q){return{content:[{type:"text",text:Q}],isError:!0}}function o0(Q){return{content:[{type:"text",text:Q}]}}function l0(Q){return{content:[{type:"text",text:JSON.stringify(Q,null,2)}]}}function Og(Q,X,Y){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:W,url:$})=>{let J=E0(Y());if(!J)return $0("Session not initialized");try{let H=(await X.addServer(J.sessionId,W,$)).client.getInfo().capabilities;return o0(`Connected to server '${W}' at ${$}
|
|
56
|
+
Capabilities: ${JSON.stringify(H)}`)}catch(G){let H=G instanceof Error?G.message:String(G);return $0(`Failed to add server: ${H}`)}}),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:W})=>{let $=E0(Y());if(!$)return $0("Session not initialized");try{return await X.removeServer($.sessionId,W),o0(`Disconnected from server '${W}'`)}catch(J){let G=J instanceof Error?J.message:String(J);return $0(`Failed to remove server: ${G}`)}}),Q.registerTool("list_servers",{description:"List all configured backend MCP servers with their connection status for this session",inputSchema:{}},()=>{let W=E0(Y());if(!W)return $0("Session not initialized");let $=X.listServers(W.sessionId);if($.length===0)return o0("No servers configured");let J=$.map((G)=>({name:G.name,url:G.url,status:G.status,connected:G.connected,connectedAt:G.connectedAt?.toISOString(),lastError:G.lastError}));return l0(J)}),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:W,tool:$})=>{let J=E0(Y());if(!J)return $0("Session not initialized");try{let G=new RegExp(W),H=new RegExp($),B=[];for(let z of J.listConnectedServers()){if(!G.test(z))continue;let K=J.getConnection(z);if(K?.status!=="connected")continue;try{let F=await K.client.listTools();for(let q of F)if(H.test(q.name))B.push({server:z,name:q.name,description:q.description,inputSchema:q.inputSchema})}catch{}}if(B.length===0)return o0("No tools available");return l0(B)}catch(G){let H=G instanceof Error?G.message:String(G);return $0(`Failed to list tools: ${H}`)}}),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:W,tool:$,args:J})=>{let G=E0(Y());if(!G)return $0("Session not initialized");try{let B=await(await X.getOrCreateConnection(G.sessionId,W)).callTool($,J??{});return{content:B.content,isError:B.isError}}catch(H){let B=H instanceof Error?H.message:String(H);return $0(`Failed to execute tool: ${B}`)}}),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:W})=>{let $=E0(Y());if(!$)return $0("Session not initialized");try{let J=[],G=W?[W]:$.listConnectedServers();for(let H of G){let B=$.getConnection(H);if(B?.status!=="connected")continue;try{let z=await B.client.listResources();for(let K of z)J.push({server:H,uri:K.uri,name:K.name,description:K.description,mimeType:K.mimeType})}catch{}}if(J.length===0)return o0("No resources available");return l0(J)}catch(J){let G=J instanceof Error?J.message:String(J);return $0(`Failed to list resources: ${G}`)}}),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:W})=>{let $=E0(Y());if(!$)return $0("Session not initialized");try{let J=[],G=W?[W]:$.listConnectedServers();for(let H of G){let B=$.getConnection(H);if(B?.status!=="connected")continue;try{let z=await B.client.listResourceTemplates();for(let K of z)J.push({server:H,uriTemplate:K.uriTemplate,name:K.name,description:K.description,mimeType:K.mimeType})}catch{}}if(J.length===0)return o0("No resource templates available");return l0(J)}catch(J){let G=J instanceof Error?J.message:String(J);return $0(`Failed to list resource templates: ${G}`)}}),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:W,uri:$})=>{let J=E0(Y());if(!J)return $0("Session not initialized");try{let B=(await(await X.getOrCreateConnection(J.sessionId,W)).readResource($)).contents.map((z)=>{if("text"in z&&typeof z.text==="string")return{uri:z.uri,mimeType:z.mimeType,text:z.text};else if("blob"in z&&typeof z.blob==="string")return{uri:z.uri,mimeType:z.mimeType,blob:`[base64 data, ${String(z.blob.length)} chars]`};return z});return l0({contents:B})}catch(G){let H=G instanceof Error?G.message:String(G);return $0(`Failed to read resource: ${H}`)}}),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:W})=>{let $=E0(Y());if(!$)return $0("Session not initialized");try{let J=[],G=W?[W]:$.listConnectedServers();for(let H of G){let B=$.getConnection(H);if(B?.status!=="connected")continue;try{let z=await B.client.listPrompts();for(let K of z)J.push({server:H,name:K.name,description:K.description,arguments:K.arguments})}catch{}}if(J.length===0)return o0("No prompts available");return l0(J)}catch(J){let G=J instanceof Error?J.message:String(J);return $0(`Failed to list prompts: ${G}`)}}),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:W,name:$,arguments:J})=>{let G=E0(Y());if(!G)return $0("Session not initialized");try{let B=await(await X.getOrCreateConnection(G.sessionId,W)).getPrompt($,J??{});return l0(B)}catch(H){let B=H instanceof Error?H.message:String(H);return $0(`Failed to get prompt: ${B}`)}}),Q.registerTool("get_notifications",{description:"Get and clear buffered notifications from backend servers for this session",inputSchema:{}},()=>{let W=E0(Y());if(!W)return $0("Session not initialized");let $=W.bufferManager.getAndClearNotifications();if($.length===0)return o0("No notifications");let J=$.map((G)=>({server:G.server,method:G.method,timestamp:G.timestamp.toISOString(),params:G.params}));return l0(J)}),Q.registerTool("get_logs",{description:"Get and clear buffered log messages from backend servers for this session",inputSchema:{}},()=>{let W=E0(Y());if(!W)return $0("Session not initialized");let $=W.bufferManager.getAndClearLogs();if($.length===0)return o0("No log messages");let J=$.map((G)=>({server:G.server,level:G.level,logger:G.logger,timestamp:G.timestamp.toISOString(),data:G.data}));return l0(J)}),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:{}},()=>{let W=E0(Y());if(!W)return $0("Session not initialized");let $=W.pendingRequests.getPendingSamplingRequests();if($.length===0)return o0("No pending sampling requests");let J=$.map((G)=>({requestId:G.requestId,server:G.server,timestamp:G.timestamp.toISOString(),maxTokens:G.params.maxTokens,systemPrompt:G.params.systemPrompt,temperature:G.params.temperature,messages:G.params.messages,modelPreferences:G.params.modelPreferences,tools:G.params.tools?.map((H)=>({name:H.name,description:H.description}))}));return l0(J)}),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:W,role:$,content:J,model:G,stop_reason:H})=>{let B=E0(Y());if(!B)return $0("Session not initialized");try{return B.pendingRequests.respondToSampling(W,{role:$,content:{type:"text",text:J},model:G,stopReason:H}),o0(`Responded to sampling request '${W}'`)}catch(z){let K=z instanceof Error?z.message:String(z);return $0(`Failed to respond: ${K}`)}}),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:{}},()=>{let W=E0(Y());if(!W)return $0("Session not initialized");let $=W.pendingRequests.getPendingElicitationRequests();if($.length===0)return o0("No pending elicitation requests");let J=$.map((G)=>({requestId:G.requestId,server:G.server,timestamp:G.timestamp.toISOString(),mode:"mode"in G.params?G.params.mode:"form",message:G.params.message,requestedSchema:"requestedSchema"in G.params?G.params.requestedSchema:void 0,elicitationId:"elicitationId"in G.params?G.params.elicitationId:void 0,url:"url"in G.params?G.params.url:void 0}));return l0(J)}),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:W,action:$,content:J})=>{let G=E0(Y());if(!G)return $0("Session not initialized");try{return G.pendingRequests.respondToElicitation(W,{action:$,content:J}),o0(`Responded to elicitation request '${W}' with action '${$}'`)}catch(H){let B=H instanceof Error?H.message:String(H);return $0(`Failed to respond: ${B}`)}}),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:W,last_event_id:$})=>{let J=E0(Y());if(!J)return $0("Session not initialized");let G=$?J.eventSystem.getEventsAfter($):J.eventSystem.getNewEvents();if(G.length>0)return l0({triggered_by:"existing_events",events:G.map((B)=>({id:B.id,type:B.type,server:B.server,createdAt:B.createdAt.toISOString(),data:B.data})),pending_server:{tasks:J.taskManager.getAllTasks().map((B)=>({taskId:B.taskId,server:B.server,toolName:B.toolName,status:B.status}))},pending_client:{sampling:J.pendingRequests.getPendingSamplingRequests().length,elicitation:J.pendingRequests.getPendingElicitationRequests().length}});let H=await J.eventSystem.waitForActivity(W);if(H){let B=J.eventSystem.getNewEvents();return l0({triggered_by:H.type,events:B.map((z)=>({id:z.id,type:z.type,server:z.server,createdAt:z.createdAt.toISOString(),data:z.data})),pending_server:{tasks:J.taskManager.getAllTasks().map((z)=>({taskId:z.taskId,server:z.server,toolName:z.toolName,status:z.status}))},pending_client:{sampling:J.pendingRequests.getPendingSamplingRequests().length,elicitation:J.pendingRequests.getPendingElicitationRequests().length}})}return l0({triggered_by:"timeout",events:[],pending_server:{tasks:J.taskManager.getAllTasks().map((B)=>({taskId:B.taskId,server:B.server,toolName:B.toolName,status:B.status}))},pending_client:{sampling:J.pendingRequests.getPendingSamplingRequests().length,elicitation:J.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:W,server:$})=>{let J=E0(Y());if(!J)return $0("Session not initialized");let G=J.taskManager.getAllTasks(W);if($)G=G.filter((B)=>B.server===$);if(G.length===0)return o0("No tasks");let H=G.map((B)=>({taskId:B.taskId,server:B.server,toolName:B.toolName,status:B.status,createdAt:B.createdAt.toISOString(),lastUpdatedAt:B.lastUpdatedAt.toISOString(),error:B.error,hasResult:B.result!==void 0}));return l0(H)}),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:W})=>{let $=E0(Y());if(!$)return $0("Session not initialized");let J=$.taskManager.getTask(W);if(!J)return $0(`Task '${W}' not found`);return l0({taskId:J.taskId,server:J.server,toolName:J.toolName,args:J.args,status:J.status,createdAt:J.createdAt.toISOString(),lastUpdatedAt:J.lastUpdatedAt.toISOString(),ttl:J.ttl,error:J.error,result:J.result})}),Q.registerTool("cancel_task",{description:"Cancel a working task",inputSchema:{task_id:c.string().describe("The task ID to cancel")}},({task_id:W})=>{let $=E0(Y());if(!$)return $0("Session not initialized");if($.taskManager.cancelTask(W))return o0(`Task '${W}' cancelled`);else return $0(`Task '${W}' not found or not in working state`)})}async function Ug(){let{configPath:Q,logLevel:X,logFile:Y}=Dg(),W,$=Y,J=process.env.EMCEEPEE_LOG_DIR;if(!$&&J){let q=await import("fs"),V=await import("path"),D=J.startsWith("~")?V.join(process.env.HOME??"",J.slice(1)):J;try{q.mkdirSync(D,{recursive:!0})}catch{}let A=new Date().toISOString().replace(/[:.]/g,"-");$=V.join(D,`emceepee-${A}-${String(process.pid)}.log`)}if($){let q=Y?X:J?"debug":X;W=$O(q,$),W.info("Logging initialized",{logFile:$,logLevel:q})}else W=WO();W.info("Starting MCP Proxy Server (stdio mode)",{configPath:Q});let G=new lJ({logger:W,sessionTimeoutMs:1800000,cleanupIntervalMs:300000});if(Q)try{let q=Lg(Q);W.info("Loading servers from config",{count:q.servers.length,path:Q});for(let V of q.servers)W.info("Adding server config",{name:V.name,url:V.url}),G.getServerConfigs().addConfig(V.name,V.url)}catch(q){W.error("Failed to load config",{error:q instanceof Error?q.message:String(q)}),process.exit(1)}let H=new UJ({name:"emceepee",version:"0.2.0"}),B=await G.createSession();W.info("Session created",{sessionId:B.sessionId}),Og(H,G,()=>B);let z=new wJ,K=$?Ag(z,W):z,F=async()=>{W.info("Shutting down...",{}),await z.close(),await G.shutdown(),process.exit(0)};process.on("SIGINT",()=>void F()),process.on("SIGTERM",()=>void F()),await H.connect(K),W.info("Server started (stdio mode)",{})}Ug().catch((Q)=>{console.error("Fatal error:",Q),process.exit(1)});
|