emceepee 0.2.7 → 0.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/emceepee-http.js +5 -5
- package/dist/emceepee.js +1 -1
- package/package.json +1 -1
package/dist/emceepee-http.js
CHANGED
|
@@ -13,7 +13,7 @@ import{createRequire as gj}from"node:module";var _j=Object.create;var{getPrototy
|
|
|
13
13
|
|| ${G} === "boolean" || ${$} === null`).assign(H,i._`[${$}]`)}}}function V2({gen:Q,parentData:X,parentDataProperty:Y},W){Q.if(i._`${X} !== undefined`,()=>Q.assign(i._`${X}[${Y}]`,W))}function o$(Q,X,Y,W=X4.Correct){let $=W===X4.Correct?i.operators.EQ:i.operators.NEQ,J;switch(Q){case"null":return i._`${X} ${$} null`;case"array":J=i._`Array.isArray(${X})`;break;case"object":J=i._`${X} && typeof ${X} == "object" && !Array.isArray(${X})`;break;case"integer":J=G(i._`!(${X} % 1) && !isNaN(${X})`);break;case"number":J=G();break;default:return i._`typeof ${X} ${$} ${Q}`}return W===X4.Correct?J:(0,i.not)(J);function G(H=i.nil){return(0,i.and)(i._`typeof ${X} == "number"`,H,Y?i._`isFinite(${X})`:i.nil)}}xF.checkDataType=o$;function r$(Q,X,Y,W){if(Q.length===1)return o$(Q[0],X,Y,W);let $,J=(0,kF.toHash)(Q);if(J.array&&J.object){let G=i._`typeof ${X} != "object"`;$=J.null?G:i._`!${X} || ${G}`,delete J.null,delete J.array,delete J.object}else $=i.nil;if(J.number)delete J.integer;for(let G in J)$=(0,i.and)($,o$(G,X,Y,W));return $}xF.checkDataTypes=r$;var A2={message:({schema:Q})=>`must be ${Q}`,params:({schema:Q,schemaValue:X})=>typeof Q=="string"?i._`{type: ${Q}}`:i._`{type: ${X}}`};function t$(Q){let X=F2(Q);(0,G2.reportError)(X,A2)}xF.reportTypeError=t$;function F2(Q){let{gen:X,data:Y,schema:W}=Q,$=(0,kF.schemaRefOrVal)(Q,W,"type");return{gen:X,keyword:"type",data:Y,schema:W.type,schemaCode:$,schemaValue:$,parentSchema:W,params:{},it:Q}}});var uF=N((gF)=>{Object.defineProperty(gF,"__esModule",{value:!0});gF.assignDefaults=void 0;var Y4=n(),N2=$0();function q2(Q,X){let{properties:Y,items:W}=Q.schema;if(X==="object"&&Y)for(let $ in Y)fF(Q,$,Y[$].default);else if(X==="array"&&Array.isArray(W))W.forEach(($,J)=>fF(Q,J,$.default))}gF.assignDefaults=q2;function fF(Q,X,Y){let{gen:W,compositeRule:$,data:J,opts:G}=Q;if(Y===void 0)return;let H=Y4._`${J}${(0,Y4.getProperty)(X)}`;if($){(0,N2.checkStrictMode)(Q,`default is ignored for: ${H}`);return}let B=Y4._`${H} === undefined`;if(G.useDefaults==="empty")B=Y4._`${B} || ${H} === null || ${H} === ""`;W.if(B,Y4._`${H} = ${(0,Y4.stringify)(Y)}`)}});var L1=N((cF)=>{Object.defineProperty(cF,"__esModule",{value:!0});cF.validateUnion=cF.validateArray=cF.usePattern=cF.callValidateCode=cF.schemaProperties=cF.allSchemaProperties=cF.noPropertyInData=cF.propertyInData=cF.isOwnProperty=cF.hasPropFunc=cF.reportMissingProp=cF.checkMissingProp=cF.checkReportMissingProp=void 0;var j0=n(),a$=$0(),k6=B6(),M2=$0();function b2(Q,X){let{gen:Y,data:W,it:$}=Q;Y.if(e$(Y,W,X,$.opts.ownProperties),()=>{Q.setParams({missingProperty:j0._`${X}`},!0),Q.error()})}cF.checkReportMissingProp=b2;function P2({gen:Q,data:X,it:{opts:Y}},W,$){return(0,j0.or)(...W.map((J)=>(0,j0.and)(e$(Q,X,J,Y.ownProperties),j0._`${$} = ${J}`)))}cF.checkMissingProp=P2;function Z2(Q,X){Q.setParams({missingProperty:X},!0),Q.error()}cF.reportMissingProp=Z2;function lF(Q){return Q.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:j0._`Object.prototype.hasOwnProperty`})}cF.hasPropFunc=lF;function s$(Q,X,Y){return j0._`${lF(Q)}.call(${X}, ${Y})`}cF.isOwnProperty=s$;function R2(Q,X,Y,W){let $=j0._`${X}${(0,j0.getProperty)(Y)} !== undefined`;return W?j0._`${$} && ${s$(Q,X,Y)}`:$}cF.propertyInData=R2;function e$(Q,X,Y,W){let $=j0._`${X}${(0,j0.getProperty)(Y)} === undefined`;return W?(0,j0.or)($,(0,j0.not)(s$(Q,X,Y))):$}cF.noPropertyInData=e$;function mF(Q){return Q?Object.keys(Q).filter((X)=>X!=="__proto__"):[]}cF.allSchemaProperties=mF;function E2(Q,X){return mF(X).filter((Y)=>!(0,a$.alwaysValidSchema)(Q,X[Y]))}cF.schemaProperties=E2;function S2({schemaCode:Q,data:X,it:{gen:Y,topSchemaRef:W,schemaPath:$,errorPath:J},it:G},H,B,z){let K=z?j0._`${Q}, ${X}, ${W}${$}`:X,V=[[k6.default.instancePath,(0,j0.strConcat)(k6.default.instancePath,J)],[k6.default.parentData,G.parentData],[k6.default.parentDataProperty,G.parentDataProperty],[k6.default.rootData,k6.default.rootData]];if(G.opts.dynamicRef)V.push([k6.default.dynamicAnchors,k6.default.dynamicAnchors]);let A=j0._`${K}, ${Y.object(...V)}`;return B!==j0.nil?j0._`${H}.call(${B}, ${A})`:j0._`${H}(${A})`}cF.callValidateCode=S2;var I2=j0._`new RegExp`;function C2({gen:Q,it:{opts:X}},Y){let W=X.unicodeRegExp?"u":"",{regExp:$}=X.code,J=$(Y,W);return Q.scopeValue("pattern",{key:J.toString(),ref:J,code:j0._`${$.code==="new RegExp"?I2:(0,M2.useFunc)(Q,$)}(${Y}, ${W})`})}cF.usePattern=C2;function T2(Q){let{gen:X,data:Y,keyword:W,it:$}=Q,J=X.name("valid");if($.allErrors){let H=X.let("valid",!0);return G(()=>X.assign(H,!1)),H}return X.var(J,!0),G(()=>X.break()),J;function G(H){let B=X.const("len",j0._`${Y}.length`);X.forRange("i",0,B,(z)=>{Q.subschema({keyword:W,dataProp:z,dataPropType:a$.Type.Num},J),X.if((0,j0.not)(J),H)})}}cF.validateArray=T2;function k2(Q){let{gen:X,schema:Y,keyword:W,it:$}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");if(Y.some((B)=>(0,a$.alwaysValidSchema)($,B))&&!$.opts.unevaluated)return;let G=X.let("valid",!1),H=X.name("_valid");X.block(()=>Y.forEach((B,z)=>{let K=Q.subschema({keyword:W,schemaProp:z,compositeRule:!0},H);if(X.assign(G,j0._`${G} || ${H}`),!Q.mergeValidEvaluated(K,H))X.if((0,j0.not)(G))})),Q.result(G,()=>Q.reset(),()=>Q.error(!0))}cF.validateUnion=k2});var rF=N((nF)=>{Object.defineProperty(nF,"__esModule",{value:!0});nF.validateKeywordUsage=nF.validSchemaType=nF.funcKeywordCode=nF.macroKeywordCode=void 0;var o0=n(),B9=B6(),d2=L1(),i2=E8();function n2(Q,X){let{gen:Y,keyword:W,schema:$,parentSchema:J,it:G}=Q,H=X.macro.call(G.self,$,J,G),B=iF(Y,W,H);if(G.opts.validateSchema!==!1)G.self.validateSchema(H,!0);let z=Y.name("valid");Q.subschema({schema:H,schemaPath:o0.nil,errSchemaPath:`${G.errSchemaPath}/${W}`,topSchemaRef:B,compositeRule:!0},z),Q.pass(z,()=>Q.error(!0))}nF.macroKeywordCode=n2;function o2(Q,X){var Y;let{gen:W,keyword:$,schema:J,parentSchema:G,$data:H,it:B}=Q;t2(B,X);let z=!H&&X.compile?X.compile.call(B.self,J,G,B):X.validate,K=iF(W,$,z),V=W.let("valid");Q.block$data(V,A),Q.ok((Y=X.valid)!==null&&Y!==void 0?Y:V);function A(){if(X.errors===!1){if(D(),X.modifying)dF(Q);O(()=>Q.error())}else{let j=X.async?F():L();if(X.modifying)dF(Q);O(()=>r2(Q,j))}}function F(){let j=W.let("ruleErrs",null);return W.try(()=>D(o0._`await `),(q)=>W.assign(V,!1).if(o0._`${q} instanceof ${B.ValidationError}`,()=>W.assign(j,o0._`${q}.errors`),()=>W.throw(q))),j}function L(){let j=o0._`${K}.errors`;return W.assign(j,null),D(o0.nil),j}function D(j=X.async?o0._`await `:o0.nil){let q=B.opts.passContext?B9.default.this:B9.default.self,M=!(("compile"in X)&&!H||X.schema===!1);W.assign(V,o0._`${j}${(0,d2.callValidateCode)(Q,K,q,M)}`,X.modifying)}function O(j){var q;W.if((0,o0.not)((q=X.valid)!==null&&q!==void 0?q:V),j)}}nF.funcKeywordCode=o2;function dF(Q){let{gen:X,data:Y,it:W}=Q;X.if(W.parentData,()=>X.assign(Y,o0._`${W.parentData}[${W.parentDataProperty}]`))}function r2(Q,X){let{gen:Y}=Q;Y.if(o0._`Array.isArray(${X})`,()=>{Y.assign(B9.default.vErrors,o0._`${B9.default.vErrors} === null ? ${X} : ${B9.default.vErrors}.concat(${X})`).assign(B9.default.errors,o0._`${B9.default.vErrors}.length`),(0,i2.extendErrors)(Q)},()=>Q.error())}function t2({schemaEnv:Q},X){if(X.async&&!Q.$async)throw Error("async keyword in sync schema")}function iF(Q,X,Y){if(Y===void 0)throw Error(`keyword "${X}" failed to compile`);return Q.scopeValue("keyword",typeof Y=="function"?{ref:Y}:{ref:Y,code:(0,o0.stringify)(Y)})}function a2(Q,X,Y=!1){return!X.length||X.some((W)=>W==="array"?Array.isArray(Q):W==="object"?Q&&typeof Q=="object"&&!Array.isArray(Q):typeof Q==W||Y&&typeof Q>"u")}nF.validSchemaType=a2;function s2({schema:Q,opts:X,self:Y,errSchemaPath:W},$,J){if(Array.isArray($.keyword)?!$.keyword.includes(J):$.keyword!==J)throw Error("ajv implementation error");let G=$.dependencies;if(G===null||G===void 0?void 0:G.some((H)=>!Object.prototype.hasOwnProperty.call(Q,H)))throw Error(`parent schema must have dependencies of ${J}: ${G.join(",")}`);if($.validateSchema){if(!$.validateSchema(Q[J])){let B=`keyword "${J}" value is invalid at path "${W}": `+Y.errorsText($.validateSchema.errors);if(X.validateSchema==="log")Y.logger.error(B);else throw Error(B)}}}nF.validateKeywordUsage=s2});var eF=N((aF)=>{Object.defineProperty(aF,"__esModule",{value:!0});aF.extendSubschemaMode=aF.extendSubschemaData=aF.getSubschema=void 0;var o1=n(),tF=$0();function Yk(Q,{keyword:X,schemaProp:Y,schema:W,schemaPath:$,errSchemaPath:J,topSchemaRef:G}){if(X!==void 0&&W!==void 0)throw Error('both "keyword" and "schema" passed, only one allowed');if(X!==void 0){let H=Q.schema[X];return Y===void 0?{schema:H,schemaPath:o1._`${Q.schemaPath}${(0,o1.getProperty)(X)}`,errSchemaPath:`${Q.errSchemaPath}/${X}`}:{schema:H[Y],schemaPath:o1._`${Q.schemaPath}${(0,o1.getProperty)(X)}${(0,o1.getProperty)(Y)}`,errSchemaPath:`${Q.errSchemaPath}/${X}/${(0,tF.escapeFragment)(Y)}`}}if(W!==void 0){if($===void 0||J===void 0||G===void 0)throw Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:W,schemaPath:$,topSchemaRef:G,errSchemaPath:J}}throw Error('either "keyword" or "schema" must be passed')}aF.getSubschema=Yk;function Wk(Q,X,{dataProp:Y,dataPropType:W,data:$,dataTypes:J,propertyName:G}){if($!==void 0&&Y!==void 0)throw Error('both "data" and "dataProp" passed, only one allowed');let{gen:H}=X;if(Y!==void 0){let{errorPath:z,dataPathArr:K,opts:V}=X,A=H.let("data",o1._`${X.data}${(0,o1.getProperty)(Y)}`,!0);B(A),Q.errorPath=o1.str`${z}${(0,tF.getErrorPath)(Y,W,V.jsPropertySyntax)}`,Q.parentDataProperty=o1._`${Y}`,Q.dataPathArr=[...K,Q.parentDataProperty]}if($!==void 0){let z=$ instanceof o1.Name?$:H.let("data",$,!0);if(B(z),G!==void 0)Q.propertyName=G}if(J)Q.dataTypes=J;function B(z){Q.data=z,Q.dataLevel=X.dataLevel+1,Q.dataTypes=[],X.definedProperties=new Set,Q.parentData=X.data,Q.dataNames=[...X.dataNames,z]}}aF.extendSubschemaData=Wk;function $k(Q,{jtdDiscriminator:X,jtdMetadata:Y,compositeRule:W,createErrors:$,allErrors:J}){if(W!==void 0)Q.compositeRule=W;if($!==void 0)Q.createErrors=$;if(J!==void 0)Q.allErrors=J;Q.jtdDiscriminator=X,Q.jtdMetadata=Y}aF.extendSubschemaMode=$k});var XD=N((Rd,QD)=>{var v6=QD.exports=function(Q,X,Y){if(typeof X=="function")Y=X,X={};Y=X.cb||Y;var W=typeof Y=="function"?Y:Y.pre||function(){},$=Y.post||function(){};oX(X,W,$,Q,"",Q)};v6.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};v6.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};v6.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};v6.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function oX(Q,X,Y,W,$,J,G,H,B,z){if(W&&typeof W=="object"&&!Array.isArray(W)){X(W,$,J,G,H,B,z);for(var K in W){var V=W[K];if(Array.isArray(V)){if(K in v6.arrayKeywords)for(var A=0;A<V.length;A++)oX(Q,X,Y,V[A],$+"/"+K+"/"+A,J,$,K,W,A)}else if(K in v6.propsKeywords){if(V&&typeof V=="object")for(var F in V)oX(Q,X,Y,V[F],$+"/"+K+"/"+Hk(F),J,$,K,W,F)}else if(K in v6.keywords||Q.allKeys&&!(K in v6.skipKeywords))oX(Q,X,Y,V,$+"/"+K,J,$,K,W)}Y(W,$,J,G,H,B,z)}}function Hk(Q){return Q.replace(/~/g,"~0").replace(/\//g,"~1")}});var I8=N((JD)=>{Object.defineProperty(JD,"__esModule",{value:!0});JD.getSchemaRefs=JD.resolveUrl=JD.normalizeId=JD._getFullPath=JD.getFullPath=JD.inlineRef=void 0;var Bk=$0(),zk=G8(),Kk=XD(),Vk=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function Ak(Q,X=!0){if(typeof Q=="boolean")return!0;if(X===!0)return!QJ(Q);if(!X)return!1;return YD(Q)<=X}JD.inlineRef=Ak;var Fk=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function QJ(Q){for(let X in Q){if(Fk.has(X))return!0;let Y=Q[X];if(Array.isArray(Y)&&Y.some(QJ))return!0;if(typeof Y=="object"&&QJ(Y))return!0}return!1}function YD(Q){let X=0;for(let Y in Q){if(Y==="$ref")return 1/0;if(X++,Vk.has(Y))continue;if(typeof Q[Y]=="object")(0,Bk.eachItem)(Q[Y],(W)=>X+=YD(W));if(X===1/0)return 1/0}return X}function WD(Q,X="",Y){if(Y!==!1)X=W4(X);let W=Q.parse(X);return $D(Q,W)}JD.getFullPath=WD;function $D(Q,X){return Q.serialize(X).split("#")[0]+"#"}JD._getFullPath=$D;var Dk=/#\/?$/;function W4(Q){return Q?Q.replace(Dk,""):""}JD.normalizeId=W4;function Lk(Q,X,Y){return Y=W4(Y),Q.resolve(X,Y)}JD.resolveUrl=Lk;var Ok=/^[a-z_][-a-z0-9._]*$/i;function jk(Q,X){if(typeof Q=="boolean")return{};let{schemaId:Y,uriResolver:W}=this.opts,$=W4(Q[Y]||X),J={"":$},G=WD(W,$,!1),H={},B=new Set;return Kk(Q,{allKeys:!0},(V,A,F,L)=>{if(L===void 0)return;let D=G+A,O=J[L];if(typeof V[Y]=="string")O=j.call(this,V[Y]);q.call(this,V.$anchor),q.call(this,V.$dynamicAnchor),J[A]=O;function j(M){let S=this.opts.uriResolver.resolve;if(M=W4(O?S(O,M):M),B.has(M))throw K(M);B.add(M);let Z=this.refs[M];if(typeof Z=="string")Z=this.refs[Z];if(typeof Z=="object")z(V,Z.schema,M);else if(M!==W4(D))if(M[0]==="#")z(V,H[M],M),H[M]=V;else this.refs[M]=D;return M}function q(M){if(typeof M=="string"){if(!Ok.test(M))throw Error(`invalid anchor "${M}"`);j.call(this,`#${M}`)}}}),H;function z(V,A,F){if(A!==void 0&&!zk(V,A))throw K(F)}function K(V){return Error(`reference "${V}" resolves to more than one schema`)}}JD.getSchemaRefs=jk});var k8=N((qD)=>{Object.defineProperty(qD,"__esModule",{value:!0});qD.getData=qD.KeywordCxt=qD.validateFunctionCode=void 0;var VD=ZF(),HD=S8(),YJ=n$(),rX=S8(),bk=uF(),T8=rF(),XJ=eF(),y=n(),c=B6(),Pk=I8(),z6=$0(),C8=E8();function Zk(Q){if(DD(Q)){if(LD(Q),FD(Q)){Sk(Q);return}}AD(Q,()=>(0,VD.topBoolOrEmptySchema)(Q))}qD.validateFunctionCode=Zk;function AD({gen:Q,validateName:X,schema:Y,schemaEnv:W,opts:$},J){if($.code.es5)Q.func(X,y._`${c.default.data}, ${c.default.valCxt}`,W.$async,()=>{Q.code(y._`"use strict"; ${BD(Y,$)}`),Ek(Q,$),Q.code(J)});else Q.func(X,y._`${c.default.data}, ${Rk($)}`,W.$async,()=>Q.code(BD(Y,$)).code(J))}function Rk(Q){return y._`{${c.default.instancePath}="", ${c.default.parentData}, ${c.default.parentDataProperty}, ${c.default.rootData}=${c.default.data}${Q.dynamicRef?y._`, ${c.default.dynamicAnchors}={}`:y.nil}}={}`}function Ek(Q,X){Q.if(c.default.valCxt,()=>{if(Q.var(c.default.instancePath,y._`${c.default.valCxt}.${c.default.instancePath}`),Q.var(c.default.parentData,y._`${c.default.valCxt}.${c.default.parentData}`),Q.var(c.default.parentDataProperty,y._`${c.default.valCxt}.${c.default.parentDataProperty}`),Q.var(c.default.rootData,y._`${c.default.valCxt}.${c.default.rootData}`),X.dynamicRef)Q.var(c.default.dynamicAnchors,y._`${c.default.valCxt}.${c.default.dynamicAnchors}`)},()=>{if(Q.var(c.default.instancePath,y._`""`),Q.var(c.default.parentData,y._`undefined`),Q.var(c.default.parentDataProperty,y._`undefined`),Q.var(c.default.rootData,c.default.data),X.dynamicRef)Q.var(c.default.dynamicAnchors,y._`{}`)})}function Sk(Q){let{schema:X,opts:Y,gen:W}=Q;AD(Q,()=>{if(Y.$comment&&X.$comment)jD(Q);if(vk(Q),W.let(c.default.vErrors,null),W.let(c.default.errors,0),Y.unevaluated)Ik(Q);OD(Q),yk(Q)});return}function Ik(Q){let{gen:X,validateName:Y}=Q;Q.evaluated=X.const("evaluated",y._`${Y}.evaluated`),X.if(y._`${Q.evaluated}.dynamicProps`,()=>X.assign(y._`${Q.evaluated}.props`,y._`undefined`)),X.if(y._`${Q.evaluated}.dynamicItems`,()=>X.assign(y._`${Q.evaluated}.items`,y._`undefined`))}function BD(Q,X){let Y=typeof Q=="object"&&Q[X.schemaId];return Y&&(X.code.source||X.code.process)?y._`/*# sourceURL=${Y} */`:y.nil}function Ck(Q,X){if(DD(Q)){if(LD(Q),FD(Q)){Tk(Q,X);return}}(0,VD.boolOrEmptySchema)(Q,X)}function FD({schema:Q,self:X}){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(X.RULES.all[Y])return!0;return!1}function DD(Q){return typeof Q.schema!="boolean"}function Tk(Q,X){let{schema:Y,gen:W,opts:$}=Q;if($.$comment&&Y.$comment)jD(Q);_k(Q),xk(Q);let J=W.const("_errs",c.default.errors);OD(Q,J),W.var(X,y._`${J} === ${c.default.errors}`)}function LD(Q){(0,z6.checkUnknownRules)(Q),kk(Q)}function OD(Q,X){if(Q.opts.jtd)return zD(Q,[],!1,X);let Y=(0,HD.getSchemaTypes)(Q.schema),W=(0,HD.coerceAndCheckDataType)(Q,Y);zD(Q,Y,!W,X)}function kk(Q){let{schema:X,errSchemaPath:Y,opts:W,self:$}=Q;if(X.$ref&&W.ignoreKeywordsWithRef&&(0,z6.schemaHasRulesButRef)(X,$.RULES))$.logger.warn(`$ref: keywords ignored in schema at path "${Y}"`)}function vk(Q){let{schema:X,opts:Y}=Q;if(X.default!==void 0&&Y.useDefaults&&Y.strictSchema)(0,z6.checkStrictMode)(Q,"default is ignored in the schema root")}function _k(Q){let X=Q.schema[Q.opts.schemaId];if(X)Q.baseId=(0,Pk.resolveUrl)(Q.opts.uriResolver,Q.baseId,X)}function xk(Q){if(Q.schema.$async&&!Q.schemaEnv.$async)throw Error("async schema in sync schema")}function jD({gen:Q,schemaEnv:X,schema:Y,errSchemaPath:W,opts:$}){let J=Y.$comment;if($.$comment===!0)Q.code(y._`${c.default.self}.logger.log(${J})`);else if(typeof $.$comment=="function"){let G=y.str`${W}/$comment`,H=Q.scopeValue("root",{ref:X.root});Q.code(y._`${c.default.self}.opts.$comment(${J}, ${G}, ${H}.schema)`)}}function yk(Q){let{gen:X,schemaEnv:Y,validateName:W,ValidationError:$,opts:J}=Q;if(Y.$async)X.if(y._`${c.default.errors} === 0`,()=>X.return(c.default.data),()=>X.throw(y._`new ${$}(${c.default.vErrors})`));else{if(X.assign(y._`${W}.errors`,c.default.vErrors),J.unevaluated)fk(Q);X.return(y._`${c.default.errors} === 0`)}}function fk({gen:Q,evaluated:X,props:Y,items:W}){if(Y instanceof y.Name)Q.assign(y._`${X}.props`,Y);if(W instanceof y.Name)Q.assign(y._`${X}.items`,W)}function zD(Q,X,Y,W){let{gen:$,schema:J,data:G,allErrors:H,opts:B,self:z}=Q,{RULES:K}=z;if(J.$ref&&(B.ignoreKeywordsWithRef||!(0,z6.schemaHasRulesButRef)(J,K))){$.block(()=>wD(Q,"$ref",K.all.$ref.definition));return}if(!B.jtd)gk(Q,X);$.block(()=>{for(let A of K.rules)V(A);V(K.post)});function V(A){if(!(0,YJ.shouldUseGroup)(J,A))return;if(A.type){if($.if((0,rX.checkDataType)(A.type,G,B.strictNumbers)),KD(Q,A),X.length===1&&X[0]===A.type&&Y)$.else(),(0,rX.reportTypeError)(Q);$.endIf()}else KD(Q,A);if(!H)$.if(y._`${c.default.errors} === ${W||0}`)}}function KD(Q,X){let{gen:Y,schema:W,opts:{useDefaults:$}}=Q;if($)(0,bk.assignDefaults)(Q,X.type);Y.block(()=>{for(let J of X.rules)if((0,YJ.shouldUseRule)(W,J))wD(Q,J.keyword,J.definition,X.type)})}function gk(Q,X){if(Q.schemaEnv.meta||!Q.opts.strictTypes)return;if(hk(Q,X),!Q.opts.allowUnionTypes)uk(Q,X);lk(Q,Q.dataTypes)}function hk(Q,X){if(!X.length)return;if(!Q.dataTypes.length){Q.dataTypes=X;return}X.forEach((Y)=>{if(!UD(Q.dataTypes,Y))WJ(Q,`type "${Y}" not allowed by context "${Q.dataTypes.join(",")}"`)}),ck(Q,X)}function uk(Q,X){if(X.length>1&&!(X.length===2&&X.includes("null")))WJ(Q,"use allowUnionTypes to allow union type keyword")}function lk(Q,X){let Y=Q.self.RULES.all;for(let W in Y){let $=Y[W];if(typeof $=="object"&&(0,YJ.shouldUseRule)(Q.schema,$)){let{type:J}=$.definition;if(J.length&&!J.some((G)=>mk(X,G)))WJ(Q,`missing type "${J.join(",")}" for keyword "${W}"`)}}}function mk(Q,X){return Q.includes(X)||X==="number"&&Q.includes("integer")}function UD(Q,X){return Q.includes(X)||X==="integer"&&Q.includes("number")}function ck(Q,X){let Y=[];for(let W of Q.dataTypes)if(UD(X,W))Y.push(W);else if(X.includes("integer")&&W==="number")Y.push("integer");Q.dataTypes=Y}function WJ(Q,X){let Y=Q.schemaEnv.baseId+Q.errSchemaPath;X+=` at "${Y}" (strictTypes)`,(0,z6.checkStrictMode)(Q,X,Q.opts.strictTypes)}class $J{constructor(Q,X,Y){if((0,T8.validateKeywordUsage)(Q,X,Y),this.gen=Q.gen,this.allErrors=Q.allErrors,this.keyword=Y,this.data=Q.data,this.schema=Q.schema[Y],this.$data=X.$data&&Q.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,z6.schemaRefOrVal)(Q,this.schema,Y,this.$data),this.schemaType=X.schemaType,this.parentSchema=Q.schema,this.params={},this.it=Q,this.def=X,this.$data)this.schemaCode=Q.gen.const("vSchema",ND(this.$data,Q));else if(this.schemaCode=this.schemaValue,!(0,T8.validSchemaType)(this.schema,X.schemaType,X.allowUndefined))throw Error(`${Y} value must be ${JSON.stringify(X.schemaType)}`);if("code"in X?X.trackErrors:X.errors!==!1)this.errsCount=Q.gen.const("_errs",c.default.errors)}result(Q,X,Y){this.failResult((0,y.not)(Q),X,Y)}failResult(Q,X,Y){if(this.gen.if(Q),Y)Y();else this.error();if(X){if(this.gen.else(),X(),this.allErrors)this.gen.endIf()}else if(this.allErrors)this.gen.endIf();else this.gen.else()}pass(Q,X){this.failResult((0,y.not)(Q),void 0,X)}fail(Q){if(Q===void 0){if(this.error(),!this.allErrors)this.gen.if(!1);return}if(this.gen.if(Q),this.error(),this.allErrors)this.gen.endIf();else this.gen.else()}fail$data(Q){if(!this.$data)return this.fail(Q);let{schemaCode:X}=this;this.fail(y._`${X} !== undefined && (${(0,y.or)(this.invalid$data(),Q)})`)}error(Q,X,Y){if(X){this.setParams(X),this._error(Q,Y),this.setParams({});return}this._error(Q,Y)}_error(Q,X){(Q?C8.reportExtraError:C8.reportError)(this,this.def.error,X)}$dataError(){(0,C8.reportError)(this,this.def.$dataError||C8.keyword$DataError)}reset(){if(this.errsCount===void 0)throw Error('add "trackErrors" to keyword definition');(0,C8.resetErrorsCount)(this.gen,this.errsCount)}ok(Q){if(!this.allErrors)this.gen.if(Q)}setParams(Q,X){if(X)Object.assign(this.params,Q);else this.params=Q}block$data(Q,X,Y=y.nil){this.gen.block(()=>{this.check$data(Q,Y),X()})}check$data(Q=y.nil,X=y.nil){if(!this.$data)return;let{gen:Y,schemaCode:W,schemaType:$,def:J}=this;if(Y.if((0,y.or)(y._`${W} === undefined`,X)),Q!==y.nil)Y.assign(Q,!0);if($.length||J.validateSchema){if(Y.elseIf(this.invalid$data()),this.$dataError(),Q!==y.nil)Y.assign(Q,!1)}Y.else()}invalid$data(){let{gen:Q,schemaCode:X,schemaType:Y,def:W,it:$}=this;return(0,y.or)(J(),G());function J(){if(Y.length){if(!(X instanceof y.Name))throw Error("ajv implementation error");let H=Array.isArray(Y)?Y:[Y];return y._`${(0,rX.checkDataTypes)(H,X,$.opts.strictNumbers,rX.DataType.Wrong)}`}return y.nil}function G(){if(W.validateSchema){let H=Q.scopeValue("validate$data",{ref:W.validateSchema});return y._`!${H}(${X})`}return y.nil}}subschema(Q,X){let Y=(0,XJ.getSubschema)(this.it,Q);(0,XJ.extendSubschemaData)(Y,this.it,Q),(0,XJ.extendSubschemaMode)(Y,Q);let W={...this.it,...Y,items:void 0,props:void 0};return Ck(W,X),W}mergeEvaluated(Q,X){let{it:Y,gen:W}=this;if(!Y.opts.unevaluated)return;if(Y.props!==!0&&Q.props!==void 0)Y.props=z6.mergeEvaluated.props(W,Q.props,Y.props,X);if(Y.items!==!0&&Q.items!==void 0)Y.items=z6.mergeEvaluated.items(W,Q.items,Y.items,X)}mergeValidEvaluated(Q,X){let{it:Y,gen:W}=this;if(Y.opts.unevaluated&&(Y.props!==!0||Y.items!==!0))return W.if(X,()=>this.mergeEvaluated(Q,y.Name)),!0}}qD.KeywordCxt=$J;function wD(Q,X,Y,W){let $=new $J(Q,Y,X);if("code"in Y)Y.code($,W);else if($.$data&&Y.validate)(0,T8.funcKeywordCode)($,Y);else if("macro"in Y)(0,T8.macroKeywordCode)($,Y);else if(Y.compile||Y.validate)(0,T8.funcKeywordCode)($,Y)}var pk=/^\/(?:[^~]|~0|~1)*$/,dk=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function ND(Q,{dataLevel:X,dataNames:Y,dataPathArr:W}){let $,J;if(Q==="")return c.default.rootData;if(Q[0]==="/"){if(!pk.test(Q))throw Error(`Invalid JSON-pointer: ${Q}`);$=Q,J=c.default.rootData}else{let z=dk.exec(Q);if(!z)throw Error(`Invalid JSON-pointer: ${Q}`);let K=+z[1];if($=z[2],$==="#"){if(K>=X)throw Error(B("property/index",K));return W[X-K]}if(K>X)throw Error(B("data",K));if(J=Y[X-K],!$)return J}let G=J,H=$.split("/");for(let z of H)if(z)J=y._`${J}${(0,y.getProperty)((0,z6.unescapeJsonPointer)(z))}`,G=y._`${G} && ${J}`;return G;function B(z,K){return`Cannot access ${z} ${K} levels up, current level is ${X}`}}qD.getData=ND});var tX=N((PD)=>{Object.defineProperty(PD,"__esModule",{value:!0});class bD extends Error{constructor(Q){super("validation failed");this.errors=Q,this.ajv=this.validation=!0}}PD.default=bD});var v8=N((RD)=>{Object.defineProperty(RD,"__esModule",{value:!0});var JJ=I8();class ZD extends Error{constructor(Q,X,Y,W){super(W||`can't resolve reference ${Y} from id ${X}`);this.missingRef=(0,JJ.resolveUrl)(Q,X,Y),this.missingSchema=(0,JJ.normalizeId)((0,JJ.getFullPath)(Q,this.missingRef))}}RD.default=ZD});var sX=N((ID)=>{Object.defineProperty(ID,"__esModule",{value:!0});ID.resolveSchema=ID.getCompilingSchema=ID.resolveRef=ID.compileSchema=ID.SchemaEnv=void 0;var _1=n(),tk=tX(),z9=B6(),x1=I8(),ED=$0(),ak=k8();class _8{constructor(Q){var X;this.refs={},this.dynamicAnchors={};let Y;if(typeof Q.schema=="object")Y=Q.schema;this.schema=Q.schema,this.schemaId=Q.schemaId,this.root=Q.root||this,this.baseId=(X=Q.baseId)!==null&&X!==void 0?X:(0,x1.normalizeId)(Y===null||Y===void 0?void 0:Y[Q.schemaId||"$id"]),this.schemaPath=Q.schemaPath,this.localRefs=Q.localRefs,this.meta=Q.meta,this.$async=Y===null||Y===void 0?void 0:Y.$async,this.refs={}}}ID.SchemaEnv=_8;function HJ(Q){let X=SD.call(this,Q);if(X)return X;let Y=(0,x1.getFullPath)(this.opts.uriResolver,Q.root.baseId),{es5:W,lines:$}=this.opts.code,{ownProperties:J}=this.opts,G=new _1.CodeGen(this.scope,{es5:W,lines:$,ownProperties:J}),H;if(Q.$async)H=G.scopeValue("Error",{ref:tk.default,code:_1._`require("ajv/dist/runtime/validation_error").default`});let B=G.scopeName("validate");Q.validateName=B;let z={gen:G,allErrors:this.opts.allErrors,data:z9.default.data,parentData:z9.default.parentData,parentDataProperty:z9.default.parentDataProperty,dataNames:[z9.default.data],dataPathArr:[_1.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:G.scopeValue("schema",this.opts.code.source===!0?{ref:Q.schema,code:(0,_1.stringify)(Q.schema)}:{ref:Q.schema}),validateName:B,ValidationError:H,schema:Q.schema,schemaEnv:Q,rootId:Y,baseId:Q.baseId||Y,schemaPath:_1.nil,errSchemaPath:Q.schemaPath||(this.opts.jtd?"":"#"),errorPath:_1._`""`,opts:this.opts,self:this},K;try{this._compilations.add(Q),(0,ak.validateFunctionCode)(z),G.optimize(this.opts.code.optimize);let V=G.toString();if(K=`${G.scopeRefs(z9.default.scope)}return ${V}`,this.opts.code.process)K=this.opts.code.process(K,Q);let F=Function(`${z9.default.self}`,`${z9.default.scope}`,K)(this,this.scope.get());if(this.scope.value(B,{ref:F}),F.errors=null,F.schema=Q.schema,F.schemaEnv=Q,Q.$async)F.$async=!0;if(this.opts.code.source===!0)F.source={validateName:B,validateCode:V,scopeValues:G._values};if(this.opts.unevaluated){let{props:L,items:D}=z;if(F.evaluated={props:L instanceof _1.Name?void 0:L,items:D instanceof _1.Name?void 0:D,dynamicProps:L instanceof _1.Name,dynamicItems:D instanceof _1.Name},F.source)F.source.evaluated=(0,_1.stringify)(F.evaluated)}return Q.validate=F,Q}catch(V){if(delete Q.validate,delete Q.validateName,K)this.logger.error("Error compiling schema, function code:",K);throw V}finally{this._compilations.delete(Q)}}ID.compileSchema=HJ;function sk(Q,X,Y){var W;Y=(0,x1.resolveUrl)(this.opts.uriResolver,X,Y);let $=Q.refs[Y];if($)return $;let J=Xv.call(this,Q,Y);if(J===void 0){let G=(W=Q.localRefs)===null||W===void 0?void 0:W[Y],{schemaId:H}=this.opts;if(G)J=new _8({schema:G,schemaId:H,root:Q,baseId:X})}if(J===void 0)return;return Q.refs[Y]=ek.call(this,J)}ID.resolveRef=sk;function ek(Q){if((0,x1.inlineRef)(Q.schema,this.opts.inlineRefs))return Q.schema;return Q.validate?Q:HJ.call(this,Q)}function SD(Q){for(let X of this._compilations)if(Qv(X,Q))return X}ID.getCompilingSchema=SD;function Qv(Q,X){return Q.schema===X.schema&&Q.root===X.root&&Q.baseId===X.baseId}function Xv(Q,X){let Y;while(typeof(Y=this.refs[X])=="string")X=Y;return Y||this.schemas[X]||aX.call(this,Q,X)}function aX(Q,X){let Y=this.opts.uriResolver.parse(X),W=(0,x1._getFullPath)(this.opts.uriResolver,Y),$=(0,x1.getFullPath)(this.opts.uriResolver,Q.baseId,void 0);if(Object.keys(Q.schema).length>0&&W===$)return GJ.call(this,Y,Q);let J=(0,x1.normalizeId)(W),G=this.refs[J]||this.schemas[J];if(typeof G=="string"){let H=aX.call(this,Q,G);if(typeof(H===null||H===void 0?void 0:H.schema)!=="object")return;return GJ.call(this,Y,H)}if(typeof(G===null||G===void 0?void 0:G.schema)!=="object")return;if(!G.validate)HJ.call(this,G);if(J===(0,x1.normalizeId)(X)){let{schema:H}=G,{schemaId:B}=this.opts,z=H[B];if(z)$=(0,x1.resolveUrl)(this.opts.uriResolver,$,z);return new _8({schema:H,schemaId:B,root:Q,baseId:$})}return GJ.call(this,Y,G)}ID.resolveSchema=aX;var Yv=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function GJ(Q,{baseId:X,schema:Y,root:W}){var $;if((($=Q.fragment)===null||$===void 0?void 0:$[0])!=="/")return;for(let H of Q.fragment.slice(1).split("/")){if(typeof Y==="boolean")return;let B=Y[(0,ED.unescapeFragment)(H)];if(B===void 0)return;Y=B;let z=typeof Y==="object"&&Y[this.opts.schemaId];if(!Yv.has(H)&&z)X=(0,x1.resolveUrl)(this.opts.uriResolver,X,z)}let J;if(typeof Y!="boolean"&&Y.$ref&&!(0,ED.schemaHasRulesButRef)(Y,this.RULES)){let H=(0,x1.resolveUrl)(this.opts.uriResolver,X,Y.$ref);J=aX.call(this,W,H)}let{schemaId:G}=this.opts;if(J=J||new _8({schema:Y,schemaId:G,root:W,baseId:X}),J.schema!==J.root.schema)return J;return}});var TD=N((kd,Hv)=>{Hv.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 _D=N((vD)=>{Object.defineProperty(vD,"__esModule",{value:!0});var kD=D$();kD.code='require("ajv/dist/runtime/uri").default';vD.default=kD});var mD=N((K6)=>{Object.defineProperty(K6,"__esModule",{value:!0});K6.CodeGen=K6.Name=K6.nil=K6.stringify=K6.str=K6._=K6.KeywordCxt=void 0;var zv=k8();Object.defineProperty(K6,"KeywordCxt",{enumerable:!0,get:function(){return zv.KeywordCxt}});var $4=n();Object.defineProperty(K6,"_",{enumerable:!0,get:function(){return $4._}});Object.defineProperty(K6,"str",{enumerable:!0,get:function(){return $4.str}});Object.defineProperty(K6,"stringify",{enumerable:!0,get:function(){return $4.stringify}});Object.defineProperty(K6,"nil",{enumerable:!0,get:function(){return $4.nil}});Object.defineProperty(K6,"Name",{enumerable:!0,get:function(){return $4.Name}});Object.defineProperty(K6,"CodeGen",{enumerable:!0,get:function(){return $4.CodeGen}});var Kv=tX(),hD=v8(),Vv=i$(),x8=sX(),Av=n(),y8=I8(),eX=S8(),zJ=$0(),xD=TD(),Fv=_D(),uD=(Q,X)=>new RegExp(Q,X);uD.code="new RegExp";var Dv=["removeAdditional","useDefaults","coerceTypes"],Lv=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),Ov={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."},jv={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},yD=200;function Uv(Q){var X,Y,W,$,J,G,H,B,z,K,V,A,F,L,D,O,j,q,M,S,Z,V0,P0,g1,h6;let j1=Q.strict,u6=(X=Q.code)===null||X===void 0?void 0:X.optimize,j4=u6===!0||u6===void 0?1:u6||0,U4=(W=(Y=Q.code)===null||Y===void 0?void 0:Y.regExp)!==null&&W!==void 0?W:uD,hY=($=Q.uriResolver)!==null&&$!==void 0?$:Fv.default;return{strictSchema:(G=(J=Q.strictSchema)!==null&&J!==void 0?J:j1)!==null&&G!==void 0?G:!0,strictNumbers:(B=(H=Q.strictNumbers)!==null&&H!==void 0?H:j1)!==null&&B!==void 0?B:!0,strictTypes:(K=(z=Q.strictTypes)!==null&&z!==void 0?z:j1)!==null&&K!==void 0?K:"log",strictTuples:(A=(V=Q.strictTuples)!==null&&V!==void 0?V:j1)!==null&&A!==void 0?A:"log",strictRequired:(L=(F=Q.strictRequired)!==null&&F!==void 0?F:j1)!==null&&L!==void 0?L:!1,code:Q.code?{...Q.code,optimize:j4,regExp:U4}:{optimize:j4,regExp:U4},loopRequired:(D=Q.loopRequired)!==null&&D!==void 0?D:yD,loopEnum:(O=Q.loopEnum)!==null&&O!==void 0?O:yD,meta:(j=Q.meta)!==null&&j!==void 0?j:!0,messages:(q=Q.messages)!==null&&q!==void 0?q:!0,inlineRefs:(M=Q.inlineRefs)!==null&&M!==void 0?M:!0,schemaId:(S=Q.schemaId)!==null&&S!==void 0?S:"$id",addUsedSchema:(Z=Q.addUsedSchema)!==null&&Z!==void 0?Z:!0,validateSchema:(V0=Q.validateSchema)!==null&&V0!==void 0?V0:!0,validateFormats:(P0=Q.validateFormats)!==null&&P0!==void 0?P0:!0,unicodeRegExp:(g1=Q.unicodeRegExp)!==null&&g1!==void 0?g1:!0,int32range:(h6=Q.int32range)!==null&&h6!==void 0?h6:!0,uriResolver:hY}}class QY{constructor(Q={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,Q=this.opts={...Q,...Uv(Q)};let{es5:X,lines:Y}=this.opts.code;this.scope=new Av.ValueScope({scope:{},prefixes:Lv,es5:X,lines:Y}),this.logger=Pv(Q.logger);let W=Q.validateFormats;if(Q.validateFormats=!1,this.RULES=(0,Vv.getRules)(),fD.call(this,Ov,Q,"NOT SUPPORTED"),fD.call(this,jv,Q,"DEPRECATED","warn"),this._metaOpts=Mv.call(this),Q.formats)Nv.call(this);if(this._addVocabularies(),this._addDefaultMetaSchema(),Q.keywords)qv.call(this,Q.keywords);if(typeof Q.meta=="object")this.addMetaSchema(Q.meta);wv.call(this),Q.validateFormats=W}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:Q,meta:X,schemaId:Y}=this.opts,W=xD;if(Y==="id")W={...xD},W.id=W.$id,delete W.$id;if(X&&Q)this.addMetaSchema(W,W[Y],!1)}defaultMeta(){let{meta:Q,schemaId:X}=this.opts;return this.opts.defaultMeta=typeof Q=="object"?Q[X]||Q:void 0}validate(Q,X){let Y;if(typeof Q=="string"){if(Y=this.getSchema(Q),!Y)throw Error(`no schema with key or ref "${Q}"`)}else Y=this.compile(Q);let W=Y(X);if(!("$async"in Y))this.errors=Y.errors;return W}compile(Q,X){let Y=this._addSchema(Q,X);return Y.validate||this._compileSchemaEnv(Y)}compileAsync(Q,X){if(typeof this.opts.loadSchema!="function")throw Error("options.loadSchema should be a function");let{loadSchema:Y}=this.opts;return W.call(this,Q,X);async function W(z,K){await $.call(this,z.$schema);let V=this._addSchema(z,K);return V.validate||J.call(this,V)}async function $(z){if(z&&!this.getSchema(z))await W.call(this,{$ref:z},!0)}async function J(z){try{return this._compileSchemaEnv(z)}catch(K){if(!(K instanceof hD.default))throw K;return G.call(this,K),await H.call(this,K.missingSchema),J.call(this,z)}}function G({missingSchema:z,missingRef:K}){if(this.refs[z])throw Error(`AnySchema ${z} is loaded but ${K} cannot be resolved`)}async function H(z){let K=await B.call(this,z);if(!this.refs[z])await $.call(this,K.$schema);if(!this.refs[z])this.addSchema(K,z,X)}async function B(z){let K=this._loading[z];if(K)return K;try{return await(this._loading[z]=Y(z))}finally{delete this._loading[z]}}}addSchema(Q,X,Y,W=this.opts.validateSchema){if(Array.isArray(Q)){for(let J of Q)this.addSchema(J,void 0,Y,W);return this}let $;if(typeof Q==="object"){let{schemaId:J}=this.opts;if($=Q[J],$!==void 0&&typeof $!="string")throw Error(`schema ${J} must be string`)}return X=(0,y8.normalizeId)(X||$),this._checkUnique(X),this.schemas[X]=this._addSchema(Q,Y,X,W,!0),this}addMetaSchema(Q,X,Y=this.opts.validateSchema){return this.addSchema(Q,X,!0,Y),this}validateSchema(Q,X){if(typeof Q=="boolean")return!0;let Y;if(Y=Q.$schema,Y!==void 0&&typeof Y!="string")throw Error("$schema must be a string");if(Y=Y||this.opts.defaultMeta||this.defaultMeta(),!Y)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let W=this.validate(Y,Q);if(!W&&X){let $="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error($);else throw Error($)}return W}getSchema(Q){let X;while(typeof(X=gD.call(this,Q))=="string")Q=X;if(X===void 0){let{schemaId:Y}=this.opts,W=new x8.SchemaEnv({schema:{},schemaId:Y});if(X=x8.resolveSchema.call(this,W,Q),!X)return;this.refs[Q]=X}return X.validate||this._compileSchemaEnv(X)}removeSchema(Q){if(Q instanceof RegExp)return this._removeAllSchemas(this.schemas,Q),this._removeAllSchemas(this.refs,Q),this;switch(typeof Q){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let X=gD.call(this,Q);if(typeof X=="object")this._cache.delete(X.schema);return delete this.schemas[Q],delete this.refs[Q],this}case"object":{let X=Q;this._cache.delete(X);let Y=Q[this.opts.schemaId];if(Y)Y=(0,y8.normalizeId)(Y),delete this.schemas[Y],delete this.refs[Y];return this}default:throw Error("ajv.removeSchema: invalid parameter")}}addVocabulary(Q){for(let X of Q)this.addKeyword(X);return this}addKeyword(Q,X){let Y;if(typeof Q=="string"){if(Y=Q,typeof X=="object")this.logger.warn("these parameters are deprecated, see docs for addKeyword"),X.keyword=Y}else if(typeof Q=="object"&&X===void 0){if(X=Q,Y=X.keyword,Array.isArray(Y)&&!Y.length)throw Error("addKeywords: keyword must be string or non-empty array")}else throw Error("invalid addKeywords parameters");if(Rv.call(this,Y,X),!X)return(0,zJ.eachItem)(Y,($)=>BJ.call(this,$)),this;Sv.call(this,X);let W={...X,type:(0,eX.getJSONTypes)(X.type),schemaType:(0,eX.getJSONTypes)(X.schemaType)};return(0,zJ.eachItem)(Y,W.type.length===0?($)=>BJ.call(this,$,W):($)=>W.type.forEach((J)=>BJ.call(this,$,W,J))),this}getKeyword(Q){let X=this.RULES.all[Q];return typeof X=="object"?X.definition:!!X}removeKeyword(Q){let{RULES:X}=this;delete X.keywords[Q],delete X.all[Q];for(let Y of X.rules){let W=Y.rules.findIndex(($)=>$.keyword===Q);if(W>=0)Y.rules.splice(W,1)}return this}addFormat(Q,X){if(typeof X=="string")X=new RegExp(X);return this.formats[Q]=X,this}errorsText(Q=this.errors,{separator:X=", ",dataVar:Y="data"}={}){if(!Q||Q.length===0)return"No errors";return Q.map((W)=>`${Y}${W.instancePath} ${W.message}`).reduce((W,$)=>W+X+$)}$dataMetaSchema(Q,X){let Y=this.RULES.all;Q=JSON.parse(JSON.stringify(Q));for(let W of X){let $=W.split("/").slice(1),J=Q;for(let G of $)J=J[G];for(let G in Y){let H=Y[G];if(typeof H!="object")continue;let{$data:B}=H.definition,z=J[G];if(B&&z)J[G]=lD(z)}}return Q}_removeAllSchemas(Q,X){for(let Y in Q){let W=Q[Y];if(!X||X.test(Y)){if(typeof W=="string")delete Q[Y];else if(W&&!W.meta)this._cache.delete(W.schema),delete Q[Y]}}}_addSchema(Q,X,Y,W=this.opts.validateSchema,$=this.opts.addUsedSchema){let J,{schemaId:G}=this.opts;if(typeof Q=="object")J=Q[G];else if(this.opts.jtd)throw Error("schema must be object");else if(typeof Q!="boolean")throw Error("schema must be object or boolean");let H=this._cache.get(Q);if(H!==void 0)return H;Y=(0,y8.normalizeId)(J||Y);let B=y8.getSchemaRefs.call(this,Q,Y);if(H=new x8.SchemaEnv({schema:Q,schemaId:G,meta:X,baseId:Y,localRefs:B}),this._cache.set(H.schema,H),$&&!Y.startsWith("#")){if(Y)this._checkUnique(Y);this.refs[Y]=H}if(W)this.validateSchema(Q,!0);return H}_checkUnique(Q){if(this.schemas[Q]||this.refs[Q])throw Error(`schema with key or id "${Q}" already exists`)}_compileSchemaEnv(Q){if(Q.meta)this._compileMetaSchema(Q);else x8.compileSchema.call(this,Q);if(!Q.validate)throw Error("ajv implementation error");return Q.validate}_compileMetaSchema(Q){let X=this.opts;this.opts=this._metaOpts;try{x8.compileSchema.call(this,Q)}finally{this.opts=X}}}QY.ValidationError=Kv.default;QY.MissingRefError=hD.default;K6.default=QY;function fD(Q,X,Y,W="error"){for(let $ in Q){let J=$;if(J in X)this.logger[W](`${Y}: option ${$}. ${Q[J]}`)}}function gD(Q){return Q=(0,y8.normalizeId)(Q),this.schemas[Q]||this.refs[Q]}function wv(){let Q=this.opts.schemas;if(!Q)return;if(Array.isArray(Q))this.addSchema(Q);else for(let X in Q)this.addSchema(Q[X],X)}function Nv(){for(let Q in this.opts.formats){let X=this.opts.formats[Q];if(X)this.addFormat(Q,X)}}function qv(Q){if(Array.isArray(Q)){this.addVocabulary(Q);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let X in Q){let Y=Q[X];if(!Y.keyword)Y.keyword=X;this.addKeyword(Y)}}function Mv(){let Q={...this.opts};for(let X of Dv)delete Q[X];return Q}var bv={log(){},warn(){},error(){}};function Pv(Q){if(Q===!1)return bv;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 Zv=/^[a-z_$][a-z0-9_$:-]*$/i;function Rv(Q,X){let{RULES:Y}=this;if((0,zJ.eachItem)(Q,(W)=>{if(Y.keywords[W])throw Error(`Keyword ${W} is already defined`);if(!Zv.test(W))throw Error(`Keyword ${W} has invalid name`)}),!X)return;if(X.$data&&!(("code"in X)||("validate"in X)))throw Error('$data keyword must have "code" or "validate" function')}function BJ(Q,X,Y){var W;let $=X===null||X===void 0?void 0:X.post;if(Y&&$)throw Error('keyword with "post" flag cannot have "type"');let{RULES:J}=this,G=$?J.post:J.rules.find(({type:B})=>B===Y);if(!G)G={type:Y,rules:[]},J.rules.push(G);if(J.keywords[Q]=!0,!X)return;let H={keyword:Q,definition:{...X,type:(0,eX.getJSONTypes)(X.type),schemaType:(0,eX.getJSONTypes)(X.schemaType)}};if(X.before)Ev.call(this,G,H,X.before);else G.rules.push(H);J.all[Q]=H,(W=X.implements)===null||W===void 0||W.forEach((B)=>this.addKeyword(B))}function Ev(Q,X,Y){let W=Q.rules.findIndex(($)=>$.keyword===Y);if(W>=0)Q.rules.splice(W,0,X);else Q.rules.push(X),this.logger.warn(`rule ${Y} is not defined`)}function Sv(Q){let{metaSchema:X}=Q;if(X===void 0)return;if(Q.$data&&this.opts.$data)X=lD(X);Q.validateSchema=this.compile(X,!0)}var Iv={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function lD(Q){return{anyOf:[Q,Iv]}}});var pD=N((cD)=>{Object.defineProperty(cD,"__esModule",{value:!0});var kv={keyword:"id",code(){throw Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};cD.default=kv});var tD=N((oD)=>{Object.defineProperty(oD,"__esModule",{value:!0});oD.callRef=oD.getValidate=void 0;var _v=v8(),dD=L1(),H1=n(),J4=B6(),iD=sX(),XY=$0(),xv={keyword:"$ref",schemaType:"string",code(Q){let{gen:X,schema:Y,it:W}=Q,{baseId:$,schemaEnv:J,validateName:G,opts:H,self:B}=W,{root:z}=J;if((Y==="#"||Y==="#/")&&$===z.baseId)return V();let K=iD.resolveRef.call(B,z,$,Y);if(K===void 0)throw new _v.default(W.opts.uriResolver,$,Y);if(K instanceof iD.SchemaEnv)return A(K);return F(K);function V(){if(J===z)return YY(Q,G,J,J.$async);let L=X.scopeValue("root",{ref:z});return YY(Q,H1._`${L}.validate`,z,z.$async)}function A(L){let D=nD(Q,L);YY(Q,D,L,L.$async)}function F(L){let D=X.scopeValue("schema",H.code.source===!0?{ref:L,code:(0,H1.stringify)(L)}:{ref:L}),O=X.name("valid"),j=Q.subschema({schema:L,dataTypes:[],schemaPath:H1.nil,topSchemaRef:D,errSchemaPath:Y},O);Q.mergeEvaluated(j),Q.ok(O)}}};function nD(Q,X){let{gen:Y}=Q;return X.validate?Y.scopeValue("validate",{ref:X.validate}):H1._`${Y.scopeValue("wrapper",{ref:X})}.validate`}oD.getValidate=nD;function YY(Q,X,Y,W){let{gen:$,it:J}=Q,{allErrors:G,schemaEnv:H,opts:B}=J,z=B.passContext?J4.default.this:H1.nil;if(W)K();else V();function K(){if(!H.$async)throw Error("async schema referenced by sync schema");let L=$.let("valid");$.try(()=>{if($.code(H1._`await ${(0,dD.callValidateCode)(Q,X,z)}`),F(X),!G)$.assign(L,!0)},(D)=>{if($.if(H1._`!(${D} instanceof ${J.ValidationError})`,()=>$.throw(D)),A(D),!G)$.assign(L,!1)}),Q.ok(L)}function V(){Q.result((0,dD.callValidateCode)(Q,X,z),()=>F(X),()=>A(X))}function A(L){let D=H1._`${L}.errors`;$.assign(J4.default.vErrors,H1._`${J4.default.vErrors} === null ? ${D} : ${J4.default.vErrors}.concat(${D})`),$.assign(J4.default.errors,H1._`${J4.default.vErrors}.length`)}function F(L){var D;if(!J.opts.unevaluated)return;let O=(D=Y===null||Y===void 0?void 0:Y.validate)===null||D===void 0?void 0:D.evaluated;if(J.props!==!0)if(O&&!O.dynamicProps){if(O.props!==void 0)J.props=XY.mergeEvaluated.props($,O.props,J.props)}else{let j=$.var("props",H1._`${L}.evaluated.props`);J.props=XY.mergeEvaluated.props($,j,J.props,H1.Name)}if(J.items!==!0)if(O&&!O.dynamicItems){if(O.items!==void 0)J.items=XY.mergeEvaluated.items($,O.items,J.items)}else{let j=$.var("items",H1._`${L}.evaluated.items`);J.items=XY.mergeEvaluated.items($,j,J.items,H1.Name)}}}oD.callRef=YY;oD.default=xv});var sD=N((aD)=>{Object.defineProperty(aD,"__esModule",{value:!0});var gv=pD(),hv=tD(),uv=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",gv.default,hv.default];aD.default=uv});var QL=N((eD)=>{Object.defineProperty(eD,"__esModule",{value:!0});var WY=n(),_6=WY.operators,$Y={maximum:{okStr:"<=",ok:_6.LTE,fail:_6.GT},minimum:{okStr:">=",ok:_6.GTE,fail:_6.LT},exclusiveMaximum:{okStr:"<",ok:_6.LT,fail:_6.GTE},exclusiveMinimum:{okStr:">",ok:_6.GT,fail:_6.LTE}},mv={message:({keyword:Q,schemaCode:X})=>WY.str`must be ${$Y[Q].okStr} ${X}`,params:({keyword:Q,schemaCode:X})=>WY._`{comparison: ${$Y[Q].okStr}, limit: ${X}}`},cv={keyword:Object.keys($Y),type:"number",schemaType:"number",$data:!0,error:mv,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q;Q.fail$data(WY._`${Y} ${$Y[X].fail} ${W} || isNaN(${Y})`)}};eD.default=cv});var YL=N((XL)=>{Object.defineProperty(XL,"__esModule",{value:!0});var f8=n(),dv={message:({schemaCode:Q})=>f8.str`must be multiple of ${Q}`,params:({schemaCode:Q})=>f8._`{multipleOf: ${Q}}`},iv={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:dv,code(Q){let{gen:X,data:Y,schemaCode:W,it:$}=Q,J=$.opts.multipleOfPrecision,G=X.let("res"),H=J?f8._`Math.abs(Math.round(${G}) - ${G}) > 1e-${J}`:f8._`${G} !== parseInt(${G})`;Q.fail$data(f8._`(${W} === 0 || (${G} = ${Y}/${W}, ${H}))`)}};XL.default=iv});var JL=N(($L)=>{Object.defineProperty($L,"__esModule",{value:!0});function WL(Q){let X=Q.length,Y=0,W=0,$;while(W<X)if(Y++,$=Q.charCodeAt(W++),$>=55296&&$<=56319&&W<X){if($=Q.charCodeAt(W),($&64512)===56320)W++}return Y}$L.default=WL;WL.code='require("ajv/dist/runtime/ucs2length").default'});var HL=N((GL)=>{Object.defineProperty(GL,"__esModule",{value:!0});var K9=n(),rv=$0(),tv=JL(),av={message({keyword:Q,schemaCode:X}){let Y=Q==="maxLength"?"more":"fewer";return K9.str`must NOT have ${Y} than ${X} characters`},params:({schemaCode:Q})=>K9._`{limit: ${Q}}`},sv={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:av,code(Q){let{keyword:X,data:Y,schemaCode:W,it:$}=Q,J=X==="maxLength"?K9.operators.GT:K9.operators.LT,G=$.opts.unicode===!1?K9._`${Y}.length`:K9._`${(0,rv.useFunc)(Q.gen,tv.default)}(${Y})`;Q.fail$data(K9._`${G} ${J} ${W}`)}};GL.default=sv});var zL=N((BL)=>{Object.defineProperty(BL,"__esModule",{value:!0});var Q_=L1(),JY=n(),X_={message:({schemaCode:Q})=>JY.str`must match pattern "${Q}"`,params:({schemaCode:Q})=>JY._`{pattern: ${Q}}`},Y_={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:X_,code(Q){let{data:X,$data:Y,schema:W,schemaCode:$,it:J}=Q,G=J.opts.unicodeRegExp?"u":"",H=Y?JY._`(new RegExp(${$}, ${G}))`:(0,Q_.usePattern)(Q,W);Q.fail$data(JY._`!${H}.test(${X})`)}};BL.default=Y_});var VL=N((KL)=>{Object.defineProperty(KL,"__esModule",{value:!0});var g8=n(),$_={message({keyword:Q,schemaCode:X}){let Y=Q==="maxProperties"?"more":"fewer";return g8.str`must NOT have ${Y} than ${X} properties`},params:({schemaCode:Q})=>g8._`{limit: ${Q}}`},J_={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:$_,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q,$=X==="maxProperties"?g8.operators.GT:g8.operators.LT;Q.fail$data(g8._`Object.keys(${Y}).length ${$} ${W}`)}};KL.default=J_});var FL=N((AL)=>{Object.defineProperty(AL,"__esModule",{value:!0});var h8=L1(),u8=n(),H_=$0(),B_={message:({params:{missingProperty:Q}})=>u8.str`must have required property '${Q}'`,params:({params:{missingProperty:Q}})=>u8._`{missingProperty: ${Q}}`},z_={keyword:"required",type:"object",schemaType:"array",$data:!0,error:B_,code(Q){let{gen:X,schema:Y,schemaCode:W,data:$,$data:J,it:G}=Q,{opts:H}=G;if(!J&&Y.length===0)return;let B=Y.length>=H.loopRequired;if(G.allErrors)z();else K();if(H.strictRequired){let F=Q.parentSchema.properties,{definedProperties:L}=Q.it;for(let D of Y)if((F===null||F===void 0?void 0:F[D])===void 0&&!L.has(D)){let O=G.schemaEnv.baseId+G.errSchemaPath,j=`required property "${D}" is not defined at "${O}" (strictRequired)`;(0,H_.checkStrictMode)(G,j,G.opts.strictRequired)}}function z(){if(B||J)Q.block$data(u8.nil,V);else for(let F of Y)(0,h8.checkReportMissingProp)(Q,F)}function K(){let F=X.let("missing");if(B||J){let L=X.let("valid",!0);Q.block$data(L,()=>A(F,L)),Q.ok(L)}else X.if((0,h8.checkMissingProp)(Q,Y,F)),(0,h8.reportMissingProp)(Q,F),X.else()}function V(){X.forOf("prop",W,(F)=>{Q.setParams({missingProperty:F}),X.if((0,h8.noPropertyInData)(X,$,F,H.ownProperties),()=>Q.error())})}function A(F,L){Q.setParams({missingProperty:F}),X.forOf(F,W,()=>{X.assign(L,(0,h8.propertyInData)(X,$,F,H.ownProperties)),X.if((0,u8.not)(L),()=>{Q.error(),X.break()})},u8.nil)}}};AL.default=z_});var LL=N((DL)=>{Object.defineProperty(DL,"__esModule",{value:!0});var l8=n(),V_={message({keyword:Q,schemaCode:X}){let Y=Q==="maxItems"?"more":"fewer";return l8.str`must NOT have ${Y} than ${X} items`},params:({schemaCode:Q})=>l8._`{limit: ${Q}}`},A_={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:V_,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q,$=X==="maxItems"?l8.operators.GT:l8.operators.LT;Q.fail$data(l8._`${Y}.length ${$} ${W}`)}};DL.default=A_});var GY=N((jL)=>{Object.defineProperty(jL,"__esModule",{value:!0});var OL=G8();OL.code='require("ajv/dist/runtime/equal").default';jL.default=OL});var wL=N((UL)=>{Object.defineProperty(UL,"__esModule",{value:!0});var KJ=S8(),g0=n(),L_=$0(),O_=GY(),j_={message:({params:{i:Q,j:X}})=>g0.str`must NOT have duplicate items (items ## ${X} and ${Q} are identical)`,params:({params:{i:Q,j:X}})=>g0._`{i: ${Q}, j: ${X}}`},U_={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:j_,code(Q){let{gen:X,data:Y,$data:W,schema:$,parentSchema:J,schemaCode:G,it:H}=Q;if(!W&&!$)return;let B=X.let("valid"),z=J.items?(0,KJ.getSchemaTypes)(J.items):[];Q.block$data(B,K,g0._`${G} === false`),Q.ok(B);function K(){let L=X.let("i",g0._`${Y}.length`),D=X.let("j");Q.setParams({i:L,j:D}),X.assign(B,!0),X.if(g0._`${L} > 1`,()=>(V()?A:F)(L,D))}function V(){return z.length>0&&!z.some((L)=>L==="object"||L==="array")}function A(L,D){let O=X.name("item"),j=(0,KJ.checkDataTypes)(z,O,H.opts.strictNumbers,KJ.DataType.Wrong),q=X.const("indices",g0._`{}`);X.for(g0._`;${L}--;`,()=>{if(X.let(O,g0._`${Y}[${L}]`),X.if(j,g0._`continue`),z.length>1)X.if(g0._`typeof ${O} == "string"`,g0._`${O} += "_"`);X.if(g0._`typeof ${q}[${O}] == "number"`,()=>{X.assign(D,g0._`${q}[${O}]`),Q.error(),X.assign(B,!1).break()}).code(g0._`${q}[${O}] = ${L}`)})}function F(L,D){let O=(0,L_.useFunc)(X,O_.default),j=X.name("outer");X.label(j).for(g0._`;${L}--;`,()=>X.for(g0._`${D} = ${L}; ${D}--;`,()=>X.if(g0._`${O}(${Y}[${L}], ${Y}[${D}])`,()=>{Q.error(),X.assign(B,!1).break(j)})))}}};UL.default=U_});var qL=N((NL)=>{Object.defineProperty(NL,"__esModule",{value:!0});var VJ=n(),N_=$0(),q_=GY(),M_={message:"must be equal to constant",params:({schemaCode:Q})=>VJ._`{allowedValue: ${Q}}`},b_={keyword:"const",$data:!0,error:M_,code(Q){let{gen:X,data:Y,$data:W,schemaCode:$,schema:J}=Q;if(W||J&&typeof J=="object")Q.fail$data(VJ._`!${(0,N_.useFunc)(X,q_.default)}(${Y}, ${$})`);else Q.fail(VJ._`${J} !== ${Y}`)}};NL.default=b_});var bL=N((ML)=>{Object.defineProperty(ML,"__esModule",{value:!0});var m8=n(),Z_=$0(),R_=GY(),E_={message:"must be equal to one of the allowed values",params:({schemaCode:Q})=>m8._`{allowedValues: ${Q}}`},S_={keyword:"enum",schemaType:"array",$data:!0,error:E_,code(Q){let{gen:X,data:Y,$data:W,schema:$,schemaCode:J,it:G}=Q;if(!W&&$.length===0)throw Error("enum must have non-empty array");let H=$.length>=G.opts.loopEnum,B,z=()=>B!==null&&B!==void 0?B:B=(0,Z_.useFunc)(X,R_.default),K;if(H||W)K=X.let("valid"),Q.block$data(K,V);else{if(!Array.isArray($))throw Error("ajv implementation error");let F=X.const("vSchema",J);K=(0,m8.or)(...$.map((L,D)=>A(F,D)))}Q.pass(K);function V(){X.assign(K,!1),X.forOf("v",J,(F)=>X.if(m8._`${z()}(${Y}, ${F})`,()=>X.assign(K,!0).break()))}function A(F,L){let D=$[L];return typeof D==="object"&&D!==null?m8._`${z()}(${Y}, ${F}[${L}])`:m8._`${Y} === ${D}`}}};ML.default=S_});var ZL=N((PL)=>{Object.defineProperty(PL,"__esModule",{value:!0});var C_=QL(),T_=YL(),k_=HL(),v_=zL(),__=VL(),x_=FL(),y_=LL(),f_=wL(),g_=qL(),h_=bL(),u_=[C_.default,T_.default,k_.default,v_.default,__.default,x_.default,y_.default,f_.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},g_.default,h_.default];PL.default=u_});var FJ=N((EL)=>{Object.defineProperty(EL,"__esModule",{value:!0});EL.validateAdditionalItems=void 0;var V9=n(),AJ=$0(),m_={message:({params:{len:Q}})=>V9.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>V9._`{limit: ${Q}}`},c_={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:m_,code(Q){let{parentSchema:X,it:Y}=Q,{items:W}=X;if(!Array.isArray(W)){(0,AJ.checkStrictMode)(Y,'"additionalItems" is ignored when "items" is not an array of schemas');return}RL(Q,W)}};function RL(Q,X){let{gen:Y,schema:W,data:$,keyword:J,it:G}=Q;G.items=!0;let H=Y.const("len",V9._`${$}.length`);if(W===!1)Q.setParams({len:X.length}),Q.pass(V9._`${H} <= ${X.length}`);else if(typeof W=="object"&&!(0,AJ.alwaysValidSchema)(G,W)){let z=Y.var("valid",V9._`${H} <= ${X.length}`);Y.if((0,V9.not)(z),()=>B(z)),Q.ok(z)}function B(z){Y.forRange("i",X.length,H,(K)=>{if(Q.subschema({keyword:J,dataProp:K,dataPropType:AJ.Type.Num},z),!G.allErrors)Y.if((0,V9.not)(z),()=>Y.break())})}}EL.validateAdditionalItems=RL;EL.default=c_});var DJ=N((TL)=>{Object.defineProperty(TL,"__esModule",{value:!0});TL.validateTuple=void 0;var IL=n(),HY=$0(),d_=L1(),i_={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(Q){let{schema:X,it:Y}=Q;if(Array.isArray(X))return CL(Q,"additionalItems",X);if(Y.items=!0,(0,HY.alwaysValidSchema)(Y,X))return;Q.ok((0,d_.validateArray)(Q))}};function CL(Q,X,Y=Q.schema){let{gen:W,parentSchema:$,data:J,keyword:G,it:H}=Q;if(K($),H.opts.unevaluated&&Y.length&&H.items!==!0)H.items=HY.mergeEvaluated.items(W,Y.length,H.items);let B=W.name("valid"),z=W.const("len",IL._`${J}.length`);Y.forEach((V,A)=>{if((0,HY.alwaysValidSchema)(H,V))return;W.if(IL._`${z} > ${A}`,()=>Q.subschema({keyword:G,schemaProp:A,dataProp:A},B)),Q.ok(B)});function K(V){let{opts:A,errSchemaPath:F}=H,L=Y.length,D=L===V.minItems&&(L===V.maxItems||V[X]===!1);if(A.strictTuples&&!D){let O=`"${G}" is ${L}-tuple, but minItems or maxItems/${X} are not specified or different at path "${F}"`;(0,HY.checkStrictMode)(H,O,A.strictTuples)}}}TL.validateTuple=CL;TL.default=i_});var _L=N((vL)=>{Object.defineProperty(vL,"__esModule",{value:!0});var o_=DJ(),r_={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:(Q)=>(0,o_.validateTuple)(Q,"items")};vL.default=r_});var fL=N((yL)=>{Object.defineProperty(yL,"__esModule",{value:!0});var xL=n(),a_=$0(),s_=L1(),e_=FJ(),Qx={message:({params:{len:Q}})=>xL.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>xL._`{limit: ${Q}}`},Xx={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:Qx,code(Q){let{schema:X,parentSchema:Y,it:W}=Q,{prefixItems:$}=Y;if(W.items=!0,(0,a_.alwaysValidSchema)(W,X))return;if($)(0,e_.validateAdditionalItems)(Q,$);else Q.ok((0,s_.validateArray)(Q))}};yL.default=Xx});var hL=N((gL)=>{Object.defineProperty(gL,"__esModule",{value:!0});var O1=n(),BY=$0(),Wx={message:({params:{min:Q,max:X}})=>X===void 0?O1.str`must contain at least ${Q} valid item(s)`:O1.str`must contain at least ${Q} and no more than ${X} valid item(s)`,params:({params:{min:Q,max:X}})=>X===void 0?O1._`{minContains: ${Q}}`:O1._`{minContains: ${Q}, maxContains: ${X}}`},$x={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:Wx,code(Q){let{gen:X,schema:Y,parentSchema:W,data:$,it:J}=Q,G,H,{minContains:B,maxContains:z}=W;if(J.opts.next)G=B===void 0?1:B,H=z;else G=1;let K=X.const("len",O1._`${$}.length`);if(Q.setParams({min:G,max:H}),H===void 0&&G===0){(0,BY.checkStrictMode)(J,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(H!==void 0&&G>H){(0,BY.checkStrictMode)(J,'"minContains" > "maxContains" is always invalid'),Q.fail();return}if((0,BY.alwaysValidSchema)(J,Y)){let D=O1._`${K} >= ${G}`;if(H!==void 0)D=O1._`${D} && ${K} <= ${H}`;Q.pass(D);return}J.items=!0;let V=X.name("valid");if(H===void 0&&G===1)F(V,()=>X.if(V,()=>X.break()));else if(G===0){if(X.let(V,!0),H!==void 0)X.if(O1._`${$}.length > 0`,A)}else X.let(V,!1),A();Q.result(V,()=>Q.reset());function A(){let D=X.name("_valid"),O=X.let("count",0);F(D,()=>X.if(D,()=>L(O)))}function F(D,O){X.forRange("i",0,K,(j)=>{Q.subschema({keyword:"contains",dataProp:j,dataPropType:BY.Type.Num,compositeRule:!0},D),O()})}function L(D){if(X.code(O1._`${D}++`),H===void 0)X.if(O1._`${D} >= ${G}`,()=>X.assign(V,!0).break());else if(X.if(O1._`${D} > ${H}`,()=>X.assign(V,!1).break()),G===1)X.assign(V,!0);else X.if(O1._`${D} >= ${G}`,()=>X.assign(V,!0))}}};gL.default=$x});var dL=N((mL)=>{Object.defineProperty(mL,"__esModule",{value:!0});mL.validateSchemaDeps=mL.validatePropertyDeps=mL.error=void 0;var LJ=n(),Gx=$0(),c8=L1();mL.error={message:({params:{property:Q,depsCount:X,deps:Y}})=>{let W=X===1?"property":"properties";return LJ.str`must have ${W} ${Y} when property ${Q} is present`},params:({params:{property:Q,depsCount:X,deps:Y,missingProperty:W}})=>LJ._`{property: ${Q},
|
|
14
14
|
missingProperty: ${W},
|
|
15
15
|
depsCount: ${X},
|
|
16
|
-
deps: ${Y}}`};var Hx={keyword:"dependencies",type:"object",schemaType:"object",error:mL.error,code(Q){let[X,Y]=Bx(Q);uL(Q,X),lL(Q,Y)}};function Bx({schema:Q}){let X={},Y={};for(let W in Q){if(W==="__proto__")continue;let $=Array.isArray(Q[W])?X:Y;$[W]=Q[W]}return[X,Y]}function uL(Q,X=Q.schema){let{gen:Y,data:W,it:$}=Q;if(Object.keys(X).length===0)return;let J=Y.let("missing");for(let G in X){let H=X[G];if(H.length===0)continue;let B=(0,c8.propertyInData)(Y,W,G,$.opts.ownProperties);if(Q.setParams({property:G,depsCount:H.length,deps:H.join(", ")}),$.allErrors)Y.if(B,()=>{for(let z of H)(0,c8.checkReportMissingProp)(Q,z)});else Y.if(LJ._`${B} && (${(0,c8.checkMissingProp)(Q,H,J)})`),(0,c8.reportMissingProp)(Q,J),Y.else()}}mL.validatePropertyDeps=uL;function lL(Q,X=Q.schema){let{gen:Y,data:W,keyword:$,it:J}=Q,G=Y.name("valid");for(let H in X){if((0,Gx.alwaysValidSchema)(J,X[H]))continue;Y.if((0,c8.propertyInData)(Y,W,H,J.opts.ownProperties),()=>{let B=Q.subschema({keyword:$,schemaProp:H},G);Q.mergeValidEvaluated(B,G)},()=>Y.var(G,!0)),Q.ok(G)}}mL.validateSchemaDeps=lL;mL.default=Hx});var oL=N((nL)=>{Object.defineProperty(nL,"__esModule",{value:!0});var iL=n(),Vx=$0(),Ax={message:"property name must be valid",params:({params:Q})=>iL._`{propertyName: ${Q.propertyName}}`},Fx={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Ax,code(Q){let{gen:X,schema:Y,data:W,it:$}=Q;if((0,Vx.alwaysValidSchema)($,Y))return;let J=X.name("valid");X.forIn("key",W,(G)=>{Q.setParams({propertyName:G}),Q.subschema({keyword:"propertyNames",data:G,dataTypes:["string"],propertyName:G,compositeRule:!0},J),X.if((0,iL.not)(J),()=>{if(Q.error(!0),!$.allErrors)X.break()})}),Q.ok(J)}};nL.default=Fx});var OJ=N((rL)=>{Object.defineProperty(rL,"__esModule",{value:!0});var zY=L1(),y1=n(),Lx=B6(),KY=$0(),Ox={message:"must NOT have additional properties",params:({params:Q})=>y1._`{additionalProperty: ${Q.additionalProperty}}`},jx={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:Ox,code(Q){let{gen:X,schema:Y,parentSchema:W,data:$,errsCount:J,it:G}=Q;if(!J)throw Error("ajv implementation error");let{allErrors:H,opts:B}=G;if(G.props=!0,B.removeAdditional!=="all"&&(0,KY.alwaysValidSchema)(G,Y))return;let z=(0,zY.allSchemaProperties)(W.properties),K=(0,zY.allSchemaProperties)(W.patternProperties);V(),Q.ok(y1._`${J} === ${Lx.default.errors}`);function V(){X.forIn("key",$,(O)=>{if(!z.length&&!K.length)L(O);else X.if(A(O),()=>L(O))})}function A(O){let j;if(z.length>8){let q=(0,KY.schemaRefOrVal)(G,W.properties,"properties");j=(0,zY.isOwnProperty)(X,q,O)}else if(z.length)j=(0,y1.or)(...z.map((q)=>y1._`${O} === ${q}`));else j=y1.nil;if(K.length)j=(0,y1.or)(j,...K.map((q)=>y1._`${(0,zY.usePattern)(Q,q)}.test(${O})`));return(0,y1.not)(j)}function F(O){X.code(y1._`delete ${$}[${O}]`)}function L(O){if(B.removeAdditional==="all"||B.removeAdditional&&Y===!1){F(O);return}if(Y===!1){if(Q.setParams({additionalProperty:O}),Q.error(),!H)X.break();return}if(typeof Y=="object"&&!(0,KY.alwaysValidSchema)(G,Y)){let j=X.name("valid");if(B.removeAdditional==="failing")D(O,j,!1),X.if((0,y1.not)(j),()=>{Q.reset(),F(O)});else if(D(O,j),!H)X.if((0,y1.not)(j),()=>X.break())}}function D(O,j,q){let M={keyword:"additionalProperties",dataProp:O,dataPropType:KY.Type.Str};if(q===!1)Object.assign(M,{compositeRule:!0,createErrors:!1,allErrors:!1});Q.subschema(M,j)}}};rL.default=jx});var eL=N((sL)=>{Object.defineProperty(sL,"__esModule",{value:!0});var wx=k8(),tL=L1(),jJ=$0(),aL=OJ(),Nx={keyword:"properties",type:"object",schemaType:"object",code(Q){let{gen:X,schema:Y,parentSchema:W,data:$,it:J}=Q;if(J.opts.removeAdditional==="all"&&W.additionalProperties===void 0)aL.default.code(new wx.KeywordCxt(J,aL.default,"additionalProperties"));let G=(0,tL.allSchemaProperties)(Y);for(let V of G)J.definedProperties.add(V);if(J.opts.unevaluated&&G.length&&J.props!==!0)J.props=jJ.mergeEvaluated.props(X,(0,jJ.toHash)(G),J.props);let H=G.filter((V)=>!(0,jJ.alwaysValidSchema)(J,Y[V]));if(H.length===0)return;let B=X.name("valid");for(let V of H){if(z(V))K(V);else{if(X.if((0,tL.propertyInData)(X,$,V,J.opts.ownProperties)),K(V),!J.allErrors)X.else().var(B,!0);X.endIf()}Q.it.definedProperties.add(V),Q.ok(B)}function z(V){return J.opts.useDefaults&&!J.compositeRule&&Y[V].default!==void 0}function K(V){Q.subschema({keyword:"properties",schemaProp:V,dataProp:V},B)}}};sL.default=Nx});var $O=N((WO)=>{Object.defineProperty(WO,"__esModule",{value:!0});var QO=L1(),VY=n(),XO=$0(),YO=$0(),Mx={keyword:"patternProperties",type:"object",schemaType:"object",code(Q){let{gen:X,schema:Y,data:W,parentSchema:$,it:J}=Q,{opts:G}=J,H=(0,QO.allSchemaProperties)(Y),B=H.filter((D)=>(0,XO.alwaysValidSchema)(J,Y[D]));if(H.length===0||B.length===H.length&&(!J.opts.unevaluated||J.props===!0))return;let z=G.strictSchema&&!G.allowMatchingProperties&&$.properties,K=X.name("valid");if(J.props!==!0&&!(J.props instanceof VY.Name))J.props=(0,YO.evaluatedPropsToName)(X,J.props);let{props:V}=J;A();function A(){for(let D of H){if(z)F(D);if(J.allErrors)L(D);else X.var(K,!0),L(D),X.if(K)}}function F(D){for(let O in z)if(new RegExp(D).test(O))(0,XO.checkStrictMode)(J,`property ${O} matches pattern ${D} (use allowMatchingProperties)`)}function L(D){X.forIn("key",W,(O)=>{X.if(VY._`${(0,QO.usePattern)(Q,D)}.test(${O})`,()=>{let j=B.includes(D);if(!j)Q.subschema({keyword:"patternProperties",schemaProp:D,dataProp:O,dataPropType:YO.Type.Str},K);if(J.opts.unevaluated&&V!==!0)X.assign(VY._`${V}[${O}]`,!0);else if(!j&&!J.allErrors)X.if((0,VY.not)(K),()=>X.break())})})}}};WO.default=Mx});var GO=N((JO)=>{Object.defineProperty(JO,"__esModule",{value:!0});var Px=$0(),Zx={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(Q){let{gen:X,schema:Y,it:W}=Q;if((0,Px.alwaysValidSchema)(W,Y)){Q.fail();return}let $=X.name("valid");Q.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},$),Q.failResult($,()=>Q.reset(),()=>Q.error())},error:{message:"must NOT be valid"}};JO.default=Zx});var BO=N((HO)=>{Object.defineProperty(HO,"__esModule",{value:!0});var Ex=L1(),Sx={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:Ex.validateUnion,error:{message:"must match a schema in anyOf"}};HO.default=Sx});var KO=N((zO)=>{Object.defineProperty(zO,"__esModule",{value:!0});var AY=n(),Cx=$0(),Tx={message:"must match exactly one schema in oneOf",params:({params:Q})=>AY._`{passingSchemas: ${Q.passing}}`},kx={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:Tx,code(Q){let{gen:X,schema:Y,parentSchema:W,it:$}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");if($.opts.discriminator&&W.discriminator)return;let J=Y,G=X.let("valid",!1),H=X.let("passing",null),B=X.name("_valid");Q.setParams({passing:H}),X.block(z),Q.result(G,()=>Q.reset(),()=>Q.error(!0));function z(){J.forEach((K,V)=>{let A;if((0,Cx.alwaysValidSchema)($,K))X.var(B,!0);else A=Q.subschema({keyword:"oneOf",schemaProp:V,compositeRule:!0},B);if(V>0)X.if(AY._`${B} && ${G}`).assign(G,!1).assign(H,AY._`[${H}, ${V}]`).else();X.if(B,()=>{if(X.assign(G,!0),X.assign(H,V),A)Q.mergeEvaluated(A,AY.Name)})})}}};zO.default=kx});var AO=N((VO)=>{Object.defineProperty(VO,"__esModule",{value:!0});var _x=$0(),xx={keyword:"allOf",schemaType:"array",code(Q){let{gen:X,schema:Y,it:W}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");let $=X.name("valid");Y.forEach((J,G)=>{if((0,_x.alwaysValidSchema)(W,J))return;let H=Q.subschema({keyword:"allOf",schemaProp:G},$);Q.ok($),Q.mergeEvaluated(H)})}};VO.default=xx});var OO=N((LO)=>{Object.defineProperty(LO,"__esModule",{value:!0});var FY=n(),DO=$0(),fx={message:({params:Q})=>FY.str`must match "${Q.ifClause}" schema`,params:({params:Q})=>FY._`{failingKeyword: ${Q.ifClause}}`},gx={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:fx,code(Q){let{gen:X,parentSchema:Y,it:W}=Q;if(Y.then===void 0&&Y.else===void 0)(0,DO.checkStrictMode)(W,'"if" without "then" and "else" is ignored');let $=FO(W,"then"),J=FO(W,"else");if(!$&&!J)return;let G=X.let("valid",!0),H=X.name("_valid");if(B(),Q.reset(),$&&J){let K=X.let("ifClause");Q.setParams({ifClause:K}),X.if(H,z("then",K),z("else",K))}else if($)X.if(H,z("then"));else X.if((0,FY.not)(H),z("else"));Q.pass(G,()=>Q.error(!0));function B(){let K=Q.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},H);Q.mergeEvaluated(K)}function z(K,V){return()=>{let A=Q.subschema({keyword:K},H);if(X.assign(G,H),Q.mergeValidEvaluated(A,G),V)X.assign(V,FY._`${K}`);else Q.setParams({ifClause:K})}}}};function FO(Q,X){let Y=Q.schema[X];return Y!==void 0&&!(0,DO.alwaysValidSchema)(Q,Y)}LO.default=gx});var UO=N((jO)=>{Object.defineProperty(jO,"__esModule",{value:!0});var ux=$0(),lx={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:Q,parentSchema:X,it:Y}){if(X.if===void 0)(0,ux.checkStrictMode)(Y,`"${Q}" without "if" is ignored`)}};jO.default=lx});var NO=N((wO)=>{Object.defineProperty(wO,"__esModule",{value:!0});var cx=FJ(),px=_L(),dx=DJ(),ix=fL(),nx=hL(),ox=dL(),rx=oL(),tx=OJ(),ax=eL(),sx=$O(),ex=GO(),Qy=BO(),Xy=KO(),Yy=AO(),Wy=OO(),$y=UO();function Jy(Q=!1){let X=[ex.default,Qy.default,Xy.default,Yy.default,Wy.default,$y.default,rx.default,tx.default,ox.default,ax.default,sx.default];if(Q)X.push(px.default,ix.default);else X.push(cx.default,dx.default);return X.push(nx.default),X}wO.default=Jy});var MO=N((qO)=>{Object.defineProperty(qO,"__esModule",{value:!0});var R0=n(),Hy={message:({schemaCode:Q})=>R0.str`must match format "${Q}"`,params:({schemaCode:Q})=>R0._`{format: ${Q}}`},By={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:Hy,code(Q,X){let{gen:Y,data:W,$data:$,schema:J,schemaCode:G,it:H}=Q,{opts:B,errSchemaPath:z,schemaEnv:K,self:V}=H;if(!B.validateFormats)return;if($)A();else F();function A(){let L=Y.scopeValue("formats",{ref:V.formats,code:B.code.formats}),D=Y.const("fDef",R0._`${L}[${G}]`),O=Y.let("fType"),j=Y.let("format");Y.if(R0._`typeof ${D} == "object" && !(${D} instanceof RegExp)`,()=>Y.assign(O,R0._`${D}.type || "string"`).assign(j,R0._`${D}.validate`),()=>Y.assign(O,R0._`"string"`).assign(j,D)),Q.fail$data((0,R0.or)(q(),M()));function q(){if(B.strictSchema===!1)return R0.nil;return R0._`${G} && !${j}`}function M(){let S=K.$async?R0._`(${D}.async ? await ${j}(${W}) : ${j}(${W}))`:R0._`${j}(${W})`,Z=R0._`(typeof ${j} == "function" ? ${S} : ${j}.test(${W}))`;return R0._`${j} && ${j} !== true && ${O} === ${X} && !${Z}`}}function F(){let L=V.formats[J];if(!L){q();return}if(L===!0)return;let[D,O,j]=M(L);if(D===X)Q.pass(S());function q(){if(B.strictSchema===!1){V.logger.warn(Z());return}throw Error(Z());function Z(){return`unknown format "${J}" ignored in schema at path "${z}"`}}function M(Z){let V0=Z instanceof RegExp?(0,R0.regexpCode)(Z):B.code.formats?R0._`${B.code.formats}${(0,R0.getProperty)(J)}`:void 0,P0=Y.scopeValue("formats",{key:J,ref:Z,code:V0});if(typeof Z=="object"&&!(Z instanceof RegExp))return[Z.type||"string",Z.validate,R0._`${P0}.validate`];return["string",Z,P0]}function S(){if(typeof L=="object"&&!(L instanceof RegExp)&&L.async){if(!K.$async)throw Error("async format in sync schema");return R0._`await ${j}(${W})`}return typeof O=="function"?R0._`${j}(${W})`:R0._`${j}.test(${W})`}}}};qO.default=By});var PO=N((bO)=>{Object.defineProperty(bO,"__esModule",{value:!0});var Ky=MO(),Vy=[Ky.default];bO.default=Vy});var EO=N((ZO)=>{Object.defineProperty(ZO,"__esModule",{value:!0});ZO.contentVocabulary=ZO.metadataVocabulary=void 0;ZO.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];ZO.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var CO=N((IO)=>{Object.defineProperty(IO,"__esModule",{value:!0});var Dy=sD(),Ly=ZL(),Oy=NO(),jy=PO(),SO=EO(),Uy=[Dy.default,Ly.default,(0,Oy.default)(),jy.default,SO.metadataVocabulary,SO.contentVocabulary];IO.default=Uy});var _O=N((kO)=>{Object.defineProperty(kO,"__esModule",{value:!0});kO.DiscrError=void 0;var TO;(function(Q){Q.Tag="tag",Q.Mapping="mapping"})(TO||(kO.DiscrError=TO={}))});var fO=N((yO)=>{Object.defineProperty(yO,"__esModule",{value:!0});var G4=n(),UJ=_O(),xO=sX(),Ny=v8(),qy=$0(),My={message:({params:{discrError:Q,tagName:X}})=>Q===UJ.DiscrError.Tag?`tag "${X}" must be string`:`value of tag "${X}" must be in oneOf`,params:({params:{discrError:Q,tag:X,tagName:Y}})=>G4._`{error: ${Q}, tag: ${Y}, tagValue: ${X}}`},by={keyword:"discriminator",type:"object",schemaType:"object",error:My,code(Q){let{gen:X,data:Y,schema:W,parentSchema:$,it:J}=Q,{oneOf:G}=$;if(!J.opts.discriminator)throw Error("discriminator: requires discriminator option");let H=W.propertyName;if(typeof H!="string")throw Error("discriminator: requires propertyName");if(W.mapping)throw Error("discriminator: mapping is not supported");if(!G)throw Error("discriminator: requires oneOf keyword");let B=X.let("valid",!1),z=X.const("tag",G4._`${Y}${(0,G4.getProperty)(H)}`);X.if(G4._`typeof ${z} == "string"`,()=>K(),()=>Q.error(!1,{discrError:UJ.DiscrError.Tag,tag:z,tagName:H})),Q.ok(B);function K(){let F=A();X.if(!1);for(let L in F)X.elseIf(G4._`${z} === ${L}`),X.assign(B,V(F[L]));X.else(),Q.error(!1,{discrError:UJ.DiscrError.Mapping,tag:z,tagName:H}),X.endIf()}function V(F){let L=X.name("valid"),D=Q.subschema({keyword:"oneOf",schemaProp:F},L);return Q.mergeEvaluated(D,G4.Name),L}function A(){var F;let L={},D=j($),O=!0;for(let S=0;S<G.length;S++){let Z=G[S];if((Z===null||Z===void 0?void 0:Z.$ref)&&!(0,qy.schemaHasRulesButRef)(Z,J.self.RULES)){let P0=Z.$ref;if(Z=xO.resolveRef.call(J.self,J.schemaEnv.root,J.baseId,P0),Z instanceof xO.SchemaEnv)Z=Z.schema;if(Z===void 0)throw new Ny.default(J.opts.uriResolver,J.baseId,P0)}let V0=(F=Z===null||Z===void 0?void 0:Z.properties)===null||F===void 0?void 0:F[H];if(typeof V0!="object")throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${H}"`);O=O&&(D||j(Z)),q(V0,S)}if(!O)throw Error(`discriminator: "${H}" must be required`);return L;function j({required:S}){return Array.isArray(S)&&S.includes(H)}function q(S,Z){if(S.const)M(S.const,Z);else if(S.enum)for(let V0 of S.enum)M(V0,Z);else throw Error(`discriminator: "properties/${H}" must have "const" or "enum"`)}function M(S,Z){if(typeof S!="string"||S in L)throw Error(`discriminator: "${H}" values must be unique strings`);L[S]=Z}}}};yO.default=by});var gO=N((Ri,Zy)=>{Zy.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 uO=N((B1,wJ)=>{Object.defineProperty(B1,"__esModule",{value:!0});B1.MissingRefError=B1.ValidationError=B1.CodeGen=B1.Name=B1.nil=B1.stringify=B1.str=B1._=B1.KeywordCxt=B1.Ajv=void 0;var Ry=mD(),Ey=CO(),Sy=fO(),hO=gO(),Iy=["/properties"],DY="http://json-schema.org/draft-07/schema";class p8 extends Ry.default{_addVocabularies(){if(super._addVocabularies(),Ey.default.forEach((Q)=>this.addVocabulary(Q)),this.opts.discriminator)this.addKeyword(Sy.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let Q=this.opts.$data?this.$dataMetaSchema(hO,Iy):hO;this.addMetaSchema(Q,DY,!1),this.refs["http://json-schema.org/schema"]=DY}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(DY)?DY:void 0)}}B1.Ajv=p8;wJ.exports=B1=p8;wJ.exports.Ajv=p8;Object.defineProperty(B1,"__esModule",{value:!0});B1.default=p8;var Cy=k8();Object.defineProperty(B1,"KeywordCxt",{enumerable:!0,get:function(){return Cy.KeywordCxt}});var H4=n();Object.defineProperty(B1,"_",{enumerable:!0,get:function(){return H4._}});Object.defineProperty(B1,"str",{enumerable:!0,get:function(){return H4.str}});Object.defineProperty(B1,"stringify",{enumerable:!0,get:function(){return H4.stringify}});Object.defineProperty(B1,"nil",{enumerable:!0,get:function(){return H4.nil}});Object.defineProperty(B1,"Name",{enumerable:!0,get:function(){return H4.Name}});Object.defineProperty(B1,"CodeGen",{enumerable:!0,get:function(){return H4.CodeGen}});var Ty=tX();Object.defineProperty(B1,"ValidationError",{enumerable:!0,get:function(){return Ty.default}});var ky=v8();Object.defineProperty(B1,"MissingRefError",{enumerable:!0,get:function(){return ky.default}})});var mO=N((lO)=>{Object.defineProperty(lO,"__esModule",{value:!0});lO.formatLimitDefinition=void 0;var xy=uO(),f1=n(),x6=f1.operators,LY={formatMaximum:{okStr:"<=",ok:x6.LTE,fail:x6.GT},formatMinimum:{okStr:">=",ok:x6.GTE,fail:x6.LT},formatExclusiveMaximum:{okStr:"<",ok:x6.LT,fail:x6.GTE},formatExclusiveMinimum:{okStr:">",ok:x6.GT,fail:x6.LTE}},yy={message:({keyword:Q,schemaCode:X})=>f1.str`should be ${LY[Q].okStr} ${X}`,params:({keyword:Q,schemaCode:X})=>f1._`{comparison: ${LY[Q].okStr}, limit: ${X}}`};lO.formatLimitDefinition={keyword:Object.keys(LY),type:"string",schemaType:"string",$data:!0,error:yy,code(Q){let{gen:X,data:Y,schemaCode:W,keyword:$,it:J}=Q,{opts:G,self:H}=J;if(!G.validateFormats)return;let B=new xy.KeywordCxt(J,H.RULES.all.format.definition,"format");if(B.$data)z();else K();function z(){let A=X.scopeValue("formats",{ref:H.formats,code:G.code.formats}),F=X.const("fmt",f1._`${A}[${B.schemaCode}]`);Q.fail$data((0,f1.or)(f1._`typeof ${F} != "object"`,f1._`${F} instanceof RegExp`,f1._`typeof ${F}.compare != "function"`,V(F)))}function K(){let A=B.schema,F=H.formats[A];if(!F||F===!0)return;if(typeof F!="object"||F instanceof RegExp||typeof F.compare!="function")throw Error(`"${$}": format "${A}" does not define "compare" function`);let L=X.scopeValue("formats",{key:A,ref:F,code:G.code.formats?f1._`${G.code.formats}${(0,f1.getProperty)(A)}`:void 0});Q.fail$data(V(L))}function V(A){return f1._`${A}.compare(${Y}, ${W}) ${LY[$].fail} 0`}},dependencies:["format"]};var fy=(Q)=>{return Q.addKeyword(lO.formatLimitDefinition),Q};lO.default=fy});var iO=N((d8,dO)=>{Object.defineProperty(d8,"__esModule",{value:!0});var B4=gA(),hy=mO(),qJ=n(),cO=new qJ.Name("fullFormats"),uy=new qJ.Name("fastFormats"),MJ=(Q,X={keywords:!0})=>{if(Array.isArray(X))return pO(Q,X,B4.fullFormats,cO),Q;let[Y,W]=X.mode==="fast"?[B4.fastFormats,uy]:[B4.fullFormats,cO],$=X.formats||B4.formatNames;if(pO(Q,$,Y,W),X.keywords)(0,hy.default)(Q);return Q};MJ.get=(Q,X="full")=>{let W=(X==="fast"?B4.fastFormats:B4.fullFormats)[Q];if(!W)throw Error(`Unknown format "${Q}"`);return W};function pO(Q,X,Y,W){var $,J;($=(J=Q.opts.code).formats)!==null&&$!==void 0||(J.formats=qJ._`require("ajv-formats/dist/formats").${W}`);for(let G of X)Q.addFormat(G,Y[G])}dO.exports=d8=MJ;Object.defineProperty(d8,"__esModule",{value:!0});d8.default=MJ});var g={};a8(g,{void:()=>bU,util:()=>t,unknown:()=>qU,union:()=>RU,undefined:()=>UU,tuple:()=>IU,transformer:()=>hU,symbol:()=>jU,string:()=>LG,strictObject:()=>ZU,setErrorMap:()=>mj,set:()=>kU,record:()=>CU,quotelessJson:()=>uj,promise:()=>gU,preprocess:()=>mU,pipeline:()=>cU,ostring:()=>pU,optional:()=>uU,onumber:()=>dU,oboolean:()=>iU,objectUtil:()=>mY,object:()=>dY,number:()=>OG,nullable:()=>lU,null:()=>wU,never:()=>MU,nativeEnum:()=>fU,nan:()=>DU,map:()=>TU,makeIssue:()=>w4,literal:()=>xU,lazy:()=>_U,late:()=>AU,isValid:()=>V6,isDirty:()=>e8,isAsync:()=>j9,isAborted:()=>s8,intersection:()=>SU,instanceof:()=>FU,getParsedType:()=>h1,getErrorMap:()=>O9,function:()=>vU,enum:()=>yU,effect:()=>hU,discriminatedUnion:()=>EU,defaultErrorMap:()=>r1,datetimeRegex:()=>AG,date:()=>OU,custom:()=>DG,coerce:()=>nU,boolean:()=>jG,bigint:()=>LU,array:()=>PU,any:()=>NU,addIssueToContext:()=>T,ZodVoid:()=>q4,ZodUnknown:()=>A6,ZodUnion:()=>b9,ZodUndefined:()=>q9,ZodType:()=>o,ZodTuple:()=>l1,ZodTransformer:()=>q1,ZodSymbol:()=>N4,ZodString:()=>U1,ZodSet:()=>p6,ZodSchema:()=>o,ZodRecord:()=>M4,ZodReadonly:()=>C9,ZodPromise:()=>d6,ZodPipeline:()=>Z4,ZodParsedType:()=>R,ZodOptional:()=>z1,ZodObject:()=>M0,ZodNumber:()=>F6,ZodNullable:()=>a1,ZodNull:()=>M9,ZodNever:()=>u1,ZodNativeEnum:()=>E9,ZodNaN:()=>P4,ZodMap:()=>b4,ZodLiteral:()=>R9,ZodLazy:()=>Z9,ZodIssueCode:()=>b,ZodIntersection:()=>P9,ZodFunction:()=>w9,ZodFirstPartyTypeKind:()=>P,ZodError:()=>t0,ZodEnum:()=>L6,ZodEffects:()=>q1,ZodDiscriminatedUnion:()=>QQ,ZodDefault:()=>S9,ZodDate:()=>m6,ZodCatch:()=>I9,ZodBranded:()=>XQ,ZodBoolean:()=>N9,ZodBigInt:()=>D6,ZodArray:()=>w1,ZodAny:()=>c6,Schema:()=>o,ParseStatus:()=>k0,OK:()=>u0,NEVER:()=>oU,INVALID:()=>u,EMPTY_PATH:()=>cj,DIRTY:()=>l6,BRAND:()=>VU});var t;(function(Q){Q.assertEqual=($)=>{};function X($){}Q.assertIs=X;function Y($){throw Error()}Q.assertNever=Y,Q.arrayToEnum=($)=>{let J={};for(let G of $)J[G]=G;return J},Q.getValidEnumValues=($)=>{let J=Q.objectKeys($).filter((H)=>typeof $[$[H]]!=="number"),G={};for(let H of J)G[H]=$[H];return Q.objectValues(G)},Q.objectValues=($)=>{return Q.objectKeys($).map(function(J){return $[J]})},Q.objectKeys=typeof Object.keys==="function"?($)=>Object.keys($):($)=>{let J=[];for(let G in $)if(Object.prototype.hasOwnProperty.call($,G))J.push(G);return J},Q.find=($,J)=>{for(let G of $)if(J(G))return G;return},Q.isInteger=typeof Number.isInteger==="function"?($)=>Number.isInteger($):($)=>typeof $==="number"&&Number.isFinite($)&&Math.floor($)===$;function W($,J=" | "){return $.map((G)=>typeof G==="string"?`'${G}'`:G).join(J)}Q.joinValues=W,Q.jsonStringifyReplacer=($,J)=>{if(typeof J==="bigint")return J.toString();return J}})(t||(t={}));var mY;(function(Q){Q.mergeShapes=(X,Y)=>{return{...X,...Y}}})(mY||(mY={}));var R=t.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),h1=(Q)=>{switch(typeof Q){case"undefined":return R.undefined;case"string":return R.string;case"number":return Number.isNaN(Q)?R.nan:R.number;case"boolean":return R.boolean;case"function":return R.function;case"bigint":return R.bigint;case"symbol":return R.symbol;case"object":if(Array.isArray(Q))return R.array;if(Q===null)return R.null;if(Q.then&&typeof Q.then==="function"&&Q.catch&&typeof Q.catch==="function")return R.promise;if(typeof Map<"u"&&Q instanceof Map)return R.map;if(typeof Set<"u"&&Q instanceof Set)return R.set;if(typeof Date<"u"&&Q instanceof Date)return R.date;return R.object;default:return R.unknown}};var b=t.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),uj=(Q)=>{return JSON.stringify(Q,null,2).replace(/"([^"]+)":/g,"$1:")};class t0 extends Error{get errors(){return this.issues}constructor(Q){super();this.issues=[],this.addIssue=(Y)=>{this.issues=[...this.issues,Y]},this.addIssues=(Y=[])=>{this.issues=[...this.issues,...Y]};let X=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,X);else this.__proto__=X;this.name="ZodError",this.issues=Q}format(Q){let X=Q||function($){return $.message},Y={_errors:[]},W=($)=>{for(let J of $.issues)if(J.code==="invalid_union")J.unionErrors.map(W);else if(J.code==="invalid_return_type")W(J.returnTypeError);else if(J.code==="invalid_arguments")W(J.argumentsError);else if(J.path.length===0)Y._errors.push(X(J));else{let G=Y,H=0;while(H<J.path.length){let B=J.path[H];if(H!==J.path.length-1)G[B]=G[B]||{_errors:[]};else G[B]=G[B]||{_errors:[]},G[B]._errors.push(X(J));G=G[B],H++}}};return W(this),Y}static assert(Q){if(!(Q instanceof t0))throw Error(`Not a ZodError: ${Q}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,t.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(Q=(X)=>X.message){let X={},Y=[];for(let W of this.issues)if(W.path.length>0){let $=W.path[0];X[$]=X[$]||[],X[$].push(Q(W))}else Y.push(Q(W));return{formErrors:Y,fieldErrors:X}}get formErrors(){return this.flatten()}}t0.create=(Q)=>{return new t0(Q)};var lj=(Q,X)=>{let Y;switch(Q.code){case b.invalid_type:if(Q.received===R.undefined)Y="Required";else Y=`Expected ${Q.expected}, received ${Q.received}`;break;case b.invalid_literal:Y=`Invalid literal value, expected ${JSON.stringify(Q.expected,t.jsonStringifyReplacer)}`;break;case b.unrecognized_keys:Y=`Unrecognized key(s) in object: ${t.joinValues(Q.keys,", ")}`;break;case b.invalid_union:Y="Invalid input";break;case b.invalid_union_discriminator:Y=`Invalid discriminator value. Expected ${t.joinValues(Q.options)}`;break;case b.invalid_enum_value:Y=`Invalid enum value. Expected ${t.joinValues(Q.options)}, received '${Q.received}'`;break;case b.invalid_arguments:Y="Invalid function arguments";break;case b.invalid_return_type:Y="Invalid function return type";break;case b.invalid_date:Y="Invalid date";break;case b.invalid_string:if(typeof Q.validation==="object")if("includes"in Q.validation){if(Y=`Invalid input: must include "${Q.validation.includes}"`,typeof Q.validation.position==="number")Y=`${Y} at one or more positions greater than or equal to ${Q.validation.position}`}else if("startsWith"in Q.validation)Y=`Invalid input: must start with "${Q.validation.startsWith}"`;else if("endsWith"in Q.validation)Y=`Invalid input: must end with "${Q.validation.endsWith}"`;else t.assertNever(Q.validation);else if(Q.validation!=="regex")Y=`Invalid ${Q.validation}`;else Y="Invalid";break;case b.too_small:if(Q.type==="array")Y=`Array must contain ${Q.exact?"exactly":Q.inclusive?"at least":"more than"} ${Q.minimum} element(s)`;else if(Q.type==="string")Y=`String must contain ${Q.exact?"exactly":Q.inclusive?"at least":"over"} ${Q.minimum} character(s)`;else if(Q.type==="number")Y=`Number must be ${Q.exact?"exactly equal to ":Q.inclusive?"greater than or equal to ":"greater than "}${Q.minimum}`;else if(Q.type==="bigint")Y=`Number must be ${Q.exact?"exactly equal to ":Q.inclusive?"greater than or equal to ":"greater than "}${Q.minimum}`;else if(Q.type==="date")Y=`Date must be ${Q.exact?"exactly equal to ":Q.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(Q.minimum))}`;else Y="Invalid input";break;case b.too_big:if(Q.type==="array")Y=`Array must contain ${Q.exact?"exactly":Q.inclusive?"at most":"less than"} ${Q.maximum} element(s)`;else if(Q.type==="string")Y=`String must contain ${Q.exact?"exactly":Q.inclusive?"at most":"under"} ${Q.maximum} character(s)`;else if(Q.type==="number")Y=`Number must be ${Q.exact?"exactly":Q.inclusive?"less than or equal to":"less than"} ${Q.maximum}`;else if(Q.type==="bigint")Y=`BigInt must be ${Q.exact?"exactly":Q.inclusive?"less than or equal to":"less than"} ${Q.maximum}`;else if(Q.type==="date")Y=`Date must be ${Q.exact?"exactly":Q.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(Q.maximum))}`;else Y="Invalid input";break;case b.custom:Y="Invalid input";break;case b.invalid_intersection_types:Y="Intersection results could not be merged";break;case b.not_multiple_of:Y=`Number must be a multiple of ${Q.multipleOf}`;break;case b.not_finite:Y="Number must be finite";break;default:Y=X.defaultError,t.assertNever(Q)}return{message:Y}},r1=lj;var HG=r1;function mj(Q){HG=Q}function O9(){return HG}var w4=(Q)=>{let{data:X,path:Y,errorMaps:W,issueData:$}=Q,J=[...Y,...$.path||[]],G={...$,path:J};if($.message!==void 0)return{...$,path:J,message:$.message};let H="",B=W.filter((z)=>!!z).slice().reverse();for(let z of B)H=z(G,{data:X,defaultError:H}).message;return{...$,path:J,message:H}},cj=[];function T(Q,X){let Y=O9(),W=w4({issueData:X,data:Q.data,path:Q.path,errorMaps:[Q.common.contextualErrorMap,Q.schemaErrorMap,Y,Y===r1?void 0:r1].filter(($)=>!!$)});Q.common.issues.push(W)}class k0{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(Q,X){let Y=[];for(let W of X){if(W.status==="aborted")return u;if(W.status==="dirty")Q.dirty();Y.push(W.value)}return{status:Q.value,value:Y}}static async mergeObjectAsync(Q,X){let Y=[];for(let W of X){let $=await W.key,J=await W.value;Y.push({key:$,value:J})}return k0.mergeObjectSync(Q,Y)}static mergeObjectSync(Q,X){let Y={};for(let W of X){let{key:$,value:J}=W;if($.status==="aborted")return u;if(J.status==="aborted")return u;if($.status==="dirty")Q.dirty();if(J.status==="dirty")Q.dirty();if($.value!=="__proto__"&&(typeof J.value<"u"||W.alwaysSet))Y[$.value]=J.value}return{status:Q.value,value:Y}}}var u=Object.freeze({status:"aborted"}),l6=(Q)=>({status:"dirty",value:Q}),u0=(Q)=>({status:"valid",value:Q}),s8=(Q)=>Q.status==="aborted",e8=(Q)=>Q.status==="dirty",V6=(Q)=>Q.status==="valid",j9=(Q)=>typeof Promise<"u"&&Q instanceof Promise;var v;(function(Q){Q.errToObj=(X)=>typeof X==="string"?{message:X}:X||{},Q.toString=(X)=>typeof X==="string"?X:X?.message})(v||(v={}));class N1{constructor(Q,X,Y,W){this._cachedPath=[],this.parent=Q,this.data=X,this._path=Y,this._key=W}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var BG=(Q,X)=>{if(V6(X))return{success:!0,data:X.value};else{if(!Q.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let Y=new t0(Q.common.issues);return this._error=Y,this._error}}}};function p(Q){if(!Q)return{};let{errorMap:X,invalid_type_error:Y,required_error:W,description:$}=Q;if(X&&(Y||W))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(X)return{errorMap:X,description:$};return{errorMap:(G,H)=>{let{message:B}=Q;if(G.code==="invalid_enum_value")return{message:B??H.defaultError};if(typeof H.data>"u")return{message:B??W??H.defaultError};if(G.code!=="invalid_type")return{message:H.defaultError};return{message:B??Y??H.defaultError}},description:$}}class o{get description(){return this._def.description}_getType(Q){return h1(Q.data)}_getOrReturnCtx(Q,X){return X||{common:Q.parent.common,data:Q.data,parsedType:h1(Q.data),schemaErrorMap:this._def.errorMap,path:Q.path,parent:Q.parent}}_processInputParams(Q){return{status:new k0,ctx:{common:Q.parent.common,data:Q.data,parsedType:h1(Q.data),schemaErrorMap:this._def.errorMap,path:Q.path,parent:Q.parent}}}_parseSync(Q){let X=this._parse(Q);if(j9(X))throw Error("Synchronous parse encountered promise.");return X}_parseAsync(Q){let X=this._parse(Q);return Promise.resolve(X)}parse(Q,X){let Y=this.safeParse(Q,X);if(Y.success)return Y.data;throw Y.error}safeParse(Q,X){let Y={common:{issues:[],async:X?.async??!1,contextualErrorMap:X?.errorMap},path:X?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:Q,parsedType:h1(Q)},W=this._parseSync({data:Q,path:Y.path,parent:Y});return BG(Y,W)}"~validate"(Q){let X={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:Q,parsedType:h1(Q)};if(!this["~standard"].async)try{let Y=this._parseSync({data:Q,path:[],parent:X});return V6(Y)?{value:Y.value}:{issues:X.common.issues}}catch(Y){if(Y?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;X.common={issues:[],async:!0}}return this._parseAsync({data:Q,path:[],parent:X}).then((Y)=>V6(Y)?{value:Y.value}:{issues:X.common.issues})}async parseAsync(Q,X){let Y=await this.safeParseAsync(Q,X);if(Y.success)return Y.data;throw Y.error}async safeParseAsync(Q,X){let Y={common:{issues:[],contextualErrorMap:X?.errorMap,async:!0},path:X?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:Q,parsedType:h1(Q)},W=this._parse({data:Q,path:Y.path,parent:Y}),$=await(j9(W)?W:Promise.resolve(W));return BG(Y,$)}refine(Q,X){let Y=(W)=>{if(typeof X==="string"||typeof X>"u")return{message:X};else if(typeof X==="function")return X(W);else return X};return this._refinement((W,$)=>{let J=Q(W),G=()=>$.addIssue({code:b.custom,...Y(W)});if(typeof Promise<"u"&&J instanceof Promise)return J.then((H)=>{if(!H)return G(),!1;else return!0});if(!J)return G(),!1;else return!0})}refinement(Q,X){return this._refinement((Y,W)=>{if(!Q(Y))return W.addIssue(typeof X==="function"?X(Y,W):X),!1;else return!0})}_refinement(Q){return new q1({schema:this,typeName:P.ZodEffects,effect:{type:"refinement",refinement:Q}})}superRefine(Q){return this._refinement(Q)}constructor(Q){this.spa=this.safeParseAsync,this._def=Q,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(X)=>this["~validate"](X)}}optional(){return z1.create(this,this._def)}nullable(){return a1.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return w1.create(this)}promise(){return d6.create(this,this._def)}or(Q){return b9.create([this,Q],this._def)}and(Q){return P9.create(this,Q,this._def)}transform(Q){return new q1({...p(this._def),schema:this,typeName:P.ZodEffects,effect:{type:"transform",transform:Q}})}default(Q){let X=typeof Q==="function"?Q:()=>Q;return new S9({...p(this._def),innerType:this,defaultValue:X,typeName:P.ZodDefault})}brand(){return new XQ({typeName:P.ZodBranded,type:this,...p(this._def)})}catch(Q){let X=typeof Q==="function"?Q:()=>Q;return new I9({...p(this._def),innerType:this,catchValue:X,typeName:P.ZodCatch})}describe(Q){return new this.constructor({...this._def,description:Q})}pipe(Q){return Z4.create(this,Q)}readonly(){return C9.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var pj=/^c[^\s-]{8,}$/i,dj=/^[0-9a-z]+$/,ij=/^[0-9A-HJKMNP-TV-Z]{26}$/i,nj=/^[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,oj=/^[a-z0-9_-]{21}$/i,rj=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,tj=/^[-+]?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)?)??$/,aj=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,sj="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",cY,ej=/^(?:(?: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])$/,QU=/^(?:(?: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])$/,XU=/^(([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]))$/,YU=/^(([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])$/,WU=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,$U=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,KG="((\\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])))",JU=new RegExp(`^${KG}$`);function VG(Q){let X="[0-5]\\d";if(Q.precision)X=`${X}\\.\\d{${Q.precision}}`;else if(Q.precision==null)X=`${X}(\\.\\d+)?`;let Y=Q.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${X})${Y}`}function GU(Q){return new RegExp(`^${VG(Q)}$`)}function AG(Q){let X=`${KG}T${VG(Q)}`,Y=[];if(Y.push(Q.local?"Z?":"Z"),Q.offset)Y.push("([+-]\\d{2}:?\\d{2})");return X=`${X}(${Y.join("|")})`,new RegExp(`^${X}$`)}function HU(Q,X){if((X==="v4"||!X)&&ej.test(Q))return!0;if((X==="v6"||!X)&&XU.test(Q))return!0;return!1}function BU(Q,X){if(!rj.test(Q))return!1;try{let[Y]=Q.split(".");if(!Y)return!1;let W=Y.replace(/-/g,"+").replace(/_/g,"/").padEnd(Y.length+(4-Y.length%4)%4,"="),$=JSON.parse(atob(W));if(typeof $!=="object"||$===null)return!1;if("typ"in $&&$?.typ!=="JWT")return!1;if(!$.alg)return!1;if(X&&$.alg!==X)return!1;return!0}catch{return!1}}function zU(Q,X){if((X==="v4"||!X)&&QU.test(Q))return!0;if((X==="v6"||!X)&&YU.test(Q))return!0;return!1}class U1 extends o{_parse(Q){if(this._def.coerce)Q.data=String(Q.data);if(this._getType(Q)!==R.string){let $=this._getOrReturnCtx(Q);return T($,{code:b.invalid_type,expected:R.string,received:$.parsedType}),u}let Y=new k0,W=void 0;for(let $ of this._def.checks)if($.kind==="min"){if(Q.data.length<$.value)W=this._getOrReturnCtx(Q,W),T(W,{code:b.too_small,minimum:$.value,type:"string",inclusive:!0,exact:!1,message:$.message}),Y.dirty()}else if($.kind==="max"){if(Q.data.length>$.value)W=this._getOrReturnCtx(Q,W),T(W,{code:b.too_big,maximum:$.value,type:"string",inclusive:!0,exact:!1,message:$.message}),Y.dirty()}else if($.kind==="length"){let J=Q.data.length>$.value,G=Q.data.length<$.value;if(J||G){if(W=this._getOrReturnCtx(Q,W),J)T(W,{code:b.too_big,maximum:$.value,type:"string",inclusive:!0,exact:!0,message:$.message});else if(G)T(W,{code:b.too_small,minimum:$.value,type:"string",inclusive:!0,exact:!0,message:$.message});Y.dirty()}}else if($.kind==="email"){if(!aj.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"email",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="emoji"){if(!cY)cY=new RegExp(sj,"u");if(!cY.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"emoji",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="uuid"){if(!nj.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"uuid",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="nanoid"){if(!oj.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"nanoid",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="cuid"){if(!pj.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"cuid",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="cuid2"){if(!dj.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"cuid2",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="ulid"){if(!ij.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"ulid",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="url")try{new URL(Q.data)}catch{W=this._getOrReturnCtx(Q,W),T(W,{validation:"url",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="regex"){if($.regex.lastIndex=0,!$.regex.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"regex",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="trim")Q.data=Q.data.trim();else if($.kind==="includes"){if(!Q.data.includes($.value,$.position))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:{includes:$.value,position:$.position},message:$.message}),Y.dirty()}else if($.kind==="toLowerCase")Q.data=Q.data.toLowerCase();else if($.kind==="toUpperCase")Q.data=Q.data.toUpperCase();else if($.kind==="startsWith"){if(!Q.data.startsWith($.value))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:{startsWith:$.value},message:$.message}),Y.dirty()}else if($.kind==="endsWith"){if(!Q.data.endsWith($.value))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:{endsWith:$.value},message:$.message}),Y.dirty()}else if($.kind==="datetime"){if(!AG($).test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:"datetime",message:$.message}),Y.dirty()}else if($.kind==="date"){if(!JU.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:"date",message:$.message}),Y.dirty()}else if($.kind==="time"){if(!GU($).test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:"time",message:$.message}),Y.dirty()}else if($.kind==="duration"){if(!tj.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"duration",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="ip"){if(!HU(Q.data,$.version))W=this._getOrReturnCtx(Q,W),T(W,{validation:"ip",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="jwt"){if(!BU(Q.data,$.alg))W=this._getOrReturnCtx(Q,W),T(W,{validation:"jwt",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="cidr"){if(!zU(Q.data,$.version))W=this._getOrReturnCtx(Q,W),T(W,{validation:"cidr",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="base64"){if(!WU.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"base64",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="base64url"){if(!$U.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"base64url",code:b.invalid_string,message:$.message}),Y.dirty()}else t.assertNever($);return{status:Y.value,value:Q.data}}_regex(Q,X,Y){return this.refinement((W)=>Q.test(W),{validation:X,code:b.invalid_string,...v.errToObj(Y)})}_addCheck(Q){return new U1({...this._def,checks:[...this._def.checks,Q]})}email(Q){return this._addCheck({kind:"email",...v.errToObj(Q)})}url(Q){return this._addCheck({kind:"url",...v.errToObj(Q)})}emoji(Q){return this._addCheck({kind:"emoji",...v.errToObj(Q)})}uuid(Q){return this._addCheck({kind:"uuid",...v.errToObj(Q)})}nanoid(Q){return this._addCheck({kind:"nanoid",...v.errToObj(Q)})}cuid(Q){return this._addCheck({kind:"cuid",...v.errToObj(Q)})}cuid2(Q){return this._addCheck({kind:"cuid2",...v.errToObj(Q)})}ulid(Q){return this._addCheck({kind:"ulid",...v.errToObj(Q)})}base64(Q){return this._addCheck({kind:"base64",...v.errToObj(Q)})}base64url(Q){return this._addCheck({kind:"base64url",...v.errToObj(Q)})}jwt(Q){return this._addCheck({kind:"jwt",...v.errToObj(Q)})}ip(Q){return this._addCheck({kind:"ip",...v.errToObj(Q)})}cidr(Q){return this._addCheck({kind:"cidr",...v.errToObj(Q)})}datetime(Q){if(typeof Q==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:Q});return this._addCheck({kind:"datetime",precision:typeof Q?.precision>"u"?null:Q?.precision,offset:Q?.offset??!1,local:Q?.local??!1,...v.errToObj(Q?.message)})}date(Q){return this._addCheck({kind:"date",message:Q})}time(Q){if(typeof Q==="string")return this._addCheck({kind:"time",precision:null,message:Q});return this._addCheck({kind:"time",precision:typeof Q?.precision>"u"?null:Q?.precision,...v.errToObj(Q?.message)})}duration(Q){return this._addCheck({kind:"duration",...v.errToObj(Q)})}regex(Q,X){return this._addCheck({kind:"regex",regex:Q,...v.errToObj(X)})}includes(Q,X){return this._addCheck({kind:"includes",value:Q,position:X?.position,...v.errToObj(X?.message)})}startsWith(Q,X){return this._addCheck({kind:"startsWith",value:Q,...v.errToObj(X)})}endsWith(Q,X){return this._addCheck({kind:"endsWith",value:Q,...v.errToObj(X)})}min(Q,X){return this._addCheck({kind:"min",value:Q,...v.errToObj(X)})}max(Q,X){return this._addCheck({kind:"max",value:Q,...v.errToObj(X)})}length(Q,X){return this._addCheck({kind:"length",value:Q,...v.errToObj(X)})}nonempty(Q){return this.min(1,v.errToObj(Q))}trim(){return new U1({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new U1({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new U1({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((Q)=>Q.kind==="datetime")}get isDate(){return!!this._def.checks.find((Q)=>Q.kind==="date")}get isTime(){return!!this._def.checks.find((Q)=>Q.kind==="time")}get isDuration(){return!!this._def.checks.find((Q)=>Q.kind==="duration")}get isEmail(){return!!this._def.checks.find((Q)=>Q.kind==="email")}get isURL(){return!!this._def.checks.find((Q)=>Q.kind==="url")}get isEmoji(){return!!this._def.checks.find((Q)=>Q.kind==="emoji")}get isUUID(){return!!this._def.checks.find((Q)=>Q.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((Q)=>Q.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((Q)=>Q.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((Q)=>Q.kind==="cuid2")}get isULID(){return!!this._def.checks.find((Q)=>Q.kind==="ulid")}get isIP(){return!!this._def.checks.find((Q)=>Q.kind==="ip")}get isCIDR(){return!!this._def.checks.find((Q)=>Q.kind==="cidr")}get isBase64(){return!!this._def.checks.find((Q)=>Q.kind==="base64")}get isBase64url(){return!!this._def.checks.find((Q)=>Q.kind==="base64url")}get minLength(){let Q=null;for(let X of this._def.checks)if(X.kind==="min"){if(Q===null||X.value>Q)Q=X.value}return Q}get maxLength(){let Q=null;for(let X of this._def.checks)if(X.kind==="max"){if(Q===null||X.value<Q)Q=X.value}return Q}}U1.create=(Q)=>{return new U1({checks:[],typeName:P.ZodString,coerce:Q?.coerce??!1,...p(Q)})};function KU(Q,X){let Y=(Q.toString().split(".")[1]||"").length,W=(X.toString().split(".")[1]||"").length,$=Y>W?Y:W,J=Number.parseInt(Q.toFixed($).replace(".","")),G=Number.parseInt(X.toFixed($).replace(".",""));return J%G/10**$}class F6 extends o{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(Q){if(this._def.coerce)Q.data=Number(Q.data);if(this._getType(Q)!==R.number){let $=this._getOrReturnCtx(Q);return T($,{code:b.invalid_type,expected:R.number,received:$.parsedType}),u}let Y=void 0,W=new k0;for(let $ of this._def.checks)if($.kind==="int"){if(!t.isInteger(Q.data))Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.invalid_type,expected:"integer",received:"float",message:$.message}),W.dirty()}else if($.kind==="min"){if($.inclusive?Q.data<$.value:Q.data<=$.value)Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.too_small,minimum:$.value,type:"number",inclusive:$.inclusive,exact:!1,message:$.message}),W.dirty()}else if($.kind==="max"){if($.inclusive?Q.data>$.value:Q.data>=$.value)Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.too_big,maximum:$.value,type:"number",inclusive:$.inclusive,exact:!1,message:$.message}),W.dirty()}else if($.kind==="multipleOf"){if(KU(Q.data,$.value)!==0)Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.not_multiple_of,multipleOf:$.value,message:$.message}),W.dirty()}else if($.kind==="finite"){if(!Number.isFinite(Q.data))Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.not_finite,message:$.message}),W.dirty()}else t.assertNever($);return{status:W.value,value:Q.data}}gte(Q,X){return this.setLimit("min",Q,!0,v.toString(X))}gt(Q,X){return this.setLimit("min",Q,!1,v.toString(X))}lte(Q,X){return this.setLimit("max",Q,!0,v.toString(X))}lt(Q,X){return this.setLimit("max",Q,!1,v.toString(X))}setLimit(Q,X,Y,W){return new F6({...this._def,checks:[...this._def.checks,{kind:Q,value:X,inclusive:Y,message:v.toString(W)}]})}_addCheck(Q){return new F6({...this._def,checks:[...this._def.checks,Q]})}int(Q){return this._addCheck({kind:"int",message:v.toString(Q)})}positive(Q){return this._addCheck({kind:"min",value:0,inclusive:!1,message:v.toString(Q)})}negative(Q){return this._addCheck({kind:"max",value:0,inclusive:!1,message:v.toString(Q)})}nonpositive(Q){return this._addCheck({kind:"max",value:0,inclusive:!0,message:v.toString(Q)})}nonnegative(Q){return this._addCheck({kind:"min",value:0,inclusive:!0,message:v.toString(Q)})}multipleOf(Q,X){return this._addCheck({kind:"multipleOf",value:Q,message:v.toString(X)})}finite(Q){return this._addCheck({kind:"finite",message:v.toString(Q)})}safe(Q){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:v.toString(Q)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:v.toString(Q)})}get minValue(){let Q=null;for(let X of this._def.checks)if(X.kind==="min"){if(Q===null||X.value>Q)Q=X.value}return Q}get maxValue(){let Q=null;for(let X of this._def.checks)if(X.kind==="max"){if(Q===null||X.value<Q)Q=X.value}return Q}get isInt(){return!!this._def.checks.find((Q)=>Q.kind==="int"||Q.kind==="multipleOf"&&t.isInteger(Q.value))}get isFinite(){let Q=null,X=null;for(let Y of this._def.checks)if(Y.kind==="finite"||Y.kind==="int"||Y.kind==="multipleOf")return!0;else if(Y.kind==="min"){if(X===null||Y.value>X)X=Y.value}else if(Y.kind==="max"){if(Q===null||Y.value<Q)Q=Y.value}return Number.isFinite(X)&&Number.isFinite(Q)}}F6.create=(Q)=>{return new F6({checks:[],typeName:P.ZodNumber,coerce:Q?.coerce||!1,...p(Q)})};class D6 extends o{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(Q){if(this._def.coerce)try{Q.data=BigInt(Q.data)}catch{return this._getInvalidInput(Q)}if(this._getType(Q)!==R.bigint)return this._getInvalidInput(Q);let Y=void 0,W=new k0;for(let $ of this._def.checks)if($.kind==="min"){if($.inclusive?Q.data<$.value:Q.data<=$.value)Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.too_small,type:"bigint",minimum:$.value,inclusive:$.inclusive,message:$.message}),W.dirty()}else if($.kind==="max"){if($.inclusive?Q.data>$.value:Q.data>=$.value)Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.too_big,type:"bigint",maximum:$.value,inclusive:$.inclusive,message:$.message}),W.dirty()}else if($.kind==="multipleOf"){if(Q.data%$.value!==BigInt(0))Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.not_multiple_of,multipleOf:$.value,message:$.message}),W.dirty()}else t.assertNever($);return{status:W.value,value:Q.data}}_getInvalidInput(Q){let X=this._getOrReturnCtx(Q);return T(X,{code:b.invalid_type,expected:R.bigint,received:X.parsedType}),u}gte(Q,X){return this.setLimit("min",Q,!0,v.toString(X))}gt(Q,X){return this.setLimit("min",Q,!1,v.toString(X))}lte(Q,X){return this.setLimit("max",Q,!0,v.toString(X))}lt(Q,X){return this.setLimit("max",Q,!1,v.toString(X))}setLimit(Q,X,Y,W){return new D6({...this._def,checks:[...this._def.checks,{kind:Q,value:X,inclusive:Y,message:v.toString(W)}]})}_addCheck(Q){return new D6({...this._def,checks:[...this._def.checks,Q]})}positive(Q){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:v.toString(Q)})}negative(Q){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:v.toString(Q)})}nonpositive(Q){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:v.toString(Q)})}nonnegative(Q){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:v.toString(Q)})}multipleOf(Q,X){return this._addCheck({kind:"multipleOf",value:Q,message:v.toString(X)})}get minValue(){let Q=null;for(let X of this._def.checks)if(X.kind==="min"){if(Q===null||X.value>Q)Q=X.value}return Q}get maxValue(){let Q=null;for(let X of this._def.checks)if(X.kind==="max"){if(Q===null||X.value<Q)Q=X.value}return Q}}D6.create=(Q)=>{return new D6({checks:[],typeName:P.ZodBigInt,coerce:Q?.coerce??!1,...p(Q)})};class N9 extends o{_parse(Q){if(this._def.coerce)Q.data=Boolean(Q.data);if(this._getType(Q)!==R.boolean){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:R.boolean,received:Y.parsedType}),u}return u0(Q.data)}}N9.create=(Q)=>{return new N9({typeName:P.ZodBoolean,coerce:Q?.coerce||!1,...p(Q)})};class m6 extends o{_parse(Q){if(this._def.coerce)Q.data=new Date(Q.data);if(this._getType(Q)!==R.date){let $=this._getOrReturnCtx(Q);return T($,{code:b.invalid_type,expected:R.date,received:$.parsedType}),u}if(Number.isNaN(Q.data.getTime())){let $=this._getOrReturnCtx(Q);return T($,{code:b.invalid_date}),u}let Y=new k0,W=void 0;for(let $ of this._def.checks)if($.kind==="min"){if(Q.data.getTime()<$.value)W=this._getOrReturnCtx(Q,W),T(W,{code:b.too_small,message:$.message,inclusive:!0,exact:!1,minimum:$.value,type:"date"}),Y.dirty()}else if($.kind==="max"){if(Q.data.getTime()>$.value)W=this._getOrReturnCtx(Q,W),T(W,{code:b.too_big,message:$.message,inclusive:!0,exact:!1,maximum:$.value,type:"date"}),Y.dirty()}else t.assertNever($);return{status:Y.value,value:new Date(Q.data.getTime())}}_addCheck(Q){return new m6({...this._def,checks:[...this._def.checks,Q]})}min(Q,X){return this._addCheck({kind:"min",value:Q.getTime(),message:v.toString(X)})}max(Q,X){return this._addCheck({kind:"max",value:Q.getTime(),message:v.toString(X)})}get minDate(){let Q=null;for(let X of this._def.checks)if(X.kind==="min"){if(Q===null||X.value>Q)Q=X.value}return Q!=null?new Date(Q):null}get maxDate(){let Q=null;for(let X of this._def.checks)if(X.kind==="max"){if(Q===null||X.value<Q)Q=X.value}return Q!=null?new Date(Q):null}}m6.create=(Q)=>{return new m6({checks:[],coerce:Q?.coerce||!1,typeName:P.ZodDate,...p(Q)})};class N4 extends o{_parse(Q){if(this._getType(Q)!==R.symbol){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:R.symbol,received:Y.parsedType}),u}return u0(Q.data)}}N4.create=(Q)=>{return new N4({typeName:P.ZodSymbol,...p(Q)})};class q9 extends o{_parse(Q){if(this._getType(Q)!==R.undefined){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:R.undefined,received:Y.parsedType}),u}return u0(Q.data)}}q9.create=(Q)=>{return new q9({typeName:P.ZodUndefined,...p(Q)})};class M9 extends o{_parse(Q){if(this._getType(Q)!==R.null){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:R.null,received:Y.parsedType}),u}return u0(Q.data)}}M9.create=(Q)=>{return new M9({typeName:P.ZodNull,...p(Q)})};class c6 extends o{constructor(){super(...arguments);this._any=!0}_parse(Q){return u0(Q.data)}}c6.create=(Q)=>{return new c6({typeName:P.ZodAny,...p(Q)})};class A6 extends o{constructor(){super(...arguments);this._unknown=!0}_parse(Q){return u0(Q.data)}}A6.create=(Q)=>{return new A6({typeName:P.ZodUnknown,...p(Q)})};class u1 extends o{_parse(Q){let X=this._getOrReturnCtx(Q);return T(X,{code:b.invalid_type,expected:R.never,received:X.parsedType}),u}}u1.create=(Q)=>{return new u1({typeName:P.ZodNever,...p(Q)})};class q4 extends o{_parse(Q){if(this._getType(Q)!==R.undefined){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:R.void,received:Y.parsedType}),u}return u0(Q.data)}}q4.create=(Q)=>{return new q4({typeName:P.ZodVoid,...p(Q)})};class w1 extends o{_parse(Q){let{ctx:X,status:Y}=this._processInputParams(Q),W=this._def;if(X.parsedType!==R.array)return T(X,{code:b.invalid_type,expected:R.array,received:X.parsedType}),u;if(W.exactLength!==null){let J=X.data.length>W.exactLength.value,G=X.data.length<W.exactLength.value;if(J||G)T(X,{code:J?b.too_big:b.too_small,minimum:G?W.exactLength.value:void 0,maximum:J?W.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:W.exactLength.message}),Y.dirty()}if(W.minLength!==null){if(X.data.length<W.minLength.value)T(X,{code:b.too_small,minimum:W.minLength.value,type:"array",inclusive:!0,exact:!1,message:W.minLength.message}),Y.dirty()}if(W.maxLength!==null){if(X.data.length>W.maxLength.value)T(X,{code:b.too_big,maximum:W.maxLength.value,type:"array",inclusive:!0,exact:!1,message:W.maxLength.message}),Y.dirty()}if(X.common.async)return Promise.all([...X.data].map((J,G)=>{return W.type._parseAsync(new N1(X,J,X.path,G))})).then((J)=>{return k0.mergeArray(Y,J)});let $=[...X.data].map((J,G)=>{return W.type._parseSync(new N1(X,J,X.path,G))});return k0.mergeArray(Y,$)}get element(){return this._def.type}min(Q,X){return new w1({...this._def,minLength:{value:Q,message:v.toString(X)}})}max(Q,X){return new w1({...this._def,maxLength:{value:Q,message:v.toString(X)}})}length(Q,X){return new w1({...this._def,exactLength:{value:Q,message:v.toString(X)}})}nonempty(Q){return this.min(1,Q)}}w1.create=(Q,X)=>{return new w1({type:Q,minLength:null,maxLength:null,exactLength:null,typeName:P.ZodArray,...p(X)})};function U9(Q){if(Q instanceof M0){let X={};for(let Y in Q.shape){let W=Q.shape[Y];X[Y]=z1.create(U9(W))}return new M0({...Q._def,shape:()=>X})}else if(Q instanceof w1)return new w1({...Q._def,type:U9(Q.element)});else if(Q instanceof z1)return z1.create(U9(Q.unwrap()));else if(Q instanceof a1)return a1.create(U9(Q.unwrap()));else if(Q instanceof l1)return l1.create(Q.items.map((X)=>U9(X)));else return Q}class M0 extends o{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let Q=this._def.shape(),X=t.objectKeys(Q);return this._cached={shape:Q,keys:X},this._cached}_parse(Q){if(this._getType(Q)!==R.object){let B=this._getOrReturnCtx(Q);return T(B,{code:b.invalid_type,expected:R.object,received:B.parsedType}),u}let{status:Y,ctx:W}=this._processInputParams(Q),{shape:$,keys:J}=this._getCached(),G=[];if(!(this._def.catchall instanceof u1&&this._def.unknownKeys==="strip")){for(let B in W.data)if(!J.includes(B))G.push(B)}let H=[];for(let B of J){let z=$[B],K=W.data[B];H.push({key:{status:"valid",value:B},value:z._parse(new N1(W,K,W.path,B)),alwaysSet:B in W.data})}if(this._def.catchall instanceof u1){let B=this._def.unknownKeys;if(B==="passthrough")for(let z of G)H.push({key:{status:"valid",value:z},value:{status:"valid",value:W.data[z]}});else if(B==="strict"){if(G.length>0)T(W,{code:b.unrecognized_keys,keys:G}),Y.dirty()}else if(B==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let B=this._def.catchall;for(let z of G){let K=W.data[z];H.push({key:{status:"valid",value:z},value:B._parse(new N1(W,K,W.path,z)),alwaysSet:z in W.data})}}if(W.common.async)return Promise.resolve().then(async()=>{let B=[];for(let z of H){let K=await z.key,V=await z.value;B.push({key:K,value:V,alwaysSet:z.alwaysSet})}return B}).then((B)=>{return k0.mergeObjectSync(Y,B)});else return k0.mergeObjectSync(Y,H)}get shape(){return this._def.shape()}strict(Q){return v.errToObj,new M0({...this._def,unknownKeys:"strict",...Q!==void 0?{errorMap:(X,Y)=>{let W=this._def.errorMap?.(X,Y).message??Y.defaultError;if(X.code==="unrecognized_keys")return{message:v.errToObj(Q).message??W};return{message:W}}}:{}})}strip(){return new M0({...this._def,unknownKeys:"strip"})}passthrough(){return new M0({...this._def,unknownKeys:"passthrough"})}extend(Q){return new M0({...this._def,shape:()=>({...this._def.shape(),...Q})})}merge(Q){return new M0({unknownKeys:Q._def.unknownKeys,catchall:Q._def.catchall,shape:()=>({...this._def.shape(),...Q._def.shape()}),typeName:P.ZodObject})}setKey(Q,X){return this.augment({[Q]:X})}catchall(Q){return new M0({...this._def,catchall:Q})}pick(Q){let X={};for(let Y of t.objectKeys(Q))if(Q[Y]&&this.shape[Y])X[Y]=this.shape[Y];return new M0({...this._def,shape:()=>X})}omit(Q){let X={};for(let Y of t.objectKeys(this.shape))if(!Q[Y])X[Y]=this.shape[Y];return new M0({...this._def,shape:()=>X})}deepPartial(){return U9(this)}partial(Q){let X={};for(let Y of t.objectKeys(this.shape)){let W=this.shape[Y];if(Q&&!Q[Y])X[Y]=W;else X[Y]=W.optional()}return new M0({...this._def,shape:()=>X})}required(Q){let X={};for(let Y of t.objectKeys(this.shape))if(Q&&!Q[Y])X[Y]=this.shape[Y];else{let $=this.shape[Y];while($ instanceof z1)$=$._def.innerType;X[Y]=$}return new M0({...this._def,shape:()=>X})}keyof(){return FG(t.objectKeys(this.shape))}}M0.create=(Q,X)=>{return new M0({shape:()=>Q,unknownKeys:"strip",catchall:u1.create(),typeName:P.ZodObject,...p(X)})};M0.strictCreate=(Q,X)=>{return new M0({shape:()=>Q,unknownKeys:"strict",catchall:u1.create(),typeName:P.ZodObject,...p(X)})};M0.lazycreate=(Q,X)=>{return new M0({shape:Q,unknownKeys:"strip",catchall:u1.create(),typeName:P.ZodObject,...p(X)})};class b9 extends o{_parse(Q){let{ctx:X}=this._processInputParams(Q),Y=this._def.options;function W($){for(let G of $)if(G.result.status==="valid")return G.result;for(let G of $)if(G.result.status==="dirty")return X.common.issues.push(...G.ctx.common.issues),G.result;let J=$.map((G)=>new t0(G.ctx.common.issues));return T(X,{code:b.invalid_union,unionErrors:J}),u}if(X.common.async)return Promise.all(Y.map(async($)=>{let J={...X,common:{...X.common,issues:[]},parent:null};return{result:await $._parseAsync({data:X.data,path:X.path,parent:J}),ctx:J}})).then(W);else{let $=void 0,J=[];for(let H of Y){let B={...X,common:{...X.common,issues:[]},parent:null},z=H._parseSync({data:X.data,path:X.path,parent:B});if(z.status==="valid")return z;else if(z.status==="dirty"&&!$)$={result:z,ctx:B};if(B.common.issues.length)J.push(B.common.issues)}if($)return X.common.issues.push(...$.ctx.common.issues),$.result;let G=J.map((H)=>new t0(H));return T(X,{code:b.invalid_union,unionErrors:G}),u}}get options(){return this._def.options}}b9.create=(Q,X)=>{return new b9({options:Q,typeName:P.ZodUnion,...p(X)})};var t1=(Q)=>{if(Q instanceof Z9)return t1(Q.schema);else if(Q instanceof q1)return t1(Q.innerType());else if(Q instanceof R9)return[Q.value];else if(Q instanceof L6)return Q.options;else if(Q instanceof E9)return t.objectValues(Q.enum);else if(Q instanceof S9)return t1(Q._def.innerType);else if(Q instanceof q9)return[void 0];else if(Q instanceof M9)return[null];else if(Q instanceof z1)return[void 0,...t1(Q.unwrap())];else if(Q instanceof a1)return[null,...t1(Q.unwrap())];else if(Q instanceof XQ)return t1(Q.unwrap());else if(Q instanceof C9)return t1(Q.unwrap());else if(Q instanceof I9)return t1(Q._def.innerType);else return[]};class QQ extends o{_parse(Q){let{ctx:X}=this._processInputParams(Q);if(X.parsedType!==R.object)return T(X,{code:b.invalid_type,expected:R.object,received:X.parsedType}),u;let Y=this.discriminator,W=X.data[Y],$=this.optionsMap.get(W);if(!$)return T(X,{code:b.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[Y]}),u;if(X.common.async)return $._parseAsync({data:X.data,path:X.path,parent:X});else return $._parseSync({data:X.data,path:X.path,parent:X})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(Q,X,Y){let W=new Map;for(let $ of X){let J=t1($.shape[Q]);if(!J.length)throw Error(`A discriminator value for key \`${Q}\` could not be extracted from all schema options`);for(let G of J){if(W.has(G))throw Error(`Discriminator property ${String(Q)} has duplicate value ${String(G)}`);W.set(G,$)}}return new QQ({typeName:P.ZodDiscriminatedUnion,discriminator:Q,options:X,optionsMap:W,...p(Y)})}}function pY(Q,X){let Y=h1(Q),W=h1(X);if(Q===X)return{valid:!0,data:Q};else if(Y===R.object&&W===R.object){let $=t.objectKeys(X),J=t.objectKeys(Q).filter((H)=>$.indexOf(H)!==-1),G={...Q,...X};for(let H of J){let B=pY(Q[H],X[H]);if(!B.valid)return{valid:!1};G[H]=B.data}return{valid:!0,data:G}}else if(Y===R.array&&W===R.array){if(Q.length!==X.length)return{valid:!1};let $=[];for(let J=0;J<Q.length;J++){let G=Q[J],H=X[J],B=pY(G,H);if(!B.valid)return{valid:!1};$.push(B.data)}return{valid:!0,data:$}}else if(Y===R.date&&W===R.date&&+Q===+X)return{valid:!0,data:Q};else return{valid:!1}}class P9 extends o{_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q),W=($,J)=>{if(s8($)||s8(J))return u;let G=pY($.value,J.value);if(!G.valid)return T(Y,{code:b.invalid_intersection_types}),u;if(e8($)||e8(J))X.dirty();return{status:X.value,value:G.data}};if(Y.common.async)return Promise.all([this._def.left._parseAsync({data:Y.data,path:Y.path,parent:Y}),this._def.right._parseAsync({data:Y.data,path:Y.path,parent:Y})]).then(([$,J])=>W($,J));else return W(this._def.left._parseSync({data:Y.data,path:Y.path,parent:Y}),this._def.right._parseSync({data:Y.data,path:Y.path,parent:Y}))}}P9.create=(Q,X,Y)=>{return new P9({left:Q,right:X,typeName:P.ZodIntersection,...p(Y)})};class l1 extends o{_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q);if(Y.parsedType!==R.array)return T(Y,{code:b.invalid_type,expected:R.array,received:Y.parsedType}),u;if(Y.data.length<this._def.items.length)return T(Y,{code:b.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),u;if(!this._def.rest&&Y.data.length>this._def.items.length)T(Y,{code:b.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),X.dirty();let $=[...Y.data].map((J,G)=>{let H=this._def.items[G]||this._def.rest;if(!H)return null;return H._parse(new N1(Y,J,Y.path,G))}).filter((J)=>!!J);if(Y.common.async)return Promise.all($).then((J)=>{return k0.mergeArray(X,J)});else return k0.mergeArray(X,$)}get items(){return this._def.items}rest(Q){return new l1({...this._def,rest:Q})}}l1.create=(Q,X)=>{if(!Array.isArray(Q))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new l1({items:Q,typeName:P.ZodTuple,rest:null,...p(X)})};class M4 extends o{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q);if(Y.parsedType!==R.object)return T(Y,{code:b.invalid_type,expected:R.object,received:Y.parsedType}),u;let W=[],$=this._def.keyType,J=this._def.valueType;for(let G in Y.data)W.push({key:$._parse(new N1(Y,G,Y.path,G)),value:J._parse(new N1(Y,Y.data[G],Y.path,G)),alwaysSet:G in Y.data});if(Y.common.async)return k0.mergeObjectAsync(X,W);else return k0.mergeObjectSync(X,W)}get element(){return this._def.valueType}static create(Q,X,Y){if(X instanceof o)return new M4({keyType:Q,valueType:X,typeName:P.ZodRecord,...p(Y)});return new M4({keyType:U1.create(),valueType:Q,typeName:P.ZodRecord,...p(X)})}}class b4 extends o{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q);if(Y.parsedType!==R.map)return T(Y,{code:b.invalid_type,expected:R.map,received:Y.parsedType}),u;let W=this._def.keyType,$=this._def.valueType,J=[...Y.data.entries()].map(([G,H],B)=>{return{key:W._parse(new N1(Y,G,Y.path,[B,"key"])),value:$._parse(new N1(Y,H,Y.path,[B,"value"]))}});if(Y.common.async){let G=new Map;return Promise.resolve().then(async()=>{for(let H of J){let B=await H.key,z=await H.value;if(B.status==="aborted"||z.status==="aborted")return u;if(B.status==="dirty"||z.status==="dirty")X.dirty();G.set(B.value,z.value)}return{status:X.value,value:G}})}else{let G=new Map;for(let H of J){let{key:B,value:z}=H;if(B.status==="aborted"||z.status==="aborted")return u;if(B.status==="dirty"||z.status==="dirty")X.dirty();G.set(B.value,z.value)}return{status:X.value,value:G}}}}b4.create=(Q,X,Y)=>{return new b4({valueType:X,keyType:Q,typeName:P.ZodMap,...p(Y)})};class p6 extends o{_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q);if(Y.parsedType!==R.set)return T(Y,{code:b.invalid_type,expected:R.set,received:Y.parsedType}),u;let W=this._def;if(W.minSize!==null){if(Y.data.size<W.minSize.value)T(Y,{code:b.too_small,minimum:W.minSize.value,type:"set",inclusive:!0,exact:!1,message:W.minSize.message}),X.dirty()}if(W.maxSize!==null){if(Y.data.size>W.maxSize.value)T(Y,{code:b.too_big,maximum:W.maxSize.value,type:"set",inclusive:!0,exact:!1,message:W.maxSize.message}),X.dirty()}let $=this._def.valueType;function J(H){let B=new Set;for(let z of H){if(z.status==="aborted")return u;if(z.status==="dirty")X.dirty();B.add(z.value)}return{status:X.value,value:B}}let G=[...Y.data.values()].map((H,B)=>$._parse(new N1(Y,H,Y.path,B)));if(Y.common.async)return Promise.all(G).then((H)=>J(H));else return J(G)}min(Q,X){return new p6({...this._def,minSize:{value:Q,message:v.toString(X)}})}max(Q,X){return new p6({...this._def,maxSize:{value:Q,message:v.toString(X)}})}size(Q,X){return this.min(Q,X).max(Q,X)}nonempty(Q){return this.min(1,Q)}}p6.create=(Q,X)=>{return new p6({valueType:Q,minSize:null,maxSize:null,typeName:P.ZodSet,...p(X)})};class w9 extends o{constructor(){super(...arguments);this.validate=this.implement}_parse(Q){let{ctx:X}=this._processInputParams(Q);if(X.parsedType!==R.function)return T(X,{code:b.invalid_type,expected:R.function,received:X.parsedType}),u;function Y(G,H){return w4({data:G,path:X.path,errorMaps:[X.common.contextualErrorMap,X.schemaErrorMap,O9(),r1].filter((B)=>!!B),issueData:{code:b.invalid_arguments,argumentsError:H}})}function W(G,H){return w4({data:G,path:X.path,errorMaps:[X.common.contextualErrorMap,X.schemaErrorMap,O9(),r1].filter((B)=>!!B),issueData:{code:b.invalid_return_type,returnTypeError:H}})}let $={errorMap:X.common.contextualErrorMap},J=X.data;if(this._def.returns instanceof d6){let G=this;return u0(async function(...H){let B=new t0([]),z=await G._def.args.parseAsync(H,$).catch((A)=>{throw B.addIssue(Y(H,A)),B}),K=await Reflect.apply(J,this,z);return await G._def.returns._def.type.parseAsync(K,$).catch((A)=>{throw B.addIssue(W(K,A)),B})})}else{let G=this;return u0(function(...H){let B=G._def.args.safeParse(H,$);if(!B.success)throw new t0([Y(H,B.error)]);let z=Reflect.apply(J,this,B.data),K=G._def.returns.safeParse(z,$);if(!K.success)throw new t0([W(z,K.error)]);return K.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...Q){return new w9({...this._def,args:l1.create(Q).rest(A6.create())})}returns(Q){return new w9({...this._def,returns:Q})}implement(Q){return this.parse(Q)}strictImplement(Q){return this.parse(Q)}static create(Q,X,Y){return new w9({args:Q?Q:l1.create([]).rest(A6.create()),returns:X||A6.create(),typeName:P.ZodFunction,...p(Y)})}}class Z9 extends o{get schema(){return this._def.getter()}_parse(Q){let{ctx:X}=this._processInputParams(Q);return this._def.getter()._parse({data:X.data,path:X.path,parent:X})}}Z9.create=(Q,X)=>{return new Z9({getter:Q,typeName:P.ZodLazy,...p(X)})};class R9 extends o{_parse(Q){if(Q.data!==this._def.value){let X=this._getOrReturnCtx(Q);return T(X,{received:X.data,code:b.invalid_literal,expected:this._def.value}),u}return{status:"valid",value:Q.data}}get value(){return this._def.value}}R9.create=(Q,X)=>{return new R9({value:Q,typeName:P.ZodLiteral,...p(X)})};function FG(Q,X){return new L6({values:Q,typeName:P.ZodEnum,...p(X)})}class L6 extends o{_parse(Q){if(typeof Q.data!=="string"){let X=this._getOrReturnCtx(Q),Y=this._def.values;return T(X,{expected:t.joinValues(Y),received:X.parsedType,code:b.invalid_type}),u}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(Q.data)){let X=this._getOrReturnCtx(Q),Y=this._def.values;return T(X,{received:X.data,code:b.invalid_enum_value,options:Y}),u}return u0(Q.data)}get options(){return this._def.values}get enum(){let Q={};for(let X of this._def.values)Q[X]=X;return Q}get Values(){let Q={};for(let X of this._def.values)Q[X]=X;return Q}get Enum(){let Q={};for(let X of this._def.values)Q[X]=X;return Q}extract(Q,X=this._def){return L6.create(Q,{...this._def,...X})}exclude(Q,X=this._def){return L6.create(this.options.filter((Y)=>!Q.includes(Y)),{...this._def,...X})}}L6.create=FG;class E9 extends o{_parse(Q){let X=t.getValidEnumValues(this._def.values),Y=this._getOrReturnCtx(Q);if(Y.parsedType!==R.string&&Y.parsedType!==R.number){let W=t.objectValues(X);return T(Y,{expected:t.joinValues(W),received:Y.parsedType,code:b.invalid_type}),u}if(!this._cache)this._cache=new Set(t.getValidEnumValues(this._def.values));if(!this._cache.has(Q.data)){let W=t.objectValues(X);return T(Y,{received:Y.data,code:b.invalid_enum_value,options:W}),u}return u0(Q.data)}get enum(){return this._def.values}}E9.create=(Q,X)=>{return new E9({values:Q,typeName:P.ZodNativeEnum,...p(X)})};class d6 extends o{unwrap(){return this._def.type}_parse(Q){let{ctx:X}=this._processInputParams(Q);if(X.parsedType!==R.promise&&X.common.async===!1)return T(X,{code:b.invalid_type,expected:R.promise,received:X.parsedType}),u;let Y=X.parsedType===R.promise?X.data:Promise.resolve(X.data);return u0(Y.then((W)=>{return this._def.type.parseAsync(W,{path:X.path,errorMap:X.common.contextualErrorMap})}))}}d6.create=(Q,X)=>{return new d6({type:Q,typeName:P.ZodPromise,...p(X)})};class q1 extends o{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===P.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q),W=this._def.effect||null,$={addIssue:(J)=>{if(T(Y,J),J.fatal)X.abort();else X.dirty()},get path(){return Y.path}};if($.addIssue=$.addIssue.bind($),W.type==="preprocess"){let J=W.transform(Y.data,$);if(Y.common.async)return Promise.resolve(J).then(async(G)=>{if(X.value==="aborted")return u;let H=await this._def.schema._parseAsync({data:G,path:Y.path,parent:Y});if(H.status==="aborted")return u;if(H.status==="dirty")return l6(H.value);if(X.value==="dirty")return l6(H.value);return H});else{if(X.value==="aborted")return u;let G=this._def.schema._parseSync({data:J,path:Y.path,parent:Y});if(G.status==="aborted")return u;if(G.status==="dirty")return l6(G.value);if(X.value==="dirty")return l6(G.value);return G}}if(W.type==="refinement"){let J=(G)=>{let H=W.refinement(G,$);if(Y.common.async)return Promise.resolve(H);if(H instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return G};if(Y.common.async===!1){let G=this._def.schema._parseSync({data:Y.data,path:Y.path,parent:Y});if(G.status==="aborted")return u;if(G.status==="dirty")X.dirty();return J(G.value),{status:X.value,value:G.value}}else return this._def.schema._parseAsync({data:Y.data,path:Y.path,parent:Y}).then((G)=>{if(G.status==="aborted")return u;if(G.status==="dirty")X.dirty();return J(G.value).then(()=>{return{status:X.value,value:G.value}})})}if(W.type==="transform")if(Y.common.async===!1){let J=this._def.schema._parseSync({data:Y.data,path:Y.path,parent:Y});if(!V6(J))return u;let G=W.transform(J.value,$);if(G instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:X.value,value:G}}else return this._def.schema._parseAsync({data:Y.data,path:Y.path,parent:Y}).then((J)=>{if(!V6(J))return u;return Promise.resolve(W.transform(J.value,$)).then((G)=>({status:X.value,value:G}))});t.assertNever(W)}}q1.create=(Q,X,Y)=>{return new q1({schema:Q,typeName:P.ZodEffects,effect:X,...p(Y)})};q1.createWithPreprocess=(Q,X,Y)=>{return new q1({schema:X,effect:{type:"preprocess",transform:Q},typeName:P.ZodEffects,...p(Y)})};class z1 extends o{_parse(Q){if(this._getType(Q)===R.undefined)return u0(void 0);return this._def.innerType._parse(Q)}unwrap(){return this._def.innerType}}z1.create=(Q,X)=>{return new z1({innerType:Q,typeName:P.ZodOptional,...p(X)})};class a1 extends o{_parse(Q){if(this._getType(Q)===R.null)return u0(null);return this._def.innerType._parse(Q)}unwrap(){return this._def.innerType}}a1.create=(Q,X)=>{return new a1({innerType:Q,typeName:P.ZodNullable,...p(X)})};class S9 extends o{_parse(Q){let{ctx:X}=this._processInputParams(Q),Y=X.data;if(X.parsedType===R.undefined)Y=this._def.defaultValue();return this._def.innerType._parse({data:Y,path:X.path,parent:X})}removeDefault(){return this._def.innerType}}S9.create=(Q,X)=>{return new S9({innerType:Q,typeName:P.ZodDefault,defaultValue:typeof X.default==="function"?X.default:()=>X.default,...p(X)})};class I9 extends o{_parse(Q){let{ctx:X}=this._processInputParams(Q),Y={...X,common:{...X.common,issues:[]}},W=this._def.innerType._parse({data:Y.data,path:Y.path,parent:{...Y}});if(j9(W))return W.then(($)=>{return{status:"valid",value:$.status==="valid"?$.value:this._def.catchValue({get error(){return new t0(Y.common.issues)},input:Y.data})}});else return{status:"valid",value:W.status==="valid"?W.value:this._def.catchValue({get error(){return new t0(Y.common.issues)},input:Y.data})}}removeCatch(){return this._def.innerType}}I9.create=(Q,X)=>{return new I9({innerType:Q,typeName:P.ZodCatch,catchValue:typeof X.catch==="function"?X.catch:()=>X.catch,...p(X)})};class P4 extends o{_parse(Q){if(this._getType(Q)!==R.nan){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:R.nan,received:Y.parsedType}),u}return{status:"valid",value:Q.data}}}P4.create=(Q)=>{return new P4({typeName:P.ZodNaN,...p(Q)})};var VU=Symbol("zod_brand");class XQ extends o{_parse(Q){let{ctx:X}=this._processInputParams(Q),Y=X.data;return this._def.type._parse({data:Y,path:X.path,parent:X})}unwrap(){return this._def.type}}class Z4 extends o{_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q);if(Y.common.async)return(async()=>{let $=await this._def.in._parseAsync({data:Y.data,path:Y.path,parent:Y});if($.status==="aborted")return u;if($.status==="dirty")return X.dirty(),l6($.value);else return this._def.out._parseAsync({data:$.value,path:Y.path,parent:Y})})();else{let W=this._def.in._parseSync({data:Y.data,path:Y.path,parent:Y});if(W.status==="aborted")return u;if(W.status==="dirty")return X.dirty(),{status:"dirty",value:W.value};else return this._def.out._parseSync({data:W.value,path:Y.path,parent:Y})}}static create(Q,X){return new Z4({in:Q,out:X,typeName:P.ZodPipeline})}}class C9 extends o{_parse(Q){let X=this._def.innerType._parse(Q),Y=(W)=>{if(V6(W))W.value=Object.freeze(W.value);return W};return j9(X)?X.then((W)=>Y(W)):Y(X)}unwrap(){return this._def.innerType}}C9.create=(Q,X)=>{return new C9({innerType:Q,typeName:P.ZodReadonly,...p(X)})};function zG(Q,X){let Y=typeof Q==="function"?Q(X):typeof Q==="string"?{message:Q}:Q;return typeof Y==="string"?{message:Y}:Y}function DG(Q,X={},Y){if(Q)return c6.create().superRefine((W,$)=>{let J=Q(W);if(J instanceof Promise)return J.then((G)=>{if(!G){let H=zG(X,W),B=H.fatal??Y??!0;$.addIssue({code:"custom",...H,fatal:B})}});if(!J){let G=zG(X,W),H=G.fatal??Y??!0;$.addIssue({code:"custom",...G,fatal:H})}return});return c6.create()}var AU={object:M0.lazycreate},P;(function(Q){Q.ZodString="ZodString",Q.ZodNumber="ZodNumber",Q.ZodNaN="ZodNaN",Q.ZodBigInt="ZodBigInt",Q.ZodBoolean="ZodBoolean",Q.ZodDate="ZodDate",Q.ZodSymbol="ZodSymbol",Q.ZodUndefined="ZodUndefined",Q.ZodNull="ZodNull",Q.ZodAny="ZodAny",Q.ZodUnknown="ZodUnknown",Q.ZodNever="ZodNever",Q.ZodVoid="ZodVoid",Q.ZodArray="ZodArray",Q.ZodObject="ZodObject",Q.ZodUnion="ZodUnion",Q.ZodDiscriminatedUnion="ZodDiscriminatedUnion",Q.ZodIntersection="ZodIntersection",Q.ZodTuple="ZodTuple",Q.ZodRecord="ZodRecord",Q.ZodMap="ZodMap",Q.ZodSet="ZodSet",Q.ZodFunction="ZodFunction",Q.ZodLazy="ZodLazy",Q.ZodLiteral="ZodLiteral",Q.ZodEnum="ZodEnum",Q.ZodEffects="ZodEffects",Q.ZodNativeEnum="ZodNativeEnum",Q.ZodOptional="ZodOptional",Q.ZodNullable="ZodNullable",Q.ZodDefault="ZodDefault",Q.ZodCatch="ZodCatch",Q.ZodPromise="ZodPromise",Q.ZodBranded="ZodBranded",Q.ZodPipeline="ZodPipeline",Q.ZodReadonly="ZodReadonly"})(P||(P={}));var FU=(Q,X={message:`Input not instance of ${Q.name}`})=>DG((Y)=>Y instanceof Q,X),LG=U1.create,OG=F6.create,DU=P4.create,LU=D6.create,jG=N9.create,OU=m6.create,jU=N4.create,UU=q9.create,wU=M9.create,NU=c6.create,qU=A6.create,MU=u1.create,bU=q4.create,PU=w1.create,dY=M0.create,ZU=M0.strictCreate,RU=b9.create,EU=QQ.create,SU=P9.create,IU=l1.create,CU=M4.create,TU=b4.create,kU=p6.create,vU=w9.create,_U=Z9.create,xU=R9.create,yU=L6.create,fU=E9.create,gU=d6.create,hU=q1.create,uU=z1.create,lU=a1.create,mU=q1.createWithPreprocess,cU=Z4.create,pU=()=>LG().optional(),dU=()=>OG().optional(),iU=()=>jG().optional(),nU={string:(Q)=>U1.create({...Q,coerce:!0}),number:(Q)=>F6.create({...Q,coerce:!0}),boolean:(Q)=>N9.create({...Q,coerce:!0}),bigint:(Q)=>D6.create({...Q,coerce:!0}),date:(Q)=>m6.create({...Q,coerce:!0})};var oU=u;var WQ=Object.freeze({status:"aborted"});function w(Q,X,Y){function W(H,B){var z;Object.defineProperty(H,"_zod",{value:H._zod??{},enumerable:!1}),(z=H._zod).traits??(z.traits=new Set),H._zod.traits.add(Q),X(H,B);for(let K in G.prototype)if(!(K in H))Object.defineProperty(H,K,{value:G.prototype[K].bind(H)});H._zod.constr=G,H._zod.def=B}let $=Y?.Parent??Object;class J extends ${}Object.defineProperty(J,"name",{value:Q});function G(H){var B;let z=Y?.Parent?new J:this;W(z,H),(B=z._zod).deferred??(B.deferred=[]);for(let K of z._zod.deferred)K();return z}return Object.defineProperty(G,"init",{value:W}),Object.defineProperty(G,Symbol.hasInstance,{value:(H)=>{if(Y?.Parent&&H instanceof Y.Parent)return!0;return H?._zod?.traits?.has(Q)}}),Object.defineProperty(G,"name",{value:Q}),G}var UG=Symbol("zod_brand");class O6 extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}var YQ={};function a0(Q){if(Q)Object.assign(YQ,Q);return YQ}var a={};a8(a,{unwrapMessage:()=>R4,stringifyPrimitive:()=>GQ,required:()=>Vw,randomString:()=>Yw,propertyKeyTypes:()=>aY,promiseAllObject:()=>Xw,primitiveTypes:()=>wG,prefixIssues:()=>m1,pick:()=>Gw,partial:()=>Kw,optionalKeys:()=>sY,omit:()=>Hw,numKeys:()=>Ww,nullish:()=>I4,normalizeParams:()=>f,merge:()=>zw,jsonStringifyReplacer:()=>nY,joinValues:()=>$Q,issue:()=>QW,isPlainObject:()=>k9,isObject:()=>T9,getSizableOrigin:()=>qG,getParsedType:()=>$w,getLengthableOrigin:()=>T4,getEnumValues:()=>E4,getElementAtPath:()=>Qw,floatSafeRemainder:()=>oY,finalizeIssue:()=>M1,extend:()=>Bw,escapeRegex:()=>j6,esc:()=>i6,defineLazy:()=>A0,createTransparentProxy:()=>Jw,clone:()=>s0,cleanRegex:()=>C4,cleanEnum:()=>Aw,captureStackTrace:()=>JQ,cached:()=>S4,assignProp:()=>rY,assertNotEqual:()=>tU,assertNever:()=>sU,assertIs:()=>aU,assertEqual:()=>rU,assert:()=>eU,allowsEval:()=>tY,aborted:()=>n6,NUMBER_FORMAT_RANGES:()=>eY,Class:()=>MG,BIGINT_FORMAT_RANGES:()=>NG});function rU(Q){return Q}function tU(Q){return Q}function aU(Q){}function sU(Q){throw Error()}function eU(Q){}function E4(Q){let X=Object.values(Q).filter((W)=>typeof W==="number");return Object.entries(Q).filter(([W,$])=>X.indexOf(+W)===-1).map(([W,$])=>$)}function $Q(Q,X="|"){return Q.map((Y)=>GQ(Y)).join(X)}function nY(Q,X){if(typeof X==="bigint")return X.toString();return X}function S4(Q){return{get value(){{let Y=Q();return Object.defineProperty(this,"value",{value:Y}),Y}throw Error("cached value already set")}}}function I4(Q){return Q===null||Q===void 0}function C4(Q){let X=Q.startsWith("^")?1:0,Y=Q.endsWith("$")?Q.length-1:Q.length;return Q.slice(X,Y)}function oY(Q,X){let Y=(Q.toString().split(".")[1]||"").length,W=(X.toString().split(".")[1]||"").length,$=Y>W?Y:W,J=Number.parseInt(Q.toFixed($).replace(".","")),G=Number.parseInt(X.toFixed($).replace(".",""));return J%G/10**$}function A0(Q,X,Y){Object.defineProperty(Q,X,{get(){{let $=Y();return Q[X]=$,$}throw Error("cached value already set")},set($){Object.defineProperty(Q,X,{value:$})},configurable:!0})}function rY(Q,X,Y){Object.defineProperty(Q,X,{value:Y,writable:!0,enumerable:!0,configurable:!0})}function Qw(Q,X){if(!X)return Q;return X.reduce((Y,W)=>Y?.[W],Q)}function Xw(Q){let X=Object.keys(Q),Y=X.map((W)=>Q[W]);return Promise.all(Y).then((W)=>{let $={};for(let J=0;J<X.length;J++)$[X[J]]=W[J];return $})}function Yw(Q=10){let Y="";for(let W=0;W<Q;W++)Y+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return Y}function i6(Q){return JSON.stringify(Q)}var JQ=Error.captureStackTrace?Error.captureStackTrace:(...Q)=>{};function T9(Q){return typeof Q==="object"&&Q!==null&&!Array.isArray(Q)}var tY=S4(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(Q){return!1}});function k9(Q){if(T9(Q)===!1)return!1;let X=Q.constructor;if(X===void 0)return!0;let Y=X.prototype;if(T9(Y)===!1)return!1;if(Object.prototype.hasOwnProperty.call(Y,"isPrototypeOf")===!1)return!1;return!0}function Ww(Q){let X=0;for(let Y in Q)if(Object.prototype.hasOwnProperty.call(Q,Y))X++;return X}var $w=(Q)=>{let X=typeof Q;switch(X){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(Q)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray(Q))return"array";if(Q===null)return"null";if(Q.then&&typeof Q.then==="function"&&Q.catch&&typeof Q.catch==="function")return"promise";if(typeof Map<"u"&&Q instanceof Map)return"map";if(typeof Set<"u"&&Q instanceof Set)return"set";if(typeof Date<"u"&&Q instanceof Date)return"date";if(typeof File<"u"&&Q instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${X}`)}},aY=new Set(["string","number","symbol"]),wG=new Set(["string","number","bigint","boolean","symbol","undefined"]);function j6(Q){return Q.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function s0(Q,X,Y){let W=new Q._zod.constr(X??Q._zod.def);if(!X||Y?.parent)W._zod.parent=Q;return W}function f(Q){let X=Q;if(!X)return{};if(typeof X==="string")return{error:()=>X};if(X?.message!==void 0){if(X?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");X.error=X.message}if(delete X.message,typeof X.error==="string")return{...X,error:()=>X.error};return X}function Jw(Q){let X;return new Proxy({},{get(Y,W,$){return X??(X=Q()),Reflect.get(X,W,$)},set(Y,W,$,J){return X??(X=Q()),Reflect.set(X,W,$,J)},has(Y,W){return X??(X=Q()),Reflect.has(X,W)},deleteProperty(Y,W){return X??(X=Q()),Reflect.deleteProperty(X,W)},ownKeys(Y){return X??(X=Q()),Reflect.ownKeys(X)},getOwnPropertyDescriptor(Y,W){return X??(X=Q()),Reflect.getOwnPropertyDescriptor(X,W)},defineProperty(Y,W,$){return X??(X=Q()),Reflect.defineProperty(X,W,$)}})}function GQ(Q){if(typeof Q==="bigint")return Q.toString()+"n";if(typeof Q==="string")return`"${Q}"`;return`${Q}`}function sY(Q){return Object.keys(Q).filter((X)=>{return Q[X]._zod.optin==="optional"&&Q[X]._zod.optout==="optional"})}var eY={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},NG={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function Gw(Q,X){let Y={},W=Q._zod.def;for(let $ in X){if(!($ in W.shape))throw Error(`Unrecognized key: "${$}"`);if(!X[$])continue;Y[$]=W.shape[$]}return s0(Q,{...Q._zod.def,shape:Y,checks:[]})}function Hw(Q,X){let Y={...Q._zod.def.shape},W=Q._zod.def;for(let $ in X){if(!($ in W.shape))throw Error(`Unrecognized key: "${$}"`);if(!X[$])continue;delete Y[$]}return s0(Q,{...Q._zod.def,shape:Y,checks:[]})}function Bw(Q,X){if(!k9(X))throw Error("Invalid input to extend: expected a plain object");let Y={...Q._zod.def,get shape(){let W={...Q._zod.def.shape,...X};return rY(this,"shape",W),W},checks:[]};return s0(Q,Y)}function zw(Q,X){return s0(Q,{...Q._zod.def,get shape(){let Y={...Q._zod.def.shape,...X._zod.def.shape};return rY(this,"shape",Y),Y},catchall:X._zod.def.catchall,checks:[]})}function Kw(Q,X,Y){let W=X._zod.def.shape,$={...W};if(Y)for(let J in Y){if(!(J in W))throw Error(`Unrecognized key: "${J}"`);if(!Y[J])continue;$[J]=Q?new Q({type:"optional",innerType:W[J]}):W[J]}else for(let J in W)$[J]=Q?new Q({type:"optional",innerType:W[J]}):W[J];return s0(X,{...X._zod.def,shape:$,checks:[]})}function Vw(Q,X,Y){let W=X._zod.def.shape,$={...W};if(Y)for(let J in Y){if(!(J in $))throw Error(`Unrecognized key: "${J}"`);if(!Y[J])continue;$[J]=new Q({type:"nonoptional",innerType:W[J]})}else for(let J in W)$[J]=new Q({type:"nonoptional",innerType:W[J]});return s0(X,{...X._zod.def,shape:$,checks:[]})}function n6(Q,X=0){for(let Y=X;Y<Q.issues.length;Y++)if(Q.issues[Y]?.continue!==!0)return!0;return!1}function m1(Q,X){return X.map((Y)=>{var W;return(W=Y).path??(W.path=[]),Y.path.unshift(Q),Y})}function R4(Q){return typeof Q==="string"?Q:Q?.message}function M1(Q,X,Y){let W={...Q,path:Q.path??[]};if(!Q.message){let $=R4(Q.inst?._zod.def?.error?.(Q))??R4(X?.error?.(Q))??R4(Y.customError?.(Q))??R4(Y.localeError?.(Q))??"Invalid input";W.message=$}if(delete W.inst,delete W.continue,!X?.reportInput)delete W.input;return W}function qG(Q){if(Q instanceof Set)return"set";if(Q instanceof Map)return"map";if(Q instanceof File)return"file";return"unknown"}function T4(Q){if(Array.isArray(Q))return"array";if(typeof Q==="string")return"string";return"unknown"}function QW(...Q){let[X,Y,W]=Q;if(typeof X==="string")return{message:X,code:"custom",input:Y,inst:W};return{...X}}function Aw(Q){return Object.entries(Q).filter(([X,Y])=>{return Number.isNaN(Number.parseInt(X,10))}).map((X)=>X[1])}class MG{constructor(...Q){}}var bG=(Q,X)=>{Q.name="$ZodError",Object.defineProperty(Q,"_zod",{value:Q._zod,enumerable:!1}),Object.defineProperty(Q,"issues",{value:X,enumerable:!1}),Object.defineProperty(Q,"message",{get(){return JSON.stringify(X,nY,2)},enumerable:!0}),Object.defineProperty(Q,"toString",{value:()=>Q.message,enumerable:!1})},HQ=w("$ZodError",bG),k4=w("$ZodError",bG,{Parent:Error});function BQ(Q,X=(Y)=>Y.message){let Y={},W=[];for(let $ of Q.issues)if($.path.length>0)Y[$.path[0]]=Y[$.path[0]]||[],Y[$.path[0]].push(X($));else W.push(X($));return{formErrors:W,fieldErrors:Y}}function zQ(Q,X){let Y=X||function(J){return J.message},W={_errors:[]},$=(J)=>{for(let G of J.issues)if(G.code==="invalid_union"&&G.errors.length)G.errors.map((H)=>$({issues:H}));else if(G.code==="invalid_key")$({issues:G.issues});else if(G.code==="invalid_element")$({issues:G.issues});else if(G.path.length===0)W._errors.push(Y(G));else{let H=W,B=0;while(B<G.path.length){let z=G.path[B];if(B!==G.path.length-1)H[z]=H[z]||{_errors:[]};else H[z]=H[z]||{_errors:[]},H[z]._errors.push(Y(G));H=H[z],B++}}};return $(Q),W}var XW=(Q)=>(X,Y,W,$)=>{let J=W?Object.assign(W,{async:!1}):{async:!1},G=X._zod.run({value:Y,issues:[]},J);if(G instanceof Promise)throw new O6;if(G.issues.length){let H=new($?.Err??Q)(G.issues.map((B)=>M1(B,J,a0())));throw JQ(H,$?.callee),H}return G.value},YW=XW(k4),WW=(Q)=>async(X,Y,W,$)=>{let J=W?Object.assign(W,{async:!0}):{async:!0},G=X._zod.run({value:Y,issues:[]},J);if(G instanceof Promise)G=await G;if(G.issues.length){let H=new($?.Err??Q)(G.issues.map((B)=>M1(B,J,a0())));throw JQ(H,$?.callee),H}return G.value},$W=WW(k4),JW=(Q)=>(X,Y,W)=>{let $=W?{...W,async:!1}:{async:!1},J=X._zod.run({value:Y,issues:[]},$);if(J instanceof Promise)throw new O6;return J.issues.length?{success:!1,error:new(Q??HQ)(J.issues.map((G)=>M1(G,$,a0())))}:{success:!0,data:J.value}},o6=JW(k4),GW=(Q)=>async(X,Y,W)=>{let $=W?Object.assign(W,{async:!0}):{async:!0},J=X._zod.run({value:Y,issues:[]},$);if(J instanceof Promise)J=await J;return J.issues.length?{success:!1,error:new Q(J.issues.map((G)=>M1(G,$,a0())))}:{success:!0,data:J.value}},r6=GW(k4);var PG=/^[cC][^\s-]{8,}$/,ZG=/^[0-9a-z]+$/,RG=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,EG=/^[0-9a-vA-V]{20}$/,SG=/^[A-Za-z0-9]{27}$/,IG=/^[a-zA-Z0-9_-]{21}$/,CG=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var TG=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,HW=(Q)=>{if(!Q)return/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${Q}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)};var kG=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;function vG(){return new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")}var _G=/^(?:(?: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])$/,xG=/^(([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})$/,yG=/^((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])$/,fG=/^(([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])$/,gG=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,BW=/^[A-Za-z0-9_-]*$/,hG=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var uG=/^\+(?:[0-9]){6,14}[0-9]$/,lG="(?:(?:\\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])))",mG=new RegExp(`^${lG}$`);function cG(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 pG(Q){return new RegExp(`^${cG(Q)}$`)}function dG(Q){let X=cG({precision:Q.precision}),Y=["Z"];if(Q.local)Y.push("");if(Q.offset)Y.push("([+-]\\d{2}:\\d{2})");let W=`${X}(?:${Y.join("|")})`;return new RegExp(`^${lG}T(?:${W})$`)}var iG=(Q)=>{let X=Q?`[\\s\\S]{${Q?.minimum??0},${Q?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${X}$`)},nG=/^\d+n?$/,oG=/^\d+$/,rG=/^-?\d+(?:\.\d+)?/i,tG=/true|false/i,aG=/null/i;var sG=/^[^A-Z]*$/,eG=/^[^a-z]*$/;var v0=w("$ZodCheck",(Q,X)=>{var Y;Q._zod??(Q._zod={}),Q._zod.def=X,(Y=Q._zod).onattach??(Y.onattach=[])}),QH={number:"number",bigint:"bigint",object:"date"},zW=w("$ZodCheckLessThan",(Q,X)=>{v0.init(Q,X);let Y=QH[typeof X.value];Q._zod.onattach.push((W)=>{let $=W._zod.bag,J=(X.inclusive?$.maximum:$.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(X.value<J)if(X.inclusive)$.maximum=X.value;else $.exclusiveMaximum=X.value}),Q._zod.check=(W)=>{if(X.inclusive?W.value<=X.value:W.value<X.value)return;W.issues.push({origin:Y,code:"too_big",maximum:X.value,input:W.value,inclusive:X.inclusive,inst:Q,continue:!X.abort})}}),KW=w("$ZodCheckGreaterThan",(Q,X)=>{v0.init(Q,X);let Y=QH[typeof X.value];Q._zod.onattach.push((W)=>{let $=W._zod.bag,J=(X.inclusive?$.minimum:$.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(X.value>J)if(X.inclusive)$.minimum=X.value;else $.exclusiveMinimum=X.value}),Q._zod.check=(W)=>{if(X.inclusive?W.value>=X.value:W.value>X.value)return;W.issues.push({origin:Y,code:"too_small",minimum:X.value,input:W.value,inclusive:X.inclusive,inst:Q,continue:!X.abort})}}),XH=w("$ZodCheckMultipleOf",(Q,X)=>{v0.init(Q,X),Q._zod.onattach.push((Y)=>{var W;(W=Y._zod.bag).multipleOf??(W.multipleOf=X.value)}),Q._zod.check=(Y)=>{if(typeof Y.value!==typeof X.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof Y.value==="bigint"?Y.value%X.value===BigInt(0):oY(Y.value,X.value)===0)return;Y.issues.push({origin:typeof Y.value,code:"not_multiple_of",divisor:X.value,input:Y.value,inst:Q,continue:!X.abort})}}),YH=w("$ZodCheckNumberFormat",(Q,X)=>{v0.init(Q,X),X.format=X.format||"float64";let Y=X.format?.includes("int"),W=Y?"int":"number",[$,J]=eY[X.format];Q._zod.onattach.push((G)=>{let H=G._zod.bag;if(H.format=X.format,H.minimum=$,H.maximum=J,Y)H.pattern=oG}),Q._zod.check=(G)=>{let H=G.value;if(Y){if(!Number.isInteger(H)){G.issues.push({expected:W,format:X.format,code:"invalid_type",input:H,inst:Q});return}if(!Number.isSafeInteger(H)){if(H>0)G.issues.push({input:H,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:Q,origin:W,continue:!X.abort});else G.issues.push({input:H,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:Q,origin:W,continue:!X.abort});return}}if(H<$)G.issues.push({origin:"number",input:H,code:"too_small",minimum:$,inclusive:!0,inst:Q,continue:!X.abort});if(H>J)G.issues.push({origin:"number",input:H,code:"too_big",maximum:J,inst:Q})}});var WH=w("$ZodCheckMaxLength",(Q,X)=>{var Y;v0.init(Q,X),(Y=Q._zod.def).when??(Y.when=(W)=>{let $=W.value;return!I4($)&&$.length!==void 0}),Q._zod.onattach.push((W)=>{let $=W._zod.bag.maximum??Number.POSITIVE_INFINITY;if(X.maximum<$)W._zod.bag.maximum=X.maximum}),Q._zod.check=(W)=>{let $=W.value;if($.length<=X.maximum)return;let G=T4($);W.issues.push({origin:G,code:"too_big",maximum:X.maximum,inclusive:!0,input:$,inst:Q,continue:!X.abort})}}),$H=w("$ZodCheckMinLength",(Q,X)=>{var Y;v0.init(Q,X),(Y=Q._zod.def).when??(Y.when=(W)=>{let $=W.value;return!I4($)&&$.length!==void 0}),Q._zod.onattach.push((W)=>{let $=W._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(X.minimum>$)W._zod.bag.minimum=X.minimum}),Q._zod.check=(W)=>{let $=W.value;if($.length>=X.minimum)return;let G=T4($);W.issues.push({origin:G,code:"too_small",minimum:X.minimum,inclusive:!0,input:$,inst:Q,continue:!X.abort})}}),JH=w("$ZodCheckLengthEquals",(Q,X)=>{var Y;v0.init(Q,X),(Y=Q._zod.def).when??(Y.when=(W)=>{let $=W.value;return!I4($)&&$.length!==void 0}),Q._zod.onattach.push((W)=>{let $=W._zod.bag;$.minimum=X.length,$.maximum=X.length,$.length=X.length}),Q._zod.check=(W)=>{let $=W.value,J=$.length;if(J===X.length)return;let G=T4($),H=J>X.length;W.issues.push({origin:G,...H?{code:"too_big",maximum:X.length}:{code:"too_small",minimum:X.length},inclusive:!0,exact:!0,input:W.value,inst:Q,continue:!X.abort})}}),_4=w("$ZodCheckStringFormat",(Q,X)=>{var Y,W;if(v0.init(Q,X),Q._zod.onattach.push(($)=>{let J=$._zod.bag;if(J.format=X.format,X.pattern)J.patterns??(J.patterns=new Set),J.patterns.add(X.pattern)}),X.pattern)(Y=Q._zod).check??(Y.check=($)=>{if(X.pattern.lastIndex=0,X.pattern.test($.value))return;$.issues.push({origin:"string",code:"invalid_format",format:X.format,input:$.value,...X.pattern?{pattern:X.pattern.toString()}:{},inst:Q,continue:!X.abort})});else(W=Q._zod).check??(W.check=()=>{})}),GH=w("$ZodCheckRegex",(Q,X)=>{_4.init(Q,X),Q._zod.check=(Y)=>{if(X.pattern.lastIndex=0,X.pattern.test(Y.value))return;Y.issues.push({origin:"string",code:"invalid_format",format:"regex",input:Y.value,pattern:X.pattern.toString(),inst:Q,continue:!X.abort})}}),HH=w("$ZodCheckLowerCase",(Q,X)=>{X.pattern??(X.pattern=sG),_4.init(Q,X)}),BH=w("$ZodCheckUpperCase",(Q,X)=>{X.pattern??(X.pattern=eG),_4.init(Q,X)}),zH=w("$ZodCheckIncludes",(Q,X)=>{v0.init(Q,X);let Y=j6(X.includes),W=new RegExp(typeof X.position==="number"?`^.{${X.position}}${Y}`:Y);X.pattern=W,Q._zod.onattach.push(($)=>{let J=$._zod.bag;J.patterns??(J.patterns=new Set),J.patterns.add(W)}),Q._zod.check=($)=>{if($.value.includes(X.includes,X.position))return;$.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:X.includes,input:$.value,inst:Q,continue:!X.abort})}}),KH=w("$ZodCheckStartsWith",(Q,X)=>{v0.init(Q,X);let Y=new RegExp(`^${j6(X.prefix)}.*`);X.pattern??(X.pattern=Y),Q._zod.onattach.push((W)=>{let $=W._zod.bag;$.patterns??($.patterns=new Set),$.patterns.add(Y)}),Q._zod.check=(W)=>{if(W.value.startsWith(X.prefix))return;W.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:X.prefix,input:W.value,inst:Q,continue:!X.abort})}}),VH=w("$ZodCheckEndsWith",(Q,X)=>{v0.init(Q,X);let Y=new RegExp(`.*${j6(X.suffix)}$`);X.pattern??(X.pattern=Y),Q._zod.onattach.push((W)=>{let $=W._zod.bag;$.patterns??($.patterns=new Set),$.patterns.add(Y)}),Q._zod.check=(W)=>{if(W.value.endsWith(X.suffix))return;W.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:X.suffix,input:W.value,inst:Q,continue:!X.abort})}});var AH=w("$ZodCheckOverwrite",(Q,X)=>{v0.init(Q,X),Q._zod.check=(Y)=>{Y.value=X.tx(Y.value)}});class VW{constructor(Q=[]){if(this.content=[],this.indent=0,this)this.args=Q}indented(Q){this.indent+=1,Q(this),this.indent-=1}write(Q){if(typeof Q==="function"){Q(this,{execution:"sync"}),Q(this,{execution:"async"});return}let Y=Q.split(`
|
|
16
|
+
deps: ${Y}}`};var Hx={keyword:"dependencies",type:"object",schemaType:"object",error:mL.error,code(Q){let[X,Y]=Bx(Q);uL(Q,X),lL(Q,Y)}};function Bx({schema:Q}){let X={},Y={};for(let W in Q){if(W==="__proto__")continue;let $=Array.isArray(Q[W])?X:Y;$[W]=Q[W]}return[X,Y]}function uL(Q,X=Q.schema){let{gen:Y,data:W,it:$}=Q;if(Object.keys(X).length===0)return;let J=Y.let("missing");for(let G in X){let H=X[G];if(H.length===0)continue;let B=(0,c8.propertyInData)(Y,W,G,$.opts.ownProperties);if(Q.setParams({property:G,depsCount:H.length,deps:H.join(", ")}),$.allErrors)Y.if(B,()=>{for(let z of H)(0,c8.checkReportMissingProp)(Q,z)});else Y.if(LJ._`${B} && (${(0,c8.checkMissingProp)(Q,H,J)})`),(0,c8.reportMissingProp)(Q,J),Y.else()}}mL.validatePropertyDeps=uL;function lL(Q,X=Q.schema){let{gen:Y,data:W,keyword:$,it:J}=Q,G=Y.name("valid");for(let H in X){if((0,Gx.alwaysValidSchema)(J,X[H]))continue;Y.if((0,c8.propertyInData)(Y,W,H,J.opts.ownProperties),()=>{let B=Q.subschema({keyword:$,schemaProp:H},G);Q.mergeValidEvaluated(B,G)},()=>Y.var(G,!0)),Q.ok(G)}}mL.validateSchemaDeps=lL;mL.default=Hx});var oL=N((nL)=>{Object.defineProperty(nL,"__esModule",{value:!0});var iL=n(),Vx=$0(),Ax={message:"property name must be valid",params:({params:Q})=>iL._`{propertyName: ${Q.propertyName}}`},Fx={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Ax,code(Q){let{gen:X,schema:Y,data:W,it:$}=Q;if((0,Vx.alwaysValidSchema)($,Y))return;let J=X.name("valid");X.forIn("key",W,(G)=>{Q.setParams({propertyName:G}),Q.subschema({keyword:"propertyNames",data:G,dataTypes:["string"],propertyName:G,compositeRule:!0},J),X.if((0,iL.not)(J),()=>{if(Q.error(!0),!$.allErrors)X.break()})}),Q.ok(J)}};nL.default=Fx});var OJ=N((rL)=>{Object.defineProperty(rL,"__esModule",{value:!0});var zY=L1(),y1=n(),Lx=B6(),KY=$0(),Ox={message:"must NOT have additional properties",params:({params:Q})=>y1._`{additionalProperty: ${Q.additionalProperty}}`},jx={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:Ox,code(Q){let{gen:X,schema:Y,parentSchema:W,data:$,errsCount:J,it:G}=Q;if(!J)throw Error("ajv implementation error");let{allErrors:H,opts:B}=G;if(G.props=!0,B.removeAdditional!=="all"&&(0,KY.alwaysValidSchema)(G,Y))return;let z=(0,zY.allSchemaProperties)(W.properties),K=(0,zY.allSchemaProperties)(W.patternProperties);V(),Q.ok(y1._`${J} === ${Lx.default.errors}`);function V(){X.forIn("key",$,(O)=>{if(!z.length&&!K.length)L(O);else X.if(A(O),()=>L(O))})}function A(O){let j;if(z.length>8){let q=(0,KY.schemaRefOrVal)(G,W.properties,"properties");j=(0,zY.isOwnProperty)(X,q,O)}else if(z.length)j=(0,y1.or)(...z.map((q)=>y1._`${O} === ${q}`));else j=y1.nil;if(K.length)j=(0,y1.or)(j,...K.map((q)=>y1._`${(0,zY.usePattern)(Q,q)}.test(${O})`));return(0,y1.not)(j)}function F(O){X.code(y1._`delete ${$}[${O}]`)}function L(O){if(B.removeAdditional==="all"||B.removeAdditional&&Y===!1){F(O);return}if(Y===!1){if(Q.setParams({additionalProperty:O}),Q.error(),!H)X.break();return}if(typeof Y=="object"&&!(0,KY.alwaysValidSchema)(G,Y)){let j=X.name("valid");if(B.removeAdditional==="failing")D(O,j,!1),X.if((0,y1.not)(j),()=>{Q.reset(),F(O)});else if(D(O,j),!H)X.if((0,y1.not)(j),()=>X.break())}}function D(O,j,q){let M={keyword:"additionalProperties",dataProp:O,dataPropType:KY.Type.Str};if(q===!1)Object.assign(M,{compositeRule:!0,createErrors:!1,allErrors:!1});Q.subschema(M,j)}}};rL.default=jx});var eL=N((sL)=>{Object.defineProperty(sL,"__esModule",{value:!0});var wx=k8(),tL=L1(),jJ=$0(),aL=OJ(),Nx={keyword:"properties",type:"object",schemaType:"object",code(Q){let{gen:X,schema:Y,parentSchema:W,data:$,it:J}=Q;if(J.opts.removeAdditional==="all"&&W.additionalProperties===void 0)aL.default.code(new wx.KeywordCxt(J,aL.default,"additionalProperties"));let G=(0,tL.allSchemaProperties)(Y);for(let V of G)J.definedProperties.add(V);if(J.opts.unevaluated&&G.length&&J.props!==!0)J.props=jJ.mergeEvaluated.props(X,(0,jJ.toHash)(G),J.props);let H=G.filter((V)=>!(0,jJ.alwaysValidSchema)(J,Y[V]));if(H.length===0)return;let B=X.name("valid");for(let V of H){if(z(V))K(V);else{if(X.if((0,tL.propertyInData)(X,$,V,J.opts.ownProperties)),K(V),!J.allErrors)X.else().var(B,!0);X.endIf()}Q.it.definedProperties.add(V),Q.ok(B)}function z(V){return J.opts.useDefaults&&!J.compositeRule&&Y[V].default!==void 0}function K(V){Q.subschema({keyword:"properties",schemaProp:V,dataProp:V},B)}}};sL.default=Nx});var $O=N((WO)=>{Object.defineProperty(WO,"__esModule",{value:!0});var QO=L1(),VY=n(),XO=$0(),YO=$0(),Mx={keyword:"patternProperties",type:"object",schemaType:"object",code(Q){let{gen:X,schema:Y,data:W,parentSchema:$,it:J}=Q,{opts:G}=J,H=(0,QO.allSchemaProperties)(Y),B=H.filter((D)=>(0,XO.alwaysValidSchema)(J,Y[D]));if(H.length===0||B.length===H.length&&(!J.opts.unevaluated||J.props===!0))return;let z=G.strictSchema&&!G.allowMatchingProperties&&$.properties,K=X.name("valid");if(J.props!==!0&&!(J.props instanceof VY.Name))J.props=(0,YO.evaluatedPropsToName)(X,J.props);let{props:V}=J;A();function A(){for(let D of H){if(z)F(D);if(J.allErrors)L(D);else X.var(K,!0),L(D),X.if(K)}}function F(D){for(let O in z)if(new RegExp(D).test(O))(0,XO.checkStrictMode)(J,`property ${O} matches pattern ${D} (use allowMatchingProperties)`)}function L(D){X.forIn("key",W,(O)=>{X.if(VY._`${(0,QO.usePattern)(Q,D)}.test(${O})`,()=>{let j=B.includes(D);if(!j)Q.subschema({keyword:"patternProperties",schemaProp:D,dataProp:O,dataPropType:YO.Type.Str},K);if(J.opts.unevaluated&&V!==!0)X.assign(VY._`${V}[${O}]`,!0);else if(!j&&!J.allErrors)X.if((0,VY.not)(K),()=>X.break())})})}}};WO.default=Mx});var GO=N((JO)=>{Object.defineProperty(JO,"__esModule",{value:!0});var Px=$0(),Zx={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(Q){let{gen:X,schema:Y,it:W}=Q;if((0,Px.alwaysValidSchema)(W,Y)){Q.fail();return}let $=X.name("valid");Q.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},$),Q.failResult($,()=>Q.reset(),()=>Q.error())},error:{message:"must NOT be valid"}};JO.default=Zx});var BO=N((HO)=>{Object.defineProperty(HO,"__esModule",{value:!0});var Ex=L1(),Sx={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:Ex.validateUnion,error:{message:"must match a schema in anyOf"}};HO.default=Sx});var KO=N((zO)=>{Object.defineProperty(zO,"__esModule",{value:!0});var AY=n(),Cx=$0(),Tx={message:"must match exactly one schema in oneOf",params:({params:Q})=>AY._`{passingSchemas: ${Q.passing}}`},kx={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:Tx,code(Q){let{gen:X,schema:Y,parentSchema:W,it:$}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");if($.opts.discriminator&&W.discriminator)return;let J=Y,G=X.let("valid",!1),H=X.let("passing",null),B=X.name("_valid");Q.setParams({passing:H}),X.block(z),Q.result(G,()=>Q.reset(),()=>Q.error(!0));function z(){J.forEach((K,V)=>{let A;if((0,Cx.alwaysValidSchema)($,K))X.var(B,!0);else A=Q.subschema({keyword:"oneOf",schemaProp:V,compositeRule:!0},B);if(V>0)X.if(AY._`${B} && ${G}`).assign(G,!1).assign(H,AY._`[${H}, ${V}]`).else();X.if(B,()=>{if(X.assign(G,!0),X.assign(H,V),A)Q.mergeEvaluated(A,AY.Name)})})}}};zO.default=kx});var AO=N((VO)=>{Object.defineProperty(VO,"__esModule",{value:!0});var _x=$0(),xx={keyword:"allOf",schemaType:"array",code(Q){let{gen:X,schema:Y,it:W}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");let $=X.name("valid");Y.forEach((J,G)=>{if((0,_x.alwaysValidSchema)(W,J))return;let H=Q.subschema({keyword:"allOf",schemaProp:G},$);Q.ok($),Q.mergeEvaluated(H)})}};VO.default=xx});var OO=N((LO)=>{Object.defineProperty(LO,"__esModule",{value:!0});var FY=n(),DO=$0(),fx={message:({params:Q})=>FY.str`must match "${Q.ifClause}" schema`,params:({params:Q})=>FY._`{failingKeyword: ${Q.ifClause}}`},gx={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:fx,code(Q){let{gen:X,parentSchema:Y,it:W}=Q;if(Y.then===void 0&&Y.else===void 0)(0,DO.checkStrictMode)(W,'"if" without "then" and "else" is ignored');let $=FO(W,"then"),J=FO(W,"else");if(!$&&!J)return;let G=X.let("valid",!0),H=X.name("_valid");if(B(),Q.reset(),$&&J){let K=X.let("ifClause");Q.setParams({ifClause:K}),X.if(H,z("then",K),z("else",K))}else if($)X.if(H,z("then"));else X.if((0,FY.not)(H),z("else"));Q.pass(G,()=>Q.error(!0));function B(){let K=Q.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},H);Q.mergeEvaluated(K)}function z(K,V){return()=>{let A=Q.subschema({keyword:K},H);if(X.assign(G,H),Q.mergeValidEvaluated(A,G),V)X.assign(V,FY._`${K}`);else Q.setParams({ifClause:K})}}}};function FO(Q,X){let Y=Q.schema[X];return Y!==void 0&&!(0,DO.alwaysValidSchema)(Q,Y)}LO.default=gx});var UO=N((jO)=>{Object.defineProperty(jO,"__esModule",{value:!0});var ux=$0(),lx={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:Q,parentSchema:X,it:Y}){if(X.if===void 0)(0,ux.checkStrictMode)(Y,`"${Q}" without "if" is ignored`)}};jO.default=lx});var NO=N((wO)=>{Object.defineProperty(wO,"__esModule",{value:!0});var cx=FJ(),px=_L(),dx=DJ(),ix=fL(),nx=hL(),ox=dL(),rx=oL(),tx=OJ(),ax=eL(),sx=$O(),ex=GO(),Qy=BO(),Xy=KO(),Yy=AO(),Wy=OO(),$y=UO();function Jy(Q=!1){let X=[ex.default,Qy.default,Xy.default,Yy.default,Wy.default,$y.default,rx.default,tx.default,ox.default,ax.default,sx.default];if(Q)X.push(px.default,ix.default);else X.push(cx.default,dx.default);return X.push(nx.default),X}wO.default=Jy});var MO=N((qO)=>{Object.defineProperty(qO,"__esModule",{value:!0});var R0=n(),Hy={message:({schemaCode:Q})=>R0.str`must match format "${Q}"`,params:({schemaCode:Q})=>R0._`{format: ${Q}}`},By={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:Hy,code(Q,X){let{gen:Y,data:W,$data:$,schema:J,schemaCode:G,it:H}=Q,{opts:B,errSchemaPath:z,schemaEnv:K,self:V}=H;if(!B.validateFormats)return;if($)A();else F();function A(){let L=Y.scopeValue("formats",{ref:V.formats,code:B.code.formats}),D=Y.const("fDef",R0._`${L}[${G}]`),O=Y.let("fType"),j=Y.let("format");Y.if(R0._`typeof ${D} == "object" && !(${D} instanceof RegExp)`,()=>Y.assign(O,R0._`${D}.type || "string"`).assign(j,R0._`${D}.validate`),()=>Y.assign(O,R0._`"string"`).assign(j,D)),Q.fail$data((0,R0.or)(q(),M()));function q(){if(B.strictSchema===!1)return R0.nil;return R0._`${G} && !${j}`}function M(){let S=K.$async?R0._`(${D}.async ? await ${j}(${W}) : ${j}(${W}))`:R0._`${j}(${W})`,Z=R0._`(typeof ${j} == "function" ? ${S} : ${j}.test(${W}))`;return R0._`${j} && ${j} !== true && ${O} === ${X} && !${Z}`}}function F(){let L=V.formats[J];if(!L){q();return}if(L===!0)return;let[D,O,j]=M(L);if(D===X)Q.pass(S());function q(){if(B.strictSchema===!1){V.logger.warn(Z());return}throw Error(Z());function Z(){return`unknown format "${J}" ignored in schema at path "${z}"`}}function M(Z){let V0=Z instanceof RegExp?(0,R0.regexpCode)(Z):B.code.formats?R0._`${B.code.formats}${(0,R0.getProperty)(J)}`:void 0,P0=Y.scopeValue("formats",{key:J,ref:Z,code:V0});if(typeof Z=="object"&&!(Z instanceof RegExp))return[Z.type||"string",Z.validate,R0._`${P0}.validate`];return["string",Z,P0]}function S(){if(typeof L=="object"&&!(L instanceof RegExp)&&L.async){if(!K.$async)throw Error("async format in sync schema");return R0._`await ${j}(${W})`}return typeof O=="function"?R0._`${j}(${W})`:R0._`${j}.test(${W})`}}}};qO.default=By});var PO=N((bO)=>{Object.defineProperty(bO,"__esModule",{value:!0});var Ky=MO(),Vy=[Ky.default];bO.default=Vy});var EO=N((ZO)=>{Object.defineProperty(ZO,"__esModule",{value:!0});ZO.contentVocabulary=ZO.metadataVocabulary=void 0;ZO.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];ZO.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var CO=N((IO)=>{Object.defineProperty(IO,"__esModule",{value:!0});var Dy=sD(),Ly=ZL(),Oy=NO(),jy=PO(),SO=EO(),Uy=[Dy.default,Ly.default,(0,Oy.default)(),jy.default,SO.metadataVocabulary,SO.contentVocabulary];IO.default=Uy});var _O=N((kO)=>{Object.defineProperty(kO,"__esModule",{value:!0});kO.DiscrError=void 0;var TO;(function(Q){Q.Tag="tag",Q.Mapping="mapping"})(TO||(kO.DiscrError=TO={}))});var fO=N((yO)=>{Object.defineProperty(yO,"__esModule",{value:!0});var G4=n(),UJ=_O(),xO=sX(),Ny=v8(),qy=$0(),My={message:({params:{discrError:Q,tagName:X}})=>Q===UJ.DiscrError.Tag?`tag "${X}" must be string`:`value of tag "${X}" must be in oneOf`,params:({params:{discrError:Q,tag:X,tagName:Y}})=>G4._`{error: ${Q}, tag: ${Y}, tagValue: ${X}}`},by={keyword:"discriminator",type:"object",schemaType:"object",error:My,code(Q){let{gen:X,data:Y,schema:W,parentSchema:$,it:J}=Q,{oneOf:G}=$;if(!J.opts.discriminator)throw Error("discriminator: requires discriminator option");let H=W.propertyName;if(typeof H!="string")throw Error("discriminator: requires propertyName");if(W.mapping)throw Error("discriminator: mapping is not supported");if(!G)throw Error("discriminator: requires oneOf keyword");let B=X.let("valid",!1),z=X.const("tag",G4._`${Y}${(0,G4.getProperty)(H)}`);X.if(G4._`typeof ${z} == "string"`,()=>K(),()=>Q.error(!1,{discrError:UJ.DiscrError.Tag,tag:z,tagName:H})),Q.ok(B);function K(){let F=A();X.if(!1);for(let L in F)X.elseIf(G4._`${z} === ${L}`),X.assign(B,V(F[L]));X.else(),Q.error(!1,{discrError:UJ.DiscrError.Mapping,tag:z,tagName:H}),X.endIf()}function V(F){let L=X.name("valid"),D=Q.subschema({keyword:"oneOf",schemaProp:F},L);return Q.mergeEvaluated(D,G4.Name),L}function A(){var F;let L={},D=j($),O=!0;for(let S=0;S<G.length;S++){let Z=G[S];if((Z===null||Z===void 0?void 0:Z.$ref)&&!(0,qy.schemaHasRulesButRef)(Z,J.self.RULES)){let P0=Z.$ref;if(Z=xO.resolveRef.call(J.self,J.schemaEnv.root,J.baseId,P0),Z instanceof xO.SchemaEnv)Z=Z.schema;if(Z===void 0)throw new Ny.default(J.opts.uriResolver,J.baseId,P0)}let V0=(F=Z===null||Z===void 0?void 0:Z.properties)===null||F===void 0?void 0:F[H];if(typeof V0!="object")throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${H}"`);O=O&&(D||j(Z)),q(V0,S)}if(!O)throw Error(`discriminator: "${H}" must be required`);return L;function j({required:S}){return Array.isArray(S)&&S.includes(H)}function q(S,Z){if(S.const)M(S.const,Z);else if(S.enum)for(let V0 of S.enum)M(V0,Z);else throw Error(`discriminator: "properties/${H}" must have "const" or "enum"`)}function M(S,Z){if(typeof S!="string"||S in L)throw Error(`discriminator: "${H}" values must be unique strings`);L[S]=Z}}}};yO.default=by});var gO=N((Ri,Zy)=>{Zy.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 uO=N((B1,wJ)=>{Object.defineProperty(B1,"__esModule",{value:!0});B1.MissingRefError=B1.ValidationError=B1.CodeGen=B1.Name=B1.nil=B1.stringify=B1.str=B1._=B1.KeywordCxt=B1.Ajv=void 0;var Ry=mD(),Ey=CO(),Sy=fO(),hO=gO(),Iy=["/properties"],DY="http://json-schema.org/draft-07/schema";class p8 extends Ry.default{_addVocabularies(){if(super._addVocabularies(),Ey.default.forEach((Q)=>this.addVocabulary(Q)),this.opts.discriminator)this.addKeyword(Sy.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let Q=this.opts.$data?this.$dataMetaSchema(hO,Iy):hO;this.addMetaSchema(Q,DY,!1),this.refs["http://json-schema.org/schema"]=DY}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(DY)?DY:void 0)}}B1.Ajv=p8;wJ.exports=B1=p8;wJ.exports.Ajv=p8;Object.defineProperty(B1,"__esModule",{value:!0});B1.default=p8;var Cy=k8();Object.defineProperty(B1,"KeywordCxt",{enumerable:!0,get:function(){return Cy.KeywordCxt}});var H4=n();Object.defineProperty(B1,"_",{enumerable:!0,get:function(){return H4._}});Object.defineProperty(B1,"str",{enumerable:!0,get:function(){return H4.str}});Object.defineProperty(B1,"stringify",{enumerable:!0,get:function(){return H4.stringify}});Object.defineProperty(B1,"nil",{enumerable:!0,get:function(){return H4.nil}});Object.defineProperty(B1,"Name",{enumerable:!0,get:function(){return H4.Name}});Object.defineProperty(B1,"CodeGen",{enumerable:!0,get:function(){return H4.CodeGen}});var Ty=tX();Object.defineProperty(B1,"ValidationError",{enumerable:!0,get:function(){return Ty.default}});var ky=v8();Object.defineProperty(B1,"MissingRefError",{enumerable:!0,get:function(){return ky.default}})});var mO=N((lO)=>{Object.defineProperty(lO,"__esModule",{value:!0});lO.formatLimitDefinition=void 0;var xy=uO(),f1=n(),x6=f1.operators,LY={formatMaximum:{okStr:"<=",ok:x6.LTE,fail:x6.GT},formatMinimum:{okStr:">=",ok:x6.GTE,fail:x6.LT},formatExclusiveMaximum:{okStr:"<",ok:x6.LT,fail:x6.GTE},formatExclusiveMinimum:{okStr:">",ok:x6.GT,fail:x6.LTE}},yy={message:({keyword:Q,schemaCode:X})=>f1.str`should be ${LY[Q].okStr} ${X}`,params:({keyword:Q,schemaCode:X})=>f1._`{comparison: ${LY[Q].okStr}, limit: ${X}}`};lO.formatLimitDefinition={keyword:Object.keys(LY),type:"string",schemaType:"string",$data:!0,error:yy,code(Q){let{gen:X,data:Y,schemaCode:W,keyword:$,it:J}=Q,{opts:G,self:H}=J;if(!G.validateFormats)return;let B=new xy.KeywordCxt(J,H.RULES.all.format.definition,"format");if(B.$data)z();else K();function z(){let A=X.scopeValue("formats",{ref:H.formats,code:G.code.formats}),F=X.const("fmt",f1._`${A}[${B.schemaCode}]`);Q.fail$data((0,f1.or)(f1._`typeof ${F} != "object"`,f1._`${F} instanceof RegExp`,f1._`typeof ${F}.compare != "function"`,V(F)))}function K(){let A=B.schema,F=H.formats[A];if(!F||F===!0)return;if(typeof F!="object"||F instanceof RegExp||typeof F.compare!="function")throw Error(`"${$}": format "${A}" does not define "compare" function`);let L=X.scopeValue("formats",{key:A,ref:F,code:G.code.formats?f1._`${G.code.formats}${(0,f1.getProperty)(A)}`:void 0});Q.fail$data(V(L))}function V(A){return f1._`${A}.compare(${Y}, ${W}) ${LY[$].fail} 0`}},dependencies:["format"]};var fy=(Q)=>{return Q.addKeyword(lO.formatLimitDefinition),Q};lO.default=fy});var iO=N((d8,dO)=>{Object.defineProperty(d8,"__esModule",{value:!0});var B4=gA(),hy=mO(),qJ=n(),cO=new qJ.Name("fullFormats"),uy=new qJ.Name("fastFormats"),MJ=(Q,X={keywords:!0})=>{if(Array.isArray(X))return pO(Q,X,B4.fullFormats,cO),Q;let[Y,W]=X.mode==="fast"?[B4.fastFormats,uy]:[B4.fullFormats,cO],$=X.formats||B4.formatNames;if(pO(Q,$,Y,W),X.keywords)(0,hy.default)(Q);return Q};MJ.get=(Q,X="full")=>{let W=(X==="fast"?B4.fastFormats:B4.fullFormats)[Q];if(!W)throw Error(`Unknown format "${Q}"`);return W};function pO(Q,X,Y,W){var $,J;($=(J=Q.opts.code).formats)!==null&&$!==void 0||(J.formats=qJ._`require("ajv-formats/dist/formats").${W}`);for(let G of X)Q.addFormat(G,Y[G])}dO.exports=d8=MJ;Object.defineProperty(d8,"__esModule",{value:!0});d8.default=MJ});var f={};a8(f,{void:()=>bU,util:()=>t,unknown:()=>qU,union:()=>RU,undefined:()=>UU,tuple:()=>IU,transformer:()=>hU,symbol:()=>jU,string:()=>LG,strictObject:()=>ZU,setErrorMap:()=>mj,set:()=>kU,record:()=>CU,quotelessJson:()=>uj,promise:()=>gU,preprocess:()=>mU,pipeline:()=>cU,ostring:()=>pU,optional:()=>uU,onumber:()=>dU,oboolean:()=>iU,objectUtil:()=>mY,object:()=>dY,number:()=>OG,nullable:()=>lU,null:()=>wU,never:()=>MU,nativeEnum:()=>fU,nan:()=>DU,map:()=>TU,makeIssue:()=>w4,literal:()=>xU,lazy:()=>_U,late:()=>AU,isValid:()=>V6,isDirty:()=>e8,isAsync:()=>j9,isAborted:()=>s8,intersection:()=>SU,instanceof:()=>FU,getParsedType:()=>h1,getErrorMap:()=>O9,function:()=>vU,enum:()=>yU,effect:()=>hU,discriminatedUnion:()=>EU,defaultErrorMap:()=>r1,datetimeRegex:()=>AG,date:()=>OU,custom:()=>DG,coerce:()=>nU,boolean:()=>jG,bigint:()=>LU,array:()=>PU,any:()=>NU,addIssueToContext:()=>T,ZodVoid:()=>q4,ZodUnknown:()=>A6,ZodUnion:()=>b9,ZodUndefined:()=>q9,ZodType:()=>o,ZodTuple:()=>l1,ZodTransformer:()=>q1,ZodSymbol:()=>N4,ZodString:()=>U1,ZodSet:()=>p6,ZodSchema:()=>o,ZodRecord:()=>M4,ZodReadonly:()=>C9,ZodPromise:()=>d6,ZodPipeline:()=>Z4,ZodParsedType:()=>R,ZodOptional:()=>z1,ZodObject:()=>M0,ZodNumber:()=>F6,ZodNullable:()=>a1,ZodNull:()=>M9,ZodNever:()=>u1,ZodNativeEnum:()=>E9,ZodNaN:()=>P4,ZodMap:()=>b4,ZodLiteral:()=>R9,ZodLazy:()=>Z9,ZodIssueCode:()=>b,ZodIntersection:()=>P9,ZodFunction:()=>w9,ZodFirstPartyTypeKind:()=>P,ZodError:()=>t0,ZodEnum:()=>L6,ZodEffects:()=>q1,ZodDiscriminatedUnion:()=>QQ,ZodDefault:()=>S9,ZodDate:()=>m6,ZodCatch:()=>I9,ZodBranded:()=>XQ,ZodBoolean:()=>N9,ZodBigInt:()=>D6,ZodArray:()=>w1,ZodAny:()=>c6,Schema:()=>o,ParseStatus:()=>k0,OK:()=>u0,NEVER:()=>oU,INVALID:()=>u,EMPTY_PATH:()=>cj,DIRTY:()=>l6,BRAND:()=>VU});var t;(function(Q){Q.assertEqual=($)=>{};function X($){}Q.assertIs=X;function Y($){throw Error()}Q.assertNever=Y,Q.arrayToEnum=($)=>{let J={};for(let G of $)J[G]=G;return J},Q.getValidEnumValues=($)=>{let J=Q.objectKeys($).filter((H)=>typeof $[$[H]]!=="number"),G={};for(let H of J)G[H]=$[H];return Q.objectValues(G)},Q.objectValues=($)=>{return Q.objectKeys($).map(function(J){return $[J]})},Q.objectKeys=typeof Object.keys==="function"?($)=>Object.keys($):($)=>{let J=[];for(let G in $)if(Object.prototype.hasOwnProperty.call($,G))J.push(G);return J},Q.find=($,J)=>{for(let G of $)if(J(G))return G;return},Q.isInteger=typeof Number.isInteger==="function"?($)=>Number.isInteger($):($)=>typeof $==="number"&&Number.isFinite($)&&Math.floor($)===$;function W($,J=" | "){return $.map((G)=>typeof G==="string"?`'${G}'`:G).join(J)}Q.joinValues=W,Q.jsonStringifyReplacer=($,J)=>{if(typeof J==="bigint")return J.toString();return J}})(t||(t={}));var mY;(function(Q){Q.mergeShapes=(X,Y)=>{return{...X,...Y}}})(mY||(mY={}));var R=t.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),h1=(Q)=>{switch(typeof Q){case"undefined":return R.undefined;case"string":return R.string;case"number":return Number.isNaN(Q)?R.nan:R.number;case"boolean":return R.boolean;case"function":return R.function;case"bigint":return R.bigint;case"symbol":return R.symbol;case"object":if(Array.isArray(Q))return R.array;if(Q===null)return R.null;if(Q.then&&typeof Q.then==="function"&&Q.catch&&typeof Q.catch==="function")return R.promise;if(typeof Map<"u"&&Q instanceof Map)return R.map;if(typeof Set<"u"&&Q instanceof Set)return R.set;if(typeof Date<"u"&&Q instanceof Date)return R.date;return R.object;default:return R.unknown}};var b=t.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),uj=(Q)=>{return JSON.stringify(Q,null,2).replace(/"([^"]+)":/g,"$1:")};class t0 extends Error{get errors(){return this.issues}constructor(Q){super();this.issues=[],this.addIssue=(Y)=>{this.issues=[...this.issues,Y]},this.addIssues=(Y=[])=>{this.issues=[...this.issues,...Y]};let X=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,X);else this.__proto__=X;this.name="ZodError",this.issues=Q}format(Q){let X=Q||function($){return $.message},Y={_errors:[]},W=($)=>{for(let J of $.issues)if(J.code==="invalid_union")J.unionErrors.map(W);else if(J.code==="invalid_return_type")W(J.returnTypeError);else if(J.code==="invalid_arguments")W(J.argumentsError);else if(J.path.length===0)Y._errors.push(X(J));else{let G=Y,H=0;while(H<J.path.length){let B=J.path[H];if(H!==J.path.length-1)G[B]=G[B]||{_errors:[]};else G[B]=G[B]||{_errors:[]},G[B]._errors.push(X(J));G=G[B],H++}}};return W(this),Y}static assert(Q){if(!(Q instanceof t0))throw Error(`Not a ZodError: ${Q}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,t.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(Q=(X)=>X.message){let X={},Y=[];for(let W of this.issues)if(W.path.length>0){let $=W.path[0];X[$]=X[$]||[],X[$].push(Q(W))}else Y.push(Q(W));return{formErrors:Y,fieldErrors:X}}get formErrors(){return this.flatten()}}t0.create=(Q)=>{return new t0(Q)};var lj=(Q,X)=>{let Y;switch(Q.code){case b.invalid_type:if(Q.received===R.undefined)Y="Required";else Y=`Expected ${Q.expected}, received ${Q.received}`;break;case b.invalid_literal:Y=`Invalid literal value, expected ${JSON.stringify(Q.expected,t.jsonStringifyReplacer)}`;break;case b.unrecognized_keys:Y=`Unrecognized key(s) in object: ${t.joinValues(Q.keys,", ")}`;break;case b.invalid_union:Y="Invalid input";break;case b.invalid_union_discriminator:Y=`Invalid discriminator value. Expected ${t.joinValues(Q.options)}`;break;case b.invalid_enum_value:Y=`Invalid enum value. Expected ${t.joinValues(Q.options)}, received '${Q.received}'`;break;case b.invalid_arguments:Y="Invalid function arguments";break;case b.invalid_return_type:Y="Invalid function return type";break;case b.invalid_date:Y="Invalid date";break;case b.invalid_string:if(typeof Q.validation==="object")if("includes"in Q.validation){if(Y=`Invalid input: must include "${Q.validation.includes}"`,typeof Q.validation.position==="number")Y=`${Y} at one or more positions greater than or equal to ${Q.validation.position}`}else if("startsWith"in Q.validation)Y=`Invalid input: must start with "${Q.validation.startsWith}"`;else if("endsWith"in Q.validation)Y=`Invalid input: must end with "${Q.validation.endsWith}"`;else t.assertNever(Q.validation);else if(Q.validation!=="regex")Y=`Invalid ${Q.validation}`;else Y="Invalid";break;case b.too_small:if(Q.type==="array")Y=`Array must contain ${Q.exact?"exactly":Q.inclusive?"at least":"more than"} ${Q.minimum} element(s)`;else if(Q.type==="string")Y=`String must contain ${Q.exact?"exactly":Q.inclusive?"at least":"over"} ${Q.minimum} character(s)`;else if(Q.type==="number")Y=`Number must be ${Q.exact?"exactly equal to ":Q.inclusive?"greater than or equal to ":"greater than "}${Q.minimum}`;else if(Q.type==="bigint")Y=`Number must be ${Q.exact?"exactly equal to ":Q.inclusive?"greater than or equal to ":"greater than "}${Q.minimum}`;else if(Q.type==="date")Y=`Date must be ${Q.exact?"exactly equal to ":Q.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(Q.minimum))}`;else Y="Invalid input";break;case b.too_big:if(Q.type==="array")Y=`Array must contain ${Q.exact?"exactly":Q.inclusive?"at most":"less than"} ${Q.maximum} element(s)`;else if(Q.type==="string")Y=`String must contain ${Q.exact?"exactly":Q.inclusive?"at most":"under"} ${Q.maximum} character(s)`;else if(Q.type==="number")Y=`Number must be ${Q.exact?"exactly":Q.inclusive?"less than or equal to":"less than"} ${Q.maximum}`;else if(Q.type==="bigint")Y=`BigInt must be ${Q.exact?"exactly":Q.inclusive?"less than or equal to":"less than"} ${Q.maximum}`;else if(Q.type==="date")Y=`Date must be ${Q.exact?"exactly":Q.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(Q.maximum))}`;else Y="Invalid input";break;case b.custom:Y="Invalid input";break;case b.invalid_intersection_types:Y="Intersection results could not be merged";break;case b.not_multiple_of:Y=`Number must be a multiple of ${Q.multipleOf}`;break;case b.not_finite:Y="Number must be finite";break;default:Y=X.defaultError,t.assertNever(Q)}return{message:Y}},r1=lj;var HG=r1;function mj(Q){HG=Q}function O9(){return HG}var w4=(Q)=>{let{data:X,path:Y,errorMaps:W,issueData:$}=Q,J=[...Y,...$.path||[]],G={...$,path:J};if($.message!==void 0)return{...$,path:J,message:$.message};let H="",B=W.filter((z)=>!!z).slice().reverse();for(let z of B)H=z(G,{data:X,defaultError:H}).message;return{...$,path:J,message:H}},cj=[];function T(Q,X){let Y=O9(),W=w4({issueData:X,data:Q.data,path:Q.path,errorMaps:[Q.common.contextualErrorMap,Q.schemaErrorMap,Y,Y===r1?void 0:r1].filter(($)=>!!$)});Q.common.issues.push(W)}class k0{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(Q,X){let Y=[];for(let W of X){if(W.status==="aborted")return u;if(W.status==="dirty")Q.dirty();Y.push(W.value)}return{status:Q.value,value:Y}}static async mergeObjectAsync(Q,X){let Y=[];for(let W of X){let $=await W.key,J=await W.value;Y.push({key:$,value:J})}return k0.mergeObjectSync(Q,Y)}static mergeObjectSync(Q,X){let Y={};for(let W of X){let{key:$,value:J}=W;if($.status==="aborted")return u;if(J.status==="aborted")return u;if($.status==="dirty")Q.dirty();if(J.status==="dirty")Q.dirty();if($.value!=="__proto__"&&(typeof J.value<"u"||W.alwaysSet))Y[$.value]=J.value}return{status:Q.value,value:Y}}}var u=Object.freeze({status:"aborted"}),l6=(Q)=>({status:"dirty",value:Q}),u0=(Q)=>({status:"valid",value:Q}),s8=(Q)=>Q.status==="aborted",e8=(Q)=>Q.status==="dirty",V6=(Q)=>Q.status==="valid",j9=(Q)=>typeof Promise<"u"&&Q instanceof Promise;var v;(function(Q){Q.errToObj=(X)=>typeof X==="string"?{message:X}:X||{},Q.toString=(X)=>typeof X==="string"?X:X?.message})(v||(v={}));class N1{constructor(Q,X,Y,W){this._cachedPath=[],this.parent=Q,this.data=X,this._path=Y,this._key=W}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var BG=(Q,X)=>{if(V6(X))return{success:!0,data:X.value};else{if(!Q.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let Y=new t0(Q.common.issues);return this._error=Y,this._error}}}};function p(Q){if(!Q)return{};let{errorMap:X,invalid_type_error:Y,required_error:W,description:$}=Q;if(X&&(Y||W))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(X)return{errorMap:X,description:$};return{errorMap:(G,H)=>{let{message:B}=Q;if(G.code==="invalid_enum_value")return{message:B??H.defaultError};if(typeof H.data>"u")return{message:B??W??H.defaultError};if(G.code!=="invalid_type")return{message:H.defaultError};return{message:B??Y??H.defaultError}},description:$}}class o{get description(){return this._def.description}_getType(Q){return h1(Q.data)}_getOrReturnCtx(Q,X){return X||{common:Q.parent.common,data:Q.data,parsedType:h1(Q.data),schemaErrorMap:this._def.errorMap,path:Q.path,parent:Q.parent}}_processInputParams(Q){return{status:new k0,ctx:{common:Q.parent.common,data:Q.data,parsedType:h1(Q.data),schemaErrorMap:this._def.errorMap,path:Q.path,parent:Q.parent}}}_parseSync(Q){let X=this._parse(Q);if(j9(X))throw Error("Synchronous parse encountered promise.");return X}_parseAsync(Q){let X=this._parse(Q);return Promise.resolve(X)}parse(Q,X){let Y=this.safeParse(Q,X);if(Y.success)return Y.data;throw Y.error}safeParse(Q,X){let Y={common:{issues:[],async:X?.async??!1,contextualErrorMap:X?.errorMap},path:X?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:Q,parsedType:h1(Q)},W=this._parseSync({data:Q,path:Y.path,parent:Y});return BG(Y,W)}"~validate"(Q){let X={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:Q,parsedType:h1(Q)};if(!this["~standard"].async)try{let Y=this._parseSync({data:Q,path:[],parent:X});return V6(Y)?{value:Y.value}:{issues:X.common.issues}}catch(Y){if(Y?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;X.common={issues:[],async:!0}}return this._parseAsync({data:Q,path:[],parent:X}).then((Y)=>V6(Y)?{value:Y.value}:{issues:X.common.issues})}async parseAsync(Q,X){let Y=await this.safeParseAsync(Q,X);if(Y.success)return Y.data;throw Y.error}async safeParseAsync(Q,X){let Y={common:{issues:[],contextualErrorMap:X?.errorMap,async:!0},path:X?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:Q,parsedType:h1(Q)},W=this._parse({data:Q,path:Y.path,parent:Y}),$=await(j9(W)?W:Promise.resolve(W));return BG(Y,$)}refine(Q,X){let Y=(W)=>{if(typeof X==="string"||typeof X>"u")return{message:X};else if(typeof X==="function")return X(W);else return X};return this._refinement((W,$)=>{let J=Q(W),G=()=>$.addIssue({code:b.custom,...Y(W)});if(typeof Promise<"u"&&J instanceof Promise)return J.then((H)=>{if(!H)return G(),!1;else return!0});if(!J)return G(),!1;else return!0})}refinement(Q,X){return this._refinement((Y,W)=>{if(!Q(Y))return W.addIssue(typeof X==="function"?X(Y,W):X),!1;else return!0})}_refinement(Q){return new q1({schema:this,typeName:P.ZodEffects,effect:{type:"refinement",refinement:Q}})}superRefine(Q){return this._refinement(Q)}constructor(Q){this.spa=this.safeParseAsync,this._def=Q,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(X)=>this["~validate"](X)}}optional(){return z1.create(this,this._def)}nullable(){return a1.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return w1.create(this)}promise(){return d6.create(this,this._def)}or(Q){return b9.create([this,Q],this._def)}and(Q){return P9.create(this,Q,this._def)}transform(Q){return new q1({...p(this._def),schema:this,typeName:P.ZodEffects,effect:{type:"transform",transform:Q}})}default(Q){let X=typeof Q==="function"?Q:()=>Q;return new S9({...p(this._def),innerType:this,defaultValue:X,typeName:P.ZodDefault})}brand(){return new XQ({typeName:P.ZodBranded,type:this,...p(this._def)})}catch(Q){let X=typeof Q==="function"?Q:()=>Q;return new I9({...p(this._def),innerType:this,catchValue:X,typeName:P.ZodCatch})}describe(Q){return new this.constructor({...this._def,description:Q})}pipe(Q){return Z4.create(this,Q)}readonly(){return C9.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var pj=/^c[^\s-]{8,}$/i,dj=/^[0-9a-z]+$/,ij=/^[0-9A-HJKMNP-TV-Z]{26}$/i,nj=/^[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,oj=/^[a-z0-9_-]{21}$/i,rj=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,tj=/^[-+]?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)?)??$/,aj=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,sj="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",cY,ej=/^(?:(?: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])$/,QU=/^(?:(?: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])$/,XU=/^(([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]))$/,YU=/^(([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])$/,WU=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,$U=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,KG="((\\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])))",JU=new RegExp(`^${KG}$`);function VG(Q){let X="[0-5]\\d";if(Q.precision)X=`${X}\\.\\d{${Q.precision}}`;else if(Q.precision==null)X=`${X}(\\.\\d+)?`;let Y=Q.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${X})${Y}`}function GU(Q){return new RegExp(`^${VG(Q)}$`)}function AG(Q){let X=`${KG}T${VG(Q)}`,Y=[];if(Y.push(Q.local?"Z?":"Z"),Q.offset)Y.push("([+-]\\d{2}:?\\d{2})");return X=`${X}(${Y.join("|")})`,new RegExp(`^${X}$`)}function HU(Q,X){if((X==="v4"||!X)&&ej.test(Q))return!0;if((X==="v6"||!X)&&XU.test(Q))return!0;return!1}function BU(Q,X){if(!rj.test(Q))return!1;try{let[Y]=Q.split(".");if(!Y)return!1;let W=Y.replace(/-/g,"+").replace(/_/g,"/").padEnd(Y.length+(4-Y.length%4)%4,"="),$=JSON.parse(atob(W));if(typeof $!=="object"||$===null)return!1;if("typ"in $&&$?.typ!=="JWT")return!1;if(!$.alg)return!1;if(X&&$.alg!==X)return!1;return!0}catch{return!1}}function zU(Q,X){if((X==="v4"||!X)&&QU.test(Q))return!0;if((X==="v6"||!X)&&YU.test(Q))return!0;return!1}class U1 extends o{_parse(Q){if(this._def.coerce)Q.data=String(Q.data);if(this._getType(Q)!==R.string){let $=this._getOrReturnCtx(Q);return T($,{code:b.invalid_type,expected:R.string,received:$.parsedType}),u}let Y=new k0,W=void 0;for(let $ of this._def.checks)if($.kind==="min"){if(Q.data.length<$.value)W=this._getOrReturnCtx(Q,W),T(W,{code:b.too_small,minimum:$.value,type:"string",inclusive:!0,exact:!1,message:$.message}),Y.dirty()}else if($.kind==="max"){if(Q.data.length>$.value)W=this._getOrReturnCtx(Q,W),T(W,{code:b.too_big,maximum:$.value,type:"string",inclusive:!0,exact:!1,message:$.message}),Y.dirty()}else if($.kind==="length"){let J=Q.data.length>$.value,G=Q.data.length<$.value;if(J||G){if(W=this._getOrReturnCtx(Q,W),J)T(W,{code:b.too_big,maximum:$.value,type:"string",inclusive:!0,exact:!0,message:$.message});else if(G)T(W,{code:b.too_small,minimum:$.value,type:"string",inclusive:!0,exact:!0,message:$.message});Y.dirty()}}else if($.kind==="email"){if(!aj.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"email",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="emoji"){if(!cY)cY=new RegExp(sj,"u");if(!cY.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"emoji",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="uuid"){if(!nj.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"uuid",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="nanoid"){if(!oj.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"nanoid",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="cuid"){if(!pj.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"cuid",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="cuid2"){if(!dj.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"cuid2",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="ulid"){if(!ij.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"ulid",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="url")try{new URL(Q.data)}catch{W=this._getOrReturnCtx(Q,W),T(W,{validation:"url",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="regex"){if($.regex.lastIndex=0,!$.regex.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"regex",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="trim")Q.data=Q.data.trim();else if($.kind==="includes"){if(!Q.data.includes($.value,$.position))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:{includes:$.value,position:$.position},message:$.message}),Y.dirty()}else if($.kind==="toLowerCase")Q.data=Q.data.toLowerCase();else if($.kind==="toUpperCase")Q.data=Q.data.toUpperCase();else if($.kind==="startsWith"){if(!Q.data.startsWith($.value))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:{startsWith:$.value},message:$.message}),Y.dirty()}else if($.kind==="endsWith"){if(!Q.data.endsWith($.value))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:{endsWith:$.value},message:$.message}),Y.dirty()}else if($.kind==="datetime"){if(!AG($).test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:"datetime",message:$.message}),Y.dirty()}else if($.kind==="date"){if(!JU.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:"date",message:$.message}),Y.dirty()}else if($.kind==="time"){if(!GU($).test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:"time",message:$.message}),Y.dirty()}else if($.kind==="duration"){if(!tj.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"duration",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="ip"){if(!HU(Q.data,$.version))W=this._getOrReturnCtx(Q,W),T(W,{validation:"ip",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="jwt"){if(!BU(Q.data,$.alg))W=this._getOrReturnCtx(Q,W),T(W,{validation:"jwt",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="cidr"){if(!zU(Q.data,$.version))W=this._getOrReturnCtx(Q,W),T(W,{validation:"cidr",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="base64"){if(!WU.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"base64",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="base64url"){if(!$U.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"base64url",code:b.invalid_string,message:$.message}),Y.dirty()}else t.assertNever($);return{status:Y.value,value:Q.data}}_regex(Q,X,Y){return this.refinement((W)=>Q.test(W),{validation:X,code:b.invalid_string,...v.errToObj(Y)})}_addCheck(Q){return new U1({...this._def,checks:[...this._def.checks,Q]})}email(Q){return this._addCheck({kind:"email",...v.errToObj(Q)})}url(Q){return this._addCheck({kind:"url",...v.errToObj(Q)})}emoji(Q){return this._addCheck({kind:"emoji",...v.errToObj(Q)})}uuid(Q){return this._addCheck({kind:"uuid",...v.errToObj(Q)})}nanoid(Q){return this._addCheck({kind:"nanoid",...v.errToObj(Q)})}cuid(Q){return this._addCheck({kind:"cuid",...v.errToObj(Q)})}cuid2(Q){return this._addCheck({kind:"cuid2",...v.errToObj(Q)})}ulid(Q){return this._addCheck({kind:"ulid",...v.errToObj(Q)})}base64(Q){return this._addCheck({kind:"base64",...v.errToObj(Q)})}base64url(Q){return this._addCheck({kind:"base64url",...v.errToObj(Q)})}jwt(Q){return this._addCheck({kind:"jwt",...v.errToObj(Q)})}ip(Q){return this._addCheck({kind:"ip",...v.errToObj(Q)})}cidr(Q){return this._addCheck({kind:"cidr",...v.errToObj(Q)})}datetime(Q){if(typeof Q==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:Q});return this._addCheck({kind:"datetime",precision:typeof Q?.precision>"u"?null:Q?.precision,offset:Q?.offset??!1,local:Q?.local??!1,...v.errToObj(Q?.message)})}date(Q){return this._addCheck({kind:"date",message:Q})}time(Q){if(typeof Q==="string")return this._addCheck({kind:"time",precision:null,message:Q});return this._addCheck({kind:"time",precision:typeof Q?.precision>"u"?null:Q?.precision,...v.errToObj(Q?.message)})}duration(Q){return this._addCheck({kind:"duration",...v.errToObj(Q)})}regex(Q,X){return this._addCheck({kind:"regex",regex:Q,...v.errToObj(X)})}includes(Q,X){return this._addCheck({kind:"includes",value:Q,position:X?.position,...v.errToObj(X?.message)})}startsWith(Q,X){return this._addCheck({kind:"startsWith",value:Q,...v.errToObj(X)})}endsWith(Q,X){return this._addCheck({kind:"endsWith",value:Q,...v.errToObj(X)})}min(Q,X){return this._addCheck({kind:"min",value:Q,...v.errToObj(X)})}max(Q,X){return this._addCheck({kind:"max",value:Q,...v.errToObj(X)})}length(Q,X){return this._addCheck({kind:"length",value:Q,...v.errToObj(X)})}nonempty(Q){return this.min(1,v.errToObj(Q))}trim(){return new U1({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new U1({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new U1({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((Q)=>Q.kind==="datetime")}get isDate(){return!!this._def.checks.find((Q)=>Q.kind==="date")}get isTime(){return!!this._def.checks.find((Q)=>Q.kind==="time")}get isDuration(){return!!this._def.checks.find((Q)=>Q.kind==="duration")}get isEmail(){return!!this._def.checks.find((Q)=>Q.kind==="email")}get isURL(){return!!this._def.checks.find((Q)=>Q.kind==="url")}get isEmoji(){return!!this._def.checks.find((Q)=>Q.kind==="emoji")}get isUUID(){return!!this._def.checks.find((Q)=>Q.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((Q)=>Q.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((Q)=>Q.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((Q)=>Q.kind==="cuid2")}get isULID(){return!!this._def.checks.find((Q)=>Q.kind==="ulid")}get isIP(){return!!this._def.checks.find((Q)=>Q.kind==="ip")}get isCIDR(){return!!this._def.checks.find((Q)=>Q.kind==="cidr")}get isBase64(){return!!this._def.checks.find((Q)=>Q.kind==="base64")}get isBase64url(){return!!this._def.checks.find((Q)=>Q.kind==="base64url")}get minLength(){let Q=null;for(let X of this._def.checks)if(X.kind==="min"){if(Q===null||X.value>Q)Q=X.value}return Q}get maxLength(){let Q=null;for(let X of this._def.checks)if(X.kind==="max"){if(Q===null||X.value<Q)Q=X.value}return Q}}U1.create=(Q)=>{return new U1({checks:[],typeName:P.ZodString,coerce:Q?.coerce??!1,...p(Q)})};function KU(Q,X){let Y=(Q.toString().split(".")[1]||"").length,W=(X.toString().split(".")[1]||"").length,$=Y>W?Y:W,J=Number.parseInt(Q.toFixed($).replace(".","")),G=Number.parseInt(X.toFixed($).replace(".",""));return J%G/10**$}class F6 extends o{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(Q){if(this._def.coerce)Q.data=Number(Q.data);if(this._getType(Q)!==R.number){let $=this._getOrReturnCtx(Q);return T($,{code:b.invalid_type,expected:R.number,received:$.parsedType}),u}let Y=void 0,W=new k0;for(let $ of this._def.checks)if($.kind==="int"){if(!t.isInteger(Q.data))Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.invalid_type,expected:"integer",received:"float",message:$.message}),W.dirty()}else if($.kind==="min"){if($.inclusive?Q.data<$.value:Q.data<=$.value)Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.too_small,minimum:$.value,type:"number",inclusive:$.inclusive,exact:!1,message:$.message}),W.dirty()}else if($.kind==="max"){if($.inclusive?Q.data>$.value:Q.data>=$.value)Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.too_big,maximum:$.value,type:"number",inclusive:$.inclusive,exact:!1,message:$.message}),W.dirty()}else if($.kind==="multipleOf"){if(KU(Q.data,$.value)!==0)Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.not_multiple_of,multipleOf:$.value,message:$.message}),W.dirty()}else if($.kind==="finite"){if(!Number.isFinite(Q.data))Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.not_finite,message:$.message}),W.dirty()}else t.assertNever($);return{status:W.value,value:Q.data}}gte(Q,X){return this.setLimit("min",Q,!0,v.toString(X))}gt(Q,X){return this.setLimit("min",Q,!1,v.toString(X))}lte(Q,X){return this.setLimit("max",Q,!0,v.toString(X))}lt(Q,X){return this.setLimit("max",Q,!1,v.toString(X))}setLimit(Q,X,Y,W){return new F6({...this._def,checks:[...this._def.checks,{kind:Q,value:X,inclusive:Y,message:v.toString(W)}]})}_addCheck(Q){return new F6({...this._def,checks:[...this._def.checks,Q]})}int(Q){return this._addCheck({kind:"int",message:v.toString(Q)})}positive(Q){return this._addCheck({kind:"min",value:0,inclusive:!1,message:v.toString(Q)})}negative(Q){return this._addCheck({kind:"max",value:0,inclusive:!1,message:v.toString(Q)})}nonpositive(Q){return this._addCheck({kind:"max",value:0,inclusive:!0,message:v.toString(Q)})}nonnegative(Q){return this._addCheck({kind:"min",value:0,inclusive:!0,message:v.toString(Q)})}multipleOf(Q,X){return this._addCheck({kind:"multipleOf",value:Q,message:v.toString(X)})}finite(Q){return this._addCheck({kind:"finite",message:v.toString(Q)})}safe(Q){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:v.toString(Q)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:v.toString(Q)})}get minValue(){let Q=null;for(let X of this._def.checks)if(X.kind==="min"){if(Q===null||X.value>Q)Q=X.value}return Q}get maxValue(){let Q=null;for(let X of this._def.checks)if(X.kind==="max"){if(Q===null||X.value<Q)Q=X.value}return Q}get isInt(){return!!this._def.checks.find((Q)=>Q.kind==="int"||Q.kind==="multipleOf"&&t.isInteger(Q.value))}get isFinite(){let Q=null,X=null;for(let Y of this._def.checks)if(Y.kind==="finite"||Y.kind==="int"||Y.kind==="multipleOf")return!0;else if(Y.kind==="min"){if(X===null||Y.value>X)X=Y.value}else if(Y.kind==="max"){if(Q===null||Y.value<Q)Q=Y.value}return Number.isFinite(X)&&Number.isFinite(Q)}}F6.create=(Q)=>{return new F6({checks:[],typeName:P.ZodNumber,coerce:Q?.coerce||!1,...p(Q)})};class D6 extends o{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(Q){if(this._def.coerce)try{Q.data=BigInt(Q.data)}catch{return this._getInvalidInput(Q)}if(this._getType(Q)!==R.bigint)return this._getInvalidInput(Q);let Y=void 0,W=new k0;for(let $ of this._def.checks)if($.kind==="min"){if($.inclusive?Q.data<$.value:Q.data<=$.value)Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.too_small,type:"bigint",minimum:$.value,inclusive:$.inclusive,message:$.message}),W.dirty()}else if($.kind==="max"){if($.inclusive?Q.data>$.value:Q.data>=$.value)Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.too_big,type:"bigint",maximum:$.value,inclusive:$.inclusive,message:$.message}),W.dirty()}else if($.kind==="multipleOf"){if(Q.data%$.value!==BigInt(0))Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.not_multiple_of,multipleOf:$.value,message:$.message}),W.dirty()}else t.assertNever($);return{status:W.value,value:Q.data}}_getInvalidInput(Q){let X=this._getOrReturnCtx(Q);return T(X,{code:b.invalid_type,expected:R.bigint,received:X.parsedType}),u}gte(Q,X){return this.setLimit("min",Q,!0,v.toString(X))}gt(Q,X){return this.setLimit("min",Q,!1,v.toString(X))}lte(Q,X){return this.setLimit("max",Q,!0,v.toString(X))}lt(Q,X){return this.setLimit("max",Q,!1,v.toString(X))}setLimit(Q,X,Y,W){return new D6({...this._def,checks:[...this._def.checks,{kind:Q,value:X,inclusive:Y,message:v.toString(W)}]})}_addCheck(Q){return new D6({...this._def,checks:[...this._def.checks,Q]})}positive(Q){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:v.toString(Q)})}negative(Q){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:v.toString(Q)})}nonpositive(Q){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:v.toString(Q)})}nonnegative(Q){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:v.toString(Q)})}multipleOf(Q,X){return this._addCheck({kind:"multipleOf",value:Q,message:v.toString(X)})}get minValue(){let Q=null;for(let X of this._def.checks)if(X.kind==="min"){if(Q===null||X.value>Q)Q=X.value}return Q}get maxValue(){let Q=null;for(let X of this._def.checks)if(X.kind==="max"){if(Q===null||X.value<Q)Q=X.value}return Q}}D6.create=(Q)=>{return new D6({checks:[],typeName:P.ZodBigInt,coerce:Q?.coerce??!1,...p(Q)})};class N9 extends o{_parse(Q){if(this._def.coerce)Q.data=Boolean(Q.data);if(this._getType(Q)!==R.boolean){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:R.boolean,received:Y.parsedType}),u}return u0(Q.data)}}N9.create=(Q)=>{return new N9({typeName:P.ZodBoolean,coerce:Q?.coerce||!1,...p(Q)})};class m6 extends o{_parse(Q){if(this._def.coerce)Q.data=new Date(Q.data);if(this._getType(Q)!==R.date){let $=this._getOrReturnCtx(Q);return T($,{code:b.invalid_type,expected:R.date,received:$.parsedType}),u}if(Number.isNaN(Q.data.getTime())){let $=this._getOrReturnCtx(Q);return T($,{code:b.invalid_date}),u}let Y=new k0,W=void 0;for(let $ of this._def.checks)if($.kind==="min"){if(Q.data.getTime()<$.value)W=this._getOrReturnCtx(Q,W),T(W,{code:b.too_small,message:$.message,inclusive:!0,exact:!1,minimum:$.value,type:"date"}),Y.dirty()}else if($.kind==="max"){if(Q.data.getTime()>$.value)W=this._getOrReturnCtx(Q,W),T(W,{code:b.too_big,message:$.message,inclusive:!0,exact:!1,maximum:$.value,type:"date"}),Y.dirty()}else t.assertNever($);return{status:Y.value,value:new Date(Q.data.getTime())}}_addCheck(Q){return new m6({...this._def,checks:[...this._def.checks,Q]})}min(Q,X){return this._addCheck({kind:"min",value:Q.getTime(),message:v.toString(X)})}max(Q,X){return this._addCheck({kind:"max",value:Q.getTime(),message:v.toString(X)})}get minDate(){let Q=null;for(let X of this._def.checks)if(X.kind==="min"){if(Q===null||X.value>Q)Q=X.value}return Q!=null?new Date(Q):null}get maxDate(){let Q=null;for(let X of this._def.checks)if(X.kind==="max"){if(Q===null||X.value<Q)Q=X.value}return Q!=null?new Date(Q):null}}m6.create=(Q)=>{return new m6({checks:[],coerce:Q?.coerce||!1,typeName:P.ZodDate,...p(Q)})};class N4 extends o{_parse(Q){if(this._getType(Q)!==R.symbol){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:R.symbol,received:Y.parsedType}),u}return u0(Q.data)}}N4.create=(Q)=>{return new N4({typeName:P.ZodSymbol,...p(Q)})};class q9 extends o{_parse(Q){if(this._getType(Q)!==R.undefined){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:R.undefined,received:Y.parsedType}),u}return u0(Q.data)}}q9.create=(Q)=>{return new q9({typeName:P.ZodUndefined,...p(Q)})};class M9 extends o{_parse(Q){if(this._getType(Q)!==R.null){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:R.null,received:Y.parsedType}),u}return u0(Q.data)}}M9.create=(Q)=>{return new M9({typeName:P.ZodNull,...p(Q)})};class c6 extends o{constructor(){super(...arguments);this._any=!0}_parse(Q){return u0(Q.data)}}c6.create=(Q)=>{return new c6({typeName:P.ZodAny,...p(Q)})};class A6 extends o{constructor(){super(...arguments);this._unknown=!0}_parse(Q){return u0(Q.data)}}A6.create=(Q)=>{return new A6({typeName:P.ZodUnknown,...p(Q)})};class u1 extends o{_parse(Q){let X=this._getOrReturnCtx(Q);return T(X,{code:b.invalid_type,expected:R.never,received:X.parsedType}),u}}u1.create=(Q)=>{return new u1({typeName:P.ZodNever,...p(Q)})};class q4 extends o{_parse(Q){if(this._getType(Q)!==R.undefined){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:R.void,received:Y.parsedType}),u}return u0(Q.data)}}q4.create=(Q)=>{return new q4({typeName:P.ZodVoid,...p(Q)})};class w1 extends o{_parse(Q){let{ctx:X,status:Y}=this._processInputParams(Q),W=this._def;if(X.parsedType!==R.array)return T(X,{code:b.invalid_type,expected:R.array,received:X.parsedType}),u;if(W.exactLength!==null){let J=X.data.length>W.exactLength.value,G=X.data.length<W.exactLength.value;if(J||G)T(X,{code:J?b.too_big:b.too_small,minimum:G?W.exactLength.value:void 0,maximum:J?W.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:W.exactLength.message}),Y.dirty()}if(W.minLength!==null){if(X.data.length<W.minLength.value)T(X,{code:b.too_small,minimum:W.minLength.value,type:"array",inclusive:!0,exact:!1,message:W.minLength.message}),Y.dirty()}if(W.maxLength!==null){if(X.data.length>W.maxLength.value)T(X,{code:b.too_big,maximum:W.maxLength.value,type:"array",inclusive:!0,exact:!1,message:W.maxLength.message}),Y.dirty()}if(X.common.async)return Promise.all([...X.data].map((J,G)=>{return W.type._parseAsync(new N1(X,J,X.path,G))})).then((J)=>{return k0.mergeArray(Y,J)});let $=[...X.data].map((J,G)=>{return W.type._parseSync(new N1(X,J,X.path,G))});return k0.mergeArray(Y,$)}get element(){return this._def.type}min(Q,X){return new w1({...this._def,minLength:{value:Q,message:v.toString(X)}})}max(Q,X){return new w1({...this._def,maxLength:{value:Q,message:v.toString(X)}})}length(Q,X){return new w1({...this._def,exactLength:{value:Q,message:v.toString(X)}})}nonempty(Q){return this.min(1,Q)}}w1.create=(Q,X)=>{return new w1({type:Q,minLength:null,maxLength:null,exactLength:null,typeName:P.ZodArray,...p(X)})};function U9(Q){if(Q instanceof M0){let X={};for(let Y in Q.shape){let W=Q.shape[Y];X[Y]=z1.create(U9(W))}return new M0({...Q._def,shape:()=>X})}else if(Q instanceof w1)return new w1({...Q._def,type:U9(Q.element)});else if(Q instanceof z1)return z1.create(U9(Q.unwrap()));else if(Q instanceof a1)return a1.create(U9(Q.unwrap()));else if(Q instanceof l1)return l1.create(Q.items.map((X)=>U9(X)));else return Q}class M0 extends o{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let Q=this._def.shape(),X=t.objectKeys(Q);return this._cached={shape:Q,keys:X},this._cached}_parse(Q){if(this._getType(Q)!==R.object){let B=this._getOrReturnCtx(Q);return T(B,{code:b.invalid_type,expected:R.object,received:B.parsedType}),u}let{status:Y,ctx:W}=this._processInputParams(Q),{shape:$,keys:J}=this._getCached(),G=[];if(!(this._def.catchall instanceof u1&&this._def.unknownKeys==="strip")){for(let B in W.data)if(!J.includes(B))G.push(B)}let H=[];for(let B of J){let z=$[B],K=W.data[B];H.push({key:{status:"valid",value:B},value:z._parse(new N1(W,K,W.path,B)),alwaysSet:B in W.data})}if(this._def.catchall instanceof u1){let B=this._def.unknownKeys;if(B==="passthrough")for(let z of G)H.push({key:{status:"valid",value:z},value:{status:"valid",value:W.data[z]}});else if(B==="strict"){if(G.length>0)T(W,{code:b.unrecognized_keys,keys:G}),Y.dirty()}else if(B==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let B=this._def.catchall;for(let z of G){let K=W.data[z];H.push({key:{status:"valid",value:z},value:B._parse(new N1(W,K,W.path,z)),alwaysSet:z in W.data})}}if(W.common.async)return Promise.resolve().then(async()=>{let B=[];for(let z of H){let K=await z.key,V=await z.value;B.push({key:K,value:V,alwaysSet:z.alwaysSet})}return B}).then((B)=>{return k0.mergeObjectSync(Y,B)});else return k0.mergeObjectSync(Y,H)}get shape(){return this._def.shape()}strict(Q){return v.errToObj,new M0({...this._def,unknownKeys:"strict",...Q!==void 0?{errorMap:(X,Y)=>{let W=this._def.errorMap?.(X,Y).message??Y.defaultError;if(X.code==="unrecognized_keys")return{message:v.errToObj(Q).message??W};return{message:W}}}:{}})}strip(){return new M0({...this._def,unknownKeys:"strip"})}passthrough(){return new M0({...this._def,unknownKeys:"passthrough"})}extend(Q){return new M0({...this._def,shape:()=>({...this._def.shape(),...Q})})}merge(Q){return new M0({unknownKeys:Q._def.unknownKeys,catchall:Q._def.catchall,shape:()=>({...this._def.shape(),...Q._def.shape()}),typeName:P.ZodObject})}setKey(Q,X){return this.augment({[Q]:X})}catchall(Q){return new M0({...this._def,catchall:Q})}pick(Q){let X={};for(let Y of t.objectKeys(Q))if(Q[Y]&&this.shape[Y])X[Y]=this.shape[Y];return new M0({...this._def,shape:()=>X})}omit(Q){let X={};for(let Y of t.objectKeys(this.shape))if(!Q[Y])X[Y]=this.shape[Y];return new M0({...this._def,shape:()=>X})}deepPartial(){return U9(this)}partial(Q){let X={};for(let Y of t.objectKeys(this.shape)){let W=this.shape[Y];if(Q&&!Q[Y])X[Y]=W;else X[Y]=W.optional()}return new M0({...this._def,shape:()=>X})}required(Q){let X={};for(let Y of t.objectKeys(this.shape))if(Q&&!Q[Y])X[Y]=this.shape[Y];else{let $=this.shape[Y];while($ instanceof z1)$=$._def.innerType;X[Y]=$}return new M0({...this._def,shape:()=>X})}keyof(){return FG(t.objectKeys(this.shape))}}M0.create=(Q,X)=>{return new M0({shape:()=>Q,unknownKeys:"strip",catchall:u1.create(),typeName:P.ZodObject,...p(X)})};M0.strictCreate=(Q,X)=>{return new M0({shape:()=>Q,unknownKeys:"strict",catchall:u1.create(),typeName:P.ZodObject,...p(X)})};M0.lazycreate=(Q,X)=>{return new M0({shape:Q,unknownKeys:"strip",catchall:u1.create(),typeName:P.ZodObject,...p(X)})};class b9 extends o{_parse(Q){let{ctx:X}=this._processInputParams(Q),Y=this._def.options;function W($){for(let G of $)if(G.result.status==="valid")return G.result;for(let G of $)if(G.result.status==="dirty")return X.common.issues.push(...G.ctx.common.issues),G.result;let J=$.map((G)=>new t0(G.ctx.common.issues));return T(X,{code:b.invalid_union,unionErrors:J}),u}if(X.common.async)return Promise.all(Y.map(async($)=>{let J={...X,common:{...X.common,issues:[]},parent:null};return{result:await $._parseAsync({data:X.data,path:X.path,parent:J}),ctx:J}})).then(W);else{let $=void 0,J=[];for(let H of Y){let B={...X,common:{...X.common,issues:[]},parent:null},z=H._parseSync({data:X.data,path:X.path,parent:B});if(z.status==="valid")return z;else if(z.status==="dirty"&&!$)$={result:z,ctx:B};if(B.common.issues.length)J.push(B.common.issues)}if($)return X.common.issues.push(...$.ctx.common.issues),$.result;let G=J.map((H)=>new t0(H));return T(X,{code:b.invalid_union,unionErrors:G}),u}}get options(){return this._def.options}}b9.create=(Q,X)=>{return new b9({options:Q,typeName:P.ZodUnion,...p(X)})};var t1=(Q)=>{if(Q instanceof Z9)return t1(Q.schema);else if(Q instanceof q1)return t1(Q.innerType());else if(Q instanceof R9)return[Q.value];else if(Q instanceof L6)return Q.options;else if(Q instanceof E9)return t.objectValues(Q.enum);else if(Q instanceof S9)return t1(Q._def.innerType);else if(Q instanceof q9)return[void 0];else if(Q instanceof M9)return[null];else if(Q instanceof z1)return[void 0,...t1(Q.unwrap())];else if(Q instanceof a1)return[null,...t1(Q.unwrap())];else if(Q instanceof XQ)return t1(Q.unwrap());else if(Q instanceof C9)return t1(Q.unwrap());else if(Q instanceof I9)return t1(Q._def.innerType);else return[]};class QQ extends o{_parse(Q){let{ctx:X}=this._processInputParams(Q);if(X.parsedType!==R.object)return T(X,{code:b.invalid_type,expected:R.object,received:X.parsedType}),u;let Y=this.discriminator,W=X.data[Y],$=this.optionsMap.get(W);if(!$)return T(X,{code:b.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[Y]}),u;if(X.common.async)return $._parseAsync({data:X.data,path:X.path,parent:X});else return $._parseSync({data:X.data,path:X.path,parent:X})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(Q,X,Y){let W=new Map;for(let $ of X){let J=t1($.shape[Q]);if(!J.length)throw Error(`A discriminator value for key \`${Q}\` could not be extracted from all schema options`);for(let G of J){if(W.has(G))throw Error(`Discriminator property ${String(Q)} has duplicate value ${String(G)}`);W.set(G,$)}}return new QQ({typeName:P.ZodDiscriminatedUnion,discriminator:Q,options:X,optionsMap:W,...p(Y)})}}function pY(Q,X){let Y=h1(Q),W=h1(X);if(Q===X)return{valid:!0,data:Q};else if(Y===R.object&&W===R.object){let $=t.objectKeys(X),J=t.objectKeys(Q).filter((H)=>$.indexOf(H)!==-1),G={...Q,...X};for(let H of J){let B=pY(Q[H],X[H]);if(!B.valid)return{valid:!1};G[H]=B.data}return{valid:!0,data:G}}else if(Y===R.array&&W===R.array){if(Q.length!==X.length)return{valid:!1};let $=[];for(let J=0;J<Q.length;J++){let G=Q[J],H=X[J],B=pY(G,H);if(!B.valid)return{valid:!1};$.push(B.data)}return{valid:!0,data:$}}else if(Y===R.date&&W===R.date&&+Q===+X)return{valid:!0,data:Q};else return{valid:!1}}class P9 extends o{_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q),W=($,J)=>{if(s8($)||s8(J))return u;let G=pY($.value,J.value);if(!G.valid)return T(Y,{code:b.invalid_intersection_types}),u;if(e8($)||e8(J))X.dirty();return{status:X.value,value:G.data}};if(Y.common.async)return Promise.all([this._def.left._parseAsync({data:Y.data,path:Y.path,parent:Y}),this._def.right._parseAsync({data:Y.data,path:Y.path,parent:Y})]).then(([$,J])=>W($,J));else return W(this._def.left._parseSync({data:Y.data,path:Y.path,parent:Y}),this._def.right._parseSync({data:Y.data,path:Y.path,parent:Y}))}}P9.create=(Q,X,Y)=>{return new P9({left:Q,right:X,typeName:P.ZodIntersection,...p(Y)})};class l1 extends o{_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q);if(Y.parsedType!==R.array)return T(Y,{code:b.invalid_type,expected:R.array,received:Y.parsedType}),u;if(Y.data.length<this._def.items.length)return T(Y,{code:b.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),u;if(!this._def.rest&&Y.data.length>this._def.items.length)T(Y,{code:b.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),X.dirty();let $=[...Y.data].map((J,G)=>{let H=this._def.items[G]||this._def.rest;if(!H)return null;return H._parse(new N1(Y,J,Y.path,G))}).filter((J)=>!!J);if(Y.common.async)return Promise.all($).then((J)=>{return k0.mergeArray(X,J)});else return k0.mergeArray(X,$)}get items(){return this._def.items}rest(Q){return new l1({...this._def,rest:Q})}}l1.create=(Q,X)=>{if(!Array.isArray(Q))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new l1({items:Q,typeName:P.ZodTuple,rest:null,...p(X)})};class M4 extends o{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q);if(Y.parsedType!==R.object)return T(Y,{code:b.invalid_type,expected:R.object,received:Y.parsedType}),u;let W=[],$=this._def.keyType,J=this._def.valueType;for(let G in Y.data)W.push({key:$._parse(new N1(Y,G,Y.path,G)),value:J._parse(new N1(Y,Y.data[G],Y.path,G)),alwaysSet:G in Y.data});if(Y.common.async)return k0.mergeObjectAsync(X,W);else return k0.mergeObjectSync(X,W)}get element(){return this._def.valueType}static create(Q,X,Y){if(X instanceof o)return new M4({keyType:Q,valueType:X,typeName:P.ZodRecord,...p(Y)});return new M4({keyType:U1.create(),valueType:Q,typeName:P.ZodRecord,...p(X)})}}class b4 extends o{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q);if(Y.parsedType!==R.map)return T(Y,{code:b.invalid_type,expected:R.map,received:Y.parsedType}),u;let W=this._def.keyType,$=this._def.valueType,J=[...Y.data.entries()].map(([G,H],B)=>{return{key:W._parse(new N1(Y,G,Y.path,[B,"key"])),value:$._parse(new N1(Y,H,Y.path,[B,"value"]))}});if(Y.common.async){let G=new Map;return Promise.resolve().then(async()=>{for(let H of J){let B=await H.key,z=await H.value;if(B.status==="aborted"||z.status==="aborted")return u;if(B.status==="dirty"||z.status==="dirty")X.dirty();G.set(B.value,z.value)}return{status:X.value,value:G}})}else{let G=new Map;for(let H of J){let{key:B,value:z}=H;if(B.status==="aborted"||z.status==="aborted")return u;if(B.status==="dirty"||z.status==="dirty")X.dirty();G.set(B.value,z.value)}return{status:X.value,value:G}}}}b4.create=(Q,X,Y)=>{return new b4({valueType:X,keyType:Q,typeName:P.ZodMap,...p(Y)})};class p6 extends o{_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q);if(Y.parsedType!==R.set)return T(Y,{code:b.invalid_type,expected:R.set,received:Y.parsedType}),u;let W=this._def;if(W.minSize!==null){if(Y.data.size<W.minSize.value)T(Y,{code:b.too_small,minimum:W.minSize.value,type:"set",inclusive:!0,exact:!1,message:W.minSize.message}),X.dirty()}if(W.maxSize!==null){if(Y.data.size>W.maxSize.value)T(Y,{code:b.too_big,maximum:W.maxSize.value,type:"set",inclusive:!0,exact:!1,message:W.maxSize.message}),X.dirty()}let $=this._def.valueType;function J(H){let B=new Set;for(let z of H){if(z.status==="aborted")return u;if(z.status==="dirty")X.dirty();B.add(z.value)}return{status:X.value,value:B}}let G=[...Y.data.values()].map((H,B)=>$._parse(new N1(Y,H,Y.path,B)));if(Y.common.async)return Promise.all(G).then((H)=>J(H));else return J(G)}min(Q,X){return new p6({...this._def,minSize:{value:Q,message:v.toString(X)}})}max(Q,X){return new p6({...this._def,maxSize:{value:Q,message:v.toString(X)}})}size(Q,X){return this.min(Q,X).max(Q,X)}nonempty(Q){return this.min(1,Q)}}p6.create=(Q,X)=>{return new p6({valueType:Q,minSize:null,maxSize:null,typeName:P.ZodSet,...p(X)})};class w9 extends o{constructor(){super(...arguments);this.validate=this.implement}_parse(Q){let{ctx:X}=this._processInputParams(Q);if(X.parsedType!==R.function)return T(X,{code:b.invalid_type,expected:R.function,received:X.parsedType}),u;function Y(G,H){return w4({data:G,path:X.path,errorMaps:[X.common.contextualErrorMap,X.schemaErrorMap,O9(),r1].filter((B)=>!!B),issueData:{code:b.invalid_arguments,argumentsError:H}})}function W(G,H){return w4({data:G,path:X.path,errorMaps:[X.common.contextualErrorMap,X.schemaErrorMap,O9(),r1].filter((B)=>!!B),issueData:{code:b.invalid_return_type,returnTypeError:H}})}let $={errorMap:X.common.contextualErrorMap},J=X.data;if(this._def.returns instanceof d6){let G=this;return u0(async function(...H){let B=new t0([]),z=await G._def.args.parseAsync(H,$).catch((A)=>{throw B.addIssue(Y(H,A)),B}),K=await Reflect.apply(J,this,z);return await G._def.returns._def.type.parseAsync(K,$).catch((A)=>{throw B.addIssue(W(K,A)),B})})}else{let G=this;return u0(function(...H){let B=G._def.args.safeParse(H,$);if(!B.success)throw new t0([Y(H,B.error)]);let z=Reflect.apply(J,this,B.data),K=G._def.returns.safeParse(z,$);if(!K.success)throw new t0([W(z,K.error)]);return K.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...Q){return new w9({...this._def,args:l1.create(Q).rest(A6.create())})}returns(Q){return new w9({...this._def,returns:Q})}implement(Q){return this.parse(Q)}strictImplement(Q){return this.parse(Q)}static create(Q,X,Y){return new w9({args:Q?Q:l1.create([]).rest(A6.create()),returns:X||A6.create(),typeName:P.ZodFunction,...p(Y)})}}class Z9 extends o{get schema(){return this._def.getter()}_parse(Q){let{ctx:X}=this._processInputParams(Q);return this._def.getter()._parse({data:X.data,path:X.path,parent:X})}}Z9.create=(Q,X)=>{return new Z9({getter:Q,typeName:P.ZodLazy,...p(X)})};class R9 extends o{_parse(Q){if(Q.data!==this._def.value){let X=this._getOrReturnCtx(Q);return T(X,{received:X.data,code:b.invalid_literal,expected:this._def.value}),u}return{status:"valid",value:Q.data}}get value(){return this._def.value}}R9.create=(Q,X)=>{return new R9({value:Q,typeName:P.ZodLiteral,...p(X)})};function FG(Q,X){return new L6({values:Q,typeName:P.ZodEnum,...p(X)})}class L6 extends o{_parse(Q){if(typeof Q.data!=="string"){let X=this._getOrReturnCtx(Q),Y=this._def.values;return T(X,{expected:t.joinValues(Y),received:X.parsedType,code:b.invalid_type}),u}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(Q.data)){let X=this._getOrReturnCtx(Q),Y=this._def.values;return T(X,{received:X.data,code:b.invalid_enum_value,options:Y}),u}return u0(Q.data)}get options(){return this._def.values}get enum(){let Q={};for(let X of this._def.values)Q[X]=X;return Q}get Values(){let Q={};for(let X of this._def.values)Q[X]=X;return Q}get Enum(){let Q={};for(let X of this._def.values)Q[X]=X;return Q}extract(Q,X=this._def){return L6.create(Q,{...this._def,...X})}exclude(Q,X=this._def){return L6.create(this.options.filter((Y)=>!Q.includes(Y)),{...this._def,...X})}}L6.create=FG;class E9 extends o{_parse(Q){let X=t.getValidEnumValues(this._def.values),Y=this._getOrReturnCtx(Q);if(Y.parsedType!==R.string&&Y.parsedType!==R.number){let W=t.objectValues(X);return T(Y,{expected:t.joinValues(W),received:Y.parsedType,code:b.invalid_type}),u}if(!this._cache)this._cache=new Set(t.getValidEnumValues(this._def.values));if(!this._cache.has(Q.data)){let W=t.objectValues(X);return T(Y,{received:Y.data,code:b.invalid_enum_value,options:W}),u}return u0(Q.data)}get enum(){return this._def.values}}E9.create=(Q,X)=>{return new E9({values:Q,typeName:P.ZodNativeEnum,...p(X)})};class d6 extends o{unwrap(){return this._def.type}_parse(Q){let{ctx:X}=this._processInputParams(Q);if(X.parsedType!==R.promise&&X.common.async===!1)return T(X,{code:b.invalid_type,expected:R.promise,received:X.parsedType}),u;let Y=X.parsedType===R.promise?X.data:Promise.resolve(X.data);return u0(Y.then((W)=>{return this._def.type.parseAsync(W,{path:X.path,errorMap:X.common.contextualErrorMap})}))}}d6.create=(Q,X)=>{return new d6({type:Q,typeName:P.ZodPromise,...p(X)})};class q1 extends o{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===P.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q),W=this._def.effect||null,$={addIssue:(J)=>{if(T(Y,J),J.fatal)X.abort();else X.dirty()},get path(){return Y.path}};if($.addIssue=$.addIssue.bind($),W.type==="preprocess"){let J=W.transform(Y.data,$);if(Y.common.async)return Promise.resolve(J).then(async(G)=>{if(X.value==="aborted")return u;let H=await this._def.schema._parseAsync({data:G,path:Y.path,parent:Y});if(H.status==="aborted")return u;if(H.status==="dirty")return l6(H.value);if(X.value==="dirty")return l6(H.value);return H});else{if(X.value==="aborted")return u;let G=this._def.schema._parseSync({data:J,path:Y.path,parent:Y});if(G.status==="aborted")return u;if(G.status==="dirty")return l6(G.value);if(X.value==="dirty")return l6(G.value);return G}}if(W.type==="refinement"){let J=(G)=>{let H=W.refinement(G,$);if(Y.common.async)return Promise.resolve(H);if(H instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return G};if(Y.common.async===!1){let G=this._def.schema._parseSync({data:Y.data,path:Y.path,parent:Y});if(G.status==="aborted")return u;if(G.status==="dirty")X.dirty();return J(G.value),{status:X.value,value:G.value}}else return this._def.schema._parseAsync({data:Y.data,path:Y.path,parent:Y}).then((G)=>{if(G.status==="aborted")return u;if(G.status==="dirty")X.dirty();return J(G.value).then(()=>{return{status:X.value,value:G.value}})})}if(W.type==="transform")if(Y.common.async===!1){let J=this._def.schema._parseSync({data:Y.data,path:Y.path,parent:Y});if(!V6(J))return u;let G=W.transform(J.value,$);if(G instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:X.value,value:G}}else return this._def.schema._parseAsync({data:Y.data,path:Y.path,parent:Y}).then((J)=>{if(!V6(J))return u;return Promise.resolve(W.transform(J.value,$)).then((G)=>({status:X.value,value:G}))});t.assertNever(W)}}q1.create=(Q,X,Y)=>{return new q1({schema:Q,typeName:P.ZodEffects,effect:X,...p(Y)})};q1.createWithPreprocess=(Q,X,Y)=>{return new q1({schema:X,effect:{type:"preprocess",transform:Q},typeName:P.ZodEffects,...p(Y)})};class z1 extends o{_parse(Q){if(this._getType(Q)===R.undefined)return u0(void 0);return this._def.innerType._parse(Q)}unwrap(){return this._def.innerType}}z1.create=(Q,X)=>{return new z1({innerType:Q,typeName:P.ZodOptional,...p(X)})};class a1 extends o{_parse(Q){if(this._getType(Q)===R.null)return u0(null);return this._def.innerType._parse(Q)}unwrap(){return this._def.innerType}}a1.create=(Q,X)=>{return new a1({innerType:Q,typeName:P.ZodNullable,...p(X)})};class S9 extends o{_parse(Q){let{ctx:X}=this._processInputParams(Q),Y=X.data;if(X.parsedType===R.undefined)Y=this._def.defaultValue();return this._def.innerType._parse({data:Y,path:X.path,parent:X})}removeDefault(){return this._def.innerType}}S9.create=(Q,X)=>{return new S9({innerType:Q,typeName:P.ZodDefault,defaultValue:typeof X.default==="function"?X.default:()=>X.default,...p(X)})};class I9 extends o{_parse(Q){let{ctx:X}=this._processInputParams(Q),Y={...X,common:{...X.common,issues:[]}},W=this._def.innerType._parse({data:Y.data,path:Y.path,parent:{...Y}});if(j9(W))return W.then(($)=>{return{status:"valid",value:$.status==="valid"?$.value:this._def.catchValue({get error(){return new t0(Y.common.issues)},input:Y.data})}});else return{status:"valid",value:W.status==="valid"?W.value:this._def.catchValue({get error(){return new t0(Y.common.issues)},input:Y.data})}}removeCatch(){return this._def.innerType}}I9.create=(Q,X)=>{return new I9({innerType:Q,typeName:P.ZodCatch,catchValue:typeof X.catch==="function"?X.catch:()=>X.catch,...p(X)})};class P4 extends o{_parse(Q){if(this._getType(Q)!==R.nan){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:R.nan,received:Y.parsedType}),u}return{status:"valid",value:Q.data}}}P4.create=(Q)=>{return new P4({typeName:P.ZodNaN,...p(Q)})};var VU=Symbol("zod_brand");class XQ extends o{_parse(Q){let{ctx:X}=this._processInputParams(Q),Y=X.data;return this._def.type._parse({data:Y,path:X.path,parent:X})}unwrap(){return this._def.type}}class Z4 extends o{_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q);if(Y.common.async)return(async()=>{let $=await this._def.in._parseAsync({data:Y.data,path:Y.path,parent:Y});if($.status==="aborted")return u;if($.status==="dirty")return X.dirty(),l6($.value);else return this._def.out._parseAsync({data:$.value,path:Y.path,parent:Y})})();else{let W=this._def.in._parseSync({data:Y.data,path:Y.path,parent:Y});if(W.status==="aborted")return u;if(W.status==="dirty")return X.dirty(),{status:"dirty",value:W.value};else return this._def.out._parseSync({data:W.value,path:Y.path,parent:Y})}}static create(Q,X){return new Z4({in:Q,out:X,typeName:P.ZodPipeline})}}class C9 extends o{_parse(Q){let X=this._def.innerType._parse(Q),Y=(W)=>{if(V6(W))W.value=Object.freeze(W.value);return W};return j9(X)?X.then((W)=>Y(W)):Y(X)}unwrap(){return this._def.innerType}}C9.create=(Q,X)=>{return new C9({innerType:Q,typeName:P.ZodReadonly,...p(X)})};function zG(Q,X){let Y=typeof Q==="function"?Q(X):typeof Q==="string"?{message:Q}:Q;return typeof Y==="string"?{message:Y}:Y}function DG(Q,X={},Y){if(Q)return c6.create().superRefine((W,$)=>{let J=Q(W);if(J instanceof Promise)return J.then((G)=>{if(!G){let H=zG(X,W),B=H.fatal??Y??!0;$.addIssue({code:"custom",...H,fatal:B})}});if(!J){let G=zG(X,W),H=G.fatal??Y??!0;$.addIssue({code:"custom",...G,fatal:H})}return});return c6.create()}var AU={object:M0.lazycreate},P;(function(Q){Q.ZodString="ZodString",Q.ZodNumber="ZodNumber",Q.ZodNaN="ZodNaN",Q.ZodBigInt="ZodBigInt",Q.ZodBoolean="ZodBoolean",Q.ZodDate="ZodDate",Q.ZodSymbol="ZodSymbol",Q.ZodUndefined="ZodUndefined",Q.ZodNull="ZodNull",Q.ZodAny="ZodAny",Q.ZodUnknown="ZodUnknown",Q.ZodNever="ZodNever",Q.ZodVoid="ZodVoid",Q.ZodArray="ZodArray",Q.ZodObject="ZodObject",Q.ZodUnion="ZodUnion",Q.ZodDiscriminatedUnion="ZodDiscriminatedUnion",Q.ZodIntersection="ZodIntersection",Q.ZodTuple="ZodTuple",Q.ZodRecord="ZodRecord",Q.ZodMap="ZodMap",Q.ZodSet="ZodSet",Q.ZodFunction="ZodFunction",Q.ZodLazy="ZodLazy",Q.ZodLiteral="ZodLiteral",Q.ZodEnum="ZodEnum",Q.ZodEffects="ZodEffects",Q.ZodNativeEnum="ZodNativeEnum",Q.ZodOptional="ZodOptional",Q.ZodNullable="ZodNullable",Q.ZodDefault="ZodDefault",Q.ZodCatch="ZodCatch",Q.ZodPromise="ZodPromise",Q.ZodBranded="ZodBranded",Q.ZodPipeline="ZodPipeline",Q.ZodReadonly="ZodReadonly"})(P||(P={}));var FU=(Q,X={message:`Input not instance of ${Q.name}`})=>DG((Y)=>Y instanceof Q,X),LG=U1.create,OG=F6.create,DU=P4.create,LU=D6.create,jG=N9.create,OU=m6.create,jU=N4.create,UU=q9.create,wU=M9.create,NU=c6.create,qU=A6.create,MU=u1.create,bU=q4.create,PU=w1.create,dY=M0.create,ZU=M0.strictCreate,RU=b9.create,EU=QQ.create,SU=P9.create,IU=l1.create,CU=M4.create,TU=b4.create,kU=p6.create,vU=w9.create,_U=Z9.create,xU=R9.create,yU=L6.create,fU=E9.create,gU=d6.create,hU=q1.create,uU=z1.create,lU=a1.create,mU=q1.createWithPreprocess,cU=Z4.create,pU=()=>LG().optional(),dU=()=>OG().optional(),iU=()=>jG().optional(),nU={string:(Q)=>U1.create({...Q,coerce:!0}),number:(Q)=>F6.create({...Q,coerce:!0}),boolean:(Q)=>N9.create({...Q,coerce:!0}),bigint:(Q)=>D6.create({...Q,coerce:!0}),date:(Q)=>m6.create({...Q,coerce:!0})};var oU=u;var WQ=Object.freeze({status:"aborted"});function w(Q,X,Y){function W(H,B){var z;Object.defineProperty(H,"_zod",{value:H._zod??{},enumerable:!1}),(z=H._zod).traits??(z.traits=new Set),H._zod.traits.add(Q),X(H,B);for(let K in G.prototype)if(!(K in H))Object.defineProperty(H,K,{value:G.prototype[K].bind(H)});H._zod.constr=G,H._zod.def=B}let $=Y?.Parent??Object;class J extends ${}Object.defineProperty(J,"name",{value:Q});function G(H){var B;let z=Y?.Parent?new J:this;W(z,H),(B=z._zod).deferred??(B.deferred=[]);for(let K of z._zod.deferred)K();return z}return Object.defineProperty(G,"init",{value:W}),Object.defineProperty(G,Symbol.hasInstance,{value:(H)=>{if(Y?.Parent&&H instanceof Y.Parent)return!0;return H?._zod?.traits?.has(Q)}}),Object.defineProperty(G,"name",{value:Q}),G}var UG=Symbol("zod_brand");class O6 extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}var YQ={};function a0(Q){if(Q)Object.assign(YQ,Q);return YQ}var a={};a8(a,{unwrapMessage:()=>R4,stringifyPrimitive:()=>GQ,required:()=>Vw,randomString:()=>Yw,propertyKeyTypes:()=>aY,promiseAllObject:()=>Xw,primitiveTypes:()=>wG,prefixIssues:()=>m1,pick:()=>Gw,partial:()=>Kw,optionalKeys:()=>sY,omit:()=>Hw,numKeys:()=>Ww,nullish:()=>I4,normalizeParams:()=>g,merge:()=>zw,jsonStringifyReplacer:()=>nY,joinValues:()=>$Q,issue:()=>QW,isPlainObject:()=>k9,isObject:()=>T9,getSizableOrigin:()=>qG,getParsedType:()=>$w,getLengthableOrigin:()=>T4,getEnumValues:()=>E4,getElementAtPath:()=>Qw,floatSafeRemainder:()=>oY,finalizeIssue:()=>M1,extend:()=>Bw,escapeRegex:()=>j6,esc:()=>i6,defineLazy:()=>A0,createTransparentProxy:()=>Jw,clone:()=>s0,cleanRegex:()=>C4,cleanEnum:()=>Aw,captureStackTrace:()=>JQ,cached:()=>S4,assignProp:()=>rY,assertNotEqual:()=>tU,assertNever:()=>sU,assertIs:()=>aU,assertEqual:()=>rU,assert:()=>eU,allowsEval:()=>tY,aborted:()=>n6,NUMBER_FORMAT_RANGES:()=>eY,Class:()=>MG,BIGINT_FORMAT_RANGES:()=>NG});function rU(Q){return Q}function tU(Q){return Q}function aU(Q){}function sU(Q){throw Error()}function eU(Q){}function E4(Q){let X=Object.values(Q).filter((W)=>typeof W==="number");return Object.entries(Q).filter(([W,$])=>X.indexOf(+W)===-1).map(([W,$])=>$)}function $Q(Q,X="|"){return Q.map((Y)=>GQ(Y)).join(X)}function nY(Q,X){if(typeof X==="bigint")return X.toString();return X}function S4(Q){return{get value(){{let Y=Q();return Object.defineProperty(this,"value",{value:Y}),Y}throw Error("cached value already set")}}}function I4(Q){return Q===null||Q===void 0}function C4(Q){let X=Q.startsWith("^")?1:0,Y=Q.endsWith("$")?Q.length-1:Q.length;return Q.slice(X,Y)}function oY(Q,X){let Y=(Q.toString().split(".")[1]||"").length,W=(X.toString().split(".")[1]||"").length,$=Y>W?Y:W,J=Number.parseInt(Q.toFixed($).replace(".","")),G=Number.parseInt(X.toFixed($).replace(".",""));return J%G/10**$}function A0(Q,X,Y){Object.defineProperty(Q,X,{get(){{let $=Y();return Q[X]=$,$}throw Error("cached value already set")},set($){Object.defineProperty(Q,X,{value:$})},configurable:!0})}function rY(Q,X,Y){Object.defineProperty(Q,X,{value:Y,writable:!0,enumerable:!0,configurable:!0})}function Qw(Q,X){if(!X)return Q;return X.reduce((Y,W)=>Y?.[W],Q)}function Xw(Q){let X=Object.keys(Q),Y=X.map((W)=>Q[W]);return Promise.all(Y).then((W)=>{let $={};for(let J=0;J<X.length;J++)$[X[J]]=W[J];return $})}function Yw(Q=10){let Y="";for(let W=0;W<Q;W++)Y+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return Y}function i6(Q){return JSON.stringify(Q)}var JQ=Error.captureStackTrace?Error.captureStackTrace:(...Q)=>{};function T9(Q){return typeof Q==="object"&&Q!==null&&!Array.isArray(Q)}var tY=S4(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(Q){return!1}});function k9(Q){if(T9(Q)===!1)return!1;let X=Q.constructor;if(X===void 0)return!0;let Y=X.prototype;if(T9(Y)===!1)return!1;if(Object.prototype.hasOwnProperty.call(Y,"isPrototypeOf")===!1)return!1;return!0}function Ww(Q){let X=0;for(let Y in Q)if(Object.prototype.hasOwnProperty.call(Q,Y))X++;return X}var $w=(Q)=>{let X=typeof Q;switch(X){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(Q)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray(Q))return"array";if(Q===null)return"null";if(Q.then&&typeof Q.then==="function"&&Q.catch&&typeof Q.catch==="function")return"promise";if(typeof Map<"u"&&Q instanceof Map)return"map";if(typeof Set<"u"&&Q instanceof Set)return"set";if(typeof Date<"u"&&Q instanceof Date)return"date";if(typeof File<"u"&&Q instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${X}`)}},aY=new Set(["string","number","symbol"]),wG=new Set(["string","number","bigint","boolean","symbol","undefined"]);function j6(Q){return Q.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function s0(Q,X,Y){let W=new Q._zod.constr(X??Q._zod.def);if(!X||Y?.parent)W._zod.parent=Q;return W}function g(Q){let X=Q;if(!X)return{};if(typeof X==="string")return{error:()=>X};if(X?.message!==void 0){if(X?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");X.error=X.message}if(delete X.message,typeof X.error==="string")return{...X,error:()=>X.error};return X}function Jw(Q){let X;return new Proxy({},{get(Y,W,$){return X??(X=Q()),Reflect.get(X,W,$)},set(Y,W,$,J){return X??(X=Q()),Reflect.set(X,W,$,J)},has(Y,W){return X??(X=Q()),Reflect.has(X,W)},deleteProperty(Y,W){return X??(X=Q()),Reflect.deleteProperty(X,W)},ownKeys(Y){return X??(X=Q()),Reflect.ownKeys(X)},getOwnPropertyDescriptor(Y,W){return X??(X=Q()),Reflect.getOwnPropertyDescriptor(X,W)},defineProperty(Y,W,$){return X??(X=Q()),Reflect.defineProperty(X,W,$)}})}function GQ(Q){if(typeof Q==="bigint")return Q.toString()+"n";if(typeof Q==="string")return`"${Q}"`;return`${Q}`}function sY(Q){return Object.keys(Q).filter((X)=>{return Q[X]._zod.optin==="optional"&&Q[X]._zod.optout==="optional"})}var eY={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},NG={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function Gw(Q,X){let Y={},W=Q._zod.def;for(let $ in X){if(!($ in W.shape))throw Error(`Unrecognized key: "${$}"`);if(!X[$])continue;Y[$]=W.shape[$]}return s0(Q,{...Q._zod.def,shape:Y,checks:[]})}function Hw(Q,X){let Y={...Q._zod.def.shape},W=Q._zod.def;for(let $ in X){if(!($ in W.shape))throw Error(`Unrecognized key: "${$}"`);if(!X[$])continue;delete Y[$]}return s0(Q,{...Q._zod.def,shape:Y,checks:[]})}function Bw(Q,X){if(!k9(X))throw Error("Invalid input to extend: expected a plain object");let Y={...Q._zod.def,get shape(){let W={...Q._zod.def.shape,...X};return rY(this,"shape",W),W},checks:[]};return s0(Q,Y)}function zw(Q,X){return s0(Q,{...Q._zod.def,get shape(){let Y={...Q._zod.def.shape,...X._zod.def.shape};return rY(this,"shape",Y),Y},catchall:X._zod.def.catchall,checks:[]})}function Kw(Q,X,Y){let W=X._zod.def.shape,$={...W};if(Y)for(let J in Y){if(!(J in W))throw Error(`Unrecognized key: "${J}"`);if(!Y[J])continue;$[J]=Q?new Q({type:"optional",innerType:W[J]}):W[J]}else for(let J in W)$[J]=Q?new Q({type:"optional",innerType:W[J]}):W[J];return s0(X,{...X._zod.def,shape:$,checks:[]})}function Vw(Q,X,Y){let W=X._zod.def.shape,$={...W};if(Y)for(let J in Y){if(!(J in $))throw Error(`Unrecognized key: "${J}"`);if(!Y[J])continue;$[J]=new Q({type:"nonoptional",innerType:W[J]})}else for(let J in W)$[J]=new Q({type:"nonoptional",innerType:W[J]});return s0(X,{...X._zod.def,shape:$,checks:[]})}function n6(Q,X=0){for(let Y=X;Y<Q.issues.length;Y++)if(Q.issues[Y]?.continue!==!0)return!0;return!1}function m1(Q,X){return X.map((Y)=>{var W;return(W=Y).path??(W.path=[]),Y.path.unshift(Q),Y})}function R4(Q){return typeof Q==="string"?Q:Q?.message}function M1(Q,X,Y){let W={...Q,path:Q.path??[]};if(!Q.message){let $=R4(Q.inst?._zod.def?.error?.(Q))??R4(X?.error?.(Q))??R4(Y.customError?.(Q))??R4(Y.localeError?.(Q))??"Invalid input";W.message=$}if(delete W.inst,delete W.continue,!X?.reportInput)delete W.input;return W}function qG(Q){if(Q instanceof Set)return"set";if(Q instanceof Map)return"map";if(Q instanceof File)return"file";return"unknown"}function T4(Q){if(Array.isArray(Q))return"array";if(typeof Q==="string")return"string";return"unknown"}function QW(...Q){let[X,Y,W]=Q;if(typeof X==="string")return{message:X,code:"custom",input:Y,inst:W};return{...X}}function Aw(Q){return Object.entries(Q).filter(([X,Y])=>{return Number.isNaN(Number.parseInt(X,10))}).map((X)=>X[1])}class MG{constructor(...Q){}}var bG=(Q,X)=>{Q.name="$ZodError",Object.defineProperty(Q,"_zod",{value:Q._zod,enumerable:!1}),Object.defineProperty(Q,"issues",{value:X,enumerable:!1}),Object.defineProperty(Q,"message",{get(){return JSON.stringify(X,nY,2)},enumerable:!0}),Object.defineProperty(Q,"toString",{value:()=>Q.message,enumerable:!1})},HQ=w("$ZodError",bG),k4=w("$ZodError",bG,{Parent:Error});function BQ(Q,X=(Y)=>Y.message){let Y={},W=[];for(let $ of Q.issues)if($.path.length>0)Y[$.path[0]]=Y[$.path[0]]||[],Y[$.path[0]].push(X($));else W.push(X($));return{formErrors:W,fieldErrors:Y}}function zQ(Q,X){let Y=X||function(J){return J.message},W={_errors:[]},$=(J)=>{for(let G of J.issues)if(G.code==="invalid_union"&&G.errors.length)G.errors.map((H)=>$({issues:H}));else if(G.code==="invalid_key")$({issues:G.issues});else if(G.code==="invalid_element")$({issues:G.issues});else if(G.path.length===0)W._errors.push(Y(G));else{let H=W,B=0;while(B<G.path.length){let z=G.path[B];if(B!==G.path.length-1)H[z]=H[z]||{_errors:[]};else H[z]=H[z]||{_errors:[]},H[z]._errors.push(Y(G));H=H[z],B++}}};return $(Q),W}var XW=(Q)=>(X,Y,W,$)=>{let J=W?Object.assign(W,{async:!1}):{async:!1},G=X._zod.run({value:Y,issues:[]},J);if(G instanceof Promise)throw new O6;if(G.issues.length){let H=new($?.Err??Q)(G.issues.map((B)=>M1(B,J,a0())));throw JQ(H,$?.callee),H}return G.value},YW=XW(k4),WW=(Q)=>async(X,Y,W,$)=>{let J=W?Object.assign(W,{async:!0}):{async:!0},G=X._zod.run({value:Y,issues:[]},J);if(G instanceof Promise)G=await G;if(G.issues.length){let H=new($?.Err??Q)(G.issues.map((B)=>M1(B,J,a0())));throw JQ(H,$?.callee),H}return G.value},$W=WW(k4),JW=(Q)=>(X,Y,W)=>{let $=W?{...W,async:!1}:{async:!1},J=X._zod.run({value:Y,issues:[]},$);if(J instanceof Promise)throw new O6;return J.issues.length?{success:!1,error:new(Q??HQ)(J.issues.map((G)=>M1(G,$,a0())))}:{success:!0,data:J.value}},o6=JW(k4),GW=(Q)=>async(X,Y,W)=>{let $=W?Object.assign(W,{async:!0}):{async:!0},J=X._zod.run({value:Y,issues:[]},$);if(J instanceof Promise)J=await J;return J.issues.length?{success:!1,error:new Q(J.issues.map((G)=>M1(G,$,a0())))}:{success:!0,data:J.value}},r6=GW(k4);var PG=/^[cC][^\s-]{8,}$/,ZG=/^[0-9a-z]+$/,RG=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,EG=/^[0-9a-vA-V]{20}$/,SG=/^[A-Za-z0-9]{27}$/,IG=/^[a-zA-Z0-9_-]{21}$/,CG=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var TG=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,HW=(Q)=>{if(!Q)return/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${Q}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)};var kG=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;function vG(){return new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")}var _G=/^(?:(?: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])$/,xG=/^(([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})$/,yG=/^((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])$/,fG=/^(([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])$/,gG=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,BW=/^[A-Za-z0-9_-]*$/,hG=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var uG=/^\+(?:[0-9]){6,14}[0-9]$/,lG="(?:(?:\\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])))",mG=new RegExp(`^${lG}$`);function cG(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 pG(Q){return new RegExp(`^${cG(Q)}$`)}function dG(Q){let X=cG({precision:Q.precision}),Y=["Z"];if(Q.local)Y.push("");if(Q.offset)Y.push("([+-]\\d{2}:\\d{2})");let W=`${X}(?:${Y.join("|")})`;return new RegExp(`^${lG}T(?:${W})$`)}var iG=(Q)=>{let X=Q?`[\\s\\S]{${Q?.minimum??0},${Q?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${X}$`)},nG=/^\d+n?$/,oG=/^\d+$/,rG=/^-?\d+(?:\.\d+)?/i,tG=/true|false/i,aG=/null/i;var sG=/^[^A-Z]*$/,eG=/^[^a-z]*$/;var v0=w("$ZodCheck",(Q,X)=>{var Y;Q._zod??(Q._zod={}),Q._zod.def=X,(Y=Q._zod).onattach??(Y.onattach=[])}),QH={number:"number",bigint:"bigint",object:"date"},zW=w("$ZodCheckLessThan",(Q,X)=>{v0.init(Q,X);let Y=QH[typeof X.value];Q._zod.onattach.push((W)=>{let $=W._zod.bag,J=(X.inclusive?$.maximum:$.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(X.value<J)if(X.inclusive)$.maximum=X.value;else $.exclusiveMaximum=X.value}),Q._zod.check=(W)=>{if(X.inclusive?W.value<=X.value:W.value<X.value)return;W.issues.push({origin:Y,code:"too_big",maximum:X.value,input:W.value,inclusive:X.inclusive,inst:Q,continue:!X.abort})}}),KW=w("$ZodCheckGreaterThan",(Q,X)=>{v0.init(Q,X);let Y=QH[typeof X.value];Q._zod.onattach.push((W)=>{let $=W._zod.bag,J=(X.inclusive?$.minimum:$.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(X.value>J)if(X.inclusive)$.minimum=X.value;else $.exclusiveMinimum=X.value}),Q._zod.check=(W)=>{if(X.inclusive?W.value>=X.value:W.value>X.value)return;W.issues.push({origin:Y,code:"too_small",minimum:X.value,input:W.value,inclusive:X.inclusive,inst:Q,continue:!X.abort})}}),XH=w("$ZodCheckMultipleOf",(Q,X)=>{v0.init(Q,X),Q._zod.onattach.push((Y)=>{var W;(W=Y._zod.bag).multipleOf??(W.multipleOf=X.value)}),Q._zod.check=(Y)=>{if(typeof Y.value!==typeof X.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof Y.value==="bigint"?Y.value%X.value===BigInt(0):oY(Y.value,X.value)===0)return;Y.issues.push({origin:typeof Y.value,code:"not_multiple_of",divisor:X.value,input:Y.value,inst:Q,continue:!X.abort})}}),YH=w("$ZodCheckNumberFormat",(Q,X)=>{v0.init(Q,X),X.format=X.format||"float64";let Y=X.format?.includes("int"),W=Y?"int":"number",[$,J]=eY[X.format];Q._zod.onattach.push((G)=>{let H=G._zod.bag;if(H.format=X.format,H.minimum=$,H.maximum=J,Y)H.pattern=oG}),Q._zod.check=(G)=>{let H=G.value;if(Y){if(!Number.isInteger(H)){G.issues.push({expected:W,format:X.format,code:"invalid_type",input:H,inst:Q});return}if(!Number.isSafeInteger(H)){if(H>0)G.issues.push({input:H,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:Q,origin:W,continue:!X.abort});else G.issues.push({input:H,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:Q,origin:W,continue:!X.abort});return}}if(H<$)G.issues.push({origin:"number",input:H,code:"too_small",minimum:$,inclusive:!0,inst:Q,continue:!X.abort});if(H>J)G.issues.push({origin:"number",input:H,code:"too_big",maximum:J,inst:Q})}});var WH=w("$ZodCheckMaxLength",(Q,X)=>{var Y;v0.init(Q,X),(Y=Q._zod.def).when??(Y.when=(W)=>{let $=W.value;return!I4($)&&$.length!==void 0}),Q._zod.onattach.push((W)=>{let $=W._zod.bag.maximum??Number.POSITIVE_INFINITY;if(X.maximum<$)W._zod.bag.maximum=X.maximum}),Q._zod.check=(W)=>{let $=W.value;if($.length<=X.maximum)return;let G=T4($);W.issues.push({origin:G,code:"too_big",maximum:X.maximum,inclusive:!0,input:$,inst:Q,continue:!X.abort})}}),$H=w("$ZodCheckMinLength",(Q,X)=>{var Y;v0.init(Q,X),(Y=Q._zod.def).when??(Y.when=(W)=>{let $=W.value;return!I4($)&&$.length!==void 0}),Q._zod.onattach.push((W)=>{let $=W._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(X.minimum>$)W._zod.bag.minimum=X.minimum}),Q._zod.check=(W)=>{let $=W.value;if($.length>=X.minimum)return;let G=T4($);W.issues.push({origin:G,code:"too_small",minimum:X.minimum,inclusive:!0,input:$,inst:Q,continue:!X.abort})}}),JH=w("$ZodCheckLengthEquals",(Q,X)=>{var Y;v0.init(Q,X),(Y=Q._zod.def).when??(Y.when=(W)=>{let $=W.value;return!I4($)&&$.length!==void 0}),Q._zod.onattach.push((W)=>{let $=W._zod.bag;$.minimum=X.length,$.maximum=X.length,$.length=X.length}),Q._zod.check=(W)=>{let $=W.value,J=$.length;if(J===X.length)return;let G=T4($),H=J>X.length;W.issues.push({origin:G,...H?{code:"too_big",maximum:X.length}:{code:"too_small",minimum:X.length},inclusive:!0,exact:!0,input:W.value,inst:Q,continue:!X.abort})}}),_4=w("$ZodCheckStringFormat",(Q,X)=>{var Y,W;if(v0.init(Q,X),Q._zod.onattach.push(($)=>{let J=$._zod.bag;if(J.format=X.format,X.pattern)J.patterns??(J.patterns=new Set),J.patterns.add(X.pattern)}),X.pattern)(Y=Q._zod).check??(Y.check=($)=>{if(X.pattern.lastIndex=0,X.pattern.test($.value))return;$.issues.push({origin:"string",code:"invalid_format",format:X.format,input:$.value,...X.pattern?{pattern:X.pattern.toString()}:{},inst:Q,continue:!X.abort})});else(W=Q._zod).check??(W.check=()=>{})}),GH=w("$ZodCheckRegex",(Q,X)=>{_4.init(Q,X),Q._zod.check=(Y)=>{if(X.pattern.lastIndex=0,X.pattern.test(Y.value))return;Y.issues.push({origin:"string",code:"invalid_format",format:"regex",input:Y.value,pattern:X.pattern.toString(),inst:Q,continue:!X.abort})}}),HH=w("$ZodCheckLowerCase",(Q,X)=>{X.pattern??(X.pattern=sG),_4.init(Q,X)}),BH=w("$ZodCheckUpperCase",(Q,X)=>{X.pattern??(X.pattern=eG),_4.init(Q,X)}),zH=w("$ZodCheckIncludes",(Q,X)=>{v0.init(Q,X);let Y=j6(X.includes),W=new RegExp(typeof X.position==="number"?`^.{${X.position}}${Y}`:Y);X.pattern=W,Q._zod.onattach.push(($)=>{let J=$._zod.bag;J.patterns??(J.patterns=new Set),J.patterns.add(W)}),Q._zod.check=($)=>{if($.value.includes(X.includes,X.position))return;$.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:X.includes,input:$.value,inst:Q,continue:!X.abort})}}),KH=w("$ZodCheckStartsWith",(Q,X)=>{v0.init(Q,X);let Y=new RegExp(`^${j6(X.prefix)}.*`);X.pattern??(X.pattern=Y),Q._zod.onattach.push((W)=>{let $=W._zod.bag;$.patterns??($.patterns=new Set),$.patterns.add(Y)}),Q._zod.check=(W)=>{if(W.value.startsWith(X.prefix))return;W.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:X.prefix,input:W.value,inst:Q,continue:!X.abort})}}),VH=w("$ZodCheckEndsWith",(Q,X)=>{v0.init(Q,X);let Y=new RegExp(`.*${j6(X.suffix)}$`);X.pattern??(X.pattern=Y),Q._zod.onattach.push((W)=>{let $=W._zod.bag;$.patterns??($.patterns=new Set),$.patterns.add(Y)}),Q._zod.check=(W)=>{if(W.value.endsWith(X.suffix))return;W.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:X.suffix,input:W.value,inst:Q,continue:!X.abort})}});var AH=w("$ZodCheckOverwrite",(Q,X)=>{v0.init(Q,X),Q._zod.check=(Y)=>{Y.value=X.tx(Y.value)}});class VW{constructor(Q=[]){if(this.content=[],this.indent=0,this)this.args=Q}indented(Q){this.indent+=1,Q(this),this.indent-=1}write(Q){if(typeof Q==="function"){Q(this,{execution:"sync"}),Q(this,{execution:"async"});return}let Y=Q.split(`
|
|
17
17
|
`).filter((J)=>J),W=Math.min(...Y.map((J)=>J.length-J.trimStart().length)),$=Y.map((J)=>J.slice(W)).map((J)=>" ".repeat(this.indent*2)+J);for(let J of $)this.content.push(J)}compile(){let Q=Function,X=this?.args,W=[...(this?.content??[""]).map(($)=>` ${$}`)];return new Q(...X,W.join(`
|
|
18
18
|
`))}}var DH={major:4,minor:0,patch:0};var G0=w("$ZodType",(Q,X)=>{var Y;Q??(Q={}),Q._zod.def=X,Q._zod.bag=Q._zod.bag||{},Q._zod.version=DH;let W=[...Q._zod.def.checks??[]];if(Q._zod.traits.has("$ZodCheck"))W.unshift(Q);for(let $ of W)for(let J of $._zod.onattach)J(Q);if(W.length===0)(Y=Q._zod).deferred??(Y.deferred=[]),Q._zod.deferred?.push(()=>{Q._zod.run=Q._zod.parse});else{let $=(J,G,H)=>{let B=n6(J),z;for(let K of G){if(K._zod.def.when){if(!K._zod.def.when(J))continue}else if(B)continue;let V=J.issues.length,A=K._zod.check(J);if(A instanceof Promise&&H?.async===!1)throw new O6;if(z||A instanceof Promise)z=(z??Promise.resolve()).then(async()=>{if(await A,J.issues.length===V)return;if(!B)B=n6(J,V)});else{if(J.issues.length===V)continue;if(!B)B=n6(J,V)}}if(z)return z.then(()=>{return J});return J};Q._zod.run=(J,G)=>{let H=Q._zod.parse(J,G);if(H instanceof Promise){if(G.async===!1)throw new O6;return H.then((B)=>$(B,W,G))}return $(H,W,G)}}Q["~standard"]={validate:($)=>{try{let J=o6(Q,$);return J.success?{value:J.data}:{issues:J.error?.issues}}catch(J){return r6(Q,$).then((G)=>G.success?{value:G.data}:{issues:G.error?.issues})}},vendor:"zod",version:1}}),x4=w("$ZodString",(Q,X)=>{G0.init(Q,X),Q._zod.pattern=[...Q?._zod.bag?.patterns??[]].pop()??iG(Q._zod.bag),Q._zod.parse=(Y,W)=>{if(X.coerce)try{Y.value=String(Y.value)}catch($){}if(typeof Y.value==="string")return Y;return Y.issues.push({expected:"string",code:"invalid_type",input:Y.value,inst:Q}),Y}}),F0=w("$ZodStringFormat",(Q,X)=>{_4.init(Q,X),x4.init(Q,X)}),FW=w("$ZodGUID",(Q,X)=>{X.pattern??(X.pattern=TG),F0.init(Q,X)}),DW=w("$ZodUUID",(Q,X)=>{if(X.version){let W={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[X.version];if(W===void 0)throw Error(`Invalid UUID version: "${X.version}"`);X.pattern??(X.pattern=HW(W))}else X.pattern??(X.pattern=HW());F0.init(Q,X)}),LW=w("$ZodEmail",(Q,X)=>{X.pattern??(X.pattern=kG),F0.init(Q,X)}),OW=w("$ZodURL",(Q,X)=>{F0.init(Q,X),Q._zod.check=(Y)=>{try{let W=Y.value,$=new URL(W),J=$.href;if(X.hostname){if(X.hostname.lastIndex=0,!X.hostname.test($.hostname))Y.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:hG.source,input:Y.value,inst:Q,continue:!X.abort})}if(X.protocol){if(X.protocol.lastIndex=0,!X.protocol.test($.protocol.endsWith(":")?$.protocol.slice(0,-1):$.protocol))Y.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:X.protocol.source,input:Y.value,inst:Q,continue:!X.abort})}if(!W.endsWith("/")&&J.endsWith("/"))Y.value=J.slice(0,-1);else Y.value=J;return}catch(W){Y.issues.push({code:"invalid_format",format:"url",input:Y.value,inst:Q,continue:!X.abort})}}}),jW=w("$ZodEmoji",(Q,X)=>{X.pattern??(X.pattern=vG()),F0.init(Q,X)}),UW=w("$ZodNanoID",(Q,X)=>{X.pattern??(X.pattern=IG),F0.init(Q,X)}),wW=w("$ZodCUID",(Q,X)=>{X.pattern??(X.pattern=PG),F0.init(Q,X)}),NW=w("$ZodCUID2",(Q,X)=>{X.pattern??(X.pattern=ZG),F0.init(Q,X)}),qW=w("$ZodULID",(Q,X)=>{X.pattern??(X.pattern=RG),F0.init(Q,X)}),MW=w("$ZodXID",(Q,X)=>{X.pattern??(X.pattern=EG),F0.init(Q,X)}),bW=w("$ZodKSUID",(Q,X)=>{X.pattern??(X.pattern=SG),F0.init(Q,X)}),PH=w("$ZodISODateTime",(Q,X)=>{X.pattern??(X.pattern=dG(X)),F0.init(Q,X)}),ZH=w("$ZodISODate",(Q,X)=>{X.pattern??(X.pattern=mG),F0.init(Q,X)}),RH=w("$ZodISOTime",(Q,X)=>{X.pattern??(X.pattern=pG(X)),F0.init(Q,X)}),EH=w("$ZodISODuration",(Q,X)=>{X.pattern??(X.pattern=CG),F0.init(Q,X)}),PW=w("$ZodIPv4",(Q,X)=>{X.pattern??(X.pattern=_G),F0.init(Q,X),Q._zod.onattach.push((Y)=>{let W=Y._zod.bag;W.format="ipv4"})}),ZW=w("$ZodIPv6",(Q,X)=>{X.pattern??(X.pattern=xG),F0.init(Q,X),Q._zod.onattach.push((Y)=>{let W=Y._zod.bag;W.format="ipv6"}),Q._zod.check=(Y)=>{try{new URL(`http://[${Y.value}]`)}catch{Y.issues.push({code:"invalid_format",format:"ipv6",input:Y.value,inst:Q,continue:!X.abort})}}}),RW=w("$ZodCIDRv4",(Q,X)=>{X.pattern??(X.pattern=yG),F0.init(Q,X)}),EW=w("$ZodCIDRv6",(Q,X)=>{X.pattern??(X.pattern=fG),F0.init(Q,X),Q._zod.check=(Y)=>{let[W,$]=Y.value.split("/");try{if(!$)throw Error();let J=Number($);if(`${J}`!==$)throw Error();if(J<0||J>128)throw Error();new URL(`http://[${W}]`)}catch{Y.issues.push({code:"invalid_format",format:"cidrv6",input:Y.value,inst:Q,continue:!X.abort})}}});function SH(Q){if(Q==="")return!0;if(Q.length%4!==0)return!1;try{return atob(Q),!0}catch{return!1}}var SW=w("$ZodBase64",(Q,X)=>{X.pattern??(X.pattern=gG),F0.init(Q,X),Q._zod.onattach.push((Y)=>{Y._zod.bag.contentEncoding="base64"}),Q._zod.check=(Y)=>{if(SH(Y.value))return;Y.issues.push({code:"invalid_format",format:"base64",input:Y.value,inst:Q,continue:!X.abort})}});function Dw(Q){if(!BW.test(Q))return!1;let X=Q.replace(/[-_]/g,(W)=>W==="-"?"+":"/"),Y=X.padEnd(Math.ceil(X.length/4)*4,"=");return SH(Y)}var IW=w("$ZodBase64URL",(Q,X)=>{X.pattern??(X.pattern=BW),F0.init(Q,X),Q._zod.onattach.push((Y)=>{Y._zod.bag.contentEncoding="base64url"}),Q._zod.check=(Y)=>{if(Dw(Y.value))return;Y.issues.push({code:"invalid_format",format:"base64url",input:Y.value,inst:Q,continue:!X.abort})}}),CW=w("$ZodE164",(Q,X)=>{X.pattern??(X.pattern=uG),F0.init(Q,X)});function Lw(Q,X=null){try{let Y=Q.split(".");if(Y.length!==3)return!1;let[W]=Y;if(!W)return!1;let $=JSON.parse(atob(W));if("typ"in $&&$?.typ!=="JWT")return!1;if(!$.alg)return!1;if(X&&(!("alg"in $)||$.alg!==X))return!1;return!0}catch{return!1}}var TW=w("$ZodJWT",(Q,X)=>{F0.init(Q,X),Q._zod.check=(Y)=>{if(Lw(Y.value,X.alg))return;Y.issues.push({code:"invalid_format",format:"jwt",input:Y.value,inst:Q,continue:!X.abort})}});var VQ=w("$ZodNumber",(Q,X)=>{G0.init(Q,X),Q._zod.pattern=Q._zod.bag.pattern??rG,Q._zod.parse=(Y,W)=>{if(X.coerce)try{Y.value=Number(Y.value)}catch(G){}let $=Y.value;if(typeof $==="number"&&!Number.isNaN($)&&Number.isFinite($))return Y;let J=typeof $==="number"?Number.isNaN($)?"NaN":!Number.isFinite($)?"Infinity":void 0:void 0;return Y.issues.push({expected:"number",code:"invalid_type",input:$,inst:Q,...J?{received:J}:{}}),Y}}),kW=w("$ZodNumber",(Q,X)=>{YH.init(Q,X),VQ.init(Q,X)}),vW=w("$ZodBoolean",(Q,X)=>{G0.init(Q,X),Q._zod.pattern=tG,Q._zod.parse=(Y,W)=>{if(X.coerce)try{Y.value=Boolean(Y.value)}catch(J){}let $=Y.value;if(typeof $==="boolean")return Y;return Y.issues.push({expected:"boolean",code:"invalid_type",input:$,inst:Q}),Y}}),_W=w("$ZodBigInt",(Q,X)=>{G0.init(Q,X),Q._zod.pattern=nG,Q._zod.parse=(Y,W)=>{if(X.coerce)try{Y.value=BigInt(Y.value)}catch($){}if(typeof Y.value==="bigint")return Y;return Y.issues.push({expected:"bigint",code:"invalid_type",input:Y.value,inst:Q}),Y}});var xW=w("$ZodNull",(Q,X)=>{G0.init(Q,X),Q._zod.pattern=aG,Q._zod.values=new Set([null]),Q._zod.parse=(Y,W)=>{let $=Y.value;if($===null)return Y;return Y.issues.push({expected:"null",code:"invalid_type",input:$,inst:Q}),Y}}),yW=w("$ZodAny",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y)=>Y}),fW=w("$ZodUnknown",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y)=>Y}),gW=w("$ZodNever",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y,W)=>{return Y.issues.push({expected:"never",code:"invalid_type",input:Y.value,inst:Q}),Y}});var hW=w("$ZodDate",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y,W)=>{if(X.coerce)try{Y.value=new Date(Y.value)}catch(H){}let $=Y.value,J=$ instanceof Date;if(J&&!Number.isNaN($.getTime()))return Y;return Y.issues.push({expected:"date",code:"invalid_type",input:$,...J?{received:"Invalid Date"}:{},inst:Q}),Y}});function LH(Q,X,Y){if(Q.issues.length)X.issues.push(...m1(Y,Q.issues));X.value[Y]=Q.value}var uW=w("$ZodArray",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y,W)=>{let $=Y.value;if(!Array.isArray($))return Y.issues.push({expected:"array",code:"invalid_type",input:$,inst:Q}),Y;Y.value=Array($.length);let J=[];for(let G=0;G<$.length;G++){let H=$[G],B=X.element._zod.run({value:H,issues:[]},W);if(B instanceof Promise)J.push(B.then((z)=>LH(z,Y,G)));else LH(B,Y,G)}if(J.length)return Promise.all(J).then(()=>Y);return Y}});function KQ(Q,X,Y){if(Q.issues.length)X.issues.push(...m1(Y,Q.issues));X.value[Y]=Q.value}function OH(Q,X,Y,W){if(Q.issues.length)if(W[Y]===void 0)if(Y in W)X.value[Y]=void 0;else X.value[Y]=Q.value;else X.issues.push(...m1(Y,Q.issues));else if(Q.value===void 0){if(Y in W)X.value[Y]=void 0}else X.value[Y]=Q.value}var AQ=w("$ZodObject",(Q,X)=>{G0.init(Q,X);let Y=S4(()=>{let V=Object.keys(X.shape);for(let F of V)if(!(X.shape[F]instanceof G0))throw Error(`Invalid element at key "${F}": expected a Zod schema`);let A=sY(X.shape);return{shape:X.shape,keys:V,keySet:new Set(V),numKeys:V.length,optionalKeys:new Set(A)}});A0(Q._zod,"propValues",()=>{let V=X.shape,A={};for(let F in V){let L=V[F]._zod;if(L.values){A[F]??(A[F]=new Set);for(let D of L.values)A[F].add(D)}}return A});let W=(V)=>{let A=new VW(["shape","payload","ctx"]),F=Y.value,L=(q)=>{let M=i6(q);return`shape[${M}]._zod.run({ value: input[${M}], issues: [] }, ctx)`};A.write("const input = payload.value;");let D=Object.create(null),O=0;for(let q of F.keys)D[q]=`key_${O++}`;A.write("const newResult = {}");for(let q of F.keys)if(F.optionalKeys.has(q)){let M=D[q];A.write(`const ${M} = ${L(q)};`);let S=i6(q);A.write(`
|
|
19
19
|
if (${M}.issues.length) {
|
|
@@ -38,7 +38,7 @@ import{createRequire as gj}from"node:module";var _j=Object.create;var{getPrototy
|
|
|
38
38
|
if (${M}.issues.length) payload.issues = payload.issues.concat(${M}.issues.map(iss => ({
|
|
39
39
|
...iss,
|
|
40
40
|
path: iss.path ? [${i6(q)}, ...iss.path] : [${i6(q)}]
|
|
41
|
-
})));`),A.write(`newResult[${i6(q)}] = ${M}.value`)}A.write("payload.value = newResult;"),A.write("return payload;");let j=A.compile();return(q,M)=>j(V,q,M)},$,J=T9,G=!YQ.jitless,B=G&&tY.value,z=X.catchall,K;Q._zod.parse=(V,A)=>{K??(K=Y.value);let F=V.value;if(!J(F))return V.issues.push({expected:"object",code:"invalid_type",input:F,inst:Q}),V;let L=[];if(G&&B&&A?.async===!1&&A.jitless!==!0){if(!$)$=W(X.shape);V=$(V,A)}else{V.value={};let M=K.shape;for(let S of K.keys){let Z=M[S],V0=Z._zod.run({value:F[S],issues:[]},A),P0=Z._zod.optin==="optional"&&Z._zod.optout==="optional";if(V0 instanceof Promise)L.push(V0.then((g1)=>P0?OH(g1,V,S,F):KQ(g1,V,S)));else if(P0)OH(V0,V,S,F);else KQ(V0,V,S)}}if(!z)return L.length?Promise.all(L).then(()=>V):V;let D=[],O=K.keySet,j=z._zod,q=j.def.type;for(let M of Object.keys(F)){if(O.has(M))continue;if(q==="never"){D.push(M);continue}let S=j.run({value:F[M],issues:[]},A);if(S instanceof Promise)L.push(S.then((Z)=>KQ(Z,V,M)));else KQ(S,V,M)}if(D.length)V.issues.push({code:"unrecognized_keys",keys:D,input:F,inst:Q});if(!L.length)return V;return Promise.all(L).then(()=>{return V})}});function jH(Q,X,Y,W){for(let $ of Q)if($.issues.length===0)return X.value=$.value,X;return X.issues.push({code:"invalid_union",input:X.value,inst:Y,errors:Q.map(($)=>$.issues.map((J)=>M1(J,W,a0())))}),X}var FQ=w("$ZodUnion",(Q,X)=>{G0.init(Q,X),A0(Q._zod,"optin",()=>X.options.some((Y)=>Y._zod.optin==="optional")?"optional":void 0),A0(Q._zod,"optout",()=>X.options.some((Y)=>Y._zod.optout==="optional")?"optional":void 0),A0(Q._zod,"values",()=>{if(X.options.every((Y)=>Y._zod.values))return new Set(X.options.flatMap((Y)=>Array.from(Y._zod.values)));return}),A0(Q._zod,"pattern",()=>{if(X.options.every((Y)=>Y._zod.pattern)){let Y=X.options.map((W)=>W._zod.pattern);return new RegExp(`^(${Y.map((W)=>C4(W.source)).join("|")})$`)}return}),Q._zod.parse=(Y,W)=>{let $=!1,J=[];for(let G of X.options){let H=G._zod.run({value:Y.value,issues:[]},W);if(H instanceof Promise)J.push(H),$=!0;else{if(H.issues.length===0)return H;J.push(H)}}if(!$)return jH(J,Y,Q,W);return Promise.all(J).then((G)=>{return jH(G,Y,Q,W)})}}),lW=w("$ZodDiscriminatedUnion",(Q,X)=>{FQ.init(Q,X);let Y=Q._zod.parse;A0(Q._zod,"propValues",()=>{let $={};for(let J of X.options){let G=J._zod.propValues;if(!G||Object.keys(G).length===0)throw Error(`Invalid discriminated union option at index "${X.options.indexOf(J)}"`);for(let[H,B]of Object.entries(G)){if(!$[H])$[H]=new Set;for(let z of B)$[H].add(z)}}return $});let W=S4(()=>{let $=X.options,J=new Map;for(let G of $){let H=G._zod.propValues[X.discriminator];if(!H||H.size===0)throw Error(`Invalid discriminated union option at index "${X.options.indexOf(G)}"`);for(let B of H){if(J.has(B))throw Error(`Duplicate discriminator value "${String(B)}"`);J.set(B,G)}}return J});Q._zod.parse=($,J)=>{let G=$.value;if(!T9(G))return $.issues.push({code:"invalid_type",expected:"object",input:G,inst:Q}),$;let H=W.value.get(G?.[X.discriminator]);if(H)return H._zod.run($,J);if(X.unionFallback)return Y($,J);return $.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:G,path:[X.discriminator],inst:Q}),$}}),mW=w("$ZodIntersection",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y,W)=>{let $=Y.value,J=X.left._zod.run({value:$,issues:[]},W),G=X.right._zod.run({value:$,issues:[]},W);if(J instanceof Promise||G instanceof Promise)return Promise.all([J,G]).then(([B,z])=>{return UH(Y,B,z)});return UH(Y,J,G)}});function AW(Q,X){if(Q===X)return{valid:!0,data:Q};if(Q instanceof Date&&X instanceof Date&&+Q===+X)return{valid:!0,data:Q};if(k9(Q)&&k9(X)){let Y=Object.keys(X),W=Object.keys(Q).filter((J)=>Y.indexOf(J)!==-1),$={...Q,...X};for(let J of W){let G=AW(Q[J],X[J]);if(!G.valid)return{valid:!1,mergeErrorPath:[J,...G.mergeErrorPath]};$[J]=G.data}return{valid:!0,data:$}}if(Array.isArray(Q)&&Array.isArray(X)){if(Q.length!==X.length)return{valid:!1,mergeErrorPath:[]};let Y=[];for(let W=0;W<Q.length;W++){let $=Q[W],J=X[W],G=AW($,J);if(!G.valid)return{valid:!1,mergeErrorPath:[W,...G.mergeErrorPath]};Y.push(G.data)}return{valid:!0,data:Y}}return{valid:!1,mergeErrorPath:[]}}function UH(Q,X,Y){if(X.issues.length)Q.issues.push(...X.issues);if(Y.issues.length)Q.issues.push(...Y.issues);if(n6(Q))return Q;let W=AW(X.value,Y.value);if(!W.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(W.mergeErrorPath)}`);return Q.value=W.data,Q}var cW=w("$ZodRecord",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y,W)=>{let $=Y.value;if(!k9($))return Y.issues.push({expected:"record",code:"invalid_type",input:$,inst:Q}),Y;let J=[];if(X.keyType._zod.values){let G=X.keyType._zod.values;Y.value={};for(let B of G)if(typeof B==="string"||typeof B==="number"||typeof B==="symbol"){let z=X.valueType._zod.run({value:$[B],issues:[]},W);if(z instanceof Promise)J.push(z.then((K)=>{if(K.issues.length)Y.issues.push(...m1(B,K.issues));Y.value[B]=K.value}));else{if(z.issues.length)Y.issues.push(...m1(B,z.issues));Y.value[B]=z.value}}let H;for(let B in $)if(!G.has(B))H=H??[],H.push(B);if(H&&H.length>0)Y.issues.push({code:"unrecognized_keys",input:$,inst:Q,keys:H})}else{Y.value={};for(let G of Reflect.ownKeys($)){if(G==="__proto__")continue;let H=X.keyType._zod.run({value:G,issues:[]},W);if(H instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(H.issues.length){Y.issues.push({origin:"record",code:"invalid_key",issues:H.issues.map((z)=>M1(z,W,a0())),input:G,path:[G],inst:Q}),Y.value[H.value]=H.value;continue}let B=X.valueType._zod.run({value:$[G],issues:[]},W);if(B instanceof Promise)J.push(B.then((z)=>{if(z.issues.length)Y.issues.push(...m1(G,z.issues));Y.value[H.value]=z.value}));else{if(B.issues.length)Y.issues.push(...m1(G,B.issues));Y.value[H.value]=B.value}}}if(J.length)return Promise.all(J).then(()=>Y);return Y}});var pW=w("$ZodEnum",(Q,X)=>{G0.init(Q,X);let Y=E4(X.entries);Q._zod.values=new Set(Y),Q._zod.pattern=new RegExp(`^(${Y.filter((W)=>aY.has(typeof W)).map((W)=>typeof W==="string"?j6(W):W.toString()).join("|")})$`),Q._zod.parse=(W,$)=>{let J=W.value;if(Q._zod.values.has(J))return W;return W.issues.push({code:"invalid_value",values:Y,input:J,inst:Q}),W}}),dW=w("$ZodLiteral",(Q,X)=>{G0.init(Q,X),Q._zod.values=new Set(X.values),Q._zod.pattern=new RegExp(`^(${X.values.map((Y)=>typeof Y==="string"?j6(Y):Y?Y.toString():String(Y)).join("|")})$`),Q._zod.parse=(Y,W)=>{let $=Y.value;if(Q._zod.values.has($))return Y;return Y.issues.push({code:"invalid_value",values:X.values,input:$,inst:Q}),Y}});var iW=w("$ZodTransform",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y,W)=>{let $=X.transform(Y.value,Y);if(W.async)return($ instanceof Promise?$:Promise.resolve($)).then((G)=>{return Y.value=G,Y});if($ instanceof Promise)throw new O6;return Y.value=$,Y}}),nW=w("$ZodOptional",(Q,X)=>{G0.init(Q,X),Q._zod.optin="optional",Q._zod.optout="optional",A0(Q._zod,"values",()=>{return X.innerType._zod.values?new Set([...X.innerType._zod.values,void 0]):void 0}),A0(Q._zod,"pattern",()=>{let Y=X.innerType._zod.pattern;return Y?new RegExp(`^(${C4(Y.source)})?$`):void 0}),Q._zod.parse=(Y,W)=>{if(X.innerType._zod.optin==="optional")return X.innerType._zod.run(Y,W);if(Y.value===void 0)return Y;return X.innerType._zod.run(Y,W)}}),oW=w("$ZodNullable",(Q,X)=>{G0.init(Q,X),A0(Q._zod,"optin",()=>X.innerType._zod.optin),A0(Q._zod,"optout",()=>X.innerType._zod.optout),A0(Q._zod,"pattern",()=>{let Y=X.innerType._zod.pattern;return Y?new RegExp(`^(${C4(Y.source)}|null)$`):void 0}),A0(Q._zod,"values",()=>{return X.innerType._zod.values?new Set([...X.innerType._zod.values,null]):void 0}),Q._zod.parse=(Y,W)=>{if(Y.value===null)return Y;return X.innerType._zod.run(Y,W)}}),rW=w("$ZodDefault",(Q,X)=>{G0.init(Q,X),Q._zod.optin="optional",A0(Q._zod,"values",()=>X.innerType._zod.values),Q._zod.parse=(Y,W)=>{if(Y.value===void 0)return Y.value=X.defaultValue,Y;let $=X.innerType._zod.run(Y,W);if($ instanceof Promise)return $.then((J)=>wH(J,X));return wH($,X)}});function wH(Q,X){if(Q.value===void 0)Q.value=X.defaultValue;return Q}var tW=w("$ZodPrefault",(Q,X)=>{G0.init(Q,X),Q._zod.optin="optional",A0(Q._zod,"values",()=>X.innerType._zod.values),Q._zod.parse=(Y,W)=>{if(Y.value===void 0)Y.value=X.defaultValue;return X.innerType._zod.run(Y,W)}}),aW=w("$ZodNonOptional",(Q,X)=>{G0.init(Q,X),A0(Q._zod,"values",()=>{let Y=X.innerType._zod.values;return Y?new Set([...Y].filter((W)=>W!==void 0)):void 0}),Q._zod.parse=(Y,W)=>{let $=X.innerType._zod.run(Y,W);if($ instanceof Promise)return $.then((J)=>NH(J,Q));return NH($,Q)}});function NH(Q,X){if(!Q.issues.length&&Q.value===void 0)Q.issues.push({code:"invalid_type",expected:"nonoptional",input:Q.value,inst:X});return Q}var sW=w("$ZodCatch",(Q,X)=>{G0.init(Q,X),Q._zod.optin="optional",A0(Q._zod,"optout",()=>X.innerType._zod.optout),A0(Q._zod,"values",()=>X.innerType._zod.values),Q._zod.parse=(Y,W)=>{let $=X.innerType._zod.run(Y,W);if($ instanceof Promise)return $.then((J)=>{if(Y.value=J.value,J.issues.length)Y.value=X.catchValue({...Y,error:{issues:J.issues.map((G)=>M1(G,W,a0()))},input:Y.value}),Y.issues=[];return Y});if(Y.value=$.value,$.issues.length)Y.value=X.catchValue({...Y,error:{issues:$.issues.map((J)=>M1(J,W,a0()))},input:Y.value}),Y.issues=[];return Y}});var eW=w("$ZodPipe",(Q,X)=>{G0.init(Q,X),A0(Q._zod,"values",()=>X.in._zod.values),A0(Q._zod,"optin",()=>X.in._zod.optin),A0(Q._zod,"optout",()=>X.out._zod.optout),Q._zod.parse=(Y,W)=>{let $=X.in._zod.run(Y,W);if($ instanceof Promise)return $.then((J)=>qH(J,X,W));return qH($,X,W)}});function qH(Q,X,Y){if(n6(Q))return Q;return X.out._zod.run({value:Q.value,issues:Q.issues},Y)}var Q7=w("$ZodReadonly",(Q,X)=>{G0.init(Q,X),A0(Q._zod,"propValues",()=>X.innerType._zod.propValues),A0(Q._zod,"values",()=>X.innerType._zod.values),A0(Q._zod,"optin",()=>X.innerType._zod.optin),A0(Q._zod,"optout",()=>X.innerType._zod.optout),Q._zod.parse=(Y,W)=>{let $=X.innerType._zod.run(Y,W);if($ instanceof Promise)return $.then(MH);return MH($)}});function MH(Q){return Q.value=Object.freeze(Q.value),Q}var X7=w("$ZodCustom",(Q,X)=>{v0.init(Q,X),G0.init(Q,X),Q._zod.parse=(Y,W)=>{return Y},Q._zod.check=(Y)=>{let W=Y.value,$=X.fn(W);if($ instanceof Promise)return $.then((J)=>bH(J,Y,W,Q));bH($,Y,W,Q);return}});function bH(Q,X,Y,W){if(!Q){let $={code:"custom",input:Y,inst:W,path:[...W._zod.def.path??[]],continue:!W._zod.def.abort};if(W._zod.def.params)$.params=W._zod.def.params;X.issues.push(QW($))}}var Ow=(Q)=>{let X=typeof Q;switch(X){case"number":return Number.isNaN(Q)?"NaN":"number";case"object":{if(Array.isArray(Q))return"array";if(Q===null)return"null";if(Object.getPrototypeOf(Q)!==Object.prototype&&Q.constructor)return Q.constructor.name}}return X},jw=()=>{let Q={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"}};function X(W){return Q[W]??null}let Y={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return(W)=>{switch(W.code){case"invalid_type":return`Invalid input: expected ${W.expected}, received ${Ow(W.input)}`;case"invalid_value":if(W.values.length===1)return`Invalid input: expected ${GQ(W.values[0])}`;return`Invalid option: expected one of ${$Q(W.values,"|")}`;case"too_big":{let $=W.inclusive?"<=":"<",J=X(W.origin);if(J)return`Too big: expected ${W.origin??"value"} to have ${$}${W.maximum.toString()} ${J.unit??"elements"}`;return`Too big: expected ${W.origin??"value"} to be ${$}${W.maximum.toString()}`}case"too_small":{let $=W.inclusive?">=":">",J=X(W.origin);if(J)return`Too small: expected ${W.origin} to have ${$}${W.minimum.toString()} ${J.unit}`;return`Too small: expected ${W.origin} to be ${$}${W.minimum.toString()}`}case"invalid_format":{let $=W;if($.format==="starts_with")return`Invalid string: must start with "${$.prefix}"`;if($.format==="ends_with")return`Invalid string: must end with "${$.suffix}"`;if($.format==="includes")return`Invalid string: must include "${$.includes}"`;if($.format==="regex")return`Invalid string: must match pattern ${$.pattern}`;return`Invalid ${Y[$.format]??W.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${W.divisor}`;case"unrecognized_keys":return`Unrecognized key${W.keys.length>1?"s":""}: ${$Q(W.keys,", ")}`;case"invalid_key":return`Invalid key in ${W.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${W.origin}`;default:return"Invalid input"}}};function Y7(){return{localeError:jw()}}var IH=Symbol("ZodOutput"),CH=Symbol("ZodInput");class DQ{constructor(){this._map=new Map,this._idmap=new Map}add(Q,...X){let Y=X[0];if(this._map.set(Q,Y),Y&&typeof Y==="object"&&"id"in Y){if(this._idmap.has(Y.id))throw Error(`ID ${Y.id} already exists in the registry`);this._idmap.set(Y.id,Q)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(Q){let X=this._map.get(Q);if(X&&typeof X==="object"&&"id"in X)this._idmap.delete(X.id);return this._map.delete(Q),this}get(Q){let X=Q._zod.parent;if(X){let Y={...this.get(X)??{}};return delete Y.id,{...Y,...this._map.get(Q)}}return this._map.get(Q)}has(Q){return this._map.has(Q)}}function W7(){return new DQ}var s1=W7();function $7(Q,X){return new Q({type:"string",...f(X)})}function TH(Q,X){return new Q({type:"string",coerce:!0,...f(X)})}function J7(Q,X){return new Q({type:"string",format:"email",check:"string_format",abort:!1,...f(X)})}function LQ(Q,X){return new Q({type:"string",format:"guid",check:"string_format",abort:!1,...f(X)})}function G7(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,...f(X)})}function H7(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...f(X)})}function B7(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...f(X)})}function z7(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...f(X)})}function OQ(Q,X){return new Q({type:"string",format:"url",check:"string_format",abort:!1,...f(X)})}function K7(Q,X){return new Q({type:"string",format:"emoji",check:"string_format",abort:!1,...f(X)})}function V7(Q,X){return new Q({type:"string",format:"nanoid",check:"string_format",abort:!1,...f(X)})}function A7(Q,X){return new Q({type:"string",format:"cuid",check:"string_format",abort:!1,...f(X)})}function F7(Q,X){return new Q({type:"string",format:"cuid2",check:"string_format",abort:!1,...f(X)})}function D7(Q,X){return new Q({type:"string",format:"ulid",check:"string_format",abort:!1,...f(X)})}function L7(Q,X){return new Q({type:"string",format:"xid",check:"string_format",abort:!1,...f(X)})}function O7(Q,X){return new Q({type:"string",format:"ksuid",check:"string_format",abort:!1,...f(X)})}function j7(Q,X){return new Q({type:"string",format:"ipv4",check:"string_format",abort:!1,...f(X)})}function U7(Q,X){return new Q({type:"string",format:"ipv6",check:"string_format",abort:!1,...f(X)})}function w7(Q,X){return new Q({type:"string",format:"cidrv4",check:"string_format",abort:!1,...f(X)})}function N7(Q,X){return new Q({type:"string",format:"cidrv6",check:"string_format",abort:!1,...f(X)})}function q7(Q,X){return new Q({type:"string",format:"base64",check:"string_format",abort:!1,...f(X)})}function M7(Q,X){return new Q({type:"string",format:"base64url",check:"string_format",abort:!1,...f(X)})}function b7(Q,X){return new Q({type:"string",format:"e164",check:"string_format",abort:!1,...f(X)})}function P7(Q,X){return new Q({type:"string",format:"jwt",check:"string_format",abort:!1,...f(X)})}function kH(Q,X){return new Q({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...f(X)})}function vH(Q,X){return new Q({type:"string",format:"date",check:"string_format",...f(X)})}function _H(Q,X){return new Q({type:"string",format:"time",check:"string_format",precision:null,...f(X)})}function xH(Q,X){return new Q({type:"string",format:"duration",check:"string_format",...f(X)})}function Z7(Q,X){return new Q({type:"number",checks:[],...f(X)})}function yH(Q,X){return new Q({type:"number",coerce:!0,checks:[],...f(X)})}function R7(Q,X){return new Q({type:"number",check:"number_format",abort:!1,format:"safeint",...f(X)})}function E7(Q,X){return new Q({type:"boolean",...f(X)})}function fH(Q,X){return new Q({type:"boolean",coerce:!0,...f(X)})}function gH(Q,X){return new Q({type:"bigint",coerce:!0,...f(X)})}function S7(Q,X){return new Q({type:"null",...f(X)})}function I7(Q){return new Q({type:"any"})}function C7(Q){return new Q({type:"unknown"})}function T7(Q,X){return new Q({type:"never",...f(X)})}function hH(Q,X){return new Q({type:"date",coerce:!0,...f(X)})}function v9(Q,X){return new zW({check:"less_than",...f(X),value:Q,inclusive:!1})}function e1(Q,X){return new zW({check:"less_than",...f(X),value:Q,inclusive:!0})}function _9(Q,X){return new KW({check:"greater_than",...f(X),value:Q,inclusive:!1})}function b1(Q,X){return new KW({check:"greater_than",...f(X),value:Q,inclusive:!0})}function y4(Q,X){return new XH({check:"multiple_of",...f(X),value:Q})}function jQ(Q,X){return new WH({check:"max_length",...f(X),maximum:Q})}function x9(Q,X){return new $H({check:"min_length",...f(X),minimum:Q})}function UQ(Q,X){return new JH({check:"length_equals",...f(X),length:Q})}function k7(Q,X){return new GH({check:"string_format",format:"regex",...f(X),pattern:Q})}function v7(Q){return new HH({check:"string_format",format:"lowercase",...f(Q)})}function _7(Q){return new BH({check:"string_format",format:"uppercase",...f(Q)})}function x7(Q,X){return new zH({check:"string_format",format:"includes",...f(X),includes:Q})}function y7(Q,X){return new KH({check:"string_format",format:"starts_with",...f(X),prefix:Q})}function f7(Q,X){return new VH({check:"string_format",format:"ends_with",...f(X),suffix:Q})}function t6(Q){return new AH({check:"overwrite",tx:Q})}function g7(Q){return t6((X)=>X.normalize(Q))}function h7(){return t6((Q)=>Q.trim())}function u7(){return t6((Q)=>Q.toLowerCase())}function l7(){return t6((Q)=>Q.toUpperCase())}function uH(Q,X,Y){return new Q({type:"array",element:X,...f(Y)})}function m7(Q,X,Y){let W=f(Y);return W.abort??(W.abort=!0),new Q({type:"custom",check:"custom",fn:X,...W})}function c7(Q,X,Y){return new Q({type:"custom",check:"custom",fn:X,...f(Y)})}class p7{constructor(Q){this.counter=0,this.metadataRegistry=Q?.metadata??s1,this.target=Q?.target??"draft-2020-12",this.unrepresentable=Q?.unrepresentable??"throw",this.override=Q?.override??(()=>{}),this.io=Q?.io??"output",this.seen=new Map}process(Q,X={path:[],schemaPath:[]}){var Y;let W=Q._zod.def,$={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},J=this.seen.get(Q);if(J){if(J.count++,X.schemaPath.includes(Q))J.cycle=X.path;return J.schema}let G={schema:{},count:1,cycle:void 0,path:X.path};this.seen.set(Q,G);let H=Q._zod.toJSONSchema?.();if(H)G.schema=H;else{let K={...X,schemaPath:[...X.schemaPath,Q],path:X.path},V=Q._zod.parent;if(V)G.ref=V,this.process(V,K),this.seen.get(V).isParent=!0;else{let A=G.schema;switch(W.type){case"string":{let F=A;F.type="string";let{minimum:L,maximum:D,format:O,patterns:j,contentEncoding:q}=Q._zod.bag;if(typeof L==="number")F.minLength=L;if(typeof D==="number")F.maxLength=D;if(O){if(F.format=$[O]??O,F.format==="")delete F.format}if(q)F.contentEncoding=q;if(j&&j.size>0){let M=[...j];if(M.length===1)F.pattern=M[0].source;else if(M.length>1)G.schema.allOf=[...M.map((S)=>({...this.target==="draft-7"?{type:"string"}:{},pattern:S.source}))]}break}case"number":{let F=A,{minimum:L,maximum:D,format:O,multipleOf:j,exclusiveMaximum:q,exclusiveMinimum:M}=Q._zod.bag;if(typeof O==="string"&&O.includes("int"))F.type="integer";else F.type="number";if(typeof M==="number")F.exclusiveMinimum=M;if(typeof L==="number"){if(F.minimum=L,typeof M==="number")if(M>=L)delete F.minimum;else delete F.exclusiveMinimum}if(typeof q==="number")F.exclusiveMaximum=q;if(typeof D==="number"){if(F.maximum=D,typeof q==="number")if(q<=D)delete F.maximum;else delete F.exclusiveMaximum}if(typeof j==="number")F.multipleOf=j;break}case"boolean":{let F=A;F.type="boolean";break}case"bigint":{if(this.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema");break}case"symbol":{if(this.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema");break}case"null":{A.type="null";break}case"any":break;case"unknown":break;case"undefined":{if(this.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema");break}case"void":{if(this.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema");break}case"never":{A.not={};break}case"date":{if(this.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema");break}case"array":{let F=A,{minimum:L,maximum:D}=Q._zod.bag;if(typeof L==="number")F.minItems=L;if(typeof D==="number")F.maxItems=D;F.type="array",F.items=this.process(W.element,{...K,path:[...K.path,"items"]});break}case"object":{let F=A;F.type="object",F.properties={};let L=W.shape;for(let j in L)F.properties[j]=this.process(L[j],{...K,path:[...K.path,"properties",j]});let D=new Set(Object.keys(L)),O=new Set([...D].filter((j)=>{let q=W.shape[j]._zod;if(this.io==="input")return q.optin===void 0;else return q.optout===void 0}));if(O.size>0)F.required=Array.from(O);if(W.catchall?._zod.def.type==="never")F.additionalProperties=!1;else if(!W.catchall){if(this.io==="output")F.additionalProperties=!1}else if(W.catchall)F.additionalProperties=this.process(W.catchall,{...K,path:[...K.path,"additionalProperties"]});break}case"union":{let F=A;F.anyOf=W.options.map((L,D)=>this.process(L,{...K,path:[...K.path,"anyOf",D]}));break}case"intersection":{let F=A,L=this.process(W.left,{...K,path:[...K.path,"allOf",0]}),D=this.process(W.right,{...K,path:[...K.path,"allOf",1]}),O=(q)=>("allOf"in q)&&Object.keys(q).length===1,j=[...O(L)?L.allOf:[L],...O(D)?D.allOf:[D]];F.allOf=j;break}case"tuple":{let F=A;F.type="array";let L=W.items.map((j,q)=>this.process(j,{...K,path:[...K.path,"prefixItems",q]}));if(this.target==="draft-2020-12")F.prefixItems=L;else F.items=L;if(W.rest){let j=this.process(W.rest,{...K,path:[...K.path,"items"]});if(this.target==="draft-2020-12")F.items=j;else F.additionalItems=j}if(W.rest)F.items=this.process(W.rest,{...K,path:[...K.path,"items"]});let{minimum:D,maximum:O}=Q._zod.bag;if(typeof D==="number")F.minItems=D;if(typeof O==="number")F.maxItems=O;break}case"record":{let F=A;F.type="object",F.propertyNames=this.process(W.keyType,{...K,path:[...K.path,"propertyNames"]}),F.additionalProperties=this.process(W.valueType,{...K,path:[...K.path,"additionalProperties"]});break}case"map":{if(this.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema");break}case"set":{if(this.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema");break}case"enum":{let F=A,L=E4(W.entries);if(L.every((D)=>typeof D==="number"))F.type="number";if(L.every((D)=>typeof D==="string"))F.type="string";F.enum=L;break}case"literal":{let F=A,L=[];for(let D of W.values)if(D===void 0){if(this.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof D==="bigint")if(this.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else L.push(Number(D));else L.push(D);if(L.length===0);else if(L.length===1){let D=L[0];F.type=D===null?"null":typeof D,F.const=D}else{if(L.every((D)=>typeof D==="number"))F.type="number";if(L.every((D)=>typeof D==="string"))F.type="string";if(L.every((D)=>typeof D==="boolean"))F.type="string";if(L.every((D)=>D===null))F.type="null";F.enum=L}break}case"file":{let F=A,L={type:"string",format:"binary",contentEncoding:"binary"},{minimum:D,maximum:O,mime:j}=Q._zod.bag;if(D!==void 0)L.minLength=D;if(O!==void 0)L.maxLength=O;if(j)if(j.length===1)L.contentMediaType=j[0],Object.assign(F,L);else F.anyOf=j.map((q)=>{return{...L,contentMediaType:q}});else Object.assign(F,L);break}case"transform":{if(this.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema");break}case"nullable":{let F=this.process(W.innerType,K);A.anyOf=[F,{type:"null"}];break}case"nonoptional":{this.process(W.innerType,K),G.ref=W.innerType;break}case"success":{let F=A;F.type="boolean";break}case"default":{this.process(W.innerType,K),G.ref=W.innerType,A.default=JSON.parse(JSON.stringify(W.defaultValue));break}case"prefault":{if(this.process(W.innerType,K),G.ref=W.innerType,this.io==="input")A._prefault=JSON.parse(JSON.stringify(W.defaultValue));break}case"catch":{this.process(W.innerType,K),G.ref=W.innerType;let F;try{F=W.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}A.default=F;break}case"nan":{if(this.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema");break}case"template_literal":{let F=A,L=Q._zod.pattern;if(!L)throw Error("Pattern not found in template literal");F.type="string",F.pattern=L.source;break}case"pipe":{let F=this.io==="input"?W.in._zod.def.type==="transform"?W.out:W.in:W.out;this.process(F,K),G.ref=F;break}case"readonly":{this.process(W.innerType,K),G.ref=W.innerType,A.readOnly=!0;break}case"promise":{this.process(W.innerType,K),G.ref=W.innerType;break}case"optional":{this.process(W.innerType,K),G.ref=W.innerType;break}case"lazy":{let F=Q._zod.innerType;this.process(F,K),G.ref=F;break}case"custom":{if(this.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema");break}default:}}}let B=this.metadataRegistry.get(Q);if(B)Object.assign(G.schema,B);if(this.io==="input"&&C0(Q))delete G.schema.examples,delete G.schema.default;if(this.io==="input"&&G.schema._prefault)(Y=G.schema).default??(Y.default=G.schema._prefault);return delete G.schema._prefault,this.seen.get(Q).schema}emit(Q,X){let Y={cycles:X?.cycles??"ref",reused:X?.reused??"inline",external:X?.external??void 0},W=this.seen.get(Q);if(!W)throw Error("Unprocessed schema. This is a bug in Zod.");let $=(z)=>{let K=this.target==="draft-2020-12"?"$defs":"definitions";if(Y.external){let L=Y.external.registry.get(z[0])?.id,D=Y.external.uri??((j)=>j);if(L)return{ref:D(L)};let O=z[1].defId??z[1].schema.id??`schema${this.counter++}`;return z[1].defId=O,{defId:O,ref:`${D("__shared")}#/${K}/${O}`}}if(z[1]===W)return{ref:"#"};let A=`${"#"}/${K}/`,F=z[1].schema.id??`__schema${this.counter++}`;return{defId:F,ref:A+F}},J=(z)=>{if(z[1].schema.$ref)return;let K=z[1],{ref:V,defId:A}=$(z);if(K.def={...K.schema},A)K.defId=A;let F=K.schema;for(let L in F)delete F[L];F.$ref=V};if(Y.cycles==="throw")for(let z of this.seen.entries()){let K=z[1];if(K.cycle)throw Error(`Cycle detected: #/${K.cycle?.join("/")}/<root>
|
|
41
|
+
})));`),A.write(`newResult[${i6(q)}] = ${M}.value`)}A.write("payload.value = newResult;"),A.write("return payload;");let j=A.compile();return(q,M)=>j(V,q,M)},$,J=T9,G=!YQ.jitless,B=G&&tY.value,z=X.catchall,K;Q._zod.parse=(V,A)=>{K??(K=Y.value);let F=V.value;if(!J(F))return V.issues.push({expected:"object",code:"invalid_type",input:F,inst:Q}),V;let L=[];if(G&&B&&A?.async===!1&&A.jitless!==!0){if(!$)$=W(X.shape);V=$(V,A)}else{V.value={};let M=K.shape;for(let S of K.keys){let Z=M[S],V0=Z._zod.run({value:F[S],issues:[]},A),P0=Z._zod.optin==="optional"&&Z._zod.optout==="optional";if(V0 instanceof Promise)L.push(V0.then((g1)=>P0?OH(g1,V,S,F):KQ(g1,V,S)));else if(P0)OH(V0,V,S,F);else KQ(V0,V,S)}}if(!z)return L.length?Promise.all(L).then(()=>V):V;let D=[],O=K.keySet,j=z._zod,q=j.def.type;for(let M of Object.keys(F)){if(O.has(M))continue;if(q==="never"){D.push(M);continue}let S=j.run({value:F[M],issues:[]},A);if(S instanceof Promise)L.push(S.then((Z)=>KQ(Z,V,M)));else KQ(S,V,M)}if(D.length)V.issues.push({code:"unrecognized_keys",keys:D,input:F,inst:Q});if(!L.length)return V;return Promise.all(L).then(()=>{return V})}});function jH(Q,X,Y,W){for(let $ of Q)if($.issues.length===0)return X.value=$.value,X;return X.issues.push({code:"invalid_union",input:X.value,inst:Y,errors:Q.map(($)=>$.issues.map((J)=>M1(J,W,a0())))}),X}var FQ=w("$ZodUnion",(Q,X)=>{G0.init(Q,X),A0(Q._zod,"optin",()=>X.options.some((Y)=>Y._zod.optin==="optional")?"optional":void 0),A0(Q._zod,"optout",()=>X.options.some((Y)=>Y._zod.optout==="optional")?"optional":void 0),A0(Q._zod,"values",()=>{if(X.options.every((Y)=>Y._zod.values))return new Set(X.options.flatMap((Y)=>Array.from(Y._zod.values)));return}),A0(Q._zod,"pattern",()=>{if(X.options.every((Y)=>Y._zod.pattern)){let Y=X.options.map((W)=>W._zod.pattern);return new RegExp(`^(${Y.map((W)=>C4(W.source)).join("|")})$`)}return}),Q._zod.parse=(Y,W)=>{let $=!1,J=[];for(let G of X.options){let H=G._zod.run({value:Y.value,issues:[]},W);if(H instanceof Promise)J.push(H),$=!0;else{if(H.issues.length===0)return H;J.push(H)}}if(!$)return jH(J,Y,Q,W);return Promise.all(J).then((G)=>{return jH(G,Y,Q,W)})}}),lW=w("$ZodDiscriminatedUnion",(Q,X)=>{FQ.init(Q,X);let Y=Q._zod.parse;A0(Q._zod,"propValues",()=>{let $={};for(let J of X.options){let G=J._zod.propValues;if(!G||Object.keys(G).length===0)throw Error(`Invalid discriminated union option at index "${X.options.indexOf(J)}"`);for(let[H,B]of Object.entries(G)){if(!$[H])$[H]=new Set;for(let z of B)$[H].add(z)}}return $});let W=S4(()=>{let $=X.options,J=new Map;for(let G of $){let H=G._zod.propValues[X.discriminator];if(!H||H.size===0)throw Error(`Invalid discriminated union option at index "${X.options.indexOf(G)}"`);for(let B of H){if(J.has(B))throw Error(`Duplicate discriminator value "${String(B)}"`);J.set(B,G)}}return J});Q._zod.parse=($,J)=>{let G=$.value;if(!T9(G))return $.issues.push({code:"invalid_type",expected:"object",input:G,inst:Q}),$;let H=W.value.get(G?.[X.discriminator]);if(H)return H._zod.run($,J);if(X.unionFallback)return Y($,J);return $.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:G,path:[X.discriminator],inst:Q}),$}}),mW=w("$ZodIntersection",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y,W)=>{let $=Y.value,J=X.left._zod.run({value:$,issues:[]},W),G=X.right._zod.run({value:$,issues:[]},W);if(J instanceof Promise||G instanceof Promise)return Promise.all([J,G]).then(([B,z])=>{return UH(Y,B,z)});return UH(Y,J,G)}});function AW(Q,X){if(Q===X)return{valid:!0,data:Q};if(Q instanceof Date&&X instanceof Date&&+Q===+X)return{valid:!0,data:Q};if(k9(Q)&&k9(X)){let Y=Object.keys(X),W=Object.keys(Q).filter((J)=>Y.indexOf(J)!==-1),$={...Q,...X};for(let J of W){let G=AW(Q[J],X[J]);if(!G.valid)return{valid:!1,mergeErrorPath:[J,...G.mergeErrorPath]};$[J]=G.data}return{valid:!0,data:$}}if(Array.isArray(Q)&&Array.isArray(X)){if(Q.length!==X.length)return{valid:!1,mergeErrorPath:[]};let Y=[];for(let W=0;W<Q.length;W++){let $=Q[W],J=X[W],G=AW($,J);if(!G.valid)return{valid:!1,mergeErrorPath:[W,...G.mergeErrorPath]};Y.push(G.data)}return{valid:!0,data:Y}}return{valid:!1,mergeErrorPath:[]}}function UH(Q,X,Y){if(X.issues.length)Q.issues.push(...X.issues);if(Y.issues.length)Q.issues.push(...Y.issues);if(n6(Q))return Q;let W=AW(X.value,Y.value);if(!W.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(W.mergeErrorPath)}`);return Q.value=W.data,Q}var cW=w("$ZodRecord",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y,W)=>{let $=Y.value;if(!k9($))return Y.issues.push({expected:"record",code:"invalid_type",input:$,inst:Q}),Y;let J=[];if(X.keyType._zod.values){let G=X.keyType._zod.values;Y.value={};for(let B of G)if(typeof B==="string"||typeof B==="number"||typeof B==="symbol"){let z=X.valueType._zod.run({value:$[B],issues:[]},W);if(z instanceof Promise)J.push(z.then((K)=>{if(K.issues.length)Y.issues.push(...m1(B,K.issues));Y.value[B]=K.value}));else{if(z.issues.length)Y.issues.push(...m1(B,z.issues));Y.value[B]=z.value}}let H;for(let B in $)if(!G.has(B))H=H??[],H.push(B);if(H&&H.length>0)Y.issues.push({code:"unrecognized_keys",input:$,inst:Q,keys:H})}else{Y.value={};for(let G of Reflect.ownKeys($)){if(G==="__proto__")continue;let H=X.keyType._zod.run({value:G,issues:[]},W);if(H instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(H.issues.length){Y.issues.push({origin:"record",code:"invalid_key",issues:H.issues.map((z)=>M1(z,W,a0())),input:G,path:[G],inst:Q}),Y.value[H.value]=H.value;continue}let B=X.valueType._zod.run({value:$[G],issues:[]},W);if(B instanceof Promise)J.push(B.then((z)=>{if(z.issues.length)Y.issues.push(...m1(G,z.issues));Y.value[H.value]=z.value}));else{if(B.issues.length)Y.issues.push(...m1(G,B.issues));Y.value[H.value]=B.value}}}if(J.length)return Promise.all(J).then(()=>Y);return Y}});var pW=w("$ZodEnum",(Q,X)=>{G0.init(Q,X);let Y=E4(X.entries);Q._zod.values=new Set(Y),Q._zod.pattern=new RegExp(`^(${Y.filter((W)=>aY.has(typeof W)).map((W)=>typeof W==="string"?j6(W):W.toString()).join("|")})$`),Q._zod.parse=(W,$)=>{let J=W.value;if(Q._zod.values.has(J))return W;return W.issues.push({code:"invalid_value",values:Y,input:J,inst:Q}),W}}),dW=w("$ZodLiteral",(Q,X)=>{G0.init(Q,X),Q._zod.values=new Set(X.values),Q._zod.pattern=new RegExp(`^(${X.values.map((Y)=>typeof Y==="string"?j6(Y):Y?Y.toString():String(Y)).join("|")})$`),Q._zod.parse=(Y,W)=>{let $=Y.value;if(Q._zod.values.has($))return Y;return Y.issues.push({code:"invalid_value",values:X.values,input:$,inst:Q}),Y}});var iW=w("$ZodTransform",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y,W)=>{let $=X.transform(Y.value,Y);if(W.async)return($ instanceof Promise?$:Promise.resolve($)).then((G)=>{return Y.value=G,Y});if($ instanceof Promise)throw new O6;return Y.value=$,Y}}),nW=w("$ZodOptional",(Q,X)=>{G0.init(Q,X),Q._zod.optin="optional",Q._zod.optout="optional",A0(Q._zod,"values",()=>{return X.innerType._zod.values?new Set([...X.innerType._zod.values,void 0]):void 0}),A0(Q._zod,"pattern",()=>{let Y=X.innerType._zod.pattern;return Y?new RegExp(`^(${C4(Y.source)})?$`):void 0}),Q._zod.parse=(Y,W)=>{if(X.innerType._zod.optin==="optional")return X.innerType._zod.run(Y,W);if(Y.value===void 0)return Y;return X.innerType._zod.run(Y,W)}}),oW=w("$ZodNullable",(Q,X)=>{G0.init(Q,X),A0(Q._zod,"optin",()=>X.innerType._zod.optin),A0(Q._zod,"optout",()=>X.innerType._zod.optout),A0(Q._zod,"pattern",()=>{let Y=X.innerType._zod.pattern;return Y?new RegExp(`^(${C4(Y.source)}|null)$`):void 0}),A0(Q._zod,"values",()=>{return X.innerType._zod.values?new Set([...X.innerType._zod.values,null]):void 0}),Q._zod.parse=(Y,W)=>{if(Y.value===null)return Y;return X.innerType._zod.run(Y,W)}}),rW=w("$ZodDefault",(Q,X)=>{G0.init(Q,X),Q._zod.optin="optional",A0(Q._zod,"values",()=>X.innerType._zod.values),Q._zod.parse=(Y,W)=>{if(Y.value===void 0)return Y.value=X.defaultValue,Y;let $=X.innerType._zod.run(Y,W);if($ instanceof Promise)return $.then((J)=>wH(J,X));return wH($,X)}});function wH(Q,X){if(Q.value===void 0)Q.value=X.defaultValue;return Q}var tW=w("$ZodPrefault",(Q,X)=>{G0.init(Q,X),Q._zod.optin="optional",A0(Q._zod,"values",()=>X.innerType._zod.values),Q._zod.parse=(Y,W)=>{if(Y.value===void 0)Y.value=X.defaultValue;return X.innerType._zod.run(Y,W)}}),aW=w("$ZodNonOptional",(Q,X)=>{G0.init(Q,X),A0(Q._zod,"values",()=>{let Y=X.innerType._zod.values;return Y?new Set([...Y].filter((W)=>W!==void 0)):void 0}),Q._zod.parse=(Y,W)=>{let $=X.innerType._zod.run(Y,W);if($ instanceof Promise)return $.then((J)=>NH(J,Q));return NH($,Q)}});function NH(Q,X){if(!Q.issues.length&&Q.value===void 0)Q.issues.push({code:"invalid_type",expected:"nonoptional",input:Q.value,inst:X});return Q}var sW=w("$ZodCatch",(Q,X)=>{G0.init(Q,X),Q._zod.optin="optional",A0(Q._zod,"optout",()=>X.innerType._zod.optout),A0(Q._zod,"values",()=>X.innerType._zod.values),Q._zod.parse=(Y,W)=>{let $=X.innerType._zod.run(Y,W);if($ instanceof Promise)return $.then((J)=>{if(Y.value=J.value,J.issues.length)Y.value=X.catchValue({...Y,error:{issues:J.issues.map((G)=>M1(G,W,a0()))},input:Y.value}),Y.issues=[];return Y});if(Y.value=$.value,$.issues.length)Y.value=X.catchValue({...Y,error:{issues:$.issues.map((J)=>M1(J,W,a0()))},input:Y.value}),Y.issues=[];return Y}});var eW=w("$ZodPipe",(Q,X)=>{G0.init(Q,X),A0(Q._zod,"values",()=>X.in._zod.values),A0(Q._zod,"optin",()=>X.in._zod.optin),A0(Q._zod,"optout",()=>X.out._zod.optout),Q._zod.parse=(Y,W)=>{let $=X.in._zod.run(Y,W);if($ instanceof Promise)return $.then((J)=>qH(J,X,W));return qH($,X,W)}});function qH(Q,X,Y){if(n6(Q))return Q;return X.out._zod.run({value:Q.value,issues:Q.issues},Y)}var Q7=w("$ZodReadonly",(Q,X)=>{G0.init(Q,X),A0(Q._zod,"propValues",()=>X.innerType._zod.propValues),A0(Q._zod,"values",()=>X.innerType._zod.values),A0(Q._zod,"optin",()=>X.innerType._zod.optin),A0(Q._zod,"optout",()=>X.innerType._zod.optout),Q._zod.parse=(Y,W)=>{let $=X.innerType._zod.run(Y,W);if($ instanceof Promise)return $.then(MH);return MH($)}});function MH(Q){return Q.value=Object.freeze(Q.value),Q}var X7=w("$ZodCustom",(Q,X)=>{v0.init(Q,X),G0.init(Q,X),Q._zod.parse=(Y,W)=>{return Y},Q._zod.check=(Y)=>{let W=Y.value,$=X.fn(W);if($ instanceof Promise)return $.then((J)=>bH(J,Y,W,Q));bH($,Y,W,Q);return}});function bH(Q,X,Y,W){if(!Q){let $={code:"custom",input:Y,inst:W,path:[...W._zod.def.path??[]],continue:!W._zod.def.abort};if(W._zod.def.params)$.params=W._zod.def.params;X.issues.push(QW($))}}var Ow=(Q)=>{let X=typeof Q;switch(X){case"number":return Number.isNaN(Q)?"NaN":"number";case"object":{if(Array.isArray(Q))return"array";if(Q===null)return"null";if(Object.getPrototypeOf(Q)!==Object.prototype&&Q.constructor)return Q.constructor.name}}return X},jw=()=>{let Q={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"}};function X(W){return Q[W]??null}let Y={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return(W)=>{switch(W.code){case"invalid_type":return`Invalid input: expected ${W.expected}, received ${Ow(W.input)}`;case"invalid_value":if(W.values.length===1)return`Invalid input: expected ${GQ(W.values[0])}`;return`Invalid option: expected one of ${$Q(W.values,"|")}`;case"too_big":{let $=W.inclusive?"<=":"<",J=X(W.origin);if(J)return`Too big: expected ${W.origin??"value"} to have ${$}${W.maximum.toString()} ${J.unit??"elements"}`;return`Too big: expected ${W.origin??"value"} to be ${$}${W.maximum.toString()}`}case"too_small":{let $=W.inclusive?">=":">",J=X(W.origin);if(J)return`Too small: expected ${W.origin} to have ${$}${W.minimum.toString()} ${J.unit}`;return`Too small: expected ${W.origin} to be ${$}${W.minimum.toString()}`}case"invalid_format":{let $=W;if($.format==="starts_with")return`Invalid string: must start with "${$.prefix}"`;if($.format==="ends_with")return`Invalid string: must end with "${$.suffix}"`;if($.format==="includes")return`Invalid string: must include "${$.includes}"`;if($.format==="regex")return`Invalid string: must match pattern ${$.pattern}`;return`Invalid ${Y[$.format]??W.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${W.divisor}`;case"unrecognized_keys":return`Unrecognized key${W.keys.length>1?"s":""}: ${$Q(W.keys,", ")}`;case"invalid_key":return`Invalid key in ${W.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${W.origin}`;default:return"Invalid input"}}};function Y7(){return{localeError:jw()}}var IH=Symbol("ZodOutput"),CH=Symbol("ZodInput");class DQ{constructor(){this._map=new Map,this._idmap=new Map}add(Q,...X){let Y=X[0];if(this._map.set(Q,Y),Y&&typeof Y==="object"&&"id"in Y){if(this._idmap.has(Y.id))throw Error(`ID ${Y.id} already exists in the registry`);this._idmap.set(Y.id,Q)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(Q){let X=this._map.get(Q);if(X&&typeof X==="object"&&"id"in X)this._idmap.delete(X.id);return this._map.delete(Q),this}get(Q){let X=Q._zod.parent;if(X){let Y={...this.get(X)??{}};return delete Y.id,{...Y,...this._map.get(Q)}}return this._map.get(Q)}has(Q){return this._map.has(Q)}}function W7(){return new DQ}var s1=W7();function $7(Q,X){return new Q({type:"string",...g(X)})}function TH(Q,X){return new Q({type:"string",coerce:!0,...g(X)})}function J7(Q,X){return new Q({type:"string",format:"email",check:"string_format",abort:!1,...g(X)})}function LQ(Q,X){return new Q({type:"string",format:"guid",check:"string_format",abort:!1,...g(X)})}function G7(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,...g(X)})}function H7(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...g(X)})}function B7(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...g(X)})}function z7(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...g(X)})}function OQ(Q,X){return new Q({type:"string",format:"url",check:"string_format",abort:!1,...g(X)})}function K7(Q,X){return new Q({type:"string",format:"emoji",check:"string_format",abort:!1,...g(X)})}function V7(Q,X){return new Q({type:"string",format:"nanoid",check:"string_format",abort:!1,...g(X)})}function A7(Q,X){return new Q({type:"string",format:"cuid",check:"string_format",abort:!1,...g(X)})}function F7(Q,X){return new Q({type:"string",format:"cuid2",check:"string_format",abort:!1,...g(X)})}function D7(Q,X){return new Q({type:"string",format:"ulid",check:"string_format",abort:!1,...g(X)})}function L7(Q,X){return new Q({type:"string",format:"xid",check:"string_format",abort:!1,...g(X)})}function O7(Q,X){return new Q({type:"string",format:"ksuid",check:"string_format",abort:!1,...g(X)})}function j7(Q,X){return new Q({type:"string",format:"ipv4",check:"string_format",abort:!1,...g(X)})}function U7(Q,X){return new Q({type:"string",format:"ipv6",check:"string_format",abort:!1,...g(X)})}function w7(Q,X){return new Q({type:"string",format:"cidrv4",check:"string_format",abort:!1,...g(X)})}function N7(Q,X){return new Q({type:"string",format:"cidrv6",check:"string_format",abort:!1,...g(X)})}function q7(Q,X){return new Q({type:"string",format:"base64",check:"string_format",abort:!1,...g(X)})}function M7(Q,X){return new Q({type:"string",format:"base64url",check:"string_format",abort:!1,...g(X)})}function b7(Q,X){return new Q({type:"string",format:"e164",check:"string_format",abort:!1,...g(X)})}function P7(Q,X){return new Q({type:"string",format:"jwt",check:"string_format",abort:!1,...g(X)})}function kH(Q,X){return new Q({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...g(X)})}function vH(Q,X){return new Q({type:"string",format:"date",check:"string_format",...g(X)})}function _H(Q,X){return new Q({type:"string",format:"time",check:"string_format",precision:null,...g(X)})}function xH(Q,X){return new Q({type:"string",format:"duration",check:"string_format",...g(X)})}function Z7(Q,X){return new Q({type:"number",checks:[],...g(X)})}function yH(Q,X){return new Q({type:"number",coerce:!0,checks:[],...g(X)})}function R7(Q,X){return new Q({type:"number",check:"number_format",abort:!1,format:"safeint",...g(X)})}function E7(Q,X){return new Q({type:"boolean",...g(X)})}function fH(Q,X){return new Q({type:"boolean",coerce:!0,...g(X)})}function gH(Q,X){return new Q({type:"bigint",coerce:!0,...g(X)})}function S7(Q,X){return new Q({type:"null",...g(X)})}function I7(Q){return new Q({type:"any"})}function C7(Q){return new Q({type:"unknown"})}function T7(Q,X){return new Q({type:"never",...g(X)})}function hH(Q,X){return new Q({type:"date",coerce:!0,...g(X)})}function v9(Q,X){return new zW({check:"less_than",...g(X),value:Q,inclusive:!1})}function e1(Q,X){return new zW({check:"less_than",...g(X),value:Q,inclusive:!0})}function _9(Q,X){return new KW({check:"greater_than",...g(X),value:Q,inclusive:!1})}function b1(Q,X){return new KW({check:"greater_than",...g(X),value:Q,inclusive:!0})}function y4(Q,X){return new XH({check:"multiple_of",...g(X),value:Q})}function jQ(Q,X){return new WH({check:"max_length",...g(X),maximum:Q})}function x9(Q,X){return new $H({check:"min_length",...g(X),minimum:Q})}function UQ(Q,X){return new JH({check:"length_equals",...g(X),length:Q})}function k7(Q,X){return new GH({check:"string_format",format:"regex",...g(X),pattern:Q})}function v7(Q){return new HH({check:"string_format",format:"lowercase",...g(Q)})}function _7(Q){return new BH({check:"string_format",format:"uppercase",...g(Q)})}function x7(Q,X){return new zH({check:"string_format",format:"includes",...g(X),includes:Q})}function y7(Q,X){return new KH({check:"string_format",format:"starts_with",...g(X),prefix:Q})}function f7(Q,X){return new VH({check:"string_format",format:"ends_with",...g(X),suffix:Q})}function t6(Q){return new AH({check:"overwrite",tx:Q})}function g7(Q){return t6((X)=>X.normalize(Q))}function h7(){return t6((Q)=>Q.trim())}function u7(){return t6((Q)=>Q.toLowerCase())}function l7(){return t6((Q)=>Q.toUpperCase())}function uH(Q,X,Y){return new Q({type:"array",element:X,...g(Y)})}function m7(Q,X,Y){let W=g(Y);return W.abort??(W.abort=!0),new Q({type:"custom",check:"custom",fn:X,...W})}function c7(Q,X,Y){return new Q({type:"custom",check:"custom",fn:X,...g(Y)})}class p7{constructor(Q){this.counter=0,this.metadataRegistry=Q?.metadata??s1,this.target=Q?.target??"draft-2020-12",this.unrepresentable=Q?.unrepresentable??"throw",this.override=Q?.override??(()=>{}),this.io=Q?.io??"output",this.seen=new Map}process(Q,X={path:[],schemaPath:[]}){var Y;let W=Q._zod.def,$={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},J=this.seen.get(Q);if(J){if(J.count++,X.schemaPath.includes(Q))J.cycle=X.path;return J.schema}let G={schema:{},count:1,cycle:void 0,path:X.path};this.seen.set(Q,G);let H=Q._zod.toJSONSchema?.();if(H)G.schema=H;else{let K={...X,schemaPath:[...X.schemaPath,Q],path:X.path},V=Q._zod.parent;if(V)G.ref=V,this.process(V,K),this.seen.get(V).isParent=!0;else{let A=G.schema;switch(W.type){case"string":{let F=A;F.type="string";let{minimum:L,maximum:D,format:O,patterns:j,contentEncoding:q}=Q._zod.bag;if(typeof L==="number")F.minLength=L;if(typeof D==="number")F.maxLength=D;if(O){if(F.format=$[O]??O,F.format==="")delete F.format}if(q)F.contentEncoding=q;if(j&&j.size>0){let M=[...j];if(M.length===1)F.pattern=M[0].source;else if(M.length>1)G.schema.allOf=[...M.map((S)=>({...this.target==="draft-7"?{type:"string"}:{},pattern:S.source}))]}break}case"number":{let F=A,{minimum:L,maximum:D,format:O,multipleOf:j,exclusiveMaximum:q,exclusiveMinimum:M}=Q._zod.bag;if(typeof O==="string"&&O.includes("int"))F.type="integer";else F.type="number";if(typeof M==="number")F.exclusiveMinimum=M;if(typeof L==="number"){if(F.minimum=L,typeof M==="number")if(M>=L)delete F.minimum;else delete F.exclusiveMinimum}if(typeof q==="number")F.exclusiveMaximum=q;if(typeof D==="number"){if(F.maximum=D,typeof q==="number")if(q<=D)delete F.maximum;else delete F.exclusiveMaximum}if(typeof j==="number")F.multipleOf=j;break}case"boolean":{let F=A;F.type="boolean";break}case"bigint":{if(this.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema");break}case"symbol":{if(this.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema");break}case"null":{A.type="null";break}case"any":break;case"unknown":break;case"undefined":{if(this.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema");break}case"void":{if(this.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema");break}case"never":{A.not={};break}case"date":{if(this.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema");break}case"array":{let F=A,{minimum:L,maximum:D}=Q._zod.bag;if(typeof L==="number")F.minItems=L;if(typeof D==="number")F.maxItems=D;F.type="array",F.items=this.process(W.element,{...K,path:[...K.path,"items"]});break}case"object":{let F=A;F.type="object",F.properties={};let L=W.shape;for(let j in L)F.properties[j]=this.process(L[j],{...K,path:[...K.path,"properties",j]});let D=new Set(Object.keys(L)),O=new Set([...D].filter((j)=>{let q=W.shape[j]._zod;if(this.io==="input")return q.optin===void 0;else return q.optout===void 0}));if(O.size>0)F.required=Array.from(O);if(W.catchall?._zod.def.type==="never")F.additionalProperties=!1;else if(!W.catchall){if(this.io==="output")F.additionalProperties=!1}else if(W.catchall)F.additionalProperties=this.process(W.catchall,{...K,path:[...K.path,"additionalProperties"]});break}case"union":{let F=A;F.anyOf=W.options.map((L,D)=>this.process(L,{...K,path:[...K.path,"anyOf",D]}));break}case"intersection":{let F=A,L=this.process(W.left,{...K,path:[...K.path,"allOf",0]}),D=this.process(W.right,{...K,path:[...K.path,"allOf",1]}),O=(q)=>("allOf"in q)&&Object.keys(q).length===1,j=[...O(L)?L.allOf:[L],...O(D)?D.allOf:[D]];F.allOf=j;break}case"tuple":{let F=A;F.type="array";let L=W.items.map((j,q)=>this.process(j,{...K,path:[...K.path,"prefixItems",q]}));if(this.target==="draft-2020-12")F.prefixItems=L;else F.items=L;if(W.rest){let j=this.process(W.rest,{...K,path:[...K.path,"items"]});if(this.target==="draft-2020-12")F.items=j;else F.additionalItems=j}if(W.rest)F.items=this.process(W.rest,{...K,path:[...K.path,"items"]});let{minimum:D,maximum:O}=Q._zod.bag;if(typeof D==="number")F.minItems=D;if(typeof O==="number")F.maxItems=O;break}case"record":{let F=A;F.type="object",F.propertyNames=this.process(W.keyType,{...K,path:[...K.path,"propertyNames"]}),F.additionalProperties=this.process(W.valueType,{...K,path:[...K.path,"additionalProperties"]});break}case"map":{if(this.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema");break}case"set":{if(this.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema");break}case"enum":{let F=A,L=E4(W.entries);if(L.every((D)=>typeof D==="number"))F.type="number";if(L.every((D)=>typeof D==="string"))F.type="string";F.enum=L;break}case"literal":{let F=A,L=[];for(let D of W.values)if(D===void 0){if(this.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof D==="bigint")if(this.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else L.push(Number(D));else L.push(D);if(L.length===0);else if(L.length===1){let D=L[0];F.type=D===null?"null":typeof D,F.const=D}else{if(L.every((D)=>typeof D==="number"))F.type="number";if(L.every((D)=>typeof D==="string"))F.type="string";if(L.every((D)=>typeof D==="boolean"))F.type="string";if(L.every((D)=>D===null))F.type="null";F.enum=L}break}case"file":{let F=A,L={type:"string",format:"binary",contentEncoding:"binary"},{minimum:D,maximum:O,mime:j}=Q._zod.bag;if(D!==void 0)L.minLength=D;if(O!==void 0)L.maxLength=O;if(j)if(j.length===1)L.contentMediaType=j[0],Object.assign(F,L);else F.anyOf=j.map((q)=>{return{...L,contentMediaType:q}});else Object.assign(F,L);break}case"transform":{if(this.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema");break}case"nullable":{let F=this.process(W.innerType,K);A.anyOf=[F,{type:"null"}];break}case"nonoptional":{this.process(W.innerType,K),G.ref=W.innerType;break}case"success":{let F=A;F.type="boolean";break}case"default":{this.process(W.innerType,K),G.ref=W.innerType,A.default=JSON.parse(JSON.stringify(W.defaultValue));break}case"prefault":{if(this.process(W.innerType,K),G.ref=W.innerType,this.io==="input")A._prefault=JSON.parse(JSON.stringify(W.defaultValue));break}case"catch":{this.process(W.innerType,K),G.ref=W.innerType;let F;try{F=W.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}A.default=F;break}case"nan":{if(this.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema");break}case"template_literal":{let F=A,L=Q._zod.pattern;if(!L)throw Error("Pattern not found in template literal");F.type="string",F.pattern=L.source;break}case"pipe":{let F=this.io==="input"?W.in._zod.def.type==="transform"?W.out:W.in:W.out;this.process(F,K),G.ref=F;break}case"readonly":{this.process(W.innerType,K),G.ref=W.innerType,A.readOnly=!0;break}case"promise":{this.process(W.innerType,K),G.ref=W.innerType;break}case"optional":{this.process(W.innerType,K),G.ref=W.innerType;break}case"lazy":{let F=Q._zod.innerType;this.process(F,K),G.ref=F;break}case"custom":{if(this.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema");break}default:}}}let B=this.metadataRegistry.get(Q);if(B)Object.assign(G.schema,B);if(this.io==="input"&&C0(Q))delete G.schema.examples,delete G.schema.default;if(this.io==="input"&&G.schema._prefault)(Y=G.schema).default??(Y.default=G.schema._prefault);return delete G.schema._prefault,this.seen.get(Q).schema}emit(Q,X){let Y={cycles:X?.cycles??"ref",reused:X?.reused??"inline",external:X?.external??void 0},W=this.seen.get(Q);if(!W)throw Error("Unprocessed schema. This is a bug in Zod.");let $=(z)=>{let K=this.target==="draft-2020-12"?"$defs":"definitions";if(Y.external){let L=Y.external.registry.get(z[0])?.id,D=Y.external.uri??((j)=>j);if(L)return{ref:D(L)};let O=z[1].defId??z[1].schema.id??`schema${this.counter++}`;return z[1].defId=O,{defId:O,ref:`${D("__shared")}#/${K}/${O}`}}if(z[1]===W)return{ref:"#"};let A=`${"#"}/${K}/`,F=z[1].schema.id??`__schema${this.counter++}`;return{defId:F,ref:A+F}},J=(z)=>{if(z[1].schema.$ref)return;let K=z[1],{ref:V,defId:A}=$(z);if(K.def={...K.schema},A)K.defId=A;let F=K.schema;for(let L in F)delete F[L];F.$ref=V};if(Y.cycles==="throw")for(let z of this.seen.entries()){let K=z[1];if(K.cycle)throw Error(`Cycle detected: #/${K.cycle?.join("/")}/<root>
|
|
42
42
|
|
|
43
43
|
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let z of this.seen.entries()){let K=z[1];if(Q===z[0]){J(z);continue}if(Y.external){let A=Y.external.registry.get(z[0])?.id;if(Q!==z[0]&&A){J(z);continue}}if(this.metadataRegistry.get(z[0])?.id){J(z);continue}if(K.cycle){J(z);continue}if(K.count>1){if(Y.reused==="ref"){J(z);continue}}}let G=(z,K)=>{let V=this.seen.get(z),A=V.def??V.schema,F={...A};if(V.ref===null)return;let L=V.ref;if(V.ref=null,L){G(L,K);let D=this.seen.get(L).schema;if(D.$ref&&K.target==="draft-7")A.allOf=A.allOf??[],A.allOf.push(D);else Object.assign(A,D),Object.assign(A,F)}if(!V.isParent)this.override({zodSchema:z,jsonSchema:A,path:V.path??[]})};for(let z of[...this.seen.entries()].reverse())G(z[0],{target:this.target});let H={};if(this.target==="draft-2020-12")H.$schema="https://json-schema.org/draft/2020-12/schema";else if(this.target==="draft-7")H.$schema="http://json-schema.org/draft-07/schema#";else console.warn(`Invalid target: ${this.target}`);if(Y.external?.uri){let z=Y.external.registry.get(Q)?.id;if(!z)throw Error("Schema is missing an `id` property");H.$id=Y.external.uri(z)}Object.assign(H,W.def);let B=Y.external?.defs??{};for(let z of this.seen.entries()){let K=z[1];if(K.def&&K.defId)B[K.defId]=K.def}if(Y.external);else if(Object.keys(B).length>0)if(this.target==="draft-2020-12")H.$defs=B;else H.definitions=B;try{return JSON.parse(JSON.stringify(H))}catch(z){throw Error("Error converting schema to JSON.")}}}function wQ(Q,X){if(Q instanceof DQ){let W=new p7(X),$={};for(let H of Q._idmap.entries()){let[B,z]=H;W.process(z)}let J={},G={registry:Q,uri:X?.uri,defs:$};for(let H of Q._idmap.entries()){let[B,z]=H;J[B]=W.emit(z,{...X,external:G})}if(Object.keys($).length>0){let H=W.target==="draft-2020-12"?"$defs":"definitions";J.__shared={[H]:$}}return{schemas:J}}let Y=new p7(X);return Y.process(Q),Y.emit(Q,X)}function C0(Q,X){let Y=X??{seen:new Set};if(Y.seen.has(Q))return!1;Y.seen.add(Q);let $=Q._zod.def;switch($.type){case"string":case"number":case"bigint":case"boolean":case"date":case"symbol":case"undefined":case"null":case"any":case"unknown":case"never":case"void":case"literal":case"enum":case"nan":case"file":case"template_literal":return!1;case"array":return C0($.element,Y);case"object":{for(let J in $.shape)if(C0($.shape[J],Y))return!0;return!1}case"union":{for(let J of $.options)if(C0(J,Y))return!0;return!1}case"intersection":return C0($.left,Y)||C0($.right,Y);case"tuple":{for(let J of $.items)if(C0(J,Y))return!0;if($.rest&&C0($.rest,Y))return!0;return!1}case"record":return C0($.keyType,Y)||C0($.valueType,Y);case"map":return C0($.keyType,Y)||C0($.valueType,Y);case"set":return C0($.valueType,Y);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return C0($.innerType,Y);case"lazy":return C0($.getter(),Y);case"default":return C0($.innerType,Y);case"prefault":return C0($.innerType,Y);case"custom":return!1;case"transform":return!0;case"pipe":return C0($.in,Y)||C0($.out,Y);case"success":return!1;case"catch":return!1;default:}throw Error(`Unknown schema type: ${$.type}`)}var ow=w("ZodMiniType",(Q,X)=>{if(!Q._zod)throw Error("Uninitialized schema in ZodMiniType.");G0.init(Q,X),Q.def=X,Q.parse=(Y,W)=>YW(Q,Y,W,{callee:Q.parse}),Q.safeParse=(Y,W)=>o6(Q,Y,W),Q.parseAsync=async(Y,W)=>$W(Q,Y,W,{callee:Q.parseAsync}),Q.safeParseAsync=async(Y,W)=>r6(Q,Y,W),Q.check=(...Y)=>{return Q.clone({...X,checks:[...X.checks??[],...Y.map((W)=>typeof W==="function"?{_zod:{check:W,def:{check:"custom"},onattach:[]}}:W)]})},Q.clone=(Y,W)=>s0(Q,Y,W),Q.brand=()=>Q,Q.register=(Y,W)=>{return Y.add(Q,W),Q}});var rw=w("ZodMiniObject",(Q,X)=>{AQ.init(Q,X),ow.init(Q,X),a.defineLazy(Q,"shape",()=>X.shape)});function d7(Q,X){let Y={type:"object",get shape(){return a.assignProp(this,"shape",{...Q}),this.shape},...a.normalizeParams(X)};return new rw(Y)}function e0(Q){return!!Q._zod}function a6(Q){let X=Object.values(Q);if(X.length===0)return d7({});let Y=X.every(e0),W=X.every(($)=>!e0($));if(Y)return d7(Q);if(W)return dY(Q);throw Error("Mixed Zod versions detected in object shape.")}function c0(Q,X){if(e0(Q))return o6(Q,X);return Q.safeParse(X)}async function NQ(Q,X){if(e0(Q))return await r6(Q,X);return await Q.safeParseAsync(X)}function c1(Q){if(!Q)return;let X;if(e0(Q))X=Q._zod?.def?.shape;else X=Q.shape;if(!X)return;if(typeof X==="function")try{return X()}catch{return}return X}function y9(Q){if(!Q)return;if(typeof Q==="object"){let X=Q,Y=Q;if(!X._def&&!Y._zod){let W=Object.values(Q);if(W.length>0&&W.every(($)=>typeof $==="object"&&$!==null&&($._def!==void 0||$._zod!==void 0||typeof $.parse==="function")))return a6(Q)}}if(e0(Q)){let Y=Q._zod?.def;if(Y&&(Y.type==="object"||Y.shape!==void 0))return Q}else if(Q.shape!==void 0)return Q;return}function qQ(Q){if(Q&&typeof Q==="object"){if("message"in Q&&typeof Q.message==="string")return Q.message;if("issues"in Q&&Array.isArray(Q.issues)&&Q.issues.length>0){let X=Q.issues[0];if(X&&typeof X==="object"&&"message"in X)return String(X.message)}try{return JSON.stringify(Q)}catch{return String(Q)}}return String(Q)}function mH(Q){return Q.description}function cH(Q){if(e0(Q))return Q._zod?.def?.type==="optional";let X=Q;if(typeof Q.isOptional==="function")return Q.isOptional();return X._def?.typeName==="ZodOptional"}function MQ(Q){if(e0(Q)){let J=Q._zod?.def;if(J){if(J.value!==void 0)return J.value;if(Array.isArray(J.values)&&J.values.length>0)return J.values[0]}}let Y=Q._def;if(Y){if(Y.value!==void 0)return Y.value;if(Array.isArray(Y.values)&&Y.values.length>0)return Y.values[0]}let W=Q.value;if(W!==void 0)return W;return}var f4={};a8(f4,{time:()=>o7,duration:()=>r7,datetime:()=>i7,date:()=>n7,ZodISOTime:()=>iH,ZodISODuration:()=>nH,ZodISODateTime:()=>pH,ZodISODate:()=>dH});var pH=w("ZodISODateTime",(Q,X)=>{PH.init(Q,X),U0.init(Q,X)});function i7(Q){return kH(pH,Q)}var dH=w("ZodISODate",(Q,X)=>{ZH.init(Q,X),U0.init(Q,X)});function n7(Q){return vH(dH,Q)}var iH=w("ZodISOTime",(Q,X)=>{RH.init(Q,X),U0.init(Q,X)});function o7(Q){return _H(iH,Q)}var nH=w("ZodISODuration",(Q,X)=>{EH.init(Q,X),U0.init(Q,X)});function r7(Q){return xH(nH,Q)}var rH=(Q,X)=>{HQ.init(Q,X),Q.name="ZodError",Object.defineProperties(Q,{format:{value:(Y)=>zQ(Q,Y)},flatten:{value:(Y)=>BQ(Q,Y)},addIssue:{value:(Y)=>Q.issues.push(Y)},addIssues:{value:(Y)=>Q.issues.push(...Y)},isEmpty:{get(){return Q.issues.length===0}}})},ch=w("ZodError",rH),g4=w("ZodError",rH,{Parent:Error});var tH=XW(g4),aH=WW(g4),sH=JW(g4),eH=GW(g4);var D0=w("ZodType",(Q,X)=>{return G0.init(Q,X),Q.def=X,Object.defineProperty(Q,"_def",{value:X}),Q.check=(...Y)=>{return Q.clone({...X,checks:[...X.checks??[],...Y.map((W)=>typeof W==="function"?{_zod:{check:W,def:{check:"custom"},onattach:[]}}:W)]})},Q.clone=(Y,W)=>s0(Q,Y,W),Q.brand=()=>Q,Q.register=(Y,W)=>{return Y.add(Q,W),Q},Q.parse=(Y,W)=>tH(Q,Y,W,{callee:Q.parse}),Q.safeParse=(Y,W)=>sH(Q,Y,W),Q.parseAsync=async(Y,W)=>aH(Q,Y,W,{callee:Q.parseAsync}),Q.safeParseAsync=async(Y,W)=>eH(Q,Y,W),Q.spa=Q.safeParseAsync,Q.refine=(Y,W)=>Q.check(nN(Y,W)),Q.superRefine=(Y)=>Q.check(oN(Y)),Q.overwrite=(Y)=>Q.check(t6(Y)),Q.optional=()=>b0(Q),Q.nullable=()=>Y3(Q),Q.nullish=()=>b0(Y3(Q)),Q.nonoptional=(Y)=>uN(Q,Y),Q.array=()=>E(Q),Q.or=(Y)=>L0([Q,Y]),Q.and=(Y)=>ZQ(Q,Y),Q.transform=(Y)=>a7(Q,V3(Y)),Q.default=(Y)=>fN(Q,Y),Q.prefault=(Y)=>hN(Q,Y),Q.catch=(Y)=>mN(Q,Y),Q.pipe=(Y)=>a7(Q,Y),Q.readonly=()=>dN(Q),Q.describe=(Y)=>{let W=Q.clone();return s1.add(W,{description:Y}),W},Object.defineProperty(Q,"description",{get(){return s1.get(Q)?.description},configurable:!0}),Q.meta=(...Y)=>{if(Y.length===0)return s1.get(Q);let W=Q.clone();return s1.add(W,Y[0]),W},Q.isOptional=()=>Q.safeParse(void 0).success,Q.isNullable=()=>Q.safeParse(null).success,Q}),W3=w("_ZodString",(Q,X)=>{x4.init(Q,X),D0.init(Q,X);let Y=Q._zod.bag;Q.format=Y.format??null,Q.minLength=Y.minimum??null,Q.maxLength=Y.maximum??null,Q.regex=(...W)=>Q.check(k7(...W)),Q.includes=(...W)=>Q.check(x7(...W)),Q.startsWith=(...W)=>Q.check(y7(...W)),Q.endsWith=(...W)=>Q.check(f7(...W)),Q.min=(...W)=>Q.check(x9(...W)),Q.max=(...W)=>Q.check(jQ(...W)),Q.length=(...W)=>Q.check(UQ(...W)),Q.nonempty=(...W)=>Q.check(x9(1,...W)),Q.lowercase=(W)=>Q.check(v7(W)),Q.uppercase=(W)=>Q.check(_7(W)),Q.trim=()=>Q.check(h7()),Q.normalize=(...W)=>Q.check(g7(...W)),Q.toLowerCase=()=>Q.check(u7()),Q.toUpperCase=()=>Q.check(l7())}),s7=w("ZodString",(Q,X)=>{x4.init(Q,X),W3.init(Q,X),Q.email=(Y)=>Q.check(J7(HN,Y)),Q.url=(Y)=>Q.check(OQ($3,Y)),Q.jwt=(Y)=>Q.check(P7(MN,Y)),Q.emoji=(Y)=>Q.check(K7(BN,Y)),Q.guid=(Y)=>Q.check(LQ(Q3,Y)),Q.uuid=(Y)=>Q.check(G7(bQ,Y)),Q.uuidv4=(Y)=>Q.check(H7(bQ,Y)),Q.uuidv6=(Y)=>Q.check(B7(bQ,Y)),Q.uuidv7=(Y)=>Q.check(z7(bQ,Y)),Q.nanoid=(Y)=>Q.check(V7(zN,Y)),Q.guid=(Y)=>Q.check(LQ(Q3,Y)),Q.cuid=(Y)=>Q.check(A7(KN,Y)),Q.cuid2=(Y)=>Q.check(F7(VN,Y)),Q.ulid=(Y)=>Q.check(D7(AN,Y)),Q.base64=(Y)=>Q.check(q7(wN,Y)),Q.base64url=(Y)=>Q.check(M7(NN,Y)),Q.xid=(Y)=>Q.check(L7(FN,Y)),Q.ksuid=(Y)=>Q.check(O7(DN,Y)),Q.ipv4=(Y)=>Q.check(j7(LN,Y)),Q.ipv6=(Y)=>Q.check(U7(ON,Y)),Q.cidrv4=(Y)=>Q.check(w7(jN,Y)),Q.cidrv6=(Y)=>Q.check(N7(UN,Y)),Q.e164=(Y)=>Q.check(b7(qN,Y)),Q.datetime=(Y)=>Q.check(i7(Y)),Q.date=(Y)=>Q.check(n7(Y)),Q.time=(Y)=>Q.check(o7(Y)),Q.duration=(Y)=>Q.check(r7(Y))});function U(Q){return $7(s7,Q)}var U0=w("ZodStringFormat",(Q,X)=>{F0.init(Q,X),W3.init(Q,X)}),HN=w("ZodEmail",(Q,X)=>{LW.init(Q,X),U0.init(Q,X)});var Q3=w("ZodGUID",(Q,X)=>{FW.init(Q,X),U0.init(Q,X)});var bQ=w("ZodUUID",(Q,X)=>{DW.init(Q,X),U0.init(Q,X)});var $3=w("ZodURL",(Q,X)=>{OW.init(Q,X),U0.init(Q,X)});function J3(Q){return OQ($3,Q)}var BN=w("ZodEmoji",(Q,X)=>{jW.init(Q,X),U0.init(Q,X)});var zN=w("ZodNanoID",(Q,X)=>{UW.init(Q,X),U0.init(Q,X)});var KN=w("ZodCUID",(Q,X)=>{wW.init(Q,X),U0.init(Q,X)});var VN=w("ZodCUID2",(Q,X)=>{NW.init(Q,X),U0.init(Q,X)});var AN=w("ZodULID",(Q,X)=>{qW.init(Q,X),U0.init(Q,X)});var FN=w("ZodXID",(Q,X)=>{MW.init(Q,X),U0.init(Q,X)});var DN=w("ZodKSUID",(Q,X)=>{bW.init(Q,X),U0.init(Q,X)});var LN=w("ZodIPv4",(Q,X)=>{PW.init(Q,X),U0.init(Q,X)});var ON=w("ZodIPv6",(Q,X)=>{ZW.init(Q,X),U0.init(Q,X)});var jN=w("ZodCIDRv4",(Q,X)=>{RW.init(Q,X),U0.init(Q,X)});var UN=w("ZodCIDRv6",(Q,X)=>{EW.init(Q,X),U0.init(Q,X)});var wN=w("ZodBase64",(Q,X)=>{SW.init(Q,X),U0.init(Q,X)});var NN=w("ZodBase64URL",(Q,X)=>{IW.init(Q,X),U0.init(Q,X)});var qN=w("ZodE164",(Q,X)=>{CW.init(Q,X),U0.init(Q,X)});var MN=w("ZodJWT",(Q,X)=>{TW.init(Q,X),U0.init(Q,X)});var PQ=w("ZodNumber",(Q,X)=>{VQ.init(Q,X),D0.init(Q,X),Q.gt=(W,$)=>Q.check(_9(W,$)),Q.gte=(W,$)=>Q.check(b1(W,$)),Q.min=(W,$)=>Q.check(b1(W,$)),Q.lt=(W,$)=>Q.check(v9(W,$)),Q.lte=(W,$)=>Q.check(e1(W,$)),Q.max=(W,$)=>Q.check(e1(W,$)),Q.int=(W)=>Q.check(X3(W)),Q.safe=(W)=>Q.check(X3(W)),Q.positive=(W)=>Q.check(_9(0,W)),Q.nonnegative=(W)=>Q.check(b1(0,W)),Q.negative=(W)=>Q.check(v9(0,W)),Q.nonpositive=(W)=>Q.check(e1(0,W)),Q.multipleOf=(W,$)=>Q.check(y4(W,$)),Q.step=(W,$)=>Q.check(y4(W,$)),Q.finite=()=>Q;let Y=Q._zod.bag;Q.minValue=Math.max(Y.minimum??Number.NEGATIVE_INFINITY,Y.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,Q.maxValue=Math.min(Y.maximum??Number.POSITIVE_INFINITY,Y.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,Q.isInt=(Y.format??"").includes("int")||Number.isSafeInteger(Y.multipleOf??0.5),Q.isFinite=!0,Q.format=Y.format??null});function J0(Q){return Z7(PQ,Q)}var bN=w("ZodNumberFormat",(Q,X)=>{kW.init(Q,X),PQ.init(Q,X)});function X3(Q){return R7(bN,Q)}var e7=w("ZodBoolean",(Q,X)=>{vW.init(Q,X),D0.init(Q,X)});function B0(Q){return E7(e7,Q)}var G3=w("ZodBigInt",(Q,X)=>{_W.init(Q,X),D0.init(Q,X),Q.gte=(W,$)=>Q.check(b1(W,$)),Q.min=(W,$)=>Q.check(b1(W,$)),Q.gt=(W,$)=>Q.check(_9(W,$)),Q.gte=(W,$)=>Q.check(b1(W,$)),Q.min=(W,$)=>Q.check(b1(W,$)),Q.lt=(W,$)=>Q.check(v9(W,$)),Q.lte=(W,$)=>Q.check(e1(W,$)),Q.max=(W,$)=>Q.check(e1(W,$)),Q.positive=(W)=>Q.check(_9(BigInt(0),W)),Q.negative=(W)=>Q.check(v9(BigInt(0),W)),Q.nonpositive=(W)=>Q.check(e1(BigInt(0),W)),Q.nonnegative=(W)=>Q.check(b1(BigInt(0),W)),Q.multipleOf=(W,$)=>Q.check(y4(W,$));let Y=Q._zod.bag;Q.minValue=Y.minimum??null,Q.maxValue=Y.maximum??null,Q.format=Y.format??null});var PN=w("ZodNull",(Q,X)=>{xW.init(Q,X),D0.init(Q,X)});function Q5(Q){return S7(PN,Q)}var ZN=w("ZodAny",(Q,X)=>{yW.init(Q,X),D0.init(Q,X)});function H3(){return I7(ZN)}var RN=w("ZodUnknown",(Q,X)=>{fW.init(Q,X),D0.init(Q,X)});function w0(){return C7(RN)}var EN=w("ZodNever",(Q,X)=>{gW.init(Q,X),D0.init(Q,X)});function SN(Q){return T7(EN,Q)}var B3=w("ZodDate",(Q,X)=>{hW.init(Q,X),D0.init(Q,X),Q.min=(W,$)=>Q.check(b1(W,$)),Q.max=(W,$)=>Q.check(e1(W,$));let Y=Q._zod.bag;Q.minDate=Y.minimum?new Date(Y.minimum):null,Q.maxDate=Y.maximum?new Date(Y.maximum):null});var IN=w("ZodArray",(Q,X)=>{uW.init(Q,X),D0.init(Q,X),Q.element=X.element,Q.min=(Y,W)=>Q.check(x9(Y,W)),Q.nonempty=(Y)=>Q.check(x9(1,Y)),Q.max=(Y,W)=>Q.check(jQ(Y,W)),Q.length=(Y,W)=>Q.check(UQ(Y,W)),Q.unwrap=()=>Q.element});function E(Q,X){return uH(IN,Q,X)}var z3=w("ZodObject",(Q,X)=>{AQ.init(Q,X),D0.init(Q,X),a.defineLazy(Q,"shape",()=>X.shape),Q.keyof=()=>Q1(Object.keys(Q._zod.def.shape)),Q.catchall=(Y)=>Q.clone({...Q._zod.def,catchall:Y}),Q.passthrough=()=>Q.clone({...Q._zod.def,catchall:w0()}),Q.loose=()=>Q.clone({...Q._zod.def,catchall:w0()}),Q.strict=()=>Q.clone({...Q._zod.def,catchall:SN()}),Q.strip=()=>Q.clone({...Q._zod.def,catchall:void 0}),Q.extend=(Y)=>{return a.extend(Q,Y)},Q.merge=(Y)=>a.merge(Q,Y),Q.pick=(Y)=>a.pick(Q,Y),Q.omit=(Y)=>a.omit(Q,Y),Q.partial=(...Y)=>a.partial(A3,Q,Y[0]),Q.required=(...Y)=>a.required(F3,Q,Y[0])});function C(Q,X){let Y={type:"object",get shape(){return a.assignProp(this,"shape",{...Q}),this.shape},...a.normalizeParams(X)};return new z3(Y)}function T0(Q,X){return new z3({type:"object",get shape(){return a.assignProp(this,"shape",{...Q}),this.shape},catchall:w0(),...a.normalizeParams(X)})}var K3=w("ZodUnion",(Q,X)=>{FQ.init(Q,X),D0.init(Q,X),Q.options=X.options});function L0(Q,X){return new K3({type:"union",options:Q,...a.normalizeParams(X)})}var CN=w("ZodDiscriminatedUnion",(Q,X)=>{K3.init(Q,X),lW.init(Q,X)});function X5(Q,X,Y){return new CN({type:"union",options:X,discriminator:Q,...a.normalizeParams(Y)})}var TN=w("ZodIntersection",(Q,X)=>{mW.init(Q,X),D0.init(Q,X)});function ZQ(Q,X){return new TN({type:"intersection",left:Q,right:X})}var kN=w("ZodRecord",(Q,X)=>{cW.init(Q,X),D0.init(Q,X),Q.keyType=X.keyType,Q.valueType=X.valueType});function N0(Q,X,Y){return new kN({type:"record",keyType:Q,valueType:X,...a.normalizeParams(Y)})}var t7=w("ZodEnum",(Q,X)=>{pW.init(Q,X),D0.init(Q,X),Q.enum=X.entries,Q.options=Object.values(X.entries);let Y=new Set(Object.keys(X.entries));Q.extract=(W,$)=>{let J={};for(let G of W)if(Y.has(G))J[G]=X.entries[G];else throw Error(`Key ${G} not found in enum`);return new t7({...X,checks:[],...a.normalizeParams($),entries:J})},Q.exclude=(W,$)=>{let J={...X.entries};for(let G of W)if(Y.has(G))delete J[G];else throw Error(`Key ${G} not found in enum`);return new t7({...X,checks:[],...a.normalizeParams($),entries:J})}});function Q1(Q,X){let Y=Array.isArray(Q)?Object.fromEntries(Q.map((W)=>[W,W])):Q;return new t7({type:"enum",entries:Y,...a.normalizeParams(X)})}var vN=w("ZodLiteral",(Q,X)=>{dW.init(Q,X),D0.init(Q,X),Q.values=new Set(X.values),Object.defineProperty(Q,"value",{get(){if(X.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return X.values[0]}})});function _(Q,X){return new vN({type:"literal",values:Array.isArray(Q)?Q:[Q],...a.normalizeParams(X)})}var _N=w("ZodTransform",(Q,X)=>{iW.init(Q,X),D0.init(Q,X),Q._zod.parse=(Y,W)=>{Y.addIssue=(J)=>{if(typeof J==="string")Y.issues.push(a.issue(J,Y.value,X));else{let G=J;if(G.fatal)G.continue=!1;G.code??(G.code="custom"),G.input??(G.input=Y.value),G.inst??(G.inst=Q),G.continue??(G.continue=!0),Y.issues.push(a.issue(G))}};let $=X.transform(Y.value,Y);if($ instanceof Promise)return $.then((J)=>{return Y.value=J,Y});return Y.value=$,Y}});function V3(Q){return new _N({type:"transform",transform:Q})}var A3=w("ZodOptional",(Q,X)=>{nW.init(Q,X),D0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType});function b0(Q){return new A3({type:"optional",innerType:Q})}var xN=w("ZodNullable",(Q,X)=>{oW.init(Q,X),D0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType});function Y3(Q){return new xN({type:"nullable",innerType:Q})}var yN=w("ZodDefault",(Q,X)=>{rW.init(Q,X),D0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType,Q.removeDefault=Q.unwrap});function fN(Q,X){return new yN({type:"default",innerType:Q,get defaultValue(){return typeof X==="function"?X():X}})}var gN=w("ZodPrefault",(Q,X)=>{tW.init(Q,X),D0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType});function hN(Q,X){return new gN({type:"prefault",innerType:Q,get defaultValue(){return typeof X==="function"?X():X}})}var F3=w("ZodNonOptional",(Q,X)=>{aW.init(Q,X),D0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType});function uN(Q,X){return new F3({type:"nonoptional",innerType:Q,...a.normalizeParams(X)})}var lN=w("ZodCatch",(Q,X)=>{sW.init(Q,X),D0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType,Q.removeCatch=Q.unwrap});function mN(Q,X){return new lN({type:"catch",innerType:Q,catchValue:typeof X==="function"?X:()=>X})}var cN=w("ZodPipe",(Q,X)=>{eW.init(Q,X),D0.init(Q,X),Q.in=X.in,Q.out=X.out});function a7(Q,X){return new cN({type:"pipe",in:Q,out:X})}var pN=w("ZodReadonly",(Q,X)=>{Q7.init(Q,X),D0.init(Q,X)});function dN(Q){return new pN({type:"readonly",innerType:Q})}var D3=w("ZodCustom",(Q,X)=>{X7.init(Q,X),D0.init(Q,X)});function iN(Q){let X=new v0({check:"custom"});return X._zod.check=Q,X}function L3(Q,X){return m7(D3,Q??(()=>!0),X)}function nN(Q,X={}){return c7(D3,Q,X)}function oN(Q){let X=iN((Y)=>{return Y.addIssue=(W)=>{if(typeof W==="string")Y.issues.push(a.issue(W,Y.value,X._zod.def));else{let $=W;if($.fatal)$.continue=!1;$.code??($.code="custom"),$.input??($.input=Y.value),$.inst??($.inst=X),$.continue??($.continue=!X._zod.def.abort),Y.issues.push(a.issue($))}},Q(Y.value,Y)});return X}function Y5(Q,X){return a7(V3(Q),X)}var O3={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};var RQ={};a8(RQ,{string:()=>rN,number:()=>tN,date:()=>eN,boolean:()=>aN,bigint:()=>sN});function rN(Q){return TH(s7,Q)}function tN(Q){return yH(PQ,Q)}function aN(Q){return fH(e7,Q)}function sN(Q){return gH(G3,Q)}function eN(Q){return hH(B3,Q)}a0(Y7());var w6="2025-11-25",j3="2025-03-26",s6=[w6,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],N6="io.modelcontextprotocol/related-task",SQ="2.0",_0=L3((Q)=>Q!==null&&(typeof Q==="object"||typeof Q==="function")),U3=L0([U(),J0().int()]),w3=U(),Wu=T0({ttl:L0([J0(),Q5()]).optional(),pollInterval:J0().optional()}),Xq=C({ttl:J0().optional()}),Yq=C({taskId:U()}),W5=T0({progressToken:U3.optional(),[N6]:Yq.optional()}),K1=C({_meta:W5.optional()}),h4=K1.extend({task:Xq.optional()}),N3=(Q)=>h4.safeParse(Q).success,x0=C({method:U(),params:K1.loose().optional()}),V1=C({_meta:W5.optional()}),A1=C({method:U(),params:V1.loose().optional()}),y0=T0({_meta:W5.optional()}),IQ=L0([U(),J0().int()]),q3=C({jsonrpc:_(SQ),id:IQ,...x0.shape}).strict(),p1=(Q)=>q3.safeParse(Q).success,M3=C({jsonrpc:_(SQ),...A1.shape}).strict(),b3=(Q)=>M3.safeParse(Q).success,$5=C({jsonrpc:_(SQ),id:IQ,result:y0}).strict(),P1=(Q)=>$5.safeParse(Q).success;var k;(function(Q){Q[Q.ConnectionClosed=-32000]="ConnectionClosed",Q[Q.RequestTimeout=-32001]="RequestTimeout",Q[Q.ParseError=-32700]="ParseError",Q[Q.InvalidRequest=-32600]="InvalidRequest",Q[Q.MethodNotFound=-32601]="MethodNotFound",Q[Q.InvalidParams=-32602]="InvalidParams",Q[Q.InternalError=-32603]="InternalError",Q[Q.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(k||(k={}));var J5=C({jsonrpc:_(SQ),id:IQ.optional(),error:C({code:J0().int(),message:U(),data:w0().optional()})}).strict();var g9=(Q)=>J5.safeParse(Q).success;var e6=L0([q3,M3,$5,J5]),$u=L0([$5,J5]),Q6=y0.strict(),Wq=V1.extend({requestId:IQ.optional(),reason:U().optional()}),CQ=A1.extend({method:_("notifications/cancelled"),params:Wq}),$q=C({src:U(),mimeType:U().optional(),sizes:E(U()).optional(),theme:Q1(["light","dark"]).optional()}),u4=C({icons:E($q).optional()}),f9=C({name:U(),title:U().optional()}),P3=f9.extend({...f9.shape,...u4.shape,version:U(),websiteUrl:U().optional(),description:U().optional()}),Jq=ZQ(C({applyDefaults:B0().optional()}),N0(U(),w0())),Gq=Y5((Q)=>{if(Q&&typeof Q==="object"&&!Array.isArray(Q)){if(Object.keys(Q).length===0)return{form:{}}}return Q},ZQ(C({form:Jq.optional(),url:_0.optional()}),N0(U(),w0()).optional())),Hq=T0({list:_0.optional(),cancel:_0.optional(),requests:T0({sampling:T0({createMessage:_0.optional()}).optional(),elicitation:T0({create:_0.optional()}).optional()}).optional()}),Bq=T0({list:_0.optional(),cancel:_0.optional(),requests:T0({tools:T0({call:_0.optional()}).optional()}).optional()}),zq=C({experimental:N0(U(),_0).optional(),sampling:C({context:_0.optional(),tools:_0.optional()}).optional(),elicitation:Gq.optional(),roots:C({listChanged:B0().optional()}).optional(),tasks:Hq.optional()}),Kq=K1.extend({protocolVersion:U(),capabilities:zq,clientInfo:P3}),TQ=x0.extend({method:_("initialize"),params:Kq}),G5=(Q)=>TQ.safeParse(Q).success,Vq=C({experimental:N0(U(),_0).optional(),logging:_0.optional(),completions:_0.optional(),prompts:C({listChanged:B0().optional()}).optional(),resources:C({subscribe:B0().optional(),listChanged:B0().optional()}).optional(),tools:C({listChanged:B0().optional()}).optional(),tasks:Bq.optional()}),H5=y0.extend({protocolVersion:U(),capabilities:Vq,serverInfo:P3,instructions:U().optional()}),kQ=A1.extend({method:_("notifications/initialized"),params:V1.optional()}),Z3=(Q)=>kQ.safeParse(Q).success,vQ=x0.extend({method:_("ping"),params:K1.optional()}),Aq=C({progress:J0(),total:b0(J0()),message:b0(U())}),Fq=C({...V1.shape,...Aq.shape,progressToken:U3}),_Q=A1.extend({method:_("notifications/progress"),params:Fq}),Dq=K1.extend({cursor:w3.optional()}),l4=x0.extend({params:Dq.optional()}),m4=y0.extend({nextCursor:w3.optional()}),Lq=Q1(["working","input_required","completed","failed","cancelled"]),c4=C({taskId:U(),status:Lq,ttl:L0([J0(),Q5()]),createdAt:U(),lastUpdatedAt:U(),pollInterval:b0(J0()),statusMessage:b0(U())}),X6=y0.extend({task:c4}),Oq=V1.merge(c4),p4=A1.extend({method:_("notifications/tasks/status"),params:Oq}),xQ=x0.extend({method:_("tasks/get"),params:K1.extend({taskId:U()})}),yQ=y0.merge(c4),fQ=x0.extend({method:_("tasks/result"),params:K1.extend({taskId:U()})}),Ju=y0.loose(),gQ=l4.extend({method:_("tasks/list")}),hQ=m4.extend({tasks:E(c4)}),uQ=x0.extend({method:_("tasks/cancel"),params:K1.extend({taskId:U()})}),R3=y0.merge(c4),E3=C({uri:U(),mimeType:b0(U()),_meta:N0(U(),w0()).optional()}),S3=E3.extend({text:U()}),B5=U().refine((Q)=>{try{return atob(Q),!0}catch{return!1}},{message:"Invalid Base64 string"}),I3=E3.extend({blob:B5}),d4=Q1(["user","assistant"]),h9=C({audience:E(d4).optional(),priority:J0().min(0).max(1).optional(),lastModified:f4.datetime({offset:!0}).optional()}),C3=C({...f9.shape,...u4.shape,uri:U(),description:b0(U()),mimeType:b0(U()),annotations:h9.optional(),_meta:b0(T0({}))}),jq=C({...f9.shape,...u4.shape,uriTemplate:U(),description:b0(U()),mimeType:b0(U()),annotations:h9.optional(),_meta:b0(T0({}))}),lQ=l4.extend({method:_("resources/list")}),z5=m4.extend({resources:E(C3)}),mQ=l4.extend({method:_("resources/templates/list")}),K5=m4.extend({resourceTemplates:E(jq)}),V5=K1.extend({uri:U()}),Uq=V5,cQ=x0.extend({method:_("resources/read"),params:Uq}),A5=y0.extend({contents:E(L0([S3,I3]))}),i4=A1.extend({method:_("notifications/resources/list_changed"),params:V1.optional()}),wq=V5,Nq=x0.extend({method:_("resources/subscribe"),params:wq}),qq=V5,Mq=x0.extend({method:_("resources/unsubscribe"),params:qq}),bq=V1.extend({uri:U()}),F5=A1.extend({method:_("notifications/resources/updated"),params:bq}),Pq=C({name:U(),description:b0(U()),required:b0(B0())}),Zq=C({...f9.shape,...u4.shape,description:b0(U()),arguments:b0(E(Pq)),_meta:b0(T0({}))}),pQ=l4.extend({method:_("prompts/list")}),D5=m4.extend({prompts:E(Zq)}),Rq=K1.extend({name:U(),arguments:N0(U(),U()).optional()}),dQ=x0.extend({method:_("prompts/get"),params:Rq}),L5=C({type:_("text"),text:U(),annotations:h9.optional(),_meta:N0(U(),w0()).optional()}),O5=C({type:_("image"),data:B5,mimeType:U(),annotations:h9.optional(),_meta:N0(U(),w0()).optional()}),j5=C({type:_("audio"),data:B5,mimeType:U(),annotations:h9.optional(),_meta:N0(U(),w0()).optional()}),Eq=C({type:_("tool_use"),name:U(),id:U(),input:N0(U(),w0()),_meta:N0(U(),w0()).optional()}),Sq=C({type:_("resource"),resource:L0([S3,I3]),annotations:h9.optional(),_meta:N0(U(),w0()).optional()}),Iq=C3.extend({type:_("resource_link")}),U5=L0([L5,O5,j5,Iq,Sq]),Cq=C({role:d4,content:U5}),w5=y0.extend({description:U().optional(),messages:E(Cq)}),n4=A1.extend({method:_("notifications/prompts/list_changed"),params:V1.optional()}),Tq=C({title:U().optional(),readOnlyHint:B0().optional(),destructiveHint:B0().optional(),idempotentHint:B0().optional(),openWorldHint:B0().optional()}),kq=C({taskSupport:Q1(["required","optional","forbidden"]).optional()}),T3=C({...f9.shape,...u4.shape,description:U().optional(),inputSchema:C({type:_("object"),properties:N0(U(),_0).optional(),required:E(U()).optional()}).catchall(w0()),outputSchema:C({type:_("object"),properties:N0(U(),_0).optional(),required:E(U()).optional()}).catchall(w0()).optional(),annotations:Tq.optional(),execution:kq.optional(),_meta:N0(U(),w0()).optional()}),iQ=l4.extend({method:_("tools/list")}),N5=m4.extend({tools:E(T3)}),q6=y0.extend({content:E(U5).default([]),structuredContent:N0(U(),w0()).optional(),isError:B0().optional()}),Gu=q6.or(y0.extend({toolResult:w0()})),vq=h4.extend({name:U(),arguments:N0(U(),w0()).optional()}),u9=x0.extend({method:_("tools/call"),params:vq}),o4=A1.extend({method:_("notifications/tools/list_changed"),params:V1.optional()}),k3=C({autoRefresh:B0().default(!0),debounceMs:J0().int().nonnegative().default(300)}),r4=Q1(["debug","info","notice","warning","error","critical","alert","emergency"]),_q=K1.extend({level:r4}),q5=x0.extend({method:_("logging/setLevel"),params:_q}),xq=V1.extend({level:r4,logger:U().optional(),data:w0()}),M5=A1.extend({method:_("notifications/message"),params:xq}),yq=C({name:U().optional()}),fq=C({hints:E(yq).optional(),costPriority:J0().min(0).max(1).optional(),speedPriority:J0().min(0).max(1).optional(),intelligencePriority:J0().min(0).max(1).optional()}),gq=C({mode:Q1(["auto","required","none"]).optional()}),hq=C({type:_("tool_result"),toolUseId:U().describe("The unique identifier for the corresponding tool call."),content:E(U5).default([]),structuredContent:C({}).loose().optional(),isError:B0().optional(),_meta:N0(U(),w0()).optional()}),uq=X5("type",[L5,O5,j5]),EQ=X5("type",[L5,O5,j5,Eq,hq]),lq=C({role:d4,content:L0([EQ,E(EQ)]),_meta:N0(U(),w0()).optional()}),mq=h4.extend({messages:E(lq),modelPreferences:fq.optional(),systemPrompt:U().optional(),includeContext:Q1(["none","thisServer","allServers"]).optional(),temperature:J0().optional(),maxTokens:J0().int(),stopSequences:E(U()).optional(),metadata:_0.optional(),tools:E(T3).optional(),toolChoice:gq.optional()}),t4=x0.extend({method:_("sampling/createMessage"),params:mq}),a4=y0.extend({model:U(),stopReason:b0(Q1(["endTurn","stopSequence","maxTokens"]).or(U())),role:d4,content:uq}),b5=y0.extend({model:U(),stopReason:b0(Q1(["endTurn","stopSequence","maxTokens","toolUse"]).or(U())),role:d4,content:L0([EQ,E(EQ)])}),cq=C({type:_("boolean"),title:U().optional(),description:U().optional(),default:B0().optional()}),pq=C({type:_("string"),title:U().optional(),description:U().optional(),minLength:J0().optional(),maxLength:J0().optional(),format:Q1(["email","uri","date","date-time"]).optional(),default:U().optional()}),dq=C({type:Q1(["number","integer"]),title:U().optional(),description:U().optional(),minimum:J0().optional(),maximum:J0().optional(),default:J0().optional()}),iq=C({type:_("string"),title:U().optional(),description:U().optional(),enum:E(U()),default:U().optional()}),nq=C({type:_("string"),title:U().optional(),description:U().optional(),oneOf:E(C({const:U(),title:U()})),default:U().optional()}),oq=C({type:_("string"),title:U().optional(),description:U().optional(),enum:E(U()),enumNames:E(U()).optional(),default:U().optional()}),rq=L0([iq,nq]),tq=C({type:_("array"),title:U().optional(),description:U().optional(),minItems:J0().optional(),maxItems:J0().optional(),items:C({type:_("string"),enum:E(U())}),default:E(U()).optional()}),aq=C({type:_("array"),title:U().optional(),description:U().optional(),minItems:J0().optional(),maxItems:J0().optional(),items:C({anyOf:E(C({const:U(),title:U()}))}),default:E(U()).optional()}),sq=L0([tq,aq]),eq=L0([oq,rq,sq]),QM=L0([eq,cq,pq,dq]),XM=h4.extend({mode:_("form").optional(),message:U(),requestedSchema:C({type:_("object"),properties:N0(U(),QM),required:E(U()).optional()})}),YM=h4.extend({mode:_("url"),message:U(),elicitationId:U(),url:U().url()}),WM=L0([XM,YM]),s4=x0.extend({method:_("elicitation/create"),params:WM}),$M=V1.extend({elicitationId:U()}),JM=A1.extend({method:_("notifications/elicitation/complete"),params:$M}),l9=y0.extend({action:Q1(["accept","decline","cancel"]),content:Y5((Q)=>Q===null?void 0:Q,N0(U(),L0([U(),J0(),B0(),E(U())])).optional())}),GM=C({type:_("ref/resource"),uri:U()});var HM=C({type:_("ref/prompt"),name:U()}),BM=K1.extend({ref:L0([HM,GM]),argument:C({name:U(),value:U()}),context:C({arguments:N0(U(),U()).optional()}).optional()}),nQ=x0.extend({method:_("completion/complete"),params:BM});function v3(Q){if(Q.params.ref.type!=="ref/prompt")throw TypeError(`Expected CompleteRequestPrompt, but got ${Q.params.ref.type}`)}function _3(Q){if(Q.params.ref.type!=="ref/resource")throw TypeError(`Expected CompleteRequestResourceTemplate, but got ${Q.params.ref.type}`)}var P5=y0.extend({completion:T0({values:E(U()).max(100),total:b0(J0().int()),hasMore:b0(B0())})}),zM=C({uri:U().startsWith("file://"),name:U().optional(),_meta:N0(U(),w0()).optional()}),KM=x0.extend({method:_("roots/list"),params:K1.optional()}),Z5=y0.extend({roots:E(zM)}),VM=A1.extend({method:_("notifications/roots/list_changed"),params:V1.optional()}),Hu=L0([vQ,TQ,nQ,q5,dQ,pQ,lQ,mQ,cQ,Nq,Mq,u9,iQ,xQ,fQ,gQ,uQ]),Bu=L0([CQ,_Q,kQ,VM,p4]),zu=L0([Q6,a4,b5,l9,Z5,yQ,hQ,X6]),Ku=L0([vQ,t4,s4,KM,xQ,fQ,gQ,uQ]),Vu=L0([CQ,_Q,M5,F5,i4,o4,n4,p4,JM]),Au=L0([Q6,H5,P5,w5,D5,z5,K5,A5,q6,N5,yQ,hQ,X6]);class I extends Error{constructor(Q,X,Y){super(`MCP error ${Q}: ${X}`);this.code=Q,this.data=Y,this.name="McpError"}static fromError(Q,X,Y){if(Q===k.UrlElicitationRequired&&Y){let W=Y;if(W.elicitations)return new x3(W.elicitations,X)}return new I(Q,X,Y)}}class x3 extends I{constructor(Q,X=`URL elicitation${Q.length>1?"s":""} required`){super(k.UrlElicitationRequired,X,{elicitations:Q})}get elicitations(){return this.data?.elicitations??[]}}function M6(Q){return Q==="completed"||Q==="failed"||Q==="cancelled"}var f3=Symbol("Let zodToJsonSchema decide on which parser to use");var y3={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"},g3=(Q)=>typeof Q==="string"?{...y3,name:Q}:{...y3,...Q};var h3=(Q)=>{let X=g3(Q),Y=X.name!==void 0?[...X.basePath,X.definitionPath,X.name]:X.basePath;return{...X,flags:{hasReferencedOpenAiAnyType:!1},currentPath:Y,propertyPath:void 0,seen:new Map(Object.entries(X.definitions).map(([W,$])=>[$._def,{def:$._def,path:[...X.basePath,X.definitionPath,W],jsonSchema:void 0}]))}};function R5(Q,X,Y,W){if(!W?.errorMessages)return;if(Y)Q.errorMessage={...Q.errorMessage,[X]:Y}}function s(Q,X,Y,W,$){Q[X]=Y,R5(Q,X,W,$)}var oQ=(Q,X)=>{let Y=0;for(;Y<Q.length&&Y<X.length;Y++)if(Q[Y]!==X[Y])break;return[(Q.length-Y).toString(),...X.slice(Y)].join("/")};function q0(Q){if(Q.target!=="openAi")return{};let X=[...Q.basePath,Q.definitionPath,Q.openAiAnyTypeName];return Q.flags.hasReferencedOpenAiAnyType=!0,{$ref:Q.$refStrategy==="relative"?oQ(X,Q.currentPath):X.join("/")}}function u3(Q,X){let Y={type:"array"};if(Q.type?._def&&Q.type?._def?.typeName!==P.ZodAny)Y.items=l(Q.type._def,{...X,currentPath:[...X.currentPath,"items"]});if(Q.minLength)s(Y,"minItems",Q.minLength.value,Q.minLength.message,X);if(Q.maxLength)s(Y,"maxItems",Q.maxLength.value,Q.maxLength.message,X);if(Q.exactLength)s(Y,"minItems",Q.exactLength.value,Q.exactLength.message,X),s(Y,"maxItems",Q.exactLength.value,Q.exactLength.message,X);return Y}function l3(Q,X){let Y={type:"integer",format:"int64"};if(!Q.checks)return Y;for(let W of Q.checks)switch(W.kind){case"min":if(X.target==="jsonSchema7")if(W.inclusive)s(Y,"minimum",W.value,W.message,X);else s(Y,"exclusiveMinimum",W.value,W.message,X);else{if(!W.inclusive)Y.exclusiveMinimum=!0;s(Y,"minimum",W.value,W.message,X)}break;case"max":if(X.target==="jsonSchema7")if(W.inclusive)s(Y,"maximum",W.value,W.message,X);else s(Y,"exclusiveMaximum",W.value,W.message,X);else{if(!W.inclusive)Y.exclusiveMaximum=!0;s(Y,"maximum",W.value,W.message,X)}break;case"multipleOf":s(Y,"multipleOf",W.value,W.message,X);break}return Y}function m3(){return{type:"boolean"}}function rQ(Q,X){return l(Q.type._def,X)}var c3=(Q,X)=>{return l(Q.innerType._def,X)};function E5(Q,X,Y){let W=Y??X.dateStrategy;if(Array.isArray(W))return{anyOf:W.map(($,J)=>E5(Q,X,$))};switch(W){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return AM(Q,X)}}var AM=(Q,X)=>{let Y={type:"integer",format:"unix-time"};if(X.target==="openApi3")return Y;for(let W of Q.checks)switch(W.kind){case"min":s(Y,"minimum",W.value,W.message,X);break;case"max":s(Y,"maximum",W.value,W.message,X);break}return Y};function p3(Q,X){return{...l(Q.innerType._def,X),default:Q.defaultValue()}}function d3(Q,X){return X.effectStrategy==="input"?l(Q.schema._def,X):q0(X)}function i3(Q){return{type:"string",enum:Array.from(Q.values)}}var FM=(Q)=>{if("type"in Q&&Q.type==="string")return!1;return"allOf"in Q};function n3(Q,X){let Y=[l(Q.left._def,{...X,currentPath:[...X.currentPath,"allOf","0"]}),l(Q.right._def,{...X,currentPath:[...X.currentPath,"allOf","1"]})].filter((J)=>!!J),W=X.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,$=[];return Y.forEach((J)=>{if(FM(J)){if($.push(...J.allOf),J.unevaluatedProperties===void 0)W=void 0}else{let G=J;if("additionalProperties"in J&&J.additionalProperties===!1){let{additionalProperties:H,...B}=J;G=B}else W=void 0;$.push(G)}}),$.length?{allOf:$,...W}:void 0}function o3(Q,X){let Y=typeof Q.value;if(Y!=="bigint"&&Y!=="number"&&Y!=="boolean"&&Y!=="string")return{type:Array.isArray(Q.value)?"array":"object"};if(X.target==="openApi3")return{type:Y==="bigint"?"integer":Y,enum:[Q.value]};return{type:Y==="bigint"?"integer":Y,const:Q.value}}var S5=void 0,Z1={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>{if(S5===void 0)S5=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return S5},uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function tQ(Q,X){let Y={type:"string"};if(Q.checks)for(let W of Q.checks)switch(W.kind){case"min":s(Y,"minLength",typeof Y.minLength==="number"?Math.max(Y.minLength,W.value):W.value,W.message,X);break;case"max":s(Y,"maxLength",typeof Y.maxLength==="number"?Math.min(Y.maxLength,W.value):W.value,W.message,X);break;case"email":switch(X.emailStrategy){case"format:email":R1(Y,"email",W.message,X);break;case"format:idn-email":R1(Y,"idn-email",W.message,X);break;case"pattern:zod":p0(Y,Z1.email,W.message,X);break}break;case"url":R1(Y,"uri",W.message,X);break;case"uuid":R1(Y,"uuid",W.message,X);break;case"regex":p0(Y,W.regex,W.message,X);break;case"cuid":p0(Y,Z1.cuid,W.message,X);break;case"cuid2":p0(Y,Z1.cuid2,W.message,X);break;case"startsWith":p0(Y,RegExp(`^${I5(W.value,X)}`),W.message,X);break;case"endsWith":p0(Y,RegExp(`${I5(W.value,X)}$`),W.message,X);break;case"datetime":R1(Y,"date-time",W.message,X);break;case"date":R1(Y,"date",W.message,X);break;case"time":R1(Y,"time",W.message,X);break;case"duration":R1(Y,"duration",W.message,X);break;case"length":s(Y,"minLength",typeof Y.minLength==="number"?Math.max(Y.minLength,W.value):W.value,W.message,X),s(Y,"maxLength",typeof Y.maxLength==="number"?Math.min(Y.maxLength,W.value):W.value,W.message,X);break;case"includes":{p0(Y,RegExp(I5(W.value,X)),W.message,X);break}case"ip":{if(W.version!=="v6")R1(Y,"ipv4",W.message,X);if(W.version!=="v4")R1(Y,"ipv6",W.message,X);break}case"base64url":p0(Y,Z1.base64url,W.message,X);break;case"jwt":p0(Y,Z1.jwt,W.message,X);break;case"cidr":{if(W.version!=="v6")p0(Y,Z1.ipv4Cidr,W.message,X);if(W.version!=="v4")p0(Y,Z1.ipv6Cidr,W.message,X);break}case"emoji":p0(Y,Z1.emoji(),W.message,X);break;case"ulid":{p0(Y,Z1.ulid,W.message,X);break}case"base64":{switch(X.base64Strategy){case"format:binary":{R1(Y,"binary",W.message,X);break}case"contentEncoding:base64":{s(Y,"contentEncoding","base64",W.message,X);break}case"pattern:zod":{p0(Y,Z1.base64,W.message,X);break}}break}case"nanoid":p0(Y,Z1.nanoid,W.message,X);case"toLowerCase":case"toUpperCase":case"trim":break;default:(($)=>{})(W)}return Y}function I5(Q,X){return X.patternStrategy==="escape"?LM(Q):Q}var DM=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function LM(Q){let X="";for(let Y=0;Y<Q.length;Y++){if(!DM.has(Q[Y]))X+="\\";X+=Q[Y]}return X}function R1(Q,X,Y,W){if(Q.format||Q.anyOf?.some(($)=>$.format)){if(!Q.anyOf)Q.anyOf=[];if(Q.format){if(Q.anyOf.push({format:Q.format,...Q.errorMessage&&W.errorMessages&&{errorMessage:{format:Q.errorMessage.format}}}),delete Q.format,Q.errorMessage){if(delete Q.errorMessage.format,Object.keys(Q.errorMessage).length===0)delete Q.errorMessage}}Q.anyOf.push({format:X,...Y&&W.errorMessages&&{errorMessage:{format:Y}}})}else s(Q,"format",X,Y,W)}function p0(Q,X,Y,W){if(Q.pattern||Q.allOf?.some(($)=>$.pattern)){if(!Q.allOf)Q.allOf=[];if(Q.pattern){if(Q.allOf.push({pattern:Q.pattern,...Q.errorMessage&&W.errorMessages&&{errorMessage:{pattern:Q.errorMessage.pattern}}}),delete Q.pattern,Q.errorMessage){if(delete Q.errorMessage.pattern,Object.keys(Q.errorMessage).length===0)delete Q.errorMessage}}Q.allOf.push({pattern:r3(X,W),...Y&&W.errorMessages&&{errorMessage:{pattern:Y}}})}else s(Q,"pattern",r3(X,W),Y,W)}function r3(Q,X){if(!X.applyRegexFlags||!Q.flags)return Q.source;let Y={i:Q.flags.includes("i"),m:Q.flags.includes("m"),s:Q.flags.includes("s")},W=Y.i?Q.source.toLowerCase():Q.source,$="",J=!1,G=!1,H=!1;for(let B=0;B<W.length;B++){if(J){$+=W[B],J=!1;continue}if(Y.i){if(G){if(W[B].match(/[a-z]/)){if(H)$+=W[B],$+=`${W[B-2]}-${W[B]}`.toUpperCase(),H=!1;else if(W[B+1]==="-"&&W[B+2]?.match(/[a-z]/))$+=W[B],H=!0;else $+=`${W[B]}${W[B].toUpperCase()}`;continue}}else if(W[B].match(/[a-z]/)){$+=`[${W[B]}${W[B].toUpperCase()}]`;continue}}if(Y.m){if(W[B]==="^"){$+=`(^|(?<=[\r
|
|
44
44
|
]))`;continue}else if(W[B]==="$"){$+=`($|(?=[\r
|
|
@@ -55,7 +55,7 @@ data:
|
|
|
55
55
|
`;if(W)$+=`id: ${W}
|
|
56
56
|
`;return $+=`data: ${JSON.stringify(Y)}
|
|
57
57
|
|
|
58
|
-
`,Q.enqueue(X.encode($)),!0}catch{return!1}}handleUnsupportedRequest(){return new Response(JSON.stringify({jsonrpc:"2.0",error:{code:-32000,message:"Method not allowed."},id:null}),{status:405,headers:{Allow:"GET, POST, DELETE","Content-Type":"application/json"}})}async handlePostRequest(Q,X){try{let Y=Q.headers.get("accept");if(!Y?.includes("application/json")||!Y.includes("text/event-stream"))return this.createJsonErrorResponse(406,-32000,"Not Acceptable: Client must accept both application/json and text/event-stream");let W=Q.headers.get("content-type");if(!W||!W.includes("application/json"))return this.createJsonErrorResponse(415,-32000,"Unsupported Media Type: Content-Type must be application/json");let $={headers:Object.fromEntries(Q.headers.entries())},J;if(X?.parsedBody!==void 0)J=X.parsedBody;else try{J=await Q.json()}catch{return this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON")}let G;try{if(Array.isArray(J))G=J.map((O)=>e6.parse(O));else G=[e6.parse(J)]}catch{return this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON-RPC message")}let H=G.some(G5);if(H){if(this._initialized&&this.sessionId!==void 0)return this.createJsonErrorResponse(400,-32600,"Invalid Request: Server already initialized");if(G.length>1)return this.createJsonErrorResponse(400,-32600,"Invalid Request: Only one initialization request is allowed");if(this.sessionId=this.sessionIdGenerator?.(),this._initialized=!0,this.sessionId&&this._onsessioninitialized)await Promise.resolve(this._onsessioninitialized(this.sessionId))}if(!H){let O=this.validateSession(Q);if(O)return O;let j=this.validateProtocolVersion(Q);if(j)return j}if(!G.some(p1)){for(let O of G)this.onmessage?.(O,{authInfo:X?.authInfo,requestInfo:$});return new Response(null,{status:202})}let z=crypto.randomUUID(),K=G.find((O)=>G5(O)),V=K?K.params.protocolVersion:Q.headers.get("mcp-protocol-version")??j3;if(this._enableJsonResponse)return new Promise((O)=>{this._streamMapping.set(z,{resolveJson:O,cleanup:()=>{this._streamMapping.delete(z)}});for(let j of G)if(p1(j))this._requestToStreamMapping.set(j.id,z);for(let j of G)this.onmessage?.(j,{authInfo:X?.authInfo,requestInfo:$})});let A=new TextEncoder,F,L=new ReadableStream({start:(O)=>{F=O},cancel:()=>{this._streamMapping.delete(z)}}),D={"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"};if(this.sessionId!==void 0)D["mcp-session-id"]=this.sessionId;for(let O of G)if(p1(O))this._streamMapping.set(z,{controller:F,encoder:A,cleanup:()=>{this._streamMapping.delete(z);try{F.close()}catch{}}}),this._requestToStreamMapping.set(O.id,z);await this.writePrimingEvent(F,A,z,V);for(let O of G){let j,q;if(p1(O)&&this._eventStore&&V>="2025-11-25")j=()=>{this.closeSSEStream(O.id)},q=()=>{this.closeStandaloneSSEStream()};this.onmessage?.(O,{authInfo:X?.authInfo,requestInfo:$,closeSSEStream:j,closeStandaloneSSEStream:q})}return new Response(L,{status:200,headers:D})}catch(Y){return this.onerror?.(Y),this.createJsonErrorResponse(400,-32700,"Parse error",{data:String(Y)})}}async handleDeleteRequest(Q){let X=this.validateSession(Q);if(X)return X;let Y=this.validateProtocolVersion(Q);if(Y)return Y;return await Promise.resolve(this._onsessionclosed?.(this.sessionId)),await this.close(),new Response(null,{status:200})}validateSession(Q){if(this.sessionIdGenerator===void 0)return;if(!this._initialized)return this.createJsonErrorResponse(400,-32000,"Bad Request: Server not initialized");let X=Q.headers.get("mcp-session-id");if(!X)return this.createJsonErrorResponse(400,-32000,"Bad Request: Mcp-Session-Id header is required");if(X!==this.sessionId)return this.createJsonErrorResponse(404,-32001,"Session not found");return}validateProtocolVersion(Q){let X=Q.headers.get("mcp-protocol-version");if(X!==null&&!s6.includes(X))return this.createJsonErrorResponse(400,-32000,`Bad Request: Unsupported protocol version: ${X} (supported versions: ${s6.join(", ")})`);return}async close(){this._streamMapping.forEach(({cleanup:Q})=>{Q()}),this._streamMapping.clear(),this._requestResponseMap.clear(),this.onclose?.()}closeSSEStream(Q){let X=this._requestToStreamMapping.get(Q);if(!X)return;let Y=this._streamMapping.get(X);if(Y)Y.cleanup()}closeStandaloneSSEStream(){let Q=this._streamMapping.get(this._standaloneSseStreamId);if(Q)Q.cleanup()}async send(Q,X){let Y=X?.relatedRequestId;if(P1(Q)||g9(Q))Y=Q.id;if(Y===void 0){if(P1(Q)||g9(Q))throw Error("Cannot send a response on a standalone SSE stream unless resuming a previous client request");let J;if(this._eventStore)J=await this._eventStore.storeEvent(this._standaloneSseStreamId,Q);let G=this._streamMapping.get(this._standaloneSseStreamId);if(G===void 0)return;if(G.controller&&G.encoder)this.writeSSEEvent(G.controller,G.encoder,Q,J);return}let W=this._requestToStreamMapping.get(Y);if(!W)throw Error(`No connection established for request ID: ${String(Y)}`);let $=this._streamMapping.get(W);if(!this._enableJsonResponse&&$?.controller&&$?.encoder){let J;if(this._eventStore)J=await this._eventStore.storeEvent(W,Q);this.writeSSEEvent($.controller,$.encoder,Q,J)}if(P1(Q)||g9(Q)){this._requestResponseMap.set(Y,Q);let J=Array.from(this._requestToStreamMapping.entries()).filter(([H,B])=>B===W).map(([H])=>H);if(J.every((H)=>this._requestResponseMap.has(H))){if(!$)throw Error(`No connection established for request ID: ${String(Y)}`);if(this._enableJsonResponse&&$.resolveJson){let H={"Content-Type":"application/json"};if(this.sessionId!==void 0)H["mcp-session-id"]=this.sessionId;let B=J.map((z)=>this._requestResponseMap.get(z));if(B.length===1)$.resolveJson(new Response(JSON.stringify(B[0]),{status:200,headers:H}));else $.resolveJson(new Response(JSON.stringify(B),{status:200,headers:H}))}else $.cleanup();for(let H of J)this._requestResponseMap.delete(H),this._requestToStreamMapping.delete(H)}}}}class yJ{constructor(Q={}){this._requestContext=new WeakMap,this._webStandardTransport=new xJ(Q),this._requestListener=_J(async(X)=>{let Y=this._requestContext.get(X);return this._webStandardTransport.handleRequest(X,{authInfo:Y?.authInfo,parsedBody:Y?.parsedBody})})}get sessionId(){return this._webStandardTransport.sessionId}set onclose(Q){this._webStandardTransport.onclose=Q}get onclose(){return this._webStandardTransport.onclose}set onerror(Q){this._webStandardTransport.onerror=Q}get onerror(){return this._webStandardTransport.onerror}set onmessage(Q){this._webStandardTransport.onmessage=Q}get onmessage(){return this._webStandardTransport.onmessage}async start(){return this._webStandardTransport.start()}async close(){return this._webStandardTransport.close()}async send(Q,X){return this._webStandardTransport.send(Q,X)}async handleRequest(Q,X,Y){let W=Q.auth;await _J(async(J)=>{return this._webStandardTransport.handleRequest(J,{authInfo:W,parsedBody:Y})})(Q,X)}closeSSEStream(Q){this._webStandardTransport.closeSSEStream(Q)}closeStandaloneSSEStream(){this._webStandardTransport.closeStandaloneSSEStream()}}import{createServer as Ag}from"http";import{readFileSync as Fg}from"fs";import qY from"node:crypto";var Kj="0123456789ABCDEFGHJKMNPQRSTVWXYZ",MY=32;var Vf=16,Vj=10,zj=281474976710655;var D9;(function(Q){Q.Base32IncorrectEncoding="B32_ENC_INVALID",Q.DecodeTimeInvalidCharacter="DEC_TIME_CHAR",Q.DecodeTimeValueMalformed="DEC_TIME_MALFORMED",Q.EncodeTimeNegative="ENC_TIME_NEG",Q.EncodeTimeSizeExceeded="ENC_TIME_SIZE_EXCEED",Q.EncodeTimeValueMalformed="ENC_TIME_MALFORMED",Q.PRNGDetectFailure="PRNG_DETECT",Q.ULIDInvalid="ULID_INVALID",Q.Unexpected="UNEXPECTED",Q.UUIDInvalid="UUID_INVALID"})(D9||(D9={}));class A4 extends Error{constructor(Q,X){super(`${X} (${Q})`);this.name="ULIDError",this.code=Q}}function Af(Q){let X=Math.floor(Q()*MY)%MY;return Kj.charAt(X)}function Ff(Q){let X=Df(),Y=X&&(X.crypto||X.msCrypto)||(typeof qY<"u"?qY:null);if(typeof Y?.getRandomValues==="function")return()=>{let W=new Uint8Array(1);return Y.getRandomValues(W),W[0]/256};else if(typeof Y?.randomBytes==="function")return()=>Y.randomBytes(1).readUInt8()/256;else if(qY?.randomBytes)return()=>qY.randomBytes(1).readUInt8()/256;throw new A4(D9.PRNGDetectFailure,"Failed to find a reliable PRNG")}function Df(){if(jf())return self;if(typeof window<"u")return window;if(typeof global<"u")return global;if(typeof globalThis<"u")return globalThis;return null}function Lf(Q,X){let Y="";for(;Q>0;Q--)Y=Af(X)+Y;return Y}function Of(Q,X=Vj){if(isNaN(Q))throw new A4(D9.EncodeTimeValueMalformed,`Time must be a number: ${Q}`);else if(Q>zj)throw new A4(D9.EncodeTimeSizeExceeded,`Cannot encode a time larger than ${zj}: ${Q}`);else if(Q<0)throw new A4(D9.EncodeTimeNegative,`Time must be positive: ${Q}`);else if(Number.isInteger(Q)===!1)throw new A4(D9.EncodeTimeValueMalformed,`Time must be an integer: ${Q}`);let Y,W="";for(let $=X;$>0;$--)Y=Q%MY,W=Kj.charAt(Y)+W,Q=(Q-Y)/MY;return W}function jf(){return typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope}function r0(Q,X){let Y=X||Ff(),W=!Q||isNaN(Q)?Date.now():Q;return Of(W,Vj)+Lf(Vf,Y)}class fJ{configs=new Map;logger;constructor(Q={}){this.logger=Q.logger}addConfig(Q,X,Y){let W=this.configs.has(Q);return this.configs.set(Q,{name:Q,url:X,addedAt:new Date,addedBy:Y}),this.logger?.info(W?"server_config_updated":"server_config_added",{server:Q,url:X,addedBy:Y}),!W}getConfig(Q){return this.configs.get(Q)}listConfigs(){return Array.from(this.configs.values())}removeConfig(Q){let X=this.configs.delete(Q);if(X)this.logger?.info("server_config_removed",{server:Q});return X}hasConfig(Q){return this.configs.has(Q)}get size(){return this.configs.size}clear(){this.configs.clear(),this.logger?.info("server_configs_cleared",{})}}var Uf={maxEvents:1000,retentionMs:1800000,cleanupIntervalMs:300000};class gJ{events=[];config;logger;lastDeliveredId=null;waiters=[];cleanupIntervalHandle=null;constructor(Q={},X){this.config={...Uf,...Q},this.logger=X,this.startCleanupInterval()}addEvent(Q,X,Y){let W=r0(),$={id:W,type:Q,server:X,data:Y,createdAt:new Date,sentViaSSE:!1};this.events.push($);while(this.events.length>this.config.maxEvents)this.events.shift();return this.logger?.debug("event_added",{id:W,type:Q,server:X}),this.wakeWaiters($),W}hasNewEvents(){if(this.lastDeliveredId===null)return this.events.length>0;let Q=this.events.findIndex((X)=>X.id===this.lastDeliveredId);if(Q===-1)return this.events.length>0;return Q<this.events.length-1}getNewEvents(){if(this.events.length===0)return[];let Q=0;if(this.lastDeliveredId!==null){let Y=this.events.findIndex((W)=>W.id===this.lastDeliveredId);if(Y!==-1)Q=Y+1}let X=this.events.slice(Q);if(X.length>0){let Y=X[X.length-1];if(Y)this.lastDeliveredId=Y.id}return X}getEventsAfter(Q){if(Q===null)return[...this.events];let X=this.events.findIndex((Y)=>Y.id===Q);if(X===-1)return[...this.events];return this.events.slice(X+1)}markSent(Q){let X=this.events.find((Y)=>Y.id===Q);if(X)X.sentViaSSE=!0}waitForActivity(Q){return new Promise((X)=>{let Y=setTimeout(()=>{let W=this.waiters.findIndex(($)=>$.timeoutHandle===Y);if(W!==-1)this.waiters.splice(W,1);X(null)},Q);this.waiters.push({resolve:X,timeoutHandle:Y})})}wakeWaiters(Q){let X=this.waiters;this.waiters=[];for(let Y of X)clearTimeout(Y.timeoutHandle),Y.resolve(Q)}startCleanupInterval(){this.cleanupIntervalHandle=setInterval(()=>{this.runCleanup()},this.config.cleanupIntervalMs)}runCleanup(){let Q=Date.now()-this.config.retentionMs,X=0;while(this.events.length>0){let Y=this.events[0];if(Y&&Y.createdAt.getTime()<Q)this.events.shift(),X++;else break}if(X>0)this.logger?.debug("events_cleaned",{removed:X,remaining:this.events.length})}shutdown(){if(this.cleanupIntervalHandle)clearInterval(this.cleanupIntervalHandle),this.cleanupIntervalHandle=null;for(let Q of this.waiters)clearTimeout(Q.timeoutHandle),Q.resolve(null);this.waiters=[]}}var wf={defaultTtlMs:600000,completedRetentionMs:300000,cleanupIntervalMs:60000};class hJ{tasks=new Map;eventSystem;config;cleanupIntervalHandle=null;constructor(Q,X={}){this.eventSystem=Q,this.config={...wf,...X},this.startCleanupInterval()}createTask(Q,X,Y,W){let $=r0(),J=new Date,G={taskId:$,server:Q,toolName:X,args:Y,status:"working",createdAt:J,lastUpdatedAt:J,ttl:W??this.config.defaultTtlMs};return this.tasks.set($,G),this.eventSystem.addEvent("task_created",Q,{taskId:$,toolName:X,args:Y}),G}completeTask(Q,X){let Y=this.tasks.get(Q);if(Y?.status!=="working")return;Y.status="completed",Y.result=X,Y.lastUpdatedAt=new Date,this.scheduleTaskCleanup(Y),this.eventSystem.addEvent("task_completed",Y.server,{taskId:Q,toolName:Y.toolName,result:X})}failTask(Q,X){let Y=this.tasks.get(Q);if(Y?.status!=="working")return;Y.status="failed",Y.error=X,Y.lastUpdatedAt=new Date,this.scheduleTaskCleanup(Y),this.eventSystem.addEvent("task_failed",Y.server,{taskId:Q,toolName:Y.toolName,error:X})}cancelTask(Q){let X=this.tasks.get(Q);if(X?.status!=="working")return!1;return X.status="cancelled",X.lastUpdatedAt=new Date,this.scheduleTaskCleanup(X),this.eventSystem.addEvent("task_cancelled",X.server,{taskId:Q,toolName:X.toolName}),!0}getTask(Q){let X=this.tasks.get(Q);if(!X)return;let{_cleanupTimeoutHandle:Y,...W}=X;return W}getTasksForServer(Q){return Array.from(this.tasks.values()).filter((X)=>X.server===Q).map((X)=>({taskId:X.taskId,server:X.server,toolName:X.toolName,args:X.args,status:X.status,result:X.result,error:X.error,createdAt:X.createdAt,lastUpdatedAt:X.lastUpdatedAt,ttl:X.ttl}))}getAllTasks(Q=!1){let X=["completed","failed","cancelled","expired"];return Array.from(this.tasks.values()).filter((Y)=>Q||!X.includes(Y.status)).map((Y)=>({taskId:Y.taskId,server:Y.server,toolName:Y.toolName,args:Y.args,status:Y.status,result:Y.result,error:Y.error,createdAt:Y.createdAt,lastUpdatedAt:Y.lastUpdatedAt,ttl:Y.ttl}))}getWorkingTasksForServer(Q){return Array.from(this.tasks.values()).filter((X)=>X.server===Q&&X.status==="working").map((X)=>({taskId:X.taskId,toolName:X.toolName,status:X.status}))}scheduleTaskCleanup(Q){if(Q._cleanupTimeoutHandle)clearTimeout(Q._cleanupTimeoutHandle);Q._cleanupTimeoutHandle=setTimeout(()=>{this.tasks.delete(Q.taskId)},this.config.completedRetentionMs)}startCleanupInterval(){this.cleanupIntervalHandle=setInterval(()=>{this.runCleanup()},this.config.cleanupIntervalMs)}runCleanup(){let Q=Date.now();for(let X of this.tasks.values()){if(X.status!=="working")continue;if(Q-X.createdAt.getTime()>=X.ttl)X.status="expired",X.error=`Task expired after ${String(X.ttl)}ms TTL`,X.lastUpdatedAt=new Date,this.eventSystem.addEvent("task_expired",X.server,{taskId:X.taskId,toolName:X.toolName,ttl:X.ttl}),this.scheduleTaskCleanup(X)}}shutdown(){if(this.cleanupIntervalHandle)clearInterval(this.cleanupIntervalHandle),this.cleanupIntervalHandle=null;for(let Q of this.tasks.values())if(Q._cleanupTimeoutHandle)clearTimeout(Q._cleanupTimeoutHandle)}}var Nf={maxNotificationsPerServer:100,maxLogsPerServer:500};class uJ{buffers=new Map;eventSystem;config;constructor(Q,X={}){this.eventSystem=Q,this.config={...Nf,...X}}addNotification(Q){let X=this.getOrCreateBuffers(Q.server);if(X.notifications.length>=this.config.maxNotificationsPerServer)X.notifications.shift();X.notifications.push(Q),this.eventSystem.addEvent("notification",Q.server,{method:Q.method,params:Q.params,timestamp:Q.timestamp.toISOString()})}addLog(Q){let X=this.getOrCreateBuffers(Q.server);if(X.logs.length>=this.config.maxLogsPerServer)X.logs.shift();X.logs.push(Q)}getAndClearNotifications(){let Q=[];for(let X of this.buffers.values())Q.push(...X.notifications),X.notifications=[];return Q}getAndClearLogs(){let Q=[];for(let X of this.buffers.values())Q.push(...X.logs),X.logs=[];return Q}getNotificationsForServer(Q){let X=this.buffers.get(Q);return X?[...X.notifications]:[]}getLogsForServer(Q){let X=this.buffers.get(Q);return X?[...X.logs]:[]}getNotificationCount(){let Q=0;for(let X of this.buffers.values())Q+=X.notifications.length;return Q}getLogCount(){let Q=0;for(let X of this.buffers.values())Q+=X.logs.length;return Q}clearServer(Q){this.buffers.delete(Q)}getOrCreateBuffers(Q){let X=this.buffers.get(Q);if(!X)X={notifications:[],logs:[]},this.buffers.set(Q,X);return X}}var qf={defaultTimeoutMs:600000};class lJ{samplingRequests=new Map;elicitationRequests=new Map;eventSystem;config;constructor(Q,X={}){this.eventSystem=Q,this.config={...qf,...X}}addSamplingRequest(Q,X,Y,W){let $=r0(),J=setTimeout(()=>{let H=this.samplingRequests.get($);if(H)this.samplingRequests.delete($),this.eventSystem.addEvent("sampling_expired",Q,{requestId:$,reason:`Timed out after ${String(this.config.defaultTimeoutMs)}ms`}),H.reject(Error(`Sampling request timed out after ${String(this.config.defaultTimeoutMs)}ms`))},this.config.defaultTimeoutMs),G={requestId:$,server:Q,timestamp:new Date,params:X,resolve:Y,reject:W,timeoutHandle:J};return this.samplingRequests.set($,G),this.eventSystem.addEvent("sampling_request",Q,{requestId:$,params:X}),$}addElicitationRequest(Q,X,Y,W){let $=r0(),J=setTimeout(()=>{let H=this.elicitationRequests.get($);if(H)this.elicitationRequests.delete($),this.eventSystem.addEvent("elicitation_expired",Q,{requestId:$,reason:`Timed out after ${String(this.config.defaultTimeoutMs)}ms`}),H.reject(Error(`Elicitation request timed out after ${String(this.config.defaultTimeoutMs)}ms`))},this.config.defaultTimeoutMs),G={requestId:$,server:Q,timestamp:new Date,params:X,resolve:Y,reject:W,timeoutHandle:J};return this.elicitationRequests.set($,G),this.eventSystem.addEvent("elicitation_request",Q,{requestId:$,params:X}),$}respondToSampling(Q,X){let Y=this.samplingRequests.get(Q);if(!Y)throw Error(`Sampling request '${Q}' not found or already completed`);clearTimeout(Y.timeoutHandle),this.samplingRequests.delete(Q),Y.resolve(X)}cancelSampling(Q,X="User cancelled"){let Y=this.samplingRequests.get(Q);if(!Y)throw Error(`Sampling request '${Q}' not found or already completed`);clearTimeout(Y.timeoutHandle),this.samplingRequests.delete(Q),this.eventSystem.addEvent("sampling_expired",Y.server,{requestId:Q,reason:X}),Y.reject(Error(X))}respondToElicitation(Q,X){let Y=this.elicitationRequests.get(Q);if(!Y)throw Error(`Elicitation request '${Q}' not found or already completed`);clearTimeout(Y.timeoutHandle),this.elicitationRequests.delete(Q),Y.resolve(X)}cancelElicitation(Q,X="User cancelled"){let Y=this.elicitationRequests.get(Q);if(!Y)throw Error(`Elicitation request '${Q}' not found or already completed`);clearTimeout(Y.timeoutHandle),this.elicitationRequests.delete(Q),this.eventSystem.addEvent("elicitation_expired",Y.server,{requestId:Q,reason:X}),Y.reject(Error(X))}getPendingSamplingRequests(){return Array.from(this.samplingRequests.values()).map((Q)=>({requestId:Q.requestId,server:Q.server,timestamp:Q.timestamp,params:Q.params}))}getPendingElicitationRequests(){return Array.from(this.elicitationRequests.values()).map((Q)=>({requestId:Q.requestId,server:Q.server,timestamp:Q.timestamp,params:Q.params}))}getRequestsForServer(Q){return{sampling:this.getPendingSamplingRequests().filter((X)=>X.server===Q),elicitation:this.getPendingElicitationRequests().filter((X)=>X.server===Q)}}hasPendingRequests(){return this.samplingRequests.size>0||this.elicitationRequests.size>0}rejectRequestsForServer(Q,X){for(let[Y,W]of this.samplingRequests)if(W.server===Q)clearTimeout(W.timeoutHandle),this.samplingRequests.delete(Y),this.eventSystem.addEvent("sampling_expired",Q,{requestId:Y,reason:X}),W.reject(Error(X));for(let[Y,W]of this.elicitationRequests)if(W.server===Q)clearTimeout(W.timeoutHandle),this.elicitationRequests.delete(Y),this.eventSystem.addEvent("elicitation_expired",Q,{requestId:Y,reason:X}),W.reject(Error(X))}shutdown(){for(let Q of this.samplingRequests.values())clearTimeout(Q.timeoutHandle),Q.reject(Error("PendingRequestsManager shutting down"));this.samplingRequests.clear();for(let Q of this.elicitationRequests.values())clearTimeout(Q.timeoutHandle),Q.reject(Error("PendingRequestsManager shutting down"));this.elicitationRequests.clear()}}var Mf={maxActiveTimers:100,maxDurationMs:86400000,retentionMs:300000};class mJ{timers=new Map;expiredBuffer=[];eventSystem;config;constructor(Q,X={}){this.eventSystem=Q,this.config={...Mf,...X}}createTimer(Q,X){if(this.getActiveTimers().length>=this.config.maxActiveTimers)throw Error(`Maximum active timers (${String(this.config.maxActiveTimers)}) exceeded`);if(Q<=0)throw Error("Duration must be positive");if(Q>this.config.maxDurationMs)throw Error(`Duration exceeds maximum (${String(this.config.maxDurationMs)}ms)`);let W=r0(),$=new Date,J=new Date($.getTime()+Q),G={id:W,durationMs:Q,message:X,createdAt:$,expiresAt:J,status:"active"};return G._timeoutHandle=setTimeout(()=>{this.expireTimer(W)},Q),this.timers.set(W,G),this.toPublicTimer(G)}getTimer(Q){let X=this.timers.get(Q);if(!X)return;return this.toPublicTimer(X)}deleteTimer(Q){let X=this.timers.get(Q);if(!X)return;if(X._timeoutHandle)clearTimeout(X._timeoutHandle),X._timeoutHandle=void 0;return X.status="deleted",this.scheduleCleanup(X),this.toPublicTimer(X)}getAllTimers(Q=!1){let X=Array.from(this.timers.values());return(Q?X:X.filter((W)=>W.status==="active")).map((W)=>this.toPublicTimer(W))}getActiveTimers(){return Array.from(this.timers.values()).filter((Q)=>Q.status==="active").map((Q)=>this.toPublicTimer(Q))}getAndClearExpired(){let Q=[...this.expiredBuffer];return this.expiredBuffer.length=0,Q}hasExpired(){return this.expiredBuffer.length>0}shutdown(){for(let Q of this.timers.values())if(Q._timeoutHandle)clearTimeout(Q._timeoutHandle);this.timers.clear(),this.expiredBuffer.length=0}expireTimer(Q){let X=this.timers.get(Q);if(!X?.status||X.status!=="active")return;X.status="expired",X._timeoutHandle=void 0,this.expiredBuffer.push({id:X.id,message:X.message,expiredAt:new Date().toISOString()}),this.eventSystem.addEvent("timer_expired","emceepee",{timerId:X.id,message:X.message}),this.scheduleCleanup(X)}scheduleCleanup(Q){setTimeout(()=>{this.timers.delete(Q.id)},this.config.retentionMs)}toPublicTimer(Q){return{id:Q.id,durationMs:Q.durationMs,message:Q.message,createdAt:Q.createdAt,expiresAt:Q.expiresAt,status:Q.status}}}class cJ{sessionId;createdAt;lastActivityAt;backendConnections=new Map;eventSystem;taskManager;pendingRequests;bufferManager;timerManager;logger;constructor(Q,X={},Y){this.sessionId=Q,this.createdAt=new Date,this.lastActivityAt=new Date,this.logger=Y,this.eventSystem=new gJ(X.eventSystemConfig,Y),this.taskManager=new hJ(this.eventSystem,X.taskConfig),this.pendingRequests=new lJ(this.eventSystem,X.requestConfig),this.bufferManager=new uJ(this.eventSystem,X.bufferConfig),this.timerManager=new mJ(this.eventSystem,X.timerConfig)}touch(){this.lastActivityAt=new Date}getConnection(Q){return this.backendConnections.get(Q)}isConnectedTo(Q){return this.backendConnections.get(Q)?.status==="connected"}listConnectedServers(){return Array.from(this.backendConnections.entries()).filter(([,Q])=>Q.status==="connected").map(([Q])=>Q)}listConnections(){return Array.from(this.backendConnections.entries()).map(([Q,X])=>({name:Q,status:X.status,connectedAt:X.connectedAt,lastError:X.lastError}))}setConnectionStatus(Q,X,Y){let W=this.backendConnections.get(Q);if(W){if(W.status=X,X==="connected")W.connectedAt=new Date,W.lastError=void 0;else if(X==="error"&&Y)W.lastError=Y}}addConnection(Q,X){this.backendConnections.set(Q,{client:X,status:"connecting"})}removeConnection(Q){return this.backendConnections.delete(Q)}async cleanup(){this.logger?.info("session_cleanup_start",{sessionId:this.sessionId}),this.pendingRequests.shutdown(),this.taskManager.shutdown(),this.timerManager.shutdown(),this.eventSystem.shutdown();for(let[Q,X]of this.backendConnections)try{await X.client.disconnect(),this.logger?.debug("session_backend_disconnected",{sessionId:this.sessionId,server:Q})}catch(Y){this.logger?.debug("session_backend_disconnect_error",{sessionId:this.sessionId,server:Q,error:Y instanceof Error?Y.message:String(Y)})}this.backendConnections.clear(),this.logger?.info("session_cleanup_complete",{sessionId:this.sessionId})}}class pJ{constructor(Q){this._client=Q}async*callToolStream(Q,X=q6,Y){let W=this._client,$={...Y,task:Y?.task??(W.isToolTask(Q.name)?{}:void 0)},J=W.requestStream({method:"tools/call",params:Q},X,$),G=W.getToolOutputValidator(Q.name);for await(let H of J){if(H.type==="result"&&G){let B=H.result;if(!B.structuredContent&&!B.isError){yield{type:"error",error:new I(k.InvalidRequest,`Tool ${Q.name} has an output schema but did not return structured content`)};return}if(B.structuredContent)try{let z=G(B.structuredContent);if(!z.valid){yield{type:"error",error:new I(k.InvalidParams,`Structured content does not match the tool's output schema: ${z.errorMessage}`)};return}}catch(z){if(z instanceof I){yield{type:"error",error:z};return}yield{type:"error",error:new I(k.InvalidParams,`Failed to validate structured content: ${z instanceof Error?z.message:String(z)}`)};return}}yield H}}async getTask(Q,X){return this._client.getTask({taskId:Q},X)}async getTaskResult(Q,X,Y){return this._client.getTaskResult({taskId:Q},X,Y)}async listTasks(Q,X){return this._client.listTasks(Q?{cursor:Q}:void 0,X)}async cancelTask(Q,X){return this._client.cancelTask({taskId:Q},X)}requestStream(Q,X,Y){return this._client.requestStream(Q,X,Y)}}function bY(Q,X){if(!Q||X===null||typeof X!=="object")return;if(Q.type==="object"&&Q.properties&&typeof Q.properties==="object"){let Y=X,W=Q.properties;for(let $ of Object.keys(W)){let J=W[$];if(Y[$]===void 0&&Object.prototype.hasOwnProperty.call(J,"default"))Y[$]=J.default;if(Y[$]!==void 0)bY(J,Y[$])}}if(Array.isArray(Q.anyOf)){for(let Y of Q.anyOf)if(typeof Y!=="boolean")bY(Y,X)}if(Array.isArray(Q.oneOf)){for(let Y of Q.oneOf)if(typeof Y!=="boolean")bY(Y,X)}}function bf(Q){if(!Q)return{supportsFormMode:!1,supportsUrlMode:!1};let X=Q.form!==void 0,Y=Q.url!==void 0;return{supportsFormMode:X||!X&&!Y,supportsUrlMode:Y}}class PY extends Q8{constructor(Q,X){super(X);if(this._clientInfo=Q,this._cachedToolOutputValidators=new Map,this._cachedKnownTaskTools=new Set,this._cachedRequiredTaskTools=new Set,this._listChangedDebounceTimers=new Map,this._capabilities=X?.capabilities??{},this._jsonSchemaValidator=X?.jsonSchemaValidator??new i8,X?.listChanged)this._pendingListChangedConfig=X.listChanged}_setupListChangedHandlers(Q){if(Q.tools&&this._serverCapabilities?.tools?.listChanged)this._setupListChangedHandler("tools",o4,Q.tools,async()=>{return(await this.listTools()).tools});if(Q.prompts&&this._serverCapabilities?.prompts?.listChanged)this._setupListChangedHandler("prompts",n4,Q.prompts,async()=>{return(await this.listPrompts()).prompts});if(Q.resources&&this._serverCapabilities?.resources?.listChanged)this._setupListChangedHandler("resources",i4,Q.resources,async()=>{return(await this.listResources()).resources})}get experimental(){if(!this._experimental)this._experimental={tasks:new pJ(this)};return this._experimental}registerCapabilities(Q){if(this.transport)throw Error("Cannot register capabilities after connecting to transport");this._capabilities=sQ(this._capabilities,Q)}setRequestHandler(Q,X){let W=c1(Q)?.method;if(!W)throw Error("Schema is missing a method literal");let $;if(e0(W)){let G=W;$=G._zod?.def?.value??G.value}else{let G=W;$=G._def?.value??G.value}if(typeof $!=="string")throw Error("Schema method literal must be a string");let J=$;if(J==="elicitation/create"){let G=async(H,B)=>{let z=c0(s4,H);if(!z.success){let j=z.error instanceof Error?z.error.message:String(z.error);throw new I(k.InvalidParams,`Invalid elicitation request: ${j}`)}let{params:K}=z.data;K.mode=K.mode??"form";let{supportsFormMode:V,supportsUrlMode:A}=bf(this._capabilities.elicitation);if(K.mode==="form"&&!V)throw new I(k.InvalidParams,"Client does not support form-mode elicitation requests");if(K.mode==="url"&&!A)throw new I(k.InvalidParams,"Client does not support URL-mode elicitation requests");let F=await Promise.resolve(X(H,B));if(K.task){let j=c0(X6,F);if(!j.success){let q=j.error instanceof Error?j.error.message:String(j.error);throw new I(k.InvalidParams,`Invalid task creation result: ${q}`)}return j.data}let L=c0(l9,F);if(!L.success){let j=L.error instanceof Error?L.error.message:String(L.error);throw new I(k.InvalidParams,`Invalid elicitation result: ${j}`)}let D=L.data,O=K.mode==="form"?K.requestedSchema:void 0;if(K.mode==="form"&&D.action==="accept"&&D.content&&O){if(this._capabilities.elicitation?.form?.applyDefaults)try{bY(O,D.content)}catch{}}return D};return super.setRequestHandler(Q,G)}if(J==="sampling/createMessage"){let G=async(H,B)=>{let z=c0(t4,H);if(!z.success){let F=z.error instanceof Error?z.error.message:String(z.error);throw new I(k.InvalidParams,`Invalid sampling request: ${F}`)}let{params:K}=z.data,V=await Promise.resolve(X(H,B));if(K.task){let F=c0(X6,V);if(!F.success){let L=F.error instanceof Error?F.error.message:String(F.error);throw new I(k.InvalidParams,`Invalid task creation result: ${L}`)}return F.data}let A=c0(a4,V);if(!A.success){let F=A.error instanceof Error?A.error.message:String(A.error);throw new I(k.InvalidParams,`Invalid sampling result: ${F}`)}return A.data};return super.setRequestHandler(Q,G)}return super.setRequestHandler(Q,X)}assertCapability(Q,X){if(!this._serverCapabilities?.[Q])throw Error(`Server does not support ${Q} (required for ${X})`)}async connect(Q,X){if(await super.connect(Q),Q.sessionId!==void 0)return;try{let Y=await this.request({method:"initialize",params:{protocolVersion:w6,capabilities:this._capabilities,clientInfo:this._clientInfo}},H5,X);if(Y===void 0)throw Error(`Server sent invalid initialize result: ${Y}`);if(!s6.includes(Y.protocolVersion))throw Error(`Server's protocol version is not supported: ${Y.protocolVersion}`);if(this._serverCapabilities=Y.capabilities,this._serverVersion=Y.serverInfo,Q.setProtocolVersion)Q.setProtocolVersion(Y.protocolVersion);if(this._instructions=Y.instructions,await this.notification({method:"notifications/initialized"}),this._pendingListChangedConfig)this._setupListChangedHandlers(this._pendingListChangedConfig),this._pendingListChangedConfig=void 0}catch(Y){throw this.close(),Y}}getServerCapabilities(){return this._serverCapabilities}getServerVersion(){return this._serverVersion}getInstructions(){return this._instructions}assertCapabilityForMethod(Q){switch(Q){case"logging/setLevel":if(!this._serverCapabilities?.logging)throw Error(`Server does not support logging (required for ${Q})`);break;case"prompts/get":case"prompts/list":if(!this._serverCapabilities?.prompts)throw Error(`Server does not support prompts (required for ${Q})`);break;case"resources/list":case"resources/templates/list":case"resources/read":case"resources/subscribe":case"resources/unsubscribe":if(!this._serverCapabilities?.resources)throw Error(`Server does not support resources (required for ${Q})`);if(Q==="resources/subscribe"&&!this._serverCapabilities.resources.subscribe)throw Error(`Server does not support resource subscriptions (required for ${Q})`);break;case"tools/call":case"tools/list":if(!this._serverCapabilities?.tools)throw Error(`Server does not support tools (required for ${Q})`);break;case"completion/complete":if(!this._serverCapabilities?.completions)throw Error(`Server does not support completions (required for ${Q})`);break;case"initialize":break;case"ping":break}}assertNotificationCapability(Q){switch(Q){case"notifications/roots/list_changed":if(!this._capabilities.roots?.listChanged)throw Error(`Client does not support roots list changed notifications (required for ${Q})`);break;case"notifications/initialized":break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(Q){if(!this._capabilities)return;switch(Q){case"sampling/createMessage":if(!this._capabilities.sampling)throw Error(`Client does not support sampling capability (required for ${Q})`);break;case"elicitation/create":if(!this._capabilities.elicitation)throw Error(`Client does not support elicitation capability (required for ${Q})`);break;case"roots/list":if(!this._capabilities.roots)throw Error(`Client does not support roots capability (required for ${Q})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw Error(`Client does not support tasks capability (required for ${Q})`);break;case"ping":break}}assertTaskCapability(Q){OY(this._serverCapabilities?.tasks?.requests,Q,"Server")}assertTaskHandlerCapability(Q){if(!this._capabilities)return;jY(this._capabilities.tasks?.requests,Q,"Client")}async ping(Q){return this.request({method:"ping"},Q6,Q)}async complete(Q,X){return this.request({method:"completion/complete",params:Q},P5,X)}async setLoggingLevel(Q,X){return this.request({method:"logging/setLevel",params:{level:Q}},Q6,X)}async getPrompt(Q,X){return this.request({method:"prompts/get",params:Q},w5,X)}async listPrompts(Q,X){return this.request({method:"prompts/list",params:Q},D5,X)}async listResources(Q,X){return this.request({method:"resources/list",params:Q},z5,X)}async listResourceTemplates(Q,X){return this.request({method:"resources/templates/list",params:Q},K5,X)}async readResource(Q,X){return this.request({method:"resources/read",params:Q},A5,X)}async subscribeResource(Q,X){return this.request({method:"resources/subscribe",params:Q},Q6,X)}async unsubscribeResource(Q,X){return this.request({method:"resources/unsubscribe",params:Q},Q6,X)}async callTool(Q,X=q6,Y){if(this.isToolTaskRequired(Q.name))throw new I(k.InvalidRequest,`Tool "${Q.name}" requires task-based execution. Use client.experimental.tasks.callToolStream() instead.`);let W=await this.request({method:"tools/call",params:Q},X,Y),$=this.getToolOutputValidator(Q.name);if($){if(!W.structuredContent&&!W.isError)throw new I(k.InvalidRequest,`Tool ${Q.name} has an output schema but did not return structured content`);if(W.structuredContent)try{let J=$(W.structuredContent);if(!J.valid)throw new I(k.InvalidParams,`Structured content does not match the tool's output schema: ${J.errorMessage}`)}catch(J){if(J instanceof I)throw J;throw new I(k.InvalidParams,`Failed to validate structured content: ${J instanceof Error?J.message:String(J)}`)}}return W}isToolTask(Q){if(!this._serverCapabilities?.tasks?.requests?.tools?.call)return!1;return this._cachedKnownTaskTools.has(Q)}isToolTaskRequired(Q){return this._cachedRequiredTaskTools.has(Q)}cacheToolMetadata(Q){this._cachedToolOutputValidators.clear(),this._cachedKnownTaskTools.clear(),this._cachedRequiredTaskTools.clear();for(let X of Q){if(X.outputSchema){let W=this._jsonSchemaValidator.getValidator(X.outputSchema);this._cachedToolOutputValidators.set(X.name,W)}let Y=X.execution?.taskSupport;if(Y==="required"||Y==="optional")this._cachedKnownTaskTools.add(X.name);if(Y==="required")this._cachedRequiredTaskTools.add(X.name)}}getToolOutputValidator(Q){return this._cachedToolOutputValidators.get(Q)}async listTools(Q,X){let Y=await this.request({method:"tools/list",params:Q},N5,X);return this.cacheToolMetadata(Y.tools),Y}_setupListChangedHandler(Q,X,Y,W){let $=k3.safeParse(Y);if(!$.success)throw Error(`Invalid ${Q} listChanged options: ${$.error.message}`);if(typeof Y.onChanged!=="function")throw Error(`Invalid ${Q} listChanged options: onChanged must be a function`);let{autoRefresh:J,debounceMs:G}=$.data,{onChanged:H}=Y,B=async()=>{if(!J){H(null,null);return}try{let K=await W();H(null,K)}catch(K){let V=K instanceof Error?K:Error(String(K));H(V,null)}},z=()=>{if(G){let K=this._listChangedDebounceTimers.get(Q);if(K)clearTimeout(K);let V=setTimeout(B,G);this._listChangedDebounceTimers.set(Q,V)}else B()};this.setNotificationHandler(X,z)}async sendRootsListChanged(){return this.notification({method:"notifications/roots/list_changed"})}}function ZY(Q){if(!Q)return{};if(Q instanceof Headers)return Object.fromEntries(Q.entries());if(Array.isArray(Q))return Object.fromEntries(Q);return{...Q}}function Aj(Q=fetch,X){if(!X)return Q;return async(Y,W)=>{let $={...X,...W,headers:W?.headers?{...ZY(X.headers),...ZY(W.headers)}:X.headers};return Q(Y,$)}}var dJ;dJ=globalThis.crypto?.webcrypto??globalThis.crypto??import("node:crypto").then((Q)=>Q.webcrypto);async function Pf(Q){return(await dJ).getRandomValues(new Uint8Array(Q))}async function Zf(Q){let Y=Math.pow(2,8)-Math.pow(2,8)%66,W="";while(W.length<Q){let $=await Pf(Q-W.length);for(let J of $)if(J<Y)W+="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~"[J%66]}return W}async function Rf(Q){return await Zf(Q)}async function Ef(Q){let X=await(await dJ).subtle.digest("SHA-256",new TextEncoder().encode(Q));return btoa(String.fromCharCode(...new Uint8Array(X))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}async function iJ(Q){if(!Q)Q=43;if(Q<43||Q>128)throw`Expected a length between 43 and 128. Received ${Q}.`;let X=await Rf(Q),Y=await Ef(X);return{code_verifier:X,code_challenge:Y}}var h0=J3().superRefine((Q,X)=>{if(!URL.canParse(Q))return X.addIssue({code:O3.custom,message:"URL must be parseable",fatal:!0}),WQ}).refine((Q)=>{let X=new URL(Q);return X.protocol!=="javascript:"&&X.protocol!=="data:"&&X.protocol!=="vbscript:"},{message:"URL cannot use javascript:, data:, or vbscript: scheme"}),Dj=T0({resource:U().url(),authorization_servers:E(h0).optional(),jwks_uri:U().url().optional(),scopes_supported:E(U()).optional(),bearer_methods_supported:E(U()).optional(),resource_signing_alg_values_supported:E(U()).optional(),resource_name:U().optional(),resource_documentation:U().optional(),resource_policy_uri:U().url().optional(),resource_tos_uri:U().url().optional(),tls_client_certificate_bound_access_tokens:B0().optional(),authorization_details_types_supported:E(U()).optional(),dpop_signing_alg_values_supported:E(U()).optional(),dpop_bound_access_tokens_required:B0().optional()}),nJ=T0({issuer:U(),authorization_endpoint:h0,token_endpoint:h0,registration_endpoint:h0.optional(),scopes_supported:E(U()).optional(),response_types_supported:E(U()),response_modes_supported:E(U()).optional(),grant_types_supported:E(U()).optional(),token_endpoint_auth_methods_supported:E(U()).optional(),token_endpoint_auth_signing_alg_values_supported:E(U()).optional(),service_documentation:h0.optional(),revocation_endpoint:h0.optional(),revocation_endpoint_auth_methods_supported:E(U()).optional(),revocation_endpoint_auth_signing_alg_values_supported:E(U()).optional(),introspection_endpoint:U().optional(),introspection_endpoint_auth_methods_supported:E(U()).optional(),introspection_endpoint_auth_signing_alg_values_supported:E(U()).optional(),code_challenge_methods_supported:E(U()).optional(),client_id_metadata_document_supported:B0().optional()}),Sf=T0({issuer:U(),authorization_endpoint:h0,token_endpoint:h0,userinfo_endpoint:h0.optional(),jwks_uri:h0,registration_endpoint:h0.optional(),scopes_supported:E(U()).optional(),response_types_supported:E(U()),response_modes_supported:E(U()).optional(),grant_types_supported:E(U()).optional(),acr_values_supported:E(U()).optional(),subject_types_supported:E(U()),id_token_signing_alg_values_supported:E(U()),id_token_encryption_alg_values_supported:E(U()).optional(),id_token_encryption_enc_values_supported:E(U()).optional(),userinfo_signing_alg_values_supported:E(U()).optional(),userinfo_encryption_alg_values_supported:E(U()).optional(),userinfo_encryption_enc_values_supported:E(U()).optional(),request_object_signing_alg_values_supported:E(U()).optional(),request_object_encryption_alg_values_supported:E(U()).optional(),request_object_encryption_enc_values_supported:E(U()).optional(),token_endpoint_auth_methods_supported:E(U()).optional(),token_endpoint_auth_signing_alg_values_supported:E(U()).optional(),display_values_supported:E(U()).optional(),claim_types_supported:E(U()).optional(),claims_supported:E(U()).optional(),service_documentation:U().optional(),claims_locales_supported:E(U()).optional(),ui_locales_supported:E(U()).optional(),claims_parameter_supported:B0().optional(),request_parameter_supported:B0().optional(),request_uri_parameter_supported:B0().optional(),require_request_uri_registration:B0().optional(),op_policy_uri:h0.optional(),op_tos_uri:h0.optional(),client_id_metadata_document_supported:B0().optional()}),Lj=C({...Sf.shape,...nJ.pick({code_challenge_methods_supported:!0}).shape}),Oj=C({access_token:U(),id_token:U().optional(),token_type:U(),expires_in:RQ.number().optional(),scope:U().optional(),refresh_token:U().optional()}).strip(),jj=C({error:U(),error_description:U().optional(),error_uri:U().optional()}),Fj=h0.optional().or(_("").transform(()=>{return})),If=C({redirect_uris:E(h0),token_endpoint_auth_method:U().optional(),grant_types:E(U()).optional(),response_types:E(U()).optional(),client_name:U().optional(),client_uri:h0.optional(),logo_uri:Fj,scope:U().optional(),contacts:E(U()).optional(),tos_uri:Fj,policy_uri:U().optional(),jwks_uri:h0.optional(),jwks:H3().optional(),software_id:U().optional(),software_version:U().optional(),software_statement:U().optional()}).strip(),Cf=C({client_id:U(),client_secret:U().optional(),client_id_issued_at:J0().optional(),client_secret_expires_at:J0().optional()}).strip(),Uj=If.merge(Cf),an=C({error:U(),error_description:U().optional()}).strip(),sn=C({token:U(),token_type_hint:U().optional()}).strip();function wj(Q){let X=typeof Q==="string"?new URL(Q):new URL(Q.href);return X.hash="",X}function Nj({requestedResource:Q,configuredResource:X}){let Y=typeof Q==="string"?new URL(Q):new URL(Q.href),W=typeof X==="string"?new URL(X):new URL(X.href);if(Y.origin!==W.origin)return!1;if(Y.pathname.length<W.pathname.length)return!1;let $=Y.pathname.endsWith("/")?Y.pathname:Y.pathname+"/",J=W.pathname.endsWith("/")?W.pathname:W.pathname+"/";return $.startsWith(J)}class S0 extends Error{constructor(Q,X){super(Q);this.errorUri=X,this.name=this.constructor.name}toResponseObject(){let Q={error:this.errorCode,error_description:this.message};if(this.errorUri)Q.error_uri=this.errorUri;return Q}get errorCode(){return this.constructor.errorCode}}class RY extends S0{}RY.errorCode="invalid_request";class F4 extends S0{}F4.errorCode="invalid_client";class D4 extends S0{}D4.errorCode="invalid_grant";class L4 extends S0{}L4.errorCode="unauthorized_client";class EY extends S0{}EY.errorCode="unsupported_grant_type";class SY extends S0{}SY.errorCode="invalid_scope";class IY extends S0{}IY.errorCode="access_denied";class f6 extends S0{}f6.errorCode="server_error";class CY extends S0{}CY.errorCode="temporarily_unavailable";class TY extends S0{}TY.errorCode="unsupported_response_type";class kY extends S0{}kY.errorCode="unsupported_token_type";class vY extends S0{}vY.errorCode="invalid_token";class _Y extends S0{}_Y.errorCode="method_not_allowed";class xY extends S0{}xY.errorCode="too_many_requests";class O4 extends S0{}O4.errorCode="invalid_client_metadata";class yY extends S0{}yY.errorCode="insufficient_scope";class fY extends S0{}fY.errorCode="invalid_target";var qj={[RY.errorCode]:RY,[F4.errorCode]:F4,[D4.errorCode]:D4,[L4.errorCode]:L4,[EY.errorCode]:EY,[SY.errorCode]:SY,[IY.errorCode]:IY,[f6.errorCode]:f6,[CY.errorCode]:CY,[TY.errorCode]:TY,[kY.errorCode]:kY,[vY.errorCode]:vY,[_Y.errorCode]:_Y,[xY.errorCode]:xY,[O4.errorCode]:O4,[yY.errorCode]:yY,[fY.errorCode]:fY};class g6 extends Error{constructor(Q){super(Q??"Unauthorized")}}function Tf(Q){return["client_secret_basic","client_secret_post","none"].includes(Q)}var oJ="code",rJ="S256";function kf(Q,X){let Y=Q.client_secret!==void 0;if(X.length===0)return Y?"client_secret_post":"none";if("token_endpoint_auth_method"in Q&&Q.token_endpoint_auth_method&&Tf(Q.token_endpoint_auth_method)&&X.includes(Q.token_endpoint_auth_method))return Q.token_endpoint_auth_method;if(Y&&X.includes("client_secret_basic"))return"client_secret_basic";if(Y&&X.includes("client_secret_post"))return"client_secret_post";if(X.includes("none"))return"none";return Y?"client_secret_post":"none"}function vf(Q,X,Y,W){let{client_id:$,client_secret:J}=X;switch(Q){case"client_secret_basic":_f($,J,Y);return;case"client_secret_post":xf($,J,W);return;case"none":yf($,W);return;default:throw Error(`Unsupported client authentication method: ${Q}`)}}function _f(Q,X,Y){if(!X)throw Error("client_secret_basic authentication requires a client_secret");let W=btoa(`${Q}:${X}`);Y.set("Authorization",`Basic ${W}`)}function xf(Q,X,Y){if(Y.set("client_id",Q),X)Y.set("client_secret",X)}function yf(Q,X){X.set("client_id",Q)}async function bj(Q){let X=Q instanceof Response?Q.status:void 0,Y=Q instanceof Response?await Q.text():Q;try{let W=jj.parse(JSON.parse(Y)),{error:$,error_description:J,error_uri:G}=W;return new(qj[$]||f6)(J||"",G)}catch(W){let $=`${X?`HTTP ${X}: `:""}Invalid OAuth error response: ${W}. Raw body: ${Y}`;return new f6($)}}async function t8(Q,X){try{return await tJ(Q,X)}catch(Y){if(Y instanceof F4||Y instanceof L4)return await Q.invalidateCredentials?.("all"),await tJ(Q,X);else if(Y instanceof D4)return await Q.invalidateCredentials?.("tokens"),await tJ(Q,X);throw Y}}async function tJ(Q,{serverUrl:X,authorizationCode:Y,scope:W,resourceMetadataUrl:$,fetchFn:J}){let G,H;try{if(G=await hf(X,{resourceMetadataUrl:$},J),G.authorization_servers&&G.authorization_servers.length>0)H=G.authorization_servers[0]}catch{}if(!H)H=new URL("/",X);let B=await gf(X,Q,G),z=await pf(H,{fetchFn:J}),K=await Promise.resolve(Q.clientInformation());if(!K){if(Y!==void 0)throw Error("Existing OAuth client information is required when exchanging an authorization code");let O=z?.client_id_metadata_document_supported===!0,j=Q.clientMetadataUrl;if(j&&!ff(j))throw new O4(`clientMetadataUrl must be a valid HTTPS URL with a non-root pathname, got: ${j}`);if(O&&j)K={client_id:j},await Q.saveClientInformation?.(K);else{if(!Q.saveClientInformation)throw Error("OAuth client information must be saveable for dynamic registration");let M=await tf(H,{metadata:z,clientMetadata:Q.clientMetadata,fetchFn:J});await Q.saveClientInformation(M),K=M}}let V=!Q.redirectUrl;if(Y!==void 0||V){let O=await rf(Q,H,{metadata:z,resource:B,authorizationCode:Y,fetchFn:J});return await Q.saveTokens(O),"AUTHORIZED"}let A=await Q.tokens();if(A?.refresh_token)try{let O=await of(H,{metadata:z,clientInformation:K,refreshToken:A.refresh_token,resource:B,addClientAuthentication:Q.addClientAuthentication,fetchFn:J});return await Q.saveTokens(O),"AUTHORIZED"}catch(O){if(!(O instanceof S0)||O instanceof f6);else throw O}let F=Q.state?await Q.state():void 0,{authorizationUrl:L,codeVerifier:D}=await df(H,{metadata:z,clientInformation:K,state:F,redirectUrl:Q.redirectUrl,scope:W||G?.scopes_supported?.join(" ")||Q.clientMetadata.scope,resource:B});return await Q.saveCodeVerifier(D),await Q.redirectToAuthorization(L),"REDIRECT"}function ff(Q){if(!Q)return!1;try{let X=new URL(Q);return X.protocol==="https:"&&X.pathname!=="/"}catch{return!1}}async function gf(Q,X,Y){let W=wj(Q);if(X.validateResourceURL)return await X.validateResourceURL(W,Y?.resource);if(!Y)return;if(!Nj({requestedResource:W,configuredResource:Y.resource}))throw Error(`Protected resource ${Y.resource} does not match expected ${W} (or origin)`);return new URL(Y.resource)}function sJ(Q){let X=Q.headers.get("WWW-Authenticate");if(!X)return{};let[Y,W]=X.split(" ");if(Y.toLowerCase()!=="bearer"||!W)return{};let $=aJ(Q,"resource_metadata")||void 0,J;if($)try{J=new URL($)}catch{}let G=aJ(Q,"scope")||void 0,H=aJ(Q,"error")||void 0;return{resourceMetadataUrl:J,scope:G,error:H}}function aJ(Q,X){let Y=Q.headers.get("WWW-Authenticate");if(!Y)return null;let W=new RegExp(`${X}=(?:"([^"]+)"|([^\\s,]+))`),$=Y.match(W);if($)return $[1]||$[2];return null}async function hf(Q,X,Y=fetch){let W=await mf(Q,"oauth-protected-resource",Y,{protocolVersion:X?.protocolVersion,metadataUrl:X?.resourceMetadataUrl});if(!W||W.status===404)throw await W?.body?.cancel(),Error("Resource server does not implement OAuth 2.0 Protected Resource Metadata.");if(!W.ok)throw await W.body?.cancel(),Error(`HTTP ${W.status} trying to load well-known OAuth protected resource metadata.`);return Dj.parse(await W.json())}async function eJ(Q,X,Y=fetch){try{return await Y(Q,{headers:X})}catch(W){if(W instanceof TypeError)if(X)return eJ(Q,void 0,Y);else return;throw W}}function uf(Q,X="",Y={}){if(X.endsWith("/"))X=X.slice(0,-1);return Y.prependPathname?`${X}/.well-known/${Q}`:`/.well-known/${Q}${X}`}async function Mj(Q,X,Y=fetch){return await eJ(Q,{"MCP-Protocol-Version":X},Y)}function lf(Q,X){return!Q||Q.status>=400&&Q.status<500&&X!=="/"}async function mf(Q,X,Y,W){let $=new URL(Q),J=W?.protocolVersion??w6,G;if(W?.metadataUrl)G=new URL(W.metadataUrl);else{let B=uf(X,$.pathname);G=new URL(B,W?.metadataServerUrl??$),G.search=$.search}let H=await Mj(G,J,Y);if(!W?.metadataUrl&&lf(H,$.pathname)){let B=new URL(`/.well-known/${X}`,$);H=await Mj(B,J,Y)}return H}function cf(Q){let X=typeof Q==="string"?new URL(Q):Q,Y=X.pathname!=="/",W=[];if(!Y)return W.push({url:new URL("/.well-known/oauth-authorization-server",X.origin),type:"oauth"}),W.push({url:new URL("/.well-known/openid-configuration",X.origin),type:"oidc"}),W;let $=X.pathname;if($.endsWith("/"))$=$.slice(0,-1);return W.push({url:new URL(`/.well-known/oauth-authorization-server${$}`,X.origin),type:"oauth"}),W.push({url:new URL(`/.well-known/openid-configuration${$}`,X.origin),type:"oidc"}),W.push({url:new URL(`${$}/.well-known/openid-configuration`,X.origin),type:"oidc"}),W}async function pf(Q,{fetchFn:X=fetch,protocolVersion:Y=w6}={}){let W={"MCP-Protocol-Version":Y,Accept:"application/json"},$=cf(Q);for(let{url:J,type:G}of $){let H=await eJ(J,W,X);if(!H)continue;if(!H.ok){if(await H.body?.cancel(),H.status>=400&&H.status<500)continue;throw Error(`HTTP ${H.status} trying to load ${G==="oauth"?"OAuth":"OpenID provider"} metadata from ${J}`)}if(G==="oauth")return nJ.parse(await H.json());else return Lj.parse(await H.json())}return}async function df(Q,{metadata:X,clientInformation:Y,redirectUrl:W,scope:$,state:J,resource:G}){let H;if(X){if(H=new URL(X.authorization_endpoint),!X.response_types_supported.includes(oJ))throw Error(`Incompatible auth server: does not support response type ${oJ}`);if(X.code_challenge_methods_supported&&!X.code_challenge_methods_supported.includes(rJ))throw Error(`Incompatible auth server: does not support code challenge method ${rJ}`)}else H=new URL("/authorize",Q);let B=await iJ(),z=B.code_verifier,K=B.code_challenge;if(H.searchParams.set("response_type",oJ),H.searchParams.set("client_id",Y.client_id),H.searchParams.set("code_challenge",K),H.searchParams.set("code_challenge_method",rJ),H.searchParams.set("redirect_uri",String(W)),J)H.searchParams.set("state",J);if($)H.searchParams.set("scope",$);if($?.includes("offline_access"))H.searchParams.append("prompt","consent");if(G)H.searchParams.set("resource",G.href);return{authorizationUrl:H,codeVerifier:z}}function nf(Q,X,Y){return new URLSearchParams({grant_type:"authorization_code",code:Q,code_verifier:X,redirect_uri:String(Y)})}async function Pj(Q,{metadata:X,tokenRequestParams:Y,clientInformation:W,addClientAuthentication:$,resource:J,fetchFn:G}){let H=X?.token_endpoint?new URL(X.token_endpoint):new URL("/token",Q),B=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"});if(J)Y.set("resource",J.href);if($)await $(B,Y,H,X);else if(W){let K=X?.token_endpoint_auth_methods_supported??[],V=kf(W,K);vf(V,W,B,Y)}let z=await(G??fetch)(H,{method:"POST",headers:B,body:Y});if(!z.ok)throw await bj(z);return Oj.parse(await z.json())}async function of(Q,{metadata:X,clientInformation:Y,refreshToken:W,resource:$,addClientAuthentication:J,fetchFn:G}){let H=new URLSearchParams({grant_type:"refresh_token",refresh_token:W}),B=await Pj(Q,{metadata:X,tokenRequestParams:H,clientInformation:Y,addClientAuthentication:J,resource:$,fetchFn:G});return{refresh_token:W,...B}}async function rf(Q,X,{metadata:Y,resource:W,authorizationCode:$,fetchFn:J}={}){let G=Q.clientMetadata.scope,H;if(Q.prepareTokenRequest)H=await Q.prepareTokenRequest(G);if(!H){if(!$)throw Error("Either provider.prepareTokenRequest() or authorizationCode is required");if(!Q.redirectUrl)throw Error("redirectUrl is required for authorization_code flow");let z=await Q.codeVerifier();H=nf($,z,Q.redirectUrl)}let B=await Q.clientInformation();return Pj(X,{metadata:Y,tokenRequestParams:H,clientInformation:B??void 0,addClientAuthentication:Q.addClientAuthentication,resource:W,fetchFn:J})}async function tf(Q,{metadata:X,clientMetadata:Y,fetchFn:W}){let $;if(X){if(!X.registration_endpoint)throw Error("Incompatible auth server: does not support dynamic client registration");$=new URL(X.registration_endpoint)}else $=new URL("/register",Q);let J=await(W??fetch)($,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Y)});if(!J.ok)throw await bj(J);return Uj.parse(await J.json())}class XG extends Error{constructor(Q,X){super(Q),this.name="ParseError",this.type=X.type,this.field=X.field,this.value=X.value,this.line=X.line}}function QG(Q){}function Zj(Q){if(typeof Q=="function")throw TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");let{onEvent:X=QG,onError:Y=QG,onRetry:W=QG,onComment:$}=Q,J="",G=!0,H,B="",z="";function K(D){let O=G?D.replace(/^\xEF\xBB\xBF/,""):D,[j,q]=af(`${J}${O}`);for(let M of j)V(M);J=q,G=!1}function V(D){if(D===""){F();return}if(D.startsWith(":")){$&&$(D.slice(D.startsWith(": ")?2:1));return}let O=D.indexOf(":");if(O!==-1){let j=D.slice(0,O),q=D[O+1]===" "?2:1,M=D.slice(O+q);A(j,M,D);return}A(D,"",D)}function A(D,O,j){switch(D){case"event":z=O;break;case"data":B=`${B}${O}
|
|
58
|
+
`,Q.enqueue(X.encode($)),!0}catch{return!1}}handleUnsupportedRequest(){return new Response(JSON.stringify({jsonrpc:"2.0",error:{code:-32000,message:"Method not allowed."},id:null}),{status:405,headers:{Allow:"GET, POST, DELETE","Content-Type":"application/json"}})}async handlePostRequest(Q,X){try{let Y=Q.headers.get("accept");if(!Y?.includes("application/json")||!Y.includes("text/event-stream"))return this.createJsonErrorResponse(406,-32000,"Not Acceptable: Client must accept both application/json and text/event-stream");let W=Q.headers.get("content-type");if(!W||!W.includes("application/json"))return this.createJsonErrorResponse(415,-32000,"Unsupported Media Type: Content-Type must be application/json");let $={headers:Object.fromEntries(Q.headers.entries())},J;if(X?.parsedBody!==void 0)J=X.parsedBody;else try{J=await Q.json()}catch{return this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON")}let G;try{if(Array.isArray(J))G=J.map((O)=>e6.parse(O));else G=[e6.parse(J)]}catch{return this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON-RPC message")}let H=G.some(G5);if(H){if(this._initialized&&this.sessionId!==void 0)return this.createJsonErrorResponse(400,-32600,"Invalid Request: Server already initialized");if(G.length>1)return this.createJsonErrorResponse(400,-32600,"Invalid Request: Only one initialization request is allowed");if(this.sessionId=this.sessionIdGenerator?.(),this._initialized=!0,this.sessionId&&this._onsessioninitialized)await Promise.resolve(this._onsessioninitialized(this.sessionId))}if(!H){let O=this.validateSession(Q);if(O)return O;let j=this.validateProtocolVersion(Q);if(j)return j}if(!G.some(p1)){for(let O of G)this.onmessage?.(O,{authInfo:X?.authInfo,requestInfo:$});return new Response(null,{status:202})}let z=crypto.randomUUID(),K=G.find((O)=>G5(O)),V=K?K.params.protocolVersion:Q.headers.get("mcp-protocol-version")??j3;if(this._enableJsonResponse)return new Promise((O)=>{this._streamMapping.set(z,{resolveJson:O,cleanup:()=>{this._streamMapping.delete(z)}});for(let j of G)if(p1(j))this._requestToStreamMapping.set(j.id,z);for(let j of G)this.onmessage?.(j,{authInfo:X?.authInfo,requestInfo:$})});let A=new TextEncoder,F,L=new ReadableStream({start:(O)=>{F=O},cancel:()=>{this._streamMapping.delete(z)}}),D={"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"};if(this.sessionId!==void 0)D["mcp-session-id"]=this.sessionId;for(let O of G)if(p1(O))this._streamMapping.set(z,{controller:F,encoder:A,cleanup:()=>{this._streamMapping.delete(z);try{F.close()}catch{}}}),this._requestToStreamMapping.set(O.id,z);await this.writePrimingEvent(F,A,z,V);for(let O of G){let j,q;if(p1(O)&&this._eventStore&&V>="2025-11-25")j=()=>{this.closeSSEStream(O.id)},q=()=>{this.closeStandaloneSSEStream()};this.onmessage?.(O,{authInfo:X?.authInfo,requestInfo:$,closeSSEStream:j,closeStandaloneSSEStream:q})}return new Response(L,{status:200,headers:D})}catch(Y){return this.onerror?.(Y),this.createJsonErrorResponse(400,-32700,"Parse error",{data:String(Y)})}}async handleDeleteRequest(Q){let X=this.validateSession(Q);if(X)return X;let Y=this.validateProtocolVersion(Q);if(Y)return Y;return await Promise.resolve(this._onsessionclosed?.(this.sessionId)),await this.close(),new Response(null,{status:200})}validateSession(Q){if(this.sessionIdGenerator===void 0)return;if(!this._initialized)return this.createJsonErrorResponse(400,-32000,"Bad Request: Server not initialized");let X=Q.headers.get("mcp-session-id");if(!X)return this.createJsonErrorResponse(400,-32000,"Bad Request: Mcp-Session-Id header is required");if(X!==this.sessionId)return this.createJsonErrorResponse(404,-32001,"Session not found");return}validateProtocolVersion(Q){let X=Q.headers.get("mcp-protocol-version");if(X!==null&&!s6.includes(X))return this.createJsonErrorResponse(400,-32000,`Bad Request: Unsupported protocol version: ${X} (supported versions: ${s6.join(", ")})`);return}async close(){this._streamMapping.forEach(({cleanup:Q})=>{Q()}),this._streamMapping.clear(),this._requestResponseMap.clear(),this.onclose?.()}closeSSEStream(Q){let X=this._requestToStreamMapping.get(Q);if(!X)return;let Y=this._streamMapping.get(X);if(Y)Y.cleanup()}closeStandaloneSSEStream(){let Q=this._streamMapping.get(this._standaloneSseStreamId);if(Q)Q.cleanup()}async send(Q,X){let Y=X?.relatedRequestId;if(P1(Q)||g9(Q))Y=Q.id;if(Y===void 0){if(P1(Q)||g9(Q))throw Error("Cannot send a response on a standalone SSE stream unless resuming a previous client request");let J;if(this._eventStore)J=await this._eventStore.storeEvent(this._standaloneSseStreamId,Q);let G=this._streamMapping.get(this._standaloneSseStreamId);if(G===void 0)return;if(G.controller&&G.encoder)this.writeSSEEvent(G.controller,G.encoder,Q,J);return}let W=this._requestToStreamMapping.get(Y);if(!W)throw Error(`No connection established for request ID: ${String(Y)}`);let $=this._streamMapping.get(W);if(!this._enableJsonResponse&&$?.controller&&$?.encoder){let J;if(this._eventStore)J=await this._eventStore.storeEvent(W,Q);this.writeSSEEvent($.controller,$.encoder,Q,J)}if(P1(Q)||g9(Q)){this._requestResponseMap.set(Y,Q);let J=Array.from(this._requestToStreamMapping.entries()).filter(([H,B])=>B===W).map(([H])=>H);if(J.every((H)=>this._requestResponseMap.has(H))){if(!$)throw Error(`No connection established for request ID: ${String(Y)}`);if(this._enableJsonResponse&&$.resolveJson){let H={"Content-Type":"application/json"};if(this.sessionId!==void 0)H["mcp-session-id"]=this.sessionId;let B=J.map((z)=>this._requestResponseMap.get(z));if(B.length===1)$.resolveJson(new Response(JSON.stringify(B[0]),{status:200,headers:H}));else $.resolveJson(new Response(JSON.stringify(B),{status:200,headers:H}))}else $.cleanup();for(let H of J)this._requestResponseMap.delete(H),this._requestToStreamMapping.delete(H)}}}}class yJ{constructor(Q={}){this._requestContext=new WeakMap,this._webStandardTransport=new xJ(Q),this._requestListener=_J(async(X)=>{let Y=this._requestContext.get(X);return this._webStandardTransport.handleRequest(X,{authInfo:Y?.authInfo,parsedBody:Y?.parsedBody})})}get sessionId(){return this._webStandardTransport.sessionId}set onclose(Q){this._webStandardTransport.onclose=Q}get onclose(){return this._webStandardTransport.onclose}set onerror(Q){this._webStandardTransport.onerror=Q}get onerror(){return this._webStandardTransport.onerror}set onmessage(Q){this._webStandardTransport.onmessage=Q}get onmessage(){return this._webStandardTransport.onmessage}async start(){return this._webStandardTransport.start()}async close(){return this._webStandardTransport.close()}async send(Q,X){return this._webStandardTransport.send(Q,X)}async handleRequest(Q,X,Y){let W=Q.auth;await _J(async(J)=>{return this._webStandardTransport.handleRequest(J,{authInfo:W,parsedBody:Y})})(Q,X)}closeSSEStream(Q){this._webStandardTransport.closeSSEStream(Q)}closeStandaloneSSEStream(){this._webStandardTransport.closeStandaloneSSEStream()}}import{createServer as Ag}from"http";import{readFileSync as Fg}from"fs";import qY from"node:crypto";var Kj="0123456789ABCDEFGHJKMNPQRSTVWXYZ",MY=32;var Vf=16,Vj=10,zj=281474976710655;var D9;(function(Q){Q.Base32IncorrectEncoding="B32_ENC_INVALID",Q.DecodeTimeInvalidCharacter="DEC_TIME_CHAR",Q.DecodeTimeValueMalformed="DEC_TIME_MALFORMED",Q.EncodeTimeNegative="ENC_TIME_NEG",Q.EncodeTimeSizeExceeded="ENC_TIME_SIZE_EXCEED",Q.EncodeTimeValueMalformed="ENC_TIME_MALFORMED",Q.PRNGDetectFailure="PRNG_DETECT",Q.ULIDInvalid="ULID_INVALID",Q.Unexpected="UNEXPECTED",Q.UUIDInvalid="UUID_INVALID"})(D9||(D9={}));class A4 extends Error{constructor(Q,X){super(`${X} (${Q})`);this.name="ULIDError",this.code=Q}}function Af(Q){let X=Math.floor(Q()*MY)%MY;return Kj.charAt(X)}function Ff(Q){let X=Df(),Y=X&&(X.crypto||X.msCrypto)||(typeof qY<"u"?qY:null);if(typeof Y?.getRandomValues==="function")return()=>{let W=new Uint8Array(1);return Y.getRandomValues(W),W[0]/256};else if(typeof Y?.randomBytes==="function")return()=>Y.randomBytes(1).readUInt8()/256;else if(qY?.randomBytes)return()=>qY.randomBytes(1).readUInt8()/256;throw new A4(D9.PRNGDetectFailure,"Failed to find a reliable PRNG")}function Df(){if(jf())return self;if(typeof window<"u")return window;if(typeof global<"u")return global;if(typeof globalThis<"u")return globalThis;return null}function Lf(Q,X){let Y="";for(;Q>0;Q--)Y=Af(X)+Y;return Y}function Of(Q,X=Vj){if(isNaN(Q))throw new A4(D9.EncodeTimeValueMalformed,`Time must be a number: ${Q}`);else if(Q>zj)throw new A4(D9.EncodeTimeSizeExceeded,`Cannot encode a time larger than ${zj}: ${Q}`);else if(Q<0)throw new A4(D9.EncodeTimeNegative,`Time must be positive: ${Q}`);else if(Number.isInteger(Q)===!1)throw new A4(D9.EncodeTimeValueMalformed,`Time must be an integer: ${Q}`);let Y,W="";for(let $=X;$>0;$--)Y=Q%MY,W=Kj.charAt(Y)+W,Q=(Q-Y)/MY;return W}function jf(){return typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope}function r0(Q,X){let Y=X||Ff(),W=!Q||isNaN(Q)?Date.now():Q;return Of(W,Vj)+Lf(Vf,Y)}class fJ{configs=new Map;logger;constructor(Q={}){this.logger=Q.logger}addConfig(Q,X,Y){let W=this.configs.has(Q);return this.configs.set(Q,{name:Q,url:X,addedAt:new Date,addedBy:Y}),this.logger?.info(W?"server_config_updated":"server_config_added",{server:Q,url:X,addedBy:Y}),!W}getConfig(Q){return this.configs.get(Q)}listConfigs(){return Array.from(this.configs.values())}removeConfig(Q){let X=this.configs.delete(Q);if(X)this.logger?.info("server_config_removed",{server:Q});return X}hasConfig(Q){return this.configs.has(Q)}get size(){return this.configs.size}clear(){this.configs.clear(),this.logger?.info("server_configs_cleared",{})}}var Uf={maxEvents:1000,retentionMs:1800000,cleanupIntervalMs:300000};class gJ{events=[];config;logger;lastDeliveredId=null;waiters=[];cleanupIntervalHandle=null;constructor(Q={},X){this.config={...Uf,...Q},this.logger=X,this.startCleanupInterval()}addEvent(Q,X,Y){let W=r0(),$={id:W,type:Q,server:X,data:Y,createdAt:new Date,sentViaSSE:!1};this.events.push($);while(this.events.length>this.config.maxEvents)this.events.shift();return this.logger?.debug("event_added",{id:W,type:Q,server:X}),this.wakeWaiters($),W}hasNewEvents(){if(this.lastDeliveredId===null)return this.events.length>0;let Q=this.events.findIndex((X)=>X.id===this.lastDeliveredId);if(Q===-1)return this.events.length>0;return Q<this.events.length-1}getNewEvents(){if(this.events.length===0)return[];let Q=0;if(this.lastDeliveredId!==null){let Y=this.events.findIndex((W)=>W.id===this.lastDeliveredId);if(Y!==-1)Q=Y+1}let X=this.events.slice(Q);if(X.length>0){let Y=X[X.length-1];if(Y)this.lastDeliveredId=Y.id}return X}getEventsAfter(Q){if(Q===null)return[...this.events];let X=this.events.findIndex((Y)=>Y.id===Q);if(X===-1)return[...this.events];return this.events.slice(X+1)}markSent(Q){let X=this.events.find((Y)=>Y.id===Q);if(X)X.sentViaSSE=!0}waitForActivity(Q){return new Promise((X)=>{let Y=setTimeout(()=>{let W=this.waiters.findIndex(($)=>$.timeoutHandle===Y);if(W!==-1)this.waiters.splice(W,1);X(null)},Q);this.waiters.push({resolve:X,timeoutHandle:Y})})}wakeWaiters(Q){let X=this.waiters;this.waiters=[];for(let Y of X)clearTimeout(Y.timeoutHandle),Y.resolve(Q)}startCleanupInterval(){this.cleanupIntervalHandle=setInterval(()=>{this.runCleanup()},this.config.cleanupIntervalMs)}runCleanup(){let Q=Date.now()-this.config.retentionMs,X=0;while(this.events.length>0){let Y=this.events[0];if(Y&&Y.createdAt.getTime()<Q)this.events.shift(),X++;else break}if(X>0)this.logger?.debug("events_cleaned",{removed:X,remaining:this.events.length})}shutdown(){if(this.cleanupIntervalHandle)clearInterval(this.cleanupIntervalHandle),this.cleanupIntervalHandle=null;for(let Q of this.waiters)clearTimeout(Q.timeoutHandle),Q.resolve(null);this.waiters=[]}}var wf={defaultTtlMs:600000,completedRetentionMs:300000,cleanupIntervalMs:60000};class hJ{tasks=new Map;eventSystem;config;cleanupIntervalHandle=null;constructor(Q,X={}){this.eventSystem=Q,this.config={...wf,...X},this.startCleanupInterval()}createTask(Q,X,Y,W){let $=r0(),J=new Date,G={taskId:$,server:Q,toolName:X,args:Y,status:"working",createdAt:J,lastUpdatedAt:J,ttl:W??this.config.defaultTtlMs};return this.tasks.set($,G),this.eventSystem.addEvent("task_created",Q,{taskId:$,toolName:X,args:Y}),G}completeTask(Q,X){let Y=this.tasks.get(Q);if(Y?.status!=="working")return;Y.status="completed",Y.result=X,Y.lastUpdatedAt=new Date,this.scheduleTaskCleanup(Y),this.eventSystem.addEvent("task_completed",Y.server,{taskId:Q,toolName:Y.toolName,result:X})}failTask(Q,X){let Y=this.tasks.get(Q);if(Y?.status!=="working")return;Y.status="failed",Y.error=X,Y.lastUpdatedAt=new Date,this.scheduleTaskCleanup(Y),this.eventSystem.addEvent("task_failed",Y.server,{taskId:Q,toolName:Y.toolName,error:X})}cancelTask(Q){let X=this.tasks.get(Q);if(X?.status!=="working")return!1;return X.status="cancelled",X.lastUpdatedAt=new Date,this.scheduleTaskCleanup(X),this.eventSystem.addEvent("task_cancelled",X.server,{taskId:Q,toolName:X.toolName}),!0}getTask(Q){let X=this.tasks.get(Q);if(!X)return;let{_cleanupTimeoutHandle:Y,...W}=X;return W}getTasksForServer(Q){return Array.from(this.tasks.values()).filter((X)=>X.server===Q).map((X)=>({taskId:X.taskId,server:X.server,toolName:X.toolName,args:X.args,status:X.status,result:X.result,error:X.error,createdAt:X.createdAt,lastUpdatedAt:X.lastUpdatedAt,ttl:X.ttl}))}getAllTasks(Q=!1){let X=["completed","failed","cancelled","expired"];return Array.from(this.tasks.values()).filter((Y)=>Q||!X.includes(Y.status)).map((Y)=>({taskId:Y.taskId,server:Y.server,toolName:Y.toolName,args:Y.args,status:Y.status,result:Y.result,error:Y.error,createdAt:Y.createdAt,lastUpdatedAt:Y.lastUpdatedAt,ttl:Y.ttl}))}getWorkingTasksForServer(Q){return Array.from(this.tasks.values()).filter((X)=>X.server===Q&&X.status==="working").map((X)=>({taskId:X.taskId,toolName:X.toolName,status:X.status}))}scheduleTaskCleanup(Q){if(Q._cleanupTimeoutHandle)clearTimeout(Q._cleanupTimeoutHandle);Q._cleanupTimeoutHandle=setTimeout(()=>{this.tasks.delete(Q.taskId)},this.config.completedRetentionMs)}startCleanupInterval(){this.cleanupIntervalHandle=setInterval(()=>{this.runCleanup()},this.config.cleanupIntervalMs)}runCleanup(){let Q=Date.now();for(let X of this.tasks.values()){if(X.status!=="working")continue;if(Q-X.createdAt.getTime()>=X.ttl)X.status="expired",X.error=`Task expired after ${String(X.ttl)}ms TTL`,X.lastUpdatedAt=new Date,this.eventSystem.addEvent("task_expired",X.server,{taskId:X.taskId,toolName:X.toolName,ttl:X.ttl}),this.scheduleTaskCleanup(X)}}shutdown(){if(this.cleanupIntervalHandle)clearInterval(this.cleanupIntervalHandle),this.cleanupIntervalHandle=null;for(let Q of this.tasks.values())if(Q._cleanupTimeoutHandle)clearTimeout(Q._cleanupTimeoutHandle)}}var Nf={maxNotificationsPerServer:100,maxLogsPerServer:500};class uJ{buffers=new Map;eventSystem;config;constructor(Q,X={}){this.eventSystem=Q,this.config={...Nf,...X}}addNotification(Q){let X=this.getOrCreateBuffers(Q.server);if(X.notifications.length>=this.config.maxNotificationsPerServer)X.notifications.shift();X.notifications.push(Q),this.eventSystem.addEvent("notification",Q.server,{method:Q.method,params:Q.params,timestamp:Q.timestamp.toISOString()})}addLog(Q){let X=this.getOrCreateBuffers(Q.server);if(X.logs.length>=this.config.maxLogsPerServer)X.logs.shift();X.logs.push(Q)}getAndClearNotifications(){let Q=[];for(let X of this.buffers.values())Q.push(...X.notifications),X.notifications=[];return Q}getAndClearLogs(){let Q=[];for(let X of this.buffers.values())Q.push(...X.logs),X.logs=[];return Q}getNotificationsForServer(Q){let X=this.buffers.get(Q);return X?[...X.notifications]:[]}getLogsForServer(Q){let X=this.buffers.get(Q);return X?[...X.logs]:[]}getNotificationCount(){let Q=0;for(let X of this.buffers.values())Q+=X.notifications.length;return Q}getLogCount(){let Q=0;for(let X of this.buffers.values())Q+=X.logs.length;return Q}clearServer(Q){this.buffers.delete(Q)}getOrCreateBuffers(Q){let X=this.buffers.get(Q);if(!X)X={notifications:[],logs:[]},this.buffers.set(Q,X);return X}}var qf={defaultTimeoutMs:600000};class lJ{samplingRequests=new Map;elicitationRequests=new Map;eventSystem;config;constructor(Q,X={}){this.eventSystem=Q,this.config={...qf,...X}}addSamplingRequest(Q,X,Y,W){let $=r0(),J=setTimeout(()=>{let H=this.samplingRequests.get($);if(H)this.samplingRequests.delete($),this.eventSystem.addEvent("sampling_expired",Q,{requestId:$,reason:`Timed out after ${String(this.config.defaultTimeoutMs)}ms`}),H.reject(Error(`Sampling request timed out after ${String(this.config.defaultTimeoutMs)}ms`))},this.config.defaultTimeoutMs),G={requestId:$,server:Q,timestamp:new Date,params:X,resolve:Y,reject:W,timeoutHandle:J};return this.samplingRequests.set($,G),this.eventSystem.addEvent("sampling_request",Q,{requestId:$,params:X}),$}addElicitationRequest(Q,X,Y,W){let $=r0(),J=setTimeout(()=>{let H=this.elicitationRequests.get($);if(H)this.elicitationRequests.delete($),this.eventSystem.addEvent("elicitation_expired",Q,{requestId:$,reason:`Timed out after ${String(this.config.defaultTimeoutMs)}ms`}),H.reject(Error(`Elicitation request timed out after ${String(this.config.defaultTimeoutMs)}ms`))},this.config.defaultTimeoutMs),G={requestId:$,server:Q,timestamp:new Date,params:X,resolve:Y,reject:W,timeoutHandle:J};return this.elicitationRequests.set($,G),this.eventSystem.addEvent("elicitation_request",Q,{requestId:$,params:X}),$}respondToSampling(Q,X){let Y=this.samplingRequests.get(Q);if(!Y)throw Error(`Sampling request '${Q}' not found or already completed`);clearTimeout(Y.timeoutHandle),this.samplingRequests.delete(Q),Y.resolve(X)}cancelSampling(Q,X="User cancelled"){let Y=this.samplingRequests.get(Q);if(!Y)throw Error(`Sampling request '${Q}' not found or already completed`);clearTimeout(Y.timeoutHandle),this.samplingRequests.delete(Q),this.eventSystem.addEvent("sampling_expired",Y.server,{requestId:Q,reason:X}),Y.reject(Error(X))}respondToElicitation(Q,X){let Y=this.elicitationRequests.get(Q);if(!Y)throw Error(`Elicitation request '${Q}' not found or already completed`);clearTimeout(Y.timeoutHandle),this.elicitationRequests.delete(Q),Y.resolve(X)}cancelElicitation(Q,X="User cancelled"){let Y=this.elicitationRequests.get(Q);if(!Y)throw Error(`Elicitation request '${Q}' not found or already completed`);clearTimeout(Y.timeoutHandle),this.elicitationRequests.delete(Q),this.eventSystem.addEvent("elicitation_expired",Y.server,{requestId:Q,reason:X}),Y.reject(Error(X))}getPendingSamplingRequests(){return Array.from(this.samplingRequests.values()).map((Q)=>({requestId:Q.requestId,server:Q.server,timestamp:Q.timestamp,params:Q.params}))}getPendingElicitationRequests(){return Array.from(this.elicitationRequests.values()).map((Q)=>({requestId:Q.requestId,server:Q.server,timestamp:Q.timestamp,params:Q.params}))}getRequestsForServer(Q){return{sampling:this.getPendingSamplingRequests().filter((X)=>X.server===Q),elicitation:this.getPendingElicitationRequests().filter((X)=>X.server===Q)}}hasPendingRequests(){return this.samplingRequests.size>0||this.elicitationRequests.size>0}rejectRequestsForServer(Q,X){for(let[Y,W]of this.samplingRequests)if(W.server===Q)clearTimeout(W.timeoutHandle),this.samplingRequests.delete(Y),this.eventSystem.addEvent("sampling_expired",Q,{requestId:Y,reason:X}),W.reject(Error(X));for(let[Y,W]of this.elicitationRequests)if(W.server===Q)clearTimeout(W.timeoutHandle),this.elicitationRequests.delete(Y),this.eventSystem.addEvent("elicitation_expired",Q,{requestId:Y,reason:X}),W.reject(Error(X))}shutdown(){for(let Q of this.samplingRequests.values())clearTimeout(Q.timeoutHandle),Q.reject(Error("PendingRequestsManager shutting down"));this.samplingRequests.clear();for(let Q of this.elicitationRequests.values())clearTimeout(Q.timeoutHandle),Q.reject(Error("PendingRequestsManager shutting down"));this.elicitationRequests.clear()}}var Mf={maxActiveTimers:100,maxDurationMs:86400000,retentionMs:300000};class mJ{timers=new Map;expiredBuffer=[];eventSystem;config;constructor(Q,X={}){this.eventSystem=Q,this.config={...Mf,...X}}createTimer(Q,X,Y=!1){if(this.getActiveTimers().length>=this.config.maxActiveTimers)throw Error(`Maximum active timers (${String(this.config.maxActiveTimers)}) exceeded`);if(Q<=0)throw Error("Duration must be positive");if(Q>this.config.maxDurationMs)throw Error(`Duration exceeds maximum (${String(this.config.maxDurationMs)}ms)`);let $=r0(),J=new Date,G=new Date(J.getTime()+Q),H={id:$,durationMs:Q,message:X,createdAt:J,expiresAt:G,status:"active",interval:Y,fireCount:0};if(Y)H._intervalHandle=setInterval(()=>{this.fireIntervalTimer($)},Q);else H._timeoutHandle=setTimeout(()=>{this.expireTimer($)},Q);return this.timers.set($,H),this.toPublicTimer(H)}getTimer(Q){let X=this.timers.get(Q);if(!X)return;return this.toPublicTimer(X)}deleteTimer(Q){let X=this.timers.get(Q);if(!X)return;if(X._timeoutHandle)clearTimeout(X._timeoutHandle),X._timeoutHandle=void 0;if(X._intervalHandle)clearInterval(X._intervalHandle),X._intervalHandle=void 0;return X.status="deleted",this.scheduleCleanup(X),this.toPublicTimer(X)}getAllTimers(Q=!1){let X=Array.from(this.timers.values());return(Q?X:X.filter((W)=>W.status==="active")).map((W)=>this.toPublicTimer(W))}getActiveTimers(){return Array.from(this.timers.values()).filter((Q)=>Q.status==="active").map((Q)=>this.toPublicTimer(Q))}getAndClearExpired(){let Q=[...this.expiredBuffer];return this.expiredBuffer.length=0,Q}hasExpired(){return this.expiredBuffer.length>0}shutdown(){for(let Q of this.timers.values()){if(Q._timeoutHandle)clearTimeout(Q._timeoutHandle);if(Q._intervalHandle)clearInterval(Q._intervalHandle)}this.timers.clear(),this.expiredBuffer.length=0}expireTimer(Q){let X=this.timers.get(Q);if(!X?.status||X.status!=="active")return;X.status="expired",X._timeoutHandle=void 0,X.fireCount++,this.expiredBuffer.push({id:X.id,message:X.message,expiredAt:new Date().toISOString()}),this.eventSystem.addEvent("timer_expired","emceepee",{timerId:X.id,message:X.message}),this.scheduleCleanup(X)}fireIntervalTimer(Q){let X=this.timers.get(Q);if(!X?.status||X.status!=="active")return;X.fireCount++,X.expiresAt=new Date(Date.now()+X.durationMs),this.expiredBuffer.push({id:X.id,message:X.message,expiredAt:new Date().toISOString()}),this.eventSystem.addEvent("timer_expired","emceepee",{timerId:X.id,message:X.message,fireCount:X.fireCount,interval:!0})}scheduleCleanup(Q){setTimeout(()=>{this.timers.delete(Q.id)},this.config.retentionMs)}toPublicTimer(Q){return{id:Q.id,durationMs:Q.durationMs,message:Q.message,createdAt:Q.createdAt,expiresAt:Q.expiresAt,status:Q.status,interval:Q.interval,fireCount:Q.fireCount}}}class cJ{sessionId;createdAt;lastActivityAt;backendConnections=new Map;eventSystem;taskManager;pendingRequests;bufferManager;timerManager;logger;constructor(Q,X={},Y){this.sessionId=Q,this.createdAt=new Date,this.lastActivityAt=new Date,this.logger=Y,this.eventSystem=new gJ(X.eventSystemConfig,Y),this.taskManager=new hJ(this.eventSystem,X.taskConfig),this.pendingRequests=new lJ(this.eventSystem,X.requestConfig),this.bufferManager=new uJ(this.eventSystem,X.bufferConfig),this.timerManager=new mJ(this.eventSystem,X.timerConfig)}touch(){this.lastActivityAt=new Date}getConnection(Q){return this.backendConnections.get(Q)}isConnectedTo(Q){return this.backendConnections.get(Q)?.status==="connected"}listConnectedServers(){return Array.from(this.backendConnections.entries()).filter(([,Q])=>Q.status==="connected").map(([Q])=>Q)}listConnections(){return Array.from(this.backendConnections.entries()).map(([Q,X])=>({name:Q,status:X.status,connectedAt:X.connectedAt,lastError:X.lastError}))}setConnectionStatus(Q,X,Y){let W=this.backendConnections.get(Q);if(W){if(W.status=X,X==="connected")W.connectedAt=new Date,W.lastError=void 0;else if(X==="error"&&Y)W.lastError=Y}}addConnection(Q,X){this.backendConnections.set(Q,{client:X,status:"connecting"})}removeConnection(Q){return this.backendConnections.delete(Q)}async cleanup(){this.logger?.info("session_cleanup_start",{sessionId:this.sessionId}),this.pendingRequests.shutdown(),this.taskManager.shutdown(),this.timerManager.shutdown(),this.eventSystem.shutdown();for(let[Q,X]of this.backendConnections)try{await X.client.disconnect(),this.logger?.debug("session_backend_disconnected",{sessionId:this.sessionId,server:Q})}catch(Y){this.logger?.debug("session_backend_disconnect_error",{sessionId:this.sessionId,server:Q,error:Y instanceof Error?Y.message:String(Y)})}this.backendConnections.clear(),this.logger?.info("session_cleanup_complete",{sessionId:this.sessionId})}}class pJ{constructor(Q){this._client=Q}async*callToolStream(Q,X=q6,Y){let W=this._client,$={...Y,task:Y?.task??(W.isToolTask(Q.name)?{}:void 0)},J=W.requestStream({method:"tools/call",params:Q},X,$),G=W.getToolOutputValidator(Q.name);for await(let H of J){if(H.type==="result"&&G){let B=H.result;if(!B.structuredContent&&!B.isError){yield{type:"error",error:new I(k.InvalidRequest,`Tool ${Q.name} has an output schema but did not return structured content`)};return}if(B.structuredContent)try{let z=G(B.structuredContent);if(!z.valid){yield{type:"error",error:new I(k.InvalidParams,`Structured content does not match the tool's output schema: ${z.errorMessage}`)};return}}catch(z){if(z instanceof I){yield{type:"error",error:z};return}yield{type:"error",error:new I(k.InvalidParams,`Failed to validate structured content: ${z instanceof Error?z.message:String(z)}`)};return}}yield H}}async getTask(Q,X){return this._client.getTask({taskId:Q},X)}async getTaskResult(Q,X,Y){return this._client.getTaskResult({taskId:Q},X,Y)}async listTasks(Q,X){return this._client.listTasks(Q?{cursor:Q}:void 0,X)}async cancelTask(Q,X){return this._client.cancelTask({taskId:Q},X)}requestStream(Q,X,Y){return this._client.requestStream(Q,X,Y)}}function bY(Q,X){if(!Q||X===null||typeof X!=="object")return;if(Q.type==="object"&&Q.properties&&typeof Q.properties==="object"){let Y=X,W=Q.properties;for(let $ of Object.keys(W)){let J=W[$];if(Y[$]===void 0&&Object.prototype.hasOwnProperty.call(J,"default"))Y[$]=J.default;if(Y[$]!==void 0)bY(J,Y[$])}}if(Array.isArray(Q.anyOf)){for(let Y of Q.anyOf)if(typeof Y!=="boolean")bY(Y,X)}if(Array.isArray(Q.oneOf)){for(let Y of Q.oneOf)if(typeof Y!=="boolean")bY(Y,X)}}function bf(Q){if(!Q)return{supportsFormMode:!1,supportsUrlMode:!1};let X=Q.form!==void 0,Y=Q.url!==void 0;return{supportsFormMode:X||!X&&!Y,supportsUrlMode:Y}}class PY extends Q8{constructor(Q,X){super(X);if(this._clientInfo=Q,this._cachedToolOutputValidators=new Map,this._cachedKnownTaskTools=new Set,this._cachedRequiredTaskTools=new Set,this._listChangedDebounceTimers=new Map,this._capabilities=X?.capabilities??{},this._jsonSchemaValidator=X?.jsonSchemaValidator??new i8,X?.listChanged)this._pendingListChangedConfig=X.listChanged}_setupListChangedHandlers(Q){if(Q.tools&&this._serverCapabilities?.tools?.listChanged)this._setupListChangedHandler("tools",o4,Q.tools,async()=>{return(await this.listTools()).tools});if(Q.prompts&&this._serverCapabilities?.prompts?.listChanged)this._setupListChangedHandler("prompts",n4,Q.prompts,async()=>{return(await this.listPrompts()).prompts});if(Q.resources&&this._serverCapabilities?.resources?.listChanged)this._setupListChangedHandler("resources",i4,Q.resources,async()=>{return(await this.listResources()).resources})}get experimental(){if(!this._experimental)this._experimental={tasks:new pJ(this)};return this._experimental}registerCapabilities(Q){if(this.transport)throw Error("Cannot register capabilities after connecting to transport");this._capabilities=sQ(this._capabilities,Q)}setRequestHandler(Q,X){let W=c1(Q)?.method;if(!W)throw Error("Schema is missing a method literal");let $;if(e0(W)){let G=W;$=G._zod?.def?.value??G.value}else{let G=W;$=G._def?.value??G.value}if(typeof $!=="string")throw Error("Schema method literal must be a string");let J=$;if(J==="elicitation/create"){let G=async(H,B)=>{let z=c0(s4,H);if(!z.success){let j=z.error instanceof Error?z.error.message:String(z.error);throw new I(k.InvalidParams,`Invalid elicitation request: ${j}`)}let{params:K}=z.data;K.mode=K.mode??"form";let{supportsFormMode:V,supportsUrlMode:A}=bf(this._capabilities.elicitation);if(K.mode==="form"&&!V)throw new I(k.InvalidParams,"Client does not support form-mode elicitation requests");if(K.mode==="url"&&!A)throw new I(k.InvalidParams,"Client does not support URL-mode elicitation requests");let F=await Promise.resolve(X(H,B));if(K.task){let j=c0(X6,F);if(!j.success){let q=j.error instanceof Error?j.error.message:String(j.error);throw new I(k.InvalidParams,`Invalid task creation result: ${q}`)}return j.data}let L=c0(l9,F);if(!L.success){let j=L.error instanceof Error?L.error.message:String(L.error);throw new I(k.InvalidParams,`Invalid elicitation result: ${j}`)}let D=L.data,O=K.mode==="form"?K.requestedSchema:void 0;if(K.mode==="form"&&D.action==="accept"&&D.content&&O){if(this._capabilities.elicitation?.form?.applyDefaults)try{bY(O,D.content)}catch{}}return D};return super.setRequestHandler(Q,G)}if(J==="sampling/createMessage"){let G=async(H,B)=>{let z=c0(t4,H);if(!z.success){let F=z.error instanceof Error?z.error.message:String(z.error);throw new I(k.InvalidParams,`Invalid sampling request: ${F}`)}let{params:K}=z.data,V=await Promise.resolve(X(H,B));if(K.task){let F=c0(X6,V);if(!F.success){let L=F.error instanceof Error?F.error.message:String(F.error);throw new I(k.InvalidParams,`Invalid task creation result: ${L}`)}return F.data}let A=c0(a4,V);if(!A.success){let F=A.error instanceof Error?A.error.message:String(A.error);throw new I(k.InvalidParams,`Invalid sampling result: ${F}`)}return A.data};return super.setRequestHandler(Q,G)}return super.setRequestHandler(Q,X)}assertCapability(Q,X){if(!this._serverCapabilities?.[Q])throw Error(`Server does not support ${Q} (required for ${X})`)}async connect(Q,X){if(await super.connect(Q),Q.sessionId!==void 0)return;try{let Y=await this.request({method:"initialize",params:{protocolVersion:w6,capabilities:this._capabilities,clientInfo:this._clientInfo}},H5,X);if(Y===void 0)throw Error(`Server sent invalid initialize result: ${Y}`);if(!s6.includes(Y.protocolVersion))throw Error(`Server's protocol version is not supported: ${Y.protocolVersion}`);if(this._serverCapabilities=Y.capabilities,this._serverVersion=Y.serverInfo,Q.setProtocolVersion)Q.setProtocolVersion(Y.protocolVersion);if(this._instructions=Y.instructions,await this.notification({method:"notifications/initialized"}),this._pendingListChangedConfig)this._setupListChangedHandlers(this._pendingListChangedConfig),this._pendingListChangedConfig=void 0}catch(Y){throw this.close(),Y}}getServerCapabilities(){return this._serverCapabilities}getServerVersion(){return this._serverVersion}getInstructions(){return this._instructions}assertCapabilityForMethod(Q){switch(Q){case"logging/setLevel":if(!this._serverCapabilities?.logging)throw Error(`Server does not support logging (required for ${Q})`);break;case"prompts/get":case"prompts/list":if(!this._serverCapabilities?.prompts)throw Error(`Server does not support prompts (required for ${Q})`);break;case"resources/list":case"resources/templates/list":case"resources/read":case"resources/subscribe":case"resources/unsubscribe":if(!this._serverCapabilities?.resources)throw Error(`Server does not support resources (required for ${Q})`);if(Q==="resources/subscribe"&&!this._serverCapabilities.resources.subscribe)throw Error(`Server does not support resource subscriptions (required for ${Q})`);break;case"tools/call":case"tools/list":if(!this._serverCapabilities?.tools)throw Error(`Server does not support tools (required for ${Q})`);break;case"completion/complete":if(!this._serverCapabilities?.completions)throw Error(`Server does not support completions (required for ${Q})`);break;case"initialize":break;case"ping":break}}assertNotificationCapability(Q){switch(Q){case"notifications/roots/list_changed":if(!this._capabilities.roots?.listChanged)throw Error(`Client does not support roots list changed notifications (required for ${Q})`);break;case"notifications/initialized":break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(Q){if(!this._capabilities)return;switch(Q){case"sampling/createMessage":if(!this._capabilities.sampling)throw Error(`Client does not support sampling capability (required for ${Q})`);break;case"elicitation/create":if(!this._capabilities.elicitation)throw Error(`Client does not support elicitation capability (required for ${Q})`);break;case"roots/list":if(!this._capabilities.roots)throw Error(`Client does not support roots capability (required for ${Q})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw Error(`Client does not support tasks capability (required for ${Q})`);break;case"ping":break}}assertTaskCapability(Q){OY(this._serverCapabilities?.tasks?.requests,Q,"Server")}assertTaskHandlerCapability(Q){if(!this._capabilities)return;jY(this._capabilities.tasks?.requests,Q,"Client")}async ping(Q){return this.request({method:"ping"},Q6,Q)}async complete(Q,X){return this.request({method:"completion/complete",params:Q},P5,X)}async setLoggingLevel(Q,X){return this.request({method:"logging/setLevel",params:{level:Q}},Q6,X)}async getPrompt(Q,X){return this.request({method:"prompts/get",params:Q},w5,X)}async listPrompts(Q,X){return this.request({method:"prompts/list",params:Q},D5,X)}async listResources(Q,X){return this.request({method:"resources/list",params:Q},z5,X)}async listResourceTemplates(Q,X){return this.request({method:"resources/templates/list",params:Q},K5,X)}async readResource(Q,X){return this.request({method:"resources/read",params:Q},A5,X)}async subscribeResource(Q,X){return this.request({method:"resources/subscribe",params:Q},Q6,X)}async unsubscribeResource(Q,X){return this.request({method:"resources/unsubscribe",params:Q},Q6,X)}async callTool(Q,X=q6,Y){if(this.isToolTaskRequired(Q.name))throw new I(k.InvalidRequest,`Tool "${Q.name}" requires task-based execution. Use client.experimental.tasks.callToolStream() instead.`);let W=await this.request({method:"tools/call",params:Q},X,Y),$=this.getToolOutputValidator(Q.name);if($){if(!W.structuredContent&&!W.isError)throw new I(k.InvalidRequest,`Tool ${Q.name} has an output schema but did not return structured content`);if(W.structuredContent)try{let J=$(W.structuredContent);if(!J.valid)throw new I(k.InvalidParams,`Structured content does not match the tool's output schema: ${J.errorMessage}`)}catch(J){if(J instanceof I)throw J;throw new I(k.InvalidParams,`Failed to validate structured content: ${J instanceof Error?J.message:String(J)}`)}}return W}isToolTask(Q){if(!this._serverCapabilities?.tasks?.requests?.tools?.call)return!1;return this._cachedKnownTaskTools.has(Q)}isToolTaskRequired(Q){return this._cachedRequiredTaskTools.has(Q)}cacheToolMetadata(Q){this._cachedToolOutputValidators.clear(),this._cachedKnownTaskTools.clear(),this._cachedRequiredTaskTools.clear();for(let X of Q){if(X.outputSchema){let W=this._jsonSchemaValidator.getValidator(X.outputSchema);this._cachedToolOutputValidators.set(X.name,W)}let Y=X.execution?.taskSupport;if(Y==="required"||Y==="optional")this._cachedKnownTaskTools.add(X.name);if(Y==="required")this._cachedRequiredTaskTools.add(X.name)}}getToolOutputValidator(Q){return this._cachedToolOutputValidators.get(Q)}async listTools(Q,X){let Y=await this.request({method:"tools/list",params:Q},N5,X);return this.cacheToolMetadata(Y.tools),Y}_setupListChangedHandler(Q,X,Y,W){let $=k3.safeParse(Y);if(!$.success)throw Error(`Invalid ${Q} listChanged options: ${$.error.message}`);if(typeof Y.onChanged!=="function")throw Error(`Invalid ${Q} listChanged options: onChanged must be a function`);let{autoRefresh:J,debounceMs:G}=$.data,{onChanged:H}=Y,B=async()=>{if(!J){H(null,null);return}try{let K=await W();H(null,K)}catch(K){let V=K instanceof Error?K:Error(String(K));H(V,null)}},z=()=>{if(G){let K=this._listChangedDebounceTimers.get(Q);if(K)clearTimeout(K);let V=setTimeout(B,G);this._listChangedDebounceTimers.set(Q,V)}else B()};this.setNotificationHandler(X,z)}async sendRootsListChanged(){return this.notification({method:"notifications/roots/list_changed"})}}function ZY(Q){if(!Q)return{};if(Q instanceof Headers)return Object.fromEntries(Q.entries());if(Array.isArray(Q))return Object.fromEntries(Q);return{...Q}}function Aj(Q=fetch,X){if(!X)return Q;return async(Y,W)=>{let $={...X,...W,headers:W?.headers?{...ZY(X.headers),...ZY(W.headers)}:X.headers};return Q(Y,$)}}var dJ;dJ=globalThis.crypto?.webcrypto??globalThis.crypto??import("node:crypto").then((Q)=>Q.webcrypto);async function Pf(Q){return(await dJ).getRandomValues(new Uint8Array(Q))}async function Zf(Q){let Y=Math.pow(2,8)-Math.pow(2,8)%66,W="";while(W.length<Q){let $=await Pf(Q-W.length);for(let J of $)if(J<Y)W+="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~"[J%66]}return W}async function Rf(Q){return await Zf(Q)}async function Ef(Q){let X=await(await dJ).subtle.digest("SHA-256",new TextEncoder().encode(Q));return btoa(String.fromCharCode(...new Uint8Array(X))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}async function iJ(Q){if(!Q)Q=43;if(Q<43||Q>128)throw`Expected a length between 43 and 128. Received ${Q}.`;let X=await Rf(Q),Y=await Ef(X);return{code_verifier:X,code_challenge:Y}}var h0=J3().superRefine((Q,X)=>{if(!URL.canParse(Q))return X.addIssue({code:O3.custom,message:"URL must be parseable",fatal:!0}),WQ}).refine((Q)=>{let X=new URL(Q);return X.protocol!=="javascript:"&&X.protocol!=="data:"&&X.protocol!=="vbscript:"},{message:"URL cannot use javascript:, data:, or vbscript: scheme"}),Dj=T0({resource:U().url(),authorization_servers:E(h0).optional(),jwks_uri:U().url().optional(),scopes_supported:E(U()).optional(),bearer_methods_supported:E(U()).optional(),resource_signing_alg_values_supported:E(U()).optional(),resource_name:U().optional(),resource_documentation:U().optional(),resource_policy_uri:U().url().optional(),resource_tos_uri:U().url().optional(),tls_client_certificate_bound_access_tokens:B0().optional(),authorization_details_types_supported:E(U()).optional(),dpop_signing_alg_values_supported:E(U()).optional(),dpop_bound_access_tokens_required:B0().optional()}),nJ=T0({issuer:U(),authorization_endpoint:h0,token_endpoint:h0,registration_endpoint:h0.optional(),scopes_supported:E(U()).optional(),response_types_supported:E(U()),response_modes_supported:E(U()).optional(),grant_types_supported:E(U()).optional(),token_endpoint_auth_methods_supported:E(U()).optional(),token_endpoint_auth_signing_alg_values_supported:E(U()).optional(),service_documentation:h0.optional(),revocation_endpoint:h0.optional(),revocation_endpoint_auth_methods_supported:E(U()).optional(),revocation_endpoint_auth_signing_alg_values_supported:E(U()).optional(),introspection_endpoint:U().optional(),introspection_endpoint_auth_methods_supported:E(U()).optional(),introspection_endpoint_auth_signing_alg_values_supported:E(U()).optional(),code_challenge_methods_supported:E(U()).optional(),client_id_metadata_document_supported:B0().optional()}),Sf=T0({issuer:U(),authorization_endpoint:h0,token_endpoint:h0,userinfo_endpoint:h0.optional(),jwks_uri:h0,registration_endpoint:h0.optional(),scopes_supported:E(U()).optional(),response_types_supported:E(U()),response_modes_supported:E(U()).optional(),grant_types_supported:E(U()).optional(),acr_values_supported:E(U()).optional(),subject_types_supported:E(U()),id_token_signing_alg_values_supported:E(U()),id_token_encryption_alg_values_supported:E(U()).optional(),id_token_encryption_enc_values_supported:E(U()).optional(),userinfo_signing_alg_values_supported:E(U()).optional(),userinfo_encryption_alg_values_supported:E(U()).optional(),userinfo_encryption_enc_values_supported:E(U()).optional(),request_object_signing_alg_values_supported:E(U()).optional(),request_object_encryption_alg_values_supported:E(U()).optional(),request_object_encryption_enc_values_supported:E(U()).optional(),token_endpoint_auth_methods_supported:E(U()).optional(),token_endpoint_auth_signing_alg_values_supported:E(U()).optional(),display_values_supported:E(U()).optional(),claim_types_supported:E(U()).optional(),claims_supported:E(U()).optional(),service_documentation:U().optional(),claims_locales_supported:E(U()).optional(),ui_locales_supported:E(U()).optional(),claims_parameter_supported:B0().optional(),request_parameter_supported:B0().optional(),request_uri_parameter_supported:B0().optional(),require_request_uri_registration:B0().optional(),op_policy_uri:h0.optional(),op_tos_uri:h0.optional(),client_id_metadata_document_supported:B0().optional()}),Lj=C({...Sf.shape,...nJ.pick({code_challenge_methods_supported:!0}).shape}),Oj=C({access_token:U(),id_token:U().optional(),token_type:U(),expires_in:RQ.number().optional(),scope:U().optional(),refresh_token:U().optional()}).strip(),jj=C({error:U(),error_description:U().optional(),error_uri:U().optional()}),Fj=h0.optional().or(_("").transform(()=>{return})),If=C({redirect_uris:E(h0),token_endpoint_auth_method:U().optional(),grant_types:E(U()).optional(),response_types:E(U()).optional(),client_name:U().optional(),client_uri:h0.optional(),logo_uri:Fj,scope:U().optional(),contacts:E(U()).optional(),tos_uri:Fj,policy_uri:U().optional(),jwks_uri:h0.optional(),jwks:H3().optional(),software_id:U().optional(),software_version:U().optional(),software_statement:U().optional()}).strip(),Cf=C({client_id:U(),client_secret:U().optional(),client_id_issued_at:J0().optional(),client_secret_expires_at:J0().optional()}).strip(),Uj=If.merge(Cf),an=C({error:U(),error_description:U().optional()}).strip(),sn=C({token:U(),token_type_hint:U().optional()}).strip();function wj(Q){let X=typeof Q==="string"?new URL(Q):new URL(Q.href);return X.hash="",X}function Nj({requestedResource:Q,configuredResource:X}){let Y=typeof Q==="string"?new URL(Q):new URL(Q.href),W=typeof X==="string"?new URL(X):new URL(X.href);if(Y.origin!==W.origin)return!1;if(Y.pathname.length<W.pathname.length)return!1;let $=Y.pathname.endsWith("/")?Y.pathname:Y.pathname+"/",J=W.pathname.endsWith("/")?W.pathname:W.pathname+"/";return $.startsWith(J)}class S0 extends Error{constructor(Q,X){super(Q);this.errorUri=X,this.name=this.constructor.name}toResponseObject(){let Q={error:this.errorCode,error_description:this.message};if(this.errorUri)Q.error_uri=this.errorUri;return Q}get errorCode(){return this.constructor.errorCode}}class RY extends S0{}RY.errorCode="invalid_request";class F4 extends S0{}F4.errorCode="invalid_client";class D4 extends S0{}D4.errorCode="invalid_grant";class L4 extends S0{}L4.errorCode="unauthorized_client";class EY extends S0{}EY.errorCode="unsupported_grant_type";class SY extends S0{}SY.errorCode="invalid_scope";class IY extends S0{}IY.errorCode="access_denied";class f6 extends S0{}f6.errorCode="server_error";class CY extends S0{}CY.errorCode="temporarily_unavailable";class TY extends S0{}TY.errorCode="unsupported_response_type";class kY extends S0{}kY.errorCode="unsupported_token_type";class vY extends S0{}vY.errorCode="invalid_token";class _Y extends S0{}_Y.errorCode="method_not_allowed";class xY extends S0{}xY.errorCode="too_many_requests";class O4 extends S0{}O4.errorCode="invalid_client_metadata";class yY extends S0{}yY.errorCode="insufficient_scope";class fY extends S0{}fY.errorCode="invalid_target";var qj={[RY.errorCode]:RY,[F4.errorCode]:F4,[D4.errorCode]:D4,[L4.errorCode]:L4,[EY.errorCode]:EY,[SY.errorCode]:SY,[IY.errorCode]:IY,[f6.errorCode]:f6,[CY.errorCode]:CY,[TY.errorCode]:TY,[kY.errorCode]:kY,[vY.errorCode]:vY,[_Y.errorCode]:_Y,[xY.errorCode]:xY,[O4.errorCode]:O4,[yY.errorCode]:yY,[fY.errorCode]:fY};class g6 extends Error{constructor(Q){super(Q??"Unauthorized")}}function Tf(Q){return["client_secret_basic","client_secret_post","none"].includes(Q)}var oJ="code",rJ="S256";function kf(Q,X){let Y=Q.client_secret!==void 0;if(X.length===0)return Y?"client_secret_post":"none";if("token_endpoint_auth_method"in Q&&Q.token_endpoint_auth_method&&Tf(Q.token_endpoint_auth_method)&&X.includes(Q.token_endpoint_auth_method))return Q.token_endpoint_auth_method;if(Y&&X.includes("client_secret_basic"))return"client_secret_basic";if(Y&&X.includes("client_secret_post"))return"client_secret_post";if(X.includes("none"))return"none";return Y?"client_secret_post":"none"}function vf(Q,X,Y,W){let{client_id:$,client_secret:J}=X;switch(Q){case"client_secret_basic":_f($,J,Y);return;case"client_secret_post":xf($,J,W);return;case"none":yf($,W);return;default:throw Error(`Unsupported client authentication method: ${Q}`)}}function _f(Q,X,Y){if(!X)throw Error("client_secret_basic authentication requires a client_secret");let W=btoa(`${Q}:${X}`);Y.set("Authorization",`Basic ${W}`)}function xf(Q,X,Y){if(Y.set("client_id",Q),X)Y.set("client_secret",X)}function yf(Q,X){X.set("client_id",Q)}async function bj(Q){let X=Q instanceof Response?Q.status:void 0,Y=Q instanceof Response?await Q.text():Q;try{let W=jj.parse(JSON.parse(Y)),{error:$,error_description:J,error_uri:G}=W;return new(qj[$]||f6)(J||"",G)}catch(W){let $=`${X?`HTTP ${X}: `:""}Invalid OAuth error response: ${W}. Raw body: ${Y}`;return new f6($)}}async function t8(Q,X){try{return await tJ(Q,X)}catch(Y){if(Y instanceof F4||Y instanceof L4)return await Q.invalidateCredentials?.("all"),await tJ(Q,X);else if(Y instanceof D4)return await Q.invalidateCredentials?.("tokens"),await tJ(Q,X);throw Y}}async function tJ(Q,{serverUrl:X,authorizationCode:Y,scope:W,resourceMetadataUrl:$,fetchFn:J}){let G,H;try{if(G=await hf(X,{resourceMetadataUrl:$},J),G.authorization_servers&&G.authorization_servers.length>0)H=G.authorization_servers[0]}catch{}if(!H)H=new URL("/",X);let B=await gf(X,Q,G),z=await pf(H,{fetchFn:J}),K=await Promise.resolve(Q.clientInformation());if(!K){if(Y!==void 0)throw Error("Existing OAuth client information is required when exchanging an authorization code");let O=z?.client_id_metadata_document_supported===!0,j=Q.clientMetadataUrl;if(j&&!ff(j))throw new O4(`clientMetadataUrl must be a valid HTTPS URL with a non-root pathname, got: ${j}`);if(O&&j)K={client_id:j},await Q.saveClientInformation?.(K);else{if(!Q.saveClientInformation)throw Error("OAuth client information must be saveable for dynamic registration");let M=await tf(H,{metadata:z,clientMetadata:Q.clientMetadata,fetchFn:J});await Q.saveClientInformation(M),K=M}}let V=!Q.redirectUrl;if(Y!==void 0||V){let O=await rf(Q,H,{metadata:z,resource:B,authorizationCode:Y,fetchFn:J});return await Q.saveTokens(O),"AUTHORIZED"}let A=await Q.tokens();if(A?.refresh_token)try{let O=await of(H,{metadata:z,clientInformation:K,refreshToken:A.refresh_token,resource:B,addClientAuthentication:Q.addClientAuthentication,fetchFn:J});return await Q.saveTokens(O),"AUTHORIZED"}catch(O){if(!(O instanceof S0)||O instanceof f6);else throw O}let F=Q.state?await Q.state():void 0,{authorizationUrl:L,codeVerifier:D}=await df(H,{metadata:z,clientInformation:K,state:F,redirectUrl:Q.redirectUrl,scope:W||G?.scopes_supported?.join(" ")||Q.clientMetadata.scope,resource:B});return await Q.saveCodeVerifier(D),await Q.redirectToAuthorization(L),"REDIRECT"}function ff(Q){if(!Q)return!1;try{let X=new URL(Q);return X.protocol==="https:"&&X.pathname!=="/"}catch{return!1}}async function gf(Q,X,Y){let W=wj(Q);if(X.validateResourceURL)return await X.validateResourceURL(W,Y?.resource);if(!Y)return;if(!Nj({requestedResource:W,configuredResource:Y.resource}))throw Error(`Protected resource ${Y.resource} does not match expected ${W} (or origin)`);return new URL(Y.resource)}function sJ(Q){let X=Q.headers.get("WWW-Authenticate");if(!X)return{};let[Y,W]=X.split(" ");if(Y.toLowerCase()!=="bearer"||!W)return{};let $=aJ(Q,"resource_metadata")||void 0,J;if($)try{J=new URL($)}catch{}let G=aJ(Q,"scope")||void 0,H=aJ(Q,"error")||void 0;return{resourceMetadataUrl:J,scope:G,error:H}}function aJ(Q,X){let Y=Q.headers.get("WWW-Authenticate");if(!Y)return null;let W=new RegExp(`${X}=(?:"([^"]+)"|([^\\s,]+))`),$=Y.match(W);if($)return $[1]||$[2];return null}async function hf(Q,X,Y=fetch){let W=await mf(Q,"oauth-protected-resource",Y,{protocolVersion:X?.protocolVersion,metadataUrl:X?.resourceMetadataUrl});if(!W||W.status===404)throw await W?.body?.cancel(),Error("Resource server does not implement OAuth 2.0 Protected Resource Metadata.");if(!W.ok)throw await W.body?.cancel(),Error(`HTTP ${W.status} trying to load well-known OAuth protected resource metadata.`);return Dj.parse(await W.json())}async function eJ(Q,X,Y=fetch){try{return await Y(Q,{headers:X})}catch(W){if(W instanceof TypeError)if(X)return eJ(Q,void 0,Y);else return;throw W}}function uf(Q,X="",Y={}){if(X.endsWith("/"))X=X.slice(0,-1);return Y.prependPathname?`${X}/.well-known/${Q}`:`/.well-known/${Q}${X}`}async function Mj(Q,X,Y=fetch){return await eJ(Q,{"MCP-Protocol-Version":X},Y)}function lf(Q,X){return!Q||Q.status>=400&&Q.status<500&&X!=="/"}async function mf(Q,X,Y,W){let $=new URL(Q),J=W?.protocolVersion??w6,G;if(W?.metadataUrl)G=new URL(W.metadataUrl);else{let B=uf(X,$.pathname);G=new URL(B,W?.metadataServerUrl??$),G.search=$.search}let H=await Mj(G,J,Y);if(!W?.metadataUrl&&lf(H,$.pathname)){let B=new URL(`/.well-known/${X}`,$);H=await Mj(B,J,Y)}return H}function cf(Q){let X=typeof Q==="string"?new URL(Q):Q,Y=X.pathname!=="/",W=[];if(!Y)return W.push({url:new URL("/.well-known/oauth-authorization-server",X.origin),type:"oauth"}),W.push({url:new URL("/.well-known/openid-configuration",X.origin),type:"oidc"}),W;let $=X.pathname;if($.endsWith("/"))$=$.slice(0,-1);return W.push({url:new URL(`/.well-known/oauth-authorization-server${$}`,X.origin),type:"oauth"}),W.push({url:new URL(`/.well-known/openid-configuration${$}`,X.origin),type:"oidc"}),W.push({url:new URL(`${$}/.well-known/openid-configuration`,X.origin),type:"oidc"}),W}async function pf(Q,{fetchFn:X=fetch,protocolVersion:Y=w6}={}){let W={"MCP-Protocol-Version":Y,Accept:"application/json"},$=cf(Q);for(let{url:J,type:G}of $){let H=await eJ(J,W,X);if(!H)continue;if(!H.ok){if(await H.body?.cancel(),H.status>=400&&H.status<500)continue;throw Error(`HTTP ${H.status} trying to load ${G==="oauth"?"OAuth":"OpenID provider"} metadata from ${J}`)}if(G==="oauth")return nJ.parse(await H.json());else return Lj.parse(await H.json())}return}async function df(Q,{metadata:X,clientInformation:Y,redirectUrl:W,scope:$,state:J,resource:G}){let H;if(X){if(H=new URL(X.authorization_endpoint),!X.response_types_supported.includes(oJ))throw Error(`Incompatible auth server: does not support response type ${oJ}`);if(X.code_challenge_methods_supported&&!X.code_challenge_methods_supported.includes(rJ))throw Error(`Incompatible auth server: does not support code challenge method ${rJ}`)}else H=new URL("/authorize",Q);let B=await iJ(),z=B.code_verifier,K=B.code_challenge;if(H.searchParams.set("response_type",oJ),H.searchParams.set("client_id",Y.client_id),H.searchParams.set("code_challenge",K),H.searchParams.set("code_challenge_method",rJ),H.searchParams.set("redirect_uri",String(W)),J)H.searchParams.set("state",J);if($)H.searchParams.set("scope",$);if($?.includes("offline_access"))H.searchParams.append("prompt","consent");if(G)H.searchParams.set("resource",G.href);return{authorizationUrl:H,codeVerifier:z}}function nf(Q,X,Y){return new URLSearchParams({grant_type:"authorization_code",code:Q,code_verifier:X,redirect_uri:String(Y)})}async function Pj(Q,{metadata:X,tokenRequestParams:Y,clientInformation:W,addClientAuthentication:$,resource:J,fetchFn:G}){let H=X?.token_endpoint?new URL(X.token_endpoint):new URL("/token",Q),B=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"});if(J)Y.set("resource",J.href);if($)await $(B,Y,H,X);else if(W){let K=X?.token_endpoint_auth_methods_supported??[],V=kf(W,K);vf(V,W,B,Y)}let z=await(G??fetch)(H,{method:"POST",headers:B,body:Y});if(!z.ok)throw await bj(z);return Oj.parse(await z.json())}async function of(Q,{metadata:X,clientInformation:Y,refreshToken:W,resource:$,addClientAuthentication:J,fetchFn:G}){let H=new URLSearchParams({grant_type:"refresh_token",refresh_token:W}),B=await Pj(Q,{metadata:X,tokenRequestParams:H,clientInformation:Y,addClientAuthentication:J,resource:$,fetchFn:G});return{refresh_token:W,...B}}async function rf(Q,X,{metadata:Y,resource:W,authorizationCode:$,fetchFn:J}={}){let G=Q.clientMetadata.scope,H;if(Q.prepareTokenRequest)H=await Q.prepareTokenRequest(G);if(!H){if(!$)throw Error("Either provider.prepareTokenRequest() or authorizationCode is required");if(!Q.redirectUrl)throw Error("redirectUrl is required for authorization_code flow");let z=await Q.codeVerifier();H=nf($,z,Q.redirectUrl)}let B=await Q.clientInformation();return Pj(X,{metadata:Y,tokenRequestParams:H,clientInformation:B??void 0,addClientAuthentication:Q.addClientAuthentication,resource:W,fetchFn:J})}async function tf(Q,{metadata:X,clientMetadata:Y,fetchFn:W}){let $;if(X){if(!X.registration_endpoint)throw Error("Incompatible auth server: does not support dynamic client registration");$=new URL(X.registration_endpoint)}else $=new URL("/register",Q);let J=await(W??fetch)($,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Y)});if(!J.ok)throw await bj(J);return Uj.parse(await J.json())}class XG extends Error{constructor(Q,X){super(Q),this.name="ParseError",this.type=X.type,this.field=X.field,this.value=X.value,this.line=X.line}}function QG(Q){}function Zj(Q){if(typeof Q=="function")throw TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");let{onEvent:X=QG,onError:Y=QG,onRetry:W=QG,onComment:$}=Q,J="",G=!0,H,B="",z="";function K(D){let O=G?D.replace(/^\xEF\xBB\xBF/,""):D,[j,q]=af(`${J}${O}`);for(let M of j)V(M);J=q,G=!1}function V(D){if(D===""){F();return}if(D.startsWith(":")){$&&$(D.slice(D.startsWith(": ")?2:1));return}let O=D.indexOf(":");if(O!==-1){let j=D.slice(0,O),q=D[O+1]===" "?2:1,M=D.slice(O+q);A(j,M,D);return}A(D,"",D)}function A(D,O,j){switch(D){case"event":z=O;break;case"data":B=`${B}${O}
|
|
59
59
|
`;break;case"id":H=O.includes("\x00")?void 0:O;break;case"retry":/^\d+$/.test(O)?W(parseInt(O,10)):Y(new XG(`Invalid \`retry\` value: "${O}"`,{type:"invalid-retry",value:O,line:j}));break;default:Y(new XG(`Unknown field "${D.length>20?`${D.slice(0,20)}…`:D}"`,{type:"unknown-field",field:D,value:O,line:j}));break}}function F(){B.length>0&&X({id:H,event:z||void 0,data:B.endsWith(`
|
|
60
60
|
`)?B.slice(0,-1):B}),H=void 0,B="",z=""}function L(D={}){J&&D.consume&&V(J),G=!0,H=void 0,B="",z="",J=""}return{feed:K,reset:L}}function af(Q){let X=[],Y="",W=0;for(;W<Q.length;){let $=Q.indexOf("\r",W),J=Q.indexOf(`
|
|
61
61
|
`,W),G=-1;if($!==-1&&J!==-1?G=Math.min($,J):$!==-1?$===Q.length-1?G=-1:G=$:J!==-1&&(G=J),G===-1){Y=Q.slice(W);break}else{let H=Q.slice(W,G);X.push(H),W=G+1,Q[W-1]==="\r"&&Q[W]===`
|
|
@@ -280,6 +280,6 @@ data:
|
|
|
280
280
|
<span class="request-duration">${z}</span>
|
|
281
281
|
</div>
|
|
282
282
|
</div>
|
|
283
|
-
`}function Vg(Q){switch(Q){case"tool_call":return"TOOL";case"resource_read":return"RES";case"prompt_get":return"PROMPT";case"backend_tool":return"B:TOOL";case"backend_resource":return"B:RES";case"backend_prompt":return"B:PROMPT";default:return Q.toUpperCase()}}function Ij(Q){return Q.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function Tj(Q){let X=Q.getRequestsBySession(),Y=Q.getStats(),W={};for(let[$,J]of X)W[$]=J;return{stats:Y,sessions:W,generatedAt:new Date().toISOString()}}function Dg(){let Q=process.argv.slice(2),X,Y=Number(process.env.PORT)||8080,W="info";for(let $=0;$<Q.length;$++){let J=Q[$];if(J==="--config"&&Q[$+1])X=Q[$+1],$++;else if(J?.startsWith("--config="))X=J.slice(9);else if(J==="--port"&&Q[$+1])Y=Number(Q[$+1]),$++;else if(J?.startsWith("--port="))Y=Number(J.slice(7));else if(J==="--log-level"&&Q[$+1])W=Q[$+1],$++;else if(J?.startsWith("--log-level="))W=J.slice(12)}return{configPath:X,port:Y,logLevel:W}}function Lg(Q){let X=Fg(Q,"utf-8");return JSON.parse(X)}function H0(Q,X,Y){let W=X.sessionId;if(!W)return;let $=Y.get(W);if(!$)return;return Q.getSession($)}function kj(Q){let X=Q.pendingRequests.getPendingSamplingRequests().length,Y=Q.pendingRequests.getPendingElicitationRequests().length,W=Q.timerManager.getAndClearExpired(),$=Q.bufferManager.getAndClearNotifications(),J=X>0||Y>0,G=W.length>0,H=$.length>0;if(!J&&!G&&!H)return null;let B={};if(J)B.pending_client={sampling:X,elicitation:Y};if(G)B.expired_timers=W;if(H)B.notifications=$.map((z)=>({server:z.server,method:z.method,timestamp:z.timestamp.toISOString(),params:z.params}));return B}function vj(Q,X){if(!X)return Q;let Y=kj(X);if(!Y)return Q;return{...Q,content:[...Q.content,{type:"text",text:JSON.stringify(Y)}]}}function h(Q){return{content:[{type:"text",text:Q}],isError:!0}}function E0(Q,X){return vj({content:[{type:"text",text:Q}]},X)}function I0(Q,X){let Y={content:[{type:"text",text:JSON.stringify(Q,null,2)}]};return vj(Y,X)}function Og(Q,X,Y,W){Q.registerTool("add_server",{description:"Connect to a backend MCP server. The server will be added to the shared configuration and this session will connect to it.",inputSchema:{name:
|
|
284
|
-
Capabilities: ${JSON.stringify(z)}`,H)}catch(B){let z=B instanceof Error?B.message:String(B);return h(`Failed to add server: ${z}`)}}),Q.registerTool("remove_server",{description:"Disconnect from a backend MCP server and remove it from the configuration. This disconnects ALL sessions from the server.",inputSchema:{name:g.string().describe("Name of the server to remove")}},async({name:$},J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");try{return await X.removeServer(G.sessionId,$),E0(`Disconnected from server '${$}'`,G)}catch(H){let B=H instanceof Error?H.message:String(H);return h(`Failed to remove server: ${B}`)}}),Q.registerTool("reconnect_server",{description:"Force reconnection to a backend MCP server. Works on connected, disconnected, or reconnecting servers. Cancels any pending reconnection and immediately attempts a fresh connection.",inputSchema:{name:g.string().describe("Name of the server to reconnect")}},async({name:$},J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");try{return await X.reconnectServer(G.sessionId,$),E0(`Reconnected to server '${$}'`,G)}catch(H){let B=H instanceof Error?H.message:String(H);return h(`Failed to reconnect: ${B}`)}}),Q.registerTool("list_servers",{description:"List all configured backend MCP servers with their connection status for this session",inputSchema:{}},($,J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");let H=X.listServers(G.sessionId);if(H.length===0)return E0("No servers configured",G);let B=H.map((z)=>{let K={name:z.name,url:z.url,status:z.status,connected:z.connected,connectedAt:z.connectedAt?.toISOString(),lastError:z.lastError};if(z.status==="reconnecting")K.reconnectAttempt=z.reconnectAttempt,K.nextRetryMs=z.nextRetryMs;if(z.status==="connected"){if(K.healthStatus=z.healthStatus,z.consecutiveHealthFailures!==void 0&&z.consecutiveHealthFailures>0)K.consecutiveHealthFailures=z.consecutiveHealthFailures}return K});return I0(B,G)}),Q.registerTool("list_tools",{description:"List tools available from backend servers",inputSchema:{server:g.string().default(".*").describe("Regex pattern to match server names (default: .*)"),tool:g.string().default(".*").describe("Regex pattern to match tool names (default: .*)")}},async({server:$,tool:J},G)=>{let H=H0(X,G,Y);if(!H)return h("Session not found");try{let B=new RegExp($),z=new RegExp(J),K=[];for(let V of H.listConnectedServers()){if(!B.test(V))continue;let A=H.getConnection(V);if(A?.status!=="connected")continue;try{let F=await A.client.listTools();for(let L of F)if(z.test(L.name))K.push({server:V,name:L.name,description:L.description,inputSchema:L.inputSchema})}catch{}}if(K.length===0)return E0("No tools available",H);return I0(K,H)}catch(B){let z=B instanceof Error?B.message:String(B);return h(`Failed to list tools: ${z}`)}}),Q.registerTool("execute_tool",{description:"Execute a tool on a specific backend server",inputSchema:{server:g.string().describe("Name of the backend server"),tool:g.string().describe("Name of the tool to execute"),args:g.record(g.unknown()).optional().describe("Arguments to pass to the tool")}},async({server:$,tool:J,args:G},H)=>{let B=H0(X,H,Y);if(!B)return h("Session not found");let z=B.getConnection($);if(z?.status==="reconnecting"){let V=z.client.getReconnectionState(),A=V?` (attempt ${String(V.attempt)}, next retry in ${String(V.nextRetryMs)}ms)`:"";return h(`Server '${$}' is reconnecting${A}. Use reconnect_server to force immediate reconnection or await_activity to wait for reconnection.`)}let K=W.startRequest(B.sessionId,"backend_tool",J,{server:$,args:G});try{let A=await(await X.getOrCreateConnection(B.sessionId,$)).callTool(J,G??{}),F=A.isError?"error":"ok";W.completeRequest(K,F);let L=kj(B);if(L)return{content:[...A.content,{type:"text",text:JSON.stringify(L)}],isError:A.isError};return{content:A.content,isError:A.isError}}catch(V){let A=V instanceof Error?V.message:String(V);return W.failRequest(K,A),h(`Failed to execute tool: ${A}`)}}),Q.registerTool("list_resources",{description:"List resources available from backend servers",inputSchema:{server:g.string().optional().describe("Server name to filter by (omit for all servers)")}},async({server:$},J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");try{let H=[],B=$?[$]:G.listConnectedServers();for(let z of B){let K=G.getConnection(z);if(K?.status!=="connected")continue;try{let V=await K.client.listResources();for(let A of V)H.push({server:z,uri:A.uri,name:A.name,description:A.description,mimeType:A.mimeType})}catch{}}if(H.length===0)return E0("No resources available",G);return I0(H,G)}catch(H){let B=H instanceof Error?H.message:String(H);return h(`Failed to list resources: ${B}`)}}),Q.registerTool("list_resource_templates",{description:"List resource templates available from backend servers. Templates define parameterized resources that can be read with specific arguments.",inputSchema:{server:g.string().optional().describe("Server name to filter by (omit for all servers)")}},async({server:$},J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");try{let H=[],B=$?[$]:G.listConnectedServers();for(let z of B){let K=G.getConnection(z);if(K?.status!=="connected")continue;try{let V=await K.client.listResourceTemplates();for(let A of V)H.push({server:z,uriTemplate:A.uriTemplate,name:A.name,description:A.description,mimeType:A.mimeType})}catch{}}if(H.length===0)return E0("No resource templates available",G);return I0(H,G)}catch(H){let B=H instanceof Error?H.message:String(H);return h(`Failed to list resource templates: ${B}`)}}),Q.registerTool("read_resource",{description:"Read a specific resource from a backend server",inputSchema:{server:g.string().describe("Name of the backend server"),uri:g.string().describe("URI of the resource to read")}},async({server:$,uri:J},G)=>{let H=H0(X,G,Y);if(!H)return h("Session not found");let B=W.startRequest(H.sessionId,"backend_resource",J,{server:$});try{let V=(await(await X.getOrCreateConnection(H.sessionId,$)).readResource(J)).contents.map((A)=>{if("text"in A&&typeof A.text==="string")return{uri:A.uri,mimeType:A.mimeType,text:A.text};else if("blob"in A&&typeof A.blob==="string")return{uri:A.uri,mimeType:A.mimeType,blob:`[base64 data, ${String(A.blob.length)} chars]`};return A});return W.completeRequest(B,`${String(V.length)} content(s)`),I0({contents:V},H)}catch(z){let K=z instanceof Error?z.message:String(z);return W.failRequest(B,K),h(`Failed to read resource: ${K}`)}}),Q.registerTool("subscribe_resource",{description:"Subscribe to updates for a specific resource. The server will send notifications when the resource changes. Use get_notifications or await_activity to receive updates.",inputSchema:{server:g.string().describe("Name of the backend server"),uri:g.string().describe("URI of the resource to subscribe to")}},async({server:$,uri:J},G)=>{let H=H0(X,G,Y);if(!H)return h("Session not found");try{let B=await X.getOrCreateConnection(H.sessionId,$);if(!B.supportsResourceSubscriptions())return h(`Server '${$}' does not support resource subscriptions`);return await B.subscribeResource(J),E0(`Subscribed to resource '${J}' on server '${$}'`,H)}catch(B){let z=B instanceof Error?B.message:String(B);return h(`Failed to subscribe to resource: ${z}`)}}),Q.registerTool("unsubscribe_resource",{description:"Unsubscribe from updates for a specific resource",inputSchema:{server:g.string().describe("Name of the backend server"),uri:g.string().describe("URI of the resource to unsubscribe from")}},async({server:$,uri:J},G)=>{let H=H0(X,G,Y);if(!H)return h("Session not found");try{let B=await X.getOrCreateConnection(H.sessionId,$);if(!B.supportsResourceSubscriptions())return h(`Server '${$}' does not support resource subscriptions`);return await B.unsubscribeResource(J),E0(`Unsubscribed from resource '${J}' on server '${$}'`,H)}catch(B){let z=B instanceof Error?B.message:String(B);return h(`Failed to unsubscribe from resource: ${z}`)}}),Q.registerTool("list_prompts",{description:"List prompts available from backend servers",inputSchema:{server:g.string().optional().describe("Server name to filter by (omit for all servers)")}},async({server:$},J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");try{let H=[],B=$?[$]:G.listConnectedServers();for(let z of B){let K=G.getConnection(z);if(K?.status!=="connected")continue;try{let V=await K.client.listPrompts();for(let A of V)H.push({server:z,name:A.name,description:A.description,arguments:A.arguments})}catch{}}if(H.length===0)return E0("No prompts available",G);return I0(H,G)}catch(H){let B=H instanceof Error?H.message:String(H);return h(`Failed to list prompts: ${B}`)}}),Q.registerTool("get_prompt",{description:"Get a specific prompt from a backend server",inputSchema:{server:g.string().describe("Name of the backend server"),name:g.string().describe("Name of the prompt to get"),arguments:g.record(g.string()).optional().describe("Arguments to pass to the prompt")}},async({server:$,name:J,arguments:G},H)=>{let B=H0(X,H,Y);if(!B)return h("Session not found");try{let K=await(await X.getOrCreateConnection(B.sessionId,$)).getPrompt(J,G??{});return I0(K,B)}catch(z){let K=z instanceof Error?z.message:String(z);return h(`Failed to get prompt: ${K}`)}}),Q.registerTool("get_notifications",{description:"Get and clear buffered notifications from backend servers for this session",inputSchema:{}},($,J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");let H=G.bufferManager.getAndClearNotifications();if(H.length===0)return E0("No notifications",G);let B=H.map((z)=>({server:z.server,method:z.method,timestamp:z.timestamp.toISOString(),params:z.params}));return I0(B,G)}),Q.registerTool("get_logs",{description:"Get and clear buffered log messages from backend servers for this session",inputSchema:{}},($,J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");let H=G.bufferManager.getAndClearLogs();if(H.length===0)return E0("No log messages",G);let B=H.map((z)=>({server:z.server,level:z.level,logger:z.logger,timestamp:z.timestamp.toISOString(),data:z.data}));return I0(B,G)}),Q.registerTool("get_sampling_requests",{description:"Get pending sampling requests from backend servers that need LLM responses. These are requests from MCP servers asking for LLM completions. URGENT: Backend servers are blocked waiting for these responses. You MUST respond promptly using respond_to_sampling.",inputSchema:{}},($,J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");let H=G.pendingRequests.getPendingSamplingRequests();if(H.length===0)return E0("No pending sampling requests",G);let B=H.map((z)=>({requestId:z.requestId,server:z.server,timestamp:z.timestamp.toISOString(),maxTokens:z.params.maxTokens,systemPrompt:z.params.systemPrompt,temperature:z.params.temperature,messages:z.params.messages,modelPreferences:z.params.modelPreferences,tools:z.params.tools?.map((K)=>({name:K.name,description:K.description}))}));return I0(B,G)}),Q.registerTool("respond_to_sampling",{description:"Respond to a pending sampling request with an LLM result",inputSchema:{request_id:g.string().describe("The ID of the sampling request to respond to"),role:g.enum(["user","assistant"]).describe("The role of the message"),content:g.string().describe("The text content of the response"),model:g.string().describe("The model that generated the response"),stop_reason:g.enum(["endTurn","maxTokens","stopSequence","toolUse"]).optional().describe("Why the model stopped generating")}},({request_id:$,role:J,content:G,model:H,stop_reason:B},z)=>{let K=H0(X,z,Y);if(!K)return h("Session not found");try{return K.pendingRequests.respondToSampling($,{role:J,content:{type:"text",text:G},model:H,stopReason:B}),E0(`Responded to sampling request '${$}'`,K)}catch(V){let A=V instanceof Error?V.message:String(V);return h(`Failed to respond: ${A}`)}}),Q.registerTool("cancel_sampling_request",{description:"Cancel a pending sampling request without responding. Use this when you want to ignore a request or if it seems to be part of a loop.",inputSchema:{request_id:g.string().describe("The ID of the sampling request to cancel"),reason:g.string().default("User cancelled").describe("Optional reason for cancellation")}},({request_id:$,reason:J},G)=>{let H=H0(X,G,Y);if(!H)return h("Session not found");try{return H.pendingRequests.cancelSampling($,J),E0(`Cancelled sampling request '${$}'`,H)}catch(B){let z=B instanceof Error?B.message:String(B);return h(`Failed to cancel: ${z}`)}}),Q.registerTool("get_elicitations",{description:"Get pending elicitation requests from backend servers that need user input. These are requests from MCP servers asking for form data or user confirmation. URGENT: Backend servers are blocked waiting for user responses. You MUST respond promptly using respond_to_elicitation or the request may time out.",inputSchema:{}},($,J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");let H=G.pendingRequests.getPendingElicitationRequests();if(H.length===0)return E0("No pending elicitation requests",G);let B=H.map((z)=>({requestId:z.requestId,server:z.server,timestamp:z.timestamp.toISOString(),mode:"mode"in z.params?z.params.mode:"form",message:z.params.message,requestedSchema:"requestedSchema"in z.params?z.params.requestedSchema:void 0,elicitationId:"elicitationId"in z.params?z.params.elicitationId:void 0,url:"url"in z.params?z.params.url:void 0}));return I0(B,G)}),Q.registerTool("respond_to_elicitation",{description:"Respond to a pending elicitation request with user input",inputSchema:{request_id:g.string().describe("The ID of the elicitation request to respond to"),action:g.enum(["accept","decline","cancel"]).describe("The user's action: accept (with content), decline, or cancel"),content:g.record(g.union([g.string(),g.number(),g.boolean(),g.array(g.string())])).optional().describe("The form field values (required if action is 'accept' for form mode)")}},({request_id:$,action:J,content:G},H)=>{let B=H0(X,H,Y);if(!B)return h("Session not found");try{return B.pendingRequests.respondToElicitation($,{action:J,content:G}),E0(`Responded to elicitation request '${$}' with action '${J}'`,B)}catch(z){let K=z instanceof Error?z.message:String(z);return h(`Failed to respond: ${K}`)}}),Q.registerTool("cancel_elicitation_request",{description:"Cancel a pending elicitation request without responding.",inputSchema:{request_id:g.string().describe("The ID of the elicitation request to cancel"),reason:g.string().default("User cancelled").describe("Optional reason for cancellation")}},({request_id:$,reason:J},G)=>{let H=H0(X,G,Y);if(!H)return h("Session not found");try{return H.pendingRequests.cancelElicitation($,J),E0(`Cancelled elicitation request '${$}'`,H)}catch(B){let z=B instanceof Error?B.message:String(B);return h(`Failed to cancel: ${z}`)}}),Q.registerTool("await_activity",{description:"Wait for activity (events, pending requests) or timeout. Use this to poll for changes efficiently instead of repeatedly calling get_* tools. IMPORTANT: If pending_client.sampling or pending_client.elicitation counts are non-zero, you MUST respond promptly - backend servers are blocked waiting.",inputSchema:{timeout_ms:g.number().min(100).max(900000).default(30000).describe("Maximum time to wait in milliseconds (100-900000, default: 30000)"),last_event_id:g.string().optional().describe("Only return events after this ID (for pagination/continuation)")}},async({timeout_ms:$,last_event_id:J},G)=>{let H=H0(X,G,Y);if(!H)return h("Session not found");let B=J?H.eventSystem.getEventsAfter(J):H.eventSystem.getNewEvents();if(B.length>0)return I0({triggered_by:"existing_events",events:B.map((K)=>({id:K.id,type:K.type,server:K.server,createdAt:K.createdAt.toISOString(),data:K.data})),pending_server:{tasks:H.taskManager.getAllTasks().map((K)=>({taskId:K.taskId,server:K.server,toolName:K.toolName,status:K.status}))},pending_client:{sampling:H.pendingRequests.getPendingSamplingRequests().length,elicitation:H.pendingRequests.getPendingElicitationRequests().length}},H);let z=await H.eventSystem.waitForActivity($);if(z){let K=H.eventSystem.getNewEvents();return I0({triggered_by:z.type,events:K.map((V)=>({id:V.id,type:V.type,server:V.server,createdAt:V.createdAt.toISOString(),data:V.data})),pending_server:{tasks:H.taskManager.getAllTasks().map((V)=>({taskId:V.taskId,server:V.server,toolName:V.toolName,status:V.status}))},pending_client:{sampling:H.pendingRequests.getPendingSamplingRequests().length,elicitation:H.pendingRequests.getPendingElicitationRequests().length}},H)}return I0({triggered_by:"timeout",events:[],pending_server:{tasks:H.taskManager.getAllTasks().map((K)=>({taskId:K.taskId,server:K.server,toolName:K.toolName,status:K.status}))},pending_client:{sampling:H.pendingRequests.getPendingSamplingRequests().length,elicitation:H.pendingRequests.getPendingElicitationRequests().length}},H)}),Q.registerTool("list_tasks",{description:"List proxy tasks (background tool executions that exceeded timeout)",inputSchema:{include_completed:g.boolean().default(!1).describe("Include completed/failed/cancelled tasks (default: false, only working tasks)"),server:g.string().optional().describe("Filter by server name")}},({include_completed:$,server:J},G)=>{let H=H0(X,G,Y);if(!H)return h("Session not found");let B=H.taskManager.getAllTasks($);if(J)B=B.filter((K)=>K.server===J);if(B.length===0)return E0("No tasks",H);let z=B.map((K)=>({taskId:K.taskId,server:K.server,toolName:K.toolName,status:K.status,createdAt:K.createdAt.toISOString(),lastUpdatedAt:K.lastUpdatedAt.toISOString(),error:K.error,hasResult:K.result!==void 0}));return I0(z,H)}),Q.registerTool("get_task",{description:"Get details of a specific task including its result if completed",inputSchema:{task_id:g.string().describe("The task ID to retrieve")}},({task_id:$},J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");let H=G.taskManager.getTask($);if(!H)return h(`Task '${$}' not found`);return I0({taskId:H.taskId,server:H.server,toolName:H.toolName,args:H.args,status:H.status,createdAt:H.createdAt.toISOString(),lastUpdatedAt:H.lastUpdatedAt.toISOString(),ttl:H.ttl,error:H.error,result:H.result},G)}),Q.registerTool("cancel_task",{description:"Cancel a working task",inputSchema:{task_id:g.string().describe("The task ID to cancel")}},({task_id:$},J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");if(G.taskManager.cancelTask($))return E0(`Task '${$}' cancelled`,G);else return h(`Task '${$}' not found or not in working state`)}),Q.registerTool("set_timer",{description:"Set a timer that will fire after a specified duration. When the timer expires, you'll receive a notification in the context info of subsequent tool responses, and it will also appear as a timer_expired event in await_activity.",inputSchema:{duration_ms:g.number().min(1).max(86400000).describe("Duration in milliseconds until the timer fires (max 24 hours)"),message:g.string().min(1).max(500).describe("Message to include in the notification when the timer fires")}},({duration_ms:$,message:J},G)=>{let H=H0(X,G,Y);if(!H)return h("Session not found");try{let B=H.timerManager.createTimer($,J);return I0({timerId:B.id,message:B.message,durationMs:B.durationMs,createdAt:B.createdAt.toISOString(),expiresAt:B.expiresAt.toISOString()},H)}catch(B){let z=B instanceof Error?B.message:String(B);return h(`Failed to set timer: ${z}`)}}),Q.registerTool("list_timers",{description:"List all timers for this session",inputSchema:{include_inactive:g.boolean().default(!1).describe("Include expired and deleted timers (default: false, only active timers)")}},({include_inactive:$},J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");let H=G.timerManager.getAllTimers($);if(H.length===0)return E0("No timers",G);let B=H.map((z)=>({id:z.id,message:z.message,durationMs:z.durationMs,status:z.status,createdAt:z.createdAt.toISOString(),expiresAt:z.expiresAt.toISOString()}));return I0(B,G)}),Q.registerTool("get_timer",{description:"Get details of a specific timer",inputSchema:{timer_id:g.string().describe("The timer ID to retrieve")}},({timer_id:$},J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");let H=G.timerManager.getTimer($);if(!H)return h(`Timer '${$}' not found`);return I0({id:H.id,message:H.message,durationMs:H.durationMs,status:H.status,createdAt:H.createdAt.toISOString(),expiresAt:H.expiresAt.toISOString()},G)}),Q.registerTool("delete_timer",{description:"Delete a timer. Returns the timer details before deletion.",inputSchema:{timer_id:g.string().describe("The timer ID to delete")}},({timer_id:$},J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");let H=G.timerManager.deleteTimer($);if(!H)return h(`Timer '${$}' not found`);return I0({deleted:!0,timer:{id:H.id,message:H.message,durationMs:H.durationMs,status:H.status,createdAt:H.createdAt.toISOString(),expiresAt:H.expiresAt.toISOString()}},G)})}function jg(){let{configPath:Q,port:X,logLevel:Y}=Dg(),W=Sj(Y);W.info("Starting MCP Proxy Server",{port:X,configPath:Q});let $=new $G({logger:W,sessionTimeoutMs:86400000,cleanupIntervalMs:3600000});if(Q)try{let V=Lg(Q);W.info("Loading servers from config",{count:V.servers.length,path:Q});for(let A of V.servers)W.info("Adding server config",{name:A.name,url:A.url}),$.getServerConfigs().addConfig(A.name,A.url)}catch(V){W.error("Failed to load config",{error:V instanceof Error?V.message:String(V)}),process.exit(1)}let J=new GG({logger:W}),G=new IJ({name:"emceepee",version:"0.2.0"}),H=new Map,B=new Map;Og(G,$,H,J);let z=Ag((V,A)=>{let F=V.headers.host??"localhost",L=new URL(V.url??"/",`http://${F}`);if(L.pathname==="/waterfall"||L.pathname==="/waterfall/"){A.writeHead(200,{"Content-Type":"text/html"}),A.end(Cj(J));return}if(L.pathname==="/waterfall/json"){A.writeHead(200,{"Content-Type":"application/json"}),A.end(JSON.stringify(Tj(J),null,2));return}if(L.pathname!=="/mcp"){A.writeHead(404,{"Content-Type":"application/json"}),A.end(JSON.stringify({error:"Not found. Available endpoints: /mcp, /waterfall, /waterfall/json"}));return}let D=V.headers["mcp-session-id"];if(V.method==="POST"){let O=D?B.get(D):void 0;if(!O){if(D)W.warn("transport_not_found_for_session",{transportSessionId:D,transportCount:B.size,knownTransports:Array.from(B.keys())});let j=new JG({logger:W}),q=new yJ({sessionIdGenerator:()=>crypto.randomUUID(),eventStore:j,onsessioninitialized:(M)=>{B.set(M,q),$.createSession().then((S)=>{H.set(M,S.sessionId),W.info("Session created",{transportSessionId:M,sessionId:S.sessionId})})}});O=q,G.connect(q)}else{W.debug("using_existing_transport",{transportSessionId:D});let j=H.get(D??"");if(j)$.touchSession(j)}O.handleRequest(V,A)}else if(V.method==="GET"){if(!D){A.writeHead(400,{"Content-Type":"application/json"}),A.end(JSON.stringify({error:"Missing mcp-session-id header"}));return}let O=B.get(D);if(!O){A.writeHead(404,{"Content-Type":"application/json"}),A.end(JSON.stringify({error:"Session not found"}));return}A.on("close",()=>{W.info("sse_connection_closed",{transportSessionId:D});let q=B.get(D);if(q){q.close(),B.delete(D);let M=H.get(D);if(M)$.destroySession(M),H.delete(D),W.info("session_closed_via_sse",{transportSessionId:D,sessionId:M})}});let j=V.headers["last-event-id"]!==void 0;if(O.handleRequest(V,A),!j)setTimeout(()=>{W.debug("sending_sse_priming_notification",{transportSessionId:D}),G.sendToolListChanged()},100)}else if(V.method==="DELETE"){if(D&&B.has(D)){B.get(D)?.close(),B.delete(D);let j=H.get(D);if(j)$.destroySession(j),H.delete(D);W.info("Session closed",{transportSessionId:D})}A.writeHead(200),A.end()}else A.writeHead(405,{"Content-Type":"application/json"}),A.end(JSON.stringify({error:"Method not allowed"}))}),K=async()=>{W.info("Shutting down...",{});for(let V of B.values())V.close();await $.shutdown(),z.close(),process.exit(0)};process.on("SIGINT",()=>void K()),process.on("SIGTERM",()=>void K()),z.listen(X,()=>{W.info("Server started",{url:`http://localhost:${String(X)}/mcp`}),console.log(`MCP Proxy Server running at http://localhost:${String(X)}/mcp`),console.log(`Waterfall UI available at http://localhost:${String(X)}/waterfall`),console.log(`
|
|
283
|
+
`}function Vg(Q){switch(Q){case"tool_call":return"TOOL";case"resource_read":return"RES";case"prompt_get":return"PROMPT";case"backend_tool":return"B:TOOL";case"backend_resource":return"B:RES";case"backend_prompt":return"B:PROMPT";default:return Q.toUpperCase()}}function Ij(Q){return Q.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function Tj(Q){let X=Q.getRequestsBySession(),Y=Q.getStats(),W={};for(let[$,J]of X)W[$]=J;return{stats:Y,sessions:W,generatedAt:new Date().toISOString()}}function Dg(){let Q=process.argv.slice(2),X,Y=Number(process.env.PORT)||8080,W="info";for(let $=0;$<Q.length;$++){let J=Q[$];if(J==="--config"&&Q[$+1])X=Q[$+1],$++;else if(J?.startsWith("--config="))X=J.slice(9);else if(J==="--port"&&Q[$+1])Y=Number(Q[$+1]),$++;else if(J?.startsWith("--port="))Y=Number(J.slice(7));else if(J==="--log-level"&&Q[$+1])W=Q[$+1],$++;else if(J?.startsWith("--log-level="))W=J.slice(12)}return{configPath:X,port:Y,logLevel:W}}function Lg(Q){let X=Fg(Q,"utf-8");return JSON.parse(X)}function H0(Q,X,Y){let W=X.sessionId;if(!W)return;let $=Y.get(W);if(!$)return;return Q.getSession($)}function kj(Q){let X=Q.pendingRequests.getPendingSamplingRequests().length,Y=Q.pendingRequests.getPendingElicitationRequests().length,W=Q.timerManager.getAndClearExpired(),$=Q.bufferManager.getAndClearNotifications(),J=X>0||Y>0,G=W.length>0,H=$.length>0;if(!J&&!G&&!H)return null;let B={};if(J)B.pending_client={sampling:X,elicitation:Y};if(G)B.expired_timers=W;if(H)B.notifications=$.map((z)=>({server:z.server,method:z.method,timestamp:z.timestamp.toISOString(),params:z.params}));return B}function vj(Q,X){if(!X)return Q;let Y=kj(X);if(!Y)return Q;return{...Q,content:[...Q.content,{type:"text",text:JSON.stringify(Y)}]}}function h(Q){return{content:[{type:"text",text:Q}],isError:!0}}function E0(Q,X){return vj({content:[{type:"text",text:Q}]},X)}function I0(Q,X){let Y={content:[{type:"text",text:JSON.stringify(Q,null,2)}]};return vj(Y,X)}function Og(Q,X,Y,W){Q.registerTool("add_server",{description:"Connect to a backend MCP server. The server will be added to the shared configuration and this session will connect to it.",inputSchema:{name:f.string().describe("Unique name for this server"),url:f.string().url().describe("HTTP URL of the MCP server endpoint")}},async({name:$,url:J},G)=>{let H=H0(X,G,Y);if(!H)return h("Session not found");try{let z=(await X.addServer(H.sessionId,$,J)).client.getInfo().capabilities;return E0(`Connected to server '${$}' at ${J}
|
|
284
|
+
Capabilities: ${JSON.stringify(z)}`,H)}catch(B){let z=B instanceof Error?B.message:String(B);return h(`Failed to add server: ${z}`)}}),Q.registerTool("remove_server",{description:"Disconnect from a backend MCP server and remove it from the configuration. This disconnects ALL sessions from the server.",inputSchema:{name:f.string().describe("Name of the server to remove")}},async({name:$},J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");try{return await X.removeServer(G.sessionId,$),E0(`Disconnected from server '${$}'`,G)}catch(H){let B=H instanceof Error?H.message:String(H);return h(`Failed to remove server: ${B}`)}}),Q.registerTool("reconnect_server",{description:"Force reconnection to a backend MCP server. Works on connected, disconnected, or reconnecting servers. Cancels any pending reconnection and immediately attempts a fresh connection.",inputSchema:{name:f.string().describe("Name of the server to reconnect")}},async({name:$},J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");try{return await X.reconnectServer(G.sessionId,$),E0(`Reconnected to server '${$}'`,G)}catch(H){let B=H instanceof Error?H.message:String(H);return h(`Failed to reconnect: ${B}`)}}),Q.registerTool("list_servers",{description:"List all configured backend MCP servers with their connection status for this session",inputSchema:{}},($,J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");let H=X.listServers(G.sessionId);if(H.length===0)return E0("No servers configured",G);let B=H.map((z)=>{let K={name:z.name,url:z.url,status:z.status,connected:z.connected,connectedAt:z.connectedAt?.toISOString(),lastError:z.lastError};if(z.status==="reconnecting")K.reconnectAttempt=z.reconnectAttempt,K.nextRetryMs=z.nextRetryMs;if(z.status==="connected"){if(K.healthStatus=z.healthStatus,z.consecutiveHealthFailures!==void 0&&z.consecutiveHealthFailures>0)K.consecutiveHealthFailures=z.consecutiveHealthFailures}return K});return I0(B,G)}),Q.registerTool("list_tools",{description:"List tools available from backend servers",inputSchema:{server:f.string().default(".*").describe("Regex pattern to match server names (default: .*)"),tool:f.string().default(".*").describe("Regex pattern to match tool names (default: .*)")}},async({server:$,tool:J},G)=>{let H=H0(X,G,Y);if(!H)return h("Session not found");try{let B=new RegExp($),z=new RegExp(J),K=[];for(let V of H.listConnectedServers()){if(!B.test(V))continue;let A=H.getConnection(V);if(A?.status!=="connected")continue;try{let F=await A.client.listTools();for(let L of F)if(z.test(L.name))K.push({server:V,name:L.name,description:L.description,inputSchema:L.inputSchema})}catch{}}if(K.length===0)return E0("No tools available",H);return I0(K,H)}catch(B){let z=B instanceof Error?B.message:String(B);return h(`Failed to list tools: ${z}`)}}),Q.registerTool("execute_tool",{description:"Execute a tool on a specific backend server",inputSchema:{server:f.string().describe("Name of the backend server"),tool:f.string().describe("Name of the tool to execute"),args:f.record(f.unknown()).optional().describe("Arguments to pass to the tool")}},async({server:$,tool:J,args:G},H)=>{let B=H0(X,H,Y);if(!B)return h("Session not found");let z=B.getConnection($);if(z?.status==="reconnecting"){let V=z.client.getReconnectionState(),A=V?` (attempt ${String(V.attempt)}, next retry in ${String(V.nextRetryMs)}ms)`:"";return h(`Server '${$}' is reconnecting${A}. Use reconnect_server to force immediate reconnection or await_activity to wait for reconnection.`)}let K=W.startRequest(B.sessionId,"backend_tool",J,{server:$,args:G});try{let A=await(await X.getOrCreateConnection(B.sessionId,$)).callTool(J,G??{}),F=A.isError?"error":"ok";W.completeRequest(K,F);let L=kj(B);if(L)return{content:[...A.content,{type:"text",text:JSON.stringify(L)}],isError:A.isError};return{content:A.content,isError:A.isError}}catch(V){let A=V instanceof Error?V.message:String(V);return W.failRequest(K,A),h(`Failed to execute tool: ${A}`)}}),Q.registerTool("list_resources",{description:"List resources available from backend servers",inputSchema:{server:f.string().optional().describe("Server name to filter by (omit for all servers)")}},async({server:$},J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");try{let H=[],B=$?[$]:G.listConnectedServers();for(let z of B){let K=G.getConnection(z);if(K?.status!=="connected")continue;try{let V=await K.client.listResources();for(let A of V)H.push({server:z,uri:A.uri,name:A.name,description:A.description,mimeType:A.mimeType})}catch{}}if(H.length===0)return E0("No resources available",G);return I0(H,G)}catch(H){let B=H instanceof Error?H.message:String(H);return h(`Failed to list resources: ${B}`)}}),Q.registerTool("list_resource_templates",{description:"List resource templates available from backend servers. Templates define parameterized resources that can be read with specific arguments.",inputSchema:{server:f.string().optional().describe("Server name to filter by (omit for all servers)")}},async({server:$},J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");try{let H=[],B=$?[$]:G.listConnectedServers();for(let z of B){let K=G.getConnection(z);if(K?.status!=="connected")continue;try{let V=await K.client.listResourceTemplates();for(let A of V)H.push({server:z,uriTemplate:A.uriTemplate,name:A.name,description:A.description,mimeType:A.mimeType})}catch{}}if(H.length===0)return E0("No resource templates available",G);return I0(H,G)}catch(H){let B=H instanceof Error?H.message:String(H);return h(`Failed to list resource templates: ${B}`)}}),Q.registerTool("read_resource",{description:"Read a specific resource from a backend server",inputSchema:{server:f.string().describe("Name of the backend server"),uri:f.string().describe("URI of the resource to read")}},async({server:$,uri:J},G)=>{let H=H0(X,G,Y);if(!H)return h("Session not found");let B=W.startRequest(H.sessionId,"backend_resource",J,{server:$});try{let V=(await(await X.getOrCreateConnection(H.sessionId,$)).readResource(J)).contents.map((A)=>{if("text"in A&&typeof A.text==="string")return{uri:A.uri,mimeType:A.mimeType,text:A.text};else if("blob"in A&&typeof A.blob==="string")return{uri:A.uri,mimeType:A.mimeType,blob:`[base64 data, ${String(A.blob.length)} chars]`};return A});return W.completeRequest(B,`${String(V.length)} content(s)`),I0({contents:V},H)}catch(z){let K=z instanceof Error?z.message:String(z);return W.failRequest(B,K),h(`Failed to read resource: ${K}`)}}),Q.registerTool("subscribe_resource",{description:"Subscribe to updates for a specific resource. The server will send notifications when the resource changes. Use get_notifications or await_activity to receive updates.",inputSchema:{server:f.string().describe("Name of the backend server"),uri:f.string().describe("URI of the resource to subscribe to")}},async({server:$,uri:J},G)=>{let H=H0(X,G,Y);if(!H)return h("Session not found");try{let B=await X.getOrCreateConnection(H.sessionId,$);if(!B.supportsResourceSubscriptions())return h(`Server '${$}' does not support resource subscriptions`);return await B.subscribeResource(J),E0(`Subscribed to resource '${J}' on server '${$}'`,H)}catch(B){let z=B instanceof Error?B.message:String(B);return h(`Failed to subscribe to resource: ${z}`)}}),Q.registerTool("unsubscribe_resource",{description:"Unsubscribe from updates for a specific resource",inputSchema:{server:f.string().describe("Name of the backend server"),uri:f.string().describe("URI of the resource to unsubscribe from")}},async({server:$,uri:J},G)=>{let H=H0(X,G,Y);if(!H)return h("Session not found");try{let B=await X.getOrCreateConnection(H.sessionId,$);if(!B.supportsResourceSubscriptions())return h(`Server '${$}' does not support resource subscriptions`);return await B.unsubscribeResource(J),E0(`Unsubscribed from resource '${J}' on server '${$}'`,H)}catch(B){let z=B instanceof Error?B.message:String(B);return h(`Failed to unsubscribe from resource: ${z}`)}}),Q.registerTool("list_prompts",{description:"List prompts available from backend servers",inputSchema:{server:f.string().optional().describe("Server name to filter by (omit for all servers)")}},async({server:$},J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");try{let H=[],B=$?[$]:G.listConnectedServers();for(let z of B){let K=G.getConnection(z);if(K?.status!=="connected")continue;try{let V=await K.client.listPrompts();for(let A of V)H.push({server:z,name:A.name,description:A.description,arguments:A.arguments})}catch{}}if(H.length===0)return E0("No prompts available",G);return I0(H,G)}catch(H){let B=H instanceof Error?H.message:String(H);return h(`Failed to list prompts: ${B}`)}}),Q.registerTool("get_prompt",{description:"Get a specific prompt from a backend server",inputSchema:{server:f.string().describe("Name of the backend server"),name:f.string().describe("Name of the prompt to get"),arguments:f.record(f.string()).optional().describe("Arguments to pass to the prompt")}},async({server:$,name:J,arguments:G},H)=>{let B=H0(X,H,Y);if(!B)return h("Session not found");try{let K=await(await X.getOrCreateConnection(B.sessionId,$)).getPrompt(J,G??{});return I0(K,B)}catch(z){let K=z instanceof Error?z.message:String(z);return h(`Failed to get prompt: ${K}`)}}),Q.registerTool("get_notifications",{description:"Get and clear buffered notifications from backend servers for this session",inputSchema:{}},($,J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");let H=G.bufferManager.getAndClearNotifications();if(H.length===0)return E0("No notifications",G);let B=H.map((z)=>({server:z.server,method:z.method,timestamp:z.timestamp.toISOString(),params:z.params}));return I0(B,G)}),Q.registerTool("get_logs",{description:"Get and clear buffered log messages from backend servers for this session",inputSchema:{}},($,J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");let H=G.bufferManager.getAndClearLogs();if(H.length===0)return E0("No log messages",G);let B=H.map((z)=>({server:z.server,level:z.level,logger:z.logger,timestamp:z.timestamp.toISOString(),data:z.data}));return I0(B,G)}),Q.registerTool("get_sampling_requests",{description:"Get pending sampling requests from backend servers that need LLM responses. These are requests from MCP servers asking for LLM completions. URGENT: Backend servers are blocked waiting for these responses. You MUST respond promptly using respond_to_sampling.",inputSchema:{}},($,J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");let H=G.pendingRequests.getPendingSamplingRequests();if(H.length===0)return E0("No pending sampling requests",G);let B=H.map((z)=>({requestId:z.requestId,server:z.server,timestamp:z.timestamp.toISOString(),maxTokens:z.params.maxTokens,systemPrompt:z.params.systemPrompt,temperature:z.params.temperature,messages:z.params.messages,modelPreferences:z.params.modelPreferences,tools:z.params.tools?.map((K)=>({name:K.name,description:K.description}))}));return I0(B,G)}),Q.registerTool("respond_to_sampling",{description:"Respond to a pending sampling request with an LLM result",inputSchema:{request_id:f.string().describe("The ID of the sampling request to respond to"),role:f.enum(["user","assistant"]).describe("The role of the message"),content:f.string().describe("The text content of the response"),model:f.string().describe("The model that generated the response"),stop_reason:f.enum(["endTurn","maxTokens","stopSequence","toolUse"]).optional().describe("Why the model stopped generating")}},({request_id:$,role:J,content:G,model:H,stop_reason:B},z)=>{let K=H0(X,z,Y);if(!K)return h("Session not found");try{return K.pendingRequests.respondToSampling($,{role:J,content:{type:"text",text:G},model:H,stopReason:B}),E0(`Responded to sampling request '${$}'`,K)}catch(V){let A=V instanceof Error?V.message:String(V);return h(`Failed to respond: ${A}`)}}),Q.registerTool("cancel_sampling_request",{description:"Cancel a pending sampling request without responding. Use this when you want to ignore a request or if it seems to be part of a loop.",inputSchema:{request_id:f.string().describe("The ID of the sampling request to cancel"),reason:f.string().default("User cancelled").describe("Optional reason for cancellation")}},({request_id:$,reason:J},G)=>{let H=H0(X,G,Y);if(!H)return h("Session not found");try{return H.pendingRequests.cancelSampling($,J),E0(`Cancelled sampling request '${$}'`,H)}catch(B){let z=B instanceof Error?B.message:String(B);return h(`Failed to cancel: ${z}`)}}),Q.registerTool("get_elicitations",{description:"Get pending elicitation requests from backend servers that need user input. These are requests from MCP servers asking for form data or user confirmation. URGENT: Backend servers are blocked waiting for user responses. You MUST respond promptly using respond_to_elicitation or the request may time out.",inputSchema:{}},($,J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");let H=G.pendingRequests.getPendingElicitationRequests();if(H.length===0)return E0("No pending elicitation requests",G);let B=H.map((z)=>({requestId:z.requestId,server:z.server,timestamp:z.timestamp.toISOString(),mode:"mode"in z.params?z.params.mode:"form",message:z.params.message,requestedSchema:"requestedSchema"in z.params?z.params.requestedSchema:void 0,elicitationId:"elicitationId"in z.params?z.params.elicitationId:void 0,url:"url"in z.params?z.params.url:void 0}));return I0(B,G)}),Q.registerTool("respond_to_elicitation",{description:"Respond to a pending elicitation request with user input",inputSchema:{request_id:f.string().describe("The ID of the elicitation request to respond to"),action:f.enum(["accept","decline","cancel"]).describe("The user's action: accept (with content), decline, or cancel"),content:f.record(f.union([f.string(),f.number(),f.boolean(),f.array(f.string())])).optional().describe("The form field values (required if action is 'accept' for form mode)")}},({request_id:$,action:J,content:G},H)=>{let B=H0(X,H,Y);if(!B)return h("Session not found");try{return B.pendingRequests.respondToElicitation($,{action:J,content:G}),E0(`Responded to elicitation request '${$}' with action '${J}'`,B)}catch(z){let K=z instanceof Error?z.message:String(z);return h(`Failed to respond: ${K}`)}}),Q.registerTool("cancel_elicitation_request",{description:"Cancel a pending elicitation request without responding.",inputSchema:{request_id:f.string().describe("The ID of the elicitation request to cancel"),reason:f.string().default("User cancelled").describe("Optional reason for cancellation")}},({request_id:$,reason:J},G)=>{let H=H0(X,G,Y);if(!H)return h("Session not found");try{return H.pendingRequests.cancelElicitation($,J),E0(`Cancelled elicitation request '${$}'`,H)}catch(B){let z=B instanceof Error?B.message:String(B);return h(`Failed to cancel: ${z}`)}}),Q.registerTool("await_activity",{description:"Wait for activity (events, pending requests) or timeout. Use this to poll for changes efficiently instead of repeatedly calling get_* tools. IMPORTANT: If pending_client.sampling or pending_client.elicitation counts are non-zero, you MUST respond promptly - backend servers are blocked waiting.",inputSchema:{timeout_ms:f.number().min(100).max(900000).default(30000).describe("Maximum time to wait in milliseconds (100-900000, default: 30000)"),last_event_id:f.string().optional().describe("Only return events after this ID (for pagination/continuation)")}},async({timeout_ms:$,last_event_id:J},G)=>{let H=H0(X,G,Y);if(!H)return h("Session not found");let B=J?H.eventSystem.getEventsAfter(J):H.eventSystem.getNewEvents();if(B.length>0)return I0({triggered_by:"existing_events",events:B.map((K)=>({id:K.id,type:K.type,server:K.server,createdAt:K.createdAt.toISOString(),data:K.data})),pending_server:{tasks:H.taskManager.getAllTasks().map((K)=>({taskId:K.taskId,server:K.server,toolName:K.toolName,status:K.status}))},pending_client:{sampling:H.pendingRequests.getPendingSamplingRequests().length,elicitation:H.pendingRequests.getPendingElicitationRequests().length}},H);let z=await H.eventSystem.waitForActivity($);if(z){let K=H.eventSystem.getNewEvents();return I0({triggered_by:z.type,events:K.map((V)=>({id:V.id,type:V.type,server:V.server,createdAt:V.createdAt.toISOString(),data:V.data})),pending_server:{tasks:H.taskManager.getAllTasks().map((V)=>({taskId:V.taskId,server:V.server,toolName:V.toolName,status:V.status}))},pending_client:{sampling:H.pendingRequests.getPendingSamplingRequests().length,elicitation:H.pendingRequests.getPendingElicitationRequests().length}},H)}return I0({triggered_by:"timeout",events:[],pending_server:{tasks:H.taskManager.getAllTasks().map((K)=>({taskId:K.taskId,server:K.server,toolName:K.toolName,status:K.status}))},pending_client:{sampling:H.pendingRequests.getPendingSamplingRequests().length,elicitation:H.pendingRequests.getPendingElicitationRequests().length}},H)}),Q.registerTool("list_tasks",{description:"List proxy tasks (background tool executions that exceeded timeout)",inputSchema:{include_completed:f.boolean().default(!1).describe("Include completed/failed/cancelled tasks (default: false, only working tasks)"),server:f.string().optional().describe("Filter by server name")}},({include_completed:$,server:J},G)=>{let H=H0(X,G,Y);if(!H)return h("Session not found");let B=H.taskManager.getAllTasks($);if(J)B=B.filter((K)=>K.server===J);if(B.length===0)return E0("No tasks",H);let z=B.map((K)=>({taskId:K.taskId,server:K.server,toolName:K.toolName,status:K.status,createdAt:K.createdAt.toISOString(),lastUpdatedAt:K.lastUpdatedAt.toISOString(),error:K.error,hasResult:K.result!==void 0}));return I0(z,H)}),Q.registerTool("get_task",{description:"Get details of a specific task including its result if completed",inputSchema:{task_id:f.string().describe("The task ID to retrieve")}},({task_id:$},J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");let H=G.taskManager.getTask($);if(!H)return h(`Task '${$}' not found`);return I0({taskId:H.taskId,server:H.server,toolName:H.toolName,args:H.args,status:H.status,createdAt:H.createdAt.toISOString(),lastUpdatedAt:H.lastUpdatedAt.toISOString(),ttl:H.ttl,error:H.error,result:H.result},G)}),Q.registerTool("cancel_task",{description:"Cancel a working task",inputSchema:{task_id:f.string().describe("The task ID to cancel")}},({task_id:$},J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");if(G.taskManager.cancelTask($))return E0(`Task '${$}' cancelled`,G);else return h(`Task '${$}' not found or not in working state`)}),Q.registerTool("set_timer",{description:"Set a timer that will fire after a specified duration. When the timer expires, you'll receive a notification in the context info of subsequent tool responses, and it will also appear as a timer_expired event in await_activity.",inputSchema:{duration_ms:f.number().min(1).max(86400000).describe("Duration in milliseconds until the timer fires (max 24 hours)"),message:f.string().min(1).max(500).describe("Message to include in the notification when the timer fires"),interval:f.boolean().default(!1).describe("If true, timer repeats at the specified interval instead of firing once (default: false)")}},({duration_ms:$,message:J,interval:G},H)=>{let B=H0(X,H,Y);if(!B)return h("Session not found");try{let z=B.timerManager.createTimer($,J,G);return I0({timerId:z.id,message:z.message,durationMs:z.durationMs,interval:z.interval,createdAt:z.createdAt.toISOString(),expiresAt:z.expiresAt.toISOString()},B)}catch(z){let K=z instanceof Error?z.message:String(z);return h(`Failed to set timer: ${K}`)}}),Q.registerTool("list_timers",{description:"List all timers for this session",inputSchema:{include_inactive:f.boolean().default(!1).describe("Include expired and deleted timers (default: false, only active timers)")}},({include_inactive:$},J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");let H=G.timerManager.getAllTimers($);if(H.length===0)return E0("No timers",G);let B=H.map((z)=>({id:z.id,message:z.message,durationMs:z.durationMs,status:z.status,interval:z.interval,fireCount:z.fireCount,createdAt:z.createdAt.toISOString(),expiresAt:z.expiresAt.toISOString()}));return I0(B,G)}),Q.registerTool("get_timer",{description:"Get details of a specific timer",inputSchema:{timer_id:f.string().describe("The timer ID to retrieve")}},({timer_id:$},J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");let H=G.timerManager.getTimer($);if(!H)return h(`Timer '${$}' not found`);return I0({id:H.id,message:H.message,durationMs:H.durationMs,status:H.status,interval:H.interval,fireCount:H.fireCount,createdAt:H.createdAt.toISOString(),expiresAt:H.expiresAt.toISOString()},G)}),Q.registerTool("delete_timer",{description:"Delete a timer. Returns the timer details before deletion.",inputSchema:{timer_id:f.string().describe("The timer ID to delete")}},({timer_id:$},J)=>{let G=H0(X,J,Y);if(!G)return h("Session not found");let H=G.timerManager.deleteTimer($);if(!H)return h(`Timer '${$}' not found`);return I0({deleted:!0,timer:{id:H.id,message:H.message,durationMs:H.durationMs,status:H.status,interval:H.interval,fireCount:H.fireCount,createdAt:H.createdAt.toISOString(),expiresAt:H.expiresAt.toISOString()}},G)})}function jg(){let{configPath:Q,port:X,logLevel:Y}=Dg(),W=Sj(Y);W.info("Starting MCP Proxy Server",{port:X,configPath:Q});let $=new $G({logger:W,sessionTimeoutMs:86400000,cleanupIntervalMs:3600000});if(Q)try{let V=Lg(Q);W.info("Loading servers from config",{count:V.servers.length,path:Q});for(let A of V.servers)W.info("Adding server config",{name:A.name,url:A.url}),$.getServerConfigs().addConfig(A.name,A.url)}catch(V){W.error("Failed to load config",{error:V instanceof Error?V.message:String(V)}),process.exit(1)}let J=new GG({logger:W}),G=new IJ({name:"emceepee",version:"0.2.0"}),H=new Map,B=new Map;Og(G,$,H,J);let z=Ag((V,A)=>{let F=V.headers.host??"localhost",L=new URL(V.url??"/",`http://${F}`);if(L.pathname==="/waterfall"||L.pathname==="/waterfall/"){A.writeHead(200,{"Content-Type":"text/html"}),A.end(Cj(J));return}if(L.pathname==="/waterfall/json"){A.writeHead(200,{"Content-Type":"application/json"}),A.end(JSON.stringify(Tj(J),null,2));return}if(L.pathname!=="/mcp"){A.writeHead(404,{"Content-Type":"application/json"}),A.end(JSON.stringify({error:"Not found. Available endpoints: /mcp, /waterfall, /waterfall/json"}));return}let D=V.headers["mcp-session-id"];if(V.method==="POST"){let O=D?B.get(D):void 0;if(!O){if(D)W.warn("transport_not_found_for_session",{transportSessionId:D,transportCount:B.size,knownTransports:Array.from(B.keys())});let j=new JG({logger:W}),q=new yJ({sessionIdGenerator:()=>crypto.randomUUID(),eventStore:j,onsessioninitialized:(M)=>{B.set(M,q),$.createSession().then((S)=>{H.set(M,S.sessionId),W.info("Session created",{transportSessionId:M,sessionId:S.sessionId})})}});O=q,G.connect(q)}else{W.debug("using_existing_transport",{transportSessionId:D});let j=H.get(D??"");if(j)$.touchSession(j)}O.handleRequest(V,A)}else if(V.method==="GET"){if(!D){A.writeHead(400,{"Content-Type":"application/json"}),A.end(JSON.stringify({error:"Missing mcp-session-id header"}));return}let O=B.get(D);if(!O){A.writeHead(404,{"Content-Type":"application/json"}),A.end(JSON.stringify({error:"Session not found"}));return}A.on("close",()=>{W.info("sse_connection_closed",{transportSessionId:D});let q=B.get(D);if(q){q.close(),B.delete(D);let M=H.get(D);if(M)$.destroySession(M),H.delete(D),W.info("session_closed_via_sse",{transportSessionId:D,sessionId:M})}});let j=V.headers["last-event-id"]!==void 0;if(O.handleRequest(V,A),!j)setTimeout(()=>{W.debug("sending_sse_priming_notification",{transportSessionId:D}),G.sendToolListChanged()},100)}else if(V.method==="DELETE"){if(D&&B.has(D)){B.get(D)?.close(),B.delete(D);let j=H.get(D);if(j)$.destroySession(j),H.delete(D);W.info("Session closed",{transportSessionId:D})}A.writeHead(200),A.end()}else A.writeHead(405,{"Content-Type":"application/json"}),A.end(JSON.stringify({error:"Method not allowed"}))}),K=async()=>{W.info("Shutting down...",{});for(let V of B.values())V.close();await $.shutdown(),z.close(),process.exit(0)};process.on("SIGINT",()=>void K()),process.on("SIGTERM",()=>void K()),z.listen(X,()=>{W.info("Server started",{url:`http://localhost:${String(X)}/mcp`}),console.log(`MCP Proxy Server running at http://localhost:${String(X)}/mcp`),console.log(`Waterfall UI available at http://localhost:${String(X)}/waterfall`),console.log(`
|
|
285
285
|
Available tools:`),console.log(" Server management: add_server, remove_server, reconnect_server, list_servers"),console.log(" Tools: list_tools, execute_tool"),console.log(" Resources: list_resources, list_resource_templates, read_resource, subscribe_resource, unsubscribe_resource"),console.log(" Prompts: list_prompts, get_prompt"),console.log(" Notifications: get_notifications, get_logs"),console.log(" Sampling: get_sampling_requests, respond_to_sampling"),console.log(" Elicitation: get_elicitations, respond_to_elicitation"),console.log(" Activity: await_activity"),console.log(" Tasks: list_tasks, get_task, cancel_task")})}jg();
|