UNPKG

@openai/agents-realtime

Version:

The OpenAI Agents SDK is a lightweight yet powerful framework for building multi-agent workflows. This package contains the logic for building realtime voice agents on the server or in the browser.

1 lines 1.32 MB
(function(M,V){typeof exports=="object"&&typeof module<"u"?V(exports):typeof define=="function"&&define.amd?define(["exports"],V):(M=typeof globalThis<"u"?globalThis:M||self,V(M.OpenAIAgentsRealtime={}))})(this,(function(M){"use strict";var yd=Object.defineProperty;var Ya=M=>{throw TypeError(M)};var vd=(M,V,ee)=>V in M?yd(M,V,{enumerable:!0,configurable:!0,writable:!0,value:ee}):M[V]=ee;var _=(M,V,ee)=>vd(M,typeof V!="symbol"?V+"":V,ee),Jr=(M,V,ee)=>V.has(M)||Ya("Cannot "+ee);var o=(M,V,ee)=>(Jr(M,V,"read from private field"),ee?ee.call(M):V.get(M)),T=(M,V,ee)=>V.has(M)?Ya("Cannot add the same private member more than once"):V instanceof WeakSet?V.add(M):V.set(M,ee),y=(M,V,ee,kn)=>(Jr(M,V,"write to private field"),kn?kn.call(M,ee):V.set(M,ee),ee),L=(M,V,ee)=>(Jr(M,V,"access private method"),ee);var Ct,lt,rn,Et,sn,an,Ot,ue,je,Ge,ze,Rt,le,Br,Gr,Bt,me,on,un,cn,dn,pt,Ve,He,ft,ln,Nt,$e,oe,ht,er,Xa,ge,pn,We,_e,Fe,Dt,Pt,fn,mt,Mt,ce,zr,Vr,Hr,Qa,Wr,gt,hn,pe,mn,gn,K,_n,_t,yn,Ke,Ye,ae,vn,Le,yt,vt,$t,wn,tr,ei,F,D,Ft,P,Lt,Zt,bn,Q,Ut,qt,Re,xn,wt,Sn,Tn,Y,rr,sr,ti,ar,ni,Kr,ri,Yr;const V={version:"0.1.8"};async function ee(n){try{return[null,await n()]}catch(e){return[e,null]}}function kn(n,e){const t={...n};return Object.defineProperties(t,{$brand:{value:"auto-parseable-response-format",enumerable:!1},$parseRaw:{value:e,enumerable:!1}}),t}const si=Symbol("Let zodToJsonSchema decide on which parser to use"),Xr={name:void 0,$refStrategy:"root",effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",nullableStrategy:"from-target",removeAdditionalStrategy:"passthrough",definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"},ai=n=>typeof n=="string"?{...Xr,basePath:["#"],definitions:{},name:n}:{...Xr,basePath:["#"],definitions:{},...n},ir=n=>"_def"in n?n._def:n;function ii(n){if(!n)return!0;for(const e in n)return!1;return!0}const oi=n=>{const e=ai(n),t=e.name!==void 0?[...e.basePath,e.definitionPath,e.name]:e.basePath;return{...e,currentPath:t,propertyPath:void 0,seenRefs:new Set,seen:new Map(Object.entries(e.definitions).map(([r,s])=>[ir(s),{def:ir(s),path:[...e.basePath,e.definitionPath,r],jsonSchema:void 0}]))}};function Qr(n,e,t,r){r!=null&&r.errorMessages&&t&&(n.errorMessage={...n.errorMessage,[e]:t})}function W(n,e,t,r,s){n[e]=t,Qr(n,e,r,s)}var J;(function(n){n.assertEqual=s=>{};function e(s){}n.assertIs=e;function t(s){throw new Error}n.assertNever=t,n.arrayToEnum=s=>{const a={};for(const i of s)a[i]=i;return a},n.getValidEnumValues=s=>{const a=n.objectKeys(s).filter(u=>typeof s[s[u]]!="number"),i={};for(const u of a)i[u]=s[u];return n.objectValues(i)},n.objectValues=s=>n.objectKeys(s).map(function(a){return s[a]}),n.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{const a=[];for(const i in s)Object.prototype.hasOwnProperty.call(s,i)&&a.push(i);return a},n.find=(s,a)=>{for(const i of s)if(a(i))return i},n.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&Number.isFinite(s)&&Math.floor(s)===s;function r(s,a=" | "){return s.map(i=>typeof i=="string"?`'${i}'`:i).join(a)}n.joinValues=r,n.jsonStringifyReplacer=(s,a)=>typeof a=="bigint"?a.toString():a})(J||(J={}));var es;(function(n){n.mergeShapes=(e,t)=>({...e,...t})})(es||(es={}));const k=J.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Ze=n=>{switch(typeof n){case"undefined":return k.undefined;case"string":return k.string;case"number":return Number.isNaN(n)?k.nan:k.number;case"boolean":return k.boolean;case"function":return k.function;case"bigint":return k.bigint;case"symbol":return k.symbol;case"object":return Array.isArray(n)?k.array:n===null?k.null:n.then&&typeof n.then=="function"&&n.catch&&typeof n.catch=="function"?k.promise:typeof Map<"u"&&n instanceof Map?k.map:typeof Set<"u"&&n instanceof Set?k.set:typeof Date<"u"&&n instanceof Date?k.date:k.object;default:return k.unknown}},x=J.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"]);class Ne extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}format(e){const t=e||function(a){return a.message},r={_errors:[]},s=a=>{for(const 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)r._errors.push(t(i));else{let u=r,d=0;for(;d<i.path.length;){const l=i.path[d];d===i.path.length-1?(u[l]=u[l]||{_errors:[]},u[l]._errors.push(t(i))):u[l]=u[l]||{_errors:[]},u=u[l],d++}}};return s(this),r}static assert(e){if(!(e instanceof Ne))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,J.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=t=>t.message){const t={},r=[];for(const s of this.issues)s.path.length>0?(t[s.path[0]]=t[s.path[0]]||[],t[s.path[0]].push(e(s))):r.push(e(s));return{formErrors:r,fieldErrors:t}}get formErrors(){return this.flatten()}}Ne.create=n=>new Ne(n);const or=(n,e)=>{let t;switch(n.code){case x.invalid_type:n.received===k.undefined?t="Required":t=`Expected ${n.expected}, received ${n.received}`;break;case x.invalid_literal:t=`Invalid literal value, expected ${JSON.stringify(n.expected,J.jsonStringifyReplacer)}`;break;case x.unrecognized_keys:t=`Unrecognized key(s) in object: ${J.joinValues(n.keys,", ")}`;break;case x.invalid_union:t="Invalid input";break;case x.invalid_union_discriminator:t=`Invalid discriminator value. Expected ${J.joinValues(n.options)}`;break;case x.invalid_enum_value:t=`Invalid enum value. Expected ${J.joinValues(n.options)}, received '${n.received}'`;break;case x.invalid_arguments:t="Invalid function arguments";break;case x.invalid_return_type:t="Invalid function return type";break;case x.invalid_date:t="Invalid date";break;case x.invalid_string:typeof n.validation=="object"?"includes"in n.validation?(t=`Invalid input: must include "${n.validation.includes}"`,typeof n.validation.position=="number"&&(t=`${t} at one or more positions greater than or equal to ${n.validation.position}`)):"startsWith"in n.validation?t=`Invalid input: must start with "${n.validation.startsWith}"`:"endsWith"in n.validation?t=`Invalid input: must end with "${n.validation.endsWith}"`:J.assertNever(n.validation):n.validation!=="regex"?t=`Invalid ${n.validation}`:t="Invalid";break;case x.too_small:n.type==="array"?t=`Array must contain ${n.exact?"exactly":n.inclusive?"at least":"more than"} ${n.minimum} element(s)`:n.type==="string"?t=`String must contain ${n.exact?"exactly":n.inclusive?"at least":"over"} ${n.minimum} character(s)`:n.type==="number"?t=`Number must be ${n.exact?"exactly equal to ":n.inclusive?"greater than or equal to ":"greater than "}${n.minimum}`:n.type==="date"?t=`Date must be ${n.exact?"exactly equal to ":n.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(n.minimum))}`:t="Invalid input";break;case x.too_big:n.type==="array"?t=`Array must contain ${n.exact?"exactly":n.inclusive?"at most":"less than"} ${n.maximum} element(s)`:n.type==="string"?t=`String must contain ${n.exact?"exactly":n.inclusive?"at most":"under"} ${n.maximum} character(s)`:n.type==="number"?t=`Number must be ${n.exact?"exactly":n.inclusive?"less than or equal to":"less than"} ${n.maximum}`:n.type==="bigint"?t=`BigInt must be ${n.exact?"exactly":n.inclusive?"less than or equal to":"less than"} ${n.maximum}`:n.type==="date"?t=`Date must be ${n.exact?"exactly":n.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(n.maximum))}`:t="Invalid input";break;case x.custom:t="Invalid input";break;case x.invalid_intersection_types:t="Intersection results could not be merged";break;case x.not_multiple_of:t=`Number must be a multiple of ${n.multipleOf}`;break;case x.not_finite:t="Number must be finite";break;default:t=e.defaultError,J.assertNever(n)}return{message:t}};let ui=or;function ci(){return ui}const di=n=>{const{data:e,path:t,errorMaps:r,issueData:s}=n,a=[...t,...s.path||[]],i={...s,path:a};if(s.message!==void 0)return{...s,path:a,message:s.message};let u="";const d=r.filter(l=>!!l).slice().reverse();for(const l of d)u=l(i,{data:e,defaultError:u}).message;return{...s,path:a,message:u}};function I(n,e){const t=ci(),r=di({issueData:e,data:n.data,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,t,t===or?void 0:or].filter(s=>!!s)});n.common.issues.push(r)}class de{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,t){const r=[];for(const s of t){if(s.status==="aborted")return N;s.status==="dirty"&&e.dirty(),r.push(s.value)}return{status:e.value,value:r}}static async mergeObjectAsync(e,t){const r=[];for(const s of t){const a=await s.key,i=await s.value;r.push({key:a,value:i})}return de.mergeObjectSync(e,r)}static mergeObjectSync(e,t){const r={};for(const s of t){const{key:a,value:i}=s;if(a.status==="aborted"||i.status==="aborted")return N;a.status==="dirty"&&e.dirty(),i.status==="dirty"&&e.dirty(),a.value!=="__proto__"&&(typeof i.value<"u"||s.alwaysSet)&&(r[a.value]=i.value)}return{status:e.value,value:r}}}const N=Object.freeze({status:"aborted"}),Gt=n=>({status:"dirty",value:n}),ve=n=>({status:"valid",value:n}),ts=n=>n.status==="aborted",ns=n=>n.status==="dirty",bt=n=>n.status==="valid",An=n=>typeof Promise<"u"&&n instanceof Promise;var C;(function(n){n.errToObj=e=>typeof e=="string"?{message:e}:e||{},n.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(C||(C={}));class ke{constructor(e,t,r,s){this._cachedPath=[],this.parent=e,this.data=t,this._path=r,this._key=s}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const rs=(n,e)=>{if(bt(e))return{success:!0,data:e.value};if(!n.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new Ne(n.common.issues);return this._error=t,this._error}}};function j(n){if(!n)return{};const{errorMap:e,invalid_type_error:t,required_error:r,description:s}=n;if(e&&(t||r))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,u)=>{const{message:d}=n;return i.code==="invalid_enum_value"?{message:d??u.defaultError}:typeof u.data>"u"?{message:d??r??u.defaultError}:i.code!=="invalid_type"?{message:u.defaultError}:{message:d??t??u.defaultError}},description:s}}class Z{get description(){return this._def.description}_getType(e){return Ze(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:Ze(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new de,ctx:{common:e.parent.common,data:e.data,parsedType:Ze(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(An(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const r=this.safeParse(e,t);if(r.success)return r.data;throw r.error}safeParse(e,t){const r={common:{issues:[],async:(t==null?void 0:t.async)??!1,contextualErrorMap:t==null?void 0:t.errorMap},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Ze(e)},s=this._parseSync({data:e,path:r.path,parent:r});return rs(r,s)}"~validate"(e){var r,s;const t={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Ze(e)};if(!this["~standard"].async)try{const a=this._parseSync({data:e,path:[],parent:t});return bt(a)?{value:a.value}:{issues:t.common.issues}}catch(a){(s=(r=a==null?void 0:a.message)==null?void 0:r.toLowerCase())!=null&&s.includes("encountered")&&(this["~standard"].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(a=>bt(a)?{value:a.value}:{issues:t.common.issues})}async parseAsync(e,t){const r=await this.safeParseAsync(e,t);if(r.success)return r.data;throw r.error}async safeParseAsync(e,t){const r={common:{issues:[],contextualErrorMap:t==null?void 0:t.errorMap,async:!0},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Ze(e)},s=this._parse({data:e,path:r.path,parent:r}),a=await(An(s)?s:Promise.resolve(s));return rs(r,a)}refine(e,t){const r=s=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(s):t;return this._refinement((s,a)=>{const i=e(s),u=()=>a.addIssue({code:x.custom,...r(s)});return typeof Promise<"u"&&i instanceof Promise?i.then(d=>d?!0:(u(),!1)):i?!0:(u(),!1)})}refinement(e,t){return this._refinement((r,s)=>e(r)?!0:(s.addIssue(typeof t=="function"?t(r,s):t),!1))}_refinement(e){return new et({schema:this,typeName:S.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:t=>this["~validate"](t)}}optional(){return Me.create(this,this._def)}nullable(){return tt.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Ae.create(this)}promise(){return Pn.create(this,this._def)}or(e){return En.create([this,e],this._def)}and(e){return On.create(this,e,this._def)}transform(e){return new et({...j(this._def),schema:this,typeName:S.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t=typeof e=="function"?e:()=>e;return new Mn({...j(this._def),innerType:this,defaultValue:t,typeName:S.ZodDefault})}brand(){return new ps({typeName:S.ZodBranded,type:this,...j(this._def)})}catch(e){const t=typeof e=="function"?e:()=>e;return new jn({...j(this._def),innerType:this,catchValue:t,typeName:S.ZodCatch})}describe(e){const t=this.constructor;return new t({...this._def,description:e})}pipe(e){return gr.create(this,e)}readonly(){return $n.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const li=/^c[^\s-]{8,}$/i,pi=/^[0-9a-z]+$/,fi=/^[0-9A-HJKMNP-TV-Z]{26}$/i,hi=/^[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,mi=/^[a-z0-9_-]{21}$/i,gi=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,_i=/^[-+]?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)?)??$/,yi=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,vi="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let ur;const wi=/^(?:(?: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])$/,bi=/^(?:(?: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])$/,xi=/^(([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]))$/,Si=/^(([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])$/,Ti=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Ii=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,ss="((\\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])))",ki=new RegExp(`^${ss}$`);function as(n){let e="[0-5]\\d";n.precision?e=`${e}\\.\\d{${n.precision}}`:n.precision==null&&(e=`${e}(\\.\\d+)?`);const t=n.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${t}`}function Ai(n){return new RegExp(`^${as(n)}$`)}function Ci(n){let e=`${ss}T${as(n)}`;const t=[];return t.push(n.local?"Z?":"Z"),n.offset&&t.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${t.join("|")})`,new RegExp(`^${e}$`)}function Ei(n,e){return!!((e==="v4"||!e)&&wi.test(n)||(e==="v6"||!e)&&xi.test(n))}function Oi(n,e){if(!gi.test(n))return!1;try{const[t]=n.split("."),r=t.replace(/-/g,"+").replace(/_/g,"/").padEnd(t.length+(4-t.length%4)%4,"="),s=JSON.parse(atob(r));return!(typeof s!="object"||s===null||"typ"in s&&(s==null?void 0:s.typ)!=="JWT"||!s.alg||e&&s.alg!==e)}catch{return!1}}function Ri(n,e){return!!((e==="v4"||!e)&&bi.test(n)||(e==="v6"||!e)&&Si.test(n))}class De extends Z{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==k.string){const a=this._getOrReturnCtx(e);return I(a,{code:x.invalid_type,expected:k.string,received:a.parsedType}),N}const r=new de;let s;for(const a of this._def.checks)if(a.kind==="min")e.data.length<a.value&&(s=this._getOrReturnCtx(e,s),I(s,{code:x.too_small,minimum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),r.dirty());else if(a.kind==="max")e.data.length>a.value&&(s=this._getOrReturnCtx(e,s),I(s,{code:x.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),r.dirty());else if(a.kind==="length"){const i=e.data.length>a.value,u=e.data.length<a.value;(i||u)&&(s=this._getOrReturnCtx(e,s),i?I(s,{code:x.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!0,message:a.message}):u&&I(s,{code:x.too_small,minimum:a.value,type:"string",inclusive:!0,exact:!0,message:a.message}),r.dirty())}else if(a.kind==="email")yi.test(e.data)||(s=this._getOrReturnCtx(e,s),I(s,{validation:"email",code:x.invalid_string,message:a.message}),r.dirty());else if(a.kind==="emoji")ur||(ur=new RegExp(vi,"u")),ur.test(e.data)||(s=this._getOrReturnCtx(e,s),I(s,{validation:"emoji",code:x.invalid_string,message:a.message}),r.dirty());else if(a.kind==="uuid")hi.test(e.data)||(s=this._getOrReturnCtx(e,s),I(s,{validation:"uuid",code:x.invalid_string,message:a.message}),r.dirty());else if(a.kind==="nanoid")mi.test(e.data)||(s=this._getOrReturnCtx(e,s),I(s,{validation:"nanoid",code:x.invalid_string,message:a.message}),r.dirty());else if(a.kind==="cuid")li.test(e.data)||(s=this._getOrReturnCtx(e,s),I(s,{validation:"cuid",code:x.invalid_string,message:a.message}),r.dirty());else if(a.kind==="cuid2")pi.test(e.data)||(s=this._getOrReturnCtx(e,s),I(s,{validation:"cuid2",code:x.invalid_string,message:a.message}),r.dirty());else if(a.kind==="ulid")fi.test(e.data)||(s=this._getOrReturnCtx(e,s),I(s,{validation:"ulid",code:x.invalid_string,message:a.message}),r.dirty());else if(a.kind==="url")try{new URL(e.data)}catch{s=this._getOrReturnCtx(e,s),I(s,{validation:"url",code:x.invalid_string,message:a.message}),r.dirty()}else a.kind==="regex"?(a.regex.lastIndex=0,a.regex.test(e.data)||(s=this._getOrReturnCtx(e,s),I(s,{validation:"regex",code:x.invalid_string,message:a.message}),r.dirty())):a.kind==="trim"?e.data=e.data.trim():a.kind==="includes"?e.data.includes(a.value,a.position)||(s=this._getOrReturnCtx(e,s),I(s,{code:x.invalid_string,validation:{includes:a.value,position:a.position},message:a.message}),r.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),I(s,{code:x.invalid_string,validation:{startsWith:a.value},message:a.message}),r.dirty()):a.kind==="endsWith"?e.data.endsWith(a.value)||(s=this._getOrReturnCtx(e,s),I(s,{code:x.invalid_string,validation:{endsWith:a.value},message:a.message}),r.dirty()):a.kind==="datetime"?Ci(a).test(e.data)||(s=this._getOrReturnCtx(e,s),I(s,{code:x.invalid_string,validation:"datetime",message:a.message}),r.dirty()):a.kind==="date"?ki.test(e.data)||(s=this._getOrReturnCtx(e,s),I(s,{code:x.invalid_string,validation:"date",message:a.message}),r.dirty()):a.kind==="time"?Ai(a).test(e.data)||(s=this._getOrReturnCtx(e,s),I(s,{code:x.invalid_string,validation:"time",message:a.message}),r.dirty()):a.kind==="duration"?_i.test(e.data)||(s=this._getOrReturnCtx(e,s),I(s,{validation:"duration",code:x.invalid_string,message:a.message}),r.dirty()):a.kind==="ip"?Ei(e.data,a.version)||(s=this._getOrReturnCtx(e,s),I(s,{validation:"ip",code:x.invalid_string,message:a.message}),r.dirty()):a.kind==="jwt"?Oi(e.data,a.alg)||(s=this._getOrReturnCtx(e,s),I(s,{validation:"jwt",code:x.invalid_string,message:a.message}),r.dirty()):a.kind==="cidr"?Ri(e.data,a.version)||(s=this._getOrReturnCtx(e,s),I(s,{validation:"cidr",code:x.invalid_string,message:a.message}),r.dirty()):a.kind==="base64"?Ti.test(e.data)||(s=this._getOrReturnCtx(e,s),I(s,{validation:"base64",code:x.invalid_string,message:a.message}),r.dirty()):a.kind==="base64url"?Ii.test(e.data)||(s=this._getOrReturnCtx(e,s),I(s,{validation:"base64url",code:x.invalid_string,message:a.message}),r.dirty()):J.assertNever(a);return{status:r.value,value:e.data}}_regex(e,t,r){return this.refinement(s=>e.test(s),{validation:t,code:x.invalid_string,...C.errToObj(r)})}_addCheck(e){return new De({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...C.errToObj(e)})}url(e){return this._addCheck({kind:"url",...C.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...C.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...C.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...C.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...C.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...C.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...C.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...C.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...C.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...C.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...C.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...C.errToObj(e)})}datetime(e){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:(e==null?void 0:e.offset)??!1,local:(e==null?void 0:e.local)??!1,...C.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,...C.errToObj(e==null?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...C.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...C.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t==null?void 0:t.position,...C.errToObj(t==null?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...C.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...C.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...C.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...C.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...C.errToObj(t)})}nonempty(e){return this.min(1,C.errToObj(e))}trim(){return new De({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new De({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new De({...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(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}}De.create=n=>new De({checks:[],typeName:S.ZodString,coerce:(n==null?void 0:n.coerce)??!1,...j(n)});function Ni(n,e){const t=(n.toString().split(".")[1]||"").length,r=(e.toString().split(".")[1]||"").length,s=t>r?t:r,a=Number.parseInt(n.toFixed(s).replace(".","")),i=Number.parseInt(e.toFixed(s).replace(".",""));return a%i/10**s}class xt extends Z{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)!==k.number){const a=this._getOrReturnCtx(e);return I(a,{code:x.invalid_type,expected:k.number,received:a.parsedType}),N}let r;const s=new de;for(const a of this._def.checks)a.kind==="int"?J.isInteger(e.data)||(r=this._getOrReturnCtx(e,r),I(r,{code:x.invalid_type,expected:"integer",received:"float",message:a.message}),s.dirty()):a.kind==="min"?(a.inclusive?e.data<a.value:e.data<=a.value)&&(r=this._getOrReturnCtx(e,r),I(r,{code:x.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)&&(r=this._getOrReturnCtx(e,r),I(r,{code:x.too_big,maximum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),s.dirty()):a.kind==="multipleOf"?Ni(e.data,a.value)!==0&&(r=this._getOrReturnCtx(e,r),I(r,{code:x.not_multiple_of,multipleOf:a.value,message:a.message}),s.dirty()):a.kind==="finite"?Number.isFinite(e.data)||(r=this._getOrReturnCtx(e,r),I(r,{code:x.not_finite,message:a.message}),s.dirty()):J.assertNever(a);return{status:s.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,C.toString(t))}gt(e,t){return this.setLimit("min",e,!1,C.toString(t))}lte(e,t){return this.setLimit("max",e,!0,C.toString(t))}lt(e,t){return this.setLimit("max",e,!1,C.toString(t))}setLimit(e,t,r,s){return new xt({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:r,message:C.toString(s)}]})}_addCheck(e){return new xt({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:C.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:C.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:C.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:C.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:C.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:C.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:C.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:C.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:C.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&J.isInteger(e.value))}get isFinite(){let e=null,t=null;for(const r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(t===null||r.value>t)&&(t=r.value):r.kind==="max"&&(e===null||r.value<e)&&(e=r.value)}return Number.isFinite(t)&&Number.isFinite(e)}}xt.create=n=>new xt({checks:[],typeName:S.ZodNumber,coerce:(n==null?void 0:n.coerce)||!1,...j(n)});class zt extends Z{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)!==k.bigint)return this._getInvalidInput(e);let r;const s=new de;for(const a of this._def.checks)a.kind==="min"?(a.inclusive?e.data<a.value:e.data<=a.value)&&(r=this._getOrReturnCtx(e,r),I(r,{code:x.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)&&(r=this._getOrReturnCtx(e,r),I(r,{code:x.too_big,type:"bigint",maximum:a.value,inclusive:a.inclusive,message:a.message}),s.dirty()):a.kind==="multipleOf"?e.data%a.value!==BigInt(0)&&(r=this._getOrReturnCtx(e,r),I(r,{code:x.not_multiple_of,multipleOf:a.value,message:a.message}),s.dirty()):J.assertNever(a);return{status:s.value,value:e.data}}_getInvalidInput(e){const t=this._getOrReturnCtx(e);return I(t,{code:x.invalid_type,expected:k.bigint,received:t.parsedType}),N}gte(e,t){return this.setLimit("min",e,!0,C.toString(t))}gt(e,t){return this.setLimit("min",e,!1,C.toString(t))}lte(e,t){return this.setLimit("max",e,!0,C.toString(t))}lt(e,t){return this.setLimit("max",e,!1,C.toString(t))}setLimit(e,t,r,s){return new zt({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:r,message:C.toString(s)}]})}_addCheck(e){return new zt({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:C.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:C.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:C.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:C.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:C.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}}zt.create=n=>new zt({checks:[],typeName:S.ZodBigInt,coerce:(n==null?void 0:n.coerce)??!1,...j(n)});class cr extends Z{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==k.boolean){const r=this._getOrReturnCtx(e);return I(r,{code:x.invalid_type,expected:k.boolean,received:r.parsedType}),N}return ve(e.data)}}cr.create=n=>new cr({typeName:S.ZodBoolean,coerce:(n==null?void 0:n.coerce)||!1,...j(n)});class Cn extends Z{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==k.date){const a=this._getOrReturnCtx(e);return I(a,{code:x.invalid_type,expected:k.date,received:a.parsedType}),N}if(Number.isNaN(e.data.getTime())){const a=this._getOrReturnCtx(e);return I(a,{code:x.invalid_date}),N}const r=new de;let s;for(const a of this._def.checks)a.kind==="min"?e.data.getTime()<a.value&&(s=this._getOrReturnCtx(e,s),I(s,{code:x.too_small,message:a.message,inclusive:!0,exact:!1,minimum:a.value,type:"date"}),r.dirty()):a.kind==="max"?e.data.getTime()>a.value&&(s=this._getOrReturnCtx(e,s),I(s,{code:x.too_big,message:a.message,inclusive:!0,exact:!1,maximum:a.value,type:"date"}),r.dirty()):J.assertNever(a);return{status:r.value,value:new Date(e.data.getTime())}}_addCheck(e){return new Cn({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:C.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:C.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e!=null?new Date(e):null}}Cn.create=n=>new Cn({checks:[],coerce:(n==null?void 0:n.coerce)||!1,typeName:S.ZodDate,...j(n)});class is extends Z{_parse(e){if(this._getType(e)!==k.symbol){const r=this._getOrReturnCtx(e);return I(r,{code:x.invalid_type,expected:k.symbol,received:r.parsedType}),N}return ve(e.data)}}is.create=n=>new is({typeName:S.ZodSymbol,...j(n)});class dr extends Z{_parse(e){if(this._getType(e)!==k.undefined){const r=this._getOrReturnCtx(e);return I(r,{code:x.invalid_type,expected:k.undefined,received:r.parsedType}),N}return ve(e.data)}}dr.create=n=>new dr({typeName:S.ZodUndefined,...j(n)});class lr extends Z{_parse(e){if(this._getType(e)!==k.null){const r=this._getOrReturnCtx(e);return I(r,{code:x.invalid_type,expected:k.null,received:r.parsedType}),N}return ve(e.data)}}lr.create=n=>new lr({typeName:S.ZodNull,...j(n)});class pr extends Z{constructor(){super(...arguments),this._any=!0}_parse(e){return ve(e.data)}}pr.create=n=>new pr({typeName:S.ZodAny,...j(n)});class os extends Z{constructor(){super(...arguments),this._unknown=!0}_parse(e){return ve(e.data)}}os.create=n=>new os({typeName:S.ZodUnknown,...j(n)});class Ue extends Z{_parse(e){const t=this._getOrReturnCtx(e);return I(t,{code:x.invalid_type,expected:k.never,received:t.parsedType}),N}}Ue.create=n=>new Ue({typeName:S.ZodNever,...j(n)});class us extends Z{_parse(e){if(this._getType(e)!==k.undefined){const r=this._getOrReturnCtx(e);return I(r,{code:x.invalid_type,expected:k.void,received:r.parsedType}),N}return ve(e.data)}}us.create=n=>new us({typeName:S.ZodVoid,...j(n)});class Ae extends Z{_parse(e){const{ctx:t,status:r}=this._processInputParams(e),s=this._def;if(t.parsedType!==k.array)return I(t,{code:x.invalid_type,expected:k.array,received:t.parsedType}),N;if(s.exactLength!==null){const i=t.data.length>s.exactLength.value,u=t.data.length<s.exactLength.value;(i||u)&&(I(t,{code:i?x.too_big:x.too_small,minimum:u?s.exactLength.value:void 0,maximum:i?s.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:s.exactLength.message}),r.dirty())}if(s.minLength!==null&&t.data.length<s.minLength.value&&(I(t,{code:x.too_small,minimum:s.minLength.value,type:"array",inclusive:!0,exact:!1,message:s.minLength.message}),r.dirty()),s.maxLength!==null&&t.data.length>s.maxLength.value&&(I(t,{code:x.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),r.dirty()),t.common.async)return Promise.all([...t.data].map((i,u)=>s.type._parseAsync(new ke(t,i,t.path,u)))).then(i=>de.mergeArray(r,i));const a=[...t.data].map((i,u)=>s.type._parseSync(new ke(t,i,t.path,u)));return de.mergeArray(r,a)}get element(){return this._def.type}min(e,t){return new Ae({...this._def,minLength:{value:e,message:C.toString(t)}})}max(e,t){return new Ae({...this._def,maxLength:{value:e,message:C.toString(t)}})}length(e,t){return new Ae({...this._def,exactLength:{value:e,message:C.toString(t)}})}nonempty(e){return this.min(1,e)}}Ae.create=(n,e)=>new Ae({type:n,minLength:null,maxLength:null,exactLength:null,typeName:S.ZodArray,...j(e)});function St(n){if(n instanceof te){const e={};for(const t in n.shape){const r=n.shape[t];e[t]=Me.create(St(r))}return new te({...n._def,shape:()=>e})}else return n instanceof Ae?new Ae({...n._def,type:St(n.element)}):n instanceof Me?Me.create(St(n.unwrap())):n instanceof tt?tt.create(St(n.unwrap())):n instanceof Xe?Xe.create(n.items.map(e=>St(e))):n}class te extends Z{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const e=this._def.shape(),t=J.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==k.object){const l=this._getOrReturnCtx(e);return I(l,{code:x.invalid_type,expected:k.object,received:l.parsedType}),N}const{status:r,ctx:s}=this._processInputParams(e),{shape:a,keys:i}=this._getCached(),u=[];if(!(this._def.catchall instanceof Ue&&this._def.unknownKeys==="strip"))for(const l in s.data)i.includes(l)||u.push(l);const d=[];for(const l of i){const p=a[l],f=s.data[l];d.push({key:{status:"valid",value:l},value:p._parse(new ke(s,f,s.path,l)),alwaysSet:l in s.data})}if(this._def.catchall instanceof Ue){const l=this._def.unknownKeys;if(l==="passthrough")for(const p of u)d.push({key:{status:"valid",value:p},value:{status:"valid",value:s.data[p]}});else if(l==="strict")u.length>0&&(I(s,{code:x.unrecognized_keys,keys:u}),r.dirty());else if(l!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const l=this._def.catchall;for(const p of u){const f=s.data[p];d.push({key:{status:"valid",value:p},value:l._parse(new ke(s,f,s.path,p)),alwaysSet:p in s.data})}}return s.common.async?Promise.resolve().then(async()=>{const l=[];for(const p of d){const f=await p.key,h=await p.value;l.push({key:f,value:h,alwaysSet:p.alwaysSet})}return l}).then(l=>de.mergeObjectSync(r,l)):de.mergeObjectSync(r,d)}get shape(){return this._def.shape()}strict(e){return C.errToObj,new te({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(t,r)=>{var a,i;const s=((i=(a=this._def).errorMap)==null?void 0:i.call(a,t,r).message)??r.defaultError;return t.code==="unrecognized_keys"?{message:C.errToObj(e).message??s}:{message:s}}}:{}})}strip(){return new te({...this._def,unknownKeys:"strip"})}passthrough(){return new te({...this._def,unknownKeys:"passthrough"})}extend(e){return new te({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new te({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:S.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new te({...this._def,catchall:e})}pick(e){const t={};for(const r of J.objectKeys(e))e[r]&&this.shape[r]&&(t[r]=this.shape[r]);return new te({...this._def,shape:()=>t})}omit(e){const t={};for(const r of J.objectKeys(this.shape))e[r]||(t[r]=this.shape[r]);return new te({...this._def,shape:()=>t})}deepPartial(){return St(this)}partial(e){const t={};for(const r of J.objectKeys(this.shape)){const s=this.shape[r];e&&!e[r]?t[r]=s:t[r]=s.optional()}return new te({...this._def,shape:()=>t})}required(e){const t={};for(const r of J.objectKeys(this.shape))if(e&&!e[r])t[r]=this.shape[r];else{let a=this.shape[r];for(;a instanceof Me;)a=a._def.innerType;t[r]=a}return new te({...this._def,shape:()=>t})}keyof(){return ds(J.objectKeys(this.shape))}}te.create=(n,e)=>new te({shape:()=>n,unknownKeys:"strip",catchall:Ue.create(),typeName:S.ZodObject,...j(e)}),te.strictCreate=(n,e)=>new te({shape:()=>n,unknownKeys:"strict",catchall:Ue.create(),typeName:S.ZodObject,...j(e)}),te.lazycreate=(n,e)=>new te({shape:n,unknownKeys:"strip",catchall:Ue.create(),typeName:S.ZodObject,...j(e)});class En extends Z{_parse(e){const{ctx:t}=this._processInputParams(e),r=this._def.options;function s(a){for(const u of a)if(u.result.status==="valid")return u.result;for(const u of a)if(u.result.status==="dirty")return t.common.issues.push(...u.ctx.common.issues),u.result;const i=a.map(u=>new Ne(u.ctx.common.issues));return I(t,{code:x.invalid_union,unionErrors:i}),N}if(t.common.async)return Promise.all(r.map(async a=>{const i={...t,common:{...t.common,issues:[]},parent:null};return{result:await a._parseAsync({data:t.data,path:t.path,parent:i}),ctx:i}})).then(s);{let a;const i=[];for(const d of r){const l={...t,common:{...t.common,issues:[]},parent:null},p=d._parseSync({data:t.data,path:t.path,parent:l});if(p.status==="valid")return p;p.status==="dirty"&&!a&&(a={result:p,ctx:l}),l.common.issues.length&&i.push(l.common.issues)}if(a)return t.common.issues.push(...a.ctx.common.issues),a.result;const u=i.map(d=>new Ne(d));return I(t,{code:x.invalid_union,unionErrors:u}),N}}get options(){return this._def.options}}En.create=(n,e)=>new En({options:n,typeName:S.ZodUnion,...j(e)});const Pe=n=>n instanceof Nn?Pe(n.schema):n instanceof et?Pe(n.innerType()):n instanceof Dn?[n.value]:n instanceof Qe?n.options:n instanceof mr?J.objectValues(n.enum):n instanceof Mn?Pe(n._def.innerType):n instanceof dr?[void 0]:n instanceof lr?[null]:n instanceof Me?[void 0,...Pe(n.unwrap())]:n instanceof tt?[null,...Pe(n.unwrap())]:n instanceof ps||n instanceof $n?Pe(n.unwrap()):n instanceof jn?Pe(n._def.innerType):[];class fr extends Z{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==k.object)return I(t,{code:x.invalid_type,expected:k.object,received:t.parsedType}),N;const r=this.discriminator,s=t.data[r],a=this.optionsMap.get(s);return a?t.common.async?a._parseAsync({data:t.data,path:t.path,parent:t}):a._parseSync({data:t.data,path:t.path,parent:t}):(I(t,{code:x.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),N)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,r){const s=new Map;for(const a of t){const i=Pe(a.shape[e]);if(!i.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const u of i){if(s.has(u))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(u)}`);s.set(u,a)}}return new fr({typeName:S.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:s,...j(r)})}}function hr(n,e){const t=Ze(n),r=Ze(e);if(n===e)return{valid:!0,data:n};if(t===k.object&&r===k.object){const s=J.objectKeys(e),a=J.objectKeys(n).filter(u=>s.indexOf(u)!==-1),i={...n,...e};for(const u of a){const d=hr(n[u],e[u]);if(!d.valid)return{valid:!1};i[u]=d.data}return{valid:!0,data:i}}else if(t===k.array&&r===k.array){if(n.length!==e.length)return{valid:!1};const s=[];for(let a=0;a<n.length;a++){const i=n[a],u=e[a],d=hr(i,u);if(!d.valid)return{valid:!1};s.push(d.data)}return{valid:!0,data:s}}else return t===k.date&&r===k.date&&+n==+e?{valid:!0,data:n}:{valid:!1}}class On extends Z{_parse(e){const{status:t,ctx:r}=this._processInputParams(e),s=(a,i)=>{if(ts(a)||ts(i))return N;const u=hr(a.value,i.value);return u.valid?((ns(a)||ns(i))&&t.dirty(),{status:t.value,value:u.data}):(I(r,{code:x.invalid_intersection_types}),N)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([a,i])=>s(a,i)):s(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}On.create=(n,e,t)=>new On({left:n,right:e,typeName:S.ZodIntersection,...j(t)});class Xe extends Z{_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==k.array)return I(r,{code:x.invalid_type,expected:k.array,received:r.parsedType}),N;if(r.data.length<this._def.items.length)return I(r,{code:x.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),N;!this._def.rest&&r.data.length>this._def.items.length&&(I(r,{code:x.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const a=[...r.data].map((i,u)=>{const d=this._def.items[u]||this._def.rest;return d?d._parse(new ke(r,i,r.path,u)):null}).filter(i=>!!i);return r.common.async?Promise.all(a).then(i=>de.mergeArray(t,i)):de.mergeArray(t,a)}get items(){return this._def.items}rest(e){return new Xe({...this._def,rest:e})}}Xe.create=(n,e)=>{if(!Array.isArray(n))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Xe({items:n,typeName:S.ZodTuple,rest:null,...j(e)})};class Rn extends Z{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==k.object)return I(r,{code:x.invalid_type,expected:k.object,received:r.parsedType}),N;const s=[],a=this._def.keyType,i=this._def.valueType;for(const u in r.data)s.push({key:a._parse(new ke(r,u,r.path,u)),value:i._parse(new ke(r,r.data[u],r.path,u)),alwaysSet:u in r.data});return r.common.async?de.mergeObjectAsync(t,s):de.mergeObjectSync(t,s)}get element(){return this._def.valueType}static create(e,t,r){return t instanceof Z?new Rn({keyType:e,valueType:t,typeName:S.ZodRecord,...j(r)}):new Rn({keyType:De.create(),valueType:e,typeName:S.ZodRecord,...j(t)})}}class cs extends Z{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==k.map)return I(r,{code:x.invalid_type,expected:k.map,received:r.parsedType}),N;const s=this._def.keyType,a=this._def.valueType,i=[...r.data.entries()].map(([u,d],l)=>({key:s._parse(new ke(r,u,r.path,[l,"key"])),value:a._parse(new ke(r,d,r.path,[l,"value"]))}));if(r.common.async){const u=new Map;return Promise.resolve().then(async()=>{for(const d of i){const l=await d.key,p=await d.value;if(l.status==="aborted"||p.status==="aborted")return N;(l.status==="dirty"||p.status==="dirty")&&t.dirty(),u.set(l.value,p.value)}return{status:t.value,value:u}})}else{const u=new Map;for(const d of i){const l=d.key,p=d.value;if(l.status==="aborted"||p.status==="aborted")return N;(l.status==="dirty"||p.status==="dirty")&&t.dirty(),u.set(l.value,p.value)}return{status:t.value,value:u}}}}cs.create=(n,e,t)=>new cs({valueType:e,keyType:n,typeName:S.ZodMap,...j(t)});class Vt extends Z{_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==k.set)return I(r,{code:x.invalid_type,expected:k.set,received:r.parsedType}),N;const s=this._def;s.minSize!==null&&r.data.size<s.minSize.value&&(I(r,{code:x.too_small,minimum:s.minSize.value,type:"set",inclusive:!0,exact:!1,message:s.minSize.message}),t.dirty()),s.maxSize!==null&&r.data.size>s.maxSize.value&&(I(r,{code:x.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),t.dirty());const a=this._def.valueType;function i(d){const l=new Set;for(const p of d){if(p.status==="aborted")return N;p.status==="dirty"&&t.dirty(),l.add(p.value)}return{status:t.value,value:l}}const u=[...r.data.values()].map((d,l)=>a._parse(new ke(r,d,r.path,l)));return r.common.async?Promise.all(u).then(d=>i(d)):i(u)}min(e,t){return new Vt({...this._def,minSize:{value:e,message:C.toString(t)}})}max(e,t){return new Vt({...this._def,maxSize:{value:e,message:C.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}Vt.create=(n,e)=>new Vt({valueType:n,minSize:null,maxSize:null,typeName:S.ZodSet,...j(e)});class Nn extends Z{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}Nn.create=(n,e)=>new Nn({getter:n,typeName:S.ZodLazy,...j(e)});class Dn extends Z{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return I(t,{received:t.data,code:x.invalid_literal,expected:this._def.value}),N}return{status:"valid",value:e.data}}get value(){retur