@agiflowai/agent-cli 0.0.8 → 0.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,16 +1,38 @@
1
- "use strict";const Fs=require("node:os"),Ps=require("node:path"),Te=require("ulidx"),js=require("node:fs"),Ee=require("node:perf_hooks"),Oe=require("path"),Ce=require("fs-extra"),Ut=require("os"),$s=require("node:crypto");require("@inquirer/prompts");function es(n){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const t in n)if(t!=="default"){const s=Object.getOwnPropertyDescriptor(n,t);Object.defineProperty(e,t,s.get?s:{enumerable:!0,get:()=>n[t]})}}return e.default=n,Object.freeze(e)}const jt=es(Fs),fe=es(Ps),ke=es(js);var z;(function(n){n.assertEqual=o=>{};function e(o){}n.assertIs=e;function t(o){throw new Error}n.assertNever=t,n.arrayToEnum=o=>{const r={};for(const i of o)r[i]=i;return r},n.getValidEnumValues=o=>{const r=n.objectKeys(o).filter(a=>typeof o[o[a]]!="number"),i={};for(const a of r)i[a]=o[a];return n.objectValues(i)},n.objectValues=o=>n.objectKeys(o).map(function(r){return o[r]}),n.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{const r=[];for(const i in o)Object.prototype.hasOwnProperty.call(o,i)&&r.push(i);return r},n.find=(o,r)=>{for(const i of o)if(r(i))return i},n.isInteger=typeof Number.isInteger=="function"?o=>Number.isInteger(o):o=>typeof o=="number"&&Number.isFinite(o)&&Math.floor(o)===o;function s(o,r=" | "){return o.map(i=>typeof i=="string"?`'${i}'`:i).join(r)}n.joinValues=s,n.jsonStringifyReplacer=(o,r)=>typeof r=="bigint"?r.toString():r})(z||(z={}));var Zt;(function(n){n.mergeShapes=(e,t)=>({...e,...t})})(Zt||(Zt={}));const y=z.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Ie=n=>{switch(typeof n){case"undefined":return y.undefined;case"string":return y.string;case"number":return Number.isNaN(n)?y.nan:y.number;case"boolean":return y.boolean;case"function":return y.function;case"bigint":return y.bigint;case"symbol":return y.symbol;case"object":return Array.isArray(n)?y.array:n===null?y.null:n.then&&typeof n.then=="function"&&n.catch&&typeof n.catch=="function"?y.promise:typeof Map<"u"&&n instanceof Map?y.map:typeof Set<"u"&&n instanceof Set?y.set:typeof Date<"u"&&n instanceof Date?y.date:y.object;default:return y.unknown}},l=z.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"]),Ds=n=>JSON.stringify(n,null,2).replace(/"([^"]+)":/g,"$1:");class _e extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=s=>{this.issues=[...this.issues,s]},this.addIssues=(s=[])=>{this.issues=[...this.issues,...s]};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(r){return r.message},s={_errors:[]},o=r=>{for(const i of r.issues)if(i.code==="invalid_union")i.unionErrors.map(o);else if(i.code==="invalid_return_type")o(i.returnTypeError);else if(i.code==="invalid_arguments")o(i.argumentsError);else if(i.path.length===0)s._errors.push(t(i));else{let a=s,p=0;for(;p<i.path.length;){const u=i.path[p];p===i.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(t(i))):a[u]=a[u]||{_errors:[]},a=a[u],p++}}};return o(this),s}static assert(e){if(!(e instanceof _e))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,z.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=t=>t.message){const t={},s=[];for(const o of this.issues)if(o.path.length>0){const r=o.path[0];t[r]=t[r]||[],t[r].push(e(o))}else s.push(e(o));return{formErrors:s,fieldErrors:t}}get formErrors(){return this.flatten()}}_e.create=n=>new _e(n);const Ye=(n,e)=>{let t;switch(n.code){case l.invalid_type:n.received===y.undefined?t="Required":t=`Expected ${n.expected}, received ${n.received}`;break;case l.invalid_literal:t=`Invalid literal value, expected ${JSON.stringify(n.expected,z.jsonStringifyReplacer)}`;break;case l.unrecognized_keys:t=`Unrecognized key(s) in object: ${z.joinValues(n.keys,", ")}`;break;case l.invalid_union:t="Invalid input";break;case l.invalid_union_discriminator:t=`Invalid discriminator value. Expected ${z.joinValues(n.options)}`;break;case l.invalid_enum_value:t=`Invalid enum value. Expected ${z.joinValues(n.options)}, received '${n.received}'`;break;case l.invalid_arguments:t="Invalid function arguments";break;case l.invalid_return_type:t="Invalid function return type";break;case l.invalid_date:t="Invalid date";break;case l.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}"`:z.assertNever(n.validation):n.validation!=="regex"?t=`Invalid ${n.validation}`:t="Invalid";break;case l.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==="bigint"?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 l.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 l.custom:t="Invalid input";break;case l.invalid_intersection_types:t="Intersection results could not be merged";break;case l.not_multiple_of:t=`Number must be a multiple of ${n.multipleOf}`;break;case l.not_finite:t="Number must be finite";break;default:t=e.defaultError,z.assertNever(n)}return{message:t}};let ws=Ye;function qs(n){ws=n}function Rt(){return ws}const Nt=n=>{const{data:e,path:t,errorMaps:s,issueData:o}=n,r=[...t,...o.path||[]],i={...o,path:r};if(o.message!==void 0)return{...o,path:r,message:o.message};let a="";const p=s.filter(u=>!!u).slice().reverse();for(const u of p)a=u(i,{data:e,defaultError:a}).message;return{...o,path:r,message:a}},Bs=[];function f(n,e){const t=Rt(),s=Nt({issueData:e,data:n.data,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,t,t===Ye?void 0:Ye].filter(o=>!!o)});n.common.issues.push(s)}class ie{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,t){const s=[];for(const o of t){if(o.status==="aborted")return T;o.status==="dirty"&&e.dirty(),s.push(o.value)}return{status:e.value,value:s}}static async mergeObjectAsync(e,t){const s=[];for(const o of t){const r=await o.key,i=await o.value;s.push({key:r,value:i})}return ie.mergeObjectSync(e,s)}static mergeObjectSync(e,t){const s={};for(const o of t){const{key:r,value:i}=o;if(r.status==="aborted"||i.status==="aborted")return T;r.status==="dirty"&&e.dirty(),i.status==="dirty"&&e.dirty(),r.value!=="__proto__"&&(typeof i.value<"u"||o.alwaysSet)&&(s[r.value]=i.value)}return{status:e.value,value:s}}}const T=Object.freeze({status:"aborted"}),Ze=n=>({status:"dirty",value:n}),ue=n=>({status:"valid",value:n}),Jt=n=>n.status==="aborted",Wt=n=>n.status==="dirty",qe=n=>n.status==="valid",it=n=>typeof Promise<"u"&&n instanceof Promise;var b;(function(n){n.errToObj=e=>typeof e=="string"?{message:e}:e||{},n.toString=e=>typeof e=="string"?e:e?.message})(b||(b={}));class xe{constructor(e,t,s,o){this._cachedPath=[],this.parent=e,this.data=t,this._path=s,this._key=o}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 as=(n,e)=>{if(qe(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 _e(n.common.issues);return this._error=t,this._error}}};function A(n){if(!n)return{};const{errorMap:e,invalid_type_error:t,required_error:s,description:o}=n;if(e&&(t||s))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:o}:{errorMap:(i,a)=>{const{message:p}=n;return i.code==="invalid_enum_value"?{message:p??a.defaultError}:typeof a.data>"u"?{message:p??s??a.defaultError}:i.code!=="invalid_type"?{message:a.defaultError}:{message:p??t??a.defaultError}},description:o}}class O{get description(){return this._def.description}_getType(e){return Ie(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:Ie(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new ie,ctx:{common:e.parent.common,data:e.data,parsedType:Ie(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(it(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 s=this.safeParse(e,t);if(s.success)return s.data;throw s.error}safeParse(e,t){const s={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Ie(e)},o=this._parseSync({data:e,path:s.path,parent:s});return as(s,o)}"~validate"(e){const t={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Ie(e)};if(!this["~standard"].async)try{const s=this._parseSync({data:e,path:[],parent:t});return qe(s)?{value:s.value}:{issues:t.common.issues}}catch(s){s?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(s=>qe(s)?{value:s.value}:{issues:t.common.issues})}async parseAsync(e,t){const s=await this.safeParseAsync(e,t);if(s.success)return s.data;throw s.error}async safeParseAsync(e,t){const s={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Ie(e)},o=this._parse({data:e,path:s.path,parent:s}),r=await(it(o)?o:Promise.resolve(o));return as(s,r)}refine(e,t){const s=o=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(o):t;return this._refinement((o,r)=>{const i=e(o),a=()=>r.addIssue({code:l.custom,...s(o)});return typeof Promise<"u"&&i instanceof Promise?i.then(p=>p?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(e,t){return this._refinement((s,o)=>e(s)?!0:(o.addIssue(typeof t=="function"?t(s,o):t),!1))}_refinement(e){return new he({schema:this,typeName:E.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 ve.create(this,this._def)}nullable(){return Fe.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return me.create(this)}promise(){return Xe.create(this,this._def)}or(e){return _t.create([this,e],this._def)}and(e){return ct.create(this,e,this._def)}transform(e){return new he({...A(this._def),schema:this,typeName:E.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t=typeof e=="function"?e:()=>e;return new gt({...A(this._def),innerType:this,defaultValue:t,typeName:E.ZodDefault})}brand(){return new ts({typeName:E.ZodBranded,type:this,...A(this._def)})}catch(e){const t=typeof e=="function"?e:()=>e;return new ft({...A(this._def),innerType:this,catchValue:t,typeName:E.ZodCatch})}describe(e){const t=this.constructor;return new t({...this._def,description:e})}pipe(e){return yt.create(this,e)}readonly(){return kt.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const Us=/^c[^\s-]{8,}$/i,Hs=/^[0-9a-z]+$/,Gs=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Vs=/^[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,Zs=/^[a-z0-9_-]{21}$/i,Js=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Ws=/^[-+]?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)?)??$/,Ys=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Ks="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let Ht;const Xs=/^(?:(?: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])$/,Qs=/^(?:(?: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])$/,eo=/^(([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]))$/,to=/^(([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])$/,so=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,oo=/^([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])))",ro=new RegExp(`^${Ss}$`);function Ts(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 no(n){return new RegExp(`^${Ts(n)}$`)}function Es(n){let e=`${Ss}T${Ts(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 io(n,e){return!!((e==="v4"||!e)&&Xs.test(n)||(e==="v6"||!e)&&eo.test(n))}function ao(n,e){if(!Js.test(n))return!1;try{const[t]=n.split(".");if(!t)return!1;const s=t.replace(/-/g,"+").replace(/_/g,"/").padEnd(t.length+(4-t.length%4)%4,"="),o=JSON.parse(atob(s));return!(typeof o!="object"||o===null||"typ"in o&&o?.typ!=="JWT"||!o.alg||e&&o.alg!==e)}catch{return!1}}function po(n,e){return!!((e==="v4"||!e)&&Qs.test(n)||(e==="v6"||!e)&&to.test(n))}class de extends O{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==y.string){const r=this._getOrReturnCtx(e);return f(r,{code:l.invalid_type,expected:y.string,received:r.parsedType}),T}const s=new ie;let o;for(const r of this._def.checks)if(r.kind==="min")e.data.length<r.value&&(o=this._getOrReturnCtx(e,o),f(o,{code:l.too_small,minimum:r.value,type:"string",inclusive:!0,exact:!1,message:r.message}),s.dirty());else if(r.kind==="max")e.data.length>r.value&&(o=this._getOrReturnCtx(e,o),f(o,{code:l.too_big,maximum:r.value,type:"string",inclusive:!0,exact:!1,message:r.message}),s.dirty());else if(r.kind==="length"){const i=e.data.length>r.value,a=e.data.length<r.value;(i||a)&&(o=this._getOrReturnCtx(e,o),i?f(o,{code:l.too_big,maximum:r.value,type:"string",inclusive:!0,exact:!0,message:r.message}):a&&f(o,{code:l.too_small,minimum:r.value,type:"string",inclusive:!0,exact:!0,message:r.message}),s.dirty())}else if(r.kind==="email")Ys.test(e.data)||(o=this._getOrReturnCtx(e,o),f(o,{validation:"email",code:l.invalid_string,message:r.message}),s.dirty());else if(r.kind==="emoji")Ht||(Ht=new RegExp(Ks,"u")),Ht.test(e.data)||(o=this._getOrReturnCtx(e,o),f(o,{validation:"emoji",code:l.invalid_string,message:r.message}),s.dirty());else if(r.kind==="uuid")Vs.test(e.data)||(o=this._getOrReturnCtx(e,o),f(o,{validation:"uuid",code:l.invalid_string,message:r.message}),s.dirty());else if(r.kind==="nanoid")Zs.test(e.data)||(o=this._getOrReturnCtx(e,o),f(o,{validation:"nanoid",code:l.invalid_string,message:r.message}),s.dirty());else if(r.kind==="cuid")Us.test(e.data)||(o=this._getOrReturnCtx(e,o),f(o,{validation:"cuid",code:l.invalid_string,message:r.message}),s.dirty());else if(r.kind==="cuid2")Hs.test(e.data)||(o=this._getOrReturnCtx(e,o),f(o,{validation:"cuid2",code:l.invalid_string,message:r.message}),s.dirty());else if(r.kind==="ulid")Gs.test(e.data)||(o=this._getOrReturnCtx(e,o),f(o,{validation:"ulid",code:l.invalid_string,message:r.message}),s.dirty());else if(r.kind==="url")try{new URL(e.data)}catch{o=this._getOrReturnCtx(e,o),f(o,{validation:"url",code:l.invalid_string,message:r.message}),s.dirty()}else r.kind==="regex"?(r.regex.lastIndex=0,r.regex.test(e.data)||(o=this._getOrReturnCtx(e,o),f(o,{validation:"regex",code:l.invalid_string,message:r.message}),s.dirty())):r.kind==="trim"?e.data=e.data.trim():r.kind==="includes"?e.data.includes(r.value,r.position)||(o=this._getOrReturnCtx(e,o),f(o,{code:l.invalid_string,validation:{includes:r.value,position:r.position},message:r.message}),s.dirty()):r.kind==="toLowerCase"?e.data=e.data.toLowerCase():r.kind==="toUpperCase"?e.data=e.data.toUpperCase():r.kind==="startsWith"?e.data.startsWith(r.value)||(o=this._getOrReturnCtx(e,o),f(o,{code:l.invalid_string,validation:{startsWith:r.value},message:r.message}),s.dirty()):r.kind==="endsWith"?e.data.endsWith(r.value)||(o=this._getOrReturnCtx(e,o),f(o,{code:l.invalid_string,validation:{endsWith:r.value},message:r.message}),s.dirty()):r.kind==="datetime"?Es(r).test(e.data)||(o=this._getOrReturnCtx(e,o),f(o,{code:l.invalid_string,validation:"datetime",message:r.message}),s.dirty()):r.kind==="date"?ro.test(e.data)||(o=this._getOrReturnCtx(e,o),f(o,{code:l.invalid_string,validation:"date",message:r.message}),s.dirty()):r.kind==="time"?no(r).test(e.data)||(o=this._getOrReturnCtx(e,o),f(o,{code:l.invalid_string,validation:"time",message:r.message}),s.dirty()):r.kind==="duration"?Ws.test(e.data)||(o=this._getOrReturnCtx(e,o),f(o,{validation:"duration",code:l.invalid_string,message:r.message}),s.dirty()):r.kind==="ip"?io(e.data,r.version)||(o=this._getOrReturnCtx(e,o),f(o,{validation:"ip",code:l.invalid_string,message:r.message}),s.dirty()):r.kind==="jwt"?ao(e.data,r.alg)||(o=this._getOrReturnCtx(e,o),f(o,{validation:"jwt",code:l.invalid_string,message:r.message}),s.dirty()):r.kind==="cidr"?po(e.data,r.version)||(o=this._getOrReturnCtx(e,o),f(o,{validation:"cidr",code:l.invalid_string,message:r.message}),s.dirty()):r.kind==="base64"?so.test(e.data)||(o=this._getOrReturnCtx(e,o),f(o,{validation:"base64",code:l.invalid_string,message:r.message}),s.dirty()):r.kind==="base64url"?oo.test(e.data)||(o=this._getOrReturnCtx(e,o),f(o,{validation:"base64url",code:l.invalid_string,message:r.message}),s.dirty()):z.assertNever(r);return{status:s.value,value:e.data}}_regex(e,t,s){return this.refinement(o=>e.test(o),{validation:t,code:l.invalid_string,...b.errToObj(s)})}_addCheck(e){return new de({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...b.errToObj(e)})}url(e){return this._addCheck({kind:"url",...b.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...b.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...b.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...b.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...b.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...b.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...b.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...b.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...b.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...b.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...b.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...b.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?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...b.errToObj(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?.precision>"u"?null:e?.precision,...b.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...b.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...b.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t?.position,...b.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...b.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...b.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...b.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...b.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...b.errToObj(t)})}nonempty(e){return this.min(1,b.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:E.ZodString,coerce:n?.coerce??!1,...A(n)});function uo(n,e){const t=(n.toString().split(".")[1]||"").length,s=(e.toString().split(".")[1]||"").length,o=t>s?t:s,r=Number.parseInt(n.toFixed(o).replace(".","")),i=Number.parseInt(e.toFixed(o).replace(".",""));return r%i/10**o}class Le extends O{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)!==y.number){const r=this._getOrReturnCtx(e);return f(r,{code:l.invalid_type,expected:y.number,received:r.parsedType}),T}let s;const o=new ie;for(const r of this._def.checks)r.kind==="int"?z.isInteger(e.data)||(s=this._getOrReturnCtx(e,s),f(s,{code:l.invalid_type,expected:"integer",received:"float",message:r.message}),o.dirty()):r.kind==="min"?(r.inclusive?e.data<r.value:e.data<=r.value)&&(s=this._getOrReturnCtx(e,s),f(s,{code:l.too_small,minimum:r.value,type:"number",inclusive:r.inclusive,exact:!1,message:r.message}),o.dirty()):r.kind==="max"?(r.inclusive?e.data>r.value:e.data>=r.value)&&(s=this._getOrReturnCtx(e,s),f(s,{code:l.too_big,maximum:r.value,type:"number",inclusive:r.inclusive,exact:!1,message:r.message}),o.dirty()):r.kind==="multipleOf"?uo(e.data,r.value)!==0&&(s=this._getOrReturnCtx(e,s),f(s,{code:l.not_multiple_of,multipleOf:r.value,message:r.message}),o.dirty()):r.kind==="finite"?Number.isFinite(e.data)||(s=this._getOrReturnCtx(e,s),f(s,{code:l.not_finite,message:r.message}),o.dirty()):z.assertNever(r);return{status:o.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,b.toString(t))}gt(e,t){return this.setLimit("min",e,!1,b.toString(t))}lte(e,t){return this.setLimit("max",e,!0,b.toString(t))}lt(e,t){return this.setLimit("max",e,!1,b.toString(t))}setLimit(e,t,s,o){return new Le({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:s,message:b.toString(o)}]})}_addCheck(e){return new Le({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:b.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:b.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:b.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:b.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:b.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:b.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:b.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:b.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:b.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"&&z.isInteger(e.value))}get isFinite(){let e=null,t=null;for(const s of this._def.checks){if(s.kind==="finite"||s.kind==="int"||s.kind==="multipleOf")return!0;s.kind==="min"?(t===null||s.value>t)&&(t=s.value):s.kind==="max"&&(e===null||s.value<e)&&(e=s.value)}return Number.isFinite(t)&&Number.isFinite(e)}}Le.create=n=>new Le({checks:[],typeName:E.ZodNumber,coerce:n?.coerce||!1,...A(n)});class ze extends O{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)!==y.bigint)return this._getInvalidInput(e);let s;const o=new ie;for(const r of this._def.checks)r.kind==="min"?(r.inclusive?e.data<r.value:e.data<=r.value)&&(s=this._getOrReturnCtx(e,s),f(s,{code:l.too_small,type:"bigint",minimum:r.value,inclusive:r.inclusive,message:r.message}),o.dirty()):r.kind==="max"?(r.inclusive?e.data>r.value:e.data>=r.value)&&(s=this._getOrReturnCtx(e,s),f(s,{code:l.too_big,type:"bigint",maximum:r.value,inclusive:r.inclusive,message:r.message}),o.dirty()):r.kind==="multipleOf"?e.data%r.value!==BigInt(0)&&(s=this._getOrReturnCtx(e,s),f(s,{code:l.not_multiple_of,multipleOf:r.value,message:r.message}),o.dirty()):z.assertNever(r);return{status:o.value,value:e.data}}_getInvalidInput(e){const t=this._getOrReturnCtx(e);return f(t,{code:l.invalid_type,expected:y.bigint,received:t.parsedType}),T}gte(e,t){return this.setLimit("min",e,!0,b.toString(t))}gt(e,t){return this.setLimit("min",e,!1,b.toString(t))}lte(e,t){return this.setLimit("max",e,!0,b.toString(t))}lt(e,t){return this.setLimit("max",e,!1,b.toString(t))}setLimit(e,t,s,o){return new ze({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:s,message:b.toString(o)}]})}_addCheck(e){return new ze({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:b.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:b.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:b.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:b.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:b.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}}ze.create=n=>new ze({checks:[],typeName:E.ZodBigInt,coerce:n?.coerce??!1,...A(n)});class at extends O{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==y.boolean){const s=this._getOrReturnCtx(e);return f(s,{code:l.invalid_type,expected:y.boolean,received:s.parsedType}),T}return ue(e.data)}}at.create=n=>new at({typeName:E.ZodBoolean,coerce:n?.coerce||!1,...A(n)});class Be extends O{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==y.date){const r=this._getOrReturnCtx(e);return f(r,{code:l.invalid_type,expected:y.date,received:r.parsedType}),T}if(Number.isNaN(e.data.getTime())){const r=this._getOrReturnCtx(e);return f(r,{code:l.invalid_date}),T}const s=new ie;let o;for(const r of this._def.checks)r.kind==="min"?e.data.getTime()<r.value&&(o=this._getOrReturnCtx(e,o),f(o,{code:l.too_small,message:r.message,inclusive:!0,exact:!1,minimum:r.value,type:"date"}),s.dirty()):r.kind==="max"?e.data.getTime()>r.value&&(o=this._getOrReturnCtx(e,o),f(o,{code:l.too_big,message:r.message,inclusive:!0,exact:!1,maximum:r.value,type:"date"}),s.dirty()):z.assertNever(r);return{status:s.value,value:new Date(e.data.getTime())}}_addCheck(e){return new Be({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:b.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:b.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}}Be.create=n=>new Be({checks:[],coerce:n?.coerce||!1,typeName:E.ZodDate,...A(n)});class Lt extends O{_parse(e){if(this._getType(e)!==y.symbol){const s=this._getOrReturnCtx(e);return f(s,{code:l.invalid_type,expected:y.symbol,received:s.parsedType}),T}return ue(e.data)}}Lt.create=n=>new Lt({typeName:E.ZodSymbol,...A(n)});class pt extends O{_parse(e){if(this._getType(e)!==y.undefined){const s=this._getOrReturnCtx(e);return f(s,{code:l.invalid_type,expected:y.undefined,received:s.parsedType}),T}return ue(e.data)}}pt.create=n=>new pt({typeName:E.ZodUndefined,...A(n)});class ut extends O{_parse(e){if(this._getType(e)!==y.null){const s=this._getOrReturnCtx(e);return f(s,{code:l.invalid_type,expected:y.null,received:s.parsedType}),T}return ue(e.data)}}ut.create=n=>new ut({typeName:E.ZodNull,...A(n)});class Ke extends O{constructor(){super(...arguments),this._any=!0}_parse(e){return ue(e.data)}}Ke.create=n=>new Ke({typeName:E.ZodAny,...A(n)});class De extends O{constructor(){super(...arguments),this._unknown=!0}_parse(e){return ue(e.data)}}De.create=n=>new De({typeName:E.ZodUnknown,...A(n)});class Ae extends O{_parse(e){const t=this._getOrReturnCtx(e);return f(t,{code:l.invalid_type,expected:y.never,received:t.parsedType}),T}}Ae.create=n=>new Ae({typeName:E.ZodNever,...A(n)});class zt extends O{_parse(e){if(this._getType(e)!==y.undefined){const s=this._getOrReturnCtx(e);return f(s,{code:l.invalid_type,expected:y.void,received:s.parsedType}),T}return ue(e.data)}}zt.create=n=>new zt({typeName:E.ZodVoid,...A(n)});class me extends O{_parse(e){const{ctx:t,status:s}=this._processInputParams(e),o=this._def;if(t.parsedType!==y.array)return f(t,{code:l.invalid_type,expected:y.array,received:t.parsedType}),T;if(o.exactLength!==null){const i=t.data.length>o.exactLength.value,a=t.data.length<o.exactLength.value;(i||a)&&(f(t,{code:i?l.too_big:l.too_small,minimum:a?o.exactLength.value:void 0,maximum:i?o.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:o.exactLength.message}),s.dirty())}if(o.minLength!==null&&t.data.length<o.minLength.value&&(f(t,{code:l.too_small,minimum:o.minLength.value,type:"array",inclusive:!0,exact:!1,message:o.minLength.message}),s.dirty()),o.maxLength!==null&&t.data.length>o.maxLength.value&&(f(t,{code:l.too_big,maximum:o.maxLength.value,type:"array",inclusive:!0,exact:!1,message:o.maxLength.message}),s.dirty()),t.common.async)return Promise.all([...t.data].map((i,a)=>o.type._parseAsync(new xe(t,i,t.path,a)))).then(i=>ie.mergeArray(s,i));const r=[...t.data].map((i,a)=>o.type._parseSync(new xe(t,i,t.path,a)));return ie.mergeArray(s,r)}get element(){return this._def.type}min(e,t){return new me({...this._def,minLength:{value:e,message:b.toString(t)}})}max(e,t){return new me({...this._def,maxLength:{value:e,message:b.toString(t)}})}length(e,t){return new me({...this._def,exactLength:{value:e,message:b.toString(t)}})}nonempty(e){return this.min(1,e)}}me.create=(n,e)=>new me({type:n,minLength:null,maxLength:null,exactLength:null,typeName:E.ZodArray,...A(e)});function Ve(n){if(n instanceof U){const e={};for(const t in n.shape){const s=n.shape[t];e[t]=ve.create(Ve(s))}return new U({...n._def,shape:()=>e})}else return n instanceof me?new me({...n._def,type:Ve(n.element)}):n instanceof ve?ve.create(Ve(n.unwrap())):n instanceof Fe?Fe.create(Ve(n.unwrap())):n instanceof be?be.create(n.items.map(e=>Ve(e))):n}class U extends O{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=z.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==y.object){const u=this._getOrReturnCtx(e);return f(u,{code:l.invalid_type,expected:y.object,received:u.parsedType}),T}const{status:s,ctx:o}=this._processInputParams(e),{shape:r,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof Ae&&this._def.unknownKeys==="strip"))for(const u in o.data)i.includes(u)||a.push(u);const p=[];for(const u of i){const c=r[u],g=o.data[u];p.push({key:{status:"valid",value:u},value:c._parse(new xe(o,g,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof Ae){const u=this._def.unknownKeys;if(u==="passthrough")for(const c of a)p.push({key:{status:"valid",value:c},value:{status:"valid",value:o.data[c]}});else if(u==="strict")a.length>0&&(f(o,{code:l.unrecognized_keys,keys:a}),s.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const u=this._def.catchall;for(const c of a){const g=o.data[c];p.push({key:{status:"valid",value:c},value:u._parse(new xe(o,g,o.path,c)),alwaysSet:c in o.data})}}return o.common.async?Promise.resolve().then(async()=>{const u=[];for(const c of p){const g=await c.key,v=await c.value;u.push({key:g,value:v,alwaysSet:c.alwaysSet})}return u}).then(u=>ie.mergeObjectSync(s,u)):ie.mergeObjectSync(s,p)}get shape(){return this._def.shape()}strict(e){return b.errToObj,new U({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(t,s)=>{const o=this._def.errorMap?.(t,s).message??s.defaultError;return t.code==="unrecognized_keys"?{message:b.errToObj(e).message??o}:{message:o}}}:{}})}strip(){return new U({...this._def,unknownKeys:"strip"})}passthrough(){return new U({...this._def,unknownKeys:"passthrough"})}extend(e){return new U({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new U({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:E.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new U({...this._def,catchall:e})}pick(e){const t={};for(const s of z.objectKeys(e))e[s]&&this.shape[s]&&(t[s]=this.shape[s]);return new U({...this._def,shape:()=>t})}omit(e){const t={};for(const s of z.objectKeys(this.shape))e[s]||(t[s]=this.shape[s]);return new U({...this._def,shape:()=>t})}deepPartial(){return Ve(this)}partial(e){const t={};for(const s of z.objectKeys(this.shape)){const o=this.shape[s];e&&!e[s]?t[s]=o:t[s]=o.optional()}return new U({...this._def,shape:()=>t})}required(e){const t={};for(const s of z.objectKeys(this.shape))if(e&&!e[s])t[s]=this.shape[s];else{let r=this.shape[s];for(;r instanceof ve;)r=r._def.innerType;t[s]=r}return new U({...this._def,shape:()=>t})}keyof(){return Is(z.objectKeys(this.shape))}}U.create=(n,e)=>new U({shape:()=>n,unknownKeys:"strip",catchall:Ae.create(),typeName:E.ZodObject,...A(e)});U.strictCreate=(n,e)=>new U({shape:()=>n,unknownKeys:"strict",catchall:Ae.create(),typeName:E.ZodObject,...A(e)});U.lazycreate=(n,e)=>new U({shape:n,unknownKeys:"strip",catchall:Ae.create(),typeName:E.ZodObject,...A(e)});class _t extends O{_parse(e){const{ctx:t}=this._processInputParams(e),s=this._def.options;function o(r){for(const a of r)if(a.result.status==="valid")return a.result;for(const a of r)if(a.result.status==="dirty")return t.common.issues.push(...a.ctx.common.issues),a.result;const i=r.map(a=>new _e(a.ctx.common.issues));return f(t,{code:l.invalid_union,unionErrors:i}),T}if(t.common.async)return Promise.all(s.map(async r=>{const i={...t,common:{...t.common,issues:[]},parent:null};return{result:await r._parseAsync({data:t.data,path:t.path,parent:i}),ctx:i}})).then(o);{let r;const i=[];for(const p of s){const u={...t,common:{...t.common,issues:[]},parent:null},c=p._parseSync({data:t.data,path:t.path,parent:u});if(c.status==="valid")return c;c.status==="dirty"&&!r&&(r={result:c,ctx:u}),u.common.issues.length&&i.push(u.common.issues)}if(r)return t.common.issues.push(...r.ctx.common.issues),r.result;const a=i.map(p=>new _e(p));return f(t,{code:l.invalid_union,unionErrors:a}),T}}get options(){return this._def.options}}_t.create=(n,e)=>new _t({options:n,typeName:E.ZodUnion,...A(e)});const Se=n=>n instanceof dt?Se(n.schema):n instanceof he?Se(n.innerType()):n instanceof mt?[n.value]:n instanceof Me?n.options:n instanceof ht?z.objectValues(n.enum):n instanceof gt?Se(n._def.innerType):n instanceof pt?[void 0]:n instanceof ut?[null]:n instanceof ve?[void 0,...Se(n.unwrap())]:n instanceof Fe?[null,...Se(n.unwrap())]:n instanceof ts||n instanceof kt?Se(n.unwrap()):n instanceof ft?Se(n._def.innerType):[];class $t extends O{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==y.object)return f(t,{code:l.invalid_type,expected:y.object,received:t.parsedType}),T;const s=this.discriminator,o=t.data[s],r=this.optionsMap.get(o);return r?t.common.async?r._parseAsync({data:t.data,path:t.path,parent:t}):r._parseSync({data:t.data,path:t.path,parent:t}):(f(t,{code:l.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[s]}),T)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,s){const o=new Map;for(const r of t){const i=Se(r.shape[e]);if(!i.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const a of i){if(o.has(a))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(a)}`);o.set(a,r)}}return new $t({typeName:E.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:o,...A(s)})}}function Yt(n,e){const t=Ie(n),s=Ie(e);if(n===e)return{valid:!0,data:n};if(t===y.object&&s===y.object){const o=z.objectKeys(e),r=z.objectKeys(n).filter(a=>o.indexOf(a)!==-1),i={...n,...e};for(const a of r){const p=Yt(n[a],e[a]);if(!p.valid)return{valid:!1};i[a]=p.data}return{valid:!0,data:i}}else if(t===y.array&&s===y.array){if(n.length!==e.length)return{valid:!1};const o=[];for(let r=0;r<n.length;r++){const i=n[r],a=e[r],p=Yt(i,a);if(!p.valid)return{valid:!1};o.push(p.data)}return{valid:!0,data:o}}else return t===y.date&&s===y.date&&+n==+e?{valid:!0,data:n}:{valid:!1}}class ct extends O{_parse(e){const{status:t,ctx:s}=this._processInputParams(e),o=(r,i)=>{if(Jt(r)||Jt(i))return T;const a=Yt(r.value,i.value);return a.valid?((Wt(r)||Wt(i))&&t.dirty(),{status:t.value,value:a.data}):(f(s,{code:l.invalid_intersection_types}),T)};return s.common.async?Promise.all([this._def.left._parseAsync({data:s.data,path:s.path,parent:s}),this._def.right._parseAsync({data:s.data,path:s.path,parent:s})]).then(([r,i])=>o(r,i)):o(this._def.left._parseSync({data:s.data,path:s.path,parent:s}),this._def.right._parseSync({data:s.data,path:s.path,parent:s}))}}ct.create=(n,e,t)=>new ct({left:n,right:e,typeName:E.ZodIntersection,...A(t)});class be extends O{_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==y.array)return f(s,{code:l.invalid_type,expected:y.array,received:s.parsedType}),T;if(s.data.length<this._def.items.length)return f(s,{code:l.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),T;!this._def.rest&&s.data.length>this._def.items.length&&(f(s,{code:l.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const r=[...s.data].map((i,a)=>{const p=this._def.items[a]||this._def.rest;return p?p._parse(new xe(s,i,s.path,a)):null}).filter(i=>!!i);return s.common.async?Promise.all(r).then(i=>ie.mergeArray(t,i)):ie.mergeArray(t,r)}get items(){return this._def.items}rest(e){return new be({...this._def,rest:e})}}be.create=(n,e)=>{if(!Array.isArray(n))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new be({items:n,typeName:E.ZodTuple,rest:null,...A(e)})};class lt extends O{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==y.object)return f(s,{code:l.invalid_type,expected:y.object,received:s.parsedType}),T;const o=[],r=this._def.keyType,i=this._def.valueType;for(const a in s.data)o.push({key:r._parse(new xe(s,a,s.path,a)),value:i._parse(new xe(s,s.data[a],s.path,a)),alwaysSet:a in s.data});return s.common.async?ie.mergeObjectAsync(t,o):ie.mergeObjectSync(t,o)}get element(){return this._def.valueType}static create(e,t,s){return t instanceof O?new lt({keyType:e,valueType:t,typeName:E.ZodRecord,...A(s)}):new lt({keyType:de.create(),valueType:e,typeName:E.ZodRecord,...A(t)})}}class Mt extends O{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==y.map)return f(s,{code:l.invalid_type,expected:y.map,received:s.parsedType}),T;const o=this._def.keyType,r=this._def.valueType,i=[...s.data.entries()].map(([a,p],u)=>({key:o._parse(new xe(s,a,s.path,[u,"key"])),value:r._parse(new xe(s,p,s.path,[u,"value"]))}));if(s.common.async){const a=new Map;return Promise.resolve().then(async()=>{for(const p of i){const u=await p.key,c=await p.value;if(u.status==="aborted"||c.status==="aborted")return T;(u.status==="dirty"||c.status==="dirty")&&t.dirty(),a.set(u.value,c.value)}return{status:t.value,value:a}})}else{const a=new Map;for(const p of i){const u=p.key,c=p.value;if(u.status==="aborted"||c.status==="aborted")return T;(u.status==="dirty"||c.status==="dirty")&&t.dirty(),a.set(u.value,c.value)}return{status:t.value,value:a}}}}Mt.create=(n,e,t)=>new Mt({valueType:e,keyType:n,typeName:E.ZodMap,...A(t)});class Ue extends O{_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==y.set)return f(s,{code:l.invalid_type,expected:y.set,received:s.parsedType}),T;const o=this._def;o.minSize!==null&&s.data.size<o.minSize.value&&(f(s,{code:l.too_small,minimum:o.minSize.value,type:"set",inclusive:!0,exact:!1,message:o.minSize.message}),t.dirty()),o.maxSize!==null&&s.data.size>o.maxSize.value&&(f(s,{code:l.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),t.dirty());const r=this._def.valueType;function i(p){const u=new Set;for(const c of p){if(c.status==="aborted")return T;c.status==="dirty"&&t.dirty(),u.add(c.value)}return{status:t.value,value:u}}const a=[...s.data.values()].map((p,u)=>r._parse(new xe(s,p,s.path,u)));return s.common.async?Promise.all(a).then(p=>i(p)):i(a)}min(e,t){return new Ue({...this._def,minSize:{value:e,message:b.toString(t)}})}max(e,t){return new Ue({...this._def,maxSize:{value:e,message:b.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}Ue.create=(n,e)=>new Ue({valueType:n,minSize:null,maxSize:null,typeName:E.ZodSet,...A(e)});class We extends O{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==y.function)return f(t,{code:l.invalid_type,expected:y.function,received:t.parsedType}),T;function s(a,p){return Nt({data:a,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Rt(),Ye].filter(u=>!!u),issueData:{code:l.invalid_arguments,argumentsError:p}})}function o(a,p){return Nt({data:a,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Rt(),Ye].filter(u=>!!u),issueData:{code:l.invalid_return_type,returnTypeError:p}})}const r={errorMap:t.common.contextualErrorMap},i=t.data;if(this._def.returns instanceof Xe){const a=this;return ue(async function(...p){const u=new _e([]),c=await a._def.args.parseAsync(p,r).catch(d=>{throw u.addIssue(s(p,d)),u}),g=await Reflect.apply(i,this,c);return await a._def.returns._def.type.parseAsync(g,r).catch(d=>{throw u.addIssue(o(g,d)),u})})}else{const a=this;return ue(function(...p){const u=a._def.args.safeParse(p,r);if(!u.success)throw new _e([s(p,u.error)]);const c=Reflect.apply(i,this,u.data),g=a._def.returns.safeParse(c,r);if(!g.success)throw new _e([o(c,g.error)]);return g.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new We({...this._def,args:be.create(e).rest(De.create())})}returns(e){return new We({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,s){return new We({args:e||be.create([]).rest(De.create()),returns:t||De.create(),typeName:E.ZodFunction,...A(s)})}}class dt extends O{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})}}dt.create=(n,e)=>new dt({getter:n,typeName:E.ZodLazy,...A(e)});class mt extends O{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return f(t,{received:t.data,code:l.invalid_literal,expected:this._def.value}),T}return{status:"valid",value:e.data}}get value(){return this._def.value}}mt.create=(n,e)=>new mt({value:n,typeName:E.ZodLiteral,...A(e)});function Is(n,e){return new Me({values:n,typeName:E.ZodEnum,...A(e)})}class Me extends O{_parse(e){if(typeof e.data!="string"){const t=this._getOrReturnCtx(e),s=this._def.values;return f(t,{expected:z.joinValues(s),received:t.parsedType,code:l.invalid_type}),T}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){const t=this._getOrReturnCtx(e),s=this._def.values;return f(t,{received:t.data,code:l.invalid_enum_value,options:s}),T}return ue(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return Me.create(e,{...this._def,...t})}exclude(e,t=this._def){return Me.create(this.options.filter(s=>!e.includes(s)),{...this._def,...t})}}Me.create=Is;class ht extends O{_parse(e){const t=z.getValidEnumValues(this._def.values),s=this._getOrReturnCtx(e);if(s.parsedType!==y.string&&s.parsedType!==y.number){const o=z.objectValues(t);return f(s,{expected:z.joinValues(o),received:s.parsedType,code:l.invalid_type}),T}if(this._cache||(this._cache=new Set(z.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){const o=z.objectValues(t);return f(s,{received:s.data,code:l.invalid_enum_value,options:o}),T}return ue(e.data)}get enum(){return this._def.values}}ht.create=(n,e)=>new ht({values:n,typeName:E.ZodNativeEnum,...A(e)});class Xe extends O{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==y.promise&&t.common.async===!1)return f(t,{code:l.invalid_type,expected:y.promise,received:t.parsedType}),T;const s=t.parsedType===y.promise?t.data:Promise.resolve(t.data);return ue(s.then(o=>this._def.type.parseAsync(o,{path:t.path,errorMap:t.common.contextualErrorMap})))}}Xe.create=(n,e)=>new Xe({type:n,typeName:E.ZodPromise,...A(e)});class he extends O{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===E.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:s}=this._processInputParams(e),o=this._def.effect||null,r={addIssue:i=>{f(s,i),i.fatal?t.abort():t.dirty()},get path(){return s.path}};if(r.addIssue=r.addIssue.bind(r),o.type==="preprocess"){const i=o.transform(s.data,r);if(s.common.async)return Promise.resolve(i).then(async a=>{if(t.value==="aborted")return T;const p=await this._def.schema._parseAsync({data:a,path:s.path,parent:s});return p.status==="aborted"?T:p.status==="dirty"||t.value==="dirty"?Ze(p.value):p});{if(t.value==="aborted")return T;const a=this._def.schema._parseSync({data:i,path:s.path,parent:s});return a.status==="aborted"?T:a.status==="dirty"||t.value==="dirty"?Ze(a.value):a}}if(o.type==="refinement"){const i=a=>{const p=o.refinement(a,r);if(s.common.async)return Promise.resolve(p);if(p instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(s.common.async===!1){const a=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});return a.status==="aborted"?T:(a.status==="dirty"&&t.dirty(),i(a.value),{status:t.value,value:a.value})}else return this._def.schema._parseAsync({data:s.data,path:s.path,parent:s}).then(a=>a.status==="aborted"?T:(a.status==="dirty"&&t.dirty(),i(a.value).then(()=>({status:t.value,value:a.value}))))}if(o.type==="transform")if(s.common.async===!1){const i=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});if(!qe(i))return T;const a=o.transform(i.value,r);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:a}}else return this._def.schema._parseAsync({data:s.data,path:s.path,parent:s}).then(i=>qe(i)?Promise.resolve(o.transform(i.value,r)).then(a=>({status:t.value,value:a})):T);z.assertNever(o)}}he.create=(n,e,t)=>new he({schema:n,typeName:E.ZodEffects,effect:e,...A(t)});he.createWithPreprocess=(n,e,t)=>new he({schema:e,effect:{type:"preprocess",transform:n},typeName:E.ZodEffects,...A(t)});class ve extends O{_parse(e){return this._getType(e)===y.undefined?ue(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}ve.create=(n,e)=>new ve({innerType:n,typeName:E.ZodOptional,...A(e)});class Fe extends O{_parse(e){return this._getType(e)===y.null?ue(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Fe.create=(n,e)=>new Fe({innerType:n,typeName:E.ZodNullable,...A(e)});class gt extends O{_parse(e){const{ctx:t}=this._processInputParams(e);let s=t.data;return t.parsedType===y.undefined&&(s=this._def.defaultValue()),this._def.innerType._parse({data:s,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}gt.create=(n,e)=>new gt({innerType:n,typeName:E.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...A(e)});class ft extends O{_parse(e){const{ctx:t}=this._processInputParams(e),s={...t,common:{...t.common,issues:[]}},o=this._def.innerType._parse({data:s.data,path:s.path,parent:{...s}});return it(o)?o.then(r=>({status:"valid",value:r.status==="valid"?r.value:this._def.catchValue({get error(){return new _e(s.common.issues)},input:s.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new _e(s.common.issues)},input:s.data})}}removeCatch(){return this._def.innerType}}ft.create=(n,e)=>new ft({innerType:n,typeName:E.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...A(e)});class Ft extends O{_parse(e){if(this._getType(e)!==y.nan){const s=this._getOrReturnCtx(e);return f(s,{code:l.invalid_type,expected:y.nan,received:s.parsedType}),T}return{status:"valid",value:e.data}}}Ft.create=n=>new Ft({typeName:E.ZodNaN,...A(n)});const _o=Symbol("zod_brand");class ts extends O{_parse(e){const{ctx:t}=this._processInputParams(e),s=t.data;return this._def.type._parse({data:s,path:t.path,parent:t})}unwrap(){return this._def.type}}class yt extends O{_parse(e){const{status:t,ctx:s}=this._processInputParams(e);if(s.common.async)return(async()=>{const r=await this._def.in._parseAsync({data:s.data,path:s.path,parent:s});return r.status==="aborted"?T:r.status==="dirty"?(t.dirty(),Ze(r.value)):this._def.out._parseAsync({data:r.value,path:s.path,parent:s})})();{const o=this._def.in._parseSync({data:s.data,path:s.path,parent:s});return o.status==="aborted"?T:o.status==="dirty"?(t.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:s.path,parent:s})}}static create(e,t){return new yt({in:e,out:t,typeName:E.ZodPipeline})}}class kt extends O{_parse(e){const t=this._def.innerType._parse(e),s=o=>(qe(o)&&(o.value=Object.freeze(o.value)),o);return it(t)?t.then(o=>s(o)):s(t)}unwrap(){return this._def.innerType}}kt.create=(n,e)=>new kt({innerType:n,typeName:E.ZodReadonly,...A(e)});function ps(n,e){const t=typeof n=="function"?n(e):typeof n=="string"?{message:n}:n;return typeof t=="string"?{message:t}:t}function As(n,e={},t){return n?Ke.create().superRefine((s,o)=>{const r=n(s);if(r instanceof Promise)return r.then(i=>{if(!i){const a=ps(e,s),p=a.fatal??t??!0;o.addIssue({code:"custom",...a,fatal:p})}});if(!r){const i=ps(e,s),a=i.fatal??t??!0;o.addIssue({code:"custom",...i,fatal:a})}}):Ke.create()}const co={object:U.lazycreate};var E;(function(n){n.ZodString="ZodString",n.ZodNumber="ZodNumber",n.ZodNaN="ZodNaN",n.ZodBigInt="ZodBigInt",n.ZodBoolean="ZodBoolean",n.ZodDate="ZodDate",n.ZodSymbol="ZodSymbol",n.ZodUndefined="ZodUndefined",n.ZodNull="ZodNull",n.ZodAny="ZodAny",n.ZodUnknown="ZodUnknown",n.ZodNever="ZodNever",n.ZodVoid="ZodVoid",n.ZodArray="ZodArray",n.ZodObject="ZodObject",n.ZodUnion="ZodUnion",n.ZodDiscriminatedUnion="ZodDiscriminatedUnion",n.ZodIntersection="ZodIntersection",n.ZodTuple="ZodTuple",n.ZodRecord="ZodRecord",n.ZodMap="ZodMap",n.ZodSet="ZodSet",n.ZodFunction="ZodFunction",n.ZodLazy="ZodLazy",n.ZodLiteral="ZodLiteral",n.ZodEnum="ZodEnum",n.ZodEffects="ZodEffects",n.ZodNativeEnum="ZodNativeEnum",n.ZodOptional="ZodOptional",n.ZodNullable="ZodNullable",n.ZodDefault="ZodDefault",n.ZodCatch="ZodCatch",n.ZodPromise="ZodPromise",n.ZodBranded="ZodBranded",n.ZodPipeline="ZodPipeline",n.ZodReadonly="ZodReadonly"})(E||(E={}));const lo=(n,e={message:`Input not instance of ${n.name}`})=>As(t=>t instanceof n,e),M=de.create,ye=Le.create,mo=Ft.create,ho=ze.create,xt=at.create,go=Be.create,fo=Lt.create,ko=pt.create,Cs=ut.create,Pe=Ke.create,Dt=De.create,vo=Ae.create,yo=zt.create,He=me.create,P=U.create,xo=U.strictCreate,Ge=_t.create,bo=$t.create,wo=ct.create,So=be.create,bt=lt.create,To=Mt.create,Eo=Ue.create,Io=We.create,Os=dt.create,pe=mt.create,qt=Me.create,Ao=ht.create,Co=Xe.create,us=he.create,Oo=ve.create,Ro=Fe.create,No=he.createWithPreprocess,Lo=yt.create,zo=()=>M().optional(),Mo=()=>ye().optional(),Fo=()=>xt().optional(),Ot={string:n=>de.create({...n,coerce:!0}),number:n=>Le.create({...n,coerce:!0}),boolean:n=>at.create({...n,coerce:!0}),bigint:n=>ze.create({...n,coerce:!0}),date:n=>Be.create({...n,coerce:!0})},Po=T,re=Object.freeze(Object.defineProperty({__proto__:null,BRAND:_o,DIRTY:Ze,EMPTY_PATH:Bs,INVALID:T,NEVER:Po,OK:ue,ParseStatus:ie,Schema:O,ZodAny:Ke,ZodArray:me,ZodBigInt:ze,ZodBoolean:at,ZodBranded:ts,ZodCatch:ft,ZodDate:Be,ZodDefault:gt,ZodDiscriminatedUnion:$t,ZodEffects:he,ZodEnum:Me,ZodError:_e,get ZodFirstPartyTypeKind(){return E},ZodFunction:We,ZodIntersection:ct,ZodIssueCode:l,ZodLazy:dt,ZodLiteral:mt,ZodMap:Mt,ZodNaN:Ft,ZodNativeEnum:ht,ZodNever:Ae,ZodNull:ut,ZodNullable:Fe,ZodNumber:Le,ZodObject:U,ZodOptional:ve,ZodParsedType:y,ZodPipeline:yt,ZodPromise:Xe,ZodReadonly:kt,ZodRecord:lt,ZodSchema:O,ZodSet:Ue,ZodString:de,ZodSymbol:Lt,ZodTransformer:he,ZodTuple:be,ZodType:O,ZodUndefined:pt,ZodUnion:_t,ZodUnknown:De,ZodVoid:zt,addIssueToContext:f,any:Pe,array:He,bigint:ho,boolean:xt,coerce:Ot,custom:As,date:go,datetimeRegex:Es,defaultErrorMap:Ye,discriminatedUnion:bo,effect:us,enum:qt,function:Io,getErrorMap:Rt,getParsedType:Ie,instanceof:lo,intersection:wo,isAborted:Jt,isAsync:it,isDirty:Wt,isValid:qe,late:co,lazy:Os,literal:pe,makeIssue:Nt,map:To,nan:mo,nativeEnum:Ao,never:vo,null:Cs,nullable:Ro,number:ye,object:P,get objectUtil(){return Zt},oboolean:Fo,onumber:Mo,optional:Oo,ostring:zo,pipeline:Lo,preprocess:No,promise:Co,quotelessJson:Ds,record:bt,set:Eo,setErrorMap:qs,strictObject:xo,string:M,symbol:fo,transformer:us,tuple:So,undefined:ko,union:Ge,unknown:Dt,get util(){return z},void:yo},Symbol.toStringTag,{value:"Module"})),$e=()=>re.preprocess(n=>{if(typeof n=="boolean")return n;if(typeof n=="number")return n===1;if(typeof n=="string"){const e=n.trim().toLowerCase();if(["1","true","yes","y","on"].includes(e))return!0;if(["0","false","no","n","off"].includes(e))return!1}},re.boolean()),jo=()=>re.preprocess(n=>{if(typeof n=="number"&&Number.isFinite(n))return n;if(typeof n=="string"){const e=Number(n);if(Number.isFinite(e))return e}},re.number()),Rs=re.object({NODE_ENV:re.enum(["development","production","test"]).default("production"),AGENT_CONTAINER_MODE:$e().default(!1),AGENT_API_KEY:re.string().optional(),AGENT_ORGANIZATION_ID:re.string().optional(),AGENT_SESSION_ID:re.string().optional(),AGENT_SERVER_URL:re.string().optional(),AGENT_TYPE:re.string().optional(),AGENT_DEVICE_GUID:re.string().optional(),CONTEXT_DATA:re.string().optional(),AGI_NETLOG_ENABLE:$e().default(!0),AGI_NETLOG_DEBUG:$e().optional(),AGI_NETLOG_FILE:re.string().optional(),AGI_NETLOG_MAX_BODY:jo().optional(),AGI_NETLOG_REMOTE_ENABLE:$e().default(!0),AGI_NETLOG_REMOTE_FILE:re.string().optional(),DEBUG:$e().default(!1),VERBOSE:$e().default(!1),LOG_LEVEL:re.string().optional(),HOSTNAME:re.string().optional(),VITE_SAVE_RAW:$e().default(!1)});function At(n=!1){return n?"https://agiflow.io":"https://agiflow.io"}let D=Rs.parse(process.env);class te{static refresh(){D=Rs.parse(process.env)}static get isContainerMode(){return!!D.AGENT_CONTAINER_MODE}static get apiKey(){return D.AGENT_API_KEY||process.env.AGENT_API_KEY}static get organizationId(){return D.AGENT_ORGANIZATION_ID||process.env.AGENT_ORGANIZATION_ID}static get sessionId(){return D.AGENT_SESSION_ID||process.env.AGENT_SESSION_ID}static get serverUrl(){return D.AGENT_SERVER_URL||process.env.AGENT_SERVER_URL||At(this.isContainerMode)}static get isNetlogEnabled(){return!!D.AGI_NETLOG_ENABLE}static get isNetlogDebug(){return!!D.AGI_NETLOG_DEBUG}static get isNetlogRemoteEnabled(){return!!D.AGI_NETLOG_REMOTE_ENABLE}static get isDebugMode(){return D.DEBUG}static get isVerbose(){return D.VERBOSE}static get logLevel(){return D.LOG_LEVEL??(D.DEBUG?"debug":"info")}static get nodeEnv(){return D.NODE_ENV}static get homeDir(){return process.env.HOME||process.env.USERPROFILE}static get isMacOS(){return process.platform==="darwin"}static get hostname(){return D.HOSTNAME}static get netlogMaxBody(){return D.AGI_NETLOG_MAX_BODY}static get netlogFile(){return D.AGI_NETLOG_FILE}static get netlogRemoteFile(){return D.AGI_NETLOG_REMOTE_FILE}static get agentType(){return D.AGENT_TYPE||process.env.AGENT_TYPE}static get deviceGuid(){return D.AGENT_DEVICE_GUID}static get isSaveRawEnabled(){return!!D.VITE_SAVE_RAW}static get contextData(){return D.CONTEXT_DATA||process.env.CONTEXT_DATA}static serializeEnv(){const e={...process.env};for(const[t,s]of Object.entries(D))s!==void 0&&(typeof s=="string"?e[t]=s:typeof s=="number"?e[t]=String(s):typeof s=="boolean"?e[t]=s?"true":"false":e[t]=String(s));return e}static toChildProcess(){const e=this.serializeEnv();return e.AGENT_SERVER_URL||(e.AGENT_SERVER_URL=At(this.isContainerMode)),e.LOG_LEVEL||(e.LOG_LEVEL=this.logLevel),e}static toDocker(){const e=this.serializeEnv();return e.AGENT_CONTAINER_MODE="true",e.AGENT_SERVER_URL||(e.AGENT_SERVER_URL=At(!0)),e.LOG_LEVEL||(e.LOG_LEVEL=this.logLevel),e}static toPty(){const e=this.serializeEnv();return e.AGENT_SERVER_URL||(e.AGENT_SERVER_URL=At(this.isContainerMode)),e.LOG_LEVEL||(e.LOG_LEVEL=this.logLevel),e}static getEnvs(){return D}}class rt{logStream;logPath;constructor(e){this.logPath=e;const t=fe.dirname(this.logPath);ke.existsSync(t)||ke.mkdirSync(t,{recursive:!0}),this.logStream=ke.createWriteStream(this.logPath,{flags:"a"}),this.logStream.on("error",s=>{console.error(`[FileLogger] Error writing to log file: ${s.message}`)})}info(e,t){this.log(30,e,t)}debug(e,t){this.log(20,e,t)}warn(e,t){this.log(40,e,t)}error(e,t){this.log(50,e,t)}log(e,t,s){const o={time:new Date().toISOString(),level:e,msg:t,...s};try{this.logStream.write(JSON.stringify(o)+`
2
- `)}catch(r){console.error(`[FileLogger] Failed to write log entry: ${r}`)}}close(){this.logStream&&!this.logStream.destroyed&&this.logStream.end()}getLogPath(){return this.logPath}static shouldDebug(){return te.isDebugMode||te.isNetlogDebug}}const $o={max_tokens:1e5,max_input_tokens:2e5,max_output_tokens:1e5,input_cost_per_token:15e-6,output_cost_per_token:6e-5,cache_read_input_token_cost:75e-7,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!0,supports_vision:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_response_schema:!0,supports_reasoning:!0,supports_tool_choice:!0},Do={max_tokens:1e5,max_input_tokens:2e5,max_output_tokens:1e5,input_cost_per_token:2e-6,output_cost_per_token:8e-6,cache_read_input_token_cost:5e-7,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!1,supports_vision:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_response_schema:!0,supports_reasoning:!0,supports_tool_choice:!0,supported_endpoints:["/v1/responses","/v1/chat/completions","/v1/completions","/v1/batch"],supported_modalities:["text","image"],supported_output_modalities:["text"]},qo={"gpt-4":{max_tokens:4096,max_input_tokens:8192,max_output_tokens:4096,input_cost_per_token:3e-5,output_cost_per_token:6e-5,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4.1":{max_tokens:32768,max_input_tokens:1047576,max_output_tokens:32768,input_cost_per_token:2e-6,output_cost_per_token:8e-6,input_cost_per_token_batches:1e-6,output_cost_per_token_batches:4e-6,cache_read_input_token_cost:5e-7,litellm_provider:"openai",mode:"chat",supported_endpoints:["/v1/chat/completions","/v1/batch","/v1/responses"],supported_modalities:["text","image"],supported_output_modalities:["text"],supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,supports_native_streaming:!0},"gpt-4.1-2025-04-14":{max_tokens:32768,max_input_tokens:1047576,max_output_tokens:32768,input_cost_per_token:2e-6,output_cost_per_token:8e-6,input_cost_per_token_batches:1e-6,output_cost_per_token_batches:4e-6,cache_read_input_token_cost:5e-7,litellm_provider:"openai",mode:"chat",supported_endpoints:["/v1/chat/completions","/v1/batch","/v1/responses"],supported_modalities:["text","image"],supported_output_modalities:["text"],supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,supports_native_streaming:!0},"gpt-4.1-mini":{max_tokens:32768,max_input_tokens:1047576,max_output_tokens:32768,input_cost_per_token:4e-7,output_cost_per_token:16e-7,input_cost_per_token_batches:2e-7,output_cost_per_token_batches:8e-7,cache_read_input_token_cost:1e-7,litellm_provider:"openai",mode:"chat",supported_endpoints:["/v1/chat/completions","/v1/batch","/v1/responses"],supported_modalities:["text","image"],supported_output_modalities:["text"],supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,supports_native_streaming:!0},"gpt-4.1-mini-2025-04-14":{max_tokens:32768,max_input_tokens:1047576,max_output_tokens:32768,input_cost_per_token:4e-7,output_cost_per_token:16e-7,input_cost_per_token_batches:2e-7,output_cost_per_token_batches:8e-7,cache_read_input_token_cost:1e-7,litellm_provider:"openai",mode:"chat",supported_endpoints:["/v1/chat/completions","/v1/batch","/v1/responses"],supported_modalities:["text","image"],supported_output_modalities:["text"],supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,supports_native_streaming:!0},"gpt-4.1-nano":{max_tokens:32768,max_input_tokens:1047576,max_output_tokens:32768,input_cost_per_token:1e-7,output_cost_per_token:4e-7,input_cost_per_token_batches:5e-8,output_cost_per_token_batches:2e-7,cache_read_input_token_cost:25e-9,litellm_provider:"openai",mode:"chat",supported_endpoints:["/v1/chat/completions","/v1/batch","/v1/responses"],supported_modalities:["text","image"],supported_output_modalities:["text"],supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,supports_native_streaming:!0},"gpt-4.1-nano-2025-04-14":{max_tokens:32768,max_input_tokens:1047576,max_output_tokens:32768,input_cost_per_token:1e-7,output_cost_per_token:4e-7,input_cost_per_token_batches:5e-8,output_cost_per_token_batches:2e-7,cache_read_input_token_cost:25e-9,litellm_provider:"openai",mode:"chat",supported_endpoints:["/v1/chat/completions","/v1/batch","/v1/responses"],supported_modalities:["text","image"],supported_output_modalities:["text"],supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,supports_native_streaming:!0},"gpt-4o":{max_tokens:16384,max_input_tokens:128e3,max_output_tokens:16384,input_cost_per_token:25e-7,output_cost_per_token:1e-5,input_cost_per_token_batches:125e-8,output_cost_per_token_batches:5e-6,cache_read_input_token_cost:125e-8,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"watsonx/ibm/granite-3-8b-instruct":{max_tokens:8192,max_input_tokens:8192,max_output_tokens:1024,input_cost_per_token:2e-4,output_cost_per_token:2e-4,litellm_provider:"watsonx",mode:"chat",supports_function_calling:!0,supports_tool_choice:!0,supports_parallel_function_calling:!1,supports_vision:!1,supports_audio_input:!1,supports_audio_output:!1,supports_prompt_caching:!0,supports_response_schema:!0,supports_system_messages:!0},"watsonx/mistralai/mistral-large":{max_tokens:131072,max_input_tokens:131072,max_output_tokens:16384,input_cost_per_token:3e-6,output_cost_per_token:1e-5,litellm_provider:"watsonx",mode:"chat",supports_function_calling:!0,supports_tool_choice:!0,supports_parallel_function_calling:!1,supports_vision:!1,supports_audio_input:!1,supports_audio_output:!1,supports_prompt_caching:!0,supports_response_schema:!0,supports_system_messages:!0},"gpt-4o-search-preview-2025-03-11":{max_tokens:16384,max_input_tokens:128e3,max_output_tokens:16384,input_cost_per_token:25e-7,output_cost_per_token:1e-5,input_cost_per_token_batches:125e-8,output_cost_per_token_batches:5e-6,cache_read_input_token_cost:125e-8,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4o-search-preview":{max_tokens:16384,max_input_tokens:128e3,max_output_tokens:16384,input_cost_per_token:25e-7,output_cost_per_token:1e-5,input_cost_per_token_batches:125e-8,output_cost_per_token_batches:5e-6,cache_read_input_token_cost:125e-8,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,supports_web_search:!0,search_context_cost_per_query:{search_context_size_low:.03,search_context_size_medium:.035,search_context_size_high:.05}},"gpt-4.5-preview":{max_tokens:16384,max_input_tokens:128e3,max_output_tokens:16384,input_cost_per_token:75e-6,output_cost_per_token:15e-5,input_cost_per_token_batches:375e-7,output_cost_per_token_batches:75e-6,cache_read_input_token_cost:375e-7,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4.5-preview-2025-02-27":{max_tokens:16384,max_input_tokens:128e3,max_output_tokens:16384,input_cost_per_token:75e-6,output_cost_per_token:15e-5,input_cost_per_token_batches:375e-7,output_cost_per_token_batches:75e-6,cache_read_input_token_cost:375e-7,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,deprecation_date:"2025-07-14"},"gpt-4o-audio-preview":{max_tokens:16384,max_input_tokens:128e3,max_output_tokens:16384,input_cost_per_token:25e-7,input_cost_per_audio_token:1e-4,output_cost_per_token:1e-5,output_cost_per_audio_token:2e-4,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!0,supports_audio_input:!0,supports_audio_output:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4o-audio-preview-2024-12-17":{max_tokens:16384,max_input_tokens:128e3,max_output_tokens:16384,input_cost_per_token:25e-7,input_cost_per_audio_token:4e-5,output_cost_per_token:1e-5,output_cost_per_audio_token:8e-5,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!0,supports_audio_input:!0,supports_audio_output:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4o-audio-preview-2024-10-01":{max_tokens:16384,max_input_tokens:128e3,max_output_tokens:16384,input_cost_per_token:25e-7,input_cost_per_audio_token:1e-4,output_cost_per_token:1e-5,output_cost_per_audio_token:2e-4,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!0,supports_audio_input:!0,supports_audio_output:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4o-audio-preview-2025-06-03":{max_tokens:16384,max_input_tokens:128e3,max_output_tokens:16384,input_cost_per_token:25e-7,input_cost_per_audio_token:4e-5,output_cost_per_token:1e-5,output_cost_per_audio_token:8e-5,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!0,supports_audio_input:!0,supports_audio_output:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4o-mini-audio-preview":{max_tokens:16384,max_input_tokens:128e3,max_output_tokens:16384,input_cost_per_token:15e-8,input_cost_per_audio_token:1e-5,output_cost_per_token:6e-7,output_cost_per_audio_token:2e-5,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!0,supports_audio_input:!0,supports_audio_output:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4o-mini-audio-preview-2024-12-17":{max_tokens:16384,max_input_tokens:128e3,max_output_tokens:16384,input_cost_per_token:15e-8,input_cost_per_audio_token:1e-5,output_cost_per_token:6e-7,output_cost_per_audio_token:2e-5,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!0,supports_audio_input:!0,supports_audio_output:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4o-mini":{max_tokens:16384,max_input_tokens:128e3,max_output_tokens:16384,input_cost_per_token:15e-8,output_cost_per_token:6e-7,input_cost_per_token_batches:75e-9,output_cost_per_token_batches:3e-7,cache_read_input_token_cost:75e-9,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4o-mini-search-preview-2025-03-11":{max_tokens:16384,max_input_tokens:128e3,max_output_tokens:16384,input_cost_per_token:15e-8,output_cost_per_token:6e-7,input_cost_per_token_batches:75e-9,output_cost_per_token_batches:3e-7,cache_read_input_token_cost:75e-9,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4o-mini-search-preview":{max_tokens:16384,max_input_tokens:128e3,max_output_tokens:16384,input_cost_per_token:15e-8,output_cost_per_token:6e-7,input_cost_per_token_batches:75e-9,output_cost_per_token_batches:3e-7,cache_read_input_token_cost:75e-9,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,supports_web_search:!0,search_context_cost_per_query:{search_context_size_low:.025,search_context_size_medium:.0275,search_context_size_high:.03}},"gpt-4o-mini-2024-07-18":{max_tokens:16384,max_input_tokens:128e3,max_output_tokens:16384,input_cost_per_token:15e-8,output_cost_per_token:6e-7,input_cost_per_token_batches:75e-9,output_cost_per_token_batches:3e-7,cache_read_input_token_cost:75e-9,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,search_context_cost_per_query:{search_context_size_low:.025,search_context_size_medium:.0275,search_context_size_high:.03}},"gpt-5":{max_tokens:128e3,max_input_tokens:4e5,max_output_tokens:128e3,input_cost_per_token:125e-8,output_cost_per_token:1e-5,cache_read_input_token_cost:125e-9,litellm_provider:"openai",mode:"chat",supported_endpoints:["/v1/chat/completions","/v1/batch","/v1/responses"],supported_modalities:["text","image"],supported_output_modalities:["text"],supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,supports_native_streaming:!0,supports_reasoning:!0},"gpt-5-mini":{max_tokens:128e3,max_input_tokens:4e5,max_output_tokens:128e3,input_cost_per_token:25e-8,output_cost_per_token:2e-6,cache_read_input_token_cost:25e-9,litellm_provider:"openai",mode:"chat",supported_endpoints:["/v1/chat/completions","/v1/batch","/v1/responses"],supported_modalities:["text","image"],supported_output_modalities:["text"],supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,supports_native_streaming:!0,supports_reasoning:!0},"gpt-5-nano":{max_tokens:128e3,max_input_tokens:4e5,max_output_tokens:128e3,input_cost_per_token:5e-8,output_cost_per_token:4e-7,cache_read_input_token_cost:5e-9,litellm_provider:"openai",mode:"chat",supported_endpoints:["/v1/chat/completions","/v1/batch","/v1/responses"],supported_modalities:["text","image"],supported_output_modalities:["text"],supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,supports_native_streaming:!0,supports_reasoning:!0},"gpt-5-chat":{max_tokens:128e3,max_input_tokens:4e5,max_output_tokens:128e3,input_cost_per_token:125e-8,output_cost_per_token:1e-5,cache_read_input_token_cost:125e-9,litellm_provider:"openai",mode:"chat",supported_endpoints:["/v1/chat/completions","/v1/batch","/v1/responses"],supported_modalities:["text","image"],supported_output_modalities:["text"],supports_pdf_input:!0,supports_function_calling:!1,supports_parallel_function_calling:!1,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!1,supports_native_streaming:!0,supports_reasoning:!0},"gpt-5-chat-latest":{max_tokens:128e3,max_input_tokens:4e5,max_output_tokens:128e3,input_cost_per_token:125e-8,output_cost_per_token:1e-5,cache_read_input_token_cost:125e-9,litellm_provider:"openai",mode:"chat",supported_endpoints:["/v1/chat/completions","/v1/batch","/v1/responses"],supported_modalities:["text","image"],supported_output_modalities:["text"],supports_pdf_input:!0,supports_function_calling:!1,supports_parallel_function_calling:!1,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!1,supports_native_streaming:!0,supports_reasoning:!0},"gpt-5-2025-08-07":{max_tokens:128e3,max_input_tokens:4e5,max_output_tokens:128e3,input_cost_per_token:125e-8,output_cost_per_token:1e-5,cache_read_input_token_cost:125e-9,litellm_provider:"openai",mode:"chat",supported_endpoints:["/v1/chat/completions","/v1/batch","/v1/responses"],supported_modalities:["text","image"],supported_output_modalities:["text"],supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,supports_native_streaming:!0,supports_reasoning:!0},"gpt-5-mini-2025-08-07":{max_tokens:128e3,max_input_tokens:4e5,max_output_tokens:128e3,input_cost_per_token:25e-8,output_cost_per_token:2e-6,cache_read_input_token_cost:25e-9,litellm_provider:"openai",mode:"chat",supported_endpoints:["/v1/chat/completions","/v1/batch","/v1/responses"],supported_modalities:["text","image"],supported_output_modalities:["text"],supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,supports_native_streaming:!0,supports_reasoning:!0},"gpt-5-nano-2025-08-07":{max_tokens:128e3,max_input_tokens:4e5,max_output_tokens:128e3,input_cost_per_token:5e-8,output_cost_per_token:4e-7,cache_read_input_token_cost:5e-9,litellm_provider:"openai",mode:"chat",supported_endpoints:["/v1/chat/completions","/v1/batch","/v1/responses"],supported_modalities:["text","image"],supported_output_modalities:["text"],supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,supports_native_streaming:!0,supports_reasoning:!0},"codex-mini-latest":{max_tokens:1e5,max_input_tokens:2e5,max_output_tokens:1e5,input_cost_per_token:15e-7,output_cost_per_token:6e-6,cache_read_input_token_cost:375e-9,litellm_provider:"openai",mode:"responses",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_response_schema:!0,supports_tool_choice:!0,supports_reasoning:!0,supported_modalities:["text","image"],supported_output_modalities:["text"],supported_endpoints:["/v1/responses"]},"o1-pro":{max_tokens:1e5,max_input_tokens:2e5,max_output_tokens:1e5,input_cost_per_token:15e-5,output_cost_per_token:6e-4,input_cost_per_token_batches:75e-6,output_cost_per_token_batches:3e-4,litellm_provider:"openai",mode:"responses",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_response_schema:!0,supports_tool_choice:!0,supports_native_streaming:!1,supports_reasoning:!0,supported_modalities:["text","image"],supported_output_modalities:["text"],supported_endpoints:["/v1/responses","/v1/batch"]},"o1-pro-2025-03-19":{max_tokens:1e5,max_input_tokens:2e5,max_output_tokens:1e5,input_cost_per_token:15e-5,output_cost_per_token:6e-4,input_cost_per_token_batches:75e-6,output_cost_per_token_batches:3e-4,litellm_provider:"openai",mode:"responses",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_response_schema:!0,supports_tool_choice:!0,supports_native_streaming:!1,supports_reasoning:!0,supported_modalities:["text","image"],supported_output_modalities:["text"],supported_endpoints:["/v1/responses","/v1/batch"]},o1:$o,"o1-mini":{max_tokens:65536,max_input_tokens:128e3,max_output_tokens:65536,input_cost_per_token:11e-7,output_cost_per_token:44e-7,cache_read_input_token_cost:55e-8,litellm_provider:"openai",mode:"chat",supports_vision:!0,supports_pdf_input:!0,supports_prompt_caching:!0},"o3-deep-research":{max_tokens:1e5,max_input_tokens:2e5,max_output_tokens:1e5,input_cost_per_token:1e-5,output_cost_per_token:4e-5,input_cost_per_token_batches:5e-6,output_cost_per_token_batches:2e-5,cache_read_input_token_cost:25e-7,litellm_provider:"openai",mode:"responses",supported_endpoints:["/v1/chat/completions","/v1/batch","/v1/responses"],supported_modalities:["text","image"],supported_output_modalities:["text"],supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,supports_native_streaming:!0},"o3-deep-research-2025-06-26":{max_tokens:1e5,max_input_tokens:2e5,max_output_tokens:1e5,input_cost_per_token:1e-5,output_cost_per_token:4e-5,input_cost_per_token_batches:5e-6,output_cost_per_token_batches:2e-5,cache_read_input_token_cost:25e-7,litellm_provider:"openai",mode:"responses",supported_endpoints:["/v1/chat/completions","/v1/batch","/v1/responses"],supported_modalities:["text","image"],supported_output_modalities:["text"],supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,supports_native_streaming:!0},"o3-pro":{max_tokens:1e5,max_input_tokens:2e5,max_output_tokens:1e5,input_cost_per_token:2e-5,input_cost_per_token_batches:1e-5,output_cost_per_token_batches:4e-5,output_cost_per_token:8e-5,litellm_provider:"openai",mode:"responses",supports_function_calling:!0,supports_parallel_function_calling:!1,supports_vision:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_response_schema:!0,supports_reasoning:!0,supports_tool_choice:!0,supported_endpoints:["/v1/responses","/v1/batch"],supported_modalities:["text","image"],supported_output_modalities:["text"]},"o3-pro-2025-06-10":{max_tokens:1e5,max_input_tokens:2e5,max_output_tokens:1e5,input_cost_per_token:2e-5,input_cost_per_token_batches:1e-5,output_cost_per_token_batches:4e-5,output_cost_per_token:8e-5,litellm_provider:"openai",mode:"responses",supports_function_calling:!0,supports_parallel_function_calling:!1,supports_vision:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_response_schema:!0,supports_reasoning:!0,supports_tool_choice:!0,supported_endpoints:["/v1/responses","/v1/batch"],supported_modalities:["text","image"],supported_output_modalities:["text"]},o3:Do,"o3-2025-04-16":{max_tokens:1e5,max_input_tokens:2e5,max_output_tokens:1e5,input_cost_per_token:2e-6,output_cost_per_token:8e-6,cache_read_input_token_cost:5e-7,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!1,supports_vision:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_response_schema:!0,supports_reasoning:!0,supports_tool_choice:!0,supported_endpoints:["/v1/responses","/v1/chat/completions","/v1/completions","/v1/batch"],supported_modalities:["text","image"],supported_output_modalities:["text"]},"o3-mini":{max_tokens:1e5,max_input_tokens:2e5,max_output_tokens:1e5,input_cost_per_token:11e-7,output_cost_per_token:44e-7,cache_read_input_token_cost:55e-8,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!1,supports_vision:!1,supports_prompt_caching:!0,supports_response_schema:!0,supports_reasoning:!0,supports_tool_choice:!0},"o3-mini-2025-01-31":{max_tokens:1e5,max_input_tokens:2e5,max_output_tokens:1e5,input_cost_per_token:11e-7,output_cost_per_token:44e-7,cache_read_input_token_cost:55e-8,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!1,supports_vision:!1,supports_prompt_caching:!0,supports_response_schema:!0,supports_reasoning:!0,supports_tool_choice:!0},"o4-mini":{max_tokens:1e5,max_input_tokens:2e5,max_output_tokens:1e5,input_cost_per_token:11e-7,output_cost_per_token:44e-7,cache_read_input_token_cost:275e-9,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!1,supports_vision:!0,supports_prompt_caching:!0,supports_response_schema:!0,supports_reasoning:!0,supports_tool_choice:!0},"o4-mini-deep-research":{max_tokens:1e5,max_input_tokens:2e5,max_output_tokens:1e5,input_cost_per_token:2e-6,output_cost_per_token:8e-6,input_cost_per_token_batches:1e-6,output_cost_per_token_batches:4e-6,cache_read_input_token_cost:5e-7,litellm_provider:"openai",mode:"responses",supported_endpoints:["/v1/chat/completions","/v1/batch","/v1/responses"],supported_modalities:["text","image"],supported_output_modalities:["text"],supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,supports_native_streaming:!0},"o4-mini-deep-research-2025-06-26":{max_tokens:1e5,max_input_tokens:2e5,max_output_tokens:1e5,input_cost_per_token:2e-6,output_cost_per_token:8e-6,input_cost_per_token_batches:1e-6,output_cost_per_token_batches:4e-6,cache_read_input_token_cost:5e-7,litellm_provider:"openai",mode:"responses",supported_endpoints:["/v1/chat/completions","/v1/batch","/v1/responses"],supported_modalities:["text","image"],supported_output_modalities:["text"],supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,supports_native_streaming:!0},"o4-mini-2025-04-16":{max_tokens:1e5,max_input_tokens:2e5,max_output_tokens:1e5,input_cost_per_token:11e-7,output_cost_per_token:44e-7,cache_read_input_token_cost:275e-9,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!1,supports_vision:!0,supports_prompt_caching:!0,supports_response_schema:!0,supports_reasoning:!0,supports_tool_choice:!0},"o1-mini-2024-09-12":{max_tokens:65536,max_input_tokens:128e3,max_output_tokens:65536,input_cost_per_token:3e-6,output_cost_per_token:12e-6,cache_read_input_token_cost:15e-7,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_vision:!0,supports_reasoning:!0,supports_prompt_caching:!0},"o1-preview":{max_tokens:32768,max_input_tokens:128e3,max_output_tokens:32768,input_cost_per_token:15e-6,output_cost_per_token:6e-5,cache_read_input_token_cost:75e-7,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_vision:!0,supports_reasoning:!0,supports_prompt_caching:!0},"o1-preview-2024-09-12":{max_tokens:32768,max_input_tokens:128e3,max_output_tokens:32768,input_cost_per_token:15e-6,output_cost_per_token:6e-5,cache_read_input_token_cost:75e-7,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_vision:!0,supports_reasoning:!0,supports_prompt_caching:!0},"o1-2024-12-17":{max_tokens:1e5,max_input_tokens:2e5,max_output_tokens:1e5,input_cost_per_token:15e-6,output_cost_per_token:6e-5,cache_read_input_token_cost:75e-7,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_response_schema:!0,supports_reasoning:!0,supports_tool_choice:!0},"chatgpt-4o-latest":{max_tokens:4096,max_input_tokens:128e3,max_output_tokens:4096,input_cost_per_token:5e-6,output_cost_per_token:15e-6,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4o-2024-05-13":{max_tokens:4096,max_input_tokens:128e3,max_output_tokens:4096,input_cost_per_token:5e-6,output_cost_per_token:15e-6,input_cost_per_token_batches:25e-7,output_cost_per_token_batches:75e-7,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4o-2024-08-06":{max_tokens:16384,max_input_tokens:128e3,max_output_tokens:16384,input_cost_per_token:25e-7,output_cost_per_token:1e-5,input_cost_per_token_batches:125e-8,output_cost_per_token_batches:5e-6,cache_read_input_token_cost:125e-8,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4o-2024-11-20":{max_tokens:16384,max_input_tokens:128e3,max_output_tokens:16384,input_cost_per_token:25e-7,output_cost_per_token:1e-5,input_cost_per_token_batches:125e-8,output_cost_per_token_batches:5e-6,cache_read_input_token_cost:125e-8,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-realtime":{max_tokens:4096,max_input_tokens:32e3,max_output_tokens:4096,input_cost_per_token:4e-6,cache_read_input_token_cost:4e-7,output_cost_per_token:16e-6,input_cost_per_audio_token:32e-6,output_cost_per_audio_token:64e-6,cache_creation_input_audio_token_cost:4e-7,input_cost_per_image:5e-6,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!0,supports_audio_input:!0,supports_audio_output:!0,supports_system_messages:!0,supports_tool_choice:!0,supported_endpoints:["/v1/realtime"],supported_modalities:["text","image","audio"],supported_output_modalities:["text","audio"]},"gpt-realtime-2025-08-28":{max_tokens:4096,max_input_tokens:32e3,max_output_tokens:4096,input_cost_per_token:4e-6,cache_read_input_token_cost:4e-7,output_cost_per_token:16e-6,input_cost_per_audio_token:32e-6,output_cost_per_audio_token:64e-6,cache_creation_input_audio_token_cost:4e-7,input_cost_per_image:5e-6,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!0,supports_audio_input:!0,supports_audio_output:!0,supports_system_messages:!0,supports_tool_choice:!0,supported_endpoints:["/v1/realtime"],supported_modalities:["text","image","audio"],supported_output_modalities:["text","audio"]},"gpt-4o-realtime-preview-2024-10-01":{max_tokens:4096,max_input_tokens:128e3,max_output_tokens:4096,input_cost_per_token:5e-6,input_cost_per_audio_token:1e-4,cache_read_input_token_cost:25e-7,cache_creation_input_audio_token_cost:2e-5,output_cost_per_token:2e-5,output_cost_per_audio_token:2e-4,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!0,supports_audio_input:!0,supports_audio_output:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4o-realtime-preview":{max_tokens:4096,max_input_tokens:128e3,max_output_tokens:4096,input_cost_per_token:5e-6,input_cost_per_audio_token:4e-5,cache_read_input_token_cost:25e-7,output_cost_per_token:2e-5,output_cost_per_audio_token:8e-5,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!0,supports_audio_input:!0,supports_audio_output:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4o-realtime-preview-2024-12-17":{max_tokens:4096,max_input_tokens:128e3,max_output_tokens:4096,input_cost_per_token:5e-6,input_cost_per_audio_token:4e-5,cache_read_input_token_cost:25e-7,output_cost_per_token:2e-5,output_cost_per_audio_token:8e-5,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!0,supports_audio_input:!0,supports_audio_output:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4o-realtime-preview-2025-06-03":{max_tokens:4096,max_input_tokens:128e3,max_output_tokens:4096,input_cost_per_token:5e-6,input_cost_per_audio_token:4e-5,cache_read_input_token_cost:25e-7,output_cost_per_token:2e-5,output_cost_per_audio_token:8e-5,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!0,supports_audio_input:!0,supports_audio_output:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4o-mini-realtime-preview":{max_tokens:4096,max_input_tokens:128e3,max_output_tokens:4096,input_cost_per_token:6e-7,input_cost_per_audio_token:1e-5,cache_read_input_token_cost:3e-7,cache_creation_input_audio_token_cost:3e-7,output_cost_per_token:24e-7,output_cost_per_audio_token:2e-5,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!0,supports_audio_input:!0,supports_audio_output:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4o-mini-realtime-preview-2024-12-17":{max_tokens:4096,max_input_tokens:128e3,max_output_tokens:4096,input_cost_per_token:6e-7,input_cost_per_audio_token:1e-5,cache_read_input_token_cost:3e-7,cache_creation_input_audio_token_cost:3e-7,output_cost_per_token:24e-7,output_cost_per_audio_token:2e-5,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!0,supports_audio_input:!0,supports_audio_output:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4-turbo-preview":{max_tokens:4096,max_input_tokens:128e3,max_output_tokens:4096,input_cost_per_token:1e-5,output_cost_per_token:3e-5,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4-0314":{max_tokens:4096,max_input_tokens:8192,max_output_tokens:4096,input_cost_per_token:3e-5,output_cost_per_token:6e-5,litellm_provider:"openai",mode:"chat",supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4-0613":{max_tokens:4096,max_input_tokens:8192,max_output_tokens:4096,input_cost_per_token:3e-5,output_cost_per_token:6e-5,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_prompt_caching:!0,supports_system_messages:!0,deprecation_date:"2025-06-06",supports_tool_choice:!0},"gpt-4-32k":{max_tokens:4096,max_input_tokens:32768,max_output_tokens:4096,input_cost_per_token:6e-5,output_cost_per_token:12e-5,litellm_provider:"openai",mode:"chat",supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4-32k-0314":{max_tokens:4096,max_input_tokens:32768,max_output_tokens:4096,input_cost_per_token:6e-5,output_cost_per_token:12e-5,litellm_provider:"openai",mode:"chat",supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4-32k-0613":{max_tokens:4096,max_input_tokens:32768,max_output_tokens:4096,input_cost_per_token:6e-5,output_cost_per_token:12e-5,litellm_provider:"openai",mode:"chat",supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4-turbo":{max_tokens:4096,max_input_tokens:128e3,max_output_tokens:4096,input_cost_per_token:1e-5,output_cost_per_token:3e-5,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4-turbo-2024-04-09":{max_tokens:4096,max_input_tokens:128e3,max_output_tokens:4096,input_cost_per_token:1e-5,output_cost_per_token:3e-5,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4-1106-preview":{max_tokens:4096,max_input_tokens:128e3,max_output_tokens:4096,input_cost_per_token:1e-5,output_cost_per_token:3e-5,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4-0125-preview":{max_tokens:4096,max_input_tokens:128e3,max_output_tokens:4096,input_cost_per_token:1e-5,output_cost_per_token:3e-5,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4-vision-preview":{max_tokens:4096,max_input_tokens:128e3,max_output_tokens:4096,input_cost_per_token:1e-5,output_cost_per_token:3e-5,litellm_provider:"openai",mode:"chat",supports_vision:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_system_messages:!0,deprecation_date:"2024-12-06",supports_tool_choice:!0},"gpt-4-1106-vision-preview":{max_tokens:4096,max_input_tokens:128e3,max_output_tokens:4096,input_cost_per_token:1e-5,output_cost_per_token:3e-5,litellm_provider:"openai",mode:"chat",supports_vision:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_system_messages:!0,deprecation_date:"2024-12-06",supports_tool_choice:!0},"gpt-3.5-turbo":{max_tokens:4097,max_input_tokens:16385,max_output_tokens:4096,input_cost_per_token:15e-7,output_cost_per_token:2e-6,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-3.5-turbo-0301":{max_tokens:4097,max_input_tokens:4097,max_output_tokens:4096,input_cost_per_token:15e-7,output_cost_per_token:2e-6,litellm_provider:"openai",mode:"chat",supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-3.5-turbo-0613":{max_tokens:4097,max_input_tokens:4097,max_output_tokens:4096,input_cost_per_token:15e-7,output_cost_per_token:2e-6,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-3.5-turbo-1106":{max_tokens:16385,max_input_tokens:16385,max_output_tokens:4096,input_cost_per_token:1e-6,output_cost_per_token:2e-6,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-3.5-turbo-0125":{max_tokens:16385,max_input_tokens:16385,max_output_tokens:4096,input_cost_per_token:5e-7,output_cost_per_token:15e-7,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-3.5-turbo-16k":{max_tokens:16385,max_input_tokens:16385,max_output_tokens:4096,input_cost_per_token:3e-6,output_cost_per_token:4e-6,litellm_provider:"openai",mode:"chat",supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-3.5-turbo-16k-0613":{max_tokens:16385,max_input_tokens:16385,max_output_tokens:4096,input_cost_per_token:3e-6,output_cost_per_token:4e-6,litellm_provider:"openai",mode:"chat",supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4o-transcribe":{mode:"audio_transcription",max_input_tokens:16e3,max_output_tokens:2e3,input_cost_per_token:25e-7,input_cost_per_audio_token:6e-6,output_cost_per_token:1e-5,litellm_provider:"openai",supported_endpoints:["/v1/audio/transcriptions"]},"gpt-4o-mini-transcribe":{mode:"audio_transcription",max_input_tokens:16e3,max_output_tokens:2e3,input_cost_per_token:125e-8,input_cost_per_audio_token:3e-6,output_cost_per_token:5e-6,litellm_provider:"openai",supported_endpoints:["/v1/audio/transcriptions"]},"gpt-4o-mini-tts":{mode:"audio_speech",input_cost_per_token:25e-7,output_cost_per_token:1e-5,output_cost_per_audio_token:12e-6,output_cost_per_second:25e-5,litellm_provider:"openai",supported_modalities:["text","audio"],supported_output_modalities:["audio"],supported_endpoints:["/v1/audio/speech"]},"claude-3-haiku-20240307":{max_tokens:4096,max_input_tokens:2e5,max_output_tokens:4096,input_cost_per_token:25e-8,output_cost_per_token:125e-8,cache_creation_input_token_cost:3e-7,cache_read_input_token_cost:3e-8,litellm_provider:"anthropic",mode:"chat",supports_function_calling:!0,supports_vision:!0,tool_use_system_prompt_tokens:264,supports_assistant_prefill:!0,supports_prompt_caching:!0,supports_response_schema:!0,deprecation_date:"2025-03-01",supports_tool_choice:!0},"claude-3-5-haiku-20241022":{max_tokens:8192,max_input_tokens:2e5,max_output_tokens:8192,input_cost_per_token:8e-7,output_cost_per_token:4e-6,cache_creation_input_token_cost:1e-6,cache_read_input_token_cost:8e-8,search_context_cost_per_query:{search_context_size_low:.01,search_context_size_medium:.01,search_context_size_high:.01},litellm_provider:"anthropic",mode:"chat",supports_function_calling:!0,supports_vision:!0,tool_use_system_prompt_tokens:264,supports_assistant_prefill:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_response_schema:!0,deprecation_date:"2025-10-01",supports_tool_choice:!0,supports_web_search:!0},"claude-3-5-haiku-latest":{max_tokens:8192,max_input_tokens:2e5,max_output_tokens:8192,input_cost_per_token:1e-6,output_cost_per_token:5e-6,cache_creation_input_token_cost:125e-8,cache_read_input_token_cost:1e-7,search_context_cost_per_query:{search_context_size_low:.01,search_context_size_medium:.01,search_context_size_high:.01},litellm_provider:"anthropic",mode:"chat",supports_function_calling:!0,supports_vision:!0,tool_use_system_prompt_tokens:264,supports_assistant_prefill:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_response_schema:!0,deprecation_date:"2025-10-01",supports_tool_choice:!0,supports_web_search:!0},"claude-3-opus-latest":{max_tokens:4096,max_input_tokens:2e5,max_output_tokens:4096,input_cost_per_token:15e-6,output_cost_per_token:75e-6,cache_creation_input_token_cost:1875e-8,cache_read_input_token_cost:15e-7,litellm_provider:"anthropic",mode:"chat",supports_function_calling:!0,supports_vision:!0,tool_use_system_prompt_tokens:395,supports_assistant_prefill:!0,supports_prompt_caching:!0,supports_response_schema:!0,deprecation_date:"2025-03-01",supports_tool_choice:!0},"claude-3-opus-20240229":{max_tokens:4096,max_input_tokens:2e5,max_output_tokens:4096,input_cost_per_token:15e-6,output_cost_per_token:75e-6,cache_creation_input_token_cost:1875e-8,cache_read_input_token_cost:15e-7,litellm_provider:"anthropic",mode:"chat",supports_function_calling:!0,supports_vision:!0,tool_use_system_prompt_tokens:395,supports_assistant_prefill:!0,supports_prompt_caching:!0,supports_response_schema:!0,deprecation_date:"2025-03-01",supports_tool_choice:!0},"claude-3-5-sonnet-latest":{supports_computer_use:!0,max_tokens:8192,max_input_tokens:2e5,max_output_tokens:8192,input_cost_per_token:3e-6,output_cost_per_token:15e-6,cache_creation_input_token_cost:375e-8,cache_read_input_token_cost:3e-7,search_context_cost_per_query:{search_context_size_low:.01,search_context_size_medium:.01,search_context_size_high:.01},litellm_provider:"anthropic",mode:"chat",supports_function_calling:!0,supports_vision:!0,tool_use_system_prompt_tokens:159,supports_assistant_prefill:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_response_schema:!0,deprecation_date:"2025-06-01",supports_tool_choice:!0,supports_web_search:!0},"claude-3-5-sonnet-20240620":{max_tokens:8192,max_input_tokens:2e5,max_output_tokens:8192,input_cost_per_token:3e-6,output_cost_per_token:15e-6,cache_creation_input_token_cost:375e-8,cache_read_input_token_cost:3e-7,litellm_provider:"anthropic",mode:"chat",supports_function_calling:!0,supports_vision:!0,tool_use_system_prompt_tokens:159,supports_assistant_prefill:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_response_schema:!0,deprecation_date:"2025-06-01",supports_tool_choice:!0},"claude-opus-4-20250514":{max_tokens:32e3,max_input_tokens:2e5,max_output_tokens:32e3,input_cost_per_token:15e-6,output_cost_per_token:75e-6,search_context_cost_per_query:{search_context_size_low:.01,search_context_size_medium:.01,search_context_size_high:.01},cache_creation_input_token_cost:1875e-8,cache_read_input_token_cost:15e-7,litellm_provider:"anthropic",mode:"chat",supports_function_calling:!0,supports_vision:!0,tool_use_system_prompt_tokens:159,supports_assistant_prefill:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_response_schema:!0,supports_tool_choice:!0,supports_reasoning:!0,supports_computer_use:!0},"claude-opus-4-1":{max_tokens:32e3,max_input_tokens:2e5,max_output_tokens:32e3,input_cost_per_token:15e-6,output_cost_per_token:75e-6,search_context_cost_per_query:{search_context_size_low:.01,search_context_size_medium:.01,search_context_size_high:.01},cache_creation_input_token_cost:1875e-8,cache_read_input_token_cost:15e-7,litellm_provider:"anthropic",mode:"chat",supports_function_calling:!0,supports_vision:!0,tool_use_system_prompt_tokens:159,supports_assistant_prefill:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_response_schema:!0,supports_tool_choice:!0,supports_reasoning:!0,supports_computer_use:!0},"claude-opus-4-1-20250805":{max_tokens:32e3,max_input_tokens:2e5,max_output_tokens:32e3,input_cost_per_token:15e-6,output_cost_per_token:75e-6,search_context_cost_per_query:{search_context_size_low:.01,search_context_size_medium:.01,search_context_size_high:.01},cache_creation_input_token_cost:1875e-8,cache_read_input_token_cost:15e-7,litellm_provider:"anthropic",mode:"chat",supports_function_calling:!0,supports_vision:!0,tool_use_system_prompt_tokens:159,supports_assistant_prefill:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_response_schema:!0,supports_tool_choice:!0,supports_reasoning:!0,supports_computer_use:!0},"claude-sonnet-4-5-20250929":{max_tokens:64e3,max_input_tokens:2e5,max_output_tokens:64e3,input_cost_per_token:3e-6,output_cost_per_token:15e-6,search_context_cost_per_query:{search_context_size_low:.01,search_context_size_medium:.01,search_context_size_high:.01},cache_creation_input_token_cost:375e-8,cache_read_input_token_cost:3e-7,litellm_provider:"anthropic",mode:"chat",supports_function_calling:!0,supports_vision:!0,tool_use_system_prompt_tokens:159,supports_assistant_prefill:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_response_schema:!0,supports_tool_choice:!0,supports_reasoning:!0,supports_computer_use:!0},"claude-sonnet-4-20250514":{max_tokens:64e3,max_input_tokens:2e5,max_output_tokens:64e3,input_cost_per_token:3e-6,output_cost_per_token:15e-6,search_context_cost_per_query:{search_context_size_low:.01,search_context_size_medium:.01,search_context_size_high:.01},cache_creation_input_token_cost:375e-8,cache_read_input_token_cost:3e-7,litellm_provider:"anthropic",mode:"chat",supports_function_calling:!0,supports_vision:!0,tool_use_system_prompt_tokens:159,supports_assistant_prefill:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_response_schema:!0,supports_tool_choice:!0,supports_reasoning:!0,supports_computer_use:!0},"claude-4-opus-20250514":{max_tokens:32e3,max_input_tokens:2e5,max_output_tokens:32e3,input_cost_per_token:15e-6,output_cost_per_token:75e-6,search_context_cost_per_query:{search_context_size_low:.01,search_context_size_medium:.01,search_context_size_high:.01},cache_creation_input_token_cost:1875e-8,cache_read_input_token_cost:15e-7,litellm_provider:"anthropic",mode:"chat",supports_function_calling:!0,supports_vision:!0,tool_use_system_prompt_tokens:159,supports_assistant_prefill:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_response_schema:!0,supports_tool_choice:!0,supports_reasoning:!0,supports_computer_use:!0},"claude-4-sonnet-20250514":{max_tokens:1e6,max_input_tokens:1e6,max_output_tokens:1e6,input_cost_per_token:3e-6,output_cost_per_token:15e-6,input_cost_per_token_above_200k_tokens:6e-6,output_cost_per_token_above_200k_tokens:225e-7,search_context_cost_per_query:{search_context_size_low:.01,search_context_size_medium:.01,search_context_size_high:.01},cache_creation_input_token_cost:375e-8,cache_read_input_token_cost:3e-7,cache_creation_input_token_cost_above_200k_tokens:75e-7,cache_read_input_token_cost_above_200k_tokens:6e-7,litellm_provider:"anthropic",mode:"chat",supports_function_calling:!0,supports_vision:!0,tool_use_system_prompt_tokens:159,supports_assistant_prefill:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_response_schema:!0,supports_tool_choice:!0,supports_reasoning:!0,supports_computer_use:!0},"claude-3-7-sonnet-latest":{supports_computer_use:!0,max_tokens:128e3,max_input_tokens:2e5,max_output_tokens:128e3,input_cost_per_token:3e-6,output_cost_per_token:15e-6,search_context_cost_per_query:{search_context_size_low:.01,search_context_size_medium:.01,search_context_size_high:.01},cache_creation_input_token_cost:375e-8,cache_read_input_token_cost:3e-7,litellm_provider:"anthropic",mode:"chat",supports_function_calling:!0,supports_vision:!0,tool_use_system_prompt_tokens:159,supports_assistant_prefill:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_response_schema:!0,deprecation_date:"2025-06-01",supports_tool_choice:!0,supports_reasoning:!0},"claude-3-7-sonnet-20250219":{supports_computer_use:!0,max_tokens:128e3,max_input_tokens:2e5,max_output_tokens:128e3,input_cost_per_token:3e-6,output_cost_per_token:15e-6,cache_creation_input_token_cost:375e-8,cache_read_input_token_cost:3e-7,search_context_cost_per_query:{search_context_size_low:.01,search_context_size_medium:.01,search_context_size_high:.01},litellm_provider:"anthropic",mode:"chat",supports_function_calling:!0,supports_vision:!0,tool_use_system_prompt_tokens:159,supports_assistant_prefill:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_response_schema:!0,deprecation_date:"2026-02-01",supports_tool_choice:!0,supports_reasoning:!0,supports_web_search:!0},"claude-3-5-sonnet-20241022":{supports_computer_use:!0,max_tokens:8192,max_input_tokens:2e5,max_output_tokens:8192,input_cost_per_token:3e-6,output_cost_per_token:15e-6,cache_creation_input_token_cost:375e-8,cache_read_input_token_cost:3e-7,search_context_cost_per_query:{search_context_size_low:.01,search_context_size_medium:.01,search_context_size_high:.01},litellm_provider:"anthropic",mode:"chat",supports_function_calling:!0,supports_vision:!0,tool_use_system_prompt_tokens:159,supports_assistant_prefill:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_response_schema:!0,deprecation_date:"2025-10-01",supports_tool_choice:!0,supports_web_search:!0},"gemini-2.5-pro-exp-03-25":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_token:125e-8,input_cost_per_token_above_200k_tokens:25e-7,output_cost_per_token:1e-5,output_cost_per_token_above_200k_tokens:15e-6,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_audio_input:!0,supports_video_input:!0,supports_pdf_input:!0,supports_response_schema:!0,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://cloud.google.com/vertex-ai/generative-ai/pricing",supports_parallel_function_calling:!0,supports_web_search:!0,cache_read_input_token_cost:3125e-10,supports_prompt_caching:!0},"gemini-2.0-pro-exp-02-05":{max_tokens:8192,max_input_tokens:2097152,max_output_tokens:8192,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_token:125e-8,input_cost_per_token_above_200k_tokens:25e-7,output_cost_per_token:1e-5,output_cost_per_token_above_200k_tokens:15e-6,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_audio_input:!0,supports_video_input:!0,supports_pdf_input:!0,supports_response_schema:!0,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://cloud.google.com/vertex-ai/generative-ai/pricing",supports_parallel_function_calling:!0,supports_web_search:!0,cache_read_input_token_cost:3125e-10,supports_prompt_caching:!0},"gemini-2.0-flash-exp":{max_tokens:8192,max_input_tokens:1048576,max_output_tokens:8192,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_image:0,input_cost_per_video_per_second:0,input_cost_per_audio_per_second:0,input_cost_per_token:15e-8,input_cost_per_character:0,input_cost_per_token_above_128k_tokens:0,input_cost_per_character_above_128k_tokens:0,input_cost_per_image_above_128k_tokens:0,input_cost_per_video_per_second_above_128k_tokens:0,input_cost_per_audio_per_second_above_128k_tokens:0,output_cost_per_token:6e-7,output_cost_per_character:0,output_cost_per_token_above_128k_tokens:0,output_cost_per_character_above_128k_tokens:0,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!0,supported_modalities:["text","image","audio","video"],supported_output_modalities:["text","image"],source:"https://cloud.google.com/vertex-ai/generative-ai/pricing",supports_tool_choice:!0,supports_parallel_function_calling:!0,supports_web_search:!0,cache_read_input_token_cost:375e-10,supports_prompt_caching:!0},"gemini-2.0-flash-001":{max_tokens:8192,max_input_tokens:1048576,max_output_tokens:8192,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:1e-6,input_cost_per_token:15e-8,output_cost_per_token:6e-7,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!0,supports_tool_choice:!0,supported_modalities:["text","image","audio","video"],supported_output_modalities:["text","image"],source:"https://cloud.google.com/vertex-ai/generative-ai/pricing",deprecation_date:"2026-02-05",supports_parallel_function_calling:!0,supports_web_search:!0,cache_read_input_token_cost:375e-10,supports_prompt_caching:!0},"gemini-2.0-flash-thinking-exp":{max_tokens:8192,max_input_tokens:1048576,max_output_tokens:8192,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_image:0,input_cost_per_video_per_second:0,input_cost_per_audio_per_second:0,input_cost_per_token:0,input_cost_per_character:0,input_cost_per_token_above_128k_tokens:0,input_cost_per_character_above_128k_tokens:0,input_cost_per_image_above_128k_tokens:0,input_cost_per_video_per_second_above_128k_tokens:0,input_cost_per_audio_per_second_above_128k_tokens:0,output_cost_per_token:0,output_cost_per_character:0,output_cost_per_token_above_128k_tokens:0,output_cost_per_character_above_128k_tokens:0,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!0,supported_modalities:["text","image","audio","video"],supported_output_modalities:["text","image"],source:"https://cloud.google.com/vertex-ai/generative-ai/docs/learn/models#gemini-2.0-flash",supports_tool_choice:!0,supports_parallel_function_calling:!0,supports_web_search:!0,cache_read_input_token_cost:0,supports_prompt_caching:!0},"gemini-2.0-flash-thinking-exp-01-21":{max_tokens:65536,max_input_tokens:1048576,max_output_tokens:65536,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_image:0,input_cost_per_video_per_second:0,input_cost_per_audio_per_second:0,input_cost_per_token:0,input_cost_per_character:0,input_cost_per_token_above_128k_tokens:0,input_cost_per_character_above_128k_tokens:0,input_cost_per_image_above_128k_tokens:0,input_cost_per_video_per_second_above_128k_tokens:0,input_cost_per_audio_per_second_above_128k_tokens:0,output_cost_per_token:0,output_cost_per_character:0,output_cost_per_token_above_128k_tokens:0,output_cost_per_character_above_128k_tokens:0,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_system_messages:!0,supports_function_calling:!1,supports_vision:!0,supports_response_schema:!1,supports_audio_output:!1,supported_modalities:["text","image","audio","video"],supported_output_modalities:["text","image"],source:"https://cloud.google.com/vertex-ai/generative-ai/docs/learn/models#gemini-2.0-flash",supports_tool_choice:!0,supports_parallel_function_calling:!0,supports_web_search:!0,cache_read_input_token_cost:0,supports_prompt_caching:!0},"gemini-2.5-pro":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_token:125e-8,input_cost_per_token_above_200k_tokens:25e-7,output_cost_per_token:1e-5,output_cost_per_token_above_200k_tokens:15e-6,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_audio_input:!0,supports_video_input:!0,supports_pdf_input:!0,supports_response_schema:!0,supports_tool_choice:!0,supports_reasoning:!0,supported_endpoints:["/v1/chat/completions","/v1/completions"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://cloud.google.com/vertex-ai/generative-ai/pricing",supports_web_search:!0,cache_read_input_token_cost:3125e-10,supports_prompt_caching:!0},"gemini/gemini-2.5-pro-exp-03-25":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_token:0,input_cost_per_token_above_200k_tokens:0,output_cost_per_token:0,output_cost_per_token_above_200k_tokens:0,litellm_provider:"gemini",mode:"chat",rpm:5,tpm:25e4,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_audio_input:!0,supports_video_input:!0,supports_pdf_input:!0,supports_response_schema:!0,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://cloud.google.com/vertex-ai/generative-ai/pricing",supports_web_search:!0,cache_read_input_token_cost:0,supports_prompt_caching:!0},"gemini/gemini-2.5-pro":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_token:125e-8,input_cost_per_token_above_200k_tokens:25e-7,output_cost_per_token:1e-5,output_cost_per_token_above_200k_tokens:15e-6,litellm_provider:"gemini",mode:"chat",rpm:2e3,tpm:8e5,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_audio_input:!0,supports_video_input:!0,supports_pdf_input:!0,supports_response_schema:!0,supports_tool_choice:!0,supports_reasoning:!0,supported_endpoints:["/v1/chat/completions","/v1/completions"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://cloud.google.com/vertex-ai/generative-ai/pricing",supports_web_search:!0,cache_read_input_token_cost:3125e-10,supports_prompt_caching:!0},"gemini/gemini-2.5-flash":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:1e-6,input_cost_per_token:3e-7,output_cost_per_token:25e-7,output_cost_per_reasoning_token:25e-7,litellm_provider:"gemini",mode:"chat",supports_reasoning:!0,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions","/v1/batch"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash-preview",supports_parallel_function_calling:!0,supports_web_search:!0,supports_url_context:!0,tpm:8e6,rpm:1e5,supports_pdf_input:!0,cache_read_input_token_cost:75e-9,supports_prompt_caching:!0},"gemini/gemini-2.5-flash-image-preview":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:1e-6,input_cost_per_token:3e-7,output_cost_per_token:25e-7,output_cost_per_reasoning_token:25e-7,output_cost_per_image:.039,litellm_provider:"gemini",mode:"chat",supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions","/v1/batch"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text","image"],source:"https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash-preview",supports_parallel_function_calling:!0,supports_web_search:!0,supports_url_context:!0,tpm:8e6,rpm:1e5,supports_pdf_input:!0,cache_read_input_token_cost:75e-9,supports_prompt_caching:!0},"gemini-2.5-flash":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:1e-6,input_cost_per_token:3e-7,output_cost_per_token:25e-7,output_cost_per_reasoning_token:25e-7,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_reasoning:!0,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions","/v1/batch"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash-preview",supports_parallel_function_calling:!0,supports_web_search:!0,supports_url_context:!0,supports_pdf_input:!0,cache_read_input_token_cost:75e-9,supports_prompt_caching:!0},"gemini/gemini-2.0-flash-live-001":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_token:35e-8,input_cost_per_audio_token:21e-7,input_cost_per_image:21e-7,input_cost_per_video_per_second:21e-7,output_cost_per_token:15e-7,output_cost_per_audio_token:85e-7,litellm_provider:"gemini",mode:"chat",rpm:10,tpm:25e4,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_reasoning:!0,supports_response_schema:!0,supports_audio_output:!0,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text","audio"],source:"https://ai.google.dev/gemini-api/docs/models#gemini-2-0-flash-live-001",supports_web_search:!0,supports_url_context:!0,supports_pdf_input:!0,cache_read_input_token_cost:75e-9,supports_prompt_caching:!0},"gemini/gemini-2.5-flash-preview-tts":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:1e-6,input_cost_per_token:15e-8,output_cost_per_token:6e-7,output_cost_per_reasoning_token:35e-7,litellm_provider:"gemini",mode:"chat",rpm:10,tpm:25e4,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_reasoning:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions"],supported_modalities:["text"],supported_output_modalities:["audio"],source:"https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash-preview",supports_web_search:!0,cache_read_input_token_cost:375e-10,supports_prompt_caching:!0},"gemini/gemini-2.5-flash-preview-05-20":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:1e-6,input_cost_per_token:3e-7,output_cost_per_token:25e-7,output_cost_per_reasoning_token:25e-7,litellm_provider:"gemini",mode:"chat",rpm:10,tpm:25e4,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_reasoning:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash-preview",supports_web_search:!0,supports_url_context:!0,supports_pdf_input:!0,cache_read_input_token_cost:75e-9,supports_prompt_caching:!0},"gemini/gemini-2.5-flash-preview-04-17":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:1e-6,input_cost_per_token:15e-8,output_cost_per_token:6e-7,output_cost_per_reasoning_token:35e-7,litellm_provider:"gemini",mode:"chat",rpm:10,tpm:25e4,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_reasoning:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash-preview",supports_web_search:!0,supports_pdf_input:!0,cache_read_input_token_cost:375e-10,supports_prompt_caching:!0},"gemini/gemini-2.5-flash-lite-preview-06-17":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:5e-7,input_cost_per_token:1e-7,output_cost_per_token:4e-7,output_cost_per_reasoning_token:4e-7,litellm_provider:"gemini",mode:"chat",rpm:15,tpm:25e4,supports_reasoning:!0,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions","/v1/batch"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash-lite",supports_parallel_function_calling:!0,supports_web_search:!0,supports_url_context:!0,supports_pdf_input:!0,cache_read_input_token_cost:25e-9,supports_prompt_caching:!0},"gemini/gemini-2.5-flash-lite":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:5e-7,input_cost_per_token:1e-7,output_cost_per_token:4e-7,output_cost_per_reasoning_token:4e-7,litellm_provider:"gemini",mode:"chat",rpm:15,tpm:25e4,supports_reasoning:!0,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions","/v1/batch"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash-lite",supports_parallel_function_calling:!0,supports_web_search:!0,supports_url_context:!0,supports_pdf_input:!0,cache_read_input_token_cost:25e-9,supports_prompt_caching:!0},"gemini-2.5-flash-image-preview":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:1e-6,input_cost_per_token:3e-7,output_cost_per_token:25e-7,output_cost_per_reasoning_token:25e-7,output_cost_per_image:.039,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions","/v1/batch"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text","image"],source:"https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash-preview",supports_parallel_function_calling:!0,supports_web_search:!0,supports_url_context:!0,tpm:8e6,rpm:1e5,supports_pdf_input:!0,cache_read_input_token_cost:75e-9,supports_prompt_caching:!0},"gemini-2.5-flash-preview-05-20":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:1e-6,input_cost_per_token:3e-7,output_cost_per_token:25e-7,output_cost_per_reasoning_token:25e-7,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_reasoning:!0,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions","/v1/batch"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash-preview",supports_parallel_function_calling:!0,supports_web_search:!0,supports_url_context:!0,supports_pdf_input:!0,cache_read_input_token_cost:75e-9,supports_prompt_caching:!0},"gemini-2.5-flash-preview-04-17":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:1e-6,input_cost_per_token:15e-8,output_cost_per_token:6e-7,output_cost_per_reasoning_token:35e-7,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_reasoning:!0,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions","/v1/batch"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash-preview",supports_parallel_function_calling:!0,supports_web_search:!0,supports_pdf_input:!0,cache_read_input_token_cost:375e-10,supports_prompt_caching:!0},"gemini-2.5-flash-lite-preview-06-17":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:5e-7,input_cost_per_token:1e-7,output_cost_per_token:4e-7,output_cost_per_reasoning_token:4e-7,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_reasoning:!0,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions","/v1/batch"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash-preview",supports_parallel_function_calling:!0,supports_web_search:!0,supports_url_context:!0,supports_pdf_input:!0,cache_read_input_token_cost:25e-9,supports_prompt_caching:!0},"gemini-2.5-flash-lite":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:5e-7,input_cost_per_token:1e-7,output_cost_per_token:4e-7,output_cost_per_reasoning_token:4e-7,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_reasoning:!0,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions","/v1/batch"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash-preview",supports_parallel_function_calling:!0,supports_web_search:!0,supports_url_context:!0,supports_pdf_input:!0,cache_read_input_token_cost:25e-9,supports_prompt_caching:!0},"gemini-2.0-flash":{max_tokens:8192,max_input_tokens:1048576,max_output_tokens:8192,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:7e-7,input_cost_per_token:1e-7,output_cost_per_token:4e-7,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!0,supports_audio_input:!0,supported_modalities:["text","image","audio","video"],supported_output_modalities:["text","image"],supports_tool_choice:!0,source:"https://ai.google.dev/pricing#2_0flash",supports_parallel_function_calling:!0,supports_web_search:!0,supports_url_context:!0,cache_read_input_token_cost:25e-9,supports_prompt_caching:!0},"gemini-2.0-flash-lite":{max_input_tokens:1048576,max_output_tokens:8192,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:50,input_cost_per_audio_token:75e-9,input_cost_per_token:75e-9,output_cost_per_token:3e-7,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!0,supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://cloud.google.com/vertex-ai/generative-ai/docs/learn/models#gemini-2.0-flash",supports_tool_choice:!0,supports_parallel_function_calling:!0,supports_web_search:!0,cache_read_input_token_cost:1875e-11,supports_prompt_caching:!0},"gemini-2.0-flash-lite-001":{max_input_tokens:1048576,max_output_tokens:8192,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:50,input_cost_per_audio_token:75e-9,input_cost_per_token:75e-9,output_cost_per_token:3e-7,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!0,supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://cloud.google.com/vertex-ai/generative-ai/docs/learn/models#gemini-2.0-flash",supports_tool_choice:!0,deprecation_date:"2026-02-25",supports_parallel_function_calling:!0,supports_web_search:!0,cache_read_input_token_cost:1875e-11,supports_prompt_caching:!0},"gemini-2.5-pro-preview-06-05":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:125e-8,input_cost_per_token:125e-8,input_cost_per_token_above_200k_tokens:25e-7,output_cost_per_token:1e-5,output_cost_per_token_above_200k_tokens:15e-6,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_reasoning:!0,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions","/v1/batch"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash-preview",supports_parallel_function_calling:!0,supports_web_search:!0,supports_pdf_input:!0,cache_read_input_token_cost:3125e-10,supports_prompt_caching:!0},"gemini-2.5-pro-preview-05-06":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:125e-8,input_cost_per_token:125e-8,input_cost_per_token_above_200k_tokens:25e-7,output_cost_per_token:1e-5,output_cost_per_token_above_200k_tokens:15e-6,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_reasoning:!0,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions","/v1/batch"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],supported_regions:["global"],source:"https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash-preview",supports_parallel_function_calling:!0,supports_web_search:!0,supports_pdf_input:!0,cache_read_input_token_cost:3125e-10,supports_prompt_caching:!0},"gemini-2.5-pro-preview-03-25":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:125e-8,input_cost_per_token:125e-8,input_cost_per_token_above_200k_tokens:25e-7,output_cost_per_token:1e-5,output_cost_per_token_above_200k_tokens:15e-6,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_reasoning:!0,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions","/v1/batch"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash-preview",supports_parallel_function_calling:!0,supports_web_search:!0,supports_pdf_input:!0,cache_read_input_token_cost:3125e-10,supports_prompt_caching:!0},"gemini-2.0-flash-preview-image-generation":{max_tokens:8192,max_input_tokens:1048576,max_output_tokens:8192,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:7e-7,input_cost_per_token:1e-7,output_cost_per_token:4e-7,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!0,supports_audio_input:!0,supported_modalities:["text","image","audio","video"],supported_output_modalities:["text","image"],supports_tool_choice:!0,source:"https://ai.google.dev/pricing#2_0flash",supports_parallel_function_calling:!0,supports_web_search:!0,cache_read_input_token_cost:25e-9,supports_prompt_caching:!0},"gemini-2.5-pro-preview-tts":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:7e-7,input_cost_per_token:125e-8,input_cost_per_token_above_200k_tokens:25e-7,output_cost_per_token:1e-5,output_cost_per_token_above_200k_tokens:15e-6,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_modalities:["text"],supported_output_modalities:["audio"],source:"https://ai.google.dev/gemini-api/docs/pricing#gemini-2.5-pro-preview",supports_parallel_function_calling:!0,supports_web_search:!0,cache_read_input_token_cost:3125e-10,supports_prompt_caching:!0},"gemini/gemini-2.0-pro-exp-02-05":{max_tokens:8192,max_input_tokens:2097152,max_output_tokens:8192,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_image:0,input_cost_per_video_per_second:0,input_cost_per_audio_per_second:0,input_cost_per_token:0,input_cost_per_character:0,input_cost_per_token_above_128k_tokens:0,input_cost_per_character_above_128k_tokens:0,input_cost_per_image_above_128k_tokens:0,input_cost_per_video_per_second_above_128k_tokens:0,input_cost_per_audio_per_second_above_128k_tokens:0,output_cost_per_token:0,output_cost_per_character:0,output_cost_per_token_above_128k_tokens:0,output_cost_per_character_above_128k_tokens:0,litellm_provider:"gemini",mode:"chat",rpm:2,tpm:1e6,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_audio_input:!0,supports_video_input:!0,supports_pdf_input:!0,supports_response_schema:!0,supports_tool_choice:!0,source:"https://cloud.google.com/vertex-ai/generative-ai/pricing",supports_web_search:!0,cache_read_input_token_cost:0,supports_prompt_caching:!0},"gemini/gemini-2.0-flash-preview-image-generation":{max_tokens:8192,max_input_tokens:1048576,max_output_tokens:8192,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:7e-7,input_cost_per_token:1e-7,output_cost_per_token:4e-7,litellm_provider:"gemini",mode:"chat",rpm:1e4,tpm:1e7,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!0,supports_audio_input:!0,supported_modalities:["text","image","audio","video"],supported_output_modalities:["text","image"],supports_tool_choice:!0,source:"https://ai.google.dev/pricing#2_0flash",supports_web_search:!0,cache_read_input_token_cost:25e-9,supports_prompt_caching:!0},"gemini/gemini-2.0-flash":{max_tokens:8192,max_input_tokens:1048576,max_output_tokens:8192,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:7e-7,input_cost_per_token:1e-7,output_cost_per_token:4e-7,litellm_provider:"gemini",mode:"chat",rpm:1e4,tpm:1e7,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!0,supports_audio_input:!0,supported_modalities:["text","image","audio","video"],supported_output_modalities:["text","image"],supports_tool_choice:!0,source:"https://ai.google.dev/pricing#2_0flash",supports_web_search:!0,supports_url_context:!0,cache_read_input_token_cost:25e-9,supports_prompt_caching:!0},"gemini/gemini-2.0-flash-lite":{max_input_tokens:1048576,max_output_tokens:8192,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:50,input_cost_per_audio_token:75e-9,input_cost_per_token:75e-9,output_cost_per_token:3e-7,litellm_provider:"gemini",mode:"chat",tpm:4e6,rpm:4e3,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!0,supports_tool_choice:!0,supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://ai.google.dev/gemini-api/docs/pricing#gemini-2.0-flash-lite",supports_web_search:!0,cache_read_input_token_cost:1875e-11,supports_prompt_caching:!0},"gemini/gemini-2.0-flash-001":{max_tokens:8192,max_input_tokens:1048576,max_output_tokens:8192,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:7e-7,input_cost_per_token:1e-7,output_cost_per_token:4e-7,litellm_provider:"gemini",mode:"chat",rpm:1e4,tpm:1e7,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_modalities:["text","image","audio","video"],supported_output_modalities:["text","image"],source:"https://ai.google.dev/pricing#2_0flash",supports_web_search:!0,cache_read_input_token_cost:25e-9,supports_prompt_caching:!0},"gemini/gemini-2.5-pro-preview-tts":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:7e-7,input_cost_per_token:125e-8,input_cost_per_token_above_200k_tokens:25e-7,output_cost_per_token:1e-5,output_cost_per_token_above_200k_tokens:15e-6,litellm_provider:"gemini",mode:"chat",rpm:1e4,tpm:1e7,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_modalities:["text"],supported_output_modalities:["audio"],source:"https://ai.google.dev/gemini-api/docs/pricing#gemini-2.5-pro-preview",supports_web_search:!0,cache_read_input_token_cost:3125e-10,supports_prompt_caching:!0},"gemini/gemini-2.5-pro-preview-06-05":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:7e-7,input_cost_per_token:125e-8,input_cost_per_token_above_200k_tokens:25e-7,output_cost_per_token:1e-5,output_cost_per_token_above_200k_tokens:15e-6,litellm_provider:"gemini",mode:"chat",rpm:1e4,tpm:1e7,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://ai.google.dev/gemini-api/docs/pricing#gemini-2.5-pro-preview",supports_web_search:!0,supports_url_context:!0,supports_pdf_input:!0,cache_read_input_token_cost:3125e-10,supports_prompt_caching:!0},"gemini/gemini-2.5-pro-preview-05-06":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:7e-7,input_cost_per_token:125e-8,input_cost_per_token_above_200k_tokens:25e-7,output_cost_per_token:1e-5,output_cost_per_token_above_200k_tokens:15e-6,litellm_provider:"gemini",mode:"chat",rpm:1e4,tpm:1e7,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://ai.google.dev/gemini-api/docs/pricing#gemini-2.5-pro-preview",supports_web_search:!0,supports_url_context:!0,supports_pdf_input:!0,cache_read_input_token_cost:3125e-10,supports_prompt_caching:!0},"gemini/gemini-2.5-pro-preview-03-25":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:7e-7,input_cost_per_token:125e-8,input_cost_per_token_above_200k_tokens:25e-7,output_cost_per_token:1e-5,output_cost_per_token_above_200k_tokens:15e-6,litellm_provider:"gemini",mode:"chat",rpm:1e4,tpm:1e7,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://ai.google.dev/gemini-api/docs/pricing#gemini-2.5-pro-preview",supports_web_search:!0,supports_pdf_input:!0,cache_read_input_token_cost:3125e-10,supports_prompt_caching:!0},"gemini/gemini-2.0-flash-exp":{max_tokens:8192,max_input_tokens:1048576,max_output_tokens:8192,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_image:0,input_cost_per_video_per_second:0,input_cost_per_audio_per_second:0,input_cost_per_token:0,input_cost_per_character:0,input_cost_per_token_above_128k_tokens:0,input_cost_per_character_above_128k_tokens:0,input_cost_per_image_above_128k_tokens:0,input_cost_per_video_per_second_above_128k_tokens:0,input_cost_per_audio_per_second_above_128k_tokens:0,output_cost_per_token:0,output_cost_per_character:0,output_cost_per_token_above_128k_tokens:0,output_cost_per_character_above_128k_tokens:0,litellm_provider:"gemini",mode:"chat",supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!0,tpm:4e6,rpm:10,supported_modalities:["text","image","audio","video"],supported_output_modalities:["text","image"],source:"https://cloud.google.com/vertex-ai/generative-ai/docs/learn/models#gemini-2.0-flash",supports_tool_choice:!0,supports_web_search:!0,cache_read_input_token_cost:0,supports_prompt_caching:!0},"gemini/gemini-2.0-flash-lite-preview-02-05":{max_tokens:8192,max_input_tokens:1048576,max_output_tokens:8192,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:75e-9,input_cost_per_token:75e-9,output_cost_per_token:3e-7,litellm_provider:"gemini",mode:"chat",rpm:6e4,tpm:1e7,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://cloud.google.com/vertex-ai/generative-ai/docs/learn/models#gemini-2.0-flash-lite",supports_web_search:!0,cache_read_input_token_cost:1875e-11,supports_prompt_caching:!0},"gemini/gemini-2.0-flash-thinking-exp":{max_tokens:8192,max_input_tokens:1048576,max_output_tokens:65536,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_image:0,input_cost_per_video_per_second:0,input_cost_per_audio_per_second:0,input_cost_per_token:0,input_cost_per_character:0,input_cost_per_token_above_128k_tokens:0,input_cost_per_character_above_128k_tokens:0,input_cost_per_image_above_128k_tokens:0,input_cost_per_video_per_second_above_128k_tokens:0,input_cost_per_audio_per_second_above_128k_tokens:0,output_cost_per_token:0,output_cost_per_character:0,output_cost_per_token_above_128k_tokens:0,output_cost_per_character_above_128k_tokens:0,litellm_provider:"gemini",mode:"chat",supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!0,tpm:4e6,rpm:10,supported_modalities:["text","image","audio","video"],supported_output_modalities:["text","image"],source:"https://cloud.google.com/vertex-ai/generative-ai/docs/learn/models#gemini-2.0-flash",supports_tool_choice:!0,supports_web_search:!0,cache_read_input_token_cost:0,supports_prompt_caching:!0},"gemini/gemini-2.0-flash-thinking-exp-01-21":{max_tokens:8192,max_input_tokens:1048576,max_output_tokens:65536,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_image:0,input_cost_per_video_per_second:0,input_cost_per_audio_per_second:0,input_cost_per_token:0,input_cost_per_character:0,input_cost_per_token_above_128k_tokens:0,input_cost_per_character_above_128k_tokens:0,input_cost_per_image_above_128k_tokens:0,input_cost_per_video_per_second_above_128k_tokens:0,input_cost_per_audio_per_second_above_128k_tokens:0,output_cost_per_token:0,output_cost_per_character:0,output_cost_per_token_above_128k_tokens:0,output_cost_per_character_above_128k_tokens:0,litellm_provider:"gemini",mode:"chat",supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!0,tpm:4e6,rpm:10,supported_modalities:["text","image","audio","video"],supported_output_modalities:["text","image"],source:"https://cloud.google.com/vertex-ai/generative-ai/docs/learn/models#gemini-2.0-flash",supports_tool_choice:!0,supports_web_search:!0,cache_read_input_token_cost:0,supports_prompt_caching:!0},"gemini/gemma-3-27b-it":{max_tokens:8192,max_input_tokens:131072,max_output_tokens:8192,input_cost_per_image:0,input_cost_per_video_per_second:0,input_cost_per_audio_per_second:0,input_cost_per_token:0,input_cost_per_character:0,input_cost_per_token_above_128k_tokens:0,input_cost_per_character_above_128k_tokens:0,input_cost_per_image_above_128k_tokens:0,input_cost_per_video_per_second_above_128k_tokens:0,input_cost_per_audio_per_second_above_128k_tokens:0,output_cost_per_token:0,output_cost_per_character:0,output_cost_per_token_above_128k_tokens:0,output_cost_per_character_above_128k_tokens:0,litellm_provider:"gemini",mode:"chat",supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,source:"https://aistudio.google.com",supports_tool_choice:!0},"gemini/learnlm-1.5-pro-experimental":{max_tokens:8192,max_input_tokens:32767,max_output_tokens:8192,input_cost_per_image:0,input_cost_per_video_per_second:0,input_cost_per_audio_per_second:0,input_cost_per_token:0,input_cost_per_character:0,input_cost_per_token_above_128k_tokens:0,input_cost_per_character_above_128k_tokens:0,input_cost_per_image_above_128k_tokens:0,input_cost_per_video_per_second_above_128k_tokens:0,input_cost_per_audio_per_second_above_128k_tokens:0,output_cost_per_token:0,output_cost_per_character:0,output_cost_per_token_above_128k_tokens:0,output_cost_per_character_above_128k_tokens:0,litellm_provider:"gemini",mode:"chat",supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,source:"https://aistudio.google.com",supports_tool_choice:!0},"gemini/veo-3.0-generate-preview":{max_tokens:1024,max_input_tokens:1024,output_cost_per_second:.75,litellm_provider:"gemini",mode:"video_generation",supported_modalities:["text"],supported_output_modalities:["video"],source:"https://ai.google.dev/gemini-api/docs/video"},"gemini/veo-3.0-fast-generate-preview":{max_tokens:1024,max_input_tokens:1024,output_cost_per_second:.4,litellm_provider:"gemini",mode:"video_generation",supported_modalities:["text"],supported_output_modalities:["video"],source:"https://ai.google.dev/gemini-api/docs/video"},"gemini/veo-2.0-generate-001":{max_tokens:1024,max_input_tokens:1024,output_cost_per_second:.35,litellm_provider:"gemini",mode:"video_generation",supported_modalities:["text"],supported_output_modalities:["video"],source:"https://ai.google.dev/gemini-api/docs/video"}};class Bo{static calculateCost(e,t){const s=qo[e];if(!s)return null;const o=t.inputTokens||0,r=t.outputTokens||0,i=t.cachedInputTokens||0,a=t.cacheCreationInputTokens||0,p="input_cost_per_token"in s?s.input_cost_per_token:0,u="output_cost_per_token"in s?s.output_cost_per_token:0,c="cache_read_input_token_cost"in s?s.cache_read_input_token_cost:0,g="cache_creation_input_token_cost"in s?s.cache_creation_input_token_cost:0,v=o*p,d=r*u,m=i*c,h=a*g;return{totalCost:v+d+m+h,inputCost:v,outputCost:d,cacheReadCost:i>0?m:void 0,cacheCreationCost:a>0?h:void 0}}}class Bt{static parseStreamingResponse(e){try{const t=e.split(`
3
- `),s=[];let o=null,r=null;const i=new Map;for(const m of t)if(m.startsWith("data: ")){const h=m.substring(6).trim();if(h)try{const w=JSON.parse(h);if(w.type==="message_start"&&w.message&&(o=w.message),w.type==="content_block_start"){const L={index:w.index,type:w.content_block.type,id:w.content_block.id,name:w.content_block.name,input:w.content_block.input||{},text:"",partialJson:""};i.set(w.index,L)}if(w.type==="content_block_delta"){const L=i.get(w.index);L&&(w.delta.type==="text_delta"?L.text+=w.delta.text:w.delta.type==="input_json_delta"&&(L.partialJson+=w.delta.partial_json))}if(w.type==="content_block_stop"){const L=i.get(w.index);if(L){if(L.partialJson)try{L.input=JSON.parse(L.partialJson)}catch{}s.push(L)}}w.type==="message_delta"&&w.usage&&(r=w.usage)}catch{}}const a=(s||[]).map(m=>m.type==="text"?{type:"text",text:m.text}:m.type==="tool_use"?{type:"tool-invocation",toolInvocation:{toolCallId:m.id,toolName:m.name,args:m.input,state:"call"}}:{type:"text",text:`Unknown content block type: ${m.type}`}),p={id:o?.id||Bt.generateId(),role:"assistant",createdAt:new Date().toISOString(),parts:a.length>0?a:[{type:"text",text:""}]},u={...o?.usage||{},...r||{}},c={inputTokens:u.input_tokens||u.inputTokens,outputTokens:u.output_tokens||u.outputTokens,cachedInputTokens:u.cache_read_input_tokens||u.cachedInputTokens,cacheCreationInputTokens:u.cache_creation_input_tokens||u.cacheCreationInputTokens,totalTokens:(u.input_tokens||0)+(u.output_tokens||0),cacheCreation:u.cache_creation,serviceTier:u.service_tier},g=o?.model,v=g?Bo.calculateCost(g,c):null;return{message:p,metadata:{model:g,usage:c,cost:v,originalMessageId:o?.id,stopReason:o?.stop_reason,contentLength:a.reduce((m,h)=>h.type==="text"?m+h.text.length:h.type==="tool-invocation"?m+JSON.stringify(h.toolInvocation.args||"").length:m+JSON.stringify(h).length,0),streamingEvents:t.filter(m=>m.startsWith("event:")).length}}}catch(t){return{error:`Failed to parse streaming response: ${t}`,rawText:e}}}static generateId(){return Date.now().toString(36)+Math.random().toString(36).slice(2,10)}}Bt.parseStreamingResponse;new Proxy({},{get(n,e){throw new Error(`Module "node:zlib" has been externalized for browser compatibility. Cannot access "node:zlib.${e}" in client code. See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.`)}});class Ns{static parseStreamingResponse(e){try{return e.includes(`
4
- data:`)||e.startsWith("data:")?this.parseSse(e):this.parseRegular(e)}catch(t){return{error:`Failed to parse Gemini response: ${t}`,rawText:e}}}static parseRegular(e){const t=this.isProbablyGzip(e)||this.hasHighControlCharRatio(e);let s=e;if(t){const o=this.tryGunzip(e);o.ok&&(s=o.text)}try{const o=JSON.parse(s),r=o.response||o,{fullText:i,finishReason:a,texts:p,nextSpeakers:u,reasoningSegments:c}=this.extractCandidateText(r.candidates),g=this.normalizeUsage(r.usageMetadata||o.usageMetadata||o),v=p.length>0?p.map(d=>({type:"text",text:d})):i?[{type:"text",text:i}]:[];return{message:{id:r.responseId||this.generateId(),role:"assistant",createdAt:new Date().toISOString(),parts:v},metadata:{model:r.modelVersion||o.modelVersion,usage:g,responseId:r.responseId,finishReason:a,contentLength:i.length,streamingEvents:0,compressed:t||void 0,nextSpeakers:u.length?u:void 0,reasoningSegments:c.length?c:void 0}}}catch{return{message:{id:this.generateId(),role:"assistant",createdAt:new Date().toISOString(),parts:[{type:"text",text:s}]},metadata:{raw:!0}}}}static parseSse(e){const t=e.split(/\r?\n/);let s,o,r,i;const a=[],p=[],u=[];for(const v of t){if(!v.startsWith("data:"))continue;const d=v.slice(5).trim();if(d)try{const h=JSON.parse(d).response||{};h.modelVersion&&(s=h.modelVersion),h.responseId&&(o=h.responseId),h.usageMetadata&&(i=h.usageMetadata);const w=this.extractCandidateText(h.candidates);!r&&w.finishReason&&(r=w.finishReason),w.texts.length&&a.push(...w.texts),w.nextSpeakers.length&&p.push(...w.nextSpeakers),w.reasoningSegments.length&&u.push(...w.reasoningSegments)}catch{}}const c=a.join(""),g=this.normalizeUsage(i);return{message:{id:o||this.generateId(),role:"assistant",createdAt:new Date().toISOString(),parts:a.length?a.map(v=>({type:"text",text:v})):[]},metadata:{model:s,usage:g,responseId:o,finishReason:r,contentLength:c.length,streamingEvents:t.filter(v=>v.startsWith("data:")).length,nextSpeakers:p.length?p:void 0,reasoningSegments:u.length?u:void 0}}}static extractCandidateText(e){const t=[],s=[],o=[];let r;if(Array.isArray(e))for(const i of e){!r&&i?.finishReason&&(r=i.finishReason);const a=i?.content?.parts||[];if(Array.isArray(a)){for(const p of a)if(p&&typeof p=="object"){if(p.thought===!0)continue;const u=p.text;if(typeof u=="string"&&u.length){const c=u.trim();if(c.startsWith("{")&&c.endsWith("}"))try{const g=JSON.parse(c);if(g&&typeof g=="object"){typeof g.reasoning=="string"&&(o.push(g.reasoning),t.push(g.reasoning)),g.next_speaker&&typeof g.next_speaker=="string"&&s.push(g.next_speaker);continue}}catch{}t.push(u)}}}}return{fullText:t.join(""),finishReason:r,texts:t,finishReasonFound:r,nextSpeakers:s,reasoningSegments:o}}static tryGunzip(e){try{return{ok:!0,text:(void 0)(Buffer.from(e,"latin1")).toString("utf8")}}catch{return{ok:!1,text:e}}}static hasHighControlCharRatio(e){if(!e)return!1;let t=0;const s=Math.min(e.length,256);for(let o=0;o<s;o++){const r=e.charCodeAt(o);r<32&&r!==9&&r!==10&&r!==13&&t++}return t/s>.1}static isProbablyGzip(e){return e.length>=2&&e.charCodeAt(0)===31&&e.charCodeAt(1)===139}static normalizeUsage(e){if(!e||typeof e!="object")return{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0};const t=e.promptTokenCount??e.prompt_tokens,s=e.candidatesTokenCount??e.candidates_tokens,o=e.totalTokenCount??(typeof t=="number"&&typeof s=="number"?t+s:void 0);return{inputTokens:t,outputTokens:s,totalTokens:o}}static generateId(){return Date.now().toString(36)+Math.random().toString(36).slice(2,10)}}Ns.parseStreamingResponse;class le{static parsers=[{name:"Claude (Anthropic)",patterns:[/\/publishers\/anthropic\/models/i,/anthropic\.com/i,/claude\.ai/i,/\/v1\/messages/i],parser:Bt},{name:"Google Gemini",patterns:[/generativelanguage\.googleapis\.com/i,/cloudcode-pa\.googleapis\.com/i,/streamGenerateContent/i,/generateContent/i],parser:Ns}];static parseStreamingResponse(e,t){const s=le.getParserForUrl(e);if(!s)return{error:`No parser found for URL: ${e}`,rawText:t,supportedProviders:le.parsers.map(o=>o.name)};try{const o=s.parseStreamingResponse(t);return o&&typeof o=="object"&&!o.error&&(o.metadata={...o.metadata,parser:le.getParserNameForUrl(e)}),o}catch(o){return{error:`Parser failed: ${o}`,rawText:t,parser:le.getParserNameForUrl(e)}}}static getParserForUrl(e){if(!e)return null;for(const t of le.parsers)if(t.patterns.some(s=>s.test(e)))return t.parser;return null}static getParserNameForUrl(e){if(!e)return"unknown";for(const t of le.parsers)if(t.patterns.some(s=>s.test(e)))return t.name;return"unknown"}static isSupported(e){return le.getParserForUrl(e)!==null}static getSupportedProviders(){return le.parsers.map(e=>e.name)}static registerParser(e,t,s){le.parsers.push({name:e,patterns:t,parser:s})}}class Ls{LLM_PATTERNS=[/anthropic\.com/i,/claude\.ai/i,/openai\.com/i,/api\.openai\.com/i,/chatgpt\.com\/backend-api\/codex/i,/gemini\.google/i,/generativelanguage\.googleapis/i,/cloudcode-pa\.googleapis\.com/i,/bedrock.*\.amazonaws/i,/cognitive\.microsoft/i,/azure\.openai/i,/cohere\.ai/i,/huggingface\.co/i,/replicate\.com/i,/together\.xyz/i,/mistral\.ai/i,/groq\.com/i,/perplexity\.ai/i,/ollama/i,/localhost:\d+\/v1/i,/127\.0\.0\.1:\d+\/v1/i,/\/v1\/chat\/completions/i,/\/v1\/completions/i,/\/v1\/embeddings/i,/\/v1\/messages/i,/\/publishers\/anthropic\/models/i];PROVIDER_MAP=[{pattern:/\/publishers\/anthropic\/models/i,provider:"anthropic"},{pattern:/anthropic\.com|claude\.ai/i,provider:"anthropic"},{pattern:/chatgpt\.com\/backend-api\/codex/i,provider:"openai"},{pattern:/openai\.com/i,provider:"openai"},{pattern:/gemini\.google|generativelanguage\.googleapis|cloudcode-pa\.googleapis/i,provider:"google"},{pattern:/bedrock.*\.amazonaws/i,provider:"aws-bedrock"},{pattern:/cognitive\.microsoft|azure\.openai/i,provider:"azure"},{pattern:/cohere\.ai/i,provider:"cohere"},{pattern:/huggingface\.co/i,provider:"huggingface"},{pattern:/replicate\.com/i,provider:"replicate"},{pattern:/together\.xyz/i,provider:"together"},{pattern:/mistral\.ai/i,provider:"mistral"},{pattern:/groq\.com/i,provider:"groq"},{pattern:/perplexity\.ai/i,provider:"perplexity"},{pattern:/ollama|localhost:\d+\/v1|127\.0\.0\.1:\d+\/v1/i,provider:"local"}];isLLMCall(e){return e?this.LLM_PATTERNS.some(t=>t.test(e)):!1}detectProvider(e){if(!e)return"unknown";for(const{pattern:t,provider:s}of this.PROVIDER_MAP)if(t.test(e))return s;return"unknown"}getSupportedProviders(){return Array.from(new Set(this.PROVIDER_MAP.map(({provider:e})=>e)))}isProviderSupported(e){return this.getSupportedProviders().includes(e.toLowerCase())}getProviderPattern(e){const t=this.PROVIDER_MAP.find(({provider:s})=>s===e.toLowerCase());return t?t.pattern:null}}class Uo{static enhanceRequest(e){const t=te.contextData;if(!t)return e;try{const s=JSON.parse(e);s.system?typeof s.system=="string"?s.system=[{type:"text",text:s.system}]:Array.isArray(s.system)||(s.system=[s.system]):s.system=[];const o={type:"text",text:`# Task Context
5
-
6
- ${t}`};return s.system.length>0?s.system.splice(1,0,o):s.system.push(o),JSON.stringify(s)}catch(s){return console.error("Failed to enhance Claude request:",s),e}}}class Ho{static enhanceRequest(e){const t=te.contextData;if(!t)return e;try{const s=JSON.parse(e),o=`# Task Context
7
-
8
- ${t}`;return s.systemInstruction?typeof s.systemInstruction=="string"?s.systemInstruction={parts:[{text:o},{text:s.systemInstruction}]}:s.systemInstruction.parts&&s.systemInstruction.parts.unshift({text:o}):s.systemInstruction={parts:[{text:o}]},JSON.stringify(s)}catch(s){return console.error("Failed to enhance Gemini request:",s),e}}}class Re{static enhancers=[{name:"Claude (Anthropic)",patterns:[/\/publishers\/anthropic\/models/i,/anthropic\.com/i,/claude\.ai/i,/\/v1\/messages/i],enhancer:Uo},{name:"Google Gemini",patterns:[/generativelanguage\.googleapis\.com/i,/cloudcode-pa\.googleapis\.com/i,/streamGenerateContent/i,/generateContent/i],enhancer:Ho}];static enhanceRequest(e,t){const s=Re.getEnhancerForUrl(e);if(!s)return t;try{return s.enhanceRequest(t)}catch(o){return console.error(`Enhancer failed for ${e}:`,o),t}}static getEnhancerForUrl(e){if(!e)return null;for(const t of Re.enhancers)if(t.patterns.some(s=>s.test(e)))return t.enhancer;return null}static getEnhancerNameForUrl(e){if(!e)return"unknown";for(const t of Re.enhancers)if(t.patterns.some(s=>s.test(e)))return t.name;return"unknown"}static isSupported(e){return Re.getEnhancerForUrl(e)!==null}static getSupportedProviders(){return Re.enhancers.map(e=>e.name)}static registerEnhancer(e,t,s){Re.enhancers.push({name:e,patterns:t,enhancer:s})}}class nt{constructor(e,t){this.ctx=e,this.extra=t}originalFetch=null;static MAX_LOG_BYTES=256*1024;patch(){if(typeof globalThis.fetch!="function"||this.originalFetch)return;this.originalFetch=globalThis.fetch.bind(globalThis);const e=this.ctx,t=this.extra;globalThis.fetch=async(s,o)=>{const r=Ee.performance.now();let i=s,a=o,p=this.safeGetUrl(i);const u=p,c=(a?.method||typeof i=="object"&&i?.method||"GET").toString().toUpperCase();let g=this.extractHeaders(a?.headers??i?.headers);const v=this.stringifyRequestBody(a?.body??i?.body);let d=v;if(e.llmProvider.isLLMCall(p)&&v&&v!=="<request body error>")try{d=Re.enhanceRequest(p,v),d!==v&&(a?a.body=d:typeof i=="object"&&i?a={body:d}:a={body:d})}catch{}const m=await this.applyRouting({resource:i,init:a,url:p,enhancedBody:d,requestHeaders:g});i=m.resource,a=m.init,p=m.url,d=m.enhancedBody,g=m.requestHeaders;const h=m.wasRouted,w=e.idGenerator(),L=new Date().toISOString();if(t.agentHttpService&&t.sessionId&&t.isValidMessageRequest(p,c,v)){const j={id:w,time:L,transport:"fetch",method:c,url:p,requestBody:v,requestHeaders:g,durationMs:0};t.sendHttpStart(j).catch(F=>{e.logger&&e.logger.error("Failed to send HTTP start",F)})}let C;try{C=await this.originalFetch(i,a)}catch(j){const F=Ee.performance.now()-r,H={id:w,time:L,transport:"fetch",method:c,url:p,requestBody:v,requestHeaders:g,durationMs:Math.round(F),error:j.message};throw e.handleLogEntry(H),t.agentHttpService&&t.sessionId&&t.isValidMessageRequest(p,c,v)&&t.sendHttpUpdate(H).catch(()=>{}),j}let J={};try{const j=Ee.performance.now()-r;J=this.extractHeaders(C.headers);const F=await this.captureResponse({res:C,method:c,url:p,originalUrl:u,requestBody:v,requestHeaders:g,responseHeaders:J,wasRouted:h,entryId:w,entryTime:L,start:r});C=F.response;let H=F.responseBody,I=F.processedBody;const G=F.bodyBytes,se=F.isEventStream;if(F.capturePromise&&(C.__capturePromise=F.capturePromise),!se&&h&&e.router&&H&&H!=="<response body error>")try{H=e.router.transformResponse(H)}catch{}if(!se){const Q=h?u:p;if(e.llmProvider.isLLMCall(Q)&&H&&H!=="<response body error>")try{I=e.responseProcessor(Q,H)}catch(V){I={error:`parser_failed: ${V instanceof Error?V.message:String(V)}`}}}const $={id:w,time:L,transport:"fetch",method:c,url:p,requestBody:v,requestHeaders:g,status:C.status,ok:C.ok,durationMs:Math.round(j),responseBody:H,responseHeaders:J,processedBody:I,bodyBytes:G};return e.handleLogEntry($),!se&&t.agentHttpService&&t.sessionId&&t.isValidMessageRequest(p,c,v)&&t.sendHttpUpdate($).catch(()=>{}),C}catch(j){const F=Ee.performance.now()-r,H={id:w,time:L,transport:"fetch",method:c,url:p,requestBody:v,requestHeaders:g,durationMs:Math.round(F),error:j.message};return e.handleLogEntry(H),t.agentHttpService&&t.sessionId&&t.isValidMessageRequest(p,c,v)&&t.sendHttpUpdate(H).catch(()=>{}),C}}}restore(){this.originalFetch&&(globalThis.fetch=this.originalFetch,this.originalFetch=null)}safeGetUrl(e){try{if(typeof e=="string")return e;if(e?.url)return e.url}catch{}return""}extractHeaders(e){const t={};if(!e)return t;try{if(e instanceof Headers)e.forEach((s,o)=>{t[o]=s});else if(Array.isArray(e))for(const[s,o]of e)t[s]=o;else if(typeof e=="object")for(const[s,o]of Object.entries(e))t[s]=Array.isArray(o)?o.join(", "):String(o)}catch{return{}}return t}stringifyRequestBody(e){try{if(!e)return"";if(typeof e=="string")return e;if(e instanceof URLSearchParams)return e.toString();if(typeof FormData<"u"&&e instanceof FormData){const t={};for(const[s,o]of e.entries())t[s]=typeof o=="string"?o:"[File|Blob]";return JSON.stringify(t)}return e instanceof Uint8Array||Buffer.isBuffer(e)?Buffer.from(e).toString("utf8"):typeof e=="object"?JSON.stringify(e):""}catch{return"<request body error>"}}async applyRouting(e){const t=this.ctx;let{resource:s,init:o,url:r,enhancedBody:i,requestHeaders:a}=e,p=!1;if(!t.router)return{resource:s,init:o,url:r,enhancedBody:i,requestHeaders:a,wasRouted:p};let u=!1;try{u=t.router.shouldRoute(r,i)}catch(c){t.logger&&t.logger.error("[FetchInstrument] shouldRoute() failed",c)}if(!u){if(t.llmProvider.isLLMCall(r)&&i){const c=t.router.cleanRequestForPassthrough(i);c!==i&&(i=c,typeof s=="object"&&s&&(s=new Request(r,{...s,body:i})),o&&(o.body=i))}return{resource:s,init:o,url:r,enhancedBody:i,requestHeaders:a,wasRouted:p}}try{const c=await t.router.transformRequest(r,i);r=c.url,i=c.body,p=!0,typeof s=="string"?s=c.url:typeof s=="object"&&s&&(s=new Request(c.url,s)),o||(o={}),o.body=c.body,c.headers&&(this.mergeHeadersIntoInit(o,c.headers),a={...a,...c.headers})}catch(c){p=!1,t.logger&&t.logger.error("[FetchInstrument] Failed to route LLM request",c)}return{resource:s,init:o,url:r,enhancedBody:i,requestHeaders:a,wasRouted:p}}mergeHeadersIntoInit(e,t){if(!(!t||Object.keys(t).length===0)){if(!e.headers){e.headers={...t};return}if(e.headers instanceof Headers){const s=e.headers;Object.entries(t).forEach(([o,r])=>s.set(o,r));return}if(Array.isArray(e.headers)){const s=e.headers;Object.entries(t).forEach(([o,r])=>{s.push([o,r])});return}e.headers={...e.headers,...t}}}async captureResponse(e){const{res:t,requestHeaders:s}=e,o=this.ctx,r=this.extra,i=t.headers.get("content-type")||"",a=s.accept||"",p=/text\/event-stream/i.test(i)||/text\/event-stream/i.test(a),u=/^(text\/|application\/(json|xml|javascript))/i.test(i)||/(json|xml|html)/i.test(i);if(!p){let m="",h=0;try{const L=await t.clone().arrayBuffer();if(h=L.byteLength,u)if(L.byteLength<=nt.MAX_LOG_BYTES)m=Buffer.from(L).toString("utf8");else{const C=Buffer.from(L.slice(0,nt.MAX_LOG_BYTES)),J=L.byteLength-nt.MAX_LOG_BYTES;m=`${C.toString("utf8")}
9
- ...[truncated ${J.toLocaleString()} bytes]`}else m=`<${h} bytes binary>`}catch{m="<response body error>"}return{response:t,responseBody:m,processedBody:null,bodyBytes:h,isEventStream:!1}}if(!t.body)return{response:t,responseBody:"<streaming response not buffered>",processedBody:null,bodyBytes:0,isEventStream:!0};if(e.wasRouted&&o.router){const m=t.body.getReader(),h=[];let w=0;for(;;){const{done:I,value:G}=await m.read();if(I)break;h.push(G),w+=G.byteLength}let C=Buffer.concat(h.map(I=>Buffer.from(I))).toString("utf8"),J=null;try{C=o.router.transformResponse(C)}catch{}if(o.llmProvider.isLLMCall(e.originalUrl)&&C)try{J=o.responseProcessor(e.originalUrl,C)}catch(I){J={error:`parser_failed: ${I instanceof Error?I.message:String(I)}`}}const j={id:e.entryId,time:e.entryTime,transport:"fetch",method:e.method,url:e.url,requestBody:e.requestBody,requestHeaders:e.requestHeaders,status:t.status,ok:t.ok,durationMs:Math.round(Ee.performance.now()-e.start),responseBody:C,responseHeaders:e.responseHeaders,processedBody:J,bodyBytes:w};o.handleLogEntry(j),r.agentHttpService&&r.sessionId&&r.isValidMessageRequest(e.url,e.method,e.requestBody)&&r.sendHttpUpdate(j).catch(()=>{});const F=new ReadableStream({start(I){const G=new TextEncoder;I.enqueue(G.encode(C)),I.close()}});return{response:new Response(F,{status:t.status,statusText:t.statusText,headers:t.headers}),responseBody:C,processedBody:J,bodyBytes:w,isEventStream:!0}}const[c,g]=t.body.tee(),v=(async()=>{try{const m=c.getReader(),h=[];let w=0;for(;;){const{done:F,value:H}=await m.read();if(F)break;h.push(H),w+=H.byteLength}const C=Buffer.concat(h.map(F=>Buffer.from(F))).toString("utf8");let J=null;if(o.llmProvider.isLLMCall(e.url)&&C)try{J=o.responseProcessor(e.url,C)}catch(F){J={error:`parser_failed: ${F instanceof Error?F.message:String(F)}`}}const j={id:e.entryId,time:e.entryTime,transport:"fetch",method:e.method,url:e.url,requestBody:e.requestBody,requestHeaders:e.requestHeaders,status:t.status,ok:t.ok,durationMs:Math.round(Ee.performance.now()-e.start),responseBody:C,responseHeaders:e.responseHeaders,processedBody:J,bodyBytes:w};return o.handleLogEntry(j),r.agentHttpService&&r.sessionId&&r.isValidMessageRequest(e.url,e.method,e.requestBody)&&r.sendHttpUpdate(j).catch(()=>{}),{responseBody:C,processedBody:J,bodyBytes:w}}catch{return{responseBody:"<stream capture error>",processedBody:null,bodyBytes:0}}})();return{response:new Response(g,{status:t.status,statusText:t.statusText,headers:t.headers}),responseBody:"<streaming in progress>",processedBody:null,bodyBytes:0,isEventStream:!0,capturePromise:v}}}class Go{constructor(e,t,s={isValidMessageRequest:()=>!1,sendHttpStart:async()=>{},sendHttpUpdate:async()=>{}}){this.ctx=e,this.enableHttps=t,this._extra=s}originals=null;patch(){try{let e=function(a,p){try{if(typeof a=="string")return a;if(a instanceof URL)return a.toString();const u=a.protocol||p,c=a.hostname||a.host||"localhost",g=a.port?`:${a.port}`:"",v=a.path||a.pathname||"/";return`${u}//${c}${g}${v}`}catch{return""}},t=function(a,p){return function(c,g){const v=e(c,p),d=(typeof c=="object"&&c.method?c.method:"GET").toUpperCase(),m=Ee.performance.now(),h=r.ctx.idGenerator(),w=new Date().toISOString(),L=[];let C=0,J=!1;const j=a(c,I=>{const G=[];let se=0,$=0;const Q=()=>String(I.headers["content-type"]||"");I.on("data",V=>{se+=V.length;const ae=Q();if(/text\/event-stream/i.test(ae))G.push(V),$+=V.length;else{if($>=i)return;const _=i-$;V.length<=_?(G.push(V),$+=V.length):(G.push(V.subarray(0,_)),$+=_)}}),I.on("end",()=>{const V=Ee.performance.now()-m;let ae="";try{const x=Q(),R=/text\/event-stream/i.test(x),N=Buffer.concat(G),W=se>N.length||N.length===i;let Y=N;if(!R){const ee=String(I.headers["content-encoding"]||"").toLowerCase();if(!W&&Y.length&&/(gzip|br|deflate)/.test(ee))try{const Z=require("node:zlib");ee.includes("gzip")?Y=Z.gunzipSync(N):ee.includes("br")?Y=Z.brotliDecompressSync(N):ee.includes("deflate")&&(Y=Z.inflateSync(N))}catch{}}/text\//i.test(x)||/application\/(json|xml|javascript)/i.test(x)||R?(ae=Y.toString("utf8"),W&&!R&&(ae+=`
10
- ...[truncated]`)):Y.length&&(ae=`<${Y.length} bytes${W?" (truncated)":""} binary>`)}catch{ae="<response body error>"}let ne="";try{const x=Buffer.concat(L),R=C>x.length||x.length===i;ne=x.toString("utf8"),R&&(ne+=`
11
- ...[truncated]`)}catch{ne="<request body error>"}let _=null;if(r.ctx.llmProvider.isLLMCall(v))try{_=r.ctx.responseProcessor(v,ae)}catch(x){_={parts:[{type:"text",text:ae||"<empty response>"}],metadata:{error:String(x)}}}const k={id:h,time:w,transport:p==="https:"?"https":"http",method:d,url:v,requestBody:ne,status:I.statusCode,ok:I.statusCode>=200&&I.statusCode<300,durationMs:Math.round(V),responseBody:ae,processedBody:_,bodyBytes:se};try{const x=new URL(v);k.host=x.hostname,k.path=x.pathname}catch{}r.ctx.handleLogEntry(k),r._extra.agentHttpService&&r._extra.sessionId&&r._extra.isValidMessageRequest(v,d,ne)&&r._extra.sendHttpUpdate(k).catch(()=>{})}),I.on("error",V=>{const ae=Ee.performance.now()-m;let ne="";try{const k=Buffer.concat(L),x=C>k.length||k.length===i;ne=k.toString("utf8"),x&&(ne+=`
12
- ...[truncated]`)}catch{ne="<request body error>"}const _={id:h,time:w,transport:p==="https:"?"https":"http",method:d,url:v,requestBody:ne,durationMs:Math.round(ae),error:V.message};try{const k=new URL(v);_.host=k.hostname,_.path=k.pathname}catch{}r.ctx.handleLogEntry(_),r._extra.agentHttpService&&r._extra.sessionId&&r._extra.isValidMessageRequest(v,d,ne)&&r._extra.sendHttpUpdate(_).catch(()=>{})}),g&&g(I)}),F=j.write,H=j.end;return j.write=function(I,G,se){try{if(I&&C<i){const $=Buffer.isBuffer(I)?I:Buffer.from(I,G||"utf8"),Q=i-C;$.length<=Q?(L.push($),C+=$.length):(L.push($.subarray(0,Q)),C+=Q)}}catch{}return F.call(this,I,G,se)},j.end=function(I,G,se){try{if(I&&C<i){const $=Buffer.isBuffer(I)?I:Buffer.from(I,G||"utf8"),Q=i-C;$.length<=Q?(L.push($),C+=$.length):(L.push($.subarray(0,Q)),C+=Q)}if(!J){J=!0;try{const $=Buffer.concat(L),Q=C>$.length||$.length===i;let V=$.toString("utf8");Q&&(V+=`
13
- ...[truncated]`);const ae=r._extra.isValidMessageRequest(v,d,V);if(r._extra.agentHttpService&&r._extra.sessionId&&ae){const ne={id:h,time:w,transport:p==="https:"?"https":"http",method:d,url:v,requestBody:V,durationMs:0};r._extra.sendHttpStart(ne).catch(()=>{})}}catch{}}}catch{}return H.call(this,I,G,se)},j}};const s=require("http"),o=require("https");if(this.originals)return;this.originals={httpRequest:s.request,httpsRequest:o.request,httpGet:s.get,httpsGet:o.get};const r=this,i=this.ctx.maxBodyBytes;s.request=t(this.originals.httpRequest,"http:"),s.get=function(p,u){const c=s.request(p,u);return c.end(),c},this.enableHttps!==!1&&(o.request=t(this.originals.httpsRequest,"https:"),o.get=function(p,u){const c=o.request(p,u);return c.end(),c})}catch{}}restore(){if(this.originals){try{const e=require("http"),t=require("https");e.request=this.originals.httpRequest,e.get=this.originals.httpGet,t.request=this.originals.httpsRequest,t.get=this.originals.httpsGet}catch{}this.originals=null}}}class Je{static instance=null;isPatched=!1;config;llmProvider;idGenerator;agentHttpService;sessionId;router;activeRequests=new Map;rawLogger;errorLogger;processedLogger;debugLogger;fetchInstrument;httpInstrument;constructor(e={}){this.llmProvider=e.llmProvider||new Ls,this.idGenerator=e.idGenerator||Te.ulid,this.agentHttpService=e.agentHttpService,this.sessionId=e.sessionId,this.router=e.router,this.debugLogger=e.logger,this.config={maxBodyBytes:e.maxBodyBytes??8192,enableHttpsPatching:e.enableHttpsPatching??!0,enableDebug:e.enableDebug??!1,logFilter:e.logFilter??(i=>!!(i.url&&!i.url.includes("statsig")&&!i.url.includes("registry.npmjs.org")&&!i.url.startsWith("data:"))),responseProcessor:e.responseProcessor??((i,a)=>{try{return le.parseStreamingResponse(i,a)}catch{return null}})};const t=fe.join(jt.tmpdir(),"agiflow-agents","llm",`session-${process.pid}`),s=e.logFilePath||fe.join(t,"network.log"),o=fe.join(t,"error.log"),r=e.processedLogFilePath||fe.join(t,"processed.jsonl");try{this.rawLogger=new rt(s)}catch{}try{this.errorLogger=new rt(o)}catch{}try{this.processedLogger=new rt(r)}catch{}}static getInstance(e){return Je.instance||(Je.instance=new Je(e)),Je.instance}start(){if(this.isPatched)return;const e={idGenerator:this.idGenerator,maxBodyBytes:this.config.maxBodyBytes,enableDebug:this.config.enableDebug,logFilter:this.config.logFilter,responseProcessor:this.config.responseProcessor,llmProvider:this.llmProvider,handleLogEntry:t=>this.handleLogEntry(t),router:this.router,logger:this.debugLogger};this.fetchInstrument=new nt(e,{agentHttpService:this.agentHttpService,sessionId:this.sessionId,isValidMessageRequest:(t,s,o)=>this.isValidMessageRequest(t,s,o),sendHttpStart:t=>this.sendHttpStart(t),sendHttpUpdate:t=>this.sendHttpUpdate(t)}),this.fetchInstrument.patch(),this.httpInstrument=new Go(e,this.config.enableHttpsPatching,{agentHttpService:this.agentHttpService,sessionId:this.sessionId,isValidMessageRequest:(t,s,o)=>this.isValidMessageRequest(t,s,o),sendHttpStart:t=>this.sendHttpStart(t),sendHttpUpdate:t=>this.sendHttpUpdate(t)}),this.httpInstrument.patch(),this.isPatched=!0}stop(){this.isPatched&&(this.fetchInstrument?.restore(),this.httpInstrument?.restore(),this.isPatched=!1)}isActive(){return this.isPatched}updateConfig(e){this.config={...this.config,...e}}handleLogEntry(e){this.rawLogger&&this.rawLogger.info("network_entry",{networkLog:e}),this.debugLogger&&this.debugLogger.info("network_entry",{networkLog:e}),this.processedLogger&&this.config.logFilter(e)&&e.processedBody&&this.processedLogger.info("processed_entry",{id:e.id,url:e.url,method:e.method,status:e.status,durationMs:e.durationMs,timestamp:e.time,processedBody:e.processedBody})}isValidMessageRequest(e,t,s){if(this.rawLogger&&this.rawLogger.info("isValidMessageRequest checking",{url:e,method:t,hasBody:!!s,bodyLength:s?.length}),!this.llmProvider.isLLMCall(e))return this.rawLogger&&this.rawLogger.info("Not an LLM URL, skipping",{url:e}),this.rawLogger&&this.config.enableDebug&&this.rawLogger.debug("Request validation failed: Not an LLM URL",{url:e,method:t}),!1;if(e.includes("cloudcode-pa.googleapis.com")||e.includes("generativelanguage.googleapis.com"))return!!e.includes("streamGenerateContent");if(t!=="POST"||!s)return!1;try{const o=JSON.parse(s),r=o.messages&&Array.isArray(o.messages)&&o.messages.length>0,i=o.prompt&&typeof o.prompt=="string",a=o.input&&typeof o.input=="string",p=o.contents&&Array.isArray(o.contents)&&o.contents.length>0,u=o.request?.contents&&Array.isArray(o.request.contents)&&o.request.contents.length>0;return r||i||a||p||u}catch(o){return this.errorLogger&&this.errorLogger.error("Failed to parse request body in isValidMessageRequest",{url:e,method:t,error:o instanceof Error?o.message:String(o)}),!1}}async sendHttpStart(e){if(!this.agentHttpService||!this.sessionId)return;this.rawLogger&&this.rawLogger.info("http_start",{entry:e});let t=[];if(e.requestBody)try{const o=JSON.parse(e.requestBody);if(o.messages&&Array.isArray(o.messages)){const r=o.messages.filter(i=>i.role==="user").pop();r?.content&&(typeof r.content=="string"?t.push({type:"text",text:r.content}):Array.isArray(r.content)&&(t=r.content.map(i=>({type:i.type||"text",text:i.text||JSON.stringify(i)}))))}else if(o.prompt)t.push({type:"text",text:o.prompt});else if(o.input)t.push({type:"text",text:o.input});else if(o.contents&&Array.isArray(o.contents)){const r=o.contents.filter(i=>i.role==="user").pop();r?.parts&&Array.isArray(r.parts)&&(t=r.parts.map(i=>({type:"text",text:i.text||JSON.stringify(i)})))}else if(o.request?.contents&&Array.isArray(o.request.contents)){const r=o.request.contents.filter(i=>i.role==="user").pop();r?.parts&&Array.isArray(r.parts)&&(t=r.parts.map(i=>({type:"text",text:i.text||JSON.stringify(i)})))}}catch(o){this.errorLogger&&this.errorLogger.error("Failed to parse request data in sendHttpStart",{url:e.url,error:o instanceof Error?o.message:String(o)}),t.push({type:"text",text:"LLM request initiated..."})}const s={llm_provider:this.llmProvider.detectProvider(e.url),request_started:!0};try{this.rawLogger&&this.rawLogger.info("Calling agentHttpService.startMessage",{sessionId:this.sessionId,entryId:e.id});const o=await this.agentHttpService.startMessage(this.sessionId,{messageType:"output",metadata:s});this.activeRequests.set(e.id,o.messageId),this.rawLogger&&this.rawLogger.info("startMessage successful",{entryId:e.id,messageId:o.messageId})}catch(o){this.errorLogger&&this.errorLogger.error("Failed to send HTTP start message",{url:e.url,sessionId:this.sessionId,error:o instanceof Error?o.message:String(o)})}}async sendHttpUpdate(e){if(!this.agentHttpService||!this.sessionId)return;this.rawLogger&&this.rawLogger.info("http_update",{entry:e});const t=this.activeRequests.get(e.id);if(!t)return;if(!(e.processedBody?.message?.parts?.length>0||e.processedBody?.parts?.length>0)){this.rawLogger&&this.rawLogger.info("Skipping update - no valid parts yet",{entryId:e.id,messageId:t});return}const o={llm_provider:this.llmProvider.detectProvider(e.url),status:e.status,duration:e.durationMs};if(e.processedBody?.metadata){const i=e.processedBody.metadata;i.model&&(o.model=i.model),i.usage&&(o.usage=i.usage),i.total_tokens&&(o.total_tokens=i.total_tokens),i.prompt_tokens&&(o.prompt_tokens=i.prompt_tokens),i.completion_tokens&&(o.completion_tokens=i.completion_tokens),i.cost&&(o.cost=i.cost)}let r=[];if(e.processedBody){const i=e.processedBody;i?.message?.parts&&Array.isArray(i.message.parts)?r=i.message.parts:i?.parts&&Array.isArray(i.parts)?r=i.parts:i?.error?r.push({type:"text",text:`Parser error: ${i.error}`}):r=[]}else e.responseBody&&r.push({type:"text",text:"LLM response completed"});try{const i={parts:r,metadata:o,mId:e.processedBody?.message?.id};te.isSaveRawEnabled&&(i.raw=JSON.stringify(e)),await this.agentHttpService.updateMessage(this.sessionId,t,i),this.activeRequests.delete(e.id)}catch(i){this.errorLogger&&this.errorLogger.error("Failed to send HTTP update message",{url:e.url,messageId:t,sessionId:this.sessionId,error:i instanceof Error?i.message:String(i)}),this.activeRequests.delete(e.id)}}}class X{static AGIFLOW_DIR=Oe.join(Ut.homedir(),".agiflow");static async ensureDir(e){await Ce.ensureDir(e)}static async exists(e){try{return await Ce.access(e),!0}catch{return!1}}static async readJson(e){const t=await Ce.readFile(e,"utf-8");return JSON.parse(t)}static async writeJson(e,t,s){await Ce.ensureDir(Oe.dirname(e));const o=JSON.stringify(t,null,s?.spaces??2);await Ce.writeFile(e,o,"utf-8")}static async copy(e,t){await Ce.copy(e,t)}static async remove(e){await Ce.remove(e)}static getCurrentDirectory(){return process.cwd()}static resolvePath(...e){return Oe.resolve(process.cwd(),...e)}static async getFiles(e,t){const s=await Ce.readdir(e);return t?s.filter(o=>t.test(o)):s}static getAbsolutePath(e){return e?e.startsWith("~/")?Oe.join(Ut.homedir(),e.slice(2)):e==="~"?Ut.homedir():Oe.isAbsolute(e)?e:Oe.resolve(process.cwd(),e):process.cwd()}}class Vo{static SESSIONS_FILE=Oe.join(X.AGIFLOW_DIR,"sessions.json");static async getSessionSettings(e){try{return await X.exists(this.SESSIONS_FILE)&&(await X.readJson(this.SESSIONS_FILE))[e]||null}catch(t){return console.error("[SessionSettings] Failed to read session settings:",t),null}}static async setSessionSettings(e,t){try{let s={};await X.exists(this.SESSIONS_FILE)&&(s=await X.readJson(this.SESSIONS_FILE)),s[e]=t,await X.writeJson(this.SESSIONS_FILE,s,{spaces:2})}catch(s){throw console.error("[SessionSettings] Failed to write session settings:",s),s}}static async removeSessionSettings(e){try{if(!await X.exists(this.SESSIONS_FILE))return;const s=await X.readJson(this.SESSIONS_FILE);delete s[e],await X.writeJson(this.SESSIONS_FILE,s,{spaces:2})}catch(t){throw console.error("[SessionSettings] Failed to remove session settings:",t),t}}static async getAllSessions(){try{return await X.exists(this.SESSIONS_FILE)?await X.readJson(this.SESSIONS_FILE):{}}catch(e){return console.error("[SessionSettings] Failed to read all session settings:",e),{}}}static async clearAllSessions(){try{await X.writeJson(this.SESSIONS_FILE,{},{spaces:2})}catch(e){throw console.error("[SessionSettings] Failed to clear session settings:",e),e}}}class Ne{static AUTH_FILE_PATH=fe.join(jt.homedir(),".codex","auth.json");static TOKEN_REFRESH_URL="https://auth.openai.com/oauth/token";static CLIENT_ID="app_EMoamEEZ73f0CkXaXp7hrann";logger;constructor(e){this.logger=e}async getAccountId(){try{const e=this.readAuthFile();return!e||!e.tokens?null:e.tokens.account_id||null}catch(e){return this.logger?.error("[CodexAuth] Error getting account ID",e),null}}async getAccessToken(){try{const e=this.readAuthFile();if(!e||!e.tokens)return this.logger?.warn("[CodexAuth] No tokens found in auth file"),null;let{access_token:t,refresh_token:s}=e.tokens;if(typeof t=="string"&&t.startsWith("Bearer ")&&(t=t.substring(7)),!this.isTokenExpired(t))return t;const r=await this.refreshAccessToken(s);return r?(this.saveTokens(r),r.access_token):(this.logger?.error("[CodexAuth] Failed to refresh access token"),null)}catch(e){return this.logger?.error("[CodexAuth] Error getting access token",e),null}}readAuthFile(){try{if(!ke.existsSync(Ne.AUTH_FILE_PATH))return this.logger?.warn("[CodexAuth] Auth file does not exist",{path:Ne.AUTH_FILE_PATH}),null;const e=ke.readFileSync(Ne.AUTH_FILE_PATH,"utf-8");return JSON.parse(e)}catch(e){return this.logger?.error("[CodexAuth] Failed to read auth file",e),null}}isTokenExpired(e){try{const t=this.decodeJWT(e);if(!t||!t.exp)return!0;const s=t.exp*1e3,o=Date.now(),r=300*1e3;return s-o<r}catch(t){return this.logger?.error("[CodexAuth] Failed to decode token",t),!0}}decodeJWT(e){try{const t=e.split(".");if(t.length!==3)return null;const s=t[1],o=Buffer.from(s,"base64url").toString("utf-8");return JSON.parse(o)}catch(t){return this.logger?.error("[CodexAuth] Failed to decode JWT",t),null}}async refreshAccessToken(e){try{const t=await fetch(Ne.TOKEN_REFRESH_URL,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:e,client_id:Ne.CLIENT_ID})});if(!t.ok){const r=await t.text();return this.logger?.error("[CodexAuth] Token refresh failed",{status:t.status,error:r}),null}const s=await t.json();let o=s.access_token;return typeof o=="string"&&o.startsWith("Bearer ")&&(o=o.substring(7)),{id_token:s.id_token,access_token:o,refresh_token:s.refresh_token||e,account_id:s.account_id||""}}catch(t){return this.logger?.error("[CodexAuth] Failed to refresh token",t),null}}saveTokens(e){try{const t=this.readAuthFile();if(!t){this.logger?.error("[CodexAuth] Cannot save tokens - auth file not found");return}t.tokens=e,t.last_refresh=new Date().toISOString(),ke.writeFileSync(Ne.AUTH_FILE_PATH,JSON.stringify(t,null,2),"utf-8")}catch(t){this.logger?.error("[CodexAuth] Failed to save tokens",t)}}}const Zo=`You are a coding agent running in the Codex CLI, a terminal-based coding assistant. Codex CLI is an open source project led by OpenAI. You are expected to be precise, safe, and helpful.
1
+ "use strict";const Tc=require("node:os"),Ec=require("node:path"),ze=require("ulidx"),Nc=require("node:fs"),Oe=require("node:perf_hooks"),Ue=require("path"),Ae=require("fs-extra"),mr=require("os"),jc=require("node:crypto");require("@inquirer/prompts");function zr(r){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const n in r)if(n!=="default"){const o=Object.getOwnPropertyDescriptor(r,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:()=>r[n]})}}return t.default=r,Object.freeze(t)}const Wt=zr(Tc),ye=zr(Ec),be=zr(Nc),Ho=Object.freeze({status:"aborted"});function _(r,t,n){function o(a,u){var c;Object.defineProperty(a,"_zod",{value:a._zod??{},enumerable:!1}),(c=a._zod).traits??(c.traits=new Set),a._zod.traits.add(r),t(a,u);for(const l in s.prototype)l in a||Object.defineProperty(a,l,{value:s.prototype[l].bind(a)});a._zod.constr=s,a._zod.def=u}const e=n?.Parent??Object;class i extends e{}Object.defineProperty(i,"name",{value:r});function s(a){var u;const c=n?.Parent?new i:this;o(c,a),(u=c._zod).deferred??(u.deferred=[]);for(const l of c._zod.deferred)l();return c}return Object.defineProperty(s,"init",{value:o}),Object.defineProperty(s,Symbol.hasInstance,{value:a=>n?.Parent&&a instanceof n.Parent?!0:a?._zod?.traits?.has(r)}),Object.defineProperty(s,"name",{value:r}),s}const Wo=Symbol("zod_brand");class Me extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class Kt extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}}const Lt={};function ce(r){return r&&Object.assign(Lt,r),Lt}function Ac(r){return r}function Uc(r){return r}function Pc(r){}function Dc(r){throw new Error}function Rc(r){}function Or(r){const t=Object.values(r).filter(o=>typeof o=="number");return Object.entries(r).filter(([o,e])=>t.indexOf(+o)===-1).map(([o,e])=>e)}function y(r,t="|"){return r.map(n=>O(n)).join(t)}function Ft(r,t){return typeof t=="bigint"?t.toString():t}function ft(r){return{get value(){{const t=r();return Object.defineProperty(this,"value",{value:t}),t}}}}function Ge(r){return r==null}function Yt(r){const t=r.startsWith("^")?1:0,n=r.endsWith("$")?r.length-1:r.length;return r.slice(t,n)}function Ko(r,t){const n=(r.toString().split(".")[1]||"").length,o=t.toString();let e=(o.split(".")[1]||"").length;if(e===0&&/\d?e-\d?/.test(o)){const u=o.match(/\d?e-(\d?)/);u?.[1]&&(e=Number.parseInt(u[1]))}const i=n>e?n:e,s=Number.parseInt(r.toFixed(i).replace(".","")),a=Number.parseInt(t.toFixed(i).replace(".",""));return s%a/10**i}const ko=Symbol("evaluating");function P(r,t,n){let o;Object.defineProperty(r,t,{get(){if(o!==ko)return o===void 0&&(o=ko,o=n()),o},set(e){Object.defineProperty(r,t,{value:e})},configurable:!0})}function Cc(r){return Object.create(Object.getPrototypeOf(r),Object.getOwnPropertyDescriptors(r))}function Ce(r,t,n){Object.defineProperty(r,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Ne(...r){const t={};for(const n of r){const o=Object.getOwnPropertyDescriptors(n);Object.assign(t,o)}return Object.defineProperties({},t)}function Lc(r){return Ne(r._zod.def)}function Fc(r,t){return t?t.reduce((n,o)=>n?.[o],r):r}function Zc(r){const t=Object.keys(r),n=t.map(o=>r[o]);return Promise.all(n).then(o=>{const e={};for(let i=0;i<t.length;i++)e[t[i]]=o[i];return e})}function Mc(r=10){const t="abcdefghijklmnopqrstuvwxyz";let n="";for(let o=0;o<r;o++)n+=t[Math.floor(Math.random()*t.length)];return n}function fr(r){return JSON.stringify(r)}const Tr="captureStackTrace"in Error?Error.captureStackTrace:(...r)=>{};function We(r){return typeof r=="object"&&r!==null&&!Array.isArray(r)}const Yo=ft(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const r=Function;return new r(""),!0}catch{return!1}});function qe(r){if(We(r)===!1)return!1;const t=r.constructor;if(t===void 0)return!0;const n=t.prototype;return!(We(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}function Xt(r){return qe(r)?{...r}:Array.isArray(r)?[...r]:r}function qc(r){let t=0;for(const n in r)Object.prototype.hasOwnProperty.call(r,n)&&t++;return t}const Bc=r=>{const t=typeof r;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(r)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(r)?"array":r===null?"null":r.then&&typeof r.then=="function"&&r.catch&&typeof r.catch=="function"?"promise":typeof Map<"u"&&r instanceof Map?"map":typeof Set<"u"&&r instanceof Set?"set":typeof Date<"u"&&r instanceof Date?"date":typeof File<"u"&&r instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${t}`)}},Zt=new Set(["string","number","symbol"]),Xo=new Set(["string","number","bigint","boolean","symbol","undefined"]);function Re(r){return r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function me(r,t,n){const o=new r._zod.constr(t??r._zod.def);return(!t||n?.parent)&&(o._zod.parent=r),o}function k(r){const t=r;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function Jc(r){let t;return new Proxy({},{get(n,o,e){return t??(t=r()),Reflect.get(t,o,e)},set(n,o,e,i){return t??(t=r()),Reflect.set(t,o,e,i)},has(n,o){return t??(t=r()),Reflect.has(t,o)},deleteProperty(n,o){return t??(t=r()),Reflect.deleteProperty(t,o)},ownKeys(n){return t??(t=r()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(n,o){return t??(t=r()),Reflect.getOwnPropertyDescriptor(t,o)},defineProperty(n,o,e){return t??(t=r()),Reflect.defineProperty(t,o,e)}})}function O(r){return typeof r=="bigint"?r.toString()+"n":typeof r=="string"?`"${r}"`:`${r}`}function Qo(r){return Object.keys(r).filter(t=>r[t]._zod.optin==="optional"&&r[t]._zod.optout==="optional")}const ei={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},ti={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function ri(r,t){const n=r._zod.def,o=Ne(r._zod.def,{get shape(){const e={};for(const i in t){if(!(i in n.shape))throw new Error(`Unrecognized key: "${i}"`);t[i]&&(e[i]=n.shape[i])}return Ce(this,"shape",e),e},checks:[]});return me(r,o)}function ni(r,t){const n=r._zod.def,o=Ne(r._zod.def,{get shape(){const e={...r._zod.def.shape};for(const i in t){if(!(i in n.shape))throw new Error(`Unrecognized key: "${i}"`);t[i]&&delete e[i]}return Ce(this,"shape",e),e},checks:[]});return me(r,o)}function oi(r,t){if(!qe(t))throw new Error("Invalid input to extend: expected a plain object");const n=r._zod.def.checks;if(n&&n.length>0)throw new Error("Object schemas containing refinements cannot be extended. Use `.safeExtend()` instead.");const e=Ne(r._zod.def,{get shape(){const i={...r._zod.def.shape,...t};return Ce(this,"shape",i),i},checks:[]});return me(r,e)}function ii(r,t){if(!qe(t))throw new Error("Invalid input to safeExtend: expected a plain object");const n={...r._zod.def,get shape(){const o={...r._zod.def.shape,...t};return Ce(this,"shape",o),o},checks:r._zod.def.checks};return me(r,n)}function si(r,t){const n=Ne(r._zod.def,{get shape(){const o={...r._zod.def.shape,...t._zod.def.shape};return Ce(this,"shape",o),o},get catchall(){return t._zod.def.catchall},checks:[]});return me(r,n)}function ai(r,t,n){const o=Ne(t._zod.def,{get shape(){const e=t._zod.def.shape,i={...e};if(n)for(const s in n){if(!(s in e))throw new Error(`Unrecognized key: "${s}"`);n[s]&&(i[s]=r?new r({type:"optional",innerType:e[s]}):e[s])}else for(const s in e)i[s]=r?new r({type:"optional",innerType:e[s]}):e[s];return Ce(this,"shape",i),i},checks:[]});return me(t,o)}function ui(r,t,n){const o=Ne(t._zod.def,{get shape(){const e=t._zod.def.shape,i={...e};if(n)for(const s in n){if(!(s in i))throw new Error(`Unrecognized key: "${s}"`);n[s]&&(i[s]=new r({type:"nonoptional",innerType:e[s]}))}else for(const s in e)i[s]=new r({type:"nonoptional",innerType:e[s]});return Ce(this,"shape",i),i},checks:[]});return me(t,o)}function Fe(r,t=0){if(r.aborted===!0)return!0;for(let n=t;n<r.issues.length;n++)if(r.issues[n]?.continue!==!0)return!0;return!1}function he(r,t){return t.map(n=>{var o;return(o=n).path??(o.path=[]),n.path.unshift(r),n})}function ct(r){return typeof r=="string"?r:r?.message}function ve(r,t,n){const o={...r,path:r.path??[]};if(!r.message){const e=ct(r.inst?._zod.def?.error?.(r))??ct(t?.error?.(r))??ct(n.customError?.(r))??ct(n.localeError?.(r))??"Invalid input";o.message=e}return delete o.inst,delete o.continue,t?.reportInput||delete o.input,o}function Qt(r){return r instanceof Set?"set":r instanceof Map?"map":r instanceof File?"file":"unknown"}function er(r){return Array.isArray(r)?"array":typeof r=="string"?"string":"unknown"}function Ke(...r){const[t,n,o]=r;return typeof t=="string"?{message:t,code:"custom",input:n,inst:o}:{...t}}function Gc(r){return Object.entries(r).filter(([t,n])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}function ci(r){const t=atob(r),n=new Uint8Array(t.length);for(let o=0;o<t.length;o++)n[o]=t.charCodeAt(o);return n}function pi(r){let t="";for(let n=0;n<r.length;n++)t+=String.fromCharCode(r[n]);return btoa(t)}function Vc(r){const t=r.replace(/-/g,"+").replace(/_/g,"/"),n="=".repeat((4-t.length%4)%4);return ci(t+n)}function Hc(r){return pi(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function Wc(r){const t=r.replace(/^0x/,"");if(t.length%2!==0)throw new Error("Invalid hex string length");const n=new Uint8Array(t.length/2);for(let o=0;o<t.length;o+=2)n[o/2]=Number.parseInt(t.slice(o,o+2),16);return n}function Kc(r){return Array.from(r).map(t=>t.toString(16).padStart(2,"0")).join("")}class Yc{constructor(...t){}}const li=Object.freeze(Object.defineProperty({__proto__:null,BIGINT_FORMAT_RANGES:ti,Class:Yc,NUMBER_FORMAT_RANGES:ei,aborted:Fe,allowsEval:Yo,assert:Rc,assertEqual:Ac,assertIs:Pc,assertNever:Dc,assertNotEqual:Uc,assignProp:Ce,base64ToUint8Array:ci,base64urlToUint8Array:Vc,cached:ft,captureStackTrace:Tr,cleanEnum:Gc,cleanRegex:Yt,clone:me,cloneDef:Lc,createTransparentProxy:Jc,defineLazy:P,esc:fr,escapeRegex:Re,extend:oi,finalizeIssue:ve,floatSafeRemainder:Ko,getElementAtPath:Fc,getEnumValues:Or,getLengthableOrigin:er,getParsedType:Bc,getSizableOrigin:Qt,hexToUint8Array:Wc,isObject:We,isPlainObject:qe,issue:Ke,joinValues:y,jsonStringifyReplacer:Ft,merge:si,mergeDefs:Ne,normalizeParams:k,nullish:Ge,numKeys:qc,objectClone:Cc,omit:ni,optionalKeys:Qo,partial:ai,pick:ri,prefixIssues:he,primitiveTypes:Xo,promiseAllObject:Zc,propertyKeyTypes:Zt,randomString:Mc,required:ui,safeExtend:ii,shallowClone:Xt,stringifyPrimitive:O,uint8ArrayToBase64:pi,uint8ArrayToBase64url:Hc,uint8ArrayToHex:Kc,unwrapMessage:ct},Symbol.toStringTag,{value:"Module"})),_i=(r,t)=>{r.name="$ZodError",Object.defineProperty(r,"_zod",{value:r._zod,enumerable:!1}),Object.defineProperty(r,"issues",{value:t,enumerable:!1}),r.message=JSON.stringify(t,Ft,2),Object.defineProperty(r,"toString",{value:()=>r.message,enumerable:!1})},Er=_("$ZodError",_i),_e=_("$ZodError",_i,{Parent:Error});function Nr(r,t=n=>n.message){const n={},o=[];for(const e of r.issues)e.path.length>0?(n[e.path[0]]=n[e.path[0]]||[],n[e.path[0]].push(t(e))):o.push(t(e));return{formErrors:o,fieldErrors:n}}function jr(r,t=n=>n.message){const n={_errors:[]},o=e=>{for(const i of e.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(s=>o({issues:s}));else if(i.code==="invalid_key")o({issues:i.issues});else if(i.code==="invalid_element")o({issues:i.issues});else if(i.path.length===0)n._errors.push(t(i));else{let s=n,a=0;for(;a<i.path.length;){const u=i.path[a];a===i.path.length-1?(s[u]=s[u]||{_errors:[]},s[u]._errors.push(t(i))):s[u]=s[u]||{_errors:[]},s=s[u],a++}}};return o(r),n}function di(r,t=n=>n.message){const n={errors:[]},o=(e,i=[])=>{var s,a;for(const u of e.issues)if(u.code==="invalid_union"&&u.errors.length)u.errors.map(c=>o({issues:c},u.path));else if(u.code==="invalid_key")o({issues:u.issues},u.path);else if(u.code==="invalid_element")o({issues:u.issues},u.path);else{const c=[...i,...u.path];if(c.length===0){n.errors.push(t(u));continue}let l=n,d=0;for(;d<c.length;){const h=c[d],m=d===c.length-1;typeof h=="string"?(l.properties??(l.properties={}),(s=l.properties)[h]??(s[h]={errors:[]}),l=l.properties[h]):(l.items??(l.items=[]),(a=l.items)[h]??(a[h]={errors:[]}),l=l.items[h]),m&&l.errors.push(t(u)),d++}}};return o(r),n}function mi(r){const t=[],n=r.map(o=>typeof o=="object"?o.key:o);for(const o of n)typeof o=="number"?t.push(`[${o}]`):typeof o=="symbol"?t.push(`[${JSON.stringify(String(o))}]`):/[^\w$]/.test(o)?t.push(`[${JSON.stringify(o)}]`):(t.length&&t.push("."),t.push(o));return t.join("")}function gi(r){const t=[],n=[...r.issues].sort((o,e)=>(o.path??[]).length-(e.path??[]).length);for(const o of n)t.push(`✖ ${o.message}`),o.path?.length&&t.push(` → at ${mi(o.path)}`);return t.join(`
2
+ `)}const vt=r=>(t,n,o,e)=>{const i=o?Object.assign(o,{async:!1}):{async:!1},s=t._zod.run({value:n,issues:[]},i);if(s instanceof Promise)throw new Me;if(s.issues.length){const a=new(e?.Err??r)(s.issues.map(u=>ve(u,i,ce())));throw Tr(a,e?.callee),a}return s.value},vr=vt(_e),kt=r=>async(t,n,o,e)=>{const i=o?Object.assign(o,{async:!0}):{async:!0};let s=t._zod.run({value:n,issues:[]},i);if(s instanceof Promise&&(s=await s),s.issues.length){const a=new(e?.Err??r)(s.issues.map(u=>ve(u,i,ce())));throw Tr(a,e?.callee),a}return s.value},kr=kt(_e),yt=r=>(t,n,o)=>{const e=o?{...o,async:!1}:{async:!1},i=t._zod.run({value:n,issues:[]},e);if(i instanceof Promise)throw new Me;return i.issues.length?{success:!1,error:new(r??Er)(i.issues.map(s=>ve(s,e,ce())))}:{success:!0,data:i.value}},hi=yt(_e),bt=r=>async(t,n,o)=>{const e=o?Object.assign(o,{async:!0}):{async:!0};let i=t._zod.run({value:n,issues:[]},e);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new r(i.issues.map(s=>ve(s,e,ce())))}:{success:!0,data:i.value}},fi=bt(_e),Ar=r=>(t,n,o)=>{const e=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return vt(r)(t,n,e)},Xc=Ar(_e),Ur=r=>(t,n,o)=>vt(r)(t,n,o),Qc=Ur(_e),Pr=r=>async(t,n,o)=>{const e=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return kt(r)(t,n,e)},ep=Pr(_e),Dr=r=>async(t,n,o)=>kt(r)(t,n,o),tp=Dr(_e),Rr=r=>(t,n,o)=>{const e=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return yt(r)(t,n,e)},rp=Rr(_e),Cr=r=>(t,n,o)=>yt(r)(t,n,o),np=Cr(_e),Lr=r=>async(t,n,o)=>{const e=o?Object.assign(o,{direction:"backward"}):{direction:"backward"};return bt(r)(t,n,e)},op=Lr(_e),Fr=r=>async(t,n,o)=>bt(r)(t,n,o),ip=Fr(_e),vi=/^[cC][^\s-]{8,}$/,ki=/^[0-9a-z]+$/,yi=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,bi=/^[0-9a-vA-V]{20}$/,xi=/^[A-Za-z0-9]{27}$/,$i=/^[a-zA-Z0-9_-]{21}$/,wi=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,sp=/^[-+]?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)?)??$/,Ii=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Ye=r=>r?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${r}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,ap=Ye(4),up=Ye(6),cp=Ye(7),Si=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,pp=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,lp=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,zi=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,_p=zi,dp=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,mp="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Oi(){return new RegExp(mp,"u")}const Ti=/^(?:(?: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])$/,Ei=/^(([0-9a-fA-F]{1,4}:){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}|:))$/,Ni=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,ji=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Ai=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Zr=/^[A-Za-z0-9_-]*$/,Mr=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,Ui=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,Pi=/^\+(?:[0-9]){6,14}[0-9]$/,Di="(?:(?:\\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])))",Ri=new RegExp(`^${Di}$`);function Ci(r){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof r.precision=="number"?r.precision===-1?`${t}`:r.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${r.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Li(r){return new RegExp(`^${Ci(r)}$`)}function Fi(r){const t=Ci({precision:r.precision}),n=["Z"];r.local&&n.push(""),r.offset&&n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const o=`${t}(?:${n.join("|")})`;return new RegExp(`^${Di}T(?:${o})$`)}const Zi=r=>{const t=r?`[\\s\\S]{${r?.minimum??0},${r?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},Mi=/^-?\d+n?$/,qi=/^-?\d+$/,Bi=/^-?\d+(?:\.\d+)?/,Ji=/^(?:true|false)$/i,Gi=/^null$/i,Vi=/^undefined$/i,Hi=/^[^A-Z]*$/,Wi=/^[^a-z]*$/,Ki=/^[0-9a-fA-F]*$/;function xt(r,t){return new RegExp(`^[A-Za-z0-9+/]{${r}}${t}$`)}function $t(r){return new RegExp(`^[A-Za-z0-9_-]{${r}}$`)}const gp=/^[0-9a-fA-F]{32}$/,hp=xt(22,"=="),fp=$t(22),vp=/^[0-9a-fA-F]{40}$/,kp=xt(27,"="),yp=$t(27),bp=/^[0-9a-fA-F]{64}$/,xp=xt(43,"="),$p=$t(43),wp=/^[0-9a-fA-F]{96}$/,Ip=xt(64,""),Sp=$t(64),zp=/^[0-9a-fA-F]{128}$/,Op=xt(86,"=="),Tp=$t(86),qr=Object.freeze(Object.defineProperty({__proto__:null,base64:Ai,base64url:Zr,bigint:Mi,boolean:Ji,browserEmail:dp,cidrv4:Ni,cidrv6:ji,cuid:vi,cuid2:ki,date:Ri,datetime:Fi,domain:Ui,duration:wi,e164:Pi,email:Si,emoji:Oi,extendedDuration:sp,guid:Ii,hex:Ki,hostname:Mr,html5Email:pp,idnEmail:_p,integer:qi,ipv4:Ti,ipv6:Ei,ksuid:xi,lowercase:Hi,md5_base64:hp,md5_base64url:fp,md5_hex:gp,nanoid:$i,null:Gi,number:Bi,rfc5322Email:lp,sha1_base64:kp,sha1_base64url:yp,sha1_hex:vp,sha256_base64:xp,sha256_base64url:$p,sha256_hex:bp,sha384_base64:Ip,sha384_base64url:Sp,sha384_hex:wp,sha512_base64:Op,sha512_base64url:Tp,sha512_hex:zp,string:Zi,time:Li,ulid:yi,undefined:Vi,unicodeEmail:zi,uppercase:Wi,uuid:Ye,uuid4:ap,uuid6:up,uuid7:cp,xid:bi},Symbol.toStringTag,{value:"Module"})),G=_("$ZodCheck",(r,t)=>{var n;r._zod??(r._zod={}),r._zod.def=t,(n=r._zod).onattach??(n.onattach=[])}),Yi={number:"number",bigint:"bigint",object:"date"},Br=_("$ZodCheckLessThan",(r,t)=>{G.init(r,t);const n=Yi[typeof t.value];r._zod.onattach.push(o=>{const e=o._zod.bag,i=(t.inclusive?e.maximum:e.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<i&&(t.inclusive?e.maximum=t.value:e.exclusiveMaximum=t.value)}),r._zod.check=o=>{(t.inclusive?o.value<=t.value:o.value<t.value)||o.issues.push({origin:n,code:"too_big",maximum:t.value,input:o.value,inclusive:t.inclusive,inst:r,continue:!t.abort})}}),Jr=_("$ZodCheckGreaterThan",(r,t)=>{G.init(r,t);const n=Yi[typeof t.value];r._zod.onattach.push(o=>{const e=o._zod.bag,i=(t.inclusive?e.minimum:e.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>i&&(t.inclusive?e.minimum=t.value:e.exclusiveMinimum=t.value)}),r._zod.check=o=>{(t.inclusive?o.value>=t.value:o.value>t.value)||o.issues.push({origin:n,code:"too_small",minimum:t.value,input:o.value,inclusive:t.inclusive,inst:r,continue:!t.abort})}}),Xi=_("$ZodCheckMultipleOf",(r,t)=>{G.init(r,t),r._zod.onattach.push(n=>{var o;(o=n._zod.bag).multipleOf??(o.multipleOf=t.value)}),r._zod.check=n=>{if(typeof n.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof n.value=="bigint"?n.value%t.value===BigInt(0):Ko(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:r,continue:!t.abort})}}),Qi=_("$ZodCheckNumberFormat",(r,t)=>{G.init(r,t),t.format=t.format||"float64";const n=t.format?.includes("int"),o=n?"int":"number",[e,i]=ei[t.format];r._zod.onattach.push(s=>{const a=s._zod.bag;a.format=t.format,a.minimum=e,a.maximum=i,n&&(a.pattern=qi)}),r._zod.check=s=>{const a=s.value;if(n){if(!Number.isInteger(a)){s.issues.push({expected:o,format:t.format,code:"invalid_type",continue:!1,input:a,inst:r});return}if(!Number.isSafeInteger(a)){a>0?s.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:r,origin:o,continue:!t.abort}):s.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:r,origin:o,continue:!t.abort});return}}a<e&&s.issues.push({origin:"number",input:a,code:"too_small",minimum:e,inclusive:!0,inst:r,continue:!t.abort}),a>i&&s.issues.push({origin:"number",input:a,code:"too_big",maximum:i,inst:r})}}),es=_("$ZodCheckBigIntFormat",(r,t)=>{G.init(r,t);const[n,o]=ti[t.format];r._zod.onattach.push(e=>{const i=e._zod.bag;i.format=t.format,i.minimum=n,i.maximum=o}),r._zod.check=e=>{const i=e.value;i<n&&e.issues.push({origin:"bigint",input:i,code:"too_small",minimum:n,inclusive:!0,inst:r,continue:!t.abort}),i>o&&e.issues.push({origin:"bigint",input:i,code:"too_big",maximum:o,inst:r})}}),ts=_("$ZodCheckMaxSize",(r,t)=>{var n;G.init(r,t),(n=r._zod.def).when??(n.when=o=>{const e=o.value;return!Ge(e)&&e.size!==void 0}),r._zod.onattach.push(o=>{const e=o._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<e&&(o._zod.bag.maximum=t.maximum)}),r._zod.check=o=>{const e=o.value;e.size<=t.maximum||o.issues.push({origin:Qt(e),code:"too_big",maximum:t.maximum,inclusive:!0,input:e,inst:r,continue:!t.abort})}}),rs=_("$ZodCheckMinSize",(r,t)=>{var n;G.init(r,t),(n=r._zod.def).when??(n.when=o=>{const e=o.value;return!Ge(e)&&e.size!==void 0}),r._zod.onattach.push(o=>{const e=o._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>e&&(o._zod.bag.minimum=t.minimum)}),r._zod.check=o=>{const e=o.value;e.size>=t.minimum||o.issues.push({origin:Qt(e),code:"too_small",minimum:t.minimum,inclusive:!0,input:e,inst:r,continue:!t.abort})}}),ns=_("$ZodCheckSizeEquals",(r,t)=>{var n;G.init(r,t),(n=r._zod.def).when??(n.when=o=>{const e=o.value;return!Ge(e)&&e.size!==void 0}),r._zod.onattach.push(o=>{const e=o._zod.bag;e.minimum=t.size,e.maximum=t.size,e.size=t.size}),r._zod.check=o=>{const e=o.value,i=e.size;if(i===t.size)return;const s=i>t.size;o.issues.push({origin:Qt(e),...s?{code:"too_big",maximum:t.size}:{code:"too_small",minimum:t.size},inclusive:!0,exact:!0,input:o.value,inst:r,continue:!t.abort})}}),os=_("$ZodCheckMaxLength",(r,t)=>{var n;G.init(r,t),(n=r._zod.def).when??(n.when=o=>{const e=o.value;return!Ge(e)&&e.length!==void 0}),r._zod.onattach.push(o=>{const e=o._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<e&&(o._zod.bag.maximum=t.maximum)}),r._zod.check=o=>{const e=o.value;if(e.length<=t.maximum)return;const s=er(e);o.issues.push({origin:s,code:"too_big",maximum:t.maximum,inclusive:!0,input:e,inst:r,continue:!t.abort})}}),is=_("$ZodCheckMinLength",(r,t)=>{var n;G.init(r,t),(n=r._zod.def).when??(n.when=o=>{const e=o.value;return!Ge(e)&&e.length!==void 0}),r._zod.onattach.push(o=>{const e=o._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>e&&(o._zod.bag.minimum=t.minimum)}),r._zod.check=o=>{const e=o.value;if(e.length>=t.minimum)return;const s=er(e);o.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:e,inst:r,continue:!t.abort})}}),ss=_("$ZodCheckLengthEquals",(r,t)=>{var n;G.init(r,t),(n=r._zod.def).when??(n.when=o=>{const e=o.value;return!Ge(e)&&e.length!==void 0}),r._zod.onattach.push(o=>{const e=o._zod.bag;e.minimum=t.length,e.maximum=t.length,e.length=t.length}),r._zod.check=o=>{const e=o.value,i=e.length;if(i===t.length)return;const s=er(e),a=i>t.length;o.issues.push({origin:s,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:o.value,inst:r,continue:!t.abort})}}),wt=_("$ZodCheckStringFormat",(r,t)=>{var n,o;G.init(r,t),r._zod.onattach.push(e=>{const i=e._zod.bag;i.format=t.format,t.pattern&&(i.patterns??(i.patterns=new Set),i.patterns.add(t.pattern))}),t.pattern?(n=r._zod).check??(n.check=e=>{t.pattern.lastIndex=0,!t.pattern.test(e.value)&&e.issues.push({origin:"string",code:"invalid_format",format:t.format,input:e.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:r,continue:!t.abort})}):(o=r._zod).check??(o.check=()=>{})}),as=_("$ZodCheckRegex",(r,t)=>{wt.init(r,t),r._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:r,continue:!t.abort})}}),us=_("$ZodCheckLowerCase",(r,t)=>{t.pattern??(t.pattern=Hi),wt.init(r,t)}),cs=_("$ZodCheckUpperCase",(r,t)=>{t.pattern??(t.pattern=Wi),wt.init(r,t)}),ps=_("$ZodCheckIncludes",(r,t)=>{G.init(r,t);const n=Re(t.includes),o=new RegExp(typeof t.position=="number"?`^.{${t.position}}${n}`:n);t.pattern=o,r._zod.onattach.push(e=>{const i=e._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(o)}),r._zod.check=e=>{e.value.includes(t.includes,t.position)||e.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:e.value,inst:r,continue:!t.abort})}}),ls=_("$ZodCheckStartsWith",(r,t)=>{G.init(r,t);const n=new RegExp(`^${Re(t.prefix)}.*`);t.pattern??(t.pattern=n),r._zod.onattach.push(o=>{const e=o._zod.bag;e.patterns??(e.patterns=new Set),e.patterns.add(n)}),r._zod.check=o=>{o.value.startsWith(t.prefix)||o.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:o.value,inst:r,continue:!t.abort})}}),_s=_("$ZodCheckEndsWith",(r,t)=>{G.init(r,t);const n=new RegExp(`.*${Re(t.suffix)}$`);t.pattern??(t.pattern=n),r._zod.onattach.push(o=>{const e=o._zod.bag;e.patterns??(e.patterns=new Set),e.patterns.add(n)}),r._zod.check=o=>{o.value.endsWith(t.suffix)||o.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:o.value,inst:r,continue:!t.abort})}});function yo(r,t,n){r.issues.length&&t.issues.push(...he(n,r.issues))}const ds=_("$ZodCheckProperty",(r,t)=>{G.init(r,t),r._zod.check=n=>{const o=t.schema._zod.run({value:n.value[t.property],issues:[]},{});if(o instanceof Promise)return o.then(e=>yo(e,n,t.property));yo(o,n,t.property)}}),ms=_("$ZodCheckMimeType",(r,t)=>{G.init(r,t);const n=new Set(t.mime);r._zod.onattach.push(o=>{o._zod.bag.mime=t.mime}),r._zod.check=o=>{n.has(o.value.type)||o.issues.push({code:"invalid_value",values:t.mime,input:o.value.type,inst:r,continue:!t.abort})}}),gs=_("$ZodCheckOverwrite",(r,t)=>{G.init(r,t),r._zod.check=n=>{n.value=t.tx(n.value)}});class hs{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}const o=t.split(`
3
+ `).filter(s=>s),e=Math.min(...o.map(s=>s.length-s.trimStart().length)),i=o.map(s=>s.slice(e)).map(s=>" ".repeat(this.indent*2)+s);for(const s of i)this.content.push(s)}compile(){const t=Function,n=this?.args,e=[...(this?.content??[""]).map(i=>` ${i}`)];return new t(...n,e.join(`
4
+ `))}}const fs={major:4,minor:1,patch:12},T=_("$ZodType",(r,t)=>{var n;r??(r={}),r._zod.def=t,r._zod.bag=r._zod.bag||{},r._zod.version=fs;const o=[...r._zod.def.checks??[]];r._zod.traits.has("$ZodCheck")&&o.unshift(r);for(const e of o)for(const i of e._zod.onattach)i(r);if(o.length===0)(n=r._zod).deferred??(n.deferred=[]),r._zod.deferred?.push(()=>{r._zod.run=r._zod.parse});else{const e=(s,a,u)=>{let c=Fe(s),l;for(const d of a){if(d._zod.def.when){if(!d._zod.def.when(s))continue}else if(c)continue;const h=s.issues.length,m=d._zod.check(s);if(m instanceof Promise&&u?.async===!1)throw new Me;if(l||m instanceof Promise)l=(l??Promise.resolve()).then(async()=>{await m,s.issues.length!==h&&(c||(c=Fe(s,h)))});else{if(s.issues.length===h)continue;c||(c=Fe(s,h))}}return l?l.then(()=>s):s},i=(s,a,u)=>{if(Fe(s))return s.aborted=!0,s;const c=e(a,o,u);if(c instanceof Promise){if(u.async===!1)throw new Me;return c.then(l=>r._zod.parse(l,u))}return r._zod.parse(c,u)};r._zod.run=(s,a)=>{if(a.skipChecks)return r._zod.parse(s,a);if(a.direction==="backward"){const c=r._zod.parse({value:s.value,issues:[]},{...a,skipChecks:!0});return c instanceof Promise?c.then(l=>i(l,s,a)):i(c,s,a)}const u=r._zod.parse(s,a);if(u instanceof Promise){if(a.async===!1)throw new Me;return u.then(c=>e(c,o,a))}return e(u,o,a)}}r["~standard"]={validate:e=>{try{const i=hi(r,e);return i.success?{value:i.data}:{issues:i.error?.issues}}catch{return fi(r,e).then(s=>s.success?{value:s.data}:{issues:s.error?.issues})}},vendor:"zod",version:1}}),It=_("$ZodString",(r,t)=>{T.init(r,t),r._zod.pattern=[...r?._zod.bag?.patterns??[]].pop()??Zi(r._zod.bag),r._zod.parse=(n,o)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value=="string"||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:r}),n}}),L=_("$ZodStringFormat",(r,t)=>{wt.init(r,t),It.init(r,t)}),vs=_("$ZodGUID",(r,t)=>{t.pattern??(t.pattern=Ii),L.init(r,t)}),ks=_("$ZodUUID",(r,t)=>{if(t.version){const o={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(o===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=Ye(o))}else t.pattern??(t.pattern=Ye());L.init(r,t)}),ys=_("$ZodEmail",(r,t)=>{t.pattern??(t.pattern=Si),L.init(r,t)}),bs=_("$ZodURL",(r,t)=>{L.init(r,t),r._zod.check=n=>{try{const o=n.value.trim(),e=new URL(o);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(e.hostname)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:Mr.source,input:n.value,inst:r,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(e.protocol.endsWith(":")?e.protocol.slice(0,-1):e.protocol)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:r,continue:!t.abort})),t.normalize?n.value=e.href:n.value=o;return}catch{n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:r,continue:!t.abort})}}}),xs=_("$ZodEmoji",(r,t)=>{t.pattern??(t.pattern=Oi()),L.init(r,t)}),$s=_("$ZodNanoID",(r,t)=>{t.pattern??(t.pattern=$i),L.init(r,t)}),ws=_("$ZodCUID",(r,t)=>{t.pattern??(t.pattern=vi),L.init(r,t)}),Is=_("$ZodCUID2",(r,t)=>{t.pattern??(t.pattern=ki),L.init(r,t)}),Ss=_("$ZodULID",(r,t)=>{t.pattern??(t.pattern=yi),L.init(r,t)}),zs=_("$ZodXID",(r,t)=>{t.pattern??(t.pattern=bi),L.init(r,t)}),Os=_("$ZodKSUID",(r,t)=>{t.pattern??(t.pattern=xi),L.init(r,t)}),Ts=_("$ZodISODateTime",(r,t)=>{t.pattern??(t.pattern=Fi(t)),L.init(r,t)}),Es=_("$ZodISODate",(r,t)=>{t.pattern??(t.pattern=Ri),L.init(r,t)}),Ns=_("$ZodISOTime",(r,t)=>{t.pattern??(t.pattern=Li(t)),L.init(r,t)}),js=_("$ZodISODuration",(r,t)=>{t.pattern??(t.pattern=wi),L.init(r,t)}),As=_("$ZodIPv4",(r,t)=>{t.pattern??(t.pattern=Ti),L.init(r,t),r._zod.onattach.push(n=>{const o=n._zod.bag;o.format="ipv4"})}),Us=_("$ZodIPv6",(r,t)=>{t.pattern??(t.pattern=Ei),L.init(r,t),r._zod.onattach.push(n=>{const o=n._zod.bag;o.format="ipv6"}),r._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:r,continue:!t.abort})}}}),Ps=_("$ZodCIDRv4",(r,t)=>{t.pattern??(t.pattern=Ni),L.init(r,t)}),Ds=_("$ZodCIDRv6",(r,t)=>{t.pattern??(t.pattern=ji),L.init(r,t),r._zod.check=n=>{const o=n.value.split("/");try{if(o.length!==2)throw new Error;const[e,i]=o;if(!i)throw new Error;const s=Number(i);if(`${s}`!==i)throw new Error;if(s<0||s>128)throw new Error;new URL(`http://[${e}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:r,continue:!t.abort})}}});function Gr(r){if(r==="")return!0;if(r.length%4!==0)return!1;try{return atob(r),!0}catch{return!1}}const Rs=_("$ZodBase64",(r,t)=>{t.pattern??(t.pattern=Ai),L.init(r,t),r._zod.onattach.push(n=>{n._zod.bag.contentEncoding="base64"}),r._zod.check=n=>{Gr(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:r,continue:!t.abort})}});function Cs(r){if(!Zr.test(r))return!1;const t=r.replace(/[-_]/g,o=>o==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return Gr(n)}const Ls=_("$ZodBase64URL",(r,t)=>{t.pattern??(t.pattern=Zr),L.init(r,t),r._zod.onattach.push(n=>{n._zod.bag.contentEncoding="base64url"}),r._zod.check=n=>{Cs(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:r,continue:!t.abort})}}),Fs=_("$ZodE164",(r,t)=>{t.pattern??(t.pattern=Pi),L.init(r,t)});function Zs(r,t=null){try{const n=r.split(".");if(n.length!==3)return!1;const[o]=n;if(!o)return!1;const e=JSON.parse(atob(o));return!("typ"in e&&e?.typ!=="JWT"||!e.alg||t&&(!("alg"in e)||e.alg!==t))}catch{return!1}}const Ms=_("$ZodJWT",(r,t)=>{L.init(r,t),r._zod.check=n=>{Zs(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:r,continue:!t.abort})}}),qs=_("$ZodCustomStringFormat",(r,t)=>{L.init(r,t),r._zod.check=n=>{t.fn(n.value)||n.issues.push({code:"invalid_format",format:t.format,input:n.value,inst:r,continue:!t.abort})}}),Vr=_("$ZodNumber",(r,t)=>{T.init(r,t),r._zod.pattern=r._zod.bag.pattern??Bi,r._zod.parse=(n,o)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}const e=n.value;if(typeof e=="number"&&!Number.isNaN(e)&&Number.isFinite(e))return n;const i=typeof e=="number"?Number.isNaN(e)?"NaN":Number.isFinite(e)?void 0:"Infinity":void 0;return n.issues.push({expected:"number",code:"invalid_type",input:e,inst:r,...i?{received:i}:{}}),n}}),Bs=_("$ZodNumber",(r,t)=>{Qi.init(r,t),Vr.init(r,t)}),Hr=_("$ZodBoolean",(r,t)=>{T.init(r,t),r._zod.pattern=Ji,r._zod.parse=(n,o)=>{if(t.coerce)try{n.value=!!n.value}catch{}const e=n.value;return typeof e=="boolean"||n.issues.push({expected:"boolean",code:"invalid_type",input:e,inst:r}),n}}),Wr=_("$ZodBigInt",(r,t)=>{T.init(r,t),r._zod.pattern=Mi,r._zod.parse=(n,o)=>{if(t.coerce)try{n.value=BigInt(n.value)}catch{}return typeof n.value=="bigint"||n.issues.push({expected:"bigint",code:"invalid_type",input:n.value,inst:r}),n}}),Js=_("$ZodBigInt",(r,t)=>{es.init(r,t),Wr.init(r,t)}),Gs=_("$ZodSymbol",(r,t)=>{T.init(r,t),r._zod.parse=(n,o)=>{const e=n.value;return typeof e=="symbol"||n.issues.push({expected:"symbol",code:"invalid_type",input:e,inst:r}),n}}),Vs=_("$ZodUndefined",(r,t)=>{T.init(r,t),r._zod.pattern=Vi,r._zod.values=new Set([void 0]),r._zod.optin="optional",r._zod.optout="optional",r._zod.parse=(n,o)=>{const e=n.value;return typeof e>"u"||n.issues.push({expected:"undefined",code:"invalid_type",input:e,inst:r}),n}}),Hs=_("$ZodNull",(r,t)=>{T.init(r,t),r._zod.pattern=Gi,r._zod.values=new Set([null]),r._zod.parse=(n,o)=>{const e=n.value;return e===null||n.issues.push({expected:"null",code:"invalid_type",input:e,inst:r}),n}}),Ws=_("$ZodAny",(r,t)=>{T.init(r,t),r._zod.parse=n=>n}),Ks=_("$ZodUnknown",(r,t)=>{T.init(r,t),r._zod.parse=n=>n}),Ys=_("$ZodNever",(r,t)=>{T.init(r,t),r._zod.parse=(n,o)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:r}),n)}),Xs=_("$ZodVoid",(r,t)=>{T.init(r,t),r._zod.parse=(n,o)=>{const e=n.value;return typeof e>"u"||n.issues.push({expected:"void",code:"invalid_type",input:e,inst:r}),n}}),Qs=_("$ZodDate",(r,t)=>{T.init(r,t),r._zod.parse=(n,o)=>{if(t.coerce)try{n.value=new Date(n.value)}catch{}const e=n.value,i=e instanceof Date;return i&&!Number.isNaN(e.getTime())||n.issues.push({expected:"date",code:"invalid_type",input:e,...i?{received:"Invalid Date"}:{},inst:r}),n}});function bo(r,t,n){r.issues.length&&t.issues.push(...he(n,r.issues)),t.value[n]=r.value}const ea=_("$ZodArray",(r,t)=>{T.init(r,t),r._zod.parse=(n,o)=>{const e=n.value;if(!Array.isArray(e))return n.issues.push({expected:"array",code:"invalid_type",input:e,inst:r}),n;n.value=Array(e.length);const i=[];for(let s=0;s<e.length;s++){const a=e[s],u=t.element._zod.run({value:a,issues:[]},o);u instanceof Promise?i.push(u.then(c=>bo(c,n,s))):bo(u,n,s)}return i.length?Promise.all(i).then(()=>n):n}});function Mt(r,t,n,o){r.issues.length&&t.issues.push(...he(n,r.issues)),r.value===void 0?n in o&&(t.value[n]=void 0):t.value[n]=r.value}function ta(r){const t=Object.keys(r.shape);for(const o of t)if(!r.shape?.[o]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${o}": expected a Zod schema`);const n=Qo(r.shape);return{...r,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function ra(r,t,n,o,e,i){const s=[],a=e.keySet,u=e.catchall._zod,c=u.def.type;for(const l of Object.keys(t)){if(a.has(l))continue;if(c==="never"){s.push(l);continue}const d=u.run({value:t[l],issues:[]},o);d instanceof Promise?r.push(d.then(h=>Mt(h,n,l,t))):Mt(d,n,l,t)}return s.length&&n.issues.push({code:"unrecognized_keys",keys:s,input:t,inst:i}),r.length?Promise.all(r).then(()=>n):n}const na=_("$ZodObject",(r,t)=>{if(T.init(r,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){const a=t.shape;Object.defineProperty(t,"shape",{get:()=>{const u={...a};return Object.defineProperty(t,"shape",{value:u}),u}})}const o=ft(()=>ta(t));P(r._zod,"propValues",()=>{const a=t.shape,u={};for(const c in a){const l=a[c]._zod;if(l.values){u[c]??(u[c]=new Set);for(const d of l.values)u[c].add(d)}}return u});const e=We,i=t.catchall;let s;r._zod.parse=(a,u)=>{s??(s=o.value);const c=a.value;if(!e(c))return a.issues.push({expected:"object",code:"invalid_type",input:c,inst:r}),a;a.value={};const l=[],d=s.shape;for(const h of s.keys){const p=d[h]._zod.run({value:c[h],issues:[]},u);p instanceof Promise?l.push(p.then(g=>Mt(g,a,h,c))):Mt(p,a,h,c)}return i?ra(l,c,a,u,o.value,r):l.length?Promise.all(l).then(()=>a):a}}),oa=_("$ZodObjectJIT",(r,t)=>{na.init(r,t);const n=r._zod.parse,o=ft(()=>ta(t)),e=h=>{const m=new hs(["shape","payload","ctx"]),p=o.value,g=z=>{const S=fr(z);return`shape[${S}]._zod.run({ value: input[${S}], issues: [] }, ctx)`};m.write("const input = payload.value;");const v=Object.create(null);let $=0;for(const z of p.keys)v[z]=`key_${$++}`;m.write("const newResult = {};");for(const z of p.keys){const S=v[z],A=fr(z);m.write(`const ${S} = ${g(z)};`),m.write(`
5
+ if (${S}.issues.length) {
6
+ payload.issues = payload.issues.concat(${S}.issues.map(iss => ({
7
+ ...iss,
8
+ path: iss.path ? [${A}, ...iss.path] : [${A}]
9
+ })));
10
+ }
11
+
12
+
13
+ if (${S}.value === undefined) {
14
+ if (${A} in input) {
15
+ newResult[${A}] = undefined;
16
+ }
17
+ } else {
18
+ newResult[${A}] = ${S}.value;
19
+ }
20
+
21
+ `)}m.write("payload.value = newResult;"),m.write("return payload;");const b=m.compile();return(z,S)=>b(h,z,S)};let i;const s=We,a=!Lt.jitless,c=a&&Yo.value,l=t.catchall;let d;r._zod.parse=(h,m)=>{d??(d=o.value);const p=h.value;return s(p)?a&&c&&m?.async===!1&&m.jitless!==!0?(i||(i=e(t.shape)),h=i(h,m),l?ra([],p,h,m,d,r):h):n(h,m):(h.issues.push({expected:"object",code:"invalid_type",input:p,inst:r}),h)}});function xo(r,t,n,o){for(const i of r)if(i.issues.length===0)return t.value=i.value,t;const e=r.filter(i=>!Fe(i));return e.length===1?(t.value=e[0].value,e[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:r.map(i=>i.issues.map(s=>ve(s,o,ce())))}),t)}const Kr=_("$ZodUnion",(r,t)=>{T.init(r,t),P(r._zod,"optin",()=>t.options.some(e=>e._zod.optin==="optional")?"optional":void 0),P(r._zod,"optout",()=>t.options.some(e=>e._zod.optout==="optional")?"optional":void 0),P(r._zod,"values",()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),P(r._zod,"pattern",()=>{if(t.options.every(e=>e._zod.pattern)){const e=t.options.map(i=>i._zod.pattern);return new RegExp(`^(${e.map(i=>Yt(i.source)).join("|")})$`)}});const n=t.options.length===1,o=t.options[0]._zod.run;r._zod.parse=(e,i)=>{if(n)return o(e,i);let s=!1;const a=[];for(const u of t.options){const c=u._zod.run({value:e.value,issues:[]},i);if(c instanceof Promise)a.push(c),s=!0;else{if(c.issues.length===0)return c;a.push(c)}}return s?Promise.all(a).then(u=>xo(u,e,r,i)):xo(a,e,r,i)}}),ia=_("$ZodDiscriminatedUnion",(r,t)=>{Kr.init(r,t);const n=r._zod.parse;P(r._zod,"propValues",()=>{const e={};for(const i of t.options){const s=i._zod.propValues;if(!s||Object.keys(s).length===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(i)}"`);for(const[a,u]of Object.entries(s)){e[a]||(e[a]=new Set);for(const c of u)e[a].add(c)}}return e});const o=ft(()=>{const e=t.options,i=new Map;for(const s of e){const a=s._zod.propValues?.[t.discriminator];if(!a||a.size===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(s)}"`);for(const u of a){if(i.has(u))throw new Error(`Duplicate discriminator value "${String(u)}"`);i.set(u,s)}}return i});r._zod.parse=(e,i)=>{const s=e.value;if(!We(s))return e.issues.push({code:"invalid_type",expected:"object",input:s,inst:r}),e;const a=o.value.get(s?.[t.discriminator]);return a?a._zod.run(e,i):t.unionFallback?n(e,i):(e.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,input:s,path:[t.discriminator],inst:r}),e)}}),sa=_("$ZodIntersection",(r,t)=>{T.init(r,t),r._zod.parse=(n,o)=>{const e=n.value,i=t.left._zod.run({value:e,issues:[]},o),s=t.right._zod.run({value:e,issues:[]},o);return i instanceof Promise||s instanceof Promise?Promise.all([i,s]).then(([u,c])=>$o(n,u,c)):$o(n,i,s)}});function yr(r,t){if(r===t)return{valid:!0,data:r};if(r instanceof Date&&t instanceof Date&&+r==+t)return{valid:!0,data:r};if(qe(r)&&qe(t)){const n=Object.keys(t),o=Object.keys(r).filter(i=>n.indexOf(i)!==-1),e={...r,...t};for(const i of o){const s=yr(r[i],t[i]);if(!s.valid)return{valid:!1,mergeErrorPath:[i,...s.mergeErrorPath]};e[i]=s.data}return{valid:!0,data:e}}if(Array.isArray(r)&&Array.isArray(t)){if(r.length!==t.length)return{valid:!1,mergeErrorPath:[]};const n=[];for(let o=0;o<r.length;o++){const e=r[o],i=t[o],s=yr(e,i);if(!s.valid)return{valid:!1,mergeErrorPath:[o,...s.mergeErrorPath]};n.push(s.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function $o(r,t,n){if(t.issues.length&&r.issues.push(...t.issues),n.issues.length&&r.issues.push(...n.issues),Fe(r))return r;const o=yr(t.value,n.value);if(!o.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return r.value=o.data,r}const Yr=_("$ZodTuple",(r,t)=>{T.init(r,t);const n=t.items,o=n.length-[...n].reverse().findIndex(e=>e._zod.optin!=="optional");r._zod.parse=(e,i)=>{const s=e.value;if(!Array.isArray(s))return e.issues.push({input:s,inst:r,expected:"tuple",code:"invalid_type"}),e;e.value=[];const a=[];if(!t.rest){const c=s.length>n.length,l=s.length<o-1;if(c||l)return e.issues.push({...c?{code:"too_big",maximum:n.length}:{code:"too_small",minimum:n.length},input:s,inst:r,origin:"array"}),e}let u=-1;for(const c of n){if(u++,u>=s.length&&u>=o)continue;const l=c._zod.run({value:s[u],issues:[]},i);l instanceof Promise?a.push(l.then(d=>jt(d,e,u))):jt(l,e,u)}if(t.rest){const c=s.slice(n.length);for(const l of c){u++;const d=t.rest._zod.run({value:l,issues:[]},i);d instanceof Promise?a.push(d.then(h=>jt(h,e,u))):jt(d,e,u)}}return a.length?Promise.all(a).then(()=>e):e}});function jt(r,t,n){r.issues.length&&t.issues.push(...he(n,r.issues)),t.value[n]=r.value}const aa=_("$ZodRecord",(r,t)=>{T.init(r,t),r._zod.parse=(n,o)=>{const e=n.value;if(!qe(e))return n.issues.push({expected:"record",code:"invalid_type",input:e,inst:r}),n;const i=[];if(t.keyType._zod.values){const s=t.keyType._zod.values;n.value={};for(const u of s)if(typeof u=="string"||typeof u=="number"||typeof u=="symbol"){const c=t.valueType._zod.run({value:e[u],issues:[]},o);c instanceof Promise?i.push(c.then(l=>{l.issues.length&&n.issues.push(...he(u,l.issues)),n.value[u]=l.value})):(c.issues.length&&n.issues.push(...he(u,c.issues)),n.value[u]=c.value)}let a;for(const u in e)s.has(u)||(a=a??[],a.push(u));a&&a.length>0&&n.issues.push({code:"unrecognized_keys",input:e,inst:r,keys:a})}else{n.value={};for(const s of Reflect.ownKeys(e)){if(s==="__proto__")continue;const a=t.keyType._zod.run({value:s,issues:[]},o);if(a instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(a.issues.length){n.issues.push({code:"invalid_key",origin:"record",issues:a.issues.map(c=>ve(c,o,ce())),input:s,path:[s],inst:r}),n.value[a.value]=a.value;continue}const u=t.valueType._zod.run({value:e[s],issues:[]},o);u instanceof Promise?i.push(u.then(c=>{c.issues.length&&n.issues.push(...he(s,c.issues)),n.value[a.value]=c.value})):(u.issues.length&&n.issues.push(...he(s,u.issues)),n.value[a.value]=u.value)}}return i.length?Promise.all(i).then(()=>n):n}}),ua=_("$ZodMap",(r,t)=>{T.init(r,t),r._zod.parse=(n,o)=>{const e=n.value;if(!(e instanceof Map))return n.issues.push({expected:"map",code:"invalid_type",input:e,inst:r}),n;const i=[];n.value=new Map;for(const[s,a]of e){const u=t.keyType._zod.run({value:s,issues:[]},o),c=t.valueType._zod.run({value:a,issues:[]},o);u instanceof Promise||c instanceof Promise?i.push(Promise.all([u,c]).then(([l,d])=>{wo(l,d,n,s,e,r,o)})):wo(u,c,n,s,e,r,o)}return i.length?Promise.all(i).then(()=>n):n}});function wo(r,t,n,o,e,i,s){r.issues.length&&(Zt.has(typeof o)?n.issues.push(...he(o,r.issues)):n.issues.push({code:"invalid_key",origin:"map",input:e,inst:i,issues:r.issues.map(a=>ve(a,s,ce()))})),t.issues.length&&(Zt.has(typeof o)?n.issues.push(...he(o,t.issues)):n.issues.push({origin:"map",code:"invalid_element",input:e,inst:i,key:o,issues:t.issues.map(a=>ve(a,s,ce()))})),n.value.set(r.value,t.value)}const ca=_("$ZodSet",(r,t)=>{T.init(r,t),r._zod.parse=(n,o)=>{const e=n.value;if(!(e instanceof Set))return n.issues.push({input:e,inst:r,expected:"set",code:"invalid_type"}),n;const i=[];n.value=new Set;for(const s of e){const a=t.valueType._zod.run({value:s,issues:[]},o);a instanceof Promise?i.push(a.then(u=>Io(u,n))):Io(a,n)}return i.length?Promise.all(i).then(()=>n):n}});function Io(r,t){r.issues.length&&t.issues.push(...r.issues),t.value.add(r.value)}const pa=_("$ZodEnum",(r,t)=>{T.init(r,t);const n=Or(t.entries),o=new Set(n);r._zod.values=o,r._zod.pattern=new RegExp(`^(${n.filter(e=>Zt.has(typeof e)).map(e=>typeof e=="string"?Re(e):e.toString()).join("|")})$`),r._zod.parse=(e,i)=>{const s=e.value;return o.has(s)||e.issues.push({code:"invalid_value",values:n,input:s,inst:r}),e}}),la=_("$ZodLiteral",(r,t)=>{if(T.init(r,t),t.values.length===0)throw new Error("Cannot create literal schema with no valid values");r._zod.values=new Set(t.values),r._zod.pattern=new RegExp(`^(${t.values.map(n=>typeof n=="string"?Re(n):n?Re(n.toString()):String(n)).join("|")})$`),r._zod.parse=(n,o)=>{const e=n.value;return r._zod.values.has(e)||n.issues.push({code:"invalid_value",values:t.values,input:e,inst:r}),n}}),_a=_("$ZodFile",(r,t)=>{T.init(r,t),r._zod.parse=(n,o)=>{const e=n.value;return e instanceof File||n.issues.push({expected:"file",code:"invalid_type",input:e,inst:r}),n}}),da=_("$ZodTransform",(r,t)=>{T.init(r,t),r._zod.parse=(n,o)=>{if(o.direction==="backward")throw new Kt(r.constructor.name);const e=t.transform(n.value,n);if(o.async)return(e instanceof Promise?e:Promise.resolve(e)).then(s=>(n.value=s,n));if(e instanceof Promise)throw new Me;return n.value=e,n}});function So(r,t){return r.issues.length&&t===void 0?{issues:[],value:void 0}:r}const ma=_("$ZodOptional",(r,t)=>{T.init(r,t),r._zod.optin="optional",r._zod.optout="optional",P(r._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),P(r._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${Yt(n.source)})?$`):void 0}),r._zod.parse=(n,o)=>{if(t.innerType._zod.optin==="optional"){const e=t.innerType._zod.run(n,o);return e instanceof Promise?e.then(i=>So(i,n.value)):So(e,n.value)}return n.value===void 0?n:t.innerType._zod.run(n,o)}}),ga=_("$ZodNullable",(r,t)=>{T.init(r,t),P(r._zod,"optin",()=>t.innerType._zod.optin),P(r._zod,"optout",()=>t.innerType._zod.optout),P(r._zod,"pattern",()=>{const n=t.innerType._zod.pattern;return n?new RegExp(`^(${Yt(n.source)}|null)$`):void 0}),P(r._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),r._zod.parse=(n,o)=>n.value===null?n:t.innerType._zod.run(n,o)}),ha=_("$ZodDefault",(r,t)=>{T.init(r,t),r._zod.optin="optional",P(r._zod,"values",()=>t.innerType._zod.values),r._zod.parse=(n,o)=>{if(o.direction==="backward")return t.innerType._zod.run(n,o);if(n.value===void 0)return n.value=t.defaultValue,n;const e=t.innerType._zod.run(n,o);return e instanceof Promise?e.then(i=>zo(i,t)):zo(e,t)}});function zo(r,t){return r.value===void 0&&(r.value=t.defaultValue),r}const fa=_("$ZodPrefault",(r,t)=>{T.init(r,t),r._zod.optin="optional",P(r._zod,"values",()=>t.innerType._zod.values),r._zod.parse=(n,o)=>(o.direction==="backward"||n.value===void 0&&(n.value=t.defaultValue),t.innerType._zod.run(n,o))}),va=_("$ZodNonOptional",(r,t)=>{T.init(r,t),P(r._zod,"values",()=>{const n=t.innerType._zod.values;return n?new Set([...n].filter(o=>o!==void 0)):void 0}),r._zod.parse=(n,o)=>{const e=t.innerType._zod.run(n,o);return e instanceof Promise?e.then(i=>Oo(i,r)):Oo(e,r)}});function Oo(r,t){return!r.issues.length&&r.value===void 0&&r.issues.push({code:"invalid_type",expected:"nonoptional",input:r.value,inst:t}),r}const ka=_("$ZodSuccess",(r,t)=>{T.init(r,t),r._zod.parse=(n,o)=>{if(o.direction==="backward")throw new Kt("ZodSuccess");const e=t.innerType._zod.run(n,o);return e instanceof Promise?e.then(i=>(n.value=i.issues.length===0,n)):(n.value=e.issues.length===0,n)}}),ya=_("$ZodCatch",(r,t)=>{T.init(r,t),P(r._zod,"optin",()=>t.innerType._zod.optin),P(r._zod,"optout",()=>t.innerType._zod.optout),P(r._zod,"values",()=>t.innerType._zod.values),r._zod.parse=(n,o)=>{if(o.direction==="backward")return t.innerType._zod.run(n,o);const e=t.innerType._zod.run(n,o);return e instanceof Promise?e.then(i=>(n.value=i.value,i.issues.length&&(n.value=t.catchValue({...n,error:{issues:i.issues.map(s=>ve(s,o,ce()))},input:n.value}),n.issues=[]),n)):(n.value=e.value,e.issues.length&&(n.value=t.catchValue({...n,error:{issues:e.issues.map(i=>ve(i,o,ce()))},input:n.value}),n.issues=[]),n)}}),ba=_("$ZodNaN",(r,t)=>{T.init(r,t),r._zod.parse=(n,o)=>((typeof n.value!="number"||!Number.isNaN(n.value))&&n.issues.push({input:n.value,inst:r,expected:"nan",code:"invalid_type"}),n)}),xa=_("$ZodPipe",(r,t)=>{T.init(r,t),P(r._zod,"values",()=>t.in._zod.values),P(r._zod,"optin",()=>t.in._zod.optin),P(r._zod,"optout",()=>t.out._zod.optout),P(r._zod,"propValues",()=>t.in._zod.propValues),r._zod.parse=(n,o)=>{if(o.direction==="backward"){const i=t.out._zod.run(n,o);return i instanceof Promise?i.then(s=>At(s,t.in,o)):At(i,t.in,o)}const e=t.in._zod.run(n,o);return e instanceof Promise?e.then(i=>At(i,t.out,o)):At(e,t.out,o)}});function At(r,t,n){return r.issues.length?(r.aborted=!0,r):t._zod.run({value:r.value,issues:r.issues},n)}const Xr=_("$ZodCodec",(r,t)=>{T.init(r,t),P(r._zod,"values",()=>t.in._zod.values),P(r._zod,"optin",()=>t.in._zod.optin),P(r._zod,"optout",()=>t.out._zod.optout),P(r._zod,"propValues",()=>t.in._zod.propValues),r._zod.parse=(n,o)=>{if((o.direction||"forward")==="forward"){const i=t.in._zod.run(n,o);return i instanceof Promise?i.then(s=>Ut(s,t,o)):Ut(i,t,o)}else{const i=t.out._zod.run(n,o);return i instanceof Promise?i.then(s=>Ut(s,t,o)):Ut(i,t,o)}}});function Ut(r,t,n){if(r.issues.length)return r.aborted=!0,r;if((n.direction||"forward")==="forward"){const e=t.transform(r.value,r);return e instanceof Promise?e.then(i=>Pt(r,i,t.out,n)):Pt(r,e,t.out,n)}else{const e=t.reverseTransform(r.value,r);return e instanceof Promise?e.then(i=>Pt(r,i,t.in,n)):Pt(r,e,t.in,n)}}function Pt(r,t,n,o){return r.issues.length?(r.aborted=!0,r):n._zod.run({value:t,issues:r.issues},o)}const $a=_("$ZodReadonly",(r,t)=>{T.init(r,t),P(r._zod,"propValues",()=>t.innerType._zod.propValues),P(r._zod,"values",()=>t.innerType._zod.values),P(r._zod,"optin",()=>t.innerType._zod.optin),P(r._zod,"optout",()=>t.innerType._zod.optout),r._zod.parse=(n,o)=>{if(o.direction==="backward")return t.innerType._zod.run(n,o);const e=t.innerType._zod.run(n,o);return e instanceof Promise?e.then(To):To(e)}});function To(r){return r.value=Object.freeze(r.value),r}const wa=_("$ZodTemplateLiteral",(r,t)=>{T.init(r,t);const n=[];for(const o of t.parts)if(typeof o=="object"&&o!==null){if(!o._zod.pattern)throw new Error(`Invalid template literal part, no pattern found: ${[...o._zod.traits].shift()}`);const e=o._zod.pattern instanceof RegExp?o._zod.pattern.source:o._zod.pattern;if(!e)throw new Error(`Invalid template literal part: ${o._zod.traits}`);const i=e.startsWith("^")?1:0,s=e.endsWith("$")?e.length-1:e.length;n.push(e.slice(i,s))}else if(o===null||Xo.has(typeof o))n.push(Re(`${o}`));else throw new Error(`Invalid template literal part: ${o}`);r._zod.pattern=new RegExp(`^${n.join("")}$`),r._zod.parse=(o,e)=>typeof o.value!="string"?(o.issues.push({input:o.value,inst:r,expected:"template_literal",code:"invalid_type"}),o):(r._zod.pattern.lastIndex=0,r._zod.pattern.test(o.value)||o.issues.push({input:o.value,inst:r,code:"invalid_format",format:t.format??"template_literal",pattern:r._zod.pattern.source}),o)}),Ia=_("$ZodFunction",(r,t)=>(T.init(r,t),r._def=t,r._zod.def=t,r.implement=n=>{if(typeof n!="function")throw new Error("implement() must be called with a function");return function(...o){const e=r._def.input?vr(r._def.input,o):o,i=Reflect.apply(n,this,e);return r._def.output?vr(r._def.output,i):i}},r.implementAsync=n=>{if(typeof n!="function")throw new Error("implementAsync() must be called with a function");return async function(...o){const e=r._def.input?await kr(r._def.input,o):o,i=await Reflect.apply(n,this,e);return r._def.output?await kr(r._def.output,i):i}},r._zod.parse=(n,o)=>typeof n.value!="function"?(n.issues.push({code:"invalid_type",expected:"function",input:n.value,inst:r}),n):(r._def.output&&r._def.output._zod.def.type==="promise"?n.value=r.implementAsync(n.value):n.value=r.implement(n.value),n),r.input=(...n)=>{const o=r.constructor;return Array.isArray(n[0])?new o({type:"function",input:new Yr({type:"tuple",items:n[0],rest:n[1]}),output:r._def.output}):new o({type:"function",input:n[0],output:r._def.output})},r.output=n=>{const o=r.constructor;return new o({type:"function",input:r._def.input,output:n})},r)),Sa=_("$ZodPromise",(r,t)=>{T.init(r,t),r._zod.parse=(n,o)=>Promise.resolve(n.value).then(e=>t.innerType._zod.run({value:e,issues:[]},o))}),za=_("$ZodLazy",(r,t)=>{T.init(r,t),P(r._zod,"innerType",()=>t.getter()),P(r._zod,"pattern",()=>r._zod.innerType._zod.pattern),P(r._zod,"propValues",()=>r._zod.innerType._zod.propValues),P(r._zod,"optin",()=>r._zod.innerType._zod.optin??void 0),P(r._zod,"optout",()=>r._zod.innerType._zod.optout??void 0),r._zod.parse=(n,o)=>r._zod.innerType._zod.run(n,o)}),Oa=_("$ZodCustom",(r,t)=>{G.init(r,t),T.init(r,t),r._zod.parse=(n,o)=>n,r._zod.check=n=>{const o=n.value,e=t.fn(o);if(e instanceof Promise)return e.then(i=>Eo(i,n,o,r));Eo(e,n,o,r)}});function Eo(r,t,n,o){if(!r){const e={code:"custom",input:n,inst:o,path:[...o._zod.def.path??[]],continue:!o._zod.def.abort};o._zod.def.params&&(e.params=o._zod.def.params),t.issues.push(Ke(e))}}const Ep=()=>{const r={string:{unit:"حرف",verb:"أن يحوي"},file:{unit:"بايت",verb:"أن يحوي"},array:{unit:"عنصر",verb:"أن يحوي"},set:{unit:"عنصر",verb:"أن يحوي"}};function t(e){return r[e]??null}const n=e=>{const i=typeof e;switch(i){case"number":return Number.isNaN(e)?"NaN":"number";case"object":{if(Array.isArray(e))return"array";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return i},o={regex:"مدخل",email:"بريد إلكتروني",url:"رابط",emoji:"إيموجي",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"تاريخ ووقت بمعيار ISO",date:"تاريخ بمعيار ISO",time:"وقت بمعيار ISO",duration:"مدة بمعيار ISO",ipv4:"عنوان IPv4",ipv6:"عنوان IPv6",cidrv4:"مدى عناوين بصيغة IPv4",cidrv6:"مدى عناوين بصيغة IPv6",base64:"نَص بترميز base64-encoded",base64url:"نَص بترميز base64url-encoded",json_string:"نَص على هيئة JSON",e164:"رقم هاتف بمعيار E.164",jwt:"JWT",template_literal:"مدخل"};return e=>{switch(e.code){case"invalid_type":return`مدخلات غير مقبولة: يفترض إدخال ${e.expected}، ولكن تم إدخال ${n(e.input)}`;case"invalid_value":return e.values.length===1?`مدخلات غير مقبولة: يفترض إدخال ${O(e.values[0])}`:`اختيار غير مقبول: يتوقع انتقاء أحد هذه الخيارات: ${y(e.values,"|")}`;case"too_big":{const i=e.inclusive?"<=":"<",s=t(e.origin);return s?` أكبر من اللازم: يفترض أن تكون ${e.origin??"القيمة"} ${i} ${e.maximum.toString()} ${s.unit??"عنصر"}`:`أكبر من اللازم: يفترض أن تكون ${e.origin??"القيمة"} ${i} ${e.maximum.toString()}`}case"too_small":{const i=e.inclusive?">=":">",s=t(e.origin);return s?`أصغر من اللازم: يفترض لـ ${e.origin} أن يكون ${i} ${e.minimum.toString()} ${s.unit}`:`أصغر من اللازم: يفترض لـ ${e.origin} أن يكون ${i} ${e.minimum.toString()}`}case"invalid_format":{const i=e;return i.format==="starts_with"?`نَص غير مقبول: يجب أن يبدأ بـ "${e.prefix}"`:i.format==="ends_with"?`نَص غير مقبول: يجب أن ينتهي بـ "${i.suffix}"`:i.format==="includes"?`نَص غير مقبول: يجب أن يتضمَّن "${i.includes}"`:i.format==="regex"?`نَص غير مقبول: يجب أن يطابق النمط ${i.pattern}`:`${o[i.format]??e.format} غير مقبول`}case"not_multiple_of":return`رقم غير مقبول: يجب أن يكون من مضاعفات ${e.divisor}`;case"unrecognized_keys":return`معرف${e.keys.length>1?"ات":""} غريب${e.keys.length>1?"ة":""}: ${y(e.keys,"، ")}`;case"invalid_key":return`معرف غير مقبول في ${e.origin}`;case"invalid_union":return"مدخل غير مقبول";case"invalid_element":return`مدخل غير مقبول في ${e.origin}`;default:return"مدخل غير مقبول"}}};function Np(){return{localeError:Ep()}}const jp=()=>{const r={string:{unit:"simvol",verb:"olmalıdır"},file:{unit:"bayt",verb:"olmalıdır"},array:{unit:"element",verb:"olmalıdır"},set:{unit:"element",verb:"olmalıdır"}};function t(e){return r[e]??null}const n=e=>{const i=typeof e;switch(i){case"number":return Number.isNaN(e)?"NaN":"number";case"object":{if(Array.isArray(e))return"array";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return i},o={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return e=>{switch(e.code){case"invalid_type":return`Yanlış dəyər: gözlənilən ${e.expected}, daxil olan ${n(e.input)}`;case"invalid_value":return e.values.length===1?`Yanlış dəyər: gözlənilən ${O(e.values[0])}`:`Yanlış seçim: aşağıdakılardan biri olmalıdır: ${y(e.values,"|")}`;case"too_big":{const i=e.inclusive?"<=":"<",s=t(e.origin);return s?`Çox böyük: gözlənilən ${e.origin??"dəyər"} ${i}${e.maximum.toString()} ${s.unit??"element"}`:`Çox böyük: gözlənilən ${e.origin??"dəyər"} ${i}${e.maximum.toString()}`}case"too_small":{const i=e.inclusive?">=":">",s=t(e.origin);return s?`Çox kiçik: gözlənilən ${e.origin} ${i}${e.minimum.toString()} ${s.unit}`:`Çox kiçik: gözlənilən ${e.origin} ${i}${e.minimum.toString()}`}case"invalid_format":{const i=e;return i.format==="starts_with"?`Yanlış mətn: "${i.prefix}" ilə başlamalıdır`:i.format==="ends_with"?`Yanlış mətn: "${i.suffix}" ilə bitməlidir`:i.format==="includes"?`Yanlış mətn: "${i.includes}" daxil olmalıdır`:i.format==="regex"?`Yanlış mətn: ${i.pattern} şablonuna uyğun olmalıdır`:`Yanlış ${o[i.format]??e.format}`}case"not_multiple_of":return`Yanlış ədəd: ${e.divisor} ilə bölünə bilən olmalıdır`;case"unrecognized_keys":return`Tanınmayan açar${e.keys.length>1?"lar":""}: ${y(e.keys,", ")}`;case"invalid_key":return`${e.origin} daxilində yanlış açar`;case"invalid_union":return"Yanlış dəyər";case"invalid_element":return`${e.origin} daxilində yanlış dəyər`;default:return"Yanlış dəyər"}}};function Ap(){return{localeError:jp()}}function No(r,t,n,o){const e=Math.abs(r),i=e%10,s=e%100;return s>=11&&s<=19?o:i===1?t:i>=2&&i<=4?n:o}const Up=()=>{const r={string:{unit:{one:"сімвал",few:"сімвалы",many:"сімвалаў"},verb:"мець"},array:{unit:{one:"элемент",few:"элементы",many:"элементаў"},verb:"мець"},set:{unit:{one:"элемент",few:"элементы",many:"элементаў"},verb:"мець"},file:{unit:{one:"байт",few:"байты",many:"байтаў"},verb:"мець"}};function t(e){return r[e]??null}const n=e=>{const i=typeof e;switch(i){case"number":return Number.isNaN(e)?"NaN":"лік";case"object":{if(Array.isArray(e))return"масіў";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return i},o={regex:"увод",email:"email адрас",url:"URL",emoji:"эмодзі",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO дата і час",date:"ISO дата",time:"ISO час",duration:"ISO працягласць",ipv4:"IPv4 адрас",ipv6:"IPv6 адрас",cidrv4:"IPv4 дыяпазон",cidrv6:"IPv6 дыяпазон",base64:"радок у фармаце base64",base64url:"радок у фармаце base64url",json_string:"JSON радок",e164:"нумар E.164",jwt:"JWT",template_literal:"увод"};return e=>{switch(e.code){case"invalid_type":return`Няправільны ўвод: чакаўся ${e.expected}, атрымана ${n(e.input)}`;case"invalid_value":return e.values.length===1?`Няправільны ўвод: чакалася ${O(e.values[0])}`:`Няправільны варыянт: чакаўся адзін з ${y(e.values,"|")}`;case"too_big":{const i=e.inclusive?"<=":"<",s=t(e.origin);if(s){const a=Number(e.maximum),u=No(a,s.unit.one,s.unit.few,s.unit.many);return`Занадта вялікі: чакалася, што ${e.origin??"значэнне"} павінна ${s.verb} ${i}${e.maximum.toString()} ${u}`}return`Занадта вялікі: чакалася, што ${e.origin??"значэнне"} павінна быць ${i}${e.maximum.toString()}`}case"too_small":{const i=e.inclusive?">=":">",s=t(e.origin);if(s){const a=Number(e.minimum),u=No(a,s.unit.one,s.unit.few,s.unit.many);return`Занадта малы: чакалася, што ${e.origin} павінна ${s.verb} ${i}${e.minimum.toString()} ${u}`}return`Занадта малы: чакалася, што ${e.origin} павінна быць ${i}${e.minimum.toString()}`}case"invalid_format":{const i=e;return i.format==="starts_with"?`Няправільны радок: павінен пачынацца з "${i.prefix}"`:i.format==="ends_with"?`Няправільны радок: павінен заканчвацца на "${i.suffix}"`:i.format==="includes"?`Няправільны радок: павінен змяшчаць "${i.includes}"`:i.format==="regex"?`Няправільны радок: павінен адпавядаць шаблону ${i.pattern}`:`Няправільны ${o[i.format]??e.format}`}case"not_multiple_of":return`Няправільны лік: павінен быць кратным ${e.divisor}`;case"unrecognized_keys":return`Нераспазнаны ${e.keys.length>1?"ключы":"ключ"}: ${y(e.keys,", ")}`;case"invalid_key":return`Няправільны ключ у ${e.origin}`;case"invalid_union":return"Няправільны ўвод";case"invalid_element":return`Няправільнае значэнне ў ${e.origin}`;default:return"Няправільны ўвод"}}};function Pp(){return{localeError:Up()}}const Dp=r=>{const t=typeof r;switch(t){case"number":return Number.isNaN(r)?"NaN":"число";case"object":{if(Array.isArray(r))return"масив";if(r===null)return"null";if(Object.getPrototypeOf(r)!==Object.prototype&&r.constructor)return r.constructor.name}}return t},Rp=()=>{const r={string:{unit:"символа",verb:"да съдържа"},file:{unit:"байта",verb:"да съдържа"},array:{unit:"елемента",verb:"да съдържа"},set:{unit:"елемента",verb:"да съдържа"}};function t(o){return r[o]??null}const n={regex:"вход",email:"имейл адрес",url:"URL",emoji:"емоджи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO време",date:"ISO дата",time:"ISO време",duration:"ISO продължителност",ipv4:"IPv4 адрес",ipv6:"IPv6 адрес",cidrv4:"IPv4 диапазон",cidrv6:"IPv6 диапазон",base64:"base64-кодиран низ",base64url:"base64url-кодиран низ",json_string:"JSON низ",e164:"E.164 номер",jwt:"JWT",template_literal:"вход"};return o=>{switch(o.code){case"invalid_type":return`Невалиден вход: очакван ${o.expected}, получен ${Dp(o.input)}`;case"invalid_value":return o.values.length===1?`Невалиден вход: очакван ${O(o.values[0])}`:`Невалидна опция: очаквано едно от ${y(o.values,"|")}`;case"too_big":{const e=o.inclusive?"<=":"<",i=t(o.origin);return i?`Твърде голямо: очаква се ${o.origin??"стойност"} да съдържа ${e}${o.maximum.toString()} ${i.unit??"елемента"}`:`Твърде голямо: очаква се ${o.origin??"стойност"} да бъде ${e}${o.maximum.toString()}`}case"too_small":{const e=o.inclusive?">=":">",i=t(o.origin);return i?`Твърде малко: очаква се ${o.origin} да съдържа ${e}${o.minimum.toString()} ${i.unit}`:`Твърде малко: очаква се ${o.origin} да бъде ${e}${o.minimum.toString()}`}case"invalid_format":{const e=o;if(e.format==="starts_with")return`Невалиден низ: трябва да започва с "${e.prefix}"`;if(e.format==="ends_with")return`Невалиден низ: трябва да завършва с "${e.suffix}"`;if(e.format==="includes")return`Невалиден низ: трябва да включва "${e.includes}"`;if(e.format==="regex")return`Невалиден низ: трябва да съвпада с ${e.pattern}`;let i="Невалиден";return e.format==="emoji"&&(i="Невалидно"),e.format==="datetime"&&(i="Невалидно"),e.format==="date"&&(i="Невалидна"),e.format==="time"&&(i="Невалидно"),e.format==="duration"&&(i="Невалидна"),`${i} ${n[e.format]??o.format}`}case"not_multiple_of":return`Невалидно число: трябва да бъде кратно на ${o.divisor}`;case"unrecognized_keys":return`Неразпознат${o.keys.length>1?"и":""} ключ${o.keys.length>1?"ове":""}: ${y(o.keys,", ")}`;case"invalid_key":return`Невалиден ключ в ${o.origin}`;case"invalid_union":return"Невалиден вход";case"invalid_element":return`Невалидна стойност в ${o.origin}`;default:return"Невалиден вход"}}};function Cp(){return{localeError:Rp()}}const Lp=()=>{const r={string:{unit:"caràcters",verb:"contenir"},file:{unit:"bytes",verb:"contenir"},array:{unit:"elements",verb:"contenir"},set:{unit:"elements",verb:"contenir"}};function t(e){return r[e]??null}const n=e=>{const i=typeof e;switch(i){case"number":return Number.isNaN(e)?"NaN":"number";case"object":{if(Array.isArray(e))return"array";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return i},o={regex:"entrada",email:"adreça electrònica",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i hora ISO",date:"data ISO",time:"hora ISO",duration:"durada ISO",ipv4:"adreça IPv4",ipv6:"adreça IPv6",cidrv4:"rang IPv4",cidrv6:"rang IPv6",base64:"cadena codificada en base64",base64url:"cadena codificada en base64url",json_string:"cadena JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"};return e=>{switch(e.code){case"invalid_type":return`Tipus invàlid: s'esperava ${e.expected}, s'ha rebut ${n(e.input)}`;case"invalid_value":return e.values.length===1?`Valor invàlid: s'esperava ${O(e.values[0])}`:`Opció invàlida: s'esperava una de ${y(e.values," o ")}`;case"too_big":{const i=e.inclusive?"com a màxim":"menys de",s=t(e.origin);return s?`Massa gran: s'esperava que ${e.origin??"el valor"} contingués ${i} ${e.maximum.toString()} ${s.unit??"elements"}`:`Massa gran: s'esperava que ${e.origin??"el valor"} fos ${i} ${e.maximum.toString()}`}case"too_small":{const i=e.inclusive?"com a mínim":"més de",s=t(e.origin);return s?`Massa petit: s'esperava que ${e.origin} contingués ${i} ${e.minimum.toString()} ${s.unit}`:`Massa petit: s'esperava que ${e.origin} fos ${i} ${e.minimum.toString()}`}case"invalid_format":{const i=e;return i.format==="starts_with"?`Format invàlid: ha de començar amb "${i.prefix}"`:i.format==="ends_with"?`Format invàlid: ha d'acabar amb "${i.suffix}"`:i.format==="includes"?`Format invàlid: ha d'incloure "${i.includes}"`:i.format==="regex"?`Format invàlid: ha de coincidir amb el patró ${i.pattern}`:`Format invàlid per a ${o[i.format]??e.format}`}case"not_multiple_of":return`Número invàlid: ha de ser múltiple de ${e.divisor}`;case"unrecognized_keys":return`Clau${e.keys.length>1?"s":""} no reconeguda${e.keys.length>1?"s":""}: ${y(e.keys,", ")}`;case"invalid_key":return`Clau invàlida a ${e.origin}`;case"invalid_union":return"Entrada invàlida";case"invalid_element":return`Element invàlid a ${e.origin}`;default:return"Entrada invàlida"}}};function Fp(){return{localeError:Lp()}}const Zp=()=>{const r={string:{unit:"znaků",verb:"mít"},file:{unit:"bajtů",verb:"mít"},array:{unit:"prvků",verb:"mít"},set:{unit:"prvků",verb:"mít"}};function t(e){return r[e]??null}const n=e=>{const i=typeof e;switch(i){case"number":return Number.isNaN(e)?"NaN":"číslo";case"string":return"řetězec";case"boolean":return"boolean";case"bigint":return"bigint";case"function":return"funkce";case"symbol":return"symbol";case"undefined":return"undefined";case"object":{if(Array.isArray(e))return"pole";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return i},o={regex:"regulární výraz",email:"e-mailová adresa",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"datum a čas ve formátu ISO",date:"datum ve formátu ISO",time:"čas ve formátu ISO",duration:"doba trvání ISO",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"rozsah IPv4",cidrv6:"rozsah IPv6",base64:"řetězec zakódovaný ve formátu base64",base64url:"řetězec zakódovaný ve formátu base64url",json_string:"řetězec ve formátu JSON",e164:"číslo E.164",jwt:"JWT",template_literal:"vstup"};return e=>{switch(e.code){case"invalid_type":return`Neplatný vstup: očekáváno ${e.expected}, obdrženo ${n(e.input)}`;case"invalid_value":return e.values.length===1?`Neplatný vstup: očekáváno ${O(e.values[0])}`:`Neplatná možnost: očekávána jedna z hodnot ${y(e.values,"|")}`;case"too_big":{const i=e.inclusive?"<=":"<",s=t(e.origin);return s?`Hodnota je příliš velká: ${e.origin??"hodnota"} musí mít ${i}${e.maximum.toString()} ${s.unit??"prvků"}`:`Hodnota je příliš velká: ${e.origin??"hodnota"} musí být ${i}${e.maximum.toString()}`}case"too_small":{const i=e.inclusive?">=":">",s=t(e.origin);return s?`Hodnota je příliš malá: ${e.origin??"hodnota"} musí mít ${i}${e.minimum.toString()} ${s.unit??"prvků"}`:`Hodnota je příliš malá: ${e.origin??"hodnota"} musí být ${i}${e.minimum.toString()}`}case"invalid_format":{const i=e;return i.format==="starts_with"?`Neplatný řetězec: musí začínat na "${i.prefix}"`:i.format==="ends_with"?`Neplatný řetězec: musí končit na "${i.suffix}"`:i.format==="includes"?`Neplatný řetězec: musí obsahovat "${i.includes}"`:i.format==="regex"?`Neplatný řetězec: musí odpovídat vzoru ${i.pattern}`:`Neplatný formát ${o[i.format]??e.format}`}case"not_multiple_of":return`Neplatné číslo: musí být násobkem ${e.divisor}`;case"unrecognized_keys":return`Neznámé klíče: ${y(e.keys,", ")}`;case"invalid_key":return`Neplatný klíč v ${e.origin}`;case"invalid_union":return"Neplatný vstup";case"invalid_element":return`Neplatná hodnota v ${e.origin}`;default:return"Neplatný vstup"}}};function Mp(){return{localeError:Zp()}}const qp=()=>{const r={string:{unit:"tegn",verb:"havde"},file:{unit:"bytes",verb:"havde"},array:{unit:"elementer",verb:"indeholdt"},set:{unit:"elementer",verb:"indeholdt"}},t={string:"streng",number:"tal",boolean:"boolean",array:"liste",object:"objekt",set:"sæt",file:"fil"};function n(s){return r[s]??null}function o(s){return t[s]??s}const e=s=>{const a=typeof s;switch(a){case"number":return Number.isNaN(s)?"NaN":"tal";case"object":return Array.isArray(s)?"liste":s===null?"null":Object.getPrototypeOf(s)!==Object.prototype&&s.constructor?s.constructor.name:"objekt"}return a},i={regex:"input",email:"e-mailadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkeslæt",date:"ISO-dato",time:"ISO-klokkeslæt",duration:"ISO-varighed",ipv4:"IPv4-område",ipv6:"IPv6-område",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodet streng",base64url:"base64url-kodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"};return s=>{switch(s.code){case"invalid_type":return`Ugyldigt input: forventede ${o(s.expected)}, fik ${o(e(s.input))}`;case"invalid_value":return s.values.length===1?`Ugyldig værdi: forventede ${O(s.values[0])}`:`Ugyldigt valg: forventede en af følgende ${y(s.values,"|")}`;case"too_big":{const a=s.inclusive?"<=":"<",u=n(s.origin),c=o(s.origin);return u?`For stor: forventede ${c??"value"} ${u.verb} ${a} ${s.maximum.toString()} ${u.unit??"elementer"}`:`For stor: forventede ${c??"value"} havde ${a} ${s.maximum.toString()}`}case"too_small":{const a=s.inclusive?">=":">",u=n(s.origin),c=o(s.origin);return u?`For lille: forventede ${c} ${u.verb} ${a} ${s.minimum.toString()} ${u.unit}`:`For lille: forventede ${c} havde ${a} ${s.minimum.toString()}`}case"invalid_format":{const a=s;return a.format==="starts_with"?`Ugyldig streng: skal starte med "${a.prefix}"`:a.format==="ends_with"?`Ugyldig streng: skal ende med "${a.suffix}"`:a.format==="includes"?`Ugyldig streng: skal indeholde "${a.includes}"`:a.format==="regex"?`Ugyldig streng: skal matche mønsteret ${a.pattern}`:`Ugyldig ${i[a.format]??s.format}`}case"not_multiple_of":return`Ugyldigt tal: skal være deleligt med ${s.divisor}`;case"unrecognized_keys":return`${s.keys.length>1?"Ukendte nøgler":"Ukendt nøgle"}: ${y(s.keys,", ")}`;case"invalid_key":return`Ugyldig nøgle i ${s.origin}`;case"invalid_union":return"Ugyldigt input: matcher ingen af de tilladte typer";case"invalid_element":return`Ugyldig værdi i ${s.origin}`;default:return"Ugyldigt input"}}};function Bp(){return{localeError:qp()}}const Jp=()=>{const r={string:{unit:"Zeichen",verb:"zu haben"},file:{unit:"Bytes",verb:"zu haben"},array:{unit:"Elemente",verb:"zu haben"},set:{unit:"Elemente",verb:"zu haben"}};function t(e){return r[e]??null}const n=e=>{const i=typeof e;switch(i){case"number":return Number.isNaN(e)?"NaN":"Zahl";case"object":{if(Array.isArray(e))return"Array";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return i},o={regex:"Eingabe",email:"E-Mail-Adresse",url:"URL",emoji:"Emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-Datum und -Uhrzeit",date:"ISO-Datum",time:"ISO-Uhrzeit",duration:"ISO-Dauer",ipv4:"IPv4-Adresse",ipv6:"IPv6-Adresse",cidrv4:"IPv4-Bereich",cidrv6:"IPv6-Bereich",base64:"Base64-codierter String",base64url:"Base64-URL-codierter String",json_string:"JSON-String",e164:"E.164-Nummer",jwt:"JWT",template_literal:"Eingabe"};return e=>{switch(e.code){case"invalid_type":return`Ungültige Eingabe: erwartet ${e.expected}, erhalten ${n(e.input)}`;case"invalid_value":return e.values.length===1?`Ungültige Eingabe: erwartet ${O(e.values[0])}`:`Ungültige Option: erwartet eine von ${y(e.values,"|")}`;case"too_big":{const i=e.inclusive?"<=":"<",s=t(e.origin);return s?`Zu groß: erwartet, dass ${e.origin??"Wert"} ${i}${e.maximum.toString()} ${s.unit??"Elemente"} hat`:`Zu groß: erwartet, dass ${e.origin??"Wert"} ${i}${e.maximum.toString()} ist`}case"too_small":{const i=e.inclusive?">=":">",s=t(e.origin);return s?`Zu klein: erwartet, dass ${e.origin} ${i}${e.minimum.toString()} ${s.unit} hat`:`Zu klein: erwartet, dass ${e.origin} ${i}${e.minimum.toString()} ist`}case"invalid_format":{const i=e;return i.format==="starts_with"?`Ungültiger String: muss mit "${i.prefix}" beginnen`:i.format==="ends_with"?`Ungültiger String: muss mit "${i.suffix}" enden`:i.format==="includes"?`Ungültiger String: muss "${i.includes}" enthalten`:i.format==="regex"?`Ungültiger String: muss dem Muster ${i.pattern} entsprechen`:`Ungültig: ${o[i.format]??e.format}`}case"not_multiple_of":return`Ungültige Zahl: muss ein Vielfaches von ${e.divisor} sein`;case"unrecognized_keys":return`${e.keys.length>1?"Unbekannte Schlüssel":"Unbekannter Schlüssel"}: ${y(e.keys,", ")}`;case"invalid_key":return`Ungültiger Schlüssel in ${e.origin}`;case"invalid_union":return"Ungültige Eingabe";case"invalid_element":return`Ungültiger Wert in ${e.origin}`;default:return"Ungültige Eingabe"}}};function Gp(){return{localeError:Jp()}}const Vp=r=>{const t=typeof r;switch(t){case"number":return Number.isNaN(r)?"NaN":"number";case"object":{if(Array.isArray(r))return"array";if(r===null)return"null";if(Object.getPrototypeOf(r)!==Object.prototype&&r.constructor)return r.constructor.name}}return t},Hp=()=>{const r={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"}};function t(o){return r[o]??null}const n={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return o=>{switch(o.code){case"invalid_type":return`Invalid input: expected ${o.expected}, received ${Vp(o.input)}`;case"invalid_value":return o.values.length===1?`Invalid input: expected ${O(o.values[0])}`:`Invalid option: expected one of ${y(o.values,"|")}`;case"too_big":{const e=o.inclusive?"<=":"<",i=t(o.origin);return i?`Too big: expected ${o.origin??"value"} to have ${e}${o.maximum.toString()} ${i.unit??"elements"}`:`Too big: expected ${o.origin??"value"} to be ${e}${o.maximum.toString()}`}case"too_small":{const e=o.inclusive?">=":">",i=t(o.origin);return i?`Too small: expected ${o.origin} to have ${e}${o.minimum.toString()} ${i.unit}`:`Too small: expected ${o.origin} to be ${e}${o.minimum.toString()}`}case"invalid_format":{const e=o;return e.format==="starts_with"?`Invalid string: must start with "${e.prefix}"`:e.format==="ends_with"?`Invalid string: must end with "${e.suffix}"`:e.format==="includes"?`Invalid string: must include "${e.includes}"`:e.format==="regex"?`Invalid string: must match pattern ${e.pattern}`:`Invalid ${n[e.format]??o.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${o.divisor}`;case"unrecognized_keys":return`Unrecognized key${o.keys.length>1?"s":""}: ${y(o.keys,", ")}`;case"invalid_key":return`Invalid key in ${o.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${o.origin}`;default:return"Invalid input"}}};function Ta(){return{localeError:Hp()}}const Wp=r=>{const t=typeof r;switch(t){case"number":return Number.isNaN(r)?"NaN":"nombro";case"object":{if(Array.isArray(r))return"tabelo";if(r===null)return"senvalora";if(Object.getPrototypeOf(r)!==Object.prototype&&r.constructor)return r.constructor.name}}return t},Kp=()=>{const r={string:{unit:"karaktrojn",verb:"havi"},file:{unit:"bajtojn",verb:"havi"},array:{unit:"elementojn",verb:"havi"},set:{unit:"elementojn",verb:"havi"}};function t(o){return r[o]??null}const n={regex:"enigo",email:"retadreso",url:"URL",emoji:"emoĝio",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datotempo",date:"ISO-dato",time:"ISO-tempo",duration:"ISO-daŭro",ipv4:"IPv4-adreso",ipv6:"IPv6-adreso",cidrv4:"IPv4-rango",cidrv6:"IPv6-rango",base64:"64-ume kodita karaktraro",base64url:"URL-64-ume kodita karaktraro",json_string:"JSON-karaktraro",e164:"E.164-nombro",jwt:"JWT",template_literal:"enigo"};return o=>{switch(o.code){case"invalid_type":return`Nevalida enigo: atendiĝis ${o.expected}, riceviĝis ${Wp(o.input)}`;case"invalid_value":return o.values.length===1?`Nevalida enigo: atendiĝis ${O(o.values[0])}`:`Nevalida opcio: atendiĝis unu el ${y(o.values,"|")}`;case"too_big":{const e=o.inclusive?"<=":"<",i=t(o.origin);return i?`Tro granda: atendiĝis ke ${o.origin??"valoro"} havu ${e}${o.maximum.toString()} ${i.unit??"elementojn"}`:`Tro granda: atendiĝis ke ${o.origin??"valoro"} havu ${e}${o.maximum.toString()}`}case"too_small":{const e=o.inclusive?">=":">",i=t(o.origin);return i?`Tro malgranda: atendiĝis ke ${o.origin} havu ${e}${o.minimum.toString()} ${i.unit}`:`Tro malgranda: atendiĝis ke ${o.origin} estu ${e}${o.minimum.toString()}`}case"invalid_format":{const e=o;return e.format==="starts_with"?`Nevalida karaktraro: devas komenciĝi per "${e.prefix}"`:e.format==="ends_with"?`Nevalida karaktraro: devas finiĝi per "${e.suffix}"`:e.format==="includes"?`Nevalida karaktraro: devas inkluzivi "${e.includes}"`:e.format==="regex"?`Nevalida karaktraro: devas kongrui kun la modelo ${e.pattern}`:`Nevalida ${n[e.format]??o.format}`}case"not_multiple_of":return`Nevalida nombro: devas esti oblo de ${o.divisor}`;case"unrecognized_keys":return`Nekonata${o.keys.length>1?"j":""} ŝlosilo${o.keys.length>1?"j":""}: ${y(o.keys,", ")}`;case"invalid_key":return`Nevalida ŝlosilo en ${o.origin}`;case"invalid_union":return"Nevalida enigo";case"invalid_element":return`Nevalida valoro en ${o.origin}`;default:return"Nevalida enigo"}}};function Yp(){return{localeError:Kp()}}const Xp=()=>{const r={string:{unit:"caracteres",verb:"tener"},file:{unit:"bytes",verb:"tener"},array:{unit:"elementos",verb:"tener"},set:{unit:"elementos",verb:"tener"}},t={string:"texto",number:"número",boolean:"booleano",array:"arreglo",object:"objeto",set:"conjunto",file:"archivo",date:"fecha",bigint:"número grande",symbol:"símbolo",undefined:"indefinido",null:"nulo",function:"función",map:"mapa",record:"registro",tuple:"tupla",enum:"enumeración",union:"unión",literal:"literal",promise:"promesa",void:"vacío",never:"nunca",unknown:"desconocido",any:"cualquiera"};function n(s){return r[s]??null}function o(s){return t[s]??s}const e=s=>{const a=typeof s;switch(a){case"number":return Number.isNaN(s)?"NaN":"number";case"object":return Array.isArray(s)?"array":s===null?"null":Object.getPrototypeOf(s)!==Object.prototype?s.constructor.name:"object"}return a},i={regex:"entrada",email:"dirección de correo electrónico",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"fecha y hora ISO",date:"fecha ISO",time:"hora ISO",duration:"duración ISO",ipv4:"dirección IPv4",ipv6:"dirección IPv6",cidrv4:"rango IPv4",cidrv6:"rango IPv6",base64:"cadena codificada en base64",base64url:"URL codificada en base64",json_string:"cadena JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"};return s=>{switch(s.code){case"invalid_type":return`Entrada inválida: se esperaba ${o(s.expected)}, recibido ${o(e(s.input))}`;case"invalid_value":return s.values.length===1?`Entrada inválida: se esperaba ${O(s.values[0])}`:`Opción inválida: se esperaba una de ${y(s.values,"|")}`;case"too_big":{const a=s.inclusive?"<=":"<",u=n(s.origin),c=o(s.origin);return u?`Demasiado grande: se esperaba que ${c??"valor"} tuviera ${a}${s.maximum.toString()} ${u.unit??"elementos"}`:`Demasiado grande: se esperaba que ${c??"valor"} fuera ${a}${s.maximum.toString()}`}case"too_small":{const a=s.inclusive?">=":">",u=n(s.origin),c=o(s.origin);return u?`Demasiado pequeño: se esperaba que ${c} tuviera ${a}${s.minimum.toString()} ${u.unit}`:`Demasiado pequeño: se esperaba que ${c} fuera ${a}${s.minimum.toString()}`}case"invalid_format":{const a=s;return a.format==="starts_with"?`Cadena inválida: debe comenzar con "${a.prefix}"`:a.format==="ends_with"?`Cadena inválida: debe terminar en "${a.suffix}"`:a.format==="includes"?`Cadena inválida: debe incluir "${a.includes}"`:a.format==="regex"?`Cadena inválida: debe coincidir con el patrón ${a.pattern}`:`Inválido ${i[a.format]??s.format}`}case"not_multiple_of":return`Número inválido: debe ser múltiplo de ${s.divisor}`;case"unrecognized_keys":return`Llave${s.keys.length>1?"s":""} desconocida${s.keys.length>1?"s":""}: ${y(s.keys,", ")}`;case"invalid_key":return`Llave inválida en ${o(s.origin)}`;case"invalid_union":return"Entrada inválida";case"invalid_element":return`Valor inválido en ${o(s.origin)}`;default:return"Entrada inválida"}}};function Qp(){return{localeError:Xp()}}const el=()=>{const r={string:{unit:"کاراکتر",verb:"داشته باشد"},file:{unit:"بایت",verb:"داشته باشد"},array:{unit:"آیتم",verb:"داشته باشد"},set:{unit:"آیتم",verb:"داشته باشد"}};function t(e){return r[e]??null}const n=e=>{const i=typeof e;switch(i){case"number":return Number.isNaN(e)?"NaN":"عدد";case"object":{if(Array.isArray(e))return"آرایه";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return i},o={regex:"ورودی",email:"آدرس ایمیل",url:"URL",emoji:"ایموجی",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"تاریخ و زمان ایزو",date:"تاریخ ایزو",time:"زمان ایزو",duration:"مدت زمان ایزو",ipv4:"IPv4 آدرس",ipv6:"IPv6 آدرس",cidrv4:"IPv4 دامنه",cidrv6:"IPv6 دامنه",base64:"base64-encoded رشته",base64url:"base64url-encoded رشته",json_string:"JSON رشته",e164:"E.164 عدد",jwt:"JWT",template_literal:"ورودی"};return e=>{switch(e.code){case"invalid_type":return`ورودی نامعتبر: می‌بایست ${e.expected} می‌بود، ${n(e.input)} دریافت شد`;case"invalid_value":return e.values.length===1?`ورودی نامعتبر: می‌بایست ${O(e.values[0])} می‌بود`:`گزینه نامعتبر: می‌بایست یکی از ${y(e.values,"|")} می‌بود`;case"too_big":{const i=e.inclusive?"<=":"<",s=t(e.origin);return s?`خیلی بزرگ: ${e.origin??"مقدار"} باید ${i}${e.maximum.toString()} ${s.unit??"عنصر"} باشد`:`خیلی بزرگ: ${e.origin??"مقدار"} باید ${i}${e.maximum.toString()} باشد`}case"too_small":{const i=e.inclusive?">=":">",s=t(e.origin);return s?`خیلی کوچک: ${e.origin} باید ${i}${e.minimum.toString()} ${s.unit} باشد`:`خیلی کوچک: ${e.origin} باید ${i}${e.minimum.toString()} باشد`}case"invalid_format":{const i=e;return i.format==="starts_with"?`رشته نامعتبر: باید با "${i.prefix}" شروع شود`:i.format==="ends_with"?`رشته نامعتبر: باید با "${i.suffix}" تمام شود`:i.format==="includes"?`رشته نامعتبر: باید شامل "${i.includes}" باشد`:i.format==="regex"?`رشته نامعتبر: باید با الگوی ${i.pattern} مطابقت داشته باشد`:`${o[i.format]??e.format} نامعتبر`}case"not_multiple_of":return`عدد نامعتبر: باید مضرب ${e.divisor} باشد`;case"unrecognized_keys":return`کلید${e.keys.length>1?"های":""} ناشناس: ${y(e.keys,", ")}`;case"invalid_key":return`کلید ناشناس در ${e.origin}`;case"invalid_union":return"ورودی نامعتبر";case"invalid_element":return`مقدار نامعتبر در ${e.origin}`;default:return"ورودی نامعتبر"}}};function tl(){return{localeError:el()}}const rl=()=>{const r={string:{unit:"merkkiä",subject:"merkkijonon"},file:{unit:"tavua",subject:"tiedoston"},array:{unit:"alkiota",subject:"listan"},set:{unit:"alkiota",subject:"joukon"},number:{unit:"",subject:"luvun"},bigint:{unit:"",subject:"suuren kokonaisluvun"},int:{unit:"",subject:"kokonaisluvun"},date:{unit:"",subject:"päivämäärän"}};function t(e){return r[e]??null}const n=e=>{const i=typeof e;switch(i){case"number":return Number.isNaN(e)?"NaN":"number";case"object":{if(Array.isArray(e))return"array";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return i},o={regex:"säännöllinen lauseke",email:"sähköpostiosoite",url:"URL-osoite",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-aikaleima",date:"ISO-päivämäärä",time:"ISO-aika",duration:"ISO-kesto",ipv4:"IPv4-osoite",ipv6:"IPv6-osoite",cidrv4:"IPv4-alue",cidrv6:"IPv6-alue",base64:"base64-koodattu merkkijono",base64url:"base64url-koodattu merkkijono",json_string:"JSON-merkkijono",e164:"E.164-luku",jwt:"JWT",template_literal:"templaattimerkkijono"};return e=>{switch(e.code){case"invalid_type":return`Virheellinen tyyppi: odotettiin ${e.expected}, oli ${n(e.input)}`;case"invalid_value":return e.values.length===1?`Virheellinen syöte: täytyy olla ${O(e.values[0])}`:`Virheellinen valinta: täytyy olla yksi seuraavista: ${y(e.values,"|")}`;case"too_big":{const i=e.inclusive?"<=":"<",s=t(e.origin);return s?`Liian suuri: ${s.subject} täytyy olla ${i}${e.maximum.toString()} ${s.unit}`.trim():`Liian suuri: arvon täytyy olla ${i}${e.maximum.toString()}`}case"too_small":{const i=e.inclusive?">=":">",s=t(e.origin);return s?`Liian pieni: ${s.subject} täytyy olla ${i}${e.minimum.toString()} ${s.unit}`.trim():`Liian pieni: arvon täytyy olla ${i}${e.minimum.toString()}`}case"invalid_format":{const i=e;return i.format==="starts_with"?`Virheellinen syöte: täytyy alkaa "${i.prefix}"`:i.format==="ends_with"?`Virheellinen syöte: täytyy loppua "${i.suffix}"`:i.format==="includes"?`Virheellinen syöte: täytyy sisältää "${i.includes}"`:i.format==="regex"?`Virheellinen syöte: täytyy vastata säännöllistä lauseketta ${i.pattern}`:`Virheellinen ${o[i.format]??e.format}`}case"not_multiple_of":return`Virheellinen luku: täytyy olla luvun ${e.divisor} monikerta`;case"unrecognized_keys":return`${e.keys.length>1?"Tuntemattomat avaimet":"Tuntematon avain"}: ${y(e.keys,", ")}`;case"invalid_key":return"Virheellinen avain tietueessa";case"invalid_union":return"Virheellinen unioni";case"invalid_element":return"Virheellinen arvo joukossa";default:return"Virheellinen syöte"}}};function nl(){return{localeError:rl()}}const ol=()=>{const r={string:{unit:"caractères",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"éléments",verb:"avoir"},set:{unit:"éléments",verb:"avoir"}};function t(e){return r[e]??null}const n=e=>{const i=typeof e;switch(i){case"number":return Number.isNaN(e)?"NaN":"nombre";case"object":{if(Array.isArray(e))return"tableau";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return i},o={regex:"entrée",email:"adresse e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date et heure ISO",date:"date ISO",time:"heure ISO",duration:"durée ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"chaîne encodée en base64",base64url:"chaîne encodée en base64url",json_string:"chaîne JSON",e164:"numéro E.164",jwt:"JWT",template_literal:"entrée"};return e=>{switch(e.code){case"invalid_type":return`Entrée invalide : ${e.expected} attendu, ${n(e.input)} reçu`;case"invalid_value":return e.values.length===1?`Entrée invalide : ${O(e.values[0])} attendu`:`Option invalide : une valeur parmi ${y(e.values,"|")} attendue`;case"too_big":{const i=e.inclusive?"<=":"<",s=t(e.origin);return s?`Trop grand : ${e.origin??"valeur"} doit ${s.verb} ${i}${e.maximum.toString()} ${s.unit??"élément(s)"}`:`Trop grand : ${e.origin??"valeur"} doit être ${i}${e.maximum.toString()}`}case"too_small":{const i=e.inclusive?">=":">",s=t(e.origin);return s?`Trop petit : ${e.origin} doit ${s.verb} ${i}${e.minimum.toString()} ${s.unit}`:`Trop petit : ${e.origin} doit être ${i}${e.minimum.toString()}`}case"invalid_format":{const i=e;return i.format==="starts_with"?`Chaîne invalide : doit commencer par "${i.prefix}"`:i.format==="ends_with"?`Chaîne invalide : doit se terminer par "${i.suffix}"`:i.format==="includes"?`Chaîne invalide : doit inclure "${i.includes}"`:i.format==="regex"?`Chaîne invalide : doit correspondre au modèle ${i.pattern}`:`${o[i.format]??e.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit être un multiple de ${e.divisor}`;case"unrecognized_keys":return`Clé${e.keys.length>1?"s":""} non reconnue${e.keys.length>1?"s":""} : ${y(e.keys,", ")}`;case"invalid_key":return`Clé invalide dans ${e.origin}`;case"invalid_union":return"Entrée invalide";case"invalid_element":return`Valeur invalide dans ${e.origin}`;default:return"Entrée invalide"}}};function il(){return{localeError:ol()}}const sl=()=>{const r={string:{unit:"caractères",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"éléments",verb:"avoir"},set:{unit:"éléments",verb:"avoir"}};function t(e){return r[e]??null}const n=e=>{const i=typeof e;switch(i){case"number":return Number.isNaN(e)?"NaN":"number";case"object":{if(Array.isArray(e))return"array";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return i},o={regex:"entrée",email:"adresse courriel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date-heure ISO",date:"date ISO",time:"heure ISO",duration:"durée ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"chaîne encodée en base64",base64url:"chaîne encodée en base64url",json_string:"chaîne JSON",e164:"numéro E.164",jwt:"JWT",template_literal:"entrée"};return e=>{switch(e.code){case"invalid_type":return`Entrée invalide : attendu ${e.expected}, reçu ${n(e.input)}`;case"invalid_value":return e.values.length===1?`Entrée invalide : attendu ${O(e.values[0])}`:`Option invalide : attendu l'une des valeurs suivantes ${y(e.values,"|")}`;case"too_big":{const i=e.inclusive?"≤":"<",s=t(e.origin);return s?`Trop grand : attendu que ${e.origin??"la valeur"} ait ${i}${e.maximum.toString()} ${s.unit}`:`Trop grand : attendu que ${e.origin??"la valeur"} soit ${i}${e.maximum.toString()}`}case"too_small":{const i=e.inclusive?"≥":">",s=t(e.origin);return s?`Trop petit : attendu que ${e.origin} ait ${i}${e.minimum.toString()} ${s.unit}`:`Trop petit : attendu que ${e.origin} soit ${i}${e.minimum.toString()}`}case"invalid_format":{const i=e;return i.format==="starts_with"?`Chaîne invalide : doit commencer par "${i.prefix}"`:i.format==="ends_with"?`Chaîne invalide : doit se terminer par "${i.suffix}"`:i.format==="includes"?`Chaîne invalide : doit inclure "${i.includes}"`:i.format==="regex"?`Chaîne invalide : doit correspondre au motif ${i.pattern}`:`${o[i.format]??e.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit être un multiple de ${e.divisor}`;case"unrecognized_keys":return`Clé${e.keys.length>1?"s":""} non reconnue${e.keys.length>1?"s":""} : ${y(e.keys,", ")}`;case"invalid_key":return`Clé invalide dans ${e.origin}`;case"invalid_union":return"Entrée invalide";case"invalid_element":return`Valeur invalide dans ${e.origin}`;default:return"Entrée invalide"}}};function al(){return{localeError:sl()}}const ul=()=>{const r={string:{unit:"אותיות",verb:"לכלול"},file:{unit:"בייטים",verb:"לכלול"},array:{unit:"פריטים",verb:"לכלול"},set:{unit:"פריטים",verb:"לכלול"}};function t(e){return r[e]??null}const n=e=>{const i=typeof e;switch(i){case"number":return Number.isNaN(e)?"NaN":"number";case"object":{if(Array.isArray(e))return"array";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return i},o={regex:"קלט",email:"כתובת אימייל",url:"כתובת רשת",emoji:"אימוג'י",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"תאריך וזמן ISO",date:"תאריך ISO",time:"זמן ISO",duration:"משך זמן ISO",ipv4:"כתובת IPv4",ipv6:"כתובת IPv6",cidrv4:"טווח IPv4",cidrv6:"טווח IPv6",base64:"מחרוזת בבסיס 64",base64url:"מחרוזת בבסיס 64 לכתובות רשת",json_string:"מחרוזת JSON",e164:"מספר E.164",jwt:"JWT",template_literal:"קלט"};return e=>{switch(e.code){case"invalid_type":return`קלט לא תקין: צריך ${e.expected}, התקבל ${n(e.input)}`;case"invalid_value":return e.values.length===1?`קלט לא תקין: צריך ${O(e.values[0])}`:`קלט לא תקין: צריך אחת מהאפשרויות ${y(e.values,"|")}`;case"too_big":{const i=e.inclusive?"<=":"<",s=t(e.origin);return s?`גדול מדי: ${e.origin??"value"} צריך להיות ${i}${e.maximum.toString()} ${s.unit??"elements"}`:`גדול מדי: ${e.origin??"value"} צריך להיות ${i}${e.maximum.toString()}`}case"too_small":{const i=e.inclusive?">=":">",s=t(e.origin);return s?`קטן מדי: ${e.origin} צריך להיות ${i}${e.minimum.toString()} ${s.unit}`:`קטן מדי: ${e.origin} צריך להיות ${i}${e.minimum.toString()}`}case"invalid_format":{const i=e;return i.format==="starts_with"?`מחרוזת לא תקינה: חייבת להתחיל ב"${i.prefix}"`:i.format==="ends_with"?`מחרוזת לא תקינה: חייבת להסתיים ב "${i.suffix}"`:i.format==="includes"?`מחרוזת לא תקינה: חייבת לכלול "${i.includes}"`:i.format==="regex"?`מחרוזת לא תקינה: חייבת להתאים לתבנית ${i.pattern}`:`${o[i.format]??e.format} לא תקין`}case"not_multiple_of":return`מספר לא תקין: חייב להיות מכפלה של ${e.divisor}`;case"unrecognized_keys":return`מפתח${e.keys.length>1?"ות":""} לא מזוה${e.keys.length>1?"ים":"ה"}: ${y(e.keys,", ")}`;case"invalid_key":return`מפתח לא תקין ב${e.origin}`;case"invalid_union":return"קלט לא תקין";case"invalid_element":return`ערך לא תקין ב${e.origin}`;default:return"קלט לא תקין"}}};function cl(){return{localeError:ul()}}const pl=()=>{const r={string:{unit:"karakter",verb:"legyen"},file:{unit:"byte",verb:"legyen"},array:{unit:"elem",verb:"legyen"},set:{unit:"elem",verb:"legyen"}};function t(e){return r[e]??null}const n=e=>{const i=typeof e;switch(i){case"number":return Number.isNaN(e)?"NaN":"szám";case"object":{if(Array.isArray(e))return"tömb";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return i},o={regex:"bemenet",email:"email cím",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO időbélyeg",date:"ISO dátum",time:"ISO idő",duration:"ISO időintervallum",ipv4:"IPv4 cím",ipv6:"IPv6 cím",cidrv4:"IPv4 tartomány",cidrv6:"IPv6 tartomány",base64:"base64-kódolt string",base64url:"base64url-kódolt string",json_string:"JSON string",e164:"E.164 szám",jwt:"JWT",template_literal:"bemenet"};return e=>{switch(e.code){case"invalid_type":return`Érvénytelen bemenet: a várt érték ${e.expected}, a kapott érték ${n(e.input)}`;case"invalid_value":return e.values.length===1?`Érvénytelen bemenet: a várt érték ${O(e.values[0])}`:`Érvénytelen opció: valamelyik érték várt ${y(e.values,"|")}`;case"too_big":{const i=e.inclusive?"<=":"<",s=t(e.origin);return s?`Túl nagy: ${e.origin??"érték"} mérete túl nagy ${i}${e.maximum.toString()} ${s.unit??"elem"}`:`Túl nagy: a bemeneti érték ${e.origin??"érték"} túl nagy: ${i}${e.maximum.toString()}`}case"too_small":{const i=e.inclusive?">=":">",s=t(e.origin);return s?`Túl kicsi: a bemeneti érték ${e.origin} mérete túl kicsi ${i}${e.minimum.toString()} ${s.unit}`:`Túl kicsi: a bemeneti érték ${e.origin} túl kicsi ${i}${e.minimum.toString()}`}case"invalid_format":{const i=e;return i.format==="starts_with"?`Érvénytelen string: "${i.prefix}" értékkel kell kezdődnie`:i.format==="ends_with"?`Érvénytelen string: "${i.suffix}" értékkel kell végződnie`:i.format==="includes"?`Érvénytelen string: "${i.includes}" értéket kell tartalmaznia`:i.format==="regex"?`Érvénytelen string: ${i.pattern} mintának kell megfelelnie`:`Érvénytelen ${o[i.format]??e.format}`}case"not_multiple_of":return`Érvénytelen szám: ${e.divisor} többszörösének kell lennie`;case"unrecognized_keys":return`Ismeretlen kulcs${e.keys.length>1?"s":""}: ${y(e.keys,", ")}`;case"invalid_key":return`Érvénytelen kulcs ${e.origin}`;case"invalid_union":return"Érvénytelen bemenet";case"invalid_element":return`Érvénytelen érték: ${e.origin}`;default:return"Érvénytelen bemenet"}}};function ll(){return{localeError:pl()}}const _l=()=>{const r={string:{unit:"karakter",verb:"memiliki"},file:{unit:"byte",verb:"memiliki"},array:{unit:"item",verb:"memiliki"},set:{unit:"item",verb:"memiliki"}};function t(e){return r[e]??null}const n=e=>{const i=typeof e;switch(i){case"number":return Number.isNaN(e)?"NaN":"number";case"object":{if(Array.isArray(e))return"array";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return i},o={regex:"input",email:"alamat email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tanggal dan waktu format ISO",date:"tanggal format ISO",time:"jam format ISO",duration:"durasi format ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"rentang alamat IPv4",cidrv6:"rentang alamat IPv6",base64:"string dengan enkode base64",base64url:"string dengan enkode base64url",json_string:"string JSON",e164:"angka E.164",jwt:"JWT",template_literal:"input"};return e=>{switch(e.code){case"invalid_type":return`Input tidak valid: diharapkan ${e.expected}, diterima ${n(e.input)}`;case"invalid_value":return e.values.length===1?`Input tidak valid: diharapkan ${O(e.values[0])}`:`Pilihan tidak valid: diharapkan salah satu dari ${y(e.values,"|")}`;case"too_big":{const i=e.inclusive?"<=":"<",s=t(e.origin);return s?`Terlalu besar: diharapkan ${e.origin??"value"} memiliki ${i}${e.maximum.toString()} ${s.unit??"elemen"}`:`Terlalu besar: diharapkan ${e.origin??"value"} menjadi ${i}${e.maximum.toString()}`}case"too_small":{const i=e.inclusive?">=":">",s=t(e.origin);return s?`Terlalu kecil: diharapkan ${e.origin} memiliki ${i}${e.minimum.toString()} ${s.unit}`:`Terlalu kecil: diharapkan ${e.origin} menjadi ${i}${e.minimum.toString()}`}case"invalid_format":{const i=e;return i.format==="starts_with"?`String tidak valid: harus dimulai dengan "${i.prefix}"`:i.format==="ends_with"?`String tidak valid: harus berakhir dengan "${i.suffix}"`:i.format==="includes"?`String tidak valid: harus menyertakan "${i.includes}"`:i.format==="regex"?`String tidak valid: harus sesuai pola ${i.pattern}`:`${o[i.format]??e.format} tidak valid`}case"not_multiple_of":return`Angka tidak valid: harus kelipatan dari ${e.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali ${e.keys.length>1?"s":""}: ${y(e.keys,", ")}`;case"invalid_key":return`Kunci tidak valid di ${e.origin}`;case"invalid_union":return"Input tidak valid";case"invalid_element":return`Nilai tidak valid di ${e.origin}`;default:return"Input tidak valid"}}};function dl(){return{localeError:_l()}}const ml=r=>{const t=typeof r;switch(t){case"number":return Number.isNaN(r)?"NaN":"númer";case"object":{if(Array.isArray(r))return"fylki";if(r===null)return"null";if(Object.getPrototypeOf(r)!==Object.prototype&&r.constructor)return r.constructor.name}}return t},gl=()=>{const r={string:{unit:"stafi",verb:"að hafa"},file:{unit:"bæti",verb:"að hafa"},array:{unit:"hluti",verb:"að hafa"},set:{unit:"hluti",verb:"að hafa"}};function t(o){return r[o]??null}const n={regex:"gildi",email:"netfang",url:"vefslóð",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dagsetning og tími",date:"ISO dagsetning",time:"ISO tími",duration:"ISO tímalengd",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded strengur",base64url:"base64url-encoded strengur",json_string:"JSON strengur",e164:"E.164 tölugildi",jwt:"JWT",template_literal:"gildi"};return o=>{switch(o.code){case"invalid_type":return`Rangt gildi: Þú slóst inn ${ml(o.input)} þar sem á að vera ${o.expected}`;case"invalid_value":return o.values.length===1?`Rangt gildi: gert ráð fyrir ${O(o.values[0])}`:`Ógilt val: má vera eitt af eftirfarandi ${y(o.values,"|")}`;case"too_big":{const e=o.inclusive?"<=":"<",i=t(o.origin);return i?`Of stórt: gert er ráð fyrir að ${o.origin??"gildi"} hafi ${e}${o.maximum.toString()} ${i.unit??"hluti"}`:`Of stórt: gert er ráð fyrir að ${o.origin??"gildi"} sé ${e}${o.maximum.toString()}`}case"too_small":{const e=o.inclusive?">=":">",i=t(o.origin);return i?`Of lítið: gert er ráð fyrir að ${o.origin} hafi ${e}${o.minimum.toString()} ${i.unit}`:`Of lítið: gert er ráð fyrir að ${o.origin} sé ${e}${o.minimum.toString()}`}case"invalid_format":{const e=o;return e.format==="starts_with"?`Ógildur strengur: verður að byrja á "${e.prefix}"`:e.format==="ends_with"?`Ógildur strengur: verður að enda á "${e.suffix}"`:e.format==="includes"?`Ógildur strengur: verður að innihalda "${e.includes}"`:e.format==="regex"?`Ógildur strengur: verður að fylgja mynstri ${e.pattern}`:`Rangt ${n[e.format]??o.format}`}case"not_multiple_of":return`Röng tala: verður að vera margfeldi af ${o.divisor}`;case"unrecognized_keys":return`Óþekkt ${o.keys.length>1?"ir lyklar":"ur lykill"}: ${y(o.keys,", ")}`;case"invalid_key":return`Rangur lykill í ${o.origin}`;case"invalid_union":return"Rangt gildi";case"invalid_element":return`Rangt gildi í ${o.origin}`;default:return"Rangt gildi"}}};function hl(){return{localeError:gl()}}const fl=()=>{const r={string:{unit:"caratteri",verb:"avere"},file:{unit:"byte",verb:"avere"},array:{unit:"elementi",verb:"avere"},set:{unit:"elementi",verb:"avere"}};function t(e){return r[e]??null}const n=e=>{const i=typeof e;switch(i){case"number":return Number.isNaN(e)?"NaN":"numero";case"object":{if(Array.isArray(e))return"vettore";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return i},o={regex:"input",email:"indirizzo email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e ora ISO",date:"data ISO",time:"ora ISO",duration:"durata ISO",ipv4:"indirizzo IPv4",ipv6:"indirizzo IPv6",cidrv4:"intervallo IPv4",cidrv6:"intervallo IPv6",base64:"stringa codificata in base64",base64url:"URL codificata in base64",json_string:"stringa JSON",e164:"numero E.164",jwt:"JWT",template_literal:"input"};return e=>{switch(e.code){case"invalid_type":return`Input non valido: atteso ${e.expected}, ricevuto ${n(e.input)}`;case"invalid_value":return e.values.length===1?`Input non valido: atteso ${O(e.values[0])}`:`Opzione non valida: atteso uno tra ${y(e.values,"|")}`;case"too_big":{const i=e.inclusive?"<=":"<",s=t(e.origin);return s?`Troppo grande: ${e.origin??"valore"} deve avere ${i}${e.maximum.toString()} ${s.unit??"elementi"}`:`Troppo grande: ${e.origin??"valore"} deve essere ${i}${e.maximum.toString()}`}case"too_small":{const i=e.inclusive?">=":">",s=t(e.origin);return s?`Troppo piccolo: ${e.origin} deve avere ${i}${e.minimum.toString()} ${s.unit}`:`Troppo piccolo: ${e.origin} deve essere ${i}${e.minimum.toString()}`}case"invalid_format":{const i=e;return i.format==="starts_with"?`Stringa non valida: deve iniziare con "${i.prefix}"`:i.format==="ends_with"?`Stringa non valida: deve terminare con "${i.suffix}"`:i.format==="includes"?`Stringa non valida: deve includere "${i.includes}"`:i.format==="regex"?`Stringa non valida: deve corrispondere al pattern ${i.pattern}`:`Invalid ${o[i.format]??e.format}`}case"not_multiple_of":return`Numero non valido: deve essere un multiplo di ${e.divisor}`;case"unrecognized_keys":return`Chiav${e.keys.length>1?"i":"e"} non riconosciut${e.keys.length>1?"e":"a"}: ${y(e.keys,", ")}`;case"invalid_key":return`Chiave non valida in ${e.origin}`;case"invalid_union":return"Input non valido";case"invalid_element":return`Valore non valido in ${e.origin}`;default:return"Input non valido"}}};function vl(){return{localeError:fl()}}const kl=()=>{const r={string:{unit:"文字",verb:"である"},file:{unit:"バイト",verb:"である"},array:{unit:"要素",verb:"である"},set:{unit:"要素",verb:"である"}};function t(e){return r[e]??null}const n=e=>{const i=typeof e;switch(i){case"number":return Number.isNaN(e)?"NaN":"数値";case"object":{if(Array.isArray(e))return"配列";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return i},o={regex:"入力値",email:"メールアドレス",url:"URL",emoji:"絵文字",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO日時",date:"ISO日付",time:"ISO時刻",duration:"ISO期間",ipv4:"IPv4アドレス",ipv6:"IPv6アドレス",cidrv4:"IPv4範囲",cidrv6:"IPv6範囲",base64:"base64エンコード文字列",base64url:"base64urlエンコード文字列",json_string:"JSON文字列",e164:"E.164番号",jwt:"JWT",template_literal:"入力値"};return e=>{switch(e.code){case"invalid_type":return`無効な入力: ${e.expected}が期待されましたが、${n(e.input)}が入力されました`;case"invalid_value":return e.values.length===1?`無効な入力: ${O(e.values[0])}が期待されました`:`無効な選択: ${y(e.values,"、")}のいずれかである必要があります`;case"too_big":{const i=e.inclusive?"以下である":"より小さい",s=t(e.origin);return s?`大きすぎる値: ${e.origin??"値"}は${e.maximum.toString()}${s.unit??"要素"}${i}必要があります`:`大きすぎる値: ${e.origin??"値"}は${e.maximum.toString()}${i}必要があります`}case"too_small":{const i=e.inclusive?"以上である":"より大きい",s=t(e.origin);return s?`小さすぎる値: ${e.origin}は${e.minimum.toString()}${s.unit}${i}必要があります`:`小さすぎる値: ${e.origin}は${e.minimum.toString()}${i}必要があります`}case"invalid_format":{const i=e;return i.format==="starts_with"?`無効な文字列: "${i.prefix}"で始まる必要があります`:i.format==="ends_with"?`無効な文字列: "${i.suffix}"で終わる必要があります`:i.format==="includes"?`無効な文字列: "${i.includes}"を含む必要があります`:i.format==="regex"?`無効な文字列: パターン${i.pattern}に一致する必要があります`:`無効な${o[i.format]??e.format}`}case"not_multiple_of":return`無効な数値: ${e.divisor}の倍数である必要があります`;case"unrecognized_keys":return`認識されていないキー${e.keys.length>1?"群":""}: ${y(e.keys,"、")}`;case"invalid_key":return`${e.origin}内の無効なキー`;case"invalid_union":return"無効な入力";case"invalid_element":return`${e.origin}内の無効な値`;default:return"無効な入力"}}};function yl(){return{localeError:kl()}}const bl=r=>{const t=typeof r;switch(t){case"number":return Number.isNaN(r)?"NaN":"რიცხვი";case"object":{if(Array.isArray(r))return"მასივი";if(r===null)return"null";if(Object.getPrototypeOf(r)!==Object.prototype&&r.constructor)return r.constructor.name}}return{string:"სტრინგი",boolean:"ბულეანი",undefined:"undefined",bigint:"bigint",symbol:"symbol",function:"ფუნქცია"}[t]??t},xl=()=>{const r={string:{unit:"სიმბოლო",verb:"უნდა შეიცავდეს"},file:{unit:"ბაიტი",verb:"უნდა შეიცავდეს"},array:{unit:"ელემენტი",verb:"უნდა შეიცავდეს"},set:{unit:"ელემენტი",verb:"უნდა შეიცავდეს"}};function t(o){return r[o]??null}const n={regex:"შეყვანა",email:"ელ-ფოსტის მისამართი",url:"URL",emoji:"ემოჯი",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"თარიღი-დრო",date:"თარიღი",time:"დრო",duration:"ხანგრძლივობა",ipv4:"IPv4 მისამართი",ipv6:"IPv6 მისამართი",cidrv4:"IPv4 დიაპაზონი",cidrv6:"IPv6 დიაპაზონი",base64:"base64-კოდირებული სტრინგი",base64url:"base64url-კოდირებული სტრინგი",json_string:"JSON სტრინგი",e164:"E.164 ნომერი",jwt:"JWT",template_literal:"შეყვანა"};return o=>{switch(o.code){case"invalid_type":return`არასწორი შეყვანა: მოსალოდნელი ${o.expected}, მიღებული ${bl(o.input)}`;case"invalid_value":return o.values.length===1?`არასწორი შეყვანა: მოსალოდნელი ${O(o.values[0])}`:`არასწორი ვარიანტი: მოსალოდნელია ერთ-ერთი ${y(o.values,"|")}-დან`;case"too_big":{const e=o.inclusive?"<=":"<",i=t(o.origin);return i?`ზედმეტად დიდი: მოსალოდნელი ${o.origin??"მნიშვნელობა"} ${i.verb} ${e}${o.maximum.toString()} ${i.unit}`:`ზედმეტად დიდი: მოსალოდნელი ${o.origin??"მნიშვნელობა"} იყოს ${e}${o.maximum.toString()}`}case"too_small":{const e=o.inclusive?">=":">",i=t(o.origin);return i?`ზედმეტად პატარა: მოსალოდნელი ${o.origin} ${i.verb} ${e}${o.minimum.toString()} ${i.unit}`:`ზედმეტად პატარა: მოსალოდნელი ${o.origin} იყოს ${e}${o.minimum.toString()}`}case"invalid_format":{const e=o;return e.format==="starts_with"?`არასწორი სტრინგი: უნდა იწყებოდეს "${e.prefix}"-ით`:e.format==="ends_with"?`არასწორი სტრინგი: უნდა მთავრდებოდეს "${e.suffix}"-ით`:e.format==="includes"?`არასწორი სტრინგი: უნდა შეიცავდეს "${e.includes}"-ს`:e.format==="regex"?`არასწორი სტრინგი: უნდა შეესაბამებოდეს შაბლონს ${e.pattern}`:`არასწორი ${n[e.format]??o.format}`}case"not_multiple_of":return`არასწორი რიცხვი: უნდა იყოს ${o.divisor}-ის ჯერადი`;case"unrecognized_keys":return`უცნობი გასაღებ${o.keys.length>1?"ები":"ი"}: ${y(o.keys,", ")}`;case"invalid_key":return`არასწორი გასაღები ${o.origin}-ში`;case"invalid_union":return"არასწორი შეყვანა";case"invalid_element":return`არასწორი მნიშვნელობა ${o.origin}-ში`;default:return"არასწორი შეყვანა"}}};function $l(){return{localeError:xl()}}const wl=()=>{const r={string:{unit:"តួអក្សរ",verb:"គួរមាន"},file:{unit:"បៃ",verb:"គួរមាន"},array:{unit:"ធាតុ",verb:"គួរមាន"},set:{unit:"ធាតុ",verb:"គួរមាន"}};function t(e){return r[e]??null}const n=e=>{const i=typeof e;switch(i){case"number":return Number.isNaN(e)?"មិនមែនជាលេខ (NaN)":"លេខ";case"object":{if(Array.isArray(e))return"អារេ (Array)";if(e===null)return"គ្មានតម្លៃ (null)";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return i},o={regex:"ទិន្នន័យបញ្ចូល",email:"អាសយដ្ឋានអ៊ីមែល",url:"URL",emoji:"សញ្ញាអារម្មណ៍",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"កាលបរិច្ឆេទ និងម៉ោង ISO",date:"កាលបរិច្ឆេទ ISO",time:"ម៉ោង ISO",duration:"រយៈពេល ISO",ipv4:"អាសយដ្ឋាន IPv4",ipv6:"អាសយដ្ឋាន IPv6",cidrv4:"ដែនអាសយដ្ឋាន IPv4",cidrv6:"ដែនអាសយដ្ឋាន IPv6",base64:"ខ្សែអក្សរអ៊ិកូដ base64",base64url:"ខ្សែអក្សរអ៊ិកូដ base64url",json_string:"ខ្សែអក្សរ JSON",e164:"លេខ E.164",jwt:"JWT",template_literal:"ទិន្នន័យបញ្ចូល"};return e=>{switch(e.code){case"invalid_type":return`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${e.expected} ប៉ុន្តែទទួលបាន ${n(e.input)}`;case"invalid_value":return e.values.length===1?`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${O(e.values[0])}`:`ជម្រើសមិនត្រឹមត្រូវ៖ ត្រូវជាមួយក្នុងចំណោម ${y(e.values,"|")}`;case"too_big":{const i=e.inclusive?"<=":"<",s=t(e.origin);return s?`ធំពេក៖ ត្រូវការ ${e.origin??"តម្លៃ"} ${i} ${e.maximum.toString()} ${s.unit??"ធាតុ"}`:`ធំពេក៖ ត្រូវការ ${e.origin??"តម្លៃ"} ${i} ${e.maximum.toString()}`}case"too_small":{const i=e.inclusive?">=":">",s=t(e.origin);return s?`តូចពេក៖ ត្រូវការ ${e.origin} ${i} ${e.minimum.toString()} ${s.unit}`:`តូចពេក៖ ត្រូវការ ${e.origin} ${i} ${e.minimum.toString()}`}case"invalid_format":{const i=e;return i.format==="starts_with"?`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវចាប់ផ្តើមដោយ "${i.prefix}"`:i.format==="ends_with"?`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវបញ្ចប់ដោយ "${i.suffix}"`:i.format==="includes"?`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវមាន "${i.includes}"`:i.format==="regex"?`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវតែផ្គូផ្គងនឹងទម្រង់ដែលបានកំណត់ ${i.pattern}`:`មិនត្រឹមត្រូវ៖ ${o[i.format]??e.format}`}case"not_multiple_of":return`លេខមិនត្រឹមត្រូវ៖ ត្រូវតែជាពហុគុណនៃ ${e.divisor}`;case"unrecognized_keys":return`រកឃើញសោមិនស្គាល់៖ ${y(e.keys,", ")}`;case"invalid_key":return`សោមិនត្រឹមត្រូវនៅក្នុង ${e.origin}`;case"invalid_union":return"ទិន្នន័យមិនត្រឹមត្រូវ";case"invalid_element":return`ទិន្នន័យមិនត្រឹមត្រូវនៅក្នុង ${e.origin}`;default:return"ទិន្នន័យមិនត្រឹមត្រូវ"}}};function Ea(){return{localeError:wl()}}function Il(){return Ea()}const Sl=()=>{const r={string:{unit:"문자",verb:"to have"},file:{unit:"바이트",verb:"to have"},array:{unit:"개",verb:"to have"},set:{unit:"개",verb:"to have"}};function t(e){return r[e]??null}const n=e=>{const i=typeof e;switch(i){case"number":return Number.isNaN(e)?"NaN":"number";case"object":{if(Array.isArray(e))return"array";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return i},o={regex:"입력",email:"이메일 주소",url:"URL",emoji:"이모지",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO 날짜시간",date:"ISO 날짜",time:"ISO 시간",duration:"ISO 기간",ipv4:"IPv4 주소",ipv6:"IPv6 주소",cidrv4:"IPv4 범위",cidrv6:"IPv6 범위",base64:"base64 인코딩 문자열",base64url:"base64url 인코딩 문자열",json_string:"JSON 문자열",e164:"E.164 번호",jwt:"JWT",template_literal:"입력"};return e=>{switch(e.code){case"invalid_type":return`잘못된 입력: 예상 타입은 ${e.expected}, 받은 타입은 ${n(e.input)}입니다`;case"invalid_value":return e.values.length===1?`잘못된 입력: 값은 ${O(e.values[0])} 이어야 합니다`:`잘못된 옵션: ${y(e.values,"또는 ")} 중 하나여야 합니다`;case"too_big":{const i=e.inclusive?"이하":"미만",s=i==="미만"?"이어야 합니다":"여야 합니다",a=t(e.origin),u=a?.unit??"요소";return a?`${e.origin??"값"}이 너무 큽니다: ${e.maximum.toString()}${u} ${i}${s}`:`${e.origin??"값"}이 너무 큽니다: ${e.maximum.toString()} ${i}${s}`}case"too_small":{const i=e.inclusive?"이상":"초과",s=i==="이상"?"이어야 합니다":"여야 합니다",a=t(e.origin),u=a?.unit??"요소";return a?`${e.origin??"값"}이 너무 작습니다: ${e.minimum.toString()}${u} ${i}${s}`:`${e.origin??"값"}이 너무 작습니다: ${e.minimum.toString()} ${i}${s}`}case"invalid_format":{const i=e;return i.format==="starts_with"?`잘못된 문자열: "${i.prefix}"(으)로 시작해야 합니다`:i.format==="ends_with"?`잘못된 문자열: "${i.suffix}"(으)로 끝나야 합니다`:i.format==="includes"?`잘못된 문자열: "${i.includes}"을(를) 포함해야 합니다`:i.format==="regex"?`잘못된 문자열: 정규식 ${i.pattern} 패턴과 일치해야 합니다`:`잘못된 ${o[i.format]??e.format}`}case"not_multiple_of":return`잘못된 숫자: ${e.divisor}의 배수여야 합니다`;case"unrecognized_keys":return`인식할 수 없는 키: ${y(e.keys,", ")}`;case"invalid_key":return`잘못된 키: ${e.origin}`;case"invalid_union":return"잘못된 입력";case"invalid_element":return`잘못된 값: ${e.origin}`;default:return"잘못된 입력"}}};function zl(){return{localeError:Sl()}}const Ol=r=>pt(typeof r,r),pt=(r,t=void 0)=>{switch(r){case"number":return Number.isNaN(t)?"NaN":"skaičius";case"bigint":return"sveikasis skaičius";case"string":return"eilutė";case"boolean":return"loginė reikšmė";case"undefined":case"void":return"neapibrėžta reikšmė";case"function":return"funkcija";case"symbol":return"simbolis";case"object":return t===void 0?"nežinomas objektas":t===null?"nulinė reikšmė":Array.isArray(t)?"masyvas":Object.getPrototypeOf(t)!==Object.prototype&&t.constructor?t.constructor.name:"objektas";case"null":return"nulinė reikšmė"}return r},at=r=>r.charAt(0).toUpperCase()+r.slice(1);function jo(r){const t=Math.abs(r),n=t%10,o=t%100;return o>=11&&o<=19||n===0?"many":n===1?"one":"few"}const Tl=()=>{const r={string:{unit:{one:"simbolis",few:"simboliai",many:"simbolių"},verb:{smaller:{inclusive:"turi būti ne ilgesnė kaip",notInclusive:"turi būti trumpesnė kaip"},bigger:{inclusive:"turi būti ne trumpesnė kaip",notInclusive:"turi būti ilgesnė kaip"}}},file:{unit:{one:"baitas",few:"baitai",many:"baitų"},verb:{smaller:{inclusive:"turi būti ne didesnis kaip",notInclusive:"turi būti mažesnis kaip"},bigger:{inclusive:"turi būti ne mažesnis kaip",notInclusive:"turi būti didesnis kaip"}}},array:{unit:{one:"elementą",few:"elementus",many:"elementų"},verb:{smaller:{inclusive:"turi turėti ne daugiau kaip",notInclusive:"turi turėti mažiau kaip"},bigger:{inclusive:"turi turėti ne mažiau kaip",notInclusive:"turi turėti daugiau kaip"}}},set:{unit:{one:"elementą",few:"elementus",many:"elementų"},verb:{smaller:{inclusive:"turi turėti ne daugiau kaip",notInclusive:"turi turėti mažiau kaip"},bigger:{inclusive:"turi turėti ne mažiau kaip",notInclusive:"turi turėti daugiau kaip"}}}};function t(o,e,i,s){const a=r[o]??null;return a===null?a:{unit:a.unit[e],verb:a.verb[s][i?"inclusive":"notInclusive"]}}const n={regex:"įvestis",email:"el. pašto adresas",url:"URL",emoji:"jaustukas",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO data ir laikas",date:"ISO data",time:"ISO laikas",duration:"ISO trukmė",ipv4:"IPv4 adresas",ipv6:"IPv6 adresas",cidrv4:"IPv4 tinklo prefiksas (CIDR)",cidrv6:"IPv6 tinklo prefiksas (CIDR)",base64:"base64 užkoduota eilutė",base64url:"base64url užkoduota eilutė",json_string:"JSON eilutė",e164:"E.164 numeris",jwt:"JWT",template_literal:"įvestis"};return o=>{switch(o.code){case"invalid_type":return`Gautas tipas ${Ol(o.input)}, o tikėtasi - ${pt(o.expected)}`;case"invalid_value":return o.values.length===1?`Privalo būti ${O(o.values[0])}`:`Privalo būti vienas iš ${y(o.values,"|")} pasirinkimų`;case"too_big":{const e=pt(o.origin),i=t(o.origin,jo(Number(o.maximum)),o.inclusive??!1,"smaller");if(i?.verb)return`${at(e??o.origin??"reikšmė")} ${i.verb} ${o.maximum.toString()} ${i.unit??"elementų"}`;const s=o.inclusive?"ne didesnis kaip":"mažesnis kaip";return`${at(e??o.origin??"reikšmė")} turi būti ${s} ${o.maximum.toString()} ${i?.unit}`}case"too_small":{const e=pt(o.origin),i=t(o.origin,jo(Number(o.minimum)),o.inclusive??!1,"bigger");if(i?.verb)return`${at(e??o.origin??"reikšmė")} ${i.verb} ${o.minimum.toString()} ${i.unit??"elementų"}`;const s=o.inclusive?"ne mažesnis kaip":"didesnis kaip";return`${at(e??o.origin??"reikšmė")} turi būti ${s} ${o.minimum.toString()} ${i?.unit}`}case"invalid_format":{const e=o;return e.format==="starts_with"?`Eilutė privalo prasidėti "${e.prefix}"`:e.format==="ends_with"?`Eilutė privalo pasibaigti "${e.suffix}"`:e.format==="includes"?`Eilutė privalo įtraukti "${e.includes}"`:e.format==="regex"?`Eilutė privalo atitikti ${e.pattern}`:`Neteisingas ${n[e.format]??o.format}`}case"not_multiple_of":return`Skaičius privalo būti ${o.divisor} kartotinis.`;case"unrecognized_keys":return`Neatpažint${o.keys.length>1?"i":"as"} rakt${o.keys.length>1?"ai":"as"}: ${y(o.keys,", ")}`;case"invalid_key":return"Rastas klaidingas raktas";case"invalid_union":return"Klaidinga įvestis";case"invalid_element":{const e=pt(o.origin);return`${at(e??o.origin??"reikšmė")} turi klaidingą įvestį`}default:return"Klaidinga įvestis"}}};function El(){return{localeError:Tl()}}const Nl=()=>{const r={string:{unit:"знаци",verb:"да имаат"},file:{unit:"бајти",verb:"да имаат"},array:{unit:"ставки",verb:"да имаат"},set:{unit:"ставки",verb:"да имаат"}};function t(e){return r[e]??null}const n=e=>{const i=typeof e;switch(i){case"number":return Number.isNaN(e)?"NaN":"број";case"object":{if(Array.isArray(e))return"низа";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return i},o={regex:"внес",email:"адреса на е-пошта",url:"URL",emoji:"емоџи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO датум и време",date:"ISO датум",time:"ISO време",duration:"ISO времетраење",ipv4:"IPv4 адреса",ipv6:"IPv6 адреса",cidrv4:"IPv4 опсег",cidrv6:"IPv6 опсег",base64:"base64-енкодирана низа",base64url:"base64url-енкодирана низа",json_string:"JSON низа",e164:"E.164 број",jwt:"JWT",template_literal:"внес"};return e=>{switch(e.code){case"invalid_type":return`Грешен внес: се очекува ${e.expected}, примено ${n(e.input)}`;case"invalid_value":return e.values.length===1?`Invalid input: expected ${O(e.values[0])}`:`Грешана опција: се очекува една ${y(e.values,"|")}`;case"too_big":{const i=e.inclusive?"<=":"<",s=t(e.origin);return s?`Премногу голем: се очекува ${e.origin??"вредноста"} да има ${i}${e.maximum.toString()} ${s.unit??"елементи"}`:`Премногу голем: се очекува ${e.origin??"вредноста"} да биде ${i}${e.maximum.toString()}`}case"too_small":{const i=e.inclusive?">=":">",s=t(e.origin);return s?`Премногу мал: се очекува ${e.origin} да има ${i}${e.minimum.toString()} ${s.unit}`:`Премногу мал: се очекува ${e.origin} да биде ${i}${e.minimum.toString()}`}case"invalid_format":{const i=e;return i.format==="starts_with"?`Неважечка низа: мора да започнува со "${i.prefix}"`:i.format==="ends_with"?`Неважечка низа: мора да завршува со "${i.suffix}"`:i.format==="includes"?`Неважечка низа: мора да вклучува "${i.includes}"`:i.format==="regex"?`Неважечка низа: мора да одгоара на патернот ${i.pattern}`:`Invalid ${o[i.format]??e.format}`}case"not_multiple_of":return`Грешен број: мора да биде делив со ${e.divisor}`;case"unrecognized_keys":return`${e.keys.length>1?"Непрепознаени клучеви":"Непрепознаен клуч"}: ${y(e.keys,", ")}`;case"invalid_key":return`Грешен клуч во ${e.origin}`;case"invalid_union":return"Грешен внес";case"invalid_element":return`Грешна вредност во ${e.origin}`;default:return"Грешен внес"}}};function jl(){return{localeError:Nl()}}const Al=()=>{const r={string:{unit:"aksara",verb:"mempunyai"},file:{unit:"bait",verb:"mempunyai"},array:{unit:"elemen",verb:"mempunyai"},set:{unit:"elemen",verb:"mempunyai"}};function t(e){return r[e]??null}const n=e=>{const i=typeof e;switch(i){case"number":return Number.isNaN(e)?"NaN":"nombor";case"object":{if(Array.isArray(e))return"array";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return i},o={regex:"input",email:"alamat e-mel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tarikh masa ISO",date:"tarikh ISO",time:"masa ISO",duration:"tempoh ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"julat IPv4",cidrv6:"julat IPv6",base64:"string dikodkan base64",base64url:"string dikodkan base64url",json_string:"string JSON",e164:"nombor E.164",jwt:"JWT",template_literal:"input"};return e=>{switch(e.code){case"invalid_type":return`Input tidak sah: dijangka ${e.expected}, diterima ${n(e.input)}`;case"invalid_value":return e.values.length===1?`Input tidak sah: dijangka ${O(e.values[0])}`:`Pilihan tidak sah: dijangka salah satu daripada ${y(e.values,"|")}`;case"too_big":{const i=e.inclusive?"<=":"<",s=t(e.origin);return s?`Terlalu besar: dijangka ${e.origin??"nilai"} ${s.verb} ${i}${e.maximum.toString()} ${s.unit??"elemen"}`:`Terlalu besar: dijangka ${e.origin??"nilai"} adalah ${i}${e.maximum.toString()}`}case"too_small":{const i=e.inclusive?">=":">",s=t(e.origin);return s?`Terlalu kecil: dijangka ${e.origin} ${s.verb} ${i}${e.minimum.toString()} ${s.unit}`:`Terlalu kecil: dijangka ${e.origin} adalah ${i}${e.minimum.toString()}`}case"invalid_format":{const i=e;return i.format==="starts_with"?`String tidak sah: mesti bermula dengan "${i.prefix}"`:i.format==="ends_with"?`String tidak sah: mesti berakhir dengan "${i.suffix}"`:i.format==="includes"?`String tidak sah: mesti mengandungi "${i.includes}"`:i.format==="regex"?`String tidak sah: mesti sepadan dengan corak ${i.pattern}`:`${o[i.format]??e.format} tidak sah`}case"not_multiple_of":return`Nombor tidak sah: perlu gandaan ${e.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali: ${y(e.keys,", ")}`;case"invalid_key":return`Kunci tidak sah dalam ${e.origin}`;case"invalid_union":return"Input tidak sah";case"invalid_element":return`Nilai tidak sah dalam ${e.origin}`;default:return"Input tidak sah"}}};function Ul(){return{localeError:Al()}}const Pl=()=>{const r={string:{unit:"tekens"},file:{unit:"bytes"},array:{unit:"elementen"},set:{unit:"elementen"}};function t(e){return r[e]??null}const n=e=>{const i=typeof e;switch(i){case"number":return Number.isNaN(e)?"NaN":"getal";case"object":{if(Array.isArray(e))return"array";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return i},o={regex:"invoer",email:"emailadres",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum en tijd",date:"ISO datum",time:"ISO tijd",duration:"ISO duur",ipv4:"IPv4-adres",ipv6:"IPv6-adres",cidrv4:"IPv4-bereik",cidrv6:"IPv6-bereik",base64:"base64-gecodeerde tekst",base64url:"base64 URL-gecodeerde tekst",json_string:"JSON string",e164:"E.164-nummer",jwt:"JWT",template_literal:"invoer"};return e=>{switch(e.code){case"invalid_type":return`Ongeldige invoer: verwacht ${e.expected}, ontving ${n(e.input)}`;case"invalid_value":return e.values.length===1?`Ongeldige invoer: verwacht ${O(e.values[0])}`:`Ongeldige optie: verwacht één van ${y(e.values,"|")}`;case"too_big":{const i=e.inclusive?"<=":"<",s=t(e.origin);return s?`Te lang: verwacht dat ${e.origin??"waarde"} ${i}${e.maximum.toString()} ${s.unit??"elementen"} bevat`:`Te lang: verwacht dat ${e.origin??"waarde"} ${i}${e.maximum.toString()} is`}case"too_small":{const i=e.inclusive?">=":">",s=t(e.origin);return s?`Te kort: verwacht dat ${e.origin} ${i}${e.minimum.toString()} ${s.unit} bevat`:`Te kort: verwacht dat ${e.origin} ${i}${e.minimum.toString()} is`}case"invalid_format":{const i=e;return i.format==="starts_with"?`Ongeldige tekst: moet met "${i.prefix}" beginnen`:i.format==="ends_with"?`Ongeldige tekst: moet op "${i.suffix}" eindigen`:i.format==="includes"?`Ongeldige tekst: moet "${i.includes}" bevatten`:i.format==="regex"?`Ongeldige tekst: moet overeenkomen met patroon ${i.pattern}`:`Ongeldig: ${o[i.format]??e.format}`}case"not_multiple_of":return`Ongeldig getal: moet een veelvoud van ${e.divisor} zijn`;case"unrecognized_keys":return`Onbekende key${e.keys.length>1?"s":""}: ${y(e.keys,", ")}`;case"invalid_key":return`Ongeldige key in ${e.origin}`;case"invalid_union":return"Ongeldige invoer";case"invalid_element":return`Ongeldige waarde in ${e.origin}`;default:return"Ongeldige invoer"}}};function Dl(){return{localeError:Pl()}}const Rl=()=>{const r={string:{unit:"tegn",verb:"å ha"},file:{unit:"bytes",verb:"å ha"},array:{unit:"elementer",verb:"å inneholde"},set:{unit:"elementer",verb:"å inneholde"}};function t(e){return r[e]??null}const n=e=>{const i=typeof e;switch(i){case"number":return Number.isNaN(e)?"NaN":"tall";case"object":{if(Array.isArray(e))return"liste";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return i},o={regex:"input",email:"e-postadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkeslett",date:"ISO-dato",time:"ISO-klokkeslett",duration:"ISO-varighet",ipv4:"IPv4-område",ipv6:"IPv6-område",cidrv4:"IPv4-spekter",cidrv6:"IPv6-spekter",base64:"base64-enkodet streng",base64url:"base64url-enkodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"};return e=>{switch(e.code){case"invalid_type":return`Ugyldig input: forventet ${e.expected}, fikk ${n(e.input)}`;case"invalid_value":return e.values.length===1?`Ugyldig verdi: forventet ${O(e.values[0])}`:`Ugyldig valg: forventet en av ${y(e.values,"|")}`;case"too_big":{const i=e.inclusive?"<=":"<",s=t(e.origin);return s?`For stor(t): forventet ${e.origin??"value"} til å ha ${i}${e.maximum.toString()} ${s.unit??"elementer"}`:`For stor(t): forventet ${e.origin??"value"} til å ha ${i}${e.maximum.toString()}`}case"too_small":{const i=e.inclusive?">=":">",s=t(e.origin);return s?`For lite(n): forventet ${e.origin} til å ha ${i}${e.minimum.toString()} ${s.unit}`:`For lite(n): forventet ${e.origin} til å ha ${i}${e.minimum.toString()}`}case"invalid_format":{const i=e;return i.format==="starts_with"?`Ugyldig streng: må starte med "${i.prefix}"`:i.format==="ends_with"?`Ugyldig streng: må ende med "${i.suffix}"`:i.format==="includes"?`Ugyldig streng: må inneholde "${i.includes}"`:i.format==="regex"?`Ugyldig streng: må matche mønsteret ${i.pattern}`:`Ugyldig ${o[i.format]??e.format}`}case"not_multiple_of":return`Ugyldig tall: må være et multiplum av ${e.divisor}`;case"unrecognized_keys":return`${e.keys.length>1?"Ukjente nøkler":"Ukjent nøkkel"}: ${y(e.keys,", ")}`;case"invalid_key":return`Ugyldig nøkkel i ${e.origin}`;case"invalid_union":return"Ugyldig input";case"invalid_element":return`Ugyldig verdi i ${e.origin}`;default:return"Ugyldig input"}}};function Cl(){return{localeError:Rl()}}const Ll=()=>{const r={string:{unit:"harf",verb:"olmalıdır"},file:{unit:"bayt",verb:"olmalıdır"},array:{unit:"unsur",verb:"olmalıdır"},set:{unit:"unsur",verb:"olmalıdır"}};function t(e){return r[e]??null}const n=e=>{const i=typeof e;switch(i){case"number":return Number.isNaN(e)?"NaN":"numara";case"object":{if(Array.isArray(e))return"saf";if(e===null)return"gayb";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return i},o={regex:"giren",email:"epostagâh",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO hengâmı",date:"ISO tarihi",time:"ISO zamanı",duration:"ISO müddeti",ipv4:"IPv4 nişânı",ipv6:"IPv6 nişânı",cidrv4:"IPv4 menzili",cidrv6:"IPv6 menzili",base64:"base64-şifreli metin",base64url:"base64url-şifreli metin",json_string:"JSON metin",e164:"E.164 sayısı",jwt:"JWT",template_literal:"giren"};return e=>{switch(e.code){case"invalid_type":return`Fâsit giren: umulan ${e.expected}, alınan ${n(e.input)}`;case"invalid_value":return e.values.length===1?`Fâsit giren: umulan ${O(e.values[0])}`:`Fâsit tercih: mûteberler ${y(e.values,"|")}`;case"too_big":{const i=e.inclusive?"<=":"<",s=t(e.origin);return s?`Fazla büyük: ${e.origin??"value"}, ${i}${e.maximum.toString()} ${s.unit??"elements"} sahip olmalıydı.`:`Fazla büyük: ${e.origin??"value"}, ${i}${e.maximum.toString()} olmalıydı.`}case"too_small":{const i=e.inclusive?">=":">",s=t(e.origin);return s?`Fazla küçük: ${e.origin}, ${i}${e.minimum.toString()} ${s.unit} sahip olmalıydı.`:`Fazla küçük: ${e.origin}, ${i}${e.minimum.toString()} olmalıydı.`}case"invalid_format":{const i=e;return i.format==="starts_with"?`Fâsit metin: "${i.prefix}" ile başlamalı.`:i.format==="ends_with"?`Fâsit metin: "${i.suffix}" ile bitmeli.`:i.format==="includes"?`Fâsit metin: "${i.includes}" ihtivâ etmeli.`:i.format==="regex"?`Fâsit metin: ${i.pattern} nakşına uymalı.`:`Fâsit ${o[i.format]??e.format}`}case"not_multiple_of":return`Fâsit sayı: ${e.divisor} katı olmalıydı.`;case"unrecognized_keys":return`Tanınmayan anahtar ${e.keys.length>1?"s":""}: ${y(e.keys,", ")}`;case"invalid_key":return`${e.origin} için tanınmayan anahtar var.`;case"invalid_union":return"Giren tanınamadı.";case"invalid_element":return`${e.origin} için tanınmayan kıymet var.`;default:return"Kıymet tanınamadı."}}};function Fl(){return{localeError:Ll()}}const Zl=()=>{const r={string:{unit:"توکي",verb:"ولري"},file:{unit:"بایټس",verb:"ولري"},array:{unit:"توکي",verb:"ولري"},set:{unit:"توکي",verb:"ولري"}};function t(e){return r[e]??null}const n=e=>{const i=typeof e;switch(i){case"number":return Number.isNaN(e)?"NaN":"عدد";case"object":{if(Array.isArray(e))return"ارې";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return i},o={regex:"ورودي",email:"بریښنالیک",url:"یو آر ال",emoji:"ایموجي",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"نیټه او وخت",date:"نېټه",time:"وخت",duration:"موده",ipv4:"د IPv4 پته",ipv6:"د IPv6 پته",cidrv4:"د IPv4 ساحه",cidrv6:"د IPv6 ساحه",base64:"base64-encoded متن",base64url:"base64url-encoded متن",json_string:"JSON متن",e164:"د E.164 شمېره",jwt:"JWT",template_literal:"ورودي"};return e=>{switch(e.code){case"invalid_type":return`ناسم ورودي: باید ${e.expected} وای, مګر ${n(e.input)} ترلاسه شو`;case"invalid_value":return e.values.length===1?`ناسم ورودي: باید ${O(e.values[0])} وای`:`ناسم انتخاب: باید یو له ${y(e.values,"|")} څخه وای`;case"too_big":{const i=e.inclusive?"<=":"<",s=t(e.origin);return s?`ډیر لوی: ${e.origin??"ارزښت"} باید ${i}${e.maximum.toString()} ${s.unit??"عنصرونه"} ولري`:`ډیر لوی: ${e.origin??"ارزښت"} باید ${i}${e.maximum.toString()} وي`}case"too_small":{const i=e.inclusive?">=":">",s=t(e.origin);return s?`ډیر کوچنی: ${e.origin} باید ${i}${e.minimum.toString()} ${s.unit} ولري`:`ډیر کوچنی: ${e.origin} باید ${i}${e.minimum.toString()} وي`}case"invalid_format":{const i=e;return i.format==="starts_with"?`ناسم متن: باید د "${i.prefix}" سره پیل شي`:i.format==="ends_with"?`ناسم متن: باید د "${i.suffix}" سره پای ته ورسيږي`:i.format==="includes"?`ناسم متن: باید "${i.includes}" ولري`:i.format==="regex"?`ناسم متن: باید د ${i.pattern} سره مطابقت ولري`:`${o[i.format]??e.format} ناسم دی`}case"not_multiple_of":return`ناسم عدد: باید د ${e.divisor} مضرب وي`;case"unrecognized_keys":return`ناسم ${e.keys.length>1?"کلیډونه":"کلیډ"}: ${y(e.keys,", ")}`;case"invalid_key":return`ناسم کلیډ په ${e.origin} کې`;case"invalid_union":return"ناسمه ورودي";case"invalid_element":return`ناسم عنصر په ${e.origin} کې`;default:return"ناسمه ورودي"}}};function Ml(){return{localeError:Zl()}}const ql=()=>{const r={string:{unit:"znaków",verb:"mieć"},file:{unit:"bajtów",verb:"mieć"},array:{unit:"elementów",verb:"mieć"},set:{unit:"elementów",verb:"mieć"}};function t(e){return r[e]??null}const n=e=>{const i=typeof e;switch(i){case"number":return Number.isNaN(e)?"NaN":"liczba";case"object":{if(Array.isArray(e))return"tablica";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return i},o={regex:"wyrażenie",email:"adres email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i godzina w formacie ISO",date:"data w formacie ISO",time:"godzina w formacie ISO",duration:"czas trwania ISO",ipv4:"adres IPv4",ipv6:"adres IPv6",cidrv4:"zakres IPv4",cidrv6:"zakres IPv6",base64:"ciąg znaków zakodowany w formacie base64",base64url:"ciąg znaków zakodowany w formacie base64url",json_string:"ciąg znaków w formacie JSON",e164:"liczba E.164",jwt:"JWT",template_literal:"wejście"};return e=>{switch(e.code){case"invalid_type":return`Nieprawidłowe dane wejściowe: oczekiwano ${e.expected}, otrzymano ${n(e.input)}`;case"invalid_value":return e.values.length===1?`Nieprawidłowe dane wejściowe: oczekiwano ${O(e.values[0])}`:`Nieprawidłowa opcja: oczekiwano jednej z wartości ${y(e.values,"|")}`;case"too_big":{const i=e.inclusive?"<=":"<",s=t(e.origin);return s?`Za duża wartość: oczekiwano, że ${e.origin??"wartość"} będzie mieć ${i}${e.maximum.toString()} ${s.unit??"elementów"}`:`Zbyt duż(y/a/e): oczekiwano, że ${e.origin??"wartość"} będzie wynosić ${i}${e.maximum.toString()}`}case"too_small":{const i=e.inclusive?">=":">",s=t(e.origin);return s?`Za mała wartość: oczekiwano, że ${e.origin??"wartość"} będzie mieć ${i}${e.minimum.toString()} ${s.unit??"elementów"}`:`Zbyt mał(y/a/e): oczekiwano, że ${e.origin??"wartość"} będzie wynosić ${i}${e.minimum.toString()}`}case"invalid_format":{const i=e;return i.format==="starts_with"?`Nieprawidłowy ciąg znaków: musi zaczynać się od "${i.prefix}"`:i.format==="ends_with"?`Nieprawidłowy ciąg znaków: musi kończyć się na "${i.suffix}"`:i.format==="includes"?`Nieprawidłowy ciąg znaków: musi zawierać "${i.includes}"`:i.format==="regex"?`Nieprawidłowy ciąg znaków: musi odpowiadać wzorcowi ${i.pattern}`:`Nieprawidłow(y/a/e) ${o[i.format]??e.format}`}case"not_multiple_of":return`Nieprawidłowa liczba: musi być wielokrotnością ${e.divisor}`;case"unrecognized_keys":return`Nierozpoznane klucze${e.keys.length>1?"s":""}: ${y(e.keys,", ")}`;case"invalid_key":return`Nieprawidłowy klucz w ${e.origin}`;case"invalid_union":return"Nieprawidłowe dane wejściowe";case"invalid_element":return`Nieprawidłowa wartość w ${e.origin}`;default:return"Nieprawidłowe dane wejściowe"}}};function Bl(){return{localeError:ql()}}const Jl=()=>{const r={string:{unit:"caracteres",verb:"ter"},file:{unit:"bytes",verb:"ter"},array:{unit:"itens",verb:"ter"},set:{unit:"itens",verb:"ter"}};function t(e){return r[e]??null}const n=e=>{const i=typeof e;switch(i){case"number":return Number.isNaN(e)?"NaN":"número";case"object":{if(Array.isArray(e))return"array";if(e===null)return"nulo";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return i},o={regex:"padrão",email:"endereço de e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e hora ISO",date:"data ISO",time:"hora ISO",duration:"duração ISO",ipv4:"endereço IPv4",ipv6:"endereço IPv6",cidrv4:"faixa de IPv4",cidrv6:"faixa de IPv6",base64:"texto codificado em base64",base64url:"URL codificada em base64",json_string:"texto JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"};return e=>{switch(e.code){case"invalid_type":return`Tipo inválido: esperado ${e.expected}, recebido ${n(e.input)}`;case"invalid_value":return e.values.length===1?`Entrada inválida: esperado ${O(e.values[0])}`:`Opção inválida: esperada uma das ${y(e.values,"|")}`;case"too_big":{const i=e.inclusive?"<=":"<",s=t(e.origin);return s?`Muito grande: esperado que ${e.origin??"valor"} tivesse ${i}${e.maximum.toString()} ${s.unit??"elementos"}`:`Muito grande: esperado que ${e.origin??"valor"} fosse ${i}${e.maximum.toString()}`}case"too_small":{const i=e.inclusive?">=":">",s=t(e.origin);return s?`Muito pequeno: esperado que ${e.origin} tivesse ${i}${e.minimum.toString()} ${s.unit}`:`Muito pequeno: esperado que ${e.origin} fosse ${i}${e.minimum.toString()}`}case"invalid_format":{const i=e;return i.format==="starts_with"?`Texto inválido: deve começar com "${i.prefix}"`:i.format==="ends_with"?`Texto inválido: deve terminar com "${i.suffix}"`:i.format==="includes"?`Texto inválido: deve incluir "${i.includes}"`:i.format==="regex"?`Texto inválido: deve corresponder ao padrão ${i.pattern}`:`${o[i.format]??e.format} inválido`}case"not_multiple_of":return`Número inválido: deve ser múltiplo de ${e.divisor}`;case"unrecognized_keys":return`Chave${e.keys.length>1?"s":""} desconhecida${e.keys.length>1?"s":""}: ${y(e.keys,", ")}`;case"invalid_key":return`Chave inválida em ${e.origin}`;case"invalid_union":return"Entrada inválida";case"invalid_element":return`Valor inválido em ${e.origin}`;default:return"Campo inválido"}}};function Gl(){return{localeError:Jl()}}function Ao(r,t,n,o){const e=Math.abs(r),i=e%10,s=e%100;return s>=11&&s<=19?o:i===1?t:i>=2&&i<=4?n:o}const Vl=()=>{const r={string:{unit:{one:"символ",few:"символа",many:"символов"},verb:"иметь"},file:{unit:{one:"байт",few:"байта",many:"байт"},verb:"иметь"},array:{unit:{one:"элемент",few:"элемента",many:"элементов"},verb:"иметь"},set:{unit:{one:"элемент",few:"элемента",many:"элементов"},verb:"иметь"}};function t(e){return r[e]??null}const n=e=>{const i=typeof e;switch(i){case"number":return Number.isNaN(e)?"NaN":"число";case"object":{if(Array.isArray(e))return"массив";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return i},o={regex:"ввод",email:"email адрес",url:"URL",emoji:"эмодзи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO дата и время",date:"ISO дата",time:"ISO время",duration:"ISO длительность",ipv4:"IPv4 адрес",ipv6:"IPv6 адрес",cidrv4:"IPv4 диапазон",cidrv6:"IPv6 диапазон",base64:"строка в формате base64",base64url:"строка в формате base64url",json_string:"JSON строка",e164:"номер E.164",jwt:"JWT",template_literal:"ввод"};return e=>{switch(e.code){case"invalid_type":return`Неверный ввод: ожидалось ${e.expected}, получено ${n(e.input)}`;case"invalid_value":return e.values.length===1?`Неверный ввод: ожидалось ${O(e.values[0])}`:`Неверный вариант: ожидалось одно из ${y(e.values,"|")}`;case"too_big":{const i=e.inclusive?"<=":"<",s=t(e.origin);if(s){const a=Number(e.maximum),u=Ao(a,s.unit.one,s.unit.few,s.unit.many);return`Слишком большое значение: ожидалось, что ${e.origin??"значение"} будет иметь ${i}${e.maximum.toString()} ${u}`}return`Слишком большое значение: ожидалось, что ${e.origin??"значение"} будет ${i}${e.maximum.toString()}`}case"too_small":{const i=e.inclusive?">=":">",s=t(e.origin);if(s){const a=Number(e.minimum),u=Ao(a,s.unit.one,s.unit.few,s.unit.many);return`Слишком маленькое значение: ожидалось, что ${e.origin} будет иметь ${i}${e.minimum.toString()} ${u}`}return`Слишком маленькое значение: ожидалось, что ${e.origin} будет ${i}${e.minimum.toString()}`}case"invalid_format":{const i=e;return i.format==="starts_with"?`Неверная строка: должна начинаться с "${i.prefix}"`:i.format==="ends_with"?`Неверная строка: должна заканчиваться на "${i.suffix}"`:i.format==="includes"?`Неверная строка: должна содержать "${i.includes}"`:i.format==="regex"?`Неверная строка: должна соответствовать шаблону ${i.pattern}`:`Неверный ${o[i.format]??e.format}`}case"not_multiple_of":return`Неверное число: должно быть кратным ${e.divisor}`;case"unrecognized_keys":return`Нераспознанн${e.keys.length>1?"ые":"ый"} ключ${e.keys.length>1?"и":""}: ${y(e.keys,", ")}`;case"invalid_key":return`Неверный ключ в ${e.origin}`;case"invalid_union":return"Неверные входные данные";case"invalid_element":return`Неверное значение в ${e.origin}`;default:return"Неверные входные данные"}}};function Hl(){return{localeError:Vl()}}const Wl=()=>{const r={string:{unit:"znakov",verb:"imeti"},file:{unit:"bajtov",verb:"imeti"},array:{unit:"elementov",verb:"imeti"},set:{unit:"elementov",verb:"imeti"}};function t(e){return r[e]??null}const n=e=>{const i=typeof e;switch(i){case"number":return Number.isNaN(e)?"NaN":"število";case"object":{if(Array.isArray(e))return"tabela";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return i},o={regex:"vnos",email:"e-poštni naslov",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum in čas",date:"ISO datum",time:"ISO čas",duration:"ISO trajanje",ipv4:"IPv4 naslov",ipv6:"IPv6 naslov",cidrv4:"obseg IPv4",cidrv6:"obseg IPv6",base64:"base64 kodiran niz",base64url:"base64url kodiran niz",json_string:"JSON niz",e164:"E.164 številka",jwt:"JWT",template_literal:"vnos"};return e=>{switch(e.code){case"invalid_type":return`Neveljaven vnos: pričakovano ${e.expected}, prejeto ${n(e.input)}`;case"invalid_value":return e.values.length===1?`Neveljaven vnos: pričakovano ${O(e.values[0])}`:`Neveljavna možnost: pričakovano eno izmed ${y(e.values,"|")}`;case"too_big":{const i=e.inclusive?"<=":"<",s=t(e.origin);return s?`Preveliko: pričakovano, da bo ${e.origin??"vrednost"} imelo ${i}${e.maximum.toString()} ${s.unit??"elementov"}`:`Preveliko: pričakovano, da bo ${e.origin??"vrednost"} ${i}${e.maximum.toString()}`}case"too_small":{const i=e.inclusive?">=":">",s=t(e.origin);return s?`Premajhno: pričakovano, da bo ${e.origin} imelo ${i}${e.minimum.toString()} ${s.unit}`:`Premajhno: pričakovano, da bo ${e.origin} ${i}${e.minimum.toString()}`}case"invalid_format":{const i=e;return i.format==="starts_with"?`Neveljaven niz: mora se začeti z "${i.prefix}"`:i.format==="ends_with"?`Neveljaven niz: mora se končati z "${i.suffix}"`:i.format==="includes"?`Neveljaven niz: mora vsebovati "${i.includes}"`:i.format==="regex"?`Neveljaven niz: mora ustrezati vzorcu ${i.pattern}`:`Neveljaven ${o[i.format]??e.format}`}case"not_multiple_of":return`Neveljavno število: mora biti večkratnik ${e.divisor}`;case"unrecognized_keys":return`Neprepoznan${e.keys.length>1?"i ključi":" ključ"}: ${y(e.keys,", ")}`;case"invalid_key":return`Neveljaven ključ v ${e.origin}`;case"invalid_union":return"Neveljaven vnos";case"invalid_element":return`Neveljavna vrednost v ${e.origin}`;default:return"Neveljaven vnos"}}};function Kl(){return{localeError:Wl()}}const Yl=()=>{const r={string:{unit:"tecken",verb:"att ha"},file:{unit:"bytes",verb:"att ha"},array:{unit:"objekt",verb:"att innehålla"},set:{unit:"objekt",verb:"att innehålla"}};function t(e){return r[e]??null}const n=e=>{const i=typeof e;switch(i){case"number":return Number.isNaN(e)?"NaN":"antal";case"object":{if(Array.isArray(e))return"lista";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return i},o={regex:"reguljärt uttryck",email:"e-postadress",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datum och tid",date:"ISO-datum",time:"ISO-tid",duration:"ISO-varaktighet",ipv4:"IPv4-intervall",ipv6:"IPv6-intervall",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodad sträng",base64url:"base64url-kodad sträng",json_string:"JSON-sträng",e164:"E.164-nummer",jwt:"JWT",template_literal:"mall-literal"};return e=>{switch(e.code){case"invalid_type":return`Ogiltig inmatning: förväntat ${e.expected}, fick ${n(e.input)}`;case"invalid_value":return e.values.length===1?`Ogiltig inmatning: förväntat ${O(e.values[0])}`:`Ogiltigt val: förväntade en av ${y(e.values,"|")}`;case"too_big":{const i=e.inclusive?"<=":"<",s=t(e.origin);return s?`För stor(t): förväntade ${e.origin??"värdet"} att ha ${i}${e.maximum.toString()} ${s.unit??"element"}`:`För stor(t): förväntat ${e.origin??"värdet"} att ha ${i}${e.maximum.toString()}`}case"too_small":{const i=e.inclusive?">=":">",s=t(e.origin);return s?`För lite(t): förväntade ${e.origin??"värdet"} att ha ${i}${e.minimum.toString()} ${s.unit}`:`För lite(t): förväntade ${e.origin??"värdet"} att ha ${i}${e.minimum.toString()}`}case"invalid_format":{const i=e;return i.format==="starts_with"?`Ogiltig sträng: måste börja med "${i.prefix}"`:i.format==="ends_with"?`Ogiltig sträng: måste sluta med "${i.suffix}"`:i.format==="includes"?`Ogiltig sträng: måste innehålla "${i.includes}"`:i.format==="regex"?`Ogiltig sträng: måste matcha mönstret "${i.pattern}"`:`Ogiltig(t) ${o[i.format]??e.format}`}case"not_multiple_of":return`Ogiltigt tal: måste vara en multipel av ${e.divisor}`;case"unrecognized_keys":return`${e.keys.length>1?"Okända nycklar":"Okänd nyckel"}: ${y(e.keys,", ")}`;case"invalid_key":return`Ogiltig nyckel i ${e.origin??"värdet"}`;case"invalid_union":return"Ogiltig input";case"invalid_element":return`Ogiltigt värde i ${e.origin??"värdet"}`;default:return"Ogiltig input"}}};function Xl(){return{localeError:Yl()}}const Ql=()=>{const r={string:{unit:"எழுத்துக்கள்",verb:"கொண்டிருக்க வேண்டும்"},file:{unit:"பைட்டுகள்",verb:"கொண்டிருக்க வேண்டும்"},array:{unit:"உறுப்புகள்",verb:"கொண்டிருக்க வேண்டும்"},set:{unit:"உறுப்புகள்",verb:"கொண்டிருக்க வேண்டும்"}};function t(e){return r[e]??null}const n=e=>{const i=typeof e;switch(i){case"number":return Number.isNaN(e)?"எண் அல்லாதது":"எண்";case"object":{if(Array.isArray(e))return"அணி";if(e===null)return"வெறுமை";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return i},o={regex:"உள்ளீடு",email:"மின்னஞ்சல் முகவரி",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO தேதி நேரம்",date:"ISO தேதி",time:"ISO நேரம்",duration:"ISO கால அளவு",ipv4:"IPv4 முகவரி",ipv6:"IPv6 முகவரி",cidrv4:"IPv4 வரம்பு",cidrv6:"IPv6 வரம்பு",base64:"base64-encoded சரம்",base64url:"base64url-encoded சரம்",json_string:"JSON சரம்",e164:"E.164 எண்",jwt:"JWT",template_literal:"input"};return e=>{switch(e.code){case"invalid_type":return`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${e.expected}, பெறப்பட்டது ${n(e.input)}`;case"invalid_value":return e.values.length===1?`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${O(e.values[0])}`:`தவறான விருப்பம்: எதிர்பார்க்கப்பட்டது ${y(e.values,"|")} இல் ஒன்று`;case"too_big":{const i=e.inclusive?"<=":"<",s=t(e.origin);return s?`மிக பெரியது: எதிர்பார்க்கப்பட்டது ${e.origin??"மதிப்பு"} ${i}${e.maximum.toString()} ${s.unit??"உறுப்புகள்"} ஆக இருக்க வேண்டும்`:`மிக பெரியது: எதிர்பார்க்கப்பட்டது ${e.origin??"மதிப்பு"} ${i}${e.maximum.toString()} ஆக இருக்க வேண்டும்`}case"too_small":{const i=e.inclusive?">=":">",s=t(e.origin);return s?`மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${e.origin} ${i}${e.minimum.toString()} ${s.unit} ஆக இருக்க வேண்டும்`:`மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${e.origin} ${i}${e.minimum.toString()} ஆக இருக்க வேண்டும்`}case"invalid_format":{const i=e;return i.format==="starts_with"?`தவறான சரம்: "${i.prefix}" இல் தொடங்க வேண்டும்`:i.format==="ends_with"?`தவறான சரம்: "${i.suffix}" இல் முடிவடைய வேண்டும்`:i.format==="includes"?`தவறான சரம்: "${i.includes}" ஐ உள்ளடக்க வேண்டும்`:i.format==="regex"?`தவறான சரம்: ${i.pattern} முறைபாட்டுடன் பொருந்த வேண்டும்`:`தவறான ${o[i.format]??e.format}`}case"not_multiple_of":return`தவறான எண்: ${e.divisor} இன் பலமாக இருக்க வேண்டும்`;case"unrecognized_keys":return`அடையாளம் தெரியாத விசை${e.keys.length>1?"கள்":""}: ${y(e.keys,", ")}`;case"invalid_key":return`${e.origin} இல் தவறான விசை`;case"invalid_union":return"தவறான உள்ளீடு";case"invalid_element":return`${e.origin} இல் தவறான மதிப்பு`;default:return"தவறான உள்ளீடு"}}};function e_(){return{localeError:Ql()}}const t_=()=>{const r={string:{unit:"ตัวอักษร",verb:"ควรมี"},file:{unit:"ไบต์",verb:"ควรมี"},array:{unit:"รายการ",verb:"ควรมี"},set:{unit:"รายการ",verb:"ควรมี"}};function t(e){return r[e]??null}const n=e=>{const i=typeof e;switch(i){case"number":return Number.isNaN(e)?"ไม่ใช่ตัวเลข (NaN)":"ตัวเลข";case"object":{if(Array.isArray(e))return"อาร์เรย์ (Array)";if(e===null)return"ไม่มีค่า (null)";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return i},o={regex:"ข้อมูลที่ป้อน",email:"ที่อยู่อีเมล",url:"URL",emoji:"อิโมจิ",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"วันที่เวลาแบบ ISO",date:"วันที่แบบ ISO",time:"เวลาแบบ ISO",duration:"ช่วงเวลาแบบ ISO",ipv4:"ที่อยู่ IPv4",ipv6:"ที่อยู่ IPv6",cidrv4:"ช่วง IP แบบ IPv4",cidrv6:"ช่วง IP แบบ IPv6",base64:"ข้อความแบบ Base64",base64url:"ข้อความแบบ Base64 สำหรับ URL",json_string:"ข้อความแบบ JSON",e164:"เบอร์โทรศัพท์ระหว่างประเทศ (E.164)",jwt:"โทเคน JWT",template_literal:"ข้อมูลที่ป้อน"};return e=>{switch(e.code){case"invalid_type":return`ประเภทข้อมูลไม่ถูกต้อง: ควรเป็น ${e.expected} แต่ได้รับ ${n(e.input)}`;case"invalid_value":return e.values.length===1?`ค่าไม่ถูกต้อง: ควรเป็น ${O(e.values[0])}`:`ตัวเลือกไม่ถูกต้อง: ควรเป็นหนึ่งใน ${y(e.values,"|")}`;case"too_big":{const i=e.inclusive?"ไม่เกิน":"น้อยกว่า",s=t(e.origin);return s?`เกินกำหนด: ${e.origin??"ค่า"} ควรมี${i} ${e.maximum.toString()} ${s.unit??"รายการ"}`:`เกินกำหนด: ${e.origin??"ค่า"} ควรมี${i} ${e.maximum.toString()}`}case"too_small":{const i=e.inclusive?"อย่างน้อย":"มากกว่า",s=t(e.origin);return s?`น้อยกว่ากำหนด: ${e.origin} ควรมี${i} ${e.minimum.toString()} ${s.unit}`:`น้อยกว่ากำหนด: ${e.origin} ควรมี${i} ${e.minimum.toString()}`}case"invalid_format":{const i=e;return i.format==="starts_with"?`รูปแบบไม่ถูกต้อง: ข้อความต้องขึ้นต้นด้วย "${i.prefix}"`:i.format==="ends_with"?`รูปแบบไม่ถูกต้อง: ข้อความต้องลงท้ายด้วย "${i.suffix}"`:i.format==="includes"?`รูปแบบไม่ถูกต้อง: ข้อความต้องมี "${i.includes}" อยู่ในข้อความ`:i.format==="regex"?`รูปแบบไม่ถูกต้อง: ต้องตรงกับรูปแบบที่กำหนด ${i.pattern}`:`รูปแบบไม่ถูกต้อง: ${o[i.format]??e.format}`}case"not_multiple_of":return`ตัวเลขไม่ถูกต้อง: ต้องเป็นจำนวนที่หารด้วย ${e.divisor} ได้ลงตัว`;case"unrecognized_keys":return`พบคีย์ที่ไม่รู้จัก: ${y(e.keys,", ")}`;case"invalid_key":return`คีย์ไม่ถูกต้องใน ${e.origin}`;case"invalid_union":return"ข้อมูลไม่ถูกต้อง: ไม่ตรงกับรูปแบบยูเนียนที่กำหนดไว้";case"invalid_element":return`ข้อมูลไม่ถูกต้องใน ${e.origin}`;default:return"ข้อมูลไม่ถูกต้อง"}}};function r_(){return{localeError:t_()}}const n_=r=>{const t=typeof r;switch(t){case"number":return Number.isNaN(r)?"NaN":"number";case"object":{if(Array.isArray(r))return"array";if(r===null)return"null";if(Object.getPrototypeOf(r)!==Object.prototype&&r.constructor)return r.constructor.name}}return t},o_=()=>{const r={string:{unit:"karakter",verb:"olmalı"},file:{unit:"bayt",verb:"olmalı"},array:{unit:"öğe",verb:"olmalı"},set:{unit:"öğe",verb:"olmalı"}};function t(o){return r[o]??null}const n={regex:"girdi",email:"e-posta adresi",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO tarih ve saat",date:"ISO tarih",time:"ISO saat",duration:"ISO süre",ipv4:"IPv4 adresi",ipv6:"IPv6 adresi",cidrv4:"IPv4 aralığı",cidrv6:"IPv6 aralığı",base64:"base64 ile şifrelenmiş metin",base64url:"base64url ile şifrelenmiş metin",json_string:"JSON dizesi",e164:"E.164 sayısı",jwt:"JWT",template_literal:"Şablon dizesi"};return o=>{switch(o.code){case"invalid_type":return`Geçersiz değer: beklenen ${o.expected}, alınan ${n_(o.input)}`;case"invalid_value":return o.values.length===1?`Geçersiz değer: beklenen ${O(o.values[0])}`:`Geçersiz seçenek: aşağıdakilerden biri olmalı: ${y(o.values,"|")}`;case"too_big":{const e=o.inclusive?"<=":"<",i=t(o.origin);return i?`Çok büyük: beklenen ${o.origin??"değer"} ${e}${o.maximum.toString()} ${i.unit??"öğe"}`:`Çok büyük: beklenen ${o.origin??"değer"} ${e}${o.maximum.toString()}`}case"too_small":{const e=o.inclusive?">=":">",i=t(o.origin);return i?`Çok küçük: beklenen ${o.origin} ${e}${o.minimum.toString()} ${i.unit}`:`Çok küçük: beklenen ${o.origin} ${e}${o.minimum.toString()}`}case"invalid_format":{const e=o;return e.format==="starts_with"?`Geçersiz metin: "${e.prefix}" ile başlamalı`:e.format==="ends_with"?`Geçersiz metin: "${e.suffix}" ile bitmeli`:e.format==="includes"?`Geçersiz metin: "${e.includes}" içermeli`:e.format==="regex"?`Geçersiz metin: ${e.pattern} desenine uymalı`:`Geçersiz ${n[e.format]??o.format}`}case"not_multiple_of":return`Geçersiz sayı: ${o.divisor} ile tam bölünebilmeli`;case"unrecognized_keys":return`Tanınmayan anahtar${o.keys.length>1?"lar":""}: ${y(o.keys,", ")}`;case"invalid_key":return`${o.origin} içinde geçersiz anahtar`;case"invalid_union":return"Geçersiz değer";case"invalid_element":return`${o.origin} içinde geçersiz değer`;default:return"Geçersiz değer"}}};function i_(){return{localeError:o_()}}const s_=()=>{const r={string:{unit:"символів",verb:"матиме"},file:{unit:"байтів",verb:"матиме"},array:{unit:"елементів",verb:"матиме"},set:{unit:"елементів",verb:"матиме"}};function t(e){return r[e]??null}const n=e=>{const i=typeof e;switch(i){case"number":return Number.isNaN(e)?"NaN":"число";case"object":{if(Array.isArray(e))return"масив";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return i},o={regex:"вхідні дані",email:"адреса електронної пошти",url:"URL",emoji:"емодзі",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"дата та час ISO",date:"дата ISO",time:"час ISO",duration:"тривалість ISO",ipv4:"адреса IPv4",ipv6:"адреса IPv6",cidrv4:"діапазон IPv4",cidrv6:"діапазон IPv6",base64:"рядок у кодуванні base64",base64url:"рядок у кодуванні base64url",json_string:"рядок JSON",e164:"номер E.164",jwt:"JWT",template_literal:"вхідні дані"};return e=>{switch(e.code){case"invalid_type":return`Неправильні вхідні дані: очікується ${e.expected}, отримано ${n(e.input)}`;case"invalid_value":return e.values.length===1?`Неправильні вхідні дані: очікується ${O(e.values[0])}`:`Неправильна опція: очікується одне з ${y(e.values,"|")}`;case"too_big":{const i=e.inclusive?"<=":"<",s=t(e.origin);return s?`Занадто велике: очікується, що ${e.origin??"значення"} ${s.verb} ${i}${e.maximum.toString()} ${s.unit??"елементів"}`:`Занадто велике: очікується, що ${e.origin??"значення"} буде ${i}${e.maximum.toString()}`}case"too_small":{const i=e.inclusive?">=":">",s=t(e.origin);return s?`Занадто мале: очікується, що ${e.origin} ${s.verb} ${i}${e.minimum.toString()} ${s.unit}`:`Занадто мале: очікується, що ${e.origin} буде ${i}${e.minimum.toString()}`}case"invalid_format":{const i=e;return i.format==="starts_with"?`Неправильний рядок: повинен починатися з "${i.prefix}"`:i.format==="ends_with"?`Неправильний рядок: повинен закінчуватися на "${i.suffix}"`:i.format==="includes"?`Неправильний рядок: повинен містити "${i.includes}"`:i.format==="regex"?`Неправильний рядок: повинен відповідати шаблону ${i.pattern}`:`Неправильний ${o[i.format]??e.format}`}case"not_multiple_of":return`Неправильне число: повинно бути кратним ${e.divisor}`;case"unrecognized_keys":return`Нерозпізнаний ключ${e.keys.length>1?"і":""}: ${y(e.keys,", ")}`;case"invalid_key":return`Неправильний ключ у ${e.origin}`;case"invalid_union":return"Неправильні вхідні дані";case"invalid_element":return`Неправильне значення у ${e.origin}`;default:return"Неправильні вхідні дані"}}};function Na(){return{localeError:s_()}}function a_(){return Na()}const u_=()=>{const r={string:{unit:"حروف",verb:"ہونا"},file:{unit:"بائٹس",verb:"ہونا"},array:{unit:"آئٹمز",verb:"ہونا"},set:{unit:"آئٹمز",verb:"ہونا"}};function t(e){return r[e]??null}const n=e=>{const i=typeof e;switch(i){case"number":return Number.isNaN(e)?"NaN":"نمبر";case"object":{if(Array.isArray(e))return"آرے";if(e===null)return"نل";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return i},o={regex:"ان پٹ",email:"ای میل ایڈریس",url:"یو آر ایل",emoji:"ایموجی",uuid:"یو یو آئی ڈی",uuidv4:"یو یو آئی ڈی وی 4",uuidv6:"یو یو آئی ڈی وی 6",nanoid:"نینو آئی ڈی",guid:"جی یو آئی ڈی",cuid:"سی یو آئی ڈی",cuid2:"سی یو آئی ڈی 2",ulid:"یو ایل آئی ڈی",xid:"ایکس آئی ڈی",ksuid:"کے ایس یو آئی ڈی",datetime:"آئی ایس او ڈیٹ ٹائم",date:"آئی ایس او تاریخ",time:"آئی ایس او وقت",duration:"آئی ایس او مدت",ipv4:"آئی پی وی 4 ایڈریس",ipv6:"آئی پی وی 6 ایڈریس",cidrv4:"آئی پی وی 4 رینج",cidrv6:"آئی پی وی 6 رینج",base64:"بیس 64 ان کوڈڈ سٹرنگ",base64url:"بیس 64 یو آر ایل ان کوڈڈ سٹرنگ",json_string:"جے ایس او این سٹرنگ",e164:"ای 164 نمبر",jwt:"جے ڈبلیو ٹی",template_literal:"ان پٹ"};return e=>{switch(e.code){case"invalid_type":return`غلط ان پٹ: ${e.expected} متوقع تھا، ${n(e.input)} موصول ہوا`;case"invalid_value":return e.values.length===1?`غلط ان پٹ: ${O(e.values[0])} متوقع تھا`:`غلط آپشن: ${y(e.values,"|")} میں سے ایک متوقع تھا`;case"too_big":{const i=e.inclusive?"<=":"<",s=t(e.origin);return s?`بہت بڑا: ${e.origin??"ویلیو"} کے ${i}${e.maximum.toString()} ${s.unit??"عناصر"} ہونے متوقع تھے`:`بہت بڑا: ${e.origin??"ویلیو"} کا ${i}${e.maximum.toString()} ہونا متوقع تھا`}case"too_small":{const i=e.inclusive?">=":">",s=t(e.origin);return s?`بہت چھوٹا: ${e.origin} کے ${i}${e.minimum.toString()} ${s.unit} ہونے متوقع تھے`:`بہت چھوٹا: ${e.origin} کا ${i}${e.minimum.toString()} ہونا متوقع تھا`}case"invalid_format":{const i=e;return i.format==="starts_with"?`غلط سٹرنگ: "${i.prefix}" سے شروع ہونا چاہیے`:i.format==="ends_with"?`غلط سٹرنگ: "${i.suffix}" پر ختم ہونا چاہیے`:i.format==="includes"?`غلط سٹرنگ: "${i.includes}" شامل ہونا چاہیے`:i.format==="regex"?`غلط سٹرنگ: پیٹرن ${i.pattern} سے میچ ہونا چاہیے`:`غلط ${o[i.format]??e.format}`}case"not_multiple_of":return`غلط نمبر: ${e.divisor} کا مضاعف ہونا چاہیے`;case"unrecognized_keys":return`غیر تسلیم شدہ کی${e.keys.length>1?"ز":""}: ${y(e.keys,"، ")}`;case"invalid_key":return`${e.origin} میں غلط کی`;case"invalid_union":return"غلط ان پٹ";case"invalid_element":return`${e.origin} میں غلط ویلیو`;default:return"غلط ان پٹ"}}};function c_(){return{localeError:u_()}}const p_=()=>{const r={string:{unit:"ký tự",verb:"có"},file:{unit:"byte",verb:"có"},array:{unit:"phần tử",verb:"có"},set:{unit:"phần tử",verb:"có"}};function t(e){return r[e]??null}const n=e=>{const i=typeof e;switch(i){case"number":return Number.isNaN(e)?"NaN":"số";case"object":{if(Array.isArray(e))return"mảng";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return i},o={regex:"đầu vào",email:"địa chỉ email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ngày giờ ISO",date:"ngày ISO",time:"giờ ISO",duration:"khoảng thời gian ISO",ipv4:"địa chỉ IPv4",ipv6:"địa chỉ IPv6",cidrv4:"dải IPv4",cidrv6:"dải IPv6",base64:"chuỗi mã hóa base64",base64url:"chuỗi mã hóa base64url",json_string:"chuỗi JSON",e164:"số E.164",jwt:"JWT",template_literal:"đầu vào"};return e=>{switch(e.code){case"invalid_type":return`Đầu vào không hợp lệ: mong đợi ${e.expected}, nhận được ${n(e.input)}`;case"invalid_value":return e.values.length===1?`Đầu vào không hợp lệ: mong đợi ${O(e.values[0])}`:`Tùy chọn không hợp lệ: mong đợi một trong các giá trị ${y(e.values,"|")}`;case"too_big":{const i=e.inclusive?"<=":"<",s=t(e.origin);return s?`Quá lớn: mong đợi ${e.origin??"giá trị"} ${s.verb} ${i}${e.maximum.toString()} ${s.unit??"phần tử"}`:`Quá lớn: mong đợi ${e.origin??"giá trị"} ${i}${e.maximum.toString()}`}case"too_small":{const i=e.inclusive?">=":">",s=t(e.origin);return s?`Quá nhỏ: mong đợi ${e.origin} ${s.verb} ${i}${e.minimum.toString()} ${s.unit}`:`Quá nhỏ: mong đợi ${e.origin} ${i}${e.minimum.toString()}`}case"invalid_format":{const i=e;return i.format==="starts_with"?`Chuỗi không hợp lệ: phải bắt đầu bằng "${i.prefix}"`:i.format==="ends_with"?`Chuỗi không hợp lệ: phải kết thúc bằng "${i.suffix}"`:i.format==="includes"?`Chuỗi không hợp lệ: phải bao gồm "${i.includes}"`:i.format==="regex"?`Chuỗi không hợp lệ: phải khớp với mẫu ${i.pattern}`:`${o[i.format]??e.format} không hợp lệ`}case"not_multiple_of":return`Số không hợp lệ: phải là bội số của ${e.divisor}`;case"unrecognized_keys":return`Khóa không được nhận dạng: ${y(e.keys,", ")}`;case"invalid_key":return`Khóa không hợp lệ trong ${e.origin}`;case"invalid_union":return"Đầu vào không hợp lệ";case"invalid_element":return`Giá trị không hợp lệ trong ${e.origin}`;default:return"Đầu vào không hợp lệ"}}};function l_(){return{localeError:p_()}}const __=()=>{const r={string:{unit:"字符",verb:"包含"},file:{unit:"字节",verb:"包含"},array:{unit:"项",verb:"包含"},set:{unit:"项",verb:"包含"}};function t(e){return r[e]??null}const n=e=>{const i=typeof e;switch(i){case"number":return Number.isNaN(e)?"非数字(NaN)":"数字";case"object":{if(Array.isArray(e))return"数组";if(e===null)return"空值(null)";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return i},o={regex:"输入",email:"电子邮件",url:"URL",emoji:"表情符号",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO日期时间",date:"ISO日期",time:"ISO时间",duration:"ISO时长",ipv4:"IPv4地址",ipv6:"IPv6地址",cidrv4:"IPv4网段",cidrv6:"IPv6网段",base64:"base64编码字符串",base64url:"base64url编码字符串",json_string:"JSON字符串",e164:"E.164号码",jwt:"JWT",template_literal:"输入"};return e=>{switch(e.code){case"invalid_type":return`无效输入:期望 ${e.expected},实际接收 ${n(e.input)}`;case"invalid_value":return e.values.length===1?`无效输入:期望 ${O(e.values[0])}`:`无效选项:期望以下之一 ${y(e.values,"|")}`;case"too_big":{const i=e.inclusive?"<=":"<",s=t(e.origin);return s?`数值过大:期望 ${e.origin??"值"} ${i}${e.maximum.toString()} ${s.unit??"个元素"}`:`数值过大:期望 ${e.origin??"值"} ${i}${e.maximum.toString()}`}case"too_small":{const i=e.inclusive?">=":">",s=t(e.origin);return s?`数值过小:期望 ${e.origin} ${i}${e.minimum.toString()} ${s.unit}`:`数值过小:期望 ${e.origin} ${i}${e.minimum.toString()}`}case"invalid_format":{const i=e;return i.format==="starts_with"?`无效字符串:必须以 "${i.prefix}" 开头`:i.format==="ends_with"?`无效字符串:必须以 "${i.suffix}" 结尾`:i.format==="includes"?`无效字符串:必须包含 "${i.includes}"`:i.format==="regex"?`无效字符串:必须满足正则表达式 ${i.pattern}`:`无效${o[i.format]??e.format}`}case"not_multiple_of":return`无效数字:必须是 ${e.divisor} 的倍数`;case"unrecognized_keys":return`出现未知的键(key): ${y(e.keys,", ")}`;case"invalid_key":return`${e.origin} 中的键(key)无效`;case"invalid_union":return"无效输入";case"invalid_element":return`${e.origin} 中包含无效值(value)`;default:return"无效输入"}}};function d_(){return{localeError:__()}}const m_=()=>{const r={string:{unit:"字元",verb:"擁有"},file:{unit:"位元組",verb:"擁有"},array:{unit:"項目",verb:"擁有"},set:{unit:"項目",verb:"擁有"}};function t(e){return r[e]??null}const n=e=>{const i=typeof e;switch(i){case"number":return Number.isNaN(e)?"NaN":"number";case"object":{if(Array.isArray(e))return"array";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return i},o={regex:"輸入",email:"郵件地址",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO 日期時間",date:"ISO 日期",time:"ISO 時間",duration:"ISO 期間",ipv4:"IPv4 位址",ipv6:"IPv6 位址",cidrv4:"IPv4 範圍",cidrv6:"IPv6 範圍",base64:"base64 編碼字串",base64url:"base64url 編碼字串",json_string:"JSON 字串",e164:"E.164 數值",jwt:"JWT",template_literal:"輸入"};return e=>{switch(e.code){case"invalid_type":return`無效的輸入值:預期為 ${e.expected},但收到 ${n(e.input)}`;case"invalid_value":return e.values.length===1?`無效的輸入值:預期為 ${O(e.values[0])}`:`無效的選項:預期為以下其中之一 ${y(e.values,"|")}`;case"too_big":{const i=e.inclusive?"<=":"<",s=t(e.origin);return s?`數值過大:預期 ${e.origin??"值"} 應為 ${i}${e.maximum.toString()} ${s.unit??"個元素"}`:`數值過大:預期 ${e.origin??"值"} 應為 ${i}${e.maximum.toString()}`}case"too_small":{const i=e.inclusive?">=":">",s=t(e.origin);return s?`數值過小:預期 ${e.origin} 應為 ${i}${e.minimum.toString()} ${s.unit}`:`數值過小:預期 ${e.origin} 應為 ${i}${e.minimum.toString()}`}case"invalid_format":{const i=e;return i.format==="starts_with"?`無效的字串:必須以 "${i.prefix}" 開頭`:i.format==="ends_with"?`無效的字串:必須以 "${i.suffix}" 結尾`:i.format==="includes"?`無效的字串:必須包含 "${i.includes}"`:i.format==="regex"?`無效的字串:必須符合格式 ${i.pattern}`:`無效的 ${o[i.format]??e.format}`}case"not_multiple_of":return`無效的數字:必須為 ${e.divisor} 的倍數`;case"unrecognized_keys":return`無法識別的鍵值${e.keys.length>1?"們":""}:${y(e.keys,"、")}`;case"invalid_key":return`${e.origin} 中有無效的鍵值`;case"invalid_union":return"無效的輸入值";case"invalid_element":return`${e.origin} 中有無效的值`;default:return"無效的輸入值"}}};function g_(){return{localeError:m_()}}const h_=()=>{const r={string:{unit:"àmi",verb:"ní"},file:{unit:"bytes",verb:"ní"},array:{unit:"nkan",verb:"ní"},set:{unit:"nkan",verb:"ní"}};function t(e){return r[e]??null}const n=e=>{const i=typeof e;switch(i){case"number":return Number.isNaN(e)?"NaN":"nọ́mbà";case"object":{if(Array.isArray(e))return"akopọ";if(e===null)return"null";if(Object.getPrototypeOf(e)!==Object.prototype&&e.constructor)return e.constructor.name}}return i},o={regex:"ẹ̀rọ ìbáwọlé",email:"àdírẹ́sì ìmẹ́lì",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"àkókò ISO",date:"ọjọ́ ISO",time:"àkókò ISO",duration:"àkókò tó pé ISO",ipv4:"àdírẹ́sì IPv4",ipv6:"àdírẹ́sì IPv6",cidrv4:"àgbègbè IPv4",cidrv6:"àgbègbè IPv6",base64:"ọ̀rọ̀ tí a kọ́ ní base64",base64url:"ọ̀rọ̀ base64url",json_string:"ọ̀rọ̀ JSON",e164:"nọ́mbà E.164",jwt:"JWT",template_literal:"ẹ̀rọ ìbáwọlé"};return e=>{switch(e.code){case"invalid_type":return`Ìbáwọlé aṣìṣe: a ní láti fi ${e.expected}, àmọ̀ a rí ${n(e.input)}`;case"invalid_value":return e.values.length===1?`Ìbáwọlé aṣìṣe: a ní láti fi ${O(e.values[0])}`:`Àṣàyàn aṣìṣe: yan ọ̀kan lára ${y(e.values,"|")}`;case"too_big":{const i=e.inclusive?"<=":"<",s=t(e.origin);return s?`Tó pọ̀ jù: a ní láti jẹ́ pé ${e.origin??"iye"} ${s.verb} ${i}${e.maximum} ${s.unit}`:`Tó pọ̀ jù: a ní láti jẹ́ ${i}${e.maximum}`}case"too_small":{const i=e.inclusive?">=":">",s=t(e.origin);return s?`Kéré ju: a ní láti jẹ́ pé ${e.origin} ${s.verb} ${i}${e.minimum} ${s.unit}`:`Kéré ju: a ní láti jẹ́ ${i}${e.minimum}`}case"invalid_format":{const i=e;return i.format==="starts_with"?`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ bẹ̀rẹ̀ pẹ̀lú "${i.prefix}"`:i.format==="ends_with"?`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ parí pẹ̀lú "${i.suffix}"`:i.format==="includes"?`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ ní "${i.includes}"`:i.format==="regex"?`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ bá àpẹẹrẹ mu ${i.pattern}`:`Aṣìṣe: ${o[i.format]??e.format}`}case"not_multiple_of":return`Nọ́mbà aṣìṣe: gbọ́dọ̀ jẹ́ èyà pípín ti ${e.divisor}`;case"unrecognized_keys":return`Bọtìnì àìmọ̀: ${y(e.keys,", ")}`;case"invalid_key":return`Bọtìnì aṣìṣe nínú ${e.origin}`;case"invalid_union":return"Ìbáwọlé aṣìṣe";case"invalid_element":return`Iye aṣìṣe nínú ${e.origin}`;default:return"Ìbáwọlé aṣìṣe"}}};function f_(){return{localeError:h_()}}const ja=Object.freeze(Object.defineProperty({__proto__:null,ar:Np,az:Ap,be:Pp,bg:Cp,ca:Fp,cs:Mp,da:Bp,de:Gp,en:Ta,eo:Yp,es:Qp,fa:tl,fi:nl,fr:il,frCA:al,he:cl,hu:ll,id:dl,is:hl,it:vl,ja:yl,ka:$l,kh:Il,km:Ea,ko:zl,lt:El,mk:jl,ms:Ul,nl:Dl,no:Cl,ota:Fl,pl:Bl,ps:Ml,pt:Gl,ru:Hl,sl:Kl,sv:Xl,ta:e_,th:r_,tr:i_,ua:a_,uk:Na,ur:c_,vi:l_,yo:f_,zhCN:d_,zhTW:g_},Symbol.toStringTag,{value:"Module"})),Aa=Symbol("ZodOutput"),Ua=Symbol("ZodInput");class Qr{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...n){const o=n[0];if(this._map.set(t,o),o&&typeof o=="object"&&"id"in o){if(this._idmap.has(o.id))throw new Error(`ID ${o.id} already exists in the registry`);this._idmap.set(o.id,t)}return this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(t){const n=this._map.get(t);return n&&typeof n=="object"&&"id"in n&&this._idmap.delete(n.id),this._map.delete(t),this}get(t){const n=t._zod.parent;if(n){const o={...this.get(n)??{}};delete o.id;const e={...o,...this._map.get(t)};return Object.keys(e).length?e:void 0}return this._map.get(t)}has(t){return this._map.has(t)}}function en(){return new Qr}const Ze=en();function Pa(r,t){return new r({type:"string",...k(t)})}function Da(r,t){return new r({type:"string",coerce:!0,...k(t)})}function tn(r,t){return new r({type:"string",format:"email",check:"string_format",abort:!1,...k(t)})}function qt(r,t){return new r({type:"string",format:"guid",check:"string_format",abort:!1,...k(t)})}function rn(r,t){return new r({type:"string",format:"uuid",check:"string_format",abort:!1,...k(t)})}function nn(r,t){return new r({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...k(t)})}function on(r,t){return new r({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...k(t)})}function sn(r,t){return new r({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...k(t)})}function tr(r,t){return new r({type:"string",format:"url",check:"string_format",abort:!1,...k(t)})}function an(r,t){return new r({type:"string",format:"emoji",check:"string_format",abort:!1,...k(t)})}function un(r,t){return new r({type:"string",format:"nanoid",check:"string_format",abort:!1,...k(t)})}function cn(r,t){return new r({type:"string",format:"cuid",check:"string_format",abort:!1,...k(t)})}function pn(r,t){return new r({type:"string",format:"cuid2",check:"string_format",abort:!1,...k(t)})}function ln(r,t){return new r({type:"string",format:"ulid",check:"string_format",abort:!1,...k(t)})}function _n(r,t){return new r({type:"string",format:"xid",check:"string_format",abort:!1,...k(t)})}function dn(r,t){return new r({type:"string",format:"ksuid",check:"string_format",abort:!1,...k(t)})}function mn(r,t){return new r({type:"string",format:"ipv4",check:"string_format",abort:!1,...k(t)})}function gn(r,t){return new r({type:"string",format:"ipv6",check:"string_format",abort:!1,...k(t)})}function hn(r,t){return new r({type:"string",format:"cidrv4",check:"string_format",abort:!1,...k(t)})}function fn(r,t){return new r({type:"string",format:"cidrv6",check:"string_format",abort:!1,...k(t)})}function vn(r,t){return new r({type:"string",format:"base64",check:"string_format",abort:!1,...k(t)})}function kn(r,t){return new r({type:"string",format:"base64url",check:"string_format",abort:!1,...k(t)})}function yn(r,t){return new r({type:"string",format:"e164",check:"string_format",abort:!1,...k(t)})}function bn(r,t){return new r({type:"string",format:"jwt",check:"string_format",abort:!1,...k(t)})}const Ra={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6};function Ca(r,t){return new r({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...k(t)})}function La(r,t){return new r({type:"string",format:"date",check:"string_format",...k(t)})}function Fa(r,t){return new r({type:"string",format:"time",check:"string_format",precision:null,...k(t)})}function Za(r,t){return new r({type:"string",format:"duration",check:"string_format",...k(t)})}function Ma(r,t){return new r({type:"number",checks:[],...k(t)})}function qa(r,t){return new r({type:"number",coerce:!0,checks:[],...k(t)})}function Ba(r,t){return new r({type:"number",check:"number_format",abort:!1,format:"safeint",...k(t)})}function Ja(r,t){return new r({type:"number",check:"number_format",abort:!1,format:"float32",...k(t)})}function Ga(r,t){return new r({type:"number",check:"number_format",abort:!1,format:"float64",...k(t)})}function Va(r,t){return new r({type:"number",check:"number_format",abort:!1,format:"int32",...k(t)})}function Ha(r,t){return new r({type:"number",check:"number_format",abort:!1,format:"uint32",...k(t)})}function Wa(r,t){return new r({type:"boolean",...k(t)})}function Ka(r,t){return new r({type:"boolean",coerce:!0,...k(t)})}function Ya(r,t){return new r({type:"bigint",...k(t)})}function Xa(r,t){return new r({type:"bigint",coerce:!0,...k(t)})}function Qa(r,t){return new r({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...k(t)})}function eu(r,t){return new r({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...k(t)})}function tu(r,t){return new r({type:"symbol",...k(t)})}function ru(r,t){return new r({type:"undefined",...k(t)})}function nu(r,t){return new r({type:"null",...k(t)})}function ou(r){return new r({type:"any"})}function iu(r){return new r({type:"unknown"})}function su(r,t){return new r({type:"never",...k(t)})}function au(r,t){return new r({type:"void",...k(t)})}function uu(r,t){return new r({type:"date",...k(t)})}function cu(r,t){return new r({type:"date",coerce:!0,...k(t)})}function pu(r,t){return new r({type:"nan",...k(t)})}function Be(r,t){return new Br({check:"less_than",...k(t),value:r,inclusive:!1})}function fe(r,t){return new Br({check:"less_than",...k(t),value:r,inclusive:!0})}function Je(r,t){return new Jr({check:"greater_than",...k(t),value:r,inclusive:!1})}function le(r,t){return new Jr({check:"greater_than",...k(t),value:r,inclusive:!0})}function lu(r){return Je(0,r)}function _u(r){return Be(0,r)}function du(r){return fe(0,r)}function mu(r){return le(0,r)}function dt(r,t){return new Xi({check:"multiple_of",...k(t),value:r})}function rr(r,t){return new ts({check:"max_size",...k(t),maximum:r})}function mt(r,t){return new rs({check:"min_size",...k(t),minimum:r})}function xn(r,t){return new ns({check:"size_equals",...k(t),size:r})}function nr(r,t){return new os({check:"max_length",...k(t),maximum:r})}function Xe(r,t){return new is({check:"min_length",...k(t),minimum:r})}function or(r,t){return new ss({check:"length_equals",...k(t),length:r})}function $n(r,t){return new as({check:"string_format",format:"regex",...k(t),pattern:r})}function wn(r){return new us({check:"string_format",format:"lowercase",...k(r)})}function In(r){return new cs({check:"string_format",format:"uppercase",...k(r)})}function Sn(r,t){return new ps({check:"string_format",format:"includes",...k(t),includes:r})}function zn(r,t){return new ls({check:"string_format",format:"starts_with",...k(t),prefix:r})}function On(r,t){return new _s({check:"string_format",format:"ends_with",...k(t),suffix:r})}function gu(r,t,n){return new ds({check:"property",property:r,schema:t,...k(n)})}function Tn(r,t){return new ms({check:"mime_type",mime:r,...k(t)})}function Ve(r){return new gs({check:"overwrite",tx:r})}function En(r){return Ve(t=>t.normalize(r))}function Nn(){return Ve(r=>r.trim())}function jn(){return Ve(r=>r.toLowerCase())}function An(){return Ve(r=>r.toUpperCase())}function hu(r,t,n){return new r({type:"array",element:t,...k(n)})}function v_(r,t,n){return new r({type:"union",options:t,...k(n)})}function k_(r,t,n,o){return new r({type:"union",options:n,discriminator:t,...k(o)})}function y_(r,t,n){return new r({type:"intersection",left:t,right:n})}function b_(r,t,n,o){const e=n instanceof T,i=e?o:n,s=e?n:null;return new r({type:"tuple",items:t,rest:s,...k(i)})}function x_(r,t,n,o){return new r({type:"record",keyType:t,valueType:n,...k(o)})}function $_(r,t,n,o){return new r({type:"map",keyType:t,valueType:n,...k(o)})}function w_(r,t,n){return new r({type:"set",valueType:t,...k(n)})}function I_(r,t,n){const o=Array.isArray(t)?Object.fromEntries(t.map(e=>[e,e])):t;return new r({type:"enum",entries:o,...k(n)})}function S_(r,t,n){return new r({type:"enum",entries:t,...k(n)})}function z_(r,t,n){return new r({type:"literal",values:Array.isArray(t)?t:[t],...k(n)})}function fu(r,t){return new r({type:"file",...k(t)})}function O_(r,t){return new r({type:"transform",transform:t})}function T_(r,t){return new r({type:"optional",innerType:t})}function E_(r,t){return new r({type:"nullable",innerType:t})}function N_(r,t,n){return new r({type:"default",innerType:t,get defaultValue(){return typeof n=="function"?n():Xt(n)}})}function j_(r,t,n){return new r({type:"nonoptional",innerType:t,...k(n)})}function A_(r,t){return new r({type:"success",innerType:t})}function U_(r,t,n){return new r({type:"catch",innerType:t,catchValue:typeof n=="function"?n:()=>n})}function P_(r,t,n){return new r({type:"pipe",in:t,out:n})}function D_(r,t){return new r({type:"readonly",innerType:t})}function R_(r,t,n){return new r({type:"template_literal",parts:t,...k(n)})}function C_(r,t){return new r({type:"lazy",getter:t})}function L_(r,t){return new r({type:"promise",innerType:t})}function vu(r,t,n){const o=k(n);return o.abort??(o.abort=!0),new r({type:"custom",check:"custom",fn:t,...o})}function ku(r,t,n){return new r({type:"custom",check:"custom",fn:t,...k(n)})}function yu(r){const t=bu(n=>(n.addIssue=o=>{if(typeof o=="string")n.issues.push(Ke(o,n.value,t._zod.def));else{const e=o;e.fatal&&(e.continue=!1),e.code??(e.code="custom"),e.input??(e.input=n.value),e.inst??(e.inst=t),e.continue??(e.continue=!t._zod.def.abort),n.issues.push(Ke(e))}},r(n.value,n)));return t}function bu(r,t){const n=new G({check:"custom",...k(t)});return n._zod.check=r,n}function xu(r,t){const n=k(t);let o=n.truthy??["true","1","yes","on","y","enabled"],e=n.falsy??["false","0","no","off","n","disabled"];n.case!=="sensitive"&&(o=o.map(m=>typeof m=="string"?m.toLowerCase():m),e=e.map(m=>typeof m=="string"?m.toLowerCase():m));const i=new Set(o),s=new Set(e),a=r.Codec??Xr,u=r.Boolean??Hr,c=r.String??It,l=new c({type:"string",error:n.error}),d=new u({type:"boolean",error:n.error}),h=new a({type:"pipe",in:l,out:d,transform:(m,p)=>{let g=m;return n.case!=="sensitive"&&(g=g.toLowerCase()),i.has(g)?!0:s.has(g)?!1:(p.issues.push({code:"invalid_value",expected:"stringbool",values:[...i,...s],input:p.value,inst:h,continue:!1}),{})},reverseTransform:(m,p)=>m===!0?o[0]||"true":e[0]||"false",error:n.error});return h}function St(r,t,n,o={}){const e=k(o),i={...k(o),check:"string_format",type:"string",format:t,fn:typeof n=="function"?n:a=>n.test(a),...e};return n instanceof RegExp&&(i.pattern=n),new r(i)}class br{constructor(t){this.counter=0,this.metadataRegistry=t?.metadata??Ze,this.target=t?.target??"draft-2020-12",this.unrepresentable=t?.unrepresentable??"throw",this.override=t?.override??(()=>{}),this.io=t?.io??"output",this.seen=new Map}process(t,n={path:[],schemaPath:[]}){var o;const e=t._zod.def,i={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},s=this.seen.get(t);if(s)return s.count++,n.schemaPath.includes(t)&&(s.cycle=n.path),s.schema;const a={schema:{},count:1,cycle:void 0,path:n.path};this.seen.set(t,a);const u=t._zod.toJSONSchema?.();if(u)a.schema=u;else{const d={...n,schemaPath:[...n.schemaPath,t],path:n.path},h=t._zod.parent;if(h)a.ref=h,this.process(h,d),this.seen.get(h).isParent=!0;else{const m=a.schema;switch(e.type){case"string":{const p=m;p.type="string";const{minimum:g,maximum:v,format:$,patterns:b,contentEncoding:z}=t._zod.bag;if(typeof g=="number"&&(p.minLength=g),typeof v=="number"&&(p.maxLength=v),$&&(p.format=i[$]??$,p.format===""&&delete p.format),z&&(p.contentEncoding=z),b&&b.size>0){const S=[...b];S.length===1?p.pattern=S[0].source:S.length>1&&(a.schema.allOf=[...S.map(A=>({...this.target==="draft-7"||this.target==="draft-4"||this.target==="openapi-3.0"?{type:"string"}:{},pattern:A.source}))])}break}case"number":{const p=m,{minimum:g,maximum:v,format:$,multipleOf:b,exclusiveMaximum:z,exclusiveMinimum:S}=t._zod.bag;typeof $=="string"&&$.includes("int")?p.type="integer":p.type="number",typeof S=="number"&&(this.target==="draft-4"||this.target==="openapi-3.0"?(p.minimum=S,p.exclusiveMinimum=!0):p.exclusiveMinimum=S),typeof g=="number"&&(p.minimum=g,typeof S=="number"&&this.target!=="draft-4"&&(S>=g?delete p.minimum:delete p.exclusiveMinimum)),typeof z=="number"&&(this.target==="draft-4"||this.target==="openapi-3.0"?(p.maximum=z,p.exclusiveMaximum=!0):p.exclusiveMaximum=z),typeof v=="number"&&(p.maximum=v,typeof z=="number"&&this.target!=="draft-4"&&(z<=v?delete p.maximum:delete p.exclusiveMaximum)),typeof b=="number"&&(p.multipleOf=b);break}case"boolean":{const p=m;p.type="boolean";break}case"bigint":{if(this.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema");break}case"symbol":{if(this.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema");break}case"null":{this.target==="openapi-3.0"?(m.type="string",m.nullable=!0,m.enum=[null]):m.type="null";break}case"any":break;case"unknown":break;case"undefined":{if(this.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema");break}case"void":{if(this.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema");break}case"never":{m.not={};break}case"date":{if(this.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema");break}case"array":{const p=m,{minimum:g,maximum:v}=t._zod.bag;typeof g=="number"&&(p.minItems=g),typeof v=="number"&&(p.maxItems=v),p.type="array",p.items=this.process(e.element,{...d,path:[...d.path,"items"]});break}case"object":{const p=m;p.type="object",p.properties={};const g=e.shape;for(const b in g)p.properties[b]=this.process(g[b],{...d,path:[...d.path,"properties",b]});const v=new Set(Object.keys(g)),$=new Set([...v].filter(b=>{const z=e.shape[b]._zod;return this.io==="input"?z.optin===void 0:z.optout===void 0}));$.size>0&&(p.required=Array.from($)),e.catchall?._zod.def.type==="never"?p.additionalProperties=!1:e.catchall?e.catchall&&(p.additionalProperties=this.process(e.catchall,{...d,path:[...d.path,"additionalProperties"]})):this.io==="output"&&(p.additionalProperties=!1);break}case"union":{const p=m,g=e.options.map((v,$)=>this.process(v,{...d,path:[...d.path,"anyOf",$]}));p.anyOf=g;break}case"intersection":{const p=m,g=this.process(e.left,{...d,path:[...d.path,"allOf",0]}),v=this.process(e.right,{...d,path:[...d.path,"allOf",1]}),$=z=>"allOf"in z&&Object.keys(z).length===1,b=[...$(g)?g.allOf:[g],...$(v)?v.allOf:[v]];p.allOf=b;break}case"tuple":{const p=m;p.type="array";const g=this.target==="draft-2020-12"?"prefixItems":"items",v=this.target==="draft-2020-12"||this.target==="openapi-3.0"?"items":"additionalItems",$=e.items.map((A,M)=>this.process(A,{...d,path:[...d.path,g,M]})),b=e.rest?this.process(e.rest,{...d,path:[...d.path,v,...this.target==="openapi-3.0"?[e.items.length]:[]]}):null;this.target==="draft-2020-12"?(p.prefixItems=$,b&&(p.items=b)):this.target==="openapi-3.0"?(p.items={anyOf:$},b&&p.items.anyOf.push(b),p.minItems=$.length,b||(p.maxItems=$.length)):(p.items=$,b&&(p.additionalItems=b));const{minimum:z,maximum:S}=t._zod.bag;typeof z=="number"&&(p.minItems=z),typeof S=="number"&&(p.maxItems=S);break}case"record":{const p=m;p.type="object",(this.target==="draft-7"||this.target==="draft-2020-12")&&(p.propertyNames=this.process(e.keyType,{...d,path:[...d.path,"propertyNames"]})),p.additionalProperties=this.process(e.valueType,{...d,path:[...d.path,"additionalProperties"]});break}case"map":{if(this.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema");break}case"set":{if(this.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema");break}case"enum":{const p=m,g=Or(e.entries);g.every(v=>typeof v=="number")&&(p.type="number"),g.every(v=>typeof v=="string")&&(p.type="string"),p.enum=g;break}case"literal":{const p=m,g=[];for(const v of e.values)if(v===void 0){if(this.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof v=="bigint"){if(this.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");g.push(Number(v))}else g.push(v);if(g.length!==0)if(g.length===1){const v=g[0];p.type=v===null?"null":typeof v,this.target==="draft-4"||this.target==="openapi-3.0"?p.enum=[v]:p.const=v}else g.every(v=>typeof v=="number")&&(p.type="number"),g.every(v=>typeof v=="string")&&(p.type="string"),g.every(v=>typeof v=="boolean")&&(p.type="string"),g.every(v=>v===null)&&(p.type="null"),p.enum=g;break}case"file":{const p=m,g={type:"string",format:"binary",contentEncoding:"binary"},{minimum:v,maximum:$,mime:b}=t._zod.bag;v!==void 0&&(g.minLength=v),$!==void 0&&(g.maxLength=$),b?b.length===1?(g.contentMediaType=b[0],Object.assign(p,g)):p.anyOf=b.map(z=>({...g,contentMediaType:z})):Object.assign(p,g);break}case"transform":{if(this.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema");break}case"nullable":{const p=this.process(e.innerType,d);this.target==="openapi-3.0"?(a.ref=e.innerType,m.nullable=!0):m.anyOf=[p,{type:"null"}];break}case"nonoptional":{this.process(e.innerType,d),a.ref=e.innerType;break}case"success":{const p=m;p.type="boolean";break}case"default":{this.process(e.innerType,d),a.ref=e.innerType,m.default=JSON.parse(JSON.stringify(e.defaultValue));break}case"prefault":{this.process(e.innerType,d),a.ref=e.innerType,this.io==="input"&&(m._prefault=JSON.parse(JSON.stringify(e.defaultValue)));break}case"catch":{this.process(e.innerType,d),a.ref=e.innerType;let p;try{p=e.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}m.default=p;break}case"nan":{if(this.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema");break}case"template_literal":{const p=m,g=t._zod.pattern;if(!g)throw new Error("Pattern not found in template literal");p.type="string",p.pattern=g.source;break}case"pipe":{const p=this.io==="input"?e.in._zod.def.type==="transform"?e.out:e.in:e.out;this.process(p,d),a.ref=p;break}case"readonly":{this.process(e.innerType,d),a.ref=e.innerType,m.readOnly=!0;break}case"promise":{this.process(e.innerType,d),a.ref=e.innerType;break}case"optional":{this.process(e.innerType,d),a.ref=e.innerType;break}case"lazy":{const p=t._zod.innerType;this.process(p,d),a.ref=p;break}case"custom":{if(this.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema");break}case"function":{if(this.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema");break}}}}const c=this.metadataRegistry.get(t);return c&&Object.assign(a.schema,c),this.io==="input"&&te(t)&&(delete a.schema.examples,delete a.schema.default),this.io==="input"&&a.schema._prefault&&((o=a.schema).default??(o.default=a.schema._prefault)),delete a.schema._prefault,this.seen.get(t).schema}emit(t,n){const o={cycles:n?.cycles??"ref",reused:n?.reused??"inline",external:n?.external??void 0},e=this.seen.get(t);if(!e)throw new Error("Unprocessed schema. This is a bug in Zod.");const i=l=>{const d=this.target==="draft-2020-12"?"$defs":"definitions";if(o.external){const g=o.external.registry.get(l[0])?.id,v=o.external.uri??(b=>b);if(g)return{ref:v(g)};const $=l[1].defId??l[1].schema.id??`schema${this.counter++}`;return l[1].defId=$,{defId:$,ref:`${v("__shared")}#/${d}/${$}`}}if(l[1]===e)return{ref:"#"};const m=`#/${d}/`,p=l[1].schema.id??`__schema${this.counter++}`;return{defId:p,ref:m+p}},s=l=>{if(l[1].schema.$ref)return;const d=l[1],{ref:h,defId:m}=i(l);d.def={...d.schema},m&&(d.defId=m);const p=d.schema;for(const g in p)delete p[g];p.$ref=h};if(o.cycles==="throw")for(const l of this.seen.entries()){const d=l[1];if(d.cycle)throw new Error(`Cycle detected: #/${d.cycle?.join("/")}/<root>
22
+
23
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const l of this.seen.entries()){const d=l[1];if(t===l[0]){s(l);continue}if(o.external){const m=o.external.registry.get(l[0])?.id;if(t!==l[0]&&m){s(l);continue}}if(this.metadataRegistry.get(l[0])?.id){s(l);continue}if(d.cycle){s(l);continue}if(d.count>1&&o.reused==="ref"){s(l);continue}}const a=(l,d)=>{const h=this.seen.get(l),m=h.def??h.schema,p={...m};if(h.ref===null)return;const g=h.ref;if(h.ref=null,g){a(g,d);const v=this.seen.get(g).schema;v.$ref&&(d.target==="draft-7"||d.target==="draft-4"||d.target==="openapi-3.0")?(m.allOf=m.allOf??[],m.allOf.push(v)):(Object.assign(m,v),Object.assign(m,p))}h.isParent||this.override({zodSchema:l,jsonSchema:m,path:h.path??[]})};for(const l of[...this.seen.entries()].reverse())a(l[0],{target:this.target});const u={};if(this.target==="draft-2020-12"?u.$schema="https://json-schema.org/draft/2020-12/schema":this.target==="draft-7"?u.$schema="http://json-schema.org/draft-07/schema#":this.target==="draft-4"?u.$schema="http://json-schema.org/draft-04/schema#":this.target==="openapi-3.0"||console.warn(`Invalid target: ${this.target}`),o.external?.uri){const l=o.external.registry.get(t)?.id;if(!l)throw new Error("Schema is missing an `id` property");u.$id=o.external.uri(l)}Object.assign(u,e.def);const c=o.external?.defs??{};for(const l of this.seen.entries()){const d=l[1];d.def&&d.defId&&(c[d.defId]=d.def)}o.external||Object.keys(c).length>0&&(this.target==="draft-2020-12"?u.$defs=c:u.definitions=c);try{return JSON.parse(JSON.stringify(u))}catch{throw new Error("Error converting schema to JSON.")}}}function $u(r,t){if(r instanceof Qr){const o=new br(t),e={};for(const a of r._idmap.entries()){const[u,c]=a;o.process(c)}const i={},s={registry:r,uri:t?.uri,defs:e};for(const a of r._idmap.entries()){const[u,c]=a;i[u]=o.emit(c,{...t,external:s})}if(Object.keys(e).length>0){const a=o.target==="draft-2020-12"?"$defs":"definitions";i.__shared={[a]:e}}return{schemas:i}}const n=new br(t);return n.process(r),n.emit(r,t)}function te(r,t){const n=t??{seen:new Set};if(n.seen.has(r))return!1;n.seen.add(r);const e=r._zod.def;switch(e.type){case"string":case"number":case"bigint":case"boolean":case"date":case"symbol":case"undefined":case"null":case"any":case"unknown":case"never":case"void":case"literal":case"enum":case"nan":case"file":case"template_literal":return!1;case"array":return te(e.element,n);case"object":{for(const i in e.shape)if(te(e.shape[i],n))return!0;return!1}case"union":{for(const i of e.options)if(te(i,n))return!0;return!1}case"intersection":return te(e.left,n)||te(e.right,n);case"tuple":{for(const i of e.items)if(te(i,n))return!0;return!!(e.rest&&te(e.rest,n))}case"record":return te(e.keyType,n)||te(e.valueType,n);case"map":return te(e.keyType,n)||te(e.valueType,n);case"set":return te(e.valueType,n);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return te(e.innerType,n);case"lazy":return te(e.getter(),n);case"default":return te(e.innerType,n);case"prefault":return te(e.innerType,n);case"custom":return!1;case"transform":return!0;case"pipe":return te(e.in,n)||te(e.out,n);case"success":return!1;case"catch":return!1;case"function":return!1}throw new Error(`Unknown schema type: ${e.type}`)}const F_=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Z_=Object.freeze(Object.defineProperty({__proto__:null,$ZodAny:Ws,$ZodArray:ea,$ZodAsyncError:Me,$ZodBase64:Rs,$ZodBase64URL:Ls,$ZodBigInt:Wr,$ZodBigIntFormat:Js,$ZodBoolean:Hr,$ZodCIDRv4:Ps,$ZodCIDRv6:Ds,$ZodCUID:ws,$ZodCUID2:Is,$ZodCatch:ya,$ZodCheck:G,$ZodCheckBigIntFormat:es,$ZodCheckEndsWith:_s,$ZodCheckGreaterThan:Jr,$ZodCheckIncludes:ps,$ZodCheckLengthEquals:ss,$ZodCheckLessThan:Br,$ZodCheckLowerCase:us,$ZodCheckMaxLength:os,$ZodCheckMaxSize:ts,$ZodCheckMimeType:ms,$ZodCheckMinLength:is,$ZodCheckMinSize:rs,$ZodCheckMultipleOf:Xi,$ZodCheckNumberFormat:Qi,$ZodCheckOverwrite:gs,$ZodCheckProperty:ds,$ZodCheckRegex:as,$ZodCheckSizeEquals:ns,$ZodCheckStartsWith:ls,$ZodCheckStringFormat:wt,$ZodCheckUpperCase:cs,$ZodCodec:Xr,$ZodCustom:Oa,$ZodCustomStringFormat:qs,$ZodDate:Qs,$ZodDefault:ha,$ZodDiscriminatedUnion:ia,$ZodE164:Fs,$ZodEmail:ys,$ZodEmoji:xs,$ZodEncodeError:Kt,$ZodEnum:pa,$ZodError:Er,$ZodFile:_a,$ZodFunction:Ia,$ZodGUID:vs,$ZodIPv4:As,$ZodIPv6:Us,$ZodISODate:Es,$ZodISODateTime:Ts,$ZodISODuration:js,$ZodISOTime:Ns,$ZodIntersection:sa,$ZodJWT:Ms,$ZodKSUID:Os,$ZodLazy:za,$ZodLiteral:la,$ZodMap:ua,$ZodNaN:ba,$ZodNanoID:$s,$ZodNever:Ys,$ZodNonOptional:va,$ZodNull:Hs,$ZodNullable:ga,$ZodNumber:Vr,$ZodNumberFormat:Bs,$ZodObject:na,$ZodObjectJIT:oa,$ZodOptional:ma,$ZodPipe:xa,$ZodPrefault:fa,$ZodPromise:Sa,$ZodReadonly:$a,$ZodRealError:_e,$ZodRecord:aa,$ZodRegistry:Qr,$ZodSet:ca,$ZodString:It,$ZodStringFormat:L,$ZodSuccess:ka,$ZodSymbol:Gs,$ZodTemplateLiteral:wa,$ZodTransform:da,$ZodTuple:Yr,$ZodType:T,$ZodULID:Ss,$ZodURL:bs,$ZodUUID:ks,$ZodUndefined:Vs,$ZodUnion:Kr,$ZodUnknown:Ks,$ZodVoid:Xs,$ZodXID:zs,$brand:Wo,$constructor:_,$input:Ua,$output:Aa,Doc:hs,JSONSchema:F_,JSONSchemaGenerator:br,NEVER:Ho,TimePrecision:Ra,_any:ou,_array:hu,_base64:vn,_base64url:kn,_bigint:Ya,_boolean:Wa,_catch:U_,_check:bu,_cidrv4:hn,_cidrv6:fn,_coercedBigint:Xa,_coercedBoolean:Ka,_coercedDate:cu,_coercedNumber:qa,_coercedString:Da,_cuid:cn,_cuid2:pn,_custom:vu,_date:uu,_decode:Ur,_decodeAsync:Dr,_default:N_,_discriminatedUnion:k_,_e164:yn,_email:tn,_emoji:an,_encode:Ar,_encodeAsync:Pr,_endsWith:On,_enum:I_,_file:fu,_float32:Ja,_float64:Ga,_gt:Je,_gte:le,_guid:qt,_includes:Sn,_int:Ba,_int32:Va,_int64:Qa,_intersection:y_,_ipv4:mn,_ipv6:gn,_isoDate:La,_isoDateTime:Ca,_isoDuration:Za,_isoTime:Fa,_jwt:bn,_ksuid:dn,_lazy:C_,_length:or,_literal:z_,_lowercase:wn,_lt:Be,_lte:fe,_map:$_,_max:fe,_maxLength:nr,_maxSize:rr,_mime:Tn,_min:le,_minLength:Xe,_minSize:mt,_multipleOf:dt,_nan:pu,_nanoid:un,_nativeEnum:S_,_negative:_u,_never:su,_nonnegative:mu,_nonoptional:j_,_nonpositive:du,_normalize:En,_null:nu,_nullable:E_,_number:Ma,_optional:T_,_overwrite:Ve,_parse:vt,_parseAsync:kt,_pipe:P_,_positive:lu,_promise:L_,_property:gu,_readonly:D_,_record:x_,_refine:ku,_regex:$n,_safeDecode:Cr,_safeDecodeAsync:Fr,_safeEncode:Rr,_safeEncodeAsync:Lr,_safeParse:yt,_safeParseAsync:bt,_set:w_,_size:xn,_startsWith:zn,_string:Pa,_stringFormat:St,_stringbool:xu,_success:A_,_superRefine:yu,_symbol:tu,_templateLiteral:R_,_toLowerCase:jn,_toUpperCase:An,_transform:O_,_trim:Nn,_tuple:b_,_uint32:Ha,_uint64:eu,_ulid:ln,_undefined:ru,_union:v_,_unknown:iu,_uppercase:In,_url:tr,_uuid:rn,_uuidv4:nn,_uuidv6:on,_uuidv7:sn,_void:au,_xid:_n,clone:me,config:ce,decode:Qc,decodeAsync:tp,encode:Xc,encodeAsync:ep,flattenError:Nr,formatError:jr,globalConfig:Lt,globalRegistry:Ze,isValidBase64:Gr,isValidBase64URL:Cs,isValidJWT:Zs,locales:ja,parse:vr,parseAsync:kr,prettifyError:gi,regexes:qr,registry:en,safeDecode:np,safeDecodeAsync:ip,safeEncode:rp,safeEncodeAsync:op,safeParse:hi,safeParseAsync:fi,toDotPath:mi,toJSONSchema:$u,treeifyError:di,util:li,version:fs},Symbol.toStringTag,{value:"Module"})),Un=_("ZodISODateTime",(r,t)=>{Ts.init(r,t),Z.init(r,t)});function wu(r){return Ca(Un,r)}const Pn=_("ZodISODate",(r,t)=>{Es.init(r,t),Z.init(r,t)});function Iu(r){return La(Pn,r)}const Dn=_("ZodISOTime",(r,t)=>{Ns.init(r,t),Z.init(r,t)});function Su(r){return Fa(Dn,r)}const Rn=_("ZodISODuration",(r,t)=>{js.init(r,t),Z.init(r,t)});function zu(r){return Za(Rn,r)}const M_=Object.freeze(Object.defineProperty({__proto__:null,ZodISODate:Pn,ZodISODateTime:Un,ZodISODuration:Rn,ZodISOTime:Dn,date:Iu,datetime:wu,duration:zu,time:Su},Symbol.toStringTag,{value:"Module"})),Ou=(r,t)=>{Er.init(r,t),r.name="ZodError",Object.defineProperties(r,{format:{value:n=>jr(r,n)},flatten:{value:n=>Nr(r,n)},addIssue:{value:n=>{r.issues.push(n),r.message=JSON.stringify(r.issues,Ft,2)}},addIssues:{value:n=>{r.issues.push(...n),r.message=JSON.stringify(r.issues,Ft,2)}},isEmpty:{get(){return r.issues.length===0}}})},q_=_("ZodError",Ou),de=_("ZodError",Ou,{Parent:Error}),Tu=vt(de),Eu=kt(de),Nu=yt(de),ju=bt(de),Au=Ar(de),Uu=Ur(de),Pu=Pr(de),Du=Dr(de),Ru=Rr(de),Cu=Cr(de),Lu=Lr(de),Fu=Fr(de),N=_("ZodType",(r,t)=>(T.init(r,t),r.def=t,r.type=t.type,Object.defineProperty(r,"_def",{value:t}),r.check=(...n)=>r.clone(Ne(t,{checks:[...t.checks??[],...n.map(o=>typeof o=="function"?{_zod:{check:o,def:{check:"custom"},onattach:[]}}:o)]})),r.clone=(n,o)=>me(r,n,o),r.brand=()=>r,r.register=(n,o)=>(n.add(r,o),r),r.parse=(n,o)=>Tu(r,n,o,{callee:r.parse}),r.safeParse=(n,o)=>Nu(r,n,o),r.parseAsync=async(n,o)=>Eu(r,n,o,{callee:r.parseAsync}),r.safeParseAsync=async(n,o)=>ju(r,n,o),r.spa=r.safeParseAsync,r.encode=(n,o)=>Au(r,n,o),r.decode=(n,o)=>Uu(r,n,o),r.encodeAsync=async(n,o)=>Pu(r,n,o),r.decodeAsync=async(n,o)=>Du(r,n,o),r.safeEncode=(n,o)=>Ru(r,n,o),r.safeDecode=(n,o)=>Cu(r,n,o),r.safeEncodeAsync=async(n,o)=>Lu(r,n,o),r.safeDecodeAsync=async(n,o)=>Fu(r,n,o),r.refine=(n,o)=>r.check(bc(n,o)),r.superRefine=n=>r.check(xc(n)),r.overwrite=n=>r.check(Ve(n)),r.optional=()=>Jt(r),r.nullable=()=>Gt(r),r.nullish=()=>Jt(Gt(r)),r.nonoptional=n=>pc(r,n),r.array=()=>we(r),r.or=n=>je([r,n]),r.and=n=>Yu(r,n),r.transform=n=>Vt(r,ao(n)),r.default=n=>ac(r,n),r.prefault=n=>cc(r,n),r.catch=n=>dc(r,n),r.pipe=n=>Vt(r,n),r.readonly=()=>hc(r),r.describe=n=>{const o=r.clone();return Ze.add(o,{description:n}),o},Object.defineProperty(r,"description",{get(){return Ze.get(r)?.description},configurable:!0}),r.meta=(...n)=>{if(n.length===0)return Ze.get(r);const o=r.clone();return Ze.add(o,n[0]),o},r.isOptional=()=>r.safeParse(void 0).success,r.isNullable=()=>r.safeParse(null).success,r)),Cn=_("_ZodString",(r,t)=>{It.init(r,t),N.init(r,t);const n=r._zod.bag;r.format=n.format??null,r.minLength=n.minimum??null,r.maxLength=n.maximum??null,r.regex=(...o)=>r.check($n(...o)),r.includes=(...o)=>r.check(Sn(...o)),r.startsWith=(...o)=>r.check(zn(...o)),r.endsWith=(...o)=>r.check(On(...o)),r.min=(...o)=>r.check(Xe(...o)),r.max=(...o)=>r.check(nr(...o)),r.length=(...o)=>r.check(or(...o)),r.nonempty=(...o)=>r.check(Xe(1,...o)),r.lowercase=o=>r.check(wn(o)),r.uppercase=o=>r.check(In(o)),r.trim=()=>r.check(Nn()),r.normalize=(...o)=>r.check(En(...o)),r.toLowerCase=()=>r.check(jn()),r.toUpperCase=()=>r.check(An())}),ir=_("ZodString",(r,t)=>{It.init(r,t),Cn.init(r,t),r.email=n=>r.check(tn(Ln,n)),r.url=n=>r.check(tr(sr,n)),r.jwt=n=>r.check(bn(eo,n)),r.emoji=n=>r.check(an(Fn,n)),r.guid=n=>r.check(qt(Bt,n)),r.uuid=n=>r.check(rn(Te,n)),r.uuidv4=n=>r.check(nn(Te,n)),r.uuidv6=n=>r.check(on(Te,n)),r.uuidv7=n=>r.check(sn(Te,n)),r.nanoid=n=>r.check(un(Zn,n)),r.guid=n=>r.check(qt(Bt,n)),r.cuid=n=>r.check(cn(Mn,n)),r.cuid2=n=>r.check(pn(qn,n)),r.ulid=n=>r.check(ln(Bn,n)),r.base64=n=>r.check(vn(Yn,n)),r.base64url=n=>r.check(kn(Xn,n)),r.xid=n=>r.check(_n(Jn,n)),r.ksuid=n=>r.check(dn(Gn,n)),r.ipv4=n=>r.check(mn(Vn,n)),r.ipv6=n=>r.check(gn(Hn,n)),r.cidrv4=n=>r.check(hn(Wn,n)),r.cidrv6=n=>r.check(fn(Kn,n)),r.e164=n=>r.check(yn(Qn,n)),r.datetime=n=>r.check(wu(n)),r.date=n=>r.check(Iu(n)),r.time=n=>r.check(Su(n)),r.duration=n=>r.check(zu(n))});function D(r){return Pa(ir,r)}const Z=_("ZodStringFormat",(r,t)=>{L.init(r,t),Cn.init(r,t)}),Ln=_("ZodEmail",(r,t)=>{ys.init(r,t),Z.init(r,t)});function B_(r){return tn(Ln,r)}const Bt=_("ZodGUID",(r,t)=>{vs.init(r,t),Z.init(r,t)});function J_(r){return qt(Bt,r)}const Te=_("ZodUUID",(r,t)=>{ks.init(r,t),Z.init(r,t)});function G_(r){return rn(Te,r)}function V_(r){return nn(Te,r)}function H_(r){return on(Te,r)}function W_(r){return sn(Te,r)}const sr=_("ZodURL",(r,t)=>{bs.init(r,t),Z.init(r,t)});function K_(r){return tr(sr,r)}function Y_(r){return tr(sr,{protocol:/^https?$/,hostname:Ui,...k(r)})}const Fn=_("ZodEmoji",(r,t)=>{xs.init(r,t),Z.init(r,t)});function X_(r){return an(Fn,r)}const Zn=_("ZodNanoID",(r,t)=>{$s.init(r,t),Z.init(r,t)});function Q_(r){return un(Zn,r)}const Mn=_("ZodCUID",(r,t)=>{ws.init(r,t),Z.init(r,t)});function ed(r){return cn(Mn,r)}const qn=_("ZodCUID2",(r,t)=>{Is.init(r,t),Z.init(r,t)});function td(r){return pn(qn,r)}const Bn=_("ZodULID",(r,t)=>{Ss.init(r,t),Z.init(r,t)});function rd(r){return ln(Bn,r)}const Jn=_("ZodXID",(r,t)=>{zs.init(r,t),Z.init(r,t)});function nd(r){return _n(Jn,r)}const Gn=_("ZodKSUID",(r,t)=>{Os.init(r,t),Z.init(r,t)});function od(r){return dn(Gn,r)}const Vn=_("ZodIPv4",(r,t)=>{As.init(r,t),Z.init(r,t)});function id(r){return mn(Vn,r)}const Hn=_("ZodIPv6",(r,t)=>{Us.init(r,t),Z.init(r,t)});function sd(r){return gn(Hn,r)}const Wn=_("ZodCIDRv4",(r,t)=>{Ps.init(r,t),Z.init(r,t)});function ad(r){return hn(Wn,r)}const Kn=_("ZodCIDRv6",(r,t)=>{Ds.init(r,t),Z.init(r,t)});function ud(r){return fn(Kn,r)}const Yn=_("ZodBase64",(r,t)=>{Rs.init(r,t),Z.init(r,t)});function cd(r){return vn(Yn,r)}const Xn=_("ZodBase64URL",(r,t)=>{Ls.init(r,t),Z.init(r,t)});function pd(r){return kn(Xn,r)}const Qn=_("ZodE164",(r,t)=>{Fs.init(r,t),Z.init(r,t)});function ld(r){return yn(Qn,r)}const eo=_("ZodJWT",(r,t)=>{Ms.init(r,t),Z.init(r,t)});function _d(r){return bn(eo,r)}const zt=_("ZodCustomStringFormat",(r,t)=>{qs.init(r,t),Z.init(r,t)});function dd(r,t,n={}){return St(zt,r,t,n)}function md(r){return St(zt,"hostname",Mr,r)}function gd(r){return St(zt,"hex",Ki,r)}function hd(r,t){const n=t?.enc??"hex",o=`${r}_${n}`,e=qr[o];if(!e)throw new Error(`Unrecognized hash format: ${o}`);return St(zt,o,e,t)}const ar=_("ZodNumber",(r,t)=>{Vr.init(r,t),N.init(r,t),r.gt=(o,e)=>r.check(Je(o,e)),r.gte=(o,e)=>r.check(le(o,e)),r.min=(o,e)=>r.check(le(o,e)),r.lt=(o,e)=>r.check(Be(o,e)),r.lte=(o,e)=>r.check(fe(o,e)),r.max=(o,e)=>r.check(fe(o,e)),r.int=o=>r.check(xr(o)),r.safe=o=>r.check(xr(o)),r.positive=o=>r.check(Je(0,o)),r.nonnegative=o=>r.check(le(0,o)),r.negative=o=>r.check(Be(0,o)),r.nonpositive=o=>r.check(fe(0,o)),r.multipleOf=(o,e)=>r.check(dt(o,e)),r.step=(o,e)=>r.check(dt(o,e)),r.finite=()=>r;const n=r._zod.bag;r.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,r.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,r.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),r.isFinite=!0,r.format=n.format??null});function xe(r){return Ma(ar,r)}const tt=_("ZodNumberFormat",(r,t)=>{Bs.init(r,t),ar.init(r,t)});function xr(r){return Ba(tt,r)}function fd(r){return Ja(tt,r)}function vd(r){return Ga(tt,r)}function kd(r){return Va(tt,r)}function yd(r){return Ha(tt,r)}const ur=_("ZodBoolean",(r,t)=>{Hr.init(r,t),N.init(r,t)});function rt(r){return Wa(ur,r)}const cr=_("ZodBigInt",(r,t)=>{Wr.init(r,t),N.init(r,t),r.gte=(o,e)=>r.check(le(o,e)),r.min=(o,e)=>r.check(le(o,e)),r.gt=(o,e)=>r.check(Je(o,e)),r.gte=(o,e)=>r.check(le(o,e)),r.min=(o,e)=>r.check(le(o,e)),r.lt=(o,e)=>r.check(Be(o,e)),r.lte=(o,e)=>r.check(fe(o,e)),r.max=(o,e)=>r.check(fe(o,e)),r.positive=o=>r.check(Je(BigInt(0),o)),r.negative=o=>r.check(Be(BigInt(0),o)),r.nonpositive=o=>r.check(fe(BigInt(0),o)),r.nonnegative=o=>r.check(le(BigInt(0),o)),r.multipleOf=(o,e)=>r.check(dt(o,e));const n=r._zod.bag;r.minValue=n.minimum??null,r.maxValue=n.maximum??null,r.format=n.format??null});function bd(r){return Ya(cr,r)}const to=_("ZodBigIntFormat",(r,t)=>{Js.init(r,t),cr.init(r,t)});function xd(r){return Qa(to,r)}function $d(r){return eu(to,r)}const Zu=_("ZodSymbol",(r,t)=>{Gs.init(r,t),N.init(r,t)});function wd(r){return tu(Zu,r)}const Mu=_("ZodUndefined",(r,t)=>{Vs.init(r,t),N.init(r,t)});function Id(r){return ru(Mu,r)}const qu=_("ZodNull",(r,t)=>{Hs.init(r,t),N.init(r,t)});function ro(r){return nu(qu,r)}const Bu=_("ZodAny",(r,t)=>{Ws.init(r,t),N.init(r,t)});function $e(){return ou(Bu)}const Ju=_("ZodUnknown",(r,t)=>{Ks.init(r,t),N.init(r,t)});function Ee(){return iu(Ju)}const Gu=_("ZodNever",(r,t)=>{Ys.init(r,t),N.init(r,t)});function no(r){return su(Gu,r)}const Vu=_("ZodVoid",(r,t)=>{Xs.init(r,t),N.init(r,t)});function Sd(r){return au(Vu,r)}const oo=_("ZodDate",(r,t)=>{Qs.init(r,t),N.init(r,t),r.min=(o,e)=>r.check(le(o,e)),r.max=(o,e)=>r.check(fe(o,e));const n=r._zod.bag;r.minDate=n.minimum?new Date(n.minimum):null,r.maxDate=n.maximum?new Date(n.maximum):null});function zd(r){return uu(oo,r)}const Hu=_("ZodArray",(r,t)=>{ea.init(r,t),N.init(r,t),r.element=t.element,r.min=(n,o)=>r.check(Xe(n,o)),r.nonempty=n=>r.check(Xe(1,n)),r.max=(n,o)=>r.check(nr(n,o)),r.length=(n,o)=>r.check(or(n,o)),r.unwrap=()=>r.element});function we(r,t){return hu(Hu,r,t)}function Od(r){const t=r._zod.def.shape;return ot(Object.keys(t))}const pr=_("ZodObject",(r,t)=>{oa.init(r,t),N.init(r,t),P(r,"shape",()=>t.shape),r.keyof=()=>ot(Object.keys(r._zod.def.shape)),r.catchall=n=>r.clone({...r._zod.def,catchall:n}),r.passthrough=()=>r.clone({...r._zod.def,catchall:Ee()}),r.loose=()=>r.clone({...r._zod.def,catchall:Ee()}),r.strict=()=>r.clone({...r._zod.def,catchall:no()}),r.strip=()=>r.clone({...r._zod.def,catchall:void 0}),r.extend=n=>oi(r,n),r.safeExtend=n=>ii(r,n),r.merge=n=>si(r,n),r.pick=n=>ri(r,n),r.omit=n=>ni(r,n),r.partial=(...n)=>ai(uo,r,n[0]),r.required=(...n)=>ui(co,r,n[0])});function R(r,t){const n={type:"object",shape:r??{},...k(t)};return new pr(n)}function Td(r,t){return new pr({type:"object",shape:r,catchall:no(),...k(t)})}function Ed(r,t){return new pr({type:"object",shape:r,catchall:Ee(),...k(t)})}const io=_("ZodUnion",(r,t)=>{Kr.init(r,t),N.init(r,t),r.options=t.options});function je(r,t){return new io({type:"union",options:r,...k(t)})}const Wu=_("ZodDiscriminatedUnion",(r,t)=>{io.init(r,t),ia.init(r,t)});function Nd(r,t,n){return new Wu({type:"union",options:t,discriminator:r,...k(n)})}const Ku=_("ZodIntersection",(r,t)=>{sa.init(r,t),N.init(r,t)});function Yu(r,t){return new Ku({type:"intersection",left:r,right:t})}const Xu=_("ZodTuple",(r,t)=>{Yr.init(r,t),N.init(r,t),r.rest=n=>r.clone({...r._zod.def,rest:n})});function Qu(r,t,n){const o=t instanceof T,e=o?n:t,i=o?t:null;return new Xu({type:"tuple",items:r,rest:i,...k(e)})}const so=_("ZodRecord",(r,t)=>{aa.init(r,t),N.init(r,t),r.keyType=t.keyType,r.valueType=t.valueType});function nt(r,t,n){return new so({type:"record",keyType:r,valueType:t,...k(n)})}function jd(r,t,n){const o=me(r);return o._zod.values=void 0,new so({type:"record",keyType:o,valueType:t,...k(n)})}const ec=_("ZodMap",(r,t)=>{ua.init(r,t),N.init(r,t),r.keyType=t.keyType,r.valueType=t.valueType});function Ad(r,t,n){return new ec({type:"map",keyType:r,valueType:t,...k(n)})}const tc=_("ZodSet",(r,t)=>{ca.init(r,t),N.init(r,t),r.min=(...n)=>r.check(mt(...n)),r.nonempty=n=>r.check(mt(1,n)),r.max=(...n)=>r.check(rr(...n)),r.size=(...n)=>r.check(xn(...n))});function Ud(r,t){return new tc({type:"set",valueType:r,...k(t)})}const gt=_("ZodEnum",(r,t)=>{pa.init(r,t),N.init(r,t),r.enum=t.entries,r.options=Object.values(t.entries);const n=new Set(Object.keys(t.entries));r.extract=(o,e)=>{const i={};for(const s of o)if(n.has(s))i[s]=t.entries[s];else throw new Error(`Key ${s} not found in enum`);return new gt({...t,checks:[],...k(e),entries:i})},r.exclude=(o,e)=>{const i={...t.entries};for(const s of o)if(n.has(s))delete i[s];else throw new Error(`Key ${s} not found in enum`);return new gt({...t,checks:[],...k(e),entries:i})}});function ot(r,t){const n=Array.isArray(r)?Object.fromEntries(r.map(o=>[o,o])):r;return new gt({type:"enum",entries:n,...k(t)})}function Pd(r,t){return new gt({type:"enum",entries:r,...k(t)})}const rc=_("ZodLiteral",(r,t)=>{la.init(r,t),N.init(r,t),r.values=new Set(t.values),Object.defineProperty(r,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function ue(r,t){return new rc({type:"literal",values:Array.isArray(r)?r:[r],...k(t)})}const nc=_("ZodFile",(r,t)=>{_a.init(r,t),N.init(r,t),r.min=(n,o)=>r.check(mt(n,o)),r.max=(n,o)=>r.check(rr(n,o)),r.mime=(n,o)=>r.check(Tn(Array.isArray(n)?n:[n],o))});function Dd(r){return fu(nc,r)}const oc=_("ZodTransform",(r,t)=>{da.init(r,t),N.init(r,t),r._zod.parse=(n,o)=>{if(o.direction==="backward")throw new Kt(r.constructor.name);n.addIssue=i=>{if(typeof i=="string")n.issues.push(Ke(i,n.value,t));else{const s=i;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),s.input??(s.input=n.value),s.inst??(s.inst=r),n.issues.push(Ke(s))}};const e=t.transform(n.value,n);return e instanceof Promise?e.then(i=>(n.value=i,n)):(n.value=e,n)}});function ao(r){return new oc({type:"transform",transform:r})}const uo=_("ZodOptional",(r,t)=>{ma.init(r,t),N.init(r,t),r.unwrap=()=>r._zod.def.innerType});function Jt(r){return new uo({type:"optional",innerType:r})}const ic=_("ZodNullable",(r,t)=>{ga.init(r,t),N.init(r,t),r.unwrap=()=>r._zod.def.innerType});function Gt(r){return new ic({type:"nullable",innerType:r})}function Rd(r){return Jt(Gt(r))}const sc=_("ZodDefault",(r,t)=>{ha.init(r,t),N.init(r,t),r.unwrap=()=>r._zod.def.innerType,r.removeDefault=r.unwrap});function ac(r,t){return new sc({type:"default",innerType:r,get defaultValue(){return typeof t=="function"?t():Xt(t)}})}const uc=_("ZodPrefault",(r,t)=>{fa.init(r,t),N.init(r,t),r.unwrap=()=>r._zod.def.innerType});function cc(r,t){return new uc({type:"prefault",innerType:r,get defaultValue(){return typeof t=="function"?t():Xt(t)}})}const co=_("ZodNonOptional",(r,t)=>{va.init(r,t),N.init(r,t),r.unwrap=()=>r._zod.def.innerType});function pc(r,t){return new co({type:"nonoptional",innerType:r,...k(t)})}const lc=_("ZodSuccess",(r,t)=>{ka.init(r,t),N.init(r,t),r.unwrap=()=>r._zod.def.innerType});function Cd(r){return new lc({type:"success",innerType:r})}const _c=_("ZodCatch",(r,t)=>{ya.init(r,t),N.init(r,t),r.unwrap=()=>r._zod.def.innerType,r.removeCatch=r.unwrap});function dc(r,t){return new _c({type:"catch",innerType:r,catchValue:typeof t=="function"?t:()=>t})}const mc=_("ZodNaN",(r,t)=>{ba.init(r,t),N.init(r,t)});function Ld(r){return pu(mc,r)}const po=_("ZodPipe",(r,t)=>{xa.init(r,t),N.init(r,t),r.in=t.in,r.out=t.out});function Vt(r,t){return new po({type:"pipe",in:r,out:t})}const lo=_("ZodCodec",(r,t)=>{po.init(r,t),Xr.init(r,t)});function Fd(r,t,n){return new lo({type:"pipe",in:r,out:t,transform:n.decode,reverseTransform:n.encode})}const gc=_("ZodReadonly",(r,t)=>{$a.init(r,t),N.init(r,t),r.unwrap=()=>r._zod.def.innerType});function hc(r){return new gc({type:"readonly",innerType:r})}const fc=_("ZodTemplateLiteral",(r,t)=>{wa.init(r,t),N.init(r,t)});function Zd(r,t){return new fc({type:"template_literal",parts:r,...k(t)})}const vc=_("ZodLazy",(r,t)=>{za.init(r,t),N.init(r,t),r.unwrap=()=>r._zod.def.getter()});function _o(r){return new vc({type:"lazy",getter:r})}const kc=_("ZodPromise",(r,t)=>{Sa.init(r,t),N.init(r,t),r.unwrap=()=>r._zod.def.innerType});function Md(r){return new kc({type:"promise",innerType:r})}const yc=_("ZodFunction",(r,t)=>{Ia.init(r,t),N.init(r,t)});function Uo(r){return new yc({type:"function",input:Array.isArray(r?.input)?Qu(r?.input):r?.input??we(Ee()),output:r?.output??Ee()})}const lr=_("ZodCustom",(r,t)=>{Oa.init(r,t),N.init(r,t)});function qd(r){const t=new G({check:"custom"});return t._zod.check=r,t}function Bd(r,t){return vu(lr,r??(()=>!0),t)}function bc(r,t={}){return ku(lr,r,t)}function xc(r){return yu(r)}function Jd(r,t={error:`Input not instance of ${r.name}`}){const n=new lr({type:"custom",check:"custom",fn:o=>o instanceof r,abort:!0,...k(t)});return n._zod.bag.Class=r,n}const Gd=(...r)=>xu({Codec:lo,Boolean:ur,String:ir},...r);function Vd(r){const t=_o(()=>je([D(r),xe(),rt(),ro(),we(t),nt(D(),t)]));return t}function Hd(r,t){return Vt(ao(r),t)}const Wd={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};function Kd(r){ce({customError:r})}function Yd(){return ce().customError}var $r;$r||($r={});function Xd(r){return Da(ir,r)}function Qd(r){return qa(ar,r)}function em(r){return Ka(ur,r)}function tm(r){return Xa(cr,r)}function Ct(r){return cu(oo,r)}const rm=Object.freeze(Object.defineProperty({__proto__:null,bigint:tm,boolean:em,date:Ct,number:Qd,string:Xd},Symbol.toStringTag,{value:"Module"}));ce(Ta());const ie=Object.freeze(Object.defineProperty({__proto__:null,$brand:Wo,$input:Ua,$output:Aa,NEVER:Ho,TimePrecision:Ra,ZodAny:Bu,ZodArray:Hu,ZodBase64:Yn,ZodBase64URL:Xn,ZodBigInt:cr,ZodBigIntFormat:to,ZodBoolean:ur,ZodCIDRv4:Wn,ZodCIDRv6:Kn,ZodCUID:Mn,ZodCUID2:qn,ZodCatch:_c,ZodCodec:lo,ZodCustom:lr,ZodCustomStringFormat:zt,ZodDate:oo,ZodDefault:sc,ZodDiscriminatedUnion:Wu,ZodE164:Qn,ZodEmail:Ln,ZodEmoji:Fn,ZodEnum:gt,ZodError:q_,ZodFile:nc,get ZodFirstPartyTypeKind(){return $r},ZodFunction:yc,ZodGUID:Bt,ZodIPv4:Vn,ZodIPv6:Hn,ZodISODate:Pn,ZodISODateTime:Un,ZodISODuration:Rn,ZodISOTime:Dn,ZodIntersection:Ku,ZodIssueCode:Wd,ZodJWT:eo,ZodKSUID:Gn,ZodLazy:vc,ZodLiteral:rc,ZodMap:ec,ZodNaN:mc,ZodNanoID:Zn,ZodNever:Gu,ZodNonOptional:co,ZodNull:qu,ZodNullable:ic,ZodNumber:ar,ZodNumberFormat:tt,ZodObject:pr,ZodOptional:uo,ZodPipe:po,ZodPrefault:uc,ZodPromise:kc,ZodReadonly:gc,ZodRealError:de,ZodRecord:so,ZodSet:tc,ZodString:ir,ZodStringFormat:Z,ZodSuccess:lc,ZodSymbol:Zu,ZodTemplateLiteral:fc,ZodTransform:oc,ZodTuple:Xu,ZodType:N,ZodULID:Bn,ZodURL:sr,ZodUUID:Te,ZodUndefined:Mu,ZodUnion:io,ZodUnknown:Ju,ZodVoid:Vu,ZodXID:Jn,_ZodString:Cn,_default:ac,_function:Uo,any:$e,array:we,base64:cd,base64url:pd,bigint:bd,boolean:rt,catch:dc,check:qd,cidrv4:ad,cidrv6:ud,clone:me,codec:Fd,coerce:rm,config:ce,core:Z_,cuid:ed,cuid2:td,custom:Bd,date:zd,decode:Uu,decodeAsync:Du,discriminatedUnion:Nd,e164:ld,email:B_,emoji:X_,encode:Au,encodeAsync:Pu,endsWith:On,enum:ot,file:Dd,flattenError:Nr,float32:fd,float64:vd,formatError:jr,function:Uo,getErrorMap:Yd,globalRegistry:Ze,gt:Je,gte:le,guid:J_,hash:hd,hex:gd,hostname:md,httpUrl:Y_,includes:Sn,instanceof:Jd,int:xr,int32:kd,int64:xd,intersection:Yu,ipv4:id,ipv6:sd,iso:M_,json:Vd,jwt:_d,keyof:Od,ksuid:od,lazy:_o,length:or,literal:ue,locales:ja,looseObject:Ed,lowercase:wn,lt:Be,lte:fe,map:Ad,maxLength:nr,maxSize:rr,mime:Tn,minLength:Xe,minSize:mt,multipleOf:dt,nan:Ld,nanoid:Q_,nativeEnum:Pd,negative:_u,never:no,nonnegative:mu,nonoptional:pc,nonpositive:du,normalize:En,null:ro,nullable:Gt,nullish:Rd,number:xe,object:R,optional:Jt,overwrite:Ve,parse:Tu,parseAsync:Eu,partialRecord:jd,pipe:Vt,positive:lu,prefault:cc,preprocess:Hd,prettifyError:gi,promise:Md,property:gu,readonly:hc,record:nt,refine:bc,regex:$n,regexes:qr,registry:en,safeDecode:Cu,safeDecodeAsync:Fu,safeEncode:Ru,safeEncodeAsync:Lu,safeParse:Nu,safeParseAsync:ju,set:Ud,setErrorMap:Kd,size:xn,startsWith:zn,strictObject:Td,string:D,stringFormat:dd,stringbool:Gd,success:Cd,superRefine:xc,symbol:wd,templateLiteral:Zd,toJSONSchema:$u,toLowerCase:jn,toUpperCase:An,transform:ao,treeifyError:di,trim:Nn,tuple:Qu,uint32:yd,uint64:$d,ulid:rd,undefined:Id,union:je,unknown:Ee,uppercase:In,url:K_,util:li,uuid:G_,uuidv4:V_,uuidv6:H_,uuidv7:W_,void:Sd,xid:nd},Symbol.toStringTag,{value:"Module"})),Le=()=>ie.preprocess(r=>{if(typeof r=="boolean")return r;if(typeof r=="number")return r===1;if(typeof r=="string"){const t=r.trim().toLowerCase();if(["1","true","yes","y","on"].includes(t))return!0;if(["0","false","no","n","off"].includes(t))return!1}},ie.boolean().optional()),nm=()=>ie.preprocess(r=>{if(typeof r=="number"&&Number.isFinite(r))return r;if(typeof r=="string"){const t=Number(r);if(Number.isFinite(t))return t}},ie.number()),$c=ie.object({NODE_ENV:ie.enum(["development","production","test"]).default("production"),AGENT_CONTAINER_MODE:Le().default(!1),AGENT_API_KEY:ie.string().optional(),AGENT_ORGANIZATION_ID:ie.string().optional(),AGENT_SESSION_ID:ie.string().optional(),AGENT_SERVER_URL:ie.string().optional(),AGENT_TYPE:ie.string().optional(),AGENT_DEVICE_GUID:ie.string().optional(),CONTEXT_DATA:ie.string().optional(),AGI_NETLOG_ENABLE:Le().default(!0),AGI_NETLOG_DEBUG:Le().optional(),AGI_NETLOG_FILE:ie.string().optional(),AGI_NETLOG_MAX_BODY:nm().optional(),AGI_NETLOG_REMOTE_ENABLE:Le().default(!0),AGI_NETLOG_REMOTE_FILE:ie.string().optional(),DEBUG:Le().default(!1),VERBOSE:Le().default(!1),LOG_LEVEL:ie.string().optional(),HOSTNAME:ie.string().optional(),VITE_SAVE_RAW:Le().default(!1)});function Dt(r=!1){return r?"https://agiflow.io":"https://agiflow.io"}let q=$c.parse(process.env);class re{static refresh(){q=$c.parse(process.env)}static get isContainerMode(){return!!q.AGENT_CONTAINER_MODE}static get apiKey(){return q.AGENT_API_KEY||process.env.AGENT_API_KEY}static get organizationId(){return q.AGENT_ORGANIZATION_ID||process.env.AGENT_ORGANIZATION_ID}static get sessionId(){return q.AGENT_SESSION_ID||process.env.AGENT_SESSION_ID}static get serverUrl(){return q.AGENT_SERVER_URL||process.env.AGENT_SERVER_URL||Dt(this.isContainerMode)}static get isNetlogEnabled(){return!!q.AGI_NETLOG_ENABLE}static get isNetlogDebug(){return!!q.AGI_NETLOG_DEBUG}static get isNetlogRemoteEnabled(){return!!q.AGI_NETLOG_REMOTE_ENABLE}static get isDebugMode(){return q.DEBUG}static get isVerbose(){return q.VERBOSE}static get logLevel(){return q.LOG_LEVEL??(q.DEBUG?"debug":"info")}static get nodeEnv(){return q.NODE_ENV}static get homeDir(){return process.env.HOME||process.env.USERPROFILE}static get isMacOS(){return process.platform==="darwin"}static get hostname(){return q.HOSTNAME}static get netlogMaxBody(){return q.AGI_NETLOG_MAX_BODY}static get netlogFile(){return q.AGI_NETLOG_FILE}static get netlogRemoteFile(){return q.AGI_NETLOG_REMOTE_FILE}static get agentType(){return q.AGENT_TYPE||process.env.AGENT_TYPE}static get deviceGuid(){return q.AGENT_DEVICE_GUID}static get isSaveRawEnabled(){return!!q.VITE_SAVE_RAW}static get contextData(){return q.CONTEXT_DATA||process.env.CONTEXT_DATA}static serializeEnv(){const t={...process.env};for(const[n,o]of Object.entries(q))o!==void 0&&(typeof o=="string"?t[n]=o:typeof o=="number"?t[n]=String(o):typeof o=="boolean"?t[n]=o?"true":"false":t[n]=String(o));return t}static toChildProcess(){const t=this.serializeEnv();return t.AGENT_SERVER_URL||(t.AGENT_SERVER_URL=Dt(this.isContainerMode)),t.LOG_LEVEL||(t.LOG_LEVEL=this.logLevel),t}static toDocker(){const t=this.serializeEnv();return t.AGENT_CONTAINER_MODE="true",t.AGENT_SERVER_URL||(t.AGENT_SERVER_URL=Dt(!0)),t.LOG_LEVEL||(t.LOG_LEVEL=this.logLevel),t}static toPty(){const t=this.serializeEnv();return t.AGENT_SERVER_URL||(t.AGENT_SERVER_URL=Dt(this.isContainerMode)),t.LOG_LEVEL||(t.LOG_LEVEL=this.logLevel),t}static getEnvs(){return q}}class lt{logStream;logPath;constructor(t){this.logPath=t;const n=ye.dirname(this.logPath);be.existsSync(n)||be.mkdirSync(n,{recursive:!0}),this.logStream=be.createWriteStream(this.logPath,{flags:"a"}),this.logStream.on("error",o=>{console.error(`[FileLogger] Error writing to log file: ${o.message}`)})}info(t,n){this.log(30,t,n)}debug(t,n){this.log(20,t,n)}warn(t,n){this.log(40,t,n)}error(t,n){this.log(50,t,n)}log(t,n,o){const e={time:new Date().toISOString(),level:t,msg:n,...o};try{this.logStream.write(JSON.stringify(e)+`
24
+ `)}catch(i){console.error(`[FileLogger] Failed to write log entry: ${i}`)}}close(){this.logStream&&!this.logStream.destroyed&&this.logStream.end()}getLogPath(){return this.logPath}static shouldDebug(){return re.isDebugMode||re.isNetlogDebug}}const om={max_tokens:1e5,max_input_tokens:2e5,max_output_tokens:1e5,input_cost_per_token:15e-6,output_cost_per_token:6e-5,cache_read_input_token_cost:75e-7,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!0,supports_vision:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_response_schema:!0,supports_reasoning:!0,supports_tool_choice:!0},im={max_tokens:1e5,max_input_tokens:2e5,max_output_tokens:1e5,input_cost_per_token:2e-6,output_cost_per_token:8e-6,cache_read_input_token_cost:5e-7,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!1,supports_vision:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_response_schema:!0,supports_reasoning:!0,supports_tool_choice:!0,supported_endpoints:["/v1/responses","/v1/chat/completions","/v1/completions","/v1/batch"],supported_modalities:["text","image"],supported_output_modalities:["text"]},sm={"gpt-4":{max_tokens:4096,max_input_tokens:8192,max_output_tokens:4096,input_cost_per_token:3e-5,output_cost_per_token:6e-5,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4.1":{max_tokens:32768,max_input_tokens:1047576,max_output_tokens:32768,input_cost_per_token:2e-6,output_cost_per_token:8e-6,input_cost_per_token_batches:1e-6,output_cost_per_token_batches:4e-6,cache_read_input_token_cost:5e-7,litellm_provider:"openai",mode:"chat",supported_endpoints:["/v1/chat/completions","/v1/batch","/v1/responses"],supported_modalities:["text","image"],supported_output_modalities:["text"],supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,supports_native_streaming:!0},"gpt-4.1-2025-04-14":{max_tokens:32768,max_input_tokens:1047576,max_output_tokens:32768,input_cost_per_token:2e-6,output_cost_per_token:8e-6,input_cost_per_token_batches:1e-6,output_cost_per_token_batches:4e-6,cache_read_input_token_cost:5e-7,litellm_provider:"openai",mode:"chat",supported_endpoints:["/v1/chat/completions","/v1/batch","/v1/responses"],supported_modalities:["text","image"],supported_output_modalities:["text"],supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,supports_native_streaming:!0},"gpt-4.1-mini":{max_tokens:32768,max_input_tokens:1047576,max_output_tokens:32768,input_cost_per_token:4e-7,output_cost_per_token:16e-7,input_cost_per_token_batches:2e-7,output_cost_per_token_batches:8e-7,cache_read_input_token_cost:1e-7,litellm_provider:"openai",mode:"chat",supported_endpoints:["/v1/chat/completions","/v1/batch","/v1/responses"],supported_modalities:["text","image"],supported_output_modalities:["text"],supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,supports_native_streaming:!0},"gpt-4.1-mini-2025-04-14":{max_tokens:32768,max_input_tokens:1047576,max_output_tokens:32768,input_cost_per_token:4e-7,output_cost_per_token:16e-7,input_cost_per_token_batches:2e-7,output_cost_per_token_batches:8e-7,cache_read_input_token_cost:1e-7,litellm_provider:"openai",mode:"chat",supported_endpoints:["/v1/chat/completions","/v1/batch","/v1/responses"],supported_modalities:["text","image"],supported_output_modalities:["text"],supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,supports_native_streaming:!0},"gpt-4.1-nano":{max_tokens:32768,max_input_tokens:1047576,max_output_tokens:32768,input_cost_per_token:1e-7,output_cost_per_token:4e-7,input_cost_per_token_batches:5e-8,output_cost_per_token_batches:2e-7,cache_read_input_token_cost:25e-9,litellm_provider:"openai",mode:"chat",supported_endpoints:["/v1/chat/completions","/v1/batch","/v1/responses"],supported_modalities:["text","image"],supported_output_modalities:["text"],supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,supports_native_streaming:!0},"gpt-4.1-nano-2025-04-14":{max_tokens:32768,max_input_tokens:1047576,max_output_tokens:32768,input_cost_per_token:1e-7,output_cost_per_token:4e-7,input_cost_per_token_batches:5e-8,output_cost_per_token_batches:2e-7,cache_read_input_token_cost:25e-9,litellm_provider:"openai",mode:"chat",supported_endpoints:["/v1/chat/completions","/v1/batch","/v1/responses"],supported_modalities:["text","image"],supported_output_modalities:["text"],supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,supports_native_streaming:!0},"gpt-4o":{max_tokens:16384,max_input_tokens:128e3,max_output_tokens:16384,input_cost_per_token:25e-7,output_cost_per_token:1e-5,input_cost_per_token_batches:125e-8,output_cost_per_token_batches:5e-6,cache_read_input_token_cost:125e-8,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"watsonx/ibm/granite-3-8b-instruct":{max_tokens:8192,max_input_tokens:8192,max_output_tokens:1024,input_cost_per_token:2e-4,output_cost_per_token:2e-4,litellm_provider:"watsonx",mode:"chat",supports_function_calling:!0,supports_tool_choice:!0,supports_parallel_function_calling:!1,supports_vision:!1,supports_audio_input:!1,supports_audio_output:!1,supports_prompt_caching:!0,supports_response_schema:!0,supports_system_messages:!0},"watsonx/mistralai/mistral-large":{max_tokens:131072,max_input_tokens:131072,max_output_tokens:16384,input_cost_per_token:3e-6,output_cost_per_token:1e-5,litellm_provider:"watsonx",mode:"chat",supports_function_calling:!0,supports_tool_choice:!0,supports_parallel_function_calling:!1,supports_vision:!1,supports_audio_input:!1,supports_audio_output:!1,supports_prompt_caching:!0,supports_response_schema:!0,supports_system_messages:!0},"gpt-4o-search-preview-2025-03-11":{max_tokens:16384,max_input_tokens:128e3,max_output_tokens:16384,input_cost_per_token:25e-7,output_cost_per_token:1e-5,input_cost_per_token_batches:125e-8,output_cost_per_token_batches:5e-6,cache_read_input_token_cost:125e-8,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4o-search-preview":{max_tokens:16384,max_input_tokens:128e3,max_output_tokens:16384,input_cost_per_token:25e-7,output_cost_per_token:1e-5,input_cost_per_token_batches:125e-8,output_cost_per_token_batches:5e-6,cache_read_input_token_cost:125e-8,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,supports_web_search:!0,search_context_cost_per_query:{search_context_size_low:.03,search_context_size_medium:.035,search_context_size_high:.05}},"gpt-4.5-preview":{max_tokens:16384,max_input_tokens:128e3,max_output_tokens:16384,input_cost_per_token:75e-6,output_cost_per_token:15e-5,input_cost_per_token_batches:375e-7,output_cost_per_token_batches:75e-6,cache_read_input_token_cost:375e-7,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4.5-preview-2025-02-27":{max_tokens:16384,max_input_tokens:128e3,max_output_tokens:16384,input_cost_per_token:75e-6,output_cost_per_token:15e-5,input_cost_per_token_batches:375e-7,output_cost_per_token_batches:75e-6,cache_read_input_token_cost:375e-7,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,deprecation_date:"2025-07-14"},"gpt-4o-audio-preview":{max_tokens:16384,max_input_tokens:128e3,max_output_tokens:16384,input_cost_per_token:25e-7,input_cost_per_audio_token:1e-4,output_cost_per_token:1e-5,output_cost_per_audio_token:2e-4,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!0,supports_audio_input:!0,supports_audio_output:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4o-audio-preview-2024-12-17":{max_tokens:16384,max_input_tokens:128e3,max_output_tokens:16384,input_cost_per_token:25e-7,input_cost_per_audio_token:4e-5,output_cost_per_token:1e-5,output_cost_per_audio_token:8e-5,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!0,supports_audio_input:!0,supports_audio_output:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4o-audio-preview-2024-10-01":{max_tokens:16384,max_input_tokens:128e3,max_output_tokens:16384,input_cost_per_token:25e-7,input_cost_per_audio_token:1e-4,output_cost_per_token:1e-5,output_cost_per_audio_token:2e-4,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!0,supports_audio_input:!0,supports_audio_output:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4o-audio-preview-2025-06-03":{max_tokens:16384,max_input_tokens:128e3,max_output_tokens:16384,input_cost_per_token:25e-7,input_cost_per_audio_token:4e-5,output_cost_per_token:1e-5,output_cost_per_audio_token:8e-5,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!0,supports_audio_input:!0,supports_audio_output:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4o-mini-audio-preview":{max_tokens:16384,max_input_tokens:128e3,max_output_tokens:16384,input_cost_per_token:15e-8,input_cost_per_audio_token:1e-5,output_cost_per_token:6e-7,output_cost_per_audio_token:2e-5,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!0,supports_audio_input:!0,supports_audio_output:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4o-mini-audio-preview-2024-12-17":{max_tokens:16384,max_input_tokens:128e3,max_output_tokens:16384,input_cost_per_token:15e-8,input_cost_per_audio_token:1e-5,output_cost_per_token:6e-7,output_cost_per_audio_token:2e-5,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!0,supports_audio_input:!0,supports_audio_output:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4o-mini":{max_tokens:16384,max_input_tokens:128e3,max_output_tokens:16384,input_cost_per_token:15e-8,output_cost_per_token:6e-7,input_cost_per_token_batches:75e-9,output_cost_per_token_batches:3e-7,cache_read_input_token_cost:75e-9,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4o-mini-search-preview-2025-03-11":{max_tokens:16384,max_input_tokens:128e3,max_output_tokens:16384,input_cost_per_token:15e-8,output_cost_per_token:6e-7,input_cost_per_token_batches:75e-9,output_cost_per_token_batches:3e-7,cache_read_input_token_cost:75e-9,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4o-mini-search-preview":{max_tokens:16384,max_input_tokens:128e3,max_output_tokens:16384,input_cost_per_token:15e-8,output_cost_per_token:6e-7,input_cost_per_token_batches:75e-9,output_cost_per_token_batches:3e-7,cache_read_input_token_cost:75e-9,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,supports_web_search:!0,search_context_cost_per_query:{search_context_size_low:.025,search_context_size_medium:.0275,search_context_size_high:.03}},"gpt-4o-mini-2024-07-18":{max_tokens:16384,max_input_tokens:128e3,max_output_tokens:16384,input_cost_per_token:15e-8,output_cost_per_token:6e-7,input_cost_per_token_batches:75e-9,output_cost_per_token_batches:3e-7,cache_read_input_token_cost:75e-9,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,search_context_cost_per_query:{search_context_size_low:.025,search_context_size_medium:.0275,search_context_size_high:.03}},"gpt-5":{max_tokens:128e3,max_input_tokens:4e5,max_output_tokens:128e3,input_cost_per_token:125e-8,output_cost_per_token:1e-5,cache_read_input_token_cost:125e-9,litellm_provider:"openai",mode:"chat",supported_endpoints:["/v1/chat/completions","/v1/batch","/v1/responses"],supported_modalities:["text","image"],supported_output_modalities:["text"],supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,supports_native_streaming:!0,supports_reasoning:!0},"gpt-5-mini":{max_tokens:128e3,max_input_tokens:4e5,max_output_tokens:128e3,input_cost_per_token:25e-8,output_cost_per_token:2e-6,cache_read_input_token_cost:25e-9,litellm_provider:"openai",mode:"chat",supported_endpoints:["/v1/chat/completions","/v1/batch","/v1/responses"],supported_modalities:["text","image"],supported_output_modalities:["text"],supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,supports_native_streaming:!0,supports_reasoning:!0},"gpt-5-nano":{max_tokens:128e3,max_input_tokens:4e5,max_output_tokens:128e3,input_cost_per_token:5e-8,output_cost_per_token:4e-7,cache_read_input_token_cost:5e-9,litellm_provider:"openai",mode:"chat",supported_endpoints:["/v1/chat/completions","/v1/batch","/v1/responses"],supported_modalities:["text","image"],supported_output_modalities:["text"],supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,supports_native_streaming:!0,supports_reasoning:!0},"gpt-5-chat":{max_tokens:128e3,max_input_tokens:4e5,max_output_tokens:128e3,input_cost_per_token:125e-8,output_cost_per_token:1e-5,cache_read_input_token_cost:125e-9,litellm_provider:"openai",mode:"chat",supported_endpoints:["/v1/chat/completions","/v1/batch","/v1/responses"],supported_modalities:["text","image"],supported_output_modalities:["text"],supports_pdf_input:!0,supports_function_calling:!1,supports_parallel_function_calling:!1,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!1,supports_native_streaming:!0,supports_reasoning:!0},"gpt-5-chat-latest":{max_tokens:128e3,max_input_tokens:4e5,max_output_tokens:128e3,input_cost_per_token:125e-8,output_cost_per_token:1e-5,cache_read_input_token_cost:125e-9,litellm_provider:"openai",mode:"chat",supported_endpoints:["/v1/chat/completions","/v1/batch","/v1/responses"],supported_modalities:["text","image"],supported_output_modalities:["text"],supports_pdf_input:!0,supports_function_calling:!1,supports_parallel_function_calling:!1,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!1,supports_native_streaming:!0,supports_reasoning:!0},"gpt-5-2025-08-07":{max_tokens:128e3,max_input_tokens:4e5,max_output_tokens:128e3,input_cost_per_token:125e-8,output_cost_per_token:1e-5,cache_read_input_token_cost:125e-9,litellm_provider:"openai",mode:"chat",supported_endpoints:["/v1/chat/completions","/v1/batch","/v1/responses"],supported_modalities:["text","image"],supported_output_modalities:["text"],supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,supports_native_streaming:!0,supports_reasoning:!0},"gpt-5-mini-2025-08-07":{max_tokens:128e3,max_input_tokens:4e5,max_output_tokens:128e3,input_cost_per_token:25e-8,output_cost_per_token:2e-6,cache_read_input_token_cost:25e-9,litellm_provider:"openai",mode:"chat",supported_endpoints:["/v1/chat/completions","/v1/batch","/v1/responses"],supported_modalities:["text","image"],supported_output_modalities:["text"],supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,supports_native_streaming:!0,supports_reasoning:!0},"gpt-5-nano-2025-08-07":{max_tokens:128e3,max_input_tokens:4e5,max_output_tokens:128e3,input_cost_per_token:5e-8,output_cost_per_token:4e-7,cache_read_input_token_cost:5e-9,litellm_provider:"openai",mode:"chat",supported_endpoints:["/v1/chat/completions","/v1/batch","/v1/responses"],supported_modalities:["text","image"],supported_output_modalities:["text"],supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,supports_native_streaming:!0,supports_reasoning:!0},"codex-mini-latest":{max_tokens:1e5,max_input_tokens:2e5,max_output_tokens:1e5,input_cost_per_token:15e-7,output_cost_per_token:6e-6,cache_read_input_token_cost:375e-9,litellm_provider:"openai",mode:"responses",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_response_schema:!0,supports_tool_choice:!0,supports_reasoning:!0,supported_modalities:["text","image"],supported_output_modalities:["text"],supported_endpoints:["/v1/responses"]},"o1-pro":{max_tokens:1e5,max_input_tokens:2e5,max_output_tokens:1e5,input_cost_per_token:15e-5,output_cost_per_token:6e-4,input_cost_per_token_batches:75e-6,output_cost_per_token_batches:3e-4,litellm_provider:"openai",mode:"responses",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_response_schema:!0,supports_tool_choice:!0,supports_native_streaming:!1,supports_reasoning:!0,supported_modalities:["text","image"],supported_output_modalities:["text"],supported_endpoints:["/v1/responses","/v1/batch"]},"o1-pro-2025-03-19":{max_tokens:1e5,max_input_tokens:2e5,max_output_tokens:1e5,input_cost_per_token:15e-5,output_cost_per_token:6e-4,input_cost_per_token_batches:75e-6,output_cost_per_token_batches:3e-4,litellm_provider:"openai",mode:"responses",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_response_schema:!0,supports_tool_choice:!0,supports_native_streaming:!1,supports_reasoning:!0,supported_modalities:["text","image"],supported_output_modalities:["text"],supported_endpoints:["/v1/responses","/v1/batch"]},o1:om,"o1-mini":{max_tokens:65536,max_input_tokens:128e3,max_output_tokens:65536,input_cost_per_token:11e-7,output_cost_per_token:44e-7,cache_read_input_token_cost:55e-8,litellm_provider:"openai",mode:"chat",supports_vision:!0,supports_pdf_input:!0,supports_prompt_caching:!0},"o3-deep-research":{max_tokens:1e5,max_input_tokens:2e5,max_output_tokens:1e5,input_cost_per_token:1e-5,output_cost_per_token:4e-5,input_cost_per_token_batches:5e-6,output_cost_per_token_batches:2e-5,cache_read_input_token_cost:25e-7,litellm_provider:"openai",mode:"responses",supported_endpoints:["/v1/chat/completions","/v1/batch","/v1/responses"],supported_modalities:["text","image"],supported_output_modalities:["text"],supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,supports_native_streaming:!0},"o3-deep-research-2025-06-26":{max_tokens:1e5,max_input_tokens:2e5,max_output_tokens:1e5,input_cost_per_token:1e-5,output_cost_per_token:4e-5,input_cost_per_token_batches:5e-6,output_cost_per_token_batches:2e-5,cache_read_input_token_cost:25e-7,litellm_provider:"openai",mode:"responses",supported_endpoints:["/v1/chat/completions","/v1/batch","/v1/responses"],supported_modalities:["text","image"],supported_output_modalities:["text"],supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,supports_native_streaming:!0},"o3-pro":{max_tokens:1e5,max_input_tokens:2e5,max_output_tokens:1e5,input_cost_per_token:2e-5,input_cost_per_token_batches:1e-5,output_cost_per_token_batches:4e-5,output_cost_per_token:8e-5,litellm_provider:"openai",mode:"responses",supports_function_calling:!0,supports_parallel_function_calling:!1,supports_vision:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_response_schema:!0,supports_reasoning:!0,supports_tool_choice:!0,supported_endpoints:["/v1/responses","/v1/batch"],supported_modalities:["text","image"],supported_output_modalities:["text"]},"o3-pro-2025-06-10":{max_tokens:1e5,max_input_tokens:2e5,max_output_tokens:1e5,input_cost_per_token:2e-5,input_cost_per_token_batches:1e-5,output_cost_per_token_batches:4e-5,output_cost_per_token:8e-5,litellm_provider:"openai",mode:"responses",supports_function_calling:!0,supports_parallel_function_calling:!1,supports_vision:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_response_schema:!0,supports_reasoning:!0,supports_tool_choice:!0,supported_endpoints:["/v1/responses","/v1/batch"],supported_modalities:["text","image"],supported_output_modalities:["text"]},o3:im,"o3-2025-04-16":{max_tokens:1e5,max_input_tokens:2e5,max_output_tokens:1e5,input_cost_per_token:2e-6,output_cost_per_token:8e-6,cache_read_input_token_cost:5e-7,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!1,supports_vision:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_response_schema:!0,supports_reasoning:!0,supports_tool_choice:!0,supported_endpoints:["/v1/responses","/v1/chat/completions","/v1/completions","/v1/batch"],supported_modalities:["text","image"],supported_output_modalities:["text"]},"o3-mini":{max_tokens:1e5,max_input_tokens:2e5,max_output_tokens:1e5,input_cost_per_token:11e-7,output_cost_per_token:44e-7,cache_read_input_token_cost:55e-8,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!1,supports_vision:!1,supports_prompt_caching:!0,supports_response_schema:!0,supports_reasoning:!0,supports_tool_choice:!0},"o3-mini-2025-01-31":{max_tokens:1e5,max_input_tokens:2e5,max_output_tokens:1e5,input_cost_per_token:11e-7,output_cost_per_token:44e-7,cache_read_input_token_cost:55e-8,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!1,supports_vision:!1,supports_prompt_caching:!0,supports_response_schema:!0,supports_reasoning:!0,supports_tool_choice:!0},"o4-mini":{max_tokens:1e5,max_input_tokens:2e5,max_output_tokens:1e5,input_cost_per_token:11e-7,output_cost_per_token:44e-7,cache_read_input_token_cost:275e-9,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!1,supports_vision:!0,supports_prompt_caching:!0,supports_response_schema:!0,supports_reasoning:!0,supports_tool_choice:!0},"o4-mini-deep-research":{max_tokens:1e5,max_input_tokens:2e5,max_output_tokens:1e5,input_cost_per_token:2e-6,output_cost_per_token:8e-6,input_cost_per_token_batches:1e-6,output_cost_per_token_batches:4e-6,cache_read_input_token_cost:5e-7,litellm_provider:"openai",mode:"responses",supported_endpoints:["/v1/chat/completions","/v1/batch","/v1/responses"],supported_modalities:["text","image"],supported_output_modalities:["text"],supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,supports_native_streaming:!0},"o4-mini-deep-research-2025-06-26":{max_tokens:1e5,max_input_tokens:2e5,max_output_tokens:1e5,input_cost_per_token:2e-6,output_cost_per_token:8e-6,input_cost_per_token_batches:1e-6,output_cost_per_token_batches:4e-6,cache_read_input_token_cost:5e-7,litellm_provider:"openai",mode:"responses",supported_endpoints:["/v1/chat/completions","/v1/batch","/v1/responses"],supported_modalities:["text","image"],supported_output_modalities:["text"],supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0,supports_native_streaming:!0},"o4-mini-2025-04-16":{max_tokens:1e5,max_input_tokens:2e5,max_output_tokens:1e5,input_cost_per_token:11e-7,output_cost_per_token:44e-7,cache_read_input_token_cost:275e-9,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!1,supports_vision:!0,supports_prompt_caching:!0,supports_response_schema:!0,supports_reasoning:!0,supports_tool_choice:!0},"o1-mini-2024-09-12":{max_tokens:65536,max_input_tokens:128e3,max_output_tokens:65536,input_cost_per_token:3e-6,output_cost_per_token:12e-6,cache_read_input_token_cost:15e-7,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_vision:!0,supports_reasoning:!0,supports_prompt_caching:!0},"o1-preview":{max_tokens:32768,max_input_tokens:128e3,max_output_tokens:32768,input_cost_per_token:15e-6,output_cost_per_token:6e-5,cache_read_input_token_cost:75e-7,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_vision:!0,supports_reasoning:!0,supports_prompt_caching:!0},"o1-preview-2024-09-12":{max_tokens:32768,max_input_tokens:128e3,max_output_tokens:32768,input_cost_per_token:15e-6,output_cost_per_token:6e-5,cache_read_input_token_cost:75e-7,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_vision:!0,supports_reasoning:!0,supports_prompt_caching:!0},"o1-2024-12-17":{max_tokens:1e5,max_input_tokens:2e5,max_output_tokens:1e5,input_cost_per_token:15e-6,output_cost_per_token:6e-5,cache_read_input_token_cost:75e-7,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_response_schema:!0,supports_reasoning:!0,supports_tool_choice:!0},"chatgpt-4o-latest":{max_tokens:4096,max_input_tokens:128e3,max_output_tokens:4096,input_cost_per_token:5e-6,output_cost_per_token:15e-6,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4o-2024-05-13":{max_tokens:4096,max_input_tokens:128e3,max_output_tokens:4096,input_cost_per_token:5e-6,output_cost_per_token:15e-6,input_cost_per_token_batches:25e-7,output_cost_per_token_batches:75e-7,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4o-2024-08-06":{max_tokens:16384,max_input_tokens:128e3,max_output_tokens:16384,input_cost_per_token:25e-7,output_cost_per_token:1e-5,input_cost_per_token_batches:125e-8,output_cost_per_token_batches:5e-6,cache_read_input_token_cost:125e-8,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4o-2024-11-20":{max_tokens:16384,max_input_tokens:128e3,max_output_tokens:16384,input_cost_per_token:25e-7,output_cost_per_token:1e-5,input_cost_per_token_batches:125e-8,output_cost_per_token_batches:5e-6,cache_read_input_token_cost:125e-8,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_response_schema:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-realtime":{max_tokens:4096,max_input_tokens:32e3,max_output_tokens:4096,input_cost_per_token:4e-6,cache_read_input_token_cost:4e-7,output_cost_per_token:16e-6,input_cost_per_audio_token:32e-6,output_cost_per_audio_token:64e-6,cache_creation_input_audio_token_cost:4e-7,input_cost_per_image:5e-6,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!0,supports_audio_input:!0,supports_audio_output:!0,supports_system_messages:!0,supports_tool_choice:!0,supported_endpoints:["/v1/realtime"],supported_modalities:["text","image","audio"],supported_output_modalities:["text","audio"]},"gpt-realtime-2025-08-28":{max_tokens:4096,max_input_tokens:32e3,max_output_tokens:4096,input_cost_per_token:4e-6,cache_read_input_token_cost:4e-7,output_cost_per_token:16e-6,input_cost_per_audio_token:32e-6,output_cost_per_audio_token:64e-6,cache_creation_input_audio_token_cost:4e-7,input_cost_per_image:5e-6,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!0,supports_audio_input:!0,supports_audio_output:!0,supports_system_messages:!0,supports_tool_choice:!0,supported_endpoints:["/v1/realtime"],supported_modalities:["text","image","audio"],supported_output_modalities:["text","audio"]},"gpt-4o-realtime-preview-2024-10-01":{max_tokens:4096,max_input_tokens:128e3,max_output_tokens:4096,input_cost_per_token:5e-6,input_cost_per_audio_token:1e-4,cache_read_input_token_cost:25e-7,cache_creation_input_audio_token_cost:2e-5,output_cost_per_token:2e-5,output_cost_per_audio_token:2e-4,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!0,supports_audio_input:!0,supports_audio_output:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4o-realtime-preview":{max_tokens:4096,max_input_tokens:128e3,max_output_tokens:4096,input_cost_per_token:5e-6,input_cost_per_audio_token:4e-5,cache_read_input_token_cost:25e-7,output_cost_per_token:2e-5,output_cost_per_audio_token:8e-5,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!0,supports_audio_input:!0,supports_audio_output:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4o-realtime-preview-2024-12-17":{max_tokens:4096,max_input_tokens:128e3,max_output_tokens:4096,input_cost_per_token:5e-6,input_cost_per_audio_token:4e-5,cache_read_input_token_cost:25e-7,output_cost_per_token:2e-5,output_cost_per_audio_token:8e-5,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!0,supports_audio_input:!0,supports_audio_output:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4o-realtime-preview-2025-06-03":{max_tokens:4096,max_input_tokens:128e3,max_output_tokens:4096,input_cost_per_token:5e-6,input_cost_per_audio_token:4e-5,cache_read_input_token_cost:25e-7,output_cost_per_token:2e-5,output_cost_per_audio_token:8e-5,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!0,supports_audio_input:!0,supports_audio_output:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4o-mini-realtime-preview":{max_tokens:4096,max_input_tokens:128e3,max_output_tokens:4096,input_cost_per_token:6e-7,input_cost_per_audio_token:1e-5,cache_read_input_token_cost:3e-7,cache_creation_input_audio_token_cost:3e-7,output_cost_per_token:24e-7,output_cost_per_audio_token:2e-5,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!0,supports_audio_input:!0,supports_audio_output:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4o-mini-realtime-preview-2024-12-17":{max_tokens:4096,max_input_tokens:128e3,max_output_tokens:4096,input_cost_per_token:6e-7,input_cost_per_audio_token:1e-5,cache_read_input_token_cost:3e-7,cache_creation_input_audio_token_cost:3e-7,output_cost_per_token:24e-7,output_cost_per_audio_token:2e-5,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!0,supports_audio_input:!0,supports_audio_output:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4-turbo-preview":{max_tokens:4096,max_input_tokens:128e3,max_output_tokens:4096,input_cost_per_token:1e-5,output_cost_per_token:3e-5,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4-0314":{max_tokens:4096,max_input_tokens:8192,max_output_tokens:4096,input_cost_per_token:3e-5,output_cost_per_token:6e-5,litellm_provider:"openai",mode:"chat",supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4-0613":{max_tokens:4096,max_input_tokens:8192,max_output_tokens:4096,input_cost_per_token:3e-5,output_cost_per_token:6e-5,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_prompt_caching:!0,supports_system_messages:!0,deprecation_date:"2025-06-06",supports_tool_choice:!0},"gpt-4-32k":{max_tokens:4096,max_input_tokens:32768,max_output_tokens:4096,input_cost_per_token:6e-5,output_cost_per_token:12e-5,litellm_provider:"openai",mode:"chat",supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4-32k-0314":{max_tokens:4096,max_input_tokens:32768,max_output_tokens:4096,input_cost_per_token:6e-5,output_cost_per_token:12e-5,litellm_provider:"openai",mode:"chat",supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4-32k-0613":{max_tokens:4096,max_input_tokens:32768,max_output_tokens:4096,input_cost_per_token:6e-5,output_cost_per_token:12e-5,litellm_provider:"openai",mode:"chat",supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4-turbo":{max_tokens:4096,max_input_tokens:128e3,max_output_tokens:4096,input_cost_per_token:1e-5,output_cost_per_token:3e-5,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4-turbo-2024-04-09":{max_tokens:4096,max_input_tokens:128e3,max_output_tokens:4096,input_cost_per_token:1e-5,output_cost_per_token:3e-5,litellm_provider:"openai",mode:"chat",supports_pdf_input:!0,supports_function_calling:!0,supports_parallel_function_calling:!0,supports_vision:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4-1106-preview":{max_tokens:4096,max_input_tokens:128e3,max_output_tokens:4096,input_cost_per_token:1e-5,output_cost_per_token:3e-5,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4-0125-preview":{max_tokens:4096,max_input_tokens:128e3,max_output_tokens:4096,input_cost_per_token:1e-5,output_cost_per_token:3e-5,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4-vision-preview":{max_tokens:4096,max_input_tokens:128e3,max_output_tokens:4096,input_cost_per_token:1e-5,output_cost_per_token:3e-5,litellm_provider:"openai",mode:"chat",supports_vision:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_system_messages:!0,deprecation_date:"2024-12-06",supports_tool_choice:!0},"gpt-4-1106-vision-preview":{max_tokens:4096,max_input_tokens:128e3,max_output_tokens:4096,input_cost_per_token:1e-5,output_cost_per_token:3e-5,litellm_provider:"openai",mode:"chat",supports_vision:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_system_messages:!0,deprecation_date:"2024-12-06",supports_tool_choice:!0},"gpt-3.5-turbo":{max_tokens:4097,max_input_tokens:16385,max_output_tokens:4096,input_cost_per_token:15e-7,output_cost_per_token:2e-6,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-3.5-turbo-0301":{max_tokens:4097,max_input_tokens:4097,max_output_tokens:4096,input_cost_per_token:15e-7,output_cost_per_token:2e-6,litellm_provider:"openai",mode:"chat",supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-3.5-turbo-0613":{max_tokens:4097,max_input_tokens:4097,max_output_tokens:4096,input_cost_per_token:15e-7,output_cost_per_token:2e-6,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-3.5-turbo-1106":{max_tokens:16385,max_input_tokens:16385,max_output_tokens:4096,input_cost_per_token:1e-6,output_cost_per_token:2e-6,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-3.5-turbo-0125":{max_tokens:16385,max_input_tokens:16385,max_output_tokens:4096,input_cost_per_token:5e-7,output_cost_per_token:15e-7,litellm_provider:"openai",mode:"chat",supports_function_calling:!0,supports_parallel_function_calling:!0,supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-3.5-turbo-16k":{max_tokens:16385,max_input_tokens:16385,max_output_tokens:4096,input_cost_per_token:3e-6,output_cost_per_token:4e-6,litellm_provider:"openai",mode:"chat",supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-3.5-turbo-16k-0613":{max_tokens:16385,max_input_tokens:16385,max_output_tokens:4096,input_cost_per_token:3e-6,output_cost_per_token:4e-6,litellm_provider:"openai",mode:"chat",supports_prompt_caching:!0,supports_system_messages:!0,supports_tool_choice:!0},"gpt-4o-transcribe":{mode:"audio_transcription",max_input_tokens:16e3,max_output_tokens:2e3,input_cost_per_token:25e-7,input_cost_per_audio_token:6e-6,output_cost_per_token:1e-5,litellm_provider:"openai",supported_endpoints:["/v1/audio/transcriptions"]},"gpt-4o-mini-transcribe":{mode:"audio_transcription",max_input_tokens:16e3,max_output_tokens:2e3,input_cost_per_token:125e-8,input_cost_per_audio_token:3e-6,output_cost_per_token:5e-6,litellm_provider:"openai",supported_endpoints:["/v1/audio/transcriptions"]},"gpt-4o-mini-tts":{mode:"audio_speech",input_cost_per_token:25e-7,output_cost_per_token:1e-5,output_cost_per_audio_token:12e-6,output_cost_per_second:25e-5,litellm_provider:"openai",supported_modalities:["text","audio"],supported_output_modalities:["audio"],supported_endpoints:["/v1/audio/speech"]},"claude-3-haiku-20240307":{max_tokens:4096,max_input_tokens:2e5,max_output_tokens:4096,input_cost_per_token:25e-8,output_cost_per_token:125e-8,cache_creation_input_token_cost:3e-7,cache_read_input_token_cost:3e-8,litellm_provider:"anthropic",mode:"chat",supports_function_calling:!0,supports_vision:!0,tool_use_system_prompt_tokens:264,supports_assistant_prefill:!0,supports_prompt_caching:!0,supports_response_schema:!0,deprecation_date:"2025-03-01",supports_tool_choice:!0},"claude-3-5-haiku-20241022":{max_tokens:8192,max_input_tokens:2e5,max_output_tokens:8192,input_cost_per_token:8e-7,output_cost_per_token:4e-6,cache_creation_input_token_cost:1e-6,cache_read_input_token_cost:8e-8,search_context_cost_per_query:{search_context_size_low:.01,search_context_size_medium:.01,search_context_size_high:.01},litellm_provider:"anthropic",mode:"chat",supports_function_calling:!0,supports_vision:!0,tool_use_system_prompt_tokens:264,supports_assistant_prefill:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_response_schema:!0,deprecation_date:"2025-10-01",supports_tool_choice:!0,supports_web_search:!0},"claude-3-5-haiku-latest":{max_tokens:8192,max_input_tokens:2e5,max_output_tokens:8192,input_cost_per_token:1e-6,output_cost_per_token:5e-6,cache_creation_input_token_cost:125e-8,cache_read_input_token_cost:1e-7,search_context_cost_per_query:{search_context_size_low:.01,search_context_size_medium:.01,search_context_size_high:.01},litellm_provider:"anthropic",mode:"chat",supports_function_calling:!0,supports_vision:!0,tool_use_system_prompt_tokens:264,supports_assistant_prefill:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_response_schema:!0,deprecation_date:"2025-10-01",supports_tool_choice:!0,supports_web_search:!0},"claude-3-opus-latest":{max_tokens:4096,max_input_tokens:2e5,max_output_tokens:4096,input_cost_per_token:15e-6,output_cost_per_token:75e-6,cache_creation_input_token_cost:1875e-8,cache_read_input_token_cost:15e-7,litellm_provider:"anthropic",mode:"chat",supports_function_calling:!0,supports_vision:!0,tool_use_system_prompt_tokens:395,supports_assistant_prefill:!0,supports_prompt_caching:!0,supports_response_schema:!0,deprecation_date:"2025-03-01",supports_tool_choice:!0},"claude-3-opus-20240229":{max_tokens:4096,max_input_tokens:2e5,max_output_tokens:4096,input_cost_per_token:15e-6,output_cost_per_token:75e-6,cache_creation_input_token_cost:1875e-8,cache_read_input_token_cost:15e-7,litellm_provider:"anthropic",mode:"chat",supports_function_calling:!0,supports_vision:!0,tool_use_system_prompt_tokens:395,supports_assistant_prefill:!0,supports_prompt_caching:!0,supports_response_schema:!0,deprecation_date:"2025-03-01",supports_tool_choice:!0},"claude-3-5-sonnet-latest":{supports_computer_use:!0,max_tokens:8192,max_input_tokens:2e5,max_output_tokens:8192,input_cost_per_token:3e-6,output_cost_per_token:15e-6,cache_creation_input_token_cost:375e-8,cache_read_input_token_cost:3e-7,search_context_cost_per_query:{search_context_size_low:.01,search_context_size_medium:.01,search_context_size_high:.01},litellm_provider:"anthropic",mode:"chat",supports_function_calling:!0,supports_vision:!0,tool_use_system_prompt_tokens:159,supports_assistant_prefill:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_response_schema:!0,deprecation_date:"2025-06-01",supports_tool_choice:!0,supports_web_search:!0},"claude-3-5-sonnet-20240620":{max_tokens:8192,max_input_tokens:2e5,max_output_tokens:8192,input_cost_per_token:3e-6,output_cost_per_token:15e-6,cache_creation_input_token_cost:375e-8,cache_read_input_token_cost:3e-7,litellm_provider:"anthropic",mode:"chat",supports_function_calling:!0,supports_vision:!0,tool_use_system_prompt_tokens:159,supports_assistant_prefill:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_response_schema:!0,deprecation_date:"2025-06-01",supports_tool_choice:!0},"claude-opus-4-20250514":{max_tokens:32e3,max_input_tokens:2e5,max_output_tokens:32e3,input_cost_per_token:15e-6,output_cost_per_token:75e-6,search_context_cost_per_query:{search_context_size_low:.01,search_context_size_medium:.01,search_context_size_high:.01},cache_creation_input_token_cost:1875e-8,cache_read_input_token_cost:15e-7,litellm_provider:"anthropic",mode:"chat",supports_function_calling:!0,supports_vision:!0,tool_use_system_prompt_tokens:159,supports_assistant_prefill:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_response_schema:!0,supports_tool_choice:!0,supports_reasoning:!0,supports_computer_use:!0},"claude-opus-4-1":{max_tokens:32e3,max_input_tokens:2e5,max_output_tokens:32e3,input_cost_per_token:15e-6,output_cost_per_token:75e-6,search_context_cost_per_query:{search_context_size_low:.01,search_context_size_medium:.01,search_context_size_high:.01},cache_creation_input_token_cost:1875e-8,cache_read_input_token_cost:15e-7,litellm_provider:"anthropic",mode:"chat",supports_function_calling:!0,supports_vision:!0,tool_use_system_prompt_tokens:159,supports_assistant_prefill:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_response_schema:!0,supports_tool_choice:!0,supports_reasoning:!0,supports_computer_use:!0},"claude-opus-4-1-20250805":{max_tokens:32e3,max_input_tokens:2e5,max_output_tokens:32e3,input_cost_per_token:15e-6,output_cost_per_token:75e-6,search_context_cost_per_query:{search_context_size_low:.01,search_context_size_medium:.01,search_context_size_high:.01},cache_creation_input_token_cost:1875e-8,cache_read_input_token_cost:15e-7,litellm_provider:"anthropic",mode:"chat",supports_function_calling:!0,supports_vision:!0,tool_use_system_prompt_tokens:159,supports_assistant_prefill:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_response_schema:!0,supports_tool_choice:!0,supports_reasoning:!0,supports_computer_use:!0},"claude-sonnet-4-5-20250929":{max_tokens:64e3,max_input_tokens:2e5,max_output_tokens:64e3,input_cost_per_token:3e-6,output_cost_per_token:15e-6,search_context_cost_per_query:{search_context_size_low:.01,search_context_size_medium:.01,search_context_size_high:.01},cache_creation_input_token_cost:375e-8,cache_read_input_token_cost:3e-7,litellm_provider:"anthropic",mode:"chat",supports_function_calling:!0,supports_vision:!0,tool_use_system_prompt_tokens:159,supports_assistant_prefill:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_response_schema:!0,supports_tool_choice:!0,supports_reasoning:!0,supports_computer_use:!0},"claude-sonnet-4-20250514":{max_tokens:64e3,max_input_tokens:2e5,max_output_tokens:64e3,input_cost_per_token:3e-6,output_cost_per_token:15e-6,search_context_cost_per_query:{search_context_size_low:.01,search_context_size_medium:.01,search_context_size_high:.01},cache_creation_input_token_cost:375e-8,cache_read_input_token_cost:3e-7,litellm_provider:"anthropic",mode:"chat",supports_function_calling:!0,supports_vision:!0,tool_use_system_prompt_tokens:159,supports_assistant_prefill:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_response_schema:!0,supports_tool_choice:!0,supports_reasoning:!0,supports_computer_use:!0},"claude-4-opus-20250514":{max_tokens:32e3,max_input_tokens:2e5,max_output_tokens:32e3,input_cost_per_token:15e-6,output_cost_per_token:75e-6,search_context_cost_per_query:{search_context_size_low:.01,search_context_size_medium:.01,search_context_size_high:.01},cache_creation_input_token_cost:1875e-8,cache_read_input_token_cost:15e-7,litellm_provider:"anthropic",mode:"chat",supports_function_calling:!0,supports_vision:!0,tool_use_system_prompt_tokens:159,supports_assistant_prefill:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_response_schema:!0,supports_tool_choice:!0,supports_reasoning:!0,supports_computer_use:!0},"claude-4-sonnet-20250514":{max_tokens:1e6,max_input_tokens:1e6,max_output_tokens:1e6,input_cost_per_token:3e-6,output_cost_per_token:15e-6,input_cost_per_token_above_200k_tokens:6e-6,output_cost_per_token_above_200k_tokens:225e-7,search_context_cost_per_query:{search_context_size_low:.01,search_context_size_medium:.01,search_context_size_high:.01},cache_creation_input_token_cost:375e-8,cache_read_input_token_cost:3e-7,cache_creation_input_token_cost_above_200k_tokens:75e-7,cache_read_input_token_cost_above_200k_tokens:6e-7,litellm_provider:"anthropic",mode:"chat",supports_function_calling:!0,supports_vision:!0,tool_use_system_prompt_tokens:159,supports_assistant_prefill:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_response_schema:!0,supports_tool_choice:!0,supports_reasoning:!0,supports_computer_use:!0},"claude-3-7-sonnet-latest":{supports_computer_use:!0,max_tokens:128e3,max_input_tokens:2e5,max_output_tokens:128e3,input_cost_per_token:3e-6,output_cost_per_token:15e-6,search_context_cost_per_query:{search_context_size_low:.01,search_context_size_medium:.01,search_context_size_high:.01},cache_creation_input_token_cost:375e-8,cache_read_input_token_cost:3e-7,litellm_provider:"anthropic",mode:"chat",supports_function_calling:!0,supports_vision:!0,tool_use_system_prompt_tokens:159,supports_assistant_prefill:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_response_schema:!0,deprecation_date:"2025-06-01",supports_tool_choice:!0,supports_reasoning:!0},"claude-3-7-sonnet-20250219":{supports_computer_use:!0,max_tokens:128e3,max_input_tokens:2e5,max_output_tokens:128e3,input_cost_per_token:3e-6,output_cost_per_token:15e-6,cache_creation_input_token_cost:375e-8,cache_read_input_token_cost:3e-7,search_context_cost_per_query:{search_context_size_low:.01,search_context_size_medium:.01,search_context_size_high:.01},litellm_provider:"anthropic",mode:"chat",supports_function_calling:!0,supports_vision:!0,tool_use_system_prompt_tokens:159,supports_assistant_prefill:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_response_schema:!0,deprecation_date:"2026-02-01",supports_tool_choice:!0,supports_reasoning:!0,supports_web_search:!0},"claude-3-5-sonnet-20241022":{supports_computer_use:!0,max_tokens:8192,max_input_tokens:2e5,max_output_tokens:8192,input_cost_per_token:3e-6,output_cost_per_token:15e-6,cache_creation_input_token_cost:375e-8,cache_read_input_token_cost:3e-7,search_context_cost_per_query:{search_context_size_low:.01,search_context_size_medium:.01,search_context_size_high:.01},litellm_provider:"anthropic",mode:"chat",supports_function_calling:!0,supports_vision:!0,tool_use_system_prompt_tokens:159,supports_assistant_prefill:!0,supports_pdf_input:!0,supports_prompt_caching:!0,supports_response_schema:!0,deprecation_date:"2025-10-01",supports_tool_choice:!0,supports_web_search:!0},"gemini-2.5-pro-exp-03-25":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_token:125e-8,input_cost_per_token_above_200k_tokens:25e-7,output_cost_per_token:1e-5,output_cost_per_token_above_200k_tokens:15e-6,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_audio_input:!0,supports_video_input:!0,supports_pdf_input:!0,supports_response_schema:!0,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://cloud.google.com/vertex-ai/generative-ai/pricing",supports_parallel_function_calling:!0,supports_web_search:!0,cache_read_input_token_cost:3125e-10,supports_prompt_caching:!0},"gemini-2.0-pro-exp-02-05":{max_tokens:8192,max_input_tokens:2097152,max_output_tokens:8192,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_token:125e-8,input_cost_per_token_above_200k_tokens:25e-7,output_cost_per_token:1e-5,output_cost_per_token_above_200k_tokens:15e-6,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_audio_input:!0,supports_video_input:!0,supports_pdf_input:!0,supports_response_schema:!0,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://cloud.google.com/vertex-ai/generative-ai/pricing",supports_parallel_function_calling:!0,supports_web_search:!0,cache_read_input_token_cost:3125e-10,supports_prompt_caching:!0},"gemini-2.0-flash-exp":{max_tokens:8192,max_input_tokens:1048576,max_output_tokens:8192,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_image:0,input_cost_per_video_per_second:0,input_cost_per_audio_per_second:0,input_cost_per_token:15e-8,input_cost_per_character:0,input_cost_per_token_above_128k_tokens:0,input_cost_per_character_above_128k_tokens:0,input_cost_per_image_above_128k_tokens:0,input_cost_per_video_per_second_above_128k_tokens:0,input_cost_per_audio_per_second_above_128k_tokens:0,output_cost_per_token:6e-7,output_cost_per_character:0,output_cost_per_token_above_128k_tokens:0,output_cost_per_character_above_128k_tokens:0,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!0,supported_modalities:["text","image","audio","video"],supported_output_modalities:["text","image"],source:"https://cloud.google.com/vertex-ai/generative-ai/pricing",supports_tool_choice:!0,supports_parallel_function_calling:!0,supports_web_search:!0,cache_read_input_token_cost:375e-10,supports_prompt_caching:!0},"gemini-2.0-flash-001":{max_tokens:8192,max_input_tokens:1048576,max_output_tokens:8192,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:1e-6,input_cost_per_token:15e-8,output_cost_per_token:6e-7,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!0,supports_tool_choice:!0,supported_modalities:["text","image","audio","video"],supported_output_modalities:["text","image"],source:"https://cloud.google.com/vertex-ai/generative-ai/pricing",deprecation_date:"2026-02-05",supports_parallel_function_calling:!0,supports_web_search:!0,cache_read_input_token_cost:375e-10,supports_prompt_caching:!0},"gemini-2.0-flash-thinking-exp":{max_tokens:8192,max_input_tokens:1048576,max_output_tokens:8192,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_image:0,input_cost_per_video_per_second:0,input_cost_per_audio_per_second:0,input_cost_per_token:0,input_cost_per_character:0,input_cost_per_token_above_128k_tokens:0,input_cost_per_character_above_128k_tokens:0,input_cost_per_image_above_128k_tokens:0,input_cost_per_video_per_second_above_128k_tokens:0,input_cost_per_audio_per_second_above_128k_tokens:0,output_cost_per_token:0,output_cost_per_character:0,output_cost_per_token_above_128k_tokens:0,output_cost_per_character_above_128k_tokens:0,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!0,supported_modalities:["text","image","audio","video"],supported_output_modalities:["text","image"],source:"https://cloud.google.com/vertex-ai/generative-ai/docs/learn/models#gemini-2.0-flash",supports_tool_choice:!0,supports_parallel_function_calling:!0,supports_web_search:!0,cache_read_input_token_cost:0,supports_prompt_caching:!0},"gemini-2.0-flash-thinking-exp-01-21":{max_tokens:65536,max_input_tokens:1048576,max_output_tokens:65536,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_image:0,input_cost_per_video_per_second:0,input_cost_per_audio_per_second:0,input_cost_per_token:0,input_cost_per_character:0,input_cost_per_token_above_128k_tokens:0,input_cost_per_character_above_128k_tokens:0,input_cost_per_image_above_128k_tokens:0,input_cost_per_video_per_second_above_128k_tokens:0,input_cost_per_audio_per_second_above_128k_tokens:0,output_cost_per_token:0,output_cost_per_character:0,output_cost_per_token_above_128k_tokens:0,output_cost_per_character_above_128k_tokens:0,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_system_messages:!0,supports_function_calling:!1,supports_vision:!0,supports_response_schema:!1,supports_audio_output:!1,supported_modalities:["text","image","audio","video"],supported_output_modalities:["text","image"],source:"https://cloud.google.com/vertex-ai/generative-ai/docs/learn/models#gemini-2.0-flash",supports_tool_choice:!0,supports_parallel_function_calling:!0,supports_web_search:!0,cache_read_input_token_cost:0,supports_prompt_caching:!0},"gemini-2.5-pro":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_token:125e-8,input_cost_per_token_above_200k_tokens:25e-7,output_cost_per_token:1e-5,output_cost_per_token_above_200k_tokens:15e-6,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_audio_input:!0,supports_video_input:!0,supports_pdf_input:!0,supports_response_schema:!0,supports_tool_choice:!0,supports_reasoning:!0,supported_endpoints:["/v1/chat/completions","/v1/completions"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://cloud.google.com/vertex-ai/generative-ai/pricing",supports_web_search:!0,cache_read_input_token_cost:3125e-10,supports_prompt_caching:!0},"gemini/gemini-2.5-pro-exp-03-25":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_token:0,input_cost_per_token_above_200k_tokens:0,output_cost_per_token:0,output_cost_per_token_above_200k_tokens:0,litellm_provider:"gemini",mode:"chat",rpm:5,tpm:25e4,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_audio_input:!0,supports_video_input:!0,supports_pdf_input:!0,supports_response_schema:!0,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://cloud.google.com/vertex-ai/generative-ai/pricing",supports_web_search:!0,cache_read_input_token_cost:0,supports_prompt_caching:!0},"gemini/gemini-2.5-pro":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_token:125e-8,input_cost_per_token_above_200k_tokens:25e-7,output_cost_per_token:1e-5,output_cost_per_token_above_200k_tokens:15e-6,litellm_provider:"gemini",mode:"chat",rpm:2e3,tpm:8e5,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_audio_input:!0,supports_video_input:!0,supports_pdf_input:!0,supports_response_schema:!0,supports_tool_choice:!0,supports_reasoning:!0,supported_endpoints:["/v1/chat/completions","/v1/completions"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://cloud.google.com/vertex-ai/generative-ai/pricing",supports_web_search:!0,cache_read_input_token_cost:3125e-10,supports_prompt_caching:!0},"gemini/gemini-2.5-flash":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:1e-6,input_cost_per_token:3e-7,output_cost_per_token:25e-7,output_cost_per_reasoning_token:25e-7,litellm_provider:"gemini",mode:"chat",supports_reasoning:!0,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions","/v1/batch"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash-preview",supports_parallel_function_calling:!0,supports_web_search:!0,supports_url_context:!0,tpm:8e6,rpm:1e5,supports_pdf_input:!0,cache_read_input_token_cost:75e-9,supports_prompt_caching:!0},"gemini/gemini-2.5-flash-image-preview":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:1e-6,input_cost_per_token:3e-7,output_cost_per_token:25e-7,output_cost_per_reasoning_token:25e-7,output_cost_per_image:.039,litellm_provider:"gemini",mode:"chat",supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions","/v1/batch"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text","image"],source:"https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash-preview",supports_parallel_function_calling:!0,supports_web_search:!0,supports_url_context:!0,tpm:8e6,rpm:1e5,supports_pdf_input:!0,cache_read_input_token_cost:75e-9,supports_prompt_caching:!0},"gemini-2.5-flash":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:1e-6,input_cost_per_token:3e-7,output_cost_per_token:25e-7,output_cost_per_reasoning_token:25e-7,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_reasoning:!0,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions","/v1/batch"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash-preview",supports_parallel_function_calling:!0,supports_web_search:!0,supports_url_context:!0,supports_pdf_input:!0,cache_read_input_token_cost:75e-9,supports_prompt_caching:!0},"gemini/gemini-2.0-flash-live-001":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_token:35e-8,input_cost_per_audio_token:21e-7,input_cost_per_image:21e-7,input_cost_per_video_per_second:21e-7,output_cost_per_token:15e-7,output_cost_per_audio_token:85e-7,litellm_provider:"gemini",mode:"chat",rpm:10,tpm:25e4,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_reasoning:!0,supports_response_schema:!0,supports_audio_output:!0,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text","audio"],source:"https://ai.google.dev/gemini-api/docs/models#gemini-2-0-flash-live-001",supports_web_search:!0,supports_url_context:!0,supports_pdf_input:!0,cache_read_input_token_cost:75e-9,supports_prompt_caching:!0},"gemini/gemini-2.5-flash-preview-tts":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:1e-6,input_cost_per_token:15e-8,output_cost_per_token:6e-7,output_cost_per_reasoning_token:35e-7,litellm_provider:"gemini",mode:"chat",rpm:10,tpm:25e4,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_reasoning:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions"],supported_modalities:["text"],supported_output_modalities:["audio"],source:"https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash-preview",supports_web_search:!0,cache_read_input_token_cost:375e-10,supports_prompt_caching:!0},"gemini/gemini-2.5-flash-preview-05-20":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:1e-6,input_cost_per_token:3e-7,output_cost_per_token:25e-7,output_cost_per_reasoning_token:25e-7,litellm_provider:"gemini",mode:"chat",rpm:10,tpm:25e4,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_reasoning:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash-preview",supports_web_search:!0,supports_url_context:!0,supports_pdf_input:!0,cache_read_input_token_cost:75e-9,supports_prompt_caching:!0},"gemini/gemini-2.5-flash-preview-04-17":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:1e-6,input_cost_per_token:15e-8,output_cost_per_token:6e-7,output_cost_per_reasoning_token:35e-7,litellm_provider:"gemini",mode:"chat",rpm:10,tpm:25e4,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_reasoning:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash-preview",supports_web_search:!0,supports_pdf_input:!0,cache_read_input_token_cost:375e-10,supports_prompt_caching:!0},"gemini/gemini-2.5-flash-lite-preview-06-17":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:5e-7,input_cost_per_token:1e-7,output_cost_per_token:4e-7,output_cost_per_reasoning_token:4e-7,litellm_provider:"gemini",mode:"chat",rpm:15,tpm:25e4,supports_reasoning:!0,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions","/v1/batch"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash-lite",supports_parallel_function_calling:!0,supports_web_search:!0,supports_url_context:!0,supports_pdf_input:!0,cache_read_input_token_cost:25e-9,supports_prompt_caching:!0},"gemini/gemini-2.5-flash-lite":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:5e-7,input_cost_per_token:1e-7,output_cost_per_token:4e-7,output_cost_per_reasoning_token:4e-7,litellm_provider:"gemini",mode:"chat",rpm:15,tpm:25e4,supports_reasoning:!0,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions","/v1/batch"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash-lite",supports_parallel_function_calling:!0,supports_web_search:!0,supports_url_context:!0,supports_pdf_input:!0,cache_read_input_token_cost:25e-9,supports_prompt_caching:!0},"gemini-2.5-flash-image-preview":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:1e-6,input_cost_per_token:3e-7,output_cost_per_token:25e-7,output_cost_per_reasoning_token:25e-7,output_cost_per_image:.039,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions","/v1/batch"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text","image"],source:"https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash-preview",supports_parallel_function_calling:!0,supports_web_search:!0,supports_url_context:!0,tpm:8e6,rpm:1e5,supports_pdf_input:!0,cache_read_input_token_cost:75e-9,supports_prompt_caching:!0},"gemini-2.5-flash-preview-05-20":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:1e-6,input_cost_per_token:3e-7,output_cost_per_token:25e-7,output_cost_per_reasoning_token:25e-7,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_reasoning:!0,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions","/v1/batch"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash-preview",supports_parallel_function_calling:!0,supports_web_search:!0,supports_url_context:!0,supports_pdf_input:!0,cache_read_input_token_cost:75e-9,supports_prompt_caching:!0},"gemini-2.5-flash-preview-04-17":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:1e-6,input_cost_per_token:15e-8,output_cost_per_token:6e-7,output_cost_per_reasoning_token:35e-7,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_reasoning:!0,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions","/v1/batch"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash-preview",supports_parallel_function_calling:!0,supports_web_search:!0,supports_pdf_input:!0,cache_read_input_token_cost:375e-10,supports_prompt_caching:!0},"gemini-2.5-flash-lite-preview-06-17":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:5e-7,input_cost_per_token:1e-7,output_cost_per_token:4e-7,output_cost_per_reasoning_token:4e-7,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_reasoning:!0,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions","/v1/batch"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash-preview",supports_parallel_function_calling:!0,supports_web_search:!0,supports_url_context:!0,supports_pdf_input:!0,cache_read_input_token_cost:25e-9,supports_prompt_caching:!0},"gemini-2.5-flash-lite":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:5e-7,input_cost_per_token:1e-7,output_cost_per_token:4e-7,output_cost_per_reasoning_token:4e-7,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_reasoning:!0,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions","/v1/batch"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash-preview",supports_parallel_function_calling:!0,supports_web_search:!0,supports_url_context:!0,supports_pdf_input:!0,cache_read_input_token_cost:25e-9,supports_prompt_caching:!0},"gemini-2.0-flash":{max_tokens:8192,max_input_tokens:1048576,max_output_tokens:8192,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:7e-7,input_cost_per_token:1e-7,output_cost_per_token:4e-7,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!0,supports_audio_input:!0,supported_modalities:["text","image","audio","video"],supported_output_modalities:["text","image"],supports_tool_choice:!0,source:"https://ai.google.dev/pricing#2_0flash",supports_parallel_function_calling:!0,supports_web_search:!0,supports_url_context:!0,cache_read_input_token_cost:25e-9,supports_prompt_caching:!0},"gemini-2.0-flash-lite":{max_input_tokens:1048576,max_output_tokens:8192,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:50,input_cost_per_audio_token:75e-9,input_cost_per_token:75e-9,output_cost_per_token:3e-7,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!0,supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://cloud.google.com/vertex-ai/generative-ai/docs/learn/models#gemini-2.0-flash",supports_tool_choice:!0,supports_parallel_function_calling:!0,supports_web_search:!0,cache_read_input_token_cost:1875e-11,supports_prompt_caching:!0},"gemini-2.0-flash-lite-001":{max_input_tokens:1048576,max_output_tokens:8192,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:50,input_cost_per_audio_token:75e-9,input_cost_per_token:75e-9,output_cost_per_token:3e-7,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!0,supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://cloud.google.com/vertex-ai/generative-ai/docs/learn/models#gemini-2.0-flash",supports_tool_choice:!0,deprecation_date:"2026-02-25",supports_parallel_function_calling:!0,supports_web_search:!0,cache_read_input_token_cost:1875e-11,supports_prompt_caching:!0},"gemini-2.5-pro-preview-06-05":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:125e-8,input_cost_per_token:125e-8,input_cost_per_token_above_200k_tokens:25e-7,output_cost_per_token:1e-5,output_cost_per_token_above_200k_tokens:15e-6,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_reasoning:!0,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions","/v1/batch"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash-preview",supports_parallel_function_calling:!0,supports_web_search:!0,supports_pdf_input:!0,cache_read_input_token_cost:3125e-10,supports_prompt_caching:!0},"gemini-2.5-pro-preview-05-06":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:125e-8,input_cost_per_token:125e-8,input_cost_per_token_above_200k_tokens:25e-7,output_cost_per_token:1e-5,output_cost_per_token_above_200k_tokens:15e-6,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_reasoning:!0,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions","/v1/batch"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],supported_regions:["global"],source:"https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash-preview",supports_parallel_function_calling:!0,supports_web_search:!0,supports_pdf_input:!0,cache_read_input_token_cost:3125e-10,supports_prompt_caching:!0},"gemini-2.5-pro-preview-03-25":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:125e-8,input_cost_per_token:125e-8,input_cost_per_token_above_200k_tokens:25e-7,output_cost_per_token:1e-5,output_cost_per_token_above_200k_tokens:15e-6,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_reasoning:!0,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_endpoints:["/v1/chat/completions","/v1/completions","/v1/batch"],supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://ai.google.dev/gemini-api/docs/models#gemini-2.5-flash-preview",supports_parallel_function_calling:!0,supports_web_search:!0,supports_pdf_input:!0,cache_read_input_token_cost:3125e-10,supports_prompt_caching:!0},"gemini-2.0-flash-preview-image-generation":{max_tokens:8192,max_input_tokens:1048576,max_output_tokens:8192,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:7e-7,input_cost_per_token:1e-7,output_cost_per_token:4e-7,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!0,supports_audio_input:!0,supported_modalities:["text","image","audio","video"],supported_output_modalities:["text","image"],supports_tool_choice:!0,source:"https://ai.google.dev/pricing#2_0flash",supports_parallel_function_calling:!0,supports_web_search:!0,cache_read_input_token_cost:25e-9,supports_prompt_caching:!0},"gemini-2.5-pro-preview-tts":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:7e-7,input_cost_per_token:125e-8,input_cost_per_token_above_200k_tokens:25e-7,output_cost_per_token:1e-5,output_cost_per_token_above_200k_tokens:15e-6,litellm_provider:"vertex_ai-language-models",mode:"chat",supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_modalities:["text"],supported_output_modalities:["audio"],source:"https://ai.google.dev/gemini-api/docs/pricing#gemini-2.5-pro-preview",supports_parallel_function_calling:!0,supports_web_search:!0,cache_read_input_token_cost:3125e-10,supports_prompt_caching:!0},"gemini/gemini-2.0-pro-exp-02-05":{max_tokens:8192,max_input_tokens:2097152,max_output_tokens:8192,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_image:0,input_cost_per_video_per_second:0,input_cost_per_audio_per_second:0,input_cost_per_token:0,input_cost_per_character:0,input_cost_per_token_above_128k_tokens:0,input_cost_per_character_above_128k_tokens:0,input_cost_per_image_above_128k_tokens:0,input_cost_per_video_per_second_above_128k_tokens:0,input_cost_per_audio_per_second_above_128k_tokens:0,output_cost_per_token:0,output_cost_per_character:0,output_cost_per_token_above_128k_tokens:0,output_cost_per_character_above_128k_tokens:0,litellm_provider:"gemini",mode:"chat",rpm:2,tpm:1e6,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_audio_input:!0,supports_video_input:!0,supports_pdf_input:!0,supports_response_schema:!0,supports_tool_choice:!0,source:"https://cloud.google.com/vertex-ai/generative-ai/pricing",supports_web_search:!0,cache_read_input_token_cost:0,supports_prompt_caching:!0},"gemini/gemini-2.0-flash-preview-image-generation":{max_tokens:8192,max_input_tokens:1048576,max_output_tokens:8192,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:7e-7,input_cost_per_token:1e-7,output_cost_per_token:4e-7,litellm_provider:"gemini",mode:"chat",rpm:1e4,tpm:1e7,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!0,supports_audio_input:!0,supported_modalities:["text","image","audio","video"],supported_output_modalities:["text","image"],supports_tool_choice:!0,source:"https://ai.google.dev/pricing#2_0flash",supports_web_search:!0,cache_read_input_token_cost:25e-9,supports_prompt_caching:!0},"gemini/gemini-2.0-flash":{max_tokens:8192,max_input_tokens:1048576,max_output_tokens:8192,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:7e-7,input_cost_per_token:1e-7,output_cost_per_token:4e-7,litellm_provider:"gemini",mode:"chat",rpm:1e4,tpm:1e7,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!0,supports_audio_input:!0,supported_modalities:["text","image","audio","video"],supported_output_modalities:["text","image"],supports_tool_choice:!0,source:"https://ai.google.dev/pricing#2_0flash",supports_web_search:!0,supports_url_context:!0,cache_read_input_token_cost:25e-9,supports_prompt_caching:!0},"gemini/gemini-2.0-flash-lite":{max_input_tokens:1048576,max_output_tokens:8192,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:50,input_cost_per_audio_token:75e-9,input_cost_per_token:75e-9,output_cost_per_token:3e-7,litellm_provider:"gemini",mode:"chat",tpm:4e6,rpm:4e3,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!0,supports_tool_choice:!0,supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://ai.google.dev/gemini-api/docs/pricing#gemini-2.0-flash-lite",supports_web_search:!0,cache_read_input_token_cost:1875e-11,supports_prompt_caching:!0},"gemini/gemini-2.0-flash-001":{max_tokens:8192,max_input_tokens:1048576,max_output_tokens:8192,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:7e-7,input_cost_per_token:1e-7,output_cost_per_token:4e-7,litellm_provider:"gemini",mode:"chat",rpm:1e4,tpm:1e7,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_modalities:["text","image","audio","video"],supported_output_modalities:["text","image"],source:"https://ai.google.dev/pricing#2_0flash",supports_web_search:!0,cache_read_input_token_cost:25e-9,supports_prompt_caching:!0},"gemini/gemini-2.5-pro-preview-tts":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:7e-7,input_cost_per_token:125e-8,input_cost_per_token_above_200k_tokens:25e-7,output_cost_per_token:1e-5,output_cost_per_token_above_200k_tokens:15e-6,litellm_provider:"gemini",mode:"chat",rpm:1e4,tpm:1e7,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_modalities:["text"],supported_output_modalities:["audio"],source:"https://ai.google.dev/gemini-api/docs/pricing#gemini-2.5-pro-preview",supports_web_search:!0,cache_read_input_token_cost:3125e-10,supports_prompt_caching:!0},"gemini/gemini-2.5-pro-preview-06-05":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:7e-7,input_cost_per_token:125e-8,input_cost_per_token_above_200k_tokens:25e-7,output_cost_per_token:1e-5,output_cost_per_token_above_200k_tokens:15e-6,litellm_provider:"gemini",mode:"chat",rpm:1e4,tpm:1e7,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://ai.google.dev/gemini-api/docs/pricing#gemini-2.5-pro-preview",supports_web_search:!0,supports_url_context:!0,supports_pdf_input:!0,cache_read_input_token_cost:3125e-10,supports_prompt_caching:!0},"gemini/gemini-2.5-pro-preview-05-06":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:7e-7,input_cost_per_token:125e-8,input_cost_per_token_above_200k_tokens:25e-7,output_cost_per_token:1e-5,output_cost_per_token_above_200k_tokens:15e-6,litellm_provider:"gemini",mode:"chat",rpm:1e4,tpm:1e7,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://ai.google.dev/gemini-api/docs/pricing#gemini-2.5-pro-preview",supports_web_search:!0,supports_url_context:!0,supports_pdf_input:!0,cache_read_input_token_cost:3125e-10,supports_prompt_caching:!0},"gemini/gemini-2.5-pro-preview-03-25":{max_tokens:65535,max_input_tokens:1048576,max_output_tokens:65535,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:7e-7,input_cost_per_token:125e-8,input_cost_per_token_above_200k_tokens:25e-7,output_cost_per_token:1e-5,output_cost_per_token_above_200k_tokens:15e-6,litellm_provider:"gemini",mode:"chat",rpm:1e4,tpm:1e7,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://ai.google.dev/gemini-api/docs/pricing#gemini-2.5-pro-preview",supports_web_search:!0,supports_pdf_input:!0,cache_read_input_token_cost:3125e-10,supports_prompt_caching:!0},"gemini/gemini-2.0-flash-exp":{max_tokens:8192,max_input_tokens:1048576,max_output_tokens:8192,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_image:0,input_cost_per_video_per_second:0,input_cost_per_audio_per_second:0,input_cost_per_token:0,input_cost_per_character:0,input_cost_per_token_above_128k_tokens:0,input_cost_per_character_above_128k_tokens:0,input_cost_per_image_above_128k_tokens:0,input_cost_per_video_per_second_above_128k_tokens:0,input_cost_per_audio_per_second_above_128k_tokens:0,output_cost_per_token:0,output_cost_per_character:0,output_cost_per_token_above_128k_tokens:0,output_cost_per_character_above_128k_tokens:0,litellm_provider:"gemini",mode:"chat",supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!0,tpm:4e6,rpm:10,supported_modalities:["text","image","audio","video"],supported_output_modalities:["text","image"],source:"https://cloud.google.com/vertex-ai/generative-ai/docs/learn/models#gemini-2.0-flash",supports_tool_choice:!0,supports_web_search:!0,cache_read_input_token_cost:0,supports_prompt_caching:!0},"gemini/gemini-2.0-flash-lite-preview-02-05":{max_tokens:8192,max_input_tokens:1048576,max_output_tokens:8192,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_audio_token:75e-9,input_cost_per_token:75e-9,output_cost_per_token:3e-7,litellm_provider:"gemini",mode:"chat",rpm:6e4,tpm:1e7,supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,supports_tool_choice:!0,supported_modalities:["text","image","audio","video"],supported_output_modalities:["text"],source:"https://cloud.google.com/vertex-ai/generative-ai/docs/learn/models#gemini-2.0-flash-lite",supports_web_search:!0,cache_read_input_token_cost:1875e-11,supports_prompt_caching:!0},"gemini/gemini-2.0-flash-thinking-exp":{max_tokens:8192,max_input_tokens:1048576,max_output_tokens:65536,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_image:0,input_cost_per_video_per_second:0,input_cost_per_audio_per_second:0,input_cost_per_token:0,input_cost_per_character:0,input_cost_per_token_above_128k_tokens:0,input_cost_per_character_above_128k_tokens:0,input_cost_per_image_above_128k_tokens:0,input_cost_per_video_per_second_above_128k_tokens:0,input_cost_per_audio_per_second_above_128k_tokens:0,output_cost_per_token:0,output_cost_per_character:0,output_cost_per_token_above_128k_tokens:0,output_cost_per_character_above_128k_tokens:0,litellm_provider:"gemini",mode:"chat",supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!0,tpm:4e6,rpm:10,supported_modalities:["text","image","audio","video"],supported_output_modalities:["text","image"],source:"https://cloud.google.com/vertex-ai/generative-ai/docs/learn/models#gemini-2.0-flash",supports_tool_choice:!0,supports_web_search:!0,cache_read_input_token_cost:0,supports_prompt_caching:!0},"gemini/gemini-2.0-flash-thinking-exp-01-21":{max_tokens:8192,max_input_tokens:1048576,max_output_tokens:65536,max_images_per_prompt:3e3,max_videos_per_prompt:10,max_video_length:1,max_audio_length_hours:8.4,max_audio_per_prompt:1,max_pdf_size_mb:30,input_cost_per_image:0,input_cost_per_video_per_second:0,input_cost_per_audio_per_second:0,input_cost_per_token:0,input_cost_per_character:0,input_cost_per_token_above_128k_tokens:0,input_cost_per_character_above_128k_tokens:0,input_cost_per_image_above_128k_tokens:0,input_cost_per_video_per_second_above_128k_tokens:0,input_cost_per_audio_per_second_above_128k_tokens:0,output_cost_per_token:0,output_cost_per_character:0,output_cost_per_token_above_128k_tokens:0,output_cost_per_character_above_128k_tokens:0,litellm_provider:"gemini",mode:"chat",supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!0,tpm:4e6,rpm:10,supported_modalities:["text","image","audio","video"],supported_output_modalities:["text","image"],source:"https://cloud.google.com/vertex-ai/generative-ai/docs/learn/models#gemini-2.0-flash",supports_tool_choice:!0,supports_web_search:!0,cache_read_input_token_cost:0,supports_prompt_caching:!0},"gemini/gemma-3-27b-it":{max_tokens:8192,max_input_tokens:131072,max_output_tokens:8192,input_cost_per_image:0,input_cost_per_video_per_second:0,input_cost_per_audio_per_second:0,input_cost_per_token:0,input_cost_per_character:0,input_cost_per_token_above_128k_tokens:0,input_cost_per_character_above_128k_tokens:0,input_cost_per_image_above_128k_tokens:0,input_cost_per_video_per_second_above_128k_tokens:0,input_cost_per_audio_per_second_above_128k_tokens:0,output_cost_per_token:0,output_cost_per_character:0,output_cost_per_token_above_128k_tokens:0,output_cost_per_character_above_128k_tokens:0,litellm_provider:"gemini",mode:"chat",supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,source:"https://aistudio.google.com",supports_tool_choice:!0},"gemini/learnlm-1.5-pro-experimental":{max_tokens:8192,max_input_tokens:32767,max_output_tokens:8192,input_cost_per_image:0,input_cost_per_video_per_second:0,input_cost_per_audio_per_second:0,input_cost_per_token:0,input_cost_per_character:0,input_cost_per_token_above_128k_tokens:0,input_cost_per_character_above_128k_tokens:0,input_cost_per_image_above_128k_tokens:0,input_cost_per_video_per_second_above_128k_tokens:0,input_cost_per_audio_per_second_above_128k_tokens:0,output_cost_per_token:0,output_cost_per_character:0,output_cost_per_token_above_128k_tokens:0,output_cost_per_character_above_128k_tokens:0,litellm_provider:"gemini",mode:"chat",supports_system_messages:!0,supports_function_calling:!0,supports_vision:!0,supports_response_schema:!0,supports_audio_output:!1,source:"https://aistudio.google.com",supports_tool_choice:!0},"gemini/veo-3.0-generate-preview":{max_tokens:1024,max_input_tokens:1024,output_cost_per_second:.75,litellm_provider:"gemini",mode:"video_generation",supported_modalities:["text"],supported_output_modalities:["video"],source:"https://ai.google.dev/gemini-api/docs/video"},"gemini/veo-3.0-fast-generate-preview":{max_tokens:1024,max_input_tokens:1024,output_cost_per_second:.4,litellm_provider:"gemini",mode:"video_generation",supported_modalities:["text"],supported_output_modalities:["video"],source:"https://ai.google.dev/gemini-api/docs/video"},"gemini/veo-2.0-generate-001":{max_tokens:1024,max_input_tokens:1024,output_cost_per_second:.35,litellm_provider:"gemini",mode:"video_generation",supported_modalities:["text"],supported_output_modalities:["video"],source:"https://ai.google.dev/gemini-api/docs/video"}};class am{static calculateCost(t,n){const o=sm[t];if(!o)return null;const e=n.inputTokens||0,i=n.outputTokens||0,s=n.cachedInputTokens||0,a=n.cacheCreationInputTokens||0,u="input_cost_per_token"in o?o.input_cost_per_token:0,c="output_cost_per_token"in o?o.output_cost_per_token:0,l="cache_read_input_token_cost"in o?o.cache_read_input_token_cost:0,d="cache_creation_input_token_cost"in o?o.cache_creation_input_token_cost:0,h=e*u,m=i*c,p=s*l,g=a*d;return{totalCost:h+m+p+g,inputCost:h,outputCost:m,cacheReadCost:s>0?p:void 0,cacheCreationCost:a>0?g:void 0}}}class _r{static parseStreamingResponse(t){try{const n=t.split(`
25
+ `),o=[];let e=null,i=null;const s=new Map;for(const p of n)if(p.startsWith("data: ")){const g=p.substring(6).trim();if(g)try{const v=JSON.parse(g);if(v.type==="message_start"&&v.message&&(e=v.message),v.type==="content_block_start"){const $={index:v.index,type:v.content_block.type,id:v.content_block.id,name:v.content_block.name,input:v.content_block.input||{},text:"",partialJson:""};s.set(v.index,$)}if(v.type==="content_block_delta"){const $=s.get(v.index);$&&(v.delta.type==="text_delta"?$.text+=v.delta.text:v.delta.type==="input_json_delta"&&($.partialJson+=v.delta.partial_json))}if(v.type==="content_block_stop"){const $=s.get(v.index);if($){if($.partialJson)try{$.input=JSON.parse($.partialJson)}catch{}o.push($)}}v.type==="message_delta"&&v.usage&&(i=v.usage)}catch{}}const a=(o||[]).map(p=>p.type==="text"?{type:"text",text:p.text}:p.type==="tool_use"?{type:"tool-invocation",toolInvocation:{toolCallId:p.id,toolName:p.name,args:p.input,state:"call"}}:{type:"text",text:`Unknown content block type: ${p.type}`}),u={id:e?.id||_r.generateId(),role:"assistant",createdAt:new Date().toISOString(),parts:a.length>0?a:[{type:"text",text:""}]},c={...e?.usage||{},...i||{}},l={inputTokens:c.input_tokens||c.inputTokens,outputTokens:c.output_tokens||c.outputTokens,cachedInputTokens:c.cache_read_input_tokens||c.cachedInputTokens,cacheCreationInputTokens:c.cache_creation_input_tokens||c.cacheCreationInputTokens,totalTokens:(c.input_tokens||0)+(c.output_tokens||0),cacheCreation:c.cache_creation,serviceTier:c.service_tier},d=e?.model,h=d?am.calculateCost(d,l):null;return{message:u,metadata:{model:d,usage:l,cost:h,originalMessageId:e?.id,stopReason:e?.stop_reason,contentLength:a.reduce((p,g)=>g.type==="text"?p+g.text.length:g.type==="tool-invocation"?p+JSON.stringify(g.toolInvocation.args||"").length:p+JSON.stringify(g).length,0),streamingEvents:n.filter(p=>p.startsWith("event:")).length}}}catch(n){return{error:`Failed to parse streaming response: ${n}`,rawText:t}}}static generateId(){return Date.now().toString(36)+Math.random().toString(36).slice(2,10)}}_r.parseStreamingResponse;new Proxy({},{get(r,t){throw new Error(`Module "node:zlib" has been externalized for browser compatibility. Cannot access "node:zlib.${t}" in client code. See https://vite.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.`)}});class wc{static parseStreamingResponse(t){try{return t.includes(`
26
+ data:`)||t.startsWith("data:")?this.parseSse(t):this.parseRegular(t)}catch(n){return{error:`Failed to parse Gemini response: ${n}`,rawText:t}}}static parseRegular(t){const n=this.isProbablyGzip(t)||this.hasHighControlCharRatio(t);let o=t;if(n){const e=this.tryGunzip(t);e.ok&&(o=e.text)}try{const e=JSON.parse(o),i=e.response||e,{fullText:s,finishReason:a,texts:u,nextSpeakers:c,reasoningSegments:l}=this.extractCandidateText(i.candidates),d=this.normalizeUsage(i.usageMetadata||e.usageMetadata||e),h=u.length>0?u.map(m=>({type:"text",text:m})):s?[{type:"text",text:s}]:[];return{message:{id:i.responseId||this.generateId(),role:"assistant",createdAt:new Date().toISOString(),parts:h},metadata:{model:i.modelVersion||e.modelVersion,usage:d,responseId:i.responseId,finishReason:a,contentLength:s.length,streamingEvents:0,compressed:n||void 0,nextSpeakers:c.length?c:void 0,reasoningSegments:l.length?l:void 0}}}catch{return{message:{id:this.generateId(),role:"assistant",createdAt:new Date().toISOString(),parts:[{type:"text",text:o}]},metadata:{raw:!0}}}}static parseSse(t){const n=t.split(/\r?\n/);let o,e,i,s;const a=[],u=[],c=[];for(const h of n){if(!h.startsWith("data:"))continue;const m=h.slice(5).trim();if(m)try{const g=JSON.parse(m).response||{};g.modelVersion&&(o=g.modelVersion),g.responseId&&(e=g.responseId),g.usageMetadata&&(s=g.usageMetadata);const v=this.extractCandidateText(g.candidates);!i&&v.finishReason&&(i=v.finishReason),v.texts.length&&a.push(...v.texts),v.nextSpeakers.length&&u.push(...v.nextSpeakers),v.reasoningSegments.length&&c.push(...v.reasoningSegments)}catch{}}const l=a.join(""),d=this.normalizeUsage(s);return{message:{id:e||this.generateId(),role:"assistant",createdAt:new Date().toISOString(),parts:a.length?a.map(h=>({type:"text",text:h})):[]},metadata:{model:o,usage:d,responseId:e,finishReason:i,contentLength:l.length,streamingEvents:n.filter(h=>h.startsWith("data:")).length,nextSpeakers:u.length?u:void 0,reasoningSegments:c.length?c:void 0}}}static extractCandidateText(t){const n=[],o=[],e=[];let i;if(Array.isArray(t))for(const s of t){!i&&s?.finishReason&&(i=s.finishReason);const a=s?.content?.parts||[];if(Array.isArray(a)){for(const u of a)if(u&&typeof u=="object"){if(u.thought===!0)continue;const c=u.text;if(typeof c=="string"&&c.length){const l=c.trim();if(l.startsWith("{")&&l.endsWith("}"))try{const d=JSON.parse(l);if(d&&typeof d=="object"){typeof d.reasoning=="string"&&(e.push(d.reasoning),n.push(d.reasoning)),d.next_speaker&&typeof d.next_speaker=="string"&&o.push(d.next_speaker);continue}}catch{}n.push(c)}}}}return{fullText:n.join(""),finishReason:i,texts:n,finishReasonFound:i,nextSpeakers:o,reasoningSegments:e}}static tryGunzip(t){try{return{ok:!0,text:(void 0)(Buffer.from(t,"latin1")).toString("utf8")}}catch{return{ok:!1,text:t}}}static hasHighControlCharRatio(t){if(!t)return!1;let n=0;const o=Math.min(t.length,256);for(let e=0;e<o;e++){const i=t.charCodeAt(e);i<32&&i!==9&&i!==10&&i!==13&&n++}return n/o>.1}static isProbablyGzip(t){return t.length>=2&&t.charCodeAt(0)===31&&t.charCodeAt(1)===139}static normalizeUsage(t){if(!t||typeof t!="object")return{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0};const n=t.promptTokenCount??t.prompt_tokens,o=t.candidatesTokenCount??t.candidates_tokens,e=t.totalTokenCount??(typeof n=="number"&&typeof o=="number"?n+o:void 0);return{inputTokens:n,outputTokens:o,totalTokens:e}}static generateId(){return Date.now().toString(36)+Math.random().toString(36).slice(2,10)}}wc.parseStreamingResponse;class ge{static parsers=[{name:"Claude (Anthropic)",patterns:[/\/publishers\/anthropic\/models/i,/anthropic\.com/i,/claude\.ai/i,/\/v1\/messages/i],parser:_r},{name:"Google Gemini",patterns:[/generativelanguage\.googleapis\.com/i,/cloudcode-pa\.googleapis\.com/i,/streamGenerateContent/i,/generateContent/i],parser:wc}];static parseStreamingResponse(t,n){const o=ge.getParserForUrl(t);if(!o)return{error:`No parser found for URL: ${t}`,rawText:n,supportedProviders:ge.parsers.map(e=>e.name)};try{const e=o.parseStreamingResponse(n);return e&&typeof e=="object"&&!e.error&&(e.metadata={...e.metadata,parser:ge.getParserNameForUrl(t)}),e}catch(e){return{error:`Parser failed: ${e}`,rawText:n,parser:ge.getParserNameForUrl(t)}}}static getParserForUrl(t){if(!t)return null;for(const n of ge.parsers)if(n.patterns.some(o=>o.test(t)))return n.parser;return null}static getParserNameForUrl(t){if(!t)return"unknown";for(const n of ge.parsers)if(n.patterns.some(o=>o.test(t)))return n.name;return"unknown"}static isSupported(t){return ge.getParserForUrl(t)!==null}static getSupportedProviders(){return ge.parsers.map(t=>t.name)}static registerParser(t,n,o){ge.parsers.push({name:t,patterns:n,parser:o})}}class Ic{LLM_PATTERNS=[/anthropic\.com/i,/claude\.ai/i,/openai\.com/i,/api\.openai\.com/i,/chatgpt\.com\/backend-api\/codex/i,/gemini\.google/i,/generativelanguage\.googleapis/i,/cloudcode-pa\.googleapis\.com/i,/bedrock.*\.amazonaws/i,/cognitive\.microsoft/i,/azure\.openai/i,/cohere\.ai/i,/huggingface\.co/i,/replicate\.com/i,/together\.xyz/i,/mistral\.ai/i,/groq\.com/i,/perplexity\.ai/i,/ollama/i,/localhost:\d+\/v1/i,/127\.0\.0\.1:\d+\/v1/i,/\/v1\/chat\/completions/i,/\/v1\/completions/i,/\/v1\/embeddings/i,/\/v1\/messages/i,/\/publishers\/anthropic\/models/i];PROVIDER_MAP=[{pattern:/\/publishers\/anthropic\/models/i,provider:"anthropic"},{pattern:/anthropic\.com|claude\.ai/i,provider:"anthropic"},{pattern:/chatgpt\.com\/backend-api\/codex/i,provider:"openai"},{pattern:/openai\.com/i,provider:"openai"},{pattern:/gemini\.google|generativelanguage\.googleapis|cloudcode-pa\.googleapis/i,provider:"google"},{pattern:/bedrock.*\.amazonaws/i,provider:"aws-bedrock"},{pattern:/cognitive\.microsoft|azure\.openai/i,provider:"azure"},{pattern:/cohere\.ai/i,provider:"cohere"},{pattern:/huggingface\.co/i,provider:"huggingface"},{pattern:/replicate\.com/i,provider:"replicate"},{pattern:/together\.xyz/i,provider:"together"},{pattern:/mistral\.ai/i,provider:"mistral"},{pattern:/groq\.com/i,provider:"groq"},{pattern:/perplexity\.ai/i,provider:"perplexity"},{pattern:/ollama|localhost:\d+\/v1|127\.0\.0\.1:\d+\/v1/i,provider:"local"}];isLLMCall(t){return t?this.LLM_PATTERNS.some(n=>n.test(t)):!1}detectProvider(t){if(!t)return"unknown";for(const{pattern:n,provider:o}of this.PROVIDER_MAP)if(n.test(t))return o;return"unknown"}getSupportedProviders(){return Array.from(new Set(this.PROVIDER_MAP.map(({provider:t})=>t)))}isProviderSupported(t){return this.getSupportedProviders().includes(t.toLowerCase())}getProviderPattern(t){const n=this.PROVIDER_MAP.find(({provider:o})=>o===t.toLowerCase());return n?n.pattern:null}}class um{static enhanceRequest(t){const n=re.contextData;if(!n)return t;try{const o=JSON.parse(t);o.system?typeof o.system=="string"?o.system=[{type:"text",text:o.system}]:Array.isArray(o.system)||(o.system=[o.system]):o.system=[];const e={type:"text",text:`# Task Context
27
+
28
+ ${n}`};return o.system.length>0?o.system.splice(1,0,e):o.system.push(e),JSON.stringify(o)}catch(o){return console.error("Failed to enhance Claude request:",o),t}}}class cm{static enhanceRequest(t){const n=re.contextData;if(!n)return t;try{const o=JSON.parse(t),e=`# Task Context
29
+
30
+ ${n}`;return o.systemInstruction?typeof o.systemInstruction=="string"?o.systemInstruction={parts:[{text:e},{text:o.systemInstruction}]}:o.systemInstruction.parts&&o.systemInstruction.parts.unshift({text:e}):o.systemInstruction={parts:[{text:e}]},JSON.stringify(o)}catch(o){return console.error("Failed to enhance Gemini request:",o),t}}}class Pe{static enhancers=[{name:"Claude (Anthropic)",patterns:[/\/publishers\/anthropic\/models/i,/anthropic\.com/i,/claude\.ai/i,/\/v1\/messages/i],enhancer:um},{name:"Google Gemini",patterns:[/generativelanguage\.googleapis\.com/i,/cloudcode-pa\.googleapis\.com/i,/streamGenerateContent/i,/generateContent/i],enhancer:cm}];static enhanceRequest(t,n){const o=Pe.getEnhancerForUrl(t);if(!o)return n;try{return o.enhanceRequest(n)}catch(e){return console.error(`Enhancer failed for ${t}:`,e),n}}static getEnhancerForUrl(t){if(!t)return null;for(const n of Pe.enhancers)if(n.patterns.some(o=>o.test(t)))return n.enhancer;return null}static getEnhancerNameForUrl(t){if(!t)return"unknown";for(const n of Pe.enhancers)if(n.patterns.some(o=>o.test(t)))return n.name;return"unknown"}static isSupported(t){return Pe.getEnhancerForUrl(t)!==null}static getSupportedProviders(){return Pe.enhancers.map(t=>t.name)}static registerEnhancer(t,n,o){Pe.enhancers.push({name:t,patterns:n,enhancer:o})}}class _t{constructor(t,n){this.ctx=t,this.extra=n}originalFetch=null;static MAX_LOG_BYTES=256*1024;patch(){if(typeof globalThis.fetch!="function"||this.originalFetch)return;this.originalFetch=globalThis.fetch.bind(globalThis);const t=this.ctx,n=this.extra;globalThis.fetch=async(o,e)=>{const i=Oe.performance.now();let s=o,a=e,u=this.safeGetUrl(s);const c=u,l=(a?.method||typeof s=="object"&&s?.method||"GET").toString().toUpperCase();let d=this.extractHeaders(a?.headers??s?.headers);const h=this.stringifyRequestBody(a?.body??s?.body);let m=h;if(t.llmProvider.isLLMCall(u)&&h&&h!=="<request body error>")try{m=Pe.enhanceRequest(u,h),m!==h&&(a?a.body=m:typeof s=="object"&&s?a={body:m}:a={body:m})}catch{}const p=await this.applyRouting({resource:s,init:a,url:u,enhancedBody:m,requestHeaders:d});s=p.resource,a=p.init,u=p.url,m=p.enhancedBody,d=p.requestHeaders;const g=p.wasRouted,v=t.idGenerator(),$=new Date().toISOString();if(n.agentHttpService&&n.sessionId&&n.isValidMessageRequest(u,l,h)){const S={id:v,time:$,transport:"fetch",method:l,url:u,requestBody:h,requestHeaders:d,durationMs:0};n.sendHttpStart(S).catch(A=>{t.logger&&t.logger.error("Failed to send HTTP start",A)})}let b;try{b=await this.originalFetch(s,a)}catch(S){const A=Oe.performance.now()-i,M={id:v,time:$,transport:"fetch",method:l,url:u,requestBody:h,requestHeaders:d,durationMs:Math.round(A),error:S.message};throw t.handleLogEntry(M),n.agentHttpService&&n.sessionId&&n.isValidMessageRequest(u,l,h)&&n.sendHttpUpdate(M).catch(()=>{}),S}let z={};try{const S=Oe.performance.now()-i;z=this.extractHeaders(b.headers);const A=await this.captureResponse({res:b,method:l,url:u,originalUrl:c,requestBody:h,requestHeaders:d,responseHeaders:z,wasRouted:g,entryId:v,entryTime:$,start:i});b=A.response;let M=A.responseBody,E=A.processedBody;const V=A.bodyBytes,ne=A.isEventStream;if(A.capturePromise&&(b.__capturePromise=A.capturePromise),!ne&&g&&t.router&&M&&M!=="<response body error>")try{M=t.router.transformResponse(M)}catch{}if(!ne){const ee=g?c:u;if(t.llmProvider.isLLMCall(ee)&&M&&M!=="<response body error>")try{E=t.responseProcessor(ee,M)}catch(H){E={error:`parser_failed: ${H instanceof Error?H.message:String(H)}`}}}const F={id:v,time:$,transport:"fetch",method:l,url:u,requestBody:h,requestHeaders:d,status:b.status,ok:b.ok,durationMs:Math.round(S),responseBody:M,responseHeaders:z,processedBody:E,bodyBytes:V};return t.handleLogEntry(F),!ne&&n.agentHttpService&&n.sessionId&&n.isValidMessageRequest(u,l,h)&&n.sendHttpUpdate(F).catch(()=>{}),b}catch(S){const A=Oe.performance.now()-i,M={id:v,time:$,transport:"fetch",method:l,url:u,requestBody:h,requestHeaders:d,durationMs:Math.round(A),error:S.message};return t.handleLogEntry(M),n.agentHttpService&&n.sessionId&&n.isValidMessageRequest(u,l,h)&&n.sendHttpUpdate(M).catch(()=>{}),b}}}restore(){this.originalFetch&&(globalThis.fetch=this.originalFetch,this.originalFetch=null)}safeGetUrl(t){try{if(typeof t=="string")return t;if(t?.url)return t.url}catch{}return""}extractHeaders(t){const n={};if(!t)return n;try{if(t instanceof Headers)t.forEach((o,e)=>{n[e]=o});else if(Array.isArray(t))for(const[o,e]of t)n[o]=e;else if(typeof t=="object")for(const[o,e]of Object.entries(t))n[o]=Array.isArray(e)?e.join(", "):String(e)}catch{return{}}return n}stringifyRequestBody(t){try{if(!t)return"";if(typeof t=="string")return t;if(t instanceof URLSearchParams)return t.toString();if(typeof FormData<"u"&&t instanceof FormData){const n={};for(const[o,e]of t.entries())n[o]=typeof e=="string"?e:"[File|Blob]";return JSON.stringify(n)}return t instanceof Uint8Array||Buffer.isBuffer(t)?Buffer.from(t).toString("utf8"):typeof t=="object"?JSON.stringify(t):""}catch{return"<request body error>"}}async applyRouting(t){const n=this.ctx;let{resource:o,init:e,url:i,enhancedBody:s,requestHeaders:a}=t,u=!1;if(!n.router)return{resource:o,init:e,url:i,enhancedBody:s,requestHeaders:a,wasRouted:u};let c=!1;try{c=n.router.shouldRoute(i,s)}catch(l){n.logger&&n.logger.error("[FetchInstrument] shouldRoute() failed",l)}if(!c){if(n.llmProvider.isLLMCall(i)&&s){const l=n.router.cleanRequestForPassthrough(s);l!==s&&(s=l,typeof o=="object"&&o&&(o=new Request(i,{...o,body:s})),e&&(e.body=s))}return{resource:o,init:e,url:i,enhancedBody:s,requestHeaders:a,wasRouted:u}}try{const l=await n.router.transformRequest(i,s);i=l.url,s=l.body,u=!0,typeof o=="string"?o=l.url:typeof o=="object"&&o&&(o=new Request(l.url,o)),e||(e={}),e.body=l.body,l.headers&&(this.mergeHeadersIntoInit(e,l.headers),a={...a,...l.headers})}catch(l){u=!1,n.logger&&n.logger.error("[FetchInstrument] Failed to route LLM request",l)}return{resource:o,init:e,url:i,enhancedBody:s,requestHeaders:a,wasRouted:u}}mergeHeadersIntoInit(t,n){if(!(!n||Object.keys(n).length===0)){if(!t.headers){t.headers={...n};return}if(t.headers instanceof Headers){const o=t.headers;Object.entries(n).forEach(([e,i])=>o.set(e,i));return}if(Array.isArray(t.headers)){const o=t.headers;Object.entries(n).forEach(([e,i])=>{o.push([e,i])});return}t.headers={...t.headers,...n}}}async captureResponse(t){const{res:n,requestHeaders:o}=t,e=this.ctx,i=this.extra,s=n.headers.get("content-type")||"",a=o.accept||"",u=/text\/event-stream/i.test(s)||/text\/event-stream/i.test(a),c=/^(text\/|application\/(json|xml|javascript))/i.test(s)||/(json|xml|html)/i.test(s);if(!u){let p="",g=0;try{const $=await n.clone().arrayBuffer();if(g=$.byteLength,c)if($.byteLength<=_t.MAX_LOG_BYTES)p=Buffer.from($).toString("utf8");else{const b=Buffer.from($.slice(0,_t.MAX_LOG_BYTES)),z=$.byteLength-_t.MAX_LOG_BYTES;p=`${b.toString("utf8")}
31
+ ...[truncated ${z.toLocaleString()} bytes]`}else p=`<${g} bytes binary>`}catch{p="<response body error>"}return{response:n,responseBody:p,processedBody:null,bodyBytes:g,isEventStream:!1}}if(!n.body)return{response:n,responseBody:"<streaming response not buffered>",processedBody:null,bodyBytes:0,isEventStream:!0};if(t.wasRouted&&e.router){const p=n.body.getReader(),g=[];let v=0;for(;;){const{done:E,value:V}=await p.read();if(E)break;g.push(V),v+=V.byteLength}let b=Buffer.concat(g.map(E=>Buffer.from(E))).toString("utf8"),z=null;try{b=e.router.transformResponse(b)}catch{}if(e.llmProvider.isLLMCall(t.originalUrl)&&b)try{z=e.responseProcessor(t.originalUrl,b)}catch(E){z={error:`parser_failed: ${E instanceof Error?E.message:String(E)}`}}const S={id:t.entryId,time:t.entryTime,transport:"fetch",method:t.method,url:t.url,requestBody:t.requestBody,requestHeaders:t.requestHeaders,status:n.status,ok:n.ok,durationMs:Math.round(Oe.performance.now()-t.start),responseBody:b,responseHeaders:t.responseHeaders,processedBody:z,bodyBytes:v};e.handleLogEntry(S),i.agentHttpService&&i.sessionId&&i.isValidMessageRequest(t.url,t.method,t.requestBody)&&i.sendHttpUpdate(S).catch(()=>{});const A=new ReadableStream({start(E){const V=new TextEncoder;E.enqueue(V.encode(b)),E.close()}});return{response:new Response(A,{status:n.status,statusText:n.statusText,headers:n.headers}),responseBody:b,processedBody:z,bodyBytes:v,isEventStream:!0}}const[l,d]=n.body.tee(),h=(async()=>{try{const p=l.getReader(),g=[];let v=0;for(;;){const{done:A,value:M}=await p.read();if(A)break;g.push(M),v+=M.byteLength}const b=Buffer.concat(g.map(A=>Buffer.from(A))).toString("utf8");let z=null;if(e.llmProvider.isLLMCall(t.url)&&b)try{z=e.responseProcessor(t.url,b)}catch(A){z={error:`parser_failed: ${A instanceof Error?A.message:String(A)}`}}const S={id:t.entryId,time:t.entryTime,transport:"fetch",method:t.method,url:t.url,requestBody:t.requestBody,requestHeaders:t.requestHeaders,status:n.status,ok:n.ok,durationMs:Math.round(Oe.performance.now()-t.start),responseBody:b,responseHeaders:t.responseHeaders,processedBody:z,bodyBytes:v};return e.handleLogEntry(S),i.agentHttpService&&i.sessionId&&i.isValidMessageRequest(t.url,t.method,t.requestBody)&&i.sendHttpUpdate(S).catch(()=>{}),{responseBody:b,processedBody:z,bodyBytes:v}}catch{return{responseBody:"<stream capture error>",processedBody:null,bodyBytes:0}}})();return{response:new Response(d,{status:n.status,statusText:n.statusText,headers:n.headers}),responseBody:"<streaming in progress>",processedBody:null,bodyBytes:0,isEventStream:!0,capturePromise:h}}}class pm{constructor(t,n,o={isValidMessageRequest:()=>!1,sendHttpStart:async()=>{},sendHttpUpdate:async()=>{}}){this.ctx=t,this.enableHttps=n,this._extra=o}originals=null;patch(){try{let t=function(a,u){try{if(typeof a=="string")return a;if(a instanceof URL)return a.toString();const c=a.protocol||u,l=a.hostname||a.host||"localhost",d=a.port?`:${a.port}`:"",h=a.path||a.pathname||"/";return`${c}//${l}${d}${h}`}catch{return""}},n=function(a,u){return function(l,d){const h=t(l,u),m=(typeof l=="object"&&l.method?l.method:"GET").toUpperCase(),p=Oe.performance.now(),g=i.ctx.idGenerator(),v=new Date().toISOString(),$=[];let b=0,z=!1;const S=a(l,E=>{const V=[];let ne=0,F=0;const ee=()=>String(E.headers["content-type"]||"");E.on("data",H=>{ne+=H.length;const ae=ee();if(/text\/event-stream/i.test(ae))V.push(H),F+=H.length;else{if(F>=s)return;const f=s-F;H.length<=f?(V.push(H),F+=H.length):(V.push(H.subarray(0,f)),F+=f)}}),E.on("end",()=>{const H=Oe.performance.now()-p;let ae="";try{const w=ee(),U=/text\/event-stream/i.test(w),j=Buffer.concat(V),Y=ne>j.length||j.length===s;let W=j;if(!U){const K=String(E.headers["content-encoding"]||"").toLowerCase();if(!Y&&W.length&&/(gzip|br|deflate)/.test(K))try{const J=require("node:zlib");K.includes("gzip")?W=J.gunzipSync(j):K.includes("br")?W=J.brotliDecompressSync(j):K.includes("deflate")&&(W=J.inflateSync(j))}catch{}}/text\//i.test(w)||/application\/(json|xml|javascript)/i.test(w)||U?(ae=W.toString("utf8"),Y&&!U&&(ae+=`
32
+ ...[truncated]`)):W.length&&(ae=`<${W.length} bytes${Y?" (truncated)":""} binary>`)}catch{ae="<response body error>"}let se="";try{const w=Buffer.concat($),U=b>w.length||w.length===s;se=w.toString("utf8"),U&&(se+=`
33
+ ...[truncated]`)}catch{se="<request body error>"}let f=null;if(i.ctx.llmProvider.isLLMCall(h))try{f=i.ctx.responseProcessor(h,ae)}catch(w){f={parts:[{type:"text",text:ae||"<empty response>"}],metadata:{error:String(w)}}}const x={id:g,time:v,transport:u==="https:"?"https":"http",method:m,url:h,requestBody:se,status:E.statusCode,ok:E.statusCode>=200&&E.statusCode<300,durationMs:Math.round(H),responseBody:ae,processedBody:f,bodyBytes:ne};try{const w=new URL(h);x.host=w.hostname,x.path=w.pathname}catch{}i.ctx.handleLogEntry(x),i._extra.agentHttpService&&i._extra.sessionId&&i._extra.isValidMessageRequest(h,m,se)&&i._extra.sendHttpUpdate(x).catch(()=>{})}),E.on("error",H=>{const ae=Oe.performance.now()-p;let se="";try{const x=Buffer.concat($),w=b>x.length||x.length===s;se=x.toString("utf8"),w&&(se+=`
34
+ ...[truncated]`)}catch{se="<request body error>"}const f={id:g,time:v,transport:u==="https:"?"https":"http",method:m,url:h,requestBody:se,durationMs:Math.round(ae),error:H.message};try{const x=new URL(h);f.host=x.hostname,f.path=x.pathname}catch{}i.ctx.handleLogEntry(f),i._extra.agentHttpService&&i._extra.sessionId&&i._extra.isValidMessageRequest(h,m,se)&&i._extra.sendHttpUpdate(f).catch(()=>{})}),d&&d(E)}),A=S.write,M=S.end;return S.write=function(E,V,ne){try{if(E&&b<s){const F=Buffer.isBuffer(E)?E:Buffer.from(E,V||"utf8"),ee=s-b;F.length<=ee?($.push(F),b+=F.length):($.push(F.subarray(0,ee)),b+=ee)}}catch{}return A.call(this,E,V,ne)},S.end=function(E,V,ne){try{if(E&&b<s){const F=Buffer.isBuffer(E)?E:Buffer.from(E,V||"utf8"),ee=s-b;F.length<=ee?($.push(F),b+=F.length):($.push(F.subarray(0,ee)),b+=ee)}if(!z){z=!0;try{const F=Buffer.concat($),ee=b>F.length||F.length===s;let H=F.toString("utf8");ee&&(H+=`
35
+ ...[truncated]`);const ae=i._extra.isValidMessageRequest(h,m,H);if(i._extra.agentHttpService&&i._extra.sessionId&&ae){const se={id:g,time:v,transport:u==="https:"?"https":"http",method:m,url:h,requestBody:H,durationMs:0};i._extra.sendHttpStart(se).catch(()=>{})}}catch{}}}catch{}return M.call(this,E,V,ne)},S}};const o=require("http"),e=require("https");if(this.originals)return;this.originals={httpRequest:o.request,httpsRequest:e.request,httpGet:o.get,httpsGet:e.get};const i=this,s=this.ctx.maxBodyBytes;o.request=n(this.originals.httpRequest,"http:"),o.get=function(u,c){const l=o.request(u,c);return l.end(),l},this.enableHttps!==!1&&(e.request=n(this.originals.httpsRequest,"https:"),e.get=function(u,c){const l=e.request(u,c);return l.end(),l})}catch{}}restore(){if(this.originals){try{const t=require("http"),n=require("https");t.request=this.originals.httpRequest,t.get=this.originals.httpGet,n.request=this.originals.httpsRequest,n.get=this.originals.httpsGet}catch{}this.originals=null}}}class He{static instance=null;isPatched=!1;config;llmProvider;idGenerator;agentHttpService;sessionId;router;activeRequests=new Map;rawLogger;errorLogger;processedLogger;debugLogger;fetchInstrument;httpInstrument;constructor(t={}){this.llmProvider=t.llmProvider||new Ic,this.idGenerator=t.idGenerator||ze.ulid,this.agentHttpService=t.agentHttpService,this.sessionId=t.sessionId,this.router=t.router,this.debugLogger=t.logger,this.config={maxBodyBytes:t.maxBodyBytes??8192,enableHttpsPatching:t.enableHttpsPatching??!0,enableDebug:t.enableDebug??!1,logFilter:t.logFilter??(s=>!!(s.url&&!s.url.includes("statsig")&&!s.url.includes("registry.npmjs.org")&&!s.url.startsWith("data:"))),responseProcessor:t.responseProcessor??((s,a)=>{try{return ge.parseStreamingResponse(s,a)}catch{return null}})};const n=ye.join(Wt.tmpdir(),"agiflow-agents","llm",`session-${process.pid}`),o=t.logFilePath||ye.join(n,"network.log"),e=ye.join(n,"error.log"),i=t.processedLogFilePath||ye.join(n,"processed.jsonl");try{this.rawLogger=new lt(o)}catch{}try{this.errorLogger=new lt(e)}catch{}try{this.processedLogger=new lt(i)}catch{}}static getInstance(t){return He.instance||(He.instance=new He(t)),He.instance}start(){if(this.isPatched)return;const t={idGenerator:this.idGenerator,maxBodyBytes:this.config.maxBodyBytes,enableDebug:this.config.enableDebug,logFilter:this.config.logFilter,responseProcessor:this.config.responseProcessor,llmProvider:this.llmProvider,handleLogEntry:n=>this.handleLogEntry(n),router:this.router,logger:this.debugLogger};this.fetchInstrument=new _t(t,{agentHttpService:this.agentHttpService,sessionId:this.sessionId,isValidMessageRequest:(n,o,e)=>this.isValidMessageRequest(n,o,e),sendHttpStart:n=>this.sendHttpStart(n),sendHttpUpdate:n=>this.sendHttpUpdate(n)}),this.fetchInstrument.patch(),this.httpInstrument=new pm(t,this.config.enableHttpsPatching,{agentHttpService:this.agentHttpService,sessionId:this.sessionId,isValidMessageRequest:(n,o,e)=>this.isValidMessageRequest(n,o,e),sendHttpStart:n=>this.sendHttpStart(n),sendHttpUpdate:n=>this.sendHttpUpdate(n)}),this.httpInstrument.patch(),this.isPatched=!0}stop(){this.isPatched&&(this.fetchInstrument?.restore(),this.httpInstrument?.restore(),this.isPatched=!1)}isActive(){return this.isPatched}updateConfig(t){this.config={...this.config,...t}}handleLogEntry(t){this.rawLogger&&this.rawLogger.info("network_entry",{networkLog:t}),this.debugLogger&&this.debugLogger.info("network_entry",{networkLog:t}),this.processedLogger&&this.config.logFilter(t)&&t.processedBody&&this.processedLogger.info("processed_entry",{id:t.id,url:t.url,method:t.method,status:t.status,durationMs:t.durationMs,timestamp:t.time,processedBody:t.processedBody})}isValidMessageRequest(t,n,o){if(this.rawLogger&&this.rawLogger.info("isValidMessageRequest checking",{url:t,method:n,hasBody:!!o,bodyLength:o?.length}),!this.llmProvider.isLLMCall(t))return this.rawLogger&&this.rawLogger.info("Not an LLM URL, skipping",{url:t}),this.rawLogger&&this.config.enableDebug&&this.rawLogger.debug("Request validation failed: Not an LLM URL",{url:t,method:n}),!1;if(t.includes("cloudcode-pa.googleapis.com")||t.includes("generativelanguage.googleapis.com"))return!!t.includes("streamGenerateContent");if(n!=="POST"||!o)return!1;try{const e=JSON.parse(o),i=e.messages&&Array.isArray(e.messages)&&e.messages.length>0,s=e.prompt&&typeof e.prompt=="string",a=e.input&&typeof e.input=="string",u=e.contents&&Array.isArray(e.contents)&&e.contents.length>0,c=e.request?.contents&&Array.isArray(e.request.contents)&&e.request.contents.length>0;return i||s||a||u||c}catch(e){return this.errorLogger&&this.errorLogger.error("Failed to parse request body in isValidMessageRequest",{url:t,method:n,error:e instanceof Error?e.message:String(e)}),!1}}async sendHttpStart(t){if(!this.agentHttpService||!this.sessionId)return;this.rawLogger&&this.rawLogger.info("http_start",{entry:t});let n=[];if(t.requestBody)try{const e=JSON.parse(t.requestBody);if(e.messages&&Array.isArray(e.messages)){const i=e.messages.filter(s=>s.role==="user").pop();i?.content&&(typeof i.content=="string"?n.push({type:"text",text:i.content}):Array.isArray(i.content)&&(n=i.content.map(s=>({type:s.type||"text",text:s.text||JSON.stringify(s)}))))}else if(e.prompt)n.push({type:"text",text:e.prompt});else if(e.input)n.push({type:"text",text:e.input});else if(e.contents&&Array.isArray(e.contents)){const i=e.contents.filter(s=>s.role==="user").pop();i?.parts&&Array.isArray(i.parts)&&(n=i.parts.map(s=>({type:"text",text:s.text||JSON.stringify(s)})))}else if(e.request?.contents&&Array.isArray(e.request.contents)){const i=e.request.contents.filter(s=>s.role==="user").pop();i?.parts&&Array.isArray(i.parts)&&(n=i.parts.map(s=>({type:"text",text:s.text||JSON.stringify(s)})))}}catch(e){this.errorLogger&&this.errorLogger.error("Failed to parse request data in sendHttpStart",{url:t.url,error:e instanceof Error?e.message:String(e)}),n.push({type:"text",text:"LLM request initiated..."})}const o={llm_provider:this.llmProvider.detectProvider(t.url),request_started:!0};try{this.rawLogger&&this.rawLogger.info("Calling agentHttpService.startMessage",{sessionId:this.sessionId,entryId:t.id});const e=await this.agentHttpService.startMessage(this.sessionId,{messageType:"output",metadata:o});this.activeRequests.set(t.id,e.messageId),this.rawLogger&&this.rawLogger.info("startMessage successful",{entryId:t.id,messageId:e.messageId})}catch(e){this.errorLogger&&this.errorLogger.error("Failed to send HTTP start message",{url:t.url,sessionId:this.sessionId,error:e instanceof Error?e.message:String(e)})}}async sendHttpUpdate(t){if(!this.agentHttpService||!this.sessionId)return;this.rawLogger&&this.rawLogger.info("http_update",{entry:t});const n=this.activeRequests.get(t.id);if(!n)return;if(!(t.processedBody?.message?.parts?.length>0||t.processedBody?.parts?.length>0)){this.rawLogger&&this.rawLogger.info("Skipping update - no valid parts yet",{entryId:t.id,messageId:n});return}const e={llm_provider:this.llmProvider.detectProvider(t.url),status:t.status,duration:t.durationMs};if(t.processedBody?.metadata){const s=t.processedBody.metadata;s.model&&(e.model=s.model),s.usage&&(e.usage=s.usage),s.total_tokens&&(e.total_tokens=s.total_tokens),s.prompt_tokens&&(e.prompt_tokens=s.prompt_tokens),s.completion_tokens&&(e.completion_tokens=s.completion_tokens),s.cost&&(e.cost=s.cost)}let i=[];if(t.processedBody){const s=t.processedBody;s?.message?.parts&&Array.isArray(s.message.parts)?i=s.message.parts:s?.parts&&Array.isArray(s.parts)?i=s.parts:s?.error?i.push({type:"text",text:`Parser error: ${s.error}`}):i=[]}else t.responseBody&&i.push({type:"text",text:"LLM response completed"});try{const s={parts:i,metadata:e,mId:t.processedBody?.message?.id};re.isSaveRawEnabled&&(s.raw=JSON.stringify(t)),await this.agentHttpService.updateMessage(this.sessionId,n,s),this.activeRequests.delete(t.id)}catch(s){this.errorLogger&&this.errorLogger.error("Failed to send HTTP update message",{url:t.url,messageId:n,sessionId:this.sessionId,error:s instanceof Error?s.message:String(s)}),this.activeRequests.delete(t.id)}}}class Q{static AGIFLOW_DIR=Ue.join(mr.homedir(),".agiflow");static async ensureDir(t){await Ae.ensureDir(t)}static async exists(t){try{return await Ae.access(t),!0}catch{return!1}}static async readJson(t){const n=await Ae.readFile(t,"utf-8");return JSON.parse(n)}static async writeJson(t,n,o){await Ae.ensureDir(Ue.dirname(t));const e=JSON.stringify(n,null,o?.spaces??2);await Ae.writeFile(t,e,"utf-8")}static async copy(t,n){await Ae.copy(t,n)}static async remove(t){await Ae.remove(t)}static getCurrentDirectory(){return process.cwd()}static resolvePath(...t){return Ue.resolve(process.cwd(),...t)}static async getFiles(t,n){const o=await Ae.readdir(t);return n?o.filter(e=>n.test(e)):o}static getAbsolutePath(t){return t?t.startsWith("~/")?Ue.join(mr.homedir(),t.slice(2)):t==="~"?mr.homedir():Ue.isAbsolute(t)?t:Ue.resolve(process.cwd(),t):process.cwd()}}class lm{static SESSIONS_FILE=Ue.join(Q.AGIFLOW_DIR,"sessions.json");static async getSessionSettings(t){try{return await Q.exists(this.SESSIONS_FILE)&&(await Q.readJson(this.SESSIONS_FILE))[t]||null}catch(n){return console.error("[SessionSettings] Failed to read session settings:",n),null}}static async setSessionSettings(t,n){try{let o={};await Q.exists(this.SESSIONS_FILE)&&(o=await Q.readJson(this.SESSIONS_FILE)),o[t]=n,await Q.writeJson(this.SESSIONS_FILE,o,{spaces:2})}catch(o){throw console.error("[SessionSettings] Failed to write session settings:",o),o}}static async removeSessionSettings(t){try{if(!await Q.exists(this.SESSIONS_FILE))return;const o=await Q.readJson(this.SESSIONS_FILE);delete o[t],await Q.writeJson(this.SESSIONS_FILE,o,{spaces:2})}catch(n){throw console.error("[SessionSettings] Failed to remove session settings:",n),n}}static async getAllSessions(){try{return await Q.exists(this.SESSIONS_FILE)?await Q.readJson(this.SESSIONS_FILE):{}}catch(t){return console.error("[SessionSettings] Failed to read all session settings:",t),{}}}static async clearAllSessions(){try{await Q.writeJson(this.SESSIONS_FILE,{},{spaces:2})}catch(t){throw console.error("[SessionSettings] Failed to clear session settings:",t),t}}}class De{static AUTH_FILE_PATH=ye.join(Wt.homedir(),".codex","auth.json");static TOKEN_REFRESH_URL="https://auth.openai.com/oauth/token";static CLIENT_ID="app_EMoamEEZ73f0CkXaXp7hrann";logger;constructor(t){this.logger=t}async getAccountId(){try{const t=this.readAuthFile();return!t||!t.tokens?null:t.tokens.account_id||null}catch(t){return this.logger?.error("[CodexAuth] Error getting account ID",t),null}}async getAccessToken(){try{const t=this.readAuthFile();if(!t||!t.tokens)return this.logger?.warn("[CodexAuth] No tokens found in auth file"),null;let{access_token:n,refresh_token:o}=t.tokens;if(typeof n=="string"&&n.startsWith("Bearer ")&&(n=n.substring(7)),!this.isTokenExpired(n))return n;const i=await this.refreshAccessToken(o);return i?(this.saveTokens(i),i.access_token):(this.logger?.error("[CodexAuth] Failed to refresh access token"),null)}catch(t){return this.logger?.error("[CodexAuth] Error getting access token",t),null}}readAuthFile(){try{if(!be.existsSync(De.AUTH_FILE_PATH))return this.logger?.warn("[CodexAuth] Auth file does not exist",{path:De.AUTH_FILE_PATH}),null;const t=be.readFileSync(De.AUTH_FILE_PATH,"utf-8");return JSON.parse(t)}catch(t){return this.logger?.error("[CodexAuth] Failed to read auth file",t),null}}isTokenExpired(t){try{const n=this.decodeJWT(t);if(!n||!n.exp)return!0;const o=n.exp*1e3,e=Date.now(),i=300*1e3;return o-e<i}catch(n){return this.logger?.error("[CodexAuth] Failed to decode token",n),!0}}decodeJWT(t){try{const n=t.split(".");if(n.length!==3)return null;const o=n[1],e=Buffer.from(o,"base64url").toString("utf-8");return JSON.parse(e)}catch(n){return this.logger?.error("[CodexAuth] Failed to decode JWT",n),null}}async refreshAccessToken(t){try{const n=await fetch(De.TOKEN_REFRESH_URL,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:t,client_id:De.CLIENT_ID})});if(!n.ok){const i=await n.text();return this.logger?.error("[CodexAuth] Token refresh failed",{status:n.status,error:i}),null}const o=await n.json();let e=o.access_token;return typeof e=="string"&&e.startsWith("Bearer ")&&(e=e.substring(7)),{id_token:o.id_token,access_token:e,refresh_token:o.refresh_token||t,account_id:o.account_id||""}}catch(n){return this.logger?.error("[CodexAuth] Failed to refresh token",n),null}}saveTokens(t){try{const n=this.readAuthFile();if(!n){this.logger?.error("[CodexAuth] Cannot save tokens - auth file not found");return}n.tokens=t,n.last_refresh=new Date().toISOString(),be.writeFileSync(De.AUTH_FILE_PATH,JSON.stringify(n,null,2),"utf-8")}catch(n){this.logger?.error("[CodexAuth] Failed to save tokens",n)}}}const _m=`You are a coding agent running in the Codex CLI, a terminal-based coding assistant. Codex CLI is an open source project led by OpenAI. You are expected to be precise, safe, and helpful.
14
36
 
15
37
  Your capabilities:
16
38
 
@@ -396,18 +418,18 @@ You can invoke apply_patch like:
396
418
  \`\`\`
397
419
  shell {"command":["apply_patch","*** Begin Patch\\\\n*** Add File: hello.txt\\\\n+Hello, world!\\\\n*** End Patch\\\\n"]}
398
420
  \`\`\`
399
- `;class Jo{config;codexAuth;codexInstructions;constructor(e,t){this.config=e,this.codexAuth=t,this.codexInstructions=this.loadCodexInstructions()}loadCodexInstructions(){return Zo}async transform(e,t){try{const s=JSON.parse(t);this.config.logger?.debug("[ClaudeToOpenAI] ===== ORIGINAL CLAUDE REQUEST ====="),this.config.logger?.debug("[ClaudeToOpenAI] Original body",{body:JSON.stringify(s,null,2)});const o=$s.randomUUID(),r=o,i=this.config.sessionReasoningEffort,a=s.model&&s.model.toLowerCase().includes("haiku"),p=i||(a?"minimal":"medium");this.config.logger?.debug("[ClaudeToOpenAI] Model detection and reasoning effort",{originalModel:s.model,isHaikuModel:a,sessionReasoningEffort:i||"none",finalReasoningEffort:p,source:i?"session override":"model-based"});const u={model:this.config.toModel||"gpt-5",stream:!0,store:!1,tool_choice:"auto",parallel_tool_calls:!1,reasoning:{effort:p,summary:"auto"},include:["reasoning.encrypted_content"],prompt_cache_key:o};u.instructions=this.adaptInstructionsForChatGPT(this.codexInstructions);const c=[];let g="";if(s.system){const m=this.extractSystemMessages(s.system);m&&Array.isArray(m)&&m.length>0&&(g=m.map(h=>h.content).join(`
421
+ `;class dm{config;codexAuth;codexInstructions;constructor(t,n){this.config=t,this.codexAuth=n,this.codexInstructions=this.loadCodexInstructions()}loadCodexInstructions(){return _m}async transform(t,n){try{const o=JSON.parse(n);this.config.logger?.debug("[ClaudeToOpenAI] ===== ORIGINAL CLAUDE REQUEST ====="),this.config.logger?.debug("[ClaudeToOpenAI] Original body",{body:JSON.stringify(o,null,2)});const e=jc.randomUUID(),i=e,s=this.config.sessionReasoningEffort,a=o.model&&o.model.toLowerCase().includes("haiku"),u=s||(a?"minimal":"medium");this.config.logger?.debug("[ClaudeToOpenAI] Model detection and reasoning effort",{originalModel:o.model,isHaikuModel:a,sessionReasoningEffort:s||"none",finalReasoningEffort:u,source:s?"session override":"model-based"});const c={model:this.config.toModel||"gpt-5",stream:!0,store:!1,tool_choice:"auto",parallel_tool_calls:!1,reasoning:{effort:u,summary:"auto"},include:["reasoning.encrypted_content"],prompt_cache_key:e};c.instructions=this.adaptInstructionsForChatGPT(this.codexInstructions);const l=[];let d="";if(o.system){const p=this.extractSystemMessages(o.system);p&&Array.isArray(p)&&p.length>0&&(d=p.map(g=>g.content).join(`
400
422
 
401
- `))}if(g=this.removeClaudeCodeInstructions(g),g&&c.push({type:"message",role:"user",content:[{type:"input_text",text:g}]}),s.messages&&Array.isArray(s.messages))for(const m of s.messages){const h=this.convertMessageToInput(m);Array.isArray(h)?c.push(...h):h&&c.push(h)}if(u.input=c,s.tools&&Array.isArray(s.tools)){this.config.logger?.debug("[ClaudeToOpenAI] Original Claude tools",{tools:JSON.stringify(s.tools,null,2)});const m=this.convertTools(s.tools);this.config.logger?.debug("[ClaudeToOpenAI] Converted tools",{tools:JSON.stringify(m,null,2)}),m.length>0?(u.tools=m,this.config.logger?.debug("[ClaudeToOpenAI] Added tools to responsesRequest",{toolCount:m.length}),this.config.logger?.debug("[ClaudeToOpenAI] Verify responsesRequest.tools exists",{hasTools:!!u.tools,toolsLength:u.tools?.length,keys:Object.keys(u)})):this.config.logger?.warn("[ClaudeToOpenAI] No valid tools after conversion, omitting tools field")}else this.config.logger?.debug("[ClaudeToOpenAI] No tools in Claude request",{hasTools:!!s.tools,isArray:Array.isArray(s.tools)});const v=this.config.toEndpoint||"https://chatgpt.com/backend-api/codex/responses",d={version:"0.46.0","openai-beta":"responses=experimental",conversation_id:o,session_id:r,accept:"text/event-stream","content-type":"application/json","user-agent":"codex_cli_rs/0.46.0 (Mac OS 15.6.0; arm64) iTerm.app/3.6.2",originator:"codex_cli_rs"};if(this.codexAuth){const m=await this.codexAuth.getAccessToken();this.config.logger?.debug("[ClaudeToOpenAI] Raw access token",{token:m?.substring(0,30)+"..."}),m&&(m.startsWith("Bearer ")?(d.authorization=m,this.config.logger?.debug("[ClaudeToOpenAI] Token already has Bearer prefix, using as-is")):(d.authorization=`Bearer ${m}`,this.config.logger?.debug("[ClaudeToOpenAI] Added Bearer prefix to token")));const h=await this.codexAuth.getAccountId();h&&(d["chatgpt-account-id"]=h)}else this.config.toApiKey&&(d.authorization=`Bearer ${this.config.toApiKey}`);return this.config.logger?.debug("[ClaudeToOpenAI] ===== REQUEST DETAILS ====="),this.config.logger?.debug("[ClaudeToOpenAI] Target URL",{targetUrl:v}),this.config.logger?.debug("[ClaudeToOpenAI] Headers",{headers:{...d,authorization:d.authorization?`${d.authorization.substring(0,30)}...`:void 0}}),this.config.logger?.debug("[ClaudeToOpenAI] Body",{body:JSON.stringify(u,null,2)}),this.config.logger?.debug("[ClaudeToOpenAI] ==============================="),this.config.logger?.debug("[ClaudeToOpenAI] ===== FINAL TRANSFORMED REQUEST ====="),this.config.logger?.debug("[ClaudeToOpenAI] Pre-final check - responsesRequest.tools",{hasTools:!!u.tools,toolsLength:u.tools?.length,keys:Object.keys(u)}),this.config.logger?.debug("[ClaudeToOpenAI] Final body",{body:JSON.stringify(u,null,2)}),this.config.logger?.debug("[ClaudeToOpenAI] ===== END FINAL TRANSFORMED REQUEST ====="),{url:v,body:JSON.stringify(u),headers:d}}catch(s){throw new Error(`Failed to transform Claude request to OpenAI: ${s}`)}}adaptInstructionsForChatGPT(e){let t=e;return t=t.replace(/You are powered by the model named Sonnet 4\.5\. The exact model ID is claude-sonnet-4-5-\d+\./g,"You are powered by ChatGPT (GPT-5 reasoning model)."),t=t.replace(/Assistant knowledge cutoff is January 2025/g,"Assistant knowledge cutoff is October 2023"),t=t.replace(/\bClaude\b/g,"ChatGPT"),t=t.replace(/\bAnthropic\b/g,"OpenAI"),t}removeClaudeCodeInstructions(e){const t=[/You are Claude Code, Anthropic's official CLI for Claude\.[\s\S]*?claude_code_docs_map\.md/,/You are Claude Code[\s\S]*?using Claude Code\n/];let s=e;for(const o of t)s=s.replace(o,"");return s=s.replace(/\n{3,}/g,`
423
+ `))}if(d=this.removeClaudeCodeInstructions(d),d&&l.push({type:"message",role:"user",content:[{type:"input_text",text:d}]}),o.messages&&Array.isArray(o.messages))for(const p of o.messages){const g=this.convertMessageToInput(p);Array.isArray(g)?l.push(...g):g&&l.push(g)}if(c.input=l,o.tools&&Array.isArray(o.tools)){this.config.logger?.debug("[ClaudeToOpenAI] Original Claude tools",{tools:JSON.stringify(o.tools,null,2)});const p=this.convertTools(o.tools);this.config.logger?.debug("[ClaudeToOpenAI] Converted tools",{tools:JSON.stringify(p,null,2)}),p.length>0?(c.tools=p,this.config.logger?.debug("[ClaudeToOpenAI] Added tools to responsesRequest",{toolCount:p.length}),this.config.logger?.debug("[ClaudeToOpenAI] Verify responsesRequest.tools exists",{hasTools:!!c.tools,toolsLength:c.tools?.length,keys:Object.keys(c)})):this.config.logger?.warn("[ClaudeToOpenAI] No valid tools after conversion, omitting tools field")}else this.config.logger?.debug("[ClaudeToOpenAI] No tools in Claude request",{hasTools:!!o.tools,isArray:Array.isArray(o.tools)});const h=this.config.toEndpoint||"https://chatgpt.com/backend-api/codex/responses",m={version:"0.46.0","openai-beta":"responses=experimental",conversation_id:e,session_id:i,accept:"text/event-stream","content-type":"application/json","user-agent":"codex_cli_rs/0.46.0 (Mac OS 15.6.0; arm64) iTerm.app/3.6.2",originator:"codex_cli_rs"};if(this.codexAuth){const p=await this.codexAuth.getAccessToken();this.config.logger?.debug("[ClaudeToOpenAI] Raw access token",{token:p?.substring(0,30)+"..."}),p&&(p.startsWith("Bearer ")?(m.authorization=p,this.config.logger?.debug("[ClaudeToOpenAI] Token already has Bearer prefix, using as-is")):(m.authorization=`Bearer ${p}`,this.config.logger?.debug("[ClaudeToOpenAI] Added Bearer prefix to token")));const g=await this.codexAuth.getAccountId();g&&(m["chatgpt-account-id"]=g)}else this.config.toApiKey&&(m.authorization=`Bearer ${this.config.toApiKey}`);return this.config.logger?.debug("[ClaudeToOpenAI] ===== REQUEST DETAILS ====="),this.config.logger?.debug("[ClaudeToOpenAI] Target URL",{targetUrl:h}),this.config.logger?.debug("[ClaudeToOpenAI] Headers",{headers:{...m,authorization:m.authorization?`${m.authorization.substring(0,30)}...`:void 0}}),this.config.logger?.debug("[ClaudeToOpenAI] Body",{body:JSON.stringify(c,null,2)}),this.config.logger?.debug("[ClaudeToOpenAI] ==============================="),this.config.logger?.debug("[ClaudeToOpenAI] ===== FINAL TRANSFORMED REQUEST ====="),this.config.logger?.debug("[ClaudeToOpenAI] Pre-final check - responsesRequest.tools",{hasTools:!!c.tools,toolsLength:c.tools?.length,keys:Object.keys(c)}),this.config.logger?.debug("[ClaudeToOpenAI] Final body",{body:JSON.stringify(c,null,2)}),this.config.logger?.debug("[ClaudeToOpenAI] ===== END FINAL TRANSFORMED REQUEST ====="),{url:h,body:JSON.stringify(c),headers:m}}catch(o){throw new Error(`Failed to transform Claude request to OpenAI: ${o}`)}}adaptInstructionsForChatGPT(t){let n=t;return n=n.replace(/You are powered by the model named Sonnet 4\.5\. The exact model ID is claude-sonnet-4-5-\d+\./g,"You are powered by ChatGPT (GPT-5 reasoning model)."),n=n.replace(/Assistant knowledge cutoff is January 2025/g,"Assistant knowledge cutoff is October 2023"),n=n.replace(/\bClaude\b/g,"ChatGPT"),n=n.replace(/\bAnthropic\b/g,"OpenAI"),n}removeClaudeCodeInstructions(t){const n=[/You are Claude Code, Anthropic's official CLI for Claude\.[\s\S]*?claude_code_docs_map\.md/,/You are Claude Code[\s\S]*?using Claude Code\n/];let o=t;for(const e of n)o=o.replace(e,"");return o=o.replace(/\n{3,}/g,`
402
424
 
403
- `).trim(),s}extractSystemMessages(e){const t=[];if(typeof e=="string")t.push({role:"system",content:e});else if(Array.isArray(e))for(const s of e)typeof s=="string"?t.push({role:"system",content:s}):s.type==="text"&&s.text&&t.push({role:"system",content:s.text});else e.type==="text"&&e.text&&t.push({role:"system",content:e.text});return t}convertMessageToInput(e){if(!e.role||!e.content)return null;const t=e.role==="assistant"?"output_text":"input_text";if(Array.isArray(e.content)){const s=[],o=[],r=[];for(const a of e.content)if(a.type==="tool_result"){const p=typeof a.content=="string"?a.content:JSON.stringify(a.content);s.push({type:"function_call_output",call_id:a.tool_use_id,output:p})}else if(a.type==="text")r.push({type:t,text:a.text||""});else if(a.type==="image")if(a.source&&a.source.type==="base64"&&a.source.data){const p=a.source.media_type||"image/jpeg",u=`data:${p};base64,${a.source.data}`;r.push({type:"input_image",image_url:u}),this.config.logger?.debug("[ClaudeToOpenAI] Converted image block",{mediaType:p,dataLength:a.source.data.length})}else this.config.logger?.warn("[ClaudeToOpenAI] Unsupported image format",{source:a.source});else a.type==="tool_use"&&o.push({type:"function_call",call_id:a.id,name:a.name,arguments:JSON.stringify(a.input||{})});const i=[];return r.length>0&&i.push({type:"message",role:e.role,content:r}),o.length>0&&i.push(...o),s.length>0&&i.push(...s),i.length>1?i:i.length===1?i[0]:null}else if(typeof e.content=="string")return{type:"message",role:e.role,content:[{type:t,text:e.content}]};return null}convertTools(e){return!e||!Array.isArray(e)?[]:e.filter(t=>!(!t||typeof t!="object"||!t.name)).map(t=>({type:"function",name:t.name,description:t.description||"",parameters:t.input_schema||t.parameters||{}}))}}class Wo{logger;constructor(e){this.logger=e}transform(e){try{return!e||e.trim()===""?this.createEmptyClaudeResponse():e.includes("data:")?this.convertStreamingResponse(e):this.convertNonStreamingResponse(e)}catch(t){return this.logger?.error("[OpenAIToClaude] ERROR in transform",t),this.createEmptyClaudeResponse()}}createEmptyClaudeResponse(){const e=`msg_${Te.ulid()}`,t=[];return t.push("event: message_start"),t.push(`data: ${JSON.stringify({type:"message_start",message:{id:e,type:"message",role:"assistant",content:[],model:"gpt-5",stop_reason:null,stop_sequence:null,usage:{input_tokens:0,output_tokens:0}}})}`),t.push(""),t.push("event: message_stop"),t.push('data: {"type":"message_stop"}'),t.push(""),t.join(`
404
- `)}convertStreamingResponse(e){const t=this.parseOpenAIStream(e),s=this.createClaudeStreamFromParsed(t),o=t.errorMessage||"Empty streaming response from provider";return this.ensureValidClaudeStream(s,o)}parseOpenAIStream(e){const t={textSegments:[],thinkingSegments:[],toolCalls:new Map,model:"gpt-5",inputTokens:0,outputTokens:0,cachedTokens:0,reasoningTokens:0,reasoningEffort:void 0,stopReason:void 0,errorMessage:void 0},s=e.split(`
405
- `);let o="";const r=/event:\s*response\./i.test(e)||/"type"\s*:\s*"response\./i.test(e)||/"response"\s*:\s*\{/i.test(e);for(const i of s){const a=i.trim();if(!a)continue;if(a.startsWith("event:")){o=a.slice(6).trim();continue}if(!a.startsWith("data:"))continue;const p=a.slice(5).trim();if(!p||p==="[DONE]")continue;let u;try{u=JSON.parse(p)}catch{continue}if(u?.error){t.errorMessage=u.error?.message||u.error?.error||(typeof u.error=="string"?u.error:"Unexpected API error");break}r||o.startsWith("response.")?this.handleResponsesEvent(o,u,t):this.handleChatCompletionChunk(u,t)}return t}handleResponsesEvent(e,t,s){const o=typeof t?.type=="string"?t.type:e;switch(t?.model&&typeof t.model=="string"&&(s.model=t.model),t?.usage&&(s.inputTokens=t.usage.input_tokens??t.usage.prompt_tokens??s.inputTokens,s.outputTokens=t.usage.output_tokens??t.usage.completion_tokens??s.outputTokens),o){case"response.created":t?.response?.model&&(s.model=t.response.model);break;case"response.reasoning.delta":case"response.reasoning_summary_text.delta":case"response.function_call_arguments.delta":case"response.function_call_arguments.done":case"response.in_progress":case"response.output_item.added":case"response.output_item.done":case"response.content_part.added":case"response.content_part.done":case"response.reasoning_summary_part.added":case"response.reasoning_summary_part.done":case"response.reasoning_summary_text.done":break;case"response.output_text.delta":case"response.delta":t?.delta?.tool_calls;break;case"response.output_text.done":break;case"response.completed":if(t?.response?.model&&(s.model=t.response.model),t?.response?.usage&&(s.inputTokens=t.response.usage.input_tokens??t.response.usage.prompt_tokens??s.inputTokens,s.outputTokens=t.response.usage.output_tokens??t.response.usage.completion_tokens??s.outputTokens,t.response.usage.input_tokens_details?.cached_tokens&&(s.cachedTokens=t.response.usage.input_tokens_details.cached_tokens),t.response.usage.output_tokens_details?.reasoning_tokens&&(s.reasoningTokens=t.response.usage.output_tokens_details.reasoning_tokens)),t?.response?.reasoning?.effort&&(s.reasoningEffort=t.response.reasoning.effort),Array.isArray(t?.response?.tool_calls)&&this.collectToolCalls(t.response.tool_calls,s.toolCalls),Array.isArray(t?.response?.output)){for(const r of t.response.output)if(r?.type==="reasoning"){if(Array.isArray(r?.summary))for(const i of r.summary)i?.type==="summary_text"&&i?.text&&s.thinkingSegments.push(i.text)}else if(r?.type==="message"){if(Array.isArray(r?.content))for(const i of r.content)(i?.type==="output_text"||i?.type==="text")&&i?.text&&s.textSegments.push(i.text)}else if(r?.type==="function_call"){const i={index:s.toolCalls.size,id:r.id||`tool_${Te.ulid()}`,function:{name:r.name,arguments:r.arguments}};this.collectToolCalls([i],s.toolCalls)}}t?.response?.output_text&&this.collectTextFromNode(t.response.output_text,s.textSegments),s.stopReason=this.mapResponseStatusToStopReason(t?.response?.status);break;case"response.error":s.errorMessage=t?.error?.message||t?.message||"Unexpected API error";break;default:t?.delta&&(this.collectTextFromNode(t.delta,s.textSegments),t.delta.tool_calls&&this.collectToolCalls(t.delta.tool_calls,s.toolCalls));break}}handleChatCompletionChunk(e,t){if(e&&(e.model&&typeof e.model=="string"&&(t.model=e.model),e.usage&&(t.inputTokens=e.usage.prompt_tokens??t.inputTokens,t.outputTokens=e.usage.completion_tokens??t.outputTokens),!!Array.isArray(e.choices)))for(const s of e.choices)s?.delta&&(this.collectTextFromNode(s.delta,t.textSegments),s.delta.tool_calls&&this.collectToolCalls(s.delta.tool_calls,t.toolCalls)),s?.message?.content&&this.collectTextFromNode(s.message.content,t.textSegments),s?.finish_reason&&(t.stopReason=this.mapFinishReason(s.finish_reason))}collectTextFromNode(e,t){if(e==null)return;if(typeof e=="string"){e.length>0&&t.push(e);return}if(Array.isArray(e)){for(const o of e)this.collectTextFromNode(o,t);return}if(typeof e!="object")return;typeof e.text=="string"&&t.push(e.text),typeof e.output_text=="string"&&t.push(e.output_text),typeof e.value=="string"&&t.push(e.value),typeof e.delta=="string"?t.push(e.delta):e.delta&&this.collectTextFromNode(e.delta,t),e.token&&typeof e.token.text=="string"&&t.push(e.token.text);const s=["content","output","output_text","message","choices","segments"];for(const o of s)if(e[o]!==void 0)if(o==="choices"&&Array.isArray(e[o]))for(const r of e[o])r?.message?.content&&this.collectTextFromNode(r.message.content,t),r?.delta&&this.collectTextFromNode(r.delta,t);else this.collectTextFromNode(e[o],t)}collectToolCalls(e,t){if(!e)return;const s=Array.isArray(e)?e:[e];for(const o of s){if(!o)continue;const r=typeof o.index=="number"?o.index:t.size,i=t.get(r)||{id:"",name:"",argumentChunks:[]};typeof o.id=="string"&&!i.id&&(i.id=o.id);const a=o.function?.name;typeof a=="string"&&a.length>0&&(i.name=a);const p=o.function?.arguments;typeof p=="string"&&p.length>0&&i.argumentChunks.push(p),t.set(r,i)}}createClaudeStreamFromParsed(e){if(e.errorMessage)return this.createClaudeErrorStream(e.errorMessage);const t=this.mergeAndChunkSegments(e.thinkingSegments),s=this.mergeAndChunkSegments(e.textSegments),o=Array.from(e.toolCalls.entries()).sort((d,m)=>d[0]-m[0]).map(([d,m])=>({index:d,id:m.id,name:m.name,arguments:m.argumentChunks.join("")})).filter(d=>d.name);if(t.length===0&&s.length===0&&o.length===0)return this.createClaudeErrorStream("Empty streaming response from provider");const r=`msg_${Te.ulid()}`,i=e.model||"gpt-5",a=[];a.push("event: message_start"),a.push(`data: ${JSON.stringify({type:"message_start",message:{id:r,type:"message",role:"assistant",content:[],model:i,stop_reason:null,stop_sequence:null,usage:{input_tokens:e.inputTokens??0,output_tokens:0}}})}`),a.push("");let p=0;if(t.length>0){a.push("event: content_block_start"),a.push(`data: ${JSON.stringify({type:"content_block_start",index:p,content_block:{type:"thinking",thinking:"",_chatgpt_reasoning:!0}})}`),a.push("");for(const d of t)d&&(a.push("event: content_block_delta"),a.push(`data: ${JSON.stringify({type:"content_block_delta",index:p,delta:{type:"thinking_delta",thinking:d}})}`),a.push(""));a.push("event: content_block_stop"),a.push(`data: ${JSON.stringify({type:"content_block_stop",index:p})}`),a.push(""),p+=1}if(s.length>0){a.push("event: content_block_start"),a.push(`data: ${JSON.stringify({type:"content_block_start",index:p,content_block:{type:"text",text:""}})}`),a.push("");for(const d of s)d&&(a.push("event: content_block_delta"),a.push(`data: ${JSON.stringify({type:"content_block_delta",index:p,delta:{type:"text_delta",text:d}})}`),a.push(""));a.push("event: content_block_stop"),a.push(`data: ${JSON.stringify({type:"content_block_stop",index:p})}`),a.push(""),p+=1}for(const d of o){const m=p+d.index,h=d.id||`tool_${Te.ulid()}`;a.push("event: content_block_start"),a.push(`data: ${JSON.stringify({type:"content_block_start",index:m,content_block:{type:"tool_use",id:h,name:d.name,input:{}}})}`),a.push(""),d.arguments&&(a.push("event: content_block_delta"),a.push(`data: ${JSON.stringify({type:"content_block_delta",index:m,delta:{type:"input_json_delta",partial_json:d.arguments}})}`),a.push("")),a.push("event: content_block_stop"),a.push(`data: ${JSON.stringify({type:"content_block_stop",index:m})}`),a.push("")}const u=e.stopReason||"end_turn",g={output_tokens:e.outputTokens??0};return(e.cachedTokens||e.reasoningTokens||e.reasoningEffort)&&(g.metadata={},e.cachedTokens&&(g.metadata.cached_tokens=e.cachedTokens),e.reasoningTokens&&(g.metadata.reasoning_tokens=e.reasoningTokens),e.reasoningEffort&&(g.metadata.reasoning_effort=e.reasoningEffort)),a.push("event: message_delta"),a.push(`data: ${JSON.stringify({type:"message_delta",delta:{stop_reason:u,stop_sequence:null},usage:g})}`),a.push(""),a.push("event: message_stop"),a.push('data: {"type":"message_stop"}'),a.push(""),a.join(`
406
- `)}mergeAndChunkSegments(e,t=2e3){if(!e||e.length===0)return[];const s=e.join("");if(!s)return[];const o=[];for(let r=0;r<s.length;r+=t)o.push(s.slice(r,r+t));return o}mapResponseStatusToStopReason(e){return e&&{completed:"end_turn",completed_with_error:"error",completed_with_streaming_error:"error",cancelled:"error",errored:"error"}[e]||"end_turn"}convertNonStreamingResponse(e){try{const t=JSON.parse(e);if(t?.error){const i=t.error?.message||t.error?.error||(typeof t.error=="string"?t.error:"Unexpected API error");return this.createClaudeErrorResponse(i)}const s=t.choices?.[0];if(!s)return e;const r={id:`msg_${Te.ulid()}`,type:"message",role:"assistant",content:[{type:"text",text:s.message?.content||""}],model:t.model||"gpt-4-turbo",stop_reason:this.mapFinishReason(s.finish_reason),stop_sequence:null,usage:{input_tokens:t.usage?.prompt_tokens||0,output_tokens:t.usage?.completion_tokens||0}};return JSON.stringify(r)}catch{const s=typeof e=="string"&&e.trim()?e.trim():"Unexpected API error";return this.createClaudeErrorResponse(s)}}mapFinishReason(e){return e?{stop:"end_turn",length:"max_tokens",function_call:"tool_use",tool_calls:"tool_use",content_filter:"stop_sequence"}[e]||"end_turn":null}createClaudeErrorResponse(e){const t=`msg_${Te.ulid()}`;return JSON.stringify({id:t,type:"message",role:"assistant",content:[{type:"text",text:e||"Unexpected API error"}],model:"gpt-5",stop_reason:"error",stop_sequence:null,usage:{input_tokens:0,output_tokens:0}})}createClaudeErrorStream(e){const t=`msg_${Te.ulid()}`,s=e||"Unexpected API error",o=[];return o.push("event: message_start"),o.push(`data: ${JSON.stringify({type:"message_start",message:{id:t,type:"message",role:"assistant",content:[],model:"gpt-5",stop_reason:null,stop_sequence:null,usage:{input_tokens:0,output_tokens:0}}})}`),o.push(""),o.push("event: content_block_start"),o.push(`data: ${JSON.stringify({type:"content_block_start",index:0,content_block:{type:"text",text:""}})}`),o.push(""),o.push("event: content_block_delta"),o.push(`data: ${JSON.stringify({type:"content_block_delta",index:0,delta:{type:"text_delta",text:s}})}`),o.push(""),o.push("event: content_block_stop"),o.push(`data: ${JSON.stringify({type:"content_block_stop",index:0})}`),o.push(""),o.push("event: message_delta"),o.push(`data: ${JSON.stringify({type:"message_delta",delta:{stop_reason:"error",stop_sequence:null},usage:{output_tokens:0}})}`),o.push(""),o.push("event: message_stop"),o.push('data: {"type":"message_stop"}'),o.push(""),o.join(`
407
- `)}ensureValidClaudeStream(e,t){return!e||!e.includes("event: message_start")?this.createClaudeErrorStream(t):e}}class Yo{config;requestTransformer=null;responseTransformer=null;routingContextMap=new Map;codexAuth;hasSessionSettings=!1;lastSessionCheckTimestamp=0;SESSION_CHECK_INTERVAL_MS=1e3;cachedSessionSettings=null;CLAUDE_PATTERNS=[/anthropic\.com/i,/claude\.ai/i,/\/v1\/messages/i,/\/publishers\/anthropic\/models/i];constructor(e){this.config=e,this.applySessionSettings()}applySessionSettings(){this.config.sessionId?this.loadSessionSettingsAsync():this.initializeRouter()}async loadSessionSettingsAsync(){await this.checkAndReloadSessionSettings(),this.initializeRouter()}async checkAndReloadSessionSettings(){if(!this.config.sessionId)return;const e=Date.now();if(!(e-this.lastSessionCheckTimestamp<this.SESSION_CHECK_INTERVAL_MS))try{const t=await Vo.getSessionSettings(this.config.sessionId);if(this.lastSessionCheckTimestamp=e,JSON.stringify(t)!==JSON.stringify(this.cachedSessionSettings))if(this.cachedSessionSettings=t,t&&t.provider){const o=this.mapProviderName(t.provider);this.config.toProvider=o,this.config.toModel=t.model,this.config.sessionReasoningEffort=t.reasoningEffort,this.hasSessionSettings=!0,this.initializeTransformers()}else this.hasSessionSettings=!1}catch(t){this.config.logger?.error("[Router] Failed to check session settings",t)}}initializeRouter(){this.config.toApiKey||(this.codexAuth=new Ne(this.config.logger)),this.initializeTransformers()}mapProviderName(e){const t=e.toLowerCase().trim();return t==="chatgpt"||t==="gpt"||t==="openai"?"openai":t}initializeTransformers(){this.config.toProvider?.toLowerCase()==="openai"&&(this.requestTransformer=new Jo(this.config,this.codexAuth),this.responseTransformer=new Wo(this.config.logger))}shouldRoute(e,t){if(this.checkAndReloadSessionSettings().catch(s=>{this.config.logger?.error("[Router] Failed to check session settings in shouldRoute",s)}),!this.requestTransformer||!this.responseTransformer||!t)return!1;try{return JSON.parse(t),!!(this.hasSessionSettings&&this.CLAUDE_PATTERNS.some(o=>o.test(e)))}catch(s){return this.config.logger?.error("[Router] JSON parse error in shouldRoute",s),!1}}async transformRequest(e,t){if(!this.requestTransformer)throw new Error("Request transformer not initialized");const s=await this.requestTransformer.transform(e,t),o=`${e}_${Date.now()}`;return this.routingContextMap.set(o,{originalUrl:e,targetUrl:s.url,fromProvider:"anthropic",toProvider:this.config.toProvider,wasRouted:!0}),s}transformResponse(e){if(!this.responseTransformer)throw new Error("Response transformer not initialized");try{return this.responseTransformer.transform(e)}catch(t){return this.config.logger?.error("[Router] Response transformation failed",t),this.createFallbackClaudeResponse()}}cleanRequestForPassthrough(e){try{const t=JSON.parse(e);if(!t.messages||!Array.isArray(t.messages))return e;let s=!1;const o=t.messages.map(r=>{if(!r.content||!Array.isArray(r.content))return r;const i=r.content.filter(a=>a.type==="thinking"&&a._chatgpt_reasoning===!0?(s=!0,!1):!0);return i.length>0?{...r,content:i}:null}).filter(Boolean);return s?(t.messages=o,JSON.stringify(t)):e}catch(t){return this.config.logger?.warn("[Router] Failed to clean request for passthrough",{error:t instanceof Error?t.message:String(t)}),e}}createFallbackClaudeResponse(){const e=`msg_error_${Date.now()}`,t=[];return t.push("event: message_start"),t.push(`data: ${JSON.stringify({type:"message_start",message:{id:e,type:"message",role:"assistant",content:[],model:"gpt-5",stop_reason:null,stop_sequence:null,usage:{input_tokens:0,output_tokens:0}}})}`),t.push(""),t.push("event: content_block_start"),t.push(`data: ${JSON.stringify({type:"content_block_start",index:0,content_block:{type:"text",text:""}})}`),t.push(""),t.push("event: content_block_delta"),t.push(`data: ${JSON.stringify({type:"content_block_delta",index:0,delta:{type:"text_delta",text:"Error: Response transformation failed. Please try again."}})}`),t.push(""),t.push("event: content_block_stop"),t.push(`data: ${JSON.stringify({type:"content_block_stop",index:0})}`),t.push(""),t.push("event: message_stop"),t.push('data: {"type":"message_stop"}'),t.push(""),t.join(`
408
- `)}wasRouted(e){for(const t of this.routingContextMap.values())if(t.targetUrl===e)return!0;return!1}getRoutingContext(e){for(const t of this.routingContextMap.values())if(t.targetUrl===e||t.originalUrl===e)return t}clearRoutingContext(e){for(const[t,s]of this.routingContextMap.entries())(s.targetUrl===e||s.originalUrl===e)&&this.routingContextMap.delete(t)}getTargetProvider(){return this.config.toProvider}getTargetModel(){return this.config.toModel}}const _s=Os(()=>Ge([Cs(),M(),ye(),xt(),He(_s),bt(_s)])),cs=P({toolCallId:M(),toolName:M(),args:Pe()}),Ko=P({toolCallId:M(),toolName:M(),args:Pe(),result:Pe()}),Xo=Ge([cs.extend({state:pe("partial-call"),step:ye().optional()}),cs.extend({state:pe("call"),step:ye().optional()}),Ko.extend({state:pe("result"),step:ye().optional()})]),Qo=P({type:M(),content:M()}),er=P({type:pe("text"),text:M()}),tr=P({type:pe("reasoning"),reasoning:M(),details:He(Ge([P({type:pe("text"),text:M(),signature:M().optional()}),P({type:pe("redacted"),data:M()})])).optional()}),sr=P({name:pe("select"),props:P({options:He(P({label:M(),value:Ge([M(),ye()]),selected:xt().optional()}))})}),or=P({name:pe("placeholder"),props:P({})}),rr=Ge([sr,or]),nr=P({completed:xt(),component:rr}),ir=P({type:pe("tool-invocation"),toolInvocation:Xo,input:nr.optional(),jsx:M({description:"UI rendering"}).optional()}),ar=P({type:pe("source"),source:Qo}),pr=P({type:pe("file"),mimeType:M(),data:M()}),ur=P({type:pe("error"),text:M(),error:Pe().optional()}),_r=P({type:pe("step-start")}),zs=Ge([er,tr,ir,ar,pr,ur,_r]),ss=qt(["input","output","error","system"]),Ms=P({messageType:ss,parts:He(zs),metadata:bt(M(),Dt()).optional(),raw:Pe().optional()});P({id:M(),sessionId:M(),agentTypeId:M(),messageType:ss,contentSize:ye().nullable(),timestamp:Ot.date(),metadata:M().nullable(),raw:Pe().nullable().optional(),createdAt:Ot.date(),updatedAt:Ot.date()});const cr=P({messageType:qt(["output"]).default("output"),metadata:bt(M(),Dt()).optional()});P({id:M(),messageId:M()});const lr=P({parts:He(zs).optional(),metadata:bt(M(),Dt()).optional(),raw:Pe().optional()});P({messages:He(Ms)});function dr(n){return[mr(n)]}function ls(n){let e=n.parts;if(!e&&n.content&&(e=dr(n.content)),!e)throw new Error("Either content or parts is required for message creation");return{messageType:n.messageType,parts:e,metadata:n.metadata,raw:n.raw}}function mr(n){return{type:"text",text:n}}const Gt=10,ds=(n=0)=>e=>`\x1B[${e+n}m`,ms=(n=0)=>e=>`\x1B[${38+n};5;${e}m`,hs=(n=0)=>(e,t,s)=>`\x1B[${38+n};2;${e};${t};${s}m`,q={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(q.modifier);const hr=Object.keys(q.color),gr=Object.keys(q.bgColor);[...hr,...gr];function fr(){const n=new Map;for(const[e,t]of Object.entries(q)){for(const[s,o]of Object.entries(t))q[s]={open:`\x1B[${o[0]}m`,close:`\x1B[${o[1]}m`},t[s]=q[s],n.set(o[0],o[1]);Object.defineProperty(q,e,{value:t,enumerable:!1})}return Object.defineProperty(q,"codes",{value:n,enumerable:!1}),q.color.close="\x1B[39m",q.bgColor.close="\x1B[49m",q.color.ansi=ds(),q.color.ansi256=ms(),q.color.ansi16m=hs(),q.bgColor.ansi=ds(Gt),q.bgColor.ansi256=ms(Gt),q.bgColor.ansi16m=hs(Gt),Object.defineProperties(q,{rgbToAnsi256:{value(e,t,s){return e===t&&t===s?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(s/255*5)},enumerable:!1},hexToRgb:{value(e){const t=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!t)return[0,0,0];let[s]=t;s.length===3&&(s=[...s].map(r=>r+r).join(""));const o=Number.parseInt(s,16);return[o>>16&255,o>>8&255,o&255]},enumerable:!1},hexToAnsi256:{value:e=>q.rgbToAnsi256(...q.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let t,s,o;if(e>=232)t=((e-232)*10+8)/255,s=t,o=t;else{e-=16;const a=e%36;t=Math.floor(e/36)/5,s=Math.floor(a/6)/5,o=a%6/5}const r=Math.max(t,s,o)*2;if(r===0)return 30;let i=30+(Math.round(o)<<2|Math.round(s)<<1|Math.round(t));return r===2&&(i+=60),i},enumerable:!1},rgbToAnsi:{value:(e,t,s)=>q.ansi256ToAnsi(q.rgbToAnsi256(e,t,s)),enumerable:!1},hexToAnsi:{value:e=>q.ansi256ToAnsi(q.hexToAnsi256(e)),enumerable:!1}}),q}const ge=fr(),gs=(()=>{if(!("navigator"in globalThis))return 0;if(globalThis.navigator.userAgentData){const n=navigator.userAgentData.brands.find(({brand:e})=>e==="Chromium");if(n&&n.version>93)return 3}return/\b(Chrome|Chromium)\//.test(globalThis.navigator.userAgent)?1:0})(),fs=gs!==0&&{level:gs},kr={stdout:fs,stderr:fs};function vr(n,e,t){let s=n.indexOf(e);if(s===-1)return n;const o=e.length;let r=0,i="";do i+=n.slice(r,s)+e+t,r=s+o,s=n.indexOf(e,r);while(s!==-1);return i+=n.slice(r),i}function yr(n,e,t,s){let o=0,r="";do{const i=n[s-1]==="\r";r+=n.slice(o,i?s-1:s)+e+(i?`\r
425
+ `).trim(),o}extractSystemMessages(t){const n=[];if(typeof t=="string")n.push({role:"system",content:t});else if(Array.isArray(t))for(const o of t)typeof o=="string"?n.push({role:"system",content:o}):o.type==="text"&&o.text&&n.push({role:"system",content:o.text});else t.type==="text"&&t.text&&n.push({role:"system",content:t.text});return n}convertMessageToInput(t){if(!t.role||!t.content)return null;const n=t.role==="assistant"?"output_text":"input_text";if(Array.isArray(t.content)){const o=[],e=[],i=[];for(const a of t.content)if(a.type==="tool_result"){const u=typeof a.content=="string"?a.content:JSON.stringify(a.content);o.push({type:"function_call_output",call_id:a.tool_use_id,output:u})}else if(a.type==="text")i.push({type:n,text:a.text||""});else if(a.type==="image")if(a.source&&a.source.type==="base64"&&a.source.data){const u=a.source.media_type||"image/jpeg",c=`data:${u};base64,${a.source.data}`;i.push({type:"input_image",image_url:c}),this.config.logger?.debug("[ClaudeToOpenAI] Converted image block",{mediaType:u,dataLength:a.source.data.length})}else this.config.logger?.warn("[ClaudeToOpenAI] Unsupported image format",{source:a.source});else a.type==="tool_use"&&e.push({type:"function_call",call_id:a.id,name:a.name,arguments:JSON.stringify(a.input||{})});const s=[];return i.length>0&&s.push({type:"message",role:t.role,content:i}),e.length>0&&s.push(...e),o.length>0&&s.push(...o),s.length>1?s:s.length===1?s[0]:null}else if(typeof t.content=="string")return{type:"message",role:t.role,content:[{type:n,text:t.content}]};return null}convertTools(t){return!t||!Array.isArray(t)?[]:t.filter(n=>!(!n||typeof n!="object"||!n.name)).map(n=>({type:"function",name:n.name,description:n.description||"",parameters:n.input_schema||n.parameters||{}}))}}class mm{logger;constructor(t){this.logger=t}transform(t){try{return!t||t.trim()===""?this.createEmptyClaudeResponse():t.includes("data:")?this.convertStreamingResponse(t):this.convertNonStreamingResponse(t)}catch(n){return this.logger?.error("[OpenAIToClaude] ERROR in transform",n),this.createEmptyClaudeResponse()}}createEmptyClaudeResponse(){const t=`msg_${ze.ulid()}`,n=[];return n.push("event: message_start"),n.push(`data: ${JSON.stringify({type:"message_start",message:{id:t,type:"message",role:"assistant",content:[],model:"gpt-5",stop_reason:null,stop_sequence:null,usage:{input_tokens:0,output_tokens:0}}})}`),n.push(""),n.push("event: message_stop"),n.push('data: {"type":"message_stop"}'),n.push(""),n.join(`
426
+ `)}convertStreamingResponse(t){const n=this.parseOpenAIStream(t),o=this.createClaudeStreamFromParsed(n),e=n.errorMessage||"Empty streaming response from provider";return this.ensureValidClaudeStream(o,e)}parseOpenAIStream(t){const n={textSegments:[],thinkingSegments:[],toolCalls:new Map,model:"gpt-5",inputTokens:0,outputTokens:0,cachedTokens:0,reasoningTokens:0,reasoningEffort:void 0,stopReason:void 0,errorMessage:void 0},o=t.split(`
427
+ `);let e="";const i=/event:\s*response\./i.test(t)||/"type"\s*:\s*"response\./i.test(t)||/"response"\s*:\s*\{/i.test(t);for(const s of o){const a=s.trim();if(!a)continue;if(a.startsWith("event:")){e=a.slice(6).trim();continue}if(!a.startsWith("data:"))continue;const u=a.slice(5).trim();if(!u||u==="[DONE]")continue;let c;try{c=JSON.parse(u)}catch{continue}if(c?.error){n.errorMessage=c.error?.message||c.error?.error||(typeof c.error=="string"?c.error:"Unexpected API error");break}i||e.startsWith("response.")?this.handleResponsesEvent(e,c,n):this.handleChatCompletionChunk(c,n)}return n}handleResponsesEvent(t,n,o){const e=typeof n?.type=="string"?n.type:t;switch(n?.model&&typeof n.model=="string"&&(o.model=n.model),n?.usage&&(o.inputTokens=n.usage.input_tokens??n.usage.prompt_tokens??o.inputTokens,o.outputTokens=n.usage.output_tokens??n.usage.completion_tokens??o.outputTokens),e){case"response.created":n?.response?.model&&(o.model=n.response.model);break;case"response.reasoning.delta":case"response.reasoning_summary_text.delta":case"response.function_call_arguments.delta":case"response.function_call_arguments.done":case"response.in_progress":case"response.output_item.added":case"response.output_item.done":case"response.content_part.added":case"response.content_part.done":case"response.reasoning_summary_part.added":case"response.reasoning_summary_part.done":case"response.reasoning_summary_text.done":break;case"response.output_text.delta":case"response.delta":n?.delta?.tool_calls;break;case"response.output_text.done":break;case"response.completed":if(n?.response?.model&&(o.model=n.response.model),n?.response?.usage&&(o.inputTokens=n.response.usage.input_tokens??n.response.usage.prompt_tokens??o.inputTokens,o.outputTokens=n.response.usage.output_tokens??n.response.usage.completion_tokens??o.outputTokens,n.response.usage.input_tokens_details?.cached_tokens&&(o.cachedTokens=n.response.usage.input_tokens_details.cached_tokens),n.response.usage.output_tokens_details?.reasoning_tokens&&(o.reasoningTokens=n.response.usage.output_tokens_details.reasoning_tokens)),n?.response?.reasoning?.effort&&(o.reasoningEffort=n.response.reasoning.effort),Array.isArray(n?.response?.tool_calls)&&this.collectToolCalls(n.response.tool_calls,o.toolCalls),Array.isArray(n?.response?.output)){for(const i of n.response.output)if(i?.type==="reasoning"){if(Array.isArray(i?.summary))for(const s of i.summary)s?.type==="summary_text"&&s?.text&&o.thinkingSegments.push(s.text)}else if(i?.type==="message"){if(Array.isArray(i?.content))for(const s of i.content)(s?.type==="output_text"||s?.type==="text")&&s?.text&&o.textSegments.push(s.text)}else if(i?.type==="function_call"){const s={index:o.toolCalls.size,id:i.id||`tool_${ze.ulid()}`,function:{name:i.name,arguments:i.arguments}};this.collectToolCalls([s],o.toolCalls)}}n?.response?.output_text&&this.collectTextFromNode(n.response.output_text,o.textSegments),o.stopReason=this.mapResponseStatusToStopReason(n?.response?.status);break;case"response.error":o.errorMessage=n?.error?.message||n?.message||"Unexpected API error";break;default:n?.delta&&(this.collectTextFromNode(n.delta,o.textSegments),n.delta.tool_calls&&this.collectToolCalls(n.delta.tool_calls,o.toolCalls));break}}handleChatCompletionChunk(t,n){if(t&&(t.model&&typeof t.model=="string"&&(n.model=t.model),t.usage&&(n.inputTokens=t.usage.prompt_tokens??n.inputTokens,n.outputTokens=t.usage.completion_tokens??n.outputTokens),!!Array.isArray(t.choices)))for(const o of t.choices)o?.delta&&(this.collectTextFromNode(o.delta,n.textSegments),o.delta.tool_calls&&this.collectToolCalls(o.delta.tool_calls,n.toolCalls)),o?.message?.content&&this.collectTextFromNode(o.message.content,n.textSegments),o?.finish_reason&&(n.stopReason=this.mapFinishReason(o.finish_reason))}collectTextFromNode(t,n){if(t==null)return;if(typeof t=="string"){t.length>0&&n.push(t);return}if(Array.isArray(t)){for(const e of t)this.collectTextFromNode(e,n);return}if(typeof t!="object")return;typeof t.text=="string"&&n.push(t.text),typeof t.output_text=="string"&&n.push(t.output_text),typeof t.value=="string"&&n.push(t.value),typeof t.delta=="string"?n.push(t.delta):t.delta&&this.collectTextFromNode(t.delta,n),t.token&&typeof t.token.text=="string"&&n.push(t.token.text);const o=["content","output","output_text","message","choices","segments"];for(const e of o)if(t[e]!==void 0)if(e==="choices"&&Array.isArray(t[e]))for(const i of t[e])i?.message?.content&&this.collectTextFromNode(i.message.content,n),i?.delta&&this.collectTextFromNode(i.delta,n);else this.collectTextFromNode(t[e],n)}collectToolCalls(t,n){if(!t)return;const o=Array.isArray(t)?t:[t];for(const e of o){if(!e)continue;const i=typeof e.index=="number"?e.index:n.size,s=n.get(i)||{id:"",name:"",argumentChunks:[]};typeof e.id=="string"&&!s.id&&(s.id=e.id);const a=e.function?.name;typeof a=="string"&&a.length>0&&(s.name=a);const u=e.function?.arguments;typeof u=="string"&&u.length>0&&s.argumentChunks.push(u),n.set(i,s)}}createClaudeStreamFromParsed(t){if(t.errorMessage)return this.createClaudeErrorStream(t.errorMessage);const n=this.mergeAndChunkSegments(t.thinkingSegments),o=this.mergeAndChunkSegments(t.textSegments),e=Array.from(t.toolCalls.entries()).sort((m,p)=>m[0]-p[0]).map(([m,p])=>({index:m,id:p.id,name:p.name,arguments:p.argumentChunks.join("")})).filter(m=>m.name);if(n.length===0&&o.length===0&&e.length===0)return this.createClaudeErrorStream("Empty streaming response from provider");const i=`msg_${ze.ulid()}`,s=t.model||"gpt-5",a=[];a.push("event: message_start"),a.push(`data: ${JSON.stringify({type:"message_start",message:{id:i,type:"message",role:"assistant",content:[],model:s,stop_reason:null,stop_sequence:null,usage:{input_tokens:t.inputTokens??0,output_tokens:0}}})}`),a.push("");let u=0;if(n.length>0){a.push("event: content_block_start"),a.push(`data: ${JSON.stringify({type:"content_block_start",index:u,content_block:{type:"thinking",thinking:"",_chatgpt_reasoning:!0}})}`),a.push("");for(const m of n)m&&(a.push("event: content_block_delta"),a.push(`data: ${JSON.stringify({type:"content_block_delta",index:u,delta:{type:"thinking_delta",thinking:m}})}`),a.push(""));a.push("event: content_block_stop"),a.push(`data: ${JSON.stringify({type:"content_block_stop",index:u})}`),a.push(""),u+=1}if(o.length>0){a.push("event: content_block_start"),a.push(`data: ${JSON.stringify({type:"content_block_start",index:u,content_block:{type:"text",text:""}})}`),a.push("");for(const m of o)m&&(a.push("event: content_block_delta"),a.push(`data: ${JSON.stringify({type:"content_block_delta",index:u,delta:{type:"text_delta",text:m}})}`),a.push(""));a.push("event: content_block_stop"),a.push(`data: ${JSON.stringify({type:"content_block_stop",index:u})}`),a.push(""),u+=1}for(const m of e){const p=u+m.index,g=m.id||`tool_${ze.ulid()}`;a.push("event: content_block_start"),a.push(`data: ${JSON.stringify({type:"content_block_start",index:p,content_block:{type:"tool_use",id:g,name:m.name,input:{}}})}`),a.push(""),m.arguments&&(a.push("event: content_block_delta"),a.push(`data: ${JSON.stringify({type:"content_block_delta",index:p,delta:{type:"input_json_delta",partial_json:m.arguments}})}`),a.push("")),a.push("event: content_block_stop"),a.push(`data: ${JSON.stringify({type:"content_block_stop",index:p})}`),a.push("")}const c=t.stopReason||"end_turn",d={output_tokens:t.outputTokens??0};return(t.cachedTokens||t.reasoningTokens||t.reasoningEffort)&&(d.metadata={},t.cachedTokens&&(d.metadata.cached_tokens=t.cachedTokens),t.reasoningTokens&&(d.metadata.reasoning_tokens=t.reasoningTokens),t.reasoningEffort&&(d.metadata.reasoning_effort=t.reasoningEffort)),a.push("event: message_delta"),a.push(`data: ${JSON.stringify({type:"message_delta",delta:{stop_reason:c,stop_sequence:null},usage:d})}`),a.push(""),a.push("event: message_stop"),a.push('data: {"type":"message_stop"}'),a.push(""),a.join(`
428
+ `)}mergeAndChunkSegments(t,n=2e3){if(!t||t.length===0)return[];const o=t.join("");if(!o)return[];const e=[];for(let i=0;i<o.length;i+=n)e.push(o.slice(i,i+n));return e}mapResponseStatusToStopReason(t){return t&&{completed:"end_turn",completed_with_error:"error",completed_with_streaming_error:"error",cancelled:"error",errored:"error"}[t]||"end_turn"}convertNonStreamingResponse(t){try{const n=JSON.parse(t);if(n?.error){const s=n.error?.message||n.error?.error||(typeof n.error=="string"?n.error:"Unexpected API error");return this.createClaudeErrorResponse(s)}const o=n.choices?.[0];if(!o)return t;const i={id:`msg_${ze.ulid()}`,type:"message",role:"assistant",content:[{type:"text",text:o.message?.content||""}],model:n.model||"gpt-4-turbo",stop_reason:this.mapFinishReason(o.finish_reason),stop_sequence:null,usage:{input_tokens:n.usage?.prompt_tokens||0,output_tokens:n.usage?.completion_tokens||0}};return JSON.stringify(i)}catch{const o=typeof t=="string"&&t.trim()?t.trim():"Unexpected API error";return this.createClaudeErrorResponse(o)}}mapFinishReason(t){return t?{stop:"end_turn",length:"max_tokens",function_call:"tool_use",tool_calls:"tool_use",content_filter:"stop_sequence"}[t]||"end_turn":null}createClaudeErrorResponse(t){const n=`msg_${ze.ulid()}`;return JSON.stringify({id:n,type:"message",role:"assistant",content:[{type:"text",text:t||"Unexpected API error"}],model:"gpt-5",stop_reason:"error",stop_sequence:null,usage:{input_tokens:0,output_tokens:0}})}createClaudeErrorStream(t){const n=`msg_${ze.ulid()}`,o=t||"Unexpected API error",e=[];return e.push("event: message_start"),e.push(`data: ${JSON.stringify({type:"message_start",message:{id:n,type:"message",role:"assistant",content:[],model:"gpt-5",stop_reason:null,stop_sequence:null,usage:{input_tokens:0,output_tokens:0}}})}`),e.push(""),e.push("event: content_block_start"),e.push(`data: ${JSON.stringify({type:"content_block_start",index:0,content_block:{type:"text",text:""}})}`),e.push(""),e.push("event: content_block_delta"),e.push(`data: ${JSON.stringify({type:"content_block_delta",index:0,delta:{type:"text_delta",text:o}})}`),e.push(""),e.push("event: content_block_stop"),e.push(`data: ${JSON.stringify({type:"content_block_stop",index:0})}`),e.push(""),e.push("event: message_delta"),e.push(`data: ${JSON.stringify({type:"message_delta",delta:{stop_reason:"error",stop_sequence:null},usage:{output_tokens:0}})}`),e.push(""),e.push("event: message_stop"),e.push('data: {"type":"message_stop"}'),e.push(""),e.join(`
429
+ `)}ensureValidClaudeStream(t,n){return!t||!t.includes("event: message_start")?this.createClaudeErrorStream(n):t}}class gm{config;requestTransformer=null;responseTransformer=null;routingContextMap=new Map;codexAuth;hasSessionSettings=!1;lastSessionCheckTimestamp=0;SESSION_CHECK_INTERVAL_MS=1e3;cachedSessionSettings=null;CLAUDE_PATTERNS=[/anthropic\.com/i,/claude\.ai/i,/\/v1\/messages/i,/\/publishers\/anthropic\/models/i];constructor(t){this.config=t,this.applySessionSettings()}applySessionSettings(){this.config.sessionId?this.loadSessionSettingsAsync():this.initializeRouter()}async loadSessionSettingsAsync(){await this.checkAndReloadSessionSettings(),this.initializeRouter()}async checkAndReloadSessionSettings(){if(!this.config.sessionId)return;const t=Date.now();if(!(t-this.lastSessionCheckTimestamp<this.SESSION_CHECK_INTERVAL_MS))try{const n=await lm.getSessionSettings(this.config.sessionId);if(this.lastSessionCheckTimestamp=t,JSON.stringify(n)!==JSON.stringify(this.cachedSessionSettings))if(this.cachedSessionSettings=n,n&&n.provider){const e=this.mapProviderName(n.provider);this.config.toProvider=e,this.config.toModel=n.model,this.config.sessionReasoningEffort=n.reasoningEffort,this.hasSessionSettings=!0,this.initializeTransformers()}else this.hasSessionSettings=!1}catch(n){this.config.logger?.error("[Router] Failed to check session settings",n)}}initializeRouter(){this.config.toApiKey||(this.codexAuth=new De(this.config.logger)),this.initializeTransformers()}mapProviderName(t){const n=t.toLowerCase().trim();return n==="chatgpt"||n==="gpt"||n==="openai"?"openai":n}initializeTransformers(){this.config.toProvider?.toLowerCase()==="openai"&&(this.requestTransformer=new dm(this.config,this.codexAuth),this.responseTransformer=new mm(this.config.logger))}shouldRoute(t,n){if(this.checkAndReloadSessionSettings().catch(o=>{this.config.logger?.error("[Router] Failed to check session settings in shouldRoute",o)}),!this.requestTransformer||!this.responseTransformer||!n)return!1;try{return JSON.parse(n),!!(this.hasSessionSettings&&this.CLAUDE_PATTERNS.some(e=>e.test(t)))}catch(o){return this.config.logger?.error("[Router] JSON parse error in shouldRoute",o),!1}}async transformRequest(t,n){if(!this.requestTransformer)throw new Error("Request transformer not initialized");const o=await this.requestTransformer.transform(t,n),e=`${t}_${Date.now()}`;return this.routingContextMap.set(e,{originalUrl:t,targetUrl:o.url,fromProvider:"anthropic",toProvider:this.config.toProvider,wasRouted:!0}),o}transformResponse(t){if(!this.responseTransformer)throw new Error("Response transformer not initialized");try{return this.responseTransformer.transform(t)}catch(n){return this.config.logger?.error("[Router] Response transformation failed",n),this.createFallbackClaudeResponse()}}cleanRequestForPassthrough(t){try{const n=JSON.parse(t);if(!n.messages||!Array.isArray(n.messages))return t;let o=!1;const e=n.messages.map(i=>{if(!i.content||!Array.isArray(i.content))return i;const s=i.content.filter(a=>a.type==="thinking"&&a._chatgpt_reasoning===!0?(o=!0,!1):!0);return s.length>0?{...i,content:s}:null}).filter(Boolean);return o?(n.messages=e,JSON.stringify(n)):t}catch(n){return this.config.logger?.warn("[Router] Failed to clean request for passthrough",{error:n instanceof Error?n.message:String(n)}),t}}createFallbackClaudeResponse(){const t=`msg_error_${Date.now()}`,n=[];return n.push("event: message_start"),n.push(`data: ${JSON.stringify({type:"message_start",message:{id:t,type:"message",role:"assistant",content:[],model:"gpt-5",stop_reason:null,stop_sequence:null,usage:{input_tokens:0,output_tokens:0}}})}`),n.push(""),n.push("event: content_block_start"),n.push(`data: ${JSON.stringify({type:"content_block_start",index:0,content_block:{type:"text",text:""}})}`),n.push(""),n.push("event: content_block_delta"),n.push(`data: ${JSON.stringify({type:"content_block_delta",index:0,delta:{type:"text_delta",text:"Error: Response transformation failed. Please try again."}})}`),n.push(""),n.push("event: content_block_stop"),n.push(`data: ${JSON.stringify({type:"content_block_stop",index:0})}`),n.push(""),n.push("event: message_stop"),n.push('data: {"type":"message_stop"}'),n.push(""),n.join(`
430
+ `)}wasRouted(t){for(const n of this.routingContextMap.values())if(n.targetUrl===t)return!0;return!1}getRoutingContext(t){for(const n of this.routingContextMap.values())if(n.targetUrl===t||n.originalUrl===t)return n}clearRoutingContext(t){for(const[n,o]of this.routingContextMap.entries())(o.targetUrl===t||o.originalUrl===t)&&this.routingContextMap.delete(n)}getTargetProvider(){return this.config.toProvider}getTargetModel(){return this.config.toModel}}const Po=_o(()=>je([ro(),D(),xe(),rt(),we(Po),nt(D(),Po)])),Do=R({toolCallId:D(),toolName:D(),args:$e()}),hm=R({toolCallId:D(),toolName:D(),args:$e(),result:$e()}),fm=je([Do.extend({state:ue("partial-call"),step:xe().optional()}),Do.extend({state:ue("call"),step:xe().optional()}),hm.extend({state:ue("result"),step:xe().optional()})]),vm=R({type:D(),content:D()}),km=R({type:ue("text"),text:D()}),ym=R({type:ue("reasoning"),reasoning:D(),details:we(je([R({type:ue("text"),text:D(),signature:D().optional()}),R({type:ue("redacted"),data:D()})])).optional()}),bm=R({name:ue("select"),props:R({options:we(R({label:D(),value:je([D(),xe()]),selected:rt().optional()}))})}),xm=R({name:ue("placeholder"),props:R({})}),$m=je([bm,xm]),Sc=R({completed:rt(),component:$m}),wm=R({type:ue("tool-invocation"),toolInvocation:fm,input:Sc.optional(),jsx:D().describe("UI rendering").optional()}),Im=R({type:ue("source"),source:vm}),Sm=R({type:ue("file"),mimeType:D(),data:D()}),zm=R({type:ue("error"),text:D(),error:$e().optional()}),Om=R({type:ue("step-start")}),zc=je([km,ym,wm,Im,Sm,zm,Om]),mo=ot(["input","output","error","system"]),Oc=R({messageType:mo,parts:we(zc),metadata:nt(D(),Ee()).optional(),raw:$e().optional()});R({id:D(),sessionId:D(),agentTypeId:D(),messageType:mo,contentSize:xe().nullable(),timestamp:Ct(),metadata:D().nullable(),parts:D().nullable().optional(),raw:$e().nullable().optional(),createdAt:Ct(),updatedAt:Ct()});const Tm=R({messageType:ot(["output"]).default("output"),metadata:nt(D(),Ee()).optional()});R({id:D(),messageId:D()});const Em=R({parts:we(zc).optional(),metadata:nt(D(),Ee()).optional(),raw:$e().optional(),toolName:D().optional(),toolResult:$e().optional()});R({messages:we(Oc)});const Nm=R({toolName:D(),toolArgs:$e(),input:Sc});R({messageId:D(),success:rt()});function jm(r){return[Am(r)]}function Ro(r){let t=r.parts;if(!t&&r.content&&(t=jm(r.content)),!t)throw new Error("Either content or parts is required for message creation");return{messageType:r.messageType,parts:t,metadata:r.metadata,raw:r.raw}}function Am(r){return{type:"text",text:r}}const gr=10,Co=(r=0)=>t=>`\x1B[${t+r}m`,Lo=(r=0)=>t=>`\x1B[${38+r};5;${t}m`,Fo=(r=0)=>(t,n,o)=>`\x1B[${38+r};2;${t};${n};${o}m`,B={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(B.modifier);const Um=Object.keys(B.color),Pm=Object.keys(B.bgColor);[...Um,...Pm];function Dm(){const r=new Map;for(const[t,n]of Object.entries(B)){for(const[o,e]of Object.entries(n))B[o]={open:`\x1B[${e[0]}m`,close:`\x1B[${e[1]}m`},n[o]=B[o],r.set(e[0],e[1]);Object.defineProperty(B,t,{value:n,enumerable:!1})}return Object.defineProperty(B,"codes",{value:r,enumerable:!1}),B.color.close="\x1B[39m",B.bgColor.close="\x1B[49m",B.color.ansi=Co(),B.color.ansi256=Lo(),B.color.ansi16m=Fo(),B.bgColor.ansi=Co(gr),B.bgColor.ansi256=Lo(gr),B.bgColor.ansi16m=Fo(gr),Object.defineProperties(B,{rgbToAnsi256:{value(t,n,o){return t===n&&n===o?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(o/255*5)},enumerable:!1},hexToRgb:{value(t){const n=/[a-f\d]{6}|[a-f\d]{3}/i.exec(t.toString(16));if(!n)return[0,0,0];let[o]=n;o.length===3&&(o=[...o].map(i=>i+i).join(""));const e=Number.parseInt(o,16);return[e>>16&255,e>>8&255,e&255]},enumerable:!1},hexToAnsi256:{value:t=>B.rgbToAnsi256(...B.hexToRgb(t)),enumerable:!1},ansi256ToAnsi:{value(t){if(t<8)return 30+t;if(t<16)return 90+(t-8);let n,o,e;if(t>=232)n=((t-232)*10+8)/255,o=n,e=n;else{t-=16;const a=t%36;n=Math.floor(t/36)/5,o=Math.floor(a/6)/5,e=a%6/5}const i=Math.max(n,o,e)*2;if(i===0)return 30;let s=30+(Math.round(e)<<2|Math.round(o)<<1|Math.round(n));return i===2&&(s+=60),s},enumerable:!1},rgbToAnsi:{value:(t,n,o)=>B.ansi256ToAnsi(B.rgbToAnsi256(t,n,o)),enumerable:!1},hexToAnsi:{value:t=>B.ansi256ToAnsi(B.hexToAnsi256(t)),enumerable:!1}}),B}const ke=Dm(),Zo=(()=>{if(!("navigator"in globalThis))return 0;if(globalThis.navigator.userAgentData){const r=navigator.userAgentData.brands.find(({brand:t})=>t==="Chromium");if(r&&r.version>93)return 3}return/\b(Chrome|Chromium)\//.test(globalThis.navigator.userAgent)?1:0})(),Mo=Zo!==0&&{level:Zo},Rm={stdout:Mo,stderr:Mo};function Cm(r,t,n){let o=r.indexOf(t);if(o===-1)return r;const e=t.length;let i=0,s="";do s+=r.slice(i,o)+t+n,i=o+e,o=r.indexOf(t,i);while(o!==-1);return s+=r.slice(i),s}function Lm(r,t,n,o){let e=0,i="";do{const s=r[o-1]==="\r";i+=r.slice(e,s?o-1:o)+t+(s?`\r
409
431
  `:`
410
- `)+t,o=s+1,s=n.indexOf(`
411
- `,o)}while(s!==-1);return r+=n.slice(o),r}const{stdout:ks,stderr:vs}=kr,Kt=Symbol("GENERATOR"),Qe=Symbol("STYLER"),vt=Symbol("IS_EMPTY"),ys=["ansi","ansi","ansi256","ansi16m"],et=Object.create(null),xr=(n,e={})=>{if(e.level&&!(Number.isInteger(e.level)&&e.level>=0&&e.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");const t=ks?ks.level:0;n.level=e.level===void 0?t:e.level},br=n=>{const e=(...t)=>t.join(" ");return xr(e,n),Object.setPrototypeOf(e,wt.prototype),e};function wt(n){return br(n)}Object.setPrototypeOf(wt.prototype,Function.prototype);for(const[n,e]of Object.entries(ge))et[n]={get(){const t=Pt(this,Qt(e.open,e.close,this[Qe]),this[vt]);return Object.defineProperty(this,n,{value:t}),t}};et.visible={get(){const n=Pt(this,this[Qe],!0);return Object.defineProperty(this,"visible",{value:n}),n}};const Xt=(n,e,t,...s)=>n==="rgb"?e==="ansi16m"?ge[t].ansi16m(...s):e==="ansi256"?ge[t].ansi256(ge.rgbToAnsi256(...s)):ge[t].ansi(ge.rgbToAnsi(...s)):n==="hex"?Xt("rgb",e,t,...ge.hexToRgb(...s)):ge[t][n](...s),wr=["rgb","hex","ansi256"];for(const n of wr){et[n]={get(){const{level:t}=this;return function(...s){const o=Qt(Xt(n,ys[t],"color",...s),ge.color.close,this[Qe]);return Pt(this,o,this[vt])}}};const e="bg"+n[0].toUpperCase()+n.slice(1);et[e]={get(){const{level:t}=this;return function(...s){const o=Qt(Xt(n,ys[t],"bgColor",...s),ge.bgColor.close,this[Qe]);return Pt(this,o,this[vt])}}}}const Sr=Object.defineProperties(()=>{},{...et,level:{enumerable:!0,get(){return this[Kt].level},set(n){this[Kt].level=n}}}),Qt=(n,e,t)=>{let s,o;return t===void 0?(s=n,o=e):(s=t.openAll+n,o=e+t.closeAll),{open:n,close:e,openAll:s,closeAll:o,parent:t}},Pt=(n,e,t)=>{const s=(...o)=>Tr(s,o.length===1?""+o[0]:o.join(" "));return Object.setPrototypeOf(s,Sr),s[Kt]=n,s[Qe]=e,s[vt]=t,s},Tr=(n,e)=>{if(n.level<=0||!e)return n[vt]?"":e;let t=n[Qe];if(t===void 0)return e;const{openAll:s,closeAll:o}=t;if(e.includes("\x1B"))for(;t!==void 0;)e=vr(e,t.close,t.open),t=t.parent;const r=e.indexOf(`
412
- `);return r!==-1&&(e=yr(e,o,s,r)),s+e+o};Object.defineProperties(wt.prototype,et);const K=wt();wt({level:vs?vs.level:0});function Er(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var ot={exports:{}},Vt,xs;function Ir(){if(xs)return Vt;xs=1;function n(t){try{return JSON.stringify(t)}catch{return'"[Circular]"'}}Vt=e;function e(t,s,o){var r=o&&o.stringify||n,i=1;if(typeof t=="object"&&t!==null){var a=s.length+i;if(a===1)return t;var p=new Array(a);p[0]=r(t);for(var u=1;u<a;u++)p[u]=r(s[u]);return p.join(" ")}if(typeof t!="string")return t;var c=s.length;if(c===0)return t;for(var g="",v=1-i,d=-1,m=t&&t.length||0,h=0;h<m;){if(t.charCodeAt(h)===37&&h+1<m){switch(d=d>-1?d:0,t.charCodeAt(h+1)){case 100:case 102:if(v>=c||s[v]==null)break;d<h&&(g+=t.slice(d,h)),g+=Number(s[v]),d=h+2,h++;break;case 105:if(v>=c||s[v]==null)break;d<h&&(g+=t.slice(d,h)),g+=Math.floor(Number(s[v])),d=h+2,h++;break;case 79:case 111:case 106:if(v>=c||s[v]===void 0)break;d<h&&(g+=t.slice(d,h));var w=typeof s[v];if(w==="string"){g+="'"+s[v]+"'",d=h+2,h++;break}if(w==="function"){g+=s[v].name||"<anonymous>",d=h+2,h++;break}g+=r(s[v]),d=h+2,h++;break;case 115:if(v>=c)break;d<h&&(g+=t.slice(d,h)),g+=String(s[v]),d=h+2,h++;break;case 37:d<h&&(g+=t.slice(d,h)),g+="%",d=h+2,h++,v--;break}++v}++h}return d===-1?t:(d<m&&(g+=t.slice(d)),g)}return Vt}var bs;function Ar(){if(bs)return ot.exports;bs=1;const n=Ir();ot.exports=c;const e=ne().console||{},t={mapHttpRequest:I,mapHttpResponse:I,wrapRequestSerializer:G,wrapResponseSerializer:G,wrapErrorSerializer:G,req:I,res:I,err:F,errWithCause:F};function s(_,k){return _==="silent"?1/0:k.levels.values[_]}const o=Symbol("pino.logFuncs"),r=Symbol("pino.hierarchy"),i={error:"log",fatal:"error",warn:"error",info:"log",debug:"log",trace:"log"};function a(_,k){const x={logger:k,parent:_[r]};k[r]=x}function p(_,k,x){const R={};k.forEach(N=>{R[N]=x[N]?x[N]:e[N]||e[i[N]||"log"]||se}),_[o]=R}function u(_,k){return Array.isArray(_)?_.filter(function(R){return R!=="!stdSerializers.err"}):_===!0?Object.keys(k):!1}function c(_){_=_||{},_.browser=_.browser||{};const k=_.browser.transmit;if(k&&typeof k.send!="function")throw Error("pino: transmit option must have a send function");const x=_.browser.write||e;_.browser.write&&(_.browser.asObject=!0);const R=_.serializers||{},N=u(_.browser.serialize,R);let W=_.browser.serialize;Array.isArray(_.browser.serialize)&&_.browser.serialize.indexOf("!stdSerializers.err")>-1&&(W=!1);const Y=Object.keys(_.customLevels||{}),B=["error","fatal","warn","info","debug","trace"].concat(Y);typeof x=="function"&&B.forEach(function(ce){x[ce]=x}),(_.enabled===!1||_.browser.disabled)&&(_.level="silent");const ee=_.level||"info",S=Object.create(x);S.log||(S.log=se),p(S,B,x),a({},S),Object.defineProperty(S,"levelVal",{get:St}),Object.defineProperty(S,"level",{get:je,set:Tt});const Z={transmit:k,serialize:N,asObject:_.browser.asObject,formatters:_.browser.formatters,levels:B,timestamp:H(_),messageKey:_.messageKey||"msg",onChild:_.onChild||se};S.levels=g(_),S.level=ee,S.setMaxListeners=S.getMaxListeners=S.emit=S.addListener=S.on=S.prependListener=S.once=S.prependOnceListener=S.removeListener=S.removeAllListeners=S.listeners=S.listenerCount=S.eventNames=S.write=S.flush=se,S.serializers=R,S._serialize=N,S._stdErrSerialize=W,S.child=function(...ce){return os.call(this,Z,...ce)},k&&(S._logEvent=j());function St(){return s(this.level,this)}function je(){return this._level}function Tt(ce){if(ce!=="silent"&&!this.levels.values[ce])throw Error("unknown level "+ce);this._level=ce,m(this,Z,S,"error"),m(this,Z,S,"fatal"),m(this,Z,S,"warn"),m(this,Z,S,"info"),m(this,Z,S,"debug"),m(this,Z,S,"trace"),Y.forEach(we=>{m(this,Z,S,we)})}function os(ce,we,tt){if(!we)throw new Error("missing bindings for child Pino");tt=tt||{},N&&we.serializers&&(tt.serializers=we.serializers);const rs=tt.serializers;if(N&&rs){var Et=Object.assign({},R,rs),ns=_.browser.serialize===!0?Object.keys(Et):N;delete we.serializers,C([we],ns,Et,this._stdErrSerialize)}function is(It){this._childLevel=(It._childLevel|0)+1,this.bindings=we,Et&&(this.serializers=Et,this._serialize=ns),k&&(this._logEvent=j([].concat(It._logEvent.bindings,we)))}is.prototype=this;const st=new is(this);return a(this,st),st.child=function(...It){return os.call(this,ce,...It)},st.level=tt.level||this.level,ce.onChild(st),st}return S}function g(_){const k=_.customLevels||{},x=Object.assign({},c.levels.values,k),R=Object.assign({},c.levels.labels,v(k));return{values:x,labels:R}}function v(_){const k={};return Object.keys(_).forEach(function(x){k[_[x]]=x}),k}c.levels={values:{fatal:60,error:50,warn:40,info:30,debug:20,trace:10},labels:{10:"trace",20:"debug",30:"info",40:"warn",50:"error",60:"fatal"}},c.stdSerializers=t,c.stdTimeFunctions=Object.assign({},{nullTime:$,epochTime:Q,unixTime:V,isoTime:ae});function d(_){const k=[];_.bindings&&k.push(_.bindings);let x=_[r];for(;x.parent;)x=x.parent,x.logger.bindings&&k.push(x.logger.bindings);return k.reverse()}function m(_,k,x,R){if(Object.defineProperty(_,R,{value:s(_.level,x)>s(R,x)?se:x[o][R],writable:!0,enumerable:!0,configurable:!0}),_[R]===se){if(!k.transmit)return;const W=k.transmit.level||_.level,Y=s(W,x);if(s(R,x)<Y)return}_[R]=w(_,k,x,R);const N=d(_);N.length!==0&&(_[R]=h(N,_[R]))}function h(_,k){return function(){return k.apply(this,[..._,...arguments])}}function w(_,k,x,R){return function(N){return function(){const Y=k.timestamp(),B=new Array(arguments.length),ee=Object.getPrototypeOf&&Object.getPrototypeOf(this)===e?e:this;for(var S=0;S<B.length;S++)B[S]=arguments[S];var Z=!1;if(k.serialize&&(C(B,this._serialize,this.serializers,this._stdErrSerialize),Z=!0),k.asObject||k.formatters?N.call(ee,L(this,R,B,Y,k)):N.apply(ee,B),k.transmit){const St=k.transmit.level||_._level,je=s(St,x),Tt=s(R,x);if(Tt<je)return;J(this,{ts:Y,methodLevel:R,methodValue:Tt,transmitValue:x.levels.values[k.transmit.level||_._level],send:k.transmit.send,val:s(_._level,x)},B,Z)}}}(_[o][R])}function L(_,k,x,R,N){const{level:W,log:Y=je=>je}=N.formatters||{},B=x.slice();let ee=B[0];const S={};if(R&&(S.time=R),W){const je=W(k,_.levels.values[k]);Object.assign(S,je)}else S.level=_.levels.values[k];let Z=(_._childLevel|0)+1;if(Z<1&&(Z=1),ee!==null&&typeof ee=="object"){for(;Z--&&typeof B[0]=="object";)Object.assign(S,B.shift());ee=B.length?n(B.shift(),B):void 0}else typeof ee=="string"&&(ee=n(B.shift(),B));return ee!==void 0&&(S[N.messageKey]=ee),Y(S)}function C(_,k,x,R){for(const N in _)if(R&&_[N]instanceof Error)_[N]=c.stdSerializers.err(_[N]);else if(typeof _[N]=="object"&&!Array.isArray(_[N])&&k)for(const W in _[N])k.indexOf(W)>-1&&W in x&&(_[N][W]=x[W](_[N][W]))}function J(_,k,x,R=!1){const N=k.send,W=k.ts,Y=k.methodLevel,B=k.methodValue,ee=k.val,S=_._logEvent.bindings;R||C(x,_._serialize||Object.keys(_.serializers),_.serializers,_._stdErrSerialize===void 0?!0:_._stdErrSerialize),_._logEvent.ts=W,_._logEvent.messages=x.filter(function(Z){return S.indexOf(Z)===-1}),_._logEvent.level.label=Y,_._logEvent.level.value=B,N(Y,_._logEvent,ee),_._logEvent=j(S)}function j(_){return{ts:0,messages:[],bindings:_||[],level:{label:"",value:0}}}function F(_){const k={type:_.constructor.name,msg:_.message,stack:_.stack};for(const x in _)k[x]===void 0&&(k[x]=_[x]);return k}function H(_){return typeof _.timestamp=="function"?_.timestamp:_.timestamp===!1?$:Q}function I(){return{}}function G(_){return _}function se(){}function $(){return!1}function Q(){return Date.now()}function V(){return Math.round(Date.now()/1e3)}function ae(){return new Date(Date.now()).toISOString()}function ne(){function _(k){return typeof k<"u"&&k}try{return typeof globalThis<"u"||Object.defineProperty(Object.prototype,"globalThis",{get:function(){return delete Object.prototype.globalThis,this.globalThis=this},configurable:!0}),globalThis}catch{return _(self)||_(window)||_(this)||{}}}return ot.exports.default=c,ot.exports.pino=c,ot.exports}var Cr=Ar();const Ct=Er(Cr);class oe{pino;useTerminalFormat;static instance;constructor(e={}){this.useTerminalFormat=e.useTerminalFormat??!0;const t=e.debug?"debug":e.verbose?"trace":"info";e.silent?this.pino=Ct({level:"silent"}):e.logFile||e.logDir?this.pino=this.createMultiTransportLogger(t,e):this.useTerminalFormat&&process.stdout.isTTY?this.pino=Ct({level:t,transport:{target:"pino-pretty",options:{colorize:!0,ignore:"pid,hostname",translateTime:"HH:MM:ss",messageFormat:"{msg}"}}}):this.pino=Ct({level:t})}createMultiTransportLogger(e,t){let s;if(t.logFile)s=t.logFile;else if(t.logDir){ke.existsSync(t.logDir)||ke.mkdirSync(t.logDir,{recursive:!0});const r=new Date().toISOString().split("T")[0];s=fe.join(t.logDir,`app-${r}.log`)}else{const r=fe.join(jt.tmpdir(),"agiflow-agents","logs",`session-${process.pid}`);ke.existsSync(r)||ke.mkdirSync(r,{recursive:!0});const i=new Date().toISOString().split("T")[0];s=fe.join(r,`app-${i}.log`)}const o=[];return this.useTerminalFormat&&process.stdout.isTTY?o.push({level:e,target:"pino-pretty",options:{destination:1,colorize:!0,ignore:"pid,hostname",translateTime:"HH:MM:ss",messageFormat:"{msg}"}}):o.push({level:e,target:"pino/file",options:{destination:1}}),t.maxFileSize||t.maxFiles?o.push({level:e,target:"pino-roll",options:{file:s,frequency:"daily",size:t.maxFileSize||"10m",limit:{count:t.maxFiles||7},symlink:!0,mkdir:!0}}):o.push({level:e,target:"pino/file",options:{destination:s,mkdir:!0}}),Ct({level:e,transport:{targets:o}})}static getInstance(){return oe.instance||(oe.instance=new oe),oe.instance}static configure(e){oe.instance=new oe(e)}getLogFilePath(){const e=this.pino.transports;if(e&&Array.isArray(e)){const t=e.find(s=>s.target==="pino/file"||s.target==="pino-roll");if(t&&t.options)return t.options.destination||t.options.file}}info(e,...t){this.useTerminalFormat&&process.stdout.isTTY?console.log(K.blue("ℹ"),e,...t):this.pino.info(e,...t)}static info(e,...t){oe.getInstance().info(e,...t)}success(e,...t){this.useTerminalFormat&&process.stdout.isTTY?console.log(K.green("✓"),e,...t):this.pino.info({type:"success"},e,...t)}static success(e,...t){oe.getInstance().success(e,...t)}warn(e,...t){this.useTerminalFormat&&process.stdout.isTTY?console.warn(K.yellow("⚠"),e,...t):this.pino.warn(e,...t)}static warn(e,...t){oe.getInstance().warn(e,...t)}error(e,t,s){let o,r;t instanceof Error?(o=t,r=s):r=t,this.useTerminalFormat&&process.stdout.isTTY?console.error(K.red("✗"),e,o||""):o?this.pino.error(o,e):this.pino.error(e),r?.exit!==void 0&&process.exit(r.exit)}static error(e,t){oe.getInstance().error(e,void 0,t)}debug(e,...t){this.useTerminalFormat&&process.stdout.isTTY?(te.isDebugMode||this.pino.level==="debug"||this.pino.level==="trace")&&console.log(K.gray("🔍"),K.gray(e),...t):this.pino.debug(e,...t)}static debug(e,...t){oe.getInstance().debug(e,...t)}trace(e,...t){this.useTerminalFormat&&process.stdout.isTTY?this.pino.level==="trace"&&console.log(K.gray("..."),K.gray(e),...t):this.pino.trace(e,...t)}title(e){this.useTerminalFormat&&process.stdout.isTTY?(console.log(),console.log(K.bold.cyan(e)),console.log(K.cyan("=".repeat(e.length)))):this.pino.info({type:"title"},e)}static title(e){oe.getInstance().title(e)}code(e){this.useTerminalFormat&&process.stdout.isTTY?(console.log(),console.log(K.gray(" "+e)),console.log()):this.pino.info({type:"code",code:e},"Code example")}static code(e){oe.getInstance().code(e)}newLine(){this.useTerminalFormat&&process.stdout.isTTY&&console.log()}static newLine(){oe.getInstance().newLine()}terminal(e,t,...s){if(!process.stdout.isTTY){this.pino[e==="success"||e==="title"||e==="code"?"info":e](t,...s);return}switch(e){case"info":console.log(K.blue("ℹ"),t,...s);break;case"success":console.log(K.green("✓"),t,...s);break;case"warn":console.warn(K.yellow("⚠"),t,...s);break;case"error":console.error(K.red("✗"),t,...s);break;case"debug":console.log(K.gray("🔍"),K.gray(t),...s);break;case"title":console.log(),console.log(K.bold.cyan(t)),console.log(K.cyan("=".repeat(t.length)));break;case"code":console.log(),console.log(K.gray(" "+t)),console.log();break}}getPino(){return this.pino}child(e){const t=new oe({useTerminalFormat:this.useTerminalFormat});return t.pino=this.pino.child(e),t}}class Or{filePath;cache=null;dirty=!1;constructor(e){this.filePath=e||Oe.join(X.AGIFLOW_DIR,"credentials.json")}async load(){if(this.cache)return this.cache;try{if(!await X.exists(this.filePath))return null;const t=await X.readJson(this.filePath);return this.cache=t,t}catch{return null}}async flush(){!this.dirty||!this.cache||(await X.ensureDir(X.AGIFLOW_DIR),await X.writeJson(this.filePath,this.cache),this.dirty=!1)}async setApiKey(e){this.cache={apiKey:e.apiKey,organizationId:e.organizationId,deviceId:e.deviceId||this.cache?.deviceId,expiresAt:e.expiresAt},this.dirty=!0,await this.flush()}async setDeviceId(e){const t=await this.load()||{apiKey:"",organizationId:""};t.deviceId=e,this.cache=t,this.dirty=!0,await this.flush()}async getApiKey(){return(await this.load())?.apiKey||null}async getAgentCreds(){const e=await this.load();if(!e)throw new Error("Cred not set");return{apiKey:e.apiKey,organizationId:e.organizationId,deviceId:e.deviceId}}async getOrganizationId(){return(await this.load())?.organizationId||null}async getDeviceId(){return(await this.load())?.deviceId||null}async isExpired(e=300*1e3){const t=await this.load();return t?.expiresAt?Date.now()>=t.expiresAt-e:!1}async clear(){this.cache=null,this.dirty=!1;try{await X.exists(this.filePath)&&await X.remove(this.filePath)}catch{}}async buildAuthHeaders(){const e=await this.load();return e?.apiKey?{"x-api-key":e.apiKey}:{}}async buildDeviceAuthHeaders(e){const t=await this.load();if(!t?.apiKey)return{};const s={"x-api-key":t.apiKey};return e&&(s["x-device-guid"]=e),t.deviceId&&(s["x-device-id"]=t.deviceId),t.organizationId&&(s["x-organization-id"]=t.organizationId),s}async buildAgentAuthHeaders(e){let t=e;if(t||(t=await this.getApiKey()||void 0),t||(t=te.apiKey),!t)return{};const s={"x-api-key":t,"Content-Type":"application/json"},o=await this.getOrganizationId();o&&(s["x-organization-id"]=o);const r=await this.getDeviceId();return r&&(s["x-device-id"]=r),s}}P({limit:ye().min(1).max(100).optional(),offset:ye().min(0).optional(),messageType:ss.optional(),sort:M().optional(),order:qt(["asc","desc"]).optional()});class Rr{options;authService;credentials;logger;constructor(e){this.options=e,this.authService=e.authService,this.credentials=e.credentials??new Or,this.logger=e.logger??new oe({verbose:!1})}async getAuthHeaders(){let e=await this.credentials.getApiKey(),t=await this.credentials.getOrganizationId();if((!e||!t)&&this.authService){const o=await this.authService.getValidApiKey();e=o.api_key,t=o.organization_id,await this.credentials.setApiKey({apiKey:e,organizationId:t,expiresAt:o.expires_at})}if(!e&&this.options.apiKey&&(e=this.options.apiKey),!t&&this.options.organizationId&&(t=this.options.organizationId),e&&t)return this.options.organizationId=t,{"Content-Type":"application/json","x-api-key":e};const s=this.options.authToken;if(!s)throw new Error("Authentication token is required for agent message operations");if(!this.options.organizationId)throw new Error("Organization ID is required for agent message operations");return{"Content-Type":"application/json",Authorization:`Bearer ${s}`}}async makeAuthenticatedRequest(e,t,s=!0){const o=await fetch(e,t);if(o.status===401&&s&&this.authService){const r=await o.text();if(r.includes("Invalid API key")){this.logger.info("= API key expired or invalid, clearing tokens and retrying authentication..."),await this.authService.clearTokens();try{await this.credentials.clear()}catch{}this.logger.info("= Retrying authentication...");const i=await this.getAuthHeaders(),a={...t,headers:{...t.headers,...i}};return await this.makeAuthenticatedRequest(e,a,!1)}if(r.includes("Invalid or expired session")){const i=te.isContainerMode;if(this.logger.error("🚫 Session validation failed:",new Error(`Session validation failed for ${e}. Docker mode: ${i}, Method: ${t.method||"GET"}, Timestamp: ${new Date().toISOString()}`)),i)return this.logger.warn("🐳 Docker session timing issue detected, waiting and retrying..."),await new Promise(a=>setTimeout(a,2e3)),await this.makeAuthenticatedRequest(e,t,!1)}}return o.status===429&&this.logger.warn("= Rate limit exceeded, keeping credentials but not retrying"),o}async sendMessage(e){const t=await this.getAuthHeaders(),s=this.options.organizationId;if(!s)throw new Error("Organization ID is required for sending agent messages");const o=ls(e);try{Ms.parse(o)}catch(r){throw new Error(`Invalid message payload: ${r instanceof Error?r.message:r}`)}try{const r=await this.makeAuthenticatedRequest(`${this.options.apiUrl}/api/v1/organizations/${s}/agent-sessions/${e.sessionId}/messages`,{method:"POST",headers:t,body:JSON.stringify(o)});if(!r.ok){const a=await r.text();throw new Error(`Failed to send agent message: ${r.status} ${a}`)}return await r.json()}catch(r){throw new Error(`Failed to send agent message: ${r instanceof Error?r.message:r}`)}}async sendMessageBatch(e,t){const s=await this.getAuthHeaders(),o=this.options.organizationId;if(!o)throw new Error("Organization ID is required for sending agent messages");const r=(t||[]).map(i=>ls(i));try{const i=await this.makeAuthenticatedRequest(`${this.options.apiUrl}/api/v1/organizations/${o}/agent-sessions/${e}/messages/batch`,{method:"POST",headers:s,body:JSON.stringify({messages:r})});if(!i.ok){const p=await i.text();throw new Error(`Failed to send agent message batch: ${i.status} ${p}`)}return await i.json()}catch(i){throw new Error(`Failed to send agent message batch: ${i instanceof Error?i.message:i}`)}}async getSessionMessages(e,t){const s=await this.getAuthHeaders(),o=this.options.organizationId;if(!o)throw new Error("Organization ID is required for fetching agent messages");const r=new URLSearchParams;t?.limit&&r.append("limit",t.limit.toString()),t?.offset&&r.append("offset",t.offset.toString()),t?.messageType&&r.append("messageType",t.messageType),t?.sort&&r.append("sort",t.sort),t?.order&&r.append("order",t.order);const i=`${this.options.apiUrl}/api/v1/organizations/${o}/agent-sessions/${e}/messages?${r.toString()}`;try{const a=await this.makeAuthenticatedRequest(i,{method:"GET",headers:s});if(!a.ok){const u=await a.text();throw new Error(`Failed to fetch session messages: ${a.status} ${u}`)}return await a.json()}catch(a){throw new Error(`Failed to fetch session messages: ${a instanceof Error?a.message:a}`)}}async uploadMessageContent(e,t,s,o){const r=await this.getAuthHeaders(),i=this.options.organizationId;if(!i)throw new Error("Organization ID is required for uploading message content");const a=typeof s=="string"?Buffer.from(s,"utf-8"):s,p=a.length;try{const u=await this.makeAuthenticatedRequest(`${this.options.apiUrl}/api/v1/organizations/${i}/agent-sessions/${e}/messages/presign`,{method:"POST",headers:r,body:JSON.stringify({messageType:t,contentSize:p})});if(!u.ok){const d=await u.text();throw new Error(`Failed to get presigned URL: ${u.status} ${d}`)}const{uploadUrl:c}=await u.json(),g=await fetch(c,{method:"PUT",body:a,headers:{"Content-Type":"application/octet-stream","Content-Length":p.toString()}});if(!g.ok)throw new Error(`Failed to upload content to R2: ${g.status}`);const v={sessionId:e,messageType:t,contentSize:p,metadata:o};return await this.sendMessage(v)}catch(u){throw new Error(`Failed to upload message content: ${u instanceof Error?u.message:u}`)}}async startMessage(e,t){const s=await this.getAuthHeaders(),o=this.options.organizationId;if(!o)throw new Error("Organization ID is required for starting agent messages");try{cr.parse(t)}catch(r){throw new Error(`Invalid start message payload: ${r instanceof Error?r.message:r}`)}try{const r=await this.makeAuthenticatedRequest(`${this.options.apiUrl}/api/v1/organizations/${o}/agent-sessions/${e}/messages/start`,{method:"POST",headers:s,body:JSON.stringify(t)});if(!r.ok){const a=await r.text();throw new Error(`Failed to start agent message: ${r.status} ${a}`)}return await r.json()}catch(r){throw new Error(`Failed to start agent message: ${r instanceof Error?r.message:r}`)}}async updateMessage(e,t,s){const o=await this.getAuthHeaders(),r=this.options.organizationId;if(!r)throw new Error("Organization ID is required for updating agent messages");try{lr.parse(s)}catch(a){throw this.logger.error("=❌ Update message validation failed",new Error(`Update message validation failed: ${a instanceof Error?a.message:a}`)),new Error(`Invalid update message payload: ${a instanceof Error?a.message:a}`)}const i=JSON.stringify(s);try{const a=await this.makeAuthenticatedRequest(`${this.options.apiUrl}/api/v1/organizations/${r}/agent-sessions/${e}/messages/${t}`,{method:"PATCH",headers:o,body:i});if(!a.ok){const u=await a.text();throw new Error(`Failed to update agent message: ${a.status} ${u}`)}return await a.json()}catch(a){throw new Error(`Failed to update agent message: ${a instanceof Error?a.message:a}`)}}async deleteSessionMessages(e){const t=await this.getAuthHeaders(),s=this.options.organizationId;if(!s)throw new Error("Organization ID is required for deleting session messages");this.logger.info(`=� Deleting all messages for session ${e}...`);try{const o=await this.makeAuthenticatedRequest(`${this.options.apiUrl}/api/v1/organizations/${s}/agent-sessions/${e}/messages`,{method:"DELETE",headers:t},!1);if(!o.ok){const i=await o.text().catch(()=>"Unknown error");return this.logger.warn(`� Failed to delete session messages: ${o.status} ${i}`),0}const{deletedCount:r}=await o.json();return this.logger.success(` Deleted ${r} messages for session ${e}`),r}catch(o){return this.logger.warn("� Failed to delete session messages:",o),0}}async getAgentSession(e){const t=await this.getAuthHeaders(),s=this.options.organizationId;if(!s)throw new Error("Organization ID is required for fetching agent session");try{const o=await this.makeAuthenticatedRequest(`${this.options.apiUrl}/api/v1/organizations/${s}/agent-sessions/${e}`,{method:"GET",headers:t});if(!o.ok){const i=await o.text();throw new Error(`Failed to fetch agent session: ${o.status} ${i}`)}return await o.json()}catch(o){throw new Error(`Failed to fetch agent session: ${o instanceof Error?o.message:o}`)}}async createTaskComment(e,t,s,o){try{const r=await this.getAuthHeaders(),i=this.options.organizationId;if(!i)return this.logger.warn("Organization ID is required for creating task comment"),null;const a=t&&t.length>1e4?t.substring(0,1e4):t,p=await this.getAgentSession(e);if(!p)return this.logger.warn("Agent session not found for task comment creation"),null;if(!p.taskId)return this.logger.debug("Agent session has no associated task - skipping comment creation"),null;const u=await this.makeAuthenticatedRequest(`${this.options.apiUrl}/api/v1/organizations/${i}/tasks/${p.taskId}/comments`,{method:"POST",headers:r,body:JSON.stringify({content:a,assigneeId:s,info:o})});if(!u.ok){const g=await u.text();return this.logger.warn(`Failed to create task comment: ${u.status} ${g}`),null}const c=await u.json();return this.logger.debug("Task comment created successfully"),c}catch(r){return this.logger.warn(`Failed to create task comment: ${r instanceof Error?r.message:r}`),null}}async updateTaskDevInfo(e,t){try{const s=await this.getAuthHeaders(),o=this.options.organizationId;if(!o)return this.logger.warn("Organization ID is required for updating task devInfo"),null;const r=await this.getAgentSession(e);if(!r)return this.logger.warn("Agent session not found for task devInfo update"),null;if(!r.taskId)return this.logger.debug("Agent session has no associated task - skipping devInfo update"),null;const i=await this.makeAuthenticatedRequest(`${this.options.apiUrl}/api/v1/organizations/${o}/tasks/${r.taskId}`,{method:"PATCH",headers:s,body:JSON.stringify({devInfo:t})});if(!i.ok){const p=await i.text();return this.logger.warn(`Failed to update task devInfo: ${i.status} ${p}`),null}const a=await i.json();return this.logger.debug("Task devInfo updated successfully"),a}catch(s){return this.logger.warn(`Failed to update task devInfo: ${s instanceof Error?s.message:s}`),null}}}class Nr{logger;agentHttpService=null;interceptor;llmProvider;maxBodyBytes;sessionId;router;constructor(){const e=te.netlogMaxBody;this.maxBodyBytes=e||8192,this.sessionId=te.sessionId||"",this.llmProvider=new Ls;const t=te.netlogFile||fe.join(jt.tmpdir(),"agiflow-agents","network",`network-${process.pid}.log`);if(this.logger=new rt(t),this.sessionId)try{this.logger.info("[NetworkLog] Creating LlmRouter instance for session",{sessionId:this.sessionId}),this.router=new Yo({toProvider:"openai",sessionId:this.sessionId,logger:this.logger}),this.logger.info("[NetworkLog] ✓ LLM Router initialized successfully",{sessionId:this.sessionId,routerExists:!!this.router})}catch(a){this.logger.error("[NetworkLog] ✗ Failed to initialize LLM Router",a)}else this.logger.info("[NetworkLog] No session ID, skipping router initialization");let s=te.serverUrl||"";s.startsWith("wss://")?s="https://"+s.slice(6):s.startsWith("ws://")&&(s="http://"+s.slice(5));const o=te.apiKey||"",r=te.organizationId||"";if(te.isNetlogRemoteEnabled&&!!(this.sessionId&&s)&&s)try{this.agentHttpService=new Rr({apiUrl:s,organizationId:r,apiKey:o,logger:this.logger})}catch(a){rt.shouldDebug()&&this.logger.error("AgentHttpService initialization failed",a)}this.logger.info("[NetworkLog] Initializing LlmInterceptor",{hasRouter:!!this.router,hasAgentHttpService:!!this.agentHttpService,hasSessionId:!!this.sessionId,enableDebug:te.isDebugMode||te.isNetlogDebug}),this.interceptor=Je.getInstance({maxBodyBytes:this.maxBodyBytes,enableDebug:te.isDebugMode||te.isNetlogDebug,llmProvider:this.llmProvider,idGenerator:Te.ulid,agentHttpService:this.agentHttpService||void 0,sessionId:this.sessionId,router:this.router,logger:this.logger,logFilePath:this.logger.getLogPath()}),this.logger.info("[NetworkLog] ✓ LlmInterceptor initialized",{interceptorExists:!!this.interceptor})}start(){this.interceptor.start()}}const Lr=new Nr;Lr.start();
432
+ `)+n,e=o+1,o=r.indexOf(`
433
+ `,e)}while(o!==-1);return i+=r.slice(e),i}const{stdout:qo,stderr:Bo}=Rm,wr=Symbol("GENERATOR"),Qe=Symbol("STYLER"),ht=Symbol("IS_EMPTY"),Jo=["ansi","ansi","ansi256","ansi16m"],et=Object.create(null),Fm=(r,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");const n=qo?qo.level:0;r.level=t.level===void 0?n:t.level},Zm=r=>{const t=(...n)=>n.join(" ");return Fm(t,r),Object.setPrototypeOf(t,Ot.prototype),t};function Ot(r){return Zm(r)}Object.setPrototypeOf(Ot.prototype,Function.prototype);for(const[r,t]of Object.entries(ke))et[r]={get(){const n=Ht(this,Sr(t.open,t.close,this[Qe]),this[ht]);return Object.defineProperty(this,r,{value:n}),n}};et.visible={get(){const r=Ht(this,this[Qe],!0);return Object.defineProperty(this,"visible",{value:r}),r}};const Ir=(r,t,n,...o)=>r==="rgb"?t==="ansi16m"?ke[n].ansi16m(...o):t==="ansi256"?ke[n].ansi256(ke.rgbToAnsi256(...o)):ke[n].ansi(ke.rgbToAnsi(...o)):r==="hex"?Ir("rgb",t,n,...ke.hexToRgb(...o)):ke[n][r](...o),Mm=["rgb","hex","ansi256"];for(const r of Mm){et[r]={get(){const{level:n}=this;return function(...o){const e=Sr(Ir(r,Jo[n],"color",...o),ke.color.close,this[Qe]);return Ht(this,e,this[ht])}}};const t="bg"+r[0].toUpperCase()+r.slice(1);et[t]={get(){const{level:n}=this;return function(...o){const e=Sr(Ir(r,Jo[n],"bgColor",...o),ke.bgColor.close,this[Qe]);return Ht(this,e,this[ht])}}}}const qm=Object.defineProperties(()=>{},{...et,level:{enumerable:!0,get(){return this[wr].level},set(r){this[wr].level=r}}}),Sr=(r,t,n)=>{let o,e;return n===void 0?(o=r,e=t):(o=n.openAll+r,e=t+n.closeAll),{open:r,close:t,openAll:o,closeAll:e,parent:n}},Ht=(r,t,n)=>{const o=(...e)=>Bm(o,e.length===1?""+e[0]:e.join(" "));return Object.setPrototypeOf(o,qm),o[wr]=r,o[Qe]=t,o[ht]=n,o},Bm=(r,t)=>{if(r.level<=0||!t)return r[ht]?"":t;let n=r[Qe];if(n===void 0)return t;const{openAll:o,closeAll:e}=n;if(t.includes("\x1B"))for(;n!==void 0;)t=Cm(t,n.close,n.open),n=n.parent;const i=t.indexOf(`
434
+ `);return i!==-1&&(t=Lm(t,e,o,i)),o+t+e};Object.defineProperties(Ot.prototype,et);const X=Ot();Ot({level:Bo?Bo.level:0});function Jm(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var ut={exports:{}},hr,Go;function Gm(){if(Go)return hr;Go=1;function r(n){try{return JSON.stringify(n)}catch{return'"[Circular]"'}}hr=t;function t(n,o,e){var i=e&&e.stringify||r,s=1;if(typeof n=="object"&&n!==null){var a=o.length+s;if(a===1)return n;var u=new Array(a);u[0]=i(n);for(var c=1;c<a;c++)u[c]=i(o[c]);return u.join(" ")}if(typeof n!="string")return n;var l=o.length;if(l===0)return n;for(var d="",h=1-s,m=-1,p=n&&n.length||0,g=0;g<p;){if(n.charCodeAt(g)===37&&g+1<p){switch(m=m>-1?m:0,n.charCodeAt(g+1)){case 100:case 102:if(h>=l||o[h]==null)break;m<g&&(d+=n.slice(m,g)),d+=Number(o[h]),m=g+2,g++;break;case 105:if(h>=l||o[h]==null)break;m<g&&(d+=n.slice(m,g)),d+=Math.floor(Number(o[h])),m=g+2,g++;break;case 79:case 111:case 106:if(h>=l||o[h]===void 0)break;m<g&&(d+=n.slice(m,g));var v=typeof o[h];if(v==="string"){d+="'"+o[h]+"'",m=g+2,g++;break}if(v==="function"){d+=o[h].name||"<anonymous>",m=g+2,g++;break}d+=i(o[h]),m=g+2,g++;break;case 115:if(h>=l)break;m<g&&(d+=n.slice(m,g)),d+=String(o[h]),m=g+2,g++;break;case 37:m<g&&(d+=n.slice(m,g)),d+="%",m=g+2,g++,h--;break}++h}++g}return m===-1?n:(m<p&&(d+=n.slice(m)),d)}return hr}var Vo;function Vm(){if(Vo)return ut.exports;Vo=1;const r=Gm();ut.exports=l;const t=se().console||{},n={mapHttpRequest:E,mapHttpResponse:E,wrapRequestSerializer:V,wrapResponseSerializer:V,wrapErrorSerializer:V,req:E,res:E,err:A,errWithCause:A};function o(f,x){return f==="silent"?1/0:x.levels.values[f]}const e=Symbol("pino.logFuncs"),i=Symbol("pino.hierarchy"),s={error:"log",fatal:"error",warn:"error",info:"log",debug:"log",trace:"log"};function a(f,x){const w={logger:x,parent:f[i]};x[i]=w}function u(f,x,w){const U={};x.forEach(j=>{U[j]=w[j]?w[j]:t[j]||t[s[j]||"log"]||ne}),f[e]=U}function c(f,x){return Array.isArray(f)?f.filter(function(U){return U!=="!stdSerializers.err"}):f===!0?Object.keys(x):!1}function l(f){f=f||{},f.browser=f.browser||{};const x=f.browser.transmit;if(x&&typeof x.send!="function")throw Error("pino: transmit option must have a send function");const w=f.browser.write||t;f.browser.write&&(f.browser.asObject=!0);const U=f.serializers||{},j=c(f.browser.serialize,U);let Y=f.browser.serialize;Array.isArray(f.browser.serialize)&&f.browser.serialize.indexOf("!stdSerializers.err")>-1&&(Y=!1);const W=Object.keys(f.customLevels||{}),C=["error","fatal","warn","info","debug","trace"].concat(W);typeof w=="function"&&C.forEach(function(pe){w[pe]=w}),(f.enabled===!1||f.browser.disabled)&&(f.level="silent");const K=f.level||"info",I=Object.create(w);I.log||(I.log=ne),u(I,C,w),a({},I),Object.defineProperty(I,"levelVal",{get:Ie}),Object.defineProperty(I,"level",{get:dr,set:Tt});const J={transmit:x,serialize:j,asObject:f.browser.asObject,asObjectBindingsOnly:f.browser.asObjectBindingsOnly,formatters:f.browser.formatters,levels:C,timestamp:M(f),messageKey:f.messageKey||"msg",onChild:f.onChild||ne};I.levels=d(f),I.level=K,I.isLevelEnabled=function(pe){return this.levels.values[pe]?this.levels.values[pe]>=this.levels.values[this.level]:!1},I.setMaxListeners=I.getMaxListeners=I.emit=I.addListener=I.on=I.prependListener=I.once=I.prependOnceListener=I.removeListener=I.removeAllListeners=I.listeners=I.listenerCount=I.eventNames=I.write=I.flush=ne,I.serializers=U,I._serialize=j,I._stdErrSerialize=Y,I.child=function(...pe){return go.call(this,J,...pe)},x&&(I._logEvent=S());function Ie(){return o(this.level,this)}function dr(){return this._level}function Tt(pe){if(pe!=="silent"&&!this.levels.values[pe])throw Error("unknown level "+pe);this._level=pe,p(this,J,I,"error"),p(this,J,I,"fatal"),p(this,J,I,"warn"),p(this,J,I,"info"),p(this,J,I,"debug"),p(this,J,I,"trace"),W.forEach(Se=>{p(this,J,I,Se)})}function go(pe,Se,it){if(!Se)throw new Error("missing bindings for child Pino");it=it||{},j&&Se.serializers&&(it.serializers=Se.serializers);const ho=it.serializers;if(j&&ho){var Et=Object.assign({},U,ho),fo=f.browser.serialize===!0?Object.keys(Et):j;delete Se.serializers,b([Se],fo,Et,this._stdErrSerialize)}function vo(Nt){this._childLevel=(Nt._childLevel|0)+1,this.bindings=Se,Et&&(this.serializers=Et,this._serialize=fo),x&&(this._logEvent=S([].concat(Nt._logEvent.bindings,Se)))}vo.prototype=this;const st=new vo(this);return a(this,st),st.child=function(...Nt){return go.call(this,pe,...Nt)},st.level=it.level||this.level,pe.onChild(st),st}return I}function d(f){const x=f.customLevels||{},w=Object.assign({},l.levels.values,x),U=Object.assign({},l.levels.labels,h(x));return{values:w,labels:U}}function h(f){const x={};return Object.keys(f).forEach(function(w){x[f[w]]=w}),x}l.levels={values:{fatal:60,error:50,warn:40,info:30,debug:20,trace:10},labels:{10:"trace",20:"debug",30:"info",40:"warn",50:"error",60:"fatal"}},l.stdSerializers=n,l.stdTimeFunctions=Object.assign({},{nullTime:F,epochTime:ee,unixTime:H,isoTime:ae});function m(f){const x=[];f.bindings&&x.push(f.bindings);let w=f[i];for(;w.parent;)w=w.parent,w.logger.bindings&&x.push(w.logger.bindings);return x.reverse()}function p(f,x,w,U){if(Object.defineProperty(f,U,{value:o(f.level,w)>o(U,w)?ne:w[e][U],writable:!0,enumerable:!0,configurable:!0}),f[U]===ne){if(!x.transmit)return;const Y=x.transmit.level||f.level,W=o(Y,w);if(o(U,w)<W)return}f[U]=v(f,x,w,U);const j=m(f);j.length!==0&&(f[U]=g(j,f[U]))}function g(f,x){return function(){return x.apply(this,[...f,...arguments])}}function v(f,x,w,U){return function(j){return function(){const W=x.timestamp(),C=new Array(arguments.length),K=Object.getPrototypeOf&&Object.getPrototypeOf(this)===t?t:this;for(var I=0;I<C.length;I++)C[I]=arguments[I];var J=!1;if(x.serialize&&(b(C,this._serialize,this.serializers,this._stdErrSerialize),J=!0),x.asObject||x.formatters?j.call(K,...$(this,U,C,W,x)):j.apply(K,C),x.transmit){const Ie=x.transmit.level||f._level,dr=o(Ie,w),Tt=o(U,w);if(Tt<dr)return;z(this,{ts:W,methodLevel:U,methodValue:Tt,transmitValue:w.levels.values[x.transmit.level||f._level],send:x.transmit.send,val:o(f._level,w)},C,J)}}}(f[e][U])}function $(f,x,w,U,j){const{level:Y,log:W=Ie=>Ie}=j.formatters||{},C=w.slice();let K=C[0];const I={};let J=(f._childLevel|0)+1;if(J<1&&(J=1),U&&(I.time=U),Y){const Ie=Y(x,f.levels.values[x]);Object.assign(I,Ie)}else I.level=f.levels.values[x];if(j.asObjectBindingsOnly){if(K!==null&&typeof K=="object")for(;J--&&typeof C[0]=="object";)Object.assign(I,C.shift());return[W(I),...C]}else{if(K!==null&&typeof K=="object"){for(;J--&&typeof C[0]=="object";)Object.assign(I,C.shift());K=C.length?r(C.shift(),C):void 0}else typeof K=="string"&&(K=r(C.shift(),C));return K!==void 0&&(I[j.messageKey]=K),[W(I)]}}function b(f,x,w,U){for(const j in f)if(U&&f[j]instanceof Error)f[j]=l.stdSerializers.err(f[j]);else if(typeof f[j]=="object"&&!Array.isArray(f[j])&&x)for(const Y in f[j])x.indexOf(Y)>-1&&Y in w&&(f[j][Y]=w[Y](f[j][Y]))}function z(f,x,w,U=!1){const j=x.send,Y=x.ts,W=x.methodLevel,C=x.methodValue,K=x.val,I=f._logEvent.bindings;U||b(w,f._serialize||Object.keys(f.serializers),f.serializers,f._stdErrSerialize===void 0?!0:f._stdErrSerialize),f._logEvent.ts=Y,f._logEvent.messages=w.filter(function(J){return I.indexOf(J)===-1}),f._logEvent.level.label=W,f._logEvent.level.value=C,j(W,f._logEvent,K),f._logEvent=S(I)}function S(f){return{ts:0,messages:[],bindings:f||[],level:{label:"",value:0}}}function A(f){const x={type:f.constructor.name,msg:f.message,stack:f.stack};for(const w in f)x[w]===void 0&&(x[w]=f[w]);return x}function M(f){return typeof f.timestamp=="function"?f.timestamp:f.timestamp===!1?F:ee}function E(){return{}}function V(f){return f}function ne(){}function F(){return!1}function ee(){return Date.now()}function H(){return Math.round(Date.now()/1e3)}function ae(){return new Date(Date.now()).toISOString()}function se(){function f(x){return typeof x<"u"&&x}try{return typeof globalThis<"u"||Object.defineProperty(Object.prototype,"globalThis",{get:function(){return delete Object.prototype.globalThis,this.globalThis=this},configurable:!0}),globalThis}catch{return f(self)||f(window)||f(this)||{}}}return ut.exports.default=l,ut.exports.pino=l,ut.exports}var Hm=Vm();const Rt=Jm(Hm);class oe{pino;useTerminalFormat;static instance;constructor(t={}){this.useTerminalFormat=t.useTerminalFormat??!0;const n=t.debug?"debug":t.verbose?"trace":"info";t.silent?this.pino=Rt({level:"silent"}):t.logFile||t.logDir?this.pino=this.createMultiTransportLogger(n,t):this.useTerminalFormat&&process.stdout.isTTY?this.pino=Rt({level:n,transport:{target:"pino-pretty",options:{colorize:!0,ignore:"pid,hostname",translateTime:"HH:MM:ss",messageFormat:"{msg}"}}}):this.pino=Rt({level:n})}createMultiTransportLogger(t,n){let o;if(n.logFile)o=n.logFile;else if(n.logDir){be.existsSync(n.logDir)||be.mkdirSync(n.logDir,{recursive:!0});const i=new Date().toISOString().split("T")[0];o=ye.join(n.logDir,`app-${i}.log`)}else{const i=ye.join(Wt.tmpdir(),"agiflow-agents","logs",`session-${process.pid}`);be.existsSync(i)||be.mkdirSync(i,{recursive:!0});const s=new Date().toISOString().split("T")[0];o=ye.join(i,`app-${s}.log`)}const e=[];return this.useTerminalFormat&&process.stdout.isTTY?e.push({level:t,target:"pino-pretty",options:{destination:1,colorize:!0,ignore:"pid,hostname",translateTime:"HH:MM:ss",messageFormat:"{msg}"}}):e.push({level:t,target:"pino/file",options:{destination:1}}),n.maxFileSize||n.maxFiles?e.push({level:t,target:"pino-roll",options:{file:o,frequency:"daily",size:n.maxFileSize||"10m",limit:{count:n.maxFiles||7},symlink:!0,mkdir:!0}}):e.push({level:t,target:"pino/file",options:{destination:o,mkdir:!0}}),Rt({level:t,transport:{targets:e}})}static getInstance(){return oe.instance||(oe.instance=new oe),oe.instance}static configure(t){oe.instance=new oe(t)}getLogFilePath(){const t=this.pino.transports;if(t&&Array.isArray(t)){const n=t.find(o=>o.target==="pino/file"||o.target==="pino-roll");if(n&&n.options)return n.options.destination||n.options.file}}info(t,...n){this.useTerminalFormat&&process.stdout.isTTY?console.log(X.blue("ℹ"),t,...n):this.pino.info(t,...n)}static info(t,...n){oe.getInstance().info(t,...n)}success(t,...n){this.useTerminalFormat&&process.stdout.isTTY?console.log(X.green("✓"),t,...n):this.pino.info({type:"success"},t,...n)}static success(t,...n){oe.getInstance().success(t,...n)}warn(t,...n){this.useTerminalFormat&&process.stdout.isTTY?console.warn(X.yellow("⚠"),t,...n):this.pino.warn(t,...n)}static warn(t,...n){oe.getInstance().warn(t,...n)}error(t,n,o){let e,i;n instanceof Error?(e=n,i=o):i=n,this.useTerminalFormat&&process.stdout.isTTY?console.error(X.red("✗"),t,e||""):e?this.pino.error(e,t):this.pino.error(t),i?.exit!==void 0&&process.exit(i.exit)}static error(t,n){oe.getInstance().error(t,void 0,n)}debug(t,...n){this.useTerminalFormat&&process.stdout.isTTY?(re.isDebugMode||this.pino.level==="debug"||this.pino.level==="trace")&&console.log(X.gray("🔍"),X.gray(t),...n):this.pino.debug(t,...n)}static debug(t,...n){oe.getInstance().debug(t,...n)}trace(t,...n){this.useTerminalFormat&&process.stdout.isTTY?this.pino.level==="trace"&&console.log(X.gray("..."),X.gray(t),...n):this.pino.trace(t,...n)}title(t){this.useTerminalFormat&&process.stdout.isTTY?(console.log(),console.log(X.bold.cyan(t)),console.log(X.cyan("=".repeat(t.length)))):this.pino.info({type:"title"},t)}static title(t){oe.getInstance().title(t)}code(t){this.useTerminalFormat&&process.stdout.isTTY?(console.log(),console.log(X.gray(" "+t)),console.log()):this.pino.info({type:"code",code:t},"Code example")}static code(t){oe.getInstance().code(t)}newLine(){this.useTerminalFormat&&process.stdout.isTTY&&console.log()}static newLine(){oe.getInstance().newLine()}terminal(t,n,...o){if(!process.stdout.isTTY){this.pino[t==="success"||t==="title"||t==="code"?"info":t](n,...o);return}switch(t){case"info":console.log(X.blue("ℹ"),n,...o);break;case"success":console.log(X.green("✓"),n,...o);break;case"warn":console.warn(X.yellow("⚠"),n,...o);break;case"error":console.error(X.red("✗"),n,...o);break;case"debug":console.log(X.gray("🔍"),X.gray(n),...o);break;case"title":console.log(),console.log(X.bold.cyan(n)),console.log(X.cyan("=".repeat(n.length)));break;case"code":console.log(),console.log(X.gray(" "+n)),console.log();break}}getPino(){return this.pino}child(t){const n=new oe({useTerminalFormat:this.useTerminalFormat});return n.pino=this.pino.child(t),n}}class Wm{filePath;cache=null;dirty=!1;constructor(t){this.filePath=t||Ue.join(Q.AGIFLOW_DIR,"credentials.json")}async load(){if(this.cache)return this.cache;try{if(!await Q.exists(this.filePath))return null;const n=await Q.readJson(this.filePath);return this.cache=n,n}catch{return null}}async flush(){!this.dirty||!this.cache||(await Q.ensureDir(Q.AGIFLOW_DIR),await Q.writeJson(this.filePath,this.cache),this.dirty=!1)}async setApiKey(t){this.cache={apiKey:t.apiKey,organizationId:t.organizationId,deviceId:t.deviceId||this.cache?.deviceId,expiresAt:t.expiresAt},this.dirty=!0,await this.flush()}async setDeviceId(t){const n=await this.load()||{apiKey:"",organizationId:""};n.deviceId=t,this.cache=n,this.dirty=!0,await this.flush()}async getApiKey(){return(await this.load())?.apiKey||null}async getAgentCreds(){const t=await this.load();if(!t)throw new Error("Cred not set");return{apiKey:t.apiKey,organizationId:t.organizationId,deviceId:t.deviceId}}async getOrganizationId(){return(await this.load())?.organizationId||null}async getDeviceId(){return(await this.load())?.deviceId||null}async isExpired(t=300*1e3){const n=await this.load();return n?.expiresAt?Date.now()>=n.expiresAt-t:!1}async clear(){this.cache=null,this.dirty=!1;try{await Q.exists(this.filePath)&&await Q.remove(this.filePath)}catch{}}async buildAuthHeaders(){const t=await this.load();return t?.apiKey?{"x-api-key":t.apiKey}:{}}async buildDeviceAuthHeaders(t){const n=await this.load();if(!n?.apiKey)return{};const o={"x-api-key":n.apiKey};return t&&(o["x-device-guid"]=t),n.deviceId&&(o["x-device-id"]=n.deviceId),n.organizationId&&(o["x-organization-id"]=n.organizationId),o}async buildAgentAuthHeaders(t){let n=t;if(n||(n=await this.getApiKey()||void 0),n||(n=re.apiKey),!n)return{};const o={"x-api-key":n,"Content-Type":"application/json"},e=await this.getOrganizationId();e&&(o["x-organization-id"]=e);const i=await this.getDeviceId();return i&&(o["x-device-id"]=i),o}}R({limit:xe().min(1).max(100).optional(),offset:xe().min(0).optional(),messageType:mo.optional(),sort:D().optional(),order:ot(["asc","desc"]).optional()});class Km{options;authService;credentials;logger;constructor(t){this.options=t,this.authService=t.authService,this.credentials=t.credentials??new Wm,this.logger=t.logger??new oe({verbose:!1})}async getAuthHeaders(){let t=await this.credentials.getApiKey(),n=await this.credentials.getOrganizationId();if((!t||!n)&&this.authService){const e=await this.authService.getValidApiKey();t=e.api_key,n=e.organization_id,await this.credentials.setApiKey({apiKey:t,organizationId:n,expiresAt:e.expires_at})}if(!t&&this.options.apiKey&&(t=this.options.apiKey),!n&&this.options.organizationId&&(n=this.options.organizationId),t&&n)return this.options.organizationId=n,{"Content-Type":"application/json","x-api-key":t};const o=this.options.authToken;if(!o)throw new Error("Authentication token is required for agent message operations");if(!this.options.organizationId)throw new Error("Organization ID is required for agent message operations");return{"Content-Type":"application/json",Authorization:`Bearer ${o}`}}async makeAuthenticatedRequest(t,n,o=!0){const e=await fetch(t,n);if(e.status===401&&o&&this.authService){const i=await e.text();if(i.includes("Invalid API key")){this.logger.info("= API key expired or invalid, clearing tokens and retrying authentication..."),await this.authService.clearTokens();try{await this.credentials.clear()}catch{}this.logger.info("= Retrying authentication...");const s=await this.getAuthHeaders(),a={...n,headers:{...n.headers,...s}};return await this.makeAuthenticatedRequest(t,a,!1)}if(i.includes("Invalid or expired session")){const s=re.isContainerMode;if(this.logger.error("🚫 Session validation failed:",new Error(`Session validation failed for ${t}. Docker mode: ${s}, Method: ${n.method||"GET"}, Timestamp: ${new Date().toISOString()}`)),s)return this.logger.warn("🐳 Docker session timing issue detected, waiting and retrying..."),await new Promise(a=>setTimeout(a,2e3)),await this.makeAuthenticatedRequest(t,n,!1)}}return e.status===429&&this.logger.warn("= Rate limit exceeded, keeping credentials but not retrying"),e}async sendMessage(t){const n=await this.getAuthHeaders(),o=this.options.organizationId;if(!o)throw new Error("Organization ID is required for sending agent messages");const e=Ro(t);try{Oc.parse(e)}catch(i){throw new Error(`Invalid message payload: ${i instanceof Error?i.message:i}`)}try{const i=await this.makeAuthenticatedRequest(`${this.options.apiUrl}/api/v1/organizations/${o}/agent-sessions/${t.sessionId}/messages`,{method:"POST",headers:n,body:JSON.stringify(e)});if(!i.ok){const a=await i.text();throw new Error(`Failed to send agent message: ${i.status} ${a}`)}return await i.json()}catch(i){throw new Error(`Failed to send agent message: ${i instanceof Error?i.message:i}`)}}async sendMessageBatch(t,n){const o=await this.getAuthHeaders(),e=this.options.organizationId;if(!e)throw new Error("Organization ID is required for sending agent messages");const i=(n||[]).map(s=>Ro(s));try{const s=await this.makeAuthenticatedRequest(`${this.options.apiUrl}/api/v1/organizations/${e}/agent-sessions/${t}/messages/batch`,{method:"POST",headers:o,body:JSON.stringify({messages:i})});if(!s.ok){const u=await s.text();throw new Error(`Failed to send agent message batch: ${s.status} ${u}`)}return await s.json()}catch(s){throw new Error(`Failed to send agent message batch: ${s instanceof Error?s.message:s}`)}}async getMessage(t,n){const o=await this.getAuthHeaders(),e=this.options.organizationId;if(!e)throw new Error("Organization ID is required for fetching agent message");try{const i=await this.makeAuthenticatedRequest(`${this.options.apiUrl}/api/v1/organizations/${e}/agent-sessions/${t}/messages/${n}`,{method:"GET",headers:o});if(!i.ok){const a=await i.text();throw new Error(`Failed to fetch message: ${i.status} ${a}`)}return await i.json()}catch(i){throw new Error(`Failed to fetch message: ${i instanceof Error?i.message:i}`)}}async getSessionMessages(t,n){const o=await this.getAuthHeaders(),e=this.options.organizationId;if(!e)throw new Error("Organization ID is required for fetching agent messages");const i=new URLSearchParams;n?.limit&&i.append("limit",n.limit.toString()),n?.offset&&i.append("offset",n.offset.toString()),n?.messageType&&i.append("messageType",n.messageType),n?.sort&&i.append("sort",n.sort),n?.order&&i.append("order",n.order);const s=`${this.options.apiUrl}/api/v1/organizations/${e}/agent-sessions/${t}/messages?${i.toString()}`;try{const a=await this.makeAuthenticatedRequest(s,{method:"GET",headers:o});if(!a.ok){const c=await a.text();throw new Error(`Failed to fetch session messages: ${a.status} ${c}`)}return await a.json()}catch(a){throw new Error(`Failed to fetch session messages: ${a instanceof Error?a.message:a}`)}}async uploadMessageContent(t,n,o,e){const i=await this.getAuthHeaders(),s=this.options.organizationId;if(!s)throw new Error("Organization ID is required for uploading message content");const a=typeof o=="string"?Buffer.from(o,"utf-8"):o,u=a.length;try{const c=await this.makeAuthenticatedRequest(`${this.options.apiUrl}/api/v1/organizations/${s}/agent-sessions/${t}/messages/presign`,{method:"POST",headers:i,body:JSON.stringify({messageType:n,contentSize:u})});if(!c.ok){const m=await c.text();throw new Error(`Failed to get presigned URL: ${c.status} ${m}`)}const{uploadUrl:l}=await c.json(),d=await fetch(l,{method:"PUT",body:a,headers:{"Content-Type":"application/octet-stream","Content-Length":u.toString()}});if(!d.ok)throw new Error(`Failed to upload content to R2: ${d.status}`);const h={sessionId:t,messageType:n,contentSize:u,metadata:e};return await this.sendMessage(h)}catch(c){throw new Error(`Failed to upload message content: ${c instanceof Error?c.message:c}`)}}async startMessage(t,n){const o=await this.getAuthHeaders(),e=this.options.organizationId;if(!e)throw new Error("Organization ID is required for starting agent messages");try{Tm.parse(n)}catch(i){throw new Error(`Invalid start message payload: ${i instanceof Error?i.message:i}`)}try{const i=await this.makeAuthenticatedRequest(`${this.options.apiUrl}/api/v1/organizations/${e}/agent-sessions/${t}/messages/start`,{method:"POST",headers:o,body:JSON.stringify(n)});if(!i.ok){const a=await i.text();throw new Error(`Failed to start agent message: ${i.status} ${a}`)}return await i.json()}catch(i){throw new Error(`Failed to start agent message: ${i instanceof Error?i.message:i}`)}}async updateMessage(t,n,o){const e=await this.getAuthHeaders(),i=this.options.organizationId;if(!i)throw new Error("Organization ID is required for updating agent messages");try{Em.parse(o)}catch(a){throw this.logger.error("=❌ Update message validation failed",new Error(`Update message validation failed: ${a instanceof Error?a.message:a}`)),new Error(`Invalid update message payload: ${a instanceof Error?a.message:a}`)}const s=JSON.stringify(o);try{const a=await this.makeAuthenticatedRequest(`${this.options.apiUrl}/api/v1/organizations/${i}/agent-sessions/${t}/messages/${n}`,{method:"PATCH",headers:e,body:s});if(!a.ok){const c=await a.text();throw new Error(`Failed to update agent message: ${a.status} ${c}`)}return await a.json()}catch(a){throw new Error(`Failed to update agent message: ${a instanceof Error?a.message:a}`)}}async requestApproval(t,n){const o=await this.getAuthHeaders(),e=this.options.organizationId;if(!e)throw new Error("Organization ID is required for requesting approval");try{Nm.parse(n)}catch(i){throw new Error(`Invalid request approval payload: ${i instanceof Error?i.message:i}`)}try{const i=await this.makeAuthenticatedRequest(`${this.options.apiUrl}/api/v1/organizations/${e}/agent-sessions/${t}/messages/request-approval`,{method:"POST",headers:o,body:JSON.stringify(n)});if(!i.ok){const a=await i.text();throw new Error(`Failed to request approval: ${i.status} ${a}`)}return await i.json()}catch(i){throw new Error(`Failed to request approval: ${i instanceof Error?i.message:i}`)}}async deleteSessionMessages(t){const n=await this.getAuthHeaders(),o=this.options.organizationId;if(!o)throw new Error("Organization ID is required for deleting session messages");this.logger.info(`=� Deleting all messages for session ${t}...`);try{const e=await this.makeAuthenticatedRequest(`${this.options.apiUrl}/api/v1/organizations/${o}/agent-sessions/${t}/messages`,{method:"DELETE",headers:n},!1);if(!e.ok){const s=await e.text().catch(()=>"Unknown error");return this.logger.warn(`� Failed to delete session messages: ${e.status} ${s}`),0}const{deletedCount:i}=await e.json();return this.logger.success(` Deleted ${i} messages for session ${t}`),i}catch(e){return this.logger.warn("� Failed to delete session messages:",e),0}}async getAgentSession(t){const n=await this.getAuthHeaders(),o=this.options.organizationId;if(!o)throw new Error("Organization ID is required for fetching agent session");try{const e=await this.makeAuthenticatedRequest(`${this.options.apiUrl}/api/v1/organizations/${o}/agent-sessions/${t}`,{method:"GET",headers:n});if(!e.ok){const s=await e.text();throw new Error(`Failed to fetch agent session: ${e.status} ${s}`)}return await e.json()}catch(e){throw new Error(`Failed to fetch agent session: ${e instanceof Error?e.message:e}`)}}async createTaskComment(t,n,o,e){try{const i=await this.getAuthHeaders(),s=this.options.organizationId;if(!s)return this.logger.warn("Organization ID is required for creating task comment"),null;const a=n&&n.length>1e4?n.substring(0,1e4):n,u=await this.getAgentSession(t);if(!u)return this.logger.warn("Agent session not found for task comment creation"),null;if(!u.taskId)return this.logger.debug("Agent session has no associated task - skipping comment creation"),null;const c=await this.makeAuthenticatedRequest(`${this.options.apiUrl}/api/v1/organizations/${s}/tasks/${u.taskId}/comments`,{method:"POST",headers:i,body:JSON.stringify({content:a,assigneeId:o,info:e})});if(!c.ok){const d=await c.text();return this.logger.warn(`Failed to create task comment: ${c.status} ${d}`),null}const l=await c.json();return this.logger.debug("Task comment created successfully"),l}catch(i){return this.logger.warn(`Failed to create task comment: ${i instanceof Error?i.message:i}`),null}}async updateTaskDevInfo(t,n){try{const o=await this.getAuthHeaders(),e=this.options.organizationId;if(!e)return this.logger.warn("Organization ID is required for updating task devInfo"),null;const i=await this.getAgentSession(t);if(!i)return this.logger.warn("Agent session not found for task devInfo update"),null;if(!i.taskId)return this.logger.debug("Agent session has no associated task - skipping devInfo update"),null;const s=await this.makeAuthenticatedRequest(`${this.options.apiUrl}/api/v1/organizations/${e}/tasks/${i.taskId}`,{method:"PATCH",headers:o,body:JSON.stringify({devInfo:n})});if(!s.ok){const u=await s.text();return this.logger.warn(`Failed to update task devInfo: ${s.status} ${u}`),null}const a=await s.json();return this.logger.debug("Task devInfo updated successfully"),a}catch(o){return this.logger.warn(`Failed to update task devInfo: ${o instanceof Error?o.message:o}`),null}}async updateToolApproval(t,n,o,e,i){const s=await this.getAuthHeaders(),a=this.options.organizationId;if(!a)throw new Error("Organization ID is required for updating tool approval");try{const u=await this.makeAuthenticatedRequest(`${this.options.apiUrl}/api/v1/organizations/${a}/agent-sessions/${t}/messages/${n}/tool-approval`,{method:"PATCH",headers:s,body:JSON.stringify({toolName:o,approved:e,autoApprove:i||!1})});if(!u.ok){const l=await u.text();throw new Error(`Failed to update tool approval: ${u.status} ${l}`)}return await u.json()}catch(u){throw new Error(`Failed to update tool approval: ${u instanceof Error?u.message:u}`)}}async sendToolApprovalNotification(t,n,o,e){const i=await this.getAuthHeaders(),s=this.options.organizationId;if(!s)throw new Error("Organization ID is required for sending tool approval notification");try{const a=await this.makeAuthenticatedRequest(`${this.options.apiUrl}/api/v1/organizations/${s}/agent-sessions/${t}/messages/tool-approval-notification`,{method:"POST",headers:i,body:JSON.stringify({notificationType:n,message:o,metadata:e})});if(!a.ok){const c=await a.text();throw new Error(`Failed to send tool approval notification: ${a.status} ${c}`)}return await a.json()}catch(a){throw new Error(`Failed to send tool approval notification: ${a instanceof Error?a.message:a}`)}}async updateToolResult(t,n,o){const e=await this.getAuthHeaders(),i=this.options.organizationId;if(!i)throw new Error("Organization ID is required for updating tool result");try{const s=await this.makeAuthenticatedRequest(`${this.options.apiUrl}/api/v1/organizations/${i}/agent-sessions/${t}/messages/tool-result`,{method:"POST",headers:e,body:JSON.stringify({toolName:n,toolResult:o})});if(!s.ok){const u=await s.text();throw new Error(`Failed to update tool result: ${s.status} ${u}`)}return await s.json()}catch(s){throw new Error(`Failed to update tool result: ${s instanceof Error?s.message:s}`)}}async sendAgentSessionReady(t){const n=await this.getAuthHeaders(),o=this.options.organizationId;if(!o)throw new Error("Organization ID is required for sending agent session ready status");try{const e=await this.makeAuthenticatedRequest(`${this.options.apiUrl}/api/v1/organizations/${o}/agent-sessions/${t}/ready`,{method:"POST",headers:n,body:JSON.stringify({ready:!0,timestamp:new Date().toISOString()})});if(!e.ok){const s=await e.text();throw new Error(`Failed to send agent session ready status: ${e.status} ${s}`)}return await e.json()}catch(e){throw new Error(`Failed to send agent session ready status: ${e instanceof Error?e.message:e}`)}}}class Ym{logger;agentHttpService=null;interceptor;llmProvider;maxBodyBytes;sessionId;router;constructor(){const t=re.netlogMaxBody;this.maxBodyBytes=t||8192,this.sessionId=re.sessionId||"",this.llmProvider=new Ic;const n=re.netlogFile||ye.join(Wt.tmpdir(),"agiflow-agents","network",`network-${process.pid}.log`);if(this.logger=new lt(n),this.sessionId)try{this.logger.info("[NetworkLog] Creating LlmRouter instance for session",{sessionId:this.sessionId}),this.router=new gm({toProvider:"openai",sessionId:this.sessionId,logger:this.logger}),this.logger.info("[NetworkLog] ✓ LLM Router initialized successfully",{sessionId:this.sessionId,routerExists:!!this.router})}catch(a){this.logger.error("[NetworkLog] ✗ Failed to initialize LLM Router",a)}else this.logger.info("[NetworkLog] No session ID, skipping router initialization");let o=re.serverUrl||"";o.startsWith("wss://")?o="https://"+o.slice(6):o.startsWith("ws://")&&(o="http://"+o.slice(5));const e=re.apiKey||"",i=re.organizationId||"";if(re.isNetlogRemoteEnabled&&!!(this.sessionId&&o)&&o)try{this.agentHttpService=new Km({apiUrl:o,organizationId:i,apiKey:e,logger:this.logger})}catch(a){lt.shouldDebug()&&this.logger.error("AgentHttpService initialization failed",a)}this.logger.info("[NetworkLog] Initializing LlmInterceptor",{hasRouter:!!this.router,hasAgentHttpService:!!this.agentHttpService,hasSessionId:!!this.sessionId,enableDebug:re.isDebugMode||re.isNetlogDebug}),this.interceptor=He.getInstance({maxBodyBytes:this.maxBodyBytes,enableDebug:re.isDebugMode||re.isNetlogDebug,llmProvider:this.llmProvider,idGenerator:ze.ulid,agentHttpService:this.agentHttpService||void 0,sessionId:this.sessionId,router:this.router,logger:this.logger,logFilePath:this.logger.getLogPath()}),this.logger.info("[NetworkLog] ✓ LlmInterceptor initialized",{interceptorExists:!!this.interceptor})}start(){this.interceptor.start()}}const Xm=new Ym;Xm.start();
413
435
  //# sourceMappingURL=networkLog.js.map