@cline/llms 0.0.38 → 0.0.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,14 +1,42 @@
1
- import{createRequire as Tw}from"node:module";var Nw=Object.defineProperty;var Bw=(n)=>n;function Vw(n,r){this[n]=Bw.bind(null,r)}var V=(n,r)=>{for(var f in r)Nw(n,f,{get:r[f],enumerable:!0,configurable:!0,set:Vw.bind(r,f)})};var E=(n,r)=>()=>(n&&(r=n(n=0)),r);var Gn=Tw(import.meta.url);import{z as X}from"zod";var Mr,ao,Sr,gr,Yr,Dr,Jn;var Jr=E(()=>{Mr=X.enum(["default","openai-responses","r1"]),ao={DEFAULT:"default",OPENAI_RESPONSES:"openai-responses",R1:"r1"},Sr=X.enum(["images","tools","streaming","prompt-cache","reasoning","reasoning-effort","computer-use","global-endpoint","structured_output","temperature","files"]),gr=X.enum(["active","preview","deprecated","legacy"]),Yr=X.object({input:X.number().optional(),output:X.number().optional(),cacheWrite:X.number().optional(),cacheRead:X.number().optional()}),Dr=X.object({maxBudget:X.number().optional(),outputPrice:X.number().optional(),thinkingLevel:X.enum(["low","high"]).optional()}),Jn=X.object({id:X.string(),name:X.string().optional(),description:X.string().optional(),maxTokens:X.number().optional(),contextWindow:X.number().optional(),capabilities:X.array(Sr).optional(),apiFormat:Mr.optional(),systemRole:X.enum(["system","developer"]).optional(),temperature:X.number().optional(),pricing:Yr.optional(),thinkingConfig:Dr.optional(),status:gr.optional(),deprecationNotice:X.string().optional(),replacedBy:X.string().optional(),releaseDate:X.string().optional(),deprecationDate:X.string().optional(),family:X.string().optional()})});import{z as I}from"zod";var Vn;var kr=E(()=>{Vn=I.object({id:I.string(),name:I.string(),input:I.unknown(),output:I.unknown(),error:I.string().optional(),durationMs:I.number(),startedAt:I.date(),endedAt:I.date()})});import{z as v}from"zod";var Ao,Mo,PP,So,CP;var go=E(()=>{Jr();kr();Ao=v.enum(["completed","max_iterations","aborted","mistake_limit","error"]),Mo=v.object({inputTokens:v.number(),outputTokens:v.number(),cacheReadTokens:v.number().optional(),cacheWriteTokens:v.number().optional(),totalCost:v.number().optional()}),PP=v.object({text:v.string(),usage:Mo,messages:v.array(v.custom()),toolCalls:v.array(Vn),iterations:v.number(),finishReason:Ao,model:v.object({id:v.string(),provider:v.string(),info:Jn.optional()}),startedAt:v.date(),endedAt:v.date(),durationMs:v.number()}),So=v.enum(["low","medium","high","xhigh"]),CP=v.object({sessionId:v.string().optional(),providerId:v.string(),modelId:v.string(),apiKey:v.string().optional(),baseUrl:v.string().url().optional(),headers:v.record(v.string(),v.string()).optional(),knownModels:v.record(v.string(),Jn).optional(),providerConfig:v.unknown().optional(),initialMessages:v.array(v.custom()).optional(),systemPrompt:v.string(),tools:v.array(v.custom()),maxIterations:v.number().positive().optional(),maxParallelToolCalls:v.number().int().positive().default(8),maxTokensPerTurn:v.number().positive().optional(),apiTimeoutMs:v.number().positive().default(180000),userFileContentLoader:v.function().input([v.string()]).output(v.promise(v.string())).optional(),toolContextMetadata:v.record(v.string(),v.unknown()).optional(),execution:v.object({maxConsecutiveMistakes:v.number().int().positive().optional(),reminderAfterIterations:v.number().nonnegative().optional(),reminderText:v.string().optional(),loopDetection:v.union([v.literal(!1),v.object({softThreshold:v.number().int().positive().optional(),hardThreshold:v.number().int().positive().optional()})]).optional()}).optional(),reasoningEffort:So.optional(),thinkingBudgetTokens:v.number().positive().optional(),thinking:v.boolean().optional(),onEvent:v.function().input([v.custom()]).output(v.void()).optional(),hooks:v.custom().optional(),parentAgentId:v.string().optional(),extensions:v.array(v.custom()).optional(),hookErrorMode:v.enum(["ignore","throw"]).default("ignore"),toolPolicies:v.record(v.string(),v.object({enabled:v.boolean().optional(),autoApprove:v.boolean().optional()})).optional(),requestToolApproval:v.function().input([v.object({sessionId:v.string(),agentId:v.string(),conversationId:v.string(),iteration:v.number(),toolCallId:v.string(),toolName:v.string(),input:v.unknown(),policy:v.object({enabled:v.boolean().optional(),autoApprove:v.boolean().optional()}).default({})})]).output(v.union([v.object({approved:v.boolean(),reason:v.string().optional()}),v.promise(v.object({approved:v.boolean(),reason:v.string().optional()}))])).optional(),onConsecutiveMistakeLimitReached:v.function().input([v.object({iteration:v.number().int().positive(),consecutiveMistakes:v.number().int().positive(),maxConsecutiveMistakes:v.number().int().positive(),reason:v.enum(["api_error","invalid_tool_call","tool_execution_failed"]),details:v.string().optional()})]).output(v.union([v.object({action:v.literal("continue"),guidance:v.string().optional()}),v.object({action:v.literal("stop"),reason:v.string().optional()}),v.promise(v.union([v.object({action:v.literal("continue"),guidance:v.string().optional()}),v.object({action:v.literal("stop"),reason:v.string().optional()})]))])).optional(),logger:v.custom().optional(),extensionContext:v.custom().optional(),abortSignal:v.custom().optional()})});var Yo=E(()=>{go()});import{z as A}from"zod";var Xr,Ur,Zr,Do,Jo,ko;var Xo=E(()=>{Xr=A.enum(["connector.started","connector.stopping","session.authorize","message.received","message.denied","message.completed","message.failed","session.started","session.reused","session.reset","schedule.delivery.started","schedule.delivery.sent","schedule.delivery.failed"]),Ur=A.object({id:A.string().optional(),label:A.string().optional(),role:A.string().optional(),participantKey:A.string().optional(),participantLabel:A.string().optional(),platformUserId:A.string().optional(),metadata:A.record(A.string(),A.unknown()).optional()}),Zr=A.object({source:A.string(),sourceEvent:A.string(),threadId:A.string(),channelId:A.string(),isDM:A.boolean(),sessionId:A.string().optional(),workspaceRoot:A.string().optional(),metadata:A.record(A.string(),A.unknown()).optional()}),Do=A.object({actor:Ur,context:Zr,payload:A.record(A.string(),A.unknown()).optional()}),Jo=A.object({action:A.enum(["allow","deny"]).default("allow"),message:A.string().optional(),reason:A.string().optional(),metadata:A.record(A.string(),A.unknown()).optional()}),ko=A.object({adapter:A.string(),botUserName:A.string().optional(),event:Xr,payload:A.record(A.string(),A.unknown()),ts:A.string()})});function Tn(n){Uo.push(n)}async function Zo(){let n=Uo.splice(0);await Promise.all(n.map((r)=>{try{return(typeof r==="function"?r():r.dispose())??Promise.resolve()}catch{return Promise.resolve()}}))}var Uo;var Qr=E(()=>{Uo=[]});function ho(n,r){return n.name||`extension_${String(r).padStart(4,"0")}`}function Qo(n){return Array.isArray(n)&&n.every((r)=>typeof r==="string")}function Wo(n){if(!Array.isArray(n))return;let r=n.filter((f)=>typeof f==="string").map((f)=>f.trim()).filter((f)=>f.length>0);return r.length>0?r:void 0}function Wr(n){let r=Wo(n.providerIds),f=Wo(n.modelIds);return{...n,...r?{providerIds:r}:{},...f?{modelIds:f}:{}}}function $P(n,r){let f=ho(n,r),o=n.manifest;if(!o||typeof o!=="object")throw Error(`Invalid manifest for extension "${f}": manifest is required`);if(!Array.isArray(o.capabilities)||o.capabilities.length===0)throw Error(`Invalid manifest for extension "${f}": capabilities must be a non-empty array`);let y=new Set;for(let G of o.capabilities){if(!GP.has(G))throw Error(`Invalid manifest for extension "${f}": unsupported capability "${String(G)}"`);y.add(G)}if(Object.hasOwn(o,"providerIds")&&!Qo(o.providerIds))throw Error(`Invalid manifest for extension "${f}": providerIds must be a string array when provided`);if(Object.hasOwn(o,"modelIds")&&!Qo(o.modelIds))throw Error(`Invalid manifest for extension "${f}": modelIds must be a string array when provided`);let w=y.has("hooks");if(n.hooks!==void 0&&!w)throw Error(`Invalid manifest for extension "${f}": runtime hooks require the "hooks" capability`);return{capabilities:y,raw:Wr(o)}}function HP(n,r){if(!n||typeof n!=="object")throw Error(`Invalid automation event contribution for extension "${r}": expected object`);let f=typeof n.eventType==="string"?n.eventType.trim():"",o=typeof n.source==="string"?n.source.trim():"";if(!f)throw Error(`Invalid automation event contribution for extension "${r}": eventType is required`);if(!o)throw Error(`Invalid automation event contribution for extension "${r}": source is required`);return{...n,eventType:f,source:o,examples:n.examples?[...n.examples]:void 0,metadata:n.metadata?{...n.metadata}:void 0}}class sn{extensions;registry={tools:[],commands:[],rules:[],messageBuilder:[],providers:[],automationEventTypes:[]};normalized=[];phase="resolve";setupContext;constructor(n={}){this.extensions=n.extensions??[],this.setupContext=n.setupContext??{}}resolve(){if(this.phase!=="resolve")return;this.normalized=this.extensions.map((n,r)=>({extension:n,order:r,manifest:{capabilities:new Set,raw:n.manifest}})),this.phase="validate"}validate(){if(this.phase==="resolve")this.resolve();if(this.phase!=="validate")return;this.normalized=this.normalized.map((n)=>({...n,manifest:$P(n.extension,n.order)})),this.phase="setup"}async setup(){if(this.phase==="resolve")this.resolve();if(this.phase==="validate")this.validate();if(this.phase!=="setup")return;for(let n of this.normalized){let{extension:r}=n;if(r.disabled)continue;let f=ho(r,n.order),o={registerTool:(w)=>this.registry.tools.push(w),registerCommand:(w)=>this.registry.commands.push(w),registerRule:(w)=>{if(!n.manifest.capabilities.has("rules"))throw Error(`Invalid setup for extension "${f}": registerRule requires the "rules" capability`);this.registry.rules.push(w)},registerMessageBuilder:(w)=>this.registry.messageBuilder.push(w),registerProvider:(w)=>this.registry.providers.push(w),registerAutomationEventType:(w)=>{if(!n.manifest.capabilities.has("automationEvents"))throw Error(`Invalid setup for extension "${f}": registerAutomationEventType requires the "automationEvents" capability`);this.registry.automationEventTypes.push(HP(w,f))}},y=n.manifest.capabilities.has("automationEvents")?this.setupContext:{...this.setupContext,automation:void 0};await r.setup?.(o,y)}this.phase="activate"}activate(){if(this.phase==="resolve")this.resolve();if(this.phase==="validate")this.validate();if(this.phase==="setup")throw Error("Contribution registry setup must complete before activation");if(this.phase!=="activate")return;this.phase="run"}async initialize(){this.resolve(),this.validate(),await this.setup(),this.activate()}isActivated(){return this.phase==="run"}getRegistrySnapshot(){return{tools:[...this.registry.tools],commands:[...this.registry.commands],rules:[...this.registry.rules],messageBuilder:[...this.registry.messageBuilder],providers:[...this.registry.providers],automationEventTypes:[...this.registry.automationEventTypes]}}getRegisteredTools(){return[...this.registry.tools]}getRegisteredRules(){return[...this.registry.rules]}getRegisteredAutomationEventTypes(){return[...this.registry.automationEventTypes]}getValidatedExtensions(){if(this.phase==="resolve")this.resolve();if(this.phase==="validate")this.validate();return this.normalized.slice().sort((n,r)=>n.order-r.order).map(({extension:n})=>n)}}function jo(n={}){return new sn(n)}var vP,GP;var lo=E(()=>{vP=["hooks","tools","commands","rules","messageBuilders","providers","automationEvents"],GP=new Set(vP)});var Ro;var mo=E(()=>{Ro=[".js",".ts"]});import{z as F}from"zod";function Lo(n){let r=jr.safeParse(n);if(!r.success)return;return r.data}var hr,wn,FP,KP,EP,eP,bP,aP,AP,MP,jr;var _o=E(()=>{hr=F.enum(["agent_start","agent_resume","agent_abort","agent_end","agent_error","tool_call","tool_result","prompt_submit","pre_compact","session_shutdown"]),wn=F.record(F.string(),F.string()),FP=F.object({toolName:F.string(),parameters:wn}),KP=F.object({toolName:F.string(),parameters:wn,result:F.string(),success:F.boolean(),executionTimeMs:F.number()}),EP=F.object({prompt:F.string(),attachments:F.array(F.string())}),eP=F.object({taskMetadata:wn}),bP=F.object({taskMetadata:wn,previousState:wn}),aP=F.object({taskMetadata:wn}),AP=F.object({taskMetadata:wn}),MP=F.object({taskId:F.string(),ulid:F.string(),contextSize:F.number(),compactionStrategy:F.string(),previousApiReqIndex:F.number(),tokensIn:F.number(),tokensOut:F.number(),tokensInCache:F.number(),tokensOutCache:F.number(),deletedRangeStart:F.number(),deletedRangeEnd:F.number(),contextJsonPath:F.string(),contextRawPath:F.string()}),jr=F.object({clineVersion:F.string(),hookName:hr,timestamp:F.string(),taskId:F.string(),sessionContext:F.object({rootSessionId:F.string().optional(),hookLogPath:F.string().optional()}).optional(),workspaceRoots:F.array(F.string()),workspaceInfo:F.custom().optional(),userId:F.string(),agent_id:F.string(),parent_agent_id:F.string().nullable(),iteration:F.number().optional(),reason:F.string().optional(),tool_call:F.object({id:F.string(),name:F.string(),input:F.unknown()}).optional(),tool_result:F.custom().optional(),turn:F.unknown().optional(),error:F.object({name:F.string(),message:F.string(),stack:F.string().optional()}).optional(),preToolUse:FP.optional(),postToolUse:KP.optional(),userPromptSubmit:EP.optional(),taskStart:eP.optional(),taskResume:bP.optional(),taskCancel:aP.optional(),taskComplete:AP.optional(),preCompact:MP.optional()}).passthrough()});function No(n){switch(n){case"run.start":case"session.send_input":return null;default:return 30000}}function YP(n,r){return r===void 0?No(n):r}function JP(n){return typeof n==="string"&&DP.has(n)}var SP=30000,gP=5000,Bo,DP,kP="tool_executor.",XP="custom_tool.",UP="hook.",ZP="compaction.compact",QP="checkpoint.create",WP="mistake_limit.decide",hP="user_instructions.snapshot";var Vo=E(()=>{Bo=["readFile","search","bash","webFetch","editor","applyPatch","skills","askQuestion","submit"],DP=new Set(Bo)});function On(n,r){return`<file_content path="${n}">
2
- ${r}
3
- </file_content>`}function To(n,r="act"){return`<user_input mode="${r}">${n}</user_input>`}function so(n,r){return`<user_command slash="${r}">${n}</user_command>`}function jP(n,r){let f=n.trim(),o=new RegExp(`^<${r}\\b([^>]*)>([\\s\\S]*?)<\\/${r}>$`,"i").exec(f);if(!o)return;return{attrs:o[1]??"",content:o[2]??""}}function lP(n,r){return new RegExp(`${r}="([^"]+)"`,"i").exec(n)?.[1]?.trim()||void 0}function lr(n){if(!n?.trim())return;let r=jP(n,"user_command");if(!r)return;let f=lP(r.attrs,"slash");if(!f)return;return{slash:f,content:r.content.trim()}}function Rr(n){if(!n?.trim())return"";let r=n.trim();for(let f of["user_input","user_command"]){let o=mr(r,f);r=(o!==r?o:r.replace(new RegExp(`<${f}[^>]*>`,"g"),"")).trim()}return r}function Oo(n){let r=Rr(n),f=lr(n);if(!f)return r;if(f.slash.toLowerCase()==="team"){let y=r.toLowerCase().startsWith("spawn a team of agents for the following task:")?r.slice(46).trim():r;return y?`/team ${y}`:"/team"}return r?`/${f.slash} ${r}`:`/${f.slash}`}function mr(n,r){if(!n?.trim())return"";if(!r)return n;let f=new RegExp(`<${r}\\b[^>]*>([\\s\\S]*?)</${r}>`,"g");return n.replace(f,"$1")}function xo(n,r){let f=n[n.length-1];if(r.role==="tool"&&f?.role==="tool"&&Array.isArray(f.content)&&Array.isArray(r.content)){f.content.push(...r.content);return}n.push(r)}function RP(n){if(!Array.isArray(n)||n.length===0)return!1;return n.every((r)=>{if(!r||typeof r!=="object")return!1;let f=r;if(f.type==="text")return typeof f.text==="string";if(f.type==="image")return typeof f.data==="string"&&typeof f.mediaType==="string";return!1})}function Lr(n,r){if(n==null||typeof n!=="object")return n;if(Array.isArray(n)){let y=[];for(let w of n){if(w&&typeof w==="object"){let P=w;if(P.type==="image"&&typeof P.data==="string"&&typeof P.mediaType==="string"){r.push({type:"image",data:P.data,mediaType:P.mediaType});continue}if(P.type==="text"&&typeof P.text==="string"){y.push(P.text);continue}}y.push(Lr(w,r))}return y}let f=n,o={};for(let[y,w]of Object.entries(f))o[y]=Lr(w,r);return o}function _r(n,r=!1){if(typeof n==="string")return{type:r?"error-text":"text",value:n};if(!r&&RP(n))return{type:"content",value:n.map((f)=>f.type==="image"?{type:"image-data",data:f.data,mediaType:f.mediaType}:{type:"text",text:f.text})};if(!r&&n!==null&&typeof n==="object"){let f=[],o=Lr(n,f);if(f.length>0)return{type:"content",value:[{type:"text",text:typeof o==="string"?o:JSON.stringify(o)},...f.map((w)=>({type:"image-data",data:w.data,mediaType:w.mediaType}))]}}if(n===null||typeof n==="boolean"||typeof n==="number"||typeof n==="object")return{type:r?"error-json":"json",value:n};return{type:r?"error-text":"text",value:String(n)}}function xn(n,r,f){let o=f?.assistantToolCallArgKey??"input",y=[];if(typeof n==="string"&&n.trim().length>0||Array.isArray(n)&&n.length>0)y.push({role:"system",content:n});for(let w of r){let P=w.content;if(typeof P==="string"){y.push({role:w.role,content:P});continue}let G=[],b=[];for(let $ of P)switch($.type){case"text":G.push({type:"text",text:$.text});break;case"reasoning":G.push({type:"reasoning",text:$.text,...$.providerOptions?{providerOptions:$.providerOptions}:{}});break;case"image":G.push({type:"image",image:$.image,mediaType:$.mediaType});break;case"file":G.push({type:"text",text:On($.path,$.content)});break;case"tool-call":if(w.role==="assistant")G.push({type:"tool-call",toolCallId:$.toolCallId,toolName:$.toolName,[o]:$.input,...$.providerOptions?{providerOptions:$.providerOptions}:{}});break;case"tool-result":b.push({type:"tool-result",toolCallId:$.toolCallId,toolName:$.toolName,output:_r($.output,$.isError??!1)});break}if(G.length>0)xo(y,{role:w.role,content:G});if(b.length>0)xo(y,{role:"tool",content:b})}return y}var uo=()=>{};function Io(n,r){if(typeof n==="string"&&n.toLowerCase()in Kn)return n.toLowerCase();return r?void 0:void 0}function Nr(n,r){let f=typeof n==="string"?n.toLowerCase():void 0;if(f&&f in Kn)return Kn[f];if(r?.fallbackEffort)return Kn[r.fallbackEffort];return}function to(n){let r=Nr(n.effort,{fallbackEffort:n.fallbackEffort});if(r===void 0)return;if(r<=0)return 0;let f=n.minimumBudget??1;if(n.maxBudget<f)return;let o=n.scaleTokens??n.maxBudget;return Math.min(Math.max(Math.floor(o*r),f),n.maxBudget)}var Kn,io=void 0;var qo=E(()=>{Kn={xhigh:0.95,high:0.8,medium:0.5,low:0.2,minimal:0.1,none:0}});function co(n){return n instanceof Error?{name:n.name,message:n.message}:n}var zo;var po=E(()=>{zo={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","X-IS-MULTIROOT":"false","X-CLIENT-TYPE":"cline-sdk"}});var ny;var ry=E(()=>{ny={debug:()=>{},log:()=>{},error:()=>{}}});var c;var fy=E(()=>{c=class c extends Error{constructor(n,r){super(`${n} at position ${r}`);this.position=r}}});function oy(n){return/^[0-9A-Fa-f]$/.test(n)}function nn(n){return n>="0"&&n<="9"}function yy(n){return n>=" "}function kn(n){return`,:[]/{}()
4
- +`.includes(n)}function Br(n){return n>="a"&&n<="z"||n>="A"&&n<="Z"||n==="_"||n==="$"}function Vr(n){return n>="a"&&n<="z"||n>="A"&&n<="Z"||n==="_"||n==="$"||n>="0"&&n<="9"}function Or(n){return`,[]/{}
5
- +`.includes(n)}function xr(n){return Xn(n)||mP.test(n)}function dy(n){return n===`
6
- `||n==="\r"||n==="\t"||n==="\b"||n==="\f"}function p(n,r){let f=n.charCodeAt(r);return f===32||f===10||f===9||f===13}function wy(n,r){let f=n.charCodeAt(r);return f===32||f===9||f===13}function Py(n,r){let f=n.charCodeAt(r);return f===160||f===6158||f>=8192&&f<=8203||f===8239||f===8287||f===12288||f===65279}function Xn(n){return ur(n)||un(n)}function ur(n){return n==='"'||n==="“"||n==="”"}function ir(n){return n==='"'}function un(n){return n==="'"||n==="‘"||n==="’"||n==="`"||n==="´"}function Ir(n){return n==="'"}function En(n,r){let f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,o=n.lastIndexOf(r);return o!==-1?n.substring(0,o)+(f?"":n.substring(o+1)):n}function N(n,r){let f=n.length;if(!p(n,f-1))return n+r;while(p(n,f-1))f--;return n.substring(0,f)+r+n.substring(f)}function Cy(n,r,f){return n.substring(0,r)+n.substring(r+f)}function vy(n){return/[,\n][ \t\r]*$/.test(n)}var Tr,sr,mP;var Gy=E(()=>{Tr=/^(http|https|ftp|mailto|file|data|irc):\/\/$/,sr=/^[A-Za-z0-9-._~:/?#@!$&'()*+;=]$/;mP=/^[[{\w-]$/});function tr(n){let r=0,f="";if($(["```","[```","{```"]),!w())mw();$(["```","```]","```}"]);let y=J(",");if(y)P();if(xr(n[r])&&vy(f)){if(!y)f=N(f,",");L()}else if(y)f=En(f,",");while(n[r]==="}"||n[r]==="]")r++,P();if(r>=n.length)return f;Rw();function w(){P();let K=W()||k()||l()||U()||Fr()||ln(!1)||jw();return P(),K}function P(){let K=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,S=r,Y=G(K);do if(Y=b(),Y)Y=G(K);while(Y);return r>S}function G(K){let S=K?p:wy,Y="";while(!0)if(S(n,r))Y+=n[r],r++;else if(Py(n,r))Y+=" ",r++;else break;if(Y.length>0)return f+=Y,!0;return!1}function b(){if(n[r]==="/"&&n[r+1]==="*"){while(r<n.length&&!NP(n,r))r++;return r+=2,!0}if(n[r]==="/"&&n[r+1]==="/"){while(r<n.length&&n[r]!==`
7
- `)r++;return!0}return!1}function $(K){if(M(K)){if(Br(n[r]))while(r<n.length&&Vr(n[r]))r++;return P(),!0}return!1}function M(K){G(!0);for(let S of K){let Y=r+S.length;if(n.slice(r,Y)===S)return r=Y,!0}return!1}function J(K){if(n[r]===K)return f+=n[r],r++,!0;return!1}function D(K){if(n[r]===K)return r++,!0;return!1}function H(){return D("\\")}function a(){if(P(),n[r]==="."&&n[r+1]==="."&&n[r+2]===".")return r+=3,P(),D(","),!0;return!1}function W(){if(n[r]==="{"){if(f+="{",r++,P(),D(","))P();let K=!0;while(r<n.length&&n[r]!=="}"){let S;if(!K){if(S=J(","),!S)f=N(f,",");P()}else S=!0,K=!1;if(a(),!(l()||ln(!0))){if(n[r]==="}"||n[r]==="{"||n[r]==="]"||n[r]==="["||n[r]===void 0)f=En(f,",");else Lw();break}P();let mn=J(":"),fn=r>=n.length;if(!mn)if(xr(n[r])||fn)f=N(f,":");else tf();if(!w())if(mn||fn)f+="null";else tf()}if(n[r]==="}")f+="}",r++;else f=N(f,"}");return!0}return!1}function k(){if(n[r]==="["){if(f+="[",r++,P(),D(","))P();let K=!0;while(r<n.length&&n[r]!=="]"){if(!K){if(!J(","))f=N(f,",")}else K=!1;if(a(),!w()){f=En(f,",");break}}if(n[r]==="]")f+="]",r++;else f=N(f,"]");return!0}return!1}function L(){let K=!0,S=!0;while(S){if(!K){if(!J(","))f=N(f,",")}else K=!1;S=w()}if(!S)f=En(f,",");f=`[
8
- ${f}
9
- ]`}function l(){let K=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,S=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,Y=n[r]==="\\";if(Y)r++,Y=!0;if(Xn(n[r])){let mn=ir(n[r])?ir:Ir(n[r])?Ir:un(n[r])?un:ur,fn=r,Sn=f.length,Q='"';r++;while(!0){if(r>=n.length){let j=If(r-1);if(!K&&kn(n.charAt(j)))return r=fn,f=f.substring(0,Sn),l(!0);return Q=N(Q,'"'),f+=Q,!0}if(r===S)return Q=N(Q,'"'),f+=Q,!0;if(mn(n[r])){let j=r,Er=Q.length;if(Q+='"',r++,f+=Q,P(!1),K||r>=n.length||kn(n[r])||Xn(n[r])||nn(n[r]))return q(),!0;let z=If(j-1),qf=n.charAt(z);if(qf===",")return r=fn,f=f.substring(0,Sn),l(!1,z);if(kn(qf))return r=fn,f=f.substring(0,Sn),l(!0);f=f.substring(0,Sn),r=j+1,Q=`${Q.substring(0,Er)}\\${Q.substring(Er)}`}else if(K&&Or(n[r])){if(n[r-1]===":"&&Tr.test(n.substring(fn+1,r+2)))while(r<n.length&&sr.test(n[r]))Q+=n[r],r++;return Q=N(Q,'"'),f+=Q,q(),!0}else if(n[r]==="\\"){let j=n.charAt(r+1);if(_P[j]!==void 0)Q+=n.slice(r,r+2),r+=2;else if(j==="u"){let z=2;while(z<6&&oy(n[r+z]))z++;if(z===6)Q+=n.slice(r,r+6),r+=6;else if(r+z>=n.length)r=n.length;else _w()}else if(j===`
10
- `)Q+="\\n",r+=2;else Q+=j,r+=2}else{let j=n.charAt(r);if(j==='"'&&n[r-1]!=="\\")Q+=`\\${j}`,r++;else if(dy(j))Q+=LP[j],r++;else{if(!yy(j))lw(j);Q+=j,r++}}if(Y)H()}}return!1}function q(){let K=!1;P();while(n[r]==="+"){K=!0,r++,P(),f=En(f,'"',!0);let S=f.length;if(l())f=Cy(f,S,1);else f=N(f,'"')}return K}function U(){let K=r;if(n[r]==="-"){if(r++,Rn())return Kr(K),!0;if(!nn(n[r]))return r=K,!1}while(nn(n[r]))r++;if(n[r]==="."){if(r++,Rn())return Kr(K),!0;if(!nn(n[r]))return r=K,!1;while(nn(n[r]))r++}if(n[r]==="e"||n[r]==="E"){if(r++,n[r]==="-"||n[r]==="+")r++;if(Rn())return Kr(K),!0;if(!nn(n[r]))return r=K,!1;while(nn(n[r]))r++}if(!Rn())return r=K,!1;if(r>K){let S=n.slice(K,r),Y=/^0\d/.test(S);return f+=Y?`"${S}"`:S,!0}return!1}function Fr(){return i("true","true")||i("false","false")||i("null","null")||i("True","true")||i("False","false")||i("None","null")}function i(K,S){if(n.slice(r,r+K.length)===K)return f+=S,r+=K.length,!0;return!1}function ln(K){let S=r;if(Br(n[r])){while(r<n.length&&Vr(n[r]))r++;let Y=r;while(p(n,Y))Y++;if(n[Y]==="("){if(r=Y+1,w(),n[r]===")"){if(r++,n[r]===";")r++}return!0}}while(r<n.length&&!Or(n[r])&&!Xn(n[r])&&(!K||n[r]!==":"))r++;if(n[r-1]===":"&&Tr.test(n.substring(S,r+2)))while(r<n.length&&sr.test(n[r]))r++;if(r>S){while(p(n,r-1)&&r>0)r--;let Y=n.slice(S,r);if(f+=Y==="undefined"?"null":JSON.stringify(Y),n[r]==='"')r++;return!0}}function jw(){if(n[r]==="/"){let K=r;r++;while(r<n.length&&(n[r]!=="/"||n[r-1]==="\\"))r++;return r++,f+=JSON.stringify(n.substring(K,r)),!0}}function If(K){let S=K;while(S>0&&p(n,S))S--;return S}function Rn(){return r>=n.length||kn(n[r])||p(n,r)}function Kr(K){f+=`${n.slice(K,r)}0`}function lw(K){throw new c(`Invalid character ${JSON.stringify(K)}`,r)}function Rw(){throw new c(`Unexpected character ${JSON.stringify(n[r])}`,r)}function mw(){throw new c("Unexpected end of json string",n.length)}function Lw(){throw new c("Object key expected",r)}function tf(){throw new c("Colon expected",r)}function _w(){let K=n.slice(r,r+6);throw new c(`Invalid unicode character "${K}"`,r)}}function NP(n,r){return n[r]==="*"&&n[r+1]==="/"}var LP,_P;var $y=E(()=>{fy();Gy();LP={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"},_P={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
11
- `,r:"\r",t:"\t"}});var Hy=E(()=>{$y()});function VP(n){let r=n.match(BP);if(!r)return;let[,f,o]=r,y=o.trim();if(!y)return;let w=y[0];if(w==='"'||w==="{"||w==="["||y==="true"||y==="false"||y==="null"||Number.isFinite(Number(y)))return;return JSON.parse(`{"${f}":${JSON.stringify(y)}}`)}function Fy(n){if(typeof n!=="string")return n;let r=n.trimStart();if(r[0]!=="{"&&r[0]!=="[")return n;for(let f of TP)try{let o=f(r);if(o!==void 0)return o}catch{}return n}function Ky(n){let r=new WeakSet;try{return JSON.stringify(n,(o,y)=>{if(typeof y==="bigint")return y.toString();if(y&&typeof y==="object"){if(r.has(y))return"[Circular]";r.add(y)}return y})??"null"}catch{return String(n)}}function Ey(n){try{return JSON.parse(n)}catch{return}}var BP,TP;var ey=E(()=>{Hy();BP=/^\{\s*"([A-Za-z0-9_.$-]+)"\s*:\s*([\s\S]+?)\s*\}$/;TP=[(n)=>JSON.parse(n),(n)=>JSON.parse(tr(n)),VP]});function sP(n){let r=n.replaceAll("\\","/"),f=r.lastIndexOf("/");return(f>=0?r.slice(f+1):r).toLowerCase()}function by(n){return n==="win32"?"powershell":"/bin/bash"}function ay(n,r){let f=sP(n);if(f==="powershell"||f==="powershell.exe"||f==="pwsh"||f==="pwsh.exe")return["-NoProfile","-NonInteractive","-Command",r];if(f==="cmd"||f==="cmd.exe")return["/d","/s","/c",r];return["-c",r]}function Ay(n){return n.toLowerCase().replace(/[^\w.-]+/g,"_")}function qr(n,r){if(n.length<=r)return n;return`${n.slice(0,r-1)}…`}function My(n,r="/",f=100){if(!n||n.length<=f)return n||"";let o=n.split(r)?.shift()?.trim()?.slice(0,f-1);return o?`${o}…`:qr(n,f)}function Sy(n){if(n.length<=8)return"****";return`${n.slice(0,4)}...${n.slice(-4)}`}function gy(n){if(!n)return"(unknown-date)";let r=new Date(n);if(Number.isNaN(r.getTime()))return n;return r.toLocaleString("en-US",{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric",hour12:!0})}function Yy(n){let r=Math.max(0,Math.floor(n/1000)),f=Math.floor(r/86400),o=Math.floor(r%86400/3600),y=Math.floor(r%3600/60),w=r%60;if(f>0)return`${f}d ${o}h`;if(o>0)return`${o}h ${y}m`;if(y>0)return`${y}m ${w}s`;return`${w}s`}import{z as Dy}from"zod";function Jy(n,r){let f=n.safeParse(r);if(!f.success)throw Error(Dy.prettifyError(f.error));return f.data}function In(n){return Dy.toJSONSchema(n)}var zr=()=>{};var ky=`You are Cline, an AI coding agent. Your primary goal is to assist users with various coding tasks by leveraging your knowledge and the tools at your disposal. Given the user's prompt, you should use the tools available to you to answer user's question.
1
+ import{createRequire as kg}from"node:module";var bg=Object.defineProperty;var $g=(e)=>e;function _g(e,t){this[e]=$g.bind(null,t)}var se=(e,t)=>{for(var n in t)bg(e,n,{get:t[n],enumerable:!0,configurable:!0,set:_g.bind(t,n)})};var V=(e,t)=>()=>(e&&(t=e(e=0)),t);var Be=kg(import.meta.url);var ev={};se(ev,{zodToJsonSchema:()=>Op,xmlTagsRemoval:()=>zp,withResolvedClineBuildEnv:()=>jk,validateWithZod:()=>ck,upsertWorkspaceInfo:()=>nw,truncateStr:()=>Tp,truncateSplit:()=>sk,toAiSdkToolResultOutput:()=>Up,serializeAbortReason:()=>C_,sanitizeFileName:()=>ok,safeJsonStringify:()=>tk,safeJsonParse:()=>ik,resolveRootSessionId:()=>Gk,resolveReasoningEffortRatio:()=>Pp,resolveReasoningBudgetFromRatio:()=>A_,resolveHubCommandTimeoutMs:()=>h_,resolveHookSessionContext:()=>Kk,resolveEffectiveReasoningEffort:()=>N_,resolveClineEnvironment:()=>Dp,resolveClineBuildEnv:()=>so,registerRemoteConfigSessionBlobUpload:()=>Fg,registerDisposable:()=>hp,readRemoteConfigSessionBlobUploadMetadata:()=>Js,processWorkspaceInfo:()=>pk,prepareRemoteConfigRuntime:()=>uh,parseUserCommandEnvelope:()=>Ip,parseRuntimeConfigExtensions:()=>ew,parseJsonStream:()=>ek,parseHookEventPayload:()=>p_,normalizeUserInput:()=>xp,normalizePluginManifest:()=>bp,noopBasicLogger:()=>Z_,maskSecret:()=>uk,isRuntimeConfigExtensionKind:()=>Mp,isOAuthProviderId:()=>Xp,isLikelyAuthError:()=>Ww,isHubToolExecutorName:()=>b_,isHubDaemonProcess:()=>Mk,initVcr:()=>cS,hasRuntimeConfigExtension:()=>tw,getShellArgs:()=>ak,getDefaultShell:()=>rk,getDefaultHubCommandTimeoutMs:()=>kp,getClineEnvironmentConfig:()=>uo,formatUserInputBlock:()=>z_,formatUserCommandBlock:()=>U_,formatUptime:()=>dk,formatMessagesForAiSdk:()=>oo,formatHumanReadableDate:()=>lk,formatFileContentBlock:()=>Sp,formatDisplayUserInput:()=>T_,emptyWorkspaceManifest:()=>iw,disposeAll:()=>q$,createTool:()=>Gw,createSessionId:()=>Yk,createRemoteConfigSessionMessagesArtifactUploader:()=>Vg,createContributionRegistry:()=>r_,createClineTelemetryServiceMetadata:()=>Cp,createClineTelemetryServiceConfig:()=>Jk,clearRemoteConfigSessionBlobUpload:()=>Jg,buildRemoteConfigSessionBlobUploadMetadata:()=>Lg,buildClineSystemPrompt:()=>vk,augmentNodeCommandForDebug:()=>Nk,WorkspaceManifestSchema:()=>Fp,WorkspaceInfoSchema:()=>Lp,VertexSettingsSchema:()=>Xf,VertexModelSchema:()=>Bf,ToolCallRecordSchema:()=>lp,ThinkingConfigSchema:()=>up,TeamTeammateSpecSchema:()=>uw,TeamTaskToolResultSchema:()=>Ew,TeamTaskListItemToolResultSchema:()=>Gp,TeamTaskInputSchema:()=>pw,TeamStatusToolResultSchema:()=>Pw,TeamStatusInputSchema:()=>cw,TeamSpawnTeammateInputSchema:()=>lw,TeamSimpleAgentStatusToolResultSchema:()=>Dw,TeamShutdownTeammateInputSchema:()=>dw,TeamSendMessageToolResultSchema:()=>Zw,TeamSendMessageInputSchema:()=>bw,TeamRunToolSummarySchema:()=>Ow,TeamRunTaskToolResultSchema:()=>Tw,TeamRunTaskInputSchema:()=>vw,TeamRunResultSummarySchema:()=>Wp,TeamReviewOutcomeFragmentInputSchema:()=>xw,TeamReadMailboxInputSchema:()=>_w,TeamOutcomeToolResultSchema:()=>Nw,TeamOutcomeFragmentToolResultSchema:()=>Fw,TeamMissionLogToolResultSchema:()=>Mw,TeamMissionLogInputSchema:()=>kw,TeamMessageType:()=>Hp,TeamMailboxMessageToolResultSchema:()=>jw,TeamListRunsInputSchema:()=>gw,TeamListOutcomesInputSchema:()=>Uw,TeamFinalizeOutcomeToolResultSchema:()=>Jw,TeamFinalizeOutcomeInputSchema:()=>zw,TeamCreateOutcomeToolResultSchema:()=>Aw,TeamCreateOutcomeInputSchema:()=>Sw,TeamCleanupToolResultSchema:()=>Lw,TeamCleanupInputSchema:()=>ww,TeamCancelRunToolResultSchema:()=>Cw,TeamCancelRunInputSchema:()=>hw,TeamBroadcastToolResultSchema:()=>Rw,TeamBroadcastInputSchema:()=>$w,TeamAwaitRunsInputSchema:()=>yw,TeamAttachOutcomeFragmentInputSchema:()=>Iw,TEAM_TASK_IGNORED_FIELDS_BY_ACTION:()=>fw,TEAM_RUN_TEXT_PREVIEW_LIMIT:()=>ow,TEAM_RUN_MESSAGE_PREVIEW_LIMIT:()=>aw,TEAM_PROGRESS_EVENT_TYPE:()=>wk,TEAM_LIFECYCLE_EVENT_TYPE:()=>Sk,TEAM_AWAIT_TIMEOUT_MS:()=>rw,SESSION_STATUS_VALUES:()=>Qk,S3AccessKeySettingsSchema:()=>gi,RemoteMCPServerSchema:()=>tp,RemoteConfigSchema:()=>G$,ReasoningEffortSchema:()=>mp,RUNTIME_CONFIG_EXTENSION_KINDS:()=>lo,REMOTE_URI_SCHEME:()=>Yg,REMOTE_CONFIG_SESSION_BLOB_UPLOAD_METADATA_KEY:()=>Rs,REASONING_EFFORT_RATIOS:()=>_t,ProviderProtocolSchema:()=>_k,ProviderClientSchema:()=>kk,ProviderCapabilitySchema:()=>$k,PromptUploadingSchema:()=>ip,PLUGIN_FILE_EXTENSIONS:()=>a_,OpenAiCompatibleSchema:()=>Ff,OpenAiCompatibleModelSchema:()=>Lf,OAUTH_PROVIDER_IDS:()=>Bp,ModelStatusSchema:()=>op,ModelPricingSchema:()=>sp,ModelInfoSchema:()=>ro,ModelCapabilitySchema:()=>ap,LiteLLMSchema:()=>Yf,LiteLLMModelSchema:()=>Vf,HookEventPayloadSchema:()=>_p,HookEventNameSchema:()=>$p,HUB_USER_INSTRUCTIONS_SNAPSHOT_CAPABILITY:()=>x_,HUB_TOOL_EXECUTOR_NAMES:()=>wp,HUB_TOOL_EXECUTOR_CAPABILITY_PREFIX:()=>$_,HUB_MISTAKE_LIMIT_CAPABILITY:()=>I_,HUB_HOOK_CAPABILITY_PREFIX:()=>k_,HUB_DEFAULT_COMMAND_TIMEOUT_MS:()=>v_,HUB_CUSTOM_TOOL_CAPABILITY_PREFIX:()=>__,HUB_COMPACTION_CAPABILITY:()=>w_,HUB_COMMAND_SLOW_LOG_MS:()=>g_,HUB_CHECKPOINT_CAPABILITY:()=>S_,GlobalInstructionsFileSchema:()=>Yn,EnterpriseTelemetrySchema:()=>np,DEFAULT_RUNTIME_CONFIG_EXTENSIONS:()=>Rp,DEFAULT_REQUEST_HEADERS:()=>D_,DEFAULT_REASONING_EFFORT:()=>j_,DEFAULT_OUTCOME_REQUIRED_SECTIONS:()=>Jp,DEFAULT_CLINE_ENVIRONMENT:()=>Ck,ContributionRegistry:()=>ao,ConnectorHookEventSchema:()=>Q$,ConnectorHookEventNameSchema:()=>fp,ConnectorEventContextSchema:()=>vp,ConnectorEventActorSchema:()=>pp,ConnectorAuthorizationRequestSchema:()=>V$,ConnectorAuthorizationDecisionSchema:()=>Y$,ClineSettingsSchema:()=>Hf,ClineModelSchema:()=>Wf,CLINE_RUN_AS_HUB_DAEMON_ENV:()=>Rk,CLINE_HUB_PORT:()=>gk,CLINE_HUB_DEV_PORT:()=>hk,CLINE_ENVIRONMENT_OVERRIDE_ENV:()=>Dk,CLINE_ENVIRONMENT_ENV:()=>Ak,CLINE_ENVIRONMENTS:()=>tr,CLINE_DEFAULT_RPC_PORT:()=>yk,CLINE_DEFAULT_RPC_ADDRESS:()=>bk,CLINE_DEBUG_PORT_BASE_ENV:()=>Np,CLINE_DEBUG_HOST_ENV:()=>jp,CLINE_BUILD_ENV_ENV:()=>Ui,AwsBedrockSettingsSchema:()=>Gf,AwsBedrockModelSchema:()=>Jf,AwsBedrockCustomModelSchema:()=>Kf,ApiFormatSchema:()=>rp,ApiFormat:()=>H$,AnthropicSchema:()=>qf,AnthropicModelSchema:()=>Qf,AllowedMCPServerSchema:()=>ep,AgentUsageSchema:()=>cp,AgentResultSchema:()=>B$,AgentFinishReasonSchema:()=>dp,AgentConfigSchema:()=>X$,AUTH_ERROR_PATTERNS:()=>Vp,APIKeySchema:()=>W$});import pe from"node:fs/promises";import Jn from"node:path";import{createHmac as Ag}from"node:crypto";import{basename as Dg}from"node:path";import Ve from"node:path";import{basename as Ik}from"node:path";import{webcrypto as As}from"node:crypto";import{existsSync as Hw,mkdirSync as Bw,readFileSync as Xw,writeFileSync as Vw}from"node:fs";import{dirname as Yw,resolve as Qw}from"node:path";function jg(e,t){this[e]=Og.bind(null,t)}async function Ng(e){try{return await pe.access(e),!0}catch{return!1}}class Ds{filePath;constructor(e){this.filePath=e}async read(){try{return JSON.parse(await pe.readFile(this.filePath,"utf8"))}catch(e){if(e.code==="ENOENT")return;throw e}}async write(e){await pe.mkdir(Jn.dirname(this.filePath),{recursive:!0}),await pe.writeFile(this.filePath,JSON.stringify(e,null,2),"utf8")}async clear(){await pe.rm(this.filePath,{force:!0})}}class Cs{async writeText(e,t){await pe.mkdir(Jn.dirname(e),{recursive:!0}),await pe.writeFile(e,t,"utf8")}async remove(e){await pe.rm(e,{recursive:!0,force:!0})}async removeChildren(e){if(!await Ng(e))return;let t=await pe.readdir(e);await Promise.all(t.map((n)=>pe.rm(Jn.join(e,n),{recursive:!0,force:!0})))}}class nr{constructor({accessKeyId:e,secretAccessKey:t,sessionToken:n,service:a,region:i,cache:r,retries:o,initRetryMs:s}){if(e==null)throw TypeError("accessKeyId is a required option");if(t==null)throw TypeError("secretAccessKey is a required option");this.accessKeyId=e,this.secretAccessKey=t,this.sessionToken=n,this.service=a,this.region=i,this.cache=r||new Map,this.retries=o!=null?o:10,this.initRetryMs=s||50}async sign(e,t){if(e instanceof Request){let{method:i,url:r,headers:o,body:s}=e;if(t=Object.assign({method:i,url:r,headers:o},t),t.body==null&&o.has("Content-Type"))t.body=s!=null&&o.has("X-Amz-Content-Sha256")?s:await e.clone().arrayBuffer();e=r}let n=new Zs(Object.assign({url:e.toString()},t,this,t&&t.aws)),a=Object.assign({},t,await n.sign());delete a.aws;try{return new Request(a.url.toString(),a)}catch(i){if(i instanceof TypeError)return new Request(a.url.toString(),Object.assign({duplex:"half"},a));throw i}}async fetch(e,t){for(let n=0;n<=this.retries;n++){let a=fetch(await this.sign(e,t));if(n===this.retries)return a;let i=await a;if(i.status<500&&i.status!==429)return i;await new Promise((r)=>setTimeout(r,Math.random()*this.initRetryMs*Math.pow(2,n)))}throw Error("An unknown error occurred, ensure retries is not negative")}}class Zs{constructor({method:e,url:t,headers:n,body:a,accessKeyId:i,secretAccessKey:r,sessionToken:o,service:s,region:l,cache:d,datetime:c,signQuery:p,appendSessionToken:v,allHeaders:f,singleEncode:y}){if(t==null)throw TypeError("url is a required option");if(i==null)throw TypeError("accessKeyId is a required option");if(r==null)throw TypeError("secretAccessKey is a required option");this.method=e||(a?"POST":"GET"),this.url=new URL(t),this.headers=new Headers(n||{}),this.body=a,this.accessKeyId=i,this.secretAccessKey=r,this.sessionToken=o;let k,T;if(!s||!l)[k,T]=Rg(this.url,this.headers);if(this.service=s||k||"",this.region=l||T||"us-east-1",this.cache=d||new Map,this.datetime=c||new Date().toISOString().replace(/[:-]|\.\d{3}/g,""),this.signQuery=p,this.appendSessionToken=v||this.service==="iotdevicegateway",this.headers.delete("Host"),this.service==="s3"&&!this.signQuery&&!this.headers.has("X-Amz-Content-Sha256"))this.headers.set("X-Amz-Content-Sha256","UNSIGNED-PAYLOAD");let O=this.signQuery?this.url.searchParams:this.headers;if(O.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken)O.set("X-Amz-Security-Token",this.sessionToken);if(this.signableHeaders=["host",...this.headers.keys()].filter((S)=>f||!Zg.has(S)).sort(),this.signedHeaders=this.signableHeaders.join(";"),this.canonicalHeaders=this.signableHeaders.map((S)=>S+":"+(S==="host"?this.url.host:(this.headers.get(S)||"").replace(/\s+/g," "))).join(`
2
+ `),this.credentialString=[this.datetime.slice(0,8),this.region,this.service,"aws4_request"].join("/"),this.signQuery){if(this.service==="s3"&&!O.has("X-Amz-Expires"))O.set("X-Amz-Expires","86400");O.set("X-Amz-Algorithm","AWS4-HMAC-SHA256"),O.set("X-Amz-Credential",this.accessKeyId+"/"+this.credentialString),O.set("X-Amz-SignedHeaders",this.signedHeaders)}if(this.service==="s3")try{this.encodedPath=decodeURIComponent(this.url.pathname.replace(/\+/g," "))}catch(S){this.encodedPath=this.url.pathname}else this.encodedPath=this.url.pathname.replace(/\/+/g,"/");if(!y)this.encodedPath=encodeURIComponent(this.encodedPath).replace(/%2F/g,"/");this.encodedPath=Bo(this.encodedPath);let M=new Set;this.encodedSearch=[...this.url.searchParams].filter(([S])=>{if(!S)return!1;if(this.service==="s3"){if(M.has(S))return!1;M.add(S)}return!0}).map((S)=>S.map((C)=>Bo(encodeURIComponent(C)))).sort(([S,C],[H,fe])=>S<H?-1:S>H?1:C<fe?-1:C>fe?1:0).map((S)=>S.join("=")).join("&")}async sign(){if(this.signQuery){if(this.url.searchParams.set("X-Amz-Signature",await this.signature()),this.sessionToken&&this.appendSessionToken)this.url.searchParams.set("X-Amz-Security-Token",this.sessionToken)}else this.headers.set("Authorization",await this.authHeader());return{method:this.method,url:this.url,headers:this.headers,body:this.body}}async authHeader(){return["AWS4-HMAC-SHA256 Credential="+this.accessKeyId+"/"+this.credentialString,"SignedHeaders="+this.signedHeaders,"Signature="+await this.signature()].join(", ")}async signature(){let e=this.datetime.slice(0,8),t=[this.secretAccessKey,e,this.region,this.service].join(),n=this.cache.get(t);if(!n){let a=await ht("AWS4"+this.secretAccessKey,e),i=await ht(a,this.region),r=await ht(i,this.service);n=await ht(r,"aws4_request"),this.cache.set(t,n)}return Rn(await ht(n,await this.stringToSign()))}async stringToSign(){return["AWS4-HMAC-SHA256",this.datetime,this.credentialString,Rn(await Wo(await this.canonicalString()))].join(`
3
+ `)}async canonicalString(){return[this.method.toUpperCase(),this.encodedPath,this.encodedSearch,this.canonicalHeaders+`
4
+ `,this.signedHeaders,await this.hexBodyHash()].join(`
5
+ `)}async hexBodyHash(){let e=this.headers.get("X-Amz-Content-Sha256")||(this.service==="s3"&&this.signQuery?"UNSIGNED-PAYLOAD":null);if(e==null){if(this.body&&typeof this.body!=="string"&&!("byteLength"in this.body))throw Error("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");e=Rn(await Wo(this.body||""))}return e}}async function ht(e,t){let n=await crypto.subtle.importKey("raw",typeof e==="string"?Kn.encode(e):e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",n,Kn.encode(t))}async function Wo(e){return crypto.subtle.digest("SHA-256",typeof e==="string"?Kn.encode(e):e)}function Rn(e){let t=new Uint8Array(e),n="";for(let a=0;a<t.length;a++){let i=t[a];n+=Ho[i>>>4&15],n+=Ho[i&15]}return n}function Bo(e){return e.replace(/[!'()*]/g,(t)=>"%"+t.charCodeAt(0).toString(16).toUpperCase())}function Rg(e,t){let{hostname:n,pathname:a}=e;if(n.endsWith(".on.aws")){let s=n.match(/^[^.]{1,63}\.lambda-url\.([^.]{1,63})\.on\.aws$/);return s!=null?["lambda",s[1]||""]:["",""]}if(n.endsWith(".r2.cloudflarestorage.com"))return["s3","auto"];if(n.endsWith(".backblazeb2.com")){let s=n.match(/^(?:[^.]{1,63}\.)?s3\.([^.]{1,63})\.backblazeb2\.com$/);return s!=null?["s3",s[1]||""]:["",""]}let i=n.replace("dualstack.","").match(/([^.]{1,63})\.(?:([^.]{0,63})\.)?amazonaws\.com(?:\.cn)?$/),r=i&&i[1]||"",o=i&&i[2];if(o==="us-gov")o="us-gov-west-1";else if(o==="s3"||o==="s3-accelerate")o="us-east-1",r="s3";else if(r==="iot")if(n.startsWith("iot."))r="execute-api";else if(n.startsWith("data.jobs.iot."))r="iot-jobs-data";else r=a==="/mqtt"?"iotdevicegateway":"iotdata";else if(r==="autoscaling"){let s=(t.get("X-Amz-Target")||"").split(".")[0];if(s==="AnyScaleFrontendService")r="application-autoscaling";else if(s==="AnyScaleScalingPlannerFrontendService")r="autoscaling-plans"}else if(o==null&&r.startsWith("s3-"))o=r.slice(3).replace(/^fips-|^external-1/,""),r="s3";else if(r.endsWith("-fips"))r=r.slice(0,-5);else if(o&&/-\d$/.test(r)&&!/-\d$/.test(o))[r,o]=[o,r];return[Cg[r]||r,o||""]}function Mn(e,t){return{adapterType:e,accessKeyId:t.accessKeyId,secretAccessKey:t.secretAccessKey,region:t.region,bucket:t.bucket,endpoint:t.endpoint,accountId:t.accountId}}function Ms(e){return{adapterType:e.adapterType,bucket:e.bucket,region:e.region,endpoint:e.endpoint,accountId:e.accountId}}function Mg(e){if(!e||e.enabled!==!0)return;if(e.type==="s3_access_keys"&&e.s3AccessSettings)return Mn("s3",e.s3AccessSettings);if(e.type==="r2_access_keys"&&e.r2AccessSettings)return Mn("r2",e.r2AccessSettings);if(e.type==="azure_access_keys"&&e.azureAccessSettings)return Mn("azure",e.azureAccessSettings);return}function Ls(e){return Mg(e?.enterpriseTelemetry?.promptUploading)}function Lg(e,t){let n=Ls(e);if(!n)return;return{version:1,storage:Ms(n),userDistinctId:t}}function Fg(e,t,n){let a=Ls(t);if(!a){bi.delete(e);return}return bi.set(e,a),{version:1,storage:Ms(a),userDistinctId:n}}function Jg(e){bi.delete(e)}function Fs(e,t,n){let a=`${t}/${n}`;return{async write(i,r){let o=await e.fetch(`${a}/${i}`,{method:"PUT",body:r,headers:{"Content-Type":"application/json; charset=utf-8"}});if(!o.ok)throw Error(`Failed to write ${i}: ${o.status}`)}}}function Kg(e){let{bucket:t,accessKeyId:n,secretAccessKey:a}=e;if(!t||!n||!a)return;let i=e.region||"us-east-1",r=e.endpoint||`https://s3.${i}.amazonaws.com`;return Fs(new nr({region:i,accessKeyId:n,secretAccessKey:a}),r,t)}function Gg(e){let{accountId:t,endpoint:n,bucket:a,accessKeyId:i,secretAccessKey:r}=e;if(!n&&!t||!a||!i||!r)return;return Fs(new nr({accessKeyId:i,secretAccessKey:r}),e.endpoint??`https://${t}.r2.cloudflarestorage.com`,a)}function Wg(e,t,n,a,i){let r=i["Content-Length"]||"",o=i["Content-Type"]||"",s=Object.entries(i).filter(([v])=>v.toLowerCase().startsWith("x-ms-")).sort(([v],[f])=>v.toLowerCase().localeCompare(f.toLowerCase())).map(([v,f])=>`${v.toLowerCase()}:${f}`).join(`
6
+ `),l=`/${e}${a}`,d=[n,"","",r,"",o,"","","","","","",s,l].join(`
7
+ `),c=Buffer.from(t,"base64"),p=Ag("sha256",c).update(d,"utf8").digest("base64");return`SharedKey ${e}:${p}`}function Hg(e){let{accessKeyId:t,secretAccessKey:n,bucket:a}=e;if(!t||!n||!a)return;let i=e.endpoint||`https://${t}.blob.core.windows.net`;return{async write(r,o){let s=`/${a}/${r}`,l=new Date().toUTCString(),d=Buffer.from(o,"utf8"),c={"x-ms-date":l,"x-ms-version":"2024-11-04","x-ms-blob-type":"BlockBlob","Content-Type":"application/json; charset=utf-8","Content-Length":d.byteLength.toString()};c.Authorization=Wg(t,n,"PUT",s,c);let p=await fetch(`${i}${s}`,{method:"PUT",body:d,headers:c});if(!p.ok){let v=await p.text().catch(()=>"");throw Error(`Failed to write ${r}: ${p.status} ${v}`.trim())}}}}function Bg(e){if(e.adapterType==="s3")return Kg(e);if(e.adapterType==="r2")return Gg(e);if(e.adapterType==="azure")return Hg(e);return}function Xo(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}function Js(e){let t=e?.metadata?.[Rs];if(!Xo(t))return;let n=t.storage;if(!Xo(n))return;let a=n.adapterType;if(a!=="s3"&&a!=="r2"&&a!=="azure")return;if(typeof n.bucket!=="string")return;return{version:1,storage:{adapterType:a,bucket:n.bucket,region:typeof n.region==="string"?n.region:void 0,endpoint:typeof n.endpoint==="string"?n.endpoint:void 0,accountId:typeof n.accountId==="string"?n.accountId:void 0},keyPrefix:typeof t.keyPrefix==="string"?t.keyPrefix:void 0,userDistinctId:typeof t.userDistinctId==="string"?t.userDistinctId:void 0}}function Xg(e,t,n){return["sessions",n.userDistinctId?.trim()||"unknown",e,t?.endsWith("messages.json")?"messages.json":Dg(t)].filter((a)=>Boolean(a?.trim())).join("/")}function Vg(){let e=new Map;return{async uploadMessagesFile({sessionId:t,path:n,contents:a,row:i}){let r=Js(i);if(!r)return;let o=bi.get(t);if(!o)return;let s=JSON.stringify(o),l=e.get(s);if(!l){if(l=Bg(o),!l)return;e.set(s,l)}await l.write(Xg(t,n,r),a)}}}function Vo(e,t,n){return{id:`remote-config:${e}:${n}:${t.name}`,name:t.name,kind:e,contents:t.contents,alwaysEnabled:t.alwaysEnabled}}function Yo(e){let t="",n=!1;for(let a of e.trim().toLowerCase()){let i=a.charCodeAt(0);if(i>=97&&i<=122||i>=48&&i<=57||a==="."||a==="_"||a==="-"){if(n&&t&&t[t.length-1]!=="-")t+="-";n=!1,t+=a}else n=!0;if(t.length>=80)break}while(t.endsWith("-"))t=t.slice(0,-1);while(t.startsWith("-"))t=t.slice(1);return t||"item"}function Qg(e){let t=e?.globalRules?.map((a,i)=>Vo("rule",a,`${i}`))??[],n=e?.globalWorkflows?.map((a,i)=>Vo("workflow",a,`${i}`))??[];return[...t,...n]}function qg(e){return[...Qg(e.remoteConfig),...e.managedInstructions??[]]}function eh(e){return e.map((t)=>{let n=`## ${t.name}`,a=t.alwaysEnabled?`_Always enabled_
8
+ `:"";return`${n}
9
+
10
+ ${a}${t.contents.trim()}`}).join(`
11
+
12
+ `)}function Ln(e,t){return e.filter((n)=>n.kind===t)}class Ks{async materialize(e){let t=qg(e.bundle),n=Ln(t,"rule"),a=Ln(t,"workflow"),i=Ln(t,"skill");await e.artifactStore.removeChildren(e.paths.workflowsPath),await e.artifactStore.removeChildren(e.paths.skillsPath);let r=[];if(n.length>0)await e.artifactStore.writeText(e.paths.rulesFilePath,eh(n)),r.push(...n.map((o)=>({kind:o.kind,filePath:e.paths.rulesFilePath,id:o.id,name:o.name})));else await e.artifactStore.remove(e.paths.rulesFilePath);for(let o of a){let s=`${e.paths.workflowsPath}/${Yo(o.name.replace(/\.(md|markdown|txt)$/i,""))}.md`;await e.artifactStore.writeText(s,o.contents),r.push({kind:o.kind,filePath:s,id:o.id,name:o.name})}for(let o of i){let s=`${e.paths.skillsPath}/${Yo(o.name)}/SKILL.md`;await e.artifactStore.writeText(s,o.contents),r.push({kind:o.kind,filePath:s,id:o.id,name:o.name})}return await e.artifactStore.writeText(e.paths.manifestPath,JSON.stringify({source:e.bundle.source,version:e.bundle.version,files:r},null,2)),{paths:e.paths,rulesFilePath:n.length>0?e.paths.rulesFilePath:void 0,files:r}}}function ih(e){let t=e.pluginName??th,n=Ve.join(e.workspacePath,".cline",t);return{pluginName:t,pluginPath:n,workflowsPath:Ve.join(n,"workflows"),skillsPath:Ve.join(n,"skills"),bundleCachePath:Ve.join(n,"cache","bundle.json"),manifestPath:Ve.join(n,"managed.json"),rulesFilePath:Ve.join(n,"rules.md")}}function nh(e){return{workflowsDirectories:[e.workflowsPath],skillsDirectories:[e.skillsPath]}}function rh(e){if(!e)return;return{enabled:e.openTelemetryEnabled??!1,metricsExporter:e.openTelemetryMetricsExporter,logsExporter:e.openTelemetryLogsExporter,otlpProtocol:e.openTelemetryOtlpProtocol,otlpEndpoint:e.openTelemetryOtlpEndpoint,otlpHeaders:e.openTelemetryOtlpHeaders,otlpMetricsProtocol:e.openTelemetryOtlpMetricsProtocol,otlpMetricsEndpoint:e.openTelemetryOtlpMetricsEndpoint,otlpMetricsHeaders:e.openTelemetryOtlpMetricsHeaders,otlpLogsProtocol:e.openTelemetryOtlpLogsProtocol,otlpLogsEndpoint:e.openTelemetryOtlpLogsEndpoint,otlpLogsHeaders:e.openTelemetryOtlpLogsHeaders,metricExportInterval:e.openTelemetryMetricExportInterval,otlpInsecure:e.openTelemetryOtlpInsecure,logBatchSize:e.openTelemetryLogBatchSize,logBatchTimeout:e.openTelemetryLogBatchTimeout,logMaxQueueSize:e.openTelemetryLogMaxQueueSize}}function Gs(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}function ke(e,t){let n=e[t];return typeof n==="string"?n:void 0}function Qo(e,t){let n=e[t];return typeof n==="boolean"?n:void 0}function ci(e,t){let n=e[t];return typeof n==="number"&&Number.isFinite(n)?n:void 0}function Fn(e,t){let n=e[t];if(!Gs(n))return;let a=Object.entries(n).filter((i)=>typeof i[1]==="string");return a.length>0?Object.fromEntries(a):void 0}function ah(e){if(!Gs(e))return;let t={enabled:Qo(e,"enabled"),metricsExporter:ke(e,"metricsExporter"),logsExporter:ke(e,"logsExporter"),otlpProtocol:ke(e,"otlpProtocol"),otlpEndpoint:ke(e,"otlpEndpoint"),otlpHeaders:Fn(e,"otlpHeaders"),otlpMetricsProtocol:ke(e,"otlpMetricsProtocol"),otlpMetricsEndpoint:ke(e,"otlpMetricsEndpoint"),otlpMetricsHeaders:Fn(e,"otlpMetricsHeaders"),otlpLogsProtocol:ke(e,"otlpLogsProtocol"),otlpLogsEndpoint:ke(e,"otlpLogsEndpoint"),otlpLogsHeaders:Fn(e,"otlpLogsHeaders"),metricExportInterval:ci(e,"metricExportInterval"),otlpInsecure:Qo(e,"otlpInsecure"),logBatchSize:ci(e,"logBatchSize"),logBatchTimeout:ci(e,"logBatchTimeout"),logMaxQueueSize:ci(e,"logMaxQueueSize")};return Object.values(t).some((n)=>n!==void 0)?t:void 0}class Ws{name="remote-config";resolveTelemetry(e,t){return{...rh(e.remoteConfig),...ah(e.telemetry)}}}function Hs(e){return e?.claims}function Bs(e,t){if(!e)return[];if(t.claimsMapper)return t.claimsMapper.mapClaimsToRoles(e);return e.roles??[]}function oh(e,t){return{...e,metadata:{...e.metadata??{},paths:t}}}class Xs{options;constructor(e){this.options=e}async sync(e){let t=await this.options.controlPlane.fetchBundle({workspacePath:e.workspacePath,rootPath:e.rootPath,context:e.context,signal:e.signal,now:e.now,logger:this.options.logger});if(!t)throw Error("Remote config control plane returned no bundle");await this.options.bundleStore.write(t);let n=await this.options.materializer.materialize({bundle:t,paths:e.paths,artifactStore:this.options.artifactStore}),a=this.options.telemetryAdapter?await this.options.telemetryAdapter.resolveTelemetry(t,{workspacePath:e.workspacePath,rootPath:e.rootPath,context:e.context,signal:e.signal,now:e.now,logger:this.options.logger}):void 0,i=Hs(t),r=Bs(i,this.options);return{bundle:t,materialized:n,telemetry:a,roles:r,claims:i}}}function sh(e){let t=e?.name??"remote-config";return{name:t,manifest:{capabilities:["providers"]},async setup(n,a){n.registerProvider?.({name:t,description:"Remote-config managed runtime integration"}),await e?.setup?.(n,a)}}}async function uh(e){let t=ih({workspacePath:e.workspacePath,pluginName:e.pluginName}),n=e.bundleStore??new Ds(t.bundleCachePath),a=e.artifactStore??new Cs,i=e.materializer??new Ks,r=e.telemetryAdapter??new Ws,o,s,l=[],d,c=!1,p=!1;if(e.controlPlane){let f=new Xs({controlPlane:e.controlPlane,bundleStore:n,artifactStore:a,materializer:i,telemetryAdapter:r,claimsMapper:e.claimsMapper,logger:e.logger});try{let y=await f.sync({workspacePath:e.workspacePath,rootPath:e.rootPath,context:e.context,paths:t,signal:e.signal,now:e.now});o=y.bundle,s=y.telemetry,l=y.roles,d=y.claims,p=!0}catch(y){if(e.useCachedBundle!==!1)o=await n.read(),c=Boolean(o);if(!o)throw y}}else if(e.useCachedBundle!==!1)o=await n.read(),c=Boolean(o);if(!o&&e.requireBundle)throw Error("Remote config runtime preparation requires a bundle");if(o){let f=oh(o,t);if(await n.write(f),!p)await i.materialize({bundle:f,paths:t,artifactStore:a});d??=Hs(f),l=l.length>0?l:Bs(d,e),s??=await r.resolveTelemetry(f,{workspacePath:e.workspacePath,rootPath:e.rootPath,context:e.context,signal:e.signal,now:e.now,logger:e.logger}),o=f}let v=nh(t);return{pluginName:t.pluginName,pluginDefinition:sh({name:t.pluginName}),paths:t,bundle:o,telemetry:s,roles:l,claims:d,usedCachedBundle:c,workflowsDirectories:v.workflowsDirectories,skillsDirectories:v.skillsDirectories}}function m(e,t,n){function a(s,l){if(!s._zod)Object.defineProperty(s,"_zod",{value:{def:l,constr:o,traits:new Set},enumerable:!1});if(s._zod.traits.has(e))return;s._zod.traits.add(e),t(s,l);let d=o.prototype,c=Object.keys(d);for(let p=0;p<c.length;p++){let v=c[p];if(!(v in s))s[v]=d[v].bind(s)}}let i=n?.Parent??Object;class r extends i{}Object.defineProperty(r,"name",{value:e});function o(s){var l;let d=n?.Parent?new r:this;a(d,s),(l=d._zod).deferred??(l.deferred=[]);for(let c of d._zod.deferred)c();return d}return Object.defineProperty(o,"init",{value:a}),Object.defineProperty(o,Symbol.hasInstance,{value:(s)=>{if(n?.Parent&&s instanceof n.Parent)return!0;return s?._zod?.traits?.has(e)}}),Object.defineProperty(o,"name",{value:e}),o}function K(e){if(e)Object.assign(kt,e);return kt}function lh(e){return e}function dh(e){return e}function ch(e){}function mh(e){throw Error("Unexpected value in exhaustive check")}function fh(e){}function rr(e){let t=Object.values(e).filter((n)=>typeof n==="number");return Object.entries(e).filter(([n,a])=>t.indexOf(+n)===-1).map(([n,a])=>a)}function g(e,t="|"){return e.map((n)=>_(n)).join(t)}function $i(e,t){if(typeof t==="bigint")return t.toString();return t}function Pt(e){return{get value(){{let t=e();return Object.defineProperty(this,"value",{value:t}),t}throw Error("cached value already set")}}}function Re(e){return e===null||e===void 0}function Pi(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function qs(e,t){let n=e/t,a=Math.round(n),i=Number.EPSILON*Math.max(Math.abs(n),1);if(Math.abs(n-a)<i)return 0;return n-a}function P(e,t,n){let a=void 0;Object.defineProperty(e,t,{get(){if(a===es)return;if(a===void 0)a=es,a=n();return a},set(i){Object.defineProperty(e,t,{value:i})},configurable:!0})}function ph(e){return Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}function Ue(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function ye(...e){let t={};for(let n of e){let a=Object.getOwnPropertyDescriptors(n);Object.assign(t,a)}return Object.defineProperties({},t)}function vh(e){return ye(e._zod.def)}function gh(e,t){if(!t)return e;return t.reduce((n,a)=>n?.[a],e)}function hh(e){let t=Object.keys(e),n=t.map((a)=>e[a]);return Promise.all(n).then((a)=>{let i={};for(let r=0;r<t.length;r++)i[t[r]]=a[r];return i})}function yh(e=10){let t="";for(let n=0;n<e;n++)t+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return t}function Gn(e){return JSON.stringify(e)}function eu(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function et(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}function Ae(e){if(et(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;if(typeof t!=="function")return!0;let n=t.prototype;if(et(n)===!1)return!1;if(Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)return!1;return!0}function iu(e){if(Ae(e))return{...e};if(Array.isArray(e))return[...e];if(e instanceof Map)return new Map(e);if(e instanceof Set)return new Set(e);return e}function bh(e){let t=0;for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n))t++;return t}function ge(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ae(e,t,n){let a=new e._zod.constr(t??e._zod.def);if(!t||n?.parent)a._zod.parent=e;return a}function h(e){let t=e;if(!t)return{};if(typeof t==="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}if(delete t.message,typeof t.error==="string")return{...t,error:()=>t.error};return t}function _h(e){let t;return new Proxy({},{get(n,a,i){return t??(t=e()),Reflect.get(t,a,i)},set(n,a,i,r){return t??(t=e()),Reflect.set(t,a,i,r)},has(n,a){return t??(t=e()),Reflect.has(t,a)},deleteProperty(n,a){return t??(t=e()),Reflect.deleteProperty(t,a)},ownKeys(n){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(n,a){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,a)},defineProperty(n,a,i){return t??(t=e()),Reflect.defineProperty(t,a,i)}})}function _(e){if(typeof e==="bigint")return e.toString()+"n";if(typeof e==="string")return`"${e}"`;return`${e}`}function ru(e){return Object.keys(e).filter((t)=>{return e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional"})}function kh(e,t){let n=e._zod.def,a=n.checks;if(a&&a.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let i=ye(e._zod.def,{get shape(){let r={};for(let o in t){if(!(o in n.shape))throw Error(`Unrecognized key: "${o}"`);if(!t[o])continue;r[o]=n.shape[o]}return Ue(this,"shape",r),r},checks:[]});return ae(e,i)}function wh(e,t){let n=e._zod.def,a=n.checks;if(a&&a.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let i=ye(e._zod.def,{get shape(){let r={...e._zod.def.shape};for(let o in t){if(!(o in n.shape))throw Error(`Unrecognized key: "${o}"`);if(!t[o])continue;delete r[o]}return Ue(this,"shape",r),r},checks:[]});return ae(e,i)}function Sh(e,t){if(!Ae(t))throw Error("Invalid input to extend: expected a plain object");let n=e._zod.def.checks;if(n&&n.length>0){let i=e._zod.def.shape;for(let r in t)if(Object.getOwnPropertyDescriptor(i,r)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let a=ye(e._zod.def,{get shape(){let i={...e._zod.def.shape,...t};return Ue(this,"shape",i),i}});return ae(e,a)}function Ih(e,t){if(!Ae(t))throw Error("Invalid input to safeExtend: expected a plain object");let n=ye(e._zod.def,{get shape(){let a={...e._zod.def.shape,...t};return Ue(this,"shape",a),a}});return ae(e,n)}function xh(e,t){if(e._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let n=ye(e._zod.def,{get shape(){let a={...e._zod.def.shape,...t._zod.def.shape};return Ue(this,"shape",a),a},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]});return ae(e,n)}function zh(e,t,n){let a=t._zod.def.checks;if(a&&a.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let i=ye(t._zod.def,{get shape(){let r=t._zod.def.shape,o={...r};if(n)for(let s in n){if(!(s in r))throw Error(`Unrecognized key: "${s}"`);if(!n[s])continue;o[s]=e?new e({type:"optional",innerType:r[s]}):r[s]}else for(let s in r)o[s]=e?new e({type:"optional",innerType:r[s]}):r[s];return Ue(this,"shape",o),o},checks:[]});return ae(t,i)}function Uh(e,t,n){let a=ye(t._zod.def,{get shape(){let i=t._zod.def.shape,r={...i};if(n)for(let o in n){if(!(o in r))throw Error(`Unrecognized key: "${o}"`);if(!n[o])continue;r[o]=new e({type:"nonoptional",innerType:i[o]})}else for(let o in i)r[o]=new e({type:"nonoptional",innerType:i[o]});return Ue(this,"shape",r),r}});return ae(t,a)}function Ne(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function su(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue===!1)return!0;return!1}function ie(e,t){return t.map((n)=>{var a;return(a=n).path??(a.path=[]),n.path.unshift(e),n})}function $t(e){return typeof e==="string"?e:e?.message}function Q(e,t,n){let a=e.message?e.message:$t(e.inst?._zod.def?.error?.(e))??$t(t?.error?.(e))??$t(n.customError?.(e))??$t(n.localeError?.(e))??"Invalid input",{inst:i,continue:r,input:o,...s}=e;if(s.path??(s.path=[]),s.message=a,t?.reportInput)s.input=o;return s}function Ei(e){if(e instanceof Set)return"set";if(e instanceof Map)return"map";if(e instanceof File)return"file";return"unknown"}function Ti(e){if(Array.isArray(e))return"array";if(typeof e==="string")return"string";return"unknown"}function w(e){let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":{if(e===null)return"null";if(Array.isArray(e))return"array";let n=e;if(n&&Object.getPrototypeOf(n)!==Object.prototype&&"constructor"in n&&n.constructor)return n.constructor.name}}return t}function ki(...e){let[t,n,a]=e;if(typeof t==="string")return{message:t,code:"custom",input:n,inst:a};return{...t}}function Ph(e){return Object.entries(e).filter(([t,n])=>{return Number.isNaN(Number.parseInt(t,10))}).map((t)=>t[1])}function uu(e){let t=atob(e),n=new Uint8Array(t.length);for(let a=0;a<t.length;a++)n[a]=t.charCodeAt(a);return n}function lu(e){let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}function Eh(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),n="=".repeat((4-t.length%4)%4);return uu(t+n)}function Th(e){return lu(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function Oh(e){let t=e.replace(/^0x/,"");if(t.length%2!==0)throw Error("Invalid hex string length");let n=new Uint8Array(t.length/2);for(let a=0;a<t.length;a+=2)n[a/2]=Number.parseInt(t.slice(a,a+2),16);return n}function jh(e){return Array.from(e).map((t)=>t.toString(16).padStart(2,"0")).join("")}class du{constructor(...e){}}function sr(e,t=(n)=>n.message){let n={},a=[];for(let i of e.issues)if(i.path.length>0)n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i));else a.push(t(i));return{formErrors:a,fieldErrors:n}}function ur(e,t=(n)=>n.message){let n={_errors:[]},a=(i,r=[])=>{for(let o of i.issues)if(o.code==="invalid_union"&&o.errors.length)o.errors.map((s)=>a({issues:s},[...r,...o.path]));else if(o.code==="invalid_key")a({issues:o.issues},[...r,...o.path]);else if(o.code==="invalid_element")a({issues:o.issues},[...r,...o.path]);else{let s=[...r,...o.path];if(s.length===0)n._errors.push(t(o));else{let l=n,d=0;while(d<s.length){let c=s[d];if(d!==s.length-1)l[c]=l[c]||{_errors:[]};else l[c]=l[c]||{_errors:[]},l[c]._errors.push(t(o));l=l[c],d++}}}};return a(e),n}function mu(e,t=(n)=>n.message){let n={errors:[]},a=(i,r=[])=>{var o,s;for(let l of i.issues)if(l.code==="invalid_union"&&l.errors.length)l.errors.map((d)=>a({issues:d},[...r,...l.path]));else if(l.code==="invalid_key")a({issues:l.issues},[...r,...l.path]);else if(l.code==="invalid_element")a({issues:l.issues},[...r,...l.path]);else{let d=[...r,...l.path];if(d.length===0){n.errors.push(t(l));continue}let c=n,p=0;while(p<d.length){let v=d[p],f=p===d.length-1;if(typeof v==="string")c.properties??(c.properties={}),(o=c.properties)[v]??(o[v]={errors:[]}),c=c.properties[v];else c.items??(c.items=[]),(s=c.items)[v]??(s[v]={errors:[]}),c=c.items[v];if(f)c.errors.push(t(l));p++}}};return a(e),n}function fu(e){let t=[],n=e.map((a)=>typeof a==="object"?a.key:a);for(let a of n)if(typeof a==="number")t.push(`[${a}]`);else if(typeof a==="symbol")t.push(`[${JSON.stringify(String(a))}]`);else if(/[^\w$]/.test(a))t.push(`[${JSON.stringify(a)}]`);else{if(t.length)t.push(".");t.push(a)}return t.join("")}function pu(e){let t=[],n=[...e.issues].sort((a,i)=>(a.path??[]).length-(i.path??[]).length);for(let a of n)if(t.push(`✖ ${a.message}`),a.path?.length)t.push(` → at ${fu(a.path)}`);return t.join(`
13
+ `)}function zu(){return new RegExp(Vh,"u")}function Zu(e){return typeof e.precision==="number"?e.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":e.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${e.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function Ru(e){return new RegExp(`^${Zu(e)}$`)}function Mu(e){let t=Zu({precision:e.precision}),n=["Z"];if(e.local)n.push("");if(e.offset)n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let a=`${t}(?:${n.join("|")})`;return new RegExp(`^${Du}T(?:${a})$`)}function Nt(e,t){return new RegExp(`^[A-Za-z0-9+/]{${e}}${t}$`)}function At(e){return new RegExp(`^[A-Za-z0-9_-]{${e}}$`)}function ts(e,t,n){if(e.issues.length)t.issues.push(...ie(n,e.issues))}class _r{constructor(e=[]){if(this.content=[],this.indent=0,this)this.args=e}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e==="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let t=e.split(`
14
+ `).filter((i)=>i),n=Math.min(...t.map((i)=>i.length-i.trimStart().length)),a=t.map((i)=>i.slice(n)).map((i)=>" ".repeat(this.indent*2)+i);for(let i of a)this.content.push(i)}compile(){let e=Function,t=this?.args,n=[...(this?.content??[""]).map((a)=>` ${a}`)];return new e(...t,n.join(`
15
+ `))}}function kr(e){if(e==="")return!0;if(/\s/.test(e))return!1;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}function Dl(e){if(!hr.test(e))return!1;let t=e.replace(/[-_]/g,(a)=>a==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return kr(n)}function Rl(e,t=null){try{let n=e.split(".");if(n.length!==3)return!1;let[a]=n;if(!a)return!1;let i=JSON.parse(atob(a));if("typ"in i&&i?.typ!=="JWT")return!1;if(!i.alg)return!1;if(t&&(!("alg"in i)||i.alg!==t))return!1;return!0}catch{return!1}}function is(e,t,n){if(e.issues.length)t.issues.push(...ie(n,e.issues));t.value[n]=e.value}function wi(e,t,n,a,i,r){let o=n in a;if(e.issues.length){if(i&&r&&!o)return;t.issues.push(...ie(n,e.issues))}if(!o&&!i){if(!e.issues.length)t.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[n]});return}if(e.value===void 0){if(o)t.value[n]=void 0}else t.value[n]=e.value}function ql(e){let t=Object.keys(e.shape);for(let a of t)if(!e.shape?.[a]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${a}": expected a Zod schema`);let n=ru(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function ed(e,t,n,a,i,r){let o=[],s=i.keySet,l=i.catchall._zod,d=l.def.type,c=l.optin==="optional",p=l.optout==="optional";for(let v in t){if(v==="__proto__")continue;if(s.has(v))continue;if(d==="never"){o.push(v);continue}let f=l.run({value:t[v],issues:[]},a);if(f instanceof Promise)e.push(f.then((y)=>wi(y,n,v,t,c,p)));else wi(f,n,v,t,c,p)}if(o.length)n.issues.push({code:"unrecognized_keys",keys:o,input:t,inst:r});if(!e.length)return n;return Promise.all(e).then(()=>{return n})}function ns(e,t,n,a){for(let r of e)if(r.issues.length===0)return t.value=r.value,t;let i=e.filter((r)=>!Ne(r));if(i.length===1)return t.value=i[0].value,i[0];return t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map((r)=>r.issues.map((o)=>Q(o,a,K())))}),t}function rs(e,t,n,a){let i=e.filter((r)=>r.issues.length===0);if(i.length===1)return t.value=i[0].value,t;if(i.length===0)t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map((r)=>r.issues.map((o)=>Q(o,a,K())))});else t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:[],inclusive:!1});return t}function Bn(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e===+t)return{valid:!0,data:e};if(Ae(e)&&Ae(t)){let n=Object.keys(t),a=Object.keys(e).filter((r)=>n.indexOf(r)!==-1),i={...e,...t};for(let r of a){let o=Bn(e[r],t[r]);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};i[r]=o.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let a=0;a<e.length;a++){let i=e[a],r=t[a],o=Bn(i,r);if(!o.valid)return{valid:!1,mergeErrorPath:[a,...o.mergeErrorPath]};n.push(o.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function as(e,t,n){let a=new Map,i;for(let s of t.issues)if(s.code==="unrecognized_keys"){i??(i=s);for(let l of s.keys){if(!a.has(l))a.set(l,{});a.get(l).l=!0}}else e.issues.push(s);for(let s of n.issues)if(s.code==="unrecognized_keys")for(let l of s.keys){if(!a.has(l))a.set(l,{});a.get(l).r=!0}else e.issues.push(s);let r=[...a].filter(([,s])=>s.l&&s.r).map(([s])=>s);if(r.length&&i)e.issues.push({...i,keys:r});if(Ne(e))return e;let o=Bn(t.value,n.value);if(!o.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return e.value=o.data,e}function os(e,t){for(let n=e.length-1;n>=0;n--)if(e[n]._zod[t]!=="optional")return n+1;return 0}function ss(e,t,n){if(e.issues.length)t.issues.push(...ie(n,e.issues));t.value[n]=e.value}function us(e,t,n,a,i){for(let r=0;r<n.length;r++){let o=e[r],s=r<a.length;if(o.issues.length){if(!s&&r>=i){t.value.length=r;break}t.issues.push(...ie(r,o.issues))}t.value[r]=o.value}for(let r=t.value.length-1;r>=a.length;r--)if(n[r]._zod.optout==="optional"&&t.value[r]===void 0)t.value.length=r;else break;return t}function ls(e,t,n,a,i,r,o){if(e.issues.length)if(_i.has(typeof a))n.issues.push(...ie(a,e.issues));else n.issues.push({code:"invalid_key",origin:"map",input:i,inst:r,issues:e.issues.map((s)=>Q(s,o,K()))});if(t.issues.length)if(_i.has(typeof a))n.issues.push(...ie(a,t.issues));else n.issues.push({origin:"map",code:"invalid_element",input:i,inst:r,key:a,issues:t.issues.map((s)=>Q(s,o,K()))});n.value.set(e.value,t.value)}function ds(e,t){if(e.issues.length)t.issues.push(...e.issues);t.value.add(e.value)}function cs(e,t){if(t===void 0&&(e.issues.length||e.fallback))return{issues:[],value:void 0};return e}function ms(e,t){if(e.value===void 0)e.value=t.defaultValue;return e}function fs(e,t){if(!e.issues.length&&e.value===void 0)e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t});return e}function mi(e,t,n){if(e.issues.length)return e.aborted=!0,e;return t._zod.run({value:e.value,issues:e.issues,fallback:e.fallback},n)}function fi(e,t,n){if(e.issues.length)return e.aborted=!0,e;if((n.direction||"forward")==="forward"){let a=t.transform(e.value,e);if(a instanceof Promise)return a.then((i)=>pi(e,i,t.out,n));return pi(e,a,t.out,n)}else{let a=t.reverseTransform(e.value,e);if(a instanceof Promise)return a.then((i)=>pi(e,i,t.in,n));return pi(e,a,t.in,n)}}function pi(e,t,n,a){if(e.issues.length)return e.aborted=!0,e;return n._zod.run({value:t,issues:e.issues},a)}function ps(e){return e.value=Object.freeze(e.value),e}function vs(e,t,n,a){if(!e){let i={code:"custom",input:n,inst:a,path:[...a._zod.def.path??[]],continue:!a._zod.def.abort};if(a._zod.def.params)i.params=a._zod.def.params;t.issues.push(ki(i))}}function gy(){return{localeError:vy()}}function yy(){return{localeError:hy()}}function gs(e,t,n,a){let i=Math.abs(e),r=i%10,o=i%100;if(o>=11&&o<=19)return a;if(r===1)return t;if(r>=2&&r<=4)return n;return a}function $y(){return{localeError:by()}}function ky(){return{localeError:_y()}}function Sy(){return{localeError:wy()}}function xy(){return{localeError:Iy()}}function Uy(){return{localeError:zy()}}function Ey(){return{localeError:Py()}}function Oy(){return{localeError:Ty()}}function Ud(){return{localeError:jy()}}function Ay(){return{localeError:Ny()}}function Cy(){return{localeError:Dy()}}function Ry(){return{localeError:Zy()}}function Ly(){return{localeError:My()}}function Jy(){return{localeError:Fy()}}function Gy(){return{localeError:Ky()}}function Hy(){return{localeError:Wy()}}function Xy(){return{localeError:By()}}function Yy(){return{localeError:Vy()}}function hs(e,t,n){return Math.abs(e)===1?t:n}function Ye(e){if(!e)return"";let t=["ա","ե","ը","ի","ո","ու","օ"],n=e[e.length-1];return e+(t.includes(n)?"ն":"ը")}function qy(){return{localeError:Qy()}}function tb(){return{localeError:eb()}}function nb(){return{localeError:ib()}}function ab(){return{localeError:rb()}}function sb(){return{localeError:ob()}}function lb(){return{localeError:ub()}}function Pd(){return{localeError:db()}}function cb(){return Pd()}function fb(){return{localeError:mb()}}function ys(e){let t=Math.abs(e),n=t%10,a=t%100;if(a>=11&&a<=19||n===0)return"many";if(n===1)return"one";return"few"}function vb(){return{localeError:pb()}}function hb(){return{localeError:gb()}}function bb(){return{localeError:yb()}}function _b(){return{localeError:$b()}}function wb(){return{localeError:kb()}}function Ib(){return{localeError:Sb()}}function zb(){return{localeError:xb()}}function Pb(){return{localeError:Ub()}}function Tb(){return{localeError:Eb()}}function jb(){return{localeError:Ob()}}function bs(e,t,n,a){let i=Math.abs(e),r=i%10,o=i%100;if(o>=11&&o<=19)return a;if(r===1)return t;if(r>=2&&r<=4)return n;return a}function Ab(){return{localeError:Nb()}}function Cb(){return{localeError:Db()}}function Rb(){return{localeError:Zb()}}function Lb(){return{localeError:Mb()}}function Jb(){return{localeError:Fb()}}function Gb(){return{localeError:Kb()}}function Ed(){return{localeError:Wb()}}function Hb(){return Ed()}function Xb(){return{localeError:Bb()}}function Yb(){return{localeError:Vb()}}function qb(){return{localeError:Qb()}}function t$(){return{localeError:e$()}}function n$(){return{localeError:i$()}}function a$(){return{localeError:r$()}}class Tr{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];if(this._map.set(e,n),n&&typeof n==="object"&&"id"in n)this._idmap.set(n.id,e);return this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);if(t&&typeof t==="object"&&"id"in t)this._idmap.delete(t.id);return this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let a={...n,...this._map.get(e)};return Object.keys(a).length?a:void 0}return this._map.get(e)}has(e){return this._map.has(e)}}function Or(){return new Tr}function jd(e,t){return new e({type:"string",...h(t)})}function Nd(e,t){return new e({type:"string",coerce:!0,...h(t)})}function jr(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...h(t)})}function Si(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...h(t)})}function Nr(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...h(t)})}function Ar(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...h(t)})}function Dr(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...h(t)})}function Cr(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...h(t)})}function ji(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...h(t)})}function Zr(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...h(t)})}function Rr(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...h(t)})}function Mr(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...h(t)})}function Lr(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...h(t)})}function Fr(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...h(t)})}function Jr(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...h(t)})}function Kr(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...h(t)})}function Gr(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...h(t)})}function Wr(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...h(t)})}function Ad(e,t){return new e({type:"string",format:"mac",check:"string_format",abort:!1,...h(t)})}function Hr(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...h(t)})}function Br(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...h(t)})}function Xr(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...h(t)})}function Vr(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...h(t)})}function Yr(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...h(t)})}function Qr(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...h(t)})}function Cd(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...h(t)})}function Zd(e,t){return new e({type:"string",format:"date",check:"string_format",...h(t)})}function Rd(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...h(t)})}function Md(e,t){return new e({type:"string",format:"duration",check:"string_format",...h(t)})}function Ld(e,t){return new e({type:"number",checks:[],...h(t)})}function Fd(e,t){return new e({type:"number",coerce:!0,checks:[],...h(t)})}function Jd(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...h(t)})}function Kd(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"float32",...h(t)})}function Gd(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"float64",...h(t)})}function Wd(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"int32",...h(t)})}function Hd(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"uint32",...h(t)})}function Bd(e,t){return new e({type:"boolean",...h(t)})}function Xd(e,t){return new e({type:"boolean",coerce:!0,...h(t)})}function Vd(e,t){return new e({type:"bigint",...h(t)})}function Yd(e,t){return new e({type:"bigint",coerce:!0,...h(t)})}function Qd(e,t){return new e({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...h(t)})}function qd(e,t){return new e({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...h(t)})}function ec(e,t){return new e({type:"symbol",...h(t)})}function tc(e,t){return new e({type:"undefined",...h(t)})}function ic(e,t){return new e({type:"null",...h(t)})}function nc(e){return new e({type:"any"})}function rc(e){return new e({type:"unknown"})}function ac(e,t){return new e({type:"never",...h(t)})}function oc(e,t){return new e({type:"void",...h(t)})}function sc(e,t){return new e({type:"date",...h(t)})}function uc(e,t){return new e({type:"date",coerce:!0,...h(t)})}function lc(e,t){return new e({type:"nan",...h(t)})}function Ie(e,t){return new br({check:"less_than",...h(t),value:e,inclusive:!1})}function re(e,t){return new br({check:"less_than",...h(t),value:e,inclusive:!0})}function xe(e,t){return new $r({check:"greater_than",...h(t),value:e,inclusive:!1})}function Y(e,t){return new $r({check:"greater_than",...h(t),value:e,inclusive:!0})}function qr(e){return xe(0,e)}function ea(e){return Ie(0,e)}function ta(e){return re(0,e)}function ia(e){return Y(0,e)}function it(e,t){return new Vu({check:"multiple_of",...h(t),value:e})}function ut(e,t){return new qu({check:"max_size",...h(t),maximum:e})}function ze(e,t){return new el({check:"min_size",...h(t),minimum:e})}function Zt(e,t){return new tl({check:"size_equals",...h(t),size:e})}function Rt(e,t){return new il({check:"max_length",...h(t),maximum:e})}function De(e,t){return new nl({check:"min_length",...h(t),minimum:e})}function Mt(e,t){return new rl({check:"length_equals",...h(t),length:e})}function Ni(e,t){return new al({check:"string_format",format:"regex",...h(t),pattern:e})}function Ai(e){return new ol({check:"string_format",format:"lowercase",...h(e)})}function Di(e){return new sl({check:"string_format",format:"uppercase",...h(e)})}function Ci(e,t){return new ul({check:"string_format",format:"includes",...h(t),includes:e})}function Zi(e,t){return new ll({check:"string_format",format:"starts_with",...h(t),prefix:e})}function Ri(e,t){return new dl({check:"string_format",format:"ends_with",...h(t),suffix:e})}function na(e,t,n){return new cl({check:"property",property:e,schema:t,...h(n)})}function Mi(e,t){return new ml({check:"mime_type",mime:e,...h(t)})}function be(e){return new fl({check:"overwrite",tx:e})}function Li(e){return be((t)=>t.normalize(e))}function Fi(){return be((e)=>e.trim())}function Ji(){return be((e)=>e.toLowerCase())}function Ki(){return be((e)=>e.toUpperCase())}function Gi(){return be((e)=>eu(e))}function dc(e,t,n){return new e({type:"array",element:t,...h(n)})}function o$(e,t,n){return new e({type:"union",options:t,...h(n)})}function s$(e,t,n){return new e({type:"union",options:t,inclusive:!1,...h(n)})}function u$(e,t,n,a){return new e({type:"union",options:n,discriminator:t,...h(a)})}function l$(e,t,n){return new e({type:"intersection",left:t,right:n})}function d$(e,t,n,a){let i=n instanceof x;return new e({type:"tuple",items:t,rest:i?n:null,...h(i?a:n)})}function c$(e,t,n,a){return new e({type:"record",keyType:t,valueType:n,...h(a)})}function m$(e,t,n,a){return new e({type:"map",keyType:t,valueType:n,...h(a)})}function f$(e,t,n){return new e({type:"set",valueType:t,...h(n)})}function p$(e,t,n){let a=Array.isArray(t)?Object.fromEntries(t.map((i)=>[i,i])):t;return new e({type:"enum",entries:a,...h(n)})}function v$(e,t,n){return new e({type:"enum",entries:t,...h(n)})}function g$(e,t,n){return new e({type:"literal",values:Array.isArray(t)?t:[t],...h(n)})}function cc(e,t){return new e({type:"file",...h(t)})}function h$(e,t){return new e({type:"transform",transform:t})}function y$(e,t){return new e({type:"optional",innerType:t})}function b$(e,t){return new e({type:"nullable",innerType:t})}function $$(e,t,n){return new e({type:"default",innerType:t,get defaultValue(){return typeof n==="function"?n():iu(n)}})}function _$(e,t,n){return new e({type:"nonoptional",innerType:t,...h(n)})}function k$(e,t){return new e({type:"success",innerType:t})}function w$(e,t,n){return new e({type:"catch",innerType:t,catchValue:typeof n==="function"?n:()=>n})}function S$(e,t,n){return new e({type:"pipe",in:t,out:n})}function I$(e,t){return new e({type:"readonly",innerType:t})}function x$(e,t,n){return new e({type:"template_literal",parts:t,...h(n)})}function z$(e,t){return new e({type:"lazy",getter:t})}function U$(e,t){return new e({type:"promise",innerType:t})}function mc(e,t,n){let a=h(n);return a.abort??(a.abort=!0),new e({type:"custom",check:"custom",fn:t,...a})}function fc(e,t,n){return new e({type:"custom",check:"custom",fn:t,...h(n)})}function pc(e,t){let n=vc((a)=>{return a.addIssue=(i)=>{if(typeof i==="string")a.issues.push(ki(i,a.value,n._zod.def));else{let r=i;if(r.fatal)r.continue=!1;r.code??(r.code="custom"),r.input??(r.input=a.value),r.inst??(r.inst=n),r.continue??(r.continue=!n._zod.def.abort),a.issues.push(ki(r))}},e(a.value,a)},t);return n}function vc(e,t){let n=new R({check:"custom",...h(t)});return n._zod.check=e,n}function gc(e){let t=new R({check:"describe"});return t._zod.onattach=[(n)=>{let a=ne.get(n)??{};ne.add(n,{...a,description:e})}],t._zod.check=()=>{},t}function hc(e){let t=new R({check:"meta"});return t._zod.onattach=[(n)=>{let a=ne.get(n)??{};ne.add(n,{...a,...e})}],t._zod.check=()=>{},t}function yc(e,t){let n=h(t),a=n.truthy??["true","1","yes","on","y","enabled"],i=n.falsy??["false","0","no","off","n","disabled"];if(n.case!=="sensitive")a=a.map((v)=>typeof v==="string"?v.toLowerCase():v),i=i.map((v)=>typeof v==="string"?v.toLowerCase():v);let r=new Set(a),o=new Set(i),s=e.Codec??Pr,l=e.Boolean??Sr,d=new(e.String??Ct)({type:"string",error:n.error}),c=new l({type:"boolean",error:n.error}),p=new s({type:"pipe",in:d,out:c,transform:(v,f)=>{let y=v;if(n.case!=="sensitive")y=y.toLowerCase();if(r.has(y))return!0;else if(o.has(y))return!1;else return f.issues.push({code:"invalid_value",expected:"stringbool",values:[...r,...o],input:f.value,inst:p,continue:!1}),{}},reverseTransform:(v,f)=>{if(v===!0)return a[0]||"true";else return i[0]||"false"},error:n.error});return p}function Lt(e,t,n,a={}){let i=h(a),r={...h(a),check:"string_format",type:"string",format:t,fn:typeof n==="function"?n:(o)=>n.test(o),...i};if(n instanceof RegExp)r.pattern=n;return new e(r)}function nt(e){let t=e?.target??"draft-2020-12";if(t==="draft-4")t="draft-04";if(t==="draft-7")t="draft-07";return{processors:e.processors??{},metadataRegistry:e?.metadata??ne,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function N(e,t,n={path:[],schemaPath:[]}){var a;let i=e._zod.def,r=t.seen.get(e);if(r){if(r.count++,n.schemaPath.includes(e))r.cycle=n.path;return r.schema}let o={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,o);let s=e._zod.toJSONSchema?.();if(s)o.schema=s;else{let d={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,o.schema,d);else{let p=o.schema,v=t.processors[i.type];if(!v)throw Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);v(e,t,p,d)}let c=e._zod.parent;if(c){if(!o.ref)o.ref=c;N(c,t,d),t.seen.get(c).isParent=!0}}let l=t.metadataRegistry.get(e);if(l)Object.assign(o.schema,l);if(t.io==="input"&&B(e))delete o.schema.examples,delete o.schema.default;if(t.io==="input"&&"_prefault"in o.schema)(a=o.schema).default??(a.default=o.schema._prefault);return delete o.schema._prefault,t.seen.get(e).schema}function rt(e,t){let n=e.seen.get(t);if(!n)throw Error("Unprocessed schema. This is a bug in Zod.");let a=new Map;for(let o of e.seen.entries()){let s=e.metadataRegistry.get(o[0])?.id;if(s){let l=a.get(s);if(l&&l!==o[0])throw Error(`Duplicate schema id "${s}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);a.set(s,o[0])}}let i=(o)=>{let s=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){let c=e.external.registry.get(o[0])?.id,p=e.external.uri??((f)=>f);if(c)return{ref:p(c)};let v=o[1].defId??o[1].schema.id??`schema${e.counter++}`;return o[1].defId=v,{defId:v,ref:`${p("__shared")}#/${s}/${v}`}}if(o[1]===n)return{ref:"#"};let l=`#/${s}/`,d=o[1].schema.id??`__schema${e.counter++}`;return{defId:d,ref:l+d}},r=(o)=>{if(o[1].schema.$ref)return;let s=o[1],{ref:l,defId:d}=i(o);if(s.def={...s.schema},d)s.defId=d;let c=s.schema;for(let p in c)delete c[p];c.$ref=l};if(e.cycles==="throw")for(let o of e.seen.entries()){let s=o[1];if(s.cycle)throw Error(`Cycle detected: #/${s.cycle?.join("/")}/<root>
16
+
17
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let o of e.seen.entries()){let s=o[1];if(t===o[0]){r(o);continue}if(e.external){let l=e.external.registry.get(o[0])?.id;if(t!==o[0]&&l){r(o);continue}}if(e.metadataRegistry.get(o[0])?.id){r(o);continue}if(s.cycle){r(o);continue}if(s.count>1){if(e.reused==="ref"){r(o);continue}}}}function at(e,t){let n=e.seen.get(t);if(!n)throw Error("Unprocessed schema. This is a bug in Zod.");let a=(s)=>{let l=e.seen.get(s);if(l.ref===null)return;let d=l.def??l.schema,c={...d},p=l.ref;if(l.ref=null,p){a(p);let f=e.seen.get(p),y=f.schema;if(y.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0"))d.allOf=d.allOf??[],d.allOf.push(y);else Object.assign(d,y);if(Object.assign(d,c),s._zod.parent===p)for(let k in d){if(k==="$ref"||k==="allOf")continue;if(!(k in c))delete d[k]}if(y.$ref&&f.def)for(let k in d){if(k==="$ref"||k==="allOf")continue;if(k in f.def&&JSON.stringify(d[k])===JSON.stringify(f.def[k]))delete d[k]}}let v=s._zod.parent;if(v&&v!==p){a(v);let f=e.seen.get(v);if(f?.schema.$ref){if(d.$ref=f.schema.$ref,f.def)for(let y in d){if(y==="$ref"||y==="allOf")continue;if(y in f.def&&JSON.stringify(d[y])===JSON.stringify(f.def[y]))delete d[y]}}}e.override({zodSchema:s,jsonSchema:d,path:l.path??[]})};for(let s of[...e.seen.entries()].reverse())a(s[0]);let i={};if(e.target==="draft-2020-12")i.$schema="https://json-schema.org/draft/2020-12/schema";else if(e.target==="draft-07")i.$schema="http://json-schema.org/draft-07/schema#";else if(e.target==="draft-04")i.$schema="http://json-schema.org/draft-04/schema#";else if(e.target==="openapi-3.0");if(e.external?.uri){let s=e.external.registry.get(t)?.id;if(!s)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(s)}Object.assign(i,n.def??n.schema);let r=e.metadataRegistry.get(t)?.id;if(r!==void 0&&i.id===r)delete i.id;let o=e.external?.defs??{};for(let s of e.seen.entries()){let l=s[1];if(l.def&&l.defId){if(l.def.id===l.defId)delete l.def.id;o[l.defId]=l.def}}if(e.external);else if(Object.keys(o).length>0)if(e.target==="draft-2020-12")i.$defs=o;else i.definitions=o;try{let s=JSON.parse(JSON.stringify(i));return Object.defineProperty(s,"~standard",{value:{...t["~standard"],jsonSchema:{input:wt(t,"input",e.processors),output:wt(t,"output",e.processors)}},enumerable:!1,writable:!1}),s}catch(s){throw Error("Error converting schema to JSON.")}}function B(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let a=e._zod.def;if(a.type==="transform")return!0;if(a.type==="array")return B(a.element,n);if(a.type==="set")return B(a.valueType,n);if(a.type==="lazy")return B(a.getter(),n);if(a.type==="promise"||a.type==="optional"||a.type==="nonoptional"||a.type==="nullable"||a.type==="readonly"||a.type==="default"||a.type==="prefault")return B(a.innerType,n);if(a.type==="intersection")return B(a.left,n)||B(a.right,n);if(a.type==="record"||a.type==="map")return B(a.keyType,n)||B(a.valueType,n);if(a.type==="pipe"){if(e._zod.traits.has("$ZodCodec"))return!0;return B(a.in,n)||B(a.out,n)}if(a.type==="object"){for(let i in a.shape)if(B(a.shape[i],n))return!0;return!1}if(a.type==="union"){for(let i of a.options)if(B(i,n))return!0;return!1}if(a.type==="tuple"){for(let i of a.items)if(B(i,n))return!0;if(a.rest&&B(a.rest,n))return!0;return!1}return!1}function nm(e,t){if("_idmap"in e){let a=e,i=nt({...t,processors:Xn}),r={};for(let l of a._idmap.entries()){let[d,c]=l;N(c,i)}let o={},s={registry:a,uri:t?.uri,defs:r};i.external=s;for(let l of a._idmap.entries()){let[d,c]=l;rt(i,c),o[d]=at(i,c)}if(Object.keys(r).length>0){let l=i.target==="draft-2020-12"?"$defs":"definitions";o.__shared={[l]:r}}return{schemas:o}}let n=nt({...t,processors:Xn});return N(e,n),rt(n,e),at(n,e)}class rm{get metadataRegistry(){return this.ctx.metadataRegistry}get target(){return this.ctx.target}get unrepresentable(){return this.ctx.unrepresentable}get override(){return this.ctx.override}get io(){return this.ctx.io}get counter(){return this.ctx.counter}set counter(e){this.ctx.counter=e}get seen(){return this.ctx.seen}constructor(e){let t=e?.target??"draft-2020-12";if(t==="draft-4")t="draft-04";if(t==="draft-7")t="draft-07";this.ctx=nt({processors:Xn,target:t,...e?.metadata&&{metadata:e.metadata},...e?.unrepresentable&&{unrepresentable:e.unrepresentable},...e?.override&&{override:e.override},...e?.io&&{io:e.io}})}process(e,t={path:[],schemaPath:[]}){return N(e,this.ctx,t)}emit(e,t){if(t){if(t.cycles)this.ctx.cycles=t.cycles;if(t.reused)this.ctx.reused=t.reused;if(t.external)this.ctx.external=t.external}rt(this.ctx,e);let n=at(this.ctx,e),{"~standard":a,...i}=n;return i}}function sm(e){return Cd(sa,e)}function um(e){return Zd(ua,e)}function lm(e){return Rd(la,e)}function dm(e){return Md(da,e)}function Ft(e,t,n){let a=Object.getPrototypeOf(e),i=_s.get(a);if(!i)i=new Set,_s.set(a,i);if(i.has(t))return;i.add(t);for(let r in n){let o=n[r];Object.defineProperty(a,r,{configurable:!0,enumerable:!1,get(){let s=o.bind(this);return Object.defineProperty(this,r,{configurable:!0,writable:!0,enumerable:!0,value:s}),s},set(s){Object.defineProperty(this,r,{configurable:!0,writable:!0,enumerable:!0,value:s})}})}}function St(e){return jd(Jt,e)}function Sm(e){return jr(Hi,e)}function Im(e){return Si(It,e)}function xm(e){return Nr(ve,e)}function zm(e){return Ar(ve,e)}function Um(e){return Dr(ve,e)}function Pm(e){return Cr(ve,e)}function Em(e){return ji(Kt,e)}function Tm(e){return ji(Kt,{protocol:Se.httpProtocol,hostname:Se.domain,...U.normalizeParams(e)})}function Om(e){return Zr(Bi,e)}function jm(e){return Rr(Xi,e)}function Nm(e){return Mr(Vi,e)}function Am(e){return Lr(Yi,e)}function Dm(e){return Fr(Qi,e)}function Cm(e){return Jr(qi,e)}function Zm(e){return Kr(en,e)}function Rm(e){return Gr(tn,e)}function Mm(e){return Ad(ca,e)}function Lm(e){return Wr(nn,e)}function Fm(e){return Hr(rn,e)}function Jm(e){return Br(an,e)}function Km(e){return Xr(on,e)}function Gm(e){return Vr(sn,e)}function Wm(e){return Yr(un,e)}function Hm(e){return Qr(ln,e)}function Bm(e,t,n={}){return Lt(lt,e,t,n)}function Xm(e){return Lt(lt,"hostname",Se.hostname,e)}function Vm(e){return Lt(lt,"hex",Se.hex,e)}function Ym(e,t){let n=t?.enc??"hex",a=`${e}_${n}`,i=Se[a];if(!i)throw Error(`Unrecognized hash format: ${a}`);return Lt(lt,a,i,t)}function ma(e){return Ld(Gt,e)}function Ii(e){return Jd(Me,e)}function Qm(e){return Kd(Me,e)}function qm(e){return Gd(Me,e)}function ef(e){return Wd(Me,e)}function tf(e){return Hd(Me,e)}function fa(e){return Bd(Wt,e)}function nf(e){return Vd(Ht,e)}function rf(e){return Qd(dn,e)}function af(e){return qd(dn,e)}function of(e){return ec(pa,e)}function sf(e){return tc(va,e)}function ha(e){return ic(ga,e)}function uf(){return nc(ya)}function Ce(){return rc(ba)}function cn(e){return ac($a,e)}function lf(e){return oc(_a,e)}function df(e){return sc(mn,e)}function Bt(e,t){return dc(ka,e,t)}function cf(e){let t=e._zod.def.shape;return pn(Object.keys(t))}function mf(e,t){let n={type:"object",shape:e??{},...U.normalizeParams(t)};return new Xt(n)}function ff(e,t){return new Xt({type:"object",shape:e,catchall:cn(),...U.normalizeParams(t)})}function pf(e,t){return new Xt({type:"object",shape:e,catchall:Ce(),...U.normalizeParams(t)})}function fn(e,t){return new Vt({type:"union",options:e,...U.normalizeParams(t)})}function vf(e,t){return new wa({type:"union",options:e,inclusive:!1,...U.normalizeParams(t)})}function gf(e,t,n){return new Sa({type:"union",options:t,discriminator:e,...U.normalizeParams(n)})}function xa(e,t){return new Ia({type:"intersection",left:e,right:t})}function Ua(e,t,n){let a=t instanceof x,i=a?n:t;return new za({type:"tuple",items:e,rest:a?t:null,...U.normalizeParams(i)})}function Pa(e,t,n){if(!t||!t._zod)return new ot({type:"record",keyType:St(),valueType:e,...U.normalizeParams(t)});return new ot({type:"record",keyType:e,valueType:t,...U.normalizeParams(n)})}function hf(e,t,n){let a=ae(e);return a._zod.values=void 0,new ot({type:"record",keyType:a,valueType:t,...U.normalizeParams(n)})}function yf(e,t,n){return new ot({type:"record",keyType:e,valueType:t,mode:"loose",...U.normalizeParams(n)})}function bf(e,t,n){return new Ea({type:"map",keyType:e,valueType:t,...U.normalizeParams(n)})}function $f(e,t){return new Ta({type:"set",valueType:e,...U.normalizeParams(t)})}function pn(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map((a)=>[a,a])):e;return new st({type:"enum",entries:n,...U.normalizeParams(t)})}function _f(e,t){return new st({type:"enum",entries:e,...U.normalizeParams(t)})}function kf(e,t){return new Oa({type:"literal",values:Array.isArray(e)?e:[e],...U.normalizeParams(t)})}function wf(e){return cc(ja,e)}function vn(e){return new Na({type:"transform",transform:e})}function xt(e){return new gn({type:"optional",innerType:e})}function Da(e){return new Aa({type:"optional",innerType:e})}function zt(e){return new Ca({type:"nullable",innerType:e})}function Sf(e){return xt(zt(e))}function Ra(e,t){return new Za({type:"default",innerType:e,get defaultValue(){return typeof t==="function"?t():U.shallowClone(t)}})}function La(e,t){return new Ma({type:"prefault",innerType:e,get defaultValue(){return typeof t==="function"?t():U.shallowClone(t)}})}function Fa(e,t){return new hn({type:"nonoptional",innerType:e,...U.normalizeParams(t)})}function If(e){return new Ja({type:"success",innerType:e})}function Ga(e,t){return new Ka({type:"catch",innerType:e,catchValue:typeof t==="function"?t:()=>t})}function xf(e){return lc(Wa,e)}function xi(e,t){return new Yt({type:"pipe",in:e,out:t})}function zf(e,t,n){return new Qt({type:"pipe",in:e,out:t,transform:n.decode,reverseTransform:n.encode})}function Uf(e){let t=e._zod.def;return new Qt({type:"pipe",in:t.out,out:t.in,transform:t.reverseTransform,reverseTransform:t.transform})}function Xa(e){return new Ba({type:"readonly",innerType:e})}function Pf(e,t){return new Va({type:"template_literal",parts:e,...U.normalizeParams(t)})}function Qa(e){return new Ya({type:"lazy",getter:e})}function Ef(e){return new qa({type:"promise",innerType:e})}function zi(e){return new eo({type:"function",input:Array.isArray(e?.input)?Ua(e?.input):e?.input??Bt(Ce()),output:e?.output??Ce()})}function Tf(e){let t=new R({check:"custom"});return t._zod.check=e,t}function Of(e,t){return mc(qt,e??(()=>!0),t)}function to(e,t={}){return fc(qt,e,t)}function io(e,t){return pc(e,t)}function Af(e,t={}){let n=new qt({type:"custom",check:"custom",fn:(a)=>a instanceof e,abort:!0,...U.normalizeParams(t)});return n._zod.bag.Class=e,n._zod.check=(a)=>{if(!(a.value instanceof e))a.issues.push({code:"invalid_type",expected:e.name,input:a.value,inst:n,path:[...n._zod.def.path??[]]})},n}function Cf(e){let t=Qa(()=>{return fn([St(e),ma(),fa(),ha(),Bt(t),Pa(St(),t)])});return t}function Zf(e,t){return new Ha({type:"pipe",in:vn(e),out:t})}function j$(e){K({customError:e})}function N$(){return K().customError}function D$(e,t){let n=e.$schema;if(n==="https://json-schema.org/draft/2020-12/schema")return"draft-2020-12";if(n==="http://json-schema.org/draft-07/schema#")return"draft-7";if(n==="http://json-schema.org/draft-04/schema#")return"draft-4";return t??"draft-2020-12"}function C$(e,t){if(!e.startsWith("#"))throw Error("External $ref is not supported, only local refs (#/...) are allowed");let n=e.slice(1).split("/").filter(Boolean);if(n.length===0)return t.rootSchema;let a=t.version==="draft-2020-12"?"$defs":"definitions";if(n[0]===a){let i=n[1];if(!i||!t.defs[i])throw Error(`Reference not found: ${e}`);return t.defs[i]}throw Error(`Reference not found: ${e}`)}function Rf(e,t){if(e.not!==void 0){if(typeof e.not==="object"&&Object.keys(e.not).length===0)return b.never();throw Error("not is not supported in Zod (except { not: {} } for never)")}if(e.unevaluatedItems!==void 0)throw Error("unevaluatedItems is not supported");if(e.unevaluatedProperties!==void 0)throw Error("unevaluatedProperties is not supported");if(e.if!==void 0||e.then!==void 0||e.else!==void 0)throw Error("Conditional schemas (if/then/else) are not supported");if(e.dependentSchemas!==void 0||e.dependentRequired!==void 0)throw Error("dependentSchemas and dependentRequired are not supported");if(e.$ref){let i=e.$ref;if(t.refs.has(i))return t.refs.get(i);if(t.processing.has(i))return b.lazy(()=>{if(!t.refs.has(i))throw Error(`Circular reference not resolved: ${i}`);return t.refs.get(i)});t.processing.add(i);let r=C$(i,t),o=G(r,t);return t.refs.set(i,o),t.processing.delete(i),o}if(e.enum!==void 0){let i=e.enum;if(t.version==="openapi-3.0"&&e.nullable===!0&&i.length===1&&i[0]===null)return b.null();if(i.length===0)return b.never();if(i.length===1)return b.literal(i[0]);if(i.every((o)=>typeof o==="string"))return b.enum(i);let r=i.map((o)=>b.literal(o));if(r.length<2)return r[0];return b.union([r[0],r[1],...r.slice(2)])}if(e.const!==void 0)return b.literal(e.const);let n=e.type;if(Array.isArray(n)){let i=n.map((r)=>{let o={...e,type:r};return Rf(o,t)});if(i.length===0)return b.never();if(i.length===1)return i[0];return b.union(i)}if(!n)return b.any();let a;switch(n){case"string":{let i=b.string();if(e.format){let r=e.format;if(r==="email")i=i.check(b.email());else if(r==="uri"||r==="uri-reference")i=i.check(b.url());else if(r==="uuid"||r==="guid")i=i.check(b.uuid());else if(r==="date-time")i=i.check(b.iso.datetime());else if(r==="date")i=i.check(b.iso.date());else if(r==="time")i=i.check(b.iso.time());else if(r==="duration")i=i.check(b.iso.duration());else if(r==="ipv4")i=i.check(b.ipv4());else if(r==="ipv6")i=i.check(b.ipv6());else if(r==="mac")i=i.check(b.mac());else if(r==="cidr")i=i.check(b.cidrv4());else if(r==="cidr-v6")i=i.check(b.cidrv6());else if(r==="base64")i=i.check(b.base64());else if(r==="base64url")i=i.check(b.base64url());else if(r==="e164")i=i.check(b.e164());else if(r==="jwt")i=i.check(b.jwt());else if(r==="emoji")i=i.check(b.emoji());else if(r==="nanoid")i=i.check(b.nanoid());else if(r==="cuid")i=i.check(b.cuid());else if(r==="cuid2")i=i.check(b.cuid2());else if(r==="ulid")i=i.check(b.ulid());else if(r==="xid")i=i.check(b.xid());else if(r==="ksuid")i=i.check(b.ksuid())}if(typeof e.minLength==="number")i=i.min(e.minLength);if(typeof e.maxLength==="number")i=i.max(e.maxLength);if(e.pattern)i=i.regex(new RegExp(e.pattern));a=i;break}case"number":case"integer":{let i=n==="integer"?b.number().int():b.number();if(typeof e.minimum==="number")i=i.min(e.minimum);if(typeof e.maximum==="number")i=i.max(e.maximum);if(typeof e.exclusiveMinimum==="number")i=i.gt(e.exclusiveMinimum);else if(e.exclusiveMinimum===!0&&typeof e.minimum==="number")i=i.gt(e.minimum);if(typeof e.exclusiveMaximum==="number")i=i.lt(e.exclusiveMaximum);else if(e.exclusiveMaximum===!0&&typeof e.maximum==="number")i=i.lt(e.maximum);if(typeof e.multipleOf==="number")i=i.multipleOf(e.multipleOf);a=i;break}case"boolean":{a=b.boolean();break}case"null":{a=b.null();break}case"object":{let i={},r=e.properties||{},o=new Set(e.required||[]);for(let[l,d]of Object.entries(r)){let c=G(d,t);i[l]=o.has(l)?c:c.optional()}if(e.propertyNames){let l=G(e.propertyNames,t),d=e.additionalProperties&&typeof e.additionalProperties==="object"?G(e.additionalProperties,t):b.any();if(Object.keys(i).length===0){a=b.record(l,d);break}let c=b.object(i).passthrough(),p=b.looseRecord(l,d);a=b.intersection(c,p);break}if(e.patternProperties){let l=e.patternProperties,d=Object.keys(l),c=[];for(let v of d){let f=G(l[v],t),y=b.string().regex(new RegExp(v));c.push(b.looseRecord(y,f))}let p=[];if(Object.keys(i).length>0)p.push(b.object(i).passthrough());if(p.push(...c),p.length===0)a=b.object({}).passthrough();else if(p.length===1)a=p[0];else{let v=b.intersection(p[0],p[1]);for(let f=2;f<p.length;f++)v=b.intersection(v,p[f]);a=v}break}let s=b.object(i);if(e.additionalProperties===!1)a=s.strict();else if(typeof e.additionalProperties==="object")a=s.catchall(G(e.additionalProperties,t));else a=s.passthrough();break}case"array":{let{prefixItems:i,items:r}=e;if(i&&Array.isArray(i)){let o=i.map((l)=>G(l,t)),s=r&&typeof r==="object"&&!Array.isArray(r)?G(r,t):void 0;if(s)a=b.tuple(o).rest(s);else a=b.tuple(o);if(typeof e.minItems==="number")a=a.check(b.minLength(e.minItems));if(typeof e.maxItems==="number")a=a.check(b.maxLength(e.maxItems))}else if(Array.isArray(r)){let o=r.map((l)=>G(l,t)),s=e.additionalItems&&typeof e.additionalItems==="object"?G(e.additionalItems,t):void 0;if(s)a=b.tuple(o).rest(s);else a=b.tuple(o);if(typeof e.minItems==="number")a=a.check(b.minLength(e.minItems));if(typeof e.maxItems==="number")a=a.check(b.maxLength(e.maxItems))}else if(r!==void 0){let o=G(r,t),s=b.array(o);if(typeof e.minItems==="number")s=s.min(e.minItems);if(typeof e.maxItems==="number")s=s.max(e.maxItems);a=s}else a=b.array(b.any());break}default:throw Error(`Unsupported type: ${n}`)}return a}function G(e,t){if(typeof e==="boolean")return e?b.any():b.never();let n=Rf(e,t),a=e.type||e.enum!==void 0||e.const!==void 0;if(e.anyOf&&Array.isArray(e.anyOf)){let s=e.anyOf.map((d)=>G(d,t)),l=b.union(s);n=a?b.intersection(n,l):l}if(e.oneOf&&Array.isArray(e.oneOf)){let s=e.oneOf.map((d)=>G(d,t)),l=b.xor(s);n=a?b.intersection(n,l):l}if(e.allOf&&Array.isArray(e.allOf))if(e.allOf.length===0)n=a?n:b.any();else{let s=a?n:G(e.allOf[0],t),l=a?0:1;for(let d=l;d<e.allOf.length;d++)s=b.intersection(s,G(e.allOf[d],t));n=s}if(e.nullable===!0&&t.version==="openapi-3.0")n=b.nullable(n);if(e.readOnly===!0)n=b.readonly(n);if(e.default!==void 0)n=n.default(e.default);let i={},r=["$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor"];for(let s of r)if(s in e)i[s]=e[s];let o=["contentEncoding","contentMediaType","contentSchema"];for(let s of o)if(s in e)i[s]=e[s];for(let s of Object.keys(e))if(!A$.has(s))i[s]=e[s];if(Object.keys(i).length>0)t.registry.add(n,i);if(e.description)n=n.describe(e.description);return n}function Z$(e,t){if(typeof e==="boolean")return e?b.any():b.never();let n;try{n=JSON.parse(JSON.stringify(e))}catch{throw Error("fromJSONSchema input is not valid JSON (possibly cyclic); use $defs/$ref for recursive schemas")}let a=D$(n,t?.defaultTarget),i=n.$defs||n.definitions||{},r={version:a,defs:i,refs:new Map,processing:new Set,rootSchema:n,registry:t?.registry??ne};return G(n,r)}function R$(e){return Nd(Jt,e)}function M$(e){return Fd(Gt,e)}function L$(e){return Xd(Wt,e)}function F$(e){return Yd(Ht,e)}function J$(e){return uc(mn,e)}function hp(e){gp.push(e)}async function q$(){let e=gp.splice(0);await Promise.all(e.map((t)=>{try{return(typeof t==="function"?t():t.dispose())??Promise.resolve()}catch{return Promise.resolve()}}))}function yp(e,t){return e.name||`extension_${String(t).padStart(4,"0")}`}function ks(e){return Array.isArray(e)&&e.every((t)=>typeof t==="string")}function ws(e){if(!Array.isArray(e))return;let t=e.filter((n)=>typeof n==="string").map((n)=>n.trim()).filter((n)=>n.length>0);return t.length>0?t:void 0}function bp(e){let t=ws(e.providerIds),n=ws(e.modelIds);return{...e,...t?{providerIds:t}:{},...n?{modelIds:n}:{}}}function i_(e,t){let n=yp(e,t),a=e.manifest;if(!a||typeof a!=="object")throw Error(`Invalid manifest for extension "${n}": manifest is required`);if(!Array.isArray(a.capabilities)||a.capabilities.length===0)throw Error(`Invalid manifest for extension "${n}": capabilities must be a non-empty array`);let i=new Set;for(let o of a.capabilities){if(!t_.has(o))throw Error(`Invalid manifest for extension "${n}": unsupported capability "${String(o)}"`);i.add(o)}if(Object.hasOwn(a,"providerIds")&&!ks(a.providerIds))throw Error(`Invalid manifest for extension "${n}": providerIds must be a string array when provided`);if(Object.hasOwn(a,"modelIds")&&!ks(a.modelIds))throw Error(`Invalid manifest for extension "${n}": modelIds must be a string array when provided`);let r=i.has("hooks");if(e.hooks!==void 0&&!r)throw Error(`Invalid manifest for extension "${n}": runtime hooks require the "hooks" capability`);return{capabilities:i,raw:bp(a)}}function n_(e,t){if(!e||typeof e!=="object")throw Error(`Invalid automation event contribution for extension "${t}": expected object`);let n=typeof e.eventType==="string"?e.eventType.trim():"",a=typeof e.source==="string"?e.source.trim():"";if(!n)throw Error(`Invalid automation event contribution for extension "${t}": eventType is required`);if(!a)throw Error(`Invalid automation event contribution for extension "${t}": source is required`);return{...e,eventType:n,source:a,examples:e.examples?[...e.examples]:void 0,metadata:e.metadata?{...e.metadata}:void 0}}class ao{extensions;registry={tools:[],commands:[],rules:[],messageBuilder:[],providers:[],automationEventTypes:[]};normalized=[];phase="resolve";setupContext;constructor(e={}){this.extensions=e.extensions??[],this.setupContext=e.setupContext??{}}resolve(){if(this.phase!=="resolve")return;this.normalized=this.extensions.map((e,t)=>({extension:e,order:t,manifest:{capabilities:new Set,raw:e.manifest}})),this.phase="validate"}validate(){if(this.phase==="resolve")this.resolve();if(this.phase!=="validate")return;this.normalized=this.normalized.map((e)=>({...e,manifest:i_(e.extension,e.order)})),this.phase="setup"}async setup(){if(this.phase==="resolve")this.resolve();if(this.phase==="validate")this.validate();if(this.phase!=="setup")return;for(let e of this.normalized){let{extension:t}=e;if(t.disabled)continue;let n=yp(t,e.order),a={registerTool:(r)=>this.registry.tools.push(r),registerCommand:(r)=>this.registry.commands.push(r),registerRule:(r)=>{if(!e.manifest.capabilities.has("rules"))throw Error(`Invalid setup for extension "${n}": registerRule requires the "rules" capability`);this.registry.rules.push(r)},registerMessageBuilder:(r)=>this.registry.messageBuilder.push(r),registerProvider:(r)=>this.registry.providers.push(r),registerAutomationEventType:(r)=>{if(!e.manifest.capabilities.has("automationEvents"))throw Error(`Invalid setup for extension "${n}": registerAutomationEventType requires the "automationEvents" capability`);this.registry.automationEventTypes.push(n_(r,n))}},i=e.manifest.capabilities.has("automationEvents")?this.setupContext:{...this.setupContext,automation:void 0};await t.setup?.(a,i)}this.phase="activate"}activate(){if(this.phase==="resolve")this.resolve();if(this.phase==="validate")this.validate();if(this.phase==="setup")throw Error("Contribution registry setup must complete before activation");if(this.phase!=="activate")return;this.phase="run"}async initialize(){this.resolve(),this.validate(),await this.setup(),this.activate()}isActivated(){return this.phase==="run"}getRegistrySnapshot(){return{tools:[...this.registry.tools],commands:[...this.registry.commands],rules:[...this.registry.rules],messageBuilder:[...this.registry.messageBuilder],providers:[...this.registry.providers],automationEventTypes:[...this.registry.automationEventTypes]}}getRegisteredTools(){return[...this.registry.tools]}getRegisteredRules(){return[...this.registry.rules]}getRegisteredAutomationEventTypes(){return[...this.registry.automationEventTypes]}getValidatedExtensions(){if(this.phase==="resolve")this.resolve();if(this.phase==="validate")this.validate();return this.normalized.slice().sort((e,t)=>e.order-t.order).map(({extension:e})=>e)}}function r_(e={}){return new ao(e)}function p_(e){let t=_p.safeParse(e);if(!t.success)return;return t.data}function kp(e){switch(e){case"run.start":case"session.send_input":return null;default:return 30000}}function h_(e,t){return t===void 0?kp(e):t}function b_(e){return typeof e==="string"&&y_.has(e)}function Sp(e,t){return`<file_content path="${e}">
18
+ ${t}
19
+ </file_content>`}function z_(e,t="act"){return`<user_input mode="${t}">${e}</user_input>`}function U_(e,t){return`<user_command slash="${t}">${e}</user_command>`}function P_(e,t){let n=e.trim(),a=new RegExp(`^<${t}\\b([^>]*)>([\\s\\S]*?)<\\/${t}>$`,"i").exec(n);if(!a)return;return{attrs:a[1]??"",content:a[2]??""}}function E_(e,t){return new RegExp(`${t}="([^"]+)"`,"i").exec(e)?.[1]?.trim()||void 0}function Ip(e){if(!e?.trim())return;let t=P_(e,"user_command");if(!t)return;let n=E_(t.attrs,"slash");if(!n)return;return{slash:n,content:t.content.trim()}}function xp(e){if(!e?.trim())return"";let t=e.trim();for(let n of["user_input","user_command"]){let a=zp(t,n);t=(a!==t?a:t.replace(new RegExp(`<${n}[^>]*>`,"g"),"")).trim()}return t}function T_(e){let t=xp(e),n=Ip(e);if(!n)return t;if(n.slash.toLowerCase()==="team"){let a=t.toLowerCase().startsWith("spawn a team of agents for the following task:")?t.slice(46).trim():t;return a?`/team ${a}`:"/team"}return t?`/${n.slash} ${t}`:`/${n.slash}`}function zp(e,t){if(!e?.trim())return"";if(!t)return e;let n=new RegExp(`<${t}\\b[^>]*>([\\s\\S]*?)</${t}>`,"g");return e.replace(n,"$1")}function Ss(e,t){let n=e[e.length-1];if(t.role==="tool"&&n?.role==="tool"&&Array.isArray(n.content)&&Array.isArray(t.content)){n.content.push(...t.content);return}e.push(t)}function O_(e){if(!Array.isArray(e)||e.length===0)return!1;return e.every((t)=>{if(!t||typeof t!=="object")return!1;let n=t;if(n.type==="text")return typeof n.text==="string";if(n.type==="image")return typeof n.data==="string"&&typeof n.mediaType==="string";return!1})}function Qn(e,t){if(e==null||typeof e!=="object")return e;if(Array.isArray(e)){let i=[];for(let r of e){if(r&&typeof r==="object"){let o=r;if(o.type==="image"&&typeof o.data==="string"&&typeof o.mediaType==="string"){t.push({type:"image",data:o.data,mediaType:o.mediaType});continue}if(o.type==="text"&&typeof o.text==="string"){i.push(o.text);continue}}i.push(Qn(r,t))}return i}let n=e,a={};for(let[i,r]of Object.entries(n))a[i]=Qn(r,t);return a}function Up(e,t=!1){if(typeof e==="string")return{type:t?"error-text":"text",value:e};if(!t&&O_(e))return{type:"content",value:e.map((n)=>n.type==="image"?{type:"image-data",data:n.data,mediaType:n.mediaType}:{type:"text",text:n.text})};if(!t&&e!==null&&typeof e==="object"){let n=[],a=Qn(e,n);if(n.length>0)return{type:"content",value:[{type:"text",text:typeof a==="string"?a:JSON.stringify(a)},...n.map((i)=>({type:"image-data",data:i.data,mediaType:i.mediaType}))]}}if(e===null||typeof e==="boolean"||typeof e==="number"||typeof e==="object")return{type:t?"error-json":"json",value:e};return{type:t?"error-text":"text",value:String(e)}}function oo(e,t,n){let a=n?.assistantToolCallArgKey??"input",i=[];if(typeof e==="string"&&e.trim().length>0||Array.isArray(e)&&e.length>0)i.push({role:"system",content:e});for(let r of t){let o=r.content;if(typeof o==="string"){i.push({role:r.role,content:o});continue}let s=[],l=[];for(let d of o)switch(d.type){case"text":s.push({type:"text",text:d.text});break;case"reasoning":s.push({type:"reasoning",text:d.text,...d.providerOptions?{providerOptions:d.providerOptions}:{}});break;case"image":s.push({type:"image",image:d.image,mediaType:d.mediaType});break;case"file":s.push({type:"text",text:Sp(d.path,d.content)});break;case"tool-call":if(r.role==="assistant")s.push({type:"tool-call",toolCallId:d.toolCallId,toolName:d.toolName,[a]:d.input,...d.providerOptions?{providerOptions:d.providerOptions}:{}});break;case"tool-result":l.push({type:"tool-result",toolCallId:d.toolCallId,toolName:d.toolName,output:Up(d.output,d.isError??!1)});break}if(s.length>0)Ss(i,{role:r.role,content:s});if(l.length>0)Ss(i,{role:"tool",content:l})}return i}function N_(e,t){if(typeof e==="string"&&e.toLowerCase()in _t)return e.toLowerCase();return t?void 0:void 0}function Pp(e,t){let n=typeof e==="string"?e.toLowerCase():void 0;if(n&&n in _t)return _t[n];if(t?.fallbackEffort)return _t[t.fallbackEffort];return}function A_(e){let t=Pp(e.effort,{fallbackEffort:e.fallbackEffort});if(t===void 0)return;if(t<=0)return 0;let n=e.minimumBudget??1;if(e.maxBudget<n)return;let a=e.scaleTokens??e.maxBudget;return Math.min(Math.max(Math.floor(a*t),n),e.maxBudget)}function C_(e){return e instanceof Error?{name:e.name,message:e.message}:e}function R_(e){return/^[0-9A-Fa-f]$/.test(e)}function Ee(e){return e>="0"&&e<="9"}function M_(e){return e>=" "}function vi(e){return`,:[]/{}()
20
+ +`.includes(e)}function Is(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"||e==="_"||e==="$"}function xs(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"||e==="_"||e==="$"||e>="0"&&e<="9"}function Ps(e){return`,[]/{}
21
+ +`.includes(e)}function Es(e){return hi(e)||L_.test(e)}function F_(e){return e===`
22
+ `||e==="\r"||e==="\t"||e==="\b"||e==="\f"}function je(e,t){let n=e.charCodeAt(t);return n===32||n===10||n===9||n===13}function J_(e,t){let n=e.charCodeAt(t);return n===32||n===9||n===13}function K_(e,t){let n=e.charCodeAt(t);return n===160||n===6158||n>=8192&&n<=8203||n===8239||n===8287||n===12288||n===65279}function hi(e){return Ep(e)||qn(e)}function Ep(e){return e==='"'||e==="“"||e==="”"}function Ts(e){return e==='"'}function qn(e){return e==="'"||e==="‘"||e==="’"||e==="`"||e==="´"}function Os(e){return e==="'"}function bt(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,a=e.lastIndexOf(t);return a!==-1?e.substring(0,a)+(n?"":e.substring(a+1)):e}function ue(e,t){let n=e.length;if(!je(e,n-1))return e+t;while(je(e,n-1))n--;return e.substring(0,n)+t+e.substring(n)}function G_(e,t,n){return e.substring(0,t)+e.substring(t+n)}function W_(e){return/[,\n][ \t\r]*$/.test(e)}function X_(e){let t=0,n="";if(l(["```","[```","{```"]),!i())gg();l(["```","```]","```}"]);let a=c(",");if(a)r();if(Es(e[t])&&W_(n)){if(!a)n=ue(n,",");T()}else if(a)n=bt(n,",");while(e[t]==="}"||e[t]==="]")t++,r();if(t>=e.length)return n;vg();function i(){r();let $=y()||k()||O()||S()||C()||fe(!1)||Dn();return r(),$}function r(){let $=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,E=t,j=o($);do if(j=s(),j)j=o($);while(j);return t>E}function o($){let E=$?je:J_,j="";while(!0)if(E(e,t))j+=e[t],t++;else if(K_(e,t))j+=" ",t++;else break;if(j.length>0)return n+=j,!0;return!1}function s(){if(e[t]==="/"&&e[t+1]==="*"){while(t<e.length&&!V_(e,t))t++;return t+=2,!0}if(e[t]==="/"&&e[t+1]==="/"){while(t<e.length&&e[t]!==`
23
+ `)t++;return!0}return!1}function l($){if(d($)){if(Is(e[t]))while(t<e.length&&xs(e[t]))t++;return r(),!0}return!1}function d($){o(!0);for(let E of $){let j=t+E.length;if(e.slice(t,j)===E)return t=j,!0}return!1}function c($){if(e[t]===$)return n+=e[t],t++,!0;return!1}function p($){if(e[t]===$)return t++,!0;return!1}function v(){return p("\\")}function f(){if(r(),e[t]==="."&&e[t+1]==="."&&e[t+2]===".")return t+=3,r(),p(","),!0;return!1}function y(){if(e[t]==="{"){if(n+="{",t++,r(),p(","))r();let $=!0;while(t<e.length&&e[t]!=="}"){let E;if(!$){if(E=c(","),!E)n=ue(n,",");r()}else E=!0,$=!1;if(f(),!(O()||fe(!0))){if(e[t]==="}"||e[t]==="{"||e[t]==="]"||e[t]==="["||e[t]===void 0)n=bt(n,",");else hg();break}r();let j=c(":"),si=t>=e.length;if(!j)if(Es(e[t])||si)n=ue(n,":");else Ao();if(!i())if(j||si)n+="null";else Ao()}if(e[t]==="}")n+="}",t++;else n=ue(n,"}");return!0}return!1}function k(){if(e[t]==="["){if(n+="[",t++,r(),p(","))r();let $=!0;while(t<e.length&&e[t]!=="]"){if(!$){if(!c(","))n=ue(n,",")}else $=!1;if(f(),!i()){n=bt(n,",");break}}if(e[t]==="]")n+="]",t++;else n=ue(n,"]");return!0}return!1}function T(){let $=!0,E=!0;while(E){if(!$){if(!c(","))n=ue(n,",")}else $=!1;E=i()}if(!E)n=bt(n,",");n=`[
24
+ ${n}
25
+ ]`}function O(){let $=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,j=e[t]==="\\";if(j)t++,j=!0;if(hi(e[t])){let si=Ts(e[t])?Ts:Os(e[t])?Os:qn(e[t])?qn:Ep,ui=t,li=n.length,L='"';t++;while(!0){if(t>=e.length){let J=No(t-1);if(!$&&vi(e.charAt(J)))return t=ui,n=n.substring(0,li),O(!0);return L=ue(L,'"'),n+=L,!0}if(t===E)return L=ue(L,'"'),n+=L,!0;if(si(e[t])){let J=t,_e=L.length;if(L+='"',t++,n+=L,r(!1),$||t>=e.length||vi(e[t])||hi(e[t])||Ee(e[t]))return M(),!0;let Do=No(J-1),Co=e.charAt(Do);if(Co===",")return t=ui,n=n.substring(0,li),O(!1,Do);if(vi(Co))return t=ui,n=n.substring(0,li),O(!0);n=n.substring(0,li),t=J+1,L=`${L.substring(0,_e)}\\${L.substring(_e)}`}else if($&&Ps(e[t])){if(e[t-1]===":"&&zs.test(e.substring(ui+1,t+2)))while(t<e.length&&Us.test(e[t]))L+=e[t],t++;return L=ue(L,'"'),n+=L,M(),!0}else if(e[t]==="\\"){let J=e.charAt(t+1);if(B_[J]!==void 0)L+=e.slice(t,t+2),t+=2;else if(J==="u"){let _e=2;while(_e<6&&R_(e[t+_e]))_e++;if(_e===6)L+=e.slice(t,t+6),t+=6;else if(t+_e>=e.length)t=e.length;else yg()}else if(J===`
26
+ `)L+="\\n",t+=2;else L+=J,t+=2}else{let J=e.charAt(t);if(J==='"'&&e[t-1]!=="\\")L+=`\\${J}`,t++;else if(F_(J))L+=H_[J],t++;else{if(!M_(J))pg(J);L+=J,t++}}if(j)v()}}return!1}function M(){let $=!1;r();while(e[t]==="+"){$=!0,t++,r(),n=bt(n,'"',!0);let E=n.length;if(O())n=G_(n,E,1);else n=ue(n,'"')}return $}function S(){let $=t;if(e[t]==="-"){if(t++,oi())return Cn($),!0;if(!Ee(e[t]))return t=$,!1}while(Ee(e[t]))t++;if(e[t]==="."){if(t++,oi())return Cn($),!0;if(!Ee(e[t]))return t=$,!1;while(Ee(e[t]))t++}if(e[t]==="e"||e[t]==="E"){if(t++,e[t]==="-"||e[t]==="+")t++;if(oi())return Cn($),!0;if(!Ee(e[t]))return t=$,!1;while(Ee(e[t]))t++}if(!oi())return t=$,!1;if(t>$){let E=e.slice($,t),j=/^0\d/.test(E);return n+=j?`"${E}"`:E,!0}return!1}function C(){return H("true","true")||H("false","false")||H("null","null")||H("True","true")||H("False","false")||H("None","null")}function H($,E){if(e.slice(t,t+$.length)===$)return n+=E,t+=$.length,!0;return!1}function fe($){let E=t;if(Is(e[t])){while(t<e.length&&xs(e[t]))t++;let j=t;while(je(e,j))j++;if(e[j]==="("){if(t=j+1,i(),e[t]===")"){if(t++,e[t]===";")t++}return!0}}while(t<e.length&&!Ps(e[t])&&!hi(e[t])&&(!$||e[t]!==":"))t++;if(e[t-1]===":"&&zs.test(e.substring(E,t+2)))while(t<e.length&&Us.test(e[t]))t++;if(t>E){while(je(e,t-1)&&t>0)t--;let j=e.slice(E,t);if(n+=j==="undefined"?"null":JSON.stringify(j),e[t]==='"')t++;return!0}}function Dn(){if(e[t]==="/"){let $=t;t++;while(t<e.length&&(e[t]!=="/"||e[t-1]==="\\"))t++;return t++,n+=JSON.stringify(e.substring($,t)),!0}}function No($){let E=$;while(E>0&&je(e,E))E--;return E}function oi(){return t>=e.length||vi(e[t])||je(e,t)}function Cn($){n+=`${e.slice($,t)}0`}function pg($){throw new Te(`Invalid character ${JSON.stringify($)}`,t)}function vg(){throw new Te(`Unexpected character ${JSON.stringify(e[t])}`,t)}function gg(){throw new Te("Unexpected end of json string",e.length)}function hg(){throw new Te("Object key expected",t)}function Ao(){throw new Te("Colon expected",t)}function yg(){let $=e.slice(t,t+6);throw new Te(`Invalid unicode character "${$}"`,t)}}function V_(e,t){return e[t]==="*"&&e[t+1]==="/"}function Q_(e){let t=e.match(Y_);if(!t)return;let[,n,a]=t,i=a.trim();if(!i)return;let r=i[0];if(r==='"'||r==="{"||r==="["||i==="true"||i==="false"||i==="null"||Number.isFinite(Number(i)))return;return JSON.parse(`{"${n}":${JSON.stringify(i)}}`)}function ek(e){if(typeof e!=="string")return e;let t=e.trimStart();if(t[0]!=="{"&&t[0]!=="[")return e;for(let n of q_)try{let a=n(t);if(a!==void 0)return a}catch{}return e}function tk(e){let t=new WeakSet;try{return JSON.stringify(e,(n,a)=>{if(typeof a==="bigint")return a.toString();if(a&&typeof a==="object"){if(t.has(a))return"[Circular]";t.add(a)}return a})??"null"}catch{return String(e)}}function ik(e){try{return JSON.parse(e)}catch{return}}function nk(e){let t=e.replaceAll("\\","/"),n=t.lastIndexOf("/");return(n>=0?t.slice(n+1):t).toLowerCase()}function rk(e){return e==="win32"?"powershell":"/bin/bash"}function ak(e,t){let n=nk(e);if(n==="powershell"||n==="powershell.exe"||n==="pwsh"||n==="pwsh.exe")return["-NoProfile","-NonInteractive","-Command",t];if(n==="cmd"||n==="cmd.exe")return["/d","/s","/c",t];return["-c",t]}function ok(e){return e.toLowerCase().replace(/[^\w.-]+/g,"_")}function Tp(e,t){if(e.length<=t)return e;return`${e.slice(0,t-1)}…`}function sk(e,t="/",n=100){if(!e||e.length<=n)return e||"";let a=e.split(t)?.shift()?.trim()?.slice(0,n-1);return a?`${a}…`:Tp(e,n)}function uk(e){if(e.length<=8)return"****";return`${e.slice(0,4)}...${e.slice(-4)}`}function lk(e){if(!e)return"(unknown-date)";let t=new Date(e);if(Number.isNaN(t.getTime()))return e;return t.toLocaleString("en-US",{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric",hour12:!0})}function dk(e){let t=Math.max(0,Math.floor(e/1000)),n=Math.floor(t/86400),a=Math.floor(t%86400/3600),i=Math.floor(t%3600/60),r=t%60;if(n>0)return`${n}d ${a}h`;if(a>0)return`${a}h ${i}m`;if(i>0)return`${i}m ${r}s`;return`${r}s`}function ck(e,t){let n=e.safeParse(t);if(!n.success)throw Error(u.prettifyError(n.error));return n.data}function Op(e){return u.toJSONSchema(e)}function pk(e){return JSON.stringify({workspaces:{[e.rootPath]:{hint:e.hint,associatedRemoteUrls:e.associatedRemoteUrls,latestGitCommitHash:e.latestGitCommitHash,latestGitBranchName:e.latestGitBranchName}}},null,2)}function js(e,t,n){if(n?.trim()?.includes(er))return n.trim();let a=n||JSON.stringify({workspaces:{[e]:{hint:t||e.split("/").at(-1)||e}}},null,2);return`
27
+ ${er}
28
+ ${a}`}function vk(e){let{ide:t="Terminal Shell",mode:n,platform:a="unknown",workspaceName:i,metadata:r,rules:o,overridePrompt:s,providerId:l}=e,d=e.workspaceRoot??e.rootPath??"",c=l==="cline";if(s?.trim()){let p=s.trim();if(c&&r?.trim()&&!p.includes(er))return`${p}
29
+
30
+ ${js(d,i,r)}`.trim();return p}return(n==="yolo"?fk:mk).replace("{{PLATFORM_NAME}}",a).replace("{{CWD}}",d).replace("{{CURRENT_DATE}}",new Date().toLocaleDateString()).replace("{{IDE_NAME}}",t).replace("{{CLINE_METADATA}}",c?js(d,i,r):"").replace("{{CLINE_RULES}}",o||"").trim()}function Ap(e){let t=e?.trim().toLowerCase();if(t==="development"||t==="production")return t;return}function xk(e){for(let t=0;t<e.length;t+=1){let n=e[t]?.trim();if(!n)continue;if(n==="--conditions"&&e[t+1]?.trim()==="development")return!0;if(n.startsWith("--conditions=")&&n.slice(13).split(",").map((a)=>a.trim()).includes("development"))return!0}return!1}function zk(e){if(!e?.trim())return!1;let t=Ik(e).toLowerCase();return t==="node"||t==="node.exe"||t==="bun"||t==="bun.exe"}function Uk(e){return e.some((t)=>t==="--inspect"||t.startsWith("--inspect=")||t==="--inspect-brk"||t.startsWith("--inspect-brk="))}function Pk(e){return e.some((t)=>t==="--enable-source-maps")}function Ek(e){return e[jp]?.trim()||"127.0.0.1"}function Tk(e){let t=e[Np]?.trim();if(!t)return;let n=Number.parseInt(t,10);return Number.isInteger(n)&&n>0?n:void 0}function Ok(e){switch(e){case"rpc":return 0;case"hook":return 1;case"plugin-sandbox":return 2;case"connector":return 3;case"sandbox":return 4;default:return 9}}function so(e={}){let t=e.env??process.env,n=e.execArgv??process.execArgv,a=Ap(t[Ui]);if(a)return a;let i=t.NODE_ENV?.trim().toLowerCase();if(i==="production")return"production";if(i==="development")return"development";return xk(n)?"development":"production"}function jk(e=process.env,t={}){if(Ap(e[Ui]))return e;return{...e,[Ui]:so({env:e,execArgv:t.execArgv})}}function Nk(e,t={}){if(e.length===0||!zk(e[0]))return[...e];if(so(t)!=="development")return[...e];let n=t.env??process.env,a=[...n.NODE_OPTIONS?.split(/\s+/).filter(Boolean)??[],...e.slice(1)],i=[];if(!Uk(a)){let r=Ek(n),o=Tk(n),s=o===void 0?0:o+Ok(t.debugRole);i.push(`--inspect=${r}:${s}`)}if(!Pk(a))i.push("--enable-source-maps");return[e[0],...i,...e.slice(1)]}function Ns(e){let t=e?.trim().toLowerCase();if(t==="production"||t==="staging"||t==="local")return t;return}function Zk(){if(typeof process>"u"||!process?.env)return{};return process.env}function Dp(e={}){let t=e.env??Zk();return Ns(t.CLINE_ENVIRONMENT_OVERRIDE)??Ns(t.CLINE_ENVIRONMENT)??"production"}function uo(e){if(typeof e==="string")return tr[e];return tr[Dp(e)]}function Mk(e=process.env){return e.CLINE_RUN_AS_HUB_DAEMON==="1"}function Lk(e){let t={};if(!e)return t;try{e.split(",").forEach((n)=>{let a=n.indexOf("=");if(a<=0)return;let i=decodeURIComponent(n.substring(0,a).trim()),r=decodeURIComponent(n.substring(a+1).trim());if(!i||!r)return;t[i]=r})}catch{}return t}function Fk(){return{enabled:process?.env?.OTEL_TELEMETRY_ENABLED==="1"||process?.env?.OTEL_TELEMETRY_ENABLED==="true",metricsExporter:process?.env?.OTEL_METRICS_EXPORTER||"otlp",logsExporter:process?.env?.OTEL_LOGS_EXPORTER||"otlp",tracesExporter:process?.env?.OTEL_TRACES_EXPORTER,otlpProtocol:process?.env?.OTEL_EXPORTER_OTLP_PROTOCOL||"http/json",otlpEndpoint:process?.env?.OTEL_EXPORTER_OTLP_ENDPOINT,metricExportInterval:process?.env?.OTEL_METRIC_EXPORT_INTERVAL?Number.parseInt(process?.env?.OTEL_METRIC_EXPORT_INTERVAL,10):void 0,otlpHeaders:process?.env?.OTEL_EXPORTER_OTLP_HEADERS?Lk(process?.env?.OTEL_EXPORTER_OTLP_HEADERS):void 0}}function Cp(e={}){return{extension_version:"unknown",cline_type:"unknown",platform:"terminal",platform_version:process?.version||"unknown",os_type:process?.platform||"unknown",os_version:process?.platform==="win32"?process?.env?.OS??"unknown":"unknown",...e}}function Jk(e={}){return{...Fk(),...e,metadata:Cp(e.metadata)}}function Zp(e){let t=e?.trim();return t?t:void 0}function Kk(e,t){if(!e)return;let n=typeof e==="function"?e(t):e;if(!n)return;let a=Zp(n.rootSessionId);if(!a)return;return{rootSessionId:a}}function Gk(e){return Zp(e?.rootSessionId)}function Hk(e){if(e<0||e>1024)throw RangeError("Wrong ID size");if(!Oe||Oe.length<e)Oe=Buffer.allocUnsafe(e*Wk),As.getRandomValues(Oe),Qe=0;else if(Qe+e>Oe.length)As.getRandomValues(Oe),Qe=0;Qe+=e}function Bk(e){return Hk(e|=0),Oe.subarray(Qe-e,Qe)}function Xk(e,t,n){let a=256-256%e.length;if(a===256){let r=e.length-1;return(o=t)=>{if(!o)return"";let s="";while(!0){let l=n(o),d=o;while(d--)if(s+=e[l[d]&r],s.length>=o)return s}}}let i=Math.ceil(409.6*t/a);return(r=t)=>{if(!r)return"";let o="";while(!0){let s=n(i),l=i;while(l--)if(s[l]<a){if(o+=e[s[l]%e.length],o.length>=r)return o}}}}function Vk(e,t=21){return Xk(e,t,Bk)}function Yk(e="",t=""){let n=Vk("1234567890abcdefghijklmnopqrstuvwxyz",10);return`${e}${Date.now()}_${n(5)}${t}`}function Mp(e){return typeof e==="string"&&qk.has(e)}function ew(e){if(!Array.isArray(e))return;let t=e.map((n)=>typeof n==="string"?n.trim():"").filter(Mp);return[...new Set(t)]}function tw(e,t){return new Set(e??Rp).has(t)}function iw(){return{workspaces:{}}}function nw(e,t){let n={...e,workspaces:{...e.workspaces,[t.rootPath]:t}};if(!n.currentWorkspacePath)n.currentWorkspacePath=t.rootPath;return Fp.parse(n)}function Z(e){return u.preprocess((t)=>t===null?void 0:t,e.optional())}function Kw(e){let{$schema:t,...n}=e;if(typeof n.type==="string")return n;if("properties"in n||"required"in n||"additionalProperties"in n)return{type:"object",...n};for(let a of["oneOf","anyOf","allOf"]){let i=n[a];if(!Array.isArray(i)||i.length===0)continue;if(a==="allOf"){if(i.some((r)=>r&&typeof r==="object"&&r.type==="object"))return{type:"object",...n};throw Error('Tool inputSchema must describe an object at the top level, but the schema has a top-level "allOf" with no branch that asserts type: "object". Add type: "object" to at least one allOf branch to make the object constraint explicit.')}if(i.every((r)=>r&&typeof r==="object"&&r.type==="object"))return{type:"object",...n};throw Error(`Tool inputSchema must describe an object at the top level, but the schema has a top-level "${a}" whose branches include non-object types. Pass the strict object schema as inputSchema and reserve union/coercion schemas for use inside execute().`)}return n}function Gw(e){let t=Kw(e.inputSchema instanceof u.ZodType?Op(e.inputSchema):e.inputSchema);return{name:e.name,description:e.description,inputSchema:t,lifecycle:e.lifecycle,timeoutMs:e.timeoutMs??30000,retryable:e.retryable??!0,maxRetries:e.maxRetries??3,execute:e.execute}}function Xp(e){return Bp.includes(e)}function Ww(e,t){if(!Xp(t))return!1;let n=e instanceof Error?e.message.toLowerCase():String(e);return Vp.some((a)=>n.includes(a))}function tS(e){let t=e.toLowerCase();if(qw.has(t))return!0;for(let n of eS){if(t===n)return!0;if(t.endsWith(n)&&t.length>n.length){let a=t[t.length-n.length-1];if(a==="_"||a==="-")return!0;let i=e[e.length-n.length];if(i&&i===i.toUpperCase()&&i!==i.toLowerCase())return!0}if(t.endsWith(`_${n}`))return!0}return!1}function nS(e){let t=e;for(let{pattern:n,replacement:a}of iS)t=t.replace(n,a);return t}function ir(e){let t=e;for(let{pattern:n,replacement:a}of rS)t=t.replace(n,a);return t}function yi(e){if(e===null||e===void 0)return e;if(typeof e==="string"){try{let t=JSON.parse(e);if(typeof t==="object"&&t!==null)return JSON.stringify(yi(t))}catch{}return nS(e)}if(Array.isArray(e))return e.map(yi);if(typeof e==="object"){let t={};for(let[n,a]of Object.entries(e))if(tS(n)&&(typeof a==="string"||typeof a==="number"))t[n]="REDACTED";else t[n]=yi(a);return t}return e}function aS(e){let t={...e};if(t.body)delete t.body;if(typeof t.path==="string")t.path=ir(t.path);if(t.response!==void 0)t.response=yi(t.response);return t}function Yp(e){try{let t=new URL(e),n=`${t.protocol}//${t.host}`,a=t.pathname+t.search;return{scope:n,path:a}}catch{return{scope:"",path:e}}}function Qp(e){if(typeof e==="string")return e;if(e instanceof URL)return e.toString();if(e&&typeof e.url==="string")return e.url;return String(e)}function qp(e,t){if(t?.method)return t.method.toUpperCase();if(e&&typeof e.method==="string")return e.method.toUpperCase();return"GET"}function oS(e){if(!e)return null;if(!process.env.CLINE_VCR_CASSETTE)return process.stderr.write(`[VCR] No CLINE_VCR_CASSETTE: requests will not be recorded or played back.
31
+ `),null;if(e!=="record"&&e!=="playback")process.stderr.write(`[VCR] Invalid CLINE_VCR value: "${e}". Expected "record" or "playback".
32
+ `),process.exit(1);let t=Qw(process.env.CLINE_VCR_CASSETTE),n=process.env.CLINE_VCR_FILTER??"";return{mode:e,cassettePath:t,filter:n}}function sS(e,t){let n=[],a=[],i=globalThis.fetch;function r(l){if(l.finalized)return;l.finalized=!0;let d=new TextDecoder,c=l.chunks.map((v)=>d.decode(v,{stream:!0})).join("")+d.decode(),p;try{p=JSON.parse(c)}catch{p=c}n.push({scope:l.scope,method:l.method,path:l.path,body:l.body,status:l.status,response:p,responseIsBinary:!1,contentType:l.contentType})}globalThis.fetch=Object.assign(async(l,d)=>{let c=Qp(l),p=qp(l,d),{scope:v,path:f}=Yp(c),y;if(d?.body)y=typeof d.body==="string"?d.body:d.body instanceof ArrayBuffer?new TextDecoder().decode(d.body):void 0;else if(l instanceof Request)try{y=await l.clone().text()}catch{}let k=await i(l,d);if(t&&!f.includes(t))return k;let T=k.headers.get("content-type")??void 0;if(!k.body)return n.push({scope:v,method:p,path:f,body:y??"",status:k.status,response:"",responseIsBinary:!1,contentType:T}),k;let O={scope:v,method:p,path:f,body:y??"",status:k.status,contentType:T,chunks:[],finalized:!1};a.push(O);let M=k.body,S=new TransformStream({transform(H,fe){O.chunks.push(H),fe.enqueue(H)},flush(){r(O)}}),C=M.pipeThrough(S);return new Response(C,{status:k.status,statusText:k.statusText,headers:k.headers})},{preconnect:(l)=>{}});let o=t?`matching path "*${t}*"`:"all paths";process.stderr.write(`[VCR] Recording HTTP requests (${o}). Cassette will be saved to: ${e}
33
+ `);let s=!1;hp(()=>{if(s)return;s=!0,globalThis.fetch=i;for(let c of a)r(c);if(n.length===0){process.stderr.write(`[VCR] No HTTP requests${t?` matching "${t}"`:""} were recorded.
34
+ `);return}let l=Yw(e);Bw(l,{recursive:!0});let d=n.map(aS);Vw(e,JSON.stringify(d,null,2)),process.stderr.write(`[VCR] Saved ${d.length} recorded HTTP interaction(s) to ${e}
35
+ `)})}function uS(e){let t=[],n=e.split(/\n\n/);for(let a of n){let i=a.trim();if(i)t.push(`${i}
36
+
37
+ `)}return t}function lS(e,t){let n=new TextEncoder,a=0;return new ReadableStream({async pull(i){if(a>=e.length){i.close();return}if(a>0&&t>0)await new Promise((o)=>setTimeout(o,t));let r=e[a];if(r===void 0){i.close();return}i.enqueue(n.encode(r)),a+=1}})}function dS(e,t){if(!Hw(e))process.stderr.write(`[VCR] Cassette file not found: ${e}
38
+ `),process.exit(1);let n=JSON.parse(Xw(e,"utf-8")),a=Number.parseInt(process.env.CLINE_VCR_SSE_DELAY??"100",10),i=Array(n.length).fill(!1),r=globalThis.fetch;globalThis.fetch=Object.assign(async(s,l)=>{let d=Qp(s),c=qp(s,l),{path:p}=Yp(d),v=ir(p);if(t&&!p.includes(t))return r(s,l);let f=n.findIndex((y,k)=>{if(i[k])return!1;let T=ir(y.path);return y.method.toUpperCase()===c&&T===v});if(f>=0){i[f]=!0;let y=n[f];if(!y)return r(s,l);let k=typeof y.response==="string"?y.response:JSON.stringify(y.response),T=new Headers;if(y.contentType)T.set("content-type",y.contentType);else if(typeof y.response==="string"&&y.response.trimStart().startsWith("data:"))T.set("content-type","text/event-stream");else if(typeof y.response==="object")T.set("content-type","application/json");let O=T.get("content-type")?.includes("text/event-stream")??!1;if(O)T.set("cache-control","no-cache"),T.set("connection","keep-alive");if(O&&typeof y.response==="string"){let M=uS(y.response);if(M.length>1){let S=lS(M,a);return new Response(S,{status:y.status,headers:T})}}return new Response(k,{status:y.status,headers:T})}if(!t)throw Error(`[VCR] No matching recording for ${c} ${d} (path: ${v}). ${n.length} recording(s) loaded from ${e}.`);return r(s,l)},{preconnect:(s)=>{}});let o=t?`(only paths matching "*${t}*", all other requests go through normally)`:"(all requests intercepted)";process.stderr.write(`[VCR] Playing back ${n.length} recorded HTTP interaction(s) from ${e} ${o}
39
+ `)}function cS(e){let t=oS(e);if(!t)return;if(t.mode==="record")sS(t.cassettePath,t.filter);else dS(t.cassettePath,t.filter)}var Tg,Og=(e)=>e,he=(e,t)=>{for(var n in t)Tg(e,n,{get:t[n],enumerable:!0,configurable:!0,set:jg.bind(t,n)})},Kn,Cg,Zg,Ho,Rs="enterprise.blobUpload",bi,Yg="remote://",th="remote-config",u,Vs,qo,Ys,Qs,we,Ut,kt,U,es,ar,tu,$h=(e)=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray(e))return"array";if(e===null)return"null";if(e.then&&typeof e.then==="function"&&e.catch&&typeof e.catch==="function")return"promise";if(typeof Map<"u"&&e instanceof Map)return"map";if(typeof Set<"u"&&e instanceof Set)return"set";if(typeof Date<"u"&&e instanceof Date)return"date";if(typeof File<"u"&&e instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${t}`)}},_i,nu,au,ou,cu=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,$i,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},or,q,Et=(e)=>(t,n,a,i)=>{let r=a?{...a,async:!1}:{async:!1},o=t._zod.run({value:n,issues:[]},r);if(o instanceof Promise)throw new we;if(o.issues.length){let s=new(i?.Err??e)(o.issues.map((l)=>Q(l,r,K())));throw ar(s,i?.callee),s}return o.value},Wn,Tt=(e)=>async(t,n,a,i)=>{let r=a?{...a,async:!0}:{async:!0},o=t._zod.run({value:n,issues:[]},r);if(o instanceof Promise)o=await o;if(o.issues.length){let s=new(i?.Err??e)(o.issues.map((l)=>Q(l,r,K())));throw ar(s,i?.callee),s}return o.value},Hn,Ot=(e)=>(t,n,a)=>{let i=a?{...a,async:!1}:{async:!1},r=t._zod.run({value:n,issues:[]},i);if(r instanceof Promise)throw new we;return r.issues.length?{success:!1,error:new(e??or)(r.issues.map((o)=>Q(o,i,K())))}:{success:!0,data:r.value}},vu,jt=(e)=>async(t,n,a)=>{let i=a?{...a,async:!0}:{async:!0},r=t._zod.run({value:n,issues:[]},i);if(r instanceof Promise)r=await r;return r.issues.length?{success:!1,error:new e(r.issues.map((o)=>Q(o,i,K())))}:{success:!0,data:r.value}},gu,lr=(e)=>(t,n,a)=>{let i=a?{...a,direction:"backward"}:{direction:"backward"};return Et(e)(t,n,i)},Nh,dr=(e)=>(t,n,a)=>{return Et(e)(t,n,a)},Ah,cr=(e)=>async(t,n,a)=>{let i=a?{...a,direction:"backward"}:{direction:"backward"};return Tt(e)(t,n,i)},Dh,mr=(e)=>async(t,n,a)=>{return Tt(e)(t,n,a)},Ch,fr=(e)=>(t,n,a)=>{let i=a?{...a,direction:"backward"}:{direction:"backward"};return Ot(e)(t,n,i)},Zh,pr=(e)=>(t,n,a)=>{return Ot(e)(t,n,a)},Rh,vr=(e)=>async(t,n,a)=>{let i=a?{...a,direction:"backward"}:{direction:"backward"};return jt(e)(t,n,i)},Mh,gr=(e)=>async(t,n,a)=>{return jt(e)(t,n,a)},Lh,Se,hu,yu,bu,$u,_u,ku,wu,Fh,Su,tt=(e)=>{if(!e)return/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)},Jh,Kh,Gh,Iu,Wh,Hh,xu,Bh,Xh,Vh="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Uu,Pu,Eu=(e)=>{let t=ge(e??":");return new RegExp(`^(?:[0-9A-F]{2}${t}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${t}){5}[0-9a-f]{2}$`)},Tu,Ou,ju,hr,Yh,Qh,Nu,Au,Du="(?:(?:\\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])))",Cu,Lu=(e)=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},Fu,Ju,yr,Ku,Gu,Wu,Hu,Bu,qh,ey,ty,iy,ny,ry,ay,oy,sy,uy,ly,dy,cy,my,fy,py,R,Xu,br,$r,Vu,Yu,Qu,qu,el,tl,il,nl,rl,Dt,al,ol,sl,ul,ll,dl,cl,ml,fl,pl,x,Ct,A,vl,gl,hl,yl,bl,$l,_l,kl,wl,Sl,Il,xl,zl,Ul,Pl,El,Tl,Ol,jl,Nl,Al,Cl,Zl,Ml,Ll,wr,Fl,Sr,Ir,Jl,Kl,Gl,Wl,Hl,Bl,Xl,Vl,Yl,Ql,td,id,Oi,nd,rd,ad,xr,od,sd,ud,ld,dd,cd,md,zr,fd,pd,vd,gd,hd,yd,bd,$d,Ur,Pr,_d,kd,wd,Sd,Id,xd,zd,Er,vy=()=>{let e={string:{unit:"حرف",verb:"أن يحوي"},file:{unit:"بايت",verb:"أن يحوي"},array:{unit:"عنصر",verb:"أن يحوي"},set:{unit:"عنصر",verb:"أن يحوي"}};function t(i){return e[i]??null}let n={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:"مدخل"},a={nan:"NaN"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`مدخلات غير مقبولة: يفترض إدخال instanceof ${i.expected}، ولكن تم إدخال ${s}`;return`مدخلات غير مقبولة: يفترض إدخال ${r}، ولكن تم إدخال ${s}`}case"invalid_value":if(i.values.length===1)return`مدخلات غير مقبولة: يفترض إدخال ${_(i.values[0])}`;return`اختيار غير مقبول: يتوقع انتقاء أحد هذه الخيارات: ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o)return` أكبر من اللازم: يفترض أن تكون ${i.origin??"القيمة"} ${r} ${i.maximum.toString()} ${o.unit??"عنصر"}`;return`أكبر من اللازم: يفترض أن تكون ${i.origin??"القيمة"} ${r} ${i.maximum.toString()}`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o)return`أصغر من اللازم: يفترض لـ ${i.origin} أن يكون ${r} ${i.minimum.toString()} ${o.unit}`;return`أصغر من اللازم: يفترض لـ ${i.origin} أن يكون ${r} ${i.minimum.toString()}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`نَص غير مقبول: يجب أن يبدأ بـ "${i.prefix}"`;if(r.format==="ends_with")return`نَص غير مقبول: يجب أن ينتهي بـ "${r.suffix}"`;if(r.format==="includes")return`نَص غير مقبول: يجب أن يتضمَّن "${r.includes}"`;if(r.format==="regex")return`نَص غير مقبول: يجب أن يطابق النمط ${r.pattern}`;return`${n[r.format]??i.format} غير مقبول`}case"not_multiple_of":return`رقم غير مقبول: يجب أن يكون من مضاعفات ${i.divisor}`;case"unrecognized_keys":return`معرف${i.keys.length>1?"ات":""} غريب${i.keys.length>1?"ة":""}: ${g(i.keys,"، ")}`;case"invalid_key":return`معرف غير مقبول في ${i.origin}`;case"invalid_union":return"مدخل غير مقبول";case"invalid_element":return`مدخل غير مقبول في ${i.origin}`;default:return"مدخل غير مقبول"}}},hy=()=>{let e={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(i){return e[i]??null}let 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"},a={nan:"NaN"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`Yanlış dəyər: gözlənilən instanceof ${i.expected}, daxil olan ${s}`;return`Yanlış dəyər: gözlənilən ${r}, daxil olan ${s}`}case"invalid_value":if(i.values.length===1)return`Yanlış dəyər: gözlənilən ${_(i.values[0])}`;return`Yanlış seçim: aşağıdakılardan biri olmalıdır: ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o)return`Çox böyük: gözlənilən ${i.origin??"dəyər"} ${r}${i.maximum.toString()} ${o.unit??"element"}`;return`Çox böyük: gözlənilən ${i.origin??"dəyər"} ${r}${i.maximum.toString()}`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o)return`Çox kiçik: gözlənilən ${i.origin} ${r}${i.minimum.toString()} ${o.unit}`;return`Çox kiçik: gözlənilən ${i.origin} ${r}${i.minimum.toString()}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`Yanlış mətn: "${r.prefix}" ilə başlamalıdır`;if(r.format==="ends_with")return`Yanlış mətn: "${r.suffix}" ilə bitməlidir`;if(r.format==="includes")return`Yanlış mətn: "${r.includes}" daxil olmalıdır`;if(r.format==="regex")return`Yanlış mətn: ${r.pattern} şablonuna uyğun olmalıdır`;return`Yanlış ${n[r.format]??i.format}`}case"not_multiple_of":return`Yanlış ədəd: ${i.divisor} ilə bölünə bilən olmalıdır`;case"unrecognized_keys":return`Tanınmayan açar${i.keys.length>1?"lar":""}: ${g(i.keys,", ")}`;case"invalid_key":return`${i.origin} daxilində yanlış açar`;case"invalid_union":return"Yanlış dəyər";case"invalid_element":return`${i.origin} daxilində yanlış dəyər`;default:return"Yanlış dəyər"}}},by=()=>{let e={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(i){return e[i]??null}let n={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:"увод"},a={nan:"NaN",number:"лік",array:"масіў"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`Няправільны ўвод: чакаўся instanceof ${i.expected}, атрымана ${s}`;return`Няправільны ўвод: чакаўся ${r}, атрымана ${s}`}case"invalid_value":if(i.values.length===1)return`Няправільны ўвод: чакалася ${_(i.values[0])}`;return`Няправільны варыянт: чакаўся адзін з ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o){let s=Number(i.maximum),l=gs(s,o.unit.one,o.unit.few,o.unit.many);return`Занадта вялікі: чакалася, што ${i.origin??"значэнне"} павінна ${o.verb} ${r}${i.maximum.toString()} ${l}`}return`Занадта вялікі: чакалася, што ${i.origin??"значэнне"} павінна быць ${r}${i.maximum.toString()}`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o){let s=Number(i.minimum),l=gs(s,o.unit.one,o.unit.few,o.unit.many);return`Занадта малы: чакалася, што ${i.origin} павінна ${o.verb} ${r}${i.minimum.toString()} ${l}`}return`Занадта малы: чакалася, што ${i.origin} павінна быць ${r}${i.minimum.toString()}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`Няправільны радок: павінен пачынацца з "${r.prefix}"`;if(r.format==="ends_with")return`Няправільны радок: павінен заканчвацца на "${r.suffix}"`;if(r.format==="includes")return`Няправільны радок: павінен змяшчаць "${r.includes}"`;if(r.format==="regex")return`Няправільны радок: павінен адпавядаць шаблону ${r.pattern}`;return`Няправільны ${n[r.format]??i.format}`}case"not_multiple_of":return`Няправільны лік: павінен быць кратным ${i.divisor}`;case"unrecognized_keys":return`Нераспазнаны ${i.keys.length>1?"ключы":"ключ"}: ${g(i.keys,", ")}`;case"invalid_key":return`Няправільны ключ у ${i.origin}`;case"invalid_union":return"Няправільны ўвод";case"invalid_element":return`Няправільнае значэнне ў ${i.origin}`;default:return"Няправільны ўвод"}}},_y=()=>{let e={string:{unit:"символа",verb:"да съдържа"},file:{unit:"байта",verb:"да съдържа"},array:{unit:"елемента",verb:"да съдържа"},set:{unit:"елемента",verb:"да съдържа"}};function t(i){return e[i]??null}let 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:"вход"},a={nan:"NaN",number:"число",array:"масив"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`Невалиден вход: очакван instanceof ${i.expected}, получен ${s}`;return`Невалиден вход: очакван ${r}, получен ${s}`}case"invalid_value":if(i.values.length===1)return`Невалиден вход: очакван ${_(i.values[0])}`;return`Невалидна опция: очаквано едно от ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o)return`Твърде голямо: очаква се ${i.origin??"стойност"} да съдържа ${r}${i.maximum.toString()} ${o.unit??"елемента"}`;return`Твърде голямо: очаква се ${i.origin??"стойност"} да бъде ${r}${i.maximum.toString()}`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o)return`Твърде малко: очаква се ${i.origin} да съдържа ${r}${i.minimum.toString()} ${o.unit}`;return`Твърде малко: очаква се ${i.origin} да бъде ${r}${i.minimum.toString()}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`Невалиден низ: трябва да започва с "${r.prefix}"`;if(r.format==="ends_with")return`Невалиден низ: трябва да завършва с "${r.suffix}"`;if(r.format==="includes")return`Невалиден низ: трябва да включва "${r.includes}"`;if(r.format==="regex")return`Невалиден низ: трябва да съвпада с ${r.pattern}`;let o="Невалиден";if(r.format==="emoji")o="Невалидно";if(r.format==="datetime")o="Невалидно";if(r.format==="date")o="Невалидна";if(r.format==="time")o="Невалидно";if(r.format==="duration")o="Невалидна";return`${o} ${n[r.format]??i.format}`}case"not_multiple_of":return`Невалидно число: трябва да бъде кратно на ${i.divisor}`;case"unrecognized_keys":return`Неразпознат${i.keys.length>1?"и":""} ключ${i.keys.length>1?"ове":""}: ${g(i.keys,", ")}`;case"invalid_key":return`Невалиден ключ в ${i.origin}`;case"invalid_union":return"Невалиден вход";case"invalid_element":return`Невалидна стойност в ${i.origin}`;default:return"Невалиден вход"}}},wy=()=>{let e={string:{unit:"caràcters",verb:"contenir"},file:{unit:"bytes",verb:"contenir"},array:{unit:"elements",verb:"contenir"},set:{unit:"elements",verb:"contenir"}};function t(i){return e[i]??null}let n={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"},a={nan:"NaN"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`Tipus invàlid: s'esperava instanceof ${i.expected}, s'ha rebut ${s}`;return`Tipus invàlid: s'esperava ${r}, s'ha rebut ${s}`}case"invalid_value":if(i.values.length===1)return`Valor invàlid: s'esperava ${_(i.values[0])}`;return`Opció invàlida: s'esperava una de ${g(i.values," o ")}`;case"too_big":{let r=i.inclusive?"com a màxim":"menys de",o=t(i.origin);if(o)return`Massa gran: s'esperava que ${i.origin??"el valor"} contingués ${r} ${i.maximum.toString()} ${o.unit??"elements"}`;return`Massa gran: s'esperava que ${i.origin??"el valor"} fos ${r} ${i.maximum.toString()}`}case"too_small":{let r=i.inclusive?"com a mínim":"més de",o=t(i.origin);if(o)return`Massa petit: s'esperava que ${i.origin} contingués ${r} ${i.minimum.toString()} ${o.unit}`;return`Massa petit: s'esperava que ${i.origin} fos ${r} ${i.minimum.toString()}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`Format invàlid: ha de començar amb "${r.prefix}"`;if(r.format==="ends_with")return`Format invàlid: ha d'acabar amb "${r.suffix}"`;if(r.format==="includes")return`Format invàlid: ha d'incloure "${r.includes}"`;if(r.format==="regex")return`Format invàlid: ha de coincidir amb el patró ${r.pattern}`;return`Format invàlid per a ${n[r.format]??i.format}`}case"not_multiple_of":return`Número invàlid: ha de ser múltiple de ${i.divisor}`;case"unrecognized_keys":return`Clau${i.keys.length>1?"s":""} no reconeguda${i.keys.length>1?"s":""}: ${g(i.keys,", ")}`;case"invalid_key":return`Clau invàlida a ${i.origin}`;case"invalid_union":return"Entrada invàlida";case"invalid_element":return`Element invàlid a ${i.origin}`;default:return"Entrada invàlida"}}},Iy=()=>{let e={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(i){return e[i]??null}let n={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"},a={nan:"NaN",number:"číslo",string:"řetězec",function:"funkce",array:"pole"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`Neplatný vstup: očekáváno instanceof ${i.expected}, obdrženo ${s}`;return`Neplatný vstup: očekáváno ${r}, obdrženo ${s}`}case"invalid_value":if(i.values.length===1)return`Neplatný vstup: očekáváno ${_(i.values[0])}`;return`Neplatná možnost: očekávána jedna z hodnot ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o)return`Hodnota je příliš velká: ${i.origin??"hodnota"} musí mít ${r}${i.maximum.toString()} ${o.unit??"prvků"}`;return`Hodnota je příliš velká: ${i.origin??"hodnota"} musí být ${r}${i.maximum.toString()}`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o)return`Hodnota je příliš malá: ${i.origin??"hodnota"} musí mít ${r}${i.minimum.toString()} ${o.unit??"prvků"}`;return`Hodnota je příliš malá: ${i.origin??"hodnota"} musí být ${r}${i.minimum.toString()}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`Neplatný řetězec: musí začínat na "${r.prefix}"`;if(r.format==="ends_with")return`Neplatný řetězec: musí končit na "${r.suffix}"`;if(r.format==="includes")return`Neplatný řetězec: musí obsahovat "${r.includes}"`;if(r.format==="regex")return`Neplatný řetězec: musí odpovídat vzoru ${r.pattern}`;return`Neplatný formát ${n[r.format]??i.format}`}case"not_multiple_of":return`Neplatné číslo: musí být násobkem ${i.divisor}`;case"unrecognized_keys":return`Neznámé klíče: ${g(i.keys,", ")}`;case"invalid_key":return`Neplatný klíč v ${i.origin}`;case"invalid_union":return"Neplatný vstup";case"invalid_element":return`Neplatná hodnota v ${i.origin}`;default:return"Neplatný vstup"}}},zy=()=>{let e={string:{unit:"tegn",verb:"havde"},file:{unit:"bytes",verb:"havde"},array:{unit:"elementer",verb:"indeholdt"},set:{unit:"elementer",verb:"indeholdt"}};function t(i){return e[i]??null}let n={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"},a={nan:"NaN",string:"streng",number:"tal",boolean:"boolean",array:"liste",object:"objekt",set:"sæt",file:"fil"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`Ugyldigt input: forventede instanceof ${i.expected}, fik ${s}`;return`Ugyldigt input: forventede ${r}, fik ${s}`}case"invalid_value":if(i.values.length===1)return`Ugyldig værdi: forventede ${_(i.values[0])}`;return`Ugyldigt valg: forventede en af følgende ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin),s=a[i.origin]??i.origin;if(o)return`For stor: forventede ${s??"value"} ${o.verb} ${r} ${i.maximum.toString()} ${o.unit??"elementer"}`;return`For stor: forventede ${s??"value"} havde ${r} ${i.maximum.toString()}`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin),s=a[i.origin]??i.origin;if(o)return`For lille: forventede ${s} ${o.verb} ${r} ${i.minimum.toString()} ${o.unit}`;return`For lille: forventede ${s} havde ${r} ${i.minimum.toString()}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`Ugyldig streng: skal starte med "${r.prefix}"`;if(r.format==="ends_with")return`Ugyldig streng: skal ende med "${r.suffix}"`;if(r.format==="includes")return`Ugyldig streng: skal indeholde "${r.includes}"`;if(r.format==="regex")return`Ugyldig streng: skal matche mønsteret ${r.pattern}`;return`Ugyldig ${n[r.format]??i.format}`}case"not_multiple_of":return`Ugyldigt tal: skal være deleligt med ${i.divisor}`;case"unrecognized_keys":return`${i.keys.length>1?"Ukendte nøgler":"Ukendt nøgle"}: ${g(i.keys,", ")}`;case"invalid_key":return`Ugyldig nøgle i ${i.origin}`;case"invalid_union":return"Ugyldigt input: matcher ingen af de tilladte typer";case"invalid_element":return`Ugyldig værdi i ${i.origin}`;default:return"Ugyldigt input"}}},Py=()=>{let e={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(i){return e[i]??null}let n={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"},a={nan:"NaN",number:"Zahl",array:"Array"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`Ungültige Eingabe: erwartet instanceof ${i.expected}, erhalten ${s}`;return`Ungültige Eingabe: erwartet ${r}, erhalten ${s}`}case"invalid_value":if(i.values.length===1)return`Ungültige Eingabe: erwartet ${_(i.values[0])}`;return`Ungültige Option: erwartet eine von ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o)return`Zu groß: erwartet, dass ${i.origin??"Wert"} ${r}${i.maximum.toString()} ${o.unit??"Elemente"} hat`;return`Zu groß: erwartet, dass ${i.origin??"Wert"} ${r}${i.maximum.toString()} ist`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o)return`Zu klein: erwartet, dass ${i.origin} ${r}${i.minimum.toString()} ${o.unit} hat`;return`Zu klein: erwartet, dass ${i.origin} ${r}${i.minimum.toString()} ist`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`Ungültiger String: muss mit "${r.prefix}" beginnen`;if(r.format==="ends_with")return`Ungültiger String: muss mit "${r.suffix}" enden`;if(r.format==="includes")return`Ungültiger String: muss "${r.includes}" enthalten`;if(r.format==="regex")return`Ungültiger String: muss dem Muster ${r.pattern} entsprechen`;return`Ungültig: ${n[r.format]??i.format}`}case"not_multiple_of":return`Ungültige Zahl: muss ein Vielfaches von ${i.divisor} sein`;case"unrecognized_keys":return`${i.keys.length>1?"Unbekannte Schlüssel":"Unbekannter Schlüssel"}: ${g(i.keys,", ")}`;case"invalid_key":return`Ungültiger Schlüssel in ${i.origin}`;case"invalid_union":return"Ungültige Eingabe";case"invalid_element":return`Ungültiger Wert in ${i.origin}`;default:return"Ungültige Eingabe"}}},Ty=()=>{let e={string:{unit:"χαρακτήρες",verb:"να έχει"},file:{unit:"bytes",verb:"να έχει"},array:{unit:"στοιχεία",verb:"να έχει"},set:{unit:"στοιχεία",verb:"να έχει"},map:{unit:"καταχωρήσεις",verb:"να έχει"}};function t(i){return e[i]??null}let n={regex:"είσοδος",email:"διεύθυνση 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",mac:"διεύθυνση MAC",cidrv4:"εύρος IPv4",cidrv6:"εύρος IPv6",base64:"συμβολοσειρά κωδικοποιημένη σε base64",base64url:"συμβολοσειρά κωδικοποιημένη σε base64url",json_string:"συμβολοσειρά JSON",e164:"αριθμός E.164",jwt:"JWT",template_literal:"είσοδος"},a={nan:"NaN"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(typeof i.expected==="string"&&/^[A-Z]/.test(i.expected))return`Μη έγκυρη είσοδος: αναμενόταν instanceof ${i.expected}, λήφθηκε ${s}`;return`Μη έγκυρη είσοδος: αναμενόταν ${r}, λήφθηκε ${s}`}case"invalid_value":if(i.values.length===1)return`Μη έγκυρη είσοδος: αναμενόταν ${_(i.values[0])}`;return`Μη έγκυρη επιλογή: αναμενόταν ένα από ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o)return`Πολύ μεγάλο: αναμενόταν ${i.origin??"τιμή"} να έχει ${r}${i.maximum.toString()} ${o.unit??"στοιχεία"}`;return`Πολύ μεγάλο: αναμενόταν ${i.origin??"τιμή"} να είναι ${r}${i.maximum.toString()}`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o)return`Πολύ μικρό: αναμενόταν ${i.origin} να έχει ${r}${i.minimum.toString()} ${o.unit}`;return`Πολύ μικρό: αναμενόταν ${i.origin} να είναι ${r}${i.minimum.toString()}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`Μη έγκυρη συμβολοσειρά: πρέπει να ξεκινά με "${r.prefix}"`;if(r.format==="ends_with")return`Μη έγκυρη συμβολοσειρά: πρέπει να τελειώνει με "${r.suffix}"`;if(r.format==="includes")return`Μη έγκυρη συμβολοσειρά: πρέπει να περιέχει "${r.includes}"`;if(r.format==="regex")return`Μη έγκυρη συμβολοσειρά: πρέπει να ταιριάζει με το μοτίβο ${r.pattern}`;return`Μη έγκυρο: ${n[r.format]??i.format}`}case"not_multiple_of":return`Μη έγκυρος αριθμός: πρέπει να είναι πολλαπλάσιο του ${i.divisor}`;case"unrecognized_keys":return`Άγνωστ${i.keys.length>1?"α":"ο"} κλειδ${i.keys.length>1?"ιά":"ί"}: ${g(i.keys,", ")}`;case"invalid_key":return`Μη έγκυρο κλειδί στο ${i.origin}`;case"invalid_union":return"Μη έγκυρη είσοδος";case"invalid_element":return`Μη έγκυρη τιμή στο ${i.origin}`;default:return"Μη έγκυρη είσοδος"}}},jy=()=>{let e={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function t(i){return e[i]??null}let 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",mac:"MAC 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"},a={nan:"NaN"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;return`Invalid input: expected ${r}, received ${s}`}case"invalid_value":if(i.values.length===1)return`Invalid input: expected ${_(i.values[0])}`;return`Invalid option: expected one of ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o)return`Too big: expected ${i.origin??"value"} to have ${r}${i.maximum.toString()} ${o.unit??"elements"}`;return`Too big: expected ${i.origin??"value"} to be ${r}${i.maximum.toString()}`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o)return`Too small: expected ${i.origin} to have ${r}${i.minimum.toString()} ${o.unit}`;return`Too small: expected ${i.origin} to be ${r}${i.minimum.toString()}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`Invalid string: must start with "${r.prefix}"`;if(r.format==="ends_with")return`Invalid string: must end with "${r.suffix}"`;if(r.format==="includes")return`Invalid string: must include "${r.includes}"`;if(r.format==="regex")return`Invalid string: must match pattern ${r.pattern}`;return`Invalid ${n[r.format]??i.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${i.divisor}`;case"unrecognized_keys":return`Unrecognized key${i.keys.length>1?"s":""}: ${g(i.keys,", ")}`;case"invalid_key":return`Invalid key in ${i.origin}`;case"invalid_union":if(i.options&&Array.isArray(i.options)&&i.options.length>0)return`Invalid discriminator value. Expected ${i.options.map((r)=>`'${r}'`).join(" | ")}`;return"Invalid input";case"invalid_element":return`Invalid value in ${i.origin}`;default:return"Invalid input"}}},Ny=()=>{let e={string:{unit:"karaktrojn",verb:"havi"},file:{unit:"bajtojn",verb:"havi"},array:{unit:"elementojn",verb:"havi"},set:{unit:"elementojn",verb:"havi"}};function t(i){return e[i]??null}let 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"},a={nan:"NaN",number:"nombro",array:"tabelo",null:"senvalora"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`Nevalida enigo: atendiĝis instanceof ${i.expected}, riceviĝis ${s}`;return`Nevalida enigo: atendiĝis ${r}, riceviĝis ${s}`}case"invalid_value":if(i.values.length===1)return`Nevalida enigo: atendiĝis ${_(i.values[0])}`;return`Nevalida opcio: atendiĝis unu el ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o)return`Tro granda: atendiĝis ke ${i.origin??"valoro"} havu ${r}${i.maximum.toString()} ${o.unit??"elementojn"}`;return`Tro granda: atendiĝis ke ${i.origin??"valoro"} havu ${r}${i.maximum.toString()}`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o)return`Tro malgranda: atendiĝis ke ${i.origin} havu ${r}${i.minimum.toString()} ${o.unit}`;return`Tro malgranda: atendiĝis ke ${i.origin} estu ${r}${i.minimum.toString()}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`Nevalida karaktraro: devas komenciĝi per "${r.prefix}"`;if(r.format==="ends_with")return`Nevalida karaktraro: devas finiĝi per "${r.suffix}"`;if(r.format==="includes")return`Nevalida karaktraro: devas inkluzivi "${r.includes}"`;if(r.format==="regex")return`Nevalida karaktraro: devas kongrui kun la modelo ${r.pattern}`;return`Nevalida ${n[r.format]??i.format}`}case"not_multiple_of":return`Nevalida nombro: devas esti oblo de ${i.divisor}`;case"unrecognized_keys":return`Nekonata${i.keys.length>1?"j":""} ŝlosilo${i.keys.length>1?"j":""}: ${g(i.keys,", ")}`;case"invalid_key":return`Nevalida ŝlosilo en ${i.origin}`;case"invalid_union":return"Nevalida enigo";case"invalid_element":return`Nevalida valoro en ${i.origin}`;default:return"Nevalida enigo"}}},Dy=()=>{let e={string:{unit:"caracteres",verb:"tener"},file:{unit:"bytes",verb:"tener"},array:{unit:"elementos",verb:"tener"},set:{unit:"elementos",verb:"tener"}};function t(i){return e[i]??null}let n={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"},a={nan:"NaN",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"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`Entrada inválida: se esperaba instanceof ${i.expected}, recibido ${s}`;return`Entrada inválida: se esperaba ${r}, recibido ${s}`}case"invalid_value":if(i.values.length===1)return`Entrada inválida: se esperaba ${_(i.values[0])}`;return`Opción inválida: se esperaba una de ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin),s=a[i.origin]??i.origin;if(o)return`Demasiado grande: se esperaba que ${s??"valor"} tuviera ${r}${i.maximum.toString()} ${o.unit??"elementos"}`;return`Demasiado grande: se esperaba que ${s??"valor"} fuera ${r}${i.maximum.toString()}`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin),s=a[i.origin]??i.origin;if(o)return`Demasiado pequeño: se esperaba que ${s} tuviera ${r}${i.minimum.toString()} ${o.unit}`;return`Demasiado pequeño: se esperaba que ${s} fuera ${r}${i.minimum.toString()}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`Cadena inválida: debe comenzar con "${r.prefix}"`;if(r.format==="ends_with")return`Cadena inválida: debe terminar en "${r.suffix}"`;if(r.format==="includes")return`Cadena inválida: debe incluir "${r.includes}"`;if(r.format==="regex")return`Cadena inválida: debe coincidir con el patrón ${r.pattern}`;return`Inválido ${n[r.format]??i.format}`}case"not_multiple_of":return`Número inválido: debe ser múltiplo de ${i.divisor}`;case"unrecognized_keys":return`Llave${i.keys.length>1?"s":""} desconocida${i.keys.length>1?"s":""}: ${g(i.keys,", ")}`;case"invalid_key":return`Llave inválida en ${a[i.origin]??i.origin}`;case"invalid_union":return"Entrada inválida";case"invalid_element":return`Valor inválido en ${a[i.origin]??i.origin}`;default:return"Entrada inválida"}}},Zy=()=>{let e={string:{unit:"کاراکتر",verb:"داشته باشد"},file:{unit:"بایت",verb:"داشته باشد"},array:{unit:"آیتم",verb:"داشته باشد"},set:{unit:"آیتم",verb:"داشته باشد"}};function t(i){return e[i]??null}let 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-encoded رشته",base64url:"base64url-encoded رشته",json_string:"JSON رشته",e164:"E.164 عدد",jwt:"JWT",template_literal:"ورودی"},a={nan:"NaN",number:"عدد",array:"آرایه"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`ورودی نامعتبر: می‌بایست instanceof ${i.expected} می‌بود، ${s} دریافت شد`;return`ورودی نامعتبر: می‌بایست ${r} می‌بود، ${s} دریافت شد`}case"invalid_value":if(i.values.length===1)return`ورودی نامعتبر: می‌بایست ${_(i.values[0])} می‌بود`;return`گزینه نامعتبر: می‌بایست یکی از ${g(i.values,"|")} می‌بود`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o)return`خیلی بزرگ: ${i.origin??"مقدار"} باید ${r}${i.maximum.toString()} ${o.unit??"عنصر"} باشد`;return`خیلی بزرگ: ${i.origin??"مقدار"} باید ${r}${i.maximum.toString()} باشد`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o)return`خیلی کوچک: ${i.origin} باید ${r}${i.minimum.toString()} ${o.unit} باشد`;return`خیلی کوچک: ${i.origin} باید ${r}${i.minimum.toString()} باشد`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`رشته نامعتبر: باید با "${r.prefix}" شروع شود`;if(r.format==="ends_with")return`رشته نامعتبر: باید با "${r.suffix}" تمام شود`;if(r.format==="includes")return`رشته نامعتبر: باید شامل "${r.includes}" باشد`;if(r.format==="regex")return`رشته نامعتبر: باید با الگوی ${r.pattern} مطابقت داشته باشد`;return`${n[r.format]??i.format} نامعتبر`}case"not_multiple_of":return`عدد نامعتبر: باید مضرب ${i.divisor} باشد`;case"unrecognized_keys":return`کلید${i.keys.length>1?"های":""} ناشناس: ${g(i.keys,", ")}`;case"invalid_key":return`کلید ناشناس در ${i.origin}`;case"invalid_union":return"ورودی نامعتبر";case"invalid_element":return`مقدار نامعتبر در ${i.origin}`;default:return"ورودی نامعتبر"}}},My=()=>{let e={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(i){return e[i]??null}let n={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"},a={nan:"NaN"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`Virheellinen tyyppi: odotettiin instanceof ${i.expected}, oli ${s}`;return`Virheellinen tyyppi: odotettiin ${r}, oli ${s}`}case"invalid_value":if(i.values.length===1)return`Virheellinen syöte: täytyy olla ${_(i.values[0])}`;return`Virheellinen valinta: täytyy olla yksi seuraavista: ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o)return`Liian suuri: ${o.subject} täytyy olla ${r}${i.maximum.toString()} ${o.unit}`.trim();return`Liian suuri: arvon täytyy olla ${r}${i.maximum.toString()}`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o)return`Liian pieni: ${o.subject} täytyy olla ${r}${i.minimum.toString()} ${o.unit}`.trim();return`Liian pieni: arvon täytyy olla ${r}${i.minimum.toString()}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`Virheellinen syöte: täytyy alkaa "${r.prefix}"`;if(r.format==="ends_with")return`Virheellinen syöte: täytyy loppua "${r.suffix}"`;if(r.format==="includes")return`Virheellinen syöte: täytyy sisältää "${r.includes}"`;if(r.format==="regex")return`Virheellinen syöte: täytyy vastata säännöllistä lauseketta ${r.pattern}`;return`Virheellinen ${n[r.format]??i.format}`}case"not_multiple_of":return`Virheellinen luku: täytyy olla luvun ${i.divisor} monikerta`;case"unrecognized_keys":return`${i.keys.length>1?"Tuntemattomat avaimet":"Tuntematon avain"}: ${g(i.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"}}},Fy=()=>{let e={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(i){return e[i]??null}let n={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"},a={string:"chaîne",number:"nombre",int:"entier",boolean:"booléen",bigint:"grand entier",symbol:"symbole",undefined:"indéfini",null:"null",never:"jamais",void:"vide",date:"date",array:"tableau",object:"objet",tuple:"tuple",record:"enregistrement",map:"carte",set:"ensemble",file:"fichier",nonoptional:"non-optionnel",nan:"NaN",function:"fonction"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`Entrée invalide : instanceof ${i.expected} attendu, ${s} reçu`;return`Entrée invalide : ${r} attendu, ${s} reçu`}case"invalid_value":if(i.values.length===1)return`Entrée invalide : ${_(i.values[0])} attendu`;return`Option invalide : une valeur parmi ${g(i.values,"|")} attendue`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o)return`Trop grand : ${a[i.origin]??"valeur"} doit ${o.verb} ${r}${i.maximum.toString()} ${o.unit??"élément(s)"}`;return`Trop grand : ${a[i.origin]??"valeur"} doit être ${r}${i.maximum.toString()}`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o)return`Trop petit : ${a[i.origin]??"valeur"} doit ${o.verb} ${r}${i.minimum.toString()} ${o.unit}`;return`Trop petit : ${a[i.origin]??"valeur"} doit être ${r}${i.minimum.toString()}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`Chaîne invalide : doit commencer par "${r.prefix}"`;if(r.format==="ends_with")return`Chaîne invalide : doit se terminer par "${r.suffix}"`;if(r.format==="includes")return`Chaîne invalide : doit inclure "${r.includes}"`;if(r.format==="regex")return`Chaîne invalide : doit correspondre au modèle ${r.pattern}`;return`${n[r.format]??i.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit être un multiple de ${i.divisor}`;case"unrecognized_keys":return`Clé${i.keys.length>1?"s":""} non reconnue${i.keys.length>1?"s":""} : ${g(i.keys,", ")}`;case"invalid_key":return`Clé invalide dans ${i.origin}`;case"invalid_union":return"Entrée invalide";case"invalid_element":return`Valeur invalide dans ${i.origin}`;default:return"Entrée invalide"}}},Ky=()=>{let e={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(i){return e[i]??null}let n={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"},a={nan:"NaN"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`Entrée invalide : attendu instanceof ${i.expected}, reçu ${s}`;return`Entrée invalide : attendu ${r}, reçu ${s}`}case"invalid_value":if(i.values.length===1)return`Entrée invalide : attendu ${_(i.values[0])}`;return`Option invalide : attendu l'une des valeurs suivantes ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"≤":"<",o=t(i.origin);if(o)return`Trop grand : attendu que ${i.origin??"la valeur"} ait ${r}${i.maximum.toString()} ${o.unit}`;return`Trop grand : attendu que ${i.origin??"la valeur"} soit ${r}${i.maximum.toString()}`}case"too_small":{let r=i.inclusive?"≥":">",o=t(i.origin);if(o)return`Trop petit : attendu que ${i.origin} ait ${r}${i.minimum.toString()} ${o.unit}`;return`Trop petit : attendu que ${i.origin} soit ${r}${i.minimum.toString()}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`Chaîne invalide : doit commencer par "${r.prefix}"`;if(r.format==="ends_with")return`Chaîne invalide : doit se terminer par "${r.suffix}"`;if(r.format==="includes")return`Chaîne invalide : doit inclure "${r.includes}"`;if(r.format==="regex")return`Chaîne invalide : doit correspondre au motif ${r.pattern}`;return`${n[r.format]??i.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit être un multiple de ${i.divisor}`;case"unrecognized_keys":return`Clé${i.keys.length>1?"s":""} non reconnue${i.keys.length>1?"s":""} : ${g(i.keys,", ")}`;case"invalid_key":return`Clé invalide dans ${i.origin}`;case"invalid_union":return"Entrée invalide";case"invalid_element":return`Valeur invalide dans ${i.origin}`;default:return"Entrée invalide"}}},Wy=()=>{let e={string:{label:"מחרוזת",gender:"f"},number:{label:"מספר",gender:"m"},boolean:{label:"ערך בוליאני",gender:"m"},bigint:{label:"BigInt",gender:"m"},date:{label:"תאריך",gender:"m"},array:{label:"מערך",gender:"m"},object:{label:"אובייקט",gender:"m"},null:{label:"ערך ריק (null)",gender:"m"},undefined:{label:"ערך לא מוגדר (undefined)",gender:"m"},symbol:{label:"סימבול (Symbol)",gender:"m"},function:{label:"פונקציה",gender:"f"},map:{label:"מפה (Map)",gender:"f"},set:{label:"קבוצה (Set)",gender:"f"},file:{label:"קובץ",gender:"m"},promise:{label:"Promise",gender:"m"},NaN:{label:"NaN",gender:"m"},unknown:{label:"ערך לא ידוע",gender:"m"},value:{label:"ערך",gender:"m"}},t={string:{unit:"תווים",shortLabel:"קצר",longLabel:"ארוך"},file:{unit:"בייטים",shortLabel:"קטן",longLabel:"גדול"},array:{unit:"פריטים",shortLabel:"קטן",longLabel:"גדול"},set:{unit:"פריטים",shortLabel:"קטן",longLabel:"גדול"},number:{unit:"",shortLabel:"קטן",longLabel:"גדול"}},n=(d)=>d?e[d]:void 0,a=(d)=>{let c=n(d);if(c)return c.label;return d??e.unknown.label},i=(d)=>`ה${a(d)}`,r=(d)=>{return(n(d)?.gender??"m")==="f"?"צריכה להיות":"צריך להיות"},o=(d)=>{if(!d)return null;return t[d]??null},s={regex:{label:"קלט",gender:"m"},email:{label:"כתובת אימייל",gender:"f"},url:{label:"כתובת רשת",gender:"f"},emoji:{label:"אימוג'י",gender:"m"},uuid:{label:"UUID",gender:"m"},nanoid:{label:"nanoid",gender:"m"},guid:{label:"GUID",gender:"m"},cuid:{label:"cuid",gender:"m"},cuid2:{label:"cuid2",gender:"m"},ulid:{label:"ULID",gender:"m"},xid:{label:"XID",gender:"m"},ksuid:{label:"KSUID",gender:"m"},datetime:{label:"תאריך וזמן ISO",gender:"m"},date:{label:"תאריך ISO",gender:"m"},time:{label:"זמן ISO",gender:"m"},duration:{label:"משך זמן ISO",gender:"m"},ipv4:{label:"כתובת IPv4",gender:"f"},ipv6:{label:"כתובת IPv6",gender:"f"},cidrv4:{label:"טווח IPv4",gender:"m"},cidrv6:{label:"טווח IPv6",gender:"m"},base64:{label:"מחרוזת בבסיס 64",gender:"f"},base64url:{label:"מחרוזת בבסיס 64 לכתובות רשת",gender:"f"},json_string:{label:"מחרוזת JSON",gender:"f"},e164:{label:"מספר E.164",gender:"m"},jwt:{label:"JWT",gender:"m"},ends_with:{label:"קלט",gender:"m"},includes:{label:"קלט",gender:"m"},lowercase:{label:"קלט",gender:"m"},starts_with:{label:"קלט",gender:"m"},uppercase:{label:"קלט",gender:"m"}},l={nan:"NaN"};return(d)=>{switch(d.code){case"invalid_type":{let c=d.expected,p=l[c??""]??a(c),v=w(d.input),f=l[v]??e[v]?.label??v;if(/^[A-Z]/.test(d.expected))return`קלט לא תקין: צריך להיות instanceof ${d.expected}, התקבל ${f}`;return`קלט לא תקין: צריך להיות ${p}, התקבל ${f}`}case"invalid_value":{if(d.values.length===1)return`ערך לא תקין: הערך חייב להיות ${_(d.values[0])}`;let c=d.values.map((v)=>_(v));if(d.values.length===2)return`ערך לא תקין: האפשרויות המתאימות הן ${c[0]} או ${c[1]}`;let p=c[c.length-1];return`ערך לא תקין: האפשרויות המתאימות הן ${c.slice(0,-1).join(", ")} או ${p}`}case"too_big":{let c=o(d.origin),p=i(d.origin??"value");if(d.origin==="string")return`${c?.longLabel??"ארוך"} מדי: ${p} צריכה להכיל ${d.maximum.toString()} ${c?.unit??""} ${d.inclusive?"או פחות":"לכל היותר"}`.trim();if(d.origin==="number"){let y=d.inclusive?`קטן או שווה ל-${d.maximum}`:`קטן מ-${d.maximum}`;return`גדול מדי: ${p} צריך להיות ${y}`}if(d.origin==="array"||d.origin==="set"){let y=d.origin==="set"?"צריכה":"צריך",k=d.inclusive?`${d.maximum} ${c?.unit??""} או פחות`:`פחות מ-${d.maximum} ${c?.unit??""}`;return`גדול מדי: ${p} ${y} להכיל ${k}`.trim()}let v=d.inclusive?"<=":"<",f=r(d.origin??"value");if(c?.unit)return`${c.longLabel} מדי: ${p} ${f} ${v}${d.maximum.toString()} ${c.unit}`;return`${c?.longLabel??"גדול"} מדי: ${p} ${f} ${v}${d.maximum.toString()}`}case"too_small":{let c=o(d.origin),p=i(d.origin??"value");if(d.origin==="string")return`${c?.shortLabel??"קצר"} מדי: ${p} צריכה להכיל ${d.minimum.toString()} ${c?.unit??""} ${d.inclusive?"או יותר":"לפחות"}`.trim();if(d.origin==="number"){let y=d.inclusive?`גדול או שווה ל-${d.minimum}`:`גדול מ-${d.minimum}`;return`קטן מדי: ${p} צריך להיות ${y}`}if(d.origin==="array"||d.origin==="set"){let y=d.origin==="set"?"צריכה":"צריך";if(d.minimum===1&&d.inclusive){let T=d.origin==="set"?"לפחות פריט אחד":"לפחות פריט אחד";return`קטן מדי: ${p} ${y} להכיל ${T}`}let k=d.inclusive?`${d.minimum} ${c?.unit??""} או יותר`:`יותר מ-${d.minimum} ${c?.unit??""}`;return`קטן מדי: ${p} ${y} להכיל ${k}`.trim()}let v=d.inclusive?">=":">",f=r(d.origin??"value");if(c?.unit)return`${c.shortLabel} מדי: ${p} ${f} ${v}${d.minimum.toString()} ${c.unit}`;return`${c?.shortLabel??"קטן"} מדי: ${p} ${f} ${v}${d.minimum.toString()}`}case"invalid_format":{let c=d;if(c.format==="starts_with")return`המחרוזת חייבת להתחיל ב "${c.prefix}"`;if(c.format==="ends_with")return`המחרוזת חייבת להסתיים ב "${c.suffix}"`;if(c.format==="includes")return`המחרוזת חייבת לכלול "${c.includes}"`;if(c.format==="regex")return`המחרוזת חייבת להתאים לתבנית ${c.pattern}`;let p=s[c.format],v=p?.label??c.format,f=(p?.gender??"m")==="f"?"תקינה":"תקין";return`${v} לא ${f}`}case"not_multiple_of":return`מספר לא תקין: חייב להיות מכפלה של ${d.divisor}`;case"unrecognized_keys":return`מפתח${d.keys.length>1?"ות":""} לא מזוה${d.keys.length>1?"ים":"ה"}: ${g(d.keys,", ")}`;case"invalid_key":return"שדה לא תקין באובייקט";case"invalid_union":return"קלט לא תקין";case"invalid_element":return`ערך לא תקין ב${i(d.origin??"array")}`;default:return"קלט לא תקין"}}},By=()=>{let e={string:{unit:"znakova",verb:"imati"},file:{unit:"bajtova",verb:"imati"},array:{unit:"stavki",verb:"imati"},set:{unit:"stavki",verb:"imati"}};function t(i){return e[i]??null}let n={regex:"unos",email:"email 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:"ISO datum i vrijeme",date:"ISO datum",time:"ISO vrijeme",duration:"ISO trajanje",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"IPv4 raspon",cidrv6:"IPv6 raspon",base64:"base64 kodirani tekst",base64url:"base64url kodirani tekst",json_string:"JSON tekst",e164:"E.164 broj",jwt:"JWT",template_literal:"unos"},a={nan:"NaN",string:"tekst",number:"broj",boolean:"boolean",array:"niz",object:"objekt",set:"skup",file:"datoteka",date:"datum",bigint:"bigint",symbol:"simbol",undefined:"undefined",null:"null",function:"funkcija",map:"mapa"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`Neispravan unos: očekuje se instanceof ${i.expected}, a primljeno je ${s}`;return`Neispravan unos: očekuje se ${r}, a primljeno je ${s}`}case"invalid_value":if(i.values.length===1)return`Neispravna vrijednost: očekivano ${_(i.values[0])}`;return`Neispravna opcija: očekivano jedno od ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin),s=a[i.origin]??i.origin;if(o)return`Preveliko: očekivano da ${s??"vrijednost"} ima ${r}${i.maximum.toString()} ${o.unit??"elemenata"}`;return`Preveliko: očekivano da ${s??"vrijednost"} bude ${r}${i.maximum.toString()}`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin),s=a[i.origin]??i.origin;if(o)return`Premalo: očekivano da ${s} ima ${r}${i.minimum.toString()} ${o.unit}`;return`Premalo: očekivano da ${s} bude ${r}${i.minimum.toString()}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`Neispravan tekst: mora započinjati s "${r.prefix}"`;if(r.format==="ends_with")return`Neispravan tekst: mora završavati s "${r.suffix}"`;if(r.format==="includes")return`Neispravan tekst: mora sadržavati "${r.includes}"`;if(r.format==="regex")return`Neispravan tekst: mora odgovarati uzorku ${r.pattern}`;return`Neispravna ${n[r.format]??i.format}`}case"not_multiple_of":return`Neispravan broj: mora biti višekratnik od ${i.divisor}`;case"unrecognized_keys":return`Neprepoznat${i.keys.length>1?"i ključevi":" ključ"}: ${g(i.keys,", ")}`;case"invalid_key":return`Neispravan ključ u ${a[i.origin]??i.origin}`;case"invalid_union":return"Neispravan unos";case"invalid_element":return`Neispravna vrijednost u ${a[i.origin]??i.origin}`;default:return"Neispravan unos"}}},Vy=()=>{let e={string:{unit:"karakter",verb:"legyen"},file:{unit:"byte",verb:"legyen"},array:{unit:"elem",verb:"legyen"},set:{unit:"elem",verb:"legyen"}};function t(i){return e[i]??null}let n={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"},a={nan:"NaN",number:"szám",array:"tömb"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`Érvénytelen bemenet: a várt érték instanceof ${i.expected}, a kapott érték ${s}`;return`Érvénytelen bemenet: a várt érték ${r}, a kapott érték ${s}`}case"invalid_value":if(i.values.length===1)return`Érvénytelen bemenet: a várt érték ${_(i.values[0])}`;return`Érvénytelen opció: valamelyik érték várt ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o)return`Túl nagy: ${i.origin??"érték"} mérete túl nagy ${r}${i.maximum.toString()} ${o.unit??"elem"}`;return`Túl nagy: a bemeneti érték ${i.origin??"érték"} túl nagy: ${r}${i.maximum.toString()}`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o)return`Túl kicsi: a bemeneti érték ${i.origin} mérete túl kicsi ${r}${i.minimum.toString()} ${o.unit}`;return`Túl kicsi: a bemeneti érték ${i.origin} túl kicsi ${r}${i.minimum.toString()}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`Érvénytelen string: "${r.prefix}" értékkel kell kezdődnie`;if(r.format==="ends_with")return`Érvénytelen string: "${r.suffix}" értékkel kell végződnie`;if(r.format==="includes")return`Érvénytelen string: "${r.includes}" értéket kell tartalmaznia`;if(r.format==="regex")return`Érvénytelen string: ${r.pattern} mintának kell megfelelnie`;return`Érvénytelen ${n[r.format]??i.format}`}case"not_multiple_of":return`Érvénytelen szám: ${i.divisor} többszörösének kell lennie`;case"unrecognized_keys":return`Ismeretlen kulcs${i.keys.length>1?"s":""}: ${g(i.keys,", ")}`;case"invalid_key":return`Érvénytelen kulcs ${i.origin}`;case"invalid_union":return"Érvénytelen bemenet";case"invalid_element":return`Érvénytelen érték: ${i.origin}`;default:return"Érvénytelen bemenet"}}},Qy=()=>{let e={string:{unit:{one:"նշան",many:"նշաններ"},verb:"ունենալ"},file:{unit:{one:"բայթ",many:"բայթեր"},verb:"ունենալ"},array:{unit:{one:"տարր",many:"տարրեր"},verb:"ունենալ"},set:{unit:{one:"տարր",many:"տարրեր"},verb:"ունենալ"}};function t(i){return e[i]??null}let 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:"մուտք"},a={nan:"NaN",number:"թիվ",array:"զանգված"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`Սխալ մուտքագրում․ սպասվում էր instanceof ${i.expected}, ստացվել է ${s}`;return`Սխալ մուտքագրում․ սպասվում էր ${r}, ստացվել է ${s}`}case"invalid_value":if(i.values.length===1)return`Սխալ մուտքագրում․ սպասվում էր ${_(i.values[1])}`;return`Սխալ տարբերակ․ սպասվում էր հետևյալներից մեկը՝ ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o){let s=Number(i.maximum),l=hs(s,o.unit.one,o.unit.many);return`Չափազանց մեծ արժեք․ սպասվում է, որ ${Ye(i.origin??"արժեք")} կունենա ${r}${i.maximum.toString()} ${l}`}return`Չափազանց մեծ արժեք․ սպասվում է, որ ${Ye(i.origin??"արժեք")} լինի ${r}${i.maximum.toString()}`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o){let s=Number(i.minimum),l=hs(s,o.unit.one,o.unit.many);return`Չափազանց փոքր արժեք․ սպասվում է, որ ${Ye(i.origin)} կունենա ${r}${i.minimum.toString()} ${l}`}return`Չափազանց փոքր արժեք․ սպասվում է, որ ${Ye(i.origin)} լինի ${r}${i.minimum.toString()}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`Սխալ տող․ պետք է սկսվի "${r.prefix}"-ով`;if(r.format==="ends_with")return`Սխալ տող․ պետք է ավարտվի "${r.suffix}"-ով`;if(r.format==="includes")return`Սխալ տող․ պետք է պարունակի "${r.includes}"`;if(r.format==="regex")return`Սխալ տող․ պետք է համապատասխանի ${r.pattern} ձևաչափին`;return`Սխալ ${n[r.format]??i.format}`}case"not_multiple_of":return`Սխալ թիվ․ պետք է բազմապատիկ լինի ${i.divisor}-ի`;case"unrecognized_keys":return`Չճանաչված բանալի${i.keys.length>1?"ներ":""}. ${g(i.keys,", ")}`;case"invalid_key":return`Սխալ բանալի ${Ye(i.origin)}-ում`;case"invalid_union":return"Սխալ մուտքագրում";case"invalid_element":return`Սխալ արժեք ${Ye(i.origin)}-ում`;default:return"Սխալ մուտքագրում"}}},eb=()=>{let e={string:{unit:"karakter",verb:"memiliki"},file:{unit:"byte",verb:"memiliki"},array:{unit:"item",verb:"memiliki"},set:{unit:"item",verb:"memiliki"}};function t(i){return e[i]??null}let n={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"},a={nan:"NaN"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`Input tidak valid: diharapkan instanceof ${i.expected}, diterima ${s}`;return`Input tidak valid: diharapkan ${r}, diterima ${s}`}case"invalid_value":if(i.values.length===1)return`Input tidak valid: diharapkan ${_(i.values[0])}`;return`Pilihan tidak valid: diharapkan salah satu dari ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o)return`Terlalu besar: diharapkan ${i.origin??"value"} memiliki ${r}${i.maximum.toString()} ${o.unit??"elemen"}`;return`Terlalu besar: diharapkan ${i.origin??"value"} menjadi ${r}${i.maximum.toString()}`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o)return`Terlalu kecil: diharapkan ${i.origin} memiliki ${r}${i.minimum.toString()} ${o.unit}`;return`Terlalu kecil: diharapkan ${i.origin} menjadi ${r}${i.minimum.toString()}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`String tidak valid: harus dimulai dengan "${r.prefix}"`;if(r.format==="ends_with")return`String tidak valid: harus berakhir dengan "${r.suffix}"`;if(r.format==="includes")return`String tidak valid: harus menyertakan "${r.includes}"`;if(r.format==="regex")return`String tidak valid: harus sesuai pola ${r.pattern}`;return`${n[r.format]??i.format} tidak valid`}case"not_multiple_of":return`Angka tidak valid: harus kelipatan dari ${i.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali ${i.keys.length>1?"s":""}: ${g(i.keys,", ")}`;case"invalid_key":return`Kunci tidak valid di ${i.origin}`;case"invalid_union":return"Input tidak valid";case"invalid_element":return`Nilai tidak valid di ${i.origin}`;default:return"Input tidak valid"}}},ib=()=>{let e={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(i){return e[i]??null}let 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"},a={nan:"NaN",number:"númer",array:"fylki"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`Rangt gildi: Þú slóst inn ${s} þar sem á að vera instanceof ${i.expected}`;return`Rangt gildi: Þú slóst inn ${s} þar sem á að vera ${r}`}case"invalid_value":if(i.values.length===1)return`Rangt gildi: gert ráð fyrir ${_(i.values[0])}`;return`Ógilt val: má vera eitt af eftirfarandi ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o)return`Of stórt: gert er ráð fyrir að ${i.origin??"gildi"} hafi ${r}${i.maximum.toString()} ${o.unit??"hluti"}`;return`Of stórt: gert er ráð fyrir að ${i.origin??"gildi"} sé ${r}${i.maximum.toString()}`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o)return`Of lítið: gert er ráð fyrir að ${i.origin} hafi ${r}${i.minimum.toString()} ${o.unit}`;return`Of lítið: gert er ráð fyrir að ${i.origin} sé ${r}${i.minimum.toString()}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`Ógildur strengur: verður að byrja á "${r.prefix}"`;if(r.format==="ends_with")return`Ógildur strengur: verður að enda á "${r.suffix}"`;if(r.format==="includes")return`Ógildur strengur: verður að innihalda "${r.includes}"`;if(r.format==="regex")return`Ógildur strengur: verður að fylgja mynstri ${r.pattern}`;return`Rangt ${n[r.format]??i.format}`}case"not_multiple_of":return`Röng tala: verður að vera margfeldi af ${i.divisor}`;case"unrecognized_keys":return`Óþekkt ${i.keys.length>1?"ir lyklar":"ur lykill"}: ${g(i.keys,", ")}`;case"invalid_key":return`Rangur lykill í ${i.origin}`;case"invalid_union":return"Rangt gildi";case"invalid_element":return`Rangt gildi í ${i.origin}`;default:return"Rangt gildi"}}},rb=()=>{let e={string:{unit:"caratteri",verb:"avere"},file:{unit:"byte",verb:"avere"},array:{unit:"elementi",verb:"avere"},set:{unit:"elementi",verb:"avere"}};function t(i){return e[i]??null}let n={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"},a={nan:"NaN",number:"numero",array:"vettore"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`Input non valido: atteso instanceof ${i.expected}, ricevuto ${s}`;return`Input non valido: atteso ${r}, ricevuto ${s}`}case"invalid_value":if(i.values.length===1)return`Input non valido: atteso ${_(i.values[0])}`;return`Opzione non valida: atteso uno tra ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o)return`Troppo grande: ${i.origin??"valore"} deve avere ${r}${i.maximum.toString()} ${o.unit??"elementi"}`;return`Troppo grande: ${i.origin??"valore"} deve essere ${r}${i.maximum.toString()}`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o)return`Troppo piccolo: ${i.origin} deve avere ${r}${i.minimum.toString()} ${o.unit}`;return`Troppo piccolo: ${i.origin} deve essere ${r}${i.minimum.toString()}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`Stringa non valida: deve iniziare con "${r.prefix}"`;if(r.format==="ends_with")return`Stringa non valida: deve terminare con "${r.suffix}"`;if(r.format==="includes")return`Stringa non valida: deve includere "${r.includes}"`;if(r.format==="regex")return`Stringa non valida: deve corrispondere al pattern ${r.pattern}`;return`Input non valido: ${n[r.format]??i.format}`}case"not_multiple_of":return`Numero non valido: deve essere un multiplo di ${i.divisor}`;case"unrecognized_keys":return`Chiav${i.keys.length>1?"i":"e"} non riconosciut${i.keys.length>1?"e":"a"}: ${g(i.keys,", ")}`;case"invalid_key":return`Chiave non valida in ${i.origin}`;case"invalid_union":return"Input non valido";case"invalid_element":return`Valore non valido in ${i.origin}`;default:return"Input non valido"}}},ob=()=>{let e={string:{unit:"文字",verb:"である"},file:{unit:"バイト",verb:"である"},array:{unit:"要素",verb:"である"},set:{unit:"要素",verb:"である"}};function t(i){return e[i]??null}let 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:"入力値"},a={nan:"NaN",number:"数値",array:"配列"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`無効な入力: instanceof ${i.expected}が期待されましたが、${s}が入力されました`;return`無効な入力: ${r}が期待されましたが、${s}が入力されました`}case"invalid_value":if(i.values.length===1)return`無効な入力: ${_(i.values[0])}が期待されました`;return`無効な選択: ${g(i.values,"、")}のいずれかである必要があります`;case"too_big":{let r=i.inclusive?"以下である":"より小さい",o=t(i.origin);if(o)return`大きすぎる値: ${i.origin??"値"}は${i.maximum.toString()}${o.unit??"要素"}${r}必要があります`;return`大きすぎる値: ${i.origin??"値"}は${i.maximum.toString()}${r}必要があります`}case"too_small":{let r=i.inclusive?"以上である":"より大きい",o=t(i.origin);if(o)return`小さすぎる値: ${i.origin}は${i.minimum.toString()}${o.unit}${r}必要があります`;return`小さすぎる値: ${i.origin}は${i.minimum.toString()}${r}必要があります`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`無効な文字列: "${r.prefix}"で始まる必要があります`;if(r.format==="ends_with")return`無効な文字列: "${r.suffix}"で終わる必要があります`;if(r.format==="includes")return`無効な文字列: "${r.includes}"を含む必要があります`;if(r.format==="regex")return`無効な文字列: パターン${r.pattern}に一致する必要があります`;return`無効な${n[r.format]??i.format}`}case"not_multiple_of":return`無効な数値: ${i.divisor}の倍数である必要があります`;case"unrecognized_keys":return`認識されていないキー${i.keys.length>1?"群":""}: ${g(i.keys,"、")}`;case"invalid_key":return`${i.origin}内の無効なキー`;case"invalid_union":return"無効な入力";case"invalid_element":return`${i.origin}内の無効な値`;default:return"無効な入力"}}},ub=()=>{let e={string:{unit:"სიმბოლო",verb:"უნდა შეიცავდეს"},file:{unit:"ბაიტი",verb:"უნდა შეიცავდეს"},array:{unit:"ელემენტი",verb:"უნდა შეიცავდეს"},set:{unit:"ელემენტი",verb:"უნდა შეიცავდეს"}};function t(i){return e[i]??null}let 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:"შეყვანა"},a={nan:"NaN",number:"რიცხვი",string:"ველი",boolean:"ბულეანი",function:"ფუნქცია",array:"მასივი"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`არასწორი შეყვანა: მოსალოდნელი instanceof ${i.expected}, მიღებული ${s}`;return`არასწორი შეყვანა: მოსალოდნელი ${r}, მიღებული ${s}`}case"invalid_value":if(i.values.length===1)return`არასწორი შეყვანა: მოსალოდნელი ${_(i.values[0])}`;return`არასწორი ვარიანტი: მოსალოდნელია ერთ-ერთი ${g(i.values,"|")}-დან`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o)return`ზედმეტად დიდი: მოსალოდნელი ${i.origin??"მნიშვნელობა"} ${o.verb} ${r}${i.maximum.toString()} ${o.unit}`;return`ზედმეტად დიდი: მოსალოდნელი ${i.origin??"მნიშვნელობა"} იყოს ${r}${i.maximum.toString()}`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o)return`ზედმეტად პატარა: მოსალოდნელი ${i.origin} ${o.verb} ${r}${i.minimum.toString()} ${o.unit}`;return`ზედმეტად პატარა: მოსალოდნელი ${i.origin} იყოს ${r}${i.minimum.toString()}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`არასწორი ველი: უნდა იწყებოდეს "${r.prefix}"-ით`;if(r.format==="ends_with")return`არასწორი ველი: უნდა მთავრდებოდეს "${r.suffix}"-ით`;if(r.format==="includes")return`არასწორი ველი: უნდა შეიცავდეს "${r.includes}"-ს`;if(r.format==="regex")return`არასწორი ველი: უნდა შეესაბამებოდეს შაბლონს ${r.pattern}`;return`არასწორი ${n[r.format]??i.format}`}case"not_multiple_of":return`არასწორი რიცხვი: უნდა იყოს ${i.divisor}-ის ჯერადი`;case"unrecognized_keys":return`უცნობი გასაღებ${i.keys.length>1?"ები":"ი"}: ${g(i.keys,", ")}`;case"invalid_key":return`არასწორი გასაღები ${i.origin}-ში`;case"invalid_union":return"არასწორი შეყვანა";case"invalid_element":return`არასწორი მნიშვნელობა ${i.origin}-ში`;default:return"არასწორი შეყვანა"}}},db=()=>{let e={string:{unit:"តួអក្សរ",verb:"គួរមាន"},file:{unit:"បៃ",verb:"គួរមាន"},array:{unit:"ធាតុ",verb:"គួរមាន"},set:{unit:"ធាតុ",verb:"គួរមាន"}};function t(i){return e[i]??null}let 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:"ទិន្នន័យបញ្ចូល"},a={nan:"NaN",number:"លេខ",array:"អារេ (Array)",null:"គ្មានតម្លៃ (null)"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ instanceof ${i.expected} ប៉ុន្តែទទួលបាន ${s}`;return`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${r} ប៉ុន្តែទទួលបាន ${s}`}case"invalid_value":if(i.values.length===1)return`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${_(i.values[0])}`;return`ជម្រើសមិនត្រឹមត្រូវ៖ ត្រូវជាមួយក្នុងចំណោម ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o)return`ធំពេក៖ ត្រូវការ ${i.origin??"តម្លៃ"} ${r} ${i.maximum.toString()} ${o.unit??"ធាតុ"}`;return`ធំពេក៖ ត្រូវការ ${i.origin??"តម្លៃ"} ${r} ${i.maximum.toString()}`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o)return`តូចពេក៖ ត្រូវការ ${i.origin} ${r} ${i.minimum.toString()} ${o.unit}`;return`តូចពេក៖ ត្រូវការ ${i.origin} ${r} ${i.minimum.toString()}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវចាប់ផ្តើមដោយ "${r.prefix}"`;if(r.format==="ends_with")return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវបញ្ចប់ដោយ "${r.suffix}"`;if(r.format==="includes")return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវមាន "${r.includes}"`;if(r.format==="regex")return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវតែផ្គូផ្គងនឹងទម្រង់ដែលបានកំណត់ ${r.pattern}`;return`មិនត្រឹមត្រូវ៖ ${n[r.format]??i.format}`}case"not_multiple_of":return`លេខមិនត្រឹមត្រូវ៖ ត្រូវតែជាពហុគុណនៃ ${i.divisor}`;case"unrecognized_keys":return`រកឃើញសោមិនស្គាល់៖ ${g(i.keys,", ")}`;case"invalid_key":return`សោមិនត្រឹមត្រូវនៅក្នុង ${i.origin}`;case"invalid_union":return"ទិន្នន័យមិនត្រឹមត្រូវ";case"invalid_element":return`ទិន្នន័យមិនត្រឹមត្រូវនៅក្នុង ${i.origin}`;default:return"ទិន្នន័យមិនត្រឹមត្រូវ"}}},mb=()=>{let e={string:{unit:"문자",verb:"to have"},file:{unit:"바이트",verb:"to have"},array:{unit:"개",verb:"to have"},set:{unit:"개",verb:"to have"}};function t(i){return e[i]??null}let 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:"입력"},a={nan:"NaN"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`잘못된 입력: 예상 타입은 instanceof ${i.expected}, 받은 타입은 ${s}입니다`;return`잘못된 입력: 예상 타입은 ${r}, 받은 타입은 ${s}입니다`}case"invalid_value":if(i.values.length===1)return`잘못된 입력: 값은 ${_(i.values[0])} 이어야 합니다`;return`잘못된 옵션: ${g(i.values,"또는 ")} 중 하나여야 합니다`;case"too_big":{let r=i.inclusive?"이하":"미만",o=r==="미만"?"이어야 합니다":"여야 합니다",s=t(i.origin),l=s?.unit??"요소";if(s)return`${i.origin??"값"}이 너무 큽니다: ${i.maximum.toString()}${l} ${r}${o}`;return`${i.origin??"값"}이 너무 큽니다: ${i.maximum.toString()} ${r}${o}`}case"too_small":{let r=i.inclusive?"이상":"초과",o=r==="이상"?"이어야 합니다":"여야 합니다",s=t(i.origin),l=s?.unit??"요소";if(s)return`${i.origin??"값"}이 너무 작습니다: ${i.minimum.toString()}${l} ${r}${o}`;return`${i.origin??"값"}이 너무 작습니다: ${i.minimum.toString()} ${r}${o}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`잘못된 문자열: "${r.prefix}"(으)로 시작해야 합니다`;if(r.format==="ends_with")return`잘못된 문자열: "${r.suffix}"(으)로 끝나야 합니다`;if(r.format==="includes")return`잘못된 문자열: "${r.includes}"을(를) 포함해야 합니다`;if(r.format==="regex")return`잘못된 문자열: 정규식 ${r.pattern} 패턴과 일치해야 합니다`;return`잘못된 ${n[r.format]??i.format}`}case"not_multiple_of":return`잘못된 숫자: ${i.divisor}의 배수여야 합니다`;case"unrecognized_keys":return`인식할 수 없는 키: ${g(i.keys,", ")}`;case"invalid_key":return`잘못된 키: ${i.origin}`;case"invalid_union":return"잘못된 입력";case"invalid_element":return`잘못된 값: ${i.origin}`;default:return"잘못된 입력"}}},yt=(e)=>{return e.charAt(0).toUpperCase()+e.slice(1)},pb=()=>{let e={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(i,r,o,s){let l=e[i]??null;if(l===null)return l;return{unit:l.unit[r],verb:l.verb[s][o?"inclusive":"notInclusive"]}}let 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"},a={nan:"NaN",number:"skaičius",bigint:"sveikasis skaičius",string:"eilutė",boolean:"loginė reikšmė",undefined:"neapibrėžta reikšmė",function:"funkcija",symbol:"simbolis",array:"masyvas",object:"objektas",null:"nulinė reikšmė"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`Gautas tipas ${s}, o tikėtasi - instanceof ${i.expected}`;return`Gautas tipas ${s}, o tikėtasi - ${r}`}case"invalid_value":if(i.values.length===1)return`Privalo būti ${_(i.values[0])}`;return`Privalo būti vienas iš ${g(i.values,"|")} pasirinkimų`;case"too_big":{let r=a[i.origin]??i.origin,o=t(i.origin,ys(Number(i.maximum)),i.inclusive??!1,"smaller");if(o?.verb)return`${yt(r??i.origin??"reikšmė")} ${o.verb} ${i.maximum.toString()} ${o.unit??"elementų"}`;let s=i.inclusive?"ne didesnis kaip":"mažesnis kaip";return`${yt(r??i.origin??"reikšmė")} turi būti ${s} ${i.maximum.toString()} ${o?.unit}`}case"too_small":{let r=a[i.origin]??i.origin,o=t(i.origin,ys(Number(i.minimum)),i.inclusive??!1,"bigger");if(o?.verb)return`${yt(r??i.origin??"reikšmė")} ${o.verb} ${i.minimum.toString()} ${o.unit??"elementų"}`;let s=i.inclusive?"ne mažesnis kaip":"didesnis kaip";return`${yt(r??i.origin??"reikšmė")} turi būti ${s} ${i.minimum.toString()} ${o?.unit}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`Eilutė privalo prasidėti "${r.prefix}"`;if(r.format==="ends_with")return`Eilutė privalo pasibaigti "${r.suffix}"`;if(r.format==="includes")return`Eilutė privalo įtraukti "${r.includes}"`;if(r.format==="regex")return`Eilutė privalo atitikti ${r.pattern}`;return`Neteisingas ${n[r.format]??i.format}`}case"not_multiple_of":return`Skaičius privalo būti ${i.divisor} kartotinis.`;case"unrecognized_keys":return`Neatpažint${i.keys.length>1?"i":"as"} rakt${i.keys.length>1?"ai":"as"}: ${g(i.keys,", ")}`;case"invalid_key":return"Rastas klaidingas raktas";case"invalid_union":return"Klaidinga įvestis";case"invalid_element":{let r=a[i.origin]??i.origin;return`${yt(r??i.origin??"reikšmė")} turi klaidingą įvestį`}default:return"Klaidinga įvestis"}}},gb=()=>{let e={string:{unit:"знаци",verb:"да имаат"},file:{unit:"бајти",verb:"да имаат"},array:{unit:"ставки",verb:"да имаат"},set:{unit:"ставки",verb:"да имаат"}};function t(i){return e[i]??null}let 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:"внес"},a={nan:"NaN",number:"број",array:"низа"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`Грешен внес: се очекува instanceof ${i.expected}, примено ${s}`;return`Грешен внес: се очекува ${r}, примено ${s}`}case"invalid_value":if(i.values.length===1)return`Invalid input: expected ${_(i.values[0])}`;return`Грешана опција: се очекува една ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o)return`Премногу голем: се очекува ${i.origin??"вредноста"} да има ${r}${i.maximum.toString()} ${o.unit??"елементи"}`;return`Премногу голем: се очекува ${i.origin??"вредноста"} да биде ${r}${i.maximum.toString()}`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o)return`Премногу мал: се очекува ${i.origin} да има ${r}${i.minimum.toString()} ${o.unit}`;return`Премногу мал: се очекува ${i.origin} да биде ${r}${i.minimum.toString()}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`Неважечка низа: мора да започнува со "${r.prefix}"`;if(r.format==="ends_with")return`Неважечка низа: мора да завршува со "${r.suffix}"`;if(r.format==="includes")return`Неважечка низа: мора да вклучува "${r.includes}"`;if(r.format==="regex")return`Неважечка низа: мора да одгоара на патернот ${r.pattern}`;return`Invalid ${n[r.format]??i.format}`}case"not_multiple_of":return`Грешен број: мора да биде делив со ${i.divisor}`;case"unrecognized_keys":return`${i.keys.length>1?"Непрепознаени клучеви":"Непрепознаен клуч"}: ${g(i.keys,", ")}`;case"invalid_key":return`Грешен клуч во ${i.origin}`;case"invalid_union":return"Грешен внес";case"invalid_element":return`Грешна вредност во ${i.origin}`;default:return"Грешен внес"}}},yb=()=>{let e={string:{unit:"aksara",verb:"mempunyai"},file:{unit:"bait",verb:"mempunyai"},array:{unit:"elemen",verb:"mempunyai"},set:{unit:"elemen",verb:"mempunyai"}};function t(i){return e[i]??null}let n={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"},a={nan:"NaN",number:"nombor"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`Input tidak sah: dijangka instanceof ${i.expected}, diterima ${s}`;return`Input tidak sah: dijangka ${r}, diterima ${s}`}case"invalid_value":if(i.values.length===1)return`Input tidak sah: dijangka ${_(i.values[0])}`;return`Pilihan tidak sah: dijangka salah satu daripada ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o)return`Terlalu besar: dijangka ${i.origin??"nilai"} ${o.verb} ${r}${i.maximum.toString()} ${o.unit??"elemen"}`;return`Terlalu besar: dijangka ${i.origin??"nilai"} adalah ${r}${i.maximum.toString()}`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o)return`Terlalu kecil: dijangka ${i.origin} ${o.verb} ${r}${i.minimum.toString()} ${o.unit}`;return`Terlalu kecil: dijangka ${i.origin} adalah ${r}${i.minimum.toString()}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`String tidak sah: mesti bermula dengan "${r.prefix}"`;if(r.format==="ends_with")return`String tidak sah: mesti berakhir dengan "${r.suffix}"`;if(r.format==="includes")return`String tidak sah: mesti mengandungi "${r.includes}"`;if(r.format==="regex")return`String tidak sah: mesti sepadan dengan corak ${r.pattern}`;return`${n[r.format]??i.format} tidak sah`}case"not_multiple_of":return`Nombor tidak sah: perlu gandaan ${i.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali: ${g(i.keys,", ")}`;case"invalid_key":return`Kunci tidak sah dalam ${i.origin}`;case"invalid_union":return"Input tidak sah";case"invalid_element":return`Nilai tidak sah dalam ${i.origin}`;default:return"Input tidak sah"}}},$b=()=>{let e={string:{unit:"tekens",verb:"heeft"},file:{unit:"bytes",verb:"heeft"},array:{unit:"elementen",verb:"heeft"},set:{unit:"elementen",verb:"heeft"}};function t(i){return e[i]??null}let n={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"},a={nan:"NaN",number:"getal"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`Ongeldige invoer: verwacht instanceof ${i.expected}, ontving ${s}`;return`Ongeldige invoer: verwacht ${r}, ontving ${s}`}case"invalid_value":if(i.values.length===1)return`Ongeldige invoer: verwacht ${_(i.values[0])}`;return`Ongeldige optie: verwacht één van ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin),s=i.origin==="date"?"laat":i.origin==="string"?"lang":"groot";if(o)return`Te ${s}: verwacht dat ${i.origin??"waarde"} ${r}${i.maximum.toString()} ${o.unit??"elementen"} ${o.verb}`;return`Te ${s}: verwacht dat ${i.origin??"waarde"} ${r}${i.maximum.toString()} is`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin),s=i.origin==="date"?"vroeg":i.origin==="string"?"kort":"klein";if(o)return`Te ${s}: verwacht dat ${i.origin} ${r}${i.minimum.toString()} ${o.unit} ${o.verb}`;return`Te ${s}: verwacht dat ${i.origin} ${r}${i.minimum.toString()} is`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`Ongeldige tekst: moet met "${r.prefix}" beginnen`;if(r.format==="ends_with")return`Ongeldige tekst: moet op "${r.suffix}" eindigen`;if(r.format==="includes")return`Ongeldige tekst: moet "${r.includes}" bevatten`;if(r.format==="regex")return`Ongeldige tekst: moet overeenkomen met patroon ${r.pattern}`;return`Ongeldig: ${n[r.format]??i.format}`}case"not_multiple_of":return`Ongeldig getal: moet een veelvoud van ${i.divisor} zijn`;case"unrecognized_keys":return`Onbekende key${i.keys.length>1?"s":""}: ${g(i.keys,", ")}`;case"invalid_key":return`Ongeldige key in ${i.origin}`;case"invalid_union":return"Ongeldige invoer";case"invalid_element":return`Ongeldige waarde in ${i.origin}`;default:return"Ongeldige invoer"}}},kb=()=>{let e={string:{unit:"tegn",verb:"å ha"},file:{unit:"bytes",verb:"å ha"},array:{unit:"elementer",verb:"å inneholde"},set:{unit:"elementer",verb:"å inneholde"}};function t(i){return e[i]??null}let n={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"},a={nan:"NaN",number:"tall",array:"liste"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`Ugyldig input: forventet instanceof ${i.expected}, fikk ${s}`;return`Ugyldig input: forventet ${r}, fikk ${s}`}case"invalid_value":if(i.values.length===1)return`Ugyldig verdi: forventet ${_(i.values[0])}`;return`Ugyldig valg: forventet en av ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o)return`For stor(t): forventet ${i.origin??"value"} til å ha ${r}${i.maximum.toString()} ${o.unit??"elementer"}`;return`For stor(t): forventet ${i.origin??"value"} til å ha ${r}${i.maximum.toString()}`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o)return`For lite(n): forventet ${i.origin} til å ha ${r}${i.minimum.toString()} ${o.unit}`;return`For lite(n): forventet ${i.origin} til å ha ${r}${i.minimum.toString()}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`Ugyldig streng: må starte med "${r.prefix}"`;if(r.format==="ends_with")return`Ugyldig streng: må ende med "${r.suffix}"`;if(r.format==="includes")return`Ugyldig streng: må inneholde "${r.includes}"`;if(r.format==="regex")return`Ugyldig streng: må matche mønsteret ${r.pattern}`;return`Ugyldig ${n[r.format]??i.format}`}case"not_multiple_of":return`Ugyldig tall: må være et multiplum av ${i.divisor}`;case"unrecognized_keys":return`${i.keys.length>1?"Ukjente nøkler":"Ukjent nøkkel"}: ${g(i.keys,", ")}`;case"invalid_key":return`Ugyldig nøkkel i ${i.origin}`;case"invalid_union":return"Ugyldig input";case"invalid_element":return`Ugyldig verdi i ${i.origin}`;default:return"Ugyldig input"}}},Sb=()=>{let e={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(i){return e[i]??null}let n={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"},a={nan:"NaN",number:"numara",array:"saf",null:"gayb"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`Fâsit giren: umulan instanceof ${i.expected}, alınan ${s}`;return`Fâsit giren: umulan ${r}, alınan ${s}`}case"invalid_value":if(i.values.length===1)return`Fâsit giren: umulan ${_(i.values[0])}`;return`Fâsit tercih: mûteberler ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o)return`Fazla büyük: ${i.origin??"value"}, ${r}${i.maximum.toString()} ${o.unit??"elements"} sahip olmalıydı.`;return`Fazla büyük: ${i.origin??"value"}, ${r}${i.maximum.toString()} olmalıydı.`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o)return`Fazla küçük: ${i.origin}, ${r}${i.minimum.toString()} ${o.unit} sahip olmalıydı.`;return`Fazla küçük: ${i.origin}, ${r}${i.minimum.toString()} olmalıydı.`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`Fâsit metin: "${r.prefix}" ile başlamalı.`;if(r.format==="ends_with")return`Fâsit metin: "${r.suffix}" ile bitmeli.`;if(r.format==="includes")return`Fâsit metin: "${r.includes}" ihtivâ etmeli.`;if(r.format==="regex")return`Fâsit metin: ${r.pattern} nakşına uymalı.`;return`Fâsit ${n[r.format]??i.format}`}case"not_multiple_of":return`Fâsit sayı: ${i.divisor} katı olmalıydı.`;case"unrecognized_keys":return`Tanınmayan anahtar ${i.keys.length>1?"s":""}: ${g(i.keys,", ")}`;case"invalid_key":return`${i.origin} için tanınmayan anahtar var.`;case"invalid_union":return"Giren tanınamadı.";case"invalid_element":return`${i.origin} için tanınmayan kıymet var.`;default:return"Kıymet tanınamadı."}}},xb=()=>{let e={string:{unit:"توکي",verb:"ولري"},file:{unit:"بایټس",verb:"ولري"},array:{unit:"توکي",verb:"ولري"},set:{unit:"توکي",verb:"ولري"}};function t(i){return e[i]??null}let n={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:"ورودي"},a={nan:"NaN",number:"عدد",array:"ارې"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`ناسم ورودي: باید instanceof ${i.expected} وای, مګر ${s} ترلاسه شو`;return`ناسم ورودي: باید ${r} وای, مګر ${s} ترلاسه شو`}case"invalid_value":if(i.values.length===1)return`ناسم ورودي: باید ${_(i.values[0])} وای`;return`ناسم انتخاب: باید یو له ${g(i.values,"|")} څخه وای`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o)return`ډیر لوی: ${i.origin??"ارزښت"} باید ${r}${i.maximum.toString()} ${o.unit??"عنصرونه"} ولري`;return`ډیر لوی: ${i.origin??"ارزښت"} باید ${r}${i.maximum.toString()} وي`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o)return`ډیر کوچنی: ${i.origin} باید ${r}${i.minimum.toString()} ${o.unit} ولري`;return`ډیر کوچنی: ${i.origin} باید ${r}${i.minimum.toString()} وي`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`ناسم متن: باید د "${r.prefix}" سره پیل شي`;if(r.format==="ends_with")return`ناسم متن: باید د "${r.suffix}" سره پای ته ورسيږي`;if(r.format==="includes")return`ناسم متن: باید "${r.includes}" ولري`;if(r.format==="regex")return`ناسم متن: باید د ${r.pattern} سره مطابقت ولري`;return`${n[r.format]??i.format} ناسم دی`}case"not_multiple_of":return`ناسم عدد: باید د ${i.divisor} مضرب وي`;case"unrecognized_keys":return`ناسم ${i.keys.length>1?"کلیډونه":"کلیډ"}: ${g(i.keys,", ")}`;case"invalid_key":return`ناسم کلیډ په ${i.origin} کې`;case"invalid_union":return"ناسمه ورودي";case"invalid_element":return`ناسم عنصر په ${i.origin} کې`;default:return"ناسمه ورودي"}}},Ub=()=>{let e={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(i){return e[i]??null}let n={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"},a={nan:"NaN",number:"liczba",array:"tablica"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`Nieprawidłowe dane wejściowe: oczekiwano instanceof ${i.expected}, otrzymano ${s}`;return`Nieprawidłowe dane wejściowe: oczekiwano ${r}, otrzymano ${s}`}case"invalid_value":if(i.values.length===1)return`Nieprawidłowe dane wejściowe: oczekiwano ${_(i.values[0])}`;return`Nieprawidłowa opcja: oczekiwano jednej z wartości ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o)return`Za duża wartość: oczekiwano, że ${i.origin??"wartość"} będzie mieć ${r}${i.maximum.toString()} ${o.unit??"elementów"}`;return`Zbyt duż(y/a/e): oczekiwano, że ${i.origin??"wartość"} będzie wynosić ${r}${i.maximum.toString()}`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o)return`Za mała wartość: oczekiwano, że ${i.origin??"wartość"} będzie mieć ${r}${i.minimum.toString()} ${o.unit??"elementów"}`;return`Zbyt mał(y/a/e): oczekiwano, że ${i.origin??"wartość"} będzie wynosić ${r}${i.minimum.toString()}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`Nieprawidłowy ciąg znaków: musi zaczynać się od "${r.prefix}"`;if(r.format==="ends_with")return`Nieprawidłowy ciąg znaków: musi kończyć się na "${r.suffix}"`;if(r.format==="includes")return`Nieprawidłowy ciąg znaków: musi zawierać "${r.includes}"`;if(r.format==="regex")return`Nieprawidłowy ciąg znaków: musi odpowiadać wzorcowi ${r.pattern}`;return`Nieprawidłow(y/a/e) ${n[r.format]??i.format}`}case"not_multiple_of":return`Nieprawidłowa liczba: musi być wielokrotnością ${i.divisor}`;case"unrecognized_keys":return`Nierozpoznane klucze${i.keys.length>1?"s":""}: ${g(i.keys,", ")}`;case"invalid_key":return`Nieprawidłowy klucz w ${i.origin}`;case"invalid_union":return"Nieprawidłowe dane wejściowe";case"invalid_element":return`Nieprawidłowa wartość w ${i.origin}`;default:return"Nieprawidłowe dane wejściowe"}}},Eb=()=>{let e={string:{unit:"caracteres",verb:"ter"},file:{unit:"bytes",verb:"ter"},array:{unit:"itens",verb:"ter"},set:{unit:"itens",verb:"ter"}};function t(i){return e[i]??null}let n={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"},a={nan:"NaN",number:"número",null:"nulo"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`Tipo inválido: esperado instanceof ${i.expected}, recebido ${s}`;return`Tipo inválido: esperado ${r}, recebido ${s}`}case"invalid_value":if(i.values.length===1)return`Entrada inválida: esperado ${_(i.values[0])}`;return`Opção inválida: esperada uma das ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o)return`Muito grande: esperado que ${i.origin??"valor"} tivesse ${r}${i.maximum.toString()} ${o.unit??"elementos"}`;return`Muito grande: esperado que ${i.origin??"valor"} fosse ${r}${i.maximum.toString()}`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o)return`Muito pequeno: esperado que ${i.origin} tivesse ${r}${i.minimum.toString()} ${o.unit}`;return`Muito pequeno: esperado que ${i.origin} fosse ${r}${i.minimum.toString()}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`Texto inválido: deve começar com "${r.prefix}"`;if(r.format==="ends_with")return`Texto inválido: deve terminar com "${r.suffix}"`;if(r.format==="includes")return`Texto inválido: deve incluir "${r.includes}"`;if(r.format==="regex")return`Texto inválido: deve corresponder ao padrão ${r.pattern}`;return`${n[r.format]??i.format} inválido`}case"not_multiple_of":return`Número inválido: deve ser múltiplo de ${i.divisor}`;case"unrecognized_keys":return`Chave${i.keys.length>1?"s":""} desconhecida${i.keys.length>1?"s":""}: ${g(i.keys,", ")}`;case"invalid_key":return`Chave inválida em ${i.origin}`;case"invalid_union":return"Entrada inválida";case"invalid_element":return`Valor inválido em ${i.origin}`;default:return"Campo inválido"}}},Ob=()=>{let e={string:{unit:"caractere",verb:"să aibă"},file:{unit:"octeți",verb:"să aibă"},array:{unit:"elemente",verb:"să aibă"},set:{unit:"elemente",verb:"să aibă"},map:{unit:"intrări",verb:"să aibă"}};function t(i){return e[i]??null}let n={regex:"intrare",email:"adresă de 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:"dată și oră ISO",date:"dată ISO",time:"oră ISO",duration:"durată ISO",ipv4:"adresă IPv4",ipv6:"adresă IPv6",mac:"adresă MAC",cidrv4:"interval IPv4",cidrv6:"interval IPv6",base64:"șir codat base64",base64url:"șir codat base64url",json_string:"șir JSON",e164:"număr E.164",jwt:"JWT",template_literal:"intrare"},a={nan:"NaN",string:"șir",number:"număr",boolean:"boolean",function:"funcție",array:"matrice",object:"obiect",undefined:"nedefinit",symbol:"simbol",bigint:"număr mare",void:"void",never:"never",map:"hartă",set:"set"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;return`Intrare invalidă: așteptat ${r}, primit ${s}`}case"invalid_value":if(i.values.length===1)return`Intrare invalidă: așteptat ${_(i.values[0])}`;return`Opțiune invalidă: așteptat una dintre ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o)return`Prea mare: așteptat ca ${i.origin??"valoarea"} ${o.verb} ${r}${i.maximum.toString()} ${o.unit??"elemente"}`;return`Prea mare: așteptat ca ${i.origin??"valoarea"} să fie ${r}${i.maximum.toString()}`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o)return`Prea mic: așteptat ca ${i.origin} ${o.verb} ${r}${i.minimum.toString()} ${o.unit}`;return`Prea mic: așteptat ca ${i.origin} să fie ${r}${i.minimum.toString()}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`Șir invalid: trebuie să înceapă cu "${r.prefix}"`;if(r.format==="ends_with")return`Șir invalid: trebuie să se termine cu "${r.suffix}"`;if(r.format==="includes")return`Șir invalid: trebuie să includă "${r.includes}"`;if(r.format==="regex")return`Șir invalid: trebuie să se potrivească cu modelul ${r.pattern}`;return`Format invalid: ${n[r.format]??i.format}`}case"not_multiple_of":return`Număr invalid: trebuie să fie multiplu de ${i.divisor}`;case"unrecognized_keys":return`Chei nerecunoscute: ${g(i.keys,", ")}`;case"invalid_key":return`Cheie invalidă în ${i.origin}`;case"invalid_union":return"Intrare invalidă";case"invalid_element":return`Valoare invalidă în ${i.origin}`;default:return"Intrare invalidă"}}},Nb=()=>{let e={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(i){return e[i]??null}let n={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:"ввод"},a={nan:"NaN",number:"число",array:"массив"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`Неверный ввод: ожидалось instanceof ${i.expected}, получено ${s}`;return`Неверный ввод: ожидалось ${r}, получено ${s}`}case"invalid_value":if(i.values.length===1)return`Неверный ввод: ожидалось ${_(i.values[0])}`;return`Неверный вариант: ожидалось одно из ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o){let s=Number(i.maximum),l=bs(s,o.unit.one,o.unit.few,o.unit.many);return`Слишком большое значение: ожидалось, что ${i.origin??"значение"} будет иметь ${r}${i.maximum.toString()} ${l}`}return`Слишком большое значение: ожидалось, что ${i.origin??"значение"} будет ${r}${i.maximum.toString()}`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o){let s=Number(i.minimum),l=bs(s,o.unit.one,o.unit.few,o.unit.many);return`Слишком маленькое значение: ожидалось, что ${i.origin} будет иметь ${r}${i.minimum.toString()} ${l}`}return`Слишком маленькое значение: ожидалось, что ${i.origin} будет ${r}${i.minimum.toString()}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`Неверная строка: должна начинаться с "${r.prefix}"`;if(r.format==="ends_with")return`Неверная строка: должна заканчиваться на "${r.suffix}"`;if(r.format==="includes")return`Неверная строка: должна содержать "${r.includes}"`;if(r.format==="regex")return`Неверная строка: должна соответствовать шаблону ${r.pattern}`;return`Неверный ${n[r.format]??i.format}`}case"not_multiple_of":return`Неверное число: должно быть кратным ${i.divisor}`;case"unrecognized_keys":return`Нераспознанн${i.keys.length>1?"ые":"ый"} ключ${i.keys.length>1?"и":""}: ${g(i.keys,", ")}`;case"invalid_key":return`Неверный ключ в ${i.origin}`;case"invalid_union":return"Неверные входные данные";case"invalid_element":return`Неверное значение в ${i.origin}`;default:return"Неверные входные данные"}}},Db=()=>{let e={string:{unit:"znakov",verb:"imeti"},file:{unit:"bajtov",verb:"imeti"},array:{unit:"elementov",verb:"imeti"},set:{unit:"elementov",verb:"imeti"}};function t(i){return e[i]??null}let n={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"},a={nan:"NaN",number:"število",array:"tabela"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`Neveljaven vnos: pričakovano instanceof ${i.expected}, prejeto ${s}`;return`Neveljaven vnos: pričakovano ${r}, prejeto ${s}`}case"invalid_value":if(i.values.length===1)return`Neveljaven vnos: pričakovano ${_(i.values[0])}`;return`Neveljavna možnost: pričakovano eno izmed ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o)return`Preveliko: pričakovano, da bo ${i.origin??"vrednost"} imelo ${r}${i.maximum.toString()} ${o.unit??"elementov"}`;return`Preveliko: pričakovano, da bo ${i.origin??"vrednost"} ${r}${i.maximum.toString()}`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o)return`Premajhno: pričakovano, da bo ${i.origin} imelo ${r}${i.minimum.toString()} ${o.unit}`;return`Premajhno: pričakovano, da bo ${i.origin} ${r}${i.minimum.toString()}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`Neveljaven niz: mora se začeti z "${r.prefix}"`;if(r.format==="ends_with")return`Neveljaven niz: mora se končati z "${r.suffix}"`;if(r.format==="includes")return`Neveljaven niz: mora vsebovati "${r.includes}"`;if(r.format==="regex")return`Neveljaven niz: mora ustrezati vzorcu ${r.pattern}`;return`Neveljaven ${n[r.format]??i.format}`}case"not_multiple_of":return`Neveljavno število: mora biti večkratnik ${i.divisor}`;case"unrecognized_keys":return`Neprepoznan${i.keys.length>1?"i ključi":" ključ"}: ${g(i.keys,", ")}`;case"invalid_key":return`Neveljaven ključ v ${i.origin}`;case"invalid_union":return"Neveljaven vnos";case"invalid_element":return`Neveljavna vrednost v ${i.origin}`;default:return"Neveljaven vnos"}}},Zb=()=>{let e={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(i){return e[i]??null}let n={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"},a={nan:"NaN",number:"antal",array:"lista"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`Ogiltig inmatning: förväntat instanceof ${i.expected}, fick ${s}`;return`Ogiltig inmatning: förväntat ${r}, fick ${s}`}case"invalid_value":if(i.values.length===1)return`Ogiltig inmatning: förväntat ${_(i.values[0])}`;return`Ogiltigt val: förväntade en av ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o)return`För stor(t): förväntade ${i.origin??"värdet"} att ha ${r}${i.maximum.toString()} ${o.unit??"element"}`;return`För stor(t): förväntat ${i.origin??"värdet"} att ha ${r}${i.maximum.toString()}`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o)return`För lite(t): förväntade ${i.origin??"värdet"} att ha ${r}${i.minimum.toString()} ${o.unit}`;return`För lite(t): förväntade ${i.origin??"värdet"} att ha ${r}${i.minimum.toString()}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`Ogiltig sträng: måste börja med "${r.prefix}"`;if(r.format==="ends_with")return`Ogiltig sträng: måste sluta med "${r.suffix}"`;if(r.format==="includes")return`Ogiltig sträng: måste innehålla "${r.includes}"`;if(r.format==="regex")return`Ogiltig sträng: måste matcha mönstret "${r.pattern}"`;return`Ogiltig(t) ${n[r.format]??i.format}`}case"not_multiple_of":return`Ogiltigt tal: måste vara en multipel av ${i.divisor}`;case"unrecognized_keys":return`${i.keys.length>1?"Okända nycklar":"Okänd nyckel"}: ${g(i.keys,", ")}`;case"invalid_key":return`Ogiltig nyckel i ${i.origin??"värdet"}`;case"invalid_union":return"Ogiltig input";case"invalid_element":return`Ogiltigt värde i ${i.origin??"värdet"}`;default:return"Ogiltig input"}}},Mb=()=>{let e={string:{unit:"எழுத்துக்கள்",verb:"கொண்டிருக்க வேண்டும்"},file:{unit:"பைட்டுகள்",verb:"கொண்டிருக்க வேண்டும்"},array:{unit:"உறுப்புகள்",verb:"கொண்டிருக்க வேண்டும்"},set:{unit:"உறுப்புகள்",verb:"கொண்டிருக்க வேண்டும்"}};function t(i){return e[i]??null}let n={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"},a={nan:"NaN",number:"எண்",array:"அணி",null:"வெறுமை"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது instanceof ${i.expected}, பெறப்பட்டது ${s}`;return`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${r}, பெறப்பட்டது ${s}`}case"invalid_value":if(i.values.length===1)return`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${_(i.values[0])}`;return`தவறான விருப்பம்: எதிர்பார்க்கப்பட்டது ${g(i.values,"|")} இல் ஒன்று`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o)return`மிக பெரியது: எதிர்பார்க்கப்பட்டது ${i.origin??"மதிப்பு"} ${r}${i.maximum.toString()} ${o.unit??"உறுப்புகள்"} ஆக இருக்க வேண்டும்`;return`மிக பெரியது: எதிர்பார்க்கப்பட்டது ${i.origin??"மதிப்பு"} ${r}${i.maximum.toString()} ஆக இருக்க வேண்டும்`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o)return`மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${i.origin} ${r}${i.minimum.toString()} ${o.unit} ஆக இருக்க வேண்டும்`;return`மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${i.origin} ${r}${i.minimum.toString()} ஆக இருக்க வேண்டும்`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`தவறான சரம்: "${r.prefix}" இல் தொடங்க வேண்டும்`;if(r.format==="ends_with")return`தவறான சரம்: "${r.suffix}" இல் முடிவடைய வேண்டும்`;if(r.format==="includes")return`தவறான சரம்: "${r.includes}" ஐ உள்ளடக்க வேண்டும்`;if(r.format==="regex")return`தவறான சரம்: ${r.pattern} முறைபாட்டுடன் பொருந்த வேண்டும்`;return`தவறான ${n[r.format]??i.format}`}case"not_multiple_of":return`தவறான எண்: ${i.divisor} இன் பலமாக இருக்க வேண்டும்`;case"unrecognized_keys":return`அடையாளம் தெரியாத விசை${i.keys.length>1?"கள்":""}: ${g(i.keys,", ")}`;case"invalid_key":return`${i.origin} இல் தவறான விசை`;case"invalid_union":return"தவறான உள்ளீடு";case"invalid_element":return`${i.origin} இல் தவறான மதிப்பு`;default:return"தவறான உள்ளீடு"}}},Fb=()=>{let e={string:{unit:"ตัวอักษร",verb:"ควรมี"},file:{unit:"ไบต์",verb:"ควรมี"},array:{unit:"รายการ",verb:"ควรมี"},set:{unit:"รายการ",verb:"ควรมี"}};function t(i){return e[i]??null}let 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:"ช่วง IP แบบ IPv4",cidrv6:"ช่วง IP แบบ IPv6",base64:"ข้อความแบบ Base64",base64url:"ข้อความแบบ Base64 สำหรับ URL",json_string:"ข้อความแบบ JSON",e164:"เบอร์โทรศัพท์ระหว่างประเทศ (E.164)",jwt:"โทเคน JWT",template_literal:"ข้อมูลที่ป้อน"},a={nan:"NaN",number:"ตัวเลข",array:"อาร์เรย์ (Array)",null:"ไม่มีค่า (null)"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`ประเภทข้อมูลไม่ถูกต้อง: ควรเป็น instanceof ${i.expected} แต่ได้รับ ${s}`;return`ประเภทข้อมูลไม่ถูกต้อง: ควรเป็น ${r} แต่ได้รับ ${s}`}case"invalid_value":if(i.values.length===1)return`ค่าไม่ถูกต้อง: ควรเป็น ${_(i.values[0])}`;return`ตัวเลือกไม่ถูกต้อง: ควรเป็นหนึ่งใน ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"ไม่เกิน":"น้อยกว่า",o=t(i.origin);if(o)return`เกินกำหนด: ${i.origin??"ค่า"} ควรมี${r} ${i.maximum.toString()} ${o.unit??"รายการ"}`;return`เกินกำหนด: ${i.origin??"ค่า"} ควรมี${r} ${i.maximum.toString()}`}case"too_small":{let r=i.inclusive?"อย่างน้อย":"มากกว่า",o=t(i.origin);if(o)return`น้อยกว่ากำหนด: ${i.origin} ควรมี${r} ${i.minimum.toString()} ${o.unit}`;return`น้อยกว่ากำหนด: ${i.origin} ควรมี${r} ${i.minimum.toString()}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`รูปแบบไม่ถูกต้อง: ข้อความต้องขึ้นต้นด้วย "${r.prefix}"`;if(r.format==="ends_with")return`รูปแบบไม่ถูกต้อง: ข้อความต้องลงท้ายด้วย "${r.suffix}"`;if(r.format==="includes")return`รูปแบบไม่ถูกต้อง: ข้อความต้องมี "${r.includes}" อยู่ในข้อความ`;if(r.format==="regex")return`รูปแบบไม่ถูกต้อง: ต้องตรงกับรูปแบบที่กำหนด ${r.pattern}`;return`รูปแบบไม่ถูกต้อง: ${n[r.format]??i.format}`}case"not_multiple_of":return`ตัวเลขไม่ถูกต้อง: ต้องเป็นจำนวนที่หารด้วย ${i.divisor} ได้ลงตัว`;case"unrecognized_keys":return`พบคีย์ที่ไม่รู้จัก: ${g(i.keys,", ")}`;case"invalid_key":return`คีย์ไม่ถูกต้องใน ${i.origin}`;case"invalid_union":return"ข้อมูลไม่ถูกต้อง: ไม่ตรงกับรูปแบบยูเนียนที่กำหนดไว้";case"invalid_element":return`ข้อมูลไม่ถูกต้องใน ${i.origin}`;default:return"ข้อมูลไม่ถูกต้อง"}}},Kb=()=>{let e={string:{unit:"karakter",verb:"olmalı"},file:{unit:"bayt",verb:"olmalı"},array:{unit:"öğe",verb:"olmalı"},set:{unit:"öğe",verb:"olmalı"}};function t(i){return e[i]??null}let 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"},a={nan:"NaN"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`Geçersiz değer: beklenen instanceof ${i.expected}, alınan ${s}`;return`Geçersiz değer: beklenen ${r}, alınan ${s}`}case"invalid_value":if(i.values.length===1)return`Geçersiz değer: beklenen ${_(i.values[0])}`;return`Geçersiz seçenek: aşağıdakilerden biri olmalı: ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o)return`Çok büyük: beklenen ${i.origin??"değer"} ${r}${i.maximum.toString()} ${o.unit??"öğe"}`;return`Çok büyük: beklenen ${i.origin??"değer"} ${r}${i.maximum.toString()}`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o)return`Çok küçük: beklenen ${i.origin} ${r}${i.minimum.toString()} ${o.unit}`;return`Çok küçük: beklenen ${i.origin} ${r}${i.minimum.toString()}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`Geçersiz metin: "${r.prefix}" ile başlamalı`;if(r.format==="ends_with")return`Geçersiz metin: "${r.suffix}" ile bitmeli`;if(r.format==="includes")return`Geçersiz metin: "${r.includes}" içermeli`;if(r.format==="regex")return`Geçersiz metin: ${r.pattern} desenine uymalı`;return`Geçersiz ${n[r.format]??i.format}`}case"not_multiple_of":return`Geçersiz sayı: ${i.divisor} ile tam bölünebilmeli`;case"unrecognized_keys":return`Tanınmayan anahtar${i.keys.length>1?"lar":""}: ${g(i.keys,", ")}`;case"invalid_key":return`${i.origin} içinde geçersiz anahtar`;case"invalid_union":return"Geçersiz değer";case"invalid_element":return`${i.origin} içinde geçersiz değer`;default:return"Geçersiz değer"}}},Wb=()=>{let e={string:{unit:"символів",verb:"матиме"},file:{unit:"байтів",verb:"матиме"},array:{unit:"елементів",verb:"матиме"},set:{unit:"елементів",verb:"матиме"}};function t(i){return e[i]??null}let 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:"вхідні дані"},a={nan:"NaN",number:"число",array:"масив"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`Неправильні вхідні дані: очікується instanceof ${i.expected}, отримано ${s}`;return`Неправильні вхідні дані: очікується ${r}, отримано ${s}`}case"invalid_value":if(i.values.length===1)return`Неправильні вхідні дані: очікується ${_(i.values[0])}`;return`Неправильна опція: очікується одне з ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o)return`Занадто велике: очікується, що ${i.origin??"значення"} ${o.verb} ${r}${i.maximum.toString()} ${o.unit??"елементів"}`;return`Занадто велике: очікується, що ${i.origin??"значення"} буде ${r}${i.maximum.toString()}`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o)return`Занадто мале: очікується, що ${i.origin} ${o.verb} ${r}${i.minimum.toString()} ${o.unit}`;return`Занадто мале: очікується, що ${i.origin} буде ${r}${i.minimum.toString()}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`Неправильний рядок: повинен починатися з "${r.prefix}"`;if(r.format==="ends_with")return`Неправильний рядок: повинен закінчуватися на "${r.suffix}"`;if(r.format==="includes")return`Неправильний рядок: повинен містити "${r.includes}"`;if(r.format==="regex")return`Неправильний рядок: повинен відповідати шаблону ${r.pattern}`;return`Неправильний ${n[r.format]??i.format}`}case"not_multiple_of":return`Неправильне число: повинно бути кратним ${i.divisor}`;case"unrecognized_keys":return`Нерозпізнаний ключ${i.keys.length>1?"і":""}: ${g(i.keys,", ")}`;case"invalid_key":return`Неправильний ключ у ${i.origin}`;case"invalid_union":return"Неправильні вхідні дані";case"invalid_element":return`Неправильне значення у ${i.origin}`;default:return"Неправильні вхідні дані"}}},Bb=()=>{let e={string:{unit:"حروف",verb:"ہونا"},file:{unit:"بائٹس",verb:"ہونا"},array:{unit:"آئٹمز",verb:"ہونا"},set:{unit:"آئٹمز",verb:"ہونا"}};function t(i){return e[i]??null}let n={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:"ان پٹ"},a={nan:"NaN",number:"نمبر",array:"آرے",null:"نل"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`غلط ان پٹ: instanceof ${i.expected} متوقع تھا، ${s} موصول ہوا`;return`غلط ان پٹ: ${r} متوقع تھا، ${s} موصول ہوا`}case"invalid_value":if(i.values.length===1)return`غلط ان پٹ: ${_(i.values[0])} متوقع تھا`;return`غلط آپشن: ${g(i.values,"|")} میں سے ایک متوقع تھا`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o)return`بہت بڑا: ${i.origin??"ویلیو"} کے ${r}${i.maximum.toString()} ${o.unit??"عناصر"} ہونے متوقع تھے`;return`بہت بڑا: ${i.origin??"ویلیو"} کا ${r}${i.maximum.toString()} ہونا متوقع تھا`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o)return`بہت چھوٹا: ${i.origin} کے ${r}${i.minimum.toString()} ${o.unit} ہونے متوقع تھے`;return`بہت چھوٹا: ${i.origin} کا ${r}${i.minimum.toString()} ہونا متوقع تھا`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`غلط سٹرنگ: "${r.prefix}" سے شروع ہونا چاہیے`;if(r.format==="ends_with")return`غلط سٹرنگ: "${r.suffix}" پر ختم ہونا چاہیے`;if(r.format==="includes")return`غلط سٹرنگ: "${r.includes}" شامل ہونا چاہیے`;if(r.format==="regex")return`غلط سٹرنگ: پیٹرن ${r.pattern} سے میچ ہونا چاہیے`;return`غلط ${n[r.format]??i.format}`}case"not_multiple_of":return`غلط نمبر: ${i.divisor} کا مضاعف ہونا چاہیے`;case"unrecognized_keys":return`غیر تسلیم شدہ کی${i.keys.length>1?"ز":""}: ${g(i.keys,"، ")}`;case"invalid_key":return`${i.origin} میں غلط کی`;case"invalid_union":return"غلط ان پٹ";case"invalid_element":return`${i.origin} میں غلط ویلیو`;default:return"غلط ان پٹ"}}},Vb=()=>{let e={string:{unit:"belgi",verb:"bo‘lishi kerak"},file:{unit:"bayt",verb:"bo‘lishi kerak"},array:{unit:"element",verb:"bo‘lishi kerak"},set:{unit:"element",verb:"bo‘lishi kerak"},map:{unit:"yozuv",verb:"bo‘lishi kerak"}};function t(i){return e[i]??null}let n={regex:"kirish",email:"elektron pochta manzili",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 sana va vaqti",date:"ISO sana",time:"ISO vaqt",duration:"ISO davomiylik",ipv4:"IPv4 manzil",ipv6:"IPv6 manzil",mac:"MAC manzil",cidrv4:"IPv4 diapazon",cidrv6:"IPv6 diapazon",base64:"base64 kodlangan satr",base64url:"base64url kodlangan satr",json_string:"JSON satr",e164:"E.164 raqam",jwt:"JWT",template_literal:"kirish"},a={nan:"NaN",number:"raqam",array:"massiv"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`Noto‘g‘ri kirish: kutilgan instanceof ${i.expected}, qabul qilingan ${s}`;return`Noto‘g‘ri kirish: kutilgan ${r}, qabul qilingan ${s}`}case"invalid_value":if(i.values.length===1)return`Noto‘g‘ri kirish: kutilgan ${_(i.values[0])}`;return`Noto‘g‘ri variant: quyidagilardan biri kutilgan ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o)return`Juda katta: kutilgan ${i.origin??"qiymat"} ${r}${i.maximum.toString()} ${o.unit} ${o.verb}`;return`Juda katta: kutilgan ${i.origin??"qiymat"} ${r}${i.maximum.toString()}`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o)return`Juda kichik: kutilgan ${i.origin} ${r}${i.minimum.toString()} ${o.unit} ${o.verb}`;return`Juda kichik: kutilgan ${i.origin} ${r}${i.minimum.toString()}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`Noto‘g‘ri satr: "${r.prefix}" bilan boshlanishi kerak`;if(r.format==="ends_with")return`Noto‘g‘ri satr: "${r.suffix}" bilan tugashi kerak`;if(r.format==="includes")return`Noto‘g‘ri satr: "${r.includes}" ni o‘z ichiga olishi kerak`;if(r.format==="regex")return`Noto‘g‘ri satr: ${r.pattern} shabloniga mos kelishi kerak`;return`Noto‘g‘ri ${n[r.format]??i.format}`}case"not_multiple_of":return`Noto‘g‘ri raqam: ${i.divisor} ning karralisi bo‘lishi kerak`;case"unrecognized_keys":return`Noma’lum kalit${i.keys.length>1?"lar":""}: ${g(i.keys,", ")}`;case"invalid_key":return`${i.origin} dagi kalit noto‘g‘ri`;case"invalid_union":return"Noto‘g‘ri kirish";case"invalid_element":return`${i.origin} da noto‘g‘ri qiymat`;default:return"Noto‘g‘ri kirish"}}},Qb=()=>{let e={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(i){return e[i]??null}let n={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"},a={nan:"NaN",number:"số",array:"mảng"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`Đầu vào không hợp lệ: mong đợi instanceof ${i.expected}, nhận được ${s}`;return`Đầu vào không hợp lệ: mong đợi ${r}, nhận được ${s}`}case"invalid_value":if(i.values.length===1)return`Đầu vào không hợp lệ: mong đợi ${_(i.values[0])}`;return`Tùy chọn không hợp lệ: mong đợi một trong các giá trị ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o)return`Quá lớn: mong đợi ${i.origin??"giá trị"} ${o.verb} ${r}${i.maximum.toString()} ${o.unit??"phần tử"}`;return`Quá lớn: mong đợi ${i.origin??"giá trị"} ${r}${i.maximum.toString()}`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o)return`Quá nhỏ: mong đợi ${i.origin} ${o.verb} ${r}${i.minimum.toString()} ${o.unit}`;return`Quá nhỏ: mong đợi ${i.origin} ${r}${i.minimum.toString()}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`Chuỗi không hợp lệ: phải bắt đầu bằng "${r.prefix}"`;if(r.format==="ends_with")return`Chuỗi không hợp lệ: phải kết thúc bằng "${r.suffix}"`;if(r.format==="includes")return`Chuỗi không hợp lệ: phải bao gồm "${r.includes}"`;if(r.format==="regex")return`Chuỗi không hợp lệ: phải khớp với mẫu ${r.pattern}`;return`${n[r.format]??i.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 ${i.divisor}`;case"unrecognized_keys":return`Khóa không được nhận dạng: ${g(i.keys,", ")}`;case"invalid_key":return`Khóa không hợp lệ trong ${i.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 ${i.origin}`;default:return"Đầu vào không hợp lệ"}}},e$=()=>{let e={string:{unit:"字符",verb:"包含"},file:{unit:"字节",verb:"包含"},array:{unit:"项",verb:"包含"},set:{unit:"项",verb:"包含"}};function t(i){return e[i]??null}let 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:"输入"},a={nan:"NaN",number:"数字",array:"数组",null:"空值(null)"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`无效输入:期望 instanceof ${i.expected},实际接收 ${s}`;return`无效输入:期望 ${r},实际接收 ${s}`}case"invalid_value":if(i.values.length===1)return`无效输入:期望 ${_(i.values[0])}`;return`无效选项:期望以下之一 ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o)return`数值过大:期望 ${i.origin??"值"} ${r}${i.maximum.toString()} ${o.unit??"个元素"}`;return`数值过大:期望 ${i.origin??"值"} ${r}${i.maximum.toString()}`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o)return`数值过小:期望 ${i.origin} ${r}${i.minimum.toString()} ${o.unit}`;return`数值过小:期望 ${i.origin} ${r}${i.minimum.toString()}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`无效字符串:必须以 "${r.prefix}" 开头`;if(r.format==="ends_with")return`无效字符串:必须以 "${r.suffix}" 结尾`;if(r.format==="includes")return`无效字符串:必须包含 "${r.includes}"`;if(r.format==="regex")return`无效字符串:必须满足正则表达式 ${r.pattern}`;return`无效${n[r.format]??i.format}`}case"not_multiple_of":return`无效数字:必须是 ${i.divisor} 的倍数`;case"unrecognized_keys":return`出现未知的键(key): ${g(i.keys,", ")}`;case"invalid_key":return`${i.origin} 中的键(key)无效`;case"invalid_union":return"无效输入";case"invalid_element":return`${i.origin} 中包含无效值(value)`;default:return"无效输入"}}},i$=()=>{let e={string:{unit:"字元",verb:"擁有"},file:{unit:"位元組",verb:"擁有"},array:{unit:"項目",verb:"擁有"},set:{unit:"項目",verb:"擁有"}};function t(i){return e[i]??null}let n={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:"輸入"},a={nan:"NaN"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`無效的輸入值:預期為 instanceof ${i.expected},但收到 ${s}`;return`無效的輸入值:預期為 ${r},但收到 ${s}`}case"invalid_value":if(i.values.length===1)return`無效的輸入值:預期為 ${_(i.values[0])}`;return`無效的選項:預期為以下其中之一 ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o)return`數值過大:預期 ${i.origin??"值"} 應為 ${r}${i.maximum.toString()} ${o.unit??"個元素"}`;return`數值過大:預期 ${i.origin??"值"} 應為 ${r}${i.maximum.toString()}`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o)return`數值過小:預期 ${i.origin} 應為 ${r}${i.minimum.toString()} ${o.unit}`;return`數值過小:預期 ${i.origin} 應為 ${r}${i.minimum.toString()}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`無效的字串:必須以 "${r.prefix}" 開頭`;if(r.format==="ends_with")return`無效的字串:必須以 "${r.suffix}" 結尾`;if(r.format==="includes")return`無效的字串:必須包含 "${r.includes}"`;if(r.format==="regex")return`無效的字串:必須符合格式 ${r.pattern}`;return`無效的 ${n[r.format]??i.format}`}case"not_multiple_of":return`無效的數字:必須為 ${i.divisor} 的倍數`;case"unrecognized_keys":return`無法識別的鍵值${i.keys.length>1?"們":""}:${g(i.keys,"、")}`;case"invalid_key":return`${i.origin} 中有無效的鍵值`;case"invalid_union":return"無效的輸入值";case"invalid_element":return`${i.origin} 中有無效的值`;default:return"無效的輸入值"}}},r$=()=>{let e={string:{unit:"àmi",verb:"ní"},file:{unit:"bytes",verb:"ní"},array:{unit:"nkan",verb:"ní"},set:{unit:"nkan",verb:"ní"}};function t(i){return e[i]??null}let n={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é"},a={nan:"NaN",number:"nọ́mbà",array:"akopọ"};return(i)=>{switch(i.code){case"invalid_type":{let r=a[i.expected]??i.expected,o=w(i.input),s=a[o]??o;if(/^[A-Z]/.test(i.expected))return`Ìbáwọlé aṣìṣe: a ní láti fi instanceof ${i.expected}, àmọ̀ a rí ${s}`;return`Ìbáwọlé aṣìṣe: a ní láti fi ${r}, àmọ̀ a rí ${s}`}case"invalid_value":if(i.values.length===1)return`Ìbáwọlé aṣìṣe: a ní láti fi ${_(i.values[0])}`;return`Àṣàyàn aṣìṣe: yan ọ̀kan lára ${g(i.values,"|")}`;case"too_big":{let r=i.inclusive?"<=":"<",o=t(i.origin);if(o)return`Tó pọ̀ jù: a ní láti jẹ́ pé ${i.origin??"iye"} ${o.verb} ${r}${i.maximum} ${o.unit}`;return`Tó pọ̀ jù: a ní láti jẹ́ ${r}${i.maximum}`}case"too_small":{let r=i.inclusive?">=":">",o=t(i.origin);if(o)return`Kéré ju: a ní láti jẹ́ pé ${i.origin} ${o.verb} ${r}${i.minimum} ${o.unit}`;return`Kéré ju: a ní láti jẹ́ ${r}${i.minimum}`}case"invalid_format":{let r=i;if(r.format==="starts_with")return`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ bẹ̀rẹ̀ pẹ̀lú "${r.prefix}"`;if(r.format==="ends_with")return`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ parí pẹ̀lú "${r.suffix}"`;if(r.format==="includes")return`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ ní "${r.includes}"`;if(r.format==="regex")return`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ bá àpẹẹrẹ mu ${r.pattern}`;return`Aṣìṣe: ${n[r.format]??i.format}`}case"not_multiple_of":return`Nọ́mbà aṣìṣe: gbọ́dọ̀ jẹ́ èyà pípín ti ${i.divisor}`;case"unrecognized_keys":return`Bọtìnì àìmọ̀: ${g(i.keys,", ")}`;case"invalid_key":return`Bọtìnì aṣìṣe nínú ${i.origin}`;case"invalid_union":return"Ìbáwọlé aṣìṣe";case"invalid_element":return`Iye aṣìṣe nínú ${i.origin}`;default:return"Ìbáwọlé aṣìṣe"}}},$s,Td,Od,ne,Dd,bc=(e,t={})=>(n)=>{let a=nt({...n,processors:t});return N(e,a),rt(a,e),at(a,e)},wt=(e,t,n={})=>(a)=>{let{libraryOptions:i,target:r}=a??{},o=nt({...i??{},target:r,io:t,processors:n});return N(e,o),rt(o,e),at(o,e)},P$,$c=(e,t,n,a)=>{let i=n;i.type="string";let{minimum:r,maximum:o,format:s,patterns:l,contentEncoding:d}=e._zod.bag;if(typeof r==="number")i.minLength=r;if(typeof o==="number")i.maxLength=o;if(s){if(i.format=P$[s]??s,i.format==="")delete i.format;if(s==="time")delete i.format}if(d)i.contentEncoding=d;if(l&&l.size>0){let c=[...l];if(c.length===1)i.pattern=c[0].source;else if(c.length>1)i.allOf=[...c.map((p)=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:p.source}))]}},_c=(e,t,n,a)=>{let i=n,{minimum:r,maximum:o,format:s,multipleOf:l,exclusiveMaximum:d,exclusiveMinimum:c}=e._zod.bag;if(typeof s==="string"&&s.includes("int"))i.type="integer";else i.type="number";let p=typeof c==="number"&&c>=(r??Number.NEGATIVE_INFINITY),v=typeof d==="number"&&d<=(o??Number.POSITIVE_INFINITY),f=t.target==="draft-04"||t.target==="openapi-3.0";if(p)if(f)i.minimum=c,i.exclusiveMinimum=!0;else i.exclusiveMinimum=c;else if(typeof r==="number")i.minimum=r;if(v)if(f)i.maximum=d,i.exclusiveMaximum=!0;else i.exclusiveMaximum=d;else if(typeof o==="number")i.maximum=o;if(typeof l==="number")i.multipleOf=l},kc=(e,t,n,a)=>{n.type="boolean"},wc=(e,t,n,a)=>{if(t.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},Sc=(e,t,n,a)=>{if(t.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},Ic=(e,t,n,a)=>{if(t.target==="openapi-3.0")n.type="string",n.nullable=!0,n.enum=[null];else n.type="null"},xc=(e,t,n,a)=>{if(t.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema")},zc=(e,t,n,a)=>{if(t.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema")},Uc=(e,t,n,a)=>{n.not={}},Pc=(e,t,n,a)=>{},Ec=(e,t,n,a)=>{},Tc=(e,t,n,a)=>{if(t.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},Oc=(e,t,n,a)=>{let i=e._zod.def,r=rr(i.entries);if(r.every((o)=>typeof o==="number"))n.type="number";if(r.every((o)=>typeof o==="string"))n.type="string";n.enum=r},jc=(e,t,n,a)=>{let i=e._zod.def,r=[];for(let o of i.values)if(o===void 0){if(t.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof o==="bigint")if(t.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else r.push(Number(o));else r.push(o);if(r.length===0);else if(r.length===1){let o=r[0];if(n.type=o===null?"null":typeof o,t.target==="draft-04"||t.target==="openapi-3.0")n.enum=[o];else n.const=o}else{if(r.every((o)=>typeof o==="number"))n.type="number";if(r.every((o)=>typeof o==="string"))n.type="string";if(r.every((o)=>typeof o==="boolean"))n.type="boolean";if(r.every((o)=>o===null))n.type="null";n.enum=r}},Nc=(e,t,n,a)=>{if(t.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema")},Ac=(e,t,n,a)=>{let i=n,r=e._zod.pattern;if(!r)throw Error("Pattern not found in template literal");i.type="string",i.pattern=r.source},Dc=(e,t,n,a)=>{let i=n,r={type:"string",format:"binary",contentEncoding:"binary"},{minimum:o,maximum:s,mime:l}=e._zod.bag;if(o!==void 0)r.minLength=o;if(s!==void 0)r.maxLength=s;if(l)if(l.length===1)r.contentMediaType=l[0],Object.assign(i,r);else Object.assign(i,r),i.anyOf=l.map((d)=>({contentMediaType:d}));else Object.assign(i,r)},Cc=(e,t,n,a)=>{n.type="boolean"},Zc=(e,t,n,a)=>{if(t.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},Rc=(e,t,n,a)=>{if(t.unrepresentable==="throw")throw Error("Function types cannot be represented in JSON Schema")},Mc=(e,t,n,a)=>{if(t.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},Lc=(e,t,n,a)=>{if(t.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema")},Fc=(e,t,n,a)=>{if(t.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema")},Jc=(e,t,n,a)=>{let i=n,r=e._zod.def,{minimum:o,maximum:s}=e._zod.bag;if(typeof o==="number")i.minItems=o;if(typeof s==="number")i.maxItems=s;i.type="array",i.items=N(r.element,t,{...a,path:[...a.path,"items"]})},Kc=(e,t,n,a)=>{let i=n,r=e._zod.def;i.type="object",i.properties={};let o=r.shape;for(let d in o)i.properties[d]=N(o[d],t,{...a,path:[...a.path,"properties",d]});let s=new Set(Object.keys(o)),l=new Set([...s].filter((d)=>{let c=r.shape[d]._zod;if(t.io==="input")return c.optin===void 0;else return c.optout===void 0}));if(l.size>0)i.required=Array.from(l);if(r.catchall?._zod.def.type==="never")i.additionalProperties=!1;else if(!r.catchall){if(t.io==="output")i.additionalProperties=!1}else if(r.catchall)i.additionalProperties=N(r.catchall,t,{...a,path:[...a.path,"additionalProperties"]})},ra=(e,t,n,a)=>{let i=e._zod.def,r=i.inclusive===!1,o=i.options.map((s,l)=>N(s,t,{...a,path:[...a.path,r?"oneOf":"anyOf",l]}));if(r)n.oneOf=o;else n.anyOf=o},Gc=(e,t,n,a)=>{let i=e._zod.def,r=N(i.left,t,{...a,path:[...a.path,"allOf",0]}),o=N(i.right,t,{...a,path:[...a.path,"allOf",1]}),s=(d)=>("allOf"in d)&&Object.keys(d).length===1,l=[...s(r)?r.allOf:[r],...s(o)?o.allOf:[o]];n.allOf=l},Wc=(e,t,n,a)=>{let i=n,r=e._zod.def;i.type="array";let o=t.target==="draft-2020-12"?"prefixItems":"items",s=t.target==="draft-2020-12"?"items":t.target==="openapi-3.0"?"items":"additionalItems",l=r.items.map((v,f)=>N(v,t,{...a,path:[...a.path,o,f]})),d=r.rest?N(r.rest,t,{...a,path:[...a.path,s,...t.target==="openapi-3.0"?[r.items.length]:[]]}):null;if(t.target==="draft-2020-12"){if(i.prefixItems=l,d)i.items=d}else if(t.target==="openapi-3.0"){if(i.items={anyOf:l},d)i.items.anyOf.push(d);if(i.minItems=l.length,!d)i.maxItems=l.length}else if(i.items=l,d)i.additionalItems=d;let{minimum:c,maximum:p}=e._zod.bag;if(typeof c==="number")i.minItems=c;if(typeof p==="number")i.maxItems=p},Hc=(e,t,n,a)=>{let i=n,r=e._zod.def;i.type="object";let o=r.keyType,s=o._zod.bag?.patterns;if(r.mode==="loose"&&s&&s.size>0){let d=N(r.valueType,t,{...a,path:[...a.path,"patternProperties","*"]});i.patternProperties={};for(let c of s)i.patternProperties[c.source]=d}else{if(t.target==="draft-07"||t.target==="draft-2020-12")i.propertyNames=N(r.keyType,t,{...a,path:[...a.path,"propertyNames"]});i.additionalProperties=N(r.valueType,t,{...a,path:[...a.path,"additionalProperties"]})}let l=o._zod.values;if(l){let d=[...l].filter((c)=>typeof c==="string"||typeof c==="number");if(d.length>0)i.required=d}},Bc=(e,t,n,a)=>{let i=e._zod.def,r=N(i.innerType,t,a),o=t.seen.get(e);if(t.target==="openapi-3.0")o.ref=i.innerType,n.nullable=!0;else n.anyOf=[r,{type:"null"}]},Xc=(e,t,n,a)=>{let i=e._zod.def;N(i.innerType,t,a);let r=t.seen.get(e);r.ref=i.innerType},Vc=(e,t,n,a)=>{let i=e._zod.def;N(i.innerType,t,a);let r=t.seen.get(e);r.ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},Yc=(e,t,n,a)=>{let i=e._zod.def;N(i.innerType,t,a);let r=t.seen.get(e);if(r.ref=i.innerType,t.io==="input")n._prefault=JSON.parse(JSON.stringify(i.defaultValue))},Qc=(e,t,n,a)=>{let i=e._zod.def;N(i.innerType,t,a);let r=t.seen.get(e);r.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}n.default=o},qc=(e,t,n,a)=>{let i=e._zod.def,r=i.in._zod.traits.has("$ZodTransform"),o=t.io==="input"?r?i.out:i.in:i.out;N(o,t,a);let s=t.seen.get(e);s.ref=o},em=(e,t,n,a)=>{let i=e._zod.def;N(i.innerType,t,a);let r=t.seen.get(e);r.ref=i.innerType,n.readOnly=!0},tm=(e,t,n,a)=>{let i=e._zod.def;N(i.innerType,t,a);let r=t.seen.get(e);r.ref=i.innerType},aa=(e,t,n,a)=>{let i=e._zod.def;N(i.innerType,t,a);let r=t.seen.get(e);r.ref=i.innerType},im=(e,t,n,a)=>{let i=e._zod.innerType;N(i,t,a);let r=t.seen.get(e);r.ref=i},Xn,E$,am,om,oa,sa,ua,la,da,cm=(e,t)=>{or.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:(n)=>ur(e,n)},flatten:{value:(n)=>sr(e,n)},addIssue:{value:(n)=>{e.issues.push(n),e.message=JSON.stringify(e.issues,$i,2)}},addIssues:{value:(n)=>{e.issues.push(...n),e.message=JSON.stringify(e.issues,$i,2)}},isEmpty:{get(){return e.issues.length===0}}})},T$,ee,mm,fm,pm,vm,gm,hm,ym,bm,$m,_m,km,wm,_s,z,Wi,Jt,D,Hi,It,ve,Kt,Bi,Xi,Vi,Yi,Qi,qi,en,tn,ca,nn,rn,an,on,sn,un,ln,lt,Gt,Me,Wt,Ht,dn,pa,va,ga,ya,ba,$a,_a,mn,ka,Xt,Vt,wa,Sa,Ia,za,ot,Ea,Ta,st,Oa,ja,Na,gn,Aa,Ca,Za,Ma,hn,Ja,Ka,Wa,Yt,Qt,Ha,Ba,Va,Ya,qa,eo,qt,jf,Nf,Df=(...e)=>yc({Codec:Qt,Boolean:Wt,String:Jt},...e),O$,Vn,b,A$,Mf,no,Lf,Ff,Jf,Kf,Gf,Wf,Hf,Bf,Xf,Vf,Yf,Qf,qf,K$,ep,tp,Yn,gi,ip,np,G$,W$,rp,H$,ap,op,sp,up,ro,lp,dp,cp,B$,mp,X$,fp,pp,vp,V$,Y$,Q$,gp,e_,t_,a_,$p,Ze,o_,s_,u_,l_,d_,c_,m_,f_,_p,v_=30000,g_=5000,wp,y_,$_="tool_executor.",__="custom_tool.",k_="hook.",w_="compaction.compact",S_="checkpoint.create",I_="mistake_limit.decide",x_="user_instructions.snapshot",_t,j_=void 0,D_,Z_,Te,zs,Us,L_,H_,B_,Y_,q_,mk=`You are Cline, an AI coding agent. Your primary goal is to assist users with various coding tasks by leveraging your knowledge and the tools at your disposal. Given the user's prompt, you should use the tools available to you to answer user's question.
12
40
 
13
41
  Always gather all the necessary context before starting to work on a task. For example, if you are generating a unit test or new code, make sure you understand the requirement, the naming conventions, frameworks and libraries used and aligned in the current codebase, and the environment and commands used to run and test the code etc. Always validate the new unit test at the end including running the code if possible for live feedback.
14
42
  Review each question carefully and answer it with detailed, accurate information.
@@ -41,7 +69,7 @@ When you have completed the task, please provide a summary of what you did and a
41
69
 
42
70
  If user asked a simple question without any coding context, answer it directly without using any tools.
43
71
  {{CLINE_RULES}}
44
- {{CLINE_METADATA}}`,Xy=`You are Cline, a careful and helpful coding agent that works in the background.
72
+ {{CLINE_METADATA}}`,fk=`You are Cline, a careful and helpful coding agent that works in the background.
45
73
  You are tasked to solve an issue reported by the user who you cannot communicate with directly.
46
74
  Your goal is to utilize the tools at your disposal to investigate and answer the question according to user's instructions with the aim to verify that the issue is resolved.
47
75
 
@@ -69,17 +97,64 @@ Do not consider the task complete until tests pass.
69
97
  Always includes tool calls in your response until the task is completed. You should only end the task when all the requirements are met by calling the 'submit_and_exit' tool.
70
98
  Response without the submit_and_exit tool call will considered not completed and the task will continue.
71
99
  {{CLINE_RULES}}
72
- {{CLINE_METADATA}}`;function Zy(n){return JSON.stringify({workspaces:{[n.rootPath]:{hint:n.hint,associatedRemoteUrls:n.associatedRemoteUrls,latestGitCommitHash:n.latestGitCommitHash,latestGitBranchName:n.latestGitBranchName}}},null,2)}function Uy(n,r,f){if(f?.trim()?.includes(cr))return f.trim();let o=f||JSON.stringify({workspaces:{[n]:{hint:r||n.split("/").at(-1)||n}}},null,2);return`
73
- ${cr}
74
- ${o}`}function Qy(n){let{ide:r="Terminal Shell",mode:f,platform:o="unknown",workspaceName:y,metadata:w,rules:P,overridePrompt:G,providerId:b}=n,$=n.workspaceRoot??n.rootPath??"",M=b==="cline";if(G?.trim()){let D=G.trim();if(M&&w?.trim()&&!D.includes(cr))return`${D}
75
-
76
- ${Uy($,y,w)}`.trim();return D}return(f==="yolo"?Xy:ky).replace("{{PLATFORM_NAME}}",o).replace("{{CWD}}",$).replace("{{CURRENT_DATE}}",new Date().toLocaleDateString()).replace("{{IDE_NAME}}",r).replace("{{CLINE_METADATA}}",M?Uy($,y,w):"").replace("{{CLINE_RULES}}",P||"").trim()}var cr="# Workspace Configuration";var Wy=()=>{};var hy="remote://";import{z as C}from"zod";var pr,nf,rf,ff,of,yf,df,wf,Pf,Cf,vf,Gf,$f,OP,Hf,Ff,tn,Un,Kf,Ef,jy,ly;var Ry=E(()=>{pr=C.object({id:C.string(),temperature:C.number().optional(),isR1FormatRequired:C.boolean().optional(),maxTokens:C.number().optional(),contextWindow:C.number().optional(),inputPrice:C.number().optional(),outputPrice:C.number().optional(),supportsImages:C.boolean().optional()}),nf=C.object({models:C.array(pr).optional(),openAiBaseUrl:C.string().optional(),openAiHeaders:C.record(C.string(),C.string()).optional(),azureApiVersion:C.string().optional(),azureIdentity:C.boolean().optional()}),rf=C.object({id:C.string(),thinkingBudgetTokens:C.number().optional()}),ff=C.object({name:C.string(),baseModelId:C.string(),thinkingBudgetTokens:C.number().optional()}),of=C.object({models:C.array(rf).optional(),customModels:C.array(ff).optional(),awsRegion:C.string().optional(),awsUseCrossRegionInference:C.boolean().optional(),awsUseGlobalInference:C.boolean().optional(),awsBedrockUsePromptCache:C.boolean().optional(),awsBedrockEndpoint:C.string().optional()}),yf=C.object({id:C.string()}),df=C.object({models:C.array(yf).optional()}),wf=C.object({id:C.string(),thinkingBudgetTokens:C.number().optional()}),Pf=C.object({models:C.array(wf).optional(),vertexProjectId:C.string().optional(),vertexRegion:C.string().optional()}),Cf=C.object({id:C.string(),thinkingBudgetTokens:C.number().optional(),promptCachingEnabled:C.boolean().optional()}),vf=C.object({models:C.array(Cf).optional(),baseUrl:C.string().optional()}),Gf=C.object({id:C.string(),thinkingBudgetTokens:C.number().optional()}),$f=C.object({models:C.array(Gf).optional(),baseUrl:C.string().optional()}),OP=C.object({OpenAiCompatible:nf.optional(),AwsBedrock:of.optional(),Cline:df.optional(),Vertex:Pf.optional(),LiteLLM:vf.optional(),Anthropic:$f.optional()}),Hf=C.object({id:C.string()}),Ff=C.object({name:C.string(),url:C.string(),alwaysEnabled:C.boolean().optional(),headers:C.record(C.string(),C.string()).optional()}),tn=C.object({alwaysEnabled:C.boolean(),name:C.string(),contents:C.string()}),Un=C.object({bucket:C.string(),accessKeyId:C.string(),secretAccessKey:C.string(),region:C.string().optional(),endpoint:C.string().optional(),accountId:C.string().optional()}),Kf=C.object({enabled:C.boolean().optional(),type:C.union([C.literal("s3_access_keys"),C.literal("r2_access_keys"),C.literal("azure_access_keys")]).optional(),s3AccessSettings:Un.optional(),r2AccessSettings:Un.optional(),azureAccessSettings:Un.optional()}),Ef=C.object({promptUploading:Kf.optional()}),jy=C.object({version:C.string(),providerSettings:OP.optional(),telemetryEnabled:C.boolean().optional(),kanbanEnabled:C.boolean().optional(),mcpMarketplaceEnabled:C.boolean().optional(),allowedMCPServers:C.array(Hf).optional(),remoteMCPServers:C.array(Ff).optional(),blockPersonalRemoteMCPServers:C.boolean().optional(),yoloModeAllowed:C.boolean().optional(),openTelemetryEnabled:C.boolean().optional(),openTelemetryMetricsExporter:C.string().optional(),openTelemetryLogsExporter:C.string().optional(),openTelemetryOtlpProtocol:C.string().optional(),openTelemetryOtlpEndpoint:C.string().optional(),openTelemetryOtlpHeaders:C.record(C.string(),C.string()).optional(),openTelemetryOtlpMetricsProtocol:C.string().optional(),openTelemetryOtlpMetricsEndpoint:C.string().optional(),openTelemetryOtlpMetricsHeaders:C.record(C.string(),C.string()).optional(),openTelemetryOtlpLogsProtocol:C.string().optional(),openTelemetryOtlpLogsEndpoint:C.string().optional(),openTelemetryOtlpLogsHeaders:C.record(C.string(),C.string()).optional(),openTelemetryMetricExportInterval:C.number().optional(),openTelemetryOtlpInsecure:C.boolean().optional(),openTelemetryLogBatchSize:C.number().optional(),openTelemetryLogBatchTimeout:C.number().optional(),openTelemetryLogMaxQueueSize:C.number().optional(),enterpriseTelemetry:Ef.optional(),globalRules:C.array(tn).optional(),globalWorkflows:C.array(tn).optional()}),ly=C.record(C.string(),C.string())});var my=25463,Ly=25466,_y=4317,Ny="127.0.0.1:4317";import ef from"zod";var By,Vy,Ty;var sy=E(()=>{By=ef.enum(["reasoning","prompt-cache","tools","provider-tools","oauth","temperature","files","streaming","vision","computer-use","local-auth"]),Vy=ef.enum(["anthropic","gemini","openai-chat","openai-responses","openai-r1","ai-sdk"]),Ty=ef.enum(["anthropic","ai-sdk","ai-sdk-community","openai","openai-compatible","openai-r1","gemini","bedrock","custom","fetch","vertex"])});var Oy="runtime.team.progress.v1",xy="runtime.team.lifecycle.v1";import{basename as xP}from"node:path";function uy(n){let r=n?.trim().toLowerCase();if(r==="development"||r==="production")return r;return}function uP(n){for(let r=0;r<n.length;r+=1){let f=n[r]?.trim();if(!f)continue;if(f==="--conditions"&&n[r+1]?.trim()==="development")return!0;if(f.startsWith("--conditions=")&&f.slice(13).split(",").map((o)=>o.trim()).includes("development"))return!0}return!1}function iP(n){if(!n?.trim())return!1;let r=xP(n).toLowerCase();return r==="node"||r==="node.exe"||r==="bun"||r==="bun.exe"}function IP(n){return n.some((r)=>r==="--inspect"||r.startsWith("--inspect=")||r==="--inspect-brk"||r.startsWith("--inspect-brk="))}function tP(n){return n.some((r)=>r==="--enable-source-maps")}function qP(n){return n[bf]?.trim()||"127.0.0.1"}function zP(n){let r=n[af]?.trim();if(!r)return;let f=Number.parseInt(r,10);return Number.isInteger(f)&&f>0?f:void 0}function cP(n){switch(n){case"rpc":return 0;case"hook":return 1;case"plugin-sandbox":return 2;case"connector":return 3;case"sandbox":return 4;default:return 9}}function qn(n={}){let r=n.env??process.env,f=n.execArgv??process.execArgv,o=uy(r[Zn]);if(o)return o;let y=r.NODE_ENV?.trim().toLowerCase();if(y==="production")return"production";if(y==="development")return"development";return uP(f)?"development":"production"}function iy(n=process.env,r={}){if(uy(n[Zn]))return n;return{...n,[Zn]:qn({env:n,execArgv:r.execArgv})}}function Iy(n,r={}){if(n.length===0||!iP(n[0]))return[...n];if(qn(r)!=="development")return[...n];let f=r.env??process.env,o=[...f.NODE_OPTIONS?.split(/\s+/).filter(Boolean)??[],...n.slice(1)],y=[];if(!IP(o)){let w=qP(f),P=zP(f),G=P===void 0?0:P+cP(r.debugRole);y.push(`--inspect=${w}:${G}`)}if(!tP(o))y.push("--enable-source-maps");return[n[0],...y,...n.slice(1)]}var Zn="CLINE_BUILD_ENV",bf="CLINE_DEBUG_HOST",af="CLINE_DEBUG_PORT_BASE";var ty=()=>{};function zy(n=process.env){return n.CLINE_RUN_AS_HUB_DAEMON==="1"}var qy="CLINE_RUN_AS_HUB_DAEMON";function cy(n){let r={};if(!n)return r;try{n.split(",").forEach((f)=>{let o=f.indexOf("=");if(o<=0)return;let y=decodeURIComponent(f.substring(0,o).trim()),w=decodeURIComponent(f.substring(o+1).trim());if(!y||!w)return;r[y]=w})}catch{}return r}function pP(){return{enabled:process?.env?.OTEL_TELEMETRY_ENABLED==="1"||process?.env?.OTEL_TELEMETRY_ENABLED==="true",metricsExporter:process?.env?.OTEL_METRICS_EXPORTER||"otlp",logsExporter:process?.env?.OTEL_LOGS_EXPORTER||"otlp",tracesExporter:process?.env?.OTEL_TRACES_EXPORTER,otlpProtocol:process?.env?.OTEL_EXPORTER_OTLP_PROTOCOL||"http/json",otlpEndpoint:process?.env?.OTEL_EXPORTER_OTLP_ENDPOINT,metricExportInterval:process?.env?.OTEL_METRIC_EXPORT_INTERVAL?Number.parseInt(process?.env?.OTEL_METRIC_EXPORT_INTERVAL,10):void 0,otlpHeaders:process?.env?.OTEL_EXPORTER_OTLP_HEADERS?cy(process?.env?.OTEL_EXPORTER_OTLP_HEADERS):void 0}}function Af(n={}){return{extension_version:"unknown",cline_type:"unknown",platform:"terminal",platform_version:process?.version||"unknown",os_type:process?.platform||"unknown",os_version:process?.platform==="win32"?process?.env?.OS??"unknown":"unknown",...n}}function py(n={}){return{...pP(),...n,metadata:Af(n.metadata)}}var nd=()=>{};function rd(n){let r=n?.trim();return r?r:void 0}function fd(n,r){if(!n)return;let f=typeof n==="function"?n(r):n;if(!f)return;let o=rd(f.rootSessionId);if(!o)return;return{rootSessionId:o}}function od(n){return rd(n?.rootSessionId)}import{customAlphabet as nC}from"nanoid";function yd(n="",r=""){let f=nC("1234567890abcdefghijklmnopqrstuvwxyz",10);return`${n}${Date.now()}_${f(5)}${r}`}var dd=()=>{};var wd;var Pd=E(()=>{wd=["running","completed","failed","cancelled"]});function Sf(n){return typeof n==="string"&&rC.has(n)}function Cd(n){if(!Array.isArray(n))return;let r=n.map((f)=>typeof f==="string"?f.trim():"").filter(Sf);return[...new Set(r)]}function vd(n,r){return new Set(n??Mf).has(r)}var zn,Mf,rC;var Gd=E(()=>{zn=["rules","skills","workflows","plugins"],Mf=zn,rC=new Set(zn)});import{z as T}from"zod";function fC(){return{workspaces:{}}}function oC(n,r){let f={...n,workspaces:{...n.workspaces,[r.rootPath]:r}};if(!f.currentWorkspacePath)f.currentWorkspacePath=r.rootPath;return Hd.parse(f)}var $d,Hd;var Fd=E(()=>{$d=T.object({rootPath:T.string().min(1),hint:T.string().min(1).optional(),associatedRemoteUrls:T.array(T.string().min(1)).optional(),latestGitCommitHash:T.string().min(1).optional(),latestGitBranchName:T.string().min(1).optional()}),Hd=T.object({currentWorkspacePath:T.string().min(1).optional(),workspaces:T.record(T.string().min(1),$d)})});import{z as d}from"zod";function Z(n){return d.preprocess((r)=>r===null?void 0:r,n.optional())}var Kd,yC=3600000,dC=240,wC=400,s,en,Ed,cn,PC,CC,vC,GC,$C,HC,FC,KC,EC,eC,bC,aC,AC,MC,SC,gC,YC,DC,JC,kC,XC,UC,ZC,ed,QC,WC,bd,hC,jC,lC,RC,mC,LC,_C,NC,BC,VC,TC,sC;var ad=E(()=>{Kd=["current_state","boundary_analysis","interface_proposal"],s=d.preprocess((n)=>n instanceof Date?n.toISOString():n,d.string().datetime()),en=d.enum(["pending","in_progress","blocked","completed"]),Ed=d.enum(["queued","running","completed","failed","cancelled","interrupted"]),cn=d.enum(["draft","in_review","finalized"]),PC=d.object({agentId:d.string(),role:d.enum(["lead","teammate"]),description:d.string().optional(),status:d.enum(["idle","running","stopped"])}),CC=d.object({agentId:d.string(),rolePrompt:d.string(),modelId:d.string().optional(),maxIterations:d.number().optional()});vC=d.object({agentId:d.string().min(1).describe("Teammate identifier"),rolePrompt:d.string().min(1).describe("System prompt describing teammate role")}).strict(),GC=d.object({agentId:d.string().min(1).describe("Teammate identifier"),reason:Z(d.string().min(1)).describe("Optional shutdown reason")}),$C=d.object({}),HC={create:["title","description"],list:[],claim:["taskId"],complete:["taskId","summary"],block:["taskId","reason"]},FC={create:["status","taskId","summary","reason"]},KC=d.object({action:d.enum(["create","list","claim","complete","block"]),title:Z(d.string().min(1)).describe("Task title"),description:Z(d.string().min(1)).describe("Task details"),dependsOn:Z(d.array(d.string().describe("Dependency task ID"))).describe("Array of dependency task IDs"),assignee:Z(d.string().min(1)).describe("Optional assignee"),status:Z(d.enum(["pending","in_progress","blocked","completed"])).describe("Optional task status filter"),taskId:Z(d.string()).describe("Task ID"),summary:Z(d.string().min(1)).describe("Completion summary"),reason:Z(d.string().min(1)).describe("Blocking reason")}).superRefine((n,r)=>{for(let f of HC[n.action]){if(n[f]!==void 0)continue;r.addIssue({code:"custom",path:[f],message:`Field "${f}" is required when action=${n.action}`})}}),EC=d.object({agentId:d.string().describe("Teammate agent ID"),task:d.string().min(1).describe("Task instructions for the teammate"),taskId:Z(d.string()).describe("Optional shared task list ID"),runMode:Z(d.enum(["sync","async"])).describe("Execution mode: 'sync' blocks until the teammate finishes and returns the result (default if omitted); 'async' queues the run and returns a runId immediately — use team_await_runs to collect results later."),continueConversation:Z(d.boolean()).describe("If true, continue the teammate conversation; otherwise start fresh")}),eC=d.object({status:Z(d.enum(["queued","running","completed","failed","cancelled","interrupted"])).describe("Optional run status filter. Omit to include all statuses."),agentId:Z(d.string().min(1)).describe("Optional teammate ID filter. Omit to include all teammates."),includeCompleted:Z(d.boolean()).describe("Include completed/failed runs (default true)")}),bC=d.object({runId:d.string().min(1).describe("Run ID"),reason:Z(d.string().min(1)).describe("Optional cancellation reason")}),aC=d.object({runId:Z(d.string().min(1)).describe("Optional async run ID to await. Omit to wait for all active async runs.")}).strict(),AC=d.object({toAgentId:d.string().min(1).describe("Recipient agent ID"),subject:d.string().min(1).describe("Message subject"),body:d.string().min(1).describe("Message body"),taskId:Z(d.string().min(1)).describe("Optional task ID context")}),MC=d.object({subject:d.string().min(1).describe("Message subject"),body:d.string().min(1).describe("Message body"),taskId:Z(d.string().min(1)).describe("Optional task ID context")}),SC=d.object({unreadOnly:Z(d.boolean()).describe("Only unread messages for read action (default true)")}),gC=d.object({kind:d.enum(["progress","handoff","blocked","decision","done","error"]),summary:d.string().min(1).describe("Update summary"),taskId:Z(d.string().min(1)).describe("Optional task ID context"),evidence:Z(d.array(d.string().min(1))).describe("Optional evidence links/snippets"),nextAction:Z(d.string().min(1)).describe("Planned next step")}),YC=d.object({}),DC=d.object({title:d.string().describe("Outcome title"),requiredSections:d.array(d.string()).default(Kd).describe("Required sections for finalization gate (defaults to current_state,boundary_analysis,interface_proposal)")}),JC=d.object({outcomeId:d.string().describe("Outcome ID"),section:d.string().describe("Section name"),sourceRunId:Z(d.string()).describe("Optional source run ID"),content:d.string().describe("Section fragment content")}),kC=d.object({fragmentId:d.string().describe("Fragment ID"),approved:d.boolean().describe("Review decision")}),XC=d.object({outcomeId:d.string().describe("Outcome ID")}),UC=d.object({}),ZC=d.object({teamId:d.string(),teamName:d.string(),members:d.array(PC),taskCounts:d.record(en,d.number()),unreadMessages:d.number(),missionLogEntries:d.number(),activeRuns:d.number(),queuedRuns:d.number(),outcomeCounts:d.record(cn,d.number())}),ed=d.object({id:d.string(),title:d.string(),description:d.string(),status:en,createdAt:s,updatedAt:s,createdBy:d.string(),assignee:d.string().optional(),dependsOn:d.array(d.string()),summary:d.string().optional(),isReady:d.boolean(),blockedBy:d.array(d.string())}),QC=d.discriminatedUnion("action",[d.object({action:d.literal("create"),taskId:d.string(),status:en,ignoredFields:d.array(d.string()).optional(),note:d.string().optional()}),d.object({action:d.literal("list"),tasks:d.array(ed)}),d.object({action:d.literal("claim"),taskId:d.string(),status:en,nextStep:d.string()}),d.object({action:d.literal("complete"),taskId:d.string(),status:en}),d.object({action:d.literal("block"),taskId:d.string(),status:en})]),WC=d.object({agentId:d.string(),mode:d.enum(["sync","async"]),status:d.enum(["dispatched","running","queued","joined"]),dispatched:d.boolean(),message:d.string(),deduped:d.boolean().optional(),runId:d.string().optional(),text:d.string().optional(),iterations:d.number().optional()}),bd=d.object({textPreview:d.string(),iterations:d.number(),finishReason:d.string(),durationMs:d.number(),usage:d.object({inputTokens:d.number(),outputTokens:d.number(),cacheReadTokens:d.number().optional(),cacheWriteTokens:d.number().optional(),totalCost:d.number().optional()})}),hC=d.object({id:d.string(),agentId:d.string(),taskId:d.string().optional(),status:Ed,messagePreview:d.string(),priority:d.number(),retryCount:d.number(),maxRetries:d.number(),nextAttemptAt:s.optional(),continueConversation:d.boolean().optional(),startedAt:s,endedAt:s.optional(),leaseOwner:d.string().optional(),heartbeatAt:s.optional(),lastProgressAt:s.optional(),lastProgressMessage:d.string().optional(),currentActivity:d.string().optional(),error:d.string().optional(),resultSummary:bd.optional()}),jC=d.object({id:d.string(),teamId:d.string(),fromAgentId:d.string(),toAgentId:d.string(),subject:d.string(),body:d.string(),taskId:d.string().optional(),sentAt:s,readAt:s.optional()}),lC=d.object({id:d.string(),teamId:d.string(),title:d.string(),status:cn,requiredSections:d.array(d.string()),createdBy:d.string(),createdAt:s,finalizedAt:s.optional()}),RC=d.object({outcomeId:d.string(),status:cn,requiredSections:d.array(d.string())}),mC=d.object({agentId:d.string(),status:d.string()}),LC=d.object({runId:d.string(),status:Ed}),_C=d.object({id:d.string(),toAgentId:d.string()}),NC=d.object({delivered:d.number()}),BC=d.object({id:d.string()}),VC=d.object({status:d.string()}),TC=d.object({fragmentId:d.string(),status:d.string()}),sC=d.object({outcomeId:d.string(),status:cn})});var Ad;var Md=E(()=>{((U)=>{U.TaskStart="task_start";U.TaskEnd="task_end";U.AgentEvent="agent_event";U.TeammateSpawned="teammate_spawned";U.TeammateShutdown="teammate_shutdown";U.TeamTaskUpdated="team_task_updated";U.TeamMessage="team_message";U.TeamMissionLog="team_mission_log";U.TeamTaskCompleted="team_task_completed";U.RunStarted="run_started";U.RunQueued="run_queued";U.RunProgress="run_progress";U.RunCompleted="run_completed";U.RunFailed="run_failed";U.RunCancelled="run_cancelled";U.RunInterrupted="run_interrupted";U.OutcomeCreated="outcome_created";U.OutcomeFragmentAttached="outcome_fragment_attached";U.OutcomeFragmentReviewed="outcome_fragment_reviewed";U.OutcomeFinalized="outcome_finalized"})(Ad||={})});var Sd=E(()=>{ad();Md()});import{z as OC}from"zod";function xC(n){let{$schema:r,...f}=n;if(typeof f.type==="string")return f;if("properties"in f||"required"in f||"additionalProperties"in f)return{type:"object",...f};for(let o of["oneOf","anyOf","allOf"]){let y=f[o];if(!Array.isArray(y)||y.length===0)continue;if(o==="allOf"){if(y.some((G)=>G&&typeof G==="object"&&G.type==="object"))return{type:"object",...f};throw Error('Tool inputSchema must describe an object at the top level, but the schema has a top-level "allOf" with no branch that asserts type: "object". Add type: "object" to at least one allOf branch to make the object constraint explicit.')}if(y.every((P)=>P&&typeof P==="object"&&P.type==="object"))return{type:"object",...f};throw Error(`Tool inputSchema must describe an object at the top level, but the schema has a top-level "${o}" whose branches include non-object types. Pass the strict object schema as inputSchema and reserve union/coercion schemas for use inside execute().`)}return f}function gd(n){let r=xC(n.inputSchema instanceof OC.ZodType?In(n.inputSchema):n.inputSchema);return{name:n.name,description:n.description,inputSchema:r,lifecycle:n.lifecycle,timeoutMs:n.timeoutMs??30000,retryable:n.retryable??!0,maxRetries:n.maxRetries??3,execute:n.execute}}var Yd=E(()=>{zr()});function Yf(n){return gf.includes(n)}function Dd(n,r){if(!Yf(r))return!1;let f=n instanceof Error?n.message.toLowerCase():String(n);return Df.some((o)=>f.includes(o))}var gf,Df;var Jf=E(()=>{gf=["cline","oca","openai-codex"];Df=["401","403","unauthorized","forbidden","invalid token","expired token","authentication"]});var Jd=E(()=>{Jf()});import{existsSync as uC,mkdirSync as iC,readFileSync as IC,writeFileSync as tC}from"node:fs";import{dirname as qC,resolve as zC}from"node:path";function nv(n){let r=n.toLowerCase();if(cC.has(r))return!0;for(let f of pC){if(r===f)return!0;if(r.endsWith(f)&&r.length>f.length){let o=r[r.length-f.length-1];if(o==="_"||o==="-")return!0;let y=n[n.length-f.length];if(y&&y===y.toUpperCase()&&y!==y.toLowerCase())return!0}if(r.endsWith(`_${f}`))return!0}return!1}function fv(n){let r=n;for(let{pattern:f,replacement:o}of rv)r=r.replace(f,o);return r}function kf(n){let r=n;for(let{pattern:f,replacement:o}of ov)r=r.replace(f,o);return r}function pn(n){if(n===null||n===void 0)return n;if(typeof n==="string"){try{let r=JSON.parse(n);if(typeof r==="object"&&r!==null)return JSON.stringify(pn(r))}catch{}return fv(n)}if(Array.isArray(n))return n.map(pn);if(typeof n==="object"){let r={};for(let[f,o]of Object.entries(n))if(nv(f)&&(typeof o==="string"||typeof o==="number"))r[f]="REDACTED";else r[f]=pn(o);return r}return n}function yv(n){let r={...n};if(r.body)delete r.body;if(typeof r.path==="string")r.path=kf(r.path);if(r.response!==void 0)r.response=pn(r.response);return r}function kd(n){try{let r=new URL(n),f=`${r.protocol}//${r.host}`,o=r.pathname+r.search;return{scope:f,path:o}}catch{return{scope:"",path:n}}}function Xd(n){if(typeof n==="string")return n;if(n instanceof URL)return n.toString();if(n&&typeof n.url==="string")return n.url;return String(n)}function Ud(n,r){if(r?.method)return r.method.toUpperCase();if(n&&typeof n.method==="string")return n.method.toUpperCase();return"GET"}function dv(n){if(!n)return null;if(!process.env.CLINE_VCR_CASSETTE)return process.stderr.write(`[VCR] No CLINE_VCR_CASSETTE: requests will not be recorded or played back.
77
- `),null;if(n!=="record"&&n!=="playback")process.stderr.write(`[VCR] Invalid CLINE_VCR value: "${n}". Expected "record" or "playback".
78
- `),process.exit(1);let r=zC(process.env.CLINE_VCR_CASSETTE),f=process.env.CLINE_VCR_FILTER??"";return{mode:n,cassettePath:r,filter:f}}function wv(n,r){let f=[],o=[],y=globalThis.fetch;function w($){if($.finalized)return;$.finalized=!0;let M=new TextDecoder,J=$.chunks.map((H)=>M.decode(H,{stream:!0})).join("")+M.decode(),D;try{D=JSON.parse(J)}catch{D=J}f.push({scope:$.scope,method:$.method,path:$.path,body:$.body,status:$.status,response:D,responseIsBinary:!1,contentType:$.contentType})}globalThis.fetch=Object.assign(async($,M)=>{let J=Xd($),D=Ud($,M),{scope:H,path:a}=kd(J),W;if(M?.body)W=typeof M.body==="string"?M.body:M.body instanceof ArrayBuffer?new TextDecoder().decode(M.body):void 0;else if($ instanceof Request)try{W=await $.clone().text()}catch{}let k=await y($,M);if(r&&!a.includes(r))return k;let L=k.headers.get("content-type")??void 0;if(!k.body)return f.push({scope:H,method:D,path:a,body:W??"",status:k.status,response:"",responseIsBinary:!1,contentType:L}),k;let l={scope:H,method:D,path:a,body:W??"",status:k.status,contentType:L,chunks:[],finalized:!1};o.push(l);let q=k.body,U=new TransformStream({transform(i,ln){l.chunks.push(i),ln.enqueue(i)},flush(){w(l)}}),Fr=q.pipeThrough(U);return new Response(Fr,{status:k.status,statusText:k.statusText,headers:k.headers})},{preconnect:($)=>{}});let P=r?`matching path "*${r}*"`:"all paths";process.stderr.write(`[VCR] Recording HTTP requests (${P}). Cassette will be saved to: ${n}
79
- `);let G=!1;Tn(()=>{if(G)return;G=!0,globalThis.fetch=y;for(let J of o)w(J);if(f.length===0){process.stderr.write(`[VCR] No HTTP requests${r?` matching "${r}"`:""} were recorded.
80
- `);return}let $=qC(n);iC($,{recursive:!0});let M=f.map(yv);tC(n,JSON.stringify(M,null,2)),process.stderr.write(`[VCR] Saved ${M.length} recorded HTTP interaction(s) to ${n}
81
- `)})}function Pv(n){let r=[],f=n.split(/\n\n/);for(let o of f){let y=o.trim();if(y)r.push(`${y}
82
-
83
- `)}return r}function Cv(n,r){let f=new TextEncoder,o=0;return new ReadableStream({async pull(y){if(o>=n.length){y.close();return}if(o>0&&r>0)await new Promise((P)=>setTimeout(P,r));let w=n[o];if(w===void 0){y.close();return}y.enqueue(f.encode(w)),o+=1}})}function vv(n,r){if(!uC(n))process.stderr.write(`[VCR] Cassette file not found: ${n}
84
- `),process.exit(1);let f=JSON.parse(IC(n,"utf-8")),o=Number.parseInt(process.env.CLINE_VCR_SSE_DELAY??"100",10),y=Array(f.length).fill(!1),w=globalThis.fetch;globalThis.fetch=Object.assign(async(G,b)=>{let $=Xd(G),M=Ud(G,b),{path:J}=kd($),D=kf(J);if(r&&!J.includes(r))return w(G,b);let H=f.findIndex((a,W)=>{if(y[W])return!1;let k=kf(a.path);return a.method.toUpperCase()===M&&k===D});if(H>=0){y[H]=!0;let a=f[H];if(!a)return w(G,b);let W=typeof a.response==="string"?a.response:JSON.stringify(a.response),k=new Headers;if(a.contentType)k.set("content-type",a.contentType);else if(typeof a.response==="string"&&a.response.trimStart().startsWith("data:"))k.set("content-type","text/event-stream");else if(typeof a.response==="object")k.set("content-type","application/json");let L=k.get("content-type")?.includes("text/event-stream")??!1;if(L)k.set("cache-control","no-cache"),k.set("connection","keep-alive");if(L&&typeof a.response==="string"){let l=Pv(a.response);if(l.length>1){let q=Cv(l,o);return new Response(q,{status:a.status,headers:k})}}return new Response(W,{status:a.status,headers:k})}if(!r)throw Error(`[VCR] No matching recording for ${M} ${$} (path: ${D}). ${f.length} recording(s) loaded from ${n}.`);return w(G,b)},{preconnect:(G)=>{}});let P=r?`(only paths matching "*${r}*", all other requests go through normally)`:"(all requests intercepted)";process.stderr.write(`[VCR] Playing back ${f.length} recorded HTTP interaction(s) from ${n} ${P}
85
- `)}function Zd(n){let r=dv(n);if(!r)return;if(r.mode==="record")wv(r.cassettePath,r.filter);else vv(r.cassettePath,r.filter)}var cC,pC,rv,ov;var Qd=E(()=>{Qr();cC=new Set(["accesskeyid","secretaccesskey","idtoken","refreshtoken","accessToken","access_token","refresh_token","apikey","api_key","authorization","password","secret","token","email","displayname","display_name","userInfo"]),pC=["id","balance","cost","secret"];rv=[{pattern:/AKIA[A-Z0-9]{16}/g,replacement:"AKIA_REDACTED"},{pattern:/\/Users\/[A-Za-z0-9._-]+/g,replacement:"/Users/REDACTED_USER"},{pattern:/\/home\/[A-Za-z0-9._-]+/g,replacement:"/home/REDACTED_USER"}];ov=[{pattern:/tasks\/[A-Za-z0-9._-]+\/[A-Za-z0-9._-]+\/api_conversation_history/g,replacement:"tasks/usr-test/taskid/api_conversation_history"},{pattern:/\/(org|usr|mbr|ses|gen|req|msg|tsk|sch|exe|srv|cli|wkr|evt|sub|tkn)-[A-Za-z0-9]{10,}(?=[/?#]|$)/g,replacement:"/$1-REDACTED"}]});var Wd={};V(Wd,{zodToJsonSchema:()=>In,xmlTagsRemoval:()=>mr,withResolvedClineBuildEnv:()=>iy,validateWithZod:()=>Jy,upsertWorkspaceInfo:()=>oC,truncateStr:()=>qr,truncateSplit:()=>My,toAiSdkToolResultOutput:()=>_r,serializeAbortReason:()=>co,sanitizeFileName:()=>Ay,safeJsonStringify:()=>Ky,safeJsonParse:()=>Ey,resolveRootSessionId:()=>od,resolveReasoningEffortRatio:()=>Nr,resolveReasoningBudgetFromRatio:()=>to,resolveHubCommandTimeoutMs:()=>YP,resolveHookSessionContext:()=>fd,resolveEffectiveReasoningEffort:()=>Io,resolveClineBuildEnv:()=>qn,registerDisposable:()=>Tn,processWorkspaceInfo:()=>Zy,parseUserCommandEnvelope:()=>lr,parseRuntimeConfigExtensions:()=>Cd,parseJsonStream:()=>Fy,parseHookEventPayload:()=>Lo,normalizeUserInput:()=>Rr,normalizePluginManifest:()=>Wr,noopBasicLogger:()=>ny,maskSecret:()=>Sy,isRuntimeConfigExtensionKind:()=>Sf,isOAuthProviderId:()=>Yf,isLikelyAuthError:()=>Dd,isHubToolExecutorName:()=>JP,isHubDaemonProcess:()=>zy,initVcr:()=>Zd,hasRuntimeConfigExtension:()=>vd,getShellArgs:()=>ay,getDefaultShell:()=>by,getDefaultHubCommandTimeoutMs:()=>No,formatUserInputBlock:()=>To,formatUserCommandBlock:()=>so,formatUptime:()=>Yy,formatMessagesForAiSdk:()=>xn,formatHumanReadableDate:()=>gy,formatFileContentBlock:()=>On,formatDisplayUserInput:()=>Oo,emptyWorkspaceManifest:()=>fC,disposeAll:()=>Zo,createTool:()=>gd,createSessionId:()=>yd,createContributionRegistry:()=>jo,createClineTelemetryServiceMetadata:()=>Af,createClineTelemetryServiceConfig:()=>py,buildClineSystemPrompt:()=>Qy,augmentNodeCommandForDebug:()=>Iy,WorkspaceManifestSchema:()=>Hd,WorkspaceInfoSchema:()=>$d,VertexSettingsSchema:()=>Pf,VertexModelSchema:()=>wf,ToolCallRecordSchema:()=>Vn,ThinkingConfigSchema:()=>Dr,TeamTeammateSpecSchema:()=>CC,TeamTaskToolResultSchema:()=>QC,TeamTaskListItemToolResultSchema:()=>ed,TeamTaskInputSchema:()=>KC,TeamStatusToolResultSchema:()=>ZC,TeamStatusInputSchema:()=>$C,TeamSpawnTeammateInputSchema:()=>vC,TeamSimpleAgentStatusToolResultSchema:()=>mC,TeamShutdownTeammateInputSchema:()=>GC,TeamSendMessageToolResultSchema:()=>_C,TeamSendMessageInputSchema:()=>AC,TeamRunToolSummarySchema:()=>hC,TeamRunTaskToolResultSchema:()=>WC,TeamRunTaskInputSchema:()=>EC,TeamRunResultSummarySchema:()=>bd,TeamReviewOutcomeFragmentInputSchema:()=>kC,TeamReadMailboxInputSchema:()=>SC,TeamOutcomeToolResultSchema:()=>lC,TeamOutcomeFragmentToolResultSchema:()=>TC,TeamMissionLogToolResultSchema:()=>BC,TeamMissionLogInputSchema:()=>gC,TeamMessageType:()=>Ad,TeamMailboxMessageToolResultSchema:()=>jC,TeamListRunsInputSchema:()=>eC,TeamListOutcomesInputSchema:()=>UC,TeamFinalizeOutcomeToolResultSchema:()=>sC,TeamFinalizeOutcomeInputSchema:()=>XC,TeamCreateOutcomeToolResultSchema:()=>RC,TeamCreateOutcomeInputSchema:()=>DC,TeamCleanupToolResultSchema:()=>VC,TeamCleanupInputSchema:()=>YC,TeamCancelRunToolResultSchema:()=>LC,TeamCancelRunInputSchema:()=>bC,TeamBroadcastToolResultSchema:()=>NC,TeamBroadcastInputSchema:()=>MC,TeamAwaitRunsInputSchema:()=>aC,TeamAttachOutcomeFragmentInputSchema:()=>JC,TEAM_TASK_IGNORED_FIELDS_BY_ACTION:()=>FC,TEAM_RUN_TEXT_PREVIEW_LIMIT:()=>wC,TEAM_RUN_MESSAGE_PREVIEW_LIMIT:()=>dC,TEAM_PROGRESS_EVENT_TYPE:()=>Oy,TEAM_LIFECYCLE_EVENT_TYPE:()=>xy,TEAM_AWAIT_TIMEOUT_MS:()=>yC,SESSION_STATUS_VALUES:()=>wd,S3AccessKeySettingsSchema:()=>Un,RemoteMCPServerSchema:()=>Ff,RemoteConfigSchema:()=>jy,ReasoningEffortSchema:()=>So,RUNTIME_CONFIG_EXTENSION_KINDS:()=>zn,REMOTE_URI_SCHEME:()=>hy,REASONING_EFFORT_RATIOS:()=>Kn,ProviderProtocolSchema:()=>Vy,ProviderClientSchema:()=>Ty,ProviderCapabilitySchema:()=>By,PromptUploadingSchema:()=>Kf,PLUGIN_FILE_EXTENSIONS:()=>Ro,OpenAiCompatibleSchema:()=>nf,OpenAiCompatibleModelSchema:()=>pr,OAUTH_PROVIDER_IDS:()=>gf,ModelStatusSchema:()=>gr,ModelPricingSchema:()=>Yr,ModelInfoSchema:()=>Jn,ModelCapabilitySchema:()=>Sr,LiteLLMSchema:()=>vf,LiteLLMModelSchema:()=>Cf,HookEventPayloadSchema:()=>jr,HookEventNameSchema:()=>hr,HUB_USER_INSTRUCTIONS_SNAPSHOT_CAPABILITY:()=>hP,HUB_TOOL_EXECUTOR_NAMES:()=>Bo,HUB_TOOL_EXECUTOR_CAPABILITY_PREFIX:()=>kP,HUB_MISTAKE_LIMIT_CAPABILITY:()=>WP,HUB_HOOK_CAPABILITY_PREFIX:()=>UP,HUB_DEFAULT_COMMAND_TIMEOUT_MS:()=>SP,HUB_CUSTOM_TOOL_CAPABILITY_PREFIX:()=>XP,HUB_COMPACTION_CAPABILITY:()=>ZP,HUB_COMMAND_SLOW_LOG_MS:()=>gP,HUB_CHECKPOINT_CAPABILITY:()=>QP,GlobalInstructionsFileSchema:()=>tn,EnterpriseTelemetrySchema:()=>Ef,DEFAULT_RUNTIME_CONFIG_EXTENSIONS:()=>Mf,DEFAULT_REQUEST_HEADERS:()=>zo,DEFAULT_REASONING_EFFORT:()=>io,DEFAULT_OUTCOME_REQUIRED_SECTIONS:()=>Kd,ContributionRegistry:()=>sn,ConnectorHookEventSchema:()=>ko,ConnectorHookEventNameSchema:()=>Xr,ConnectorEventContextSchema:()=>Zr,ConnectorEventActorSchema:()=>Ur,ConnectorAuthorizationRequestSchema:()=>Do,ConnectorAuthorizationDecisionSchema:()=>Jo,ClineSettingsSchema:()=>df,ClineModelSchema:()=>yf,CLINE_RUN_AS_HUB_DAEMON_ENV:()=>qy,CLINE_HUB_PORT:()=>my,CLINE_HUB_DEV_PORT:()=>Ly,CLINE_DEFAULT_RPC_PORT:()=>_y,CLINE_DEFAULT_RPC_ADDRESS:()=>Ny,CLINE_DEBUG_PORT_BASE_ENV:()=>af,CLINE_DEBUG_HOST_ENV:()=>bf,CLINE_BUILD_ENV_ENV:()=>Zn,AwsBedrockSettingsSchema:()=>of,AwsBedrockModelSchema:()=>rf,AwsBedrockCustomModelSchema:()=>ff,ApiFormatSchema:()=>Mr,ApiFormat:()=>ao,AnthropicSchema:()=>$f,AnthropicModelSchema:()=>Gf,AllowedMCPServerSchema:()=>Hf,AgentUsageSchema:()=>Mo,AgentResultSchema:()=>PP,AgentFinishReasonSchema:()=>Ao,AgentConfigSchema:()=>CP,AUTH_ERROR_PATTERNS:()=>Df,APIKeySchema:()=>ly});var Xf=E(()=>{Xo();Qr();lo();mo();_o();uo();Jr();qo();po();kr();ry();ey();zr();Wy();Ry();sy();ty();nd();dd();Pd();Gd();Yd();Jf();Qd();Yo();Vo();Fd();Sd();Jd()});function Pn(n){let r=(o)=>{if(!o)return;if(typeof o==="string")try{return r(JSON.parse(o))}catch{return o.trim()||void 0}if(typeof o!=="object")return;let y=o;if(typeof y.error==="string"&&y.error.trim())return y.error;if(y.error&&typeof y.error==="object"&&typeof y.error.message==="string"&&y.error.message.trim())return y.error.message;if(typeof y.detail==="string"&&y.detail.trim())return y.detail;if(Array.isArray(y.errors))for(let w of y.errors){let P=r(w);if(P)return P}if("responseBody"in y&&y.responseBody!==o){let w=r(y.responseBody);if(w)return w}if("cause"in y&&y.cause!==o){let w=r(y.cause);if(w)return w}if(typeof y.message==="string"&&y.message.trim())return y.message;return},f=r(n);if(f)return f;return String(n)}function nr(n){return n.replace(/-([a-z0-9])/gi,(r,f)=>f.toUpperCase())}function rn(){return{cache_control:{type:"ephemeral"}}}function m(n){let r=n.model.metadata?.family;return typeof r==="string"?r:void 0}function t(n){let r=typeof n.family==="string"?n.family.trim():"";if(r)return r.toLowerCase().includes("claude");return Hv(n.modelId)}function Hv(n){if(!n)return!1;let r=n.toLowerCase(),f=r.includes("anthropic"),o=r.includes("claude"),y=r.includes("qwen");return f||o||y}function hd(n,r){let f={openaiCompatible:rn(),[n]:rn()},o=nr(n);if(o!==n)f[o]=rn();if(r)f.anthropic=rn();return f}function jd(n,r,f){if(!n)return;let o=n.content;if(typeof o==="string"){n.content=[{type:"text",text:o,providerOptions:hd(r,f)}];return}if(!Array.isArray(o))return;for(let y=o.length-1;y>=0;y--){let w=o[y];if(w&&typeof w==="object"&&w.type==="text"){o[y]={...w,providerOptions:hd(r,f)};return}}}function Qn(n,r){return t({modelId:n.modelId,family:m(r)})&&bv(r.provider)==="anthropic-automatic"}function Fv(n){let r=n.model.capabilities;return!r||r.includes("reasoning")}function Kv(n,r){let f=r?.toLowerCase()??"",o=n?.toLowerCase()??"";if(f.includes("opus")||o.includes("opus"))return"opus";if(f.includes("sonnet")||o.includes("sonnet"))return"sonnet";if(f.includes("haiku")||o.includes("haiku"))return"haiku";return}function Ev(n){let r=n?.toLowerCase()??"",f=/claude-(\d+)[.-](\d{1,2})-(?:opus|sonnet|haiku)/i.exec(r),y=/claude-(?:opus|sonnet|haiku)-(.+)/i.exec(r)?.[1]?.match(/\d+/g)??[],w=f?.[1]??y[0],P=f?.[2]??(y[1]?.length<=2?y[1]:void 0);if(!w||!P)return;let G=Number.parseInt(w,10),b=Number.parseInt(P,10);if(!Number.isFinite(G)||!Number.isFinite(b))return;return{major:G,minor:b}}function ev(n){let r=Kv(n.modelId,n.family),f=Ev(n.modelId);if(!r||!f)return!1;if(f.major!==4)return f.major>4;return(r==="opus"||r==="sonnet")&&f.minor>=6}function an(n,r){let f=m(r);if(!t({modelId:n.modelId,family:f})||!Fv(r))return{kind:"none"};return ev({modelId:n.modelId,family:f})?{kind:"anthropic-adaptive"}:{kind:"anthropic-manual"}}function bv(n){let r=n.metadata?.promptCacheStrategy;return r==="anthropic-automatic"?r:void 0}function ld(n,r){let f=an(n,r),y=n.reasoning?.enabled===!0||n.reasoning?.effort!==void 0||typeof n.reasoning?.budgetTokens==="number"&&n.reasoning.budgetTokens>0?f.kind==="anthropic-adaptive"?{type:"adaptive"}:f.kind==="anthropic-manual"?{type:"enabled",budgetTokens:Uf({modelId:n.modelId,family:m(r),effort:n.reasoning?.effort,maxTokens:n.maxTokens,explicitBudgetTokens:n.reasoning?.budgetTokens})}:void 0:void 0;return{...f.kind==="anthropic-adaptive"&&n.reasoning?.effort?{effort:n.reasoning.effort}:{},...y?{thinking:y}:{},...Qn(n,r)?rn():{}}}function Uf(n){if(typeof n.explicitBudgetTokens==="number"&&n.explicitBudgetTokens>0)return n.explicitBudgetTokens;if(!n.modelId&&!n.family||!t({modelId:n.modelId,family:n.family}))return;if(!n.effort)return bn;if(typeof n.maxTokens!=="number")return bn;if(n.maxTokens<=bn)return bn;let r=$v[n.effort];if(!r)return bn;let f=Math.min(n.maxTokens-1,Gv);return Math.max(bn,Math.floor(f*r))}function Rd(n,r){let f=an(n,r);if(f.kind==="none"||!n.reasoning?.enabled&&!n.reasoning?.effort&&typeof n.reasoning?.budgetTokens!=="number")return;let o=Uf({modelId:n.modelId,family:m(r),effort:n.reasoning?.effort,maxTokens:n.maxTokens,explicitBudgetTokens:n.reasoning?.budgetTokens}),y={};if(n.reasoning?.enabled===!0)y.enabled=!0;if(f.kind==="anthropic-adaptive"&&n.reasoning?.effort)y.effort=n.reasoning.effort;if(typeof n.reasoning?.budgetTokens==="number")y.max_tokens=n.reasoning.budgetTokens;else if(f.kind==="anthropic-manual"&&typeof o==="number"&&o>=0)y.max_tokens=o;return Object.keys(y).length>0?y:void 0}function md(n,r){if(n.reasoning?.enabled===void 0&&!n.reasoning?.effort&&typeof n.reasoning?.budgetTokens!=="number")return;let f=an(n,r);if(f.kind==="none"&&t({modelId:n.modelId,family:m(r)}))return;let o=f.kind==="anthropic-manual"?Uf({modelId:n.modelId,family:m(r),effort:n.reasoning?.effort,maxTokens:n.maxTokens,explicitBudgetTokens:n.reasoning?.budgetTokens}):n.reasoning?.budgetTokens,y={...n.reasoning?.enabled===!0?{enabled:!0}:n.reasoning?.enabled===!1?{enabled:!1}:n.reasoning?.effort?{enabled:!0}:{},...n.reasoning?.effort&&f.kind!=="anthropic-manual"?{effort:n.reasoning.effort}:{}};if(typeof o==="number"&&o>=0)y.max_tokens=o;return Object.keys(y).length>0?y:void 0}var bn=1024,Gv=128000,$v;var rr=E(()=>{$v={low:0.2,medium:0.5,high:0.8}});function fr(n,r){let f=m(r)?.toLowerCase()??"",o=n.modelId.toLowerCase();return f.includes("glm")||o.includes("glm")}function Zf(n){return n==="zai"||n==="zai-coding-plan"}function Ld(n,r){return Zf(n.providerId)&&n.reasoning?.enabled!==void 0&&!fr(n,r)||fr(n,r)&&!Zf(n.providerId)}function av(n){if(n.reasoning?.enabled===void 0)return;return{thinking:{type:n.reasoning.enabled?"enabled":"disabled"}}}function Av(n){if(n.reasoning?.enabled===!0)return{reasoning:{enabled:!0}};if(n.reasoning?.enabled===!1)return{reasoning:{exclude:!0}};return}function _d(n,r,f){if(Zf(n.providerId)){if(!fr(n,r))return;let y=av(n);return y?{openaiCompatible:y,[n.providerId]:y,...f!==n.providerId?{[f]:y}:{}}:void 0}if(!fr(n,r))return;let o=Av(n);if(!o)return;return{openaiCompatible:o,[n.providerId]:o,...f!==n.providerId?{[f]:o}:{}}}var Nd=E(()=>{rr()});function gv(n){let r={};for(let f of n){if(!f)continue;for(let[o,y]of Object.entries(f))r[o]={...r[o]??{},...y}}return r}function Qf(n){let{providerId:r,providerOptionsKey:f,bucketOptions:o}=n,y=f!==r&&f!=="anthropic";return{[r]:o,...y?{[f]:o}:{}}}function Yv(n){switch(n){case"openai-native":return"openai";case"anthropic":return"anthropic";case"google":case"gemini":return"google";case"vertex":return"vertex";case"bedrock":return"bedrock";case"mistral":return"mistral";case"claude-code":return"claude-code";case"openai-codex":return"openai-codex";case"opencode":return"opencode";case"dify":return"dify";default:return"openai-compatible"}}function Bd(n){let r={thinking:{type:n.thinkingType}};return{...Qf({providerId:n.providerId,providerOptionsKey:n.providerOptionsKey,bucketOptions:r}),openaiCompatible:r}}function Dv(n){return n.toLowerCase().includes("moonshotai/kimi-")}function Vd(n){return m(n)?.trim().toLowerCase()==="kimi-k2.6"}function Jv(n){return m(n)?.trim().toLowerCase().includes("deepseek")===!0}function kv(n,r){return Td.some((f)=>f.matches(n,r))}function Xv(n,r){let f=Td.find((y)=>y.matches(n,r));if(!f)return;let o=n.reasoning?.enabled;if(o===!0)return"enabled";if(o===!1)return"disabled";return f.defaultWhenUnset}function Uv(n,r){if(Ld(n,r)||kv(n,r))return{};if(n.reasoning?.enabled!==!0)return{};let o=t({modelId:n.modelId,family:m(r)})?an(n,r):void 0;if(o&&o.kind!=="anthropic-adaptive")return{};return{thinking:{type:"adaptive"}}}function Zv(n){let r=n.reasoning?.effort;if(!r)return{};if(!(!n.isAnthropicCompatibleModelId||n.anthropicReasoningPolicyKind==="anthropic-adaptive"))return{};return{effort:r,reasoningEffort:r,...n.isAnthropicCompatibleModelId?{}:{reasoningSummary:"auto"}}}function sd(n){return["openai-native","openai","openai-codex"].includes(n.providerId)?{truncation:"auto"}:{}}function Qv(n){let{request:r,context:f,isAnthropicCompatibleModelId:o,target:y}=n,w=o?an(r,f):void 0,P=Rd(r,f),G=Qn(r,f)?rn():{};return{...y==="openai-compatible"?{strictJsonSchema:!1}:{},...Uv(r,f),...Zv({reasoning:r.reasoning,isAnthropicCompatibleModelId:o,anthropicReasoningPolicyKind:w?.kind}),...P?{reasoning:P}:{},...G,...sd(r)}}function Wv(n,r){if(r!=="openai")return;return{openai:{strictJsonSchema:!1,...sd(n)}}}function hv(n,r){return{anthropic:r,openaiCompatible:n}}function jv(n,r,f){if(n.providerId!=="openai-codex")return;let o={...f,instructions:n.systemPrompt,store:!1,strictJsonSchema:!1,systemMessageMode:"remove"};return{openai:o,...Qf({providerId:n.providerId,providerOptionsKey:r,bucketOptions:o})}}function lv(n,r,f,o,y){if(y==="openai")return;if(Mv.has(n.providerId))return;let w=n.providerId==="cline"?md(n,r):void 0;return Qf({providerId:n.providerId,providerOptionsKey:f,bucketOptions:{...o,...w?{reasoning:w}:{}}})}function Rv(n){if(!(n.providerId==="google"||n.providerId==="gemini")||!n.reasoning?.effort)return;return{google:{thinkingConfig:{thinkingLevel:n.reasoning.effort,includeThoughts:!0}}}}function mv(n){let{request:r,context:f,providerOptionsKey:o}=n;if(r.reasoning?.enabled!==!1)return;if(!Dv(r.modelId))return;if(Vd(f))return;if(!Sv.has(r.providerId))return;return Bd({providerId:r.providerId,providerOptionsKey:o,thinkingType:"disabled"})}function Lv(n){let{request:r,context:f,providerOptionsKey:o}=n,y=Xv(r,f);if(!y)return;return Bd({providerId:r.providerId,providerOptionsKey:o,thinkingType:y})}function Od(n,r,f=Yv(n.providerId)){let o=nr(n.providerId),y=t({modelId:n.modelId,family:m(r)}),w=Qv({request:n,context:r,isAnthropicCompatibleModelId:y,target:f}),P=ld(n,r),G=[hv(w,P),Wv(n,f),jv(n,o,w),lv(n,r,o,w,f),Rv(n),mv({request:n,context:r,providerOptionsKey:o}),Lv({request:n,context:r,providerOptionsKey:o}),_d(n,r,o)];return gv(G)}var Mv,Sv,Td;var xd=E(()=>{rr();Nd();Mv=new Set(["anthropic","openai-codex","google"]),Sv=new Set(["cline","openrouter"]);Td=[{matches:(n,r)=>Vd(r),defaultWhenUnset:"enabled"},{matches:(n,r)=>Jv(r)||n.providerId==="deepseek",defaultWhenUnset:void 0}]});var td={};V(td,{resetLangfuseTelemetryForTests:()=>Tv,hasLangfuseTelemetryConfig:()=>Id,ensureLangfuseTelemetry:()=>_v,disposeLangfuseTelemetry:()=>Wf,debugLangfuse:()=>O});function id(){let n=process?.env,r=n?.LANGFUSE_BASE_URL?.trim(),f=n?.LANGFUSE_PUBLIC_KEY?.trim(),o=n?.LANGFUSE_SECRET_KEY?.trim();if(!r||!f||!o)return;return{baseUrl:r,publicKey:f,secretKey:o}}function Id(){return id()!==void 0}async function _v(n){if(!Id())return!1;if(Cn!==void 0)return O(`cached readiness=${String(Cn)}`),Cn;if(!or)or=Nv();return Cn=await or,O(`initialized readiness=${String(Cn)}`),Cn}async function Nv(){let{registerDisposable:n}=await Promise.resolve().then(() => (Xf(),Wd));n(Wf);let r=id();if(!r)return!1;try{let[{LangfuseSpanProcessor:f},{trace:o},{NodeTracerProvider:y}]=await Promise.all([import("@langfuse/otel"),import("@opentelemetry/api"),import("@opentelemetry/sdk-trace-node")]),w=new f({baseUrl:r.baseUrl,publicKey:r.publicKey,secretKey:r.secretKey});O(`creating span processor baseUrl=${r.baseUrl}`);let P=o.getTracerProvider();if(typeof P?.addSpanProcessor==="function"){P.addSpanProcessor(w);let M=ud(o);return O(`attached processor to existing tracer provider delegateReady=${String(M)}`),M}let G=P?.constructor?.name;if(G&&G!=="ProxyTracerProvider"&&G!=="NoopTracerProvider")return!1;new y({spanProcessors:[w]}).register();let $=ud(o);return O(`registered NodeTracerProvider delegateReady=${String($)}`),$}catch(f){return O(`initialization failed error=${f instanceof Error?f.message:String(f)}`),!1}}function ud(n){let o=n.getTracerProvider().getDelegate?.()?.constructor?.name;return Boolean(o&&o!=="NoopTracerProvider")}async function Bv(){try{let{trace:n}=await import("@opentelemetry/api");await n.getTracerProvider().getDelegate?.()?.forceFlush?.(),O("forceFlush completed")}catch(n){O(`forceFlush failed error=${n instanceof Error?n.message:String(n)}`)}}async function Wf(){try{await Bv();let{trace:n}=await import("@opentelemetry/api");await n.getTracerProvider().getDelegate?.()?.shutdown?.(),O("shutdown completed")}catch(n){O(`shutdown failed error=${n instanceof Error?n.message:String(n)}`)}}function O(n){if(!Vv())return;console.warn(`[langfuse-debug] ${n}`)}function Vv(){let n=process.env.CLINE_DEBUG_LANGFUSE;if(!n)return!1;let r=n.trim().toLowerCase();return r==="1"||r==="true"||r==="yes"}function Tv(){Cn=void 0,or=void 0}var Cn,or;async function R(n){let r=n.apiKey?.trim();if(r)return r;let o=(await n.apiKeyResolver?.())?.trim();if(o)return o;for(let y of n.apiKeyEnv??[]){let w=sv(y);if(w)return w}return}function sv(n){let r=globalThis.process?.env;if(!r)return;let f=r[n];if(typeof f!=="string")return;let o=f.trim();return o.length>0?o:void 0}var qd={};V(qd,{createOpenAIProviderModule:()=>xv});import{createOpenAI as Ov}from"@ai-sdk/openai";async function xv(n,r){let f=await R(n),o=Ov({apiKey:f,baseURL:n.baseUrl,headers:n.headers,fetch:n.fetch,name:r.provider.id});return{model:(y)=>o.responses(y)}}var zd=()=>{};function uv(n){switch(n.type){case"image-data":case"image-url":case"file-data":case"file-url":case"image-file-id":return!0;default:return!1}}function iv(n){switch(n.type){case"image-data":return{type:"file",data:n.data,mediaType:n.mediaType,...n.providerOptions?{providerOptions:n.providerOptions}:{}};case"image-url":return{type:"file",data:n.url,mediaType:"image/*",...n.providerOptions?{providerOptions:n.providerOptions}:{}};case"file-data":return{type:"file",data:n.data,mediaType:n.mediaType,...n.filename?{filename:n.filename}:{},...n.providerOptions?{providerOptions:n.providerOptions}:{}};case"file-url":return{type:"file",data:n.url,mediaType:"application/octet-stream",...n.providerOptions?{providerOptions:n.providerOptions}:{}};case"image-file-id":return null}}function Iv(n){if(n.type!=="content")return null;let r=[],f=[];for(let o of n.value){if(!uv(o)){f.push(o);continue}let y=iv(o);if(!y){f.push(o);continue}r.push(y);let w={type:"text",text:"(see following user message for image)"};f.push(w)}if(r.length===0)return null;return{stripped:{type:"content",value:f},media:r}}function tv(n){let r=[],f=!1;for(let o of n){if(o.role!=="tool"){r.push(o);continue}let y=[],w=o.content.map((P)=>{if(P.type!=="tool-result")return P;let G=Iv(P.output);if(!G)return P;return y.push(...G.media),{...P,output:G.stripped}});if(r.push({...o,content:w}),y.length>0)r.push({role:"user",content:y}),f=!0}return{prompt:r,mutated:f}}var yr;var hf=E(()=>{yr={specificationVersion:"v3",transformParams:async({params:n})=>{let{prompt:r,mutated:f}=tv(n.prompt);if(!f)return n;return{...n,prompt:r}}}});var cd={};V(cd,{createOpenAICompatibleProviderModule:()=>cv});import{createOpenAICompatible as qv}from"@ai-sdk/openai-compatible";import{wrapLanguageModel as zv}from"ai";async function cv(n,r){let f=await R(n),o=qv({name:r.provider.id,apiKey:f,...n.baseUrl?{baseURL:n.baseUrl}:{},...n.headers?{headers:n.headers}:{},...n.fetch?{fetch:n.fetch}:{},includeUsage:!0});return{model:(y)=>zv({model:o(y),middleware:yr})}}var pd=E(()=>{hf()});var nw={};V(nw,{createAnthropicProviderModule:()=>nG});import{createAnthropic as pv}from"@ai-sdk/anthropic";async function nG(n,r){let f=await R(n),o=pv({apiKey:f,headers:n.headers,fetch:n.fetch,name:r.provider.id});return{model:(y)=>o(y)}}var rw=()=>{};var fw={};V(fw,{createGoogleProviderModule:()=>fG});import{createGoogleGenerativeAI as rG}from"@ai-sdk/google";async function fG(n,r){let f=await R(n),o=rG({apiKey:f,headers:n.headers,fetch:n.fetch,name:r.provider.id});return{model:(y)=>o(y)}}var ow=()=>{};var yw={};V(yw,{createVertexProviderModule:()=>dG});import{createVertex as oG}from"@ai-sdk/google-vertex";import{createVertexAnthropic as yG}from"@ai-sdk/google-vertex/anthropic";async function dG(n,r){let f=String(n.options?.project??n.options?.projectId??""),o=String(n.options?.location??n.options?.region??"us-central1");if(r.model.id.toLowerCase().includes("claude")){let w=yG({project:f,location:o,baseURL:n.baseUrl,headers:n.headers,fetch:n.fetch});return{model:(P)=>w(P)}}let y=oG({project:f,location:o,apiKey:await R(n),baseURL:n.baseUrl,headers:n.headers,fetch:n.fetch});return{model:(w)=>y(w)}}var dw=()=>{};var ww={};V(ww,{createBedrockProviderModule:()=>PG});import{createAmazonBedrock as wG}from"@ai-sdk/amazon-bedrock";async function PG(n){let r=typeof n.options?.credentialProvider==="function"?n.options.credentialProvider:void 0,f=wG({region:n.options?.region,apiKey:await R(n),accessKeyId:n.options?.accessKeyId,secretAccessKey:n.options?.secretAccessKey,sessionToken:n.options?.sessionToken,baseURL:n.baseUrl,headers:n.headers,fetch:n.fetch,credentialProvider:r});return{model:(o)=>f(o)}}var Pw=()=>{};var Cw={};V(Cw,{createMistralProviderModule:()=>GG});import{createMistral as CG}from"@ai-sdk/mistral";import{wrapLanguageModel as vG}from"ai";async function GG(n){let r=CG({apiKey:await R(n),baseURL:n.baseUrl,headers:n.headers,fetch:n.fetch});return{model:(f)=>vG({model:r(f),middleware:yr})}}var vw=E(()=>{hf()});var Wn={};V(Wn,{createOpenCodeProviderModule:()=>bG,createOpenAICodexProviderModule:()=>EG,createDifyProviderModule:()=>aG,createClaudeCodeProviderModule:()=>KG});import{createClaudeCode as $G}from"ai-sdk-provider-claude-code";import{createCodexExec as HG}from"ai-sdk-provider-codex-cli";import{createDifyProvider as FG}from"dify-ai-provider";function dr(n){return n.options??{}}async function KG(n){let r=$G(dr(n));return{model:(f)=>r(f)}}async function EG(n){let r=HG(dr(n));return{model:(f)=>r(f)}}async function eG(n){let r=["SIGINT","SIGTERM"],f=new Map(r.map((y)=>[y,new Set(process.listeners(y))])),o=await n();for(let y of r)for(let w of process.listeners(y))if(!f.get(y)?.has(w))process.removeListener(y,w);return o}async function bG(n){let r=await eG(async()=>{let{createOpencode:f}=await import("ai-sdk-provider-opencode-sdk");return f(dr(n))});return{model:(f)=>r(f)}}async function aG(n){let r=await R(n),f=FG({baseURL:n.baseUrl,headers:n.headers,fetch:n.fetch,...dr(n)});return{model:(o)=>f(o,{apiKey:r})}}var hn=()=>{};var B={};V(B,{normalizeUsage:()=>ew,createVertexProvider:()=>Gr,createOpenCodeProvider:()=>_f,createOpenAIProvider:()=>wr,createOpenAICompatibleProvider:()=>Pr,createOpenAICodexProvider:()=>Lf,createMistralProvider:()=>Rf,createGoogleProvider:()=>vr,createDifyProvider:()=>Nf,createClaudeCodeProvider:()=>mf,createBedrockProvider:()=>$r,createAnthropicProvider:()=>Cr});import{jsonSchema as AG,streamText as MG}from"ai";import{nanoid as Gw}from"nanoid";import{z as SG}from"zod";function gG(n,r,f){let o=Hw(n.messages,f),y=t({modelId:n.modelId,family:m(r)});for(let w=o.length-1;w>=0;w--)if(o[w]?.role==="user"){jd(o[w],n.providerId,y);break}return o}async function YG(n){try{return(await Promise.resolve().then(() => td)).ensureLangfuseTelemetry(n)}catch{return!1}}function Hw(n,r){let f=[];for(let o of n){let y=[];for(let w of o.content){if(w.type==="text"){y.push({type:"text",text:w.text});continue}if(w.type==="reasoning"){let P=w.metadata,G=P?.signature,b=P?.redactedData;y.push({type:"reasoning",text:w.text,...typeof G==="string"||typeof b==="string"?{providerOptions:{anthropic:{...typeof G==="string"?{signature:G}:{},...typeof b==="string"?{redactedData:b}:{}}}}:{}});continue}if(w.type==="file"){y.push({type:"file",path:w.path,content:w.content});continue}if(w.type==="image"){y.push({type:"image",image:w.image,mediaType:w.mediaType});continue}if(w.type==="tool-call"){let P=w.metadata,G=P?.thoughtSignature??P?.thought_signature;y.push({type:"tool-call",toolCallId:w.toolCallId,toolName:w.toolName,input:w.input,...typeof G==="string"?{providerOptions:{google:{thoughtSignature:G}}}:{}});continue}if(w.type==="tool-result")y.push({type:"tool-result",toolCallId:w.toolCallId,toolName:w.toolName,output:w.output,isError:w.isError??!1})}if(y.length>0)f.push({role:o.role,content:y});else if(o.role==="user"||o.role==="assistant")f.push({role:o.role,content:""})}return xn(r,f,{assistantToolCallArgKey:"input"})}function DG(n){if(!n.tools?.length)return;return Object.fromEntries(n.tools.map((r)=>[r.name,{description:r.description,inputSchema:AG(JG(r.inputSchema),{validate:async(f)=>{let o=await SG.fromJSONSchema(r.inputSchema).safeParseAsync(f);return o.success?{success:!0,value:o.data}:{success:!1,error:o.error}}})}]))}function JG(n){if(n.type==="object")return n;return{type:"object",...n}}function Fw(n){return n.provider.capabilities?.includes("provider-tools")??!1}function Kw(n,r){if(!n||typeof n!=="object"||Array.isArray(n))return r;return{...n,...r}}function Ew(n){return Kw(n.metadata,{toolSource:{providerId:n.request.providerId,modelId:n.request.modelId,executionMode:Fw(n.context)?"provider":"runtime"}})}function kG(n){return Ew({metadata:Kw(lf(n.part),{inputParseError:`Tool call ${n.toolName} was rejected before execution: ${n.errorMessage}`,aiSdkToolError:n.errorMessage}),request:n.request,context:n.context})}function XG(n){return n.providerId==="openai-codex"?void 0:n.systemPrompt}function UG(n,r){if(n==="tool-calls"||n==="tool_calls"||r)return"tool-calls";if(n==="length"||n==="max_tokens")return"max-tokens";if(n==="error")return"error";return"stop"}function vn(n,...r){for(let f of r){let o=n[f];if(typeof o==="number"&&Number.isFinite(o))return o;if(typeof o==="string"&&o.trim().length>0&&Number.isFinite(Number(o)))return Number(o)}return 0}function x(n){if(typeof n==="number"&&Number.isFinite(n))return n;if(typeof n==="string"&&n.trim().length>0&&Number.isFinite(Number(n)))return Number(n);return}function jf(n,...r){let f=n;for(let o of r){if(!f||typeof f!=="object")return 0;f=f[o]}return typeof f==="number"&&Number.isFinite(f)?f:0}function ZG(n){if(!n||typeof n!=="object")return;let r=n;for(let f of Object.values(r)){if(!f||typeof f!=="object")continue;let o=f;if(o.usage&&typeof o.usage==="object")return o.usage}return}function QG(n,r){if(!r||typeof r!=="object")return;let f=r,o=x(f.input),y=x(f.output);if(o===void 0||y===void 0)return;let w=x(f.cacheRead)??0,P=x(f.cacheWrite)??o*1.25;return Math.max(0,n.inputTokens-n.cacheReadTokens-n.cacheWriteTokens)/1e6*o+n.outputTokens/1e6*y+n.cacheReadTokens/1e6*w+n.cacheWriteTokens/1e6*P}function ew(n,r,f){let o=n&&typeof n==="object"?n:{},y=ZG(r),w=r&&typeof r==="object"?r:{},P=w.gateway&&typeof w.gateway==="object"?w.gateway:{},G=o.raw&&typeof o.raw==="object"?o.raw:o,b=x(G.cost_details?.upstream_inference_cost)??x(G.upstream_inference_cost),$=x(G.market_cost)??x(G.marketCost)??x(P.marketCost),M=x(G.cost)??x(P.cost),J=$!==void 0||M!==void 0||b!==void 0,D=$??(M!==void 0&&b!==void 0?M+b:M??b),H={inputTokens:vn(o,"inputTokens","input_tokens","prompt_tokens"),outputTokens:vn(o,"outputTokens","output_tokens","completion_tokens"),cacheReadTokens:jf(o,"inputTokenDetails","cacheReadTokens")||vn(o,"cachedInputTokens","cacheReadTokens","cache_read_tokens","cache_read_input_tokens")||jf(o,"prompt_tokens_details","cached_tokens")||vn(y??{},"cachedInputTokens","cacheReadTokens","cache_read_tokens","cache_read_input_tokens"),cacheWriteTokens:jf(o,"inputTokenDetails","cacheWriteTokens")||vn(o,"cacheWriteTokens","cache_write_tokens","cache_creation_input_tokens")||vn(G,"cacheWriteTokens","cache_write_tokens","cache_creation_input_tokens")||vn(y??{},"cacheWriteTokens","cache_write_tokens","cache_creation_input_tokens")},a=D!==void 0?D:J?void 0:QG(H,f);return{...H,...typeof a==="number"?{totalCost:a}:{}}}function $w(n){if(!n)return;let r=()=>{},f=(y)=>{if(y&&typeof y.catch==="function")y.catch(r)},o=n;for(let y of Object.keys(n))try{f(o[y])}catch{}}function lf(n){let r={};if(typeof n.thoughtSignature==="string")r.thoughtSignature=n.thoughtSignature;if(typeof n.thought_signature==="string")r.thought_signature=n.thought_signature;let f=n.providerMetadata&&typeof n.providerMetadata==="object"?n.providerMetadata:void 0,o=f?.google&&typeof f.google==="object"?f.google:void 0;if(typeof r.thoughtSignature!=="string"&&typeof o?.thoughtSignature==="string")r.thoughtSignature=o.thoughtSignature;if(typeof r.thought_signature!=="string"&&typeof o?.thought_signature==="string")r.thought_signature=o.thought_signature;return Object.keys(r).length>0?r:void 0}async function*WG(n,r,f,o,y){let w=!1,P=new Set,G,b,$,M;try{if(n.fullStream)for await(let H of n.fullStream){if(H.type==="text-delta"){let a=H.textDelta??H.text??H.delta;if(a)yield{type:"text-delta",text:a};continue}if(H.type==="reasoning-delta"||H.type==="reasoning"){let a=H.textDelta??H.text??H.reasoning;if(a)yield{type:"reasoning-delta",text:a,metadata:lf(H)};continue}if(H.type==="tool-call"){w=!0;let a=H.toolCallId??H.id??`tool_${Gw()}`;P.add(a);let W=H.input??H.args??{},k=typeof W==="string"?W:JSON.stringify(W);yield{type:"tool-call-delta",toolCallId:a,toolName:H.toolName??H.name??"tool",input:typeof W==="string"?void 0:W,inputText:k,metadata:Ew({metadata:lf(H),request:r,context:f})};continue}if(H.type==="tool-error"){w=!0;let a=H.toolCallId??H.id??`tool_${Gw()}`,W=P.has(a);P.add(a);let k=H.toolName??H.name??"tool",L=H.input??H.args??{},l=typeof L==="string"?L:JSON.stringify(L),q=H.error===void 0?"Tool input was rejected by the model adapter":Pn(H.error);yield{type:"tool-call-delta",toolCallId:a,toolName:k,input:W?void 0:typeof L==="string"?void 0:L,inputText:W?void 0:l,metadata:kG({part:H,errorMessage:q,request:r,context:f,toolName:k})};continue}if(H.type==="finish")$=H.usage??H.totalUsage,M=H.providerMetadata,G=H.finishReason??H.rawFinishReason??H.reason;if(H.type==="error"){b=y?.current??Pn(H.error);break}if(H.type==="abort")break}else if(n.textStream)for await(let H of n.textStream)yield{type:"text-delta",text:H}}catch(H){b=y?.current??Pn(H)}let J,D;if(b)J=$,D=M;else if(n.usage)try{J=await n.usage}catch(H){if(!b)b=y?.current??Pn(H);J=$,D=M}else J=$,D=M;if(J)yield{type:"usage",usage:ew(J,D,o)};yield{type:"finish",reason:b?"error":UG(G,w),error:b}}async function hG(n,r,f){switch(n){case"openai":{let{createOpenAIProviderModule:o}=await Promise.resolve().then(() => (zd(),qd));return o(r,f)}case"openai-compatible":{let{createOpenAICompatibleProviderModule:o}=await Promise.resolve().then(() => (pd(),cd));return o(r,f)}case"anthropic":{let{createAnthropicProviderModule:o}=await Promise.resolve().then(() => (rw(),nw));return o(r,f)}case"google":{let{createGoogleProviderModule:o}=await Promise.resolve().then(() => (ow(),fw));return o(r,f)}case"vertex":{let{createVertexProviderModule:o}=await Promise.resolve().then(() => (dw(),yw));return o(r,f)}case"bedrock":{let{createBedrockProviderModule:o}=await Promise.resolve().then(() => (Pw(),ww));return o(r)}case"mistral":{let{createMistralProviderModule:o}=await Promise.resolve().then(() => (vw(),Cw));return o(r)}case"claude-code":{let{createClaudeCodeProviderModule:o}=await Promise.resolve().then(() => (hn(),Wn));return o(r)}case"openai-codex":{let{createOpenAICodexProviderModule:o}=await Promise.resolve().then(() => (hn(),Wn));return o(r)}case"opencode":{let{createOpenCodeProviderModule:o}=await Promise.resolve().then(() => (hn(),Wn));return o(r)}case"dify":{let{createDifyProviderModule:o}=await Promise.resolve().then(() => (hn(),Wn));return o(r)}}}function u(n){return async(r)=>({async*stream(f,o){let y=o.logger,w,P={current:void 0};try{let G=await hG(n,r,o),b=await YG(r.providerId),$=Fw(o)?void 0:DG(f),M=XG(f),J=typeof M==="string"&&M.trim().length>0,D=J?void 0:M;w=MG({model:G.model(o.model.id),messages:Qn(f,o)?gG(f,o,D):Hw(f.messages,D),...J?{system:M}:{},tools:$,temperature:f.temperature,maxOutputTokens:f.maxTokens,abortSignal:f.signal,experimental_telemetry:{isEnabled:b},providerOptions:Od(f,o,n),onError:({error:H})=>{let a=Pn(H);if(P.current=a,y?.error)y.error("[ai-sdk] stream error",{providerId:f.providerId,error:H,severity:"error"});else if(y)y.log(`[ai-sdk] stream error: ${a}`,{providerId:f.providerId,severity:"error"})}}),$w(w),yield*WG(w,f,o,o.model.metadata?.pricing,P)}catch(G){$w(w);let b=P.current??Pn(G);if(y?.error)y.error("[ai-sdk] provider error",{providerId:f.providerId,error:G,severity:"error"});else if(y)y.log(`[ai-sdk] provider error: ${b}`,{providerId:f.providerId,severity:"error"});yield{type:"finish",reason:"error",error:b}}}})}var wr,Pr,Cr,vr,Gr,$r,Rf,mf,Lf,_f,Nf;var _=E(()=>{Xf();rr();xd();wr=u("openai"),Pr=u("openai-compatible"),Cr=u("anthropic"),vr=u("google"),Gr=u("vertex"),$r=u("bedrock"),Rf=u("mistral"),mf=u("claude-code"),Lf=u("openai-codex"),_f=u("opencode"),Nf=u("dify")});var er={version:1778003433064,providers:{aihubmix:{"deepseek-v4-flash":{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",contextWindow:1e6,maxTokens:384000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.154,output:0.308,cacheRead:0.0308,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek-flash"},"deepseek-v4-flash-think":{id:"deepseek-v4-flash-think",name:"DeepSeek V4 Flash Think",contextWindow:1e6,maxTokens:384000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.154,output:0.308,cacheRead:0.0308,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek"},"deepseek-v4-pro":{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",contextWindow:1e6,maxTokens:384000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.478,output:0.956,cacheRead:0.004302,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek-thinking"},"gpt-5.5":{id:"gpt-5.5",name:"GPT-5.5",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:5,output:30,cacheRead:0.5,cacheWrite:0},releaseDate:"2026-04-23",family:"gpt"},"kimi-k2.6":{id:"kimi-k2.6",name:"Kimi K2.6",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.95,output:3.9995,cacheRead:0.160835,cacheWrite:0},releaseDate:"2026-04-21",family:"kimi-k2.6"},"claude-opus-4-7":{id:"claude-opus-4-7",name:"Claude Opus 4.7",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-04-16",family:"claude-opus"},"coding-glm-5.1":{id:"coding-glm-5.1",name:"Coding-GLM-5.1",contextWindow:200000,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.06,output:0.22,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-11",family:"glm"},"qwen3.6-flash":{id:"qwen3.6-flash",name:"Qwen3.6 Plus",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.169,output:1.014,cacheRead:0.0169,cacheWrite:0.21125},releaseDate:"2026-04-02",family:"qwen"},"glm-5.1":{id:"glm-5.1",name:"GLM-5.1",contextWindow:200000,maxTokens:128000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.845,output:3.38,cacheRead:0.183112,cacheWrite:0},releaseDate:"2026-03-27",family:"glm"},"coding-minimax-m2.7-free":{id:"coding-minimax-m2.7-free",name:"Coding-MiniMax-M2.7-Free",contextWindow:204800,maxTokens:13100,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-18",family:"minimax"},"minimax-m2.7":{id:"minimax-m2.7",name:"MiniMax-M2.7",contextWindow:200000,maxTokens:128000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2958,output:1.1832,cacheRead:0.05916,cacheWrite:0},releaseDate:"2026-03-18",family:"minimax"},"gpt-5.4":{id:"gpt-5.4",name:"GPT-5.4",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},releaseDate:"2026-03-11",family:"gpt"},"gpt-5.4-mini":{id:"gpt-5.4-mini",name:"GPT-5.4-Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","structured_output","prompt-cache"],pricing:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2026-03-11",family:"gpt-mini"},"gemini-3.1-flash-lite-preview":{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.25,output:1.5,cacheRead:0.25,cacheWrite:0},releaseDate:"2026-03-03",family:"gemini-flash-lite"},"gemini-3.1-pro-preview":{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-19",family:"gemini-pro"},"claude-sonnet-4-6":{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"claude-sonnet-4-6-think":{id:"claude-sonnet-4-6-think",name:"Claude Sonnet 4.6 Think",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"qwen3.5-plus":{id:"qwen3.5-plus",name:"Qwen3.5 Plus",contextWindow:991000,maxTokens:64000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1096,output:0.6576,cacheRead:0.01096,cacheWrite:0.137},releaseDate:"2026-02-16",family:"qwen"},"coding-glm-5-free":{id:"coding-glm-5-free",name:"Coding-GLM-5-Free",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-11",family:"glm"},"glm-5":{id:"glm-5",name:"GLM-5",contextWindow:202752,maxTokens:0,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.88,output:2.816,cacheRead:0.176,cacheWrite:0},releaseDate:"2026-02-11",family:"glm"},"claude-opus-4-6":{id:"claude-opus-4-6",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"claude-opus-4-6-think":{id:"claude-opus-4-6-think",name:"Claude Opus 4.6",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"gpt-5.3-codex":{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-05",family:"gpt-codex"},"gpt-5.2-codex":{id:"gpt-5.2-codex",name:"GPT-5.2-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-01-14",family:"gpt-codex"},"kimi-k2.5":{id:"kimi-k2.5",name:"Kimi K2.5",contextWindow:256000,maxTokens:0,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.6,output:3,cacheRead:0.105,cacheWrite:0},releaseDate:"2026-01",family:"kimi-k2.5"},"minimax-m2.1":{id:"minimax-m2.1",name:"MiniMax-M2.1",contextWindow:204800,maxTokens:192000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.288,output:1.152,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23",family:"minimax"},"gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-12-17",family:"gemini-flash"},"gpt-5.2":{id:"gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt"},"gpt-5.1":{id:"gpt-5.1",name:"GPT-5.1",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-15",family:"gpt"},"gpt-5.1-codex":{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"gpt-5.1-codex-mini":{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"qwen3-max-2026-01-23":{id:"qwen3-max-2026-01-23",name:"Qwen3 Max",contextWindow:252000,maxTokens:32000,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.34246,output:1.36984,cacheRead:0.34246,cacheWrite:0},releaseDate:"2025-09-23",family:"qwen"},"qwen3-coder-next":{id:"qwen3-coder-next",name:"Qwen3 Coder Plus",contextWindow:2000000,maxTokens:64000,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.137,output:0.548,cacheRead:0.137,cacheWrite:0},releaseDate:"2025-07-23",family:"qwen"},"o4-mini":{id:"o4-mini",name:"o4-mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.275,cacheWrite:0},releaseDate:"2025-04-16",family:"o-mini"},"gpt-4.1":{id:"gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt"},"gpt-4.1-mini":{id:"gpt-4.1-mini",name:"GPT-4.1 mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt-mini"},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:2.499,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-03-20",family:"gemini-flash"},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-03-20",family:"gemini-pro"}},anthropic:{"claude-opus-4-7":{id:"claude-opus-4-7",name:"Claude Opus 4.7",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-04-16",family:"claude-opus"},"claude-sonnet-4-6":{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"claude-opus-4-6":{id:"claude-opus-4-6",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"claude-opus-4-5":{id:"claude-opus-4-5",name:"Claude Opus 4.5 (latest)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24",family:"claude-opus"},"claude-opus-4-5-20251101":{id:"claude-opus-4-5-20251101",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-01",family:"claude-opus"},"claude-haiku-4-5":{id:"claude-haiku-4-5",name:"Claude Haiku 4.5 (latest)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"claude-haiku-4-5-20251001":{id:"claude-haiku-4-5-20251001",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"claude-sonnet-4-5":{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5 (latest)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"claude-sonnet-4-5-20250929":{id:"claude-sonnet-4-5-20250929",name:"Claude Sonnet 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"claude-opus-4-1":{id:"claude-opus-4-1",name:"Claude Opus 4.1 (latest)",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05",family:"claude-opus"},"claude-opus-4-1-20250805":{id:"claude-opus-4-1-20250805",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05",family:"claude-opus"},"claude-opus-4-0":{id:"claude-opus-4-0",name:"Claude Opus 4 (latest)",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"claude-opus-4-20250514":{id:"claude-opus-4-20250514",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"claude-sonnet-4-0":{id:"claude-sonnet-4-0",name:"Claude Sonnet 4 (latest)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"claude-sonnet-4-20250514":{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"claude-3-7-sonnet-20250219":{id:"claude-3-7-sonnet-20250219",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19",family:"claude-sonnet"},"claude-3-5-haiku-20241022":{id:"claude-3-5-haiku-20241022",name:"Claude Haiku 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22",family:"claude-haiku"},"claude-3-5-haiku-latest":{id:"claude-3-5-haiku-latest",name:"Claude Haiku 3.5 (latest)",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22",family:"claude-haiku"},"claude-3-5-sonnet-20241022":{id:"claude-3-5-sonnet-20241022",name:"Claude Sonnet 3.5 v2",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22",family:"claude-sonnet"},"claude-3-5-sonnet-20240620":{id:"claude-3-5-sonnet-20240620",name:"Claude Sonnet 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-06-20",family:"claude-sonnet"},"claude-3-haiku-20240307":{id:"claude-3-haiku-20240307",name:"Claude Haiku 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.25,output:1.25,cacheRead:0.03,cacheWrite:0.3},releaseDate:"2024-03-13",family:"claude-haiku"},"claude-3-sonnet-20240229":{id:"claude-3-sonnet-20240229",name:"Claude Sonnet 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:0.3},releaseDate:"2024-03-04",family:"claude-sonnet"},"claude-3-opus-20240229":{id:"claude-3-opus-20240229",name:"Claude Opus 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2024-02-29",family:"claude-opus"}},baseten:{"deepseek-ai/DeepSeek-V4-Pro":{id:"deepseek-ai/DeepSeek-V4-Pro",name:"DeepSeek V4 Pro",contextWindow:1e6,maxTokens:384000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.74,output:3.48,cacheRead:0.15,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek-thinking"},"moonshotai/Kimi-K2.6":{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.95,output:4,cacheRead:0.16,cacheWrite:0},releaseDate:"2026-04-21",family:"kimi-k2.6"},"nvidia/Nemotron-120B-A12B":{id:"nvidia/Nemotron-120B-A12B",name:"Nemotron 3 Super",contextWindow:262144,maxTokens:32678,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:0.75,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11",family:"nemotron"},"MiniMaxAI/MiniMax-M2.5":{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax-M2.5",contextWindow:204000,maxTokens:10200,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12",family:"minimax"},"zai-org/GLM-5":{id:"zai-org/GLM-5",name:"GLM-5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.95,output:3.15,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12",family:"glm"},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-30",family:"kimi"},"zai-org/GLM-4.7":{id:"zai-org/GLM-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-22",family:"glm"},"zai-org/GLM-4.6":{id:"zai-org/GLM-4.6",name:"GLM 4.6",contextWindow:200000,maxTokens:1e4,capabilities:["tools","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-16",family:"glm"},"deepseek-ai/DeepSeek-V3.1":{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1",contextWindow:164000,maxTokens:131000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-25",family:"deepseek"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"deepseek-ai/DeepSeek-V3-0324":{id:"deepseek-ai/DeepSeek-V3-0324",name:"DeepSeek V3 0324",contextWindow:164000,maxTokens:131000,capabilities:["tools","temperature"],pricing:{input:0.77,output:0.77,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-24",family:"deepseek"}},bedrock:{"anthropic.claude-opus-4-7":{id:"anthropic.claude-opus-4-7",name:"Claude Opus 4.7",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-04-16",family:"claude-opus"},"eu.anthropic.claude-opus-4-7":{id:"eu.anthropic.claude-opus-4-7",name:"Claude Opus 4.7 (EU)",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-04-16",family:"claude-opus"},"global.anthropic.claude-opus-4-7":{id:"global.anthropic.claude-opus-4-7",name:"Claude Opus 4.7 (Global)",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-04-16",family:"claude-opus"},"us.anthropic.claude-opus-4-7":{id:"us.anthropic.claude-opus-4-7",name:"Claude Opus 4.7 (US)",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-04-16",family:"claude-opus"},"minimax.minimax-m2.5":{id:"minimax.minimax-m2.5",name:"MiniMax M2.5",contextWindow:196608,maxTokens:98304,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-18",family:"minimax"},"zai.glm-5":{id:"zai.glm-5",name:"GLM-5",contextWindow:202752,maxTokens:101376,capabilities:["tools","reasoning","temperature"],pricing:{input:1,output:3.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-18",family:"glm"},"nvidia.nemotron-super-3-120b":{id:"nvidia.nemotron-super-3-120b",name:"NVIDIA Nemotron 3 Super 120B A12B",contextWindow:262144,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:0.65,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11",family:"nemotron"},"anthropic.claude-sonnet-4-6":{id:"anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"au.anthropic.claude-sonnet-4-6":{id:"au.anthropic.claude-sonnet-4-6",name:"AU Anthropic Claude Sonnet 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:3.3,output:16.5,cacheRead:0.33,cacheWrite:4.125},releaseDate:"2026-02-17",family:"claude-sonnet"},"eu.anthropic.claude-sonnet-4-6":{id:"eu.anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6 (EU)",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"global.anthropic.claude-sonnet-4-6":{id:"global.anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6 (Global)",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"mistral.devstral-2-123b":{id:"mistral.devstral-2-123b",name:"Devstral 2 123B",contextWindow:256000,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-17",family:"devstral"},"us.anthropic.claude-sonnet-4-6":{id:"us.anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6 (US)",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"deepseek.v3.2":{id:"deepseek.v3.2",name:"DeepSeek-V3.2",contextWindow:163840,maxTokens:81920,capabilities:["tools","reasoning","temperature"],pricing:{input:0.62,output:1.85,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-06",family:"deepseek"},"moonshotai.kimi-k2.5":{id:"moonshotai.kimi-k2.5",name:"Kimi K2.5",contextWindow:256000,maxTokens:12800,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-06",family:"kimi"},"qwen.qwen3-coder-next":{id:"qwen.qwen3-coder-next",name:"Qwen3 Coder Next",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.22,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-06",family:"qwen"},"anthropic.claude-opus-4-6-v1":{id:"anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"au.anthropic.claude-opus-4-6-v1":{id:"au.anthropic.claude-opus-4-6-v1",name:"AU Anthropic Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:16.5,output:82.5,cacheRead:1.65,cacheWrite:20.625},releaseDate:"2026-02-05",family:"claude-opus"},"eu.anthropic.claude-opus-4-6-v1":{id:"eu.anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6 (EU)",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"global.anthropic.claude-opus-4-6-v1":{id:"global.anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6 (Global)",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"us.anthropic.claude-opus-4-6-v1":{id:"us.anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6 (US)",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"zai.glm-4.7-flash":{id:"zai.glm-4.7-flash",name:"GLM-4.7-Flash",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.07,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-19",family:"glm-flash"},"minimax.minimax-m2.1":{id:"minimax.minimax-m2.1",name:"MiniMax M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23",family:"minimax"},"nvidia.nemotron-nano-3-30b":{id:"nvidia.nemotron-nano-3-30b",name:"NVIDIA Nemotron Nano 3 30B",contextWindow:128000,maxTokens:4096,capabilities:["tools","reasoning","temperature"],pricing:{input:0.06,output:0.24,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23",family:"nemotron"},"zai.glm-4.7":{id:"zai.glm-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-22",family:"glm"},"mistral.magistral-small-2509":{id:"mistral.magistral-small-2509",name:"Magistral Small 1.2",contextWindow:128000,maxTokens:40000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02",family:"magistral"},"mistral.ministral-3-3b-instruct":{id:"mistral.ministral-3-3b-instruct",name:"Ministral 3 3B",contextWindow:256000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02",family:"ministral"},"mistral.mistral-large-3-675b-instruct":{id:"mistral.mistral-large-3-675b-instruct",name:"Mistral Large 3",contextWindow:256000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02",family:"mistral"},"moonshot.kimi-k2-thinking":{id:"moonshot.kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02",family:"kimi-thinking"},"anthropic.claude-opus-4-5-20251101-v1:0":{id:"anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24",family:"claude-opus"},"eu.anthropic.claude-opus-4-5-20251101-v1:0":{id:"eu.anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5 (EU)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24",family:"claude-opus"},"global.anthropic.claude-opus-4-5-20251101-v1:0":{id:"global.anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5 (Global)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24",family:"claude-opus"},"us.anthropic.claude-opus-4-5-20251101-v1:0":{id:"us.anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5 (US)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24",family:"claude-opus"},"minimax.minimax-m2":{id:"minimax.minimax-m2",name:"MiniMax M2",contextWindow:204608,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-27",family:"minimax"},"anthropic.claude-haiku-4-5-20251001-v1:0":{id:"anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"eu.anthropic.claude-haiku-4-5-20251001-v1:0":{id:"eu.anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5 (EU)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"global.anthropic.claude-haiku-4-5-20251001-v1:0":{id:"global.anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5 (Global)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"us.anthropic.claude-haiku-4-5-20251001-v1:0":{id:"us.anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5 (US)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"qwen.qwen3-vl-235b-a22b":{id:"qwen.qwen3-vl-235b-a22b",name:"Qwen/Qwen3-VL-235B-A22B-Instruct",contextWindow:262000,maxTokens:13100,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.3,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-04",family:"qwen"},"anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"eu.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"eu.anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5 (EU)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"global.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"global.anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5 (Global)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"us.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"us.anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5 (US)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"deepseek.v3-v1:0":{id:"deepseek.v3-v1:0",name:"DeepSeek-V3.1",contextWindow:163840,maxTokens:81920,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.58,output:1.68,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18",family:"deepseek"},"qwen.qwen3-235b-a22b-2507-v1:0":{id:"qwen.qwen3-235b-a22b-2507-v1:0",name:"Qwen3 235B A22B 2507",contextWindow:262144,maxTokens:131072,capabilities:["tools","structured_output","temperature"],pricing:{input:0.22,output:0.88,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18",family:"qwen"},"qwen.qwen3-32b-v1:0":{id:"qwen.qwen3-32b-v1:0",name:"Qwen3 32B (dense)",contextWindow:16384,maxTokens:819,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18",family:"qwen"},"qwen.qwen3-coder-30b-a3b-v1:0":{id:"qwen.qwen3-coder-30b-a3b-v1:0",name:"Qwen3 Coder 30B A3B Instruct",contextWindow:262144,maxTokens:131072,capabilities:["tools","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18",family:"qwen"},"qwen.qwen3-coder-480b-a35b-v1:0":{id:"qwen.qwen3-coder-480b-a35b-v1:0",name:"Qwen3 Coder 480B A35B Instruct",contextWindow:131072,maxTokens:65536,capabilities:["tools","structured_output","temperature"],pricing:{input:0.22,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18",family:"qwen"},"qwen.qwen3-next-80b-a3b":{id:"qwen.qwen3-next-80b-a3b",name:"Qwen/Qwen3-Next-80B-A3B-Instruct",contextWindow:262000,maxTokens:13100,capabilities:["tools","structured_output","temperature"],pricing:{input:0.14,output:1.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18",family:"qwen"},"anthropic.claude-opus-4-1-20250805-v1:0":{id:"anthropic.claude-opus-4-1-20250805-v1:0",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05",family:"claude-opus"},"us.anthropic.claude-opus-4-1-20250805-v1:0":{id:"us.anthropic.claude-opus-4-1-20250805-v1:0",name:"Claude Opus 4.1 (US)",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05",family:"claude-opus"},"google.gemma-3-27b-it":{id:"google.gemma-3-27b-it",name:"Google Gemma 3 27B Instruct",contextWindow:202752,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.12,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-27",family:"gemma"},"mistral.voxtral-small-24b-2507":{id:"mistral.voxtral-small-24b-2507",name:"Voxtral Small 24B 2507",contextWindow:32000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.15,output:0.35,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-01",family:"mistral"},"anthropic.claude-opus-4-20250514-v1:0":{id:"anthropic.claude-opus-4-20250514-v1:0",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"anthropic.claude-sonnet-4-20250514-v1:0":{id:"anthropic.claude-sonnet-4-20250514-v1:0",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"eu.anthropic.claude-sonnet-4-20250514-v1:0":{id:"eu.anthropic.claude-sonnet-4-20250514-v1:0",name:"Claude Sonnet 4 (EU)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"global.anthropic.claude-sonnet-4-20250514-v1:0":{id:"global.anthropic.claude-sonnet-4-20250514-v1:0",name:"Claude Sonnet 4 (Global)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"us.anthropic.claude-opus-4-20250514-v1:0":{id:"us.anthropic.claude-opus-4-20250514-v1:0",name:"Claude Opus 4 (US)",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"us.anthropic.claude-sonnet-4-20250514-v1:0":{id:"us.anthropic.claude-sonnet-4-20250514-v1:0",name:"Claude Sonnet 4 (US)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"writer.palmyra-x4-v1:0":{id:"writer.palmyra-x4-v1:0",name:"Palmyra X4",contextWindow:122880,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:2.5,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-28",family:"palmyra"},"writer.palmyra-x5-v1:0":{id:"writer.palmyra-x5-v1:0",name:"Palmyra X5",contextWindow:1040000,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-28",family:"palmyra"},"mistral.pixtral-large-2502-v1:0":{id:"mistral.pixtral-large-2502-v1:0",name:"Pixtral Large (25.02)",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-08",family:"mistral"},"meta.llama4-maverick-17b-instruct-v1:0":{id:"meta.llama4-maverick-17b-instruct-v1:0",name:"Llama 4 Maverick 17B Instruct",contextWindow:1e6,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:0.24,output:0.97,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05",family:"llama"},"meta.llama4-scout-17b-instruct-v1:0":{id:"meta.llama4-scout-17b-instruct-v1:0",name:"Llama 4 Scout 17B Instruct",contextWindow:3500000,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:0.17,output:0.66,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05",family:"llama"},"anthropic.claude-3-7-sonnet-20250219-v1:0":{id:"anthropic.claude-3-7-sonnet-20250219-v1:0",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19",family:"claude-sonnet"},"deepseek.r1-v1:0":{id:"deepseek.r1-v1:0",name:"DeepSeek-R1",contextWindow:128000,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:1.35,output:5.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-20",family:"deepseek-thinking"},"meta.llama3-3-70b-instruct-v1:0":{id:"meta.llama3-3-70b-instruct-v1:0",name:"Llama 3.3 70B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.72,output:0.72,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06",family:"llama"},"amazon.nova-lite-v1:0":{id:"amazon.nova-lite-v1:0",name:"Nova Lite",contextWindow:300000,maxTokens:8192,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.06,output:0.24,cacheRead:0.015,cacheWrite:0},releaseDate:"2024-12-03",family:"nova-lite"},"amazon.nova-micro-v1:0":{id:"amazon.nova-micro-v1:0",name:"Nova Micro",contextWindow:128000,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.035,output:0.14,cacheRead:0.00875,cacheWrite:0},releaseDate:"2024-12-03",family:"nova-micro"},"amazon.nova-premier-v1:0":{id:"amazon.nova-premier-v1:0",name:"Nova Premier",contextWindow:1e6,maxTokens:16384,capabilities:["images","tools","reasoning","temperature"],pricing:{input:2.5,output:12.5,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-03",family:"nova"},"amazon.nova-pro-v1:0":{id:"amazon.nova-pro-v1:0",name:"Nova Pro",contextWindow:300000,maxTokens:8192,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.8,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2024-12-03",family:"nova-pro"},"amazon.nova-2-lite-v1:0":{id:"amazon.nova-2-lite-v1:0",name:"Nova 2 Lite",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0.33,output:2.75,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"nova"},"google.gemma-3-4b-it":{id:"google.gemma-3-4b-it",name:"Gemma 3 4B IT",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0.04,output:0.08,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"gemma"},"mistral.ministral-3-14b-instruct":{id:"mistral.ministral-3-14b-instruct",name:"Ministral 14B 3.0",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.2,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"ministral"},"mistral.ministral-3-8b-instruct":{id:"mistral.ministral-3-8b-instruct",name:"Ministral 3 8B",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"ministral"},"mistral.voxtral-mini-3b-2507":{id:"mistral.voxtral-mini-3b-2507",name:"Voxtral Mini 3B 2507",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.04,output:0.04,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"mistral"},"nvidia.nemotron-nano-12b-v2":{id:"nvidia.nemotron-nano-12b-v2",name:"NVIDIA Nemotron Nano 12B v2 VL BF16",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"nemotron"},"nvidia.nemotron-nano-9b-v2":{id:"nvidia.nemotron-nano-9b-v2",name:"NVIDIA Nemotron Nano 9B v2",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.06,output:0.23,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"nemotron"},"openai.gpt-oss-120b-1:0":{id:"openai.gpt-oss-120b-1:0",name:"gpt-oss-120b",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"gpt-oss"},"openai.gpt-oss-20b-1:0":{id:"openai.gpt-oss-20b-1:0",name:"gpt-oss-20b",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.07,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"gpt-oss"},"openai.gpt-oss-safeguard-120b":{id:"openai.gpt-oss-safeguard-120b",name:"GPT OSS Safeguard 120B",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"gpt-oss"},"openai.gpt-oss-safeguard-20b":{id:"openai.gpt-oss-safeguard-20b",name:"GPT OSS Safeguard 20B",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.07,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"gpt-oss"},"anthropic.claude-3-5-haiku-20241022-v1:0":{id:"anthropic.claude-3-5-haiku-20241022-v1:0",name:"Claude Haiku 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22",family:"claude-haiku"},"anthropic.claude-3-5-sonnet-20241022-v2:0":{id:"anthropic.claude-3-5-sonnet-20241022-v2:0",name:"Claude Sonnet 3.5 v2",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22",family:"claude-sonnet"},"meta.llama3-2-11b-instruct-v1:0":{id:"meta.llama3-2-11b-instruct-v1:0",name:"Llama 3.2 11B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0.16,output:0.16,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25",family:"llama"},"meta.llama3-2-1b-instruct-v1:0":{id:"meta.llama3-2-1b-instruct-v1:0",name:"Llama 3.2 1B Instruct",contextWindow:131000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25",family:"llama"},"meta.llama3-2-3b-instruct-v1:0":{id:"meta.llama3-2-3b-instruct-v1:0",name:"Llama 3.2 3B Instruct",contextWindow:131000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25",family:"llama"},"meta.llama3-2-90b-instruct-v1:0":{id:"meta.llama3-2-90b-instruct-v1:0",name:"Llama 3.2 90B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0.72,output:0.72,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25",family:"llama"},"meta.llama3-1-405b-instruct-v1:0":{id:"meta.llama3-1-405b-instruct-v1:0",name:"Llama 3.1 405B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:2.4,output:2.4,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23",family:"llama"},"meta.llama3-1-70b-instruct-v1:0":{id:"meta.llama3-1-70b-instruct-v1:0",name:"Llama 3.1 70B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.72,output:0.72,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23",family:"llama"},"meta.llama3-1-8b-instruct-v1:0":{id:"meta.llama3-1-8b-instruct-v1:0",name:"Llama 3.1 8B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.22,output:0.22,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23",family:"llama"},"anthropic.claude-3-5-sonnet-20240620-v1:0":{id:"anthropic.claude-3-5-sonnet-20240620-v1:0",name:"Claude Sonnet 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-06-20",family:"claude-sonnet"},"anthropic.claude-3-haiku-20240307-v1:0":{id:"anthropic.claude-3-haiku-20240307-v1:0",name:"Claude Haiku 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:0.25,output:1.25,cacheRead:0,cacheWrite:0},releaseDate:"2024-03-13",family:"claude-haiku"}},cerebras:{"zai-glm-4.7":{id:"zai-glm-4.7",name:"Z.AI GLM-4.7",contextWindow:131072,maxTokens:40000,capabilities:["tools","temperature"],pricing:{input:2.25,output:2.75,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-10"},"gpt-oss-120b":{id:"gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.25,output:0.69,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"qwen-3-235b-a22b-instruct-2507":{id:"qwen-3-235b-a22b-instruct-2507",name:"Qwen 3 235B Instruct",contextWindow:131000,maxTokens:32000,capabilities:["tools","temperature"],pricing:{input:0.6,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-22",family:"qwen"},"llama3.1-8b":{id:"llama3.1-8b",name:"Llama 3.1 8B",contextWindow:32000,maxTokens:8000,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-01",family:"llama"}},deepseek:{"deepseek-v4-flash":{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",contextWindow:1e6,maxTokens:384000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.14,output:0.28,cacheRead:0.028,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek-flash"},"deepseek-v4-pro":{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",contextWindow:1e6,maxTokens:384000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.74,output:3.48,cacheRead:0.145,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek-thinking"},"deepseek-chat":{id:"deepseek-chat",name:"DeepSeek Chat",contextWindow:1e6,maxTokens:384000,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.14,output:0.28,cacheRead:0.028,cacheWrite:0},releaseDate:"2025-12-01",family:"deepseek"},"deepseek-reasoner":{id:"deepseek-reasoner",name:"DeepSeek Reasoner",contextWindow:1e6,maxTokens:384000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.14,output:0.28,cacheRead:0.028,cacheWrite:0},releaseDate:"2025-12-01",family:"deepseek-thinking"}},fireworks:{"accounts/fireworks/models/deepseek-v4-pro":{id:"accounts/fireworks/models/deepseek-v4-pro",name:"DeepSeek V4 Pro",contextWindow:1e6,maxTokens:384000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.74,output:3.48,cacheRead:0.15,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek-thinking"},"accounts/fireworks/models/kimi-k2p6":{id:"accounts/fireworks/models/kimi-k2p6",name:"Kimi K2.6",contextWindow:262000,maxTokens:13100,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.95,output:4,cacheRead:0.16,cacheWrite:0},releaseDate:"2026-04-17",family:"kimi-thinking"},"accounts/fireworks/models/minimax-m2p7":{id:"accounts/fireworks/models/minimax-m2p7",name:"MiniMax-M2.7",contextWindow:196608,maxTokens:9830,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},releaseDate:"2026-04-12",family:"minimax"},"accounts/fireworks/models/qwen3p6-plus":{id:"accounts/fireworks/models/qwen3p6-plus",name:"Qwen 3.6 Plus",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.5,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-04-04",family:"qwen"},"accounts/fireworks/models/glm-5p1":{id:"accounts/fireworks/models/glm-5p1",name:"GLM 5.1",contextWindow:202800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1.4,output:4.4,cacheRead:0.26,cacheWrite:0},releaseDate:"2026-04-01",family:"glm"},"accounts/fireworks/models/minimax-m2p5":{id:"accounts/fireworks/models/minimax-m2p5",name:"MiniMax-M2.5",contextWindow:196608,maxTokens:9830,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},releaseDate:"2026-02-12",family:"minimax"},"accounts/fireworks/models/glm-5":{id:"accounts/fireworks/models/glm-5",name:"GLM 5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3.2,cacheRead:0.5,cacheWrite:0},releaseDate:"2026-02-11",family:"glm"},"accounts/fireworks/models/kimi-k2p5":{id:"accounts/fireworks/models/kimi-k2p5",name:"Kimi K2.5",contextWindow:256000,maxTokens:12800,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-01-27",family:"kimi-thinking"},"accounts/fireworks/routers/kimi-k2p5-turbo":{id:"accounts/fireworks/routers/kimi-k2p5-turbo",name:"Kimi K2.5 Turbo",contextWindow:256000,maxTokens:12800,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-27",family:"kimi-thinking"},"accounts/fireworks/models/minimax-m2p1":{id:"accounts/fireworks/models/minimax-m2p1",name:"MiniMax-M2.1",contextWindow:200000,maxTokens:1e4,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-12-23",family:"minimax"},"accounts/fireworks/models/glm-4p7":{id:"accounts/fireworks/models/glm-4p7",name:"GLM 4.7",contextWindow:198000,maxTokens:9900,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.2,cacheRead:0.3,cacheWrite:0},releaseDate:"2025-12-22",family:"glm"},"accounts/fireworks/models/deepseek-v3p2":{id:"accounts/fireworks/models/deepseek-v3p2",name:"DeepSeek V3.2",contextWindow:160000,maxTokens:8000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.56,output:1.68,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-12-01",family:"deepseek"},"accounts/fireworks/models/kimi-k2-thinking":{id:"accounts/fireworks/models/kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.5,cacheRead:0.3,cacheWrite:0},releaseDate:"2025-11-06",family:"kimi-thinking"},"accounts/fireworks/models/deepseek-v3p1":{id:"accounts/fireworks/models/deepseek-v3p1",name:"DeepSeek V3.1",contextWindow:163840,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.56,output:1.68,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21",family:"deepseek"},"accounts/fireworks/models/gpt-oss-120b":{id:"accounts/fireworks/models/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"accounts/fireworks/models/gpt-oss-20b":{id:"accounts/fireworks/models/gpt-oss-20b",name:"GPT OSS 20B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.05,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"accounts/fireworks/models/glm-4p5-air":{id:"accounts/fireworks/models/glm-4p5-air",name:"GLM 4.5 Air",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.22,output:0.88,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-01",family:"glm-air"},"accounts/fireworks/models/glm-4p5":{id:"accounts/fireworks/models/glm-4p5",name:"GLM 4.5",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.55,output:2.19,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-29",family:"glm"},"accounts/fireworks/models/kimi-k2-instruct":{id:"accounts/fireworks/models/kimi-k2-instruct",name:"Kimi K2 Instruct",contextWindow:128000,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-11",family:"kimi"}},gemini:{"gemma-4-26b-a4b-it":{id:"gemma-4-26b-a4b-it",name:"Gemma 4 26B",contextWindow:256000,maxTokens:8192,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-02",family:"gemma"},"gemma-4-31b-it":{id:"gemma-4-31b-it",name:"Gemma 4 31B",contextWindow:256000,maxTokens:8192,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-02",family:"gemma"},"gemini-3.1-flash-lite-preview":{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.25,output:1.5,cacheRead:0.025,cacheWrite:1},releaseDate:"2026-03-03",family:"gemini-flash-lite"},"gemini-3.1-pro-preview":{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-19",family:"gemini-pro"},"gemini-3.1-pro-preview-customtools":{id:"gemini-3.1-pro-preview-customtools",name:"Gemini 3.1 Pro Preview Custom Tools",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-19",family:"gemini-pro"},"gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-12-17",family:"gemini-flash"},"gemini-3-pro-preview":{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2025-11-18",family:"gemini-pro"},"gemini-2.5-flash-lite-preview-09-2025":{id:"gemini-2.5-flash-lite-preview-09-2025",name:"Gemini 2.5 Flash Lite Preview 09-25",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-09-25",family:"gemini-flash-lite"},"gemini-2.5-flash-preview-09-2025":{id:"gemini-2.5-flash-preview-09-2025",name:"Gemini 2.5 Flash Preview 09-25",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-09-25",family:"gemini-flash"},"gemini-flash-latest":{id:"gemini-flash-latest",name:"Gemini Flash Latest",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-09-25",family:"gemini-flash"},"gemini-flash-lite-latest":{id:"gemini-flash-lite-latest",name:"Gemini Flash-Lite Latest",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-09-25",family:"gemini-flash-lite"},"gemini-live-2.5-flash":{id:"gemini-live-2.5-flash",name:"Gemini Live 2.5 Flash",contextWindow:128000,maxTokens:8000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.5,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-01",family:"gemini-flash"},"gemini-2.5-flash-lite":{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-06-17",family:"gemini-flash-lite"},"gemini-2.5-flash-lite-preview-06-17":{id:"gemini-2.5-flash-lite-preview-06-17",name:"Gemini 2.5 Flash Lite Preview 06-17",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-06-17",family:"gemini-flash-lite"},"gemini-live-2.5-flash-preview-native-audio":{id:"gemini-live-2.5-flash-preview-native-audio",name:"Gemini Live 2.5 Flash Preview Native Audio",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning"],pricing:{input:0.5,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-17",family:"gemini-flash"},"gemini-2.5-pro-preview-06-05":{id:"gemini-2.5-pro-preview-06-05",name:"Gemini 2.5 Pro Preview 06-05",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-06-05",family:"gemini-pro"},"gemini-2.5-flash-preview-05-20":{id:"gemini-2.5-flash-preview-05-20",name:"Gemini 2.5 Flash Preview 05-20",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.15,output:0.6,cacheRead:0.0375,cacheWrite:0},releaseDate:"2025-05-20",family:"gemini-flash"},"gemini-2.5-pro-preview-05-06":{id:"gemini-2.5-pro-preview-05-06",name:"Gemini 2.5 Pro Preview 05-06",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-05-06",family:"gemini-pro"},"gemini-2.5-flash-preview-04-17":{id:"gemini-2.5-flash-preview-04-17",name:"Gemini 2.5 Flash Preview 04-17",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.15,output:0.6,cacheRead:0.0375,cacheWrite:0},releaseDate:"2025-04-17",family:"gemini-flash"},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-03-20",family:"gemini-flash"},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-03-20",family:"gemini-pro"},"gemma-3-27b-it":{id:"gemma-3-27b-it",name:"Gemma 3 27B",contextWindow:131072,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-12",family:"gemma"},"gemini-2.0-flash":{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2024-12-11",family:"gemini-flash"},"gemini-2.0-flash-lite":{id:"gemini-2.0-flash-lite",name:"Gemini 2.0 Flash Lite",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","structured_output","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-11",family:"gemini-flash-lite"},"gemini-1.5-flash-8b":{id:"gemini-1.5-flash-8b",name:"Gemini 1.5 Flash-8B",contextWindow:1e6,maxTokens:8192,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.0375,output:0.15,cacheRead:0.01,cacheWrite:0},releaseDate:"2024-10-03",family:"gemini-flash"},"gemini-1.5-flash":{id:"gemini-1.5-flash",name:"Gemini 1.5 Flash",contextWindow:1e6,maxTokens:8192,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.075,output:0.3,cacheRead:0.01875,cacheWrite:0},releaseDate:"2024-05-14",family:"gemini-flash"},"gemini-1.5-pro":{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro",contextWindow:1e6,maxTokens:8192,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:1.25,output:5,cacheRead:0.3125,cacheWrite:0},releaseDate:"2024-02-15",family:"gemini-pro"}},groq:{"moonshotai/kimi-k2-instruct-0905":{id:"moonshotai/kimi-k2-instruct-0905",name:"Kimi K2 Instruct 0905",contextWindow:262144,maxTokens:16384,capabilities:["tools","structured_output","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05",family:"kimi"},"groq/compound":{id:"groq/compound",name:"Compound",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-04",family:"groq"},"groq/compound-mini":{id:"groq/compound-mini",name:"Compound Mini",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-04",family:"groq"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"meta-llama/llama-4-scout-17b-16e-instruct":{id:"meta-llama/llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout 17B",contextWindow:131072,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.11,output:0.34,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05",family:"llama"},"openai/gpt-oss-safeguard-20b":{id:"openai/gpt-oss-safeguard-20b",name:"Safety GPT OSS 20B",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.075,output:0.3,cacheRead:0.037,cacheWrite:0},releaseDate:"2025-03-05",family:"gpt-oss"},"qwen/qwen3-32b":{id:"qwen/qwen3-32b",name:"Qwen3 32B",contextWindow:131072,maxTokens:40960,capabilities:["tools","reasoning","temperature"],pricing:{input:0.29,output:0.59,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-23",family:"qwen"},"llama-3.3-70b-versatile":{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B Versatile",contextWindow:131072,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.59,output:0.79,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06",family:"llama"},"llama-3.1-8b-instant":{id:"llama-3.1-8b-instant",name:"Llama 3.1 8B Instant",contextWindow:131072,maxTokens:6553,capabilities:["tools","temperature"],pricing:{input:0.05,output:0.08,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23",family:"llama"}},huggingface:{"deepseek-ai/DeepSeek-V4-Pro":{id:"deepseek-ai/DeepSeek-V4-Pro",name:"DeepSeek V4 Pro",contextWindow:1048576,maxTokens:393216,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.74,output:3.48,cacheRead:0.145,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek-thinking"},"moonshotai/Kimi-K2.6":{id:"moonshotai/Kimi-K2.6",name:"Kimi-K2.6",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.95,output:4,cacheRead:0.16,cacheWrite:0},releaseDate:"2026-04-20",family:"kimi"},"zai-org/GLM-5.1":{id:"zai-org/GLM-5.1",name:"GLM-5.1",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-04-03",family:"glm"},"MiniMaxAI/MiniMax-M2.7":{id:"MiniMaxAI/MiniMax-M2.7",name:"MiniMax-M2.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},releaseDate:"2026-03-18",family:"minimax"},"MiniMaxAI/MiniMax-M2.5":{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax-M2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},releaseDate:"2026-02-12",family:"minimax"},"zai-org/GLM-5":{id:"zai-org/GLM-5",name:"GLM-5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-11",family:"glm"},"Qwen/Qwen3-Coder-Next":{id:"Qwen/Qwen3-Coder-Next",name:"Qwen3-Coder-Next",contextWindow:262144,maxTokens:65536,capabilities:["tools","temperature"],pricing:{input:0.2,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-03",family:"qwen"},"Qwen/Qwen3.5-397B-A17B":{id:"Qwen/Qwen3.5-397B-A17B",name:"Qwen3.5-397B-A17B",contextWindow:262144,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:3.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-01",family:"qwen"},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi-K2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-01-01",family:"kimi"},"MiniMaxAI/MiniMax-M2.1":{id:"MiniMaxAI/MiniMax-M2.1",name:"MiniMax-M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23",family:"minimax"},"zai-org/GLM-4.7":{id:"zai-org/GLM-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-12-22",family:"glm"},"XiaomiMiMo/MiMo-V2-Flash":{id:"XiaomiMiMo/MiMo-V2-Flash",name:"MiMo-V2-Flash",contextWindow:262144,maxTokens:4096,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-16",family:"mimo"},"deepseek-ai/DeepSeek-V3.2":{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek-V3.2",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.28,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-01",family:"deepseek"},"moonshotai/Kimi-K2-Thinking":{id:"moonshotai/Kimi-K2-Thinking",name:"Kimi-K2-Thinking",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06",family:"kimi-thinking"},"Qwen/Qwen3-Next-80B-A3B-Instruct":{id:"Qwen/Qwen3-Next-80B-A3B-Instruct",name:"Qwen3-Next-80B-A3B-Instruct",contextWindow:262144,maxTokens:66536,capabilities:["tools","temperature"],pricing:{input:0.25,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11",family:"qwen"},"Qwen/Qwen3-Next-80B-A3B-Thinking":{id:"Qwen/Qwen3-Next-80B-A3B-Thinking",name:"Qwen3-Next-80B-A3B-Thinking",contextWindow:262144,maxTokens:131072,capabilities:["tools","temperature"],pricing:{input:0.3,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11",family:"qwen"},"moonshotai/Kimi-K2-Instruct-0905":{id:"moonshotai/Kimi-K2-Instruct-0905",name:"Kimi-K2-Instruct-0905",contextWindow:262144,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-04",family:"kimi"},"zai-org/GLM-4.7-Flash":{id:"zai-org/GLM-4.7-Flash",name:"GLM-4.7-Flash",contextWindow:200000,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-08",family:"glm"},"Qwen/Qwen3-235B-A22B-Thinking-2507":{id:"Qwen/Qwen3-235B-A22B-Thinking-2507",name:"Qwen3-235B-A22B-Thinking-2507",contextWindow:262144,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25",family:"qwen"},"Qwen/Qwen3-Coder-480B-A35B-Instruct":{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3-Coder-480B-A35B-Instruct",contextWindow:262144,maxTokens:66536,capabilities:["tools","temperature"],pricing:{input:2,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23",family:"qwen"},"moonshotai/Kimi-K2-Instruct":{id:"moonshotai/Kimi-K2-Instruct",name:"Kimi-K2-Instruct",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-14",family:"kimi"},"deepseek-ai/DeepSeek-R1-0528":{id:"deepseek-ai/DeepSeek-R1-0528",name:"DeepSeek-R1-0528",contextWindow:163840,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:3,output:5,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-28",family:"deepseek-thinking"}},kilo:{"x-ai/grok-4.3":{id:"x-ai/grok-4.3",name:"xAI: Grok 4.3",contextWindow:1e6,maxTokens:4096,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:2.5,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-05-01"},"ibm-granite/granite-4.1-8b":{id:"ibm-granite/granite-4.1-8b",name:"IBM: Granite 4.1 8B",contextWindow:131072,maxTokens:6553,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.05,output:0.1,cacheRead:0.05,cacheWrite:0},releaseDate:"2026-04-30"},"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free":{id:"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free",name:"NVIDIA: Nemotron 3 Nano Omni (free)",contextWindow:256000,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-28"},"openrouter/owl-alpha":{id:"openrouter/owl-alpha",name:"Owl Alpha",contextWindow:1048756,maxTokens:262144,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-28"},"poolside/laguna-m.1:free":{id:"poolside/laguna-m.1:free",name:"Poolside: Laguna M.1 (free)",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-28"},"poolside/laguna-xs.2:free":{id:"poolside/laguna-xs.2:free",name:"Poolside: Laguna XS.2 (free)",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-28"},"~anthropic/claude-haiku-latest":{id:"~anthropic/claude-haiku-latest",name:"Anthropic: Claude Haiku Latest",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2026-04-27"},"~anthropic/claude-sonnet-latest":{id:"~anthropic/claude-sonnet-latest",name:"Anthropic: Claude Sonnet Latest",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-04-27"},"~google/gemini-flash-latest":{id:"~google/gemini-flash-latest",name:"Google: Gemini Flash Latest",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0.08333333333333334},releaseDate:"2026-04-27"},"~google/gemini-pro-latest":{id:"~google/gemini-pro-latest",name:"Google: Gemini Pro Latest",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0.375},releaseDate:"2026-04-27"},"~moonshotai/kimi-latest":{id:"~moonshotai/kimi-latest",name:"MoonshotAI: Kimi Latest",contextWindow:262142,maxTokens:13107,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.74,output:3.49,cacheRead:0.14,cacheWrite:0},releaseDate:"2026-04-27"},"~openai/gpt-latest":{id:"~openai/gpt-latest",name:"OpenAI: GPT Latest",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:5,output:30,cacheRead:0.5,cacheWrite:0},releaseDate:"2026-04-27"},"~openai/gpt-mini-latest":{id:"~openai/gpt-mini-latest",name:"OpenAI: GPT Mini Latest",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2026-04-27"},"qwen/qwen3.5-plus-20260420":{id:"qwen/qwen3.5-plus-20260420",name:"Qwen: Qwen3.5 Plus 2026-04-20",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.4,output:2.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-27"},"qwen/qwen3.6-27b":{id:"qwen/qwen3.6-27b",name:"Qwen: Qwen3.6 27B",contextWindow:256000,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.325,output:3.25,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-27"},"qwen/qwen3.6-flash":{id:"qwen/qwen3.6-flash",name:"Qwen: Qwen3.6 Flash",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.25,output:1.5,cacheRead:0,cacheWrite:0.3125},releaseDate:"2026-04-27"},"qwen/qwen3.6-max-preview":{id:"qwen/qwen3.6-max-preview",name:"Qwen: Qwen3.6 Max Preview",contextWindow:262144,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:1.04,output:6.24,cacheRead:0,cacheWrite:1.3},releaseDate:"2026-04-27"},"deepseek/deepseek-v4-flash":{id:"deepseek/deepseek-v4-flash",name:"DeepSeek: DeepSeek V4 Flash",contextWindow:1048576,maxTokens:384000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.14,output:0.28,cacheRead:0.0028,cacheWrite:0},releaseDate:"2026-04-24"},"deepseek/deepseek-v4-pro":{id:"deepseek/deepseek-v4-pro",name:"DeepSeek: DeepSeek V4 Pro",contextWindow:1048576,maxTokens:384000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.435,output:0.87,cacheRead:0.003625,cacheWrite:0},releaseDate:"2026-04-24"},"openai/gpt-5.5":{id:"openai/gpt-5.5",name:"OpenAI: GPT-5.5",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:5,output:30,cacheRead:0.5,cacheWrite:0},releaseDate:"2026-04-24"},"openai/gpt-5.5-pro":{id:"openai/gpt-5.5-pro",name:"OpenAI: GPT-5.5 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],pricing:{input:30,output:180,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-24"},"inclusionai/ling-2.6-1t:free":{id:"inclusionai/ling-2.6-1t:free",name:"inclusionAI: Ling-2.6-1T (free)",contextWindow:262144,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-23"},"tencent/hy3-preview:free":{id:"tencent/hy3-preview:free",name:"Tencent: Hy3 Preview (free)",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-22"},"xiaomi/mimo-v2.5":{id:"xiaomi/mimo-v2.5",name:"Xiaomi: MiMo-V2.5",contextWindow:1048576,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.4,output:2,cacheRead:0.08,cacheWrite:0},releaseDate:"2026-04-22"},"xiaomi/mimo-v2.5-pro":{id:"xiaomi/mimo-v2.5-pro",name:"Xiaomi: MiMo V2.5 Pro",contextWindow:1048576,maxTokens:128000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-04-22"},"inclusionai/ling-2.6-flash":{id:"inclusionai/ling-2.6-flash",name:"inclusionAI: Ling-2.6 Flash",contextWindow:262144,maxTokens:32768,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.08,output:0.24,cacheRead:0.016,cacheWrite:0},releaseDate:"2026-04-21"},"moonshotai/kimi-k2.6":{id:"moonshotai/kimi-k2.6",name:"MoonshotAI: Kimi K2.6",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.95,output:4,cacheRead:0.16,cacheWrite:0},releaseDate:"2026-04-20"},"~anthropic/claude-opus-latest":{id:"~anthropic/claude-opus-latest",name:"Anthropic: Claude Opus Latest",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-04-16"},"anthropic/claude-opus-4.7":{id:"anthropic/claude-opus-4.7",name:"Anthropic: Claude Opus 4.7",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-04-16"},"anthropic/claude-opus-4.6-fast":{id:"anthropic/claude-opus-4.6-fast",name:"Anthropic: Claude Opus 4.6 (Fast)",contextWindow:1e6,maxTokens:128000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:30,output:150,cacheRead:3,cacheWrite:37.5},releaseDate:"2026-04-07"},"google/gemma-4-26b-a4b-it":{id:"google/gemma-4-26b-a4b-it",name:"Google: Gemma 4 26B A4B",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.12,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-03"},"google/gemma-4-31b-it":{id:"google/gemma-4-31b-it",name:"Google: Gemma 4 31B",contextWindow:262144,maxTokens:131072,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.14,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-02"},"arcee-ai/trinity-large-thinking":{id:"arcee-ai/trinity-large-thinking",name:"Arcee AI: Trinity Large Thinking",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0.22,output:0.85,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-01"},"z-ai/glm-5v-turbo":{id:"z-ai/glm-5v-turbo",name:"Z.ai: GLM 5V Turbo",contextWindow:202752,maxTokens:131072,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.2,output:4,cacheRead:0.24,cacheWrite:0},releaseDate:"2026-04-01"},"x-ai/grok-4.20":{id:"x-ai/grok-4.20",name:"xAI: Grok 4.20",contextWindow:2000000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-31"},"kwaipilot/kat-coder-pro-v2":{id:"kwaipilot/kat-coder-pro-v2",name:"Kwaipilot: KAT-Coder-Pro V2",contextWindow:256000,maxTokens:80000,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},releaseDate:"2026-03-27"},"z-ai/glm-5.1":{id:"z-ai/glm-5.1",name:"Z.ai: GLM 5.1",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:1.26,output:3.96,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-27"},"rekaai/reka-edge":{id:"rekaai/reka-edge",name:"Reka Edge",contextWindow:16384,maxTokens:819,capabilities:["images","tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-20"},"minimax/minimax-m2.7":{id:"minimax/minimax-m2.7",name:"MiniMax: MiniMax M2.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},releaseDate:"2026-03-18",family:"minimax-m2.7"},"xiaomi/mimo-v2-omni":{id:"xiaomi/mimo-v2-omni",name:"Xiaomi: MiMo-V2-Omni",contextWindow:262144,maxTokens:65536,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.4,output:2,cacheRead:0.08,cacheWrite:0},releaseDate:"2026-03-18"},"xiaomi/mimo-v2-pro":{id:"xiaomi/mimo-v2-pro",name:"Xiaomi: MiMo-V2-Pro",contextWindow:1048576,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-18"},"openai/gpt-5.4-mini":{id:"openai/gpt-5.4-mini",name:"OpenAI: GPT-5.4 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2026-03-17"},"openai/gpt-5.4-nano":{id:"openai/gpt-5.4-nano",name:"OpenAI: GPT-5.4 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:0.2,output:1.25,cacheRead:0.02,cacheWrite:0},releaseDate:"2026-03-17"},"mistralai/mistral-small-2603":{id:"mistralai/mistral-small-2603",name:"Mistral: Mistral Small 4",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.15,output:0.6,cacheRead:0.015,cacheWrite:0},releaseDate:"2026-03-16"},"kilo-auto/balanced":{id:"kilo-auto/balanced",name:"Kilo Auto Balanced",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-15"},"kilo-auto/free":{id:"kilo-auto/free",name:"Kilo Auto Free",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-15"},"kilo-auto/frontier":{id:"kilo-auto/frontier",name:"Kilo Auto Frontier",contextWindow:1e6,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-15"},"kilo-auto/small":{id:"kilo-auto/small",name:"Kilo Auto Small",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.05,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-15"},"openrouter/auto":{id:"openrouter/auto",name:"Auto Router",contextWindow:2000000,maxTokens:32768,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-15"},"z-ai/glm-5-turbo":{id:"z-ai/glm-5-turbo",name:"Z.ai: GLM 5 Turbo",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1.2,output:4,cacheRead:0.24,cacheWrite:0},releaseDate:"2026-03-15"},"nvidia/nemotron-3-super-120b-a12b:free":{id:"nvidia/nemotron-3-super-120b-a12b:free",name:"NVIDIA: Nemotron 3 Super (free)",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-12"},"nvidia/nemotron-3-super-120b-a12b":{id:"nvidia/nemotron-3-super-120b-a12b",name:"NVIDIA: Nemotron 3 Super",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1,output:0.5,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-03-11"},"bytedance-seed/seed-2.0-lite":{id:"bytedance-seed/seed-2.0-lite",name:"ByteDance Seed: Seed-2.0-Lite",contextWindow:262144,maxTokens:131072,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.25,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-10"},"qwen/qwen3.5-9b":{id:"qwen/qwen3.5-9b",name:"Qwen: Qwen3.5-9B",contextWindow:256000,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.05,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-10"},"openai/gpt-5.4":{id:"openai/gpt-5.4",name:"OpenAI: GPT-5.4",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],pricing:{input:2.5,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-06"},"openai/gpt-5.4-pro":{id:"openai/gpt-5.4-pro",name:"OpenAI: GPT-5.4 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],pricing:{input:30,output:180,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-06"},"openai/gpt-5.3-chat":{id:"openai/gpt-5.3-chat",name:"OpenAI: GPT-5.3 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools"],pricing:{input:1.75,output:14,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-04"},"google/gemini-3.1-flash-lite-preview":{id:"google/gemini-3.1-flash-lite-preview",name:"Google: Gemini 3.1 Flash Lite Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.25,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-03"},"bytedance-seed/seed-2.0-mini":{id:"bytedance-seed/seed-2.0-mini",name:"ByteDance Seed: Seed-2.0-Mini",contextWindow:262144,maxTokens:131072,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-27"},"google/gemini-3.1-pro-preview-customtools":{id:"google/gemini-3.1-pro-preview-customtools",name:"Google: Gemini 3.1 Pro Preview Custom Tools",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:2,output:12,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-26"},"qwen/qwen3.5-122b-a10b":{id:"qwen/qwen3.5-122b-a10b",name:"Qwen: Qwen3.5-122B-A10B",contextWindow:262144,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.26,output:2.08,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-26"},"qwen/qwen3.5-27b":{id:"qwen/qwen3.5-27b",name:"Qwen: Qwen3.5-27B",contextWindow:262144,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.195,output:1.56,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-26"},"qwen/qwen3.5-35b-a3b":{id:"qwen/qwen3.5-35b-a3b",name:"Qwen: Qwen3.5-35B-A3B",contextWindow:262144,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.1625,output:1.3,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-26"},"qwen/qwen3.5-flash-02-23":{id:"qwen/qwen3.5-flash-02-23",name:"Qwen: Qwen3.5-Flash",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-26"},"openai/gpt-5.3-codex":{id:"openai/gpt-5.3-codex",name:"OpenAI: GPT-5.3-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning"],pricing:{input:1.75,output:14,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-25"},"inception/mercury-2":{id:"inception/mercury-2",name:"Inception: Mercury 2",contextWindow:128000,maxTokens:50000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.25,output:0.75,cacheRead:0.025,cacheWrite:0},releaseDate:"2026-02-24"},"google/gemini-3.1-pro-preview":{id:"google/gemini-3.1-pro-preview",name:"Google: Gemini 3.1 Pro Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:2,output:12,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-19"},"anthropic/claude-sonnet-4.6":{id:"anthropic/claude-sonnet-4.6",name:"Anthropic: Claude Sonnet 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-17"},"qwen/qwen3.5-397b-a17b":{id:"qwen/qwen3.5-397b-a17b",name:"Qwen: Qwen3.5 397B A17B",contextWindow:262144,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.39,output:2.34,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-15"},"qwen/qwen3.5-plus-02-15":{id:"qwen/qwen3.5-plus-02-15",name:"Qwen: Qwen3.5 Plus 2026-02-15",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.26,output:1.56,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-15"},"minimax/minimax-m2.5":{id:"minimax/minimax-m2.5",name:"MiniMax: MiniMax M2.5",contextWindow:196608,maxTokens:9830,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.25,output:1.2,cacheRead:0.029,cacheWrite:0},releaseDate:"2026-02-12"},"z-ai/glm-5":{id:"z-ai/glm-5",name:"Z.ai: GLM 5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.72,output:2.3,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12"},"anthropic/claude-opus-4.6":{id:"anthropic/claude-opus-4.6",name:"Anthropic: Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"qwen/qwen3-coder-next":{id:"qwen/qwen3-coder-next",name:"Qwen: Qwen3 Coder Next",contextWindow:262144,maxTokens:65536,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.12,output:0.75,cacheRead:0.035,cacheWrite:0},releaseDate:"2026-02-02"},"openrouter/free":{id:"openrouter/free",name:"Free Models Router",contextWindow:200000,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-01"},"stepfun/step-3.5-flash":{id:"stepfun/step-3.5-flash",name:"StepFun: Step 3.5 Flash",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1,output:0.3,cacheRead:0.02,cacheWrite:0},releaseDate:"2026-01-29"},"arcee-ai/trinity-large-preview":{id:"arcee-ai/trinity-large-preview",name:"Arcee AI: Trinity Large Preview",contextWindow:131000,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.45,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-28"},"moonshotai/kimi-k2.5":{id:"moonshotai/kimi-k2.5",name:"MoonshotAI: Kimi K2.5",contextWindow:262144,maxTokens:65535,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.45,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-27"},"upstage/solar-pro-3":{id:"upstage/solar-pro-3",name:"Upstage: Solar Pro 3",contextWindow:128000,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-27"},"qwen/qwen3-max-thinking":{id:"qwen/qwen3-max-thinking",name:"Qwen: Qwen3 Max Thinking",contextWindow:262144,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.78,output:3.9,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-23"},"z-ai/glm-4.7-flash":{id:"z-ai/glm-4.7-flash",name:"Z.ai: GLM 4.7 Flash",contextWindow:202752,maxTokens:40551,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.06,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2026-01-19"},"openai/gpt-5.2-codex":{id:"openai/gpt-5.2-codex",name:"OpenAI: GPT-5.2-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-01-14"},"allenai/olmo-3.1-32b-instruct":{id:"allenai/olmo-3.1-32b-instruct",name:"AllenAI: Olmo 3.1 32B Instruct",contextWindow:65536,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-07"},"mistralai/mistral-small-24b-instruct-2501":{id:"mistralai/mistral-small-24b-instruct-2501",name:"Mistral: Mistral Small 3",contextWindow:32768,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.05,output:0.08,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-29"},"bytedance-seed/seed-1.6-flash":{id:"bytedance-seed/seed-1.6-flash",name:"ByteDance Seed: Seed 1.6 Flash",contextWindow:262144,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23"},"minimax/minimax-m2.1":{id:"minimax/minimax-m2.1",name:"MiniMax: MiniMax M2.1",contextWindow:196608,maxTokens:39322,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.27,output:0.95,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-12-23"},"z-ai/glm-4.7":{id:"z-ai/glm-4.7",name:"Z.ai: GLM 4.7",contextWindow:202752,maxTokens:65535,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.38,output:1.98,cacheRead:0.2,cacheWrite:0},releaseDate:"2025-12-22"},"google/gemini-3-flash-preview":{id:"google/gemini-3-flash-preview",name:"Google: Gemini 3 Flash Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0.083333},releaseDate:"2025-12-17"},"mistralai/ministral-14b-2512":{id:"mistralai/ministral-14b-2512",name:"Mistral: Ministral 3 14B 2512",contextWindow:262144,maxTokens:52429,capabilities:["images","tools","temperature"],pricing:{input:0.2,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-16"},"xiaomi/mimo-v2-flash":{id:"xiaomi/mimo-v2-flash",name:"Xiaomi: MiMo-V2-Flash",contextWindow:262144,maxTokens:65536,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.09,output:0.29,cacheRead:0.045,cacheWrite:0},releaseDate:"2025-12-14"},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"OpenAI: GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11"},"openai/gpt-5.2-chat":{id:"openai/gpt-5.2-chat",name:"OpenAI: GPT-5.2 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11"},"openai/gpt-5.2-pro":{id:"openai/gpt-5.2-pro",name:"OpenAI: GPT-5.2 Pro",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],pricing:{input:21,output:168,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-11"},"relace/relace-search":{id:"relace/relace-search",name:"Relace: Relace Search",contextWindow:256000,maxTokens:128000,capabilities:["tools","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-09"},"essentialai/rnj-1-instruct":{id:"essentialai/rnj-1-instruct",name:"EssentialAI: Rnj 1 Instruct",contextWindow:32768,maxTokens:6554,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-05"},"mistralai/ministral-3b-2512":{id:"mistralai/ministral-3b-2512",name:"Mistral: Ministral 3 3B 2512",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02"},"mistralai/ministral-8b-2512":{id:"mistralai/ministral-8b-2512",name:"Mistral: Ministral 3 8B 2512",contextWindow:262144,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02"},"arcee-ai/trinity-mini":{id:"arcee-ai/trinity-mini",name:"Arcee AI: Trinity Mini",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.045,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2025-12"},"deepseek/deepseek-v3.2":{id:"deepseek/deepseek-v3.2",name:"DeepSeek: DeepSeek V3.2",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.26,output:0.38,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-12-01"},"prime-intellect/intellect-3":{id:"prime-intellect/intellect-3",name:"Prime Intellect: INTELLECT-3",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-26"},"anthropic/claude-opus-4.5":{id:"anthropic/claude-opus-4.5",name:"Anthropic: Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"x-ai/grok-4.1-fast":{id:"x-ai/grok-4.1-fast",name:"xAI: Grok 4.1 Fast",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-11-19"},"openai/gpt-5.1":{id:"openai/gpt-5.1",name:"OpenAI: GPT-5.1",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-chat":{id:"openai/gpt-5.1-chat",name:"OpenAI: GPT-5.1 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-codex":{id:"openai/gpt-5.1-codex",name:"OpenAI: GPT-5.1-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-codex-max":{id:"openai/gpt-5.1-codex-max",name:"OpenAI: GPT-5.1-Codex-Max",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-codex-mini":{id:"openai/gpt-5.1-codex-mini",name:"OpenAI: GPT-5.1-Codex-Mini",contextWindow:400000,maxTokens:1e5,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-11-13"},"moonshotai/kimi-k2-thinking":{id:"moonshotai/kimi-k2-thinking",name:"MoonshotAI: Kimi K2 Thinking",contextWindow:131072,maxTokens:65535,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.47,output:2,cacheRead:0.2,cacheWrite:0},releaseDate:"2025-11-06"},"amazon/nova-premier-v1":{id:"amazon/nova-premier-v1",name:"Amazon: Nova Premier 1.0",contextWindow:1e6,maxTokens:32000,capabilities:["images","tools","temperature"],pricing:{input:2.5,output:12.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-01"},"openai/gpt-oss-safeguard-20b":{id:"openai/gpt-oss-safeguard-20b",name:"OpenAI: gpt-oss-safeguard-20b",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.075,output:0.3,cacheRead:0.037,cacheWrite:0},releaseDate:"2025-10-29"},"minimax/minimax-m2":{id:"minimax/minimax-m2",name:"MiniMax: MiniMax M2",contextWindow:196608,maxTokens:9830,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.255,output:1,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-10-23"},"qwen/qwen3-vl-32b-instruct":{id:"qwen/qwen3-vl-32b-instruct",name:"Qwen: Qwen3 VL 32B Instruct",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.104,output:0.416,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-21"},"openai/gpt-5-image-mini":{id:"openai/gpt-5-image-mini",name:"OpenAI: GPT-5 Image Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:2.5,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-16"},"anthropic/claude-haiku-4.5":{id:"anthropic/claude-haiku-4.5",name:"Anthropic: Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"qwen/qwen3-vl-8b-instruct":{id:"qwen/qwen3-vl-8b-instruct",name:"Qwen: Qwen3 VL 8B Instruct",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.08,output:0.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-15"},"qwen/qwen3-vl-8b-thinking":{id:"qwen/qwen3-vl-8b-thinking",name:"Qwen: Qwen3 VL 8B Thinking",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.117,output:1.365,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-15"},"openai/gpt-5-image":{id:"openai/gpt-5-image",name:"OpenAI: GPT-5 Image",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:10,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-14"},"qwen/qwen3-vl-30b-a3b-thinking":{id:"qwen/qwen3-vl-30b-a3b-thinking",name:"Qwen: Qwen3 VL 30B A3B Thinking",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.13,output:1.56,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-11"},"openai/gpt-5-pro":{id:"openai/gpt-5-pro",name:"OpenAI: GPT-5 Pro",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],pricing:{input:15,output:120,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-06"},"qwen/qwen3-vl-30b-a3b-instruct":{id:"qwen/qwen3-vl-30b-a3b-instruct",name:"Qwen: Qwen3 VL 30B A3B Instruct",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.13,output:0.52,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-05"},"z-ai/glm-4.6":{id:"z-ai/glm-4.6",name:"Z.ai: GLM 4.6",contextWindow:204800,maxTokens:10240,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.39,output:1.9,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-09-30"},"z-ai/glm-4.6v":{id:"z-ai/glm-4.6v",name:"Z.ai: GLM 4.6V",contextWindow:131072,maxTokens:6553,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-30"},"anthropic/claude-sonnet-4.5":{id:"anthropic/claude-sonnet-4.5",name:"Anthropic: Claude Sonnet 4.5",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"google/gemini-2.5-flash-lite-preview-09-2025":{id:"google/gemini-2.5-flash-lite-preview-09-2025",name:"Google: Gemini 2.5 Flash Lite Preview 09-2025",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.01,cacheWrite:0.083333},releaseDate:"2025-09-25"},"qwen/qwen3-vl-235b-a22b-thinking":{id:"qwen/qwen3-vl-235b-a22b-thinking",name:"Qwen: Qwen3 VL 235B A22B Thinking",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.26,output:2.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-24"},"qwen/qwen3-vl-235b-a22b-instruct":{id:"qwen/qwen3-vl-235b-a22b-instruct",name:"Qwen: Qwen3 VL 235B A22B Instruct",contextWindow:262144,maxTokens:52429,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.2,output:0.88,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-09-23"},"deepseek/deepseek-v3.1-terminus":{id:"deepseek/deepseek-v3.1-terminus",name:"DeepSeek: DeepSeek V3.1 Terminus",contextWindow:163840,maxTokens:32768,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.21,output:0.79,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-09-22"},"alibaba/tongyi-deepresearch-30b-a3b":{id:"alibaba/tongyi-deepresearch-30b-a3b",name:"Tongyi DeepResearch 30B A3B",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.09,output:0.45,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18"},"openai/gpt-5-codex":{id:"openai/gpt-5-codex",name:"OpenAI: GPT-5 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-09-15"},"mistralai/devstral-2512":{id:"mistralai/devstral-2512",name:"Mistral: Devstral 2 2512",contextWindow:262144,maxTokens:65536,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.4,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-09-12"},"qwen/qwen3-next-80b-a3b-instruct":{id:"qwen/qwen3-next-80b-a3b-instruct",name:"Qwen: Qwen3 Next 80B A3B Instruct",contextWindow:131072,maxTokens:52429,capabilities:["tools","temperature"],pricing:{input:0.09,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11"},"qwen/qwen3-next-80b-a3b-thinking":{id:"qwen/qwen3-next-80b-a3b-thinking",name:"Qwen: Qwen3 Next 80B A3B Thinking",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.0975,output:0.78,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11"},"qwen/qwen-plus-2025-07-28":{id:"qwen/qwen-plus-2025-07-28",name:"Qwen: Qwen Plus 0728",contextWindow:1e6,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.26,output:0.78,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-09"},"qwen/qwen-plus-2025-07-28:thinking":{id:"qwen/qwen-plus-2025-07-28:thinking",name:"Qwen: Qwen Plus 0728 (thinking)",contextWindow:1e6,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.26,output:0.78,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-09"},"moonshotai/kimi-k2-0905":{id:"moonshotai/kimi-k2-0905",name:"MoonshotAI: Kimi K2 0905",contextWindow:131072,maxTokens:26215,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.4,output:2,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-09-05"},"qwen/qwen3-max":{id:"qwen/qwen3-max",name:"Qwen: Qwen3 Max",contextWindow:262144,maxTokens:32768,capabilities:["tools","temperature","prompt-cache"],pricing:{input:1.2,output:6,cacheRead:0.24,cacheWrite:0},releaseDate:"2025-09-05"},"bytedance-seed/seed-1.6":{id:"bytedance-seed/seed-1.6",name:"ByteDance Seed: Seed 1.6",contextWindow:262144,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.25,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-09"},"x-ai/grok-code-fast-1:optimized:free":{id:"x-ai/grok-code-fast-1:optimized:free",name:"xAI: Grok Code Fast 1 Optimized (experimental, free)",contextWindow:256000,maxTokens:1e4,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-27"},"qwen/qwen3.6-plus":{id:"qwen/qwen3.6-plus",name:"Qwen: Qwen3.6 Plus",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.325,output:1.95,cacheRead:0.0325,cacheWrite:0.40625},releaseDate:"2025-08-26"},"stepfun/step-3.5-flash:free":{id:"stepfun/step-3.5-flash:free",name:"StepFun: Step 3.5 Flash (free)",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-26"},"x-ai/grok-code-fast-1":{id:"x-ai/grok-code-fast-1",name:"xAI: Grok Code Fast 1",contextWindow:256000,maxTokens:1e4,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:1.5,cacheRead:0.02,cacheWrite:0},releaseDate:"2025-08-26"},"deepseek/deepseek-chat-v3.1":{id:"deepseek/deepseek-chat-v3.1",name:"DeepSeek: DeepSeek V3.1",contextWindow:32768,maxTokens:7168,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:0.75,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21"},"x-ai/grok-4-fast":{id:"x-ai/grok-4-fast",name:"xAI: Grok 4 Fast",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-08-19"},"nvidia/nemotron-nano-9b-v2":{id:"nvidia/nemotron-nano-9b-v2",name:"NVIDIA: Nemotron Nano 9B V2",contextWindow:131072,maxTokens:26215,capabilities:["tools","reasoning","temperature"],pricing:{input:0.04,output:0.16,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-18"},"openai/gpt-4o-audio-preview":{id:"openai/gpt-4o-audio-preview",name:"OpenAI: GPT-4o Audio",contextWindow:128000,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:2.5,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-15"},"mistralai/mistral-medium-3.1":{id:"mistralai/mistral-medium-3.1",name:"Mistral: Mistral Medium 3.1",contextWindow:131072,maxTokens:26215,capabilities:["images","tools","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-12"},"z-ai/glm-4.5v":{id:"z-ai/glm-4.5v",name:"Z.ai: GLM 4.5V",contextWindow:65536,maxTokens:16384,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:1.8,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-08-11"},"ai21/jamba-large-1.7":{id:"ai21/jamba-large-1.7",name:"AI21: Jamba Large 1.7",contextWindow:256000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:2,output:8,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-09"},"openai/gpt-5":{id:"openai/gpt-5",name:"OpenAI: GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"OpenAI: GPT-5 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-nano":{id:"openai/gpt-5-nano",name:"OpenAI: GPT-5 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:0.05,output:0.4,cacheRead:0.005,cacheWrite:0},releaseDate:"2025-08-07"},"anthropic/claude-opus-4.1":{id:"anthropic/claude-opus-4.1",name:"Anthropic: Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"OpenAI: gpt-oss-120b",contextWindow:131072,maxTokens:26215,capabilities:["tools","reasoning","temperature"],pricing:{input:0.039,output:0.19,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"OpenAI: gpt-oss-20b",contextWindow:131072,maxTokens:26215,capabilities:["tools","reasoning","temperature"],pricing:{input:0.03,output:0.14,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"mistralai/codestral-2508":{id:"mistralai/codestral-2508",name:"Mistral: Codestral 2508",contextWindow:256000,maxTokens:51200,capabilities:["tools","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-01"},"qwen/qwen3-coder-30b-a3b-instruct":{id:"qwen/qwen3-coder-30b-a3b-instruct",name:"Qwen: Qwen3 Coder 30B A3B Instruct",contextWindow:160000,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.07,output:0.27,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-31"},"qwen/qwen3-30b-a3b-instruct-2507":{id:"qwen/qwen3-30b-a3b-instruct-2507",name:"Qwen: Qwen3 30B A3B Instruct 2507",contextWindow:262144,maxTokens:13107,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.09,output:0.3,cacheRead:0.04,cacheWrite:0},releaseDate:"2025-07-29"},"qwen/qwen3-30b-a3b-thinking-2507":{id:"qwen/qwen3-30b-a3b-thinking-2507",name:"Qwen: Qwen3 30B A3B Thinking 2507",contextWindow:32768,maxTokens:6554,capabilities:["tools","reasoning","temperature"],pricing:{input:0.051,output:0.34,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-29"},"z-ai/glm-4.5":{id:"z-ai/glm-4.5",name:"Z.ai: GLM 4.5",contextWindow:131072,maxTokens:98304,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.2,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-07-28"},"z-ai/glm-4.5-air":{id:"z-ai/glm-4.5-air",name:"Z.ai: GLM 4.5 Air",contextWindow:131072,maxTokens:98304,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.13,output:0.85,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-07-28"},"qwen/qwen3-235b-a22b-thinking-2507":{id:"qwen/qwen3-235b-a22b-thinking-2507",name:"Qwen: Qwen3 235B A22B Thinking 2507",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0.11,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25"},"z-ai/glm-4-32b":{id:"z-ai/glm-4-32b",name:"Z.ai: GLM 4 32B ",contextWindow:128000,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25"},"qwen/qwen3-coder":{id:"qwen/qwen3-coder",name:"Qwen: Qwen3 Coder 480B A35B",contextWindow:262144,maxTokens:52429,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.22,output:1,cacheRead:0.022,cacheWrite:0},releaseDate:"2025-07-23"},"qwen/qwen3-coder-flash":{id:"qwen/qwen3-coder-flash",name:"Qwen: Qwen3 Coder Flash",contextWindow:1e6,maxTokens:65536,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.195,output:0.975,cacheRead:0.06,cacheWrite:0},releaseDate:"2025-07-23"},"google/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Google: Gemini 2.5 Flash",contextWindow:1048576,maxTokens:65535,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0.083333},releaseDate:"2025-07-17"},"moonshotai/kimi-k2":{id:"moonshotai/kimi-k2",name:"MoonshotAI: Kimi K2 0711",contextWindow:131000,maxTokens:26215,capabilities:["tools","temperature"],pricing:{input:0.55,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-11"},"mistralai/devstral-medium":{id:"mistralai/devstral-medium",name:"Mistral: Devstral Medium",contextWindow:131072,maxTokens:26215,capabilities:["tools","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-10"},"x-ai/grok-4":{id:"x-ai/grok-4",name:"xAI: Grok 4",contextWindow:256000,maxTokens:51200,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-07-09"},"tngtech/deepseek-r1t2-chimera":{id:"tngtech/deepseek-r1t2-chimera",name:"TNG: DeepSeek R1T2 Chimera",contextWindow:163840,maxTokens:8192,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.25,output:0.85,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-07-08"},"mistralai/voxtral-small-24b-2507":{id:"mistralai/voxtral-small-24b-2507",name:"Mistral: Voxtral Small 24B 2507",contextWindow:32000,maxTokens:6400,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-01"},"qwen/qwen3-coder-plus":{id:"qwen/qwen3-coder-plus",name:"Qwen: Qwen3 Coder Plus",contextWindow:1e6,maxTokens:65536,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.65,output:3.25,cacheRead:0.2,cacheWrite:0},releaseDate:"2025-07-01"},"baidu/ernie-4.5-21b-a3b":{id:"baidu/ernie-4.5-21b-a3b",name:"Baidu: ERNIE 4.5 21B A3B",contextWindow:120000,maxTokens:8000,capabilities:["tools","temperature"],pricing:{input:0.07,output:0.28,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-30"},"baidu/ernie-4.5-vl-28b-a3b":{id:"baidu/ernie-4.5-vl-28b-a3b",name:"Baidu: ERNIE 4.5 VL 28B A3B",contextWindow:30000,maxTokens:8000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.14,output:0.56,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-30"},"mistralai/mistral-small-3.2-24b-instruct":{id:"mistralai/mistral-small-3.2-24b-instruct",name:"Mistral: Mistral Small 3.2 24B",contextWindow:131072,maxTokens:6553,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.06,output:0.18,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-06-20"},"google/gemini-2.5-flash-lite":{id:"google/gemini-2.5-flash-lite",name:"Google: Gemini 2.5 Flash Lite",contextWindow:1048576,maxTokens:65535,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.01,cacheWrite:0.083333},releaseDate:"2025-06-17"},"minimax/minimax-m1":{id:"minimax/minimax-m1",name:"MiniMax: MiniMax M1",contextWindow:1e6,maxTokens:40000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.4,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-17"},"google/gemini-2.5-pro-preview":{id:"google/gemini-2.5-pro-preview",name:"Google: Gemini 2.5 Pro Preview 06-05",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0.375},releaseDate:"2025-06-05"},"deepseek/deepseek-r1-0528":{id:"deepseek/deepseek-r1-0528",name:"DeepSeek: R1 0528",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.45,output:2.15,cacheRead:0.2,cacheWrite:0},releaseDate:"2025-05-28"},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Anthropic: Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Anthropic: Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"mistralai/devstral-small":{id:"mistralai/devstral-small",name:"Mistral: Devstral Small 1.1",contextWindow:131072,maxTokens:26215,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07"},"mistralai/mistral-medium-3":{id:"mistralai/mistral-medium-3",name:"Mistral: Mistral Medium 3",contextWindow:131072,maxTokens:26215,capabilities:["images","tools","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07"},"arcee-ai/virtuoso-large":{id:"arcee-ai/virtuoso-large",name:"Arcee AI: Virtuoso Large",contextWindow:131072,maxTokens:64000,capabilities:["tools","temperature"],pricing:{input:0.75,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-06"},"google/gemini-2.5-pro-preview-05-06":{id:"google/gemini-2.5-pro-preview-05-06",name:"Google: Gemini 2.5 Pro Preview 05-06",contextWindow:1048576,maxTokens:65535,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0.375},releaseDate:"2025-05-06"},"openai/o4-mini-high":{id:"openai/o4-mini-high",name:"OpenAI: o4 Mini High",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning"],pricing:{input:1.1,output:4.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-17"},"openai/o3":{id:"openai/o3",name:"OpenAI: o3",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-16"},"openai/o3-pro":{id:"openai/o3-pro",name:"OpenAI: o3 Pro",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning"],pricing:{input:20,output:80,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-16"},"openai/o4-mini":{id:"openai/o4-mini",name:"OpenAI: o4 Mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.275,cacheWrite:0},releaseDate:"2025-04-16"},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"OpenAI: GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14"},"openai/gpt-4.1-mini":{id:"openai/gpt-4.1-mini",name:"OpenAI: GPT-4.1 Mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14"},"openai/gpt-4.1-nano":{id:"openai/gpt-4.1-nano",name:"OpenAI: GPT-4.1 Nano",contextWindow:1047576,maxTokens:32768,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-04-14"},"meta-llama/llama-4-maverick":{id:"meta-llama/llama-4-maverick",name:"Meta: Llama 4 Maverick",contextWindow:1048576,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05"},"meta-llama/llama-4-scout":{id:"meta-llama/llama-4-scout",name:"Meta: Llama 4 Scout",contextWindow:327680,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:0.08,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05"},"qwen/qwen3-14b":{id:"qwen/qwen3-14b",name:"Qwen: Qwen3 14B",contextWindow:40960,maxTokens:2048,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.06,output:0.24,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-04"},"qwen/qwen3-235b-a22b-2507":{id:"qwen/qwen3-235b-a22b-2507",name:"Qwen: Qwen3 235B A22B Instruct 2507",contextWindow:262144,maxTokens:52429,capabilities:["tools","reasoning","temperature"],pricing:{input:0.071,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-04"},"qwen/qwen3-30b-a3b":{id:"qwen/qwen3-30b-a3b",name:"Qwen: Qwen3 30B A3B",contextWindow:40960,maxTokens:2048,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.08,output:0.28,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-04"},"qwen/qwen3-8b":{id:"qwen/qwen3-8b",name:"Qwen: Qwen3 8B",contextWindow:40960,maxTokens:8192,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.05,output:0.4,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-04"},"deepseek/deepseek-chat-v3-0324":{id:"deepseek/deepseek-chat-v3-0324",name:"DeepSeek: DeepSeek V3 0324",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:0.77,cacheRead:0.095,cacheWrite:0},releaseDate:"2025-03-24"},"google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Google: Gemini 2.5 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0.375},releaseDate:"2025-03-20"},"nvidia/llama-3.3-nemotron-super-49b-v1.5":{id:"nvidia/llama-3.3-nemotron-super-49b-v1.5",name:"NVIDIA: Llama 3.3 Nemotron Super 49B V1.5",contextWindow:131072,maxTokens:26215,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-16"},"google/gemma-3-27b-it":{id:"google/gemma-3-27b-it",name:"Google: Gemma 3 27B",contextWindow:128000,maxTokens:65536,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.03,output:0.11,cacheRead:0.02,cacheWrite:0},releaseDate:"2025-03-12"},"anthropic/claude-3.7-sonnet":{id:"anthropic/claude-3.7-sonnet",name:"Anthropic: Claude 3.7 Sonnet",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19"},"anthropic/claude-3.7-sonnet:thinking":{id:"anthropic/claude-3.7-sonnet:thinking",name:"Anthropic: Claude 3.7 Sonnet (thinking)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19"},"mistralai/mistral-saba":{id:"mistralai/mistral-saba",name:"Mistral: Saba",contextWindow:32768,maxTokens:1638,capabilities:["tools","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-02-17"},"x-ai/grok-3":{id:"x-ai/grok-3",name:"xAI: Grok 3",contextWindow:131072,maxTokens:26215,capabilities:["tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-02-17"},"x-ai/grok-3-beta":{id:"x-ai/grok-3-beta",name:"xAI: Grok 3 Beta",contextWindow:131072,maxTokens:26215,capabilities:["tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-02-17"},"x-ai/grok-3-mini":{id:"x-ai/grok-3-mini",name:"xAI: Grok 3 Mini",contextWindow:131072,maxTokens:26215,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-02-17"},"x-ai/grok-3-mini-beta":{id:"x-ai/grok-3-mini-beta",name:"xAI: Grok 3 Mini Beta",contextWindow:131072,maxTokens:26215,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-02-17"},"openai/o3-mini-high":{id:"openai/o3-mini-high",name:"OpenAI: o3 Mini High",contextWindow:200000,maxTokens:1e5,capabilities:["files","tools","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.55,cacheWrite:0},releaseDate:"2025-01-31"},"deepseek/deepseek-r1":{id:"deepseek/deepseek-r1",name:"DeepSeek: R1",contextWindow:64000,maxTokens:16000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.7,output:2.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-20"},"deepseek/deepseek-v3.2-exp":{id:"deepseek/deepseek-v3.2-exp",name:"DeepSeek: DeepSeek V3.2 Exp",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.27,output:0.41,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-01"},"nex-agi/deepseek-v3.1-nex-n1":{id:"nex-agi/deepseek-v3.1-nex-n1",name:"Nex AGI: DeepSeek V3.1 Nex N1",contextWindow:131072,maxTokens:163840,capabilities:["tools","temperature"],pricing:{input:0.27,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-01"},"openai/o3-mini":{id:"openai/o3-mini",name:"OpenAI: o3 Mini",contextWindow:200000,maxTokens:1e5,capabilities:["files","tools","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.55,cacheWrite:0},releaseDate:"2024-12-20"},"google/gemini-2.0-flash-001":{id:"google/gemini-2.0-flash-001",name:"Google: Gemini 2.0 Flash",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0.083333},releaseDate:"2024-12-11"},"google/gemini-2.0-flash-lite-001":{id:"google/gemini-2.0-flash-lite-001",name:"Google: Gemini 2.0 Flash Lite",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-11"},"amazon/nova-lite-v1":{id:"amazon/nova-lite-v1",name:"Amazon: Nova Lite 1.0",contextWindow:300000,maxTokens:5120,capabilities:["images","tools","temperature"],pricing:{input:0.06,output:0.24,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06"},"amazon/nova-micro-v1":{id:"amazon/nova-micro-v1",name:"Amazon: Nova Micro 1.0",contextWindow:128000,maxTokens:5120,capabilities:["tools","temperature"],pricing:{input:0.035,output:0.14,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06"},"openai/o1":{id:"openai/o1",name:"OpenAI: o1",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","prompt-cache"],pricing:{input:15,output:60,cacheRead:7.5,cacheWrite:0},releaseDate:"2024-12-05"},"amazon/nova-pro-v1":{id:"amazon/nova-pro-v1",name:"Amazon: Nova Pro 1.0",contextWindow:300000,maxTokens:5120,capabilities:["images","tools","temperature"],pricing:{input:0.8,output:3.2,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-03"},"amazon/nova-2-lite-v1":{id:"amazon/nova-2-lite-v1",name:"Amazon: Nova 2 Lite",contextWindow:1e6,maxTokens:65535,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"deepseek/deepseek-chat":{id:"deepseek/deepseek-chat",name:"DeepSeek: DeepSeek V3",contextWindow:163840,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.32,output:0.89,cacheRead:0.15,cacheWrite:0},releaseDate:"2024-12-01"},"nvidia/nemotron-3-nano-30b-a3b":{id:"nvidia/nemotron-3-nano-30b-a3b",name:"NVIDIA: Nemotron 3 Nano 30B A3B",contextWindow:262144,maxTokens:52429,capabilities:["tools","reasoning","temperature"],pricing:{input:0.05,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2024-12"},"qwen/qwen3-235b-a22b":{id:"qwen/qwen3-235b-a22b",name:"Qwen: Qwen3 235B A22B",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.455,output:1.82,cacheRead:0.15,cacheWrite:0},releaseDate:"2024-12-01"},"qwen/qwen3-32b":{id:"qwen/qwen3-32b",name:"Qwen: Qwen3 32B",contextWindow:40960,maxTokens:2048,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.08,output:0.24,cacheRead:0.04,cacheWrite:0},releaseDate:"2024-12-01"},"openai/gpt-4o-2024-11-20":{id:"openai/gpt-4o-2024-11-20",name:"OpenAI: GPT-4o (2024-11-20)",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-11-20"},"mistralai/mistral-large-2407":{id:"mistralai/mistral-large-2407",name:"Mistral Large 2407",contextWindow:131072,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-11-19"},"mistralai/pixtral-large-2411":{id:"mistralai/pixtral-large-2411",name:"Mistral: Pixtral Large 2411",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-11-19"},"thedrummer/unslopnemo-12b":{id:"thedrummer/unslopnemo-12b",name:"TheDrummer: UnslopNemo 12B",contextWindow:32768,maxTokens:1638,capabilities:["tools","temperature"],pricing:{input:0.4,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2024-11-09"},"mistralai/mistral-large-2512":{id:"mistralai/mistral-large-2512",name:"Mistral: Mistral Large 3 2512",contextWindow:262144,maxTokens:52429,capabilities:["images","tools","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2024-11-01"},"qwen/qwen-turbo":{id:"qwen/qwen-turbo",name:"Qwen: Qwen-Turbo",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.0325,output:0.13,cacheRead:0.01,cacheWrite:0},releaseDate:"2024-11-01"},"anthropic/claude-3.5-haiku":{id:"anthropic/claude-3.5-haiku",name:"Anthropic: Claude 3.5 Haiku",contextWindow:200000,maxTokens:8192,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22"},"nvidia/llama-3.1-nemotron-70b-instruct":{id:"nvidia/llama-3.1-nemotron-70b-instruct",name:"NVIDIA: Llama 3.1 Nemotron 70B Instruct",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:1.2,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2024-10-12"},"thedrummer/rocinante-12b":{id:"thedrummer/rocinante-12b",name:"TheDrummer: Rocinante 12B",contextWindow:32768,maxTokens:1638,capabilities:["tools","temperature"],pricing:{input:0.17,output:0.43,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-30"},"qwen/qwen-2.5-72b-instruct":{id:"qwen/qwen-2.5-72b-instruct",name:"Qwen2.5 72B Instruct",contextWindow:32768,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.12,output:0.39,cacheRead:0,cacheWrite:0},releaseDate:"2024-09"},"qwen/qwen-2.5-7b-instruct":{id:"qwen/qwen-2.5-7b-instruct",name:"Qwen: Qwen2.5 7B Instruct",contextWindow:32768,maxTokens:6554,capabilities:["tools","temperature"],pricing:{input:0.04,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2024-09"},"cohere/command-r-08-2024":{id:"cohere/command-r-08-2024",name:"Cohere: Command R (08-2024)",contextWindow:128000,maxTokens:4000,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-08-30"},"cohere/command-r-plus-08-2024":{id:"cohere/command-r-plus-08-2024",name:"Cohere: Command R+ (08-2024)",contextWindow:128000,maxTokens:4000,capabilities:["tools","temperature"],pricing:{input:2.5,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2024-08-30"},"sao10k/l3.1-euryale-70b":{id:"sao10k/l3.1-euryale-70b",name:"Sao10K: Llama 3.1 Euryale 70B v2.2",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.85,output:0.85,cacheRead:0,cacheWrite:0},releaseDate:"2024-08-28"},"openai/gpt-4o-2024-08-06":{id:"openai/gpt-4o-2024-08-06",name:"OpenAI: GPT-4o (2024-08-06)",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-08-06"},"meta-llama/llama-3.3-70b-instruct":{id:"meta-llama/llama-3.3-70b-instruct",name:"Meta: Llama 3.3 70B Instruct",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.32,cacheRead:0,cacheWrite:0},releaseDate:"2024-08-01"},"mistralai/mistral-large":{id:"mistralai/mistral-large",name:"Mistral Large",contextWindow:128000,maxTokens:25600,capabilities:["tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-24"},"mistralai/mistral-large-2411":{id:"mistralai/mistral-large-2411",name:"Mistral Large 2411",contextWindow:131072,maxTokens:26215,capabilities:["tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-24"},"meta-llama/llama-3.1-8b-instruct":{id:"meta-llama/llama-3.1-8b-instruct",name:"Meta: Llama 3.1 8B Instruct",contextWindow:16384,maxTokens:819,capabilities:["tools","temperature"],pricing:{input:0.02,output:0.05,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23"},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"OpenAI: GPT-4o-mini",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.15,output:0.6,cacheRead:0.075,cacheWrite:0},releaseDate:"2024-07-18"},"openai/gpt-4o-mini-2024-07-18":{id:"openai/gpt-4o-mini-2024-07-18",name:"OpenAI: GPT-4o-mini (2024-07-18)",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-18"},"meta-llama/llama-3.1-70b-instruct":{id:"meta-llama/llama-3.1-70b-instruct",name:"Meta: Llama 3.1 70B Instruct",contextWindow:131072,maxTokens:26215,capabilities:["tools","temperature"],pricing:{input:0.4,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-16"},"mistralai/mistral-nemo":{id:"mistralai/mistral-nemo",name:"Mistral: Mistral Nemo",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.02,output:0.04,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-01"},"openai/o3-deep-research":{id:"openai/o3-deep-research",name:"OpenAI: o3 Deep Research",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:10,output:40,cacheRead:2.5,cacheWrite:0},releaseDate:"2024-06-26"},"openai/o4-mini-deep-research":{id:"openai/o4-mini-deep-research",name:"OpenAI: o4 Mini Deep Research",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2024-06-26"},"sao10k/l3-euryale-70b":{id:"sao10k/l3-euryale-70b",name:"Sao10k: Llama 3 Euryale 70B v2.1",contextWindow:8192,maxTokens:409,capabilities:["tools","temperature"],pricing:{input:1.48,output:1.48,cacheRead:0,cacheWrite:0},releaseDate:"2024-06-18"},"openai/gpt-4o":{id:"openai/gpt-4o",name:"OpenAI: GPT-4o",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-05-13"},"openai/gpt-4o-2024-05-13":{id:"openai/gpt-4o-2024-05-13",name:"OpenAI: GPT-4o (2024-05-13)",contextWindow:128000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:5,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2024-05-13"},"meta-llama/llama-3-8b-instruct":{id:"meta-llama/llama-3-8b-instruct",name:"Meta: Llama 3 8B Instruct",contextWindow:8192,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.03,output:0.04,cacheRead:0,cacheWrite:0},releaseDate:"2024-04-25"},"mistralai/mixtral-8x22b-instruct":{id:"mistralai/mixtral-8x22b-instruct",name:"Mistral: Mixtral 8x22B Instruct",contextWindow:65536,maxTokens:13108,capabilities:["tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-04-17"},"qwen/qwen-vl-max":{id:"qwen/qwen-vl-max",name:"Qwen: Qwen VL Max",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.8,output:3.2,cacheRead:0,cacheWrite:0},releaseDate:"2024-04-08"},"qwen/qwen-max":{id:"qwen/qwen-max",name:"Qwen: Qwen-Max ",contextWindow:32768,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:1.04,output:4.16,cacheRead:0.32,cacheWrite:0},releaseDate:"2024-04-03"},"anthropic/claude-3-haiku":{id:"anthropic/claude-3-haiku",name:"Anthropic: Claude 3 Haiku",contextWindow:200000,maxTokens:4096,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.25,output:1.25,cacheRead:0.03,cacheWrite:0.3},releaseDate:"2024-03-07"},"cohere/command-r7b-12-2024":{id:"cohere/command-r7b-12-2024",name:"Cohere: Command R7B (12-2024)",contextWindow:128000,maxTokens:4000,capabilities:["tools","temperature"],pricing:{input:0.0375,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2024-02-27"},"openai/gpt-4-turbo-preview":{id:"openai/gpt-4-turbo-preview",name:"OpenAI: GPT-4 Turbo Preview",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:10,output:30,cacheRead:0,cacheWrite:0},releaseDate:"2024-01-25"},"qwen/qwen-plus":{id:"qwen/qwen-plus",name:"Qwen: Qwen-Plus",contextWindow:1e6,maxTokens:32768,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.4,output:1.2,cacheRead:0.08,cacheWrite:0},releaseDate:"2024-01-25"},"mistralai/mixtral-8x7b-instruct":{id:"mistralai/mixtral-8x7b-instruct",name:"Mistral: Mixtral 8x7B Instruct",contextWindow:32768,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.54,output:0.54,cacheRead:0,cacheWrite:0},releaseDate:"2023-12-10"},"openai/gpt-4-1106-preview":{id:"openai/gpt-4-1106-preview",name:"OpenAI: GPT-4 Turbo (older v1106)",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:10,output:30,cacheRead:0,cacheWrite:0},releaseDate:"2023-11-06"},"openai/gpt-4-turbo":{id:"openai/gpt-4-turbo",name:"OpenAI: GPT-4 Turbo",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:10,output:30,cacheRead:0,cacheWrite:0},releaseDate:"2023-09-13"},"openai/gpt-3.5-turbo-16k":{id:"openai/gpt-3.5-turbo-16k",name:"OpenAI: GPT-3.5 Turbo 16k",contextWindow:16385,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:3,output:4,cacheRead:0,cacheWrite:0},releaseDate:"2023-08-28"},"openai/gpt-3.5-turbo-0613":{id:"openai/gpt-3.5-turbo-0613",name:"OpenAI: GPT-3.5 Turbo (older v0613)",contextWindow:4095,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:1,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2023-06-13"},"openai/gpt-4-0314":{id:"openai/gpt-4-0314",name:"OpenAI: GPT-4 (older v0314)",contextWindow:8191,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:30,output:60,cacheRead:0,cacheWrite:0},releaseDate:"2023-05-28"},"openai/gpt-4":{id:"openai/gpt-4",name:"OpenAI: GPT-4",contextWindow:8191,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:30,output:60,cacheRead:0,cacheWrite:0},releaseDate:"2023-03-14"},"openai/gpt-3.5-turbo":{id:"openai/gpt-3.5-turbo",name:"OpenAI: GPT-3.5 Turbo",contextWindow:16385,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2023-03-01"}},lmstudio:{"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"qwen/qwen3-30b-a3b-2507":{id:"qwen/qwen3-30b-a3b-2507",name:"Qwen3 30B A3B 2507",contextWindow:262144,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-30",family:"qwen"},"qwen/qwen3-coder-30b":{id:"qwen/qwen3-coder-30b",name:"Qwen3 Coder 30B",contextWindow:262144,maxTokens:65536,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23",family:"qwen"}},minimax:{"MiniMax-M2.7":{id:"MiniMax-M2.7",name:"MiniMax-M2.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-03-18",family:"minimax"},"MiniMax-M2.7-highspeed":{id:"MiniMax-M2.7-highspeed",name:"MiniMax-M2.7-highspeed",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.4,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-03-18",family:"minimax"},"MiniMax-M2.5-highspeed":{id:"MiniMax-M2.5-highspeed",name:"MiniMax-M2.5-highspeed",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.4,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-02-13",family:"minimax"},"MiniMax-M2.5":{id:"MiniMax-M2.5",name:"MiniMax-M2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2026-02-12",family:"minimax"},"MiniMax-M2.1":{id:"MiniMax-M2.1",name:"MiniMax-M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23",family:"minimax"},"MiniMax-M2":{id:"MiniMax-M2",name:"MiniMax-M2",contextWindow:196608,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-27",family:"minimax"}},moonshot:{"kimi-k2.6":{id:"kimi-k2.6",name:"Kimi K2.6",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.95,output:4,cacheRead:0.16,cacheWrite:0},releaseDate:"2026-04-21",family:"kimi-k2.6"},"kimi-k2.5":{id:"kimi-k2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-01",family:"kimi-k2.5"},"kimi-k2-thinking":{id:"kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06",family:"kimi-thinking"},"kimi-k2-thinking-turbo":{id:"kimi-k2-thinking-turbo",name:"Kimi K2 Thinking Turbo",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1.15,output:8,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06",family:"kimi-thinking"},"kimi-k2-0905-preview":{id:"kimi-k2-0905-preview",name:"Kimi K2 0905",contextWindow:262144,maxTokens:13107,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-09-05",family:"kimi"},"kimi-k2-turbo-preview":{id:"kimi-k2-turbo-preview",name:"Kimi K2 Turbo",contextWindow:262144,maxTokens:13107,capabilities:["tools","temperature","prompt-cache"],pricing:{input:2.4,output:10,cacheRead:0.6,cacheWrite:0},releaseDate:"2025-09-05",family:"kimi"},"kimi-k2-0711-preview":{id:"kimi-k2-0711-preview",name:"Kimi K2 0711",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-07-14",family:"kimi"}},nebius:{"nvidia/nemotron-3-super-120b-a12b":{id:"nvidia/nemotron-3-super-120b-a12b",name:"Nemotron-3-Super-120B-A12B",contextWindow:256000,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11"},"zai-org/GLM-5":{id:"zai-org/GLM-5",name:"GLM-5",contextWindow:200000,maxTokens:16384,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1,output:3.2,cacheRead:0.1,cacheWrite:1},releaseDate:"2026-03-01"},"MiniMaxAI/MiniMax-M2.1":{id:"MiniMaxAI/MiniMax-M2.1",name:"MiniMax-M2.1",contextWindow:128000,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2026-02-01"},"NousResearch/Hermes-4-405B":{id:"NousResearch/Hermes-4-405B",name:"Hermes-4-405B",contextWindow:128000,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1,output:3,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2026-01-30"},"NousResearch/Hermes-4-70B":{id:"NousResearch/Hermes-4-70B",name:"Hermes-4-70B",contextWindow:128000,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.13,output:0.4,cacheRead:0.013,cacheWrite:0.16},releaseDate:"2026-01-30"},"Qwen/Qwen3-30B-A3B-Instruct-2507":{id:"Qwen/Qwen3-30B-A3B-Instruct-2507",name:"Qwen3-30B-A3B-Instruct-2507",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0.125},releaseDate:"2026-01-28"},"Qwen/Qwen3-30B-A3B-Thinking-2507":{id:"Qwen/Qwen3-30B-A3B-Thinking-2507",name:"Qwen3-30B-A3B-Thinking-2507",contextWindow:128000,maxTokens:16384,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0.125},releaseDate:"2026-01-28"},"Qwen/Qwen3-32B":{id:"Qwen/Qwen3-32B",name:"Qwen3-32B",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0.125},releaseDate:"2026-01-28"},"Qwen/Qwen3-32B-fast":{id:"Qwen/Qwen3-32B-fast",name:"Qwen3-32B (Fast)",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.2,output:0.6,cacheRead:0.02,cacheWrite:0.25},releaseDate:"2026-01-28"},"Qwen/Qwen3-Coder-30B-A3B-Instruct":{id:"Qwen/Qwen3-Coder-30B-A3B-Instruct",name:"Qwen3-Coder-30B-A3B-Instruct",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0.125},releaseDate:"2026-01-28"},"Qwen/Qwen3-Next-80B-A3B-Thinking":{id:"Qwen/Qwen3-Next-80B-A3B-Thinking",name:"Qwen3-Next-80B-A3B-Thinking",contextWindow:128000,maxTokens:16384,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.15,output:1.2,cacheRead:0.015,cacheWrite:0.18},releaseDate:"2026-01-28"},"PrimeIntellect/INTELLECT-3":{id:"PrimeIntellect/INTELLECT-3",name:"INTELLECT-3",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.2,output:1.1,cacheRead:0.02,cacheWrite:0.25},releaseDate:"2026-01-25"},"deepseek-ai/DeepSeek-V3.2":{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek-V3.2",contextWindow:163000,maxTokens:16384,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:0.45,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2026-01-20"},"google/gemma-3-27b-it":{id:"google/gemma-3-27b-it",name:"Gemma-3-27b-it",contextWindow:110000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0.125},releaseDate:"2026-01-20"},"google/gemma-3-27b-it-fast":{id:"google/gemma-3-27b-it-fast",name:"Gemma-3-27b-it (Fast)",contextWindow:110000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.2,output:0.6,cacheRead:0.02,cacheWrite:0.25},releaseDate:"2026-01-20"},"deepseek-ai/DeepSeek-R1-0528":{id:"deepseek-ai/DeepSeek-R1-0528",name:"DeepSeek-R1-0528",contextWindow:128000,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.8,output:2.4,cacheRead:0.08,cacheWrite:1},releaseDate:"2026-01-15"},"zai-org/GLM-4.7-FP8":{id:"zai-org/GLM-4.7-FP8",name:"GLM-4.7 (FP8)",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.4,output:2,cacheRead:0.04,cacheWrite:0.5},releaseDate:"2026-01-15"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"gpt-oss-120b",contextWindow:128000,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.15,output:0.6,cacheRead:0.015,cacheWrite:0.18},releaseDate:"2026-01-10"},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"gpt-oss-20b",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.05,output:0.2,cacheRead:0.005,cacheWrite:0.06},releaseDate:"2026-01-10"},"moonshotai/Kimi-K2-Instruct":{id:"moonshotai/Kimi-K2-Instruct",name:"Kimi-K2-Instruct",contextWindow:200000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.5,output:2.4,cacheRead:0.05,cacheWrite:0.625},releaseDate:"2026-01-05"},"moonshotai/Kimi-K2-Thinking":{id:"moonshotai/Kimi-K2-Thinking",name:"Kimi-K2-Thinking",contextWindow:128000,maxTokens:16384,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.6,output:2.5,cacheRead:0.06,cacheWrite:0.75},releaseDate:"2026-01-05"},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi-K2.5",contextWindow:256000,maxTokens:8192,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.5,output:2.5,cacheRead:0.05,cacheWrite:0.625},releaseDate:"2025-12-15",family:"kimi"},"moonshotai/Kimi-K2.5-fast":{id:"moonshotai/Kimi-K2.5-fast",name:"Kimi-K2.5-fast",contextWindow:256000,maxTokens:8192,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.5,output:2.5,cacheRead:0.05,cacheWrite:0.625},releaseDate:"2025-12-15",family:"kimi"},"meta-llama/Llama-3.3-70B-Instruct":{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama-3.3-70B-Instruct",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.13,output:0.4,cacheRead:0.013,cacheWrite:0.16},releaseDate:"2025-12-05"},"meta-llama/Llama-3.3-70B-Instruct-fast":{id:"meta-llama/Llama-3.3-70B-Instruct-fast",name:"Llama-3.3-70B-Instruct (Fast)",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.25,output:0.75,cacheRead:0.025,cacheWrite:0.31},releaseDate:"2025-12-05"},"zai-org/GLM-4.5":{id:"zai-org/GLM-4.5",name:"GLM-4.5",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.6,output:2.2,cacheRead:0.06,cacheWrite:0.75},releaseDate:"2025-11-15"},"zai-org/GLM-4.5-Air":{id:"zai-org/GLM-4.5-Air",name:"GLM-4.5-Air",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.2,output:1.2,cacheRead:0.02,cacheWrite:0.25},releaseDate:"2025-11-15"},"nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B":{id:"nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",name:"Nemotron-3-Nano-30B-A3B",contextWindow:32000,maxTokens:4096,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.06,output:0.24,cacheRead:0.006,cacheWrite:0.075},releaseDate:"2025-08-10"},"Qwen/Qwen3-235B-A22B-Instruct-2507":{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B A22B Instruct 2507",contextWindow:262144,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25",family:"qwen"},"Qwen/Qwen3-235B-A22B-Thinking-2507":{id:"Qwen/Qwen3-235B-A22B-Thinking-2507",name:"Qwen3 235B A22B Thinking 2507",contextWindow:262144,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25",family:"qwen"},"Qwen/Qwen3-Coder-480B-A35B-Instruct":{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3 Coder 480B A35B Instruct",contextWindow:262144,maxTokens:66536,capabilities:["tools","temperature"],pricing:{input:0.4,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23",family:"qwen"},"deepseek-ai/DeepSeek-V3-0324":{id:"deepseek-ai/DeepSeek-V3-0324",name:"DeepSeek-V3-0324",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.5,output:1.5,cacheRead:0.05,cacheWrite:0.1875},releaseDate:"2025-03-24"},"deepseek-ai/DeepSeek-V3-0324-fast":{id:"deepseek-ai/DeepSeek-V3-0324-fast",name:"DeepSeek-V3-0324 (Fast)",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.75,output:2.25,cacheRead:0.075,cacheWrite:0.28125},releaseDate:"2025-03-24"},"nvidia/Nemotron-Nano-V2-12b":{id:"nvidia/Nemotron-Nano-V2-12b",name:"Nemotron-Nano-V2-12b",contextWindow:32000,maxTokens:4096,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.07,output:0.2,cacheRead:0.007,cacheWrite:0.08},releaseDate:"2025-03-15"},"Qwen/Qwen2.5-VL-72B-Instruct":{id:"Qwen/Qwen2.5-VL-72B-Instruct",name:"Qwen2.5-VL-72B-Instruct",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.25,output:0.75,cacheRead:0.025,cacheWrite:0.31},releaseDate:"2025-01-20"},"nvidia/Llama-3_1-Nemotron-Ultra-253B-v1":{id:"nvidia/Llama-3_1-Nemotron-Ultra-253B-v1",name:"Llama-3.1-Nemotron-Ultra-253B-v1",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.6,output:1.8,cacheRead:0.06,cacheWrite:0.75},releaseDate:"2025-01-15"},"deepseek-ai/DeepSeek-R1-0528-fast":{id:"deepseek-ai/DeepSeek-R1-0528-fast",name:"DeepSeek R1 0528 Fast",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-01",family:"deepseek"},"Qwen/Qwen2.5-Coder-7B-fast":{id:"Qwen/Qwen2.5-Coder-7B-fast",name:"Qwen2.5-Coder-7B (Fast)",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.03,output:0.09,cacheRead:0.003,cacheWrite:0.03},releaseDate:"2024-09-19"},"meta-llama/Meta-Llama-3.1-8B-Instruct":{id:"meta-llama/Meta-Llama-3.1-8B-Instruct",name:"Meta-Llama-3.1-8B-Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.02,output:0.06,cacheRead:0.002,cacheWrite:0.025},releaseDate:"2024-07-23"},"meta-llama/Meta-Llama-3.1-8B-Instruct-fast":{id:"meta-llama/Meta-Llama-3.1-8B-Instruct-fast",name:"Meta-Llama-3.1-8B-Instruct (Fast)",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.03,output:0.09,cacheRead:0.003,cacheWrite:0.03},releaseDate:"2024-07-23"}},ollama:{"deepseek-v4-flash":{id:"deepseek-v4-flash",name:"deepseek-v4-flash",contextWindow:1048576,maxTokens:52428,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek-flash"},"deepseek-v4-pro":{id:"deepseek-v4-pro",name:"deepseek-v4-pro",contextWindow:1048576,maxTokens:52428,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek-thinking"},"kimi-k2.6:cloud":{id:"kimi-k2.6:cloud",name:"kimi-k2.6:cloud",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-20",family:"kimi"},"gemma4:31b":{id:"gemma4:31b",name:"gemma4:31b",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-02",family:"gemma"},"glm-5.1":{id:"glm-5.1",name:"glm-5.1",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-27",family:"glm"},"minimax-m2.7":{id:"minimax-m2.7",name:"minimax-m2.7",contextWindow:196608,maxTokens:9830,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-18",family:"minimax"},"nemotron-3-super":{id:"nemotron-3-super",name:"nemotron-3-super",contextWindow:262144,maxTokens:65536,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11",family:"nemotron"},"qwen3.5:397b":{id:"qwen3.5:397b",name:"qwen3.5:397b",contextWindow:262144,maxTokens:65536,capabilities:["images","tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-15",family:"qwen"},"minimax-m2.5":{id:"minimax-m2.5",name:"minimax-m2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12",family:"minimax"},"glm-5":{id:"glm-5",name:"glm-5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-11",family:"glm"},"qwen3-coder-next":{id:"qwen3-coder-next",name:"qwen3-coder-next",contextWindow:262144,maxTokens:65536,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-02",family:"qwen"},"kimi-k2.5":{id:"kimi-k2.5",name:"kimi-k2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-27",family:"kimi"},"minimax-m2.1":{id:"minimax-m2.1",name:"minimax-m2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23",family:"minimax"},"glm-4.7":{id:"glm-4.7",name:"glm-4.7",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-22",family:"glm"},"gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"gemini-3-flash-preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-17",family:"gemini-flash"},"nemotron-3-nano:30b":{id:"nemotron-3-nano:30b",name:"nemotron-3-nano:30b",contextWindow:1048576,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-15",family:"nemotron"},"devstral-2:123b":{id:"devstral-2:123b",name:"devstral-2:123b",contextWindow:262144,maxTokens:13107,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-09",family:"devstral"},"devstral-small-2:24b":{id:"devstral-small-2:24b",name:"devstral-small-2:24b",contextWindow:262144,maxTokens:13107,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-09",family:"devstral"},"rnj-1:8b":{id:"rnj-1:8b",name:"rnj-1:8b",contextWindow:32768,maxTokens:4096,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-06",family:"rnj"},"mistral-large-3:675b":{id:"mistral-large-3:675b",name:"mistral-large-3:675b",contextWindow:262144,maxTokens:13107,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02",family:"mistral-large"},"cogito-2.1:671b":{id:"cogito-2.1:671b",name:"cogito-2.1:671b",contextWindow:163840,maxTokens:32000,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-19",family:"cogito"},"kimi-k2-thinking":{id:"kimi-k2-thinking",name:"kimi-k2-thinking",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-06",family:"kimi-thinking"},"minimax-m2":{id:"minimax-m2",name:"minimax-m2",contextWindow:204800,maxTokens:128000,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-23",family:"minimax"},"glm-4.6":{id:"glm-4.6",name:"glm-4.6",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-29",family:"glm"},"qwen3-vl:235b":{id:"qwen3-vl:235b",name:"qwen3-vl:235b",contextWindow:262144,maxTokens:32768,capabilities:["images","tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-22",family:"qwen"},"qwen3-vl:235b-instruct":{id:"qwen3-vl:235b-instruct",name:"qwen3-vl:235b-instruct",contextWindow:262144,maxTokens:131072,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-22",family:"qwen"},"qwen3-next:80b":{id:"qwen3-next:80b",name:"qwen3-next:80b",contextWindow:262144,maxTokens:32768,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-15",family:"qwen"},"deepseek-v3.1:671b":{id:"deepseek-v3.1:671b",name:"deepseek-v3.1:671b",contextWindow:163840,maxTokens:8192,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21",family:"deepseek"},"gpt-oss:120b":{id:"gpt-oss:120b",name:"gpt-oss:120b",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"gpt-oss:20b":{id:"gpt-oss:20b",name:"gpt-oss:20b",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"qwen3-coder:480b":{id:"qwen3-coder:480b",name:"qwen3-coder:480b",contextWindow:262144,maxTokens:65536,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-22",family:"qwen"},"kimi-k2:1t":{id:"kimi-k2:1t",name:"kimi-k2:1t",contextWindow:262144,maxTokens:13107,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-11",family:"kimi"},"deepseek-v3.2":{id:"deepseek-v3.2",name:"deepseek-v3.2",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-15",family:"deepseek"},"ministral-3:14b":{id:"ministral-3:14b",name:"ministral-3:14b",contextWindow:262144,maxTokens:128000,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"ministral"},"ministral-3:8b":{id:"ministral-3:8b",name:"ministral-3:8b",contextWindow:262144,maxTokens:128000,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"ministral"},"ministral-3:3b":{id:"ministral-3:3b",name:"ministral-3:3b",contextWindow:262144,maxTokens:128000,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-10-22",family:"ministral"}},"openai-native":{"gpt-5.5":{id:"gpt-5.5",name:"GPT-5.5",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:5,output:30,cacheRead:0.5,cacheWrite:0},releaseDate:"2026-04-23",family:"gpt"},"gpt-5.5-pro":{id:"gpt-5.5-pro",name:"GPT-5.5 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output"],pricing:{input:30,output:180,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-23",family:"gpt-pro"},"gpt-5.4-mini":{id:"gpt-5.4-mini",name:"GPT-5.4 mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2026-03-17",family:"gpt-mini"},"gpt-5.4-nano":{id:"gpt-5.4-nano",name:"GPT-5.4 nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.2,output:1.25,cacheRead:0.02,cacheWrite:0},releaseDate:"2026-03-17",family:"gpt-nano"},"gpt-5.4":{id:"gpt-5.4",name:"GPT-5.4",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},releaseDate:"2026-03-05",family:"gpt"},"gpt-5.4-pro":{id:"gpt-5.4-pro",name:"GPT-5.4 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","tools","reasoning"],pricing:{input:30,output:180,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-05",family:"gpt-pro"},"gpt-5.3-chat-latest":{id:"gpt-5.3-chat-latest",name:"GPT-5.3 Chat (latest)",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-03-03",family:"gpt"},"gpt-5.3-codex":{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-05",family:"gpt-codex"},"gpt-5.3-codex-spark":{id:"gpt-5.3-codex-spark",name:"GPT-5.3 Codex Spark",contextWindow:128000,maxTokens:32000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-05",family:"gpt-codex-spark"},"gpt-5.2":{id:"gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt"},"gpt-5.2-chat-latest":{id:"gpt-5.2-chat-latest",name:"GPT-5.2 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt-codex"},"gpt-5.2-codex":{id:"gpt-5.2-codex",name:"GPT-5.2 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt-codex"},"gpt-5.2-pro":{id:"gpt-5.2-pro",name:"GPT-5.2 Pro",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning"],pricing:{input:21,output:168,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt-pro"},"gpt-5.1":{id:"gpt-5.1",name:"GPT-5.1",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt"},"gpt-5.1-chat-latest":{id:"gpt-5.1-chat-latest",name:"GPT-5.1 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"gpt-5.1-codex":{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"gpt-5.1-codex-max":{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"gpt-5.1-codex-mini":{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"gpt-5-pro":{id:"gpt-5-pro",name:"GPT-5 Pro",contextWindow:400000,maxTokens:272000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:15,output:120,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-06",family:"gpt-pro"},"gpt-5-codex":{id:"gpt-5-codex",name:"GPT-5-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-09-15",family:"gpt-codex"},"gpt-5":{id:"gpt-5",name:"GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"gpt-5-mini":{id:"gpt-5-mini",name:"GPT-5 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt-mini"},"gpt-5-nano":{id:"gpt-5-nano",name:"GPT-5 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.05,output:0.4,cacheRead:0.005,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt-nano"},"o3-pro":{id:"o3-pro",name:"o3-pro",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:20,output:80,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-10",family:"o-pro"},o3:{id:"o3",name:"o3",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-16",family:"o"},"o4-mini":{id:"o4-mini",name:"o4-mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-04-16",family:"o-mini"},"gpt-4.1":{id:"gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt"},"gpt-4.1-mini":{id:"gpt-4.1-mini",name:"GPT-4.1 mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt-mini"},"gpt-4.1-nano":{id:"gpt-4.1-nano",name:"GPT-4.1 nano",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt-nano"},"o1-pro":{id:"o1-pro",name:"o1-pro",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:150,output:600,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-19",family:"o-pro"},"o3-mini":{id:"o3-mini",name:"o3-mini",contextWindow:200000,maxTokens:1e5,capabilities:["tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.55,cacheWrite:0},releaseDate:"2024-12-20",family:"o-mini"},o1:{id:"o1",name:"o1",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:15,output:60,cacheRead:7.5,cacheWrite:0},releaseDate:"2024-12-05",family:"o"},"gpt-4o-2024-11-20":{id:"gpt-4o-2024-11-20",name:"GPT-4o (2024-11-20)",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-11-20",family:"gpt"},"gpt-4o-2024-08-06":{id:"gpt-4o-2024-08-06",name:"GPT-4o (2024-08-06)",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-08-06",family:"gpt"},"gpt-4o-mini":{id:"gpt-4o-mini",name:"GPT-4o mini",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.15,output:0.6,cacheRead:0.08,cacheWrite:0},releaseDate:"2024-07-18",family:"gpt-mini"},"o3-deep-research":{id:"o3-deep-research",name:"o3-deep-research",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:10,output:40,cacheRead:2.5,cacheWrite:0},releaseDate:"2024-06-26",family:"o"},"o4-mini-deep-research":{id:"o4-mini-deep-research",name:"o4-mini-deep-research",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2024-06-26",family:"o-mini"},"gpt-4o":{id:"gpt-4o",name:"GPT-4o",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-05-13",family:"gpt"},"gpt-4o-2024-05-13":{id:"gpt-4o-2024-05-13",name:"GPT-4o (2024-05-13)",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","structured_output","temperature"],pricing:{input:5,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2024-05-13",family:"gpt"},"gpt-4":{id:"gpt-4",name:"GPT-4",contextWindow:8192,maxTokens:409,capabilities:["tools","temperature"],pricing:{input:30,output:60,cacheRead:0,cacheWrite:0},releaseDate:"2023-11-06",family:"gpt"},"gpt-4-turbo":{id:"gpt-4-turbo",name:"GPT-4 Turbo",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:10,output:30,cacheRead:0,cacheWrite:0},releaseDate:"2023-11-06",family:"gpt"}},openrouter:{"x-ai/grok-4.3":{id:"x-ai/grok-4.3",name:"Grok 4.3",contextWindow:1e6,maxTokens:50000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:2.5,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-05-01",family:"grok"},"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free":{id:"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free",name:"Nemotron 3 Nano Omni (free)",contextWindow:256000,maxTokens:65536,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-28",family:"nemotron"},"openrouter/owl-alpha":{id:"openrouter/owl-alpha",name:"Owl Alpha",contextWindow:1048756,maxTokens:262144,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-28"},"poolside/laguna-m.1:free":{id:"poolside/laguna-m.1:free",name:"Laguna M.1",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-28"},"poolside/laguna-xs.2:free":{id:"poolside/laguna-xs.2:free",name:"Laguna XS.2",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-28"},"deepseek/deepseek-v4-flash":{id:"deepseek/deepseek-v4-flash",name:"DeepSeek V4 Flash",contextWindow:1048576,maxTokens:393216,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.14,output:0.28,cacheRead:0.028,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek-flash"},"deepseek/deepseek-v4-pro":{id:"deepseek/deepseek-v4-pro",name:"DeepSeek V4 Pro",contextWindow:1048576,maxTokens:393216,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.74,output:3.48,cacheRead:0.145,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek-thinking"},"openai/gpt-5.5":{id:"openai/gpt-5.5",name:"GPT-5.5",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:5,output:30,cacheRead:0.5,cacheWrite:0},releaseDate:"2026-04-23",family:"gpt"},"openai/gpt-5.5-pro":{id:"openai/gpt-5.5-pro",name:"GPT-5.5 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output"],pricing:{input:30,output:180,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-23",family:"gpt-pro"},"qwen/qwen-3.6-27b":{id:"qwen/qwen-3.6-27b",name:"Qwen3.6 27B",contextWindow:262144,maxTokens:81920,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.195,output:1.56,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-22",family:"qwen"},"xiaomi/mimo-v2.5":{id:"xiaomi/mimo-v2.5",name:"MiMo-V2.5",contextWindow:1048576,maxTokens:131072,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.4,output:2,cacheRead:0.08,cacheWrite:0},releaseDate:"2026-04-22",family:"mimo"},"xiaomi/mimo-v2.5-pro":{id:"xiaomi/mimo-v2.5-pro",name:"MiMo-V2.5-Pro",contextWindow:1048576,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-04-22",family:"mimo"},"openrouter/pareto-code":{id:"openrouter/pareto-code",name:"Pareto Code Router",contextWindow:200000,maxTokens:1e4,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-21"},"moonshotai/kimi-k2.6":{id:"moonshotai/kimi-k2.6",name:"Kimi K2.6",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.95,output:4,cacheRead:0.16,cacheWrite:0},releaseDate:"2026-04-20",family:"kimi"},"anthropic/claude-opus-4.7":{id:"anthropic/claude-opus-4.7",name:"Claude Opus 4.7",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-04-16",family:"claude-opus"},"openrouter/elephant-alpha":{id:"openrouter/elephant-alpha",name:"Elephant (free)",contextWindow:262144,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-13",family:"elephant"},"z-ai/glm-5.1":{id:"z-ai/glm-5.1",name:"GLM-5.1",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.4,output:4.4,cacheRead:0.26,cacheWrite:0},releaseDate:"2026-04-07",family:"glm"},"google/gemma-4-26b-a4b-it":{id:"google/gemma-4-26b-a4b-it",name:"Gemma 4 26B A4B",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.13,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-03",family:"gemma"},"google/gemma-4-26b-a4b-it:free":{id:"google/gemma-4-26b-a4b-it:free",name:"Gemma 4 26B A4B (free)",contextWindow:262144,maxTokens:32768,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-03",family:"gemma"},"google/gemma-4-31b-it":{id:"google/gemma-4-31b-it",name:"Gemma 4 31B",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.14,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-02",family:"gemma"},"google/gemma-4-31b-it:free":{id:"google/gemma-4-31b-it:free",name:"Gemma 4 31B (free)",contextWindow:262144,maxTokens:32768,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-02",family:"gemma"},"qwen/qwen3.6-plus":{id:"qwen/qwen3.6-plus",name:"Qwen3.6 Plus",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.325,output:1.95,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-02",family:"qwen"},"arcee-ai/trinity-large-thinking":{id:"arcee-ai/trinity-large-thinking",name:"Trinity Large Thinking",contextWindow:262144,maxTokens:80000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.22,output:0.85,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-01",family:"trinity"},"minimax/minimax-m2.7":{id:"minimax/minimax-m2.7",name:"MiniMax M2.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-03-18",family:"minimax"},"xiaomi/mimo-v2-omni":{id:"xiaomi/mimo-v2-omni",name:"MiMo-V2-Omni",contextWindow:262144,maxTokens:65536,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.4,output:2,cacheRead:0.08,cacheWrite:0},releaseDate:"2026-03-18",family:"mimo"},"xiaomi/mimo-v2-pro":{id:"xiaomi/mimo-v2-pro",name:"MiMo-V2-Pro",contextWindow:1048576,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1,output:3,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-18",family:"mimo"},"openai/gpt-5.4-mini":{id:"openai/gpt-5.4-mini",name:"GPT-5.4 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2026-03-17",family:"gpt-mini"},"openai/gpt-5.4-nano":{id:"openai/gpt-5.4-nano",name:"GPT-5.4 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.2,output:1.25,cacheRead:0.02,cacheWrite:0},releaseDate:"2026-03-17",family:"gpt-nano"},"mistralai/mistral-small-2603":{id:"mistralai/mistral-small-2603",name:"Mistral Small 4",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-16",family:"mistral-small"},"z-ai/glm-5-turbo":{id:"z-ai/glm-5-turbo",name:"GLM-5-Turbo",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.96,output:3.2,cacheRead:0.192,cacheWrite:0},releaseDate:"2026-03-16",family:"glm"},"x-ai/grok-4.20-beta":{id:"x-ai/grok-4.20-beta",name:"Grok 4.20 Beta",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-12",family:"grok"},"nvidia/nemotron-3-super-120b-a12b":{id:"nvidia/nemotron-3-super-120b-a12b",name:"Nemotron 3 Super",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.5,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11",family:"nemotron"},"nvidia/nemotron-3-super-120b-a12b:free":{id:"nvidia/nemotron-3-super-120b-a12b:free",name:"Nemotron 3 Super (free)",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11",family:"nemotron"},"openai/gpt-5.4":{id:"openai/gpt-5.4",name:"GPT-5.4",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},releaseDate:"2026-03-05",family:"gpt"},"openai/gpt-5.4-pro":{id:"openai/gpt-5.4-pro",name:"GPT-5.4 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:30,output:180,cacheRead:30,cacheWrite:0},releaseDate:"2026-03-05",family:"gpt-pro"},"inception/mercury-2":{id:"inception/mercury-2",name:"Mercury 2",contextWindow:128000,maxTokens:50000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.25,output:0.75,cacheRead:0.025,cacheWrite:0},releaseDate:"2026-03-04",family:"mercury"},"google/gemini-3.1-flash-lite-preview":{id:"google/gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.25,output:1.5,cacheRead:0.025,cacheWrite:0.083},releaseDate:"2026-03-03",family:"gemini-flash-lite"},"qwen/qwen3.5-flash-02-23":{id:"qwen/qwen3.5-flash-02-23",name:"Qwen: Qwen3.5-Flash",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.065,output:0.26,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-25",family:"qwen"},"openai/gpt-5.3-codex":{id:"openai/gpt-5.3-codex",name:"GPT-5.3-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-24",family:"gpt-codex"},"google/gemini-3.1-pro-preview":{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:2,output:12,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-19",family:"gemini-pro"},"google/gemini-3.1-pro-preview-customtools":{id:"google/gemini-3.1-pro-preview-customtools",name:"Gemini 3.1 Pro Preview Custom Tools",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:2,output:12,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-19",family:"gemini-pro"},"anthropic/claude-sonnet-4.6":{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"qwen/qwen3.5-397b-a17b":{id:"qwen/qwen3.5-397b-a17b",name:"Qwen3.5 397B A17B",contextWindow:262144,maxTokens:65536,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:3.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-16",family:"qwen"},"qwen/qwen3.5-plus-02-15":{id:"qwen/qwen3.5-plus-02-15",name:"Qwen3.5 Plus 2026-02-15",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.4,output:2.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-16",family:"qwen"},"minimax/minimax-m2.5":{id:"minimax/minimax-m2.5",name:"MiniMax M2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},releaseDate:"2026-02-12",family:"minimax"},"minimax/minimax-m2.5:free":{id:"minimax/minimax-m2.5:free",name:"MiniMax M2.5 (free)",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12",family:"minimax"},"z-ai/glm-5":{id:"z-ai/glm-5",name:"GLM-5",contextWindow:202752,maxTokens:131000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-12",family:"glm"},"anthropic/claude-opus-4.6":{id:"anthropic/claude-opus-4.6",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"openrouter/free":{id:"openrouter/free",name:"Free Models Router",contextWindow:200000,maxTokens:8000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-01"},"stepfun/step-3.5-flash":{id:"stepfun/step-3.5-flash",name:"Step 3.5 Flash",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1,output:0.3,cacheRead:0.02,cacheWrite:0},releaseDate:"2026-01-29",family:"step"},"arcee-ai/trinity-large-preview:free":{id:"arcee-ai/trinity-large-preview:free",name:"Trinity Large Preview",contextWindow:131072,maxTokens:6553,capabilities:["tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-28",family:"trinity"},"moonshotai/kimi-k2.5":{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-01-27",family:"kimi"},"z-ai/glm-4.7-flash":{id:"z-ai/glm-4.7-flash",name:"GLM-4.7-Flash",contextWindow:200000,maxTokens:65535,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.07,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-19",family:"glm"},"openai/gpt-5.2-codex":{id:"openai/gpt-5.2-codex",name:"GPT-5.2-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-01-14",family:"gpt-codex"},"minimax/minimax-m2.1":{id:"minimax/minimax-m2.1",name:"MiniMax M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23",family:"minimax"},"z-ai/glm-4.7":{id:"z-ai/glm-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-12-22",family:"glm"},"google/gemini-3-flash-preview":{id:"google/gemini-3-flash-preview",name:"Gemini 3 Flash Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-12-17",family:"gemini-flash"},"nvidia/nemotron-3-nano-30b-a3b:free":{id:"nvidia/nemotron-3-nano-30b-a3b:free",name:"Nemotron 3 Nano 30B A3B (free)",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-14",family:"nemotron"},"xiaomi/mimo-v2-flash":{id:"xiaomi/mimo-v2-flash",name:"MiMo-V2-Flash",contextWindow:262144,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-12-14",family:"mimo"},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt"},"openai/gpt-5.2-chat":{id:"openai/gpt-5.2-chat",name:"GPT-5.2 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt-codex"},"openai/gpt-5.2-pro":{id:"openai/gpt-5.2-pro",name:"GPT-5.2 Pro",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:21,output:168,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt-pro"},"deepseek/deepseek-v3.2":{id:"deepseek/deepseek-v3.2",name:"DeepSeek V3.2",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.28,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-01",family:"deepseek"},"deepseek/deepseek-v3.2-speciale":{id:"deepseek/deepseek-v3.2-speciale",name:"DeepSeek V3.2 Speciale",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.27,output:0.41,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-01",family:"deepseek"},"anthropic/claude-opus-4.5":{id:"anthropic/claude-opus-4.5",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24",family:"claude-opus"},"x-ai/grok-4.1-fast":{id:"x-ai/grok-4.1-fast",name:"Grok 4.1 Fast",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0.05},releaseDate:"2025-11-19",family:"grok"},"google/gemini-3-pro-preview":{id:"google/gemini-3-pro-preview",name:"Gemini 3 Pro Preview",contextWindow:1050000,maxTokens:66000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:2,output:12,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-18",family:"gemini-pro"},"openai/gpt-5.1":{id:"openai/gpt-5.1",name:"GPT-5.1",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt"},"openai/gpt-5.1-chat":{id:"openai/gpt-5.1-chat",name:"GPT-5.1 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"openai/gpt-5.1-codex":{id:"openai/gpt-5.1-codex",name:"GPT-5.1-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"openai/gpt-5.1-codex-max":{id:"openai/gpt-5.1-codex-max",name:"GPT-5.1-Codex-Max",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.1,output:9,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"openai/gpt-5.1-codex-mini":{id:"openai/gpt-5.1-codex-mini",name:"GPT-5.1-Codex-Mini",contextWindow:400000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"moonshotai/kimi-k2-thinking":{id:"moonshotai/kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06",family:"kimi-thinking"},"openai/gpt-oss-safeguard-20b":{id:"openai/gpt-oss-safeguard-20b",name:"GPT OSS Safeguard 20B",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-29",family:"gpt-oss"},"nvidia/nemotron-nano-12b-v2-vl:free":{id:"nvidia/nemotron-nano-12b-v2-vl:free",name:"Nemotron Nano 12B 2 VL (free)",contextWindow:128000,maxTokens:6400,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-28",family:"nemotron"},"minimax/minimax-m2":{id:"minimax/minimax-m2",name:"MiniMax M2",contextWindow:196600,maxTokens:118000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.28,output:1.15,cacheRead:0.28,cacheWrite:1.15},releaseDate:"2025-10-23",family:"minimax"},"anthropic/claude-haiku-4.5":{id:"anthropic/claude-haiku-4.5",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"openai/gpt-5-image":{id:"openai/gpt-5-image",name:"GPT-5 Image",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-10-14",family:"gpt"},"openai/gpt-5-pro":{id:"openai/gpt-5-pro",name:"GPT-5 Pro",contextWindow:400000,maxTokens:272000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:15,output:120,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-06",family:"gpt-pro"},"z-ai/glm-4.6":{id:"z-ai/glm-4.6",name:"GLM 4.6",contextWindow:200000,maxTokens:128000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-09-30",family:"glm"},"z-ai/glm-4.6:exacto":{id:"z-ai/glm-4.6:exacto",name:"GLM 4.6 (exacto)",contextWindow:200000,maxTokens:128000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.6,output:1.9,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-09-30",family:"glm"},"anthropic/claude-sonnet-4.5":{id:"anthropic/claude-sonnet-4.5",name:"Claude Sonnet 4.5",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"google/gemini-2.5-flash-lite-preview-09-2025":{id:"google/gemini-2.5-flash-lite-preview-09-2025",name:"Gemini 2.5 Flash Lite Preview 09-25",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-09-25",family:"gemini-flash-lite"},"google/gemini-2.5-flash-preview-09-2025":{id:"google/gemini-2.5-flash-preview-09-2025",name:"Gemini 2.5 Flash Preview 09-25",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.031,cacheWrite:0},releaseDate:"2025-09-25",family:"gemini-flash"},"deepseek/deepseek-v3.1-terminus":{id:"deepseek/deepseek-v3.1-terminus",name:"DeepSeek V3.1 Terminus",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.27,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-22",family:"deepseek"},"deepseek/deepseek-v3.1-terminus:exacto":{id:"deepseek/deepseek-v3.1-terminus:exacto",name:"DeepSeek V3.1 Terminus (exacto)",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.27,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-22",family:"deepseek"},"openai/gpt-5-codex":{id:"openai/gpt-5-codex",name:"GPT-5 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-09-15",family:"gpt-codex"},"mistralai/devstral-2512":{id:"mistralai/devstral-2512",name:"Devstral 2 2512",contextWindow:262144,maxTokens:13107,capabilities:["tools","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-12",family:"devstral"},"qwen/qwen3-next-80b-a3b-instruct":{id:"qwen/qwen3-next-80b-a3b-instruct",name:"Qwen3 Next 80B A3B Instruct",contextWindow:262144,maxTokens:13107,capabilities:["tools","structured_output","temperature"],pricing:{input:0.14,output:1.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11",family:"qwen"},"qwen/qwen3-next-80b-a3b-thinking":{id:"qwen/qwen3-next-80b-a3b-thinking",name:"Qwen3 Next 80B A3B Thinking",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.14,output:1.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11",family:"qwen"},"moonshotai/kimi-k2-0905":{id:"moonshotai/kimi-k2-0905",name:"Kimi K2 Instruct 0905",contextWindow:262144,maxTokens:16384,capabilities:["tools","structured_output","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05",family:"kimi"},"moonshotai/kimi-k2-0905:exacto":{id:"moonshotai/kimi-k2-0905:exacto",name:"Kimi K2 Instruct 0905 (exacto)",contextWindow:262144,maxTokens:16384,capabilities:["tools","structured_output","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05",family:"kimi"},"nvidia/nemotron-nano-9b-v2:free":{id:"nvidia/nemotron-nano-9b-v2:free",name:"Nemotron Nano 9B V2 (free)",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05",family:"nemotron"},"qwen/qwen3-max":{id:"qwen/qwen3-max",name:"Qwen3 Max",contextWindow:262144,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:1.2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05",family:"qwen"},"x-ai/grok-code-fast-1":{id:"x-ai/grok-code-fast-1",name:"Grok Code Fast 1",contextWindow:256000,maxTokens:1e4,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.2,output:1.5,cacheRead:0.02,cacheWrite:0},releaseDate:"2025-08-26",family:"grok"},"nousresearch/hermes-4-405b":{id:"nousresearch/hermes-4-405b",name:"Hermes 4 405B",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-25",family:"hermes"},"nousresearch/hermes-4-70b":{id:"nousresearch/hermes-4-70b",name:"Hermes 4 70B",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.13,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-25",family:"hermes"},"deepseek/deepseek-chat-v3.1":{id:"deepseek/deepseek-chat-v3.1",name:"DeepSeek-V3.1",contextWindow:163840,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21",family:"deepseek"},"x-ai/grok-4-fast":{id:"x-ai/grok-4-fast",name:"Grok 4 Fast",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0.05},releaseDate:"2025-08-19",family:"grok"},"nvidia/nemotron-nano-9b-v2":{id:"nvidia/nemotron-nano-9b-v2",name:"nvidia-nemotron-nano-9b-v2",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.04,output:0.16,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-18",family:"nemotron"},"mistralai/mistral-medium-3.1":{id:"mistralai/mistral-medium-3.1",name:"Mistral Medium 3.1",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-12",family:"mistral-medium"},"z-ai/glm-4.5v":{id:"z-ai/glm-4.5v",name:"GLM 4.5V",contextWindow:64000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-11",family:"glm"},"openai/gpt-5":{id:"openai/gpt-5",name:"GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"GPT-5 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.25,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt-mini"},"openai/gpt-5-nano":{id:"openai/gpt-5-nano",name:"GPT-5 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.05,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt-nano"},"anthropic/claude-opus-4.1":{id:"anthropic/claude-opus-4.1",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05",family:"claude-opus"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.072,output:0.28,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"openai/gpt-oss-120b:exacto":{id:"openai/gpt-oss-120b:exacto",name:"GPT OSS 120B (exacto)",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.05,output:0.24,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"openai/gpt-oss-120b:free":{id:"openai/gpt-oss-120b:free",name:"gpt-oss-120b (free)",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.05,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"openai/gpt-oss-20b:free":{id:"openai/gpt-oss-20b:free",name:"gpt-oss-20b (free)",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"mistralai/codestral-2508":{id:"mistralai/codestral-2508",name:"Codestral 2508",contextWindow:256000,maxTokens:12800,capabilities:["tools","structured_output","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-01",family:"codestral"},"qwen/qwen3-coder-30b-a3b-instruct":{id:"qwen/qwen3-coder-30b-a3b-instruct",name:"Qwen3 Coder 30B A3B Instruct",contextWindow:160000,maxTokens:65536,capabilities:["tools","structured_output","temperature"],pricing:{input:0.07,output:0.27,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-31",family:"qwen"},"qwen/qwen3-30b-a3b-instruct-2507":{id:"qwen/qwen3-30b-a3b-instruct-2507",name:"Qwen3 30B A3B Instruct 2507",contextWindow:262000,maxTokens:13100,capabilities:["tools","structured_output","temperature"],pricing:{input:0.2,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-29",family:"qwen"},"qwen/qwen3-30b-a3b-thinking-2507":{id:"qwen/qwen3-30b-a3b-thinking-2507",name:"Qwen3 30B A3B Thinking 2507",contextWindow:262000,maxTokens:13100,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-29",family:"qwen"},"z-ai/glm-4.5":{id:"z-ai/glm-4.5",name:"GLM 4.5",contextWindow:128000,maxTokens:96000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-28",family:"glm"},"z-ai/glm-4.5-air":{id:"z-ai/glm-4.5-air",name:"GLM 4.5 Air",contextWindow:128000,maxTokens:96000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-28",family:"glm-air"},"qwen/qwen3-235b-a22b-thinking-2507":{id:"qwen/qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking 2507",contextWindow:262144,maxTokens:81920,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.078,output:0.312,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25",family:"qwen"},"qwen/qwen3-coder":{id:"qwen/qwen3-coder",name:"Qwen3 Coder",contextWindow:262144,maxTokens:66536,capabilities:["tools","structured_output","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23",family:"qwen"},"qwen/qwen3-coder-flash":{id:"qwen/qwen3-coder-flash",name:"Qwen3 Coder Flash",contextWindow:128000,maxTokens:66536,capabilities:["tools","temperature"],pricing:{input:0.3,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23",family:"qwen"},"qwen/qwen3-coder:exacto":{id:"qwen/qwen3-coder:exacto",name:"Qwen3 Coder (exacto)",contextWindow:131072,maxTokens:32768,capabilities:["tools","structured_output","temperature"],pricing:{input:0.38,output:1.53,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23",family:"qwen"},"google/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.0375,cacheWrite:0},releaseDate:"2025-07-17",family:"gemini-flash"},"moonshotai/kimi-k2":{id:"moonshotai/kimi-k2",name:"Kimi K2",contextWindow:131072,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.55,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-11",family:"kimi"},"mistralai/devstral-medium-2507":{id:"mistralai/devstral-medium-2507",name:"Devstral Medium",contextWindow:131072,maxTokens:6553,capabilities:["tools","structured_output","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-10",family:"devstral"},"mistralai/devstral-small-2507":{id:"mistralai/devstral-small-2507",name:"Devstral Small 1.1",contextWindow:131072,maxTokens:6553,capabilities:["tools","structured_output","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-10",family:"devstral"},"x-ai/grok-4":{id:"x-ai/grok-4",name:"Grok 4",contextWindow:256000,maxTokens:64000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:15},releaseDate:"2025-07-09",family:"grok"},"mistralai/mistral-small-3.2-24b-instruct":{id:"mistralai/mistral-small-3.2-24b-instruct",name:"Mistral Small 3.2 24B Instruct",contextWindow:96000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-20",family:"mistral-small"},"google/gemini-2.5-flash-lite":{id:"google/gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-06-17",family:"gemini-flash-lite"},"minimax/minimax-m1":{id:"minimax/minimax-m1",name:"MiniMax M1",contextWindow:1e6,maxTokens:40000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.4,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-17",family:"minimax"},"google/gemini-2.5-pro-preview-06-05":{id:"google/gemini-2.5-pro-preview-06-05",name:"Gemini 2.5 Pro Preview 06-05",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-06-05",family:"gemini-pro"},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"mistralai/devstral-small-2505":{id:"mistralai/devstral-small-2505",name:"Devstral Small",contextWindow:128000,maxTokens:6400,capabilities:["tools","temperature"],pricing:{input:0.06,output:0.12,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07",family:"devstral"},"mistralai/mistral-medium-3":{id:"mistralai/mistral-medium-3",name:"Mistral Medium 3",contextWindow:131072,maxTokens:6553,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07",family:"mistral-medium"},"google/gemini-2.5-pro-preview-05-06":{id:"google/gemini-2.5-pro-preview-05-06",name:"Gemini 2.5 Pro Preview 05-06",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-05-06",family:"gemini-pro"},"qwen/qwen3-235b-a22b-07-25":{id:"qwen/qwen3-235b-a22b-07-25",name:"Qwen3 235B A22B Instruct 2507",contextWindow:262144,maxTokens:131072,capabilities:["tools","structured_output","temperature"],pricing:{input:0.15,output:0.85,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-28",family:"qwen"},"openai/o4-mini":{id:"openai/o4-mini",name:"o4 Mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-04-16",family:"o-mini"},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt"},"openai/gpt-4.1-mini":{id:"openai/gpt-4.1-mini",name:"GPT-4.1 Mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt-mini"},"google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-03-20",family:"gemini-pro"},"mistralai/mistral-small-3.1-24b-instruct":{id:"mistralai/mistral-small-3.1-24b-instruct",name:"Mistral Small 3.1 24B Instruct",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-17",family:"mistral-small"},"google/gemma-3-27b-it":{id:"google/gemma-3-27b-it",name:"Gemma 3 27B",contextWindow:96000,maxTokens:4800,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.04,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-12",family:"gemma"},"google/gemma-3-27b-it:free":{id:"google/gemma-3-27b-it:free",name:"Gemma 3 27B (free)",contextWindow:131072,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-12",family:"gemma"},"anthropic/claude-3.7-sonnet":{id:"anthropic/claude-3.7-sonnet",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-02-19",family:"claude-sonnet"},"x-ai/grok-3":{id:"x-ai/grok-3",name:"Grok 3",contextWindow:131072,maxTokens:8192,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:15},releaseDate:"2025-02-17",family:"grok"},"x-ai/grok-3-beta":{id:"x-ai/grok-3-beta",name:"Grok 3 Beta",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:15},releaseDate:"2025-02-17",family:"grok"},"x-ai/grok-3-mini":{id:"x-ai/grok-3-mini",name:"Grok 3 Mini",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0.5},releaseDate:"2025-02-17",family:"grok"},"x-ai/grok-3-mini-beta":{id:"x-ai/grok-3-mini-beta",name:"Grok 3 Mini Beta",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0.5},releaseDate:"2025-02-17",family:"grok"},"deepseek/deepseek-r1":{id:"deepseek/deepseek-r1",name:"DeepSeek: R1",contextWindow:64000,maxTokens:16000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.7,output:2.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-20",family:"deepseek-thinking"},"minimax/minimax-01":{id:"minimax/minimax-01",name:"MiniMax-01",contextWindow:1e6,maxTokens:50000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-15",family:"minimax"},"prime-intellect/intellect-3":{id:"prime-intellect/intellect-3",name:"Intellect 3",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-15",family:"glm"},"google/gemini-2.0-flash-001":{id:"google/gemini-2.0-flash-001",name:"Gemini 2.0 Flash",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2024-12-11",family:"gemini-flash"},"meta-llama/llama-3.3-70b-instruct:free":{id:"meta-llama/llama-3.3-70b-instruct:free",name:"Llama 3.3 70B Instruct (free)",contextWindow:131072,maxTokens:6553,capabilities:["tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06",family:"llama"},"anthropic/claude-3.5-haiku":{id:"anthropic/claude-3.5-haiku",name:"Claude Haiku 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22",family:"claude-haiku"},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"GPT-4o-mini",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.15,output:0.6,cacheRead:0.08,cacheWrite:0},releaseDate:"2024-07-18",family:"gpt-mini"}},requesty:{"openai/gpt-5.4":{id:"openai/gpt-5.4",name:"GPT-5.4",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},releaseDate:"2026-03-05",family:"gpt"},"openai/gpt-5.4-pro":{id:"openai/gpt-5.4-pro",name:"GPT-5.4 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:30,output:180,cacheRead:30,cacheWrite:0},releaseDate:"2026-03-05",family:"gpt-pro"},"openai/gpt-5.3-codex":{id:"openai/gpt-5.3-codex",name:"GPT-5.3-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-24",family:"gpt-codex"},"anthropic/claude-sonnet-4-6":{id:"anthropic/claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"anthropic/claude-opus-4-6":{id:"anthropic/claude-opus-4-6",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"openai/gpt-5.2-codex":{id:"openai/gpt-5.2-codex",name:"GPT-5.2-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-01-14",family:"gpt-codex"},"google/gemini-3-flash-preview":{id:"google/gemini-3-flash-preview",name:"Gemini 3 Flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:1},releaseDate:"2025-12-17"},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt"},"openai/gpt-5.2-chat":{id:"openai/gpt-5.2-chat",name:"GPT-5.2 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt-codex"},"openai/gpt-5.2-pro":{id:"openai/gpt-5.2-pro",name:"GPT-5.2 Pro",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:21,output:168,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt-pro"},"anthropic/claude-opus-4-5":{id:"anthropic/claude-opus-4-5",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24",family:"claude-opus"},"google/gemini-3-pro-preview":{id:"google/gemini-3-pro-preview",name:"Gemini 3 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:4.5},releaseDate:"2025-11-18",family:"gemini-pro"},"openai/gpt-5.1":{id:"openai/gpt-5.1",name:"GPT-5.1",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt"},"openai/gpt-5.1-chat":{id:"openai/gpt-5.1-chat",name:"GPT-5.1 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"openai/gpt-5.1-codex":{id:"openai/gpt-5.1-codex",name:"GPT-5.1-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"openai/gpt-5.1-codex-max":{id:"openai/gpt-5.1-codex-max",name:"GPT-5.1-Codex-Max",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.1,output:9,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"openai/gpt-5.1-codex-mini":{id:"openai/gpt-5.1-codex-mini",name:"GPT-5.1-Codex-Mini",contextWindow:400000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"anthropic/claude-haiku-4-5":{id:"anthropic/claude-haiku-4-5",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:62000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"openai/gpt-5-image":{id:"openai/gpt-5-image",name:"GPT-5 Image",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-10-14",family:"gpt"},"openai/gpt-5-pro":{id:"openai/gpt-5-pro",name:"GPT-5 Pro",contextWindow:400000,maxTokens:272000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:15,output:120,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-06",family:"gpt-pro"},"anthropic/claude-sonnet-4-5":{id:"anthropic/claude-sonnet-4-5",name:"Claude Sonnet 4.5",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"xai/grok-4-fast":{id:"xai/grok-4-fast",name:"Grok 4 Fast",contextWindow:2000000,maxTokens:64000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0.2},releaseDate:"2025-09-19",family:"grok"},"openai/gpt-5-codex":{id:"openai/gpt-5-codex",name:"GPT-5 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-09-15",family:"gpt-codex"},"xai/grok-4":{id:"xai/grok-4",name:"Grok 4",contextWindow:256000,maxTokens:64000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:3},releaseDate:"2025-09-09",family:"grok"},"openai/gpt-5":{id:"openai/gpt-5",name:"GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"GPT-5 Mini",contextWindow:128000,maxTokens:32000,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt-mini"},"openai/gpt-5-nano":{id:"openai/gpt-5-nano",name:"GPT-5 Nano",contextWindow:16000,maxTokens:4000,capabilities:["tools","reasoning","prompt-cache"],pricing:{input:0.05,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt-nano"},"anthropic/claude-opus-4-1":{id:"anthropic/claude-opus-4-1",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05",family:"claude-opus"},"google/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.075,cacheWrite:0.55},releaseDate:"2025-06-17",family:"gemini-flash"},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"openai/o4-mini":{id:"openai/o4-mini",name:"o4 Mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-04-16",family:"o-mini"},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt"},"openai/gpt-4.1-mini":{id:"openai/gpt-4.1-mini",name:"GPT-4.1 Mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt-mini"},"google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:2.375},releaseDate:"2025-03-20",family:"gemini-pro"},"anthropic/claude-3-7-sonnet":{id:"anthropic/claude-3-7-sonnet",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19",family:"claude-sonnet"},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"GPT-4o Mini",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.15,output:0.6,cacheRead:0.08,cacheWrite:0},releaseDate:"2024-07-18",family:"gpt-mini"}},sapaicore:{"anthropic--claude-4.6-sonnet":{id:"anthropic--claude-4.6-sonnet",name:"anthropic--claude-4.6-sonnet",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"anthropic--claude-4.6-opus":{id:"anthropic--claude-4.6-opus",name:"anthropic--claude-4.6-opus",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"anthropic--claude-4.5-opus":{id:"anthropic--claude-4.5-opus",name:"anthropic--claude-4.5-opus",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24",family:"claude-opus"},"anthropic--claude-4.5-haiku":{id:"anthropic--claude-4.5-haiku",name:"anthropic--claude-4.5-haiku",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"anthropic--claude-4.5-sonnet":{id:"anthropic--claude-4.5-sonnet",name:"anthropic--claude-4.5-sonnet",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"gpt-5":{id:"gpt-5",name:"gpt-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"gpt-5-mini":{id:"gpt-5-mini",name:"gpt-5-mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt-mini"},"gpt-5-nano":{id:"gpt-5-nano",name:"gpt-5-nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.05,output:0.4,cacheRead:0.005,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt-nano"},"gemini-2.5-flash-lite":{id:"gemini-2.5-flash-lite",name:"gemini-2.5-flash-lite",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-06-17",family:"gemini-flash-lite"},"anthropic--claude-4-opus":{id:"anthropic--claude-4-opus",name:"anthropic--claude-4-opus",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"anthropic--claude-4-sonnet":{id:"anthropic--claude-4-sonnet",name:"anthropic--claude-4-sonnet",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"gpt-4.1":{id:"gpt-4.1",name:"gpt-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt"},"gpt-4.1-mini":{id:"gpt-4.1-mini",name:"gpt-4.1-mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt-mini"},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"gemini-2.5-flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-03-25",family:"gemini-flash"},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"gemini-2.5-pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-03-25",family:"gemini-pro"},"anthropic--claude-3.7-sonnet":{id:"anthropic--claude-3.7-sonnet",name:"anthropic--claude-3.7-sonnet",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-24",family:"claude-sonnet"},"anthropic--claude-3.5-sonnet":{id:"anthropic--claude-3.5-sonnet",name:"anthropic--claude-3.5-sonnet",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22",family:"claude-sonnet"},"anthropic--claude-3-haiku":{id:"anthropic--claude-3-haiku",name:"anthropic--claude-3-haiku",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.25,output:1.25,cacheRead:0.03,cacheWrite:0.3},releaseDate:"2024-03-13",family:"claude-haiku"},"anthropic--claude-3-sonnet":{id:"anthropic--claude-3-sonnet",name:"anthropic--claude-3-sonnet",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-03-04",family:"claude-sonnet"},"anthropic--claude-3-opus":{id:"anthropic--claude-3-opus",name:"anthropic--claude-3-opus",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2024-02-29",family:"claude-opus"}},together:{"Qwen/Qwen3.6-Plus":{id:"Qwen/Qwen3.6-Plus",name:"Qwen3.6 Plus",contextWindow:1e6,maxTokens:500000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.5,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-30",family:"qwen"},"deepseek-ai/DeepSeek-V4-Pro":{id:"deepseek-ai/DeepSeek-V4-Pro",name:"DeepSeek V4 Pro",contextWindow:512000,maxTokens:384000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:2.1,output:4.4,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek"},"moonshotai/Kimi-K2.6":{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6",contextWindow:262144,maxTokens:131000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.2,output:4.5,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-04-21",family:"kimi-k2.6"},"google/gemma-4-31B-it":{id:"google/gemma-4-31B-it",name:"Gemma 4 31B Instruct",contextWindow:262144,maxTokens:131072,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-07",family:"gemma"},"zai-org/GLM-5.1":{id:"zai-org/GLM-5.1",name:"GLM-5.1",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:1.4,output:4.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-07",family:"glm"},"MiniMaxAI/MiniMax-M2.7":{id:"MiniMaxAI/MiniMax-M2.7",name:"MiniMax-M2.7",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},releaseDate:"2026-03-18",family:"minimax"},"Qwen/Qwen3.5-397B-A17B":{id:"Qwen/Qwen3.5-397B-A17B",name:"Qwen3.5 397B A17B",contextWindow:262144,maxTokens:130000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:3.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-16",family:"qwen"},"MiniMaxAI/MiniMax-M2.5":{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax-M2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},releaseDate:"2026-02-12",family:"minimax"},"Qwen/Qwen3-Coder-Next-FP8":{id:"Qwen/Qwen3-Coder-Next-FP8",name:"Qwen3 Coder Next FP8",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0.5,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-03",family:"qwen"},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.5,output:2.8,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-27",family:"kimi"},"essentialai/Rnj-1-Instruct":{id:"essentialai/Rnj-1-Instruct",name:"Rnj-1 Instruct",contextWindow:32768,maxTokens:1638,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-05",family:"rnj"},"deepseek-ai/DeepSeek-V3-1":{id:"deepseek-ai/DeepSeek-V3-1",name:"DeepSeek V3.1",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:1.7,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21",family:"deepseek"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"Qwen/Qwen3-235B-A22B-Instruct-2507-tput":{id:"Qwen/Qwen3-235B-A22B-Instruct-2507-tput",name:"Qwen3 235B A22B Instruct 2507 FP8",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25",family:"qwen"},"Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8":{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8",name:"Qwen3 Coder 480B A35B Instruct",contextWindow:262144,maxTokens:13107,capabilities:["tools","temperature"],pricing:{input:2,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23",family:"qwen"},"deepseek-ai/DeepSeek-V3":{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:1.25,output:1.25,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-20",family:"deepseek"},"meta-llama/Llama-3.3-70B-Instruct-Turbo":{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B",contextWindow:131072,maxTokens:6553,capabilities:["tools","temperature"],pricing:{input:0.88,output:0.88,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06",family:"llama"}},v0:{"v0-1.5-lg":{id:"v0-1.5-lg",name:"v0-1.5-lg",contextWindow:512000,maxTokens:32000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-09",family:"v0"},"v0-1.5-md":{id:"v0-1.5-md",name:"v0-1.5-md",contextWindow:128000,maxTokens:32000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-09",family:"v0"},"v0-1.0-md":{id:"v0-1.0-md",name:"v0-1.0-md",contextWindow:128000,maxTokens:32000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-22",family:"v0"}},"vercel-ai-gateway":{"xai/grok-4.3":{id:"xai/grok-4.3",name:"Grok 4.3",contextWindow:1e6,maxTokens:50000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:2.5,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-04-30",family:"grok"},"openai/gpt-5.5":{id:"openai/gpt-5.5",name:"GPT 5.5",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:30,cacheRead:0.5,cacheWrite:0},releaseDate:"2026-04-24",family:"gpt"},"openai/gpt-5.5-pro":{id:"openai/gpt-5.5-pro",name:"GPT 5.5 Pro",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:30,output:180,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-24",family:"gpt"},"deepseek/deepseek-v4-flash":{id:"deepseek/deepseek-v4-flash",name:"DeepSeek V4 Flash",contextWindow:1e6,maxTokens:384000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.14,output:0.28,cacheRead:0.028,cacheWrite:0},releaseDate:"2026-04-23",family:"deepseek"},"deepseek/deepseek-v4-pro":{id:"deepseek/deepseek-v4-pro",name:"DeepSeek V4 Pro",contextWindow:1e6,maxTokens:384000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1.74,output:3.48,cacheRead:0.145,cacheWrite:0},releaseDate:"2026-04-23",family:"deepseek"},"alibaba/qwen3.6-27b":{id:"alibaba/qwen3.6-27b",name:"Qwen 3.6 27B",contextWindow:256000,maxTokens:12800,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.6,output:3.5999999999999996,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-22",family:"qwen3.6"},"xiaomi/mimo-v2.5":{id:"xiaomi/mimo-v2.5",name:"MiMo M2.5",contextWindow:1050000,maxTokens:131100,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.39999999999999997,output:2,cacheRead:0.08,cacheWrite:0},releaseDate:"2026-04-22",family:"mimo-v2.5"},"xiaomi/mimo-v2.5-pro":{id:"xiaomi/mimo-v2.5-pro",name:"MiMo V2.5 Pro",contextWindow:1050000,maxTokens:131000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-04-22",family:"mimo-v2.5-pro"},"alibaba/qwen-3.6-max-preview":{id:"alibaba/qwen-3.6-max-preview",name:"Qwen 3.6 Max Preview",contextWindow:240000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.3,output:7.8,cacheRead:0.26,cacheWrite:1.625},releaseDate:"2026-04-20",family:"qwen"},"moonshotai/kimi-k2.6":{id:"moonshotai/kimi-k2.6",name:"Kimi K2.6",contextWindow:262000,maxTokens:13100,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.95,output:4,cacheRead:0.16,cacheWrite:0},releaseDate:"2026-04-20",family:"kimi-k2.6"},"anthropic/claude-opus-4.7":{id:"anthropic/claude-opus-4.7",name:"Claude Opus 4.7",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-04-16",family:"claude-opus"},"zai/glm-5.1":{id:"zai/glm-5.1",name:"GLM 5.1",contextWindow:202752,maxTokens:10137,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.4,output:4.4,cacheRead:0.26,cacheWrite:0},releaseDate:"2026-04-07",family:"glm"},"alibaba/qwen3.6-plus":{id:"alibaba/qwen3.6-plus",name:"Qwen 3.6 Plus",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.5,output:3,cacheRead:0.09999999999999999,cacheWrite:0.625},releaseDate:"2026-04-02",family:"qwen"},"google/gemma-4-26b-a4b-it":{id:"google/gemma-4-26b-a4b-it",name:"Gemma 4 26B A4B IT",contextWindow:262144,maxTokens:131072,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.13,output:0.39999999999999997,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-02",family:"gemma"},"google/gemma-4-31b-it":{id:"google/gemma-4-31b-it",name:"Gemma 4 31B IT",contextWindow:262144,maxTokens:131072,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.14,output:0.39999999999999997,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-02",family:"gemma"},"arcee-ai/trinity-large-thinking":{id:"arcee-ai/trinity-large-thinking",name:"Trinity Large Thinking",contextWindow:262100,maxTokens:80000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.25,output:0.8999999999999999,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-01",family:"trinity"},"zai/glm-5v-turbo":{id:"zai/glm-5v-turbo",name:"GLM 5V Turbo",contextWindow:200000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.2,output:4,cacheRead:0.24,cacheWrite:0},releaseDate:"2026-04-01",family:"glm"},"kwaipilot/kat-coder-pro-v2":{id:"kwaipilot/kat-coder-pro-v2",name:"Kat Coder Pro V2",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},releaseDate:"2026-03-27",family:"kat-coder"},"minimax/minimax-m2.7":{id:"minimax/minimax-m2.7",name:"Minimax M2.7",contextWindow:204800,maxTokens:131000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-03-18",family:"minimax"},"minimax/minimax-m2.7-highspeed":{id:"minimax/minimax-m2.7-highspeed",name:"MiniMax M2.7 High Speed",contextWindow:204800,maxTokens:131100,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.4,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-03-18",family:"minimax"},"xiaomi/mimo-v2-pro":{id:"xiaomi/mimo-v2-pro",name:"MiMo V2 Pro",contextWindow:1e6,maxTokens:128000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-18",family:"mimo"},"openai/gpt-5.4-mini":{id:"openai/gpt-5.4-mini",name:"GPT 5.4 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2026-03-17",family:"gpt"},"openai/gpt-5.4-nano":{id:"openai/gpt-5.4-nano",name:"GPT 5.4 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.19999999999999998,output:1.25,cacheRead:0.02,cacheWrite:0},releaseDate:"2026-03-17",family:"gpt"},"mistral/mistral-small":{id:"mistral/mistral-small",name:"Mistral Small (latest)",contextWindow:256000,maxTokens:12800,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-16",family:"mistral-small"},"zai/glm-5-turbo":{id:"zai/glm-5-turbo",name:"GLM 5 Turbo",contextWindow:202800,maxTokens:131100,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1.2,output:4,cacheRead:0.24,cacheWrite:0},releaseDate:"2026-03-15",family:"glm"},"zai/glm-4.7-flash":{id:"zai/glm-4.7-flash",name:"GLM 4.7 Flash",contextWindow:200000,maxTokens:131000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.07,output:0.39999999999999997,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-13",family:"glm"},"xai/grok-4.20-multi-agent-beta":{id:"xai/grok-4.20-multi-agent-beta",name:"Grok 4.20 Multi Agent Beta",contextWindow:2000000,maxTokens:1e5,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-11",family:"grok"},"xai/grok-4.20-non-reasoning-beta":{id:"xai/grok-4.20-non-reasoning-beta",name:"Grok 4.20 Beta Non-Reasoning",contextWindow:2000000,maxTokens:1e5,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-11",family:"grok"},"xai/grok-4.20-reasoning-beta":{id:"xai/grok-4.20-reasoning-beta",name:"Grok 4.20 Beta Reasoning",contextWindow:2000000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-11",family:"grok"},"xai/grok-4.20-multi-agent":{id:"xai/grok-4.20-multi-agent",name:"Grok 4.20 Multi-Agent",contextWindow:2000000,maxTokens:1e5,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-09",family:"grok"},"xai/grok-4.20-non-reasoning":{id:"xai/grok-4.20-non-reasoning",name:"Grok 4.20 Non-Reasoning",contextWindow:2000000,maxTokens:1e5,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-09",family:"grok"},"xai/grok-4.20-reasoning":{id:"xai/grok-4.20-reasoning",name:"Grok 4.20 Reasoning",contextWindow:2000000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-09",family:"grok"},"openai/gpt-5.4":{id:"openai/gpt-5.4",name:"GPT 5.4",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},releaseDate:"2026-03-05",family:"gpt"},"openai/gpt-5.4-pro":{id:"openai/gpt-5.4-pro",name:"GPT 5.4 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:30,output:180,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-05",family:"gpt"},"google/gemini-3.1-flash-lite-preview":{id:"google/gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview",contextWindow:1e6,maxTokens:65000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.25,output:1.5,cacheRead:0.025,cacheWrite:1},releaseDate:"2026-03-03",family:"gemini"},"openai/gpt-5.3-chat":{id:"openai/gpt-5.3-chat",name:"GPT-5.3 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-03-03",family:"gpt"},"alibaba/qwen3.5-flash":{id:"alibaba/qwen3.5-flash",name:"Qwen 3.5 Flash",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.001,cacheWrite:0.125},releaseDate:"2026-02-24",family:"qwen"},"inception/mercury-2":{id:"inception/mercury-2",name:"Mercury 2",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.25,output:0.75,cacheRead:0.024999999999999998,cacheWrite:0},releaseDate:"2026-02-24",family:"mercury"},"openai/gpt-5.3-codex":{id:"openai/gpt-5.3-codex",name:"GPT 5.3 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-24",family:"gpt"},"google/gemini-3.1-pro-preview":{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-19",family:"gemini"},"anthropic/claude-sonnet-4.6":{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"alibaba/qwen3.5-plus":{id:"alibaba/qwen3.5-plus",name:"Qwen 3.5 Plus",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.4,output:2.4,cacheRead:0.04,cacheWrite:0.5},releaseDate:"2026-02-16",family:"qwen"},"minimax/minimax-m2.5":{id:"minimax/minimax-m2.5",name:"MiniMax M2.5",contextWindow:204800,maxTokens:131000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2026-02-12",family:"minimax"},"minimax/minimax-m2.5-highspeed":{id:"minimax/minimax-m2.5-highspeed",name:"MiniMax M2.5 High Speed",contextWindow:0,maxTokens:0,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.4,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2026-02-12",family:"minimax"},"zai/glm-5":{id:"zai/glm-5",name:"GLM-5",contextWindow:202800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-12",family:"glm"},"anthropic/claude-opus-4.6":{id:"anthropic/claude-opus-4.6",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02",family:"claude-opus"},"moonshotai/kimi-k2.5":{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-26",family:"kimi"},"zai/glm-4.7":{id:"zai/glm-4.7",name:"GLM 4.7",contextWindow:202752,maxTokens:120000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.43,output:1.75,cacheRead:0.08,cacheWrite:0},releaseDate:"2025-12-22",family:"glm"},"google/gemini-3-flash":{id:"google/gemini-3-flash",name:"Gemini 3 Flash",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-12-17",family:"gemini-flash"},"xiaomi/mimo-v2-flash":{id:"xiaomi/mimo-v2-flash",name:"MiMo V2 Flash",contextWindow:262144,maxTokens:32000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.29,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-17",family:"mimo"},"mistral/devstral-2":{id:"mistral/devstral-2",name:"Devstral 2",contextWindow:256000,maxTokens:12800,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-09",family:"devstral"},"deepseek/deepseek-v3.2-thinking":{id:"deepseek/deepseek-v3.2-thinking",name:"DeepSeek V3.2 Thinking",contextWindow:128000,maxTokens:64000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.28,output:0.42,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-12-01",family:"deepseek-thinking"},"openai/gpt-5.2-codex":{id:"openai/gpt-5.2-codex",name:"GPT-5.2-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12",family:"gpt-codex"},"prime-intellect/intellect-3":{id:"prime-intellect/intellect-3",name:"INTELLECT 3",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-26",family:"intellect"},"anthropic/claude-opus-4.5":{id:"anthropic/claude-opus-4.5",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:18.75},releaseDate:"2025-11-24",family:"claude-opus"},"google/gemini-3-pro-preview":{id:"google/gemini-3-pro-preview",name:"Gemini 3 Pro Preview",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2025-11-18",family:"gemini-pro"},"moonshotai/kimi-k2-thinking":{id:"moonshotai/kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:216144,maxTokens:10807,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.47,output:2,cacheRead:0.14,cacheWrite:0},releaseDate:"2025-11-06",family:"kimi-thinking"},"moonshotai/kimi-k2-thinking-turbo":{id:"moonshotai/kimi-k2-thinking-turbo",name:"Kimi K2 Thinking Turbo",contextWindow:262114,maxTokens:13105,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1.15,output:8,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06",family:"kimi-thinking"},"minimax/minimax-m2":{id:"minimax/minimax-m2",name:"MiniMax M2",contextWindow:262114,maxTokens:13105,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.27,output:1.15,cacheRead:0.03,cacheWrite:0.38},releaseDate:"2025-10-27",family:"minimax"},"minimax/minimax-m2.1":{id:"minimax/minimax-m2.1",name:"MiniMax M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0.38},releaseDate:"2025-10-27",family:"minimax"},"minimax/minimax-m2.1-lightning":{id:"minimax/minimax-m2.1-lightning",name:"MiniMax M2.1 Lightning",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:2.4,cacheRead:0.03,cacheWrite:0.38},releaseDate:"2025-10-27",family:"minimax"},"anthropic/claude-haiku-4.5":{id:"anthropic/claude-haiku-4.5",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"bytedance/seed-1.8":{id:"bytedance/seed-1.8",name:"Seed 1.8",contextWindow:256000,maxTokens:64000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-10",family:"seed"},"zai/glm-4.6":{id:"zai/glm-4.6",name:"GLM 4.6",contextWindow:200000,maxTokens:96000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.45,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-30",family:"glm"},"zai/glm-4.6v":{id:"zai/glm-4.6v",name:"GLM-4.6V",contextWindow:128000,maxTokens:24000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:0.9,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09-30",family:"glm"},"zai/glm-4.6v-flash":{id:"zai/glm-4.6v-flash",name:"GLM-4.6V-Flash",contextWindow:128000,maxTokens:24000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-30",family:"glm"},"anthropic/claude-sonnet-4.5":{id:"anthropic/claude-sonnet-4.5",name:"Claude Sonnet 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"deepseek/deepseek-v3.2-exp":{id:"deepseek/deepseek-v3.2-exp",name:"DeepSeek V3.2 Exp",contextWindow:163840,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.27,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-29",family:"deepseek"},"google/gemini-2.5-flash-lite-preview-09-2025":{id:"google/gemini-2.5-flash-lite-preview-09-2025",name:"Gemini 2.5 Flash Lite Preview 09-25",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-09-25",family:"gemini-flash-lite"},"google/gemini-2.5-flash-preview-09-2025":{id:"google/gemini-2.5-flash-preview-09-2025",name:"Gemini 2.5 Flash Preview 09-25",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0.383},releaseDate:"2025-09-25",family:"gemini-flash"},"alibaba/qwen3-vl-instruct":{id:"alibaba/qwen3-vl-instruct",name:"Qwen3 VL Instruct",contextWindow:131072,maxTokens:129024,capabilities:["images","tools","temperature"],pricing:{input:0.7,output:2.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-24",family:"qwen"},"alibaba/qwen3-vl-thinking":{id:"alibaba/qwen3-vl-thinking",name:"Qwen3 VL Thinking",contextWindow:131072,maxTokens:129024,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.7,output:8.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-24",family:"qwen"},"alibaba/qwen3-max":{id:"alibaba/qwen3-max",name:"Qwen3 Max",contextWindow:262144,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:1.2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-23",family:"qwen"},"alibaba/qwen3-max-preview":{id:"alibaba/qwen3-max-preview",name:"Qwen3 Max Preview",contextWindow:262144,maxTokens:32768,capabilities:["tools","temperature","prompt-cache"],pricing:{input:1.2,output:6,cacheRead:0.24,cacheWrite:0},releaseDate:"2025-09-23",family:"qwen"},"meituan/longcat-flash-thinking":{id:"meituan/longcat-flash-thinking",name:"LongCat Flash Thinking",contextWindow:128000,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-23",family:"longcat"},"deepseek/deepseek-v3.1-terminus":{id:"deepseek/deepseek-v3.1-terminus",name:"DeepSeek V3.1 Terminus",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.27,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-22",family:"deepseek"},"xai/grok-4-fast-non-reasoning":{id:"xai/grok-4-fast-non-reasoning",name:"Grok 4 Fast (Non-Reasoning)",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09-19",family:"grok"},"openai/gpt-5-codex":{id:"openai/gpt-5-codex",name:"GPT-5-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-09-15",family:"gpt-codex"},"alibaba/qwen3-next-80b-a3b-instruct":{id:"alibaba/qwen3-next-80b-a3b-instruct",name:"Qwen3 Next 80B A3B Instruct",contextWindow:262144,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.09,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-12",family:"qwen"},"alibaba/qwen3-next-80b-a3b-thinking":{id:"alibaba/qwen3-next-80b-a3b-thinking",name:"Qwen3 Next 80B A3B Thinking",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-12",family:"qwen"},"moonshotai/kimi-k2-turbo":{id:"moonshotai/kimi-k2-turbo",name:"Kimi K2 Turbo",contextWindow:256000,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:2.4,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05",family:"kimi"},"bytedance/seed-1.6":{id:"bytedance/seed-1.6",name:"Seed 1.6",contextWindow:256000,maxTokens:32000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09",family:"seed"},"meituan/longcat-flash-chat":{id:"meituan/longcat-flash-chat",name:"LongCat Flash Chat",contextWindow:128000,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-30",family:"longcat"},"xai/grok-code-fast-1":{id:"xai/grok-code-fast-1",name:"Grok Code Fast 1",contextWindow:256000,maxTokens:1e4,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:1.5,cacheRead:0.02,cacheWrite:0},releaseDate:"2025-08-28",family:"grok"},"deepseek/deepseek-v3.1":{id:"deepseek/deepseek-v3.1",name:"DeepSeek-V3.1",contextWindow:163840,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21",family:"deepseek"},"nvidia/nemotron-nano-9b-v2":{id:"nvidia/nemotron-nano-9b-v2",name:"Nvidia Nemotron Nano 9B V2",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.04,output:0.16,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-18",family:"nemotron"},"zai/glm-4.5v":{id:"zai/glm-4.5v",name:"GLM 4.5V",contextWindow:66000,maxTokens:3300,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-11",family:"glm"},"openai/gpt-5":{id:"openai/gpt-5",name:"GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-5-chat":{id:"openai/gpt-5-chat",name:"GPT-5 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"GPT-5 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt-mini"},"openai/gpt-5-nano":{id:"openai/gpt-5-nano",name:"GPT-5 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.05,output:0.4,cacheRead:0.005,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt-nano"},"openai/gpt-5-pro":{id:"openai/gpt-5-pro",name:"GPT-5 pro",contextWindow:400000,maxTokens:272000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:120,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-5.1-codex":{id:"openai/gpt-5.1-codex",name:"GPT-5.1-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-5.1-codex-max":{id:"openai/gpt-5.1-codex-max",name:"GPT 5.1 Codex Max",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-5.1-instant":{id:"openai/gpt-5.1-instant",name:"GPT-5.1 Instant",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-5.1-thinking":{id:"openai/gpt-5.1-thinking",name:"GPT 5.1 Thinking",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.18,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-5.2-chat":{id:"openai/gpt-5.2-chat",name:"GPT-5.2 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.18,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-5.2-pro":{id:"openai/gpt-5.2-pro",name:"GPT 5.2 ",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:21,output:168,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.07,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"zai/glm-4.5":{id:"zai/glm-4.5",name:"GLM 4.5",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-28",family:"glm"},"zai/glm-4.5-air":{id:"zai/glm-4.5-air",name:"GLM 4.5 Air",contextWindow:128000,maxTokens:96000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-28",family:"glm-air"},"alibaba/qwen3-coder-plus":{id:"alibaba/qwen3-coder-plus",name:"Qwen3 Coder Plus",contextWindow:1e6,maxTokens:50000,capabilities:["tools","temperature"],pricing:{input:1,output:5,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23",family:"qwen"},"alibaba/qwen3-coder-next":{id:"alibaba/qwen3-coder-next",name:"Qwen3 Coder Next",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","temperature"],pricing:{input:0.5,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-22",family:"qwen"},"xai/grok-4":{id:"xai/grok-4",name:"Grok 4",contextWindow:256000,maxTokens:64000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-07-09",family:"grok"},"xai/grok-4-fast-reasoning":{id:"xai/grok-4-fast-reasoning",name:"Grok 4 Fast Reasoning",contextWindow:2000000,maxTokens:256000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-07-09",family:"grok"},"xai/grok-4.1-fast-non-reasoning":{id:"xai/grok-4.1-fast-non-reasoning",name:"Grok 4.1 Fast Non-Reasoning",contextWindow:2000000,maxTokens:30000,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-07-09",family:"grok"},"xai/grok-4.1-fast-reasoning":{id:"xai/grok-4.1-fast-reasoning",name:"Grok 4.1 Fast Reasoning",contextWindow:2000000,maxTokens:30000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-07-09",family:"grok"},"google/gemini-2.5-flash-lite":{id:"google/gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-06-17",family:"gemini-flash-lite"},"vercel/v0-1.5-md":{id:"vercel/v0-1.5-md",name:"v0-1.5-md",contextWindow:128000,maxTokens:32000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-09",family:"v0"},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"anthropic/claude-opus-4.1":{id:"anthropic/claude-opus-4.1",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"vercel/v0-1.0-md":{id:"vercel/v0-1.0-md",name:"v0-1.0-md",contextWindow:128000,maxTokens:32000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-22",family:"v0"},"openai/codex-mini":{id:"openai/codex-mini",name:"Codex Mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.5,output:6,cacheRead:0.38,cacheWrite:0},releaseDate:"2025-05-16",family:"gpt-codex-mini"},"openai/gpt-5.1-codex-mini":{id:"openai/gpt-5.1-codex-mini",name:"GPT-5.1 Codex mini",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-05-16",family:"gpt"},"mistral/devstral-small":{id:"mistral/devstral-small",name:"Devstral Small 1.1",contextWindow:128000,maxTokens:64000,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07",family:"devstral"},"mistral/devstral-small-2":{id:"mistral/devstral-small-2",name:"Devstral Small 2",contextWindow:256000,maxTokens:12800,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07",family:"devstral"},"mistral/mistral-medium":{id:"mistral/mistral-medium",name:"Mistral Medium 3.1",contextWindow:128000,maxTokens:64000,capabilities:["images","tools","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07",family:"mistral-medium"},"openai/o3":{id:"openai/o3",name:"o3",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-16",family:"o"},"openai/o3-pro":{id:"openai/o3-pro",name:"o3 Pro",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning"],pricing:{input:20,output:80,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-16",family:"o-pro"},"openai/o4-mini":{id:"openai/o4-mini",name:"o4-mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-04-16",family:"o-mini"},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt"},"openai/gpt-4.1-mini":{id:"openai/gpt-4.1-mini",name:"GPT-4.1 mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt-mini"},"openai/gpt-4.1-nano":{id:"openai/gpt-4.1-nano",name:"GPT-4.1 nano",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt-nano"},"meta/llama-4-maverick":{id:"meta/llama-4-maverick",name:"Llama-4-Maverick-17B-128E-Instruct-FP8",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05",family:"llama"},"meta/llama-4-scout":{id:"meta/llama-4-scout",name:"Llama-4-Scout-17B-16E-Instruct-FP8",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05",family:"llama"},"alibaba/qwen-3-14b":{id:"alibaba/qwen-3-14b",name:"Qwen3-14B",contextWindow:40960,maxTokens:16384,capabilities:["tools","reasoning","temperature"],pricing:{input:0.06,output:0.24,cacheRead:0,cacheWrite:0},releaseDate:"2025-04",family:"qwen"},"alibaba/qwen-3-235b":{id:"alibaba/qwen-3-235b",name:"Qwen3 235B A22B Instruct 2507",contextWindow:40960,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.13,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-04",family:"qwen"},"alibaba/qwen-3-30b":{id:"alibaba/qwen-3-30b",name:"Qwen3-30B-A3B",contextWindow:40960,maxTokens:16384,capabilities:["tools","reasoning","temperature"],pricing:{input:0.08,output:0.29,cacheRead:0,cacheWrite:0},releaseDate:"2025-04",family:"qwen"},"alibaba/qwen-3-32b":{id:"alibaba/qwen-3-32b",name:"Qwen 3.32B",contextWindow:40960,maxTokens:16384,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-04",family:"qwen"},"alibaba/qwen3-235b-a22b-thinking":{id:"alibaba/qwen3-235b-a22b-thinking",name:"Qwen3 235B A22B Thinking 2507",contextWindow:262114,maxTokens:13105,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.3,output:2.9,cacheRead:0,cacheWrite:0},releaseDate:"2025-04",family:"qwen"},"alibaba/qwen3-coder":{id:"alibaba/qwen3-coder",name:"Qwen3 Coder 480B A35B Instruct",contextWindow:262144,maxTokens:66536,capabilities:["tools","temperature"],pricing:{input:0.38,output:1.53,cacheRead:0,cacheWrite:0},releaseDate:"2025-04",family:"qwen"},"alibaba/qwen3-coder-30b-a3b":{id:"alibaba/qwen3-coder-30b-a3b",name:"Qwen 3 Coder 30B A3B Instruct",contextWindow:160000,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.07,output:0.27,cacheRead:0,cacheWrite:0},releaseDate:"2025-04",family:"qwen"},"google/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-03-20",family:"gemini-flash"},"google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-03-20",family:"gemini-pro"},"mistral/magistral-medium":{id:"mistral/magistral-medium",name:"Magistral Medium (latest)",contextWindow:128000,maxTokens:16384,capabilities:["tools","reasoning","temperature"],pricing:{input:2,output:5,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-17",family:"magistral-medium"},"mistral/magistral-small":{id:"mistral/magistral-small",name:"Magistral Small",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-17",family:"magistral-small"},"cohere/command-a":{id:"cohere/command-a",name:"Command A",contextWindow:256000,maxTokens:8000,capabilities:["tools","temperature"],pricing:{input:2.5,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-13",family:"command"},"inception/mercury-coder-small":{id:"inception/mercury-coder-small",name:"Mercury Coder Small Beta",contextWindow:32000,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.25,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-02-26",family:"mercury"},"anthropic/claude-3.7-sonnet":{id:"anthropic/claude-3.7-sonnet",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19",family:"claude-sonnet"},"perplexity/sonar":{id:"perplexity/sonar",name:"Sonar",contextWindow:127000,maxTokens:8000,capabilities:["images","tools","temperature"],pricing:{input:1,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-02-19",family:"sonar"},"perplexity/sonar-pro":{id:"perplexity/sonar-pro",name:"Sonar Pro",contextWindow:200000,maxTokens:8000,capabilities:["images","tools","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2025-02-19",family:"sonar-pro"},"xai/grok-3":{id:"xai/grok-3",name:"Grok 3",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"xai/grok-3-fast":{id:"xai/grok-3-fast",name:"Grok 3 Fast",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"xai/grok-3-mini":{id:"xai/grok-3-mini",name:"Grok 3 Mini",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"xai/grok-3-mini-fast":{id:"xai/grok-3-mini-fast",name:"Grok 3 Mini Fast",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:4,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"deepseek/deepseek-r1":{id:"deepseek/deepseek-r1",name:"DeepSeek-R1",contextWindow:128000,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:1.35,output:5.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-20",family:"deepseek-thinking"},"alibaba/qwen3-max-thinking":{id:"alibaba/qwen3-max-thinking",name:"Qwen 3 Max Thinking",contextWindow:256000,maxTokens:65536,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1.2,output:6,cacheRead:0.24,cacheWrite:0},releaseDate:"2025-01",family:"qwen"},"arcee-ai/trinity-large-preview":{id:"arcee-ai/trinity-large-preview",name:"Trinity Large Preview",contextWindow:131000,maxTokens:6550,capabilities:["tools","temperature"],pricing:{input:0.25,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-01",family:"trinity"},"zai/glm-4.7-flashx":{id:"zai/glm-4.7-flashx",name:"GLM 4.7 FlashX",contextWindow:200000,maxTokens:128000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.06,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-01",family:"glm-flash"},"deepseek/deepseek-v3":{id:"deepseek/deepseek-v3",name:"DeepSeek V3 0324",contextWindow:163840,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.77,output:0.77,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-26",family:"deepseek"},"openai/o3-mini":{id:"openai/o3-mini",name:"o3-mini",contextWindow:200000,maxTokens:1e5,capabilities:["tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.55,cacheWrite:0},releaseDate:"2024-12-20",family:"o-mini"},"google/gemini-2.0-flash":{id:"google/gemini-2.0-flash",name:"Gemini 2.0 Flash",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2024-12-11",family:"gemini-flash"},"google/gemini-2.0-flash-lite":{id:"google/gemini-2.0-flash-lite",name:"Gemini 2.0 Flash Lite",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","structured_output","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-11",family:"gemini-flash-lite"},"meta/llama-3.3-70b":{id:"meta/llama-3.3-70b",name:"Llama-3.3-70B-Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06",family:"llama"},"openai/o1":{id:"openai/o1",name:"o1",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:15,output:60,cacheRead:7.5,cacheWrite:0},releaseDate:"2024-12-05",family:"o"},"amazon/nova-lite":{id:"amazon/nova-lite",name:"Nova Lite",contextWindow:300000,maxTokens:8192,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.06,output:0.24,cacheRead:0.015,cacheWrite:0},releaseDate:"2024-12-03",family:"nova-lite"},"amazon/nova-micro":{id:"amazon/nova-micro",name:"Nova Micro",contextWindow:128000,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.035,output:0.14,cacheRead:0.00875,cacheWrite:0},releaseDate:"2024-12-03",family:"nova-micro"},"amazon/nova-pro":{id:"amazon/nova-pro",name:"Nova Pro",contextWindow:300000,maxTokens:8192,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.8,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2024-12-03",family:"nova-pro"},"nvidia/nemotron-nano-12b-v2-vl":{id:"nvidia/nemotron-nano-12b-v2-vl",name:"Nvidia Nemotron Nano 12B V2 VL",contextWindow:131072,maxTokens:6553,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-12",family:"nemotron"},"openai/gpt-oss-safeguard-20b":{id:"openai/gpt-oss-safeguard-20b",name:"gpt-oss-safeguard-20b",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.08,output:0.3,cacheRead:0.04,cacheWrite:0},releaseDate:"2024-12-01",family:"gpt-oss"},"mistral/pixtral-large":{id:"mistral/pixtral-large",name:"Pixtral Large (latest)",contextWindow:128000,maxTokens:6400,capabilities:["images","tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-11-01",family:"pixtral"},"anthropic/claude-3.5-haiku":{id:"anthropic/claude-3.5-haiku",name:"Claude Haiku 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22",family:"claude-haiku"},"anthropic/claude-3.5-sonnet":{id:"anthropic/claude-3.5-sonnet",name:"Claude Sonnet 3.5 v2",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22",family:"claude-sonnet"},"mistral/ministral-3b":{id:"mistral/ministral-3b",name:"Ministral 3B (latest)",contextWindow:128000,maxTokens:6400,capabilities:["tools","temperature"],pricing:{input:0.04,output:0.04,cacheRead:0,cacheWrite:0},releaseDate:"2024-10-01",family:"ministral"},"mistral/ministral-8b":{id:"mistral/ministral-8b",name:"Ministral 8B (latest)",contextWindow:128000,maxTokens:6400,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2024-10-01",family:"ministral"},"meta/llama-3.2-11b":{id:"meta/llama-3.2-11b",name:"Llama 3.2 11B Vision Instruct",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.16,output:0.16,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25",family:"llama"},"meta/llama-3.2-90b":{id:"meta/llama-3.2-90b",name:"Llama 3.2 90B Vision Instruct",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.72,output:0.72,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25",family:"llama"},"mistral/pixtral-12b":{id:"mistral/pixtral-12b",name:"Pixtral 12B",contextWindow:128000,maxTokens:6400,capabilities:["images","tools","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-01",family:"pixtral"},"xai/grok-2-vision":{id:"xai/grok-2-vision",name:"Grok 2 Vision",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20",family:"grok"},"meta/llama-3.1-70b":{id:"meta/llama-3.1-70b",name:"Llama 3.1 70B Instruct",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.4,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23",family:"llama"},"meta/llama-3.1-8b":{id:"meta/llama-3.1-8b",name:"Llama 3.1 8B Instruct",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.03,output:0.05,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23",family:"llama"},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"GPT-4o mini",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.15,output:0.6,cacheRead:0.08,cacheWrite:0},releaseDate:"2024-07-18",family:"gpt-mini"},"mistral/mistral-nemo":{id:"mistral/mistral-nemo",name:"Mistral Nemo",contextWindow:60288,maxTokens:16000,capabilities:["tools","temperature"],pricing:{input:0.04,output:0.17,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-01",family:"mistral-nemo"},"openai/o3-deep-research":{id:"openai/o3-deep-research",name:"o3-deep-research",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:10,output:40,cacheRead:2.5,cacheWrite:0},releaseDate:"2024-06-26",family:"o"},"anthropic/claude-3.5-sonnet-20240620":{id:"anthropic/claude-3.5-sonnet-20240620",name:"Claude 3.5 Sonnet (2024-06-20)",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2024-06-20",family:"claude-sonnet"},"mistral/codestral":{id:"mistral/codestral",name:"Codestral (latest)",contextWindow:256000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0,cacheWrite:0},releaseDate:"2024-05-29",family:"codestral"},"openai/gpt-4o":{id:"openai/gpt-4o",name:"GPT-4o",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-05-13",family:"gpt"},"mistral/mixtral-8x22b-instruct":{id:"mistral/mixtral-8x22b-instruct",name:"Mixtral 8x22B",contextWindow:64000,maxTokens:3200,capabilities:["tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-04-17",family:"mixtral"},"anthropic/claude-3-haiku":{id:"anthropic/claude-3-haiku",name:"Claude Haiku 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.25,output:1.25,cacheRead:0.03,cacheWrite:0.3},releaseDate:"2024-03-13",family:"claude-haiku"},"anthropic/claude-3-opus":{id:"anthropic/claude-3-opus",name:"Claude Opus 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2024-02-29",family:"claude-opus"},"openai/gpt-4-turbo":{id:"openai/gpt-4-turbo",name:"GPT-4 Turbo",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:10,output:30,cacheRead:0,cacheWrite:0},releaseDate:"2023-11-06",family:"gpt"}},vertex:{"claude-opus-4-7@default":{id:"claude-opus-4-7@default",name:"Claude Opus 4.7",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-04-16",family:"claude-opus"},"claude-sonnet-4-6@default":{id:"claude-sonnet-4-6@default",name:"Claude Sonnet 4.6",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"claude-opus-4-6@default":{id:"claude-opus-4-6@default",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"claude-opus-4-5@20251101":{id:"claude-opus-4-5@20251101",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-01",family:"claude-opus"},"claude-haiku-4-5@20251001":{id:"claude-haiku-4-5@20251001",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"claude-sonnet-4-5@20250929":{id:"claude-sonnet-4-5@20250929",name:"Claude Sonnet 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"claude-opus-4-1@20250805":{id:"claude-opus-4-1@20250805",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05",family:"claude-opus"},"claude-opus-4@20250514":{id:"claude-opus-4@20250514",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"claude-sonnet-4@20250514":{id:"claude-sonnet-4@20250514",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"claude-3-7-sonnet@20250219":{id:"claude-3-7-sonnet@20250219",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19",family:"claude-sonnet"},"claude-3-5-haiku@20241022":{id:"claude-3-5-haiku@20241022",name:"Claude Haiku 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22",family:"claude-haiku"},"claude-3-5-sonnet@20241022":{id:"claude-3-5-sonnet@20241022",name:"Claude Sonnet 3.5 v2",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22",family:"claude-sonnet"}},wandb:{"zai-org/GLM-5.1":{id:"zai-org/GLM-5.1",name:"GLM-5.1",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.4,output:4.4,cacheRead:0.26,cacheWrite:0},releaseDate:"2026-03-27",family:"glm"},"nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-FP8":{id:"nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-FP8",name:"NVIDIA Nemotron 3 Super 120B",contextWindow:262144,maxTokens:13107,capabilities:["tools","structured_output","temperature"],pricing:{input:0.2,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11",family:"nemotron"},"MiniMaxAI/MiniMax-M2.5":{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax M2.5",contextWindow:196608,maxTokens:9830,capabilities:["tools","structured_output","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12",family:"minimax"},"zai-org/GLM-5-FP8":{id:"zai-org/GLM-5-FP8",name:"GLM 5",contextWindow:200000,maxTokens:1e4,capabilities:["tools","structured_output","temperature"],pricing:{input:1,output:3.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-11",family:"glm"},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.5,output:2.85,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-27",family:"kimi"},"deepseek-ai/DeepSeek-V3.1":{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1",contextWindow:161000,maxTokens:8050,capabilities:["tools","structured_output","temperature"],pricing:{input:0.55,output:1.65,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21",family:"deepseek"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"gpt-oss-120b",contextWindow:131072,maxTokens:6553,capabilities:["tools","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"gpt-oss-20b",contextWindow:131072,maxTokens:6553,capabilities:["tools","structured_output","temperature"],pricing:{input:0.05,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"Qwen/Qwen3-30B-A3B-Instruct-2507":{id:"Qwen/Qwen3-30B-A3B-Instruct-2507",name:"Qwen3 30B A3B Instruct 2507",contextWindow:262144,maxTokens:13107,capabilities:["tools","structured_output","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-29",family:"qwen"},"Qwen/Qwen3-235B-A22B-Thinking-2507":{id:"Qwen/Qwen3-235B-A22B-Thinking-2507",name:"Qwen3-235B-A22B-Thinking-2507",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25",family:"qwen"},"Qwen/Qwen3-Coder-480B-A35B-Instruct":{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3-Coder-480B-A35B-Instruct",contextWindow:262144,maxTokens:13107,capabilities:["tools","structured_output","temperature"],pricing:{input:1,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23",family:"qwen"},"OpenPipe/Qwen3-14B-Instruct":{id:"OpenPipe/Qwen3-14B-Instruct",name:"OpenPipe Qwen3 14B Instruct",contextWindow:32768,maxTokens:1638,capabilities:["tools","structured_output","temperature"],pricing:{input:0.05,output:0.22,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-29",family:"qwen"},"Qwen/Qwen3-235B-A22B-Instruct-2507":{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B A22B Instruct 2507",contextWindow:262144,maxTokens:13107,capabilities:["tools","structured_output","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-28",family:"qwen"},"meta-llama/Llama-4-Scout-17B-16E-Instruct":{id:"meta-llama/Llama-4-Scout-17B-16E-Instruct",name:"Llama 4 Scout 17B 16E Instruct",contextWindow:64000,maxTokens:3200,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.17,output:0.66,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-31",family:"llama"},"microsoft/Phi-4-mini-instruct":{id:"microsoft/Phi-4-mini-instruct",name:"Phi-4-mini-instruct",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.08,output:0.35,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-11",family:"phi"},"meta-llama/Llama-3.3-70B-Instruct":{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama-3.3-70B-Instruct",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.71,output:0.71,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06",family:"llama"},"meta-llama/Llama-3.1-70B-Instruct":{id:"meta-llama/Llama-3.1-70B-Instruct",name:"Llama 3.1 70B",contextWindow:128000,maxTokens:6400,capabilities:["tools","structured_output","temperature"],pricing:{input:0.8,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23",family:"llama"},"meta-llama/Llama-3.1-8B-Instruct":{id:"meta-llama/Llama-3.1-8B-Instruct",name:"Meta-Llama-3.1-8B-Instruct",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.22,output:0.22,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23",family:"llama"}},xai:{"grok-4.3":{id:"grok-4.3",name:"Grok 4.3",contextWindow:1e6,maxTokens:30000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:2.5,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-05-01",family:"grok"},"grok-4.20-0309-non-reasoning":{id:"grok-4.20-0309-non-reasoning",name:"Grok 4.20 (Non-Reasoning)",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-09",family:"grok"},"grok-4.20-0309-reasoning":{id:"grok-4.20-0309-reasoning",name:"Grok 4.20 (Reasoning)",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-09",family:"grok"},"grok-4-1-fast":{id:"grok-4-1-fast",name:"Grok 4.1 Fast",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-11-19",family:"grok"},"grok-4-1-fast-non-reasoning":{id:"grok-4-1-fast-non-reasoning",name:"Grok 4.1 Fast (Non-Reasoning)",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-11-19",family:"grok"},"grok-4-fast":{id:"grok-4-fast",name:"Grok 4 Fast",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09-19",family:"grok"},"grok-4-fast-non-reasoning":{id:"grok-4-fast-non-reasoning",name:"Grok 4 Fast (Non-Reasoning)",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09-19",family:"grok"},"grok-code-fast-1":{id:"grok-code-fast-1",name:"Grok Code Fast 1",contextWindow:256000,maxTokens:1e4,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:1.5,cacheRead:0.02,cacheWrite:0},releaseDate:"2025-08-28",family:"grok"},"grok-4":{id:"grok-4",name:"Grok 4",contextWindow:256000,maxTokens:64000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-07-09",family:"grok"},"grok-3":{id:"grok-3",name:"Grok 3",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"grok-3-fast":{id:"grok-3-fast",name:"Grok 3 Fast",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"grok-3-fast-latest":{id:"grok-3-fast-latest",name:"Grok 3 Fast Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"grok-3-latest":{id:"grok-3-latest",name:"Grok 3 Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"grok-3-mini":{id:"grok-3-mini",name:"Grok 3 Mini",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"grok-3-mini-fast":{id:"grok-3-mini-fast",name:"Grok 3 Mini Fast",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:4,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"grok-3-mini-fast-latest":{id:"grok-3-mini-fast-latest",name:"Grok 3 Mini Fast Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:4,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"grok-3-mini-latest":{id:"grok-3-mini-latest",name:"Grok 3 Mini Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"grok-2-1212":{id:"grok-2-1212",name:"Grok 2 (1212)",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-12-12",family:"grok"},"grok-beta":{id:"grok-beta",name:"Grok Beta",contextWindow:131072,maxTokens:4096,capabilities:["tools","temperature","prompt-cache"],pricing:{input:5,output:15,cacheRead:5,cacheWrite:0},releaseDate:"2024-11-01",family:"grok-beta"},"grok-vision-beta":{id:"grok-vision-beta",name:"Grok Vision Beta",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:5,output:15,cacheRead:5,cacheWrite:0},releaseDate:"2024-11-01",family:"grok-vision"},"grok-2":{id:"grok-2",name:"Grok 2",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20",family:"grok"},"grok-2-latest":{id:"grok-2-latest",name:"Grok 2 Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20",family:"grok"},"grok-2-vision":{id:"grok-2-vision",name:"Grok 2 Vision",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20",family:"grok"},"grok-2-vision-1212":{id:"grok-2-vision-1212",name:"Grok 2 Vision (1212)",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20",family:"grok"},"grok-2-vision-latest":{id:"grok-2-vision-latest",name:"Grok 2 Vision Latest",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20",family:"grok"}},xiaomi:{"mimo-v2.5":{id:"mimo-v2.5",name:"MiMo-V2.5",contextWindow:1048576,maxTokens:131072,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.4,output:2,cacheRead:0.08,cacheWrite:0},releaseDate:"2026-04-22",family:"mimo"},"mimo-v2.5-pro":{id:"mimo-v2.5-pro",name:"MiMo-V2.5-Pro",contextWindow:1048576,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-04-22",family:"mimo"},"mimo-v2-omni":{id:"mimo-v2-omni",name:"MiMo-V2-Omni",contextWindow:256000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.4,output:2,cacheRead:0.08,cacheWrite:0},releaseDate:"2026-03-18",family:"mimo"},"mimo-v2-pro":{id:"mimo-v2-pro",name:"MiMo-V2-Pro",contextWindow:1e6,maxTokens:128000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-18",family:"mimo"},"mimo-v2-flash":{id:"mimo-v2-flash",name:"MiMo-V2-Flash",contextWindow:256000,maxTokens:64000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-12-16",family:"mimo"}},zai:{"glm-5v-turbo":{id:"glm-5v-turbo",name:"GLM-5V-Turbo",contextWindow:200000,maxTokens:131072,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.2,output:4,cacheRead:0.24,cacheWrite:0},releaseDate:"2026-04-01",family:"glm"},"glm-5.1":{id:"glm-5.1",name:"GLM-5.1",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.4,output:4.4,cacheRead:0.26,cacheWrite:0},releaseDate:"2026-03-27",family:"glm"},"glm-5-turbo":{id:"glm-5-turbo",name:"GLM-5-Turbo",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.2,output:4,cacheRead:0.24,cacheWrite:0},releaseDate:"2026-03-16",family:"glm"},"glm-5":{id:"glm-5",name:"GLM-5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-11",family:"glm"},"glm-4.7-flash":{id:"glm-4.7-flash",name:"GLM-4.7-Flash",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-19",family:"glm-flash"},"glm-4.7-flashx":{id:"glm-4.7-flashx",name:"GLM-4.7-FlashX",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.07,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2026-01-19",family:"glm-flash"},"glm-4.7":{id:"glm-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-12-22",family:"glm"},"glm-4.6v":{id:"glm-4.6v",name:"GLM-4.6V",contextWindow:128000,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-08",family:"glm"},"glm-4.6":{id:"glm-4.6",name:"GLM-4.6",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-09-30",family:"glm"},"glm-4.5v":{id:"glm-4.5v",name:"GLM-4.5V",contextWindow:64000,maxTokens:16384,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-11",family:"glm"},"glm-4.5":{id:"glm-4.5",name:"GLM-4.5",contextWindow:131072,maxTokens:98304,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-07-28",family:"glm"},"glm-4.5-air":{id:"glm-4.5-air",name:"GLM-4.5-Air",contextWindow:131072,maxTokens:98304,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:1.1,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-07-28",family:"glm-air"},"glm-4.5-flash":{id:"glm-4.5-flash",name:"GLM-4.5-Flash",contextWindow:131072,maxTokens:98304,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-28",family:"glm-flash"}},"zai-coding-plan":{"glm-5v-turbo":{id:"glm-5v-turbo",name:"GLM-5V-Turbo",contextWindow:200000,maxTokens:131072,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-01",family:"glm"},"glm-5.1":{id:"glm-5.1",name:"GLM-5.1",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-27",family:"glm"},"glm-5-turbo":{id:"glm-5-turbo",name:"GLM-5-Turbo",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-16",family:"glm"},"glm-4.7":{id:"glm-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-22",family:"glm"},"glm-4.5-air":{id:"glm-4.5-air",name:"GLM-4.5-Air",contextWindow:131072,maxTokens:98304,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-28",family:"glm-air"}}}};var cf=[{modelsDevKey:"openai",generatedProviderId:"openai-native",runtimeProviderId:"openai-native"},{modelsDevKey:"openai",generatedProviderId:"openai-native",runtimeProviderId:"openai-codex"},{modelsDevKey:"openai",generatedProviderId:"openai-native",runtimeProviderId:"openai-codex-cli"},{modelsDevKey:"anthropic",generatedProviderId:"anthropic"},{modelsDevKey:"anthropic",generatedProviderId:"anthropic",runtimeProviderId:"claude-code"},{modelsDevKey:"google",generatedProviderId:"gemini"},{modelsDevKey:"deepseek",generatedProviderId:"deepseek",runtimeProviderId:"deepseek"},{modelsDevKey:"xai",generatedProviderId:"xai"},{modelsDevKey:"togetherai",generatedProviderId:"together",runtimeProviderId:"together"},{modelsDevKey:"sap-ai-core",generatedProviderId:"sapaicore",runtimeProviderId:"sapaicore"},{modelsDevKey:"ollama",runtimeProviderId:"ollama-cloud"},{modelsDevKey:"ollama-cloud",generatedProviderId:"ollama"},{modelsDevKey:"fireworks-ai",generatedProviderId:"fireworks",runtimeProviderId:"fireworks"},{modelsDevKey:"groq",generatedProviderId:"groq",runtimeProviderId:"groq"},{modelsDevKey:"cerebras",generatedProviderId:"cerebras",runtimeProviderId:"cerebras"},{modelsDevKey:"sambanova",generatedProviderId:"sambanova",runtimeProviderId:"sambanova"},{modelsDevKey:"nebius",generatedProviderId:"nebius",runtimeProviderId:"nebius"},{modelsDevKey:"huggingface",generatedProviderId:"huggingface",runtimeProviderId:"huggingface"},{modelsDevKey:"openrouter",generatedProviderId:"openrouter"},{modelsDevKey:"vercel",generatedProviderId:"vercel-ai-gateway",runtimeProviderId:"dify"},{modelsDevKey:"vercel",generatedProviderId:"vercel-ai-gateway"},{modelsDevKey:"openrouter",generatedProviderId:"openrouter",runtimeProviderId:"cline"},{modelsDevKey:"aihubmix",generatedProviderId:"aihubmix",runtimeProviderId:"aihubmix"},{modelsDevKey:"hicap",runtimeProviderId:"hicap"},{modelsDevKey:"nous-research",runtimeProviderId:"nousResearch"},{modelsDevKey:"huawei-cloud-maas",runtimeProviderId:"huawei-cloud-maas"},{modelsDevKey:"baseten",generatedProviderId:"baseten",runtimeProviderId:"baseten"},{modelsDevKey:"zai-coding-plan",generatedProviderId:"zai-coding-plan"},{modelsDevKey:"google-vertex-anthropic",generatedProviderId:"vertex"},{modelsDevKey:"lmstudio",generatedProviderId:"lmstudio"},{modelsDevKey:"zai",generatedProviderId:"zai"},{modelsDevKey:"requesty",generatedProviderId:"requesty"},{modelsDevKey:"amazon-bedrock",generatedProviderId:"bedrock"},{modelsDevKey:"moonshotai",generatedProviderId:"moonshot"},{modelsDevKey:"minimax",generatedProviderId:"minimax"},{modelsDevKey:"wandb",generatedProviderId:"wandb"},{modelsDevKey:"kilo",generatedProviderId:"kilo"},{modelsDevKey:"xiaomi",generatedProviderId:"xiaomi"},{modelsDevKey:"v0",generatedProviderId:"v0"}];function zf(n){return[...new Set(n)]}var pf=Object.fromEntries(cf.flatMap((n)=>n.generatedProviderId?[[n.modelsDevKey,n.generatedProviderId]]:[]));function sw(n){let r=cf.flatMap((f)=>{if(!f.generatedProviderId)return[];if(f.generatedProviderId===n||f.runtimeProviderId===n)return[f.generatedProviderId];return[]});if(n==="nousResearch")return zf([...r,"nousresearch",n]);return zf([...r,n])}var Ow=4096,xw=4096;function no(n){if(!n)return Number.NEGATIVE_INFINITY;let r=Date.parse(n);return Number.isNaN(r)?Number.NEGATIVE_INFINITY:r}function $n(n){return Object.fromEntries(Object.entries(n).sort(([r,f],[o,y])=>{let w=no(f.releaseDate),P=no(y.releaseDate);if(w!==P)return P-w;return r.localeCompare(o)}))}function uw(n){let r=[];if(n.modalities?.input?.includes("image"))r.push("images");if(n.modalities?.input?.includes("pdf"))r.push("files");if(n.tool_call===!0)r.push("tools");if(n.reasoning===!0)r.push("reasoning");if(n.structured_output===!0)r.push("structured_output");if(n.temperature===!0)r.push("temperature");if((n.cost?.cache_read??0)>0)r.push("prompt-cache");return r}function iw(n){if(n==="active"||n==="preview"||n==="deprecated"||n==="legacy")return n;return}function Iw(n,r){let f=r.limit?.context??Ow,o=r.limit?.output??xw,y=f===o?o*0.05:o;return{id:n,name:r.name||n,contextWindow:f,maxTokens:Math.floor(y),capabilities:uw(r),pricing:{input:r.cost?.input??0,output:r.cost?.output??0,cacheRead:r.cost?.cache_read??0,cacheWrite:r.cost?.cache_write??0},status:iw(r.status),releaseDate:r.release_date,family:r.family}}function tw(n){return n.status==="deprecated"}function qw(n){let r={};for(let[f,o]of Object.entries(pf)){let y=n[f];if(!y?.models)continue;let w={};for(let[P,G]of Object.entries(y.models)){if(G.tool_call!==!0||tw(G))continue;w[P]=Iw(P,G)}if(Object.keys(w).length>0)r[o]=$n(w)}return r}async function ro(n,r=fetch){let f=await r(n);if(!f.ok)throw Error(`Failed to load model catalog from ${n}: HTTP ${f.status}`);let o=await f.json();return qw(o)}var fo,oo=new Map;function yo(){return fo??=Object.fromEntries(Object.entries(er.providers).map(([n,r])=>[n,$n(r)])),fo}function Ln(n){let r=oo.get(n);if(r)return r;let f=$n(er.providers[n]??{});return oo.set(n,f),f}var zw="https://code.aiservice.us-chicago-1.oci.oraclecloud.com/20250206/app/litellm";function cw(n){return Object.fromEntries(Object.entries(n).map(([r,f])=>[r,{...f}]))}function wo(n){return cw(Ln(n))}function br(n){let r=Object.entries(wo("anthropic")).find(([f])=>n(f));if(r)return r[1];return{id:"sonnet",name:"Claude Sonnet",capabilities:["streaming","reasoning"]}}function pw(){function n(r){return{...r==="opus"?br((o)=>o.includes("opus")):r==="haiku"?br((o)=>o.includes("haiku")):br((o)=>o.includes("sonnet")),id:r,name:`Claude ${r.charAt(0).toUpperCase()}${r.slice(1)}`}}return{opus:n("opus"),sonnet:n("sonnet"),haiku:n("haiku")}}function nP(n,r){let f=new Set(["text"]);for(let y of r.capabilities??[])switch(y){case"tools":f.add("tools");break;case"reasoning":f.add("reasoning");break;case"images":f.add("images");break;case"structured_output":f.add("structured-output");break}let o={};if(r.family)o.family=r.family;if(r.pricing)o.pricing=r.pricing;if(r.status)o.status=r.status;if(r.releaseDate)o.releaseDate=r.releaseDate;return{id:r.id,name:r.name??r.id,providerId:n,description:r.description,contextWindow:r.contextWindow,maxOutputTokens:r.maxTokens,capabilities:[...f],metadata:Object.keys(o).length>0?o:void 0}}function rP(n){if(n.client==="openai")return"openai-responses";switch(n.family){case"openai":return"openai-responses";case"anthropic":case"bedrock":return"anthropic";case"google":case"vertex":return"gemini";default:return"openai-chat"}}function fP(n){if(n.protocol==="openai-responses")return"openai";switch(n.family){case"openai":return"openai";case"anthropic":return"anthropic";case"google":return"gemini";case"vertex":return"vertex";case"bedrock":return"bedrock";case"mistral":case"claude-code":case"openai-codex":case"opencode":case"dify":return"ai-sdk-community";default:return"openai-compatible"}}var oP=[{id:"cline",name:"Cline",description:"Cline API endpoint",family:"openai-compatible",capabilities:["reasoning","prompt-cache","tools","oauth"],modelsProviderId:"openrouter",defaultModelId:"anthropic/claude-sonnet-4.6",apiKeyEnv:["CLINE_API_KEY"],defaults:{baseUrl:"https://api.cline.bot/api/v1"},metadata:{promptCacheStrategy:"anthropic-automatic"}},{id:"deepseek",name:"DeepSeek",description:"Advanced AI models with reasoning capabilities",family:"openai-compatible",capabilities:["reasoning","prompt-cache"],defaultModelId:"deepseek-v4-flash",apiKeyEnv:["DEEPSEEK_API_KEY"],defaults:{baseUrl:"https://api.deepseek.com/v1"}},{id:"xai",name:"xAI",description:"Creator of Grok AI assistant",family:"openai-compatible",capabilities:["reasoning"],defaultModelId:"grok-4.20-0309-non-reasoning",apiKeyEnv:["XAI_API_KEY"],defaults:{baseUrl:"https://api.x.ai/v1"}},{id:"together",name:"Together AI",description:"Fast inference for open-source models",family:"openai-compatible",capabilities:["reasoning"],defaultModelId:"Qwen/Qwen3.5-397B-A17B",apiKeyEnv:["TOGETHER_API_KEY"],defaults:{baseUrl:"https://api.together.xyz/v1"}},{id:"fireworks",name:"Fireworks AI",description:"High-performance inference platform",family:"openai-compatible",defaultModelId:"accounts/fireworks/models/minimax-m2p5",apiKeyEnv:["FIREWORKS_API_KEY"],defaults:{baseUrl:"https://api.fireworks.ai/inference/v1"}},{id:"groq",name:"Groq",description:"Ultra-fast LPU inference",family:"openai-compatible",defaultModelId:"moonshotai/kimi-k2-instruct-0905",apiKeyEnv:["GROQ_API_KEY"],defaults:{baseUrl:"https://api.groq.com/openai/v1"}},{id:"cerebras",name:"Cerebras",description:"Fast inference on Cerebras wafer-scale chips",family:"openai-compatible",defaultModelId:"zai-glm-4.7",apiKeyEnv:["CEREBRAS_API_KEY"],defaults:{baseUrl:"https://api.cerebras.ai/v1"}},{id:"sambanova",name:"SambaNova",description:"High-performance AI inference",family:"openai-compatible",apiKeyEnv:["SAMBANOVA_API_KEY"],modelsProviderId:"sambanova",defaults:{baseUrl:"https://api.sambanova.ai/v1"}},{id:"nebius",name:"Nebius",description:"European cloud AI infrastructure",family:"openai-compatible",defaultModelId:"nvidia/nemotron-3-super-120b-a12b",apiKeyEnv:["NEBIUS_API_KEY"],defaults:{baseUrl:"https://api.studio.nebius.ai/v1"}},{id:"baseten",name:"Baseten",description:"ML inference platform",family:"openai-compatible",apiKeyEnv:["BASETEN_API_KEY"],modelsProviderId:"baseten",defaults:{baseUrl:"https://model-api.baseten.co/v1"}},{id:"requesty",name:"Requesty",description:"AI router with multiple provider support",family:"openai-compatible",capabilities:["reasoning"],defaultModelId:"openai/gpt-5.4",apiKeyEnv:["REQUESTY_API_KEY"],modelsProviderId:"requesty",defaults:{baseUrl:"https://router.requesty.ai/v1"}},{id:"litellm",name:"LiteLLM",description:"Self-hosted LLM proxy",family:"openai-compatible",protocol:"openai-responses",capabilities:["prompt-cache"],defaultModelId:"gpt-5.4",apiKeyEnv:["LITELLM_API_KEY"],defaults:{baseUrl:"http://localhost:4000/v1"}},{id:"huggingface",name:"Hugging Face",description:"Hugging Face inference API",family:"openai-compatible",defaultModelId:"MiniMaxAI/MiniMax-M2.5",apiKeyEnv:["HF_TOKEN"],modelsProviderId:"huggingface",defaults:{baseUrl:"https://api-inference.huggingface.co/v1"}},{id:"vercel-ai-gateway",name:"Vercel AI Gateway",description:"Vercel's AI gateway service",family:"openai-compatible",capabilities:["reasoning"],defaultModelId:"alibaba/qwen3.6-plus",apiKeyEnv:["AI_GATEWAY_API_KEY"],modelsProviderId:"vercel-ai-gateway",defaults:{baseUrl:"https://ai-gateway.vercel.sh/v1"},metadata:{promptCacheStrategy:"anthropic-automatic"}},{id:"v0",name:"Vercel V0",description:"The Vercel provider gives you access to the v0 API, designed for building modern web applications.",family:"openai-compatible",protocol:"openai-responses",capabilities:["reasoning","tools"],defaultModelId:"v0-1.5-md",apiKeyEnv:["V0_API_KEY"],modelsProviderId:"v0",defaults:{baseUrl:"https://api.v0.dev/v1"}},{id:"aihubmix",name:"AI Hub Mix",description:"AI model aggregator",family:"openai-compatible",defaultModelId:"gpt-4o",apiKeyEnv:["AIHUBMIX_API_KEY"],modelsProviderId:"aihubmix",defaults:{baseUrl:"https://api.aihubmix.com/v1"},metadata:{promptCacheStrategy:"anthropic-automatic"}},{id:"hicap",name:"HiCap",description:"HiCap AI platform",family:"openai-compatible",defaultModelId:"hicap-pro",apiKeyEnv:["HICAP_API_KEY"],defaults:{baseUrl:"https://api.hicap.ai/v1"}},{id:"nousResearch",name:"Nous Research",description:"Open-source AI research lab",family:"openai-compatible",defaultModelId:"DeepHermes-3-Llama-3-3-70B-Preview",apiKeyEnv:["NOUS_RESEARCH_API_KEY","NOUSRESEARCH_API_KEY"],modelsProviderId:"nousResearch",defaults:{baseUrl:"https://inference-api.nousresearch.com/v1"}},{id:"huawei-cloud-maas",name:"Huawei Cloud MaaS",description:"Huawei's model-as-a-service platform",family:"openai-compatible",defaultModelId:"DeepSeek-R1",apiKeyEnv:["HUAWEI_CLOUD_MAAS_API_KEY"],defaults:{baseUrl:"https://infer-modelarts.cn-southwest-2.myhuaweicloud.com/v1"}},{id:"qwen",name:"Alibaba Qwen",description:"Alibaba Qwen platform models",family:"openai-compatible",capabilities:["tools","reasoning"],defaultModelId:"qwen-plus-latest",apiKeyEnv:["QWEN_API_KEY"],modelsProviderId:"qwen",defaults:{baseUrl:"https://dashscope.aliyuncs.com/compatible-mode/v1"},metadata:{promptCacheStrategy:"anthropic-automatic"}},{id:"qwen-code",name:"Alibaba Qwen Code",description:"Qwen OAuth coding models",family:"openai-compatible",capabilities:["tools","reasoning"],defaultModelId:"qwen3-coder-plus",modelsProviderId:"qwen-code",defaults:{baseUrl:"https://dashscope.aliyuncs.com/compatible-mode/v1"},metadata:{promptCacheStrategy:"anthropic-automatic"}},{id:"doubao",name:"Doubao",description:"Volcengine Ark platform models",family:"openai-compatible",capabilities:["tools"],defaultModelId:"doubao-1-5-pro-256k-250115",apiKeyEnv:["DOUBAO_API_KEY"],modelsProviderId:"doubao",defaults:{baseUrl:"https://ark.cn-beijing.volces.com/api/v3"}},{id:"zai",name:"Z.AI",description:"Z.AI's family of LLMs",family:"openai-compatible",capabilities:["reasoning"],defaultModelId:"glm-5v-turbo",apiKeyEnv:["ZHIPU_API_KEY"],modelsProviderId:"zai",defaults:{baseUrl:"https://api.z.ai/api/paas/v4"}},{id:"zai-coding-plan",name:"Z.AI Coding Plan",description:"Z.AI's coding-focused models",family:"openai-compatible",capabilities:["reasoning","tools"],defaultModelId:"glm-5v-turbo",apiKeyEnv:["ZHIPU_API_KEY"],modelsProviderId:"zai-coding-plan",defaults:{baseUrl:"https://api.z.ai/api/coding/paas/v4"}},{id:"moonshot",name:"Moonshot",description:"Moonshot AI Studio models",family:"openai-compatible",capabilities:["tools","reasoning"],defaultModelId:"kimi-k2-0905-preview",apiKeyEnv:["MOONSHOT_API_KEY"],modelsProviderId:"moonshot",defaults:{baseUrl:"https://api.moonshot.ai/v1"}},{id:"wandb",name:"W&B by CoreWeave",description:"Weights & Biases",family:"openai-compatible",capabilities:["reasoning","prompt-cache","tools"],defaultModelId:"nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-FP8",apiKeyEnv:["WANDB_API_KEY"],modelsProviderId:"wandb",defaults:{baseUrl:"https://api.inference.wandb.ai/v1"}},{id:"xiaomi",name:"Xiaomi",description:"Xiaomi",family:"openai-compatible",protocol:"openai-responses",capabilities:["prompt-cache","tools","reasoning"],defaultModelId:"mimo-v2-omni",apiKeyEnv:["XIAOMI_API_KEY"],modelsProviderId:"xiaomi",defaults:{baseUrl:"https://api.xiaomimimo.com/v1"}},{id:"kilo",name:"Kilo Gateway",description:"Kilo Gateway",family:"openai-compatible",protocol:"openai-responses",capabilities:["prompt-cache","reasoning","tools"],defaultModelId:"gpt-4o",apiKeyEnv:["KILO_GATEWAY_API_KEY"],modelsProviderId:"kilo",defaults:{baseUrl:"https://api.kilo.ai/api/gateway"}},{id:"openrouter",name:"OpenRouter",description:"OpenRouter AI platform",family:"openai-compatible",capabilities:["reasoning","prompt-cache"],defaultModelId:"anthropic/claude-sonnet-4.6",apiKeyEnv:["OPENROUTER_API_KEY"],modelsProviderId:"openrouter",docsUrl:"https://openrouter.ai/models",defaults:{baseUrl:"https://openrouter.ai/api/v1"},metadata:{promptCacheStrategy:"anthropic-automatic"}},{id:"ollama",name:"Ollama",description:"Ollama Cloud and local LLM hosting",family:"openai-compatible",defaultModelId:"",apiKeyEnv:["OLLAMA_API_KEY"],defaults:{baseUrl:"http://localhost:11434/v1"},modelsSourceUrl:"http://localhost:11434/api/tags"},{id:"lmstudio",name:"LM Studio",description:"Local model inference with LM Studio",family:"openai-compatible",defaultModelId:"",apiKeyEnv:["LMSTUDIO_API_KEY"],modelsProviderId:"lmstudio",defaults:{baseUrl:"http://localhost:1234/v1"},modelsSourceUrl:"http://localhost:1234/v1/models"},{id:"oca",name:"Oracle Code Assist",description:"Oracle Code Assist (OCA) LiteLLM gateway",family:"openai-compatible",capabilities:["reasoning","prompt-cache","tools"],defaultModelId:"anthropic/claude-3-7-sonnet-20250219",apiKeyEnv:["OCA_API_KEY"],modelsProviderId:"oca",defaults:{baseUrl:zw},metadata:{promptCacheStrategy:"anthropic-automatic"}},{id:"asksage",name:"AskSage",description:"AskSage platform",family:"openai-compatible",client:"fetch",capabilities:["tools"],defaultModelId:"gpt-4o",apiKeyEnv:["ASKSAGE_API_KEY"],modelsFactory:()=>({}),defaults:{baseUrl:"https://api.asksage.ai/server"}},{id:"sapaicore",name:"SAP AI Core",description:"SAP AI Core inference and orchestration platform",family:"openai-compatible",client:"ai-sdk-community",capabilities:["tools","reasoning","prompt-cache"],defaultModelId:"anthropic--claude-3.5-sonnet",apiKeyEnv:["AICORE_SERVICE_KEY","VCAP_SERVICES"],modelsProviderId:"sapaicore",metadata:{promptCacheStrategy:"anthropic-automatic"}}],ar=[{id:"openai-native",name:"OpenAI",description:"Creator of GPT and ChatGPT",family:"openai",capabilities:["reasoning"],modelsProviderId:"openai-native",defaultModelId:"gpt-5.4",apiKeyEnv:["OPENAI_API_KEY"],defaults:{baseUrl:"https://api.openai.com/v1"}},{id:"openai-codex",name:"OpenAI ChatGPT Subscription",description:"OpenAI ChatGPT subscription access uses an OAuth device code flow.",family:"openai",capabilities:["reasoning","oauth"],defaultModelId:"gpt-5.4",modelsProviderId:"openai",defaults:{baseUrl:"https://chatgpt.com/backend-api/codex"},metadata:{usageCostDisplay:"hide"}},{id:"openai-codex-cli",name:"OpenAI Codex CLI",description:"OpenAI Codex via the local Codex CLI provider",family:"openai-codex",capabilities:["reasoning","provider-tools","local-auth"],defaultModelId:"gpt-5.3-codex",modelsProviderId:"openai",defaults:{baseUrl:"https://chatgpt.com/backend-api/codex"},metadata:{usageCostDisplay:"hide"}},{id:"anthropic",name:"Anthropic",description:"Creator of Claude, the AI assistant",family:"anthropic",capabilities:["reasoning","prompt-cache"],defaultModelId:"claude-sonnet-4-6",apiKeyEnv:["ANTHROPIC_API_KEY"],modelsProviderId:"anthropic",defaults:{baseUrl:"https://api.anthropic.com/v1"},metadata:{promptCacheStrategy:"anthropic-automatic"}},{id:"claude-code",name:"Claude Code",description:"Use Claude Code SDK with Claude Pro/Max subscription",family:"claude-code",capabilities:["reasoning"],defaultModelId:"sonnet",modelsFactory:pw,defaults:{baseUrl:""}},{id:"gemini",name:"Google Gemini",description:"Google Gemini API",family:"google",capabilities:["reasoning","prompt-cache"],defaultModelId:"gemma-4-26b",apiKeyEnv:["GOOGLE_GENERATIVE_AI_API_KEY","GEMINI_API_KEY"],modelsProviderId:"gemini",defaults:{baseUrl:"https://generativelanguage.googleapis.com/v1beta"}},{id:"vertex",name:"Google Vertex AI",description:"Google Cloud Vertex AI",family:"vertex",capabilities:["reasoning","prompt-cache"],defaultModelId:"claude-sonnet-4-6@default",apiKeyEnv:["GCP_PROJECT_ID","GOOGLE_CLOUD_PROJECT","GOOGLE_APPLICATION_CREDENTIALS","GEMINI_API_KEY","GOOGLE_API_KEY"],modelsProviderId:"vertex",metadata:{promptCacheStrategy:"anthropic-automatic"}},{id:"bedrock",name:"AWS Bedrock",description:"Amazon Bedrock managed foundation models",family:"bedrock",capabilities:["reasoning","prompt-cache"],defaultModelId:"minimax.minimax-m2.5",apiKeyEnv:["AWS_REGION","AWS_ACCESS_KEY_ID","AWS_SECRET_ACCESS_KEY","AWS_SESSION_TOKEN"],modelsProviderId:"bedrock",metadata:{promptCacheStrategy:"anthropic-automatic"}},{id:"mistral",name:"Mistral",description:"Mistral AI models via AI SDK provider",family:"mistral",capabilities:["reasoning"],defaultModelId:"mistral-medium-latest",apiKeyEnv:["MISTRAL_API_KEY"],modelsFactory:()=>({}),defaults:{baseUrl:"https://api.mistral.ai/v1"}},{id:"minimax",name:"MiniMax",description:"MiniMax models via Anthropic-compatible API",family:"anthropic",capabilities:["tools","reasoning","prompt-cache"],defaultModelId:"MiniMax-M2.5",apiKeyEnv:["MINIMAX_API_KEY"],modelsProviderId:"minimax",defaults:{baseUrl:"https://api.minimax.io/anthropic"},metadata:{promptCacheStrategy:"anthropic-automatic"}},{id:"opencode",name:"OpenCode",description:"OpenCode SDK multi-provider runtime",family:"opencode",capabilities:["reasoning","oauth"],defaultModelId:"openai/gpt-5.4",modelsProviderId:"opencode",defaults:{baseUrl:""}},{id:"dify",name:"Dify",description:"Dify workflow/application provider via AI SDK",family:"dify",defaultModelId:"default",apiKeyEnv:["DIFY_API_KEY"],modelsFactory:()=>({})},...oP];function yP(n){if(n.modelsFactory)return n.modelsFactory();if(n.modelsProviderId)return wo(n.modelsProviderId);return{}}function Po(n){let r=yP(n),f=Object.keys(r).length>0?r:n.defaultModelId?{[n.defaultModelId]:{id:n.defaultModelId,name:n.defaultModelId}}:{},o=Object.keys(f),y=n.defaultModelId||o[0]||"default";return{provider:{id:n.id,name:n.name,description:n.description,protocol:n.protocol??rP(n),baseUrl:n.defaults?.baseUrl,modelsSourceUrl:n.modelsSourceUrl,defaultModelId:y,capabilities:n.capabilities,env:n.apiKeyEnv?[...n.apiKeyEnv]:void 0,client:n.client??fP(n),source:"system",metadata:n.metadata},models:f}}function Co(n){let r=Po(n),f=Object.values(r.models).map((y)=>nP(n.id,y)),o=f.length>0?f:[{id:r.provider.defaultModelId||"default",name:r.provider.defaultModelId||"Default",providerId:n.id,capabilities:["text"]}];return{id:n.id,name:n.name,description:n.description,defaultModelId:r.provider.defaultModelId||o[0]?.id||"default",models:o,capabilities:n.capabilities,env:n.env??["browser","node"],api:n.defaults?.baseUrl,apiKeyEnv:n.apiKeyEnv,docsUrl:n.docsUrl,metadata:n.metadata}}var Ar=ar.map(Po),o0=Object.fromEntries(Ar.map((n)=>[n.provider.id,n]));function dP(){let n=new Map;for(let r of Ar)n.set(r.provider.id,{provider:{...r.provider},models:Object.fromEntries(Object.entries(r.models).map(([f,o])=>[f,{...o}]))});return n}var gn=dP(),Hn=new Map,yn=new Map;function on(n){return yn.get(n)??gn.get(n)}function _n(){let n=Array.from(gn.keys()),r=Array.from(yn.keys()).filter((f)=>!gn.has(f));return[...n,...r]}function vo(n){return gn.has(n)||yn.has(n)}async function Go(n){return on(n)?.provider}function dn(n){return on(n)}async function Yn(n){return on(n)}async function $o(n){let f=on(n)?.models??{},o=Hn.get(n);if(o)return{...f,...Object.fromEntries(o)};return f}async function Ho(){return _n().map((n)=>on(n)?.provider).filter((n)=>n!==void 0)}function Fo(n){yn.set(n.provider.id,n)}function Ko(n,r,f){if(!Hn.has(n))Hn.set(n,new Map);Hn.get(n)?.set(r,{...f,id:r})}function Eo(n){return Hn.delete(n),yn.delete(n)}function eo(){Hn.clear(),yn.clear()}var bo=new Proxy({},{get(n,r){return on(r)},has(n,r){return gn.has(r)||yn.has(r)},ownKeys(){return _n()},getOwnPropertyDescriptor(n,r){let f=on(r);if(f===void 0)return;return{configurable:!0,enumerable:!0,value:f}}});var Fn;((e)=>{e.ANTHROPIC="anthropic";e.CLAUDE_CODE="claude-code";e.CLINE="cline";e.OPENAI_NATIVE="openai-native";e.OPENAI_CODEX="openai-codex";e.OPENAI_CODEX_CLI="openai-codex-cli";e.OPENCODE="opencode";e.BEDROCK="bedrock";e.VERTEX="vertex";e.GEMINI="gemini";e.OLLAMA="ollama";e.LMSTUDIO="lmstudio";e.DEEPSEEK="deepseek";e.XAI="xai";e.TOGETHER="together";e.FIREWORKS="fireworks";e.GROQ="groq";e.CEREBRAS="cerebras";e.SAMBANOVA="sambanova";e.NEBIUS="nebius";e.BASETEN="baseten";e.REQUESTY="requesty";e.LITELLM="litellm";e.HUGGINGFACE="huggingface";e.VERCEL_AI_GATEWAY="vercel-ai-gateway";e.V0="v0";e.AIHUBMIX="aihubmix";e.HICAP="hicap";e.NOUS_RESEARCH="nousResearch";e.HUAWEI_CLOUD_MAAS="huawei-cloud-maas";e.WANDB="wandb";e.XIAOMI="xiaomi";e.KILO="kilo";e.ZAI="zai";e.ZAI_CODING_PLAN="zai-coding-plan";e.QWEN="qwen";e.QWEN_CODE="qwen-code";e.DOUBAO="doubao";e.MISTRAL="mistral";e.MOONSHOT="moonshot";e.ASKSAGE="asksage";e.MINIMAX="minimax";e.DIFY="dify";e.OCA="oca";e.SAPAICORE="sapaicore";e.OPENROUTER="openrouter"})(Fn||={});var wP={openai:"openai-native",togetherai:"together","sap-ai-core":"sapaicore"},Dn=Object.values(Fn);function Nn(n){return Dn.includes(n)}function h(n){let r=n.trim();return wP[r]??r}function Bn(n){return h(n.routingProviderId??n.providerId)}_();import{nanoid as sf}from"nanoid";var bw=new Map;async function jG(n){let r=bw.get(n);if(r)return r;let f=(async()=>{switch(n){case"openai":return(await Promise.resolve().then(() => (_(),B))).createOpenAIProvider;case"openai-compatible":return(await Promise.resolve().then(() => (_(),B))).createOpenAICompatibleProvider;case"anthropic":return(await Promise.resolve().then(() => (_(),B))).createAnthropicProvider;case"google":return(await Promise.resolve().then(() => (_(),B))).createGoogleProvider;case"vertex":return(await Promise.resolve().then(() => (_(),B))).createVertexProvider;case"bedrock":return(await Promise.resolve().then(() => (_(),B))).createBedrockProvider;case"mistral":return(await Promise.resolve().then(() => (_(),B))).createMistralProvider;case"claude-code":return(await Promise.resolve().then(() => (_(),B))).createClaudeCodeProvider;case"openai-codex":return(await Promise.resolve().then(() => (_(),B))).createOpenAICodexProvider;case"opencode":return(await Promise.resolve().then(() => (_(),B))).createOpenCodeProvider;case"dify":return(await Promise.resolve().then(() => (_(),B))).createDifyProvider}})();return bw.set(n,f),f}function lG(n){if(n.family==="openai"||n.protocol==="openai-responses"||n.client==="openai")return"openai";return n.family}var jn=ar.map((n)=>({manifest:Co(n),defaults:{...n.defaults,apiKeyEnv:n.apiKeyEnv,baseUrl:n.defaults?.baseUrl},loadProvider:async()=>({createProvider:await jG(lG(n))})}));async function*aw(n){for await(let r of n)yield r}function Aw(n){return{...n,models:n.models.map((r)=>({...r})),capabilities:n.capabilities?[...n.capabilities]:void 0,env:n.env?[...n.env]:void 0,api:n.api,apiKeyEnv:n.apiKeyEnv?[...n.apiKeyEnv]:void 0,docsUrl:n.docsUrl,metadata:n.metadata?{...n.metadata}:void 0}}function RG(n,r){let f=new Map;for(let o of n.models)f.set(o.id,{...o});for(let o of r?.models??[])f.set(o.id,{...o,providerId:n.id});return Array.from(f.values())}function mG(n,r){return{id:r,name:r,providerId:n.id}}class Bf{providers=new Map;providerConfigs=new Map;fallbackFetch;constructor(n){this.fallbackFetch=n}registerProvider(n){if(!n.createProvider&&!n.loadProvider)throw Error(`Provider "${n.manifest.id}" must include createProvider or loadProvider.`);this.providers.set(n.manifest.id,{manifest:Aw(n.manifest),defaults:n.defaults?{providerId:n.manifest.id,apiKey:n.defaults.apiKey,apiKeyResolver:n.defaults.apiKeyResolver,apiKeyEnv:n.defaults.apiKeyEnv,baseUrl:n.defaults.baseUrl,headers:n.defaults.headers?{...n.defaults.headers}:void 0,timeoutMs:n.defaults.timeoutMs,fetch:n.defaults.fetch,options:n.defaults.options?{...n.defaults.options}:void 0,metadata:n.defaults.metadata?{...n.defaults.metadata}:void 0}:void 0,createProvider:n.createProvider,loadProvider:n.loadProvider})}configureProvider(n){this.providerConfigs.set(n.providerId,{providerId:n.providerId,apiKey:n.apiKey,apiKeyResolver:n.apiKeyResolver,apiKeyEnv:n.apiKeyEnv,baseUrl:n.baseUrl,headers:n.headers?{...n.headers}:void 0,timeoutMs:n.timeoutMs,fetch:n.fetch,options:n.options?{...n.options}:void 0,metadata:n.metadata?{...n.metadata}:void 0,enabled:n.enabled??!0,defaultModelId:n.defaultModelId,models:n.models?.map((r)=>({...r}))})}listProviders(){return Array.from(this.providers.values()).map((n)=>this.getManifest(n.manifest.id)).filter((n)=>n!==void 0)}listModels(n){if(n)return[...this.getManifest(n)?.models??[]];return this.listProviders().flatMap((r)=>r.models.map((f)=>({...f})))}getManifest(n){let r=this.providers.get(n);if(!r)return;let f=this.providerConfigs.get(n);if(f&&!f.enabled)return;let o=RG(r.manifest,f),y=f?.defaultModelId??r.manifest.defaultModelId??o[0]?.id;if(!y)return;return{...Aw(r.manifest),defaultModelId:y,models:o,metadata:f?.metadata||r.manifest.metadata?{...r.manifest.metadata??{},...f?.metadata??{}}:void 0}}resolveModel(n){let r=this.getManifest(n.providerId);if(!r)throw Error(`Unknown or disabled provider "${n.providerId}".`);let f=n.modelId??r.defaultModelId,o=r.models.find((y)=>y.id===f)??mG(r,f);return{provider:r,model:o}}async createProvider(n){let r=this.providers.get(n);if(!r)throw Error(`Unknown provider "${n}".`);if(!r.createProvider){let P=await r.loadProvider?.();if(!P?.createProvider)throw Error(`Provider "${n}" could not be loaded.`);r.createProvider=P.createProvider}let f=this.getManifest(n);if(!f)throw Error(`Provider "${n}" is disabled.`);let o=this.providerConfigs.get(n),y={...r.defaults?.metadata??{},...o?.metadata??{}},w=Object.keys(y).length>0?y:void 0;return{manifest:f,config:{providerId:n,apiKey:o?.apiKey??r.defaults?.apiKey,apiKeyResolver:o?.apiKeyResolver??r.defaults?.apiKeyResolver,apiKeyEnv:o?.apiKeyEnv??r.defaults?.apiKeyEnv,baseUrl:o?.baseUrl??r.defaults?.baseUrl,headers:{...r.defaults?.headers??{},...o?.headers??{}},timeoutMs:o?.timeoutMs??r.defaults?.timeoutMs,fetch:o?.fetch??r.defaults?.fetch??this.fallbackFetch,options:{...r.defaults?.options??{},...o?.options??{}},metadata:w},createProvider:r.createProvider}}}class Mw{gateway;selection;defaults;constructor(n,r,f){this.gateway=n;this.selection=r;this.defaults=f}stream(n){let r=n.options?.reasoning,f=n.options?.thinking,o=n.options?.reasoningEffort,y=n.options?.thinkingBudgetTokens,w=o==="low"||o==="medium"||o==="high"?o:void 0,P=typeof f==="boolean"||w!==void 0||typeof y==="number"?{enabled:typeof f==="boolean"?f:void 0,effort:w,budgetTokens:typeof y==="number"?y:void 0}:void 0;return this.gateway.stream({providerId:this.selection.providerId,modelId:this.selection.modelId??"",systemPrompt:n.systemPrompt,messages:n.messages,tools:this.defaults?.tools??n.tools,temperature:n.options?.temperature??this.defaults?.temperature,maxTokens:n.options?.maxTokens??this.defaults?.maxTokens,metadata:n.options?.metadata??this.defaults?.metadata,reasoning:r??P??this.defaults?.reasoning,signal:n.signal??this.defaults?.signal})}}class Vf{registry;logger;constructor(n={}){if(this.registry=new Bf(n.fetch),this.logger=n.logger,n.builtins!==!1){let r=new Set(n.builtins??jn.map((f)=>f.manifest.id));for(let f of jn)if(r.has(f.manifest.id))this.registry.registerProvider(f)}for(let r of n.providers??[])this.registry.registerProvider(r);for(let r of n.providerConfigs??[])this.registry.configureProvider(r)}registerProvider(n){return this.registry.registerProvider(n),this}configureProvider(n){return this.registry.configureProvider(n),this}listProviders(){return this.registry.listProviders()}listModels(n){return this.registry.listModels(n)}createAgentModel(n,r){return new Mw(this,n,r)}async stream(n){let r=this.registry.resolveModel({providerId:n.providerId,modelId:n.modelId||void 0}),f=await this.registry.createProvider(n.providerId),y=await(await f.createProvider(f.config)).stream({...n,modelId:r.model.id,providerId:r.provider.id},{provider:r.provider,model:r.model,config:f.config,signal:n.signal,logger:this.logger});return aw(y)}}function Hr(n){return new Vf(n)}var An=new Map(jn.map((n)=>[n.manifest.id,n]));function LG(n){if(!n?.length)return;let r=new Set;for(let f of n)switch(f){case"tools":case"reasoning":case"images":case"audio":r.add(f);break;case"files":case"streaming":case"temperature":case"prompt-cache":case"reasoning-effort":case"computer-use":case"global-endpoint":r.add("text");break;case"structured_output":r.add("structured-output");break;default:r.add("text")}return r.add("text"),[...r]}function Of(n,r){return{id:r.id,name:r.name??r.id,description:r.description,providerId:n,contextWindow:r.contextWindow,maxOutputTokens:r.maxTokens,capabilities:LG(r.capabilities),metadata:{family:r.family,pricing:r.pricing,status:r.status,releaseDate:r.releaseDate}}}function Sw(n,r){if(r?.client==="openai"||r?.protocol==="openai-responses")return wr;switch(r?.client){case"anthropic":return Cr;case"gemini":return vr;case"vertex":return Gr;case"bedrock":return $r;case"openai-compatible":return Pr}switch(h(n)){case"openai-codex":case"openai-native":return wr;case"anthropic":case"minimax":return Cr;case"gemini":return vr;case"vertex":return Gr;case"bedrock":return $r;case"mistral":return Rf;case"claude-code":return mf;case"openai-codex-cli":return Lf;case"opencode":return _f;case"dify":return Nf;default:return Pr}}async function _G(n){let r=h(n.providerId),f=h(Bn(n));if(An.get(r)&&r===f)return;let y=await Yn(r)??(r!==f?await Yn(f):void 0);if(!y){let P=An.get(f);if(!P||r===f)return;return{manifest:{...P.manifest,id:r,name:P.manifest.name,models:P.manifest.models.map((G)=>({...G,providerId:r}))},defaults:P.defaults,createProvider:P.createProvider,loadProvider:P.loadProvider}}let w=An.get(f);return{manifest:{id:r,name:y.provider.name,description:y.provider.description,defaultModelId:y.provider.defaultModelId,models:Object.values(y.models).map((P)=>Of(r,P)),api:y.provider.baseUrl,apiKeyEnv:y.provider.env},defaults:{...w?.defaults??{},baseUrl:y.provider.baseUrl??w?.defaults?.baseUrl,apiKeyEnv:y.provider.env??w?.defaults?.apiKeyEnv},createProvider:w?.createProvider??Sw(f,{client:n.clientType??y.provider.client,protocol:y.provider.protocol}),loadProvider:w?.loadProvider}}function NG(n){let r=h(n.providerId),f=h(Bn(n));if(An.get(r)&&r===f)return;let y=dn(r)??(r!==f?dn(f):void 0);if(!y){let P=An.get(f);if(!P||r===f)return;return{manifest:{...P.manifest,id:r,models:P.manifest.models.map((G)=>({...G,providerId:r}))},defaults:P.defaults,createProvider:P.createProvider,loadProvider:P.loadProvider}}let w=An.get(f);return{manifest:{id:r,name:y.provider.name,description:y.provider.description,defaultModelId:y.provider.defaultModelId,models:Object.values(y.models).map((P)=>Of(r,P)),api:y.provider.baseUrl,apiKeyEnv:y.provider.env},defaults:{...w?.defaults??{},baseUrl:y.provider.baseUrl??w?.defaults?.baseUrl,apiKeyEnv:y.provider.env??w?.defaults?.apiKeyEnv},createProvider:w?.createProvider??Sw(f,{client:n.clientType??y.provider.client,protocol:y.provider.protocol}),loadProvider:w?.loadProvider}}function BG(n){let r=new Map;for(let f of n){if(!Array.isArray(f.content))continue;for(let o of f.content)if(o.type==="tool_use"){if(r.set(o.id,o.name),o.call_id)r.set(o.call_id,o.name)}}return n.map((f)=>{let o=typeof f.content==="string"?[{type:"text",text:f.content}]:f.content.flatMap((y)=>{switch(y.type){case"text":return[{type:"text",text:y.text}];case"thinking":return[{type:"reasoning",text:y.thinking,metadata:y.signature||y.call_id?{signature:y.signature,callId:y.call_id,details:y.details}:void 0}];case"tool_use":return[{type:"tool-call",toolCallId:y.call_id??y.id,toolName:y.name,input:y.input,metadata:y.signature?{thoughtSignature:y.signature}:void 0}];case"tool_result":return[{type:"tool-result",toolCallId:y.tool_use_id,toolName:r.get(y.tool_use_id)??"tool",output:y.content,isError:y.is_error??!1}];case"image":return[{type:"image",image:`data:${y.mediaType};base64,${y.data}`,mediaType:y.mediaType}];case"file":return[{type:"text",text:y.content}];case"redacted_thinking":return[];default:return[]}});return{id:sf(),role:f.role,content:o,createdAt:Date.now()}})}function VG(n){return n?.map((r)=>({name:r.name,description:r.description,inputSchema:r.inputSchema}))}function Tf(n,r,f,o,y){return{providerId:h(n.providerId),modelId:n.modelId,systemPrompt:r,messages:BG(f),tools:VG(o),maxTokens:n.maxOutputTokens,reasoning:n.thinking!==void 0||n.reasoningEffort||n.thinkingBudgetTokens!==void 0?{enabled:n.thinking,effort:n.reasoningEffort==="xhigh"?"high":n.reasoningEffort==="low"||n.reasoningEffort==="medium"||n.reasoningEffort==="high"?n.reasoningEffort:void 0,budgetTokens:n.thinkingBudgetTokens}:void 0,signal:y}}function gw(n){let r=h(n.providerId);return{providerId:r,apiKey:n.apiKey??n.accessToken,baseUrl:n.baseUrl,headers:n.headers,timeoutMs:n.timeoutMs,fetch:n.fetch,defaultModelId:n.modelId,models:n.knownModels?Object.values(n.knownModels).map((f)=>{let o=Of(r,f),{providerId:y,...w}=o;return w}):void 0,options:{region:n.region??n.gcp?.region,project:n.gcp?.projectId,projectId:n.gcp?.projectId,location:n.region??n.gcp?.region,accessKeyId:n.aws?.accessKey,secretAccessKey:n.aws?.secretKey,sessionToken:n.aws?.sessionToken,credentialProvider:n.aws?.profile,authentication:n.aws?.authentication,endpoint:n.aws?.endpoint,customModelBaseId:n.aws?.customModelBaseId,apiVersion:n.azure?.apiVersion,useIdentity:n.azure?.useIdentity,mode:n.oca?.mode,usePromptCache:n.aws?.usePromptCache??n.oca?.usePromptCache,...n.codex,...n.claudeCode,...n.opencode,...n.sap}}}function Yw(n,r){switch(r.type){case"text-delta":return{type:"text",id:n,text:r.text};case"reasoning-delta":{let f=r.metadata;return{type:"reasoning",id:n,reasoning:r.text,signature:typeof f?.thoughtSignature==="string"?f.thoughtSignature:typeof f?.signature==="string"?f.signature:void 0,details:f?.details}}case"tool-call-delta":{let f=r.metadata,o=typeof r.inputText==="string"||r.input===void 0?r.inputText:r.input;return{type:"tool_calls",id:n,signature:typeof f?.thoughtSignature==="string"?f.thoughtSignature:void 0,tool_call:{call_id:r.toolCallId,function:{id:r.toolCallId,name:r.toolName,arguments:o}}}}case"usage":return{type:"usage",id:n,inputTokens:r.usage.inputTokens??0,outputTokens:r.usage.outputTokens??0,cacheReadTokens:r.usage.cacheReadTokens,cacheWriteTokens:r.usage.cacheWriteTokens,totalCost:r.usage.totalCost};case"finish":return{type:"done",id:n,success:r.reason!=="error",error:r.error,incompleteReason:r.reason==="max-tokens"?"max_tokens":void 0}}}function TG(n){return n.modelInfo??(n.modelId?n.knownModels?.[n.modelId]:void 0)??{id:n.modelId,name:n.modelId,capabilities:["streaming"]}}class xf{config;abortSignal;constructor(n){this.config=n;this.abortSignal=n.abortSignal}getMessages(n,r){return Tf(this.config,n,r,void 0,this.abortSignal)}createMessage(n,r,f){let o=Hr({providerConfigs:[gw(this.config)],fetch:this.config.fetch,logger:this.config.logger??this.config.extensionContext?.logger}),y=NG(this.config);if(y)o.registerProvider(y);let w=Tf(this.config,n,r,f,this.abortSignal),P=`gw_${sf(10)}`,G=async function*(){for await(let b of await o.stream(w))yield Yw(P,b)}();return G.id=P,G}getModel(){return{id:this.config.modelId,info:TG(this.config)}}abort(){}setAbortSignal(n){this.abortSignal=n}}function Dw(n){return new xf(n)}async function Jw(n){let r=Hr({providerConfigs:[gw(n)],fetch:n.fetch,logger:n.logger??n.extensionContext?.logger}),f=await _G(n);if(f)r.registerProvider(f);return new class extends xf{createMessage(o,y,w){let P=Tf(n,o,y,w,n.abortSignal),G=`gw_${sf(10)}`,b=async function*(){for await(let $ of await r.stream(P))yield Yw(G,$)}();return b.id=G,b}}(n)}var Mn=new Map;function kw(n,r){Mn.set(n,{factory:r,isAsync:!1})}function Xw(n,r){Mn.set(n,{factory:r,isAsync:!0})}function uf(n){return Mn.has(n)}function Uw(n,r){let f=Mn.get(n);if(!f)return;if(f.isAsync)throw Error(`Handler for "${n}" is registered as async. Use getRegisteredHandlerAsync() or createHandlerAsync() instead.`);return f.factory(r)}async function Zw(n,r){let f=Mn.get(n);if(!f)return;if(f.isAsync)return f.factory(r);return f.factory(r)}function Qw(n){return Mn.get(n)?.isAsync??!1}function Ww(n){let r=h(n.providerId),f=n.routingProviderId?h(n.routingProviderId):void 0;if(r===n.providerId&&f===n.routingProviderId)return n;return{...n,providerId:r,routingProviderId:f}}function sG(n){let r=Ww(n),{providerId:f}=r;if(uf(f)){if(Qw(f))throw Error(`Handler for "${f}" is registered as async. Use createHandlerAsync() instead.`);let o=Uw(f,r);if(o)return o}return Dw(r)}async function OG(n){let r=Ww(n),{providerId:f}=r;if(uf(f)){let o=await Zw(f,r);if(o)return o}return Jw(r)}function xG(n){return n?.usageCostDisplay==="hide"?"hide":"show"}function hw(n){let r=dn(h(n.trim()))?.provider;return xG(r?.metadata)}function uG(n){return hw(n)==="show"}export{Eo as unregisterProvider,$n as sortModelsByReleaseDate,uG as shouldShowProviderUsageCost,hw as resolveProviderUsageCostDisplay,sw as resolveProviderModelCatalogKeys,eo as resetRegistry,Fo as registerProvider,Ko as registerModel,kw as registerHandler,Xw as registerAsyncHandler,h as normalizeProviderId,Nn as isBuiltInProviderId,vo as hasProvider,_n as getProviderIds,dn as getProviderCollectionSync,Yn as getProviderCollection,Go as getProvider,$o as getModelsForProvider,yo as getGeneratedProviderModels,Ln as getGeneratedModelsForProvider,Ho as getAllProviders,ro as fetchModelsDevProviderModels,Wf as disposeLangfuseTelemetry,OG as createHandlerAsync,sG as createHandler,Hr as createGateway,bo as MODEL_COLLECTIONS_BY_PROVIDER_ID,Vf as DefaultGateway,Dn as BUILT_IN_PROVIDER_IDS,Fn as BUILT_IN_PROVIDER};
100
+ {{CLINE_METADATA}}`,er="# Workspace Configuration",gk=25463,hk=25466,yk=4317,bk="127.0.0.1:4317",$k,_k,kk,wk="runtime.team.progress.v1",Sk="runtime.team.lifecycle.v1",Ui="CLINE_BUILD_ENV",jp="CLINE_DEBUG_HOST",Np="CLINE_DEBUG_PORT_BASE",Ak="CLINE_ENVIRONMENT",Dk="CLINE_ENVIRONMENT_OVERRIDE",tr,Ck="production",Rk="CLINE_RUN_AS_HUB_DAEMON",Wk=128,Oe,Qe,Qk,lo,Rp,qk,Lp,Fp,Jp,rw=3600000,aw=240,ow=400,le,qe,Kp,yn,sw,uw,lw,dw,cw,mw,fw,pw,vw,gw,hw,yw,bw,$w,_w,kw,ww,Sw,Iw,xw,zw,Uw,Pw,Gp,Ew,Tw,Wp,Ow,jw,Nw,Aw,Dw,Cw,Zw,Rw,Mw,Lw,Fw,Jw,Hp,Bp,Vp,qw,eS,iS,rS;var bn=V(()=>{Tg=Object.defineProperty;Kn=new TextEncoder,Cg={appstream2:"appstream",cloudhsmv2:"cloudhsm",email:"ses",marketplace:"aws-marketplace",mobile:"AWSMobileHubService",pinpoint:"mobiletargeting",queue:"sqs","git-codecommit":"codecommit","mturk-requester-sandbox":"mturk-requester","personalize-runtime":"personalize"},Zg=new Set(["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"]);Ho=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];bi=new Map;u={};he(u,{xor:()=>vf,xid:()=>Cm,void:()=>lf,uuidv7:()=>Pm,uuidv6:()=>Um,uuidv4:()=>zm,uuid:()=>xm,util:()=>U,url:()=>Em,uppercase:()=>Di,unknown:()=>Ce,union:()=>fn,undefined:()=>sf,ulid:()=>Dm,uint64:()=>af,uint32:()=>tf,tuple:()=>Ua,trim:()=>Fi,treeifyError:()=>mu,transform:()=>vn,toUpperCase:()=>Ki,toLowerCase:()=>Ji,toJSONSchema:()=>nm,templateLiteral:()=>Pf,symbol:()=>of,superRefine:()=>io,success:()=>If,stringbool:()=>Df,stringFormat:()=>Bm,string:()=>St,strictObject:()=>ff,startsWith:()=>Zi,slugify:()=>Gi,size:()=>Zt,setErrorMap:()=>j$,set:()=>$f,safeParseAsync:()=>vm,safeParse:()=>pm,safeEncodeAsync:()=>km,safeEncode:()=>$m,safeDecodeAsync:()=>wm,safeDecode:()=>_m,registry:()=>Or,regexes:()=>Se,regex:()=>Ni,refine:()=>to,record:()=>Pa,readonly:()=>Xa,property:()=>na,promise:()=>Ef,prettifyError:()=>pu,preprocess:()=>Zf,prefault:()=>La,positive:()=>qr,pipe:()=>xi,partialRecord:()=>hf,parseAsync:()=>fm,parse:()=>mm,overwrite:()=>be,optional:()=>xt,object:()=>mf,number:()=>ma,nullish:()=>Sf,nullable:()=>zt,null:()=>ha,normalize:()=>Li,nonpositive:()=>ta,nonoptional:()=>Fa,nonnegative:()=>ia,never:()=>cn,negative:()=>ea,nativeEnum:()=>_f,nanoid:()=>jm,nan:()=>xf,multipleOf:()=>it,minSize:()=>ze,minLength:()=>De,mime:()=>Mi,meta:()=>Nf,maxSize:()=>ut,maxLength:()=>Rt,map:()=>bf,mac:()=>Mm,lte:()=>re,lt:()=>Ie,lowercase:()=>Ai,looseRecord:()=>yf,looseObject:()=>pf,locales:()=>Er,literal:()=>kf,length:()=>Mt,lazy:()=>Qa,ksuid:()=>Zm,keyof:()=>cf,jwt:()=>Hm,json:()=>Cf,iso:()=>oa,ipv6:()=>Lm,ipv4:()=>Rm,invertCodec:()=>Uf,intersection:()=>xa,int64:()=>rf,int32:()=>ef,int:()=>Ii,instanceof:()=>Af,includes:()=>Ci,httpUrl:()=>Tm,hostname:()=>Xm,hex:()=>Vm,hash:()=>Ym,guid:()=>Im,gte:()=>Y,gt:()=>xe,globalRegistry:()=>ne,getErrorMap:()=>N$,function:()=>zi,fromJSONSchema:()=>Z$,formatError:()=>ur,float64:()=>qm,float32:()=>Qm,flattenError:()=>sr,file:()=>wf,exactOptional:()=>Da,enum:()=>pn,endsWith:()=>Ri,encodeAsync:()=>ym,encode:()=>gm,emoji:()=>Om,email:()=>Sm,e164:()=>Wm,discriminatedUnion:()=>gf,describe:()=>jf,decodeAsync:()=>bm,decode:()=>hm,date:()=>df,custom:()=>Of,cuid2:()=>Am,cuid:()=>Nm,core:()=>Vs,config:()=>K,coerce:()=>Mf,codec:()=>zf,clone:()=>ae,cidrv6:()=>Jm,cidrv4:()=>Fm,check:()=>Tf,catch:()=>Ga,boolean:()=>fa,bigint:()=>nf,base64url:()=>Gm,base64:()=>Km,array:()=>Bt,any:()=>uf,_function:()=>zi,_default:()=>Ra,_ZodString:()=>Wi,ZodXor:()=>wa,ZodXID:()=>qi,ZodVoid:()=>_a,ZodUnknown:()=>ba,ZodUnion:()=>Vt,ZodUndefined:()=>va,ZodUUID:()=>ve,ZodURL:()=>Kt,ZodULID:()=>Qi,ZodType:()=>z,ZodTuple:()=>za,ZodTransform:()=>Na,ZodTemplateLiteral:()=>Va,ZodSymbol:()=>pa,ZodSuccess:()=>Ja,ZodStringFormat:()=>D,ZodString:()=>Jt,ZodSet:()=>Ta,ZodRecord:()=>ot,ZodRealError:()=>ee,ZodReadonly:()=>Ba,ZodPromise:()=>qa,ZodPreprocess:()=>Ha,ZodPrefault:()=>Ma,ZodPipe:()=>Yt,ZodOptional:()=>gn,ZodObject:()=>Xt,ZodNumberFormat:()=>Me,ZodNumber:()=>Gt,ZodNullable:()=>Ca,ZodNull:()=>ga,ZodNonOptional:()=>hn,ZodNever:()=>$a,ZodNanoID:()=>Xi,ZodNaN:()=>Wa,ZodMap:()=>Ea,ZodMAC:()=>ca,ZodLiteral:()=>Oa,ZodLazy:()=>Ya,ZodKSUID:()=>en,ZodJWT:()=>ln,ZodIssueCode:()=>O$,ZodIntersection:()=>Ia,ZodISOTime:()=>la,ZodISODuration:()=>da,ZodISODateTime:()=>sa,ZodISODate:()=>ua,ZodIPv6:()=>nn,ZodIPv4:()=>tn,ZodGUID:()=>It,ZodFunction:()=>eo,ZodFirstPartyTypeKind:()=>Vn,ZodFile:()=>ja,ZodExactOptional:()=>Aa,ZodError:()=>T$,ZodEnum:()=>st,ZodEmoji:()=>Bi,ZodEmail:()=>Hi,ZodE164:()=>un,ZodDiscriminatedUnion:()=>Sa,ZodDefault:()=>Za,ZodDate:()=>mn,ZodCustomStringFormat:()=>lt,ZodCustom:()=>qt,ZodCodec:()=>Qt,ZodCatch:()=>Ka,ZodCUID2:()=>Yi,ZodCUID:()=>Vi,ZodCIDRv6:()=>an,ZodCIDRv4:()=>rn,ZodBoolean:()=>Wt,ZodBigIntFormat:()=>dn,ZodBigInt:()=>Ht,ZodBase64URL:()=>sn,ZodBase64:()=>on,ZodArray:()=>ka,ZodAny:()=>ya,TimePrecision:()=>Dd,NEVER:()=>Ys,$output:()=>Td,$input:()=>Od,$brand:()=>Qs});Vs={};he(Vs,{version:()=>pl,util:()=>U,treeifyError:()=>mu,toJSONSchema:()=>nm,toDotPath:()=>fu,safeParseAsync:()=>gu,safeParse:()=>vu,safeEncodeAsync:()=>Mh,safeEncode:()=>Zh,safeDecodeAsync:()=>Lh,safeDecode:()=>Rh,registry:()=>Or,regexes:()=>Se,process:()=>N,prettifyError:()=>pu,parseAsync:()=>Hn,parse:()=>Wn,meta:()=>hc,locales:()=>Er,isValidJWT:()=>Rl,isValidBase64URL:()=>Dl,isValidBase64:()=>kr,initializeContext:()=>nt,globalRegistry:()=>ne,globalConfig:()=>kt,formatError:()=>ur,flattenError:()=>sr,finalize:()=>at,extractDefs:()=>rt,encodeAsync:()=>Dh,encode:()=>Nh,describe:()=>gc,decodeAsync:()=>Ch,decode:()=>Ah,createToJSONSchemaMethod:()=>bc,createStandardJSONSchemaMethod:()=>wt,config:()=>K,clone:()=>ae,_xor:()=>s$,_xid:()=>Jr,_void:()=>oc,_uuidv7:()=>Cr,_uuidv6:()=>Dr,_uuidv4:()=>Ar,_uuid:()=>Nr,_url:()=>ji,_uppercase:()=>Di,_unknown:()=>rc,_union:()=>o$,_undefined:()=>tc,_ulid:()=>Fr,_uint64:()=>qd,_uint32:()=>Hd,_tuple:()=>d$,_trim:()=>Fi,_transform:()=>h$,_toUpperCase:()=>Ki,_toLowerCase:()=>Ji,_templateLiteral:()=>x$,_symbol:()=>ec,_superRefine:()=>pc,_success:()=>k$,_stringbool:()=>yc,_stringFormat:()=>Lt,_string:()=>jd,_startsWith:()=>Zi,_slugify:()=>Gi,_size:()=>Zt,_set:()=>f$,_safeParseAsync:()=>jt,_safeParse:()=>Ot,_safeEncodeAsync:()=>vr,_safeEncode:()=>fr,_safeDecodeAsync:()=>gr,_safeDecode:()=>pr,_regex:()=>Ni,_refine:()=>fc,_record:()=>c$,_readonly:()=>I$,_property:()=>na,_promise:()=>U$,_positive:()=>qr,_pipe:()=>S$,_parseAsync:()=>Tt,_parse:()=>Et,_overwrite:()=>be,_optional:()=>y$,_number:()=>Ld,_nullable:()=>b$,_null:()=>ic,_normalize:()=>Li,_nonpositive:()=>ta,_nonoptional:()=>_$,_nonnegative:()=>ia,_never:()=>ac,_negative:()=>ea,_nativeEnum:()=>v$,_nanoid:()=>Rr,_nan:()=>lc,_multipleOf:()=>it,_minSize:()=>ze,_minLength:()=>De,_min:()=>Y,_mime:()=>Mi,_maxSize:()=>ut,_maxLength:()=>Rt,_max:()=>re,_map:()=>m$,_mac:()=>Ad,_lte:()=>re,_lt:()=>Ie,_lowercase:()=>Ai,_literal:()=>g$,_length:()=>Mt,_lazy:()=>z$,_ksuid:()=>Kr,_jwt:()=>Qr,_isoTime:()=>Rd,_isoDuration:()=>Md,_isoDateTime:()=>Cd,_isoDate:()=>Zd,_ipv6:()=>Wr,_ipv4:()=>Gr,_intersection:()=>l$,_int64:()=>Qd,_int32:()=>Wd,_int:()=>Jd,_includes:()=>Ci,_guid:()=>Si,_gte:()=>Y,_gt:()=>xe,_float64:()=>Gd,_float32:()=>Kd,_file:()=>cc,_enum:()=>p$,_endsWith:()=>Ri,_encodeAsync:()=>cr,_encode:()=>lr,_emoji:()=>Zr,_email:()=>jr,_e164:()=>Yr,_discriminatedUnion:()=>u$,_default:()=>$$,_decodeAsync:()=>mr,_decode:()=>dr,_date:()=>sc,_custom:()=>mc,_cuid2:()=>Lr,_cuid:()=>Mr,_coercedString:()=>Nd,_coercedNumber:()=>Fd,_coercedDate:()=>uc,_coercedBoolean:()=>Xd,_coercedBigint:()=>Yd,_cidrv6:()=>Br,_cidrv4:()=>Hr,_check:()=>vc,_catch:()=>w$,_boolean:()=>Bd,_bigint:()=>Vd,_base64url:()=>Vr,_base64:()=>Xr,_array:()=>dc,_any:()=>nc,TimePrecision:()=>Dd,NEVER:()=>Ys,JSONSchemaGenerator:()=>rm,JSONSchema:()=>E$,Doc:()=>_r,$output:()=>Td,$input:()=>Od,$constructor:()=>m,$brand:()=>Qs,$ZodXor:()=>nd,$ZodXID:()=>Sl,$ZodVoid:()=>Vl,$ZodUnknown:()=>Bl,$ZodUnion:()=>Oi,$ZodUndefined:()=>Gl,$ZodUUID:()=>gl,$ZodURL:()=>yl,$ZodULID:()=>wl,$ZodType:()=>x,$ZodTuple:()=>xr,$ZodTransform:()=>md,$ZodTemplateLiteral:()=>wd,$ZodSymbol:()=>Kl,$ZodSuccess:()=>yd,$ZodStringFormat:()=>A,$ZodString:()=>Ct,$ZodSet:()=>ud,$ZodRegistry:()=>Tr,$ZodRecord:()=>od,$ZodRealError:()=>q,$ZodReadonly:()=>kd,$ZodPromise:()=>Id,$ZodPreprocess:()=>_d,$ZodPrefault:()=>gd,$ZodPipe:()=>Ur,$ZodOptional:()=>zr,$ZodObjectJIT:()=>id,$ZodObject:()=>td,$ZodNumberFormat:()=>Fl,$ZodNumber:()=>wr,$ZodNullable:()=>pd,$ZodNull:()=>Wl,$ZodNonOptional:()=>hd,$ZodNever:()=>Xl,$ZodNanoID:()=>$l,$ZodNaN:()=>$d,$ZodMap:()=>sd,$ZodMAC:()=>Ol,$ZodLiteral:()=>dd,$ZodLazy:()=>xd,$ZodKSUID:()=>Il,$ZodJWT:()=>Ml,$ZodIntersection:()=>ad,$ZodISOTime:()=>Ul,$ZodISODuration:()=>Pl,$ZodISODateTime:()=>xl,$ZodISODate:()=>zl,$ZodIPv6:()=>Tl,$ZodIPv4:()=>El,$ZodGUID:()=>vl,$ZodFunction:()=>Sd,$ZodFile:()=>cd,$ZodExactOptional:()=>fd,$ZodError:()=>or,$ZodEnum:()=>ld,$ZodEncodeError:()=>Ut,$ZodEmoji:()=>bl,$ZodEmail:()=>hl,$ZodE164:()=>Zl,$ZodDiscriminatedUnion:()=>rd,$ZodDefault:()=>vd,$ZodDate:()=>Yl,$ZodCustomStringFormat:()=>Ll,$ZodCustom:()=>zd,$ZodCodec:()=>Pr,$ZodCheckUpperCase:()=>sl,$ZodCheckStringFormat:()=>Dt,$ZodCheckStartsWith:()=>ll,$ZodCheckSizeEquals:()=>tl,$ZodCheckRegex:()=>al,$ZodCheckProperty:()=>cl,$ZodCheckOverwrite:()=>fl,$ZodCheckNumberFormat:()=>Yu,$ZodCheckMultipleOf:()=>Vu,$ZodCheckMinSize:()=>el,$ZodCheckMinLength:()=>nl,$ZodCheckMimeType:()=>ml,$ZodCheckMaxSize:()=>qu,$ZodCheckMaxLength:()=>il,$ZodCheckLowerCase:()=>ol,$ZodCheckLessThan:()=>br,$ZodCheckLengthEquals:()=>rl,$ZodCheckIncludes:()=>ul,$ZodCheckGreaterThan:()=>$r,$ZodCheckEndsWith:()=>dl,$ZodCheckBigIntFormat:()=>Qu,$ZodCheck:()=>R,$ZodCatch:()=>bd,$ZodCUID2:()=>kl,$ZodCUID:()=>_l,$ZodCIDRv6:()=>Nl,$ZodCIDRv4:()=>jl,$ZodBoolean:()=>Sr,$ZodBigIntFormat:()=>Jl,$ZodBigInt:()=>Ir,$ZodBase64URL:()=>Cl,$ZodBase64:()=>Al,$ZodAsyncError:()=>we,$ZodArray:()=>Ql,$ZodAny:()=>Hl});Ys=Object.freeze({status:"aborted"});Qs=Symbol("zod_brand");we=class we extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};Ut=class Ut extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`);this.name="ZodEncodeError"}};(qo=globalThis).__zod_globalConfig??(qo.__zod_globalConfig={});kt=globalThis.__zod_globalConfig;U={};he(U,{unwrapMessage:()=>$t,uint8ArrayToHex:()=>jh,uint8ArrayToBase64url:()=>Th,uint8ArrayToBase64:()=>lu,stringifyPrimitive:()=>_,slugify:()=>eu,shallowClone:()=>iu,safeExtend:()=>Ih,required:()=>Uh,randomString:()=>yh,propertyKeyTypes:()=>_i,promiseAllObject:()=>hh,primitiveTypes:()=>nu,prefixIssues:()=>ie,pick:()=>kh,partial:()=>zh,parsedType:()=>w,optionalKeys:()=>ru,omit:()=>wh,objectClone:()=>ph,numKeys:()=>bh,nullish:()=>Re,normalizeParams:()=>h,mergeDefs:()=>ye,merge:()=>xh,jsonStringifyReplacer:()=>$i,joinValues:()=>g,issue:()=>ki,isPlainObject:()=>Ae,isObject:()=>et,hexToUint8Array:()=>Oh,getSizableOrigin:()=>Ei,getParsedType:()=>$h,getLengthableOrigin:()=>Ti,getEnumValues:()=>rr,getElementAtPath:()=>gh,floatSafeRemainder:()=>qs,finalizeIssue:()=>Q,extend:()=>Sh,explicitlyAborted:()=>su,escapeRegex:()=>ge,esc:()=>Gn,defineLazy:()=>P,createTransparentProxy:()=>_h,cloneDef:()=>vh,clone:()=>ae,cleanRegex:()=>Pi,cleanEnum:()=>Ph,captureStackTrace:()=>ar,cached:()=>Pt,base64urlToUint8Array:()=>Eh,base64ToUint8Array:()=>uu,assignProp:()=>Ue,assertNotEqual:()=>dh,assertNever:()=>mh,assertIs:()=>ch,assertEqual:()=>lh,assert:()=>fh,allowsEval:()=>tu,aborted:()=>Ne,NUMBER_FORMAT_RANGES:()=>au,Class:()=>du,BIGINT_FORMAT_RANGES:()=>ou});es=Symbol("evaluating");ar="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};tu=Pt(()=>{if(kt.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return Function(""),!0}catch(e){return!1}});_i=new Set(["string","number","symbol"]),nu=new Set(["string","number","bigint","boolean","symbol","undefined"]);au={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},ou={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};or=m("$ZodError",cu),q=m("$ZodError",cu,{Parent:Error});Wn=Et(q),Hn=Tt(q),vu=Ot(q),gu=jt(q),Nh=lr(q),Ah=dr(q),Dh=cr(q),Ch=mr(q),Zh=fr(q),Rh=pr(q),Mh=vr(q),Lh=gr(q),Se={};he(Se,{xid:()=>$u,uuid7:()=>Gh,uuid6:()=>Kh,uuid4:()=>Jh,uuid:()=>tt,uppercase:()=>Bu,unicodeEmail:()=>xu,undefined:()=>Wu,ulid:()=>bu,time:()=>Ru,string:()=>Lu,sha512_hex:()=>my,sha512_base64url:()=>py,sha512_base64:()=>fy,sha384_hex:()=>ly,sha384_base64url:()=>cy,sha384_base64:()=>dy,sha256_hex:()=>oy,sha256_base64url:()=>uy,sha256_base64:()=>sy,sha1_hex:()=>ny,sha1_base64url:()=>ay,sha1_base64:()=>ry,rfc5322Email:()=>Hh,number:()=>yr,null:()=>Gu,nanoid:()=>ku,md5_hex:()=>ey,md5_base64url:()=>iy,md5_base64:()=>ty,mac:()=>Eu,lowercase:()=>Hu,ksuid:()=>_u,ipv6:()=>Pu,ipv4:()=>Uu,integer:()=>Ju,idnEmail:()=>Bh,httpProtocol:()=>Nu,html5Email:()=>Wh,hostname:()=>Yh,hex:()=>qh,guid:()=>Su,extendedDuration:()=>Fh,emoji:()=>zu,email:()=>Iu,e164:()=>Au,duration:()=>wu,domain:()=>Qh,datetime:()=>Mu,date:()=>Cu,cuid2:()=>yu,cuid:()=>hu,cidrv6:()=>Ou,cidrv4:()=>Tu,browserEmail:()=>Xh,boolean:()=>Ku,bigint:()=>Fu,base64url:()=>hr,base64:()=>ju});hu=/^[cC][0-9a-z]{6,}$/,yu=/^[0-9a-z]+$/,bu=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,$u=/^[0-9a-vA-V]{20}$/,_u=/^[A-Za-z0-9]{27}$/,ku=/^[a-zA-Z0-9_-]{21}$/,wu=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,Fh=/^[-+]?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)?)??$/,Su=/^([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})$/,Jh=tt(4),Kh=tt(6),Gh=tt(7),Iu=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Wh=/^[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])?)*$/,Hh=/^(([^<>()\[\]\\.,;:\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,}))$/,xu=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,Bh=xu,Xh=/^[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])?)*$/;Uu=/^(?:(?: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])$/,Pu=/^(([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}|:))$/,Tu=/^((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])$/,Ou=/^(([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])$/,ju=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,hr=/^[A-Za-z0-9_-]*$/,Yh=/^(?=.{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])?)*\.?$/,Qh=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,Nu=/^https?$/,Au=/^\+[1-9]\d{6,14}$/,Cu=new RegExp(`^${Du}$`);Fu=/^-?\d+n?$/,Ju=/^-?\d+$/,yr=/^-?\d+(?:\.\d+)?$/,Ku=/^(?:true|false)$/i,Gu=/^null$/i,Wu=/^undefined$/i,Hu=/^[^A-Z]*$/,Bu=/^[^a-z]*$/,qh=/^[0-9a-fA-F]*$/;ey=/^[0-9a-fA-F]{32}$/,ty=Nt(22,"=="),iy=At(22),ny=/^[0-9a-fA-F]{40}$/,ry=Nt(27,"="),ay=At(27),oy=/^[0-9a-fA-F]{64}$/,sy=Nt(43,"="),uy=At(43),ly=/^[0-9a-fA-F]{96}$/,dy=Nt(64,""),cy=At(64),my=/^[0-9a-fA-F]{128}$/,fy=Nt(86,"=="),py=At(86),R=m("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Xu={number:"number",bigint:"bigint",object:"date"},br=m("$ZodCheckLessThan",(e,t)=>{R.init(e,t);let n=Xu[typeof t.value];e._zod.onattach.push((a)=>{let i=a._zod.bag,r=(t.inclusive?i.maximum:i.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(t.value<r)if(t.inclusive)i.maximum=t.value;else i.exclusiveMaximum=t.value}),e._zod.check=(a)=>{if(t.inclusive?a.value<=t.value:a.value<t.value)return;a.issues.push({origin:n,code:"too_big",maximum:typeof t.value==="object"?t.value.getTime():t.value,input:a.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),$r=m("$ZodCheckGreaterThan",(e,t)=>{R.init(e,t);let n=Xu[typeof t.value];e._zod.onattach.push((a)=>{let i=a._zod.bag,r=(t.inclusive?i.minimum:i.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(t.value>r)if(t.inclusive)i.minimum=t.value;else i.exclusiveMinimum=t.value}),e._zod.check=(a)=>{if(t.inclusive?a.value>=t.value:a.value>t.value)return;a.issues.push({origin:n,code:"too_small",minimum:typeof t.value==="object"?t.value.getTime():t.value,input:a.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Vu=m("$ZodCheckMultipleOf",(e,t)=>{R.init(e,t),e._zod.onattach.push((n)=>{var a;(a=n._zod.bag).multipleOf??(a.multipleOf=t.value)}),e._zod.check=(n)=>{if(typeof n.value!==typeof t.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof n.value==="bigint"?n.value%t.value===BigInt(0):qs(n.value,t.value)===0)return;n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),Yu=m("$ZodCheckNumberFormat",(e,t)=>{R.init(e,t),t.format=t.format||"float64";let n=t.format?.includes("int"),a=n?"int":"number",[i,r]=au[t.format];e._zod.onattach.push((o)=>{let s=o._zod.bag;if(s.format=t.format,s.minimum=i,s.maximum=r,n)s.pattern=Ju}),e._zod.check=(o)=>{let s=o.value;if(n){if(!Number.isInteger(s)){o.issues.push({expected:a,format:t.format,code:"invalid_type",continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){if(s>0)o.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:a,inclusive:!0,continue:!t.abort});else o.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:a,inclusive:!0,continue:!t.abort});return}}if(s<i)o.issues.push({origin:"number",input:s,code:"too_small",minimum:i,inclusive:!0,inst:e,continue:!t.abort});if(s>r)o.issues.push({origin:"number",input:s,code:"too_big",maximum:r,inclusive:!0,inst:e,continue:!t.abort})}}),Qu=m("$ZodCheckBigIntFormat",(e,t)=>{R.init(e,t);let[n,a]=ou[t.format];e._zod.onattach.push((i)=>{let r=i._zod.bag;r.format=t.format,r.minimum=n,r.maximum=a}),e._zod.check=(i)=>{let r=i.value;if(r<n)i.issues.push({origin:"bigint",input:r,code:"too_small",minimum:n,inclusive:!0,inst:e,continue:!t.abort});if(r>a)i.issues.push({origin:"bigint",input:r,code:"too_big",maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),qu=m("$ZodCheckMaxSize",(e,t)=>{var n;R.init(e,t),(n=e._zod.def).when??(n.when=(a)=>{let i=a.value;return!Re(i)&&i.size!==void 0}),e._zod.onattach.push((a)=>{let i=a._zod.bag.maximum??Number.POSITIVE_INFINITY;if(t.maximum<i)a._zod.bag.maximum=t.maximum}),e._zod.check=(a)=>{let i=a.value;if(i.size<=t.maximum)return;a.issues.push({origin:Ei(i),code:"too_big",maximum:t.maximum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),el=m("$ZodCheckMinSize",(e,t)=>{var n;R.init(e,t),(n=e._zod.def).when??(n.when=(a)=>{let i=a.value;return!Re(i)&&i.size!==void 0}),e._zod.onattach.push((a)=>{let i=a._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(t.minimum>i)a._zod.bag.minimum=t.minimum}),e._zod.check=(a)=>{let i=a.value;if(i.size>=t.minimum)return;a.issues.push({origin:Ei(i),code:"too_small",minimum:t.minimum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),tl=m("$ZodCheckSizeEquals",(e,t)=>{var n;R.init(e,t),(n=e._zod.def).when??(n.when=(a)=>{let i=a.value;return!Re(i)&&i.size!==void 0}),e._zod.onattach.push((a)=>{let i=a._zod.bag;i.minimum=t.size,i.maximum=t.size,i.size=t.size}),e._zod.check=(a)=>{let i=a.value,r=i.size;if(r===t.size)return;let o=r>t.size;a.issues.push({origin:Ei(i),...o?{code:"too_big",maximum:t.size}:{code:"too_small",minimum:t.size},inclusive:!0,exact:!0,input:a.value,inst:e,continue:!t.abort})}}),il=m("$ZodCheckMaxLength",(e,t)=>{var n;R.init(e,t),(n=e._zod.def).when??(n.when=(a)=>{let i=a.value;return!Re(i)&&i.length!==void 0}),e._zod.onattach.push((a)=>{let i=a._zod.bag.maximum??Number.POSITIVE_INFINITY;if(t.maximum<i)a._zod.bag.maximum=t.maximum}),e._zod.check=(a)=>{let i=a.value;if(i.length<=t.maximum)return;let r=Ti(i);a.issues.push({origin:r,code:"too_big",maximum:t.maximum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),nl=m("$ZodCheckMinLength",(e,t)=>{var n;R.init(e,t),(n=e._zod.def).when??(n.when=(a)=>{let i=a.value;return!Re(i)&&i.length!==void 0}),e._zod.onattach.push((a)=>{let i=a._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(t.minimum>i)a._zod.bag.minimum=t.minimum}),e._zod.check=(a)=>{let i=a.value;if(i.length>=t.minimum)return;let r=Ti(i);a.issues.push({origin:r,code:"too_small",minimum:t.minimum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),rl=m("$ZodCheckLengthEquals",(e,t)=>{var n;R.init(e,t),(n=e._zod.def).when??(n.when=(a)=>{let i=a.value;return!Re(i)&&i.length!==void 0}),e._zod.onattach.push((a)=>{let i=a._zod.bag;i.minimum=t.length,i.maximum=t.length,i.length=t.length}),e._zod.check=(a)=>{let i=a.value,r=i.length;if(r===t.length)return;let o=Ti(i),s=r>t.length;a.issues.push({origin:o,...s?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:a.value,inst:e,continue:!t.abort})}}),Dt=m("$ZodCheckStringFormat",(e,t)=>{var n,a;if(R.init(e,t),e._zod.onattach.push((i)=>{let r=i._zod.bag;if(r.format=t.format,t.pattern)r.patterns??(r.patterns=new Set),r.patterns.add(t.pattern)}),t.pattern)(n=e._zod).check??(n.check=(i)=>{if(t.pattern.lastIndex=0,t.pattern.test(i.value))return;i.issues.push({origin:"string",code:"invalid_format",format:t.format,input:i.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})});else(a=e._zod).check??(a.check=()=>{})}),al=m("$ZodCheckRegex",(e,t)=>{Dt.init(e,t),e._zod.check=(n)=>{if(t.pattern.lastIndex=0,t.pattern.test(n.value))return;n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),ol=m("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Hu),Dt.init(e,t)}),sl=m("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Bu),Dt.init(e,t)}),ul=m("$ZodCheckIncludes",(e,t)=>{R.init(e,t);let n=ge(t.includes),a=new RegExp(typeof t.position==="number"?`^.{${t.position}}${n}`:n);t.pattern=a,e._zod.onattach.push((i)=>{let r=i._zod.bag;r.patterns??(r.patterns=new Set),r.patterns.add(a)}),e._zod.check=(i)=>{if(i.value.includes(t.includes,t.position))return;i.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:i.value,inst:e,continue:!t.abort})}}),ll=m("$ZodCheckStartsWith",(e,t)=>{R.init(e,t);let n=new RegExp(`^${ge(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push((a)=>{let i=a._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(n)}),e._zod.check=(a)=>{if(a.value.startsWith(t.prefix))return;a.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:a.value,inst:e,continue:!t.abort})}}),dl=m("$ZodCheckEndsWith",(e,t)=>{R.init(e,t);let n=new RegExp(`.*${ge(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push((a)=>{let i=a._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(n)}),e._zod.check=(a)=>{if(a.value.endsWith(t.suffix))return;a.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:a.value,inst:e,continue:!t.abort})}});cl=m("$ZodCheckProperty",(e,t)=>{R.init(e,t),e._zod.check=(n)=>{let a=t.schema._zod.run({value:n.value[t.property],issues:[]},{});if(a instanceof Promise)return a.then((i)=>ts(i,n,t.property));ts(a,n,t.property);return}}),ml=m("$ZodCheckMimeType",(e,t)=>{R.init(e,t);let n=new Set(t.mime);e._zod.onattach.push((a)=>{a._zod.bag.mime=t.mime}),e._zod.check=(a)=>{if(n.has(a.value.type))return;a.issues.push({code:"invalid_value",values:t.mime,input:a.value.type,inst:e,continue:!t.abort})}}),fl=m("$ZodCheckOverwrite",(e,t)=>{R.init(e,t),e._zod.check=(n)=>{n.value=t.tx(n.value)}});pl={major:4,minor:4,patch:3},x=m("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=pl;let a=[...e._zod.def.checks??[]];if(e._zod.traits.has("$ZodCheck"))a.unshift(e);for(let i of a)for(let r of i._zod.onattach)r(e);if(a.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let i=(o,s,l)=>{let d=Ne(o),c;for(let p of s){if(p._zod.def.when){if(su(o))continue;if(!p._zod.def.when(o))continue}else if(d)continue;let v=o.issues.length,f=p._zod.check(o);if(f instanceof Promise&&l?.async===!1)throw new we;if(c||f instanceof Promise)c=(c??Promise.resolve()).then(async()=>{if(await f,o.issues.length===v)return;if(!d)d=Ne(o,v)});else{if(o.issues.length===v)continue;if(!d)d=Ne(o,v)}}if(c)return c.then(()=>{return o});return o},r=(o,s,l)=>{if(Ne(o))return o.aborted=!0,o;let d=i(s,a,l);if(d instanceof Promise){if(l.async===!1)throw new we;return d.then((c)=>e._zod.parse(c,l))}return e._zod.parse(d,l)};e._zod.run=(o,s)=>{if(s.skipChecks)return e._zod.parse(o,s);if(s.direction==="backward"){let d=e._zod.parse({value:o.value,issues:[]},{...s,skipChecks:!0});if(d instanceof Promise)return d.then((c)=>{return r(c,o,s)});return r(d,o,s)}let l=e._zod.parse(o,s);if(l instanceof Promise){if(s.async===!1)throw new we;return l.then((d)=>i(d,a,s))}return i(l,a,s)}}P(e,"~standard",()=>({validate:(i)=>{try{let r=vu(e,i);return r.success?{value:r.data}:{issues:r.error?.issues}}catch(r){return gu(e,i).then((o)=>o.success?{value:o.data}:{issues:o.error?.issues})}},vendor:"zod",version:1}))}),Ct=m("$ZodString",(e,t)=>{x.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Lu(e._zod.bag),e._zod.parse=(n,a)=>{if(t.coerce)try{n.value=String(n.value)}catch(i){}if(typeof n.value==="string")return n;return n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),A=m("$ZodStringFormat",(e,t)=>{Dt.init(e,t),Ct.init(e,t)}),vl=m("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=Su),A.init(e,t)}),gl=m("$ZodUUID",(e,t)=>{if(t.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(n===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=tt(n))}else t.pattern??(t.pattern=tt());A.init(e,t)}),hl=m("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=Iu),A.init(e,t)}),yl=m("$ZodURL",(e,t)=>{A.init(e,t),e._zod.check=(n)=>{try{let a=n.value.trim();if(!t.normalize&&t.protocol?.source===Nu.source){if(!/^https?:\/\//i.test(a)){n.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:n.value,inst:e,continue:!t.abort});return}}let i=new URL(a);if(t.hostname){if(t.hostname.lastIndex=0,!t.hostname.test(i.hostname))n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})}if(t.protocol){if(t.protocol.lastIndex=0,!t.protocol.test(i.protocol.endsWith(":")?i.protocol.slice(0,-1):i.protocol))n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})}if(t.normalize)n.value=i.href;else n.value=a;return}catch(a){n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),bl=m("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=zu()),A.init(e,t)}),$l=m("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=ku),A.init(e,t)}),_l=m("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=hu),A.init(e,t)}),kl=m("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=yu),A.init(e,t)}),wl=m("$ZodULID",(e,t)=>{t.pattern??(t.pattern=bu),A.init(e,t)}),Sl=m("$ZodXID",(e,t)=>{t.pattern??(t.pattern=$u),A.init(e,t)}),Il=m("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=_u),A.init(e,t)}),xl=m("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=Mu(t)),A.init(e,t)}),zl=m("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Cu),A.init(e,t)}),Ul=m("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=Ru(t)),A.init(e,t)}),Pl=m("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=wu),A.init(e,t)}),El=m("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Uu),A.init(e,t),e._zod.bag.format="ipv4"}),Tl=m("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Pu),A.init(e,t),e._zod.bag.format="ipv6",e._zod.check=(n)=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}}),Ol=m("$ZodMAC",(e,t)=>{t.pattern??(t.pattern=Eu(t.delimiter)),A.init(e,t),e._zod.bag.format="mac"}),jl=m("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=Tu),A.init(e,t)}),Nl=m("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=Ou),A.init(e,t),e._zod.check=(n)=>{let a=n.value.split("/");try{if(a.length!==2)throw Error();let[i,r]=a;if(!r)throw Error();let o=Number(r);if(`${o}`!==r)throw Error();if(o<0||o>128)throw Error();new URL(`http://[${i}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});Al=m("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=ju),A.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=(n)=>{if(kr(n.value))return;n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});Cl=m("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=hr),A.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=(n)=>{if(Dl(n.value))return;n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),Zl=m("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Au),A.init(e,t)});Ml=m("$ZodJWT",(e,t)=>{A.init(e,t),e._zod.check=(n)=>{if(Rl(n.value,t.alg))return;n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),Ll=m("$ZodCustomStringFormat",(e,t)=>{A.init(e,t),e._zod.check=(n)=>{if(t.fn(n.value))return;n.issues.push({code:"invalid_format",format:t.format,input:n.value,inst:e,continue:!t.abort})}}),wr=m("$ZodNumber",(e,t)=>{x.init(e,t),e._zod.pattern=e._zod.bag.pattern??yr,e._zod.parse=(n,a)=>{if(t.coerce)try{n.value=Number(n.value)}catch(o){}let i=n.value;if(typeof i==="number"&&!Number.isNaN(i)&&Number.isFinite(i))return n;let r=typeof i==="number"?Number.isNaN(i)?"NaN":!Number.isFinite(i)?"Infinity":void 0:void 0;return n.issues.push({expected:"number",code:"invalid_type",input:i,inst:e,...r?{received:r}:{}}),n}}),Fl=m("$ZodNumberFormat",(e,t)=>{Yu.init(e,t),wr.init(e,t)}),Sr=m("$ZodBoolean",(e,t)=>{x.init(e,t),e._zod.pattern=Ku,e._zod.parse=(n,a)=>{if(t.coerce)try{n.value=Boolean(n.value)}catch(r){}let i=n.value;if(typeof i==="boolean")return n;return n.issues.push({expected:"boolean",code:"invalid_type",input:i,inst:e}),n}}),Ir=m("$ZodBigInt",(e,t)=>{x.init(e,t),e._zod.pattern=Fu,e._zod.parse=(n,a)=>{if(t.coerce)try{n.value=BigInt(n.value)}catch(i){}if(typeof n.value==="bigint")return n;return n.issues.push({expected:"bigint",code:"invalid_type",input:n.value,inst:e}),n}}),Jl=m("$ZodBigIntFormat",(e,t)=>{Qu.init(e,t),Ir.init(e,t)}),Kl=m("$ZodSymbol",(e,t)=>{x.init(e,t),e._zod.parse=(n,a)=>{let i=n.value;if(typeof i==="symbol")return n;return n.issues.push({expected:"symbol",code:"invalid_type",input:i,inst:e}),n}}),Gl=m("$ZodUndefined",(e,t)=>{x.init(e,t),e._zod.pattern=Wu,e._zod.values=new Set([void 0]),e._zod.parse=(n,a)=>{let i=n.value;if(typeof i>"u")return n;return n.issues.push({expected:"undefined",code:"invalid_type",input:i,inst:e}),n}}),Wl=m("$ZodNull",(e,t)=>{x.init(e,t),e._zod.pattern=Gu,e._zod.values=new Set([null]),e._zod.parse=(n,a)=>{let i=n.value;if(i===null)return n;return n.issues.push({expected:"null",code:"invalid_type",input:i,inst:e}),n}}),Hl=m("$ZodAny",(e,t)=>{x.init(e,t),e._zod.parse=(n)=>n}),Bl=m("$ZodUnknown",(e,t)=>{x.init(e,t),e._zod.parse=(n)=>n}),Xl=m("$ZodNever",(e,t)=>{x.init(e,t),e._zod.parse=(n,a)=>{return n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n}}),Vl=m("$ZodVoid",(e,t)=>{x.init(e,t),e._zod.parse=(n,a)=>{let i=n.value;if(typeof i>"u")return n;return n.issues.push({expected:"void",code:"invalid_type",input:i,inst:e}),n}}),Yl=m("$ZodDate",(e,t)=>{x.init(e,t),e._zod.parse=(n,a)=>{if(t.coerce)try{n.value=new Date(n.value)}catch(o){}let i=n.value,r=i instanceof Date;if(r&&!Number.isNaN(i.getTime()))return n;return n.issues.push({expected:"date",code:"invalid_type",input:i,...r?{received:"Invalid Date"}:{},inst:e}),n}});Ql=m("$ZodArray",(e,t)=>{x.init(e,t),e._zod.parse=(n,a)=>{let i=n.value;if(!Array.isArray(i))return n.issues.push({expected:"array",code:"invalid_type",input:i,inst:e}),n;n.value=Array(i.length);let r=[];for(let o=0;o<i.length;o++){let s=i[o],l=t.element._zod.run({value:s,issues:[]},a);if(l instanceof Promise)r.push(l.then((d)=>is(d,n,o)));else is(l,n,o)}if(r.length)return Promise.all(r).then(()=>n);return n}});td=m("$ZodObject",(e,t)=>{if(x.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){let o=t.shape;Object.defineProperty(t,"shape",{get:()=>{let s={...o};return Object.defineProperty(t,"shape",{value:s}),s}})}let n=Pt(()=>ql(t));P(e._zod,"propValues",()=>{let o=t.shape,s={};for(let l in o){let d=o[l]._zod;if(d.values){s[l]??(s[l]=new Set);for(let c of d.values)s[l].add(c)}}return s});let a=et,i=t.catchall,r;e._zod.parse=(o,s)=>{r??(r=n.value);let l=o.value;if(!a(l))return o.issues.push({expected:"object",code:"invalid_type",input:l,inst:e}),o;o.value={};let d=[],c=r.shape;for(let p of r.keys){let v=c[p],f=v._zod.optin==="optional",y=v._zod.optout==="optional",k=v._zod.run({value:l[p],issues:[]},s);if(k instanceof Promise)d.push(k.then((T)=>wi(T,o,p,l,f,y)));else wi(k,o,p,l,f,y)}if(!i)return d.length?Promise.all(d).then(()=>o):o;return ed(d,l,o,s,n.value,e)}}),id=m("$ZodObjectJIT",(e,t)=>{td.init(e,t);let n=e._zod.parse,a=Pt(()=>ql(t)),i=(p)=>{let v=new _r(["shape","payload","ctx"]),f=a.value,y=(M)=>{let S=Gn(M);return`shape[${S}]._zod.run({ value: input[${S}], issues: [] }, ctx)`};v.write("const input = payload.value;");let k=Object.create(null),T=0;for(let M of f.keys)k[M]=`key_${T++}`;v.write("const newResult = {};");for(let M of f.keys){let S=k[M],C=Gn(M),H=p[M],fe=H?._zod?.optin==="optional",Dn=H?._zod?.optout==="optional";if(v.write(`const ${S} = ${y(M)};`),fe&&Dn)v.write(`
101
+ if (${S}.issues.length) {
102
+ if (${C} in input) {
103
+ payload.issues = payload.issues.concat(${S}.issues.map(iss => ({
104
+ ...iss,
105
+ path: iss.path ? [${C}, ...iss.path] : [${C}]
106
+ })));
107
+ }
108
+ }
109
+
110
+ if (${S}.value === undefined) {
111
+ if (${C} in input) {
112
+ newResult[${C}] = undefined;
113
+ }
114
+ } else {
115
+ newResult[${C}] = ${S}.value;
116
+ }
117
+
118
+ `);else if(!fe)v.write(`
119
+ const ${S}_present = ${C} in input;
120
+ if (${S}.issues.length) {
121
+ payload.issues = payload.issues.concat(${S}.issues.map(iss => ({
122
+ ...iss,
123
+ path: iss.path ? [${C}, ...iss.path] : [${C}]
124
+ })));
125
+ }
126
+ if (!${S}_present && !${S}.issues.length) {
127
+ payload.issues.push({
128
+ code: "invalid_type",
129
+ expected: "nonoptional",
130
+ input: undefined,
131
+ path: [${C}]
132
+ });
133
+ }
134
+
135
+ if (${S}_present) {
136
+ if (${S}.value === undefined) {
137
+ newResult[${C}] = undefined;
138
+ } else {
139
+ newResult[${C}] = ${S}.value;
140
+ }
141
+ }
142
+
143
+ `);else v.write(`
144
+ if (${S}.issues.length) {
145
+ payload.issues = payload.issues.concat(${S}.issues.map(iss => ({
146
+ ...iss,
147
+ path: iss.path ? [${C}, ...iss.path] : [${C}]
148
+ })));
149
+ }
150
+
151
+ if (${S}.value === undefined) {
152
+ if (${C} in input) {
153
+ newResult[${C}] = undefined;
154
+ }
155
+ } else {
156
+ newResult[${C}] = ${S}.value;
157
+ }
158
+
159
+ `)}v.write("payload.value = newResult;"),v.write("return payload;");let O=v.compile();return(M,S)=>O(p,M,S)},r,o=et,s=!kt.jitless,l=s&&tu.value,d=t.catchall,c;e._zod.parse=(p,v)=>{c??(c=a.value);let f=p.value;if(!o(f))return p.issues.push({expected:"object",code:"invalid_type",input:f,inst:e}),p;if(s&&l&&v?.async===!1&&v.jitless!==!0){if(!r)r=i(t.shape);if(p=r(p,v),!d)return p;return ed([],f,p,v,c,e)}return n(p,v)}});Oi=m("$ZodUnion",(e,t)=>{x.init(e,t),P(e._zod,"optin",()=>t.options.some((a)=>a._zod.optin==="optional")?"optional":void 0),P(e._zod,"optout",()=>t.options.some((a)=>a._zod.optout==="optional")?"optional":void 0),P(e._zod,"values",()=>{if(t.options.every((a)=>a._zod.values))return new Set(t.options.flatMap((a)=>Array.from(a._zod.values)));return}),P(e._zod,"pattern",()=>{if(t.options.every((a)=>a._zod.pattern)){let a=t.options.map((i)=>i._zod.pattern);return new RegExp(`^(${a.map((i)=>Pi(i.source)).join("|")})$`)}return});let n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(a,i)=>{if(n)return n(a,i);let r=!1,o=[];for(let s of t.options){let l=s._zod.run({value:a.value,issues:[]},i);if(l instanceof Promise)o.push(l),r=!0;else{if(l.issues.length===0)return l;o.push(l)}}if(!r)return ns(o,a,e,i);return Promise.all(o).then((s)=>{return ns(s,a,e,i)})}});nd=m("$ZodXor",(e,t)=>{Oi.init(e,t),t.inclusive=!1;let n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(a,i)=>{if(n)return n(a,i);let r=!1,o=[];for(let s of t.options){let l=s._zod.run({value:a.value,issues:[]},i);if(l instanceof Promise)o.push(l),r=!0;else o.push(l)}if(!r)return rs(o,a,e,i);return Promise.all(o).then((s)=>{return rs(s,a,e,i)})}}),rd=m("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,Oi.init(e,t);let n=e._zod.parse;P(e._zod,"propValues",()=>{let i={};for(let r of t.options){let o=r._zod.propValues;if(!o||Object.keys(o).length===0)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(r)}"`);for(let[s,l]of Object.entries(o)){if(!i[s])i[s]=new Set;for(let d of l)i[s].add(d)}}return i});let a=Pt(()=>{let i=t.options,r=new Map;for(let o of i){let s=o._zod.propValues?.[t.discriminator];if(!s||s.size===0)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(o)}"`);for(let l of s){if(r.has(l))throw Error(`Duplicate discriminator value "${String(l)}"`);r.set(l,o)}}return r});e._zod.parse=(i,r)=>{let o=i.value;if(!et(o))return i.issues.push({code:"invalid_type",expected:"object",input:o,inst:e}),i;let s=a.value.get(o?.[t.discriminator]);if(s)return s._zod.run(i,r);if(t.unionFallback||r.direction==="backward")return n(i,r);return i.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,options:Array.from(a.value.keys()),input:o,path:[t.discriminator],inst:e}),i}}),ad=m("$ZodIntersection",(e,t)=>{x.init(e,t),e._zod.parse=(n,a)=>{let i=n.value,r=t.left._zod.run({value:i,issues:[]},a),o=t.right._zod.run({value:i,issues:[]},a);if(r instanceof Promise||o instanceof Promise)return Promise.all([r,o]).then(([s,l])=>{return as(n,s,l)});return as(n,r,o)}});xr=m("$ZodTuple",(e,t)=>{x.init(e,t);let n=t.items;e._zod.parse=(a,i)=>{let r=a.value;if(!Array.isArray(r))return a.issues.push({input:r,inst:e,expected:"tuple",code:"invalid_type"}),a;a.value=[];let o=[],s=os(n,"optin"),l=os(n,"optout");if(!t.rest){if(r.length<s)return a.issues.push({code:"too_small",minimum:s,inclusive:!0,input:r,inst:e,origin:"array"}),a;if(r.length>n.length)a.issues.push({code:"too_big",maximum:n.length,inclusive:!0,input:r,inst:e,origin:"array"})}let d=Array(n.length);for(let c=0;c<n.length;c++){let p=n[c]._zod.run({value:r[c],issues:[]},i);if(p instanceof Promise)o.push(p.then((v)=>{d[c]=v}));else d[c]=p}if(t.rest){let c=n.length-1,p=r.slice(n.length);for(let v of p){c++;let f=t.rest._zod.run({value:v,issues:[]},i);if(f instanceof Promise)o.push(f.then((y)=>ss(y,a,c)));else ss(f,a,c)}}if(o.length)return Promise.all(o).then(()=>us(d,a,n,r,l));return us(d,a,n,r,l)}});od=m("$ZodRecord",(e,t)=>{x.init(e,t),e._zod.parse=(n,a)=>{let i=n.value;if(!Ae(i))return n.issues.push({expected:"record",code:"invalid_type",input:i,inst:e}),n;let r=[],o=t.keyType._zod.values;if(o){n.value={};let s=new Set;for(let d of o)if(typeof d==="string"||typeof d==="number"||typeof d==="symbol"){s.add(typeof d==="number"?d.toString():d);let c=t.keyType._zod.run({value:d,issues:[]},a);if(c instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(c.issues.length){n.issues.push({code:"invalid_key",origin:"record",issues:c.issues.map((f)=>Q(f,a,K())),input:d,path:[d],inst:e});continue}let p=c.value,v=t.valueType._zod.run({value:i[d],issues:[]},a);if(v instanceof Promise)r.push(v.then((f)=>{if(f.issues.length)n.issues.push(...ie(d,f.issues));n.value[p]=f.value}));else{if(v.issues.length)n.issues.push(...ie(d,v.issues));n.value[p]=v.value}}let l;for(let d in i)if(!s.has(d))l=l??[],l.push(d);if(l&&l.length>0)n.issues.push({code:"unrecognized_keys",input:i,inst:e,keys:l})}else{n.value={};for(let s of Reflect.ownKeys(i)){if(s==="__proto__")continue;if(!Object.prototype.propertyIsEnumerable.call(i,s))continue;let l=t.keyType._zod.run({value:s,issues:[]},a);if(l instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(typeof s==="string"&&yr.test(s)&&l.issues.length){let c=t.keyType._zod.run({value:Number(s),issues:[]},a);if(c instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(c.issues.length===0)l=c}if(l.issues.length){if(t.mode==="loose")n.value[s]=i[s];else n.issues.push({code:"invalid_key",origin:"record",issues:l.issues.map((c)=>Q(c,a,K())),input:s,path:[s],inst:e});continue}let d=t.valueType._zod.run({value:i[s],issues:[]},a);if(d instanceof Promise)r.push(d.then((c)=>{if(c.issues.length)n.issues.push(...ie(s,c.issues));n.value[l.value]=c.value}));else{if(d.issues.length)n.issues.push(...ie(s,d.issues));n.value[l.value]=d.value}}}if(r.length)return Promise.all(r).then(()=>n);return n}}),sd=m("$ZodMap",(e,t)=>{x.init(e,t),e._zod.parse=(n,a)=>{let i=n.value;if(!(i instanceof Map))return n.issues.push({expected:"map",code:"invalid_type",input:i,inst:e}),n;let r=[];n.value=new Map;for(let[o,s]of i){let l=t.keyType._zod.run({value:o,issues:[]},a),d=t.valueType._zod.run({value:s,issues:[]},a);if(l instanceof Promise||d instanceof Promise)r.push(Promise.all([l,d]).then(([c,p])=>{ls(c,p,n,o,i,e,a)}));else ls(l,d,n,o,i,e,a)}if(r.length)return Promise.all(r).then(()=>n);return n}});ud=m("$ZodSet",(e,t)=>{x.init(e,t),e._zod.parse=(n,a)=>{let i=n.value;if(!(i instanceof Set))return n.issues.push({input:i,inst:e,expected:"set",code:"invalid_type"}),n;let r=[];n.value=new Set;for(let o of i){let s=t.valueType._zod.run({value:o,issues:[]},a);if(s instanceof Promise)r.push(s.then((l)=>ds(l,n)));else ds(s,n)}if(r.length)return Promise.all(r).then(()=>n);return n}});ld=m("$ZodEnum",(e,t)=>{x.init(e,t);let n=rr(t.entries),a=new Set(n);e._zod.values=a,e._zod.pattern=new RegExp(`^(${n.filter((i)=>_i.has(typeof i)).map((i)=>typeof i==="string"?ge(i):i.toString()).join("|")})$`),e._zod.parse=(i,r)=>{let o=i.value;if(a.has(o))return i;return i.issues.push({code:"invalid_value",values:n,input:o,inst:e}),i}}),dd=m("$ZodLiteral",(e,t)=>{if(x.init(e,t),t.values.length===0)throw Error("Cannot create literal schema with no valid values");let n=new Set(t.values);e._zod.values=n,e._zod.pattern=new RegExp(`^(${t.values.map((a)=>typeof a==="string"?ge(a):a?ge(a.toString()):String(a)).join("|")})$`),e._zod.parse=(a,i)=>{let r=a.value;if(n.has(r))return a;return a.issues.push({code:"invalid_value",values:t.values,input:r,inst:e}),a}}),cd=m("$ZodFile",(e,t)=>{x.init(e,t),e._zod.parse=(n,a)=>{let i=n.value;if(i instanceof File)return n;return n.issues.push({expected:"file",code:"invalid_type",input:i,inst:e}),n}}),md=m("$ZodTransform",(e,t)=>{x.init(e,t),e._zod.optin="optional",e._zod.parse=(n,a)=>{if(a.direction==="backward")throw new Ut(e.constructor.name);let i=t.transform(n.value,n);if(a.async)return(i instanceof Promise?i:Promise.resolve(i)).then((r)=>{return n.value=r,n.fallback=!0,n});if(i instanceof Promise)throw new we;return n.value=i,n.fallback=!0,n}});zr=m("$ZodOptional",(e,t)=>{x.init(e,t),e._zod.optin="optional",e._zod.optout="optional",P(e._zod,"values",()=>{return t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0}),P(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${Pi(n.source)})?$`):void 0}),e._zod.parse=(n,a)=>{if(t.innerType._zod.optin==="optional"){let i=n.value,r=t.innerType._zod.run(n,a);if(r instanceof Promise)return r.then((o)=>cs(o,i));return cs(r,i)}if(n.value===void 0)return n;return t.innerType._zod.run(n,a)}}),fd=m("$ZodExactOptional",(e,t)=>{zr.init(e,t),P(e._zod,"values",()=>t.innerType._zod.values),P(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(n,a)=>{return t.innerType._zod.run(n,a)}}),pd=m("$ZodNullable",(e,t)=>{x.init(e,t),P(e._zod,"optin",()=>t.innerType._zod.optin),P(e._zod,"optout",()=>t.innerType._zod.optout),P(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${Pi(n.source)}|null)$`):void 0}),P(e._zod,"values",()=>{return t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0}),e._zod.parse=(n,a)=>{if(n.value===null)return n;return t.innerType._zod.run(n,a)}}),vd=m("$ZodDefault",(e,t)=>{x.init(e,t),e._zod.optin="optional",P(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,a)=>{if(a.direction==="backward")return t.innerType._zod.run(n,a);if(n.value===void 0)return n.value=t.defaultValue,n;let i=t.innerType._zod.run(n,a);if(i instanceof Promise)return i.then((r)=>ms(r,t));return ms(i,t)}});gd=m("$ZodPrefault",(e,t)=>{x.init(e,t),e._zod.optin="optional",P(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,a)=>{if(a.direction==="backward")return t.innerType._zod.run(n,a);if(n.value===void 0)n.value=t.defaultValue;return t.innerType._zod.run(n,a)}}),hd=m("$ZodNonOptional",(e,t)=>{x.init(e,t),P(e._zod,"values",()=>{let n=t.innerType._zod.values;return n?new Set([...n].filter((a)=>a!==void 0)):void 0}),e._zod.parse=(n,a)=>{let i=t.innerType._zod.run(n,a);if(i instanceof Promise)return i.then((r)=>fs(r,e));return fs(i,e)}});yd=m("$ZodSuccess",(e,t)=>{x.init(e,t),e._zod.parse=(n,a)=>{if(a.direction==="backward")throw new Ut("ZodSuccess");let i=t.innerType._zod.run(n,a);if(i instanceof Promise)return i.then((r)=>{return n.value=r.issues.length===0,n});return n.value=i.issues.length===0,n}}),bd=m("$ZodCatch",(e,t)=>{x.init(e,t),e._zod.optin="optional",P(e._zod,"optout",()=>t.innerType._zod.optout),P(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,a)=>{if(a.direction==="backward")return t.innerType._zod.run(n,a);let i=t.innerType._zod.run(n,a);if(i instanceof Promise)return i.then((r)=>{if(n.value=r.value,r.issues.length)n.value=t.catchValue({...n,error:{issues:r.issues.map((o)=>Q(o,a,K()))},input:n.value}),n.issues=[],n.fallback=!0;return n});if(n.value=i.value,i.issues.length)n.value=t.catchValue({...n,error:{issues:i.issues.map((r)=>Q(r,a,K()))},input:n.value}),n.issues=[],n.fallback=!0;return n}}),$d=m("$ZodNaN",(e,t)=>{x.init(e,t),e._zod.parse=(n,a)=>{if(typeof n.value!=="number"||!Number.isNaN(n.value))return n.issues.push({input:n.value,inst:e,expected:"nan",code:"invalid_type"}),n;return n}}),Ur=m("$ZodPipe",(e,t)=>{x.init(e,t),P(e._zod,"values",()=>t.in._zod.values),P(e._zod,"optin",()=>t.in._zod.optin),P(e._zod,"optout",()=>t.out._zod.optout),P(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(n,a)=>{if(a.direction==="backward"){let r=t.out._zod.run(n,a);if(r instanceof Promise)return r.then((o)=>mi(o,t.in,a));return mi(r,t.in,a)}let i=t.in._zod.run(n,a);if(i instanceof Promise)return i.then((r)=>mi(r,t.out,a));return mi(i,t.out,a)}});Pr=m("$ZodCodec",(e,t)=>{x.init(e,t),P(e._zod,"values",()=>t.in._zod.values),P(e._zod,"optin",()=>t.in._zod.optin),P(e._zod,"optout",()=>t.out._zod.optout),P(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(n,a)=>{if((a.direction||"forward")==="forward"){let i=t.in._zod.run(n,a);if(i instanceof Promise)return i.then((r)=>fi(r,t,a));return fi(i,t,a)}else{let i=t.out._zod.run(n,a);if(i instanceof Promise)return i.then((r)=>fi(r,t,a));return fi(i,t,a)}}});_d=m("$ZodPreprocess",(e,t)=>{Ur.init(e,t)}),kd=m("$ZodReadonly",(e,t)=>{x.init(e,t),P(e._zod,"propValues",()=>t.innerType._zod.propValues),P(e._zod,"values",()=>t.innerType._zod.values),P(e._zod,"optin",()=>t.innerType?._zod?.optin),P(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(n,a)=>{if(a.direction==="backward")return t.innerType._zod.run(n,a);let i=t.innerType._zod.run(n,a);if(i instanceof Promise)return i.then(ps);return ps(i)}});wd=m("$ZodTemplateLiteral",(e,t)=>{x.init(e,t);let n=[];for(let a of t.parts)if(typeof a==="object"&&a!==null){if(!a._zod.pattern)throw Error(`Invalid template literal part, no pattern found: ${[...a._zod.traits].shift()}`);let i=a._zod.pattern instanceof RegExp?a._zod.pattern.source:a._zod.pattern;if(!i)throw Error(`Invalid template literal part: ${a._zod.traits}`);let r=i.startsWith("^")?1:0,o=i.endsWith("$")?i.length-1:i.length;n.push(i.slice(r,o))}else if(a===null||nu.has(typeof a))n.push(ge(`${a}`));else throw Error(`Invalid template literal part: ${a}`);e._zod.pattern=new RegExp(`^${n.join("")}$`),e._zod.parse=(a,i)=>{if(typeof a.value!=="string")return a.issues.push({input:a.value,inst:e,expected:"string",code:"invalid_type"}),a;if(e._zod.pattern.lastIndex=0,!e._zod.pattern.test(a.value))return a.issues.push({input:a.value,inst:e,code:"invalid_format",format:t.format??"template_literal",pattern:e._zod.pattern.source}),a;return a}}),Sd=m("$ZodFunction",(e,t)=>{return x.init(e,t),e._def=t,e._zod.def=t,e.implement=(n)=>{if(typeof n!=="function")throw Error("implement() must be called with a function");return function(...a){let i=e._def.input?Wn(e._def.input,a):a,r=Reflect.apply(n,this,i);if(e._def.output)return Wn(e._def.output,r);return r}},e.implementAsync=(n)=>{if(typeof n!=="function")throw Error("implementAsync() must be called with a function");return async function(...a){let i=e._def.input?await Hn(e._def.input,a):a,r=await Reflect.apply(n,this,i);if(e._def.output)return await Hn(e._def.output,r);return r}},e._zod.parse=(n,a)=>{if(typeof n.value!=="function")return n.issues.push({code:"invalid_type",expected:"function",input:n.value,inst:e}),n;if(e._def.output&&e._def.output._zod.def.type==="promise")n.value=e.implementAsync(n.value);else n.value=e.implement(n.value);return n},e.input=(...n)=>{let a=e.constructor;if(Array.isArray(n[0]))return new a({type:"function",input:new xr({type:"tuple",items:n[0],rest:n[1]}),output:e._def.output});return new a({type:"function",input:n[0],output:e._def.output})},e.output=(n)=>{return new e.constructor({type:"function",input:e._def.input,output:n})},e}),Id=m("$ZodPromise",(e,t)=>{x.init(e,t),e._zod.parse=(n,a)=>{return Promise.resolve(n.value).then((i)=>t.innerType._zod.run({value:i,issues:[]},a))}}),xd=m("$ZodLazy",(e,t)=>{x.init(e,t),P(e._zod,"innerType",()=>{let n=t;if(!n._cachedInner)n._cachedInner=t.getter();return n._cachedInner}),P(e._zod,"pattern",()=>e._zod.innerType?._zod?.pattern),P(e._zod,"propValues",()=>e._zod.innerType?._zod?.propValues),P(e._zod,"optin",()=>e._zod.innerType?._zod?.optin??void 0),P(e._zod,"optout",()=>e._zod.innerType?._zod?.optout??void 0),e._zod.parse=(n,a)=>{return e._zod.innerType._zod.run(n,a)}}),zd=m("$ZodCustom",(e,t)=>{R.init(e,t),x.init(e,t),e._zod.parse=(n,a)=>{return n},e._zod.check=(n)=>{let a=n.value,i=t.fn(a);if(i instanceof Promise)return i.then((r)=>vs(r,n,a,e));vs(i,n,a,e);return}});Er={};he(Er,{zhTW:()=>n$,zhCN:()=>t$,yo:()=>a$,vi:()=>qb,uz:()=>Yb,ur:()=>Xb,uk:()=>Ed,ua:()=>Hb,tr:()=>Gb,th:()=>Jb,ta:()=>Lb,sv:()=>Rb,sl:()=>Cb,ru:()=>Ab,ro:()=>jb,pt:()=>Tb,ps:()=>zb,pl:()=>Pb,ota:()=>Ib,no:()=>wb,nl:()=>_b,ms:()=>bb,mk:()=>hb,lt:()=>vb,ko:()=>fb,km:()=>Pd,kh:()=>cb,ka:()=>lb,ja:()=>sb,it:()=>ab,is:()=>nb,id:()=>tb,hy:()=>qy,hu:()=>Yy,hr:()=>Xy,he:()=>Hy,frCA:()=>Gy,fr:()=>Jy,fi:()=>Ly,fa:()=>Ry,es:()=>Cy,eo:()=>Ay,en:()=>Ud,el:()=>Oy,de:()=>Ey,da:()=>Uy,cs:()=>xy,ca:()=>Sy,bg:()=>ky,be:()=>$y,az:()=>yy,ar:()=>gy});Td=Symbol("ZodOutput"),Od=Symbol("ZodInput");($s=globalThis).__zod_globalRegistry??($s.__zod_globalRegistry=Or());ne=globalThis.__zod_globalRegistry;Dd={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6};P$={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Xn={string:$c,number:_c,boolean:kc,bigint:wc,symbol:Sc,null:Ic,undefined:xc,void:zc,never:Uc,any:Pc,unknown:Ec,date:Tc,enum:Oc,literal:jc,nan:Nc,template_literal:Ac,file:Dc,success:Cc,custom:Zc,function:Rc,transform:Mc,map:Lc,set:Fc,array:Jc,object:Kc,union:ra,intersection:Gc,tuple:Wc,record:Hc,nullable:Bc,nonoptional:Xc,default:Vc,prefault:Yc,catch:Qc,pipe:qc,readonly:em,promise:tm,optional:aa,lazy:im};E$={},am={};he(am,{xor:()=>vf,xid:()=>Cm,void:()=>lf,uuidv7:()=>Pm,uuidv6:()=>Um,uuidv4:()=>zm,uuid:()=>xm,url:()=>Em,unknown:()=>Ce,union:()=>fn,undefined:()=>sf,ulid:()=>Dm,uint64:()=>af,uint32:()=>tf,tuple:()=>Ua,transform:()=>vn,templateLiteral:()=>Pf,symbol:()=>of,superRefine:()=>io,success:()=>If,stringbool:()=>Df,stringFormat:()=>Bm,string:()=>St,strictObject:()=>ff,set:()=>$f,refine:()=>to,record:()=>Pa,readonly:()=>Xa,promise:()=>Ef,preprocess:()=>Zf,prefault:()=>La,pipe:()=>xi,partialRecord:()=>hf,optional:()=>xt,object:()=>mf,number:()=>ma,nullish:()=>Sf,nullable:()=>zt,null:()=>ha,nonoptional:()=>Fa,never:()=>cn,nativeEnum:()=>_f,nanoid:()=>jm,nan:()=>xf,meta:()=>Nf,map:()=>bf,mac:()=>Mm,looseRecord:()=>yf,looseObject:()=>pf,literal:()=>kf,lazy:()=>Qa,ksuid:()=>Zm,keyof:()=>cf,jwt:()=>Hm,json:()=>Cf,ipv6:()=>Lm,ipv4:()=>Rm,invertCodec:()=>Uf,intersection:()=>xa,int64:()=>rf,int32:()=>ef,int:()=>Ii,instanceof:()=>Af,httpUrl:()=>Tm,hostname:()=>Xm,hex:()=>Vm,hash:()=>Ym,guid:()=>Im,function:()=>zi,float64:()=>qm,float32:()=>Qm,file:()=>wf,exactOptional:()=>Da,enum:()=>pn,emoji:()=>Om,email:()=>Sm,e164:()=>Wm,discriminatedUnion:()=>gf,describe:()=>jf,date:()=>df,custom:()=>Of,cuid2:()=>Am,cuid:()=>Nm,codec:()=>zf,cidrv6:()=>Jm,cidrv4:()=>Fm,check:()=>Tf,catch:()=>Ga,boolean:()=>fa,bigint:()=>nf,base64url:()=>Gm,base64:()=>Km,array:()=>Bt,any:()=>uf,_function:()=>zi,_default:()=>Ra,_ZodString:()=>Wi,ZodXor:()=>wa,ZodXID:()=>qi,ZodVoid:()=>_a,ZodUnknown:()=>ba,ZodUnion:()=>Vt,ZodUndefined:()=>va,ZodUUID:()=>ve,ZodURL:()=>Kt,ZodULID:()=>Qi,ZodType:()=>z,ZodTuple:()=>za,ZodTransform:()=>Na,ZodTemplateLiteral:()=>Va,ZodSymbol:()=>pa,ZodSuccess:()=>Ja,ZodStringFormat:()=>D,ZodString:()=>Jt,ZodSet:()=>Ta,ZodRecord:()=>ot,ZodReadonly:()=>Ba,ZodPromise:()=>qa,ZodPreprocess:()=>Ha,ZodPrefault:()=>Ma,ZodPipe:()=>Yt,ZodOptional:()=>gn,ZodObject:()=>Xt,ZodNumberFormat:()=>Me,ZodNumber:()=>Gt,ZodNullable:()=>Ca,ZodNull:()=>ga,ZodNonOptional:()=>hn,ZodNever:()=>$a,ZodNanoID:()=>Xi,ZodNaN:()=>Wa,ZodMap:()=>Ea,ZodMAC:()=>ca,ZodLiteral:()=>Oa,ZodLazy:()=>Ya,ZodKSUID:()=>en,ZodJWT:()=>ln,ZodIntersection:()=>Ia,ZodIPv6:()=>nn,ZodIPv4:()=>tn,ZodGUID:()=>It,ZodFunction:()=>eo,ZodFile:()=>ja,ZodExactOptional:()=>Aa,ZodEnum:()=>st,ZodEmoji:()=>Bi,ZodEmail:()=>Hi,ZodE164:()=>un,ZodDiscriminatedUnion:()=>Sa,ZodDefault:()=>Za,ZodDate:()=>mn,ZodCustomStringFormat:()=>lt,ZodCustom:()=>qt,ZodCodec:()=>Qt,ZodCatch:()=>Ka,ZodCUID2:()=>Yi,ZodCUID:()=>Vi,ZodCIDRv6:()=>an,ZodCIDRv4:()=>rn,ZodBoolean:()=>Wt,ZodBigIntFormat:()=>dn,ZodBigInt:()=>Ht,ZodBase64URL:()=>sn,ZodBase64:()=>on,ZodArray:()=>ka,ZodAny:()=>ya});om={};he(om,{uppercase:()=>Di,trim:()=>Fi,toUpperCase:()=>Ki,toLowerCase:()=>Ji,startsWith:()=>Zi,slugify:()=>Gi,size:()=>Zt,regex:()=>Ni,property:()=>na,positive:()=>qr,overwrite:()=>be,normalize:()=>Li,nonpositive:()=>ta,nonnegative:()=>ia,negative:()=>ea,multipleOf:()=>it,minSize:()=>ze,minLength:()=>De,mime:()=>Mi,maxSize:()=>ut,maxLength:()=>Rt,lte:()=>re,lt:()=>Ie,lowercase:()=>Ai,length:()=>Mt,includes:()=>Ci,gte:()=>Y,gt:()=>xe,endsWith:()=>Ri});oa={};he(oa,{time:()=>lm,duration:()=>dm,datetime:()=>sm,date:()=>um,ZodISOTime:()=>la,ZodISODuration:()=>da,ZodISODateTime:()=>sa,ZodISODate:()=>ua});sa=m("ZodISODateTime",(e,t)=>{xl.init(e,t),D.init(e,t)});ua=m("ZodISODate",(e,t)=>{zl.init(e,t),D.init(e,t)});la=m("ZodISOTime",(e,t)=>{Ul.init(e,t),D.init(e,t)});da=m("ZodISODuration",(e,t)=>{Pl.init(e,t),D.init(e,t)});T$=m("ZodError",cm),ee=m("ZodError",cm,{Parent:Error}),mm=Et(ee),fm=Tt(ee),pm=Ot(ee),vm=jt(ee),gm=lr(ee),hm=dr(ee),ym=cr(ee),bm=mr(ee),$m=fr(ee),_m=pr(ee),km=vr(ee),wm=gr(ee),_s=new WeakMap;z=m("ZodType",(e,t)=>{return x.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:wt(e,"input"),output:wt(e,"output")}}),e.toJSONSchema=bc(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(n,a)=>mm(e,n,a,{callee:e.parse}),e.safeParse=(n,a)=>pm(e,n,a),e.parseAsync=async(n,a)=>fm(e,n,a,{callee:e.parseAsync}),e.safeParseAsync=async(n,a)=>vm(e,n,a),e.spa=e.safeParseAsync,e.encode=(n,a)=>gm(e,n,a),e.decode=(n,a)=>hm(e,n,a),e.encodeAsync=async(n,a)=>ym(e,n,a),e.decodeAsync=async(n,a)=>bm(e,n,a),e.safeEncode=(n,a)=>$m(e,n,a),e.safeDecode=(n,a)=>_m(e,n,a),e.safeEncodeAsync=async(n,a)=>km(e,n,a),e.safeDecodeAsync=async(n,a)=>wm(e,n,a),Ft(e,"ZodType",{check(...n){let a=this.def;return this.clone(U.mergeDefs(a,{checks:[...a.checks??[],...n.map((i)=>typeof i==="function"?{_zod:{check:i,def:{check:"custom"},onattach:[]}}:i)]}),{parent:!0})},with(...n){return this.check(...n)},clone(n,a){return ae(this,n,a)},brand(){return this},register(n,a){return n.add(this,a),this},refine(n,a){return this.check(to(n,a))},superRefine(n,a){return this.check(io(n,a))},overwrite(n){return this.check(be(n))},optional(){return xt(this)},exactOptional(){return Da(this)},nullable(){return zt(this)},nullish(){return xt(zt(this))},nonoptional(n){return Fa(this,n)},array(){return Bt(this)},or(n){return fn([this,n])},and(n){return xa(this,n)},transform(n){return xi(this,vn(n))},default(n){return Ra(this,n)},prefault(n){return La(this,n)},catch(n){return Ga(this,n)},pipe(n){return xi(this,n)},readonly(){return Xa(this)},describe(n){let a=this.clone();return ne.add(a,{description:n}),a},meta(...n){if(n.length===0)return ne.get(this);let a=this.clone();return ne.add(a,n[0]),a},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(n){return n(this)}}),Object.defineProperty(e,"description",{get(){return ne.get(e)?.description},configurable:!0}),e}),Wi=m("_ZodString",(e,t)=>{Ct.init(e,t),z.init(e,t),e._zod.processJSONSchema=(a,i,r)=>$c(e,a,i,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,Ft(e,"_ZodString",{regex(...a){return this.check(Ni(...a))},includes(...a){return this.check(Ci(...a))},startsWith(...a){return this.check(Zi(...a))},endsWith(...a){return this.check(Ri(...a))},min(...a){return this.check(De(...a))},max(...a){return this.check(Rt(...a))},length(...a){return this.check(Mt(...a))},nonempty(...a){return this.check(De(1,...a))},lowercase(a){return this.check(Ai(a))},uppercase(a){return this.check(Di(a))},trim(){return this.check(Fi())},normalize(...a){return this.check(Li(...a))},toLowerCase(){return this.check(Ji())},toUpperCase(){return this.check(Ki())},slugify(){return this.check(Gi())}})}),Jt=m("ZodString",(e,t)=>{Ct.init(e,t),Wi.init(e,t),e.email=(n)=>e.check(jr(Hi,n)),e.url=(n)=>e.check(ji(Kt,n)),e.jwt=(n)=>e.check(Qr(ln,n)),e.emoji=(n)=>e.check(Zr(Bi,n)),e.guid=(n)=>e.check(Si(It,n)),e.uuid=(n)=>e.check(Nr(ve,n)),e.uuidv4=(n)=>e.check(Ar(ve,n)),e.uuidv6=(n)=>e.check(Dr(ve,n)),e.uuidv7=(n)=>e.check(Cr(ve,n)),e.nanoid=(n)=>e.check(Rr(Xi,n)),e.guid=(n)=>e.check(Si(It,n)),e.cuid=(n)=>e.check(Mr(Vi,n)),e.cuid2=(n)=>e.check(Lr(Yi,n)),e.ulid=(n)=>e.check(Fr(Qi,n)),e.base64=(n)=>e.check(Xr(on,n)),e.base64url=(n)=>e.check(Vr(sn,n)),e.xid=(n)=>e.check(Jr(qi,n)),e.ksuid=(n)=>e.check(Kr(en,n)),e.ipv4=(n)=>e.check(Gr(tn,n)),e.ipv6=(n)=>e.check(Wr(nn,n)),e.cidrv4=(n)=>e.check(Hr(rn,n)),e.cidrv6=(n)=>e.check(Br(an,n)),e.e164=(n)=>e.check(Yr(un,n)),e.datetime=(n)=>e.check(sm(n)),e.date=(n)=>e.check(um(n)),e.time=(n)=>e.check(lm(n)),e.duration=(n)=>e.check(dm(n))});D=m("ZodStringFormat",(e,t)=>{A.init(e,t),Wi.init(e,t)}),Hi=m("ZodEmail",(e,t)=>{hl.init(e,t),D.init(e,t)});It=m("ZodGUID",(e,t)=>{vl.init(e,t),D.init(e,t)});ve=m("ZodUUID",(e,t)=>{gl.init(e,t),D.init(e,t)});Kt=m("ZodURL",(e,t)=>{yl.init(e,t),D.init(e,t)});Bi=m("ZodEmoji",(e,t)=>{bl.init(e,t),D.init(e,t)});Xi=m("ZodNanoID",(e,t)=>{$l.init(e,t),D.init(e,t)});Vi=m("ZodCUID",(e,t)=>{_l.init(e,t),D.init(e,t)});Yi=m("ZodCUID2",(e,t)=>{kl.init(e,t),D.init(e,t)});Qi=m("ZodULID",(e,t)=>{wl.init(e,t),D.init(e,t)});qi=m("ZodXID",(e,t)=>{Sl.init(e,t),D.init(e,t)});en=m("ZodKSUID",(e,t)=>{Il.init(e,t),D.init(e,t)});tn=m("ZodIPv4",(e,t)=>{El.init(e,t),D.init(e,t)});ca=m("ZodMAC",(e,t)=>{Ol.init(e,t),D.init(e,t)});nn=m("ZodIPv6",(e,t)=>{Tl.init(e,t),D.init(e,t)});rn=m("ZodCIDRv4",(e,t)=>{jl.init(e,t),D.init(e,t)});an=m("ZodCIDRv6",(e,t)=>{Nl.init(e,t),D.init(e,t)});on=m("ZodBase64",(e,t)=>{Al.init(e,t),D.init(e,t)});sn=m("ZodBase64URL",(e,t)=>{Cl.init(e,t),D.init(e,t)});un=m("ZodE164",(e,t)=>{Zl.init(e,t),D.init(e,t)});ln=m("ZodJWT",(e,t)=>{Ml.init(e,t),D.init(e,t)});lt=m("ZodCustomStringFormat",(e,t)=>{Ll.init(e,t),D.init(e,t)});Gt=m("ZodNumber",(e,t)=>{wr.init(e,t),z.init(e,t),e._zod.processJSONSchema=(a,i,r)=>_c(e,a,i,r),Ft(e,"ZodNumber",{gt(a,i){return this.check(xe(a,i))},gte(a,i){return this.check(Y(a,i))},min(a,i){return this.check(Y(a,i))},lt(a,i){return this.check(Ie(a,i))},lte(a,i){return this.check(re(a,i))},max(a,i){return this.check(re(a,i))},int(a){return this.check(Ii(a))},safe(a){return this.check(Ii(a))},positive(a){return this.check(xe(0,a))},nonnegative(a){return this.check(Y(0,a))},negative(a){return this.check(Ie(0,a))},nonpositive(a){return this.check(re(0,a))},multipleOf(a,i){return this.check(it(a,i))},step(a,i){return this.check(it(a,i))},finite(){return this}});let n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??0.5),e.isFinite=!0,e.format=n.format??null});Me=m("ZodNumberFormat",(e,t)=>{Fl.init(e,t),Gt.init(e,t)});Wt=m("ZodBoolean",(e,t)=>{Sr.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>kc(e,n,a,i)});Ht=m("ZodBigInt",(e,t)=>{Ir.init(e,t),z.init(e,t),e._zod.processJSONSchema=(a,i,r)=>wc(e,a,i,r),e.gte=(a,i)=>e.check(Y(a,i)),e.min=(a,i)=>e.check(Y(a,i)),e.gt=(a,i)=>e.check(xe(a,i)),e.gte=(a,i)=>e.check(Y(a,i)),e.min=(a,i)=>e.check(Y(a,i)),e.lt=(a,i)=>e.check(Ie(a,i)),e.lte=(a,i)=>e.check(re(a,i)),e.max=(a,i)=>e.check(re(a,i)),e.positive=(a)=>e.check(xe(BigInt(0),a)),e.negative=(a)=>e.check(Ie(BigInt(0),a)),e.nonpositive=(a)=>e.check(re(BigInt(0),a)),e.nonnegative=(a)=>e.check(Y(BigInt(0),a)),e.multipleOf=(a,i)=>e.check(it(a,i));let n=e._zod.bag;e.minValue=n.minimum??null,e.maxValue=n.maximum??null,e.format=n.format??null});dn=m("ZodBigIntFormat",(e,t)=>{Jl.init(e,t),Ht.init(e,t)});pa=m("ZodSymbol",(e,t)=>{Kl.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Sc(e,n,a,i)});va=m("ZodUndefined",(e,t)=>{Gl.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>xc(e,n,a,i)});ga=m("ZodNull",(e,t)=>{Wl.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Ic(e,n,a,i)});ya=m("ZodAny",(e,t)=>{Hl.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Pc(e,n,a,i)});ba=m("ZodUnknown",(e,t)=>{Bl.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Ec(e,n,a,i)});$a=m("ZodNever",(e,t)=>{Xl.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Uc(e,n,a,i)});_a=m("ZodVoid",(e,t)=>{Vl.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>zc(e,n,a,i)});mn=m("ZodDate",(e,t)=>{Yl.init(e,t),z.init(e,t),e._zod.processJSONSchema=(a,i,r)=>Tc(e,a,i,r),e.min=(a,i)=>e.check(Y(a,i)),e.max=(a,i)=>e.check(re(a,i));let n=e._zod.bag;e.minDate=n.minimum?new Date(n.minimum):null,e.maxDate=n.maximum?new Date(n.maximum):null});ka=m("ZodArray",(e,t)=>{Ql.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Jc(e,n,a,i),e.element=t.element,Ft(e,"ZodArray",{min(n,a){return this.check(De(n,a))},nonempty(n){return this.check(De(1,n))},max(n,a){return this.check(Rt(n,a))},length(n,a){return this.check(Mt(n,a))},unwrap(){return this.element}})});Xt=m("ZodObject",(e,t)=>{id.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Kc(e,n,a,i),U.defineLazy(e,"shape",()=>{return t.shape}),Ft(e,"ZodObject",{keyof(){return pn(Object.keys(this._zod.def.shape))},catchall(n){return this.clone({...this._zod.def,catchall:n})},passthrough(){return this.clone({...this._zod.def,catchall:Ce()})},loose(){return this.clone({...this._zod.def,catchall:Ce()})},strict(){return this.clone({...this._zod.def,catchall:cn()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(n){return U.extend(this,n)},safeExtend(n){return U.safeExtend(this,n)},merge(n){return U.merge(this,n)},pick(n){return U.pick(this,n)},omit(n){return U.omit(this,n)},partial(...n){return U.partial(gn,this,n[0])},required(...n){return U.required(hn,this,n[0])}})});Vt=m("ZodUnion",(e,t)=>{Oi.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>ra(e,n,a,i),e.options=t.options});wa=m("ZodXor",(e,t)=>{Vt.init(e,t),nd.init(e,t),e._zod.processJSONSchema=(n,a,i)=>ra(e,n,a,i),e.options=t.options});Sa=m("ZodDiscriminatedUnion",(e,t)=>{Vt.init(e,t),rd.init(e,t)});Ia=m("ZodIntersection",(e,t)=>{ad.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Gc(e,n,a,i)});za=m("ZodTuple",(e,t)=>{xr.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Wc(e,n,a,i),e.rest=(n)=>e.clone({...e._zod.def,rest:n})});ot=m("ZodRecord",(e,t)=>{od.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Hc(e,n,a,i),e.keyType=t.keyType,e.valueType=t.valueType});Ea=m("ZodMap",(e,t)=>{sd.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Lc(e,n,a,i),e.keyType=t.keyType,e.valueType=t.valueType,e.min=(...n)=>e.check(ze(...n)),e.nonempty=(n)=>e.check(ze(1,n)),e.max=(...n)=>e.check(ut(...n)),e.size=(...n)=>e.check(Zt(...n))});Ta=m("ZodSet",(e,t)=>{ud.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Fc(e,n,a,i),e.min=(...n)=>e.check(ze(...n)),e.nonempty=(n)=>e.check(ze(1,n)),e.max=(...n)=>e.check(ut(...n)),e.size=(...n)=>e.check(Zt(...n))});st=m("ZodEnum",(e,t)=>{ld.init(e,t),z.init(e,t),e._zod.processJSONSchema=(a,i,r)=>Oc(e,a,i,r),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(a,i)=>{let r={};for(let o of a)if(n.has(o))r[o]=t.entries[o];else throw Error(`Key ${o} not found in enum`);return new st({...t,checks:[],...U.normalizeParams(i),entries:r})},e.exclude=(a,i)=>{let r={...t.entries};for(let o of a)if(n.has(o))delete r[o];else throw Error(`Key ${o} not found in enum`);return new st({...t,checks:[],...U.normalizeParams(i),entries:r})}});Oa=m("ZodLiteral",(e,t)=>{dd.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>jc(e,n,a,i),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});ja=m("ZodFile",(e,t)=>{cd.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Dc(e,n,a,i),e.min=(n,a)=>e.check(ze(n,a)),e.max=(n,a)=>e.check(ut(n,a)),e.mime=(n,a)=>e.check(Mi(Array.isArray(n)?n:[n],a))});Na=m("ZodTransform",(e,t)=>{md.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Mc(e,n,a,i),e._zod.parse=(n,a)=>{if(a.direction==="backward")throw new Ut(e.constructor.name);n.addIssue=(r)=>{if(typeof r==="string")n.issues.push(U.issue(r,n.value,t));else{let o=r;if(o.fatal)o.continue=!1;o.code??(o.code="custom"),o.input??(o.input=n.value),o.inst??(o.inst=e),n.issues.push(U.issue(o))}};let i=t.transform(n.value,n);if(i instanceof Promise)return i.then((r)=>{return n.value=r,n.fallback=!0,n});return n.value=i,n.fallback=!0,n}});gn=m("ZodOptional",(e,t)=>{zr.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>aa(e,n,a,i),e.unwrap=()=>e._zod.def.innerType});Aa=m("ZodExactOptional",(e,t)=>{fd.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>aa(e,n,a,i),e.unwrap=()=>e._zod.def.innerType});Ca=m("ZodNullable",(e,t)=>{pd.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Bc(e,n,a,i),e.unwrap=()=>e._zod.def.innerType});Za=m("ZodDefault",(e,t)=>{vd.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Vc(e,n,a,i),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});Ma=m("ZodPrefault",(e,t)=>{gd.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Yc(e,n,a,i),e.unwrap=()=>e._zod.def.innerType});hn=m("ZodNonOptional",(e,t)=>{hd.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Xc(e,n,a,i),e.unwrap=()=>e._zod.def.innerType});Ja=m("ZodSuccess",(e,t)=>{yd.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Cc(e,n,a,i),e.unwrap=()=>e._zod.def.innerType});Ka=m("ZodCatch",(e,t)=>{bd.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Qc(e,n,a,i),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});Wa=m("ZodNaN",(e,t)=>{$d.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Nc(e,n,a,i)});Yt=m("ZodPipe",(e,t)=>{Ur.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>qc(e,n,a,i),e.in=t.in,e.out=t.out});Qt=m("ZodCodec",(e,t)=>{Yt.init(e,t),Pr.init(e,t)});Ha=m("ZodPreprocess",(e,t)=>{Yt.init(e,t),_d.init(e,t)}),Ba=m("ZodReadonly",(e,t)=>{kd.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>em(e,n,a,i),e.unwrap=()=>e._zod.def.innerType});Va=m("ZodTemplateLiteral",(e,t)=>{wd.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Ac(e,n,a,i)});Ya=m("ZodLazy",(e,t)=>{xd.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>im(e,n,a,i),e.unwrap=()=>e._zod.def.getter()});qa=m("ZodPromise",(e,t)=>{Id.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>tm(e,n,a,i),e.unwrap=()=>e._zod.def.innerType});eo=m("ZodFunction",(e,t)=>{Sd.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Rc(e,n,a,i)});qt=m("ZodCustom",(e,t)=>{zd.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Zc(e,n,a,i)});jf=gc,Nf=hc;O$={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(e){})(Vn||(Vn={}));b={...am,...om,iso:oa},A$=new Set(["$schema","$ref","$defs","definitions","$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor","type","enum","const","anyOf","oneOf","allOf","not","properties","required","additionalProperties","patternProperties","propertyNames","minProperties","maxProperties","items","prefixItems","additionalItems","minItems","maxItems","uniqueItems","contains","minContains","maxContains","minLength","maxLength","pattern","format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","description","default","contentEncoding","contentMediaType","contentSchema","unevaluatedItems","unevaluatedProperties","if","then","else","dependentSchemas","dependentRequired","nullable","readOnly"]);Mf={};he(Mf,{string:()=>R$,number:()=>M$,date:()=>J$,boolean:()=>L$,bigint:()=>F$});K(Ud());no=u,Lf=u.object({id:u.string(),temperature:u.number().optional(),isR1FormatRequired:u.boolean().optional(),maxTokens:u.number().optional(),contextWindow:u.number().optional(),inputPrice:u.number().optional(),outputPrice:u.number().optional(),supportsImages:u.boolean().optional()}),Ff=u.object({models:u.array(Lf).optional(),openAiBaseUrl:u.string().optional(),openAiHeaders:u.record(u.string(),u.string()).optional(),azureApiVersion:u.string().optional(),azureIdentity:u.boolean().optional()}),Jf=u.object({id:u.string(),thinkingBudgetTokens:u.number().optional()}),Kf=u.object({name:u.string(),baseModelId:u.string(),thinkingBudgetTokens:u.number().optional()}),Gf=u.object({models:u.array(Jf).optional(),customModels:u.array(Kf).optional(),awsRegion:u.string().optional(),awsUseCrossRegionInference:u.boolean().optional(),awsUseGlobalInference:u.boolean().optional(),awsBedrockUsePromptCache:u.boolean().optional(),awsBedrockEndpoint:u.string().optional()}),Wf=u.object({id:u.string()}),Hf=u.object({models:u.array(Wf).optional()}),Bf=u.object({id:u.string(),thinkingBudgetTokens:u.number().optional()}),Xf=u.object({models:u.array(Bf).optional(),vertexProjectId:u.string().optional(),vertexRegion:u.string().optional()}),Vf=u.object({id:u.string(),thinkingBudgetTokens:u.number().optional(),promptCachingEnabled:u.boolean().optional()}),Yf=u.object({models:u.array(Vf).optional(),baseUrl:u.string().optional()}),Qf=u.object({id:u.string(),thinkingBudgetTokens:u.number().optional()}),qf=u.object({models:u.array(Qf).optional(),baseUrl:u.string().optional()}),K$=u.object({OpenAiCompatible:Ff.optional(),AwsBedrock:Gf.optional(),Cline:Hf.optional(),Vertex:Xf.optional(),LiteLLM:Yf.optional(),Anthropic:qf.optional()}),ep=u.object({id:u.string()}),tp=u.object({name:u.string(),url:u.string(),alwaysEnabled:u.boolean().optional(),headers:u.record(u.string(),u.string()).optional()}),Yn=u.object({alwaysEnabled:u.boolean(),name:u.string(),contents:u.string()}),gi=u.object({bucket:u.string(),accessKeyId:u.string(),secretAccessKey:u.string(),region:u.string().optional(),endpoint:u.string().optional(),accountId:u.string().optional()}),ip=u.object({enabled:u.boolean().optional(),type:u.union([u.literal("s3_access_keys"),u.literal("r2_access_keys"),u.literal("azure_access_keys")]).optional(),s3AccessSettings:gi.optional(),r2AccessSettings:gi.optional(),azureAccessSettings:gi.optional()}),np=u.object({promptUploading:ip.optional()}),G$=u.object({version:u.string(),providerSettings:K$.optional(),telemetryEnabled:u.boolean().optional(),kanbanEnabled:u.boolean().optional(),mcpMarketplaceEnabled:u.boolean().optional(),allowedMCPServers:u.array(ep).optional(),remoteMCPServers:u.array(tp).optional(),blockPersonalRemoteMCPServers:u.boolean().optional(),yoloModeAllowed:u.boolean().optional(),openTelemetryEnabled:u.boolean().optional(),openTelemetryMetricsExporter:u.string().optional(),openTelemetryLogsExporter:u.string().optional(),openTelemetryOtlpProtocol:u.string().optional(),openTelemetryOtlpEndpoint:u.string().optional(),openTelemetryOtlpHeaders:u.record(u.string(),u.string()).optional(),openTelemetryOtlpMetricsProtocol:u.string().optional(),openTelemetryOtlpMetricsEndpoint:u.string().optional(),openTelemetryOtlpMetricsHeaders:u.record(u.string(),u.string()).optional(),openTelemetryOtlpLogsProtocol:u.string().optional(),openTelemetryOtlpLogsEndpoint:u.string().optional(),openTelemetryOtlpLogsHeaders:u.record(u.string(),u.string()).optional(),openTelemetryMetricExportInterval:u.number().optional(),openTelemetryOtlpInsecure:u.boolean().optional(),openTelemetryLogBatchSize:u.number().optional(),openTelemetryLogBatchTimeout:u.number().optional(),openTelemetryLogMaxQueueSize:u.number().optional(),enterpriseTelemetry:np.optional(),globalRules:u.array(Yn).optional(),globalWorkflows:u.array(Yn).optional()}),W$=u.record(u.string(),u.string()),rp=u.enum(["default","openai-responses","r1"]),H$={DEFAULT:"default",OPENAI_RESPONSES:"openai-responses",R1:"r1"},ap=u.enum(["images","tools","streaming","prompt-cache","reasoning","reasoning-effort","computer-use","global-endpoint","structured_output","temperature","files"]),op=u.enum(["active","preview","deprecated","legacy"]),sp=u.object({input:u.number().optional(),output:u.number().optional(),cacheWrite:u.number().optional(),cacheRead:u.number().optional()}),up=u.object({maxBudget:u.number().optional(),outputPrice:u.number().optional(),thinkingLevel:u.enum(["low","high"]).optional()}),ro=u.object({id:u.string(),name:u.string().optional(),description:u.string().optional(),maxTokens:u.number().optional(),contextWindow:u.number().optional(),capabilities:u.array(ap).optional(),apiFormat:rp.optional(),systemRole:u.enum(["system","developer"]).optional(),temperature:u.number().optional(),pricing:sp.optional(),thinkingConfig:up.optional(),status:op.optional(),deprecationNotice:u.string().optional(),replacedBy:u.string().optional(),releaseDate:u.string().optional(),deprecationDate:u.string().optional(),family:u.string().optional()}),lp=u.object({id:u.string(),name:u.string(),input:u.unknown(),output:u.unknown(),error:u.string().optional(),durationMs:u.number(),startedAt:u.date(),endedAt:u.date()}),dp=u.enum(["completed","max_iterations","aborted","mistake_limit","error"]),cp=u.object({inputTokens:u.number(),outputTokens:u.number(),cacheReadTokens:u.number().optional(),cacheWriteTokens:u.number().optional(),totalCost:u.number().optional()}),B$=u.object({text:u.string(),usage:cp,messages:u.array(u.custom()),toolCalls:u.array(lp),iterations:u.number(),finishReason:dp,model:u.object({id:u.string(),provider:u.string(),info:ro.optional()}),startedAt:u.date(),endedAt:u.date(),durationMs:u.number()}),mp=u.enum(["low","medium","high","xhigh"]),X$=u.object({sessionId:u.string().optional(),providerId:u.string(),modelId:u.string(),apiKey:u.string().optional(),baseUrl:u.string().url().optional(),headers:u.record(u.string(),u.string()).optional(),knownModels:u.record(u.string(),ro).optional(),providerConfig:u.unknown().optional(),initialMessages:u.array(u.custom()).optional(),systemPrompt:u.string(),tools:u.array(u.custom()),maxIterations:u.number().positive().optional(),maxParallelToolCalls:u.number().int().positive().default(8),maxTokensPerTurn:u.number().positive().optional(),apiTimeoutMs:u.number().positive().default(180000),userFileContentLoader:u.function().input([u.string()]).output(u.promise(u.string())).optional(),toolContextMetadata:u.record(u.string(),u.unknown()).optional(),execution:u.object({maxConsecutiveMistakes:u.number().int().positive().optional(),reminderAfterIterations:u.number().nonnegative().optional(),reminderText:u.string().optional(),loopDetection:u.union([u.literal(!1),u.object({softThreshold:u.number().int().positive().optional(),hardThreshold:u.number().int().positive().optional()})]).optional()}).optional(),reasoningEffort:mp.optional(),thinkingBudgetTokens:u.number().positive().optional(),thinking:u.boolean().optional(),onEvent:u.function().input([u.custom()]).output(u.void()).optional(),hooks:u.custom().optional(),parentAgentId:u.string().optional(),extensions:u.array(u.custom()).optional(),hookErrorMode:u.enum(["ignore","throw"]).default("ignore"),toolPolicies:u.record(u.string(),u.object({enabled:u.boolean().optional(),autoApprove:u.boolean().optional()})).optional(),requestToolApproval:u.function().input([u.object({sessionId:u.string(),agentId:u.string(),conversationId:u.string(),iteration:u.number(),toolCallId:u.string(),toolName:u.string(),input:u.unknown(),policy:u.object({enabled:u.boolean().optional(),autoApprove:u.boolean().optional()}).default({})})]).output(u.union([u.object({approved:u.boolean(),reason:u.string().optional()}),u.promise(u.object({approved:u.boolean(),reason:u.string().optional()}))])).optional(),onConsecutiveMistakeLimitReached:u.function().input([u.object({iteration:u.number().int().positive(),consecutiveMistakes:u.number().int().positive(),maxConsecutiveMistakes:u.number().int().positive(),reason:u.enum(["api_error","invalid_tool_call","tool_execution_failed"]),details:u.string().optional()})]).output(u.union([u.object({action:u.literal("continue"),guidance:u.string().optional()}),u.object({action:u.literal("stop"),reason:u.string().optional()}),u.promise(u.union([u.object({action:u.literal("continue"),guidance:u.string().optional()}),u.object({action:u.literal("stop"),reason:u.string().optional()})]))])).optional(),logger:u.custom().optional(),extensionContext:u.custom().optional(),abortSignal:u.custom().optional()}),fp=u.enum(["connector.started","connector.stopping","session.authorize","message.received","message.denied","message.completed","message.failed","session.started","session.reused","session.reset","schedule.delivery.started","schedule.delivery.sent","schedule.delivery.failed"]),pp=u.object({id:u.string().optional(),label:u.string().optional(),role:u.string().optional(),participantKey:u.string().optional(),participantLabel:u.string().optional(),platformUserId:u.string().optional(),metadata:u.record(u.string(),u.unknown()).optional()}),vp=u.object({source:u.string(),sourceEvent:u.string(),threadId:u.string(),channelId:u.string(),isDM:u.boolean(),sessionId:u.string().optional(),workspaceRoot:u.string().optional(),metadata:u.record(u.string(),u.unknown()).optional()}),V$=u.object({actor:pp,context:vp,payload:u.record(u.string(),u.unknown()).optional()}),Y$=u.object({action:u.enum(["allow","deny"]).default("allow"),message:u.string().optional(),reason:u.string().optional(),metadata:u.record(u.string(),u.unknown()).optional()}),Q$=u.object({adapter:u.string(),botUserName:u.string().optional(),event:fp,payload:u.record(u.string(),u.unknown()),ts:u.string()}),gp=[];e_=["hooks","tools","commands","rules","messageBuilders","providers","automationEvents"],t_=new Set(e_);a_=[".js",".ts"],$p=u.enum(["agent_start","agent_resume","agent_abort","agent_end","agent_error","tool_call","tool_result","prompt_submit","pre_compact","session_shutdown"]),Ze=u.record(u.string(),u.string()),o_=u.object({toolName:u.string(),parameters:Ze}),s_=u.object({toolName:u.string(),parameters:Ze,result:u.string(),success:u.boolean(),executionTimeMs:u.number()}),u_=u.object({prompt:u.string(),attachments:u.array(u.string())}),l_=u.object({taskMetadata:Ze}),d_=u.object({taskMetadata:Ze,previousState:Ze}),c_=u.object({taskMetadata:Ze}),m_=u.object({taskMetadata:Ze}),f_=u.object({taskId:u.string(),ulid:u.string(),contextSize:u.number(),compactionStrategy:u.string(),previousApiReqIndex:u.number(),tokensIn:u.number(),tokensOut:u.number(),tokensInCache:u.number(),tokensOutCache:u.number(),deletedRangeStart:u.number(),deletedRangeEnd:u.number(),contextJsonPath:u.string(),contextRawPath:u.string()}),_p=u.object({clineVersion:u.string(),hookName:$p,timestamp:u.string(),taskId:u.string(),sessionContext:u.object({rootSessionId:u.string().optional(),hookLogPath:u.string().optional()}).optional(),workspaceRoots:u.array(u.string()),workspaceInfo:u.custom().optional(),userId:u.string(),agent_id:u.string(),parent_agent_id:u.string().nullable(),iteration:u.number().optional(),reason:u.string().optional(),tool_call:u.object({id:u.string(),name:u.string(),input:u.unknown()}).optional(),tool_result:u.custom().optional(),turn:u.unknown().optional(),error:u.object({name:u.string(),message:u.string(),stack:u.string().optional()}).optional(),preToolUse:o_.optional(),postToolUse:s_.optional(),userPromptSubmit:u_.optional(),taskStart:l_.optional(),taskResume:d_.optional(),taskCancel:c_.optional(),taskComplete:m_.optional(),preCompact:f_.optional()}).passthrough();wp=["readFile","search","bash","webFetch","editor","applyPatch","skills","askQuestion","submit"],y_=new Set(wp);_t={xhigh:0.95,high:0.8,medium:0.5,low:0.2,minimal:0.1,none:0};D_={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","X-IS-MULTIROOT":"false","X-CLIENT-TYPE":"cline-sdk"};Z_={debug:()=>{},log:()=>{},error:()=>{}};Te=class Te extends Error{constructor(e,t){super(`${e} at position ${t}`);this.position=t}};zs=/^(http|https|ftp|mailto|file|data|irc):\/\/$/,Us=/^[A-Za-z0-9-._~:/?#@!$&'()*+;=]$/;L_=/^[[{\w-]$/;H_={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"},B_={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
160
+ `,r:"\r",t:"\t"};Y_=/^\{\s*"([A-Za-z0-9_.$-]+)"\s*:\s*([\s\S]+?)\s*\}$/;q_=[(e)=>JSON.parse(e),(e)=>JSON.parse(X_(e)),Q_];$k=no.enum(["reasoning","prompt-cache","tools","provider-tools","oauth","temperature","files","streaming","vision","computer-use","local-auth"]),_k=no.enum(["anthropic","gemini","openai-chat","openai-responses","openai-r1","ai-sdk"]),kk=no.enum(["anthropic","ai-sdk","ai-sdk-community","openai","openai-compatible","openai-r1","gemini","bedrock","custom","fetch","vertex"]);tr={production:{environment:"production",appBaseUrl:"https://app.cline.bot",apiBaseUrl:"https://api.cline.bot",mcpBaseUrl:"https://api.cline.bot/v1/mcp",workOsClientId:"client_01K3A541FN8TA3EPPHTD2325AR"},staging:{environment:"staging",appBaseUrl:"https://staging-app.cline.bot",apiBaseUrl:"https://core-api.staging.int.cline.bot",mcpBaseUrl:"https://core-api.staging.int.cline.bot/v1/mcp",workOsClientId:"client_01K3A5415VF6QBQBG3XYCW91G6"},local:{environment:"local",appBaseUrl:"http://localhost:3000",apiBaseUrl:"http://localhost:7777",mcpBaseUrl:"http://localhost:7777/v1/mcp",workOsClientId:"client_01K6XQAY7JK6T5HXVSZW2S5VYK"}};Qk=["running","completed","failed","cancelled"],lo=["rules","skills","workflows","plugins"],Rp=lo,qk=new Set(lo);Lp=u.object({rootPath:u.string().min(1),hint:u.string().min(1).optional(),associatedRemoteUrls:u.array(u.string().min(1)).optional(),latestGitCommitHash:u.string().min(1).optional(),latestGitBranchName:u.string().min(1).optional()}),Fp=u.object({currentWorkspacePath:u.string().min(1).optional(),workspaces:u.record(u.string().min(1),Lp)});Jp=["current_state","boundary_analysis","interface_proposal"],le=u.preprocess((e)=>e instanceof Date?e.toISOString():e,u.string().datetime()),qe=u.enum(["pending","in_progress","blocked","completed"]),Kp=u.enum(["queued","running","completed","failed","cancelled","interrupted"]),yn=u.enum(["draft","in_review","finalized"]),sw=u.object({agentId:u.string(),role:u.enum(["lead","teammate"]),description:u.string().optional(),status:u.enum(["idle","running","stopped"])}),uw=u.object({agentId:u.string(),rolePrompt:u.string(),modelId:u.string().optional(),maxIterations:u.number().optional()});lw=u.object({agentId:u.string().min(1).describe("Teammate identifier"),rolePrompt:u.string().min(1).describe("System prompt describing teammate role")}).strict(),dw=u.object({agentId:u.string().min(1).describe("Teammate identifier"),reason:Z(u.string().min(1)).describe("Optional shutdown reason")}),cw=u.object({}),mw={create:["title","description"],list:[],claim:["taskId"],complete:["taskId","summary"],block:["taskId","reason"]},fw={create:["status","taskId","summary","reason"]},pw=u.object({action:u.enum(["create","list","claim","complete","block"]),title:Z(u.string().min(1)).describe("Task title"),description:Z(u.string().min(1)).describe("Task details"),dependsOn:Z(u.array(u.string().describe("Dependency task ID"))).describe("Array of dependency task IDs"),assignee:Z(u.string().min(1)).describe("Optional assignee"),status:Z(u.enum(["pending","in_progress","blocked","completed"])).describe("Optional task status filter"),taskId:Z(u.string()).describe("Task ID"),summary:Z(u.string().min(1)).describe("Completion summary"),reason:Z(u.string().min(1)).describe("Blocking reason")}).superRefine((e,t)=>{for(let n of mw[e.action]){if(e[n]!==void 0)continue;t.addIssue({code:"custom",path:[n],message:`Field "${n}" is required when action=${e.action}`})}}),vw=u.object({agentId:u.string().describe("Teammate agent ID"),task:u.string().min(1).describe("Task instructions for the teammate"),taskId:Z(u.string()).describe("Optional shared task list ID"),runMode:Z(u.enum(["sync","async"])).describe("Execution mode: 'sync' blocks until the teammate finishes and returns the result (default if omitted); 'async' queues the run and returns a runId immediately — use team_await_runs to collect results later."),continueConversation:Z(u.boolean()).describe("If true, continue the teammate conversation; otherwise start fresh")}),gw=u.object({status:Z(u.enum(["queued","running","completed","failed","cancelled","interrupted"])).describe("Optional run status filter. Omit to include all statuses."),agentId:Z(u.string().min(1)).describe("Optional teammate ID filter. Omit to include all teammates."),includeCompleted:Z(u.boolean()).describe("Include completed/failed runs (default true)")}),hw=u.object({runId:u.string().min(1).describe("Run ID"),reason:Z(u.string().min(1)).describe("Optional cancellation reason")}),yw=u.object({runId:Z(u.string().min(1)).describe("Optional async run ID to await. Omit to wait for all active async runs.")}).strict(),bw=u.object({toAgentId:u.string().min(1).describe("Recipient agent ID"),subject:u.string().min(1).describe("Message subject"),body:u.string().min(1).describe("Message body"),taskId:Z(u.string().min(1)).describe("Optional task ID context")}),$w=u.object({subject:u.string().min(1).describe("Message subject"),body:u.string().min(1).describe("Message body"),taskId:Z(u.string().min(1)).describe("Optional task ID context")}),_w=u.object({unreadOnly:Z(u.boolean()).describe("Only unread messages for read action (default true)")}),kw=u.object({kind:u.enum(["progress","handoff","blocked","decision","done","error"]),summary:u.string().min(1).describe("Update summary"),taskId:Z(u.string().min(1)).describe("Optional task ID context"),evidence:Z(u.array(u.string().min(1))).describe("Optional evidence links/snippets"),nextAction:Z(u.string().min(1)).describe("Planned next step")}),ww=u.object({}),Sw=u.object({title:u.string().describe("Outcome title"),requiredSections:u.array(u.string()).default(Jp).describe("Required sections for finalization gate (defaults to current_state,boundary_analysis,interface_proposal)")}),Iw=u.object({outcomeId:u.string().describe("Outcome ID"),section:u.string().describe("Section name"),sourceRunId:Z(u.string()).describe("Optional source run ID"),content:u.string().describe("Section fragment content")}),xw=u.object({fragmentId:u.string().describe("Fragment ID"),approved:u.boolean().describe("Review decision")}),zw=u.object({outcomeId:u.string().describe("Outcome ID")}),Uw=u.object({}),Pw=u.object({teamId:u.string(),teamName:u.string(),members:u.array(sw),taskCounts:u.record(qe,u.number()),unreadMessages:u.number(),missionLogEntries:u.number(),activeRuns:u.number(),queuedRuns:u.number(),outcomeCounts:u.record(yn,u.number())}),Gp=u.object({id:u.string(),title:u.string(),description:u.string(),status:qe,createdAt:le,updatedAt:le,createdBy:u.string(),assignee:u.string().optional(),dependsOn:u.array(u.string()),summary:u.string().optional(),isReady:u.boolean(),blockedBy:u.array(u.string())}),Ew=u.discriminatedUnion("action",[u.object({action:u.literal("create"),taskId:u.string(),status:qe,ignoredFields:u.array(u.string()).optional(),note:u.string().optional()}),u.object({action:u.literal("list"),tasks:u.array(Gp)}),u.object({action:u.literal("claim"),taskId:u.string(),status:qe,nextStep:u.string()}),u.object({action:u.literal("complete"),taskId:u.string(),status:qe}),u.object({action:u.literal("block"),taskId:u.string(),status:qe})]),Tw=u.object({agentId:u.string(),mode:u.enum(["sync","async"]),status:u.enum(["dispatched","running","queued","joined"]),dispatched:u.boolean(),message:u.string(),deduped:u.boolean().optional(),runId:u.string().optional(),text:u.string().optional(),iterations:u.number().optional()}),Wp=u.object({textPreview:u.string(),iterations:u.number(),finishReason:u.string(),durationMs:u.number(),usage:u.object({inputTokens:u.number(),outputTokens:u.number(),cacheReadTokens:u.number().optional(),cacheWriteTokens:u.number().optional(),totalCost:u.number().optional()})}),Ow=u.object({id:u.string(),agentId:u.string(),taskId:u.string().optional(),status:Kp,messagePreview:u.string(),priority:u.number(),retryCount:u.number(),maxRetries:u.number(),nextAttemptAt:le.optional(),continueConversation:u.boolean().optional(),startedAt:le,endedAt:le.optional(),leaseOwner:u.string().optional(),heartbeatAt:le.optional(),lastProgressAt:le.optional(),lastProgressMessage:u.string().optional(),currentActivity:u.string().optional(),error:u.string().optional(),resultSummary:Wp.optional()}),jw=u.object({id:u.string(),teamId:u.string(),fromAgentId:u.string(),toAgentId:u.string(),subject:u.string(),body:u.string(),taskId:u.string().optional(),sentAt:le,readAt:le.optional()}),Nw=u.object({id:u.string(),teamId:u.string(),title:u.string(),status:yn,requiredSections:u.array(u.string()),createdBy:u.string(),createdAt:le,finalizedAt:le.optional()}),Aw=u.object({outcomeId:u.string(),status:yn,requiredSections:u.array(u.string())}),Dw=u.object({agentId:u.string(),status:u.string()}),Cw=u.object({runId:u.string(),status:Kp}),Zw=u.object({id:u.string(),toAgentId:u.string()}),Rw=u.object({delivered:u.number()}),Mw=u.object({id:u.string()}),Lw=u.object({status:u.string()}),Fw=u.object({fragmentId:u.string(),status:u.string()}),Jw=u.object({outcomeId:u.string(),status:yn});((e)=>{e.TaskStart="task_start",e.TaskEnd="task_end",e.AgentEvent="agent_event",e.TeammateSpawned="teammate_spawned",e.TeammateShutdown="teammate_shutdown",e.TeamTaskUpdated="team_task_updated",e.TeamMessage="team_message",e.TeamMissionLog="team_mission_log",e.TeamTaskCompleted="team_task_completed",e.RunStarted="run_started",e.RunQueued="run_queued",e.RunProgress="run_progress",e.RunCompleted="run_completed",e.RunFailed="run_failed",e.RunCancelled="run_cancelled",e.RunInterrupted="run_interrupted",e.OutcomeCreated="outcome_created",e.OutcomeFragmentAttached="outcome_fragment_attached",e.OutcomeFragmentReviewed="outcome_fragment_reviewed",e.OutcomeFinalized="outcome_finalized"})(Hp||={});Bp=["cline","oca","openai-codex"];Vp=["401","403","unauthorized","forbidden","invalid token","expired token","authentication"];qw=new Set(["accesskeyid","secretaccesskey","idtoken","refreshtoken","accessToken","access_token","refresh_token","apikey","api_key","authorization","password","secret","token","email","displayname","display_name","userInfo"]),eS=["id","balance","cost","secret"];iS=[{pattern:/AKIA[A-Z0-9]{16}/g,replacement:"AKIA_REDACTED"},{pattern:/\/Users\/[A-Za-z0-9._-]+/g,replacement:"/Users/REDACTED_USER"},{pattern:/\/home\/[A-Za-z0-9._-]+/g,replacement:"/home/REDACTED_USER"}];rS=[{pattern:/tasks\/[A-Za-z0-9._-]+\/[A-Za-z0-9._-]+\/api_conversation_history/g,replacement:"tasks/usr-test/taskid/api_conversation_history"},{pattern:/\/(org|usr|mbr|ses|gen|req|msg|tsk|sch|exe|srv|cli|wkr|evt|sub|tkn)-[A-Za-z0-9]{10,}(?=[/?#]|$)/g,replacement:"/$1-REDACTED"}]});function Ge(e){let t=(a)=>{if(!a)return;if(typeof a==="string")try{return t(JSON.parse(a))}catch{return a.trim()||void 0}if(typeof a!=="object")return;let i=a;if(typeof i.error==="string"&&i.error.trim())return i.error;if(i.error&&typeof i.error==="object"&&typeof i.error.message==="string"&&i.error.message.trim())return i.error.message;if(typeof i.detail==="string"&&i.detail.trim())return i.detail;if(Array.isArray(i.errors))for(let r of i.errors){let o=t(r);if(o)return o}if("responseBody"in i&&i.responseBody!==a){let r=t(i.responseBody);if(r)return r}if("cause"in i&&i.cause!==a){let r=t(i.cause);if(r)return r}if(typeof i.message==="string"&&i.message.trim())return i.message;return},n=t(e);if(n)return n;return String(e)}function wn(e){return e.replace(/-([a-z0-9])/gi,(t,n)=>n.toUpperCase())}function Pe(){return{cache_control:{type:"ephemeral"}}}function X(e){let t=e.model.metadata?.family;return typeof t==="string"?t:void 0}function $e(e){let t=typeof e.family==="string"?e.family.trim():"";if(t)return t.toLowerCase().includes("claude");return IS(e.modelId)}function IS(e){if(!e)return!1;let t=e.toLowerCase(),n=t.includes("anthropic"),a=t.includes("claude"),i=t.includes("qwen");return n||a||i}function mv(e,t){let n={openaiCompatible:Pe(),[e]:Pe()},a=wn(e);if(a!==e)n[a]=Pe();if(t)n.anthropic=Pe();return n}function fv(e,t,n){if(!e)return;let a=e.content;if(typeof a==="string"){e.content=[{type:"text",text:a,providerOptions:mv(t,n)}];return}if(!Array.isArray(a))return;for(let i=a.length-1;i>=0;i--){let r=a[i];if(r&&typeof r==="object"&&r.type==="text"){a[i]={...r,providerOptions:mv(t,n)};return}}}function ni(e,t){return $e({modelId:e.modelId,family:X(t)})&&ES(t.provider)==="anthropic-automatic"}function xS(e){let t=e.model.capabilities;return!t||t.includes("reasoning")}function zS(e,t){let n=t?.toLowerCase()??"",a=e?.toLowerCase()??"";if(n.includes("opus")||a.includes("opus"))return"opus";if(n.includes("sonnet")||a.includes("sonnet"))return"sonnet";if(n.includes("haiku")||a.includes("haiku"))return"haiku";return}function US(e){let t=e?.toLowerCase()??"",n=/claude-(\d+)[.-](\d{1,2})-(?:opus|sonnet|haiku)/i.exec(t),i=/claude-(?:opus|sonnet|haiku)-(.+)/i.exec(t)?.[1]?.match(/\d+/g)??[],r=n?.[1]??i[0],o=n?.[2]??(i[1]?.length<=2?i[1]:void 0);if(!r||!o)return;let s=Number.parseInt(r,10),l=Number.parseInt(o,10);if(!Number.isFinite(s)||!Number.isFinite(l))return;return{major:s,minor:l}}function PS(e){let t=zS(e.modelId,e.family),n=US(e.modelId);if(!t||!n)return!1;if(n.major!==4)return n.major>4;return(t==="opus"||t==="sonnet")&&n.minor>=6}function ft(e,t){let n=X(t);if(!$e({modelId:e.modelId,family:n})||!xS(t))return{kind:"none"};return PS({modelId:e.modelId,family:n})?{kind:"anthropic-adaptive"}:{kind:"anthropic-manual"}}function ES(e){let t=e.metadata?.promptCacheStrategy;return t==="anthropic-automatic"?t:void 0}function pv(e,t){let n=ft(e,t),i=e.reasoning?.enabled===!0||e.reasoning?.effort!==void 0||typeof e.reasoning?.budgetTokens==="number"&&e.reasoning.budgetTokens>0?n.kind==="anthropic-adaptive"?{type:"adaptive"}:n.kind==="anthropic-manual"?{type:"enabled",budgetTokens:vo({modelId:e.modelId,family:X(t),effort:e.reasoning?.effort,maxTokens:e.maxTokens,explicitBudgetTokens:e.reasoning?.budgetTokens})}:void 0:void 0;return{...n.kind==="anthropic-adaptive"&&e.reasoning?.effort?{effort:e.reasoning.effort}:{},...i?{thinking:i}:{},...ni(e,t)?Pe():{}}}function vo(e){if(typeof e.explicitBudgetTokens==="number"&&e.explicitBudgetTokens>0)return e.explicitBudgetTokens;if(!e.modelId&&!e.family||!$e({modelId:e.modelId,family:e.family}))return;if(!e.effort)return mt;if(typeof e.maxTokens!=="number")return mt;if(e.maxTokens<=mt)return mt;let t=SS[e.effort];if(!t)return mt;let n=Math.min(e.maxTokens-1,wS);return Math.max(mt,Math.floor(n*t))}function vv(e,t){let n=ft(e,t);if(n.kind==="none"||!e.reasoning?.enabled&&!e.reasoning?.effort&&typeof e.reasoning?.budgetTokens!=="number")return;let a=vo({modelId:e.modelId,family:X(t),effort:e.reasoning?.effort,maxTokens:e.maxTokens,explicitBudgetTokens:e.reasoning?.budgetTokens}),i={};if(e.reasoning?.enabled===!0)i.enabled=!0;if(n.kind==="anthropic-adaptive"&&e.reasoning?.effort)i.effort=e.reasoning.effort;if(typeof e.reasoning?.budgetTokens==="number")i.max_tokens=e.reasoning.budgetTokens;else if(n.kind==="anthropic-manual"&&typeof a==="number"&&a>=0)i.max_tokens=a;return Object.keys(i).length>0?i:void 0}function gv(e,t){if(e.reasoning?.enabled===void 0&&!e.reasoning?.effort&&typeof e.reasoning?.budgetTokens!=="number")return;let n=ft(e,t);if(n.kind==="none"&&$e({modelId:e.modelId,family:X(t)}))return;let a=n.kind==="anthropic-manual"?vo({modelId:e.modelId,family:X(t),effort:e.reasoning?.effort,maxTokens:e.maxTokens,explicitBudgetTokens:e.reasoning?.budgetTokens}):e.reasoning?.budgetTokens,i={...e.reasoning?.enabled===!0?{enabled:!0}:e.reasoning?.enabled===!1?{enabled:!1}:e.reasoning?.effort?{enabled:!0}:{},...e.reasoning?.effort&&n.kind!=="anthropic-manual"?{effort:e.reasoning.effort}:{}};if(typeof a==="number"&&a>=0)i.max_tokens=a;return Object.keys(i).length>0?i:void 0}var mt=1024,wS=128000,SS;var Sn=V(()=>{SS={low:0.2,medium:0.5,high:0.8}});function In(e,t){let n=X(t)?.toLowerCase()??"",a=e.modelId.toLowerCase();return n.includes("glm")||a.includes("glm")}function go(e){return e==="zai"||e==="zai-coding-plan"}function hv(e,t){return go(e.providerId)&&e.reasoning?.enabled!==void 0&&!In(e,t)||In(e,t)&&!go(e.providerId)}function TS(e){if(e.reasoning?.enabled===void 0)return;return{thinking:{type:e.reasoning.enabled?"enabled":"disabled"}}}function OS(e){if(e.reasoning?.enabled===!0)return{reasoning:{enabled:!0}};if(e.reasoning?.enabled===!1)return{reasoning:{exclude:!0}};return}function yv(e,t,n){if(go(e.providerId)){if(!In(e,t))return;let i=TS(e);return i?{openaiCompatible:i,[e.providerId]:i,...n!==e.providerId?{[n]:i}:{}}:void 0}if(!In(e,t))return;let a=OS(e);if(!a)return;return{openaiCompatible:a,[e.providerId]:a,...n!==e.providerId?{[n]:a}:{}}}var bv=V(()=>{Sn()});function AS(e){let t={};for(let n of e){if(!n)continue;for(let[a,i]of Object.entries(n))t[a]={...t[a]??{},...i}}return t}function ho(e){let{providerId:t,providerOptionsKey:n,bucketOptions:a}=e,i=n!==t&&n!=="anthropic";return{[t]:a,...i?{[n]:a}:{}}}function DS(e){switch(e){case"openai-native":return"openai";case"anthropic":return"anthropic";case"google":case"gemini":return"google";case"vertex":return"vertex";case"bedrock":return"bedrock";case"mistral":return"mistral";case"claude-code":return"claude-code";case"openai-codex":return"openai-codex";case"opencode":return"opencode";case"dify":return"dify";default:return"openai-compatible"}}function $v(e){let t={thinking:{type:e.thinkingType}};return{...ho({providerId:e.providerId,providerOptionsKey:e.providerOptionsKey,bucketOptions:t}),openaiCompatible:t}}function CS(e){return e.toLowerCase().includes("moonshotai/kimi-")}function _v(e){return X(e)?.trim().toLowerCase()==="kimi-k2.6"}function ZS(e){return X(e)?.trim().toLowerCase().includes("deepseek")===!0}function RS(e,t){return kv.some((n)=>n.matches(e,t))}function MS(e,t){let n=kv.find((i)=>i.matches(e,t));if(!n)return;let a=e.reasoning?.enabled;if(a===!0)return"enabled";if(a===!1)return"disabled";return n.defaultWhenUnset}function LS(e,t){if(hv(e,t)||RS(e,t))return{};if(e.reasoning?.enabled!==!0)return{};let a=$e({modelId:e.modelId,family:X(t)})?ft(e,t):void 0;if(a&&a.kind!=="anthropic-adaptive")return{};return{thinking:{type:"adaptive"}}}function FS(e){let t=e.reasoning?.effort;if(!t||e.reasoning?.enabled===!1)return{};if(!(!e.isAnthropicCompatibleModelId||e.anthropicReasoningPolicyKind==="anthropic-adaptive"))return{};return{effort:t,reasoningEffort:t,...e.isAnthropicCompatibleModelId?{}:{reasoningSummary:"auto"}}}function wv(e){return["openai-native","openai"].includes(e.providerId)?{truncation:"auto"}:{}}function JS(e){let{request:t,context:n,isAnthropicCompatibleModelId:a,target:i}=e,r=a?ft(t,n):void 0,o=vv(t,n),s=ni(t,n)?Pe():{};return{...i==="openai-compatible"?{strictJsonSchema:!1}:{},...LS(t,n),...FS({reasoning:t.reasoning,isAnthropicCompatibleModelId:a,anthropicReasoningPolicyKind:r?.kind}),...o?{reasoning:o}:{},...s,...wv(t)}}function KS(e,t){if(t!=="openai")return;return{openai:{strictJsonSchema:!1,...wv(e)}}}function GS(e,t){return{anthropic:t,openaiCompatible:e}}function WS(e,t,n){if(e.providerId!=="openai-codex")return;let a={...n,instructions:e.systemPrompt,store:!1,strictJsonSchema:!1,systemMessageMode:"remove"};return{openai:a,...ho({providerId:e.providerId,providerOptionsKey:t,bucketOptions:a})}}function HS(e,t,n,a,i){if(i==="openai")return;if(jS.has(e.providerId))return;let r=e.providerId==="cline"?gv(e,t):void 0;return ho({providerId:e.providerId,providerOptionsKey:n,bucketOptions:{...a,...r?{reasoning:r}:{}}})}function BS(e){if(!(e.providerId==="google"||e.providerId==="gemini")||!e.reasoning?.effort)return;return{google:{thinkingConfig:{thinkingLevel:e.reasoning.effort,includeThoughts:!0}}}}function XS(e){let{request:t,context:n,providerOptionsKey:a}=e;if(t.reasoning?.enabled!==!1)return;if(!CS(t.modelId))return;if(_v(n))return;if(!NS.has(t.providerId))return;return $v({providerId:t.providerId,providerOptionsKey:a,thinkingType:"disabled"})}function VS(e){let{request:t,context:n,providerOptionsKey:a}=e,i=MS(t,n);if(!i)return;return $v({providerId:t.providerId,providerOptionsKey:a,thinkingType:i})}function Sv(e,t,n=DS(e.providerId)){let a=wn(e.providerId),i=$e({modelId:e.modelId,family:X(t)}),r=JS({request:e,context:t,isAnthropicCompatibleModelId:i,target:n}),o=pv(e,t),s=[GS(r,o),KS(e,n),WS(e,a,r),HS(e,t,a,r,n),BS(e),XS({request:e,context:t,providerOptionsKey:a}),VS({request:e,context:t,providerOptionsKey:a}),yv(e,t,a)];return AS(s)}var jS,NS,kv;var Iv=V(()=>{Sn();bv();jS=new Set(["anthropic","openai-codex","google"]),NS=new Set(["cline","openrouter"]);kv=[{matches:(e,t)=>_v(t),defaultWhenUnset:"enabled"},{matches:(e,t)=>ZS(t)||e.providerId==="deepseek",defaultWhenUnset:void 0}]});var Pv={};se(Pv,{resetLangfuseTelemetryForTests:()=>tI,hasLangfuseTelemetryConfig:()=>Uv,ensureLangfuseTelemetry:()=>YS,disposeLangfuseTelemetry:()=>yo,debugLangfuse:()=>de});function zv(){let e=process?.env,t=e?.LANGFUSE_BASE_URL?.trim(),n=e?.LANGFUSE_PUBLIC_KEY?.trim(),a=e?.LANGFUSE_SECRET_KEY?.trim();if(!t||!n||!a)return;return{baseUrl:t,publicKey:n,secretKey:a}}function Uv(){return zv()!==void 0}async function YS(e){if(!Uv())return!1;if(We!==void 0)return de(`cached readiness=${String(We)}`),We;if(!xn)xn=QS();return We=await xn,de(`initialized readiness=${String(We)}`),We}async function QS(){let{registerDisposable:e}=await Promise.resolve().then(() => (bn(),ev));e(yo);let t=zv();if(!t)return!1;try{let[{LangfuseSpanProcessor:n},{trace:a},{NodeTracerProvider:i}]=await Promise.all([import("@langfuse/otel"),import("@opentelemetry/api"),import("@opentelemetry/sdk-trace-node")]),r=new n({baseUrl:t.baseUrl,publicKey:t.publicKey,secretKey:t.secretKey});de(`creating span processor baseUrl=${t.baseUrl}`);let o=a.getTracerProvider();if(typeof o?.addSpanProcessor==="function"){o.addSpanProcessor(r);let c=xv(a);return de(`attached processor to existing tracer provider delegateReady=${String(c)}`),c}let s=o?.constructor?.name;if(s&&s!=="ProxyTracerProvider"&&s!=="NoopTracerProvider")return!1;new i({spanProcessors:[r]}).register();let d=xv(a);return de(`registered NodeTracerProvider delegateReady=${String(d)}`),d}catch(n){return de(`initialization failed error=${n instanceof Error?n.message:String(n)}`),!1}}function xv(e){let a=e.getTracerProvider().getDelegate?.()?.constructor?.name;return Boolean(a&&a!=="NoopTracerProvider")}async function qS(){try{let{trace:e}=await import("@opentelemetry/api");await e.getTracerProvider().getDelegate?.()?.forceFlush?.(),de("forceFlush completed")}catch(e){de(`forceFlush failed error=${e instanceof Error?e.message:String(e)}`)}}async function yo(){try{await qS();let{trace:e}=await import("@opentelemetry/api");await e.getTracerProvider().getDelegate?.()?.shutdown?.(),de("shutdown completed")}catch(e){de(`shutdown failed error=${e instanceof Error?e.message:String(e)}`)}}function de(e){if(!eI())return;console.warn(`[langfuse-debug] ${e}`)}function eI(){let e=process.env.CLINE_DEBUG_LANGFUSE;if(!e)return!1;let t=e.trim().toLowerCase();return t==="1"||t==="true"||t==="yes"}function tI(){We=void 0,xn=void 0}var We,xn;async function W(e){let t=e.apiKey?.trim();if(t)return t;let a=(await e.apiKeyResolver?.())?.trim();if(a)return a;for(let i of e.apiKeyEnv??[]){let r=iI(i);if(r)return r}return}function iI(e){let t=globalThis.process?.env;if(!t)return;let n=t[e];if(typeof n!=="string")return;let a=n.trim();return a.length>0?a:void 0}var Ev={};se(Ev,{createOpenAIProviderModule:()=>rI});import{createOpenAI as nI}from"@ai-sdk/openai";async function rI(e,t){let n=await W(e),a=nI({apiKey:n,baseURL:e.baseUrl,headers:e.headers,fetch:e.fetch,name:t.provider.id});return{model:(i)=>a.responses(i)}}var Tv=()=>{};function aI(e){switch(e.type){case"image-data":case"image-url":case"file-data":case"file-url":case"image-file-id":return!0;default:return!1}}function oI(e){switch(e.type){case"image-data":return{type:"file",data:e.data,mediaType:e.mediaType,...e.providerOptions?{providerOptions:e.providerOptions}:{}};case"image-url":return{type:"file",data:e.url,mediaType:"image/*",...e.providerOptions?{providerOptions:e.providerOptions}:{}};case"file-data":return{type:"file",data:e.data,mediaType:e.mediaType,...e.filename?{filename:e.filename}:{},...e.providerOptions?{providerOptions:e.providerOptions}:{}};case"file-url":return{type:"file",data:e.url,mediaType:"application/octet-stream",...e.providerOptions?{providerOptions:e.providerOptions}:{}};case"image-file-id":return null}}function sI(e){if(e.type!=="content")return null;let t=[],n=[];for(let a of e.value){if(!aI(a)){n.push(a);continue}let i=oI(a);if(!i){n.push(a);continue}t.push(i);let r={type:"text",text:"(see following user message for image)"};n.push(r)}if(t.length===0)return null;return{stripped:{type:"content",value:n},media:t}}function uI(e){let t=[],n=!1;for(let a of e){if(a.role!=="tool"){t.push(a);continue}let i=[],r=a.content.map((o)=>{if(o.type!=="tool-result")return o;let s=sI(o.output);if(!s)return o;return i.push(...s.media),{...o,output:s.stripped}});if(t.push({...a,content:r}),i.length>0)t.push({role:"user",content:i}),n=!0}return{prompt:t,mutated:n}}var zn;var bo=V(()=>{zn={specificationVersion:"v3",transformParams:async({params:e})=>{let{prompt:t,mutated:n}=uI(e.prompt);if(!n)return e;return{...e,prompt:t}}}});var Ov={};se(Ov,{createOpenAICompatibleProviderModule:()=>cI});import{createOpenAICompatible as lI}from"@ai-sdk/openai-compatible";import{wrapLanguageModel as dI}from"ai";async function cI(e,t){let n=await W(e),a=lI({name:t.provider.id,apiKey:n,...e.baseUrl?{baseURL:e.baseUrl}:{},...e.headers?{headers:e.headers}:{},...e.fetch?{fetch:e.fetch}:{},includeUsage:!0});return{model:(i)=>dI({model:a(i),middleware:zn})}}var jv=V(()=>{bo()});var Nv={};se(Nv,{createAnthropicProviderModule:()=>fI});import{createAnthropic as mI}from"@ai-sdk/anthropic";async function fI(e,t){let n=await W(e),a=mI({apiKey:n,headers:e.headers,fetch:e.fetch,name:t.provider.id});return{model:(i)=>a(i)}}var Av=()=>{};var Dv={};se(Dv,{createGoogleProviderModule:()=>vI});import{createGoogleGenerativeAI as pI}from"@ai-sdk/google";async function vI(e,t){let n=await W(e),a=pI({apiKey:n,headers:e.headers,fetch:e.fetch,name:t.provider.id});return{model:(i)=>a(i)}}var Cv=()=>{};var Zv={};se(Zv,{createVertexProviderModule:()=>yI});import{createVertex as gI}from"@ai-sdk/google-vertex";import{createVertexAnthropic as hI}from"@ai-sdk/google-vertex/anthropic";async function yI(e,t){let n=String(e.options?.project??e.options?.projectId??""),a=String(e.options?.location??e.options?.region??"us-central1");if(t.model.id.toLowerCase().includes("claude")){let r=hI({project:n,location:a,baseURL:e.baseUrl,headers:e.headers,fetch:e.fetch});return{model:(o)=>r(o)}}let i=gI({project:n,location:a,apiKey:await W(e),baseURL:e.baseUrl,headers:e.headers,fetch:e.fetch});return{model:(r)=>i(r)}}var Rv=()=>{};var Mv={};se(Mv,{createBedrockProviderModule:()=>$I});import{createAmazonBedrock as bI}from"@ai-sdk/amazon-bedrock";async function $I(e){let t=typeof e.options?.credentialProvider==="function"?e.options.credentialProvider:void 0,n=bI({region:e.options?.region,apiKey:await W(e),accessKeyId:e.options?.accessKeyId,secretAccessKey:e.options?.secretAccessKey,sessionToken:e.options?.sessionToken,baseURL:e.baseUrl,headers:e.headers,fetch:e.fetch,credentialProvider:t});return{model:(a)=>n(a)}}var Lv=()=>{};var Fv={};se(Fv,{createMistralProviderModule:()=>wI});import{createMistral as _I}from"@ai-sdk/mistral";import{wrapLanguageModel as kI}from"ai";async function wI(e){let t=_I({apiKey:await W(e),baseURL:e.baseUrl,headers:e.headers,fetch:e.fetch});return{model:(n)=>kI({model:t(n),middleware:zn})}}var Jv=V(()=>{bo()});var ri={};se(ri,{listOpenAICodexModels:()=>Kv,createOpenCodeProviderModule:()=>TI,createOpenAICodexProviderModule:()=>PI,createDifyProviderModule:()=>OI,createClaudeCodeProviderModule:()=>UI});import{createClaudeCode as SI}from"ai-sdk-provider-claude-code";import{createCodexAppServer as II,createCodexExec as xI}from"ai-sdk-provider-codex-cli";import{createDifyProvider as zI}from"dify-ai-provider";function Un(e){return e.options??{}}async function UI(e){let t=SI(Un(e));return{model:(n)=>t(n)}}async function PI(e){let t=xI(Un(e));return{model:(n)=>t(n)}}async function Kv(e={}){let t=e.accessToken&&e.accountId?{onAuthRefresh:async()=>({accessToken:e.accessToken,chatgptAccountId:e.accountId,chatgptPlanType:null})}:void 0,n=II({defaultSettings:{codexPath:e.codexPath??"codex",cwd:e.cwd,env:e.env,logger:!1,requestTimeoutMs:e.requestTimeoutMs,connectionTimeoutMs:e.connectionTimeoutMs,serverRequests:t}}),a;try{a=await n.listModels(["openai"])}finally{await n.close().catch(()=>{})}return a.models.map((i)=>({id:i.id,name:i.name,isDefault:i.isDefault}))}async function EI(e){let t=["SIGINT","SIGTERM"],n=new Map(t.map((i)=>[i,new Set(process.listeners(i))])),a=await e();for(let i of t)for(let r of process.listeners(i))if(!n.get(i)?.has(r))process.removeListener(i,r);return a}async function TI(e){let t=await EI(async()=>{let{createOpencode:n}=await import("ai-sdk-provider-opencode-sdk");return n(Un(e))});return{model:(n)=>t(n)}}async function OI(e){let t=await W(e),n=zI({baseURL:e.baseUrl,headers:e.headers,fetch:e.fetch,...Un(e)});return{model:(a)=>n(a,{apiKey:t})}}var pt=()=>{};var oe={};se(oe,{normalizeUsage:()=>Yv,createVertexProvider:()=>jn,createOpenCodeProvider:()=>Io,createOpenAIProvider:()=>Pn,createOpenAICompatibleProvider:()=>En,createOpenAICodexProvider:()=>So,createMistralProvider:()=>ko,createGoogleProvider:()=>On,createDifyProvider:()=>xo,createClaudeCodeProvider:()=>wo,createBedrockProvider:()=>Nn,createAnthropicProvider:()=>Tn});import{jsonSchema as jI,streamText as NI}from"ai";import{nanoid as Gv}from"nanoid";import{z as AI}from"zod";function DI(e,t,n){let a=Hv(e.messages,n),i=$e({modelId:e.modelId,family:X(t)});for(let r=a.length-1;r>=0;r--)if(a[r]?.role==="user"){fv(a[r],e.providerId,i);break}return a}async function CI(e){try{return(await Promise.resolve().then(() => Pv)).ensureLangfuseTelemetry(e)}catch{return!1}}function Hv(e,t){let n=[];for(let a of e){let i=[];for(let r of a.content){if(r.type==="text"){i.push({type:"text",text:r.text});continue}if(r.type==="reasoning"){let o=r.metadata,s=o?.signature,l=o?.redactedData;i.push({type:"reasoning",text:r.text,...typeof s==="string"||typeof l==="string"?{providerOptions:{anthropic:{...typeof s==="string"?{signature:s}:{},...typeof l==="string"?{redactedData:l}:{}}}}:{}});continue}if(r.type==="file"){i.push({type:"file",path:r.path,content:r.content});continue}if(r.type==="image"){i.push({type:"image",image:r.image,mediaType:r.mediaType});continue}if(r.type==="tool-call"){let o=r.metadata,s=o?.thoughtSignature??o?.thought_signature;i.push({type:"tool-call",toolCallId:r.toolCallId,toolName:r.toolName,input:r.input,...typeof s==="string"?{providerOptions:{google:{thoughtSignature:s}}}:{}});continue}if(r.type==="tool-result")i.push({type:"tool-result",toolCallId:r.toolCallId,toolName:r.toolName,output:r.output,isError:r.isError??!1})}if(i.length>0)n.push({role:a.role,content:i});else if(a.role==="user"||a.role==="assistant")n.push({role:a.role,content:""})}return oo(t,n,{assistantToolCallArgKey:"input"})}function ZI(e){if(!e.tools?.length)return;return Object.fromEntries(e.tools.map((t)=>[t.name,{description:t.description,inputSchema:jI(RI(t.inputSchema),{validate:async(n)=>{let a=await AI.fromJSONSchema(t.inputSchema).safeParseAsync(n);return a.success?{success:!0,value:a.data}:{success:!1,error:a.error}}})}]))}function RI(e){if(e.type==="object")return e;return{type:"object",...e}}function Bv(e){return e.provider.capabilities?.includes("provider-tools")??!1}function Xv(e,t){if(!e||typeof e!=="object"||Array.isArray(e))return t;return{...e,...t}}function Vv(e){return Xv(e.metadata,{toolSource:{providerId:e.request.providerId,modelId:e.request.modelId,executionMode:Bv(e.context)?"provider":"runtime"}})}function MI(e){return Vv({metadata:Xv(_o(e.part),{inputParseError:`Tool call ${e.toolName} was rejected before execution: ${e.errorMessage}`,aiSdkToolError:e.errorMessage}),request:e.request,context:e.context})}function LI(e){return e.providerId==="openai-codex"?void 0:e.systemPrompt}function FI(e,t){if(e==="tool-calls"||e==="tool_calls"||t)return"tool-calls";if(e==="length"||e==="max_tokens")return"max-tokens";if(e==="error")return"error";return"stop"}function He(e,...t){for(let n of t){let a=e[n];if(typeof a==="number"&&Number.isFinite(a))return a;if(typeof a==="string"&&a.trim().length>0&&Number.isFinite(Number(a)))return Number(a)}return 0}function ce(e){if(typeof e==="number"&&Number.isFinite(e))return e;if(typeof e==="string"&&e.trim().length>0&&Number.isFinite(Number(e)))return Number(e);return}function $o(e,...t){let n=e;for(let a of t){if(!n||typeof n!=="object")return 0;n=n[a]}return typeof n==="number"&&Number.isFinite(n)?n:0}function JI(e){if(!e||typeof e!=="object")return;let t=e;for(let n of Object.values(t)){if(!n||typeof n!=="object")continue;let a=n;if(a.usage&&typeof a.usage==="object")return a.usage}return}function KI(e,t){if(!t||typeof t!=="object")return;let n=t,a=ce(n.input),i=ce(n.output);if(a===void 0||i===void 0)return;let r=ce(n.cacheRead)??0,o=ce(n.cacheWrite)??a*1.25;return Math.max(0,e.inputTokens-e.cacheReadTokens-e.cacheWriteTokens)/1e6*a+e.outputTokens/1e6*i+e.cacheReadTokens/1e6*r+e.cacheWriteTokens/1e6*o}function Yv(e,t,n){let a=e&&typeof e==="object"?e:{},i=JI(t),r=t&&typeof t==="object"?t:{},o=r.gateway&&typeof r.gateway==="object"?r.gateway:{},s=a.raw&&typeof a.raw==="object"?a.raw:a,l=ce(s.cost_details?.upstream_inference_cost)??ce(s.upstream_inference_cost),d=ce(s.market_cost)??ce(s.marketCost)??ce(o.marketCost),c=ce(s.cost)??ce(o.cost),p=d!==void 0||c!==void 0||l!==void 0,v=d??(c!==void 0&&l!==void 0?c+l:c??l),f={inputTokens:He(a,"inputTokens","input_tokens","prompt_tokens"),outputTokens:He(a,"outputTokens","output_tokens","completion_tokens"),cacheReadTokens:$o(a,"inputTokenDetails","cacheReadTokens")||He(a,"cachedInputTokens","cacheReadTokens","cache_read_tokens","cache_read_input_tokens")||$o(a,"prompt_tokens_details","cached_tokens")||He(i??{},"cachedInputTokens","cacheReadTokens","cache_read_tokens","cache_read_input_tokens"),cacheWriteTokens:$o(a,"inputTokenDetails","cacheWriteTokens")||He(a,"cacheWriteTokens","cache_write_tokens","cache_creation_input_tokens")||He(s,"cacheWriteTokens","cache_write_tokens","cache_creation_input_tokens")||He(i??{},"cacheWriteTokens","cache_write_tokens","cache_creation_input_tokens")},y=v!==void 0?v:p?void 0:KI(f,n);return{...f,...typeof y==="number"?{totalCost:y}:{}}}function Wv(e){if(!e)return;let t=()=>{},n=(i)=>{if(i&&typeof i.catch==="function")i.catch(t)},a=e;for(let i of Object.keys(e))try{n(a[i])}catch{}}function _o(e){let t={};if(typeof e.thoughtSignature==="string")t.thoughtSignature=e.thoughtSignature;if(typeof e.thought_signature==="string")t.thought_signature=e.thought_signature;let n=e.providerMetadata&&typeof e.providerMetadata==="object"?e.providerMetadata:void 0,a=n?.google&&typeof n.google==="object"?n.google:void 0;if(typeof t.thoughtSignature!=="string"&&typeof a?.thoughtSignature==="string")t.thoughtSignature=a.thoughtSignature;if(typeof t.thought_signature!=="string"&&typeof a?.thought_signature==="string")t.thought_signature=a.thought_signature;return Object.keys(t).length>0?t:void 0}async function*GI(e,t,n,a,i){let r=!1,o=new Set,s,l,d,c;try{if(e.fullStream)for await(let f of e.fullStream){if(f.type==="text-delta"){let y=f.textDelta??f.text??f.delta;if(y)yield{type:"text-delta",text:y};continue}if(f.type==="reasoning-delta"||f.type==="reasoning"){let y=f.textDelta??f.text??f.reasoning;if(y)yield{type:"reasoning-delta",text:y,metadata:_o(f)};continue}if(f.type==="tool-call"){r=!0;let y=f.toolCallId??f.id??`tool_${Gv()}`;o.add(y);let k=f.input??f.args??{},T=typeof k==="string"?k:JSON.stringify(k);yield{type:"tool-call-delta",toolCallId:y,toolName:f.toolName??f.name??"tool",input:typeof k==="string"?void 0:k,inputText:T,metadata:Vv({metadata:_o(f),request:t,context:n})};continue}if(f.type==="tool-error"){r=!0;let y=f.toolCallId??f.id??`tool_${Gv()}`,k=o.has(y);o.add(y);let T=f.toolName??f.name??"tool",O=f.input??f.args??{},M=typeof O==="string"?O:JSON.stringify(O),S=f.error===void 0?"Tool input was rejected by the model adapter":Ge(f.error);yield{type:"tool-call-delta",toolCallId:y,toolName:T,input:k?void 0:typeof O==="string"?void 0:O,inputText:k?void 0:M,metadata:MI({part:f,errorMessage:S,request:t,context:n,toolName:T})};continue}if(f.type==="finish")d=f.usage??f.totalUsage,c=f.providerMetadata,s=f.finishReason??f.rawFinishReason??f.reason;if(f.type==="error"){l=i?.current??Ge(f.error);break}if(f.type==="abort")break}else if(e.textStream)for await(let f of e.textStream)yield{type:"text-delta",text:f}}catch(f){l=i?.current??Ge(f)}let p,v;if(l)p=d,v=c;else if(e.usage)try{p=await e.usage}catch(f){if(!l)l=i?.current??Ge(f);p=d,v=c}else p=d,v=c;if(p)yield{type:"usage",usage:Yv(p,v,a)};yield{type:"finish",reason:l?"error":FI(s,r),error:l}}async function WI(e,t,n){switch(e){case"openai":{let{createOpenAIProviderModule:a}=await Promise.resolve().then(() => (Tv(),Ev));return a(t,n)}case"openai-compatible":{let{createOpenAICompatibleProviderModule:a}=await Promise.resolve().then(() => (jv(),Ov));return a(t,n)}case"anthropic":{let{createAnthropicProviderModule:a}=await Promise.resolve().then(() => (Av(),Nv));return a(t,n)}case"google":{let{createGoogleProviderModule:a}=await Promise.resolve().then(() => (Cv(),Dv));return a(t,n)}case"vertex":{let{createVertexProviderModule:a}=await Promise.resolve().then(() => (Rv(),Zv));return a(t,n)}case"bedrock":{let{createBedrockProviderModule:a}=await Promise.resolve().then(() => (Lv(),Mv));return a(t)}case"mistral":{let{createMistralProviderModule:a}=await Promise.resolve().then(() => (Jv(),Fv));return a(t)}case"claude-code":{let{createClaudeCodeProviderModule:a}=await Promise.resolve().then(() => (pt(),ri));return a(t)}case"openai-codex":{let{createOpenAICodexProviderModule:a}=await Promise.resolve().then(() => (pt(),ri));return a(t)}case"opencode":{let{createOpenCodeProviderModule:a}=await Promise.resolve().then(() => (pt(),ri));return a(t)}case"dify":{let{createDifyProviderModule:a}=await Promise.resolve().then(() => (pt(),ri));return a(t)}}}function me(e){return async(t)=>({async*stream(n,a){let i=a.logger,r,o={current:void 0};try{let s=await WI(e,t,a),l=await CI(t.providerId),d=Bv(a)?void 0:ZI(n),c=LI(n),p=typeof c==="string"&&c.trim().length>0,v=p?void 0:c;r=NI({model:s.model(a.model.id),messages:ni(n,a)?DI(n,a,v):Hv(n.messages,v),...p?{system:c}:{},tools:d,temperature:n.temperature,maxOutputTokens:n.maxTokens,abortSignal:n.signal,experimental_telemetry:{isEnabled:l},providerOptions:Sv(n,a,e),onError:({error:f})=>{let y=Ge(f);if(o.current=y,i?.error)i.error("[ai-sdk] stream error",{providerId:n.providerId,error:f,severity:"error"});else if(i)i.log(`[ai-sdk] stream error: ${y}`,{providerId:n.providerId,severity:"error"})}}),Wv(r),yield*GI(r,n,a,a.model.metadata?.pricing,o)}catch(s){Wv(r);let l=o.current??Ge(s);if(i?.error)i.error("[ai-sdk] provider error",{providerId:n.providerId,error:s,severity:"error"});else if(i)i.log(`[ai-sdk] provider error: ${l}`,{providerId:n.providerId,severity:"error"});yield{type:"finish",reason:"error",error:l}}}})}var Pn,En,Tn,On,jn,Nn,ko,wo,So,Io,xo;var te=V(()=>{bn();Sn();Iv();Pn=me("openai"),En=me("openai-compatible"),Tn=me("anthropic"),On=me("google"),jn=me("vertex"),Nn=me("bedrock"),ko=me("mistral"),wo=me("claude-code"),So=me("openai-codex"),Io=me("opencode"),xo=me("dify")});var Zn={version:1778284066400,providers:{aihubmix:{"deepseek-v4-flash":{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",contextWindow:1e6,maxTokens:384000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.154,output:0.308,cacheRead:0.0308,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek-flash"},"deepseek-v4-flash-think":{id:"deepseek-v4-flash-think",name:"DeepSeek V4 Flash Think",contextWindow:1e6,maxTokens:384000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.154,output:0.308,cacheRead:0.0308,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek"},"deepseek-v4-pro":{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",contextWindow:1e6,maxTokens:384000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.478,output:0.956,cacheRead:0.004302,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek-thinking"},"gpt-5.5":{id:"gpt-5.5",name:"GPT-5.5",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:5,output:30,cacheRead:0.5,cacheWrite:0},releaseDate:"2026-04-23",family:"gpt"},"kimi-k2.6":{id:"kimi-k2.6",name:"Kimi K2.6",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.95,output:3.9995,cacheRead:0.160835,cacheWrite:0},releaseDate:"2026-04-21",family:"kimi-k2.6"},"claude-opus-4-7":{id:"claude-opus-4-7",name:"Claude Opus 4.7",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-04-16",family:"claude-opus"},"coding-glm-5.1":{id:"coding-glm-5.1",name:"Coding-GLM-5.1",contextWindow:200000,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.06,output:0.22,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-11",family:"glm"},"qwen3.6-flash":{id:"qwen3.6-flash",name:"Qwen3.6 Plus",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.169,output:1.014,cacheRead:0.0169,cacheWrite:0.21125},releaseDate:"2026-04-02",family:"qwen"},"glm-5.1":{id:"glm-5.1",name:"GLM-5.1",contextWindow:200000,maxTokens:128000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.845,output:3.38,cacheRead:0.183112,cacheWrite:0},releaseDate:"2026-03-27",family:"glm"},"coding-minimax-m2.7-free":{id:"coding-minimax-m2.7-free",name:"Coding-MiniMax-M2.7-Free",contextWindow:204800,maxTokens:13100,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-18",family:"minimax"},"minimax-m2.7":{id:"minimax-m2.7",name:"MiniMax-M2.7",contextWindow:200000,maxTokens:128000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2958,output:1.1832,cacheRead:0.05916,cacheWrite:0},releaseDate:"2026-03-18",family:"minimax"},"gpt-5.4":{id:"gpt-5.4",name:"GPT-5.4",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},releaseDate:"2026-03-11",family:"gpt"},"gpt-5.4-mini":{id:"gpt-5.4-mini",name:"GPT-5.4-Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","structured_output","prompt-cache"],pricing:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2026-03-11",family:"gpt-mini"},"gemini-3.1-flash-lite-preview":{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.25,output:1.5,cacheRead:0.25,cacheWrite:0},releaseDate:"2026-03-03",family:"gemini-flash-lite"},"gemini-3.1-pro-preview":{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-19",family:"gemini-pro"},"claude-sonnet-4-6":{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"claude-sonnet-4-6-think":{id:"claude-sonnet-4-6-think",name:"Claude Sonnet 4.6 Think",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"qwen3.5-plus":{id:"qwen3.5-plus",name:"Qwen3.5 Plus",contextWindow:991000,maxTokens:64000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1096,output:0.6576,cacheRead:0.01096,cacheWrite:0.137},releaseDate:"2026-02-16",family:"qwen"},"coding-glm-5-free":{id:"coding-glm-5-free",name:"Coding-GLM-5-Free",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-11",family:"glm"},"glm-5":{id:"glm-5",name:"GLM-5",contextWindow:202752,maxTokens:0,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.88,output:2.816,cacheRead:0.176,cacheWrite:0},releaseDate:"2026-02-11",family:"glm"},"claude-opus-4-6":{id:"claude-opus-4-6",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"claude-opus-4-6-think":{id:"claude-opus-4-6-think",name:"Claude Opus 4.6",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"gpt-5.3-codex":{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-05",family:"gpt-codex"},"gpt-5.2-codex":{id:"gpt-5.2-codex",name:"GPT-5.2-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-01-14",family:"gpt-codex"},"kimi-k2.5":{id:"kimi-k2.5",name:"Kimi K2.5",contextWindow:256000,maxTokens:0,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.6,output:3,cacheRead:0.105,cacheWrite:0},releaseDate:"2026-01",family:"kimi-k2.5"},"minimax-m2.1":{id:"minimax-m2.1",name:"MiniMax-M2.1",contextWindow:204800,maxTokens:192000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.288,output:1.152,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23",family:"minimax"},"gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-12-17",family:"gemini-flash"},"gpt-5.2":{id:"gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt"},"gpt-5.1":{id:"gpt-5.1",name:"GPT-5.1",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-15",family:"gpt"},"gpt-5.1-codex":{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"gpt-5.1-codex-mini":{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"qwen3-max-2026-01-23":{id:"qwen3-max-2026-01-23",name:"Qwen3 Max",contextWindow:252000,maxTokens:32000,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.34246,output:1.36984,cacheRead:0.34246,cacheWrite:0},releaseDate:"2025-09-23",family:"qwen"},"qwen3-coder-next":{id:"qwen3-coder-next",name:"Qwen3 Coder Plus",contextWindow:2000000,maxTokens:64000,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.137,output:0.548,cacheRead:0.137,cacheWrite:0},releaseDate:"2025-07-23",family:"qwen"},"o4-mini":{id:"o4-mini",name:"o4-mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.275,cacheWrite:0},releaseDate:"2025-04-16",family:"o-mini"},"gpt-4.1":{id:"gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt"},"gpt-4.1-mini":{id:"gpt-4.1-mini",name:"GPT-4.1 mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt-mini"},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:2.499,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-03-20",family:"gemini-flash"},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-03-20",family:"gemini-pro"}},anthropic:{"claude-opus-4-7":{id:"claude-opus-4-7",name:"Claude Opus 4.7",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-04-16",family:"claude-opus"},"claude-sonnet-4-6":{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"claude-opus-4-6":{id:"claude-opus-4-6",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"claude-opus-4-5":{id:"claude-opus-4-5",name:"Claude Opus 4.5 (latest)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24",family:"claude-opus"},"claude-opus-4-5-20251101":{id:"claude-opus-4-5-20251101",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-01",family:"claude-opus"},"claude-haiku-4-5":{id:"claude-haiku-4-5",name:"Claude Haiku 4.5 (latest)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"claude-haiku-4-5-20251001":{id:"claude-haiku-4-5-20251001",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"claude-sonnet-4-5":{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5 (latest)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"claude-sonnet-4-5-20250929":{id:"claude-sonnet-4-5-20250929",name:"Claude Sonnet 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"claude-opus-4-1":{id:"claude-opus-4-1",name:"Claude Opus 4.1 (latest)",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05",family:"claude-opus"},"claude-opus-4-1-20250805":{id:"claude-opus-4-1-20250805",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05",family:"claude-opus"},"claude-opus-4-0":{id:"claude-opus-4-0",name:"Claude Opus 4 (latest)",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"claude-opus-4-20250514":{id:"claude-opus-4-20250514",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"claude-sonnet-4-0":{id:"claude-sonnet-4-0",name:"Claude Sonnet 4 (latest)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"claude-sonnet-4-20250514":{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"claude-3-7-sonnet-20250219":{id:"claude-3-7-sonnet-20250219",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19",family:"claude-sonnet"},"claude-3-5-haiku-20241022":{id:"claude-3-5-haiku-20241022",name:"Claude Haiku 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22",family:"claude-haiku"},"claude-3-5-haiku-latest":{id:"claude-3-5-haiku-latest",name:"Claude Haiku 3.5 (latest)",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22",family:"claude-haiku"},"claude-3-5-sonnet-20241022":{id:"claude-3-5-sonnet-20241022",name:"Claude Sonnet 3.5 v2",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22",family:"claude-sonnet"},"claude-3-5-sonnet-20240620":{id:"claude-3-5-sonnet-20240620",name:"Claude Sonnet 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-06-20",family:"claude-sonnet"},"claude-3-haiku-20240307":{id:"claude-3-haiku-20240307",name:"Claude Haiku 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.25,output:1.25,cacheRead:0.03,cacheWrite:0.3},releaseDate:"2024-03-13",family:"claude-haiku"},"claude-3-sonnet-20240229":{id:"claude-3-sonnet-20240229",name:"Claude Sonnet 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:0.3},releaseDate:"2024-03-04",family:"claude-sonnet"},"claude-3-opus-20240229":{id:"claude-3-opus-20240229",name:"Claude Opus 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2024-02-29",family:"claude-opus"}},baseten:{"deepseek-ai/DeepSeek-V4-Pro":{id:"deepseek-ai/DeepSeek-V4-Pro",name:"DeepSeek V4 Pro",contextWindow:1e6,maxTokens:384000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.74,output:3.48,cacheRead:0.15,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek-thinking"},"moonshotai/Kimi-K2.6":{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.95,output:4,cacheRead:0.16,cacheWrite:0},releaseDate:"2026-04-21",family:"kimi-k2.6"},"nvidia/Nemotron-120B-A12B":{id:"nvidia/Nemotron-120B-A12B",name:"Nemotron 3 Super",contextWindow:262144,maxTokens:32678,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:0.75,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11",family:"nemotron"},"MiniMaxAI/MiniMax-M2.5":{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax-M2.5",contextWindow:204000,maxTokens:10200,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12",family:"minimax"},"zai-org/GLM-5":{id:"zai-org/GLM-5",name:"GLM-5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.95,output:3.15,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12",family:"glm"},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-30",family:"kimi"},"zai-org/GLM-4.7":{id:"zai-org/GLM-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-22",family:"glm"},"zai-org/GLM-4.6":{id:"zai-org/GLM-4.6",name:"GLM 4.6",contextWindow:200000,maxTokens:1e4,capabilities:["tools","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-16",family:"glm"},"deepseek-ai/DeepSeek-V3.1":{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1",contextWindow:164000,maxTokens:131000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-25",family:"deepseek"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"deepseek-ai/DeepSeek-V3-0324":{id:"deepseek-ai/DeepSeek-V3-0324",name:"DeepSeek V3 0324",contextWindow:164000,maxTokens:131000,capabilities:["tools","temperature"],pricing:{input:0.77,output:0.77,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-24",family:"deepseek"}},bedrock:{"anthropic.claude-opus-4-7":{id:"anthropic.claude-opus-4-7",name:"Claude Opus 4.7",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-04-16",family:"claude-opus"},"eu.anthropic.claude-opus-4-7":{id:"eu.anthropic.claude-opus-4-7",name:"Claude Opus 4.7 (EU)",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-04-16",family:"claude-opus"},"global.anthropic.claude-opus-4-7":{id:"global.anthropic.claude-opus-4-7",name:"Claude Opus 4.7 (Global)",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-04-16",family:"claude-opus"},"us.anthropic.claude-opus-4-7":{id:"us.anthropic.claude-opus-4-7",name:"Claude Opus 4.7 (US)",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-04-16",family:"claude-opus"},"minimax.minimax-m2.5":{id:"minimax.minimax-m2.5",name:"MiniMax M2.5",contextWindow:196608,maxTokens:98304,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-18",family:"minimax"},"zai.glm-5":{id:"zai.glm-5",name:"GLM-5",contextWindow:202752,maxTokens:101376,capabilities:["tools","reasoning","temperature"],pricing:{input:1,output:3.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-18",family:"glm"},"nvidia.nemotron-super-3-120b":{id:"nvidia.nemotron-super-3-120b",name:"NVIDIA Nemotron 3 Super 120B A12B",contextWindow:262144,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:0.65,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11",family:"nemotron"},"anthropic.claude-sonnet-4-6":{id:"anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"au.anthropic.claude-sonnet-4-6":{id:"au.anthropic.claude-sonnet-4-6",name:"AU Anthropic Claude Sonnet 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:3.3,output:16.5,cacheRead:0.33,cacheWrite:4.125},releaseDate:"2026-02-17",family:"claude-sonnet"},"eu.anthropic.claude-sonnet-4-6":{id:"eu.anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6 (EU)",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"global.anthropic.claude-sonnet-4-6":{id:"global.anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6 (Global)",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"mistral.devstral-2-123b":{id:"mistral.devstral-2-123b",name:"Devstral 2 123B",contextWindow:256000,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-17",family:"devstral"},"us.anthropic.claude-sonnet-4-6":{id:"us.anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6 (US)",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"deepseek.v3.2":{id:"deepseek.v3.2",name:"DeepSeek-V3.2",contextWindow:163840,maxTokens:81920,capabilities:["tools","reasoning","temperature"],pricing:{input:0.62,output:1.85,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-06",family:"deepseek"},"moonshotai.kimi-k2.5":{id:"moonshotai.kimi-k2.5",name:"Kimi K2.5",contextWindow:256000,maxTokens:12800,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-06",family:"kimi"},"qwen.qwen3-coder-next":{id:"qwen.qwen3-coder-next",name:"Qwen3 Coder Next",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.22,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-06",family:"qwen"},"anthropic.claude-opus-4-6-v1":{id:"anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"au.anthropic.claude-opus-4-6-v1":{id:"au.anthropic.claude-opus-4-6-v1",name:"AU Anthropic Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:16.5,output:82.5,cacheRead:1.65,cacheWrite:20.625},releaseDate:"2026-02-05",family:"claude-opus"},"eu.anthropic.claude-opus-4-6-v1":{id:"eu.anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6 (EU)",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"global.anthropic.claude-opus-4-6-v1":{id:"global.anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6 (Global)",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"us.anthropic.claude-opus-4-6-v1":{id:"us.anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6 (US)",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"zai.glm-4.7-flash":{id:"zai.glm-4.7-flash",name:"GLM-4.7-Flash",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.07,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-19",family:"glm-flash"},"minimax.minimax-m2.1":{id:"minimax.minimax-m2.1",name:"MiniMax M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23",family:"minimax"},"nvidia.nemotron-nano-3-30b":{id:"nvidia.nemotron-nano-3-30b",name:"NVIDIA Nemotron Nano 3 30B",contextWindow:128000,maxTokens:4096,capabilities:["tools","reasoning","temperature"],pricing:{input:0.06,output:0.24,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23",family:"nemotron"},"zai.glm-4.7":{id:"zai.glm-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-22",family:"glm"},"mistral.magistral-small-2509":{id:"mistral.magistral-small-2509",name:"Magistral Small 1.2",contextWindow:128000,maxTokens:40000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02",family:"magistral"},"mistral.ministral-3-3b-instruct":{id:"mistral.ministral-3-3b-instruct",name:"Ministral 3 3B",contextWindow:256000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02",family:"ministral"},"mistral.mistral-large-3-675b-instruct":{id:"mistral.mistral-large-3-675b-instruct",name:"Mistral Large 3",contextWindow:256000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02",family:"mistral"},"moonshot.kimi-k2-thinking":{id:"moonshot.kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02",family:"kimi-thinking"},"anthropic.claude-opus-4-5-20251101-v1:0":{id:"anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24",family:"claude-opus"},"eu.anthropic.claude-opus-4-5-20251101-v1:0":{id:"eu.anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5 (EU)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24",family:"claude-opus"},"global.anthropic.claude-opus-4-5-20251101-v1:0":{id:"global.anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5 (Global)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24",family:"claude-opus"},"us.anthropic.claude-opus-4-5-20251101-v1:0":{id:"us.anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5 (US)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24",family:"claude-opus"},"minimax.minimax-m2":{id:"minimax.minimax-m2",name:"MiniMax M2",contextWindow:204608,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-27",family:"minimax"},"anthropic.claude-haiku-4-5-20251001-v1:0":{id:"anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"eu.anthropic.claude-haiku-4-5-20251001-v1:0":{id:"eu.anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5 (EU)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"global.anthropic.claude-haiku-4-5-20251001-v1:0":{id:"global.anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5 (Global)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"us.anthropic.claude-haiku-4-5-20251001-v1:0":{id:"us.anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5 (US)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"qwen.qwen3-vl-235b-a22b":{id:"qwen.qwen3-vl-235b-a22b",name:"Qwen/Qwen3-VL-235B-A22B-Instruct",contextWindow:262000,maxTokens:13100,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.3,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-04",family:"qwen"},"anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"eu.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"eu.anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5 (EU)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"global.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"global.anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5 (Global)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"us.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"us.anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5 (US)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"deepseek.v3-v1:0":{id:"deepseek.v3-v1:0",name:"DeepSeek-V3.1",contextWindow:163840,maxTokens:81920,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.58,output:1.68,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18",family:"deepseek"},"qwen.qwen3-235b-a22b-2507-v1:0":{id:"qwen.qwen3-235b-a22b-2507-v1:0",name:"Qwen3 235B A22B 2507",contextWindow:262144,maxTokens:131072,capabilities:["tools","structured_output","temperature"],pricing:{input:0.22,output:0.88,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18",family:"qwen"},"qwen.qwen3-32b-v1:0":{id:"qwen.qwen3-32b-v1:0",name:"Qwen3 32B (dense)",contextWindow:16384,maxTokens:819,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18",family:"qwen"},"qwen.qwen3-coder-30b-a3b-v1:0":{id:"qwen.qwen3-coder-30b-a3b-v1:0",name:"Qwen3 Coder 30B A3B Instruct",contextWindow:262144,maxTokens:131072,capabilities:["tools","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18",family:"qwen"},"qwen.qwen3-coder-480b-a35b-v1:0":{id:"qwen.qwen3-coder-480b-a35b-v1:0",name:"Qwen3 Coder 480B A35B Instruct",contextWindow:131072,maxTokens:65536,capabilities:["tools","structured_output","temperature"],pricing:{input:0.22,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18",family:"qwen"},"qwen.qwen3-next-80b-a3b":{id:"qwen.qwen3-next-80b-a3b",name:"Qwen/Qwen3-Next-80B-A3B-Instruct",contextWindow:262000,maxTokens:13100,capabilities:["tools","structured_output","temperature"],pricing:{input:0.14,output:1.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18",family:"qwen"},"anthropic.claude-opus-4-1-20250805-v1:0":{id:"anthropic.claude-opus-4-1-20250805-v1:0",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05",family:"claude-opus"},"us.anthropic.claude-opus-4-1-20250805-v1:0":{id:"us.anthropic.claude-opus-4-1-20250805-v1:0",name:"Claude Opus 4.1 (US)",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05",family:"claude-opus"},"google.gemma-3-27b-it":{id:"google.gemma-3-27b-it",name:"Google Gemma 3 27B Instruct",contextWindow:202752,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.12,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-27",family:"gemma"},"mistral.voxtral-small-24b-2507":{id:"mistral.voxtral-small-24b-2507",name:"Voxtral Small 24B 2507",contextWindow:32000,maxTokens:8192,capabilities:["tools","structured_output","temperature"],pricing:{input:0.15,output:0.35,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-01",family:"mistral"},"anthropic.claude-opus-4-20250514-v1:0":{id:"anthropic.claude-opus-4-20250514-v1:0",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"anthropic.claude-sonnet-4-20250514-v1:0":{id:"anthropic.claude-sonnet-4-20250514-v1:0",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"eu.anthropic.claude-sonnet-4-20250514-v1:0":{id:"eu.anthropic.claude-sonnet-4-20250514-v1:0",name:"Claude Sonnet 4 (EU)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"global.anthropic.claude-sonnet-4-20250514-v1:0":{id:"global.anthropic.claude-sonnet-4-20250514-v1:0",name:"Claude Sonnet 4 (Global)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"us.anthropic.claude-opus-4-20250514-v1:0":{id:"us.anthropic.claude-opus-4-20250514-v1:0",name:"Claude Opus 4 (US)",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"us.anthropic.claude-sonnet-4-20250514-v1:0":{id:"us.anthropic.claude-sonnet-4-20250514-v1:0",name:"Claude Sonnet 4 (US)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"writer.palmyra-x4-v1:0":{id:"writer.palmyra-x4-v1:0",name:"Palmyra X4",contextWindow:122880,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:2.5,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-28",family:"palmyra"},"writer.palmyra-x5-v1:0":{id:"writer.palmyra-x5-v1:0",name:"Palmyra X5",contextWindow:1040000,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-28",family:"palmyra"},"mistral.pixtral-large-2502-v1:0":{id:"mistral.pixtral-large-2502-v1:0",name:"Pixtral Large (25.02)",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-08",family:"mistral"},"meta.llama4-maverick-17b-instruct-v1:0":{id:"meta.llama4-maverick-17b-instruct-v1:0",name:"Llama 4 Maverick 17B Instruct",contextWindow:1e6,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:0.24,output:0.97,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05",family:"llama"},"meta.llama4-scout-17b-instruct-v1:0":{id:"meta.llama4-scout-17b-instruct-v1:0",name:"Llama 4 Scout 17B Instruct",contextWindow:3500000,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:0.17,output:0.66,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05",family:"llama"},"anthropic.claude-3-7-sonnet-20250219-v1:0":{id:"anthropic.claude-3-7-sonnet-20250219-v1:0",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19",family:"claude-sonnet"},"deepseek.r1-v1:0":{id:"deepseek.r1-v1:0",name:"DeepSeek-R1",contextWindow:128000,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:1.35,output:5.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-20",family:"deepseek-thinking"},"meta.llama3-3-70b-instruct-v1:0":{id:"meta.llama3-3-70b-instruct-v1:0",name:"Llama 3.3 70B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.72,output:0.72,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06",family:"llama"},"amazon.nova-lite-v1:0":{id:"amazon.nova-lite-v1:0",name:"Nova Lite",contextWindow:300000,maxTokens:8192,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.06,output:0.24,cacheRead:0.015,cacheWrite:0},releaseDate:"2024-12-03",family:"nova-lite"},"amazon.nova-micro-v1:0":{id:"amazon.nova-micro-v1:0",name:"Nova Micro",contextWindow:128000,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.035,output:0.14,cacheRead:0.00875,cacheWrite:0},releaseDate:"2024-12-03",family:"nova-micro"},"amazon.nova-premier-v1:0":{id:"amazon.nova-premier-v1:0",name:"Nova Premier",contextWindow:1e6,maxTokens:16384,capabilities:["images","tools","reasoning","temperature"],pricing:{input:2.5,output:12.5,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-03",family:"nova"},"amazon.nova-pro-v1:0":{id:"amazon.nova-pro-v1:0",name:"Nova Pro",contextWindow:300000,maxTokens:8192,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.8,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2024-12-03",family:"nova-pro"},"amazon.nova-2-lite-v1:0":{id:"amazon.nova-2-lite-v1:0",name:"Nova 2 Lite",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0.33,output:2.75,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"nova"},"google.gemma-3-4b-it":{id:"google.gemma-3-4b-it",name:"Gemma 3 4B IT",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0.04,output:0.08,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"gemma"},"mistral.ministral-3-14b-instruct":{id:"mistral.ministral-3-14b-instruct",name:"Ministral 14B 3.0",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.2,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"ministral"},"mistral.ministral-3-8b-instruct":{id:"mistral.ministral-3-8b-instruct",name:"Ministral 3 8B",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"ministral"},"mistral.voxtral-mini-3b-2507":{id:"mistral.voxtral-mini-3b-2507",name:"Voxtral Mini 3B 2507",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.04,output:0.04,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"mistral"},"nvidia.nemotron-nano-12b-v2":{id:"nvidia.nemotron-nano-12b-v2",name:"NVIDIA Nemotron Nano 12B v2 VL BF16",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"nemotron"},"nvidia.nemotron-nano-9b-v2":{id:"nvidia.nemotron-nano-9b-v2",name:"NVIDIA Nemotron Nano 9B v2",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.06,output:0.23,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"nemotron"},"openai.gpt-oss-120b-1:0":{id:"openai.gpt-oss-120b-1:0",name:"gpt-oss-120b",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"gpt-oss"},"openai.gpt-oss-20b-1:0":{id:"openai.gpt-oss-20b-1:0",name:"gpt-oss-20b",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.07,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"gpt-oss"},"openai.gpt-oss-safeguard-120b":{id:"openai.gpt-oss-safeguard-120b",name:"GPT OSS Safeguard 120B",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"gpt-oss"},"openai.gpt-oss-safeguard-20b":{id:"openai.gpt-oss-safeguard-20b",name:"GPT OSS Safeguard 20B",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature"],pricing:{input:0.07,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"gpt-oss"},"anthropic.claude-3-5-haiku-20241022-v1:0":{id:"anthropic.claude-3-5-haiku-20241022-v1:0",name:"Claude Haiku 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22",family:"claude-haiku"},"anthropic.claude-3-5-sonnet-20241022-v2:0":{id:"anthropic.claude-3-5-sonnet-20241022-v2:0",name:"Claude Sonnet 3.5 v2",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22",family:"claude-sonnet"},"meta.llama3-2-11b-instruct-v1:0":{id:"meta.llama3-2-11b-instruct-v1:0",name:"Llama 3.2 11B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0.16,output:0.16,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25",family:"llama"},"meta.llama3-2-1b-instruct-v1:0":{id:"meta.llama3-2-1b-instruct-v1:0",name:"Llama 3.2 1B Instruct",contextWindow:131000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25",family:"llama"},"meta.llama3-2-3b-instruct-v1:0":{id:"meta.llama3-2-3b-instruct-v1:0",name:"Llama 3.2 3B Instruct",contextWindow:131000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25",family:"llama"},"meta.llama3-2-90b-instruct-v1:0":{id:"meta.llama3-2-90b-instruct-v1:0",name:"Llama 3.2 90B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0.72,output:0.72,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25",family:"llama"},"meta.llama3-1-405b-instruct-v1:0":{id:"meta.llama3-1-405b-instruct-v1:0",name:"Llama 3.1 405B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:2.4,output:2.4,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23",family:"llama"},"meta.llama3-1-70b-instruct-v1:0":{id:"meta.llama3-1-70b-instruct-v1:0",name:"Llama 3.1 70B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.72,output:0.72,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23",family:"llama"},"meta.llama3-1-8b-instruct-v1:0":{id:"meta.llama3-1-8b-instruct-v1:0",name:"Llama 3.1 8B Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.22,output:0.22,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23",family:"llama"},"anthropic.claude-3-5-sonnet-20240620-v1:0":{id:"anthropic.claude-3-5-sonnet-20240620-v1:0",name:"Claude Sonnet 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-06-20",family:"claude-sonnet"},"anthropic.claude-3-haiku-20240307-v1:0":{id:"anthropic.claude-3-haiku-20240307-v1:0",name:"Claude Haiku 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:0.25,output:1.25,cacheRead:0,cacheWrite:0},releaseDate:"2024-03-13",family:"claude-haiku"}},cerebras:{"zai-glm-4.7":{id:"zai-glm-4.7",name:"Z.AI GLM-4.7",contextWindow:131072,maxTokens:40000,capabilities:["tools","temperature"],pricing:{input:2.25,output:2.75,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-10"},"gpt-oss-120b":{id:"gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.25,output:0.69,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"qwen-3-235b-a22b-instruct-2507":{id:"qwen-3-235b-a22b-instruct-2507",name:"Qwen 3 235B Instruct",contextWindow:131000,maxTokens:32000,capabilities:["tools","temperature"],pricing:{input:0.6,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-22",family:"qwen"},"llama3.1-8b":{id:"llama3.1-8b",name:"Llama 3.1 8B",contextWindow:32000,maxTokens:8000,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-01",family:"llama"}},deepseek:{"deepseek-v4-flash":{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",contextWindow:1e6,maxTokens:384000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.14,output:0.28,cacheRead:0.028,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek-flash"},"deepseek-v4-pro":{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",contextWindow:1e6,maxTokens:384000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.74,output:3.48,cacheRead:0.145,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek-thinking"},"deepseek-chat":{id:"deepseek-chat",name:"DeepSeek Chat",contextWindow:1e6,maxTokens:384000,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.14,output:0.28,cacheRead:0.028,cacheWrite:0},releaseDate:"2025-12-01",family:"deepseek"},"deepseek-reasoner":{id:"deepseek-reasoner",name:"DeepSeek Reasoner",contextWindow:1e6,maxTokens:384000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.14,output:0.28,cacheRead:0.028,cacheWrite:0},releaseDate:"2025-12-01",family:"deepseek-thinking"}},fireworks:{"accounts/fireworks/models/deepseek-v4-pro":{id:"accounts/fireworks/models/deepseek-v4-pro",name:"DeepSeek V4 Pro",contextWindow:1e6,maxTokens:384000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.74,output:3.48,cacheRead:0.15,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek-thinking"},"accounts/fireworks/models/kimi-k2p6":{id:"accounts/fireworks/models/kimi-k2p6",name:"Kimi K2.6",contextWindow:262000,maxTokens:13100,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.95,output:4,cacheRead:0.16,cacheWrite:0},releaseDate:"2026-04-17",family:"kimi-thinking"},"accounts/fireworks/models/minimax-m2p7":{id:"accounts/fireworks/models/minimax-m2p7",name:"MiniMax-M2.7",contextWindow:196608,maxTokens:9830,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},releaseDate:"2026-04-12",family:"minimax"},"accounts/fireworks/models/qwen3p6-plus":{id:"accounts/fireworks/models/qwen3p6-plus",name:"Qwen 3.6 Plus",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.5,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-04-04",family:"qwen"},"accounts/fireworks/models/glm-5p1":{id:"accounts/fireworks/models/glm-5p1",name:"GLM 5.1",contextWindow:202800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1.4,output:4.4,cacheRead:0.26,cacheWrite:0},releaseDate:"2026-04-01",family:"glm"},"accounts/fireworks/models/minimax-m2p5":{id:"accounts/fireworks/models/minimax-m2p5",name:"MiniMax-M2.5",contextWindow:196608,maxTokens:9830,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},releaseDate:"2026-02-12",family:"minimax"},"accounts/fireworks/models/glm-5":{id:"accounts/fireworks/models/glm-5",name:"GLM 5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3.2,cacheRead:0.5,cacheWrite:0},releaseDate:"2026-02-11",family:"glm"},"accounts/fireworks/models/kimi-k2p5":{id:"accounts/fireworks/models/kimi-k2p5",name:"Kimi K2.5",contextWindow:256000,maxTokens:12800,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-01-27",family:"kimi-thinking"},"accounts/fireworks/routers/kimi-k2p5-turbo":{id:"accounts/fireworks/routers/kimi-k2p5-turbo",name:"Kimi K2.5 Turbo",contextWindow:256000,maxTokens:12800,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-27",family:"kimi-thinking"},"accounts/fireworks/models/minimax-m2p1":{id:"accounts/fireworks/models/minimax-m2p1",name:"MiniMax-M2.1",contextWindow:200000,maxTokens:1e4,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-12-23",family:"minimax"},"accounts/fireworks/models/glm-4p7":{id:"accounts/fireworks/models/glm-4p7",name:"GLM 4.7",contextWindow:198000,maxTokens:9900,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.2,cacheRead:0.3,cacheWrite:0},releaseDate:"2025-12-22",family:"glm"},"accounts/fireworks/models/deepseek-v3p2":{id:"accounts/fireworks/models/deepseek-v3p2",name:"DeepSeek V3.2",contextWindow:160000,maxTokens:8000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.56,output:1.68,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-12-01",family:"deepseek"},"accounts/fireworks/models/kimi-k2-thinking":{id:"accounts/fireworks/models/kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.5,cacheRead:0.3,cacheWrite:0},releaseDate:"2025-11-06",family:"kimi-thinking"},"accounts/fireworks/models/deepseek-v3p1":{id:"accounts/fireworks/models/deepseek-v3p1",name:"DeepSeek V3.1",contextWindow:163840,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.56,output:1.68,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21",family:"deepseek"},"accounts/fireworks/models/gpt-oss-120b":{id:"accounts/fireworks/models/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"accounts/fireworks/models/gpt-oss-20b":{id:"accounts/fireworks/models/gpt-oss-20b",name:"GPT OSS 20B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.05,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"accounts/fireworks/models/glm-4p5-air":{id:"accounts/fireworks/models/glm-4p5-air",name:"GLM 4.5 Air",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.22,output:0.88,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-01",family:"glm-air"},"accounts/fireworks/models/glm-4p5":{id:"accounts/fireworks/models/glm-4p5",name:"GLM 4.5",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.55,output:2.19,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-29",family:"glm"},"accounts/fireworks/models/kimi-k2-instruct":{id:"accounts/fireworks/models/kimi-k2-instruct",name:"Kimi K2 Instruct",contextWindow:128000,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-11",family:"kimi"}},gemini:{"gemini-3.1-flash-lite":{id:"gemini-3.1-flash-lite",name:"Gemini 3.1 Flash Lite",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.25,output:1.5,cacheRead:0.025,cacheWrite:1},releaseDate:"2026-05-07",family:"gemini-flash-lite"},"gemma-4-26b-a4b-it":{id:"gemma-4-26b-a4b-it",name:"Gemma 4 26B",contextWindow:256000,maxTokens:8192,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-02",family:"gemma"},"gemma-4-31b-it":{id:"gemma-4-31b-it",name:"Gemma 4 31B",contextWindow:256000,maxTokens:8192,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-02",family:"gemma"},"gemini-3.1-flash-lite-preview":{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.25,output:1.5,cacheRead:0.025,cacheWrite:1},releaseDate:"2026-03-03",family:"gemini-flash-lite"},"gemini-3.1-pro-preview":{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-19",family:"gemini-pro"},"gemini-3.1-pro-preview-customtools":{id:"gemini-3.1-pro-preview-customtools",name:"Gemini 3.1 Pro Preview Custom Tools",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-19",family:"gemini-pro"},"gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-12-17",family:"gemini-flash"},"gemini-3-pro-preview":{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2025-11-18",family:"gemini-pro"},"gemini-2.5-flash-lite-preview-09-2025":{id:"gemini-2.5-flash-lite-preview-09-2025",name:"Gemini 2.5 Flash Lite Preview 09-25",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-09-25",family:"gemini-flash-lite"},"gemini-2.5-flash-preview-09-2025":{id:"gemini-2.5-flash-preview-09-2025",name:"Gemini 2.5 Flash Preview 09-25",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-09-25",family:"gemini-flash"},"gemini-flash-latest":{id:"gemini-flash-latest",name:"Gemini Flash Latest",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-09-25",family:"gemini-flash"},"gemini-flash-lite-latest":{id:"gemini-flash-lite-latest",name:"Gemini Flash-Lite Latest",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-09-25",family:"gemini-flash-lite"},"gemini-live-2.5-flash":{id:"gemini-live-2.5-flash",name:"Gemini Live 2.5 Flash",contextWindow:128000,maxTokens:8000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.5,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-01",family:"gemini-flash"},"gemini-2.5-flash-lite":{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-06-17",family:"gemini-flash-lite"},"gemini-2.5-flash-lite-preview-06-17":{id:"gemini-2.5-flash-lite-preview-06-17",name:"Gemini 2.5 Flash Lite Preview 06-17",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-06-17",family:"gemini-flash-lite"},"gemini-live-2.5-flash-preview-native-audio":{id:"gemini-live-2.5-flash-preview-native-audio",name:"Gemini Live 2.5 Flash Preview Native Audio",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning"],pricing:{input:0.5,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-17",family:"gemini-flash"},"gemini-2.5-pro-preview-06-05":{id:"gemini-2.5-pro-preview-06-05",name:"Gemini 2.5 Pro Preview 06-05",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-06-05",family:"gemini-pro"},"gemini-2.5-flash-preview-05-20":{id:"gemini-2.5-flash-preview-05-20",name:"Gemini 2.5 Flash Preview 05-20",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.15,output:0.6,cacheRead:0.0375,cacheWrite:0},releaseDate:"2025-05-20",family:"gemini-flash"},"gemini-2.5-pro-preview-05-06":{id:"gemini-2.5-pro-preview-05-06",name:"Gemini 2.5 Pro Preview 05-06",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-05-06",family:"gemini-pro"},"gemini-2.5-flash-preview-04-17":{id:"gemini-2.5-flash-preview-04-17",name:"Gemini 2.5 Flash Preview 04-17",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.15,output:0.6,cacheRead:0.0375,cacheWrite:0},releaseDate:"2025-04-17",family:"gemini-flash"},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-03-20",family:"gemini-flash"},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-03-20",family:"gemini-pro"},"gemma-3-27b-it":{id:"gemma-3-27b-it",name:"Gemma 3 27B",contextWindow:131072,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-12",family:"gemma"},"gemini-2.0-flash":{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2024-12-11",family:"gemini-flash"},"gemini-2.0-flash-lite":{id:"gemini-2.0-flash-lite",name:"Gemini 2.0 Flash Lite",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","structured_output","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-11",family:"gemini-flash-lite"},"gemini-1.5-flash-8b":{id:"gemini-1.5-flash-8b",name:"Gemini 1.5 Flash-8B",contextWindow:1e6,maxTokens:8192,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.0375,output:0.15,cacheRead:0.01,cacheWrite:0},releaseDate:"2024-10-03",family:"gemini-flash"},"gemini-1.5-flash":{id:"gemini-1.5-flash",name:"Gemini 1.5 Flash",contextWindow:1e6,maxTokens:8192,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.075,output:0.3,cacheRead:0.01875,cacheWrite:0},releaseDate:"2024-05-14",family:"gemini-flash"},"gemini-1.5-pro":{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro",contextWindow:1e6,maxTokens:8192,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:1.25,output:5,cacheRead:0.3125,cacheWrite:0},releaseDate:"2024-02-15",family:"gemini-pro"}},groq:{"moonshotai/kimi-k2-instruct-0905":{id:"moonshotai/kimi-k2-instruct-0905",name:"Kimi K2 Instruct 0905",contextWindow:262144,maxTokens:16384,capabilities:["tools","structured_output","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05",family:"kimi"},"groq/compound":{id:"groq/compound",name:"Compound",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-04",family:"groq"},"groq/compound-mini":{id:"groq/compound-mini",name:"Compound Mini",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-04",family:"groq"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"meta-llama/llama-4-scout-17b-16e-instruct":{id:"meta-llama/llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout 17B",contextWindow:131072,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.11,output:0.34,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05",family:"llama"},"openai/gpt-oss-safeguard-20b":{id:"openai/gpt-oss-safeguard-20b",name:"Safety GPT OSS 20B",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.075,output:0.3,cacheRead:0.037,cacheWrite:0},releaseDate:"2025-03-05",family:"gpt-oss"},"qwen/qwen3-32b":{id:"qwen/qwen3-32b",name:"Qwen3 32B",contextWindow:131072,maxTokens:40960,capabilities:["tools","reasoning","temperature"],pricing:{input:0.29,output:0.59,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-23",family:"qwen"},"llama-3.3-70b-versatile":{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B Versatile",contextWindow:131072,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.59,output:0.79,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06",family:"llama"},"llama-3.1-8b-instant":{id:"llama-3.1-8b-instant",name:"Llama 3.1 8B Instant",contextWindow:131072,maxTokens:6553,capabilities:["tools","temperature"],pricing:{input:0.05,output:0.08,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23",family:"llama"}},huggingface:{"deepseek-ai/DeepSeek-V4-Pro":{id:"deepseek-ai/DeepSeek-V4-Pro",name:"DeepSeek V4 Pro",contextWindow:1048576,maxTokens:393216,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.74,output:3.48,cacheRead:0.145,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek-thinking"},"moonshotai/Kimi-K2.6":{id:"moonshotai/Kimi-K2.6",name:"Kimi-K2.6",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.95,output:4,cacheRead:0.16,cacheWrite:0},releaseDate:"2026-04-20",family:"kimi"},"zai-org/GLM-5.1":{id:"zai-org/GLM-5.1",name:"GLM-5.1",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-04-03",family:"glm"},"MiniMaxAI/MiniMax-M2.7":{id:"MiniMaxAI/MiniMax-M2.7",name:"MiniMax-M2.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},releaseDate:"2026-03-18",family:"minimax"},"MiniMaxAI/MiniMax-M2.5":{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax-M2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},releaseDate:"2026-02-12",family:"minimax"},"zai-org/GLM-5":{id:"zai-org/GLM-5",name:"GLM-5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-11",family:"glm"},"Qwen/Qwen3-Coder-Next":{id:"Qwen/Qwen3-Coder-Next",name:"Qwen3-Coder-Next",contextWindow:262144,maxTokens:65536,capabilities:["tools","temperature"],pricing:{input:0.2,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-03",family:"qwen"},"Qwen/Qwen3.5-397B-A17B":{id:"Qwen/Qwen3.5-397B-A17B",name:"Qwen3.5-397B-A17B",contextWindow:262144,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:3.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-01",family:"qwen"},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi-K2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-01-01",family:"kimi"},"MiniMaxAI/MiniMax-M2.1":{id:"MiniMaxAI/MiniMax-M2.1",name:"MiniMax-M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23",family:"minimax"},"zai-org/GLM-4.7":{id:"zai-org/GLM-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-12-22",family:"glm"},"XiaomiMiMo/MiMo-V2-Flash":{id:"XiaomiMiMo/MiMo-V2-Flash",name:"MiMo-V2-Flash",contextWindow:262144,maxTokens:4096,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-16",family:"mimo"},"deepseek-ai/DeepSeek-V3.2":{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek-V3.2",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.28,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-01",family:"deepseek"},"moonshotai/Kimi-K2-Thinking":{id:"moonshotai/Kimi-K2-Thinking",name:"Kimi-K2-Thinking",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06",family:"kimi-thinking"},"Qwen/Qwen3-Next-80B-A3B-Instruct":{id:"Qwen/Qwen3-Next-80B-A3B-Instruct",name:"Qwen3-Next-80B-A3B-Instruct",contextWindow:262144,maxTokens:66536,capabilities:["tools","temperature"],pricing:{input:0.25,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11",family:"qwen"},"Qwen/Qwen3-Next-80B-A3B-Thinking":{id:"Qwen/Qwen3-Next-80B-A3B-Thinking",name:"Qwen3-Next-80B-A3B-Thinking",contextWindow:262144,maxTokens:131072,capabilities:["tools","temperature"],pricing:{input:0.3,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11",family:"qwen"},"moonshotai/Kimi-K2-Instruct-0905":{id:"moonshotai/Kimi-K2-Instruct-0905",name:"Kimi-K2-Instruct-0905",contextWindow:262144,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-04",family:"kimi"},"zai-org/GLM-4.7-Flash":{id:"zai-org/GLM-4.7-Flash",name:"GLM-4.7-Flash",contextWindow:200000,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-08",family:"glm"},"Qwen/Qwen3-235B-A22B-Thinking-2507":{id:"Qwen/Qwen3-235B-A22B-Thinking-2507",name:"Qwen3-235B-A22B-Thinking-2507",contextWindow:262144,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25",family:"qwen"},"Qwen/Qwen3-Coder-480B-A35B-Instruct":{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3-Coder-480B-A35B-Instruct",contextWindow:262144,maxTokens:66536,capabilities:["tools","temperature"],pricing:{input:2,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23",family:"qwen"},"moonshotai/Kimi-K2-Instruct":{id:"moonshotai/Kimi-K2-Instruct",name:"Kimi-K2-Instruct",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-14",family:"kimi"},"deepseek-ai/DeepSeek-R1-0528":{id:"deepseek-ai/DeepSeek-R1-0528",name:"DeepSeek-R1-0528",contextWindow:163840,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:3,output:5,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-28",family:"deepseek-thinking"}},kilo:{"baidu/cobuddy:free":{id:"baidu/cobuddy:free",name:"Baidu: CoBuddy (free)",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-05-06"},"openai/gpt-chat-latest":{id:"openai/gpt-chat-latest",name:"OpenAI: GPT Chat Latest",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:5,output:30,cacheRead:0.5,cacheWrite:0},releaseDate:"2026-05-05"},"x-ai/grok-4.3":{id:"x-ai/grok-4.3",name:"xAI: Grok 4.3",contextWindow:1e6,maxTokens:4096,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:2.5,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-05-01"},"ibm-granite/granite-4.1-8b":{id:"ibm-granite/granite-4.1-8b",name:"IBM: Granite 4.1 8B",contextWindow:131072,maxTokens:6553,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.05,output:0.1,cacheRead:0.05,cacheWrite:0},releaseDate:"2026-04-30"},"mistralai/mistral-medium-3-5":{id:"mistralai/mistral-medium-3-5",name:"Mistral: Mistral Medium 3.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.5,output:7.5,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-30"},"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free":{id:"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free",name:"NVIDIA: Nemotron 3 Nano Omni (free)",contextWindow:256000,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-28"},"openrouter/owl-alpha":{id:"openrouter/owl-alpha",name:"Owl Alpha",contextWindow:1048756,maxTokens:262144,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-28"},"poolside/laguna-m.1:free":{id:"poolside/laguna-m.1:free",name:"Poolside: Laguna M.1 (free)",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-28"},"poolside/laguna-xs.2:free":{id:"poolside/laguna-xs.2:free",name:"Poolside: Laguna XS.2 (free)",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-28"},"~anthropic/claude-haiku-latest":{id:"~anthropic/claude-haiku-latest",name:"Anthropic: Claude Haiku Latest",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2026-04-27"},"~anthropic/claude-sonnet-latest":{id:"~anthropic/claude-sonnet-latest",name:"Anthropic: Claude Sonnet Latest",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-04-27"},"~google/gemini-flash-latest":{id:"~google/gemini-flash-latest",name:"Google: Gemini Flash Latest",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0.08333333333333334},releaseDate:"2026-04-27"},"~google/gemini-pro-latest":{id:"~google/gemini-pro-latest",name:"Google: Gemini Pro Latest",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0.375},releaseDate:"2026-04-27"},"~moonshotai/kimi-latest":{id:"~moonshotai/kimi-latest",name:"MoonshotAI: Kimi Latest",contextWindow:262142,maxTokens:13107,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.74,output:3.49,cacheRead:0.14,cacheWrite:0},releaseDate:"2026-04-27"},"~openai/gpt-latest":{id:"~openai/gpt-latest",name:"OpenAI: GPT Latest",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:5,output:30,cacheRead:0.5,cacheWrite:0},releaseDate:"2026-04-27"},"~openai/gpt-mini-latest":{id:"~openai/gpt-mini-latest",name:"OpenAI: GPT Mini Latest",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2026-04-27"},"qwen/qwen3.5-plus-20260420":{id:"qwen/qwen3.5-plus-20260420",name:"Qwen: Qwen3.5 Plus 2026-04-20",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.4,output:2.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-27"},"qwen/qwen3.6-27b":{id:"qwen/qwen3.6-27b",name:"Qwen: Qwen3.6 27B",contextWindow:256000,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.325,output:3.25,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-27"},"qwen/qwen3.6-flash":{id:"qwen/qwen3.6-flash",name:"Qwen: Qwen3.6 Flash",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.25,output:1.5,cacheRead:0,cacheWrite:0.3125},releaseDate:"2026-04-27"},"qwen/qwen3.6-max-preview":{id:"qwen/qwen3.6-max-preview",name:"Qwen: Qwen3.6 Max Preview",contextWindow:262144,maxTokens:65536,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1.04,output:6.24,cacheRead:0,cacheWrite:1.3},releaseDate:"2026-04-27"},"deepseek/deepseek-v4-flash":{id:"deepseek/deepseek-v4-flash",name:"DeepSeek: DeepSeek V4 Flash",contextWindow:1048576,maxTokens:384000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.14,output:0.28,cacheRead:0.0028,cacheWrite:0},releaseDate:"2026-04-24"},"deepseek/deepseek-v4-pro":{id:"deepseek/deepseek-v4-pro",name:"DeepSeek: DeepSeek V4 Pro",contextWindow:1048576,maxTokens:384000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.435,output:0.87,cacheRead:0.003625,cacheWrite:0},releaseDate:"2026-04-24"},"openai/gpt-5.5":{id:"openai/gpt-5.5",name:"OpenAI: GPT-5.5",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:5,output:30,cacheRead:0.5,cacheWrite:0},releaseDate:"2026-04-24"},"openai/gpt-5.5-pro":{id:"openai/gpt-5.5-pro",name:"OpenAI: GPT-5.5 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],pricing:{input:30,output:180,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-24"},"inclusionai/ling-2.6-1t:free":{id:"inclusionai/ling-2.6-1t:free",name:"inclusionAI: Ling-2.6-1T (free)",contextWindow:262144,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-23"},"tencent/hy3-preview:free":{id:"tencent/hy3-preview:free",name:"Tencent: Hy3 Preview (free)",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-22"},"xiaomi/mimo-v2.5":{id:"xiaomi/mimo-v2.5",name:"Xiaomi: MiMo-V2.5",contextWindow:1048576,maxTokens:131072,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.4,output:2,cacheRead:0.08,cacheWrite:0},releaseDate:"2026-04-22",family:"mimo"},"xiaomi/mimo-v2.5-pro":{id:"xiaomi/mimo-v2.5-pro",name:"Xiaomi: MiMo V2.5 Pro",contextWindow:1048576,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-04-22",family:"mimo"},"inclusionai/ling-2.6-flash":{id:"inclusionai/ling-2.6-flash",name:"inclusionAI: Ling-2.6 Flash",contextWindow:262144,maxTokens:32768,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.08,output:0.24,cacheRead:0.016,cacheWrite:0},releaseDate:"2026-04-21"},"moonshotai/kimi-k2.6":{id:"moonshotai/kimi-k2.6",name:"MoonshotAI: Kimi K2.6",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.95,output:4,cacheRead:0.16,cacheWrite:0},releaseDate:"2026-04-20"},"~anthropic/claude-opus-latest":{id:"~anthropic/claude-opus-latest",name:"Anthropic: Claude Opus Latest",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-04-16"},"anthropic/claude-opus-4.7":{id:"anthropic/claude-opus-4.7",name:"Anthropic: Claude Opus 4.7",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-04-16"},"anthropic/claude-opus-4.6-fast":{id:"anthropic/claude-opus-4.6-fast",name:"Anthropic: Claude Opus 4.6 (Fast)",contextWindow:1e6,maxTokens:128000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:30,output:150,cacheRead:3,cacheWrite:37.5},releaseDate:"2026-04-07"},"google/gemma-4-26b-a4b-it":{id:"google/gemma-4-26b-a4b-it",name:"Google: Gemma 4 26B A4B",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.12,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-03"},"google/gemma-4-31b-it":{id:"google/gemma-4-31b-it",name:"Google: Gemma 4 31B",contextWindow:262144,maxTokens:131072,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.14,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-02"},"arcee-ai/trinity-large-thinking":{id:"arcee-ai/trinity-large-thinking",name:"Arcee AI: Trinity Large Thinking",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0.22,output:0.85,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-01"},"z-ai/glm-5v-turbo":{id:"z-ai/glm-5v-turbo",name:"Z.ai: GLM 5V Turbo",contextWindow:202752,maxTokens:131072,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.2,output:4,cacheRead:0.24,cacheWrite:0},releaseDate:"2026-04-01"},"x-ai/grok-4.20":{id:"x-ai/grok-4.20",name:"xAI: Grok 4.20",contextWindow:2000000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-31"},"kwaipilot/kat-coder-pro-v2":{id:"kwaipilot/kat-coder-pro-v2",name:"Kwaipilot: KAT-Coder-Pro V2",contextWindow:256000,maxTokens:80000,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},releaseDate:"2026-03-27"},"z-ai/glm-5.1":{id:"z-ai/glm-5.1",name:"Z.ai: GLM 5.1",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:1.26,output:3.96,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-27"},"rekaai/reka-edge":{id:"rekaai/reka-edge",name:"Reka Edge",contextWindow:16384,maxTokens:819,capabilities:["images","tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-20"},"minimax/minimax-m2.7":{id:"minimax/minimax-m2.7",name:"MiniMax: MiniMax M2.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},releaseDate:"2026-03-18",family:"minimax-m2.7"},"xiaomi/mimo-v2-omni":{id:"xiaomi/mimo-v2-omni",name:"Xiaomi: MiMo-V2-Omni",contextWindow:262144,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.4,output:2,cacheRead:0.08,cacheWrite:0},releaseDate:"2026-03-18",family:"mimo"},"xiaomi/mimo-v2-pro":{id:"xiaomi/mimo-v2-pro",name:"Xiaomi: MiMo-V2-Pro",contextWindow:1048576,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-18",family:"mimo"},"openai/gpt-5.4-mini":{id:"openai/gpt-5.4-mini",name:"OpenAI: GPT-5.4 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2026-03-17"},"openai/gpt-5.4-nano":{id:"openai/gpt-5.4-nano",name:"OpenAI: GPT-5.4 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:0.2,output:1.25,cacheRead:0.02,cacheWrite:0},releaseDate:"2026-03-17"},"mistralai/mistral-small-2603":{id:"mistralai/mistral-small-2603",name:"Mistral: Mistral Small 4",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.15,output:0.6,cacheRead:0.015,cacheWrite:0},releaseDate:"2026-03-16"},"kilo-auto/balanced":{id:"kilo-auto/balanced",name:"Kilo Auto Balanced",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-15"},"kilo-auto/free":{id:"kilo-auto/free",name:"Kilo Auto Free",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-15"},"kilo-auto/frontier":{id:"kilo-auto/frontier",name:"Kilo Auto Frontier",contextWindow:1e6,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:5,output:25,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-15"},"kilo-auto/small":{id:"kilo-auto/small",name:"Kilo Auto Small",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.05,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-15"},"openrouter/auto":{id:"openrouter/auto",name:"Auto Router",contextWindow:2000000,maxTokens:32768,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-15"},"z-ai/glm-5-turbo":{id:"z-ai/glm-5-turbo",name:"Z.ai: GLM 5 Turbo",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1.2,output:4,cacheRead:0.24,cacheWrite:0},releaseDate:"2026-03-15"},"nvidia/nemotron-3-super-120b-a12b:free":{id:"nvidia/nemotron-3-super-120b-a12b:free",name:"NVIDIA: Nemotron 3 Super (free)",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-12"},"nvidia/nemotron-3-super-120b-a12b":{id:"nvidia/nemotron-3-super-120b-a12b",name:"NVIDIA: Nemotron 3 Super",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1,output:0.5,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-03-11"},"bytedance-seed/seed-2.0-lite":{id:"bytedance-seed/seed-2.0-lite",name:"ByteDance Seed: Seed-2.0-Lite",contextWindow:262144,maxTokens:131072,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.25,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-10"},"qwen/qwen3.5-9b":{id:"qwen/qwen3.5-9b",name:"Qwen: Qwen3.5-9B",contextWindow:256000,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.05,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-10"},"openai/gpt-5.4":{id:"openai/gpt-5.4",name:"OpenAI: GPT-5.4",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],pricing:{input:2.5,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-06"},"openai/gpt-5.4-pro":{id:"openai/gpt-5.4-pro",name:"OpenAI: GPT-5.4 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],pricing:{input:30,output:180,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-06"},"openai/gpt-5.3-chat":{id:"openai/gpt-5.3-chat",name:"OpenAI: GPT-5.3 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools"],pricing:{input:1.75,output:14,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-04"},"google/gemini-3.1-flash-lite-preview":{id:"google/gemini-3.1-flash-lite-preview",name:"Google: Gemini 3.1 Flash Lite Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.25,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-03"},"bytedance-seed/seed-2.0-mini":{id:"bytedance-seed/seed-2.0-mini",name:"ByteDance Seed: Seed-2.0-Mini",contextWindow:262144,maxTokens:131072,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-27"},"google/gemini-3.1-pro-preview-customtools":{id:"google/gemini-3.1-pro-preview-customtools",name:"Google: Gemini 3.1 Pro Preview Custom Tools",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:2,output:12,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-26"},"qwen/qwen3.5-122b-a10b":{id:"qwen/qwen3.5-122b-a10b",name:"Qwen: Qwen3.5-122B-A10B",contextWindow:262144,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.26,output:2.08,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-26"},"qwen/qwen3.5-27b":{id:"qwen/qwen3.5-27b",name:"Qwen: Qwen3.5-27B",contextWindow:262144,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.195,output:1.56,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-26"},"qwen/qwen3.5-35b-a3b":{id:"qwen/qwen3.5-35b-a3b",name:"Qwen: Qwen3.5-35B-A3B",contextWindow:262144,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.1625,output:1.3,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-26"},"qwen/qwen3.5-flash-02-23":{id:"qwen/qwen3.5-flash-02-23",name:"Qwen: Qwen3.5-Flash",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-26"},"openai/gpt-5.3-codex":{id:"openai/gpt-5.3-codex",name:"OpenAI: GPT-5.3-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning"],pricing:{input:1.75,output:14,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-25"},"inception/mercury-2":{id:"inception/mercury-2",name:"Inception: Mercury 2",contextWindow:128000,maxTokens:50000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.25,output:0.75,cacheRead:0.025,cacheWrite:0},releaseDate:"2026-02-24"},"google/gemini-3.1-pro-preview":{id:"google/gemini-3.1-pro-preview",name:"Google: Gemini 3.1 Pro Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:2,output:12,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-19"},"anthropic/claude-sonnet-4.6":{id:"anthropic/claude-sonnet-4.6",name:"Anthropic: Claude Sonnet 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-17"},"qwen/qwen3.5-397b-a17b":{id:"qwen/qwen3.5-397b-a17b",name:"Qwen: Qwen3.5 397B A17B",contextWindow:262144,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.39,output:2.34,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-15"},"qwen/qwen3.5-plus-02-15":{id:"qwen/qwen3.5-plus-02-15",name:"Qwen: Qwen3.5 Plus 2026-02-15",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.26,output:1.56,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-15"},"minimax/minimax-m2.5":{id:"minimax/minimax-m2.5",name:"MiniMax: MiniMax M2.5",contextWindow:196608,maxTokens:9830,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.25,output:1.2,cacheRead:0.029,cacheWrite:0},releaseDate:"2026-02-12"},"z-ai/glm-5":{id:"z-ai/glm-5",name:"Z.ai: GLM 5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.72,output:2.3,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12"},"anthropic/claude-opus-4.6":{id:"anthropic/claude-opus-4.6",name:"Anthropic: Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05"},"qwen/qwen3-coder-next":{id:"qwen/qwen3-coder-next",name:"Qwen: Qwen3 Coder Next",contextWindow:262144,maxTokens:65536,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.12,output:0.75,cacheRead:0.035,cacheWrite:0},releaseDate:"2026-02-02"},"openrouter/free":{id:"openrouter/free",name:"Free Models Router",contextWindow:200000,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-01"},"stepfun/step-3.5-flash":{id:"stepfun/step-3.5-flash",name:"StepFun: Step 3.5 Flash",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1,output:0.3,cacheRead:0.02,cacheWrite:0},releaseDate:"2026-01-29"},"arcee-ai/trinity-large-preview":{id:"arcee-ai/trinity-large-preview",name:"Arcee AI: Trinity Large Preview",contextWindow:131000,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.45,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-28"},"moonshotai/kimi-k2.5":{id:"moonshotai/kimi-k2.5",name:"MoonshotAI: Kimi K2.5",contextWindow:262144,maxTokens:65535,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.45,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-27"},"upstage/solar-pro-3":{id:"upstage/solar-pro-3",name:"Upstage: Solar Pro 3",contextWindow:128000,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-27"},"qwen/qwen3-max-thinking":{id:"qwen/qwen3-max-thinking",name:"Qwen: Qwen3 Max Thinking",contextWindow:262144,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.78,output:3.9,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-23"},"z-ai/glm-4.7-flash":{id:"z-ai/glm-4.7-flash",name:"Z.ai: GLM 4.7 Flash",contextWindow:202752,maxTokens:40551,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.06,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2026-01-19"},"openai/gpt-5.2-codex":{id:"openai/gpt-5.2-codex",name:"OpenAI: GPT-5.2-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-01-14"},"mistralai/mistral-small-24b-instruct-2501":{id:"mistralai/mistral-small-24b-instruct-2501",name:"Mistral: Mistral Small 3",contextWindow:32768,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.05,output:0.08,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-29"},"bytedance-seed/seed-1.6-flash":{id:"bytedance-seed/seed-1.6-flash",name:"ByteDance Seed: Seed 1.6 Flash",contextWindow:262144,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23"},"minimax/minimax-m2.1":{id:"minimax/minimax-m2.1",name:"MiniMax: MiniMax M2.1",contextWindow:196608,maxTokens:39322,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.27,output:0.95,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-12-23"},"z-ai/glm-4.7":{id:"z-ai/glm-4.7",name:"Z.ai: GLM 4.7",contextWindow:202752,maxTokens:65535,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.38,output:1.98,cacheRead:0.2,cacheWrite:0},releaseDate:"2025-12-22"},"google/gemini-3-flash-preview":{id:"google/gemini-3-flash-preview",name:"Google: Gemini 3 Flash Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0.083333},releaseDate:"2025-12-17"},"mistralai/ministral-14b-2512":{id:"mistralai/ministral-14b-2512",name:"Mistral: Ministral 3 14B 2512",contextWindow:262144,maxTokens:52429,capabilities:["images","tools","temperature"],pricing:{input:0.2,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-16"},"xiaomi/mimo-v2-flash":{id:"xiaomi/mimo-v2-flash",name:"Xiaomi: MiMo-V2-Flash",contextWindow:262144,maxTokens:65536,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.09,output:0.29,cacheRead:0.045,cacheWrite:0},releaseDate:"2025-12-16",family:"mimo"},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"OpenAI: GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11"},"openai/gpt-5.2-chat":{id:"openai/gpt-5.2-chat",name:"OpenAI: GPT-5.2 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11"},"openai/gpt-5.2-pro":{id:"openai/gpt-5.2-pro",name:"OpenAI: GPT-5.2 Pro",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],pricing:{input:21,output:168,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-11"},"relace/relace-search":{id:"relace/relace-search",name:"Relace: Relace Search",contextWindow:256000,maxTokens:128000,capabilities:["tools","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-09"},"essentialai/rnj-1-instruct":{id:"essentialai/rnj-1-instruct",name:"EssentialAI: Rnj 1 Instruct",contextWindow:32768,maxTokens:6554,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-05"},"mistralai/ministral-3b-2512":{id:"mistralai/ministral-3b-2512",name:"Mistral: Ministral 3 3B 2512",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02"},"mistralai/ministral-8b-2512":{id:"mistralai/ministral-8b-2512",name:"Mistral: Ministral 3 8B 2512",contextWindow:262144,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02"},"arcee-ai/trinity-mini":{id:"arcee-ai/trinity-mini",name:"Arcee AI: Trinity Mini",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.045,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2025-12"},"deepseek/deepseek-v3.2":{id:"deepseek/deepseek-v3.2",name:"DeepSeek: DeepSeek V3.2",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.26,output:0.38,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-12-01"},"prime-intellect/intellect-3":{id:"prime-intellect/intellect-3",name:"Prime Intellect: INTELLECT-3",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-26"},"anthropic/claude-opus-4.5":{id:"anthropic/claude-opus-4.5",name:"Anthropic: Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24"},"x-ai/grok-4.1-fast":{id:"x-ai/grok-4.1-fast",name:"xAI: Grok 4.1 Fast",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-11-19"},"openai/gpt-5.1":{id:"openai/gpt-5.1",name:"OpenAI: GPT-5.1",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-chat":{id:"openai/gpt-5.1-chat",name:"OpenAI: GPT-5.1 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-codex":{id:"openai/gpt-5.1-codex",name:"OpenAI: GPT-5.1-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-codex-max":{id:"openai/gpt-5.1-codex-max",name:"OpenAI: GPT-5.1-Codex-Max",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13"},"openai/gpt-5.1-codex-mini":{id:"openai/gpt-5.1-codex-mini",name:"OpenAI: GPT-5.1-Codex-Mini",contextWindow:400000,maxTokens:1e5,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-11-13"},"moonshotai/kimi-k2-thinking":{id:"moonshotai/kimi-k2-thinking",name:"MoonshotAI: Kimi K2 Thinking",contextWindow:131072,maxTokens:65535,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.47,output:2,cacheRead:0.2,cacheWrite:0},releaseDate:"2025-11-06"},"amazon/nova-premier-v1":{id:"amazon/nova-premier-v1",name:"Amazon: Nova Premier 1.0",contextWindow:1e6,maxTokens:32000,capabilities:["images","tools","temperature"],pricing:{input:2.5,output:12.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-01"},"openai/gpt-oss-safeguard-20b":{id:"openai/gpt-oss-safeguard-20b",name:"OpenAI: gpt-oss-safeguard-20b",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.075,output:0.3,cacheRead:0.037,cacheWrite:0},releaseDate:"2025-10-29"},"minimax/minimax-m2":{id:"minimax/minimax-m2",name:"MiniMax: MiniMax M2",contextWindow:196608,maxTokens:9830,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.255,output:1,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-10-23"},"qwen/qwen3-vl-32b-instruct":{id:"qwen/qwen3-vl-32b-instruct",name:"Qwen: Qwen3 VL 32B Instruct",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.104,output:0.416,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-21"},"openai/gpt-5-image-mini":{id:"openai/gpt-5-image-mini",name:"OpenAI: GPT-5 Image Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:2.5,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-16"},"anthropic/claude-haiku-4.5":{id:"anthropic/claude-haiku-4.5",name:"Anthropic: Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15"},"qwen/qwen3-vl-8b-instruct":{id:"qwen/qwen3-vl-8b-instruct",name:"Qwen: Qwen3 VL 8B Instruct",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.08,output:0.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-15"},"qwen/qwen3-vl-8b-thinking":{id:"qwen/qwen3-vl-8b-thinking",name:"Qwen: Qwen3 VL 8B Thinking",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.117,output:1.365,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-15"},"openai/gpt-5-image":{id:"openai/gpt-5-image",name:"OpenAI: GPT-5 Image",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:10,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-14"},"qwen/qwen3-vl-30b-a3b-thinking":{id:"qwen/qwen3-vl-30b-a3b-thinking",name:"Qwen: Qwen3 VL 30B A3B Thinking",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.13,output:1.56,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-11"},"openai/gpt-5-pro":{id:"openai/gpt-5-pro",name:"OpenAI: GPT-5 Pro",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning"],pricing:{input:15,output:120,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-06"},"qwen/qwen3-vl-30b-a3b-instruct":{id:"qwen/qwen3-vl-30b-a3b-instruct",name:"Qwen: Qwen3 VL 30B A3B Instruct",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.13,output:0.52,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-05"},"z-ai/glm-4.6":{id:"z-ai/glm-4.6",name:"Z.ai: GLM 4.6",contextWindow:204800,maxTokens:10240,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.39,output:1.9,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-09-30"},"z-ai/glm-4.6v":{id:"z-ai/glm-4.6v",name:"Z.ai: GLM 4.6V",contextWindow:131072,maxTokens:6553,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-30"},"anthropic/claude-sonnet-4.5":{id:"anthropic/claude-sonnet-4.5",name:"Anthropic: Claude Sonnet 4.5",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29"},"google/gemini-2.5-flash-lite-preview-09-2025":{id:"google/gemini-2.5-flash-lite-preview-09-2025",name:"Google: Gemini 2.5 Flash Lite Preview 09-2025",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.01,cacheWrite:0.083333},releaseDate:"2025-09-25"},"qwen/qwen3-vl-235b-a22b-thinking":{id:"qwen/qwen3-vl-235b-a22b-thinking",name:"Qwen: Qwen3 VL 235B A22B Thinking",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.26,output:2.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-24"},"qwen/qwen3-vl-235b-a22b-instruct":{id:"qwen/qwen3-vl-235b-a22b-instruct",name:"Qwen: Qwen3 VL 235B A22B Instruct",contextWindow:262144,maxTokens:52429,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.2,output:0.88,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-09-23"},"deepseek/deepseek-v3.1-terminus":{id:"deepseek/deepseek-v3.1-terminus",name:"DeepSeek: DeepSeek V3.1 Terminus",contextWindow:163840,maxTokens:32768,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.21,output:0.79,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-09-22"},"alibaba/tongyi-deepresearch-30b-a3b":{id:"alibaba/tongyi-deepresearch-30b-a3b",name:"Tongyi DeepResearch 30B A3B",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.09,output:0.45,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-18"},"openai/gpt-5-codex":{id:"openai/gpt-5-codex",name:"OpenAI: GPT-5 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-09-15"},"mistralai/devstral-2512":{id:"mistralai/devstral-2512",name:"Mistral: Devstral 2 2512",contextWindow:262144,maxTokens:65536,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.4,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-09-12"},"qwen/qwen3-next-80b-a3b-instruct":{id:"qwen/qwen3-next-80b-a3b-instruct",name:"Qwen: Qwen3 Next 80B A3B Instruct",contextWindow:131072,maxTokens:52429,capabilities:["tools","temperature"],pricing:{input:0.09,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11"},"qwen/qwen3-next-80b-a3b-thinking":{id:"qwen/qwen3-next-80b-a3b-thinking",name:"Qwen: Qwen3 Next 80B A3B Thinking",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.0975,output:0.78,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11"},"qwen/qwen-plus-2025-07-28":{id:"qwen/qwen-plus-2025-07-28",name:"Qwen: Qwen Plus 0728",contextWindow:1e6,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.26,output:0.78,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-09"},"qwen/qwen-plus-2025-07-28:thinking":{id:"qwen/qwen-plus-2025-07-28:thinking",name:"Qwen: Qwen Plus 0728 (thinking)",contextWindow:1e6,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.26,output:0.78,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-09"},"moonshotai/kimi-k2-0905":{id:"moonshotai/kimi-k2-0905",name:"MoonshotAI: Kimi K2 0905",contextWindow:131072,maxTokens:26215,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.4,output:2,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-09-05"},"qwen/qwen3-max":{id:"qwen/qwen3-max",name:"Qwen: Qwen3 Max",contextWindow:262144,maxTokens:32768,capabilities:["tools","temperature","prompt-cache"],pricing:{input:1.2,output:6,cacheRead:0.24,cacheWrite:0},releaseDate:"2025-09-05"},"bytedance-seed/seed-1.6":{id:"bytedance-seed/seed-1.6",name:"ByteDance Seed: Seed 1.6",contextWindow:262144,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.25,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-09"},"x-ai/grok-code-fast-1:optimized:free":{id:"x-ai/grok-code-fast-1:optimized:free",name:"xAI: Grok Code Fast 1 Optimized (experimental, free)",contextWindow:256000,maxTokens:1e4,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-27"},"qwen/qwen3.6-plus":{id:"qwen/qwen3.6-plus",name:"Qwen: Qwen3.6 Plus",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.325,output:1.95,cacheRead:0.0325,cacheWrite:0.40625},releaseDate:"2025-08-26"},"stepfun/step-3.5-flash:free":{id:"stepfun/step-3.5-flash:free",name:"StepFun: Step 3.5 Flash (free)",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-26"},"x-ai/grok-code-fast-1":{id:"x-ai/grok-code-fast-1",name:"xAI: Grok Code Fast 1",contextWindow:256000,maxTokens:1e4,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:1.5,cacheRead:0.02,cacheWrite:0},releaseDate:"2025-08-26"},"deepseek/deepseek-chat-v3.1":{id:"deepseek/deepseek-chat-v3.1",name:"DeepSeek: DeepSeek V3.1",contextWindow:32768,maxTokens:7168,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:0.75,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21"},"x-ai/grok-4-fast":{id:"x-ai/grok-4-fast",name:"xAI: Grok 4 Fast",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-08-19"},"nvidia/nemotron-nano-9b-v2":{id:"nvidia/nemotron-nano-9b-v2",name:"NVIDIA: Nemotron Nano 9B V2",contextWindow:131072,maxTokens:26215,capabilities:["tools","reasoning","temperature"],pricing:{input:0.04,output:0.16,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-18"},"openai/gpt-4o-audio-preview":{id:"openai/gpt-4o-audio-preview",name:"OpenAI: GPT-4o Audio",contextWindow:128000,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:2.5,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-15"},"mistralai/mistral-medium-3.1":{id:"mistralai/mistral-medium-3.1",name:"Mistral: Mistral Medium 3.1",contextWindow:131072,maxTokens:26215,capabilities:["images","tools","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-12"},"z-ai/glm-4.5v":{id:"z-ai/glm-4.5v",name:"Z.ai: GLM 4.5V",contextWindow:65536,maxTokens:16384,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:1.8,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-08-11"},"ai21/jamba-large-1.7":{id:"ai21/jamba-large-1.7",name:"AI21: Jamba Large 1.7",contextWindow:256000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:2,output:8,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-09"},"openai/gpt-5":{id:"openai/gpt-5",name:"OpenAI: GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"OpenAI: GPT-5 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-08-07"},"openai/gpt-5-nano":{id:"openai/gpt-5-nano",name:"OpenAI: GPT-5 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:0.05,output:0.4,cacheRead:0.005,cacheWrite:0},releaseDate:"2025-08-07"},"anthropic/claude-opus-4.1":{id:"anthropic/claude-opus-4.1",name:"Anthropic: Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"OpenAI: gpt-oss-120b",contextWindow:131072,maxTokens:26215,capabilities:["tools","reasoning","temperature"],pricing:{input:0.039,output:0.19,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"OpenAI: gpt-oss-20b",contextWindow:131072,maxTokens:26215,capabilities:["tools","reasoning","temperature"],pricing:{input:0.03,output:0.14,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05"},"mistralai/codestral-2508":{id:"mistralai/codestral-2508",name:"Mistral: Codestral 2508",contextWindow:256000,maxTokens:51200,capabilities:["tools","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-01"},"qwen/qwen3-coder-30b-a3b-instruct":{id:"qwen/qwen3-coder-30b-a3b-instruct",name:"Qwen: Qwen3 Coder 30B A3B Instruct",contextWindow:160000,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.07,output:0.27,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-31"},"qwen/qwen3-30b-a3b-instruct-2507":{id:"qwen/qwen3-30b-a3b-instruct-2507",name:"Qwen: Qwen3 30B A3B Instruct 2507",contextWindow:262144,maxTokens:13107,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.09,output:0.3,cacheRead:0.04,cacheWrite:0},releaseDate:"2025-07-29"},"qwen/qwen3-30b-a3b-thinking-2507":{id:"qwen/qwen3-30b-a3b-thinking-2507",name:"Qwen: Qwen3 30B A3B Thinking 2507",contextWindow:32768,maxTokens:6554,capabilities:["tools","reasoning","temperature"],pricing:{input:0.051,output:0.34,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-29"},"z-ai/glm-4.5":{id:"z-ai/glm-4.5",name:"Z.ai: GLM 4.5",contextWindow:131072,maxTokens:98304,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.2,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-07-28"},"z-ai/glm-4.5-air":{id:"z-ai/glm-4.5-air",name:"Z.ai: GLM 4.5 Air",contextWindow:131072,maxTokens:98304,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.13,output:0.85,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-07-28"},"qwen/qwen3-235b-a22b-thinking-2507":{id:"qwen/qwen3-235b-a22b-thinking-2507",name:"Qwen: Qwen3 235B A22B Thinking 2507",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0.11,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25"},"z-ai/glm-4-32b":{id:"z-ai/glm-4-32b",name:"Z.ai: GLM 4 32B ",contextWindow:128000,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25"},"qwen/qwen3-coder":{id:"qwen/qwen3-coder",name:"Qwen: Qwen3 Coder 480B A35B",contextWindow:262144,maxTokens:52429,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.22,output:1,cacheRead:0.022,cacheWrite:0},releaseDate:"2025-07-23"},"qwen/qwen3-coder-flash":{id:"qwen/qwen3-coder-flash",name:"Qwen: Qwen3 Coder Flash",contextWindow:1e6,maxTokens:65536,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.195,output:0.975,cacheRead:0.06,cacheWrite:0},releaseDate:"2025-07-23"},"google/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Google: Gemini 2.5 Flash",contextWindow:1048576,maxTokens:65535,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0.083333},releaseDate:"2025-07-17"},"moonshotai/kimi-k2":{id:"moonshotai/kimi-k2",name:"MoonshotAI: Kimi K2 0711",contextWindow:131000,maxTokens:26215,capabilities:["tools","temperature"],pricing:{input:0.55,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-11"},"mistralai/devstral-medium":{id:"mistralai/devstral-medium",name:"Mistral: Devstral Medium",contextWindow:131072,maxTokens:26215,capabilities:["tools","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-10"},"x-ai/grok-4":{id:"x-ai/grok-4",name:"xAI: Grok 4",contextWindow:256000,maxTokens:51200,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-07-09"},"tngtech/deepseek-r1t2-chimera":{id:"tngtech/deepseek-r1t2-chimera",name:"TNG: DeepSeek R1T2 Chimera",contextWindow:163840,maxTokens:8192,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.25,output:0.85,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-07-08"},"mistralai/voxtral-small-24b-2507":{id:"mistralai/voxtral-small-24b-2507",name:"Mistral: Voxtral Small 24B 2507",contextWindow:32000,maxTokens:6400,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-01"},"qwen/qwen3-coder-plus":{id:"qwen/qwen3-coder-plus",name:"Qwen: Qwen3 Coder Plus",contextWindow:1e6,maxTokens:65536,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.65,output:3.25,cacheRead:0.2,cacheWrite:0},releaseDate:"2025-07-01"},"baidu/ernie-4.5-21b-a3b":{id:"baidu/ernie-4.5-21b-a3b",name:"Baidu: ERNIE 4.5 21B A3B",contextWindow:120000,maxTokens:8000,capabilities:["tools","temperature"],pricing:{input:0.07,output:0.28,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-30"},"baidu/ernie-4.5-vl-28b-a3b":{id:"baidu/ernie-4.5-vl-28b-a3b",name:"Baidu: ERNIE 4.5 VL 28B A3B",contextWindow:30000,maxTokens:8000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.14,output:0.56,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-30"},"mistralai/mistral-small-3.2-24b-instruct":{id:"mistralai/mistral-small-3.2-24b-instruct",name:"Mistral: Mistral Small 3.2 24B",contextWindow:131072,maxTokens:6553,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.06,output:0.18,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-06-20"},"google/gemini-2.5-flash-lite":{id:"google/gemini-2.5-flash-lite",name:"Google: Gemini 2.5 Flash Lite",contextWindow:1048576,maxTokens:65535,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.01,cacheWrite:0.083333},releaseDate:"2025-06-17"},"minimax/minimax-m1":{id:"minimax/minimax-m1",name:"MiniMax: MiniMax M1",contextWindow:1e6,maxTokens:40000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.4,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-17"},"google/gemini-2.5-pro-preview":{id:"google/gemini-2.5-pro-preview",name:"Google: Gemini 2.5 Pro Preview 06-05",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0.375},releaseDate:"2025-06-05"},"deepseek/deepseek-r1-0528":{id:"deepseek/deepseek-r1-0528",name:"DeepSeek: R1 0528",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.45,output:2.15,cacheRead:0.2,cacheWrite:0},releaseDate:"2025-05-28"},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Anthropic: Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22"},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Anthropic: Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22"},"mistralai/devstral-small":{id:"mistralai/devstral-small",name:"Mistral: Devstral Small 1.1",contextWindow:131072,maxTokens:26215,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07"},"mistralai/mistral-medium-3":{id:"mistralai/mistral-medium-3",name:"Mistral: Mistral Medium 3",contextWindow:131072,maxTokens:26215,capabilities:["images","tools","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07"},"arcee-ai/virtuoso-large":{id:"arcee-ai/virtuoso-large",name:"Arcee AI: Virtuoso Large",contextWindow:131072,maxTokens:64000,capabilities:["tools","temperature"],pricing:{input:0.75,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-06"},"google/gemini-2.5-pro-preview-05-06":{id:"google/gemini-2.5-pro-preview-05-06",name:"Google: Gemini 2.5 Pro Preview 05-06",contextWindow:1048576,maxTokens:65535,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0.375},releaseDate:"2025-05-06"},"openai/o4-mini-high":{id:"openai/o4-mini-high",name:"OpenAI: o4 Mini High",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning"],pricing:{input:1.1,output:4.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-17"},"openai/o3":{id:"openai/o3",name:"OpenAI: o3",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-16"},"openai/o3-pro":{id:"openai/o3-pro",name:"OpenAI: o3 Pro",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning"],pricing:{input:20,output:80,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-16"},"openai/o4-mini":{id:"openai/o4-mini",name:"OpenAI: o4 Mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.275,cacheWrite:0},releaseDate:"2025-04-16"},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"OpenAI: GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14"},"openai/gpt-4.1-mini":{id:"openai/gpt-4.1-mini",name:"OpenAI: GPT-4.1 Mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14"},"openai/gpt-4.1-nano":{id:"openai/gpt-4.1-nano",name:"OpenAI: GPT-4.1 Nano",contextWindow:1047576,maxTokens:32768,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-04-14"},"meta-llama/llama-4-maverick":{id:"meta-llama/llama-4-maverick",name:"Meta: Llama 4 Maverick",contextWindow:1048576,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05"},"meta-llama/llama-4-scout":{id:"meta-llama/llama-4-scout",name:"Meta: Llama 4 Scout",contextWindow:327680,maxTokens:16384,capabilities:["images","tools","temperature"],pricing:{input:0.08,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05"},"qwen/qwen3-14b":{id:"qwen/qwen3-14b",name:"Qwen: Qwen3 14B",contextWindow:40960,maxTokens:2048,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.06,output:0.24,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-04"},"qwen/qwen3-235b-a22b-2507":{id:"qwen/qwen3-235b-a22b-2507",name:"Qwen: Qwen3 235B A22B Instruct 2507",contextWindow:262144,maxTokens:52429,capabilities:["tools","reasoning","temperature"],pricing:{input:0.071,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-04"},"qwen/qwen3-30b-a3b":{id:"qwen/qwen3-30b-a3b",name:"Qwen: Qwen3 30B A3B",contextWindow:40960,maxTokens:2048,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.08,output:0.28,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-04"},"qwen/qwen3-8b":{id:"qwen/qwen3-8b",name:"Qwen: Qwen3 8B",contextWindow:40960,maxTokens:8192,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.05,output:0.4,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-04"},"deepseek/deepseek-chat-v3-0324":{id:"deepseek/deepseek-chat-v3-0324",name:"DeepSeek: DeepSeek V3 0324",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:0.77,cacheRead:0.095,cacheWrite:0},releaseDate:"2025-03-24"},"google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Google: Gemini 2.5 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0.375},releaseDate:"2025-03-20"},"nvidia/llama-3.3-nemotron-super-49b-v1.5":{id:"nvidia/llama-3.3-nemotron-super-49b-v1.5",name:"NVIDIA: Llama 3.3 Nemotron Super 49B V1.5",contextWindow:131072,maxTokens:26215,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-16"},"google/gemma-3-27b-it":{id:"google/gemma-3-27b-it",name:"Google: Gemma 3 27B",contextWindow:128000,maxTokens:65536,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.03,output:0.11,cacheRead:0.02,cacheWrite:0},releaseDate:"2025-03-12"},"anthropic/claude-3.7-sonnet":{id:"anthropic/claude-3.7-sonnet",name:"Anthropic: Claude 3.7 Sonnet",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19"},"anthropic/claude-3.7-sonnet:thinking":{id:"anthropic/claude-3.7-sonnet:thinking",name:"Anthropic: Claude 3.7 Sonnet (thinking)",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19"},"mistralai/mistral-saba":{id:"mistralai/mistral-saba",name:"Mistral: Saba",contextWindow:32768,maxTokens:1638,capabilities:["tools","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-02-17"},"x-ai/grok-3":{id:"x-ai/grok-3",name:"xAI: Grok 3",contextWindow:131072,maxTokens:26215,capabilities:["tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-02-17"},"x-ai/grok-3-beta":{id:"x-ai/grok-3-beta",name:"xAI: Grok 3 Beta",contextWindow:131072,maxTokens:26215,capabilities:["tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-02-17"},"x-ai/grok-3-mini":{id:"x-ai/grok-3-mini",name:"xAI: Grok 3 Mini",contextWindow:131072,maxTokens:26215,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-02-17"},"x-ai/grok-3-mini-beta":{id:"x-ai/grok-3-mini-beta",name:"xAI: Grok 3 Mini Beta",contextWindow:131072,maxTokens:26215,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-02-17"},"openai/o3-mini-high":{id:"openai/o3-mini-high",name:"OpenAI: o3 Mini High",contextWindow:200000,maxTokens:1e5,capabilities:["files","tools","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.55,cacheWrite:0},releaseDate:"2025-01-31"},"deepseek/deepseek-r1":{id:"deepseek/deepseek-r1",name:"DeepSeek: R1",contextWindow:64000,maxTokens:16000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.7,output:2.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-20"},"deepseek/deepseek-v3.2-exp":{id:"deepseek/deepseek-v3.2-exp",name:"DeepSeek: DeepSeek V3.2 Exp",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.27,output:0.41,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-01"},"nex-agi/deepseek-v3.1-nex-n1":{id:"nex-agi/deepseek-v3.1-nex-n1",name:"Nex AGI: DeepSeek V3.1 Nex N1",contextWindow:131072,maxTokens:163840,capabilities:["tools","temperature"],pricing:{input:0.27,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-01"},"openai/o3-mini":{id:"openai/o3-mini",name:"OpenAI: o3 Mini",contextWindow:200000,maxTokens:1e5,capabilities:["files","tools","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.55,cacheWrite:0},releaseDate:"2024-12-20"},"google/gemini-2.0-flash-001":{id:"google/gemini-2.0-flash-001",name:"Google: Gemini 2.0 Flash",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0.083333},releaseDate:"2024-12-11"},"google/gemini-2.0-flash-lite-001":{id:"google/gemini-2.0-flash-lite-001",name:"Google: Gemini 2.0 Flash Lite",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-11"},"amazon/nova-lite-v1":{id:"amazon/nova-lite-v1",name:"Amazon: Nova Lite 1.0",contextWindow:300000,maxTokens:5120,capabilities:["images","tools","temperature"],pricing:{input:0.06,output:0.24,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06"},"amazon/nova-micro-v1":{id:"amazon/nova-micro-v1",name:"Amazon: Nova Micro 1.0",contextWindow:128000,maxTokens:5120,capabilities:["tools","temperature"],pricing:{input:0.035,output:0.14,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06"},"openai/o1":{id:"openai/o1",name:"OpenAI: o1",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","prompt-cache"],pricing:{input:15,output:60,cacheRead:7.5,cacheWrite:0},releaseDate:"2024-12-05"},"amazon/nova-pro-v1":{id:"amazon/nova-pro-v1",name:"Amazon: Nova Pro 1.0",contextWindow:300000,maxTokens:5120,capabilities:["images","tools","temperature"],pricing:{input:0.8,output:3.2,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-03"},"amazon/nova-2-lite-v1":{id:"amazon/nova-2-lite-v1",name:"Amazon: Nova 2 Lite",contextWindow:1e6,maxTokens:65535,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.3,output:2.5,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01"},"deepseek/deepseek-chat":{id:"deepseek/deepseek-chat",name:"DeepSeek: DeepSeek V3",contextWindow:163840,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.32,output:0.89,cacheRead:0.15,cacheWrite:0},releaseDate:"2024-12-01"},"nvidia/nemotron-3-nano-30b-a3b":{id:"nvidia/nemotron-3-nano-30b-a3b",name:"NVIDIA: Nemotron 3 Nano 30B A3B",contextWindow:262144,maxTokens:52429,capabilities:["tools","reasoning","temperature"],pricing:{input:0.05,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2024-12"},"qwen/qwen3-235b-a22b":{id:"qwen/qwen3-235b-a22b",name:"Qwen: Qwen3 235B A22B",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.455,output:1.82,cacheRead:0.15,cacheWrite:0},releaseDate:"2024-12-01"},"qwen/qwen3-32b":{id:"qwen/qwen3-32b",name:"Qwen: Qwen3 32B",contextWindow:40960,maxTokens:2048,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.08,output:0.24,cacheRead:0.04,cacheWrite:0},releaseDate:"2024-12-01"},"openai/gpt-4o-2024-11-20":{id:"openai/gpt-4o-2024-11-20",name:"OpenAI: GPT-4o (2024-11-20)",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-11-20"},"mistralai/mistral-large-2407":{id:"mistralai/mistral-large-2407",name:"Mistral Large 2407",contextWindow:131072,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-11-19"},"mistralai/pixtral-large-2411":{id:"mistralai/pixtral-large-2411",name:"Mistral: Pixtral Large 2411",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-11-19"},"thedrummer/unslopnemo-12b":{id:"thedrummer/unslopnemo-12b",name:"TheDrummer: UnslopNemo 12B",contextWindow:32768,maxTokens:1638,capabilities:["tools","temperature"],pricing:{input:0.4,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2024-11-09"},"mistralai/mistral-large-2512":{id:"mistralai/mistral-large-2512",name:"Mistral: Mistral Large 3 2512",contextWindow:262144,maxTokens:52429,capabilities:["images","tools","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2024-11-01"},"qwen/qwen-turbo":{id:"qwen/qwen-turbo",name:"Qwen: Qwen-Turbo",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.0325,output:0.13,cacheRead:0.01,cacheWrite:0},releaseDate:"2024-11-01"},"anthropic/claude-3.5-haiku":{id:"anthropic/claude-3.5-haiku",name:"Anthropic: Claude 3.5 Haiku",contextWindow:200000,maxTokens:8192,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22"},"nvidia/llama-3.1-nemotron-70b-instruct":{id:"nvidia/llama-3.1-nemotron-70b-instruct",name:"NVIDIA: Llama 3.1 Nemotron 70B Instruct",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:1.2,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2024-10-12"},"thedrummer/rocinante-12b":{id:"thedrummer/rocinante-12b",name:"TheDrummer: Rocinante 12B",contextWindow:32768,maxTokens:1638,capabilities:["tools","temperature"],pricing:{input:0.17,output:0.43,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-30"},"qwen/qwen-2.5-72b-instruct":{id:"qwen/qwen-2.5-72b-instruct",name:"Qwen2.5 72B Instruct",contextWindow:32768,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.12,output:0.39,cacheRead:0,cacheWrite:0},releaseDate:"2024-09"},"qwen/qwen-2.5-7b-instruct":{id:"qwen/qwen-2.5-7b-instruct",name:"Qwen: Qwen2.5 7B Instruct",contextWindow:32768,maxTokens:6554,capabilities:["tools","temperature"],pricing:{input:0.04,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2024-09"},"cohere/command-r-08-2024":{id:"cohere/command-r-08-2024",name:"Cohere: Command R (08-2024)",contextWindow:128000,maxTokens:4000,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-08-30"},"cohere/command-r-plus-08-2024":{id:"cohere/command-r-plus-08-2024",name:"Cohere: Command R+ (08-2024)",contextWindow:128000,maxTokens:4000,capabilities:["tools","temperature"],pricing:{input:2.5,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2024-08-30"},"sao10k/l3.1-euryale-70b":{id:"sao10k/l3.1-euryale-70b",name:"Sao10K: Llama 3.1 Euryale 70B v2.2",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.85,output:0.85,cacheRead:0,cacheWrite:0},releaseDate:"2024-08-28"},"openai/gpt-4o-2024-08-06":{id:"openai/gpt-4o-2024-08-06",name:"OpenAI: GPT-4o (2024-08-06)",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-08-06"},"meta-llama/llama-3.3-70b-instruct":{id:"meta-llama/llama-3.3-70b-instruct",name:"Meta: Llama 3.3 70B Instruct",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.32,cacheRead:0,cacheWrite:0},releaseDate:"2024-08-01"},"mistralai/mistral-large":{id:"mistralai/mistral-large",name:"Mistral Large",contextWindow:128000,maxTokens:25600,capabilities:["tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-24"},"mistralai/mistral-large-2411":{id:"mistralai/mistral-large-2411",name:"Mistral Large 2411",contextWindow:131072,maxTokens:26215,capabilities:["tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-24"},"meta-llama/llama-3.1-8b-instruct":{id:"meta-llama/llama-3.1-8b-instruct",name:"Meta: Llama 3.1 8B Instruct",contextWindow:16384,maxTokens:819,capabilities:["tools","temperature"],pricing:{input:0.02,output:0.05,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23"},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"OpenAI: GPT-4o-mini",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.15,output:0.6,cacheRead:0.075,cacheWrite:0},releaseDate:"2024-07-18"},"openai/gpt-4o-mini-2024-07-18":{id:"openai/gpt-4o-mini-2024-07-18",name:"OpenAI: GPT-4o-mini (2024-07-18)",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-18"},"meta-llama/llama-3.1-70b-instruct":{id:"meta-llama/llama-3.1-70b-instruct",name:"Meta: Llama 3.1 70B Instruct",contextWindow:131072,maxTokens:26215,capabilities:["tools","temperature"],pricing:{input:0.4,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-16"},"mistralai/mistral-nemo":{id:"mistralai/mistral-nemo",name:"Mistral: Mistral Nemo",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.02,output:0.04,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-01"},"openai/o3-deep-research":{id:"openai/o3-deep-research",name:"OpenAI: o3 Deep Research",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:10,output:40,cacheRead:2.5,cacheWrite:0},releaseDate:"2024-06-26"},"openai/o4-mini-deep-research":{id:"openai/o4-mini-deep-research",name:"OpenAI: o4 Mini Deep Research",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2024-06-26"},"sao10k/l3-euryale-70b":{id:"sao10k/l3-euryale-70b",name:"Sao10k: Llama 3 Euryale 70B v2.1",contextWindow:8192,maxTokens:409,capabilities:["tools","temperature"],pricing:{input:1.48,output:1.48,cacheRead:0,cacheWrite:0},releaseDate:"2024-06-18"},"openai/gpt-4o":{id:"openai/gpt-4o",name:"OpenAI: GPT-4o",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-05-13"},"openai/gpt-4o-2024-05-13":{id:"openai/gpt-4o-2024-05-13",name:"OpenAI: GPT-4o (2024-05-13)",contextWindow:128000,maxTokens:4096,capabilities:["images","files","tools","temperature"],pricing:{input:5,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2024-05-13"},"meta-llama/llama-3-8b-instruct":{id:"meta-llama/llama-3-8b-instruct",name:"Meta: Llama 3 8B Instruct",contextWindow:8192,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.03,output:0.04,cacheRead:0,cacheWrite:0},releaseDate:"2024-04-25"},"mistralai/mixtral-8x22b-instruct":{id:"mistralai/mixtral-8x22b-instruct",name:"Mistral: Mixtral 8x22B Instruct",contextWindow:65536,maxTokens:13108,capabilities:["tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-04-17"},"qwen/qwen-vl-max":{id:"qwen/qwen-vl-max",name:"Qwen: Qwen VL Max",contextWindow:131072,maxTokens:32768,capabilities:["images","tools","temperature"],pricing:{input:0.8,output:3.2,cacheRead:0,cacheWrite:0},releaseDate:"2024-04-08"},"qwen/qwen-max":{id:"qwen/qwen-max",name:"Qwen: Qwen-Max ",contextWindow:32768,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:1.04,output:4.16,cacheRead:0.32,cacheWrite:0},releaseDate:"2024-04-03"},"anthropic/claude-3-haiku":{id:"anthropic/claude-3-haiku",name:"Anthropic: Claude 3 Haiku",contextWindow:200000,maxTokens:4096,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.25,output:1.25,cacheRead:0.03,cacheWrite:0.3},releaseDate:"2024-03-07"},"cohere/command-r7b-12-2024":{id:"cohere/command-r7b-12-2024",name:"Cohere: Command R7B (12-2024)",contextWindow:128000,maxTokens:4000,capabilities:["tools","temperature"],pricing:{input:0.0375,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2024-02-27"},"openai/gpt-4-turbo-preview":{id:"openai/gpt-4-turbo-preview",name:"OpenAI: GPT-4 Turbo Preview",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:10,output:30,cacheRead:0,cacheWrite:0},releaseDate:"2024-01-25"},"qwen/qwen-plus":{id:"qwen/qwen-plus",name:"Qwen: Qwen-Plus",contextWindow:1e6,maxTokens:32768,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.4,output:1.2,cacheRead:0.08,cacheWrite:0},releaseDate:"2024-01-25"},"mistralai/mixtral-8x7b-instruct":{id:"mistralai/mixtral-8x7b-instruct",name:"Mistral: Mixtral 8x7B Instruct",contextWindow:32768,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.54,output:0.54,cacheRead:0,cacheWrite:0},releaseDate:"2023-12-10"},"openai/gpt-4-1106-preview":{id:"openai/gpt-4-1106-preview",name:"OpenAI: GPT-4 Turbo (older v1106)",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:10,output:30,cacheRead:0,cacheWrite:0},releaseDate:"2023-11-06"},"openai/gpt-4-turbo":{id:"openai/gpt-4-turbo",name:"OpenAI: GPT-4 Turbo",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:10,output:30,cacheRead:0,cacheWrite:0},releaseDate:"2023-09-13"},"openai/gpt-3.5-turbo-16k":{id:"openai/gpt-3.5-turbo-16k",name:"OpenAI: GPT-3.5 Turbo 16k",contextWindow:16385,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:3,output:4,cacheRead:0,cacheWrite:0},releaseDate:"2023-08-28"},"openai/gpt-3.5-turbo-0613":{id:"openai/gpt-3.5-turbo-0613",name:"OpenAI: GPT-3.5 Turbo (older v0613)",contextWindow:4095,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:1,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2023-06-13"},"openai/gpt-4-0314":{id:"openai/gpt-4-0314",name:"OpenAI: GPT-4 (older v0314)",contextWindow:8191,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:30,output:60,cacheRead:0,cacheWrite:0},releaseDate:"2023-05-28"},"openai/gpt-4":{id:"openai/gpt-4",name:"OpenAI: GPT-4",contextWindow:8191,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:30,output:60,cacheRead:0,cacheWrite:0},releaseDate:"2023-03-14"},"openai/gpt-3.5-turbo":{id:"openai/gpt-3.5-turbo",name:"OpenAI: GPT-3.5 Turbo",contextWindow:16385,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2023-03-01"}},lmstudio:{"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"qwen/qwen3-30b-a3b-2507":{id:"qwen/qwen3-30b-a3b-2507",name:"Qwen3 30B A3B 2507",contextWindow:262144,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-30",family:"qwen"},"qwen/qwen3-coder-30b":{id:"qwen/qwen3-coder-30b",name:"Qwen3 Coder 30B",contextWindow:262144,maxTokens:65536,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23",family:"qwen"}},minimax:{"MiniMax-M2.7":{id:"MiniMax-M2.7",name:"MiniMax-M2.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-03-18",family:"minimax"},"MiniMax-M2.7-highspeed":{id:"MiniMax-M2.7-highspeed",name:"MiniMax-M2.7-highspeed",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.4,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-03-18",family:"minimax"},"MiniMax-M2.5-highspeed":{id:"MiniMax-M2.5-highspeed",name:"MiniMax-M2.5-highspeed",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.4,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-02-13",family:"minimax"},"MiniMax-M2.5":{id:"MiniMax-M2.5",name:"MiniMax-M2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2026-02-12",family:"minimax"},"MiniMax-M2.1":{id:"MiniMax-M2.1",name:"MiniMax-M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23",family:"minimax"},"MiniMax-M2":{id:"MiniMax-M2",name:"MiniMax-M2",contextWindow:196608,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-27",family:"minimax"}},moonshot:{"kimi-k2.6":{id:"kimi-k2.6",name:"Kimi K2.6",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.95,output:4,cacheRead:0.16,cacheWrite:0},releaseDate:"2026-04-21",family:"kimi-k2.6"},"kimi-k2.5":{id:"kimi-k2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-01",family:"kimi-k2.5"},"kimi-k2-thinking":{id:"kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06",family:"kimi-thinking"},"kimi-k2-thinking-turbo":{id:"kimi-k2-thinking-turbo",name:"Kimi K2 Thinking Turbo",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1.15,output:8,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06",family:"kimi-thinking"},"kimi-k2-0905-preview":{id:"kimi-k2-0905-preview",name:"Kimi K2 0905",contextWindow:262144,maxTokens:13107,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-09-05",family:"kimi"},"kimi-k2-turbo-preview":{id:"kimi-k2-turbo-preview",name:"Kimi K2 Turbo",contextWindow:262144,maxTokens:13107,capabilities:["tools","temperature","prompt-cache"],pricing:{input:2.4,output:10,cacheRead:0.6,cacheWrite:0},releaseDate:"2025-09-05",family:"kimi"},"kimi-k2-0711-preview":{id:"kimi-k2-0711-preview",name:"Kimi K2 0711",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-07-14",family:"kimi"}},nebius:{"deepseek-ai/DeepSeek-V4-Pro":{id:"deepseek-ai/DeepSeek-V4-Pro",name:"DeepSeek V4 Pro",contextWindow:1e6,maxTokens:384000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.75,output:3.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek-thinking"},"nvidia/nemotron-3-super-120b-a12b":{id:"nvidia/nemotron-3-super-120b-a12b",name:"Nemotron-3-Super-120B-A12B",contextWindow:256000,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11"},"zai-org/GLM-5":{id:"zai-org/GLM-5",name:"GLM-5",contextWindow:200000,maxTokens:16384,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1,output:3.2,cacheRead:0.1,cacheWrite:1},releaseDate:"2026-03-01"},"NousResearch/Hermes-4-405B":{id:"NousResearch/Hermes-4-405B",name:"Hermes-4-405B",contextWindow:128000,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1,output:3,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2026-01-30"},"NousResearch/Hermes-4-70B":{id:"NousResearch/Hermes-4-70B",name:"Hermes-4-70B",contextWindow:128000,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.13,output:0.4,cacheRead:0.013,cacheWrite:0.16},releaseDate:"2026-01-30"},"Qwen/Qwen3-30B-A3B-Instruct-2507":{id:"Qwen/Qwen3-30B-A3B-Instruct-2507",name:"Qwen3-30B-A3B-Instruct-2507",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0.125},releaseDate:"2026-01-28"},"Qwen/Qwen3-32B":{id:"Qwen/Qwen3-32B",name:"Qwen3-32B",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0.125},releaseDate:"2026-01-28"},"Qwen/Qwen3-Next-80B-A3B-Thinking":{id:"Qwen/Qwen3-Next-80B-A3B-Thinking",name:"Qwen3-Next-80B-A3B-Thinking",contextWindow:128000,maxTokens:16384,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.15,output:1.2,cacheRead:0.015,cacheWrite:0.18},releaseDate:"2026-01-28"},"PrimeIntellect/INTELLECT-3":{id:"PrimeIntellect/INTELLECT-3",name:"INTELLECT-3",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.2,output:1.1,cacheRead:0.02,cacheWrite:0.25},releaseDate:"2026-01-25"},"deepseek-ai/DeepSeek-V3.2":{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek-V3.2",contextWindow:163000,maxTokens:16384,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:0.45,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2026-01-20"},"google/gemma-3-27b-it":{id:"google/gemma-3-27b-it",name:"Gemma-3-27b-it",contextWindow:110000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0.125},releaseDate:"2026-01-20"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"gpt-oss-120b",contextWindow:128000,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.15,output:0.6,cacheRead:0.015,cacheWrite:0.18},releaseDate:"2026-01-10"},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi-K2.5",contextWindow:256000,maxTokens:8192,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.5,output:2.5,cacheRead:0.05,cacheWrite:0.625},releaseDate:"2025-12-15",family:"kimi"},"moonshotai/Kimi-K2.5-fast":{id:"moonshotai/Kimi-K2.5-fast",name:"Kimi-K2.5-fast",contextWindow:256000,maxTokens:8192,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.5,output:2.5,cacheRead:0.05,cacheWrite:0.625},releaseDate:"2025-12-15",family:"kimi"},"meta-llama/Llama-3.3-70B-Instruct":{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama-3.3-70B-Instruct",contextWindow:128000,maxTokens:8192,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.13,output:0.4,cacheRead:0.013,cacheWrite:0.16},releaseDate:"2025-12-05"},"nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B":{id:"nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B",name:"Nemotron-3-Nano-30B-A3B",contextWindow:32000,maxTokens:4096,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.06,output:0.24,cacheRead:0.006,cacheWrite:0.075},releaseDate:"2025-08-10"},"Qwen/Qwen3-235B-A22B-Instruct-2507":{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B A22B Instruct 2507",contextWindow:262144,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25",family:"qwen"},"Qwen/Qwen3-235B-A22B-Thinking-2507-fast":{id:"Qwen/Qwen3-235B-A22B-Thinking-2507-fast",name:"Qwen3-235B-A22B-Thinking-2507-fast",contextWindow:8000,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.5,output:2,cacheRead:0.05,cacheWrite:0.625},releaseDate:"2025-07-25"},"Qwen/Qwen3-Next-80B-A3B-Thinking-fast":{id:"Qwen/Qwen3-Next-80B-A3B-Thinking-fast",name:"Qwen3-Next-80B-A3B-Thinking-fast",contextWindow:8000,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.15,output:1.2,cacheRead:0.015,cacheWrite:0.1875},releaseDate:"2025-07-25"},"Qwen/Qwen3.5-397B-A17B":{id:"Qwen/Qwen3.5-397B-A17B",name:"Qwen3.5-397B-A17B",contextWindow:262144,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.6,output:3.6,cacheRead:0.06,cacheWrite:0.75},releaseDate:"2025-07-15"},"Qwen/Qwen3.5-397B-A17B-fast":{id:"Qwen/Qwen3.5-397B-A17B-fast",name:"Qwen3.5-397B-A17B-fast",contextWindow:8000,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.6,output:3.6,cacheRead:0.06,cacheWrite:0.75},releaseDate:"2025-07-15"},"openai/gpt-oss-120b-fast":{id:"openai/gpt-oss-120b-fast",name:"gpt-oss-120b-fast",contextWindow:8000,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.5,cacheRead:0.01,cacheWrite:0.125},releaseDate:"2025-06-10"},"deepseek-ai/DeepSeek-V3.2-fast":{id:"deepseek-ai/DeepSeek-V3.2-fast",name:"DeepSeek-V3.2-fast",contextWindow:8000,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.4,output:2,cacheRead:0.04,cacheWrite:0.5},releaseDate:"2025-01-27"},"MiniMaxAI/MiniMax-M2.5":{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax-M2.5",contextWindow:196608,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2025-01-20"},"MiniMaxAI/MiniMax-M2.5-fast":{id:"MiniMaxAI/MiniMax-M2.5-fast",name:"MiniMax-M2.5-fast",contextWindow:8000,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2025-01-20"},"nvidia/Nemotron-3-Nano-Omni":{id:"nvidia/Nemotron-3-Nano-Omni",name:"Nemotron-3-Nano-Omni",contextWindow:65536,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.06,output:0.24,cacheRead:0.006,cacheWrite:0.075},releaseDate:"2025-01-20"},"Qwen/Qwen2.5-VL-72B-Instruct":{id:"Qwen/Qwen2.5-VL-72B-Instruct",name:"Qwen2.5-VL-72B-Instruct",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.25,output:0.75,cacheRead:0.025,cacheWrite:0.31},releaseDate:"2025-01-20"},"nvidia/Llama-3_1-Nemotron-Ultra-253B-v1":{id:"nvidia/Llama-3_1-Nemotron-Ultra-253B-v1",name:"Llama-3.1-Nemotron-Ultra-253B-v1",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.6,output:1.8,cacheRead:0.06,cacheWrite:0.75},releaseDate:"2025-01-15"},"meta-llama/Meta-Llama-3.1-8B-Instruct":{id:"meta-llama/Meta-Llama-3.1-8B-Instruct",name:"Meta-Llama-3.1-8B-Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.02,output:0.06,cacheRead:0.002,cacheWrite:0.025},releaseDate:"2024-07-23"}},ollama:{"deepseek-v4-flash":{id:"deepseek-v4-flash",name:"deepseek-v4-flash",contextWindow:1048576,maxTokens:52428,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek-flash"},"deepseek-v4-pro":{id:"deepseek-v4-pro",name:"deepseek-v4-pro",contextWindow:1048576,maxTokens:52428,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek-thinking"},"kimi-k2.6:cloud":{id:"kimi-k2.6:cloud",name:"kimi-k2.6:cloud",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-20",family:"kimi"},"gemma4:31b":{id:"gemma4:31b",name:"gemma4:31b",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-02",family:"gemma"},"glm-5.1":{id:"glm-5.1",name:"glm-5.1",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-27",family:"glm"},"minimax-m2.7":{id:"minimax-m2.7",name:"minimax-m2.7",contextWindow:196608,maxTokens:9830,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-18",family:"minimax"},"nemotron-3-super":{id:"nemotron-3-super",name:"nemotron-3-super",contextWindow:262144,maxTokens:65536,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11",family:"nemotron"},"qwen3.5:397b":{id:"qwen3.5:397b",name:"qwen3.5:397b",contextWindow:262144,maxTokens:65536,capabilities:["images","tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-15",family:"qwen"},"minimax-m2.5":{id:"minimax-m2.5",name:"minimax-m2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12",family:"minimax"},"glm-5":{id:"glm-5",name:"glm-5",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-11",family:"glm"},"qwen3-coder-next":{id:"qwen3-coder-next",name:"qwen3-coder-next",contextWindow:262144,maxTokens:65536,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-02",family:"qwen"},"kimi-k2.5":{id:"kimi-k2.5",name:"kimi-k2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-27",family:"kimi"},"minimax-m2.1":{id:"minimax-m2.1",name:"minimax-m2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23",family:"minimax"},"glm-4.7":{id:"glm-4.7",name:"glm-4.7",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-22",family:"glm"},"gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"gemini-3-flash-preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-17",family:"gemini-flash"},"nemotron-3-nano:30b":{id:"nemotron-3-nano:30b",name:"nemotron-3-nano:30b",contextWindow:1048576,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-15",family:"nemotron"},"devstral-2:123b":{id:"devstral-2:123b",name:"devstral-2:123b",contextWindow:262144,maxTokens:13107,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-09",family:"devstral"},"devstral-small-2:24b":{id:"devstral-small-2:24b",name:"devstral-small-2:24b",contextWindow:262144,maxTokens:13107,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-09",family:"devstral"},"rnj-1:8b":{id:"rnj-1:8b",name:"rnj-1:8b",contextWindow:32768,maxTokens:4096,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-06",family:"rnj"},"mistral-large-3:675b":{id:"mistral-large-3:675b",name:"mistral-large-3:675b",contextWindow:262144,maxTokens:13107,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-02",family:"mistral-large"},"cogito-2.1:671b":{id:"cogito-2.1:671b",name:"cogito-2.1:671b",contextWindow:163840,maxTokens:32000,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-19",family:"cogito"},"kimi-k2-thinking":{id:"kimi-k2-thinking",name:"kimi-k2-thinking",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-06",family:"kimi-thinking"},"minimax-m2":{id:"minimax-m2",name:"minimax-m2",contextWindow:204800,maxTokens:128000,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-23",family:"minimax"},"glm-4.6":{id:"glm-4.6",name:"glm-4.6",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-29",family:"glm"},"qwen3-vl:235b":{id:"qwen3-vl:235b",name:"qwen3-vl:235b",contextWindow:262144,maxTokens:32768,capabilities:["images","tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-22",family:"qwen"},"qwen3-vl:235b-instruct":{id:"qwen3-vl:235b-instruct",name:"qwen3-vl:235b-instruct",contextWindow:262144,maxTokens:131072,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-22",family:"qwen"},"qwen3-next:80b":{id:"qwen3-next:80b",name:"qwen3-next:80b",contextWindow:262144,maxTokens:32768,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-15",family:"qwen"},"deepseek-v3.1:671b":{id:"deepseek-v3.1:671b",name:"deepseek-v3.1:671b",contextWindow:163840,maxTokens:8192,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21",family:"deepseek"},"gpt-oss:120b":{id:"gpt-oss:120b",name:"gpt-oss:120b",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"gpt-oss:20b":{id:"gpt-oss:20b",name:"gpt-oss:20b",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"qwen3-coder:480b":{id:"qwen3-coder:480b",name:"qwen3-coder:480b",contextWindow:262144,maxTokens:65536,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-22",family:"qwen"},"kimi-k2:1t":{id:"kimi-k2:1t",name:"kimi-k2:1t",contextWindow:262144,maxTokens:13107,capabilities:["tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-11",family:"kimi"},"deepseek-v3.2":{id:"deepseek-v3.2",name:"deepseek-v3.2",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-15",family:"deepseek"},"ministral-3:14b":{id:"ministral-3:14b",name:"ministral-3:14b",contextWindow:262144,maxTokens:128000,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"ministral"},"ministral-3:8b":{id:"ministral-3:8b",name:"ministral-3:8b",contextWindow:262144,maxTokens:128000,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-01",family:"ministral"},"ministral-3:3b":{id:"ministral-3:3b",name:"ministral-3:3b",contextWindow:262144,maxTokens:128000,capabilities:["images","tools"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-10-22",family:"ministral"}},"openai-native":{"gpt-5.5":{id:"gpt-5.5",name:"GPT-5.5",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:5,output:30,cacheRead:0.5,cacheWrite:0},releaseDate:"2026-04-23",family:"gpt"},"gpt-5.5-pro":{id:"gpt-5.5-pro",name:"GPT-5.5 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output"],pricing:{input:30,output:180,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-23",family:"gpt-pro"},"gpt-5.4-mini":{id:"gpt-5.4-mini",name:"GPT-5.4 mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2026-03-17",family:"gpt-mini"},"gpt-5.4-nano":{id:"gpt-5.4-nano",name:"GPT-5.4 nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.2,output:1.25,cacheRead:0.02,cacheWrite:0},releaseDate:"2026-03-17",family:"gpt-nano"},"gpt-5.4":{id:"gpt-5.4",name:"GPT-5.4",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},releaseDate:"2026-03-05",family:"gpt"},"gpt-5.4-pro":{id:"gpt-5.4-pro",name:"GPT-5.4 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","tools","reasoning"],pricing:{input:30,output:180,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-05",family:"gpt-pro"},"gpt-5.3-chat-latest":{id:"gpt-5.3-chat-latest",name:"GPT-5.3 Chat (latest)",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-03-03",family:"gpt"},"gpt-5.3-codex":{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-05",family:"gpt-codex"},"gpt-5.3-codex-spark":{id:"gpt-5.3-codex-spark",name:"GPT-5.3 Codex Spark",contextWindow:128000,maxTokens:32000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-05",family:"gpt-codex-spark"},"gpt-5.2":{id:"gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt"},"gpt-5.2-chat-latest":{id:"gpt-5.2-chat-latest",name:"GPT-5.2 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt-codex"},"gpt-5.2-codex":{id:"gpt-5.2-codex",name:"GPT-5.2 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt-codex"},"gpt-5.2-pro":{id:"gpt-5.2-pro",name:"GPT-5.2 Pro",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning"],pricing:{input:21,output:168,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt-pro"},"gpt-5.1":{id:"gpt-5.1",name:"GPT-5.1",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt"},"gpt-5.1-chat-latest":{id:"gpt-5.1-chat-latest",name:"GPT-5.1 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"gpt-5.1-codex":{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"gpt-5.1-codex-max":{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"gpt-5.1-codex-mini":{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"gpt-5-pro":{id:"gpt-5-pro",name:"GPT-5 Pro",contextWindow:400000,maxTokens:272000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:15,output:120,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-06",family:"gpt-pro"},"gpt-5-codex":{id:"gpt-5-codex",name:"GPT-5-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-09-15",family:"gpt-codex"},"gpt-5":{id:"gpt-5",name:"GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"gpt-5-mini":{id:"gpt-5-mini",name:"GPT-5 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt-mini"},"gpt-5-nano":{id:"gpt-5-nano",name:"GPT-5 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.05,output:0.4,cacheRead:0.005,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt-nano"},"o3-pro":{id:"o3-pro",name:"o3-pro",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:20,output:80,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-10",family:"o-pro"},o3:{id:"o3",name:"o3",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-16",family:"o"},"o4-mini":{id:"o4-mini",name:"o4-mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-04-16",family:"o-mini"},"gpt-4.1":{id:"gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt"},"gpt-4.1-mini":{id:"gpt-4.1-mini",name:"GPT-4.1 mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt-mini"},"gpt-4.1-nano":{id:"gpt-4.1-nano",name:"GPT-4.1 nano",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt-nano"},"o1-pro":{id:"o1-pro",name:"o1-pro",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:150,output:600,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-19",family:"o-pro"},"o3-mini":{id:"o3-mini",name:"o3-mini",contextWindow:200000,maxTokens:1e5,capabilities:["tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.55,cacheWrite:0},releaseDate:"2024-12-20",family:"o-mini"},o1:{id:"o1",name:"o1",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:15,output:60,cacheRead:7.5,cacheWrite:0},releaseDate:"2024-12-05",family:"o"},"gpt-4o-2024-11-20":{id:"gpt-4o-2024-11-20",name:"GPT-4o (2024-11-20)",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-11-20",family:"gpt"},"gpt-4o-2024-08-06":{id:"gpt-4o-2024-08-06",name:"GPT-4o (2024-08-06)",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-08-06",family:"gpt"},"gpt-4o-mini":{id:"gpt-4o-mini",name:"GPT-4o mini",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.15,output:0.6,cacheRead:0.08,cacheWrite:0},releaseDate:"2024-07-18",family:"gpt-mini"},"o3-deep-research":{id:"o3-deep-research",name:"o3-deep-research",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:10,output:40,cacheRead:2.5,cacheWrite:0},releaseDate:"2024-06-26",family:"o"},"o4-mini-deep-research":{id:"o4-mini-deep-research",name:"o4-mini-deep-research",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2024-06-26",family:"o-mini"},"gpt-4o":{id:"gpt-4o",name:"GPT-4o",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-05-13",family:"gpt"},"gpt-4o-2024-05-13":{id:"gpt-4o-2024-05-13",name:"GPT-4o (2024-05-13)",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","structured_output","temperature"],pricing:{input:5,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2024-05-13",family:"gpt"},"gpt-4":{id:"gpt-4",name:"GPT-4",contextWindow:8192,maxTokens:409,capabilities:["tools","temperature"],pricing:{input:30,output:60,cacheRead:0,cacheWrite:0},releaseDate:"2023-11-06",family:"gpt"},"gpt-4-turbo":{id:"gpt-4-turbo",name:"GPT-4 Turbo",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:10,output:30,cacheRead:0,cacheWrite:0},releaseDate:"2023-11-06",family:"gpt"}},openrouter:{"x-ai/grok-4.3":{id:"x-ai/grok-4.3",name:"Grok 4.3",contextWindow:1e6,maxTokens:50000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:2.5,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-05-01",family:"grok"},"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free":{id:"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free",name:"Nemotron 3 Nano Omni (free)",contextWindow:256000,maxTokens:65536,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-28",family:"nemotron"},"openrouter/owl-alpha":{id:"openrouter/owl-alpha",name:"Owl Alpha",contextWindow:1048756,maxTokens:262144,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-28"},"poolside/laguna-m.1:free":{id:"poolside/laguna-m.1:free",name:"Laguna M.1",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-28"},"poolside/laguna-xs.2:free":{id:"poolside/laguna-xs.2:free",name:"Laguna XS.2",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-28"},"deepseek/deepseek-v4-flash":{id:"deepseek/deepseek-v4-flash",name:"DeepSeek V4 Flash",contextWindow:1048576,maxTokens:393216,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.14,output:0.28,cacheRead:0.028,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek-flash"},"deepseek/deepseek-v4-pro":{id:"deepseek/deepseek-v4-pro",name:"DeepSeek V4 Pro",contextWindow:1048576,maxTokens:393216,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.74,output:3.48,cacheRead:0.145,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek-thinking"},"openai/gpt-5.5":{id:"openai/gpt-5.5",name:"GPT-5.5",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:5,output:30,cacheRead:0.5,cacheWrite:0},releaseDate:"2026-04-23",family:"gpt"},"openai/gpt-5.5-pro":{id:"openai/gpt-5.5-pro",name:"GPT-5.5 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output"],pricing:{input:30,output:180,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-23",family:"gpt-pro"},"qwen/qwen-3.6-27b":{id:"qwen/qwen-3.6-27b",name:"Qwen3.6 27B",contextWindow:262144,maxTokens:81920,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.195,output:1.56,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-22",family:"qwen"},"xiaomi/mimo-v2.5":{id:"xiaomi/mimo-v2.5",name:"Xiaomi: MiMo-V2.5",contextWindow:1048576,maxTokens:131072,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.4,output:2,cacheRead:0.08,cacheWrite:0},releaseDate:"2026-04-22",family:"mimo"},"xiaomi/mimo-v2.5-pro":{id:"xiaomi/mimo-v2.5-pro",name:"Xiaomi: MiMo-V2.5-Pro",contextWindow:1048576,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-04-22",family:"mimo"},"openrouter/pareto-code":{id:"openrouter/pareto-code",name:"Pareto Code Router",contextWindow:200000,maxTokens:1e4,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-21"},"moonshotai/kimi-k2.6":{id:"moonshotai/kimi-k2.6",name:"Kimi K2.6",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.95,output:4,cacheRead:0.16,cacheWrite:0},releaseDate:"2026-04-20",family:"kimi"},"tencent/hy3-preview":{id:"tencent/hy3-preview",name:"Hy3 preview",contextWindow:256000,maxTokens:64000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.066,output:0.26,cacheRead:0.029,cacheWrite:0.029},releaseDate:"2026-04-20",family:"Hy"},"anthropic/claude-opus-4.7":{id:"anthropic/claude-opus-4.7",name:"Claude Opus 4.7",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-04-16",family:"claude-opus"},"openrouter/elephant-alpha":{id:"openrouter/elephant-alpha",name:"Elephant (free)",contextWindow:262144,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-13",family:"elephant"},"z-ai/glm-5.1":{id:"z-ai/glm-5.1",name:"GLM-5.1",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.4,output:4.4,cacheRead:0.26,cacheWrite:0},releaseDate:"2026-04-07",family:"glm"},"google/gemma-4-26b-a4b-it":{id:"google/gemma-4-26b-a4b-it",name:"Gemma 4 26B A4B",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.13,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-03",family:"gemma"},"google/gemma-4-26b-a4b-it:free":{id:"google/gemma-4-26b-a4b-it:free",name:"Gemma 4 26B A4B (free)",contextWindow:262144,maxTokens:32768,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-03",family:"gemma"},"google/gemma-4-31b-it":{id:"google/gemma-4-31b-it",name:"Gemma 4 31B",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.14,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-02",family:"gemma"},"google/gemma-4-31b-it:free":{id:"google/gemma-4-31b-it:free",name:"Gemma 4 31B (free)",contextWindow:262144,maxTokens:32768,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-02",family:"gemma"},"qwen/qwen3.6-plus":{id:"qwen/qwen3.6-plus",name:"Qwen3.6 Plus",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.325,output:1.95,cacheRead:0.0325,cacheWrite:0.40625},releaseDate:"2026-04-02",family:"qwen"},"arcee-ai/trinity-large-thinking":{id:"arcee-ai/trinity-large-thinking",name:"Trinity Large Thinking",contextWindow:262144,maxTokens:80000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.22,output:0.85,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-01",family:"trinity"},"minimax/minimax-m2.7":{id:"minimax/minimax-m2.7",name:"MiniMax M2.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-03-18",family:"minimax"},"xiaomi/mimo-v2-omni":{id:"xiaomi/mimo-v2-omni",name:"Xiaomi: MiMo-V2-Omni",contextWindow:262144,maxTokens:131072,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.4,output:2,cacheRead:0.08,cacheWrite:0},releaseDate:"2026-03-18",family:"mimo"},"xiaomi/mimo-v2-pro":{id:"xiaomi/mimo-v2-pro",name:"Xiaomi: MiMo-V2-Pro",contextWindow:1048576,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-18",family:"mimo"},"openai/gpt-5.4-mini":{id:"openai/gpt-5.4-mini",name:"GPT-5.4 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2026-03-17",family:"gpt-mini"},"openai/gpt-5.4-nano":{id:"openai/gpt-5.4-nano",name:"GPT-5.4 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.2,output:1.25,cacheRead:0.02,cacheWrite:0},releaseDate:"2026-03-17",family:"gpt-nano"},"mistralai/mistral-small-2603":{id:"mistralai/mistral-small-2603",name:"Mistral Small 4",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-16",family:"mistral-small"},"z-ai/glm-5-turbo":{id:"z-ai/glm-5-turbo",name:"GLM-5-Turbo",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.96,output:3.2,cacheRead:0.192,cacheWrite:0},releaseDate:"2026-03-16",family:"glm"},"x-ai/grok-4.20-beta":{id:"x-ai/grok-4.20-beta",name:"Grok 4.20 Beta",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-12",family:"grok"},"nvidia/nemotron-3-super-120b-a12b":{id:"nvidia/nemotron-3-super-120b-a12b",name:"Nemotron 3 Super",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.5,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11",family:"nemotron"},"nvidia/nemotron-3-super-120b-a12b:free":{id:"nvidia/nemotron-3-super-120b-a12b:free",name:"Nemotron 3 Super (free)",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11",family:"nemotron"},"openai/gpt-5.4":{id:"openai/gpt-5.4",name:"GPT-5.4",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},releaseDate:"2026-03-05",family:"gpt"},"openai/gpt-5.4-pro":{id:"openai/gpt-5.4-pro",name:"GPT-5.4 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:30,output:180,cacheRead:30,cacheWrite:0},releaseDate:"2026-03-05",family:"gpt-pro"},"inception/mercury-2":{id:"inception/mercury-2",name:"Mercury 2",contextWindow:128000,maxTokens:50000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.25,output:0.75,cacheRead:0.025,cacheWrite:0},releaseDate:"2026-03-04",family:"mercury"},"google/gemini-3.1-flash-lite-preview":{id:"google/gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.25,output:1.5,cacheRead:0.025,cacheWrite:0.083},releaseDate:"2026-03-03",family:"gemini-flash-lite"},"qwen/qwen3.5-flash-02-23":{id:"qwen/qwen3.5-flash-02-23",name:"Qwen: Qwen3.5-Flash",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.065,output:0.26,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-25",family:"qwen"},"openai/gpt-5.3-codex":{id:"openai/gpt-5.3-codex",name:"GPT-5.3-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-24",family:"gpt-codex"},"google/gemini-3.1-pro-preview":{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:2,output:12,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-19",family:"gemini-pro"},"google/gemini-3.1-pro-preview-customtools":{id:"google/gemini-3.1-pro-preview-customtools",name:"Gemini 3.1 Pro Preview Custom Tools",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:2,output:12,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-19",family:"gemini-pro"},"anthropic/claude-sonnet-4.6":{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"qwen/qwen3.5-397b-a17b":{id:"qwen/qwen3.5-397b-a17b",name:"Qwen3.5 397B A17B",contextWindow:262144,maxTokens:65536,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:3.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-16",family:"qwen"},"qwen/qwen3.5-plus-02-15":{id:"qwen/qwen3.5-plus-02-15",name:"Qwen3.5 Plus 2026-02-15",contextWindow:1e6,maxTokens:65536,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.4,output:2.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-16",family:"qwen"},"minimax/minimax-m2.5":{id:"minimax/minimax-m2.5",name:"MiniMax M2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0},releaseDate:"2026-02-12",family:"minimax"},"minimax/minimax-m2.5:free":{id:"minimax/minimax-m2.5:free",name:"MiniMax M2.5 (free)",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12",family:"minimax"},"z-ai/glm-5":{id:"z-ai/glm-5",name:"GLM-5",contextWindow:202752,maxTokens:131000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-12",family:"glm"},"anthropic/claude-opus-4.6":{id:"anthropic/claude-opus-4.6",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"openrouter/free":{id:"openrouter/free",name:"Free Models Router",contextWindow:200000,maxTokens:8000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-01"},"stepfun/step-3.5-flash":{id:"stepfun/step-3.5-flash",name:"Step 3.5 Flash",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1,output:0.3,cacheRead:0.02,cacheWrite:0},releaseDate:"2026-01-29",family:"step"},"arcee-ai/trinity-large-preview:free":{id:"arcee-ai/trinity-large-preview:free",name:"Trinity Large Preview",contextWindow:131072,maxTokens:6553,capabilities:["tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-28",family:"trinity"},"moonshotai/kimi-k2.5":{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.6,output:3,cacheRead:0.1,cacheWrite:0},releaseDate:"2026-01-27",family:"kimi"},"z-ai/glm-4.7-flash":{id:"z-ai/glm-4.7-flash",name:"GLM-4.7-Flash",contextWindow:200000,maxTokens:65535,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.07,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-19",family:"glm"},"openai/gpt-5.2-codex":{id:"openai/gpt-5.2-codex",name:"GPT-5.2-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-01-14",family:"gpt-codex"},"minimax/minimax-m2.1":{id:"minimax/minimax-m2.1",name:"MiniMax M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-23",family:"minimax"},"z-ai/glm-4.7":{id:"z-ai/glm-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-12-22",family:"glm"},"google/gemini-3-flash-preview":{id:"google/gemini-3-flash-preview",name:"Gemini 3 Flash Preview",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-12-17",family:"gemini-flash"},"xiaomi/mimo-v2-flash":{id:"xiaomi/mimo-v2-flash",name:"Xiaomi: MiMo-V2-Flash",contextWindow:262144,maxTokens:65536,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-12-16",family:"mimo"},"nvidia/nemotron-3-nano-30b-a3b:free":{id:"nvidia/nemotron-3-nano-30b-a3b:free",name:"Nemotron 3 Nano 30B A3B (free)",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-14",family:"nemotron"},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt"},"openai/gpt-5.2-chat":{id:"openai/gpt-5.2-chat",name:"GPT-5.2 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt-codex"},"openai/gpt-5.2-pro":{id:"openai/gpt-5.2-pro",name:"GPT-5.2 Pro",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:21,output:168,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt-pro"},"deepseek/deepseek-v3.2":{id:"deepseek/deepseek-v3.2",name:"DeepSeek V3.2",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.28,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-01",family:"deepseek"},"deepseek/deepseek-v3.2-speciale":{id:"deepseek/deepseek-v3.2-speciale",name:"DeepSeek V3.2 Speciale",contextWindow:163840,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.27,output:0.41,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-01",family:"deepseek"},"anthropic/claude-opus-4.5":{id:"anthropic/claude-opus-4.5",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24",family:"claude-opus"},"x-ai/grok-4.1-fast":{id:"x-ai/grok-4.1-fast",name:"Grok 4.1 Fast",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0.05},releaseDate:"2025-11-19",family:"grok"},"google/gemini-3-pro-preview":{id:"google/gemini-3-pro-preview",name:"Gemini 3 Pro Preview",contextWindow:1050000,maxTokens:66000,capabilities:["images","files","tools","reasoning","structured_output","temperature"],pricing:{input:2,output:12,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-18",family:"gemini-pro"},"openai/gpt-5.1":{id:"openai/gpt-5.1",name:"GPT-5.1",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt"},"openai/gpt-5.1-chat":{id:"openai/gpt-5.1-chat",name:"GPT-5.1 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"openai/gpt-5.1-codex":{id:"openai/gpt-5.1-codex",name:"GPT-5.1-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"openai/gpt-5.1-codex-max":{id:"openai/gpt-5.1-codex-max",name:"GPT-5.1-Codex-Max",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.1,output:9,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"openai/gpt-5.1-codex-mini":{id:"openai/gpt-5.1-codex-mini",name:"GPT-5.1-Codex-Mini",contextWindow:400000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"moonshotai/kimi-k2-thinking":{id:"moonshotai/kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.6,output:2.5,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06",family:"kimi-thinking"},"openai/gpt-oss-safeguard-20b":{id:"openai/gpt-oss-safeguard-20b",name:"GPT OSS Safeguard 20B",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-29",family:"gpt-oss"},"nvidia/nemotron-nano-12b-v2-vl:free":{id:"nvidia/nemotron-nano-12b-v2-vl:free",name:"Nemotron Nano 12B 2 VL (free)",contextWindow:128000,maxTokens:6400,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-28",family:"nemotron"},"minimax/minimax-m2":{id:"minimax/minimax-m2",name:"MiniMax M2",contextWindow:196600,maxTokens:118000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.28,output:1.15,cacheRead:0.28,cacheWrite:1.15},releaseDate:"2025-10-23",family:"minimax"},"anthropic/claude-haiku-4.5":{id:"anthropic/claude-haiku-4.5",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"openai/gpt-5-image":{id:"openai/gpt-5-image",name:"GPT-5 Image",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-10-14",family:"gpt"},"openai/gpt-5-pro":{id:"openai/gpt-5-pro",name:"GPT-5 Pro",contextWindow:400000,maxTokens:272000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:15,output:120,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-06",family:"gpt-pro"},"z-ai/glm-4.6":{id:"z-ai/glm-4.6",name:"GLM 4.6",contextWindow:200000,maxTokens:128000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-09-30",family:"glm"},"z-ai/glm-4.6:exacto":{id:"z-ai/glm-4.6:exacto",name:"GLM 4.6 (exacto)",contextWindow:200000,maxTokens:128000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.6,output:1.9,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-09-30",family:"glm"},"anthropic/claude-sonnet-4.5":{id:"anthropic/claude-sonnet-4.5",name:"Claude Sonnet 4.5",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"google/gemini-2.5-flash-lite-preview-09-2025":{id:"google/gemini-2.5-flash-lite-preview-09-2025",name:"Gemini 2.5 Flash Lite Preview 09-25",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-09-25",family:"gemini-flash-lite"},"google/gemini-2.5-flash-preview-09-2025":{id:"google/gemini-2.5-flash-preview-09-2025",name:"Gemini 2.5 Flash Preview 09-25",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.031,cacheWrite:0},releaseDate:"2025-09-25",family:"gemini-flash"},"qwen/qwen3-coder-plus":{id:"qwen/qwen3-coder-plus",name:"Qwen3 Coder Plus",contextWindow:1e6,maxTokens:65536,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:0.65,output:3.25,cacheRead:0.13,cacheWrite:0.8125},releaseDate:"2025-09-23",family:"qwen"},"deepseek/deepseek-v3.1-terminus":{id:"deepseek/deepseek-v3.1-terminus",name:"DeepSeek V3.1 Terminus",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.27,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-22",family:"deepseek"},"deepseek/deepseek-v3.1-terminus:exacto":{id:"deepseek/deepseek-v3.1-terminus:exacto",name:"DeepSeek V3.1 Terminus (exacto)",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.27,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-22",family:"deepseek"},"openai/gpt-5-codex":{id:"openai/gpt-5-codex",name:"GPT-5 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-09-15",family:"gpt-codex"},"mistralai/devstral-2512":{id:"mistralai/devstral-2512",name:"Devstral 2 2512",contextWindow:262144,maxTokens:13107,capabilities:["tools","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-12",family:"devstral"},"qwen/qwen3-next-80b-a3b-instruct":{id:"qwen/qwen3-next-80b-a3b-instruct",name:"Qwen3 Next 80B A3B Instruct",contextWindow:262144,maxTokens:13107,capabilities:["tools","structured_output","temperature"],pricing:{input:0.14,output:1.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11",family:"qwen"},"qwen/qwen3-next-80b-a3b-thinking":{id:"qwen/qwen3-next-80b-a3b-thinking",name:"Qwen3 Next 80B A3B Thinking",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.14,output:1.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-11",family:"qwen"},"moonshotai/kimi-k2-0905":{id:"moonshotai/kimi-k2-0905",name:"Kimi K2 Instruct 0905",contextWindow:262144,maxTokens:16384,capabilities:["tools","structured_output","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05",family:"kimi"},"moonshotai/kimi-k2-0905:exacto":{id:"moonshotai/kimi-k2-0905:exacto",name:"Kimi K2 Instruct 0905 (exacto)",contextWindow:262144,maxTokens:16384,capabilities:["tools","structured_output","temperature"],pricing:{input:0.6,output:2.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05",family:"kimi"},"nvidia/nemotron-nano-9b-v2:free":{id:"nvidia/nemotron-nano-9b-v2:free",name:"Nemotron Nano 9B V2 (free)",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05",family:"nemotron"},"qwen/qwen3-max":{id:"qwen/qwen3-max",name:"Qwen3 Max",contextWindow:262144,maxTokens:32768,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1.2,output:6,cacheRead:0.156,cacheWrite:0.975},releaseDate:"2025-09-05",family:"qwen"},"x-ai/grok-code-fast-1":{id:"x-ai/grok-code-fast-1",name:"Grok Code Fast 1",contextWindow:256000,maxTokens:1e4,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.2,output:1.5,cacheRead:0.02,cacheWrite:0},releaseDate:"2025-08-26",family:"grok"},"nousresearch/hermes-4-405b":{id:"nousresearch/hermes-4-405b",name:"Hermes 4 405B",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:1,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-25",family:"hermes"},"nousresearch/hermes-4-70b":{id:"nousresearch/hermes-4-70b",name:"Hermes 4 70B",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.13,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-25",family:"hermes"},"deepseek/deepseek-chat-v3.1":{id:"deepseek/deepseek-chat-v3.1",name:"DeepSeek-V3.1",contextWindow:163840,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21",family:"deepseek"},"x-ai/grok-4-fast":{id:"x-ai/grok-4-fast",name:"Grok 4 Fast",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0.05},releaseDate:"2025-08-19",family:"grok"},"nvidia/nemotron-nano-9b-v2":{id:"nvidia/nemotron-nano-9b-v2",name:"nvidia-nemotron-nano-9b-v2",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.04,output:0.16,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-18",family:"nemotron"},"mistralai/mistral-medium-3.1":{id:"mistralai/mistral-medium-3.1",name:"Mistral Medium 3.1",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-12",family:"mistral-medium"},"z-ai/glm-4.5v":{id:"z-ai/glm-4.5v",name:"GLM 4.5V",contextWindow:64000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-11",family:"glm"},"openai/gpt-5":{id:"openai/gpt-5",name:"GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:1.25,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"GPT-5 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.25,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt-mini"},"openai/gpt-5-nano":{id:"openai/gpt-5-nano",name:"GPT-5 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.05,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt-nano"},"anthropic/claude-opus-4.1":{id:"anthropic/claude-opus-4.1",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05",family:"claude-opus"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.072,output:0.28,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"openai/gpt-oss-120b:exacto":{id:"openai/gpt-oss-120b:exacto",name:"GPT OSS 120B (exacto)",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.05,output:0.24,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"openai/gpt-oss-120b:free":{id:"openai/gpt-oss-120b:free",name:"gpt-oss-120b (free)",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.05,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"openai/gpt-oss-20b:free":{id:"openai/gpt-oss-20b:free",name:"gpt-oss-20b (free)",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"mistralai/codestral-2508":{id:"mistralai/codestral-2508",name:"Codestral 2508",contextWindow:256000,maxTokens:12800,capabilities:["tools","structured_output","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-01",family:"codestral"},"qwen/qwen3-coder-30b-a3b-instruct":{id:"qwen/qwen3-coder-30b-a3b-instruct",name:"Qwen3 Coder 30B A3B Instruct",contextWindow:160000,maxTokens:65536,capabilities:["tools","structured_output","temperature"],pricing:{input:0.07,output:0.27,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-31",family:"qwen"},"qwen/qwen3-30b-a3b-instruct-2507":{id:"qwen/qwen3-30b-a3b-instruct-2507",name:"Qwen3 30B A3B Instruct 2507",contextWindow:262000,maxTokens:13100,capabilities:["tools","structured_output","temperature"],pricing:{input:0.2,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-29",family:"qwen"},"qwen/qwen3-30b-a3b-thinking-2507":{id:"qwen/qwen3-30b-a3b-thinking-2507",name:"Qwen3 30B A3B Thinking 2507",contextWindow:262000,maxTokens:13100,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-29",family:"qwen"},"z-ai/glm-4.5":{id:"z-ai/glm-4.5",name:"GLM 4.5",contextWindow:128000,maxTokens:96000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-28",family:"glm"},"z-ai/glm-4.5-air":{id:"z-ai/glm-4.5-air",name:"GLM 4.5 Air",contextWindow:128000,maxTokens:96000,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-28",family:"glm-air"},"qwen/qwen3-235b-a22b-thinking-2507":{id:"qwen/qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking 2507",contextWindow:262144,maxTokens:81920,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.078,output:0.312,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25",family:"qwen"},"qwen/qwen3-coder":{id:"qwen/qwen3-coder",name:"Qwen3 Coder",contextWindow:262144,maxTokens:66536,capabilities:["tools","structured_output","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23",family:"qwen"},"qwen/qwen3-coder-flash":{id:"qwen/qwen3-coder-flash",name:"Qwen3 Coder Flash",contextWindow:128000,maxTokens:66536,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.3,output:1.5,cacheRead:0.039,cacheWrite:0.24375},releaseDate:"2025-07-23",family:"qwen"},"qwen/qwen3-coder:exacto":{id:"qwen/qwen3-coder:exacto",name:"Qwen3 Coder (exacto)",contextWindow:131072,maxTokens:32768,capabilities:["tools","structured_output","temperature"],pricing:{input:0.38,output:1.53,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23",family:"qwen"},"google/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.0375,cacheWrite:0},releaseDate:"2025-07-17",family:"gemini-flash"},"moonshotai/kimi-k2":{id:"moonshotai/kimi-k2",name:"Kimi K2",contextWindow:131072,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.55,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-11",family:"kimi"},"mistralai/devstral-medium-2507":{id:"mistralai/devstral-medium-2507",name:"Devstral Medium",contextWindow:131072,maxTokens:6553,capabilities:["tools","structured_output","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-10",family:"devstral"},"mistralai/devstral-small-2507":{id:"mistralai/devstral-small-2507",name:"Devstral Small 1.1",contextWindow:131072,maxTokens:6553,capabilities:["tools","structured_output","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-10",family:"devstral"},"x-ai/grok-4":{id:"x-ai/grok-4",name:"Grok 4",contextWindow:256000,maxTokens:64000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:15},releaseDate:"2025-07-09",family:"grok"},"mistralai/mistral-small-3.2-24b-instruct":{id:"mistralai/mistral-small-3.2-24b-instruct",name:"Mistral Small 3.2 24B Instruct",contextWindow:96000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-20",family:"mistral-small"},"google/gemini-2.5-flash-lite":{id:"google/gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-06-17",family:"gemini-flash-lite"},"minimax/minimax-m1":{id:"minimax/minimax-m1",name:"MiniMax M1",contextWindow:1e6,maxTokens:40000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.4,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-17",family:"minimax"},"google/gemini-2.5-pro-preview-06-05":{id:"google/gemini-2.5-pro-preview-06-05",name:"Gemini 2.5 Pro Preview 06-05",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-06-05",family:"gemini-pro"},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"mistralai/devstral-small-2505":{id:"mistralai/devstral-small-2505",name:"Devstral Small",contextWindow:128000,maxTokens:6400,capabilities:["tools","temperature"],pricing:{input:0.06,output:0.12,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07",family:"devstral"},"mistralai/mistral-medium-3":{id:"mistralai/mistral-medium-3",name:"Mistral Medium 3",contextWindow:131072,maxTokens:6553,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07",family:"mistral-medium"},"google/gemini-2.5-pro-preview-05-06":{id:"google/gemini-2.5-pro-preview-05-06",name:"Gemini 2.5 Pro Preview 05-06",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:0},releaseDate:"2025-05-06",family:"gemini-pro"},"qwen/qwen3-235b-a22b-07-25":{id:"qwen/qwen3-235b-a22b-07-25",name:"Qwen3 235B A22B Instruct 2507",contextWindow:262144,maxTokens:131072,capabilities:["tools","structured_output","temperature"],pricing:{input:0.15,output:0.85,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-28",family:"qwen"},"openai/o4-mini":{id:"openai/o4-mini",name:"o4 Mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-04-16",family:"o-mini"},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt"},"openai/gpt-4.1-mini":{id:"openai/gpt-4.1-mini",name:"GPT-4.1 Mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt-mini"},"google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-03-20",family:"gemini-pro"},"mistralai/mistral-small-3.1-24b-instruct":{id:"mistralai/mistral-small-3.1-24b-instruct",name:"Mistral Small 3.1 24B Instruct",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-17",family:"mistral-small"},"google/gemma-3-27b-it":{id:"google/gemma-3-27b-it",name:"Gemma 3 27B",contextWindow:96000,maxTokens:4800,capabilities:["images","tools","structured_output","temperature"],pricing:{input:0.04,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-12",family:"gemma"},"google/gemma-3-27b-it:free":{id:"google/gemma-3-27b-it:free",name:"Gemma 3 27B (free)",contextWindow:131072,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-12",family:"gemma"},"anthropic/claude-3.7-sonnet":{id:"anthropic/claude-3.7-sonnet",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-02-19",family:"claude-sonnet"},"x-ai/grok-3":{id:"x-ai/grok-3",name:"Grok 3",contextWindow:131072,maxTokens:8192,capabilities:["tools","structured_output","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:15},releaseDate:"2025-02-17",family:"grok"},"x-ai/grok-3-beta":{id:"x-ai/grok-3-beta",name:"Grok 3 Beta",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:15},releaseDate:"2025-02-17",family:"grok"},"x-ai/grok-3-mini":{id:"x-ai/grok-3-mini",name:"Grok 3 Mini",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0.5},releaseDate:"2025-02-17",family:"grok"},"x-ai/grok-3-mini-beta":{id:"x-ai/grok-3-mini-beta",name:"Grok 3 Mini Beta",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0.5},releaseDate:"2025-02-17",family:"grok"},"qwen/qwen-plus":{id:"qwen/qwen-plus",name:"Qwen: Qwen-Plus",contextWindow:1e6,maxTokens:32768,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.26,output:0.78,cacheRead:0.052,cacheWrite:0.325},releaseDate:"2025-01-25",family:"qwen"},"deepseek/deepseek-r1":{id:"deepseek/deepseek-r1",name:"DeepSeek: R1",contextWindow:64000,maxTokens:16000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.7,output:2.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-20",family:"deepseek-thinking"},"minimax/minimax-01":{id:"minimax/minimax-01",name:"MiniMax-01",contextWindow:1e6,maxTokens:50000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-15",family:"minimax"},"prime-intellect/intellect-3":{id:"prime-intellect/intellect-3",name:"Intellect 3",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-15",family:"glm"},"google/gemini-2.0-flash-001":{id:"google/gemini-2.0-flash-001",name:"Gemini 2.0 Flash",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2024-12-11",family:"gemini-flash"},"meta-llama/llama-3.3-70b-instruct:free":{id:"meta-llama/llama-3.3-70b-instruct:free",name:"Llama 3.3 70B Instruct (free)",contextWindow:131072,maxTokens:6553,capabilities:["tools","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06",family:"llama"},"anthropic/claude-3.5-haiku":{id:"anthropic/claude-3.5-haiku",name:"Claude Haiku 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22",family:"claude-haiku"},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"GPT-4o-mini",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.15,output:0.6,cacheRead:0.08,cacheWrite:0},releaseDate:"2024-07-18",family:"gpt-mini"}},requesty:{"openai/gpt-5.4":{id:"openai/gpt-5.4",name:"GPT-5.4",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},releaseDate:"2026-03-05",family:"gpt"},"openai/gpt-5.4-pro":{id:"openai/gpt-5.4-pro",name:"GPT-5.4 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:30,output:180,cacheRead:30,cacheWrite:0},releaseDate:"2026-03-05",family:"gpt-pro"},"openai/gpt-5.3-codex":{id:"openai/gpt-5.3-codex",name:"GPT-5.3-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-24",family:"gpt-codex"},"anthropic/claude-sonnet-4-6":{id:"anthropic/claude-sonnet-4-6",name:"Claude Sonnet 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"anthropic/claude-opus-4-6":{id:"anthropic/claude-opus-4-6",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"openai/gpt-5.2-codex":{id:"openai/gpt-5.2-codex",name:"GPT-5.2-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-01-14",family:"gpt-codex"},"google/gemini-3-flash-preview":{id:"google/gemini-3-flash-preview",name:"Gemini 3 Flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:1},releaseDate:"2025-12-17"},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt"},"openai/gpt-5.2-chat":{id:"openai/gpt-5.2-chat",name:"GPT-5.2 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt-codex"},"openai/gpt-5.2-pro":{id:"openai/gpt-5.2-pro",name:"GPT-5.2 Pro",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:21,output:168,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-11",family:"gpt-pro"},"anthropic/claude-opus-4-5":{id:"anthropic/claude-opus-4-5",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24",family:"claude-opus"},"google/gemini-3-pro-preview":{id:"google/gemini-3-pro-preview",name:"Gemini 3 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:4.5},releaseDate:"2025-11-18",family:"gemini-pro"},"openai/gpt-5.1":{id:"openai/gpt-5.1",name:"GPT-5.1",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt"},"openai/gpt-5.1-chat":{id:"openai/gpt-5.1-chat",name:"GPT-5.1 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"openai/gpt-5.1-codex":{id:"openai/gpt-5.1-codex",name:"GPT-5.1-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"openai/gpt-5.1-codex-max":{id:"openai/gpt-5.1-codex-max",name:"GPT-5.1-Codex-Max",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.1,output:9,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"openai/gpt-5.1-codex-mini":{id:"openai/gpt-5.1-codex-mini",name:"GPT-5.1-Codex-Mini",contextWindow:400000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-11-13",family:"gpt-codex"},"anthropic/claude-haiku-4-5":{id:"anthropic/claude-haiku-4-5",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:62000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"openai/gpt-5-image":{id:"openai/gpt-5-image",name:"GPT-5 Image",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-10-14",family:"gpt"},"openai/gpt-5-pro":{id:"openai/gpt-5-pro",name:"GPT-5 Pro",contextWindow:400000,maxTokens:272000,capabilities:["images","tools","reasoning","structured_output"],pricing:{input:15,output:120,cacheRead:0,cacheWrite:0},releaseDate:"2025-10-06",family:"gpt-pro"},"anthropic/claude-sonnet-4-5":{id:"anthropic/claude-sonnet-4-5",name:"Claude Sonnet 4.5",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"xai/grok-4-fast":{id:"xai/grok-4-fast",name:"Grok 4 Fast",contextWindow:2000000,maxTokens:64000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0.2},releaseDate:"2025-09-19",family:"grok"},"openai/gpt-5-codex":{id:"openai/gpt-5-codex",name:"GPT-5 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-09-15",family:"gpt-codex"},"xai/grok-4":{id:"xai/grok-4",name:"Grok 4",contextWindow:256000,maxTokens:64000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:3},releaseDate:"2025-09-09",family:"grok"},"openai/gpt-5":{id:"openai/gpt-5",name:"GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"GPT-5 Mini",contextWindow:128000,maxTokens:32000,capabilities:["images","tools","reasoning","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt-mini"},"openai/gpt-5-nano":{id:"openai/gpt-5-nano",name:"GPT-5 Nano",contextWindow:16000,maxTokens:4000,capabilities:["tools","reasoning","prompt-cache"],pricing:{input:0.05,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt-nano"},"anthropic/claude-opus-4-1":{id:"anthropic/claude-opus-4-1",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05",family:"claude-opus"},"google/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.075,cacheWrite:0.55},releaseDate:"2025-06-17",family:"gemini-flash"},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"openai/o4-mini":{id:"openai/o4-mini",name:"o4 Mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-04-16",family:"o-mini"},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt"},"openai/gpt-4.1-mini":{id:"openai/gpt-4.1-mini",name:"GPT-4.1 Mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt-mini"},"google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.31,cacheWrite:2.375},releaseDate:"2025-03-20",family:"gemini-pro"},"anthropic/claude-3-7-sonnet":{id:"anthropic/claude-3-7-sonnet",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19",family:"claude-sonnet"},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"GPT-4o Mini",contextWindow:128000,maxTokens:16384,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.15,output:0.6,cacheRead:0.08,cacheWrite:0},releaseDate:"2024-07-18",family:"gpt-mini"}},sapaicore:{"anthropic--claude-4.6-sonnet":{id:"anthropic--claude-4.6-sonnet",name:"anthropic--claude-4.6-sonnet",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"anthropic--claude-4.6-opus":{id:"anthropic--claude-4.6-opus",name:"anthropic--claude-4.6-opus",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"anthropic--claude-4.5-opus":{id:"anthropic--claude-4.5-opus",name:"anthropic--claude-4.5-opus",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-24",family:"claude-opus"},"anthropic--claude-4.5-haiku":{id:"anthropic--claude-4.5-haiku",name:"anthropic--claude-4.5-haiku",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"anthropic--claude-4.5-sonnet":{id:"anthropic--claude-4.5-sonnet",name:"anthropic--claude-4.5-sonnet",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"gpt-5":{id:"gpt-5",name:"gpt-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"gpt-5-mini":{id:"gpt-5-mini",name:"gpt-5-mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt-mini"},"gpt-5-nano":{id:"gpt-5-nano",name:"gpt-5-nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.05,output:0.4,cacheRead:0.005,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt-nano"},"gemini-2.5-flash-lite":{id:"gemini-2.5-flash-lite",name:"gemini-2.5-flash-lite",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-06-17",family:"gemini-flash-lite"},"anthropic--claude-4-opus":{id:"anthropic--claude-4-opus",name:"anthropic--claude-4-opus",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"anthropic--claude-4-sonnet":{id:"anthropic--claude-4-sonnet",name:"anthropic--claude-4-sonnet",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"gpt-4.1":{id:"gpt-4.1",name:"gpt-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt"},"gpt-4.1-mini":{id:"gpt-4.1-mini",name:"gpt-4.1-mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt-mini"},"gemini-2.5-flash":{id:"gemini-2.5-flash",name:"gemini-2.5-flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-03-25",family:"gemini-flash"},"gemini-2.5-pro":{id:"gemini-2.5-pro",name:"gemini-2.5-pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-03-25",family:"gemini-pro"},"anthropic--claude-3.7-sonnet":{id:"anthropic--claude-3.7-sonnet",name:"anthropic--claude-3.7-sonnet",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-24",family:"claude-sonnet"},"anthropic--claude-3.5-sonnet":{id:"anthropic--claude-3.5-sonnet",name:"anthropic--claude-3.5-sonnet",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22",family:"claude-sonnet"},"anthropic--claude-3-haiku":{id:"anthropic--claude-3-haiku",name:"anthropic--claude-3-haiku",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.25,output:1.25,cacheRead:0.03,cacheWrite:0.3},releaseDate:"2024-03-13",family:"claude-haiku"},"anthropic--claude-3-sonnet":{id:"anthropic--claude-3-sonnet",name:"anthropic--claude-3-sonnet",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-03-04",family:"claude-sonnet"},"anthropic--claude-3-opus":{id:"anthropic--claude-3-opus",name:"anthropic--claude-3-opus",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2024-02-29",family:"claude-opus"}},together:{"Qwen/Qwen3.6-Plus":{id:"Qwen/Qwen3.6-Plus",name:"Qwen3.6 Plus",contextWindow:1e6,maxTokens:500000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.5,output:3,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-30",family:"qwen"},"deepseek-ai/DeepSeek-V4-Pro":{id:"deepseek-ai/DeepSeek-V4-Pro",name:"DeepSeek V4 Pro",contextWindow:512000,maxTokens:384000,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:2.1,output:4.4,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-04-24",family:"deepseek"},"moonshotai/Kimi-K2.6":{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6",contextWindow:262144,maxTokens:131000,capabilities:["images","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.2,output:4.5,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-04-21",family:"kimi-k2.6"},"google/gemma-4-31B-it":{id:"google/gemma-4-31B-it",name:"Gemma 4 31B Instruct",contextWindow:262144,maxTokens:131072,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.2,output:0.5,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-07",family:"gemma"},"zai-org/GLM-5.1":{id:"zai-org/GLM-5.1",name:"GLM-5.1",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:1.4,output:4.4,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-07",family:"glm"},"MiniMaxAI/MiniMax-M2.7":{id:"MiniMaxAI/MiniMax-M2.7",name:"MiniMax-M2.7",contextWindow:202752,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},releaseDate:"2026-03-18",family:"minimax"},"Qwen/Qwen3.5-397B-A17B":{id:"Qwen/Qwen3.5-397B-A17B",name:"Qwen3.5 397B A17B",contextWindow:262144,maxTokens:130000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:3.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-16",family:"qwen"},"MiniMaxAI/MiniMax-M2.5":{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax-M2.5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},releaseDate:"2026-02-12",family:"minimax"},"Qwen/Qwen3-Coder-Next-FP8":{id:"Qwen/Qwen3-Coder-Next-FP8",name:"Qwen3 Coder Next FP8",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0.5,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-03",family:"qwen"},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.5,output:2.8,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-27",family:"kimi"},"essentialai/Rnj-1-Instruct":{id:"essentialai/Rnj-1-Instruct",name:"Rnj-1 Instruct",contextWindow:32768,maxTokens:1638,capabilities:["tools","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-05",family:"rnj"},"deepseek-ai/DeepSeek-V3-1":{id:"deepseek-ai/DeepSeek-V3-1",name:"DeepSeek V3.1",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:1.7,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21",family:"deepseek"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"Qwen/Qwen3-235B-A22B-Instruct-2507-tput":{id:"Qwen/Qwen3-235B-A22B-Instruct-2507-tput",name:"Qwen3 235B A22B Instruct 2507 FP8",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25",family:"qwen"},"Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8":{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8",name:"Qwen3 Coder 480B A35B Instruct",contextWindow:262144,maxTokens:13107,capabilities:["tools","temperature"],pricing:{input:2,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23",family:"qwen"},"deepseek-ai/DeepSeek-V3":{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:1.25,output:1.25,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-20",family:"deepseek"},"meta-llama/Llama-3.3-70B-Instruct-Turbo":{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B",contextWindow:131072,maxTokens:6553,capabilities:["tools","temperature"],pricing:{input:0.88,output:0.88,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06",family:"llama"}},v0:{"v0-1.5-lg":{id:"v0-1.5-lg",name:"v0-1.5-lg",contextWindow:512000,maxTokens:32000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:15,output:75,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-09",family:"v0"},"v0-1.5-md":{id:"v0-1.5-md",name:"v0-1.5-md",contextWindow:128000,maxTokens:32000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-09",family:"v0"},"v0-1.0-md":{id:"v0-1.0-md",name:"v0-1.0-md",contextWindow:128000,maxTokens:32000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-22",family:"v0"}},"vercel-ai-gateway":{"xai/grok-4.3":{id:"xai/grok-4.3",name:"Grok 4.3",contextWindow:1e6,maxTokens:50000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:2.5,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-04-30",family:"grok"},"openai/gpt-5.5":{id:"openai/gpt-5.5",name:"GPT 5.5",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:30,cacheRead:0.5,cacheWrite:0},releaseDate:"2026-04-24",family:"gpt"},"openai/gpt-5.5-pro":{id:"openai/gpt-5.5-pro",name:"GPT 5.5 Pro",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:30,output:180,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-24",family:"gpt"},"deepseek/deepseek-v4-flash":{id:"deepseek/deepseek-v4-flash",name:"DeepSeek V4 Flash",contextWindow:1e6,maxTokens:384000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.14,output:0.28,cacheRead:0.028,cacheWrite:0},releaseDate:"2026-04-23",family:"deepseek"},"deepseek/deepseek-v4-pro":{id:"deepseek/deepseek-v4-pro",name:"DeepSeek V4 Pro",contextWindow:1e6,maxTokens:384000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1.74,output:3.48,cacheRead:0.145,cacheWrite:0},releaseDate:"2026-04-23",family:"deepseek"},"alibaba/qwen3.6-27b":{id:"alibaba/qwen3.6-27b",name:"Qwen 3.6 27B",contextWindow:256000,maxTokens:12800,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.6,output:3.5999999999999996,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-22",family:"qwen3.6"},"xiaomi/mimo-v2.5":{id:"xiaomi/mimo-v2.5",name:"MiMo M2.5",contextWindow:1050000,maxTokens:131100,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.39999999999999997,output:2,cacheRead:0.08,cacheWrite:0},releaseDate:"2026-04-22",family:"mimo-v2.5"},"xiaomi/mimo-v2.5-pro":{id:"xiaomi/mimo-v2.5-pro",name:"MiMo V2.5 Pro",contextWindow:1050000,maxTokens:131000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-04-22",family:"mimo-v2.5-pro"},"alibaba/qwen-3.6-max-preview":{id:"alibaba/qwen-3.6-max-preview",name:"Qwen 3.6 Max Preview",contextWindow:240000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.3,output:7.8,cacheRead:0.26,cacheWrite:1.625},releaseDate:"2026-04-20",family:"qwen"},"moonshotai/kimi-k2.6":{id:"moonshotai/kimi-k2.6",name:"Kimi K2.6",contextWindow:262000,maxTokens:13100,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.95,output:4,cacheRead:0.16,cacheWrite:0},releaseDate:"2026-04-20",family:"kimi-k2.6"},"anthropic/claude-opus-4.7":{id:"anthropic/claude-opus-4.7",name:"Claude Opus 4.7",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-04-16",family:"claude-opus"},"zai/glm-5.1":{id:"zai/glm-5.1",name:"GLM 5.1",contextWindow:202752,maxTokens:10137,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.4,output:4.4,cacheRead:0.26,cacheWrite:0},releaseDate:"2026-04-07",family:"glm"},"alibaba/qwen3.6-plus":{id:"alibaba/qwen3.6-plus",name:"Qwen 3.6 Plus",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.5,output:3,cacheRead:0.09999999999999999,cacheWrite:0.625},releaseDate:"2026-04-02",family:"qwen"},"google/gemma-4-26b-a4b-it":{id:"google/gemma-4-26b-a4b-it",name:"Gemma 4 26B A4B IT",contextWindow:262144,maxTokens:131072,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.13,output:0.39999999999999997,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-02",family:"gemma"},"google/gemma-4-31b-it":{id:"google/gemma-4-31b-it",name:"Gemma 4 31B IT",contextWindow:262144,maxTokens:131072,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.14,output:0.39999999999999997,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-02",family:"gemma"},"arcee-ai/trinity-large-thinking":{id:"arcee-ai/trinity-large-thinking",name:"Trinity Large Thinking",contextWindow:262100,maxTokens:80000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.25,output:0.8999999999999999,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-01",family:"trinity"},"zai/glm-5v-turbo":{id:"zai/glm-5v-turbo",name:"GLM 5V Turbo",contextWindow:200000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.2,output:4,cacheRead:0.24,cacheWrite:0},releaseDate:"2026-04-01",family:"glm"},"kwaipilot/kat-coder-pro-v2":{id:"kwaipilot/kat-coder-pro-v2",name:"Kat Coder Pro V2",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},releaseDate:"2026-03-27",family:"kat-coder"},"minimax/minimax-m2.7":{id:"minimax/minimax-m2.7",name:"Minimax M2.7",contextWindow:204800,maxTokens:131000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-03-18",family:"minimax"},"minimax/minimax-m2.7-highspeed":{id:"minimax/minimax-m2.7-highspeed",name:"MiniMax M2.7 High Speed",contextWindow:204800,maxTokens:131100,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.4,cacheRead:0.06,cacheWrite:0.375},releaseDate:"2026-03-18",family:"minimax"},"xiaomi/mimo-v2-pro":{id:"xiaomi/mimo-v2-pro",name:"MiMo V2 Pro",contextWindow:1e6,maxTokens:128000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-18",family:"mimo"},"openai/gpt-5.4-mini":{id:"openai/gpt-5.4-mini",name:"GPT 5.4 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.75,output:4.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2026-03-17",family:"gpt"},"openai/gpt-5.4-nano":{id:"openai/gpt-5.4-nano",name:"GPT 5.4 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.19999999999999998,output:1.25,cacheRead:0.02,cacheWrite:0},releaseDate:"2026-03-17",family:"gpt"},"mistral/mistral-small":{id:"mistral/mistral-small",name:"Mistral Small (latest)",contextWindow:256000,maxTokens:12800,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-16",family:"mistral-small"},"zai/glm-5-turbo":{id:"zai/glm-5-turbo",name:"GLM 5 Turbo",contextWindow:202800,maxTokens:131100,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1.2,output:4,cacheRead:0.24,cacheWrite:0},releaseDate:"2026-03-15",family:"glm"},"zai/glm-4.7-flash":{id:"zai/glm-4.7-flash",name:"GLM 4.7 Flash",contextWindow:200000,maxTokens:131000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.07,output:0.39999999999999997,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-13",family:"glm"},"xai/grok-4.20-multi-agent-beta":{id:"xai/grok-4.20-multi-agent-beta",name:"Grok 4.20 Multi Agent Beta",contextWindow:2000000,maxTokens:1e5,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-11",family:"grok"},"xai/grok-4.20-non-reasoning-beta":{id:"xai/grok-4.20-non-reasoning-beta",name:"Grok 4.20 Beta Non-Reasoning",contextWindow:2000000,maxTokens:1e5,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-11",family:"grok"},"xai/grok-4.20-reasoning-beta":{id:"xai/grok-4.20-reasoning-beta",name:"Grok 4.20 Beta Reasoning",contextWindow:2000000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-11",family:"grok"},"xai/grok-4.20-multi-agent":{id:"xai/grok-4.20-multi-agent",name:"Grok 4.20 Multi-Agent",contextWindow:2000000,maxTokens:1e5,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-09",family:"grok"},"xai/grok-4.20-non-reasoning":{id:"xai/grok-4.20-non-reasoning",name:"Grok 4.20 Non-Reasoning",contextWindow:2000000,maxTokens:1e5,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-09",family:"grok"},"xai/grok-4.20-reasoning":{id:"xai/grok-4.20-reasoning",name:"Grok 4.20 Reasoning",contextWindow:2000000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.19999999999999998,cacheWrite:0},releaseDate:"2026-03-09",family:"grok"},"openai/gpt-5.4":{id:"openai/gpt-5.4",name:"GPT 5.4",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:2.5,output:15,cacheRead:0.25,cacheWrite:0},releaseDate:"2026-03-05",family:"gpt"},"openai/gpt-5.4-pro":{id:"openai/gpt-5.4-pro",name:"GPT 5.4 Pro",contextWindow:1050000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:30,output:180,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-05",family:"gpt"},"google/gemini-3.1-flash-lite-preview":{id:"google/gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview",contextWindow:1e6,maxTokens:65000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.25,output:1.5,cacheRead:0.025,cacheWrite:1},releaseDate:"2026-03-03",family:"gemini"},"openai/gpt-5.3-chat":{id:"openai/gpt-5.3-chat",name:"GPT-5.3 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-03-03",family:"gpt"},"alibaba/qwen3.5-flash":{id:"alibaba/qwen3.5-flash",name:"Qwen 3.5 Flash",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.001,cacheWrite:0.125},releaseDate:"2026-02-24",family:"qwen"},"inception/mercury-2":{id:"inception/mercury-2",name:"Mercury 2",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.25,output:0.75,cacheRead:0.024999999999999998,cacheWrite:0},releaseDate:"2026-02-24",family:"mercury"},"openai/gpt-5.3-codex":{id:"openai/gpt-5.3-codex",name:"GPT 5.3 Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2026-02-24",family:"gpt"},"google/gemini-3.1-pro-preview":{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-19",family:"gemini"},"anthropic/claude-sonnet-4.6":{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"alibaba/qwen3.5-plus":{id:"alibaba/qwen3.5-plus",name:"Qwen 3.5 Plus",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.4,output:2.4,cacheRead:0.04,cacheWrite:0.5},releaseDate:"2026-02-16",family:"qwen"},"minimax/minimax-m2.5":{id:"minimax/minimax-m2.5",name:"MiniMax M2.5",contextWindow:204800,maxTokens:131000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2026-02-12",family:"minimax"},"minimax/minimax-m2.5-highspeed":{id:"minimax/minimax-m2.5-highspeed",name:"MiniMax M2.5 High Speed",contextWindow:0,maxTokens:0,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.4,cacheRead:0.03,cacheWrite:0.375},releaseDate:"2026-02-12",family:"minimax"},"zai/glm-5":{id:"zai/glm-5",name:"GLM-5",contextWindow:202800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-12",family:"glm"},"anthropic/claude-opus-4.6":{id:"anthropic/claude-opus-4.6",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02",family:"claude-opus"},"moonshotai/kimi-k2.5":{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-26",family:"kimi"},"zai/glm-4.7":{id:"zai/glm-4.7",name:"GLM 4.7",contextWindow:202752,maxTokens:120000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.43,output:1.75,cacheRead:0.08,cacheWrite:0},releaseDate:"2025-12-22",family:"glm"},"google/gemini-3-flash":{id:"google/gemini-3-flash",name:"Gemini 3 Flash",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.5,output:3,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-12-17",family:"gemini-flash"},"xiaomi/mimo-v2-flash":{id:"xiaomi/mimo-v2-flash",name:"MiMo V2 Flash",contextWindow:262144,maxTokens:32000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.29,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-17",family:"mimo"},"mistral/devstral-2":{id:"mistral/devstral-2",name:"Devstral 2",contextWindow:256000,maxTokens:12800,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-09",family:"devstral"},"deepseek/deepseek-v3.2-thinking":{id:"deepseek/deepseek-v3.2-thinking",name:"DeepSeek V3.2 Thinking",contextWindow:128000,maxTokens:64000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.28,output:0.42,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-12-01",family:"deepseek-thinking"},"openai/gpt-5.2-codex":{id:"openai/gpt-5.2-codex",name:"GPT-5.2-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.175,cacheWrite:0},releaseDate:"2025-12",family:"gpt-codex"},"prime-intellect/intellect-3":{id:"prime-intellect/intellect-3",name:"INTELLECT 3",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-11-26",family:"intellect"},"anthropic/claude-opus-4.5":{id:"anthropic/claude-opus-4.5",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:18.75},releaseDate:"2025-11-24",family:"claude-opus"},"google/gemini-3-pro-preview":{id:"google/gemini-3-pro-preview",name:"Gemini 3 Pro Preview",contextWindow:1e6,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:12,cacheRead:0.2,cacheWrite:0},releaseDate:"2025-11-18",family:"gemini-pro"},"moonshotai/kimi-k2-thinking":{id:"moonshotai/kimi-k2-thinking",name:"Kimi K2 Thinking",contextWindow:216144,maxTokens:10807,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.47,output:2,cacheRead:0.14,cacheWrite:0},releaseDate:"2025-11-06",family:"kimi-thinking"},"moonshotai/kimi-k2-thinking-turbo":{id:"moonshotai/kimi-k2-thinking-turbo",name:"Kimi K2 Thinking Turbo",contextWindow:262114,maxTokens:13105,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1.15,output:8,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-11-06",family:"kimi-thinking"},"minimax/minimax-m2":{id:"minimax/minimax-m2",name:"MiniMax M2",contextWindow:262114,maxTokens:13105,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.27,output:1.15,cacheRead:0.03,cacheWrite:0.38},releaseDate:"2025-10-27",family:"minimax"},"minimax/minimax-m2.1":{id:"minimax/minimax-m2.1",name:"MiniMax M2.1",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:1.2,cacheRead:0.03,cacheWrite:0.38},releaseDate:"2025-10-27",family:"minimax"},"minimax/minimax-m2.1-lightning":{id:"minimax/minimax-m2.1-lightning",name:"MiniMax M2.1 Lightning",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:2.4,cacheRead:0.03,cacheWrite:0.38},releaseDate:"2025-10-27",family:"minimax"},"anthropic/claude-haiku-4.5":{id:"anthropic/claude-haiku-4.5",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"bytedance/seed-1.8":{id:"bytedance/seed-1.8",name:"Seed 1.8",contextWindow:256000,maxTokens:64000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-10",family:"seed"},"zai/glm-4.6":{id:"zai/glm-4.6",name:"GLM 4.6",contextWindow:200000,maxTokens:96000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.45,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-30",family:"glm"},"zai/glm-4.6v":{id:"zai/glm-4.6v",name:"GLM-4.6V",contextWindow:128000,maxTokens:24000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:0.9,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09-30",family:"glm"},"zai/glm-4.6v-flash":{id:"zai/glm-4.6v-flash",name:"GLM-4.6V-Flash",contextWindow:128000,maxTokens:24000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-30",family:"glm"},"anthropic/claude-sonnet-4.5":{id:"anthropic/claude-sonnet-4.5",name:"Claude Sonnet 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"deepseek/deepseek-v3.2-exp":{id:"deepseek/deepseek-v3.2-exp",name:"DeepSeek V3.2 Exp",contextWindow:163840,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.27,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-29",family:"deepseek"},"google/gemini-2.5-flash-lite-preview-09-2025":{id:"google/gemini-2.5-flash-lite-preview-09-2025",name:"Gemini 2.5 Flash Lite Preview 09-25",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-09-25",family:"gemini-flash-lite"},"google/gemini-2.5-flash-preview-09-2025":{id:"google/gemini-2.5-flash-preview-09-2025",name:"Gemini 2.5 Flash Preview 09-25",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0.383},releaseDate:"2025-09-25",family:"gemini-flash"},"alibaba/qwen3-vl-instruct":{id:"alibaba/qwen3-vl-instruct",name:"Qwen3 VL Instruct",contextWindow:131072,maxTokens:129024,capabilities:["images","tools","temperature"],pricing:{input:0.7,output:2.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-24",family:"qwen"},"alibaba/qwen3-vl-thinking":{id:"alibaba/qwen3-vl-thinking",name:"Qwen3 VL Thinking",contextWindow:131072,maxTokens:129024,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.7,output:8.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-24",family:"qwen"},"alibaba/qwen3-max":{id:"alibaba/qwen3-max",name:"Qwen3 Max",contextWindow:262144,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:1.2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-23",family:"qwen"},"alibaba/qwen3-max-preview":{id:"alibaba/qwen3-max-preview",name:"Qwen3 Max Preview",contextWindow:262144,maxTokens:32768,capabilities:["tools","temperature","prompt-cache"],pricing:{input:1.2,output:6,cacheRead:0.24,cacheWrite:0},releaseDate:"2025-09-23",family:"qwen"},"meituan/longcat-flash-thinking":{id:"meituan/longcat-flash-thinking",name:"LongCat Flash Thinking",contextWindow:128000,maxTokens:8192,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-23",family:"longcat"},"deepseek/deepseek-v3.1-terminus":{id:"deepseek/deepseek-v3.1-terminus",name:"DeepSeek V3.1 Terminus",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.27,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-22",family:"deepseek"},"xai/grok-4-fast-non-reasoning":{id:"xai/grok-4-fast-non-reasoning",name:"Grok 4 Fast (Non-Reasoning)",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09-19",family:"grok"},"openai/gpt-5-codex":{id:"openai/gpt-5-codex",name:"GPT-5-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-09-15",family:"gpt-codex"},"alibaba/qwen3-next-80b-a3b-instruct":{id:"alibaba/qwen3-next-80b-a3b-instruct",name:"Qwen3 Next 80B A3B Instruct",contextWindow:262144,maxTokens:32768,capabilities:["tools","temperature"],pricing:{input:0.09,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-12",family:"qwen"},"alibaba/qwen3-next-80b-a3b-thinking":{id:"alibaba/qwen3-next-80b-a3b-thinking",name:"Qwen3 Next 80B A3B Thinking",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature"],pricing:{input:0.15,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-12",family:"qwen"},"moonshotai/kimi-k2-turbo":{id:"moonshotai/kimi-k2-turbo",name:"Kimi K2 Turbo",contextWindow:256000,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:2.4,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2025-09-05",family:"kimi"},"bytedance/seed-1.6":{id:"bytedance/seed-1.6",name:"Seed 1.6",contextWindow:256000,maxTokens:32000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09",family:"seed"},"meituan/longcat-flash-chat":{id:"meituan/longcat-flash-chat",name:"LongCat Flash Chat",contextWindow:128000,maxTokens:8192,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-30",family:"longcat"},"xai/grok-code-fast-1":{id:"xai/grok-code-fast-1",name:"Grok Code Fast 1",contextWindow:256000,maxTokens:1e4,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:1.5,cacheRead:0.02,cacheWrite:0},releaseDate:"2025-08-28",family:"grok"},"deepseek/deepseek-v3.1":{id:"deepseek/deepseek-v3.1",name:"DeepSeek-V3.1",contextWindow:163840,maxTokens:128000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.3,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21",family:"deepseek"},"nvidia/nemotron-nano-9b-v2":{id:"nvidia/nemotron-nano-9b-v2",name:"Nvidia Nemotron Nano 9B V2",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.04,output:0.16,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-18",family:"nemotron"},"zai/glm-4.5v":{id:"zai/glm-4.5v",name:"GLM 4.5V",contextWindow:66000,maxTokens:3300,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-11",family:"glm"},"openai/gpt-5":{id:"openai/gpt-5",name:"GPT-5",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-5-chat":{id:"openai/gpt-5-chat",name:"GPT-5 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"GPT-5 Mini",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.025,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt-mini"},"openai/gpt-5-nano":{id:"openai/gpt-5-nano",name:"GPT-5 Nano",contextWindow:400000,maxTokens:128000,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:0.05,output:0.4,cacheRead:0.005,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt-nano"},"openai/gpt-5-pro":{id:"openai/gpt-5-pro",name:"GPT-5 pro",contextWindow:400000,maxTokens:272000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:15,output:120,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-5.1-codex":{id:"openai/gpt-5.1-codex",name:"GPT-5.1-Codex",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-5.1-codex-max":{id:"openai/gpt-5.1-codex-max",name:"GPT 5.1 Codex Max",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-5.1-instant":{id:"openai/gpt-5.1-instant",name:"GPT-5.1 Instant",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-5.1-thinking":{id:"openai/gpt-5.1-thinking",name:"GPT 5.1 Thinking",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.13,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-5.2":{id:"openai/gpt-5.2",name:"GPT-5.2",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.18,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-5.2-chat":{id:"openai/gpt-5.2-chat",name:"GPT-5.2 Chat",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.75,output:14,cacheRead:0.18,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-5.2-pro":{id:"openai/gpt-5.2-pro",name:"GPT 5.2 ",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:21,output:168,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-07",family:"gpt"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",contextWindow:131072,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.07,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"zai/glm-4.5":{id:"zai/glm-4.5",name:"GLM 4.5",contextWindow:131072,maxTokens:6553,capabilities:["tools","reasoning","temperature"],pricing:{input:0.6,output:2.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-28",family:"glm"},"zai/glm-4.5-air":{id:"zai/glm-4.5-air",name:"GLM 4.5 Air",contextWindow:128000,maxTokens:96000,capabilities:["tools","reasoning","temperature"],pricing:{input:0.2,output:1.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-28",family:"glm-air"},"alibaba/qwen3-coder-plus":{id:"alibaba/qwen3-coder-plus",name:"Qwen3 Coder Plus",contextWindow:1e6,maxTokens:50000,capabilities:["tools","temperature"],pricing:{input:1,output:5,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23",family:"qwen"},"alibaba/qwen3-coder-next":{id:"alibaba/qwen3-coder-next",name:"Qwen3 Coder Next",contextWindow:256000,maxTokens:12800,capabilities:["tools","reasoning","temperature"],pricing:{input:0.5,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-22",family:"qwen"},"xai/grok-4":{id:"xai/grok-4",name:"Grok 4",contextWindow:256000,maxTokens:64000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-07-09",family:"grok"},"xai/grok-4-fast-reasoning":{id:"xai/grok-4-fast-reasoning",name:"Grok 4 Fast Reasoning",contextWindow:2000000,maxTokens:256000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-07-09",family:"grok"},"xai/grok-4.1-fast-non-reasoning":{id:"xai/grok-4.1-fast-non-reasoning",name:"Grok 4.1 Fast Non-Reasoning",contextWindow:2000000,maxTokens:30000,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-07-09",family:"grok"},"xai/grok-4.1-fast-reasoning":{id:"xai/grok-4.1-fast-reasoning",name:"Grok 4.1 Fast Reasoning",contextWindow:2000000,maxTokens:30000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-07-09",family:"grok"},"google/gemini-2.5-flash-lite":{id:"google/gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-06-17",family:"gemini-flash-lite"},"vercel/v0-1.5-md":{id:"vercel/v0-1.5-md",name:"v0-1.5-md",contextWindow:128000,maxTokens:32000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2025-06-09",family:"v0"},"anthropic/claude-opus-4":{id:"anthropic/claude-opus-4",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"anthropic/claude-opus-4.1":{id:"anthropic/claude-opus-4.1",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"anthropic/claude-sonnet-4":{id:"anthropic/claude-sonnet-4",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"vercel/v0-1.0-md":{id:"vercel/v0-1.0-md",name:"v0-1.0-md",contextWindow:128000,maxTokens:32000,capabilities:["images","tools","reasoning","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-22",family:"v0"},"openai/codex-mini":{id:"openai/codex-mini",name:"Codex Mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.5,output:6,cacheRead:0.38,cacheWrite:0},releaseDate:"2025-05-16",family:"gpt-codex-mini"},"openai/gpt-5.1-codex-mini":{id:"openai/gpt-5.1-codex-mini",name:"GPT-5.1 Codex mini",contextWindow:400000,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.25,output:2,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-05-16",family:"gpt"},"mistral/devstral-small":{id:"mistral/devstral-small",name:"Devstral Small 1.1",contextWindow:128000,maxTokens:64000,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07",family:"devstral"},"mistral/devstral-small-2":{id:"mistral/devstral-small-2",name:"Devstral Small 2",contextWindow:256000,maxTokens:12800,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07",family:"devstral"},"mistral/mistral-medium":{id:"mistral/mistral-medium",name:"Mistral Medium 3.1",contextWindow:128000,maxTokens:64000,capabilities:["images","tools","temperature"],pricing:{input:0.4,output:2,cacheRead:0,cacheWrite:0},releaseDate:"2025-05-07",family:"mistral-medium"},"openai/o3":{id:"openai/o3",name:"o3",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-16",family:"o"},"openai/o3-pro":{id:"openai/o3-pro",name:"o3 Pro",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning"],pricing:{input:20,output:80,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-16",family:"o-pro"},"openai/o4-mini":{id:"openai/o4-mini",name:"o4-mini",contextWindow:200000,maxTokens:1e5,capabilities:["images","tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.28,cacheWrite:0},releaseDate:"2025-04-16",family:"o-mini"},"openai/gpt-4.1":{id:"openai/gpt-4.1",name:"GPT-4.1",contextWindow:1047576,maxTokens:32768,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:2,output:8,cacheRead:0.5,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt"},"openai/gpt-4.1-mini":{id:"openai/gpt-4.1-mini",name:"GPT-4.1 mini",contextWindow:1047576,maxTokens:32768,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.4,output:1.6,cacheRead:0.1,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt-mini"},"openai/gpt-4.1-nano":{id:"openai/gpt-4.1-nano",name:"GPT-4.1 nano",contextWindow:1047576,maxTokens:32768,capabilities:["images","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-04-14",family:"gpt-nano"},"meta/llama-4-maverick":{id:"meta/llama-4-maverick",name:"Llama-4-Maverick-17B-128E-Instruct-FP8",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05",family:"llama"},"meta/llama-4-scout":{id:"meta/llama-4-scout",name:"Llama-4-Scout-17B-16E-Instruct-FP8",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-05",family:"llama"},"alibaba/qwen-3-14b":{id:"alibaba/qwen-3-14b",name:"Qwen3-14B",contextWindow:40960,maxTokens:16384,capabilities:["tools","reasoning","temperature"],pricing:{input:0.06,output:0.24,cacheRead:0,cacheWrite:0},releaseDate:"2025-04",family:"qwen"},"alibaba/qwen-3-235b":{id:"alibaba/qwen-3-235b",name:"Qwen3 235B A22B Instruct 2507",contextWindow:40960,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.13,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-04",family:"qwen"},"alibaba/qwen-3-30b":{id:"alibaba/qwen-3-30b",name:"Qwen3-30B-A3B",contextWindow:40960,maxTokens:16384,capabilities:["tools","reasoning","temperature"],pricing:{input:0.08,output:0.29,cacheRead:0,cacheWrite:0},releaseDate:"2025-04",family:"qwen"},"alibaba/qwen-3-32b":{id:"alibaba/qwen-3-32b",name:"Qwen 3.32B",contextWindow:40960,maxTokens:16384,capabilities:["tools","reasoning","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-04",family:"qwen"},"alibaba/qwen3-235b-a22b-thinking":{id:"alibaba/qwen3-235b-a22b-thinking",name:"Qwen3 235B A22B Thinking 2507",contextWindow:262114,maxTokens:13105,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0.3,output:2.9,cacheRead:0,cacheWrite:0},releaseDate:"2025-04",family:"qwen"},"alibaba/qwen3-coder":{id:"alibaba/qwen3-coder",name:"Qwen3 Coder 480B A35B Instruct",contextWindow:262144,maxTokens:66536,capabilities:["tools","temperature"],pricing:{input:0.38,output:1.53,cacheRead:0,cacheWrite:0},releaseDate:"2025-04",family:"qwen"},"alibaba/qwen3-coder-30b-a3b":{id:"alibaba/qwen3-coder-30b-a3b",name:"Qwen 3 Coder 30B A3B Instruct",contextWindow:160000,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:0.07,output:0.27,cacheRead:0,cacheWrite:0},releaseDate:"2025-04",family:"qwen"},"google/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:0.3,output:2.5,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-03-20",family:"gemini-flash"},"google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro",contextWindow:1048576,maxTokens:65536,capabilities:["images","files","tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.25,output:10,cacheRead:0.125,cacheWrite:0},releaseDate:"2025-03-20",family:"gemini-pro"},"mistral/magistral-medium":{id:"mistral/magistral-medium",name:"Magistral Medium (latest)",contextWindow:128000,maxTokens:16384,capabilities:["tools","reasoning","temperature"],pricing:{input:2,output:5,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-17",family:"magistral-medium"},"mistral/magistral-small":{id:"mistral/magistral-small",name:"Magistral Small",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","temperature"],pricing:{input:0.5,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-17",family:"magistral-small"},"cohere/command-a":{id:"cohere/command-a",name:"Command A",contextWindow:256000,maxTokens:8000,capabilities:["tools","temperature"],pricing:{input:2.5,output:10,cacheRead:0,cacheWrite:0},releaseDate:"2025-03-13",family:"command"},"inception/mercury-coder-small":{id:"inception/mercury-coder-small",name:"Mercury Coder Small Beta",contextWindow:32000,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.25,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-02-26",family:"mercury"},"anthropic/claude-3.7-sonnet":{id:"anthropic/claude-3.7-sonnet",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19",family:"claude-sonnet"},"perplexity/sonar":{id:"perplexity/sonar",name:"Sonar",contextWindow:127000,maxTokens:8000,capabilities:["images","tools","temperature"],pricing:{input:1,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-02-19",family:"sonar"},"perplexity/sonar-pro":{id:"perplexity/sonar-pro",name:"Sonar Pro",contextWindow:200000,maxTokens:8000,capabilities:["images","tools","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2025-02-19",family:"sonar-pro"},"xai/grok-3":{id:"xai/grok-3",name:"Grok 3",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"xai/grok-3-fast":{id:"xai/grok-3-fast",name:"Grok 3 Fast",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"xai/grok-3-mini":{id:"xai/grok-3-mini",name:"Grok 3 Mini",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"xai/grok-3-mini-fast":{id:"xai/grok-3-mini-fast",name:"Grok 3 Mini Fast",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:4,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"deepseek/deepseek-r1":{id:"deepseek/deepseek-r1",name:"DeepSeek-R1",contextWindow:128000,maxTokens:32768,capabilities:["tools","reasoning","temperature"],pricing:{input:1.35,output:5.4,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-20",family:"deepseek-thinking"},"alibaba/qwen3-max-thinking":{id:"alibaba/qwen3-max-thinking",name:"Qwen 3 Max Thinking",contextWindow:256000,maxTokens:65536,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1.2,output:6,cacheRead:0.24,cacheWrite:0},releaseDate:"2025-01",family:"qwen"},"arcee-ai/trinity-large-preview":{id:"arcee-ai/trinity-large-preview",name:"Trinity Large Preview",contextWindow:131000,maxTokens:6550,capabilities:["tools","temperature"],pricing:{input:0.25,output:1,cacheRead:0,cacheWrite:0},releaseDate:"2025-01",family:"trinity"},"zai/glm-4.7-flashx":{id:"zai/glm-4.7-flashx",name:"GLM 4.7 FlashX",contextWindow:200000,maxTokens:128000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.06,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-01",family:"glm-flash"},"deepseek/deepseek-v3":{id:"deepseek/deepseek-v3",name:"DeepSeek V3 0324",contextWindow:163840,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.77,output:0.77,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-26",family:"deepseek"},"openai/o3-mini":{id:"openai/o3-mini",name:"o3-mini",contextWindow:200000,maxTokens:1e5,capabilities:["tools","reasoning","structured_output","prompt-cache"],pricing:{input:1.1,output:4.4,cacheRead:0.55,cacheWrite:0},releaseDate:"2024-12-20",family:"o-mini"},"google/gemini-2.0-flash":{id:"google/gemini-2.0-flash",name:"Gemini 2.0 Flash",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.1,output:0.4,cacheRead:0.025,cacheWrite:0},releaseDate:"2024-12-11",family:"gemini-flash"},"google/gemini-2.0-flash-lite":{id:"google/gemini-2.0-flash-lite",name:"Gemini 2.0 Flash Lite",contextWindow:1048576,maxTokens:8192,capabilities:["images","files","tools","structured_output","temperature"],pricing:{input:0.075,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-11",family:"gemini-flash-lite"},"meta/llama-3.3-70b":{id:"meta/llama-3.3-70b",name:"Llama-3.3-70B-Instruct",contextWindow:128000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06",family:"llama"},"openai/o1":{id:"openai/o1",name:"o1",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","structured_output","prompt-cache"],pricing:{input:15,output:60,cacheRead:7.5,cacheWrite:0},releaseDate:"2024-12-05",family:"o"},"amazon/nova-lite":{id:"amazon/nova-lite",name:"Nova Lite",contextWindow:300000,maxTokens:8192,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.06,output:0.24,cacheRead:0.015,cacheWrite:0},releaseDate:"2024-12-03",family:"nova-lite"},"amazon/nova-micro":{id:"amazon/nova-micro",name:"Nova Micro",contextWindow:128000,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:0.035,output:0.14,cacheRead:0.00875,cacheWrite:0},releaseDate:"2024-12-03",family:"nova-micro"},"amazon/nova-pro":{id:"amazon/nova-pro",name:"Nova Pro",contextWindow:300000,maxTokens:8192,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.8,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2024-12-03",family:"nova-pro"},"nvidia/nemotron-nano-12b-v2-vl":{id:"nvidia/nemotron-nano-12b-v2-vl",name:"Nvidia Nemotron Nano 12B V2 VL",contextWindow:131072,maxTokens:6553,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.2,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2024-12",family:"nemotron"},"openai/gpt-oss-safeguard-20b":{id:"openai/gpt-oss-safeguard-20b",name:"gpt-oss-safeguard-20b",contextWindow:131072,maxTokens:65536,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.08,output:0.3,cacheRead:0.04,cacheWrite:0},releaseDate:"2024-12-01",family:"gpt-oss"},"mistral/pixtral-large":{id:"mistral/pixtral-large",name:"Pixtral Large (latest)",contextWindow:128000,maxTokens:6400,capabilities:["images","tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-11-01",family:"pixtral"},"anthropic/claude-3.5-haiku":{id:"anthropic/claude-3.5-haiku",name:"Claude Haiku 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22",family:"claude-haiku"},"anthropic/claude-3.5-sonnet":{id:"anthropic/claude-3.5-sonnet",name:"Claude Sonnet 3.5 v2",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22",family:"claude-sonnet"},"mistral/ministral-3b":{id:"mistral/ministral-3b",name:"Ministral 3B (latest)",contextWindow:128000,maxTokens:6400,capabilities:["tools","temperature"],pricing:{input:0.04,output:0.04,cacheRead:0,cacheWrite:0},releaseDate:"2024-10-01",family:"ministral"},"mistral/ministral-8b":{id:"mistral/ministral-8b",name:"Ministral 8B (latest)",contextWindow:128000,maxTokens:6400,capabilities:["tools","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2024-10-01",family:"ministral"},"meta/llama-3.2-11b":{id:"meta/llama-3.2-11b",name:"Llama 3.2 11B Vision Instruct",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.16,output:0.16,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25",family:"llama"},"meta/llama-3.2-90b":{id:"meta/llama-3.2-90b",name:"Llama 3.2 90B Vision Instruct",contextWindow:128000,maxTokens:8192,capabilities:["images","tools","temperature"],pricing:{input:0.72,output:0.72,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-25",family:"llama"},"mistral/pixtral-12b":{id:"mistral/pixtral-12b",name:"Pixtral 12B",contextWindow:128000,maxTokens:6400,capabilities:["images","tools","temperature"],pricing:{input:0.15,output:0.15,cacheRead:0,cacheWrite:0},releaseDate:"2024-09-01",family:"pixtral"},"xai/grok-2-vision":{id:"xai/grok-2-vision",name:"Grok 2 Vision",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20",family:"grok"},"meta/llama-3.1-70b":{id:"meta/llama-3.1-70b",name:"Llama 3.1 70B Instruct",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.4,output:0.4,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23",family:"llama"},"meta/llama-3.1-8b":{id:"meta/llama-3.1-8b",name:"Llama 3.1 8B Instruct",contextWindow:131072,maxTokens:16384,capabilities:["tools","temperature"],pricing:{input:0.03,output:0.05,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23",family:"llama"},"openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"GPT-4o mini",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:0.15,output:0.6,cacheRead:0.08,cacheWrite:0},releaseDate:"2024-07-18",family:"gpt-mini"},"mistral/mistral-nemo":{id:"mistral/mistral-nemo",name:"Mistral Nemo",contextWindow:60288,maxTokens:16000,capabilities:["tools","temperature"],pricing:{input:0.04,output:0.17,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-01",family:"mistral-nemo"},"openai/o3-deep-research":{id:"openai/o3-deep-research",name:"o3-deep-research",contextWindow:200000,maxTokens:1e5,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:10,output:40,cacheRead:2.5,cacheWrite:0},releaseDate:"2024-06-26",family:"o"},"anthropic/claude-3.5-sonnet-20240620":{id:"anthropic/claude-3.5-sonnet-20240620",name:"Claude 3.5 Sonnet (2024-06-20)",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature"],pricing:{input:3,output:15,cacheRead:0,cacheWrite:0},releaseDate:"2024-06-20",family:"claude-sonnet"},"mistral/codestral":{id:"mistral/codestral",name:"Codestral (latest)",contextWindow:256000,maxTokens:4096,capabilities:["tools","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0,cacheWrite:0},releaseDate:"2024-05-29",family:"codestral"},"openai/gpt-4o":{id:"openai/gpt-4o",name:"GPT-4o",contextWindow:128000,maxTokens:16384,capabilities:["images","files","tools","structured_output","temperature","prompt-cache"],pricing:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},releaseDate:"2024-05-13",family:"gpt"},"mistral/mixtral-8x22b-instruct":{id:"mistral/mixtral-8x22b-instruct",name:"Mixtral 8x22B",contextWindow:64000,maxTokens:3200,capabilities:["tools","temperature"],pricing:{input:2,output:6,cacheRead:0,cacheWrite:0},releaseDate:"2024-04-17",family:"mixtral"},"anthropic/claude-3-haiku":{id:"anthropic/claude-3-haiku",name:"Claude Haiku 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.25,output:1.25,cacheRead:0.03,cacheWrite:0.3},releaseDate:"2024-03-13",family:"claude-haiku"},"anthropic/claude-3-opus":{id:"anthropic/claude-3-opus",name:"Claude Opus 3",contextWindow:200000,maxTokens:4096,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2024-02-29",family:"claude-opus"},"openai/gpt-4-turbo":{id:"openai/gpt-4-turbo",name:"GPT-4 Turbo",contextWindow:128000,maxTokens:4096,capabilities:["images","tools","temperature"],pricing:{input:10,output:30,cacheRead:0,cacheWrite:0},releaseDate:"2023-11-06",family:"gpt"}},vertex:{"claude-opus-4-7@default":{id:"claude-opus-4-7@default",name:"Claude Opus 4.7",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-04-16",family:"claude-opus"},"claude-sonnet-4-6@default":{id:"claude-sonnet-4-6@default",name:"Claude Sonnet 4.6",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2026-02-17",family:"claude-sonnet"},"claude-opus-4-6@default":{id:"claude-opus-4-6@default",name:"Claude Opus 4.6",contextWindow:1e6,maxTokens:128000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2026-02-05",family:"claude-opus"},"claude-opus-4-5@20251101":{id:"claude-opus-4-5@20251101",name:"Claude Opus 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:0.5,cacheWrite:6.25},releaseDate:"2025-11-01",family:"claude-opus"},"claude-haiku-4-5@20251001":{id:"claude-haiku-4-5@20251001",name:"Claude Haiku 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:5,cacheRead:0.1,cacheWrite:1.25},releaseDate:"2025-10-15",family:"claude-haiku"},"claude-sonnet-4-5@20250929":{id:"claude-sonnet-4-5@20250929",name:"Claude Sonnet 4.5",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-09-29",family:"claude-sonnet"},"claude-opus-4-1@20250805":{id:"claude-opus-4-1@20250805",name:"Claude Opus 4.1",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-08-05",family:"claude-opus"},"claude-opus-4@20250514":{id:"claude-opus-4@20250514",name:"Claude Opus 4",contextWindow:200000,maxTokens:32000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},releaseDate:"2025-05-22",family:"claude-opus"},"claude-sonnet-4@20250514":{id:"claude-sonnet-4@20250514",name:"Claude Sonnet 4",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-05-22",family:"claude-sonnet"},"claude-3-7-sonnet@20250219":{id:"claude-3-7-sonnet@20250219",name:"Claude Sonnet 3.7",contextWindow:200000,maxTokens:64000,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2025-02-19",family:"claude-sonnet"},"claude-3-5-haiku@20241022":{id:"claude-3-5-haiku@20241022",name:"Claude Haiku 3.5",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:0.8,output:4,cacheRead:0.08,cacheWrite:1},releaseDate:"2024-10-22",family:"claude-haiku"},"claude-3-5-sonnet@20241022":{id:"claude-3-5-sonnet@20241022",name:"Claude Sonnet 3.5 v2",contextWindow:200000,maxTokens:8192,capabilities:["images","files","tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.3,cacheWrite:3.75},releaseDate:"2024-10-22",family:"claude-sonnet"}},wandb:{"zai-org/GLM-5.1":{id:"zai-org/GLM-5.1",name:"GLM-5.1",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.4,output:4.4,cacheRead:0.26,cacheWrite:0},releaseDate:"2026-03-27",family:"glm"},"nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-FP8":{id:"nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-FP8",name:"NVIDIA Nemotron 3 Super 120B",contextWindow:262144,maxTokens:13107,capabilities:["tools","structured_output","temperature"],pricing:{input:0.2,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-11",family:"nemotron"},"MiniMaxAI/MiniMax-M2.5":{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax M2.5",contextWindow:196608,maxTokens:9830,capabilities:["tools","structured_output","temperature"],pricing:{input:0.3,output:1.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-12",family:"minimax"},"zai-org/GLM-5-FP8":{id:"zai-org/GLM-5-FP8",name:"GLM 5",contextWindow:200000,maxTokens:1e4,capabilities:["tools","structured_output","temperature"],pricing:{input:1,output:3.2,cacheRead:0,cacheWrite:0},releaseDate:"2026-02-11",family:"glm"},"moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5",contextWindow:262144,maxTokens:13107,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.5,output:2.85,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-27",family:"kimi"},"deepseek-ai/DeepSeek-V3.1":{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1",contextWindow:161000,maxTokens:8050,capabilities:["tools","structured_output","temperature"],pricing:{input:0.55,output:1.65,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-21",family:"deepseek"},"openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"gpt-oss-120b",contextWindow:131072,maxTokens:6553,capabilities:["tools","structured_output","temperature"],pricing:{input:0.15,output:0.6,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"gpt-oss-20b",contextWindow:131072,maxTokens:6553,capabilities:["tools","structured_output","temperature"],pricing:{input:0.05,output:0.2,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-05",family:"gpt-oss"},"Qwen/Qwen3-30B-A3B-Instruct-2507":{id:"Qwen/Qwen3-30B-A3B-Instruct-2507",name:"Qwen3 30B A3B Instruct 2507",contextWindow:262144,maxTokens:13107,capabilities:["tools","structured_output","temperature"],pricing:{input:0.1,output:0.3,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-29",family:"qwen"},"Qwen/Qwen3-235B-A22B-Thinking-2507":{id:"Qwen/Qwen3-235B-A22B-Thinking-2507",name:"Qwen3-235B-A22B-Thinking-2507",contextWindow:262144,maxTokens:13107,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-25",family:"qwen"},"Qwen/Qwen3-Coder-480B-A35B-Instruct":{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3-Coder-480B-A35B-Instruct",contextWindow:262144,maxTokens:13107,capabilities:["tools","structured_output","temperature"],pricing:{input:1,output:1.5,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-23",family:"qwen"},"OpenPipe/Qwen3-14B-Instruct":{id:"OpenPipe/Qwen3-14B-Instruct",name:"OpenPipe Qwen3 14B Instruct",contextWindow:32768,maxTokens:1638,capabilities:["tools","structured_output","temperature"],pricing:{input:0.05,output:0.22,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-29",family:"qwen"},"Qwen/Qwen3-235B-A22B-Instruct-2507":{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B A22B Instruct 2507",contextWindow:262144,maxTokens:13107,capabilities:["tools","structured_output","temperature"],pricing:{input:0.1,output:0.1,cacheRead:0,cacheWrite:0},releaseDate:"2025-04-28",family:"qwen"},"meta-llama/Llama-4-Scout-17B-16E-Instruct":{id:"meta-llama/Llama-4-Scout-17B-16E-Instruct",name:"Llama 4 Scout 17B 16E Instruct",contextWindow:64000,maxTokens:3200,capabilities:["images","tools","reasoning","structured_output","temperature"],pricing:{input:0.17,output:0.66,cacheRead:0,cacheWrite:0},releaseDate:"2025-01-31",family:"llama"},"microsoft/Phi-4-mini-instruct":{id:"microsoft/Phi-4-mini-instruct",name:"Phi-4-mini-instruct",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.08,output:0.35,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-11",family:"phi"},"meta-llama/Llama-3.3-70B-Instruct":{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama-3.3-70B-Instruct",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.71,output:0.71,cacheRead:0,cacheWrite:0},releaseDate:"2024-12-06",family:"llama"},"meta-llama/Llama-3.1-70B-Instruct":{id:"meta-llama/Llama-3.1-70B-Instruct",name:"Llama 3.1 70B",contextWindow:128000,maxTokens:6400,capabilities:["tools","structured_output","temperature"],pricing:{input:0.8,output:0.8,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23",family:"llama"},"meta-llama/Llama-3.1-8B-Instruct":{id:"meta-llama/Llama-3.1-8B-Instruct",name:"Meta-Llama-3.1-8B-Instruct",contextWindow:128000,maxTokens:6400,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0.22,output:0.22,cacheRead:0,cacheWrite:0},releaseDate:"2024-07-23",family:"llama"}},xai:{"grok-4.3":{id:"grok-4.3",name:"Grok 4.3",contextWindow:1e6,maxTokens:30000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.25,output:2.5,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-05-01",family:"grok"},"grok-4.20-0309-non-reasoning":{id:"grok-4.20-0309-non-reasoning",name:"Grok 4.20 (Non-Reasoning)",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-09",family:"grok"},"grok-4.20-0309-reasoning":{id:"grok-4.20-0309-reasoning",name:"Grok 4.20 (Reasoning)",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:2,output:6,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-09",family:"grok"},"grok-4-1-fast":{id:"grok-4-1-fast",name:"Grok 4.1 Fast",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-11-19",family:"grok"},"grok-4-1-fast-non-reasoning":{id:"grok-4-1-fast-non-reasoning",name:"Grok 4.1 Fast (Non-Reasoning)",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-11-19",family:"grok"},"grok-4-fast":{id:"grok-4-fast",name:"Grok 4 Fast",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09-19",family:"grok"},"grok-4-fast-non-reasoning":{id:"grok-4-fast-non-reasoning",name:"Grok 4 Fast (Non-Reasoning)",contextWindow:2000000,maxTokens:30000,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:0.2,output:0.5,cacheRead:0.05,cacheWrite:0},releaseDate:"2025-09-19",family:"grok"},"grok-code-fast-1":{id:"grok-code-fast-1",name:"Grok Code Fast 1",contextWindow:256000,maxTokens:1e4,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:1.5,cacheRead:0.02,cacheWrite:0},releaseDate:"2025-08-28",family:"grok"},"grok-4":{id:"grok-4",name:"Grok 4",contextWindow:256000,maxTokens:64000,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-07-09",family:"grok"},"grok-3":{id:"grok-3",name:"Grok 3",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"grok-3-fast":{id:"grok-3-fast",name:"Grok 3 Fast",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"grok-3-fast-latest":{id:"grok-3-fast-latest",name:"Grok 3 Fast Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:5,output:25,cacheRead:1.25,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"grok-3-latest":{id:"grok-3-latest",name:"Grok 3 Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:3,output:15,cacheRead:0.75,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"grok-3-mini":{id:"grok-3-mini",name:"Grok 3 Mini",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"grok-3-mini-fast":{id:"grok-3-mini-fast",name:"Grok 3 Mini Fast",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:4,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"grok-3-mini-fast-latest":{id:"grok-3-mini-fast-latest",name:"Grok 3 Mini Fast Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:4,cacheRead:0.15,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"grok-3-mini-latest":{id:"grok-3-mini-latest",name:"Grok 3 Mini Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.3,output:0.5,cacheRead:0.075,cacheWrite:0},releaseDate:"2025-02-17",family:"grok"},"grok-2-1212":{id:"grok-2-1212",name:"Grok 2 (1212)",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-12-12",family:"grok"},"grok-beta":{id:"grok-beta",name:"Grok Beta",contextWindow:131072,maxTokens:4096,capabilities:["tools","temperature","prompt-cache"],pricing:{input:5,output:15,cacheRead:5,cacheWrite:0},releaseDate:"2024-11-01",family:"grok-beta"},"grok-vision-beta":{id:"grok-vision-beta",name:"Grok Vision Beta",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:5,output:15,cacheRead:5,cacheWrite:0},releaseDate:"2024-11-01",family:"grok-vision"},"grok-2":{id:"grok-2",name:"Grok 2",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20",family:"grok"},"grok-2-latest":{id:"grok-2-latest",name:"Grok 2 Latest",contextWindow:131072,maxTokens:8192,capabilities:["tools","temperature","prompt-cache"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20",family:"grok"},"grok-2-vision":{id:"grok-2-vision",name:"Grok 2 Vision",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20",family:"grok"},"grok-2-vision-1212":{id:"grok-2-vision-1212",name:"Grok 2 Vision (1212)",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20",family:"grok"},"grok-2-vision-latest":{id:"grok-2-vision-latest",name:"Grok 2 Vision Latest",contextWindow:8192,maxTokens:4096,capabilities:["images","tools","temperature","prompt-cache"],pricing:{input:2,output:10,cacheRead:2,cacheWrite:0},releaseDate:"2024-08-20",family:"grok"}},xiaomi:{"mimo-v2.5":{id:"mimo-v2.5",name:"MiMo-V2.5",contextWindow:1048576,maxTokens:131072,capabilities:["images","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.4,output:2,cacheRead:0.08,cacheWrite:0},releaseDate:"2026-04-22",family:"mimo"},"mimo-v2.5-pro":{id:"mimo-v2.5-pro",name:"MiMo-V2.5-Pro",contextWindow:1048576,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-04-22",family:"mimo"},"mimo-v2-omni":{id:"mimo-v2-omni",name:"MiMo-V2-Omni",contextWindow:262144,maxTokens:131072,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:0.4,output:2,cacheRead:0.08,cacheWrite:0},releaseDate:"2026-03-18",family:"mimo"},"mimo-v2-pro":{id:"mimo-v2-pro",name:"MiMo-V2-Pro",contextWindow:1048576,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-03-18",family:"mimo"},"mimo-v2-flash":{id:"mimo-v2-flash",name:"MiMo-V2-Flash",contextWindow:262144,maxTokens:65536,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.1,output:0.3,cacheRead:0.01,cacheWrite:0},releaseDate:"2025-12-16",family:"mimo"}},zai:{"glm-5v-turbo":{id:"glm-5v-turbo",name:"GLM-5V-Turbo",contextWindow:200000,maxTokens:131072,capabilities:["images","files","tools","reasoning","temperature","prompt-cache"],pricing:{input:1.2,output:4,cacheRead:0.24,cacheWrite:0},releaseDate:"2026-04-01",family:"glm"},"glm-5.1":{id:"glm-5.1",name:"GLM-5.1",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.4,output:4.4,cacheRead:0.26,cacheWrite:0},releaseDate:"2026-03-27",family:"glm"},"glm-5-turbo":{id:"glm-5-turbo",name:"GLM-5-Turbo",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature","prompt-cache"],pricing:{input:1.2,output:4,cacheRead:0.24,cacheWrite:0},releaseDate:"2026-03-16",family:"glm"},"glm-5":{id:"glm-5",name:"GLM-5",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:1,output:3.2,cacheRead:0.2,cacheWrite:0},releaseDate:"2026-02-11",family:"glm"},"glm-4.7-flash":{id:"glm-4.7-flash",name:"GLM-4.7-Flash",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-01-19",family:"glm-flash"},"glm-4.7-flashx":{id:"glm-4.7-flashx",name:"GLM-4.7-FlashX",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.07,output:0.4,cacheRead:0.01,cacheWrite:0},releaseDate:"2026-01-19",family:"glm-flash"},"glm-4.7":{id:"glm-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-12-22",family:"glm"},"glm-4.6v":{id:"glm-4.6v",name:"GLM-4.6V",contextWindow:128000,maxTokens:32768,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.3,output:0.9,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-08",family:"glm"},"glm-4.6":{id:"glm-4.6",name:"GLM-4.6",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-09-30",family:"glm"},"glm-4.5v":{id:"glm-4.5v",name:"GLM-4.5V",contextWindow:64000,maxTokens:16384,capabilities:["images","tools","reasoning","temperature"],pricing:{input:0.6,output:1.8,cacheRead:0,cacheWrite:0},releaseDate:"2025-08-11",family:"glm"},"glm-4.5":{id:"glm-4.5",name:"GLM-4.5",contextWindow:131072,maxTokens:98304,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.6,output:2.2,cacheRead:0.11,cacheWrite:0},releaseDate:"2025-07-28",family:"glm"},"glm-4.5-air":{id:"glm-4.5-air",name:"GLM-4.5-Air",contextWindow:131072,maxTokens:98304,capabilities:["tools","reasoning","temperature","prompt-cache"],pricing:{input:0.2,output:1.1,cacheRead:0.03,cacheWrite:0},releaseDate:"2025-07-28",family:"glm-air"},"glm-4.5-flash":{id:"glm-4.5-flash",name:"GLM-4.5-Flash",contextWindow:131072,maxTokens:98304,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-28",family:"glm-flash"}},"zai-coding-plan":{"glm-5v-turbo":{id:"glm-5v-turbo",name:"GLM-5V-Turbo",contextWindow:200000,maxTokens:131072,capabilities:["images","files","tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-04-01",family:"glm"},"glm-5.1":{id:"glm-5.1",name:"GLM-5.1",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-27",family:"glm"},"glm-5-turbo":{id:"glm-5-turbo",name:"GLM-5-Turbo",contextWindow:200000,maxTokens:131072,capabilities:["tools","reasoning","structured_output","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2026-03-16",family:"glm"},"glm-4.7":{id:"glm-4.7",name:"GLM-4.7",contextWindow:204800,maxTokens:131072,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-12-22",family:"glm"},"glm-4.5-air":{id:"glm-4.5-air",name:"GLM-4.5-Air",contextWindow:131072,maxTokens:98304,capabilities:["tools","reasoning","temperature"],pricing:{input:0,output:0,cacheRead:0,cacheWrite:0},releaseDate:"2025-07-28",family:"glm-air"}}}};var Ro=[{modelsDevKey:"openai",generatedProviderId:"openai-native",runtimeProviderId:"openai-native"},{modelsDevKey:"openai",generatedProviderId:"openai-native",runtimeProviderId:"openai-codex-cli"},{modelsDevKey:"anthropic",generatedProviderId:"anthropic"},{modelsDevKey:"anthropic",generatedProviderId:"anthropic",runtimeProviderId:"claude-code"},{modelsDevKey:"google",generatedProviderId:"gemini"},{modelsDevKey:"deepseek",generatedProviderId:"deepseek",runtimeProviderId:"deepseek"},{modelsDevKey:"xai",generatedProviderId:"xai"},{modelsDevKey:"togetherai",generatedProviderId:"together",runtimeProviderId:"together"},{modelsDevKey:"sap-ai-core",generatedProviderId:"sapaicore",runtimeProviderId:"sapaicore"},{modelsDevKey:"ollama",runtimeProviderId:"ollama-cloud"},{modelsDevKey:"ollama-cloud",generatedProviderId:"ollama"},{modelsDevKey:"fireworks-ai",generatedProviderId:"fireworks",runtimeProviderId:"fireworks"},{modelsDevKey:"groq",generatedProviderId:"groq",runtimeProviderId:"groq"},{modelsDevKey:"cerebras",generatedProviderId:"cerebras",runtimeProviderId:"cerebras"},{modelsDevKey:"sambanova",generatedProviderId:"sambanova",runtimeProviderId:"sambanova"},{modelsDevKey:"nebius",generatedProviderId:"nebius",runtimeProviderId:"nebius"},{modelsDevKey:"huggingface",generatedProviderId:"huggingface",runtimeProviderId:"huggingface"},{modelsDevKey:"openrouter",generatedProviderId:"openrouter"},{modelsDevKey:"vercel",generatedProviderId:"vercel-ai-gateway",runtimeProviderId:"dify"},{modelsDevKey:"vercel",generatedProviderId:"vercel-ai-gateway"},{modelsDevKey:"openrouter",generatedProviderId:"openrouter",runtimeProviderId:"cline"},{modelsDevKey:"aihubmix",generatedProviderId:"aihubmix",runtimeProviderId:"aihubmix"},{modelsDevKey:"hicap",runtimeProviderId:"hicap"},{modelsDevKey:"nous-research",runtimeProviderId:"nousResearch"},{modelsDevKey:"huawei-cloud-maas",runtimeProviderId:"huawei-cloud-maas"},{modelsDevKey:"baseten",generatedProviderId:"baseten",runtimeProviderId:"baseten"},{modelsDevKey:"zai-coding-plan",generatedProviderId:"zai-coding-plan"},{modelsDevKey:"google-vertex-anthropic",generatedProviderId:"vertex"},{modelsDevKey:"lmstudio",generatedProviderId:"lmstudio"},{modelsDevKey:"zai",generatedProviderId:"zai"},{modelsDevKey:"requesty",generatedProviderId:"requesty"},{modelsDevKey:"amazon-bedrock",generatedProviderId:"bedrock"},{modelsDevKey:"moonshotai",generatedProviderId:"moonshot"},{modelsDevKey:"minimax",generatedProviderId:"minimax"},{modelsDevKey:"wandb",generatedProviderId:"wandb"},{modelsDevKey:"kilo",generatedProviderId:"kilo"},{modelsDevKey:"xiaomi",generatedProviderId:"xiaomi"},{modelsDevKey:"v0",generatedProviderId:"v0"}];function Zo(e){return[...new Set(e)]}var Mo=Object.fromEntries(Ro.flatMap((e)=>e.generatedProviderId?[[e.modelsDevKey,e.generatedProviderId]]:[]));function wg(e){let t=Ro.flatMap((n)=>{if(!n.generatedProviderId)return[];if(n.generatedProviderId===e||n.runtimeProviderId===e)return[n.generatedProviderId];return[]});if(e==="nousResearch")return Zo([...t,"nousresearch",e]);return Zo([...t,e])}var Sg=4096,Ig=4096;function Lo(e){if(!e)return Number.NEGATIVE_INFINITY;let t=Date.parse(e);return Number.isNaN(t)?Number.NEGATIVE_INFINITY:t}function Xe(e){return Object.fromEntries(Object.entries(e).sort(([t,n],[a,i])=>{let r=Lo(n.releaseDate),o=Lo(i.releaseDate);if(r!==o)return o-r;return t.localeCompare(a)}))}function xg(e){let t=[];if(e.modalities?.input?.includes("image"))t.push("images");if(e.modalities?.input?.includes("pdf"))t.push("files");if(e.tool_call===!0)t.push("tools");if(e.reasoning===!0)t.push("reasoning");if(e.structured_output===!0)t.push("structured_output");if(e.temperature===!0)t.push("temperature");if(e.cost?.cache_read&&e.cost?.cache_read>=0||e.cost?.cache_write&&e.cost?.cache_write>=0)t.push("prompt-cache");return t}function zg(e){if(e==="active"||e==="preview"||e==="deprecated"||e==="legacy")return e;return}function Ug(e,t){let n=t.limit?.context??Sg,a=t.limit?.output??Ig,i=n===a?a*0.05:a;return{id:e,name:t.name||e,contextWindow:n,maxTokens:Math.floor(i),capabilities:xg(t),pricing:{input:t.cost?.input??0,output:t.cost?.output??0,cacheRead:t.cost?.cache_read??0,cacheWrite:t.cost?.cache_write??0},status:zg(t.status),releaseDate:t.release_date,family:t.family}}function Pg(e){return e.status==="deprecated"}function Eg(e){let t={};for(let[n,a]of Object.entries(Mo)){let i=e[n];if(!i?.models)continue;let r={};for(let[o,s]of Object.entries(i.models)){if(s.tool_call!==!0||Pg(s))continue;r[o]=Ug(o,s)}if(Object.keys(r).length>0)t[a]=Xe(r)}return t}async function Fo(e,t=fetch){let n=await t(e);if(!n.ok)throw Error(`Failed to load model catalog from ${e}: HTTP ${n.status}`);let a=await n.json();return Eg(a)}var Jo,Ko=new Map;function Go(){return Jo??=Object.fromEntries(Object.entries(Zn.providers).map(([e,t])=>[e,Xe(t)])),Jo}function di(e){let t=Ko.get(e);if(t)return t;let n=Xe(Zn.providers[e]??{});return Ko.set(e,n),n}bn();var mS="https://code.aiservice.us-chicago-1.oci.oraclecloud.com/20250206/app/litellm";function fS(e){return Object.fromEntries(Object.entries(e).map(([t,n])=>[t,{...n}]))}function mo(e){return fS(di(e))}function co(e){let t=Object.entries(mo("anthropic")).find(([n])=>e(n));if(t)return t[1];return{id:"sonnet",name:"Claude Sonnet",capabilities:["streaming","reasoning"]}}function pS(){function e(t){return{...t==="opus"?co((a)=>a.includes("opus")):t==="haiku"?co((a)=>a.includes("haiku")):co((a)=>a.includes("sonnet")),id:t,name:`Claude ${t.charAt(0).toUpperCase()}${t.slice(1)}`}}return{opus:e("opus"),sonnet:e("sonnet"),haiku:e("haiku")}}function vS(){let e=mo("openai");return Object.fromEntries(["gpt-5.4","gpt-5.3-codex"].map((n)=>[n,e[n]??{id:n,name:n,capabilities:["tools","reasoning","streaming"]}]))}function gS(e,t){let n=new Set(["text"]);for(let i of t.capabilities??[])switch(i){case"tools":n.add("tools");break;case"reasoning":n.add("reasoning");break;case"images":n.add("images");break;case"structured_output":n.add("structured-output");break}let a={};if(t.family)a.family=t.family;if(t.pricing)a.pricing=t.pricing;if(t.status)a.status=t.status;if(t.releaseDate)a.releaseDate=t.releaseDate;return{id:t.id,name:t.name??t.id,providerId:e,description:t.description,contextWindow:t.contextWindow,maxOutputTokens:t.maxTokens,capabilities:[...n],metadata:Object.keys(a).length>0?a:void 0}}function hS(e){if(e.client==="openai")return"openai-responses";switch(e.family){case"openai":return"openai-responses";case"anthropic":case"bedrock":return"anthropic";case"google":case"vertex":return"gemini";default:return"openai-chat"}}function yS(e){if(e.protocol==="openai-responses")return"openai";switch(e.family){case"openai":return"openai";case"anthropic":return"anthropic";case"google":return"gemini";case"vertex":return"vertex";case"bedrock":return"bedrock";case"mistral":case"claude-code":case"openai-codex":case"opencode":case"dify":return"ai-sdk-community";default:return"openai-compatible"}}var bS=[{id:"cline",name:"Cline",description:"Cline API endpoint",family:"openai-compatible",capabilities:["reasoning","prompt-cache","tools","oauth"],modelsProviderId:"openrouter",defaultModelId:"anthropic/claude-sonnet-4.6",apiKeyEnv:["CLINE_API_KEY"],defaults:{get baseUrl(){return`${uo().apiBaseUrl}/api/v1`}},metadata:{promptCacheStrategy:"anthropic-automatic"}},{id:"deepseek",name:"DeepSeek",description:"Advanced AI models with reasoning capabilities",family:"openai-compatible",capabilities:["reasoning","prompt-cache"],defaultModelId:"deepseek-v4-flash",apiKeyEnv:["DEEPSEEK_API_KEY"],defaults:{baseUrl:"https://api.deepseek.com/v1"}},{id:"xai",name:"xAI",description:"Creator of Grok AI assistant",family:"openai-compatible",capabilities:["reasoning"],defaultModelId:"grok-4.20-0309-non-reasoning",apiKeyEnv:["XAI_API_KEY"],defaults:{baseUrl:"https://api.x.ai/v1"}},{id:"together",name:"Together AI",description:"Fast inference for open-source models",family:"openai-compatible",capabilities:["reasoning"],defaultModelId:"Qwen/Qwen3.5-397B-A17B",apiKeyEnv:["TOGETHER_API_KEY"],defaults:{baseUrl:"https://api.together.xyz/v1"}},{id:"fireworks",name:"Fireworks AI",description:"High-performance inference platform",family:"openai-compatible",defaultModelId:"accounts/fireworks/models/minimax-m2p5",apiKeyEnv:["FIREWORKS_API_KEY"],defaults:{baseUrl:"https://api.fireworks.ai/inference/v1"}},{id:"groq",name:"Groq",description:"Ultra-fast LPU inference",family:"openai-compatible",defaultModelId:"moonshotai/kimi-k2-instruct-0905",apiKeyEnv:["GROQ_API_KEY"],defaults:{baseUrl:"https://api.groq.com/openai/v1"}},{id:"cerebras",name:"Cerebras",description:"Fast inference on Cerebras wafer-scale chips",family:"openai-compatible",defaultModelId:"zai-glm-4.7",apiKeyEnv:["CEREBRAS_API_KEY"],defaults:{baseUrl:"https://api.cerebras.ai/v1"}},{id:"sambanova",name:"SambaNova",description:"High-performance AI inference",family:"openai-compatible",apiKeyEnv:["SAMBANOVA_API_KEY"],modelsProviderId:"sambanova",defaults:{baseUrl:"https://api.sambanova.ai/v1"}},{id:"nebius",name:"Nebius",description:"European cloud AI infrastructure",family:"openai-compatible",defaultModelId:"nvidia/nemotron-3-super-120b-a12b",apiKeyEnv:["NEBIUS_API_KEY"],defaults:{baseUrl:"https://api.studio.nebius.ai/v1"}},{id:"baseten",name:"Baseten",description:"ML inference platform",family:"openai-compatible",apiKeyEnv:["BASETEN_API_KEY"],modelsProviderId:"baseten",defaults:{baseUrl:"https://model-api.baseten.co/v1"}},{id:"requesty",name:"Requesty",description:"AI router with multiple provider support",family:"openai-compatible",capabilities:["reasoning"],defaultModelId:"openai/gpt-5.4",apiKeyEnv:["REQUESTY_API_KEY"],modelsProviderId:"requesty",defaults:{baseUrl:"https://router.requesty.ai/v1"}},{id:"litellm",name:"LiteLLM",description:"Self-hosted LLM proxy",family:"openai-compatible",protocol:"openai-responses",capabilities:["prompt-cache"],defaultModelId:"gpt-5.4",apiKeyEnv:["LITELLM_API_KEY"],defaults:{baseUrl:"http://localhost:4000/v1"}},{id:"huggingface",name:"Hugging Face",description:"Hugging Face inference API",family:"openai-compatible",defaultModelId:"MiniMaxAI/MiniMax-M2.5",apiKeyEnv:["HF_TOKEN"],modelsProviderId:"huggingface",defaults:{baseUrl:"https://api-inference.huggingface.co/v1"}},{id:"vercel-ai-gateway",name:"Vercel AI Gateway",description:"Vercel's AI gateway service",family:"openai-compatible",capabilities:["reasoning"],defaultModelId:"alibaba/qwen3.6-plus",apiKeyEnv:["AI_GATEWAY_API_KEY"],modelsProviderId:"vercel-ai-gateway",defaults:{baseUrl:"https://ai-gateway.vercel.sh/v1"},metadata:{promptCacheStrategy:"anthropic-automatic"}},{id:"v0",name:"Vercel V0",description:"The Vercel provider gives you access to the v0 API, designed for building modern web applications.",family:"openai-compatible",protocol:"openai-responses",capabilities:["reasoning","tools"],defaultModelId:"v0-1.5-md",apiKeyEnv:["V0_API_KEY"],modelsProviderId:"v0",defaults:{baseUrl:"https://api.v0.dev/v1"}},{id:"aihubmix",name:"AI Hub Mix",description:"AI model aggregator",family:"openai-compatible",defaultModelId:"gpt-4o",apiKeyEnv:["AIHUBMIX_API_KEY"],modelsProviderId:"aihubmix",defaults:{baseUrl:"https://api.aihubmix.com/v1"},metadata:{promptCacheStrategy:"anthropic-automatic"}},{id:"hicap",name:"HiCap",description:"HiCap AI platform",family:"openai-compatible",defaultModelId:"hicap-pro",apiKeyEnv:["HICAP_API_KEY"],defaults:{baseUrl:"https://api.hicap.ai/v1"}},{id:"nousResearch",name:"Nous Research",description:"Open-source AI research lab",family:"openai-compatible",defaultModelId:"DeepHermes-3-Llama-3-3-70B-Preview",apiKeyEnv:["NOUS_RESEARCH_API_KEY","NOUSRESEARCH_API_KEY"],modelsProviderId:"nousResearch",defaults:{baseUrl:"https://inference-api.nousresearch.com/v1"}},{id:"huawei-cloud-maas",name:"Huawei Cloud MaaS",description:"Huawei's model-as-a-service platform",family:"openai-compatible",defaultModelId:"DeepSeek-R1",apiKeyEnv:["HUAWEI_CLOUD_MAAS_API_KEY"],defaults:{baseUrl:"https://infer-modelarts.cn-southwest-2.myhuaweicloud.com/v1"}},{id:"qwen",name:"Alibaba Qwen",description:"Alibaba Qwen platform models",family:"openai-compatible",capabilities:["tools","reasoning"],defaultModelId:"qwen-plus-latest",apiKeyEnv:["QWEN_API_KEY"],modelsProviderId:"qwen",defaults:{baseUrl:"https://dashscope.aliyuncs.com/compatible-mode/v1"},metadata:{promptCacheStrategy:"anthropic-automatic"}},{id:"qwen-code",name:"Alibaba Qwen Code",description:"Qwen OAuth coding models",family:"openai-compatible",capabilities:["tools","reasoning"],defaultModelId:"qwen3-coder-plus",modelsProviderId:"qwen-code",defaults:{baseUrl:"https://dashscope.aliyuncs.com/compatible-mode/v1"},metadata:{promptCacheStrategy:"anthropic-automatic"}},{id:"doubao",name:"Doubao",description:"Volcengine Ark platform models",family:"openai-compatible",capabilities:["tools"],defaultModelId:"doubao-1-5-pro-256k-250115",apiKeyEnv:["DOUBAO_API_KEY"],modelsProviderId:"doubao",defaults:{baseUrl:"https://ark.cn-beijing.volces.com/api/v3"}},{id:"zai",name:"Z.AI",description:"Z.AI's family of LLMs",family:"openai-compatible",capabilities:["reasoning"],defaultModelId:"glm-5v-turbo",apiKeyEnv:["ZHIPU_API_KEY"],modelsProviderId:"zai",defaults:{baseUrl:"https://api.z.ai/api/paas/v4"}},{id:"zai-coding-plan",name:"Z.AI Coding Plan",description:"Z.AI's coding-focused models",family:"openai-compatible",capabilities:["reasoning","tools"],defaultModelId:"glm-5v-turbo",apiKeyEnv:["ZHIPU_API_KEY"],modelsProviderId:"zai-coding-plan",defaults:{baseUrl:"https://api.z.ai/api/coding/paas/v4"}},{id:"moonshot",name:"Moonshot",description:"Moonshot AI Studio models",family:"openai-compatible",capabilities:["tools","reasoning"],defaultModelId:"kimi-k2-0905-preview",apiKeyEnv:["MOONSHOT_API_KEY"],modelsProviderId:"moonshot",defaults:{baseUrl:"https://api.moonshot.ai/v1"}},{id:"wandb",name:"W&B by CoreWeave",description:"Weights & Biases",family:"openai-compatible",capabilities:["reasoning","prompt-cache","tools"],defaultModelId:"nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-FP8",apiKeyEnv:["WANDB_API_KEY"],modelsProviderId:"wandb",defaults:{baseUrl:"https://api.inference.wandb.ai/v1"}},{id:"xiaomi",name:"Xiaomi",description:"Xiaomi",family:"openai-compatible",protocol:"openai-responses",capabilities:["prompt-cache","tools","reasoning"],defaultModelId:"mimo-v2-omni",apiKeyEnv:["XIAOMI_API_KEY"],modelsProviderId:"xiaomi",defaults:{baseUrl:"https://api.xiaomimimo.com/v1"}},{id:"kilo",name:"Kilo Gateway",description:"Kilo Gateway",family:"openai-compatible",protocol:"openai-responses",capabilities:["prompt-cache","reasoning","tools"],defaultModelId:"gpt-4o",apiKeyEnv:["KILO_GATEWAY_API_KEY"],modelsProviderId:"kilo",defaults:{baseUrl:"https://api.kilo.ai/api/gateway"}},{id:"openrouter",name:"OpenRouter",description:"OpenRouter AI platform",family:"openai-compatible",capabilities:["reasoning","prompt-cache"],defaultModelId:"anthropic/claude-sonnet-4.6",apiKeyEnv:["OPENROUTER_API_KEY"],modelsProviderId:"openrouter",docsUrl:"https://openrouter.ai/models",defaults:{baseUrl:"https://openrouter.ai/api/v1"},metadata:{promptCacheStrategy:"anthropic-automatic"}},{id:"ollama",name:"Ollama",description:"Ollama Cloud and local LLM hosting",family:"openai-compatible",defaultModelId:"",apiKeyEnv:["OLLAMA_API_KEY"],defaults:{baseUrl:"http://localhost:11434/v1"},modelsSourceUrl:"http://localhost:11434/api/tags"},{id:"lmstudio",name:"LM Studio",description:"Local model inference with LM Studio",family:"openai-compatible",defaultModelId:"",apiKeyEnv:["LMSTUDIO_API_KEY"],modelsProviderId:"lmstudio",defaults:{baseUrl:"http://localhost:1234/v1"},modelsSourceUrl:"http://localhost:1234/v1/models"},{id:"oca",name:"Oracle Code Assist",description:"Oracle Code Assist (OCA) LiteLLM gateway",family:"openai-compatible",capabilities:["reasoning","prompt-cache","tools"],defaultModelId:"anthropic/claude-3-7-sonnet-20250219",apiKeyEnv:["OCA_API_KEY"],modelsProviderId:"oca",defaults:{baseUrl:mS},metadata:{promptCacheStrategy:"anthropic-automatic"}},{id:"asksage",name:"AskSage",description:"AskSage platform",family:"openai-compatible",client:"fetch",capabilities:["tools"],defaultModelId:"gpt-4o",apiKeyEnv:["ASKSAGE_API_KEY"],modelsFactory:()=>({}),defaults:{baseUrl:"https://api.asksage.ai/server"}},{id:"sapaicore",name:"SAP AI Core",description:"SAP AI Core inference and orchestration platform",family:"openai-compatible",client:"ai-sdk-community",capabilities:["tools","reasoning","prompt-cache"],defaultModelId:"anthropic--claude-3.5-sonnet",apiKeyEnv:["AICORE_SERVICE_KEY","VCAP_SERVICES"],modelsProviderId:"sapaicore",metadata:{promptCacheStrategy:"anthropic-automatic"}}],fo=[{id:"openai-native",name:"OpenAI",description:"Creator of GPT and ChatGPT",family:"openai",capabilities:["reasoning"],modelsProviderId:"openai-native",defaultModelId:"gpt-5.4",apiKeyEnv:["OPENAI_API_KEY"],defaults:{baseUrl:"https://api.openai.com/v1"}},{id:"openai-codex",name:"OpenAI ChatGPT Subscription",description:"OpenAI ChatGPT subscription access uses an OAuth device code flow.",family:"openai",capabilities:["reasoning","oauth"],defaultModelId:"gpt-5.4",modelsFactory:vS,defaults:{baseUrl:"https://chatgpt.com/backend-api/codex"},metadata:{usageCostDisplay:"hide"}},{id:"openai-codex-cli",name:"OpenAI Codex CLI",description:"OpenAI Codex via the local Codex CLI provider",family:"openai-codex",capabilities:["reasoning","provider-tools","local-auth"],defaultModelId:"gpt-5.3-codex",modelsProviderId:"openai",defaults:{baseUrl:"https://chatgpt.com/backend-api/codex"},metadata:{usageCostDisplay:"hide"}},{id:"anthropic",name:"Anthropic",description:"Creator of Claude, the AI assistant",family:"anthropic",capabilities:["reasoning","prompt-cache"],defaultModelId:"claude-sonnet-4-6",apiKeyEnv:["ANTHROPIC_API_KEY"],modelsProviderId:"anthropic",defaults:{baseUrl:"https://api.anthropic.com/v1"},metadata:{promptCacheStrategy:"anthropic-automatic"}},{id:"claude-code",name:"Claude Code",description:"Use Claude Code SDK with Claude Pro/Max subscription",family:"claude-code",capabilities:["reasoning"],defaultModelId:"sonnet",modelsFactory:pS,defaults:{baseUrl:""}},{id:"gemini",name:"Google Gemini",description:"Google Gemini API",family:"google",capabilities:["reasoning","prompt-cache"],defaultModelId:"gemma-4-26b",apiKeyEnv:["GOOGLE_GENERATIVE_AI_API_KEY","GEMINI_API_KEY"],modelsProviderId:"gemini",defaults:{baseUrl:"https://generativelanguage.googleapis.com/v1beta"}},{id:"vertex",name:"Google Vertex AI",description:"Google Cloud Vertex AI",family:"vertex",capabilities:["reasoning","prompt-cache"],defaultModelId:"claude-sonnet-4-6@default",apiKeyEnv:["GCP_PROJECT_ID","GOOGLE_CLOUD_PROJECT","GOOGLE_APPLICATION_CREDENTIALS","GEMINI_API_KEY","GOOGLE_API_KEY"],modelsProviderId:"vertex",metadata:{promptCacheStrategy:"anthropic-automatic"}},{id:"bedrock",name:"AWS Bedrock",description:"Amazon Bedrock managed foundation models",family:"bedrock",capabilities:["reasoning","prompt-cache"],defaultModelId:"minimax.minimax-m2.5",apiKeyEnv:["AWS_REGION","AWS_ACCESS_KEY_ID","AWS_SECRET_ACCESS_KEY","AWS_SESSION_TOKEN"],modelsProviderId:"bedrock",metadata:{promptCacheStrategy:"anthropic-automatic"}},{id:"mistral",name:"Mistral",description:"Mistral AI models via AI SDK provider",family:"mistral",capabilities:["reasoning"],defaultModelId:"mistral-medium-latest",apiKeyEnv:["MISTRAL_API_KEY"],modelsFactory:()=>({}),defaults:{baseUrl:"https://api.mistral.ai/v1"}},{id:"minimax",name:"MiniMax",description:"MiniMax models via Anthropic-compatible API",family:"anthropic",capabilities:["tools","reasoning","prompt-cache"],defaultModelId:"MiniMax-M2.5",apiKeyEnv:["MINIMAX_API_KEY"],modelsProviderId:"minimax",defaults:{baseUrl:"https://api.minimax.io/anthropic"},metadata:{promptCacheStrategy:"anthropic-automatic"}},{id:"opencode",name:"OpenCode",description:"OpenCode SDK multi-provider runtime",family:"opencode",capabilities:["reasoning","oauth"],defaultModelId:"openai/gpt-5.4",modelsProviderId:"opencode",defaults:{baseUrl:""}},{id:"dify",name:"Dify",description:"Dify workflow/application provider via AI SDK",family:"dify",defaultModelId:"default",apiKeyEnv:["DIFY_API_KEY"],modelsFactory:()=>({})},...bS];function $S(e){if(e.modelsFactory)return e.modelsFactory();if(e.modelsProviderId)return mo(e.modelsProviderId);return{}}function tv(e){let t=$S(e),n=Object.keys(t).length>0?t:e.defaultModelId?{[e.defaultModelId]:{id:e.defaultModelId,name:e.defaultModelId}}:{},a=Object.keys(n),i=e.defaultModelId||a[0]||"default";return{provider:{id:e.id,name:e.name,description:e.description,protocol:e.protocol??hS(e),baseUrl:e.defaults?.baseUrl,modelsSourceUrl:e.modelsSourceUrl,defaultModelId:i,capabilities:e.capabilities,env:e.apiKeyEnv?[...e.apiKeyEnv]:void 0,client:e.client??yS(e),source:"system",metadata:e.metadata},models:n}}function iv(e){let t=tv(e),n=Object.values(t.models).map((i)=>gS(e.id,i)),a=n.length>0?n:[{id:t.provider.defaultModelId||"default",name:t.provider.defaultModelId||"Default",providerId:e.id,capabilities:["text"]}];return{id:e.id,name:e.name,description:e.description,defaultModelId:t.provider.defaultModelId||a[0]?.id||"default",models:a,capabilities:e.capabilities,env:e.env??["browser","node"],api:e.defaults?.baseUrl,apiKeyEnv:e.apiKeyEnv,docsUrl:e.docsUrl,metadata:e.metadata}}var po=fo.map(tv),zx=Object.fromEntries(po.map((e)=>[e.provider.id,e]));function _S(){let e=new Map;for(let t of po)e.set(t.provider.id,{provider:{...t.provider},models:Object.fromEntries(Object.entries(t.models).map(([n,a])=>[n,{...a}]))});return e}var ei=_S(),dt=new Map,Fe=new Map;function Le(e){return Fe.get(e)??ei.get(e)}function $n(){let e=Array.from(ei.keys()),t=Array.from(Fe.keys()).filter((n)=>!ei.has(n));return[...e,...t]}function nv(e){return ei.has(e)||Fe.has(e)}async function rv(e){return Le(e)?.provider}function Je(e){return Le(e)}async function ti(e){return Le(e)}async function av(e){let n=Le(e)?.models??{},a=dt.get(e);if(a)return{...n,...Object.fromEntries(a)};return n}async function ov(){return $n().map((e)=>Le(e)?.provider).filter((e)=>e!==void 0)}function sv(e){Fe.set(e.provider.id,e)}function uv(e,t,n){if(!dt.has(e))dt.set(e,new Map);dt.get(e)?.set(t,{...n,id:t})}function lv(e){return dt.delete(e),Fe.delete(e)}function dv(){dt.clear(),Fe.clear()}var cv=new Proxy({},{get(e,t){return Le(t)},has(e,t){return ei.has(t)||Fe.has(t)},ownKeys(){return $n()},getOwnPropertyDescriptor(e,t){let n=Le(t);if(n===void 0)return;return{configurable:!0,enumerable:!0,value:n}}});var ct;((I)=>{I.ANTHROPIC="anthropic";I.CLAUDE_CODE="claude-code";I.CLINE="cline";I.OPENAI_NATIVE="openai-native";I.OPENAI_CODEX="openai-codex";I.OPENAI_CODEX_CLI="openai-codex-cli";I.OPENCODE="opencode";I.BEDROCK="bedrock";I.VERTEX="vertex";I.GEMINI="gemini";I.OLLAMA="ollama";I.LMSTUDIO="lmstudio";I.DEEPSEEK="deepseek";I.XAI="xai";I.TOGETHER="together";I.FIREWORKS="fireworks";I.GROQ="groq";I.CEREBRAS="cerebras";I.SAMBANOVA="sambanova";I.NEBIUS="nebius";I.BASETEN="baseten";I.REQUESTY="requesty";I.LITELLM="litellm";I.HUGGINGFACE="huggingface";I.VERCEL_AI_GATEWAY="vercel-ai-gateway";I.V0="v0";I.AIHUBMIX="aihubmix";I.HICAP="hicap";I.NOUS_RESEARCH="nousResearch";I.HUAWEI_CLOUD_MAAS="huawei-cloud-maas";I.WANDB="wandb";I.XIAOMI="xiaomi";I.KILO="kilo";I.ZAI="zai";I.ZAI_CODING_PLAN="zai-coding-plan";I.QWEN="qwen";I.QWEN_CODE="qwen-code";I.DOUBAO="doubao";I.MISTRAL="mistral";I.MOONSHOT="moonshot";I.ASKSAGE="asksage";I.MINIMAX="minimax";I.DIFY="dify";I.OCA="oca";I.SAPAICORE="sapaicore";I.OPENROUTER="openrouter"})(ct||={});var kS={openai:"openai-native",togetherai:"together","sap-ai-core":"sapaicore"},ii=Object.values(ct);function _n(e){return ii.includes(e)}function F(e){let t=e.trim();return kS[t]??t}function kn(e){return F(e.routingProviderId??e.providerId)}te();import{nanoid as Eo}from"nanoid";var Qv=new Map;async function HI(e){let t=Qv.get(e);if(t)return t;let n=(async()=>{switch(e){case"openai":return(await Promise.resolve().then(() => (te(),oe))).createOpenAIProvider;case"openai-compatible":return(await Promise.resolve().then(() => (te(),oe))).createOpenAICompatibleProvider;case"anthropic":return(await Promise.resolve().then(() => (te(),oe))).createAnthropicProvider;case"google":return(await Promise.resolve().then(() => (te(),oe))).createGoogleProvider;case"vertex":return(await Promise.resolve().then(() => (te(),oe))).createVertexProvider;case"bedrock":return(await Promise.resolve().then(() => (te(),oe))).createBedrockProvider;case"mistral":return(await Promise.resolve().then(() => (te(),oe))).createMistralProvider;case"claude-code":return(await Promise.resolve().then(() => (te(),oe))).createClaudeCodeProvider;case"openai-codex":return(await Promise.resolve().then(() => (te(),oe))).createOpenAICodexProvider;case"opencode":return(await Promise.resolve().then(() => (te(),oe))).createOpenCodeProvider;case"dify":return(await Promise.resolve().then(() => (te(),oe))).createDifyProvider}})();return Qv.set(e,n),n}function BI(e){if(e.family==="openai"||e.protocol==="openai-responses"||e.client==="openai")return"openai";return e.family}var ai=fo.map((e)=>({manifest:iv(e),defaults:{...e.defaults,apiKeyEnv:e.apiKeyEnv,baseUrl:e.defaults?.baseUrl},loadProvider:async()=>({createProvider:await HI(BI(e))})}));async function*qv(e){for await(let t of e)yield t}function eg(e){return{...e,models:e.models.map((t)=>({...t})),capabilities:e.capabilities?[...e.capabilities]:void 0,env:e.env?[...e.env]:void 0,api:e.api,apiKeyEnv:e.apiKeyEnv?[...e.apiKeyEnv]:void 0,docsUrl:e.docsUrl,metadata:e.metadata?{...e.metadata}:void 0}}function XI(e,t){let n=new Map;for(let a of e.models)n.set(a.id,{...a});for(let a of t?.models??[])n.set(a.id,{...a,providerId:e.id});return Array.from(n.values())}function VI(e,t){return{id:t,name:t,providerId:e.id}}class zo{providers=new Map;providerConfigs=new Map;fallbackFetch;constructor(e){this.fallbackFetch=e}registerProvider(e){if(!e.createProvider&&!e.loadProvider)throw Error(`Provider "${e.manifest.id}" must include createProvider or loadProvider.`);this.providers.set(e.manifest.id,{manifest:eg(e.manifest),defaults:e.defaults?{providerId:e.manifest.id,apiKey:e.defaults.apiKey,apiKeyResolver:e.defaults.apiKeyResolver,apiKeyEnv:e.defaults.apiKeyEnv,baseUrl:e.defaults.baseUrl,headers:e.defaults.headers?{...e.defaults.headers}:void 0,timeoutMs:e.defaults.timeoutMs,fetch:e.defaults.fetch,options:e.defaults.options?{...e.defaults.options}:void 0,metadata:e.defaults.metadata?{...e.defaults.metadata}:void 0}:void 0,createProvider:e.createProvider,loadProvider:e.loadProvider})}configureProvider(e){this.providerConfigs.set(e.providerId,{providerId:e.providerId,apiKey:e.apiKey,apiKeyResolver:e.apiKeyResolver,apiKeyEnv:e.apiKeyEnv,baseUrl:e.baseUrl,headers:e.headers?{...e.headers}:void 0,timeoutMs:e.timeoutMs,fetch:e.fetch,options:e.options?{...e.options}:void 0,metadata:e.metadata?{...e.metadata}:void 0,enabled:e.enabled??!0,defaultModelId:e.defaultModelId,models:e.models?.map((t)=>({...t}))})}listProviders(){return Array.from(this.providers.values()).map((e)=>this.getManifest(e.manifest.id)).filter((e)=>e!==void 0)}listModels(e){if(e)return[...this.getManifest(e)?.models??[]];return this.listProviders().flatMap((t)=>t.models.map((n)=>({...n})))}getManifest(e){let t=this.providers.get(e);if(!t)return;let n=this.providerConfigs.get(e);if(n&&!n.enabled)return;let a=XI(t.manifest,n),i=n?.defaultModelId??t.manifest.defaultModelId??a[0]?.id;if(!i)return;return{...eg(t.manifest),defaultModelId:i,models:a,metadata:n?.metadata||t.manifest.metadata?{...t.manifest.metadata??{},...n?.metadata??{}}:void 0}}resolveModel(e){let t=this.getManifest(e.providerId);if(!t)throw Error(`Unknown or disabled provider "${e.providerId}".`);let n=e.modelId??t.defaultModelId,a=t.models.find((i)=>i.id===n)??VI(t,n);return{provider:t,model:a}}async createProvider(e){let t=this.providers.get(e);if(!t)throw Error(`Unknown provider "${e}".`);if(!t.createProvider){let o=await t.loadProvider?.();if(!o?.createProvider)throw Error(`Provider "${e}" could not be loaded.`);t.createProvider=o.createProvider}let n=this.getManifest(e);if(!n)throw Error(`Provider "${e}" is disabled.`);let a=this.providerConfigs.get(e),i={...t.defaults?.metadata??{},...a?.metadata??{}},r=Object.keys(i).length>0?i:void 0;return{manifest:n,config:{providerId:e,apiKey:a?.apiKey??t.defaults?.apiKey,apiKeyResolver:a?.apiKeyResolver??t.defaults?.apiKeyResolver,apiKeyEnv:a?.apiKeyEnv??t.defaults?.apiKeyEnv,baseUrl:a?.baseUrl??t.defaults?.baseUrl,headers:{...t.defaults?.headers??{},...a?.headers??{}},timeoutMs:a?.timeoutMs??t.defaults?.timeoutMs,fetch:a?.fetch??t.defaults?.fetch??this.fallbackFetch,options:{...t.defaults?.options??{},...a?.options??{}},metadata:r},createProvider:t.createProvider}}}class tg{gateway;selection;defaults;constructor(e,t,n){this.gateway=e;this.selection=t;this.defaults=n}stream(e){let t=e.options?.reasoning,n=e.options?.thinking,a=e.options?.reasoningEffort,i=e.options?.thinkingBudgetTokens,r=a==="low"||a==="medium"||a==="high"?a:void 0,o=typeof n==="boolean"||r!==void 0||typeof i==="number"?{enabled:typeof n==="boolean"?n:void 0,effort:r,budgetTokens:typeof i==="number"?i:void 0}:void 0;return this.gateway.stream({providerId:this.selection.providerId,modelId:this.selection.modelId??"",systemPrompt:e.systemPrompt,messages:e.messages,tools:this.defaults?.tools??e.tools,temperature:e.options?.temperature??this.defaults?.temperature,maxTokens:e.options?.maxTokens??this.defaults?.maxTokens,metadata:e.options?.metadata??this.defaults?.metadata,reasoning:t??o??this.defaults?.reasoning,signal:e.signal??this.defaults?.signal})}}class Uo{registry;logger;constructor(e={}){if(this.registry=new zo(e.fetch),this.logger=e.logger,e.builtins!==!1){let t=new Set(e.builtins??ai.map((n)=>n.manifest.id));for(let n of ai)if(t.has(n.manifest.id))this.registry.registerProvider(n)}for(let t of e.providers??[])this.registry.registerProvider(t);for(let t of e.providerConfigs??[])this.registry.configureProvider(t)}registerProvider(e){return this.registry.registerProvider(e),this}configureProvider(e){return this.registry.configureProvider(e),this}listProviders(){return this.registry.listProviders()}listModels(e){return this.registry.listModels(e)}createAgentModel(e,t){return new tg(this,e,t)}async stream(e){let t=this.registry.resolveModel({providerId:e.providerId,modelId:e.modelId||void 0}),n=await this.registry.createProvider(e.providerId),i=await(await n.createProvider(n.config)).stream({...e,modelId:t.model.id,providerId:t.provider.id},{provider:t.provider,model:t.model,config:n.config,signal:e.signal,logger:this.logger});return qv(i)}}function An(e){return new Uo(e)}var vt=new Map(ai.map((e)=>[e.manifest.id,e]));function YI(e){if(!e?.length)return;let t=new Set;for(let n of e)switch(n){case"tools":case"reasoning":case"images":case"audio":t.add(n);break;case"files":case"streaming":case"temperature":case"prompt-cache":case"reasoning-effort":case"computer-use":case"global-endpoint":t.add("text");break;case"structured_output":t.add("structured-output");break;default:t.add("text")}return t.add("text"),[...t]}function To(e,t){return{id:t.id,name:t.name??t.id,description:t.description,providerId:e,contextWindow:t.contextWindow,maxOutputTokens:t.maxTokens,capabilities:YI(t.capabilities),metadata:{family:t.family,pricing:t.pricing,status:t.status,releaseDate:t.releaseDate}}}function ig(e,t){if(t?.client==="openai"||t?.protocol==="openai-responses")return Pn;switch(t?.client){case"anthropic":return Tn;case"gemini":return On;case"vertex":return jn;case"bedrock":return Nn;case"openai-compatible":return En}switch(F(e)){case"openai-codex":case"openai-native":return Pn;case"anthropic":case"minimax":return Tn;case"gemini":return On;case"vertex":return jn;case"bedrock":return Nn;case"mistral":return ko;case"claude-code":return wo;case"openai-codex-cli":return So;case"opencode":return Io;case"dify":return xo;default:return En}}async function QI(e){let t=F(e.providerId),n=F(kn(e));if(vt.get(t)&&t===n)return;let i=await ti(t)??(t!==n?await ti(n):void 0);if(!i){let o=vt.get(n);if(!o||t===n)return;return{manifest:{...o.manifest,id:t,name:o.manifest.name,models:o.manifest.models.map((s)=>({...s,providerId:t}))},defaults:o.defaults,createProvider:o.createProvider,loadProvider:o.loadProvider}}let r=vt.get(n);return{manifest:{id:t,name:i.provider.name,description:i.provider.description,defaultModelId:i.provider.defaultModelId,models:Object.values(i.models).map((o)=>To(t,o)),api:i.provider.baseUrl,apiKeyEnv:i.provider.env},defaults:{...r?.defaults??{},baseUrl:i.provider.baseUrl??r?.defaults?.baseUrl,apiKeyEnv:i.provider.env??r?.defaults?.apiKeyEnv},createProvider:r?.createProvider??ig(n,{client:e.clientType??i.provider.client,protocol:i.provider.protocol}),loadProvider:r?.loadProvider}}function qI(e){let t=F(e.providerId),n=F(kn(e));if(vt.get(t)&&t===n)return;let i=Je(t)??(t!==n?Je(n):void 0);if(!i){let o=vt.get(n);if(!o||t===n)return;return{manifest:{...o.manifest,id:t,models:o.manifest.models.map((s)=>({...s,providerId:t}))},defaults:o.defaults,createProvider:o.createProvider,loadProvider:o.loadProvider}}let r=vt.get(n);return{manifest:{id:t,name:i.provider.name,description:i.provider.description,defaultModelId:i.provider.defaultModelId,models:Object.values(i.models).map((o)=>To(t,o)),api:i.provider.baseUrl,apiKeyEnv:i.provider.env},defaults:{...r?.defaults??{},baseUrl:i.provider.baseUrl??r?.defaults?.baseUrl,apiKeyEnv:i.provider.env??r?.defaults?.apiKeyEnv},createProvider:r?.createProvider??ig(n,{client:e.clientType??i.provider.client,protocol:i.provider.protocol}),loadProvider:r?.loadProvider}}function ex(e){let t=new Map;for(let n of e){if(!Array.isArray(n.content))continue;for(let a of n.content)if(a.type==="tool_use"){if(t.set(a.id,a.name),a.call_id)t.set(a.call_id,a.name)}}return e.map((n)=>{let a=typeof n.content==="string"?[{type:"text",text:n.content}]:n.content.flatMap((i)=>{switch(i.type){case"text":return[{type:"text",text:i.text}];case"thinking":return[{type:"reasoning",text:i.thinking,metadata:i.signature||i.call_id?{signature:i.signature,callId:i.call_id,details:i.details}:void 0}];case"tool_use":return[{type:"tool-call",toolCallId:i.call_id??i.id,toolName:i.name,input:i.input,metadata:i.signature?{thoughtSignature:i.signature}:void 0}];case"tool_result":return[{type:"tool-result",toolCallId:i.tool_use_id,toolName:t.get(i.tool_use_id)??"tool",output:i.content,isError:i.is_error??!1}];case"image":return[{type:"image",image:`data:${i.mediaType};base64,${i.data}`,mediaType:i.mediaType}];case"file":return[{type:"text",text:i.content}];case"redacted_thinking":return[];default:return[]}});return{id:Eo(),role:n.role,content:a,createdAt:Date.now()}})}function tx(e){return e?.map((t)=>({name:t.name,description:t.description,inputSchema:t.inputSchema}))}function Po(e,t,n,a,i){return{providerId:F(e.providerId),modelId:e.modelId,systemPrompt:t,messages:ex(n),tools:tx(a),maxTokens:e.maxOutputTokens,reasoning:e.thinking!==void 0||e.reasoningEffort||e.thinkingBudgetTokens!==void 0?{enabled:e.thinking,effort:e.reasoningEffort==="xhigh"?"high":e.reasoningEffort==="low"||e.reasoningEffort==="medium"||e.reasoningEffort==="high"?e.reasoningEffort:void 0,budgetTokens:e.thinkingBudgetTokens}:void 0,signal:i}}function ng(e){let t=F(e.providerId);return{providerId:t,apiKey:e.apiKey??e.accessToken,baseUrl:e.baseUrl,headers:e.headers,timeoutMs:e.timeoutMs,fetch:e.fetch,defaultModelId:e.modelId,models:e.knownModels?Object.values(e.knownModels).map((n)=>{let a=To(t,n),{providerId:i,...r}=a;return r}):void 0,options:{region:e.region??e.gcp?.region,project:e.gcp?.projectId,projectId:e.gcp?.projectId,location:e.region??e.gcp?.region,accessKeyId:e.aws?.accessKey,secretAccessKey:e.aws?.secretKey,sessionToken:e.aws?.sessionToken,credentialProvider:e.aws?.profile,authentication:e.aws?.authentication,endpoint:e.aws?.endpoint,customModelBaseId:e.aws?.customModelBaseId,apiVersion:e.azure?.apiVersion,useIdentity:e.azure?.useIdentity,mode:e.oca?.mode,usePromptCache:e.aws?.usePromptCache??e.oca?.usePromptCache,...e.codex,...e.claudeCode,...e.opencode,...e.sap}}}function rg(e,t){switch(t.type){case"text-delta":return{type:"text",id:e,text:t.text};case"reasoning-delta":{let n=t.metadata;return{type:"reasoning",id:e,reasoning:t.text,signature:typeof n?.thoughtSignature==="string"?n.thoughtSignature:typeof n?.signature==="string"?n.signature:void 0,details:n?.details}}case"tool-call-delta":{let n=t.metadata,a=typeof t.inputText==="string"||t.input===void 0?t.inputText:t.input;return{type:"tool_calls",id:e,signature:typeof n?.thoughtSignature==="string"?n.thoughtSignature:void 0,tool_call:{call_id:t.toolCallId,function:{id:t.toolCallId,name:t.toolName,arguments:a}}}}case"usage":return{type:"usage",id:e,inputTokens:t.usage.inputTokens??0,outputTokens:t.usage.outputTokens??0,cacheReadTokens:t.usage.cacheReadTokens,cacheWriteTokens:t.usage.cacheWriteTokens,totalCost:t.usage.totalCost};case"finish":return{type:"done",id:e,success:t.reason!=="error",error:t.error,incompleteReason:t.reason==="max-tokens"?"max_tokens":void 0}}}function ix(e){return e.modelInfo??(e.modelId?e.knownModels?.[e.modelId]:void 0)??{id:e.modelId,name:e.modelId,capabilities:["streaming"]}}class Oo{config;abortSignal;constructor(e){this.config=e;this.abortSignal=e.abortSignal}getMessages(e,t){return Po(this.config,e,t,void 0,this.abortSignal)}createMessage(e,t,n){let a=An({providerConfigs:[ng(this.config)],fetch:this.config.fetch,logger:this.config.logger??this.config.extensionContext?.logger}),i=qI(this.config);if(i)a.registerProvider(i);let r=Po(this.config,e,t,n,this.abortSignal),o=`gw_${Eo(10)}`,s=async function*(){for await(let l of await a.stream(r))yield rg(o,l)}();return s.id=o,s}getModel(){return{id:this.config.modelId,info:ix(this.config)}}abort(){}setAbortSignal(e){this.abortSignal=e}}function ag(e){return new Oo(e)}async function og(e){let t=An({providerConfigs:[ng(e)],fetch:e.fetch,logger:e.logger??e.extensionContext?.logger}),n=await QI(e);if(n)t.registerProvider(n);return new class extends Oo{createMessage(a,i,r){let o=Po(e,a,i,r,e.abortSignal),s=`gw_${Eo(10)}`,l=async function*(){for await(let d of await t.stream(o))yield rg(s,d)}();return l.id=s,l}}(e)}var gt=new Map;function sg(e,t){gt.set(e,{factory:t,isAsync:!1})}function ug(e,t){gt.set(e,{factory:t,isAsync:!0})}function jo(e){return gt.has(e)}function lg(e,t){let n=gt.get(e);if(!n)return;if(n.isAsync)throw Error(`Handler for "${e}" is registered as async. Use getRegisteredHandlerAsync() or createHandlerAsync() instead.`);return n.factory(t)}async function dg(e,t){let n=gt.get(e);if(!n)return;if(n.isAsync)return n.factory(t);return n.factory(t)}function cg(e){return gt.get(e)?.isAsync??!1}function mg(e){let t=F(e.providerId),n=e.routingProviderId?F(e.routingProviderId):void 0;if(t===e.providerId&&n===e.routingProviderId)return e;return{...e,providerId:t,routingProviderId:n}}function nx(e){let t=mg(e),{providerId:n}=t;if(jo(n)){if(cg(n))throw Error(`Handler for "${n}" is registered as async. Use createHandlerAsync() instead.`);let a=lg(n,t);if(a)return a}return ag(t)}async function rx(e){let t=mg(e),{providerId:n}=t;if(jo(n)){let a=await dg(n,t);if(a)return a}return og(t)}function ax(e){return e?.usageCostDisplay==="hide"?"hide":"show"}function fg(e){let t=Je(F(e.trim()))?.provider;return ax(t?.metadata)}function ox(e){return fg(e)==="show"}pt();export{lv as unregisterProvider,Xe as sortModelsByReleaseDate,ox as shouldShowProviderUsageCost,fg as resolveProviderUsageCostDisplay,wg as resolveProviderModelCatalogKeys,dv as resetRegistry,sv as registerProvider,uv as registerModel,sg as registerHandler,ug as registerAsyncHandler,F as normalizeProviderId,Kv as listOpenAICodexModels,_n as isBuiltInProviderId,nv as hasProvider,$n as getProviderIds,Je as getProviderCollectionSync,ti as getProviderCollection,rv as getProvider,av as getModelsForProvider,Go as getGeneratedProviderModels,di as getGeneratedModelsForProvider,ov as getAllProviders,Fo as fetchModelsDevProviderModels,yo as disposeLangfuseTelemetry,rx as createHandlerAsync,nx as createHandler,An as createGateway,cv as MODEL_COLLECTIONS_BY_PROVIDER_ID,Uo as DefaultGateway,ii as BUILT_IN_PROVIDER_IDS,ct as BUILT_IN_PROVIDER};