mirror of
https://github.com/doukutsu-rs/doukutsu-rs.git
synced 2026-08-24 13:02:49 -07:00
13 lines
70 KiB
JavaScript
13 lines
70 KiB
JavaScript
// If you're looking for source code, see https://github.com/doukutsu-rs/metadata-tool
|
|
"use strict";var At=Object.create;var tt=Object.defineProperty;var $t=Object.getOwnPropertyDescriptor;var Nt=Object.getOwnPropertyNames;var It=Object.getPrototypeOf,Pt=Object.prototype.hasOwnProperty;var jt=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Nt(e))!Pt.call(t,s)&&s!==r&&tt(t,s,{get:()=>e[s],enumerable:!(n=$t(e,s))||n.enumerable});return t};var Dt=(t,e,r)=>(r=t!=null?At(It(t)):{},jt(e||!t||!t.__esModule?tt(r,"default",{value:t,enumerable:!0}):r,t));var wt=require("fs");var _;(function(t){t.assertEqual=s=>s;function e(s){}t.assertIs=e;function r(s){throw new Error}t.assertNever=r,t.arrayToEnum=s=>{let a={};for(let i of s)a[i]=i;return a},t.getValidEnumValues=s=>{let a=t.objectKeys(s).filter(o=>typeof s[s[o]]!="number"),i={};for(let o of a)i[o]=s[o];return t.objectValues(i)},t.objectValues=s=>t.objectKeys(s).map(function(a){return s[a]}),t.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{let a=[];for(let i in s)Object.prototype.hasOwnProperty.call(s,i)&&a.push(i);return a},t.find=(s,a)=>{for(let i of s)if(a(i))return i},t.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&isFinite(s)&&Math.floor(s)===s;function n(s,a=" | "){return s.map(i=>typeof i=="string"?`'${i}'`:i).join(a)}t.joinValues=n,t.jsonStringifyReplacer=(s,a)=>typeof a=="bigint"?a.toString():a})(_||(_={}));var Me;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(Me||(Me={}));var f=_.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),P=t=>{switch(typeof t){case"undefined":return f.undefined;case"string":return f.string;case"number":return isNaN(t)?f.nan:f.number;case"boolean":return f.boolean;case"function":return f.function;case"bigint":return f.bigint;case"symbol":return f.symbol;case"object":return Array.isArray(t)?f.array:t===null?f.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?f.promise:typeof Map<"u"&&t instanceof Map?f.map:typeof Set<"u"&&t instanceof Set?f.set:typeof Date<"u"&&t instanceof Date?f.date:f.object;default:return f.unknown}},u=_.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"]),Zt=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),b=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e}format(e){let r=e||function(a){return a.message},n={_errors:[]},s=a=>{for(let i of a.issues)if(i.code==="invalid_union")i.unionErrors.map(s);else if(i.code==="invalid_return_type")s(i.returnTypeError);else if(i.code==="invalid_arguments")s(i.argumentsError);else if(i.path.length===0)n._errors.push(r(i));else{let o=n,c=0;for(;c<i.path.length;){let d=i.path[c];c===i.path.length-1?(o[d]=o[d]||{_errors:[]},o[d]._errors.push(r(i))):o[d]=o[d]||{_errors:[]},o=o[d],c++}}};return s(this),n}static assert(e){if(!(e instanceof t))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,_.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=r=>r.message){let r={},n=[];for(let s of this.issues)s.path.length>0?(r[s.path[0]]=r[s.path[0]]||[],r[s.path[0]].push(e(s))):n.push(e(s));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};b.create=t=>new b(t);var de=(t,e)=>{let r;switch(t.code){case u.invalid_type:t.received===f.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case u.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,_.jsonStringifyReplacer)}`;break;case u.unrecognized_keys:r=`Unrecognized key(s) in object: ${_.joinValues(t.keys,", ")}`;break;case u.invalid_union:r="Invalid input";break;case u.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${_.joinValues(t.options)}`;break;case u.invalid_enum_value:r=`Invalid enum value. Expected ${_.joinValues(t.options)}, received '${t.received}'`;break;case u.invalid_arguments:r="Invalid function arguments";break;case u.invalid_return_type:r="Invalid function return type";break;case u.invalid_date:r="Invalid date";break;case u.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(r=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?r=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?r=`Invalid input: must end with "${t.validation.endsWith}"`:_.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case u.too_small:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:r="Invalid input";break;case u.too_big:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?r=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:r="Invalid input";break;case u.custom:r="Invalid input";break;case u.invalid_intersection_types:r="Intersection results could not be merged";break;case u.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case u.not_finite:r="Number must be finite";break;default:r=e.defaultError,_.assertNever(t)}return{message:r}},at=de;function Mt(t){at=t}function Ce(){return at}var Oe=t=>{let{data:e,path:r,errorMaps:n,issueData:s}=t,a=[...r,...s.path||[]],i={...s,path:a};if(s.message!==void 0)return{...s,path:a,message:s.message};let o="",c=n.filter(d=>!!d).slice().reverse();for(let d of c)o=d(i,{data:e,defaultError:o}).message;return{...s,path:a,message:o}},Lt=[];function l(t,e){let r=Ce(),n=Oe({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===de?void 0:de].filter(s=>!!s)});t.common.issues.push(n)}var w=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,r){let n=[];for(let s of r){if(s.status==="aborted")return y;s.status==="dirty"&&e.dirty(),n.push(s.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,r){let n=[];for(let s of r){let a=await s.key,i=await s.value;n.push({key:a,value:i})}return t.mergeObjectSync(e,n)}static mergeObjectSync(e,r){let n={};for(let s of r){let{key:a,value:i}=s;if(a.status==="aborted"||i.status==="aborted")return y;a.status==="dirty"&&e.dirty(),i.status==="dirty"&&e.dirty(),a.value!=="__proto__"&&(typeof i.value<"u"||s.alwaysSet)&&(n[a.value]=i.value)}return{status:e.value,value:n}}},y=Object.freeze({status:"aborted"}),ce=t=>({status:"dirty",value:t}),T=t=>({status:"valid",value:t}),Le=t=>t.status==="aborted",Ue=t=>t.status==="dirty",B=t=>t.status==="valid",xe=t=>typeof Promise<"u"&&t instanceof Promise;function Ee(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)}function it(t,e,r,n,s){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!s:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?s.call(t,r):s?s.value=r:e.set(t,r),r}var h;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(h||(h={}));var ve,_e,R=class{constructor(e,r,n,s){this._cachedPath=[],this.parent=e,this.data=r,this._path=n,this._key=s}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},rt=(t,e)=>{if(B(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let r=new b(t.common.issues);return this._error=r,this._error}}};function g(t){if(!t)return{};let{errorMap:e,invalid_type_error:r,required_error:n,description:s}=t;if(e&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:s}:{errorMap:(i,o)=>{var c,d;let{message:p}=t;return i.code==="invalid_enum_value"?{message:p??o.defaultError}:typeof o.data>"u"?{message:(c=p??n)!==null&&c!==void 0?c:o.defaultError}:i.code!=="invalid_type"?{message:o.defaultError}:{message:(d=p??r)!==null&&d!==void 0?d:o.defaultError}},description:s}}var v=class{get description(){return this._def.description}_getType(e){return P(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:P(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new w,ctx:{common:e.parent.common,data:e.data,parsedType:P(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if(xe(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(e){let r=this._parse(e);return Promise.resolve(r)}parse(e,r){let n=this.safeParse(e,r);if(n.success)return n.data;throw n.error}safeParse(e,r){var n;let s={common:{issues:[],async:(n=r==null?void 0:r.async)!==null&&n!==void 0?n:!1,contextualErrorMap:r==null?void 0:r.errorMap},path:(r==null?void 0:r.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:P(e)},a=this._parseSync({data:e,path:s.path,parent:s});return rt(s,a)}"~validate"(e){var r,n;let s={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:P(e)};if(!this["~standard"].async)try{let a=this._parseSync({data:e,path:[],parent:s});return B(a)?{value:a.value}:{issues:s.common.issues}}catch(a){!((n=(r=a==null?void 0:a.message)===null||r===void 0?void 0:r.toLowerCase())===null||n===void 0)&&n.includes("encountered")&&(this["~standard"].async=!0),s.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:s}).then(a=>B(a)?{value:a.value}:{issues:s.common.issues})}async parseAsync(e,r){let n=await this.safeParseAsync(e,r);if(n.success)return n.data;throw n.error}async safeParseAsync(e,r){let n={common:{issues:[],contextualErrorMap:r==null?void 0:r.errorMap,async:!0},path:(r==null?void 0:r.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:P(e)},s=this._parse({data:e,path:n.path,parent:n}),a=await(xe(s)?s:Promise.resolve(s));return rt(n,a)}refine(e,r){let n=s=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(s):r;return this._refinement((s,a)=>{let i=e(s),o=()=>a.addIssue({code:u.custom,...n(s)});return typeof Promise<"u"&&i instanceof Promise?i.then(c=>c?!0:(o(),!1)):i?!0:(o(),!1)})}refinement(e,r){return this._refinement((n,s)=>e(n)?!0:(s.addIssue(typeof r=="function"?r(n,s):r),!1))}_refinement(e){return new O({schema:this,typeName:m.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,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:r=>this["~validate"](r)}}optional(){return E.create(this,this._def)}nullable(){return N.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return D.create(this)}promise(){return V.create(this,this._def)}or(e){return Y.create([this,e],this._def)}and(e){return X.create(this,e,this._def)}transform(e){return new O({...g(this._def),schema:this,typeName:m.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new ne({...g(this._def),innerType:this,defaultValue:r,typeName:m.ZodDefault})}brand(){return new ke({typeName:m.ZodBranded,type:this,...g(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new se({...g(this._def),innerType:this,catchValue:r,typeName:m.ZodCatch})}describe(e){let r=this.constructor;return new r({...this._def,description:e})}pipe(e){return we.create(this,e)}readonly(){return ae.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Ut=/^c[^\s-]{8,}$/i,Vt=/^[0-9a-z]+$/,Ft=/^[0-9A-HJKMNP-TV-Z]{26}$/i,zt=/^[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,Bt=/^[a-z0-9_-]{21}$/i,Ht=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,qt=/^[-+]?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)?)??$/,Wt=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Jt="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Ze,Gt=/^(?:(?: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])$/,Kt=/^(?:(?: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])$/,Yt=/^(([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]))$/,Xt=/^(([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])$/,Qt=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,er=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,ot="((\\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])))",tr=new RegExp(`^${ot}$`);function ct(t){let e="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";return t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`),e}function rr(t){return new RegExp(`^${ct(t)}$`)}function dt(t){let e=`${ot}T${ct(t)}`,r=[];return r.push(t.local?"Z?":"Z"),t.offset&&r.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${r.join("|")})`,new RegExp(`^${e}$`)}function nr(t,e){return!!((e==="v4"||!e)&&Gt.test(t)||(e==="v6"||!e)&&Yt.test(t))}function sr(t,e){if(!Ht.test(t))return!1;try{let[r]=t.split("."),n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),s=JSON.parse(atob(n));return!(typeof s!="object"||s===null||!s.typ||!s.alg||e&&s.alg!==e)}catch{return!1}}function ar(t,e){return!!((e==="v4"||!e)&&Kt.test(t)||(e==="v6"||!e)&&Xt.test(t))}var L=class t extends v{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==f.string){let a=this._getOrReturnCtx(e);return l(a,{code:u.invalid_type,expected:f.string,received:a.parsedType}),y}let n=new w,s;for(let a of this._def.checks)if(a.kind==="min")e.data.length<a.value&&(s=this._getOrReturnCtx(e,s),l(s,{code:u.too_small,minimum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),n.dirty());else if(a.kind==="max")e.data.length>a.value&&(s=this._getOrReturnCtx(e,s),l(s,{code:u.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),n.dirty());else if(a.kind==="length"){let i=e.data.length>a.value,o=e.data.length<a.value;(i||o)&&(s=this._getOrReturnCtx(e,s),i?l(s,{code:u.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!0,message:a.message}):o&&l(s,{code:u.too_small,minimum:a.value,type:"string",inclusive:!0,exact:!0,message:a.message}),n.dirty())}else if(a.kind==="email")Wt.test(e.data)||(s=this._getOrReturnCtx(e,s),l(s,{validation:"email",code:u.invalid_string,message:a.message}),n.dirty());else if(a.kind==="emoji")Ze||(Ze=new RegExp(Jt,"u")),Ze.test(e.data)||(s=this._getOrReturnCtx(e,s),l(s,{validation:"emoji",code:u.invalid_string,message:a.message}),n.dirty());else if(a.kind==="uuid")zt.test(e.data)||(s=this._getOrReturnCtx(e,s),l(s,{validation:"uuid",code:u.invalid_string,message:a.message}),n.dirty());else if(a.kind==="nanoid")Bt.test(e.data)||(s=this._getOrReturnCtx(e,s),l(s,{validation:"nanoid",code:u.invalid_string,message:a.message}),n.dirty());else if(a.kind==="cuid")Ut.test(e.data)||(s=this._getOrReturnCtx(e,s),l(s,{validation:"cuid",code:u.invalid_string,message:a.message}),n.dirty());else if(a.kind==="cuid2")Vt.test(e.data)||(s=this._getOrReturnCtx(e,s),l(s,{validation:"cuid2",code:u.invalid_string,message:a.message}),n.dirty());else if(a.kind==="ulid")Ft.test(e.data)||(s=this._getOrReturnCtx(e,s),l(s,{validation:"ulid",code:u.invalid_string,message:a.message}),n.dirty());else if(a.kind==="url")try{new URL(e.data)}catch{s=this._getOrReturnCtx(e,s),l(s,{validation:"url",code:u.invalid_string,message:a.message}),n.dirty()}else a.kind==="regex"?(a.regex.lastIndex=0,a.regex.test(e.data)||(s=this._getOrReturnCtx(e,s),l(s,{validation:"regex",code:u.invalid_string,message:a.message}),n.dirty())):a.kind==="trim"?e.data=e.data.trim():a.kind==="includes"?e.data.includes(a.value,a.position)||(s=this._getOrReturnCtx(e,s),l(s,{code:u.invalid_string,validation:{includes:a.value,position:a.position},message:a.message}),n.dirty()):a.kind==="toLowerCase"?e.data=e.data.toLowerCase():a.kind==="toUpperCase"?e.data=e.data.toUpperCase():a.kind==="startsWith"?e.data.startsWith(a.value)||(s=this._getOrReturnCtx(e,s),l(s,{code:u.invalid_string,validation:{startsWith:a.value},message:a.message}),n.dirty()):a.kind==="endsWith"?e.data.endsWith(a.value)||(s=this._getOrReturnCtx(e,s),l(s,{code:u.invalid_string,validation:{endsWith:a.value},message:a.message}),n.dirty()):a.kind==="datetime"?dt(a).test(e.data)||(s=this._getOrReturnCtx(e,s),l(s,{code:u.invalid_string,validation:"datetime",message:a.message}),n.dirty()):a.kind==="date"?tr.test(e.data)||(s=this._getOrReturnCtx(e,s),l(s,{code:u.invalid_string,validation:"date",message:a.message}),n.dirty()):a.kind==="time"?rr(a).test(e.data)||(s=this._getOrReturnCtx(e,s),l(s,{code:u.invalid_string,validation:"time",message:a.message}),n.dirty()):a.kind==="duration"?qt.test(e.data)||(s=this._getOrReturnCtx(e,s),l(s,{validation:"duration",code:u.invalid_string,message:a.message}),n.dirty()):a.kind==="ip"?nr(e.data,a.version)||(s=this._getOrReturnCtx(e,s),l(s,{validation:"ip",code:u.invalid_string,message:a.message}),n.dirty()):a.kind==="jwt"?sr(e.data,a.alg)||(s=this._getOrReturnCtx(e,s),l(s,{validation:"jwt",code:u.invalid_string,message:a.message}),n.dirty()):a.kind==="cidr"?ar(e.data,a.version)||(s=this._getOrReturnCtx(e,s),l(s,{validation:"cidr",code:u.invalid_string,message:a.message}),n.dirty()):a.kind==="base64"?Qt.test(e.data)||(s=this._getOrReturnCtx(e,s),l(s,{validation:"base64",code:u.invalid_string,message:a.message}),n.dirty()):a.kind==="base64url"?er.test(e.data)||(s=this._getOrReturnCtx(e,s),l(s,{validation:"base64url",code:u.invalid_string,message:a.message}),n.dirty()):_.assertNever(a);return{status:n.value,value:e.data}}_regex(e,r,n){return this.refinement(s=>e.test(s),{validation:r,code:u.invalid_string,...h.errToObj(n)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...h.errToObj(e)})}url(e){return this._addCheck({kind:"url",...h.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...h.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...h.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...h.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...h.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...h.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...h.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...h.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...h.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...h.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...h.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...h.errToObj(e)})}datetime(e){var r,n;return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,offset:(r=e==null?void 0:e.offset)!==null&&r!==void 0?r:!1,local:(n=e==null?void 0:e.local)!==null&&n!==void 0?n:!1,...h.errToObj(e==null?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,...h.errToObj(e==null?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...h.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...h.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r==null?void 0:r.position,...h.errToObj(r==null?void 0:r.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...h.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...h.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...h.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...h.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...h.errToObj(r)})}nonempty(e){return this.min(1,h.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};L.create=t=>{var e;return new L({checks:[],typeName:m.ZodString,coerce:(e=t==null?void 0:t.coerce)!==null&&e!==void 0?e:!1,...g(t)})};function ir(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,s=r>n?r:n,a=parseInt(t.toFixed(s).replace(".","")),i=parseInt(e.toFixed(s).replace(".",""));return a%i/Math.pow(10,s)}var H=class t extends v{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==f.number){let a=this._getOrReturnCtx(e);return l(a,{code:u.invalid_type,expected:f.number,received:a.parsedType}),y}let n,s=new w;for(let a of this._def.checks)a.kind==="int"?_.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),l(n,{code:u.invalid_type,expected:"integer",received:"float",message:a.message}),s.dirty()):a.kind==="min"?(a.inclusive?e.data<a.value:e.data<=a.value)&&(n=this._getOrReturnCtx(e,n),l(n,{code:u.too_small,minimum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),s.dirty()):a.kind==="max"?(a.inclusive?e.data>a.value:e.data>=a.value)&&(n=this._getOrReturnCtx(e,n),l(n,{code:u.too_big,maximum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),s.dirty()):a.kind==="multipleOf"?ir(e.data,a.value)!==0&&(n=this._getOrReturnCtx(e,n),l(n,{code:u.not_multiple_of,multipleOf:a.value,message:a.message}),s.dirty()):a.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),l(n,{code:u.not_finite,message:a.message}),s.dirty()):_.assertNever(a);return{status:s.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,h.toString(r))}gt(e,r){return this.setLimit("min",e,!1,h.toString(r))}lte(e,r){return this.setLimit("max",e,!0,h.toString(r))}lt(e,r){return this.setLimit("max",e,!1,h.toString(r))}setLimit(e,r,n,s){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:h.toString(s)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:h.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:h.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:h.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:h.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:h.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:h.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:h.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:h.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:h.toString(e)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&_.isInteger(e.value))}get isFinite(){let e=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(e===null||n.value<e)&&(e=n.value)}return Number.isFinite(r)&&Number.isFinite(e)}};H.create=t=>new H({checks:[],typeName:m.ZodNumber,coerce:(t==null?void 0:t.coerce)||!1,...g(t)});var q=class t extends v{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==f.bigint)return this._getInvalidInput(e);let n,s=new w;for(let a of this._def.checks)a.kind==="min"?(a.inclusive?e.data<a.value:e.data<=a.value)&&(n=this._getOrReturnCtx(e,n),l(n,{code:u.too_small,type:"bigint",minimum:a.value,inclusive:a.inclusive,message:a.message}),s.dirty()):a.kind==="max"?(a.inclusive?e.data>a.value:e.data>=a.value)&&(n=this._getOrReturnCtx(e,n),l(n,{code:u.too_big,type:"bigint",maximum:a.value,inclusive:a.inclusive,message:a.message}),s.dirty()):a.kind==="multipleOf"?e.data%a.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),l(n,{code:u.not_multiple_of,multipleOf:a.value,message:a.message}),s.dirty()):_.assertNever(a);return{status:s.value,value:e.data}}_getInvalidInput(e){let r=this._getOrReturnCtx(e);return l(r,{code:u.invalid_type,expected:f.bigint,received:r.parsedType}),y}gte(e,r){return this.setLimit("min",e,!0,h.toString(r))}gt(e,r){return this.setLimit("min",e,!1,h.toString(r))}lte(e,r){return this.setLimit("max",e,!0,h.toString(r))}lt(e,r){return this.setLimit("max",e,!1,h.toString(r))}setLimit(e,r,n,s){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:h.toString(s)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:h.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:h.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:h.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:h.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:h.toString(r)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};q.create=t=>{var e;return new q({checks:[],typeName:m.ZodBigInt,coerce:(e=t==null?void 0:t.coerce)!==null&&e!==void 0?e:!1,...g(t)})};var W=class extends v{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==f.boolean){let n=this._getOrReturnCtx(e);return l(n,{code:u.invalid_type,expected:f.boolean,received:n.parsedType}),y}return T(e.data)}};W.create=t=>new W({typeName:m.ZodBoolean,coerce:(t==null?void 0:t.coerce)||!1,...g(t)});var J=class t extends v{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==f.date){let a=this._getOrReturnCtx(e);return l(a,{code:u.invalid_type,expected:f.date,received:a.parsedType}),y}if(isNaN(e.data.getTime())){let a=this._getOrReturnCtx(e);return l(a,{code:u.invalid_date}),y}let n=new w,s;for(let a of this._def.checks)a.kind==="min"?e.data.getTime()<a.value&&(s=this._getOrReturnCtx(e,s),l(s,{code:u.too_small,message:a.message,inclusive:!0,exact:!1,minimum:a.value,type:"date"}),n.dirty()):a.kind==="max"?e.data.getTime()>a.value&&(s=this._getOrReturnCtx(e,s),l(s,{code:u.too_big,message:a.message,inclusive:!0,exact:!1,maximum:a.value,type:"date"}),n.dirty()):_.assertNever(a);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,r){return this._addCheck({kind:"min",value:e.getTime(),message:h.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:h.toString(r)})}get minDate(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e!=null?new Date(e):null}};J.create=t=>new J({checks:[],coerce:(t==null?void 0:t.coerce)||!1,typeName:m.ZodDate,...g(t)});var ue=class extends v{_parse(e){if(this._getType(e)!==f.symbol){let n=this._getOrReturnCtx(e);return l(n,{code:u.invalid_type,expected:f.symbol,received:n.parsedType}),y}return T(e.data)}};ue.create=t=>new ue({typeName:m.ZodSymbol,...g(t)});var G=class extends v{_parse(e){if(this._getType(e)!==f.undefined){let n=this._getOrReturnCtx(e);return l(n,{code:u.invalid_type,expected:f.undefined,received:n.parsedType}),y}return T(e.data)}};G.create=t=>new G({typeName:m.ZodUndefined,...g(t)});var K=class extends v{_parse(e){if(this._getType(e)!==f.null){let n=this._getOrReturnCtx(e);return l(n,{code:u.invalid_type,expected:f.null,received:n.parsedType}),y}return T(e.data)}};K.create=t=>new K({typeName:m.ZodNull,...g(t)});var U=class extends v{constructor(){super(...arguments),this._any=!0}_parse(e){return T(e.data)}};U.create=t=>new U({typeName:m.ZodAny,...g(t)});var j=class extends v{constructor(){super(...arguments),this._unknown=!0}_parse(e){return T(e.data)}};j.create=t=>new j({typeName:m.ZodUnknown,...g(t)});var A=class extends v{_parse(e){let r=this._getOrReturnCtx(e);return l(r,{code:u.invalid_type,expected:f.never,received:r.parsedType}),y}};A.create=t=>new A({typeName:m.ZodNever,...g(t)});var le=class extends v{_parse(e){if(this._getType(e)!==f.undefined){let n=this._getOrReturnCtx(e);return l(n,{code:u.invalid_type,expected:f.void,received:n.parsedType}),y}return T(e.data)}};le.create=t=>new le({typeName:m.ZodVoid,...g(t)});var D=class t extends v{_parse(e){let{ctx:r,status:n}=this._processInputParams(e),s=this._def;if(r.parsedType!==f.array)return l(r,{code:u.invalid_type,expected:f.array,received:r.parsedType}),y;if(s.exactLength!==null){let i=r.data.length>s.exactLength.value,o=r.data.length<s.exactLength.value;(i||o)&&(l(r,{code:i?u.too_big:u.too_small,minimum:o?s.exactLength.value:void 0,maximum:i?s.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:s.exactLength.message}),n.dirty())}if(s.minLength!==null&&r.data.length<s.minLength.value&&(l(r,{code:u.too_small,minimum:s.minLength.value,type:"array",inclusive:!0,exact:!1,message:s.minLength.message}),n.dirty()),s.maxLength!==null&&r.data.length>s.maxLength.value&&(l(r,{code:u.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((i,o)=>s.type._parseAsync(new R(r,i,r.path,o)))).then(i=>w.mergeArray(n,i));let a=[...r.data].map((i,o)=>s.type._parseSync(new R(r,i,r.path,o)));return w.mergeArray(n,a)}get element(){return this._def.type}min(e,r){return new t({...this._def,minLength:{value:e,message:h.toString(r)}})}max(e,r){return new t({...this._def,maxLength:{value:e,message:h.toString(r)}})}length(e,r){return new t({...this._def,exactLength:{value:e,message:h.toString(r)}})}nonempty(e){return this.min(1,e)}};D.create=(t,e)=>new D({type:t,minLength:null,maxLength:null,exactLength:null,typeName:m.ZodArray,...g(e)});function oe(t){if(t instanceof C){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=E.create(oe(n))}return new C({...t._def,shape:()=>e})}else return t instanceof D?new D({...t._def,type:oe(t.element)}):t instanceof E?E.create(oe(t.unwrap())):t instanceof N?N.create(oe(t.unwrap())):t instanceof $?$.create(t.items.map(e=>oe(e))):t}var C=class t extends v{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),r=_.objectKeys(e);return this._cached={shape:e,keys:r}}_parse(e){if(this._getType(e)!==f.object){let d=this._getOrReturnCtx(e);return l(d,{code:u.invalid_type,expected:f.object,received:d.parsedType}),y}let{status:n,ctx:s}=this._processInputParams(e),{shape:a,keys:i}=this._getCached(),o=[];if(!(this._def.catchall instanceof A&&this._def.unknownKeys==="strip"))for(let d in s.data)i.includes(d)||o.push(d);let c=[];for(let d of i){let p=a[d],k=s.data[d];c.push({key:{status:"valid",value:d},value:p._parse(new R(s,k,s.path,d)),alwaysSet:d in s.data})}if(this._def.catchall instanceof A){let d=this._def.unknownKeys;if(d==="passthrough")for(let p of o)c.push({key:{status:"valid",value:p},value:{status:"valid",value:s.data[p]}});else if(d==="strict")o.length>0&&(l(s,{code:u.unrecognized_keys,keys:o}),n.dirty());else if(d!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let d=this._def.catchall;for(let p of o){let k=s.data[p];c.push({key:{status:"valid",value:p},value:d._parse(new R(s,k,s.path,p)),alwaysSet:p in s.data})}}return s.common.async?Promise.resolve().then(async()=>{let d=[];for(let p of c){let k=await p.key,Z=await p.value;d.push({key:k,value:Z,alwaysSet:p.alwaysSet})}return d}).then(d=>w.mergeObjectSync(n,d)):w.mergeObjectSync(n,c)}get shape(){return this._def.shape()}strict(e){return h.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,n)=>{var s,a,i,o;let c=(i=(a=(s=this._def).errorMap)===null||a===void 0?void 0:a.call(s,r,n).message)!==null&&i!==void 0?i:n.defaultError;return r.code==="unrecognized_keys"?{message:(o=h.errToObj(e).message)!==null&&o!==void 0?o:c}:{message:c}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:m.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let r={};return _.objectKeys(e).forEach(n=>{e[n]&&this.shape[n]&&(r[n]=this.shape[n])}),new t({...this._def,shape:()=>r})}omit(e){let r={};return _.objectKeys(this.shape).forEach(n=>{e[n]||(r[n]=this.shape[n])}),new t({...this._def,shape:()=>r})}deepPartial(){return oe(this)}partial(e){let r={};return _.objectKeys(this.shape).forEach(n=>{let s=this.shape[n];e&&!e[n]?r[n]=s:r[n]=s.optional()}),new t({...this._def,shape:()=>r})}required(e){let r={};return _.objectKeys(this.shape).forEach(n=>{if(e&&!e[n])r[n]=this.shape[n];else{let a=this.shape[n];for(;a instanceof E;)a=a._def.innerType;r[n]=a}}),new t({...this._def,shape:()=>r})}keyof(){return ut(_.objectKeys(this.shape))}};C.create=(t,e)=>new C({shape:()=>t,unknownKeys:"strip",catchall:A.create(),typeName:m.ZodObject,...g(e)});C.strictCreate=(t,e)=>new C({shape:()=>t,unknownKeys:"strict",catchall:A.create(),typeName:m.ZodObject,...g(e)});C.lazycreate=(t,e)=>new C({shape:t,unknownKeys:"strip",catchall:A.create(),typeName:m.ZodObject,...g(e)});var Y=class extends v{_parse(e){let{ctx:r}=this._processInputParams(e),n=this._def.options;function s(a){for(let o of a)if(o.result.status==="valid")return o.result;for(let o of a)if(o.result.status==="dirty")return r.common.issues.push(...o.ctx.common.issues),o.result;let i=a.map(o=>new b(o.ctx.common.issues));return l(r,{code:u.invalid_union,unionErrors:i}),y}if(r.common.async)return Promise.all(n.map(async a=>{let i={...r,common:{...r.common,issues:[]},parent:null};return{result:await a._parseAsync({data:r.data,path:r.path,parent:i}),ctx:i}})).then(s);{let a,i=[];for(let c of n){let d={...r,common:{...r.common,issues:[]},parent:null},p=c._parseSync({data:r.data,path:r.path,parent:d});if(p.status==="valid")return p;p.status==="dirty"&&!a&&(a={result:p,ctx:d}),d.common.issues.length&&i.push(d.common.issues)}if(a)return r.common.issues.push(...a.ctx.common.issues),a.result;let o=i.map(c=>new b(c));return l(r,{code:u.invalid_union,unionErrors:o}),y}}get options(){return this._def.options}};Y.create=(t,e)=>new Y({options:t,typeName:m.ZodUnion,...g(e)});var I=t=>t instanceof Q?I(t.schema):t instanceof O?I(t.innerType()):t instanceof ee?[t.value]:t instanceof te?t.options:t instanceof re?_.objectValues(t.enum):t instanceof ne?I(t._def.innerType):t instanceof G?[void 0]:t instanceof K?[null]:t instanceof E?[void 0,...I(t.unwrap())]:t instanceof N?[null,...I(t.unwrap())]:t instanceof ke||t instanceof ae?I(t.unwrap()):t instanceof se?I(t._def.innerType):[],Re=class t extends v{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==f.object)return l(r,{code:u.invalid_type,expected:f.object,received:r.parsedType}),y;let n=this.discriminator,s=r.data[n],a=this.optionsMap.get(s);return a?r.common.async?a._parseAsync({data:r.data,path:r.path,parent:r}):a._parseSync({data:r.data,path:r.path,parent:r}):(l(r,{code:u.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),y)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,r,n){let s=new Map;for(let a of r){let i=I(a.shape[e]);if(!i.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let o of i){if(s.has(o))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(o)}`);s.set(o,a)}}return new t({typeName:m.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:s,...g(n)})}};function Ve(t,e){let r=P(t),n=P(e);if(t===e)return{valid:!0,data:t};if(r===f.object&&n===f.object){let s=_.objectKeys(e),a=_.objectKeys(t).filter(o=>s.indexOf(o)!==-1),i={...t,...e};for(let o of a){let c=Ve(t[o],e[o]);if(!c.valid)return{valid:!1};i[o]=c.data}return{valid:!0,data:i}}else if(r===f.array&&n===f.array){if(t.length!==e.length)return{valid:!1};let s=[];for(let a=0;a<t.length;a++){let i=t[a],o=e[a],c=Ve(i,o);if(!c.valid)return{valid:!1};s.push(c.data)}return{valid:!0,data:s}}else return r===f.date&&n===f.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}var X=class extends v{_parse(e){let{status:r,ctx:n}=this._processInputParams(e),s=(a,i)=>{if(Le(a)||Le(i))return y;let o=Ve(a.value,i.value);return o.valid?((Ue(a)||Ue(i))&&r.dirty(),{status:r.value,value:o.data}):(l(n,{code:u.invalid_intersection_types}),y)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([a,i])=>s(a,i)):s(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};X.create=(t,e,r)=>new X({left:t,right:e,typeName:m.ZodIntersection,...g(r)});var $=class t extends v{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==f.array)return l(n,{code:u.invalid_type,expected:f.array,received:n.parsedType}),y;if(n.data.length<this._def.items.length)return l(n,{code:u.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),y;!this._def.rest&&n.data.length>this._def.items.length&&(l(n,{code:u.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let a=[...n.data].map((i,o)=>{let c=this._def.items[o]||this._def.rest;return c?c._parse(new R(n,i,n.path,o)):null}).filter(i=>!!i);return n.common.async?Promise.all(a).then(i=>w.mergeArray(r,i)):w.mergeArray(r,a)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};$.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new $({items:t,typeName:m.ZodTuple,rest:null,...g(e)})};var Ae=class t extends v{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==f.object)return l(n,{code:u.invalid_type,expected:f.object,received:n.parsedType}),y;let s=[],a=this._def.keyType,i=this._def.valueType;for(let o in n.data)s.push({key:a._parse(new R(n,o,n.path,o)),value:i._parse(new R(n,n.data[o],n.path,o)),alwaysSet:o in n.data});return n.common.async?w.mergeObjectAsync(r,s):w.mergeObjectSync(r,s)}get element(){return this._def.valueType}static create(e,r,n){return r instanceof v?new t({keyType:e,valueType:r,typeName:m.ZodRecord,...g(n)}):new t({keyType:L.create(),valueType:e,typeName:m.ZodRecord,...g(r)})}},fe=class extends v{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==f.map)return l(n,{code:u.invalid_type,expected:f.map,received:n.parsedType}),y;let s=this._def.keyType,a=this._def.valueType,i=[...n.data.entries()].map(([o,c],d)=>({key:s._parse(new R(n,o,n.path,[d,"key"])),value:a._parse(new R(n,c,n.path,[d,"value"]))}));if(n.common.async){let o=new Map;return Promise.resolve().then(async()=>{for(let c of i){let d=await c.key,p=await c.value;if(d.status==="aborted"||p.status==="aborted")return y;(d.status==="dirty"||p.status==="dirty")&&r.dirty(),o.set(d.value,p.value)}return{status:r.value,value:o}})}else{let o=new Map;for(let c of i){let d=c.key,p=c.value;if(d.status==="aborted"||p.status==="aborted")return y;(d.status==="dirty"||p.status==="dirty")&&r.dirty(),o.set(d.value,p.value)}return{status:r.value,value:o}}}};fe.create=(t,e,r)=>new fe({valueType:e,keyType:t,typeName:m.ZodMap,...g(r)});var he=class t extends v{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==f.set)return l(n,{code:u.invalid_type,expected:f.set,received:n.parsedType}),y;let s=this._def;s.minSize!==null&&n.data.size<s.minSize.value&&(l(n,{code:u.too_small,minimum:s.minSize.value,type:"set",inclusive:!0,exact:!1,message:s.minSize.message}),r.dirty()),s.maxSize!==null&&n.data.size>s.maxSize.value&&(l(n,{code:u.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),r.dirty());let a=this._def.valueType;function i(c){let d=new Set;for(let p of c){if(p.status==="aborted")return y;p.status==="dirty"&&r.dirty(),d.add(p.value)}return{status:r.value,value:d}}let o=[...n.data.values()].map((c,d)=>a._parse(new R(n,c,n.path,d)));return n.common.async?Promise.all(o).then(c=>i(c)):i(o)}min(e,r){return new t({...this._def,minSize:{value:e,message:h.toString(r)}})}max(e,r){return new t({...this._def,maxSize:{value:e,message:h.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}};he.create=(t,e)=>new he({valueType:t,minSize:null,maxSize:null,typeName:m.ZodSet,...g(e)});var $e=class t extends v{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==f.function)return l(r,{code:u.invalid_type,expected:f.function,received:r.parsedType}),y;function n(o,c){return Oe({data:o,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Ce(),de].filter(d=>!!d),issueData:{code:u.invalid_arguments,argumentsError:c}})}function s(o,c){return Oe({data:o,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Ce(),de].filter(d=>!!d),issueData:{code:u.invalid_return_type,returnTypeError:c}})}let a={errorMap:r.common.contextualErrorMap},i=r.data;if(this._def.returns instanceof V){let o=this;return T(async function(...c){let d=new b([]),p=await o._def.args.parseAsync(c,a).catch(M=>{throw d.addIssue(n(c,M)),d}),k=await Reflect.apply(i,this,p);return await o._def.returns._def.type.parseAsync(k,a).catch(M=>{throw d.addIssue(s(k,M)),d})})}else{let o=this;return T(function(...c){let d=o._def.args.safeParse(c,a);if(!d.success)throw new b([n(c,d.error)]);let p=Reflect.apply(i,this,d.data),k=o._def.returns.safeParse(p,a);if(!k.success)throw new b([s(p,k.error)]);return k.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:$.create(e).rest(j.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,r,n){return new t({args:e||$.create([]).rest(j.create()),returns:r||j.create(),typeName:m.ZodFunction,...g(n)})}},Q=class extends v{get schema(){return this._def.getter()}_parse(e){let{ctx:r}=this._processInputParams(e);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};Q.create=(t,e)=>new Q({getter:t,typeName:m.ZodLazy,...g(e)});var ee=class extends v{_parse(e){if(e.data!==this._def.value){let r=this._getOrReturnCtx(e);return l(r,{received:r.data,code:u.invalid_literal,expected:this._def.value}),y}return{status:"valid",value:e.data}}get value(){return this._def.value}};ee.create=(t,e)=>new ee({value:t,typeName:m.ZodLiteral,...g(e)});function ut(t,e){return new te({values:t,typeName:m.ZodEnum,...g(e)})}var te=class t extends v{constructor(){super(...arguments),ve.set(this,void 0)}_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),n=this._def.values;return l(r,{expected:_.joinValues(n),received:r.parsedType,code:u.invalid_type}),y}if(Ee(this,ve,"f")||it(this,ve,new Set(this._def.values),"f"),!Ee(this,ve,"f").has(e.data)){let r=this._getOrReturnCtx(e),n=this._def.values;return l(r,{received:r.data,code:u.invalid_enum_value,options:n}),y}return T(e.data)}get options(){return this._def.values}get enum(){let e={};for(let r of this._def.values)e[r]=r;return e}get Values(){let e={};for(let r of this._def.values)e[r]=r;return e}get Enum(){let e={};for(let r of this._def.values)e[r]=r;return e}extract(e,r=this._def){return t.create(e,{...this._def,...r})}exclude(e,r=this._def){return t.create(this.options.filter(n=>!e.includes(n)),{...this._def,...r})}};ve=new WeakMap;te.create=ut;var re=class extends v{constructor(){super(...arguments),_e.set(this,void 0)}_parse(e){let r=_.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==f.string&&n.parsedType!==f.number){let s=_.objectValues(r);return l(n,{expected:_.joinValues(s),received:n.parsedType,code:u.invalid_type}),y}if(Ee(this,_e,"f")||it(this,_e,new Set(_.getValidEnumValues(this._def.values)),"f"),!Ee(this,_e,"f").has(e.data)){let s=_.objectValues(r);return l(n,{received:n.data,code:u.invalid_enum_value,options:s}),y}return T(e.data)}get enum(){return this._def.values}};_e=new WeakMap;re.create=(t,e)=>new re({values:t,typeName:m.ZodNativeEnum,...g(e)});var V=class extends v{unwrap(){return this._def.type}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==f.promise&&r.common.async===!1)return l(r,{code:u.invalid_type,expected:f.promise,received:r.parsedType}),y;let n=r.parsedType===f.promise?r.data:Promise.resolve(r.data);return T(n.then(s=>this._def.type.parseAsync(s,{path:r.path,errorMap:r.common.contextualErrorMap})))}};V.create=(t,e)=>new V({type:t,typeName:m.ZodPromise,...g(e)});var O=class extends v{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===m.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:r,ctx:n}=this._processInputParams(e),s=this._def.effect||null,a={addIssue:i=>{l(n,i),i.fatal?r.abort():r.dirty()},get path(){return n.path}};if(a.addIssue=a.addIssue.bind(a),s.type==="preprocess"){let i=s.transform(n.data,a);if(n.common.async)return Promise.resolve(i).then(async o=>{if(r.value==="aborted")return y;let c=await this._def.schema._parseAsync({data:o,path:n.path,parent:n});return c.status==="aborted"?y:c.status==="dirty"||r.value==="dirty"?ce(c.value):c});{if(r.value==="aborted")return y;let o=this._def.schema._parseSync({data:i,path:n.path,parent:n});return o.status==="aborted"?y:o.status==="dirty"||r.value==="dirty"?ce(o.value):o}}if(s.type==="refinement"){let i=o=>{let c=s.refinement(o,a);if(n.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return o};if(n.common.async===!1){let o=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?y:(o.status==="dirty"&&r.dirty(),i(o.value),{status:r.value,value:o.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(o=>o.status==="aborted"?y:(o.status==="dirty"&&r.dirty(),i(o.value).then(()=>({status:r.value,value:o.value}))))}if(s.type==="transform")if(n.common.async===!1){let i=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!B(i))return i;let o=s.transform(i.value,a);if(o instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:o}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(i=>B(i)?Promise.resolve(s.transform(i.value,a)).then(o=>({status:r.value,value:o})):i);_.assertNever(s)}};O.create=(t,e,r)=>new O({schema:t,typeName:m.ZodEffects,effect:e,...g(r)});O.createWithPreprocess=(t,e,r)=>new O({schema:e,effect:{type:"preprocess",transform:t},typeName:m.ZodEffects,...g(r)});var E=class extends v{_parse(e){return this._getType(e)===f.undefined?T(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};E.create=(t,e)=>new E({innerType:t,typeName:m.ZodOptional,...g(e)});var N=class extends v{_parse(e){return this._getType(e)===f.null?T(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};N.create=(t,e)=>new N({innerType:t,typeName:m.ZodNullable,...g(e)});var ne=class extends v{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return r.parsedType===f.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};ne.create=(t,e)=>new ne({innerType:t,typeName:m.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...g(e)});var se=class extends v{_parse(e){let{ctx:r}=this._processInputParams(e),n={...r,common:{...r.common,issues:[]}},s=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return xe(s)?s.then(a=>({status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new b(n.common.issues)},input:n.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new b(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};se.create=(t,e)=>new se({innerType:t,typeName:m.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...g(e)});var pe=class extends v{_parse(e){if(this._getType(e)!==f.nan){let n=this._getOrReturnCtx(e);return l(n,{code:u.invalid_type,expected:f.nan,received:n.parsedType}),y}return{status:"valid",value:e.data}}};pe.create=t=>new pe({typeName:m.ZodNaN,...g(t)});var or=Symbol("zod_brand"),ke=class extends v{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},we=class t extends v{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let a=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?y:a.status==="dirty"?(r.dirty(),ce(a.value)):this._def.out._parseAsync({data:a.value,path:n.path,parent:n})})();{let s=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?y:s.status==="dirty"?(r.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:n.path,parent:n})}}static create(e,r){return new t({in:e,out:r,typeName:m.ZodPipeline})}},ae=class extends v{_parse(e){let r=this._def.innerType._parse(e),n=s=>(B(s)&&(s.value=Object.freeze(s.value)),s);return xe(r)?r.then(s=>n(s)):n(r)}unwrap(){return this._def.innerType}};ae.create=(t,e)=>new ae({innerType:t,typeName:m.ZodReadonly,...g(e)});function nt(t,e){let r=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof r=="string"?{message:r}:r}function lt(t,e={},r){return t?U.create().superRefine((n,s)=>{var a,i;let o=t(n);if(o instanceof Promise)return o.then(c=>{var d,p;if(!c){let k=nt(e,n),Z=(p=(d=k.fatal)!==null&&d!==void 0?d:r)!==null&&p!==void 0?p:!0;s.addIssue({code:"custom",...k,fatal:Z})}});if(!o){let c=nt(e,n),d=(i=(a=c.fatal)!==null&&a!==void 0?a:r)!==null&&i!==void 0?i:!0;s.addIssue({code:"custom",...c,fatal:d})}}):U.create()}var cr={object:C.lazycreate},m;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(m||(m={}));var dr=(t,e={message:`Input not instance of ${t.name}`})=>lt(r=>r instanceof t,e),ft=L.create,ht=H.create,ur=pe.create,lr=q.create,pt=W.create,fr=J.create,hr=ue.create,pr=G.create,mr=K.create,yr=U.create,gr=j.create,vr=A.create,_r=le.create,xr=D.create,kr=C.create,wr=C.strictCreate,br=Y.create,Tr=Re.create,Sr=X.create,Cr=$.create,Or=Ae.create,Er=fe.create,Rr=he.create,Ar=$e.create,$r=Q.create,Nr=ee.create,Ir=te.create,Pr=re.create,jr=V.create,st=O.create,Dr=E.create,Zr=N.create,Mr=O.createWithPreprocess,Lr=we.create,Ur=()=>ft().optional(),Vr=()=>ht().optional(),Fr=()=>pt().optional(),zr={string:t=>L.create({...t,coerce:!0}),number:t=>H.create({...t,coerce:!0}),boolean:t=>W.create({...t,coerce:!0}),bigint:t=>q.create({...t,coerce:!0}),date:t=>J.create({...t,coerce:!0})},Br=y,x=Object.freeze({__proto__:null,defaultErrorMap:de,setErrorMap:Mt,getErrorMap:Ce,makeIssue:Oe,EMPTY_PATH:Lt,addIssueToContext:l,ParseStatus:w,INVALID:y,DIRTY:ce,OK:T,isAborted:Le,isDirty:Ue,isValid:B,isAsync:xe,get util(){return _},get objectUtil(){return Me},ZodParsedType:f,getParsedType:P,ZodType:v,datetimeRegex:dt,ZodString:L,ZodNumber:H,ZodBigInt:q,ZodBoolean:W,ZodDate:J,ZodSymbol:ue,ZodUndefined:G,ZodNull:K,ZodAny:U,ZodUnknown:j,ZodNever:A,ZodVoid:le,ZodArray:D,ZodObject:C,ZodUnion:Y,ZodDiscriminatedUnion:Re,ZodIntersection:X,ZodTuple:$,ZodRecord:Ae,ZodMap:fe,ZodSet:he,ZodFunction:$e,ZodLazy:Q,ZodLiteral:ee,ZodEnum:te,ZodNativeEnum:re,ZodPromise:V,ZodEffects:O,ZodTransformer:O,ZodOptional:E,ZodNullable:N,ZodDefault:ne,ZodCatch:se,ZodNaN:pe,BRAND:or,ZodBranded:ke,ZodPipeline:we,ZodReadonly:ae,custom:lt,Schema:v,ZodSchema:v,late:cr,get ZodFirstPartyTypeKind(){return m},coerce:zr,any:yr,array:xr,bigint:lr,boolean:pt,date:fr,discriminatedUnion:Tr,effect:st,enum:Ir,function:Ar,instanceof:dr,intersection:Sr,lazy:$r,literal:Nr,map:Er,nan:ur,nativeEnum:Pr,never:vr,null:mr,nullable:Zr,number:ht,object:kr,oboolean:Fr,onumber:Vr,optional:Dr,ostring:Ur,pipeline:Lr,preprocess:Mr,promise:jr,record:Or,set:Rr,strictObject:wr,string:ft,symbol:hr,transformer:st,tuple:Cr,undefined:pr,union:br,unknown:gr,void:_r,NEVER:Br,ZodIssueCode:u,quotelessJson:Zt,ZodError:b});var Ne=Dt(require("node:fs")),Ie=class{constructor(e){this.cache=new Map;if(this.fileName=e,Ne.default.existsSync(e)){let r=Ne.default.readFileSync(e,"utf-8");this.cache=new Map(JSON.parse(r))}}get(e){return this.cache.get(e)}set(e,r){this.cache.set(e,r),this.save()}save(){let e=JSON.stringify([...this.cache]);Ne.default.writeFileSync(this.fileName,e)}};var Pe=["windows","linux","macos","android","ios","switch","libretro"],mt=["i686","x86_64","arm64","armv7","universal","unknown"];var me=require("crypto");var Hr=!1,qr="https://get.doukutsu.rs",F=class extends Error{constructor(e){super(`Object not found: ${e} (404)`),this.name="ObjectNotFoundError"}};function S(...t){Hr&&console.debug("[R2]",...t)}function De(t){return(0,me.createHash)("sha256").update(t).digest("hex")}function be(t,e){return(0,me.createHmac)("sha256",t).update(e).digest()}function Wr(t,e,r,n){let s=be(`AWS4${t}`,e),a=be(s,r),i=be(a,n);return be(i,"aws4_request")}var yt={retryCount:3,initialRetryDelayMs:5e3,maxRetryDelayMs:3e4};async function je(t){return new Promise(e=>setTimeout(e,t))}function Jr(t){return!(t instanceof F)}function Be(){if(!process.env.CF_ACCOUNT_ID||!process.env.CF_ACCESS_KEY_ID||!process.env.CF_SECRET_ACCESS_KEY||!process.env.CF_BUCKET_NAME)throw new Error("Missing required environment variables: CF_ACCOUNT_ID, CF_ACCESS_KEY_ID, CF_SECRET_ACCESS_KEY, CF_BUCKET_NAME must be set");return{accountId:process.env.CF_ACCOUNT_ID,accessKeyId:process.env.CF_ACCESS_KEY_ID,secretAccessKey:process.env.CF_SECRET_ACCESS_KEY,bucketName:process.env.CF_BUCKET_NAME,noLocking:process.env.NO_LOCKING,noUpload:process.env.NO_UPLOAD,errors:process.env.ERRORS,debug:process.env.DEBUG}}async function He(t,e={}){let r={...yt,...e},n=0,s=null;for(;n<=r.retryCount;)try{if(n>0){let a=Math.min(r.initialRetryDelayMs*Math.pow(2,n-1),r.maxRetryDelayMs);S(`Retry attempt ${n}/${r.retryCount} after ${a}ms...`),await je(a)}return n++,await t()}catch(a){if(s=a,!Jr(a)||n>r.retryCount)break}throw s}function qe(t){let{method:e,objectKey:r,contentType:n,contentHash:s="UNSIGNED-PAYLOAD",additionalHeaders:a={}}=t,{accountId:i,accessKeyId:o,secretAccessKey:c,bucketName:d}=Be(),p="s3",k="auto",Z=`${i}.r2.cloudflarestorage.com`,ie=new Date().toISOString().replace(/[:-]|\.\d{3}/g,""),Ge=ie.substring(0,8),Se={Host:Z,"X-Amz-Content-Sha256":s,"X-Amz-Date":ie,...a};n&&(Se["Content-Type"]=n);let Ke=Object.entries(Se).map(([z,ge])=>[z.toLowerCase(),ge]).sort(([z],[ge])=>z.localeCompare(ge)),Tt=Ke.map(([z,ge])=>`${z}:${ge}
|
|
`).join(""),Ye=Ke.map(([z])=>z).join(";"),Xe=`/${d}/${r}`,St=`${e}
|
|
${Xe}
|
|
|
|
${Tt}
|
|
${Ye}
|
|
${s}`,Qe="AWS4-HMAC-SHA256",et=`${Ge}/${k}/${p}/aws4_request`,Ct=`${Qe}
|
|
${ie}
|
|
${et}
|
|
${De(St)}`,Ot=Wr(c,Ge,k,p),Et=be(Ot,Ct).toString("hex"),Rt=`${Qe} Credential=${o}/${et}, SignedHeaders=${Ye}, Signature=${Et}`;return Se.Authorization=Rt,{url:`https://${Z}${Xe}`,headers:Se}}async function ye(t,e,r,n={}){let s=typeof t=="string"?Buffer.from(t):t,{noUpload:a}=Be();return He(async()=>{let i=De(s);if(!(a==="1"&&r!=="application/json")){let{url:c,headers:d}=qe({method:"PUT",objectKey:e,contentType:r||"application/octet-stream",contentHash:i}),p=await fetch(c,{method:"PUT",headers:d,body:s});if(!p.ok){let k=await p.text();throw new Error(`HTTP error ${p.status}: ${k}`)}}return`${qr}/${e}`},n)}async function Te(t,e={}){return He(async()=>{let{url:r,headers:n}=qe({method:"GET",objectKey:t}),s=await fetch(r,{method:"GET",headers:n});if(!s.ok){if(s.status===404)throw new F(t);let a=await s.text();throw new Error(`HTTP error ${s.status}: ${a}`)}return Buffer.from(await s.arrayBuffer())},e)}var Fe=class{constructor(e,r){this.lockPath=e,this.key=r,this.expiresAt=Date.now()-1}async refresh(e,r=!1){let n=this.expiresAt-Date.now();if(n>0&&!r){S(`Lock at ${this.lockPath} is still valid for ${n}ms`);return}try{let s=await Te(this.lockPath,{retryCount:1}),a=JSON.parse(s.toString("utf-8"));if(a.key!==this.key)throw new Error(`Lock at ${this.lockPath} is now owned by another process`);a.until=Date.now()+e,await ye(JSON.stringify(a),this.lockPath,"application/json",{retryCount:2}),S(`Refreshed lock at ${this.lockPath} until ${new Date(a.until)}`)}catch(s){throw s instanceof F?new Error(`Lock at ${this.lockPath} no longer exists`):s}}async release(){try{let e=await Te(this.lockPath,{retryCount:1});JSON.parse(e.toString("utf-8")).key===this.key?(await Yr(this.lockPath),S(`Released lock at ${this.lockPath}`)):console.warn(`Cannot release lock at ${this.lockPath}, it's now owned by another process`)}catch(e){if(e instanceof F)S(`Lock at ${this.lockPath} may already be released`);else throw e}}},ze=class{constructor(){this.key="";this.lockPath=""}async refresh(){}async release(){}},Gr={...yt,timeoutMs:36e5,lockDurationMs:3e4,pollIntervalMs:2e3};async function Kr(t,e={}){let r={...Gr,...e},n=(0,me.randomUUID)(),s=Date.now(),a=0,{noLocking:i}=Be();if(i==="1")return S("Locking disabled, using no-op lock"),new ze;for(S(`Attempting to acquire lock at ${t} with key ${n}`);Date.now()-s<r.timeoutMs;){let o=()=>Te(t,{retryCount:0}).then(c=>{try{let d=JSON.parse(c.toString("utf-8"));return d.until<Date.now()?(S("Found expired lock, overwriting"),null):d}catch{return S("Found invalid lock file, overwriting"),null}}).catch(c=>{if(c instanceof F)return null;throw c});try{if(await o()){S(`Lock at ${t} is held, waiting...`),await je(r.pollIntervalMs);continue}let p={until:Date.now()+r.lockDurationMs,key:n},k=JSON.stringify(p);if(await ye(k,t,"application/json",{retryCount:1}),S(`Created lock file at ${t}`),await je(Math.random()*200+300),await Te(t,{retryCount:1}).then(M=>{try{return JSON.parse(M.toString("utf-8")).key!==n?!1:(S(`Successfully acquired lock at ${t}`),!0)}catch(ie){return console.error("Failed to parse lock data:",ie),!1}}).catch(M=>(console.error("Failed to validate lock:",M),!1)))return new Fe(t,n);S("Lock validation failed, retrying")}catch(c){console.error(`Error acquiring lock (attempt ${a}):`,c)}a++,await je(r.pollIntervalMs)}throw new Error(`Failed to acquire lock at ${t} after ${r.timeoutMs}ms`)}async function Yr(t,e={}){return He(async()=>{let{url:r,headers:n}=qe({method:"DELETE",objectKey:t}),s=await fetch(r,{method:"DELETE",headers:n});if(!s.ok&&s.status!==404){let a=await s.text();throw new Error(`HTTP error ${s.status}: ${a}`)}},e)}async function We(t,e,r){let n=`${t}.lock`,s=await Kr(n),a=await Te(t).then(i=>JSON.parse(i.toString("utf-8"))).catch(i=>{if(i instanceof F)return r;throw i});S("existingData",a);try{let i=await e(a),o=JSON.stringify(i);return await s.refresh(3e4),await ye(o,t,"application/json"),S("newData",i),i}finally{await s.release()}}var Xr=x.union([x.literal("stable"),x.literal("nightly")]),Je=x.string().min(1),gt=x.enum(Pe),vt=x.enum(mt),Qr=x.string().regex(/^([0-9a-f]{40}|[0-9a-f]{64})$/),en=x.object({beautify:x.boolean().optional(),noSave:x.boolean().optional()}),tn=x.object({command:x.literal("update"),channel:Xr,releaseDate:x.string().datetime().optional(),version:Je,platform:gt,arch:vt,commit:Qr,link:x.string().url().optional(),file:x.string().optional(),note:x.string().optional(),maintainer:x.string().optional(),setupGuide:x.string().url().optional(),experimental:x.boolean().optional()}),rn=x.object({command:x.literal("remove-arch"),channel:x.union([x.literal("stable"),x.literal("nightly")]),version:Je,platform:gt,arch:vt}),nn=x.object({command:x.literal("remove"),channel:x.union([x.literal("stable"),x.literal("nightly")]),version:Je}),_t=x.discriminatedUnion("command",[tn,rn,nn]).and(en);function sn(t){var n;if(t.length===0)throw new Error("No command provided");let r={command:t[0]};for(let s=1;s<t.length;s++){let a=t[s];if(a.startsWith("--")){let i=a.slice(2).replace(/-([a-z])/g,(c,d)=>d.toUpperCase());if(i==="experimental"&&!((n=t[s+1])!=null&&n.startsWith("--"))){r[i]=!0;continue}let o=t[++s];if(o===void 0||o.startsWith("--"))throw new Error(`Missing value for ${a}`);i==="releaseDate"?r[i]=o:i==="experimental"?r[i]=o==="true":r[i]=o}}try{return _t.parse(r)}catch(s){throw s instanceof b?(console.error("Validation error:",s.errors),new Error("Invalid arguments")):s}}var{ERRORS:Nn}=process.env,an={windows:"exe",macos:"zip",linux:"elf",switch:"nro",android:"apk",ios:"ipa"};function on(t){return Pe.includes(t)}var xt=new Ie(".commit-cache.json");async function cn(t){try{let e=xt.get(t);if(e)return new Date(e);let r=process.env.GITHUB_PAT,n={"X-GitHub-API-Version":"2022-11-28"};r&&(n.Authorization=`Bearer ${r}`);let s=await fetch(`https://api.github.com/repos/doukutsu-rs/doukutsu-rs/commits/${t}`,{headers:n});if(!s.ok){console.error(`Failed to fetch commit ${t}: ${s.status} ${s.statusText}`);return}let a=await s.json(),i=new Date(a.commit.author.date);return xt.set(t,i.toISOString()),i}catch(e){console.error("Error fetching commit date:",e);return}}function kt(t,e,r,n){let s=bt(t,e,r,n);return t[s]}function bt(t,e,r,n){let s=t.findIndex(e);if(s!==-1)return s;let a=n();t.push(a),t.sort(r);let i=t.indexOf(a);if(i===-1)throw new Error("Failed to insert new item");return i}async function dn(t,e){let r=`metadata/${t}.json`;await We(r,async n=>{let s=bt(n,a=>a.version===e.version,(a,i)=>{let o=new Date(a.releaseDate);return new Date(i.releaseDate).getTime()-o.getTime()},()=>e);return n[s]={...n[s],...e},t==="nightly"&&(n=n.slice(0,50)),n},[e])}async function un(t){if(t.link&&t.file)throw new Error("Cannot provide both link and file");if(!on(t.platform))throw new Error(`Unsupported platform: ${t.platform}`);let e=t.releaseDate?new Date(t.releaseDate):await cn(t.commit);if(!e)throw new Error("Failed to determine release date");let r=t.link;if(t.file){let a=an[t.platform];if(!a)throw new Error(`No file suffix defined for platform: ${t.platform}`);let i=await wt.promises.readFile(t.file);if(i.length===0)throw new Error("Build file is empty");let o=await De(i),c=`${t.channel}/${t.version}/doukutsu-rs_${t.platform}_${t.version}.${t.arch}.${a}`;await ye(o,`${c}.sha256`);let d=await ye(i,c);console.log(`Successfully uploaded build to ${d}`),console.log(`SHA256: ${o}`),r=d}let n=`${t.channel}/${t.version}/metadata.json`,s=await We(n,async a=>{let i=kt(a.platforms,c=>c.type===t.platform,(c,d)=>c.type.localeCompare(d.type),()=>({type:t.platform,architectures:[]})),o=kt(i.architectures,c=>c.type===t.arch,(c,d)=>c.type.localeCompare(d.type),()=>({type:t.arch,downloadUrl:""}));if(!r&&o.downloadUrl.length===0)throw new Error("Cannot update metadata without a download URL");return o.downloadUrl=r,t.note&&(i.note=t.note),t.experimental!==void 0&&(i.experimental=t.experimental),t.maintainer&&(i.maintainer=t.maintainer),t.setupGuide&&(i.setupGuideLink=t.setupGuide),t.commit&&(a.commit=t.commit),a.releaseDate=e.toISOString(),console.log("releaseDate",a.releaseDate),a},{commit:t.commit,platforms:[],releaseDate:e.toISOString(),version:t.version});await dn(t.channel,s)}async function ln(){let t=process.argv.slice(2),e=sn(t);e.command==="update"&&await un(e)}ln().catch(t=>{console.error(t),process.exit(1)});
|
|
//# sourceMappingURL=uploadBuild.js.map
|