@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/README.md +12 -9
- package/dist/catalog/catalog-live.d.ts.map +1 -1
- package/dist/catalog/catalog.generated.d.ts.map +1 -1
- package/dist/catalog/types.d.ts +15 -15
- package/dist/index.browser.js +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +101 -26
- package/dist/models.js +160 -1
- package/dist/providers/builtins.d.ts +1 -1
- package/dist/providers/builtins.d.ts.map +1 -1
- package/dist/providers/provider-keys.d.ts.map +1 -1
- package/dist/providers/routing/provider-options.d.ts.map +1 -1
- package/dist/providers/vendors/community.d.ts +15 -0
- package/dist/providers/vendors/community.d.ts.map +1 -1
- package/dist/providers.js +101 -26
- package/package.json +3 -5
- package/dist/runtime/langfuse-telemetry.d.ts +0 -6
- package/dist/runtime/langfuse-telemetry.d.ts.map +0 -1
package/dist/providers.js
CHANGED
|
@@ -1,14 +1,42 @@
|
|
|
1
|
-
import{createRequire as Uo}from"node:module";var Qo=Object.defineProperty;var Do=(n)=>n;function Wo(n,r){this[n]=Do.bind(null,r)}var l=(n,r)=>{for(var f in r)Qo(n,f,{get:r[f],enumerable:!0,configurable:!0,set:Wo.bind(r,f)})};var E=(n,r)=>()=>(n&&(r=n(n=0)),r);var Cn=Uo(import.meta.url);import{z as W}from"zod";var $r,sf,Hr,Kr,Fr,Er,Jn;var br=E(()=>{$r=W.enum(["default","openai-responses","r1"]),sf={DEFAULT:"default",OPENAI_RESPONSES:"openai-responses",R1:"r1"},Hr=W.enum(["images","tools","streaming","prompt-cache","reasoning","reasoning-effort","computer-use","global-endpoint","structured_output","temperature","files"]),Kr=W.enum(["active","preview","deprecated","legacy"]),Fr=W.object({input:W.number().optional(),output:W.number().optional(),cacheWrite:W.number().optional(),cacheRead:W.number().optional()}),Er=W.object({maxBudget:W.number().optional(),outputPrice:W.number().optional(),thinkingLevel:W.enum(["low","high"]).optional()}),Jn=W.object({id:W.string(),name:W.string().optional(),description:W.string().optional(),maxTokens:W.number().optional(),contextWindow:W.number().optional(),capabilities:W.array(Hr).optional(),apiFormat:$r.optional(),systemRole:W.enum(["system","developer"]).optional(),temperature:W.number().optional(),pricing:Fr.optional(),thinkingConfig:Er.optional(),status:Kr.optional(),deprecationNotice:W.string().optional(),replacedBy:W.string().optional(),releaseDate:W.string().optional(),deprecationDate:W.string().optional(),family:W.string().optional()})});import{z as q}from"zod";var Nn;var Ar=E(()=>{Nn=q.object({id:q.string(),name:q.string(),input:q.unknown(),output:q.unknown(),error:q.string().optional(),durationMs:q.number(),startedAt:q.date(),endedAt:q.date()})});import{z as C}from"zod";var If,qf,jo,tf,ho;var zf=E(()=>{br();Ar();If=C.enum(["completed","max_iterations","aborted","mistake_limit","error"]),qf=C.object({inputTokens:C.number(),outputTokens:C.number(),cacheReadTokens:C.number().optional(),cacheWriteTokens:C.number().optional(),totalCost:C.number().optional()}),jo=C.object({text:C.string(),usage:qf,messages:C.array(C.custom()),toolCalls:C.array(Nn),iterations:C.number(),finishReason:If,model:C.object({id:C.string(),provider:C.string(),info:Jn.optional()}),startedAt:C.date(),endedAt:C.date(),durationMs:C.number()}),tf=C.enum(["low","medium","high","xhigh"]),ho=C.object({sessionId:C.string().optional(),providerId:C.string(),modelId:C.string(),apiKey:C.string().optional(),baseUrl:C.string().url().optional(),headers:C.record(C.string(),C.string()).optional(),knownModels:C.record(C.string(),Jn).optional(),providerConfig:C.unknown().optional(),initialMessages:C.array(C.custom()).optional(),systemPrompt:C.string(),tools:C.array(C.custom()),maxIterations:C.number().positive().optional(),maxParallelToolCalls:C.number().int().positive().default(8),maxTokensPerTurn:C.number().positive().optional(),apiTimeoutMs:C.number().positive().default(180000),userFileContentLoader:C.function().input([C.string()]).output(C.promise(C.string())).optional(),toolContextMetadata:C.record(C.string(),C.unknown()).optional(),execution:C.object({maxConsecutiveMistakes:C.number().int().positive().optional(),reminderAfterIterations:C.number().nonnegative().optional(),reminderText:C.string().optional(),loopDetection:C.union([C.literal(!1),C.object({softThreshold:C.number().int().positive().optional(),hardThreshold:C.number().int().positive().optional()})]).optional()}).optional(),reasoningEffort:tf.optional(),thinkingBudgetTokens:C.number().positive().optional(),thinking:C.boolean().optional(),onEvent:C.function().input([C.custom()]).output(C.void()).optional(),hooks:C.custom().optional(),parentAgentId:C.string().optional(),extensions:C.array(C.custom()).optional(),hookErrorMode:C.enum(["ignore","throw"]).default("ignore"),toolPolicies:C.record(C.string(),C.object({enabled:C.boolean().optional(),autoApprove:C.boolean().optional()})).optional(),requestToolApproval:C.function().input([C.object({sessionId:C.string(),agentId:C.string(),conversationId:C.string(),iteration:C.number(),toolCallId:C.string(),toolName:C.string(),input:C.unknown(),policy:C.object({enabled:C.boolean().optional(),autoApprove:C.boolean().optional()}).default({})})]).output(C.union([C.object({approved:C.boolean(),reason:C.string().optional()}),C.promise(C.object({approved:C.boolean(),reason:C.string().optional()}))])).optional(),onConsecutiveMistakeLimitReached:C.function().input([C.object({iteration:C.number().int().positive(),consecutiveMistakes:C.number().int().positive(),maxConsecutiveMistakes:C.number().int().positive(),reason:C.enum(["api_error","invalid_tool_call","tool_execution_failed"]),details:C.string().optional()})]).output(C.union([C.object({action:C.literal("continue"),guidance:C.string().optional()}),C.object({action:C.literal("stop"),reason:C.string().optional()}),C.promise(C.union([C.object({action:C.literal("continue"),guidance:C.string().optional()}),C.object({action:C.literal("stop"),reason:C.string().optional()})]))])).optional(),logger:C.custom().optional(),extensionContext:C.custom().optional(),abortSignal:C.custom().optional()})});var cf=E(()=>{zf()});import{z as S}from"zod";var Yr,Sr,Jr,pf,ny,ry;var fy=E(()=>{Yr=S.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"]),Sr=S.object({id:S.string().optional(),label:S.string().optional(),role:S.string().optional(),participantKey:S.string().optional(),participantLabel:S.string().optional(),platformUserId:S.string().optional(),metadata:S.record(S.string(),S.unknown()).optional()}),Jr=S.object({source:S.string(),sourceEvent:S.string(),threadId:S.string(),channelId:S.string(),isDM:S.boolean(),sessionId:S.string().optional(),workspaceRoot:S.string().optional(),metadata:S.record(S.string(),S.unknown()).optional()}),pf=S.object({actor:Sr,context:Jr,payload:S.record(S.string(),S.unknown()).optional()}),ny=S.object({action:S.enum(["allow","deny"]).default("allow"),message:S.string().optional(),reason:S.string().optional(),metadata:S.record(S.string(),S.unknown()).optional()}),ry=S.object({adapter:S.string(),botUserName:S.string().optional(),event:Yr,payload:S.record(S.string(),S.unknown()),ts:S.string()})});function _n(n){yy.push(n)}async function wy(){let n=yy.splice(0);await Promise.all(n.map((r)=>{try{return(typeof r==="function"?r():r.dispose())??Promise.resolve()}catch{return Promise.resolve()}}))}var yy;var Mr=E(()=>{yy=[]});function Gy(n,r){return n.name||`extension_${String(r).padStart(4,"0")}`}function dy(n){return Array.isArray(n)&&n.every((r)=>typeof r==="string")}function oy(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 Xr(n){let r=oy(n.providerIds),f=oy(n.modelIds);return{...n,...r?{providerIds:r}:{},...f?{modelIds:f}:{}}}function Lo(n,r){let f=Gy(n,r),y=n.manifest;if(!y||typeof y!=="object")throw Error(`Invalid manifest for extension "${f}": manifest is required`);if(!Array.isArray(y.capabilities)||y.capabilities.length===0)throw Error(`Invalid manifest for extension "${f}": capabilities must be a non-empty array`);let w=new Set;for(let v of y.capabilities){if(!ao.has(v))throw Error(`Invalid manifest for extension "${f}": unsupported capability "${String(v)}"`);w.add(v)}if(Object.hasOwn(y,"providerIds")&&!dy(y.providerIds))throw Error(`Invalid manifest for extension "${f}": providerIds must be a string array when provided`);if(Object.hasOwn(y,"modelIds")&&!dy(y.modelIds))throw Error(`Invalid manifest for extension "${f}": modelIds must be a string array when provided`);let o=w.has("hooks");if(n.hooks!==void 0&&!o)throw Error(`Invalid manifest for extension "${f}": runtime hooks require the "hooks" capability`);return{capabilities:w,raw:Xr(y)}}function No(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():"",y=typeof n.source==="string"?n.source.trim():"";if(!f)throw Error(`Invalid automation event contribution for extension "${r}": eventType is required`);if(!y)throw Error(`Invalid automation event contribution for extension "${r}": source is required`);return{...n,eventType:f,source:y,examples:n.examples?[...n.examples]:void 0,metadata:n.metadata?{...n.metadata}:void 0}}class mn{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:Lo(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=Gy(r,n.order),y={registerTool:(o)=>this.registry.tools.push(o),registerCommand:(o)=>this.registry.commands.push(o),registerRule:(o)=>{if(!n.manifest.capabilities.has("rules"))throw Error(`Invalid setup for extension "${f}": registerRule requires the "rules" capability`);this.registry.rules.push(o)},registerMessageBuilder:(o)=>this.registry.messageBuilder.push(o),registerProvider:(o)=>this.registry.providers.push(o),registerAutomationEventType:(o)=>{if(!n.manifest.capabilities.has("automationEvents"))throw Error(`Invalid setup for extension "${f}": registerAutomationEventType requires the "automationEvents" capability`);this.registry.automationEventTypes.push(No(o,f))}},w=n.manifest.capabilities.has("automationEvents")?this.setupContext:{...this.setupContext,automation:void 0};await r.setup?.(y,w)}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 Py(n={}){return new mn(n)}var Ro,ao;var Cy=E(()=>{Ro=["hooks","tools","commands","rules","messageBuilders","providers","automationEvents"],ao=new Set(Ro)});var vy;var $y=E(()=>{vy=[".js",".ts"]});import{z as K}from"zod";function Hy(n){let r=Zr.safeParse(n);if(!r.success)return;return r.data}var kr,yn,_o,mo,Vo,Bo,To,lo,Oo,xo,Zr;var Ky=E(()=>{kr=K.enum(["agent_start","agent_resume","agent_abort","agent_end","agent_error","tool_call","tool_result","prompt_submit","pre_compact","session_shutdown"]),yn=K.record(K.string(),K.string()),_o=K.object({toolName:K.string(),parameters:yn}),mo=K.object({toolName:K.string(),parameters:yn,result:K.string(),success:K.boolean(),executionTimeMs:K.number()}),Vo=K.object({prompt:K.string(),attachments:K.array(K.string())}),Bo=K.object({taskMetadata:yn}),To=K.object({taskMetadata:yn,previousState:yn}),lo=K.object({taskMetadata:yn}),Oo=K.object({taskMetadata:yn}),xo=K.object({taskId:K.string(),ulid:K.string(),contextSize:K.number(),compactionStrategy:K.string(),previousApiReqIndex:K.number(),tokensIn:K.number(),tokensOut:K.number(),tokensInCache:K.number(),tokensOutCache:K.number(),deletedRangeStart:K.number(),deletedRangeEnd:K.number(),contextJsonPath:K.string(),contextRawPath:K.string()}),Zr=K.object({clineVersion:K.string(),hookName:kr,timestamp:K.string(),taskId:K.string(),sessionContext:K.object({rootSessionId:K.string().optional(),hookLogPath:K.string().optional()}).optional(),workspaceRoots:K.array(K.string()),workspaceInfo:K.custom().optional(),userId:K.string(),agent_id:K.string(),parent_agent_id:K.string().nullable(),iteration:K.number().optional(),reason:K.string().optional(),tool_call:K.object({id:K.string(),name:K.string(),input:K.unknown()}).optional(),tool_result:K.custom().optional(),turn:K.unknown().optional(),error:K.object({name:K.string(),message:K.string(),stack:K.string().optional()}).optional(),preToolUse:_o.optional(),postToolUse:mo.optional(),userPromptSubmit:Vo.optional(),taskStart:Bo.optional(),taskResume:To.optional(),taskCancel:lo.optional(),taskComplete:Oo.optional(),preCompact:xo.optional()}).passthrough()});function Fy(n){switch(n){case"run.start":case"session.send_input":return null;default:return 30000}}function so(n,r){return r===void 0?Fy(n):r}function qo(n){return typeof n==="string"&&Io.has(n)}var uo=30000,eo=5000,Ey,Io,io="tool_executor.",to="custom_tool.",zo="hook.",co="compaction.compact",po="checkpoint.create",nG="mistake_limit.decide",rG="user_instructions.snapshot";var by=E(()=>{Ey=["readFile","search","bash","webFetch","editor","applyPatch","skills","askQuestion","submit"],Io=new Set(Ey)});function Vn(n,r){return`<file_content path="${n}">
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
`)
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
import{createRequire as sg}from"node:module";var rg=Object.defineProperty;var ag=(e)=>e;function og(e,t){this[e]=ag.bind(null,t)}var se=(e,t)=>{for(var n in t)rg(e,n,{get:t[n],enumerable:!0,configurable:!0,set:og.bind(t,n)})};var V=(e,t)=>()=>(e&&(t=e(e=0)),t);var He=sg(import.meta.url);var Fp={};se(Fp,{zodToJsonSchema:()=>$p,xmlTagsRemoval:()=>vp,withResolvedClineBuildEnv:()=>ck,validateWithZod:()=>J_,upsertWorkspaceInfo:()=>Ak,truncateStr:()=>bp,truncateSplit:()=>R_,toAiSdkToolResultOutput:()=>gp,serializeAbortReason:()=>v_,sanitizeFileName:()=>C_,safeJsonStringify:()=>O_,safeJsonParse:()=>N_,resolveRootSessionId:()=>wk,resolveReasoningEffortRatio:()=>hp,resolveReasoningBudgetFromRatio:()=>f_,resolveHubCommandTimeoutMs:()=>X$,resolveHookSessionContext:()=>kk,resolveEffectiveReasoningEffort:()=>m_,resolveClineEnvironment:()=>Sp,resolveClineBuildEnv:()=>to,registerRemoteConfigSessionBlobUpload:()=>$g,registerDisposable:()=>ap,readRemoteConfigSessionBlobUploadMetadata:()=>Ts,processWorkspaceInfo:()=>W_,prepareRemoteConfigRuntime:()=>Mg,parseUserCommandEnvelope:()=>fp,parseRuntimeConfigExtensions:()=>jk,parseJsonStream:()=>j_,parseHookEventPayload:()=>W$,normalizeUserInput:()=>pp,normalizePluginManifest:()=>sp,noopBasicLogger:()=>g_,maskSecret:()=>M_,isRuntimeConfigExtensionKind:()=>Up,isOAuthProviderId:()=>Zp,isLikelyAuthError:()=>Sw,isHubToolExecutorName:()=>Y$,isHubDaemonProcess:()=>yk,initVcr:()=>Jw,hasRuntimeConfigExtension:()=>Ok,getShellArgs:()=>Z_,getDefaultShell:()=>D_,getDefaultHubCommandTimeoutMs:()=>dp,getClineEnvironmentConfig:()=>io,formatUserInputBlock:()=>a_,formatUserCommandBlock:()=>o_,formatUptime:()=>F_,formatMessagesForAiSdk:()=>eo,formatHumanReadableDate:()=>L_,formatFileContentBlock:()=>mp,formatDisplayUserInput:()=>l_,emptyWorkspaceManifest:()=>Nk,disposeAll:()=>T$,createTool:()=>ww,createSessionId:()=>Ek,createRemoteConfigSessionMessagesArtifactUploader:()=>Ug,createContributionRegistry:()=>D$,createClineTelemetryServiceMetadata:()=>Ip,createClineTelemetryServiceConfig:()=>_k,clearRemoteConfigSessionBlobUpload:()=>_g,buildRemoteConfigSessionBlobUploadMetadata:()=>bg,buildClineSystemPrompt:()=>H_,augmentNodeCommandForDebug:()=>mk,WorkspaceManifestSchema:()=>Pp,WorkspaceInfoSchema:()=>Ep,VertexSettingsSchema:()=>Zf,VertexModelSchema:()=>Df,ToolCallRecordSchema:()=>Yf,ThinkingConfigSchema:()=>Vf,TeamTeammateSpecSchema:()=>Mk,TeamTaskToolResultSchema:()=>uw,TeamTaskListItemToolResultSchema:()=>Op,TeamTaskInputSchema:()=>Wk,TeamStatusToolResultSchema:()=>sw,TeamStatusInputSchema:()=>Jk,TeamSpawnTeammateInputSchema:()=>Lk,TeamSimpleAgentStatusToolResultSchema:()=>pw,TeamShutdownTeammateInputSchema:()=>Fk,TeamSendMessageToolResultSchema:()=>gw,TeamSendMessageInputSchema:()=>Yk,TeamRunToolSummarySchema:()=>dw,TeamRunTaskToolResultSchema:()=>lw,TeamRunTaskInputSchema:()=>Hk,TeamRunResultSummarySchema:()=>Np,TeamReviewOutcomeFragmentInputSchema:()=>rw,TeamReadMailboxInputSchema:()=>qk,TeamOutcomeToolResultSchema:()=>mw,TeamOutcomeFragmentToolResultSchema:()=>$w,TeamMissionLogToolResultSchema:()=>yw,TeamMissionLogInputSchema:()=>ew,TeamMessageType:()=>Ap,TeamMailboxMessageToolResultSchema:()=>cw,TeamListRunsInputSchema:()=>Bk,TeamListOutcomesInputSchema:()=>ow,TeamFinalizeOutcomeToolResultSchema:()=>_w,TeamFinalizeOutcomeInputSchema:()=>aw,TeamCreateOutcomeToolResultSchema:()=>fw,TeamCreateOutcomeInputSchema:()=>iw,TeamCleanupToolResultSchema:()=>bw,TeamCleanupInputSchema:()=>tw,TeamCancelRunToolResultSchema:()=>vw,TeamCancelRunInputSchema:()=>Xk,TeamBroadcastToolResultSchema:()=>hw,TeamBroadcastInputSchema:()=>Qk,TeamAwaitRunsInputSchema:()=>Vk,TeamAttachOutcomeFragmentInputSchema:()=>nw,TEAM_TASK_IGNORED_FIELDS_BY_ACTION:()=>Gk,TEAM_RUN_TEXT_PREVIEW_LIMIT:()=>Ck,TEAM_RUN_MESSAGE_PREVIEW_LIMIT:()=>Zk,TEAM_PROGRESS_EVENT_TYPE:()=>tk,TEAM_LIFECYCLE_EVENT_TYPE:()=>ik,TEAM_AWAIT_TIMEOUT_MS:()=>Dk,SESSION_STATUS_VALUES:()=>Pk,S3AccessKeySettingsSchema:()=>fi,RemoteMCPServerSchema:()=>Jf,RemoteConfigSchema:()=>w$,ReasoningEffortSchema:()=>ep,RUNTIME_CONFIG_EXTENSION_KINDS:()=>no,REMOTE_URI_SCHEME:()=>Eg,REMOTE_CONFIG_SESSION_BLOB_UPLOAD_METADATA_KEY:()=>zs,REASONING_EFFORT_RATIOS:()=>yt,ProviderProtocolSchema:()=>q_,ProviderClientSchema:()=>ek,ProviderCapabilitySchema:()=>Q_,PromptUploadingSchema:()=>Kf,PLUGIN_FILE_EXTENSIONS:()=>Z$,OpenAiCompatibleSchema:()=>Pf,OpenAiCompatibleModelSchema:()=>Ef,OAUTH_PROVIDER_IDS:()=>Dp,ModelStatusSchema:()=>Bf,ModelPricingSchema:()=>Xf,ModelInfoSchema:()=>Qa,ModelCapabilitySchema:()=>Hf,LiteLLMSchema:()=>Rf,LiteLLMModelSchema:()=>Cf,HookEventPayloadSchema:()=>lp,HookEventNameSchema:()=>up,HUB_USER_INSTRUCTIONS_SNAPSHOT_CAPABILITY:()=>r_,HUB_TOOL_EXECUTOR_NAMES:()=>cp,HUB_TOOL_EXECUTOR_CAPABILITY_PREFIX:()=>Q$,HUB_MISTAKE_LIMIT_CAPABILITY:()=>n_,HUB_HOOK_CAPABILITY_PREFIX:()=>e_,HUB_DEFAULT_COMMAND_TIMEOUT_MS:()=>H$,HUB_CUSTOM_TOOL_CAPABILITY_PREFIX:()=>q$,HUB_COMPACTION_CAPABILITY:()=>t_,HUB_COMMAND_SLOW_LOG_MS:()=>B$,HUB_CHECKPOINT_CAPABILITY:()=>i_,GlobalInstructionsFileSchema:()=>Gn,EnterpriseTelemetrySchema:()=>Gf,DEFAULT_RUNTIME_CONFIG_EXTENSIONS:()=>zp,DEFAULT_REQUEST_HEADERS:()=>p_,DEFAULT_REASONING_EFFORT:()=>c_,DEFAULT_OUTCOME_REQUIRED_SECTIONS:()=>Tp,DEFAULT_CLINE_ENVIRONMENT:()=>vk,ContributionRegistry:()=>qa,ConnectorHookEventSchema:()=>P$,ConnectorHookEventNameSchema:()=>tp,ConnectorEventContextSchema:()=>np,ConnectorEventActorSchema:()=>ip,ConnectorAuthorizationRequestSchema:()=>U$,ConnectorAuthorizationDecisionSchema:()=>E$,ClineSettingsSchema:()=>Af,ClineModelSchema:()=>Nf,CLINE_RUN_AS_HUB_DAEMON_ENV:()=>hk,CLINE_HUB_PORT:()=>B_,CLINE_HUB_DEV_PORT:()=>X_,CLINE_ENVIRONMENT_OVERRIDE_ENV:()=>pk,CLINE_ENVIRONMENT_ENV:()=>fk,CLINE_ENVIRONMENTS:()=>Xn,CLINE_DEFAULT_RPC_PORT:()=>V_,CLINE_DEFAULT_RPC_ADDRESS:()=>Y_,CLINE_DEBUG_PORT_BASE_ENV:()=>kp,CLINE_DEBUG_HOST_ENV:()=>_p,CLINE_BUILD_ENV_ENV:()=>Ii,AwsBedrockSettingsSchema:()=>Of,AwsBedrockModelSchema:()=>Tf,AwsBedrockCustomModelSchema:()=>jf,ApiFormatSchema:()=>Wf,ApiFormat:()=>I$,AnthropicSchema:()=>Lf,AnthropicModelSchema:()=>Mf,AllowedMCPServerSchema:()=>Ff,AgentUsageSchema:()=>qf,AgentResultSchema:()=>x$,AgentFinishReasonSchema:()=>Qf,AgentConfigSchema:()=>z$,AUTH_ERROR_PATTERNS:()=>Cp,APIKeySchema:()=>S$});import pe from"node:fs/promises";import Zn from"node:path";import{createHmac as fg}from"node:crypto";import{basename as pg}from"node:path";import Be from"node:path";import{basename as nk}from"node:path";import{webcrypto as ws}from"node:crypto";import{existsSync as Iw,mkdirSync as xw,readFileSync as zw,writeFileSync as Uw}from"node:fs";import{dirname as Ew,resolve as Pw}from"node:path";function cg(e,t){this[e]=dg.bind(null,t)}async function mg(e){try{return await pe.access(e),!0}catch{return!1}}class Ss{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(Zn.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 Is{async writeText(e,t){await pe.mkdir(Zn.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 mg(e))return;let t=await pe.readdir(e);await Promise.all(t.map((n)=>pe.rm(Zn.join(e,n),{recursive:!0,force:!0})))}}class Yn{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 xs(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 xs{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]=hg(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 j=this.signQuery?this.url.searchParams:this.headers;if(j.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken)j.set("X-Amz-Security-Token",this.sessionToken);if(this.signableHeaders=["host",...this.headers.keys()].filter((S)=>f||!gg.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"&&!j.has("X-Amz-Expires"))j.set("X-Amz-Expires","86400");j.set("X-Amz-Algorithm","AWS4-HMAC-SHA256"),j.set("X-Amz-Credential",this.accessKeyId+"/"+this.credentialString),j.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=Do(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((Z)=>Do(encodeURIComponent(Z)))).sort(([S,Z],[W,fe])=>S<W?-1:S>W?1:Z<fe?-1:Z>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 pt("AWS4"+this.secretAccessKey,e),i=await pt(a,this.region),r=await pt(i,this.service);n=await pt(r,"aws4_request"),this.cache.set(t,n)}return On(await pt(n,await this.stringToSign()))}async stringToSign(){return["AWS4-HMAC-SHA256",this.datetime,this.credentialString,On(await No(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=On(await No(this.body||""))}return e}}async function pt(e,t){let n=await crypto.subtle.importKey("raw",typeof e==="string"?Cn.encode(e):e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",n,Cn.encode(t))}async function No(e){return crypto.subtle.digest("SHA-256",typeof e==="string"?Cn.encode(e):e)}function On(e){let t=new Uint8Array(e),n="";for(let a=0;a<t.length;a++){let i=t[a];n+=Ao[i>>>4&15],n+=Ao[i&15]}return n}function Do(e){return e.replace(/[!'()*]/g,(t)=>"%"+t.charCodeAt(0).toString(16).toUpperCase())}function hg(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[vg[r]||r,o||""]}function Nn(e,t){return{adapterType:e,accessKeyId:t.accessKeyId,secretAccessKey:t.secretAccessKey,region:t.region,bucket:t.bucket,endpoint:t.endpoint,accountId:t.accountId}}function Us(e){return{adapterType:e.adapterType,bucket:e.bucket,region:e.region,endpoint:e.endpoint,accountId:e.accountId}}function yg(e){if(!e||e.enabled!==!0)return;if(e.type==="s3_access_keys"&&e.s3AccessSettings)return Nn("s3",e.s3AccessSettings);if(e.type==="r2_access_keys"&&e.r2AccessSettings)return Nn("r2",e.r2AccessSettings);if(e.type==="azure_access_keys"&&e.azureAccessSettings)return Nn("azure",e.azureAccessSettings);return}function Es(e){return yg(e?.enterpriseTelemetry?.promptUploading)}function bg(e,t){let n=Es(e);if(!n)return;return{version:1,storage:Us(n),userDistinctId:t}}function $g(e,t,n){let a=Es(t);if(!a){gi.delete(e);return}return gi.set(e,a),{version:1,storage:Us(a),userDistinctId:n}}function _g(e){gi.delete(e)}function Ps(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 Ps(new Yn({region:i,accessKeyId:n,secretAccessKey:a}),r,t)}function wg(e){let{accountId:t,endpoint:n,bucket:a,accessKeyId:i,secretAccessKey:r}=e;if(!n&&!t||!a||!i||!r)return;return Ps(new Yn({accessKeyId:i,secretAccessKey:r}),e.endpoint??`https://${t}.r2.cloudflarestorage.com`,a)}function Sg(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=fg("sha256",c).update(d,"utf8").digest("base64");return`SharedKey ${e}:${p}`}function Ig(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=Sg(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 xg(e){if(e.adapterType==="s3")return kg(e);if(e.adapterType==="r2")return wg(e);if(e.adapterType==="azure")return Ig(e);return}function Zo(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}function Ts(e){let t=e?.metadata?.[zs];if(!Zo(t))return;let n=t.storage;if(!Zo(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 zg(e,t,n){return["sessions",n.userDistinctId?.trim()||"unknown",e,t?.endsWith("messages.json")?"messages.json":pg(t)].filter((a)=>Boolean(a?.trim())).join("/")}function Ug(){let e=new Map;return{async uploadMessagesFile({sessionId:t,path:n,contents:a,row:i}){let r=Ts(i);if(!r)return;let o=gi.get(t);if(!o)return;let s=JSON.stringify(o),l=e.get(s);if(!l){if(l=xg(o),!l)return;e.set(s,l)}await l.write(zg(t,n,r),a)}}}function Co(e,t,n){return{id:`remote-config:${e}:${n}:${t.name}`,name:t.name,kind:e,contents:t.contents,alwaysEnabled:t.alwaysEnabled}}function Ro(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 Pg(e){let t=e?.globalRules?.map((a,i)=>Co("rule",a,`${i}`))??[],n=e?.globalWorkflows?.map((a,i)=>Co("workflow",a,`${i}`))??[];return[...t,...n]}function Tg(e){return[...Pg(e.remoteConfig),...e.managedInstructions??[]]}function jg(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 An(e,t){return e.filter((n)=>n.kind===t)}class js{async materialize(e){let t=Tg(e.bundle),n=An(t,"rule"),a=An(t,"workflow"),i=An(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,jg(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}/${Ro(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}/${Ro(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 Ng(e){let t=e.pluginName??Og,n=Be.join(e.workspacePath,".cline",t);return{pluginName:t,pluginPath:n,workflowsPath:Be.join(n,"workflows"),skillsPath:Be.join(n,"skills"),bundleCachePath:Be.join(n,"cache","bundle.json"),manifestPath:Be.join(n,"managed.json"),rulesFilePath:Be.join(n,"rules.md")}}function Ag(e){return{workflowsDirectories:[e.workflowsPath],skillsDirectories:[e.skillsPath]}}function Dg(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 Os(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 Mo(e,t){let n=e[t];return typeof n==="boolean"?n:void 0}function ui(e,t){let n=e[t];return typeof n==="number"&&Number.isFinite(n)?n:void 0}function Dn(e,t){let n=e[t];if(!Os(n))return;let a=Object.entries(n).filter((i)=>typeof i[1]==="string");return a.length>0?Object.fromEntries(a):void 0}function Zg(e){if(!Os(e))return;let t={enabled:Mo(e,"enabled"),metricsExporter:ke(e,"metricsExporter"),logsExporter:ke(e,"logsExporter"),otlpProtocol:ke(e,"otlpProtocol"),otlpEndpoint:ke(e,"otlpEndpoint"),otlpHeaders:Dn(e,"otlpHeaders"),otlpMetricsProtocol:ke(e,"otlpMetricsProtocol"),otlpMetricsEndpoint:ke(e,"otlpMetricsEndpoint"),otlpMetricsHeaders:Dn(e,"otlpMetricsHeaders"),otlpLogsProtocol:ke(e,"otlpLogsProtocol"),otlpLogsEndpoint:ke(e,"otlpLogsEndpoint"),otlpLogsHeaders:Dn(e,"otlpLogsHeaders"),metricExportInterval:ui(e,"metricExportInterval"),otlpInsecure:Mo(e,"otlpInsecure"),logBatchSize:ui(e,"logBatchSize"),logBatchTimeout:ui(e,"logBatchTimeout"),logMaxQueueSize:ui(e,"logMaxQueueSize")};return Object.values(t).some((n)=>n!==void 0)?t:void 0}class Ns{name="remote-config";resolveTelemetry(e,t){return{...Dg(e.remoteConfig),...Zg(e.telemetry)}}}function As(e){return e?.claims}function Ds(e,t){if(!e)return[];if(t.claimsMapper)return t.claimsMapper.mapClaimsToRoles(e);return e.roles??[]}function Cg(e,t){return{...e,metadata:{...e.metadata??{},paths:t}}}class Zs{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=As(t),r=Ds(i,this.options);return{bundle:t,materialized:n,telemetry:a,roles:r,claims:i}}}function Rg(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 Mg(e){let t=Ng({workspacePath:e.workspacePath,pluginName:e.pluginName}),n=e.bundleStore??new Ss(t.bundleCachePath),a=e.artifactStore??new Is,i=e.materializer??new js,r=e.telemetryAdapter??new Ns,o,s,l=[],d,c=!1,p=!1;if(e.controlPlane){let f=new Zs({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=Cg(o,t);if(await n.write(f),!p)await i.materialize({bundle:f,paths:t,artifactStore:a});d??=As(f),l=l.length>0?l:Ds(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=Ag(t);return{pluginName:t.pluginName,pluginDefinition:Rg({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 J(e){if(e)Object.assign(bt,e);return bt}function Lg(e){return e}function Fg(e){return e}function Jg(e){}function Kg(e){throw Error("Unexpected value in exhaustive check")}function Gg(e){}function Qn(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 hi(e,t){if(typeof t==="bigint")return t.toString();return t}function xt(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 xi(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function Ls(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 E(e,t,n){let a=void 0;Object.defineProperty(e,t,{get(){if(a===Fo)return;if(a===void 0)a=Fo,a=n();return a},set(i){Object.defineProperty(e,t,{value:i})},configurable:!0})}function Wg(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 Hg(e){return ye(e._zod.def)}function Bg(e,t){if(!t)return e;return t.reduce((n,a)=>n?.[a],e)}function Xg(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 Vg(e=10){let t="";for(let n=0;n<e;n++)t+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return t}function Rn(e){return JSON.stringify(e)}function Fs(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function Qe(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}function Ae(e){if(Qe(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(Qe(n)===!1)return!1;if(Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)return!1;return!0}function Ks(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 Yg(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 qg(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 Ws(e){return Object.keys(e).filter((t)=>{return e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional"})}function eh(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 th(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 ih(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 nh(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 rh(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 ah(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 oh(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 Xs(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 ht(e){return typeof e==="string"?e:e?.message}function Q(e,t,n){let a=e.message?e.message:ht(e.inst?._zod.def?.error?.(e))??ht(t?.error?.(e))??ht(n.customError?.(e))??ht(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 zi(e){if(e instanceof Set)return"set";if(e instanceof Map)return"map";if(e instanceof File)return"file";return"unknown"}function Ui(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 bi(...e){let[t,n,a]=e;if(typeof t==="string")return{message:t,code:"custom",input:n,inst:a};return{...t}}function sh(e){return Object.entries(e).filter(([t,n])=>{return Number.isNaN(Number.parseInt(t,10))}).map((t)=>t[1])}function Vs(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 Ys(e){let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}function uh(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),n="=".repeat((4-t.length%4)%4);return Vs(t+n)}function lh(e){return Ys(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function dh(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 ch(e){return Array.from(e).map((t)=>t.toString(16).padStart(2,"0")).join("")}class Qs{constructor(...e){}}function tr(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 ir(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 eu(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 tu(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 iu(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 ${tu(a.path)}`);return t.join(`
|
|
13
|
+
`)}function vu(){return new RegExp(Uh,"u")}function xu(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 zu(e){return new RegExp(`^${xu(e)}$`)}function Uu(e){let t=xu({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(`^${Su}T(?:${a})$`)}function Tt(e,t){return new RegExp(`^[A-Za-z0-9+/]{${e}}${t}$`)}function jt(e){return new RegExp(`^[A-Za-z0-9_-]{${e}}$`)}function Jo(e,t,n){if(e.issues.length)t.issues.push(...ie(n,e.issues))}class vr{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 gr(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 Sl(e){if(!cr.test(e))return!1;let t=e.replace(/[-_]/g,(a)=>a==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return gr(n)}function zl(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 Ko(e,t,n){if(e.issues.length)t.issues.push(...ie(n,e.issues));t.value[n]=e.value}function $i(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 Ll(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=Ws(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function Fl(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)=>$i(y,n,v,t,c,p)));else $i(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 Go(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,J())))}),t}function Wo(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,J())))});else t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:[],inclusive:!1});return t}function Fn(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=Fn(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=Fn(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 Ho(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=Fn(t.value,n.value);if(!o.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return e.value=o.data,e}function Bo(e,t){for(let n=e.length-1;n>=0;n--)if(e[n]._zod[t]!=="optional")return n+1;return 0}function Xo(e,t,n){if(e.issues.length)t.issues.push(...ie(n,e.issues));t.value[n]=e.value}function Vo(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 Yo(e,t,n,a,i,r,o){if(e.issues.length)if(yi.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,J()))});if(t.issues.length)if(yi.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,J()))});n.value.set(e.value,t.value)}function Qo(e,t){if(e.issues.length)t.issues.push(...e.issues);t.value.add(e.value)}function qo(e,t){if(t===void 0&&(e.issues.length||e.fallback))return{issues:[],value:void 0};return e}function es(e,t){if(e.value===void 0)e.value=t.defaultValue;return e}function ts(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 li(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 di(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)=>ci(e,i,t.out,n));return ci(e,a,t.out,n)}else{let a=t.reverseTransform(e.value,e);if(a instanceof Promise)return a.then((i)=>ci(e,i,t.in,n));return ci(e,a,t.in,n)}}function ci(e,t,n,a){if(e.issues.length)return e.aborted=!0,e;return n._zod.run({value:t,issues:e.issues},a)}function is(e){return e.value=Object.freeze(e.value),e}function ns(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(bi(i))}}function Bh(){return{localeError:Hh()}}function Vh(){return{localeError:Xh()}}function rs(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 Qh(){return{localeError:Yh()}}function ey(){return{localeError:qh()}}function iy(){return{localeError:ty()}}function ry(){return{localeError:ny()}}function oy(){return{localeError:ay()}}function uy(){return{localeError:sy()}}function dy(){return{localeError:ly()}}function gd(){return{localeError:cy()}}function fy(){return{localeError:my()}}function vy(){return{localeError:py()}}function hy(){return{localeError:gy()}}function by(){return{localeError:yy()}}function _y(){return{localeError:$y()}}function wy(){return{localeError:ky()}}function Iy(){return{localeError:Sy()}}function zy(){return{localeError:xy()}}function Ey(){return{localeError:Uy()}}function as(e,t,n){return Math.abs(e)===1?t:n}function Xe(e){if(!e)return"";let t=["ա","ե","ը","ի","ո","ու","օ"],n=e[e.length-1];return e+(t.includes(n)?"ն":"ը")}function Ty(){return{localeError:Py()}}function Oy(){return{localeError:jy()}}function Ay(){return{localeError:Ny()}}function Zy(){return{localeError:Dy()}}function Ry(){return{localeError:Cy()}}function Ly(){return{localeError:My()}}function hd(){return{localeError:Fy()}}function Jy(){return hd()}function Gy(){return{localeError:Ky()}}function os(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 Hy(){return{localeError:Wy()}}function Xy(){return{localeError:By()}}function Yy(){return{localeError:Vy()}}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 cb(){return{localeError:db()}}function ss(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 fb(){return{localeError:mb()}}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 yd(){return{localeError:Sb()}}function Ib(){return yd()}function zb(){return{localeError:xb()}}function Eb(){return{localeError:Ub()}}function Tb(){return{localeError:Pb()}}function Ob(){return{localeError:jb()}}function Ab(){return{localeError:Nb()}}function Zb(){return{localeError:Db()}}class Ir{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 xr(){return new Ir}function _d(e,t){return new e({type:"string",...h(t)})}function kd(e,t){return new e({type:"string",coerce:!0,...h(t)})}function zr(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...h(t)})}function _i(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...h(t)})}function Ur(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...h(t)})}function Er(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...h(t)})}function Pr(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...h(t)})}function Tr(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...h(t)})}function Pi(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...h(t)})}function jr(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...h(t)})}function Or(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...h(t)})}function Nr(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...h(t)})}function Ar(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...h(t)})}function Dr(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...h(t)})}function Zr(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...h(t)})}function Cr(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...h(t)})}function Rr(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...h(t)})}function Mr(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...h(t)})}function wd(e,t){return new e({type:"string",format:"mac",check:"string_format",abort:!1,...h(t)})}function Lr(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...h(t)})}function Fr(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...h(t)})}function Jr(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...h(t)})}function Kr(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...h(t)})}function Gr(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...h(t)})}function Wr(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...h(t)})}function Id(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...h(t)})}function xd(e,t){return new e({type:"string",format:"date",check:"string_format",...h(t)})}function zd(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...h(t)})}function Ud(e,t){return new e({type:"string",format:"duration",check:"string_format",...h(t)})}function Ed(e,t){return new e({type:"number",checks:[],...h(t)})}function Pd(e,t){return new e({type:"number",coerce:!0,checks:[],...h(t)})}function Td(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...h(t)})}function jd(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"float32",...h(t)})}function Od(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"float64",...h(t)})}function Nd(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"int32",...h(t)})}function Ad(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"uint32",...h(t)})}function Dd(e,t){return new e({type:"boolean",...h(t)})}function Zd(e,t){return new e({type:"boolean",coerce:!0,...h(t)})}function Cd(e,t){return new e({type:"bigint",...h(t)})}function Rd(e,t){return new e({type:"bigint",coerce:!0,...h(t)})}function Md(e,t){return new e({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...h(t)})}function Ld(e,t){return new e({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...h(t)})}function Fd(e,t){return new e({type:"symbol",...h(t)})}function Jd(e,t){return new e({type:"undefined",...h(t)})}function Kd(e,t){return new e({type:"null",...h(t)})}function Gd(e){return new e({type:"any"})}function Wd(e){return new e({type:"unknown"})}function Hd(e,t){return new e({type:"never",...h(t)})}function Bd(e,t){return new e({type:"void",...h(t)})}function Xd(e,t){return new e({type:"date",...h(t)})}function Vd(e,t){return new e({type:"date",coerce:!0,...h(t)})}function Yd(e,t){return new e({type:"nan",...h(t)})}function Ie(e,t){return new fr({check:"less_than",...h(t),value:e,inclusive:!1})}function re(e,t){return new fr({check:"less_than",...h(t),value:e,inclusive:!0})}function xe(e,t){return new pr({check:"greater_than",...h(t),value:e,inclusive:!1})}function Y(e,t){return new pr({check:"greater_than",...h(t),value:e,inclusive:!0})}function Hr(e){return xe(0,e)}function Br(e){return Ie(0,e)}function Xr(e){return re(0,e)}function Vr(e){return Y(0,e)}function et(e,t){return new Cu({check:"multiple_of",...h(t),value:e})}function ot(e,t){return new Lu({check:"max_size",...h(t),maximum:e})}function ze(e,t){return new Fu({check:"min_size",...h(t),minimum:e})}function At(e,t){return new Ju({check:"size_equals",...h(t),size:e})}function Dt(e,t){return new Ku({check:"max_length",...h(t),maximum:e})}function De(e,t){return new Gu({check:"min_length",...h(t),minimum:e})}function Zt(e,t){return new Wu({check:"length_equals",...h(t),length:e})}function Ti(e,t){return new Hu({check:"string_format",format:"regex",...h(t),pattern:e})}function ji(e){return new Bu({check:"string_format",format:"lowercase",...h(e)})}function Oi(e){return new Xu({check:"string_format",format:"uppercase",...h(e)})}function Ni(e,t){return new Vu({check:"string_format",format:"includes",...h(t),includes:e})}function Ai(e,t){return new Yu({check:"string_format",format:"starts_with",...h(t),prefix:e})}function Di(e,t){return new Qu({check:"string_format",format:"ends_with",...h(t),suffix:e})}function Yr(e,t,n){return new qu({check:"property",property:e,schema:t,...h(n)})}function Zi(e,t){return new el({check:"mime_type",mime:e,...h(t)})}function be(e){return new tl({check:"overwrite",tx:e})}function Ci(e){return be((t)=>t.normalize(e))}function Ri(){return be((e)=>e.trim())}function Mi(){return be((e)=>e.toLowerCase())}function Li(){return be((e)=>e.toUpperCase())}function Fi(){return be((e)=>Fs(e))}function Qd(e,t,n){return new e({type:"array",element:t,...h(n)})}function Cb(e,t,n){return new e({type:"union",options:t,...h(n)})}function Rb(e,t,n){return new e({type:"union",options:t,inclusive:!1,...h(n)})}function Mb(e,t,n,a){return new e({type:"union",options:n,discriminator:t,...h(a)})}function Lb(e,t,n){return new e({type:"intersection",left:t,right:n})}function Fb(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 Jb(e,t,n,a){return new e({type:"record",keyType:t,valueType:n,...h(a)})}function Kb(e,t,n,a){return new e({type:"map",keyType:t,valueType:n,...h(a)})}function Gb(e,t,n){return new e({type:"set",valueType:t,...h(n)})}function Wb(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 Hb(e,t,n){return new e({type:"enum",entries:t,...h(n)})}function Bb(e,t,n){return new e({type:"literal",values:Array.isArray(t)?t:[t],...h(n)})}function qd(e,t){return new e({type:"file",...h(t)})}function Xb(e,t){return new e({type:"transform",transform:t})}function Vb(e,t){return new e({type:"optional",innerType:t})}function Yb(e,t){return new e({type:"nullable",innerType:t})}function Qb(e,t,n){return new e({type:"default",innerType:t,get defaultValue(){return typeof n==="function"?n():Ks(n)}})}function qb(e,t,n){return new e({type:"nonoptional",innerType:t,...h(n)})}function e$(e,t){return new e({type:"success",innerType:t})}function t$(e,t,n){return new e({type:"catch",innerType:t,catchValue:typeof n==="function"?n:()=>n})}function i$(e,t,n){return new e({type:"pipe",in:t,out:n})}function n$(e,t){return new e({type:"readonly",innerType:t})}function r$(e,t,n){return new e({type:"template_literal",parts:t,...h(n)})}function a$(e,t){return new e({type:"lazy",getter:t})}function o$(e,t){return new e({type:"promise",innerType:t})}function ec(e,t,n){let a=h(n);return a.abort??(a.abort=!0),new e({type:"custom",check:"custom",fn:t,...a})}function tc(e,t,n){return new e({type:"custom",check:"custom",fn:t,...h(n)})}function ic(e,t){let n=nc((a)=>{return a.addIssue=(i)=>{if(typeof i==="string")a.issues.push(bi(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(bi(r))}},e(a.value,a)},t);return n}function nc(e,t){let n=new R({check:"custom",...h(t)});return n._zod.check=e,n}function rc(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 ac(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 oc(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??wr,l=e.Boolean??yr,d=new(e.String??Nt)({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 Ct(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 tt(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 it(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 nt(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:$t(t,"input",e.processors),output:$t(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 Gc(e,t){if("_idmap"in e){let a=e,i=tt({...t,processors:Jn}),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;it(i,c),o[d]=nt(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=tt({...t,processors:Jn});return N(e,n),it(n,e),nt(n,e)}class Wc{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=tt({processors:Jn,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}it(this.ctx,e);let n=nt(this.ctx,e),{"~standard":a,...i}=n;return i}}function Xc(e){return Id(ta,e)}function Vc(e){return xd(ia,e)}function Yc(e){return zd(na,e)}function Qc(e){return Ud(ra,e)}function Rt(e,t,n){let a=Object.getPrototypeOf(e),i=ls.get(a);if(!i)i=new Set,ls.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 _t(e){return _d(Mt,e)}function mm(e){return zr(Ki,e)}function fm(e){return _i(kt,e)}function pm(e){return Ur(ve,e)}function vm(e){return Er(ve,e)}function gm(e){return Pr(ve,e)}function hm(e){return Tr(ve,e)}function ym(e){return Pi(Lt,e)}function bm(e){return Pi(Lt,{protocol:Se.httpProtocol,hostname:Se.domain,...U.normalizeParams(e)})}function $m(e){return jr(Gi,e)}function _m(e){return Or(Wi,e)}function km(e){return Nr(Hi,e)}function wm(e){return Ar(Bi,e)}function Sm(e){return Dr(Xi,e)}function Im(e){return Zr(Vi,e)}function xm(e){return Cr(Yi,e)}function zm(e){return Rr(Qi,e)}function Um(e){return wd(aa,e)}function Em(e){return Mr(qi,e)}function Pm(e){return Lr(en,e)}function Tm(e){return Fr(tn,e)}function jm(e){return Jr(nn,e)}function Om(e){return Kr(rn,e)}function Nm(e){return Gr(an,e)}function Am(e){return Wr(on,e)}function Dm(e,t,n={}){return Ct(st,e,t,n)}function Zm(e){return Ct(st,"hostname",Se.hostname,e)}function Cm(e){return Ct(st,"hex",Se.hex,e)}function Rm(e,t){let n=t?.enc??"hex",a=`${e}_${n}`,i=Se[a];if(!i)throw Error(`Unrecognized hash format: ${a}`);return Ct(st,a,i,t)}function oa(e){return Ed(Ft,e)}function ki(e){return Td(Me,e)}function Mm(e){return jd(Me,e)}function Lm(e){return Od(Me,e)}function Fm(e){return Nd(Me,e)}function Jm(e){return Ad(Me,e)}function sa(e){return Dd(Jt,e)}function Km(e){return Cd(Kt,e)}function Gm(e){return Md(sn,e)}function Wm(e){return Ld(sn,e)}function Hm(e){return Fd(ua,e)}function Bm(e){return Jd(la,e)}function ca(e){return Kd(da,e)}function Xm(){return Gd(ma)}function Ze(){return Wd(fa)}function un(e){return Hd(pa,e)}function Vm(e){return Bd(va,e)}function Ym(e){return Xd(ln,e)}function Gt(e,t){return Qd(ga,e,t)}function Qm(e){let t=e._zod.def.shape;return cn(Object.keys(t))}function qm(e,t){let n={type:"object",shape:e??{},...U.normalizeParams(t)};return new Wt(n)}function ef(e,t){return new Wt({type:"object",shape:e,catchall:un(),...U.normalizeParams(t)})}function tf(e,t){return new Wt({type:"object",shape:e,catchall:Ze(),...U.normalizeParams(t)})}function dn(e,t){return new Ht({type:"union",options:e,...U.normalizeParams(t)})}function nf(e,t){return new ha({type:"union",options:e,inclusive:!1,...U.normalizeParams(t)})}function rf(e,t,n){return new ya({type:"union",options:t,discriminator:e,...U.normalizeParams(n)})}function $a(e,t){return new ba({type:"intersection",left:e,right:t})}function ka(e,t,n){let a=t instanceof x,i=a?n:t;return new _a({type:"tuple",items:e,rest:a?t:null,...U.normalizeParams(i)})}function wa(e,t,n){if(!t||!t._zod)return new rt({type:"record",keyType:_t(),valueType:e,...U.normalizeParams(t)});return new rt({type:"record",keyType:e,valueType:t,...U.normalizeParams(n)})}function af(e,t,n){let a=ae(e);return a._zod.values=void 0,new rt({type:"record",keyType:a,valueType:t,...U.normalizeParams(n)})}function of(e,t,n){return new rt({type:"record",keyType:e,valueType:t,mode:"loose",...U.normalizeParams(n)})}function sf(e,t,n){return new Sa({type:"map",keyType:e,valueType:t,...U.normalizeParams(n)})}function uf(e,t){return new Ia({type:"set",valueType:e,...U.normalizeParams(t)})}function cn(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map((a)=>[a,a])):e;return new at({type:"enum",entries:n,...U.normalizeParams(t)})}function lf(e,t){return new at({type:"enum",entries:e,...U.normalizeParams(t)})}function df(e,t){return new xa({type:"literal",values:Array.isArray(e)?e:[e],...U.normalizeParams(t)})}function cf(e){return qd(za,e)}function mn(e){return new Ua({type:"transform",transform:e})}function wt(e){return new fn({type:"optional",innerType:e})}function Pa(e){return new Ea({type:"optional",innerType:e})}function St(e){return new Ta({type:"nullable",innerType:e})}function mf(e){return wt(St(e))}function Oa(e,t){return new ja({type:"default",innerType:e,get defaultValue(){return typeof t==="function"?t():U.shallowClone(t)}})}function Aa(e,t){return new Na({type:"prefault",innerType:e,get defaultValue(){return typeof t==="function"?t():U.shallowClone(t)}})}function Da(e,t){return new pn({type:"nonoptional",innerType:e,...U.normalizeParams(t)})}function ff(e){return new Za({type:"success",innerType:e})}function Ra(e,t){return new Ca({type:"catch",innerType:e,catchValue:typeof t==="function"?t:()=>t})}function pf(e){return Yd(Ma,e)}function wi(e,t){return new Bt({type:"pipe",in:e,out:t})}function vf(e,t,n){return new Xt({type:"pipe",in:e,out:t,transform:n.decode,reverseTransform:n.encode})}function gf(e){let t=e._zod.def;return new Xt({type:"pipe",in:t.out,out:t.in,transform:t.reverseTransform,reverseTransform:t.transform})}function Ja(e){return new Fa({type:"readonly",innerType:e})}function hf(e,t){return new Ka({type:"template_literal",parts:e,...U.normalizeParams(t)})}function Wa(e){return new Ga({type:"lazy",getter:e})}function yf(e){return new Ha({type:"promise",innerType:e})}function Si(e){return new Ba({type:"function",input:Array.isArray(e?.input)?ka(e?.input):e?.input??Gt(Ze()),output:e?.output??Ze()})}function bf(e){let t=new R({check:"custom"});return t._zod.check=e,t}function $f(e,t){return ec(Vt,e??(()=>!0),t)}function Xa(e,t={}){return tc(Vt,e,t)}function Va(e,t){return ic(e,t)}function wf(e,t={}){let n=new Vt({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 If(e){let t=Wa(()=>{return dn([_t(e),oa(),sa(),ca(),Gt(t),wa(_t(),t)])});return t}function xf(e,t){return new La({type:"pipe",in:mn(e),out:t})}function c$(e){J({customError:e})}function m$(){return J().customError}function p$(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 v$(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 zf(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=v$(i,t),o=K(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 zf(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=K(d,t);i[l]=o.has(l)?c:c.optional()}if(e.propertyNames){let l=K(e.propertyNames,t),d=e.additionalProperties&&typeof e.additionalProperties==="object"?K(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=K(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(K(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)=>K(l,t)),s=r&&typeof r==="object"&&!Array.isArray(r)?K(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)=>K(l,t)),s=e.additionalItems&&typeof e.additionalItems==="object"?K(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=K(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 K(e,t){if(typeof e==="boolean")return e?b.any():b.never();let n=zf(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)=>K(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)=>K(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:K(e.allOf[0],t),l=a?0:1;for(let d=l;d<e.allOf.length;d++)s=b.intersection(s,K(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(!f$.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 g$(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=p$(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 K(n,r)}function h$(e){return kd(Mt,e)}function y$(e){return Pd(Ft,e)}function b$(e){return Zd(Jt,e)}function $$(e){return Rd(Kt,e)}function _$(e){return Vd(ln,e)}function ap(e){rp.push(e)}async function T$(){let e=rp.splice(0);await Promise.all(e.map((t)=>{try{return(typeof t==="function"?t():t.dispose())??Promise.resolve()}catch{return Promise.resolve()}}))}function op(e,t){return e.name||`extension_${String(t).padStart(4,"0")}`}function ds(e){return Array.isArray(e)&&e.every((t)=>typeof t==="string")}function cs(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 sp(e){let t=cs(e.providerIds),n=cs(e.modelIds);return{...e,...t?{providerIds:t}:{},...n?{modelIds:n}:{}}}function N$(e,t){let n=op(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(!O$.has(o))throw Error(`Invalid manifest for extension "${n}": unsupported capability "${String(o)}"`);i.add(o)}if(Object.hasOwn(a,"providerIds")&&!ds(a.providerIds))throw Error(`Invalid manifest for extension "${n}": providerIds must be a string array when provided`);if(Object.hasOwn(a,"modelIds")&&!ds(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:sp(a)}}function A$(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 qa{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:N$(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=op(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(A$(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 D$(e={}){return new qa(e)}function W$(e){let t=lp.safeParse(e);if(!t.success)return;return t.data}function dp(e){switch(e){case"run.start":case"session.send_input":return null;default:return 30000}}function X$(e,t){return t===void 0?dp(e):t}function Y$(e){return typeof e==="string"&&V$.has(e)}function mp(e,t){return`<file_content path="${e}">
|
|
18
|
+
${t}
|
|
19
|
+
</file_content>`}function a_(e,t="act"){return`<user_input mode="${t}">${e}</user_input>`}function o_(e,t){return`<user_command slash="${t}">${e}</user_command>`}function s_(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 u_(e,t){return new RegExp(`${t}="([^"]+)"`,"i").exec(e)?.[1]?.trim()||void 0}function fp(e){if(!e?.trim())return;let t=s_(e,"user_command");if(!t)return;let n=u_(t.attrs,"slash");if(!n)return;return{slash:n,content:t.content.trim()}}function pp(e){if(!e?.trim())return"";let t=e.trim();for(let n of["user_input","user_command"]){let a=vp(t,n);t=(a!==t?a:t.replace(new RegExp(`<${n}[^>]*>`,"g"),"")).trim()}return t}function l_(e){let t=pp(e),n=fp(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 vp(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 ms(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 d_(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 Wn(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(Wn(r,t))}return i}let n=e,a={};for(let[i,r]of Object.entries(n))a[i]=Wn(r,t);return a}function gp(e,t=!1){if(typeof e==="string")return{type:t?"error-text":"text",value:e};if(!t&&d_(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=Wn(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 eo(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:mp(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:gp(d.output,d.isError??!1)});break}if(s.length>0)ms(i,{role:r.role,content:s});if(l.length>0)ms(i,{role:"tool",content:l})}return i}function m_(e,t){if(typeof e==="string"&&e.toLowerCase()in yt)return e.toLowerCase();return t?void 0:void 0}function hp(e,t){let n=typeof e==="string"?e.toLowerCase():void 0;if(n&&n in yt)return yt[n];if(t?.fallbackEffort)return yt[t.fallbackEffort];return}function f_(e){let t=hp(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 v_(e){return e instanceof Error?{name:e.name,message:e.message}:e}function h_(e){return/^[0-9A-Fa-f]$/.test(e)}function Pe(e){return e>="0"&&e<="9"}function y_(e){return e>=" "}function mi(e){return`,:[]/{}()
|
|
20
|
+
+`.includes(e)}function fs(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"||e==="_"||e==="$"}function ps(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"||e==="_"||e==="$"||e>="0"&&e<="9"}function hs(e){return`,[]/{}
|
|
21
|
+
+`.includes(e)}function ys(e){return pi(e)||b_.test(e)}function $_(e){return e===`
|
|
22
|
+
`||e==="\r"||e==="\t"||e==="\b"||e==="\f"}function Oe(e,t){let n=e.charCodeAt(t);return n===32||n===10||n===9||n===13}function __(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 pi(e){return yp(e)||Hn(e)}function yp(e){return e==='"'||e==="“"||e==="”"}function bs(e){return e==='"'}function Hn(e){return e==="'"||e==="‘"||e==="’"||e==="`"||e==="´"}function $s(e){return e==="'"}function gt(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(!Oe(e,n-1))return e+t;while(Oe(e,n-1))n--;return e.substring(0,n)+t+e.substring(n)}function w_(e,t,n){return e.substring(0,t)+e.substring(t+n)}function S_(e){return/[,\n][ \t\r]*$/.test(e)}function z_(e){let t=0,n="";if(l(["```","[```","{```"]),!i())tg();l(["```","```]","```}"]);let a=c(",");if(a)r();if(ys(e[t])&&S_(n)){if(!a)n=ue(n,",");T()}else if(a)n=gt(n,",");while(e[t]==="}"||e[t]==="]")t++,r();if(t>=e.length)return n;eg();function i(){r();let $=y()||k()||j()||S()||Z()||fe(!1)||Pn();return r(),$}function r(){let $=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,P=t,O=o($);do if(O=s(),O)O=o($);while(O);return t>P}function o($){let P=$?Oe:__,O="";while(!0)if(P(e,t))O+=e[t],t++;else if(k_(e,t))O+=" ",t++;else break;if(O.length>0)return n+=O,!0;return!1}function s(){if(e[t]==="/"&&e[t+1]==="*"){while(t<e.length&&!U_(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(fs(e[t]))while(t<e.length&&ps(e[t]))t++;return r(),!0}return!1}function d($){o(!0);for(let P of $){let O=t+P.length;if(e.slice(t,O)===P)return t=O,!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 P;if(!$){if(P=c(","),!P)n=ue(n,",");r()}else P=!0,$=!1;if(f(),!(j()||fe(!0))){if(e[t]==="}"||e[t]==="{"||e[t]==="]"||e[t]==="["||e[t]===void 0)n=gt(n,",");else ig();break}r();let O=c(":"),ni=t>=e.length;if(!O)if(ys(e[t])||ni)n=ue(n,":");else To();if(!i())if(O||ni)n+="null";else To()}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=gt(n,",");break}}if(e[t]==="]")n+="]",t++;else n=ue(n,"]");return!0}return!1}function T(){let $=!0,P=!0;while(P){if(!$){if(!c(","))n=ue(n,",")}else $=!1;P=i()}if(!P)n=gt(n,",");n=`[
|
|
24
|
+
${n}
|
|
25
|
+
]`}function j(){let $=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,P=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,O=e[t]==="\\";if(O)t++,O=!0;if(pi(e[t])){let ni=bs(e[t])?bs:$s(e[t])?$s:Hn(e[t])?Hn:yp,ri=t,ai=n.length,L='"';t++;while(!0){if(t>=e.length){let F=Po(t-1);if(!$&&mi(e.charAt(F)))return t=ri,n=n.substring(0,ai),j(!0);return L=ue(L,'"'),n+=L,!0}if(t===P)return L=ue(L,'"'),n+=L,!0;if(ni(e[t])){let F=t,_e=L.length;if(L+='"',t++,n+=L,r(!1),$||t>=e.length||mi(e[t])||pi(e[t])||Pe(e[t]))return M(),!0;let jo=Po(F-1),Oo=e.charAt(jo);if(Oo===",")return t=ri,n=n.substring(0,ai),j(!1,jo);if(mi(Oo))return t=ri,n=n.substring(0,ai),j(!0);n=n.substring(0,ai),t=F+1,L=`${L.substring(0,_e)}\\${L.substring(_e)}`}else if($&&hs(e[t])){if(e[t-1]===":"&&vs.test(e.substring(ri+1,t+2)))while(t<e.length&&gs.test(e[t]))L+=e[t],t++;return L=ue(L,'"'),n+=L,M(),!0}else if(e[t]==="\\"){let F=e.charAt(t+1);if(x_[F]!==void 0)L+=e.slice(t,t+2),t+=2;else if(F==="u"){let _e=2;while(_e<6&&h_(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 ng()}else if(F===`
|
|
26
|
+
`)L+="\\n",t+=2;else L+=F,t+=2}else{let F=e.charAt(t);if(F==='"'&&e[t-1]!=="\\")L+=`\\${F}`,t++;else if($_(F))L+=I_[F],t++;else{if(!y_(F))qv(F);L+=F,t++}}if(O)v()}}return!1}function M(){let $=!1;r();while(e[t]==="+"){$=!0,t++,r(),n=gt(n,'"',!0);let P=n.length;if(j())n=w_(n,P,1);else n=ue(n,'"')}return $}function S(){let $=t;if(e[t]==="-"){if(t++,ii())return Tn($),!0;if(!Pe(e[t]))return t=$,!1}while(Pe(e[t]))t++;if(e[t]==="."){if(t++,ii())return Tn($),!0;if(!Pe(e[t]))return t=$,!1;while(Pe(e[t]))t++}if(e[t]==="e"||e[t]==="E"){if(t++,e[t]==="-"||e[t]==="+")t++;if(ii())return Tn($),!0;if(!Pe(e[t]))return t=$,!1;while(Pe(e[t]))t++}if(!ii())return t=$,!1;if(t>$){let P=e.slice($,t),O=/^0\d/.test(P);return n+=O?`"${P}"`:P,!0}return!1}function Z(){return W("true","true")||W("false","false")||W("null","null")||W("True","true")||W("False","false")||W("None","null")}function W($,P){if(e.slice(t,t+$.length)===$)return n+=P,t+=$.length,!0;return!1}function fe($){let P=t;if(fs(e[t])){while(t<e.length&&ps(e[t]))t++;let O=t;while(Oe(e,O))O++;if(e[O]==="("){if(t=O+1,i(),e[t]===")"){if(t++,e[t]===";")t++}return!0}}while(t<e.length&&!hs(e[t])&&!pi(e[t])&&(!$||e[t]!==":"))t++;if(e[t-1]===":"&&vs.test(e.substring(P,t+2)))while(t<e.length&&gs.test(e[t]))t++;if(t>P){while(Oe(e,t-1)&&t>0)t--;let O=e.slice(P,t);if(n+=O==="undefined"?"null":JSON.stringify(O),e[t]==='"')t++;return!0}}function Pn(){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 Po($){let P=$;while(P>0&&Oe(e,P))P--;return P}function ii(){return t>=e.length||mi(e[t])||Oe(e,t)}function Tn($){n+=`${e.slice($,t)}0`}function qv($){throw new Te(`Invalid character ${JSON.stringify($)}`,t)}function eg(){throw new Te(`Unexpected character ${JSON.stringify(e[t])}`,t)}function tg(){throw new Te("Unexpected end of json string",e.length)}function ig(){throw new Te("Object key expected",t)}function To(){throw new Te("Colon expected",t)}function ng(){let $=e.slice(t,t+6);throw new Te(`Invalid unicode character "${$}"`,t)}}function U_(e,t){return e[t]==="*"&&e[t+1]==="/"}function P_(e){let t=e.match(E_);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 j_(e){if(typeof e!=="string")return e;let t=e.trimStart();if(t[0]!=="{"&&t[0]!=="[")return e;for(let n of T_)try{let a=n(t);if(a!==void 0)return a}catch{}return e}function O_(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 N_(e){try{return JSON.parse(e)}catch{return}}function A_(e){let t=e.replaceAll("\\","/"),n=t.lastIndexOf("/");return(n>=0?t.slice(n+1):t).toLowerCase()}function D_(e){return e==="win32"?"powershell":"/bin/bash"}function Z_(e,t){let n=A_(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 C_(e){return e.toLowerCase().replace(/[^\w.-]+/g,"_")}function bp(e,t){if(e.length<=t)return e;return`${e.slice(0,t-1)}…`}function R_(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}…`:bp(e,n)}function M_(e){if(e.length<=8)return"****";return`${e.slice(0,4)}...${e.slice(-4)}`}function L_(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 F_(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 J_(e,t){let n=e.safeParse(t);if(!n.success)throw Error(u.prettifyError(n.error));return n.data}function $p(e){return u.toJSONSchema(e)}function W_(e){return JSON.stringify({workspaces:{[e.rootPath]:{hint:e.hint,associatedRemoteUrls:e.associatedRemoteUrls,latestGitCommitHash:e.latestGitCommitHash,latestGitBranchName:e.latestGitBranchName}}},null,2)}function _s(e,t,n){if(n?.trim()?.includes(Bn))return n.trim();let a=n||JSON.stringify({workspaces:{[e]:{hint:t||e.split("/").at(-1)||e}}},null,2);return`
|
|
27
|
+
${Bn}
|
|
28
|
+
${a}`}function H_(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(Bn))return`${p}
|
|
29
|
+
|
|
30
|
+
${_s(d,i,r)}`.trim();return p}return(n==="yolo"?G_:K_).replace("{{PLATFORM_NAME}}",a).replace("{{CWD}}",d).replace("{{CURRENT_DATE}}",new Date().toLocaleDateString()).replace("{{IDE_NAME}}",t).replace("{{CLINE_METADATA}}",c?_s(d,i,r):"").replace("{{CLINE_RULES}}",o||"").trim()}function wp(e){let t=e?.trim().toLowerCase();if(t==="development"||t==="production")return t;return}function rk(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 ak(e){if(!e?.trim())return!1;let t=nk(e).toLowerCase();return t==="node"||t==="node.exe"||t==="bun"||t==="bun.exe"}function ok(e){return e.some((t)=>t==="--inspect"||t.startsWith("--inspect=")||t==="--inspect-brk"||t.startsWith("--inspect-brk="))}function sk(e){return e.some((t)=>t==="--enable-source-maps")}function uk(e){return e[_p]?.trim()||"127.0.0.1"}function lk(e){let t=e[kp]?.trim();if(!t)return;let n=Number.parseInt(t,10);return Number.isInteger(n)&&n>0?n:void 0}function dk(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 to(e={}){let t=e.env??process.env,n=e.execArgv??process.execArgv,a=wp(t[Ii]);if(a)return a;let i=t.NODE_ENV?.trim().toLowerCase();if(i==="production")return"production";if(i==="development")return"development";return rk(n)?"development":"production"}function ck(e=process.env,t={}){if(wp(e[Ii]))return e;return{...e,[Ii]:to({env:e,execArgv:t.execArgv})}}function mk(e,t={}){if(e.length===0||!ak(e[0]))return[...e];if(to(t)!=="development")return[...e];let n=t.env??process.env,a=[...n.NODE_OPTIONS?.split(/\s+/).filter(Boolean)??[],...e.slice(1)],i=[];if(!ok(a)){let r=uk(n),o=lk(n),s=o===void 0?0:o+dk(t.debugRole);i.push(`--inspect=${r}:${s}`)}if(!sk(a))i.push("--enable-source-maps");return[e[0],...i,...e.slice(1)]}function ks(e){let t=e?.trim().toLowerCase();if(t==="production"||t==="staging"||t==="local")return t;return}function gk(){if(typeof process>"u"||!process?.env)return{};return process.env}function Sp(e={}){let t=e.env??gk();return ks(t.CLINE_ENVIRONMENT_OVERRIDE)??ks(t.CLINE_ENVIRONMENT)??"production"}function io(e){if(typeof e==="string")return Xn[e];return Xn[Sp(e)]}function yk(e=process.env){return e.CLINE_RUN_AS_HUB_DAEMON==="1"}function bk(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 $k(){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?bk(process?.env?.OTEL_EXPORTER_OTLP_HEADERS):void 0}}function Ip(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 _k(e={}){return{...$k(),...e,metadata:Ip(e.metadata)}}function xp(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=xp(n.rootSessionId);if(!a)return;return{rootSessionId:a}}function wk(e){return xp(e?.rootSessionId)}function Ik(e){if(e<0||e>1024)throw RangeError("Wrong ID size");if(!je||je.length<e)je=Buffer.allocUnsafe(e*Sk),ws.getRandomValues(je),Ve=0;else if(Ve+e>je.length)ws.getRandomValues(je),Ve=0;Ve+=e}function xk(e){return Ik(e|=0),je.subarray(Ve-e,Ve)}function zk(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 Uk(e,t=21){return zk(e,t,xk)}function Ek(e="",t=""){let n=Uk("1234567890abcdefghijklmnopqrstuvwxyz",10);return`${e}${Date.now()}_${n(5)}${t}`}function Up(e){return typeof e==="string"&&Tk.has(e)}function jk(e){if(!Array.isArray(e))return;let t=e.map((n)=>typeof n==="string"?n.trim():"").filter(Up);return[...new Set(t)]}function Ok(e,t){return new Set(e??zp).has(t)}function Nk(){return{workspaces:{}}}function Ak(e,t){let n={...e,workspaces:{...e.workspaces,[t.rootPath]:t}};if(!n.currentWorkspacePath)n.currentWorkspacePath=t.rootPath;return Pp.parse(n)}function C(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 ww(e){let t=kw(e.inputSchema instanceof u.ZodType?$p(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 Zp(e){return Dp.includes(e)}function Sw(e,t){if(!Zp(t))return!1;let n=e instanceof Error?e.message.toLowerCase():String(e);return Cp.some((a)=>n.includes(a))}function Ow(e){let t=e.toLowerCase();if(Tw.has(t))return!0;for(let n of jw){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 Aw(e){let t=e;for(let{pattern:n,replacement:a}of Nw)t=t.replace(n,a);return t}function Vn(e){let t=e;for(let{pattern:n,replacement:a}of Dw)t=t.replace(n,a);return t}function vi(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(vi(t))}catch{}return Aw(e)}if(Array.isArray(e))return e.map(vi);if(typeof e==="object"){let t={};for(let[n,a]of Object.entries(e))if(Ow(n)&&(typeof a==="string"||typeof a==="number"))t[n]="REDACTED";else t[n]=vi(a);return t}return e}function Zw(e){let t={...e};if(t.body)delete t.body;if(typeof t.path==="string")t.path=Vn(t.path);if(t.response!==void 0)t.response=vi(t.response);return t}function Rp(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 Mp(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 Lp(e,t){if(t?.method)return t.method.toUpperCase();if(e&&typeof e.method==="string")return e.method.toUpperCase();return"GET"}function Cw(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=Pw(process.env.CLINE_VCR_CASSETTE),n=process.env.CLINE_VCR_FILTER??"";return{mode:e,cassettePath:t,filter:n}}function Rw(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=Mp(l),p=Lp(l,d),{scope:v,path:f}=Rp(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 j={scope:v,method:p,path:f,body:y??"",status:k.status,contentType:T,chunks:[],finalized:!1};a.push(j);let M=k.body,S=new TransformStream({transform(W,fe){j.chunks.push(W),fe.enqueue(W)},flush(){r(j)}}),Z=M.pipeThrough(S);return new Response(Z,{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;ap(()=>{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=Ew(e);xw(l,{recursive:!0});let d=n.map(Zw);Uw(e,JSON.stringify(d,null,2)),process.stderr.write(`[VCR] Saved ${d.length} recorded HTTP interaction(s) to ${e}
|
|
35
|
+
`)})}function Mw(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 Lw(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 Fw(e,t){if(!Iw(e))process.stderr.write(`[VCR] Cassette file not found: ${e}
|
|
38
|
+
`),process.exit(1);let n=JSON.parse(zw(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=Mp(s),c=Lp(s,l),{path:p}=Rp(d),v=Vn(p);if(t&&!p.includes(t))return r(s,l);let f=n.findIndex((y,k)=>{if(i[k])return!1;let T=Vn(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 j=T.get("content-type")?.includes("text/event-stream")??!1;if(j)T.set("cache-control","no-cache"),T.set("connection","keep-alive");if(j&&typeof y.response==="string"){let M=Mw(y.response);if(M.length>1){let S=Lw(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 Jw(e){let t=Cw(e);if(!t)return;if(t.mode==="record")Rw(t.cassettePath,t.filter);else Fw(t.cassettePath,t.filter)}var lg,dg=(e)=>e,he=(e,t)=>{for(var n in t)lg(e,n,{get:t[n],enumerable:!0,configurable:!0,set:cg.bind(t,n)})},Cn,vg,gg,Ao,zs="enterprise.blobUpload",gi,Eg="remote://",Og="remote-config",u,Cs,Lo,Rs,Ms,we,It,bt,U,Fo,qn,Js,Qg=(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}`)}},yi,Gs,Hs,Bs,qs=(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,hi,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},er,q,zt=(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,J())));throw qn(s,i?.callee),s}return o.value},Mn,Ut=(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,J())));throw qn(s,i?.callee),s}return o.value},Ln,Et=(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??er)(r.issues.map((o)=>Q(o,i,J())))}:{success:!0,data:r.value}},nu,Pt=(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,J())))}:{success:!0,data:r.value}},ru,nr=(e)=>(t,n,a)=>{let i=a?{...a,direction:"backward"}:{direction:"backward"};return zt(e)(t,n,i)},mh,rr=(e)=>(t,n,a)=>{return zt(e)(t,n,a)},fh,ar=(e)=>async(t,n,a)=>{let i=a?{...a,direction:"backward"}:{direction:"backward"};return Ut(e)(t,n,i)},ph,or=(e)=>async(t,n,a)=>{return Ut(e)(t,n,a)},vh,sr=(e)=>(t,n,a)=>{let i=a?{...a,direction:"backward"}:{direction:"backward"};return Et(e)(t,n,i)},gh,ur=(e)=>(t,n,a)=>{return Et(e)(t,n,a)},hh,lr=(e)=>async(t,n,a)=>{let i=a?{...a,direction:"backward"}:{direction:"backward"};return Pt(e)(t,n,i)},yh,dr=(e)=>async(t,n,a)=>{return Pt(e)(t,n,a)},bh,Se,au,ou,su,uu,lu,du,cu,$h,mu,qe=(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})$`)},_h,kh,wh,fu,Sh,Ih,pu,xh,zh,Uh="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",gu,hu,yu=(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}$`)},bu,$u,_u,cr,Eh,Ph,ku,wu,Su="(?:(?:\\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])))",Iu,Eu=(e)=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},Pu,Tu,mr,ju,Ou,Nu,Au,Du,Th,jh,Oh,Nh,Ah,Dh,Zh,Ch,Rh,Mh,Lh,Fh,Jh,Kh,Gh,Wh,R,Zu,fr,pr,Cu,Ru,Mu,Lu,Fu,Ju,Ku,Gu,Wu,Ot,Hu,Bu,Xu,Vu,Yu,Qu,qu,el,tl,il,x,Nt,A,nl,rl,al,ol,sl,ul,ll,dl,cl,ml,fl,pl,vl,gl,hl,yl,bl,$l,_l,kl,wl,Il,xl,Ul,El,hr,Pl,yr,br,Tl,jl,Ol,Nl,Al,Dl,Zl,Cl,Rl,Ml,Jl,Kl,Ei,Gl,Wl,Hl,$r,Bl,Xl,Vl,Yl,Ql,ql,ed,_r,td,id,nd,rd,ad,od,sd,ud,kr,wr,ld,dd,cd,md,fd,pd,vd,Sr,Hh=()=>{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"مدخل غير مقبول"}}},Xh=()=>{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"}}},Yh=()=>{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=rs(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=rs(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"Няправільны ўвод"}}},qh=()=>{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"Невалиден вход"}}},ty=()=>{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"}}},ny=()=>{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"}}},ay=()=>{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"}}},sy=()=>{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"}}},ly=()=>{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"Μη έγκυρη είσοδος"}}},cy=()=>{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"}}},my=()=>{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"}}},py=()=>{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"}}},gy=()=>{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"ورودی نامعتبر"}}},yy=()=>{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"}}},$y=()=>{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"}}},Sy=()=>{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"קלט לא תקין"}}},xy=()=>{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"}}},Uy=()=>{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"}}},Py=()=>{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=as(s,o.unit.one,o.unit.many);return`Չափազանց մեծ արժեք․ սպասվում է, որ ${Xe(i.origin??"արժեք")} կունենա ${r}${i.maximum.toString()} ${l}`}return`Չափազանց մեծ արժեք․ սպասվում է, որ ${Xe(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=as(s,o.unit.one,o.unit.many);return`Չափազանց փոքր արժեք․ սպասվում է, որ ${Xe(i.origin)} կունենա ${r}${i.minimum.toString()} ${l}`}return`Չափազանց փոքր արժեք․ սպասվում է, որ ${Xe(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`Սխալ բանալի ${Xe(i.origin)}-ում`;case"invalid_union":return"Սխալ մուտքագրում";case"invalid_element":return`Սխալ արժեք ${Xe(i.origin)}-ում`;default:return"Սխալ մուտքագրում"}}},jy=()=>{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"}}},Ny=()=>{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"}}},Dy=()=>{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"}}},Cy=()=>{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"無効な入力"}}},My=()=>{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"არასწორი შეყვანა"}}},Fy=()=>{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"ទិន្នន័យមិនត្រឹមត្រូវ"}}},Ky=()=>{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"잘못된 입력"}}},vt=(e)=>{return e.charAt(0).toUpperCase()+e.slice(1)},Wy=()=>{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,os(Number(i.maximum)),i.inclusive??!1,"smaller");if(o?.verb)return`${vt(r??i.origin??"reikšmė")} ${o.verb} ${i.maximum.toString()} ${o.unit??"elementų"}`;let s=i.inclusive?"ne didesnis kaip":"mažesnis kaip";return`${vt(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,os(Number(i.minimum)),i.inclusive??!1,"bigger");if(o?.verb)return`${vt(r??i.origin??"reikšmė")} ${o.verb} ${i.minimum.toString()} ${o.unit??"elementų"}`;let s=i.inclusive?"ne mažesnis kaip":"didesnis kaip";return`${vt(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`${vt(r??i.origin??"reikšmė")} turi klaidingą įvestį`}default:return"Klaidinga įvestis"}}},By=()=>{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"Грешен внес"}}},Vy=()=>{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"}}},Qy=()=>{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"}}},eb=()=>{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"}}},ib=()=>{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ı."}}},rb=()=>{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"ناسمه ورودي"}}},ob=()=>{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"}}},ub=()=>{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"}}},db=()=>{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ă"}}},mb=()=>{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=ss(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=ss(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"Неверные входные данные"}}},pb=()=>{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"}}},gb=()=>{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"}}},yb=()=>{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"தவறான உள்ளீடு"}}},$b=()=>{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"}}},Sb=()=>{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"Неправильні вхідні дані"}}},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:"یو یو آئی ڈی",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"غلط ان پٹ"}}},Ub=()=>{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"}}},Pb=()=>{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ệ"}}},jb=()=>{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"无效输入"}}},Nb=()=>{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"無效的輸入值"}}},Db=()=>{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"}}},us,bd,$d,ne,Sd,sc=(e,t={})=>(n)=>{let a=tt({...n,processors:t});return N(e,a),it(a,e),nt(a,e)},$t=(e,t,n={})=>(a)=>{let{libraryOptions:i,target:r}=a??{},o=tt({...i??{},target:r,io:t,processors:n});return N(e,o),it(o,e),nt(o,e)},s$,uc=(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=s$[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}))]}},lc=(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},dc=(e,t,n,a)=>{n.type="boolean"},cc=(e,t,n,a)=>{if(t.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},mc=(e,t,n,a)=>{if(t.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},fc=(e,t,n,a)=>{if(t.target==="openapi-3.0")n.type="string",n.nullable=!0,n.enum=[null];else n.type="null"},pc=(e,t,n,a)=>{if(t.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema")},vc=(e,t,n,a)=>{if(t.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema")},gc=(e,t,n,a)=>{n.not={}},hc=(e,t,n,a)=>{},yc=(e,t,n,a)=>{},bc=(e,t,n,a)=>{if(t.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},$c=(e,t,n,a)=>{let i=e._zod.def,r=Qn(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},_c=(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}},kc=(e,t,n,a)=>{if(t.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema")},wc=(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},Sc=(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)},Ic=(e,t,n,a)=>{n.type="boolean"},xc=(e,t,n,a)=>{if(t.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},zc=(e,t,n,a)=>{if(t.unrepresentable==="throw")throw Error("Function types cannot be represented in JSON Schema")},Uc=(e,t,n,a)=>{if(t.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},Ec=(e,t,n,a)=>{if(t.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema")},Pc=(e,t,n,a)=>{if(t.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema")},Tc=(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"]})},jc=(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"]})},Qr=(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},Oc=(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},Nc=(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},Ac=(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}},Dc=(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"}]},Zc=(e,t,n,a)=>{let i=e._zod.def;N(i.innerType,t,a);let r=t.seen.get(e);r.ref=i.innerType},Cc=(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))},Rc=(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))},Mc=(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},Lc=(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},Fc=(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},Jc=(e,t,n,a)=>{let i=e._zod.def;N(i.innerType,t,a);let r=t.seen.get(e);r.ref=i.innerType},qr=(e,t,n,a)=>{let i=e._zod.def;N(i.innerType,t,a);let r=t.seen.get(e);r.ref=i.innerType},Kc=(e,t,n,a)=>{let i=e._zod.innerType;N(i,t,a);let r=t.seen.get(e);r.ref=i},Jn,u$,Hc,Bc,ea,ta,ia,na,ra,qc=(e,t)=>{er.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:(n)=>ir(e,n)},flatten:{value:(n)=>tr(e,n)},addIssue:{value:(n)=>{e.issues.push(n),e.message=JSON.stringify(e.issues,hi,2)}},addIssues:{value:(n)=>{e.issues.push(...n),e.message=JSON.stringify(e.issues,hi,2)}},isEmpty:{get(){return e.issues.length===0}}})},l$,ee,em,tm,im,nm,rm,am,om,sm,um,lm,dm,cm,ls,z,Ji,Mt,D,Ki,kt,ve,Lt,Gi,Wi,Hi,Bi,Xi,Vi,Yi,Qi,aa,qi,en,tn,nn,rn,an,on,st,Ft,Me,Jt,Kt,sn,ua,la,da,ma,fa,pa,va,ln,ga,Wt,Ht,ha,ya,ba,_a,rt,Sa,Ia,at,xa,za,Ua,fn,Ea,Ta,ja,Na,pn,Za,Ca,Ma,Bt,Xt,La,Fa,Ka,Ga,Ha,Ba,Vt,_f,kf,Sf=(...e)=>oc({Codec:Xt,Boolean:Jt,String:Mt},...e),d$,Kn,b,f$,Uf,Ya,Ef,Pf,Tf,jf,Of,Nf,Af,Df,Zf,Cf,Rf,Mf,Lf,k$,Ff,Jf,Gn,fi,Kf,Gf,w$,S$,Wf,I$,Hf,Bf,Xf,Vf,Qa,Yf,Qf,qf,x$,ep,z$,tp,ip,np,U$,E$,P$,rp,j$,O$,Z$,up,Ce,C$,R$,M$,L$,F$,J$,K$,G$,lp,H$=30000,B$=5000,cp,V$,Q$="tool_executor.",q$="custom_tool.",e_="hook.",t_="compaction.compact",i_="checkpoint.create",n_="mistake_limit.decide",r_="user_instructions.snapshot",yt,c_=void 0,p_,g_,Te,vs,gs,b_,I_,x_,E_,T_,K_=`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}}`,
|
|
72
|
+
{{CLINE_METADATA}}`,G_=`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 ww(n){return JSON.stringify({workspaces:{[n.rootPath]:{hint:n.hint,associatedRemoteUrls:n.associatedRemoteUrls,latestGitCommitHash:n.latestGitCommitHash,latestGitBranchName:n.latestGitBranchName}}},null,2)}function yw(n,r,f){if(f?.trim()?.includes(xr))return f.trim();let y=f||JSON.stringify({workspaces:{[n]:{hint:r||n.split("/").at(-1)||n}}},null,2);return`
|
|
73
|
-
${
|
|
74
|
-
${
|
|
75
|
-
|
|
76
|
-
${yw($,w,o)}`.trim();return Z}return(f==="yolo"?fw:rw).replace("{{PLATFORM_NAME}}",y).replace("{{CWD}}",$).replace("{{CURRENT_DATE}}",new Date().toLocaleDateString()).replace("{{IDE_NAME}}",r).replace("{{CLINE_METADATA}}",J?yw($,w,o):"").replace("{{CLINE_RULES}}",G||"").trim()}var xr="# Workspace Configuration";var ow=()=>{};var Gw="remote://";import{z as P}from"zod";var ur,er,sr,Ir,qr,ir,tr,zr,cr,pr,nf,rf,ff,KG,yf,wf,On,kn,df,of,Pw,Cw;var vw=E(()=>{ur=P.object({id:P.string(),temperature:P.number().optional(),isR1FormatRequired:P.boolean().optional(),maxTokens:P.number().optional(),contextWindow:P.number().optional(),inputPrice:P.number().optional(),outputPrice:P.number().optional(),supportsImages:P.boolean().optional()}),er=P.object({models:P.array(ur).optional(),openAiBaseUrl:P.string().optional(),openAiHeaders:P.record(P.string(),P.string()).optional(),azureApiVersion:P.string().optional(),azureIdentity:P.boolean().optional()}),sr=P.object({id:P.string(),thinkingBudgetTokens:P.number().optional()}),Ir=P.object({name:P.string(),baseModelId:P.string(),thinkingBudgetTokens:P.number().optional()}),qr=P.object({models:P.array(sr).optional(),customModels:P.array(Ir).optional(),awsRegion:P.string().optional(),awsUseCrossRegionInference:P.boolean().optional(),awsUseGlobalInference:P.boolean().optional(),awsBedrockUsePromptCache:P.boolean().optional(),awsBedrockEndpoint:P.string().optional()}),ir=P.object({id:P.string()}),tr=P.object({models:P.array(ir).optional()}),zr=P.object({id:P.string(),thinkingBudgetTokens:P.number().optional()}),cr=P.object({models:P.array(zr).optional(),vertexProjectId:P.string().optional(),vertexRegion:P.string().optional()}),pr=P.object({id:P.string(),thinkingBudgetTokens:P.number().optional(),promptCachingEnabled:P.boolean().optional()}),nf=P.object({models:P.array(pr).optional(),baseUrl:P.string().optional()}),rf=P.object({id:P.string(),thinkingBudgetTokens:P.number().optional()}),ff=P.object({models:P.array(rf).optional(),baseUrl:P.string().optional()}),KG=P.object({OpenAiCompatible:er.optional(),AwsBedrock:qr.optional(),Cline:tr.optional(),Vertex:cr.optional(),LiteLLM:nf.optional(),Anthropic:ff.optional()}),yf=P.object({id:P.string()}),wf=P.object({name:P.string(),url:P.string(),alwaysEnabled:P.boolean().optional(),headers:P.record(P.string(),P.string()).optional()}),On=P.object({alwaysEnabled:P.boolean(),name:P.string(),contents:P.string()}),kn=P.object({bucket:P.string(),accessKeyId:P.string(),secretAccessKey:P.string(),region:P.string().optional(),endpoint:P.string().optional(),accountId:P.string().optional()}),df=P.object({enabled:P.boolean().optional(),type:P.union([P.literal("s3_access_keys"),P.literal("r2_access_keys"),P.literal("azure_access_keys")]).optional(),s3AccessSettings:kn.optional(),r2AccessSettings:kn.optional(),azureAccessSettings:kn.optional()}),of=P.object({promptUploading:df.optional()}),Pw=P.object({version:P.string(),providerSettings:KG.optional(),telemetryEnabled:P.boolean().optional(),kanbanEnabled:P.boolean().optional(),mcpMarketplaceEnabled:P.boolean().optional(),allowedMCPServers:P.array(yf).optional(),remoteMCPServers:P.array(wf).optional(),blockPersonalRemoteMCPServers:P.boolean().optional(),yoloModeAllowed:P.boolean().optional(),openTelemetryEnabled:P.boolean().optional(),openTelemetryMetricsExporter:P.string().optional(),openTelemetryLogsExporter:P.string().optional(),openTelemetryOtlpProtocol:P.string().optional(),openTelemetryOtlpEndpoint:P.string().optional(),openTelemetryOtlpHeaders:P.record(P.string(),P.string()).optional(),openTelemetryOtlpMetricsProtocol:P.string().optional(),openTelemetryOtlpMetricsEndpoint:P.string().optional(),openTelemetryOtlpMetricsHeaders:P.record(P.string(),P.string()).optional(),openTelemetryOtlpLogsProtocol:P.string().optional(),openTelemetryOtlpLogsEndpoint:P.string().optional(),openTelemetryOtlpLogsHeaders:P.record(P.string(),P.string()).optional(),openTelemetryMetricExportInterval:P.number().optional(),openTelemetryOtlpInsecure:P.boolean().optional(),openTelemetryLogBatchSize:P.number().optional(),openTelemetryLogBatchTimeout:P.number().optional(),openTelemetryLogMaxQueueSize:P.number().optional(),enterpriseTelemetry:of.optional(),globalRules:P.array(On).optional(),globalWorkflows:P.array(On).optional()}),Cw=P.record(P.string(),P.string())});var $w=25463,Hw=25466,Kw=4317,Fw="127.0.0.1:4317";import Gf from"zod";var Ew,bw,Aw;var Yw=E(()=>{Ew=Gf.enum(["reasoning","prompt-cache","tools","provider-tools","oauth","temperature","files","streaming","vision","computer-use","local-auth"]),bw=Gf.enum(["anthropic","gemini","openai-chat","openai-responses","openai-r1","ai-sdk"]),Aw=Gf.enum(["anthropic","ai-sdk","ai-sdk-community","openai","openai-compatible","openai-r1","gemini","bedrock","custom","fetch","vertex"])});var Sw="runtime.team.progress.v1",Jw="runtime.team.lifecycle.v1";import{basename as FG}from"node:path";function Mw(n){let r=n?.trim().toLowerCase();if(r==="development"||r==="production")return r;return}function EG(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((y)=>y.trim()).includes("development"))return!0}return!1}function bG(n){if(!n?.trim())return!1;let r=FG(n).toLowerCase();return r==="node"||r==="node.exe"||r==="bun"||r==="bun.exe"}function AG(n){return n.some((r)=>r==="--inspect"||r.startsWith("--inspect=")||r==="--inspect-brk"||r.startsWith("--inspect-brk="))}function YG(n){return n.some((r)=>r==="--enable-source-maps")}function SG(n){return n[Pf]?.trim()||"127.0.0.1"}function JG(n){let r=n[Cf]?.trim();if(!r)return;let f=Number.parseInt(r,10);return Number.isInteger(f)&&f>0?f:void 0}function MG(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 xn(n={}){let r=n.env??process.env,f=n.execArgv??process.execArgv,y=Mw(r[Zn]);if(y)return y;let w=r.NODE_ENV?.trim().toLowerCase();if(w==="production")return"production";if(w==="development")return"development";return EG(f)?"development":"production"}function Xw(n=process.env,r={}){if(Mw(n[Zn]))return n;return{...n,[Zn]:xn({env:n,execArgv:r.execArgv})}}function kw(n,r={}){if(n.length===0||!bG(n[0]))return[...n];if(xn(r)!=="development")return[...n];let f=r.env??process.env,y=[...f.NODE_OPTIONS?.split(/\s+/).filter(Boolean)??[],...n.slice(1)],w=[];if(!AG(y)){let o=SG(f),G=JG(f),v=G===void 0?0:G+MG(r.debugRole);w.push(`--inspect=${o}:${v}`)}if(!YG(y))w.push("--enable-source-maps");return[n[0],...w,...n.slice(1)]}var Zn="CLINE_BUILD_ENV",Pf="CLINE_DEBUG_HOST",Cf="CLINE_DEBUG_PORT_BASE";var Zw=()=>{};function Dw(n=process.env){return n.CLINE_RUN_AS_HUB_DAEMON==="1"}var Qw="CLINE_RUN_AS_HUB_DAEMON";function Ww(n){let r={};if(!n)return r;try{n.split(",").forEach((f)=>{let y=f.indexOf("=");if(y<=0)return;let w=decodeURIComponent(f.substring(0,y).trim()),o=decodeURIComponent(f.substring(y+1).trim());if(!w||!o)return;r[w]=o})}catch{}return r}function XG(){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?Ww(process?.env?.OTEL_EXPORTER_OTLP_HEADERS):void 0}}function vf(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 Uw(n={}){return{...XG(),...n,metadata:vf(n.metadata)}}var gw=()=>{};function jw(n){let r=n?.trim();return r?r:void 0}function hw(n,r){if(!n)return;let f=typeof n==="function"?n(r):n;if(!f)return;let y=jw(f.rootSessionId);if(!y)return;return{rootSessionId:y}}function Rw(n){return jw(n?.rootSessionId)}import{customAlphabet as kG}from"nanoid";function aw(n="",r=""){let f=kG("1234567890abcdefghijklmnopqrstuvwxyz",10);return`${n}${Date.now()}_${f(5)}${r}`}var Lw=()=>{};var Nw;var _w=E(()=>{Nw=["running","completed","failed","cancelled"]});function Hf(n){return typeof n==="string"&&ZG.has(n)}function mw(n){if(!Array.isArray(n))return;let r=n.map((f)=>typeof f==="string"?f.trim():"").filter(Hf);return[...new Set(r)]}function Vw(n,r){return new Set(n??$f).has(r)}var un,$f,ZG;var Bw=E(()=>{un=["rules","skills","workflows","plugins"],$f=un,ZG=new Set(un)});import{z as O}from"zod";function QG(){return{workspaces:{}}}function DG(n,r){let f={...n,workspaces:{...n.workspaces,[r.rootPath]:r}};if(!f.currentWorkspacePath)f.currentWorkspacePath=r.rootPath;return lw.parse(f)}var Tw,lw;var Ow=E(()=>{Tw=O.object({rootPath:O.string().min(1),hint:O.string().min(1).optional(),associatedRemoteUrls:O.array(O.string().min(1)).optional(),latestGitCommitHash:O.string().min(1).optional(),latestGitBranchName:O.string().min(1).optional()}),lw=O.object({currentWorkspacePath:O.string().min(1).optional(),workspaces:O.record(O.string().min(1),Tw)})});import{z as d}from"zod";function g(n){return d.preprocess((r)=>r===null?void 0:r,n.optional())}var xw,WG=3600000,UG=240,gG=400,x,Hn,uw,en,jG,hG,RG,aG,LG,NG,_G,mG,VG,BG,TG,lG,OG,xG,uG,eG,sG,IG,qG,iG,tG,zG,cG,ew,pG,nP,sw,rP,fP,yP,wP,dP,oP,GP,PP,CP,vP,$P,HP;var Iw=E(()=>{xw=["current_state","boundary_analysis","interface_proposal"],x=d.preprocess((n)=>n instanceof Date?n.toISOString():n,d.string().datetime()),Hn=d.enum(["pending","in_progress","blocked","completed"]),uw=d.enum(["queued","running","completed","failed","cancelled","interrupted"]),en=d.enum(["draft","in_review","finalized"]),jG=d.object({agentId:d.string(),role:d.enum(["lead","teammate"]),description:d.string().optional(),status:d.enum(["idle","running","stopped"])}),hG=d.object({agentId:d.string(),rolePrompt:d.string(),modelId:d.string().optional(),maxIterations:d.number().optional()});RG=d.object({agentId:d.string().min(1).describe("Teammate identifier"),rolePrompt:d.string().min(1).describe("System prompt describing teammate role")}).strict(),aG=d.object({agentId:d.string().min(1).describe("Teammate identifier"),reason:g(d.string().min(1)).describe("Optional shutdown reason")}),LG=d.object({}),NG={create:["title","description"],list:[],claim:["taskId"],complete:["taskId","summary"],block:["taskId","reason"]},_G={create:["status","taskId","summary","reason"]},mG=d.object({action:d.enum(["create","list","claim","complete","block"]),title:g(d.string().min(1)).describe("Task title"),description:g(d.string().min(1)).describe("Task details"),dependsOn:g(d.array(d.string().describe("Dependency task ID"))).describe("Array of dependency task IDs"),assignee:g(d.string().min(1)).describe("Optional assignee"),status:g(d.enum(["pending","in_progress","blocked","completed"])).describe("Optional task status filter"),taskId:g(d.string()).describe("Task ID"),summary:g(d.string().min(1)).describe("Completion summary"),reason:g(d.string().min(1)).describe("Blocking reason")}).superRefine((n,r)=>{for(let f of NG[n.action]){if(n[f]!==void 0)continue;r.addIssue({code:"custom",path:[f],message:`Field "${f}" is required when action=${n.action}`})}}),VG=d.object({agentId:d.string().describe("Teammate agent ID"),task:d.string().min(1).describe("Task instructions for the teammate"),taskId:g(d.string()).describe("Optional shared task list ID"),runMode:g(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:g(d.boolean()).describe("If true, continue the teammate conversation; otherwise start fresh")}),BG=d.object({status:g(d.enum(["queued","running","completed","failed","cancelled","interrupted"])).describe("Optional run status filter. Omit to include all statuses."),agentId:g(d.string().min(1)).describe("Optional teammate ID filter. Omit to include all teammates."),includeCompleted:g(d.boolean()).describe("Include completed/failed runs (default true)")}),TG=d.object({runId:d.string().min(1).describe("Run ID"),reason:g(d.string().min(1)).describe("Optional cancellation reason")}),lG=d.object({runId:g(d.string().min(1)).describe("Optional async run ID to await. Omit to wait for all active async runs.")}).strict(),OG=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:g(d.string().min(1)).describe("Optional task ID context")}),xG=d.object({subject:d.string().min(1).describe("Message subject"),body:d.string().min(1).describe("Message body"),taskId:g(d.string().min(1)).describe("Optional task ID context")}),uG=d.object({unreadOnly:g(d.boolean()).describe("Only unread messages for read action (default true)")}),eG=d.object({kind:d.enum(["progress","handoff","blocked","decision","done","error"]),summary:d.string().min(1).describe("Update summary"),taskId:g(d.string().min(1)).describe("Optional task ID context"),evidence:g(d.array(d.string().min(1))).describe("Optional evidence links/snippets"),nextAction:g(d.string().min(1)).describe("Planned next step")}),sG=d.object({}),IG=d.object({title:d.string().describe("Outcome title"),requiredSections:d.array(d.string()).default(xw).describe("Required sections for finalization gate (defaults to current_state,boundary_analysis,interface_proposal)")}),qG=d.object({outcomeId:d.string().describe("Outcome ID"),section:d.string().describe("Section name"),sourceRunId:g(d.string()).describe("Optional source run ID"),content:d.string().describe("Section fragment content")}),iG=d.object({fragmentId:d.string().describe("Fragment ID"),approved:d.boolean().describe("Review decision")}),tG=d.object({outcomeId:d.string().describe("Outcome ID")}),zG=d.object({}),cG=d.object({teamId:d.string(),teamName:d.string(),members:d.array(jG),taskCounts:d.record(Hn,d.number()),unreadMessages:d.number(),missionLogEntries:d.number(),activeRuns:d.number(),queuedRuns:d.number(),outcomeCounts:d.record(en,d.number())}),ew=d.object({id:d.string(),title:d.string(),description:d.string(),status:Hn,createdAt:x,updatedAt:x,createdBy:d.string(),assignee:d.string().optional(),dependsOn:d.array(d.string()),summary:d.string().optional(),isReady:d.boolean(),blockedBy:d.array(d.string())}),pG=d.discriminatedUnion("action",[d.object({action:d.literal("create"),taskId:d.string(),status:Hn,ignoredFields:d.array(d.string()).optional(),note:d.string().optional()}),d.object({action:d.literal("list"),tasks:d.array(ew)}),d.object({action:d.literal("claim"),taskId:d.string(),status:Hn,nextStep:d.string()}),d.object({action:d.literal("complete"),taskId:d.string(),status:Hn}),d.object({action:d.literal("block"),taskId:d.string(),status:Hn})]),nP=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()}),sw=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()})}),rP=d.object({id:d.string(),agentId:d.string(),taskId:d.string().optional(),status:uw,messagePreview:d.string(),priority:d.number(),retryCount:d.number(),maxRetries:d.number(),nextAttemptAt:x.optional(),continueConversation:d.boolean().optional(),startedAt:x,endedAt:x.optional(),leaseOwner:d.string().optional(),heartbeatAt:x.optional(),lastProgressAt:x.optional(),lastProgressMessage:d.string().optional(),currentActivity:d.string().optional(),error:d.string().optional(),resultSummary:sw.optional()}),fP=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:x,readAt:x.optional()}),yP=d.object({id:d.string(),teamId:d.string(),title:d.string(),status:en,requiredSections:d.array(d.string()),createdBy:d.string(),createdAt:x,finalizedAt:x.optional()}),wP=d.object({outcomeId:d.string(),status:en,requiredSections:d.array(d.string())}),dP=d.object({agentId:d.string(),status:d.string()}),oP=d.object({runId:d.string(),status:uw}),GP=d.object({id:d.string(),toAgentId:d.string()}),PP=d.object({delivered:d.number()}),CP=d.object({id:d.string()}),vP=d.object({status:d.string()}),$P=d.object({fragmentId:d.string(),status:d.string()}),HP=d.object({outcomeId:d.string(),status:en})});var qw;var iw=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"})(qw||={})});var tw=E(()=>{Iw();iw()});import{z as KP}from"zod";function FP(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 y of["oneOf","anyOf","allOf"]){let w=f[y];if(!Array.isArray(w)||w.length===0)continue;if(y==="allOf"){if(w.some((v)=>v&&typeof v==="object"&&v.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(w.every((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 "${y}" 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 zw(n){let r=FP(n.inputSchema instanceof KP.ZodType?ln(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 cw=E(()=>{Or()});function Ff(n){return Kf.includes(n)}function pw(n,r){if(!Ff(r))return!1;let f=n instanceof Error?n.message.toLowerCase():String(n);return Ef.some((y)=>f.includes(y))}var Kf,Ef;var bf=E(()=>{Kf=["cline","oca","openai-codex"];Ef=["401","403","unauthorized","forbidden","invalid token","expired token","authentication"]});var nd=E(()=>{bf()});import{existsSync as EP,mkdirSync as bP,readFileSync as AP,writeFileSync as YP}from"node:fs";import{dirname as SP,resolve as JP}from"node:path";function kP(n){let r=n.toLowerCase();if(MP.has(r))return!0;for(let f of XP){if(r===f)return!0;if(r.endsWith(f)&&r.length>f.length){let y=r[r.length-f.length-1];if(y==="_"||y==="-")return!0;let w=n[n.length-f.length];if(w&&w===w.toUpperCase()&&w!==w.toLowerCase())return!0}if(r.endsWith(`_${f}`))return!0}return!1}function QP(n){let r=n;for(let{pattern:f,replacement:y}of ZP)r=r.replace(f,y);return r}function Af(n){let r=n;for(let{pattern:f,replacement:y}of DP)r=r.replace(f,y);return r}function sn(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(sn(r))}catch{}return QP(n)}if(Array.isArray(n))return n.map(sn);if(typeof n==="object"){let r={};for(let[f,y]of Object.entries(n))if(kP(f)&&(typeof y==="string"||typeof y==="number"))r[f]="REDACTED";else r[f]=sn(y);return r}return n}function WP(n){let r={...n};if(r.body)delete r.body;if(typeof r.path==="string")r.path=Af(r.path);if(r.response!==void 0)r.response=sn(r.response);return r}function rd(n){try{let r=new URL(n),f=`${r.protocol}//${r.host}`,y=r.pathname+r.search;return{scope:f,path:y}}catch{return{scope:"",path:n}}}function fd(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 yd(n,r){if(r?.method)return r.method.toUpperCase();if(n&&typeof n.method==="string")return n.method.toUpperCase();return"GET"}function UP(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
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
`)}function wd(n){let r=UP(n);if(!r)return;if(r.mode==="record")gP(r.cassettePath,r.filter);else RP(r.cassettePath,r.filter)}var MP,XP,ZP,DP;var dd=E(()=>{Mr();MP=new Set(["accesskeyid","secretaccesskey","idtoken","refreshtoken","accessToken","access_token","refresh_token","apikey","api_key","authorization","password","secret","token","email","displayname","display_name","userInfo"]),XP=["id","balance","cost","secret"];ZP=[{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"}];DP=[{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 od={};l(od,{zodToJsonSchema:()=>ln,xmlTagsRemoval:()=>Wr,withResolvedClineBuildEnv:()=>Xw,validateWithZod:()=>nw,upsertWorkspaceInfo:()=>DG,truncateStr:()=>lr,truncateSplit:()=>iy,toAiSdkToolResultOutput:()=>gr,serializeAbortReason:()=>Wy,sanitizeFileName:()=>qy,safeJsonStringify:()=>xy,safeJsonParse:()=>uy,resolveRootSessionId:()=>Rw,resolveReasoningEffortRatio:()=>jr,resolveReasoningBudgetFromRatio:()=>Zy,resolveHubCommandTimeoutMs:()=>so,resolveHookSessionContext:()=>hw,resolveEffectiveReasoningEffort:()=>ky,resolveClineBuildEnv:()=>xn,registerDisposable:()=>_n,processWorkspaceInfo:()=>ww,parseUserCommandEnvelope:()=>Qr,parseRuntimeConfigExtensions:()=>mw,parseJsonStream:()=>Oy,parseHookEventPayload:()=>Hy,normalizeUserInput:()=>Dr,normalizePluginManifest:()=>Xr,noopBasicLogger:()=>gy,maskSecret:()=>ty,isRuntimeConfigExtensionKind:()=>Hf,isOAuthProviderId:()=>Ff,isLikelyAuthError:()=>pw,isHubToolExecutorName:()=>qo,isHubDaemonProcess:()=>Dw,initVcr:()=>wd,hasRuntimeConfigExtension:()=>Vw,getShellArgs:()=>Iy,getDefaultShell:()=>sy,getDefaultHubCommandTimeoutMs:()=>Fy,formatUserInputBlock:()=>Ay,formatUserCommandBlock:()=>Yy,formatUptime:()=>cy,formatMessagesForAiSdk:()=>Bn,formatHumanReadableDate:()=>zy,formatFileContentBlock:()=>Vn,formatDisplayUserInput:()=>Sy,emptyWorkspaceManifest:()=>QG,disposeAll:()=>wy,createTool:()=>zw,createSessionId:()=>aw,createContributionRegistry:()=>Py,createClineTelemetryServiceMetadata:()=>vf,createClineTelemetryServiceConfig:()=>Uw,buildClineSystemPrompt:()=>dw,augmentNodeCommandForDebug:()=>kw,WorkspaceManifestSchema:()=>lw,WorkspaceInfoSchema:()=>Tw,VertexSettingsSchema:()=>cr,VertexModelSchema:()=>zr,ToolCallRecordSchema:()=>Nn,ThinkingConfigSchema:()=>Er,TeamTeammateSpecSchema:()=>hG,TeamTaskToolResultSchema:()=>pG,TeamTaskListItemToolResultSchema:()=>ew,TeamTaskInputSchema:()=>mG,TeamStatusToolResultSchema:()=>cG,TeamStatusInputSchema:()=>LG,TeamSpawnTeammateInputSchema:()=>RG,TeamSimpleAgentStatusToolResultSchema:()=>dP,TeamShutdownTeammateInputSchema:()=>aG,TeamSendMessageToolResultSchema:()=>GP,TeamSendMessageInputSchema:()=>OG,TeamRunToolSummarySchema:()=>rP,TeamRunTaskToolResultSchema:()=>nP,TeamRunTaskInputSchema:()=>VG,TeamRunResultSummarySchema:()=>sw,TeamReviewOutcomeFragmentInputSchema:()=>iG,TeamReadMailboxInputSchema:()=>uG,TeamOutcomeToolResultSchema:()=>yP,TeamOutcomeFragmentToolResultSchema:()=>$P,TeamMissionLogToolResultSchema:()=>CP,TeamMissionLogInputSchema:()=>eG,TeamMessageType:()=>qw,TeamMailboxMessageToolResultSchema:()=>fP,TeamListRunsInputSchema:()=>BG,TeamListOutcomesInputSchema:()=>zG,TeamFinalizeOutcomeToolResultSchema:()=>HP,TeamFinalizeOutcomeInputSchema:()=>tG,TeamCreateOutcomeToolResultSchema:()=>wP,TeamCreateOutcomeInputSchema:()=>IG,TeamCleanupToolResultSchema:()=>vP,TeamCleanupInputSchema:()=>sG,TeamCancelRunToolResultSchema:()=>oP,TeamCancelRunInputSchema:()=>TG,TeamBroadcastToolResultSchema:()=>PP,TeamBroadcastInputSchema:()=>xG,TeamAwaitRunsInputSchema:()=>lG,TeamAttachOutcomeFragmentInputSchema:()=>qG,TEAM_TASK_IGNORED_FIELDS_BY_ACTION:()=>_G,TEAM_RUN_TEXT_PREVIEW_LIMIT:()=>gG,TEAM_RUN_MESSAGE_PREVIEW_LIMIT:()=>UG,TEAM_PROGRESS_EVENT_TYPE:()=>Sw,TEAM_LIFECYCLE_EVENT_TYPE:()=>Jw,TEAM_AWAIT_TIMEOUT_MS:()=>WG,SESSION_STATUS_VALUES:()=>Nw,S3AccessKeySettingsSchema:()=>kn,RemoteMCPServerSchema:()=>wf,RemoteConfigSchema:()=>Pw,ReasoningEffortSchema:()=>tf,RUNTIME_CONFIG_EXTENSION_KINDS:()=>un,REMOTE_URI_SCHEME:()=>Gw,REASONING_EFFORT_RATIOS:()=>vn,ProviderProtocolSchema:()=>bw,ProviderClientSchema:()=>Aw,ProviderCapabilitySchema:()=>Ew,PromptUploadingSchema:()=>df,PLUGIN_FILE_EXTENSIONS:()=>vy,OpenAiCompatibleSchema:()=>er,OpenAiCompatibleModelSchema:()=>ur,OAUTH_PROVIDER_IDS:()=>Kf,ModelStatusSchema:()=>Kr,ModelPricingSchema:()=>Fr,ModelInfoSchema:()=>Jn,ModelCapabilitySchema:()=>Hr,LiteLLMSchema:()=>nf,LiteLLMModelSchema:()=>pr,HookEventPayloadSchema:()=>Zr,HookEventNameSchema:()=>kr,HUB_USER_INSTRUCTIONS_SNAPSHOT_CAPABILITY:()=>rG,HUB_TOOL_EXECUTOR_NAMES:()=>Ey,HUB_TOOL_EXECUTOR_CAPABILITY_PREFIX:()=>io,HUB_MISTAKE_LIMIT_CAPABILITY:()=>nG,HUB_HOOK_CAPABILITY_PREFIX:()=>zo,HUB_DEFAULT_COMMAND_TIMEOUT_MS:()=>uo,HUB_CUSTOM_TOOL_CAPABILITY_PREFIX:()=>to,HUB_COMPACTION_CAPABILITY:()=>co,HUB_COMMAND_SLOW_LOG_MS:()=>eo,HUB_CHECKPOINT_CAPABILITY:()=>po,GlobalInstructionsFileSchema:()=>On,EnterpriseTelemetrySchema:()=>of,DEFAULT_RUNTIME_CONFIG_EXTENSIONS:()=>$f,DEFAULT_REQUEST_HEADERS:()=>Dy,DEFAULT_REASONING_EFFORT:()=>Xy,DEFAULT_OUTCOME_REQUIRED_SECTIONS:()=>xw,ContributionRegistry:()=>mn,ConnectorHookEventSchema:()=>ry,ConnectorHookEventNameSchema:()=>Yr,ConnectorEventContextSchema:()=>Jr,ConnectorEventActorSchema:()=>Sr,ConnectorAuthorizationRequestSchema:()=>pf,ConnectorAuthorizationDecisionSchema:()=>ny,ClineSettingsSchema:()=>tr,ClineModelSchema:()=>ir,CLINE_RUN_AS_HUB_DAEMON_ENV:()=>Qw,CLINE_HUB_PORT:()=>$w,CLINE_HUB_DEV_PORT:()=>Hw,CLINE_DEFAULT_RPC_PORT:()=>Kw,CLINE_DEFAULT_RPC_ADDRESS:()=>Fw,CLINE_DEBUG_PORT_BASE_ENV:()=>Cf,CLINE_DEBUG_HOST_ENV:()=>Pf,CLINE_BUILD_ENV_ENV:()=>Zn,AwsBedrockSettingsSchema:()=>qr,AwsBedrockModelSchema:()=>sr,AwsBedrockCustomModelSchema:()=>Ir,ApiFormatSchema:()=>$r,ApiFormat:()=>sf,AnthropicSchema:()=>ff,AnthropicModelSchema:()=>rf,AllowedMCPServerSchema:()=>yf,AgentUsageSchema:()=>qf,AgentResultSchema:()=>jo,AgentFinishReasonSchema:()=>If,AgentConfigSchema:()=>ho,AUTH_ERROR_PATTERNS:()=>Ef,APIKeySchema:()=>Cw});var Yf=E(()=>{fy();Mr();Cy();$y();Ky();My();br();Qy();Uy();Ar();jy();ey();Or();ow();vw();Yw();Zw();gw();Lw();_w();Bw();cw();bf();dd();cf();by();Ow();tw();nd()});function wn(n){let r=(y)=>{if(!y)return;if(typeof y==="string")try{return r(JSON.parse(y))}catch{return y.trim()||void 0}if(typeof y!=="object")return;let w=y;if(typeof w.error==="string"&&w.error.trim())return w.error;if(w.error&&typeof w.error==="object"&&typeof w.error.message==="string"&&w.error.message.trim())return w.error.message;if(typeof w.detail==="string"&&w.detail.trim())return w.detail;if(Array.isArray(w.errors))for(let o of w.errors){let G=r(o);if(G)return G}if("responseBody"in w&&w.responseBody!==y){let o=r(w.responseBody);if(o)return o}if("cause"in w&&w.cause!==y){let o=r(w.cause);if(o)return o}if(typeof w.message==="string"&&w.message.trim())return w.message;return},f=r(n);if(f)return f;return String(n)}function In(n){return n.replace(/-([a-z0-9])/gi,(r,f)=>f.toUpperCase())}function rn(){return{cache_control:{type:"ephemeral"}}}function _(n){let r=n.model.metadata?.family;return typeof r==="string"?r:void 0}function i(n){let r=typeof n.family==="string"?n.family.trim():"";if(r)return r.toLowerCase().includes("claude");return NP(n.modelId)}function NP(n){if(!n)return!1;let r=n.toLowerCase(),f=r.includes("anthropic"),y=r.includes("claude"),w=r.includes("qwen");return f||y||w}function Gd(n,r){let f={openaiCompatible:rn(),[n]:rn()},y=In(n);if(y!==n)f[y]=rn();if(r)f.anthropic=rn();return f}function Pd(n,r,f){if(!n)return;let y=n.content;if(typeof y==="string"){n.content=[{type:"text",text:y,providerOptions:Gd(r,f)}];return}if(!Array.isArray(y))return;for(let w=y.length-1;w>=0;w--){let o=y[w];if(o&&typeof o==="object"&&o.type==="text"){y[w]={...o,providerOptions:Gd(r,f)};return}}}function Qn(n,r){return i({modelId:n.modelId,family:_(r)})&&TP(r.provider)==="anthropic-automatic"}function _P(n){let r=n.model.capabilities;return!r||r.includes("reasoning")}function mP(n,r){let f=r?.toLowerCase()??"",y=n?.toLowerCase()??"";if(f.includes("opus")||y.includes("opus"))return"opus";if(f.includes("sonnet")||y.includes("sonnet"))return"sonnet";if(f.includes("haiku")||y.includes("haiku"))return"haiku";return}function VP(n){let r=n?.toLowerCase()??"",f=/claude-(\d+)[.-](\d{1,2})-(?:opus|sonnet|haiku)/i.exec(r),w=/claude-(?:opus|sonnet|haiku)-(.+)/i.exec(r)?.[1]?.match(/\d+/g)??[],o=f?.[1]??w[0],G=f?.[2]??(w[1]?.length<=2?w[1]:void 0);if(!o||!G)return;let v=Number.parseInt(o,10),A=Number.parseInt(G,10);if(!Number.isFinite(v)||!Number.isFinite(A))return;return{major:v,minor:A}}function BP(n){let r=mP(n.modelId,n.family),f=VP(n.modelId);if(!r||!f)return!1;if(f.major!==4)return f.major>4;return(r==="opus"||r==="sonnet")&&f.minor>=6}function Fn(n,r){let f=_(r);if(!i({modelId:n.modelId,family:f})||!_P(r))return{kind:"none"};return BP({modelId:n.modelId,family:f})?{kind:"anthropic-adaptive"}:{kind:"anthropic-manual"}}function TP(n){let r=n.metadata?.promptCacheStrategy;return r==="anthropic-automatic"?r:void 0}function Cd(n,r){let f=Fn(n,r),w=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:Sf({modelId:n.modelId,family:_(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}:{},...w?{thinking:w}:{},...Qn(n,r)?rn():{}}}function Sf(n){if(typeof n.explicitBudgetTokens==="number"&&n.explicitBudgetTokens>0)return n.explicitBudgetTokens;if(!n.modelId&&!n.family||!i({modelId:n.modelId,family:n.family}))return;if(!n.effort)return Kn;if(typeof n.maxTokens!=="number")return Kn;if(n.maxTokens<=Kn)return Kn;let r=LP[n.effort];if(!r)return Kn;let f=Math.min(n.maxTokens-1,aP);return Math.max(Kn,Math.floor(f*r))}function vd(n,r){let f=Fn(n,r);if(f.kind==="none"||!n.reasoning?.enabled&&!n.reasoning?.effort&&typeof n.reasoning?.budgetTokens!=="number")return;let y=Sf({modelId:n.modelId,family:_(r),effort:n.reasoning?.effort,maxTokens:n.maxTokens,explicitBudgetTokens:n.reasoning?.budgetTokens}),w={};if(n.reasoning?.enabled===!0)w.enabled=!0;if(f.kind==="anthropic-adaptive"&&n.reasoning?.effort)w.effort=n.reasoning.effort;if(typeof n.reasoning?.budgetTokens==="number")w.max_tokens=n.reasoning.budgetTokens;else if(f.kind==="anthropic-manual"&&typeof y==="number"&&y>=0)w.max_tokens=y;return Object.keys(w).length>0?w:void 0}function $d(n,r){if(n.reasoning?.enabled===void 0&&!n.reasoning?.effort&&typeof n.reasoning?.budgetTokens!=="number")return;let f=Fn(n,r);if(f.kind==="none"&&i({modelId:n.modelId,family:_(r)}))return;let y=f.kind==="anthropic-manual"?Sf({modelId:n.modelId,family:_(r),effort:n.reasoning?.effort,maxTokens:n.maxTokens,explicitBudgetTokens:n.reasoning?.budgetTokens}):n.reasoning?.budgetTokens,w={...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 y==="number"&&y>=0)w.max_tokens=y;return Object.keys(w).length>0?w:void 0}var Kn=1024,aP=128000,LP;var qn=E(()=>{LP={low:0.2,medium:0.5,high:0.8}});function tn(n,r){let f=_(r)?.toLowerCase()??"",y=n.modelId.toLowerCase();return f.includes("glm")||y.includes("glm")}function Jf(n){return n==="zai"||n==="zai-coding-plan"}function Hd(n,r){return Jf(n.providerId)&&n.reasoning?.enabled!==void 0&&!tn(n,r)||tn(n,r)&&!Jf(n.providerId)}function lP(n){if(n.reasoning?.enabled===void 0)return;return{thinking:{type:n.reasoning.enabled?"enabled":"disabled"}}}function OP(n){if(n.reasoning?.enabled===!0)return{reasoning:{enabled:!0}};if(n.reasoning?.enabled===!1)return{reasoning:{exclude:!0}};return}function Kd(n,r,f){if(Jf(n.providerId)){if(!tn(n,r))return;let w=lP(n);return w?{openaiCompatible:w,[n.providerId]:w,...f!==n.providerId?{[f]:w}:{}}:void 0}if(!tn(n,r))return;let y=OP(n);if(!y)return;return{openaiCompatible:y,[n.providerId]:y,...f!==n.providerId?{[f]:y}:{}}}var Fd=E(()=>{qn()});function eP(n){let r={};for(let f of n){if(!f)continue;for(let[y,w]of Object.entries(f))r[y]={...r[y]??{},...w}}return r}function Mf(n){let{providerId:r,providerOptionsKey:f,bucketOptions:y}=n,w=f!==r&&f!=="anthropic";return{[r]:y,...w?{[f]:y}:{}}}function sP(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 Ed(n){let r={thinking:{type:n.thinkingType}};return{...Mf({providerId:n.providerId,providerOptionsKey:n.providerOptionsKey,bucketOptions:r}),openaiCompatible:r}}function IP(n){return n.toLowerCase().includes("moonshotai/kimi-")}function bd(n){return _(n)?.trim().toLowerCase()==="kimi-k2.6"}function qP(n){return _(n)?.trim().toLowerCase().includes("deepseek")===!0}function iP(n,r){return Ad.some((f)=>f.matches(n,r))}function tP(n,r){let f=Ad.find((w)=>w.matches(n,r));if(!f)return;let y=n.reasoning?.enabled;if(y===!0)return"enabled";if(y===!1)return"disabled";return f.defaultWhenUnset}function zP(n,r){if(Hd(n,r)||iP(n,r))return{};if(n.reasoning?.enabled!==!0)return{};let y=i({modelId:n.modelId,family:_(r)})?Fn(n,r):void 0;if(y&&y.kind!=="anthropic-adaptive")return{};return{thinking:{type:"adaptive"}}}function cP(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 Yd(n){return["openai-native","openai","openai-codex"].includes(n.providerId)?{truncation:"auto"}:{}}function pP(n){let{request:r,context:f,isAnthropicCompatibleModelId:y,target:w}=n,o=y?Fn(r,f):void 0,G=vd(r,f),v=Qn(r,f)?rn():{};return{...w==="openai-compatible"?{strictJsonSchema:!1}:{},...zP(r,f),...cP({reasoning:r.reasoning,isAnthropicCompatibleModelId:y,anthropicReasoningPolicyKind:o?.kind}),...G?{reasoning:G}:{},...v,...Yd(r)}}function nC(n,r){if(r!=="openai")return;return{openai:{strictJsonSchema:!1,...Yd(n)}}}function rC(n,r){return{anthropic:r,openaiCompatible:n}}function fC(n,r,f){if(n.providerId!=="openai-codex")return;let y={...f,instructions:n.systemPrompt,store:!1,strictJsonSchema:!1,systemMessageMode:"remove"};return{openai:y,...Mf({providerId:n.providerId,providerOptionsKey:r,bucketOptions:y})}}function yC(n,r,f,y,w){if(w==="openai")return;if(xP.has(n.providerId))return;let o=n.providerId==="cline"?$d(n,r):void 0;return Mf({providerId:n.providerId,providerOptionsKey:f,bucketOptions:{...y,...o?{reasoning:o}:{}}})}function wC(n){if(!(n.providerId==="google"||n.providerId==="gemini")||!n.reasoning?.effort)return;return{google:{thinkingConfig:{thinkingLevel:n.reasoning.effort,includeThoughts:!0}}}}function dC(n){let{request:r,context:f,providerOptionsKey:y}=n;if(r.reasoning?.enabled!==!1)return;if(!IP(r.modelId))return;if(bd(f))return;if(!uP.has(r.providerId))return;return Ed({providerId:r.providerId,providerOptionsKey:y,thinkingType:"disabled"})}function oC(n){let{request:r,context:f,providerOptionsKey:y}=n,w=tP(r,f);if(!w)return;return Ed({providerId:r.providerId,providerOptionsKey:y,thinkingType:w})}function Sd(n,r,f=sP(n.providerId)){let y=In(n.providerId),w=i({modelId:n.modelId,family:_(r)}),o=pP({request:n,context:r,isAnthropicCompatibleModelId:w,target:f}),G=Cd(n,r),v=[rC(o,G),nC(n,f),fC(n,y,o),yC(n,r,y,o,f),wC(n),dC({request:n,context:r,providerOptionsKey:y}),oC({request:n,context:r,providerOptionsKey:y}),Kd(n,r,y)];return eP(v)}var xP,uP,Ad;var Jd=E(()=>{qn();Fd();xP=new Set(["anthropic","openai-codex","google"]),uP=new Set(["cline","openrouter"]);Ad=[{matches:(n,r)=>bd(r),defaultWhenUnset:"enabled"},{matches:(n,r)=>qP(r)||n.providerId==="deepseek",defaultWhenUnset:void 0}]});var Qd={};l(Qd,{resetLangfuseTelemetryForTests:()=>$C,hasLangfuseTelemetryConfig:()=>kd,ensureLangfuseTelemetry:()=>GC,disposeLangfuseTelemetry:()=>Zd,debugLangfuse:()=>u});function Xd(){let n=process?.env,r=n?.LANGFUSE_BASE_URL?.trim(),f=n?.LANGFUSE_PUBLIC_KEY?.trim(),y=n?.LANGFUSE_SECRET_KEY?.trim();if(!r||!f||!y)return;return{baseUrl:r,publicKey:f,secretKey:y}}function kd(){return Xd()!==void 0}async function GC(n){if(!kd())return!1;if(dn!==void 0)return u(`cached readiness=${String(dn)}`),dn;if(!zn)zn=PC();return dn=await zn,u(`initialized readiness=${String(dn)}`),dn}async function PC(){let{registerDisposable:n}=await Promise.resolve().then(() => (Yf(),od));n(Zd);let r=Xd();if(!r)return!1;try{let[{LangfuseSpanProcessor:f},{trace:y},{NodeTracerProvider:w}]=await Promise.all([import("@langfuse/otel"),import("@opentelemetry/api"),import("@opentelemetry/sdk-trace-node")]),o=new f({baseUrl:r.baseUrl,publicKey:r.publicKey,secretKey:r.secretKey});u(`creating span processor baseUrl=${r.baseUrl}`);let G=y.getTracerProvider();if(typeof G?.addSpanProcessor==="function"){G.addSpanProcessor(o);let J=Md(y);return u(`attached processor to existing tracer provider delegateReady=${String(J)}`),J}let v=G?.constructor?.name;if(v&&v!=="ProxyTracerProvider"&&v!=="NoopTracerProvider")return!1;new w({spanProcessors:[o]}).register();let $=Md(y);return u(`registered NodeTracerProvider delegateReady=${String($)}`),$}catch(f){return u(`initialization failed error=${f instanceof Error?f.message:String(f)}`),!1}}function Md(n){let y=n.getTracerProvider().getDelegate?.()?.constructor?.name;return Boolean(y&&y!=="NoopTracerProvider")}async function CC(){try{let{trace:n}=await import("@opentelemetry/api");await n.getTracerProvider().getDelegate?.()?.forceFlush?.(),u("forceFlush completed")}catch(n){u(`forceFlush failed error=${n instanceof Error?n.message:String(n)}`)}}async function Zd(){try{await CC();let{trace:n}=await import("@opentelemetry/api");await n.getTracerProvider().getDelegate?.()?.shutdown?.(),u("shutdown completed")}catch(n){u(`shutdown failed error=${n instanceof Error?n.message:String(n)}`)}}function u(n){if(!vC())return;console.warn(`[langfuse-debug] ${n}`)}function vC(){let n=process.env.CLINE_DEBUG_LANGFUSE;if(!n)return!1;let r=n.trim().toLowerCase();return r==="1"||r==="true"||r==="yes"}function $C(){dn=void 0,zn=void 0}var dn,zn;async function L(n){let r=n.apiKey?.trim();if(r)return r;let y=(await n.apiKeyResolver?.())?.trim();if(y)return y;for(let w of n.apiKeyEnv??[]){let o=HC(w);if(o)return o}return}function HC(n){let r=globalThis.process?.env;if(!r)return;let f=r[n];if(typeof f!=="string")return;let y=f.trim();return y.length>0?y:void 0}var Dd={};l(Dd,{createOpenAIProviderModule:()=>FC});import{createOpenAI as KC}from"@ai-sdk/openai";async function FC(n,r){let f=await L(n),y=KC({apiKey:f,baseURL:n.baseUrl,headers:n.headers,fetch:n.fetch,name:r.provider.id});return{model:(w)=>y.responses(w)}}var Wd=()=>{};function EC(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 bC(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 AC(n){if(n.type!=="content")return null;let r=[],f=[];for(let y of n.value){if(!EC(y)){f.push(y);continue}let w=bC(y);if(!w){f.push(y);continue}r.push(w);let o={type:"text",text:"(see following user message for image)"};f.push(o)}if(r.length===0)return null;return{stripped:{type:"content",value:f},media:r}}function YC(n){let r=[],f=!1;for(let y of n){if(y.role!=="tool"){r.push(y);continue}let w=[],o=y.content.map((G)=>{if(G.type!=="tool-result")return G;let v=AC(G.output);if(!v)return G;return w.push(...v.media),{...G,output:v.stripped}});if(r.push({...y,content:o}),w.length>0)r.push({role:"user",content:w}),f=!0}return{prompt:r,mutated:f}}var cn;var Xf=E(()=>{cn={specificationVersion:"v3",transformParams:async({params:n})=>{let{prompt:r,mutated:f}=YC(n.prompt);if(!f)return n;return{...n,prompt:r}}}});var Ud={};l(Ud,{createOpenAICompatibleProviderModule:()=>MC});import{createOpenAICompatible as SC}from"@ai-sdk/openai-compatible";import{wrapLanguageModel as JC}from"ai";async function MC(n,r){let f=await L(n),y=SC({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:(w)=>JC({model:y(w),middleware:cn})}}var gd=E(()=>{Xf()});var jd={};l(jd,{createAnthropicProviderModule:()=>kC});import{createAnthropic as XC}from"@ai-sdk/anthropic";async function kC(n,r){let f=await L(n),y=XC({apiKey:f,headers:n.headers,fetch:n.fetch,name:r.provider.id});return{model:(w)=>y(w)}}var hd=()=>{};var Rd={};l(Rd,{createGoogleProviderModule:()=>QC});import{createGoogleGenerativeAI as ZC}from"@ai-sdk/google";async function QC(n,r){let f=await L(n),y=ZC({apiKey:f,headers:n.headers,fetch:n.fetch,name:r.provider.id});return{model:(w)=>y(w)}}var ad=()=>{};var Ld={};l(Ld,{createVertexProviderModule:()=>UC});import{createVertex as DC}from"@ai-sdk/google-vertex";import{createVertexAnthropic as WC}from"@ai-sdk/google-vertex/anthropic";async function UC(n,r){let f=String(n.options?.project??n.options?.projectId??""),y=String(n.options?.location??n.options?.region??"us-central1");if(r.model.id.toLowerCase().includes("claude")){let o=WC({project:f,location:y,baseURL:n.baseUrl,headers:n.headers,fetch:n.fetch});return{model:(G)=>o(G)}}let w=DC({project:f,location:y,apiKey:await L(n),baseURL:n.baseUrl,headers:n.headers,fetch:n.fetch});return{model:(o)=>w(o)}}var Nd=()=>{};var _d={};l(_d,{createBedrockProviderModule:()=>jC});import{createAmazonBedrock as gC}from"@ai-sdk/amazon-bedrock";async function jC(n){let r=typeof n.options?.credentialProvider==="function"?n.options.credentialProvider:void 0,f=gC({region:n.options?.region,apiKey:await L(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:(y)=>f(y)}}var md=()=>{};var Vd={};l(Vd,{createMistralProviderModule:()=>aC});import{createMistral as hC}from"@ai-sdk/mistral";import{wrapLanguageModel as RC}from"ai";async function aC(n){let r=hC({apiKey:await L(n),baseURL:n.baseUrl,headers:n.headers,fetch:n.fetch});return{model:(f)=>RC({model:r(f),middleware:cn})}}var Bd=E(()=>{Xf()});var Dn={};l(Dn,{createOpenCodeProviderModule:()=>TC,createOpenAICodexProviderModule:()=>VC,createDifyProviderModule:()=>lC,createClaudeCodeProviderModule:()=>mC});import{createClaudeCode as LC}from"ai-sdk-provider-claude-code";import{createCodexExec as NC}from"ai-sdk-provider-codex-cli";import{createDifyProvider as _C}from"dify-ai-provider";function pn(n){return n.options??{}}async function mC(n){let r=LC(pn(n));return{model:(f)=>r(f)}}async function VC(n){let r=NC(pn(n));return{model:(f)=>r(f)}}async function BC(n){let r=["SIGINT","SIGTERM"],f=new Map(r.map((w)=>[w,new Set(process.listeners(w))])),y=await n();for(let w of r)for(let o of process.listeners(w))if(!f.get(w)?.has(o))process.removeListener(w,o);return y}async function TC(n){let r=await BC(async()=>{let{createOpencode:f}=await import("ai-sdk-provider-opencode-sdk");return f(pn(n))});return{model:(f)=>r(f)}}async function lC(n){let r=await L(n),f=_C({baseURL:n.baseUrl,headers:n.headers,fetch:n.fetch,...pn(n)});return{model:(y)=>f(y,{apiKey:r})}}var Wn=()=>{};var T={};l(T,{normalizeUsage:()=>sd,createVertexProvider:()=>wr,createOpenCodeProvider:()=>Uf,createOpenAIProvider:()=>nr,createOpenAICompatibleProvider:()=>rr,createOpenAICodexProvider:()=>Wf,createMistralProvider:()=>Qf,createGoogleProvider:()=>yr,createDifyProvider:()=>gf,createClaudeCodeProvider:()=>Df,createBedrockProvider:()=>dr,createAnthropicProvider:()=>fr});import{jsonSchema as OC,streamText as xC}from"ai";import{nanoid as Td}from"nanoid";import{z as uC}from"zod";function eC(n,r,f){let y=Od(n.messages,f),w=i({modelId:n.modelId,family:_(r)});for(let o=y.length-1;o>=0;o--)if(y[o]?.role==="user"){Pd(y[o],n.providerId,w);break}return y}async function sC(n){try{return(await Promise.resolve().then(() => Qd)).ensureLangfuseTelemetry(n)}catch{return!1}}function Od(n,r){let f=[];for(let y of n){let w=[];for(let o of y.content){if(o.type==="text"){w.push({type:"text",text:o.text});continue}if(o.type==="reasoning"){let G=o.metadata,v=G?.signature,A=G?.redactedData;w.push({type:"reasoning",text:o.text,...typeof v==="string"||typeof A==="string"?{providerOptions:{anthropic:{...typeof v==="string"?{signature:v}:{},...typeof A==="string"?{redactedData:A}:{}}}}:{}});continue}if(o.type==="file"){w.push({type:"file",path:o.path,content:o.content});continue}if(o.type==="image"){w.push({type:"image",image:o.image,mediaType:o.mediaType});continue}if(o.type==="tool-call"){let G=o.metadata,v=G?.thoughtSignature??G?.thought_signature;w.push({type:"tool-call",toolCallId:o.toolCallId,toolName:o.toolName,input:o.input,...typeof v==="string"?{providerOptions:{google:{thoughtSignature:v}}}:{}});continue}if(o.type==="tool-result")w.push({type:"tool-result",toolCallId:o.toolCallId,toolName:o.toolName,output:o.output,isError:o.isError??!1})}if(w.length>0)f.push({role:y.role,content:w});else if(y.role==="user"||y.role==="assistant")f.push({role:y.role,content:""})}return Bn(r,f,{assistantToolCallArgKey:"input"})}function IC(n){if(!n.tools?.length)return;return Object.fromEntries(n.tools.map((r)=>[r.name,{description:r.description,inputSchema:OC(qC(r.inputSchema),{validate:async(f)=>{let y=await uC.fromJSONSchema(r.inputSchema).safeParseAsync(f);return y.success?{success:!0,value:y.data}:{success:!1,error:y.error}}})}]))}function qC(n){if(n.type==="object")return n;return{type:"object",...n}}function xd(n){return n.provider.capabilities?.includes("provider-tools")??!1}function ud(n,r){if(!n||typeof n!=="object"||Array.isArray(n))return r;return{...n,...r}}function ed(n){return ud(n.metadata,{toolSource:{providerId:n.request.providerId,modelId:n.request.modelId,executionMode:xd(n.context)?"provider":"runtime"}})}function iC(n){return ed({metadata:ud(Zf(n.part),{inputParseError:`Tool call ${n.toolName} was rejected before execution: ${n.errorMessage}`,aiSdkToolError:n.errorMessage}),request:n.request,context:n.context})}function tC(n){return n.providerId==="openai-codex"?void 0:n.systemPrompt}function zC(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 on(n,...r){for(let f of r){let y=n[f];if(typeof y==="number"&&Number.isFinite(y))return y;if(typeof y==="string"&&y.trim().length>0&&Number.isFinite(Number(y)))return Number(y)}return 0}function e(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 kf(n,...r){let f=n;for(let y of r){if(!f||typeof f!=="object")return 0;f=f[y]}return typeof f==="number"&&Number.isFinite(f)?f:0}function cC(n){if(!n||typeof n!=="object")return;let r=n;for(let f of Object.values(r)){if(!f||typeof f!=="object")continue;let y=f;if(y.usage&&typeof y.usage==="object")return y.usage}return}function pC(n,r){if(!r||typeof r!=="object")return;let f=r,y=e(f.input),w=e(f.output);if(y===void 0||w===void 0)return;let o=e(f.cacheRead)??0,G=e(f.cacheWrite)??y*1.25;return Math.max(0,n.inputTokens-n.cacheReadTokens-n.cacheWriteTokens)/1e6*y+n.outputTokens/1e6*w+n.cacheReadTokens/1e6*o+n.cacheWriteTokens/1e6*G}function sd(n,r,f){let y=n&&typeof n==="object"?n:{},w=cC(r),o=r&&typeof r==="object"?r:{},G=o.gateway&&typeof o.gateway==="object"?o.gateway:{},v=y.raw&&typeof y.raw==="object"?y.raw:y,A=e(v.cost_details?.upstream_inference_cost)??e(v.upstream_inference_cost),$=e(v.market_cost)??e(v.marketCost)??e(G.marketCost),J=e(v.cost)??e(G.cost),Q=$!==void 0||J!==void 0||A!==void 0,Z=$??(J!==void 0&&A!==void 0?J+A:J??A),H={inputTokens:on(y,"inputTokens","input_tokens","prompt_tokens"),outputTokens:on(y,"outputTokens","output_tokens","completion_tokens"),cacheReadTokens:kf(y,"inputTokenDetails","cacheReadTokens")||on(y,"cachedInputTokens","cacheReadTokens","cache_read_tokens","cache_read_input_tokens")||kf(y,"prompt_tokens_details","cached_tokens")||on(w??{},"cachedInputTokens","cacheReadTokens","cache_read_tokens","cache_read_input_tokens"),cacheWriteTokens:kf(y,"inputTokenDetails","cacheWriteTokens")||on(y,"cacheWriteTokens","cache_write_tokens","cache_creation_input_tokens")||on(v,"cacheWriteTokens","cache_write_tokens","cache_creation_input_tokens")||on(w??{},"cacheWriteTokens","cache_write_tokens","cache_creation_input_tokens")},Y=Z!==void 0?Z:Q?void 0:pC(H,f);return{...H,...typeof Y==="number"?{totalCost:Y}:{}}}function ld(n){if(!n)return;let r=()=>{},f=(w)=>{if(w&&typeof w.catch==="function")w.catch(r)},y=n;for(let w of Object.keys(n))try{f(y[w])}catch{}}function Zf(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,y=f?.google&&typeof f.google==="object"?f.google:void 0;if(typeof r.thoughtSignature!=="string"&&typeof y?.thoughtSignature==="string")r.thoughtSignature=y.thoughtSignature;if(typeof r.thought_signature!=="string"&&typeof y?.thought_signature==="string")r.thought_signature=y.thought_signature;return Object.keys(r).length>0?r:void 0}async function*n0(n,r,f,y,w){let o=!1,G=new Set,v,A,$,J;try{if(n.fullStream)for await(let H of n.fullStream){if(H.type==="text-delta"){let Y=H.textDelta??H.text??H.delta;if(Y)yield{type:"text-delta",text:Y};continue}if(H.type==="reasoning-delta"||H.type==="reasoning"){let Y=H.textDelta??H.text??H.reasoning;if(Y)yield{type:"reasoning-delta",text:Y,metadata:Zf(H)};continue}if(H.type==="tool-call"){o=!0;let Y=H.toolCallId??H.id??`tool_${Td()}`;G.add(Y);let h=H.input??H.args??{},D=typeof h==="string"?h:JSON.stringify(h);yield{type:"tool-call-delta",toolCallId:Y,toolName:H.toolName??H.name??"tool",input:typeof h==="string"?void 0:h,inputText:D,metadata:ed({metadata:Zf(H),request:r,context:f})};continue}if(H.type==="tool-error"){o=!0;let Y=H.toolCallId??H.id??`tool_${Td()}`,h=G.has(Y);G.add(Y);let D=H.toolName??H.name??"tool",m=H.input??H.args??{},a=typeof m==="string"?m:JSON.stringify(m),t=H.error===void 0?"Tool input was rejected by the model adapter":wn(H.error);yield{type:"tool-call-delta",toolCallId:Y,toolName:D,input:h?void 0:typeof m==="string"?void 0:m,inputText:h?void 0:a,metadata:iC({part:H,errorMessage:t,request:r,context:f,toolName:D})};continue}if(H.type==="finish")$=H.usage??H.totalUsage,J=H.providerMetadata,v=H.finishReason??H.rawFinishReason??H.reason;if(H.type==="error"){A=w?.current??wn(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){A=w?.current??wn(H)}let Q,Z;if(A)Q=$,Z=J;else if(n.usage)try{Q=await n.usage}catch(H){if(!A)A=w?.current??wn(H);Q=$,Z=J}else Q=$,Z=J;if(Q)yield{type:"usage",usage:sd(Q,Z,y)};yield{type:"finish",reason:A?"error":zC(v,o),error:A}}async function r0(n,r,f){switch(n){case"openai":{let{createOpenAIProviderModule:y}=await Promise.resolve().then(() => (Wd(),Dd));return y(r,f)}case"openai-compatible":{let{createOpenAICompatibleProviderModule:y}=await Promise.resolve().then(() => (gd(),Ud));return y(r,f)}case"anthropic":{let{createAnthropicProviderModule:y}=await Promise.resolve().then(() => (hd(),jd));return y(r,f)}case"google":{let{createGoogleProviderModule:y}=await Promise.resolve().then(() => (ad(),Rd));return y(r,f)}case"vertex":{let{createVertexProviderModule:y}=await Promise.resolve().then(() => (Nd(),Ld));return y(r,f)}case"bedrock":{let{createBedrockProviderModule:y}=await Promise.resolve().then(() => (md(),_d));return y(r)}case"mistral":{let{createMistralProviderModule:y}=await Promise.resolve().then(() => (Bd(),Vd));return y(r)}case"claude-code":{let{createClaudeCodeProviderModule:y}=await Promise.resolve().then(() => (Wn(),Dn));return y(r)}case"openai-codex":{let{createOpenAICodexProviderModule:y}=await Promise.resolve().then(() => (Wn(),Dn));return y(r)}case"opencode":{let{createOpenCodeProviderModule:y}=await Promise.resolve().then(() => (Wn(),Dn));return y(r)}case"dify":{let{createDifyProviderModule:y}=await Promise.resolve().then(() => (Wn(),Dn));return y(r)}}}function s(n){return async(r)=>({async*stream(f,y){let w=y.logger,o,G={current:void 0};try{let v=await r0(n,r,y),A=await sC(r.providerId),$=xd(y)?void 0:IC(f),J=tC(f),Q=typeof J==="string"&&J.trim().length>0,Z=Q?void 0:J;o=xC({model:v.model(y.model.id),messages:Qn(f,y)?eC(f,y,Z):Od(f.messages,Z),...Q?{system:J}:{},tools:$,temperature:f.temperature,maxOutputTokens:f.maxTokens,abortSignal:f.signal,experimental_telemetry:{isEnabled:A},providerOptions:Sd(f,y,n),onError:({error:H})=>{let Y=wn(H);if(G.current=Y,w?.error)w.error("[ai-sdk] stream error",{providerId:f.providerId,error:H,severity:"error"});else if(w)w.log(`[ai-sdk] stream error: ${Y}`,{providerId:f.providerId,severity:"error"})}}),ld(o),yield*n0(o,f,y,y.model.metadata?.pricing,G)}catch(v){ld(o);let A=G.current??wn(v);if(w?.error)w.error("[ai-sdk] provider error",{providerId:f.providerId,error:v,severity:"error"});else if(w)w.log(`[ai-sdk] provider error: ${A}`,{providerId:f.providerId,severity:"error"});yield{type:"finish",reason:"error",error:A}}}})}var nr,rr,fr,yr,wr,dr,Qf,Df,Wf,Uf,gf;var V=E(()=>{Yf();qn();Jd();nr=s("openai"),rr=s("openai-compatible"),fr=s("anthropic"),yr=s("google"),wr=s("vertex"),dr=s("bedrock"),Qf=s("mistral"),Df=s("claude-code"),Wf=s("openai-codex"),Uf=s("opencode"),gf=s("dify")});var Sn;((b)=>{b.ANTHROPIC="anthropic";b.CLAUDE_CODE="claude-code";b.CLINE="cline";b.OPENAI_NATIVE="openai-native";b.OPENAI_CODEX="openai-codex";b.OPENAI_CODEX_CLI="openai-codex-cli";b.OPENCODE="opencode";b.BEDROCK="bedrock";b.VERTEX="vertex";b.GEMINI="gemini";b.OLLAMA="ollama";b.LMSTUDIO="lmstudio";b.DEEPSEEK="deepseek";b.XAI="xai";b.TOGETHER="together";b.FIREWORKS="fireworks";b.GROQ="groq";b.CEREBRAS="cerebras";b.SAMBANOVA="sambanova";b.NEBIUS="nebius";b.BASETEN="baseten";b.REQUESTY="requesty";b.LITELLM="litellm";b.HUGGINGFACE="huggingface";b.VERCEL_AI_GATEWAY="vercel-ai-gateway";b.V0="v0";b.AIHUBMIX="aihubmix";b.HICAP="hicap";b.NOUS_RESEARCH="nousResearch";b.HUAWEI_CLOUD_MAAS="huawei-cloud-maas";b.WANDB="wandb";b.XIAOMI="xiaomi";b.KILO="kilo";b.ZAI="zai";b.ZAI_CODING_PLAN="zai-coding-plan";b.QWEN="qwen";b.QWEN_CODE="qwen-code";b.DOUBAO="doubao";b.MISTRAL="mistral";b.MOONSHOT="moonshot";b.ASKSAGE="asksage";b.MINIMAX="minimax";b.DIFY="dify";b.OCA="oca";b.SAPAICORE="sapaicore";b.OPENROUTER="openrouter"})(Sn||={});var go={openai:"openai-native",togetherai:"together","sap-ai-core":"sapaicore"},an=Object.values(Sn);function vr(n){return an.includes(n)}function N(n){let r=n.trim();return go[r]??r}function Ln(n){return N(n.routingProviderId??n.providerId)}V();import{nanoid as Bf}from"nanoid";var jf={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 qd=[{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 Id(n){return[...new Set(n)]}var id=Object.fromEntries(qd.flatMap((n)=>n.generatedProviderId?[[n.modelsDevKey,n.generatedProviderId]]:[]));function l1(n){let r=qd.flatMap((f)=>{if(!f.generatedProviderId)return[];if(f.generatedProviderId===n||f.runtimeProviderId===n)return[f.generatedProviderId];return[]});if(n==="nousResearch")return Id([...r,"nousresearch",n]);return Id([...r,n])}var f0=4096,y0=4096;function td(n){if(!n)return Number.NEGATIVE_INFINITY;let r=Date.parse(n);return Number.isNaN(r)?Number.NEGATIVE_INFINITY:r}function or(n){return Object.fromEntries(Object.entries(n).sort(([r,f],[y,w])=>{let o=td(f.releaseDate),G=td(w.releaseDate);if(o!==G)return G-o;return r.localeCompare(y)}))}function w0(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 d0(n){if(n==="active"||n==="preview"||n==="deprecated"||n==="legacy")return n;return}function o0(n,r){let f=r.limit?.context??f0,y=r.limit?.output??y0,w=f===y?y*0.05:y;return{id:n,name:r.name||n,contextWindow:f,maxTokens:Math.floor(w),capabilities:w0(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:d0(r.status),releaseDate:r.release_date,family:r.family}}function G0(n){return n.status==="deprecated"}function P0(n){let r={};for(let[f,y]of Object.entries(id)){let w=n[f];if(!w?.models)continue;let o={};for(let[G,v]of Object.entries(w.models)){if(v.tool_call!==!0||G0(v))continue;o[G]=o0(G,v)}if(Object.keys(o).length>0)r[y]=or(o)}return r}async function u1(n,r=fetch){let f=await r(n);if(!f.ok)throw Error(`Failed to load model catalog from ${n}: HTTP ${f.status}`);let y=await f.json();return P0(y)}var zd,cd=new Map;function q1(){return zd??=Object.fromEntries(Object.entries(jf.providers).map(([n,r])=>[n,or(r)])),zd}function pd(n){let r=cd.get(n);if(r)return r;let f=or(jf.providers[n]??{});return cd.set(n,f),f}var C0="https://code.aiservice.us-chicago-1.oci.oraclecloud.com/20250206/app/litellm";function v0(n){return Object.fromEntries(Object.entries(n).map(([r,f])=>[r,{...f}]))}function no(n){return v0(pd(n))}function hf(n){let r=Object.entries(no("anthropic")).find(([f])=>n(f));if(r)return r[1];return{id:"sonnet",name:"Claude Sonnet",capabilities:["streaming","reasoning"]}}function $0(){function n(r){return{...r==="opus"?hf((y)=>y.includes("opus")):r==="haiku"?hf((y)=>y.includes("haiku")):hf((y)=>y.includes("sonnet")),id:r,name:`Claude ${r.charAt(0).toUpperCase()}${r.slice(1)}`}}return{opus:n("opus"),sonnet:n("sonnet"),haiku:n("haiku")}}function H0(n,r){let f=new Set(["text"]);for(let w of r.capabilities??[])switch(w){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 y={};if(r.family)y.family=r.family;if(r.pricing)y.pricing=r.pricing;if(r.status)y.status=r.status;if(r.releaseDate)y.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(y).length>0?y:void 0}}function K0(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 F0(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 E0=[{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:C0},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"}}],Rf=[{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:$0,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:()=>({})},...E0];function b0(n){if(n.modelsFactory)return n.modelsFactory();if(n.modelsProviderId)return no(n.modelsProviderId);return{}}function ro(n){let r=b0(n),f=Object.keys(r).length>0?r:n.defaultModelId?{[n.defaultModelId]:{id:n.defaultModelId,name:n.defaultModelId}}:{},y=Object.keys(f),w=n.defaultModelId||y[0]||"default";return{provider:{id:n.id,name:n.name,description:n.description,protocol:n.protocol??K0(n),baseUrl:n.defaults?.baseUrl,modelsSourceUrl:n.modelsSourceUrl,defaultModelId:w,capabilities:n.capabilities,env:n.apiKeyEnv?[...n.apiKeyEnv]:void 0,client:n.client??F0(n),source:"system",metadata:n.metadata},models:f}}function fo(n){let r=ro(n),f=Object.values(r.models).map((w)=>H0(n.id,w)),y=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||y[0]?.id||"default",models:y,capabilities:n.capabilities,env:n.env??["browser","node"],api:n.defaults?.baseUrl,apiKeyEnv:n.apiKeyEnv,docsUrl:n.docsUrl,metadata:n.metadata}}var af=Rf.map(ro),z1=Object.fromEntries(af.map((n)=>[n.provider.id,n]));var yo=new Map;async function A0(n){let r=yo.get(n);if(r)return r;let f=(async()=>{switch(n){case"openai":return(await Promise.resolve().then(() => (V(),T))).createOpenAIProvider;case"openai-compatible":return(await Promise.resolve().then(() => (V(),T))).createOpenAICompatibleProvider;case"anthropic":return(await Promise.resolve().then(() => (V(),T))).createAnthropicProvider;case"google":return(await Promise.resolve().then(() => (V(),T))).createGoogleProvider;case"vertex":return(await Promise.resolve().then(() => (V(),T))).createVertexProvider;case"bedrock":return(await Promise.resolve().then(() => (V(),T))).createBedrockProvider;case"mistral":return(await Promise.resolve().then(() => (V(),T))).createMistralProvider;case"claude-code":return(await Promise.resolve().then(() => (V(),T))).createClaudeCodeProvider;case"openai-codex":return(await Promise.resolve().then(() => (V(),T))).createOpenAICodexProvider;case"opencode":return(await Promise.resolve().then(() => (V(),T))).createOpenCodeProvider;case"dify":return(await Promise.resolve().then(() => (V(),T))).createDifyProvider}})();return yo.set(n,f),f}function Y0(n){if(n.family==="openai"||n.protocol==="openai-responses"||n.client==="openai")return"openai";return n.family}var Un=Rf.map((n)=>({manifest:fo(n),defaults:{...n.defaults,apiKeyEnv:n.apiKeyEnv,baseUrl:n.defaults?.baseUrl},loadProvider:async()=>({createProvider:await A0(Y0(n))})}));async function*wo(n){for await(let r of n)yield r}function oo(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 S0(n,r){let f=new Map;for(let y of n.models)f.set(y.id,{...y});for(let y of r?.models??[])f.set(y.id,{...y,providerId:n.id});return Array.from(f.values())}function J0(n,r){return{id:r,name:r,providerId:n.id}}class Lf{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:oo(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 y=S0(r.manifest,f),w=f?.defaultModelId??r.manifest.defaultModelId??y[0]?.id;if(!w)return;return{...oo(r.manifest),defaultModelId:w,models:y,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,y=r.models.find((w)=>w.id===f)??J0(r,f);return{provider:r,model:y}}async createProvider(n){let r=this.providers.get(n);if(!r)throw Error(`Unknown provider "${n}".`);if(!r.createProvider){let G=await r.loadProvider?.();if(!G?.createProvider)throw Error(`Provider "${n}" could not be loaded.`);r.createProvider=G.createProvider}let f=this.getManifest(n);if(!f)throw Error(`Provider "${n}" is disabled.`);let y=this.providerConfigs.get(n),w={...r.defaults?.metadata??{},...y?.metadata??{}},o=Object.keys(w).length>0?w:void 0;return{manifest:f,config:{providerId:n,apiKey:y?.apiKey??r.defaults?.apiKey,apiKeyResolver:y?.apiKeyResolver??r.defaults?.apiKeyResolver,apiKeyEnv:y?.apiKeyEnv??r.defaults?.apiKeyEnv,baseUrl:y?.baseUrl??r.defaults?.baseUrl,headers:{...r.defaults?.headers??{},...y?.headers??{}},timeoutMs:y?.timeoutMs??r.defaults?.timeoutMs,fetch:y?.fetch??r.defaults?.fetch??this.fallbackFetch,options:{...r.defaults?.options??{},...y?.options??{}},metadata:o},createProvider:r.createProvider}}}class Go{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,y=n.options?.reasoningEffort,w=n.options?.thinkingBudgetTokens,o=y==="low"||y==="medium"||y==="high"?y:void 0,G=typeof f==="boolean"||o!==void 0||typeof w==="number"?{enabled:typeof f==="boolean"?f:void 0,effort:o,budgetTokens:typeof w==="number"?w: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??G??this.defaults?.reasoning,signal:n.signal??this.defaults?.signal})}}class Po{registry;logger;constructor(n={}){if(this.registry=new Lf(n.fetch),this.logger=n.logger,n.builtins!==!1){let r=new Set(n.builtins??Un.map((f)=>f.manifest.id));for(let f of Un)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 Go(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),w=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 wo(w)}}function Nf(n){return new Po(n)}function M0(){let n=new Map;for(let r of af)n.set(r.provider.id,{provider:{...r.provider},models:Object.fromEntries(Object.entries(r.models).map(([f,y])=>[f,{...y}]))});return n}var gn=M0(),En=new Map,Pn=new Map;function Gn(n){return Pn.get(n)??gn.get(n)}function Co(){let n=Array.from(gn.keys()),r=Array.from(Pn.keys()).filter((f)=>!gn.has(f));return[...n,...r]}function PH(n){return gn.has(n)||Pn.has(n)}async function CH(n){return Gn(n)?.provider}function _f(n){return Gn(n)}async function mf(n){return Gn(n)}async function vH(n){let f=Gn(n)?.models??{},y=En.get(n);if(y)return{...f,...Object.fromEntries(y)};return f}async function $H(){return Co().map((n)=>Gn(n)?.provider).filter((n)=>n!==void 0)}function HH(n){Pn.set(n.provider.id,n)}function KH(n,r,f){if(!En.has(n))En.set(n,new Map);En.get(n)?.set(r,{...f,id:r})}function FH(n){return En.delete(n),Pn.delete(n)}function EH(){En.clear(),Pn.clear()}var bH=new Proxy({},{get(n,r){return Gn(r)},has(n,r){return gn.has(r)||Pn.has(r)},ownKeys(){return Co()},getOwnPropertyDescriptor(n,r){let f=Gn(r);if(f===void 0)return;return{configurable:!0,enumerable:!0,value:f}}});var bn=new Map(Un.map((n)=>[n.manifest.id,n]));function X0(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 Tf(n,r){return{id:r.id,name:r.name??r.id,description:r.description,providerId:n,contextWindow:r.contextWindow,maxOutputTokens:r.maxTokens,capabilities:X0(r.capabilities),metadata:{family:r.family,pricing:r.pricing,status:r.status,releaseDate:r.releaseDate}}}function vo(n,r){if(r?.client==="openai"||r?.protocol==="openai-responses")return nr;switch(r?.client){case"anthropic":return fr;case"gemini":return yr;case"vertex":return wr;case"bedrock":return dr;case"openai-compatible":return rr}switch(N(n)){case"openai-codex":case"openai-native":return nr;case"anthropic":case"minimax":return fr;case"gemini":return yr;case"vertex":return wr;case"bedrock":return dr;case"mistral":return Qf;case"claude-code":return Df;case"openai-codex-cli":return Wf;case"opencode":return Uf;case"dify":return gf;default:return rr}}async function k0(n){let r=N(n.providerId),f=N(Ln(n));if(bn.get(r)&&r===f)return;let w=await mf(r)??(r!==f?await mf(f):void 0);if(!w){let G=bn.get(f);if(!G||r===f)return;return{manifest:{...G.manifest,id:r,name:G.manifest.name,models:G.manifest.models.map((v)=>({...v,providerId:r}))},defaults:G.defaults,createProvider:G.createProvider,loadProvider:G.loadProvider}}let o=bn.get(f);return{manifest:{id:r,name:w.provider.name,description:w.provider.description,defaultModelId:w.provider.defaultModelId,models:Object.values(w.models).map((G)=>Tf(r,G)),api:w.provider.baseUrl,apiKeyEnv:w.provider.env},defaults:{...o?.defaults??{},baseUrl:w.provider.baseUrl??o?.defaults?.baseUrl,apiKeyEnv:w.provider.env??o?.defaults?.apiKeyEnv},createProvider:o?.createProvider??vo(f,{client:n.clientType??w.provider.client,protocol:w.provider.protocol}),loadProvider:o?.loadProvider}}function Z0(n){let r=N(n.providerId),f=N(Ln(n));if(bn.get(r)&&r===f)return;let w=_f(r)??(r!==f?_f(f):void 0);if(!w){let G=bn.get(f);if(!G||r===f)return;return{manifest:{...G.manifest,id:r,models:G.manifest.models.map((v)=>({...v,providerId:r}))},defaults:G.defaults,createProvider:G.createProvider,loadProvider:G.loadProvider}}let o=bn.get(f);return{manifest:{id:r,name:w.provider.name,description:w.provider.description,defaultModelId:w.provider.defaultModelId,models:Object.values(w.models).map((G)=>Tf(r,G)),api:w.provider.baseUrl,apiKeyEnv:w.provider.env},defaults:{...o?.defaults??{},baseUrl:w.provider.baseUrl??o?.defaults?.baseUrl,apiKeyEnv:w.provider.env??o?.defaults?.apiKeyEnv},createProvider:o?.createProvider??vo(f,{client:n.clientType??w.provider.client,protocol:w.provider.protocol}),loadProvider:o?.loadProvider}}function Q0(n){let r=new Map;for(let f of n){if(!Array.isArray(f.content))continue;for(let y of f.content)if(y.type==="tool_use"){if(r.set(y.id,y.name),y.call_id)r.set(y.call_id,y.name)}}return n.map((f)=>{let y=typeof f.content==="string"?[{type:"text",text:f.content}]:f.content.flatMap((w)=>{switch(w.type){case"text":return[{type:"text",text:w.text}];case"thinking":return[{type:"reasoning",text:w.thinking,metadata:w.signature||w.call_id?{signature:w.signature,callId:w.call_id,details:w.details}:void 0}];case"tool_use":return[{type:"tool-call",toolCallId:w.call_id??w.id,toolName:w.name,input:w.input,metadata:w.signature?{thoughtSignature:w.signature}:void 0}];case"tool_result":return[{type:"tool-result",toolCallId:w.tool_use_id,toolName:r.get(w.tool_use_id)??"tool",output:w.content,isError:w.is_error??!1}];case"image":return[{type:"image",image:`data:${w.mediaType};base64,${w.data}`,mediaType:w.mediaType}];case"file":return[{type:"text",text:w.content}];case"redacted_thinking":return[];default:return[]}});return{id:Bf(),role:f.role,content:y,createdAt:Date.now()}})}function D0(n){return n?.map((r)=>({name:r.name,description:r.description,inputSchema:r.inputSchema}))}function Vf(n,r,f,y,w){return{providerId:N(n.providerId),modelId:n.modelId,systemPrompt:r,messages:Q0(f),tools:D0(y),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:w}}function $o(n){let r=N(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 y=Tf(r,f),{providerId:w,...o}=y;return o}):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 Ho(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,y=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:y}}}}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 W0(n){return n.modelInfo??(n.modelId?n.knownModels?.[n.modelId]:void 0)??{id:n.modelId,name:n.modelId,capabilities:["streaming"]}}class lf{config;abortSignal;constructor(n){this.config=n;this.abortSignal=n.abortSignal}getMessages(n,r){return Vf(this.config,n,r,void 0,this.abortSignal)}createMessage(n,r,f){let y=Nf({providerConfigs:[$o(this.config)],fetch:this.config.fetch,logger:this.config.logger??this.config.extensionContext?.logger}),w=Z0(this.config);if(w)y.registerProvider(w);let o=Vf(this.config,n,r,f,this.abortSignal),G=`gw_${Bf(10)}`,v=async function*(){for await(let A of await y.stream(o))yield Ho(G,A)}();return v.id=G,v}getModel(){return{id:this.config.modelId,info:W0(this.config)}}abort(){}setAbortSignal(n){this.abortSignal=n}}function Ko(n){return new lf(n)}async function Fo(n){let r=Nf({providerConfigs:[$o(n)],fetch:n.fetch,logger:n.logger??n.extensionContext?.logger}),f=await k0(n);if(f)r.registerProvider(f);return new class extends lf{createMessage(y,w,o){let G=Vf(n,y,w,o,n.abortSignal),v=`gw_${Bf(10)}`,A=async function*(){for await(let $ of await r.stream(G))yield Ho(v,$)}();return A.id=v,A}}(n)}var An=new Map;function U0(n,r){An.set(n,{factory:r,isAsync:!1})}function g0(n,r){An.set(n,{factory:r,isAsync:!0})}function Of(n){return An.has(n)}function Eo(n,r){let f=An.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 bo(n,r){let f=An.get(n);if(!f)return;if(f.isAsync)return f.factory(r);return f.factory(r)}function Ao(n){return An.get(n)?.isAsync??!1}function Yo(n){let r=N(n.providerId),f=n.routingProviderId?N(n.routingProviderId):void 0;if(r===n.providerId&&f===n.routingProviderId)return n;return{...n,providerId:r,routingProviderId:f}}function jH(n){let r=Yo(n),{providerId:f}=r;if(Of(f)){if(Ao(f))throw Error(`Handler for "${f}" is registered as async. Use createHandlerAsync() instead.`);let y=Eo(f,r);if(y)return y}return Ko(r)}async function hH(n){let r=Yo(n),{providerId:f}=r;if(Of(f)){let y=await bo(f,r);if(y)return y}return Fo(r)}export{U0 as registerHandler,g0 as registerAsyncHandler,N as normalizeProviderId,vr as isBuiltInProviderId,hH as createHandlerAsync,jH as createHandler,an as BUILT_IN_PROVIDER_IDS,Sn as BUILT_IN_PROVIDER};
|
|
100
|
+
{{CLINE_METADATA}}`,Bn="# Workspace Configuration",B_=25463,X_=25466,V_=4317,Y_="127.0.0.1:4317",Q_,q_,ek,tk="runtime.team.progress.v1",ik="runtime.team.lifecycle.v1",Ii="CLINE_BUILD_ENV",_p="CLINE_DEBUG_HOST",kp="CLINE_DEBUG_PORT_BASE",fk="CLINE_ENVIRONMENT",pk="CLINE_ENVIRONMENT_OVERRIDE",Xn,vk="production",hk="CLINE_RUN_AS_HUB_DAEMON",Sk=128,je,Ve,Pk,no,zp,Tk,Ep,Pp,Tp,Dk=3600000,Zk=240,Ck=400,le,Ye,jp,vn,Rk,Mk,Lk,Fk,Jk,Kk,Gk,Wk,Hk,Bk,Xk,Vk,Yk,Qk,qk,ew,tw,iw,nw,rw,aw,ow,sw,Op,uw,lw,Np,dw,cw,mw,fw,pw,vw,gw,hw,yw,bw,$w,_w,Ap,Dp,Cp,Tw,jw,Nw,Dw;var gn=V(()=>{lg=Object.defineProperty;Cn=new TextEncoder,vg={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"},gg=new Set(["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"]);Ao=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];gi=new Map;u={};he(u,{xor:()=>nf,xid:()=>Im,void:()=>Vm,uuidv7:()=>hm,uuidv6:()=>gm,uuidv4:()=>vm,uuid:()=>pm,util:()=>U,url:()=>ym,uppercase:()=>Oi,unknown:()=>Ze,union:()=>dn,undefined:()=>Bm,ulid:()=>Sm,uint64:()=>Wm,uint32:()=>Jm,tuple:()=>ka,trim:()=>Ri,treeifyError:()=>eu,transform:()=>mn,toUpperCase:()=>Li,toLowerCase:()=>Mi,toJSONSchema:()=>Gc,templateLiteral:()=>hf,symbol:()=>Hm,superRefine:()=>Va,success:()=>ff,stringbool:()=>Sf,stringFormat:()=>Dm,string:()=>_t,strictObject:()=>ef,startsWith:()=>Ai,slugify:()=>Fi,size:()=>At,setErrorMap:()=>c$,set:()=>uf,safeParseAsync:()=>nm,safeParse:()=>im,safeEncodeAsync:()=>dm,safeEncode:()=>um,safeDecodeAsync:()=>cm,safeDecode:()=>lm,registry:()=>xr,regexes:()=>Se,regex:()=>Ti,refine:()=>Xa,record:()=>wa,readonly:()=>Ja,property:()=>Yr,promise:()=>yf,prettifyError:()=>iu,preprocess:()=>xf,prefault:()=>Aa,positive:()=>Hr,pipe:()=>wi,partialRecord:()=>af,parseAsync:()=>tm,parse:()=>em,overwrite:()=>be,optional:()=>wt,object:()=>qm,number:()=>oa,nullish:()=>mf,nullable:()=>St,null:()=>ca,normalize:()=>Ci,nonpositive:()=>Xr,nonoptional:()=>Da,nonnegative:()=>Vr,never:()=>un,negative:()=>Br,nativeEnum:()=>lf,nanoid:()=>_m,nan:()=>pf,multipleOf:()=>et,minSize:()=>ze,minLength:()=>De,mime:()=>Zi,meta:()=>kf,maxSize:()=>ot,maxLength:()=>Dt,map:()=>sf,mac:()=>Um,lte:()=>re,lt:()=>Ie,lowercase:()=>ji,looseRecord:()=>of,looseObject:()=>tf,locales:()=>Sr,literal:()=>df,length:()=>Zt,lazy:()=>Wa,ksuid:()=>xm,keyof:()=>Qm,jwt:()=>Am,json:()=>If,iso:()=>ea,ipv6:()=>Em,ipv4:()=>zm,invertCodec:()=>gf,intersection:()=>$a,int64:()=>Gm,int32:()=>Fm,int:()=>ki,instanceof:()=>wf,includes:()=>Ni,httpUrl:()=>bm,hostname:()=>Zm,hex:()=>Cm,hash:()=>Rm,guid:()=>fm,gte:()=>Y,gt:()=>xe,globalRegistry:()=>ne,getErrorMap:()=>m$,function:()=>Si,fromJSONSchema:()=>g$,formatError:()=>ir,float64:()=>Lm,float32:()=>Mm,flattenError:()=>tr,file:()=>cf,exactOptional:()=>Pa,enum:()=>cn,endsWith:()=>Di,encodeAsync:()=>om,encode:()=>rm,emoji:()=>$m,email:()=>mm,e164:()=>Nm,discriminatedUnion:()=>rf,describe:()=>_f,decodeAsync:()=>sm,decode:()=>am,date:()=>Ym,custom:()=>$f,cuid2:()=>wm,cuid:()=>km,core:()=>Cs,config:()=>J,coerce:()=>Uf,codec:()=>vf,clone:()=>ae,cidrv6:()=>Tm,cidrv4:()=>Pm,check:()=>bf,catch:()=>Ra,boolean:()=>sa,bigint:()=>Km,base64url:()=>Om,base64:()=>jm,array:()=>Gt,any:()=>Xm,_function:()=>Si,_default:()=>Oa,_ZodString:()=>Ji,ZodXor:()=>ha,ZodXID:()=>Vi,ZodVoid:()=>va,ZodUnknown:()=>fa,ZodUnion:()=>Ht,ZodUndefined:()=>la,ZodUUID:()=>ve,ZodURL:()=>Lt,ZodULID:()=>Xi,ZodType:()=>z,ZodTuple:()=>_a,ZodTransform:()=>Ua,ZodTemplateLiteral:()=>Ka,ZodSymbol:()=>ua,ZodSuccess:()=>Za,ZodStringFormat:()=>D,ZodString:()=>Mt,ZodSet:()=>Ia,ZodRecord:()=>rt,ZodRealError:()=>ee,ZodReadonly:()=>Fa,ZodPromise:()=>Ha,ZodPreprocess:()=>La,ZodPrefault:()=>Na,ZodPipe:()=>Bt,ZodOptional:()=>fn,ZodObject:()=>Wt,ZodNumberFormat:()=>Me,ZodNumber:()=>Ft,ZodNullable:()=>Ta,ZodNull:()=>da,ZodNonOptional:()=>pn,ZodNever:()=>pa,ZodNanoID:()=>Wi,ZodNaN:()=>Ma,ZodMap:()=>Sa,ZodMAC:()=>aa,ZodLiteral:()=>xa,ZodLazy:()=>Ga,ZodKSUID:()=>Yi,ZodJWT:()=>on,ZodIssueCode:()=>d$,ZodIntersection:()=>ba,ZodISOTime:()=>na,ZodISODuration:()=>ra,ZodISODateTime:()=>ta,ZodISODate:()=>ia,ZodIPv6:()=>qi,ZodIPv4:()=>Qi,ZodGUID:()=>kt,ZodFunction:()=>Ba,ZodFirstPartyTypeKind:()=>Kn,ZodFile:()=>za,ZodExactOptional:()=>Ea,ZodError:()=>l$,ZodEnum:()=>at,ZodEmoji:()=>Gi,ZodEmail:()=>Ki,ZodE164:()=>an,ZodDiscriminatedUnion:()=>ya,ZodDefault:()=>ja,ZodDate:()=>ln,ZodCustomStringFormat:()=>st,ZodCustom:()=>Vt,ZodCodec:()=>Xt,ZodCatch:()=>Ca,ZodCUID2:()=>Bi,ZodCUID:()=>Hi,ZodCIDRv6:()=>tn,ZodCIDRv4:()=>en,ZodBoolean:()=>Jt,ZodBigIntFormat:()=>sn,ZodBigInt:()=>Kt,ZodBase64URL:()=>rn,ZodBase64:()=>nn,ZodArray:()=>ga,ZodAny:()=>ma,TimePrecision:()=>Sd,NEVER:()=>Rs,$output:()=>bd,$input:()=>$d,$brand:()=>Ms});Cs={};he(Cs,{version:()=>il,util:()=>U,treeifyError:()=>eu,toJSONSchema:()=>Gc,toDotPath:()=>tu,safeParseAsync:()=>ru,safeParse:()=>nu,safeEncodeAsync:()=>yh,safeEncode:()=>gh,safeDecodeAsync:()=>bh,safeDecode:()=>hh,registry:()=>xr,regexes:()=>Se,process:()=>N,prettifyError:()=>iu,parseAsync:()=>Ln,parse:()=>Mn,meta:()=>ac,locales:()=>Sr,isValidJWT:()=>zl,isValidBase64URL:()=>Sl,isValidBase64:()=>gr,initializeContext:()=>tt,globalRegistry:()=>ne,globalConfig:()=>bt,formatError:()=>ir,flattenError:()=>tr,finalize:()=>nt,extractDefs:()=>it,encodeAsync:()=>ph,encode:()=>mh,describe:()=>rc,decodeAsync:()=>vh,decode:()=>fh,createToJSONSchemaMethod:()=>sc,createStandardJSONSchemaMethod:()=>$t,config:()=>J,clone:()=>ae,_xor:()=>Rb,_xid:()=>Zr,_void:()=>Bd,_uuidv7:()=>Tr,_uuidv6:()=>Pr,_uuidv4:()=>Er,_uuid:()=>Ur,_url:()=>Pi,_uppercase:()=>Oi,_unknown:()=>Wd,_union:()=>Cb,_undefined:()=>Jd,_ulid:()=>Dr,_uint64:()=>Ld,_uint32:()=>Ad,_tuple:()=>Fb,_trim:()=>Ri,_transform:()=>Xb,_toUpperCase:()=>Li,_toLowerCase:()=>Mi,_templateLiteral:()=>r$,_symbol:()=>Fd,_superRefine:()=>ic,_success:()=>e$,_stringbool:()=>oc,_stringFormat:()=>Ct,_string:()=>_d,_startsWith:()=>Ai,_slugify:()=>Fi,_size:()=>At,_set:()=>Gb,_safeParseAsync:()=>Pt,_safeParse:()=>Et,_safeEncodeAsync:()=>lr,_safeEncode:()=>sr,_safeDecodeAsync:()=>dr,_safeDecode:()=>ur,_regex:()=>Ti,_refine:()=>tc,_record:()=>Jb,_readonly:()=>n$,_property:()=>Yr,_promise:()=>o$,_positive:()=>Hr,_pipe:()=>i$,_parseAsync:()=>Ut,_parse:()=>zt,_overwrite:()=>be,_optional:()=>Vb,_number:()=>Ed,_nullable:()=>Yb,_null:()=>Kd,_normalize:()=>Ci,_nonpositive:()=>Xr,_nonoptional:()=>qb,_nonnegative:()=>Vr,_never:()=>Hd,_negative:()=>Br,_nativeEnum:()=>Hb,_nanoid:()=>Or,_nan:()=>Yd,_multipleOf:()=>et,_minSize:()=>ze,_minLength:()=>De,_min:()=>Y,_mime:()=>Zi,_maxSize:()=>ot,_maxLength:()=>Dt,_max:()=>re,_map:()=>Kb,_mac:()=>wd,_lte:()=>re,_lt:()=>Ie,_lowercase:()=>ji,_literal:()=>Bb,_length:()=>Zt,_lazy:()=>a$,_ksuid:()=>Cr,_jwt:()=>Wr,_isoTime:()=>zd,_isoDuration:()=>Ud,_isoDateTime:()=>Id,_isoDate:()=>xd,_ipv6:()=>Mr,_ipv4:()=>Rr,_intersection:()=>Lb,_int64:()=>Md,_int32:()=>Nd,_int:()=>Td,_includes:()=>Ni,_guid:()=>_i,_gte:()=>Y,_gt:()=>xe,_float64:()=>Od,_float32:()=>jd,_file:()=>qd,_enum:()=>Wb,_endsWith:()=>Di,_encodeAsync:()=>ar,_encode:()=>nr,_emoji:()=>jr,_email:()=>zr,_e164:()=>Gr,_discriminatedUnion:()=>Mb,_default:()=>Qb,_decodeAsync:()=>or,_decode:()=>rr,_date:()=>Xd,_custom:()=>ec,_cuid2:()=>Ar,_cuid:()=>Nr,_coercedString:()=>kd,_coercedNumber:()=>Pd,_coercedDate:()=>Vd,_coercedBoolean:()=>Zd,_coercedBigint:()=>Rd,_cidrv6:()=>Fr,_cidrv4:()=>Lr,_check:()=>nc,_catch:()=>t$,_boolean:()=>Dd,_bigint:()=>Cd,_base64url:()=>Kr,_base64:()=>Jr,_array:()=>Qd,_any:()=>Gd,TimePrecision:()=>Sd,NEVER:()=>Rs,JSONSchemaGenerator:()=>Wc,JSONSchema:()=>u$,Doc:()=>vr,$output:()=>bd,$input:()=>$d,$constructor:()=>m,$brand:()=>Ms,$ZodXor:()=>Gl,$ZodXID:()=>ml,$ZodVoid:()=>Cl,$ZodUnknown:()=>Dl,$ZodUnion:()=>Ei,$ZodUndefined:()=>Ol,$ZodUUID:()=>rl,$ZodURL:()=>ol,$ZodULID:()=>cl,$ZodType:()=>x,$ZodTuple:()=>$r,$ZodTransform:()=>ed,$ZodTemplateLiteral:()=>cd,$ZodSymbol:()=>jl,$ZodSuccess:()=>od,$ZodStringFormat:()=>A,$ZodString:()=>Nt,$ZodSet:()=>Vl,$ZodRegistry:()=>Ir,$ZodRecord:()=>Bl,$ZodRealError:()=>q,$ZodReadonly:()=>dd,$ZodPromise:()=>fd,$ZodPreprocess:()=>ld,$ZodPrefault:()=>rd,$ZodPipe:()=>kr,$ZodOptional:()=>_r,$ZodObjectJIT:()=>Kl,$ZodObject:()=>Jl,$ZodNumberFormat:()=>Pl,$ZodNumber:()=>hr,$ZodNullable:()=>id,$ZodNull:()=>Nl,$ZodNonOptional:()=>ad,$ZodNever:()=>Zl,$ZodNanoID:()=>ul,$ZodNaN:()=>ud,$ZodMap:()=>Xl,$ZodMAC:()=>$l,$ZodLiteral:()=>Ql,$ZodLazy:()=>pd,$ZodKSUID:()=>fl,$ZodJWT:()=>Ul,$ZodIntersection:()=>Hl,$ZodISOTime:()=>gl,$ZodISODuration:()=>hl,$ZodISODateTime:()=>pl,$ZodISODate:()=>vl,$ZodIPv6:()=>bl,$ZodIPv4:()=>yl,$ZodGUID:()=>nl,$ZodFunction:()=>md,$ZodFile:()=>ql,$ZodExactOptional:()=>td,$ZodError:()=>er,$ZodEnum:()=>Yl,$ZodEncodeError:()=>It,$ZodEmoji:()=>sl,$ZodEmail:()=>al,$ZodE164:()=>xl,$ZodDiscriminatedUnion:()=>Wl,$ZodDefault:()=>nd,$ZodDate:()=>Rl,$ZodCustomStringFormat:()=>El,$ZodCustom:()=>vd,$ZodCodec:()=>wr,$ZodCheckUpperCase:()=>Xu,$ZodCheckStringFormat:()=>Ot,$ZodCheckStartsWith:()=>Yu,$ZodCheckSizeEquals:()=>Ju,$ZodCheckRegex:()=>Hu,$ZodCheckProperty:()=>qu,$ZodCheckOverwrite:()=>tl,$ZodCheckNumberFormat:()=>Ru,$ZodCheckMultipleOf:()=>Cu,$ZodCheckMinSize:()=>Fu,$ZodCheckMinLength:()=>Gu,$ZodCheckMimeType:()=>el,$ZodCheckMaxSize:()=>Lu,$ZodCheckMaxLength:()=>Ku,$ZodCheckLowerCase:()=>Bu,$ZodCheckLessThan:()=>fr,$ZodCheckLengthEquals:()=>Wu,$ZodCheckIncludes:()=>Vu,$ZodCheckGreaterThan:()=>pr,$ZodCheckEndsWith:()=>Qu,$ZodCheckBigIntFormat:()=>Mu,$ZodCheck:()=>R,$ZodCatch:()=>sd,$ZodCUID2:()=>dl,$ZodCUID:()=>ll,$ZodCIDRv6:()=>kl,$ZodCIDRv4:()=>_l,$ZodBoolean:()=>yr,$ZodBigIntFormat:()=>Tl,$ZodBigInt:()=>br,$ZodBase64URL:()=>Il,$ZodBase64:()=>wl,$ZodAsyncError:()=>we,$ZodArray:()=>Ml,$ZodAny:()=>Al});Rs=Object.freeze({status:"aborted"});Ms=Symbol("zod_brand");we=class we extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};It=class It extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`);this.name="ZodEncodeError"}};(Lo=globalThis).__zod_globalConfig??(Lo.__zod_globalConfig={});bt=globalThis.__zod_globalConfig;U={};he(U,{unwrapMessage:()=>ht,uint8ArrayToHex:()=>ch,uint8ArrayToBase64url:()=>lh,uint8ArrayToBase64:()=>Ys,stringifyPrimitive:()=>_,slugify:()=>Fs,shallowClone:()=>Ks,safeExtend:()=>nh,required:()=>oh,randomString:()=>Vg,propertyKeyTypes:()=>yi,promiseAllObject:()=>Xg,primitiveTypes:()=>Gs,prefixIssues:()=>ie,pick:()=>eh,partial:()=>ah,parsedType:()=>w,optionalKeys:()=>Ws,omit:()=>th,objectClone:()=>Wg,numKeys:()=>Yg,nullish:()=>Re,normalizeParams:()=>h,mergeDefs:()=>ye,merge:()=>rh,jsonStringifyReplacer:()=>hi,joinValues:()=>g,issue:()=>bi,isPlainObject:()=>Ae,isObject:()=>Qe,hexToUint8Array:()=>dh,getSizableOrigin:()=>zi,getParsedType:()=>Qg,getLengthableOrigin:()=>Ui,getEnumValues:()=>Qn,getElementAtPath:()=>Bg,floatSafeRemainder:()=>Ls,finalizeIssue:()=>Q,extend:()=>ih,explicitlyAborted:()=>Xs,escapeRegex:()=>ge,esc:()=>Rn,defineLazy:()=>E,createTransparentProxy:()=>qg,cloneDef:()=>Hg,clone:()=>ae,cleanRegex:()=>xi,cleanEnum:()=>sh,captureStackTrace:()=>qn,cached:()=>xt,base64urlToUint8Array:()=>uh,base64ToUint8Array:()=>Vs,assignProp:()=>Ue,assertNotEqual:()=>Fg,assertNever:()=>Kg,assertIs:()=>Jg,assertEqual:()=>Lg,assert:()=>Gg,allowsEval:()=>Js,aborted:()=>Ne,NUMBER_FORMAT_RANGES:()=>Hs,Class:()=>Qs,BIGINT_FORMAT_RANGES:()=>Bs});Fo=Symbol("evaluating");qn="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};Js=xt(()=>{if(bt.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return Function(""),!0}catch(e){return!1}});yi=new Set(["string","number","symbol"]),Gs=new Set(["string","number","bigint","boolean","symbol","undefined"]);Hs={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]},Bs={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};er=m("$ZodError",qs),q=m("$ZodError",qs,{Parent:Error});Mn=zt(q),Ln=Ut(q),nu=Et(q),ru=Pt(q),mh=nr(q),fh=rr(q),ph=ar(q),vh=or(q),gh=sr(q),hh=ur(q),yh=lr(q),bh=dr(q),Se={};he(Se,{xid:()=>uu,uuid7:()=>wh,uuid6:()=>kh,uuid4:()=>_h,uuid:()=>qe,uppercase:()=>Du,unicodeEmail:()=>pu,undefined:()=>Nu,ulid:()=>su,time:()=>zu,string:()=>Eu,sha512_hex:()=>Kh,sha512_base64url:()=>Wh,sha512_base64:()=>Gh,sha384_hex:()=>Lh,sha384_base64url:()=>Jh,sha384_base64:()=>Fh,sha256_hex:()=>Ch,sha256_base64url:()=>Mh,sha256_base64:()=>Rh,sha1_hex:()=>Ah,sha1_base64url:()=>Zh,sha1_base64:()=>Dh,rfc5322Email:()=>Ih,number:()=>mr,null:()=>Ou,nanoid:()=>du,md5_hex:()=>jh,md5_base64url:()=>Nh,md5_base64:()=>Oh,mac:()=>yu,lowercase:()=>Au,ksuid:()=>lu,ipv6:()=>hu,ipv4:()=>gu,integer:()=>Tu,idnEmail:()=>xh,httpProtocol:()=>ku,html5Email:()=>Sh,hostname:()=>Eh,hex:()=>Th,guid:()=>mu,extendedDuration:()=>$h,emoji:()=>vu,email:()=>fu,e164:()=>wu,duration:()=>cu,domain:()=>Ph,datetime:()=>Uu,date:()=>Iu,cuid2:()=>ou,cuid:()=>au,cidrv6:()=>$u,cidrv4:()=>bu,browserEmail:()=>zh,boolean:()=>ju,bigint:()=>Pu,base64url:()=>cr,base64:()=>_u});au=/^[cC][0-9a-z]{6,}$/,ou=/^[0-9a-z]+$/,su=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,uu=/^[0-9a-vA-V]{20}$/,lu=/^[A-Za-z0-9]{27}$/,du=/^[a-zA-Z0-9_-]{21}$/,cu=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,$h=/^[-+]?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)?)??$/,mu=/^([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})$/,_h=qe(4),kh=qe(6),wh=qe(7),fu=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Sh=/^[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])?)*$/,Ih=/^(([^<>()\[\]\\.,;:\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,}))$/,pu=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,xh=pu,zh=/^[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])?)*$/;gu=/^(?:(?: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])$/,hu=/^(([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}|:))$/,bu=/^((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])$/,$u=/^(([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])$/,_u=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,cr=/^[A-Za-z0-9_-]*$/,Eh=/^(?=.{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])?)*\.?$/,Ph=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,ku=/^https?$/,wu=/^\+[1-9]\d{6,14}$/,Iu=new RegExp(`^${Su}$`);Pu=/^-?\d+n?$/,Tu=/^-?\d+$/,mr=/^-?\d+(?:\.\d+)?$/,ju=/^(?:true|false)$/i,Ou=/^null$/i,Nu=/^undefined$/i,Au=/^[^A-Z]*$/,Du=/^[^a-z]*$/,Th=/^[0-9a-fA-F]*$/;jh=/^[0-9a-fA-F]{32}$/,Oh=Tt(22,"=="),Nh=jt(22),Ah=/^[0-9a-fA-F]{40}$/,Dh=Tt(27,"="),Zh=jt(27),Ch=/^[0-9a-fA-F]{64}$/,Rh=Tt(43,"="),Mh=jt(43),Lh=/^[0-9a-fA-F]{96}$/,Fh=Tt(64,""),Jh=jt(64),Kh=/^[0-9a-fA-F]{128}$/,Gh=Tt(86,"=="),Wh=jt(86),R=m("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Zu={number:"number",bigint:"bigint",object:"date"},fr=m("$ZodCheckLessThan",(e,t)=>{R.init(e,t);let n=Zu[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})}}),pr=m("$ZodCheckGreaterThan",(e,t)=>{R.init(e,t);let n=Zu[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})}}),Cu=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):Ls(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})}}),Ru=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]=Hs[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=Tu}),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})}}),Mu=m("$ZodCheckBigIntFormat",(e,t)=>{R.init(e,t);let[n,a]=Bs[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})}}),Lu=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:zi(i),code:"too_big",maximum:t.maximum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),Fu=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:zi(i),code:"too_small",minimum:t.minimum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),Ju=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:zi(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})}}),Ku=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=Ui(i);a.issues.push({origin:r,code:"too_big",maximum:t.maximum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),Gu=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=Ui(i);a.issues.push({origin:r,code:"too_small",minimum:t.minimum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),Wu=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=Ui(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})}}),Ot=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=()=>{})}),Hu=m("$ZodCheckRegex",(e,t)=>{Ot.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})}}),Bu=m("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Au),Ot.init(e,t)}),Xu=m("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Du),Ot.init(e,t)}),Vu=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})}}),Yu=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})}}),Qu=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})}});qu=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)=>Jo(i,n,t.property));Jo(a,n,t.property);return}}),el=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})}}),tl=m("$ZodCheckOverwrite",(e,t)=>{R.init(e,t),e._zod.check=(n)=>{n.value=t.tx(n.value)}});il={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=il;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(Xs(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)}}E(e,"~standard",()=>({validate:(i)=>{try{let r=nu(e,i);return r.success?{value:r.data}:{issues:r.error?.issues}}catch(r){return ru(e,i).then((o)=>o.success?{value:o.data}:{issues:o.error?.issues})}},vendor:"zod",version:1}))}),Nt=m("$ZodString",(e,t)=>{x.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Eu(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)=>{Ot.init(e,t),Nt.init(e,t)}),nl=m("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=mu),A.init(e,t)}),rl=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=qe(n))}else t.pattern??(t.pattern=qe());A.init(e,t)}),al=m("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=fu),A.init(e,t)}),ol=m("$ZodURL",(e,t)=>{A.init(e,t),e._zod.check=(n)=>{try{let a=n.value.trim();if(!t.normalize&&t.protocol?.source===ku.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})}}}),sl=m("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=vu()),A.init(e,t)}),ul=m("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=du),A.init(e,t)}),ll=m("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=au),A.init(e,t)}),dl=m("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=ou),A.init(e,t)}),cl=m("$ZodULID",(e,t)=>{t.pattern??(t.pattern=su),A.init(e,t)}),ml=m("$ZodXID",(e,t)=>{t.pattern??(t.pattern=uu),A.init(e,t)}),fl=m("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=lu),A.init(e,t)}),pl=m("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=Uu(t)),A.init(e,t)}),vl=m("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Iu),A.init(e,t)}),gl=m("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=zu(t)),A.init(e,t)}),hl=m("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=cu),A.init(e,t)}),yl=m("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=gu),A.init(e,t),e._zod.bag.format="ipv4"}),bl=m("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=hu),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})}}}),$l=m("$ZodMAC",(e,t)=>{t.pattern??(t.pattern=yu(t.delimiter)),A.init(e,t),e._zod.bag.format="mac"}),_l=m("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=bu),A.init(e,t)}),kl=m("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=$u),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})}}});wl=m("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=_u),A.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=(n)=>{if(gr(n.value))return;n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});Il=m("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=cr),A.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=(n)=>{if(Sl(n.value))return;n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),xl=m("$ZodE164",(e,t)=>{t.pattern??(t.pattern=wu),A.init(e,t)});Ul=m("$ZodJWT",(e,t)=>{A.init(e,t),e._zod.check=(n)=>{if(zl(n.value,t.alg))return;n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),El=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})}}),hr=m("$ZodNumber",(e,t)=>{x.init(e,t),e._zod.pattern=e._zod.bag.pattern??mr,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}}),Pl=m("$ZodNumberFormat",(e,t)=>{Ru.init(e,t),hr.init(e,t)}),yr=m("$ZodBoolean",(e,t)=>{x.init(e,t),e._zod.pattern=ju,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}}),br=m("$ZodBigInt",(e,t)=>{x.init(e,t),e._zod.pattern=Pu,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}}),Tl=m("$ZodBigIntFormat",(e,t)=>{Mu.init(e,t),br.init(e,t)}),jl=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}}),Ol=m("$ZodUndefined",(e,t)=>{x.init(e,t),e._zod.pattern=Nu,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}}),Nl=m("$ZodNull",(e,t)=>{x.init(e,t),e._zod.pattern=Ou,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}}),Al=m("$ZodAny",(e,t)=>{x.init(e,t),e._zod.parse=(n)=>n}),Dl=m("$ZodUnknown",(e,t)=>{x.init(e,t),e._zod.parse=(n)=>n}),Zl=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}}),Cl=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}}),Rl=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}});Ml=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)=>Ko(d,n,o)));else Ko(l,n,o)}if(r.length)return Promise.all(r).then(()=>n);return n}});Jl=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=xt(()=>Ll(t));E(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=Qe,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)=>$i(T,o,p,l,f,y)));else $i(k,o,p,l,f,y)}if(!i)return d.length?Promise.all(d).then(()=>o):o;return Fl(d,l,o,s,n.value,e)}}),Kl=m("$ZodObjectJIT",(e,t)=>{Jl.init(e,t);let n=e._zod.parse,a=xt(()=>Ll(t)),i=(p)=>{let v=new vr(["shape","payload","ctx"]),f=a.value,y=(M)=>{let S=Rn(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],Z=Rn(M),W=p[M],fe=W?._zod?.optin==="optional",Pn=W?._zod?.optout==="optional";if(v.write(`const ${S} = ${y(M)};`),fe&&Pn)v.write(`
|
|
101
|
+
if (${S}.issues.length) {
|
|
102
|
+
if (${Z} in input) {
|
|
103
|
+
payload.issues = payload.issues.concat(${S}.issues.map(iss => ({
|
|
104
|
+
...iss,
|
|
105
|
+
path: iss.path ? [${Z}, ...iss.path] : [${Z}]
|
|
106
|
+
})));
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
if (${S}.value === undefined) {
|
|
111
|
+
if (${Z} in input) {
|
|
112
|
+
newResult[${Z}] = undefined;
|
|
113
|
+
}
|
|
114
|
+
} else {
|
|
115
|
+
newResult[${Z}] = ${S}.value;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
`);else if(!fe)v.write(`
|
|
119
|
+
const ${S}_present = ${Z} in input;
|
|
120
|
+
if (${S}.issues.length) {
|
|
121
|
+
payload.issues = payload.issues.concat(${S}.issues.map(iss => ({
|
|
122
|
+
...iss,
|
|
123
|
+
path: iss.path ? [${Z}, ...iss.path] : [${Z}]
|
|
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: [${Z}]
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
if (${S}_present) {
|
|
136
|
+
if (${S}.value === undefined) {
|
|
137
|
+
newResult[${Z}] = undefined;
|
|
138
|
+
} else {
|
|
139
|
+
newResult[${Z}] = ${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 ? [${Z}, ...iss.path] : [${Z}]
|
|
148
|
+
})));
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
if (${S}.value === undefined) {
|
|
152
|
+
if (${Z} in input) {
|
|
153
|
+
newResult[${Z}] = undefined;
|
|
154
|
+
}
|
|
155
|
+
} else {
|
|
156
|
+
newResult[${Z}] = ${S}.value;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
`)}v.write("payload.value = newResult;"),v.write("return payload;");let j=v.compile();return(M,S)=>j(p,M,S)},r,o=Qe,s=!bt.jitless,l=s&&Js.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 Fl([],f,p,v,c,e)}return n(p,v)}});Ei=m("$ZodUnion",(e,t)=>{x.init(e,t),E(e._zod,"optin",()=>t.options.some((a)=>a._zod.optin==="optional")?"optional":void 0),E(e._zod,"optout",()=>t.options.some((a)=>a._zod.optout==="optional")?"optional":void 0),E(e._zod,"values",()=>{if(t.options.every((a)=>a._zod.values))return new Set(t.options.flatMap((a)=>Array.from(a._zod.values)));return}),E(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)=>xi(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 Go(o,a,e,i);return Promise.all(o).then((s)=>{return Go(s,a,e,i)})}});Gl=m("$ZodXor",(e,t)=>{Ei.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 Wo(o,a,e,i);return Promise.all(o).then((s)=>{return Wo(s,a,e,i)})}}),Wl=m("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,Ei.init(e,t);let n=e._zod.parse;E(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=xt(()=>{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(!Qe(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}}),Hl=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 Ho(n,s,l)});return Ho(n,r,o)}});$r=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=Bo(n,"optin"),l=Bo(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)=>Xo(y,a,c)));else Xo(f,a,c)}}if(o.length)return Promise.all(o).then(()=>Vo(d,a,n,r,l));return Vo(d,a,n,r,l)}});Bl=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,J())),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"&&mr.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,J())),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}}),Xl=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])=>{Yo(c,p,n,o,i,e,a)}));else Yo(l,d,n,o,i,e,a)}if(r.length)return Promise.all(r).then(()=>n);return n}});Vl=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)=>Qo(l,n)));else Qo(s,n)}if(r.length)return Promise.all(r).then(()=>n);return n}});Yl=m("$ZodEnum",(e,t)=>{x.init(e,t);let n=Qn(t.entries),a=new Set(n);e._zod.values=a,e._zod.pattern=new RegExp(`^(${n.filter((i)=>yi.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}}),Ql=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}}),ql=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}}),ed=m("$ZodTransform",(e,t)=>{x.init(e,t),e._zod.optin="optional",e._zod.parse=(n,a)=>{if(a.direction==="backward")throw new It(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}});_r=m("$ZodOptional",(e,t)=>{x.init(e,t),e._zod.optin="optional",e._zod.optout="optional",E(e._zod,"values",()=>{return t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0}),E(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${xi(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)=>qo(o,i));return qo(r,i)}if(n.value===void 0)return n;return t.innerType._zod.run(n,a)}}),td=m("$ZodExactOptional",(e,t)=>{_r.init(e,t),E(e._zod,"values",()=>t.innerType._zod.values),E(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(n,a)=>{return t.innerType._zod.run(n,a)}}),id=m("$ZodNullable",(e,t)=>{x.init(e,t),E(e._zod,"optin",()=>t.innerType._zod.optin),E(e._zod,"optout",()=>t.innerType._zod.optout),E(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${xi(n.source)}|null)$`):void 0}),E(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)}}),nd=m("$ZodDefault",(e,t)=>{x.init(e,t),e._zod.optin="optional",E(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)=>es(r,t));return es(i,t)}});rd=m("$ZodPrefault",(e,t)=>{x.init(e,t),e._zod.optin="optional",E(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)}}),ad=m("$ZodNonOptional",(e,t)=>{x.init(e,t),E(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)=>ts(r,e));return ts(i,e)}});od=m("$ZodSuccess",(e,t)=>{x.init(e,t),e._zod.parse=(n,a)=>{if(a.direction==="backward")throw new It("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}}),sd=m("$ZodCatch",(e,t)=>{x.init(e,t),e._zod.optin="optional",E(e._zod,"optout",()=>t.innerType._zod.optout),E(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,J()))},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,J()))},input:n.value}),n.issues=[],n.fallback=!0;return n}}),ud=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}}),kr=m("$ZodPipe",(e,t)=>{x.init(e,t),E(e._zod,"values",()=>t.in._zod.values),E(e._zod,"optin",()=>t.in._zod.optin),E(e._zod,"optout",()=>t.out._zod.optout),E(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)=>li(o,t.in,a));return li(r,t.in,a)}let i=t.in._zod.run(n,a);if(i instanceof Promise)return i.then((r)=>li(r,t.out,a));return li(i,t.out,a)}});wr=m("$ZodCodec",(e,t)=>{x.init(e,t),E(e._zod,"values",()=>t.in._zod.values),E(e._zod,"optin",()=>t.in._zod.optin),E(e._zod,"optout",()=>t.out._zod.optout),E(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)=>di(r,t,a));return di(i,t,a)}else{let i=t.out._zod.run(n,a);if(i instanceof Promise)return i.then((r)=>di(r,t,a));return di(i,t,a)}}});ld=m("$ZodPreprocess",(e,t)=>{kr.init(e,t)}),dd=m("$ZodReadonly",(e,t)=>{x.init(e,t),E(e._zod,"propValues",()=>t.innerType._zod.propValues),E(e._zod,"values",()=>t.innerType._zod.values),E(e._zod,"optin",()=>t.innerType?._zod?.optin),E(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(is);return is(i)}});cd=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||Gs.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}}),md=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?Mn(e._def.input,a):a,r=Reflect.apply(n,this,i);if(e._def.output)return Mn(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 Ln(e._def.input,a):a,r=await Reflect.apply(n,this,i);if(e._def.output)return await Ln(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 $r({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}),fd=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))}}),pd=m("$ZodLazy",(e,t)=>{x.init(e,t),E(e._zod,"innerType",()=>{let n=t;if(!n._cachedInner)n._cachedInner=t.getter();return n._cachedInner}),E(e._zod,"pattern",()=>e._zod.innerType?._zod?.pattern),E(e._zod,"propValues",()=>e._zod.innerType?._zod?.propValues),E(e._zod,"optin",()=>e._zod.innerType?._zod?.optin??void 0),E(e._zod,"optout",()=>e._zod.innerType?._zod?.optout??void 0),e._zod.parse=(n,a)=>{return e._zod.innerType._zod.run(n,a)}}),vd=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)=>ns(r,n,a,e));ns(i,n,a,e);return}});Sr={};he(Sr,{zhTW:()=>Ab,zhCN:()=>Ob,yo:()=>Zb,vi:()=>Tb,uz:()=>Eb,ur:()=>zb,uk:()=>yd,ua:()=>Ib,tr:()=>wb,th:()=>_b,ta:()=>bb,sv:()=>hb,sl:()=>vb,ru:()=>fb,ro:()=>cb,pt:()=>lb,ps:()=>ab,pl:()=>sb,ota:()=>nb,no:()=>tb,nl:()=>qy,ms:()=>Yy,mk:()=>Xy,lt:()=>Hy,ko:()=>Gy,km:()=>hd,kh:()=>Jy,ka:()=>Ly,ja:()=>Ry,it:()=>Zy,is:()=>Ay,id:()=>Oy,hy:()=>Ty,hu:()=>Ey,hr:()=>zy,he:()=>Iy,frCA:()=>wy,fr:()=>_y,fi:()=>by,fa:()=>hy,es:()=>vy,eo:()=>fy,en:()=>gd,el:()=>dy,de:()=>uy,da:()=>oy,cs:()=>ry,ca:()=>iy,bg:()=>ey,be:()=>Qh,az:()=>Vh,ar:()=>Bh});bd=Symbol("ZodOutput"),$d=Symbol("ZodInput");(us=globalThis).__zod_globalRegistry??(us.__zod_globalRegistry=xr());ne=globalThis.__zod_globalRegistry;Sd={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6};s$={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Jn={string:uc,number:lc,boolean:dc,bigint:cc,symbol:mc,null:fc,undefined:pc,void:vc,never:gc,any:hc,unknown:yc,date:bc,enum:$c,literal:_c,nan:kc,template_literal:wc,file:Sc,success:Ic,custom:xc,function:zc,transform:Uc,map:Ec,set:Pc,array:Tc,object:jc,union:Qr,intersection:Oc,tuple:Nc,record:Ac,nullable:Dc,nonoptional:Zc,default:Cc,prefault:Rc,catch:Mc,pipe:Lc,readonly:Fc,promise:Jc,optional:qr,lazy:Kc};u$={},Hc={};he(Hc,{xor:()=>nf,xid:()=>Im,void:()=>Vm,uuidv7:()=>hm,uuidv6:()=>gm,uuidv4:()=>vm,uuid:()=>pm,url:()=>ym,unknown:()=>Ze,union:()=>dn,undefined:()=>Bm,ulid:()=>Sm,uint64:()=>Wm,uint32:()=>Jm,tuple:()=>ka,transform:()=>mn,templateLiteral:()=>hf,symbol:()=>Hm,superRefine:()=>Va,success:()=>ff,stringbool:()=>Sf,stringFormat:()=>Dm,string:()=>_t,strictObject:()=>ef,set:()=>uf,refine:()=>Xa,record:()=>wa,readonly:()=>Ja,promise:()=>yf,preprocess:()=>xf,prefault:()=>Aa,pipe:()=>wi,partialRecord:()=>af,optional:()=>wt,object:()=>qm,number:()=>oa,nullish:()=>mf,nullable:()=>St,null:()=>ca,nonoptional:()=>Da,never:()=>un,nativeEnum:()=>lf,nanoid:()=>_m,nan:()=>pf,meta:()=>kf,map:()=>sf,mac:()=>Um,looseRecord:()=>of,looseObject:()=>tf,literal:()=>df,lazy:()=>Wa,ksuid:()=>xm,keyof:()=>Qm,jwt:()=>Am,json:()=>If,ipv6:()=>Em,ipv4:()=>zm,invertCodec:()=>gf,intersection:()=>$a,int64:()=>Gm,int32:()=>Fm,int:()=>ki,instanceof:()=>wf,httpUrl:()=>bm,hostname:()=>Zm,hex:()=>Cm,hash:()=>Rm,guid:()=>fm,function:()=>Si,float64:()=>Lm,float32:()=>Mm,file:()=>cf,exactOptional:()=>Pa,enum:()=>cn,emoji:()=>$m,email:()=>mm,e164:()=>Nm,discriminatedUnion:()=>rf,describe:()=>_f,date:()=>Ym,custom:()=>$f,cuid2:()=>wm,cuid:()=>km,codec:()=>vf,cidrv6:()=>Tm,cidrv4:()=>Pm,check:()=>bf,catch:()=>Ra,boolean:()=>sa,bigint:()=>Km,base64url:()=>Om,base64:()=>jm,array:()=>Gt,any:()=>Xm,_function:()=>Si,_default:()=>Oa,_ZodString:()=>Ji,ZodXor:()=>ha,ZodXID:()=>Vi,ZodVoid:()=>va,ZodUnknown:()=>fa,ZodUnion:()=>Ht,ZodUndefined:()=>la,ZodUUID:()=>ve,ZodURL:()=>Lt,ZodULID:()=>Xi,ZodType:()=>z,ZodTuple:()=>_a,ZodTransform:()=>Ua,ZodTemplateLiteral:()=>Ka,ZodSymbol:()=>ua,ZodSuccess:()=>Za,ZodStringFormat:()=>D,ZodString:()=>Mt,ZodSet:()=>Ia,ZodRecord:()=>rt,ZodReadonly:()=>Fa,ZodPromise:()=>Ha,ZodPreprocess:()=>La,ZodPrefault:()=>Na,ZodPipe:()=>Bt,ZodOptional:()=>fn,ZodObject:()=>Wt,ZodNumberFormat:()=>Me,ZodNumber:()=>Ft,ZodNullable:()=>Ta,ZodNull:()=>da,ZodNonOptional:()=>pn,ZodNever:()=>pa,ZodNanoID:()=>Wi,ZodNaN:()=>Ma,ZodMap:()=>Sa,ZodMAC:()=>aa,ZodLiteral:()=>xa,ZodLazy:()=>Ga,ZodKSUID:()=>Yi,ZodJWT:()=>on,ZodIntersection:()=>ba,ZodIPv6:()=>qi,ZodIPv4:()=>Qi,ZodGUID:()=>kt,ZodFunction:()=>Ba,ZodFile:()=>za,ZodExactOptional:()=>Ea,ZodEnum:()=>at,ZodEmoji:()=>Gi,ZodEmail:()=>Ki,ZodE164:()=>an,ZodDiscriminatedUnion:()=>ya,ZodDefault:()=>ja,ZodDate:()=>ln,ZodCustomStringFormat:()=>st,ZodCustom:()=>Vt,ZodCodec:()=>Xt,ZodCatch:()=>Ca,ZodCUID2:()=>Bi,ZodCUID:()=>Hi,ZodCIDRv6:()=>tn,ZodCIDRv4:()=>en,ZodBoolean:()=>Jt,ZodBigIntFormat:()=>sn,ZodBigInt:()=>Kt,ZodBase64URL:()=>rn,ZodBase64:()=>nn,ZodArray:()=>ga,ZodAny:()=>ma});Bc={};he(Bc,{uppercase:()=>Oi,trim:()=>Ri,toUpperCase:()=>Li,toLowerCase:()=>Mi,startsWith:()=>Ai,slugify:()=>Fi,size:()=>At,regex:()=>Ti,property:()=>Yr,positive:()=>Hr,overwrite:()=>be,normalize:()=>Ci,nonpositive:()=>Xr,nonnegative:()=>Vr,negative:()=>Br,multipleOf:()=>et,minSize:()=>ze,minLength:()=>De,mime:()=>Zi,maxSize:()=>ot,maxLength:()=>Dt,lte:()=>re,lt:()=>Ie,lowercase:()=>ji,length:()=>Zt,includes:()=>Ni,gte:()=>Y,gt:()=>xe,endsWith:()=>Di});ea={};he(ea,{time:()=>Yc,duration:()=>Qc,datetime:()=>Xc,date:()=>Vc,ZodISOTime:()=>na,ZodISODuration:()=>ra,ZodISODateTime:()=>ta,ZodISODate:()=>ia});ta=m("ZodISODateTime",(e,t)=>{pl.init(e,t),D.init(e,t)});ia=m("ZodISODate",(e,t)=>{vl.init(e,t),D.init(e,t)});na=m("ZodISOTime",(e,t)=>{gl.init(e,t),D.init(e,t)});ra=m("ZodISODuration",(e,t)=>{hl.init(e,t),D.init(e,t)});l$=m("ZodError",qc),ee=m("ZodError",qc,{Parent:Error}),em=zt(ee),tm=Ut(ee),im=Et(ee),nm=Pt(ee),rm=nr(ee),am=rr(ee),om=ar(ee),sm=or(ee),um=sr(ee),lm=ur(ee),dm=lr(ee),cm=dr(ee),ls=new WeakMap;z=m("ZodType",(e,t)=>{return x.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:$t(e,"input"),output:$t(e,"output")}}),e.toJSONSchema=sc(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(n,a)=>em(e,n,a,{callee:e.parse}),e.safeParse=(n,a)=>im(e,n,a),e.parseAsync=async(n,a)=>tm(e,n,a,{callee:e.parseAsync}),e.safeParseAsync=async(n,a)=>nm(e,n,a),e.spa=e.safeParseAsync,e.encode=(n,a)=>rm(e,n,a),e.decode=(n,a)=>am(e,n,a),e.encodeAsync=async(n,a)=>om(e,n,a),e.decodeAsync=async(n,a)=>sm(e,n,a),e.safeEncode=(n,a)=>um(e,n,a),e.safeDecode=(n,a)=>lm(e,n,a),e.safeEncodeAsync=async(n,a)=>dm(e,n,a),e.safeDecodeAsync=async(n,a)=>cm(e,n,a),Rt(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(Xa(n,a))},superRefine(n,a){return this.check(Va(n,a))},overwrite(n){return this.check(be(n))},optional(){return wt(this)},exactOptional(){return Pa(this)},nullable(){return St(this)},nullish(){return wt(St(this))},nonoptional(n){return Da(this,n)},array(){return Gt(this)},or(n){return dn([this,n])},and(n){return $a(this,n)},transform(n){return wi(this,mn(n))},default(n){return Oa(this,n)},prefault(n){return Aa(this,n)},catch(n){return Ra(this,n)},pipe(n){return wi(this,n)},readonly(){return Ja(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}),Ji=m("_ZodString",(e,t)=>{Nt.init(e,t),z.init(e,t),e._zod.processJSONSchema=(a,i,r)=>uc(e,a,i,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,Rt(e,"_ZodString",{regex(...a){return this.check(Ti(...a))},includes(...a){return this.check(Ni(...a))},startsWith(...a){return this.check(Ai(...a))},endsWith(...a){return this.check(Di(...a))},min(...a){return this.check(De(...a))},max(...a){return this.check(Dt(...a))},length(...a){return this.check(Zt(...a))},nonempty(...a){return this.check(De(1,...a))},lowercase(a){return this.check(ji(a))},uppercase(a){return this.check(Oi(a))},trim(){return this.check(Ri())},normalize(...a){return this.check(Ci(...a))},toLowerCase(){return this.check(Mi())},toUpperCase(){return this.check(Li())},slugify(){return this.check(Fi())}})}),Mt=m("ZodString",(e,t)=>{Nt.init(e,t),Ji.init(e,t),e.email=(n)=>e.check(zr(Ki,n)),e.url=(n)=>e.check(Pi(Lt,n)),e.jwt=(n)=>e.check(Wr(on,n)),e.emoji=(n)=>e.check(jr(Gi,n)),e.guid=(n)=>e.check(_i(kt,n)),e.uuid=(n)=>e.check(Ur(ve,n)),e.uuidv4=(n)=>e.check(Er(ve,n)),e.uuidv6=(n)=>e.check(Pr(ve,n)),e.uuidv7=(n)=>e.check(Tr(ve,n)),e.nanoid=(n)=>e.check(Or(Wi,n)),e.guid=(n)=>e.check(_i(kt,n)),e.cuid=(n)=>e.check(Nr(Hi,n)),e.cuid2=(n)=>e.check(Ar(Bi,n)),e.ulid=(n)=>e.check(Dr(Xi,n)),e.base64=(n)=>e.check(Jr(nn,n)),e.base64url=(n)=>e.check(Kr(rn,n)),e.xid=(n)=>e.check(Zr(Vi,n)),e.ksuid=(n)=>e.check(Cr(Yi,n)),e.ipv4=(n)=>e.check(Rr(Qi,n)),e.ipv6=(n)=>e.check(Mr(qi,n)),e.cidrv4=(n)=>e.check(Lr(en,n)),e.cidrv6=(n)=>e.check(Fr(tn,n)),e.e164=(n)=>e.check(Gr(an,n)),e.datetime=(n)=>e.check(Xc(n)),e.date=(n)=>e.check(Vc(n)),e.time=(n)=>e.check(Yc(n)),e.duration=(n)=>e.check(Qc(n))});D=m("ZodStringFormat",(e,t)=>{A.init(e,t),Ji.init(e,t)}),Ki=m("ZodEmail",(e,t)=>{al.init(e,t),D.init(e,t)});kt=m("ZodGUID",(e,t)=>{nl.init(e,t),D.init(e,t)});ve=m("ZodUUID",(e,t)=>{rl.init(e,t),D.init(e,t)});Lt=m("ZodURL",(e,t)=>{ol.init(e,t),D.init(e,t)});Gi=m("ZodEmoji",(e,t)=>{sl.init(e,t),D.init(e,t)});Wi=m("ZodNanoID",(e,t)=>{ul.init(e,t),D.init(e,t)});Hi=m("ZodCUID",(e,t)=>{ll.init(e,t),D.init(e,t)});Bi=m("ZodCUID2",(e,t)=>{dl.init(e,t),D.init(e,t)});Xi=m("ZodULID",(e,t)=>{cl.init(e,t),D.init(e,t)});Vi=m("ZodXID",(e,t)=>{ml.init(e,t),D.init(e,t)});Yi=m("ZodKSUID",(e,t)=>{fl.init(e,t),D.init(e,t)});Qi=m("ZodIPv4",(e,t)=>{yl.init(e,t),D.init(e,t)});aa=m("ZodMAC",(e,t)=>{$l.init(e,t),D.init(e,t)});qi=m("ZodIPv6",(e,t)=>{bl.init(e,t),D.init(e,t)});en=m("ZodCIDRv4",(e,t)=>{_l.init(e,t),D.init(e,t)});tn=m("ZodCIDRv6",(e,t)=>{kl.init(e,t),D.init(e,t)});nn=m("ZodBase64",(e,t)=>{wl.init(e,t),D.init(e,t)});rn=m("ZodBase64URL",(e,t)=>{Il.init(e,t),D.init(e,t)});an=m("ZodE164",(e,t)=>{xl.init(e,t),D.init(e,t)});on=m("ZodJWT",(e,t)=>{Ul.init(e,t),D.init(e,t)});st=m("ZodCustomStringFormat",(e,t)=>{El.init(e,t),D.init(e,t)});Ft=m("ZodNumber",(e,t)=>{hr.init(e,t),z.init(e,t),e._zod.processJSONSchema=(a,i,r)=>lc(e,a,i,r),Rt(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(ki(a))},safe(a){return this.check(ki(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(et(a,i))},step(a,i){return this.check(et(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)=>{Pl.init(e,t),Ft.init(e,t)});Jt=m("ZodBoolean",(e,t)=>{yr.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>dc(e,n,a,i)});Kt=m("ZodBigInt",(e,t)=>{br.init(e,t),z.init(e,t),e._zod.processJSONSchema=(a,i,r)=>cc(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(et(a,i));let n=e._zod.bag;e.minValue=n.minimum??null,e.maxValue=n.maximum??null,e.format=n.format??null});sn=m("ZodBigIntFormat",(e,t)=>{Tl.init(e,t),Kt.init(e,t)});ua=m("ZodSymbol",(e,t)=>{jl.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>mc(e,n,a,i)});la=m("ZodUndefined",(e,t)=>{Ol.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>pc(e,n,a,i)});da=m("ZodNull",(e,t)=>{Nl.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>fc(e,n,a,i)});ma=m("ZodAny",(e,t)=>{Al.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>hc(e,n,a,i)});fa=m("ZodUnknown",(e,t)=>{Dl.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>yc(e,n,a,i)});pa=m("ZodNever",(e,t)=>{Zl.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>gc(e,n,a,i)});va=m("ZodVoid",(e,t)=>{Cl.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>vc(e,n,a,i)});ln=m("ZodDate",(e,t)=>{Rl.init(e,t),z.init(e,t),e._zod.processJSONSchema=(a,i,r)=>bc(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});ga=m("ZodArray",(e,t)=>{Ml.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Tc(e,n,a,i),e.element=t.element,Rt(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(Dt(n,a))},length(n,a){return this.check(Zt(n,a))},unwrap(){return this.element}})});Wt=m("ZodObject",(e,t)=>{Kl.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>jc(e,n,a,i),U.defineLazy(e,"shape",()=>{return t.shape}),Rt(e,"ZodObject",{keyof(){return cn(Object.keys(this._zod.def.shape))},catchall(n){return this.clone({...this._zod.def,catchall:n})},passthrough(){return this.clone({...this._zod.def,catchall:Ze()})},loose(){return this.clone({...this._zod.def,catchall:Ze()})},strict(){return this.clone({...this._zod.def,catchall:un()})},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(fn,this,n[0])},required(...n){return U.required(pn,this,n[0])}})});Ht=m("ZodUnion",(e,t)=>{Ei.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Qr(e,n,a,i),e.options=t.options});ha=m("ZodXor",(e,t)=>{Ht.init(e,t),Gl.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Qr(e,n,a,i),e.options=t.options});ya=m("ZodDiscriminatedUnion",(e,t)=>{Ht.init(e,t),Wl.init(e,t)});ba=m("ZodIntersection",(e,t)=>{Hl.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Oc(e,n,a,i)});_a=m("ZodTuple",(e,t)=>{$r.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Nc(e,n,a,i),e.rest=(n)=>e.clone({...e._zod.def,rest:n})});rt=m("ZodRecord",(e,t)=>{Bl.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Ac(e,n,a,i),e.keyType=t.keyType,e.valueType=t.valueType});Sa=m("ZodMap",(e,t)=>{Xl.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Ec(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(ot(...n)),e.size=(...n)=>e.check(At(...n))});Ia=m("ZodSet",(e,t)=>{Vl.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Pc(e,n,a,i),e.min=(...n)=>e.check(ze(...n)),e.nonempty=(n)=>e.check(ze(1,n)),e.max=(...n)=>e.check(ot(...n)),e.size=(...n)=>e.check(At(...n))});at=m("ZodEnum",(e,t)=>{Yl.init(e,t),z.init(e,t),e._zod.processJSONSchema=(a,i,r)=>$c(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 at({...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 at({...t,checks:[],...U.normalizeParams(i),entries:r})}});xa=m("ZodLiteral",(e,t)=>{Ql.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>_c(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]}})});za=m("ZodFile",(e,t)=>{ql.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Sc(e,n,a,i),e.min=(n,a)=>e.check(ze(n,a)),e.max=(n,a)=>e.check(ot(n,a)),e.mime=(n,a)=>e.check(Zi(Array.isArray(n)?n:[n],a))});Ua=m("ZodTransform",(e,t)=>{ed.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Uc(e,n,a,i),e._zod.parse=(n,a)=>{if(a.direction==="backward")throw new It(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}});fn=m("ZodOptional",(e,t)=>{_r.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>qr(e,n,a,i),e.unwrap=()=>e._zod.def.innerType});Ea=m("ZodExactOptional",(e,t)=>{td.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>qr(e,n,a,i),e.unwrap=()=>e._zod.def.innerType});Ta=m("ZodNullable",(e,t)=>{id.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Dc(e,n,a,i),e.unwrap=()=>e._zod.def.innerType});ja=m("ZodDefault",(e,t)=>{nd.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Cc(e,n,a,i),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});Na=m("ZodPrefault",(e,t)=>{rd.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Rc(e,n,a,i),e.unwrap=()=>e._zod.def.innerType});pn=m("ZodNonOptional",(e,t)=>{ad.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Zc(e,n,a,i),e.unwrap=()=>e._zod.def.innerType});Za=m("ZodSuccess",(e,t)=>{od.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Ic(e,n,a,i),e.unwrap=()=>e._zod.def.innerType});Ca=m("ZodCatch",(e,t)=>{sd.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Mc(e,n,a,i),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});Ma=m("ZodNaN",(e,t)=>{ud.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>kc(e,n,a,i)});Bt=m("ZodPipe",(e,t)=>{kr.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Lc(e,n,a,i),e.in=t.in,e.out=t.out});Xt=m("ZodCodec",(e,t)=>{Bt.init(e,t),wr.init(e,t)});La=m("ZodPreprocess",(e,t)=>{Bt.init(e,t),ld.init(e,t)}),Fa=m("ZodReadonly",(e,t)=>{dd.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Fc(e,n,a,i),e.unwrap=()=>e._zod.def.innerType});Ka=m("ZodTemplateLiteral",(e,t)=>{cd.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>wc(e,n,a,i)});Ga=m("ZodLazy",(e,t)=>{pd.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Kc(e,n,a,i),e.unwrap=()=>e._zod.def.getter()});Ha=m("ZodPromise",(e,t)=>{fd.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>Jc(e,n,a,i),e.unwrap=()=>e._zod.def.innerType});Ba=m("ZodFunction",(e,t)=>{md.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>zc(e,n,a,i)});Vt=m("ZodCustom",(e,t)=>{vd.init(e,t),z.init(e,t),e._zod.processJSONSchema=(n,a,i)=>xc(e,n,a,i)});_f=rc,kf=ac;d$={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){})(Kn||(Kn={}));b={...Hc,...Bc,iso:ea},f$=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"]);Uf={};he(Uf,{string:()=>h$,number:()=>y$,date:()=>_$,boolean:()=>b$,bigint:()=>$$});J(gd());Ya=u,Ef=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()}),Pf=u.object({models:u.array(Ef).optional(),openAiBaseUrl:u.string().optional(),openAiHeaders:u.record(u.string(),u.string()).optional(),azureApiVersion:u.string().optional(),azureIdentity:u.boolean().optional()}),Tf=u.object({id:u.string(),thinkingBudgetTokens:u.number().optional()}),jf=u.object({name:u.string(),baseModelId:u.string(),thinkingBudgetTokens:u.number().optional()}),Of=u.object({models:u.array(Tf).optional(),customModels:u.array(jf).optional(),awsRegion:u.string().optional(),awsUseCrossRegionInference:u.boolean().optional(),awsUseGlobalInference:u.boolean().optional(),awsBedrockUsePromptCache:u.boolean().optional(),awsBedrockEndpoint:u.string().optional()}),Nf=u.object({id:u.string()}),Af=u.object({models:u.array(Nf).optional()}),Df=u.object({id:u.string(),thinkingBudgetTokens:u.number().optional()}),Zf=u.object({models:u.array(Df).optional(),vertexProjectId:u.string().optional(),vertexRegion:u.string().optional()}),Cf=u.object({id:u.string(),thinkingBudgetTokens:u.number().optional(),promptCachingEnabled:u.boolean().optional()}),Rf=u.object({models:u.array(Cf).optional(),baseUrl:u.string().optional()}),Mf=u.object({id:u.string(),thinkingBudgetTokens:u.number().optional()}),Lf=u.object({models:u.array(Mf).optional(),baseUrl:u.string().optional()}),k$=u.object({OpenAiCompatible:Pf.optional(),AwsBedrock:Of.optional(),Cline:Af.optional(),Vertex:Zf.optional(),LiteLLM:Rf.optional(),Anthropic:Lf.optional()}),Ff=u.object({id:u.string()}),Jf=u.object({name:u.string(),url:u.string(),alwaysEnabled:u.boolean().optional(),headers:u.record(u.string(),u.string()).optional()}),Gn=u.object({alwaysEnabled:u.boolean(),name:u.string(),contents:u.string()}),fi=u.object({bucket:u.string(),accessKeyId:u.string(),secretAccessKey:u.string(),region:u.string().optional(),endpoint:u.string().optional(),accountId:u.string().optional()}),Kf=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:fi.optional(),r2AccessSettings:fi.optional(),azureAccessSettings:fi.optional()}),Gf=u.object({promptUploading:Kf.optional()}),w$=u.object({version:u.string(),providerSettings:k$.optional(),telemetryEnabled:u.boolean().optional(),kanbanEnabled:u.boolean().optional(),mcpMarketplaceEnabled:u.boolean().optional(),allowedMCPServers:u.array(Ff).optional(),remoteMCPServers:u.array(Jf).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:Gf.optional(),globalRules:u.array(Gn).optional(),globalWorkflows:u.array(Gn).optional()}),S$=u.record(u.string(),u.string()),Wf=u.enum(["default","openai-responses","r1"]),I$={DEFAULT:"default",OPENAI_RESPONSES:"openai-responses",R1:"r1"},Hf=u.enum(["images","tools","streaming","prompt-cache","reasoning","reasoning-effort","computer-use","global-endpoint","structured_output","temperature","files"]),Bf=u.enum(["active","preview","deprecated","legacy"]),Xf=u.object({input:u.number().optional(),output:u.number().optional(),cacheWrite:u.number().optional(),cacheRead:u.number().optional()}),Vf=u.object({maxBudget:u.number().optional(),outputPrice:u.number().optional(),thinkingLevel:u.enum(["low","high"]).optional()}),Qa=u.object({id:u.string(),name:u.string().optional(),description:u.string().optional(),maxTokens:u.number().optional(),contextWindow:u.number().optional(),capabilities:u.array(Hf).optional(),apiFormat:Wf.optional(),systemRole:u.enum(["system","developer"]).optional(),temperature:u.number().optional(),pricing:Xf.optional(),thinkingConfig:Vf.optional(),status:Bf.optional(),deprecationNotice:u.string().optional(),replacedBy:u.string().optional(),releaseDate:u.string().optional(),deprecationDate:u.string().optional(),family:u.string().optional()}),Yf=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()}),Qf=u.enum(["completed","max_iterations","aborted","mistake_limit","error"]),qf=u.object({inputTokens:u.number(),outputTokens:u.number(),cacheReadTokens:u.number().optional(),cacheWriteTokens:u.number().optional(),totalCost:u.number().optional()}),x$=u.object({text:u.string(),usage:qf,messages:u.array(u.custom()),toolCalls:u.array(Yf),iterations:u.number(),finishReason:Qf,model:u.object({id:u.string(),provider:u.string(),info:Qa.optional()}),startedAt:u.date(),endedAt:u.date(),durationMs:u.number()}),ep=u.enum(["low","medium","high","xhigh"]),z$=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(),Qa).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:ep.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()}),tp=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"]),ip=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()}),np=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()}),U$=u.object({actor:ip,context:np,payload:u.record(u.string(),u.unknown()).optional()}),E$=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()}),P$=u.object({adapter:u.string(),botUserName:u.string().optional(),event:tp,payload:u.record(u.string(),u.unknown()),ts:u.string()}),rp=[];j$=["hooks","tools","commands","rules","messageBuilders","providers","automationEvents"],O$=new Set(j$);Z$=[".js",".ts"],up=u.enum(["agent_start","agent_resume","agent_abort","agent_end","agent_error","tool_call","tool_result","prompt_submit","pre_compact","session_shutdown"]),Ce=u.record(u.string(),u.string()),C$=u.object({toolName:u.string(),parameters:Ce}),R$=u.object({toolName:u.string(),parameters:Ce,result:u.string(),success:u.boolean(),executionTimeMs:u.number()}),M$=u.object({prompt:u.string(),attachments:u.array(u.string())}),L$=u.object({taskMetadata:Ce}),F$=u.object({taskMetadata:Ce,previousState:Ce}),J$=u.object({taskMetadata:Ce}),K$=u.object({taskMetadata:Ce}),G$=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()}),lp=u.object({clineVersion:u.string(),hookName:up,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:C$.optional(),postToolUse:R$.optional(),userPromptSubmit:M$.optional(),taskStart:L$.optional(),taskResume:F$.optional(),taskCancel:J$.optional(),taskComplete:K$.optional(),preCompact:G$.optional()}).passthrough();cp=["readFile","search","bash","webFetch","editor","applyPatch","skills","askQuestion","submit"],V$=new Set(cp);yt={xhigh:0.95,high:0.8,medium:0.5,low:0.2,minimal:0.1,none:0};p_={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","X-IS-MULTIROOT":"false","X-CLIENT-TYPE":"cline-sdk"};g_={debug:()=>{},log:()=>{},error:()=>{}};Te=class Te extends Error{constructor(e,t){super(`${e} at position ${t}`);this.position=t}};vs=/^(http|https|ftp|mailto|file|data|irc):\/\/$/,gs=/^[A-Za-z0-9-._~:/?#@!$&'()*+;=]$/;b_=/^[[{\w-]$/;I_={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"},x_={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
|
|
160
|
+
`,r:"\r",t:"\t"};E_=/^\{\s*"([A-Za-z0-9_.$-]+)"\s*:\s*([\s\S]+?)\s*\}$/;T_=[(e)=>JSON.parse(e),(e)=>JSON.parse(z_(e)),P_];Q_=Ya.enum(["reasoning","prompt-cache","tools","provider-tools","oauth","temperature","files","streaming","vision","computer-use","local-auth"]),q_=Ya.enum(["anthropic","gemini","openai-chat","openai-responses","openai-r1","ai-sdk"]),ek=Ya.enum(["anthropic","ai-sdk","ai-sdk-community","openai","openai-compatible","openai-r1","gemini","bedrock","custom","fetch","vertex"]);Xn={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"}};Pk=["running","completed","failed","cancelled"],no=["rules","skills","workflows","plugins"],zp=no,Tk=new Set(no);Ep=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()}),Pp=u.object({currentWorkspacePath:u.string().min(1).optional(),workspaces:u.record(u.string().min(1),Ep)});Tp=["current_state","boundary_analysis","interface_proposal"],le=u.preprocess((e)=>e instanceof Date?e.toISOString():e,u.string().datetime()),Ye=u.enum(["pending","in_progress","blocked","completed"]),jp=u.enum(["queued","running","completed","failed","cancelled","interrupted"]),vn=u.enum(["draft","in_review","finalized"]),Rk=u.object({agentId:u.string(),role:u.enum(["lead","teammate"]),description:u.string().optional(),status:u.enum(["idle","running","stopped"])}),Mk=u.object({agentId:u.string(),rolePrompt:u.string(),modelId:u.string().optional(),maxIterations:u.number().optional()});Lk=u.object({agentId:u.string().min(1).describe("Teammate identifier"),rolePrompt:u.string().min(1).describe("System prompt describing teammate role")}).strict(),Fk=u.object({agentId:u.string().min(1).describe("Teammate identifier"),reason:C(u.string().min(1)).describe("Optional shutdown reason")}),Jk=u.object({}),Kk={create:["title","description"],list:[],claim:["taskId"],complete:["taskId","summary"],block:["taskId","reason"]},Gk={create:["status","taskId","summary","reason"]},Wk=u.object({action:u.enum(["create","list","claim","complete","block"]),title:C(u.string().min(1)).describe("Task title"),description:C(u.string().min(1)).describe("Task details"),dependsOn:C(u.array(u.string().describe("Dependency task ID"))).describe("Array of dependency task IDs"),assignee:C(u.string().min(1)).describe("Optional assignee"),status:C(u.enum(["pending","in_progress","blocked","completed"])).describe("Optional task status filter"),taskId:C(u.string()).describe("Task ID"),summary:C(u.string().min(1)).describe("Completion summary"),reason:C(u.string().min(1)).describe("Blocking reason")}).superRefine((e,t)=>{for(let n of Kk[e.action]){if(e[n]!==void 0)continue;t.addIssue({code:"custom",path:[n],message:`Field "${n}" is required when action=${e.action}`})}}),Hk=u.object({agentId:u.string().describe("Teammate agent ID"),task:u.string().min(1).describe("Task instructions for the teammate"),taskId:C(u.string()).describe("Optional shared task list ID"),runMode:C(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:C(u.boolean()).describe("If true, continue the teammate conversation; otherwise start fresh")}),Bk=u.object({status:C(u.enum(["queued","running","completed","failed","cancelled","interrupted"])).describe("Optional run status filter. Omit to include all statuses."),agentId:C(u.string().min(1)).describe("Optional teammate ID filter. Omit to include all teammates."),includeCompleted:C(u.boolean()).describe("Include completed/failed runs (default true)")}),Xk=u.object({runId:u.string().min(1).describe("Run ID"),reason:C(u.string().min(1)).describe("Optional cancellation reason")}),Vk=u.object({runId:C(u.string().min(1)).describe("Optional async run ID to await. Omit to wait for all active async runs.")}).strict(),Yk=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:C(u.string().min(1)).describe("Optional task ID context")}),Qk=u.object({subject:u.string().min(1).describe("Message subject"),body:u.string().min(1).describe("Message body"),taskId:C(u.string().min(1)).describe("Optional task ID context")}),qk=u.object({unreadOnly:C(u.boolean()).describe("Only unread messages for read action (default true)")}),ew=u.object({kind:u.enum(["progress","handoff","blocked","decision","done","error"]),summary:u.string().min(1).describe("Update summary"),taskId:C(u.string().min(1)).describe("Optional task ID context"),evidence:C(u.array(u.string().min(1))).describe("Optional evidence links/snippets"),nextAction:C(u.string().min(1)).describe("Planned next step")}),tw=u.object({}),iw=u.object({title:u.string().describe("Outcome title"),requiredSections:u.array(u.string()).default(Tp).describe("Required sections for finalization gate (defaults to current_state,boundary_analysis,interface_proposal)")}),nw=u.object({outcomeId:u.string().describe("Outcome ID"),section:u.string().describe("Section name"),sourceRunId:C(u.string()).describe("Optional source run ID"),content:u.string().describe("Section fragment content")}),rw=u.object({fragmentId:u.string().describe("Fragment ID"),approved:u.boolean().describe("Review decision")}),aw=u.object({outcomeId:u.string().describe("Outcome ID")}),ow=u.object({}),sw=u.object({teamId:u.string(),teamName:u.string(),members:u.array(Rk),taskCounts:u.record(Ye,u.number()),unreadMessages:u.number(),missionLogEntries:u.number(),activeRuns:u.number(),queuedRuns:u.number(),outcomeCounts:u.record(vn,u.number())}),Op=u.object({id:u.string(),title:u.string(),description:u.string(),status:Ye,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())}),uw=u.discriminatedUnion("action",[u.object({action:u.literal("create"),taskId:u.string(),status:Ye,ignoredFields:u.array(u.string()).optional(),note:u.string().optional()}),u.object({action:u.literal("list"),tasks:u.array(Op)}),u.object({action:u.literal("claim"),taskId:u.string(),status:Ye,nextStep:u.string()}),u.object({action:u.literal("complete"),taskId:u.string(),status:Ye}),u.object({action:u.literal("block"),taskId:u.string(),status:Ye})]),lw=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()}),Np=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()})}),dw=u.object({id:u.string(),agentId:u.string(),taskId:u.string().optional(),status:jp,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:Np.optional()}),cw=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()}),mw=u.object({id:u.string(),teamId:u.string(),title:u.string(),status:vn,requiredSections:u.array(u.string()),createdBy:u.string(),createdAt:le,finalizedAt:le.optional()}),fw=u.object({outcomeId:u.string(),status:vn,requiredSections:u.array(u.string())}),pw=u.object({agentId:u.string(),status:u.string()}),vw=u.object({runId:u.string(),status:jp}),gw=u.object({id:u.string(),toAgentId:u.string()}),hw=u.object({delivered:u.number()}),yw=u.object({id:u.string()}),bw=u.object({status:u.string()}),$w=u.object({fragmentId:u.string(),status:u.string()}),_w=u.object({outcomeId:u.string(),status:vn});((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"})(Ap||={});Dp=["cline","oca","openai-codex"];Cp=["401","403","unauthorized","forbidden","invalid token","expired token","authentication"];Tw=new Set(["accesskeyid","secretaccesskey","idtoken","refreshtoken","accessToken","access_token","refresh_token","apikey","api_key","authorization","password","secret","token","email","displayname","display_name","userInfo"]),jw=["id","balance","cost","secret"];Nw=[{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"}];Dw=[{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 Fe(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 hn(e){return e.replace(/-([a-z0-9])/gi,(t,n)=>n.toUpperCase())}function Ee(){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 Ww(e.modelId)}function Ww(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 Jp(e,t){let n={openaiCompatible:Ee(),[e]:Ee()},a=hn(e);if(a!==e)n[a]=Ee();if(t)n.anthropic=Ee();return n}function Kp(e,t,n){if(!e)return;let a=e.content;if(typeof a==="string"){e.content=[{type:"text",text:a,providerOptions:Jp(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:Jp(t,n)};return}}}function Yt(e,t){return $e({modelId:e.modelId,family:X(t)})&&Yw(t.provider)==="anthropic-automatic"}function Hw(e){let t=e.model.capabilities;return!t||t.includes("reasoning")}function Bw(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 Xw(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 Vw(e){let t=Bw(e.modelId,e.family),n=Xw(e.modelId);if(!t||!n)return!1;if(n.major!==4)return n.major>4;return(t==="opus"||t==="sonnet")&&n.minor>=6}function lt(e,t){let n=X(t);if(!$e({modelId:e.modelId,family:n})||!Hw(t))return{kind:"none"};return Vw({modelId:e.modelId,family:n})?{kind:"anthropic-adaptive"}:{kind:"anthropic-manual"}}function Yw(e){let t=e.metadata?.promptCacheStrategy;return t==="anthropic-automatic"?t:void 0}function Gp(e,t){let n=lt(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:ro({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}:{},...Yt(e,t)?Ee():{}}}function ro(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 ut;if(typeof e.maxTokens!=="number")return ut;if(e.maxTokens<=ut)return ut;let t=Gw[e.effort];if(!t)return ut;let n=Math.min(e.maxTokens-1,Kw);return Math.max(ut,Math.floor(n*t))}function Wp(e,t){let n=lt(e,t);if(n.kind==="none"||!e.reasoning?.enabled&&!e.reasoning?.effort&&typeof e.reasoning?.budgetTokens!=="number")return;let a=ro({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 Hp(e,t){if(e.reasoning?.enabled===void 0&&!e.reasoning?.effort&&typeof e.reasoning?.budgetTokens!=="number")return;let n=lt(e,t);if(n.kind==="none"&&$e({modelId:e.modelId,family:X(t)}))return;let a=n.kind==="anthropic-manual"?ro({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 ut=1024,Kw=128000,Gw;var yn=V(()=>{Gw={low:0.2,medium:0.5,high:0.8}});function bn(e,t){let n=X(t)?.toLowerCase()??"",a=e.modelId.toLowerCase();return n.includes("glm")||a.includes("glm")}function ao(e){return e==="zai"||e==="zai-coding-plan"}function Bp(e,t){return ao(e.providerId)&&e.reasoning?.enabled!==void 0&&!bn(e,t)||bn(e,t)&&!ao(e.providerId)}function Qw(e){if(e.reasoning?.enabled===void 0)return;return{thinking:{type:e.reasoning.enabled?"enabled":"disabled"}}}function qw(e){if(e.reasoning?.enabled===!0)return{reasoning:{enabled:!0}};if(e.reasoning?.enabled===!1)return{reasoning:{exclude:!0}};return}function Xp(e,t,n){if(ao(e.providerId)){if(!bn(e,t))return;let i=Qw(e);return i?{openaiCompatible:i,[e.providerId]:i,...n!==e.providerId?{[n]:i}:{}}:void 0}if(!bn(e,t))return;let a=qw(e);if(!a)return;return{openaiCompatible:a,[e.providerId]:a,...n!==e.providerId?{[n]:a}:{}}}var Vp=V(()=>{yn()});function iS(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 oo(e){let{providerId:t,providerOptionsKey:n,bucketOptions:a}=e,i=n!==t&&n!=="anthropic";return{[t]:a,...i?{[n]:a}:{}}}function nS(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 Yp(e){let t={thinking:{type:e.thinkingType}};return{...oo({providerId:e.providerId,providerOptionsKey:e.providerOptionsKey,bucketOptions:t}),openaiCompatible:t}}function rS(e){return e.toLowerCase().includes("moonshotai/kimi-")}function Qp(e){return X(e)?.trim().toLowerCase()==="kimi-k2.6"}function aS(e){return X(e)?.trim().toLowerCase().includes("deepseek")===!0}function oS(e,t){return qp.some((n)=>n.matches(e,t))}function sS(e,t){let n=qp.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 uS(e,t){if(Bp(e,t)||oS(e,t))return{};if(e.reasoning?.enabled!==!0)return{};let a=$e({modelId:e.modelId,family:X(t)})?lt(e,t):void 0;if(a&&a.kind!=="anthropic-adaptive")return{};return{thinking:{type:"adaptive"}}}function lS(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 ev(e){return["openai-native","openai"].includes(e.providerId)?{truncation:"auto"}:{}}function dS(e){let{request:t,context:n,isAnthropicCompatibleModelId:a,target:i}=e,r=a?lt(t,n):void 0,o=Wp(t,n),s=Yt(t,n)?Ee():{};return{...i==="openai-compatible"?{strictJsonSchema:!1}:{},...uS(t,n),...lS({reasoning:t.reasoning,isAnthropicCompatibleModelId:a,anthropicReasoningPolicyKind:r?.kind}),...o?{reasoning:o}:{},...s,...ev(t)}}function cS(e,t){if(t!=="openai")return;return{openai:{strictJsonSchema:!1,...ev(e)}}}function mS(e,t){return{anthropic:t,openaiCompatible:e}}function fS(e,t,n){if(e.providerId!=="openai-codex")return;let a={...n,instructions:e.systemPrompt,store:!1,strictJsonSchema:!1,systemMessageMode:"remove"};return{openai:a,...oo({providerId:e.providerId,providerOptionsKey:t,bucketOptions:a})}}function pS(e,t,n,a,i){if(i==="openai")return;if(eS.has(e.providerId))return;let r=e.providerId==="cline"?Hp(e,t):void 0;return oo({providerId:e.providerId,providerOptionsKey:n,bucketOptions:{...a,...r?{reasoning:r}:{}}})}function vS(e){if(!(e.providerId==="google"||e.providerId==="gemini")||!e.reasoning?.effort)return;return{google:{thinkingConfig:{thinkingLevel:e.reasoning.effort,includeThoughts:!0}}}}function gS(e){let{request:t,context:n,providerOptionsKey:a}=e;if(t.reasoning?.enabled!==!1)return;if(!rS(t.modelId))return;if(Qp(n))return;if(!tS.has(t.providerId))return;return Yp({providerId:t.providerId,providerOptionsKey:a,thinkingType:"disabled"})}function hS(e){let{request:t,context:n,providerOptionsKey:a}=e,i=sS(t,n);if(!i)return;return Yp({providerId:t.providerId,providerOptionsKey:a,thinkingType:i})}function tv(e,t,n=nS(e.providerId)){let a=hn(e.providerId),i=$e({modelId:e.modelId,family:X(t)}),r=dS({request:e,context:t,isAnthropicCompatibleModelId:i,target:n}),o=Gp(e,t),s=[mS(r,o),cS(e,n),fS(e,a,r),pS(e,t,a,r,n),vS(e),gS({request:e,context:t,providerOptionsKey:a}),hS({request:e,context:t,providerOptionsKey:a}),Xp(e,t,a)];return iS(s)}var eS,tS,qp;var iv=V(()=>{yn();Vp();eS=new Set(["anthropic","openai-codex","google"]),tS=new Set(["cline","openrouter"]);qp=[{matches:(e,t)=>Qp(t),defaultWhenUnset:"enabled"},{matches:(e,t)=>aS(t)||e.providerId==="deepseek",defaultWhenUnset:void 0}]});var sv={};se(sv,{resetLangfuseTelemetryForTests:()=>kS,hasLangfuseTelemetryConfig:()=>av,ensureLangfuseTelemetry:()=>yS,disposeLangfuseTelemetry:()=>ov,debugLangfuse:()=>de});function rv(){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 av(){return rv()!==void 0}async function yS(e){if(!av())return!1;if(Je!==void 0)return de(`cached readiness=${String(Je)}`),Je;if(!$n)$n=bS();return Je=await $n,de(`initialized readiness=${String(Je)}`),Je}async function bS(){let{registerDisposable:e}=await Promise.resolve().then(() => (gn(),Fp));e(ov);let t=rv();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=nv(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=nv(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 nv(e){let a=e.getTracerProvider().getDelegate?.()?.constructor?.name;return Boolean(a&&a!=="NoopTracerProvider")}async function $S(){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 ov(){try{await $S();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(!_S())return;console.warn(`[langfuse-debug] ${e}`)}function _S(){let e=process.env.CLINE_DEBUG_LANGFUSE;if(!e)return!1;let t=e.trim().toLowerCase();return t==="1"||t==="true"||t==="yes"}function kS(){Je=void 0,$n=void 0}var Je,$n;async function G(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=wS(i);if(r)return r}return}function wS(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 uv={};se(uv,{createOpenAIProviderModule:()=>IS});import{createOpenAI as SS}from"@ai-sdk/openai";async function IS(e,t){let n=await G(e),a=SS({apiKey:n,baseURL:e.baseUrl,headers:e.headers,fetch:e.fetch,name:t.provider.id});return{model:(i)=>a.responses(i)}}var lv=()=>{};function xS(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 zS(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 US(e){if(e.type!=="content")return null;let t=[],n=[];for(let a of e.value){if(!xS(a)){n.push(a);continue}let i=zS(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 ES(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=US(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 _n;var so=V(()=>{_n={specificationVersion:"v3",transformParams:async({params:e})=>{let{prompt:t,mutated:n}=ES(e.prompt);if(!n)return e;return{...e,prompt:t}}}});var dv={};se(dv,{createOpenAICompatibleProviderModule:()=>jS});import{createOpenAICompatible as PS}from"@ai-sdk/openai-compatible";import{wrapLanguageModel as TS}from"ai";async function jS(e,t){let n=await G(e),a=PS({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)=>TS({model:a(i),middleware:_n})}}var cv=V(()=>{so()});var mv={};se(mv,{createAnthropicProviderModule:()=>NS});import{createAnthropic as OS}from"@ai-sdk/anthropic";async function NS(e,t){let n=await G(e),a=OS({apiKey:n,headers:e.headers,fetch:e.fetch,name:t.provider.id});return{model:(i)=>a(i)}}var fv=()=>{};var pv={};se(pv,{createGoogleProviderModule:()=>DS});import{createGoogleGenerativeAI as AS}from"@ai-sdk/google";async function DS(e,t){let n=await G(e),a=AS({apiKey:n,headers:e.headers,fetch:e.fetch,name:t.provider.id});return{model:(i)=>a(i)}}var vv=()=>{};var gv={};se(gv,{createVertexProviderModule:()=>RS});import{createVertex as ZS}from"@ai-sdk/google-vertex";import{createVertexAnthropic as CS}from"@ai-sdk/google-vertex/anthropic";async function RS(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=CS({project:n,location:a,baseURL:e.baseUrl,headers:e.headers,fetch:e.fetch});return{model:(o)=>r(o)}}let i=ZS({project:n,location:a,apiKey:await G(e),baseURL:e.baseUrl,headers:e.headers,fetch:e.fetch});return{model:(r)=>i(r)}}var hv=()=>{};var yv={};se(yv,{createBedrockProviderModule:()=>LS});import{createAmazonBedrock as MS}from"@ai-sdk/amazon-bedrock";async function LS(e){let t=typeof e.options?.credentialProvider==="function"?e.options.credentialProvider:void 0,n=MS({region:e.options?.region,apiKey:await G(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 bv=()=>{};var $v={};se($v,{createMistralProviderModule:()=>KS});import{createMistral as FS}from"@ai-sdk/mistral";import{wrapLanguageModel as JS}from"ai";async function KS(e){let t=FS({apiKey:await G(e),baseURL:e.baseUrl,headers:e.headers,fetch:e.fetch});return{model:(n)=>JS({model:t(n),middleware:_n})}}var _v=V(()=>{so()});var Qt={};se(Qt,{listOpenAICodexModels:()=>YS,createOpenCodeProviderModule:()=>qS,createOpenAICodexProviderModule:()=>VS,createDifyProviderModule:()=>eI,createClaudeCodeProviderModule:()=>XS});import{createClaudeCode as GS}from"ai-sdk-provider-claude-code";import{createCodexAppServer as WS,createCodexExec as HS}from"ai-sdk-provider-codex-cli";import{createDifyProvider as BS}from"dify-ai-provider";function kn(e){return e.options??{}}async function XS(e){let t=GS(kn(e));return{model:(n)=>t(n)}}async function VS(e){let t=HS(kn(e));return{model:(n)=>t(n)}}async function YS(e={}){let t=e.accessToken&&e.accountId?{onAuthRefresh:async()=>({accessToken:e.accessToken,chatgptAccountId:e.accountId,chatgptPlanType:null})}:void 0,n=WS({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 QS(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 qS(e){let t=await QS(async()=>{let{createOpencode:n}=await import("ai-sdk-provider-opencode-sdk");return n(kn(e))});return{model:(n)=>t(n)}}async function eI(e){let t=await G(e),n=BS({baseURL:e.baseUrl,headers:e.headers,fetch:e.fetch,...kn(e)});return{model:(a)=>n(a,{apiKey:t})}}var qt=()=>{};var oe={};se(oe,{normalizeUsage:()=>Uv,createVertexProvider:()=>zn,createOpenCodeProvider:()=>po,createOpenAIProvider:()=>wn,createOpenAICompatibleProvider:()=>Sn,createOpenAICodexProvider:()=>fo,createMistralProvider:()=>co,createGoogleProvider:()=>xn,createDifyProvider:()=>vo,createClaudeCodeProvider:()=>mo,createBedrockProvider:()=>Un,createAnthropicProvider:()=>In});import{jsonSchema as tI,streamText as iI}from"ai";import{nanoid as kv}from"nanoid";import{z as nI}from"zod";function rI(e,t,n){let a=Sv(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"){Kp(a[r],e.providerId,i);break}return a}async function aI(e){try{return(await Promise.resolve().then(() => sv)).ensureLangfuseTelemetry(e)}catch{return!1}}function Sv(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 eo(t,n,{assistantToolCallArgKey:"input"})}function oI(e){if(!e.tools?.length)return;return Object.fromEntries(e.tools.map((t)=>[t.name,{description:t.description,inputSchema:tI(sI(t.inputSchema),{validate:async(n)=>{let a=await nI.fromJSONSchema(t.inputSchema).safeParseAsync(n);return a.success?{success:!0,value:a.data}:{success:!1,error:a.error}}})}]))}function sI(e){if(e.type==="object")return e;return{type:"object",...e}}function Iv(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 zv(e){return xv(e.metadata,{toolSource:{providerId:e.request.providerId,modelId:e.request.modelId,executionMode:Iv(e.context)?"provider":"runtime"}})}function uI(e){return zv({metadata:xv(lo(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 dI(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 Ke(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 uo(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 cI(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 mI(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 Uv(e,t,n){let a=e&&typeof e==="object"?e:{},i=cI(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:Ke(a,"inputTokens","input_tokens","prompt_tokens"),outputTokens:Ke(a,"outputTokens","output_tokens","completion_tokens"),cacheReadTokens:uo(a,"inputTokenDetails","cacheReadTokens")||Ke(a,"cachedInputTokens","cacheReadTokens","cache_read_tokens","cache_read_input_tokens")||uo(a,"prompt_tokens_details","cached_tokens")||Ke(i??{},"cachedInputTokens","cacheReadTokens","cache_read_tokens","cache_read_input_tokens"),cacheWriteTokens:uo(a,"inputTokenDetails","cacheWriteTokens")||Ke(a,"cacheWriteTokens","cache_write_tokens","cache_creation_input_tokens")||Ke(s,"cacheWriteTokens","cache_write_tokens","cache_creation_input_tokens")||Ke(i??{},"cacheWriteTokens","cache_write_tokens","cache_creation_input_tokens")},y=v!==void 0?v:p?void 0:mI(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 lo(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*fI(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:lo(f)};continue}if(f.type==="tool-call"){r=!0;let y=f.toolCallId??f.id??`tool_${kv()}`;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:zv({metadata:lo(f),request:t,context:n})};continue}if(f.type==="tool-error"){r=!0;let y=f.toolCallId??f.id??`tool_${kv()}`,k=o.has(y);o.add(y);let T=f.toolName??f.name??"tool",j=f.input??f.args??{},M=typeof j==="string"?j:JSON.stringify(j),S=f.error===void 0?"Tool input was rejected by the model adapter":Fe(f.error);yield{type:"tool-call-delta",toolCallId:y,toolName:T,input:k?void 0:typeof j==="string"?void 0:j,inputText:k?void 0:M,metadata:uI({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??Fe(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??Fe(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??Fe(f);p=d,v=c}else p=d,v=c;if(p)yield{type:"usage",usage:Uv(p,v,a)};yield{type:"finish",reason:l?"error":dI(s,r),error:l}}async function pI(e,t,n){switch(e){case"openai":{let{createOpenAIProviderModule:a}=await Promise.resolve().then(() => (lv(),uv));return a(t,n)}case"openai-compatible":{let{createOpenAICompatibleProviderModule:a}=await Promise.resolve().then(() => (cv(),dv));return a(t,n)}case"anthropic":{let{createAnthropicProviderModule:a}=await Promise.resolve().then(() => (fv(),mv));return a(t,n)}case"google":{let{createGoogleProviderModule:a}=await Promise.resolve().then(() => (vv(),pv));return a(t,n)}case"vertex":{let{createVertexProviderModule:a}=await Promise.resolve().then(() => (hv(),gv));return a(t,n)}case"bedrock":{let{createBedrockProviderModule:a}=await Promise.resolve().then(() => (bv(),yv));return a(t)}case"mistral":{let{createMistralProviderModule:a}=await Promise.resolve().then(() => (_v(),$v));return a(t)}case"claude-code":{let{createClaudeCodeProviderModule:a}=await Promise.resolve().then(() => (qt(),Qt));return a(t)}case"openai-codex":{let{createOpenAICodexProviderModule:a}=await Promise.resolve().then(() => (qt(),Qt));return a(t)}case"opencode":{let{createOpenCodeProviderModule:a}=await Promise.resolve().then(() => (qt(),Qt));return a(t)}case"dify":{let{createDifyProviderModule:a}=await Promise.resolve().then(() => (qt(),Qt));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 pI(e,t,a),l=await aI(t.providerId),d=Iv(a)?void 0:oI(n),c=lI(n),p=typeof c==="string"&&c.trim().length>0,v=p?void 0:c;r=iI({model:s.model(a.model.id),messages:Yt(n,a)?rI(n,a,v):Sv(n.messages,v),...p?{system:c}:{},tools:d,temperature:n.temperature,maxOutputTokens:n.maxTokens,abortSignal:n.signal,experimental_telemetry:{isEnabled:l},providerOptions:tv(n,a,e),onError:({error:f})=>{let y=Fe(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*fI(r,n,a,a.model.metadata?.pricing,o)}catch(s){wv(r);let l=o.current??Fe(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 wn,Sn,In,xn,zn,Un,co,mo,fo,po,vo;var te=V(()=>{gn();yn();iv();wn=me("openai"),Sn=me("openai-compatible"),In=me("anthropic"),xn=me("google"),zn=me("vertex"),Un=me("bedrock"),co=me("mistral"),mo=me("claude-code"),fo=me("openai-codex"),po=me("opencode"),vo=me("dify")});var ft;((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"})(ft||={});var ug={openai:"openai-native",togetherai:"together","sap-ai-core":"sapaicore"},oi=Object.values(ft);function jn(e){return oi.includes(e)}function H(e){let t=e.trim();return ug[t]??t}function si(e){return H(e.routingProviderId??e.providerId)}te();import{nanoid as xo}from"nanoid";gn();var go={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 Pv=[{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 Ev(e){return[...new Set(e)]}var Tv=Object.fromEntries(Pv.flatMap((e)=>e.generatedProviderId?[[e.modelsDevKey,e.generatedProviderId]]:[]));function qx(e){let t=Pv.flatMap((n)=>{if(!n.generatedProviderId)return[];if(n.generatedProviderId===e||n.runtimeProviderId===e)return[n.generatedProviderId];return[]});if(e==="nousResearch")return Ev([...t,"nousresearch",e]);return Ev([...t,e])}var vI=4096,gI=4096;function jv(e){if(!e)return Number.NEGATIVE_INFINITY;let t=Date.parse(e);return Number.isNaN(t)?Number.NEGATIVE_INFINITY:t}function En(e){return Object.fromEntries(Object.entries(e).sort(([t,n],[a,i])=>{let r=jv(n.releaseDate),o=jv(i.releaseDate);if(r!==o)return o-r;return t.localeCompare(a)}))}function hI(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 yI(e){if(e==="active"||e==="preview"||e==="deprecated"||e==="legacy")return e;return}function bI(e,t){let n=t.limit?.context??vI,a=t.limit?.output??gI,i=n===a?a*0.05:a;return{id:e,name:t.name||e,contextWindow:n,maxTokens:Math.floor(i),capabilities:hI(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:yI(t.status),releaseDate:t.release_date,family:t.family}}function $I(e){return e.status==="deprecated"}function _I(e){let t={};for(let[n,a]of Object.entries(Tv)){let i=e[n];if(!i?.models)continue;let r={};for(let[o,s]of Object.entries(i.models)){if(s.tool_call!==!0||$I(s))continue;r[o]=bI(o,s)}if(Object.keys(r).length>0)t[a]=En(r)}return t}async function i0(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 _I(a)}var Ov,Nv=new Map;function o0(){return Ov??=Object.fromEntries(Object.entries(go.providers).map(([e,t])=>[e,En(t)])),Ov}function Av(e){let t=Nv.get(e);if(t)return t;let n=En(go.providers[e]??{});return Nv.set(e,n),n}var kI="https://code.aiservice.us-chicago-1.oci.oraclecloud.com/20250206/app/litellm";function wI(e){return Object.fromEntries(Object.entries(e).map(([t,n])=>[t,{...n}]))}function yo(e){return wI(Av(e))}function ho(e){let t=Object.entries(yo("anthropic")).find(([n])=>e(n));if(t)return t[1];return{id:"sonnet",name:"Claude Sonnet",capabilities:["streaming","reasoning"]}}function SI(){function e(t){return{...t==="opus"?ho((a)=>a.includes("opus")):t==="haiku"?ho((a)=>a.includes("haiku")):ho((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 II(){let e=yo("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 xI(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 zI(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 UI(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 EI=[{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`${io().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:kI},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"}}],bo=[{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:II,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:SI,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:()=>({})},...EI];function PI(e){if(e.modelsFactory)return e.modelsFactory();if(e.modelsProviderId)return yo(e.modelsProviderId);return{}}function Dv(e){let t=PI(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??zI(e),baseUrl:e.defaults?.baseUrl,modelsSourceUrl:e.modelsSourceUrl,defaultModelId:i,capabilities:e.capabilities,env:e.apiKeyEnv?[...e.apiKeyEnv]:void 0,client:e.client??UI(e),source:"system",metadata:e.metadata},models:n}}function Zv(e){let t=Dv(e),n=Object.values(t.models).map((i)=>xI(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 $o=bo.map(Dv),d0=Object.fromEntries($o.map((e)=>[e.provider.id,e]));var Cv=new Map;async function TI(e){let t=Cv.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 Cv.set(e,n),n}function jI(e){if(e.family==="openai"||e.protocol==="openai-responses"||e.client==="openai")return"openai";return e.family}var ei=bo.map((e)=>({manifest:Zv(e),defaults:{...e.defaults,apiKeyEnv:e.apiKeyEnv,baseUrl:e.defaults?.baseUrl},loadProvider:async()=>({createProvider:await TI(jI(e))})}));async function*Rv(e){for await(let t of e)yield t}function Mv(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 OI(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 NI(e,t){return{id:t,name:t,providerId:e.id}}class _o{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:Mv(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=OI(t.manifest,n),i=n?.defaultModelId??t.manifest.defaultModelId??a[0]?.id;if(!i)return;return{...Mv(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)??NI(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 Lv{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 Fv{registry;logger;constructor(e={}){if(this.registry=new _o(e.fetch),this.logger=e.logger,e.builtins!==!1){let t=new Set(e.builtins??ei.map((n)=>n.manifest.id));for(let n of ei)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 Lv(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 Rv(i)}}function ko(e){return new Fv(e)}function AI(){let e=new Map;for(let t of $o)e.set(t.provider.id,{provider:{...t.provider},models:Object.fromEntries(Object.entries(t.models).map(([n,a])=>[n,{...a}]))});return e}var ti=AI(),dt=new Map,We=new Map;function Ge(e){return We.get(e)??ti.get(e)}function Jv(){let e=Array.from(ti.keys()),t=Array.from(We.keys()).filter((n)=>!ti.has(n));return[...e,...t]}function _0(e){return ti.has(e)||We.has(e)}async function k0(e){return Ge(e)?.provider}function wo(e){return Ge(e)}async function So(e){return Ge(e)}async function w0(e){let n=Ge(e)?.models??{},a=dt.get(e);if(a)return{...n,...Object.fromEntries(a)};return n}async function S0(){return Jv().map((e)=>Ge(e)?.provider).filter((e)=>e!==void 0)}function I0(e){We.set(e.provider.id,e)}function x0(e,t,n){if(!dt.has(e))dt.set(e,new Map);dt.get(e)?.set(t,{...n,id:t})}function z0(e){return dt.delete(e),We.delete(e)}function U0(){dt.clear(),We.clear()}var E0=new Proxy({},{get(e,t){return Ge(t)},has(e,t){return ti.has(t)||We.has(t)},ownKeys(){return Jv()},getOwnPropertyDescriptor(e,t){let n=Ge(t);if(n===void 0)return;return{configurable:!0,enumerable:!0,value:n}}});var ct=new Map(ei.map((e)=>[e.manifest.id,e]));function DI(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 zo(e,t){return{id:t.id,name:t.name??t.id,description:t.description,providerId:e,contextWindow:t.contextWindow,maxOutputTokens:t.maxTokens,capabilities:DI(t.capabilities),metadata:{family:t.family,pricing:t.pricing,status:t.status,releaseDate:t.releaseDate}}}function Kv(e,t){if(t?.client==="openai"||t?.protocol==="openai-responses")return wn;switch(t?.client){case"anthropic":return In;case"gemini":return xn;case"vertex":return zn;case"bedrock":return Un;case"openai-compatible":return Sn}switch(H(e)){case"openai-codex":case"openai-native":return wn;case"anthropic":case"minimax":return In;case"gemini":return xn;case"vertex":return zn;case"bedrock":return Un;case"mistral":return co;case"claude-code":return mo;case"openai-codex-cli":return fo;case"opencode":return po;case"dify":return vo;default:return Sn}}async function ZI(e){let t=H(e.providerId),n=H(si(e));if(ct.get(t)&&t===n)return;let i=await So(t)??(t!==n?await So(n):void 0);if(!i){let o=ct.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=ct.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)=>zo(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??Kv(n,{client:e.clientType??i.provider.client,protocol:i.provider.protocol}),loadProvider:r?.loadProvider}}function CI(e){let t=H(e.providerId),n=H(si(e));if(ct.get(t)&&t===n)return;let i=wo(t)??(t!==n?wo(n):void 0);if(!i){let o=ct.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=ct.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)=>zo(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??Kv(n,{client:e.clientType??i.provider.client,protocol:i.provider.protocol}),loadProvider:r?.loadProvider}}function RI(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:xo(),role:n.role,content:a,createdAt:Date.now()}})}function MI(e){return e?.map((t)=>({name:t.name,description:t.description,inputSchema:t.inputSchema}))}function Io(e,t,n,a,i){return{providerId:H(e.providerId),modelId:e.modelId,systemPrompt:t,messages:RI(n),tools:MI(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 Gv(e){let t=H(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=zo(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 Wv(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 LI(e){return e.modelInfo??(e.modelId?e.knownModels?.[e.modelId]:void 0)??{id:e.modelId,name:e.modelId,capabilities:["streaming"]}}class Uo{config;abortSignal;constructor(e){this.config=e;this.abortSignal=e.abortSignal}getMessages(e,t){return Io(this.config,e,t,void 0,this.abortSignal)}createMessage(e,t,n){let a=ko({providerConfigs:[Gv(this.config)],fetch:this.config.fetch,logger:this.config.logger??this.config.extensionContext?.logger}),i=CI(this.config);if(i)a.registerProvider(i);let r=Io(this.config,e,t,n,this.abortSignal),o=`gw_${xo(10)}`,s=async function*(){for await(let l of await a.stream(r))yield Wv(o,l)}();return s.id=o,s}getModel(){return{id:this.config.modelId,info:LI(this.config)}}abort(){}setAbortSignal(e){this.abortSignal=e}}function Hv(e){return new Uo(e)}async function Bv(e){let t=ko({providerConfigs:[Gv(e)],fetch:e.fetch,logger:e.logger??e.extensionContext?.logger}),n=await ZI(e);if(n)t.registerProvider(n);return new class extends Uo{createMessage(a,i,r){let o=Io(e,a,i,r,e.abortSignal),s=`gw_${xo(10)}`,l=async function*(){for await(let d of await t.stream(o))yield Wv(s,d)}();return l.id=s,l}}(e)}var mt=new Map;function FI(e,t){mt.set(e,{factory:t,isAsync:!1})}function JI(e,t){mt.set(e,{factory:t,isAsync:!0})}function Eo(e){return mt.has(e)}function Xv(e,t){let n=mt.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 Vv(e,t){let n=mt.get(e);if(!n)return;if(n.isAsync)return n.factory(t);return n.factory(t)}function Yv(e){return mt.get(e)?.isAsync??!1}function Qv(e){let t=H(e.providerId),n=e.routingProviderId?H(e.routingProviderId):void 0;if(t===e.providerId&&n===e.routingProviderId)return e;return{...e,providerId:t,routingProviderId:n}}function J0(e){let t=Qv(e),{providerId:n}=t;if(Eo(n)){if(Yv(n))throw Error(`Handler for "${n}" is registered as async. Use createHandlerAsync() instead.`);let a=Xv(n,t);if(a)return a}return Hv(t)}async function K0(e){let t=Qv(e),{providerId:n}=t;if(Eo(n)){let a=await Vv(n,t);if(a)return a}return Bv(t)}export{FI as registerHandler,JI as registerAsyncHandler,H as normalizeProviderId,jn as isBuiltInProviderId,K0 as createHandlerAsync,J0 as createHandler,oi as BUILT_IN_PROVIDER_IDS,ft as BUILT_IN_PROVIDER};
|