@htifa/mcp 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +14 -8
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -4,10 +4,10 @@ var EB=Object.create;var{getPrototypeOf:bB,defineProperty:b8,getOwnPropertyNames
4
4
  `:""},this._extScope=Q,this._scope=new a0.Scope({parent:Q}),this._nodes=[new m7]}toString(){return this._root.render(this.opts)}name(Q){return this._scope.name(Q)}scopeName(Q){return this._extScope.name(Q)}scopeValue(Q,W){let X=this._extScope.value(Q,W);return(this._values[X.prefix]||(this._values[X.prefix]=new Set)).add(X),X}getScopeValue(Q,W){return this._extScope.getValue(Q,W)}scopeRefs(Q){return this._extScope.scopeRefs(Q,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(Q,W,X,Y){let $=this._scope.toName(W);if(X!==void 0&&Y)this._constants[$.str]=X;return this._leafNode(new g7(Q,$,X)),$}const(Q,W,X){return this._def(a0.varKinds.const,Q,W,X)}let(Q,W,X){return this._def(a0.varKinds.let,Q,W,X)}var(Q,W,X){return this._def(a0.varKinds.var,Q,W,X)}assign(Q,W,X){return this._leafNode(new OX(Q,W,X))}add(Q,W){return this._leafNode(new y7(Q,T0.operators.ADD,W))}code(Q){if(typeof Q=="function")Q();else if(Q!==o.nil)this._leafNode(new l7(Q));return this}object(...Q){let W=["{"];for(let[X,Y]of Q){if(W.length>1)W.push(",");if(W.push(X),X!==Y||this.opts.es5)W.push(":"),(0,o.addCodeArg)(W,Y)}return W.push("}"),new o._Code(W)}if(Q,W,X){if(this._blockNode(new z1(Q)),W&&X)this.code(W).else().code(X).endIf();else if(W)this.code(W).endIf();else if(X)throw Error('CodeGen: "else" body without "then" body');return this}elseIf(Q){return this._elseNode(new z1(Q))}else(){return this._elseNode(new w4)}endIf(){return this._endBlockNode(z1,w4)}_for(Q,W){if(this._blockNode(Q),W)this.code(W).endFor();return this}for(Q,W){return this._for(new c7(Q),W)}forRange(Q,W,X,Y,$=this.opts.es5?a0.varKinds.var:a0.varKinds.let){let J=this._scope.toName(Q);return this._for(new p7($,J,W,X),()=>Y(J))}forOf(Q,W,X,Y=a0.varKinds.const){let $=this._scope.toName(Q);if(this.opts.es5){let J=W instanceof o.Name?W:this.var("_arr",W);return this.forRange("_i",0,o._`${J}.length`,(G)=>{this.var($,o._`${J}[${G}]`),X($)})}return this._for(new FX("of",Y,$,W),()=>X($))}forIn(Q,W,X,Y=this.opts.es5?a0.varKinds.var:a0.varKinds.const){if(this.opts.ownProperties)return this.forOf(Q,o._`Object.keys(${W})`,X);let $=this._scope.toName(Q);return this._for(new FX("in",Y,$,W),()=>X($))}endFor(){return this._endBlockNode(I6)}label(Q){return this._leafNode(new h7(Q))}break(Q){return this._leafNode(new f7(Q))}return(Q){let W=new p9;if(this._blockNode(W),this.code(Q),W.nodes.length!==1)throw Error('CodeGen: "return" should have one node');return this._endBlockNode(p9)}try(Q,W,X){if(!W&&!X)throw Error('CodeGen: "try" without "catch" and "finally"');let Y=new i7;if(this._blockNode(Y),this.code(Q),W){let $=this.name("e");this._currNode=Y.catch=new i9($),W($)}if(X)this._currNode=Y.finally=new n9,this.code(X);return this._endBlockNode(i9,n9)}throw(Q){return this._leafNode(new u7(Q))}block(Q,W){if(this._blockStarts.push(this._nodes.length),Q)this.code(Q).endBlock(W);return this}endBlock(Q){let W=this._blockStarts.pop();if(W===void 0)throw Error("CodeGen: not in self-balancing block");let X=this._nodes.length-W;if(X<0||Q!==void 0&&X!==Q)throw Error(`CodeGen: wrong number of nodes: ${X} vs ${Q} expected`);return this._nodes.length=W,this}func(Q,W=o.nil,X,Y){if(this._blockNode(new c9(Q,W,X)),Y)this.code(Y).endFunc();return this}endFunc(){return this._endBlockNode(c9)}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,W){let X=this._currNode;if(X instanceof Q||W&&X instanceof W)return this._nodes.pop(),this;throw Error(`CodeGen: not in block "${W?`${Q.kind}/${W.kind}`:Q.kind}"`)}_elseNode(Q){let W=this._currNode;if(!(W instanceof z1))throw Error('CodeGen: "else" without "if"');return this._currNode=W.else=Q,this}get _root(){return this._nodes[0]}get _currNode(){let Q=this._nodes;return Q[Q.length-1]}set _currNode(Q){let W=this._nodes;W[W.length-1]=Q}}T0.CodeGen=n7;function r1(Q,W){for(let X in W)Q[X]=(Q[X]||0)+(W[X]||0);return Q}function d9(Q,W){return W instanceof o._CodeOrName?r1(Q,W.names):Q}function C6(Q,W,X){if(Q instanceof o.Name)return Y(Q);if(!$(Q))return Q;return new o._Code(Q._items.reduce((J,G)=>{if(G instanceof o.Name)G=Y(G);if(G instanceof o._Code)J.push(...G._items);else J.push(G);return J},[]));function Y(J){let G=X[J.str];if(G===void 0||W[J.str]!==1)return J;return delete W[J.str],G}function $(J){return J instanceof o._Code&&J._items.some((G)=>G instanceof o.Name&&W[G.str]===1&&X[G.str]!==void 0)}}function Wq(Q,W){for(let X in W)Q[X]=(Q[X]||0)-(W[X]||0)}function d7(Q){return typeof Q=="boolean"||typeof Q=="number"||Q===null?!Q:o._`!${UX(Q)}`}T0.not=d7;var Xq=o7(T0.operators.AND);function Yq(...Q){return Q.reduce(Xq)}T0.and=Yq;var $q=o7(T0.operators.OR);function Jq(...Q){return Q.reduce($q)}T0.or=Jq;function o7(Q){return(W,X)=>W===o.nil?X:X===o.nil?W:o._`${UX(W)} ${Q} ${UX(X)}`}function UX(Q){return Q instanceof o.Name?Q:o._`(${Q})`}});var r=P((YG)=>{Object.defineProperty(YG,"__esModule",{value:!0});YG.checkStrictMode=YG.getErrorPath=YG.Type=YG.useFunc=YG.setEvaluated=YG.evaluatedPropsToName=YG.mergeEvaluated=YG.eachItem=YG.unescapeJsonPointer=YG.escapeJsonPointer=YG.escapeFragment=YG.unescapeFragment=YG.schemaRefOrVal=YG.schemaHasRulesButRef=YG.schemaHasRules=YG.checkUnknownRules=YG.alwaysValidSchema=YG.toHash=void 0;var e=m(),Aq=N4();function Kq(Q){let W={};for(let X of Q)W[X]=!0;return W}YG.toHash=Kq;function zq(Q,W){if(typeof W=="boolean")return W;if(Object.keys(W).length===0)return!0;return s7(Q,W),!e7(W,Q.self.RULES.all)}YG.alwaysValidSchema=zq;function s7(Q,W=Q.schema){let{opts:X,self:Y}=Q;if(!X.strictSchema)return;if(typeof W==="boolean")return;let $=Y.RULES.keywords;for(let J in W)if(!$[J])XG(Q,`unknown keyword: "${J}"`)}YG.checkUnknownRules=s7;function e7(Q,W){if(typeof Q=="boolean")return!Q;for(let X in Q)if(W[X])return!0;return!1}YG.schemaHasRules=e7;function Lq(Q,W){if(typeof Q=="boolean")return!Q;for(let X in Q)if(X!=="$ref"&&W.all[X])return!0;return!1}YG.schemaHasRulesButRef=Lq;function Dq({topSchemaRef:Q,schemaPath:W},X,Y,$){if(!$){if(typeof X=="number"||typeof X=="boolean")return X;if(typeof X=="string")return e._`${X}`}return e._`${Q}${W}${(0,e.getProperty)(Y)}`}YG.schemaRefOrVal=Dq;function qq(Q){return QG(decodeURIComponent(Q))}YG.unescapeFragment=qq;function Vq(Q){return encodeURIComponent(wX(Q))}YG.escapeFragment=Vq;function wX(Q){if(typeof Q=="number")return`${Q}`;return Q.replace(/~/g,"~0").replace(/\//g,"~1")}YG.escapeJsonPointer=wX;function QG(Q){return Q.replace(/~1/g,"/").replace(/~0/g,"~")}YG.unescapeJsonPointer=QG;function Fq(Q,W){if(Array.isArray(Q))for(let X of Q)W(X);else W(Q)}YG.eachItem=Fq;function t7({mergeNames:Q,mergeToName:W,mergeValues:X,resultToName:Y}){return($,J,G,H)=>{let B=G===void 0?J:G instanceof e.Name?(J instanceof e.Name?Q($,J,G):W($,J,G),G):J instanceof e.Name?(W($,G,J),J):X(J,G);return H===e.Name&&!(B instanceof e.Name)?Y($,B):B}}YG.mergeEvaluated={props:t7({mergeNames:(Q,W,X)=>Q.if(e._`${X} !== true && ${W} !== undefined`,()=>{Q.if(e._`${W} === true`,()=>Q.assign(X,!0),()=>Q.assign(X,e._`${X} || {}`).code(e._`Object.assign(${X}, ${W})`))}),mergeToName:(Q,W,X)=>Q.if(e._`${X} !== true`,()=>{if(W===!0)Q.assign(X,!0);else Q.assign(X,e._`${X} || {}`),MX(Q,X,W)}),mergeValues:(Q,W)=>Q===!0?!0:{...Q,...W},resultToName:WG}),items:t7({mergeNames:(Q,W,X)=>Q.if(e._`${X} !== true && ${W} !== undefined`,()=>Q.assign(X,e._`${W} === true ? true : ${X} > ${W} ? ${X} : ${W}`)),mergeToName:(Q,W,X)=>Q.if(e._`${X} !== true`,()=>Q.assign(X,W===!0?!0:e._`${X} > ${W} ? ${X} : ${W}`)),mergeValues:(Q,W)=>Q===!0?!0:Math.max(Q,W),resultToName:(Q,W)=>Q.var("items",W)})};function WG(Q,W){if(W===!0)return Q.var("props",!0);let X=Q.var("props",e._`{}`);if(W!==void 0)MX(Q,X,W);return X}YG.evaluatedPropsToName=WG;function MX(Q,W,X){Object.keys(X).forEach((Y)=>Q.assign(e._`${W}${(0,e.getProperty)(Y)}`,!0))}YG.setEvaluated=MX;var a7={};function Uq(Q,W){return Q.scopeValue("func",{ref:W,code:a7[W.code]||(a7[W.code]=new Aq._Code(W.code))})}YG.useFunc=Uq;var NX;(function(Q){Q[Q.Num=0]="Num",Q[Q.Str=1]="Str"})(NX||(YG.Type=NX={}));function Oq(Q,W,X){if(Q instanceof e.Name){let Y=W===NX.Num;return X?Y?e._`"[" + ${Q} + "]"`:e._`"['" + ${Q} + "']"`:Y?e._`"/" + ${Q}`:e._`"/" + ${Q}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return X?(0,e.getProperty)(Q).toString():"/"+wX(Q)}YG.getErrorPath=Oq;function XG(Q,W,X=Q.opts.strictSchema){if(!X)return;if(W=`strict mode: ${W}`,X===!0)throw Error(W);Q.self.logger.warn(W)}YG.checkStrictMode=XG});var L1=P((JG)=>{Object.defineProperty(JG,"__esModule",{value:!0});var M0=m(),gq={data:new M0.Name("data"),valCxt:new M0.Name("valCxt"),instancePath:new M0.Name("instancePath"),parentData:new M0.Name("parentData"),parentDataProperty:new M0.Name("parentDataProperty"),rootData:new M0.Name("rootData"),dynamicAnchors:new M0.Name("dynamicAnchors"),vErrors:new M0.Name("vErrors"),errors:new M0.Name("errors"),this:new M0.Name("this"),self:new M0.Name("self"),scope:new M0.Name("scope"),json:new M0.Name("json"),jsonPos:new M0.Name("jsonPos"),jsonLen:new M0.Name("jsonLen"),jsonPart:new M0.Name("jsonPart")};JG.default=gq});var M4=P((AG)=>{Object.defineProperty(AG,"__esModule",{value:!0});AG.extendErrors=AG.resetErrorsCount=AG.reportExtraError=AG.reportError=AG.keyword$DataError=AG.keywordError=void 0;var t=m(),a9=r(),S0=L1();AG.keywordError={message:({keyword:Q})=>t.str`must pass "${Q}" keyword validation`};AG.keyword$DataError={message:({keyword:Q,schemaType:W})=>W?t.str`"${Q}" keyword must be ${W} ($data)`:t.str`"${Q}" keyword is invalid ($data)`};function hq(Q,W=AG.keywordError,X,Y){let{it:$}=Q,{gen:J,compositeRule:G,allErrors:H}=$,B=BG(Q,W,X);if(Y!==null&&Y!==void 0?Y:G||H)GG(J,B);else HG($,t._`[${B}]`)}AG.reportError=hq;function fq(Q,W=AG.keywordError,X){let{it:Y}=Q,{gen:$,compositeRule:J,allErrors:G}=Y,H=BG(Q,W,X);if(GG($,H),!(J||G))HG(Y,S0.default.vErrors)}AG.reportExtraError=fq;function uq(Q,W){Q.assign(S0.default.errors,W),Q.if(t._`${S0.default.vErrors} !== null`,()=>Q.if(W,()=>Q.assign(t._`${S0.default.vErrors}.length`,W),()=>Q.assign(S0.default.vErrors,null)))}AG.resetErrorsCount=uq;function lq({gen:Q,keyword:W,schemaValue:X,data:Y,errsCount:$,it:J}){if($===void 0)throw Error("ajv implementation error");let G=Q.name("err");Q.forRange("i",$,S0.default.errors,(H)=>{if(Q.const(G,t._`${S0.default.vErrors}[${H}]`),Q.if(t._`${G}.instancePath === undefined`,()=>Q.assign(t._`${G}.instancePath`,(0,t.strConcat)(S0.default.instancePath,J.errorPath))),Q.assign(t._`${G}.schemaPath`,t.str`${J.errSchemaPath}/${W}`),J.opts.verbose)Q.assign(t._`${G}.schema`,X),Q.assign(t._`${G}.data`,Y)})}AG.extendErrors=lq;function GG(Q,W){let X=Q.const("err",W);Q.if(t._`${S0.default.vErrors} === null`,()=>Q.assign(S0.default.vErrors,t._`[${X}]`),t._`${S0.default.vErrors}.push(${X})`),Q.code(t._`${S0.default.errors}++`)}function HG(Q,W){let{gen:X,validateName:Y,schemaEnv:$}=Q;if($.$async)X.throw(t._`new ${Q.ValidationError}(${W})`);else X.assign(t._`${Y}.errors`,W),X.return(!1)}var t1={keyword:new t.Name("keyword"),schemaPath:new t.Name("schemaPath"),params:new t.Name("params"),propertyName:new t.Name("propertyName"),message:new t.Name("message"),schema:new t.Name("schema"),parentSchema:new t.Name("parentSchema")};function BG(Q,W,X){let{createErrors:Y}=Q.it;if(Y===!1)return t._`{}`;return mq(Q,W,X)}function mq(Q,W,X={}){let{gen:Y,it:$}=Q,J=[cq($,X),pq(Q,X)];return iq(Q,W,J),Y.object(...J)}function cq({errorPath:Q},{instancePath:W}){let X=W?t.str`${Q}${(0,a9.getErrorPath)(W,a9.Type.Str)}`:Q;return[S0.default.instancePath,(0,t.strConcat)(S0.default.instancePath,X)]}function pq({keyword:Q,it:{errSchemaPath:W}},{schemaPath:X,parentSchema:Y}){let $=Y?W:t.str`${W}/${Q}`;if(X)$=t.str`${$}${(0,a9.getErrorPath)(X,a9.Type.Str)}`;return[t1.schemaPath,$]}function iq(Q,{params:W,message:X},Y){let{keyword:$,data:J,schemaValue:G,it:H}=Q,{opts:B,propertyName:A,topSchemaRef:K,schemaPath:L}=H;if(Y.push([t1.keyword,$],[t1.params,typeof W=="function"?W(Q):W||t._`{}`]),B.messages)Y.push([t1.message,typeof X=="function"?X(Q):X]);if(B.verbose)Y.push([t1.schema,G],[t1.parentSchema,t._`${K}${L}`],[S0.default.data,J]);if(A)Y.push([t1.propertyName,A])}});var qG=P((LG)=>{Object.defineProperty(LG,"__esModule",{value:!0});LG.boolOrEmptySchema=LG.topBoolOrEmptySchema=void 0;var tq=M4(),aq=m(),sq=L1(),eq={message:"boolean schema is false"};function QV(Q){let{gen:W,schema:X,validateName:Y}=Q;if(X===!1)zG(Q,!1);else if(typeof X=="object"&&X.$async===!0)W.return(sq.default.data);else W.assign(aq._`${Y}.errors`,null),W.return(!0)}LG.topBoolOrEmptySchema=QV;function WV(Q,W){let{gen:X,schema:Y}=Q;if(Y===!1)X.var(W,!1),zG(Q);else X.var(W,!0)}LG.boolOrEmptySchema=WV;function zG(Q,W){let{gen:X,data:Y}=Q,$={gen:X,keyword:"false schema",data:Y,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:Q};(0,tq.reportError)($,eq,void 0,W)}});var EX=P((VG)=>{Object.defineProperty(VG,"__esModule",{value:!0});VG.getRules=VG.isJSONType=void 0;var YV=["string","number","integer","boolean","null","object","array"],$V=new Set(YV);function JV(Q){return typeof Q=="string"&&$V.has(Q)}VG.isJSONType=JV;function GV(){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:{}}}VG.getRules=GV});var bX=P((NG)=>{Object.defineProperty(NG,"__esModule",{value:!0});NG.shouldUseRule=NG.shouldUseGroup=NG.schemaHasRulesForType=void 0;function BV({schema:Q,self:W},X){let Y=W.RULES.types[X];return Y&&Y!==!0&&UG(Q,Y)}NG.schemaHasRulesForType=BV;function UG(Q,W){return W.rules.some((X)=>OG(Q,X))}NG.shouldUseGroup=UG;function OG(Q,W){var X;return Q[W.keyword]!==void 0||((X=W.definition.implements)===null||X===void 0?void 0:X.some((Y)=>Q[Y]!==void 0))}NG.shouldUseRule=OG});var j4=P((bG)=>{Object.defineProperty(bG,"__esModule",{value:!0});bG.reportTypeError=bG.checkDataTypes=bG.checkDataType=bG.coerceAndCheckDataType=bG.getJSONTypes=bG.getSchemaTypes=bG.DataType=void 0;var zV=EX(),LV=bX(),DV=M4(),l=m(),MG=r(),T6;(function(Q){Q[Q.Correct=0]="Correct",Q[Q.Wrong=1]="Wrong"})(T6||(bG.DataType=T6={}));function qV(Q){let W=jG(Q.type);if(W.includes("null")){if(Q.nullable===!1)throw Error("type: null contradicts nullable: false")}else{if(!W.length&&Q.nullable!==void 0)throw Error('"nullable" cannot be used without "type"');if(Q.nullable===!0)W.push("null")}return W}bG.getSchemaTypes=qV;function jG(Q){let W=Array.isArray(Q)?Q:Q?[Q]:[];if(W.every(zV.isJSONType))return W;throw Error("type must be JSONType or JSONType[]: "+W.join(","))}bG.getJSONTypes=jG;function VV(Q,W){let{gen:X,data:Y,opts:$}=Q,J=FV(W,$.coerceTypes),G=W.length>0&&!(J.length===0&&W.length===1&&(0,LV.schemaHasRulesForType)(Q,W[0]));if(G){let H=RX(W,Y,$.strictNumbers,T6.Wrong);X.if(H,()=>{if(J.length)UV(Q,W,J);else PX(Q)})}return G}bG.coerceAndCheckDataType=VV;var EG=new Set(["string","number","integer","boolean","null"]);function FV(Q,W){return W?Q.filter((X)=>EG.has(X)||W==="array"&&X==="array"):[]}function UV(Q,W,X){let{gen:Y,data:$,opts:J}=Q,G=Y.let("dataType",l._`typeof ${$}`),H=Y.let("coerced",l._`undefined`);if(J.coerceTypes==="array")Y.if(l._`${G} == 'object' && Array.isArray(${$}) && ${$}.length == 1`,()=>Y.assign($,l._`${$}[0]`).assign(G,l._`typeof ${$}`).if(RX(W,$,J.strictNumbers),()=>Y.assign(H,$)));Y.if(l._`${H} !== undefined`);for(let A of X)if(EG.has(A)||A==="array"&&J.coerceTypes==="array")B(A);Y.else(),PX(Q),Y.endIf(),Y.if(l._`${H} !== undefined`,()=>{Y.assign($,H),OV(Q,H)});function B(A){switch(A){case"string":Y.elseIf(l._`${G} == "number" || ${G} == "boolean"`).assign(H,l._`"" + ${$}`).elseIf(l._`${$} === null`).assign(H,l._`""`);return;case"number":Y.elseIf(l._`${G} == "boolean" || ${$} === null
5
5
  || (${G} == "string" && ${$} && ${$} == +${$})`).assign(H,l._`+${$}`);return;case"integer":Y.elseIf(l._`${G} === "boolean" || ${$} === null
6
6
  || (${G} === "string" && ${$} && ${$} == +${$} && !(${$} % 1))`).assign(H,l._`+${$}`);return;case"boolean":Y.elseIf(l._`${$} === "false" || ${$} === 0 || ${$} === null`).assign(H,!1).elseIf(l._`${$} === "true" || ${$} === 1`).assign(H,!0);return;case"null":Y.elseIf(l._`${$} === "" || ${$} === 0 || ${$} === false`),Y.assign(H,null);return;case"array":Y.elseIf(l._`${G} === "string" || ${G} === "number"
7
- || ${G} === "boolean" || ${$} === null`).assign(H,l._`[${$}]`)}}}function OV({gen:Q,parentData:W,parentDataProperty:X},Y){Q.if(l._`${W} !== undefined`,()=>Q.assign(l._`${W}[${X}]`,Y))}function SX(Q,W,X,Y=T6.Correct){let $=Y===T6.Correct?l.operators.EQ:l.operators.NEQ,J;switch(Q){case"null":return l._`${W} ${$} null`;case"array":J=l._`Array.isArray(${W})`;break;case"object":J=l._`${W} && typeof ${W} == "object" && !Array.isArray(${W})`;break;case"integer":J=G(l._`!(${W} % 1) && !isNaN(${W})`);break;case"number":J=G();break;default:return l._`typeof ${W} ${$} ${Q}`}return Y===T6.Correct?J:(0,l.not)(J);function G(H=l.nil){return(0,l.and)(l._`typeof ${W} == "number"`,H,X?l._`isFinite(${W})`:l.nil)}}bG.checkDataType=SX;function RX(Q,W,X,Y){if(Q.length===1)return SX(Q[0],W,X,Y);let $,J=(0,MG.toHash)(Q);if(J.array&&J.object){let G=l._`typeof ${W} != "object"`;$=J.null?G:l._`!${W} || ${G}`,delete J.null,delete J.array,delete J.object}else $=l.nil;if(J.number)delete J.integer;for(let G in J)$=(0,l.and)($,SX(G,W,X,Y));return $}bG.checkDataTypes=RX;var NV={message:({schema:Q})=>`must be ${Q}`,params:({schema:Q,schemaValue:W})=>typeof Q=="string"?l._`{type: ${Q}}`:l._`{type: ${W}}`};function PX(Q){let W=wV(Q);(0,DV.reportError)(W,NV)}bG.reportTypeError=PX;function wV(Q){let{gen:W,data:X,schema:Y}=Q,$=(0,MG.schemaRefOrVal)(Q,Y,"type");return{gen:W,keyword:"type",data:X,schema:Y.type,schemaCode:$,schemaValue:$,parentSchema:Y,params:{},it:Q}}});var CG=P((PG)=>{Object.defineProperty(PG,"__esModule",{value:!0});PG.assignDefaults=void 0;var Z6=m(),PV=r();function IV(Q,W){let{properties:X,items:Y}=Q.schema;if(W==="object"&&X)for(let $ in X)RG(Q,$,X[$].default);else if(W==="array"&&Array.isArray(Y))Y.forEach(($,J)=>RG(Q,J,$.default))}PG.assignDefaults=IV;function RG(Q,W,X){let{gen:Y,compositeRule:$,data:J,opts:G}=Q;if(X===void 0)return;let H=Z6._`${J}${(0,Z6.getProperty)(W)}`;if($){(0,PV.checkStrictMode)(Q,`default is ignored for: ${H}`);return}let B=Z6._`${H} === undefined`;if(G.useDefaults==="empty")B=Z6._`${B} || ${H} === null || ${H} === ""`;Y.if(B,Z6._`${H} = ${(0,Z6.stringify)(X)}`)}});var l0=P((vG)=>{Object.defineProperty(vG,"__esModule",{value:!0});vG.validateUnion=vG.validateArray=vG.usePattern=vG.callValidateCode=vG.schemaProperties=vG.allSchemaProperties=vG.noPropertyInData=vG.propertyInData=vG.isOwnProperty=vG.hasPropFunc=vG.reportMissingProp=vG.checkMissingProp=vG.checkReportMissingProp=void 0;var $0=m(),IX=r(),T1=L1(),CV=r();function TV(Q,W){let{gen:X,data:Y,it:$}=Q;X.if(TX(X,Y,W,$.opts.ownProperties),()=>{Q.setParams({missingProperty:$0._`${W}`},!0),Q.error()})}vG.checkReportMissingProp=TV;function ZV({gen:Q,data:W,it:{opts:X}},Y,$){return(0,$0.or)(...Y.map((J)=>(0,$0.and)(TX(Q,W,J,X.ownProperties),$0._`${$} = ${J}`)))}vG.checkMissingProp=ZV;function vV(Q,W){Q.setParams({missingProperty:W},!0),Q.error()}vG.reportMissingProp=vV;function TG(Q){return Q.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:$0._`Object.prototype.hasOwnProperty`})}vG.hasPropFunc=TG;function CX(Q,W,X){return $0._`${TG(Q)}.call(${W}, ${X})`}vG.isOwnProperty=CX;function kV(Q,W,X,Y){let $=$0._`${W}${(0,$0.getProperty)(X)} !== undefined`;return Y?$0._`${$} && ${CX(Q,W,X)}`:$}vG.propertyInData=kV;function TX(Q,W,X,Y){let $=$0._`${W}${(0,$0.getProperty)(X)} === undefined`;return Y?(0,$0.or)($,(0,$0.not)(CX(Q,W,X))):$}vG.noPropertyInData=TX;function ZG(Q){return Q?Object.keys(Q).filter((W)=>W!=="__proto__"):[]}vG.allSchemaProperties=ZG;function _V(Q,W){return ZG(W).filter((X)=>!(0,IX.alwaysValidSchema)(Q,W[X]))}vG.schemaProperties=_V;function xV({schemaCode:Q,data:W,it:{gen:X,topSchemaRef:Y,schemaPath:$,errorPath:J},it:G},H,B,A){let K=A?$0._`${Q}, ${W}, ${Y}${$}`:W,L=[[T1.default.instancePath,(0,$0.strConcat)(T1.default.instancePath,J)],[T1.default.parentData,G.parentData],[T1.default.parentDataProperty,G.parentDataProperty],[T1.default.rootData,T1.default.rootData]];if(G.opts.dynamicRef)L.push([T1.default.dynamicAnchors,T1.default.dynamicAnchors]);let D=$0._`${K}, ${X.object(...L)}`;return B!==$0.nil?$0._`${H}.call(${B}, ${D})`:$0._`${H}(${D})`}vG.callValidateCode=xV;var gV=$0._`new RegExp`;function yV({gen:Q,it:{opts:W}},X){let Y=W.unicodeRegExp?"u":"",{regExp:$}=W.code,J=$(X,Y);return Q.scopeValue("pattern",{key:J.toString(),ref:J,code:$0._`${$.code==="new RegExp"?gV:(0,CV.useFunc)(Q,$)}(${X}, ${Y})`})}vG.usePattern=yV;function hV(Q){let{gen:W,data:X,keyword:Y,it:$}=Q,J=W.name("valid");if($.allErrors){let H=W.let("valid",!0);return G(()=>W.assign(H,!1)),H}return W.var(J,!0),G(()=>W.break()),J;function G(H){let B=W.const("len",$0._`${X}.length`);W.forRange("i",0,B,(A)=>{Q.subschema({keyword:Y,dataProp:A,dataPropType:IX.Type.Num},J),W.if((0,$0.not)(J),H)})}}vG.validateArray=hV;function fV(Q){let{gen:W,schema:X,keyword:Y,it:$}=Q;if(!Array.isArray(X))throw Error("ajv implementation error");if(X.some((B)=>(0,IX.alwaysValidSchema)($,B))&&!$.opts.unevaluated)return;let G=W.let("valid",!1),H=W.name("_valid");W.block(()=>X.forEach((B,A)=>{let K=Q.subschema({keyword:Y,schemaProp:A,compositeRule:!0},H);if(W.assign(G,$0._`${G} || ${H}`),!Q.mergeValidEvaluated(K,H))W.if((0,$0.not)(G))})),Q.result(G,()=>Q.reset(),()=>Q.error(!0))}vG.validateUnion=fV});var hG=P((gG)=>{Object.defineProperty(gG,"__esModule",{value:!0});gG.validateKeywordUsage=gG.validSchemaType=gG.funcKeywordCode=gG.macroKeywordCode=void 0;var R0=m(),a1=L1(),sV=l0(),eV=M4();function QF(Q,W){let{gen:X,keyword:Y,schema:$,parentSchema:J,it:G}=Q,H=W.macro.call(G.self,$,J,G),B=xG(X,Y,H);if(G.opts.validateSchema!==!1)G.self.validateSchema(H,!0);let A=X.name("valid");Q.subschema({schema:H,schemaPath:R0.nil,errSchemaPath:`${G.errSchemaPath}/${Y}`,topSchemaRef:B,compositeRule:!0},A),Q.pass(A,()=>Q.error(!0))}gG.macroKeywordCode=QF;function WF(Q,W){var X;let{gen:Y,keyword:$,schema:J,parentSchema:G,$data:H,it:B}=Q;YF(B,W);let A=!H&&W.compile?W.compile.call(B.self,J,G,B):W.validate,K=xG(Y,$,A),L=Y.let("valid");Q.block$data(L,D),Q.ok((X=W.valid)!==null&&X!==void 0?X:L);function D(){if(W.errors===!1){if(V(),W.modifying)_G(Q);w(()=>Q.error())}else{let O=W.async?z():q();if(W.modifying)_G(Q);w(()=>XF(Q,O))}}function z(){let O=Y.let("ruleErrs",null);return Y.try(()=>V(R0._`await `),(b)=>Y.assign(L,!1).if(R0._`${b} instanceof ${B.ValidationError}`,()=>Y.assign(O,R0._`${b}.errors`),()=>Y.throw(b))),O}function q(){let O=R0._`${K}.errors`;return Y.assign(O,null),V(R0.nil),O}function V(O=W.async?R0._`await `:R0.nil){let b=B.opts.passContext?a1.default.this:a1.default.self,S=!(("compile"in W)&&!H||W.schema===!1);Y.assign(L,R0._`${O}${(0,sV.callValidateCode)(Q,K,b,S)}`,W.modifying)}function w(O){var b;Y.if((0,R0.not)((b=W.valid)!==null&&b!==void 0?b:L),O)}}gG.funcKeywordCode=WF;function _G(Q){let{gen:W,data:X,it:Y}=Q;W.if(Y.parentData,()=>W.assign(X,R0._`${Y.parentData}[${Y.parentDataProperty}]`))}function XF(Q,W){let{gen:X}=Q;X.if(R0._`Array.isArray(${W})`,()=>{X.assign(a1.default.vErrors,R0._`${a1.default.vErrors} === null ? ${W} : ${a1.default.vErrors}.concat(${W})`).assign(a1.default.errors,R0._`${a1.default.vErrors}.length`),(0,eV.extendErrors)(Q)},()=>Q.error())}function YF({schemaEnv:Q},W){if(W.async&&!Q.$async)throw Error("async keyword in sync schema")}function xG(Q,W,X){if(X===void 0)throw Error(`keyword "${W}" failed to compile`);return Q.scopeValue("keyword",typeof X=="function"?{ref:X}:{ref:X,code:(0,R0.stringify)(X)})}function $F(Q,W,X=!1){return!W.length||W.some((Y)=>Y==="array"?Array.isArray(Q):Y==="object"?Q&&typeof Q=="object"&&!Array.isArray(Q):typeof Q==Y||X&&typeof Q>"u")}gG.validSchemaType=$F;function JF({schema:Q,opts:W,self:X,errSchemaPath:Y},$,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 "${Y}": `+X.errorsText($.validateSchema.errors);if(W.validateSchema==="log")X.logger.error(B);else throw Error(B)}}}gG.validateKeywordUsage=JF});var mG=P((uG)=>{Object.defineProperty(uG,"__esModule",{value:!0});uG.extendSubschemaMode=uG.extendSubschemaData=uG.getSubschema=void 0;var G1=m(),fG=r();function AF(Q,{keyword:W,schemaProp:X,schema:Y,schemaPath:$,errSchemaPath:J,topSchemaRef:G}){if(W!==void 0&&Y!==void 0)throw Error('both "keyword" and "schema" passed, only one allowed');if(W!==void 0){let H=Q.schema[W];return X===void 0?{schema:H,schemaPath:G1._`${Q.schemaPath}${(0,G1.getProperty)(W)}`,errSchemaPath:`${Q.errSchemaPath}/${W}`}:{schema:H[X],schemaPath:G1._`${Q.schemaPath}${(0,G1.getProperty)(W)}${(0,G1.getProperty)(X)}`,errSchemaPath:`${Q.errSchemaPath}/${W}/${(0,fG.escapeFragment)(X)}`}}if(Y!==void 0){if($===void 0||J===void 0||G===void 0)throw Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:Y,schemaPath:$,topSchemaRef:G,errSchemaPath:J}}throw Error('either "keyword" or "schema" must be passed')}uG.getSubschema=AF;function KF(Q,W,{dataProp:X,dataPropType:Y,data:$,dataTypes:J,propertyName:G}){if($!==void 0&&X!==void 0)throw Error('both "data" and "dataProp" passed, only one allowed');let{gen:H}=W;if(X!==void 0){let{errorPath:A,dataPathArr:K,opts:L}=W,D=H.let("data",G1._`${W.data}${(0,G1.getProperty)(X)}`,!0);B(D),Q.errorPath=G1.str`${A}${(0,fG.getErrorPath)(X,Y,L.jsPropertySyntax)}`,Q.parentDataProperty=G1._`${X}`,Q.dataPathArr=[...K,Q.parentDataProperty]}if($!==void 0){let A=$ instanceof G1.Name?$:H.let("data",$,!0);if(B(A),G!==void 0)Q.propertyName=G}if(J)Q.dataTypes=J;function B(A){Q.data=A,Q.dataLevel=W.dataLevel+1,Q.dataTypes=[],W.definedProperties=new Set,Q.parentData=W.data,Q.dataNames=[...W.dataNames,A]}}uG.extendSubschemaData=KF;function zF(Q,{jtdDiscriminator:W,jtdMetadata:X,compositeRule:Y,createErrors:$,allErrors:J}){if(Y!==void 0)Q.compositeRule=Y;if($!==void 0)Q.createErrors=$;if(J!==void 0)Q.allErrors=J;Q.jtdDiscriminator=W,Q.jtdMetadata=X}uG.extendSubschemaMode=zF});var ZX=P((oP,cG)=>{cG.exports=function Q(W,X){if(W===X)return!0;if(W&&X&&typeof W=="object"&&typeof X=="object"){if(W.constructor!==X.constructor)return!1;var Y,$,J;if(Array.isArray(W)){if(Y=W.length,Y!=X.length)return!1;for($=Y;$--!==0;)if(!Q(W[$],X[$]))return!1;return!0}if(W.constructor===RegExp)return W.source===X.source&&W.flags===X.flags;if(W.valueOf!==Object.prototype.valueOf)return W.valueOf()===X.valueOf();if(W.toString!==Object.prototype.toString)return W.toString()===X.toString();if(J=Object.keys(W),Y=J.length,Y!==Object.keys(X).length)return!1;for($=Y;$--!==0;)if(!Object.prototype.hasOwnProperty.call(X,J[$]))return!1;for($=Y;$--!==0;){var G=J[$];if(!Q(W[G],X[G]))return!1}return!0}return W!==W&&X!==X}});var iG=P((rP,pG)=>{var Z1=pG.exports=function(Q,W,X){if(typeof W=="function")X=W,W={};X=W.cb||X;var Y=typeof X=="function"?X:X.pre||function(){},$=X.post||function(){};s9(W,Y,$,Q,"",Q)};Z1.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Z1.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Z1.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Z1.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 s9(Q,W,X,Y,$,J,G,H,B,A){if(Y&&typeof Y=="object"&&!Array.isArray(Y)){W(Y,$,J,G,H,B,A);for(var K in Y){var L=Y[K];if(Array.isArray(L)){if(K in Z1.arrayKeywords)for(var D=0;D<L.length;D++)s9(Q,W,X,L[D],$+"/"+K+"/"+D,J,$,K,Y,D)}else if(K in Z1.propsKeywords){if(L&&typeof L=="object")for(var z in L)s9(Q,W,X,L[z],$+"/"+K+"/"+qF(z),J,$,K,Y,z)}else if(K in Z1.keywords||Q.allKeys&&!(K in Z1.skipKeywords))s9(Q,W,X,L,$+"/"+K,J,$,K,Y)}X(Y,$,J,G,H,B,A)}}function qF(Q){return Q.replace(/~/g,"~0").replace(/\//g,"~1")}});var E4=P((rG)=>{Object.defineProperty(rG,"__esModule",{value:!0});rG.getSchemaRefs=rG.resolveUrl=rG.normalizeId=rG._getFullPath=rG.getFullPath=rG.inlineRef=void 0;var VF=r(),FF=ZX(),UF=iG(),OF=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function NF(Q,W=!0){if(typeof Q=="boolean")return!0;if(W===!0)return!vX(Q);if(!W)return!1;return nG(Q)<=W}rG.inlineRef=NF;var wF=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function vX(Q){for(let W in Q){if(wF.has(W))return!0;let X=Q[W];if(Array.isArray(X)&&X.some(vX))return!0;if(typeof X=="object"&&vX(X))return!0}return!1}function nG(Q){let W=0;for(let X in Q){if(X==="$ref")return 1/0;if(W++,OF.has(X))continue;if(typeof Q[X]=="object")(0,VF.eachItem)(Q[X],(Y)=>W+=nG(Y));if(W===1/0)return 1/0}return W}function dG(Q,W="",X){if(X!==!1)W=v6(W);let Y=Q.parse(W);return oG(Q,Y)}rG.getFullPath=dG;function oG(Q,W){return Q.serialize(W).split("#")[0]+"#"}rG._getFullPath=oG;var MF=/#\/?$/;function v6(Q){return Q?Q.replace(MF,""):""}rG.normalizeId=v6;function jF(Q,W,X){return X=v6(X),Q.resolve(W,X)}rG.resolveUrl=jF;var EF=/^[a-z_][-a-z0-9._]*$/i;function bF(Q,W){if(typeof Q=="boolean")return{};let{schemaId:X,uriResolver:Y}=this.opts,$=v6(Q[X]||W),J={"":$},G=dG(Y,$,!1),H={},B=new Set;return UF(Q,{allKeys:!0},(L,D,z,q)=>{if(q===void 0)return;let V=G+D,w=J[q];if(typeof L[X]=="string")w=O.call(this,L[X]);b.call(this,L.$anchor),b.call(this,L.$dynamicAnchor),J[D]=w;function O(S){let h=this.opts.uriResolver.resolve;if(S=v6(w?h(w,S):S),B.has(S))throw K(S);B.add(S);let g=this.refs[S];if(typeof g=="string")g=this.refs[g];if(typeof g=="object")A(L,g.schema,S);else if(S!==v6(V))if(S[0]==="#")A(L,H[S],S),H[S]=L;else this.refs[S]=V;return S}function b(S){if(typeof S=="string"){if(!EF.test(S))throw Error(`invalid anchor "${S}"`);O.call(this,`#${S}`)}}}),H;function A(L,D,z){if(D!==void 0&&!FF(L,D))throw K(z)}function K(L){return Error(`reference "${L}" resolves to more than one schema`)}}rG.getSchemaRefs=bF});var R4=P((z5)=>{Object.defineProperty(z5,"__esModule",{value:!0});z5.getData=z5.KeywordCxt=z5.validateFunctionCode=void 0;var W5=qG(),aG=j4(),_X=bX(),e9=j4(),TF=CG(),S4=hG(),kX=mG(),v=m(),f=L1(),ZF=E4(),D1=r(),b4=M4();function vF(Q){if($5(Q)){if(J5(Q),Y5(Q)){xF(Q);return}}X5(Q,()=>(0,W5.topBoolOrEmptySchema)(Q))}z5.validateFunctionCode=vF;function X5({gen:Q,validateName:W,schema:X,schemaEnv:Y,opts:$},J){if($.code.es5)Q.func(W,v._`${f.default.data}, ${f.default.valCxt}`,Y.$async,()=>{Q.code(v._`"use strict"; ${sG(X,$)}`),_F(Q,$),Q.code(J)});else Q.func(W,v._`${f.default.data}, ${kF($)}`,Y.$async,()=>Q.code(sG(X,$)).code(J))}function kF(Q){return v._`{${f.default.instancePath}="", ${f.default.parentData}, ${f.default.parentDataProperty}, ${f.default.rootData}=${f.default.data}${Q.dynamicRef?v._`, ${f.default.dynamicAnchors}={}`:v.nil}}={}`}function _F(Q,W){Q.if(f.default.valCxt,()=>{if(Q.var(f.default.instancePath,v._`${f.default.valCxt}.${f.default.instancePath}`),Q.var(f.default.parentData,v._`${f.default.valCxt}.${f.default.parentData}`),Q.var(f.default.parentDataProperty,v._`${f.default.valCxt}.${f.default.parentDataProperty}`),Q.var(f.default.rootData,v._`${f.default.valCxt}.${f.default.rootData}`),W.dynamicRef)Q.var(f.default.dynamicAnchors,v._`${f.default.valCxt}.${f.default.dynamicAnchors}`)},()=>{if(Q.var(f.default.instancePath,v._`""`),Q.var(f.default.parentData,v._`undefined`),Q.var(f.default.parentDataProperty,v._`undefined`),Q.var(f.default.rootData,f.default.data),W.dynamicRef)Q.var(f.default.dynamicAnchors,v._`{}`)})}function xF(Q){let{schema:W,opts:X,gen:Y}=Q;X5(Q,()=>{if(X.$comment&&W.$comment)H5(Q);if(uF(Q),Y.let(f.default.vErrors,null),Y.let(f.default.errors,0),X.unevaluated)gF(Q);G5(Q),cF(Q)});return}function gF(Q){let{gen:W,validateName:X}=Q;Q.evaluated=W.const("evaluated",v._`${X}.evaluated`),W.if(v._`${Q.evaluated}.dynamicProps`,()=>W.assign(v._`${Q.evaluated}.props`,v._`undefined`)),W.if(v._`${Q.evaluated}.dynamicItems`,()=>W.assign(v._`${Q.evaluated}.items`,v._`undefined`))}function sG(Q,W){let X=typeof Q=="object"&&Q[W.schemaId];return X&&(W.code.source||W.code.process)?v._`/*# sourceURL=${X} */`:v.nil}function yF(Q,W){if($5(Q)){if(J5(Q),Y5(Q)){hF(Q,W);return}}(0,W5.boolOrEmptySchema)(Q,W)}function Y5({schema:Q,self:W}){if(typeof Q=="boolean")return!Q;for(let X in Q)if(W.RULES.all[X])return!0;return!1}function $5(Q){return typeof Q.schema!="boolean"}function hF(Q,W){let{schema:X,gen:Y,opts:$}=Q;if($.$comment&&X.$comment)H5(Q);lF(Q),mF(Q);let J=Y.const("_errs",f.default.errors);G5(Q,J),Y.var(W,v._`${J} === ${f.default.errors}`)}function J5(Q){(0,D1.checkUnknownRules)(Q),fF(Q)}function G5(Q,W){if(Q.opts.jtd)return eG(Q,[],!1,W);let X=(0,aG.getSchemaTypes)(Q.schema),Y=(0,aG.coerceAndCheckDataType)(Q,X);eG(Q,X,!Y,W)}function fF(Q){let{schema:W,errSchemaPath:X,opts:Y,self:$}=Q;if(W.$ref&&Y.ignoreKeywordsWithRef&&(0,D1.schemaHasRulesButRef)(W,$.RULES))$.logger.warn(`$ref: keywords ignored in schema at path "${X}"`)}function uF(Q){let{schema:W,opts:X}=Q;if(W.default!==void 0&&X.useDefaults&&X.strictSchema)(0,D1.checkStrictMode)(Q,"default is ignored in the schema root")}function lF(Q){let W=Q.schema[Q.opts.schemaId];if(W)Q.baseId=(0,ZF.resolveUrl)(Q.opts.uriResolver,Q.baseId,W)}function mF(Q){if(Q.schema.$async&&!Q.schemaEnv.$async)throw Error("async schema in sync schema")}function H5({gen:Q,schemaEnv:W,schema:X,errSchemaPath:Y,opts:$}){let J=X.$comment;if($.$comment===!0)Q.code(v._`${f.default.self}.logger.log(${J})`);else if(typeof $.$comment=="function"){let G=v.str`${Y}/$comment`,H=Q.scopeValue("root",{ref:W.root});Q.code(v._`${f.default.self}.opts.$comment(${J}, ${G}, ${H}.schema)`)}}function cF(Q){let{gen:W,schemaEnv:X,validateName:Y,ValidationError:$,opts:J}=Q;if(X.$async)W.if(v._`${f.default.errors} === 0`,()=>W.return(f.default.data),()=>W.throw(v._`new ${$}(${f.default.vErrors})`));else{if(W.assign(v._`${Y}.errors`,f.default.vErrors),J.unevaluated)pF(Q);W.return(v._`${f.default.errors} === 0`)}}function pF({gen:Q,evaluated:W,props:X,items:Y}){if(X instanceof v.Name)Q.assign(v._`${W}.props`,X);if(Y instanceof v.Name)Q.assign(v._`${W}.items`,Y)}function eG(Q,W,X,Y){let{gen:$,schema:J,data:G,allErrors:H,opts:B,self:A}=Q,{RULES:K}=A;if(J.$ref&&(B.ignoreKeywordsWithRef||!(0,D1.schemaHasRulesButRef)(J,K))){$.block(()=>A5(Q,"$ref",K.all.$ref.definition));return}if(!B.jtd)iF(Q,W);$.block(()=>{for(let D of K.rules)L(D);L(K.post)});function L(D){if(!(0,_X.shouldUseGroup)(J,D))return;if(D.type){if($.if((0,e9.checkDataType)(D.type,G,B.strictNumbers)),Q5(Q,D),W.length===1&&W[0]===D.type&&X)$.else(),(0,e9.reportTypeError)(Q);$.endIf()}else Q5(Q,D);if(!H)$.if(v._`${f.default.errors} === ${Y||0}`)}}function Q5(Q,W){let{gen:X,schema:Y,opts:{useDefaults:$}}=Q;if($)(0,TF.assignDefaults)(Q,W.type);X.block(()=>{for(let J of W.rules)if((0,_X.shouldUseRule)(Y,J))A5(Q,J.keyword,J.definition,W.type)})}function iF(Q,W){if(Q.schemaEnv.meta||!Q.opts.strictTypes)return;if(nF(Q,W),!Q.opts.allowUnionTypes)dF(Q,W);oF(Q,Q.dataTypes)}function nF(Q,W){if(!W.length)return;if(!Q.dataTypes.length){Q.dataTypes=W;return}W.forEach((X)=>{if(!B5(Q.dataTypes,X))xX(Q,`type "${X}" not allowed by context "${Q.dataTypes.join(",")}"`)}),tF(Q,W)}function dF(Q,W){if(W.length>1&&!(W.length===2&&W.includes("null")))xX(Q,"use allowUnionTypes to allow union type keyword")}function oF(Q,W){let X=Q.self.RULES.all;for(let Y in X){let $=X[Y];if(typeof $=="object"&&(0,_X.shouldUseRule)(Q.schema,$)){let{type:J}=$.definition;if(J.length&&!J.some((G)=>rF(W,G)))xX(Q,`missing type "${J.join(",")}" for keyword "${Y}"`)}}}function rF(Q,W){return Q.includes(W)||W==="number"&&Q.includes("integer")}function B5(Q,W){return Q.includes(W)||W==="integer"&&Q.includes("number")}function tF(Q,W){let X=[];for(let Y of Q.dataTypes)if(B5(W,Y))X.push(Y);else if(W.includes("integer")&&Y==="number")X.push("integer");Q.dataTypes=X}function xX(Q,W){let X=Q.schemaEnv.baseId+Q.errSchemaPath;W+=` at "${X}" (strictTypes)`,(0,D1.checkStrictMode)(Q,W,Q.opts.strictTypes)}class gX{constructor(Q,W,X){if((0,S4.validateKeywordUsage)(Q,W,X),this.gen=Q.gen,this.allErrors=Q.allErrors,this.keyword=X,this.data=Q.data,this.schema=Q.schema[X],this.$data=W.$data&&Q.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,D1.schemaRefOrVal)(Q,this.schema,X,this.$data),this.schemaType=W.schemaType,this.parentSchema=Q.schema,this.params={},this.it=Q,this.def=W,this.$data)this.schemaCode=Q.gen.const("vSchema",K5(this.$data,Q));else if(this.schemaCode=this.schemaValue,!(0,S4.validSchemaType)(this.schema,W.schemaType,W.allowUndefined))throw Error(`${X} value must be ${JSON.stringify(W.schemaType)}`);if("code"in W?W.trackErrors:W.errors!==!1)this.errsCount=Q.gen.const("_errs",f.default.errors)}result(Q,W,X){this.failResult((0,v.not)(Q),W,X)}failResult(Q,W,X){if(this.gen.if(Q),X)X();else this.error();if(W){if(this.gen.else(),W(),this.allErrors)this.gen.endIf()}else if(this.allErrors)this.gen.endIf();else this.gen.else()}pass(Q,W){this.failResult((0,v.not)(Q),void 0,W)}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:W}=this;this.fail(v._`${W} !== undefined && (${(0,v.or)(this.invalid$data(),Q)})`)}error(Q,W,X){if(W){this.setParams(W),this._error(Q,X),this.setParams({});return}this._error(Q,X)}_error(Q,W){(Q?b4.reportExtraError:b4.reportError)(this,this.def.error,W)}$dataError(){(0,b4.reportError)(this,this.def.$dataError||b4.keyword$DataError)}reset(){if(this.errsCount===void 0)throw Error('add "trackErrors" to keyword definition');(0,b4.resetErrorsCount)(this.gen,this.errsCount)}ok(Q){if(!this.allErrors)this.gen.if(Q)}setParams(Q,W){if(W)Object.assign(this.params,Q);else this.params=Q}block$data(Q,W,X=v.nil){this.gen.block(()=>{this.check$data(Q,X),W()})}check$data(Q=v.nil,W=v.nil){if(!this.$data)return;let{gen:X,schemaCode:Y,schemaType:$,def:J}=this;if(X.if((0,v.or)(v._`${Y} === undefined`,W)),Q!==v.nil)X.assign(Q,!0);if($.length||J.validateSchema){if(X.elseIf(this.invalid$data()),this.$dataError(),Q!==v.nil)X.assign(Q,!1)}X.else()}invalid$data(){let{gen:Q,schemaCode:W,schemaType:X,def:Y,it:$}=this;return(0,v.or)(J(),G());function J(){if(X.length){if(!(W instanceof v.Name))throw Error("ajv implementation error");let H=Array.isArray(X)?X:[X];return v._`${(0,e9.checkDataTypes)(H,W,$.opts.strictNumbers,e9.DataType.Wrong)}`}return v.nil}function G(){if(Y.validateSchema){let H=Q.scopeValue("validate$data",{ref:Y.validateSchema});return v._`!${H}(${W})`}return v.nil}}subschema(Q,W){let X=(0,kX.getSubschema)(this.it,Q);(0,kX.extendSubschemaData)(X,this.it,Q),(0,kX.extendSubschemaMode)(X,Q);let Y={...this.it,...X,items:void 0,props:void 0};return yF(Y,W),Y}mergeEvaluated(Q,W){let{it:X,gen:Y}=this;if(!X.opts.unevaluated)return;if(X.props!==!0&&Q.props!==void 0)X.props=D1.mergeEvaluated.props(Y,Q.props,X.props,W);if(X.items!==!0&&Q.items!==void 0)X.items=D1.mergeEvaluated.items(Y,Q.items,X.items,W)}mergeValidEvaluated(Q,W){let{it:X,gen:Y}=this;if(X.opts.unevaluated&&(X.props!==!0||X.items!==!0))return Y.if(W,()=>this.mergeEvaluated(Q,v.Name)),!0}}z5.KeywordCxt=gX;function A5(Q,W,X,Y){let $=new gX(Q,X,W);if("code"in X)X.code($,Y);else if($.$data&&X.validate)(0,S4.funcKeywordCode)($,X);else if("macro"in X)(0,S4.macroKeywordCode)($,X);else if(X.compile||X.validate)(0,S4.funcKeywordCode)($,X)}var aF=/^\/(?:[^~]|~0|~1)*$/,sF=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function K5(Q,{dataLevel:W,dataNames:X,dataPathArr:Y}){let $,J;if(Q==="")return f.default.rootData;if(Q[0]==="/"){if(!aF.test(Q))throw Error(`Invalid JSON-pointer: ${Q}`);$=Q,J=f.default.rootData}else{let A=sF.exec(Q);if(!A)throw Error(`Invalid JSON-pointer: ${Q}`);let K=+A[1];if($=A[2],$==="#"){if(K>=W)throw Error(B("property/index",K));return Y[W-K]}if(K>W)throw Error(B("data",K));if(J=X[W-K],!$)return J}let G=J,H=$.split("/");for(let A of H)if(A)J=v._`${J}${(0,v.getProperty)((0,D1.unescapeJsonPointer)(A))}`,G=v._`${G} && ${J}`;return G;function B(A,K){return`Cannot access ${A} ${K} levels up, current level is ${W}`}}z5.getData=K5});var Q8=P((q5)=>{Object.defineProperty(q5,"__esModule",{value:!0});class D5 extends Error{constructor(Q){super("validation failed");this.errors=Q,this.ajv=this.validation=!0}}q5.default=D5});var P4=P((F5)=>{Object.defineProperty(F5,"__esModule",{value:!0});var yX=E4();class V5 extends Error{constructor(Q,W,X,Y){super(Y||`can't resolve reference ${X} from id ${W}`);this.missingRef=(0,yX.resolveUrl)(Q,W,X),this.missingSchema=(0,yX.normalizeId)((0,yX.getFullPath)(Q,this.missingRef))}}F5.default=V5});var X8=P((N5)=>{Object.defineProperty(N5,"__esModule",{value:!0});N5.resolveSchema=N5.getCompilingSchema=N5.resolveRef=N5.compileSchema=N5.SchemaEnv=void 0;var s0=m(),YU=Q8(),s1=L1(),e0=E4(),U5=r(),$U=R4();class I4{constructor(Q){var W;this.refs={},this.dynamicAnchors={};let X;if(typeof Q.schema=="object")X=Q.schema;this.schema=Q.schema,this.schemaId=Q.schemaId,this.root=Q.root||this,this.baseId=(W=Q.baseId)!==null&&W!==void 0?W:(0,e0.normalizeId)(X===null||X===void 0?void 0:X[Q.schemaId||"$id"]),this.schemaPath=Q.schemaPath,this.localRefs=Q.localRefs,this.meta=Q.meta,this.$async=X===null||X===void 0?void 0:X.$async,this.refs={}}}N5.SchemaEnv=I4;function fX(Q){let W=O5.call(this,Q);if(W)return W;let X=(0,e0.getFullPath)(this.opts.uriResolver,Q.root.baseId),{es5:Y,lines:$}=this.opts.code,{ownProperties:J}=this.opts,G=new s0.CodeGen(this.scope,{es5:Y,lines:$,ownProperties:J}),H;if(Q.$async)H=G.scopeValue("Error",{ref:YU.default,code:s0._`require("ajv/dist/runtime/validation_error").default`});let B=G.scopeName("validate");Q.validateName=B;let A={gen:G,allErrors:this.opts.allErrors,data:s1.default.data,parentData:s1.default.parentData,parentDataProperty:s1.default.parentDataProperty,dataNames:[s1.default.data],dataPathArr:[s0.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:G.scopeValue("schema",this.opts.code.source===!0?{ref:Q.schema,code:(0,s0.stringify)(Q.schema)}:{ref:Q.schema}),validateName:B,ValidationError:H,schema:Q.schema,schemaEnv:Q,rootId:X,baseId:Q.baseId||X,schemaPath:s0.nil,errSchemaPath:Q.schemaPath||(this.opts.jtd?"":"#"),errorPath:s0._`""`,opts:this.opts,self:this},K;try{this._compilations.add(Q),(0,$U.validateFunctionCode)(A),G.optimize(this.opts.code.optimize);let L=G.toString();if(K=`${G.scopeRefs(s1.default.scope)}return ${L}`,this.opts.code.process)K=this.opts.code.process(K,Q);let z=Function(`${s1.default.self}`,`${s1.default.scope}`,K)(this,this.scope.get());if(this.scope.value(B,{ref:z}),z.errors=null,z.schema=Q.schema,z.schemaEnv=Q,Q.$async)z.$async=!0;if(this.opts.code.source===!0)z.source={validateName:B,validateCode:L,scopeValues:G._values};if(this.opts.unevaluated){let{props:q,items:V}=A;if(z.evaluated={props:q instanceof s0.Name?void 0:q,items:V instanceof s0.Name?void 0:V,dynamicProps:q instanceof s0.Name,dynamicItems:V instanceof s0.Name},z.source)z.source.evaluated=(0,s0.stringify)(z.evaluated)}return Q.validate=z,Q}catch(L){if(delete Q.validate,delete Q.validateName,K)this.logger.error("Error compiling schema, function code:",K);throw L}finally{this._compilations.delete(Q)}}N5.compileSchema=fX;function JU(Q,W,X){var Y;X=(0,e0.resolveUrl)(this.opts.uriResolver,W,X);let $=Q.refs[X];if($)return $;let J=BU.call(this,Q,X);if(J===void 0){let G=(Y=Q.localRefs)===null||Y===void 0?void 0:Y[X],{schemaId:H}=this.opts;if(G)J=new I4({schema:G,schemaId:H,root:Q,baseId:W})}if(J===void 0)return;return Q.refs[X]=GU.call(this,J)}N5.resolveRef=JU;function GU(Q){if((0,e0.inlineRef)(Q.schema,this.opts.inlineRefs))return Q.schema;return Q.validate?Q:fX.call(this,Q)}function O5(Q){for(let W of this._compilations)if(HU(W,Q))return W}N5.getCompilingSchema=O5;function HU(Q,W){return Q.schema===W.schema&&Q.root===W.root&&Q.baseId===W.baseId}function BU(Q,W){let X;while(typeof(X=this.refs[W])=="string")W=X;return X||this.schemas[W]||W8.call(this,Q,W)}function W8(Q,W){let X=this.opts.uriResolver.parse(W),Y=(0,e0._getFullPath)(this.opts.uriResolver,X),$=(0,e0.getFullPath)(this.opts.uriResolver,Q.baseId,void 0);if(Object.keys(Q.schema).length>0&&Y===$)return hX.call(this,X,Q);let J=(0,e0.normalizeId)(Y),G=this.refs[J]||this.schemas[J];if(typeof G=="string"){let H=W8.call(this,Q,G);if(typeof(H===null||H===void 0?void 0:H.schema)!=="object")return;return hX.call(this,X,H)}if(typeof(G===null||G===void 0?void 0:G.schema)!=="object")return;if(!G.validate)fX.call(this,G);if(J===(0,e0.normalizeId)(W)){let{schema:H}=G,{schemaId:B}=this.opts,A=H[B];if(A)$=(0,e0.resolveUrl)(this.opts.uriResolver,$,A);return new I4({schema:H,schemaId:B,root:Q,baseId:$})}return hX.call(this,X,G)}N5.resolveSchema=W8;var AU=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function hX(Q,{baseId:W,schema:X,root:Y}){var $;if((($=Q.fragment)===null||$===void 0?void 0:$[0])!=="/")return;for(let H of Q.fragment.slice(1).split("/")){if(typeof X==="boolean")return;let B=X[(0,U5.unescapeFragment)(H)];if(B===void 0)return;X=B;let A=typeof X==="object"&&X[this.opts.schemaId];if(!AU.has(H)&&A)W=(0,e0.resolveUrl)(this.opts.uriResolver,W,A)}let J;if(typeof X!="boolean"&&X.$ref&&!(0,U5.schemaHasRulesButRef)(X,this.RULES)){let H=(0,e0.resolveUrl)(this.opts.uriResolver,W,X.$ref);J=W8.call(this,Y,H)}let{schemaId:G}=this.opts;if(J=J||new I4({schema:X,schemaId:G,root:Y,baseId:W}),J.schema!==J.root.schema)return J;return}});var M5=P((WI,qU)=>{qU.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 mX=P((XI,P5)=>{var VU=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),E5=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),uX=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),b5=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),FU=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function lX(Q){let W="",X=0,Y=0;for(Y=0;Y<Q.length;Y++){if(X=Q[Y].charCodeAt(0),X===48)continue;if(!(X>=48&&X<=57||X>=65&&X<=70||X>=97&&X<=102))return"";W+=Q[Y];break}for(Y+=1;Y<Q.length;Y++){if(X=Q[Y].charCodeAt(0),!(X>=48&&X<=57||X>=65&&X<=70||X>=97&&X<=102))return"";W+=Q[Y]}return W}var UU=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function j5(Q){return Q.length=0,!0}function OU(Q,W,X){if(Q.length){let Y=lX(Q);if(Y!=="")W.push(Y);else return X.error=!0,!1;Q.length=0}return!0}function NU(Q){let W=0,X={error:!1,address:"",zone:""},Y=[],$=[],J=!1,G=!1,H=OU;for(let B=0;B<Q.length;B++){let A=Q[B];if(A==="["||A==="]")continue;if(A===":"){if(J===!0)G=!0;if(!H($,Y,X))break;if(++W>7){X.error=!0;break}if(B>0&&Q[B-1]===":")J=!0;Y.push(":");continue}else if(A==="%"){if(!H($,Y,X))break;H=j5}else{$.push(A);continue}}if($.length)if(H===j5)X.zone=$.join("");else if(G)Y.push($.join(""));else Y.push(lX($));return X.address=Y.join(""),X}function S5(Q){if(wU(Q,":")<2)return{host:Q,isIPV6:!1};let W=NU(Q);if(!W.error){let{address:X,address:Y}=W;if(W.zone)X+="%"+W.zone,Y+="%25"+W.zone;return{host:X,isIPV6:!0,escapedHost:Y}}else return{host:Q,isIPV6:!1}}function wU(Q,W){let X=0;for(let Y=0;Y<Q.length;Y++)if(Q[Y]===W)X++;return X}function MU(Q){let W=Q,X=[],Y=-1,$=0;while($=W.length){if($===1)if(W===".")break;else if(W==="/"){X.push("/");break}else{X.push(W);break}else if($===2){if(W[0]==="."){if(W[1]===".")break;else if(W[1]==="/"){W=W.slice(2);continue}}else if(W[0]==="/"){if(W[1]==="."||W[1]==="/"){X.push("/");break}}}else if($===3){if(W==="/.."){if(X.length!==0)X.pop();X.push("/");break}}if(W[0]==="."){if(W[1]==="."){if(W[2]==="/"){W=W.slice(3);continue}}else if(W[1]==="/"){W=W.slice(2);continue}}else if(W[0]==="/"){if(W[1]==="."){if(W[2]==="/"){W=W.slice(2);continue}else if(W[2]==="."){if(W[3]==="/"){if(W=W.slice(3),X.length!==0)X.pop();continue}}}}if((Y=W.indexOf("/",1))===-1){X.push(W);break}else X.push(W.slice(0,Y)),W=W.slice(Y)}return X.join("")}var jU={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"},EU=/[@/?#:]/g,bU=/[@/?#]/g;function R5(Q,W){let X=W?bU:EU;return X.lastIndex=0,Q.replace(X,(Y)=>jU[Y])}function SU(Q,W=!1){if(Q.indexOf("%")===-1)return Q;let X="";for(let Y=0;Y<Q.length;Y++){if(Q[Y]==="%"&&Y+2<Q.length){let $=Q.slice(Y+1,Y+3);if(uX($)){let J=$.toUpperCase(),G=String.fromCharCode(parseInt(J,16));if(W&&b5(G))X+=G;else X+="%"+J;Y+=2;continue}}X+=Q[Y]}return X}function RU(Q){let W="";for(let X=0;X<Q.length;X++){if(Q[X]==="%"&&X+2<Q.length){let Y=Q.slice(X+1,X+3);if(uX(Y)){let $=Y.toUpperCase(),J=String.fromCharCode(parseInt($,16));if(J!=="."&&b5(J))W+=J;else W+="%"+$;X+=2;continue}}if(FU(Q[X]))W+=Q[X];else W+=escape(Q[X])}return W}function PU(Q){let W="";for(let X=0;X<Q.length;X++){if(Q[X]==="%"&&X+2<Q.length){let Y=Q.slice(X+1,X+3);if(uX(Y)){W+="%"+Y.toUpperCase(),X+=2;continue}}W+=escape(Q[X])}return W}function IU(Q){let W=[];if(Q.userinfo!==void 0)W.push(Q.userinfo),W.push("@");if(Q.host!==void 0){let X=unescape(Q.host);if(!E5(X)){let Y=S5(X);if(Y.isIPV6===!0)X=`[${Y.escapedHost}]`;else X=R5(X,!1)}W.push(X)}if(typeof Q.port==="number"||typeof Q.port==="string")W.push(":"),W.push(String(Q.port));return W.length?W.join(""):void 0}P5.exports={nonSimpleDomain:UU,recomposeAuthority:IU,reescapeHostDelimiters:R5,normalizePercentEncoding:SU,normalizePathEncoding:RU,escapePreservingEscapes:PU,removeDotSegments:MU,isIPv4:E5,isUUID:VU,normalizeIPv6:S5,stringArrayToHexStripped:lX}});var v5=P((YI,Z5)=>{var{isUUID:CU}=mX(),TU=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,ZU=["http","https","ws","wss","urn","urn:uuid"];function vU(Q){return ZU.indexOf(Q)!==-1}function cX(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 I5(Q){if(!Q.host)Q.error=Q.error||"HTTP URIs must have a host.";return Q}function C5(Q){let W=String(Q.scheme).toLowerCase()==="https";if(Q.port===(W?443:80)||Q.port==="")Q.port=void 0;if(!Q.path)Q.path="/";return Q}function kU(Q){return Q.secure=cX(Q),Q.resourceName=(Q.path||"/")+(Q.query?"?"+Q.query:""),Q.path=void 0,Q.query=void 0,Q}function _U(Q){if(Q.port===(cX(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[W,X]=Q.resourceName.split("?");Q.path=W&&W!=="/"?W:void 0,Q.query=X,Q.resourceName=void 0}return Q.fragment=void 0,Q}function xU(Q,W){if(!Q.path)return Q.error="URN can not be parsed",Q;let X=Q.path.match(TU);if(X){let Y=W.scheme||Q.scheme||"urn";Q.nid=X[1].toLowerCase(),Q.nss=X[2];let $=`${Y}:${W.nid||Q.nid}`,J=pX($);if(Q.path=void 0,J)Q=J.parse(Q,W)}else Q.error=Q.error||"URN can not be parsed.";return Q}function gU(Q,W){if(Q.nid===void 0)throw Error("URN without nid cannot be serialized");let X=W.scheme||Q.scheme||"urn",Y=Q.nid.toLowerCase(),$=`${X}:${W.nid||Y}`,J=pX($);if(J)Q=J.serialize(Q,W);let G=Q,H=Q.nss;return G.path=`${Y||W.nid}:${H}`,W.skipEscape=!0,G}function yU(Q,W){let X=Q;if(X.uuid=X.nss,X.nss=void 0,!W.tolerant&&(!X.uuid||!CU(X.uuid)))X.error=X.error||"UUID is not valid.";return X}function hU(Q){let W=Q;return W.nss=(Q.uuid||"").toLowerCase(),W}var T5={scheme:"http",domainHost:!0,parse:I5,serialize:C5},fU={scheme:"https",domainHost:T5.domainHost,parse:I5,serialize:C5},Y8={scheme:"ws",domainHost:!0,parse:kU,serialize:_U},uU={scheme:"wss",domainHost:Y8.domainHost,parse:Y8.parse,serialize:Y8.serialize},lU={scheme:"urn",parse:xU,serialize:gU,skipNormalize:!0},mU={scheme:"urn:uuid",parse:yU,serialize:hU,skipNormalize:!0},$8={http:T5,https:fU,ws:Y8,wss:uU,urn:lU,"urn:uuid":mU};Object.setPrototypeOf($8,null);function pX(Q){return Q&&($8[Q]||$8[Q.toLowerCase()])||void 0}Z5.exports={wsIsSecure:cX,SCHEMES:$8,isValidSchemeName:vU,getSchemeHandler:pX}});var h5=P(($I,J8)=>{var{normalizeIPv6:cU,removeDotSegments:C4,recomposeAuthority:pU,normalizePercentEncoding:iU,normalizePathEncoding:nU,escapePreservingEscapes:dU,reescapeHostDelimiters:oU,isIPv4:rU,nonSimpleDomain:tU}=mX(),{SCHEMES:aU,getSchemeHandler:_5}=v5();function sU(Q,W){if(typeof Q==="string")Q=YO(Q,W);else if(typeof Q==="object")Q=k6(e1(Q,W),W);return Q}function eU(Q,W,X){let Y=X?Object.assign({scheme:"null"},X):{scheme:"null"},$=x5(k6(Q,Y),k6(W,Y),Y,!0);return Y.skipEscape=!0,e1($,Y)}function x5(Q,W,X,Y){let $={};if(!Y)Q=k6(e1(Q,X),X),W=k6(e1(W,X),X);if(X=X||{},!X.tolerant&&W.scheme)$.scheme=W.scheme,$.userinfo=W.userinfo,$.host=W.host,$.port=W.port,$.path=C4(W.path||""),$.query=W.query;else{if(W.userinfo!==void 0||W.host!==void 0||W.port!==void 0)$.userinfo=W.userinfo,$.host=W.host,$.port=W.port,$.path=C4(W.path||""),$.query=W.query;else{if(!W.path)if($.path=Q.path,W.query!==void 0)$.query=W.query;else $.query=Q.query;else{if(W.path[0]==="/")$.path=C4(W.path);else{if((Q.userinfo!==void 0||Q.host!==void 0||Q.port!==void 0)&&!Q.path)$.path="/"+W.path;else if(!Q.path)$.path=W.path;else $.path=Q.path.slice(0,Q.path.lastIndexOf("/")+1)+W.path;$.path=C4($.path)}$.query=W.query}$.userinfo=Q.userinfo,$.host=Q.host,$.port=Q.port}$.scheme=Q.scheme}return $.fragment=W.fragment,$}function QO(Q,W,X){let Y=k5(Q,X),$=k5(W,X);return Y!==void 0&&$!==void 0&&Y.toLowerCase()===$.toLowerCase()}function e1(Q,W){let X={host:Q.host,scheme:Q.scheme,userinfo:Q.userinfo,port:Q.port,path:Q.path,query:Q.query,nid:Q.nid,nss:Q.nss,uuid:Q.uuid,fragment:Q.fragment,reference:Q.reference,resourceName:Q.resourceName,secure:Q.secure,error:""},Y=Object.assign({},W),$=[],J=_5(Y.scheme||X.scheme);if(J&&J.serialize)J.serialize(X,Y);if(X.path!==void 0)if(!Y.skipEscape){if(X.path=dU(X.path),X.scheme!==void 0)X.path=X.path.split("%3A").join(":")}else X.path=iU(X.path);if(Y.reference!=="suffix"&&X.scheme)$.push(X.scheme,":");let G=pU(X);if(G!==void 0){if(Y.reference!=="suffix")$.push("//");if($.push(G),X.path&&X.path[0]!=="/")$.push("/")}if(X.path!==void 0){let H=X.path;if(!Y.absolutePath&&(!J||!J.absolutePath))H=C4(H);if(G===void 0&&H[0]==="/"&&H[1]==="/")H="/%2F"+H.slice(2);$.push(H)}if(X.query!==void 0)$.push("?",X.query);if(X.fragment!==void 0)$.push("#",X.fragment);return $.join("")}var WO=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function XO(Q,W){if(W[2]!==void 0&&Q.path&&Q.path[0]!=="/")return'URI path must start with "/" when authority is present.';if(typeof Q.port==="number"&&(Q.port<0||Q.port>65535))return"URI port is malformed.";return}function g5(Q,W){let X=Object.assign({},W),Y={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},$=!1,J=!1;if(X.reference==="suffix")if(X.scheme)Q=X.scheme+":"+Q;else Q="//"+Q;let G=Q.match(WO);if(G){if(Y.scheme=G[1],Y.userinfo=G[3],Y.host=G[4],Y.port=parseInt(G[5],10),Y.path=G[6]||"",Y.query=G[7],Y.fragment=G[8],isNaN(Y.port))Y.port=G[5];let H=XO(Y,G);if(H!==void 0)Y.error=Y.error||H,$=!0;if(Y.host)if(rU(Y.host)===!1){let K=cU(Y.host);Y.host=K.host.toLowerCase(),J=K.isIPV6}else J=!0;if(Y.scheme===void 0&&Y.userinfo===void 0&&Y.host===void 0&&Y.port===void 0&&Y.query===void 0&&!Y.path)Y.reference="same-document";else if(Y.scheme===void 0)Y.reference="relative";else if(Y.fragment===void 0)Y.reference="absolute";else Y.reference="uri";if(X.reference&&X.reference!=="suffix"&&X.reference!==Y.reference)Y.error=Y.error||"URI is not a "+X.reference+" reference.";let B=_5(X.scheme||Y.scheme);if(!X.unicodeSupport&&(!B||!B.unicodeSupport)){if(Y.host&&(X.domainHost||B&&B.domainHost)&&J===!1&&tU(Y.host))try{Y.host=URL.domainToASCII(Y.host.toLowerCase())}catch(A){Y.error=Y.error||"Host's domain name can not be converted to ASCII: "+A}}if(!B||B&&!B.skipNormalize){if(Q.indexOf("%")!==-1){if(Y.scheme!==void 0)Y.scheme=unescape(Y.scheme);if(Y.host!==void 0)Y.host=oU(unescape(Y.host),J)}if(Y.path)Y.path=nU(Y.path);if(Y.fragment)try{Y.fragment=encodeURI(decodeURIComponent(Y.fragment))}catch{Y.error=Y.error||"URI malformed"}}if(B&&B.parse)B.parse(Y,X)}else Y.error=Y.error||"URI can not be parsed.";return{parsed:Y,malformedAuthorityOrPort:$}}function k6(Q,W){return g5(Q,W).parsed}function YO(Q,W){return y5(Q,W).normalized}function y5(Q,W){let{parsed:X,malformedAuthorityOrPort:Y}=g5(Q,W);return{normalized:Y?Q:e1(X,W),malformedAuthorityOrPort:Y}}function k5(Q,W){if(typeof Q==="string"){let{normalized:X,malformedAuthorityOrPort:Y}=y5(Q,W);return Y?void 0:X}if(typeof Q==="object")return e1(Q,W)}var iX={SCHEMES:aU,normalize:sU,resolve:eU,resolveComponent:x5,equal:QO,serialize:e1,parse:k6};J8.exports=iX;J8.exports.default=iX;J8.exports.fastUri=iX});var l5=P((u5)=>{Object.defineProperty(u5,"__esModule",{value:!0});var f5=h5();f5.code='require("ajv/dist/runtime/uri").default';u5.default=f5});var r5=P((q1)=>{Object.defineProperty(q1,"__esModule",{value:!0});q1.CodeGen=q1.Name=q1.nil=q1.stringify=q1.str=q1._=q1.KeywordCxt=void 0;var JO=R4();Object.defineProperty(q1,"KeywordCxt",{enumerable:!0,get:function(){return JO.KeywordCxt}});var _6=m();Object.defineProperty(q1,"_",{enumerable:!0,get:function(){return _6._}});Object.defineProperty(q1,"str",{enumerable:!0,get:function(){return _6.str}});Object.defineProperty(q1,"stringify",{enumerable:!0,get:function(){return _6.stringify}});Object.defineProperty(q1,"nil",{enumerable:!0,get:function(){return _6.nil}});Object.defineProperty(q1,"Name",{enumerable:!0,get:function(){return _6.Name}});Object.defineProperty(q1,"CodeGen",{enumerable:!0,get:function(){return _6.CodeGen}});var GO=Q8(),n5=P4(),HO=EX(),T4=X8(),BO=m(),Z4=E4(),G8=j4(),dX=r(),m5=M5(),AO=l5(),d5=(Q,W)=>new RegExp(Q,W);d5.code="new RegExp";var KO=["removeAdditional","useDefaults","coerceTypes"],zO=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),LO={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."},DO={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},c5=200;function qO(Q){var W,X,Y,$,J,G,H,B,A,K,L,D,z,q,V,w,O,b,S,h,g,j0,y0,X6,j8;let u6=Q.strict,E8=(W=Q.code)===null||W===void 0?void 0:W.optimize,jY=E8===!0||E8===void 0?1:E8||0,EY=(Y=(X=Q.code)===null||X===void 0?void 0:X.regExp)!==null&&Y!==void 0?Y:d5,jB=($=Q.uriResolver)!==null&&$!==void 0?$:AO.default;return{strictSchema:(G=(J=Q.strictSchema)!==null&&J!==void 0?J:u6)!==null&&G!==void 0?G:!0,strictNumbers:(B=(H=Q.strictNumbers)!==null&&H!==void 0?H:u6)!==null&&B!==void 0?B:!0,strictTypes:(K=(A=Q.strictTypes)!==null&&A!==void 0?A:u6)!==null&&K!==void 0?K:"log",strictTuples:(D=(L=Q.strictTuples)!==null&&L!==void 0?L:u6)!==null&&D!==void 0?D:"log",strictRequired:(q=(z=Q.strictRequired)!==null&&z!==void 0?z:u6)!==null&&q!==void 0?q:!1,code:Q.code?{...Q.code,optimize:jY,regExp:EY}:{optimize:jY,regExp:EY},loopRequired:(V=Q.loopRequired)!==null&&V!==void 0?V:c5,loopEnum:(w=Q.loopEnum)!==null&&w!==void 0?w:c5,meta:(O=Q.meta)!==null&&O!==void 0?O:!0,messages:(b=Q.messages)!==null&&b!==void 0?b:!0,inlineRefs:(S=Q.inlineRefs)!==null&&S!==void 0?S:!0,schemaId:(h=Q.schemaId)!==null&&h!==void 0?h:"$id",addUsedSchema:(g=Q.addUsedSchema)!==null&&g!==void 0?g:!0,validateSchema:(j0=Q.validateSchema)!==null&&j0!==void 0?j0:!0,validateFormats:(y0=Q.validateFormats)!==null&&y0!==void 0?y0:!0,unicodeRegExp:(X6=Q.unicodeRegExp)!==null&&X6!==void 0?X6:!0,int32range:(j8=Q.int32range)!==null&&j8!==void 0?j8:!0,uriResolver:jB}}class H8{constructor(Q={}){this.schemas={},this.refs={},this.formats=Object.create(null),this._compilations=new Set,this._loading={},this._cache=new Map,Q=this.opts={...Q,...qO(Q)};let{es5:W,lines:X}=this.opts.code;this.scope=new BO.ValueScope({scope:{},prefixes:zO,es5:W,lines:X}),this.logger=wO(Q.logger);let Y=Q.validateFormats;if(Q.validateFormats=!1,this.RULES=(0,HO.getRules)(),p5.call(this,LO,Q,"NOT SUPPORTED"),p5.call(this,DO,Q,"DEPRECATED","warn"),this._metaOpts=OO.call(this),Q.formats)FO.call(this);if(this._addVocabularies(),this._addDefaultMetaSchema(),Q.keywords)UO.call(this,Q.keywords);if(typeof Q.meta=="object")this.addMetaSchema(Q.meta);VO.call(this),Q.validateFormats=Y}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:Q,meta:W,schemaId:X}=this.opts,Y=m5;if(X==="id")Y={...m5},Y.id=Y.$id,delete Y.$id;if(W&&Q)this.addMetaSchema(Y,Y[X],!1)}defaultMeta(){let{meta:Q,schemaId:W}=this.opts;return this.opts.defaultMeta=typeof Q=="object"?Q[W]||Q:void 0}validate(Q,W){let X;if(typeof Q=="string"){if(X=this.getSchema(Q),!X)throw Error(`no schema with key or ref "${Q}"`)}else X=this.compile(Q);let Y=X(W);if(!("$async"in X))this.errors=X.errors;return Y}compile(Q,W){let X=this._addSchema(Q,W);return X.validate||this._compileSchemaEnv(X)}compileAsync(Q,W){if(typeof this.opts.loadSchema!="function")throw Error("options.loadSchema should be a function");let{loadSchema:X}=this.opts;return Y.call(this,Q,W);async function Y(A,K){await $.call(this,A.$schema);let L=this._addSchema(A,K);return L.validate||J.call(this,L)}async function $(A){if(A&&!this.getSchema(A))await Y.call(this,{$ref:A},!0)}async function J(A){try{return this._compileSchemaEnv(A)}catch(K){if(!(K instanceof n5.default))throw K;return G.call(this,K),await H.call(this,K.missingSchema),J.call(this,A)}}function G({missingSchema:A,missingRef:K}){if(this.refs[A])throw Error(`AnySchema ${A} is loaded but ${K} cannot be resolved`)}async function H(A){let K=await B.call(this,A);if(!this.refs[A])await $.call(this,K.$schema);if(!this.refs[A])this.addSchema(K,A,W)}async function B(A){let K=this._loading[A];if(K)return K;try{return await(this._loading[A]=X(A))}finally{delete this._loading[A]}}}addSchema(Q,W,X,Y=this.opts.validateSchema){if(Array.isArray(Q)){for(let J of Q)this.addSchema(J,void 0,X,Y);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 W=(0,Z4.normalizeId)(W||$),this._checkUnique(W),this.schemas[W]=this._addSchema(Q,X,W,Y,!0),this}addMetaSchema(Q,W,X=this.opts.validateSchema){return this.addSchema(Q,W,!0,X),this}validateSchema(Q,W){if(typeof Q=="boolean")return!0;let X;if(X=Q.$schema,X!==void 0&&typeof X!="string")throw Error("$schema must be a string");if(X=X||this.opts.defaultMeta||this.defaultMeta(),!X)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let Y=this.validate(X,Q);if(!Y&&W){let $="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error($);else throw Error($)}return Y}getSchema(Q){let W;while(typeof(W=i5.call(this,Q))=="string")Q=W;if(W===void 0){let{schemaId:X}=this.opts,Y=new T4.SchemaEnv({schema:{},schemaId:X});if(W=T4.resolveSchema.call(this,Y,Q),!W)return;this.refs[Q]=W}return W.validate||this._compileSchemaEnv(W)}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 W=i5.call(this,Q);if(typeof W=="object")this._cache.delete(W.schema);return delete this.schemas[Q],delete this.refs[Q],this}case"object":{let W=Q;this._cache.delete(W);let X=Q[this.opts.schemaId];if(X)X=(0,Z4.normalizeId)(X),delete this.schemas[X],delete this.refs[X];return this}default:throw Error("ajv.removeSchema: invalid parameter")}}addVocabulary(Q){for(let W of Q)this.addKeyword(W);return this}addKeyword(Q,W){let X;if(typeof Q=="string"){if(X=Q,typeof W=="object")this.logger.warn("these parameters are deprecated, see docs for addKeyword"),W.keyword=X}else if(typeof Q=="object"&&W===void 0){if(W=Q,X=W.keyword,Array.isArray(X)&&!X.length)throw Error("addKeywords: keyword must be string or non-empty array")}else throw Error("invalid addKeywords parameters");if(jO.call(this,X,W),!W)return(0,dX.eachItem)(X,($)=>nX.call(this,$)),this;bO.call(this,W);let Y={...W,type:(0,G8.getJSONTypes)(W.type),schemaType:(0,G8.getJSONTypes)(W.schemaType)};return(0,dX.eachItem)(X,Y.type.length===0?($)=>nX.call(this,$,Y):($)=>Y.type.forEach((J)=>nX.call(this,$,Y,J))),this}getKeyword(Q){let W=this.RULES.all[Q];return typeof W=="object"?W.definition:!!W}removeKeyword(Q){let{RULES:W}=this;delete W.keywords[Q],delete W.all[Q];for(let X of W.rules){let Y=X.rules.findIndex(($)=>$.keyword===Q);if(Y>=0)X.rules.splice(Y,1)}return this}addFormat(Q,W){if(typeof W=="string")W=new RegExp(W);return this.formats[Q]=W,this}errorsText(Q=this.errors,{separator:W=", ",dataVar:X="data"}={}){if(!Q||Q.length===0)return"No errors";return Q.map((Y)=>`${X}${Y.instancePath} ${Y.message}`).reduce((Y,$)=>Y+W+$)}$dataMetaSchema(Q,W){let X=this.RULES.all;Q=JSON.parse(JSON.stringify(Q));for(let Y of W){let $=Y.split("/").slice(1),J=Q;for(let G of $)J=J[G];for(let G in X){let H=X[G];if(typeof H!="object")continue;let{$data:B}=H.definition,A=J[G];if(B&&A)J[G]=o5(A)}}return Q}_removeAllSchemas(Q,W){for(let X in Q){let Y=Q[X];if(!W||W.test(X)){if(typeof Y=="string")delete Q[X];else if(Y&&!Y.meta)this._cache.delete(Y.schema),delete Q[X]}}}_addSchema(Q,W,X,Y=this.opts.validateSchema,$=this.opts.addUsedSchema){let J,{schemaId:G}=this.opts;if(typeof Q=="object")J=Q[G];else if(this.opts.jtd)throw Error("schema must be object");else if(typeof Q!="boolean")throw Error("schema must be object or boolean");let H=this._cache.get(Q);if(H!==void 0)return H;X=(0,Z4.normalizeId)(J||X);let B=Z4.getSchemaRefs.call(this,Q,X);if(H=new T4.SchemaEnv({schema:Q,schemaId:G,meta:W,baseId:X,localRefs:B}),this._cache.set(H.schema,H),$&&!X.startsWith("#")){if(X)this._checkUnique(X);this.refs[X]=H}if(Y)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 T4.compileSchema.call(this,Q);if(!Q.validate)throw Error("ajv implementation error");return Q.validate}_compileMetaSchema(Q){let W=this.opts;this.opts=this._metaOpts;try{T4.compileSchema.call(this,Q)}finally{this.opts=W}}}H8.ValidationError=GO.default;H8.MissingRefError=n5.default;q1.default=H8;function p5(Q,W,X,Y="error"){for(let $ in Q){let J=$;if(J in W)this.logger[Y](`${X}: option ${$}. ${Q[J]}`)}}function i5(Q){return Q=(0,Z4.normalizeId)(Q),this.schemas[Q]||this.refs[Q]}function VO(){let Q=this.opts.schemas;if(!Q)return;if(Array.isArray(Q))this.addSchema(Q);else for(let W in Q)this.addSchema(Q[W],W)}function FO(){for(let Q in this.opts.formats){let W=this.opts.formats[Q];if(W)this.addFormat(Q,W)}}function UO(Q){if(Array.isArray(Q)){this.addVocabulary(Q);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let W in Q){let X=Q[W];if(!X.keyword)X.keyword=W;this.addKeyword(X)}}function OO(){let Q={...this.opts};for(let W of KO)delete Q[W];return Q}var NO={log(){},warn(){},error(){}};function wO(Q){if(Q===!1)return NO;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 MO=/^[a-z_$][a-z0-9_$:-]*$/i;function jO(Q,W){let{RULES:X}=this;if((0,dX.eachItem)(Q,(Y)=>{if(X.keywords[Y])throw Error(`Keyword ${Y} is already defined`);if(!MO.test(Y))throw Error(`Keyword ${Y} has invalid name`)}),!W)return;if(W.$data&&!(("code"in W)||("validate"in W)))throw Error('$data keyword must have "code" or "validate" function')}function nX(Q,W,X){var Y;let $=W===null||W===void 0?void 0:W.post;if(X&&$)throw Error('keyword with "post" flag cannot have "type"');let{RULES:J}=this,G=$?J.post:J.rules.find(({type:B})=>B===X);if(!G)G={type:X,rules:[]},J.rules.push(G);if(J.keywords[Q]=!0,!W)return;let H={keyword:Q,definition:{...W,type:(0,G8.getJSONTypes)(W.type),schemaType:(0,G8.getJSONTypes)(W.schemaType)}};if(W.before)EO.call(this,G,H,W.before);else G.rules.push(H);J.all[Q]=H,(Y=W.implements)===null||Y===void 0||Y.forEach((B)=>this.addKeyword(B))}function EO(Q,W,X){let Y=Q.rules.findIndex(($)=>$.keyword===X);if(Y>=0)Q.rules.splice(Y,0,W);else Q.rules.push(W),this.logger.warn(`rule ${X} is not defined`)}function bO(Q){let{metaSchema:W}=Q;if(W===void 0)return;if(Q.$data&&this.opts.$data)W=o5(W);Q.validateSchema=this.compile(W,!0)}var SO={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function o5(Q){return{anyOf:[Q,SO]}}});var a5=P((t5)=>{Object.defineProperty(t5,"__esModule",{value:!0});var IO={keyword:"id",code(){throw Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};t5.default=IO});var YH=P((WH)=>{Object.defineProperty(WH,"__esModule",{value:!0});WH.callRef=WH.getValidate=void 0;var TO=P4(),s5=l0(),Z0=m(),x6=L1(),e5=X8(),B8=r(),ZO={keyword:"$ref",schemaType:"string",code(Q){let{gen:W,schema:X,it:Y}=Q,{baseId:$,schemaEnv:J,validateName:G,opts:H,self:B}=Y,{root:A}=J;if((X==="#"||X==="#/")&&$===A.baseId)return L();let K=e5.resolveRef.call(B,A,$,X);if(K===void 0)throw new TO.default(Y.opts.uriResolver,$,X);if(K instanceof e5.SchemaEnv)return D(K);return z(K);function L(){if(J===A)return A8(Q,G,J,J.$async);let q=W.scopeValue("root",{ref:A});return A8(Q,Z0._`${q}.validate`,A,A.$async)}function D(q){let V=QH(Q,q);A8(Q,V,q,q.$async)}function z(q){let V=W.scopeValue("schema",H.code.source===!0?{ref:q,code:(0,Z0.stringify)(q)}:{ref:q}),w=W.name("valid"),O=Q.subschema({schema:q,dataTypes:[],schemaPath:Z0.nil,topSchemaRef:V,errSchemaPath:X},w);Q.mergeEvaluated(O),Q.ok(w)}}};function QH(Q,W){let{gen:X}=Q;return W.validate?X.scopeValue("validate",{ref:W.validate}):Z0._`${X.scopeValue("wrapper",{ref:W})}.validate`}WH.getValidate=QH;function A8(Q,W,X,Y){let{gen:$,it:J}=Q,{allErrors:G,schemaEnv:H,opts:B}=J,A=B.passContext?x6.default.this:Z0.nil;if(Y)K();else L();function K(){if(!H.$async)throw Error("async schema referenced by sync schema");let q=$.let("valid");$.try(()=>{if($.code(Z0._`await ${(0,s5.callValidateCode)(Q,W,A)}`),z(W),!G)$.assign(q,!0)},(V)=>{if($.if(Z0._`!(${V} instanceof ${J.ValidationError})`,()=>$.throw(V)),D(V),!G)$.assign(q,!1)}),Q.ok(q)}function L(){Q.result((0,s5.callValidateCode)(Q,W,A),()=>z(W),()=>D(W))}function D(q){let V=Z0._`${q}.errors`;$.assign(x6.default.vErrors,Z0._`${x6.default.vErrors} === null ? ${V} : ${x6.default.vErrors}.concat(${V})`),$.assign(x6.default.errors,Z0._`${x6.default.vErrors}.length`)}function z(q){var V;if(!J.opts.unevaluated)return;let w=(V=X===null||X===void 0?void 0:X.validate)===null||V===void 0?void 0:V.evaluated;if(J.props!==!0)if(w&&!w.dynamicProps){if(w.props!==void 0)J.props=B8.mergeEvaluated.props($,w.props,J.props)}else{let O=$.var("props",Z0._`${q}.evaluated.props`);J.props=B8.mergeEvaluated.props($,O,J.props,Z0.Name)}if(J.items!==!0)if(w&&!w.dynamicItems){if(w.items!==void 0)J.items=B8.mergeEvaluated.items($,w.items,J.items)}else{let O=$.var("items",Z0._`${q}.evaluated.items`);J.items=B8.mergeEvaluated.items($,O,J.items,Z0.Name)}}}WH.callRef=A8;WH.default=ZO});var JH=P(($H)=>{Object.defineProperty($H,"__esModule",{value:!0});var _O=a5(),xO=YH(),gO=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",_O.default,xO.default];$H.default=gO});var HH=P((GH)=>{Object.defineProperty(GH,"__esModule",{value:!0});var K8=m(),v1=K8.operators,z8={maximum:{okStr:"<=",ok:v1.LTE,fail:v1.GT},minimum:{okStr:">=",ok:v1.GTE,fail:v1.LT},exclusiveMaximum:{okStr:"<",ok:v1.LT,fail:v1.GTE},exclusiveMinimum:{okStr:">",ok:v1.GT,fail:v1.LTE}},hO={message:({keyword:Q,schemaCode:W})=>K8.str`must be ${z8[Q].okStr} ${W}`,params:({keyword:Q,schemaCode:W})=>K8._`{comparison: ${z8[Q].okStr}, limit: ${W}}`},fO={keyword:Object.keys(z8),type:"number",schemaType:"number",$data:!0,error:hO,code(Q){let{keyword:W,data:X,schemaCode:Y}=Q;Q.fail$data(K8._`${X} ${z8[W].fail} ${Y} || isNaN(${X})`)}};GH.default=fO});var AH=P((BH)=>{Object.defineProperty(BH,"__esModule",{value:!0});var v4=m(),lO={message:({schemaCode:Q})=>v4.str`must be multiple of ${Q}`,params:({schemaCode:Q})=>v4._`{multipleOf: ${Q}}`},mO={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:lO,code(Q){let{gen:W,data:X,schemaCode:Y,it:$}=Q,J=$.opts.multipleOfPrecision,G=W.let("res"),H=J?v4._`Math.abs(Math.round(${G}) - ${G}) > 1e-${J}`:v4._`${G} !== parseInt(${G})`;Q.fail$data(v4._`(${Y} === 0 || (${G} = ${X}/${Y}, ${H}))`)}};BH.default=mO});var LH=P((zH)=>{Object.defineProperty(zH,"__esModule",{value:!0});function KH(Q){let W=Q.length,X=0,Y=0,$;while(Y<W)if(X++,$=Q.charCodeAt(Y++),$>=55296&&$<=56319&&Y<W){if($=Q.charCodeAt(Y),($&64512)===56320)Y++}return X}zH.default=KH;KH.code='require("ajv/dist/runtime/ucs2length").default'});var qH=P((DH)=>{Object.defineProperty(DH,"__esModule",{value:!0});var Q6=m(),iO=r(),nO=LH(),dO={message({keyword:Q,schemaCode:W}){let X=Q==="maxLength"?"more":"fewer";return Q6.str`must NOT have ${X} than ${W} characters`},params:({schemaCode:Q})=>Q6._`{limit: ${Q}}`},oO={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:dO,code(Q){let{keyword:W,data:X,schemaCode:Y,it:$}=Q,J=W==="maxLength"?Q6.operators.GT:Q6.operators.LT,G=$.opts.unicode===!1?Q6._`${X}.length`:Q6._`${(0,iO.useFunc)(Q.gen,nO.default)}(${X})`;Q.fail$data(Q6._`${G} ${J} ${Y}`)}};DH.default=oO});var FH=P((VH)=>{Object.defineProperty(VH,"__esModule",{value:!0});var tO=l0(),aO=r(),g6=m(),sO={message:({schemaCode:Q})=>g6.str`must match pattern "${Q}"`,params:({schemaCode:Q})=>g6._`{pattern: ${Q}}`},eO={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:sO,code(Q){let{gen:W,data:X,$data:Y,schema:$,schemaCode:J,it:G}=Q,H=G.opts.unicodeRegExp?"u":"";if(Y){let{regExp:B}=G.opts.code,A=B.code==="new RegExp"?g6._`new RegExp`:(0,aO.useFunc)(W,B),K=W.let("valid");W.try(()=>W.assign(K,g6._`${A}(${J}, ${H}).test(${X})`),()=>W.assign(K,!1)),Q.fail$data(g6._`!${K}`)}else{let B=(0,tO.usePattern)(Q,$);Q.fail$data(g6._`!${B}.test(${X})`)}}};VH.default=eO});var OH=P((UH)=>{Object.defineProperty(UH,"__esModule",{value:!0});var k4=m(),WN={message({keyword:Q,schemaCode:W}){let X=Q==="maxProperties"?"more":"fewer";return k4.str`must NOT have ${X} than ${W} properties`},params:({schemaCode:Q})=>k4._`{limit: ${Q}}`},XN={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:WN,code(Q){let{keyword:W,data:X,schemaCode:Y}=Q,$=W==="maxProperties"?k4.operators.GT:k4.operators.LT;Q.fail$data(k4._`Object.keys(${X}).length ${$} ${Y}`)}};UH.default=XN});var wH=P((NH)=>{Object.defineProperty(NH,"__esModule",{value:!0});var _4=l0(),x4=m(),$N=r(),JN={message:({params:{missingProperty:Q}})=>x4.str`must have required property '${Q}'`,params:({params:{missingProperty:Q}})=>x4._`{missingProperty: ${Q}}`},GN={keyword:"required",type:"object",schemaType:"array",$data:!0,error:JN,code(Q){let{gen:W,schema:X,schemaCode:Y,data:$,$data:J,it:G}=Q,{opts:H}=G;if(!J&&X.length===0)return;let B=X.length>=H.loopRequired;if(G.allErrors)A();else K();if(H.strictRequired){let z=Q.parentSchema.properties,{definedProperties:q}=Q.it;for(let V of X)if((z===null||z===void 0?void 0:z[V])===void 0&&!q.has(V)){let w=G.schemaEnv.baseId+G.errSchemaPath,O=`required property "${V}" is not defined at "${w}" (strictRequired)`;(0,$N.checkStrictMode)(G,O,G.opts.strictRequired)}}function A(){if(B||J)Q.block$data(x4.nil,L);else for(let z of X)(0,_4.checkReportMissingProp)(Q,z)}function K(){let z=W.let("missing");if(B||J){let q=W.let("valid",!0);Q.block$data(q,()=>D(z,q)),Q.ok(q)}else W.if((0,_4.checkMissingProp)(Q,X,z)),(0,_4.reportMissingProp)(Q,z),W.else()}function L(){W.forOf("prop",Y,(z)=>{Q.setParams({missingProperty:z}),W.if((0,_4.noPropertyInData)(W,$,z,H.ownProperties),()=>Q.error())})}function D(z,q){Q.setParams({missingProperty:z}),W.forOf(z,Y,()=>{W.assign(q,(0,_4.propertyInData)(W,$,z,H.ownProperties)),W.if((0,x4.not)(q),()=>{Q.error(),W.break()})},x4.nil)}}};NH.default=GN});var jH=P((MH)=>{Object.defineProperty(MH,"__esModule",{value:!0});var g4=m(),BN={message({keyword:Q,schemaCode:W}){let X=Q==="maxItems"?"more":"fewer";return g4.str`must NOT have ${X} than ${W} items`},params:({schemaCode:Q})=>g4._`{limit: ${Q}}`},AN={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:BN,code(Q){let{keyword:W,data:X,schemaCode:Y}=Q,$=W==="maxItems"?g4.operators.GT:g4.operators.LT;Q.fail$data(g4._`${X}.length ${$} ${Y}`)}};MH.default=AN});var L8=P((bH)=>{Object.defineProperty(bH,"__esModule",{value:!0});var EH=ZX();EH.code='require("ajv/dist/runtime/equal").default';bH.default=EH});var RH=P((SH)=>{Object.defineProperty(SH,"__esModule",{value:!0});var oX=j4(),N0=m(),LN=r(),DN=L8(),qN={message:({params:{i:Q,j:W}})=>N0.str`must NOT have duplicate items (items ## ${W} and ${Q} are identical)`,params:({params:{i:Q,j:W}})=>N0._`{i: ${Q}, j: ${W}}`},VN={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:qN,code(Q){let{gen:W,data:X,$data:Y,schema:$,parentSchema:J,schemaCode:G,it:H}=Q;if(!Y&&!$)return;let B=W.let("valid"),A=J.items?(0,oX.getSchemaTypes)(J.items):[];Q.block$data(B,K,N0._`${G} === false`),Q.ok(B);function K(){let q=W.let("i",N0._`${X}.length`),V=W.let("j");Q.setParams({i:q,j:V}),W.assign(B,!0),W.if(N0._`${q} > 1`,()=>(L()?D:z)(q,V))}function L(){return A.length>0&&!A.some((q)=>q==="object"||q==="array")}function D(q,V){let w=W.name("item"),O=(0,oX.checkDataTypes)(A,w,H.opts.strictNumbers,oX.DataType.Wrong),b=W.const("indices",N0._`{}`);W.for(N0._`;${q}--;`,()=>{if(W.let(w,N0._`${X}[${q}]`),W.if(O,N0._`continue`),A.length>1)W.if(N0._`typeof ${w} == "string"`,N0._`${w} += "_"`);W.if(N0._`typeof ${b}[${w}] == "number"`,()=>{W.assign(V,N0._`${b}[${w}]`),Q.error(),W.assign(B,!1).break()}).code(N0._`${b}[${w}] = ${q}`)})}function z(q,V){let w=(0,LN.useFunc)(W,DN.default),O=W.name("outer");W.label(O).for(N0._`;${q}--;`,()=>W.for(N0._`${V} = ${q}; ${V}--;`,()=>W.if(N0._`${w}(${X}[${q}], ${X}[${V}])`,()=>{Q.error(),W.assign(B,!1).break(O)})))}}};SH.default=VN});var IH=P((PH)=>{Object.defineProperty(PH,"__esModule",{value:!0});var rX=m(),UN=r(),ON=L8(),NN={message:"must be equal to constant",params:({schemaCode:Q})=>rX._`{allowedValue: ${Q}}`},wN={keyword:"const",$data:!0,error:NN,code(Q){let{gen:W,data:X,$data:Y,schemaCode:$,schema:J}=Q;if(Y||J&&typeof J=="object")Q.fail$data(rX._`!${(0,UN.useFunc)(W,ON.default)}(${X}, ${$})`);else Q.fail(rX._`${J} !== ${X}`)}};PH.default=wN});var TH=P((CH)=>{Object.defineProperty(CH,"__esModule",{value:!0});var y4=m(),jN=r(),EN=L8(),bN={message:"must be equal to one of the allowed values",params:({schemaCode:Q})=>y4._`{allowedValues: ${Q}}`},SN={keyword:"enum",schemaType:"array",$data:!0,error:bN,code(Q){let{gen:W,data:X,$data:Y,schema:$,schemaCode:J,it:G}=Q;if(!Y&&$.length===0)throw Error("enum must have non-empty array");let H=$.length>=G.opts.loopEnum,B,A=()=>B!==null&&B!==void 0?B:B=(0,jN.useFunc)(W,EN.default),K;if(H||Y)K=W.let("valid"),Q.block$data(K,L);else{if(!Array.isArray($))throw Error("ajv implementation error");let z=W.const("vSchema",J);K=(0,y4.or)(...$.map((q,V)=>D(z,V)))}Q.pass(K);function L(){W.assign(K,!1),W.forOf("v",J,(z)=>W.if(y4._`${A()}(${X}, ${z})`,()=>W.assign(K,!0).break()))}function D(z,q){let V=$[q];return typeof V==="object"&&V!==null?y4._`${A()}(${X}, ${z}[${q}])`:y4._`${X} === ${V}`}}};CH.default=SN});var vH=P((ZH)=>{Object.defineProperty(ZH,"__esModule",{value:!0});var PN=HH(),IN=AH(),CN=qH(),TN=FH(),ZN=OH(),vN=wH(),kN=jH(),_N=RH(),xN=IH(),gN=TH(),yN=[PN.default,IN.default,CN.default,TN.default,ZN.default,vN.default,kN.default,_N.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},xN.default,gN.default];ZH.default=yN});var aX=P((_H)=>{Object.defineProperty(_H,"__esModule",{value:!0});_H.validateAdditionalItems=void 0;var W6=m(),tX=r(),fN={message:({params:{len:Q}})=>W6.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>W6._`{limit: ${Q}}`},uN={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:fN,code(Q){let{parentSchema:W,it:X}=Q,{items:Y}=W;if(!Array.isArray(Y)){(0,tX.checkStrictMode)(X,'"additionalItems" is ignored when "items" is not an array of schemas');return}kH(Q,Y)}};function kH(Q,W){let{gen:X,schema:Y,data:$,keyword:J,it:G}=Q;G.items=!0;let H=X.const("len",W6._`${$}.length`);if(Y===!1)Q.setParams({len:W.length}),Q.pass(W6._`${H} <= ${W.length}`);else if(typeof Y=="object"&&!(0,tX.alwaysValidSchema)(G,Y)){let A=X.var("valid",W6._`${H} <= ${W.length}`);X.if((0,W6.not)(A),()=>B(A)),Q.ok(A)}function B(A){X.forRange("i",W.length,H,(K)=>{if(Q.subschema({keyword:J,dataProp:K,dataPropType:tX.Type.Num},A),!G.allErrors)X.if((0,W6.not)(A),()=>X.break())})}}_H.validateAdditionalItems=kH;_H.default=uN});var sX=P((hH)=>{Object.defineProperty(hH,"__esModule",{value:!0});hH.validateTuple=void 0;var gH=m(),D8=r(),mN=l0(),cN={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(Q){let{schema:W,it:X}=Q;if(Array.isArray(W))return yH(Q,"additionalItems",W);if(X.items=!0,(0,D8.alwaysValidSchema)(X,W))return;Q.ok((0,mN.validateArray)(Q))}};function yH(Q,W,X=Q.schema){let{gen:Y,parentSchema:$,data:J,keyword:G,it:H}=Q;if(K($),H.opts.unevaluated&&X.length&&H.items!==!0)H.items=D8.mergeEvaluated.items(Y,X.length,H.items);let B=Y.name("valid"),A=Y.const("len",gH._`${J}.length`);X.forEach((L,D)=>{if((0,D8.alwaysValidSchema)(H,L))return;Y.if(gH._`${A} > ${D}`,()=>Q.subschema({keyword:G,schemaProp:D,dataProp:D},B)),Q.ok(B)});function K(L){let{opts:D,errSchemaPath:z}=H,q=X.length,V=q===L.minItems&&(q===L.maxItems||L[W]===!1);if(D.strictTuples&&!V){let w=`"${G}" is ${q}-tuple, but minItems or maxItems/${W} are not specified or different at path "${z}"`;(0,D8.checkStrictMode)(H,w,D.strictTuples)}}}hH.validateTuple=yH;hH.default=cN});var lH=P((uH)=>{Object.defineProperty(uH,"__esModule",{value:!0});var iN=sX(),nN={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:(Q)=>(0,iN.validateTuple)(Q,"items")};uH.default=nN});var pH=P((cH)=>{Object.defineProperty(cH,"__esModule",{value:!0});var mH=m(),oN=r(),rN=l0(),tN=aX(),aN={message:({params:{len:Q}})=>mH.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>mH._`{limit: ${Q}}`},sN={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:aN,code(Q){let{schema:W,parentSchema:X,it:Y}=Q,{prefixItems:$}=X;if(Y.items=!0,(0,oN.alwaysValidSchema)(Y,W))return;if($)(0,tN.validateAdditionalItems)(Q,$);else Q.ok((0,rN.validateArray)(Q))}};cH.default=sN});var nH=P((iH)=>{Object.defineProperty(iH,"__esModule",{value:!0});var m0=m(),q8=r(),Qw={message:({params:{min:Q,max:W}})=>W===void 0?m0.str`must contain at least ${Q} valid item(s)`:m0.str`must contain at least ${Q} and no more than ${W} valid item(s)`,params:({params:{min:Q,max:W}})=>W===void 0?m0._`{minContains: ${Q}}`:m0._`{minContains: ${Q}, maxContains: ${W}}`},Ww={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:Qw,code(Q){let{gen:W,schema:X,parentSchema:Y,data:$,it:J}=Q,G,H,{minContains:B,maxContains:A}=Y;if(J.opts.next)G=B===void 0?1:B,H=A;else G=1;let K=W.const("len",m0._`${$}.length`);if(Q.setParams({min:G,max:H}),H===void 0&&G===0){(0,q8.checkStrictMode)(J,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(H!==void 0&&G>H){(0,q8.checkStrictMode)(J,'"minContains" > "maxContains" is always invalid'),Q.fail();return}if((0,q8.alwaysValidSchema)(J,X)){let V=m0._`${K} >= ${G}`;if(H!==void 0)V=m0._`${V} && ${K} <= ${H}`;Q.pass(V);return}J.items=!0;let L=W.name("valid");if(H===void 0&&G===1)z(L,()=>W.if(L,()=>W.break()));else if(G===0){if(W.let(L,!0),H!==void 0)W.if(m0._`${$}.length > 0`,D)}else W.let(L,!1),D();Q.result(L,()=>Q.reset());function D(){let V=W.name("_valid"),w=W.let("count",0);z(V,()=>W.if(V,()=>q(w)))}function z(V,w){W.forRange("i",0,K,(O)=>{Q.subschema({keyword:"contains",dataProp:O,dataPropType:q8.Type.Num,compositeRule:!0},V),w()})}function q(V){if(W.code(m0._`${V}++`),H===void 0)W.if(m0._`${V} >= ${G}`,()=>W.assign(L,!0).break());else if(W.if(m0._`${V} > ${H}`,()=>W.assign(L,!1).break()),G===1)W.assign(L,!0);else W.if(m0._`${V} >= ${G}`,()=>W.assign(L,!0))}}};iH.default=Ww});var sH=P((rH)=>{Object.defineProperty(rH,"__esModule",{value:!0});rH.validateSchemaDeps=rH.validatePropertyDeps=rH.error=void 0;var eX=m(),Yw=r(),h4=l0();rH.error={message:({params:{property:Q,depsCount:W,deps:X}})=>{let Y=W===1?"property":"properties";return eX.str`must have ${Y} ${X} when property ${Q} is present`},params:({params:{property:Q,depsCount:W,deps:X,missingProperty:Y}})=>eX._`{property: ${Q},
7
+ || ${G} === "boolean" || ${$} === null`).assign(H,l._`[${$}]`)}}}function OV({gen:Q,parentData:W,parentDataProperty:X},Y){Q.if(l._`${W} !== undefined`,()=>Q.assign(l._`${W}[${X}]`,Y))}function SX(Q,W,X,Y=T6.Correct){let $=Y===T6.Correct?l.operators.EQ:l.operators.NEQ,J;switch(Q){case"null":return l._`${W} ${$} null`;case"array":J=l._`Array.isArray(${W})`;break;case"object":J=l._`${W} && typeof ${W} == "object" && !Array.isArray(${W})`;break;case"integer":J=G(l._`!(${W} % 1) && !isNaN(${W})`);break;case"number":J=G();break;default:return l._`typeof ${W} ${$} ${Q}`}return Y===T6.Correct?J:(0,l.not)(J);function G(H=l.nil){return(0,l.and)(l._`typeof ${W} == "number"`,H,X?l._`isFinite(${W})`:l.nil)}}bG.checkDataType=SX;function RX(Q,W,X,Y){if(Q.length===1)return SX(Q[0],W,X,Y);let $,J=(0,MG.toHash)(Q);if(J.array&&J.object){let G=l._`typeof ${W} != "object"`;$=J.null?G:l._`!${W} || ${G}`,delete J.null,delete J.array,delete J.object}else $=l.nil;if(J.number)delete J.integer;for(let G in J)$=(0,l.and)($,SX(G,W,X,Y));return $}bG.checkDataTypes=RX;var NV={message:({schema:Q})=>`must be ${Q}`,params:({schema:Q,schemaValue:W})=>typeof Q=="string"?l._`{type: ${Q}}`:l._`{type: ${W}}`};function PX(Q){let W=wV(Q);(0,DV.reportError)(W,NV)}bG.reportTypeError=PX;function wV(Q){let{gen:W,data:X,schema:Y}=Q,$=(0,MG.schemaRefOrVal)(Q,Y,"type");return{gen:W,keyword:"type",data:X,schema:Y.type,schemaCode:$,schemaValue:$,parentSchema:Y,params:{},it:Q}}});var CG=P((PG)=>{Object.defineProperty(PG,"__esModule",{value:!0});PG.assignDefaults=void 0;var Z6=m(),PV=r();function IV(Q,W){let{properties:X,items:Y}=Q.schema;if(W==="object"&&X)for(let $ in X)RG(Q,$,X[$].default);else if(W==="array"&&Array.isArray(Y))Y.forEach(($,J)=>RG(Q,J,$.default))}PG.assignDefaults=IV;function RG(Q,W,X){let{gen:Y,compositeRule:$,data:J,opts:G}=Q;if(X===void 0)return;let H=Z6._`${J}${(0,Z6.getProperty)(W)}`;if($){(0,PV.checkStrictMode)(Q,`default is ignored for: ${H}`);return}let B=Z6._`${H} === undefined`;if(G.useDefaults==="empty")B=Z6._`${B} || ${H} === null || ${H} === ""`;Y.if(B,Z6._`${H} = ${(0,Z6.stringify)(X)}`)}});var l0=P((vG)=>{Object.defineProperty(vG,"__esModule",{value:!0});vG.validateUnion=vG.validateArray=vG.usePattern=vG.callValidateCode=vG.schemaProperties=vG.allSchemaProperties=vG.noPropertyInData=vG.propertyInData=vG.isOwnProperty=vG.hasPropFunc=vG.reportMissingProp=vG.checkMissingProp=vG.checkReportMissingProp=void 0;var $0=m(),IX=r(),T1=L1(),CV=r();function TV(Q,W){let{gen:X,data:Y,it:$}=Q;X.if(TX(X,Y,W,$.opts.ownProperties),()=>{Q.setParams({missingProperty:$0._`${W}`},!0),Q.error()})}vG.checkReportMissingProp=TV;function ZV({gen:Q,data:W,it:{opts:X}},Y,$){return(0,$0.or)(...Y.map((J)=>(0,$0.and)(TX(Q,W,J,X.ownProperties),$0._`${$} = ${J}`)))}vG.checkMissingProp=ZV;function vV(Q,W){Q.setParams({missingProperty:W},!0),Q.error()}vG.reportMissingProp=vV;function TG(Q){return Q.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:$0._`Object.prototype.hasOwnProperty`})}vG.hasPropFunc=TG;function CX(Q,W,X){return $0._`${TG(Q)}.call(${W}, ${X})`}vG.isOwnProperty=CX;function kV(Q,W,X,Y){let $=$0._`${W}${(0,$0.getProperty)(X)} !== undefined`;return Y?$0._`${$} && ${CX(Q,W,X)}`:$}vG.propertyInData=kV;function TX(Q,W,X,Y){let $=$0._`${W}${(0,$0.getProperty)(X)} === undefined`;return Y?(0,$0.or)($,(0,$0.not)(CX(Q,W,X))):$}vG.noPropertyInData=TX;function ZG(Q){return Q?Object.keys(Q).filter((W)=>W!=="__proto__"):[]}vG.allSchemaProperties=ZG;function _V(Q,W){return ZG(W).filter((X)=>!(0,IX.alwaysValidSchema)(Q,W[X]))}vG.schemaProperties=_V;function xV({schemaCode:Q,data:W,it:{gen:X,topSchemaRef:Y,schemaPath:$,errorPath:J},it:G},H,B,A){let K=A?$0._`${Q}, ${W}, ${Y}${$}`:W,L=[[T1.default.instancePath,(0,$0.strConcat)(T1.default.instancePath,J)],[T1.default.parentData,G.parentData],[T1.default.parentDataProperty,G.parentDataProperty],[T1.default.rootData,T1.default.rootData]];if(G.opts.dynamicRef)L.push([T1.default.dynamicAnchors,T1.default.dynamicAnchors]);let D=$0._`${K}, ${X.object(...L)}`;return B!==$0.nil?$0._`${H}.call(${B}, ${D})`:$0._`${H}(${D})`}vG.callValidateCode=xV;var gV=$0._`new RegExp`;function yV({gen:Q,it:{opts:W}},X){let Y=W.unicodeRegExp?"u":"",{regExp:$}=W.code,J=$(X,Y);return Q.scopeValue("pattern",{key:J.toString(),ref:J,code:$0._`${$.code==="new RegExp"?gV:(0,CV.useFunc)(Q,$)}(${X}, ${Y})`})}vG.usePattern=yV;function hV(Q){let{gen:W,data:X,keyword:Y,it:$}=Q,J=W.name("valid");if($.allErrors){let H=W.let("valid",!0);return G(()=>W.assign(H,!1)),H}return W.var(J,!0),G(()=>W.break()),J;function G(H){let B=W.const("len",$0._`${X}.length`);W.forRange("i",0,B,(A)=>{Q.subschema({keyword:Y,dataProp:A,dataPropType:IX.Type.Num},J),W.if((0,$0.not)(J),H)})}}vG.validateArray=hV;function fV(Q){let{gen:W,schema:X,keyword:Y,it:$}=Q;if(!Array.isArray(X))throw Error("ajv implementation error");if(X.some((B)=>(0,IX.alwaysValidSchema)($,B))&&!$.opts.unevaluated)return;let G=W.let("valid",!1),H=W.name("_valid");W.block(()=>X.forEach((B,A)=>{let K=Q.subschema({keyword:Y,schemaProp:A,compositeRule:!0},H);if(W.assign(G,$0._`${G} || ${H}`),!Q.mergeValidEvaluated(K,H))W.if((0,$0.not)(G))})),Q.result(G,()=>Q.reset(),()=>Q.error(!0))}vG.validateUnion=fV});var hG=P((gG)=>{Object.defineProperty(gG,"__esModule",{value:!0});gG.validateKeywordUsage=gG.validSchemaType=gG.funcKeywordCode=gG.macroKeywordCode=void 0;var R0=m(),a1=L1(),sV=l0(),eV=M4();function QF(Q,W){let{gen:X,keyword:Y,schema:$,parentSchema:J,it:G}=Q,H=W.macro.call(G.self,$,J,G),B=xG(X,Y,H);if(G.opts.validateSchema!==!1)G.self.validateSchema(H,!0);let A=X.name("valid");Q.subschema({schema:H,schemaPath:R0.nil,errSchemaPath:`${G.errSchemaPath}/${Y}`,topSchemaRef:B,compositeRule:!0},A),Q.pass(A,()=>Q.error(!0))}gG.macroKeywordCode=QF;function WF(Q,W){var X;let{gen:Y,keyword:$,schema:J,parentSchema:G,$data:H,it:B}=Q;YF(B,W);let A=!H&&W.compile?W.compile.call(B.self,J,G,B):W.validate,K=xG(Y,$,A),L=Y.let("valid");Q.block$data(L,D),Q.ok((X=W.valid)!==null&&X!==void 0?X:L);function D(){if(W.errors===!1){if(V(),W.modifying)_G(Q);w(()=>Q.error())}else{let N=W.async?z():q();if(W.modifying)_G(Q);w(()=>XF(Q,N))}}function z(){let N=Y.let("ruleErrs",null);return Y.try(()=>V(R0._`await `),(b)=>Y.assign(L,!1).if(R0._`${b} instanceof ${B.ValidationError}`,()=>Y.assign(N,R0._`${b}.errors`),()=>Y.throw(b))),N}function q(){let N=R0._`${K}.errors`;return Y.assign(N,null),V(R0.nil),N}function V(N=W.async?R0._`await `:R0.nil){let b=B.opts.passContext?a1.default.this:a1.default.self,S=!(("compile"in W)&&!H||W.schema===!1);Y.assign(L,R0._`${N}${(0,sV.callValidateCode)(Q,K,b,S)}`,W.modifying)}function w(N){var b;Y.if((0,R0.not)((b=W.valid)!==null&&b!==void 0?b:L),N)}}gG.funcKeywordCode=WF;function _G(Q){let{gen:W,data:X,it:Y}=Q;W.if(Y.parentData,()=>W.assign(X,R0._`${Y.parentData}[${Y.parentDataProperty}]`))}function XF(Q,W){let{gen:X}=Q;X.if(R0._`Array.isArray(${W})`,()=>{X.assign(a1.default.vErrors,R0._`${a1.default.vErrors} === null ? ${W} : ${a1.default.vErrors}.concat(${W})`).assign(a1.default.errors,R0._`${a1.default.vErrors}.length`),(0,eV.extendErrors)(Q)},()=>Q.error())}function YF({schemaEnv:Q},W){if(W.async&&!Q.$async)throw Error("async keyword in sync schema")}function xG(Q,W,X){if(X===void 0)throw Error(`keyword "${W}" failed to compile`);return Q.scopeValue("keyword",typeof X=="function"?{ref:X}:{ref:X,code:(0,R0.stringify)(X)})}function $F(Q,W,X=!1){return!W.length||W.some((Y)=>Y==="array"?Array.isArray(Q):Y==="object"?Q&&typeof Q=="object"&&!Array.isArray(Q):typeof Q==Y||X&&typeof Q>"u")}gG.validSchemaType=$F;function JF({schema:Q,opts:W,self:X,errSchemaPath:Y},$,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 "${Y}": `+X.errorsText($.validateSchema.errors);if(W.validateSchema==="log")X.logger.error(B);else throw Error(B)}}}gG.validateKeywordUsage=JF});var mG=P((uG)=>{Object.defineProperty(uG,"__esModule",{value:!0});uG.extendSubschemaMode=uG.extendSubschemaData=uG.getSubschema=void 0;var G1=m(),fG=r();function AF(Q,{keyword:W,schemaProp:X,schema:Y,schemaPath:$,errSchemaPath:J,topSchemaRef:G}){if(W!==void 0&&Y!==void 0)throw Error('both "keyword" and "schema" passed, only one allowed');if(W!==void 0){let H=Q.schema[W];return X===void 0?{schema:H,schemaPath:G1._`${Q.schemaPath}${(0,G1.getProperty)(W)}`,errSchemaPath:`${Q.errSchemaPath}/${W}`}:{schema:H[X],schemaPath:G1._`${Q.schemaPath}${(0,G1.getProperty)(W)}${(0,G1.getProperty)(X)}`,errSchemaPath:`${Q.errSchemaPath}/${W}/${(0,fG.escapeFragment)(X)}`}}if(Y!==void 0){if($===void 0||J===void 0||G===void 0)throw Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:Y,schemaPath:$,topSchemaRef:G,errSchemaPath:J}}throw Error('either "keyword" or "schema" must be passed')}uG.getSubschema=AF;function KF(Q,W,{dataProp:X,dataPropType:Y,data:$,dataTypes:J,propertyName:G}){if($!==void 0&&X!==void 0)throw Error('both "data" and "dataProp" passed, only one allowed');let{gen:H}=W;if(X!==void 0){let{errorPath:A,dataPathArr:K,opts:L}=W,D=H.let("data",G1._`${W.data}${(0,G1.getProperty)(X)}`,!0);B(D),Q.errorPath=G1.str`${A}${(0,fG.getErrorPath)(X,Y,L.jsPropertySyntax)}`,Q.parentDataProperty=G1._`${X}`,Q.dataPathArr=[...K,Q.parentDataProperty]}if($!==void 0){let A=$ instanceof G1.Name?$:H.let("data",$,!0);if(B(A),G!==void 0)Q.propertyName=G}if(J)Q.dataTypes=J;function B(A){Q.data=A,Q.dataLevel=W.dataLevel+1,Q.dataTypes=[],W.definedProperties=new Set,Q.parentData=W.data,Q.dataNames=[...W.dataNames,A]}}uG.extendSubschemaData=KF;function zF(Q,{jtdDiscriminator:W,jtdMetadata:X,compositeRule:Y,createErrors:$,allErrors:J}){if(Y!==void 0)Q.compositeRule=Y;if($!==void 0)Q.createErrors=$;if(J!==void 0)Q.allErrors=J;Q.jtdDiscriminator=W,Q.jtdMetadata=X}uG.extendSubschemaMode=zF});var ZX=P((oP,cG)=>{cG.exports=function Q(W,X){if(W===X)return!0;if(W&&X&&typeof W=="object"&&typeof X=="object"){if(W.constructor!==X.constructor)return!1;var Y,$,J;if(Array.isArray(W)){if(Y=W.length,Y!=X.length)return!1;for($=Y;$--!==0;)if(!Q(W[$],X[$]))return!1;return!0}if(W.constructor===RegExp)return W.source===X.source&&W.flags===X.flags;if(W.valueOf!==Object.prototype.valueOf)return W.valueOf()===X.valueOf();if(W.toString!==Object.prototype.toString)return W.toString()===X.toString();if(J=Object.keys(W),Y=J.length,Y!==Object.keys(X).length)return!1;for($=Y;$--!==0;)if(!Object.prototype.hasOwnProperty.call(X,J[$]))return!1;for($=Y;$--!==0;){var G=J[$];if(!Q(W[G],X[G]))return!1}return!0}return W!==W&&X!==X}});var iG=P((rP,pG)=>{var Z1=pG.exports=function(Q,W,X){if(typeof W=="function")X=W,W={};X=W.cb||X;var Y=typeof X=="function"?X:X.pre||function(){},$=X.post||function(){};s9(W,Y,$,Q,"",Q)};Z1.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Z1.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Z1.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Z1.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 s9(Q,W,X,Y,$,J,G,H,B,A){if(Y&&typeof Y=="object"&&!Array.isArray(Y)){W(Y,$,J,G,H,B,A);for(var K in Y){var L=Y[K];if(Array.isArray(L)){if(K in Z1.arrayKeywords)for(var D=0;D<L.length;D++)s9(Q,W,X,L[D],$+"/"+K+"/"+D,J,$,K,Y,D)}else if(K in Z1.propsKeywords){if(L&&typeof L=="object")for(var z in L)s9(Q,W,X,L[z],$+"/"+K+"/"+qF(z),J,$,K,Y,z)}else if(K in Z1.keywords||Q.allKeys&&!(K in Z1.skipKeywords))s9(Q,W,X,L,$+"/"+K,J,$,K,Y)}X(Y,$,J,G,H,B,A)}}function qF(Q){return Q.replace(/~/g,"~0").replace(/\//g,"~1")}});var E4=P((rG)=>{Object.defineProperty(rG,"__esModule",{value:!0});rG.getSchemaRefs=rG.resolveUrl=rG.normalizeId=rG._getFullPath=rG.getFullPath=rG.inlineRef=void 0;var VF=r(),FF=ZX(),UF=iG(),OF=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function NF(Q,W=!0){if(typeof Q=="boolean")return!0;if(W===!0)return!vX(Q);if(!W)return!1;return nG(Q)<=W}rG.inlineRef=NF;var wF=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function vX(Q){for(let W in Q){if(wF.has(W))return!0;let X=Q[W];if(Array.isArray(X)&&X.some(vX))return!0;if(typeof X=="object"&&vX(X))return!0}return!1}function nG(Q){let W=0;for(let X in Q){if(X==="$ref")return 1/0;if(W++,OF.has(X))continue;if(typeof Q[X]=="object")(0,VF.eachItem)(Q[X],(Y)=>W+=nG(Y));if(W===1/0)return 1/0}return W}function dG(Q,W="",X){if(X!==!1)W=v6(W);let Y=Q.parse(W);return oG(Q,Y)}rG.getFullPath=dG;function oG(Q,W){return Q.serialize(W).split("#")[0]+"#"}rG._getFullPath=oG;var MF=/#\/?$/;function v6(Q){return Q?Q.replace(MF,""):""}rG.normalizeId=v6;function jF(Q,W,X){return X=v6(X),Q.resolve(W,X)}rG.resolveUrl=jF;var EF=/^[a-z_][-a-z0-9._]*$/i;function bF(Q,W){if(typeof Q=="boolean")return{};let{schemaId:X,uriResolver:Y}=this.opts,$=v6(Q[X]||W),J={"":$},G=dG(Y,$,!1),H={},B=new Set;return UF(Q,{allKeys:!0},(L,D,z,q)=>{if(q===void 0)return;let V=G+D,w=J[q];if(typeof L[X]=="string")w=N.call(this,L[X]);b.call(this,L.$anchor),b.call(this,L.$dynamicAnchor),J[D]=w;function N(S){let h=this.opts.uriResolver.resolve;if(S=v6(w?h(w,S):S),B.has(S))throw K(S);B.add(S);let g=this.refs[S];if(typeof g=="string")g=this.refs[g];if(typeof g=="object")A(L,g.schema,S);else if(S!==v6(V))if(S[0]==="#")A(L,H[S],S),H[S]=L;else this.refs[S]=V;return S}function b(S){if(typeof S=="string"){if(!EF.test(S))throw Error(`invalid anchor "${S}"`);N.call(this,`#${S}`)}}}),H;function A(L,D,z){if(D!==void 0&&!FF(L,D))throw K(z)}function K(L){return Error(`reference "${L}" resolves to more than one schema`)}}rG.getSchemaRefs=bF});var R4=P((z5)=>{Object.defineProperty(z5,"__esModule",{value:!0});z5.getData=z5.KeywordCxt=z5.validateFunctionCode=void 0;var W5=qG(),aG=j4(),_X=bX(),e9=j4(),TF=CG(),S4=hG(),kX=mG(),v=m(),f=L1(),ZF=E4(),D1=r(),b4=M4();function vF(Q){if($5(Q)){if(J5(Q),Y5(Q)){xF(Q);return}}X5(Q,()=>(0,W5.topBoolOrEmptySchema)(Q))}z5.validateFunctionCode=vF;function X5({gen:Q,validateName:W,schema:X,schemaEnv:Y,opts:$},J){if($.code.es5)Q.func(W,v._`${f.default.data}, ${f.default.valCxt}`,Y.$async,()=>{Q.code(v._`"use strict"; ${sG(X,$)}`),_F(Q,$),Q.code(J)});else Q.func(W,v._`${f.default.data}, ${kF($)}`,Y.$async,()=>Q.code(sG(X,$)).code(J))}function kF(Q){return v._`{${f.default.instancePath}="", ${f.default.parentData}, ${f.default.parentDataProperty}, ${f.default.rootData}=${f.default.data}${Q.dynamicRef?v._`, ${f.default.dynamicAnchors}={}`:v.nil}}={}`}function _F(Q,W){Q.if(f.default.valCxt,()=>{if(Q.var(f.default.instancePath,v._`${f.default.valCxt}.${f.default.instancePath}`),Q.var(f.default.parentData,v._`${f.default.valCxt}.${f.default.parentData}`),Q.var(f.default.parentDataProperty,v._`${f.default.valCxt}.${f.default.parentDataProperty}`),Q.var(f.default.rootData,v._`${f.default.valCxt}.${f.default.rootData}`),W.dynamicRef)Q.var(f.default.dynamicAnchors,v._`${f.default.valCxt}.${f.default.dynamicAnchors}`)},()=>{if(Q.var(f.default.instancePath,v._`""`),Q.var(f.default.parentData,v._`undefined`),Q.var(f.default.parentDataProperty,v._`undefined`),Q.var(f.default.rootData,f.default.data),W.dynamicRef)Q.var(f.default.dynamicAnchors,v._`{}`)})}function xF(Q){let{schema:W,opts:X,gen:Y}=Q;X5(Q,()=>{if(X.$comment&&W.$comment)H5(Q);if(uF(Q),Y.let(f.default.vErrors,null),Y.let(f.default.errors,0),X.unevaluated)gF(Q);G5(Q),cF(Q)});return}function gF(Q){let{gen:W,validateName:X}=Q;Q.evaluated=W.const("evaluated",v._`${X}.evaluated`),W.if(v._`${Q.evaluated}.dynamicProps`,()=>W.assign(v._`${Q.evaluated}.props`,v._`undefined`)),W.if(v._`${Q.evaluated}.dynamicItems`,()=>W.assign(v._`${Q.evaluated}.items`,v._`undefined`))}function sG(Q,W){let X=typeof Q=="object"&&Q[W.schemaId];return X&&(W.code.source||W.code.process)?v._`/*# sourceURL=${X} */`:v.nil}function yF(Q,W){if($5(Q)){if(J5(Q),Y5(Q)){hF(Q,W);return}}(0,W5.boolOrEmptySchema)(Q,W)}function Y5({schema:Q,self:W}){if(typeof Q=="boolean")return!Q;for(let X in Q)if(W.RULES.all[X])return!0;return!1}function $5(Q){return typeof Q.schema!="boolean"}function hF(Q,W){let{schema:X,gen:Y,opts:$}=Q;if($.$comment&&X.$comment)H5(Q);lF(Q),mF(Q);let J=Y.const("_errs",f.default.errors);G5(Q,J),Y.var(W,v._`${J} === ${f.default.errors}`)}function J5(Q){(0,D1.checkUnknownRules)(Q),fF(Q)}function G5(Q,W){if(Q.opts.jtd)return eG(Q,[],!1,W);let X=(0,aG.getSchemaTypes)(Q.schema),Y=(0,aG.coerceAndCheckDataType)(Q,X);eG(Q,X,!Y,W)}function fF(Q){let{schema:W,errSchemaPath:X,opts:Y,self:$}=Q;if(W.$ref&&Y.ignoreKeywordsWithRef&&(0,D1.schemaHasRulesButRef)(W,$.RULES))$.logger.warn(`$ref: keywords ignored in schema at path "${X}"`)}function uF(Q){let{schema:W,opts:X}=Q;if(W.default!==void 0&&X.useDefaults&&X.strictSchema)(0,D1.checkStrictMode)(Q,"default is ignored in the schema root")}function lF(Q){let W=Q.schema[Q.opts.schemaId];if(W)Q.baseId=(0,ZF.resolveUrl)(Q.opts.uriResolver,Q.baseId,W)}function mF(Q){if(Q.schema.$async&&!Q.schemaEnv.$async)throw Error("async schema in sync schema")}function H5({gen:Q,schemaEnv:W,schema:X,errSchemaPath:Y,opts:$}){let J=X.$comment;if($.$comment===!0)Q.code(v._`${f.default.self}.logger.log(${J})`);else if(typeof $.$comment=="function"){let G=v.str`${Y}/$comment`,H=Q.scopeValue("root",{ref:W.root});Q.code(v._`${f.default.self}.opts.$comment(${J}, ${G}, ${H}.schema)`)}}function cF(Q){let{gen:W,schemaEnv:X,validateName:Y,ValidationError:$,opts:J}=Q;if(X.$async)W.if(v._`${f.default.errors} === 0`,()=>W.return(f.default.data),()=>W.throw(v._`new ${$}(${f.default.vErrors})`));else{if(W.assign(v._`${Y}.errors`,f.default.vErrors),J.unevaluated)pF(Q);W.return(v._`${f.default.errors} === 0`)}}function pF({gen:Q,evaluated:W,props:X,items:Y}){if(X instanceof v.Name)Q.assign(v._`${W}.props`,X);if(Y instanceof v.Name)Q.assign(v._`${W}.items`,Y)}function eG(Q,W,X,Y){let{gen:$,schema:J,data:G,allErrors:H,opts:B,self:A}=Q,{RULES:K}=A;if(J.$ref&&(B.ignoreKeywordsWithRef||!(0,D1.schemaHasRulesButRef)(J,K))){$.block(()=>A5(Q,"$ref",K.all.$ref.definition));return}if(!B.jtd)iF(Q,W);$.block(()=>{for(let D of K.rules)L(D);L(K.post)});function L(D){if(!(0,_X.shouldUseGroup)(J,D))return;if(D.type){if($.if((0,e9.checkDataType)(D.type,G,B.strictNumbers)),Q5(Q,D),W.length===1&&W[0]===D.type&&X)$.else(),(0,e9.reportTypeError)(Q);$.endIf()}else Q5(Q,D);if(!H)$.if(v._`${f.default.errors} === ${Y||0}`)}}function Q5(Q,W){let{gen:X,schema:Y,opts:{useDefaults:$}}=Q;if($)(0,TF.assignDefaults)(Q,W.type);X.block(()=>{for(let J of W.rules)if((0,_X.shouldUseRule)(Y,J))A5(Q,J.keyword,J.definition,W.type)})}function iF(Q,W){if(Q.schemaEnv.meta||!Q.opts.strictTypes)return;if(nF(Q,W),!Q.opts.allowUnionTypes)dF(Q,W);oF(Q,Q.dataTypes)}function nF(Q,W){if(!W.length)return;if(!Q.dataTypes.length){Q.dataTypes=W;return}W.forEach((X)=>{if(!B5(Q.dataTypes,X))xX(Q,`type "${X}" not allowed by context "${Q.dataTypes.join(",")}"`)}),tF(Q,W)}function dF(Q,W){if(W.length>1&&!(W.length===2&&W.includes("null")))xX(Q,"use allowUnionTypes to allow union type keyword")}function oF(Q,W){let X=Q.self.RULES.all;for(let Y in X){let $=X[Y];if(typeof $=="object"&&(0,_X.shouldUseRule)(Q.schema,$)){let{type:J}=$.definition;if(J.length&&!J.some((G)=>rF(W,G)))xX(Q,`missing type "${J.join(",")}" for keyword "${Y}"`)}}}function rF(Q,W){return Q.includes(W)||W==="number"&&Q.includes("integer")}function B5(Q,W){return Q.includes(W)||W==="integer"&&Q.includes("number")}function tF(Q,W){let X=[];for(let Y of Q.dataTypes)if(B5(W,Y))X.push(Y);else if(W.includes("integer")&&Y==="number")X.push("integer");Q.dataTypes=X}function xX(Q,W){let X=Q.schemaEnv.baseId+Q.errSchemaPath;W+=` at "${X}" (strictTypes)`,(0,D1.checkStrictMode)(Q,W,Q.opts.strictTypes)}class gX{constructor(Q,W,X){if((0,S4.validateKeywordUsage)(Q,W,X),this.gen=Q.gen,this.allErrors=Q.allErrors,this.keyword=X,this.data=Q.data,this.schema=Q.schema[X],this.$data=W.$data&&Q.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,D1.schemaRefOrVal)(Q,this.schema,X,this.$data),this.schemaType=W.schemaType,this.parentSchema=Q.schema,this.params={},this.it=Q,this.def=W,this.$data)this.schemaCode=Q.gen.const("vSchema",K5(this.$data,Q));else if(this.schemaCode=this.schemaValue,!(0,S4.validSchemaType)(this.schema,W.schemaType,W.allowUndefined))throw Error(`${X} value must be ${JSON.stringify(W.schemaType)}`);if("code"in W?W.trackErrors:W.errors!==!1)this.errsCount=Q.gen.const("_errs",f.default.errors)}result(Q,W,X){this.failResult((0,v.not)(Q),W,X)}failResult(Q,W,X){if(this.gen.if(Q),X)X();else this.error();if(W){if(this.gen.else(),W(),this.allErrors)this.gen.endIf()}else if(this.allErrors)this.gen.endIf();else this.gen.else()}pass(Q,W){this.failResult((0,v.not)(Q),void 0,W)}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:W}=this;this.fail(v._`${W} !== undefined && (${(0,v.or)(this.invalid$data(),Q)})`)}error(Q,W,X){if(W){this.setParams(W),this._error(Q,X),this.setParams({});return}this._error(Q,X)}_error(Q,W){(Q?b4.reportExtraError:b4.reportError)(this,this.def.error,W)}$dataError(){(0,b4.reportError)(this,this.def.$dataError||b4.keyword$DataError)}reset(){if(this.errsCount===void 0)throw Error('add "trackErrors" to keyword definition');(0,b4.resetErrorsCount)(this.gen,this.errsCount)}ok(Q){if(!this.allErrors)this.gen.if(Q)}setParams(Q,W){if(W)Object.assign(this.params,Q);else this.params=Q}block$data(Q,W,X=v.nil){this.gen.block(()=>{this.check$data(Q,X),W()})}check$data(Q=v.nil,W=v.nil){if(!this.$data)return;let{gen:X,schemaCode:Y,schemaType:$,def:J}=this;if(X.if((0,v.or)(v._`${Y} === undefined`,W)),Q!==v.nil)X.assign(Q,!0);if($.length||J.validateSchema){if(X.elseIf(this.invalid$data()),this.$dataError(),Q!==v.nil)X.assign(Q,!1)}X.else()}invalid$data(){let{gen:Q,schemaCode:W,schemaType:X,def:Y,it:$}=this;return(0,v.or)(J(),G());function J(){if(X.length){if(!(W instanceof v.Name))throw Error("ajv implementation error");let H=Array.isArray(X)?X:[X];return v._`${(0,e9.checkDataTypes)(H,W,$.opts.strictNumbers,e9.DataType.Wrong)}`}return v.nil}function G(){if(Y.validateSchema){let H=Q.scopeValue("validate$data",{ref:Y.validateSchema});return v._`!${H}(${W})`}return v.nil}}subschema(Q,W){let X=(0,kX.getSubschema)(this.it,Q);(0,kX.extendSubschemaData)(X,this.it,Q),(0,kX.extendSubschemaMode)(X,Q);let Y={...this.it,...X,items:void 0,props:void 0};return yF(Y,W),Y}mergeEvaluated(Q,W){let{it:X,gen:Y}=this;if(!X.opts.unevaluated)return;if(X.props!==!0&&Q.props!==void 0)X.props=D1.mergeEvaluated.props(Y,Q.props,X.props,W);if(X.items!==!0&&Q.items!==void 0)X.items=D1.mergeEvaluated.items(Y,Q.items,X.items,W)}mergeValidEvaluated(Q,W){let{it:X,gen:Y}=this;if(X.opts.unevaluated&&(X.props!==!0||X.items!==!0))return Y.if(W,()=>this.mergeEvaluated(Q,v.Name)),!0}}z5.KeywordCxt=gX;function A5(Q,W,X,Y){let $=new gX(Q,X,W);if("code"in X)X.code($,Y);else if($.$data&&X.validate)(0,S4.funcKeywordCode)($,X);else if("macro"in X)(0,S4.macroKeywordCode)($,X);else if(X.compile||X.validate)(0,S4.funcKeywordCode)($,X)}var aF=/^\/(?:[^~]|~0|~1)*$/,sF=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function K5(Q,{dataLevel:W,dataNames:X,dataPathArr:Y}){let $,J;if(Q==="")return f.default.rootData;if(Q[0]==="/"){if(!aF.test(Q))throw Error(`Invalid JSON-pointer: ${Q}`);$=Q,J=f.default.rootData}else{let A=sF.exec(Q);if(!A)throw Error(`Invalid JSON-pointer: ${Q}`);let K=+A[1];if($=A[2],$==="#"){if(K>=W)throw Error(B("property/index",K));return Y[W-K]}if(K>W)throw Error(B("data",K));if(J=X[W-K],!$)return J}let G=J,H=$.split("/");for(let A of H)if(A)J=v._`${J}${(0,v.getProperty)((0,D1.unescapeJsonPointer)(A))}`,G=v._`${G} && ${J}`;return G;function B(A,K){return`Cannot access ${A} ${K} levels up, current level is ${W}`}}z5.getData=K5});var Q8=P((q5)=>{Object.defineProperty(q5,"__esModule",{value:!0});class D5 extends Error{constructor(Q){super("validation failed");this.errors=Q,this.ajv=this.validation=!0}}q5.default=D5});var P4=P((F5)=>{Object.defineProperty(F5,"__esModule",{value:!0});var yX=E4();class V5 extends Error{constructor(Q,W,X,Y){super(Y||`can't resolve reference ${X} from id ${W}`);this.missingRef=(0,yX.resolveUrl)(Q,W,X),this.missingSchema=(0,yX.normalizeId)((0,yX.getFullPath)(Q,this.missingRef))}}F5.default=V5});var X8=P((N5)=>{Object.defineProperty(N5,"__esModule",{value:!0});N5.resolveSchema=N5.getCompilingSchema=N5.resolveRef=N5.compileSchema=N5.SchemaEnv=void 0;var s0=m(),YU=Q8(),s1=L1(),e0=E4(),U5=r(),$U=R4();class I4{constructor(Q){var W;this.refs={},this.dynamicAnchors={};let X;if(typeof Q.schema=="object")X=Q.schema;this.schema=Q.schema,this.schemaId=Q.schemaId,this.root=Q.root||this,this.baseId=(W=Q.baseId)!==null&&W!==void 0?W:(0,e0.normalizeId)(X===null||X===void 0?void 0:X[Q.schemaId||"$id"]),this.schemaPath=Q.schemaPath,this.localRefs=Q.localRefs,this.meta=Q.meta,this.$async=X===null||X===void 0?void 0:X.$async,this.refs={}}}N5.SchemaEnv=I4;function fX(Q){let W=O5.call(this,Q);if(W)return W;let X=(0,e0.getFullPath)(this.opts.uriResolver,Q.root.baseId),{es5:Y,lines:$}=this.opts.code,{ownProperties:J}=this.opts,G=new s0.CodeGen(this.scope,{es5:Y,lines:$,ownProperties:J}),H;if(Q.$async)H=G.scopeValue("Error",{ref:YU.default,code:s0._`require("ajv/dist/runtime/validation_error").default`});let B=G.scopeName("validate");Q.validateName=B;let A={gen:G,allErrors:this.opts.allErrors,data:s1.default.data,parentData:s1.default.parentData,parentDataProperty:s1.default.parentDataProperty,dataNames:[s1.default.data],dataPathArr:[s0.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:G.scopeValue("schema",this.opts.code.source===!0?{ref:Q.schema,code:(0,s0.stringify)(Q.schema)}:{ref:Q.schema}),validateName:B,ValidationError:H,schema:Q.schema,schemaEnv:Q,rootId:X,baseId:Q.baseId||X,schemaPath:s0.nil,errSchemaPath:Q.schemaPath||(this.opts.jtd?"":"#"),errorPath:s0._`""`,opts:this.opts,self:this},K;try{this._compilations.add(Q),(0,$U.validateFunctionCode)(A),G.optimize(this.opts.code.optimize);let L=G.toString();if(K=`${G.scopeRefs(s1.default.scope)}return ${L}`,this.opts.code.process)K=this.opts.code.process(K,Q);let z=Function(`${s1.default.self}`,`${s1.default.scope}`,K)(this,this.scope.get());if(this.scope.value(B,{ref:z}),z.errors=null,z.schema=Q.schema,z.schemaEnv=Q,Q.$async)z.$async=!0;if(this.opts.code.source===!0)z.source={validateName:B,validateCode:L,scopeValues:G._values};if(this.opts.unevaluated){let{props:q,items:V}=A;if(z.evaluated={props:q instanceof s0.Name?void 0:q,items:V instanceof s0.Name?void 0:V,dynamicProps:q instanceof s0.Name,dynamicItems:V instanceof s0.Name},z.source)z.source.evaluated=(0,s0.stringify)(z.evaluated)}return Q.validate=z,Q}catch(L){if(delete Q.validate,delete Q.validateName,K)this.logger.error("Error compiling schema, function code:",K);throw L}finally{this._compilations.delete(Q)}}N5.compileSchema=fX;function JU(Q,W,X){var Y;X=(0,e0.resolveUrl)(this.opts.uriResolver,W,X);let $=Q.refs[X];if($)return $;let J=BU.call(this,Q,X);if(J===void 0){let G=(Y=Q.localRefs)===null||Y===void 0?void 0:Y[X],{schemaId:H}=this.opts;if(G)J=new I4({schema:G,schemaId:H,root:Q,baseId:W})}if(J===void 0)return;return Q.refs[X]=GU.call(this,J)}N5.resolveRef=JU;function GU(Q){if((0,e0.inlineRef)(Q.schema,this.opts.inlineRefs))return Q.schema;return Q.validate?Q:fX.call(this,Q)}function O5(Q){for(let W of this._compilations)if(HU(W,Q))return W}N5.getCompilingSchema=O5;function HU(Q,W){return Q.schema===W.schema&&Q.root===W.root&&Q.baseId===W.baseId}function BU(Q,W){let X;while(typeof(X=this.refs[W])=="string")W=X;return X||this.schemas[W]||W8.call(this,Q,W)}function W8(Q,W){let X=this.opts.uriResolver.parse(W),Y=(0,e0._getFullPath)(this.opts.uriResolver,X),$=(0,e0.getFullPath)(this.opts.uriResolver,Q.baseId,void 0);if(Object.keys(Q.schema).length>0&&Y===$)return hX.call(this,X,Q);let J=(0,e0.normalizeId)(Y),G=this.refs[J]||this.schemas[J];if(typeof G=="string"){let H=W8.call(this,Q,G);if(typeof(H===null||H===void 0?void 0:H.schema)!=="object")return;return hX.call(this,X,H)}if(typeof(G===null||G===void 0?void 0:G.schema)!=="object")return;if(!G.validate)fX.call(this,G);if(J===(0,e0.normalizeId)(W)){let{schema:H}=G,{schemaId:B}=this.opts,A=H[B];if(A)$=(0,e0.resolveUrl)(this.opts.uriResolver,$,A);return new I4({schema:H,schemaId:B,root:Q,baseId:$})}return hX.call(this,X,G)}N5.resolveSchema=W8;var AU=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function hX(Q,{baseId:W,schema:X,root:Y}){var $;if((($=Q.fragment)===null||$===void 0?void 0:$[0])!=="/")return;for(let H of Q.fragment.slice(1).split("/")){if(typeof X==="boolean")return;let B=X[(0,U5.unescapeFragment)(H)];if(B===void 0)return;X=B;let A=typeof X==="object"&&X[this.opts.schemaId];if(!AU.has(H)&&A)W=(0,e0.resolveUrl)(this.opts.uriResolver,W,A)}let J;if(typeof X!="boolean"&&X.$ref&&!(0,U5.schemaHasRulesButRef)(X,this.RULES)){let H=(0,e0.resolveUrl)(this.opts.uriResolver,W,X.$ref);J=W8.call(this,Y,H)}let{schemaId:G}=this.opts;if(J=J||new I4({schema:X,schemaId:G,root:Y,baseId:W}),J.schema!==J.root.schema)return J;return}});var M5=P((WI,qU)=>{qU.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 mX=P((XI,P5)=>{var VU=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),E5=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),uX=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),b5=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),FU=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function lX(Q){let W="",X=0,Y=0;for(Y=0;Y<Q.length;Y++){if(X=Q[Y].charCodeAt(0),X===48)continue;if(!(X>=48&&X<=57||X>=65&&X<=70||X>=97&&X<=102))return"";W+=Q[Y];break}for(Y+=1;Y<Q.length;Y++){if(X=Q[Y].charCodeAt(0),!(X>=48&&X<=57||X>=65&&X<=70||X>=97&&X<=102))return"";W+=Q[Y]}return W}var UU=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function j5(Q){return Q.length=0,!0}function OU(Q,W,X){if(Q.length){let Y=lX(Q);if(Y!=="")W.push(Y);else return X.error=!0,!1;Q.length=0}return!0}function NU(Q){let W=0,X={error:!1,address:"",zone:""},Y=[],$=[],J=!1,G=!1,H=OU;for(let B=0;B<Q.length;B++){let A=Q[B];if(A==="["||A==="]")continue;if(A===":"){if(J===!0)G=!0;if(!H($,Y,X))break;if(++W>7){X.error=!0;break}if(B>0&&Q[B-1]===":")J=!0;Y.push(":");continue}else if(A==="%"){if(!H($,Y,X))break;H=j5}else{$.push(A);continue}}if($.length)if(H===j5)X.zone=$.join("");else if(G)Y.push($.join(""));else Y.push(lX($));return X.address=Y.join(""),X}function S5(Q){if(wU(Q,":")<2)return{host:Q,isIPV6:!1};let W=NU(Q);if(!W.error){let{address:X,address:Y}=W;if(W.zone)X+="%"+W.zone,Y+="%25"+W.zone;return{host:X,isIPV6:!0,escapedHost:Y}}else return{host:Q,isIPV6:!1}}function wU(Q,W){let X=0;for(let Y=0;Y<Q.length;Y++)if(Q[Y]===W)X++;return X}function MU(Q){let W=Q,X=[],Y=-1,$=0;while($=W.length){if($===1)if(W===".")break;else if(W==="/"){X.push("/");break}else{X.push(W);break}else if($===2){if(W[0]==="."){if(W[1]===".")break;else if(W[1]==="/"){W=W.slice(2);continue}}else if(W[0]==="/"){if(W[1]==="."||W[1]==="/"){X.push("/");break}}}else if($===3){if(W==="/.."){if(X.length!==0)X.pop();X.push("/");break}}if(W[0]==="."){if(W[1]==="."){if(W[2]==="/"){W=W.slice(3);continue}}else if(W[1]==="/"){W=W.slice(2);continue}}else if(W[0]==="/"){if(W[1]==="."){if(W[2]==="/"){W=W.slice(2);continue}else if(W[2]==="."){if(W[3]==="/"){if(W=W.slice(3),X.length!==0)X.pop();continue}}}}if((Y=W.indexOf("/",1))===-1){X.push(W);break}else X.push(W.slice(0,Y)),W=W.slice(Y)}return X.join("")}var jU={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"},EU=/[@/?#:]/g,bU=/[@/?#]/g;function R5(Q,W){let X=W?bU:EU;return X.lastIndex=0,Q.replace(X,(Y)=>jU[Y])}function SU(Q,W=!1){if(Q.indexOf("%")===-1)return Q;let X="";for(let Y=0;Y<Q.length;Y++){if(Q[Y]==="%"&&Y+2<Q.length){let $=Q.slice(Y+1,Y+3);if(uX($)){let J=$.toUpperCase(),G=String.fromCharCode(parseInt(J,16));if(W&&b5(G))X+=G;else X+="%"+J;Y+=2;continue}}X+=Q[Y]}return X}function RU(Q){let W="";for(let X=0;X<Q.length;X++){if(Q[X]==="%"&&X+2<Q.length){let Y=Q.slice(X+1,X+3);if(uX(Y)){let $=Y.toUpperCase(),J=String.fromCharCode(parseInt($,16));if(J!=="."&&b5(J))W+=J;else W+="%"+$;X+=2;continue}}if(FU(Q[X]))W+=Q[X];else W+=escape(Q[X])}return W}function PU(Q){let W="";for(let X=0;X<Q.length;X++){if(Q[X]==="%"&&X+2<Q.length){let Y=Q.slice(X+1,X+3);if(uX(Y)){W+="%"+Y.toUpperCase(),X+=2;continue}}W+=escape(Q[X])}return W}function IU(Q){let W=[];if(Q.userinfo!==void 0)W.push(Q.userinfo),W.push("@");if(Q.host!==void 0){let X=unescape(Q.host);if(!E5(X)){let Y=S5(X);if(Y.isIPV6===!0)X=`[${Y.escapedHost}]`;else X=R5(X,!1)}W.push(X)}if(typeof Q.port==="number"||typeof Q.port==="string")W.push(":"),W.push(String(Q.port));return W.length?W.join(""):void 0}P5.exports={nonSimpleDomain:UU,recomposeAuthority:IU,reescapeHostDelimiters:R5,normalizePercentEncoding:SU,normalizePathEncoding:RU,escapePreservingEscapes:PU,removeDotSegments:MU,isIPv4:E5,isUUID:VU,normalizeIPv6:S5,stringArrayToHexStripped:lX}});var v5=P((YI,Z5)=>{var{isUUID:CU}=mX(),TU=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,ZU=["http","https","ws","wss","urn","urn:uuid"];function vU(Q){return ZU.indexOf(Q)!==-1}function cX(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 I5(Q){if(!Q.host)Q.error=Q.error||"HTTP URIs must have a host.";return Q}function C5(Q){let W=String(Q.scheme).toLowerCase()==="https";if(Q.port===(W?443:80)||Q.port==="")Q.port=void 0;if(!Q.path)Q.path="/";return Q}function kU(Q){return Q.secure=cX(Q),Q.resourceName=(Q.path||"/")+(Q.query?"?"+Q.query:""),Q.path=void 0,Q.query=void 0,Q}function _U(Q){if(Q.port===(cX(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[W,X]=Q.resourceName.split("?");Q.path=W&&W!=="/"?W:void 0,Q.query=X,Q.resourceName=void 0}return Q.fragment=void 0,Q}function xU(Q,W){if(!Q.path)return Q.error="URN can not be parsed",Q;let X=Q.path.match(TU);if(X){let Y=W.scheme||Q.scheme||"urn";Q.nid=X[1].toLowerCase(),Q.nss=X[2];let $=`${Y}:${W.nid||Q.nid}`,J=pX($);if(Q.path=void 0,J)Q=J.parse(Q,W)}else Q.error=Q.error||"URN can not be parsed.";return Q}function gU(Q,W){if(Q.nid===void 0)throw Error("URN without nid cannot be serialized");let X=W.scheme||Q.scheme||"urn",Y=Q.nid.toLowerCase(),$=`${X}:${W.nid||Y}`,J=pX($);if(J)Q=J.serialize(Q,W);let G=Q,H=Q.nss;return G.path=`${Y||W.nid}:${H}`,W.skipEscape=!0,G}function yU(Q,W){let X=Q;if(X.uuid=X.nss,X.nss=void 0,!W.tolerant&&(!X.uuid||!CU(X.uuid)))X.error=X.error||"UUID is not valid.";return X}function hU(Q){let W=Q;return W.nss=(Q.uuid||"").toLowerCase(),W}var T5={scheme:"http",domainHost:!0,parse:I5,serialize:C5},fU={scheme:"https",domainHost:T5.domainHost,parse:I5,serialize:C5},Y8={scheme:"ws",domainHost:!0,parse:kU,serialize:_U},uU={scheme:"wss",domainHost:Y8.domainHost,parse:Y8.parse,serialize:Y8.serialize},lU={scheme:"urn",parse:xU,serialize:gU,skipNormalize:!0},mU={scheme:"urn:uuid",parse:yU,serialize:hU,skipNormalize:!0},$8={http:T5,https:fU,ws:Y8,wss:uU,urn:lU,"urn:uuid":mU};Object.setPrototypeOf($8,null);function pX(Q){return Q&&($8[Q]||$8[Q.toLowerCase()])||void 0}Z5.exports={wsIsSecure:cX,SCHEMES:$8,isValidSchemeName:vU,getSchemeHandler:pX}});var h5=P(($I,J8)=>{var{normalizeIPv6:cU,removeDotSegments:C4,recomposeAuthority:pU,normalizePercentEncoding:iU,normalizePathEncoding:nU,escapePreservingEscapes:dU,reescapeHostDelimiters:oU,isIPv4:rU,nonSimpleDomain:tU}=mX(),{SCHEMES:aU,getSchemeHandler:_5}=v5();function sU(Q,W){if(typeof Q==="string")Q=YO(Q,W);else if(typeof Q==="object")Q=k6(e1(Q,W),W);return Q}function eU(Q,W,X){let Y=X?Object.assign({scheme:"null"},X):{scheme:"null"},$=x5(k6(Q,Y),k6(W,Y),Y,!0);return Y.skipEscape=!0,e1($,Y)}function x5(Q,W,X,Y){let $={};if(!Y)Q=k6(e1(Q,X),X),W=k6(e1(W,X),X);if(X=X||{},!X.tolerant&&W.scheme)$.scheme=W.scheme,$.userinfo=W.userinfo,$.host=W.host,$.port=W.port,$.path=C4(W.path||""),$.query=W.query;else{if(W.userinfo!==void 0||W.host!==void 0||W.port!==void 0)$.userinfo=W.userinfo,$.host=W.host,$.port=W.port,$.path=C4(W.path||""),$.query=W.query;else{if(!W.path)if($.path=Q.path,W.query!==void 0)$.query=W.query;else $.query=Q.query;else{if(W.path[0]==="/")$.path=C4(W.path);else{if((Q.userinfo!==void 0||Q.host!==void 0||Q.port!==void 0)&&!Q.path)$.path="/"+W.path;else if(!Q.path)$.path=W.path;else $.path=Q.path.slice(0,Q.path.lastIndexOf("/")+1)+W.path;$.path=C4($.path)}$.query=W.query}$.userinfo=Q.userinfo,$.host=Q.host,$.port=Q.port}$.scheme=Q.scheme}return $.fragment=W.fragment,$}function QO(Q,W,X){let Y=k5(Q,X),$=k5(W,X);return Y!==void 0&&$!==void 0&&Y.toLowerCase()===$.toLowerCase()}function e1(Q,W){let X={host:Q.host,scheme:Q.scheme,userinfo:Q.userinfo,port:Q.port,path:Q.path,query:Q.query,nid:Q.nid,nss:Q.nss,uuid:Q.uuid,fragment:Q.fragment,reference:Q.reference,resourceName:Q.resourceName,secure:Q.secure,error:""},Y=Object.assign({},W),$=[],J=_5(Y.scheme||X.scheme);if(J&&J.serialize)J.serialize(X,Y);if(X.path!==void 0)if(!Y.skipEscape){if(X.path=dU(X.path),X.scheme!==void 0)X.path=X.path.split("%3A").join(":")}else X.path=iU(X.path);if(Y.reference!=="suffix"&&X.scheme)$.push(X.scheme,":");let G=pU(X);if(G!==void 0){if(Y.reference!=="suffix")$.push("//");if($.push(G),X.path&&X.path[0]!=="/")$.push("/")}if(X.path!==void 0){let H=X.path;if(!Y.absolutePath&&(!J||!J.absolutePath))H=C4(H);if(G===void 0&&H[0]==="/"&&H[1]==="/")H="/%2F"+H.slice(2);$.push(H)}if(X.query!==void 0)$.push("?",X.query);if(X.fragment!==void 0)$.push("#",X.fragment);return $.join("")}var WO=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function XO(Q,W){if(W[2]!==void 0&&Q.path&&Q.path[0]!=="/")return'URI path must start with "/" when authority is present.';if(typeof Q.port==="number"&&(Q.port<0||Q.port>65535))return"URI port is malformed.";return}function g5(Q,W){let X=Object.assign({},W),Y={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},$=!1,J=!1;if(X.reference==="suffix")if(X.scheme)Q=X.scheme+":"+Q;else Q="//"+Q;let G=Q.match(WO);if(G){if(Y.scheme=G[1],Y.userinfo=G[3],Y.host=G[4],Y.port=parseInt(G[5],10),Y.path=G[6]||"",Y.query=G[7],Y.fragment=G[8],isNaN(Y.port))Y.port=G[5];let H=XO(Y,G);if(H!==void 0)Y.error=Y.error||H,$=!0;if(Y.host)if(rU(Y.host)===!1){let K=cU(Y.host);Y.host=K.host.toLowerCase(),J=K.isIPV6}else J=!0;if(Y.scheme===void 0&&Y.userinfo===void 0&&Y.host===void 0&&Y.port===void 0&&Y.query===void 0&&!Y.path)Y.reference="same-document";else if(Y.scheme===void 0)Y.reference="relative";else if(Y.fragment===void 0)Y.reference="absolute";else Y.reference="uri";if(X.reference&&X.reference!=="suffix"&&X.reference!==Y.reference)Y.error=Y.error||"URI is not a "+X.reference+" reference.";let B=_5(X.scheme||Y.scheme);if(!X.unicodeSupport&&(!B||!B.unicodeSupport)){if(Y.host&&(X.domainHost||B&&B.domainHost)&&J===!1&&tU(Y.host))try{Y.host=URL.domainToASCII(Y.host.toLowerCase())}catch(A){Y.error=Y.error||"Host's domain name can not be converted to ASCII: "+A}}if(!B||B&&!B.skipNormalize){if(Q.indexOf("%")!==-1){if(Y.scheme!==void 0)Y.scheme=unescape(Y.scheme);if(Y.host!==void 0)Y.host=oU(unescape(Y.host),J)}if(Y.path)Y.path=nU(Y.path);if(Y.fragment)try{Y.fragment=encodeURI(decodeURIComponent(Y.fragment))}catch{Y.error=Y.error||"URI malformed"}}if(B&&B.parse)B.parse(Y,X)}else Y.error=Y.error||"URI can not be parsed.";return{parsed:Y,malformedAuthorityOrPort:$}}function k6(Q,W){return g5(Q,W).parsed}function YO(Q,W){return y5(Q,W).normalized}function y5(Q,W){let{parsed:X,malformedAuthorityOrPort:Y}=g5(Q,W);return{normalized:Y?Q:e1(X,W),malformedAuthorityOrPort:Y}}function k5(Q,W){if(typeof Q==="string"){let{normalized:X,malformedAuthorityOrPort:Y}=y5(Q,W);return Y?void 0:X}if(typeof Q==="object")return e1(Q,W)}var iX={SCHEMES:aU,normalize:sU,resolve:eU,resolveComponent:x5,equal:QO,serialize:e1,parse:k6};J8.exports=iX;J8.exports.default=iX;J8.exports.fastUri=iX});var l5=P((u5)=>{Object.defineProperty(u5,"__esModule",{value:!0});var f5=h5();f5.code='require("ajv/dist/runtime/uri").default';u5.default=f5});var r5=P((q1)=>{Object.defineProperty(q1,"__esModule",{value:!0});q1.CodeGen=q1.Name=q1.nil=q1.stringify=q1.str=q1._=q1.KeywordCxt=void 0;var JO=R4();Object.defineProperty(q1,"KeywordCxt",{enumerable:!0,get:function(){return JO.KeywordCxt}});var _6=m();Object.defineProperty(q1,"_",{enumerable:!0,get:function(){return _6._}});Object.defineProperty(q1,"str",{enumerable:!0,get:function(){return _6.str}});Object.defineProperty(q1,"stringify",{enumerable:!0,get:function(){return _6.stringify}});Object.defineProperty(q1,"nil",{enumerable:!0,get:function(){return _6.nil}});Object.defineProperty(q1,"Name",{enumerable:!0,get:function(){return _6.Name}});Object.defineProperty(q1,"CodeGen",{enumerable:!0,get:function(){return _6.CodeGen}});var GO=Q8(),n5=P4(),HO=EX(),T4=X8(),BO=m(),Z4=E4(),G8=j4(),dX=r(),m5=M5(),AO=l5(),d5=(Q,W)=>new RegExp(Q,W);d5.code="new RegExp";var KO=["removeAdditional","useDefaults","coerceTypes"],zO=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),LO={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."},DO={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},c5=200;function qO(Q){var W,X,Y,$,J,G,H,B,A,K,L,D,z,q,V,w,N,b,S,h,g,j0,y0,X6,j8;let u6=Q.strict,E8=(W=Q.code)===null||W===void 0?void 0:W.optimize,jY=E8===!0||E8===void 0?1:E8||0,EY=(Y=(X=Q.code)===null||X===void 0?void 0:X.regExp)!==null&&Y!==void 0?Y:d5,jB=($=Q.uriResolver)!==null&&$!==void 0?$:AO.default;return{strictSchema:(G=(J=Q.strictSchema)!==null&&J!==void 0?J:u6)!==null&&G!==void 0?G:!0,strictNumbers:(B=(H=Q.strictNumbers)!==null&&H!==void 0?H:u6)!==null&&B!==void 0?B:!0,strictTypes:(K=(A=Q.strictTypes)!==null&&A!==void 0?A:u6)!==null&&K!==void 0?K:"log",strictTuples:(D=(L=Q.strictTuples)!==null&&L!==void 0?L:u6)!==null&&D!==void 0?D:"log",strictRequired:(q=(z=Q.strictRequired)!==null&&z!==void 0?z:u6)!==null&&q!==void 0?q:!1,code:Q.code?{...Q.code,optimize:jY,regExp:EY}:{optimize:jY,regExp:EY},loopRequired:(V=Q.loopRequired)!==null&&V!==void 0?V:c5,loopEnum:(w=Q.loopEnum)!==null&&w!==void 0?w:c5,meta:(N=Q.meta)!==null&&N!==void 0?N:!0,messages:(b=Q.messages)!==null&&b!==void 0?b:!0,inlineRefs:(S=Q.inlineRefs)!==null&&S!==void 0?S:!0,schemaId:(h=Q.schemaId)!==null&&h!==void 0?h:"$id",addUsedSchema:(g=Q.addUsedSchema)!==null&&g!==void 0?g:!0,validateSchema:(j0=Q.validateSchema)!==null&&j0!==void 0?j0:!0,validateFormats:(y0=Q.validateFormats)!==null&&y0!==void 0?y0:!0,unicodeRegExp:(X6=Q.unicodeRegExp)!==null&&X6!==void 0?X6:!0,int32range:(j8=Q.int32range)!==null&&j8!==void 0?j8:!0,uriResolver:jB}}class H8{constructor(Q={}){this.schemas={},this.refs={},this.formats=Object.create(null),this._compilations=new Set,this._loading={},this._cache=new Map,Q=this.opts={...Q,...qO(Q)};let{es5:W,lines:X}=this.opts.code;this.scope=new BO.ValueScope({scope:{},prefixes:zO,es5:W,lines:X}),this.logger=wO(Q.logger);let Y=Q.validateFormats;if(Q.validateFormats=!1,this.RULES=(0,HO.getRules)(),p5.call(this,LO,Q,"NOT SUPPORTED"),p5.call(this,DO,Q,"DEPRECATED","warn"),this._metaOpts=OO.call(this),Q.formats)FO.call(this);if(this._addVocabularies(),this._addDefaultMetaSchema(),Q.keywords)UO.call(this,Q.keywords);if(typeof Q.meta=="object")this.addMetaSchema(Q.meta);VO.call(this),Q.validateFormats=Y}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:Q,meta:W,schemaId:X}=this.opts,Y=m5;if(X==="id")Y={...m5},Y.id=Y.$id,delete Y.$id;if(W&&Q)this.addMetaSchema(Y,Y[X],!1)}defaultMeta(){let{meta:Q,schemaId:W}=this.opts;return this.opts.defaultMeta=typeof Q=="object"?Q[W]||Q:void 0}validate(Q,W){let X;if(typeof Q=="string"){if(X=this.getSchema(Q),!X)throw Error(`no schema with key or ref "${Q}"`)}else X=this.compile(Q);let Y=X(W);if(!("$async"in X))this.errors=X.errors;return Y}compile(Q,W){let X=this._addSchema(Q,W);return X.validate||this._compileSchemaEnv(X)}compileAsync(Q,W){if(typeof this.opts.loadSchema!="function")throw Error("options.loadSchema should be a function");let{loadSchema:X}=this.opts;return Y.call(this,Q,W);async function Y(A,K){await $.call(this,A.$schema);let L=this._addSchema(A,K);return L.validate||J.call(this,L)}async function $(A){if(A&&!this.getSchema(A))await Y.call(this,{$ref:A},!0)}async function J(A){try{return this._compileSchemaEnv(A)}catch(K){if(!(K instanceof n5.default))throw K;return G.call(this,K),await H.call(this,K.missingSchema),J.call(this,A)}}function G({missingSchema:A,missingRef:K}){if(this.refs[A])throw Error(`AnySchema ${A} is loaded but ${K} cannot be resolved`)}async function H(A){let K=await B.call(this,A);if(!this.refs[A])await $.call(this,K.$schema);if(!this.refs[A])this.addSchema(K,A,W)}async function B(A){let K=this._loading[A];if(K)return K;try{return await(this._loading[A]=X(A))}finally{delete this._loading[A]}}}addSchema(Q,W,X,Y=this.opts.validateSchema){if(Array.isArray(Q)){for(let J of Q)this.addSchema(J,void 0,X,Y);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 W=(0,Z4.normalizeId)(W||$),this._checkUnique(W),this.schemas[W]=this._addSchema(Q,X,W,Y,!0),this}addMetaSchema(Q,W,X=this.opts.validateSchema){return this.addSchema(Q,W,!0,X),this}validateSchema(Q,W){if(typeof Q=="boolean")return!0;let X;if(X=Q.$schema,X!==void 0&&typeof X!="string")throw Error("$schema must be a string");if(X=X||this.opts.defaultMeta||this.defaultMeta(),!X)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let Y=this.validate(X,Q);if(!Y&&W){let $="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error($);else throw Error($)}return Y}getSchema(Q){let W;while(typeof(W=i5.call(this,Q))=="string")Q=W;if(W===void 0){let{schemaId:X}=this.opts,Y=new T4.SchemaEnv({schema:{},schemaId:X});if(W=T4.resolveSchema.call(this,Y,Q),!W)return;this.refs[Q]=W}return W.validate||this._compileSchemaEnv(W)}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 W=i5.call(this,Q);if(typeof W=="object")this._cache.delete(W.schema);return delete this.schemas[Q],delete this.refs[Q],this}case"object":{let W=Q;this._cache.delete(W);let X=Q[this.opts.schemaId];if(X)X=(0,Z4.normalizeId)(X),delete this.schemas[X],delete this.refs[X];return this}default:throw Error("ajv.removeSchema: invalid parameter")}}addVocabulary(Q){for(let W of Q)this.addKeyword(W);return this}addKeyword(Q,W){let X;if(typeof Q=="string"){if(X=Q,typeof W=="object")this.logger.warn("these parameters are deprecated, see docs for addKeyword"),W.keyword=X}else if(typeof Q=="object"&&W===void 0){if(W=Q,X=W.keyword,Array.isArray(X)&&!X.length)throw Error("addKeywords: keyword must be string or non-empty array")}else throw Error("invalid addKeywords parameters");if(jO.call(this,X,W),!W)return(0,dX.eachItem)(X,($)=>nX.call(this,$)),this;bO.call(this,W);let Y={...W,type:(0,G8.getJSONTypes)(W.type),schemaType:(0,G8.getJSONTypes)(W.schemaType)};return(0,dX.eachItem)(X,Y.type.length===0?($)=>nX.call(this,$,Y):($)=>Y.type.forEach((J)=>nX.call(this,$,Y,J))),this}getKeyword(Q){let W=this.RULES.all[Q];return typeof W=="object"?W.definition:!!W}removeKeyword(Q){let{RULES:W}=this;delete W.keywords[Q],delete W.all[Q];for(let X of W.rules){let Y=X.rules.findIndex(($)=>$.keyword===Q);if(Y>=0)X.rules.splice(Y,1)}return this}addFormat(Q,W){if(typeof W=="string")W=new RegExp(W);return this.formats[Q]=W,this}errorsText(Q=this.errors,{separator:W=", ",dataVar:X="data"}={}){if(!Q||Q.length===0)return"No errors";return Q.map((Y)=>`${X}${Y.instancePath} ${Y.message}`).reduce((Y,$)=>Y+W+$)}$dataMetaSchema(Q,W){let X=this.RULES.all;Q=JSON.parse(JSON.stringify(Q));for(let Y of W){let $=Y.split("/").slice(1),J=Q;for(let G of $)J=J[G];for(let G in X){let H=X[G];if(typeof H!="object")continue;let{$data:B}=H.definition,A=J[G];if(B&&A)J[G]=o5(A)}}return Q}_removeAllSchemas(Q,W){for(let X in Q){let Y=Q[X];if(!W||W.test(X)){if(typeof Y=="string")delete Q[X];else if(Y&&!Y.meta)this._cache.delete(Y.schema),delete Q[X]}}}_addSchema(Q,W,X,Y=this.opts.validateSchema,$=this.opts.addUsedSchema){let J,{schemaId:G}=this.opts;if(typeof Q=="object")J=Q[G];else if(this.opts.jtd)throw Error("schema must be object");else if(typeof Q!="boolean")throw Error("schema must be object or boolean");let H=this._cache.get(Q);if(H!==void 0)return H;X=(0,Z4.normalizeId)(J||X);let B=Z4.getSchemaRefs.call(this,Q,X);if(H=new T4.SchemaEnv({schema:Q,schemaId:G,meta:W,baseId:X,localRefs:B}),this._cache.set(H.schema,H),$&&!X.startsWith("#")){if(X)this._checkUnique(X);this.refs[X]=H}if(Y)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 T4.compileSchema.call(this,Q);if(!Q.validate)throw Error("ajv implementation error");return Q.validate}_compileMetaSchema(Q){let W=this.opts;this.opts=this._metaOpts;try{T4.compileSchema.call(this,Q)}finally{this.opts=W}}}H8.ValidationError=GO.default;H8.MissingRefError=n5.default;q1.default=H8;function p5(Q,W,X,Y="error"){for(let $ in Q){let J=$;if(J in W)this.logger[Y](`${X}: option ${$}. ${Q[J]}`)}}function i5(Q){return Q=(0,Z4.normalizeId)(Q),this.schemas[Q]||this.refs[Q]}function VO(){let Q=this.opts.schemas;if(!Q)return;if(Array.isArray(Q))this.addSchema(Q);else for(let W in Q)this.addSchema(Q[W],W)}function FO(){for(let Q in this.opts.formats){let W=this.opts.formats[Q];if(W)this.addFormat(Q,W)}}function UO(Q){if(Array.isArray(Q)){this.addVocabulary(Q);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let W in Q){let X=Q[W];if(!X.keyword)X.keyword=W;this.addKeyword(X)}}function OO(){let Q={...this.opts};for(let W of KO)delete Q[W];return Q}var NO={log(){},warn(){},error(){}};function wO(Q){if(Q===!1)return NO;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 MO=/^[a-z_$][a-z0-9_$:-]*$/i;function jO(Q,W){let{RULES:X}=this;if((0,dX.eachItem)(Q,(Y)=>{if(X.keywords[Y])throw Error(`Keyword ${Y} is already defined`);if(!MO.test(Y))throw Error(`Keyword ${Y} has invalid name`)}),!W)return;if(W.$data&&!(("code"in W)||("validate"in W)))throw Error('$data keyword must have "code" or "validate" function')}function nX(Q,W,X){var Y;let $=W===null||W===void 0?void 0:W.post;if(X&&$)throw Error('keyword with "post" flag cannot have "type"');let{RULES:J}=this,G=$?J.post:J.rules.find(({type:B})=>B===X);if(!G)G={type:X,rules:[]},J.rules.push(G);if(J.keywords[Q]=!0,!W)return;let H={keyword:Q,definition:{...W,type:(0,G8.getJSONTypes)(W.type),schemaType:(0,G8.getJSONTypes)(W.schemaType)}};if(W.before)EO.call(this,G,H,W.before);else G.rules.push(H);J.all[Q]=H,(Y=W.implements)===null||Y===void 0||Y.forEach((B)=>this.addKeyword(B))}function EO(Q,W,X){let Y=Q.rules.findIndex(($)=>$.keyword===X);if(Y>=0)Q.rules.splice(Y,0,W);else Q.rules.push(W),this.logger.warn(`rule ${X} is not defined`)}function bO(Q){let{metaSchema:W}=Q;if(W===void 0)return;if(Q.$data&&this.opts.$data)W=o5(W);Q.validateSchema=this.compile(W,!0)}var SO={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function o5(Q){return{anyOf:[Q,SO]}}});var a5=P((t5)=>{Object.defineProperty(t5,"__esModule",{value:!0});var IO={keyword:"id",code(){throw Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};t5.default=IO});var YH=P((WH)=>{Object.defineProperty(WH,"__esModule",{value:!0});WH.callRef=WH.getValidate=void 0;var TO=P4(),s5=l0(),Z0=m(),x6=L1(),e5=X8(),B8=r(),ZO={keyword:"$ref",schemaType:"string",code(Q){let{gen:W,schema:X,it:Y}=Q,{baseId:$,schemaEnv:J,validateName:G,opts:H,self:B}=Y,{root:A}=J;if((X==="#"||X==="#/")&&$===A.baseId)return L();let K=e5.resolveRef.call(B,A,$,X);if(K===void 0)throw new TO.default(Y.opts.uriResolver,$,X);if(K instanceof e5.SchemaEnv)return D(K);return z(K);function L(){if(J===A)return A8(Q,G,J,J.$async);let q=W.scopeValue("root",{ref:A});return A8(Q,Z0._`${q}.validate`,A,A.$async)}function D(q){let V=QH(Q,q);A8(Q,V,q,q.$async)}function z(q){let V=W.scopeValue("schema",H.code.source===!0?{ref:q,code:(0,Z0.stringify)(q)}:{ref:q}),w=W.name("valid"),N=Q.subschema({schema:q,dataTypes:[],schemaPath:Z0.nil,topSchemaRef:V,errSchemaPath:X},w);Q.mergeEvaluated(N),Q.ok(w)}}};function QH(Q,W){let{gen:X}=Q;return W.validate?X.scopeValue("validate",{ref:W.validate}):Z0._`${X.scopeValue("wrapper",{ref:W})}.validate`}WH.getValidate=QH;function A8(Q,W,X,Y){let{gen:$,it:J}=Q,{allErrors:G,schemaEnv:H,opts:B}=J,A=B.passContext?x6.default.this:Z0.nil;if(Y)K();else L();function K(){if(!H.$async)throw Error("async schema referenced by sync schema");let q=$.let("valid");$.try(()=>{if($.code(Z0._`await ${(0,s5.callValidateCode)(Q,W,A)}`),z(W),!G)$.assign(q,!0)},(V)=>{if($.if(Z0._`!(${V} instanceof ${J.ValidationError})`,()=>$.throw(V)),D(V),!G)$.assign(q,!1)}),Q.ok(q)}function L(){Q.result((0,s5.callValidateCode)(Q,W,A),()=>z(W),()=>D(W))}function D(q){let V=Z0._`${q}.errors`;$.assign(x6.default.vErrors,Z0._`${x6.default.vErrors} === null ? ${V} : ${x6.default.vErrors}.concat(${V})`),$.assign(x6.default.errors,Z0._`${x6.default.vErrors}.length`)}function z(q){var V;if(!J.opts.unevaluated)return;let w=(V=X===null||X===void 0?void 0:X.validate)===null||V===void 0?void 0:V.evaluated;if(J.props!==!0)if(w&&!w.dynamicProps){if(w.props!==void 0)J.props=B8.mergeEvaluated.props($,w.props,J.props)}else{let N=$.var("props",Z0._`${q}.evaluated.props`);J.props=B8.mergeEvaluated.props($,N,J.props,Z0.Name)}if(J.items!==!0)if(w&&!w.dynamicItems){if(w.items!==void 0)J.items=B8.mergeEvaluated.items($,w.items,J.items)}else{let N=$.var("items",Z0._`${q}.evaluated.items`);J.items=B8.mergeEvaluated.items($,N,J.items,Z0.Name)}}}WH.callRef=A8;WH.default=ZO});var JH=P(($H)=>{Object.defineProperty($H,"__esModule",{value:!0});var _O=a5(),xO=YH(),gO=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",_O.default,xO.default];$H.default=gO});var HH=P((GH)=>{Object.defineProperty(GH,"__esModule",{value:!0});var K8=m(),v1=K8.operators,z8={maximum:{okStr:"<=",ok:v1.LTE,fail:v1.GT},minimum:{okStr:">=",ok:v1.GTE,fail:v1.LT},exclusiveMaximum:{okStr:"<",ok:v1.LT,fail:v1.GTE},exclusiveMinimum:{okStr:">",ok:v1.GT,fail:v1.LTE}},hO={message:({keyword:Q,schemaCode:W})=>K8.str`must be ${z8[Q].okStr} ${W}`,params:({keyword:Q,schemaCode:W})=>K8._`{comparison: ${z8[Q].okStr}, limit: ${W}}`},fO={keyword:Object.keys(z8),type:"number",schemaType:"number",$data:!0,error:hO,code(Q){let{keyword:W,data:X,schemaCode:Y}=Q;Q.fail$data(K8._`${X} ${z8[W].fail} ${Y} || isNaN(${X})`)}};GH.default=fO});var AH=P((BH)=>{Object.defineProperty(BH,"__esModule",{value:!0});var v4=m(),lO={message:({schemaCode:Q})=>v4.str`must be multiple of ${Q}`,params:({schemaCode:Q})=>v4._`{multipleOf: ${Q}}`},mO={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:lO,code(Q){let{gen:W,data:X,schemaCode:Y,it:$}=Q,J=$.opts.multipleOfPrecision,G=W.let("res"),H=J?v4._`Math.abs(Math.round(${G}) - ${G}) > 1e-${J}`:v4._`${G} !== parseInt(${G})`;Q.fail$data(v4._`(${Y} === 0 || (${G} = ${X}/${Y}, ${H}))`)}};BH.default=mO});var LH=P((zH)=>{Object.defineProperty(zH,"__esModule",{value:!0});function KH(Q){let W=Q.length,X=0,Y=0,$;while(Y<W)if(X++,$=Q.charCodeAt(Y++),$>=55296&&$<=56319&&Y<W){if($=Q.charCodeAt(Y),($&64512)===56320)Y++}return X}zH.default=KH;KH.code='require("ajv/dist/runtime/ucs2length").default'});var qH=P((DH)=>{Object.defineProperty(DH,"__esModule",{value:!0});var Q6=m(),iO=r(),nO=LH(),dO={message({keyword:Q,schemaCode:W}){let X=Q==="maxLength"?"more":"fewer";return Q6.str`must NOT have ${X} than ${W} characters`},params:({schemaCode:Q})=>Q6._`{limit: ${Q}}`},oO={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:dO,code(Q){let{keyword:W,data:X,schemaCode:Y,it:$}=Q,J=W==="maxLength"?Q6.operators.GT:Q6.operators.LT,G=$.opts.unicode===!1?Q6._`${X}.length`:Q6._`${(0,iO.useFunc)(Q.gen,nO.default)}(${X})`;Q.fail$data(Q6._`${G} ${J} ${Y}`)}};DH.default=oO});var FH=P((VH)=>{Object.defineProperty(VH,"__esModule",{value:!0});var tO=l0(),aO=r(),g6=m(),sO={message:({schemaCode:Q})=>g6.str`must match pattern "${Q}"`,params:({schemaCode:Q})=>g6._`{pattern: ${Q}}`},eO={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:sO,code(Q){let{gen:W,data:X,$data:Y,schema:$,schemaCode:J,it:G}=Q,H=G.opts.unicodeRegExp?"u":"";if(Y){let{regExp:B}=G.opts.code,A=B.code==="new RegExp"?g6._`new RegExp`:(0,aO.useFunc)(W,B),K=W.let("valid");W.try(()=>W.assign(K,g6._`${A}(${J}, ${H}).test(${X})`),()=>W.assign(K,!1)),Q.fail$data(g6._`!${K}`)}else{let B=(0,tO.usePattern)(Q,$);Q.fail$data(g6._`!${B}.test(${X})`)}}};VH.default=eO});var OH=P((UH)=>{Object.defineProperty(UH,"__esModule",{value:!0});var k4=m(),WN={message({keyword:Q,schemaCode:W}){let X=Q==="maxProperties"?"more":"fewer";return k4.str`must NOT have ${X} than ${W} properties`},params:({schemaCode:Q})=>k4._`{limit: ${Q}}`},XN={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:WN,code(Q){let{keyword:W,data:X,schemaCode:Y}=Q,$=W==="maxProperties"?k4.operators.GT:k4.operators.LT;Q.fail$data(k4._`Object.keys(${X}).length ${$} ${Y}`)}};UH.default=XN});var wH=P((NH)=>{Object.defineProperty(NH,"__esModule",{value:!0});var _4=l0(),x4=m(),$N=r(),JN={message:({params:{missingProperty:Q}})=>x4.str`must have required property '${Q}'`,params:({params:{missingProperty:Q}})=>x4._`{missingProperty: ${Q}}`},GN={keyword:"required",type:"object",schemaType:"array",$data:!0,error:JN,code(Q){let{gen:W,schema:X,schemaCode:Y,data:$,$data:J,it:G}=Q,{opts:H}=G;if(!J&&X.length===0)return;let B=X.length>=H.loopRequired;if(G.allErrors)A();else K();if(H.strictRequired){let z=Q.parentSchema.properties,{definedProperties:q}=Q.it;for(let V of X)if((z===null||z===void 0?void 0:z[V])===void 0&&!q.has(V)){let w=G.schemaEnv.baseId+G.errSchemaPath,N=`required property "${V}" is not defined at "${w}" (strictRequired)`;(0,$N.checkStrictMode)(G,N,G.opts.strictRequired)}}function A(){if(B||J)Q.block$data(x4.nil,L);else for(let z of X)(0,_4.checkReportMissingProp)(Q,z)}function K(){let z=W.let("missing");if(B||J){let q=W.let("valid",!0);Q.block$data(q,()=>D(z,q)),Q.ok(q)}else W.if((0,_4.checkMissingProp)(Q,X,z)),(0,_4.reportMissingProp)(Q,z),W.else()}function L(){W.forOf("prop",Y,(z)=>{Q.setParams({missingProperty:z}),W.if((0,_4.noPropertyInData)(W,$,z,H.ownProperties),()=>Q.error())})}function D(z,q){Q.setParams({missingProperty:z}),W.forOf(z,Y,()=>{W.assign(q,(0,_4.propertyInData)(W,$,z,H.ownProperties)),W.if((0,x4.not)(q),()=>{Q.error(),W.break()})},x4.nil)}}};NH.default=GN});var jH=P((MH)=>{Object.defineProperty(MH,"__esModule",{value:!0});var g4=m(),BN={message({keyword:Q,schemaCode:W}){let X=Q==="maxItems"?"more":"fewer";return g4.str`must NOT have ${X} than ${W} items`},params:({schemaCode:Q})=>g4._`{limit: ${Q}}`},AN={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:BN,code(Q){let{keyword:W,data:X,schemaCode:Y}=Q,$=W==="maxItems"?g4.operators.GT:g4.operators.LT;Q.fail$data(g4._`${X}.length ${$} ${Y}`)}};MH.default=AN});var L8=P((bH)=>{Object.defineProperty(bH,"__esModule",{value:!0});var EH=ZX();EH.code='require("ajv/dist/runtime/equal").default';bH.default=EH});var RH=P((SH)=>{Object.defineProperty(SH,"__esModule",{value:!0});var oX=j4(),N0=m(),LN=r(),DN=L8(),qN={message:({params:{i:Q,j:W}})=>N0.str`must NOT have duplicate items (items ## ${W} and ${Q} are identical)`,params:({params:{i:Q,j:W}})=>N0._`{i: ${Q}, j: ${W}}`},VN={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:qN,code(Q){let{gen:W,data:X,$data:Y,schema:$,parentSchema:J,schemaCode:G,it:H}=Q;if(!Y&&!$)return;let B=W.let("valid"),A=J.items?(0,oX.getSchemaTypes)(J.items):[];Q.block$data(B,K,N0._`${G} === false`),Q.ok(B);function K(){let q=W.let("i",N0._`${X}.length`),V=W.let("j");Q.setParams({i:q,j:V}),W.assign(B,!0),W.if(N0._`${q} > 1`,()=>(L()?D:z)(q,V))}function L(){return A.length>0&&!A.some((q)=>q==="object"||q==="array")}function D(q,V){let w=W.name("item"),N=(0,oX.checkDataTypes)(A,w,H.opts.strictNumbers,oX.DataType.Wrong),b=W.const("indices",N0._`{}`);W.for(N0._`;${q}--;`,()=>{if(W.let(w,N0._`${X}[${q}]`),W.if(N,N0._`continue`),A.length>1)W.if(N0._`typeof ${w} == "string"`,N0._`${w} += "_"`);W.if(N0._`typeof ${b}[${w}] == "number"`,()=>{W.assign(V,N0._`${b}[${w}]`),Q.error(),W.assign(B,!1).break()}).code(N0._`${b}[${w}] = ${q}`)})}function z(q,V){let w=(0,LN.useFunc)(W,DN.default),N=W.name("outer");W.label(N).for(N0._`;${q}--;`,()=>W.for(N0._`${V} = ${q}; ${V}--;`,()=>W.if(N0._`${w}(${X}[${q}], ${X}[${V}])`,()=>{Q.error(),W.assign(B,!1).break(N)})))}}};SH.default=VN});var IH=P((PH)=>{Object.defineProperty(PH,"__esModule",{value:!0});var rX=m(),UN=r(),ON=L8(),NN={message:"must be equal to constant",params:({schemaCode:Q})=>rX._`{allowedValue: ${Q}}`},wN={keyword:"const",$data:!0,error:NN,code(Q){let{gen:W,data:X,$data:Y,schemaCode:$,schema:J}=Q;if(Y||J&&typeof J=="object")Q.fail$data(rX._`!${(0,UN.useFunc)(W,ON.default)}(${X}, ${$})`);else Q.fail(rX._`${J} !== ${X}`)}};PH.default=wN});var TH=P((CH)=>{Object.defineProperty(CH,"__esModule",{value:!0});var y4=m(),jN=r(),EN=L8(),bN={message:"must be equal to one of the allowed values",params:({schemaCode:Q})=>y4._`{allowedValues: ${Q}}`},SN={keyword:"enum",schemaType:"array",$data:!0,error:bN,code(Q){let{gen:W,data:X,$data:Y,schema:$,schemaCode:J,it:G}=Q;if(!Y&&$.length===0)throw Error("enum must have non-empty array");let H=$.length>=G.opts.loopEnum,B,A=()=>B!==null&&B!==void 0?B:B=(0,jN.useFunc)(W,EN.default),K;if(H||Y)K=W.let("valid"),Q.block$data(K,L);else{if(!Array.isArray($))throw Error("ajv implementation error");let z=W.const("vSchema",J);K=(0,y4.or)(...$.map((q,V)=>D(z,V)))}Q.pass(K);function L(){W.assign(K,!1),W.forOf("v",J,(z)=>W.if(y4._`${A()}(${X}, ${z})`,()=>W.assign(K,!0).break()))}function D(z,q){let V=$[q];return typeof V==="object"&&V!==null?y4._`${A()}(${X}, ${z}[${q}])`:y4._`${X} === ${V}`}}};CH.default=SN});var vH=P((ZH)=>{Object.defineProperty(ZH,"__esModule",{value:!0});var PN=HH(),IN=AH(),CN=qH(),TN=FH(),ZN=OH(),vN=wH(),kN=jH(),_N=RH(),xN=IH(),gN=TH(),yN=[PN.default,IN.default,CN.default,TN.default,ZN.default,vN.default,kN.default,_N.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},xN.default,gN.default];ZH.default=yN});var aX=P((_H)=>{Object.defineProperty(_H,"__esModule",{value:!0});_H.validateAdditionalItems=void 0;var W6=m(),tX=r(),fN={message:({params:{len:Q}})=>W6.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>W6._`{limit: ${Q}}`},uN={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:fN,code(Q){let{parentSchema:W,it:X}=Q,{items:Y}=W;if(!Array.isArray(Y)){(0,tX.checkStrictMode)(X,'"additionalItems" is ignored when "items" is not an array of schemas');return}kH(Q,Y)}};function kH(Q,W){let{gen:X,schema:Y,data:$,keyword:J,it:G}=Q;G.items=!0;let H=X.const("len",W6._`${$}.length`);if(Y===!1)Q.setParams({len:W.length}),Q.pass(W6._`${H} <= ${W.length}`);else if(typeof Y=="object"&&!(0,tX.alwaysValidSchema)(G,Y)){let A=X.var("valid",W6._`${H} <= ${W.length}`);X.if((0,W6.not)(A),()=>B(A)),Q.ok(A)}function B(A){X.forRange("i",W.length,H,(K)=>{if(Q.subschema({keyword:J,dataProp:K,dataPropType:tX.Type.Num},A),!G.allErrors)X.if((0,W6.not)(A),()=>X.break())})}}_H.validateAdditionalItems=kH;_H.default=uN});var sX=P((hH)=>{Object.defineProperty(hH,"__esModule",{value:!0});hH.validateTuple=void 0;var gH=m(),D8=r(),mN=l0(),cN={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(Q){let{schema:W,it:X}=Q;if(Array.isArray(W))return yH(Q,"additionalItems",W);if(X.items=!0,(0,D8.alwaysValidSchema)(X,W))return;Q.ok((0,mN.validateArray)(Q))}};function yH(Q,W,X=Q.schema){let{gen:Y,parentSchema:$,data:J,keyword:G,it:H}=Q;if(K($),H.opts.unevaluated&&X.length&&H.items!==!0)H.items=D8.mergeEvaluated.items(Y,X.length,H.items);let B=Y.name("valid"),A=Y.const("len",gH._`${J}.length`);X.forEach((L,D)=>{if((0,D8.alwaysValidSchema)(H,L))return;Y.if(gH._`${A} > ${D}`,()=>Q.subschema({keyword:G,schemaProp:D,dataProp:D},B)),Q.ok(B)});function K(L){let{opts:D,errSchemaPath:z}=H,q=X.length,V=q===L.minItems&&(q===L.maxItems||L[W]===!1);if(D.strictTuples&&!V){let w=`"${G}" is ${q}-tuple, but minItems or maxItems/${W} are not specified or different at path "${z}"`;(0,D8.checkStrictMode)(H,w,D.strictTuples)}}}hH.validateTuple=yH;hH.default=cN});var lH=P((uH)=>{Object.defineProperty(uH,"__esModule",{value:!0});var iN=sX(),nN={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:(Q)=>(0,iN.validateTuple)(Q,"items")};uH.default=nN});var pH=P((cH)=>{Object.defineProperty(cH,"__esModule",{value:!0});var mH=m(),oN=r(),rN=l0(),tN=aX(),aN={message:({params:{len:Q}})=>mH.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>mH._`{limit: ${Q}}`},sN={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:aN,code(Q){let{schema:W,parentSchema:X,it:Y}=Q,{prefixItems:$}=X;if(Y.items=!0,(0,oN.alwaysValidSchema)(Y,W))return;if($)(0,tN.validateAdditionalItems)(Q,$);else Q.ok((0,rN.validateArray)(Q))}};cH.default=sN});var nH=P((iH)=>{Object.defineProperty(iH,"__esModule",{value:!0});var m0=m(),q8=r(),Qw={message:({params:{min:Q,max:W}})=>W===void 0?m0.str`must contain at least ${Q} valid item(s)`:m0.str`must contain at least ${Q} and no more than ${W} valid item(s)`,params:({params:{min:Q,max:W}})=>W===void 0?m0._`{minContains: ${Q}}`:m0._`{minContains: ${Q}, maxContains: ${W}}`},Ww={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:Qw,code(Q){let{gen:W,schema:X,parentSchema:Y,data:$,it:J}=Q,G,H,{minContains:B,maxContains:A}=Y;if(J.opts.next)G=B===void 0?1:B,H=A;else G=1;let K=W.const("len",m0._`${$}.length`);if(Q.setParams({min:G,max:H}),H===void 0&&G===0){(0,q8.checkStrictMode)(J,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(H!==void 0&&G>H){(0,q8.checkStrictMode)(J,'"minContains" > "maxContains" is always invalid'),Q.fail();return}if((0,q8.alwaysValidSchema)(J,X)){let V=m0._`${K} >= ${G}`;if(H!==void 0)V=m0._`${V} && ${K} <= ${H}`;Q.pass(V);return}J.items=!0;let L=W.name("valid");if(H===void 0&&G===1)z(L,()=>W.if(L,()=>W.break()));else if(G===0){if(W.let(L,!0),H!==void 0)W.if(m0._`${$}.length > 0`,D)}else W.let(L,!1),D();Q.result(L,()=>Q.reset());function D(){let V=W.name("_valid"),w=W.let("count",0);z(V,()=>W.if(V,()=>q(w)))}function z(V,w){W.forRange("i",0,K,(N)=>{Q.subschema({keyword:"contains",dataProp:N,dataPropType:q8.Type.Num,compositeRule:!0},V),w()})}function q(V){if(W.code(m0._`${V}++`),H===void 0)W.if(m0._`${V} >= ${G}`,()=>W.assign(L,!0).break());else if(W.if(m0._`${V} > ${H}`,()=>W.assign(L,!1).break()),G===1)W.assign(L,!0);else W.if(m0._`${V} >= ${G}`,()=>W.assign(L,!0))}}};iH.default=Ww});var sH=P((rH)=>{Object.defineProperty(rH,"__esModule",{value:!0});rH.validateSchemaDeps=rH.validatePropertyDeps=rH.error=void 0;var eX=m(),Yw=r(),h4=l0();rH.error={message:({params:{property:Q,depsCount:W,deps:X}})=>{let Y=W===1?"property":"properties";return eX.str`must have ${Y} ${X} when property ${Q} is present`},params:({params:{property:Q,depsCount:W,deps:X,missingProperty:Y}})=>eX._`{property: ${Q},
8
8
  missingProperty: ${Y},
9
9
  depsCount: ${W},
10
- deps: ${X}}`};var $w={keyword:"dependencies",type:"object",schemaType:"object",error:rH.error,code(Q){let[W,X]=Jw(Q);dH(Q,W),oH(Q,X)}};function Jw({schema:Q}){let W={},X={};for(let Y in Q){if(Y==="__proto__")continue;let $=Array.isArray(Q[Y])?W:X;$[Y]=Q[Y]}return[W,X]}function dH(Q,W=Q.schema){let{gen:X,data:Y,it:$}=Q;if(Object.keys(W).length===0)return;let J=X.let("missing");for(let G in W){let H=W[G];if(H.length===0)continue;let B=(0,h4.propertyInData)(X,Y,G,$.opts.ownProperties);if(Q.setParams({property:G,depsCount:H.length,deps:H.join(", ")}),$.allErrors)X.if(B,()=>{for(let A of H)(0,h4.checkReportMissingProp)(Q,A)});else X.if(eX._`${B} && (${(0,h4.checkMissingProp)(Q,H,J)})`),(0,h4.reportMissingProp)(Q,J),X.else()}}rH.validatePropertyDeps=dH;function oH(Q,W=Q.schema){let{gen:X,data:Y,keyword:$,it:J}=Q,G=X.name("valid");for(let H in W){if((0,Yw.alwaysValidSchema)(J,W[H]))continue;X.if((0,h4.propertyInData)(X,Y,H,J.opts.ownProperties),()=>{let B=Q.subschema({keyword:$,schemaProp:H},G);Q.mergeValidEvaluated(B,G)},()=>X.var(G,!0)),Q.ok(G)}}rH.validateSchemaDeps=oH;rH.default=$w});var W3=P((Q3)=>{Object.defineProperty(Q3,"__esModule",{value:!0});var eH=m(),Bw=r(),Aw={message:"property name must be valid",params:({params:Q})=>eH._`{propertyName: ${Q.propertyName}}`},Kw={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Aw,code(Q){let{gen:W,schema:X,data:Y,it:$}=Q;if((0,Bw.alwaysValidSchema)($,X))return;let J=W.name("valid");W.forIn("key",Y,(G)=>{Q.setParams({propertyName:G}),Q.subschema({keyword:"propertyNames",data:G,dataTypes:["string"],propertyName:G,compositeRule:!0},J),W.if((0,eH.not)(J),()=>{if(Q.error(!0),!$.allErrors)W.break()})}),Q.ok(J)}};Q3.default=Kw});var QY=P((X3)=>{Object.defineProperty(X3,"__esModule",{value:!0});var V8=l0(),Q1=m(),Lw=L1(),F8=r(),Dw={message:"must NOT have additional properties",params:({params:Q})=>Q1._`{additionalProperty: ${Q.additionalProperty}}`},qw={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:Dw,code(Q){let{gen:W,schema:X,parentSchema:Y,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,F8.alwaysValidSchema)(G,X))return;let A=(0,V8.allSchemaProperties)(Y.properties),K=(0,V8.allSchemaProperties)(Y.patternProperties);L(),Q.ok(Q1._`${J} === ${Lw.default.errors}`);function L(){W.forIn("key",$,(w)=>{if(!A.length&&!K.length)q(w);else W.if(D(w),()=>q(w))})}function D(w){let O;if(A.length>8){let b=(0,F8.schemaRefOrVal)(G,Y.properties,"properties");O=(0,V8.isOwnProperty)(W,b,w)}else if(A.length)O=(0,Q1.or)(...A.map((b)=>Q1._`${w} === ${b}`));else O=Q1.nil;if(K.length)O=(0,Q1.or)(O,...K.map((b)=>Q1._`${(0,V8.usePattern)(Q,b)}.test(${w})`));return(0,Q1.not)(O)}function z(w){W.code(Q1._`delete ${$}[${w}]`)}function q(w){if(B.removeAdditional==="all"||B.removeAdditional&&X===!1){z(w);return}if(X===!1){if(Q.setParams({additionalProperty:w}),Q.error(),!H)W.break();return}if(typeof X=="object"&&!(0,F8.alwaysValidSchema)(G,X)){let O=W.name("valid");if(B.removeAdditional==="failing")V(w,O,!1),W.if((0,Q1.not)(O),()=>{Q.reset(),z(w)});else if(V(w,O),!H)W.if((0,Q1.not)(O),()=>W.break())}}function V(w,O,b){let S={keyword:"additionalProperties",dataProp:w,dataPropType:F8.Type.Str};if(b===!1)Object.assign(S,{compositeRule:!0,createErrors:!1,allErrors:!1});Q.subschema(S,O)}}};X3.default=qw});var G3=P((J3)=>{Object.defineProperty(J3,"__esModule",{value:!0});var Fw=R4(),Y3=l0(),WY=r(),$3=QY(),Uw={keyword:"properties",type:"object",schemaType:"object",code(Q){let{gen:W,schema:X,parentSchema:Y,data:$,it:J}=Q;if(J.opts.removeAdditional==="all"&&Y.additionalProperties===void 0)$3.default.code(new Fw.KeywordCxt(J,$3.default,"additionalProperties"));let G=(0,Y3.allSchemaProperties)(X);for(let L of G)J.definedProperties.add(L);if(J.opts.unevaluated&&G.length&&J.props!==!0)J.props=WY.mergeEvaluated.props(W,(0,WY.toHash)(G),J.props);let H=G.filter((L)=>!(0,WY.alwaysValidSchema)(J,X[L]));if(H.length===0)return;let B=W.name("valid");for(let L of H){if(A(L))K(L);else{if(W.if((0,Y3.propertyInData)(W,$,L,J.opts.ownProperties)),K(L),!J.allErrors)W.else().var(B,!0);W.endIf()}Q.it.definedProperties.add(L),Q.ok(B)}function A(L){return J.opts.useDefaults&&!J.compositeRule&&X[L].default!==void 0}function K(L){Q.subschema({keyword:"properties",schemaProp:L,dataProp:L},B)}}};J3.default=Uw});var z3=P((K3)=>{Object.defineProperty(K3,"__esModule",{value:!0});var H3=l0(),U8=m(),B3=r(),A3=r(),Nw={keyword:"patternProperties",type:"object",schemaType:"object",code(Q){let{gen:W,schema:X,data:Y,parentSchema:$,it:J}=Q,{opts:G}=J,H=(0,H3.allSchemaProperties)(X),B=H.filter((V)=>(0,B3.alwaysValidSchema)(J,X[V]));if(H.length===0||B.length===H.length&&(!J.opts.unevaluated||J.props===!0))return;let A=G.strictSchema&&!G.allowMatchingProperties&&$.properties,K=W.name("valid");if(J.props!==!0&&!(J.props instanceof U8.Name))J.props=(0,A3.evaluatedPropsToName)(W,J.props);let{props:L}=J;D();function D(){for(let V of H){if(A)z(V);if(J.allErrors)q(V);else W.var(K,!0),q(V),W.if(K)}}function z(V){for(let w in A)if(new RegExp(V).test(w))(0,B3.checkStrictMode)(J,`property ${w} matches pattern ${V} (use allowMatchingProperties)`)}function q(V){W.forIn("key",Y,(w)=>{W.if(U8._`${(0,H3.usePattern)(Q,V)}.test(${w})`,()=>{let O=B.includes(V);if(!O)Q.subschema({keyword:"patternProperties",schemaProp:V,dataProp:w,dataPropType:A3.Type.Str},K);if(J.opts.unevaluated&&L!==!0)W.assign(U8._`${L}[${w}]`,!0);else if(!O&&!J.allErrors)W.if((0,U8.not)(K),()=>W.break())})})}}};K3.default=Nw});var D3=P((L3)=>{Object.defineProperty(L3,"__esModule",{value:!0});var Mw=r(),jw={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(Q){let{gen:W,schema:X,it:Y}=Q;if((0,Mw.alwaysValidSchema)(Y,X)){Q.fail();return}let $=W.name("valid");Q.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},$),Q.failResult($,()=>Q.reset(),()=>Q.error())},error:{message:"must NOT be valid"}};L3.default=jw});var V3=P((q3)=>{Object.defineProperty(q3,"__esModule",{value:!0});var bw=l0(),Sw={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:bw.validateUnion,error:{message:"must match a schema in anyOf"}};q3.default=Sw});var U3=P((F3)=>{Object.defineProperty(F3,"__esModule",{value:!0});var O8=m(),Pw=r(),Iw={message:"must match exactly one schema in oneOf",params:({params:Q})=>O8._`{passingSchemas: ${Q.passing}}`},Cw={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:Iw,code(Q){let{gen:W,schema:X,parentSchema:Y,it:$}=Q;if(!Array.isArray(X))throw Error("ajv implementation error");if($.opts.discriminator&&Y.discriminator)return;let J=X,G=W.let("valid",!1),H=W.let("passing",null),B=W.name("_valid");Q.setParams({passing:H}),W.block(A),Q.result(G,()=>Q.reset(),()=>Q.error(!0));function A(){J.forEach((K,L)=>{let D;if((0,Pw.alwaysValidSchema)($,K))W.var(B,!0);else D=Q.subschema({keyword:"oneOf",schemaProp:L,compositeRule:!0},B);if(L>0)W.if(O8._`${B} && ${G}`).assign(G,!1).assign(H,O8._`[${H}, ${L}]`).else();W.if(B,()=>{if(W.assign(G,!0),W.assign(H,L),D)Q.mergeEvaluated(D,O8.Name)})})}}};F3.default=Cw});var N3=P((O3)=>{Object.defineProperty(O3,"__esModule",{value:!0});var Zw=r(),vw={keyword:"allOf",schemaType:"array",code(Q){let{gen:W,schema:X,it:Y}=Q;if(!Array.isArray(X))throw Error("ajv implementation error");let $=W.name("valid");X.forEach((J,G)=>{if((0,Zw.alwaysValidSchema)(Y,J))return;let H=Q.subschema({keyword:"allOf",schemaProp:G},$);Q.ok($),Q.mergeEvaluated(H)})}};O3.default=vw});var E3=P((j3)=>{Object.defineProperty(j3,"__esModule",{value:!0});var N8=m(),M3=r(),_w={message:({params:Q})=>N8.str`must match "${Q.ifClause}" schema`,params:({params:Q})=>N8._`{failingKeyword: ${Q.ifClause}}`},xw={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:_w,code(Q){let{gen:W,parentSchema:X,it:Y}=Q;if(X.then===void 0&&X.else===void 0)(0,M3.checkStrictMode)(Y,'"if" without "then" and "else" is ignored');let $=w3(Y,"then"),J=w3(Y,"else");if(!$&&!J)return;let G=W.let("valid",!0),H=W.name("_valid");if(B(),Q.reset(),$&&J){let K=W.let("ifClause");Q.setParams({ifClause:K}),W.if(H,A("then",K),A("else",K))}else if($)W.if(H,A("then"));else W.if((0,N8.not)(H),A("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 A(K,L){return()=>{let D=Q.subschema({keyword:K},H);if(W.assign(G,H),Q.mergeValidEvaluated(D,G),L)W.assign(L,N8._`${K}`);else Q.setParams({ifClause:K})}}}};function w3(Q,W){let X=Q.schema[W];return X!==void 0&&!(0,M3.alwaysValidSchema)(Q,X)}j3.default=xw});var S3=P((b3)=>{Object.defineProperty(b3,"__esModule",{value:!0});var yw=r(),hw={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:Q,parentSchema:W,it:X}){if(W.if===void 0)(0,yw.checkStrictMode)(X,`"${Q}" without "if" is ignored`)}};b3.default=hw});var P3=P((R3)=>{Object.defineProperty(R3,"__esModule",{value:!0});var uw=aX(),lw=lH(),mw=sX(),cw=pH(),pw=nH(),iw=sH(),nw=W3(),dw=QY(),ow=G3(),rw=z3(),tw=D3(),aw=V3(),sw=U3(),ew=N3(),QM=E3(),WM=S3();function XM(Q=!1){let W=[tw.default,aw.default,sw.default,ew.default,QM.default,WM.default,nw.default,dw.default,iw.default,ow.default,rw.default];if(Q)W.push(lw.default,cw.default);else W.push(uw.default,mw.default);return W.push(pw.default),W}R3.default=XM});var C3=P((I3)=>{Object.defineProperty(I3,"__esModule",{value:!0});var z0=m(),$M={message:({schemaCode:Q})=>z0.str`must match format "${Q}"`,params:({schemaCode:Q})=>z0._`{format: ${Q}}`},JM={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:$M,code(Q,W){let{gen:X,data:Y,$data:$,schema:J,schemaCode:G,it:H}=Q,{opts:B,errSchemaPath:A,schemaEnv:K,self:L}=H;if(!B.validateFormats)return;if($)D();else z();function D(){let q=X.scopeValue("formats",{ref:L.formats,code:B.code.formats}),V=X.const("fDef",z0._`${q}[${G}]`),w=X.let("fType"),O=X.let("format");X.if(z0._`typeof ${V} == "object" && !(${V} instanceof RegExp)`,()=>X.assign(w,z0._`${V}.type || "string"`).assign(O,z0._`${V}.validate`),()=>X.assign(w,z0._`"string"`).assign(O,V)),Q.fail$data((0,z0.or)(b(),S()));function b(){if(B.strictSchema===!1)return z0.nil;return z0._`${G} && !${O}`}function S(){let h=K.$async?z0._`(${V}.async ? await ${O}(${Y}) : ${O}(${Y}))`:z0._`${O}(${Y})`,g=z0._`(typeof ${O} == "function" ? ${h} : ${O}.test(${Y}))`;return z0._`${O} && ${O} !== true && ${w} === ${W} && !${g}`}}function z(){let q=L.formats[J];if(!q){b();return}if(q===!0)return;let[V,w,O]=S(q);if(V===W)Q.pass(h());function b(){if(B.strictSchema===!1){L.logger.warn(g());return}throw Error(g());function g(){return`unknown format "${J}" ignored in schema at path "${A}"`}}function S(g){let j0=g instanceof RegExp?(0,z0.regexpCode)(g):B.code.formats?z0._`${B.code.formats}${(0,z0.getProperty)(J)}`:void 0,y0=X.scopeValue("formats",{key:J,ref:g,code:j0});if(typeof g=="object"&&!(g instanceof RegExp))return[g.type||"string",g.validate,z0._`${y0}.validate`];return["string",g,y0]}function h(){if(typeof q=="object"&&!(q instanceof RegExp)&&q.async){if(!K.$async)throw Error("async format in sync schema");return z0._`await ${O}(${Y})`}return typeof w=="function"?z0._`${O}(${Y})`:z0._`${O}.test(${Y})`}}}};I3.default=JM});var Z3=P((T3)=>{Object.defineProperty(T3,"__esModule",{value:!0});var HM=C3(),BM=[HM.default];T3.default=BM});var _3=P((v3)=>{Object.defineProperty(v3,"__esModule",{value:!0});v3.contentVocabulary=v3.metadataVocabulary=void 0;v3.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];v3.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var y3=P((g3)=>{Object.defineProperty(g3,"__esModule",{value:!0});var zM=JH(),LM=vH(),DM=P3(),qM=Z3(),x3=_3(),VM=[zM.default,LM.default,(0,DM.default)(),qM.default,x3.metadataVocabulary,x3.contentVocabulary];g3.default=VM});var l3=P((f3)=>{Object.defineProperty(f3,"__esModule",{value:!0});f3.DiscrError=void 0;var h3;(function(Q){Q.Tag="tag",Q.Mapping="mapping"})(h3||(f3.DiscrError=h3={}))});var p3=P((c3)=>{Object.defineProperty(c3,"__esModule",{value:!0});var y6=m(),XY=l3(),m3=X8(),UM=P4(),OM=r(),NM={message:({params:{discrError:Q,tagName:W}})=>Q===XY.DiscrError.Tag?`tag "${W}" must be string`:`value of tag "${W}" must be in oneOf`,params:({params:{discrError:Q,tag:W,tagName:X}})=>y6._`{error: ${Q}, tag: ${X}, tagValue: ${W}}`},wM={keyword:"discriminator",type:"object",schemaType:"object",error:NM,code(Q){let{gen:W,data:X,schema:Y,parentSchema:$,it:J}=Q,{oneOf:G}=$;if(!J.opts.discriminator)throw Error("discriminator: requires discriminator option");let H=Y.propertyName;if(typeof H!="string")throw Error("discriminator: requires propertyName");if(Y.mapping)throw Error("discriminator: mapping is not supported");if(!G)throw Error("discriminator: requires oneOf keyword");let B=W.let("valid",!1),A=W.const("tag",y6._`${X}${(0,y6.getProperty)(H)}`);W.if(y6._`typeof ${A} == "string"`,()=>K(),()=>Q.error(!1,{discrError:XY.DiscrError.Tag,tag:A,tagName:H})),Q.ok(B);function K(){let z=D();W.if(!1);for(let q in z)W.elseIf(y6._`${A} === ${q}`),W.assign(B,L(z[q]));W.else(),Q.error(!1,{discrError:XY.DiscrError.Mapping,tag:A,tagName:H}),W.endIf()}function L(z){let q=W.name("valid"),V=Q.subschema({keyword:"oneOf",schemaProp:z},q);return Q.mergeEvaluated(V,y6.Name),q}function D(){var z;let q={},V=O($),w=!0;for(let h=0;h<G.length;h++){let g=G[h];if((g===null||g===void 0?void 0:g.$ref)&&!(0,OM.schemaHasRulesButRef)(g,J.self.RULES)){let y0=g.$ref;if(g=m3.resolveRef.call(J.self,J.schemaEnv.root,J.baseId,y0),g instanceof m3.SchemaEnv)g=g.schema;if(g===void 0)throw new UM.default(J.opts.uriResolver,J.baseId,y0)}let j0=(z=g===null||g===void 0?void 0:g.properties)===null||z===void 0?void 0:z[H];if(typeof j0!="object")throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${H}"`);w=w&&(V||O(g)),b(j0,h)}if(!w)throw Error(`discriminator: "${H}" must be required`);return q;function O({required:h}){return Array.isArray(h)&&h.includes(H)}function b(h,g){if(h.const)S(h.const,g);else if(h.enum)for(let j0 of h.enum)S(j0,g);else throw Error(`discriminator: "properties/${H}" must have "const" or "enum"`)}function S(h,g){if(typeof h!="string"||h in q)throw Error(`discriminator: "${H}" values must be unique strings`);q[h]=g}}}};c3.default=wM});var i3=P((sI,jM)=>{jM.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 $Y=P((v0,YY)=>{Object.defineProperty(v0,"__esModule",{value:!0});v0.MissingRefError=v0.ValidationError=v0.CodeGen=v0.Name=v0.nil=v0.stringify=v0.str=v0._=v0.KeywordCxt=v0.Ajv=void 0;var EM=r5(),bM=y3(),SM=p3(),n3=i3(),RM=["/properties"],w8="http://json-schema.org/draft-07/schema";class f4 extends EM.default{_addVocabularies(){if(super._addVocabularies(),bM.default.forEach((Q)=>this.addVocabulary(Q)),this.opts.discriminator)this.addKeyword(SM.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let Q=this.opts.$data?this.$dataMetaSchema(n3,RM):n3;this.addMetaSchema(Q,w8,!1),this.refs["http://json-schema.org/schema"]=w8}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(w8)?w8:void 0)}}v0.Ajv=f4;YY.exports=v0=f4;YY.exports.Ajv=f4;Object.defineProperty(v0,"__esModule",{value:!0});v0.default=f4;var PM=R4();Object.defineProperty(v0,"KeywordCxt",{enumerable:!0,get:function(){return PM.KeywordCxt}});var h6=m();Object.defineProperty(v0,"_",{enumerable:!0,get:function(){return h6._}});Object.defineProperty(v0,"str",{enumerable:!0,get:function(){return h6.str}});Object.defineProperty(v0,"stringify",{enumerable:!0,get:function(){return h6.stringify}});Object.defineProperty(v0,"nil",{enumerable:!0,get:function(){return h6.nil}});Object.defineProperty(v0,"Name",{enumerable:!0,get:function(){return h6.Name}});Object.defineProperty(v0,"CodeGen",{enumerable:!0,get:function(){return h6.CodeGen}});var IM=Q8();Object.defineProperty(v0,"ValidationError",{enumerable:!0,get:function(){return IM.default}});var CM=P4();Object.defineProperty(v0,"MissingRefError",{enumerable:!0,get:function(){return CM.default}})});var XB=P((QB)=>{Object.defineProperty(QB,"__esModule",{value:!0});QB.formatNames=QB.fastFormats=QB.fullFormats=void 0;function H1(Q,W){return{validate:Q,compare:W}}QB.fullFormats={date:H1(t3,BY),time:H1(GY(!0),AY),"date-time":H1(d3(!0),s3),"iso-time":H1(GY(),a3),"iso-date-time":H1(d3(),e3),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:yM,"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:pM,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:hM,int32:{type:"number",validate:lM},int64:{type:"number",validate:mM},float:{type:"number",validate:r3},double:{type:"number",validate:r3},password:!0,binary:!0};QB.fastFormats={...QB.fullFormats,date:H1(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,BY),time:H1(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,AY),"date-time":H1(/^\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,s3),"iso-time":H1(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,a3),"iso-date-time":H1(/^\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,e3),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};QB.formatNames=Object.keys(QB.fullFormats);function vM(Q){return Q%4===0&&(Q%100!==0||Q%400===0)}var kM=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,_M=[0,31,28,31,30,31,30,31,31,30,31,30,31];function t3(Q){let W=kM.exec(Q);if(!W)return!1;let X=+W[1],Y=+W[2],$=+W[3];return Y>=1&&Y<=12&&$>=1&&$<=(Y===2&&vM(X)?29:_M[Y])}function BY(Q,W){if(!(Q&&W))return;if(Q>W)return 1;if(Q<W)return-1;return 0}var JY=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function GY(Q){return function(X){let Y=JY.exec(X);if(!Y)return!1;let $=+Y[1],J=+Y[2],G=+Y[3],H=Y[4],B=Y[5]==="-"?-1:1,A=+(Y[6]||0),K=+(Y[7]||0);if(A>23||K>59||Q&&!H)return!1;if($<=23&&J<=59&&G<60)return!0;let L=J-K*B,D=$-A*B-(L<0?1:0);return(D===23||D===-1)&&(L===59||L===-1)&&G<61}}function AY(Q,W){if(!(Q&&W))return;let X=new Date("2020-01-01T"+Q).valueOf(),Y=new Date("2020-01-01T"+W).valueOf();if(!(X&&Y))return;return X-Y}function a3(Q,W){if(!(Q&&W))return;let X=JY.exec(Q),Y=JY.exec(W);if(!(X&&Y))return;if(Q=X[1]+X[2]+X[3],W=Y[1]+Y[2]+Y[3],Q>W)return 1;if(Q<W)return-1;return 0}var HY=/t|\s/i;function d3(Q){let W=GY(Q);return function(Y){let $=Y.split(HY);return $.length===2&&t3($[0])&&W($[1])}}function s3(Q,W){if(!(Q&&W))return;let X=new Date(Q).valueOf(),Y=new Date(W).valueOf();if(!(X&&Y))return;return X-Y}function e3(Q,W){if(!(Q&&W))return;let[X,Y]=Q.split(HY),[$,J]=W.split(HY),G=BY(X,$);if(G===void 0)return;return G||AY(Y,J)}var xM=/\/|:/,gM=/^(?:[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 yM(Q){return xM.test(Q)&&gM.test(Q)}var o3=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function hM(Q){return o3.lastIndex=0,o3.test(Q)}var fM=-2147483648,uM=2147483647;function lM(Q){return Number.isInteger(Q)&&Q<=uM&&Q>=fM}function mM(Q){return Number.isInteger(Q)}function r3(){return!0}var cM=/[^\\]\\Z/;function pM(Q){if(cM.test(Q))return!1;try{return new RegExp(Q),!0}catch(W){return!1}}});var $B=P((YB)=>{Object.defineProperty(YB,"__esModule",{value:!0});YB.formatLimitDefinition=void 0;var nM=$Y(),W1=m(),k1=W1.operators,M8={formatMaximum:{okStr:"<=",ok:k1.LTE,fail:k1.GT},formatMinimum:{okStr:">=",ok:k1.GTE,fail:k1.LT},formatExclusiveMaximum:{okStr:"<",ok:k1.LT,fail:k1.GTE},formatExclusiveMinimum:{okStr:">",ok:k1.GT,fail:k1.LTE}},dM={message:({keyword:Q,schemaCode:W})=>W1.str`should be ${M8[Q].okStr} ${W}`,params:({keyword:Q,schemaCode:W})=>W1._`{comparison: ${M8[Q].okStr}, limit: ${W}}`};YB.formatLimitDefinition={keyword:Object.keys(M8),type:"string",schemaType:"string",$data:!0,error:dM,code(Q){let{gen:W,data:X,schemaCode:Y,keyword:$,it:J}=Q,{opts:G,self:H}=J;if(!G.validateFormats)return;let B=new nM.KeywordCxt(J,H.RULES.all.format.definition,"format");if(B.$data)A();else K();function A(){let D=W.scopeValue("formats",{ref:H.formats,code:G.code.formats}),z=W.const("fmt",W1._`${D}[${B.schemaCode}]`);Q.fail$data((0,W1.or)(W1._`typeof ${z} != "object"`,W1._`${z} instanceof RegExp`,W1._`typeof ${z}.compare != "function"`,L(z)))}function K(){let D=B.schema,z=H.formats[D];if(!z||z===!0)return;if(typeof z!="object"||z instanceof RegExp||typeof z.compare!="function")throw Error(`"${$}": format "${D}" does not define "compare" function`);let q=W.scopeValue("formats",{key:D,ref:z,code:G.code.formats?W1._`${G.code.formats}${(0,W1.getProperty)(D)}`:void 0});Q.fail$data(L(q))}function L(D){return W1._`${D}.compare(${X}, ${Y}) ${M8[$].fail} 0`}},dependencies:["format"]};var oM=(Q)=>{return Q.addKeyword(YB.formatLimitDefinition),Q};YB.default=oM});var BB=P((u4,HB)=>{Object.defineProperty(u4,"__esModule",{value:!0});var f6=XB(),tM=$B(),LY=m(),JB=new LY.Name("fullFormats"),aM=new LY.Name("fastFormats"),DY=(Q,W={keywords:!0})=>{if(Array.isArray(W))return GB(Q,W,f6.fullFormats,JB),Q;let[X,Y]=W.mode==="fast"?[f6.fastFormats,aM]:[f6.fullFormats,JB],$=W.formats||f6.formatNames;if(GB(Q,$,X,Y),W.keywords)(0,tM.default)(Q);return Q};DY.get=(Q,W="full")=>{let Y=(W==="fast"?f6.fastFormats:f6.fullFormats)[Q];if(!Y)throw Error(`Unknown format "${Q}"`);return Y};function GB(Q,W,X,Y){var $,J;($=(J=Q.opts.code).formats)!==null&&$!==void 0||(J.formats=LY._`require("ajv-formats/dist/formats").${Y}`);for(let G of W)Q.addFormat(G,X[G])}HB.exports=u4=DY;Object.defineProperty(u4,"__esModule",{value:!0});u4.default=DY});import CJ from"process";var vB=Object.freeze({status:"aborted"});function U(Q,W,X){function Y(H,B){var A;Object.defineProperty(H,"_zod",{value:H._zod??{},enumerable:!1}),(A=H._zod).traits??(A.traits=new Set),H._zod.traits.add(Q),W(H,B);for(let K in G.prototype)if(!(K in H))Object.defineProperty(H,K,{value:G.prototype[K].bind(H)});H._zod.constr=G,H._zod.def=B}let $=X?.Parent??Object;class J extends ${}Object.defineProperty(J,"name",{value:Q});function G(H){var B;let A=X?.Parent?new J:this;Y(A,H),(B=A._zod).deferred??(B.deferred=[]);for(let K of A._zod.deferred)K();return A}return Object.defineProperty(G,"init",{value:Y}),Object.defineProperty(G,Symbol.hasInstance,{value:(H)=>{if(X?.Parent&&H instanceof X.Parent)return!0;return H?._zod?.traits?.has(Q)}}),Object.defineProperty(G,"name",{value:Q}),G}var kB=Symbol("zod_brand");class V1 extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}var m4={};function k0(Q){if(Q)Object.assign(m4,Q);return m4}var i={};S8(i,{unwrapMessage:()=>l6,stringifyPrimitive:()=>i4,required:()=>tB,randomString:()=>lB,propertyKeyTypes:()=>Z8,promiseAllObject:()=>uB,primitiveTypes:()=>SY,prefixIssues:()=>X1,pick:()=>iB,partial:()=>rB,optionalKeys:()=>v8,omit:()=>nB,numKeys:()=>mB,nullish:()=>p6,normalizeParams:()=>_,merge:()=>oB,jsonStringifyReplacer:()=>P8,joinValues:()=>c4,issue:()=>_8,isPlainObject:()=>$6,isObject:()=>Y6,getSizableOrigin:()=>PY,getParsedType:()=>cB,getLengthableOrigin:()=>n6,getEnumValues:()=>m6,getElementAtPath:()=>fB,floatSafeRemainder:()=>I8,finalizeIssue:()=>c0,extend:()=>dB,escapeRegex:()=>F1,esc:()=>x1,defineLazy:()=>Q0,createTransparentProxy:()=>pB,clone:()=>_0,cleanRegex:()=>i6,cleanEnum:()=>aB,captureStackTrace:()=>p4,cached:()=>c6,assignProp:()=>C8,assertNotEqual:()=>xB,assertNever:()=>yB,assertIs:()=>gB,assertEqual:()=>_B,assert:()=>hB,allowsEval:()=>T8,aborted:()=>g1,NUMBER_FORMAT_RANGES:()=>k8,Class:()=>IY,BIGINT_FORMAT_RANGES:()=>RY});function _B(Q){return Q}function xB(Q){return Q}function gB(Q){}function yB(Q){throw Error()}function hB(Q){}function m6(Q){let W=Object.values(Q).filter((Y)=>typeof Y==="number");return Object.entries(Q).filter(([Y,$])=>W.indexOf(+Y)===-1).map(([Y,$])=>$)}function c4(Q,W="|"){return Q.map((X)=>i4(X)).join(W)}function P8(Q,W){if(typeof W==="bigint")return W.toString();return W}function c6(Q){return{get value(){{let X=Q();return Object.defineProperty(this,"value",{value:X}),X}throw Error("cached value already set")}}}function p6(Q){return Q===null||Q===void 0}function i6(Q){let W=Q.startsWith("^")?1:0,X=Q.endsWith("$")?Q.length-1:Q.length;return Q.slice(W,X)}function I8(Q,W){let X=(Q.toString().split(".")[1]||"").length,Y=(W.toString().split(".")[1]||"").length,$=X>Y?X:Y,J=Number.parseInt(Q.toFixed($).replace(".","")),G=Number.parseInt(W.toFixed($).replace(".",""));return J%G/10**$}function Q0(Q,W,X){Object.defineProperty(Q,W,{get(){{let $=X();return Q[W]=$,$}throw Error("cached value already set")},set($){Object.defineProperty(Q,W,{value:$})},configurable:!0})}function C8(Q,W,X){Object.defineProperty(Q,W,{value:X,writable:!0,enumerable:!0,configurable:!0})}function fB(Q,W){if(!W)return Q;return W.reduce((X,Y)=>X?.[Y],Q)}function uB(Q){let W=Object.keys(Q),X=W.map((Y)=>Q[Y]);return Promise.all(X).then((Y)=>{let $={};for(let J=0;J<W.length;J++)$[W[J]]=Y[J];return $})}function lB(Q=10){let X="";for(let Y=0;Y<Q;Y++)X+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return X}function x1(Q){return JSON.stringify(Q)}var p4=Error.captureStackTrace?Error.captureStackTrace:(...Q)=>{};function Y6(Q){return typeof Q==="object"&&Q!==null&&!Array.isArray(Q)}var T8=c6(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(Q){return!1}});function $6(Q){if(Y6(Q)===!1)return!1;let W=Q.constructor;if(W===void 0)return!0;let X=W.prototype;if(Y6(X)===!1)return!1;if(Object.prototype.hasOwnProperty.call(X,"isPrototypeOf")===!1)return!1;return!0}function mB(Q){let W=0;for(let X in Q)if(Object.prototype.hasOwnProperty.call(Q,X))W++;return W}var cB=(Q)=>{let W=typeof Q;switch(W){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: ${W}`)}},Z8=new Set(["string","number","symbol"]),SY=new Set(["string","number","bigint","boolean","symbol","undefined"]);function F1(Q){return Q.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function _0(Q,W,X){let Y=new Q._zod.constr(W??Q._zod.def);if(!W||X?.parent)Y._zod.parent=Q;return Y}function _(Q){let W=Q;if(!W)return{};if(typeof W==="string")return{error:()=>W};if(W?.message!==void 0){if(W?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");W.error=W.message}if(delete W.message,typeof W.error==="string")return{...W,error:()=>W.error};return W}function pB(Q){let W;return new Proxy({},{get(X,Y,$){return W??(W=Q()),Reflect.get(W,Y,$)},set(X,Y,$,J){return W??(W=Q()),Reflect.set(W,Y,$,J)},has(X,Y){return W??(W=Q()),Reflect.has(W,Y)},deleteProperty(X,Y){return W??(W=Q()),Reflect.deleteProperty(W,Y)},ownKeys(X){return W??(W=Q()),Reflect.ownKeys(W)},getOwnPropertyDescriptor(X,Y){return W??(W=Q()),Reflect.getOwnPropertyDescriptor(W,Y)},defineProperty(X,Y,$){return W??(W=Q()),Reflect.defineProperty(W,Y,$)}})}function i4(Q){if(typeof Q==="bigint")return Q.toString()+"n";if(typeof Q==="string")return`"${Q}"`;return`${Q}`}function v8(Q){return Object.keys(Q).filter((W)=>{return Q[W]._zod.optin==="optional"&&Q[W]._zod.optout==="optional"})}var k8={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]},RY={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function iB(Q,W){let X={},Y=Q._zod.def;for(let $ in W){if(!($ in Y.shape))throw Error(`Unrecognized key: "${$}"`);if(!W[$])continue;X[$]=Y.shape[$]}return _0(Q,{...Q._zod.def,shape:X,checks:[]})}function nB(Q,W){let X={...Q._zod.def.shape},Y=Q._zod.def;for(let $ in W){if(!($ in Y.shape))throw Error(`Unrecognized key: "${$}"`);if(!W[$])continue;delete X[$]}return _0(Q,{...Q._zod.def,shape:X,checks:[]})}function dB(Q,W){if(!$6(W))throw Error("Invalid input to extend: expected a plain object");let X={...Q._zod.def,get shape(){let Y={...Q._zod.def.shape,...W};return C8(this,"shape",Y),Y},checks:[]};return _0(Q,X)}function oB(Q,W){return _0(Q,{...Q._zod.def,get shape(){let X={...Q._zod.def.shape,...W._zod.def.shape};return C8(this,"shape",X),X},catchall:W._zod.def.catchall,checks:[]})}function rB(Q,W,X){let Y=W._zod.def.shape,$={...Y};if(X)for(let J in X){if(!(J in Y))throw Error(`Unrecognized key: "${J}"`);if(!X[J])continue;$[J]=Q?new Q({type:"optional",innerType:Y[J]}):Y[J]}else for(let J in Y)$[J]=Q?new Q({type:"optional",innerType:Y[J]}):Y[J];return _0(W,{...W._zod.def,shape:$,checks:[]})}function tB(Q,W,X){let Y=W._zod.def.shape,$={...Y};if(X)for(let J in X){if(!(J in $))throw Error(`Unrecognized key: "${J}"`);if(!X[J])continue;$[J]=new Q({type:"nonoptional",innerType:Y[J]})}else for(let J in Y)$[J]=new Q({type:"nonoptional",innerType:Y[J]});return _0(W,{...W._zod.def,shape:$,checks:[]})}function g1(Q,W=0){for(let X=W;X<Q.issues.length;X++)if(Q.issues[X]?.continue!==!0)return!0;return!1}function X1(Q,W){return W.map((X)=>{var Y;return(Y=X).path??(Y.path=[]),X.path.unshift(Q),X})}function l6(Q){return typeof Q==="string"?Q:Q?.message}function c0(Q,W,X){let Y={...Q,path:Q.path??[]};if(!Q.message){let $=l6(Q.inst?._zod.def?.error?.(Q))??l6(W?.error?.(Q))??l6(X.customError?.(Q))??l6(X.localeError?.(Q))??"Invalid input";Y.message=$}if(delete Y.inst,delete Y.continue,!W?.reportInput)delete Y.input;return Y}function PY(Q){if(Q instanceof Set)return"set";if(Q instanceof Map)return"map";if(Q instanceof File)return"file";return"unknown"}function n6(Q){if(Array.isArray(Q))return"array";if(typeof Q==="string")return"string";return"unknown"}function _8(...Q){let[W,X,Y]=Q;if(typeof W==="string")return{message:W,code:"custom",input:X,inst:Y};return{...W}}function aB(Q){return Object.entries(Q).filter(([W,X])=>{return Number.isNaN(Number.parseInt(W,10))}).map((W)=>W[1])}class IY{constructor(...Q){}}var CY=(Q,W)=>{Q.name="$ZodError",Object.defineProperty(Q,"_zod",{value:Q._zod,enumerable:!1}),Object.defineProperty(Q,"issues",{value:W,enumerable:!1}),Object.defineProperty(Q,"message",{get(){return JSON.stringify(W,P8,2)},enumerable:!0}),Object.defineProperty(Q,"toString",{value:()=>Q.message,enumerable:!1})},n4=U("$ZodError",CY),d6=U("$ZodError",CY,{Parent:Error});function x8(Q,W=(X)=>X.message){let X={},Y=[];for(let $ of Q.issues)if($.path.length>0)X[$.path[0]]=X[$.path[0]]||[],X[$.path[0]].push(W($));else Y.push(W($));return{formErrors:Y,fieldErrors:X}}function g8(Q,W){let X=W||function(J){return J.message},Y={_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)Y._errors.push(X(G));else{let H=Y,B=0;while(B<G.path.length){let A=G.path[B];if(B!==G.path.length-1)H[A]=H[A]||{_errors:[]};else H[A]=H[A]||{_errors:[]},H[A]._errors.push(X(G));H=H[A],B++}}};return $(Q),Y}var y8=(Q)=>(W,X,Y,$)=>{let J=Y?Object.assign(Y,{async:!1}):{async:!1},G=W._zod.run({value:X,issues:[]},J);if(G instanceof Promise)throw new V1;if(G.issues.length){let H=new($?.Err??Q)(G.issues.map((B)=>c0(B,J,k0())));throw p4(H,$?.callee),H}return G.value},h8=y8(d6),f8=(Q)=>async(W,X,Y,$)=>{let J=Y?Object.assign(Y,{async:!0}):{async:!0},G=W._zod.run({value:X,issues:[]},J);if(G instanceof Promise)G=await G;if(G.issues.length){let H=new($?.Err??Q)(G.issues.map((B)=>c0(B,J,k0())));throw p4(H,$?.callee),H}return G.value},u8=f8(d6),l8=(Q)=>(W,X,Y)=>{let $=Y?{...Y,async:!1}:{async:!1},J=W._zod.run({value:X,issues:[]},$);if(J instanceof Promise)throw new V1;return J.issues.length?{success:!1,error:new(Q??n4)(J.issues.map((G)=>c0(G,$,k0())))}:{success:!0,data:J.value}},y1=l8(d6),m8=(Q)=>async(W,X,Y)=>{let $=Y?Object.assign(Y,{async:!0}):{async:!0},J=W._zod.run({value:X,issues:[]},$);if(J instanceof Promise)J=await J;return J.issues.length?{success:!1,error:new Q(J.issues.map((G)=>c0(G,$,k0())))}:{success:!0,data:J.value}},h1=m8(d6);var TY=/^[cC][^\s-]{8,}$/,ZY=/^[0-9a-z]+$/,vY=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,kY=/^[0-9a-vA-V]{20}$/,_Y=/^[A-Za-z0-9]{27}$/,xY=/^[a-zA-Z0-9_-]{21}$/,gY=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var yY=/^([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})$/,c8=(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 hY=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;function fY(){return new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")}var uY=/^(?:(?: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])$/,lY=/^(([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})$/,mY=/^((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])$/,cY=/^(([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])$/,pY=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,p8=/^[A-Za-z0-9_-]*$/,iY=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var nY=/^\+(?:[0-9]){6,14}[0-9]$/,dY="(?:(?:\\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])))",oY=new RegExp(`^${dY}$`);function rY(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 tY(Q){return new RegExp(`^${rY(Q)}$`)}function aY(Q){let W=rY({precision:Q.precision}),X=["Z"];if(Q.local)X.push("");if(Q.offset)X.push("([+-]\\d{2}:\\d{2})");let Y=`${W}(?:${X.join("|")})`;return new RegExp(`^${dY}T(?:${Y})$`)}var sY=(Q)=>{let W=Q?`[\\s\\S]{${Q?.minimum??0},${Q?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${W}$`)};var eY=/^\d+$/,Q$=/^-?\d+(?:\.\d+)?/i,W$=/true|false/i,X$=/null/i;var Y$=/^[^A-Z]*$/,$$=/^[^a-z]*$/;var V0=U("$ZodCheck",(Q,W)=>{var X;Q._zod??(Q._zod={}),Q._zod.def=W,(X=Q._zod).onattach??(X.onattach=[])}),J$={number:"number",bigint:"bigint",object:"date"},i8=U("$ZodCheckLessThan",(Q,W)=>{V0.init(Q,W);let X=J$[typeof W.value];Q._zod.onattach.push((Y)=>{let $=Y._zod.bag,J=(W.inclusive?$.maximum:$.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(W.value<J)if(W.inclusive)$.maximum=W.value;else $.exclusiveMaximum=W.value}),Q._zod.check=(Y)=>{if(W.inclusive?Y.value<=W.value:Y.value<W.value)return;Y.issues.push({origin:X,code:"too_big",maximum:W.value,input:Y.value,inclusive:W.inclusive,inst:Q,continue:!W.abort})}}),n8=U("$ZodCheckGreaterThan",(Q,W)=>{V0.init(Q,W);let X=J$[typeof W.value];Q._zod.onattach.push((Y)=>{let $=Y._zod.bag,J=(W.inclusive?$.minimum:$.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(W.value>J)if(W.inclusive)$.minimum=W.value;else $.exclusiveMinimum=W.value}),Q._zod.check=(Y)=>{if(W.inclusive?Y.value>=W.value:Y.value>W.value)return;Y.issues.push({origin:X,code:"too_small",minimum:W.value,input:Y.value,inclusive:W.inclusive,inst:Q,continue:!W.abort})}}),G$=U("$ZodCheckMultipleOf",(Q,W)=>{V0.init(Q,W),Q._zod.onattach.push((X)=>{var Y;(Y=X._zod.bag).multipleOf??(Y.multipleOf=W.value)}),Q._zod.check=(X)=>{if(typeof X.value!==typeof W.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof X.value==="bigint"?X.value%W.value===BigInt(0):I8(X.value,W.value)===0)return;X.issues.push({origin:typeof X.value,code:"not_multiple_of",divisor:W.value,input:X.value,inst:Q,continue:!W.abort})}}),H$=U("$ZodCheckNumberFormat",(Q,W)=>{V0.init(Q,W),W.format=W.format||"float64";let X=W.format?.includes("int"),Y=X?"int":"number",[$,J]=k8[W.format];Q._zod.onattach.push((G)=>{let H=G._zod.bag;if(H.format=W.format,H.minimum=$,H.maximum=J,X)H.pattern=eY}),Q._zod.check=(G)=>{let H=G.value;if(X){if(!Number.isInteger(H)){G.issues.push({expected:Y,format:W.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:Y,continue:!W.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:Y,continue:!W.abort});return}}if(H<$)G.issues.push({origin:"number",input:H,code:"too_small",minimum:$,inclusive:!0,inst:Q,continue:!W.abort});if(H>J)G.issues.push({origin:"number",input:H,code:"too_big",maximum:J,inst:Q})}});var B$=U("$ZodCheckMaxLength",(Q,W)=>{var X;V0.init(Q,W),(X=Q._zod.def).when??(X.when=(Y)=>{let $=Y.value;return!p6($)&&$.length!==void 0}),Q._zod.onattach.push((Y)=>{let $=Y._zod.bag.maximum??Number.POSITIVE_INFINITY;if(W.maximum<$)Y._zod.bag.maximum=W.maximum}),Q._zod.check=(Y)=>{let $=Y.value;if($.length<=W.maximum)return;let G=n6($);Y.issues.push({origin:G,code:"too_big",maximum:W.maximum,inclusive:!0,input:$,inst:Q,continue:!W.abort})}}),A$=U("$ZodCheckMinLength",(Q,W)=>{var X;V0.init(Q,W),(X=Q._zod.def).when??(X.when=(Y)=>{let $=Y.value;return!p6($)&&$.length!==void 0}),Q._zod.onattach.push((Y)=>{let $=Y._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(W.minimum>$)Y._zod.bag.minimum=W.minimum}),Q._zod.check=(Y)=>{let $=Y.value;if($.length>=W.minimum)return;let G=n6($);Y.issues.push({origin:G,code:"too_small",minimum:W.minimum,inclusive:!0,input:$,inst:Q,continue:!W.abort})}}),K$=U("$ZodCheckLengthEquals",(Q,W)=>{var X;V0.init(Q,W),(X=Q._zod.def).when??(X.when=(Y)=>{let $=Y.value;return!p6($)&&$.length!==void 0}),Q._zod.onattach.push((Y)=>{let $=Y._zod.bag;$.minimum=W.length,$.maximum=W.length,$.length=W.length}),Q._zod.check=(Y)=>{let $=Y.value,J=$.length;if(J===W.length)return;let G=n6($),H=J>W.length;Y.issues.push({origin:G,...H?{code:"too_big",maximum:W.length}:{code:"too_small",minimum:W.length},inclusive:!0,exact:!0,input:Y.value,inst:Q,continue:!W.abort})}}),o6=U("$ZodCheckStringFormat",(Q,W)=>{var X,Y;if(V0.init(Q,W),Q._zod.onattach.push(($)=>{let J=$._zod.bag;if(J.format=W.format,W.pattern)J.patterns??(J.patterns=new Set),J.patterns.add(W.pattern)}),W.pattern)(X=Q._zod).check??(X.check=($)=>{if(W.pattern.lastIndex=0,W.pattern.test($.value))return;$.issues.push({origin:"string",code:"invalid_format",format:W.format,input:$.value,...W.pattern?{pattern:W.pattern.toString()}:{},inst:Q,continue:!W.abort})});else(Y=Q._zod).check??(Y.check=()=>{})}),z$=U("$ZodCheckRegex",(Q,W)=>{o6.init(Q,W),Q._zod.check=(X)=>{if(W.pattern.lastIndex=0,W.pattern.test(X.value))return;X.issues.push({origin:"string",code:"invalid_format",format:"regex",input:X.value,pattern:W.pattern.toString(),inst:Q,continue:!W.abort})}}),L$=U("$ZodCheckLowerCase",(Q,W)=>{W.pattern??(W.pattern=Y$),o6.init(Q,W)}),D$=U("$ZodCheckUpperCase",(Q,W)=>{W.pattern??(W.pattern=$$),o6.init(Q,W)}),q$=U("$ZodCheckIncludes",(Q,W)=>{V0.init(Q,W);let X=F1(W.includes),Y=new RegExp(typeof W.position==="number"?`^.{${W.position}}${X}`:X);W.pattern=Y,Q._zod.onattach.push(($)=>{let J=$._zod.bag;J.patterns??(J.patterns=new Set),J.patterns.add(Y)}),Q._zod.check=($)=>{if($.value.includes(W.includes,W.position))return;$.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:W.includes,input:$.value,inst:Q,continue:!W.abort})}}),V$=U("$ZodCheckStartsWith",(Q,W)=>{V0.init(Q,W);let X=new RegExp(`^${F1(W.prefix)}.*`);W.pattern??(W.pattern=X),Q._zod.onattach.push((Y)=>{let $=Y._zod.bag;$.patterns??($.patterns=new Set),$.patterns.add(X)}),Q._zod.check=(Y)=>{if(Y.value.startsWith(W.prefix))return;Y.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:W.prefix,input:Y.value,inst:Q,continue:!W.abort})}}),F$=U("$ZodCheckEndsWith",(Q,W)=>{V0.init(Q,W);let X=new RegExp(`.*${F1(W.suffix)}$`);W.pattern??(W.pattern=X),Q._zod.onattach.push((Y)=>{let $=Y._zod.bag;$.patterns??($.patterns=new Set),$.patterns.add(X)}),Q._zod.check=(Y)=>{if(Y.value.endsWith(W.suffix))return;Y.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:W.suffix,input:Y.value,inst:Q,continue:!W.abort})}});var U$=U("$ZodCheckOverwrite",(Q,W)=>{V0.init(Q,W),Q._zod.check=(X)=>{X.value=W.tx(X.value)}});class d8{constructor(Q=[]){if(this.content=[],this.indent=0,this)this.args=Q}indented(Q){this.indent+=1,Q(this),this.indent-=1}write(Q){if(typeof Q==="function"){Q(this,{execution:"sync"}),Q(this,{execution:"async"});return}let X=Q.split(`
10
+ deps: ${X}}`};var $w={keyword:"dependencies",type:"object",schemaType:"object",error:rH.error,code(Q){let[W,X]=Jw(Q);dH(Q,W),oH(Q,X)}};function Jw({schema:Q}){let W={},X={};for(let Y in Q){if(Y==="__proto__")continue;let $=Array.isArray(Q[Y])?W:X;$[Y]=Q[Y]}return[W,X]}function dH(Q,W=Q.schema){let{gen:X,data:Y,it:$}=Q;if(Object.keys(W).length===0)return;let J=X.let("missing");for(let G in W){let H=W[G];if(H.length===0)continue;let B=(0,h4.propertyInData)(X,Y,G,$.opts.ownProperties);if(Q.setParams({property:G,depsCount:H.length,deps:H.join(", ")}),$.allErrors)X.if(B,()=>{for(let A of H)(0,h4.checkReportMissingProp)(Q,A)});else X.if(eX._`${B} && (${(0,h4.checkMissingProp)(Q,H,J)})`),(0,h4.reportMissingProp)(Q,J),X.else()}}rH.validatePropertyDeps=dH;function oH(Q,W=Q.schema){let{gen:X,data:Y,keyword:$,it:J}=Q,G=X.name("valid");for(let H in W){if((0,Yw.alwaysValidSchema)(J,W[H]))continue;X.if((0,h4.propertyInData)(X,Y,H,J.opts.ownProperties),()=>{let B=Q.subschema({keyword:$,schemaProp:H},G);Q.mergeValidEvaluated(B,G)},()=>X.var(G,!0)),Q.ok(G)}}rH.validateSchemaDeps=oH;rH.default=$w});var W3=P((Q3)=>{Object.defineProperty(Q3,"__esModule",{value:!0});var eH=m(),Bw=r(),Aw={message:"property name must be valid",params:({params:Q})=>eH._`{propertyName: ${Q.propertyName}}`},Kw={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Aw,code(Q){let{gen:W,schema:X,data:Y,it:$}=Q;if((0,Bw.alwaysValidSchema)($,X))return;let J=W.name("valid");W.forIn("key",Y,(G)=>{Q.setParams({propertyName:G}),Q.subschema({keyword:"propertyNames",data:G,dataTypes:["string"],propertyName:G,compositeRule:!0},J),W.if((0,eH.not)(J),()=>{if(Q.error(!0),!$.allErrors)W.break()})}),Q.ok(J)}};Q3.default=Kw});var QY=P((X3)=>{Object.defineProperty(X3,"__esModule",{value:!0});var V8=l0(),Q1=m(),Lw=L1(),F8=r(),Dw={message:"must NOT have additional properties",params:({params:Q})=>Q1._`{additionalProperty: ${Q.additionalProperty}}`},qw={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:Dw,code(Q){let{gen:W,schema:X,parentSchema:Y,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,F8.alwaysValidSchema)(G,X))return;let A=(0,V8.allSchemaProperties)(Y.properties),K=(0,V8.allSchemaProperties)(Y.patternProperties);L(),Q.ok(Q1._`${J} === ${Lw.default.errors}`);function L(){W.forIn("key",$,(w)=>{if(!A.length&&!K.length)q(w);else W.if(D(w),()=>q(w))})}function D(w){let N;if(A.length>8){let b=(0,F8.schemaRefOrVal)(G,Y.properties,"properties");N=(0,V8.isOwnProperty)(W,b,w)}else if(A.length)N=(0,Q1.or)(...A.map((b)=>Q1._`${w} === ${b}`));else N=Q1.nil;if(K.length)N=(0,Q1.or)(N,...K.map((b)=>Q1._`${(0,V8.usePattern)(Q,b)}.test(${w})`));return(0,Q1.not)(N)}function z(w){W.code(Q1._`delete ${$}[${w}]`)}function q(w){if(B.removeAdditional==="all"||B.removeAdditional&&X===!1){z(w);return}if(X===!1){if(Q.setParams({additionalProperty:w}),Q.error(),!H)W.break();return}if(typeof X=="object"&&!(0,F8.alwaysValidSchema)(G,X)){let N=W.name("valid");if(B.removeAdditional==="failing")V(w,N,!1),W.if((0,Q1.not)(N),()=>{Q.reset(),z(w)});else if(V(w,N),!H)W.if((0,Q1.not)(N),()=>W.break())}}function V(w,N,b){let S={keyword:"additionalProperties",dataProp:w,dataPropType:F8.Type.Str};if(b===!1)Object.assign(S,{compositeRule:!0,createErrors:!1,allErrors:!1});Q.subschema(S,N)}}};X3.default=qw});var G3=P((J3)=>{Object.defineProperty(J3,"__esModule",{value:!0});var Fw=R4(),Y3=l0(),WY=r(),$3=QY(),Uw={keyword:"properties",type:"object",schemaType:"object",code(Q){let{gen:W,schema:X,parentSchema:Y,data:$,it:J}=Q;if(J.opts.removeAdditional==="all"&&Y.additionalProperties===void 0)$3.default.code(new Fw.KeywordCxt(J,$3.default,"additionalProperties"));let G=(0,Y3.allSchemaProperties)(X);for(let L of G)J.definedProperties.add(L);if(J.opts.unevaluated&&G.length&&J.props!==!0)J.props=WY.mergeEvaluated.props(W,(0,WY.toHash)(G),J.props);let H=G.filter((L)=>!(0,WY.alwaysValidSchema)(J,X[L]));if(H.length===0)return;let B=W.name("valid");for(let L of H){if(A(L))K(L);else{if(W.if((0,Y3.propertyInData)(W,$,L,J.opts.ownProperties)),K(L),!J.allErrors)W.else().var(B,!0);W.endIf()}Q.it.definedProperties.add(L),Q.ok(B)}function A(L){return J.opts.useDefaults&&!J.compositeRule&&X[L].default!==void 0}function K(L){Q.subschema({keyword:"properties",schemaProp:L,dataProp:L},B)}}};J3.default=Uw});var z3=P((K3)=>{Object.defineProperty(K3,"__esModule",{value:!0});var H3=l0(),U8=m(),B3=r(),A3=r(),Nw={keyword:"patternProperties",type:"object",schemaType:"object",code(Q){let{gen:W,schema:X,data:Y,parentSchema:$,it:J}=Q,{opts:G}=J,H=(0,H3.allSchemaProperties)(X),B=H.filter((V)=>(0,B3.alwaysValidSchema)(J,X[V]));if(H.length===0||B.length===H.length&&(!J.opts.unevaluated||J.props===!0))return;let A=G.strictSchema&&!G.allowMatchingProperties&&$.properties,K=W.name("valid");if(J.props!==!0&&!(J.props instanceof U8.Name))J.props=(0,A3.evaluatedPropsToName)(W,J.props);let{props:L}=J;D();function D(){for(let V of H){if(A)z(V);if(J.allErrors)q(V);else W.var(K,!0),q(V),W.if(K)}}function z(V){for(let w in A)if(new RegExp(V).test(w))(0,B3.checkStrictMode)(J,`property ${w} matches pattern ${V} (use allowMatchingProperties)`)}function q(V){W.forIn("key",Y,(w)=>{W.if(U8._`${(0,H3.usePattern)(Q,V)}.test(${w})`,()=>{let N=B.includes(V);if(!N)Q.subschema({keyword:"patternProperties",schemaProp:V,dataProp:w,dataPropType:A3.Type.Str},K);if(J.opts.unevaluated&&L!==!0)W.assign(U8._`${L}[${w}]`,!0);else if(!N&&!J.allErrors)W.if((0,U8.not)(K),()=>W.break())})})}}};K3.default=Nw});var D3=P((L3)=>{Object.defineProperty(L3,"__esModule",{value:!0});var Mw=r(),jw={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(Q){let{gen:W,schema:X,it:Y}=Q;if((0,Mw.alwaysValidSchema)(Y,X)){Q.fail();return}let $=W.name("valid");Q.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},$),Q.failResult($,()=>Q.reset(),()=>Q.error())},error:{message:"must NOT be valid"}};L3.default=jw});var V3=P((q3)=>{Object.defineProperty(q3,"__esModule",{value:!0});var bw=l0(),Sw={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:bw.validateUnion,error:{message:"must match a schema in anyOf"}};q3.default=Sw});var U3=P((F3)=>{Object.defineProperty(F3,"__esModule",{value:!0});var O8=m(),Pw=r(),Iw={message:"must match exactly one schema in oneOf",params:({params:Q})=>O8._`{passingSchemas: ${Q.passing}}`},Cw={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:Iw,code(Q){let{gen:W,schema:X,parentSchema:Y,it:$}=Q;if(!Array.isArray(X))throw Error("ajv implementation error");if($.opts.discriminator&&Y.discriminator)return;let J=X,G=W.let("valid",!1),H=W.let("passing",null),B=W.name("_valid");Q.setParams({passing:H}),W.block(A),Q.result(G,()=>Q.reset(),()=>Q.error(!0));function A(){J.forEach((K,L)=>{let D;if((0,Pw.alwaysValidSchema)($,K))W.var(B,!0);else D=Q.subschema({keyword:"oneOf",schemaProp:L,compositeRule:!0},B);if(L>0)W.if(O8._`${B} && ${G}`).assign(G,!1).assign(H,O8._`[${H}, ${L}]`).else();W.if(B,()=>{if(W.assign(G,!0),W.assign(H,L),D)Q.mergeEvaluated(D,O8.Name)})})}}};F3.default=Cw});var N3=P((O3)=>{Object.defineProperty(O3,"__esModule",{value:!0});var Zw=r(),vw={keyword:"allOf",schemaType:"array",code(Q){let{gen:W,schema:X,it:Y}=Q;if(!Array.isArray(X))throw Error("ajv implementation error");let $=W.name("valid");X.forEach((J,G)=>{if((0,Zw.alwaysValidSchema)(Y,J))return;let H=Q.subschema({keyword:"allOf",schemaProp:G},$);Q.ok($),Q.mergeEvaluated(H)})}};O3.default=vw});var E3=P((j3)=>{Object.defineProperty(j3,"__esModule",{value:!0});var N8=m(),M3=r(),_w={message:({params:Q})=>N8.str`must match "${Q.ifClause}" schema`,params:({params:Q})=>N8._`{failingKeyword: ${Q.ifClause}}`},xw={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:_w,code(Q){let{gen:W,parentSchema:X,it:Y}=Q;if(X.then===void 0&&X.else===void 0)(0,M3.checkStrictMode)(Y,'"if" without "then" and "else" is ignored');let $=w3(Y,"then"),J=w3(Y,"else");if(!$&&!J)return;let G=W.let("valid",!0),H=W.name("_valid");if(B(),Q.reset(),$&&J){let K=W.let("ifClause");Q.setParams({ifClause:K}),W.if(H,A("then",K),A("else",K))}else if($)W.if(H,A("then"));else W.if((0,N8.not)(H),A("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 A(K,L){return()=>{let D=Q.subschema({keyword:K},H);if(W.assign(G,H),Q.mergeValidEvaluated(D,G),L)W.assign(L,N8._`${K}`);else Q.setParams({ifClause:K})}}}};function w3(Q,W){let X=Q.schema[W];return X!==void 0&&!(0,M3.alwaysValidSchema)(Q,X)}j3.default=xw});var S3=P((b3)=>{Object.defineProperty(b3,"__esModule",{value:!0});var yw=r(),hw={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:Q,parentSchema:W,it:X}){if(W.if===void 0)(0,yw.checkStrictMode)(X,`"${Q}" without "if" is ignored`)}};b3.default=hw});var P3=P((R3)=>{Object.defineProperty(R3,"__esModule",{value:!0});var uw=aX(),lw=lH(),mw=sX(),cw=pH(),pw=nH(),iw=sH(),nw=W3(),dw=QY(),ow=G3(),rw=z3(),tw=D3(),aw=V3(),sw=U3(),ew=N3(),QM=E3(),WM=S3();function XM(Q=!1){let W=[tw.default,aw.default,sw.default,ew.default,QM.default,WM.default,nw.default,dw.default,iw.default,ow.default,rw.default];if(Q)W.push(lw.default,cw.default);else W.push(uw.default,mw.default);return W.push(pw.default),W}R3.default=XM});var C3=P((I3)=>{Object.defineProperty(I3,"__esModule",{value:!0});var z0=m(),$M={message:({schemaCode:Q})=>z0.str`must match format "${Q}"`,params:({schemaCode:Q})=>z0._`{format: ${Q}}`},JM={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:$M,code(Q,W){let{gen:X,data:Y,$data:$,schema:J,schemaCode:G,it:H}=Q,{opts:B,errSchemaPath:A,schemaEnv:K,self:L}=H;if(!B.validateFormats)return;if($)D();else z();function D(){let q=X.scopeValue("formats",{ref:L.formats,code:B.code.formats}),V=X.const("fDef",z0._`${q}[${G}]`),w=X.let("fType"),N=X.let("format");X.if(z0._`typeof ${V} == "object" && !(${V} instanceof RegExp)`,()=>X.assign(w,z0._`${V}.type || "string"`).assign(N,z0._`${V}.validate`),()=>X.assign(w,z0._`"string"`).assign(N,V)),Q.fail$data((0,z0.or)(b(),S()));function b(){if(B.strictSchema===!1)return z0.nil;return z0._`${G} && !${N}`}function S(){let h=K.$async?z0._`(${V}.async ? await ${N}(${Y}) : ${N}(${Y}))`:z0._`${N}(${Y})`,g=z0._`(typeof ${N} == "function" ? ${h} : ${N}.test(${Y}))`;return z0._`${N} && ${N} !== true && ${w} === ${W} && !${g}`}}function z(){let q=L.formats[J];if(!q){b();return}if(q===!0)return;let[V,w,N]=S(q);if(V===W)Q.pass(h());function b(){if(B.strictSchema===!1){L.logger.warn(g());return}throw Error(g());function g(){return`unknown format "${J}" ignored in schema at path "${A}"`}}function S(g){let j0=g instanceof RegExp?(0,z0.regexpCode)(g):B.code.formats?z0._`${B.code.formats}${(0,z0.getProperty)(J)}`:void 0,y0=X.scopeValue("formats",{key:J,ref:g,code:j0});if(typeof g=="object"&&!(g instanceof RegExp))return[g.type||"string",g.validate,z0._`${y0}.validate`];return["string",g,y0]}function h(){if(typeof q=="object"&&!(q instanceof RegExp)&&q.async){if(!K.$async)throw Error("async format in sync schema");return z0._`await ${N}(${Y})`}return typeof w=="function"?z0._`${N}(${Y})`:z0._`${N}.test(${Y})`}}}};I3.default=JM});var Z3=P((T3)=>{Object.defineProperty(T3,"__esModule",{value:!0});var HM=C3(),BM=[HM.default];T3.default=BM});var _3=P((v3)=>{Object.defineProperty(v3,"__esModule",{value:!0});v3.contentVocabulary=v3.metadataVocabulary=void 0;v3.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];v3.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var y3=P((g3)=>{Object.defineProperty(g3,"__esModule",{value:!0});var zM=JH(),LM=vH(),DM=P3(),qM=Z3(),x3=_3(),VM=[zM.default,LM.default,(0,DM.default)(),qM.default,x3.metadataVocabulary,x3.contentVocabulary];g3.default=VM});var l3=P((f3)=>{Object.defineProperty(f3,"__esModule",{value:!0});f3.DiscrError=void 0;var h3;(function(Q){Q.Tag="tag",Q.Mapping="mapping"})(h3||(f3.DiscrError=h3={}))});var p3=P((c3)=>{Object.defineProperty(c3,"__esModule",{value:!0});var y6=m(),XY=l3(),m3=X8(),UM=P4(),OM=r(),NM={message:({params:{discrError:Q,tagName:W}})=>Q===XY.DiscrError.Tag?`tag "${W}" must be string`:`value of tag "${W}" must be in oneOf`,params:({params:{discrError:Q,tag:W,tagName:X}})=>y6._`{error: ${Q}, tag: ${X}, tagValue: ${W}}`},wM={keyword:"discriminator",type:"object",schemaType:"object",error:NM,code(Q){let{gen:W,data:X,schema:Y,parentSchema:$,it:J}=Q,{oneOf:G}=$;if(!J.opts.discriminator)throw Error("discriminator: requires discriminator option");let H=Y.propertyName;if(typeof H!="string")throw Error("discriminator: requires propertyName");if(Y.mapping)throw Error("discriminator: mapping is not supported");if(!G)throw Error("discriminator: requires oneOf keyword");let B=W.let("valid",!1),A=W.const("tag",y6._`${X}${(0,y6.getProperty)(H)}`);W.if(y6._`typeof ${A} == "string"`,()=>K(),()=>Q.error(!1,{discrError:XY.DiscrError.Tag,tag:A,tagName:H})),Q.ok(B);function K(){let z=D();W.if(!1);for(let q in z)W.elseIf(y6._`${A} === ${q}`),W.assign(B,L(z[q]));W.else(),Q.error(!1,{discrError:XY.DiscrError.Mapping,tag:A,tagName:H}),W.endIf()}function L(z){let q=W.name("valid"),V=Q.subschema({keyword:"oneOf",schemaProp:z},q);return Q.mergeEvaluated(V,y6.Name),q}function D(){var z;let q={},V=N($),w=!0;for(let h=0;h<G.length;h++){let g=G[h];if((g===null||g===void 0?void 0:g.$ref)&&!(0,OM.schemaHasRulesButRef)(g,J.self.RULES)){let y0=g.$ref;if(g=m3.resolveRef.call(J.self,J.schemaEnv.root,J.baseId,y0),g instanceof m3.SchemaEnv)g=g.schema;if(g===void 0)throw new UM.default(J.opts.uriResolver,J.baseId,y0)}let j0=(z=g===null||g===void 0?void 0:g.properties)===null||z===void 0?void 0:z[H];if(typeof j0!="object")throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${H}"`);w=w&&(V||N(g)),b(j0,h)}if(!w)throw Error(`discriminator: "${H}" must be required`);return q;function N({required:h}){return Array.isArray(h)&&h.includes(H)}function b(h,g){if(h.const)S(h.const,g);else if(h.enum)for(let j0 of h.enum)S(j0,g);else throw Error(`discriminator: "properties/${H}" must have "const" or "enum"`)}function S(h,g){if(typeof h!="string"||h in q)throw Error(`discriminator: "${H}" values must be unique strings`);q[h]=g}}}};c3.default=wM});var i3=P((sI,jM)=>{jM.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 $Y=P((v0,YY)=>{Object.defineProperty(v0,"__esModule",{value:!0});v0.MissingRefError=v0.ValidationError=v0.CodeGen=v0.Name=v0.nil=v0.stringify=v0.str=v0._=v0.KeywordCxt=v0.Ajv=void 0;var EM=r5(),bM=y3(),SM=p3(),n3=i3(),RM=["/properties"],w8="http://json-schema.org/draft-07/schema";class f4 extends EM.default{_addVocabularies(){if(super._addVocabularies(),bM.default.forEach((Q)=>this.addVocabulary(Q)),this.opts.discriminator)this.addKeyword(SM.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let Q=this.opts.$data?this.$dataMetaSchema(n3,RM):n3;this.addMetaSchema(Q,w8,!1),this.refs["http://json-schema.org/schema"]=w8}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(w8)?w8:void 0)}}v0.Ajv=f4;YY.exports=v0=f4;YY.exports.Ajv=f4;Object.defineProperty(v0,"__esModule",{value:!0});v0.default=f4;var PM=R4();Object.defineProperty(v0,"KeywordCxt",{enumerable:!0,get:function(){return PM.KeywordCxt}});var h6=m();Object.defineProperty(v0,"_",{enumerable:!0,get:function(){return h6._}});Object.defineProperty(v0,"str",{enumerable:!0,get:function(){return h6.str}});Object.defineProperty(v0,"stringify",{enumerable:!0,get:function(){return h6.stringify}});Object.defineProperty(v0,"nil",{enumerable:!0,get:function(){return h6.nil}});Object.defineProperty(v0,"Name",{enumerable:!0,get:function(){return h6.Name}});Object.defineProperty(v0,"CodeGen",{enumerable:!0,get:function(){return h6.CodeGen}});var IM=Q8();Object.defineProperty(v0,"ValidationError",{enumerable:!0,get:function(){return IM.default}});var CM=P4();Object.defineProperty(v0,"MissingRefError",{enumerable:!0,get:function(){return CM.default}})});var XB=P((QB)=>{Object.defineProperty(QB,"__esModule",{value:!0});QB.formatNames=QB.fastFormats=QB.fullFormats=void 0;function H1(Q,W){return{validate:Q,compare:W}}QB.fullFormats={date:H1(t3,BY),time:H1(GY(!0),AY),"date-time":H1(d3(!0),s3),"iso-time":H1(GY(),a3),"iso-date-time":H1(d3(),e3),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:yM,"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:pM,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:hM,int32:{type:"number",validate:lM},int64:{type:"number",validate:mM},float:{type:"number",validate:r3},double:{type:"number",validate:r3},password:!0,binary:!0};QB.fastFormats={...QB.fullFormats,date:H1(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,BY),time:H1(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,AY),"date-time":H1(/^\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,s3),"iso-time":H1(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,a3),"iso-date-time":H1(/^\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,e3),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};QB.formatNames=Object.keys(QB.fullFormats);function vM(Q){return Q%4===0&&(Q%100!==0||Q%400===0)}var kM=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,_M=[0,31,28,31,30,31,30,31,31,30,31,30,31];function t3(Q){let W=kM.exec(Q);if(!W)return!1;let X=+W[1],Y=+W[2],$=+W[3];return Y>=1&&Y<=12&&$>=1&&$<=(Y===2&&vM(X)?29:_M[Y])}function BY(Q,W){if(!(Q&&W))return;if(Q>W)return 1;if(Q<W)return-1;return 0}var JY=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function GY(Q){return function(X){let Y=JY.exec(X);if(!Y)return!1;let $=+Y[1],J=+Y[2],G=+Y[3],H=Y[4],B=Y[5]==="-"?-1:1,A=+(Y[6]||0),K=+(Y[7]||0);if(A>23||K>59||Q&&!H)return!1;if($<=23&&J<=59&&G<60)return!0;let L=J-K*B,D=$-A*B-(L<0?1:0);return(D===23||D===-1)&&(L===59||L===-1)&&G<61}}function AY(Q,W){if(!(Q&&W))return;let X=new Date("2020-01-01T"+Q).valueOf(),Y=new Date("2020-01-01T"+W).valueOf();if(!(X&&Y))return;return X-Y}function a3(Q,W){if(!(Q&&W))return;let X=JY.exec(Q),Y=JY.exec(W);if(!(X&&Y))return;if(Q=X[1]+X[2]+X[3],W=Y[1]+Y[2]+Y[3],Q>W)return 1;if(Q<W)return-1;return 0}var HY=/t|\s/i;function d3(Q){let W=GY(Q);return function(Y){let $=Y.split(HY);return $.length===2&&t3($[0])&&W($[1])}}function s3(Q,W){if(!(Q&&W))return;let X=new Date(Q).valueOf(),Y=new Date(W).valueOf();if(!(X&&Y))return;return X-Y}function e3(Q,W){if(!(Q&&W))return;let[X,Y]=Q.split(HY),[$,J]=W.split(HY),G=BY(X,$);if(G===void 0)return;return G||AY(Y,J)}var xM=/\/|:/,gM=/^(?:[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 yM(Q){return xM.test(Q)&&gM.test(Q)}var o3=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function hM(Q){return o3.lastIndex=0,o3.test(Q)}var fM=-2147483648,uM=2147483647;function lM(Q){return Number.isInteger(Q)&&Q<=uM&&Q>=fM}function mM(Q){return Number.isInteger(Q)}function r3(){return!0}var cM=/[^\\]\\Z/;function pM(Q){if(cM.test(Q))return!1;try{return new RegExp(Q),!0}catch(W){return!1}}});var $B=P((YB)=>{Object.defineProperty(YB,"__esModule",{value:!0});YB.formatLimitDefinition=void 0;var nM=$Y(),W1=m(),k1=W1.operators,M8={formatMaximum:{okStr:"<=",ok:k1.LTE,fail:k1.GT},formatMinimum:{okStr:">=",ok:k1.GTE,fail:k1.LT},formatExclusiveMaximum:{okStr:"<",ok:k1.LT,fail:k1.GTE},formatExclusiveMinimum:{okStr:">",ok:k1.GT,fail:k1.LTE}},dM={message:({keyword:Q,schemaCode:W})=>W1.str`should be ${M8[Q].okStr} ${W}`,params:({keyword:Q,schemaCode:W})=>W1._`{comparison: ${M8[Q].okStr}, limit: ${W}}`};YB.formatLimitDefinition={keyword:Object.keys(M8),type:"string",schemaType:"string",$data:!0,error:dM,code(Q){let{gen:W,data:X,schemaCode:Y,keyword:$,it:J}=Q,{opts:G,self:H}=J;if(!G.validateFormats)return;let B=new nM.KeywordCxt(J,H.RULES.all.format.definition,"format");if(B.$data)A();else K();function A(){let D=W.scopeValue("formats",{ref:H.formats,code:G.code.formats}),z=W.const("fmt",W1._`${D}[${B.schemaCode}]`);Q.fail$data((0,W1.or)(W1._`typeof ${z} != "object"`,W1._`${z} instanceof RegExp`,W1._`typeof ${z}.compare != "function"`,L(z)))}function K(){let D=B.schema,z=H.formats[D];if(!z||z===!0)return;if(typeof z!="object"||z instanceof RegExp||typeof z.compare!="function")throw Error(`"${$}": format "${D}" does not define "compare" function`);let q=W.scopeValue("formats",{key:D,ref:z,code:G.code.formats?W1._`${G.code.formats}${(0,W1.getProperty)(D)}`:void 0});Q.fail$data(L(q))}function L(D){return W1._`${D}.compare(${X}, ${Y}) ${M8[$].fail} 0`}},dependencies:["format"]};var oM=(Q)=>{return Q.addKeyword(YB.formatLimitDefinition),Q};YB.default=oM});var BB=P((u4,HB)=>{Object.defineProperty(u4,"__esModule",{value:!0});var f6=XB(),tM=$B(),LY=m(),JB=new LY.Name("fullFormats"),aM=new LY.Name("fastFormats"),DY=(Q,W={keywords:!0})=>{if(Array.isArray(W))return GB(Q,W,f6.fullFormats,JB),Q;let[X,Y]=W.mode==="fast"?[f6.fastFormats,aM]:[f6.fullFormats,JB],$=W.formats||f6.formatNames;if(GB(Q,$,X,Y),W.keywords)(0,tM.default)(Q);return Q};DY.get=(Q,W="full")=>{let Y=(W==="fast"?f6.fastFormats:f6.fullFormats)[Q];if(!Y)throw Error(`Unknown format "${Q}"`);return Y};function GB(Q,W,X,Y){var $,J;($=(J=Q.opts.code).formats)!==null&&$!==void 0||(J.formats=LY._`require("ajv-formats/dist/formats").${Y}`);for(let G of W)Q.addFormat(G,X[G])}HB.exports=u4=DY;Object.defineProperty(u4,"__esModule",{value:!0});u4.default=DY});import CJ from"process";var vB=Object.freeze({status:"aborted"});function U(Q,W,X){function Y(H,B){var A;Object.defineProperty(H,"_zod",{value:H._zod??{},enumerable:!1}),(A=H._zod).traits??(A.traits=new Set),H._zod.traits.add(Q),W(H,B);for(let K in G.prototype)if(!(K in H))Object.defineProperty(H,K,{value:G.prototype[K].bind(H)});H._zod.constr=G,H._zod.def=B}let $=X?.Parent??Object;class J extends ${}Object.defineProperty(J,"name",{value:Q});function G(H){var B;let A=X?.Parent?new J:this;Y(A,H),(B=A._zod).deferred??(B.deferred=[]);for(let K of A._zod.deferred)K();return A}return Object.defineProperty(G,"init",{value:Y}),Object.defineProperty(G,Symbol.hasInstance,{value:(H)=>{if(X?.Parent&&H instanceof X.Parent)return!0;return H?._zod?.traits?.has(Q)}}),Object.defineProperty(G,"name",{value:Q}),G}var kB=Symbol("zod_brand");class V1 extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}var m4={};function k0(Q){if(Q)Object.assign(m4,Q);return m4}var i={};S8(i,{unwrapMessage:()=>l6,stringifyPrimitive:()=>i4,required:()=>tB,randomString:()=>lB,propertyKeyTypes:()=>Z8,promiseAllObject:()=>uB,primitiveTypes:()=>SY,prefixIssues:()=>X1,pick:()=>iB,partial:()=>rB,optionalKeys:()=>v8,omit:()=>nB,numKeys:()=>mB,nullish:()=>p6,normalizeParams:()=>_,merge:()=>oB,jsonStringifyReplacer:()=>P8,joinValues:()=>c4,issue:()=>_8,isPlainObject:()=>$6,isObject:()=>Y6,getSizableOrigin:()=>PY,getParsedType:()=>cB,getLengthableOrigin:()=>n6,getEnumValues:()=>m6,getElementAtPath:()=>fB,floatSafeRemainder:()=>I8,finalizeIssue:()=>c0,extend:()=>dB,escapeRegex:()=>F1,esc:()=>x1,defineLazy:()=>Q0,createTransparentProxy:()=>pB,clone:()=>_0,cleanRegex:()=>i6,cleanEnum:()=>aB,captureStackTrace:()=>p4,cached:()=>c6,assignProp:()=>C8,assertNotEqual:()=>xB,assertNever:()=>yB,assertIs:()=>gB,assertEqual:()=>_B,assert:()=>hB,allowsEval:()=>T8,aborted:()=>g1,NUMBER_FORMAT_RANGES:()=>k8,Class:()=>IY,BIGINT_FORMAT_RANGES:()=>RY});function _B(Q){return Q}function xB(Q){return Q}function gB(Q){}function yB(Q){throw Error()}function hB(Q){}function m6(Q){let W=Object.values(Q).filter((Y)=>typeof Y==="number");return Object.entries(Q).filter(([Y,$])=>W.indexOf(+Y)===-1).map(([Y,$])=>$)}function c4(Q,W="|"){return Q.map((X)=>i4(X)).join(W)}function P8(Q,W){if(typeof W==="bigint")return W.toString();return W}function c6(Q){return{get value(){{let X=Q();return Object.defineProperty(this,"value",{value:X}),X}throw Error("cached value already set")}}}function p6(Q){return Q===null||Q===void 0}function i6(Q){let W=Q.startsWith("^")?1:0,X=Q.endsWith("$")?Q.length-1:Q.length;return Q.slice(W,X)}function I8(Q,W){let X=(Q.toString().split(".")[1]||"").length,Y=(W.toString().split(".")[1]||"").length,$=X>Y?X:Y,J=Number.parseInt(Q.toFixed($).replace(".","")),G=Number.parseInt(W.toFixed($).replace(".",""));return J%G/10**$}function Q0(Q,W,X){Object.defineProperty(Q,W,{get(){{let $=X();return Q[W]=$,$}throw Error("cached value already set")},set($){Object.defineProperty(Q,W,{value:$})},configurable:!0})}function C8(Q,W,X){Object.defineProperty(Q,W,{value:X,writable:!0,enumerable:!0,configurable:!0})}function fB(Q,W){if(!W)return Q;return W.reduce((X,Y)=>X?.[Y],Q)}function uB(Q){let W=Object.keys(Q),X=W.map((Y)=>Q[Y]);return Promise.all(X).then((Y)=>{let $={};for(let J=0;J<W.length;J++)$[W[J]]=Y[J];return $})}function lB(Q=10){let X="";for(let Y=0;Y<Q;Y++)X+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return X}function x1(Q){return JSON.stringify(Q)}var p4=Error.captureStackTrace?Error.captureStackTrace:(...Q)=>{};function Y6(Q){return typeof Q==="object"&&Q!==null&&!Array.isArray(Q)}var T8=c6(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(Q){return!1}});function $6(Q){if(Y6(Q)===!1)return!1;let W=Q.constructor;if(W===void 0)return!0;let X=W.prototype;if(Y6(X)===!1)return!1;if(Object.prototype.hasOwnProperty.call(X,"isPrototypeOf")===!1)return!1;return!0}function mB(Q){let W=0;for(let X in Q)if(Object.prototype.hasOwnProperty.call(Q,X))W++;return W}var cB=(Q)=>{let W=typeof Q;switch(W){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: ${W}`)}},Z8=new Set(["string","number","symbol"]),SY=new Set(["string","number","bigint","boolean","symbol","undefined"]);function F1(Q){return Q.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function _0(Q,W,X){let Y=new Q._zod.constr(W??Q._zod.def);if(!W||X?.parent)Y._zod.parent=Q;return Y}function _(Q){let W=Q;if(!W)return{};if(typeof W==="string")return{error:()=>W};if(W?.message!==void 0){if(W?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");W.error=W.message}if(delete W.message,typeof W.error==="string")return{...W,error:()=>W.error};return W}function pB(Q){let W;return new Proxy({},{get(X,Y,$){return W??(W=Q()),Reflect.get(W,Y,$)},set(X,Y,$,J){return W??(W=Q()),Reflect.set(W,Y,$,J)},has(X,Y){return W??(W=Q()),Reflect.has(W,Y)},deleteProperty(X,Y){return W??(W=Q()),Reflect.deleteProperty(W,Y)},ownKeys(X){return W??(W=Q()),Reflect.ownKeys(W)},getOwnPropertyDescriptor(X,Y){return W??(W=Q()),Reflect.getOwnPropertyDescriptor(W,Y)},defineProperty(X,Y,$){return W??(W=Q()),Reflect.defineProperty(W,Y,$)}})}function i4(Q){if(typeof Q==="bigint")return Q.toString()+"n";if(typeof Q==="string")return`"${Q}"`;return`${Q}`}function v8(Q){return Object.keys(Q).filter((W)=>{return Q[W]._zod.optin==="optional"&&Q[W]._zod.optout==="optional"})}var k8={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]},RY={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function iB(Q,W){let X={},Y=Q._zod.def;for(let $ in W){if(!($ in Y.shape))throw Error(`Unrecognized key: "${$}"`);if(!W[$])continue;X[$]=Y.shape[$]}return _0(Q,{...Q._zod.def,shape:X,checks:[]})}function nB(Q,W){let X={...Q._zod.def.shape},Y=Q._zod.def;for(let $ in W){if(!($ in Y.shape))throw Error(`Unrecognized key: "${$}"`);if(!W[$])continue;delete X[$]}return _0(Q,{...Q._zod.def,shape:X,checks:[]})}function dB(Q,W){if(!$6(W))throw Error("Invalid input to extend: expected a plain object");let X={...Q._zod.def,get shape(){let Y={...Q._zod.def.shape,...W};return C8(this,"shape",Y),Y},checks:[]};return _0(Q,X)}function oB(Q,W){return _0(Q,{...Q._zod.def,get shape(){let X={...Q._zod.def.shape,...W._zod.def.shape};return C8(this,"shape",X),X},catchall:W._zod.def.catchall,checks:[]})}function rB(Q,W,X){let Y=W._zod.def.shape,$={...Y};if(X)for(let J in X){if(!(J in Y))throw Error(`Unrecognized key: "${J}"`);if(!X[J])continue;$[J]=Q?new Q({type:"optional",innerType:Y[J]}):Y[J]}else for(let J in Y)$[J]=Q?new Q({type:"optional",innerType:Y[J]}):Y[J];return _0(W,{...W._zod.def,shape:$,checks:[]})}function tB(Q,W,X){let Y=W._zod.def.shape,$={...Y};if(X)for(let J in X){if(!(J in $))throw Error(`Unrecognized key: "${J}"`);if(!X[J])continue;$[J]=new Q({type:"nonoptional",innerType:Y[J]})}else for(let J in Y)$[J]=new Q({type:"nonoptional",innerType:Y[J]});return _0(W,{...W._zod.def,shape:$,checks:[]})}function g1(Q,W=0){for(let X=W;X<Q.issues.length;X++)if(Q.issues[X]?.continue!==!0)return!0;return!1}function X1(Q,W){return W.map((X)=>{var Y;return(Y=X).path??(Y.path=[]),X.path.unshift(Q),X})}function l6(Q){return typeof Q==="string"?Q:Q?.message}function c0(Q,W,X){let Y={...Q,path:Q.path??[]};if(!Q.message){let $=l6(Q.inst?._zod.def?.error?.(Q))??l6(W?.error?.(Q))??l6(X.customError?.(Q))??l6(X.localeError?.(Q))??"Invalid input";Y.message=$}if(delete Y.inst,delete Y.continue,!W?.reportInput)delete Y.input;return Y}function PY(Q){if(Q instanceof Set)return"set";if(Q instanceof Map)return"map";if(Q instanceof File)return"file";return"unknown"}function n6(Q){if(Array.isArray(Q))return"array";if(typeof Q==="string")return"string";return"unknown"}function _8(...Q){let[W,X,Y]=Q;if(typeof W==="string")return{message:W,code:"custom",input:X,inst:Y};return{...W}}function aB(Q){return Object.entries(Q).filter(([W,X])=>{return Number.isNaN(Number.parseInt(W,10))}).map((W)=>W[1])}class IY{constructor(...Q){}}var CY=(Q,W)=>{Q.name="$ZodError",Object.defineProperty(Q,"_zod",{value:Q._zod,enumerable:!1}),Object.defineProperty(Q,"issues",{value:W,enumerable:!1}),Object.defineProperty(Q,"message",{get(){return JSON.stringify(W,P8,2)},enumerable:!0}),Object.defineProperty(Q,"toString",{value:()=>Q.message,enumerable:!1})},n4=U("$ZodError",CY),d6=U("$ZodError",CY,{Parent:Error});function x8(Q,W=(X)=>X.message){let X={},Y=[];for(let $ of Q.issues)if($.path.length>0)X[$.path[0]]=X[$.path[0]]||[],X[$.path[0]].push(W($));else Y.push(W($));return{formErrors:Y,fieldErrors:X}}function g8(Q,W){let X=W||function(J){return J.message},Y={_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)Y._errors.push(X(G));else{let H=Y,B=0;while(B<G.path.length){let A=G.path[B];if(B!==G.path.length-1)H[A]=H[A]||{_errors:[]};else H[A]=H[A]||{_errors:[]},H[A]._errors.push(X(G));H=H[A],B++}}};return $(Q),Y}var y8=(Q)=>(W,X,Y,$)=>{let J=Y?Object.assign(Y,{async:!1}):{async:!1},G=W._zod.run({value:X,issues:[]},J);if(G instanceof Promise)throw new V1;if(G.issues.length){let H=new($?.Err??Q)(G.issues.map((B)=>c0(B,J,k0())));throw p4(H,$?.callee),H}return G.value},h8=y8(d6),f8=(Q)=>async(W,X,Y,$)=>{let J=Y?Object.assign(Y,{async:!0}):{async:!0},G=W._zod.run({value:X,issues:[]},J);if(G instanceof Promise)G=await G;if(G.issues.length){let H=new($?.Err??Q)(G.issues.map((B)=>c0(B,J,k0())));throw p4(H,$?.callee),H}return G.value},u8=f8(d6),l8=(Q)=>(W,X,Y)=>{let $=Y?{...Y,async:!1}:{async:!1},J=W._zod.run({value:X,issues:[]},$);if(J instanceof Promise)throw new V1;return J.issues.length?{success:!1,error:new(Q??n4)(J.issues.map((G)=>c0(G,$,k0())))}:{success:!0,data:J.value}},y1=l8(d6),m8=(Q)=>async(W,X,Y)=>{let $=Y?Object.assign(Y,{async:!0}):{async:!0},J=W._zod.run({value:X,issues:[]},$);if(J instanceof Promise)J=await J;return J.issues.length?{success:!1,error:new Q(J.issues.map((G)=>c0(G,$,k0())))}:{success:!0,data:J.value}},h1=m8(d6);var TY=/^[cC][^\s-]{8,}$/,ZY=/^[0-9a-z]+$/,vY=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,kY=/^[0-9a-vA-V]{20}$/,_Y=/^[A-Za-z0-9]{27}$/,xY=/^[a-zA-Z0-9_-]{21}$/,gY=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var yY=/^([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})$/,c8=(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 hY=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;function fY(){return new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")}var uY=/^(?:(?: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])$/,lY=/^(([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})$/,mY=/^((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])$/,cY=/^(([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])$/,pY=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,p8=/^[A-Za-z0-9_-]*$/,iY=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var nY=/^\+(?:[0-9]){6,14}[0-9]$/,dY="(?:(?:\\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])))",oY=new RegExp(`^${dY}$`);function rY(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 tY(Q){return new RegExp(`^${rY(Q)}$`)}function aY(Q){let W=rY({precision:Q.precision}),X=["Z"];if(Q.local)X.push("");if(Q.offset)X.push("([+-]\\d{2}:\\d{2})");let Y=`${W}(?:${X.join("|")})`;return new RegExp(`^${dY}T(?:${Y})$`)}var sY=(Q)=>{let W=Q?`[\\s\\S]{${Q?.minimum??0},${Q?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${W}$`)};var eY=/^\d+$/,Q$=/^-?\d+(?:\.\d+)?/i,W$=/true|false/i,X$=/null/i;var Y$=/^[^A-Z]*$/,$$=/^[^a-z]*$/;var V0=U("$ZodCheck",(Q,W)=>{var X;Q._zod??(Q._zod={}),Q._zod.def=W,(X=Q._zod).onattach??(X.onattach=[])}),J$={number:"number",bigint:"bigint",object:"date"},i8=U("$ZodCheckLessThan",(Q,W)=>{V0.init(Q,W);let X=J$[typeof W.value];Q._zod.onattach.push((Y)=>{let $=Y._zod.bag,J=(W.inclusive?$.maximum:$.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(W.value<J)if(W.inclusive)$.maximum=W.value;else $.exclusiveMaximum=W.value}),Q._zod.check=(Y)=>{if(W.inclusive?Y.value<=W.value:Y.value<W.value)return;Y.issues.push({origin:X,code:"too_big",maximum:W.value,input:Y.value,inclusive:W.inclusive,inst:Q,continue:!W.abort})}}),n8=U("$ZodCheckGreaterThan",(Q,W)=>{V0.init(Q,W);let X=J$[typeof W.value];Q._zod.onattach.push((Y)=>{let $=Y._zod.bag,J=(W.inclusive?$.minimum:$.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(W.value>J)if(W.inclusive)$.minimum=W.value;else $.exclusiveMinimum=W.value}),Q._zod.check=(Y)=>{if(W.inclusive?Y.value>=W.value:Y.value>W.value)return;Y.issues.push({origin:X,code:"too_small",minimum:W.value,input:Y.value,inclusive:W.inclusive,inst:Q,continue:!W.abort})}}),G$=U("$ZodCheckMultipleOf",(Q,W)=>{V0.init(Q,W),Q._zod.onattach.push((X)=>{var Y;(Y=X._zod.bag).multipleOf??(Y.multipleOf=W.value)}),Q._zod.check=(X)=>{if(typeof X.value!==typeof W.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof X.value==="bigint"?X.value%W.value===BigInt(0):I8(X.value,W.value)===0)return;X.issues.push({origin:typeof X.value,code:"not_multiple_of",divisor:W.value,input:X.value,inst:Q,continue:!W.abort})}}),H$=U("$ZodCheckNumberFormat",(Q,W)=>{V0.init(Q,W),W.format=W.format||"float64";let X=W.format?.includes("int"),Y=X?"int":"number",[$,J]=k8[W.format];Q._zod.onattach.push((G)=>{let H=G._zod.bag;if(H.format=W.format,H.minimum=$,H.maximum=J,X)H.pattern=eY}),Q._zod.check=(G)=>{let H=G.value;if(X){if(!Number.isInteger(H)){G.issues.push({expected:Y,format:W.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:Y,continue:!W.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:Y,continue:!W.abort});return}}if(H<$)G.issues.push({origin:"number",input:H,code:"too_small",minimum:$,inclusive:!0,inst:Q,continue:!W.abort});if(H>J)G.issues.push({origin:"number",input:H,code:"too_big",maximum:J,inst:Q})}});var B$=U("$ZodCheckMaxLength",(Q,W)=>{var X;V0.init(Q,W),(X=Q._zod.def).when??(X.when=(Y)=>{let $=Y.value;return!p6($)&&$.length!==void 0}),Q._zod.onattach.push((Y)=>{let $=Y._zod.bag.maximum??Number.POSITIVE_INFINITY;if(W.maximum<$)Y._zod.bag.maximum=W.maximum}),Q._zod.check=(Y)=>{let $=Y.value;if($.length<=W.maximum)return;let G=n6($);Y.issues.push({origin:G,code:"too_big",maximum:W.maximum,inclusive:!0,input:$,inst:Q,continue:!W.abort})}}),A$=U("$ZodCheckMinLength",(Q,W)=>{var X;V0.init(Q,W),(X=Q._zod.def).when??(X.when=(Y)=>{let $=Y.value;return!p6($)&&$.length!==void 0}),Q._zod.onattach.push((Y)=>{let $=Y._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(W.minimum>$)Y._zod.bag.minimum=W.minimum}),Q._zod.check=(Y)=>{let $=Y.value;if($.length>=W.minimum)return;let G=n6($);Y.issues.push({origin:G,code:"too_small",minimum:W.minimum,inclusive:!0,input:$,inst:Q,continue:!W.abort})}}),K$=U("$ZodCheckLengthEquals",(Q,W)=>{var X;V0.init(Q,W),(X=Q._zod.def).when??(X.when=(Y)=>{let $=Y.value;return!p6($)&&$.length!==void 0}),Q._zod.onattach.push((Y)=>{let $=Y._zod.bag;$.minimum=W.length,$.maximum=W.length,$.length=W.length}),Q._zod.check=(Y)=>{let $=Y.value,J=$.length;if(J===W.length)return;let G=n6($),H=J>W.length;Y.issues.push({origin:G,...H?{code:"too_big",maximum:W.length}:{code:"too_small",minimum:W.length},inclusive:!0,exact:!0,input:Y.value,inst:Q,continue:!W.abort})}}),o6=U("$ZodCheckStringFormat",(Q,W)=>{var X,Y;if(V0.init(Q,W),Q._zod.onattach.push(($)=>{let J=$._zod.bag;if(J.format=W.format,W.pattern)J.patterns??(J.patterns=new Set),J.patterns.add(W.pattern)}),W.pattern)(X=Q._zod).check??(X.check=($)=>{if(W.pattern.lastIndex=0,W.pattern.test($.value))return;$.issues.push({origin:"string",code:"invalid_format",format:W.format,input:$.value,...W.pattern?{pattern:W.pattern.toString()}:{},inst:Q,continue:!W.abort})});else(Y=Q._zod).check??(Y.check=()=>{})}),z$=U("$ZodCheckRegex",(Q,W)=>{o6.init(Q,W),Q._zod.check=(X)=>{if(W.pattern.lastIndex=0,W.pattern.test(X.value))return;X.issues.push({origin:"string",code:"invalid_format",format:"regex",input:X.value,pattern:W.pattern.toString(),inst:Q,continue:!W.abort})}}),L$=U("$ZodCheckLowerCase",(Q,W)=>{W.pattern??(W.pattern=Y$),o6.init(Q,W)}),D$=U("$ZodCheckUpperCase",(Q,W)=>{W.pattern??(W.pattern=$$),o6.init(Q,W)}),q$=U("$ZodCheckIncludes",(Q,W)=>{V0.init(Q,W);let X=F1(W.includes),Y=new RegExp(typeof W.position==="number"?`^.{${W.position}}${X}`:X);W.pattern=Y,Q._zod.onattach.push(($)=>{let J=$._zod.bag;J.patterns??(J.patterns=new Set),J.patterns.add(Y)}),Q._zod.check=($)=>{if($.value.includes(W.includes,W.position))return;$.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:W.includes,input:$.value,inst:Q,continue:!W.abort})}}),V$=U("$ZodCheckStartsWith",(Q,W)=>{V0.init(Q,W);let X=new RegExp(`^${F1(W.prefix)}.*`);W.pattern??(W.pattern=X),Q._zod.onattach.push((Y)=>{let $=Y._zod.bag;$.patterns??($.patterns=new Set),$.patterns.add(X)}),Q._zod.check=(Y)=>{if(Y.value.startsWith(W.prefix))return;Y.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:W.prefix,input:Y.value,inst:Q,continue:!W.abort})}}),F$=U("$ZodCheckEndsWith",(Q,W)=>{V0.init(Q,W);let X=new RegExp(`.*${F1(W.suffix)}$`);W.pattern??(W.pattern=X),Q._zod.onattach.push((Y)=>{let $=Y._zod.bag;$.patterns??($.patterns=new Set),$.patterns.add(X)}),Q._zod.check=(Y)=>{if(Y.value.endsWith(W.suffix))return;Y.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:W.suffix,input:Y.value,inst:Q,continue:!W.abort})}});var U$=U("$ZodCheckOverwrite",(Q,W)=>{V0.init(Q,W),Q._zod.check=(X)=>{X.value=W.tx(X.value)}});class d8{constructor(Q=[]){if(this.content=[],this.indent=0,this)this.args=Q}indented(Q){this.indent+=1,Q(this),this.indent-=1}write(Q){if(typeof Q==="function"){Q(this,{execution:"sync"}),Q(this,{execution:"async"});return}let X=Q.split(`
11
11
  `).filter((J)=>J),Y=Math.min(...X.map((J)=>J.length-J.trimStart().length)),$=X.map((J)=>J.slice(Y)).map((J)=>" ".repeat(this.indent*2)+J);for(let J of $)this.content.push(J)}compile(){let Q=Function,W=this?.args,Y=[...(this?.content??[""]).map(($)=>` ${$}`)];return new Q(...W,Y.join(`
12
12
  `))}}var N$={major:4,minor:0,patch:0};var s=U("$ZodType",(Q,W)=>{var X;Q??(Q={}),Q._zod.def=W,Q._zod.bag=Q._zod.bag||{},Q._zod.version=N$;let Y=[...Q._zod.def.checks??[]];if(Q._zod.traits.has("$ZodCheck"))Y.unshift(Q);for(let $ of Y)for(let J of $._zod.onattach)J(Q);if(Y.length===0)(X=Q._zod).deferred??(X.deferred=[]),Q._zod.deferred?.push(()=>{Q._zod.run=Q._zod.parse});else{let $=(J,G,H)=>{let B=g1(J),A;for(let K of G){if(K._zod.def.when){if(!K._zod.def.when(J))continue}else if(B)continue;let L=J.issues.length,D=K._zod.check(J);if(D instanceof Promise&&H?.async===!1)throw new V1;if(A||D instanceof Promise)A=(A??Promise.resolve()).then(async()=>{if(await D,J.issues.length===L)return;if(!B)B=g1(J,L)});else{if(J.issues.length===L)continue;if(!B)B=g1(J,L)}}if(A)return A.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 V1;return H.then((B)=>$(B,Y,G))}return $(H,Y,G)}}Q["~standard"]={validate:($)=>{try{let J=y1(Q,$);return J.success?{value:J.data}:{issues:J.error?.issues}}catch(J){return h1(Q,$).then((G)=>G.success?{value:G.data}:{issues:G.error?.issues})}},vendor:"zod",version:1}}),r6=U("$ZodString",(Q,W)=>{s.init(Q,W),Q._zod.pattern=[...Q?._zod.bag?.patterns??[]].pop()??sY(Q._zod.bag),Q._zod.parse=(X,Y)=>{if(W.coerce)try{X.value=String(X.value)}catch($){}if(typeof X.value==="string")return X;return X.issues.push({expected:"string",code:"invalid_type",input:X.value,inst:Q}),X}}),W0=U("$ZodStringFormat",(Q,W)=>{o6.init(Q,W),r6.init(Q,W)}),r8=U("$ZodGUID",(Q,W)=>{W.pattern??(W.pattern=yY),W0.init(Q,W)}),t8=U("$ZodUUID",(Q,W)=>{if(W.version){let Y={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[W.version];if(Y===void 0)throw Error(`Invalid UUID version: "${W.version}"`);W.pattern??(W.pattern=c8(Y))}else W.pattern??(W.pattern=c8());W0.init(Q,W)}),a8=U("$ZodEmail",(Q,W)=>{W.pattern??(W.pattern=hY),W0.init(Q,W)}),s8=U("$ZodURL",(Q,W)=>{W0.init(Q,W),Q._zod.check=(X)=>{try{let Y=X.value,$=new URL(Y),J=$.href;if(W.hostname){if(W.hostname.lastIndex=0,!W.hostname.test($.hostname))X.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:iY.source,input:X.value,inst:Q,continue:!W.abort})}if(W.protocol){if(W.protocol.lastIndex=0,!W.protocol.test($.protocol.endsWith(":")?$.protocol.slice(0,-1):$.protocol))X.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:W.protocol.source,input:X.value,inst:Q,continue:!W.abort})}if(!Y.endsWith("/")&&J.endsWith("/"))X.value=J.slice(0,-1);else X.value=J;return}catch(Y){X.issues.push({code:"invalid_format",format:"url",input:X.value,inst:Q,continue:!W.abort})}}}),e8=U("$ZodEmoji",(Q,W)=>{W.pattern??(W.pattern=fY()),W0.init(Q,W)}),QQ=U("$ZodNanoID",(Q,W)=>{W.pattern??(W.pattern=xY),W0.init(Q,W)}),WQ=U("$ZodCUID",(Q,W)=>{W.pattern??(W.pattern=TY),W0.init(Q,W)}),XQ=U("$ZodCUID2",(Q,W)=>{W.pattern??(W.pattern=ZY),W0.init(Q,W)}),YQ=U("$ZodULID",(Q,W)=>{W.pattern??(W.pattern=vY),W0.init(Q,W)}),$Q=U("$ZodXID",(Q,W)=>{W.pattern??(W.pattern=kY),W0.init(Q,W)}),JQ=U("$ZodKSUID",(Q,W)=>{W.pattern??(W.pattern=_Y),W0.init(Q,W)}),C$=U("$ZodISODateTime",(Q,W)=>{W.pattern??(W.pattern=aY(W)),W0.init(Q,W)}),T$=U("$ZodISODate",(Q,W)=>{W.pattern??(W.pattern=oY),W0.init(Q,W)}),Z$=U("$ZodISOTime",(Q,W)=>{W.pattern??(W.pattern=tY(W)),W0.init(Q,W)}),v$=U("$ZodISODuration",(Q,W)=>{W.pattern??(W.pattern=gY),W0.init(Q,W)}),GQ=U("$ZodIPv4",(Q,W)=>{W.pattern??(W.pattern=uY),W0.init(Q,W),Q._zod.onattach.push((X)=>{let Y=X._zod.bag;Y.format="ipv4"})}),HQ=U("$ZodIPv6",(Q,W)=>{W.pattern??(W.pattern=lY),W0.init(Q,W),Q._zod.onattach.push((X)=>{let Y=X._zod.bag;Y.format="ipv6"}),Q._zod.check=(X)=>{try{new URL(`http://[${X.value}]`)}catch{X.issues.push({code:"invalid_format",format:"ipv6",input:X.value,inst:Q,continue:!W.abort})}}}),BQ=U("$ZodCIDRv4",(Q,W)=>{W.pattern??(W.pattern=mY),W0.init(Q,W)}),AQ=U("$ZodCIDRv6",(Q,W)=>{W.pattern??(W.pattern=cY),W0.init(Q,W),Q._zod.check=(X)=>{let[Y,$]=X.value.split("/");try{if(!$)throw Error();let J=Number($);if(`${J}`!==$)throw Error();if(J<0||J>128)throw Error();new URL(`http://[${Y}]`)}catch{X.issues.push({code:"invalid_format",format:"cidrv6",input:X.value,inst:Q,continue:!W.abort})}}});function k$(Q){if(Q==="")return!0;if(Q.length%4!==0)return!1;try{return atob(Q),!0}catch{return!1}}var KQ=U("$ZodBase64",(Q,W)=>{W.pattern??(W.pattern=pY),W0.init(Q,W),Q._zod.onattach.push((X)=>{X._zod.bag.contentEncoding="base64"}),Q._zod.check=(X)=>{if(k$(X.value))return;X.issues.push({code:"invalid_format",format:"base64",input:X.value,inst:Q,continue:!W.abort})}});function eB(Q){if(!p8.test(Q))return!1;let W=Q.replace(/[-_]/g,(Y)=>Y==="-"?"+":"/"),X=W.padEnd(Math.ceil(W.length/4)*4,"=");return k$(X)}var zQ=U("$ZodBase64URL",(Q,W)=>{W.pattern??(W.pattern=p8),W0.init(Q,W),Q._zod.onattach.push((X)=>{X._zod.bag.contentEncoding="base64url"}),Q._zod.check=(X)=>{if(eB(X.value))return;X.issues.push({code:"invalid_format",format:"base64url",input:X.value,inst:Q,continue:!W.abort})}}),LQ=U("$ZodE164",(Q,W)=>{W.pattern??(W.pattern=nY),W0.init(Q,W)});function QA(Q,W=null){try{let X=Q.split(".");if(X.length!==3)return!1;let[Y]=X;if(!Y)return!1;let $=JSON.parse(atob(Y));if("typ"in $&&$?.typ!=="JWT")return!1;if(!$.alg)return!1;if(W&&(!("alg"in $)||$.alg!==W))return!1;return!0}catch{return!1}}var DQ=U("$ZodJWT",(Q,W)=>{W0.init(Q,W),Q._zod.check=(X)=>{if(QA(X.value,W.alg))return;X.issues.push({code:"invalid_format",format:"jwt",input:X.value,inst:Q,continue:!W.abort})}});var r4=U("$ZodNumber",(Q,W)=>{s.init(Q,W),Q._zod.pattern=Q._zod.bag.pattern??Q$,Q._zod.parse=(X,Y)=>{if(W.coerce)try{X.value=Number(X.value)}catch(G){}let $=X.value;if(typeof $==="number"&&!Number.isNaN($)&&Number.isFinite($))return X;let J=typeof $==="number"?Number.isNaN($)?"NaN":!Number.isFinite($)?"Infinity":void 0:void 0;return X.issues.push({expected:"number",code:"invalid_type",input:$,inst:Q,...J?{received:J}:{}}),X}}),qQ=U("$ZodNumber",(Q,W)=>{H$.init(Q,W),r4.init(Q,W)}),VQ=U("$ZodBoolean",(Q,W)=>{s.init(Q,W),Q._zod.pattern=W$,Q._zod.parse=(X,Y)=>{if(W.coerce)try{X.value=Boolean(X.value)}catch(J){}let $=X.value;if(typeof $==="boolean")return X;return X.issues.push({expected:"boolean",code:"invalid_type",input:$,inst:Q}),X}});var FQ=U("$ZodNull",(Q,W)=>{s.init(Q,W),Q._zod.pattern=X$,Q._zod.values=new Set([null]),Q._zod.parse=(X,Y)=>{let $=X.value;if($===null)return X;return X.issues.push({expected:"null",code:"invalid_type",input:$,inst:Q}),X}});var UQ=U("$ZodUnknown",(Q,W)=>{s.init(Q,W),Q._zod.parse=(X)=>X}),OQ=U("$ZodNever",(Q,W)=>{s.init(Q,W),Q._zod.parse=(X,Y)=>{return X.issues.push({expected:"never",code:"invalid_type",input:X.value,inst:Q}),X}});function w$(Q,W,X){if(Q.issues.length)W.issues.push(...X1(X,Q.issues));W.value[X]=Q.value}var NQ=U("$ZodArray",(Q,W)=>{s.init(Q,W),Q._zod.parse=(X,Y)=>{let $=X.value;if(!Array.isArray($))return X.issues.push({expected:"array",code:"invalid_type",input:$,inst:Q}),X;X.value=Array($.length);let J=[];for(let G=0;G<$.length;G++){let H=$[G],B=W.element._zod.run({value:H,issues:[]},Y);if(B instanceof Promise)J.push(B.then((A)=>w$(A,X,G)));else w$(B,X,G)}if(J.length)return Promise.all(J).then(()=>X);return X}});function o4(Q,W,X){if(Q.issues.length)W.issues.push(...X1(X,Q.issues));W.value[X]=Q.value}function M$(Q,W,X,Y){if(Q.issues.length)if(Y[X]===void 0)if(X in Y)W.value[X]=void 0;else W.value[X]=Q.value;else W.issues.push(...X1(X,Q.issues));else if(Q.value===void 0){if(X in Y)W.value[X]=void 0}else W.value[X]=Q.value}var t4=U("$ZodObject",(Q,W)=>{s.init(Q,W);let X=c6(()=>{let L=Object.keys(W.shape);for(let z of L)if(!(W.shape[z]instanceof s))throw Error(`Invalid element at key "${z}": expected a Zod schema`);let D=v8(W.shape);return{shape:W.shape,keys:L,keySet:new Set(L),numKeys:L.length,optionalKeys:new Set(D)}});Q0(Q._zod,"propValues",()=>{let L=W.shape,D={};for(let z in L){let q=L[z]._zod;if(q.values){D[z]??(D[z]=new Set);for(let V of q.values)D[z].add(V)}}return D});let Y=(L)=>{let D=new d8(["shape","payload","ctx"]),z=X.value,q=(b)=>{let S=x1(b);return`shape[${S}]._zod.run({ value: input[${S}], issues: [] }, ctx)`};D.write("const input = payload.value;");let V=Object.create(null),w=0;for(let b of z.keys)V[b]=`key_${w++}`;D.write("const newResult = {}");for(let b of z.keys)if(z.optionalKeys.has(b)){let S=V[b];D.write(`const ${S} = ${q(b)};`);let h=x1(b);D.write(`
13
13
  if (${S}.issues.length) {
@@ -32,15 +32,15 @@ var EB=Object.create;var{getPrototypeOf:bB,defineProperty:b8,getOwnPropertyNames
32
32
  if (${S}.issues.length) payload.issues = payload.issues.concat(${S}.issues.map(iss => ({
33
33
  ...iss,
34
34
  path: iss.path ? [${x1(b)}, ...iss.path] : [${x1(b)}]
35
- })));`),D.write(`newResult[${x1(b)}] = ${S}.value`)}D.write("payload.value = newResult;"),D.write("return payload;");let O=D.compile();return(b,S)=>O(L,b,S)},$,J=Y6,G=!m4.jitless,B=G&&T8.value,A=W.catchall,K;Q._zod.parse=(L,D)=>{K??(K=X.value);let z=L.value;if(!J(z))return L.issues.push({expected:"object",code:"invalid_type",input:z,inst:Q}),L;let q=[];if(G&&B&&D?.async===!1&&D.jitless!==!0){if(!$)$=Y(W.shape);L=$(L,D)}else{L.value={};let S=K.shape;for(let h of K.keys){let g=S[h],j0=g._zod.run({value:z[h],issues:[]},D),y0=g._zod.optin==="optional"&&g._zod.optout==="optional";if(j0 instanceof Promise)q.push(j0.then((X6)=>y0?M$(X6,L,h,z):o4(X6,L,h)));else if(y0)M$(j0,L,h,z);else o4(j0,L,h)}}if(!A)return q.length?Promise.all(q).then(()=>L):L;let V=[],w=K.keySet,O=A._zod,b=O.def.type;for(let S of Object.keys(z)){if(w.has(S))continue;if(b==="never"){V.push(S);continue}let h=O.run({value:z[S],issues:[]},D);if(h instanceof Promise)q.push(h.then((g)=>o4(g,L,S)));else o4(h,L,S)}if(V.length)L.issues.push({code:"unrecognized_keys",keys:V,input:z,inst:Q});if(!q.length)return L;return Promise.all(q).then(()=>{return L})}});function j$(Q,W,X,Y){for(let $ of Q)if($.issues.length===0)return W.value=$.value,W;return W.issues.push({code:"invalid_union",input:W.value,inst:X,errors:Q.map(($)=>$.issues.map((J)=>c0(J,Y,k0())))}),W}var a4=U("$ZodUnion",(Q,W)=>{s.init(Q,W),Q0(Q._zod,"optin",()=>W.options.some((X)=>X._zod.optin==="optional")?"optional":void 0),Q0(Q._zod,"optout",()=>W.options.some((X)=>X._zod.optout==="optional")?"optional":void 0),Q0(Q._zod,"values",()=>{if(W.options.every((X)=>X._zod.values))return new Set(W.options.flatMap((X)=>Array.from(X._zod.values)));return}),Q0(Q._zod,"pattern",()=>{if(W.options.every((X)=>X._zod.pattern)){let X=W.options.map((Y)=>Y._zod.pattern);return new RegExp(`^(${X.map((Y)=>i6(Y.source)).join("|")})$`)}return}),Q._zod.parse=(X,Y)=>{let $=!1,J=[];for(let G of W.options){let H=G._zod.run({value:X.value,issues:[]},Y);if(H instanceof Promise)J.push(H),$=!0;else{if(H.issues.length===0)return H;J.push(H)}}if(!$)return j$(J,X,Q,Y);return Promise.all(J).then((G)=>{return j$(G,X,Q,Y)})}}),wQ=U("$ZodDiscriminatedUnion",(Q,W)=>{a4.init(Q,W);let X=Q._zod.parse;Q0(Q._zod,"propValues",()=>{let $={};for(let J of W.options){let G=J._zod.propValues;if(!G||Object.keys(G).length===0)throw Error(`Invalid discriminated union option at index "${W.options.indexOf(J)}"`);for(let[H,B]of Object.entries(G)){if(!$[H])$[H]=new Set;for(let A of B)$[H].add(A)}}return $});let Y=c6(()=>{let $=W.options,J=new Map;for(let G of $){let H=G._zod.propValues[W.discriminator];if(!H||H.size===0)throw Error(`Invalid discriminated union option at index "${W.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(!Y6(G))return $.issues.push({code:"invalid_type",expected:"object",input:G,inst:Q}),$;let H=Y.value.get(G?.[W.discriminator]);if(H)return H._zod.run($,J);if(W.unionFallback)return X($,J);return $.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:G,path:[W.discriminator],inst:Q}),$}}),MQ=U("$ZodIntersection",(Q,W)=>{s.init(Q,W),Q._zod.parse=(X,Y)=>{let $=X.value,J=W.left._zod.run({value:$,issues:[]},Y),G=W.right._zod.run({value:$,issues:[]},Y);if(J instanceof Promise||G instanceof Promise)return Promise.all([J,G]).then(([B,A])=>{return E$(X,B,A)});return E$(X,J,G)}});function o8(Q,W){if(Q===W)return{valid:!0,data:Q};if(Q instanceof Date&&W instanceof Date&&+Q===+W)return{valid:!0,data:Q};if($6(Q)&&$6(W)){let X=Object.keys(W),Y=Object.keys(Q).filter((J)=>X.indexOf(J)!==-1),$={...Q,...W};for(let J of Y){let G=o8(Q[J],W[J]);if(!G.valid)return{valid:!1,mergeErrorPath:[J,...G.mergeErrorPath]};$[J]=G.data}return{valid:!0,data:$}}if(Array.isArray(Q)&&Array.isArray(W)){if(Q.length!==W.length)return{valid:!1,mergeErrorPath:[]};let X=[];for(let Y=0;Y<Q.length;Y++){let $=Q[Y],J=W[Y],G=o8($,J);if(!G.valid)return{valid:!1,mergeErrorPath:[Y,...G.mergeErrorPath]};X.push(G.data)}return{valid:!0,data:X}}return{valid:!1,mergeErrorPath:[]}}function E$(Q,W,X){if(W.issues.length)Q.issues.push(...W.issues);if(X.issues.length)Q.issues.push(...X.issues);if(g1(Q))return Q;let Y=o8(W.value,X.value);if(!Y.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(Y.mergeErrorPath)}`);return Q.value=Y.data,Q}var jQ=U("$ZodRecord",(Q,W)=>{s.init(Q,W),Q._zod.parse=(X,Y)=>{let $=X.value;if(!$6($))return X.issues.push({expected:"record",code:"invalid_type",input:$,inst:Q}),X;let J=[];if(W.keyType._zod.values){let G=W.keyType._zod.values;X.value={};for(let B of G)if(typeof B==="string"||typeof B==="number"||typeof B==="symbol"){let A=W.valueType._zod.run({value:$[B],issues:[]},Y);if(A instanceof Promise)J.push(A.then((K)=>{if(K.issues.length)X.issues.push(...X1(B,K.issues));X.value[B]=K.value}));else{if(A.issues.length)X.issues.push(...X1(B,A.issues));X.value[B]=A.value}}let H;for(let B in $)if(!G.has(B))H=H??[],H.push(B);if(H&&H.length>0)X.issues.push({code:"unrecognized_keys",input:$,inst:Q,keys:H})}else{X.value={};for(let G of Reflect.ownKeys($)){if(G==="__proto__")continue;let H=W.keyType._zod.run({value:G,issues:[]},Y);if(H instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(H.issues.length){X.issues.push({origin:"record",code:"invalid_key",issues:H.issues.map((A)=>c0(A,Y,k0())),input:G,path:[G],inst:Q}),X.value[H.value]=H.value;continue}let B=W.valueType._zod.run({value:$[G],issues:[]},Y);if(B instanceof Promise)J.push(B.then((A)=>{if(A.issues.length)X.issues.push(...X1(G,A.issues));X.value[H.value]=A.value}));else{if(B.issues.length)X.issues.push(...X1(G,B.issues));X.value[H.value]=B.value}}}if(J.length)return Promise.all(J).then(()=>X);return X}});var EQ=U("$ZodEnum",(Q,W)=>{s.init(Q,W);let X=m6(W.entries);Q._zod.values=new Set(X),Q._zod.pattern=new RegExp(`^(${X.filter((Y)=>Z8.has(typeof Y)).map((Y)=>typeof Y==="string"?F1(Y):Y.toString()).join("|")})$`),Q._zod.parse=(Y,$)=>{let J=Y.value;if(Q._zod.values.has(J))return Y;return Y.issues.push({code:"invalid_value",values:X,input:J,inst:Q}),Y}}),bQ=U("$ZodLiteral",(Q,W)=>{s.init(Q,W),Q._zod.values=new Set(W.values),Q._zod.pattern=new RegExp(`^(${W.values.map((X)=>typeof X==="string"?F1(X):X?X.toString():String(X)).join("|")})$`),Q._zod.parse=(X,Y)=>{let $=X.value;if(Q._zod.values.has($))return X;return X.issues.push({code:"invalid_value",values:W.values,input:$,inst:Q}),X}});var SQ=U("$ZodTransform",(Q,W)=>{s.init(Q,W),Q._zod.parse=(X,Y)=>{let $=W.transform(X.value,X);if(Y.async)return($ instanceof Promise?$:Promise.resolve($)).then((G)=>{return X.value=G,X});if($ instanceof Promise)throw new V1;return X.value=$,X}}),RQ=U("$ZodOptional",(Q,W)=>{s.init(Q,W),Q._zod.optin="optional",Q._zod.optout="optional",Q0(Q._zod,"values",()=>{return W.innerType._zod.values?new Set([...W.innerType._zod.values,void 0]):void 0}),Q0(Q._zod,"pattern",()=>{let X=W.innerType._zod.pattern;return X?new RegExp(`^(${i6(X.source)})?$`):void 0}),Q._zod.parse=(X,Y)=>{if(W.innerType._zod.optin==="optional")return W.innerType._zod.run(X,Y);if(X.value===void 0)return X;return W.innerType._zod.run(X,Y)}}),PQ=U("$ZodNullable",(Q,W)=>{s.init(Q,W),Q0(Q._zod,"optin",()=>W.innerType._zod.optin),Q0(Q._zod,"optout",()=>W.innerType._zod.optout),Q0(Q._zod,"pattern",()=>{let X=W.innerType._zod.pattern;return X?new RegExp(`^(${i6(X.source)}|null)$`):void 0}),Q0(Q._zod,"values",()=>{return W.innerType._zod.values?new Set([...W.innerType._zod.values,null]):void 0}),Q._zod.parse=(X,Y)=>{if(X.value===null)return X;return W.innerType._zod.run(X,Y)}}),IQ=U("$ZodDefault",(Q,W)=>{s.init(Q,W),Q._zod.optin="optional",Q0(Q._zod,"values",()=>W.innerType._zod.values),Q._zod.parse=(X,Y)=>{if(X.value===void 0)return X.value=W.defaultValue,X;let $=W.innerType._zod.run(X,Y);if($ instanceof Promise)return $.then((J)=>b$(J,W));return b$($,W)}});function b$(Q,W){if(Q.value===void 0)Q.value=W.defaultValue;return Q}var CQ=U("$ZodPrefault",(Q,W)=>{s.init(Q,W),Q._zod.optin="optional",Q0(Q._zod,"values",()=>W.innerType._zod.values),Q._zod.parse=(X,Y)=>{if(X.value===void 0)X.value=W.defaultValue;return W.innerType._zod.run(X,Y)}}),TQ=U("$ZodNonOptional",(Q,W)=>{s.init(Q,W),Q0(Q._zod,"values",()=>{let X=W.innerType._zod.values;return X?new Set([...X].filter((Y)=>Y!==void 0)):void 0}),Q._zod.parse=(X,Y)=>{let $=W.innerType._zod.run(X,Y);if($ instanceof Promise)return $.then((J)=>S$(J,Q));return S$($,Q)}});function S$(Q,W){if(!Q.issues.length&&Q.value===void 0)Q.issues.push({code:"invalid_type",expected:"nonoptional",input:Q.value,inst:W});return Q}var ZQ=U("$ZodCatch",(Q,W)=>{s.init(Q,W),Q._zod.optin="optional",Q0(Q._zod,"optout",()=>W.innerType._zod.optout),Q0(Q._zod,"values",()=>W.innerType._zod.values),Q._zod.parse=(X,Y)=>{let $=W.innerType._zod.run(X,Y);if($ instanceof Promise)return $.then((J)=>{if(X.value=J.value,J.issues.length)X.value=W.catchValue({...X,error:{issues:J.issues.map((G)=>c0(G,Y,k0()))},input:X.value}),X.issues=[];return X});if(X.value=$.value,$.issues.length)X.value=W.catchValue({...X,error:{issues:$.issues.map((J)=>c0(J,Y,k0()))},input:X.value}),X.issues=[];return X}});var vQ=U("$ZodPipe",(Q,W)=>{s.init(Q,W),Q0(Q._zod,"values",()=>W.in._zod.values),Q0(Q._zod,"optin",()=>W.in._zod.optin),Q0(Q._zod,"optout",()=>W.out._zod.optout),Q._zod.parse=(X,Y)=>{let $=W.in._zod.run(X,Y);if($ instanceof Promise)return $.then((J)=>R$(J,W,Y));return R$($,W,Y)}});function R$(Q,W,X){if(g1(Q))return Q;return W.out._zod.run({value:Q.value,issues:Q.issues},X)}var kQ=U("$ZodReadonly",(Q,W)=>{s.init(Q,W),Q0(Q._zod,"propValues",()=>W.innerType._zod.propValues),Q0(Q._zod,"values",()=>W.innerType._zod.values),Q0(Q._zod,"optin",()=>W.innerType._zod.optin),Q0(Q._zod,"optout",()=>W.innerType._zod.optout),Q._zod.parse=(X,Y)=>{let $=W.innerType._zod.run(X,Y);if($ instanceof Promise)return $.then(P$);return P$($)}});function P$(Q){return Q.value=Object.freeze(Q.value),Q}var _Q=U("$ZodCustom",(Q,W)=>{V0.init(Q,W),s.init(Q,W),Q._zod.parse=(X,Y)=>{return X},Q._zod.check=(X)=>{let Y=X.value,$=W.fn(Y);if($ instanceof Promise)return $.then((J)=>I$(J,X,Y,Q));I$($,X,Y,Q);return}});function I$(Q,W,X,Y){if(!Q){let $={code:"custom",input:X,inst:Y,path:[...Y._zod.def.path??[]],continue:!Y._zod.def.abort};if(Y._zod.def.params)$.params=Y._zod.def.params;W.issues.push(_8($))}}var WA=(Q)=>{let W=typeof Q;switch(W){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 W},XA=()=>{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 W(Y){return Q[Y]??null}let X={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return(Y)=>{switch(Y.code){case"invalid_type":return`Invalid input: expected ${Y.expected}, received ${WA(Y.input)}`;case"invalid_value":if(Y.values.length===1)return`Invalid input: expected ${i4(Y.values[0])}`;return`Invalid option: expected one of ${c4(Y.values,"|")}`;case"too_big":{let $=Y.inclusive?"<=":"<",J=W(Y.origin);if(J)return`Too big: expected ${Y.origin??"value"} to have ${$}${Y.maximum.toString()} ${J.unit??"elements"}`;return`Too big: expected ${Y.origin??"value"} to be ${$}${Y.maximum.toString()}`}case"too_small":{let $=Y.inclusive?">=":">",J=W(Y.origin);if(J)return`Too small: expected ${Y.origin} to have ${$}${Y.minimum.toString()} ${J.unit}`;return`Too small: expected ${Y.origin} to be ${$}${Y.minimum.toString()}`}case"invalid_format":{let $=Y;if($.format==="starts_with")return`Invalid string: must start with "${$.prefix}"`;if($.format==="ends_with")return`Invalid string: must end with "${$.suffix}"`;if($.format==="includes")return`Invalid string: must include "${$.includes}"`;if($.format==="regex")return`Invalid string: must match pattern ${$.pattern}`;return`Invalid ${X[$.format]??Y.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${Y.divisor}`;case"unrecognized_keys":return`Unrecognized key${Y.keys.length>1?"s":""}: ${c4(Y.keys,", ")}`;case"invalid_key":return`Invalid key in ${Y.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${Y.origin}`;default:return"Invalid input"}}};function xQ(){return{localeError:XA()}}var YA=Symbol("ZodOutput"),$A=Symbol("ZodInput");class s4{constructor(){this._map=new Map,this._idmap=new Map}add(Q,...W){let X=W[0];if(this._map.set(Q,X),X&&typeof X==="object"&&"id"in X){if(this._idmap.has(X.id))throw Error(`ID ${X.id} already exists in the registry`);this._idmap.set(X.id,Q)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(Q){let W=this._map.get(Q);if(W&&typeof W==="object"&&"id"in W)this._idmap.delete(W.id);return this._map.delete(Q),this}get(Q){let W=Q._zod.parent;if(W){let X={...this.get(W)??{}};return delete X.id,{...X,...this._map.get(Q)}}return this._map.get(Q)}has(Q){return this._map.has(Q)}}function _$(){return new s4}var U1=_$();function gQ(Q,W){return new Q({type:"string",..._(W)})}function yQ(Q,W){return new Q({type:"string",format:"email",check:"string_format",abort:!1,..._(W)})}function e4(Q,W){return new Q({type:"string",format:"guid",check:"string_format",abort:!1,..._(W)})}function hQ(Q,W){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,..._(W)})}function fQ(Q,W){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",..._(W)})}function uQ(Q,W){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",..._(W)})}function lQ(Q,W){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",..._(W)})}function mQ(Q,W){return new Q({type:"string",format:"url",check:"string_format",abort:!1,..._(W)})}function cQ(Q,W){return new Q({type:"string",format:"emoji",check:"string_format",abort:!1,..._(W)})}function pQ(Q,W){return new Q({type:"string",format:"nanoid",check:"string_format",abort:!1,..._(W)})}function iQ(Q,W){return new Q({type:"string",format:"cuid",check:"string_format",abort:!1,..._(W)})}function nQ(Q,W){return new Q({type:"string",format:"cuid2",check:"string_format",abort:!1,..._(W)})}function dQ(Q,W){return new Q({type:"string",format:"ulid",check:"string_format",abort:!1,..._(W)})}function oQ(Q,W){return new Q({type:"string",format:"xid",check:"string_format",abort:!1,..._(W)})}function rQ(Q,W){return new Q({type:"string",format:"ksuid",check:"string_format",abort:!1,..._(W)})}function tQ(Q,W){return new Q({type:"string",format:"ipv4",check:"string_format",abort:!1,..._(W)})}function aQ(Q,W){return new Q({type:"string",format:"ipv6",check:"string_format",abort:!1,..._(W)})}function sQ(Q,W){return new Q({type:"string",format:"cidrv4",check:"string_format",abort:!1,..._(W)})}function eQ(Q,W){return new Q({type:"string",format:"cidrv6",check:"string_format",abort:!1,..._(W)})}function QW(Q,W){return new Q({type:"string",format:"base64",check:"string_format",abort:!1,..._(W)})}function WW(Q,W){return new Q({type:"string",format:"base64url",check:"string_format",abort:!1,..._(W)})}function XW(Q,W){return new Q({type:"string",format:"e164",check:"string_format",abort:!1,..._(W)})}function YW(Q,W){return new Q({type:"string",format:"jwt",check:"string_format",abort:!1,..._(W)})}function x$(Q,W){return new Q({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,..._(W)})}function g$(Q,W){return new Q({type:"string",format:"date",check:"string_format",..._(W)})}function y$(Q,W){return new Q({type:"string",format:"time",check:"string_format",precision:null,..._(W)})}function h$(Q,W){return new Q({type:"string",format:"duration",check:"string_format",..._(W)})}function $W(Q,W){return new Q({type:"number",checks:[],..._(W)})}function JW(Q,W){return new Q({type:"number",check:"number_format",abort:!1,format:"safeint",..._(W)})}function GW(Q,W){return new Q({type:"boolean",..._(W)})}function HW(Q,W){return new Q({type:"null",..._(W)})}function BW(Q){return new Q({type:"unknown"})}function AW(Q,W){return new Q({type:"never",..._(W)})}function Q9(Q,W){return new i8({check:"less_than",..._(W),value:Q,inclusive:!1})}function t6(Q,W){return new i8({check:"less_than",..._(W),value:Q,inclusive:!0})}function W9(Q,W){return new n8({check:"greater_than",..._(W),value:Q,inclusive:!1})}function a6(Q,W){return new n8({check:"greater_than",..._(W),value:Q,inclusive:!0})}function X9(Q,W){return new G$({check:"multiple_of",..._(W),value:Q})}function Y9(Q,W){return new B$({check:"max_length",..._(W),maximum:Q})}function J6(Q,W){return new A$({check:"min_length",..._(W),minimum:Q})}function $9(Q,W){return new K$({check:"length_equals",..._(W),length:Q})}function KW(Q,W){return new z$({check:"string_format",format:"regex",..._(W),pattern:Q})}function zW(Q){return new L$({check:"string_format",format:"lowercase",..._(Q)})}function LW(Q){return new D$({check:"string_format",format:"uppercase",..._(Q)})}function DW(Q,W){return new q$({check:"string_format",format:"includes",..._(W),includes:Q})}function qW(Q,W){return new V$({check:"string_format",format:"starts_with",..._(W),prefix:Q})}function VW(Q,W){return new F$({check:"string_format",format:"ends_with",..._(W),suffix:Q})}function f1(Q){return new U$({check:"overwrite",tx:Q})}function FW(Q){return f1((W)=>W.normalize(Q))}function UW(){return f1((Q)=>Q.trim())}function OW(){return f1((Q)=>Q.toLowerCase())}function NW(){return f1((Q)=>Q.toUpperCase())}function f$(Q,W,X){return new Q({type:"array",element:W,..._(X)})}function wW(Q,W,X){let Y=_(X);return Y.abort??(Y.abort=!0),new Q({type:"custom",check:"custom",fn:W,...Y})}function MW(Q,W,X){return new Q({type:"custom",check:"custom",fn:W,..._(X)})}class jW{constructor(Q){this.counter=0,this.metadataRegistry=Q?.metadata??U1,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,W={path:[],schemaPath:[]}){var X;let Y=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++,W.schemaPath.includes(Q))J.cycle=W.path;return J.schema}let G={schema:{},count:1,cycle:void 0,path:W.path};this.seen.set(Q,G);let H=Q._zod.toJSONSchema?.();if(H)G.schema=H;else{let K={...W,schemaPath:[...W.schemaPath,Q],path:W.path},L=Q._zod.parent;if(L)G.ref=L,this.process(L,K),this.seen.get(L).isParent=!0;else{let D=G.schema;switch(Y.type){case"string":{let z=D;z.type="string";let{minimum:q,maximum:V,format:w,patterns:O,contentEncoding:b}=Q._zod.bag;if(typeof q==="number")z.minLength=q;if(typeof V==="number")z.maxLength=V;if(w){if(z.format=$[w]??w,z.format==="")delete z.format}if(b)z.contentEncoding=b;if(O&&O.size>0){let S=[...O];if(S.length===1)z.pattern=S[0].source;else if(S.length>1)G.schema.allOf=[...S.map((h)=>({...this.target==="draft-7"?{type:"string"}:{},pattern:h.source}))]}break}case"number":{let z=D,{minimum:q,maximum:V,format:w,multipleOf:O,exclusiveMaximum:b,exclusiveMinimum:S}=Q._zod.bag;if(typeof w==="string"&&w.includes("int"))z.type="integer";else z.type="number";if(typeof S==="number")z.exclusiveMinimum=S;if(typeof q==="number"){if(z.minimum=q,typeof S==="number")if(S>=q)delete z.minimum;else delete z.exclusiveMinimum}if(typeof b==="number")z.exclusiveMaximum=b;if(typeof V==="number"){if(z.maximum=V,typeof b==="number")if(b<=V)delete z.maximum;else delete z.exclusiveMaximum}if(typeof O==="number")z.multipleOf=O;break}case"boolean":{let z=D;z.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":{D.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":{D.not={};break}case"date":{if(this.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema");break}case"array":{let z=D,{minimum:q,maximum:V}=Q._zod.bag;if(typeof q==="number")z.minItems=q;if(typeof V==="number")z.maxItems=V;z.type="array",z.items=this.process(Y.element,{...K,path:[...K.path,"items"]});break}case"object":{let z=D;z.type="object",z.properties={};let q=Y.shape;for(let O in q)z.properties[O]=this.process(q[O],{...K,path:[...K.path,"properties",O]});let V=new Set(Object.keys(q)),w=new Set([...V].filter((O)=>{let b=Y.shape[O]._zod;if(this.io==="input")return b.optin===void 0;else return b.optout===void 0}));if(w.size>0)z.required=Array.from(w);if(Y.catchall?._zod.def.type==="never")z.additionalProperties=!1;else if(!Y.catchall){if(this.io==="output")z.additionalProperties=!1}else if(Y.catchall)z.additionalProperties=this.process(Y.catchall,{...K,path:[...K.path,"additionalProperties"]});break}case"union":{let z=D;z.anyOf=Y.options.map((q,V)=>this.process(q,{...K,path:[...K.path,"anyOf",V]}));break}case"intersection":{let z=D,q=this.process(Y.left,{...K,path:[...K.path,"allOf",0]}),V=this.process(Y.right,{...K,path:[...K.path,"allOf",1]}),w=(b)=>("allOf"in b)&&Object.keys(b).length===1,O=[...w(q)?q.allOf:[q],...w(V)?V.allOf:[V]];z.allOf=O;break}case"tuple":{let z=D;z.type="array";let q=Y.items.map((O,b)=>this.process(O,{...K,path:[...K.path,"prefixItems",b]}));if(this.target==="draft-2020-12")z.prefixItems=q;else z.items=q;if(Y.rest){let O=this.process(Y.rest,{...K,path:[...K.path,"items"]});if(this.target==="draft-2020-12")z.items=O;else z.additionalItems=O}if(Y.rest)z.items=this.process(Y.rest,{...K,path:[...K.path,"items"]});let{minimum:V,maximum:w}=Q._zod.bag;if(typeof V==="number")z.minItems=V;if(typeof w==="number")z.maxItems=w;break}case"record":{let z=D;z.type="object",z.propertyNames=this.process(Y.keyType,{...K,path:[...K.path,"propertyNames"]}),z.additionalProperties=this.process(Y.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 z=D,q=m6(Y.entries);if(q.every((V)=>typeof V==="number"))z.type="number";if(q.every((V)=>typeof V==="string"))z.type="string";z.enum=q;break}case"literal":{let z=D,q=[];for(let V of Y.values)if(V===void 0){if(this.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof V==="bigint")if(this.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else q.push(Number(V));else q.push(V);if(q.length===0);else if(q.length===1){let V=q[0];z.type=V===null?"null":typeof V,z.const=V}else{if(q.every((V)=>typeof V==="number"))z.type="number";if(q.every((V)=>typeof V==="string"))z.type="string";if(q.every((V)=>typeof V==="boolean"))z.type="string";if(q.every((V)=>V===null))z.type="null";z.enum=q}break}case"file":{let z=D,q={type:"string",format:"binary",contentEncoding:"binary"},{minimum:V,maximum:w,mime:O}=Q._zod.bag;if(V!==void 0)q.minLength=V;if(w!==void 0)q.maxLength=w;if(O)if(O.length===1)q.contentMediaType=O[0],Object.assign(z,q);else z.anyOf=O.map((b)=>{return{...q,contentMediaType:b}});else Object.assign(z,q);break}case"transform":{if(this.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema");break}case"nullable":{let z=this.process(Y.innerType,K);D.anyOf=[z,{type:"null"}];break}case"nonoptional":{this.process(Y.innerType,K),G.ref=Y.innerType;break}case"success":{let z=D;z.type="boolean";break}case"default":{this.process(Y.innerType,K),G.ref=Y.innerType,D.default=JSON.parse(JSON.stringify(Y.defaultValue));break}case"prefault":{if(this.process(Y.innerType,K),G.ref=Y.innerType,this.io==="input")D._prefault=JSON.parse(JSON.stringify(Y.defaultValue));break}case"catch":{this.process(Y.innerType,K),G.ref=Y.innerType;let z;try{z=Y.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}D.default=z;break}case"nan":{if(this.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema");break}case"template_literal":{let z=D,q=Q._zod.pattern;if(!q)throw Error("Pattern not found in template literal");z.type="string",z.pattern=q.source;break}case"pipe":{let z=this.io==="input"?Y.in._zod.def.type==="transform"?Y.out:Y.in:Y.out;this.process(z,K),G.ref=z;break}case"readonly":{this.process(Y.innerType,K),G.ref=Y.innerType,D.readOnly=!0;break}case"promise":{this.process(Y.innerType,K),G.ref=Y.innerType;break}case"optional":{this.process(Y.innerType,K),G.ref=Y.innerType;break}case"lazy":{let z=Q._zod.innerType;this.process(z,K),G.ref=z;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"&&L0(Q))delete G.schema.examples,delete G.schema.default;if(this.io==="input"&&G.schema._prefault)(X=G.schema).default??(X.default=G.schema._prefault);return delete G.schema._prefault,this.seen.get(Q).schema}emit(Q,W){let X={cycles:W?.cycles??"ref",reused:W?.reused??"inline",external:W?.external??void 0},Y=this.seen.get(Q);if(!Y)throw Error("Unprocessed schema. This is a bug in Zod.");let $=(A)=>{let K=this.target==="draft-2020-12"?"$defs":"definitions";if(X.external){let q=X.external.registry.get(A[0])?.id,V=X.external.uri??((O)=>O);if(q)return{ref:V(q)};let w=A[1].defId??A[1].schema.id??`schema${this.counter++}`;return A[1].defId=w,{defId:w,ref:`${V("__shared")}#/${K}/${w}`}}if(A[1]===Y)return{ref:"#"};let D=`${"#"}/${K}/`,z=A[1].schema.id??`__schema${this.counter++}`;return{defId:z,ref:D+z}},J=(A)=>{if(A[1].schema.$ref)return;let K=A[1],{ref:L,defId:D}=$(A);if(K.def={...K.schema},D)K.defId=D;let z=K.schema;for(let q in z)delete z[q];z.$ref=L};if(X.cycles==="throw")for(let A of this.seen.entries()){let K=A[1];if(K.cycle)throw Error(`Cycle detected: #/${K.cycle?.join("/")}/<root>
35
+ })));`),D.write(`newResult[${x1(b)}] = ${S}.value`)}D.write("payload.value = newResult;"),D.write("return payload;");let N=D.compile();return(b,S)=>N(L,b,S)},$,J=Y6,G=!m4.jitless,B=G&&T8.value,A=W.catchall,K;Q._zod.parse=(L,D)=>{K??(K=X.value);let z=L.value;if(!J(z))return L.issues.push({expected:"object",code:"invalid_type",input:z,inst:Q}),L;let q=[];if(G&&B&&D?.async===!1&&D.jitless!==!0){if(!$)$=Y(W.shape);L=$(L,D)}else{L.value={};let S=K.shape;for(let h of K.keys){let g=S[h],j0=g._zod.run({value:z[h],issues:[]},D),y0=g._zod.optin==="optional"&&g._zod.optout==="optional";if(j0 instanceof Promise)q.push(j0.then((X6)=>y0?M$(X6,L,h,z):o4(X6,L,h)));else if(y0)M$(j0,L,h,z);else o4(j0,L,h)}}if(!A)return q.length?Promise.all(q).then(()=>L):L;let V=[],w=K.keySet,N=A._zod,b=N.def.type;for(let S of Object.keys(z)){if(w.has(S))continue;if(b==="never"){V.push(S);continue}let h=N.run({value:z[S],issues:[]},D);if(h instanceof Promise)q.push(h.then((g)=>o4(g,L,S)));else o4(h,L,S)}if(V.length)L.issues.push({code:"unrecognized_keys",keys:V,input:z,inst:Q});if(!q.length)return L;return Promise.all(q).then(()=>{return L})}});function j$(Q,W,X,Y){for(let $ of Q)if($.issues.length===0)return W.value=$.value,W;return W.issues.push({code:"invalid_union",input:W.value,inst:X,errors:Q.map(($)=>$.issues.map((J)=>c0(J,Y,k0())))}),W}var a4=U("$ZodUnion",(Q,W)=>{s.init(Q,W),Q0(Q._zod,"optin",()=>W.options.some((X)=>X._zod.optin==="optional")?"optional":void 0),Q0(Q._zod,"optout",()=>W.options.some((X)=>X._zod.optout==="optional")?"optional":void 0),Q0(Q._zod,"values",()=>{if(W.options.every((X)=>X._zod.values))return new Set(W.options.flatMap((X)=>Array.from(X._zod.values)));return}),Q0(Q._zod,"pattern",()=>{if(W.options.every((X)=>X._zod.pattern)){let X=W.options.map((Y)=>Y._zod.pattern);return new RegExp(`^(${X.map((Y)=>i6(Y.source)).join("|")})$`)}return}),Q._zod.parse=(X,Y)=>{let $=!1,J=[];for(let G of W.options){let H=G._zod.run({value:X.value,issues:[]},Y);if(H instanceof Promise)J.push(H),$=!0;else{if(H.issues.length===0)return H;J.push(H)}}if(!$)return j$(J,X,Q,Y);return Promise.all(J).then((G)=>{return j$(G,X,Q,Y)})}}),wQ=U("$ZodDiscriminatedUnion",(Q,W)=>{a4.init(Q,W);let X=Q._zod.parse;Q0(Q._zod,"propValues",()=>{let $={};for(let J of W.options){let G=J._zod.propValues;if(!G||Object.keys(G).length===0)throw Error(`Invalid discriminated union option at index "${W.options.indexOf(J)}"`);for(let[H,B]of Object.entries(G)){if(!$[H])$[H]=new Set;for(let A of B)$[H].add(A)}}return $});let Y=c6(()=>{let $=W.options,J=new Map;for(let G of $){let H=G._zod.propValues[W.discriminator];if(!H||H.size===0)throw Error(`Invalid discriminated union option at index "${W.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(!Y6(G))return $.issues.push({code:"invalid_type",expected:"object",input:G,inst:Q}),$;let H=Y.value.get(G?.[W.discriminator]);if(H)return H._zod.run($,J);if(W.unionFallback)return X($,J);return $.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:G,path:[W.discriminator],inst:Q}),$}}),MQ=U("$ZodIntersection",(Q,W)=>{s.init(Q,W),Q._zod.parse=(X,Y)=>{let $=X.value,J=W.left._zod.run({value:$,issues:[]},Y),G=W.right._zod.run({value:$,issues:[]},Y);if(J instanceof Promise||G instanceof Promise)return Promise.all([J,G]).then(([B,A])=>{return E$(X,B,A)});return E$(X,J,G)}});function o8(Q,W){if(Q===W)return{valid:!0,data:Q};if(Q instanceof Date&&W instanceof Date&&+Q===+W)return{valid:!0,data:Q};if($6(Q)&&$6(W)){let X=Object.keys(W),Y=Object.keys(Q).filter((J)=>X.indexOf(J)!==-1),$={...Q,...W};for(let J of Y){let G=o8(Q[J],W[J]);if(!G.valid)return{valid:!1,mergeErrorPath:[J,...G.mergeErrorPath]};$[J]=G.data}return{valid:!0,data:$}}if(Array.isArray(Q)&&Array.isArray(W)){if(Q.length!==W.length)return{valid:!1,mergeErrorPath:[]};let X=[];for(let Y=0;Y<Q.length;Y++){let $=Q[Y],J=W[Y],G=o8($,J);if(!G.valid)return{valid:!1,mergeErrorPath:[Y,...G.mergeErrorPath]};X.push(G.data)}return{valid:!0,data:X}}return{valid:!1,mergeErrorPath:[]}}function E$(Q,W,X){if(W.issues.length)Q.issues.push(...W.issues);if(X.issues.length)Q.issues.push(...X.issues);if(g1(Q))return Q;let Y=o8(W.value,X.value);if(!Y.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(Y.mergeErrorPath)}`);return Q.value=Y.data,Q}var jQ=U("$ZodRecord",(Q,W)=>{s.init(Q,W),Q._zod.parse=(X,Y)=>{let $=X.value;if(!$6($))return X.issues.push({expected:"record",code:"invalid_type",input:$,inst:Q}),X;let J=[];if(W.keyType._zod.values){let G=W.keyType._zod.values;X.value={};for(let B of G)if(typeof B==="string"||typeof B==="number"||typeof B==="symbol"){let A=W.valueType._zod.run({value:$[B],issues:[]},Y);if(A instanceof Promise)J.push(A.then((K)=>{if(K.issues.length)X.issues.push(...X1(B,K.issues));X.value[B]=K.value}));else{if(A.issues.length)X.issues.push(...X1(B,A.issues));X.value[B]=A.value}}let H;for(let B in $)if(!G.has(B))H=H??[],H.push(B);if(H&&H.length>0)X.issues.push({code:"unrecognized_keys",input:$,inst:Q,keys:H})}else{X.value={};for(let G of Reflect.ownKeys($)){if(G==="__proto__")continue;let H=W.keyType._zod.run({value:G,issues:[]},Y);if(H instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(H.issues.length){X.issues.push({origin:"record",code:"invalid_key",issues:H.issues.map((A)=>c0(A,Y,k0())),input:G,path:[G],inst:Q}),X.value[H.value]=H.value;continue}let B=W.valueType._zod.run({value:$[G],issues:[]},Y);if(B instanceof Promise)J.push(B.then((A)=>{if(A.issues.length)X.issues.push(...X1(G,A.issues));X.value[H.value]=A.value}));else{if(B.issues.length)X.issues.push(...X1(G,B.issues));X.value[H.value]=B.value}}}if(J.length)return Promise.all(J).then(()=>X);return X}});var EQ=U("$ZodEnum",(Q,W)=>{s.init(Q,W);let X=m6(W.entries);Q._zod.values=new Set(X),Q._zod.pattern=new RegExp(`^(${X.filter((Y)=>Z8.has(typeof Y)).map((Y)=>typeof Y==="string"?F1(Y):Y.toString()).join("|")})$`),Q._zod.parse=(Y,$)=>{let J=Y.value;if(Q._zod.values.has(J))return Y;return Y.issues.push({code:"invalid_value",values:X,input:J,inst:Q}),Y}}),bQ=U("$ZodLiteral",(Q,W)=>{s.init(Q,W),Q._zod.values=new Set(W.values),Q._zod.pattern=new RegExp(`^(${W.values.map((X)=>typeof X==="string"?F1(X):X?X.toString():String(X)).join("|")})$`),Q._zod.parse=(X,Y)=>{let $=X.value;if(Q._zod.values.has($))return X;return X.issues.push({code:"invalid_value",values:W.values,input:$,inst:Q}),X}});var SQ=U("$ZodTransform",(Q,W)=>{s.init(Q,W),Q._zod.parse=(X,Y)=>{let $=W.transform(X.value,X);if(Y.async)return($ instanceof Promise?$:Promise.resolve($)).then((G)=>{return X.value=G,X});if($ instanceof Promise)throw new V1;return X.value=$,X}}),RQ=U("$ZodOptional",(Q,W)=>{s.init(Q,W),Q._zod.optin="optional",Q._zod.optout="optional",Q0(Q._zod,"values",()=>{return W.innerType._zod.values?new Set([...W.innerType._zod.values,void 0]):void 0}),Q0(Q._zod,"pattern",()=>{let X=W.innerType._zod.pattern;return X?new RegExp(`^(${i6(X.source)})?$`):void 0}),Q._zod.parse=(X,Y)=>{if(W.innerType._zod.optin==="optional")return W.innerType._zod.run(X,Y);if(X.value===void 0)return X;return W.innerType._zod.run(X,Y)}}),PQ=U("$ZodNullable",(Q,W)=>{s.init(Q,W),Q0(Q._zod,"optin",()=>W.innerType._zod.optin),Q0(Q._zod,"optout",()=>W.innerType._zod.optout),Q0(Q._zod,"pattern",()=>{let X=W.innerType._zod.pattern;return X?new RegExp(`^(${i6(X.source)}|null)$`):void 0}),Q0(Q._zod,"values",()=>{return W.innerType._zod.values?new Set([...W.innerType._zod.values,null]):void 0}),Q._zod.parse=(X,Y)=>{if(X.value===null)return X;return W.innerType._zod.run(X,Y)}}),IQ=U("$ZodDefault",(Q,W)=>{s.init(Q,W),Q._zod.optin="optional",Q0(Q._zod,"values",()=>W.innerType._zod.values),Q._zod.parse=(X,Y)=>{if(X.value===void 0)return X.value=W.defaultValue,X;let $=W.innerType._zod.run(X,Y);if($ instanceof Promise)return $.then((J)=>b$(J,W));return b$($,W)}});function b$(Q,W){if(Q.value===void 0)Q.value=W.defaultValue;return Q}var CQ=U("$ZodPrefault",(Q,W)=>{s.init(Q,W),Q._zod.optin="optional",Q0(Q._zod,"values",()=>W.innerType._zod.values),Q._zod.parse=(X,Y)=>{if(X.value===void 0)X.value=W.defaultValue;return W.innerType._zod.run(X,Y)}}),TQ=U("$ZodNonOptional",(Q,W)=>{s.init(Q,W),Q0(Q._zod,"values",()=>{let X=W.innerType._zod.values;return X?new Set([...X].filter((Y)=>Y!==void 0)):void 0}),Q._zod.parse=(X,Y)=>{let $=W.innerType._zod.run(X,Y);if($ instanceof Promise)return $.then((J)=>S$(J,Q));return S$($,Q)}});function S$(Q,W){if(!Q.issues.length&&Q.value===void 0)Q.issues.push({code:"invalid_type",expected:"nonoptional",input:Q.value,inst:W});return Q}var ZQ=U("$ZodCatch",(Q,W)=>{s.init(Q,W),Q._zod.optin="optional",Q0(Q._zod,"optout",()=>W.innerType._zod.optout),Q0(Q._zod,"values",()=>W.innerType._zod.values),Q._zod.parse=(X,Y)=>{let $=W.innerType._zod.run(X,Y);if($ instanceof Promise)return $.then((J)=>{if(X.value=J.value,J.issues.length)X.value=W.catchValue({...X,error:{issues:J.issues.map((G)=>c0(G,Y,k0()))},input:X.value}),X.issues=[];return X});if(X.value=$.value,$.issues.length)X.value=W.catchValue({...X,error:{issues:$.issues.map((J)=>c0(J,Y,k0()))},input:X.value}),X.issues=[];return X}});var vQ=U("$ZodPipe",(Q,W)=>{s.init(Q,W),Q0(Q._zod,"values",()=>W.in._zod.values),Q0(Q._zod,"optin",()=>W.in._zod.optin),Q0(Q._zod,"optout",()=>W.out._zod.optout),Q._zod.parse=(X,Y)=>{let $=W.in._zod.run(X,Y);if($ instanceof Promise)return $.then((J)=>R$(J,W,Y));return R$($,W,Y)}});function R$(Q,W,X){if(g1(Q))return Q;return W.out._zod.run({value:Q.value,issues:Q.issues},X)}var kQ=U("$ZodReadonly",(Q,W)=>{s.init(Q,W),Q0(Q._zod,"propValues",()=>W.innerType._zod.propValues),Q0(Q._zod,"values",()=>W.innerType._zod.values),Q0(Q._zod,"optin",()=>W.innerType._zod.optin),Q0(Q._zod,"optout",()=>W.innerType._zod.optout),Q._zod.parse=(X,Y)=>{let $=W.innerType._zod.run(X,Y);if($ instanceof Promise)return $.then(P$);return P$($)}});function P$(Q){return Q.value=Object.freeze(Q.value),Q}var _Q=U("$ZodCustom",(Q,W)=>{V0.init(Q,W),s.init(Q,W),Q._zod.parse=(X,Y)=>{return X},Q._zod.check=(X)=>{let Y=X.value,$=W.fn(Y);if($ instanceof Promise)return $.then((J)=>I$(J,X,Y,Q));I$($,X,Y,Q);return}});function I$(Q,W,X,Y){if(!Q){let $={code:"custom",input:X,inst:Y,path:[...Y._zod.def.path??[]],continue:!Y._zod.def.abort};if(Y._zod.def.params)$.params=Y._zod.def.params;W.issues.push(_8($))}}var WA=(Q)=>{let W=typeof Q;switch(W){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 W},XA=()=>{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 W(Y){return Q[Y]??null}let X={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return(Y)=>{switch(Y.code){case"invalid_type":return`Invalid input: expected ${Y.expected}, received ${WA(Y.input)}`;case"invalid_value":if(Y.values.length===1)return`Invalid input: expected ${i4(Y.values[0])}`;return`Invalid option: expected one of ${c4(Y.values,"|")}`;case"too_big":{let $=Y.inclusive?"<=":"<",J=W(Y.origin);if(J)return`Too big: expected ${Y.origin??"value"} to have ${$}${Y.maximum.toString()} ${J.unit??"elements"}`;return`Too big: expected ${Y.origin??"value"} to be ${$}${Y.maximum.toString()}`}case"too_small":{let $=Y.inclusive?">=":">",J=W(Y.origin);if(J)return`Too small: expected ${Y.origin} to have ${$}${Y.minimum.toString()} ${J.unit}`;return`Too small: expected ${Y.origin} to be ${$}${Y.minimum.toString()}`}case"invalid_format":{let $=Y;if($.format==="starts_with")return`Invalid string: must start with "${$.prefix}"`;if($.format==="ends_with")return`Invalid string: must end with "${$.suffix}"`;if($.format==="includes")return`Invalid string: must include "${$.includes}"`;if($.format==="regex")return`Invalid string: must match pattern ${$.pattern}`;return`Invalid ${X[$.format]??Y.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${Y.divisor}`;case"unrecognized_keys":return`Unrecognized key${Y.keys.length>1?"s":""}: ${c4(Y.keys,", ")}`;case"invalid_key":return`Invalid key in ${Y.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${Y.origin}`;default:return"Invalid input"}}};function xQ(){return{localeError:XA()}}var YA=Symbol("ZodOutput"),$A=Symbol("ZodInput");class s4{constructor(){this._map=new Map,this._idmap=new Map}add(Q,...W){let X=W[0];if(this._map.set(Q,X),X&&typeof X==="object"&&"id"in X){if(this._idmap.has(X.id))throw Error(`ID ${X.id} already exists in the registry`);this._idmap.set(X.id,Q)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(Q){let W=this._map.get(Q);if(W&&typeof W==="object"&&"id"in W)this._idmap.delete(W.id);return this._map.delete(Q),this}get(Q){let W=Q._zod.parent;if(W){let X={...this.get(W)??{}};return delete X.id,{...X,...this._map.get(Q)}}return this._map.get(Q)}has(Q){return this._map.has(Q)}}function _$(){return new s4}var U1=_$();function gQ(Q,W){return new Q({type:"string",..._(W)})}function yQ(Q,W){return new Q({type:"string",format:"email",check:"string_format",abort:!1,..._(W)})}function e4(Q,W){return new Q({type:"string",format:"guid",check:"string_format",abort:!1,..._(W)})}function hQ(Q,W){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,..._(W)})}function fQ(Q,W){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",..._(W)})}function uQ(Q,W){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",..._(W)})}function lQ(Q,W){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",..._(W)})}function mQ(Q,W){return new Q({type:"string",format:"url",check:"string_format",abort:!1,..._(W)})}function cQ(Q,W){return new Q({type:"string",format:"emoji",check:"string_format",abort:!1,..._(W)})}function pQ(Q,W){return new Q({type:"string",format:"nanoid",check:"string_format",abort:!1,..._(W)})}function iQ(Q,W){return new Q({type:"string",format:"cuid",check:"string_format",abort:!1,..._(W)})}function nQ(Q,W){return new Q({type:"string",format:"cuid2",check:"string_format",abort:!1,..._(W)})}function dQ(Q,W){return new Q({type:"string",format:"ulid",check:"string_format",abort:!1,..._(W)})}function oQ(Q,W){return new Q({type:"string",format:"xid",check:"string_format",abort:!1,..._(W)})}function rQ(Q,W){return new Q({type:"string",format:"ksuid",check:"string_format",abort:!1,..._(W)})}function tQ(Q,W){return new Q({type:"string",format:"ipv4",check:"string_format",abort:!1,..._(W)})}function aQ(Q,W){return new Q({type:"string",format:"ipv6",check:"string_format",abort:!1,..._(W)})}function sQ(Q,W){return new Q({type:"string",format:"cidrv4",check:"string_format",abort:!1,..._(W)})}function eQ(Q,W){return new Q({type:"string",format:"cidrv6",check:"string_format",abort:!1,..._(W)})}function QW(Q,W){return new Q({type:"string",format:"base64",check:"string_format",abort:!1,..._(W)})}function WW(Q,W){return new Q({type:"string",format:"base64url",check:"string_format",abort:!1,..._(W)})}function XW(Q,W){return new Q({type:"string",format:"e164",check:"string_format",abort:!1,..._(W)})}function YW(Q,W){return new Q({type:"string",format:"jwt",check:"string_format",abort:!1,..._(W)})}function x$(Q,W){return new Q({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,..._(W)})}function g$(Q,W){return new Q({type:"string",format:"date",check:"string_format",..._(W)})}function y$(Q,W){return new Q({type:"string",format:"time",check:"string_format",precision:null,..._(W)})}function h$(Q,W){return new Q({type:"string",format:"duration",check:"string_format",..._(W)})}function $W(Q,W){return new Q({type:"number",checks:[],..._(W)})}function JW(Q,W){return new Q({type:"number",check:"number_format",abort:!1,format:"safeint",..._(W)})}function GW(Q,W){return new Q({type:"boolean",..._(W)})}function HW(Q,W){return new Q({type:"null",..._(W)})}function BW(Q){return new Q({type:"unknown"})}function AW(Q,W){return new Q({type:"never",..._(W)})}function Q9(Q,W){return new i8({check:"less_than",..._(W),value:Q,inclusive:!1})}function t6(Q,W){return new i8({check:"less_than",..._(W),value:Q,inclusive:!0})}function W9(Q,W){return new n8({check:"greater_than",..._(W),value:Q,inclusive:!1})}function a6(Q,W){return new n8({check:"greater_than",..._(W),value:Q,inclusive:!0})}function X9(Q,W){return new G$({check:"multiple_of",..._(W),value:Q})}function Y9(Q,W){return new B$({check:"max_length",..._(W),maximum:Q})}function J6(Q,W){return new A$({check:"min_length",..._(W),minimum:Q})}function $9(Q,W){return new K$({check:"length_equals",..._(W),length:Q})}function KW(Q,W){return new z$({check:"string_format",format:"regex",..._(W),pattern:Q})}function zW(Q){return new L$({check:"string_format",format:"lowercase",..._(Q)})}function LW(Q){return new D$({check:"string_format",format:"uppercase",..._(Q)})}function DW(Q,W){return new q$({check:"string_format",format:"includes",..._(W),includes:Q})}function qW(Q,W){return new V$({check:"string_format",format:"starts_with",..._(W),prefix:Q})}function VW(Q,W){return new F$({check:"string_format",format:"ends_with",..._(W),suffix:Q})}function f1(Q){return new U$({check:"overwrite",tx:Q})}function FW(Q){return f1((W)=>W.normalize(Q))}function UW(){return f1((Q)=>Q.trim())}function OW(){return f1((Q)=>Q.toLowerCase())}function NW(){return f1((Q)=>Q.toUpperCase())}function f$(Q,W,X){return new Q({type:"array",element:W,..._(X)})}function wW(Q,W,X){let Y=_(X);return Y.abort??(Y.abort=!0),new Q({type:"custom",check:"custom",fn:W,...Y})}function MW(Q,W,X){return new Q({type:"custom",check:"custom",fn:W,..._(X)})}class jW{constructor(Q){this.counter=0,this.metadataRegistry=Q?.metadata??U1,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,W={path:[],schemaPath:[]}){var X;let Y=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++,W.schemaPath.includes(Q))J.cycle=W.path;return J.schema}let G={schema:{},count:1,cycle:void 0,path:W.path};this.seen.set(Q,G);let H=Q._zod.toJSONSchema?.();if(H)G.schema=H;else{let K={...W,schemaPath:[...W.schemaPath,Q],path:W.path},L=Q._zod.parent;if(L)G.ref=L,this.process(L,K),this.seen.get(L).isParent=!0;else{let D=G.schema;switch(Y.type){case"string":{let z=D;z.type="string";let{minimum:q,maximum:V,format:w,patterns:N,contentEncoding:b}=Q._zod.bag;if(typeof q==="number")z.minLength=q;if(typeof V==="number")z.maxLength=V;if(w){if(z.format=$[w]??w,z.format==="")delete z.format}if(b)z.contentEncoding=b;if(N&&N.size>0){let S=[...N];if(S.length===1)z.pattern=S[0].source;else if(S.length>1)G.schema.allOf=[...S.map((h)=>({...this.target==="draft-7"?{type:"string"}:{},pattern:h.source}))]}break}case"number":{let z=D,{minimum:q,maximum:V,format:w,multipleOf:N,exclusiveMaximum:b,exclusiveMinimum:S}=Q._zod.bag;if(typeof w==="string"&&w.includes("int"))z.type="integer";else z.type="number";if(typeof S==="number")z.exclusiveMinimum=S;if(typeof q==="number"){if(z.minimum=q,typeof S==="number")if(S>=q)delete z.minimum;else delete z.exclusiveMinimum}if(typeof b==="number")z.exclusiveMaximum=b;if(typeof V==="number"){if(z.maximum=V,typeof b==="number")if(b<=V)delete z.maximum;else delete z.exclusiveMaximum}if(typeof N==="number")z.multipleOf=N;break}case"boolean":{let z=D;z.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":{D.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":{D.not={};break}case"date":{if(this.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema");break}case"array":{let z=D,{minimum:q,maximum:V}=Q._zod.bag;if(typeof q==="number")z.minItems=q;if(typeof V==="number")z.maxItems=V;z.type="array",z.items=this.process(Y.element,{...K,path:[...K.path,"items"]});break}case"object":{let z=D;z.type="object",z.properties={};let q=Y.shape;for(let N in q)z.properties[N]=this.process(q[N],{...K,path:[...K.path,"properties",N]});let V=new Set(Object.keys(q)),w=new Set([...V].filter((N)=>{let b=Y.shape[N]._zod;if(this.io==="input")return b.optin===void 0;else return b.optout===void 0}));if(w.size>0)z.required=Array.from(w);if(Y.catchall?._zod.def.type==="never")z.additionalProperties=!1;else if(!Y.catchall){if(this.io==="output")z.additionalProperties=!1}else if(Y.catchall)z.additionalProperties=this.process(Y.catchall,{...K,path:[...K.path,"additionalProperties"]});break}case"union":{let z=D;z.anyOf=Y.options.map((q,V)=>this.process(q,{...K,path:[...K.path,"anyOf",V]}));break}case"intersection":{let z=D,q=this.process(Y.left,{...K,path:[...K.path,"allOf",0]}),V=this.process(Y.right,{...K,path:[...K.path,"allOf",1]}),w=(b)=>("allOf"in b)&&Object.keys(b).length===1,N=[...w(q)?q.allOf:[q],...w(V)?V.allOf:[V]];z.allOf=N;break}case"tuple":{let z=D;z.type="array";let q=Y.items.map((N,b)=>this.process(N,{...K,path:[...K.path,"prefixItems",b]}));if(this.target==="draft-2020-12")z.prefixItems=q;else z.items=q;if(Y.rest){let N=this.process(Y.rest,{...K,path:[...K.path,"items"]});if(this.target==="draft-2020-12")z.items=N;else z.additionalItems=N}if(Y.rest)z.items=this.process(Y.rest,{...K,path:[...K.path,"items"]});let{minimum:V,maximum:w}=Q._zod.bag;if(typeof V==="number")z.minItems=V;if(typeof w==="number")z.maxItems=w;break}case"record":{let z=D;z.type="object",z.propertyNames=this.process(Y.keyType,{...K,path:[...K.path,"propertyNames"]}),z.additionalProperties=this.process(Y.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 z=D,q=m6(Y.entries);if(q.every((V)=>typeof V==="number"))z.type="number";if(q.every((V)=>typeof V==="string"))z.type="string";z.enum=q;break}case"literal":{let z=D,q=[];for(let V of Y.values)if(V===void 0){if(this.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof V==="bigint")if(this.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else q.push(Number(V));else q.push(V);if(q.length===0);else if(q.length===1){let V=q[0];z.type=V===null?"null":typeof V,z.const=V}else{if(q.every((V)=>typeof V==="number"))z.type="number";if(q.every((V)=>typeof V==="string"))z.type="string";if(q.every((V)=>typeof V==="boolean"))z.type="string";if(q.every((V)=>V===null))z.type="null";z.enum=q}break}case"file":{let z=D,q={type:"string",format:"binary",contentEncoding:"binary"},{minimum:V,maximum:w,mime:N}=Q._zod.bag;if(V!==void 0)q.minLength=V;if(w!==void 0)q.maxLength=w;if(N)if(N.length===1)q.contentMediaType=N[0],Object.assign(z,q);else z.anyOf=N.map((b)=>{return{...q,contentMediaType:b}});else Object.assign(z,q);break}case"transform":{if(this.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema");break}case"nullable":{let z=this.process(Y.innerType,K);D.anyOf=[z,{type:"null"}];break}case"nonoptional":{this.process(Y.innerType,K),G.ref=Y.innerType;break}case"success":{let z=D;z.type="boolean";break}case"default":{this.process(Y.innerType,K),G.ref=Y.innerType,D.default=JSON.parse(JSON.stringify(Y.defaultValue));break}case"prefault":{if(this.process(Y.innerType,K),G.ref=Y.innerType,this.io==="input")D._prefault=JSON.parse(JSON.stringify(Y.defaultValue));break}case"catch":{this.process(Y.innerType,K),G.ref=Y.innerType;let z;try{z=Y.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}D.default=z;break}case"nan":{if(this.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema");break}case"template_literal":{let z=D,q=Q._zod.pattern;if(!q)throw Error("Pattern not found in template literal");z.type="string",z.pattern=q.source;break}case"pipe":{let z=this.io==="input"?Y.in._zod.def.type==="transform"?Y.out:Y.in:Y.out;this.process(z,K),G.ref=z;break}case"readonly":{this.process(Y.innerType,K),G.ref=Y.innerType,D.readOnly=!0;break}case"promise":{this.process(Y.innerType,K),G.ref=Y.innerType;break}case"optional":{this.process(Y.innerType,K),G.ref=Y.innerType;break}case"lazy":{let z=Q._zod.innerType;this.process(z,K),G.ref=z;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"&&L0(Q))delete G.schema.examples,delete G.schema.default;if(this.io==="input"&&G.schema._prefault)(X=G.schema).default??(X.default=G.schema._prefault);return delete G.schema._prefault,this.seen.get(Q).schema}emit(Q,W){let X={cycles:W?.cycles??"ref",reused:W?.reused??"inline",external:W?.external??void 0},Y=this.seen.get(Q);if(!Y)throw Error("Unprocessed schema. This is a bug in Zod.");let $=(A)=>{let K=this.target==="draft-2020-12"?"$defs":"definitions";if(X.external){let q=X.external.registry.get(A[0])?.id,V=X.external.uri??((N)=>N);if(q)return{ref:V(q)};let w=A[1].defId??A[1].schema.id??`schema${this.counter++}`;return A[1].defId=w,{defId:w,ref:`${V("__shared")}#/${K}/${w}`}}if(A[1]===Y)return{ref:"#"};let D=`${"#"}/${K}/`,z=A[1].schema.id??`__schema${this.counter++}`;return{defId:z,ref:D+z}},J=(A)=>{if(A[1].schema.$ref)return;let K=A[1],{ref:L,defId:D}=$(A);if(K.def={...K.schema},D)K.defId=D;let z=K.schema;for(let q in z)delete z[q];z.$ref=L};if(X.cycles==="throw")for(let A of this.seen.entries()){let K=A[1];if(K.cycle)throw Error(`Cycle detected: #/${K.cycle?.join("/")}/<root>
36
36
 
37
37
  Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let A of this.seen.entries()){let K=A[1];if(Q===A[0]){J(A);continue}if(X.external){let D=X.external.registry.get(A[0])?.id;if(Q!==A[0]&&D){J(A);continue}}if(this.metadataRegistry.get(A[0])?.id){J(A);continue}if(K.cycle){J(A);continue}if(K.count>1){if(X.reused==="ref"){J(A);continue}}}let G=(A,K)=>{let L=this.seen.get(A),D=L.def??L.schema,z={...D};if(L.ref===null)return;let q=L.ref;if(L.ref=null,q){G(q,K);let V=this.seen.get(q).schema;if(V.$ref&&K.target==="draft-7")D.allOf=D.allOf??[],D.allOf.push(V);else Object.assign(D,V),Object.assign(D,z)}if(!L.isParent)this.override({zodSchema:A,jsonSchema:D,path:L.path??[]})};for(let A of[...this.seen.entries()].reverse())G(A[0],{target:this.target});let H={};if(this.target==="draft-2020-12")H.$schema="https://json-schema.org/draft/2020-12/schema";else if(this.target==="draft-7")H.$schema="http://json-schema.org/draft-07/schema#";else console.warn(`Invalid target: ${this.target}`);if(X.external?.uri){let A=X.external.registry.get(Q)?.id;if(!A)throw Error("Schema is missing an `id` property");H.$id=X.external.uri(A)}Object.assign(H,Y.def);let B=X.external?.defs??{};for(let A of this.seen.entries()){let K=A[1];if(K.def&&K.defId)B[K.defId]=K.def}if(X.external);else if(Object.keys(B).length>0)if(this.target==="draft-2020-12")H.$defs=B;else H.definitions=B;try{return JSON.parse(JSON.stringify(H))}catch(A){throw Error("Error converting schema to JSON.")}}}function EW(Q,W){if(Q instanceof s4){let Y=new jW(W),$={};for(let H of Q._idmap.entries()){let[B,A]=H;Y.process(A)}let J={},G={registry:Q,uri:W?.uri,defs:$};for(let H of Q._idmap.entries()){let[B,A]=H;J[B]=Y.emit(A,{...W,external:G})}if(Object.keys($).length>0){let H=Y.target==="draft-2020-12"?"$defs":"definitions";J.__shared={[H]:$}}return{schemas:J}}let X=new jW(W);return X.process(Q),X.emit(Q,W)}function L0(Q,W){let X=W??{seen:new Set};if(X.seen.has(Q))return!1;X.seen.add(Q);let $=Q._zod.def;switch($.type){case"string":case"number":case"bigint":case"boolean":case"date":case"symbol":case"undefined":case"null":case"any":case"unknown":case"never":case"void":case"literal":case"enum":case"nan":case"file":case"template_literal":return!1;case"array":return L0($.element,X);case"object":{for(let J in $.shape)if(L0($.shape[J],X))return!0;return!1}case"union":{for(let J of $.options)if(L0(J,X))return!0;return!1}case"intersection":return L0($.left,X)||L0($.right,X);case"tuple":{for(let J of $.items)if(L0(J,X))return!0;if($.rest&&L0($.rest,X))return!0;return!1}case"record":return L0($.keyType,X)||L0($.valueType,X);case"map":return L0($.keyType,X)||L0($.valueType,X);case"set":return L0($.valueType,X);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return L0($.innerType,X);case"lazy":return L0($.getter(),X);case"default":return L0($.innerType,X);case"prefault":return L0($.innerType,X);case"custom":return!1;case"transform":return!0;case"pipe":return L0($.in,X)||L0($.out,X);case"success":return!1;case"catch":return!1;default:}throw Error(`Unknown schema type: ${$.type}`)}var s6={};S8(s6,{time:()=>RW,duration:()=>PW,datetime:()=>bW,date:()=>SW,ZodISOTime:()=>c$,ZodISODuration:()=>p$,ZodISODateTime:()=>l$,ZodISODate:()=>m$});var l$=U("ZodISODateTime",(Q,W)=>{C$.init(Q,W),J0.init(Q,W)});function bW(Q){return x$(l$,Q)}var m$=U("ZodISODate",(Q,W)=>{T$.init(Q,W),J0.init(Q,W)});function SW(Q){return g$(m$,Q)}var c$=U("ZodISOTime",(Q,W)=>{Z$.init(Q,W),J0.init(Q,W)});function RW(Q){return y$(c$,Q)}var p$=U("ZodISODuration",(Q,W)=>{v$.init(Q,W),J0.init(Q,W)});function PW(Q){return h$(p$,Q)}var i$=(Q,W)=>{n4.init(Q,W),Q.name="ZodError",Object.defineProperties(Q,{format:{value:(X)=>g8(Q,X)},flatten:{value:(X)=>x8(Q,X)},addIssue:{value:(X)=>Q.issues.push(X)},addIssues:{value:(X)=>Q.issues.push(...X)},isEmpty:{get(){return Q.issues.length===0}}})},aj=U("ZodError",i$),e6=U("ZodError",i$,{Parent:Error});var n$=y8(e6),d$=f8(e6),o$=l8(e6),r$=m8(e6);var A0=U("ZodType",(Q,W)=>{return s.init(Q,W),Q.def=W,Object.defineProperty(Q,"_def",{value:W}),Q.check=(...X)=>{return Q.clone({...W,checks:[...W.checks??[],...X.map((Y)=>typeof Y==="function"?{_zod:{check:Y,def:{check:"custom"},onattach:[]}}:Y)]})},Q.clone=(X,Y)=>_0(Q,X,Y),Q.brand=()=>Q,Q.register=(X,Y)=>{return X.add(Q,Y),Q},Q.parse=(X,Y)=>n$(Q,X,Y,{callee:Q.parse}),Q.safeParse=(X,Y)=>o$(Q,X,Y),Q.parseAsync=async(X,Y)=>d$(Q,X,Y,{callee:Q.parseAsync}),Q.safeParseAsync=async(X,Y)=>r$(Q,X,Y),Q.spa=Q.safeParseAsync,Q.refine=(X,Y)=>Q.check(kK(X,Y)),Q.superRefine=(X)=>Q.check(_K(X)),Q.overwrite=(X)=>Q.check(f1(X)),Q.optional=()=>H0(Q),Q.nullable=()=>s$(Q),Q.nullish=()=>H0(s$(Q)),Q.nonoptional=(X)=>RK(Q,X),Q.array=()=>n(Q),Q.or=(X)=>Y0([Q,X]),Q.and=(X)=>G9(Q,X),Q.transform=(X)=>CW(Q,$J(X)),Q.default=(X)=>EK(Q,X),Q.prefault=(X)=>SK(Q,X),Q.catch=(X)=>IK(Q,X),Q.pipe=(X)=>CW(Q,X),Q.readonly=()=>ZK(Q),Q.describe=(X)=>{let Y=Q.clone();return U1.add(Y,{description:X}),Y},Object.defineProperty(Q,"description",{get(){return U1.get(Q)?.description},configurable:!0}),Q.meta=(...X)=>{if(X.length===0)return U1.get(Q);let Y=Q.clone();return U1.add(Y,X[0]),Y},Q.isOptional=()=>Q.safeParse(void 0).success,Q.isNullable=()=>Q.safeParse(null).success,Q}),e$=U("_ZodString",(Q,W)=>{r6.init(Q,W),A0.init(Q,W);let X=Q._zod.bag;Q.format=X.format??null,Q.minLength=X.minimum??null,Q.maxLength=X.maximum??null,Q.regex=(...Y)=>Q.check(KW(...Y)),Q.includes=(...Y)=>Q.check(DW(...Y)),Q.startsWith=(...Y)=>Q.check(qW(...Y)),Q.endsWith=(...Y)=>Q.check(VW(...Y)),Q.min=(...Y)=>Q.check(J6(...Y)),Q.max=(...Y)=>Q.check(Y9(...Y)),Q.length=(...Y)=>Q.check($9(...Y)),Q.nonempty=(...Y)=>Q.check(J6(1,...Y)),Q.lowercase=(Y)=>Q.check(zW(Y)),Q.uppercase=(Y)=>Q.check(LW(Y)),Q.trim=()=>Q.check(UW()),Q.normalize=(...Y)=>Q.check(FW(...Y)),Q.toLowerCase=()=>Q.check(OW()),Q.toUpperCase=()=>Q.check(NW())}),iA=U("ZodString",(Q,W)=>{r6.init(Q,W),e$.init(Q,W),Q.email=(X)=>Q.check(yQ(nA,X)),Q.url=(X)=>Q.check(mQ(dA,X)),Q.jwt=(X)=>Q.check(YW(BK,X)),Q.emoji=(X)=>Q.check(cQ(oA,X)),Q.guid=(X)=>Q.check(e4(t$,X)),Q.uuid=(X)=>Q.check(hQ(J9,X)),Q.uuidv4=(X)=>Q.check(fQ(J9,X)),Q.uuidv6=(X)=>Q.check(uQ(J9,X)),Q.uuidv7=(X)=>Q.check(lQ(J9,X)),Q.nanoid=(X)=>Q.check(pQ(rA,X)),Q.guid=(X)=>Q.check(e4(t$,X)),Q.cuid=(X)=>Q.check(iQ(tA,X)),Q.cuid2=(X)=>Q.check(nQ(aA,X)),Q.ulid=(X)=>Q.check(dQ(sA,X)),Q.base64=(X)=>Q.check(QW(JK,X)),Q.base64url=(X)=>Q.check(WW(GK,X)),Q.xid=(X)=>Q.check(oQ(eA,X)),Q.ksuid=(X)=>Q.check(rQ(QK,X)),Q.ipv4=(X)=>Q.check(tQ(WK,X)),Q.ipv6=(X)=>Q.check(aQ(XK,X)),Q.cidrv4=(X)=>Q.check(sQ(YK,X)),Q.cidrv6=(X)=>Q.check(eQ($K,X)),Q.e164=(X)=>Q.check(XW(HK,X)),Q.datetime=(X)=>Q.check(bW(X)),Q.date=(X)=>Q.check(SW(X)),Q.time=(X)=>Q.check(RW(X)),Q.duration=(X)=>Q.check(PW(X))});function F(Q){return gQ(iA,Q)}var J0=U("ZodStringFormat",(Q,W)=>{W0.init(Q,W),e$.init(Q,W)}),nA=U("ZodEmail",(Q,W)=>{a8.init(Q,W),J0.init(Q,W)});var t$=U("ZodGUID",(Q,W)=>{r8.init(Q,W),J0.init(Q,W)});var J9=U("ZodUUID",(Q,W)=>{t8.init(Q,W),J0.init(Q,W)});var dA=U("ZodURL",(Q,W)=>{s8.init(Q,W),J0.init(Q,W)});var oA=U("ZodEmoji",(Q,W)=>{e8.init(Q,W),J0.init(Q,W)});var rA=U("ZodNanoID",(Q,W)=>{QQ.init(Q,W),J0.init(Q,W)});var tA=U("ZodCUID",(Q,W)=>{WQ.init(Q,W),J0.init(Q,W)});var aA=U("ZodCUID2",(Q,W)=>{XQ.init(Q,W),J0.init(Q,W)});var sA=U("ZodULID",(Q,W)=>{YQ.init(Q,W),J0.init(Q,W)});var eA=U("ZodXID",(Q,W)=>{$Q.init(Q,W),J0.init(Q,W)});var QK=U("ZodKSUID",(Q,W)=>{JQ.init(Q,W),J0.init(Q,W)});var WK=U("ZodIPv4",(Q,W)=>{GQ.init(Q,W),J0.init(Q,W)});var XK=U("ZodIPv6",(Q,W)=>{HQ.init(Q,W),J0.init(Q,W)});var YK=U("ZodCIDRv4",(Q,W)=>{BQ.init(Q,W),J0.init(Q,W)});var $K=U("ZodCIDRv6",(Q,W)=>{AQ.init(Q,W),J0.init(Q,W)});var JK=U("ZodBase64",(Q,W)=>{KQ.init(Q,W),J0.init(Q,W)});var GK=U("ZodBase64URL",(Q,W)=>{zQ.init(Q,W),J0.init(Q,W)});var HK=U("ZodE164",(Q,W)=>{LQ.init(Q,W),J0.init(Q,W)});var BK=U("ZodJWT",(Q,W)=>{DQ.init(Q,W),J0.init(Q,W)});var QJ=U("ZodNumber",(Q,W)=>{r4.init(Q,W),A0.init(Q,W),Q.gt=(Y,$)=>Q.check(W9(Y,$)),Q.gte=(Y,$)=>Q.check(a6(Y,$)),Q.min=(Y,$)=>Q.check(a6(Y,$)),Q.lt=(Y,$)=>Q.check(Q9(Y,$)),Q.lte=(Y,$)=>Q.check(t6(Y,$)),Q.max=(Y,$)=>Q.check(t6(Y,$)),Q.int=(Y)=>Q.check(a$(Y)),Q.safe=(Y)=>Q.check(a$(Y)),Q.positive=(Y)=>Q.check(W9(0,Y)),Q.nonnegative=(Y)=>Q.check(a6(0,Y)),Q.negative=(Y)=>Q.check(Q9(0,Y)),Q.nonpositive=(Y)=>Q.check(t6(0,Y)),Q.multipleOf=(Y,$)=>Q.check(X9(Y,$)),Q.step=(Y,$)=>Q.check(X9(Y,$)),Q.finite=()=>Q;let X=Q._zod.bag;Q.minValue=Math.max(X.minimum??Number.NEGATIVE_INFINITY,X.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,Q.maxValue=Math.min(X.maximum??Number.POSITIVE_INFINITY,X.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,Q.isInt=(X.format??"").includes("int")||Number.isSafeInteger(X.multipleOf??0.5),Q.isFinite=!0,Q.format=X.format??null});function a(Q){return $W(QJ,Q)}var AK=U("ZodNumberFormat",(Q,W)=>{qQ.init(Q,W),QJ.init(Q,W)});function a$(Q){return JW(AK,Q)}var KK=U("ZodBoolean",(Q,W)=>{VQ.init(Q,W),A0.init(Q,W)});function q0(Q){return GW(KK,Q)}var zK=U("ZodNull",(Q,W)=>{FQ.init(Q,W),A0.init(Q,W)});function WJ(Q){return HW(zK,Q)}var LK=U("ZodUnknown",(Q,W)=>{UQ.init(Q,W),A0.init(Q,W)});function G0(){return BW(LK)}var DK=U("ZodNever",(Q,W)=>{OQ.init(Q,W),A0.init(Q,W)});function qK(Q){return AW(DK,Q)}var VK=U("ZodArray",(Q,W)=>{NQ.init(Q,W),A0.init(Q,W),Q.element=W.element,Q.min=(X,Y)=>Q.check(J6(X,Y)),Q.nonempty=(X)=>Q.check(J6(1,X)),Q.max=(X,Y)=>Q.check(Y9(X,Y)),Q.length=(X,Y)=>Q.check($9(X,Y)),Q.unwrap=()=>Q.element});function n(Q,W){return f$(VK,Q,W)}var XJ=U("ZodObject",(Q,W)=>{t4.init(Q,W),A0.init(Q,W),i.defineLazy(Q,"shape",()=>W.shape),Q.keyof=()=>P0(Object.keys(Q._zod.def.shape)),Q.catchall=(X)=>Q.clone({...Q._zod.def,catchall:X}),Q.passthrough=()=>Q.clone({...Q._zod.def,catchall:G0()}),Q.loose=()=>Q.clone({...Q._zod.def,catchall:G0()}),Q.strict=()=>Q.clone({...Q._zod.def,catchall:qK()}),Q.strip=()=>Q.clone({...Q._zod.def,catchall:void 0}),Q.extend=(X)=>{return i.extend(Q,X)},Q.merge=(X)=>i.merge(Q,X),Q.pick=(X)=>i.pick(Q,X),Q.omit=(X)=>i.omit(Q,X),Q.partial=(...X)=>i.partial(JJ,Q,X[0]),Q.required=(...X)=>i.required(GJ,Q,X[0])});function I(Q,W){let X={type:"object",get shape(){return i.assignProp(this,"shape",{...Q}),this.shape},...i.normalizeParams(W)};return new XJ(X)}function E0(Q,W){return new XJ({type:"object",get shape(){return i.assignProp(this,"shape",{...Q}),this.shape},catchall:G0(),...i.normalizeParams(W)})}var YJ=U("ZodUnion",(Q,W)=>{a4.init(Q,W),A0.init(Q,W),Q.options=W.options});function Y0(Q,W){return new YJ({type:"union",options:Q,...i.normalizeParams(W)})}var FK=U("ZodDiscriminatedUnion",(Q,W)=>{YJ.init(Q,W),wQ.init(Q,W)});function TW(Q,W,X){return new FK({type:"union",options:W,discriminator:Q,...i.normalizeParams(X)})}var UK=U("ZodIntersection",(Q,W)=>{MQ.init(Q,W),A0.init(Q,W)});function G9(Q,W){return new UK({type:"intersection",left:Q,right:W})}var OK=U("ZodRecord",(Q,W)=>{jQ.init(Q,W),A0.init(Q,W),Q.keyType=W.keyType,Q.valueType=W.valueType});function X0(Q,W,X){return new OK({type:"record",keyType:Q,valueType:W,...i.normalizeParams(X)})}var IW=U("ZodEnum",(Q,W)=>{EQ.init(Q,W),A0.init(Q,W),Q.enum=W.entries,Q.options=Object.values(W.entries);let X=new Set(Object.keys(W.entries));Q.extract=(Y,$)=>{let J={};for(let G of Y)if(X.has(G))J[G]=W.entries[G];else throw Error(`Key ${G} not found in enum`);return new IW({...W,checks:[],...i.normalizeParams($),entries:J})},Q.exclude=(Y,$)=>{let J={...W.entries};for(let G of Y)if(X.has(G))delete J[G];else throw Error(`Key ${G} not found in enum`);return new IW({...W,checks:[],...i.normalizeParams($),entries:J})}});function P0(Q,W){let X=Array.isArray(Q)?Object.fromEntries(Q.map((Y)=>[Y,Y])):Q;return new IW({type:"enum",entries:X,...i.normalizeParams(W)})}var NK=U("ZodLiteral",(Q,W)=>{bQ.init(Q,W),A0.init(Q,W),Q.values=new Set(W.values),Object.defineProperty(Q,"value",{get(){if(W.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return W.values[0]}})});function Z(Q,W){return new NK({type:"literal",values:Array.isArray(Q)?Q:[Q],...i.normalizeParams(W)})}var wK=U("ZodTransform",(Q,W)=>{SQ.init(Q,W),A0.init(Q,W),Q._zod.parse=(X,Y)=>{X.addIssue=(J)=>{if(typeof J==="string")X.issues.push(i.issue(J,X.value,W));else{let G=J;if(G.fatal)G.continue=!1;G.code??(G.code="custom"),G.input??(G.input=X.value),G.inst??(G.inst=Q),G.continue??(G.continue=!0),X.issues.push(i.issue(G))}};let $=W.transform(X.value,X);if($ instanceof Promise)return $.then((J)=>{return X.value=J,X});return X.value=$,X}});function $J(Q){return new wK({type:"transform",transform:Q})}var JJ=U("ZodOptional",(Q,W)=>{RQ.init(Q,W),A0.init(Q,W),Q.unwrap=()=>Q._zod.def.innerType});function H0(Q){return new JJ({type:"optional",innerType:Q})}var MK=U("ZodNullable",(Q,W)=>{PQ.init(Q,W),A0.init(Q,W),Q.unwrap=()=>Q._zod.def.innerType});function s$(Q){return new MK({type:"nullable",innerType:Q})}var jK=U("ZodDefault",(Q,W)=>{IQ.init(Q,W),A0.init(Q,W),Q.unwrap=()=>Q._zod.def.innerType,Q.removeDefault=Q.unwrap});function EK(Q,W){return new jK({type:"default",innerType:Q,get defaultValue(){return typeof W==="function"?W():W}})}var bK=U("ZodPrefault",(Q,W)=>{CQ.init(Q,W),A0.init(Q,W),Q.unwrap=()=>Q._zod.def.innerType});function SK(Q,W){return new bK({type:"prefault",innerType:Q,get defaultValue(){return typeof W==="function"?W():W}})}var GJ=U("ZodNonOptional",(Q,W)=>{TQ.init(Q,W),A0.init(Q,W),Q.unwrap=()=>Q._zod.def.innerType});function RK(Q,W){return new GJ({type:"nonoptional",innerType:Q,...i.normalizeParams(W)})}var PK=U("ZodCatch",(Q,W)=>{ZQ.init(Q,W),A0.init(Q,W),Q.unwrap=()=>Q._zod.def.innerType,Q.removeCatch=Q.unwrap});function IK(Q,W){return new PK({type:"catch",innerType:Q,catchValue:typeof W==="function"?W:()=>W})}var CK=U("ZodPipe",(Q,W)=>{vQ.init(Q,W),A0.init(Q,W),Q.in=W.in,Q.out=W.out});function CW(Q,W){return new CK({type:"pipe",in:Q,out:W})}var TK=U("ZodReadonly",(Q,W)=>{kQ.init(Q,W),A0.init(Q,W)});function ZK(Q){return new TK({type:"readonly",innerType:Q})}var HJ=U("ZodCustom",(Q,W)=>{_Q.init(Q,W),A0.init(Q,W)});function vK(Q){let W=new V0({check:"custom"});return W._zod.check=Q,W}function BJ(Q,W){return wW(HJ,Q??(()=>!0),W)}function kK(Q,W={}){return MW(HJ,Q,W)}function _K(Q){let W=vK((X)=>{return X.addIssue=(Y)=>{if(typeof Y==="string")X.issues.push(i.issue(Y,X.value,W._zod.def));else{let $=Y;if($.fatal)$.continue=!1;$.code??($.code="custom"),$.input??($.input=X.value),$.inst??($.inst=W),$.continue??($.continue=!W._zod.def.abort),X.issues.push(i.issue($))}},Q(X.value,X)});return W}function ZW(Q,W){return CW($J(Q),W)}k0(xQ());var vW="2025-11-25";var AJ=[vW,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],O1="io.modelcontextprotocol/related-task",B9="2.0",D0=BJ((Q)=>Q!==null&&(typeof Q==="object"||typeof Q==="function")),KJ=Y0([F(),a().int()]),zJ=F(),zE=E0({ttl:a().optional(),pollInterval:a().optional()}),xK=I({ttl:a().optional()}),gK=I({taskId:F()}),kW=E0({progressToken:KJ.optional(),[O1]:gK.optional()}),x0=I({_meta:kW.optional()}),Q4=x0.extend({task:xK.optional()}),LJ=(Q)=>Q4.safeParse(Q).success,F0=I({method:F(),params:x0.loose().optional()}),h0=I({_meta:kW.optional()}),f0=I({method:F(),params:h0.loose().optional()}),U0=E0({_meta:kW.optional()}),A9=Y0([F(),a().int()]),DJ=I({jsonrpc:Z(B9),id:A9,...F0.shape}).strict(),_W=(Q)=>DJ.safeParse(Q).success,qJ=I({jsonrpc:Z(B9),...f0.shape}).strict(),VJ=(Q)=>qJ.safeParse(Q).success,xW=I({jsonrpc:Z(B9),id:A9,result:U0}).strict(),W4=(Q)=>xW.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 gW=I({jsonrpc:Z(B9),id:A9.optional(),error:I({code:a().int(),message:F(),data:G0().optional()})}).strict();var FJ=(Q)=>gW.safeParse(Q).success;var UJ=Y0([DJ,qJ,xW,gW]),LE=Y0([xW,gW]),K9=U0.strict(),yK=h0.extend({requestId:A9.optional(),reason:F().optional()}),z9=f0.extend({method:Z("notifications/cancelled"),params:yK}),hK=I({src:F(),mimeType:F().optional(),sizes:n(F()).optional(),theme:P0(["light","dark"]).optional()}),X4=I({icons:n(hK).optional()}),G6=I({name:F(),title:F().optional()}),OJ=G6.extend({...G6.shape,...X4.shape,version:F(),websiteUrl:F().optional(),description:F().optional()}),fK=G9(I({applyDefaults:q0().optional()}),X0(F(),G0())),uK=ZW((Q)=>{if(Q&&typeof Q==="object"&&!Array.isArray(Q)){if(Object.keys(Q).length===0)return{form:{}}}return Q},G9(I({form:fK.optional(),url:D0.optional()}),X0(F(),G0()).optional())),lK=E0({list:D0.optional(),cancel:D0.optional(),requests:E0({sampling:E0({createMessage:D0.optional()}).optional(),elicitation:E0({create:D0.optional()}).optional()}).optional()}),mK=E0({list:D0.optional(),cancel:D0.optional(),requests:E0({tools:E0({call:D0.optional()}).optional()}).optional()}),cK=I({experimental:X0(F(),D0).optional(),sampling:I({context:D0.optional(),tools:D0.optional()}).optional(),elicitation:uK.optional(),roots:I({listChanged:q0().optional()}).optional(),tasks:lK.optional(),extensions:X0(F(),D0).optional()}),pK=x0.extend({protocolVersion:F(),capabilities:cK,clientInfo:OJ}),yW=F0.extend({method:Z("initialize"),params:pK});var iK=I({experimental:X0(F(),D0).optional(),logging:D0.optional(),completions:D0.optional(),prompts:I({listChanged:q0().optional()}).optional(),resources:I({subscribe:q0().optional(),listChanged:q0().optional()}).optional(),tools:I({listChanged:q0().optional()}).optional(),tasks:mK.optional(),extensions:X0(F(),D0).optional()}),nK=U0.extend({protocolVersion:F(),capabilities:iK,serverInfo:OJ,instructions:F().optional()}),hW=f0.extend({method:Z("notifications/initialized"),params:h0.optional()});var L9=F0.extend({method:Z("ping"),params:x0.optional()}),dK=I({progress:a(),total:H0(a()),message:H0(F())}),oK=I({...h0.shape,...dK.shape,progressToken:KJ}),D9=f0.extend({method:Z("notifications/progress"),params:oK}),rK=x0.extend({cursor:zJ.optional()}),Y4=F0.extend({params:rK.optional()}),$4=U0.extend({nextCursor:zJ.optional()}),tK=P0(["working","input_required","completed","failed","cancelled"]),J4=I({taskId:F(),status:tK,ttl:Y0([a(),WJ()]),createdAt:F(),lastUpdatedAt:F(),pollInterval:H0(a()),statusMessage:H0(F())}),H6=U0.extend({task:J4}),aK=h0.merge(J4),G4=f0.extend({method:Z("notifications/tasks/status"),params:aK}),q9=F0.extend({method:Z("tasks/get"),params:x0.extend({taskId:F()})}),V9=U0.merge(J4),F9=F0.extend({method:Z("tasks/result"),params:x0.extend({taskId:F()})}),DE=U0.loose(),U9=Y4.extend({method:Z("tasks/list")}),O9=$4.extend({tasks:n(J4)}),N9=F0.extend({method:Z("tasks/cancel"),params:x0.extend({taskId:F()})}),NJ=U0.merge(J4),wJ=I({uri:F(),mimeType:H0(F()),_meta:X0(F(),G0()).optional()}),MJ=wJ.extend({text:F()}),fW=F().refine((Q)=>{try{return atob(Q),!0}catch{return!1}},{message:"Invalid Base64 string"}),jJ=wJ.extend({blob:fW}),H4=P0(["user","assistant"]),B6=I({audience:n(H4).optional(),priority:a().min(0).max(1).optional(),lastModified:s6.datetime({offset:!0}).optional()}),EJ=I({...G6.shape,...X4.shape,uri:F(),description:H0(F()),mimeType:H0(F()),size:H0(a()),annotations:B6.optional(),_meta:H0(E0({}))}),sK=I({...G6.shape,...X4.shape,uriTemplate:F(),description:H0(F()),mimeType:H0(F()),annotations:B6.optional(),_meta:H0(E0({}))}),w9=Y4.extend({method:Z("resources/list")}),eK=$4.extend({resources:n(EJ)}),M9=Y4.extend({method:Z("resources/templates/list")}),Qz=$4.extend({resourceTemplates:n(sK)}),uW=x0.extend({uri:F()}),Wz=uW,j9=F0.extend({method:Z("resources/read"),params:Wz}),Xz=U0.extend({contents:n(Y0([MJ,jJ]))}),Yz=f0.extend({method:Z("notifications/resources/list_changed"),params:h0.optional()}),$z=uW,Jz=F0.extend({method:Z("resources/subscribe"),params:$z}),Gz=uW,Hz=F0.extend({method:Z("resources/unsubscribe"),params:Gz}),Bz=h0.extend({uri:F()}),Az=f0.extend({method:Z("notifications/resources/updated"),params:Bz}),Kz=I({name:F(),description:H0(F()),required:H0(q0())}),zz=I({...G6.shape,...X4.shape,description:H0(F()),arguments:H0(n(Kz)),_meta:H0(E0({}))}),E9=Y4.extend({method:Z("prompts/list")}),Lz=$4.extend({prompts:n(zz)}),Dz=x0.extend({name:F(),arguments:X0(F(),F()).optional()}),b9=F0.extend({method:Z("prompts/get"),params:Dz}),lW=I({type:Z("text"),text:F(),annotations:B6.optional(),_meta:X0(F(),G0()).optional()}),mW=I({type:Z("image"),data:fW,mimeType:F(),annotations:B6.optional(),_meta:X0(F(),G0()).optional()}),cW=I({type:Z("audio"),data:fW,mimeType:F(),annotations:B6.optional(),_meta:X0(F(),G0()).optional()}),qz=I({type:Z("tool_use"),name:F(),id:F(),input:X0(F(),G0()),_meta:X0(F(),G0()).optional()}),Vz=I({type:Z("resource"),resource:Y0([MJ,jJ]),annotations:B6.optional(),_meta:X0(F(),G0()).optional()}),Fz=EJ.extend({type:Z("resource_link")}),pW=Y0([lW,mW,cW,Fz,Vz]),Uz=I({role:H4,content:pW}),Oz=U0.extend({description:F().optional(),messages:n(Uz)}),Nz=f0.extend({method:Z("notifications/prompts/list_changed"),params:h0.optional()}),wz=I({title:F().optional(),readOnlyHint:q0().optional(),destructiveHint:q0().optional(),idempotentHint:q0().optional(),openWorldHint:q0().optional()}),Mz=I({taskSupport:P0(["required","optional","forbidden"]).optional()}),bJ=I({...G6.shape,...X4.shape,description:F().optional(),inputSchema:I({type:Z("object"),properties:X0(F(),D0).optional(),required:n(F()).optional()}).catchall(G0()),outputSchema:I({type:Z("object"),properties:X0(F(),D0).optional(),required:n(F()).optional()}).catchall(G0()).optional(),annotations:wz.optional(),execution:Mz.optional(),_meta:X0(F(),G0()).optional()}),S9=Y4.extend({method:Z("tools/list")}),jz=$4.extend({tools:n(bJ)}),R9=U0.extend({content:n(pW).default([]),structuredContent:X0(F(),G0()).optional(),isError:q0().optional()}),qE=R9.or(U0.extend({toolResult:G0()})),Ez=Q4.extend({name:F(),arguments:X0(F(),G0()).optional()}),A6=F0.extend({method:Z("tools/call"),params:Ez}),bz=f0.extend({method:Z("notifications/tools/list_changed"),params:h0.optional()}),VE=I({autoRefresh:q0().default(!0),debounceMs:a().int().nonnegative().default(300)}),B4=P0(["debug","info","notice","warning","error","critical","alert","emergency"]),Sz=x0.extend({level:B4}),iW=F0.extend({method:Z("logging/setLevel"),params:Sz}),Rz=h0.extend({level:B4,logger:F().optional(),data:G0()}),Pz=f0.extend({method:Z("notifications/message"),params:Rz}),Iz=I({name:F().optional()}),Cz=I({hints:n(Iz).optional(),costPriority:a().min(0).max(1).optional(),speedPriority:a().min(0).max(1).optional(),intelligencePriority:a().min(0).max(1).optional()}),Tz=I({mode:P0(["auto","required","none"]).optional()}),Zz=I({type:Z("tool_result"),toolUseId:F().describe("The unique identifier for the corresponding tool call."),content:n(pW).default([]),structuredContent:I({}).loose().optional(),isError:q0().optional(),_meta:X0(F(),G0()).optional()}),vz=TW("type",[lW,mW,cW]),H9=TW("type",[lW,mW,cW,qz,Zz]),kz=I({role:H4,content:Y0([H9,n(H9)]),_meta:X0(F(),G0()).optional()}),_z=Q4.extend({messages:n(kz),modelPreferences:Cz.optional(),systemPrompt:F().optional(),includeContext:P0(["none","thisServer","allServers"]).optional(),temperature:a().optional(),maxTokens:a().int(),stopSequences:n(F()).optional(),metadata:D0.optional(),tools:n(bJ).optional(),toolChoice:Tz.optional()}),xz=F0.extend({method:Z("sampling/createMessage"),params:_z}),A4=U0.extend({model:F(),stopReason:H0(P0(["endTurn","stopSequence","maxTokens"]).or(F())),role:H4,content:vz}),nW=U0.extend({model:F(),stopReason:H0(P0(["endTurn","stopSequence","maxTokens","toolUse"]).or(F())),role:H4,content:Y0([H9,n(H9)])}),gz=I({type:Z("boolean"),title:F().optional(),description:F().optional(),default:q0().optional()}),yz=I({type:Z("string"),title:F().optional(),description:F().optional(),minLength:a().optional(),maxLength:a().optional(),format:P0(["email","uri","date","date-time"]).optional(),default:F().optional()}),hz=I({type:P0(["number","integer"]),title:F().optional(),description:F().optional(),minimum:a().optional(),maximum:a().optional(),default:a().optional()}),fz=I({type:Z("string"),title:F().optional(),description:F().optional(),enum:n(F()),default:F().optional()}),uz=I({type:Z("string"),title:F().optional(),description:F().optional(),oneOf:n(I({const:F(),title:F()})),default:F().optional()}),lz=I({type:Z("string"),title:F().optional(),description:F().optional(),enum:n(F()),enumNames:n(F()).optional(),default:F().optional()}),mz=Y0([fz,uz]),cz=I({type:Z("array"),title:F().optional(),description:F().optional(),minItems:a().optional(),maxItems:a().optional(),items:I({type:Z("string"),enum:n(F())}),default:n(F()).optional()}),pz=I({type:Z("array"),title:F().optional(),description:F().optional(),minItems:a().optional(),maxItems:a().optional(),items:I({anyOf:n(I({const:F(),title:F()}))}),default:n(F()).optional()}),iz=Y0([cz,pz]),nz=Y0([lz,mz,iz]),dz=Y0([nz,gz,yz,hz]),oz=Q4.extend({mode:Z("form").optional(),message:F(),requestedSchema:I({type:Z("object"),properties:X0(F(),dz),required:n(F()).optional()})}),rz=Q4.extend({mode:Z("url"),message:F(),elicitationId:F(),url:F().url()}),tz=Y0([oz,rz]),az=F0.extend({method:Z("elicitation/create"),params:tz}),sz=h0.extend({elicitationId:F()}),ez=f0.extend({method:Z("notifications/elicitation/complete"),params:sz}),K6=U0.extend({action:P0(["accept","decline","cancel"]),content:ZW((Q)=>Q===null?void 0:Q,X0(F(),Y0([F(),a(),q0(),n(F())])).optional())}),QL=I({type:Z("ref/resource"),uri:F()});var WL=I({type:Z("ref/prompt"),name:F()}),XL=x0.extend({ref:Y0([WL,QL]),argument:I({name:F(),value:F()}),context:I({arguments:X0(F(),F()).optional()}).optional()}),P9=F0.extend({method:Z("completion/complete"),params:XL});function SJ(Q){if(Q.params.ref.type!=="ref/prompt")throw TypeError(`Expected CompleteRequestPrompt, but got ${Q.params.ref.type}`)}function RJ(Q){if(Q.params.ref.type!=="ref/resource")throw TypeError(`Expected CompleteRequestResourceTemplate, but got ${Q.params.ref.type}`)}var YL=U0.extend({completion:E0({values:n(F()).max(100),total:H0(a().int()),hasMore:H0(q0())})}),$L=I({uri:F().startsWith("file://"),name:F().optional(),_meta:X0(F(),G0()).optional()}),JL=F0.extend({method:Z("roots/list"),params:x0.optional()}),dW=U0.extend({roots:n($L)}),GL=f0.extend({method:Z("notifications/roots/list_changed"),params:h0.optional()}),FE=Y0([L9,yW,P9,iW,b9,E9,w9,M9,j9,Jz,Hz,A6,S9,q9,F9,U9,N9]),UE=Y0([z9,D9,hW,GL,G4]),OE=Y0([K9,A4,nW,K6,dW,V9,O9,H6]),NE=Y0([L9,xz,az,JL,q9,F9,U9,N9]),wE=Y0([z9,D9,Pz,Az,Yz,bz,Nz,G4,ez]),ME=Y0([K9,nK,YL,Oz,Lz,eK,Qz,Xz,R9,jz,V9,O9,H6]);class T extends Error{constructor(Q,W,X){super(`MCP error ${Q}: ${W}`);this.code=Q,this.data=X,this.name="McpError"}static fromError(Q,W,X){if(Q===k.UrlElicitationRequired&&X){let Y=X;if(Y.elicitations)return new PJ(Y.elicitations,W)}return new T(Q,W,X)}}class PJ extends T{constructor(Q,W=`URL elicitation${Q.length>1?"s":""} required`){super(k.UrlElicitationRequired,W,{elicitations:Q})}get elicitations(){return this.data?.elicitations??[]}}class oW{append(Q){this._buffer=this._buffer?Buffer.concat([this._buffer,Q]):Q}readMessage(){if(!this._buffer)return null;let Q=this._buffer.indexOf(`
38
38
  `);if(Q===-1)return null;let W=this._buffer.toString("utf8",0,Q).replace(/\r$/,"");return this._buffer=this._buffer.subarray(Q+1),HL(W)}clear(){this._buffer=void 0}}function HL(Q){return UJ.parse(JSON.parse(Q))}function IJ(Q){return JSON.stringify(Q)+`
39
- `}class rW{constructor(Q=CJ.stdin,W=CJ.stdout){this._stdin=Q,this._stdout=W,this._readBuffer=new oW,this._started=!1,this._ondata=(X)=>{this._readBuffer.append(X),this.processReadBuffer()},this._onerror=(X)=>{this.onerror?.(X)}}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((W)=>{let X=IJ(Q);if(this._stdout.write(X))W();else this._stdout.once("drain",W)})}}var TJ=7331,ZJ=[{name:"list_canvas",title:"List canvas",description:"List the devices (schematic nodes) and cable connections (edges) currently on the canvas."},{name:"search_library",title:"Search library",description:`Search the installed AV device library (by name, brand, model, family, category, description, or port signal domain). The query is split into words and every word must match, ranked by relevance, so pass a few English keywords (e.g. "shure wireless handheld") rather than a literal phrase in the user's language. Returns devices you can add with add_device_from_library.`},{name:"add_device_from_library",title:"Add device from library",description:"Instantiate a library device as a new schematic node on the canvas. Identify the device by packId + deviceType from search_library results. Optionally pass groupId (from add_group) to place it inside a labeled region."},{name:"add_generic_node",title:"Add generic node",description:"Add a schematic node for a device that has no library entry. You name it and define its in/out ports directly (type + connector). Use when search_library finds nothing for a device the user asked for. Optionally pass groupId (from add_group) to place it inside a labeled region."},{name:"add_group",title:"Add group",description:"Add a labeled region (e.g. a room or area) to the canvas, matching the canvas's own group tool. Pass the returned id as groupId to add_device_from_library/add_generic_node to place a device inside it."},{name:"add_rack",title:"Add rack",description:'Add a 19" rack elevation node to the canvas. Specify a name and how many rack units (U) tall it should be (e.g. 12, 18, 24, 42). Returns the rack node id.'},{name:"edit_rack",title:"Edit rack",description:"Rename a rack or change its unit count. Pass the rack node id plus the fields to update (name and/or units)."},{name:"add_rack_device",title:"Add rack device",description:"Add an equipment item to an existing rack elevation. Specify the rack node id, a label, optional AV signal type, start U (defaults to first free slot), width (1\u20134 columns, default 4), and height in U (default 1)."},{name:"edit_rack_device",title:"Edit rack device",description:"Update an existing item inside a rack \u2014 change its label, type, start U, width, or height. Pass the rack node id and the item id."},{name:"delete_rack_device",title:"Delete rack device",description:"Remove an equipment item from a rack by its item id. The rack node itself remains on the canvas."},{name:"add_location",title:"Add location",description:'Add a labeled region (location/room) to the canvas. Use mode "group" for a plain device-grouping box or "rcp" for a reflected-ceiling plan with real-world mm dimensions. Returns the group node id to use with add_device_from_library/add_generic_node.'},{name:"edit_location",title:"Edit location",description:"Rename a location, change its ID, switch between group and RCP mode, or resize an RCP room in mm. Pass the group node id plus the fields to update."},{name:"delete_location",title:"Delete location",description:"Delete a location (group node) from the canvas. Member devices inside the group are also removed."},{name:"add_edge",title:"Add edge",description:"Draw a cable between two device ports (same as connect_ports) with optional metadata: label, cable type string, and length in metres. The ports must share the same AV signal type AND physical connector."},{name:"edit_edge",title:"Edit edge",description:'Update an existing cable edge \u2014 change its label, cable type string, length (metres), or display mode ("cable" for a routed line, "tag" for port-label pills).'},{name:"delete_edge",title:"Delete edge",description:"Remove a cable edge from the canvas by its edge id."},{name:"get_drawing_details",title:"Get drawing details",description:"Return the current drawing's metadata: drawing number, revision, project name, title, client, bidder, drawn-by, checked-by."},{name:"edit_drawing_details",title:"Edit drawing details",description:"Update one or more fields of the drawing's metadata (title block). All fields are optional \u2014 only the ones you pass are changed."},{name:"add_rcp_item",title:"Add RCP item",description:"Add a reflected-ceiling-plan item (Speaker, Mic, Display, Projector, Light, Sensor, or Furniture) to the canvas. Specify size in mm and optional rotation in degrees. Optionally pass a groupId to place it inside an RCP-mode location."},{name:"edit_rcp_item",title:"Edit RCP item",description:"Update an existing RCP item \u2014 change its label, kind, shape (Furniture only), size (mm), or rotation. Switching kind resets rotation and shape to defaults."},{name:"delete_rcp_item",title:"Delete RCP item",description:"Remove an RCP item node from the canvas."},{name:"move_node_to_location",title:"Move node to location",description:"Assign a schematic device or RCP item to a location (group node), making it a child of that group. Schematic devices also inherit the group's location name and ID. The node's position is converted to group-relative coordinates."},{name:"remove_node_from_location",title:"Remove node from location",description:"Detach a node from its parent location/group, returning it to the canvas root. The node's position is converted back to canvas-absolute coordinates."},{name:"connect_ports",title:"Connect ports",description:"Draw a cable edge between an output port of one device and an input port of another. The two ports must share the same AV signal type AND the same physical connector (e.g. both XLR, both HDMI) or the call is rejected."},{name:"move_node",title:"Move node",description:"Move a node to a new x/y position on the canvas."},{name:"delete_node",title:"Delete node",description:"Delete a node from the canvas, along with any edges connected to it."},{name:"get_screenshot",title:"Get screenshot",description:"Capture a PNG screenshot of the current canvas view."}];var vJ=20000,m1=null,I9=new Map;function l1(...Q){console.error("[bridge]",...Q)}function kJ(Q=TJ){let W=process.env.HTIFA_TOKEN??null;Bun.serve({port:Q,hostname:"127.0.0.1",fetch(X,Y){if(Y.upgrade(X,{data:{authenticated:W===null}}))return;return new Response("htifa bridge",{status:200})},websocket:{open(X){if(X.data.authenticated)m1=X,l1("canvas connected")},message(X,Y){let $=typeof Y==="string"?Y:Y.toString();if(!X.data.authenticated){try{let H=JSON.parse($);if(H.type!=="auth"||H.token!==W){l1("rejected canvas: bad token"),X.close(4401,"Unauthorized");return}}catch{l1("rejected canvas: invalid auth frame"),X.close(4401,"Unauthorized");return}X.data.authenticated=!0,m1=X,l1("canvas connected (authenticated)");return}let J;try{J=JSON.parse($)}catch{l1("dropped non-JSON message from canvas");return}let G=I9.get(J.id);if(!G)return;if(I9.delete(J.id),clearTimeout(G.timer),J.ok)G.resolve(J.result);else G.reject(Error(J.error))},close(X){if(m1===X)m1=null,l1("canvas disconnected")}}}),l1(`listening on ws://127.0.0.1:${Q}${W?" (token auth)":" (no auth)"}`)}function _J(Q,W){if(!m1||m1.readyState!==WebSocket.OPEN)return Promise.reject(Error("No canvas connected. Open the newcanva app in your browser, then retry."));let X=crypto.randomUUID(),Y={id:X,tool:Q,params:W};return new Promise(($,J)=>{let G=setTimeout(()=>{I9.delete(X),J(Error(`Canvas did not respond to "${Q}" within ${vJ}ms.`))},vJ);I9.set(X,{resolve:$,reject:J,timer:G}),m1.send(JSON.stringify(Y))})}var N={};S8(N,{void:()=>iL,util:()=>p,unknown:()=>cL,union:()=>oL,undefined:()=>uL,tuple:()=>aL,transformer:()=>HD,symbol:()=>fL,string:()=>cJ,strictObject:()=>dL,setErrorMap:()=>KL,set:()=>QD,record:()=>sL,quotelessJson:()=>BL,promise:()=>GD,preprocess:()=>KD,pipeline:()=>zD,ostring:()=>LD,optional:()=>BD,onumber:()=>DD,oboolean:()=>qD,objectUtil:()=>tW,object:()=>eW,number:()=>pJ,nullable:()=>AD,null:()=>lL,never:()=>pL,nativeEnum:()=>JD,nan:()=>gL,map:()=>eL,makeIssue:()=>K4,literal:()=>YD,lazy:()=>XD,late:()=>_L,isValid:()=>N1,isDirty:()=>T9,isAsync:()=>L6,isAborted:()=>C9,intersection:()=>tL,instanceof:()=>xL,getParsedType:()=>Y1,getErrorMap:()=>z6,function:()=>WD,enum:()=>$D,effect:()=>HD,discriminatedUnion:()=>rL,defaultErrorMap:()=>B1,datetimeRegex:()=>uJ,date:()=>hL,custom:()=>mJ,coerce:()=>VD,boolean:()=>iJ,bigint:()=>yL,array:()=>nL,any:()=>mL,addIssueToContext:()=>R,ZodVoid:()=>L4,ZodUnknown:()=>w1,ZodUnion:()=>O6,ZodUndefined:()=>F6,ZodType:()=>c,ZodTuple:()=>J1,ZodTransformer:()=>d0,ZodSymbol:()=>z4,ZodString:()=>p0,ZodSet:()=>n1,ZodSchema:()=>c,ZodRecord:()=>D4,ZodReadonly:()=>S6,ZodPromise:()=>d1,ZodPipeline:()=>F4,ZodParsedType:()=>E,ZodOptional:()=>g0,ZodObject:()=>K0,ZodNumber:()=>M1,ZodNullable:()=>K1,ZodNull:()=>U6,ZodNever:()=>$1,ZodNativeEnum:()=>j6,ZodNaN:()=>V4,ZodMap:()=>q4,ZodLiteral:()=>M6,ZodLazy:()=>w6,ZodIssueCode:()=>M,ZodIntersection:()=>N6,ZodFunction:()=>q6,ZodFirstPartyTypeKind:()=>j,ZodError:()=>I0,ZodEnum:()=>E1,ZodEffects:()=>d0,ZodDiscriminatedUnion:()=>Z9,ZodDefault:()=>E6,ZodDate:()=>p1,ZodCatch:()=>b6,ZodBranded:()=>v9,ZodBoolean:()=>V6,ZodBigInt:()=>j1,ZodArray:()=>i0,ZodAny:()=>i1,Schema:()=>c,ParseStatus:()=>O0,OK:()=>w0,NEVER:()=>FD,INVALID:()=>x,EMPTY_PATH:()=>zL,DIRTY:()=>c1,BRAND:()=>kL});var p;(function(Q){Q.assertEqual=($)=>{};function W($){}Q.assertIs=W;function X($){throw Error()}Q.assertNever=X,Q.arrayToEnum=($)=>{let J={};for(let G of $)J[G]=G;return J},Q.getValidEnumValues=($)=>{let J=Q.objectKeys($).filter((H)=>typeof $[$[H]]!=="number"),G={};for(let H of J)G[H]=$[H];return Q.objectValues(G)},Q.objectValues=($)=>{return Q.objectKeys($).map(function(J){return $[J]})},Q.objectKeys=typeof Object.keys==="function"?($)=>Object.keys($):($)=>{let J=[];for(let G in $)if(Object.prototype.hasOwnProperty.call($,G))J.push(G);return J},Q.find=($,J)=>{for(let G of $)if(J(G))return G;return},Q.isInteger=typeof Number.isInteger==="function"?($)=>Number.isInteger($):($)=>typeof $==="number"&&Number.isFinite($)&&Math.floor($)===$;function Y($,J=" | "){return $.map((G)=>typeof G==="string"?`'${G}'`:G).join(J)}Q.joinValues=Y,Q.jsonStringifyReplacer=($,J)=>{if(typeof J==="bigint")return J.toString();return J}})(p||(p={}));var tW;(function(Q){Q.mergeShapes=(W,X)=>{return{...W,...X}}})(tW||(tW={}));var E=p.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Y1=(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 M=p.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"]),BL=(Q)=>{return JSON.stringify(Q,null,2).replace(/"([^"]+)":/g,"$1:")};class I0 extends Error{get errors(){return this.issues}constructor(Q){super();this.issues=[],this.addIssue=(X)=>{this.issues=[...this.issues,X]},this.addIssues=(X=[])=>{this.issues=[...this.issues,...X]};let W=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,W);else this.__proto__=W;this.name="ZodError",this.issues=Q}format(Q){let W=Q||function($){return $.message},X={_errors:[]},Y=($)=>{for(let J of $.issues)if(J.code==="invalid_union")J.unionErrors.map(Y);else if(J.code==="invalid_return_type")Y(J.returnTypeError);else if(J.code==="invalid_arguments")Y(J.argumentsError);else if(J.path.length===0)X._errors.push(W(J));else{let G=X,H=0;while(H<J.path.length){let B=J.path[H];if(H!==J.path.length-1)G[B]=G[B]||{_errors:[]};else G[B]=G[B]||{_errors:[]},G[B]._errors.push(W(J));G=G[B],H++}}};return Y(this),X}static assert(Q){if(!(Q instanceof I0))throw Error(`Not a ZodError: ${Q}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,p.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(Q=(W)=>W.message){let W={},X=[];for(let Y of this.issues)if(Y.path.length>0){let $=Y.path[0];W[$]=W[$]||[],W[$].push(Q(Y))}else X.push(Q(Y));return{formErrors:X,fieldErrors:W}}get formErrors(){return this.flatten()}}I0.create=(Q)=>{return new I0(Q)};var AL=(Q,W)=>{let X;switch(Q.code){case M.invalid_type:if(Q.received===E.undefined)X="Required";else X=`Expected ${Q.expected}, received ${Q.received}`;break;case M.invalid_literal:X=`Invalid literal value, expected ${JSON.stringify(Q.expected,p.jsonStringifyReplacer)}`;break;case M.unrecognized_keys:X=`Unrecognized key(s) in object: ${p.joinValues(Q.keys,", ")}`;break;case M.invalid_union:X="Invalid input";break;case M.invalid_union_discriminator:X=`Invalid discriminator value. Expected ${p.joinValues(Q.options)}`;break;case M.invalid_enum_value:X=`Invalid enum value. Expected ${p.joinValues(Q.options)}, received '${Q.received}'`;break;case M.invalid_arguments:X="Invalid function arguments";break;case M.invalid_return_type:X="Invalid function return type";break;case M.invalid_date:X="Invalid date";break;case M.invalid_string:if(typeof Q.validation==="object")if("includes"in Q.validation){if(X=`Invalid input: must include "${Q.validation.includes}"`,typeof Q.validation.position==="number")X=`${X} at one or more positions greater than or equal to ${Q.validation.position}`}else if("startsWith"in Q.validation)X=`Invalid input: must start with "${Q.validation.startsWith}"`;else if("endsWith"in Q.validation)X=`Invalid input: must end with "${Q.validation.endsWith}"`;else p.assertNever(Q.validation);else if(Q.validation!=="regex")X=`Invalid ${Q.validation}`;else X="Invalid";break;case M.too_small:if(Q.type==="array")X=`Array must contain ${Q.exact?"exactly":Q.inclusive?"at least":"more than"} ${Q.minimum} element(s)`;else if(Q.type==="string")X=`String must contain ${Q.exact?"exactly":Q.inclusive?"at least":"over"} ${Q.minimum} character(s)`;else if(Q.type==="number")X=`Number must be ${Q.exact?"exactly equal to ":Q.inclusive?"greater than or equal to ":"greater than "}${Q.minimum}`;else if(Q.type==="bigint")X=`Number must be ${Q.exact?"exactly equal to ":Q.inclusive?"greater than or equal to ":"greater than "}${Q.minimum}`;else if(Q.type==="date")X=`Date must be ${Q.exact?"exactly equal to ":Q.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(Q.minimum))}`;else X="Invalid input";break;case M.too_big:if(Q.type==="array")X=`Array must contain ${Q.exact?"exactly":Q.inclusive?"at most":"less than"} ${Q.maximum} element(s)`;else if(Q.type==="string")X=`String must contain ${Q.exact?"exactly":Q.inclusive?"at most":"under"} ${Q.maximum} character(s)`;else if(Q.type==="number")X=`Number must be ${Q.exact?"exactly":Q.inclusive?"less than or equal to":"less than"} ${Q.maximum}`;else if(Q.type==="bigint")X=`BigInt must be ${Q.exact?"exactly":Q.inclusive?"less than or equal to":"less than"} ${Q.maximum}`;else if(Q.type==="date")X=`Date must be ${Q.exact?"exactly":Q.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(Q.maximum))}`;else X="Invalid input";break;case M.custom:X="Invalid input";break;case M.invalid_intersection_types:X="Intersection results could not be merged";break;case M.not_multiple_of:X=`Number must be a multiple of ${Q.multipleOf}`;break;case M.not_finite:X="Number must be finite";break;default:X=W.defaultError,p.assertNever(Q)}return{message:X}},B1=AL;var xJ=B1;function KL(Q){xJ=Q}function z6(){return xJ}var K4=(Q)=>{let{data:W,path:X,errorMaps:Y,issueData:$}=Q,J=[...X,...$.path||[]],G={...$,path:J};if($.message!==void 0)return{...$,path:J,message:$.message};let H="",B=Y.filter((A)=>!!A).slice().reverse();for(let A of B)H=A(G,{data:W,defaultError:H}).message;return{...$,path:J,message:H}},zL=[];function R(Q,W){let X=z6(),Y=K4({issueData:W,data:Q.data,path:Q.path,errorMaps:[Q.common.contextualErrorMap,Q.schemaErrorMap,X,X===B1?void 0:B1].filter(($)=>!!$)});Q.common.issues.push(Y)}class O0{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(Q,W){let X=[];for(let Y of W){if(Y.status==="aborted")return x;if(Y.status==="dirty")Q.dirty();X.push(Y.value)}return{status:Q.value,value:X}}static async mergeObjectAsync(Q,W){let X=[];for(let Y of W){let $=await Y.key,J=await Y.value;X.push({key:$,value:J})}return O0.mergeObjectSync(Q,X)}static mergeObjectSync(Q,W){let X={};for(let Y of W){let{key:$,value:J}=Y;if($.status==="aborted")return x;if(J.status==="aborted")return x;if($.status==="dirty")Q.dirty();if(J.status==="dirty")Q.dirty();if($.value!=="__proto__"&&(typeof J.value<"u"||Y.alwaysSet))X[$.value]=J.value}return{status:Q.value,value:X}}}var x=Object.freeze({status:"aborted"}),c1=(Q)=>({status:"dirty",value:Q}),w0=(Q)=>({status:"valid",value:Q}),C9=(Q)=>Q.status==="aborted",T9=(Q)=>Q.status==="dirty",N1=(Q)=>Q.status==="valid",L6=(Q)=>typeof Promise<"u"&&Q instanceof Promise;var C;(function(Q){Q.errToObj=(W)=>typeof W==="string"?{message:W}:W||{},Q.toString=(W)=>typeof W==="string"?W:W?.message})(C||(C={}));class n0{constructor(Q,W,X,Y){this._cachedPath=[],this.parent=Q,this.data=W,this._path=X,this._key=Y}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 gJ=(Q,W)=>{if(N1(W))return{success:!0,data:W.value};else{if(!Q.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let X=new I0(Q.common.issues);return this._error=X,this._error}}}};function u(Q){if(!Q)return{};let{errorMap:W,invalid_type_error:X,required_error:Y,description:$}=Q;if(W&&(X||Y))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(W)return{errorMap:W,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??Y??H.defaultError};if(G.code!=="invalid_type")return{message:H.defaultError};return{message:B??X??H.defaultError}},description:$}}class c{get description(){return this._def.description}_getType(Q){return Y1(Q.data)}_getOrReturnCtx(Q,W){return W||{common:Q.parent.common,data:Q.data,parsedType:Y1(Q.data),schemaErrorMap:this._def.errorMap,path:Q.path,parent:Q.parent}}_processInputParams(Q){return{status:new O0,ctx:{common:Q.parent.common,data:Q.data,parsedType:Y1(Q.data),schemaErrorMap:this._def.errorMap,path:Q.path,parent:Q.parent}}}_parseSync(Q){let W=this._parse(Q);if(L6(W))throw Error("Synchronous parse encountered promise.");return W}_parseAsync(Q){let W=this._parse(Q);return Promise.resolve(W)}parse(Q,W){let X=this.safeParse(Q,W);if(X.success)return X.data;throw X.error}safeParse(Q,W){let X={common:{issues:[],async:W?.async??!1,contextualErrorMap:W?.errorMap},path:W?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:Q,parsedType:Y1(Q)},Y=this._parseSync({data:Q,path:X.path,parent:X});return gJ(X,Y)}"~validate"(Q){let W={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:Q,parsedType:Y1(Q)};if(!this["~standard"].async)try{let X=this._parseSync({data:Q,path:[],parent:W});return N1(X)?{value:X.value}:{issues:W.common.issues}}catch(X){if(X?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;W.common={issues:[],async:!0}}return this._parseAsync({data:Q,path:[],parent:W}).then((X)=>N1(X)?{value:X.value}:{issues:W.common.issues})}async parseAsync(Q,W){let X=await this.safeParseAsync(Q,W);if(X.success)return X.data;throw X.error}async safeParseAsync(Q,W){let X={common:{issues:[],contextualErrorMap:W?.errorMap,async:!0},path:W?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:Q,parsedType:Y1(Q)},Y=this._parse({data:Q,path:X.path,parent:X}),$=await(L6(Y)?Y:Promise.resolve(Y));return gJ(X,$)}refine(Q,W){let X=(Y)=>{if(typeof W==="string"||typeof W>"u")return{message:W};else if(typeof W==="function")return W(Y);else return W};return this._refinement((Y,$)=>{let J=Q(Y),G=()=>$.addIssue({code:M.custom,...X(Y)});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,W){return this._refinement((X,Y)=>{if(!Q(X))return Y.addIssue(typeof W==="function"?W(X,Y):W),!1;else return!0})}_refinement(Q){return new d0({schema:this,typeName:j.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:(W)=>this["~validate"](W)}}optional(){return g0.create(this,this._def)}nullable(){return K1.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return i0.create(this)}promise(){return d1.create(this,this._def)}or(Q){return O6.create([this,Q],this._def)}and(Q){return N6.create(this,Q,this._def)}transform(Q){return new d0({...u(this._def),schema:this,typeName:j.ZodEffects,effect:{type:"transform",transform:Q}})}default(Q){let W=typeof Q==="function"?Q:()=>Q;return new E6({...u(this._def),innerType:this,defaultValue:W,typeName:j.ZodDefault})}brand(){return new v9({typeName:j.ZodBranded,type:this,...u(this._def)})}catch(Q){let W=typeof Q==="function"?Q:()=>Q;return new b6({...u(this._def),innerType:this,catchValue:W,typeName:j.ZodCatch})}describe(Q){return new this.constructor({...this._def,description:Q})}pipe(Q){return F4.create(this,Q)}readonly(){return S6.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var LL=/^c[^\s-]{8,}$/i,DL=/^[0-9a-z]+$/,qL=/^[0-9A-HJKMNP-TV-Z]{26}$/i,VL=/^[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,FL=/^[a-z0-9_-]{21}$/i,UL=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,OL=/^[-+]?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)?)??$/,NL=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,wL="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",aW,ML=/^(?:(?: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])$/,jL=/^(?:(?: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])$/,EL=/^(([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]))$/,bL=/^(([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])$/,SL=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,RL=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,hJ="((\\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])))",PL=new RegExp(`^${hJ}$`);function fJ(Q){let W="[0-5]\\d";if(Q.precision)W=`${W}\\.\\d{${Q.precision}}`;else if(Q.precision==null)W=`${W}(\\.\\d+)?`;let X=Q.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${W})${X}`}function IL(Q){return new RegExp(`^${fJ(Q)}$`)}function uJ(Q){let W=`${hJ}T${fJ(Q)}`,X=[];if(X.push(Q.local?"Z?":"Z"),Q.offset)X.push("([+-]\\d{2}:?\\d{2})");return W=`${W}(${X.join("|")})`,new RegExp(`^${W}$`)}function CL(Q,W){if((W==="v4"||!W)&&ML.test(Q))return!0;if((W==="v6"||!W)&&EL.test(Q))return!0;return!1}function TL(Q,W){if(!UL.test(Q))return!1;try{let[X]=Q.split(".");if(!X)return!1;let Y=X.replace(/-/g,"+").replace(/_/g,"/").padEnd(X.length+(4-X.length%4)%4,"="),$=JSON.parse(atob(Y));if(typeof $!=="object"||$===null)return!1;if("typ"in $&&$?.typ!=="JWT")return!1;if(!$.alg)return!1;if(W&&$.alg!==W)return!1;return!0}catch{return!1}}function ZL(Q,W){if((W==="v4"||!W)&&jL.test(Q))return!0;if((W==="v6"||!W)&&bL.test(Q))return!0;return!1}class p0 extends c{_parse(Q){if(this._def.coerce)Q.data=String(Q.data);if(this._getType(Q)!==E.string){let $=this._getOrReturnCtx(Q);return R($,{code:M.invalid_type,expected:E.string,received:$.parsedType}),x}let X=new O0,Y=void 0;for(let $ of this._def.checks)if($.kind==="min"){if(Q.data.length<$.value)Y=this._getOrReturnCtx(Q,Y),R(Y,{code:M.too_small,minimum:$.value,type:"string",inclusive:!0,exact:!1,message:$.message}),X.dirty()}else if($.kind==="max"){if(Q.data.length>$.value)Y=this._getOrReturnCtx(Q,Y),R(Y,{code:M.too_big,maximum:$.value,type:"string",inclusive:!0,exact:!1,message:$.message}),X.dirty()}else if($.kind==="length"){let J=Q.data.length>$.value,G=Q.data.length<$.value;if(J||G){if(Y=this._getOrReturnCtx(Q,Y),J)R(Y,{code:M.too_big,maximum:$.value,type:"string",inclusive:!0,exact:!0,message:$.message});else if(G)R(Y,{code:M.too_small,minimum:$.value,type:"string",inclusive:!0,exact:!0,message:$.message});X.dirty()}}else if($.kind==="email"){if(!NL.test(Q.data))Y=this._getOrReturnCtx(Q,Y),R(Y,{validation:"email",code:M.invalid_string,message:$.message}),X.dirty()}else if($.kind==="emoji"){if(!aW)aW=new RegExp(wL,"u");if(!aW.test(Q.data))Y=this._getOrReturnCtx(Q,Y),R(Y,{validation:"emoji",code:M.invalid_string,message:$.message}),X.dirty()}else if($.kind==="uuid"){if(!VL.test(Q.data))Y=this._getOrReturnCtx(Q,Y),R(Y,{validation:"uuid",code:M.invalid_string,message:$.message}),X.dirty()}else if($.kind==="nanoid"){if(!FL.test(Q.data))Y=this._getOrReturnCtx(Q,Y),R(Y,{validation:"nanoid",code:M.invalid_string,message:$.message}),X.dirty()}else if($.kind==="cuid"){if(!LL.test(Q.data))Y=this._getOrReturnCtx(Q,Y),R(Y,{validation:"cuid",code:M.invalid_string,message:$.message}),X.dirty()}else if($.kind==="cuid2"){if(!DL.test(Q.data))Y=this._getOrReturnCtx(Q,Y),R(Y,{validation:"cuid2",code:M.invalid_string,message:$.message}),X.dirty()}else if($.kind==="ulid"){if(!qL.test(Q.data))Y=this._getOrReturnCtx(Q,Y),R(Y,{validation:"ulid",code:M.invalid_string,message:$.message}),X.dirty()}else if($.kind==="url")try{new URL(Q.data)}catch{Y=this._getOrReturnCtx(Q,Y),R(Y,{validation:"url",code:M.invalid_string,message:$.message}),X.dirty()}else if($.kind==="regex"){if($.regex.lastIndex=0,!$.regex.test(Q.data))Y=this._getOrReturnCtx(Q,Y),R(Y,{validation:"regex",code:M.invalid_string,message:$.message}),X.dirty()}else if($.kind==="trim")Q.data=Q.data.trim();else if($.kind==="includes"){if(!Q.data.includes($.value,$.position))Y=this._getOrReturnCtx(Q,Y),R(Y,{code:M.invalid_string,validation:{includes:$.value,position:$.position},message:$.message}),X.dirty()}else if($.kind==="toLowerCase")Q.data=Q.data.toLowerCase();else if($.kind==="toUpperCase")Q.data=Q.data.toUpperCase();else if($.kind==="startsWith"){if(!Q.data.startsWith($.value))Y=this._getOrReturnCtx(Q,Y),R(Y,{code:M.invalid_string,validation:{startsWith:$.value},message:$.message}),X.dirty()}else if($.kind==="endsWith"){if(!Q.data.endsWith($.value))Y=this._getOrReturnCtx(Q,Y),R(Y,{code:M.invalid_string,validation:{endsWith:$.value},message:$.message}),X.dirty()}else if($.kind==="datetime"){if(!uJ($).test(Q.data))Y=this._getOrReturnCtx(Q,Y),R(Y,{code:M.invalid_string,validation:"datetime",message:$.message}),X.dirty()}else if($.kind==="date"){if(!PL.test(Q.data))Y=this._getOrReturnCtx(Q,Y),R(Y,{code:M.invalid_string,validation:"date",message:$.message}),X.dirty()}else if($.kind==="time"){if(!IL($).test(Q.data))Y=this._getOrReturnCtx(Q,Y),R(Y,{code:M.invalid_string,validation:"time",message:$.message}),X.dirty()}else if($.kind==="duration"){if(!OL.test(Q.data))Y=this._getOrReturnCtx(Q,Y),R(Y,{validation:"duration",code:M.invalid_string,message:$.message}),X.dirty()}else if($.kind==="ip"){if(!CL(Q.data,$.version))Y=this._getOrReturnCtx(Q,Y),R(Y,{validation:"ip",code:M.invalid_string,message:$.message}),X.dirty()}else if($.kind==="jwt"){if(!TL(Q.data,$.alg))Y=this._getOrReturnCtx(Q,Y),R(Y,{validation:"jwt",code:M.invalid_string,message:$.message}),X.dirty()}else if($.kind==="cidr"){if(!ZL(Q.data,$.version))Y=this._getOrReturnCtx(Q,Y),R(Y,{validation:"cidr",code:M.invalid_string,message:$.message}),X.dirty()}else if($.kind==="base64"){if(!SL.test(Q.data))Y=this._getOrReturnCtx(Q,Y),R(Y,{validation:"base64",code:M.invalid_string,message:$.message}),X.dirty()}else if($.kind==="base64url"){if(!RL.test(Q.data))Y=this._getOrReturnCtx(Q,Y),R(Y,{validation:"base64url",code:M.invalid_string,message:$.message}),X.dirty()}else p.assertNever($);return{status:X.value,value:Q.data}}_regex(Q,W,X){return this.refinement((Y)=>Q.test(Y),{validation:W,code:M.invalid_string,...C.errToObj(X)})}_addCheck(Q){return new p0({...this._def,checks:[...this._def.checks,Q]})}email(Q){return this._addCheck({kind:"email",...C.errToObj(Q)})}url(Q){return this._addCheck({kind:"url",...C.errToObj(Q)})}emoji(Q){return this._addCheck({kind:"emoji",...C.errToObj(Q)})}uuid(Q){return this._addCheck({kind:"uuid",...C.errToObj(Q)})}nanoid(Q){return this._addCheck({kind:"nanoid",...C.errToObj(Q)})}cuid(Q){return this._addCheck({kind:"cuid",...C.errToObj(Q)})}cuid2(Q){return this._addCheck({kind:"cuid2",...C.errToObj(Q)})}ulid(Q){return this._addCheck({kind:"ulid",...C.errToObj(Q)})}base64(Q){return this._addCheck({kind:"base64",...C.errToObj(Q)})}base64url(Q){return this._addCheck({kind:"base64url",...C.errToObj(Q)})}jwt(Q){return this._addCheck({kind:"jwt",...C.errToObj(Q)})}ip(Q){return this._addCheck({kind:"ip",...C.errToObj(Q)})}cidr(Q){return this._addCheck({kind:"cidr",...C.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,...C.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,...C.errToObj(Q?.message)})}duration(Q){return this._addCheck({kind:"duration",...C.errToObj(Q)})}regex(Q,W){return this._addCheck({kind:"regex",regex:Q,...C.errToObj(W)})}includes(Q,W){return this._addCheck({kind:"includes",value:Q,position:W?.position,...C.errToObj(W?.message)})}startsWith(Q,W){return this._addCheck({kind:"startsWith",value:Q,...C.errToObj(W)})}endsWith(Q,W){return this._addCheck({kind:"endsWith",value:Q,...C.errToObj(W)})}min(Q,W){return this._addCheck({kind:"min",value:Q,...C.errToObj(W)})}max(Q,W){return this._addCheck({kind:"max",value:Q,...C.errToObj(W)})}length(Q,W){return this._addCheck({kind:"length",value:Q,...C.errToObj(W)})}nonempty(Q){return this.min(1,C.errToObj(Q))}trim(){return new p0({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new p0({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new p0({...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 W of this._def.checks)if(W.kind==="min"){if(Q===null||W.value>Q)Q=W.value}return Q}get maxLength(){let Q=null;for(let W of this._def.checks)if(W.kind==="max"){if(Q===null||W.value<Q)Q=W.value}return Q}}p0.create=(Q)=>{return new p0({checks:[],typeName:j.ZodString,coerce:Q?.coerce??!1,...u(Q)})};function vL(Q,W){let X=(Q.toString().split(".")[1]||"").length,Y=(W.toString().split(".")[1]||"").length,$=X>Y?X:Y,J=Number.parseInt(Q.toFixed($).replace(".","")),G=Number.parseInt(W.toFixed($).replace(".",""));return J%G/10**$}class M1 extends c{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 R($,{code:M.invalid_type,expected:E.number,received:$.parsedType}),x}let X=void 0,Y=new O0;for(let $ of this._def.checks)if($.kind==="int"){if(!p.isInteger(Q.data))X=this._getOrReturnCtx(Q,X),R(X,{code:M.invalid_type,expected:"integer",received:"float",message:$.message}),Y.dirty()}else if($.kind==="min"){if($.inclusive?Q.data<$.value:Q.data<=$.value)X=this._getOrReturnCtx(Q,X),R(X,{code:M.too_small,minimum:$.value,type:"number",inclusive:$.inclusive,exact:!1,message:$.message}),Y.dirty()}else if($.kind==="max"){if($.inclusive?Q.data>$.value:Q.data>=$.value)X=this._getOrReturnCtx(Q,X),R(X,{code:M.too_big,maximum:$.value,type:"number",inclusive:$.inclusive,exact:!1,message:$.message}),Y.dirty()}else if($.kind==="multipleOf"){if(vL(Q.data,$.value)!==0)X=this._getOrReturnCtx(Q,X),R(X,{code:M.not_multiple_of,multipleOf:$.value,message:$.message}),Y.dirty()}else if($.kind==="finite"){if(!Number.isFinite(Q.data))X=this._getOrReturnCtx(Q,X),R(X,{code:M.not_finite,message:$.message}),Y.dirty()}else p.assertNever($);return{status:Y.value,value:Q.data}}gte(Q,W){return this.setLimit("min",Q,!0,C.toString(W))}gt(Q,W){return this.setLimit("min",Q,!1,C.toString(W))}lte(Q,W){return this.setLimit("max",Q,!0,C.toString(W))}lt(Q,W){return this.setLimit("max",Q,!1,C.toString(W))}setLimit(Q,W,X,Y){return new M1({...this._def,checks:[...this._def.checks,{kind:Q,value:W,inclusive:X,message:C.toString(Y)}]})}_addCheck(Q){return new M1({...this._def,checks:[...this._def.checks,Q]})}int(Q){return this._addCheck({kind:"int",message:C.toString(Q)})}positive(Q){return this._addCheck({kind:"min",value:0,inclusive:!1,message:C.toString(Q)})}negative(Q){return this._addCheck({kind:"max",value:0,inclusive:!1,message:C.toString(Q)})}nonpositive(Q){return this._addCheck({kind:"max",value:0,inclusive:!0,message:C.toString(Q)})}nonnegative(Q){return this._addCheck({kind:"min",value:0,inclusive:!0,message:C.toString(Q)})}multipleOf(Q,W){return this._addCheck({kind:"multipleOf",value:Q,message:C.toString(W)})}finite(Q){return this._addCheck({kind:"finite",message:C.toString(Q)})}safe(Q){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:C.toString(Q)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:C.toString(Q)})}get minValue(){let Q=null;for(let W of this._def.checks)if(W.kind==="min"){if(Q===null||W.value>Q)Q=W.value}return Q}get maxValue(){let Q=null;for(let W of this._def.checks)if(W.kind==="max"){if(Q===null||W.value<Q)Q=W.value}return Q}get isInt(){return!!this._def.checks.find((Q)=>Q.kind==="int"||Q.kind==="multipleOf"&&p.isInteger(Q.value))}get isFinite(){let Q=null,W=null;for(let X of this._def.checks)if(X.kind==="finite"||X.kind==="int"||X.kind==="multipleOf")return!0;else if(X.kind==="min"){if(W===null||X.value>W)W=X.value}else if(X.kind==="max"){if(Q===null||X.value<Q)Q=X.value}return Number.isFinite(W)&&Number.isFinite(Q)}}M1.create=(Q)=>{return new M1({checks:[],typeName:j.ZodNumber,coerce:Q?.coerce||!1,...u(Q)})};class j1 extends c{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 X=void 0,Y=new O0;for(let $ of this._def.checks)if($.kind==="min"){if($.inclusive?Q.data<$.value:Q.data<=$.value)X=this._getOrReturnCtx(Q,X),R(X,{code:M.too_small,type:"bigint",minimum:$.value,inclusive:$.inclusive,message:$.message}),Y.dirty()}else if($.kind==="max"){if($.inclusive?Q.data>$.value:Q.data>=$.value)X=this._getOrReturnCtx(Q,X),R(X,{code:M.too_big,type:"bigint",maximum:$.value,inclusive:$.inclusive,message:$.message}),Y.dirty()}else if($.kind==="multipleOf"){if(Q.data%$.value!==BigInt(0))X=this._getOrReturnCtx(Q,X),R(X,{code:M.not_multiple_of,multipleOf:$.value,message:$.message}),Y.dirty()}else p.assertNever($);return{status:Y.value,value:Q.data}}_getInvalidInput(Q){let W=this._getOrReturnCtx(Q);return R(W,{code:M.invalid_type,expected:E.bigint,received:W.parsedType}),x}gte(Q,W){return this.setLimit("min",Q,!0,C.toString(W))}gt(Q,W){return this.setLimit("min",Q,!1,C.toString(W))}lte(Q,W){return this.setLimit("max",Q,!0,C.toString(W))}lt(Q,W){return this.setLimit("max",Q,!1,C.toString(W))}setLimit(Q,W,X,Y){return new j1({...this._def,checks:[...this._def.checks,{kind:Q,value:W,inclusive:X,message:C.toString(Y)}]})}_addCheck(Q){return new j1({...this._def,checks:[...this._def.checks,Q]})}positive(Q){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:C.toString(Q)})}negative(Q){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:C.toString(Q)})}nonpositive(Q){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:C.toString(Q)})}nonnegative(Q){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:C.toString(Q)})}multipleOf(Q,W){return this._addCheck({kind:"multipleOf",value:Q,message:C.toString(W)})}get minValue(){let Q=null;for(let W of this._def.checks)if(W.kind==="min"){if(Q===null||W.value>Q)Q=W.value}return Q}get maxValue(){let Q=null;for(let W of this._def.checks)if(W.kind==="max"){if(Q===null||W.value<Q)Q=W.value}return Q}}j1.create=(Q)=>{return new j1({checks:[],typeName:j.ZodBigInt,coerce:Q?.coerce??!1,...u(Q)})};class V6 extends c{_parse(Q){if(this._def.coerce)Q.data=Boolean(Q.data);if(this._getType(Q)!==E.boolean){let X=this._getOrReturnCtx(Q);return R(X,{code:M.invalid_type,expected:E.boolean,received:X.parsedType}),x}return w0(Q.data)}}V6.create=(Q)=>{return new V6({typeName:j.ZodBoolean,coerce:Q?.coerce||!1,...u(Q)})};class p1 extends c{_parse(Q){if(this._def.coerce)Q.data=new Date(Q.data);if(this._getType(Q)!==E.date){let $=this._getOrReturnCtx(Q);return R($,{code:M.invalid_type,expected:E.date,received:$.parsedType}),x}if(Number.isNaN(Q.data.getTime())){let $=this._getOrReturnCtx(Q);return R($,{code:M.invalid_date}),x}let X=new O0,Y=void 0;for(let $ of this._def.checks)if($.kind==="min"){if(Q.data.getTime()<$.value)Y=this._getOrReturnCtx(Q,Y),R(Y,{code:M.too_small,message:$.message,inclusive:!0,exact:!1,minimum:$.value,type:"date"}),X.dirty()}else if($.kind==="max"){if(Q.data.getTime()>$.value)Y=this._getOrReturnCtx(Q,Y),R(Y,{code:M.too_big,message:$.message,inclusive:!0,exact:!1,maximum:$.value,type:"date"}),X.dirty()}else p.assertNever($);return{status:X.value,value:new Date(Q.data.getTime())}}_addCheck(Q){return new p1({...this._def,checks:[...this._def.checks,Q]})}min(Q,W){return this._addCheck({kind:"min",value:Q.getTime(),message:C.toString(W)})}max(Q,W){return this._addCheck({kind:"max",value:Q.getTime(),message:C.toString(W)})}get minDate(){let Q=null;for(let W of this._def.checks)if(W.kind==="min"){if(Q===null||W.value>Q)Q=W.value}return Q!=null?new Date(Q):null}get maxDate(){let Q=null;for(let W of this._def.checks)if(W.kind==="max"){if(Q===null||W.value<Q)Q=W.value}return Q!=null?new Date(Q):null}}p1.create=(Q)=>{return new p1({checks:[],coerce:Q?.coerce||!1,typeName:j.ZodDate,...u(Q)})};class z4 extends c{_parse(Q){if(this._getType(Q)!==E.symbol){let X=this._getOrReturnCtx(Q);return R(X,{code:M.invalid_type,expected:E.symbol,received:X.parsedType}),x}return w0(Q.data)}}z4.create=(Q)=>{return new z4({typeName:j.ZodSymbol,...u(Q)})};class F6 extends c{_parse(Q){if(this._getType(Q)!==E.undefined){let X=this._getOrReturnCtx(Q);return R(X,{code:M.invalid_type,expected:E.undefined,received:X.parsedType}),x}return w0(Q.data)}}F6.create=(Q)=>{return new F6({typeName:j.ZodUndefined,...u(Q)})};class U6 extends c{_parse(Q){if(this._getType(Q)!==E.null){let X=this._getOrReturnCtx(Q);return R(X,{code:M.invalid_type,expected:E.null,received:X.parsedType}),x}return w0(Q.data)}}U6.create=(Q)=>{return new U6({typeName:j.ZodNull,...u(Q)})};class i1 extends c{constructor(){super(...arguments);this._any=!0}_parse(Q){return w0(Q.data)}}i1.create=(Q)=>{return new i1({typeName:j.ZodAny,...u(Q)})};class w1 extends c{constructor(){super(...arguments);this._unknown=!0}_parse(Q){return w0(Q.data)}}w1.create=(Q)=>{return new w1({typeName:j.ZodUnknown,...u(Q)})};class $1 extends c{_parse(Q){let W=this._getOrReturnCtx(Q);return R(W,{code:M.invalid_type,expected:E.never,received:W.parsedType}),x}}$1.create=(Q)=>{return new $1({typeName:j.ZodNever,...u(Q)})};class L4 extends c{_parse(Q){if(this._getType(Q)!==E.undefined){let X=this._getOrReturnCtx(Q);return R(X,{code:M.invalid_type,expected:E.void,received:X.parsedType}),x}return w0(Q.data)}}L4.create=(Q)=>{return new L4({typeName:j.ZodVoid,...u(Q)})};class i0 extends c{_parse(Q){let{ctx:W,status:X}=this._processInputParams(Q),Y=this._def;if(W.parsedType!==E.array)return R(W,{code:M.invalid_type,expected:E.array,received:W.parsedType}),x;if(Y.exactLength!==null){let J=W.data.length>Y.exactLength.value,G=W.data.length<Y.exactLength.value;if(J||G)R(W,{code:J?M.too_big:M.too_small,minimum:G?Y.exactLength.value:void 0,maximum:J?Y.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:Y.exactLength.message}),X.dirty()}if(Y.minLength!==null){if(W.data.length<Y.minLength.value)R(W,{code:M.too_small,minimum:Y.minLength.value,type:"array",inclusive:!0,exact:!1,message:Y.minLength.message}),X.dirty()}if(Y.maxLength!==null){if(W.data.length>Y.maxLength.value)R(W,{code:M.too_big,maximum:Y.maxLength.value,type:"array",inclusive:!0,exact:!1,message:Y.maxLength.message}),X.dirty()}if(W.common.async)return Promise.all([...W.data].map((J,G)=>{return Y.type._parseAsync(new n0(W,J,W.path,G))})).then((J)=>{return O0.mergeArray(X,J)});let $=[...W.data].map((J,G)=>{return Y.type._parseSync(new n0(W,J,W.path,G))});return O0.mergeArray(X,$)}get element(){return this._def.type}min(Q,W){return new i0({...this._def,minLength:{value:Q,message:C.toString(W)}})}max(Q,W){return new i0({...this._def,maxLength:{value:Q,message:C.toString(W)}})}length(Q,W){return new i0({...this._def,exactLength:{value:Q,message:C.toString(W)}})}nonempty(Q){return this.min(1,Q)}}i0.create=(Q,W)=>{return new i0({type:Q,minLength:null,maxLength:null,exactLength:null,typeName:j.ZodArray,...u(W)})};function D6(Q){if(Q instanceof K0){let W={};for(let X in Q.shape){let Y=Q.shape[X];W[X]=g0.create(D6(Y))}return new K0({...Q._def,shape:()=>W})}else if(Q instanceof i0)return new i0({...Q._def,type:D6(Q.element)});else if(Q instanceof g0)return g0.create(D6(Q.unwrap()));else if(Q instanceof K1)return K1.create(D6(Q.unwrap()));else if(Q instanceof J1)return J1.create(Q.items.map((W)=>D6(W)));else return Q}class K0 extends c{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(),W=p.objectKeys(Q);return this._cached={shape:Q,keys:W},this._cached}_parse(Q){if(this._getType(Q)!==E.object){let B=this._getOrReturnCtx(Q);return R(B,{code:M.invalid_type,expected:E.object,received:B.parsedType}),x}let{status:X,ctx:Y}=this._processInputParams(Q),{shape:$,keys:J}=this._getCached(),G=[];if(!(this._def.catchall instanceof $1&&this._def.unknownKeys==="strip")){for(let B in Y.data)if(!J.includes(B))G.push(B)}let H=[];for(let B of J){let A=$[B],K=Y.data[B];H.push({key:{status:"valid",value:B},value:A._parse(new n0(Y,K,Y.path,B)),alwaysSet:B in Y.data})}if(this._def.catchall instanceof $1){let B=this._def.unknownKeys;if(B==="passthrough")for(let A of G)H.push({key:{status:"valid",value:A},value:{status:"valid",value:Y.data[A]}});else if(B==="strict"){if(G.length>0)R(Y,{code:M.unrecognized_keys,keys:G}),X.dirty()}else if(B==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let B=this._def.catchall;for(let A of G){let K=Y.data[A];H.push({key:{status:"valid",value:A},value:B._parse(new n0(Y,K,Y.path,A)),alwaysSet:A in Y.data})}}if(Y.common.async)return Promise.resolve().then(async()=>{let B=[];for(let A of H){let K=await A.key,L=await A.value;B.push({key:K,value:L,alwaysSet:A.alwaysSet})}return B}).then((B)=>{return O0.mergeObjectSync(X,B)});else return O0.mergeObjectSync(X,H)}get shape(){return this._def.shape()}strict(Q){return C.errToObj,new K0({...this._def,unknownKeys:"strict",...Q!==void 0?{errorMap:(W,X)=>{let Y=this._def.errorMap?.(W,X).message??X.defaultError;if(W.code==="unrecognized_keys")return{message:C.errToObj(Q).message??Y};return{message:Y}}}:{}})}strip(){return new K0({...this._def,unknownKeys:"strip"})}passthrough(){return new K0({...this._def,unknownKeys:"passthrough"})}extend(Q){return new K0({...this._def,shape:()=>({...this._def.shape(),...Q})})}merge(Q){return new K0({unknownKeys:Q._def.unknownKeys,catchall:Q._def.catchall,shape:()=>({...this._def.shape(),...Q._def.shape()}),typeName:j.ZodObject})}setKey(Q,W){return this.augment({[Q]:W})}catchall(Q){return new K0({...this._def,catchall:Q})}pick(Q){let W={};for(let X of p.objectKeys(Q))if(Q[X]&&this.shape[X])W[X]=this.shape[X];return new K0({...this._def,shape:()=>W})}omit(Q){let W={};for(let X of p.objectKeys(this.shape))if(!Q[X])W[X]=this.shape[X];return new K0({...this._def,shape:()=>W})}deepPartial(){return D6(this)}partial(Q){let W={};for(let X of p.objectKeys(this.shape)){let Y=this.shape[X];if(Q&&!Q[X])W[X]=Y;else W[X]=Y.optional()}return new K0({...this._def,shape:()=>W})}required(Q){let W={};for(let X of p.objectKeys(this.shape))if(Q&&!Q[X])W[X]=this.shape[X];else{let $=this.shape[X];while($ instanceof g0)$=$._def.innerType;W[X]=$}return new K0({...this._def,shape:()=>W})}keyof(){return lJ(p.objectKeys(this.shape))}}K0.create=(Q,W)=>{return new K0({shape:()=>Q,unknownKeys:"strip",catchall:$1.create(),typeName:j.ZodObject,...u(W)})};K0.strictCreate=(Q,W)=>{return new K0({shape:()=>Q,unknownKeys:"strict",catchall:$1.create(),typeName:j.ZodObject,...u(W)})};K0.lazycreate=(Q,W)=>{return new K0({shape:Q,unknownKeys:"strip",catchall:$1.create(),typeName:j.ZodObject,...u(W)})};class O6 extends c{_parse(Q){let{ctx:W}=this._processInputParams(Q),X=this._def.options;function Y($){for(let G of $)if(G.result.status==="valid")return G.result;for(let G of $)if(G.result.status==="dirty")return W.common.issues.push(...G.ctx.common.issues),G.result;let J=$.map((G)=>new I0(G.ctx.common.issues));return R(W,{code:M.invalid_union,unionErrors:J}),x}if(W.common.async)return Promise.all(X.map(async($)=>{let J={...W,common:{...W.common,issues:[]},parent:null};return{result:await $._parseAsync({data:W.data,path:W.path,parent:J}),ctx:J}})).then(Y);else{let $=void 0,J=[];for(let H of X){let B={...W,common:{...W.common,issues:[]},parent:null},A=H._parseSync({data:W.data,path:W.path,parent:B});if(A.status==="valid")return A;else if(A.status==="dirty"&&!$)$={result:A,ctx:B};if(B.common.issues.length)J.push(B.common.issues)}if($)return W.common.issues.push(...$.ctx.common.issues),$.result;let G=J.map((H)=>new I0(H));return R(W,{code:M.invalid_union,unionErrors:G}),x}}get options(){return this._def.options}}O6.create=(Q,W)=>{return new O6({options:Q,typeName:j.ZodUnion,...u(W)})};var A1=(Q)=>{if(Q instanceof w6)return A1(Q.schema);else if(Q instanceof d0)return A1(Q.innerType());else if(Q instanceof M6)return[Q.value];else if(Q instanceof E1)return Q.options;else if(Q instanceof j6)return p.objectValues(Q.enum);else if(Q instanceof E6)return A1(Q._def.innerType);else if(Q instanceof F6)return[void 0];else if(Q instanceof U6)return[null];else if(Q instanceof g0)return[void 0,...A1(Q.unwrap())];else if(Q instanceof K1)return[null,...A1(Q.unwrap())];else if(Q instanceof v9)return A1(Q.unwrap());else if(Q instanceof S6)return A1(Q.unwrap());else if(Q instanceof b6)return A1(Q._def.innerType);else return[]};class Z9 extends c{_parse(Q){let{ctx:W}=this._processInputParams(Q);if(W.parsedType!==E.object)return R(W,{code:M.invalid_type,expected:E.object,received:W.parsedType}),x;let X=this.discriminator,Y=W.data[X],$=this.optionsMap.get(Y);if(!$)return R(W,{code:M.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[X]}),x;if(W.common.async)return $._parseAsync({data:W.data,path:W.path,parent:W});else return $._parseSync({data:W.data,path:W.path,parent:W})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(Q,W,X){let Y=new Map;for(let $ of W){let J=A1($.shape[Q]);if(!J.length)throw Error(`A discriminator value for key \`${Q}\` could not be extracted from all schema options`);for(let G of J){if(Y.has(G))throw Error(`Discriminator property ${String(Q)} has duplicate value ${String(G)}`);Y.set(G,$)}}return new Z9({typeName:j.ZodDiscriminatedUnion,discriminator:Q,options:W,optionsMap:Y,...u(X)})}}function sW(Q,W){let X=Y1(Q),Y=Y1(W);if(Q===W)return{valid:!0,data:Q};else if(X===E.object&&Y===E.object){let $=p.objectKeys(W),J=p.objectKeys(Q).filter((H)=>$.indexOf(H)!==-1),G={...Q,...W};for(let H of J){let B=sW(Q[H],W[H]);if(!B.valid)return{valid:!1};G[H]=B.data}return{valid:!0,data:G}}else if(X===E.array&&Y===E.array){if(Q.length!==W.length)return{valid:!1};let $=[];for(let J=0;J<Q.length;J++){let G=Q[J],H=W[J],B=sW(G,H);if(!B.valid)return{valid:!1};$.push(B.data)}return{valid:!0,data:$}}else if(X===E.date&&Y===E.date&&+Q===+W)return{valid:!0,data:Q};else return{valid:!1}}class N6 extends c{_parse(Q){let{status:W,ctx:X}=this._processInputParams(Q),Y=($,J)=>{if(C9($)||C9(J))return x;let G=sW($.value,J.value);if(!G.valid)return R(X,{code:M.invalid_intersection_types}),x;if(T9($)||T9(J))W.dirty();return{status:W.value,value:G.data}};if(X.common.async)return Promise.all([this._def.left._parseAsync({data:X.data,path:X.path,parent:X}),this._def.right._parseAsync({data:X.data,path:X.path,parent:X})]).then(([$,J])=>Y($,J));else return Y(this._def.left._parseSync({data:X.data,path:X.path,parent:X}),this._def.right._parseSync({data:X.data,path:X.path,parent:X}))}}N6.create=(Q,W,X)=>{return new N6({left:Q,right:W,typeName:j.ZodIntersection,...u(X)})};class J1 extends c{_parse(Q){let{status:W,ctx:X}=this._processInputParams(Q);if(X.parsedType!==E.array)return R(X,{code:M.invalid_type,expected:E.array,received:X.parsedType}),x;if(X.data.length<this._def.items.length)return R(X,{code:M.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),x;if(!this._def.rest&&X.data.length>this._def.items.length)R(X,{code:M.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),W.dirty();let $=[...X.data].map((J,G)=>{let H=this._def.items[G]||this._def.rest;if(!H)return null;return H._parse(new n0(X,J,X.path,G))}).filter((J)=>!!J);if(X.common.async)return Promise.all($).then((J)=>{return O0.mergeArray(W,J)});else return O0.mergeArray(W,$)}get items(){return this._def.items}rest(Q){return new J1({...this._def,rest:Q})}}J1.create=(Q,W)=>{if(!Array.isArray(Q))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new J1({items:Q,typeName:j.ZodTuple,rest:null,...u(W)})};class D4 extends c{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(Q){let{status:W,ctx:X}=this._processInputParams(Q);if(X.parsedType!==E.object)return R(X,{code:M.invalid_type,expected:E.object,received:X.parsedType}),x;let Y=[],$=this._def.keyType,J=this._def.valueType;for(let G in X.data)Y.push({key:$._parse(new n0(X,G,X.path,G)),value:J._parse(new n0(X,X.data[G],X.path,G)),alwaysSet:G in X.data});if(X.common.async)return O0.mergeObjectAsync(W,Y);else return O0.mergeObjectSync(W,Y)}get element(){return this._def.valueType}static create(Q,W,X){if(W instanceof c)return new D4({keyType:Q,valueType:W,typeName:j.ZodRecord,...u(X)});return new D4({keyType:p0.create(),valueType:Q,typeName:j.ZodRecord,...u(W)})}}class q4 extends c{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(Q){let{status:W,ctx:X}=this._processInputParams(Q);if(X.parsedType!==E.map)return R(X,{code:M.invalid_type,expected:E.map,received:X.parsedType}),x;let Y=this._def.keyType,$=this._def.valueType,J=[...X.data.entries()].map(([G,H],B)=>{return{key:Y._parse(new n0(X,G,X.path,[B,"key"])),value:$._parse(new n0(X,H,X.path,[B,"value"]))}});if(X.common.async){let G=new Map;return Promise.resolve().then(async()=>{for(let H of J){let B=await H.key,A=await H.value;if(B.status==="aborted"||A.status==="aborted")return x;if(B.status==="dirty"||A.status==="dirty")W.dirty();G.set(B.value,A.value)}return{status:W.value,value:G}})}else{let G=new Map;for(let H of J){let{key:B,value:A}=H;if(B.status==="aborted"||A.status==="aborted")return x;if(B.status==="dirty"||A.status==="dirty")W.dirty();G.set(B.value,A.value)}return{status:W.value,value:G}}}}q4.create=(Q,W,X)=>{return new q4({valueType:W,keyType:Q,typeName:j.ZodMap,...u(X)})};class n1 extends c{_parse(Q){let{status:W,ctx:X}=this._processInputParams(Q);if(X.parsedType!==E.set)return R(X,{code:M.invalid_type,expected:E.set,received:X.parsedType}),x;let Y=this._def;if(Y.minSize!==null){if(X.data.size<Y.minSize.value)R(X,{code:M.too_small,minimum:Y.minSize.value,type:"set",inclusive:!0,exact:!1,message:Y.minSize.message}),W.dirty()}if(Y.maxSize!==null){if(X.data.size>Y.maxSize.value)R(X,{code:M.too_big,maximum:Y.maxSize.value,type:"set",inclusive:!0,exact:!1,message:Y.maxSize.message}),W.dirty()}let $=this._def.valueType;function J(H){let B=new Set;for(let A of H){if(A.status==="aborted")return x;if(A.status==="dirty")W.dirty();B.add(A.value)}return{status:W.value,value:B}}let G=[...X.data.values()].map((H,B)=>$._parse(new n0(X,H,X.path,B)));if(X.common.async)return Promise.all(G).then((H)=>J(H));else return J(G)}min(Q,W){return new n1({...this._def,minSize:{value:Q,message:C.toString(W)}})}max(Q,W){return new n1({...this._def,maxSize:{value:Q,message:C.toString(W)}})}size(Q,W){return this.min(Q,W).max(Q,W)}nonempty(Q){return this.min(1,Q)}}n1.create=(Q,W)=>{return new n1({valueType:Q,minSize:null,maxSize:null,typeName:j.ZodSet,...u(W)})};class q6 extends c{constructor(){super(...arguments);this.validate=this.implement}_parse(Q){let{ctx:W}=this._processInputParams(Q);if(W.parsedType!==E.function)return R(W,{code:M.invalid_type,expected:E.function,received:W.parsedType}),x;function X(G,H){return K4({data:G,path:W.path,errorMaps:[W.common.contextualErrorMap,W.schemaErrorMap,z6(),B1].filter((B)=>!!B),issueData:{code:M.invalid_arguments,argumentsError:H}})}function Y(G,H){return K4({data:G,path:W.path,errorMaps:[W.common.contextualErrorMap,W.schemaErrorMap,z6(),B1].filter((B)=>!!B),issueData:{code:M.invalid_return_type,returnTypeError:H}})}let $={errorMap:W.common.contextualErrorMap},J=W.data;if(this._def.returns instanceof d1){let G=this;return w0(async function(...H){let B=new I0([]),A=await G._def.args.parseAsync(H,$).catch((D)=>{throw B.addIssue(X(H,D)),B}),K=await Reflect.apply(J,this,A);return await G._def.returns._def.type.parseAsync(K,$).catch((D)=>{throw B.addIssue(Y(K,D)),B})})}else{let G=this;return w0(function(...H){let B=G._def.args.safeParse(H,$);if(!B.success)throw new I0([X(H,B.error)]);let A=Reflect.apply(J,this,B.data),K=G._def.returns.safeParse(A,$);if(!K.success)throw new I0([Y(A,K.error)]);return K.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...Q){return new q6({...this._def,args:J1.create(Q).rest(w1.create())})}returns(Q){return new q6({...this._def,returns:Q})}implement(Q){return this.parse(Q)}strictImplement(Q){return this.parse(Q)}static create(Q,W,X){return new q6({args:Q?Q:J1.create([]).rest(w1.create()),returns:W||w1.create(),typeName:j.ZodFunction,...u(X)})}}class w6 extends c{get schema(){return this._def.getter()}_parse(Q){let{ctx:W}=this._processInputParams(Q);return this._def.getter()._parse({data:W.data,path:W.path,parent:W})}}w6.create=(Q,W)=>{return new w6({getter:Q,typeName:j.ZodLazy,...u(W)})};class M6 extends c{_parse(Q){if(Q.data!==this._def.value){let W=this._getOrReturnCtx(Q);return R(W,{received:W.data,code:M.invalid_literal,expected:this._def.value}),x}return{status:"valid",value:Q.data}}get value(){return this._def.value}}M6.create=(Q,W)=>{return new M6({value:Q,typeName:j.ZodLiteral,...u(W)})};function lJ(Q,W){return new E1({values:Q,typeName:j.ZodEnum,...u(W)})}class E1 extends c{_parse(Q){if(typeof Q.data!=="string"){let W=this._getOrReturnCtx(Q),X=this._def.values;return R(W,{expected:p.joinValues(X),received:W.parsedType,code:M.invalid_type}),x}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(Q.data)){let W=this._getOrReturnCtx(Q),X=this._def.values;return R(W,{received:W.data,code:M.invalid_enum_value,options:X}),x}return w0(Q.data)}get options(){return this._def.values}get enum(){let Q={};for(let W of this._def.values)Q[W]=W;return Q}get Values(){let Q={};for(let W of this._def.values)Q[W]=W;return Q}get Enum(){let Q={};for(let W of this._def.values)Q[W]=W;return Q}extract(Q,W=this._def){return E1.create(Q,{...this._def,...W})}exclude(Q,W=this._def){return E1.create(this.options.filter((X)=>!Q.includes(X)),{...this._def,...W})}}E1.create=lJ;class j6 extends c{_parse(Q){let W=p.getValidEnumValues(this._def.values),X=this._getOrReturnCtx(Q);if(X.parsedType!==E.string&&X.parsedType!==E.number){let Y=p.objectValues(W);return R(X,{expected:p.joinValues(Y),received:X.parsedType,code:M.invalid_type}),x}if(!this._cache)this._cache=new Set(p.getValidEnumValues(this._def.values));if(!this._cache.has(Q.data)){let Y=p.objectValues(W);return R(X,{received:X.data,code:M.invalid_enum_value,options:Y}),x}return w0(Q.data)}get enum(){return this._def.values}}j6.create=(Q,W)=>{return new j6({values:Q,typeName:j.ZodNativeEnum,...u(W)})};class d1 extends c{unwrap(){return this._def.type}_parse(Q){let{ctx:W}=this._processInputParams(Q);if(W.parsedType!==E.promise&&W.common.async===!1)return R(W,{code:M.invalid_type,expected:E.promise,received:W.parsedType}),x;let X=W.parsedType===E.promise?W.data:Promise.resolve(W.data);return w0(X.then((Y)=>{return this._def.type.parseAsync(Y,{path:W.path,errorMap:W.common.contextualErrorMap})}))}}d1.create=(Q,W)=>{return new d1({type:Q,typeName:j.ZodPromise,...u(W)})};class d0 extends c{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===j.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(Q){let{status:W,ctx:X}=this._processInputParams(Q),Y=this._def.effect||null,$={addIssue:(J)=>{if(R(X,J),J.fatal)W.abort();else W.dirty()},get path(){return X.path}};if($.addIssue=$.addIssue.bind($),Y.type==="preprocess"){let J=Y.transform(X.data,$);if(X.common.async)return Promise.resolve(J).then(async(G)=>{if(W.value==="aborted")return x;let H=await this._def.schema._parseAsync({data:G,path:X.path,parent:X});if(H.status==="aborted")return x;if(H.status==="dirty")return c1(H.value);if(W.value==="dirty")return c1(H.value);return H});else{if(W.value==="aborted")return x;let G=this._def.schema._parseSync({data:J,path:X.path,parent:X});if(G.status==="aborted")return x;if(G.status==="dirty")return c1(G.value);if(W.value==="dirty")return c1(G.value);return G}}if(Y.type==="refinement"){let J=(G)=>{let H=Y.refinement(G,$);if(X.common.async)return Promise.resolve(H);if(H instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return G};if(X.common.async===!1){let G=this._def.schema._parseSync({data:X.data,path:X.path,parent:X});if(G.status==="aborted")return x;if(G.status==="dirty")W.dirty();return J(G.value),{status:W.value,value:G.value}}else return this._def.schema._parseAsync({data:X.data,path:X.path,parent:X}).then((G)=>{if(G.status==="aborted")return x;if(G.status==="dirty")W.dirty();return J(G.value).then(()=>{return{status:W.value,value:G.value}})})}if(Y.type==="transform")if(X.common.async===!1){let J=this._def.schema._parseSync({data:X.data,path:X.path,parent:X});if(!N1(J))return x;let G=Y.transform(J.value,$);if(G instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:W.value,value:G}}else return this._def.schema._parseAsync({data:X.data,path:X.path,parent:X}).then((J)=>{if(!N1(J))return x;return Promise.resolve(Y.transform(J.value,$)).then((G)=>({status:W.value,value:G}))});p.assertNever(Y)}}d0.create=(Q,W,X)=>{return new d0({schema:Q,typeName:j.ZodEffects,effect:W,...u(X)})};d0.createWithPreprocess=(Q,W,X)=>{return new d0({schema:W,effect:{type:"preprocess",transform:Q},typeName:j.ZodEffects,...u(X)})};class g0 extends c{_parse(Q){if(this._getType(Q)===E.undefined)return w0(void 0);return this._def.innerType._parse(Q)}unwrap(){return this._def.innerType}}g0.create=(Q,W)=>{return new g0({innerType:Q,typeName:j.ZodOptional,...u(W)})};class K1 extends c{_parse(Q){if(this._getType(Q)===E.null)return w0(null);return this._def.innerType._parse(Q)}unwrap(){return this._def.innerType}}K1.create=(Q,W)=>{return new K1({innerType:Q,typeName:j.ZodNullable,...u(W)})};class E6 extends c{_parse(Q){let{ctx:W}=this._processInputParams(Q),X=W.data;if(W.parsedType===E.undefined)X=this._def.defaultValue();return this._def.innerType._parse({data:X,path:W.path,parent:W})}removeDefault(){return this._def.innerType}}E6.create=(Q,W)=>{return new E6({innerType:Q,typeName:j.ZodDefault,defaultValue:typeof W.default==="function"?W.default:()=>W.default,...u(W)})};class b6 extends c{_parse(Q){let{ctx:W}=this._processInputParams(Q),X={...W,common:{...W.common,issues:[]}},Y=this._def.innerType._parse({data:X.data,path:X.path,parent:{...X}});if(L6(Y))return Y.then(($)=>{return{status:"valid",value:$.status==="valid"?$.value:this._def.catchValue({get error(){return new I0(X.common.issues)},input:X.data})}});else return{status:"valid",value:Y.status==="valid"?Y.value:this._def.catchValue({get error(){return new I0(X.common.issues)},input:X.data})}}removeCatch(){return this._def.innerType}}b6.create=(Q,W)=>{return new b6({innerType:Q,typeName:j.ZodCatch,catchValue:typeof W.catch==="function"?W.catch:()=>W.catch,...u(W)})};class V4 extends c{_parse(Q){if(this._getType(Q)!==E.nan){let X=this._getOrReturnCtx(Q);return R(X,{code:M.invalid_type,expected:E.nan,received:X.parsedType}),x}return{status:"valid",value:Q.data}}}V4.create=(Q)=>{return new V4({typeName:j.ZodNaN,...u(Q)})};var kL=Symbol("zod_brand");class v9 extends c{_parse(Q){let{ctx:W}=this._processInputParams(Q),X=W.data;return this._def.type._parse({data:X,path:W.path,parent:W})}unwrap(){return this._def.type}}class F4 extends c{_parse(Q){let{status:W,ctx:X}=this._processInputParams(Q);if(X.common.async)return(async()=>{let $=await this._def.in._parseAsync({data:X.data,path:X.path,parent:X});if($.status==="aborted")return x;if($.status==="dirty")return W.dirty(),c1($.value);else return this._def.out._parseAsync({data:$.value,path:X.path,parent:X})})();else{let Y=this._def.in._parseSync({data:X.data,path:X.path,parent:X});if(Y.status==="aborted")return x;if(Y.status==="dirty")return W.dirty(),{status:"dirty",value:Y.value};else return this._def.out._parseSync({data:Y.value,path:X.path,parent:X})}}static create(Q,W){return new F4({in:Q,out:W,typeName:j.ZodPipeline})}}class S6 extends c{_parse(Q){let W=this._def.innerType._parse(Q),X=(Y)=>{if(N1(Y))Y.value=Object.freeze(Y.value);return Y};return L6(W)?W.then((Y)=>X(Y)):X(W)}unwrap(){return this._def.innerType}}S6.create=(Q,W)=>{return new S6({innerType:Q,typeName:j.ZodReadonly,...u(W)})};function yJ(Q,W){let X=typeof Q==="function"?Q(W):typeof Q==="string"?{message:Q}:Q;return typeof X==="string"?{message:X}:X}function mJ(Q,W={},X){if(Q)return i1.create().superRefine((Y,$)=>{let J=Q(Y);if(J instanceof Promise)return J.then((G)=>{if(!G){let H=yJ(W,Y),B=H.fatal??X??!0;$.addIssue({code:"custom",...H,fatal:B})}});if(!J){let G=yJ(W,Y),H=G.fatal??X??!0;$.addIssue({code:"custom",...G,fatal:H})}return});return i1.create()}var _L={object:K0.lazycreate},j;(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"})(j||(j={}));var xL=(Q,W={message:`Input not instance of ${Q.name}`})=>mJ((X)=>X instanceof Q,W),cJ=p0.create,pJ=M1.create,gL=V4.create,yL=j1.create,iJ=V6.create,hL=p1.create,fL=z4.create,uL=F6.create,lL=U6.create,mL=i1.create,cL=w1.create,pL=$1.create,iL=L4.create,nL=i0.create,eW=K0.create,dL=K0.strictCreate,oL=O6.create,rL=Z9.create,tL=N6.create,aL=J1.create,sL=D4.create,eL=q4.create,QD=n1.create,WD=q6.create,XD=w6.create,YD=M6.create,$D=E1.create,JD=j6.create,GD=d1.create,HD=d0.create,BD=g0.create,AD=K1.create,KD=d0.createWithPreprocess,zD=F4.create,LD=()=>cJ().optional(),DD=()=>pJ().optional(),qD=()=>iJ().optional(),VD={string:(Q)=>p0.create({...Q,coerce:!0}),number:(Q)=>M1.create({...Q,coerce:!0}),boolean:(Q)=>V6.create({...Q,coerce:!0}),bigint:(Q)=>j1.create({...Q,coerce:!0}),date:(Q)=>p1.create({...Q,coerce:!0})};var FD=x;var OD=U("ZodMiniType",(Q,W)=>{if(!Q._zod)throw Error("Uninitialized schema in ZodMiniType.");s.init(Q,W),Q.def=W,Q.parse=(X,Y)=>h8(Q,X,Y,{callee:Q.parse}),Q.safeParse=(X,Y)=>y1(Q,X,Y),Q.parseAsync=async(X,Y)=>u8(Q,X,Y,{callee:Q.parseAsync}),Q.safeParseAsync=async(X,Y)=>h1(Q,X,Y),Q.check=(...X)=>{return Q.clone({...W,checks:[...W.checks??[],...X.map((Y)=>typeof Y==="function"?{_zod:{check:Y,def:{check:"custom"},onattach:[]}}:Y)]})},Q.clone=(X,Y)=>_0(Q,X,Y),Q.brand=()=>Q,Q.register=(X,Y)=>{return X.add(Q,Y),Q}});var ND=U("ZodMiniObject",(Q,W)=>{t4.init(Q,W),OD.init(Q,W),i.defineLazy(Q,"shape",()=>W.shape)});function QX(Q,W){let X={type:"object",get shape(){return i.assignProp(this,"shape",{...Q}),this.shape},...i.normalizeParams(W)};return new ND(X)}function u0(Q){return!!Q._zod}function o1(Q){let W=Object.values(Q);if(W.length===0)return QX({});let X=W.every(u0),Y=W.every(($)=>!u0($));if(X)return QX(Q);if(Y)return eW(Q);throw Error("Mixed Zod versions detected in object shape.")}function b1(Q,W){if(u0(Q))return y1(Q,W);return Q.safeParse(W)}async function k9(Q,W){if(u0(Q))return await h1(Q,W);return await Q.safeParseAsync(W)}function S1(Q){if(!Q)return;let W;if(u0(Q))W=Q._zod?.def?.shape;else W=Q.shape;if(!W)return;if(typeof W==="function")try{return W()}catch{return}return W}function R6(Q){if(!Q)return;if(typeof Q==="object"){let W=Q,X=Q;if(!W._def&&!X._zod){let Y=Object.values(Q);if(Y.length>0&&Y.every(($)=>typeof $==="object"&&$!==null&&($._def!==void 0||$._zod!==void 0||typeof $.parse==="function")))return o1(Q)}}if(u0(Q)){let X=Q._zod?.def;if(X&&(X.type==="object"||X.shape!==void 0))return Q}else if(Q.shape!==void 0)return Q;return}function _9(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 W=Q.issues[0];if(W&&typeof W==="object"&&"message"in W)return String(W.message)}try{return JSON.stringify(Q)}catch{return String(Q)}}return String(Q)}function nJ(Q){return Q.description}function dJ(Q){if(u0(Q))return Q._zod?.def?.type==="optional";let W=Q;if(typeof Q.isOptional==="function")return Q.isOptional();return W._def?.typeName==="ZodOptional"}function x9(Q){if(u0(Q)){let J=Q._zod?.def;if(J){if(J.value!==void 0)return J.value;if(Array.isArray(J.values)&&J.values.length>0)return J.values[0]}}let X=Q._def;if(X){if(X.value!==void 0)return X.value;if(Array.isArray(X.values)&&X.values.length>0)return X.values[0]}let Y=Q.value;if(Y!==void 0)return Y;return}function R1(Q){return Q==="completed"||Q==="failed"||Q==="cancelled"}var rJ=Symbol("Let zodToJsonSchema decide on which parser to use");var oJ={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"},tJ=(Q)=>typeof Q==="string"?{...oJ,name:Q}:{...oJ,...Q};var aJ=(Q)=>{let W=tJ(Q),X=W.name!==void 0?[...W.basePath,W.definitionPath,W.name]:W.basePath;return{...W,flags:{hasReferencedOpenAiAnyType:!1},currentPath:X,propertyPath:void 0,seen:new Map(Object.entries(W.definitions).map(([Y,$])=>[$._def,{def:$._def,path:[...W.basePath,W.definitionPath,Y],jsonSchema:void 0}]))}};function WX(Q,W,X,Y){if(!Y?.errorMessages)return;if(X)Q.errorMessage={...Q.errorMessage,[W]:X}}function d(Q,W,X,Y,$){Q[W]=X,WX(Q,W,Y,$)}var g9=(Q,W)=>{let X=0;for(;X<Q.length&&X<W.length;X++)if(Q[X]!==W[X])break;return[(Q.length-X).toString(),...W.slice(X)].join("/")};function B0(Q){if(Q.target!=="openAi")return{};let W=[...Q.basePath,Q.definitionPath,Q.openAiAnyTypeName];return Q.flags.hasReferencedOpenAiAnyType=!0,{$ref:Q.$refStrategy==="relative"?g9(W,Q.currentPath):W.join("/")}}function sJ(Q,W){let X={type:"array"};if(Q.type?._def&&Q.type?._def?.typeName!==j.ZodAny)X.items=y(Q.type._def,{...W,currentPath:[...W.currentPath,"items"]});if(Q.minLength)d(X,"minItems",Q.minLength.value,Q.minLength.message,W);if(Q.maxLength)d(X,"maxItems",Q.maxLength.value,Q.maxLength.message,W);if(Q.exactLength)d(X,"minItems",Q.exactLength.value,Q.exactLength.message,W),d(X,"maxItems",Q.exactLength.value,Q.exactLength.message,W);return X}function eJ(Q,W){let X={type:"integer",format:"int64"};if(!Q.checks)return X;for(let Y of Q.checks)switch(Y.kind){case"min":if(W.target==="jsonSchema7")if(Y.inclusive)d(X,"minimum",Y.value,Y.message,W);else d(X,"exclusiveMinimum",Y.value,Y.message,W);else{if(!Y.inclusive)X.exclusiveMinimum=!0;d(X,"minimum",Y.value,Y.message,W)}break;case"max":if(W.target==="jsonSchema7")if(Y.inclusive)d(X,"maximum",Y.value,Y.message,W);else d(X,"exclusiveMaximum",Y.value,Y.message,W);else{if(!Y.inclusive)X.exclusiveMaximum=!0;d(X,"maximum",Y.value,Y.message,W)}break;case"multipleOf":d(X,"multipleOf",Y.value,Y.message,W);break}return X}function Q7(){return{type:"boolean"}}function y9(Q,W){return y(Q.type._def,W)}var W7=(Q,W)=>{return y(Q.innerType._def,W)};function XX(Q,W,X){let Y=X??W.dateStrategy;if(Array.isArray(Y))return{anyOf:Y.map(($,J)=>XX(Q,W,$))};switch(Y){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return MD(Q,W)}}var MD=(Q,W)=>{let X={type:"integer",format:"unix-time"};if(W.target==="openApi3")return X;for(let Y of Q.checks)switch(Y.kind){case"min":d(X,"minimum",Y.value,Y.message,W);break;case"max":d(X,"maximum",Y.value,Y.message,W);break}return X};function X7(Q,W){return{...y(Q.innerType._def,W),default:Q.defaultValue()}}function Y7(Q,W){return W.effectStrategy==="input"?y(Q.schema._def,W):B0(W)}function $7(Q){return{type:"string",enum:Array.from(Q.values)}}var jD=(Q)=>{if("type"in Q&&Q.type==="string")return!1;return"allOf"in Q};function J7(Q,W){let X=[y(Q.left._def,{...W,currentPath:[...W.currentPath,"allOf","0"]}),y(Q.right._def,{...W,currentPath:[...W.currentPath,"allOf","1"]})].filter((J)=>!!J),Y=W.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,$=[];return X.forEach((J)=>{if(jD(J)){if($.push(...J.allOf),J.unevaluatedProperties===void 0)Y=void 0}else{let G=J;if("additionalProperties"in J&&J.additionalProperties===!1){let{additionalProperties:H,...B}=J;G=B}else Y=void 0;$.push(G)}}),$.length?{allOf:$,...Y}:void 0}function G7(Q,W){let X=typeof Q.value;if(X!=="bigint"&&X!=="number"&&X!=="boolean"&&X!=="string")return{type:Array.isArray(Q.value)?"array":"object"};if(W.target==="openApi3")return{type:X==="bigint"?"integer":X,enum:[Q.value]};return{type:X==="bigint"?"integer":X,const:Q.value}}var YX=void 0,o0={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(YX===void 0)YX=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return YX},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 h9(Q,W){let X={type:"string"};if(Q.checks)for(let Y of Q.checks)switch(Y.kind){case"min":d(X,"minLength",typeof X.minLength==="number"?Math.max(X.minLength,Y.value):Y.value,Y.message,W);break;case"max":d(X,"maxLength",typeof X.maxLength==="number"?Math.min(X.maxLength,Y.value):Y.value,Y.message,W);break;case"email":switch(W.emailStrategy){case"format:email":r0(X,"email",Y.message,W);break;case"format:idn-email":r0(X,"idn-email",Y.message,W);break;case"pattern:zod":b0(X,o0.email,Y.message,W);break}break;case"url":r0(X,"uri",Y.message,W);break;case"uuid":r0(X,"uuid",Y.message,W);break;case"regex":b0(X,Y.regex,Y.message,W);break;case"cuid":b0(X,o0.cuid,Y.message,W);break;case"cuid2":b0(X,o0.cuid2,Y.message,W);break;case"startsWith":b0(X,RegExp(`^${$X(Y.value,W)}`),Y.message,W);break;case"endsWith":b0(X,RegExp(`${$X(Y.value,W)}$`),Y.message,W);break;case"datetime":r0(X,"date-time",Y.message,W);break;case"date":r0(X,"date",Y.message,W);break;case"time":r0(X,"time",Y.message,W);break;case"duration":r0(X,"duration",Y.message,W);break;case"length":d(X,"minLength",typeof X.minLength==="number"?Math.max(X.minLength,Y.value):Y.value,Y.message,W),d(X,"maxLength",typeof X.maxLength==="number"?Math.min(X.maxLength,Y.value):Y.value,Y.message,W);break;case"includes":{b0(X,RegExp($X(Y.value,W)),Y.message,W);break}case"ip":{if(Y.version!=="v6")r0(X,"ipv4",Y.message,W);if(Y.version!=="v4")r0(X,"ipv6",Y.message,W);break}case"base64url":b0(X,o0.base64url,Y.message,W);break;case"jwt":b0(X,o0.jwt,Y.message,W);break;case"cidr":{if(Y.version!=="v6")b0(X,o0.ipv4Cidr,Y.message,W);if(Y.version!=="v4")b0(X,o0.ipv6Cidr,Y.message,W);break}case"emoji":b0(X,o0.emoji(),Y.message,W);break;case"ulid":{b0(X,o0.ulid,Y.message,W);break}case"base64":{switch(W.base64Strategy){case"format:binary":{r0(X,"binary",Y.message,W);break}case"contentEncoding:base64":{d(X,"contentEncoding","base64",Y.message,W);break}case"pattern:zod":{b0(X,o0.base64,Y.message,W);break}}break}case"nanoid":b0(X,o0.nanoid,Y.message,W);case"toLowerCase":case"toUpperCase":case"trim":break;default:(($)=>{})(Y)}return X}function $X(Q,W){return W.patternStrategy==="escape"?bD(Q):Q}var ED=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function bD(Q){let W="";for(let X=0;X<Q.length;X++){if(!ED.has(Q[X]))W+="\\";W+=Q[X]}return W}function r0(Q,W,X,Y){if(Q.format||Q.anyOf?.some(($)=>$.format)){if(!Q.anyOf)Q.anyOf=[];if(Q.format){if(Q.anyOf.push({format:Q.format,...Q.errorMessage&&Y.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:W,...X&&Y.errorMessages&&{errorMessage:{format:X}}})}else d(Q,"format",W,X,Y)}function b0(Q,W,X,Y){if(Q.pattern||Q.allOf?.some(($)=>$.pattern)){if(!Q.allOf)Q.allOf=[];if(Q.pattern){if(Q.allOf.push({pattern:Q.pattern,...Q.errorMessage&&Y.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:H7(W,Y),...X&&Y.errorMessages&&{errorMessage:{pattern:X}}})}else d(Q,"pattern",H7(W,Y),X,Y)}function H7(Q,W){if(!W.applyRegexFlags||!Q.flags)return Q.source;let X={i:Q.flags.includes("i"),m:Q.flags.includes("m"),s:Q.flags.includes("s")},Y=X.i?Q.source.toLowerCase():Q.source,$="",J=!1,G=!1,H=!1;for(let B=0;B<Y.length;B++){if(J){$+=Y[B],J=!1;continue}if(X.i){if(G){if(Y[B].match(/[a-z]/)){if(H)$+=Y[B],$+=`${Y[B-2]}-${Y[B]}`.toUpperCase(),H=!1;else if(Y[B+1]==="-"&&Y[B+2]?.match(/[a-z]/))$+=Y[B],H=!0;else $+=`${Y[B]}${Y[B].toUpperCase()}`;continue}}else if(Y[B].match(/[a-z]/)){$+=`[${Y[B]}${Y[B].toUpperCase()}]`;continue}}if(X.m){if(Y[B]==="^"){$+=`(^|(?<=[\r
39
+ `}class rW{constructor(Q=CJ.stdin,W=CJ.stdout){this._stdin=Q,this._stdout=W,this._readBuffer=new oW,this._started=!1,this._ondata=(X)=>{this._readBuffer.append(X),this.processReadBuffer()},this._onerror=(X)=>{this.onerror?.(X)}}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((W)=>{let X=IJ(Q);if(this._stdout.write(X))W();else this._stdout.once("drain",W)})}}var TJ=7331,ZJ=[{name:"list_canvas",title:"List canvas",description:"List the devices (schematic nodes) and cable connections (edges) currently on the canvas."},{name:"search_library",title:"Search library",description:`Search the installed AV device library (by name, brand, model, family, category, description, or port signal domain). The query is split into words and every word must match, ranked by relevance, so pass a few English keywords (e.g. "shure wireless handheld") rather than a literal phrase in the user's language. Returns devices you can add with add_device_from_library.`},{name:"add_device_from_library",title:"Add device from library",description:"Instantiate a library device as a new schematic node on the canvas. Identify the device by packId + deviceType from search_library results. Optionally pass groupId (from add_group) to place it inside a labeled region."},{name:"add_generic_node",title:"Add generic node",description:"Add a schematic node for a device that has no library entry. You name it and define its in/out ports directly (type + connector). Use when search_library finds nothing for a device the user asked for. Optionally pass groupId (from add_group) to place it inside a labeled region."},{name:"add_group",title:"Add group",description:"Add a labeled region (e.g. a room or area) to the canvas, matching the canvas's own group tool. Pass the returned id as groupId to add_device_from_library/add_generic_node to place a device inside it."},{name:"add_rack",title:"Add rack",description:'Add a 19" rack elevation node to the canvas. Specify a name and how many rack units (U) tall it should be (e.g. 12, 18, 24, 42). Returns the rack node id.'},{name:"edit_rack",title:"Edit rack",description:"Rename a rack or change its unit count. Pass the rack node id plus the fields to update (name and/or units)."},{name:"add_rack_device",title:"Add rack device",description:"Add an equipment item to an existing rack elevation. Specify the rack node id, a label, optional AV signal type, start U (defaults to first free slot), width (1\u20134 columns, default 4), and height in U (default 1)."},{name:"edit_rack_device",title:"Edit rack device",description:"Update an existing item inside a rack \u2014 change its label, type, start U, width, or height. Pass the rack node id and the item id."},{name:"delete_rack_device",title:"Delete rack device",description:"Remove an equipment item from a rack by its item id. The rack node itself remains on the canvas."},{name:"add_location",title:"Add location",description:'Add a labeled region (location/room) to the canvas. Use mode "group" for a plain device-grouping box or "rcp" for a reflected-ceiling plan with real-world mm dimensions. Returns the group node id to use with add_device_from_library/add_generic_node.'},{name:"edit_location",title:"Edit location",description:"Rename a location, change its ID, switch between group and RCP mode, or resize an RCP room in mm. Pass the group node id plus the fields to update."},{name:"resize_location",title:"Resize location",description:"Resize a group/location node (width and height in canvas pixels, or widthMm/heightMm for RCP-mode rooms). Validates that the new size is large enough to contain all child nodes already inside the group \u2014 returns an error with the minimum required dimensions if not."},{name:"delete_location",title:"Delete location",description:"Delete a location (group node) from the canvas. Member devices inside the group are also removed."},{name:"add_edge",title:"Add edge",description:"Draw a cable between two device ports (same as connect_ports) with optional metadata: label, cable type string, and length in metres. The ports must share the same AV signal type AND physical connector."},{name:"edit_edge",title:"Edit edge",description:'Update an existing cable edge \u2014 change its label, cable type string, length (metres), or display mode ("cable" for a routed line, "tag" for port-label pills).'},{name:"delete_edge",title:"Delete edge",description:"Remove a cable edge from the canvas by its edge id."},{name:"get_drawing_details",title:"Get drawing details",description:"Return the current drawing's metadata: drawing number, revision, project name, title, client, bidder, drawn-by, checked-by."},{name:"edit_drawing_details",title:"Edit drawing details",description:"Update one or more fields of the drawing's metadata (title block). All fields are optional \u2014 only the ones you pass are changed."},{name:"add_rcp_item",title:"Add RCP item",description:"Add a reflected-ceiling-plan item (Speaker, Mic, Display, Projector, Light, Sensor, or Furniture) to the canvas. Specify size in mm and optional rotation in degrees. Optionally pass a groupId to place it inside an RCP-mode location."},{name:"edit_rcp_item",title:"Edit RCP item",description:"Update an existing RCP item \u2014 change its label, kind, shape (Furniture only), size (mm), or rotation. Switching kind resets rotation and shape to defaults."},{name:"delete_rcp_item",title:"Delete RCP item",description:"Remove an RCP item node from the canvas."},{name:"move_node_to_location",title:"Move node to location",description:"Assign a schematic device or RCP item to a location (group node), making it a child of that group. Schematic devices also inherit the group's location name and ID. The node's position is converted to group-relative coordinates."},{name:"remove_node_from_location",title:"Remove node from location",description:"Detach a node from its parent location/group, returning it to the canvas root. The node's position is converted back to canvas-absolute coordinates."},{name:"connect_ports",title:"Connect ports",description:"Draw a cable edge between an output port of one device and an input port of another. The two ports must share the same AV signal type AND the same physical connector (e.g. both XLR, both HDMI) or the call is rejected."},{name:"edit_port",title:"Edit port",description:'Update a single port handle on a schematic device node \u2014 change its name, AV signal type, or physical connector. Port names must follow the convention CONNECTOR-IN|OUT-N (e.g. "HDMI-IN-1", "RJ45-OUT-2"). Pass the node id and port id (from list_canvas), plus the fields to update.'},{name:"move_node",title:"Move node",description:"Move a node to a new x/y position on the canvas."},{name:"delete_node",title:"Delete node",description:"Delete a node from the canvas, along with any edges connected to it."},{name:"get_screenshot",title:"Get screenshot",description:"Capture a PNG screenshot of the current canvas view."}];var vJ=20000,m1=null,I9=new Map;function l1(...Q){console.error("[bridge]",...Q)}function kJ(Q=TJ){let W=process.env.HTIFA_TOKEN??null;Bun.serve({port:Q,hostname:"127.0.0.1",fetch(X,Y){if(Y.upgrade(X,{data:{authenticated:W===null}}))return;return new Response("htifa bridge",{status:200})},websocket:{open(X){if(X.data.authenticated)m1=X,l1("canvas connected")},message(X,Y){let $=typeof Y==="string"?Y:Y.toString();if(!X.data.authenticated){try{let H=JSON.parse($);if(H.type!=="auth"||H.token!==W){l1("rejected canvas: bad token"),X.close(4401,"Unauthorized");return}}catch{l1("rejected canvas: invalid auth frame"),X.close(4401,"Unauthorized");return}X.data.authenticated=!0,m1=X,l1("canvas connected (authenticated)");return}let J;try{J=JSON.parse($)}catch{l1("dropped non-JSON message from canvas");return}let G=I9.get(J.id);if(!G)return;if(I9.delete(J.id),clearTimeout(G.timer),J.ok)G.resolve(J.result);else G.reject(Error(J.error))},close(X){if(m1===X)m1=null,l1("canvas disconnected")}}}),l1(`listening on ws://127.0.0.1:${Q}${W?" (token auth)":" (no auth)"}`)}function _J(Q,W){if(!m1||m1.readyState!==WebSocket.OPEN)return Promise.reject(Error("No canvas connected. Open the newcanva app in your browser, then retry."));let X=crypto.randomUUID(),Y={id:X,tool:Q,params:W};return new Promise(($,J)=>{let G=setTimeout(()=>{I9.delete(X),J(Error(`Canvas did not respond to "${Q}" within ${vJ}ms.`))},vJ);I9.set(X,{resolve:$,reject:J,timer:G}),m1.send(JSON.stringify(Y))})}var O={};S8(O,{void:()=>iL,util:()=>p,unknown:()=>cL,union:()=>oL,undefined:()=>uL,tuple:()=>aL,transformer:()=>HD,symbol:()=>fL,string:()=>cJ,strictObject:()=>dL,setErrorMap:()=>KL,set:()=>QD,record:()=>sL,quotelessJson:()=>BL,promise:()=>GD,preprocess:()=>KD,pipeline:()=>zD,ostring:()=>LD,optional:()=>BD,onumber:()=>DD,oboolean:()=>qD,objectUtil:()=>tW,object:()=>eW,number:()=>pJ,nullable:()=>AD,null:()=>lL,never:()=>pL,nativeEnum:()=>JD,nan:()=>gL,map:()=>eL,makeIssue:()=>K4,literal:()=>YD,lazy:()=>XD,late:()=>_L,isValid:()=>N1,isDirty:()=>T9,isAsync:()=>L6,isAborted:()=>C9,intersection:()=>tL,instanceof:()=>xL,getParsedType:()=>Y1,getErrorMap:()=>z6,function:()=>WD,enum:()=>$D,effect:()=>HD,discriminatedUnion:()=>rL,defaultErrorMap:()=>B1,datetimeRegex:()=>uJ,date:()=>hL,custom:()=>mJ,coerce:()=>VD,boolean:()=>iJ,bigint:()=>yL,array:()=>nL,any:()=>mL,addIssueToContext:()=>R,ZodVoid:()=>L4,ZodUnknown:()=>w1,ZodUnion:()=>O6,ZodUndefined:()=>F6,ZodType:()=>c,ZodTuple:()=>J1,ZodTransformer:()=>d0,ZodSymbol:()=>z4,ZodString:()=>p0,ZodSet:()=>n1,ZodSchema:()=>c,ZodRecord:()=>D4,ZodReadonly:()=>S6,ZodPromise:()=>d1,ZodPipeline:()=>F4,ZodParsedType:()=>E,ZodOptional:()=>g0,ZodObject:()=>K0,ZodNumber:()=>M1,ZodNullable:()=>K1,ZodNull:()=>U6,ZodNever:()=>$1,ZodNativeEnum:()=>j6,ZodNaN:()=>V4,ZodMap:()=>q4,ZodLiteral:()=>M6,ZodLazy:()=>w6,ZodIssueCode:()=>M,ZodIntersection:()=>N6,ZodFunction:()=>q6,ZodFirstPartyTypeKind:()=>j,ZodError:()=>I0,ZodEnum:()=>E1,ZodEffects:()=>d0,ZodDiscriminatedUnion:()=>Z9,ZodDefault:()=>E6,ZodDate:()=>p1,ZodCatch:()=>b6,ZodBranded:()=>v9,ZodBoolean:()=>V6,ZodBigInt:()=>j1,ZodArray:()=>i0,ZodAny:()=>i1,Schema:()=>c,ParseStatus:()=>O0,OK:()=>w0,NEVER:()=>FD,INVALID:()=>x,EMPTY_PATH:()=>zL,DIRTY:()=>c1,BRAND:()=>kL});var p;(function(Q){Q.assertEqual=($)=>{};function W($){}Q.assertIs=W;function X($){throw Error()}Q.assertNever=X,Q.arrayToEnum=($)=>{let J={};for(let G of $)J[G]=G;return J},Q.getValidEnumValues=($)=>{let J=Q.objectKeys($).filter((H)=>typeof $[$[H]]!=="number"),G={};for(let H of J)G[H]=$[H];return Q.objectValues(G)},Q.objectValues=($)=>{return Q.objectKeys($).map(function(J){return $[J]})},Q.objectKeys=typeof Object.keys==="function"?($)=>Object.keys($):($)=>{let J=[];for(let G in $)if(Object.prototype.hasOwnProperty.call($,G))J.push(G);return J},Q.find=($,J)=>{for(let G of $)if(J(G))return G;return},Q.isInteger=typeof Number.isInteger==="function"?($)=>Number.isInteger($):($)=>typeof $==="number"&&Number.isFinite($)&&Math.floor($)===$;function Y($,J=" | "){return $.map((G)=>typeof G==="string"?`'${G}'`:G).join(J)}Q.joinValues=Y,Q.jsonStringifyReplacer=($,J)=>{if(typeof J==="bigint")return J.toString();return J}})(p||(p={}));var tW;(function(Q){Q.mergeShapes=(W,X)=>{return{...W,...X}}})(tW||(tW={}));var E=p.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Y1=(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 M=p.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"]),BL=(Q)=>{return JSON.stringify(Q,null,2).replace(/"([^"]+)":/g,"$1:")};class I0 extends Error{get errors(){return this.issues}constructor(Q){super();this.issues=[],this.addIssue=(X)=>{this.issues=[...this.issues,X]},this.addIssues=(X=[])=>{this.issues=[...this.issues,...X]};let W=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,W);else this.__proto__=W;this.name="ZodError",this.issues=Q}format(Q){let W=Q||function($){return $.message},X={_errors:[]},Y=($)=>{for(let J of $.issues)if(J.code==="invalid_union")J.unionErrors.map(Y);else if(J.code==="invalid_return_type")Y(J.returnTypeError);else if(J.code==="invalid_arguments")Y(J.argumentsError);else if(J.path.length===0)X._errors.push(W(J));else{let G=X,H=0;while(H<J.path.length){let B=J.path[H];if(H!==J.path.length-1)G[B]=G[B]||{_errors:[]};else G[B]=G[B]||{_errors:[]},G[B]._errors.push(W(J));G=G[B],H++}}};return Y(this),X}static assert(Q){if(!(Q instanceof I0))throw Error(`Not a ZodError: ${Q}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,p.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(Q=(W)=>W.message){let W={},X=[];for(let Y of this.issues)if(Y.path.length>0){let $=Y.path[0];W[$]=W[$]||[],W[$].push(Q(Y))}else X.push(Q(Y));return{formErrors:X,fieldErrors:W}}get formErrors(){return this.flatten()}}I0.create=(Q)=>{return new I0(Q)};var AL=(Q,W)=>{let X;switch(Q.code){case M.invalid_type:if(Q.received===E.undefined)X="Required";else X=`Expected ${Q.expected}, received ${Q.received}`;break;case M.invalid_literal:X=`Invalid literal value, expected ${JSON.stringify(Q.expected,p.jsonStringifyReplacer)}`;break;case M.unrecognized_keys:X=`Unrecognized key(s) in object: ${p.joinValues(Q.keys,", ")}`;break;case M.invalid_union:X="Invalid input";break;case M.invalid_union_discriminator:X=`Invalid discriminator value. Expected ${p.joinValues(Q.options)}`;break;case M.invalid_enum_value:X=`Invalid enum value. Expected ${p.joinValues(Q.options)}, received '${Q.received}'`;break;case M.invalid_arguments:X="Invalid function arguments";break;case M.invalid_return_type:X="Invalid function return type";break;case M.invalid_date:X="Invalid date";break;case M.invalid_string:if(typeof Q.validation==="object")if("includes"in Q.validation){if(X=`Invalid input: must include "${Q.validation.includes}"`,typeof Q.validation.position==="number")X=`${X} at one or more positions greater than or equal to ${Q.validation.position}`}else if("startsWith"in Q.validation)X=`Invalid input: must start with "${Q.validation.startsWith}"`;else if("endsWith"in Q.validation)X=`Invalid input: must end with "${Q.validation.endsWith}"`;else p.assertNever(Q.validation);else if(Q.validation!=="regex")X=`Invalid ${Q.validation}`;else X="Invalid";break;case M.too_small:if(Q.type==="array")X=`Array must contain ${Q.exact?"exactly":Q.inclusive?"at least":"more than"} ${Q.minimum} element(s)`;else if(Q.type==="string")X=`String must contain ${Q.exact?"exactly":Q.inclusive?"at least":"over"} ${Q.minimum} character(s)`;else if(Q.type==="number")X=`Number must be ${Q.exact?"exactly equal to ":Q.inclusive?"greater than or equal to ":"greater than "}${Q.minimum}`;else if(Q.type==="bigint")X=`Number must be ${Q.exact?"exactly equal to ":Q.inclusive?"greater than or equal to ":"greater than "}${Q.minimum}`;else if(Q.type==="date")X=`Date must be ${Q.exact?"exactly equal to ":Q.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(Q.minimum))}`;else X="Invalid input";break;case M.too_big:if(Q.type==="array")X=`Array must contain ${Q.exact?"exactly":Q.inclusive?"at most":"less than"} ${Q.maximum} element(s)`;else if(Q.type==="string")X=`String must contain ${Q.exact?"exactly":Q.inclusive?"at most":"under"} ${Q.maximum} character(s)`;else if(Q.type==="number")X=`Number must be ${Q.exact?"exactly":Q.inclusive?"less than or equal to":"less than"} ${Q.maximum}`;else if(Q.type==="bigint")X=`BigInt must be ${Q.exact?"exactly":Q.inclusive?"less than or equal to":"less than"} ${Q.maximum}`;else if(Q.type==="date")X=`Date must be ${Q.exact?"exactly":Q.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(Q.maximum))}`;else X="Invalid input";break;case M.custom:X="Invalid input";break;case M.invalid_intersection_types:X="Intersection results could not be merged";break;case M.not_multiple_of:X=`Number must be a multiple of ${Q.multipleOf}`;break;case M.not_finite:X="Number must be finite";break;default:X=W.defaultError,p.assertNever(Q)}return{message:X}},B1=AL;var xJ=B1;function KL(Q){xJ=Q}function z6(){return xJ}var K4=(Q)=>{let{data:W,path:X,errorMaps:Y,issueData:$}=Q,J=[...X,...$.path||[]],G={...$,path:J};if($.message!==void 0)return{...$,path:J,message:$.message};let H="",B=Y.filter((A)=>!!A).slice().reverse();for(let A of B)H=A(G,{data:W,defaultError:H}).message;return{...$,path:J,message:H}},zL=[];function R(Q,W){let X=z6(),Y=K4({issueData:W,data:Q.data,path:Q.path,errorMaps:[Q.common.contextualErrorMap,Q.schemaErrorMap,X,X===B1?void 0:B1].filter(($)=>!!$)});Q.common.issues.push(Y)}class O0{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(Q,W){let X=[];for(let Y of W){if(Y.status==="aborted")return x;if(Y.status==="dirty")Q.dirty();X.push(Y.value)}return{status:Q.value,value:X}}static async mergeObjectAsync(Q,W){let X=[];for(let Y of W){let $=await Y.key,J=await Y.value;X.push({key:$,value:J})}return O0.mergeObjectSync(Q,X)}static mergeObjectSync(Q,W){let X={};for(let Y of W){let{key:$,value:J}=Y;if($.status==="aborted")return x;if(J.status==="aborted")return x;if($.status==="dirty")Q.dirty();if(J.status==="dirty")Q.dirty();if($.value!=="__proto__"&&(typeof J.value<"u"||Y.alwaysSet))X[$.value]=J.value}return{status:Q.value,value:X}}}var x=Object.freeze({status:"aborted"}),c1=(Q)=>({status:"dirty",value:Q}),w0=(Q)=>({status:"valid",value:Q}),C9=(Q)=>Q.status==="aborted",T9=(Q)=>Q.status==="dirty",N1=(Q)=>Q.status==="valid",L6=(Q)=>typeof Promise<"u"&&Q instanceof Promise;var C;(function(Q){Q.errToObj=(W)=>typeof W==="string"?{message:W}:W||{},Q.toString=(W)=>typeof W==="string"?W:W?.message})(C||(C={}));class n0{constructor(Q,W,X,Y){this._cachedPath=[],this.parent=Q,this.data=W,this._path=X,this._key=Y}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 gJ=(Q,W)=>{if(N1(W))return{success:!0,data:W.value};else{if(!Q.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let X=new I0(Q.common.issues);return this._error=X,this._error}}}};function u(Q){if(!Q)return{};let{errorMap:W,invalid_type_error:X,required_error:Y,description:$}=Q;if(W&&(X||Y))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(W)return{errorMap:W,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??Y??H.defaultError};if(G.code!=="invalid_type")return{message:H.defaultError};return{message:B??X??H.defaultError}},description:$}}class c{get description(){return this._def.description}_getType(Q){return Y1(Q.data)}_getOrReturnCtx(Q,W){return W||{common:Q.parent.common,data:Q.data,parsedType:Y1(Q.data),schemaErrorMap:this._def.errorMap,path:Q.path,parent:Q.parent}}_processInputParams(Q){return{status:new O0,ctx:{common:Q.parent.common,data:Q.data,parsedType:Y1(Q.data),schemaErrorMap:this._def.errorMap,path:Q.path,parent:Q.parent}}}_parseSync(Q){let W=this._parse(Q);if(L6(W))throw Error("Synchronous parse encountered promise.");return W}_parseAsync(Q){let W=this._parse(Q);return Promise.resolve(W)}parse(Q,W){let X=this.safeParse(Q,W);if(X.success)return X.data;throw X.error}safeParse(Q,W){let X={common:{issues:[],async:W?.async??!1,contextualErrorMap:W?.errorMap},path:W?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:Q,parsedType:Y1(Q)},Y=this._parseSync({data:Q,path:X.path,parent:X});return gJ(X,Y)}"~validate"(Q){let W={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:Q,parsedType:Y1(Q)};if(!this["~standard"].async)try{let X=this._parseSync({data:Q,path:[],parent:W});return N1(X)?{value:X.value}:{issues:W.common.issues}}catch(X){if(X?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;W.common={issues:[],async:!0}}return this._parseAsync({data:Q,path:[],parent:W}).then((X)=>N1(X)?{value:X.value}:{issues:W.common.issues})}async parseAsync(Q,W){let X=await this.safeParseAsync(Q,W);if(X.success)return X.data;throw X.error}async safeParseAsync(Q,W){let X={common:{issues:[],contextualErrorMap:W?.errorMap,async:!0},path:W?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:Q,parsedType:Y1(Q)},Y=this._parse({data:Q,path:X.path,parent:X}),$=await(L6(Y)?Y:Promise.resolve(Y));return gJ(X,$)}refine(Q,W){let X=(Y)=>{if(typeof W==="string"||typeof W>"u")return{message:W};else if(typeof W==="function")return W(Y);else return W};return this._refinement((Y,$)=>{let J=Q(Y),G=()=>$.addIssue({code:M.custom,...X(Y)});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,W){return this._refinement((X,Y)=>{if(!Q(X))return Y.addIssue(typeof W==="function"?W(X,Y):W),!1;else return!0})}_refinement(Q){return new d0({schema:this,typeName:j.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:(W)=>this["~validate"](W)}}optional(){return g0.create(this,this._def)}nullable(){return K1.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return i0.create(this)}promise(){return d1.create(this,this._def)}or(Q){return O6.create([this,Q],this._def)}and(Q){return N6.create(this,Q,this._def)}transform(Q){return new d0({...u(this._def),schema:this,typeName:j.ZodEffects,effect:{type:"transform",transform:Q}})}default(Q){let W=typeof Q==="function"?Q:()=>Q;return new E6({...u(this._def),innerType:this,defaultValue:W,typeName:j.ZodDefault})}brand(){return new v9({typeName:j.ZodBranded,type:this,...u(this._def)})}catch(Q){let W=typeof Q==="function"?Q:()=>Q;return new b6({...u(this._def),innerType:this,catchValue:W,typeName:j.ZodCatch})}describe(Q){return new this.constructor({...this._def,description:Q})}pipe(Q){return F4.create(this,Q)}readonly(){return S6.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var LL=/^c[^\s-]{8,}$/i,DL=/^[0-9a-z]+$/,qL=/^[0-9A-HJKMNP-TV-Z]{26}$/i,VL=/^[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,FL=/^[a-z0-9_-]{21}$/i,UL=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,OL=/^[-+]?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)?)??$/,NL=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,wL="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",aW,ML=/^(?:(?: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])$/,jL=/^(?:(?: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])$/,EL=/^(([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]))$/,bL=/^(([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])$/,SL=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,RL=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,hJ="((\\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])))",PL=new RegExp(`^${hJ}$`);function fJ(Q){let W="[0-5]\\d";if(Q.precision)W=`${W}\\.\\d{${Q.precision}}`;else if(Q.precision==null)W=`${W}(\\.\\d+)?`;let X=Q.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${W})${X}`}function IL(Q){return new RegExp(`^${fJ(Q)}$`)}function uJ(Q){let W=`${hJ}T${fJ(Q)}`,X=[];if(X.push(Q.local?"Z?":"Z"),Q.offset)X.push("([+-]\\d{2}:?\\d{2})");return W=`${W}(${X.join("|")})`,new RegExp(`^${W}$`)}function CL(Q,W){if((W==="v4"||!W)&&ML.test(Q))return!0;if((W==="v6"||!W)&&EL.test(Q))return!0;return!1}function TL(Q,W){if(!UL.test(Q))return!1;try{let[X]=Q.split(".");if(!X)return!1;let Y=X.replace(/-/g,"+").replace(/_/g,"/").padEnd(X.length+(4-X.length%4)%4,"="),$=JSON.parse(atob(Y));if(typeof $!=="object"||$===null)return!1;if("typ"in $&&$?.typ!=="JWT")return!1;if(!$.alg)return!1;if(W&&$.alg!==W)return!1;return!0}catch{return!1}}function ZL(Q,W){if((W==="v4"||!W)&&jL.test(Q))return!0;if((W==="v6"||!W)&&bL.test(Q))return!0;return!1}class p0 extends c{_parse(Q){if(this._def.coerce)Q.data=String(Q.data);if(this._getType(Q)!==E.string){let $=this._getOrReturnCtx(Q);return R($,{code:M.invalid_type,expected:E.string,received:$.parsedType}),x}let X=new O0,Y=void 0;for(let $ of this._def.checks)if($.kind==="min"){if(Q.data.length<$.value)Y=this._getOrReturnCtx(Q,Y),R(Y,{code:M.too_small,minimum:$.value,type:"string",inclusive:!0,exact:!1,message:$.message}),X.dirty()}else if($.kind==="max"){if(Q.data.length>$.value)Y=this._getOrReturnCtx(Q,Y),R(Y,{code:M.too_big,maximum:$.value,type:"string",inclusive:!0,exact:!1,message:$.message}),X.dirty()}else if($.kind==="length"){let J=Q.data.length>$.value,G=Q.data.length<$.value;if(J||G){if(Y=this._getOrReturnCtx(Q,Y),J)R(Y,{code:M.too_big,maximum:$.value,type:"string",inclusive:!0,exact:!0,message:$.message});else if(G)R(Y,{code:M.too_small,minimum:$.value,type:"string",inclusive:!0,exact:!0,message:$.message});X.dirty()}}else if($.kind==="email"){if(!NL.test(Q.data))Y=this._getOrReturnCtx(Q,Y),R(Y,{validation:"email",code:M.invalid_string,message:$.message}),X.dirty()}else if($.kind==="emoji"){if(!aW)aW=new RegExp(wL,"u");if(!aW.test(Q.data))Y=this._getOrReturnCtx(Q,Y),R(Y,{validation:"emoji",code:M.invalid_string,message:$.message}),X.dirty()}else if($.kind==="uuid"){if(!VL.test(Q.data))Y=this._getOrReturnCtx(Q,Y),R(Y,{validation:"uuid",code:M.invalid_string,message:$.message}),X.dirty()}else if($.kind==="nanoid"){if(!FL.test(Q.data))Y=this._getOrReturnCtx(Q,Y),R(Y,{validation:"nanoid",code:M.invalid_string,message:$.message}),X.dirty()}else if($.kind==="cuid"){if(!LL.test(Q.data))Y=this._getOrReturnCtx(Q,Y),R(Y,{validation:"cuid",code:M.invalid_string,message:$.message}),X.dirty()}else if($.kind==="cuid2"){if(!DL.test(Q.data))Y=this._getOrReturnCtx(Q,Y),R(Y,{validation:"cuid2",code:M.invalid_string,message:$.message}),X.dirty()}else if($.kind==="ulid"){if(!qL.test(Q.data))Y=this._getOrReturnCtx(Q,Y),R(Y,{validation:"ulid",code:M.invalid_string,message:$.message}),X.dirty()}else if($.kind==="url")try{new URL(Q.data)}catch{Y=this._getOrReturnCtx(Q,Y),R(Y,{validation:"url",code:M.invalid_string,message:$.message}),X.dirty()}else if($.kind==="regex"){if($.regex.lastIndex=0,!$.regex.test(Q.data))Y=this._getOrReturnCtx(Q,Y),R(Y,{validation:"regex",code:M.invalid_string,message:$.message}),X.dirty()}else if($.kind==="trim")Q.data=Q.data.trim();else if($.kind==="includes"){if(!Q.data.includes($.value,$.position))Y=this._getOrReturnCtx(Q,Y),R(Y,{code:M.invalid_string,validation:{includes:$.value,position:$.position},message:$.message}),X.dirty()}else if($.kind==="toLowerCase")Q.data=Q.data.toLowerCase();else if($.kind==="toUpperCase")Q.data=Q.data.toUpperCase();else if($.kind==="startsWith"){if(!Q.data.startsWith($.value))Y=this._getOrReturnCtx(Q,Y),R(Y,{code:M.invalid_string,validation:{startsWith:$.value},message:$.message}),X.dirty()}else if($.kind==="endsWith"){if(!Q.data.endsWith($.value))Y=this._getOrReturnCtx(Q,Y),R(Y,{code:M.invalid_string,validation:{endsWith:$.value},message:$.message}),X.dirty()}else if($.kind==="datetime"){if(!uJ($).test(Q.data))Y=this._getOrReturnCtx(Q,Y),R(Y,{code:M.invalid_string,validation:"datetime",message:$.message}),X.dirty()}else if($.kind==="date"){if(!PL.test(Q.data))Y=this._getOrReturnCtx(Q,Y),R(Y,{code:M.invalid_string,validation:"date",message:$.message}),X.dirty()}else if($.kind==="time"){if(!IL($).test(Q.data))Y=this._getOrReturnCtx(Q,Y),R(Y,{code:M.invalid_string,validation:"time",message:$.message}),X.dirty()}else if($.kind==="duration"){if(!OL.test(Q.data))Y=this._getOrReturnCtx(Q,Y),R(Y,{validation:"duration",code:M.invalid_string,message:$.message}),X.dirty()}else if($.kind==="ip"){if(!CL(Q.data,$.version))Y=this._getOrReturnCtx(Q,Y),R(Y,{validation:"ip",code:M.invalid_string,message:$.message}),X.dirty()}else if($.kind==="jwt"){if(!TL(Q.data,$.alg))Y=this._getOrReturnCtx(Q,Y),R(Y,{validation:"jwt",code:M.invalid_string,message:$.message}),X.dirty()}else if($.kind==="cidr"){if(!ZL(Q.data,$.version))Y=this._getOrReturnCtx(Q,Y),R(Y,{validation:"cidr",code:M.invalid_string,message:$.message}),X.dirty()}else if($.kind==="base64"){if(!SL.test(Q.data))Y=this._getOrReturnCtx(Q,Y),R(Y,{validation:"base64",code:M.invalid_string,message:$.message}),X.dirty()}else if($.kind==="base64url"){if(!RL.test(Q.data))Y=this._getOrReturnCtx(Q,Y),R(Y,{validation:"base64url",code:M.invalid_string,message:$.message}),X.dirty()}else p.assertNever($);return{status:X.value,value:Q.data}}_regex(Q,W,X){return this.refinement((Y)=>Q.test(Y),{validation:W,code:M.invalid_string,...C.errToObj(X)})}_addCheck(Q){return new p0({...this._def,checks:[...this._def.checks,Q]})}email(Q){return this._addCheck({kind:"email",...C.errToObj(Q)})}url(Q){return this._addCheck({kind:"url",...C.errToObj(Q)})}emoji(Q){return this._addCheck({kind:"emoji",...C.errToObj(Q)})}uuid(Q){return this._addCheck({kind:"uuid",...C.errToObj(Q)})}nanoid(Q){return this._addCheck({kind:"nanoid",...C.errToObj(Q)})}cuid(Q){return this._addCheck({kind:"cuid",...C.errToObj(Q)})}cuid2(Q){return this._addCheck({kind:"cuid2",...C.errToObj(Q)})}ulid(Q){return this._addCheck({kind:"ulid",...C.errToObj(Q)})}base64(Q){return this._addCheck({kind:"base64",...C.errToObj(Q)})}base64url(Q){return this._addCheck({kind:"base64url",...C.errToObj(Q)})}jwt(Q){return this._addCheck({kind:"jwt",...C.errToObj(Q)})}ip(Q){return this._addCheck({kind:"ip",...C.errToObj(Q)})}cidr(Q){return this._addCheck({kind:"cidr",...C.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,...C.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,...C.errToObj(Q?.message)})}duration(Q){return this._addCheck({kind:"duration",...C.errToObj(Q)})}regex(Q,W){return this._addCheck({kind:"regex",regex:Q,...C.errToObj(W)})}includes(Q,W){return this._addCheck({kind:"includes",value:Q,position:W?.position,...C.errToObj(W?.message)})}startsWith(Q,W){return this._addCheck({kind:"startsWith",value:Q,...C.errToObj(W)})}endsWith(Q,W){return this._addCheck({kind:"endsWith",value:Q,...C.errToObj(W)})}min(Q,W){return this._addCheck({kind:"min",value:Q,...C.errToObj(W)})}max(Q,W){return this._addCheck({kind:"max",value:Q,...C.errToObj(W)})}length(Q,W){return this._addCheck({kind:"length",value:Q,...C.errToObj(W)})}nonempty(Q){return this.min(1,C.errToObj(Q))}trim(){return new p0({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new p0({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new p0({...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 W of this._def.checks)if(W.kind==="min"){if(Q===null||W.value>Q)Q=W.value}return Q}get maxLength(){let Q=null;for(let W of this._def.checks)if(W.kind==="max"){if(Q===null||W.value<Q)Q=W.value}return Q}}p0.create=(Q)=>{return new p0({checks:[],typeName:j.ZodString,coerce:Q?.coerce??!1,...u(Q)})};function vL(Q,W){let X=(Q.toString().split(".")[1]||"").length,Y=(W.toString().split(".")[1]||"").length,$=X>Y?X:Y,J=Number.parseInt(Q.toFixed($).replace(".","")),G=Number.parseInt(W.toFixed($).replace(".",""));return J%G/10**$}class M1 extends c{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 R($,{code:M.invalid_type,expected:E.number,received:$.parsedType}),x}let X=void 0,Y=new O0;for(let $ of this._def.checks)if($.kind==="int"){if(!p.isInteger(Q.data))X=this._getOrReturnCtx(Q,X),R(X,{code:M.invalid_type,expected:"integer",received:"float",message:$.message}),Y.dirty()}else if($.kind==="min"){if($.inclusive?Q.data<$.value:Q.data<=$.value)X=this._getOrReturnCtx(Q,X),R(X,{code:M.too_small,minimum:$.value,type:"number",inclusive:$.inclusive,exact:!1,message:$.message}),Y.dirty()}else if($.kind==="max"){if($.inclusive?Q.data>$.value:Q.data>=$.value)X=this._getOrReturnCtx(Q,X),R(X,{code:M.too_big,maximum:$.value,type:"number",inclusive:$.inclusive,exact:!1,message:$.message}),Y.dirty()}else if($.kind==="multipleOf"){if(vL(Q.data,$.value)!==0)X=this._getOrReturnCtx(Q,X),R(X,{code:M.not_multiple_of,multipleOf:$.value,message:$.message}),Y.dirty()}else if($.kind==="finite"){if(!Number.isFinite(Q.data))X=this._getOrReturnCtx(Q,X),R(X,{code:M.not_finite,message:$.message}),Y.dirty()}else p.assertNever($);return{status:Y.value,value:Q.data}}gte(Q,W){return this.setLimit("min",Q,!0,C.toString(W))}gt(Q,W){return this.setLimit("min",Q,!1,C.toString(W))}lte(Q,W){return this.setLimit("max",Q,!0,C.toString(W))}lt(Q,W){return this.setLimit("max",Q,!1,C.toString(W))}setLimit(Q,W,X,Y){return new M1({...this._def,checks:[...this._def.checks,{kind:Q,value:W,inclusive:X,message:C.toString(Y)}]})}_addCheck(Q){return new M1({...this._def,checks:[...this._def.checks,Q]})}int(Q){return this._addCheck({kind:"int",message:C.toString(Q)})}positive(Q){return this._addCheck({kind:"min",value:0,inclusive:!1,message:C.toString(Q)})}negative(Q){return this._addCheck({kind:"max",value:0,inclusive:!1,message:C.toString(Q)})}nonpositive(Q){return this._addCheck({kind:"max",value:0,inclusive:!0,message:C.toString(Q)})}nonnegative(Q){return this._addCheck({kind:"min",value:0,inclusive:!0,message:C.toString(Q)})}multipleOf(Q,W){return this._addCheck({kind:"multipleOf",value:Q,message:C.toString(W)})}finite(Q){return this._addCheck({kind:"finite",message:C.toString(Q)})}safe(Q){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:C.toString(Q)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:C.toString(Q)})}get minValue(){let Q=null;for(let W of this._def.checks)if(W.kind==="min"){if(Q===null||W.value>Q)Q=W.value}return Q}get maxValue(){let Q=null;for(let W of this._def.checks)if(W.kind==="max"){if(Q===null||W.value<Q)Q=W.value}return Q}get isInt(){return!!this._def.checks.find((Q)=>Q.kind==="int"||Q.kind==="multipleOf"&&p.isInteger(Q.value))}get isFinite(){let Q=null,W=null;for(let X of this._def.checks)if(X.kind==="finite"||X.kind==="int"||X.kind==="multipleOf")return!0;else if(X.kind==="min"){if(W===null||X.value>W)W=X.value}else if(X.kind==="max"){if(Q===null||X.value<Q)Q=X.value}return Number.isFinite(W)&&Number.isFinite(Q)}}M1.create=(Q)=>{return new M1({checks:[],typeName:j.ZodNumber,coerce:Q?.coerce||!1,...u(Q)})};class j1 extends c{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 X=void 0,Y=new O0;for(let $ of this._def.checks)if($.kind==="min"){if($.inclusive?Q.data<$.value:Q.data<=$.value)X=this._getOrReturnCtx(Q,X),R(X,{code:M.too_small,type:"bigint",minimum:$.value,inclusive:$.inclusive,message:$.message}),Y.dirty()}else if($.kind==="max"){if($.inclusive?Q.data>$.value:Q.data>=$.value)X=this._getOrReturnCtx(Q,X),R(X,{code:M.too_big,type:"bigint",maximum:$.value,inclusive:$.inclusive,message:$.message}),Y.dirty()}else if($.kind==="multipleOf"){if(Q.data%$.value!==BigInt(0))X=this._getOrReturnCtx(Q,X),R(X,{code:M.not_multiple_of,multipleOf:$.value,message:$.message}),Y.dirty()}else p.assertNever($);return{status:Y.value,value:Q.data}}_getInvalidInput(Q){let W=this._getOrReturnCtx(Q);return R(W,{code:M.invalid_type,expected:E.bigint,received:W.parsedType}),x}gte(Q,W){return this.setLimit("min",Q,!0,C.toString(W))}gt(Q,W){return this.setLimit("min",Q,!1,C.toString(W))}lte(Q,W){return this.setLimit("max",Q,!0,C.toString(W))}lt(Q,W){return this.setLimit("max",Q,!1,C.toString(W))}setLimit(Q,W,X,Y){return new j1({...this._def,checks:[...this._def.checks,{kind:Q,value:W,inclusive:X,message:C.toString(Y)}]})}_addCheck(Q){return new j1({...this._def,checks:[...this._def.checks,Q]})}positive(Q){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:C.toString(Q)})}negative(Q){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:C.toString(Q)})}nonpositive(Q){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:C.toString(Q)})}nonnegative(Q){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:C.toString(Q)})}multipleOf(Q,W){return this._addCheck({kind:"multipleOf",value:Q,message:C.toString(W)})}get minValue(){let Q=null;for(let W of this._def.checks)if(W.kind==="min"){if(Q===null||W.value>Q)Q=W.value}return Q}get maxValue(){let Q=null;for(let W of this._def.checks)if(W.kind==="max"){if(Q===null||W.value<Q)Q=W.value}return Q}}j1.create=(Q)=>{return new j1({checks:[],typeName:j.ZodBigInt,coerce:Q?.coerce??!1,...u(Q)})};class V6 extends c{_parse(Q){if(this._def.coerce)Q.data=Boolean(Q.data);if(this._getType(Q)!==E.boolean){let X=this._getOrReturnCtx(Q);return R(X,{code:M.invalid_type,expected:E.boolean,received:X.parsedType}),x}return w0(Q.data)}}V6.create=(Q)=>{return new V6({typeName:j.ZodBoolean,coerce:Q?.coerce||!1,...u(Q)})};class p1 extends c{_parse(Q){if(this._def.coerce)Q.data=new Date(Q.data);if(this._getType(Q)!==E.date){let $=this._getOrReturnCtx(Q);return R($,{code:M.invalid_type,expected:E.date,received:$.parsedType}),x}if(Number.isNaN(Q.data.getTime())){let $=this._getOrReturnCtx(Q);return R($,{code:M.invalid_date}),x}let X=new O0,Y=void 0;for(let $ of this._def.checks)if($.kind==="min"){if(Q.data.getTime()<$.value)Y=this._getOrReturnCtx(Q,Y),R(Y,{code:M.too_small,message:$.message,inclusive:!0,exact:!1,minimum:$.value,type:"date"}),X.dirty()}else if($.kind==="max"){if(Q.data.getTime()>$.value)Y=this._getOrReturnCtx(Q,Y),R(Y,{code:M.too_big,message:$.message,inclusive:!0,exact:!1,maximum:$.value,type:"date"}),X.dirty()}else p.assertNever($);return{status:X.value,value:new Date(Q.data.getTime())}}_addCheck(Q){return new p1({...this._def,checks:[...this._def.checks,Q]})}min(Q,W){return this._addCheck({kind:"min",value:Q.getTime(),message:C.toString(W)})}max(Q,W){return this._addCheck({kind:"max",value:Q.getTime(),message:C.toString(W)})}get minDate(){let Q=null;for(let W of this._def.checks)if(W.kind==="min"){if(Q===null||W.value>Q)Q=W.value}return Q!=null?new Date(Q):null}get maxDate(){let Q=null;for(let W of this._def.checks)if(W.kind==="max"){if(Q===null||W.value<Q)Q=W.value}return Q!=null?new Date(Q):null}}p1.create=(Q)=>{return new p1({checks:[],coerce:Q?.coerce||!1,typeName:j.ZodDate,...u(Q)})};class z4 extends c{_parse(Q){if(this._getType(Q)!==E.symbol){let X=this._getOrReturnCtx(Q);return R(X,{code:M.invalid_type,expected:E.symbol,received:X.parsedType}),x}return w0(Q.data)}}z4.create=(Q)=>{return new z4({typeName:j.ZodSymbol,...u(Q)})};class F6 extends c{_parse(Q){if(this._getType(Q)!==E.undefined){let X=this._getOrReturnCtx(Q);return R(X,{code:M.invalid_type,expected:E.undefined,received:X.parsedType}),x}return w0(Q.data)}}F6.create=(Q)=>{return new F6({typeName:j.ZodUndefined,...u(Q)})};class U6 extends c{_parse(Q){if(this._getType(Q)!==E.null){let X=this._getOrReturnCtx(Q);return R(X,{code:M.invalid_type,expected:E.null,received:X.parsedType}),x}return w0(Q.data)}}U6.create=(Q)=>{return new U6({typeName:j.ZodNull,...u(Q)})};class i1 extends c{constructor(){super(...arguments);this._any=!0}_parse(Q){return w0(Q.data)}}i1.create=(Q)=>{return new i1({typeName:j.ZodAny,...u(Q)})};class w1 extends c{constructor(){super(...arguments);this._unknown=!0}_parse(Q){return w0(Q.data)}}w1.create=(Q)=>{return new w1({typeName:j.ZodUnknown,...u(Q)})};class $1 extends c{_parse(Q){let W=this._getOrReturnCtx(Q);return R(W,{code:M.invalid_type,expected:E.never,received:W.parsedType}),x}}$1.create=(Q)=>{return new $1({typeName:j.ZodNever,...u(Q)})};class L4 extends c{_parse(Q){if(this._getType(Q)!==E.undefined){let X=this._getOrReturnCtx(Q);return R(X,{code:M.invalid_type,expected:E.void,received:X.parsedType}),x}return w0(Q.data)}}L4.create=(Q)=>{return new L4({typeName:j.ZodVoid,...u(Q)})};class i0 extends c{_parse(Q){let{ctx:W,status:X}=this._processInputParams(Q),Y=this._def;if(W.parsedType!==E.array)return R(W,{code:M.invalid_type,expected:E.array,received:W.parsedType}),x;if(Y.exactLength!==null){let J=W.data.length>Y.exactLength.value,G=W.data.length<Y.exactLength.value;if(J||G)R(W,{code:J?M.too_big:M.too_small,minimum:G?Y.exactLength.value:void 0,maximum:J?Y.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:Y.exactLength.message}),X.dirty()}if(Y.minLength!==null){if(W.data.length<Y.minLength.value)R(W,{code:M.too_small,minimum:Y.minLength.value,type:"array",inclusive:!0,exact:!1,message:Y.minLength.message}),X.dirty()}if(Y.maxLength!==null){if(W.data.length>Y.maxLength.value)R(W,{code:M.too_big,maximum:Y.maxLength.value,type:"array",inclusive:!0,exact:!1,message:Y.maxLength.message}),X.dirty()}if(W.common.async)return Promise.all([...W.data].map((J,G)=>{return Y.type._parseAsync(new n0(W,J,W.path,G))})).then((J)=>{return O0.mergeArray(X,J)});let $=[...W.data].map((J,G)=>{return Y.type._parseSync(new n0(W,J,W.path,G))});return O0.mergeArray(X,$)}get element(){return this._def.type}min(Q,W){return new i0({...this._def,minLength:{value:Q,message:C.toString(W)}})}max(Q,W){return new i0({...this._def,maxLength:{value:Q,message:C.toString(W)}})}length(Q,W){return new i0({...this._def,exactLength:{value:Q,message:C.toString(W)}})}nonempty(Q){return this.min(1,Q)}}i0.create=(Q,W)=>{return new i0({type:Q,minLength:null,maxLength:null,exactLength:null,typeName:j.ZodArray,...u(W)})};function D6(Q){if(Q instanceof K0){let W={};for(let X in Q.shape){let Y=Q.shape[X];W[X]=g0.create(D6(Y))}return new K0({...Q._def,shape:()=>W})}else if(Q instanceof i0)return new i0({...Q._def,type:D6(Q.element)});else if(Q instanceof g0)return g0.create(D6(Q.unwrap()));else if(Q instanceof K1)return K1.create(D6(Q.unwrap()));else if(Q instanceof J1)return J1.create(Q.items.map((W)=>D6(W)));else return Q}class K0 extends c{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(),W=p.objectKeys(Q);return this._cached={shape:Q,keys:W},this._cached}_parse(Q){if(this._getType(Q)!==E.object){let B=this._getOrReturnCtx(Q);return R(B,{code:M.invalid_type,expected:E.object,received:B.parsedType}),x}let{status:X,ctx:Y}=this._processInputParams(Q),{shape:$,keys:J}=this._getCached(),G=[];if(!(this._def.catchall instanceof $1&&this._def.unknownKeys==="strip")){for(let B in Y.data)if(!J.includes(B))G.push(B)}let H=[];for(let B of J){let A=$[B],K=Y.data[B];H.push({key:{status:"valid",value:B},value:A._parse(new n0(Y,K,Y.path,B)),alwaysSet:B in Y.data})}if(this._def.catchall instanceof $1){let B=this._def.unknownKeys;if(B==="passthrough")for(let A of G)H.push({key:{status:"valid",value:A},value:{status:"valid",value:Y.data[A]}});else if(B==="strict"){if(G.length>0)R(Y,{code:M.unrecognized_keys,keys:G}),X.dirty()}else if(B==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let B=this._def.catchall;for(let A of G){let K=Y.data[A];H.push({key:{status:"valid",value:A},value:B._parse(new n0(Y,K,Y.path,A)),alwaysSet:A in Y.data})}}if(Y.common.async)return Promise.resolve().then(async()=>{let B=[];for(let A of H){let K=await A.key,L=await A.value;B.push({key:K,value:L,alwaysSet:A.alwaysSet})}return B}).then((B)=>{return O0.mergeObjectSync(X,B)});else return O0.mergeObjectSync(X,H)}get shape(){return this._def.shape()}strict(Q){return C.errToObj,new K0({...this._def,unknownKeys:"strict",...Q!==void 0?{errorMap:(W,X)=>{let Y=this._def.errorMap?.(W,X).message??X.defaultError;if(W.code==="unrecognized_keys")return{message:C.errToObj(Q).message??Y};return{message:Y}}}:{}})}strip(){return new K0({...this._def,unknownKeys:"strip"})}passthrough(){return new K0({...this._def,unknownKeys:"passthrough"})}extend(Q){return new K0({...this._def,shape:()=>({...this._def.shape(),...Q})})}merge(Q){return new K0({unknownKeys:Q._def.unknownKeys,catchall:Q._def.catchall,shape:()=>({...this._def.shape(),...Q._def.shape()}),typeName:j.ZodObject})}setKey(Q,W){return this.augment({[Q]:W})}catchall(Q){return new K0({...this._def,catchall:Q})}pick(Q){let W={};for(let X of p.objectKeys(Q))if(Q[X]&&this.shape[X])W[X]=this.shape[X];return new K0({...this._def,shape:()=>W})}omit(Q){let W={};for(let X of p.objectKeys(this.shape))if(!Q[X])W[X]=this.shape[X];return new K0({...this._def,shape:()=>W})}deepPartial(){return D6(this)}partial(Q){let W={};for(let X of p.objectKeys(this.shape)){let Y=this.shape[X];if(Q&&!Q[X])W[X]=Y;else W[X]=Y.optional()}return new K0({...this._def,shape:()=>W})}required(Q){let W={};for(let X of p.objectKeys(this.shape))if(Q&&!Q[X])W[X]=this.shape[X];else{let $=this.shape[X];while($ instanceof g0)$=$._def.innerType;W[X]=$}return new K0({...this._def,shape:()=>W})}keyof(){return lJ(p.objectKeys(this.shape))}}K0.create=(Q,W)=>{return new K0({shape:()=>Q,unknownKeys:"strip",catchall:$1.create(),typeName:j.ZodObject,...u(W)})};K0.strictCreate=(Q,W)=>{return new K0({shape:()=>Q,unknownKeys:"strict",catchall:$1.create(),typeName:j.ZodObject,...u(W)})};K0.lazycreate=(Q,W)=>{return new K0({shape:Q,unknownKeys:"strip",catchall:$1.create(),typeName:j.ZodObject,...u(W)})};class O6 extends c{_parse(Q){let{ctx:W}=this._processInputParams(Q),X=this._def.options;function Y($){for(let G of $)if(G.result.status==="valid")return G.result;for(let G of $)if(G.result.status==="dirty")return W.common.issues.push(...G.ctx.common.issues),G.result;let J=$.map((G)=>new I0(G.ctx.common.issues));return R(W,{code:M.invalid_union,unionErrors:J}),x}if(W.common.async)return Promise.all(X.map(async($)=>{let J={...W,common:{...W.common,issues:[]},parent:null};return{result:await $._parseAsync({data:W.data,path:W.path,parent:J}),ctx:J}})).then(Y);else{let $=void 0,J=[];for(let H of X){let B={...W,common:{...W.common,issues:[]},parent:null},A=H._parseSync({data:W.data,path:W.path,parent:B});if(A.status==="valid")return A;else if(A.status==="dirty"&&!$)$={result:A,ctx:B};if(B.common.issues.length)J.push(B.common.issues)}if($)return W.common.issues.push(...$.ctx.common.issues),$.result;let G=J.map((H)=>new I0(H));return R(W,{code:M.invalid_union,unionErrors:G}),x}}get options(){return this._def.options}}O6.create=(Q,W)=>{return new O6({options:Q,typeName:j.ZodUnion,...u(W)})};var A1=(Q)=>{if(Q instanceof w6)return A1(Q.schema);else if(Q instanceof d0)return A1(Q.innerType());else if(Q instanceof M6)return[Q.value];else if(Q instanceof E1)return Q.options;else if(Q instanceof j6)return p.objectValues(Q.enum);else if(Q instanceof E6)return A1(Q._def.innerType);else if(Q instanceof F6)return[void 0];else if(Q instanceof U6)return[null];else if(Q instanceof g0)return[void 0,...A1(Q.unwrap())];else if(Q instanceof K1)return[null,...A1(Q.unwrap())];else if(Q instanceof v9)return A1(Q.unwrap());else if(Q instanceof S6)return A1(Q.unwrap());else if(Q instanceof b6)return A1(Q._def.innerType);else return[]};class Z9 extends c{_parse(Q){let{ctx:W}=this._processInputParams(Q);if(W.parsedType!==E.object)return R(W,{code:M.invalid_type,expected:E.object,received:W.parsedType}),x;let X=this.discriminator,Y=W.data[X],$=this.optionsMap.get(Y);if(!$)return R(W,{code:M.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[X]}),x;if(W.common.async)return $._parseAsync({data:W.data,path:W.path,parent:W});else return $._parseSync({data:W.data,path:W.path,parent:W})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(Q,W,X){let Y=new Map;for(let $ of W){let J=A1($.shape[Q]);if(!J.length)throw Error(`A discriminator value for key \`${Q}\` could not be extracted from all schema options`);for(let G of J){if(Y.has(G))throw Error(`Discriminator property ${String(Q)} has duplicate value ${String(G)}`);Y.set(G,$)}}return new Z9({typeName:j.ZodDiscriminatedUnion,discriminator:Q,options:W,optionsMap:Y,...u(X)})}}function sW(Q,W){let X=Y1(Q),Y=Y1(W);if(Q===W)return{valid:!0,data:Q};else if(X===E.object&&Y===E.object){let $=p.objectKeys(W),J=p.objectKeys(Q).filter((H)=>$.indexOf(H)!==-1),G={...Q,...W};for(let H of J){let B=sW(Q[H],W[H]);if(!B.valid)return{valid:!1};G[H]=B.data}return{valid:!0,data:G}}else if(X===E.array&&Y===E.array){if(Q.length!==W.length)return{valid:!1};let $=[];for(let J=0;J<Q.length;J++){let G=Q[J],H=W[J],B=sW(G,H);if(!B.valid)return{valid:!1};$.push(B.data)}return{valid:!0,data:$}}else if(X===E.date&&Y===E.date&&+Q===+W)return{valid:!0,data:Q};else return{valid:!1}}class N6 extends c{_parse(Q){let{status:W,ctx:X}=this._processInputParams(Q),Y=($,J)=>{if(C9($)||C9(J))return x;let G=sW($.value,J.value);if(!G.valid)return R(X,{code:M.invalid_intersection_types}),x;if(T9($)||T9(J))W.dirty();return{status:W.value,value:G.data}};if(X.common.async)return Promise.all([this._def.left._parseAsync({data:X.data,path:X.path,parent:X}),this._def.right._parseAsync({data:X.data,path:X.path,parent:X})]).then(([$,J])=>Y($,J));else return Y(this._def.left._parseSync({data:X.data,path:X.path,parent:X}),this._def.right._parseSync({data:X.data,path:X.path,parent:X}))}}N6.create=(Q,W,X)=>{return new N6({left:Q,right:W,typeName:j.ZodIntersection,...u(X)})};class J1 extends c{_parse(Q){let{status:W,ctx:X}=this._processInputParams(Q);if(X.parsedType!==E.array)return R(X,{code:M.invalid_type,expected:E.array,received:X.parsedType}),x;if(X.data.length<this._def.items.length)return R(X,{code:M.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),x;if(!this._def.rest&&X.data.length>this._def.items.length)R(X,{code:M.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),W.dirty();let $=[...X.data].map((J,G)=>{let H=this._def.items[G]||this._def.rest;if(!H)return null;return H._parse(new n0(X,J,X.path,G))}).filter((J)=>!!J);if(X.common.async)return Promise.all($).then((J)=>{return O0.mergeArray(W,J)});else return O0.mergeArray(W,$)}get items(){return this._def.items}rest(Q){return new J1({...this._def,rest:Q})}}J1.create=(Q,W)=>{if(!Array.isArray(Q))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new J1({items:Q,typeName:j.ZodTuple,rest:null,...u(W)})};class D4 extends c{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(Q){let{status:W,ctx:X}=this._processInputParams(Q);if(X.parsedType!==E.object)return R(X,{code:M.invalid_type,expected:E.object,received:X.parsedType}),x;let Y=[],$=this._def.keyType,J=this._def.valueType;for(let G in X.data)Y.push({key:$._parse(new n0(X,G,X.path,G)),value:J._parse(new n0(X,X.data[G],X.path,G)),alwaysSet:G in X.data});if(X.common.async)return O0.mergeObjectAsync(W,Y);else return O0.mergeObjectSync(W,Y)}get element(){return this._def.valueType}static create(Q,W,X){if(W instanceof c)return new D4({keyType:Q,valueType:W,typeName:j.ZodRecord,...u(X)});return new D4({keyType:p0.create(),valueType:Q,typeName:j.ZodRecord,...u(W)})}}class q4 extends c{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(Q){let{status:W,ctx:X}=this._processInputParams(Q);if(X.parsedType!==E.map)return R(X,{code:M.invalid_type,expected:E.map,received:X.parsedType}),x;let Y=this._def.keyType,$=this._def.valueType,J=[...X.data.entries()].map(([G,H],B)=>{return{key:Y._parse(new n0(X,G,X.path,[B,"key"])),value:$._parse(new n0(X,H,X.path,[B,"value"]))}});if(X.common.async){let G=new Map;return Promise.resolve().then(async()=>{for(let H of J){let B=await H.key,A=await H.value;if(B.status==="aborted"||A.status==="aborted")return x;if(B.status==="dirty"||A.status==="dirty")W.dirty();G.set(B.value,A.value)}return{status:W.value,value:G}})}else{let G=new Map;for(let H of J){let{key:B,value:A}=H;if(B.status==="aborted"||A.status==="aborted")return x;if(B.status==="dirty"||A.status==="dirty")W.dirty();G.set(B.value,A.value)}return{status:W.value,value:G}}}}q4.create=(Q,W,X)=>{return new q4({valueType:W,keyType:Q,typeName:j.ZodMap,...u(X)})};class n1 extends c{_parse(Q){let{status:W,ctx:X}=this._processInputParams(Q);if(X.parsedType!==E.set)return R(X,{code:M.invalid_type,expected:E.set,received:X.parsedType}),x;let Y=this._def;if(Y.minSize!==null){if(X.data.size<Y.minSize.value)R(X,{code:M.too_small,minimum:Y.minSize.value,type:"set",inclusive:!0,exact:!1,message:Y.minSize.message}),W.dirty()}if(Y.maxSize!==null){if(X.data.size>Y.maxSize.value)R(X,{code:M.too_big,maximum:Y.maxSize.value,type:"set",inclusive:!0,exact:!1,message:Y.maxSize.message}),W.dirty()}let $=this._def.valueType;function J(H){let B=new Set;for(let A of H){if(A.status==="aborted")return x;if(A.status==="dirty")W.dirty();B.add(A.value)}return{status:W.value,value:B}}let G=[...X.data.values()].map((H,B)=>$._parse(new n0(X,H,X.path,B)));if(X.common.async)return Promise.all(G).then((H)=>J(H));else return J(G)}min(Q,W){return new n1({...this._def,minSize:{value:Q,message:C.toString(W)}})}max(Q,W){return new n1({...this._def,maxSize:{value:Q,message:C.toString(W)}})}size(Q,W){return this.min(Q,W).max(Q,W)}nonempty(Q){return this.min(1,Q)}}n1.create=(Q,W)=>{return new n1({valueType:Q,minSize:null,maxSize:null,typeName:j.ZodSet,...u(W)})};class q6 extends c{constructor(){super(...arguments);this.validate=this.implement}_parse(Q){let{ctx:W}=this._processInputParams(Q);if(W.parsedType!==E.function)return R(W,{code:M.invalid_type,expected:E.function,received:W.parsedType}),x;function X(G,H){return K4({data:G,path:W.path,errorMaps:[W.common.contextualErrorMap,W.schemaErrorMap,z6(),B1].filter((B)=>!!B),issueData:{code:M.invalid_arguments,argumentsError:H}})}function Y(G,H){return K4({data:G,path:W.path,errorMaps:[W.common.contextualErrorMap,W.schemaErrorMap,z6(),B1].filter((B)=>!!B),issueData:{code:M.invalid_return_type,returnTypeError:H}})}let $={errorMap:W.common.contextualErrorMap},J=W.data;if(this._def.returns instanceof d1){let G=this;return w0(async function(...H){let B=new I0([]),A=await G._def.args.parseAsync(H,$).catch((D)=>{throw B.addIssue(X(H,D)),B}),K=await Reflect.apply(J,this,A);return await G._def.returns._def.type.parseAsync(K,$).catch((D)=>{throw B.addIssue(Y(K,D)),B})})}else{let G=this;return w0(function(...H){let B=G._def.args.safeParse(H,$);if(!B.success)throw new I0([X(H,B.error)]);let A=Reflect.apply(J,this,B.data),K=G._def.returns.safeParse(A,$);if(!K.success)throw new I0([Y(A,K.error)]);return K.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...Q){return new q6({...this._def,args:J1.create(Q).rest(w1.create())})}returns(Q){return new q6({...this._def,returns:Q})}implement(Q){return this.parse(Q)}strictImplement(Q){return this.parse(Q)}static create(Q,W,X){return new q6({args:Q?Q:J1.create([]).rest(w1.create()),returns:W||w1.create(),typeName:j.ZodFunction,...u(X)})}}class w6 extends c{get schema(){return this._def.getter()}_parse(Q){let{ctx:W}=this._processInputParams(Q);return this._def.getter()._parse({data:W.data,path:W.path,parent:W})}}w6.create=(Q,W)=>{return new w6({getter:Q,typeName:j.ZodLazy,...u(W)})};class M6 extends c{_parse(Q){if(Q.data!==this._def.value){let W=this._getOrReturnCtx(Q);return R(W,{received:W.data,code:M.invalid_literal,expected:this._def.value}),x}return{status:"valid",value:Q.data}}get value(){return this._def.value}}M6.create=(Q,W)=>{return new M6({value:Q,typeName:j.ZodLiteral,...u(W)})};function lJ(Q,W){return new E1({values:Q,typeName:j.ZodEnum,...u(W)})}class E1 extends c{_parse(Q){if(typeof Q.data!=="string"){let W=this._getOrReturnCtx(Q),X=this._def.values;return R(W,{expected:p.joinValues(X),received:W.parsedType,code:M.invalid_type}),x}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(Q.data)){let W=this._getOrReturnCtx(Q),X=this._def.values;return R(W,{received:W.data,code:M.invalid_enum_value,options:X}),x}return w0(Q.data)}get options(){return this._def.values}get enum(){let Q={};for(let W of this._def.values)Q[W]=W;return Q}get Values(){let Q={};for(let W of this._def.values)Q[W]=W;return Q}get Enum(){let Q={};for(let W of this._def.values)Q[W]=W;return Q}extract(Q,W=this._def){return E1.create(Q,{...this._def,...W})}exclude(Q,W=this._def){return E1.create(this.options.filter((X)=>!Q.includes(X)),{...this._def,...W})}}E1.create=lJ;class j6 extends c{_parse(Q){let W=p.getValidEnumValues(this._def.values),X=this._getOrReturnCtx(Q);if(X.parsedType!==E.string&&X.parsedType!==E.number){let Y=p.objectValues(W);return R(X,{expected:p.joinValues(Y),received:X.parsedType,code:M.invalid_type}),x}if(!this._cache)this._cache=new Set(p.getValidEnumValues(this._def.values));if(!this._cache.has(Q.data)){let Y=p.objectValues(W);return R(X,{received:X.data,code:M.invalid_enum_value,options:Y}),x}return w0(Q.data)}get enum(){return this._def.values}}j6.create=(Q,W)=>{return new j6({values:Q,typeName:j.ZodNativeEnum,...u(W)})};class d1 extends c{unwrap(){return this._def.type}_parse(Q){let{ctx:W}=this._processInputParams(Q);if(W.parsedType!==E.promise&&W.common.async===!1)return R(W,{code:M.invalid_type,expected:E.promise,received:W.parsedType}),x;let X=W.parsedType===E.promise?W.data:Promise.resolve(W.data);return w0(X.then((Y)=>{return this._def.type.parseAsync(Y,{path:W.path,errorMap:W.common.contextualErrorMap})}))}}d1.create=(Q,W)=>{return new d1({type:Q,typeName:j.ZodPromise,...u(W)})};class d0 extends c{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===j.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(Q){let{status:W,ctx:X}=this._processInputParams(Q),Y=this._def.effect||null,$={addIssue:(J)=>{if(R(X,J),J.fatal)W.abort();else W.dirty()},get path(){return X.path}};if($.addIssue=$.addIssue.bind($),Y.type==="preprocess"){let J=Y.transform(X.data,$);if(X.common.async)return Promise.resolve(J).then(async(G)=>{if(W.value==="aborted")return x;let H=await this._def.schema._parseAsync({data:G,path:X.path,parent:X});if(H.status==="aborted")return x;if(H.status==="dirty")return c1(H.value);if(W.value==="dirty")return c1(H.value);return H});else{if(W.value==="aborted")return x;let G=this._def.schema._parseSync({data:J,path:X.path,parent:X});if(G.status==="aborted")return x;if(G.status==="dirty")return c1(G.value);if(W.value==="dirty")return c1(G.value);return G}}if(Y.type==="refinement"){let J=(G)=>{let H=Y.refinement(G,$);if(X.common.async)return Promise.resolve(H);if(H instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return G};if(X.common.async===!1){let G=this._def.schema._parseSync({data:X.data,path:X.path,parent:X});if(G.status==="aborted")return x;if(G.status==="dirty")W.dirty();return J(G.value),{status:W.value,value:G.value}}else return this._def.schema._parseAsync({data:X.data,path:X.path,parent:X}).then((G)=>{if(G.status==="aborted")return x;if(G.status==="dirty")W.dirty();return J(G.value).then(()=>{return{status:W.value,value:G.value}})})}if(Y.type==="transform")if(X.common.async===!1){let J=this._def.schema._parseSync({data:X.data,path:X.path,parent:X});if(!N1(J))return x;let G=Y.transform(J.value,$);if(G instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:W.value,value:G}}else return this._def.schema._parseAsync({data:X.data,path:X.path,parent:X}).then((J)=>{if(!N1(J))return x;return Promise.resolve(Y.transform(J.value,$)).then((G)=>({status:W.value,value:G}))});p.assertNever(Y)}}d0.create=(Q,W,X)=>{return new d0({schema:Q,typeName:j.ZodEffects,effect:W,...u(X)})};d0.createWithPreprocess=(Q,W,X)=>{return new d0({schema:W,effect:{type:"preprocess",transform:Q},typeName:j.ZodEffects,...u(X)})};class g0 extends c{_parse(Q){if(this._getType(Q)===E.undefined)return w0(void 0);return this._def.innerType._parse(Q)}unwrap(){return this._def.innerType}}g0.create=(Q,W)=>{return new g0({innerType:Q,typeName:j.ZodOptional,...u(W)})};class K1 extends c{_parse(Q){if(this._getType(Q)===E.null)return w0(null);return this._def.innerType._parse(Q)}unwrap(){return this._def.innerType}}K1.create=(Q,W)=>{return new K1({innerType:Q,typeName:j.ZodNullable,...u(W)})};class E6 extends c{_parse(Q){let{ctx:W}=this._processInputParams(Q),X=W.data;if(W.parsedType===E.undefined)X=this._def.defaultValue();return this._def.innerType._parse({data:X,path:W.path,parent:W})}removeDefault(){return this._def.innerType}}E6.create=(Q,W)=>{return new E6({innerType:Q,typeName:j.ZodDefault,defaultValue:typeof W.default==="function"?W.default:()=>W.default,...u(W)})};class b6 extends c{_parse(Q){let{ctx:W}=this._processInputParams(Q),X={...W,common:{...W.common,issues:[]}},Y=this._def.innerType._parse({data:X.data,path:X.path,parent:{...X}});if(L6(Y))return Y.then(($)=>{return{status:"valid",value:$.status==="valid"?$.value:this._def.catchValue({get error(){return new I0(X.common.issues)},input:X.data})}});else return{status:"valid",value:Y.status==="valid"?Y.value:this._def.catchValue({get error(){return new I0(X.common.issues)},input:X.data})}}removeCatch(){return this._def.innerType}}b6.create=(Q,W)=>{return new b6({innerType:Q,typeName:j.ZodCatch,catchValue:typeof W.catch==="function"?W.catch:()=>W.catch,...u(W)})};class V4 extends c{_parse(Q){if(this._getType(Q)!==E.nan){let X=this._getOrReturnCtx(Q);return R(X,{code:M.invalid_type,expected:E.nan,received:X.parsedType}),x}return{status:"valid",value:Q.data}}}V4.create=(Q)=>{return new V4({typeName:j.ZodNaN,...u(Q)})};var kL=Symbol("zod_brand");class v9 extends c{_parse(Q){let{ctx:W}=this._processInputParams(Q),X=W.data;return this._def.type._parse({data:X,path:W.path,parent:W})}unwrap(){return this._def.type}}class F4 extends c{_parse(Q){let{status:W,ctx:X}=this._processInputParams(Q);if(X.common.async)return(async()=>{let $=await this._def.in._parseAsync({data:X.data,path:X.path,parent:X});if($.status==="aborted")return x;if($.status==="dirty")return W.dirty(),c1($.value);else return this._def.out._parseAsync({data:$.value,path:X.path,parent:X})})();else{let Y=this._def.in._parseSync({data:X.data,path:X.path,parent:X});if(Y.status==="aborted")return x;if(Y.status==="dirty")return W.dirty(),{status:"dirty",value:Y.value};else return this._def.out._parseSync({data:Y.value,path:X.path,parent:X})}}static create(Q,W){return new F4({in:Q,out:W,typeName:j.ZodPipeline})}}class S6 extends c{_parse(Q){let W=this._def.innerType._parse(Q),X=(Y)=>{if(N1(Y))Y.value=Object.freeze(Y.value);return Y};return L6(W)?W.then((Y)=>X(Y)):X(W)}unwrap(){return this._def.innerType}}S6.create=(Q,W)=>{return new S6({innerType:Q,typeName:j.ZodReadonly,...u(W)})};function yJ(Q,W){let X=typeof Q==="function"?Q(W):typeof Q==="string"?{message:Q}:Q;return typeof X==="string"?{message:X}:X}function mJ(Q,W={},X){if(Q)return i1.create().superRefine((Y,$)=>{let J=Q(Y);if(J instanceof Promise)return J.then((G)=>{if(!G){let H=yJ(W,Y),B=H.fatal??X??!0;$.addIssue({code:"custom",...H,fatal:B})}});if(!J){let G=yJ(W,Y),H=G.fatal??X??!0;$.addIssue({code:"custom",...G,fatal:H})}return});return i1.create()}var _L={object:K0.lazycreate},j;(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"})(j||(j={}));var xL=(Q,W={message:`Input not instance of ${Q.name}`})=>mJ((X)=>X instanceof Q,W),cJ=p0.create,pJ=M1.create,gL=V4.create,yL=j1.create,iJ=V6.create,hL=p1.create,fL=z4.create,uL=F6.create,lL=U6.create,mL=i1.create,cL=w1.create,pL=$1.create,iL=L4.create,nL=i0.create,eW=K0.create,dL=K0.strictCreate,oL=O6.create,rL=Z9.create,tL=N6.create,aL=J1.create,sL=D4.create,eL=q4.create,QD=n1.create,WD=q6.create,XD=w6.create,YD=M6.create,$D=E1.create,JD=j6.create,GD=d1.create,HD=d0.create,BD=g0.create,AD=K1.create,KD=d0.createWithPreprocess,zD=F4.create,LD=()=>cJ().optional(),DD=()=>pJ().optional(),qD=()=>iJ().optional(),VD={string:(Q)=>p0.create({...Q,coerce:!0}),number:(Q)=>M1.create({...Q,coerce:!0}),boolean:(Q)=>V6.create({...Q,coerce:!0}),bigint:(Q)=>j1.create({...Q,coerce:!0}),date:(Q)=>p1.create({...Q,coerce:!0})};var FD=x;var OD=U("ZodMiniType",(Q,W)=>{if(!Q._zod)throw Error("Uninitialized schema in ZodMiniType.");s.init(Q,W),Q.def=W,Q.parse=(X,Y)=>h8(Q,X,Y,{callee:Q.parse}),Q.safeParse=(X,Y)=>y1(Q,X,Y),Q.parseAsync=async(X,Y)=>u8(Q,X,Y,{callee:Q.parseAsync}),Q.safeParseAsync=async(X,Y)=>h1(Q,X,Y),Q.check=(...X)=>{return Q.clone({...W,checks:[...W.checks??[],...X.map((Y)=>typeof Y==="function"?{_zod:{check:Y,def:{check:"custom"},onattach:[]}}:Y)]})},Q.clone=(X,Y)=>_0(Q,X,Y),Q.brand=()=>Q,Q.register=(X,Y)=>{return X.add(Q,Y),Q}});var ND=U("ZodMiniObject",(Q,W)=>{t4.init(Q,W),OD.init(Q,W),i.defineLazy(Q,"shape",()=>W.shape)});function QX(Q,W){let X={type:"object",get shape(){return i.assignProp(this,"shape",{...Q}),this.shape},...i.normalizeParams(W)};return new ND(X)}function u0(Q){return!!Q._zod}function o1(Q){let W=Object.values(Q);if(W.length===0)return QX({});let X=W.every(u0),Y=W.every(($)=>!u0($));if(X)return QX(Q);if(Y)return eW(Q);throw Error("Mixed Zod versions detected in object shape.")}function b1(Q,W){if(u0(Q))return y1(Q,W);return Q.safeParse(W)}async function k9(Q,W){if(u0(Q))return await h1(Q,W);return await Q.safeParseAsync(W)}function S1(Q){if(!Q)return;let W;if(u0(Q))W=Q._zod?.def?.shape;else W=Q.shape;if(!W)return;if(typeof W==="function")try{return W()}catch{return}return W}function R6(Q){if(!Q)return;if(typeof Q==="object"){let W=Q,X=Q;if(!W._def&&!X._zod){let Y=Object.values(Q);if(Y.length>0&&Y.every(($)=>typeof $==="object"&&$!==null&&($._def!==void 0||$._zod!==void 0||typeof $.parse==="function")))return o1(Q)}}if(u0(Q)){let X=Q._zod?.def;if(X&&(X.type==="object"||X.shape!==void 0))return Q}else if(Q.shape!==void 0)return Q;return}function _9(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 W=Q.issues[0];if(W&&typeof W==="object"&&"message"in W)return String(W.message)}try{return JSON.stringify(Q)}catch{return String(Q)}}return String(Q)}function nJ(Q){return Q.description}function dJ(Q){if(u0(Q))return Q._zod?.def?.type==="optional";let W=Q;if(typeof Q.isOptional==="function")return Q.isOptional();return W._def?.typeName==="ZodOptional"}function x9(Q){if(u0(Q)){let J=Q._zod?.def;if(J){if(J.value!==void 0)return J.value;if(Array.isArray(J.values)&&J.values.length>0)return J.values[0]}}let X=Q._def;if(X){if(X.value!==void 0)return X.value;if(Array.isArray(X.values)&&X.values.length>0)return X.values[0]}let Y=Q.value;if(Y!==void 0)return Y;return}function R1(Q){return Q==="completed"||Q==="failed"||Q==="cancelled"}var rJ=Symbol("Let zodToJsonSchema decide on which parser to use");var oJ={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"},tJ=(Q)=>typeof Q==="string"?{...oJ,name:Q}:{...oJ,...Q};var aJ=(Q)=>{let W=tJ(Q),X=W.name!==void 0?[...W.basePath,W.definitionPath,W.name]:W.basePath;return{...W,flags:{hasReferencedOpenAiAnyType:!1},currentPath:X,propertyPath:void 0,seen:new Map(Object.entries(W.definitions).map(([Y,$])=>[$._def,{def:$._def,path:[...W.basePath,W.definitionPath,Y],jsonSchema:void 0}]))}};function WX(Q,W,X,Y){if(!Y?.errorMessages)return;if(X)Q.errorMessage={...Q.errorMessage,[W]:X}}function d(Q,W,X,Y,$){Q[W]=X,WX(Q,W,Y,$)}var g9=(Q,W)=>{let X=0;for(;X<Q.length&&X<W.length;X++)if(Q[X]!==W[X])break;return[(Q.length-X).toString(),...W.slice(X)].join("/")};function B0(Q){if(Q.target!=="openAi")return{};let W=[...Q.basePath,Q.definitionPath,Q.openAiAnyTypeName];return Q.flags.hasReferencedOpenAiAnyType=!0,{$ref:Q.$refStrategy==="relative"?g9(W,Q.currentPath):W.join("/")}}function sJ(Q,W){let X={type:"array"};if(Q.type?._def&&Q.type?._def?.typeName!==j.ZodAny)X.items=y(Q.type._def,{...W,currentPath:[...W.currentPath,"items"]});if(Q.minLength)d(X,"minItems",Q.minLength.value,Q.minLength.message,W);if(Q.maxLength)d(X,"maxItems",Q.maxLength.value,Q.maxLength.message,W);if(Q.exactLength)d(X,"minItems",Q.exactLength.value,Q.exactLength.message,W),d(X,"maxItems",Q.exactLength.value,Q.exactLength.message,W);return X}function eJ(Q,W){let X={type:"integer",format:"int64"};if(!Q.checks)return X;for(let Y of Q.checks)switch(Y.kind){case"min":if(W.target==="jsonSchema7")if(Y.inclusive)d(X,"minimum",Y.value,Y.message,W);else d(X,"exclusiveMinimum",Y.value,Y.message,W);else{if(!Y.inclusive)X.exclusiveMinimum=!0;d(X,"minimum",Y.value,Y.message,W)}break;case"max":if(W.target==="jsonSchema7")if(Y.inclusive)d(X,"maximum",Y.value,Y.message,W);else d(X,"exclusiveMaximum",Y.value,Y.message,W);else{if(!Y.inclusive)X.exclusiveMaximum=!0;d(X,"maximum",Y.value,Y.message,W)}break;case"multipleOf":d(X,"multipleOf",Y.value,Y.message,W);break}return X}function Q7(){return{type:"boolean"}}function y9(Q,W){return y(Q.type._def,W)}var W7=(Q,W)=>{return y(Q.innerType._def,W)};function XX(Q,W,X){let Y=X??W.dateStrategy;if(Array.isArray(Y))return{anyOf:Y.map(($,J)=>XX(Q,W,$))};switch(Y){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return MD(Q,W)}}var MD=(Q,W)=>{let X={type:"integer",format:"unix-time"};if(W.target==="openApi3")return X;for(let Y of Q.checks)switch(Y.kind){case"min":d(X,"minimum",Y.value,Y.message,W);break;case"max":d(X,"maximum",Y.value,Y.message,W);break}return X};function X7(Q,W){return{...y(Q.innerType._def,W),default:Q.defaultValue()}}function Y7(Q,W){return W.effectStrategy==="input"?y(Q.schema._def,W):B0(W)}function $7(Q){return{type:"string",enum:Array.from(Q.values)}}var jD=(Q)=>{if("type"in Q&&Q.type==="string")return!1;return"allOf"in Q};function J7(Q,W){let X=[y(Q.left._def,{...W,currentPath:[...W.currentPath,"allOf","0"]}),y(Q.right._def,{...W,currentPath:[...W.currentPath,"allOf","1"]})].filter((J)=>!!J),Y=W.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,$=[];return X.forEach((J)=>{if(jD(J)){if($.push(...J.allOf),J.unevaluatedProperties===void 0)Y=void 0}else{let G=J;if("additionalProperties"in J&&J.additionalProperties===!1){let{additionalProperties:H,...B}=J;G=B}else Y=void 0;$.push(G)}}),$.length?{allOf:$,...Y}:void 0}function G7(Q,W){let X=typeof Q.value;if(X!=="bigint"&&X!=="number"&&X!=="boolean"&&X!=="string")return{type:Array.isArray(Q.value)?"array":"object"};if(W.target==="openApi3")return{type:X==="bigint"?"integer":X,enum:[Q.value]};return{type:X==="bigint"?"integer":X,const:Q.value}}var YX=void 0,o0={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(YX===void 0)YX=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return YX},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 h9(Q,W){let X={type:"string"};if(Q.checks)for(let Y of Q.checks)switch(Y.kind){case"min":d(X,"minLength",typeof X.minLength==="number"?Math.max(X.minLength,Y.value):Y.value,Y.message,W);break;case"max":d(X,"maxLength",typeof X.maxLength==="number"?Math.min(X.maxLength,Y.value):Y.value,Y.message,W);break;case"email":switch(W.emailStrategy){case"format:email":r0(X,"email",Y.message,W);break;case"format:idn-email":r0(X,"idn-email",Y.message,W);break;case"pattern:zod":b0(X,o0.email,Y.message,W);break}break;case"url":r0(X,"uri",Y.message,W);break;case"uuid":r0(X,"uuid",Y.message,W);break;case"regex":b0(X,Y.regex,Y.message,W);break;case"cuid":b0(X,o0.cuid,Y.message,W);break;case"cuid2":b0(X,o0.cuid2,Y.message,W);break;case"startsWith":b0(X,RegExp(`^${$X(Y.value,W)}`),Y.message,W);break;case"endsWith":b0(X,RegExp(`${$X(Y.value,W)}$`),Y.message,W);break;case"datetime":r0(X,"date-time",Y.message,W);break;case"date":r0(X,"date",Y.message,W);break;case"time":r0(X,"time",Y.message,W);break;case"duration":r0(X,"duration",Y.message,W);break;case"length":d(X,"minLength",typeof X.minLength==="number"?Math.max(X.minLength,Y.value):Y.value,Y.message,W),d(X,"maxLength",typeof X.maxLength==="number"?Math.min(X.maxLength,Y.value):Y.value,Y.message,W);break;case"includes":{b0(X,RegExp($X(Y.value,W)),Y.message,W);break}case"ip":{if(Y.version!=="v6")r0(X,"ipv4",Y.message,W);if(Y.version!=="v4")r0(X,"ipv6",Y.message,W);break}case"base64url":b0(X,o0.base64url,Y.message,W);break;case"jwt":b0(X,o0.jwt,Y.message,W);break;case"cidr":{if(Y.version!=="v6")b0(X,o0.ipv4Cidr,Y.message,W);if(Y.version!=="v4")b0(X,o0.ipv6Cidr,Y.message,W);break}case"emoji":b0(X,o0.emoji(),Y.message,W);break;case"ulid":{b0(X,o0.ulid,Y.message,W);break}case"base64":{switch(W.base64Strategy){case"format:binary":{r0(X,"binary",Y.message,W);break}case"contentEncoding:base64":{d(X,"contentEncoding","base64",Y.message,W);break}case"pattern:zod":{b0(X,o0.base64,Y.message,W);break}}break}case"nanoid":b0(X,o0.nanoid,Y.message,W);case"toLowerCase":case"toUpperCase":case"trim":break;default:(($)=>{})(Y)}return X}function $X(Q,W){return W.patternStrategy==="escape"?bD(Q):Q}var ED=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function bD(Q){let W="";for(let X=0;X<Q.length;X++){if(!ED.has(Q[X]))W+="\\";W+=Q[X]}return W}function r0(Q,W,X,Y){if(Q.format||Q.anyOf?.some(($)=>$.format)){if(!Q.anyOf)Q.anyOf=[];if(Q.format){if(Q.anyOf.push({format:Q.format,...Q.errorMessage&&Y.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:W,...X&&Y.errorMessages&&{errorMessage:{format:X}}})}else d(Q,"format",W,X,Y)}function b0(Q,W,X,Y){if(Q.pattern||Q.allOf?.some(($)=>$.pattern)){if(!Q.allOf)Q.allOf=[];if(Q.pattern){if(Q.allOf.push({pattern:Q.pattern,...Q.errorMessage&&Y.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:H7(W,Y),...X&&Y.errorMessages&&{errorMessage:{pattern:X}}})}else d(Q,"pattern",H7(W,Y),X,Y)}function H7(Q,W){if(!W.applyRegexFlags||!Q.flags)return Q.source;let X={i:Q.flags.includes("i"),m:Q.flags.includes("m"),s:Q.flags.includes("s")},Y=X.i?Q.source.toLowerCase():Q.source,$="",J=!1,G=!1,H=!1;for(let B=0;B<Y.length;B++){if(J){$+=Y[B],J=!1;continue}if(X.i){if(G){if(Y[B].match(/[a-z]/)){if(H)$+=Y[B],$+=`${Y[B-2]}-${Y[B]}`.toUpperCase(),H=!1;else if(Y[B+1]==="-"&&Y[B+2]?.match(/[a-z]/))$+=Y[B],H=!0;else $+=`${Y[B]}${Y[B].toUpperCase()}`;continue}}else if(Y[B].match(/[a-z]/)){$+=`[${Y[B]}${Y[B].toUpperCase()}]`;continue}}if(X.m){if(Y[B]==="^"){$+=`(^|(?<=[\r
40
40
  ]))`;continue}else if(Y[B]==="$"){$+=`($|(?=[\r
41
41
  ]))`;continue}}if(X.s&&Y[B]==="."){$+=G?`${Y[B]}\r
42
42
  `:`[${Y[B]}\r
43
- ]`;continue}if($+=Y[B],Y[B]==="\\")J=!0;else if(G&&Y[B]==="]")G=!1;else if(!G&&Y[B]==="[")G=!0}try{new RegExp($)}catch{return console.warn(`Could not convert regex pattern at ${W.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),Q.source}return $}function f9(Q,W){if(W.target==="openAi")console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.");if(W.target==="openApi3"&&Q.keyType?._def.typeName===j.ZodEnum)return{type:"object",required:Q.keyType._def.values,properties:Q.keyType._def.values.reduce((Y,$)=>({...Y,[$]:y(Q.valueType._def,{...W,currentPath:[...W.currentPath,"properties",$]})??B0(W)}),{}),additionalProperties:W.rejectedAdditionalProperties};let X={type:"object",additionalProperties:y(Q.valueType._def,{...W,currentPath:[...W.currentPath,"additionalProperties"]})??W.allowedAdditionalProperties};if(W.target==="openApi3")return X;if(Q.keyType?._def.typeName===j.ZodString&&Q.keyType._def.checks?.length){let{type:Y,...$}=h9(Q.keyType._def,W);return{...X,propertyNames:$}}else if(Q.keyType?._def.typeName===j.ZodEnum)return{...X,propertyNames:{enum:Q.keyType._def.values}};else if(Q.keyType?._def.typeName===j.ZodBranded&&Q.keyType._def.type._def.typeName===j.ZodString&&Q.keyType._def.type._def.checks?.length){let{type:Y,...$}=y9(Q.keyType._def,W);return{...X,propertyNames:$}}return X}function B7(Q,W){if(W.mapStrategy==="record")return f9(Q,W);let X=y(Q.keyType._def,{...W,currentPath:[...W.currentPath,"items","items","0"]})||B0(W),Y=y(Q.valueType._def,{...W,currentPath:[...W.currentPath,"items","items","1"]})||B0(W);return{type:"array",maxItems:125,items:{type:"array",items:[X,Y],minItems:2,maxItems:2}}}function A7(Q){let W=Q.values,Y=Object.keys(Q.values).filter((J)=>{return typeof W[W[J]]!=="number"}).map((J)=>W[J]),$=Array.from(new Set(Y.map((J)=>typeof J)));return{type:$.length===1?$[0]==="string"?"string":"number":["string","number"],enum:Y}}function K7(Q){return Q.target==="openAi"?void 0:{not:B0({...Q,currentPath:[...Q.currentPath,"not"]})}}function z7(Q){return Q.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var U4={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function D7(Q,W){if(W.target==="openApi3")return L7(Q,W);let X=Q.options instanceof Map?Array.from(Q.options.values()):Q.options;if(X.every((Y)=>(Y._def.typeName in U4)&&(!Y._def.checks||!Y._def.checks.length))){let Y=X.reduce(($,J)=>{let G=U4[J._def.typeName];return G&&!$.includes(G)?[...$,G]:$},[]);return{type:Y.length>1?Y:Y[0]}}else if(X.every((Y)=>Y._def.typeName==="ZodLiteral"&&!Y.description)){let Y=X.reduce(($,J)=>{let G=typeof J._def.value;switch(G){case"string":case"number":case"boolean":return[...$,G];case"bigint":return[...$,"integer"];case"object":if(J._def.value===null)return[...$,"null"];case"symbol":case"undefined":case"function":default:return $}},[]);if(Y.length===X.length){let $=Y.filter((J,G,H)=>H.indexOf(J)===G);return{type:$.length>1?$:$[0],enum:X.reduce((J,G)=>{return J.includes(G._def.value)?J:[...J,G._def.value]},[])}}}else if(X.every((Y)=>Y._def.typeName==="ZodEnum"))return{type:"string",enum:X.reduce((Y,$)=>[...Y,...$._def.values.filter((J)=>!Y.includes(J))],[])};return L7(Q,W)}var L7=(Q,W)=>{let X=(Q.options instanceof Map?Array.from(Q.options.values()):Q.options).map((Y,$)=>y(Y._def,{...W,currentPath:[...W.currentPath,"anyOf",`${$}`]})).filter((Y)=>!!Y&&(!W.strictUnions||typeof Y==="object"&&Object.keys(Y).length>0));return X.length?{anyOf:X}:void 0};function q7(Q,W){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(Q.innerType._def.typeName)&&(!Q.innerType._def.checks||!Q.innerType._def.checks.length)){if(W.target==="openApi3")return{type:U4[Q.innerType._def.typeName],nullable:!0};return{type:[U4[Q.innerType._def.typeName],"null"]}}if(W.target==="openApi3"){let Y=y(Q.innerType._def,{...W,currentPath:[...W.currentPath]});if(Y&&"$ref"in Y)return{allOf:[Y],nullable:!0};return Y&&{...Y,nullable:!0}}let X=y(Q.innerType._def,{...W,currentPath:[...W.currentPath,"anyOf","0"]});return X&&{anyOf:[X,{type:"null"}]}}function V7(Q,W){let X={type:"number"};if(!Q.checks)return X;for(let Y of Q.checks)switch(Y.kind){case"int":X.type="integer",WX(X,"type",Y.message,W);break;case"min":if(W.target==="jsonSchema7")if(Y.inclusive)d(X,"minimum",Y.value,Y.message,W);else d(X,"exclusiveMinimum",Y.value,Y.message,W);else{if(!Y.inclusive)X.exclusiveMinimum=!0;d(X,"minimum",Y.value,Y.message,W)}break;case"max":if(W.target==="jsonSchema7")if(Y.inclusive)d(X,"maximum",Y.value,Y.message,W);else d(X,"exclusiveMaximum",Y.value,Y.message,W);else{if(!Y.inclusive)X.exclusiveMaximum=!0;d(X,"maximum",Y.value,Y.message,W)}break;case"multipleOf":d(X,"multipleOf",Y.value,Y.message,W);break}return X}function F7(Q,W){let X=W.target==="openAi",Y={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 A=RD(B);if(A&&X){if(B._def.typeName==="ZodOptional")B=B._def.innerType;if(!B.isNullable())B=B.nullable();A=!1}let K=y(B._def,{...W,currentPath:[...W.currentPath,"properties",H],propertyPath:[...W.currentPath,"properties",H]});if(K===void 0)continue;if(Y.properties[H]=K,!A)$.push(H)}if($.length)Y.required=$;let G=SD(Q,W);if(G!==void 0)Y.additionalProperties=G;return Y}function SD(Q,W){if(Q.catchall._def.typeName!=="ZodNever")return y(Q.catchall._def,{...W,currentPath:[...W.currentPath,"additionalProperties"]});switch(Q.unknownKeys){case"passthrough":return W.allowedAdditionalProperties;case"strict":return W.rejectedAdditionalProperties;case"strip":return W.removeAdditionalStrategy==="strict"?W.allowedAdditionalProperties:W.rejectedAdditionalProperties}}function RD(Q){try{return Q.isOptional()}catch{return!0}}var U7=(Q,W)=>{if(W.currentPath.toString()===W.propertyPath?.toString())return y(Q.innerType._def,W);let X=y(Q.innerType._def,{...W,currentPath:[...W.currentPath,"anyOf","1"]});return X?{anyOf:[{not:B0(W)},X]}:B0(W)};var O7=(Q,W)=>{if(W.pipeStrategy==="input")return y(Q.in._def,W);else if(W.pipeStrategy==="output")return y(Q.out._def,W);let X=y(Q.in._def,{...W,currentPath:[...W.currentPath,"allOf","0"]}),Y=y(Q.out._def,{...W,currentPath:[...W.currentPath,"allOf",X?"1":"0"]});return{allOf:[X,Y].filter(($)=>$!==void 0)}};function N7(Q,W){return y(Q.type._def,W)}function w7(Q,W){let Y={type:"array",uniqueItems:!0,items:y(Q.valueType._def,{...W,currentPath:[...W.currentPath,"items"]})};if(Q.minSize)d(Y,"minItems",Q.minSize.value,Q.minSize.message,W);if(Q.maxSize)d(Y,"maxItems",Q.maxSize.value,Q.maxSize.message,W);return Y}function M7(Q,W){if(Q.rest)return{type:"array",minItems:Q.items.length,items:Q.items.map((X,Y)=>y(X._def,{...W,currentPath:[...W.currentPath,"items",`${Y}`]})).reduce((X,Y)=>Y===void 0?X:[...X,Y],[]),additionalItems:y(Q.rest._def,{...W,currentPath:[...W.currentPath,"additionalItems"]})};else return{type:"array",minItems:Q.items.length,maxItems:Q.items.length,items:Q.items.map((X,Y)=>y(X._def,{...W,currentPath:[...W.currentPath,"items",`${Y}`]})).reduce((X,Y)=>Y===void 0?X:[...X,Y],[])}}function j7(Q){return{not:B0(Q)}}function E7(Q){return B0(Q)}var b7=(Q,W)=>{return y(Q.innerType._def,W)};var S7=(Q,W,X)=>{switch(W){case j.ZodString:return h9(Q,X);case j.ZodNumber:return V7(Q,X);case j.ZodObject:return F7(Q,X);case j.ZodBigInt:return eJ(Q,X);case j.ZodBoolean:return Q7();case j.ZodDate:return XX(Q,X);case j.ZodUndefined:return j7(X);case j.ZodNull:return z7(X);case j.ZodArray:return sJ(Q,X);case j.ZodUnion:case j.ZodDiscriminatedUnion:return D7(Q,X);case j.ZodIntersection:return J7(Q,X);case j.ZodTuple:return M7(Q,X);case j.ZodRecord:return f9(Q,X);case j.ZodLiteral:return G7(Q,X);case j.ZodEnum:return $7(Q);case j.ZodNativeEnum:return A7(Q);case j.ZodNullable:return q7(Q,X);case j.ZodOptional:return U7(Q,X);case j.ZodMap:return B7(Q,X);case j.ZodSet:return w7(Q,X);case j.ZodLazy:return()=>Q.getter()._def;case j.ZodPromise:return N7(Q,X);case j.ZodNaN:case j.ZodNever:return K7(X);case j.ZodEffects:return Y7(Q,X);case j.ZodAny:return B0(X);case j.ZodUnknown:return E7(X);case j.ZodDefault:return X7(Q,X);case j.ZodBranded:return y9(Q,X);case j.ZodReadonly:return b7(Q,X);case j.ZodCatch:return W7(Q,X);case j.ZodPipeline:return O7(Q,X);case j.ZodFunction:case j.ZodVoid:case j.ZodSymbol:return;default:return((Y)=>{return})(W)}};function y(Q,W,X=!1){let Y=W.seen.get(Q);if(W.override){let H=W.override?.(Q,W,Y,X);if(H!==rJ)return H}if(Y&&!X){let H=PD(Y,W);if(H!==void 0)return H}let $={def:Q,path:W.currentPath,jsonSchema:void 0};W.seen.set(Q,$);let J=S7(Q,Q.typeName,W),G=typeof J==="function"?y(J(),W):J;if(G)ID(Q,W,G);if(W.postProcess){let H=W.postProcess(G,Q,W);return $.jsonSchema=G,H}return $.jsonSchema=G,G}var PD=(Q,W)=>{switch(W.$refStrategy){case"root":return{$ref:Q.path.join("/")};case"relative":return{$ref:g9(W.currentPath,Q.path)};case"none":case"seen":{if(Q.path.length<W.currentPath.length&&Q.path.every((X,Y)=>W.currentPath[Y]===X))return console.warn(`Recursive reference detected at ${W.currentPath.join("/")}! Defaulting to any`),B0(W);return W.$refStrategy==="seen"?B0(W):void 0}}},ID=(Q,W,X)=>{if(Q.description){if(X.description=Q.description,W.markdownDescription)X.markdownDescription=Q.description}return X};var JX=(Q,W)=>{let X=aJ(W),Y=typeof W==="object"&&W.definitions?Object.entries(W.definitions).reduce((B,[A,K])=>({...B,[A]:y(K._def,{...X,currentPath:[...X.basePath,X.definitionPath,A]},!0)??B0(X)}),{}):void 0,$=typeof W==="string"?W:W?.nameStrategy==="title"?void 0:W?.name,J=y(Q._def,$===void 0?X:{...X,currentPath:[...X.basePath,X.definitionPath,$]},!1)??B0(X),G=typeof W==="object"&&W.name!==void 0&&W.nameStrategy==="title"?W.name:void 0;if(G!==void 0)J.title=G;if(X.flags.hasReferencedOpenAiAnyType){if(!Y)Y={};if(!Y[X.openAiAnyTypeName])Y[X.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:X.$refStrategy==="relative"?"1":[...X.basePath,X.definitionPath,X.openAiAnyTypeName].join("/")}}}let H=$===void 0?Y?{...J,[X.definitionPath]:Y}:J:{$ref:[...X.$refStrategy==="relative"?[]:X.basePath,X.definitionPath,$].join("/"),[X.definitionPath]:{...Y,[$]:J}};if(X.target==="jsonSchema7")H.$schema="http://json-schema.org/draft-07/schema#";else if(X.target==="jsonSchema2019-09"||X.target==="openAi")H.$schema="https://json-schema.org/draft/2019-09/schema#";if(X.target==="openAi"&&(("anyOf"in H)||("oneOf"in H)||("allOf"in H)||("type"in H)&&Array.isArray(H.type)))console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property.");return H};function CD(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 GX(Q,W){if(u0(Q))return EW(Q,{target:CD(W?.target),io:W?.pipeStrategy??"input"});return JX(Q,{strictUnions:W?.strictUnions??!0,pipeStrategy:W?.pipeStrategy??"input"})}function HX(Q){let X=S1(Q)?.method;if(!X)throw Error("Schema is missing a method literal");let Y=x9(X);if(typeof Y!=="string")throw Error("Schema method literal must be a string");return Y}function BX(Q,W){let X=b1(Q,W);if(!X.success)throw X.error;return X.data}var TD=60000;class AX{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(z9,(W)=>{this._oncancel(W)}),this.setNotificationHandler(D9,(W)=>{this._onprogress(W)}),this.setRequestHandler(L9,(W)=>({})),this._taskStore=Q?.taskStore,this._taskMessageQueue=Q?.taskMessageQueue,this._taskStore)this.setRequestHandler(q9,async(W,X)=>{let Y=await this._taskStore.getTask(W.params.taskId,X.sessionId);if(!Y)throw new T(k.InvalidParams,"Failed to retrieve task: Task not found");return{...Y}}),this.setRequestHandler(F9,async(W,X)=>{let Y=async()=>{let $=W.params.taskId;if(this._taskMessageQueue){let G;while(G=await this._taskMessageQueue.dequeue($,X.sessionId)){if(G.type==="response"||G.type==="error"){let H=G.message,B=H.id,A=this._requestResolvers.get(B);if(A)if(this._requestResolvers.delete(B),G.type==="response")A(H);else{let K=H,L=new T(K.error.code,K.error.message,K.error.data);A(L)}else{let K=G.type==="response"?"Response":"Error";this._onerror(Error(`${K} handler missing for request ${B}`))}continue}await this._transport?.send(G.message,{relatedRequestId:X.requestId})}}let J=await this._taskStore.getTask($,X.sessionId);if(!J)throw new T(k.InvalidParams,`Task not found: ${$}`);if(!R1(J.status))return await this._waitForTaskUpdate($,X.signal),await Y();if(R1(J.status)){let G=await this._taskStore.getTaskResult($,X.sessionId);return this._clearTaskQueue($),{...G,_meta:{...G._meta,[O1]:{taskId:$}}}}return await Y()};return await Y()}),this.setRequestHandler(U9,async(W,X)=>{try{let{tasks:Y,nextCursor:$}=await this._taskStore.listTasks(W.params?.cursor,X.sessionId);return{tasks:Y,nextCursor:$,_meta:{}}}catch(Y){throw new T(k.InvalidParams,`Failed to list tasks: ${Y instanceof Error?Y.message:String(Y)}`)}}),this.setRequestHandler(N9,async(W,X)=>{try{let Y=await this._taskStore.getTask(W.params.taskId,X.sessionId);if(!Y)throw new T(k.InvalidParams,`Task not found: ${W.params.taskId}`);if(R1(Y.status))throw new T(k.InvalidParams,`Cannot cancel task in terminal status: ${Y.status}`);await this._taskStore.updateTaskStatus(W.params.taskId,"cancelled","Client cancelled task execution.",X.sessionId),this._clearTaskQueue(W.params.taskId);let $=await this._taskStore.getTask(W.params.taskId,X.sessionId);if(!$)throw new T(k.InvalidParams,`Task not found after cancellation: ${W.params.taskId}`);return{_meta:{},...$}}catch(Y){if(Y instanceof T)throw Y;throw new T(k.InvalidRequest,`Failed to cancel task: ${Y instanceof Error?Y.message:String(Y)}`)}})}async _oncancel(Q){if(!Q.params.requestId)return;this._requestHandlerAbortControllers.get(Q.params.requestId)?.abort(Q.params.reason)}_setupTimeout(Q,W,X,Y,$=!1){this._timeoutInfo.set(Q,{timeoutId:setTimeout(Y,W),startTime:Date.now(),timeout:W,maxTotalTimeout:X,resetTimeoutOnProgress:$,onTimeout:Y})}_resetTimeout(Q){let W=this._timeoutInfo.get(Q);if(!W)return!1;let X=Date.now()-W.startTime;if(W.maxTotalTimeout&&X>=W.maxTotalTimeout)throw this._timeoutInfo.delete(Q),T.fromError(k.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:W.maxTotalTimeout,totalElapsed:X});return clearTimeout(W.timeoutId),W.timeoutId=setTimeout(W.onTimeout,W.timeout),!0}_cleanupTimeout(Q){let W=this._timeoutInfo.get(Q);if(W)clearTimeout(W.timeoutId),this._timeoutInfo.delete(Q)}async connect(Q){if(this._transport)throw Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=Q;let W=this.transport?.onclose;this._transport.onclose=()=>{W?.(),this._onclose()};let X=this.transport?.onerror;this._transport.onerror=($)=>{X?.($),this._onerror($)};let Y=this._transport?.onmessage;this._transport.onmessage=($,J)=>{if(Y?.($,J),W4($)||FJ($))this._onresponse($);else if(_W($))this._onrequest($,J);else if(VJ($))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();for(let X of this._timeoutInfo.values())clearTimeout(X.timeoutId);this._timeoutInfo.clear();for(let X of this._requestHandlerAbortControllers.values())X.abort();this._requestHandlerAbortControllers.clear();let W=T.fromError(k.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let X of Q.values())X(W)}_onerror(Q){this.onerror?.(Q)}_onnotification(Q){let W=this._notificationHandlers.get(Q.method)??this.fallbackNotificationHandler;if(W===void 0)return;Promise.resolve().then(()=>W(Q)).catch((X)=>this._onerror(Error(`Uncaught error in notification handler: ${X}`)))}_onrequest(Q,W){let X=this._requestHandlers.get(Q.method)??this.fallbackRequestHandler,Y=this._transport,$=Q.params?._meta?.[O1]?.taskId;if(X===void 0){let A={jsonrpc:"2.0",id:Q.id,error:{code:k.MethodNotFound,message:"Method not found"}};if($&&this._taskMessageQueue)this._enqueueTaskMessage($,{type:"error",message:A,timestamp:Date.now()},Y?.sessionId).catch((K)=>this._onerror(Error(`Failed to enqueue error response: ${K}`)));else Y?.send(A).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=LJ(Q.params)?Q.params.task:void 0,H=this._taskStore?this.requestTaskStore(Q,Y?.sessionId):void 0,B={signal:J.signal,sessionId:Y?.sessionId,_meta:Q.params?._meta,sendNotification:async(A)=>{if(J.signal.aborted)return;let K={relatedRequestId:Q.id};if($)K.relatedTask={taskId:$};await this.notification(A,K)},sendRequest:async(A,K,L)=>{if(J.signal.aborted)throw new T(k.ConnectionClosed,"Request was cancelled");let D={...L,relatedRequestId:Q.id};if($&&!D.relatedTask)D.relatedTask={taskId:$};let z=D.relatedTask?.taskId??$;if(z&&H)await H.updateTaskStatus(z,"input_required");return await this.request(A,K,D)},authInfo:W?.authInfo,requestId:Q.id,requestInfo:W?.requestInfo,taskId:$,taskStore:H,taskRequestedTtl:G?.ttl,closeSSEStream:W?.closeSSEStream,closeStandaloneSSEStream:W?.closeStandaloneSSEStream};Promise.resolve().then(()=>{if(G)this.assertTaskHandlerCapability(Q.method)}).then(()=>X(Q,B)).then(async(A)=>{if(J.signal.aborted)return;let K={result:A,jsonrpc:"2.0",id:Q.id};if($&&this._taskMessageQueue)await this._enqueueTaskMessage($,{type:"response",message:K,timestamp:Date.now()},Y?.sessionId);else await Y?.send(K)},async(A)=>{if(J.signal.aborted)return;let K={jsonrpc:"2.0",id:Q.id,error:{code:Number.isSafeInteger(A.code)?A.code:k.InternalError,message:A.message??"Internal error",...A.data!==void 0&&{data:A.data}}};if($&&this._taskMessageQueue)await this._enqueueTaskMessage($,{type:"error",message:K,timestamp:Date.now()},Y?.sessionId);else await Y?.send(K)}).catch((A)=>this._onerror(Error(`Failed to send response: ${A}`))).finally(()=>{if(this._requestHandlerAbortControllers.get(Q.id)===J)this._requestHandlerAbortControllers.delete(Q.id)})}_onprogress(Q){let{progressToken:W,...X}=Q.params,Y=Number(W),$=this._progressHandlers.get(Y);if(!$){this._onerror(Error(`Received a progress notification for an unknown token: ${JSON.stringify(Q)}`));return}let J=this._responseHandlers.get(Y),G=this._timeoutInfo.get(Y);if(G&&J&&G.resetTimeoutOnProgress)try{this._resetTimeout(Y)}catch(H){this._responseHandlers.delete(Y),this._progressHandlers.delete(Y),this._cleanupTimeout(Y),J(H);return}$(X)}_onresponse(Q){let W=Number(Q.id),X=this._requestResolvers.get(W);if(X){if(this._requestResolvers.delete(W),W4(Q))X(Q);else{let J=new T(Q.error.code,Q.error.message,Q.error.data);X(J)}return}let Y=this._responseHandlers.get(W);if(Y===void 0){this._onerror(Error(`Received a response for an unknown message ID: ${JSON.stringify(Q)}`));return}this._responseHandlers.delete(W),this._cleanupTimeout(W);let $=!1;if(W4(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,W)}}if(!$)this._progressHandlers.delete(W);if(W4(Q))Y(Q);else{let J=T.fromError(Q.error.code,Q.error.message,Q.error.data);Y(J)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(Q,W,X){let{task:Y}=X??{};if(!Y){try{yield{type:"result",result:await this.request(Q,W,X)}}catch(J){yield{type:"error",error:J instanceof T?J:new T(k.InternalError,String(J))}}return}let $;try{let J=await this.request(Q,H6,X);if(J.task)$=J.task.taskId,yield{type:"taskCreated",task:J.task};else throw new T(k.InternalError,"Task creation did not return a task");while(!0){let G=await this.getTask({taskId:$},X);if(yield{type:"taskStatus",task:G},R1(G.status)){if(G.status==="completed")yield{type:"result",result:await this.getTaskResult({taskId:$},W,X)};else if(G.status==="failed")yield{type:"error",error:new T(k.InternalError,`Task ${$} failed`)};else if(G.status==="cancelled")yield{type:"error",error:new T(k.InternalError,`Task ${$} was cancelled`)};return}if(G.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:$},W,X)};return}let H=G.pollInterval??this._options?.defaultTaskPollInterval??1000;await new Promise((B)=>setTimeout(B,H)),X?.signal?.throwIfAborted()}}catch(J){yield{type:"error",error:J instanceof T?J:new T(k.InternalError,String(J))}}}request(Q,W,X){let{relatedRequestId:Y,resumptionToken:$,onresumptiontoken:J,task:G,relatedTask:H}=X??{};return new Promise((B,A)=>{let K=(O)=>{A(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}X?.signal?.throwIfAborted();let L=this._requestMessageId++,D={...Q,jsonrpc:"2.0",id:L};if(X?.onprogress)this._progressHandlers.set(L,X.onprogress),D.params={...Q.params,_meta:{...Q.params?._meta||{},progressToken:L}};if(G)D.params={...D.params,task:G};if(H)D.params={...D.params,_meta:{...D.params?._meta||{},[O1]:H}};let z=(O)=>{this._responseHandlers.delete(L),this._progressHandlers.delete(L),this._cleanupTimeout(L),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:L,reason:String(O)}},{relatedRequestId:Y,resumptionToken:$,onresumptiontoken:J}).catch((S)=>this._onerror(Error(`Failed to send cancellation: ${S}`)));let b=O instanceof T?O:new T(k.RequestTimeout,String(O));A(b)};this._responseHandlers.set(L,(O)=>{if(X?.signal?.aborted)return;if(O instanceof Error)return A(O);try{let b=b1(W,O.result);if(!b.success)A(b.error);else B(b.data)}catch(b){A(b)}}),X?.signal?.addEventListener("abort",()=>{z(X?.signal?.reason)});let q=X?.timeout??TD,V=()=>z(T.fromError(k.RequestTimeout,"Request timed out",{timeout:q}));this._setupTimeout(L,q,X?.maxTotalTimeout,V,X?.resetTimeoutOnProgress??!1);let w=H?.taskId;if(w){let O=(b)=>{let S=this._responseHandlers.get(L);if(S)S(b);else this._onerror(Error(`Response handler missing for side-channeled request ${L}`))};this._requestResolvers.set(L,O),this._enqueueTaskMessage(w,{type:"request",message:D,timestamp:Date.now()}).catch((b)=>{this._cleanupTimeout(L),A(b)})}else this._transport.send(D,{relatedRequestId:Y,resumptionToken:$,onresumptiontoken:J}).catch((O)=>{this._cleanupTimeout(L),A(O)})})}async getTask(Q,W){return this.request({method:"tasks/get",params:Q},V9,W)}async getTaskResult(Q,W,X){return this.request({method:"tasks/result",params:Q},W,X)}async listTasks(Q,W){return this.request({method:"tasks/list",params:Q},O9,W)}async cancelTask(Q,W){return this.request({method:"tasks/cancel",params:Q},NJ,W)}async notification(Q,W){if(!this._transport)throw Error("Not connected");this.assertNotificationCapability(Q.method);let X=W?.relatedTask?.taskId;if(X){let G={...Q,jsonrpc:"2.0",params:{...Q.params,_meta:{...Q.params?._meta||{},[O1]:W.relatedTask}}};await this._enqueueTaskMessage(X,{type:"notification",message:G,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(Q.method)&&!Q.params&&!W?.relatedRequestId&&!W?.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(W?.relatedTask)G={...G,params:{...G.params,_meta:{...G.params?._meta||{},[O1]:W.relatedTask}}};this._transport?.send(G,W).catch((H)=>this._onerror(H))});return}let J={...Q,jsonrpc:"2.0"};if(W?.relatedTask)J={...J,params:{...J.params,_meta:{...J.params?._meta||{},[O1]:W.relatedTask}}};await this._transport.send(J,W)}setRequestHandler(Q,W){let X=HX(Q);this.assertRequestHandlerCapability(X),this._requestHandlers.set(X,(Y,$)=>{let J=BX(Q,Y);return Promise.resolve(W(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,W){let X=HX(Q);this._notificationHandlers.set(X,(Y)=>{let $=BX(Q,Y);return Promise.resolve(W($))})}removeNotificationHandler(Q){this._notificationHandlers.delete(Q)}_cleanupTaskProgressHandler(Q){let W=this._taskProgressTokens.get(Q);if(W!==void 0)this._progressHandlers.delete(W),this._taskProgressTokens.delete(Q)}async _enqueueTaskMessage(Q,W,X){if(!this._taskStore||!this._taskMessageQueue)throw Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let Y=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(Q,W,X,Y)}async _clearTaskQueue(Q,W){if(this._taskMessageQueue){let X=await this._taskMessageQueue.dequeueAll(Q,W);for(let Y of X)if(Y.type==="request"&&_W(Y.message)){let $=Y.message.id,J=this._requestResolvers.get($);if(J)J(new T(k.InternalError,"Task cancelled or completed")),this._requestResolvers.delete($);else this._onerror(Error(`Resolver missing for request ${$} during task ${Q} cleanup`))}}}async _waitForTaskUpdate(Q,W){let X=this._options?.defaultTaskPollInterval??1000;try{let Y=await this._taskStore?.getTask(Q);if(Y?.pollInterval)X=Y.pollInterval}catch{}return new Promise((Y,$)=>{if(W.aborted){$(new T(k.InvalidRequest,"Request cancelled"));return}let J=setTimeout(Y,X);W.addEventListener("abort",()=>{clearTimeout(J),$(new T(k.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(Q,W){let X=this._taskStore;if(!X)throw Error("No task store configured");return{createTask:async(Y)=>{if(!Q)throw Error("No request provided");return await X.createTask(Y,Q.id,{method:Q.method,params:Q.params},W)},getTask:async(Y)=>{let $=await X.getTask(Y,W);if(!$)throw new T(k.InvalidParams,"Failed to retrieve task: Task not found");return $},storeTaskResult:async(Y,$,J)=>{await X.storeTaskResult(Y,$,J,W);let G=await X.getTask(Y,W);if(G){let H=G4.parse({method:"notifications/tasks/status",params:G});if(await this.notification(H),R1(G.status))this._cleanupTaskProgressHandler(Y)}},getTaskResult:(Y)=>{return X.getTaskResult(Y,W)},updateTaskStatus:async(Y,$,J)=>{let G=await X.getTask(Y,W);if(!G)throw new T(k.InvalidParams,`Task "${Y}" not found - it may have been cleaned up`);if(R1(G.status))throw new T(k.InvalidParams,`Cannot update task "${Y}" from terminal status "${G.status}" to "${$}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await X.updateTaskStatus(Y,$,J,W);let H=await X.getTask(Y,W);if(H){let B=G4.parse({method:"notifications/tasks/status",params:H});if(await this.notification(B),R1(H.status))this._cleanupTaskProgressHandler(Y)}},listTasks:(Y)=>{return X.listTasks(Y,W)}}}}function R7(Q){return Q!==null&&typeof Q==="object"&&!Array.isArray(Q)}function P7(Q,W){let X={...Q};for(let Y in W){let $=Y,J=W[$];if(J===void 0)continue;let G=X[$];if(R7(G)&&R7(J))X[$]={...G,...J};else X[$]=J}return X}var AB=bY($Y(),1),KB=bY(BB(),1);function sM(){let Q=new AB.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return KB.default(Q),Q}class qY{constructor(Q){this._ajv=Q??sM()}getValidator(Q){let W="$id"in Q&&typeof Q.$id==="string"?this._ajv.getSchema(Q.$id)??this._ajv.compile(Q):this._ajv.compile(Q);return(X)=>{if(W(X))return{valid:!0,data:X,errorMessage:void 0};else return{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(W.errors)}}}}class VY{constructor(Q){this._server=Q}requestStream(Q,W,X){return this._server.requestStream(Q,W,X)}createMessageStream(Q,W){let X=this._server.getClientCapabilities();if((Q.tools||Q.toolChoice)&&!X?.sampling?.tools)throw Error("Client does not support sampling tools capability.");if(Q.messages.length>0){let Y=Q.messages[Q.messages.length-1],$=Array.isArray(Y.content)?Y.content:[Y.content],J=$.some((A)=>A.type==="tool_result"),G=Q.messages.length>1?Q.messages[Q.messages.length-2]:void 0,H=G?Array.isArray(G.content)?G.content:[G.content]:[],B=H.some((A)=>A.type==="tool_use");if(J){if($.some((A)=>A.type!=="tool_result"))throw Error("The last message must contain only tool_result content if any is present");if(!B)throw Error("tool_result blocks are not matching any tool_use from the previous message")}if(B){let A=new Set(H.filter((L)=>L.type==="tool_use").map((L)=>L.id)),K=new Set($.filter((L)=>L.type==="tool_result").map((L)=>L.toolUseId));if(A.size!==K.size||![...A].every((L)=>K.has(L)))throw Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return this.requestStream({method:"sampling/createMessage",params:Q},A4,W)}elicitInputStream(Q,W){let X=this._server.getClientCapabilities(),Y=Q.mode??"form";switch(Y){case"url":{if(!X?.elicitation?.url)throw Error("Client does not support url elicitation.");break}case"form":{if(!X?.elicitation?.form)throw Error("Client does not support form elicitation.");break}}let $=Y==="form"&&Q.mode===void 0?{...Q,mode:"form"}:Q;return this.requestStream({method:"elicitation/create",params:$},K6,W)}async getTask(Q,W){return this._server.getTask({taskId:Q},W)}async getTaskResult(Q,W,X){return this._server.getTaskResult({taskId:Q},W,X)}async listTasks(Q,W){return this._server.listTasks(Q?{cursor:Q}:void 0,W)}async cancelTask(Q,W){return this._server.cancelTask({taskId:Q},W)}}function zB(Q,W,X){if(!Q)throw Error(`${X} does not support task creation (required for ${W})`);switch(W){case"tools/call":if(!Q.tools?.call)throw Error(`${X} does not support task creation for tools/call (required for ${W})`);break;default:break}}function LB(Q,W,X){if(!Q)throw Error(`${X} does not support task creation (required for ${W})`);switch(W){case"sampling/createMessage":if(!Q.sampling?.createMessage)throw Error(`${X} does not support task creation for sampling/createMessage (required for ${W})`);break;case"elicitation/create":if(!Q.elicitation?.create)throw Error(`${X} does not support task creation for elicitation/create (required for ${W})`);break;default:break}}class FY extends AX{constructor(Q,W){super(W);if(this._serverInfo=Q,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(B4.options.map((X,Y)=>[X,Y])),this.isMessageIgnored=(X,Y)=>{let $=this._loggingLevels.get(Y);return $?this.LOG_LEVEL_SEVERITY.get(X)<this.LOG_LEVEL_SEVERITY.get($):!1},this._capabilities=W?.capabilities??{},this._instructions=W?.instructions,this._jsonSchemaValidator=W?.jsonSchemaValidator??new qY,this.setRequestHandler(yW,(X)=>this._oninitialize(X)),this.setNotificationHandler(hW,()=>this.oninitialized?.()),this._capabilities.logging)this.setRequestHandler(iW,async(X,Y)=>{let $=Y.sessionId||Y.requestInfo?.headers["mcp-session-id"]||void 0,{level:J}=X.params,G=B4.safeParse(J);if(G.success)this._loggingLevels.set($,G.data);return{}})}get experimental(){if(!this._experimental)this._experimental={tasks:new VY(this)};return this._experimental}registerCapabilities(Q){if(this.transport)throw Error("Cannot register capabilities after connecting to transport");this._capabilities=P7(this._capabilities,Q)}setRequestHandler(Q,W){let Y=S1(Q)?.method;if(!Y)throw Error("Schema is missing a method literal");let $;if(u0(Y)){let G=Y;$=G._zod?.def?.value??G.value}else{let G=Y;$=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 A=b1(A6,H);if(!A.success){let z=A.error instanceof Error?A.error.message:String(A.error);throw new T(k.InvalidParams,`Invalid tools/call request: ${z}`)}let{params:K}=A.data,L=await Promise.resolve(W(H,B));if(K.task){let z=b1(H6,L);if(!z.success){let q=z.error instanceof Error?z.error.message:String(z.error);throw new T(k.InvalidParams,`Invalid task creation result: ${q}`)}return z.data}let D=b1(R9,L);if(!D.success){let z=D.error instanceof Error?D.error.message:String(D.error);throw new T(k.InvalidParams,`Invalid tools/call result: ${z}`)}return D.data};return super.setRequestHandler(Q,G)}return super.setRequestHandler(Q,W)}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){LB(this._clientCapabilities?.tasks?.requests,Q,"Client")}assertTaskHandlerCapability(Q){if(!this._capabilities)return;zB(this._capabilities.tasks?.requests,Q,"Server")}async _oninitialize(Q){let W=Q.params.protocolVersion;return this._clientCapabilities=Q.params.capabilities,this._clientVersion=Q.params.clientInfo,{protocolVersion:AJ.includes(W)?W:vW,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"},K9)}async createMessage(Q,W){if(Q.tools||Q.toolChoice){if(!this._clientCapabilities?.sampling?.tools)throw Error("Client does not support sampling tools capability.")}if(Q.messages.length>0){let X=Q.messages[Q.messages.length-1],Y=Array.isArray(X.content)?X.content:[X.content],$=Y.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(Y.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)),A=new Set(Y.filter((K)=>K.type==="tool_result").map((K)=>K.toolUseId));if(B.size!==A.size||![...B].every((K)=>A.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},nW,W);return this.request({method:"sampling/createMessage",params:Q},A4,W)}async elicitInput(Q,W){switch(Q.mode??"form"){case"url":{if(!this._clientCapabilities?.elicitation?.url)throw Error("Client does not support url elicitation.");let Y=Q;return this.request({method:"elicitation/create",params:Y},K6,W)}case"form":{if(!this._clientCapabilities?.elicitation?.form)throw Error("Client does not support form elicitation.");let Y=Q.mode==="form"?Q:{...Q,mode:"form"},$=await this.request({method:"elicitation/create",params:Y},K6,W);if($.action==="accept"&&$.content&&Y.requestedSchema)try{let G=this._jsonSchemaValidator.getValidator(Y.requestedSchema)($.content);if(!G.valid)throw new T(k.InvalidParams,`Elicitation response content does not match requested schema: ${G.errorMessage}`)}catch(J){if(J instanceof T)throw J;throw new T(k.InternalError,`Error validating elicitation response: ${J instanceof Error?J.message:String(J)}`)}return $}}}createElicitationCompletionNotifier(Q,W){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}},W)}async listRoots(Q,W){return this.request({method:"roots/list",params:Q},dW,W)}async sendLoggingMessage(Q,W){if(this._capabilities.logging){if(!this.isMessageIgnored(Q.level,W))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 qB=Symbol.for("mcp.completable");function UY(Q){return!!Q&&typeof Q==="object"&&qB in Q}function VB(Q){return Q[qB]?.complete}var DB;(function(Q){Q.Completable="McpCompletable"})(DB||(DB={}));var eM=/^[A-Za-z0-9._-]{1,128}$/;function Qj(Q){let W=[];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(" "))W.push("Tool name contains spaces, which may cause parsing issues");if(Q.includes(","))W.push("Tool name contains commas, which may cause parsing issues");if(Q.startsWith("-")||Q.endsWith("-"))W.push("Tool name starts or ends with a dash, which may cause parsing issues in some contexts");if(Q.startsWith(".")||Q.endsWith("."))W.push("Tool name starts or ends with a dot, which may cause parsing issues in some contexts");if(!eM.test(Q)){let X=Q.split("").filter((Y)=>!/[A-Za-z0-9._-]/.test(Y)).filter((Y,$,J)=>J.indexOf(Y)===$);return W.push(`Tool name contains invalid characters: ${X.map((Y)=>`"${Y}"`).join(", ")}`,"Allowed characters are: A-Z, a-z, 0-9, underscore (_), dash (-), and dot (.)"),{isValid:!1,warnings:W}}return{isValid:!0,warnings:W}}function Wj(Q,W){if(W.length>0){console.warn(`Tool name validation warning for "${Q}":`);for(let X of W)console.warn(` - ${X}`);console.warn("Tool registration will proceed, but this may cause compatibility issues."),console.warn("Consider updating the tool name to conform to the MCP tool naming standard."),console.warn("See SEP: Specify Format for Tool Names (https://github.com/modelcontextprotocol/modelcontextprotocol/issues/986) for more details.")}}function OY(Q){let W=Qj(Q);return Wj(Q,W.warnings),W.isValid}class NY{constructor(Q){this._mcpServer=Q}registerToolTask(Q,W,X){let Y={taskSupport:"required",...W.execution};if(Y.taskSupport==="forbidden")throw Error(`Cannot register task-based tool '${Q}' with taskSupport 'forbidden'. Use registerTool() instead.`);return this._mcpServer._createRegisteredTool(Q,W.title,W.description,W.inputSchema,W.outputSchema,W.annotations,Y,W._meta,X)}}class MY{constructor(Q,W){this._registeredResources={},this._registeredResourceTemplates={},this._registeredTools={},this._registeredPrompts={},this._toolHandlersInitialized=!1,this._completionHandlerInitialized=!1,this._resourceHandlersInitialized=!1,this._promptHandlersInitialized=!1,this.server=new FY(Q,W)}get experimental(){if(!this._experimental)this._experimental={tasks:new NY(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(_1(S9)),this.server.assertCanSetRequestHandler(_1(A6)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(S9,()=>({tools:Object.entries(this._registeredTools).filter(([,Q])=>Q.enabled).map(([Q,W])=>{let X={name:Q,title:W.title,description:W.description,inputSchema:(()=>{let Y=R6(W.inputSchema);return Y?GX(Y,{strictUnions:!0,pipeStrategy:"input"}):Xj})(),annotations:W.annotations,execution:W.execution,_meta:W._meta};if(W.outputSchema){let Y=R6(W.outputSchema);if(Y)X.outputSchema=GX(Y,{strictUnions:!0,pipeStrategy:"output"})}return X})})),this.server.setRequestHandler(A6,async(Q,W)=>{try{let X=this._registeredTools[Q.params.name];if(!X)throw new T(k.InvalidParams,`Tool ${Q.params.name} not found`);if(!X.enabled)throw new T(k.InvalidParams,`Tool ${Q.params.name} disabled`);let Y=!!Q.params.task,$=X.execution?.taskSupport,J="createTask"in X.handler;if(($==="required"||$==="optional")&&!J)throw new T(k.InternalError,`Tool ${Q.params.name} has taskSupport '${$}' but was not registered with registerToolTask`);if($==="required"&&!Y)throw new T(k.MethodNotFound,`Tool ${Q.params.name} requires task augmentation (taskSupport: 'required')`);if($==="optional"&&!Y&&J)return await this.handleAutomaticTaskPolling(X,Q,W);let G=await this.validateToolInput(X,Q.params.arguments,Q.params.name),H=await this.executeToolHandler(X,G,W);if(Y)return H;return await this.validateToolOutput(X,H,Q.params.name),H}catch(X){if(X instanceof T){if(X.code===k.UrlElicitationRequired)throw X}return this.createToolError(X instanceof Error?X.message:String(X))}}),this._toolHandlersInitialized=!0}createToolError(Q){return{content:[{type:"text",text:Q}],isError:!0}}async validateToolInput(Q,W,X){if(!Q.inputSchema)return;let $=R6(Q.inputSchema)??Q.inputSchema,J=await k9($,W);if(!J.success){let G="error"in J?J.error:"Unknown error",H=_9(G);throw new T(k.InvalidParams,`Input validation error: Invalid arguments for tool ${X}: ${H}`)}return J.data}async validateToolOutput(Q,W,X){if(!Q.outputSchema)return;if(!("content"in W))return;if(W.isError)return;if(!W.structuredContent)throw new T(k.InvalidParams,`Output validation error: Tool ${X} has an output schema but no structured content was provided`);let Y=R6(Q.outputSchema),$=await k9(Y,W.structuredContent);if(!$.success){let J="error"in $?$.error:"Unknown error",G=_9(J);throw new T(k.InvalidParams,`Output validation error: Invalid structured content for tool ${X}: ${G}`)}}async executeToolHandler(Q,W,X){let Y=Q.handler;if("createTask"in Y){if(!X.taskStore)throw Error("No task store provided.");let J={...X,taskStore:X.taskStore};if(Q.inputSchema)return await Promise.resolve(Y.createTask(W,J));else return await Promise.resolve(Y.createTask(J))}if(Q.inputSchema)return await Promise.resolve(Y(W,X));else return await Promise.resolve(Y(X))}async handleAutomaticTaskPolling(Q,W,X){if(!X.taskStore)throw Error("No task store provided for task-capable tool.");let Y=await this.validateToolInput(Q,W.params.arguments,W.params.name),$=Q.handler,J={...X,taskStore:X.taskStore},G=Y?await Promise.resolve($.createTask(Y,J)):await Promise.resolve($.createTask(J)),H=G.task.taskId,B=G.task,A=B.pollInterval??5000;while(B.status!=="completed"&&B.status!=="failed"&&B.status!=="cancelled"){await new Promise((L)=>setTimeout(L,A));let K=await X.taskStore.getTask(H);if(!K)throw new T(k.InternalError,`Task ${H} not found during polling`);B=K}return await X.taskStore.getTaskResult(H)}setCompletionRequestHandler(){if(this._completionHandlerInitialized)return;this.server.assertCanSetRequestHandler(_1(P9)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(P9,async(Q)=>{switch(Q.params.ref.type){case"ref/prompt":return SJ(Q),this.handlePromptCompletion(Q,Q.params.ref);case"ref/resource":return RJ(Q),this.handleResourceCompletion(Q,Q.params.ref);default:throw new T(k.InvalidParams,`Invalid completion reference: ${Q.params.ref}`)}}),this._completionHandlerInitialized=!0}async handlePromptCompletion(Q,W){let X=this._registeredPrompts[W.name];if(!X)throw new T(k.InvalidParams,`Prompt ${W.name} not found`);if(!X.enabled)throw new T(k.InvalidParams,`Prompt ${W.name} disabled`);if(!X.argsSchema)return l4;let $=S1(X.argsSchema)?.[Q.params.argument.name];if(!UY($))return l4;let J=VB($);if(!J)return l4;let G=await J(Q.params.argument.value,Q.params.context);return UB(G)}async handleResourceCompletion(Q,W){let X=Object.values(this._registeredResourceTemplates).find((J)=>J.resourceTemplate.uriTemplate.toString()===W.uri);if(!X){if(this._registeredResources[W.uri])return l4;throw new T(k.InvalidParams,`Resource template ${Q.params.ref.uri} not found`)}let Y=X.resourceTemplate.completeCallback(Q.params.argument.name);if(!Y)return l4;let $=await Y(Q.params.argument.value,Q.params.context);return UB($)}setResourceRequestHandlers(){if(this._resourceHandlersInitialized)return;this.server.assertCanSetRequestHandler(_1(w9)),this.server.assertCanSetRequestHandler(_1(M9)),this.server.assertCanSetRequestHandler(_1(j9)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(w9,async(Q,W)=>{let X=Object.entries(this._registeredResources).filter(([$,J])=>J.enabled).map(([$,J])=>({uri:$,name:J.name,...J.metadata})),Y=[];for(let $ of Object.values(this._registeredResourceTemplates)){if(!$.resourceTemplate.listCallback)continue;let J=await $.resourceTemplate.listCallback(W);for(let G of J.resources)Y.push({...$.metadata,...G})}return{resources:[...X,...Y]}}),this.server.setRequestHandler(M9,async()=>{return{resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([W,X])=>({name:W,uriTemplate:X.resourceTemplate.uriTemplate.toString(),...X.metadata}))}}),this.server.setRequestHandler(j9,async(Q,W)=>{let X=new URL(Q.params.uri),Y=this._registeredResources[X.toString()];if(Y){if(!Y.enabled)throw new T(k.InvalidParams,`Resource ${X} disabled`);return Y.readCallback(X,W)}for(let $ of Object.values(this._registeredResourceTemplates)){let J=$.resourceTemplate.uriTemplate.match(X.toString());if(J)return $.readCallback(X,J,W)}throw new T(k.InvalidParams,`Resource ${X} not found`)}),this._resourceHandlersInitialized=!0}setPromptRequestHandlers(){if(this._promptHandlersInitialized)return;this.server.assertCanSetRequestHandler(_1(E9)),this.server.assertCanSetRequestHandler(_1(b9)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(E9,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,Q])=>Q.enabled).map(([Q,W])=>{return{name:Q,title:W.title,description:W.description,arguments:W.argsSchema?Yj(W.argsSchema):void 0}})})),this.server.setRequestHandler(b9,async(Q,W)=>{let X=this._registeredPrompts[Q.params.name];if(!X)throw new T(k.InvalidParams,`Prompt ${Q.params.name} not found`);if(!X.enabled)throw new T(k.InvalidParams,`Prompt ${Q.params.name} disabled`);if(X.argsSchema){let Y=R6(X.argsSchema),$=await k9(Y,Q.params.arguments);if(!$.success){let H="error"in $?$.error:"Unknown error",B=_9(H);throw new T(k.InvalidParams,`Invalid arguments for prompt ${Q.params.name}: ${B}`)}let J=$.data,G=X.callback;return await Promise.resolve(G(J,W))}else{let Y=X.callback;return await Promise.resolve(Y(W))}}),this._promptHandlersInitialized=!0}resource(Q,W,...X){let Y;if(typeof X[0]==="object")Y=X.shift();let $=X[0];if(typeof W==="string"){if(this._registeredResources[W])throw Error(`Resource ${W} is already registered`);let J=this._createRegisteredResource(Q,void 0,W,Y,$);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,W,Y,$);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),J}}registerResource(Q,W,X,Y){if(typeof W==="string"){if(this._registeredResources[W])throw Error(`Resource ${W} is already registered`);let $=this._createRegisteredResource(Q,X.title,W,X,Y);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),$}else{if(this._registeredResourceTemplates[Q])throw Error(`Resource template ${Q} is already registered`);let $=this._createRegisteredResourceTemplate(Q,X.title,W,X,Y);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),$}}_createRegisteredResource(Q,W,X,Y,$){let J={name:Q,title:W,metadata:Y,readCallback:$,enabled:!0,disable:()=>J.update({enabled:!1}),enable:()=>J.update({enabled:!0}),remove:()=>J.update({uri:null}),update:(G)=>{if(typeof G.uri<"u"&&G.uri!==X){if(delete this._registeredResources[X],G.uri)this._registeredResources[G.uri]=J}if(typeof G.name<"u")J.name=G.name;if(typeof G.title<"u")J.title=G.title;if(typeof G.metadata<"u")J.metadata=G.metadata;if(typeof G.callback<"u")J.readCallback=G.callback;if(typeof G.enabled<"u")J.enabled=G.enabled;this.sendResourceListChanged()}};return this._registeredResources[X]=J,J}_createRegisteredResourceTemplate(Q,W,X,Y,$){let J={resourceTemplate:X,title:W,metadata:Y,readCallback:$,enabled:!0,disable:()=>J.update({enabled:!1}),enable:()=>J.update({enabled:!0}),remove:()=>J.update({name:null}),update:(B)=>{if(typeof B.name<"u"&&B.name!==Q){if(delete this._registeredResourceTemplates[Q],B.name)this._registeredResourceTemplates[B.name]=J}if(typeof B.title<"u")J.title=B.title;if(typeof B.template<"u")J.resourceTemplate=B.template;if(typeof B.metadata<"u")J.metadata=B.metadata;if(typeof B.callback<"u")J.readCallback=B.callback;if(typeof B.enabled<"u")J.enabled=B.enabled;this.sendResourceListChanged()}};this._registeredResourceTemplates[Q]=J;let G=X.uriTemplate.variableNames;if(Array.isArray(G)&&G.some((B)=>!!X.completeCallback(B)))this.setCompletionRequestHandler();return J}_createRegisteredPrompt(Q,W,X,Y,$){let J={title:W,description:X,argsSchema:Y===void 0?void 0:o1(Y),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=o1(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,Y){if(Object.values(Y).some((H)=>{let B=H instanceof g0?H._def?.innerType:H;return UY(B)}))this.setCompletionRequestHandler()}return J}_createRegisteredTool(Q,W,X,Y,$,J,G,H,B){OY(Q);let A={title:W,description:X,inputSchema:FB(Y),outputSchema:FB($),annotations:J,execution:G,_meta:H,handler:B,enabled:!0,disable:()=>A.update({enabled:!1}),enable:()=>A.update({enabled:!0}),remove:()=>A.update({name:null}),update:(K)=>{if(typeof K.name<"u"&&K.name!==Q){if(typeof K.name==="string")OY(K.name);if(delete this._registeredTools[Q],K.name)this._registeredTools[K.name]=A}if(typeof K.title<"u")A.title=K.title;if(typeof K.description<"u")A.description=K.description;if(typeof K.paramsSchema<"u")A.inputSchema=o1(K.paramsSchema);if(typeof K.outputSchema<"u")A.outputSchema=o1(K.outputSchema);if(typeof K.callback<"u")A.handler=K.callback;if(typeof K.annotations<"u")A.annotations=K.annotations;if(typeof K._meta<"u")A._meta=K._meta;if(typeof K.enabled<"u")A.enabled=K.enabled;this.sendToolListChanged()}};return this._registeredTools[Q]=A,this.setToolRequestHandlers(),this.sendToolListChanged(),A}tool(Q,...W){if(this._registeredTools[Q])throw Error(`Tool ${Q} is already registered`);let X,Y,$,J;if(typeof W[0]==="string")X=W.shift();if(W.length>1){let H=W[0];if(wY(H)){if(Y=W.shift(),W.length>1&&typeof W[0]==="object"&&W[0]!==null&&!wY(W[0]))J=W.shift()}else if(typeof H==="object"&&H!==null){if(Object.values(H).some((B)=>typeof B==="object"&&B!==null))throw Error(`Tool ${Q} expected a Zod schema or ToolAnnotations, but received an unrecognized object`);J=W.shift()}}let G=W[0];return this._createRegisteredTool(Q,void 0,X,Y,$,J,{taskSupport:"forbidden"},void 0,G)}registerTool(Q,W,X){if(this._registeredTools[Q])throw Error(`Tool ${Q} is already registered`);let{title:Y,description:$,inputSchema:J,outputSchema:G,annotations:H,_meta:B}=W;return this._createRegisteredTool(Q,Y,$,J,G,H,{taskSupport:"forbidden"},B,X)}prompt(Q,...W){if(this._registeredPrompts[Q])throw Error(`Prompt ${Q} is already registered`);let X;if(typeof W[0]==="string")X=W.shift();let Y;if(W.length>1)Y=W.shift();let $=W[0],J=this._createRegisteredPrompt(Q,void 0,X,Y,$);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),J}registerPrompt(Q,W,X){if(this._registeredPrompts[Q])throw Error(`Prompt ${Q} is already registered`);let{title:Y,description:$,argsSchema:J}=W,G=this._createRegisteredPrompt(Q,Y,$,J,X);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),G}isConnected(){return this.server.transport!==void 0}async sendLoggingMessage(Q,W){return this.server.sendLoggingMessage(Q,W)}sendResourceListChanged(){if(this.isConnected())this.server.sendResourceListChanged()}sendToolListChanged(){if(this.isConnected())this.server.sendToolListChanged()}sendPromptListChanged(){if(this.isConnected())this.server.sendPromptListChanged()}}var Xj={type:"object",properties:{}};function OB(Q){return Q!==null&&typeof Q==="object"&&"parse"in Q&&typeof Q.parse==="function"&&"safeParse"in Q&&typeof Q.safeParse==="function"}function NB(Q){return"_def"in Q||"_zod"in Q||OB(Q)}function wY(Q){if(typeof Q!=="object"||Q===null)return!1;if(NB(Q))return!1;if(Object.keys(Q).length===0)return!0;return Object.values(Q).some(OB)}function FB(Q){if(!Q)return;if(wY(Q))return o1(Q);if(!NB(Q))throw Error("inputSchema must be a Zod schema or raw shape, received an unrecognized object");return Q}function Yj(Q){let W=S1(Q);if(!W)return[];return Object.entries(W).map(([X,Y])=>{let $=nJ(Y),J=dJ(Y);return{name:X,description:$,required:!J}})}function _1(Q){let X=S1(Q)?.method;if(!X)throw Error("Schema is missing a method literal");let Y=x9(X);if(typeof Y==="string")return Y;throw Error("Schema method literal must be a string")}function UB(Q){return{completion:{values:Q.slice(0,100),total:Q.length,hasMore:Q.length>100}}}var l4={completion:{values:[],hasMore:!1}};var $j=(Q)=>ZJ.find((W)=>W.name===Q);function wB(Q){return{content:[{type:"text",text:JSON.stringify(Q,null,2)}]}}function Jj(Q){return{content:[{type:"text",text:`Error: ${Q instanceof Error?Q.message:String(Q)}`}],isError:!0}}var Gj=`
43
+ ]`;continue}if($+=Y[B],Y[B]==="\\")J=!0;else if(G&&Y[B]==="]")G=!1;else if(!G&&Y[B]==="[")G=!0}try{new RegExp($)}catch{return console.warn(`Could not convert regex pattern at ${W.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),Q.source}return $}function f9(Q,W){if(W.target==="openAi")console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.");if(W.target==="openApi3"&&Q.keyType?._def.typeName===j.ZodEnum)return{type:"object",required:Q.keyType._def.values,properties:Q.keyType._def.values.reduce((Y,$)=>({...Y,[$]:y(Q.valueType._def,{...W,currentPath:[...W.currentPath,"properties",$]})??B0(W)}),{}),additionalProperties:W.rejectedAdditionalProperties};let X={type:"object",additionalProperties:y(Q.valueType._def,{...W,currentPath:[...W.currentPath,"additionalProperties"]})??W.allowedAdditionalProperties};if(W.target==="openApi3")return X;if(Q.keyType?._def.typeName===j.ZodString&&Q.keyType._def.checks?.length){let{type:Y,...$}=h9(Q.keyType._def,W);return{...X,propertyNames:$}}else if(Q.keyType?._def.typeName===j.ZodEnum)return{...X,propertyNames:{enum:Q.keyType._def.values}};else if(Q.keyType?._def.typeName===j.ZodBranded&&Q.keyType._def.type._def.typeName===j.ZodString&&Q.keyType._def.type._def.checks?.length){let{type:Y,...$}=y9(Q.keyType._def,W);return{...X,propertyNames:$}}return X}function B7(Q,W){if(W.mapStrategy==="record")return f9(Q,W);let X=y(Q.keyType._def,{...W,currentPath:[...W.currentPath,"items","items","0"]})||B0(W),Y=y(Q.valueType._def,{...W,currentPath:[...W.currentPath,"items","items","1"]})||B0(W);return{type:"array",maxItems:125,items:{type:"array",items:[X,Y],minItems:2,maxItems:2}}}function A7(Q){let W=Q.values,Y=Object.keys(Q.values).filter((J)=>{return typeof W[W[J]]!=="number"}).map((J)=>W[J]),$=Array.from(new Set(Y.map((J)=>typeof J)));return{type:$.length===1?$[0]==="string"?"string":"number":["string","number"],enum:Y}}function K7(Q){return Q.target==="openAi"?void 0:{not:B0({...Q,currentPath:[...Q.currentPath,"not"]})}}function z7(Q){return Q.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var U4={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function D7(Q,W){if(W.target==="openApi3")return L7(Q,W);let X=Q.options instanceof Map?Array.from(Q.options.values()):Q.options;if(X.every((Y)=>(Y._def.typeName in U4)&&(!Y._def.checks||!Y._def.checks.length))){let Y=X.reduce(($,J)=>{let G=U4[J._def.typeName];return G&&!$.includes(G)?[...$,G]:$},[]);return{type:Y.length>1?Y:Y[0]}}else if(X.every((Y)=>Y._def.typeName==="ZodLiteral"&&!Y.description)){let Y=X.reduce(($,J)=>{let G=typeof J._def.value;switch(G){case"string":case"number":case"boolean":return[...$,G];case"bigint":return[...$,"integer"];case"object":if(J._def.value===null)return[...$,"null"];case"symbol":case"undefined":case"function":default:return $}},[]);if(Y.length===X.length){let $=Y.filter((J,G,H)=>H.indexOf(J)===G);return{type:$.length>1?$:$[0],enum:X.reduce((J,G)=>{return J.includes(G._def.value)?J:[...J,G._def.value]},[])}}}else if(X.every((Y)=>Y._def.typeName==="ZodEnum"))return{type:"string",enum:X.reduce((Y,$)=>[...Y,...$._def.values.filter((J)=>!Y.includes(J))],[])};return L7(Q,W)}var L7=(Q,W)=>{let X=(Q.options instanceof Map?Array.from(Q.options.values()):Q.options).map((Y,$)=>y(Y._def,{...W,currentPath:[...W.currentPath,"anyOf",`${$}`]})).filter((Y)=>!!Y&&(!W.strictUnions||typeof Y==="object"&&Object.keys(Y).length>0));return X.length?{anyOf:X}:void 0};function q7(Q,W){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(Q.innerType._def.typeName)&&(!Q.innerType._def.checks||!Q.innerType._def.checks.length)){if(W.target==="openApi3")return{type:U4[Q.innerType._def.typeName],nullable:!0};return{type:[U4[Q.innerType._def.typeName],"null"]}}if(W.target==="openApi3"){let Y=y(Q.innerType._def,{...W,currentPath:[...W.currentPath]});if(Y&&"$ref"in Y)return{allOf:[Y],nullable:!0};return Y&&{...Y,nullable:!0}}let X=y(Q.innerType._def,{...W,currentPath:[...W.currentPath,"anyOf","0"]});return X&&{anyOf:[X,{type:"null"}]}}function V7(Q,W){let X={type:"number"};if(!Q.checks)return X;for(let Y of Q.checks)switch(Y.kind){case"int":X.type="integer",WX(X,"type",Y.message,W);break;case"min":if(W.target==="jsonSchema7")if(Y.inclusive)d(X,"minimum",Y.value,Y.message,W);else d(X,"exclusiveMinimum",Y.value,Y.message,W);else{if(!Y.inclusive)X.exclusiveMinimum=!0;d(X,"minimum",Y.value,Y.message,W)}break;case"max":if(W.target==="jsonSchema7")if(Y.inclusive)d(X,"maximum",Y.value,Y.message,W);else d(X,"exclusiveMaximum",Y.value,Y.message,W);else{if(!Y.inclusive)X.exclusiveMaximum=!0;d(X,"maximum",Y.value,Y.message,W)}break;case"multipleOf":d(X,"multipleOf",Y.value,Y.message,W);break}return X}function F7(Q,W){let X=W.target==="openAi",Y={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 A=RD(B);if(A&&X){if(B._def.typeName==="ZodOptional")B=B._def.innerType;if(!B.isNullable())B=B.nullable();A=!1}let K=y(B._def,{...W,currentPath:[...W.currentPath,"properties",H],propertyPath:[...W.currentPath,"properties",H]});if(K===void 0)continue;if(Y.properties[H]=K,!A)$.push(H)}if($.length)Y.required=$;let G=SD(Q,W);if(G!==void 0)Y.additionalProperties=G;return Y}function SD(Q,W){if(Q.catchall._def.typeName!=="ZodNever")return y(Q.catchall._def,{...W,currentPath:[...W.currentPath,"additionalProperties"]});switch(Q.unknownKeys){case"passthrough":return W.allowedAdditionalProperties;case"strict":return W.rejectedAdditionalProperties;case"strip":return W.removeAdditionalStrategy==="strict"?W.allowedAdditionalProperties:W.rejectedAdditionalProperties}}function RD(Q){try{return Q.isOptional()}catch{return!0}}var U7=(Q,W)=>{if(W.currentPath.toString()===W.propertyPath?.toString())return y(Q.innerType._def,W);let X=y(Q.innerType._def,{...W,currentPath:[...W.currentPath,"anyOf","1"]});return X?{anyOf:[{not:B0(W)},X]}:B0(W)};var O7=(Q,W)=>{if(W.pipeStrategy==="input")return y(Q.in._def,W);else if(W.pipeStrategy==="output")return y(Q.out._def,W);let X=y(Q.in._def,{...W,currentPath:[...W.currentPath,"allOf","0"]}),Y=y(Q.out._def,{...W,currentPath:[...W.currentPath,"allOf",X?"1":"0"]});return{allOf:[X,Y].filter(($)=>$!==void 0)}};function N7(Q,W){return y(Q.type._def,W)}function w7(Q,W){let Y={type:"array",uniqueItems:!0,items:y(Q.valueType._def,{...W,currentPath:[...W.currentPath,"items"]})};if(Q.minSize)d(Y,"minItems",Q.minSize.value,Q.minSize.message,W);if(Q.maxSize)d(Y,"maxItems",Q.maxSize.value,Q.maxSize.message,W);return Y}function M7(Q,W){if(Q.rest)return{type:"array",minItems:Q.items.length,items:Q.items.map((X,Y)=>y(X._def,{...W,currentPath:[...W.currentPath,"items",`${Y}`]})).reduce((X,Y)=>Y===void 0?X:[...X,Y],[]),additionalItems:y(Q.rest._def,{...W,currentPath:[...W.currentPath,"additionalItems"]})};else return{type:"array",minItems:Q.items.length,maxItems:Q.items.length,items:Q.items.map((X,Y)=>y(X._def,{...W,currentPath:[...W.currentPath,"items",`${Y}`]})).reduce((X,Y)=>Y===void 0?X:[...X,Y],[])}}function j7(Q){return{not:B0(Q)}}function E7(Q){return B0(Q)}var b7=(Q,W)=>{return y(Q.innerType._def,W)};var S7=(Q,W,X)=>{switch(W){case j.ZodString:return h9(Q,X);case j.ZodNumber:return V7(Q,X);case j.ZodObject:return F7(Q,X);case j.ZodBigInt:return eJ(Q,X);case j.ZodBoolean:return Q7();case j.ZodDate:return XX(Q,X);case j.ZodUndefined:return j7(X);case j.ZodNull:return z7(X);case j.ZodArray:return sJ(Q,X);case j.ZodUnion:case j.ZodDiscriminatedUnion:return D7(Q,X);case j.ZodIntersection:return J7(Q,X);case j.ZodTuple:return M7(Q,X);case j.ZodRecord:return f9(Q,X);case j.ZodLiteral:return G7(Q,X);case j.ZodEnum:return $7(Q);case j.ZodNativeEnum:return A7(Q);case j.ZodNullable:return q7(Q,X);case j.ZodOptional:return U7(Q,X);case j.ZodMap:return B7(Q,X);case j.ZodSet:return w7(Q,X);case j.ZodLazy:return()=>Q.getter()._def;case j.ZodPromise:return N7(Q,X);case j.ZodNaN:case j.ZodNever:return K7(X);case j.ZodEffects:return Y7(Q,X);case j.ZodAny:return B0(X);case j.ZodUnknown:return E7(X);case j.ZodDefault:return X7(Q,X);case j.ZodBranded:return y9(Q,X);case j.ZodReadonly:return b7(Q,X);case j.ZodCatch:return W7(Q,X);case j.ZodPipeline:return O7(Q,X);case j.ZodFunction:case j.ZodVoid:case j.ZodSymbol:return;default:return((Y)=>{return})(W)}};function y(Q,W,X=!1){let Y=W.seen.get(Q);if(W.override){let H=W.override?.(Q,W,Y,X);if(H!==rJ)return H}if(Y&&!X){let H=PD(Y,W);if(H!==void 0)return H}let $={def:Q,path:W.currentPath,jsonSchema:void 0};W.seen.set(Q,$);let J=S7(Q,Q.typeName,W),G=typeof J==="function"?y(J(),W):J;if(G)ID(Q,W,G);if(W.postProcess){let H=W.postProcess(G,Q,W);return $.jsonSchema=G,H}return $.jsonSchema=G,G}var PD=(Q,W)=>{switch(W.$refStrategy){case"root":return{$ref:Q.path.join("/")};case"relative":return{$ref:g9(W.currentPath,Q.path)};case"none":case"seen":{if(Q.path.length<W.currentPath.length&&Q.path.every((X,Y)=>W.currentPath[Y]===X))return console.warn(`Recursive reference detected at ${W.currentPath.join("/")}! Defaulting to any`),B0(W);return W.$refStrategy==="seen"?B0(W):void 0}}},ID=(Q,W,X)=>{if(Q.description){if(X.description=Q.description,W.markdownDescription)X.markdownDescription=Q.description}return X};var JX=(Q,W)=>{let X=aJ(W),Y=typeof W==="object"&&W.definitions?Object.entries(W.definitions).reduce((B,[A,K])=>({...B,[A]:y(K._def,{...X,currentPath:[...X.basePath,X.definitionPath,A]},!0)??B0(X)}),{}):void 0,$=typeof W==="string"?W:W?.nameStrategy==="title"?void 0:W?.name,J=y(Q._def,$===void 0?X:{...X,currentPath:[...X.basePath,X.definitionPath,$]},!1)??B0(X),G=typeof W==="object"&&W.name!==void 0&&W.nameStrategy==="title"?W.name:void 0;if(G!==void 0)J.title=G;if(X.flags.hasReferencedOpenAiAnyType){if(!Y)Y={};if(!Y[X.openAiAnyTypeName])Y[X.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:X.$refStrategy==="relative"?"1":[...X.basePath,X.definitionPath,X.openAiAnyTypeName].join("/")}}}let H=$===void 0?Y?{...J,[X.definitionPath]:Y}:J:{$ref:[...X.$refStrategy==="relative"?[]:X.basePath,X.definitionPath,$].join("/"),[X.definitionPath]:{...Y,[$]:J}};if(X.target==="jsonSchema7")H.$schema="http://json-schema.org/draft-07/schema#";else if(X.target==="jsonSchema2019-09"||X.target==="openAi")H.$schema="https://json-schema.org/draft/2019-09/schema#";if(X.target==="openAi"&&(("anyOf"in H)||("oneOf"in H)||("allOf"in H)||("type"in H)&&Array.isArray(H.type)))console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property.");return H};function CD(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 GX(Q,W){if(u0(Q))return EW(Q,{target:CD(W?.target),io:W?.pipeStrategy??"input"});return JX(Q,{strictUnions:W?.strictUnions??!0,pipeStrategy:W?.pipeStrategy??"input"})}function HX(Q){let X=S1(Q)?.method;if(!X)throw Error("Schema is missing a method literal");let Y=x9(X);if(typeof Y!=="string")throw Error("Schema method literal must be a string");return Y}function BX(Q,W){let X=b1(Q,W);if(!X.success)throw X.error;return X.data}var TD=60000;class AX{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(z9,(W)=>{this._oncancel(W)}),this.setNotificationHandler(D9,(W)=>{this._onprogress(W)}),this.setRequestHandler(L9,(W)=>({})),this._taskStore=Q?.taskStore,this._taskMessageQueue=Q?.taskMessageQueue,this._taskStore)this.setRequestHandler(q9,async(W,X)=>{let Y=await this._taskStore.getTask(W.params.taskId,X.sessionId);if(!Y)throw new T(k.InvalidParams,"Failed to retrieve task: Task not found");return{...Y}}),this.setRequestHandler(F9,async(W,X)=>{let Y=async()=>{let $=W.params.taskId;if(this._taskMessageQueue){let G;while(G=await this._taskMessageQueue.dequeue($,X.sessionId)){if(G.type==="response"||G.type==="error"){let H=G.message,B=H.id,A=this._requestResolvers.get(B);if(A)if(this._requestResolvers.delete(B),G.type==="response")A(H);else{let K=H,L=new T(K.error.code,K.error.message,K.error.data);A(L)}else{let K=G.type==="response"?"Response":"Error";this._onerror(Error(`${K} handler missing for request ${B}`))}continue}await this._transport?.send(G.message,{relatedRequestId:X.requestId})}}let J=await this._taskStore.getTask($,X.sessionId);if(!J)throw new T(k.InvalidParams,`Task not found: ${$}`);if(!R1(J.status))return await this._waitForTaskUpdate($,X.signal),await Y();if(R1(J.status)){let G=await this._taskStore.getTaskResult($,X.sessionId);return this._clearTaskQueue($),{...G,_meta:{...G._meta,[O1]:{taskId:$}}}}return await Y()};return await Y()}),this.setRequestHandler(U9,async(W,X)=>{try{let{tasks:Y,nextCursor:$}=await this._taskStore.listTasks(W.params?.cursor,X.sessionId);return{tasks:Y,nextCursor:$,_meta:{}}}catch(Y){throw new T(k.InvalidParams,`Failed to list tasks: ${Y instanceof Error?Y.message:String(Y)}`)}}),this.setRequestHandler(N9,async(W,X)=>{try{let Y=await this._taskStore.getTask(W.params.taskId,X.sessionId);if(!Y)throw new T(k.InvalidParams,`Task not found: ${W.params.taskId}`);if(R1(Y.status))throw new T(k.InvalidParams,`Cannot cancel task in terminal status: ${Y.status}`);await this._taskStore.updateTaskStatus(W.params.taskId,"cancelled","Client cancelled task execution.",X.sessionId),this._clearTaskQueue(W.params.taskId);let $=await this._taskStore.getTask(W.params.taskId,X.sessionId);if(!$)throw new T(k.InvalidParams,`Task not found after cancellation: ${W.params.taskId}`);return{_meta:{},...$}}catch(Y){if(Y instanceof T)throw Y;throw new T(k.InvalidRequest,`Failed to cancel task: ${Y instanceof Error?Y.message:String(Y)}`)}})}async _oncancel(Q){if(!Q.params.requestId)return;this._requestHandlerAbortControllers.get(Q.params.requestId)?.abort(Q.params.reason)}_setupTimeout(Q,W,X,Y,$=!1){this._timeoutInfo.set(Q,{timeoutId:setTimeout(Y,W),startTime:Date.now(),timeout:W,maxTotalTimeout:X,resetTimeoutOnProgress:$,onTimeout:Y})}_resetTimeout(Q){let W=this._timeoutInfo.get(Q);if(!W)return!1;let X=Date.now()-W.startTime;if(W.maxTotalTimeout&&X>=W.maxTotalTimeout)throw this._timeoutInfo.delete(Q),T.fromError(k.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:W.maxTotalTimeout,totalElapsed:X});return clearTimeout(W.timeoutId),W.timeoutId=setTimeout(W.onTimeout,W.timeout),!0}_cleanupTimeout(Q){let W=this._timeoutInfo.get(Q);if(W)clearTimeout(W.timeoutId),this._timeoutInfo.delete(Q)}async connect(Q){if(this._transport)throw Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=Q;let W=this.transport?.onclose;this._transport.onclose=()=>{W?.(),this._onclose()};let X=this.transport?.onerror;this._transport.onerror=($)=>{X?.($),this._onerror($)};let Y=this._transport?.onmessage;this._transport.onmessage=($,J)=>{if(Y?.($,J),W4($)||FJ($))this._onresponse($);else if(_W($))this._onrequest($,J);else if(VJ($))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();for(let X of this._timeoutInfo.values())clearTimeout(X.timeoutId);this._timeoutInfo.clear();for(let X of this._requestHandlerAbortControllers.values())X.abort();this._requestHandlerAbortControllers.clear();let W=T.fromError(k.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let X of Q.values())X(W)}_onerror(Q){this.onerror?.(Q)}_onnotification(Q){let W=this._notificationHandlers.get(Q.method)??this.fallbackNotificationHandler;if(W===void 0)return;Promise.resolve().then(()=>W(Q)).catch((X)=>this._onerror(Error(`Uncaught error in notification handler: ${X}`)))}_onrequest(Q,W){let X=this._requestHandlers.get(Q.method)??this.fallbackRequestHandler,Y=this._transport,$=Q.params?._meta?.[O1]?.taskId;if(X===void 0){let A={jsonrpc:"2.0",id:Q.id,error:{code:k.MethodNotFound,message:"Method not found"}};if($&&this._taskMessageQueue)this._enqueueTaskMessage($,{type:"error",message:A,timestamp:Date.now()},Y?.sessionId).catch((K)=>this._onerror(Error(`Failed to enqueue error response: ${K}`)));else Y?.send(A).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=LJ(Q.params)?Q.params.task:void 0,H=this._taskStore?this.requestTaskStore(Q,Y?.sessionId):void 0,B={signal:J.signal,sessionId:Y?.sessionId,_meta:Q.params?._meta,sendNotification:async(A)=>{if(J.signal.aborted)return;let K={relatedRequestId:Q.id};if($)K.relatedTask={taskId:$};await this.notification(A,K)},sendRequest:async(A,K,L)=>{if(J.signal.aborted)throw new T(k.ConnectionClosed,"Request was cancelled");let D={...L,relatedRequestId:Q.id};if($&&!D.relatedTask)D.relatedTask={taskId:$};let z=D.relatedTask?.taskId??$;if(z&&H)await H.updateTaskStatus(z,"input_required");return await this.request(A,K,D)},authInfo:W?.authInfo,requestId:Q.id,requestInfo:W?.requestInfo,taskId:$,taskStore:H,taskRequestedTtl:G?.ttl,closeSSEStream:W?.closeSSEStream,closeStandaloneSSEStream:W?.closeStandaloneSSEStream};Promise.resolve().then(()=>{if(G)this.assertTaskHandlerCapability(Q.method)}).then(()=>X(Q,B)).then(async(A)=>{if(J.signal.aborted)return;let K={result:A,jsonrpc:"2.0",id:Q.id};if($&&this._taskMessageQueue)await this._enqueueTaskMessage($,{type:"response",message:K,timestamp:Date.now()},Y?.sessionId);else await Y?.send(K)},async(A)=>{if(J.signal.aborted)return;let K={jsonrpc:"2.0",id:Q.id,error:{code:Number.isSafeInteger(A.code)?A.code:k.InternalError,message:A.message??"Internal error",...A.data!==void 0&&{data:A.data}}};if($&&this._taskMessageQueue)await this._enqueueTaskMessage($,{type:"error",message:K,timestamp:Date.now()},Y?.sessionId);else await Y?.send(K)}).catch((A)=>this._onerror(Error(`Failed to send response: ${A}`))).finally(()=>{if(this._requestHandlerAbortControllers.get(Q.id)===J)this._requestHandlerAbortControllers.delete(Q.id)})}_onprogress(Q){let{progressToken:W,...X}=Q.params,Y=Number(W),$=this._progressHandlers.get(Y);if(!$){this._onerror(Error(`Received a progress notification for an unknown token: ${JSON.stringify(Q)}`));return}let J=this._responseHandlers.get(Y),G=this._timeoutInfo.get(Y);if(G&&J&&G.resetTimeoutOnProgress)try{this._resetTimeout(Y)}catch(H){this._responseHandlers.delete(Y),this._progressHandlers.delete(Y),this._cleanupTimeout(Y),J(H);return}$(X)}_onresponse(Q){let W=Number(Q.id),X=this._requestResolvers.get(W);if(X){if(this._requestResolvers.delete(W),W4(Q))X(Q);else{let J=new T(Q.error.code,Q.error.message,Q.error.data);X(J)}return}let Y=this._responseHandlers.get(W);if(Y===void 0){this._onerror(Error(`Received a response for an unknown message ID: ${JSON.stringify(Q)}`));return}this._responseHandlers.delete(W),this._cleanupTimeout(W);let $=!1;if(W4(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,W)}}if(!$)this._progressHandlers.delete(W);if(W4(Q))Y(Q);else{let J=T.fromError(Q.error.code,Q.error.message,Q.error.data);Y(J)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(Q,W,X){let{task:Y}=X??{};if(!Y){try{yield{type:"result",result:await this.request(Q,W,X)}}catch(J){yield{type:"error",error:J instanceof T?J:new T(k.InternalError,String(J))}}return}let $;try{let J=await this.request(Q,H6,X);if(J.task)$=J.task.taskId,yield{type:"taskCreated",task:J.task};else throw new T(k.InternalError,"Task creation did not return a task");while(!0){let G=await this.getTask({taskId:$},X);if(yield{type:"taskStatus",task:G},R1(G.status)){if(G.status==="completed")yield{type:"result",result:await this.getTaskResult({taskId:$},W,X)};else if(G.status==="failed")yield{type:"error",error:new T(k.InternalError,`Task ${$} failed`)};else if(G.status==="cancelled")yield{type:"error",error:new T(k.InternalError,`Task ${$} was cancelled`)};return}if(G.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:$},W,X)};return}let H=G.pollInterval??this._options?.defaultTaskPollInterval??1000;await new Promise((B)=>setTimeout(B,H)),X?.signal?.throwIfAborted()}}catch(J){yield{type:"error",error:J instanceof T?J:new T(k.InternalError,String(J))}}}request(Q,W,X){let{relatedRequestId:Y,resumptionToken:$,onresumptiontoken:J,task:G,relatedTask:H}=X??{};return new Promise((B,A)=>{let K=(N)=>{A(N)};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(N){K(N);return}X?.signal?.throwIfAborted();let L=this._requestMessageId++,D={...Q,jsonrpc:"2.0",id:L};if(X?.onprogress)this._progressHandlers.set(L,X.onprogress),D.params={...Q.params,_meta:{...Q.params?._meta||{},progressToken:L}};if(G)D.params={...D.params,task:G};if(H)D.params={...D.params,_meta:{...D.params?._meta||{},[O1]:H}};let z=(N)=>{this._responseHandlers.delete(L),this._progressHandlers.delete(L),this._cleanupTimeout(L),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:L,reason:String(N)}},{relatedRequestId:Y,resumptionToken:$,onresumptiontoken:J}).catch((S)=>this._onerror(Error(`Failed to send cancellation: ${S}`)));let b=N instanceof T?N:new T(k.RequestTimeout,String(N));A(b)};this._responseHandlers.set(L,(N)=>{if(X?.signal?.aborted)return;if(N instanceof Error)return A(N);try{let b=b1(W,N.result);if(!b.success)A(b.error);else B(b.data)}catch(b){A(b)}}),X?.signal?.addEventListener("abort",()=>{z(X?.signal?.reason)});let q=X?.timeout??TD,V=()=>z(T.fromError(k.RequestTimeout,"Request timed out",{timeout:q}));this._setupTimeout(L,q,X?.maxTotalTimeout,V,X?.resetTimeoutOnProgress??!1);let w=H?.taskId;if(w){let N=(b)=>{let S=this._responseHandlers.get(L);if(S)S(b);else this._onerror(Error(`Response handler missing for side-channeled request ${L}`))};this._requestResolvers.set(L,N),this._enqueueTaskMessage(w,{type:"request",message:D,timestamp:Date.now()}).catch((b)=>{this._cleanupTimeout(L),A(b)})}else this._transport.send(D,{relatedRequestId:Y,resumptionToken:$,onresumptiontoken:J}).catch((N)=>{this._cleanupTimeout(L),A(N)})})}async getTask(Q,W){return this.request({method:"tasks/get",params:Q},V9,W)}async getTaskResult(Q,W,X){return this.request({method:"tasks/result",params:Q},W,X)}async listTasks(Q,W){return this.request({method:"tasks/list",params:Q},O9,W)}async cancelTask(Q,W){return this.request({method:"tasks/cancel",params:Q},NJ,W)}async notification(Q,W){if(!this._transport)throw Error("Not connected");this.assertNotificationCapability(Q.method);let X=W?.relatedTask?.taskId;if(X){let G={...Q,jsonrpc:"2.0",params:{...Q.params,_meta:{...Q.params?._meta||{},[O1]:W.relatedTask}}};await this._enqueueTaskMessage(X,{type:"notification",message:G,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(Q.method)&&!Q.params&&!W?.relatedRequestId&&!W?.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(W?.relatedTask)G={...G,params:{...G.params,_meta:{...G.params?._meta||{},[O1]:W.relatedTask}}};this._transport?.send(G,W).catch((H)=>this._onerror(H))});return}let J={...Q,jsonrpc:"2.0"};if(W?.relatedTask)J={...J,params:{...J.params,_meta:{...J.params?._meta||{},[O1]:W.relatedTask}}};await this._transport.send(J,W)}setRequestHandler(Q,W){let X=HX(Q);this.assertRequestHandlerCapability(X),this._requestHandlers.set(X,(Y,$)=>{let J=BX(Q,Y);return Promise.resolve(W(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,W){let X=HX(Q);this._notificationHandlers.set(X,(Y)=>{let $=BX(Q,Y);return Promise.resolve(W($))})}removeNotificationHandler(Q){this._notificationHandlers.delete(Q)}_cleanupTaskProgressHandler(Q){let W=this._taskProgressTokens.get(Q);if(W!==void 0)this._progressHandlers.delete(W),this._taskProgressTokens.delete(Q)}async _enqueueTaskMessage(Q,W,X){if(!this._taskStore||!this._taskMessageQueue)throw Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let Y=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(Q,W,X,Y)}async _clearTaskQueue(Q,W){if(this._taskMessageQueue){let X=await this._taskMessageQueue.dequeueAll(Q,W);for(let Y of X)if(Y.type==="request"&&_W(Y.message)){let $=Y.message.id,J=this._requestResolvers.get($);if(J)J(new T(k.InternalError,"Task cancelled or completed")),this._requestResolvers.delete($);else this._onerror(Error(`Resolver missing for request ${$} during task ${Q} cleanup`))}}}async _waitForTaskUpdate(Q,W){let X=this._options?.defaultTaskPollInterval??1000;try{let Y=await this._taskStore?.getTask(Q);if(Y?.pollInterval)X=Y.pollInterval}catch{}return new Promise((Y,$)=>{if(W.aborted){$(new T(k.InvalidRequest,"Request cancelled"));return}let J=setTimeout(Y,X);W.addEventListener("abort",()=>{clearTimeout(J),$(new T(k.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(Q,W){let X=this._taskStore;if(!X)throw Error("No task store configured");return{createTask:async(Y)=>{if(!Q)throw Error("No request provided");return await X.createTask(Y,Q.id,{method:Q.method,params:Q.params},W)},getTask:async(Y)=>{let $=await X.getTask(Y,W);if(!$)throw new T(k.InvalidParams,"Failed to retrieve task: Task not found");return $},storeTaskResult:async(Y,$,J)=>{await X.storeTaskResult(Y,$,J,W);let G=await X.getTask(Y,W);if(G){let H=G4.parse({method:"notifications/tasks/status",params:G});if(await this.notification(H),R1(G.status))this._cleanupTaskProgressHandler(Y)}},getTaskResult:(Y)=>{return X.getTaskResult(Y,W)},updateTaskStatus:async(Y,$,J)=>{let G=await X.getTask(Y,W);if(!G)throw new T(k.InvalidParams,`Task "${Y}" not found - it may have been cleaned up`);if(R1(G.status))throw new T(k.InvalidParams,`Cannot update task "${Y}" from terminal status "${G.status}" to "${$}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await X.updateTaskStatus(Y,$,J,W);let H=await X.getTask(Y,W);if(H){let B=G4.parse({method:"notifications/tasks/status",params:H});if(await this.notification(B),R1(H.status))this._cleanupTaskProgressHandler(Y)}},listTasks:(Y)=>{return X.listTasks(Y,W)}}}}function R7(Q){return Q!==null&&typeof Q==="object"&&!Array.isArray(Q)}function P7(Q,W){let X={...Q};for(let Y in W){let $=Y,J=W[$];if(J===void 0)continue;let G=X[$];if(R7(G)&&R7(J))X[$]={...G,...J};else X[$]=J}return X}var AB=bY($Y(),1),KB=bY(BB(),1);function sM(){let Q=new AB.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return KB.default(Q),Q}class qY{constructor(Q){this._ajv=Q??sM()}getValidator(Q){let W="$id"in Q&&typeof Q.$id==="string"?this._ajv.getSchema(Q.$id)??this._ajv.compile(Q):this._ajv.compile(Q);return(X)=>{if(W(X))return{valid:!0,data:X,errorMessage:void 0};else return{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(W.errors)}}}}class VY{constructor(Q){this._server=Q}requestStream(Q,W,X){return this._server.requestStream(Q,W,X)}createMessageStream(Q,W){let X=this._server.getClientCapabilities();if((Q.tools||Q.toolChoice)&&!X?.sampling?.tools)throw Error("Client does not support sampling tools capability.");if(Q.messages.length>0){let Y=Q.messages[Q.messages.length-1],$=Array.isArray(Y.content)?Y.content:[Y.content],J=$.some((A)=>A.type==="tool_result"),G=Q.messages.length>1?Q.messages[Q.messages.length-2]:void 0,H=G?Array.isArray(G.content)?G.content:[G.content]:[],B=H.some((A)=>A.type==="tool_use");if(J){if($.some((A)=>A.type!=="tool_result"))throw Error("The last message must contain only tool_result content if any is present");if(!B)throw Error("tool_result blocks are not matching any tool_use from the previous message")}if(B){let A=new Set(H.filter((L)=>L.type==="tool_use").map((L)=>L.id)),K=new Set($.filter((L)=>L.type==="tool_result").map((L)=>L.toolUseId));if(A.size!==K.size||![...A].every((L)=>K.has(L)))throw Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return this.requestStream({method:"sampling/createMessage",params:Q},A4,W)}elicitInputStream(Q,W){let X=this._server.getClientCapabilities(),Y=Q.mode??"form";switch(Y){case"url":{if(!X?.elicitation?.url)throw Error("Client does not support url elicitation.");break}case"form":{if(!X?.elicitation?.form)throw Error("Client does not support form elicitation.");break}}let $=Y==="form"&&Q.mode===void 0?{...Q,mode:"form"}:Q;return this.requestStream({method:"elicitation/create",params:$},K6,W)}async getTask(Q,W){return this._server.getTask({taskId:Q},W)}async getTaskResult(Q,W,X){return this._server.getTaskResult({taskId:Q},W,X)}async listTasks(Q,W){return this._server.listTasks(Q?{cursor:Q}:void 0,W)}async cancelTask(Q,W){return this._server.cancelTask({taskId:Q},W)}}function zB(Q,W,X){if(!Q)throw Error(`${X} does not support task creation (required for ${W})`);switch(W){case"tools/call":if(!Q.tools?.call)throw Error(`${X} does not support task creation for tools/call (required for ${W})`);break;default:break}}function LB(Q,W,X){if(!Q)throw Error(`${X} does not support task creation (required for ${W})`);switch(W){case"sampling/createMessage":if(!Q.sampling?.createMessage)throw Error(`${X} does not support task creation for sampling/createMessage (required for ${W})`);break;case"elicitation/create":if(!Q.elicitation?.create)throw Error(`${X} does not support task creation for elicitation/create (required for ${W})`);break;default:break}}class FY extends AX{constructor(Q,W){super(W);if(this._serverInfo=Q,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(B4.options.map((X,Y)=>[X,Y])),this.isMessageIgnored=(X,Y)=>{let $=this._loggingLevels.get(Y);return $?this.LOG_LEVEL_SEVERITY.get(X)<this.LOG_LEVEL_SEVERITY.get($):!1},this._capabilities=W?.capabilities??{},this._instructions=W?.instructions,this._jsonSchemaValidator=W?.jsonSchemaValidator??new qY,this.setRequestHandler(yW,(X)=>this._oninitialize(X)),this.setNotificationHandler(hW,()=>this.oninitialized?.()),this._capabilities.logging)this.setRequestHandler(iW,async(X,Y)=>{let $=Y.sessionId||Y.requestInfo?.headers["mcp-session-id"]||void 0,{level:J}=X.params,G=B4.safeParse(J);if(G.success)this._loggingLevels.set($,G.data);return{}})}get experimental(){if(!this._experimental)this._experimental={tasks:new VY(this)};return this._experimental}registerCapabilities(Q){if(this.transport)throw Error("Cannot register capabilities after connecting to transport");this._capabilities=P7(this._capabilities,Q)}setRequestHandler(Q,W){let Y=S1(Q)?.method;if(!Y)throw Error("Schema is missing a method literal");let $;if(u0(Y)){let G=Y;$=G._zod?.def?.value??G.value}else{let G=Y;$=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 A=b1(A6,H);if(!A.success){let z=A.error instanceof Error?A.error.message:String(A.error);throw new T(k.InvalidParams,`Invalid tools/call request: ${z}`)}let{params:K}=A.data,L=await Promise.resolve(W(H,B));if(K.task){let z=b1(H6,L);if(!z.success){let q=z.error instanceof Error?z.error.message:String(z.error);throw new T(k.InvalidParams,`Invalid task creation result: ${q}`)}return z.data}let D=b1(R9,L);if(!D.success){let z=D.error instanceof Error?D.error.message:String(D.error);throw new T(k.InvalidParams,`Invalid tools/call result: ${z}`)}return D.data};return super.setRequestHandler(Q,G)}return super.setRequestHandler(Q,W)}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){LB(this._clientCapabilities?.tasks?.requests,Q,"Client")}assertTaskHandlerCapability(Q){if(!this._capabilities)return;zB(this._capabilities.tasks?.requests,Q,"Server")}async _oninitialize(Q){let W=Q.params.protocolVersion;return this._clientCapabilities=Q.params.capabilities,this._clientVersion=Q.params.clientInfo,{protocolVersion:AJ.includes(W)?W:vW,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"},K9)}async createMessage(Q,W){if(Q.tools||Q.toolChoice){if(!this._clientCapabilities?.sampling?.tools)throw Error("Client does not support sampling tools capability.")}if(Q.messages.length>0){let X=Q.messages[Q.messages.length-1],Y=Array.isArray(X.content)?X.content:[X.content],$=Y.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(Y.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)),A=new Set(Y.filter((K)=>K.type==="tool_result").map((K)=>K.toolUseId));if(B.size!==A.size||![...B].every((K)=>A.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},nW,W);return this.request({method:"sampling/createMessage",params:Q},A4,W)}async elicitInput(Q,W){switch(Q.mode??"form"){case"url":{if(!this._clientCapabilities?.elicitation?.url)throw Error("Client does not support url elicitation.");let Y=Q;return this.request({method:"elicitation/create",params:Y},K6,W)}case"form":{if(!this._clientCapabilities?.elicitation?.form)throw Error("Client does not support form elicitation.");let Y=Q.mode==="form"?Q:{...Q,mode:"form"},$=await this.request({method:"elicitation/create",params:Y},K6,W);if($.action==="accept"&&$.content&&Y.requestedSchema)try{let G=this._jsonSchemaValidator.getValidator(Y.requestedSchema)($.content);if(!G.valid)throw new T(k.InvalidParams,`Elicitation response content does not match requested schema: ${G.errorMessage}`)}catch(J){if(J instanceof T)throw J;throw new T(k.InternalError,`Error validating elicitation response: ${J instanceof Error?J.message:String(J)}`)}return $}}}createElicitationCompletionNotifier(Q,W){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}},W)}async listRoots(Q,W){return this.request({method:"roots/list",params:Q},dW,W)}async sendLoggingMessage(Q,W){if(this._capabilities.logging){if(!this.isMessageIgnored(Q.level,W))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 qB=Symbol.for("mcp.completable");function UY(Q){return!!Q&&typeof Q==="object"&&qB in Q}function VB(Q){return Q[qB]?.complete}var DB;(function(Q){Q.Completable="McpCompletable"})(DB||(DB={}));var eM=/^[A-Za-z0-9._-]{1,128}$/;function Qj(Q){let W=[];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(" "))W.push("Tool name contains spaces, which may cause parsing issues");if(Q.includes(","))W.push("Tool name contains commas, which may cause parsing issues");if(Q.startsWith("-")||Q.endsWith("-"))W.push("Tool name starts or ends with a dash, which may cause parsing issues in some contexts");if(Q.startsWith(".")||Q.endsWith("."))W.push("Tool name starts or ends with a dot, which may cause parsing issues in some contexts");if(!eM.test(Q)){let X=Q.split("").filter((Y)=>!/[A-Za-z0-9._-]/.test(Y)).filter((Y,$,J)=>J.indexOf(Y)===$);return W.push(`Tool name contains invalid characters: ${X.map((Y)=>`"${Y}"`).join(", ")}`,"Allowed characters are: A-Z, a-z, 0-9, underscore (_), dash (-), and dot (.)"),{isValid:!1,warnings:W}}return{isValid:!0,warnings:W}}function Wj(Q,W){if(W.length>0){console.warn(`Tool name validation warning for "${Q}":`);for(let X of W)console.warn(` - ${X}`);console.warn("Tool registration will proceed, but this may cause compatibility issues."),console.warn("Consider updating the tool name to conform to the MCP tool naming standard."),console.warn("See SEP: Specify Format for Tool Names (https://github.com/modelcontextprotocol/modelcontextprotocol/issues/986) for more details.")}}function OY(Q){let W=Qj(Q);return Wj(Q,W.warnings),W.isValid}class NY{constructor(Q){this._mcpServer=Q}registerToolTask(Q,W,X){let Y={taskSupport:"required",...W.execution};if(Y.taskSupport==="forbidden")throw Error(`Cannot register task-based tool '${Q}' with taskSupport 'forbidden'. Use registerTool() instead.`);return this._mcpServer._createRegisteredTool(Q,W.title,W.description,W.inputSchema,W.outputSchema,W.annotations,Y,W._meta,X)}}class MY{constructor(Q,W){this._registeredResources={},this._registeredResourceTemplates={},this._registeredTools={},this._registeredPrompts={},this._toolHandlersInitialized=!1,this._completionHandlerInitialized=!1,this._resourceHandlersInitialized=!1,this._promptHandlersInitialized=!1,this.server=new FY(Q,W)}get experimental(){if(!this._experimental)this._experimental={tasks:new NY(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(_1(S9)),this.server.assertCanSetRequestHandler(_1(A6)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(S9,()=>({tools:Object.entries(this._registeredTools).filter(([,Q])=>Q.enabled).map(([Q,W])=>{let X={name:Q,title:W.title,description:W.description,inputSchema:(()=>{let Y=R6(W.inputSchema);return Y?GX(Y,{strictUnions:!0,pipeStrategy:"input"}):Xj})(),annotations:W.annotations,execution:W.execution,_meta:W._meta};if(W.outputSchema){let Y=R6(W.outputSchema);if(Y)X.outputSchema=GX(Y,{strictUnions:!0,pipeStrategy:"output"})}return X})})),this.server.setRequestHandler(A6,async(Q,W)=>{try{let X=this._registeredTools[Q.params.name];if(!X)throw new T(k.InvalidParams,`Tool ${Q.params.name} not found`);if(!X.enabled)throw new T(k.InvalidParams,`Tool ${Q.params.name} disabled`);let Y=!!Q.params.task,$=X.execution?.taskSupport,J="createTask"in X.handler;if(($==="required"||$==="optional")&&!J)throw new T(k.InternalError,`Tool ${Q.params.name} has taskSupport '${$}' but was not registered with registerToolTask`);if($==="required"&&!Y)throw new T(k.MethodNotFound,`Tool ${Q.params.name} requires task augmentation (taskSupport: 'required')`);if($==="optional"&&!Y&&J)return await this.handleAutomaticTaskPolling(X,Q,W);let G=await this.validateToolInput(X,Q.params.arguments,Q.params.name),H=await this.executeToolHandler(X,G,W);if(Y)return H;return await this.validateToolOutput(X,H,Q.params.name),H}catch(X){if(X instanceof T){if(X.code===k.UrlElicitationRequired)throw X}return this.createToolError(X instanceof Error?X.message:String(X))}}),this._toolHandlersInitialized=!0}createToolError(Q){return{content:[{type:"text",text:Q}],isError:!0}}async validateToolInput(Q,W,X){if(!Q.inputSchema)return;let $=R6(Q.inputSchema)??Q.inputSchema,J=await k9($,W);if(!J.success){let G="error"in J?J.error:"Unknown error",H=_9(G);throw new T(k.InvalidParams,`Input validation error: Invalid arguments for tool ${X}: ${H}`)}return J.data}async validateToolOutput(Q,W,X){if(!Q.outputSchema)return;if(!("content"in W))return;if(W.isError)return;if(!W.structuredContent)throw new T(k.InvalidParams,`Output validation error: Tool ${X} has an output schema but no structured content was provided`);let Y=R6(Q.outputSchema),$=await k9(Y,W.structuredContent);if(!$.success){let J="error"in $?$.error:"Unknown error",G=_9(J);throw new T(k.InvalidParams,`Output validation error: Invalid structured content for tool ${X}: ${G}`)}}async executeToolHandler(Q,W,X){let Y=Q.handler;if("createTask"in Y){if(!X.taskStore)throw Error("No task store provided.");let J={...X,taskStore:X.taskStore};if(Q.inputSchema)return await Promise.resolve(Y.createTask(W,J));else return await Promise.resolve(Y.createTask(J))}if(Q.inputSchema)return await Promise.resolve(Y(W,X));else return await Promise.resolve(Y(X))}async handleAutomaticTaskPolling(Q,W,X){if(!X.taskStore)throw Error("No task store provided for task-capable tool.");let Y=await this.validateToolInput(Q,W.params.arguments,W.params.name),$=Q.handler,J={...X,taskStore:X.taskStore},G=Y?await Promise.resolve($.createTask(Y,J)):await Promise.resolve($.createTask(J)),H=G.task.taskId,B=G.task,A=B.pollInterval??5000;while(B.status!=="completed"&&B.status!=="failed"&&B.status!=="cancelled"){await new Promise((L)=>setTimeout(L,A));let K=await X.taskStore.getTask(H);if(!K)throw new T(k.InternalError,`Task ${H} not found during polling`);B=K}return await X.taskStore.getTaskResult(H)}setCompletionRequestHandler(){if(this._completionHandlerInitialized)return;this.server.assertCanSetRequestHandler(_1(P9)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(P9,async(Q)=>{switch(Q.params.ref.type){case"ref/prompt":return SJ(Q),this.handlePromptCompletion(Q,Q.params.ref);case"ref/resource":return RJ(Q),this.handleResourceCompletion(Q,Q.params.ref);default:throw new T(k.InvalidParams,`Invalid completion reference: ${Q.params.ref}`)}}),this._completionHandlerInitialized=!0}async handlePromptCompletion(Q,W){let X=this._registeredPrompts[W.name];if(!X)throw new T(k.InvalidParams,`Prompt ${W.name} not found`);if(!X.enabled)throw new T(k.InvalidParams,`Prompt ${W.name} disabled`);if(!X.argsSchema)return l4;let $=S1(X.argsSchema)?.[Q.params.argument.name];if(!UY($))return l4;let J=VB($);if(!J)return l4;let G=await J(Q.params.argument.value,Q.params.context);return UB(G)}async handleResourceCompletion(Q,W){let X=Object.values(this._registeredResourceTemplates).find((J)=>J.resourceTemplate.uriTemplate.toString()===W.uri);if(!X){if(this._registeredResources[W.uri])return l4;throw new T(k.InvalidParams,`Resource template ${Q.params.ref.uri} not found`)}let Y=X.resourceTemplate.completeCallback(Q.params.argument.name);if(!Y)return l4;let $=await Y(Q.params.argument.value,Q.params.context);return UB($)}setResourceRequestHandlers(){if(this._resourceHandlersInitialized)return;this.server.assertCanSetRequestHandler(_1(w9)),this.server.assertCanSetRequestHandler(_1(M9)),this.server.assertCanSetRequestHandler(_1(j9)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(w9,async(Q,W)=>{let X=Object.entries(this._registeredResources).filter(([$,J])=>J.enabled).map(([$,J])=>({uri:$,name:J.name,...J.metadata})),Y=[];for(let $ of Object.values(this._registeredResourceTemplates)){if(!$.resourceTemplate.listCallback)continue;let J=await $.resourceTemplate.listCallback(W);for(let G of J.resources)Y.push({...$.metadata,...G})}return{resources:[...X,...Y]}}),this.server.setRequestHandler(M9,async()=>{return{resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([W,X])=>({name:W,uriTemplate:X.resourceTemplate.uriTemplate.toString(),...X.metadata}))}}),this.server.setRequestHandler(j9,async(Q,W)=>{let X=new URL(Q.params.uri),Y=this._registeredResources[X.toString()];if(Y){if(!Y.enabled)throw new T(k.InvalidParams,`Resource ${X} disabled`);return Y.readCallback(X,W)}for(let $ of Object.values(this._registeredResourceTemplates)){let J=$.resourceTemplate.uriTemplate.match(X.toString());if(J)return $.readCallback(X,J,W)}throw new T(k.InvalidParams,`Resource ${X} not found`)}),this._resourceHandlersInitialized=!0}setPromptRequestHandlers(){if(this._promptHandlersInitialized)return;this.server.assertCanSetRequestHandler(_1(E9)),this.server.assertCanSetRequestHandler(_1(b9)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(E9,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,Q])=>Q.enabled).map(([Q,W])=>{return{name:Q,title:W.title,description:W.description,arguments:W.argsSchema?Yj(W.argsSchema):void 0}})})),this.server.setRequestHandler(b9,async(Q,W)=>{let X=this._registeredPrompts[Q.params.name];if(!X)throw new T(k.InvalidParams,`Prompt ${Q.params.name} not found`);if(!X.enabled)throw new T(k.InvalidParams,`Prompt ${Q.params.name} disabled`);if(X.argsSchema){let Y=R6(X.argsSchema),$=await k9(Y,Q.params.arguments);if(!$.success){let H="error"in $?$.error:"Unknown error",B=_9(H);throw new T(k.InvalidParams,`Invalid arguments for prompt ${Q.params.name}: ${B}`)}let J=$.data,G=X.callback;return await Promise.resolve(G(J,W))}else{let Y=X.callback;return await Promise.resolve(Y(W))}}),this._promptHandlersInitialized=!0}resource(Q,W,...X){let Y;if(typeof X[0]==="object")Y=X.shift();let $=X[0];if(typeof W==="string"){if(this._registeredResources[W])throw Error(`Resource ${W} is already registered`);let J=this._createRegisteredResource(Q,void 0,W,Y,$);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,W,Y,$);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),J}}registerResource(Q,W,X,Y){if(typeof W==="string"){if(this._registeredResources[W])throw Error(`Resource ${W} is already registered`);let $=this._createRegisteredResource(Q,X.title,W,X,Y);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),$}else{if(this._registeredResourceTemplates[Q])throw Error(`Resource template ${Q} is already registered`);let $=this._createRegisteredResourceTemplate(Q,X.title,W,X,Y);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),$}}_createRegisteredResource(Q,W,X,Y,$){let J={name:Q,title:W,metadata:Y,readCallback:$,enabled:!0,disable:()=>J.update({enabled:!1}),enable:()=>J.update({enabled:!0}),remove:()=>J.update({uri:null}),update:(G)=>{if(typeof G.uri<"u"&&G.uri!==X){if(delete this._registeredResources[X],G.uri)this._registeredResources[G.uri]=J}if(typeof G.name<"u")J.name=G.name;if(typeof G.title<"u")J.title=G.title;if(typeof G.metadata<"u")J.metadata=G.metadata;if(typeof G.callback<"u")J.readCallback=G.callback;if(typeof G.enabled<"u")J.enabled=G.enabled;this.sendResourceListChanged()}};return this._registeredResources[X]=J,J}_createRegisteredResourceTemplate(Q,W,X,Y,$){let J={resourceTemplate:X,title:W,metadata:Y,readCallback:$,enabled:!0,disable:()=>J.update({enabled:!1}),enable:()=>J.update({enabled:!0}),remove:()=>J.update({name:null}),update:(B)=>{if(typeof B.name<"u"&&B.name!==Q){if(delete this._registeredResourceTemplates[Q],B.name)this._registeredResourceTemplates[B.name]=J}if(typeof B.title<"u")J.title=B.title;if(typeof B.template<"u")J.resourceTemplate=B.template;if(typeof B.metadata<"u")J.metadata=B.metadata;if(typeof B.callback<"u")J.readCallback=B.callback;if(typeof B.enabled<"u")J.enabled=B.enabled;this.sendResourceListChanged()}};this._registeredResourceTemplates[Q]=J;let G=X.uriTemplate.variableNames;if(Array.isArray(G)&&G.some((B)=>!!X.completeCallback(B)))this.setCompletionRequestHandler();return J}_createRegisteredPrompt(Q,W,X,Y,$){let J={title:W,description:X,argsSchema:Y===void 0?void 0:o1(Y),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=o1(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,Y){if(Object.values(Y).some((H)=>{let B=H instanceof g0?H._def?.innerType:H;return UY(B)}))this.setCompletionRequestHandler()}return J}_createRegisteredTool(Q,W,X,Y,$,J,G,H,B){OY(Q);let A={title:W,description:X,inputSchema:FB(Y),outputSchema:FB($),annotations:J,execution:G,_meta:H,handler:B,enabled:!0,disable:()=>A.update({enabled:!1}),enable:()=>A.update({enabled:!0}),remove:()=>A.update({name:null}),update:(K)=>{if(typeof K.name<"u"&&K.name!==Q){if(typeof K.name==="string")OY(K.name);if(delete this._registeredTools[Q],K.name)this._registeredTools[K.name]=A}if(typeof K.title<"u")A.title=K.title;if(typeof K.description<"u")A.description=K.description;if(typeof K.paramsSchema<"u")A.inputSchema=o1(K.paramsSchema);if(typeof K.outputSchema<"u")A.outputSchema=o1(K.outputSchema);if(typeof K.callback<"u")A.handler=K.callback;if(typeof K.annotations<"u")A.annotations=K.annotations;if(typeof K._meta<"u")A._meta=K._meta;if(typeof K.enabled<"u")A.enabled=K.enabled;this.sendToolListChanged()}};return this._registeredTools[Q]=A,this.setToolRequestHandlers(),this.sendToolListChanged(),A}tool(Q,...W){if(this._registeredTools[Q])throw Error(`Tool ${Q} is already registered`);let X,Y,$,J;if(typeof W[0]==="string")X=W.shift();if(W.length>1){let H=W[0];if(wY(H)){if(Y=W.shift(),W.length>1&&typeof W[0]==="object"&&W[0]!==null&&!wY(W[0]))J=W.shift()}else if(typeof H==="object"&&H!==null){if(Object.values(H).some((B)=>typeof B==="object"&&B!==null))throw Error(`Tool ${Q} expected a Zod schema or ToolAnnotations, but received an unrecognized object`);J=W.shift()}}let G=W[0];return this._createRegisteredTool(Q,void 0,X,Y,$,J,{taskSupport:"forbidden"},void 0,G)}registerTool(Q,W,X){if(this._registeredTools[Q])throw Error(`Tool ${Q} is already registered`);let{title:Y,description:$,inputSchema:J,outputSchema:G,annotations:H,_meta:B}=W;return this._createRegisteredTool(Q,Y,$,J,G,H,{taskSupport:"forbidden"},B,X)}prompt(Q,...W){if(this._registeredPrompts[Q])throw Error(`Prompt ${Q} is already registered`);let X;if(typeof W[0]==="string")X=W.shift();let Y;if(W.length>1)Y=W.shift();let $=W[0],J=this._createRegisteredPrompt(Q,void 0,X,Y,$);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),J}registerPrompt(Q,W,X){if(this._registeredPrompts[Q])throw Error(`Prompt ${Q} is already registered`);let{title:Y,description:$,argsSchema:J}=W,G=this._createRegisteredPrompt(Q,Y,$,J,X);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),G}isConnected(){return this.server.transport!==void 0}async sendLoggingMessage(Q,W){return this.server.sendLoggingMessage(Q,W)}sendResourceListChanged(){if(this.isConnected())this.server.sendResourceListChanged()}sendToolListChanged(){if(this.isConnected())this.server.sendToolListChanged()}sendPromptListChanged(){if(this.isConnected())this.server.sendPromptListChanged()}}var Xj={type:"object",properties:{}};function OB(Q){return Q!==null&&typeof Q==="object"&&"parse"in Q&&typeof Q.parse==="function"&&"safeParse"in Q&&typeof Q.safeParse==="function"}function NB(Q){return"_def"in Q||"_zod"in Q||OB(Q)}function wY(Q){if(typeof Q!=="object"||Q===null)return!1;if(NB(Q))return!1;if(Object.keys(Q).length===0)return!0;return Object.values(Q).some(OB)}function FB(Q){if(!Q)return;if(wY(Q))return o1(Q);if(!NB(Q))throw Error("inputSchema must be a Zod schema or raw shape, received an unrecognized object");return Q}function Yj(Q){let W=S1(Q);if(!W)return[];return Object.entries(W).map(([X,Y])=>{let $=nJ(Y),J=dJ(Y);return{name:X,description:$,required:!J}})}function _1(Q){let X=S1(Q)?.method;if(!X)throw Error("Schema is missing a method literal");let Y=x9(X);if(typeof Y==="string")return Y;throw Error("Schema method literal must be a string")}function UB(Q){return{completion:{values:Q.slice(0,100),total:Q.length,hasMore:Q.length>100}}}var l4={completion:{values:[],hasMore:!1}};var $j=(Q)=>ZJ.find((W)=>W.name===Q);function wB(Q){return{content:[{type:"text",text:JSON.stringify(Q,null,2)}]}}function Jj(Q){return{content:[{type:"text",text:`Error: ${Q instanceof Error?Q.message:String(Q)}`}],isError:!0}}var Gj=`
44
44
  This server drives a LIVE schematic canvas open in the user's browser (a
45
45
  SvelteKit AV diagramming app). There is no canvas state here \u2014 every tool call
46
46
  is forwarded to whichever browser tab is currently connected and applied to
@@ -74,7 +74,9 @@ Typical workflow:
74
74
  If search_library finds nothing for a device the user asked for (this
75
75
  library only covers Bose/Crestron/Extron/Q-SYS/Shure/Yamaha), use
76
76
  add_generic_node instead: you name the device and define its in/out ports
77
- (type + connector) directly, no library lookup needed.
77
+ (type + connector) directly, no library lookup needed. Port names are
78
+ auto-normalised to CONNECTOR-IN|OUT-N convention (e.g. "HDMI-IN-1",
79
+ "RJ45-OUT-2") \u2014 do not pass verbose names like "HDMI Input 1".
78
80
  4. Call connect_ports to cable two devices together. A connection is only
79
81
  valid if BOTH the AV signal type (Audio/Video/Network/Power/Control/...)
80
82
  AND the physical connector (XLR/HDMI/RJ45/...) match on both ends \u2014 this
@@ -95,8 +97,12 @@ Typical workflow:
95
97
  - add_location: creates a group/RCP node with a location name, optional
96
98
  location_id, mode ("group" or "rcp"), and dimensions (default 480\xD7360 px).
97
99
  Pass the returned id as groupId to add_device_from_library/add_generic_node.
98
- - edit_location: rename, change mode, or resize an RCP room (widthMm/heightMm).
100
+ - edit_location: rename, change mode, or update metadata.
99
101
  Renaming also propagates to all member schematic devices.
102
+ - resize_location: resize the group box (width/height px, or widthMm/heightMm
103
+ for RCP). Validates that the new dimensions are large enough to contain all
104
+ child nodes \u2014 returns an error with the minimum required size if not. Always
105
+ use this (not edit_location) when you need to change the size of a group.
100
106
  - delete_location: removes the group and all devices inside it.
101
107
  8. To manage cable edges directly:
102
108
  - add_edge: like connect_ports but also accepts label, cable (type string),
@@ -126,4 +132,4 @@ Typical workflow:
126
132
  - edit_drawing_details: patch any subset of fields; unmentioned fields are unchanged.
127
133
 
128
134
  get_screenshot is not implemented yet and will return an error.
129
- `.trim();function MB(){let Q=new MY({name:"htifa-ai",version:"0.0.1"},{instructions:Gj}),W=(B,A,K=wB)=>{let{title:L,description:D}=$j(B);Q.registerTool(B,{title:L,description:D,inputSchema:A},async(z)=>{try{return K(await _J(B,z))}catch(q){return Jj(q)}})};W("list_canvas",{}),W("search_library",{query:N.string().describe("A few English keywords (split into words; every word must match) across device name, brand, model, family, category, description, and port signal domain. Translate the user's request into English keywords rather than passing their literal phrase."),limit:N.number().int().positive().max(50).optional().describe("Max results (default 20).")}),W("add_device_from_library",{packId:N.string().describe("Pack id from a search_library result."),deviceType:N.string().describe('Device "deviceType" id from a search_library result.'),position:N.object({x:N.number(),y:N.number()}).optional().describe("Canvas position; omit to auto-place."),groupId:N.string().optional().describe("Id of a group (from add_group) to place this device inside.")});let X=N.object({name:N.string().describe('Port label, e.g. "HDMI In 1".'),type:N.string().describe('AV signal type, e.g. "Audio", "Video", "Network", "Control".'),connector:N.string().describe('Physical connector, e.g. "HDMI", "RJ45", "USB-C".')});W("add_generic_node",{spec:N.object({name:N.string().describe("Device label shown on the canvas."),brand:N.string().optional().describe('Defaults to "Generic".'),model:N.string().optional().describe("Defaults to the name."),ins:N.array(X).optional().describe("Input ports."),outs:N.array(X).optional().describe("Output ports.")}),position:N.object({x:N.number(),y:N.number()}).optional().describe("Canvas position; omit to auto-place."),groupId:N.string().optional().describe("Id of a group (from add_group) to place this device inside.")}),W("add_rack",{name:N.string().describe('Label shown on the rack, e.g. "Main Rack".'),units:N.number().int().positive().describe("Rack height in U (rack units), e.g. 12, 18, 24, 42. Always ask the user how many U they need."),position:N.object({x:N.number(),y:N.number()}).optional().describe("Canvas position; omit to auto-place.")}),W("edit_rack",{id:N.string().describe("Rack node id to edit."),name:N.string().optional().describe("New rack name."),units:N.number().int().positive().optional().describe("New rack height in U.")});let Y={label:N.string().optional().describe("Equipment label shown in the rack elevation."),type:N.enum(["Audio","Video","Network","Power","Control","AVoIP","Speaker"]).optional().describe("AV signal type \u2014 sets the color swatch. Omit for no color."),startU:N.number().int().positive().optional().describe("Bottom rack unit the item occupies (1 = lowest row). Omit to auto-place."),width:N.union([N.literal(1),N.literal(2),N.literal(3),N.literal(4)]).optional().describe("Width in rack columns (1\u20134, default 4)."),height:N.number().int().positive().optional().describe("Height in rack units (default 1).")};W("add_rack_device",{rackId:N.string().describe("Rack node id to add equipment to."),label:N.string().describe("Equipment label shown in the rack elevation."),...Y}),W("edit_rack_device",{rackId:N.string().describe("Rack node id containing the item."),deviceId:N.string().describe("Item id within the rack (returned by add_rack_device)."),...Y}),W("delete_rack_device",{rackId:N.string().describe("Rack node id containing the item."),deviceId:N.string().describe("Item id to remove (returned by add_rack_device).")}),W("add_location",{location:N.string().describe('Display name for this region, e.g. "Room A", "Stage".'),location_id:N.string().optional().describe("Stable ID used to link member devices to this location. Auto-generated if omitted."),mode:N.enum(["group","rcp"]).optional().describe('"group" (default) for a plain device-grouping box; "rcp" for a reflected-ceiling/equipment plan with real-world mm dimensions.'),width:N.number().positive().optional().describe("Width in canvas pixels (default 480)."),height:N.number().positive().optional().describe("Height in canvas pixels (default 360)."),position:N.object({x:N.number(),y:N.number()}).optional().describe("Canvas position of the top-left corner; omit to auto-place.")}),W("edit_location",{id:N.string().describe("Group node id to edit (from list_canvas locations or add_location)."),location:N.string().optional().describe("New display name."),location_id:N.string().optional().describe("New stable ID \u2014 also updates all member devices."),mode:N.enum(["group","rcp"]).optional().describe("Switch between group and RCP plan mode."),widthMm:N.number().positive().optional().describe("Room width in millimetres (RCP mode only)."),heightMm:N.number().positive().optional().describe("Room height in millimetres (RCP mode only).")}),W("delete_location",{id:N.string().describe("Group node id to delete. Member devices inside are also removed.")});let $={label:N.string().optional().describe("Human-readable label shown along the cable."),cable:N.string().optional().describe('Cable product name / type string, e.g. "Cat6", "Mogami 2534".'),length:N.number().nonnegative().optional().describe("Physical cable run length in metres."),mode:N.enum(["cable","tag"]).optional().describe('"cable" renders a routed line; "tag" renders port-label pills at each end.')};W("add_edge",{source:N.string().describe("Source (output) device node id."),sourceHandle:N.string().describe("Output port id on the source device."),target:N.string().describe("Target (input) device node id."),targetHandle:N.string().describe("Input port id on the target device."),...$}),W("edit_edge",{id:N.string().describe("Edge id to update (from list_canvas edges)."),...$}),W("delete_edge",{id:N.string().describe("Edge id to remove (from list_canvas edges).")}),W("add_group",{spec:N.object({label:N.string().describe('Label shown on the region, e.g. "Room ABC".'),width:N.number().positive().optional().describe("Defaults to 480."),height:N.number().positive().optional().describe("Defaults to 360.")}),position:N.object({x:N.number(),y:N.number()}).optional().describe("Canvas position of the group's top-left corner; omit to auto-place.")});let J=["Speaker","Mic","Display","Projector","Light","Sensor","Furniture"],G={label:N.string().optional().describe("Label shown beneath the item on the plan."),kind:N.enum(J).optional().describe("Device category. Determines the icon, color, and default shape. Switching kind resets rotation and shape."),shape:N.enum(["rect","oval","circle","diamond","triangle"]).optional().describe('Footprint shape \u2014 only used when kind is "Furniture". Ignored for other kinds.'),widthMm:N.number().positive().optional().describe("Footprint width in millimetres (default 260 mm)."),heightMm:N.number().positive().optional().describe("Footprint height in millimetres (default 260 mm)."),rotation:N.number().optional().describe("Rotation in degrees (0 = upright, clockwise positive).")};W("add_rcp_item",{label:N.string().describe("Label shown beneath the item on the plan."),...G,position:N.object({x:N.number(),y:N.number()}).optional().describe("Canvas position; omit to auto-place."),groupId:N.string().optional().describe("RCP-mode location node id to place this item inside.")}),W("edit_rcp_item",{id:N.string().describe("RCP item node id to edit (from list_canvas)."),...G}),W("delete_rcp_item",{id:N.string().describe("RCP item node id to remove.")}),W("move_node_to_location",{nodeId:N.string().describe("Schematic device or RCP item node id to move."),groupId:N.string().describe("Location (group node) id to place the node inside. Use list_canvas locations to find ids.")}),W("remove_node_from_location",{nodeId:N.string().describe("Node id to detach from its parent location/group.")}),W("get_drawing_details",{});let H={drawingNo:N.string().optional().describe('Drawing number, e.g. "AV-001".'),rev:N.number().int().positive().optional().describe("Revision number."),projectName:N.string().optional().describe("Project name."),drawingTitle:N.string().optional().describe("Title shown on the drawing title block."),client:N.string().optional().describe("Client name."),bidder:N.string().optional().describe("Bidder / contractor name."),drawBy:N.string().optional().describe("Drawn by (person or initials)."),checkBy:N.string().optional().describe("Checked by (person or initials).")};return W("edit_drawing_details",H),W("connect_ports",{source:N.string().describe("Source (output) device node id."),sourceHandle:N.string().describe("Output port id on the source device."),target:N.string().describe("Target (input) device node id."),targetHandle:N.string().describe("Input port id on the target device.")}),W("move_node",{id:N.string().describe("Node id to move."),position:N.object({x:N.number(),y:N.number()}).describe("New canvas position.")}),W("delete_node",{id:N.string().describe("Node id to delete (its edges are removed too).")}),W("get_screenshot",{},(B)=>{let A=B?.dataUrl;if(!A)return wB(B);let[,K="image/png",L=""]=A.match(/^data:(.+?);base64,(.*)$/)??[];return{content:[{type:"image",data:L,mimeType:K}]}}),Q}async function Hj(){kJ();let Q=MB(),W=new rW;await Q.connect(W),console.error("[htifa-ai] MCP server ready on stdio")}Hj().catch((Q)=>{console.error("[htifa-ai] fatal:",Q),process.exit(1)});
135
+ `.trim();function MB(){let Q=new MY({name:"htifa-ai",version:"0.0.1"},{instructions:Gj}),W=(B,A,K=wB)=>{let{title:L,description:D}=$j(B);Q.registerTool(B,{title:L,description:D,inputSchema:A},async(z)=>{try{return K(await _J(B,z))}catch(q){return Jj(q)}})};W("list_canvas",{}),W("search_library",{query:O.string().describe("A few English keywords (split into words; every word must match) across device name, brand, model, family, category, description, and port signal domain. Translate the user's request into English keywords rather than passing their literal phrase."),limit:O.number().int().positive().max(50).optional().describe("Max results (default 20).")}),W("add_device_from_library",{packId:O.string().describe("Pack id from a search_library result."),deviceType:O.string().describe('Device "deviceType" id from a search_library result.'),position:O.object({x:O.number(),y:O.number()}).optional().describe("Canvas position; omit to auto-place."),groupId:O.string().optional().describe("Id of a group (from add_group) to place this device inside.")});let X=O.object({name:O.string().describe('Port label, e.g. "HDMI In 1".'),type:O.string().describe('AV signal type, e.g. "Audio", "Video", "Network", "Control".'),connector:O.string().describe('Physical connector, e.g. "HDMI", "RJ45", "USB-C".')});W("add_generic_node",{spec:O.object({name:O.string().describe("Device label shown on the canvas."),brand:O.string().optional().describe('Defaults to "Generic".'),model:O.string().optional().describe("Defaults to the name."),ins:O.array(X).optional().describe("Input ports."),outs:O.array(X).optional().describe("Output ports.")}),position:O.object({x:O.number(),y:O.number()}).optional().describe("Canvas position; omit to auto-place."),groupId:O.string().optional().describe("Id of a group (from add_group) to place this device inside.")}),W("add_rack",{name:O.string().describe('Label shown on the rack, e.g. "Main Rack".'),units:O.number().int().positive().describe("Rack height in U (rack units), e.g. 12, 18, 24, 42. Always ask the user how many U they need."),position:O.object({x:O.number(),y:O.number()}).optional().describe("Canvas position; omit to auto-place.")}),W("edit_rack",{id:O.string().describe("Rack node id to edit."),name:O.string().optional().describe("New rack name."),units:O.number().int().positive().optional().describe("New rack height in U.")});let Y={label:O.string().optional().describe("Equipment label shown in the rack elevation."),type:O.enum(["Audio","Video","Network","Power","Control","AVoIP","Speaker"]).optional().describe("AV signal type \u2014 sets the color swatch. Omit for no color."),startU:O.number().int().positive().optional().describe("Bottom rack unit the item occupies (1 = lowest row). Omit to auto-place."),width:O.union([O.literal(1),O.literal(2),O.literal(3),O.literal(4)]).optional().describe("Width in rack columns (1\u20134, default 4)."),height:O.number().int().positive().optional().describe("Height in rack units (default 1).")};W("add_rack_device",{rackId:O.string().describe("Rack node id to add equipment to."),label:O.string().describe("Equipment label shown in the rack elevation."),...Y}),W("edit_rack_device",{rackId:O.string().describe("Rack node id containing the item."),deviceId:O.string().describe("Item id within the rack (returned by add_rack_device)."),...Y}),W("delete_rack_device",{rackId:O.string().describe("Rack node id containing the item."),deviceId:O.string().describe("Item id to remove (returned by add_rack_device).")}),W("add_location",{location:O.string().describe('Display name for this region, e.g. "Room A", "Stage".'),location_id:O.string().optional().describe("Stable ID used to link member devices to this location. Auto-generated if omitted."),mode:O.enum(["group","rcp"]).optional().describe('"group" (default) for a plain device-grouping box; "rcp" for a reflected-ceiling/equipment plan with real-world mm dimensions.'),width:O.number().positive().optional().describe("Width in canvas pixels (default 480)."),height:O.number().positive().optional().describe("Height in canvas pixels (default 360)."),position:O.object({x:O.number(),y:O.number()}).optional().describe("Canvas position of the top-left corner; omit to auto-place.")}),W("edit_location",{id:O.string().describe("Group node id to edit (from list_canvas locations or add_location)."),location:O.string().optional().describe("New display name."),location_id:O.string().optional().describe("New stable ID \u2014 also updates all member devices."),mode:O.enum(["group","rcp"]).optional().describe("Switch between group and RCP plan mode."),widthMm:O.number().positive().optional().describe("Room width in millimetres (RCP mode only)."),heightMm:O.number().positive().optional().describe("Room height in millimetres (RCP mode only).")}),W("resize_location",{id:O.string().describe("Group/location node id to resize (from list_canvas locations)."),width:O.number().positive().optional().describe("New width in canvas pixels (group mode)."),height:O.number().positive().optional().describe("New height in canvas pixels (group mode)."),widthMm:O.number().positive().optional().describe("New width in millimetres (RCP mode)."),heightMm:O.number().positive().optional().describe("New height in millimetres (RCP mode).")}),W("delete_location",{id:O.string().describe("Group node id to delete. Member devices inside are also removed.")});let $={label:O.string().optional().describe("Human-readable label shown along the cable."),cable:O.string().optional().describe('Cable product name / type string, e.g. "Cat6", "Mogami 2534".'),length:O.number().nonnegative().optional().describe("Physical cable run length in metres."),mode:O.enum(["cable","tag"]).optional().describe('"cable" renders a routed line; "tag" renders port-label pills at each end.')};W("add_edge",{source:O.string().describe("Source (output) device node id."),sourceHandle:O.string().describe("Output port id on the source device."),target:O.string().describe("Target (input) device node id."),targetHandle:O.string().describe("Input port id on the target device."),...$}),W("edit_edge",{id:O.string().describe("Edge id to update (from list_canvas edges)."),...$}),W("delete_edge",{id:O.string().describe("Edge id to remove (from list_canvas edges).")}),W("add_group",{spec:O.object({label:O.string().describe('Label shown on the region, e.g. "Room ABC".'),width:O.number().positive().optional().describe("Defaults to 480."),height:O.number().positive().optional().describe("Defaults to 360.")}),position:O.object({x:O.number(),y:O.number()}).optional().describe("Canvas position of the group's top-left corner; omit to auto-place.")});let J=["Speaker","Mic","Display","Projector","Light","Sensor","Furniture"],G={label:O.string().optional().describe("Label shown beneath the item on the plan."),kind:O.enum(J).optional().describe("Device category. Determines the icon, color, and default shape. Switching kind resets rotation and shape."),shape:O.enum(["rect","oval","circle","diamond","triangle"]).optional().describe('Footprint shape \u2014 only used when kind is "Furniture". Ignored for other kinds.'),widthMm:O.number().positive().optional().describe("Footprint width in millimetres (default 260 mm)."),heightMm:O.number().positive().optional().describe("Footprint height in millimetres (default 260 mm)."),rotation:O.number().optional().describe("Rotation in degrees (0 = upright, clockwise positive).")};W("add_rcp_item",{label:O.string().describe("Label shown beneath the item on the plan."),...G,position:O.object({x:O.number(),y:O.number()}).optional().describe("Canvas position; omit to auto-place."),groupId:O.string().optional().describe("RCP-mode location node id to place this item inside.")}),W("edit_rcp_item",{id:O.string().describe("RCP item node id to edit (from list_canvas)."),...G}),W("delete_rcp_item",{id:O.string().describe("RCP item node id to remove.")}),W("move_node_to_location",{nodeId:O.string().describe("Schematic device or RCP item node id to move."),groupId:O.string().describe("Location (group node) id to place the node inside. Use list_canvas locations to find ids.")}),W("remove_node_from_location",{nodeId:O.string().describe("Node id to detach from its parent location/group.")}),W("get_drawing_details",{});let H={drawingNo:O.string().optional().describe('Drawing number, e.g. "AV-001".'),rev:O.number().int().positive().optional().describe("Revision number."),projectName:O.string().optional().describe("Project name."),drawingTitle:O.string().optional().describe("Title shown on the drawing title block."),client:O.string().optional().describe("Client name."),bidder:O.string().optional().describe("Bidder / contractor name."),drawBy:O.string().optional().describe("Drawn by (person or initials)."),checkBy:O.string().optional().describe("Checked by (person or initials).")};return W("edit_drawing_details",H),W("connect_ports",{source:O.string().describe("Source (output) device node id."),sourceHandle:O.string().describe("Output port id on the source device."),target:O.string().describe("Target (input) device node id."),targetHandle:O.string().describe("Input port id on the target device.")}),W("edit_port",{nodeId:O.string().describe("Schematic device node id (from list_canvas)."),portId:O.string().describe("Port handle id to update (from list_canvas ports)."),name:O.string().optional().describe('New port name. Must follow convention: CONNECTOR-IN|OUT-N, e.g. "HDMI-IN-1", "RJ45-OUT-2".'),type:O.string().optional().describe('New AV signal type, e.g. "Audio", "Video", "Network", "Control".'),connector:O.string().optional().describe('New physical connector, e.g. "HDMI", "RJ45", "XLR".')}),W("move_node",{id:O.string().describe("Node id to move."),position:O.object({x:O.number(),y:O.number()}).describe("New canvas position.")}),W("delete_node",{id:O.string().describe("Node id to delete (its edges are removed too).")}),W("get_screenshot",{},(B)=>{let A=B?.dataUrl;if(!A)return wB(B);let[,K="image/png",L=""]=A.match(/^data:(.+?);base64,(.*)$/)??[];return{content:[{type:"image",data:L,mimeType:K}]}}),Q}async function Hj(){kJ();let Q=MB(),W=new rW;await Q.connect(W),console.error("[htifa-ai] MCP server ready on stdio")}Hj().catch((Q)=>{console.error("[htifa-ai] fatal:",Q),process.exit(1)});