@knightcodeai/cli 0.18.4 → 0.19.0
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/CHANGELOG.md +54 -0
- package/dist/bundle/chunks/anthropic-messages-34POCEPV.js +6 -0
- package/dist/bundle/chunks/azure-openai-responses-ZZQJJY7B.js +2 -0
- package/dist/bundle/chunks/bedrock-converse-stream.js +2 -2
- package/dist/bundle/chunks/{chunk-3PSTVJEH.js → chunk-2QXUEOVY.js} +1 -1
- package/dist/bundle/chunks/{chunk-L2XRQUGK.js → chunk-3QKQRXCZ.js} +4 -4
- package/dist/bundle/chunks/chunk-AA6MLWWY.js +2 -0
- package/dist/bundle/chunks/{chunk-NGWSYXD5.js → chunk-BTRAS32C.js} +2 -2
- package/dist/bundle/chunks/{chunk-GCXF7ZNR.js → chunk-C62RVFZT.js} +2 -2
- package/dist/bundle/chunks/{chunk-MXIWLMNT.js → chunk-CCP7VAJU.js} +1 -1
- package/dist/bundle/chunks/{chunk-XILUO467.js → chunk-GPHSXYPT.js} +1 -1
- package/dist/bundle/chunks/{chunk-FG6M5B3F.js → chunk-IIS4JDFO.js} +153 -119
- package/dist/bundle/chunks/{chunk-3B66IKOZ.js → chunk-JSLSFYBX.js} +1 -1
- package/dist/bundle/chunks/{chunk-HRZGVTRM.js → chunk-KRDGPCZM.js} +1 -1
- package/dist/bundle/chunks/{chunk-SLWTIEJK.js → chunk-OQHO44L6.js} +1 -1
- package/dist/bundle/chunks/chunk-R7X2RAGR.js +30 -0
- package/dist/bundle/chunks/{chunk-T6M3FJYR.js → chunk-RZDCZFG7.js} +1 -1
- package/dist/bundle/chunks/{chunk-3VVG5HD5.js → chunk-T47GKPON.js} +2 -2
- package/dist/bundle/chunks/chunk-UU4A4NV5.js +2 -0
- package/dist/bundle/chunks/{cli-AMSWLH7A.js → cli-SIPOI5P3.js} +1 -1
- package/dist/bundle/chunks/cloudflare-workers-ai-system-one-QHP5M5HC.js +2 -0
- package/dist/bundle/chunks/{easter-egg-3d-VH6SGOZS.js → easter-egg-3d-BVWLABZN.js} +1 -1
- package/dist/bundle/chunks/{execute-4UQWU4SD.js → execute-6UIHV2DR.js} +1 -1
- package/dist/bundle/chunks/github-copilot.js +1 -1
- package/dist/bundle/chunks/google-generative-ai-RFCCCXK6.js +2 -0
- package/dist/bundle/chunks/google-vertex-WN3JAZCD.js +2 -0
- package/dist/bundle/chunks/knightcode-messages-57CV36UV.js +8 -0
- package/dist/bundle/chunks/{llama-cpp-classify-HRPRKOZA.js → llama-cpp-classify-FEWC5ZIH.js} +2 -2
- package/dist/bundle/chunks/{mistral-conversations-NUSSE6NX.js → mistral-conversations-GIGX6BW6.js} +1 -1
- package/dist/bundle/chunks/openai-codex-responses-3Y7R752C.js +10 -0
- package/dist/bundle/chunks/openai-completions-HBXENZUJ.js +7 -0
- package/dist/bundle/chunks/{openai-decisions-ENPSYANO.js → openai-decisions-MLI3SMFN.js} +1 -1
- package/dist/bundle/chunks/openai-responses-BNRA5YTD.js +4 -0
- package/dist/bundle/chunks/openrouter-images-JWVDFQJ4.js +2 -0
- package/dist/bundle/chunks/{runtime-IU2Z5WWF.js → runtime-AROIXIAV.js} +1 -1
- package/dist/bundle/chunks/typesafe-system-one-5LELZY2F.js +2 -0
- package/dist/bundle/chunks/{virtual-modules-AK4BYDR6.js → virtual-modules-IYKQM2DL.js} +1 -1
- package/dist/bundle/cli-runtime.js +1 -1
- package/docs/app-server.md +288 -8
- package/docs/app-server.schema.json +5414 -1636
- package/docs/desktop.md +19 -4
- package/docs/settings.md +53 -0
- package/package.json +1 -1
- package/dist/bundle/chunks/anthropic-messages-VD2GN7C4.js +0 -6
- package/dist/bundle/chunks/azure-openai-responses-6IJ5JZ3Y.js +0 -2
- package/dist/bundle/chunks/chunk-4DOSUUX3.js +0 -30
- package/dist/bundle/chunks/chunk-CRLO4X52.js +0 -2
- package/dist/bundle/chunks/chunk-HHWP56PR.js +0 -2
- package/dist/bundle/chunks/cloudflare-workers-ai-system-one-JBMTTHVI.js +0 -2
- package/dist/bundle/chunks/google-generative-ai-QBWYWMCA.js +0 -2
- package/dist/bundle/chunks/google-vertex-4KVZWEAI.js +0 -2
- package/dist/bundle/chunks/knightcode-messages-3GNOTMSI.js +0 -8
- package/dist/bundle/chunks/openai-codex-responses-66UQNGWB.js +0 -10
- package/dist/bundle/chunks/openai-completions-QTYKORY2.js +0 -7
- package/dist/bundle/chunks/openai-responses-JSX72BKV.js +0 -3
- package/dist/bundle/chunks/openrouter-images-ZI7LLZ4Y.js +0 -2
- package/dist/bundle/chunks/typesafe-system-one-ETHWOYKC.js +0 -2
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { createRequire as __kcCreateRequire } from "node:module"; const require = __kcCreateRequire(import.meta.url);
|
|
2
|
-
import{ArrayOptions,Clone,DEFAULT_MAX_AGENT_RETRY_DELAY_MS,Evaluate,Flatten,Get,Instantiate,Intersect,IsArray,IsBigInt,IsBoolean,IsCodec,IsConstructor,IsCyclic,IsEnum,IsFunction,IsInteger,IsIntersect,IsLiteral,IsLiteralBigInt,IsLiteralBoolean,IsLiteralNumber,IsLiteralString,IsNever,IsNull,IsNumber,IsObject,IsOptional,IsRecord,IsRef,IsRefine,IsSchema,IsString,IsSymbol,IsTemplateLiteral,IsTuple,IsUndefined,IsUnion,IsVoid,Literal,Priority,Record,RecordKey,RecordPattern,RecordValue,Ref,String as String2,TemplateLiteralDecode,Tuple,Union,Unknown,Unreachable,With,_Array_,_Object_,arguments_exports,emit_exports,environment_exports,globals_exports,guard_default,guard_exports,hash_exports,isRetryableAssistantError,retryAssistantCall,retryDelayMs,settings_exports,typebox_exports}from"./chunk-MXIWLMNT.js";import{AuthStorage,FileAuthStorageBackend,getConfigValueEnvVarNames,isCommandConfigValue,isConfigValueConfigured,mcpNamespace,operationSignal,raceWithAbortSignal,require_proper_lockfile,resolveConfigValueOrThrow,resolveHeadersOrThrow,validateMcpServerConfig}from"./chunk-NGWSYXD5.js";import{CONFIG_DIR_NAME,VERSION,canonicalizePath,getAgentDir,getFileRevision,normalizePath,resolvePath,stripBom}from"./chunk-BPNRVFVQ.js";import{cleanupSessionResources,registerSessionResourceCleanup,uuidv7}from"./chunk-NDQ5OW6U.js";import{ANTHROPIC_API_KEY_ENV,ANTHROPIC_AUTH_TOKEN_ENV,ANTHROPIC_FEDERATION_RULE_ID_ENV,ANTHROPIC_IDENTITY_TOKEN_FILE_ENV,ANTHROPIC_OAUTH_TOKEN_ENV,ANTHROPIC_ORGANIZATION_ID_ENV,ANTHROPIC_SERVICE_ACCOUNT_ID_ENV,ANTHROPIC_WORKSPACE_ID_ENV,findEnvKeys,getEnvApiKey}from"./chunk-HSL72VZI.js";import{resolveAzureBaseUrl,resolveDeploymentName}from"./chunk-AANBXVWQ.js";import{parseJsonWithRepair,parseStreamingJson,parseToolCallArguments,repairJson}from"./chunk-FA32X2UJ.js";import{AI_TELEMETRY_SCHEMA,InMemoryCredentialStore,InMemoryModelsStore,ModelsError,assertChatModel,assertClassifierInputSupported,assertClassifierModel,assertImageModel,calculateCost,clampThinkingLevel,classifierErrorResult,collapseSystemMessages,contentText,createInitialSystemMessage,createModels,createProvider,declarationsEqual,defaultProviderAuthContext,getCurrentSystemMessage,getCurrentSystemPrompt,getCurrentTools,getDeclaredTools,getInitialSystemMessage,getModelType,getSupportedThinkingLevels,getSystemMessageText,getToolStateChanges,hasApi,hasNonAdditiveToolChanges,hasToolRedefinitions,imageErrorResult,isModelType,lazyApi,lazyStream,modelsAreEqual,normalizeContext,renderSystemMessageUpdate,resolveTranscript,resolveTranscriptTools,toToolDeclaration,withoutInitialSystemMessage}from"./chunk-3VVG5HD5.js";import{AssistantMessageEventStream,EventStream,appendAssistantMessageDiagnostic,createAssistantMessageDiagnostic,createAssistantMessageEventStream,extractDiagnosticError,formatThrownValue}from"./chunk-ETOMYYZC.js";import{__export,__toESM}from"./chunk-AHB7JV5B.js";var value_exports2={};__export(value_exports2,{Assert:()=>Assert,AssertError:()=>AssertError,Check:()=>Check2,Clean:()=>Clean,Clone:()=>Clone2,Convert:()=>Convert,Create:()=>Create,CreateError:()=>CreateError,Decode:()=>Decode9,DecodeError:()=>DecodeError,DecodeUnsafe:()=>DecodeUnsafe,Default:()=>Default,Delete:()=>Delete2,Diff:()=>Diff,Edit:()=>Edit,Encode:()=>Encode9,EncodeError:()=>EncodeError,EncodeUnsafe:()=>EncodeUnsafe,Equal:()=>Equal,Errors:()=>Errors2,HasCodec:()=>HasCodec,Hash:()=>Hash,Insert:()=>Insert,IsOptionalUndefined:()=>IsOptionalUndefined,Parse:()=>Parse,ParseError:()=>ParseError,Parser:()=>Parser,Patch:()=>Patch,Pipeline:()=>Pipeline,Pointer:()=>pointer_exports,Repair:()=>Repair,UnionPrioritySort:()=>UnionPrioritySort,UnionScoreSelect:()=>UnionScoreSelect,Update:()=>Update,Value:()=>value_exports,default:()=>value_default});function IsRefine2(value){return guard_exports.HasPropertyKey(value,"~refine")&&guard_exports.IsArray(value["~refine"])&&guard_exports.Every(value["~refine"],0,value2=>guard_exports.IsObject(value2)&&guard_exports.HasPropertyKey(value2,"check")&&guard_exports.HasPropertyKey(value2,"error")&&guard_exports.IsFunction(value2.check)&&guard_exports.IsFunction(value2.error))}function IsSchemaObject(value){return guard_exports.IsObject(value)&&!guard_exports.IsArray(value)}function IsSchemaBoolean(value){return guard_exports.IsBoolean(value)}function IsSchema2(value){return IsSchemaObject(value)||IsSchemaBoolean(value)}function IsAdditionalItems(schema){return guard_exports.HasPropertyKey(schema,"additionalItems")&&IsSchema2(schema.additionalItems)}function IsAdditionalProperties(schema){return guard_exports.HasPropertyKey(schema,"additionalProperties")&&IsSchema2(schema.additionalProperties)}function IsAllOf(schema){return guard_exports.HasPropertyKey(schema,"allOf")&&guard_exports.IsArray(schema.allOf)&&schema.allOf.every(value=>IsSchema2(value))}function IsAnchor(schema){return guard_exports.HasPropertyKey(schema,"$anchor")&&guard_exports.IsString(schema.$anchor)}function IsAnyOf(schema){return guard_exports.HasPropertyKey(schema,"anyOf")&&guard_exports.IsArray(schema.anyOf)&&schema.anyOf.every(value=>IsSchema2(value))}function IsConst(value){return guard_exports.HasPropertyKey(value,"const")}function IsContains(schema){return guard_exports.HasPropertyKey(schema,"contains")&&IsSchema2(schema.contains)}function IsDefault(schema){return guard_exports.HasPropertyKey(schema,"default")}function IsDependencies(schema){return guard_exports.HasPropertyKey(schema,"dependencies")&&guard_exports.IsObject(schema.dependencies)&&Object.values(schema.dependencies).every(value=>IsSchema2(value)||guard_exports.IsArray(value)&&value.every(value2=>guard_exports.IsString(value2)))}function IsDependentRequired(schema){return guard_exports.HasPropertyKey(schema,"dependentRequired")&&guard_exports.IsObject(schema.dependentRequired)&&Object.values(schema.dependentRequired).every(value=>guard_exports.IsArray(value)&&value.every(value2=>guard_exports.IsString(value2)))}function IsDependentSchemas(schema){return guard_exports.HasPropertyKey(schema,"dependentSchemas")&&guard_exports.IsObject(schema.dependentSchemas)&&Object.values(schema.dependentSchemas).every(value=>IsSchema2(value))}function IsDynamicAnchor(schema){return guard_exports.HasPropertyKey(schema,"$dynamicAnchor")&&guard_exports.IsString(schema.$dynamicAnchor)}function IsDynamicRef(schema){return guard_exports.HasPropertyKey(schema,"$dynamicRef")&&guard_exports.IsString(schema.$dynamicRef)}function IsElse(schema){return guard_exports.HasPropertyKey(schema,"else")&&IsSchema2(schema.else)}function IsEnum2(schema){return guard_exports.HasPropertyKey(schema,"enum")&&guard_exports.IsArray(schema.enum)}function IsExclusiveMaximum(schema){return guard_exports.HasPropertyKey(schema,"exclusiveMaximum")&&(guard_exports.IsNumber(schema.exclusiveMaximum)||guard_exports.IsBigInt(schema.exclusiveMaximum))}function IsExclusiveMinimum(schema){return guard_exports.HasPropertyKey(schema,"exclusiveMinimum")&&(guard_exports.IsNumber(schema.exclusiveMinimum)||guard_exports.IsBigInt(schema.exclusiveMinimum))}function IsFormat(schema){return guard_exports.HasPropertyKey(schema,"format")&&guard_exports.IsString(schema.format)}function IsId(schema){return guard_exports.HasPropertyKey(schema,"$id")&&guard_exports.IsString(schema.$id)}function IsIf(schema){return guard_exports.HasPropertyKey(schema,"if")&&IsSchema2(schema.if)}function IsItems(schema){return guard_exports.HasPropertyKey(schema,"items")&&(IsSchema2(schema.items)||guard_exports.IsArray(schema.items)&&schema.items.every(value=>IsSchema2(value)))}function IsItemsSized(schema){return IsItems(schema)&&guard_exports.IsArray(schema.items)}function IsMaximum(schema){return guard_exports.HasPropertyKey(schema,"maximum")&&(guard_exports.IsNumber(schema.maximum)||guard_exports.IsBigInt(schema.maximum))}function IsMaxContains(schema){return guard_exports.HasPropertyKey(schema,"maxContains")&&guard_exports.IsNumber(schema.maxContains)}function IsMaxItems(schema){return guard_exports.HasPropertyKey(schema,"maxItems")&&guard_exports.IsNumber(schema.maxItems)}function IsMaxLength(schema){return guard_exports.HasPropertyKey(schema,"maxLength")&&guard_exports.IsNumber(schema.maxLength)}function IsMaxProperties(schema){return guard_exports.HasPropertyKey(schema,"maxProperties")&&guard_exports.IsNumber(schema.maxProperties)}function IsMinimum(schema){return guard_exports.HasPropertyKey(schema,"minimum")&&(guard_exports.IsNumber(schema.minimum)||guard_exports.IsBigInt(schema.minimum))}function IsMinContains(schema){return guard_exports.HasPropertyKey(schema,"minContains")&&guard_exports.IsNumber(schema.minContains)}function IsMinItems(schema){return guard_exports.HasPropertyKey(schema,"minItems")&&guard_exports.IsNumber(schema.minItems)}function IsMinLength(schema){return guard_exports.HasPropertyKey(schema,"minLength")&&guard_exports.IsNumber(schema.minLength)}function IsMinProperties(schema){return guard_exports.HasPropertyKey(schema,"minProperties")&&guard_exports.IsNumber(schema.minProperties)}function IsMultipleOf(schema){return guard_exports.HasPropertyKey(schema,"multipleOf")&&(guard_exports.IsNumber(schema.multipleOf)||guard_exports.IsBigInt(schema.multipleOf))}function IsNot(schema){return guard_exports.HasPropertyKey(schema,"not")&&IsSchema2(schema.not)}function IsOneOf(schema){return guard_exports.HasPropertyKey(schema,"oneOf")&&guard_exports.IsArray(schema.oneOf)&&schema.oneOf.every(value=>IsSchema2(value))}function IsPattern(schema){return guard_exports.HasPropertyKey(schema,"pattern")&&(guard_exports.IsString(schema.pattern)||schema.pattern instanceof RegExp)}function IsPatternProperties(schema){return guard_exports.HasPropertyKey(schema,"patternProperties")&&guard_exports.IsObject(schema.patternProperties)&&Object.values(schema.patternProperties).every(value=>IsSchema2(value))}function IsPrefixItems(schema){return guard_exports.HasPropertyKey(schema,"prefixItems")&&guard_exports.IsArray(schema.prefixItems)&&schema.prefixItems.every(schema2=>IsSchema2(schema2))}function IsProperties(schema){return guard_exports.HasPropertyKey(schema,"properties")&&guard_exports.IsObject(schema.properties)&&Object.values(schema.properties).every(value=>IsSchema2(value))}function IsPropertyNames(schema){return guard_exports.HasPropertyKey(schema,"propertyNames")&&(guard_exports.IsObject(schema.propertyNames)||IsSchema2(schema.propertyNames))}function IsRecursiveAnchor(schema){return guard_exports.HasPropertyKey(schema,"$recursiveAnchor")&&guard_exports.IsBoolean(schema.$recursiveAnchor)}function IsRecursiveAnchorTrue(schema){return IsRecursiveAnchor(schema)&&guard_exports.IsEqual(schema.$recursiveAnchor,!0)}function IsRecursiveRef(schema){return guard_exports.HasPropertyKey(schema,"$recursiveRef")&&guard_exports.IsString(schema.$recursiveRef)}function IsRef2(schema){return guard_exports.HasPropertyKey(schema,"$ref")&&guard_exports.IsString(schema.$ref)}function IsRequired(schema){return guard_exports.HasPropertyKey(schema,"required")&&guard_exports.IsArray(schema.required)&&schema.required.every(value=>guard_exports.IsString(value))}function IsThen(schema){return guard_exports.HasPropertyKey(schema,"then")&&IsSchema2(schema.then)}function IsType(schema){return guard_exports.HasPropertyKey(schema,"type")&&(guard_exports.IsString(schema.type)||guard_exports.IsArray(schema.type)&&schema.type.every(value=>guard_exports.IsString(value)))}function IsUniqueItems(schema){return guard_exports.HasPropertyKey(schema,"uniqueItems")&&guard_exports.IsBoolean(schema.uniqueItems)}function IsUnevaluatedItems(schema){return guard_exports.HasPropertyKey(schema,"unevaluatedItems")&&IsSchema2(schema.unevaluatedItems)}function IsUnevaluatedProperties(schema){return guard_exports.HasPropertyKey(schema,"unevaluatedProperties")&&IsSchema2(schema.unevaluatedProperties)}function HasUnevaluatedFromObject(value){return IsUnevaluatedItems(value)||IsUnevaluatedProperties(value)||guard_exports.Some(guard_exports.Keys(value),key=>HasUnevaluatedFromUnknown(value[key]))}function HasUnevaluatedFromArray(value){return guard_exports.Some(value,value2=>HasUnevaluatedFromUnknown(value2))}function HasUnevaluatedFromUnknown(value){return guard_exports.IsArray(value)?HasUnevaluatedFromArray(value):guard_exports.IsObject(value)?HasUnevaluatedFromObject(value):!1}function HasUnevaluated(context,schema){return HasUnevaluatedFromUnknown(schema)||guard_exports.Some(guard_exports.Keys(context),key=>HasUnevaluatedFromUnknown(context[key]))}var BuildContext=class{constructor(hasUnevaluated){this.hasUnevaluated=hasUnevaluated}UseUnevaluated(){return this.hasUnevaluated}Push(){return emit_exports.Call(emit_exports.Member("context","Push"),[])}Pop(){return emit_exports.Call(emit_exports.Member("context","Pop"),[])}AddIndex(index3){return emit_exports.Call(emit_exports.Member("context","AddIndex"),[index3])}AddKey(key){return emit_exports.Call(emit_exports.Member("context","AddKey"),[key])}Merge(results){return emit_exports.Call(emit_exports.Member("context","Merge"),[results])}},CheckContext=class{constructor(){let indices=new Set,keys=new Set;this.stack=[{indices,keys}]}Push(){let indices=new Set,keys=new Set;return this.stack.push({indices,keys}),!0}Pop(){return this.stack.pop(),!0}AddIndex(index3){return this.GetIndices().add(index3),!0}AddKey(key){return this.GetKeys().add(key),!0}GetIndices(){return this.stack[this.stack.length-1].indices}GetKeys(){return this.stack[this.stack.length-1].keys}Merge(results){for(let context of results)context.GetIndices().forEach(value=>this.GetIndices().add(value)),context.GetKeys().forEach(value=>this.GetKeys().add(value));return!0}},ErrorContext=class extends CheckContext{constructor(){super(),this.errors=[]}AtCapacity(){return this.errors.length>=settings_exports.Get().maxErrors}AddError(error){return this.AtCapacity()||this.errors.push(error),!1}GetErrors(){return this.errors}};var state={identifier:"External",variables:[]};function CreateVariable(value){let call=`External[${state.variables.length}]`;return state.variables.push(value),call}function ResetExternal(){state.variables=[]}function GetExternal(){return{...state}}function BuildRefine(_stack,_context,schema,value){let refinements=CreateVariable(schema["~refine"].map(refinement=>refinement));return emit_exports.Every(refinements,emit_exports.Constant(0),["refinement","_"],emit_exports.Call(emit_exports.Member("refinement","check"),[value]))}function CheckRefine(_stack,_context,schema,value){return guard_exports.Every(schema["~refine"],0,(refinement,_)=>refinement.check(value))}function ErrorRefine(_stack,context,schemaPath,instancePath,schema,value){return guard_exports.EveryAll(schema["~refine"],0,(refinement,index3)=>refinement.check(value)||context.AddError({keyword:"~refine",schemaPath,instancePath,params:{index:index3,message:refinement.error(value)}}))}var index=0;function Unique(){return`var_${index++}`}function IsValid(schema){return IsItems(schema)&&guard_exports.IsArray(schema.items)}function BuildAdditionalItemsStandard(stack,context,schema,value){let[item,index3]=[Unique(),Unique()],isSchema=BuildSchemaPushStack(stack,context,schema.additionalItems,item),isLength=emit_exports.IsLessThan(index3,emit_exports.Constant(schema.items.length)),addIndex=context.AddIndex(index3);return emit_exports.Every(value,emit_exports.Constant(0),[item,index3],emit_exports.Or(isLength,emit_exports.And(isSchema,addIndex)))}function BuildAdditionalItemsFast(stack,context,schema,value){let[item,index3]=[Unique(),Unique()],isSchema=BuildSchemaPushStack(stack,context,schema.additionalItems,item),isLength=emit_exports.IsLessThan(index3,emit_exports.Constant(schema.items.length));return emit_exports.Every(value,emit_exports.Constant(0),[item,index3],emit_exports.Or(isLength,isSchema))}function BuildAdditionalItems(stack,context,schema,value){return IsValid(schema)?context.UseUnevaluated()?BuildAdditionalItemsStandard(stack,context,schema,value):BuildAdditionalItemsFast(stack,context,schema,value):emit_exports.Constant(!0)}function CheckAdditionalItems(stack,context,schema,value){return IsValid(schema)?guard_exports.Every(value,0,(item,index3)=>guard_exports.IsLessThan(index3,schema.items.length)||CheckSchemaPushStack(stack,context,schema.additionalItems,item)&&context.AddIndex(index3)):!0}function ErrorAdditionalItems(stack,context,schemaPath,instancePath,schema,value){return IsValid(schema)?guard_exports.Every(value,0,(item,index3)=>{let nextSchemaPath=`${schemaPath}/additionalItems`,nextInstancePath=`${instancePath}/${index3}`;return guard_exports.IsLessThan(index3,schema.items.length)||ErrorSchemaPushStack(stack,context,nextSchemaPath,nextInstancePath,schema.additionalItems,item)&&context.AddIndex(index3)}):!0}function UnicodeRegExp(pattern){return new RegExp(pattern,"u")}function IsAdditionalPropertiesIgnored(context,additionalProperties){return!context.UseUnevaluated()&&(guard_exports.IsEqual(additionalProperties,!0)||guard_exports.IsObject(additionalProperties)&&guard_exports.IsEqual(guard_exports.Keys(additionalProperties).length,0))}function GetPropertyKeyAsPattern(key){return`^${key.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}$`}function GetPropertiesPattern(schema){let patterns=[];return IsPatternProperties(schema)&&patterns.push(...guard_exports.Keys(schema.patternProperties)),IsProperties(schema)&&patterns.push(...guard_exports.Keys(schema.properties).map(GetPropertyKeyAsPattern)),guard_exports.IsEqual(patterns.length,0)?"(?!)":`(${patterns.join("|")})`}function CanAdditionalPropertiesFast(_context,schema,_value){return IsRequired(schema)&&IsProperties(schema)&&!IsPatternProperties(schema)&&guard_exports.IsEqual(schema.additionalProperties,!1)&&guard_exports.IsEqual(guard_exports.Keys(schema.properties).length,schema.required.length)}function BuildAdditionalPropertiesFast(_context,schema,value){return emit_exports.IsEqual(emit_exports.Member(emit_exports.Call(emit_exports.Member("Object","getOwnPropertyNames"),[value]),"length"),emit_exports.Constant(schema.required.length))}function BuildAdditionalPropertiesStandard(stack,context,schema,value){let[key,_index]=[Unique(),Unique()],regexp=CreateVariable(UnicodeRegExp(GetPropertiesPattern(schema))),isSchema=BuildSchemaPushStack(stack,context,schema.additionalProperties,`${value}[${key}]`),isKey=emit_exports.Call(emit_exports.Member(regexp,"test"),[key]),addKey=context.AddKey(key),guarded=context.UseUnevaluated()?emit_exports.Or(isKey,emit_exports.And(isSchema,addKey)):emit_exports.Or(isKey,isSchema);return emit_exports.Every(emit_exports.Keys(value),emit_exports.Constant(0),[key,_index],guarded)}function BuildAdditionalProperties(stack,context,schema,value){return IsAdditionalPropertiesIgnored(context,schema.additionalProperties)?emit_exports.Constant(!0):CanAdditionalPropertiesFast(context,schema,value)?BuildAdditionalPropertiesFast(context,schema,value):BuildAdditionalPropertiesStandard(stack,context,schema,value)}function CheckAdditionalProperties(stack,context,schema,value){let regexp=UnicodeRegExp(GetPropertiesPattern(schema));return guard_exports.Every(guard_exports.Keys(value),0,(key,_index)=>regexp.test(key)||CheckSchemaPushStack(stack,context,schema.additionalProperties,value[key])&&context.AddKey(key))}function ErrorAdditionalProperties(stack,context,schemaPath,instancePath,schema,value){let regexp=UnicodeRegExp(GetPropertiesPattern(schema)),additionalProperties=[];return guard_exports.EveryAll(guard_exports.Keys(value),0,(key,_index)=>{let nextSchemaPath=`${schemaPath}/additionalProperties`,nextInstancePath=`${instancePath}/${key}`,isAdditionalProperty=regexp.test(key)||ErrorSchemaPushStack(stack,context,nextSchemaPath,nextInstancePath,schema.additionalProperties,value[key])&&context.AddKey(key);return isAdditionalProperty||additionalProperties.push(key),isAdditionalProperty})||context.AddError({keyword:"additionalProperties",schemaPath,instancePath,params:{additionalProperties}})}function Reducer(stack,context,schemas,value,check){let results=emit_exports.ConstDeclaration("results","[]"),context_n=schemas.map((_schema,index3)=>emit_exports.ConstDeclaration(`context_${index3}`,emit_exports.New("CheckContext",[]))),condition_n=schemas.map((schema,index3)=>emit_exports.ConstDeclaration(`condition_${index3}`,emit_exports.Call(emit_exports.ArrowFunction(["context"],BuildSchema(stack,context,schema,value)),[`context_${index3}`]))),checks=schemas.map((_schema,index3)=>emit_exports.If(`condition_${index3}`,emit_exports.Call(emit_exports.Member("results","push"),[`context_${index3}`]))),returns=emit_exports.Return(emit_exports.And(check,context.Merge("results")));return emit_exports.Call(emit_exports.ArrowFunction([],emit_exports.Statements([results,...context_n,...condition_n,...checks,returns])),[])}function BuildAllOfStandard(stack,context,schema,value){return Reducer(stack,context,schema.allOf,value,emit_exports.IsEqual(emit_exports.Member("results","length"),emit_exports.Constant(schema.allOf.length)))}function BuildAllOfFast(stack,context,schema,value){return emit_exports.ReduceAnd(schema.allOf.map(schema2=>BuildSchema(stack,context,schema2,value)))}function BuildAllOf(stack,context,schema,value){return context.UseUnevaluated()?BuildAllOfStandard(stack,context,schema,value):BuildAllOfFast(stack,context,schema,value)}function CheckAllOf(stack,context,schema,value){let results=schema.allOf.reduce((result,schema2)=>{let nextContext=new CheckContext;return CheckSchema(stack,nextContext,schema2,value)?[...result,nextContext]:result},[]);return guard_exports.IsEqual(results.length,schema.allOf.length)&&context.Merge(results)}function ErrorAllOf(stack,context,schemaPath,instancePath,schema,value){let failedContexts=[],results=schema.allOf.reduce((result,schema2,index3)=>{let nextSchemaPath=`${schemaPath}/allOf/${index3}`,nextContext=new ErrorContext,isSchema=ErrorSchema(stack,nextContext,nextSchemaPath,instancePath,schema2,value);return isSchema||failedContexts.push(nextContext),isSchema?[...result,nextContext]:result},[]),isAllOf=guard_exports.IsEqual(results.length,schema.allOf.length)&&context.Merge(results);return isAllOf||failedContexts.forEach(failed=>failed.GetErrors().forEach(error=>context.AddError(error))),isAllOf}function BuildAnyOfStandard(stack,context,schema,value){return Reducer(stack,context,schema.anyOf,value,emit_exports.IsGreaterThan(emit_exports.Member("results","length"),emit_exports.Constant(0)))}function BuildAnyOfFast(stack,context,schema,value){return emit_exports.ReduceOr(schema.anyOf.map(schema2=>BuildSchema(stack,context,schema2,value)))}function BuildAnyOf(stack,context,schema,value){return context.UseUnevaluated()?BuildAnyOfStandard(stack,context,schema,value):BuildAnyOfFast(stack,context,schema,value)}function CheckAnyOf(stack,context,schema,value){let results=schema.anyOf.reduce((result,schema2)=>{let nextContext=new CheckContext;return CheckSchema(stack,nextContext,schema2,value)?[...result,nextContext]:result},[]);return guard_exports.IsGreaterThan(results.length,0)&&context.Merge(results)}function ErrorAnyOf(stack,context,schemaPath,instancePath,schema,value){let failedContexts=[],results=schema.anyOf.reduce((result,schema2,index3)=>{let nextContext=new ErrorContext,nextSchemaPath=`${schemaPath}/anyOf/${index3}`,isSchema=ErrorSchema(stack,nextContext,nextSchemaPath,instancePath,schema2,value);return isSchema||failedContexts.push(nextContext),isSchema?[...result,nextContext]:result},[]),isAnyOf=guard_exports.IsGreaterThan(results.length,0)&&context.Merge(results);return isAnyOf||failedContexts.forEach(failed=>failed.GetErrors().forEach(error=>context.AddError(error))),isAnyOf||context.AddError({keyword:"anyOf",schemaPath,instancePath,params:{}})}function BuildSchemaBoolean(_stack,_context,schema,_value){return schema?emit_exports.Constant(!0):emit_exports.Constant(!1)}function CheckSchemaBoolean(_stack,_context,schema,_value){return schema}function ErrorSchemaBoolean(stack,context,schemaPath,instancePath,schema,value){return CheckSchemaBoolean(stack,context,schema,value)||context.AddError({keyword:"boolean",schemaPath,instancePath,params:{}})}function BuildConst(_stack,_context,schema,value){return guard_exports.IsValueLike(schema.const)?emit_exports.IsEqual(value,emit_exports.Constant(schema.const)):emit_exports.IsDeepEqual(value,CreateVariable(schema.const))}function CheckConst(_stack,_context,schema,value){return guard_exports.IsValueLike(schema.const)?guard_exports.IsEqual(value,schema.const):guard_exports.IsDeepEqual(value,schema.const)}function ErrorConst(stack,context,schemaPath,instancePath,schema,value){return CheckConst(stack,context,schema,value)||context.AddError({keyword:"const",schemaPath,instancePath,params:{allowedValue:schema.const}})}function IsValid2(schema){return!(IsMinContains(schema)&&guard_exports.IsEqual(schema.minContains,0))}function BuildContainsStandard(stack,context,schema,value){let[item,index3]=[Unique(),Unique()],isLength=emit_exports.Not(emit_exports.IsEqual(emit_exports.Member(value,"length"),emit_exports.Constant(0))),isSome=emit_exports.SomeAll(value,[item,index3],emit_exports.And(BuildSchema(stack,context,schema.contains,item),context.AddIndex(index3)));return emit_exports.And(isLength,isSome)}function BuildContainsFast(stack,context,schema,value){let[item]=[Unique()],isLength=emit_exports.Not(emit_exports.IsEqual(emit_exports.Member(value,"length"),emit_exports.Constant(0))),isSome=emit_exports.Some(value,[item,"_"],BuildSchema(stack,context,schema.contains,item));return emit_exports.And(isLength,isSome)}function BuildContains(stack,context,schema,value){return IsValid2(schema)?context.UseUnevaluated()?BuildContainsStandard(stack,context,schema,value):BuildContainsFast(stack,context,schema,value):emit_exports.Constant(!0)}function CheckContains(stack,context,schema,value){return IsValid2(schema)?!guard_exports.IsEqual(value.length,0)&&guard_exports.SomeAll(value,(item,index3)=>CheckSchema(stack,context,schema.contains,item)&&context.AddIndex(index3)):!0}function ErrorContains(stack,context,schemaPath,instancePath,schema,value){return CheckContains(stack,context,schema,value)||context.AddError({keyword:"contains",schemaPath,instancePath,params:{minContains:1}})}function BuildDependencies(stack,context,schema,value){let isLength=emit_exports.IsEqual(emit_exports.Member(emit_exports.Keys(value),"length"),emit_exports.Constant(0)),isEveryDependency=emit_exports.ReduceAnd(guard_exports.Entries(schema.dependencies).map(([key,schema2])=>{let notKey=emit_exports.Not(emit_exports.HasPropertyKey(value,emit_exports.Constant(key))),isSchema=BuildSchema(stack,context,schema2,value),isEveryKey=schema3=>emit_exports.ReduceAnd(schema3.map(key2=>emit_exports.HasPropertyKey(value,emit_exports.Constant(key2))));return emit_exports.Or(notKey,guard_exports.IsArray(schema2)?isEveryKey(schema2):isSchema)}));return emit_exports.Or(isLength,isEveryDependency)}function CheckDependencies(stack,context,schema,value){let isLength=guard_exports.IsEqual(guard_exports.Keys(value).length,0),isEvery=guard_exports.Every(guard_exports.Entries(schema.dependencies),0,([key,schema2])=>!guard_exports.HasPropertyKey(value,key)||(guard_exports.IsArray(schema2)?schema2.every(key2=>guard_exports.HasPropertyKey(value,key2)):CheckSchema(stack,context,schema2,value)));return isLength||isEvery}function ErrorDependencies(stack,context,schemaPath,instancePath,schema,value){let isLength=guard_exports.IsEqual(guard_exports.Keys(value).length,0),isEvery=guard_exports.EveryAll(guard_exports.Entries(schema.dependencies),0,([key,schema2])=>{let nextSchemaPath=`${schemaPath}/dependencies/${key}`;return!guard_exports.HasPropertyKey(value,key)||(guard_exports.IsArray(schema2)?schema2.every(dependency=>guard_exports.HasPropertyKey(value,dependency)||context.AddError({keyword:"dependencies",schemaPath,instancePath,params:{property:key,dependencies:schema2}})):ErrorSchema(stack,context,nextSchemaPath,instancePath,schema2,value))});return isLength||isEvery}function BuildDependentRequired(_stack,_context,schema,value){let isLength=emit_exports.IsEqual(emit_exports.Member(emit_exports.Keys(value),"length"),emit_exports.Constant(0)),isEvery=emit_exports.ReduceAnd(guard_exports.Entries(schema.dependentRequired).map(([key,keys])=>{let notKey=emit_exports.Not(emit_exports.HasPropertyKey(value,emit_exports.Constant(key))),everyKey=emit_exports.ReduceAnd(keys.map(key2=>emit_exports.HasPropertyKey(value,emit_exports.Constant(key2))));return emit_exports.Or(notKey,everyKey)}));return emit_exports.Or(isLength,isEvery)}function CheckDependentRequired(_stack,_context,schema,value){let isLength=guard_exports.IsEqual(guard_exports.Keys(value).length,0),isEvery=guard_exports.Every(guard_exports.Entries(schema.dependentRequired),0,([key,keys])=>!guard_exports.HasPropertyKey(value,key)||keys.every(key2=>guard_exports.HasPropertyKey(value,key2)));return isLength||isEvery}function ErrorDependentRequired(_stack,context,schemaPath,instancePath,schema,value){let isLength=guard_exports.IsEqual(guard_exports.Keys(value).length,0),isEveryEntry=guard_exports.EveryAll(guard_exports.Entries(schema.dependentRequired),0,([key,keys])=>!guard_exports.HasPropertyKey(value,key)||guard_exports.EveryAll(keys,0,dependency=>guard_exports.HasPropertyKey(value,dependency)||context.AddError({keyword:"dependentRequired",schemaPath,instancePath,params:{property:key,dependencies:keys}})));return isLength||isEveryEntry}function BuildDependentSchemas(stack,context,schema,value){let isLength=emit_exports.IsEqual(emit_exports.Member(emit_exports.Keys(value),"length"),emit_exports.Constant(0)),isEvery=emit_exports.ReduceAnd(guard_exports.Entries(schema.dependentSchemas).map(([key,schema2])=>{let notKey=emit_exports.Not(emit_exports.HasPropertyKey(value,emit_exports.Constant(key))),isSchema=BuildSchema(stack,context,schema2,value);return emit_exports.Or(notKey,isSchema)}));return emit_exports.Or(isLength,isEvery)}function CheckDependentSchemas(stack,context,schema,value){let isLength=guard_exports.IsEqual(guard_exports.Keys(value).length,0),isEvery=guard_exports.Every(guard_exports.Entries(schema.dependentSchemas),0,([key,schema2])=>!guard_exports.HasPropertyKey(value,key)||CheckSchema(stack,context,schema2,value));return isLength||isEvery}function ErrorDependentSchemas(stack,context,schemaPath,instancePath,schema,value){let isLength=guard_exports.IsEqual(guard_exports.Keys(value).length,0),isEvery=guard_exports.EveryAll(guard_exports.Entries(schema.dependentSchemas),0,([key,schema2])=>{let nextSchemaPath=`${schemaPath}/dependentSchemas/${key}`;return!guard_exports.HasPropertyKey(value,key)||ErrorSchema(stack,context,nextSchemaPath,instancePath,schema2,value)});return isLength||isEvery}function BuildDynamicRef(stack,context,schema,value){let target=stack.DynamicRef(schema)??!1;return CreateFunction(stack,context,target,value)}function CheckDynamicRef(stack,context,schema,value){let target=stack.DynamicRef(schema)??!1;return IsSchema2(target)&&CheckSchema(stack,context,target,value)}function ErrorDynamicRef(stack,context,_schemaPath,instancePath,schema,value){let target=stack.DynamicRef(schema)??!1;return IsSchema2(target)&&ErrorSchema(stack,context,"#",instancePath,target,value)}function BuildEnum(_stack,_context,schema,value){return emit_exports.ReduceOr(schema.enum.map(option=>{if(guard_exports.IsValueLike(option))return emit_exports.IsEqual(value,emit_exports.Constant(option));let variable=CreateVariable(option);return emit_exports.IsDeepEqual(value,variable)}))}function CheckEnum(_stack,_context,schema,value){return guard_exports.Some(schema.enum,option=>guard_exports.IsValueLike(option)?guard_exports.IsEqual(value,option):guard_exports.IsDeepEqual(value,option))}function ErrorEnum(stack,context,schemaPath,instancePath,schema,value){return CheckEnum(stack,context,schema,value)||context.AddError({keyword:"enum",schemaPath,instancePath,params:{allowedValues:schema.enum}})}function BuildExclusiveMaximum(_stack,_context,schema,value){return emit_exports.IsLessThan(value,emit_exports.Constant(schema.exclusiveMaximum))}function CheckExclusiveMaximum(_stack,_context,schema,value){return guard_exports.IsLessThan(value,schema.exclusiveMaximum)}function ErrorExclusiveMaximum(stack,context,schemaPath,instancePath,schema,value){return CheckExclusiveMaximum(stack,context,schema,value)||context.AddError({keyword:"exclusiveMaximum",schemaPath,instancePath,params:{comparison:"<",limit:schema.exclusiveMaximum}})}function BuildExclusiveMinimum(_stack,_context,schema,value){return emit_exports.IsGreaterThan(value,emit_exports.Constant(schema.exclusiveMinimum))}function CheckExclusiveMinimum(_stack,_context,schema,value){return guard_exports.IsGreaterThan(value,schema.exclusiveMinimum)}function ErrorExclusiveMinimum(stack,context,schemaPath,instancePath,schema,value){return CheckExclusiveMinimum(stack,context,schema,value)||context.AddError({keyword:"exclusiveMinimum",schemaPath,instancePath,params:{comparison:">",limit:schema.exclusiveMinimum}})}var format_exports={};__export(format_exports,{Clear:()=>Clear,Entries:()=>Entries,Get:()=>Get2,Has:()=>Has,IsDate:()=>IsDate,IsDateTime:()=>IsDateTime,IsDuration:()=>IsDuration,IsEmail:()=>IsEmail,IsHostname:()=>IsHostname2,IsIPv4:()=>IsIPv4,IsIPv6:()=>IsIPv6,IsIdnEmail:()=>IsIdnEmail,IsIdnHostname:()=>IsIdnHostname2,IsIri:()=>IsIri,IsIriReference:()=>IsIriReference,IsJsonPointer:()=>IsJsonPointer,IsJsonPointerUriFragment:()=>IsJsonPointerUriFragment,IsRegex:()=>IsRegex,IsRelativeJsonPointer:()=>IsRelativeJsonPointer,IsTime:()=>IsTime,IsUri:()=>IsUri,IsUriReference:()=>IsUriReference,IsUriTemplate:()=>IsUriTemplate,IsUrl:()=>IsUrl,IsUuid:()=>IsUuid,Reset:()=>Reset,Set:()=>Set2,Test:()=>Test});var DAYS=[0,31,28,31,30,31,30,31,31,30,31,30,31],DATE=/^(\d\d\d\d)-(\d\d)-(\d\d)$/;function IsLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function IsDate(value){let matches=DATE.exec(value);if(!matches)return!1;let year=+matches[1],month=+matches[2],day=+matches[3];return month>=1&&month<=12&&day>=1&&day<=(month===2&&IsLeapYear(year)?29:DAYS[month])}var TIME=/^(\d\d):(\d\d):(\d\d)(?:\.\d+)?(?:([Zz])|([+-])(\d\d):(\d\d))?$/;function IsTime(value,strictTimeZone=!0){let matches=TIME.exec(value);if(!matches||strictTimeZone&&!matches[4]&&!matches[5])return!1;let hr=+matches[1],min=+matches[2],sec=+matches[3];if(hr>23||min>59||sec>60)return!1;if(matches[5]){let tzH2=+matches[6],tzM2=+matches[7];if(tzH2>23||tzM2>59)return!1}if(sec<60)return!0;let tzSign=matches[5]==="-"?-1:1,tzH=+(matches[6]||0),tzM=+(matches[7]||0);return((hr*60+min-tzSign*(tzH*60+tzM))%1440+1440)%1440===1439}function IsDateTime(value){let dateTime=value.split(/T/i);return dateTime.length===2&&IsDate(dateTime[0])&&IsTime(dateTime[1])}var Duration=/^P((\d+Y(\d+M(\d+D)?)?|\d+M(\d+D)?|\d+D)(T(\d+H(\d+M(\d+S)?)?|\d+M(\d+S)?|\d+S))?|T(\d+H(\d+M(\d+S)?)?|\d+M(\d+S)?|\d+S)|\d+W)$/;function IsDuration(value){return Duration.test(value)}var Email=/^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[^"\\]|\\[\x20-\x7e])*")@(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*|\[(?:IPv6:[a-f0-9:]+|(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])(?:\.(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3})\])$/i;function IsEmail(value){return Email.test(value)}var RE_RULE_HYPHEN_PLACEMENT=/^(?!-).*(?<!-)$/,RE_RULE_NOT_RESERVED_ACE=/^(?!..--)/,RE_ASCII_LDH=/^[a-zA-Z0-9-]*$/,RE_ASCII=new RegExp("^\\p{ASCII}*$","u"),RE_NON_ASCII=/[^\p{ASCII}]/u;var RE_ASCII_DIGIT=/[0-9]/,RE_ARABIC_INDIC_DIGIT=/[\u{0660}-\u{0669}]/u,RE_EXT_ARABIC_INDIC_DIGIT=/[\u{06f0}-\u{06f9}]/u,RE_COMMON_SEPARATOR=/[\u{002e}\u{002c}\u{003a}\u{002f}]/u,RE_EUROPEAN_SEPARATOR=/[\u{002d}\u{002b}]/u,RE_MARK_NONSPACING=new RegExp("\\p{Mn}","u"),RE_MARK_SPACING_COMBINING=new RegExp("\\p{Mc}","u"),RE_MARK_ENCLOSING=new RegExp("\\p{Me}","u"),RE_COMBINING_MARK=/[\p{Mn}\p{Mc}\p{Me}]/u,RE_LETTER=new RegExp("\\p{L}","u"),RE_NUMBER_DECIMAL=new RegExp("\\p{Nd}","u"),RE_SCRIPT_GREEK=new RegExp("\\p{Script=Greek}","u"),RE_SCRIPT_HEBREW=new RegExp("\\p{Script=Hebrew}","u"),RE_SCRIPT_JAPANESE=/[\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Han}]/u,RE_SCRIPT_ARABIC_LETTER=/[\p{Script=Arabic}\p{Script=Syriac}\p{Script=Thaana}\p{Script=Mandaic}]/u,RE_VIRAMA=/[\u{094d}\u{09cd}\u{0a4d}\u{0acd}\u{0b4d}\u{0bcd}\u{0c4d}\u{0ccd}\u{0d3b}\u{0d3c}\u{0d4d}\u{0dca}\u{1b44}\u{1baa}\u{1bab}\u{a9c0}\u{11046}\u{1107f}\u{110b9}\u{11133}\u{11134}\u{111c0}\u{11235}\u{1134d}\u{11442}\u{114c2}\u{115bf}\u{1163f}\u{116b6}\u{11c3f}\u{11d44}\u{11d45}]/u,RE_RFC5892_DISALLOWED=/[\u{0640}\u{07fa}\u{302e}\u{302f}\u{3031}\u{3032}\u{3033}\u{3034}\u{3035}\u{303b}]/u,RE_CONTEXTO_EXCEPTIONS=/[\u{00b7}\u{0375}\u{05f3}\u{05f4}\u{200c}\u{200d}\u{30fb}]/u,RE_PVALID_EXCEPTIONS=/[\u{00df}\u{03c2}\u{06fd}\u{06fe}\u{0f0b}\u{3007}]/u,RE_EUROPEAN_NUMBER=new RegExp([RE_ASCII_DIGIT,RE_EXT_ARABIC_INDIC_DIGIT].map(regexp=>regexp.source).join("|"),"u"),RE_PERMITTED_CATEGORY=new RegExp([RE_LETTER,RE_EUROPEAN_SEPARATOR,RE_COMMON_SEPARATOR,RE_NUMBER_DECIMAL,RE_MARK_NONSPACING,RE_MARK_SPACING_COMBINING,RE_CONTEXTO_EXCEPTIONS,RE_PVALID_EXCEPTIONS].map(regexp=>regexp.source).join("|"),"u");function IsAsciiLabel(value){return RE_RULE_HYPHEN_PLACEMENT.test(value)&&RE_RULE_NOT_RESERVED_ACE.test(value)&&RE_ASCII_LDH.test(value)}var PUNYCODE_BASE=36,PUNYCODE_TMIN=1,PUNYCODE_TMAX=26,PUNYCODE_SKEW=38,PUNYCODE_DAMP=700,PUNYCODE_INITIAL_BIAS=72,PUNYCODE_INITIAL_N=128;function ThrowDontCare(){throw null}function IsAcePrefixed(value){return value.toLowerCase().startsWith("xn--")}function Adapt(delta,numPoints,firstTime){delta=firstTime?Math.floor(delta/PUNYCODE_DAMP):delta>>1,delta+=Math.floor(delta/numPoints);let k=0;for(;delta>(PUNYCODE_BASE-PUNYCODE_TMIN)*PUNYCODE_TMAX>>1;)delta=Math.floor(delta/(PUNYCODE_BASE-PUNYCODE_TMIN)),k+=PUNYCODE_BASE;return k+Math.floor((PUNYCODE_BASE-PUNYCODE_TMIN+1)*delta/(delta+PUNYCODE_SKEW))}function Decode(value){let output=[],n=PUNYCODE_INITIAL_N,i=0,bias=PUNYCODE_INITIAL_BIAS,delimIdx=value.lastIndexOf("-");if(delimIdx>0)for(let j=0;j<delimIdx;j++){let cp=value.charCodeAt(j);cp>=128&&ThrowDontCare(),output.push(cp)}let inIdx=delimIdx<0?0:delimIdx+1;for(;inIdx<value.length;){let oldi=i,w=1,k=PUNYCODE_BASE;for(;;){inIdx>=value.length&&ThrowDontCare();let ch=value.charCodeAt(inIdx++),digit;ch>=97&&ch<=122?digit=ch-97:ch>=48&&ch<=57?digit=ch-48+26:ThrowDontCare(),i+=digit*w;let t=k<=bias?PUNYCODE_TMIN:k>=bias+PUNYCODE_TMAX?PUNYCODE_TMAX:k-bias;if(digit<t)break;w*=PUNYCODE_BASE-t,k+=PUNYCODE_BASE}let outLen=output.length+1;bias=Adapt(i-oldi,outLen,oldi===0),n+=Math.floor(i/outLen),i%=outLen,output.splice(i,0,n),i++}return String.fromCodePoint(...output)}function DigitToChar(digit){return digit<26?String.fromCharCode(digit+97):String.fromCharCode(digit-26+48)}var RE_REPLACE_NON_ASCII=new RegExp(RE_NON_ASCII.source,"gu");function Encode(input){let basic=input.replace(RE_REPLACE_NON_ASCII,""),basicLength=basic.length,result=basicLength>0?[basic,"-"]:[],codePoints=Array.from(input,char=>char.codePointAt(0)),n=PUNYCODE_INITIAL_N,delta=0,bias=PUNYCODE_INITIAL_BIAS,handledCPCount=basicLength;for(;handledCPCount<codePoints.length;){let m=1/0;for(let cp of codePoints)cp>=n&&cp<m&&(m=cp);delta+=(m-n)*(handledCPCount+1),n=m;for(let cp of codePoints)if(cp<n&&delta++,cp===n){let q=delta;for(let k=PUNYCODE_BASE;;k+=PUNYCODE_BASE){let t=k<=bias?PUNYCODE_TMIN:k>=bias+PUNYCODE_TMAX?PUNYCODE_TMAX:k-bias;if(q<t)break;let digit=t+(q-t)%(PUNYCODE_BASE-t);result.push(DigitToChar(digit)),q=Math.floor((q-t)/(PUNYCODE_BASE-t))}result.push(DigitToChar(q)),bias=Adapt(delta,handledCPCount+1,handledCPCount===basicLength),delta=0,handledCPCount++}delta++,n++}return result.join("")}var RE_RTL_ALLOWED=/^(?:R|AL|AN|EN|ES|CS|ET|ON|BN|NSM)$/,RE_LTR_ALLOWED=/^(?:L|EN|ES|CS|ET|ON|BN|NSM)$/,RE_RTL_CLASSES=/^(?:R|AL|AN)$/;function HasBidiChars(value){if(IsAcePrefixed(value))try{return HasRightToLeftCharacters(Decode(value.slice(4).toLowerCase()))}catch{return!1}return HasRightToLeftCharacters(value)}function GetBidiClass(codePoint){let char=String.fromCodePoint(codePoint);return RE_EUROPEAN_NUMBER.test(char)?"EN":RE_ARABIC_INDIC_DIGIT.test(char)?"AN":RE_MARK_NONSPACING.test(char)?"NSM":RE_SCRIPT_HEBREW.test(char)?"R":RE_SCRIPT_ARABIC_LETTER.test(char)?"AL":RE_LETTER.test(char)?"L":"ON"}function HasRightToLeftCharacters(value){for(let ch of value)if(RE_RTL_CLASSES.test(GetBidiClass(ch.codePointAt(0))))return!0;return!1}function SatisfiesBidiRule(value){let isRtl=!1,allowed=RE_LTR_ALLOWED,sawEN=!1,sawAN=!1,isFirst=!0;for(let ch of value){let bidiClass=GetBidiClass(ch.codePointAt(0));if(isFirst){if(bidiClass!=="L"&&bidiClass!=="R"&&bidiClass!=="AL")return!1;isRtl=bidiClass==="R"||bidiClass==="AL",allowed=isRtl?RE_RTL_ALLOWED:RE_LTR_ALLOWED,isFirst=!1}if(!allowed.test(bidiClass))return!1;bidiClass==="EN"?sawEN=!0:bidiClass==="AN"&&(sawAN=!0)}return!(isRtl&&sawEN&&sawAN)}function ExceedsMaxALabelLength(value){return RE_NON_ASCII.test(value)&&Encode(value).length+4>63}function HasInvalidHyphens(chars){return chars[0]==="-"||chars[chars.length-1]==="-"?!0:chars.slice(2).join("").startsWith("--")}function IsUnicodeLabel(value){if(ExceedsMaxALabelLength(value)||HasRightToLeftCharacters(value)&&!SatisfiesBidiRule(value))return!1;let chars=[...value],codePoints=chars.map(c=>c.codePointAt(0)),length=codePoints.length;if(HasInvalidHyphens(chars)||RE_COMBINING_MARK.test(chars[0]))return!1;let hasJapanese=!1;for(let i=0;i<length;i++){let codePoint=codePoints[i],char=chars[i];if(RE_RFC5892_DISALLOWED.test(char)||!RE_PERMITTED_CATEGORY.test(char))return!1;RE_SCRIPT_JAPANESE.test(char)&&(hasJapanese=!0);let prev=codePoints[i-1],next=codePoints[i+1];switch(codePoint){case 183:if(prev!==108||next!==108)return!1;break;case 885:if(!next||!RE_SCRIPT_GREEK.test(chars[i+1]))return!1;break;case 1523:case 1524:if(!prev||!RE_SCRIPT_HEBREW.test(chars[i-1]))return!1;break;case 8204:if(!prev||prev<128&&!RE_VIRAMA.test(chars[i-1]))return!1;break;case 8205:if(!prev||!RE_VIRAMA.test(chars[i-1]))return!1;break;case 12539:break}}return!(value.includes("\u30FB")&&!hasJapanese)}function IsPunyLabel(value){if(!IsAcePrefixed(value))return!1;try{let body=value.slice(4).toLowerCase();if(body.lastIndexOf("-")===0)return!1;let decoded=Decode(body);return RE_NON_ASCII.test(decoded)?IsUnicodeLabel(decoded):!1}catch{return!1}}function IsValidLabelLength(value){return value.length>0&&value.length<=63}function IsLabel(value){return IsValidLabelLength(value)&&(IsPunyLabel(value)||IsAsciiLabel(value))}function IsHostname(value){return value.length===0||value.length>253||value.charCodeAt(value.length-1)===46?!1:value.split(".").every(label=>IsLabel(label))}function IsValidLabelLength2(value){return value.length>0&&value.length<=63}function IsLabel2(value){return IsValidLabelLength2(value)&&(IsPunyLabel(value)||IsUnicodeLabel(value))}function NormalizeHostname(value){return value.replace(/[\uff01-\uff5e]/g,char=>String.fromCharCode(char.charCodeAt(0)-65248)).normalize("NFC").replace(/[\u00ad\u034f\u180b-\u180d\u200b\ufe00-\ufe0f\u{e0100}-\u{e01ef}]/gu,"").replace(/[\u002E\u3002\uFF0E\uFF61]/g,".")}function IsIdnHostname(value){if(value.length===0||value.includes(" "))return!1;let normalized=NormalizeHostname(value);if(normalized.length>253)return!1;let labels=normalized.split("."),hasBidiChars=labels.some(label=>HasBidiChars(label));return labels.every(label=>IsLabel2(label)&&(!hasBidiChars||SatisfiesBidiRule(label)))}function IsHostname2(value){return IsHostname(value)}var IdnEmail=/^(?:[A-Za-z0-9!#$%&'*+\/=?^_`{|}~\u{0080}-\u{10FFFF}-]+(?:\.[A-Za-z0-9!#$%&'*+\/=?^_`{|}~\u{0080}-\u{10FFFF}-]+)*|"(?:[^"\\]|\\.)*")@[\p{L}\p{N}](?:[\p{L}\p{N}-]{0,62})(?<!-)(?:\.[\p{L}\p{N}](?:[\p{L}\p{N}-]{0,62})(?<!-))*$/iu;function IsIdnEmail(value){return IdnEmail.test(value.normalize("NFC"))}function IsIdnHostname2(value){return IsIdnHostname(value)}var IPv4=/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/;function IsIPv4(value){return IPv4.test(value)}var IPv6=/^(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:)?[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)$/i;function IsIPv6(value){return IPv6.test(value)}var InvalidIriChars=/[\x00-\x20\x7F\\]|%(?![0-9a-fA-F]{2})/,MalformedScheme=/^[a-zA-Z][a-zA-Z0-9+\-.]*\/\//;function IsIriReference(value){return!InvalidIriChars.test(value)&&!MalformedScheme.test(value)&&URL.canParse(value,"http://example.com")}var IpvFutureMatch=/\[[vV][0-9a-fA-F]+\.[^\]]+\]/,InvalidIriChars2=/[\x00-\x20<>\^`{|}\\]/,InvalidPercentEncoding=/%(?![0-9a-fA-F]{2})/;function NarrowIpvFuture(value){return value.length<2048?value.replace(IpvFutureMatch,"[::1]"):value}function IsIri(value){return InvalidIriChars2.test(value)||InvalidPercentEncoding.test(value)?!1:URL.canParse(NarrowIpvFuture(value))}var JsonPointerUriFragment=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i;function IsJsonPointerUriFragment(value){return JsonPointerUriFragment.test(value)}var JsonPointer=/^(?:\/(?:[^~/]|~0|~1)*)*$/;function IsJsonPointer(value){return JsonPointer.test(value)}function IsRegex(value){try{return new RegExp(value,"u"),!0}catch{return!1}}var RelativeJsonPointer=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;function IsRelativeJsonPointer(value){return RelativeJsonPointer.test(value)}var UriReference=/^(?:[a-z][a-z0-9+\-.]*:(?:\/\/(?:(?:[-a-z0-9._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:[\da-f]{1,4}:){6}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|::(?:[\da-f]{1,4}:){5}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:[\da-f]{1,4})?::(?:[\da-f]{1,4}:){4}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,1}[\da-f]{1,4})?::(?:[\da-f]{1,4}:){3}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,2}[\da-f]{1,4})?::(?:[\da-f]{1,4}:){2}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,3}[\da-f]{1,4})?::[\da-f]{1,4}:(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,4}[\da-f]{1,4})?::(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,5}[\da-f]{1,4})?::[\da-f]{1,4}|(?:(?:[\da-f]{1,4}:){0,6}[\da-f]{1,4})?::)|v[0-9a-f]+\.[-a-z0-9._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)|(?:[-a-z0-9._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:\/\/(?:(?:[-a-z0-9._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:[\da-f]{1,4}:){6}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|::(?:[\da-f]{1,4}:){5}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:[\da-f]{1,4})?::(?:[\da-f]{1,4}:){4}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,1}[\da-f]{1,4})?::(?:[\da-f]{1,4}:){3}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,2}[\da-f]{1,4})?::(?:[\da-f]{1,4}:){2}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,3}[\da-f]{1,4})?::[\da-f]{1,4}:(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,4}[\da-f]{1,4})?::(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,5}[\da-f]{1,4})?::[\da-f]{1,4}|(?:(?:[\da-f]{1,4}:){0,6}[\da-f]{1,4})?::)|v[0-9a-f]+\.[-a-z0-9._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)|(?:[-a-z0-9._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[-a-z0-9._~!$&'()*+,;=@]|%[0-9a-f]{2})+(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?)(?:\?(?:[-a-z0-9._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[-a-z0-9._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function IsUriReference(value){return UriReference.test(value)}var UriTemplate=/^(?:(?:[^\x00-\x20"<>%\\^`{|}\x7f]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?:\.(?:[a-z0-9_]|%[0-9a-f]{2})+)*(?::[1-9]\d{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?:\.(?:[a-z0-9_]|%[0-9a-f]{2})+)*(?::[1-9]\d{0,3}|\*)?)*\})*$/i;function IsUriTemplate(value){return UriTemplate.test(value)}var Uri=/^[a-z][a-z0-9+\-.]*:(?:\/\/(?:(?:[-a-z0-9._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:[\da-f]{1,4}:){6}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|::(?:[\da-f]{1,4}:){5}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:[\da-f]{1,4})?::(?:[\da-f]{1,4}:){4}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,1}[\da-f]{1,4})?::(?:[\da-f]{1,4}:){3}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,2}[\da-f]{1,4})?::(?:[\da-f]{1,4}:){2}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,3}[\da-f]{1,4})?::[\da-f]{1,4}:(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,4}[\da-f]{1,4})?::(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,5}[\da-f]{1,4})?::[\da-f]{1,4}|(?:(?:[\da-f]{1,4}:){0,6}[\da-f]{1,4})?::)|v[0-9a-f]+\.[-a-z0-9._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)|(?:[-a-z0-9._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[-a-z0-9._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[-a-z0-9._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function IsUri(value){return Uri.test(value)}function IsUrl(value){return URL.canParse(value)}var Uuid=/^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i;function IsUuid(value){return Uuid.test(value)}var formats=new Map;function Clear(){formats.clear()}function Entries(){return[...formats.entries()]}function Set2(format,check){formats.set(format,check)}function Has(format){return formats.has(format)}function Get2(format){return formats.get(format)}function Test(format,value){return formats.get(format)?.(value)??!0}function Reset(){Clear(),formats.set("date-time",IsDateTime),formats.set("date",IsDate),formats.set("duration",IsDuration),formats.set("email",IsEmail),formats.set("hostname",IsHostname2),formats.set("idn-email",IsIdnEmail),formats.set("idn-hostname",IsIdnHostname2),formats.set("ipv4",IsIPv4),formats.set("ipv6",IsIPv6),formats.set("iri-reference",IsIriReference),formats.set("iri",IsIri),formats.set("json-pointer-uri-fragment",IsJsonPointerUriFragment),formats.set("json-pointer",IsJsonPointer),formats.set("regex",IsRegex),formats.set("relative-json-pointer",IsRelativeJsonPointer),formats.set("time",IsTime),formats.set("uri-reference",IsUriReference),formats.set("uri-template",IsUriTemplate),formats.set("uri",IsUri),formats.set("url",IsUrl),formats.set("uuid",IsUuid)}Reset();function BuildFormat(_stack,_context,schema,value){return emit_exports.Call(emit_exports.Member("Format","Test"),[emit_exports.Constant(schema.format),value])}function CheckFormat(_stack,_context,schema,value){return format_exports.Test(schema.format,value)}function ErrorFormat(stack,context,schemaPath,instancePath,schema,value){return CheckFormat(stack,context,schema,value)||context.AddError({keyword:"format",schemaPath,instancePath,params:{format:schema.format}})}function BuildIf(stack,context,schema,value){let thenSchema=IsThen(schema)?schema.then:!0,elseSchema=IsElse(schema)?schema.else:!0;return emit_exports.Ternary(BuildSchema(stack,context,schema.if,value),BuildSchema(stack,context,thenSchema,value),BuildSchema(stack,context,elseSchema,value))}function CheckIf(stack,context,schema,value){let thenSchema=IsThen(schema)?schema.then:!0,elseSchema=IsElse(schema)?schema.else:!0;return CheckSchema(stack,context,schema.if,value)?CheckSchema(stack,context,thenSchema,value):CheckSchema(stack,context,elseSchema,value)}function ErrorIf(stack,context,schemaPath,instancePath,schema,value){let thenSchema=IsThen(schema)?schema.then:!0,elseSchema=IsElse(schema)?schema.else:!0,trueContext=new ErrorContext,isIf=ErrorSchema(stack,trueContext,`${schemaPath}/if`,instancePath,schema.if,value)?ErrorSchema(stack,trueContext,`${schemaPath}/then`,instancePath,thenSchema,value)||context.AddError({keyword:"if",schemaPath,instancePath,params:{failingKeyword:"then"}}):ErrorSchema(stack,context,`${schemaPath}/else`,instancePath,elseSchema,value)||context.AddError({keyword:"if",schemaPath,instancePath,params:{failingKeyword:"else"}});return isIf&&context.Merge([trueContext]),isIf}function BuildItemsSizedStandard(stack,context,schema,value){return emit_exports.ReduceAnd(schema.items.map((schema2,index3)=>{let isLength=emit_exports.IsLessEqualThan(emit_exports.Member(value,"length"),emit_exports.Constant(index3)),isSchema=BuildSchemaPushStack(stack,context,schema2,`${value}[${index3}]`),addIndex=context.AddIndex(emit_exports.Constant(index3));return emit_exports.Or(isLength,emit_exports.And(isSchema,addIndex))}))}function BuildItemsSizedFast(stack,context,schema,value){return emit_exports.ReduceAnd(schema.items.map((schema2,index3)=>{let isLength=emit_exports.IsLessEqualThan(emit_exports.Member(value,"length"),emit_exports.Constant(index3)),isSchema=BuildSchemaPushStack(stack,context,schema2,`${value}[${index3}]`);return emit_exports.Or(isLength,isSchema)}))}function BuildItemsSized(stack,context,schema,value){return context.UseUnevaluated()?BuildItemsSizedStandard(stack,context,schema,value):BuildItemsSizedFast(stack,context,schema,value)}function CheckItemsSized(stack,context,schema,value){return guard_exports.Every(schema.items,0,(schema2,index3)=>guard_exports.IsLessEqualThan(value.length,index3)||CheckSchemaPushStack(stack,context,schema2,value[index3])&&context.AddIndex(index3))}function ErrorItemsSized(stack,context,schemaPath,instancePath,schema,value){return guard_exports.EveryAll(schema.items,0,(schema2,index3)=>{let nextSchemaPath=`${schemaPath}/items/${index3}`,nextInstancePath=`${instancePath}/${index3}`;return guard_exports.IsLessEqualThan(value.length,index3)||ErrorSchemaPushStack(stack,context,nextSchemaPath,nextInstancePath,schema2,value[index3])&&context.AddIndex(index3)})}function BuildItemsUnsizedStandard(stack,context,schema,value){let offset=IsPrefixItems(schema)?schema.prefixItems.length:0,isSchema=BuildSchemaPushStack(stack,context,schema.items,"element"),addIndex=context.AddIndex("index");return emit_exports.Every(value,emit_exports.Constant(offset),["element","index"],emit_exports.And(isSchema,addIndex))}function BuildItemsUnsizedFast(stack,context,schema,value){let offset=IsPrefixItems(schema)?schema.prefixItems.length:0,isSchema=BuildSchemaPushStack(stack,context,schema.items,"element");return emit_exports.Every(value,emit_exports.Constant(offset),["element","index"],isSchema)}function BuildItemsUnsized(stack,context,schema,value){return context.UseUnevaluated()?BuildItemsUnsizedStandard(stack,context,schema,value):BuildItemsUnsizedFast(stack,context,schema,value)}function CheckItemsUnsized(stack,context,schema,value){let offset=IsPrefixItems(schema)?schema.prefixItems.length:0;return guard_exports.Every(value,offset,(element,index3)=>CheckSchemaPushStack(stack,context,schema.items,element)&&context.AddIndex(index3))}function ErrorItemsUnsized(stack,context,schemaPath,instancePath,schema,value){let offset=IsPrefixItems(schema)?schema.prefixItems.length:0;return guard_exports.EveryAll(value,offset,(element,index3)=>{let nextSchemaPath=`${schemaPath}/items`,nextInstancePath=`${instancePath}/${index3}`;return ErrorSchemaPushStack(stack,context,nextSchemaPath,nextInstancePath,schema.items,element)&&context.AddIndex(index3)})}function BuildItems(stack,context,schema,value){return IsItemsSized(schema)?BuildItemsSized(stack,context,schema,value):BuildItemsUnsized(stack,context,schema,value)}function CheckItems(stack,context,schema,value){return IsItemsSized(schema)?CheckItemsSized(stack,context,schema,value):CheckItemsUnsized(stack,context,schema,value)}function ErrorItems(stack,context,schemaPath,instancePath,schema,value){return IsItemsSized(schema)?ErrorItemsSized(stack,context,schemaPath,instancePath,schema,value):ErrorItemsUnsized(stack,context,schemaPath,instancePath,schema,value)}function IsValid3(schema){return IsContains(schema)}function BuildMaxContains(stack,context,schema,value){if(!IsValid3(schema))return emit_exports.Constant(!0);let[item]=[Unique()],count=emit_exports.Counted(value,[item,"_"],BuildSchema(stack,context,schema.contains,item));return emit_exports.IsLessEqualThan(count,emit_exports.Constant(schema.maxContains))}function CheckMaxContains(stack,context,schema,value){if(!IsValid3(schema))return!0;let count=guard_exports.Counted(value,item=>CheckSchema(stack,context,schema.contains,item));return guard_exports.IsLessEqualThan(count,schema.maxContains)}function ErrorMaxContains(stack,context,schemaPath,instancePath,schema,value){let minContains=IsMinContains(schema)?schema.minContains:1;return CheckMaxContains(stack,context,schema,value)||context.AddError({keyword:"contains",schemaPath,instancePath,params:{minContains,maxContains:schema.maxContains}})}function BuildMaximum(_stack,_context,schema,value){return emit_exports.IsLessEqualThan(value,emit_exports.Constant(schema.maximum))}function CheckMaximum(_stack,_context,schema,value){return guard_exports.IsLessEqualThan(value,schema.maximum)}function ErrorMaximum(stack,context,schemaPath,instancePath,schema,value){return CheckMaximum(stack,context,schema,value)||context.AddError({keyword:"maximum",schemaPath,instancePath,params:{comparison:"<=",limit:schema.maximum}})}function BuildMaxItems(_stack,_context,schema,value){return emit_exports.IsLessEqualThan(emit_exports.Member(value,"length"),emit_exports.Constant(schema.maxItems))}function CheckMaxItems(_stack,_context,schema,value){return guard_exports.IsLessEqualThan(value.length,schema.maxItems)}function ErrorMaxItems(stack,context,schemaPath,instancePath,schema,value){return CheckMaxItems(stack,context,schema,value)||context.AddError({keyword:"maxItems",schemaPath,instancePath,params:{limit:schema.maxItems}})}function BuildMaxLength(_stack,_context,schema,value){return emit_exports.IsMaxLength(value,emit_exports.Constant(schema.maxLength))}function CheckMaxLength(_stack,_context,schema,value){return guard_exports.IsMaxLength(value,schema.maxLength)}function ErrorMaxLength(stack,context,schemaPath,instancePath,schema,value){return CheckMaxLength(stack,context,schema,value)||context.AddError({keyword:"maxLength",schemaPath,instancePath,params:{limit:schema.maxLength}})}function BuildMaxProperties(_stack,_context,schema,value){return emit_exports.IsLessEqualThan(emit_exports.Member(emit_exports.Keys(value),"length"),emit_exports.Constant(schema.maxProperties))}function CheckMaxProperties(_stack,_context,schema,value){return guard_exports.IsLessEqualThan(guard_exports.Keys(value).length,schema.maxProperties)}function ErrorMaxProperties(stack,context,schemaPath,instancePath,schema,value){return CheckMaxProperties(stack,context,schema,value)||context.AddError({keyword:"maxProperties",schemaPath,instancePath,params:{limit:schema.maxProperties}})}function IsValid4(schema){return IsContains(schema)}function BuildMinContainsStandard(stack,context,schema,value){let[item,index3]=[Unique(),Unique()],count=emit_exports.Counted(value,[item,index3],emit_exports.And(BuildSchema(stack,context,schema.contains,item),context.AddIndex(index3)));return emit_exports.IsGreaterEqualThan(count,emit_exports.Constant(schema.minContains))}function BuildMinContainsFast(stack,context,schema,value){let[item]=[Unique()],count=emit_exports.Counted(value,[item,"_"],BuildSchema(stack,context,schema.contains,item));return emit_exports.IsGreaterEqualThan(count,emit_exports.Constant(schema.minContains))}function BuildMinContains(stack,context,schema,value){return IsValid4(schema)?context.UseUnevaluated()?BuildMinContainsStandard(stack,context,schema,value):BuildMinContainsFast(stack,context,schema,value):emit_exports.Constant(!0)}function CheckMinContains(stack,context,schema,value){if(!IsValid4(schema))return!0;let count=guard_exports.Counted(value,(item,index3)=>CheckSchema(stack,context,schema.contains,item)&&context.AddIndex(index3));return guard_exports.IsGreaterEqualThan(count,schema.minContains)}function ErrorMinContains(stack,context,schemaPath,instancePath,schema,value){return CheckMinContains(stack,context,schema,value)||context.AddError({keyword:"contains",schemaPath,instancePath,params:{minContains:schema.minContains}})}function BuildMinimum(_stack,_context,schema,value){return emit_exports.IsGreaterEqualThan(value,emit_exports.Constant(schema.minimum))}function CheckMinimum(_stack,_context,schema,value){return guard_exports.IsGreaterEqualThan(value,schema.minimum)}function ErrorMinimum(stack,context,schemaPath,instancePath,schema,value){return CheckMinimum(stack,context,schema,value)||context.AddError({keyword:"minimum",schemaPath,instancePath,params:{comparison:">=",limit:schema.minimum}})}function BuildMinItems(_stack,_context,schema,value){return emit_exports.IsGreaterEqualThan(emit_exports.Member(value,"length"),emit_exports.Constant(schema.minItems))}function CheckMinItems(_stack,_context,schema,value){return guard_exports.IsGreaterEqualThan(value.length,schema.minItems)}function ErrorMinItems(stack,context,schemaPath,instancePath,schema,value){return CheckMinItems(stack,context,schema,value)||context.AddError({keyword:"minItems",schemaPath,instancePath,params:{limit:schema.minItems}})}function BuildMinLength(_stack,_context,schema,value){return emit_exports.IsMinLength(value,emit_exports.Constant(schema.minLength))}function CheckMinLength(_stack,_context,schema,value){return guard_exports.IsMinLength(value,schema.minLength)}function ErrorMinLength(stack,context,schemaPath,instancePath,schema,value){return CheckMinLength(stack,context,schema,value)||context.AddError({keyword:"minLength",schemaPath,instancePath,params:{limit:schema.minLength}})}function BuildMinProperties(_stack,_context,schema,value){return emit_exports.IsGreaterEqualThan(emit_exports.Member(emit_exports.Keys(value),"length"),emit_exports.Constant(schema.minProperties))}function CheckMinProperties(_stack,_context,schema,value){return guard_exports.IsGreaterEqualThan(guard_exports.Keys(value).length,schema.minProperties)}function ErrorMinProperties(stack,context,schemaPath,instancePath,schema,value){return CheckMinProperties(stack,context,schema,value)||context.AddError({keyword:"minProperties",schemaPath,instancePath,params:{limit:schema.minProperties}})}function BuildMultipleOf(_stack,_context,schema,value){return emit_exports.MultipleOf(value,emit_exports.Constant(schema.multipleOf))}function CheckMultipleOf(_stack,_context,schema,value){return guard_exports.IsMultipleOf(value,schema.multipleOf)}function ErrorMultipleOf(stack,context,schemaPath,instancePath,schema,value){return CheckMultipleOf(stack,context,schema,value)||context.AddError({keyword:"multipleOf",schemaPath,instancePath,params:{multipleOf:schema.multipleOf}})}function BuildNotStandard(stack,context,schema,value){return Reducer(stack,context,[schema.not],value,emit_exports.Not(emit_exports.IsEqual(emit_exports.Member("results","length"),emit_exports.Constant(1))))}function BuildNotFast(stack,context,schema,value){return emit_exports.Not(BuildSchema(stack,context,schema.not,value))}function BuildNot(stack,context,schema,value){return context.UseUnevaluated()?BuildNotStandard(stack,context,schema,value):BuildNotFast(stack,context,schema,value)}function CheckNot(stack,context,schema,value){let nextContext=new CheckContext;return!CheckSchema(stack,nextContext,schema.not,value)&&context.Merge([nextContext])}function ErrorNot(stack,context,schemaPath,instancePath,schema,value){return CheckNot(stack,context,schema,value)||context.AddError({keyword:"not",schemaPath,instancePath,params:{}})}function BuildOneOfStandard(stack,context,schema,value){return Reducer(stack,context,schema.oneOf,value,emit_exports.IsEqual(emit_exports.Member("results","length"),emit_exports.Constant(1)))}function BuildOneOfFast(stack,context,schema,value){let[result]=[Unique()],results=emit_exports.ArrayLiteral(schema.oneOf.map(schema2=>BuildSchema(stack,context,schema2,value))),count=emit_exports.Counted(results,[result,"_"],emit_exports.IsEqual(result,emit_exports.Constant(!0)));return emit_exports.IsEqual(count,emit_exports.Constant(1))}function BuildOneOf(stack,context,schema,value){return context.UseUnevaluated()?BuildOneOfStandard(stack,context,schema,value):BuildOneOfFast(stack,context,schema,value)}function CheckOneOf(stack,context,schema,value){let passedContexts=schema.oneOf.reduce((result,schema2)=>{let nextContext=new CheckContext;return CheckSchema(stack,nextContext,schema2,value)?[...result,nextContext]:result},[]);return guard_exports.IsEqual(passedContexts.length,1)&&context.Merge(passedContexts)}function ErrorOneOf(stack,context,schemaPath,instancePath,schema,value){let failedContexts=[],passingSchemas=[],passedContexts=schema.oneOf.reduce((result,schema2,index3)=>{let nextContext=new ErrorContext,nextSchemaPath=`${schemaPath}/oneOf/${index3}`,isSchema=ErrorSchema(stack,nextContext,nextSchemaPath,instancePath,schema2,value);return isSchema&&passingSchemas.push(index3),isSchema||failedContexts.push(nextContext),isSchema?[...result,nextContext]:result},[]),isOneOf=guard_exports.IsEqual(passedContexts.length,1)&&context.Merge(passedContexts);return!isOneOf&&guard_exports.IsEqual(passingSchemas.length,0)&&failedContexts.forEach(failed=>failed.GetErrors().forEach(error=>context.AddError(error))),isOneOf||context.AddError({keyword:"oneOf",schemaPath,instancePath,params:{passingSchemas}})}function BuildPattern(_stack,_context,schema,value){let regexp=CreateVariable(guard_exports.IsString(schema.pattern)?UnicodeRegExp(schema.pattern):schema.pattern);return emit_exports.Call(emit_exports.Member(regexp,"test"),[value])}function CheckPattern(_stack,_context,schema,value){return(guard_exports.IsString(schema.pattern)?UnicodeRegExp(schema.pattern):schema.pattern).test(value)}function ErrorPattern(stack,context,schemaPath,instancePath,schema,value){return CheckPattern(stack,context,schema,value)||context.AddError({keyword:"pattern",schemaPath,instancePath,params:{pattern:schema.pattern}})}function BuildPatternProperties(stack,context,schema,value){return emit_exports.ReduceAnd(guard_exports.Entries(schema.patternProperties).map(([pattern,schema2])=>{let[key,prop]=[Unique(),Unique()],regexp=CreateVariable(UnicodeRegExp(pattern)),notKey=emit_exports.Not(emit_exports.Call(emit_exports.Member(regexp,"test"),[key])),isSchema=BuildSchemaPushStack(stack,context,schema2,prop),addKey=context.AddKey(key),guarded=context.UseUnevaluated()?emit_exports.Or(notKey,emit_exports.And(isSchema,addKey)):emit_exports.Or(notKey,isSchema);return emit_exports.Every(emit_exports.Entries(value),emit_exports.Constant(0),[`[${key}, ${prop}]`,"_"],guarded)}))}function CheckPatternProperties(stack,context,schema,value){return guard_exports.Every(guard_exports.Entries(schema.patternProperties),0,([pattern,schema2])=>{let regexp=UnicodeRegExp(pattern);return guard_exports.Every(guard_exports.Entries(value),0,([key,prop])=>!regexp.test(key)||CheckSchemaPushStack(stack,context,schema2,prop)&&context.AddKey(key))})}function ErrorPatternProperties(stack,context,schemaPath,instancePath,schema,value){return guard_exports.EveryAll(guard_exports.Entries(schema.patternProperties),0,([pattern,schema2])=>{let nextSchemaPath=`${schemaPath}/patternProperties/${pattern}`,regexp=UnicodeRegExp(pattern);return guard_exports.EveryAll(guard_exports.Entries(value),0,([key,value2])=>{let nextInstancePath=`${instancePath}/${key}`;return!regexp.test(key)||ErrorSchemaPushStack(stack,context,nextSchemaPath,nextInstancePath,schema2,value2)&&context.AddKey(key)})})}function BuildPrefixItems(stack,context,schema,value){return emit_exports.ReduceAnd(schema.prefixItems.map((schema2,index3)=>{let isLength=emit_exports.IsLessEqualThan(emit_exports.Member(value,"length"),emit_exports.Constant(index3)),isSchema=BuildSchemaPushStack(stack,context,schema2,`${value}[${index3}]`),addIndex=context.AddIndex(emit_exports.Constant(index3)),guarded=context.UseUnevaluated()?emit_exports.And(isSchema,addIndex):isSchema;return emit_exports.Or(isLength,guarded)}))}function CheckPrefixItems(stack,context,schema,value){return guard_exports.IsEqual(value.length,0)||guard_exports.Every(schema.prefixItems,0,(schema2,index3)=>guard_exports.IsLessEqualThan(value.length,index3)||CheckSchemaPushStack(stack,context,schema2,value[index3])&&context.AddIndex(index3))}function ErrorPrefixItems(stack,context,schemaPath,instancePath,schema,value){return guard_exports.IsEqual(value.length,0)||guard_exports.EveryAll(schema.prefixItems,0,(schema2,index3)=>{let nextSchemaPath=`${schemaPath}/prefixItems/${index3}`,nextInstancePath=`${instancePath}/${index3}`;return guard_exports.IsLessEqualThan(value.length,index3)||ErrorSchemaPushStack(stack,context,nextSchemaPath,nextInstancePath,schema2,value[index3])&&context.AddIndex(index3)})}function IsExactOptional(required,key){return required.includes(key)||settings_exports.Get().exactOptionalPropertyTypes}function InexactOptionalBuild(value,key){return emit_exports.IsUndefined(emit_exports.Member(value,key))}function InexactOptionalCheck(value,key){return guard_exports.IsUndefined(value[key])}function BuildProperties(stack,context,schema,value){let required=IsRequired(schema)?schema.required:[],everyKey=guard_exports.Entries(schema.properties).map(([key,schema2])=>{let notKey=emit_exports.Not(emit_exports.HasPropertyKey(value,emit_exports.Constant(key))),isSchema=BuildSchemaPushStack(stack,context,schema2,emit_exports.Member(value,key)),addKey=context.AddKey(emit_exports.Constant(key)),guarded=context.UseUnevaluated()?emit_exports.And(isSchema,addKey):isSchema,isProperty=required.includes(key)?guarded:emit_exports.Or(notKey,guarded);return IsExactOptional(required,key)?isProperty:emit_exports.Or(InexactOptionalBuild(value,key),isProperty)});return emit_exports.ReduceAnd(everyKey)}function CheckProperties(stack,context,schema,value){let required=IsRequired(schema)?schema.required:[];return guard_exports.Every(guard_exports.Entries(schema.properties),0,([key,schema2])=>{let isProperty=!guard_exports.HasPropertyKey(value,key)||CheckSchemaPushStack(stack,context,schema2,value[key])&&context.AddKey(key);return IsExactOptional(required,key)?isProperty:InexactOptionalCheck(value,key)||isProperty})}function ErrorProperties(stack,context,schemaPath,instancePath,schema,value){let required=IsRequired(schema)?schema.required:[];return guard_exports.EveryAll(guard_exports.Entries(schema.properties),0,([key,schema2])=>{let nextSchemaPath=`${schemaPath}/properties/${key}`,nextInstancePath=`${instancePath}/${key}`,isProperty=()=>!guard_exports.HasPropertyKey(value,key)||ErrorSchemaPushStack(stack,context,nextSchemaPath,nextInstancePath,schema2,value[key])&&context.AddKey(key);return IsExactOptional(required,key)?isProperty():InexactOptionalCheck(value,key)||isProperty()})}function BuildPropertyNames(stack,context,schema,value){let[key,_index]=[Unique(),Unique()];return emit_exports.Every(emit_exports.Keys(value),emit_exports.Constant(0),[key,_index],BuildSchema(stack,context,schema.propertyNames,key))}function CheckPropertyNames(stack,context,schema,value){return guard_exports.Every(guard_exports.Keys(value),0,(key,_index)=>CheckSchema(stack,context,schema.propertyNames,key))}function ErrorPropertyNames(stack,context,schemaPath,instancePath,schema,value){let propertyNames=[];return guard_exports.EveryAll(guard_exports.Keys(value),0,(key,_index)=>{let nextInstancePath=`${instancePath}/${key}`,nextSchemaPath=`${schemaPath}/propertyNames`,isPropertyName=ErrorSchema(stack,context,nextSchemaPath,nextInstancePath,schema.propertyNames,key);return isPropertyName||propertyNames.push(key),isPropertyName})||context.AddError({keyword:"propertyNames",schemaPath,instancePath,params:{propertyNames}})}function BuildRecursiveRef(stack,context,schema,value){let target=stack.RecursiveRef(schema)??!1;return CreateFunction(stack,context,target,value)}function CheckRecursiveRef(stack,context,schema,value){let target=stack.RecursiveRef(schema)??!1;return IsSchema2(target)&&CheckSchema(stack,context,target,value)}function ErrorRecursiveRef(stack,context,_schemaPath,instancePath,schema,value){let target=stack.RecursiveRef(schema)??!1;return IsSchema2(target)&&ErrorSchema(stack,context,"#",instancePath,target,value)}function BuildRefStandard(stack,context,target,value){let interior=emit_exports.ArrowFunction(["context","value"],CreateFunction(stack,context,target,"value")),exterior=emit_exports.ArrowFunction(["context","value"],emit_exports.Statements([emit_exports.ConstDeclaration("nextContext",emit_exports.New("CheckContext",[])),emit_exports.ConstDeclaration("result",emit_exports.Call(interior,["nextContext","value"])),emit_exports.If("result",context.Merge("[nextContext]")),emit_exports.Return("result")]));return emit_exports.Call(exterior,["context",value])}function BuildRefFast(stack,context,target,value){return CreateFunction(stack,context,target,value)}function BuildRef(stack,context,schema,value){let target=stack.Ref(schema)??!1;return context.UseUnevaluated()?BuildRefStandard(stack,context,target,value):BuildRefFast(stack,context,target,value)}function CheckRef(stack,context,schema,value){let target=stack.Ref(schema)??!1,nextContext=new CheckContext,result=IsSchema2(target)&&CheckSchema(stack,nextContext,target,value);return result&&context.Merge([nextContext]),result}function ErrorRef(stack,context,_schemaPath,instancePath,schema,value){let target=stack.Ref(schema)??!1,nextContext=new ErrorContext,result=IsSchema2(target)&&ErrorSchema(stack,nextContext,"#",instancePath,target,value);return result&&context.Merge([nextContext]),result||nextContext.GetErrors().forEach(error=>context.AddError(error)),result}function BuildRequired(_stack,_context,schema,value){return emit_exports.ReduceAnd(schema.required.map(key=>emit_exports.HasPropertyKey(value,emit_exports.Constant(key))))}function CheckRequired(_stack,_context,schema,value){return guard_exports.Every(schema.required,0,key=>guard_exports.HasPropertyKey(value,key))}function ErrorRequired(_stack,context,schemaPath,instancePath,schema,value){let requiredProperties=[];return guard_exports.EveryAll(schema.required,0,key=>{let hasKey=guard_exports.HasPropertyKey(value,key);return hasKey||requiredProperties.push(key),hasKey})||context.AddError({keyword:"required",schemaPath,instancePath,params:{requiredProperties}})}function BuildTypeName(_stack,_context,type,value){return guard_exports.IsEqual(type,"object")?emit_exports.IsObjectNotArray(value):guard_exports.IsEqual(type,"array")?emit_exports.IsArray(value):guard_exports.IsEqual(type,"boolean")?emit_exports.IsBoolean(value):guard_exports.IsEqual(type,"integer")?emit_exports.IsInteger(value):guard_exports.IsEqual(type,"number")?emit_exports.IsNumber(value):guard_exports.IsEqual(type,"null")?emit_exports.IsNull(value):guard_exports.IsEqual(type,"string")?emit_exports.IsString(value):guard_exports.IsEqual(type,"bigint")?emit_exports.IsBigInt(value):guard_exports.IsEqual(type,"constructor")?emit_exports.IsConstructor(value):guard_exports.IsEqual(type,"function")?emit_exports.IsFunction(value):guard_exports.IsEqual(type,"symbol")?emit_exports.IsSymbol(value):guard_exports.IsEqual(type,"undefined")?emit_exports.IsUndefined(value):guard_exports.IsEqual(type,"void")?emit_exports.IsUndefined(value):emit_exports.Constant(!0)}function CheckTypeName(_stack,_context,type,_schema,value){return guard_exports.IsEqual(type,"object")?guard_exports.IsObjectNotArray(value):guard_exports.IsEqual(type,"array")?guard_exports.IsArray(value):guard_exports.IsEqual(type,"boolean")?guard_exports.IsBoolean(value):guard_exports.IsEqual(type,"integer")?guard_exports.IsInteger(value):guard_exports.IsEqual(type,"number")?guard_exports.IsNumber(value):guard_exports.IsEqual(type,"null")?guard_exports.IsNull(value):guard_exports.IsEqual(type,"string")?guard_exports.IsString(value):guard_exports.IsEqual(type,"bigint")?guard_exports.IsBigInt(value):guard_exports.IsEqual(type,"constructor")?guard_exports.IsConstructor(value):guard_exports.IsEqual(type,"function")?guard_exports.IsFunction(value):guard_exports.IsEqual(type,"symbol")?guard_exports.IsSymbol(value):guard_exports.IsEqual(type,"undefined")?guard_exports.IsUndefined(value):guard_exports.IsEqual(type,"void")?guard_exports.IsUndefined(value):!0}function BuildTypeNames(stack,context,typenames,value){return emit_exports.ReduceOr(typenames.map(type=>BuildTypeName(stack,context,type,value)))}function CheckTypeNames(stack,context,types,schema,value){return guard_exports.Some(types,type=>CheckTypeName(stack,context,type,schema,value))}function BuildType(stack,context,schema,value){return guard_exports.IsArray(schema.type)?BuildTypeNames(stack,context,schema.type,value):BuildTypeName(stack,context,schema.type,value)}function CheckType(stack,context,schema,value){return guard_exports.IsArray(schema.type)?CheckTypeNames(stack,context,schema.type,schema,value):CheckTypeName(stack,context,schema.type,schema,value)}function ErrorType(stack,context,schemaPath,instancePath,schema,value){return(guard_exports.IsArray(schema.type)?CheckTypeNames(stack,context,schema.type,schema,value):CheckTypeName(stack,context,schema.type,schema,value))||context.AddError({keyword:"type",schemaPath,instancePath,params:{type:schema.type}})}function BuildUnevaluatedItems(stack,context,schema,value){let[index3,item]=[Unique(),Unique()],indices=emit_exports.Call(emit_exports.Member("context","GetIndices"),[]),hasIndex=emit_exports.Call(emit_exports.Member("indices","has"),[index3]),isSchema=BuildSchema(stack,context,schema.unevaluatedItems,item),addIndex=emit_exports.Call(emit_exports.Member("context","AddIndex"),[index3]),isEvery=emit_exports.Every(value,emit_exports.Constant(0),[item,index3],emit_exports.And(emit_exports.Or(hasIndex,isSchema),addIndex));return emit_exports.Call(emit_exports.ArrowFunction(["context"],emit_exports.Statements([emit_exports.ConstDeclaration("indices",indices),emit_exports.Return(isEvery)])),["context"])}function CheckUnevaluatedItems(stack,context,schema,value){let indices=context.GetIndices();return guard_exports.Every(value,0,(item,index3)=>(indices.has(index3)||CheckSchema(stack,context,schema.unevaluatedItems,item))&&context.AddIndex(index3))}function ErrorUnevaluatedItems(stack,context,schemaPath,instancePath,schema,value){let indices=context.GetIndices(),unevaluatedItems=[];return guard_exports.EveryAll(value,0,(item,index3)=>{let nextContext=new ErrorContext,isEvaluatedItem=(indices.has(index3)||ErrorSchema(stack,nextContext,schemaPath,instancePath,schema.unevaluatedItems,item))&&context.AddIndex(index3);return isEvaluatedItem||unevaluatedItems.push(index3),isEvaluatedItem})||context.AddError({keyword:"unevaluatedItems",schemaPath,instancePath,params:{unevaluatedItems}})}function BuildUnevaluatedProperties(stack,context,schema,value){let[key,prop]=[Unique(),Unique()],keys=emit_exports.Call(emit_exports.Member("context","GetKeys"),[]),hasKey=emit_exports.Call(emit_exports.Member("keys","has"),[key]),addKey=emit_exports.Call(emit_exports.Member("context","AddKey"),[key]),isSchema=BuildSchema(stack,context,schema.unevaluatedProperties,prop),isEvery=emit_exports.Every(emit_exports.Entries(value),emit_exports.Constant(0),[`[${key}, ${prop}]`,"_"],emit_exports.Or(hasKey,emit_exports.And(isSchema,addKey)));return emit_exports.Call(emit_exports.ArrowFunction(["context"],emit_exports.Statements([emit_exports.ConstDeclaration("keys",keys),emit_exports.Return(isEvery)])),["context"])}function CheckUnevaluatedProperties(stack,context,schema,value){let keys=context.GetKeys();return guard_exports.Every(guard_exports.Entries(value),0,([key,prop])=>keys.has(key)||CheckSchema(stack,context,schema.unevaluatedProperties,prop)&&context.AddKey(key))}function ErrorUnevaluatedProperties(stack,context,schemaPath,instancePath,schema,value){let keys=context.GetKeys(),unevaluatedProperties=[];return guard_exports.EveryAll(guard_exports.Entries(value),0,([key,prop])=>{let nextContext=new ErrorContext,isEvaluatedProperty=keys.has(key)||ErrorSchema(stack,nextContext,schemaPath,instancePath,schema.unevaluatedProperties,prop)&&context.AddKey(key);return isEvaluatedProperty||unevaluatedProperties.push(key),isEvaluatedProperty})||context.AddError({keyword:"unevaluatedProperties",schemaPath,instancePath,params:{unevaluatedProperties}})}function IsValid5(schema){return!guard_exports.IsEqual(schema.uniqueItems,!1)}function BuildUniqueItems(_stack,_context,schema,value){if(!IsValid5(schema))return emit_exports.Constant(!0);let set=emit_exports.Member(emit_exports.New("Set",[emit_exports.Call(emit_exports.Member(value,"map"),[emit_exports.Member("Hashing","Hash")])]),"size"),isLength=emit_exports.Member(value,"length");return emit_exports.IsEqual(set,isLength)}function CheckUniqueItems(_stack,_context,schema,value){if(!IsValid5(schema))return!0;let set=new Set(value.map(hash_exports.Hash)).size,isLength=value.length;return guard_exports.IsEqual(set,isLength)}function ErrorUniqueItems(_stack,context,schemaPath,instancePath,schema,value){if(!IsValid5(schema))return!0;let set=new Set,duplicateItems=value.reduce((result,value2,index3)=>{let hash=hash_exports.Hash(value2);return set.has(hash)?[...result,index3]:(set.add(hash),result)},[]);return guard_exports.IsEqual(duplicateItems.length,0)||context.AddError({keyword:"uniqueItems",schemaPath,instancePath,params:{duplicateItems}})}function HasTypeName(schema,typename){return IsType(schema)&&(guard_exports.IsArray(schema.type)&&guard_exports.IsGreaterThan(schema.type.length,0)&&guard_exports.Every(schema.type,0,type=>guard_exports.IsEqual(type,typename))||guard_exports.IsEqual(schema.type,typename))}function HasObjectType(schema){return HasTypeName(schema,"object")}function HasObjectKeywords(schema){return IsSchemaObject(schema)&&(IsAdditionalProperties(schema)||IsDependencies(schema)||IsDependentRequired(schema)||IsDependentSchemas(schema)||IsProperties(schema)||IsPatternProperties(schema)||IsPropertyNames(schema)||IsMinProperties(schema)||IsMaxProperties(schema)||IsRequired(schema)||IsUnevaluatedProperties(schema))}function HasArrayType(schema){return HasTypeName(schema,"array")}function HasArrayKeywords(schema){return IsSchemaObject(schema)&&(IsAdditionalItems(schema)||IsItems(schema)||IsContains(schema)||IsMaxContains(schema)||IsMaxItems(schema)||IsMinContains(schema)||IsMinItems(schema)||IsPrefixItems(schema)||IsUnevaluatedItems(schema)||IsUniqueItems(schema))}function HasStringType(schema){return HasTypeName(schema,"string")}function HasStringKeywords(schema){return IsSchemaObject(schema)&&(IsMinLength(schema)||IsMaxLength(schema)||IsFormat(schema)||IsPattern(schema))}function HasNumberType(schema){return HasTypeName(schema,"number")||HasTypeName(schema,"bigint")}function HasNumberKeywords(schema){return IsSchemaObject(schema)&&(IsMinimum(schema)||IsMaximum(schema)||IsExclusiveMaximum(schema)||IsExclusiveMinimum(schema)||IsMultipleOf(schema))}function BuildSchemaPushStack(stack,context,schema,value){return context.UseUnevaluated()?emit_exports.And(emit_exports.And(context.Push(),BuildSchema(stack,context,schema,value)),context.Pop()):BuildSchema(stack,context,schema,value)}function BuildSchema(stack,context,schema,value){stack.Push(schema);let conditions=[];if(IsSchemaBoolean(schema))return BuildSchemaBoolean(stack,context,schema,value);if(IsType(schema)&&conditions.push(BuildType(stack,context,schema,value)),HasObjectKeywords(schema)){let constraints=[];IsRequired(schema)&&constraints.push(BuildRequired(stack,context,schema,value)),IsAdditionalProperties(schema)&&constraints.push(BuildAdditionalProperties(stack,context,schema,value)),IsDependencies(schema)&&constraints.push(BuildDependencies(stack,context,schema,value)),IsDependentRequired(schema)&&constraints.push(BuildDependentRequired(stack,context,schema,value)),IsDependentSchemas(schema)&&constraints.push(BuildDependentSchemas(stack,context,schema,value)),IsPatternProperties(schema)&&constraints.push(BuildPatternProperties(stack,context,schema,value)),IsProperties(schema)&&constraints.push(BuildProperties(stack,context,schema,value)),IsPropertyNames(schema)&&constraints.push(BuildPropertyNames(stack,context,schema,value)),IsMinProperties(schema)&&constraints.push(BuildMinProperties(stack,context,schema,value)),IsMaxProperties(schema)&&constraints.push(BuildMaxProperties(stack,context,schema,value));let reduced=emit_exports.ReduceAnd(constraints),guarded=emit_exports.Or(emit_exports.Not(emit_exports.IsObjectNotArray(value)),reduced);conditions.push(HasObjectType(schema)?reduced:guarded)}if(HasArrayKeywords(schema)){let constraints=[];IsAdditionalItems(schema)&&constraints.push(BuildAdditionalItems(stack,context,schema,value)),IsContains(schema)&&constraints.push(BuildContains(stack,context,schema,value)),IsItems(schema)&&constraints.push(BuildItems(stack,context,schema,value)),IsMaxContains(schema)&&constraints.push(BuildMaxContains(stack,context,schema,value)),IsMaxItems(schema)&&constraints.push(BuildMaxItems(stack,context,schema,value)),IsMinContains(schema)&&constraints.push(BuildMinContains(stack,context,schema,value)),IsMinItems(schema)&&constraints.push(BuildMinItems(stack,context,schema,value)),IsPrefixItems(schema)&&constraints.push(BuildPrefixItems(stack,context,schema,value)),IsUniqueItems(schema)&&constraints.push(BuildUniqueItems(stack,context,schema,value));let reduced=emit_exports.ReduceAnd(constraints),guarded=emit_exports.Or(emit_exports.Not(emit_exports.IsArray(value)),reduced);conditions.push(HasArrayType(schema)?reduced:guarded)}if(HasStringKeywords(schema)){let constraints=[];IsMaxLength(schema)&&constraints.push(BuildMaxLength(stack,context,schema,value)),IsMinLength(schema)&&constraints.push(BuildMinLength(stack,context,schema,value)),IsFormat(schema)&&constraints.push(BuildFormat(stack,context,schema,value)),IsPattern(schema)&&constraints.push(BuildPattern(stack,context,schema,value));let reduced=emit_exports.ReduceAnd(constraints),guarded=emit_exports.Or(emit_exports.Not(emit_exports.IsString(value)),reduced);conditions.push(HasStringType(schema)?reduced:guarded)}if(HasNumberKeywords(schema)){let constraints=[];IsExclusiveMaximum(schema)&&constraints.push(BuildExclusiveMaximum(stack,context,schema,value)),IsExclusiveMinimum(schema)&&constraints.push(BuildExclusiveMinimum(stack,context,schema,value)),IsMaximum(schema)&&constraints.push(BuildMaximum(stack,context,schema,value)),IsMinimum(schema)&&constraints.push(BuildMinimum(stack,context,schema,value)),IsMultipleOf(schema)&&constraints.push(BuildMultipleOf(stack,context,schema,value));let reduced=emit_exports.ReduceAnd(constraints),guarded=emit_exports.Or(emit_exports.Not(emit_exports.Or(emit_exports.IsNumber(value),emit_exports.IsBigInt(value))),reduced);conditions.push(HasNumberType(schema)?reduced:guarded)}IsRef2(schema)&&conditions.push(BuildRef(stack,context,schema,value)),IsRecursiveRef(schema)&&conditions.push(BuildRecursiveRef(stack,context,schema,value)),IsDynamicRef(schema)&&conditions.push(BuildDynamicRef(stack,context,schema,value)),IsConst(schema)&&conditions.push(BuildConst(stack,context,schema,value)),IsEnum2(schema)&&conditions.push(BuildEnum(stack,context,schema,value)),IsIf(schema)&&conditions.push(BuildIf(stack,context,schema,value)),IsNot(schema)&&conditions.push(BuildNot(stack,context,schema,value)),IsAllOf(schema)&&conditions.push(BuildAllOf(stack,context,schema,value)),IsAnyOf(schema)&&conditions.push(BuildAnyOf(stack,context,schema,value)),IsOneOf(schema)&&conditions.push(BuildOneOf(stack,context,schema,value)),IsUnevaluatedItems(schema)&&conditions.push(emit_exports.Or(emit_exports.Not(emit_exports.IsArray(value)),BuildUnevaluatedItems(stack,context,schema,value))),IsUnevaluatedProperties(schema)&&conditions.push(emit_exports.Or(emit_exports.Not(emit_exports.IsObject(value)),BuildUnevaluatedProperties(stack,context,schema,value))),IsRefine2(schema)&&conditions.push(BuildRefine(stack,context,schema,value));let result=emit_exports.ReduceAnd(conditions);return stack.Pop(schema),result}function CheckSchemaPushStack(stack,context,schema,value){return context.Push()&&CheckSchema(stack,context,schema,value)&&context.Pop()}function CheckSchema(stack,context,schema,value){stack.Push(schema);let result=IsSchemaBoolean(schema)?CheckSchemaBoolean(stack,context,schema,value):(!IsType(schema)||CheckType(stack,context,schema,value))&&(!(guard_exports.IsObject(value)&&!guard_exports.IsArray(value))||(!IsRequired(schema)||CheckRequired(stack,context,schema,value))&&(!IsAdditionalProperties(schema)||CheckAdditionalProperties(stack,context,schema,value))&&(!IsDependencies(schema)||CheckDependencies(stack,context,schema,value))&&(!IsDependentRequired(schema)||CheckDependentRequired(stack,context,schema,value))&&(!IsDependentSchemas(schema)||CheckDependentSchemas(stack,context,schema,value))&&(!IsPatternProperties(schema)||CheckPatternProperties(stack,context,schema,value))&&(!IsProperties(schema)||CheckProperties(stack,context,schema,value))&&(!IsPropertyNames(schema)||CheckPropertyNames(stack,context,schema,value))&&(!IsMinProperties(schema)||CheckMinProperties(stack,context,schema,value))&&(!IsMaxProperties(schema)||CheckMaxProperties(stack,context,schema,value)))&&(!guard_exports.IsArray(value)||(!IsAdditionalItems(schema)||CheckAdditionalItems(stack,context,schema,value))&&(!IsContains(schema)||CheckContains(stack,context,schema,value))&&(!IsItems(schema)||CheckItems(stack,context,schema,value))&&(!IsMaxContains(schema)||CheckMaxContains(stack,context,schema,value))&&(!IsMaxItems(schema)||CheckMaxItems(stack,context,schema,value))&&(!IsMinContains(schema)||CheckMinContains(stack,context,schema,value))&&(!IsMinItems(schema)||CheckMinItems(stack,context,schema,value))&&(!IsPrefixItems(schema)||CheckPrefixItems(stack,context,schema,value))&&(!IsUniqueItems(schema)||CheckUniqueItems(stack,context,schema,value)))&&(!guard_exports.IsString(value)||(!IsMaxLength(schema)||CheckMaxLength(stack,context,schema,value))&&(!IsMinLength(schema)||CheckMinLength(stack,context,schema,value))&&(!IsFormat(schema)||CheckFormat(stack,context,schema,value))&&(!IsPattern(schema)||CheckPattern(stack,context,schema,value)))&&(!(guard_exports.IsNumber(value)||guard_exports.IsBigInt(value))||(!IsExclusiveMaximum(schema)||CheckExclusiveMaximum(stack,context,schema,value))&&(!IsExclusiveMinimum(schema)||CheckExclusiveMinimum(stack,context,schema,value))&&(!IsMaximum(schema)||CheckMaximum(stack,context,schema,value))&&(!IsMinimum(schema)||CheckMinimum(stack,context,schema,value))&&(!IsMultipleOf(schema)||CheckMultipleOf(stack,context,schema,value)))&&(!IsRef2(schema)||CheckRef(stack,context,schema,value))&&(!IsRecursiveRef(schema)||CheckRecursiveRef(stack,context,schema,value))&&(!IsDynamicRef(schema)||CheckDynamicRef(stack,context,schema,value))&&(!IsConst(schema)||CheckConst(stack,context,schema,value))&&(!IsEnum2(schema)||CheckEnum(stack,context,schema,value))&&(!IsIf(schema)||CheckIf(stack,context,schema,value))&&(!IsNot(schema)||CheckNot(stack,context,schema,value))&&(!IsAllOf(schema)||CheckAllOf(stack,context,schema,value))&&(!IsAnyOf(schema)||CheckAnyOf(stack,context,schema,value))&&(!IsOneOf(schema)||CheckOneOf(stack,context,schema,value))&&(!IsUnevaluatedItems(schema)||!guard_exports.IsArray(value)||CheckUnevaluatedItems(stack,context,schema,value))&&(!IsUnevaluatedProperties(schema)||!guard_exports.IsObject(value)||CheckUnevaluatedProperties(stack,context,schema,value))&&(!IsRefine2(schema)||CheckRefine(stack,context,schema,value));return stack.Pop(schema),result}function ErrorSchemaPushStack(stack,context,schemaPath,instancePath,schema,value){return context.Push()&&ErrorSchema(stack,context,schemaPath,instancePath,schema,value)&&context.Pop()}function ErrorSchema(stack,context,schemaPath,instancePath,schema,value){if(context.AtCapacity())return!1;stack.Push(schema);let result=IsSchemaBoolean(schema)?ErrorSchemaBoolean(stack,context,schemaPath,instancePath,schema,value):!!(+(!IsType(schema)||ErrorType(stack,context,schemaPath,instancePath,schema,value))&+(!(guard_exports.IsObject(value)&&!guard_exports.IsArray(value))||!!(+(!IsRequired(schema)||ErrorRequired(stack,context,schemaPath,instancePath,schema,value))&+(!IsAdditionalProperties(schema)||ErrorAdditionalProperties(stack,context,schemaPath,instancePath,schema,value))&+(!IsDependencies(schema)||ErrorDependencies(stack,context,schemaPath,instancePath,schema,value))&+(!IsDependentRequired(schema)||ErrorDependentRequired(stack,context,schemaPath,instancePath,schema,value))&+(!IsDependentSchemas(schema)||ErrorDependentSchemas(stack,context,schemaPath,instancePath,schema,value))&+(!IsPatternProperties(schema)||ErrorPatternProperties(stack,context,schemaPath,instancePath,schema,value))&+(!IsProperties(schema)||ErrorProperties(stack,context,schemaPath,instancePath,schema,value))&+(!IsPropertyNames(schema)||ErrorPropertyNames(stack,context,schemaPath,instancePath,schema,value))&+(!IsMinProperties(schema)||ErrorMinProperties(stack,context,schemaPath,instancePath,schema,value))&+(!IsMaxProperties(schema)||ErrorMaxProperties(stack,context,schemaPath,instancePath,schema,value))))&+(!guard_exports.IsArray(value)||!!(+(!IsAdditionalItems(schema)||ErrorAdditionalItems(stack,context,schemaPath,instancePath,schema,value))&+(!IsContains(schema)||ErrorContains(stack,context,schemaPath,instancePath,schema,value))&+(!IsItems(schema)||ErrorItems(stack,context,schemaPath,instancePath,schema,value))&+(!IsMaxContains(schema)||ErrorMaxContains(stack,context,schemaPath,instancePath,schema,value))&+(!IsMaxItems(schema)||ErrorMaxItems(stack,context,schemaPath,instancePath,schema,value))&+(!IsMinContains(schema)||ErrorMinContains(stack,context,schemaPath,instancePath,schema,value))&+(!IsMinItems(schema)||ErrorMinItems(stack,context,schemaPath,instancePath,schema,value))&+(!IsPrefixItems(schema)||ErrorPrefixItems(stack,context,schemaPath,instancePath,schema,value))&+(!IsUniqueItems(schema)||ErrorUniqueItems(stack,context,schemaPath,instancePath,schema,value))))&+(!guard_exports.IsString(value)||!!(+(!IsMaxLength(schema)||ErrorMaxLength(stack,context,schemaPath,instancePath,schema,value))&+(!IsMinLength(schema)||ErrorMinLength(stack,context,schemaPath,instancePath,schema,value))&+(!IsFormat(schema)||ErrorFormat(stack,context,schemaPath,instancePath,schema,value))&+(!IsPattern(schema)||ErrorPattern(stack,context,schemaPath,instancePath,schema,value))))&+(!(guard_exports.IsNumber(value)||guard_exports.IsBigInt(value))||!!(+(!IsExclusiveMaximum(schema)||ErrorExclusiveMaximum(stack,context,schemaPath,instancePath,schema,value))&+(!IsExclusiveMinimum(schema)||ErrorExclusiveMinimum(stack,context,schemaPath,instancePath,schema,value))&+(!IsMaximum(schema)||ErrorMaximum(stack,context,schemaPath,instancePath,schema,value))&+(!IsMinimum(schema)||ErrorMinimum(stack,context,schemaPath,instancePath,schema,value))&+(!IsMultipleOf(schema)||ErrorMultipleOf(stack,context,schemaPath,instancePath,schema,value))))&+(!IsRef2(schema)||ErrorRef(stack,context,schemaPath,instancePath,schema,value))&+(!IsRecursiveRef(schema)||ErrorRecursiveRef(stack,context,schemaPath,instancePath,schema,value))&+(!IsDynamicRef(schema)||ErrorDynamicRef(stack,context,schemaPath,instancePath,schema,value))&+(!IsConst(schema)||ErrorConst(stack,context,schemaPath,instancePath,schema,value))&+(!IsEnum2(schema)||ErrorEnum(stack,context,schemaPath,instancePath,schema,value))&+(!IsIf(schema)||ErrorIf(stack,context,schemaPath,instancePath,schema,value))&+(!IsNot(schema)||ErrorNot(stack,context,schemaPath,instancePath,schema,value))&+(!IsAllOf(schema)||ErrorAllOf(stack,context,schemaPath,instancePath,schema,value))&+(!IsAnyOf(schema)||ErrorAnyOf(stack,context,schemaPath,instancePath,schema,value))&+(!IsOneOf(schema)||ErrorOneOf(stack,context,schemaPath,instancePath,schema,value))&+(!IsUnevaluatedItems(schema)||!guard_exports.IsArray(value)||ErrorUnevaluatedItems(stack,context,schemaPath,instancePath,schema,value))&+(!IsUnevaluatedProperties(schema)||!guard_exports.IsObject(value)||ErrorUnevaluatedProperties(stack,context,schemaPath,instancePath,schema,value)))&&(!IsRefine2(schema)||ErrorRefine(stack,context,schemaPath,instancePath,schema,value));return stack.Pop(schema),result}var index2=[0],names=new Map,funcs=new Map;function NextName(){return`${index2[0]++}`}function CreateName(schema,href){names.has(schema)||names.set(schema,new Map);let hrefs=names.get(schema);if(hrefs.has(href))return hrefs.get(href);let name=NextName();return hrefs.set(href,name),name}function CreateCallExpression(context,_schema,name,value){return context.UseUnevaluated()?emit_exports.Call(`check_${name}`,["context",value]):emit_exports.Call(`check_${name}`,[value])}function CreateFunctionExpression(stack,context,schema,name){let expression=BuildSchema(stack,context,schema,"value");return context.UseUnevaluated()?emit_exports.ConstDeclaration(`check_${name}`,emit_exports.ArrowFunction(["context","value"],expression)):emit_exports.ConstDeclaration(`check_${name}`,emit_exports.ArrowFunction(["value"],expression))}function ResetFunctions(){index2[0]=0,names.clear(),funcs.clear()}function GetFunctions(){return[...funcs.values()]}function CreateFunction(stack,context,schema,value){let name=CreateName(schema,stack.LexicalBaseURL()),call=CreateCallExpression(context,schema,name,value);return funcs.has(name)||(funcs.set(name,""),funcs.set(name,CreateFunctionExpression(stack,context,schema,name))),call}var resolve_exports={};__export(resolve_exports,{Base:()=>Base,DefaultBase:()=>DefaultBase,DynamicRef:()=>DynamicRef,Ref:()=>Ref2,ResolveDynamicRef:()=>ResolveDynamicRef,ResolveRecursiveRef:()=>ResolveRecursiveRef,ResolveRef:()=>ResolveRef,Resource:()=>Resource});var pointer_exports={};__export(pointer_exports,{Delete:()=>Delete,Get:()=>Get3,Has:()=>Has2,Indices:()=>Indices,Set:()=>Set3});function AssertNotRoot(indices){if(indices.length===0)throw Error("Cannot set root")}function AssertCanSet(value){if(!guard_exports.IsObject(value))throw Error("Cannot set value")}function AssertIndex(index3){if(guard_exports.IsUnsafePropertyKey(index3))throw Error("Pointer contains unsafe property key")}function AssertIndices(indices){for(let index3 of indices)AssertIndex(index3)}function IsNumericIndex(index3){return/^(0|[1-9]\d*)$/.test(index3)}function TakeIndexRight(indices){return[indices.slice(0,indices.length-1),indices.slice(indices.length-1)[0]]}function HasIndex(index3,value){return guard_exports.IsObject(value)&&guard_exports.HasPropertyKey(value,index3)}function GetIndex(index3,value){return guard_exports.IsObject(value)&&!guard_exports.IsUnsafePropertyKey(index3)?value[index3]:void 0}function GetIndices(indices,value){return indices.reduce((value2,index3)=>GetIndex(index3,value2),value)}function Indices(pointer){if(guard_exports.IsEqual(pointer.length,0))return[];let indices=pointer.split("/").map(index3=>index3.replace(/~1/g,"/").replace(/~0/g,"~"));return indices.length>0&&indices[0]===""?indices.slice(1):indices}function Has2(value,pointer){let current=value;return Indices(pointer).every(index3=>HasIndex(index3,current)?(current=current[index3],!0):!1)}function Get3(value,pointer){let indices=Indices(pointer);return GetIndices(indices,value)}function Set3(value,pointer,next){let indices=Indices(pointer);AssertNotRoot(indices),AssertIndices(indices);let[head,index3]=TakeIndexRight(indices),parent=GetIndices(head,value);return AssertCanSet(parent),parent[index3]=next,value}function Delete(value,pointer){let indices=Indices(pointer);AssertNotRoot(indices),AssertIndices(indices);let[head,index3]=TakeIndexRight(indices),parent=GetIndices(head,value);return AssertCanSet(parent),guard_exports.IsArray(parent)&&IsNumericIndex(index3)?parent.splice(+index3,1):delete parent[index3],value}var DefaultBase="https://json-schema.org";function FindDynamicAnchor(schema,name){if(guard_exports.IsObject(schema)&&IsDynamicAnchor(schema)&&guard_exports.IsEqual(schema.$dynamicAnchor,name))return schema;if(guard_exports.IsObject(schema))for(let key of guard_exports.Keys(schema)){let result=FindDynamicAnchor(schema[key],name);if(result)return result}}function FindBase(schema,base,target){if(guard_exports.IsEqual(schema,target))return base.href;let nextBase=IsSchemaObject(schema)&&IsId(schema)?new URL(schema.$id,base.href):base;if(guard_exports.IsArray(schema))for(let item of schema){let result=FindBase(item,nextBase,target);if(!guard_exports.IsUndefined(result))return result}else if(guard_exports.IsObject(schema))for(let key of guard_exports.Keys(schema)){let result=FindBase(schema[key],nextBase,target);if(!guard_exports.IsUndefined(result))return result}}function MatchId(schema,base,ref){if(guard_exports.IsEqual(schema.$id,ref.hash))return schema;let absoluteRef=new URL(ref.href,base.href);if(guard_exports.IsEqual(base.pathname,absoluteRef.pathname))return ref.hash.startsWith("#")?MatchHash(schema,ref):schema}function MatchAnchor(schema,base,ref){let absoluteAnchor=new URL(`#${schema.$anchor}`,base.href),absoluteRef=new URL(ref.href,base.href);return guard_exports.IsEqual(absoluteAnchor.href,absoluteRef.href)?schema:void 0}function MatchDynamicAnchor(schema,base,ref){let absoluteAnchor=new URL(`#${schema.$dynamicAnchor}`,base.href),absoluteRef=new URL(ref.href,base.href);return guard_exports.IsEqual(absoluteAnchor.href,absoluteRef.href)?schema:void 0}function MatchHash(schema,ref){if(ref.href.endsWith("#"))return schema;if(!ref.hash.startsWith("#"))return;let fragment=decodeURIComponent(ref.hash.slice(1));return fragment.startsWith("/")?pointer_exports.Get(schema,fragment):void 0}function Match(schema,base,ref){if(IsId(schema)){let result=MatchId(schema,base,ref);if(!guard_exports.IsUndefined(result))return result}if(IsAnchor(schema)){let result=MatchAnchor(schema,base,ref);if(!guard_exports.IsUndefined(result))return result}if(IsDynamicAnchor(schema)){let result=MatchDynamicAnchor(schema,base,ref);if(!guard_exports.IsUndefined(result))return result}return MatchHash(schema,ref)}function FromArray(schema,base,ref){return schema.reduce((result,item)=>{let match=FromValue(item,base,ref);return guard_exports.IsUndefined(match)?result:match},void 0)}function SkipProperty(key){return guard_exports.IsEqual(key,"const")||guard_exports.IsEqual(key,"enum")}function FromObject(schema,base,ref){return guard_exports.Keys(schema).reduce((result,key)=>{if(SkipProperty(key))return result;let match=FromValue(schema[key],base,ref);return guard_exports.IsUndefined(match)?result:match},void 0)}function FromValue(schema,base,ref){let nextBase=IsSchemaObject(schema)&&IsId(schema)?new URL(schema.$id,base.href):base;if(IsSchemaObject(schema)){let result=Match(schema,nextBase,ref);if(!guard_exports.IsUndefined(result))return result}if(guard_exports.IsArray(schema))return FromArray(schema,nextBase,ref);if(guard_exports.IsObject(schema))return FromObject(schema,nextBase,ref)}function Base(schema,base,target){return FindBase(schema,new URL(base||".",DefaultBase),target)}function Resource(context,schema,base,ref){let result=Ref2(context,schema,base,ref,!1);return IsSchemaObject(result)&&IsId(result)?result:void 0}function CanonicalHref(url){return url.href.split("#")[0]}function RefContext(context,ref){return guard_exports.HasPropertyKey(context,ref)?context[ref]:void 0}function RefLocal(schema,base,ref){return FromValue(schema,base,ref)}function RefRemote(context,base,ref){let canonicalHref=CanonicalHref(ref);if(guard_exports.IsEqual(canonicalHref,CanonicalHref(base))||!guard_exports.HasPropertyKey(context,canonicalHref))return;let remoteSchema=context[canonicalHref],remoteBase=IsSchemaObject(remoteSchema)&&IsId(remoteSchema)?new URL(remoteSchema.$id,canonicalHref):new URL(canonicalHref);return guard_exports.IsEqual(ref.hash,"")?remoteSchema:FromValue(remoteSchema,remoteBase,ref)}function LegacyRetrievedResource(root,lexicalSchema,referenceBase,ref,schema){if(!ref.$ref.startsWith("#")||guard_exports.HasPropertyKey(root,"$schema"))return;let targetBase=Base(lexicalSchema,referenceBase,schema);if(!(guard_exports.IsUndefined(targetBase)||guard_exports.IsEqual(targetBase,referenceBase)))return{target:schema,base:targetBase,root:lexicalSchema}}function RemoteRetrievedResource(context,canonical,schema){let remoteRoot=context[canonical];if(IsSchemaObject(remoteRoot))return{target:schema,base:canonical,root:remoteRoot}}function FindRetrievedResource(stackframe,ref,schema,canonical,isRemote){let remote=isRemote?RemoteRetrievedResource(stackframe.context,canonical,schema):void 0;return guard_exports.IsUndefined(remote)?LegacyRetrievedResource(stackframe.root,stackframe.lexicalSchema,stackframe.referenceBase,ref,schema):remote}function FindResolvedResource(context,root,referenceBase,canonical,schema,ids){if(IsId(schema))return;let resource=Resource(context,root,referenceBase,canonical);if(!(!resource||ids.includes(resource)))return{target:schema,resource}}function Ref2(remotes,schema,base,ref,applySchemaId=!0){let initialBase=new URL(base||".",DefaultBase),resolvedBase=applySchemaId&&IsId(schema)?new URL(schema.$id,initialBase):initialBase,initialRef=new URL(ref,resolvedBase.href);return RefContext(remotes,ref)??RefLocal(schema,resolvedBase,initialRef)??RefRemote(remotes,resolvedBase,initialRef)}function DynamicRef(context,root,base,schema,dynamicRef,dynamicAnchors){let initialBase=new URL(base||".",DefaultBase),fragmentRoot=dynamicRef.$dynamicRef.startsWith("#")?schema:root,fragmentTarget=Ref2(context,fragmentRoot,base,dynamicRef.$dynamicRef,!1);if(guard_exports.IsUndefined(fragmentTarget)){let fragment2=new URL(dynamicRef.$dynamicRef,initialBase).hash;if(!fragment2.startsWith("#/")&&fragment2.startsWith("#")){let name=decodeURIComponent(fragment2.slice(1));return dynamicAnchors.find(anchor=>guard_exports.IsEqual(anchor.$dynamicAnchor,name))??FindDynamicAnchor(root,name)}return}return!IsSchemaObject(fragmentTarget)||!IsDynamicAnchor(fragmentTarget)||new URL(dynamicRef.$dynamicRef,initialBase).hash.startsWith("#/")?fragmentTarget:dynamicAnchors.find(anchor=>guard_exports.IsEqual(anchor.$dynamicAnchor,fragmentTarget.$dynamicAnchor))??fragmentTarget}function ResolveRef(stackframe,ref){let source=stackframe.inRetrievedFrame?stackframe.lexicalSchema:stackframe.root,refRoot=ref.$ref.startsWith("#")?stackframe.lexicalSchema:source,schema=Ref2(stackframe.context,refRoot,stackframe.referenceBase,ref.$ref,!1);if(!schema||!IsSchemaObject(schema))return{schema};let canonical=new URL(ref.$ref,stackframe.referenceBase).href.split("#")[0],isRemote=!guard_exports.IsEqual(canonical,stackframe.resourceBase),retrievedResource=FindRetrievedResource(stackframe,ref,schema,canonical,isRemote),resolvedResource=isRemote?FindResolvedResource(stackframe.context,stackframe.root,stackframe.referenceBase,canonical,schema,stackframe.ids):void 0;return{schema,retrievedResource,resolvedResource}}function ResolveRecursiveRef(stackframe,recursiveRef){let refRoot=IsRecursiveAnchorTrue(stackframe.lexicalSchema)?stackframe.recursiveAnchors[0]:stackframe.lexicalSchema;return Ref2(stackframe.context,refRoot,stackframe.lexicalBase,recursiveRef.$recursiveRef,!1)}function ResolveDynamicRef(stackframe,dynamicRef){return DynamicRef(stackframe.context,stackframe.root,stackframe.lexicalBase,stackframe.lexicalSchema,dynamicRef,stackframe.dynamicAnchors)}var __classPrivateFieldGet=function(receiver,state2,kind,f){if(kind==="a"&&!f)throw new TypeError("Private accessor was defined without a getter");if(typeof state2=="function"?receiver!==state2||!f:!state2.has(receiver))throw new TypeError("Cannot read private member from an object whose class did not declare it");return kind==="m"?f:kind==="a"?f.call(receiver):f?f.value:state2.get(receiver)},_Stack_instances,_Stack_StackFrame,_Stack_ApplyRefResult,_Stack_BuildBase,_Stack_ResourceBaseURL,_Stack_ReferenceBaseURL,_Stack_LexicalSchema,_Stack_RegisterResourceAnchorArray,_Stack_UnregisterResourceAnchorArray,_Stack_RegisterResourceAnchors,_Stack_UnregisterResourceAnchors,_Stack_RegisterResource,_Stack_UnregisterResource,_Stack_EnterResolvedResource,_Stack_ExitResolvedResource,Stack=class{constructor(context,schema){_Stack_instances.add(this),this.context=context,this.schema=schema,this.ids=[],this.resourceIds=[],this.anchors=[],this.recursiveAnchors=[],this.dynamicAnchors=[],this.retrievedResources=new Map,this.retrievedFrames=[],this.resolvedResources=new Map,this.pendingResource=!0}LexicalBaseURL(){return __classPrivateFieldGet(this,_Stack_instances,"m",_Stack_BuildBase).call(this,this.ids)}Push(schema){if(!IsSchemaObject(schema))return;IsId(schema)&&__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_RegisterResource).call(this,schema),IsAnchor(schema)&&this.anchors.push(schema),IsRecursiveAnchorTrue(schema)&&this.recursiveAnchors.push(schema),IsDynamicAnchor(schema)&&this.dynamicAnchors.push(schema);let retrievedResource=this.retrievedResources.get(schema);retrievedResource&&this.retrievedFrames.push({schema:retrievedResource.root,base:retrievedResource.base,idDepth:this.ids.length,resourceDepth:this.resourceIds.length})}Pop(schema){IsSchemaObject(schema)&&(IsId(schema)&&__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_UnregisterResource).call(this,schema),IsAnchor(schema)&&this.anchors.pop(),IsRecursiveAnchorTrue(schema)&&this.recursiveAnchors.pop(),IsDynamicAnchor(schema)&&this.dynamicAnchors.pop(),this.retrievedResources.has(schema)&&this.retrievedFrames.pop(),__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_ExitResolvedResource).call(this,schema))}Ref(ref){let result=resolve_exports.ResolveRef(__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_StackFrame).call(this),ref);return __classPrivateFieldGet(this,_Stack_instances,"m",_Stack_ApplyRefResult).call(this,result),result.schema}RecursiveRef(recursiveRef){let result=resolve_exports.ResolveRecursiveRef(__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_StackFrame).call(this),recursiveRef);return result&&(this.pendingResource=!0),result}DynamicRef(dynamicRef){let result=resolve_exports.ResolveDynamicRef(__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_StackFrame).call(this),dynamicRef);return result&&(this.pendingResource=!0),result}};_Stack_instances=new WeakSet,_Stack_StackFrame=function(){return{context:this.context,root:this.schema,ids:this.ids,lexicalSchema:__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_LexicalSchema).call(this),lexicalBase:this.LexicalBaseURL(),referenceBase:__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_ReferenceBaseURL).call(this),resourceBase:__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_ResourceBaseURL).call(this),recursiveAnchors:this.recursiveAnchors,dynamicAnchors:this.dynamicAnchors,inRetrievedFrame:this.retrievedFrames.length>0}},_Stack_ApplyRefResult=function(result){guard_exports.IsUndefined(result.schema)||(this.pendingResource=!0),guard_exports.IsUndefined(result.resolvedResource)||__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_EnterResolvedResource).call(this,result.resolvedResource.target,result.resolvedResource.resource),guard_exports.IsUndefined(result.retrievedResource)||this.retrievedResources.set(result.retrievedResource.target,{base:result.retrievedResource.base,root:result.retrievedResource.root})},_Stack_BuildBase=function(stack){let frame=this.retrievedFrames[this.retrievedFrames.length-1],base=frame?new URL(frame.base):new URL(resolve_exports.DefaultBase);return(frame?stack.slice(frame.idDepth):stack).reduce((result,schema)=>new URL(schema.$id,result),base).href},_Stack_ResourceBaseURL=function(){let frame=this.retrievedFrames[this.retrievedFrames.length-1];return frame?this.resourceIds.slice(frame.resourceDepth).reduce((result,schema)=>new URL(schema.$id,result),new URL(frame.base)).href:__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_BuildBase).call(this,this.resourceIds)},_Stack_ReferenceBaseURL=function(){if(this.retrievedFrames.length>0)return __classPrivateFieldGet(this,_Stack_instances,"m",_Stack_ResourceBaseURL).call(this);let lexical=this.ids[this.ids.length-1];return lexical&&!/^[A-Za-z][A-Za-z0-9+.-]*:/.test(lexical.$id)?this.LexicalBaseURL():__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_ResourceBaseURL).call(this)},_Stack_LexicalSchema=function(){let frame=this.retrievedFrames[this.retrievedFrames.length-1];return frame?this.ids.length>frame.idDepth?this.ids[this.ids.length-1]:frame.schema:this.ids.length>0?this.ids[this.ids.length-1]:this.schema},_Stack_RegisterResourceAnchorArray=function(schema){schema.forEach(schema2=>__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_RegisterResourceAnchors).call(this,schema2,!1))},_Stack_UnregisterResourceAnchorArray=function(schema){schema.forEach(schema2=>__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_UnregisterResourceAnchors).call(this,schema2,!1))},_Stack_RegisterResourceAnchors=function _Stack_RegisterResourceAnchors2(schema,isRoot=!0){if(IsSchemaBoolean(schema))return;if(guard_exports.IsArray(schema))return __classPrivateFieldGet(this,_Stack_instances,"m",_Stack_RegisterResourceAnchorArray).call(this,schema);if(!IsSchemaObject(schema))return;let current=schema;if(!(!isRoot&&IsId(current))){!isRoot&&IsDynamicAnchor(current)&&this.dynamicAnchors.push(current);for(let key of guard_exports.Keys(current))__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_RegisterResourceAnchors2).call(this,current[key],!1)}},_Stack_UnregisterResourceAnchors=function _Stack_UnregisterResourceAnchors2(schema,isRoot=!0){if(IsSchemaBoolean(schema))return;if(guard_exports.IsArray(schema))return __classPrivateFieldGet(this,_Stack_instances,"m",_Stack_UnregisterResourceAnchorArray).call(this,schema);if(!IsSchemaObject(schema))return;let current=schema;if(!(!isRoot&&IsId(current))){!isRoot&&IsDynamicAnchor(current)&&this.dynamicAnchors.pop();for(let key of guard_exports.Keys(current))__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_UnregisterResourceAnchors2).call(this,current[key],!1)}},_Stack_RegisterResource=function(schema){this.ids.push(schema);let isResource=this.pendingResource;this.pendingResource=!1,isResource&&this.resourceIds.push(schema),__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_RegisterResourceAnchors).call(this,schema,!0)},_Stack_UnregisterResource=function(schema){this.ids.pop(),this.resourceIds.length>0&&guard_exports.IsEqual(this.resourceIds[this.resourceIds.length-1],schema)&&this.resourceIds.pop(),__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_UnregisterResourceAnchors).call(this,schema,!0)},_Stack_EnterResolvedResource=function(target,resource){__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_RegisterResource).call(this,resource),this.resolvedResources.set(target,resource)},_Stack_ExitResolvedResource=function(target){if(!this.resolvedResources.has(target))return;let resource=this.resolvedResources.get(target);__classPrivateFieldGet(this,_Stack_instances,"m",_Stack_UnregisterResource).call(this,resource),this.resolvedResources.delete(target)};function CreateCode(build){let functions=build.Functions().join(`;
|
|
3
|
-
`),statements=build.UseUnevaluated()?["const context = new CheckContext({}, {})",`return ${build.Entry()}`]:[`return ${build.Entry()}`];return`${functions}; return (value) => { ${statements.join("; ")} }`}function CreateEvaluatedCheck(build,code){return environment_exports.Evaluate("CheckContext","Guard","Format","Hashing",build.External().identifier,code)(CheckContext,guard_exports,format_exports,hash_exports,build.External().variables)}function CreateDynamicCheck(build){let stack=new Stack(build.Context(),build.Schema()),context=new CheckContext;return value=>CheckSchema(stack,context,build.Schema(),value)}function CreateCheck(build,code){return environment_exports.CanEvaluate()?CreateEvaluatedCheck(build,code):CreateDynamicCheck(build)}var EvaluateResult=class{constructor(isAccelerated,code,check){this.isAccelerated=isAccelerated,this.code=code,this.check=check}IsAccelerated(){return this.isAccelerated}Code(){return this.code}Check(value){return this.check(value)}},BuildResult=class{constructor(context,schema,external,functions,entry,useUnevaluated){this.context=context,this.schema=schema,this.external=external,this.functions=functions,this.entry=entry,this.useUnevaluated=useUnevaluated}Context(){return this.context}Schema(){return this.schema}UseUnevaluated(){return this.useUnevaluated}External(){return this.external}Functions(){return this.functions}Entry(){return this.entry}Evaluate(){let code=CreateCode(this),check=CreateCheck(this,code);return new EvaluateResult(environment_exports.CanEvaluate(),code,check)}};function Build(...args){let[context,schema]=arguments_exports.Match(args,{2:(context2,schema2)=>[context2,schema2],1:schema2=>[{},schema2]});ResetExternal(),ResetFunctions();let stack=new Stack(context,schema),build=new BuildContext(HasUnevaluated(context,schema)),call=CreateFunction(stack,build,schema,"value"),functions=GetFunctions(),externals=GetExternal();return new BuildResult(context,schema,externals,functions,call,build.UseUnevaluated())}function Errors(...args){let[context,schema,value]=arguments_exports.Match(args,{3:(context2,schema2,value2)=>[context2,schema2,value2],2:(schema2,value2)=>[{},schema2,value2]}),stack=new Stack(context,schema),errorContext=new ErrorContext,result=ErrorSchema(stack,errorContext,"#","",schema,value),errors=errorContext.GetErrors(),locale=Get(),localized=errors.map(error=>({...error,message:locale(error)}));return[result,localized]}function Check(...args){let[context,schema,value]=arguments_exports.Match(args,{3:(context2,schema2,value2)=>[context2,schema2,value2],2:(schema2,value2)=>[{},schema2,value2]}),stack=new Stack(context,schema),checkContext=new CheckContext;return CheckSchema(stack,checkContext,schema,value)}function Check2(...args){let[context,type,value]=arguments_exports.Match(args,{3:(context2,type2,value2)=>[context2,type2,value2],2:(type2,value2)=>[{},type2,value2]});return Check(context,type,value)}function Errors2(...args){let[context,type,value]=arguments_exports.Match(args,{3:(context2,type2,value2)=>[context2,type2,value2],2:(type2,value2)=>[{},type2,value2]}),[_,errors]=Errors(context,type,value);return errors}var AssertError=class extends Error{constructor(source,value,errors){super(source),Object.defineProperty(this,"cause",{value:{source,errors,value},writable:!1,configurable:!1,enumerable:!1})}};function Assert(...args){let[context,type,value]=arguments_exports.Match(args,{3:(context2,type2,value2)=>[context2,type2,value2],2:(type2,value2)=>[{},type2,value2]});if(!Check2(context,type,value))throw new AssertError("Assert",value,Errors2(context,type,value))}function FromArray2(context,type,value){return guard_exports.IsArray(value)?value.map(value2=>FromType(context,type.items,value2)):value}function FromCyclic(context,type,value){return FromType({...context,...type.$defs},Ref(type.$ref),value)}function EvaluateIntersection(context,type){let additionalProperties=guard_exports.HasPropertyKey(type,"unevaluatedProperties")?{additionalProperties:type.unevaluatedProperties}:{},instantiated=Instantiate(context,type),evaluated=Evaluate(instantiated);return IsObject(evaluated)?With(evaluated,additionalProperties):evaluated}function FromIntersect(context,type,value){let evaluated=EvaluateIntersection(context,type);return FromType(context,evaluated,value)}function GetAdditionalProperties(type){return guard_exports.HasPropertyKey(type,"additionalProperties")?type.additionalProperties:void 0}function FromObject2(context,type,value){if(!guard_exports.IsObject(value)||guard_exports.IsArray(value))return value;let additionalProperties=GetAdditionalProperties(type);for(let key of guard_exports.Keys(value)){if(guard_exports.HasPropertyKey(type.properties,key)){value[key]=FromType(context,type.properties[key],value[key]);continue}if(guard_exports.IsBoolean(additionalProperties)&&guard_exports.IsEqual(additionalProperties,!0)||IsSchema(additionalProperties)&&Check2(context,additionalProperties,value[key])){value[key]=FromType(context,additionalProperties,value[key]);continue}delete value[key]}return value}function FromRecord(context,type,value){if(!guard_exports.IsObject(value))return value;let additionalProperties=GetAdditionalProperties(type),[recordPattern,recordValue]=[new RegExp(RecordPattern(type)),RecordValue(type)];for(let key of guard_exports.Keys(value)){if(recordPattern.test(key)){value[key]=FromType(context,recordValue,value[key]);continue}if(guard_exports.IsBoolean(additionalProperties)&&guard_exports.IsEqual(additionalProperties,!0)||IsSchema(additionalProperties)&&Check2(context,additionalProperties,value[key])){value[key]=FromType(context,additionalProperties,value[key]);continue}delete value[key]}return value}function FromRef(context,type,value){return guard_exports.HasPropertyKey(context,type.$ref)?FromType(context,context[type.$ref],value):value}function FromTuple(context,schema,value){if(!guard_exports.IsArray(value))return value;let length=Math.min(value.length,schema.items.length);for(let index3=0;index3<length;index3++)value[index3]=FromType(context,schema.items[index3],value[index3]);return guard_exports.IsGreaterThan(value.length,length)?value.slice(0,length):value}function Clone2(value){return Clone(value)}function FromUnion(context,type,value){for(let schema of type.anyOf){let clean=FromType(context,schema,Clone2(value));if(Check2(context,schema,clean))return clean}return value}function FromType(context,type,value){return IsArray(type)?FromArray2(context,type,value):IsCyclic(type)?FromCyclic(context,type,value):IsIntersect(type)?FromIntersect(context,type,value):IsObject(type)?FromObject2(context,type,value):IsRecord(type)?FromRecord(context,type,value):IsRef(type)?FromRef(context,type,value):IsTuple(type)?FromTuple(context,type,value):IsUnion(type)?FromUnion(context,type,value):value}function Modifiers(type,next){for(let key of guard_default.Keys(type))guard_default.HasPropertyKey(next,key)||(next[key]=type[key]);return next}function FromProperties(properties){let result={};for(let key of guard_default.Keys(properties))result[key]=FromType2(properties[key]);return result}function FromPriorityTypes(types){return FromTypes(Priority(types))}function FromTypes(types){return types.map(type=>FromType2(type))}function FromType2(type){let next=IsArray(type)?_Array_(FromType2(type.items),ArrayOptions(type)):IsIntersect(type)?Intersect(FromTypes(type.allOf)):IsUnion(type)?Union(FromPriorityTypes(type.anyOf)):IsObject(type)?_Object_(FromProperties(type.properties)):IsRecord(type)?Record(RecordKey(type),FromType2(RecordValue(type))):IsTuple(type)?Tuple(FromTypes(type.items)):type;return Modifiers(type,next)}function UnionPrioritySort(type){return FromType2(type)}function Clean(...args){let[context,type,value]=arguments_exports.Match(args,{3:(context2,type2,value2)=>[context2,type2,value2],2:(type2,value2)=>[{},type2,value2]}),sorted=settings_exports.Get().unionPrioritySort?UnionPrioritySort(type):type;return FromType(context,sorted,value)}var try_exports={};__export(try_exports,{Fail:()=>Fail,IsOk:()=>IsOk,Ok:()=>Ok,TryArray:()=>TryArray,TryBigInt:()=>TryBigInt,TryBoolean:()=>TryBoolean,TryNull:()=>TryNull,TryNumber:()=>TryNumber,TryString:()=>TryString,TryUndefined:()=>TryUndefined});function IsOk(value){return guard_exports.IsObject(value)&&guard_exports.HasPropertyKey(value,"value")}function Ok(value){return{value}}function Fail(){}function TryArray(value){return guard_exports.IsArray(value)?Ok(value):Ok([value])}function FromBoolean(value){return guard_exports.IsEqual(value,!0)?Ok(BigInt(1)):Ok(BigInt(0))}var bigintPattern=/^-?(0|[1-9]\d*)n$/,decimalPattern=/^-?(0|[1-9]\d*)\.\d+$/,integerPattern=/^-?(0|[1-9]\d*)$/;function IsStringBigIntLike(value){return bigintPattern.test(value)}function IsStringDecimalLike(value){return decimalPattern.test(value)}function IsStringIntegerLike(value){return integerPattern.test(value)}function FromString(value){let lowercase=value.toLowerCase();return IsStringBigIntLike(value)?Ok(BigInt(value.slice(0,value.length-1))):IsStringDecimalLike(value)?Ok(BigInt(value.split(".")[0])):IsStringIntegerLike(value)?Ok(BigInt(value)):guard_exports.IsEqual(lowercase,"false")?Ok(BigInt(0)):guard_exports.IsEqual(lowercase,"true")?Ok(BigInt(1)):void 0}function TryBigInt(value){return guard_exports.IsBigInt(value)?Ok(value):guard_exports.IsBoolean(value)?FromBoolean(value):guard_exports.IsNumber(value)?Ok(BigInt(Math.trunc(value))):guard_exports.IsNull(value)?Ok(BigInt(0)):guard_exports.IsString(value)?FromString(value):guard_exports.IsUndefined(value)?Ok(BigInt(0)):void 0}function FromBigInt(value){return guard_exports.IsEqual(value,BigInt(0))?Ok(!1):guard_exports.IsEqual(value,BigInt(1))?Ok(!0):void 0}function FromNumber(value){return guard_exports.IsEqual(value,0)?Ok(!1):guard_exports.IsEqual(value,1)?Ok(!0):void 0}function FromString2(value){return guard_exports.IsEqual(value.toLowerCase(),"false")?Ok(!1):guard_exports.IsEqual(value.toLowerCase(),"true")?Ok(!0):guard_exports.IsEqual(value,"0")?Ok(!1):guard_exports.IsEqual(value,"1")?Ok(!0):void 0}function TryBoolean(value){return guard_exports.IsBigInt(value)?FromBigInt(value):guard_exports.IsBoolean(value)?Ok(value):guard_exports.IsNumber(value)?FromNumber(value):guard_exports.IsNull(value)?Ok(!1):guard_exports.IsString(value)?FromString2(value):guard_exports.IsUndefined(value)?Ok(!1):void 0}function FromBigInt2(value){return guard_exports.IsEqual(value,BigInt(0))?Ok(null):void 0}function FromBoolean2(value){return guard_exports.IsEqual(value,!1)?Ok(null):void 0}function FromNumber2(value){return guard_exports.IsEqual(value,0)?Ok(null):void 0}function FromString3(value){let lowercase=value.toLowerCase();return guard_exports.IsEqual(lowercase,"undefined")||guard_exports.IsEqual(lowercase,"null")||guard_exports.IsEqual(value,"")||guard_exports.IsEqual(value,"0")?Ok(null):void 0}function TryNull(value){return guard_exports.IsBigInt(value)?FromBigInt2(value):guard_exports.IsBoolean(value)?FromBoolean2(value):guard_exports.IsNumber(value)?FromNumber2(value):guard_exports.IsNull(value)?Ok(null):guard_exports.IsString(value)?FromString3(value):guard_exports.IsUndefined(value)?Ok(null):void 0}var maxBigInt=BigInt(Number.MAX_SAFE_INTEGER),minBigInt=BigInt(Number.MIN_SAFE_INTEGER);function FromBigInt3(value){return value<=maxBigInt&&value>=minBigInt?Ok(Number(value)):void 0}function FromBoolean3(value){return Ok(value?1:0)}function FromString4(value){let coerced=+value;if(guard_exports.IsNumber(coerced))return Ok(coerced);let lowercase=value.toLowerCase();if(guard_exports.IsEqual(lowercase,"false"))return Ok(0);if(guard_exports.IsEqual(lowercase,"true"))return Ok(1);let result=TryBigInt(value);return IsOk(result)?result.value<=maxBigInt&&result.value>=minBigInt?Ok(Number(result.value)):void 0:void 0}function TryNumber(value){return guard_exports.IsBigInt(value)?FromBigInt3(value):guard_exports.IsBoolean(value)?FromBoolean3(value):guard_exports.IsNumber(value)?Ok(value):guard_exports.IsNull(value)?Ok(0):guard_exports.IsString(value)?FromString4(value):guard_exports.IsUndefined(value)?Ok(0):void 0}function TryString(value){return guard_exports.IsBigInt(value)?Ok(value.toString()):guard_exports.IsBoolean(value)?Ok(value.toString()):guard_exports.IsNumber(value)?Ok(value.toString()):guard_exports.IsNull(value)?Ok("null"):guard_exports.IsString(value)?Ok(value):guard_exports.IsUndefined(value)?Ok(""):void 0}function FromBigInt4(value){return guard_exports.IsEqual(value,BigInt(0))?Ok(void 0):void 0}function FromBoolean4(value){return guard_exports.IsEqual(value,!1)?Ok(void 0):void 0}function FromNumber3(value){return guard_exports.IsEqual(value,0)?Ok(void 0):void 0}function FromString5(value){let lowercase=value.toLowerCase();return guard_exports.IsEqual(lowercase,"undefined")||guard_exports.IsEqual(lowercase,"null")||guard_exports.IsEqual(value,"")||guard_exports.IsEqual(value,"0")?Ok(void 0):void 0}function TryUndefined(value){return guard_exports.IsBigInt(value)?FromBigInt4(value):guard_exports.IsBoolean(value)?FromBoolean4(value):guard_exports.IsNumber(value)?FromNumber3(value):guard_exports.IsNull(value)?Ok(void 0):guard_exports.IsString(value)?FromString5(value):guard_exports.IsUndefined(value)?Ok(value):void 0}function FromArray3(context,type,value){return try_exports.TryArray(value).value.map(value2=>FromType3(context,type.items,value2))}function FromBigInt5(_context,_type,value){let result=try_exports.TryBigInt(value);return try_exports.IsOk(result)?result.value:value}function FromBoolean5(_context,_type,value){let result=try_exports.TryBoolean(value);return try_exports.IsOk(result)?result.value:value}function FromCyclic2(context,type,value){return FromType3({...context,...type.$defs},Ref(type.$ref),value)}function FromEnum(context,type,value){return FromType3(context,Evaluate(type),value)}function FromInteger(_context,_type,value){let result=try_exports.TryNumber(value);return try_exports.IsOk(result)?Math.trunc(result.value):value}function FromIntersect2(context,type,value){let instantiated=Instantiate(context,type),evaluated=Evaluate(instantiated);return FromType3(context,evaluated,value)}function FromLiteralBigInt(_context,type,value){let result=try_exports.TryBigInt(value);return try_exports.IsOk(result)&&guard_exports.IsEqual(type.const,result.value)?result.value:value}function FromLiteralBoolean(_context,type,value){let result=try_exports.TryBoolean(value);return try_exports.IsOk(result)&&guard_exports.IsEqual(type.const,result.value)?result.value:value}function FromLiteralNumber(_context,type,value){let result=try_exports.TryNumber(value);return try_exports.IsOk(result)&&guard_exports.IsEqual(type.const,result.value)?result.value:value}function FromLiteralString(_context,type,value){let result=try_exports.TryString(value);return try_exports.IsOk(result)&&guard_exports.IsEqual(type.const,result.value)?result.value:value}function FromLiteral(context,type,value){return guard_exports.IsEqual(type.const,value)?value:IsLiteralBigInt(type)?FromLiteralBigInt(context,type,value):IsLiteralBoolean(type)?FromLiteralBoolean(context,type,value):IsLiteralNumber(type)?FromLiteralNumber(context,type,value):IsLiteralString(type)?FromLiteralString(context,type,value):Unreachable()}function FromNull(_context,_type,value){let result=try_exports.TryNull(value);return try_exports.IsOk(result)?result.value:value}function FromNumber4(_context,_type,value){let result=try_exports.TryNumber(value);return try_exports.IsOk(result)?result.value:value}function FromAdditionalProperties(context,entries,additionalProperties,value){let keys=guard_exports.Keys(value);for(let[regexp,_]of entries)for(let key of keys)regexp.test(key)||(value[key]=FromType3(context,additionalProperties,value[key]));return value}function IsOptionalUndefined(property,key,value){return IsOptional(property)&&guard_exports.IsUndefined(value[key])}function FromProperties2(context,type,value){let entries=guard_exports.EntriesRegExp(type.properties),keys=guard_exports.Keys(value);for(let[regexp,property]of entries)for(let key of keys)!regexp.test(key)||IsOptionalUndefined(property,key,value)||(value[key]=FromType3(context,property,value[key]));return guard_exports.HasPropertyKey(type,"additionalProperties")&&guard_exports.IsObject(type.additionalProperties)?FromAdditionalProperties(context,entries,type.additionalProperties,value):value}function FromObject3(context,type,value){return guard_exports.IsObjectNotArray(value)?FromProperties2(context,type,value):value}function FromPatternProperties(context,type,value){let entries=guard_exports.EntriesRegExp(type.patternProperties),keys=guard_exports.Keys(value);for(let[regexp,schema]of entries)for(let key of keys)regexp.test(key)&&(value[key]=FromType3(context,schema,value[key]));return guard_exports.HasPropertyKey(type,"additionalProperties")&&guard_exports.IsObject(type.additionalProperties)?FromAdditionalProperties(context,entries,type.additionalProperties,value):value}function FromRecord2(context,type,value){return guard_exports.IsObjectNotArray(value)?FromPatternProperties(context,type,value):value}function FromRef2(context,type,value){return guard_exports.HasPropertyKey(context,type.$ref)?FromType3(context,context[type.$ref],value):value}function FromString6(_context,_type,value){let result=try_exports.TryString(value);return try_exports.IsOk(result)?result.value:value}function FromTemplateLiteral(context,type,value){return FromType3(context,Evaluate(type),value)}function FromTuple2(context,type,value){if(!guard_exports.IsArray(value))return value;for(let index3=0;index3<Math.min(type.items.length,value.length);index3++)value[index3]=FromType3(context,type.items[index3],value[index3]);return value}function FromUndefined(_context,_type,value){let result=try_exports.TryUndefined(value);return try_exports.IsOk(result)?result.value:value}function FromUnion2(context,type,value){if(type.anyOf.some(type2=>Check2(context,type2,value)))return value;let selected=type.anyOf.map(type2=>FromType3(context,type2,Clone2(value))).find(value2=>Check2(context,type,value2));return guard_exports.IsUndefined(selected)?value:selected}function FromVoid(_context,_type,value){let result=try_exports.TryUndefined(value);return try_exports.IsOk(result)?void 0:value}function FromType3(context,type,value){return IsArray(type)?FromArray3(context,type,value):IsBigInt(type)?FromBigInt5(context,type,value):IsBoolean(type)?FromBoolean5(context,type,value):IsCyclic(type)?FromCyclic2(context,type,value):IsEnum(type)?FromEnum(context,type,value):IsInteger(type)?FromInteger(context,type,value):IsIntersect(type)?FromIntersect2(context,type,value):IsLiteral(type)?FromLiteral(context,type,value):IsNull(type)?FromNull(context,type,value):IsNumber(type)?FromNumber4(context,type,value):IsObject(type)?FromObject3(context,type,value):IsRecord(type)?FromRecord2(context,type,value):IsRef(type)?FromRef2(context,type,value):IsString(type)?FromString6(context,type,value):IsTemplateLiteral(type)?FromTemplateLiteral(context,type,value):IsTuple(type)?FromTuple2(context,type,value):IsUndefined(type)?FromUndefined(context,type,value):IsUnion(type)?FromUnion2(context,type,value):IsVoid(type)?FromVoid(context,type,value):value}function Convert(...args){let[context,type,value]=arguments_exports.Match(args,{3:(context2,type2,value2)=>[context2,type2,value2],2:(type2,value2)=>[{},type2,value2]});return FromType3(context,type,value)}function FromArray4(context,type,value){if(!guard_exports.IsArray(value))return value;for(let i=0;i<value.length;i++)value[i]=FromType4(context,type.items,value[i]);return value}function FromCyclic3(context,type,value){return FromType4({...context,...type.$defs},Ref(type.$ref),value)}function FromDefault(type,value){return guard_exports.IsUndefined(value)?guard_exports.IsFunction(type.default)?type.default():Clone2(type.default):value}function FromIntersect3(context,type,value){let instantiated=Instantiate(context,type),evaluated=Evaluate(instantiated);return FromType4(context,evaluated,value)}function FromObject4(context,type,value){if(!guard_exports.IsObject(value))return value;let knownPropertyKeys=guard_exports.Keys(type.properties);for(let key of knownPropertyKeys){let propertyValue=FromType4(context,type.properties[key],value[key]);guard_exports.IsUndefined(propertyValue)&&(IsOptional(type.properties[key])||!guard_exports.HasPropertyKey(type.properties[key],"default"))||(value[key]=propertyValue)}if(!IsAdditionalProperties(type)||guard_exports.IsBoolean(type.additionalProperties))return value;for(let key of guard_exports.Keys(value))knownPropertyKeys.includes(key)||(value[key]=FromType4(context,type.additionalProperties,value[key]));return value}function FromRecord3(context,type,value){if(!guard_exports.IsObject(value))return value;let[recordKey,recordValue]=[new RegExp(RecordPattern(type)),RecordValue(type)];for(let key of guard_exports.Keys(value))recordKey.test(key)&&IsDefault(recordValue)&&(value[key]=FromType4(context,recordValue,value[key]));if(!IsAdditionalProperties(type))return value;for(let key of guard_exports.Keys(value))recordKey.test(key)||(value[key]=FromType4(context,type.additionalProperties,value[key]));return value}function FromRef3(context,type,value){return guard_exports.HasPropertyKey(context,type.$ref)?FromType4(context,context[type.$ref],value):value}function FromTuple3(context,schema,value){if(!guard_exports.IsArray(value))return value;let[items,max]=[schema.items,Math.max(schema.items.length,value.length)];for(let i=0;i<max;i++)i<items.length&&(value[i]=FromType4(context,items[i],value[i]));return value}function FromUnion3(context,schema,value){for(let inner of schema.anyOf){let result=FromType4(context,inner,Clone2(value));if(Check2(context,inner,result))return result}return value}function FromType4(context,type,value){let defaulted=IsDefault(type)?FromDefault(type,value):value;return IsArray(type)?FromArray4(context,type,defaulted):IsCyclic(type)?FromCyclic3(context,type,defaulted):IsIntersect(type)?FromIntersect3(context,type,defaulted):IsObject(type)?FromObject4(context,type,defaulted):IsRecord(type)?FromRecord3(context,type,defaulted):IsRef(type)?FromRef3(context,type,defaulted):IsTuple(type)?FromTuple3(context,type,defaulted):IsUnion(type)?FromUnion3(context,type,defaulted):defaulted}function Default(...args){let[context,type,value]=arguments_exports.Match(args,{3:(context2,type2,value2)=>[context2,type2,value2],2:(type2,value2)=>[{},type2,value2]});return FromType4(context,type,value)}function Pipeline(pipeline){return(...args)=>{let[context,type,value]=arguments_exports.Match(args,{3:(context2,type2,value2)=>[context2,type2,value2],2:(type2,value2)=>[{},type2,value2]});return pipeline.reduce((result,func)=>func(context,type,result),value)}}function Decode2(_context,type,value){return type["~codec"].decode(value)}function Encode2(_context,type,value){return type["~codec"].encode(value)}function Callback(direction,context,type,value){return IsCodec(type)?guard_exports.IsEqual(direction,"Decode")?Decode2(context,type,value):Encode2(context,type,value):value}function Decode3(direction,context,type,value){if(!guard_exports.IsArray(value))return value;for(let i=0;i<value.length;i++)value[i]=FromType5(direction,context,type.items,value[i]);return Callback(direction,context,type,value)}function Encode3(direction,context,type,value){let exterior=Callback(direction,context,type,value);if(!guard_exports.IsArray(exterior))return exterior;for(let i=0;i<exterior.length;i++)exterior[i]=FromType5(direction,context,type.items,exterior[i]);return exterior}function FromArray5(direction,context,type,value){return guard_exports.IsEqual(direction,"Decode")?Decode3(direction,context,type,value):Encode3(direction,context,type,value)}function FromCyclic4(direction,context,type,value){return value=FromType5(direction,{...context,...type.$defs},Ref(type.$ref),value),Callback(direction,context,type,value)}function MergeInteriors(interiors){return interiors.reduce((results,interior)=>({...results,...interior}),{})}function NonMatchingInterior(value,interiors){for(let interior of interiors)if(!guard_exports.IsDeepEqual(value,interior))return interior;return value}function Decode4(direction,context,type,value){if(guard_exports.IsEqual(type.allOf.length,0))return Callback(direction,context,type,value);let interiors=type.allOf.map(schema=>FromType5(direction,context,schema,Clean(schema,Clone2(value)))),exterior=interiors.every(result=>guard_exports.IsObject(result))?MergeInteriors(interiors):NonMatchingInterior(value,interiors);return Callback(direction,context,type,exterior)}function Encode4(direction,context,type,value){if(guard_exports.IsEqual(type.allOf.length,0))return Callback(direction,context,type,value);let exterior=Callback(direction,context,type,value),interiors=type.allOf.map(schema=>FromType5(direction,context,schema,Clean(schema,Clone2(exterior))));return interiors.every(result=>guard_exports.IsObject(result))?MergeInteriors(interiors):NonMatchingInterior(exterior,interiors)}function FromIntersect4(direction,context,type,value){return guard_exports.IsEqual(direction,"Decode")?Decode4(direction,context,type,value):Encode4(direction,context,type,value)}function Decode5(direction,context,type,value){if(!guard_exports.IsObjectNotArray(value))return value;for(let key of guard_exports.Keys(type.properties))!guard_exports.HasPropertyKey(value,key)||IsOptionalUndefined(type.properties[key],key,value)||(value[key]=FromType5(direction,context,type.properties[key],value[key]));return Callback(direction,context,type,value)}function Encode5(direction,context,type,value){let exterior=Callback(direction,context,type,value);if(!guard_exports.IsObjectNotArray(exterior))return exterior;for(let key of guard_exports.Keys(type.properties))!guard_exports.HasPropertyKey(exterior,key)||IsOptionalUndefined(type.properties[key],key,exterior)||(exterior[key]=FromType5(direction,context,type.properties[key],exterior[key]));return exterior}function FromObject5(direction,context,type,value){return guard_exports.IsEqual(direction,"Decode")?Decode5(direction,context,type,value):Encode5(direction,context,type,value)}function Decode6(direction,context,type,value){if(!guard_exports.IsObjectNotArray(value))return value;let regexp=new RegExp(RecordPattern(type));for(let key of guard_exports.Keys(value))regexp.test(key)&&(value[key]=FromType5(direction,context,RecordValue(type),value[key]));return Callback(direction,context,type,value)}function Encode6(direction,context,type,value){let exterior=Callback(direction,context,type,value);if(!guard_exports.IsObjectNotArray(exterior))return exterior;let regexp=new RegExp(RecordPattern(type));for(let key of guard_exports.Keys(exterior))regexp.test(key)&&(exterior[key]=FromType5(direction,context,RecordValue(type),exterior[key]));return exterior}function FromRecord4(direction,context,type,value){return guard_exports.IsEqual(direction,"Decode")?Decode6(direction,context,type,value):Encode6(direction,context,type,value)}function ResolveRef2(direction,context,type,value){return guard_exports.HasPropertyKey(context,type.$ref)?FromType5(direction,context,context[type.$ref],value):value}function FromRef4(direction,context,type,value){return guard_exports.IsEqual(direction,"Decode")?Callback(direction,context,type,ResolveRef2(direction,context,type,value)):ResolveRef2(direction,context,type,Callback(direction,context,type,value))}function Decode7(direction,context,type,value){if(!guard_exports.IsArray(value))return value;for(let i=0;i<Math.min(type.items.length,value.length);i++)value[i]=FromType5(direction,context,type.items[i],value[i]);return Callback(direction,context,type,value)}function Encode7(direction,context,type,value){let exterior=Callback(direction,context,type,value);if(!guard_exports.IsArray(exterior))return value;for(let i=0;i<Math.min(type.items.length,exterior.length);i++)exterior[i]=FromType5(direction,context,type.items[i],exterior[i]);return exterior}function FromTuple4(direction,context,type,value){return guard_exports.IsEqual(direction,"Decode")?Decode7(direction,context,type,value):Encode7(direction,context,type,value)}function Decode8(direction,context,type,value){for(let schema of type.anyOf){if(!Check2(context,schema,value))continue;let variant=FromType5(direction,context,schema,value);return Callback(direction,context,type,variant)}return value}function Encode8(direction,context,type,value){let exterior=Callback(direction,context,type,value);for(let schema of type.anyOf){let variant=FromType5(direction,context,schema,Clone2(exterior));if(Check2(context,schema,variant))return variant}return exterior}function FromUnion4(direction,context,type,value){return guard_exports.IsEqual(direction,"Decode")?Decode8(direction,context,type,value):Encode8(direction,context,type,value)}function FromType5(direction,context,type,value){return IsArray(type)?FromArray5(direction,context,type,value):IsCyclic(type)?FromCyclic4(direction,context,type,value):IsIntersect(type)?FromIntersect4(direction,context,type,value):IsObject(type)?FromObject5(direction,context,type,value):IsRecord(type)?FromRecord4(direction,context,type,value):IsRef(type)?FromRef4(direction,context,type,value):IsTuple(type)?FromTuple4(direction,context,type,value):IsUnion(type)?FromUnion4(direction,context,type,value):Callback(direction,context,type,value)}var DecodeError=class extends AssertError{constructor(value,errors){super("Decode",value,errors)}};function Assert2(context,type,value){if(!Check2(context,type,value))throw new DecodeError(value,Errors2(context,type,value));return value}function DecodeUnsafe(context,type,value){let sorted=settings_exports.Get().unionPrioritySort?UnionPrioritySort(type):type;return FromType5("Decode",context,sorted,value)}var Decoder=Pipeline([(_context,_type,value)=>Clone2(value),(context,type,value)=>Default(context,type,value),(context,type,value)=>Convert(context,type,value),(context,type,value)=>Clean(context,type,value),(context,type,value)=>Assert2(context,type,value),(context,type,value)=>DecodeUnsafe(context,type,value)]);function Decode9(...args){let[context,type,value]=arguments_exports.Match(args,{3:(context2,type2,value2)=>[context2,type2,value2],2:(type2,value2)=>[{},type2,value2]});return Decoder(context,type,value)}var EncodeError=class extends AssertError{constructor(value,errors){super("Encode",value,errors)}};function Assert3(context,type,value){if(!Check2(context,type,value))throw new EncodeError(value,Errors2(context,type,value));return value}function EncodeUnsafe(context,type,value){let sorted=settings_exports.Get().unionPrioritySort?UnionPrioritySort(type):type;return FromType5("Encode",context,sorted,value)}var Encoder=Pipeline([(_context,_type,value)=>Clone2(value),(context,type,value)=>EncodeUnsafe(context,type,value),(context,type,value)=>Default(context,type,value),(context,type,value)=>Convert(context,type,value),(context,type,value)=>Clean(context,type,value),(context,type,value)=>Assert3(context,type,value)]);function Encode9(...args){let[context,type,value]=arguments_exports.Match(args,{3:(context2,type2,value2)=>[context2,type2,value2],2:(type2,value2)=>[{},type2,value2]});return Encoder(context,type,value)}function FromArray6(context,type){return IsCodec(type)||FromType6(context,type.items)}function FromCyclic5(context,type){return IsCodec(type)||FromRef5({...context,...type.$defs},Ref(type.$ref))}function FromIntersect5(context,type){return IsCodec(type)||type.allOf.some(type2=>FromType6(context,type2))}function FromObject6(context,type){return IsCodec(type)||guard_exports.Keys(type.properties).some(key=>FromType6(context,type.properties[key]))}function FromRecord5(context,type){return IsCodec(type)||FromType6(context,RecordValue(type))}function FromRef5(context,type){return visited.has(type.$ref)?!1:(visited.add(type.$ref),IsCodec(type)||guard_exports.HasPropertyKey(context,type.$ref)&&FromType6(context,context[type.$ref]))}function FromTuple5(context,type){return IsCodec(type)||type.items.some(type2=>FromType6(context,type2))}function FromUnion5(context,type){return IsCodec(type)||type.anyOf.some(type2=>FromType6(context,type2))}function FromType6(context,type){return IsArray(type)?FromArray6(context,type):IsCyclic(type)?FromCyclic5(context,type):IsIntersect(type)?FromIntersect5(context,type):IsObject(type)?FromObject6(context,type):IsRecord(type)?FromRecord5(context,type):IsRef(type)?FromRef5(context,type):IsTuple(type)?FromTuple5(context,type):IsUnion(type)?FromUnion5(context,type):IsCodec(type)}var visited=new Set;function HasCodec(...args){let[context,type]=arguments_exports.Match(args,{2:(context2,type2)=>[context2,type2],1:type2=>[{},type2]});return visited.clear(),FromType6(context,type)}var CreateError=class extends Error{constructor(type,message){super(message),this.type=type}};function FromDefault2(_context,schema){return guard_exports.IsFunction(schema.default)?schema.default(schema):guard_exports.IsObject(schema.default)?Clone2(schema.default):schema.default}function FromArray7(context,type){if(IsUniqueItems(type)&&!IsDefault(type))throw new CreateError(type,"Arrays with uniqueItems constraints must specify a default annotation");let length=IsMinItems(type)?type.minItems:0;return Array.from({length},()=>FromType7(context,type.items))}function FromBigInt6(_context,type){return IsExclusiveMinimum(type)?BigInt(type.exclusiveMinimum)+BigInt(1):IsMinimum(type)?BigInt(type.minimum):BigInt(0)}function FromBoolean6(_context,_type){return!1}function FromConstructor(context,type){let instanceType=FromType7(context,type.instanceType);return class{constructor(){Object.assign(this,instanceType)}}}function FromCyclic6(context,type){return FromType7({...context,...type.$defs},Ref(type.$ref))}function FromEnum2(context,type){return FromType7(context,Evaluate(type))}function FromFunction(context,type){let returnType=FromType7(context,type.returnType);return()=>returnType}function FromInteger2(_context,type){return IsExclusiveMinimum(type)&&guard_exports.IsNumber(type.exclusiveMinimum)?type.exclusiveMinimum+1:IsMinimum(type)?type.minimum:0}function FromIntersect6(context,type){let instantiated=Instantiate(context,type),evaluated=Evaluate(instantiated);return FromType7(context,evaluated)}function FromLiteral2(_context,type){return type.const}function FromNever(_context,type){throw new CreateError(type,"Cannot create TNever types")}function FromNull2(_context,_type){return null}function FromNumber5(_context,type){return IsExclusiveMinimum(type)&&guard_exports.IsNumber(type.exclusiveMinimum)?type.exclusiveMinimum+1:IsMinimum(type)?type.minimum:0}function FromObject7(context,type){return(guard_exports.IsUndefined(type.required)?[]:type.required).reduce((result,key)=>({...result,[key]:FromType7(context,type.properties[key])}),{})}function FromRecord6(_context,type){if(IsMinProperties(type)&&!IsDefault(type))throw new CreateError(type,"Record with the minProperties constraint must have a default annotation");return{}}function FromRef6(context,type){return guard_exports.HasPropertyKey(context,type.$ref)?FromType7(context,context[type.$ref]):(()=>{throw new CreateError(type,"Unable to deref Ref")})()}function FromString7(_context,type){if((IsPattern(type)||IsFormat(type))&&!IsDefault(type))throw Error("Strings with format or pattern constraints must specify default");let minLength=IsMinLength(type)?type.minLength:0;return"".padEnd(minLength)}function FromSymbol(_context,_type){return Symbol()}function FromTemplateLiteral2(context,type){let decoded=TemplateLiteralDecode(type.pattern);if(IsString(decoded))throw new CreateError(type,"Unable to create TemplateLiteral due to infinite type expansion");return FromType7(context,decoded)}function FromTuple6(context,type){return Array.from({length:type.minItems},(_,i)=>FromType7(context,type.items[i]))}function FromUnion6(context,type){if(guard_exports.IsEqual(type.anyOf.length,0))throw Error("Unable to create Union with no variants");return FromType7(context,type.anyOf[0])}function FromType7(context,type){return IsDefault(type)?FromDefault2(context,type):IsArray(type)?FromArray7(context,type):IsBigInt(type)?FromBigInt6(context,type):IsBoolean(type)?FromBoolean6(context,type):IsConstructor(type)?FromConstructor(context,type):IsCyclic(type)?FromCyclic6(context,type):IsEnum(type)?FromEnum2(context,type):IsFunction(type)?FromFunction(context,type):IsInteger(type)?FromInteger2(context,type):IsIntersect(type)?FromIntersect6(context,type):IsLiteral(type)?FromLiteral2(context,type):IsNever(type)?FromNever(context,type):IsNull(type)?FromNull2(context,type):IsNumber(type)?FromNumber5(context,type):IsObject(type)?FromObject7(context,type):IsRecord(type)?FromRecord6(context,type):IsRef(type)?FromRef6(context,type):IsString(type)?FromString7(context,type):IsSymbol(type)?FromSymbol(context,type):IsTemplateLiteral(type)?FromTemplateLiteral2(context,type):IsTuple(type)?FromTuple6(context,type):IsUndefined(type)?void 0:IsUnion(type)?FromUnion6(context,type):IsVoid(type)?void 0:void 0}function Create(...args){let[context,type]=arguments_exports.Match(args,{2:(context2,type2)=>[context2,type2],1:type2=>[{},type2]});return FromType7(context,type)}function Equal(left,right){return guard_exports.IsDeepEqual(left,right)}function Hash(value){return hash_exports.Hash(value)}var ParseError=class extends AssertError{constructor(value,errors){super("Parse",value,errors)}};function Assert4(context,type,value){if(!Check2(context,type,value))throw new ParseError(value,Errors2(context,type,value));return value}var Parser=Pipeline([(_context,_type,value)=>Clone2(value),(context,type,value)=>Default(context,type,value),(context,type,value)=>Convert(context,type,value),(context,type,value)=>Clean(context,type,value),(context,type,value)=>Assert4(context,type,value)]);function Parse(...args){let[context,type,value]=arguments_exports.Match(args,{3:(context2,type2,value2)=>[context2,type2,value2],2:(type2,value2)=>[{},type2,value2]});if(Check2(context,type,value))return value;if(settings_exports.Get().correctiveParse)return Parser(context,type,value);throw new ParseError(value,Errors2(context,type,value))}function CreateUpdate(path,value){return{type:"update",path,value}}function CreateInsert(path,value){return{type:"insert",path,value}}function CreateDelete(path){return{type:"delete",path}}function AssertCanDiffObject(value){if(!(guard_exports.IsObject(value)&&guard_exports.IsEqual(guard_exports.Symbols(value).length,0)))throw new Error("Cannot create diffs for objects with symbols keys")}function*FromObject8(path,left,right){if(!guard_exports.IsObject(right)||guard_exports.IsArray(right))return yield CreateUpdate(path,right);AssertCanDiffObject(left),AssertCanDiffObject(right);let leftKeys=guard_exports.Keys(left),rightKeys=guard_exports.Keys(right);for(let key of rightKeys)guard_exports.HasPropertyKey(left,key)||guard_exports.IsUnsafePropertyKey(key)||(yield CreateInsert(`${path}/${key}`,right[key]));for(let key of leftKeys)guard_exports.HasPropertyKey(right,key)&&(guard_exports.IsUnsafePropertyKey(key)||Equal(left,right)||(yield*FromValue2(`${path}/${key}`,left[key],right[key])));for(let key of leftKeys)guard_exports.HasPropertyKey(right,key)||guard_exports.IsUnsafePropertyKey(key)||(yield CreateDelete(`${path}/${key}`))}function*FromArray8(path,left,right){if(!guard_exports.IsArray(right))return yield CreateUpdate(path,right);for(let i=0;i<Math.min(left.length,right.length);i++)yield*FromValue2(`${path}/${i}`,left[i],right[i]);for(let i=0;i<right.length;i++)i<left.length||(yield CreateInsert(`${path}/${i}`,right[i]));for(let i=left.length-1;i>=0;i--)i<right.length||(yield CreateDelete(`${path}/${i}`))}function*FromTypedArray(path,left,right){let typeLeft=globalThis.Object.getPrototypeOf(left).constructor.name,typeRight=globalThis.Object.getPrototypeOf(right).constructor.name;if(globals_exports.IsTypeArray(right)&&guard_exports.IsEqual(left.length,right.length)&&guard_exports.IsEqual(typeLeft,typeRight))for(let index3=0;index3<Math.min(left.length,right.length);index3++)yield*FromValue2(`${path}/${index3}`,left[index3],right[index3]);else return yield CreateUpdate(path,right)}function*FromUnknown(path,left,right){left!==right&&(yield CreateUpdate(path,right))}function*FromValue2(path,left,right){return globals_exports.IsTypeArray(left)?yield*FromTypedArray(path,left,right):guard_exports.IsArray(left)?yield*FromArray8(path,left,right):guard_exports.IsObject(left)?yield*FromObject8(path,left,right):yield*FromUnknown(path,left,right)}function Diff(current,next){return[...FromValue2("",current,next)]}var Insert=_Object_({type:Literal("insert"),path:String2(),value:Unknown()}),Update=Object({type:Literal("update"),path:String2(),value:Unknown()}),Delete2=_Object_({type:Literal("delete"),path:String2()}),Edit=Union([Insert,Update,Delete2]);function IsRoot(edits){return edits.length>0&&edits[0].path===""&&edits[0].type==="update"}function IsEmpty(edits){return edits.length===0}function Patch(current,edits){if(IsRoot(edits))return Clone2(edits[0].value);if(IsEmpty(edits))return Clone2(current);let clone=Clone2(current);for(let edit of edits)switch(edit.type){case"insert":{pointer_exports.Set(clone,edit.path,edit.value);break}case"update":{pointer_exports.Set(clone,edit.path,edit.value);break}case"delete":{pointer_exports.Delete(clone,edit.path);break}}return clone}var RepairError=class extends Error{constructor(context,type,value,message){super(message),this.context=context,this.type=type,this.value=value}};function MakeUnique(values){let[hashes,result]=[new Set,[]];for(let value of values){let hash=Hash(value);hashes.has(hash)||(hashes.add(hash),result.push(value))}return result}function FromArray9(context,type,value){if(Check2(context,type,value))return value;let created=guard_exports.IsArray(value)?value:Create(context,type),minimum=IsMinItems(type)&&created.length<type.minItems?[...created,...Array.from({length:type.minItems-created.length},()=>Create(context,type))]:created,repaired=(IsMaxItems(type)&&minimum.length>type.maxItems?minimum.slice(0,type.maxItems):minimum).map(value2=>FromType8(context,type.items,value2));if(!IsUniqueItems(type)||IsUniqueItems(type)&&!guard_exports.IsEqual(type.uniqueItems,!0))return repaired;let unique=MakeUnique(repaired);if(!Check2(context,type,unique))throw new RepairError(context,type,value,"Failed to repair Array due to uniqueItems constraint");return unique}function FromEnum3(context,type,value){return FromType8(context,Evaluate(type),value)}function FromIntersect7(context,type,value){let instantiated=Instantiate(context,type),evaluated=Evaluate(instantiated);return FromType8(context,evaluated,value)}function FromObject9(context,type,value){if(Check2(context,type,value))return value;if(!guard_exports.IsObjectNotArray(value))return Create(context,type);let required=new Set(guard_exports.IsUndefined(type.required)?[]:type.required),result={};for(let[key,schema]of guard_exports.Entries(type.properties))!required.has(key)&&guard_exports.IsUndefined(value[key])||(result[key]=key in value?FromType8(context,schema,value[key]):Create(context,schema));let evaluatedKeys=guard_exports.Keys(type.properties);if(IsAdditionalProperties(type)&&guard_exports.IsObject(type.additionalProperties))for(let key of guard_exports.Keys(value))evaluatedKeys.includes(key)||(result[key]=FromType8(context,type.additionalProperties,value[key]));return result}function FromRecord7(context,type,value){if(Check2(context,type,value))return value;if(guard_exports.IsNull(value)||!guard_exports.IsObject(value)||guard_exports.IsArray(value))return Create(context,type);let recordKey=new RegExp(RecordPattern(type)),recordValue=RecordValue(type),evaluatedKeys=new Set,result={};for(let[key,value_]of guard_exports.Entries(value))recordKey.test(key)&&(result[key]=FromType8(context,recordValue,value_),evaluatedKeys.add(key));if(IsAdditionalProperties(type))for(let key of guard_exports.Keys(value))evaluatedKeys.has(key)||(result[key]=FromType8(context,type.additionalProperties,value[key]));return result}function FromRef7(context,type,value){return guard_exports.HasPropertyKey(context,type.$ref)?FromType8(context,context[type.$ref],value):(()=>{throw new RepairError(context,type,value,"Unable to de-reference target type")})()}function FromTemplateLiteral3(context,type,value){let decoded=TemplateLiteralDecode(type.pattern);return FromType8(context,decoded,value)}function FromTuple7(context,schema,value){return Check2(context,schema,value)?value:guard_exports.IsArray(value)?schema.items.map((schema2,index3)=>FromType8(context,schema2,value[index3])):Create(context,schema)}function Deref(context,type,value){return IsRef(type)?guard_exports.HasPropertyKey(context,type.$ref)?Deref(context,context[type.$ref],value):(()=>{throw new Error("Unable to Deref target")})():type}function ScoreVariant(context,type,value){if(!(IsObject(type)&&guard_exports.IsObject(value)))return 0;let keys=guard_exports.Keys(value);return guard_exports.Entries(type.properties).reduce((result,[key,schema])=>{let literal=IsLiteral(schema)&&guard_exports.IsEqual(schema.const,value[key])?100:0,checks=Check2(context,schema,value[key])?10:0,exists=keys.includes(key)?1:0;return result+(literal+checks+exists)},0)}function UnionScoreSelect(context,type,value){let schemas=type.anyOf.map(schema=>Deref(context,schema,value)),[select,best]=[schemas[0],0];for(let schema of schemas){let score=ScoreVariant(context,schema,value);score>best&&(select=schema,best=score)}return select}function RepairUnion(context,type,value){let union=Union(Flatten(type.anyOf)),schema=UnionScoreSelect(context,union,value);return FromType8(context,schema,value)}function FromUnion7(context,type,value){return Check2(context,type,value)?Clone2(value):IsDefault(type)?Create(context,type):RepairUnion(context,type,value)}function FromUnknown2(context,type,value){if(Check2(context,type,value))return value;let converted=Convert(context,type,value);return Check2(context,type,converted)?converted:Create(context,type)}function AssertRepairableValue(context,type,value){if(globals_exports.IsDate(value)||globals_exports.IsMap(value)||globals_exports.IsSet(value)||globals_exports.IsTypeArray(value)||guard_exports.IsConstructor(value)||guard_exports.IsFunction(value))throw new RepairError(context,type,value,"Value is not repairable")}function AssertRepairableType(context,type,value){if(IsConstructor(type)||IsFunction(type)||IsNever(type))throw new RepairError(context,type,value,"Type is not repairable")}function CreateWhenUndefined(context,type,value){return guard_exports.IsUndefined(value)&&!IsUndefined(type)?Create(context,type):value}function FinalizeRepair(context,type,repaired){return IsRefine(type)?Check2(context,type,repaired)?repaired:Create(context,type):repaired}function FromType8(context,type,value){AssertRepairableValue(context,type,value),AssertRepairableType(context,type,value);let candidate=CreateWhenUndefined(context,type,value),repaired=IsArray(type)?FromArray9(context,type,candidate):IsEnum(type)?FromEnum3(context,type,candidate):IsIntersect(type)?FromIntersect7(context,type,candidate):IsObject(type)?FromObject9(context,type,candidate):IsRecord(type)?FromRecord7(context,type,candidate):IsRef(type)?FromRef7(context,type,candidate):IsTemplateLiteral(type)?FromTemplateLiteral3(context,type,candidate):IsTuple(type)?FromTuple7(context,type,candidate):IsUnion(type)?FromUnion7(context,type,candidate):FromUnknown2(context,type,candidate);return FinalizeRepair(context,type,repaired)}function Repair(...args){let[context,type,value]=arguments_exports.Match(args,{3:(context2,type2,value2)=>[context2,type2,value2],2:(type2,value2)=>[{},type2,value2]}),repaired=FromType8(context,type,value);return Assert(context,type,repaired),repaired}var value_exports={};__export(value_exports,{Assert:()=>Assert,Check:()=>Check2,Clean:()=>Clean,Clone:()=>Clone2,Convert:()=>Convert,Create:()=>Create,Decode:()=>Decode9,Default:()=>Default,Diff:()=>Diff,Encode:()=>Encode9,Equal:()=>Equal,Errors:()=>Errors2,HasCodec:()=>HasCodec,Hash:()=>Hash,Parse:()=>Parse,Patch:()=>Patch,Pointer:()=>pointer_exports,Repair:()=>Repair});var value_default=value_exports;var compile_exports={};__export(compile_exports,{Code:()=>Code,Compile:()=>Compile,Validator:()=>Validator,default:()=>compile_default});function TsIgnore(){return"// @ts-ignore"}function Separator(){return""}function ImportSection(build){return[...build.UseUnevaluated()?['import { CheckContext } from "typebox/schema"']:[],'import { Hashing } from "typebox/system"','import { Format } from "typebox/format"','import { Guard } from "typebox/guard"']}function ExternalSection(build){let{identifier}=build.External();return[Separator(),TsIgnore(),`let ${identifier} = []`,Separator(),TsIgnore(),`export function SetExternal(external) { ${identifier} = external.variables }`]}function FunctionSection(build){return build.Functions().map(func=>[Separator(),TsIgnore(),`${func};`].join(`
|
|
4
|
-
`))}function ExportSection(build){let body=build.UseUnevaluated()?`const context = new CheckContext({}, {}); return ${build.Entry()}`:`return ${build.Entry()}`;return[Separator(),TsIgnore(),`export function Check(value) { ${body} }`]}function Code(...args){let[context,type]=arguments_exports.Match(args,{2:(context2,type2)=>[context2,type2],1:type2=>[{},type2]}),build=Build(context,type),code=[...ImportSection(build),...ExternalSection(build),...FunctionSection(build),...ExportSection(build)].join(`
|
|
5
|
-
`);return{External:build.External(),Code:code}}var Validator=class{constructor(context,type){this.hasCodec=HasCodec(context,type),this.buildResult=Build(context,type),this.evaluateResult=this.buildResult.Evaluate()}IsAccelerated(){return this.evaluateResult.IsAccelerated()}Context(){return this.buildResult.Context()}Type(){return this.buildResult.Schema()}Code(){return this.evaluateResult.Code()}Check(value){return this.evaluateResult.Check(value)}Parse(value){if(this.Check(value))return value;if(settings_exports.Get().correctiveParse)return Parser(this.Context(),this.Type(),value);throw new ParseError(value,this.Errors(value))}Errors(value){return this.IsAccelerated()&&this.Check(value)?[]:Errors2(this.Context(),this.Type(),value)}Clean(value){return Clean(this.Context(),this.Type(),value)}Convert(value){return Convert(this.Context(),this.Type(),value)}Create(){return Create(this.Context(),this.Type())}Default(value){return Default(this.Context(),this.Type(),value)}Decode(value){return this.hasCodec?Decode9(this.Context(),this.Type(),value):this.Parse(value)}Encode(value){return this.hasCodec?Encode9(this.Context(),this.Type(),value):this.Parse(value)}};function Compile(...args){let[context,type]=arguments_exports.Match(args,{2:(context2,type2)=>[context2,type2],1:type2=>[{},type2]});return new Validator(context,type)}var compile_default=Compile;var all_exports={};__export(all_exports,{builtinModels:()=>builtinModels,builtinProviders:()=>builtinProviders,getAllBuiltinModels:()=>getAllBuiltinModels,getBuiltinClassifierModel:()=>getBuiltinClassifierModel,getBuiltinClassifierModels:()=>getBuiltinClassifierModels,getBuiltinImageModel:()=>getBuiltinImageModel,getBuiltinImageModels:()=>getBuiltinImageModels,getBuiltinModel:()=>getBuiltinModel,getBuiltinModelDataGeneratedAt:()=>getBuiltinModelDataGeneratedAt,getBuiltinModels:()=>getBuiltinModels,getBuiltinProviders:()=>getBuiltinProviders,radiusProvider:()=>radiusProvider});var agentrouter_default={"anthropic-messages":{"chat:claude-opus-4-8":{id:"claude-opus-4-8",name:"Claude Opus 4.8",api:"anthropic-messages",provider:"agentrouter",baseUrl:"https://agentrouter.org",reasoning:!0,input:["text","image"],cost:{input:8,output:40,cacheRead:.8,cacheWrite:10},contextWindow:1e6,maxTokens:128e3,headers:{"User-Agent":"claude-cli/2.1.75 (external, cli)"},thinkingLevelMap:{xhigh:"xhigh",max:"max"},compat:{forceAdaptiveThinking:!0,supportsTemperature:!1},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-opus-5":{id:"claude-opus-5",name:"Claude Opus 5",api:"anthropic-messages",provider:"agentrouter",baseUrl:"https://agentrouter.org",reasoning:!0,input:["text","image"],cost:{input:6,output:30,cacheRead:.6,cacheWrite:7.5},contextWindow:1e6,maxTokens:128e3,headers:{"User-Agent":"claude-cli/2.1.75 (external, cli)"},thinkingLevelMap:{xhigh:"xhigh",max:"max"},compat:{forceAdaptiveThinking:!0,supportsTemperature:!1},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}},"openai-completions":{"chat:deepseek-v4-flash":{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",api:"openai-completions",provider:"agentrouter",baseUrl:"https://agentrouter.org/v1",reasoning:!0,input:["text"],cost:{input:4,output:12,cacheRead:.4,cacheWrite:5},contextWindow:1e6,maxTokens:384e3,headers:{"User-Agent":"claude-cli/2.1.75 (external, cli)"},compat:{supportsStore:!1,supportsDeveloperRole:!1,maxTokensField:"max_tokens",requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek",supportsStrictMode:!0},thinkingLevelMap:{minimal:null,low:"low",medium:null,high:"high",max:"max"},type:"chat"},"chat:gpt-6-astra":{id:"gpt-6-astra",name:"GPT-6 Astra",api:"openai-completions",provider:"agentrouter",baseUrl:"https://agentrouter.org/v1",reasoning:!0,input:["text","image"],cost:{input:4,output:20,cacheRead:.4,cacheWrite:5},contextWindow:105e4,maxTokens:128e3,headers:{"User-Agent":"claude-cli/2.1.75 (external, cli)"},compat:{supportsStrictMode:!0},thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}}};function flattenModelCatalog(groups,type){return Object.fromEntries(Object.values(groups).flatMap(models=>Object.values(models)).filter(model=>model.type===type).map(model=>[model.id,model]))}function flattenChatModelCatalog(_provider,groups){return flattenModelCatalog(groups,"chat")}function flattenImageModelCatalog(_provider,groups){return flattenModelCatalog(groups,"image")}function flattenClassifierModelCatalog(_provider,groups){return flattenModelCatalog(groups,"classifier")}var AGENTROUTER_MODELS=flattenChatModelCatalog("agentrouter",agentrouter_default),AGENTROUTER_IMAGE_MODELS=flattenImageModelCatalog("agentrouter",agentrouter_default),AGENTROUTER_CLASSIFIER_MODELS=flattenClassifierModelCatalog("agentrouter",agentrouter_default);var amazon_bedrock_default={"bedrock-converse-stream":{"chat:amazon.nova-2-lite-v1:0":{id:"amazon.nova-2-lite-v1:0",name:"Nova 2 Lite",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.33,output:2.75,cacheRead:.0825,cacheWrite:.33},contextWindow:1e6,maxTokens:65535,inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:amazon.nova-lite-v1:0":{id:"amazon.nova-lite-v1:0",name:"Nova Lite",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:.06,output:.24,cacheRead:.015,cacheWrite:.06},contextWindow:3e5,maxTokens:1e4,inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:amazon.nova-micro-v1:0":{id:"amazon.nova-micro-v1:0",name:"Nova Micro",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:.035,output:.14,cacheRead:.00875,cacheWrite:.035},contextWindow:128e3,maxTokens:1e4,type:"chat"},"chat:amazon.nova-pro-v1:0":{id:"amazon.nova-pro-v1:0",name:"Nova Pro",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:.8,output:3.2,cacheRead:.2,cacheWrite:.8},contextWindow:3e5,maxTokens:1e4,inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic.claude-fable-5":{id:"anthropic.claude-fable-5",name:"Claude Fable 5",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{off:null,xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic.claude-fable-5-1":{id:"anthropic.claude-fable-5-1",name:"Claude Fable 5.1",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:.25,cacheWrite:12.5},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{off:null,xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic.claude-haiku-4-5-20251001-v1:0":{id:"anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3,compat:{supportsStrictMode:!0},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic.claude-haiku-5-5":{id:"anthropic.claude-haiku-5-5",name:"Claude Haiku 5.5",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.1,output:.5,cacheRead:.01,cacheWrite:.125,tiers:[{inputTokensAbove:1e5,input:.5,output:2.5,cacheRead:.05,cacheWrite:.625}]},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic.claude-opus-4-1-20250805-v1:0":{id:"anthropic.claude-opus-4-1-20250805-v1:0",name:"Claude Opus 4.1",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:2e5,maxTokens:32e3,inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic.claude-opus-4-5-20251101-v1:0":{id:"anthropic.claude-opus-4-5-20251101-v1:0",name:"Claude Opus 4.5",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3,compat:{supportsStrictMode:!0},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic.claude-opus-4-6-v1":{id:"anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5.5,output:27.5,cacheRead:.55,cacheWrite:6.875},contextWindow:1e6,maxTokens:128e3,compat:{supportsStrictMode:!0},thinkingLevelMap:{max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic.claude-opus-4-7":{id:"anthropic.claude-opus-4-7",name:"Claude Opus 4.7",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic.claude-opus-4-8":{id:"anthropic.claude-opus-4-8",name:"Claude Opus 4.8",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic.claude-opus-5-5":{id:"anthropic.claude-opus-5-5",name:"Claude Opus 5.5",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:4,output:20,cacheRead:.2,cacheWrite:5},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3,compat:{supportsStrictMode:!0},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic.claude-sonnet-4-6":{id:"anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3.3,output:16.5,cacheRead:.33,cacheWrite:4.125},contextWindow:1e6,maxTokens:128e3,compat:{supportsStrictMode:!0},thinkingLevelMap:{max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic.claude-sonnet-5":{id:"anthropic.claude-sonnet-5",name:"Claude Sonnet 5",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic.claude-sonnet-5-5":{id:"anthropic.claude-sonnet-5-5",name:"Claude Sonnet 5.5",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.1,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:apac.amazon.nova-lite-v1:0":{id:"apac.amazon.nova-lite-v1:0",name:"Nova Lite (APAC)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:.063,output:.252,cacheRead:.01575,cacheWrite:.063},contextWindow:3e5,maxTokens:1e4,inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:apac.amazon.nova-micro-v1:0":{id:"apac.amazon.nova-micro-v1:0",name:"Nova Micro (APAC)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:.037,output:.148,cacheRead:.00925,cacheWrite:.037},contextWindow:128e3,maxTokens:1e4,type:"chat"},"chat:apac.amazon.nova-pro-v1:0":{id:"apac.amazon.nova-pro-v1:0",name:"Nova Pro (APAC)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:.84,output:3.36,cacheRead:.21,cacheWrite:.84},contextWindow:3e5,maxTokens:1e4,inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:apac.anthropic.claude-sonnet-4-20250514-v1:0":{id:"apac.anthropic.claude-sonnet-4-20250514-v1:0",name:"Claude Sonnet 4 (APAC)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3,inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:au.anthropic.claude-haiku-4-5-20251001-v1:0":{id:"au.anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5 (AU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:1.1,output:5.5,cacheRead:.11,cacheWrite:1.375},contextWindow:2e5,maxTokens:64e3,compat:{supportsStrictMode:!0},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:au.anthropic.claude-haiku-5-5":{id:"au.anthropic.claude-haiku-5-5",name:"Claude Haiku 5.5 (AU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.11,output:.55,cacheRead:.011,cacheWrite:.1375,tiers:[{inputTokensAbove:1e5,input:.55,output:2.75,cacheRead:.055,cacheWrite:.6875}]},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:au.anthropic.claude-opus-4-6-v1":{id:"au.anthropic.claude-opus-4-6-v1",name:"AU Anthropic Claude Opus 4.6",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5.5,output:27.5,cacheRead:.55,cacheWrite:6.875},contextWindow:1e6,maxTokens:128e3,compat:{supportsStrictMode:!0},thinkingLevelMap:{max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:au.anthropic.claude-opus-4-7":{id:"au.anthropic.claude-opus-4-7",name:"Claude Opus 4.7 (AU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5.5,output:27.5,cacheRead:.55,cacheWrite:6.875},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:au.anthropic.claude-opus-4-8":{id:"au.anthropic.claude-opus-4-8",name:"Claude Opus 4.8 (AU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5.5,output:27.5,cacheRead:.55,cacheWrite:6.875},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:au.anthropic.claude-opus-5":{id:"au.anthropic.claude-opus-5",name:"Claude Opus 5 (AU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5.5,output:27.5,cacheRead:.55,cacheWrite:6.875},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:au.anthropic.claude-opus-5-5":{id:"au.anthropic.claude-opus-5-5",name:"Claude Opus 5.5 (AU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:4.4,output:22,cacheRead:.22,cacheWrite:5.5},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:au.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"au.anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5 (AU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3.3,output:16.5,cacheRead:.33,cacheWrite:4.125},contextWindow:2e5,maxTokens:64e3,compat:{supportsStrictMode:!0},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:au.anthropic.claude-sonnet-4-6":{id:"au.anthropic.claude-sonnet-4-6",name:"AU Anthropic Claude Sonnet 4.6",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3.3,output:16.5,cacheRead:.33,cacheWrite:4.125},contextWindow:1e6,maxTokens:128e3,compat:{supportsStrictMode:!0},thinkingLevelMap:{max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:au.anthropic.claude-sonnet-5":{id:"au.anthropic.claude-sonnet-5",name:"Claude Sonnet 5 (AU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2.2,output:11,cacheRead:.22,cacheWrite:2.75},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:ca.amazon.nova-lite-v1:0":{id:"ca.amazon.nova-lite-v1:0",name:"Nova Lite (CA)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:.064,output:.256,cacheRead:.016,cacheWrite:.064},contextWindow:3e5,maxTokens:1e4,inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:deepseek.v3-v1:0":{id:"deepseek.v3-v1:0",name:"DeepSeek-V3.1",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:.58,output:1.68,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:81920,compat:{supportsStrictMode:!0},type:"chat"},"chat:deepseek.v3.2":{id:"deepseek.v3.2",name:"DeepSeek V3.2",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:.62,output:1.85,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:81920,compat:{supportsStrictMode:!0},type:"chat"},"chat:eu.amazon.nova-2-lite-v1:0":{id:"eu.amazon.nova-2-lite-v1:0",name:"Nova 2 Lite (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.eu-central-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.374,output:3.157,cacheRead:.0935,cacheWrite:.374},contextWindow:1e6,maxTokens:65535,inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:eu.amazon.nova-lite-v1:0":{id:"eu.amazon.nova-lite-v1:0",name:"Nova Lite (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.eu-central-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:.069,output:.276,cacheRead:.01725,cacheWrite:.069},contextWindow:3e5,maxTokens:1e4,inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:eu.amazon.nova-micro-v1:0":{id:"eu.amazon.nova-micro-v1:0",name:"Nova Micro (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.eu-central-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:.04,output:.16,cacheRead:.01,cacheWrite:.04},contextWindow:128e3,maxTokens:1e4,type:"chat"},"chat:eu.amazon.nova-pro-v1:0":{id:"eu.amazon.nova-pro-v1:0",name:"Nova Pro (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.eu-central-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:.92,output:3.68,cacheRead:.23,cacheWrite:.92},contextWindow:3e5,maxTokens:1e4,inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:eu.anthropic.claude-fable-5":{id:"eu.anthropic.claude-fable-5",name:"Claude Fable 5 (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.eu-central-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:11,output:55,cacheRead:1.1,cacheWrite:13.75},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{off:null,xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat: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)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.eu-central-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:1.1,output:5.5,cacheRead:.11,cacheWrite:1.375},contextWindow:2e5,maxTokens:64e3,compat:{supportsStrictMode:!0},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:eu.anthropic.claude-haiku-5-5":{id:"eu.anthropic.claude-haiku-5-5",name:"Claude Haiku 5.5 (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.eu-central-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.11,output:.55,cacheRead:.011,cacheWrite:.1375,tiers:[{inputTokensAbove:1e5,input:.55,output:2.75,cacheRead:.055,cacheWrite:.6875}]},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat: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)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.eu-central-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5.5,output:27.5,cacheRead:.55,cacheWrite:6.875},contextWindow:2e5,maxTokens:64e3,compat:{supportsStrictMode:!0},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:eu.anthropic.claude-opus-4-6-v1":{id:"eu.anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6 (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.eu-central-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5.5,output:27.5,cacheRead:.55,cacheWrite:6.875},contextWindow:1e6,maxTokens:128e3,compat:{supportsStrictMode:!0},thinkingLevelMap:{max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:eu.anthropic.claude-opus-4-7":{id:"eu.anthropic.claude-opus-4-7",name:"Claude Opus 4.7 (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.eu-central-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5.5,output:27.5,cacheRead:.55,cacheWrite:6.875},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:eu.anthropic.claude-opus-4-8":{id:"eu.anthropic.claude-opus-4-8",name:"Claude Opus 4.8 (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.eu-central-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5.5,output:27.5,cacheRead:.55,cacheWrite:6.875},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:eu.anthropic.claude-opus-5":{id:"eu.anthropic.claude-opus-5",name:"Claude Opus 5 (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.eu-central-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5.5,output:27.5,cacheRead:.55,cacheWrite:6.875},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:eu.anthropic.claude-opus-5-5":{id:"eu.anthropic.claude-opus-5-5",name:"Claude Opus 5.5 (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.eu-central-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:4.4,output:22,cacheRead:.22,cacheWrite:5.5},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:eu.anthropic.claude-sonnet-4-20250514-v1:0":{id:"eu.anthropic.claude-sonnet-4-20250514-v1:0",name:"Claude Sonnet 4 (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.eu-central-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3,inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat: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)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.eu-central-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3.3,output:16.5,cacheRead:.33,cacheWrite:4.125},contextWindow:2e5,maxTokens:64e3,compat:{supportsStrictMode:!0},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:eu.anthropic.claude-sonnet-4-6":{id:"eu.anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6 (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.eu-central-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3.3,output:16.5,cacheRead:.33,cacheWrite:4.125},contextWindow:1e6,maxTokens:128e3,compat:{supportsStrictMode:!0},thinkingLevelMap:{max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:eu.anthropic.claude-sonnet-5":{id:"eu.anthropic.claude-sonnet-5",name:"Claude Sonnet 5 (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.eu-central-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2.2,output:11,cacheRead:.22,cacheWrite:2.75},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:eu.anthropic.claude-sonnet-5-5":{id:"eu.anthropic.claude-sonnet-5-5",name:"Claude Sonnet 5.5 (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.eu-central-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2.2,output:11,cacheRead:.11,cacheWrite:2.75},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:eu.mistral.pixtral-large-2502-v1:0":{id:"eu.mistral.pixtral-large-2502-v1:0",name:"Pixtral Large (25.02) (EU)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.eu-central-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:2,output:6,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8192,inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:global.amazon.nova-2-lite-v1:0":{id:"global.amazon.nova-2-lite-v1:0",name:"Nova 2 Lite (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.3,output:2.5,cacheRead:.075,cacheWrite:.3},contextWindow:1e6,maxTokens:65535,inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:global.anthropic.claude-fable-5":{id:"global.anthropic.claude-fable-5",name:"Claude Fable 5 (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{off:null,xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:global.anthropic.claude-fable-5-1":{id:"global.anthropic.claude-fable-5-1",name:"Claude Fable 5.1 (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:.25,cacheWrite:12.5},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{off:null,xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat: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)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3,compat:{supportsStrictMode:!0},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:global.anthropic.claude-haiku-5-5":{id:"global.anthropic.claude-haiku-5-5",name:"Claude Haiku 5.5 (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.1,output:.5,cacheRead:.01,cacheWrite:.125,tiers:[{inputTokensAbove:1e5,input:.5,output:2.5,cacheRead:.05,cacheWrite:.625}]},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat: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)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3,compat:{supportsStrictMode:!0},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:global.anthropic.claude-opus-4-6-v1":{id:"global.anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6 (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3,compat:{supportsStrictMode:!0},thinkingLevelMap:{max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:global.anthropic.claude-opus-4-7":{id:"global.anthropic.claude-opus-4-7",name:"Claude Opus 4.7 (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:global.anthropic.claude-opus-4-8":{id:"global.anthropic.claude-opus-4-8",name:"Claude Opus 4.8 (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:global.anthropic.claude-opus-5":{id:"global.anthropic.claude-opus-5",name:"Claude Opus 5 (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:global.anthropic.claude-opus-5-5":{id:"global.anthropic.claude-opus-5-5",name:"Claude Opus 5.5 (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:4,output:20,cacheRead:.2,cacheWrite:5},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:global.anthropic.claude-sonnet-4-20250514-v1:0":{id:"global.anthropic.claude-sonnet-4-20250514-v1:0",name:"Claude Sonnet 4 (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3,inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat: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)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3,compat:{supportsStrictMode:!0},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:global.anthropic.claude-sonnet-4-6":{id:"global.anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6 (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:128e3,compat:{supportsStrictMode:!0},thinkingLevelMap:{max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:global.anthropic.claude-sonnet-5":{id:"global.anthropic.claude-sonnet-5",name:"Claude Sonnet 5 (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:global.anthropic.claude-sonnet-5-5":{id:"global.anthropic.claude-sonnet-5-5",name:"Claude Sonnet 5.5 (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.1,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:global.moonshotai.kimi-k3":{id:"global.moonshotai.kimi-k3",name:"Kimi K3 (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1048576,maxTokens:128e3,compat:{supportsStrictMode:!0},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:global.openai.gpt-5.6-luna":{id:"global.openai.gpt-5.6-luna",name:"GPT-5.6 Luna (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.2,output:1.2,cacheRead:.02,cacheWrite:.25,tiers:[{inputTokensAbove:272e3,input:.4,output:1.8,cacheRead:.04,cacheWrite:.5}]},contextWindow:105e4,maxTokens:128e3,compat:{supportsStrictMode:!0},thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:global.openai.gpt-5.6-sol":{id:"global.openai.gpt-5.6-sol",name:"GPT-5.6 Sol (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:4,output:20,cacheRead:.4,cacheWrite:5,tiers:[{inputTokensAbove:272e3,input:8,output:30,cacheRead:.8,cacheWrite:10}]},contextWindow:105e4,maxTokens:128e3,compat:{supportsStrictMode:!0},thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:global.openai.gpt-5.6-terra":{id:"global.openai.gpt-5.6-terra",name:"GPT-5.6 Terra (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:.2,cacheWrite:2.5,tiers:[{inputTokensAbove:272e3,input:4,output:18,cacheRead:.4,cacheWrite:5}]},contextWindow:105e4,maxTokens:128e3,compat:{supportsStrictMode:!0},thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:global.openai.gpt-6-astra":{id:"global.openai.gpt-6-astra",name:"GPT-6 Astra (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5,tiers:[{inputTokensAbove:272e3,input:20,output:75,cacheRead:2,cacheWrite:25}]},contextWindow:105e4,maxTokens:128e3,compat:{supportsStrictMode:!0},thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:global.openai.gpt-6-luna":{id:"global.openai.gpt-6-luna",name:"GPT-6 Luna (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.1,output:.5,cacheRead:.01,cacheWrite:.125,tiers:[{inputTokensAbove:272e3,input:.2,output:.75,cacheRead:.02,cacheWrite:.25}]},contextWindow:105e4,maxTokens:128e3,compat:{supportsStrictMode:!0},thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:global.openai.gpt-6-sol":{id:"global.openai.gpt-6-sol",name:"GPT-6 Sol (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.2,cacheWrite:2.5,tiers:[{inputTokensAbove:272e3,input:4,output:15,cacheRead:.4,cacheWrite:5}]},contextWindow:105e4,maxTokens:128e3,compat:{supportsStrictMode:!0},thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:global.openai.gpt-6.1-sol":{id:"global.openai.gpt-6.1-sol",name:"GPT-6.1 Sol (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.1,cacheWrite:2.5,tiers:[{inputTokensAbove:272e3,input:4,output:15,cacheRead:.2,cacheWrite:5}]},contextWindow:105e4,maxTokens:128e3,compat:{supportsStrictMode:!0},thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:global.xai.grok-4.6":{id:"global.xai.grok-4.6",name:"Grok 4.6 (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.5,cacheWrite:0},contextWindow:5e5,maxTokens:5e5,inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:global.xai.grok-4.7":{id:"global.xai.grok-4.7",name:"Grok 4.7 (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.5,cacheWrite:0},contextWindow:5e5,maxTokens:5e5,compat:{supportsStrictMode:!0},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:global.zai.glm-5.3":{id:"global.zai.glm-5.3",name:"GLM-5.3 (Global)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:1.68,output:5.28,cacheRead:.312,cacheWrite:2.1},contextWindow:1e6,maxTokens:128e3,compat:{supportsStrictMode:!0},type:"chat"},"chat:google.gemma-4-26b-a4b":{id:"google.gemma-4-26b-a4b",name:"Gemma 4 26B A4B IT",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.13,output:.4,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768,compat:{supportsStrictMode:!0},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:google.gemma-4-31b":{id:"google.gemma-4-31b",name:"Gemma 4 31B IT",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.14,output:.4,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768,compat:{supportsStrictMode:!0},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:google.gemma-4-e2b":{id:"google.gemma-4-e2b",name:"Gemma 4 E2B IT",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.04,output:.08,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192,compat:{supportsStrictMode:!0},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:in.anthropic.claude-haiku-4-5-20251001-v1:0":{id:"in.anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5 (India)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:1.1,output:5.5,cacheRead:.11,cacheWrite:1.375},contextWindow:2e5,maxTokens:64e3,inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:in.anthropic.claude-opus-5":{id:"in.anthropic.claude-opus-5",name:"Claude Opus 5 (India)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5.5,output:27.5,cacheRead:.55,cacheWrite:6.875},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:in.anthropic.claude-sonnet-5":{id:"in.anthropic.claude-sonnet-5",name:"Claude Sonnet 5 (India)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2.2,output:11,cacheRead:.22,cacheWrite:2.75},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:in.openai.gpt-5.6-luna":{id:"in.openai.gpt-5.6-luna",name:"GPT-5.6 Luna (India)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.22,output:1.32,cacheRead:.022,cacheWrite:.275,tiers:[{inputTokensAbove:272e3,input:.44,output:1.98,cacheRead:.044,cacheWrite:.55}]},contextWindow:105e4,maxTokens:128e3,compat:{supportsStrictMode:!0},thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:in.openai.gpt-5.6-terra":{id:"in.openai.gpt-5.6-terra",name:"GPT-5.6 Terra (India)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2.2,output:13.2,cacheRead:.22,cacheWrite:2.75,tiers:[{inputTokensAbove:272e3,input:4.4,output:19.8,cacheRead:.44,cacheWrite:5.5}]},contextWindow:105e4,maxTokens:128e3,compat:{supportsStrictMode:!0},thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:jp.amazon.nova-2-lite-v1:0":{id:"jp.amazon.nova-2-lite-v1:0",name:"Nova 2 Lite (JP)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.396,output:3.311,cacheRead:.099,cacheWrite:.396},contextWindow:1e6,maxTokens:65535,inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:jp.anthropic.claude-haiku-4-5-20251001-v1:0":{id:"jp.anthropic.claude-haiku-4-5-20251001-v1:0",name:"Claude Haiku 4.5 (JP)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:1.1,output:5.5,cacheRead:.11,cacheWrite:1.375},contextWindow:2e5,maxTokens:64e3,compat:{supportsStrictMode:!0},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:jp.anthropic.claude-haiku-5-5":{id:"jp.anthropic.claude-haiku-5-5",name:"Claude Haiku 5.5 (JP)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.11,output:.55,cacheRead:.011,cacheWrite:.1375,tiers:[{inputTokensAbove:1e5,input:.55,output:2.75,cacheRead:.055,cacheWrite:.6875}]},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:jp.anthropic.claude-opus-4-7":{id:"jp.anthropic.claude-opus-4-7",name:"Claude Opus 4.7 (JP)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5.5,output:27.5,cacheRead:.55,cacheWrite:6.875},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:jp.anthropic.claude-opus-4-8":{id:"jp.anthropic.claude-opus-4-8",name:"Claude Opus 4.8 (JP)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5.5,output:27.5,cacheRead:.55,cacheWrite:6.875},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:jp.anthropic.claude-opus-5":{id:"jp.anthropic.claude-opus-5",name:"Claude Opus 5 (JP)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5.5,output:27.5,cacheRead:.55,cacheWrite:6.875},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:jp.anthropic.claude-opus-5-5":{id:"jp.anthropic.claude-opus-5-5",name:"Claude Opus 5.5 (JP)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:4.4,output:22,cacheRead:.22,cacheWrite:5.5},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:jp.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:"jp.anthropic.claude-sonnet-4-5-20250929-v1:0",name:"Claude Sonnet 4.5 (JP)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3.3,output:16.5,cacheRead:.33,cacheWrite:4.125},contextWindow:2e5,maxTokens:64e3,compat:{supportsStrictMode:!0},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:jp.anthropic.claude-sonnet-4-6":{id:"jp.anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6 (JP)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3.3,output:16.5,cacheRead:.33,cacheWrite:4.125},contextWindow:1e6,maxTokens:128e3,compat:{supportsStrictMode:!0},thinkingLevelMap:{max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:jp.anthropic.claude-sonnet-5":{id:"jp.anthropic.claude-sonnet-5",name:"Claude Sonnet 5 (JP)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2.2,output:11,cacheRead:.22,cacheWrite:2.75},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:meta.llama3-1-70b-instruct-v1:0":{id:"meta.llama3-1-70b-instruct-v1:0",name:"Llama 3.1 70B Instruct",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:.72,output:.72,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096,type:"chat"},"chat:meta.llama3-1-8b-instruct-v1:0":{id:"meta.llama3-1-8b-instruct-v1:0",name:"Llama 3.1 8B Instruct",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:.22,output:.22,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096,type:"chat"},"chat:meta.llama3-3-70b-instruct-v1:0":{id:"meta.llama3-3-70b-instruct-v1:0",name:"Llama 3.3 70B Instruct",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:.72,output:.72,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096,type:"chat"},"chat:meta.llama4-maverick-17b-instruct-v1:0":{id:"meta.llama4-maverick-17b-instruct-v1:0",name:"Llama 4 Maverick 17B Instruct",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:.24,output:.97,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:8192,inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:meta.llama4-scout-17b-instruct-v1:0":{id:"meta.llama4-scout-17b-instruct-v1:0",name:"Llama 4 Scout 17B Instruct",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:.17,output:.66,cacheRead:0,cacheWrite:0},contextWindow:1e7,maxTokens:8192,inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:minimax.minimax-m2":{id:"minimax.minimax-m2",name:"MiniMax-M2",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:.3,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:204608,maxTokens:128e3,compat:{supportsStrictMode:!0},type:"chat"},"chat:minimax.minimax-m2.1":{id:"minimax.minimax-m2.1",name:"MiniMax-M2.1",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:.3,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:196608,maxTokens:131072,compat:{supportsStrictMode:!0},type:"chat"},"chat:minimax.minimax-m2.5":{id:"minimax.minimax-m2.5",name:"MiniMax-M2.5",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:.3,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:196608,maxTokens:98304,compat:{supportsStrictMode:!0},type:"chat"},"chat:mistral.devstral-2-123b":{id:"mistral.devstral-2-123b",name:"Devstral 2 123B",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:.4,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:8192,compat:{supportsStrictMode:!0},type:"chat"},"chat:mistral.magistral-small-2509":{id:"mistral.magistral-small-2509",name:"Magistral Small 1.2",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4e4,compat:{supportsStrictMode:!0},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:mistral.ministral-3-14b-instruct":{id:"mistral.ministral-3-14b-instruct",name:"Ministral 14B 3.0",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:.2,output:.2,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096,compat:{supportsStrictMode:!0},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:mistral.ministral-3-3b-instruct":{id:"mistral.ministral-3-3b-instruct",name:"Ministral 3 3B",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:.1,output:.1,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:8192,compat:{supportsStrictMode:!0},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:mistral.ministral-3-8b-instruct":{id:"mistral.ministral-3-8b-instruct",name:"Ministral 3 8B",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:.15,output:.15,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096,compat:{supportsStrictMode:!0},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:mistral.mistral-large-3-675b-instruct":{id:"mistral.mistral-large-3-675b-instruct",name:"Mistral Large 3",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:8192,compat:{supportsStrictMode:!0},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:mistral.pixtral-large-2502-v1:0":{id:"mistral.pixtral-large-2502-v1:0",name:"Pixtral Large (25.02)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:2,output:6,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8192,inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:mistral.voxtral-mini-3b-2507":{id:"mistral.voxtral-mini-3b-2507",name:"Voxtral Mini 3B 2507",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:.04,output:.04,cacheRead:0,cacheWrite:0},contextWindow:32768,maxTokens:4096,compat:{supportsStrictMode:!0},type:"chat"},"chat:mistral.voxtral-small-24b-2507":{id:"mistral.voxtral-small-24b-2507",name:"Voxtral Small 24B 2507",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:.1,output:.3,cacheRead:0,cacheWrite:0},contextWindow:32768,maxTokens:8192,compat:{supportsStrictMode:!0},type:"chat"},"chat:moonshot.kimi-k2-thinking":{id:"moonshot.kimi-k2-thinking",name:"Kimi K2 Thinking",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:.6,output:2.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:16e3,compat:{supportsStrictMode:!0},type:"chat"},"chat:moonshotai.kimi-k2.5":{id:"moonshotai.kimi-k2.5",name:"Kimi K2.5",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.6,output:3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:16384,compat:{supportsStrictMode:!0},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:nvidia.nemotron-nano-12b-v2":{id:"nvidia.nemotron-nano-12b-v2",name:"NVIDIA Nemotron Nano 12B v2 VL BF16",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:.2,output:.6,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192,compat:{supportsStrictMode:!0},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:nvidia.nemotron-nano-3-30b":{id:"nvidia.nemotron-nano-3-30b",name:"NVIDIA Nemotron Nano 3 30B",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:.06,output:.24,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:8192,compat:{supportsStrictMode:!0},type:"chat"},"chat:nvidia.nemotron-nano-9b-v2":{id:"nvidia.nemotron-nano-9b-v2",name:"NVIDIA Nemotron Nano 9B v2",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:.06,output:.23,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192,compat:{supportsStrictMode:!0},type:"chat"},"chat:nvidia.nemotron-super-3-120b":{id:"nvidia.nemotron-super-3-120b",name:"NVIDIA Nemotron 3 Super 120B A12B",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:.15,output:.65,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072,compat:{supportsStrictMode:!0},type:"chat"},"chat:openai.gpt-5.4":{id:"openai.gpt-5.4",name:"GPT-5.4",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2.75,output:16.5,cacheRead:.275,cacheWrite:0},contextWindow:1e6,maxTokens:128e3,compat:{supportsStrictMode:!0},thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai.gpt-5.5":{id:"openai.gpt-5.5",name:"GPT-5.5",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5.5,output:33,cacheRead:.55,cacheWrite:0},contextWindow:1e6,maxTokens:128e3,compat:{supportsStrictMode:!0},thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai.gpt-5.6-luna":{id:"openai.gpt-5.6-luna",name:"GPT-5.6 Luna",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.22,output:1.32,cacheRead:.022,cacheWrite:.275,tiers:[{inputTokensAbove:272e3,input:.44,output:1.98,cacheRead:.044,cacheWrite:.55}]},contextWindow:105e4,maxTokens:128e3,compat:{supportsStrictMode:!0},thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai.gpt-5.6-sol":{id:"openai.gpt-5.6-sol",name:"GPT-5.6 Sol",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:4.4,output:22,cacheRead:.44,cacheWrite:5.5,tiers:[{inputTokensAbove:272e3,input:8.8,output:33,cacheRead:.88,cacheWrite:11}]},contextWindow:105e4,maxTokens:128e3,compat:{supportsStrictMode:!0},thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai.gpt-5.6-terra":{id:"openai.gpt-5.6-terra",name:"GPT-5.6 Terra",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2.2,output:13.2,cacheRead:.22,cacheWrite:2.75,tiers:[{inputTokensAbove:272e3,input:4.4,output:19.8,cacheRead:.44,cacheWrite:5.5}]},contextWindow:105e4,maxTokens:128e3,compat:{supportsStrictMode:!0},thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai.gpt-6-astra":{id:"openai.gpt-6-astra",name:"GPT-6 Astra",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:11,output:55,cacheRead:1.1,cacheWrite:13.75,tiers:[{inputTokensAbove:272e3,input:22,output:82.5,cacheRead:2.2,cacheWrite:27.5}]},contextWindow:105e4,maxTokens:128e3,compat:{supportsStrictMode:!0},thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai.gpt-6-luna":{id:"openai.gpt-6-luna",name:"GPT-6 Luna",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.11,output:.55,cacheRead:.011,cacheWrite:.1375,tiers:[{inputTokensAbove:272e3,input:.22,output:.825,cacheRead:.022,cacheWrite:.275}]},contextWindow:105e4,maxTokens:128e3,compat:{supportsStrictMode:!0},thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai.gpt-6-sol":{id:"openai.gpt-6-sol",name:"GPT-6 Sol",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2.2,output:11,cacheRead:.22,cacheWrite:2.75,tiers:[{inputTokensAbove:272e3,input:4.4,output:16.5,cacheRead:.44,cacheWrite:5.5}]},contextWindow:105e4,maxTokens:128e3,compat:{supportsStrictMode:!0},thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai.gpt-6.1-sol":{id:"openai.gpt-6.1-sol",name:"GPT-6.1 Sol",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2.2,output:11,cacheRead:.11,cacheWrite:2.75,tiers:[{inputTokensAbove:272e3,input:4.4,output:16.5,cacheRead:.22,cacheWrite:5.5}]},contextWindow:105e4,maxTokens:128e3,compat:{supportsStrictMode:!0},thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai.gpt-oss-120b":{id:"openai.gpt-oss-120b",name:"gpt-oss-120b",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072,compat:{supportsStrictMode:!0},type:"chat"},"chat:openai.gpt-oss-120b-1:0":{id:"openai.gpt-oss-120b-1:0",name:"gpt-oss-120b",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:128e3,compat:{supportsStrictMode:!0},type:"chat"},"chat:openai.gpt-oss-20b":{id:"openai.gpt-oss-20b",name:"gpt-oss-20b",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:.07,output:.3,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072,compat:{supportsStrictMode:!0},type:"chat"},"chat:openai.gpt-oss-20b-1:0":{id:"openai.gpt-oss-20b-1:0",name:"gpt-oss-20b",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:.07,output:.3,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:128e3,compat:{supportsStrictMode:!0},type:"chat"},"chat:openai.gpt-oss-safeguard-120b":{id:"openai.gpt-oss-safeguard-120b",name:"GPT OSS Safeguard 120B",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384,compat:{supportsStrictMode:!0},type:"chat"},"chat:openai.gpt-oss-safeguard-20b":{id:"openai.gpt-oss-safeguard-20b",name:"GPT OSS Safeguard 20B",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:.07,output:.2,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384,compat:{supportsStrictMode:!0},type:"chat"},"chat:qwen.qwen3-235b-a22b-2507-v1:0":{id:"qwen.qwen3-235b-a22b-2507-v1:0",name:"Qwen3 235B-A22B Instruct 2507",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:.22,output:.88,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072,compat:{supportsStrictMode:!0},type:"chat"},"chat:qwen.qwen3-32b-v1:0":{id:"qwen.qwen3-32b-v1:0",name:"Qwen3 32B",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:32768,maxTokens:16384,compat:{supportsStrictMode:!0},type:"chat"},"chat:qwen.qwen3-coder-30b-a3b-v1:0":{id:"qwen.qwen3-coder-30b-a3b-v1:0",name:"Qwen3-Coder 30B-A3B Instruct",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072,compat:{supportsStrictMode:!0},type:"chat"},"chat:qwen.qwen3-coder-480b-a35b-v1:0":{id:"qwen.qwen3-coder-480b-a35b-v1:0",name:"Qwen3-Coder 480B-A35B Instruct",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:.45,output:1.8,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:65536,compat:{supportsStrictMode:!0},type:"chat"},"chat:qwen.qwen3-coder-next":{id:"qwen.qwen3-coder-next",name:"Qwen3 Coder Next",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:.5,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536,compat:{supportsStrictMode:!0},type:"chat"},"chat:qwen.qwen3-next-80b-a3b":{id:"qwen.qwen3-next-80b-a3b",name:"Qwen3-Next 80B-A3B Instruct",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:.15,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262e3,compat:{supportsStrictMode:!0},type:"chat"},"chat:qwen.qwen3-vl-235b-a22b":{id:"qwen.qwen3-vl-235b-a22b",name:"Qwen3 VL 235B A22B Instruct",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:.53,output:2.66,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262e3,compat:{supportsStrictMode:!0},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:us-gov.openai.gpt-oss-120b-1:0":{id:"us-gov.openai.gpt-oss-120b-1:0",name:"gpt-oss-120b (GovCloud)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:.18,output:.72,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384,compat:{supportsStrictMode:!0},type:"chat"},"chat:us-gov.openai.gpt-oss-20b-1:0":{id:"us-gov.openai.gpt-oss-20b-1:0",name:"gpt-oss-20b (GovCloud)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:.084,output:.36,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384,compat:{supportsStrictMode:!0},type:"chat"},"chat:us.amazon.nova-2-lite-v1:0":{id:"us.amazon.nova-2-lite-v1:0",name:"Nova 2 Lite (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.33,output:2.75,cacheRead:.0825,cacheWrite:.33},contextWindow:1e6,maxTokens:65535,inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:us.amazon.nova-lite-v1:0":{id:"us.amazon.nova-lite-v1:0",name:"Nova Lite (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:.06,output:.24,cacheRead:.015,cacheWrite:.06},contextWindow:3e5,maxTokens:1e4,inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:us.amazon.nova-micro-v1:0":{id:"us.amazon.nova-micro-v1:0",name:"Nova Micro (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:.035,output:.14,cacheRead:.00875,cacheWrite:.035},contextWindow:128e3,maxTokens:1e4,type:"chat"},"chat:us.amazon.nova-premier-v1:0":{id:"us.amazon.nova-premier-v1:0",name:"Nova Premier (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:2.5,output:12.5,cacheRead:.625,cacheWrite:2.5},contextWindow:1e6,maxTokens:1e4,inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:us.amazon.nova-pro-v1:0":{id:"us.amazon.nova-pro-v1:0",name:"Nova Pro (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:.8,output:3.2,cacheRead:.2,cacheWrite:.8},contextWindow:3e5,maxTokens:1e4,inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:us.anthropic.claude-fable-5":{id:"us.anthropic.claude-fable-5",name:"Claude Fable 5 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:11,output:55,cacheRead:1.1,cacheWrite:13.75},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{off:null,xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:us.anthropic.claude-fable-5-1":{id:"us.anthropic.claude-fable-5-1",name:"Claude Fable 5.1 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:11,output:55,cacheRead:.275,cacheWrite:13.75},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{off:null,xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat: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)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:1.1,output:5.5,cacheRead:.11,cacheWrite:1.375},contextWindow:2e5,maxTokens:64e3,compat:{supportsStrictMode:!0},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:us.anthropic.claude-haiku-5-5":{id:"us.anthropic.claude-haiku-5-5",name:"Claude Haiku 5.5 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.11,output:.55,cacheRead:.011,cacheWrite:.1375,tiers:[{inputTokensAbove:1e5,input:.55,output:2.75,cacheRead:.055,cacheWrite:.6875}]},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat: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)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:2e5,maxTokens:32e3,inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat: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)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5.5,output:27.5,cacheRead:.55,cacheWrite:6.875},contextWindow:2e5,maxTokens:64e3,compat:{supportsStrictMode:!0},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:us.anthropic.claude-opus-4-6-v1":{id:"us.anthropic.claude-opus-4-6-v1",name:"Claude Opus 4.6 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5.5,output:27.5,cacheRead:.55,cacheWrite:6.875},contextWindow:1e6,maxTokens:128e3,compat:{supportsStrictMode:!0},thinkingLevelMap:{max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:us.anthropic.claude-opus-4-7":{id:"us.anthropic.claude-opus-4-7",name:"Claude Opus 4.7 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5.5,output:27.5,cacheRead:.55,cacheWrite:6.875},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:us.anthropic.claude-opus-4-8":{id:"us.anthropic.claude-opus-4-8",name:"Claude Opus 4.8 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5.5,output:27.5,cacheRead:.55,cacheWrite:6.875},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:us.anthropic.claude-opus-5":{id:"us.anthropic.claude-opus-5",name:"Claude Opus 5 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:5.5,output:27.5,cacheRead:.55,cacheWrite:6.875},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:us.anthropic.claude-opus-5-5":{id:"us.anthropic.claude-opus-5-5",name:"Claude Opus 5.5 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:4.4,output:22,cacheRead:.22,cacheWrite:5.5},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:us.anthropic.claude-sonnet-4-20250514-v1:0":{id:"us.anthropic.claude-sonnet-4-20250514-v1:0",name:"Claude Sonnet 4 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3,inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat: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)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3.3,output:16.5,cacheRead:.33,cacheWrite:4.125},contextWindow:2e5,maxTokens:64e3,compat:{supportsStrictMode:!0},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:us.anthropic.claude-sonnet-4-6":{id:"us.anthropic.claude-sonnet-4-6",name:"Claude Sonnet 4.6 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3.3,output:16.5,cacheRead:.33,cacheWrite:4.125},contextWindow:1e6,maxTokens:128e3,compat:{supportsStrictMode:!0},thinkingLevelMap:{max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:us.anthropic.claude-sonnet-5":{id:"us.anthropic.claude-sonnet-5",name:"Claude Sonnet 5 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2.2,output:11,cacheRead:.22,cacheWrite:2.75},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:us.anthropic.claude-sonnet-5-5":{id:"us.anthropic.claude-sonnet-5-5",name:"Claude Sonnet 5.5 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2.2,output:11,cacheRead:.11,cacheWrite:2.75},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:us.meta.llama3-1-70b-instruct-v1:0":{id:"us.meta.llama3-1-70b-instruct-v1:0",name:"Llama 3.1 70B Instruct (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:.72,output:.72,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096,type:"chat"},"chat:us.meta.llama3-1-8b-instruct-v1:0":{id:"us.meta.llama3-1-8b-instruct-v1:0",name:"Llama 3.1 8B Instruct (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:.22,output:.22,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096,type:"chat"},"chat:us.meta.llama3-3-70b-instruct-v1:0":{id:"us.meta.llama3-3-70b-instruct-v1:0",name:"Llama 3.3 70B Instruct (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text"],cost:{input:.72,output:.72,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096,type:"chat"},"chat:us.meta.llama4-maverick-17b-instruct-v1:0":{id:"us.meta.llama4-maverick-17b-instruct-v1:0",name:"Llama 4 Maverick 17B Instruct (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:.24,output:.97,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:8192,inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:us.meta.llama4-scout-17b-instruct-v1:0":{id:"us.meta.llama4-scout-17b-instruct-v1:0",name:"Llama 4 Scout 17B Instruct (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:.17,output:.66,cacheRead:0,cacheWrite:0},contextWindow:1e7,maxTokens:8192,inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:us.mistral.pixtral-large-2502-v1:0":{id:"us.mistral.pixtral-large-2502-v1:0",name:"Pixtral Large (25.02) (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!1,input:["text","image"],cost:{input:2,output:6,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8192,inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:us.moonshotai.kimi-k3":{id:"us.moonshotai.kimi-k3",name:"Kimi K3 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:3.3,output:16.5,cacheRead:.33,cacheWrite:4.125},contextWindow:1048576,maxTokens:128e3,compat:{supportsStrictMode:!0},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:us.openai.gpt-5.6-luna":{id:"us.openai.gpt-5.6-luna",name:"GPT-5.6 Luna (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.22,output:1.32,cacheRead:.022,cacheWrite:.275,tiers:[{inputTokensAbove:272e3,input:.44,output:1.98,cacheRead:.044,cacheWrite:.55}]},contextWindow:105e4,maxTokens:128e3,compat:{supportsStrictMode:!0},thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:us.openai.gpt-5.6-sol":{id:"us.openai.gpt-5.6-sol",name:"GPT-5.6 Sol (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:4.4,output:22,cacheRead:.44,cacheWrite:5.5,tiers:[{inputTokensAbove:272e3,input:8.8,output:33,cacheRead:.88,cacheWrite:11}]},contextWindow:105e4,maxTokens:128e3,compat:{supportsStrictMode:!0},thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:us.openai.gpt-5.6-terra":{id:"us.openai.gpt-5.6-terra",name:"GPT-5.6 Terra (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2.2,output:13.2,cacheRead:.22,cacheWrite:2.75,tiers:[{inputTokensAbove:272e3,input:4.4,output:19.8,cacheRead:.44,cacheWrite:5.5}]},contextWindow:105e4,maxTokens:128e3,compat:{supportsStrictMode:!0},thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:us.openai.gpt-6-astra":{id:"us.openai.gpt-6-astra",name:"GPT-6 Astra (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:11,output:55,cacheRead:1.1,cacheWrite:13.75,tiers:[{inputTokensAbove:272e3,input:22,output:82.5,cacheRead:2.2,cacheWrite:27.5}]},contextWindow:105e4,maxTokens:128e3,compat:{supportsStrictMode:!0},thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:us.openai.gpt-6-luna":{id:"us.openai.gpt-6-luna",name:"GPT-6 Luna (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:.11,output:.55,cacheRead:.011,cacheWrite:.1375,tiers:[{inputTokensAbove:272e3,input:.22,output:.825,cacheRead:.022,cacheWrite:.275}]},contextWindow:105e4,maxTokens:128e3,compat:{supportsStrictMode:!0},thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:us.openai.gpt-6-sol":{id:"us.openai.gpt-6-sol",name:"GPT-6 Sol (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2.2,output:11,cacheRead:.22,cacheWrite:2.75,tiers:[{inputTokensAbove:272e3,input:4.4,output:16.5,cacheRead:.44,cacheWrite:5.5}]},contextWindow:105e4,maxTokens:128e3,compat:{supportsStrictMode:!0},thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:us.openai.gpt-6.1-sol":{id:"us.openai.gpt-6.1-sol",name:"GPT-6.1 Sol (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2.2,output:11,cacheRead:.11,cacheWrite:2.75,tiers:[{inputTokensAbove:272e3,input:4.4,output:16.5,cacheRead:.22,cacheWrite:5.5}]},contextWindow:105e4,maxTokens:128e3,compat:{supportsStrictMode:!0},thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:us.writer.palmyra-x4-v1:0":{id:"us.writer.palmyra-x4-v1:0",name:"Palmyra X4 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:2.5,output:10,cacheRead:0,cacheWrite:0},contextWindow:122880,maxTokens:8192,type:"chat"},"chat:us.writer.palmyra-x5-v1:0":{id:"us.writer.palmyra-x5-v1:0",name:"Palmyra X5 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:.6,output:6,cacheRead:0,cacheWrite:0},contextWindow:104e4,maxTokens:8192,type:"chat"},"chat:us.xai.grok-4.6":{id:"us.xai.grok-4.6",name:"Grok 4.6 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2.2,output:6.6,cacheRead:.55,cacheWrite:0},contextWindow:5e5,maxTokens:5e5,inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:us.xai.grok-4.7":{id:"us.xai.grok-4.7",name:"Grok 4.7 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2.2,output:6.6,cacheRead:.55,cacheWrite:0},contextWindow:5e5,maxTokens:5e5,compat:{supportsStrictMode:!0},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:us.zai.glm-5.3":{id:"us.zai.glm-5.3",name:"GLM-5.3 (US)",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:1.848,output:5.808,cacheRead:.3432,cacheWrite:2.31},contextWindow:1e6,maxTokens:128e3,compat:{supportsStrictMode:!0},type:"chat"},"chat:writer.palmyra-x4-v1:0":{id:"writer.palmyra-x4-v1:0",name:"Palmyra X4",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:2.5,output:10,cacheRead:0,cacheWrite:0},contextWindow:122880,maxTokens:8192,type:"chat"},"chat:writer.palmyra-x5-v1:0":{id:"writer.palmyra-x5-v1:0",name:"Palmyra X5",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:.6,output:6,cacheRead:0,cacheWrite:0},contextWindow:104e4,maxTokens:8192,type:"chat"},"chat:xai.grok-4.3":{id:"xai.grok-4.3",name:"Grok 4.3",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:1.25,output:2.5,cacheRead:.2,cacheWrite:0},contextWindow:1e6,maxTokens:131072,compat:{supportsStrictMode:!0},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:xai.grok-4.6":{id:"xai.grok-4.6",name:"Grok 4.6",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text","image"],cost:{input:2.2,output:6.6,cacheRead:.55,cacheWrite:0},contextWindow:5e5,maxTokens:5e5,compat:{supportsStrictMode:!0},inputLimits:{images:{maxPerMessage:20,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:zai.glm-4.7":{id:"zai.glm-4.7",name:"GLM-4.7",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:.6,output:2.2,cacheRead:0,cacheWrite:0},contextWindow:202752,maxTokens:131072,compat:{supportsStrictMode:!0},type:"chat"},"chat:zai.glm-4.7-flash":{id:"zai.glm-4.7-flash",name:"GLM-4.7-Flash",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:.07,output:.4,cacheRead:0,cacheWrite:0},contextWindow:202752,maxTokens:131072,compat:{supportsStrictMode:!0},type:"chat"},"chat:zai.glm-5":{id:"zai.glm-5",name:"GLM-5",api:"bedrock-converse-stream",provider:"amazon-bedrock",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",reasoning:!0,input:["text"],cost:{input:1,output:3.2,cacheRead:0,cacheWrite:0},contextWindow:202752,maxTokens:131072,compat:{supportsStrictMode:!0},type:"chat"}}};var AMAZON_BEDROCK_MODELS=flattenChatModelCatalog("amazon-bedrock",amazon_bedrock_default),AMAZON_BEDROCK_IMAGE_MODELS=flattenImageModelCatalog("amazon-bedrock",amazon_bedrock_default),AMAZON_BEDROCK_CLASSIFIER_MODELS=flattenClassifierModelCatalog("amazon-bedrock",amazon_bedrock_default);var ant_ling_default={"openai-completions":{"chat:Ling-2.6-1T":{id:"Ling-2.6-1T",name:"Ling 2.6 1T",api:"openai-completions",baseUrl:"https://api.ant-ling.com/v1",provider:"ant-ling",reasoning:!1,input:["text"],cost:{input:.06,output:.25,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",thinkingFormat:"ant-ling",supportsStrictMode:!0,supportsLongCacheRetention:!1},type:"chat"},"chat:Ling-2.6-flash":{id:"Ling-2.6-flash",name:"Ling 2.6 Flash",api:"openai-completions",baseUrl:"https://api.ant-ling.com/v1",provider:"ant-ling",reasoning:!1,input:["text"],cost:{input:.01,output:.02,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",thinkingFormat:"ant-ling",supportsStrictMode:!0,supportsLongCacheRetention:!1},type:"chat"},"chat:Ring-2.6-1T":{id:"Ring-2.6-1T",name:"Ring 2.6 1T",api:"openai-completions",baseUrl:"https://api.ant-ling.com/v1",provider:"ant-ling",reasoning:!0,input:["text"],cost:{input:.06,output:.25,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",thinkingFormat:"ant-ling",supportsStrictMode:!0,supportsLongCacheRetention:!1},thinkingLevelMap:{off:null,minimal:null,low:null,medium:null,high:"high",xhigh:"xhigh"},type:"chat"}}};var ANT_LING_MODELS=flattenChatModelCatalog("ant-ling",ant_ling_default),ANT_LING_IMAGE_MODELS=flattenImageModelCatalog("ant-ling",ant_ling_default),ANT_LING_CLASSIFIER_MODELS=flattenClassifierModelCatalog("ant-ling",ant_ling_default);var anthropic_default={"anthropic-messages":{"chat:claude-fable-5":{id:"claude-fable-5",name:"Claude Fable 5",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,maxTokens:128e3,compat:{supportsMidConvoSystemMessages:!0,supportsMidConvoToolChanges:!0,forceAdaptiveThinking:!0,supportsStrictTools:!0,allowedFallbackModels:[{provider:"anthropic",model:"claude-opus-4-8",cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25}},{provider:"anthropic",model:"claude-opus-5",cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25}}]},thinkingLevelMap:{off:null,xhigh:"xhigh",max:"max"},promptCache:{short:300,long:3600},inputLimits:{maxRequestBytes:33554432,images:{maxPerRequest:600,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-fable-5-1":{id:"claude-fable-5-1",name:"Claude Fable 5.1",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:.25,cacheWrite:12.5},contextWindow:1e6,maxTokens:128e3,compat:{supportsMidConvoEffort:!0,supportsMidConvoSystemMessages:!0,supportsMidConvoToolChanges:!0,forceAdaptiveThinking:!0,supportsStrictTools:!0},thinkingLevelMap:{off:null,xhigh:"xhigh",max:"max"},promptCache:{short:300,long:3600},inputLimits:{maxRequestBytes:33554432,images:{maxPerRequest:600,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-haiku-4-5":{id:"claude-haiku-4-5",name:"Claude Haiku 4.5 (latest)",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3,compat:{supportsStrictTools:!0},promptCache:{short:300,long:3600},inputLimits:{maxRequestBytes:33554432,images:{maxPerRequest:100,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-haiku-4-5-20251001":{id:"claude-haiku-4-5-20251001",name:"Claude Haiku 4.5",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3,compat:{supportsStrictTools:!0},promptCache:{short:300,long:3600},inputLimits:{maxRequestBytes:33554432,images:{maxPerRequest:100,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-haiku-5-5":{id:"claude-haiku-5-5",name:"Claude Haiku 5.5",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:.1,output:.5,cacheRead:.01,cacheWrite:.125,tiers:[{inputTokensAbove:1e5,input:.5,output:2.5,cacheRead:.05,cacheWrite:.625}]},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsMidConvoEffort:!0,supportsMidConvoSystemMessages:!0,supportsMidConvoToolChanges:!0,forceAdaptiveThinking:!0,supportsTemperature:!1,supportsStrictTools:!0},promptCache:{short:300,long:3600},inputLimits:{maxRequestBytes:33554432,images:{maxPerRequest:600,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-opus-4-5":{id:"claude-opus-4-5",name:"Claude Opus 4.5 (latest)",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3,compat:{supportsStrictTools:!0},promptCache:{short:300,long:3600},inputLimits:{maxRequestBytes:33554432,images:{maxPerRequest:100,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-opus-4-5-20251101":{id:"claude-opus-4-5-20251101",name:"Claude Opus 4.5",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3,compat:{supportsStrictTools:!0},promptCache:{short:300,long:3600},inputLimits:{maxRequestBytes:33554432,images:{maxPerRequest:100,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-opus-4-6":{id:"claude-opus-4-6",name:"Claude Opus 4.6",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{max:"max"},compat:{forceAdaptiveThinking:!0,supportsStrictTools:!0},promptCache:{short:300,long:3600},inputLimits:{maxRequestBytes:33554432,images:{maxPerRequest:600,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-opus-4-7":{id:"claude-opus-4-7",name:"Claude Opus 4.7",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},compat:{forceAdaptiveThinking:!0,supportsTemperature:!1,supportsStrictTools:!0},promptCache:{short:300,long:3600},inputLimits:{maxRequestBytes:33554432,images:{maxPerRequest:600,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-opus-4-8":{id:"claude-opus-4-8",name:"Claude Opus 4.8",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3,compat:{supportsMidConvoSystemMessages:!0,supportsMidConvoToolChanges:!0,forceAdaptiveThinking:!0,supportsTemperature:!1,supportsStrictTools:!0},thinkingLevelMap:{xhigh:"xhigh",max:"max"},promptCache:{short:300,long:3600},inputLimits:{maxRequestBytes:33554432,images:{maxPerRequest:600,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-opus-5":{id:"claude-opus-5",name:"Claude Opus 5",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3,compat:{supportsMidConvoEffort:!0,supportsMidConvoSystemMessages:!0,supportsMidConvoToolChanges:!0,forceAdaptiveThinking:!0,supportsTemperature:!1,supportsStrictTools:!0},thinkingLevelMap:{xhigh:"xhigh",max:"max"},promptCache:{short:300,long:3600},inputLimits:{maxRequestBytes:33554432,images:{maxPerRequest:600,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-opus-5-5":{id:"claude-opus-5-5",name:"Claude Opus 5.5",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:4,output:20,cacheRead:.2,cacheWrite:5},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsMidConvoEffort:!0,supportsMidConvoSystemMessages:!0,supportsMidConvoToolChanges:!0,forceAdaptiveThinking:!0,supportsTemperature:!1,supportsStrictTools:!0},promptCache:{short:300,long:3600},inputLimits:{maxRequestBytes:33554432,images:{maxPerRequest:600,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-sonnet-4-5":{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5 (latest)",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3,compat:{supportsStrictTools:!0},promptCache:{short:300,long:3600},inputLimits:{maxRequestBytes:33554432,images:{maxPerRequest:100,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-sonnet-4-5-20250929":{id:"claude-sonnet-4-5-20250929",name:"Claude Sonnet 4.5",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3,compat:{supportsStrictTools:!0},promptCache:{short:300,long:3600},inputLimits:{maxRequestBytes:33554432,images:{maxPerRequest:100,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-sonnet-4-6":{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{max:"max"},compat:{forceAdaptiveThinking:!0,supportsStrictTools:!0},promptCache:{short:300,long:3600},inputLimits:{maxRequestBytes:33554432,images:{maxPerRequest:600,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-sonnet-5":{id:"claude-sonnet-5",name:"Claude Sonnet 5",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},compat:{forceAdaptiveThinking:!0,supportsStrictTools:!0},promptCache:{short:300,long:3600},inputLimits:{maxRequestBytes:33554432,images:{maxPerRequest:600,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-sonnet-5-5":{id:"claude-sonnet-5-5",name:"Claude Sonnet 5.5",api:"anthropic-messages",provider:"anthropic",baseUrl:"https://api.anthropic.com",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.1,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsMidConvoEffort:!0,supportsMidConvoSystemMessages:!0,supportsMidConvoToolChanges:!0,forceAdaptiveThinking:!0,supportsTemperature:!1,supportsStrictTools:!0},promptCache:{short:300,long:3600},inputLimits:{maxRequestBytes:33554432,images:{maxPerRequest:600,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}}};var ANTHROPIC_MODELS=flattenChatModelCatalog("anthropic",anthropic_default),ANTHROPIC_IMAGE_MODELS=flattenImageModelCatalog("anthropic",anthropic_default),ANTHROPIC_CLASSIFIER_MODELS=flattenClassifierModelCatalog("anthropic",anthropic_default);var azure_default={"azure-openai-responses":{"chat:gpt-4":{id:"gpt-4",name:"GPT-4",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!1,input:["text"],cost:{input:30,output:60,cacheRead:0,cacheWrite:0},contextWindow:8192,maxTokens:8192,type:"chat"},"chat:gpt-4-turbo":{id:"gpt-4-turbo",name:"GPT-4 Turbo",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!1,input:["text","image"],cost:{input:10,output:30,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-4.1":{id:"gpt-4.1",name:"GPT-4.1",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!1,input:["text","image"],cost:{input:2,output:8,cacheRead:.5,cacheWrite:0},contextWindow:1047576,maxTokens:32768,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-4.1-mini":{id:"gpt-4.1-mini",name:"GPT-4.1 mini",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!1,input:["text","image"],cost:{input:.4,output:1.6,cacheRead:.1,cacheWrite:0},contextWindow:1047576,maxTokens:32768,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-4.1-nano":{id:"gpt-4.1-nano",name:"GPT-4.1 nano",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!1,input:["text","image"],cost:{input:.1,output:.4,cacheRead:.025,cacheWrite:0},contextWindow:1047576,maxTokens:32768,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-4o":{id:"gpt-4o",name:"GPT-4o",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!1,input:["text","image"],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128e3,maxTokens:16384,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-4o-2024-05-13":{id:"gpt-4o-2024-05-13",name:"GPT-4o (2024-05-13)",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!1,input:["text","image"],cost:{input:5,output:15,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-4o-2024-08-06":{id:"gpt-4o-2024-08-06",name:"GPT-4o (2024-08-06)",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!1,input:["text","image"],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128e3,maxTokens:16384,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-4o-2024-11-20":{id:"gpt-4o-2024-11-20",name:"GPT-4o (2024-11-20)",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!1,input:["text","image"],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128e3,maxTokens:16384,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-4o-mini":{id:"gpt-4o-mini",name:"GPT-4o mini",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!1,input:["text","image"],cost:{input:.15,output:.6,cacheRead:.075,cacheWrite:0},contextWindow:128e3,maxTokens:16384,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5":{id:"gpt-5",name:"GPT-5",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{off:null},compat:{supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5-chat-latest":{id:"gpt-5-chat-latest",name:"GPT-5 Chat Latest",api:"azure-openai-responses",baseUrl:"",provider:"azure",reasoning:!1,input:["text","image"],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:128e3,maxTokens:16384,thinkingLevelMap:{off:null},compat:{supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5-mini":{id:"gpt-5-mini",name:"GPT-5 Mini",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:.25,output:2,cacheRead:.025,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{off:null},compat:{supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5-nano":{id:"gpt-5-nano",name:"GPT-5 Nano",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:.05,output:.4,cacheRead:.005,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{off:null},compat:{supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5-pro":{id:"gpt-5-pro",name:"GPT-5 Pro",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:15,output:120,cacheRead:0,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{off:null},compat:{supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.1":{id:"gpt-5.1",name:"GPT-5.1",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{off:null},compat:{supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.2":{id:"gpt-5.2",name:"GPT-5.2",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{off:null,xhigh:"xhigh"},compat:{supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.2-pro":{id:"gpt-5.2-pro",name:"GPT-5.2 Pro",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:21,output:168,cacheRead:0,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{off:null,xhigh:"xhigh"},compat:{supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.3-codex":{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{off:null,xhigh:"xhigh"},compat:{supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.3-codex-spark":{id:"gpt-5.3-codex-spark",name:"GPT-5.3 Codex Spark",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:128e3,maxTokens:32e3,thinkingLevelMap:{off:null,xhigh:"xhigh"},compat:{supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.4":{id:"gpt-5.4",name:"GPT-5.4",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:2.5,output:15,cacheRead:.25,cacheWrite:0},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{off:null,xhigh:"xhigh"},compat:{supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.4-mini":{id:"gpt-5.4-mini",name:"GPT-5.4 mini",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{off:null,xhigh:"xhigh"},compat:{supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.4-nano":{id:"gpt-5.4-nano",name:"GPT-5.4 nano",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:.2,output:1.25,cacheRead:.02,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{off:null,xhigh:"xhigh"},compat:{supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.4-pro":{id:"gpt-5.4-pro",name:"GPT-5.4 Pro",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{off:null,xhigh:"xhigh"},compat:{supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.5":{id:"gpt-5.5",name:"GPT-5.5",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:.5,cacheWrite:0},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{off:null,xhigh:"xhigh"},compat:{supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.5-pro":{id:"gpt-5.5-pro",name:"GPT-5.5 Pro",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{off:null,xhigh:"xhigh",minimal:null,low:null},compat:{supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.6-luna":{id:"gpt-5.6-luna",name:"GPT-5.6 Luna",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:.2,output:1.2,cacheRead:.02,cacheWrite:.25},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{off:null,xhigh:"xhigh",max:"max"},compat:{supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.6-sol":{id:"gpt-5.6-sol",name:"GPT-5.6 Sol",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:4,output:20,cacheRead:.4,cacheWrite:5},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{off:null,xhigh:"xhigh",max:"max"},compat:{supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.6-terra":{id:"gpt-5.6-terra",name:"GPT-5.6 Terra",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:.2,cacheWrite:2.5},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{off:null,xhigh:"xhigh",max:"max"},compat:{supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-6-astra":{id:"gpt-6-astra",name:"GPT-6 Astra",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:272e3,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-6-luna":{id:"gpt-6-luna",name:"GPT-6 Luna",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:.1,output:.5,cacheRead:.01,cacheWrite:.125},contextWindow:272e3,maxTokens:128e3,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-6-sol":{id:"gpt-6-sol",name:"GPT-6 Sol",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.2,cacheWrite:2.5},contextWindow:272e3,maxTokens:128e3,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-6.1-sol":{id:"gpt-6.1-sol",name:"GPT-6.1 Sol",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.1,cacheWrite:2.5},contextWindow:272e3,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-daybreak-blue-latest":{id:"gpt-daybreak-blue-latest",name:"Daybreak Blue",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:4,output:20,cacheRead:.4,cacheWrite:5},contextWindow:105e4,maxTokens:128e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-daybreak-red-latest":{id:"gpt-daybreak-red-latest",name:"Daybreak Red",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:12.5,output:75,cacheRead:1.25,cacheWrite:15.625},contextWindow:4e5,maxTokens:128e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-realtime-2.1":{id:"gpt-realtime-2.1",name:"GPT-Realtime-2.1",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:4,output:24,cacheRead:.4,cacheWrite:0},contextWindow:128e3,maxTokens:32e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:o1":{id:"o1",name:"o1",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:15,output:60,cacheRead:7.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:o1-pro":{id:"o1-pro",name:"o1-pro",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:150,output:600,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:1e5,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:o3":{id:"o3",name:"o3",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:2,output:8,cacheRead:.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:o3-mini":{id:"o3-mini",name:"o3-mini",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!0,input:["text"],cost:{input:1.1,output:4.4,cacheRead:.55,cacheWrite:0},contextWindow:2e5,maxTokens:1e5,type:"chat"},"chat:o3-pro":{id:"o3-pro",name:"o3-pro",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:20,output:80,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:1e5,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:o4-mini":{id:"o4-mini",name:"o4-mini",api:"azure-openai-responses",provider:"azure",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:1.1,output:4.4,cacheRead:.275,cacheWrite:0},contextWindow:2e5,maxTokens:1e5,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}},"openai-completions":{"chat:deepseek-v4-pro":{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",api:"openai-completions",baseUrl:"",provider:"azure",reasoning:!0,input:["text"],cost:{input:1.925,output:3.828,cacheRead:.165,cacheWrite:0},contextWindow:1e6,maxTokens:384e3,compat:{supportsStrictMode:!0,requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"openai",supportsDeveloperRole:!1,supportsMidConvoSystemMessages:!0,supportsLongCacheRetention:!1},thinkingLevelMap:{minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},type:"chat"}}};var AZURE_MODELS=flattenChatModelCatalog("azure",azure_default),AZURE_IMAGE_MODELS=flattenImageModelCatalog("azure",azure_default),AZURE_CLASSIFIER_MODELS=flattenClassifierModelCatalog("azure",azure_default);var baseten_default={"openai-completions":{"chat:deepseek-ai/DeepSeek-V4-Flash-0731":{id:"deepseek-ai/DeepSeek-V4-Flash-0731",name:"DeepSeek V4 Flash 0731",api:"openai-completions",provider:"baseten",baseUrl:"https://inference.baseten.co/v1",reasoning:!0,thinkingLevelMap:{off:"none",minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text"],cost:{input:.13,output:.26,cacheRead:.028,cacheWrite:0},compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!0,supportsUsageInStreaming:!0,maxTokensField:"max_tokens",sendSessionAffinityHeaders:!0,supportsLongCacheRetention:!1,thinkingFormat:"openai"},contextWindow:1048576,maxTokens:384e3,type:"chat"},"chat:deepseek-ai/DeepSeek-V4-Pro":{id:"deepseek-ai/DeepSeek-V4-Pro",name:"DeepSeek V4 Pro",api:"openai-completions",provider:"baseten",baseUrl:"https://inference.baseten.co/v1",reasoning:!0,thinkingLevelMap:{off:"none",minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text"],cost:{input:1.74,output:3.48,cacheRead:.145,cacheWrite:0},compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!0,supportsUsageInStreaming:!0,maxTokensField:"max_tokens",sendSessionAffinityHeaders:!0,supportsLongCacheRetention:!1,thinkingFormat:"openai"},contextWindow:1048576,maxTokens:262144,type:"chat"},"chat:deepseek-ai/DeepSeek-V4-Pro-0813":{id:"deepseek-ai/DeepSeek-V4-Pro-0813",name:"DeepSeek V4 Pro 0813",api:"openai-completions",provider:"baseten",baseUrl:"https://inference.baseten.co/v1",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text"],cost:{input:1.32,output:3.96,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!0,supportsUsageInStreaming:!0,maxTokensField:"max_tokens",sendSessionAffinityHeaders:!0,supportsLongCacheRetention:!1,thinkingFormat:"openai"},contextWindow:1048576,maxTokens:262144,type:"chat"},"chat:deepseek-ai/DeepSeek-V4.1-Flash":{id:"deepseek-ai/DeepSeek-V4.1-Flash",name:"DeepSeek V4.1 Flash",api:"openai-completions",provider:"baseten",baseUrl:"https://inference.baseten.co/v1",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text","image"],cost:{input:.3,output:1.2,cacheRead:.03,cacheWrite:0},compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!0,supportsUsageInStreaming:!0,maxTokensField:"max_tokens",sendSessionAffinityHeaders:!0,supportsLongCacheRetention:!1,thinkingFormat:"openai"},contextWindow:1048576,maxTokens:32768,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:deepseek-ai/DeepSeek-V4.1-Flash-1017":{id:"deepseek-ai/DeepSeek-V4.1-Flash-1017",name:"DeepSeek V4.1 Flash 1017",api:"openai-completions",provider:"baseten",baseUrl:"https://inference.baseten.co/v1",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:"max"},input:["text","image"],cost:{input:.3,output:1.2,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!0,supportsUsageInStreaming:!0,maxTokensField:"max_tokens",sendSessionAffinityHeaders:!0,supportsLongCacheRetention:!1,thinkingFormat:"openai"},contextWindow:1048576,maxTokens:262144,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:deepseek-ai/DeepSeek-V4.1-Flash-1017-Fast":{id:"deepseek-ai/DeepSeek-V4.1-Flash-1017-Fast",name:"DeepSeek V4.1 Flash 1017 Fast",api:"openai-completions",provider:"baseten",baseUrl:"https://inference.baseten.co/v1",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:"max"},input:["text","image"],cost:{input:.6,output:2.4,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!0,supportsUsageInStreaming:!0,maxTokensField:"max_tokens",sendSessionAffinityHeaders:!0,supportsLongCacheRetention:!1,thinkingFormat:"openai"},contextWindow:1048576,maxTokens:262144,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:deepseek-ai/DeepSeek-V4.1-Flash-Fast":{id:"deepseek-ai/DeepSeek-V4.1-Flash-Fast",name:"DeepSeek V4.1 Flash Fast",api:"openai-completions",provider:"baseten",baseUrl:"https://inference.baseten.co/v1",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text","image"],cost:{input:.6,output:2.4,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!0,supportsUsageInStreaming:!0,maxTokensField:"max_tokens",sendSessionAffinityHeaders:!0,supportsLongCacheRetention:!1,thinkingFormat:"openai"},contextWindow:1048576,maxTokens:32768,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5",api:"openai-completions",provider:"baseten",baseUrl:"https://inference.baseten.co/v1",reasoning:!0,thinkingLevelMap:{off:"off",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.6,output:3,cacheRead:.12,cacheWrite:0},compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,supportsUsageInStreaming:!0,maxTokensField:"max_tokens",sendSessionAffinityHeaders:!0,supportsLongCacheRetention:!1,thinkingFormat:"baseten",chatTemplateArgs:{enable_thinking:{$var:"thinking.enabled"}}},contextWindow:262e3,maxTokens:262e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:moonshotai/Kimi-K2.6":{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6",api:"openai-completions",provider:"baseten",baseUrl:"https://inference.baseten.co/v1",reasoning:!0,thinkingLevelMap:{off:"off",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.95,output:4,cacheRead:.16,cacheWrite:0},compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,supportsUsageInStreaming:!0,maxTokensField:"max_tokens",sendSessionAffinityHeaders:!0,supportsLongCacheRetention:!1,thinkingFormat:"baseten",chatTemplateArgs:{enable_thinking:{$var:"thinking.enabled"}}},contextWindow:262e3,maxTokens:262e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:moonshotai/Kimi-K2.7-Code":{id:"moonshotai/Kimi-K2.7-Code",name:"Kimi K2.7 Code",api:"openai-completions",provider:"baseten",baseUrl:"https://inference.baseten.co/v1",reasoning:!0,thinkingLevelMap:{off:"off",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.95,output:4,cacheRead:.16,cacheWrite:0},compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,supportsUsageInStreaming:!0,maxTokensField:"max_tokens",sendSessionAffinityHeaders:!0,supportsLongCacheRetention:!1,thinkingFormat:"baseten",chatTemplateArgs:{enable_thinking:{$var:"thinking.enabled"}}},contextWindow:262e3,maxTokens:262e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:moonshotai/Kimi-K3":{id:"moonshotai/Kimi-K3",name:"Kimi K3",api:"openai-completions",provider:"baseten",baseUrl:"https://inference.baseten.co/v1",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text","image"],cost:{input:3,output:15,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!0,supportsUsageInStreaming:!0,maxTokensField:"max_tokens",sendSessionAffinityHeaders:!0,supportsLongCacheRetention:!1,thinkingFormat:"openai"},contextWindow:1048576,maxTokens:262144,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:nvidia/Nemotron-120B-A12B":{id:"nvidia/Nemotron-120B-A12B",name:"Nemotron Super",api:"openai-completions",provider:"baseten",baseUrl:"https://inference.baseten.co/v1",reasoning:!0,thinkingLevelMap:{off:"off",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},input:["text"],cost:{input:.3,output:.75,cacheRead:.06,cacheWrite:0},compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,supportsUsageInStreaming:!0,maxTokensField:"max_tokens",sendSessionAffinityHeaders:!0,supportsLongCacheRetention:!1,thinkingFormat:"baseten",chatTemplateArgs:{enable_thinking:{$var:"thinking.enabled"}}},contextWindow:202800,maxTokens:202800,type:"chat"},"chat:nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B":{id:"nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B",name:"Nemotron Ultra",api:"openai-completions",provider:"baseten",baseUrl:"https://inference.baseten.co/v1",reasoning:!0,thinkingLevelMap:{off:"off",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},input:["text"],cost:{input:.6,output:2.4,cacheRead:.12,cacheWrite:0},compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,supportsUsageInStreaming:!0,maxTokensField:"max_tokens",sendSessionAffinityHeaders:!0,supportsLongCacheRetention:!1,thinkingFormat:"baseten",chatTemplateArgs:{enable_thinking:{$var:"thinking.enabled"}}},contextWindow:202800,maxTokens:202800,type:"chat"},"chat:openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"OpenAI GPT 120B",api:"openai-completions",provider:"baseten",baseUrl:"https://inference.baseten.co/v1",reasoning:!0,thinkingLevelMap:{off:"none",minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text"],cost:{input:.1,output:.5,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!0,supportsUsageInStreaming:!0,maxTokensField:"max_tokens",sendSessionAffinityHeaders:!0,supportsLongCacheRetention:!1,thinkingFormat:"openai"},contextWindow:128072,maxTokens:128072,type:"chat"},"chat:thinkingmachines/inkling":{id:"thinkingmachines/inkling",name:"Inkling",api:"openai-completions",provider:"baseten",baseUrl:"https://inference.baseten.co/v1",reasoning:!0,thinkingLevelMap:{off:"none",minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:1,output:4.05,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!0,supportsUsageInStreaming:!0,maxTokensField:"max_tokens",sendSessionAffinityHeaders:!0,supportsLongCacheRetention:!1,thinkingFormat:"openai"},contextWindow:1048576,maxTokens:32768,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:thinkingmachines/inkling-small":{id:"thinkingmachines/inkling-small",name:"Inkling Small",api:"openai-completions",provider:"baseten",baseUrl:"https://inference.baseten.co/v1",reasoning:!0,thinkingLevelMap:{off:"none",minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:.5,output:1.2,cacheRead:.1,cacheWrite:0},compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!0,supportsUsageInStreaming:!0,maxTokensField:"max_tokens",sendSessionAffinityHeaders:!0,supportsLongCacheRetention:!1,thinkingFormat:"openai"},contextWindow:1048576,maxTokens:32768,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:zai-org/GLM-4.7":{id:"zai-org/GLM-4.7",name:"GLM 4.7",api:"openai-completions",provider:"baseten",baseUrl:"https://inference.baseten.co/v1",reasoning:!0,thinkingLevelMap:{off:"off",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},input:["text"],cost:{input:.6,output:2.2,cacheRead:.12,cacheWrite:0},compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,supportsUsageInStreaming:!0,maxTokensField:"max_tokens",sendSessionAffinityHeaders:!0,supportsLongCacheRetention:!1,thinkingFormat:"baseten",chatTemplateArgs:{enable_thinking:{$var:"thinking.enabled"}}},contextWindow:2e5,maxTokens:2e5,type:"chat"},"chat:zai-org/GLM-5":{id:"zai-org/GLM-5",name:"GLM 5",api:"openai-completions",provider:"baseten",baseUrl:"https://inference.baseten.co/v1",reasoning:!0,thinkingLevelMap:{off:"off",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},input:["text"],cost:{input:.95,output:3.15,cacheRead:.2,cacheWrite:0},compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,supportsUsageInStreaming:!0,maxTokensField:"max_tokens",sendSessionAffinityHeaders:!0,supportsLongCacheRetention:!1,thinkingFormat:"baseten",chatTemplateArgs:{enable_thinking:{$var:"thinking.enabled"}}},contextWindow:202800,maxTokens:202800,type:"chat"},"chat:zai-org/GLM-5.1":{id:"zai-org/GLM-5.1",name:"GLM 5.1",api:"openai-completions",provider:"baseten",baseUrl:"https://inference.baseten.co/v1",reasoning:!0,thinkingLevelMap:{off:"off",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},input:["text"],cost:{input:1.3,output:4.3,cacheRead:.26,cacheWrite:0},compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,supportsUsageInStreaming:!0,maxTokensField:"max_tokens",sendSessionAffinityHeaders:!0,supportsLongCacheRetention:!1,thinkingFormat:"baseten",chatTemplateArgs:{enable_thinking:{$var:"thinking.enabled"}}},contextWindow:202800,maxTokens:202800,type:"chat"},"chat:zai-org/GLM-5.2":{id:"zai-org/GLM-5.2",name:"GLM 5.2",api:"openai-completions",provider:"baseten",baseUrl:"https://inference.baseten.co/v1",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:"max"},input:["text"],cost:{input:1.4,output:4.4,cacheRead:.3,cacheWrite:0},compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!0,supportsUsageInStreaming:!0,maxTokensField:"max_tokens",sendSessionAffinityHeaders:!0,supportsLongCacheRetention:!1,thinkingFormat:"baseten",chatTemplateArgs:{enable_thinking:{$var:"thinking.enabled"}}},contextWindow:1048576,maxTokens:262144,type:"chat"},"chat:zai-org/GLM-5.2-Fast":{id:"zai-org/GLM-5.2-Fast",name:"GLM 5.2 Fast",api:"openai-completions",provider:"baseten",baseUrl:"https://inference.baseten.co/v1",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:"max"},input:["text"],cost:{input:2.1,output:6.6,cacheRead:.21,cacheWrite:0},compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!0,supportsUsageInStreaming:!0,maxTokensField:"max_tokens",sendSessionAffinityHeaders:!0,supportsLongCacheRetention:!1,thinkingFormat:"baseten",chatTemplateArgs:{enable_thinking:{$var:"thinking.enabled"}}},contextWindow:1048576,maxTokens:262144,type:"chat"},"chat:zai-org/GLM-5.3":{id:"zai-org/GLM-5.3",name:"GLM 5.3",api:"openai-completions",provider:"baseten",baseUrl:"https://inference.baseten.co/v1",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text","image"],cost:{input:1.4,output:4.4,cacheRead:.14,cacheWrite:0},compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!0,supportsUsageInStreaming:!0,maxTokensField:"max_tokens",sendSessionAffinityHeaders:!0,supportsLongCacheRetention:!1,thinkingFormat:"openai"},contextWindow:1048576,maxTokens:262144,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:zai-org/GLM-5.3-Fast":{id:"zai-org/GLM-5.3-Fast",name:"GLM 5.3 Fast",api:"openai-completions",provider:"baseten",baseUrl:"https://inference.baseten.co/v1",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text","image"],cost:{input:2.1,output:6.6,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!0,supportsUsageInStreaming:!0,maxTokensField:"max_tokens",sendSessionAffinityHeaders:!0,supportsLongCacheRetention:!1,thinkingFormat:"openai"},contextWindow:1048576,maxTokens:262144,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:zai-org/GLM-5.3-Flash":{id:"zai-org/GLM-5.3-Flash",name:"GLM 5.3 Flash",api:"openai-completions",provider:"baseten",baseUrl:"https://inference.baseten.co/v1",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text","image"],cost:{input:.15,output:.5,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!0,supportsUsageInStreaming:!0,maxTokensField:"max_tokens",sendSessionAffinityHeaders:!0,supportsLongCacheRetention:!1,thinkingFormat:"openai"},contextWindow:1048576,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}}};var BASETEN_MODELS=flattenChatModelCatalog("baseten",baseten_default),BASETEN_IMAGE_MODELS=flattenImageModelCatalog("baseten",baseten_default),BASETEN_CLASSIFIER_MODELS=flattenClassifierModelCatalog("baseten",baseten_default);var cerebras_default={"openai-completions":{"chat:gpt-oss-120b":{id:"gpt-oss-120b",name:"GPT OSS 120B",api:"openai-completions",provider:"cerebras",baseUrl:"https://api.cerebras.ai/v1",reasoning:!0,input:["text"],cost:{input:.35,output:.75,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:40960,compat:{supportsStore:!1,supportsDeveloperRole:!1},thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},type:"chat"},"chat:qwen-3.8-27b":{id:"qwen-3.8-27b",name:"Qwen3.8 27B",api:"openai-completions",provider:"cerebras",baseUrl:"https://api.cerebras.ai/v1",reasoning:!0,input:["text","image"],cost:{input:.99,output:1.49,cacheRead:.99,cacheWrite:0},contextWindow:131072,maxTokens:40960,compat:{supportsStore:!1,supportsDeveloperRole:!1},thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}}};var CEREBRAS_MODELS=flattenChatModelCatalog("cerebras",cerebras_default),CEREBRAS_IMAGE_MODELS=flattenImageModelCatalog("cerebras",cerebras_default),CEREBRAS_CLASSIFIER_MODELS=flattenClassifierModelCatalog("cerebras",cerebras_default);var cloudflare_ai_gateway_default={"anthropic-messages":{"chat:claude-fable-5":{id:"claude-fable-5",name:"Claude Fable 5",api:"anthropic-messages",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,maxTokens:128e3,compat:{sendSessionAffinityHeaders:!0,forceAdaptiveThinking:!0},thinkingLevelMap:{off:null,xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-fable-5-1":{id:"claude-fable-5-1",name:"Claude Fable 5.1",api:"anthropic-messages",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:.25,cacheWrite:12.5},contextWindow:1e6,maxTokens:128e3,compat:{sendSessionAffinityHeaders:!0,forceAdaptiveThinking:!0},thinkingLevelMap:{off:null,xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-haiku-4-5":{id:"claude-haiku-4-5",name:"Claude Haiku 4.5 (latest)",api:"anthropic-messages",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic",reasoning:!0,input:["text","image"],cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3,compat:{sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-haiku-5-5":{id:"claude-haiku-5-5",name:"Claude Haiku 5.5",api:"anthropic-messages",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic",reasoning:!0,input:["text","image"],cost:{input:.1,output:.5,cacheRead:.01,cacheWrite:.125,tiers:[{inputTokensAbove:1e5,input:.5,output:2.5,cacheRead:.05,cacheWrite:.625}]},contextWindow:1e6,maxTokens:128e3,compat:{sendSessionAffinityHeaders:!0,forceAdaptiveThinking:!0,supportsTemperature:!1},thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-opus-4-5":{id:"claude-opus-4-5",name:"Claude Opus 4.5 (latest)",api:"anthropic-messages",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3,compat:{sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-opus-4-6":{id:"claude-opus-4-6",name:"Claude Opus 4.6",api:"anthropic-messages",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3,compat:{sendSessionAffinityHeaders:!0,forceAdaptiveThinking:!0},thinkingLevelMap:{max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-opus-4-7":{id:"claude-opus-4-7",name:"Claude Opus 4.7",api:"anthropic-messages",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3,compat:{sendSessionAffinityHeaders:!0,forceAdaptiveThinking:!0,supportsTemperature:!1},thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-opus-4-8":{id:"claude-opus-4-8",name:"Claude Opus 4.8",api:"anthropic-messages",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3,compat:{sendSessionAffinityHeaders:!0,forceAdaptiveThinking:!0,supportsTemperature:!1},thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-opus-5":{id:"claude-opus-5",name:"Claude Opus 5",api:"anthropic-messages",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3,compat:{sendSessionAffinityHeaders:!0,forceAdaptiveThinking:!0,supportsTemperature:!1},thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-opus-5-5":{id:"claude-opus-5-5",name:"Claude Opus 5.5",api:"anthropic-messages",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic",reasoning:!0,input:["text","image"],cost:{input:4,output:20,cacheRead:.2,cacheWrite:5},contextWindow:1e6,maxTokens:128e3,compat:{sendSessionAffinityHeaders:!0,forceAdaptiveThinking:!0,supportsTemperature:!1},thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-sonnet-4-5":{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5 (latest)",api:"anthropic-messages",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3,compat:{sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-sonnet-4-6":{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",api:"anthropic-messages",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:128e3,compat:{sendSessionAffinityHeaders:!0,forceAdaptiveThinking:!0},thinkingLevelMap:{max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-sonnet-5":{id:"claude-sonnet-5",name:"Claude Sonnet 5",api:"anthropic-messages",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3,compat:{sendSessionAffinityHeaders:!0,forceAdaptiveThinking:!0},thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-sonnet-5-5":{id:"claude-sonnet-5-5",name:"Claude Sonnet 5.5",api:"anthropic-messages",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3,compat:{sendSessionAffinityHeaders:!0,forceAdaptiveThinking:!0,supportsTemperature:!1},thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}},"openai-completions":{"chat:workers-ai/@cf/deepseek-ai/deepseek-v4-flash-0731":{id:"workers-ai/@cf/deepseek-ai/deepseek-v4-flash-0731",name:"DeepSeek V4 Flash 0731",api:"openai-completions",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",reasoning:!0,input:["text"],cost:{input:.44,output:1.32,cacheRead:.014,cacheWrite:0},contextWindow:1048576,maxTokens:1048576,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,sendSessionAffinityHeaders:!0,requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek"},thinkingLevelMap:{minimal:null,low:null,medium:null,high:"high",max:"max"},type:"chat"},"chat:workers-ai/@cf/deepseek-ai/deepseek-v4-pro-0813":{id:"workers-ai/@cf/deepseek-ai/deepseek-v4-pro-0813",name:"DeepSeek V4 Pro 0813",api:"openai-completions",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",reasoning:!0,input:["text"],cost:{input:1.32,output:3.96,cacheRead:.044,cacheWrite:0},contextWindow:1048576,maxTokens:1048576,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,sendSessionAffinityHeaders:!0,requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek"},thinkingLevelMap:{minimal:null,low:null,medium:null,high:"high",max:"max"},type:"chat"},"chat:workers-ai/@cf/deepseek-ai/deepseek-v4.1-flash-1017":{id:"workers-ai/@cf/deepseek-ai/deepseek-v4.1-flash-1017",name:"Deepseek V4.1 Flash 1017",api:"openai-completions",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",reasoning:!0,input:["text","image"],cost:{input:.3,output:1.2,cacheRead:.006,cacheWrite:0},contextWindow:1048576,maxTokens:1048576,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,sendSessionAffinityHeaders:!0,requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek"},thinkingLevelMap:{minimal:null,low:null,medium:null,high:"high",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:workers-ai/@cf/google/gemma-4-26b-a4b-it":{id:"workers-ai/@cf/google/gemma-4-26b-a4b-it",name:"Gemma 4 26B A4B IT",api:"openai-completions",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",reasoning:!0,input:["text","image"],cost:{input:.1,output:.3,cacheRead:.05,cacheWrite:0},contextWindow:256e3,maxTokens:16384,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:workers-ai/@cf/ibm-granite/granite-4.0-h-micro":{id:"workers-ai/@cf/ibm-granite/granite-4.0-h-micro",name:"Granite 4.0 H Micro",api:"openai-completions",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",reasoning:!1,input:["text"],cost:{input:.017,output:.112,cacheRead:0,cacheWrite:0},contextWindow:131e3,maxTokens:131e3,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,sendSessionAffinityHeaders:!0},type:"chat"},"chat:workers-ai/@cf/meta/llama-3.3-70b-instruct-fp8-fast":{id:"workers-ai/@cf/meta/llama-3.3-70b-instruct-fp8-fast",name:"Llama 3.3 70B Instruct fp8 Fast",api:"openai-completions",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",reasoning:!1,input:["text"],cost:{input:.293,output:2.253,cacheRead:0,cacheWrite:0},contextWindow:24e3,maxTokens:24e3,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,sendSessionAffinityHeaders:!0},type:"chat"},"chat:workers-ai/@cf/meta/llama-4-scout-17b-16e-instruct":{id:"workers-ai/@cf/meta/llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout 17B 16E Instruct",api:"openai-completions",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",reasoning:!1,input:["text","image"],cost:{input:.27,output:.85,cacheRead:0,cacheWrite:0},contextWindow:131e3,maxTokens:16384,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:workers-ai/@cf/mistralai/mistral-small-3.1-24b-instruct":{id:"workers-ai/@cf/mistralai/mistral-small-3.1-24b-instruct",name:"Mistral Small 3.1 24B Instruct",api:"openai-completions",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",reasoning:!1,input:["text","image"],cost:{input:.351,output:.555,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:workers-ai/@cf/moonshotai/kimi-k2.6":{id:"workers-ai/@cf/moonshotai/kimi-k2.6",name:"Kimi K2.6",api:"openai-completions",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",reasoning:!0,input:["text","image"],cost:{input:.95,output:4,cacheRead:.16,cacheWrite:0},contextWindow:262144,maxTokens:256e3,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:workers-ai/@cf/moonshotai/kimi-k2.7-code":{id:"workers-ai/@cf/moonshotai/kimi-k2.7-code",name:"Kimi K2.7 Code",api:"openai-completions",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",reasoning:!0,input:["text","image"],cost:{input:.95,output:4,cacheRead:.19,cacheWrite:0},contextWindow:262144,maxTokens:262144,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:workers-ai/@cf/nvidia/nemotron-3-120b-a12b":{id:"workers-ai/@cf/nvidia/nemotron-3-120b-a12b",name:"Nemotron 3 Super 120B",api:"openai-completions",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",reasoning:!0,input:["text"],cost:{input:.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,sendSessionAffinityHeaders:!0},type:"chat"},"chat:workers-ai/@cf/openai/gpt-oss-120b":{id:"workers-ai/@cf/openai/gpt-oss-120b",name:"GPT OSS 120B",api:"openai-completions",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",reasoning:!0,input:["text"],cost:{input:.35,output:.75,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,sendSessionAffinityHeaders:!0},type:"chat"},"chat:workers-ai/@cf/openai/gpt-oss-20b":{id:"workers-ai/@cf/openai/gpt-oss-20b",name:"GPT OSS 20B",api:"openai-completions",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",reasoning:!0,input:["text"],cost:{input:.2,output:.3,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,sendSessionAffinityHeaders:!0},type:"chat"},"chat:workers-ai/@cf/qwen/qwen3-30b-a3b-fp8":{id:"workers-ai/@cf/qwen/qwen3-30b-a3b-fp8",name:"Qwen3 30B A3b fp8",api:"openai-completions",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",reasoning:!0,input:["text"],cost:{input:.0509,output:.335,cacheRead:0,cacheWrite:0},contextWindow:32768,maxTokens:32768,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,sendSessionAffinityHeaders:!0},type:"chat"},"chat:workers-ai/@cf/qwen/qwen3.8-27b":{id:"workers-ai/@cf/qwen/qwen3.8-27b",name:"Qwen3.8 27B",api:"openai-completions",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",reasoning:!0,input:["text","image"],cost:{input:.45,output:3.2,cacheRead:.05,cacheWrite:0},contextWindow:262144,maxTokens:262144,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:workers-ai/@cf/zai-org/glm-4.7-flash":{id:"workers-ai/@cf/zai-org/glm-4.7-flash",name:"GLM-4.7-Flash",api:"openai-completions",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",reasoning:!0,input:["text"],cost:{input:.0605,output:.4,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,sendSessionAffinityHeaders:!0},type:"chat"},"chat:workers-ai/@cf/zai-org/glm-5.2":{id:"workers-ai/@cf/zai-org/glm-5.2",name:"Glm 5.2",api:"openai-completions",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",reasoning:!0,input:["text"],cost:{input:1.4,output:4.4,cacheRead:.26,cacheWrite:0},contextWindow:262144,maxTokens:256e3,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,sendSessionAffinityHeaders:!0},type:"chat"},"chat:workers-ai/@cf/zai-org/glm-5.3":{id:"workers-ai/@cf/zai-org/glm-5.3",name:"Glm 5.3",api:"openai-completions",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",reasoning:!0,input:["text"],cost:{input:1.4,output:4.4,cacheRead:.26,cacheWrite:0},contextWindow:1048576,maxTokens:1048576,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,sendSessionAffinityHeaders:!0},type:"chat"},"chat:workers-ai/@cf/zai-org/glm-5.3-flash":{id:"workers-ai/@cf/zai-org/glm-5.3-flash",name:"Glm 5.3 Flash",api:"openai-completions",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat",reasoning:!0,input:["text","image"],cost:{input:.15,output:.5,cacheRead:.03,cacheWrite:0},contextWindow:1048576,maxTokens:1048576,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}},"openai-responses":{"chat:gpt-4.1":{id:"gpt-4.1",name:"GPT-4.1",api:"openai-responses",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",reasoning:!1,input:["text","image"],cost:{input:2,output:8,cacheRead:.5,cacheWrite:0},contextWindow:1047576,maxTokens:32768,compat:{supportsStrictMode:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-4.1-mini":{id:"gpt-4.1-mini",name:"GPT-4.1 mini",api:"openai-responses",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",reasoning:!1,input:["text","image"],cost:{input:.4,output:1.6,cacheRead:.1,cacheWrite:0},contextWindow:1047576,maxTokens:32768,compat:{supportsStrictMode:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-4.1-nano":{id:"gpt-4.1-nano",name:"GPT-4.1 nano",api:"openai-responses",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",reasoning:!1,input:["text","image"],cost:{input:.1,output:.4,cacheRead:.025,cacheWrite:0},contextWindow:1e6,maxTokens:32768,compat:{supportsStrictMode:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-4o":{id:"gpt-4o",name:"GPT-4o",api:"openai-responses",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",reasoning:!1,input:["text","image"],cost:{input:1.25,output:5,cacheRead:.625,cacheWrite:0},contextWindow:128e3,maxTokens:16384,compat:{supportsStrictMode:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-4o-mini":{id:"gpt-4o-mini",name:"GPT-4o mini",api:"openai-responses",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",reasoning:!1,input:["text","image"],cost:{input:.075,output:.3,cacheRead:.0375,cacheWrite:0},contextWindow:128e3,maxTokens:16384,compat:{supportsStrictMode:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5":{id:"gpt-5",name:"GPT-5",api:"openai-responses",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:128e3,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5-mini":{id:"gpt-5-mini",name:"GPT-5 Mini",api:"openai-responses",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",reasoning:!0,input:["text","image"],cost:{input:.25,output:2,cacheRead:.025,cacheWrite:0},contextWindow:128e3,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5-nano":{id:"gpt-5-nano",name:"GPT-5 Nano",api:"openai-responses",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",reasoning:!0,input:["text","image"],cost:{input:.05,output:.4,cacheRead:.005,cacheWrite:0},contextWindow:128e3,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.1":{id:"gpt-5.1",name:"GPT-5.1",api:"openai-responses",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:128e3,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.4":{id:"gpt-5.4",name:"GPT-5.4",api:"openai-responses",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",reasoning:!0,input:["text","image"],cost:{input:2.5,output:15,cacheRead:.25,cacheWrite:0},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.4-mini":{id:"gpt-5.4-mini",name:"GPT-5.4 mini",api:"openai-responses",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",reasoning:!0,input:["text","image"],cost:{input:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:128e3,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.4-nano":{id:"gpt-5.4-nano",name:"GPT-5.4 nano",api:"openai-responses",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",reasoning:!0,input:["text","image"],cost:{input:.2,output:1.25,cacheRead:.02,cacheWrite:0},contextWindow:128e3,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.4-pro":{id:"gpt-5.4-pro",name:"GPT-5.4 Pro",api:"openai-responses",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",reasoning:!0,input:["text","image"],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:null,medium:"medium",high:"high",xhigh:"xhigh",max:null},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.5":{id:"gpt-5.5",name:"GPT-5.5",api:"openai-responses",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.5-pro":{id:"gpt-5.5-pro",name:"GPT-5.5 Pro",api:"openai-responses",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",reasoning:!0,input:["text","image"],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:null,medium:"medium",high:"high",xhigh:"xhigh",max:null},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.6-luna":{id:"gpt-5.6-luna",name:"GPT-5.6 Luna",api:"openai-responses",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",reasoning:!0,input:["text","image"],cost:{input:.2,output:1.2,cacheRead:.02,cacheWrite:.25,tiers:[{inputTokensAbove:272e3,input:.4,output:1.8,cacheRead:.04,cacheWrite:.5}]},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.6-sol":{id:"gpt-5.6-sol",name:"GPT-5.6 Sol",api:"openai-responses",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",reasoning:!0,input:["text","image"],cost:{input:4,output:20,cacheRead:.4,cacheWrite:5,tiers:[{inputTokensAbove:272e3,input:8,output:30,cacheRead:.8,cacheWrite:10}]},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.6-terra":{id:"gpt-5.6-terra",name:"GPT-5.6 Terra",api:"openai-responses",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:.2,cacheWrite:2.5,tiers:[{inputTokensAbove:272e3,input:4,output:18,cacheRead:.4,cacheWrite:5}]},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-6-astra":{id:"gpt-6-astra",name:"GPT-6 Astra",api:"openai-responses",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5,tiers:[{inputTokensAbove:272e3,input:20,output:75,cacheRead:2,cacheWrite:25}]},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-6-luna":{id:"gpt-6-luna",name:"GPT-6 Luna",api:"openai-responses",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",reasoning:!0,input:["text","image"],cost:{input:.1,output:.5,cacheRead:.01,cacheWrite:.125,tiers:[{inputTokensAbove:272e3,input:.2,output:.75,cacheRead:.02,cacheWrite:.25}]},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-6-sol":{id:"gpt-6-sol",name:"GPT-6 Sol",api:"openai-responses",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.2,cacheWrite:2.5,tiers:[{inputTokensAbove:272e3,input:4,output:15,cacheRead:.4,cacheWrite:5}]},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-6.1-sol":{id:"gpt-6.1-sol",name:"GPT-6.1 Sol",api:"openai-responses",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.1,cacheWrite:2.5,tiers:[{inputTokensAbove:272e3,input:4,output:15,cacheRead:.2,cacheWrite:5}]},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:o3":{id:"o3",name:"o3",api:"openai-responses",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",reasoning:!0,input:["text","image"],cost:{input:2,output:8,cacheRead:.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},compat:{supportsStrictMode:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:o3-mini":{id:"o3-mini",name:"o3-mini",api:"openai-responses",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",reasoning:!0,input:["text"],cost:{input:1.1,output:4.4,cacheRead:.55,cacheWrite:0},contextWindow:2e5,maxTokens:1e5,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},compat:{supportsStrictMode:!0},type:"chat"},"chat:o4-mini":{id:"o4-mini",name:"o4-mini",api:"openai-responses",provider:"cloudflare-ai-gateway",baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai",reasoning:!0,input:["text","image"],cost:{input:1.1,output:4.4,cacheRead:.275,cacheWrite:0},contextWindow:2e5,maxTokens:1e5,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},compat:{supportsStrictMode:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}}};var CLOUDFLARE_AI_GATEWAY_MODELS=flattenChatModelCatalog("cloudflare-ai-gateway",cloudflare_ai_gateway_default),CLOUDFLARE_AI_GATEWAY_IMAGE_MODELS=flattenImageModelCatalog("cloudflare-ai-gateway",cloudflare_ai_gateway_default),CLOUDFLARE_AI_GATEWAY_CLASSIFIER_MODELS=flattenClassifierModelCatalog("cloudflare-ai-gateway",cloudflare_ai_gateway_default);var cloudflare_workers_ai_default={"cloudflare-workers-ai-system-one":{"classifier:@cf/cloudflare/clef":{type:"classifier",id:"@cf/cloudflare/clef",name:"Clef",api:"cloudflare-workers-ai-system-one",provider:"cloudflare-workers-ai",baseUrl:"https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai",input:["text"],cost:{input:.24,output:0,cacheRead:0,cacheWrite:0},contextWindow:65536},"classifier:@cf/cloudflare/clef-flash":{type:"classifier",id:"@cf/cloudflare/clef-flash",name:"Clef Flash",api:"cloudflare-workers-ai-system-one",provider:"cloudflare-workers-ai",baseUrl:"https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai",input:["text"],cost:{input:.09,output:0,cacheRead:0,cacheWrite:0},contextWindow:65536},"classifier:typesafe/jev":{type:"classifier",id:"typesafe/jev",name:"Jev",api:"cloudflare-workers-ai-system-one",provider:"cloudflare-workers-ai",baseUrl:"https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai",input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:32e3}},"openai-completions":{"chat:@cf/deepseek-ai/deepseek-v4-flash-0731":{id:"@cf/deepseek-ai/deepseek-v4-flash-0731",name:"DeepSeek V4 Flash 0731",api:"openai-completions",provider:"cloudflare-workers-ai",baseUrl:"https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1",reasoning:!0,input:["text"],cost:{input:.44,output:1.32,cacheRead:.014,cacheWrite:0},contextWindow:1048576,maxTokens:1048576,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,supportsLongCacheRetention:!1,sendSessionAffinityHeaders:!0,requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek"},thinkingLevelMap:{minimal:null,low:null,medium:null,high:"high",max:"max"},type:"chat"},"chat:@cf/deepseek-ai/deepseek-v4-pro-0813":{id:"@cf/deepseek-ai/deepseek-v4-pro-0813",name:"DeepSeek V4 Pro 0813",api:"openai-completions",provider:"cloudflare-workers-ai",baseUrl:"https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1",reasoning:!0,input:["text"],cost:{input:1.32,output:3.96,cacheRead:.044,cacheWrite:0},contextWindow:1048576,maxTokens:1048576,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,supportsLongCacheRetention:!1,sendSessionAffinityHeaders:!0,requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek"},thinkingLevelMap:{minimal:null,low:null,medium:null,high:"high",max:"max"},type:"chat"},"chat:@cf/deepseek-ai/deepseek-v4.1-flash-1017":{id:"@cf/deepseek-ai/deepseek-v4.1-flash-1017",name:"Deepseek V4.1 Flash 1017",api:"openai-completions",provider:"cloudflare-workers-ai",baseUrl:"https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1",reasoning:!0,input:["text","image"],cost:{input:.3,output:1.2,cacheRead:.006,cacheWrite:0},contextWindow:1048576,maxTokens:1048576,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,supportsLongCacheRetention:!1,sendSessionAffinityHeaders:!0,requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek"},thinkingLevelMap:{minimal:null,low:null,medium:null,high:"high",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:@cf/google/gemma-4-26b-a4b-it":{id:"@cf/google/gemma-4-26b-a4b-it",name:"Gemma 4 26B A4B IT",api:"openai-completions",provider:"cloudflare-workers-ai",baseUrl:"https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1",reasoning:!0,input:["text","image"],cost:{input:.1,output:.3,cacheRead:.05,cacheWrite:0},contextWindow:256e3,maxTokens:16384,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,supportsLongCacheRetention:!1,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:@cf/ibm-granite/granite-4.0-h-micro":{id:"@cf/ibm-granite/granite-4.0-h-micro",name:"Granite 4.0 H Micro",api:"openai-completions",provider:"cloudflare-workers-ai",baseUrl:"https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1",reasoning:!1,input:["text"],cost:{input:.017,output:.112,cacheRead:0,cacheWrite:0},contextWindow:131e3,maxTokens:131e3,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,supportsLongCacheRetention:!1,sendSessionAffinityHeaders:!0},type:"chat"},"chat:@cf/meta/llama-3.3-70b-instruct-fp8-fast":{id:"@cf/meta/llama-3.3-70b-instruct-fp8-fast",name:"Llama 3.3 70B Instruct fp8 Fast",api:"openai-completions",provider:"cloudflare-workers-ai",baseUrl:"https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1",reasoning:!1,input:["text"],cost:{input:.293,output:2.253,cacheRead:0,cacheWrite:0},contextWindow:24e3,maxTokens:24e3,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,supportsLongCacheRetention:!1,sendSessionAffinityHeaders:!0},type:"chat"},"chat:@cf/meta/llama-4-scout-17b-16e-instruct":{id:"@cf/meta/llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout 17B 16E Instruct",api:"openai-completions",provider:"cloudflare-workers-ai",baseUrl:"https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1",reasoning:!1,input:["text","image"],cost:{input:.27,output:.85,cacheRead:0,cacheWrite:0},contextWindow:131e3,maxTokens:16384,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,supportsLongCacheRetention:!1,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:@cf/mistralai/mistral-small-3.1-24b-instruct":{id:"@cf/mistralai/mistral-small-3.1-24b-instruct",name:"Mistral Small 3.1 24B Instruct",api:"openai-completions",provider:"cloudflare-workers-ai",baseUrl:"https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1",reasoning:!1,input:["text","image"],cost:{input:.351,output:.555,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,supportsLongCacheRetention:!1,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:@cf/moonshotai/kimi-k2.6":{id:"@cf/moonshotai/kimi-k2.6",name:"Kimi K2.6",api:"openai-completions",provider:"cloudflare-workers-ai",baseUrl:"https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1",reasoning:!0,input:["text","image"],cost:{input:.95,output:4,cacheRead:.16,cacheWrite:0},contextWindow:262144,maxTokens:256e3,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,supportsLongCacheRetention:!1,sendSessionAffinityHeaders:!0},thinkingLevelMap:{off:"none",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:@cf/moonshotai/kimi-k2.7-code":{id:"@cf/moonshotai/kimi-k2.7-code",name:"Kimi K2.7 Code",api:"openai-completions",provider:"cloudflare-workers-ai",baseUrl:"https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1",reasoning:!0,input:["text","image"],cost:{input:.95,output:4,cacheRead:.19,cacheWrite:0},contextWindow:262144,maxTokens:262144,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,supportsLongCacheRetention:!1,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:@cf/nvidia/nemotron-3-120b-a12b":{id:"@cf/nvidia/nemotron-3-120b-a12b",name:"Nemotron 3 Super 120B",api:"openai-completions",provider:"cloudflare-workers-ai",baseUrl:"https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1",reasoning:!0,input:["text"],cost:{input:.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,supportsLongCacheRetention:!1,sendSessionAffinityHeaders:!0},thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:null},type:"chat"},"chat:@cf/openai/gpt-oss-120b":{id:"@cf/openai/gpt-oss-120b",name:"GPT OSS 120B",api:"openai-completions",provider:"cloudflare-workers-ai",baseUrl:"https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1",reasoning:!0,input:["text"],cost:{input:.35,output:.75,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,supportsLongCacheRetention:!1,sendSessionAffinityHeaders:!0},thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},type:"chat"},"chat:@cf/openai/gpt-oss-20b":{id:"@cf/openai/gpt-oss-20b",name:"GPT OSS 20B",api:"openai-completions",provider:"cloudflare-workers-ai",baseUrl:"https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1",reasoning:!0,input:["text"],cost:{input:.2,output:.3,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,supportsLongCacheRetention:!1,sendSessionAffinityHeaders:!0},thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},type:"chat"},"chat:@cf/qwen/qwen3-30b-a3b-fp8":{id:"@cf/qwen/qwen3-30b-a3b-fp8",name:"Qwen3 30B A3b fp8",api:"openai-completions",provider:"cloudflare-workers-ai",baseUrl:"https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1",reasoning:!0,input:["text"],cost:{input:.0509,output:.335,cacheRead:0,cacheWrite:0},contextWindow:32768,maxTokens:32768,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,supportsLongCacheRetention:!1,sendSessionAffinityHeaders:!0},type:"chat"},"chat:@cf/qwen/qwen3.8-27b":{id:"@cf/qwen/qwen3.8-27b",name:"Qwen3.8 27B",api:"openai-completions",provider:"cloudflare-workers-ai",baseUrl:"https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1",reasoning:!0,input:["text","image"],cost:{input:.45,output:3.2,cacheRead:.05,cacheWrite:0},contextWindow:262144,maxTokens:262144,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,supportsLongCacheRetention:!1,sendSessionAffinityHeaders:!0},thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:null,xhigh:"xhigh",max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:@cf/zai-org/glm-4.7-flash":{id:"@cf/zai-org/glm-4.7-flash",name:"GLM-4.7-Flash",api:"openai-completions",provider:"cloudflare-workers-ai",baseUrl:"https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1",reasoning:!0,input:["text"],cost:{input:.0605,output:.4,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,supportsLongCacheRetention:!1,sendSessionAffinityHeaders:!0},type:"chat"},"chat:@cf/zai-org/glm-5.2":{id:"@cf/zai-org/glm-5.2",name:"Glm 5.2",api:"openai-completions",provider:"cloudflare-workers-ai",baseUrl:"https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1",reasoning:!0,input:["text"],cost:{input:1.4,output:4.4,cacheRead:.26,cacheWrite:0},contextWindow:262144,maxTokens:256e3,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,supportsLongCacheRetention:!1,sendSessionAffinityHeaders:!0},thinkingLevelMap:{off:"none",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:"max"},type:"chat"},"chat:@cf/zai-org/glm-5.3":{id:"@cf/zai-org/glm-5.3",name:"Glm 5.3",api:"openai-completions",provider:"cloudflare-workers-ai",baseUrl:"https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1",reasoning:!0,input:["text"],cost:{input:1.4,output:4.4,cacheRead:.26,cacheWrite:0},contextWindow:1048576,maxTokens:1048576,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,supportsLongCacheRetention:!1,sendSessionAffinityHeaders:!0},thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},type:"chat"},"chat:@cf/zai-org/glm-5.3-flash":{id:"@cf/zai-org/glm-5.3-flash",name:"Glm 5.3 Flash",api:"openai-completions",provider:"cloudflare-workers-ai",baseUrl:"https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1",reasoning:!0,input:["text","image"],cost:{input:.15,output:.5,cacheRead:.03,cacheWrite:0},contextWindow:1048576,maxTokens:1048576,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,supportsLongCacheRetention:!1,sendSessionAffinityHeaders:!0},thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}}};var CLOUDFLARE_WORKERS_AI_MODELS=flattenChatModelCatalog("cloudflare-workers-ai",cloudflare_workers_ai_default),CLOUDFLARE_WORKERS_AI_IMAGE_MODELS=flattenImageModelCatalog("cloudflare-workers-ai",cloudflare_workers_ai_default),CLOUDFLARE_WORKERS_AI_CLASSIFIER_MODELS=flattenClassifierModelCatalog("cloudflare-workers-ai",cloudflare_workers_ai_default);var deepseek_default={"openai-completions":{"chat:deepseek-flash":{id:"deepseek-flash",name:"DeepSeek V4.1 Flash",api:"openai-completions",baseUrl:"https://api.deepseek.com",provider:"deepseek",reasoning:!0,thinkingLevelMap:{minimal:null,low:"low",medium:null,high:"high",max:"max"},input:["text","image"],cost:{input:.3,output:1.2,cacheRead:.006,cacheWrite:0},contextWindow:1e6,maxTokens:384e3,compat:{supportsStore:!1,supportsDeveloperRole:!1,maxTokensField:"max_tokens",requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek",supportsStrictMode:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:deepseek-v4-pro":{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",api:"openai-completions",baseUrl:"https://api.deepseek.com",provider:"deepseek",reasoning:!0,input:["text"],cost:{input:1.32,output:3.96,cacheRead:.044,cacheWrite:0},contextWindow:1e6,maxTokens:384e3,compat:{supportsStore:!1,supportsDeveloperRole:!1,maxTokensField:"max_tokens",requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek",supportsStrictMode:!0,supportsMidConvoSystemMessages:!0},thinkingLevelMap:{minimal:null,low:null,medium:null,high:"high",max:"max"},type:"chat"}}};var DEEPSEEK_MODELS=flattenChatModelCatalog("deepseek",deepseek_default),DEEPSEEK_IMAGE_MODELS=flattenImageModelCatalog("deepseek",deepseek_default),DEEPSEEK_CLASSIFIER_MODELS=flattenClassifierModelCatalog("deepseek",deepseek_default);var fireworks_default={"anthropic-messages":{"chat:accounts/fireworks/models/deepseek-v4p1-flash":{id:"accounts/fireworks/models/deepseek-v4p1-flash",name:"DeepSeek V4.1 Flash",provider:"fireworks",reasoning:!0,input:["text","image"],cost:{input:.3,output:1.2,cacheRead:.006,cacheWrite:0},contextWindow:1e6,maxTokens:384e3,api:"anthropic-messages",baseUrl:"https://api.fireworks.ai/inference",compat:{allowEmptySignature:!0,sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1,forceAdaptiveThinking:!0},thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:accounts/fireworks/models/deepseek-v4p1-flash-1017":{id:"accounts/fireworks/models/deepseek-v4p1-flash-1017",name:"DeepSeek V4.1 Flash 1017",provider:"fireworks",reasoning:!0,input:["text","image"],cost:{input:.3,output:1.2,cacheRead:.006,cacheWrite:0},contextWindow:1e6,maxTokens:384e3,api:"anthropic-messages",baseUrl:"https://api.fireworks.ai/inference",compat:{allowEmptySignature:!0,sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1,forceAdaptiveThinking:!0},thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:accounts/fireworks/models/ember-1":{id:"accounts/fireworks/models/ember-1",name:"Ember-1",provider:"fireworks",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:0},contextWindow:1048576,maxTokens:131072,api:"anthropic-messages",baseUrl:"https://api.fireworks.ai/inference",compat:{allowEmptySignature:!0,sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1,forceAdaptiveThinking:!0},thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:accounts/fireworks/models/gpt-oss-120b":{id:"accounts/fireworks/models/gpt-oss-120b",name:"GPT OSS 120B",provider:"fireworks",reasoning:!0,input:["text"],cost:{input:.15,output:.6,cacheRead:.015,cacheWrite:0},contextWindow:131072,maxTokens:32768,api:"anthropic-messages",baseUrl:"https://api.fireworks.ai/inference",compat:{allowEmptySignature:!0,sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1,forceAdaptiveThinking:!0},thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},type:"chat"},"chat:accounts/fireworks/models/inkling":{id:"accounts/fireworks/models/inkling",name:"Inkling",provider:"fireworks",reasoning:!0,input:["text","image"],cost:{input:1,output:4.05,cacheRead:.17,cacheWrite:0},contextWindow:1048576,maxTokens:1048576,api:"anthropic-messages",baseUrl:"https://api.fireworks.ai/inference",compat:{allowEmptySignature:!0,sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:accounts/fireworks/models/minimax-m3":{id:"accounts/fireworks/models/minimax-m3",name:"MiniMax-M3",provider:"fireworks",reasoning:!0,input:["text"],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:0},contextWindow:512e3,maxTokens:512e3,api:"anthropic-messages",baseUrl:"https://api.fireworks.ai/inference",compat:{allowEmptySignature:!0,sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1,forceAdaptiveThinking:!0},thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},type:"chat"},"chat:accounts/fireworks/models/muse-spark-open":{id:"accounts/fireworks/models/muse-spark-open",name:"Muse Spark Open",provider:"fireworks",reasoning:!0,input:["text","image"],cost:{input:1.25,output:4.25,cacheRead:.15,cacheWrite:0},contextWindow:1048576,maxTokens:131072,api:"anthropic-messages",baseUrl:"https://api.fireworks.ai/inference",compat:{allowEmptySignature:!0,sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1,forceAdaptiveThinking:!0},thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:accounts/fireworks/models/nemotron-3-ultra-nvfp4":{id:"accounts/fireworks/models/nemotron-3-ultra-nvfp4",name:"Nemotron 3 Ultra 550B A55B",provider:"fireworks",reasoning:!0,input:["text"],cost:{input:.6,output:2.4,cacheRead:.12,cacheWrite:0},contextWindow:262144,maxTokens:128e3,api:"anthropic-messages",baseUrl:"https://api.fireworks.ai/inference",compat:{allowEmptySignature:!0,sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},type:"chat"},"chat:accounts/fireworks/models/nemotron-lightning-3p5-30b-a3b":{id:"accounts/fireworks/models/nemotron-lightning-3p5-30b-a3b",name:"Nemotron 3.5 Lightning 30B A3B",provider:"fireworks",reasoning:!0,input:["text"],cost:{input:.05,output:.2,cacheRead:.01,cacheWrite:0},contextWindow:262144,maxTokens:262144,api:"anthropic-messages",baseUrl:"https://api.fireworks.ai/inference",compat:{allowEmptySignature:!0,sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},type:"chat"},"chat:accounts/fireworks/models/qwen3p8-2p4t-a95b":{id:"accounts/fireworks/models/qwen3p8-2p4t-a95b",name:"Qwen3.8 2.4T A95B",provider:"fireworks",reasoning:!0,input:["text"],cost:{input:2,output:6,cacheRead:.25,cacheWrite:0},contextWindow:262144,maxTokens:131072,api:"anthropic-messages",baseUrl:"https://api.fireworks.ai/inference",compat:{allowEmptySignature:!0,sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1,forceAdaptiveThinking:!0},thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:null,xhigh:"xhigh",max:null},type:"chat"},"chat:accounts/fireworks/models/qwen3p8-max":{id:"accounts/fireworks/models/qwen3p8-max",name:"Qwen3.8 Max",provider:"fireworks",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.25,cacheWrite:0},contextWindow:262144,maxTokens:131072,api:"anthropic-messages",baseUrl:"https://api.fireworks.ai/inference",compat:{allowEmptySignature:!0,sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1,forceAdaptiveThinking:!0},thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:null,xhigh:"xhigh",max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:accounts/fireworks/routers/deepseek-flash-latest":{id:"accounts/fireworks/routers/deepseek-flash-latest",name:"DeepSeek Flash Latest",provider:"fireworks",reasoning:!0,input:["text","image"],cost:{input:.3,output:1.2,cacheRead:.006,cacheWrite:0},contextWindow:1e6,maxTokens:384e3,api:"anthropic-messages",baseUrl:"https://api.fireworks.ai/inference",compat:{allowEmptySignature:!0,sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1,forceAdaptiveThinking:!0},thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:accounts/fireworks/routers/kimi-fast-latest":{id:"accounts/fireworks/routers/kimi-fast-latest",name:"Kimi Fast Latest",provider:"fireworks",reasoning:!0,input:["text","image"],cost:{input:4.5,output:22.5,cacheRead:.45,cacheWrite:0},contextWindow:1048576,maxTokens:131072,api:"anthropic-messages",baseUrl:"https://api.fireworks.ai/inference",compat:{allowEmptySignature:!0,sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1,forceAdaptiveThinking:!0},thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:accounts/fireworks/routers/kimi-latest":{id:"accounts/fireworks/routers/kimi-latest",name:"Kimi Latest",provider:"fireworks",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:0},contextWindow:1048576,maxTokens:131072,api:"anthropic-messages",baseUrl:"https://api.fireworks.ai/inference",compat:{allowEmptySignature:!0,sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1,forceAdaptiveThinking:!0},thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:accounts/fireworks/routers/minimax-latest":{id:"accounts/fireworks/routers/minimax-latest",name:"MiniMax Latest",provider:"fireworks",reasoning:!0,input:["text"],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:0},contextWindow:512e3,maxTokens:512e3,api:"anthropic-messages",baseUrl:"https://api.fireworks.ai/inference",compat:{allowEmptySignature:!0,sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1,forceAdaptiveThinking:!0},thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},type:"chat"},"chat:accounts/fireworks/routers/qwen-max-latest":{id:"accounts/fireworks/routers/qwen-max-latest",name:"Qwen Max Latest (Qwen3.8 Max)",provider:"fireworks",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.25,cacheWrite:0},contextWindow:262144,maxTokens:131072,api:"anthropic-messages",baseUrl:"https://api.fireworks.ai/inference",compat:{allowEmptySignature:!0,sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}},"openai-completions":{"chat:accounts/fireworks/models/glm-5p3":{id:"accounts/fireworks/models/glm-5p3",name:"GLM 5.3",provider:"fireworks",reasoning:!0,input:["text"],cost:{input:1.4,output:4.4,cacheRead:.26,cacheWrite:0},contextWindow:1048573,maxTokens:262144,api:"openai-completions",baseUrl:"https://api.fireworks.ai/inference/v1",compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,sendSessionAffinityHeaders:!0,supportsLongCacheRetention:!1},thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},type:"chat"},"chat:accounts/fireworks/models/glm-5p3-flash":{id:"accounts/fireworks/models/glm-5p3-flash",name:"GLM 5.3 Flash",provider:"fireworks",reasoning:!0,input:["text","image"],cost:{input:.15,output:.5,cacheRead:.03,cacheWrite:0},contextWindow:1048573,maxTokens:131072,api:"openai-completions",baseUrl:"https://api.fireworks.ai/inference/v1",compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,sendSessionAffinityHeaders:!0,supportsLongCacheRetention:!1},thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:accounts/fireworks/models/kimi-k3":{id:"accounts/fireworks/models/kimi-k3",name:"Kimi K3",provider:"fireworks",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:0},contextWindow:1048576,maxTokens:131072,api:"openai-completions",baseUrl:"https://api.fireworks.ai/inference/v1",compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,sendSessionAffinityHeaders:!0,supportsLongCacheRetention:!1,requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"openai",supportsMidConvoSystemMessages:!0,supportsMidConvoToolAdditions:!0},thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:accounts/fireworks/routers/glm-5p3-fast":{id:"accounts/fireworks/routers/glm-5p3-fast",name:"GLM 5.3 Fast",provider:"fireworks",reasoning:!0,input:["text"],cost:{input:2.1,output:6.6,cacheRead:.39,cacheWrite:0},contextWindow:1048572,maxTokens:262144,api:"openai-completions",baseUrl:"https://api.fireworks.ai/inference/v1",compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,sendSessionAffinityHeaders:!0,supportsLongCacheRetention:!1},thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},type:"chat"},"chat:accounts/fireworks/routers/glm-fast-latest":{id:"accounts/fireworks/routers/glm-fast-latest",name:"GLM 5.3 Fast (Latest)",provider:"fireworks",reasoning:!0,input:["text"],cost:{input:2.1,output:6.6,cacheRead:.39,cacheWrite:0},contextWindow:1048572,maxTokens:262144,api:"openai-completions",baseUrl:"https://api.fireworks.ai/inference/v1",compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,sendSessionAffinityHeaders:!0,supportsLongCacheRetention:!1},thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},type:"chat"},"chat:accounts/fireworks/routers/glm-flash-latest":{id:"accounts/fireworks/routers/glm-flash-latest",name:"GLM Flash Latest (GLM 5.3 Flash)",provider:"fireworks",reasoning:!0,input:["text","image"],cost:{input:.15,output:.5,cacheRead:.03,cacheWrite:0},contextWindow:1048573,maxTokens:131072,api:"openai-completions",baseUrl:"https://api.fireworks.ai/inference/v1",compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,sendSessionAffinityHeaders:!0,supportsLongCacheRetention:!1},thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:accounts/fireworks/routers/glm-latest":{id:"accounts/fireworks/routers/glm-latest",name:"GLM Latest",provider:"fireworks",reasoning:!0,input:["text"],cost:{input:1.4,output:4.4,cacheRead:.26,cacheWrite:0},contextWindow:1048573,maxTokens:262144,api:"openai-completions",baseUrl:"https://api.fireworks.ai/inference/v1",compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,sendSessionAffinityHeaders:!0,supportsLongCacheRetention:!1},thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},type:"chat"},"chat:accounts/fireworks/routers/kimi-k3-fast":{id:"accounts/fireworks/routers/kimi-k3-fast",name:"Kimi K3 Fast",provider:"fireworks",reasoning:!0,input:["text","image"],cost:{input:4.5,output:22.5,cacheRead:.45,cacheWrite:0},contextWindow:1048576,maxTokens:131072,api:"openai-completions",baseUrl:"https://api.fireworks.ai/inference/v1",compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,sendSessionAffinityHeaders:!0,supportsLongCacheRetention:!1,requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"openai",supportsMidConvoSystemMessages:!0,supportsMidConvoToolAdditions:!0},thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}}};var FIREWORKS_MODELS=flattenChatModelCatalog("fireworks",fireworks_default),FIREWORKS_IMAGE_MODELS=flattenImageModelCatalog("fireworks",fireworks_default),FIREWORKS_CLASSIFIER_MODELS=flattenClassifierModelCatalog("fireworks",fireworks_default);var github_copilot_default={"anthropic-messages":{"chat:claude-fable-5":{id:"claude-fable-5",name:"Claude Fable 5",api:"anthropic-messages",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,maxTokens:128e3,headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},compat:{supportsMidConvoSystemMessages:!0,forceAdaptiveThinking:!0},thinkingLevelMap:{off:null,xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-fable-5.1":{id:"claude-fable-5.1",name:"Claude Fable 5.1",api:"anthropic-messages",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:.25,cacheWrite:12.5},contextWindow:1e6,maxTokens:128e3,headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},compat:{supportsMidConvoSystemMessages:!0,forceAdaptiveThinking:!0},thinkingLevelMap:{off:null,xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-haiku-4.5":{id:"claude-haiku-4.5",name:"Claude Haiku 4.5 (latest)",api:"anthropic-messages",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",reasoning:!0,input:["text","image"],cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3,headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},compat:{supportsEagerToolInputStreaming:!1},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-haiku-5.5":{id:"claude-haiku-5.5",name:"Claude Haiku 5.5",api:"anthropic-messages",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",reasoning:!0,input:["text","image"],cost:{input:.1,output:.5,cacheRead:.01,cacheWrite:.125,tiers:[{inputTokensAbove:1e5,input:.5,output:2.5,cacheRead:.05,cacheWrite:.625}]},contextWindow:1e6,maxTokens:128e3,headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},compat:{supportsMidConvoSystemMessages:!0,forceAdaptiveThinking:!0,supportsTemperature:!1},thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-opus-4.7":{id:"claude-opus-4.7",name:"Claude Opus 4.7",api:"anthropic-messages",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:32e3,headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},thinkingLevelMap:{xhigh:"xhigh",max:"max",minimal:"low"},compat:{forceAdaptiveThinking:!0,supportsTemperature:!1},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-opus-4.8":{id:"claude-opus-4.8",name:"Claude Opus 4.8",api:"anthropic-messages",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:64e3,headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},compat:{supportsMidConvoSystemMessages:!0,forceAdaptiveThinking:!0,supportsTemperature:!1},thinkingLevelMap:{xhigh:"xhigh",max:"max",minimal:"low"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-opus-5":{id:"claude-opus-5",name:"Claude Opus 5",api:"anthropic-messages",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:64e3,headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},compat:{supportsMidConvoSystemMessages:!0,forceAdaptiveThinking:!0,supportsTemperature:!1},thinkingLevelMap:{xhigh:"xhigh",max:"max",minimal:"low"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-opus-5.5":{id:"claude-opus-5.5",name:"Claude Opus 5.5",api:"anthropic-messages",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",reasoning:!0,input:["text","image"],cost:{input:4,output:20,cacheRead:.2,cacheWrite:5},contextWindow:1e6,maxTokens:128e3,headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},compat:{supportsMidConvoSystemMessages:!0,forceAdaptiveThinking:!0,supportsTemperature:!1},thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-sonnet-4.6":{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6",api:"anthropic-messages",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:32e3,headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},thinkingLevelMap:{max:"max",minimal:"low"},compat:{forceAdaptiveThinking:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-sonnet-5":{id:"claude-sonnet-5",name:"Claude Sonnet 5",api:"anthropic-messages",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3,headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},thinkingLevelMap:{xhigh:"xhigh",max:"max"},compat:{forceAdaptiveThinking:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-sonnet-5.5":{id:"claude-sonnet-5.5",name:"Claude Sonnet 5.5",api:"anthropic-messages",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.1,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3,headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},compat:{supportsMidConvoSystemMessages:!0,forceAdaptiveThinking:!0,supportsTemperature:!1},thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}},"openai-completions":{"chat:gemini-3.5-flash":{id:"gemini-3.5-flash",name:"Gemini 3.5 Flash",api:"openai-completions",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",reasoning:!0,input:["text","image"],cost:{input:1.5,output:9,cacheRead:.15,cacheWrite:0},contextWindow:2e5,maxTokens:64e3,headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-3.6-flash":{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash",api:"openai-completions",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",reasoning:!0,input:["text","image"],cost:{input:.75,output:3.75,cacheRead:.075,cacheWrite:0},contextWindow:1e6,maxTokens:64e3,headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-3.7-flash":{id:"gemini-3.7-flash",name:"Gemini 3.7 Flash",api:"openai-completions",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",reasoning:!0,input:["text","image"],cost:{input:.75,output:3.75,cacheRead:.075,cacheWrite:0},contextWindow:1e6,maxTokens:64e3,headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-3.8-flash":{id:"gemini-3.8-flash",name:"Gemini 3.8 Flash",api:"openai-completions",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",reasoning:!0,input:["text","image"],cost:{input:.75,output:3.75,cacheRead:.075,cacheWrite:0},contextWindow:1e6,maxTokens:64e3,headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-4-argon":{id:"gemini-4-argon",name:"Gemini 4 Argon",api:"openai-completions",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.1,cacheWrite:0},contextWindow:1048576,maxTokens:65536,headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:kimi-k2.7-code":{id:"kimi-k2.7-code",name:"Kimi K2.7 Code",api:"openai-completions",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",reasoning:!0,input:["text","image"],cost:{input:.95,output:4,cacheRead:.19,cacheWrite:0},contextWindow:256e3,maxTokens:32e3,headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:kimi-k3":{id:"kimi-k3",name:"Kimi K3",api:"openai-completions",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:0},contextWindow:1048576,maxTokens:131072,headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,supportsMidConvoSystemMessages:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}},"openai-responses":{"chat:gpt-5-mini":{id:"gpt-5-mini",name:"GPT-5 Mini",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",reasoning:!0,input:["text","image"],cost:{input:.25,output:2,cacheRead:.025,cacheWrite:0},contextWindow:264e3,maxTokens:64e3,headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},thinkingLevelMap:{off:null,minimal:"low",low:"low",medium:"medium",high:"high",xhigh:null,max:null},compat:{supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.3-codex":{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:1e6,maxTokens:128e3,headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},thinkingLevelMap:{off:null,minimal:"low",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},compat:{supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.4":{id:"gpt-5.4",name:"GPT-5.4",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",reasoning:!0,input:["text","image"],cost:{input:2.5,output:15,cacheRead:.25,cacheWrite:0,tiers:[{inputTokensAbove:272e3,input:5,output:22.5,cacheRead:.5,cacheWrite:0}]},contextWindow:1e6,maxTokens:128e3,headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},thinkingLevelMap:{off:null,minimal:"low",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},compat:{supportsOpenAIGrammarTools:!0,supportsMidConvoSystemMessages:!0,supportsAdditionalTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.4-mini":{id:"gpt-5.4-mini",name:"GPT-5.4 mini",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",reasoning:!0,input:["text","image"],cost:{input:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},thinkingLevelMap:{off:null,minimal:"low",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},compat:{supportsOpenAIGrammarTools:!0,supportsMidConvoSystemMessages:!0,supportsAdditionalTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.4-nano":{id:"gpt-5.4-nano",name:"GPT-5.4 nano",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",reasoning:!0,input:["text","image"],cost:{input:.2,output:1.25,cacheRead:.02,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},thinkingLevelMap:{off:null,minimal:"low",xhigh:"xhigh"},compat:{supportsOpenAIGrammarTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.5":{id:"gpt-5.5",name:"GPT-5.5",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:.5,cacheWrite:0,tiers:[{inputTokensAbove:272e3,input:10,output:45,cacheRead:1,cacheWrite:0}]},contextWindow:1e6,maxTokens:128e3,headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},thinkingLevelMap:{off:null,minimal:"low",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},compat:{supportsOpenAIGrammarTools:!0,supportsMidConvoSystemMessages:!0,supportsAdditionalTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.6-luna":{id:"gpt-5.6-luna",name:"GPT-5.6 Luna",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",reasoning:!0,input:["text","image"],cost:{input:.2,output:1.2,cacheRead:.02,cacheWrite:.25,tiers:[{inputTokensAbove:2e5,input:.4,output:1.8,cacheRead:.04,cacheWrite:.5}]},contextWindow:105e4,maxTokens:128e3,headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},thinkingLevelMap:{off:null,minimal:"low",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsOpenAIGrammarTools:!0,supportsMidConvoSystemMessages:!0,supportsAdditionalTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.6-sol":{id:"gpt-5.6-sol",name:"GPT-5.6 Sol",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",reasoning:!0,input:["text","image"],cost:{input:4,output:20,cacheRead:.4,cacheWrite:5,tiers:[{inputTokensAbove:272e3,input:8,output:30,cacheRead:.8,cacheWrite:10}]},contextWindow:105e4,maxTokens:128e3,headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},thinkingLevelMap:{off:null,minimal:"low",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsOpenAIGrammarTools:!0,supportsMidConvoSystemMessages:!0,supportsAdditionalTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.6-terra":{id:"gpt-5.6-terra",name:"GPT-5.6 Terra",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:.2,cacheWrite:2.5,tiers:[{inputTokensAbove:272e3,input:4,output:18,cacheRead:.4,cacheWrite:5}]},contextWindow:105e4,maxTokens:128e3,headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},thinkingLevelMap:{off:null,minimal:"low",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsOpenAIGrammarTools:!0,supportsMidConvoSystemMessages:!0,supportsAdditionalTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-6-astra":{id:"gpt-6-astra",name:"GPT-6 Astra",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5,tiers:[{inputTokensAbove:272e3,input:20,output:75,cacheRead:2,cacheWrite:25}]},contextWindow:1e6,maxTokens:128e3,headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsOpenAIGrammarTools:!0,supportsMidConvoSystemMessages:!0,supportsAdditionalTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-6-luna":{id:"gpt-6-luna",name:"GPT-6 Luna",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",reasoning:!0,input:["text","image"],cost:{input:.1,output:.5,cacheRead:.01,cacheWrite:.125,tiers:[{inputTokensAbove:272e3,input:.2,output:.75,cacheRead:.02,cacheWrite:.25}]},contextWindow:1e6,maxTokens:128e3,headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsOpenAIGrammarTools:!0,supportsMidConvoSystemMessages:!0,supportsAdditionalTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-6-sol":{id:"gpt-6-sol",name:"GPT-6 Sol",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.2,cacheWrite:2.5,tiers:[{inputTokensAbove:272e3,input:4,output:15,cacheRead:.4,cacheWrite:5}]},contextWindow:1e6,maxTokens:128e3,headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsOpenAIGrammarTools:!0,supportsMidConvoSystemMessages:!0,supportsAdditionalTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-6.1-sol":{id:"gpt-6.1-sol",name:"GPT-6.1 Sol",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.1,cacheWrite:2.5,tiers:[{inputTokensAbove:272e3,input:4,output:15,cacheRead:.2,cacheWrite:5}]},contextWindow:105e4,maxTokens:128e3,headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsOpenAIGrammarTools:!0,supportsMidConvoSystemMessages:!0,supportsAdditionalTools:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:grok-4.5":{id:"grok-4.5",name:"Grok 4.5",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.5,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:4,output:12,cacheRead:1,cacheWrite:0}]},contextWindow:5e5,maxTokens:128e3,headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:grok-4.6":{id:"grok-4.6",name:"Grok 4.6",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.5,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:4,output:12,cacheRead:1,cacheWrite:0}]},contextWindow:5e5,maxTokens:128e3,headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:grok-4.7":{id:"grok-4.7",name:"Grok 4.7",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.5,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:4,output:12,cacheRead:1,cacheWrite:0}]},contextWindow:5e5,maxTokens:128e3,headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:mai-code-1-flash-picker":{id:"mai-code-1-flash-picker",name:"MAI-Code-1-Flash",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",reasoning:!0,input:["text"],cost:{input:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:256e3,maxTokens:128e3,headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},type:"chat"},"chat:mai-code-1.1-flash":{id:"mai-code-1.1-flash",name:"MAI-Code-1.1-Flash",api:"openai-responses",provider:"github-copilot",baseUrl:"https://api.individual.githubcopilot.com",reasoning:!0,input:["text","image"],cost:{input:.2,output:1.2,cacheRead:.02,cacheWrite:0},contextWindow:256e3,maxTokens:128e3,headers:{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}}};var GITHUB_COPILOT_MODELS=flattenChatModelCatalog("github-copilot",github_copilot_default),GITHUB_COPILOT_IMAGE_MODELS=flattenImageModelCatalog("github-copilot",github_copilot_default),GITHUB_COPILOT_CLASSIFIER_MODELS=flattenClassifierModelCatalog("github-copilot",github_copilot_default);var google_default={"google-generative-ai":{"chat:deep-research-max-preview-04-2026":{id:"deep-research-max-preview-04-2026",name:"Deep Research Max Preview (Apr-21-2026)",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:.2,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:4,output:18,cacheRead:.4,cacheWrite:0}]},contextWindow:131072,maxTokens:65536,inputLimits:{maxRequestBytes:20971520,images:{maxPerRequest:3600,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:deep-research-preview-04-2026":{id:"deep-research-preview-04-2026",name:"Deep Research Preview (Apr-21-2026)",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:.2,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:4,output:18,cacheRead:.4,cacheWrite:0}]},contextWindow:131072,maxTokens:65536,inputLimits:{maxRequestBytes:20971520,images:{maxPerRequest:3600,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-2.5-computer-use-preview-10-2025":{id:"gemini-2.5-computer-use-preview-10-2025",name:"Gemini 2.5 Computer Use Preview 10-2025",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:0,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:2.5,output:15,cacheRead:0,cacheWrite:0}]},contextWindow:128e3,maxTokens:64e3,inputLimits:{maxRequestBytes:20971520,images:{maxPerRequest:3600,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-2.5-flash":{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:.3,output:2.5,cacheRead:.03,cacheWrite:0},contextWindow:1048576,maxTokens:65536,inputLimits:{maxRequestBytes:20971520,images:{maxPerRequest:3600,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-2.5-flash-lite":{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash-Lite",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:.1,output:.4,cacheRead:.01,cacheWrite:0},contextWindow:1048576,maxTokens:65536,inputLimits:{maxRequestBytes:20971520,images:{maxPerRequest:3600,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-2.5-pro":{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:2.5,output:15,cacheRead:.25,cacheWrite:0}]},contextWindow:1048576,maxTokens:65536,inputLimits:{maxRequestBytes:20971520,images:{maxPerRequest:3600,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.5,output:3,cacheRead:.05,cacheWrite:0},contextWindow:1048576,maxTokens:65536,inputLimits:{maxRequestBytes:20971520,images:{maxPerRequest:3600,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-3.1-flash-lite":{id:"gemini-3.1-flash-lite",name:"Gemini 3.1 Flash Lite",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.25,output:1.5,cacheRead:.025,cacheWrite:0},contextWindow:1048576,maxTokens:65536,inputLimits:{maxRequestBytes:20971520,images:{maxPerRequest:3600,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-3.1-flash-lite-image":{id:"gemini-3.1-flash-lite-image",name:"Nano Banana 2 Lite",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:null,medium:null,high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.25,output:30,cacheRead:0,cacheWrite:0},contextWindow:65536,maxTokens:4096,inputLimits:{maxRequestBytes:20971520,images:{maxPerRequest:3600,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-3.1-flash-lite-preview":{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.25,output:1.5,cacheRead:.025,cacheWrite:0},contextWindow:1048576,maxTokens:65536,inputLimits:{maxRequestBytes:20971520,images:{maxPerRequest:3600,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-3.1-flash-live-preview":{id:"gemini-3.1-flash-live-preview",name:"Gemini 3.1 Flash Live Preview",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.75,output:4.5,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:65536,inputLimits:{maxRequestBytes:20971520,images:{maxPerRequest:3600,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-3.1-pro-preview":{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:2,output:12,cacheRead:.2,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:4,output:18,cacheRead:.4,cacheWrite:0}]},contextWindow:1048576,maxTokens:65536,inputLimits:{maxRequestBytes:20971520,images:{maxPerRequest:3600,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-3.1-pro-preview-customtools":{id:"gemini-3.1-pro-preview-customtools",name:"Gemini 3.1 Pro Preview Custom Tools",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:2,output:12,cacheRead:.2,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:4,output:18,cacheRead:.4,cacheWrite:0}]},contextWindow:1048576,maxTokens:65536,inputLimits:{maxRequestBytes:20971520,images:{maxPerRequest:3600,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-3.5-flash":{id:"gemini-3.5-flash",name:"Gemini 3.5 Flash",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:1.5,output:9,cacheRead:.15,cacheWrite:0},contextWindow:1048576,maxTokens:65536,inputLimits:{maxRequestBytes:20971520,images:{maxPerRequest:3600,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-3.5-flash-lite":{id:"gemini-3.5-flash-lite",name:"Gemini 3.5 Flash Lite",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.3,output:2.5,cacheRead:.03,cacheWrite:0},contextWindow:1048576,maxTokens:65536,inputLimits:{maxRequestBytes:20971520,images:{maxPerRequest:3600,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-3.6-flash":{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.75,output:3.75,cacheRead:.075,cacheWrite:0},contextWindow:1048576,maxTokens:65536,inputLimits:{maxRequestBytes:20971520,images:{maxPerRequest:3600,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-3.7-flash":{id:"gemini-3.7-flash",name:"Gemini 3.7 Flash",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.75,output:3.75,cacheRead:.075,cacheWrite:0},contextWindow:1048576,maxTokens:65536,inputLimits:{maxRequestBytes:20971520,images:{maxPerRequest:3600,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-3.8-flash":{id:"gemini-3.8-flash",name:"Gemini 3.8 Flash",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.75,output:3.75,cacheRead:.075,cacheWrite:0},contextWindow:1048576,maxTokens:65536,inputLimits:{maxRequestBytes:20971520,images:{maxPerRequest:3600,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-4-argon":{id:"gemini-4-argon",name:"Gemini 4 Argon",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:2,output:10,cacheRead:.1,cacheWrite:0},contextWindow:1048576,maxTokens:32768,inputLimits:{maxRequestBytes:20971520,images:{maxPerRequest:3600,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-flash-latest":{id:"gemini-flash-latest",name:"Gemini Flash Latest",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:1.5,output:9,cacheRead:.15,cacheWrite:0},contextWindow:1048576,maxTokens:65536,inputLimits:{maxRequestBytes:20971520,images:{maxPerRequest:3600,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-flash-lite-latest":{id:"gemini-flash-lite-latest",name:"Gemini Flash-Lite Latest",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.25,output:1.5,cacheRead:.025,cacheWrite:0},contextWindow:1048576,maxTokens:65536,inputLimits:{maxRequestBytes:20971520,images:{maxPerRequest:3600,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-pro-latest":{id:"gemini-pro-latest",name:"Gemini Pro Latest",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:2,output:12,cacheRead:.2,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:4,output:18,cacheRead:.4,cacheWrite:0}]},contextWindow:1048576,maxTokens:65536,inputLimits:{maxRequestBytes:20971520,images:{maxPerRequest:3600,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemma-4-26b-a4b-it":{id:"gemma-4-26b-a4b-it",name:"Gemma 4 26B A4B IT",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,thinkingLevelMap:{off:null,minimal:"MINIMAL",low:null,medium:null,high:"HIGH"},input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768,inputLimits:{maxRequestBytes:20971520,images:{maxPerRequest:3600,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemma-4-31b-it":{id:"gemma-4-31b-it",name:"Gemma 4 31B IT",api:"google-generative-ai",provider:"google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",reasoning:!0,thinkingLevelMap:{off:null,minimal:"MINIMAL",low:null,medium:null,high:"HIGH"},input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768,inputLimits:{maxRequestBytes:20971520,images:{maxPerRequest:3600,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}}};var GOOGLE_MODELS=flattenChatModelCatalog("google",google_default),GOOGLE_IMAGE_MODELS=flattenImageModelCatalog("google",google_default),GOOGLE_CLASSIFIER_MODELS=flattenClassifierModelCatalog("google",google_default);var google_vertex_default={"google-vertex":{"chat:gemini-2.5-flash":{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:.3,output:2.5,cacheRead:.03,cacheWrite:0},contextWindow:1048576,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-2.5-flash-lite":{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash-Lite",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:.1,output:.4,cacheRead:.01,cacheWrite:0},contextWindow:1048576,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-2.5-pro":{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:1048576,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-3-flash-preview":{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.5,output:3,cacheRead:.05,cacheWrite:0},contextWindow:1048576,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-3.1-flash-lite":{id:"gemini-3.1-flash-lite",name:"Gemini 3.1 Flash Lite",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.25,output:1.5,cacheRead:.025,cacheWrite:0},contextWindow:1048576,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-3.1-flash-lite-image":{id:"gemini-3.1-flash-lite-image",name:"Nano Banana 2 Lite",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:null,medium:null,high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.25,output:30,cacheRead:.025,cacheWrite:0},contextWindow:65536,maxTokens:4096,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-3.1-pro-preview":{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:2,output:12,cacheRead:.2,cacheWrite:0},contextWindow:1048576,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-3.1-pro-preview-customtools":{id:"gemini-3.1-pro-preview-customtools",name:"Gemini 3.1 Pro Preview Custom Tools",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:2,output:12,cacheRead:.2,cacheWrite:0},contextWindow:1048576,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-3.5-flash":{id:"gemini-3.5-flash",name:"Gemini 3.5 Flash",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:1.5,output:9,cacheRead:.15,cacheWrite:0},contextWindow:1048576,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-3.5-flash-lite":{id:"gemini-3.5-flash-lite",name:"Gemini 3.5 Flash Lite",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.3,output:2.5,cacheRead:.03,cacheWrite:0},contextWindow:1048576,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-3.6-flash":{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.75,output:3.75,cacheRead:.075,cacheWrite:0},contextWindow:1048576,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-3.7-flash":{id:"gemini-3.7-flash",name:"Gemini 3.7 Flash",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.75,output:3.75,cacheRead:.075,cacheWrite:0},contextWindow:1048576,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-3.8-flash":{id:"gemini-3.8-flash",name:"Gemini 3.8 Flash",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.75,output:3.75,cacheRead:.075,cacheWrite:0},contextWindow:1048576,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-4-argon":{id:"gemini-4-argon",name:"Gemini 4 Argon",api:"google-vertex",provider:"google-vertex",baseUrl:"https://{location}-aiplatform.googleapis.com",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:2,output:10,cacheRead:.1,cacheWrite:0},contextWindow:1048576,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}}};var GOOGLE_VERTEX_MODELS=flattenChatModelCatalog("google-vertex",google_vertex_default),GOOGLE_VERTEX_IMAGE_MODELS=flattenImageModelCatalog("google-vertex",google_vertex_default),GOOGLE_VERTEX_CLASSIFIER_MODELS=flattenClassifierModelCatalog("google-vertex",google_vertex_default);var groq_default={"openai-completions":{"chat:llama-3.1-8b-instant":{id:"llama-3.1-8b-instant",name:"Llama 3.1 8B",api:"openai-completions",provider:"groq",baseUrl:"https://api.groq.com/openai/v1",reasoning:!1,input:["text"],cost:{input:.05,output:.08,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072,compat:{supportsStrictMode:!0},type:"chat"},"chat:llama-3.3-70b-versatile":{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B",api:"openai-completions",provider:"groq",baseUrl:"https://api.groq.com/openai/v1",reasoning:!1,input:["text"],cost:{input:.59,output:.79,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768,compat:{supportsStrictMode:!0},type:"chat"},"chat:openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",api:"openai-completions",provider:"groq",baseUrl:"https://api.groq.com/openai/v1",reasoning:!0,input:["text"],cost:{input:.15,output:.6,cacheRead:.075,cacheWrite:0},contextWindow:131072,maxTokens:65536,compat:{supportsStrictMode:!0},thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},type:"chat"},"chat:openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",api:"openai-completions",provider:"groq",baseUrl:"https://api.groq.com/openai/v1",reasoning:!0,input:["text"],cost:{input:.075,output:.3,cacheRead:.0375,cacheWrite:0},contextWindow:131072,maxTokens:65536,compat:{supportsStrictMode:!0},thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},type:"chat"},"chat:openai/gpt-oss-safeguard-20b":{id:"openai/gpt-oss-safeguard-20b",name:"Safety GPT OSS 20B",api:"openai-completions",provider:"groq",baseUrl:"https://api.groq.com/openai/v1",reasoning:!0,input:["text"],cost:{input:.075,output:.3,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:65536,compat:{supportsStrictMode:!0},thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},type:"chat"},"chat:qwen/qwen3.6-27b":{id:"qwen/qwen3.6-27b",name:"Qwen3.6 27B",api:"openai-completions",provider:"groq",baseUrl:"https://api.groq.com/openai/v1",reasoning:!0,input:["text","image"],cost:{input:.6,output:3,cacheRead:.3,cacheWrite:0},contextWindow:131072,maxTokens:16384,compat:{supportsStrictMode:!0},thinkingLevelMap:{off:"none",minimal:null,low:null,medium:null,high:"default",xhigh:null,max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:qwen/qwen3.8-27b":{id:"qwen/qwen3.8-27b",name:"Qwen3.8 27B",api:"openai-completions",provider:"groq",baseUrl:"https://api.groq.com/openai/v1",reasoning:!0,input:["text","image"],cost:{input:.8,output:4,cacheRead:0,cacheWrite:0},contextWindow:131042,maxTokens:16384,compat:{supportsStrictMode:!0},thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}}};var GROQ_MODELS=flattenChatModelCatalog("groq",groq_default),GROQ_IMAGE_MODELS=flattenImageModelCatalog("groq",groq_default),GROQ_CLASSIFIER_MODELS=flattenClassifierModelCatalog("groq",groq_default);var huggingface_default={"openai-completions":{"chat:deepseek-ai/DeepSeek-R1":{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek-R1",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text"],cost:{input:.7,output:2.5,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:64e3,maxTokens:32768,type:"chat"},"chat:deepseek-ai/DeepSeek-R1-0528":{id:"deepseek-ai/DeepSeek-R1-0528",name:"DeepSeek-R1-0528",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text"],cost:{input:3,output:5,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:163840,maxTokens:163840,type:"chat"},"chat:deepseek-ai/DeepSeek-V3":{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek-V3",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!1,input:["text"],cost:{input:.4,output:1.3,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:64e3,maxTokens:8192,type:"chat"},"chat:deepseek-ai/DeepSeek-V3-0324":{id:"deepseek-ai/DeepSeek-V3-0324",name:"DeepSeek V3 0324",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!1,input:["text"],cost:{input:.27,output:1.12,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:163840,maxTokens:163840,type:"chat"},"chat:deepseek-ai/DeepSeek-V3.1":{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek-V3.1",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text"],cost:{input:.27,output:1,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:131072,maxTokens:8192,type:"chat"},"chat:deepseek-ai/DeepSeek-V3.2":{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek-V3.2",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text"],cost:{input:.28,output:.4,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:163840,maxTokens:65536,type:"chat"},"chat:deepseek-ai/DeepSeek-V4-Flash":{id:"deepseek-ai/DeepSeek-V4-Flash",name:"DeepSeek V4 Flash",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text"],cost:{input:.14,output:.28,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:1048576,maxTokens:384e3,type:"chat"},"chat:deepseek-ai/DeepSeek-V4-Flash-0731":{id:"deepseek-ai/DeepSeek-V4-Flash-0731",name:"DeepSeek V4 Flash 0731",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text"],cost:{input:.14,output:.28,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:1048576,maxTokens:384e3,thinkingLevelMap:{off:null,minimal:null,low:null,medium:null,high:"high",xhigh:null,max:"max"},type:"chat"},"chat:deepseek-ai/DeepSeek-V4-Flash-Vision-Exp":{id:"deepseek-ai/DeepSeek-V4-Flash-Vision-Exp",name:"DeepSeek V4 Flash Vision Exp",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text","image"],cost:{input:.44,output:1.32,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:1048576,maxTokens:384e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:deepseek-ai/DeepSeek-V4-Pro":{id:"deepseek-ai/DeepSeek-V4-Pro",name:"DeepSeek V4 Pro",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text"],cost:{input:.435,output:.87,cacheRead:.003625,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:1048576,maxTokens:393216,thinkingLevelMap:{off:null,minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},type:"chat"},"chat:deepseek-ai/DeepSeek-V4-Pro-0813":{id:"deepseek-ai/DeepSeek-V4-Pro-0813",name:"DeepSeek V4 Pro 0813",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text"],cost:{input:1.32,output:3.96,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:1e6,maxTokens:384e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},type:"chat"},"chat:deepseek-ai/DeepSeek-V4.1-Flash":{id:"deepseek-ai/DeepSeek-V4.1-Flash",name:"DeepSeek V4.1 Flash",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text","image"],cost:{input:.3,output:1.2,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:1048576,maxTokens:384e3,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:null,high:"high",xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:deepseek-ai/DeepSeek-V4.1-Flash-1017":{id:"deepseek-ai/DeepSeek-V4.1-Flash-1017",name:"DeepSeek V4.1 Flash 1017",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text","image"],cost:{input:.3,output:1.2,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:1048576,maxTokens:384e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:google/gemma-3-12b-it":{id:"google/gemma-3-12b-it",name:"Gemma 3 12B IT",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!1,input:["text","image"],cost:{input:.05,output:.15,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:131072,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:google/gemma-3-27b-it":{id:"google/gemma-3-27b-it",name:"Gemma 3 27B IT",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!1,input:["text","image"],cost:{input:.08,output:.16,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:131072,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:google/gemma-3-4b-it":{id:"google/gemma-3-4b-it",name:"Gemma 3 4B IT",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!1,input:["text","image"],cost:{input:.05,output:.1,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:131072,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:google/gemma-4-26B-A4B-it":{id:"google/gemma-4-26B-A4B-it",name:"Gemma 4 26B A4B IT",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text","image"],cost:{input:.13,output:.4,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:262144,maxTokens:32768,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:google/gemma-4-31B-it":{id:"google/gemma-4-31B-it",name:"Gemma 4 31B IT",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text","image"],cost:{input:.14,output:.4,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:262144,maxTokens:32768,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:meta-llama/Llama-3.1-8B-Instruct":{id:"meta-llama/Llama-3.1-8B-Instruct",name:"Llama-3.1-8B-Instruct",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!1,input:["text"],cost:{input:.06,output:.06,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:131072,maxTokens:4096,type:"chat"},"chat:meta-llama/Llama-3.3-70B-Instruct":{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama-3.3-70B-Instruct",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!1,input:["text"],cost:{input:.59,output:.79,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:131072,maxTokens:4096,type:"chat"},"chat:MiniMaxAI/MiniMax-M1-80k":{id:"MiniMaxAI/MiniMax-M1-80k",name:"MiniMax M1 80K",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text"],cost:{input:.55,output:2.2,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:1e6,maxTokens:8e4,type:"chat"},"chat:MiniMaxAI/MiniMax-M2":{id:"MiniMaxAI/MiniMax-M2",name:"MiniMax-M2",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text"],cost:{input:.3,output:1.2,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:204800,maxTokens:131072,type:"chat"},"chat:MiniMaxAI/MiniMax-M2.1":{id:"MiniMaxAI/MiniMax-M2.1",name:"MiniMax-M2.1",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text"],cost:{input:.3,output:1.2,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:204800,maxTokens:131072,type:"chat"},"chat:MiniMaxAI/MiniMax-M2.5":{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax-M2.5",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text"],cost:{input:.3,output:1.2,cacheRead:.03,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:204800,maxTokens:131072,type:"chat"},"chat:MiniMaxAI/MiniMax-M2.7":{id:"MiniMaxAI/MiniMax-M2.7",name:"MiniMax-M2.7",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text"],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:204800,maxTokens:131072,type:"chat"},"chat:MiniMaxAI/MiniMax-M3":{id:"MiniMaxAI/MiniMax-M3",name:"MiniMax-M3",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text","image"],cost:{input:.3,output:1.2,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:524288,maxTokens:512e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:moonshotai/Kimi-K2-Instruct":{id:"moonshotai/Kimi-K2-Instruct",name:"Kimi-K2-Instruct",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!1,input:["text"],cost:{input:1,output:3,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:131072,maxTokens:16384,type:"chat"},"chat:moonshotai/Kimi-K2-Instruct-0905":{id:"moonshotai/Kimi-K2-Instruct-0905",name:"Kimi-K2-Instruct-0905",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!1,input:["text"],cost:{input:1,output:3,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:262144,maxTokens:16384,type:"chat"},"chat:moonshotai/Kimi-K2-Thinking":{id:"moonshotai/Kimi-K2-Thinking",name:"Kimi-K2-Thinking",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text"],cost:{input:.6,output:2.5,cacheRead:.15,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:262144,maxTokens:262144,type:"chat"},"chat:moonshotai/Kimi-K2.5":{id:"moonshotai/Kimi-K2.5",name:"Kimi-K2.5",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text","image"],cost:{input:.6,output:3,cacheRead:.1,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:262144,maxTokens:262144,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:moonshotai/Kimi-K2.6":{id:"moonshotai/Kimi-K2.6",name:"Kimi-K2.6",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text","image"],cost:{input:.95,output:4,cacheRead:.16,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:262144,maxTokens:262144,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:moonshotai/Kimi-K2.7-Code":{id:"moonshotai/Kimi-K2.7-Code",name:"Kimi K2.7 Code",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text","image"],cost:{input:.95,output:4,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:262144,maxTokens:262144,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:moonshotai/Kimi-K3":{id:"moonshotai/Kimi-K3",name:"Kimi K3",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:1e6,maxTokens:131072,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text"],cost:{input:.25,output:.69,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:131072,maxTokens:32768,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},type:"chat"},"chat:openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text"],cost:{input:.1,output:.5,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:131072,maxTokens:32768,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},type:"chat"},"chat:Qwen/Qwen2.5-Coder-32B-Instruct":{id:"Qwen/Qwen2.5-Coder-32B-Instruct",name:"Qwen2.5-Coder-32B-Instruct",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!1,input:["text"],cost:{input:.06,output:.2,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:131072,maxTokens:8192,type:"chat"},"chat:Qwen/Qwen3-235B-A22B":{id:"Qwen/Qwen3-235B-A22B",name:"Qwen3 235B-A22B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text"],cost:{input:.2,output:.8,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:40960,maxTokens:16384,type:"chat"},"chat:Qwen/Qwen3-235B-A22B-Instruct-2507":{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B-A22B Instruct 2507",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!1,input:["text"],cost:{input:.855,output:2.565,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:262144,maxTokens:16384,type:"chat"},"chat:Qwen/Qwen3-235B-A22B-Thinking-2507":{id:"Qwen/Qwen3-235B-A22B-Thinking-2507",name:"Qwen3-235B-A22B-Thinking-2507",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text"],cost:{input:.3,output:3,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:262144,maxTokens:131072,type:"chat"},"chat:Qwen/Qwen3-30B-A3B":{id:"Qwen/Qwen3-30B-A3B",name:"Qwen3 30B A3B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text"],cost:{input:.12,output:.5,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:40960,maxTokens:16384,type:"chat"},"chat:Qwen/Qwen3-32B":{id:"Qwen/Qwen3-32B",name:"Qwen3 32B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text"],cost:{input:.29,output:.59,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:131072,maxTokens:16384,type:"chat"},"chat:Qwen/Qwen3-Coder-30B-A3B-Instruct":{id:"Qwen/Qwen3-Coder-30B-A3B-Instruct",name:"Qwen3-Coder 30B-A3B Instruct",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!1,input:["text"],cost:{input:.07,output:.26,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:262144,maxTokens:65536,type:"chat"},"chat:Qwen/Qwen3-Coder-480B-A35B-Instruct":{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3-Coder-480B-A35B-Instruct",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!1,input:["text"],cost:{input:2,output:2,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:262144,maxTokens:66536,type:"chat"},"chat:Qwen/Qwen3-Coder-Next":{id:"Qwen/Qwen3-Coder-Next",name:"Qwen3-Coder-Next",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!1,input:["text"],cost:{input:.2,output:1.5,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:262144,maxTokens:65536,type:"chat"},"chat:Qwen/Qwen3-Next-80B-A3B-Instruct":{id:"Qwen/Qwen3-Next-80B-A3B-Instruct",name:"Qwen3-Next-80B-A3B-Instruct",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!1,input:["text"],cost:{input:.25,output:1,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:262144,maxTokens:66536,type:"chat"},"chat:Qwen/Qwen3-Next-80B-A3B-Thinking":{id:"Qwen/Qwen3-Next-80B-A3B-Thinking",name:"Qwen3-Next-80B-A3B-Thinking",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!1,input:["text"],cost:{input:.3,output:2,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:262144,maxTokens:131072,type:"chat"},"chat:Qwen/Qwen3-VL-235B-A22B-Instruct":{id:"Qwen/Qwen3-VL-235B-A22B-Instruct",name:"Qwen3 VL 235B A22B Instruct",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!1,input:["text","image"],cost:{input:.3,output:1.5,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:131072,maxTokens:32768,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:Qwen/Qwen3-VL-235B-A22B-Thinking":{id:"Qwen/Qwen3-VL-235B-A22B-Thinking",name:"Qwen3 VL 235B A22B Thinking",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text","image"],cost:{input:.98,output:3.95,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:131072,maxTokens:32768,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:Qwen/Qwen3-VL-30B-A3B-Instruct":{id:"Qwen/Qwen3-VL-30B-A3B-Instruct",name:"Qwen3 VL 30B A3B Instruct",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!1,input:["text","image"],cost:{input:.2,output:.7,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:131072,maxTokens:32768,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:Qwen/Qwen3.5-122B-A10B":{id:"Qwen/Qwen3.5-122B-A10B",name:"Qwen3.5 122B-A10B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text","image"],cost:{input:.4,output:3.2,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:262144,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:Qwen/Qwen3.5-27B":{id:"Qwen/Qwen3.5-27B",name:"Qwen3.5 27B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text","image"],cost:{input:.3,output:2.4,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:262144,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:Qwen/Qwen3.5-35B-A3B":{id:"Qwen/Qwen3.5-35B-A3B",name:"Qwen3.5 35B-A3B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text","image"],cost:{input:.25,output:2,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:262144,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:Qwen/Qwen3.5-397B-A17B":{id:"Qwen/Qwen3.5-397B-A17B",name:"Qwen3.5-397B-A17B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text","image"],cost:{input:.6,output:3.6,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:262144,maxTokens:32768,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:Qwen/Qwen3.5-9B":{id:"Qwen/Qwen3.5-9B",name:"Qwen3.5 9B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text","image"],cost:{input:.17,output:.25,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:262144,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:Qwen/Qwen3.6-27B":{id:"Qwen/Qwen3.6-27B",name:"Qwen3.6 27B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text","image"],cost:{input:.47,output:3.19,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:262144,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:Qwen/Qwen3.6-35B-A3B":{id:"Qwen/Qwen3.6-35B-A3B",name:"Qwen3.6 35B-A3B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text","image"],cost:{input:.15,output:.95,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:262144,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:Qwen/Qwen3.8-2.4T-A95B":{id:"Qwen/Qwen3.8-2.4T-A95B",name:"Qwen3.8 2.4T A95B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text"],cost:{input:2.5,output:6.25,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:262144,maxTokens:131072,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:null,xhigh:"xhigh",max:null},type:"chat"},"chat:Qwen/Qwen3.8-27B":{id:"Qwen/Qwen3.8-27B",name:"Qwen3.8 27B",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text","image"],cost:{input:.4,output:3,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:262144,maxTokens:32768,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:null,xhigh:"xhigh",max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:stepfun-ai/Step-3.5-Flash":{id:"stepfun-ai/Step-3.5-Flash",name:"Step 3.5 Flash",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text"],cost:{input:.1,output:.3,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:262144,maxTokens:256e3,type:"chat"},"chat:stepfun-ai/Step-3.7-Flash":{id:"stepfun-ai/Step-3.7-Flash",name:"Step 3.7 Flash",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text","image"],cost:{input:.2,output:1.15,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:262144,maxTokens:256e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:tencent/Hy3":{id:"tencent/Hy3",name:"Hy3",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text"],cost:{input:.14,output:.58,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:262144,maxTokens:128e3,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:null},type:"chat"},"chat:tencent/Hy4-preview":{id:"tencent/Hy4-preview",name:"Hy4 preview",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text"],cost:{input:.834,output:2.501,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:1e6,maxTokens:64e3,thinkingLevelMap:{off:"none",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},type:"chat"},"chat:thinkingmachines/Inkling":{id:"thinkingmachines/Inkling",name:"Inkling",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text","image"],cost:{input:1,output:4.05,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:1048576,maxTokens:1048576,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:thinkingmachines/Inkling-Small":{id:"thinkingmachines/Inkling-Small",name:"Inkling Small",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text","image"],cost:{input:.5,output:1.2,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:524288,maxTokens:1048576,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:XiaomiMiMo/MiMo-V2-Flash":{id:"XiaomiMiMo/MiMo-V2-Flash",name:"MiMo-V2-Flash",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text"],cost:{input:.1,output:.3,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:262144,maxTokens:4096,type:"chat"},"chat:XiaomiMiMo/MiMo-V2.5":{id:"XiaomiMiMo/MiMo-V2.5",name:"MiMo-V2.5",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text"],cost:{input:.4,output:2,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:262144,maxTokens:131072,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},type:"chat"},"chat:XiaomiMiMo/MiMo-V2.5-Pro":{id:"XiaomiMiMo/MiMo-V2.5-Pro",name:"MiMo-V2.5-Pro",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text"],cost:{input:1,output:3,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:1048576,maxTokens:131072,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},type:"chat"},"chat:zai-org/GLM-4.5":{id:"zai-org/GLM-4.5",name:"GLM-4.5",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text"],cost:{input:.6,output:2.2,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:131072,maxTokens:98304,type:"chat"},"chat:zai-org/GLM-4.5-Air":{id:"zai-org/GLM-4.5-Air",name:"GLM-4.5-Air",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text"],cost:{input:.13,output:.85,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:131072,maxTokens:98304,type:"chat"},"chat:zai-org/GLM-4.5V":{id:"zai-org/GLM-4.5V",name:"GLM-4.5V",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text","image"],cost:{input:.6,output:1.8,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:65536,maxTokens:16384,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:zai-org/GLM-4.6":{id:"zai-org/GLM-4.6",name:"GLM-4.6",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text"],cost:{input:.55,output:2.2,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:204800,maxTokens:131072,type:"chat"},"chat:zai-org/GLM-4.6V-Flash":{id:"zai-org/GLM-4.6V-Flash",name:"GLM-4.6V-Flash",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text","image"],cost:{input:.3,output:.9,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:131072,maxTokens:32768,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:zai-org/GLM-4.7":{id:"zai-org/GLM-4.7",name:"GLM-4.7",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text"],cost:{input:.6,output:2.2,cacheRead:.11,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:204800,maxTokens:131072,type:"chat"},"chat:zai-org/GLM-4.7-Flash":{id:"zai-org/GLM-4.7-Flash",name:"GLM-4.7-Flash",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:2e5,maxTokens:128e3,type:"chat"},"chat:zai-org/GLM-5":{id:"zai-org/GLM-5",name:"GLM-5",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text"],cost:{input:1,output:3.2,cacheRead:.2,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:202752,maxTokens:131072,type:"chat"},"chat:zai-org/GLM-5.1":{id:"zai-org/GLM-5.1",name:"GLM-5.1",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text"],cost:{input:1,output:3.2,cacheRead:.2,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:202752,maxTokens:131072,type:"chat"},"chat:zai-org/GLM-5.2":{id:"zai-org/GLM-5.2",name:"GLM-5.2",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text"],cost:{input:1.4,output:4.4,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:262144,maxTokens:131072,type:"chat"},"chat:zai-org/GLM-5.3":{id:"zai-org/GLM-5.3",name:"GLM-5.3",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text"],cost:{input:1.4,output:4.4,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:1048576,maxTokens:131072,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},type:"chat"},"chat:zai-org/GLM-5.3-Flash":{id:"zai-org/GLM-5.3-Flash",name:"GLM-5.3-Flash",api:"openai-completions",provider:"huggingface",baseUrl:"https://router.huggingface.co/v1",reasoning:!0,input:["text","image"],cost:{input:.15,output:.5,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},contextWindow:1048576,maxTokens:131072,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}}};var HUGGINGFACE_MODELS=flattenChatModelCatalog("huggingface",huggingface_default),HUGGINGFACE_IMAGE_MODELS=flattenImageModelCatalog("huggingface",huggingface_default),HUGGINGFACE_CLASSIFIER_MODELS=flattenClassifierModelCatalog("huggingface",huggingface_default);var kimi_coding_default={"openai-completions":{"chat:k3":{id:"k3",name:"Kimi K3",api:"openai-completions",provider:"kimi-coding",baseUrl:"https://api.kimi.com/coding/v1",compat:{supportsStrictMode:!1,supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!0,maxTokensField:"max_tokens",thinkingFormat:"openai",requiresReasoningContentOnAssistantMessages:!0,supportsMidConvoSystemMessages:!0,supportsMidConvoToolAdditions:!0},reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:0},contextWindow:1048576,maxTokens:131072,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:k3-256k":{id:"k3-256k",name:"Kimi K3-256K",api:"openai-completions",provider:"kimi-coding",baseUrl:"https://api.kimi.com/coding/v1",compat:{supportsStrictMode:!1,supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!0,maxTokensField:"max_tokens",thinkingFormat:"openai",requiresReasoningContentOnAssistantMessages:!0,supportsMidConvoSystemMessages:!0,supportsMidConvoToolAdditions:!0},reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:kimi-for-coding":{id:"kimi-for-coding",name:"kimi-for-coding",api:"openai-completions",provider:"kimi-coding",baseUrl:"https://api.kimi.com/coding/v1",compat:{supportsStrictMode:!1,supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!0,maxTokensField:"max_tokens",thinkingFormat:"openai",requiresReasoningContentOnAssistantMessages:!0,supportsMidConvoSystemMessages:!0,supportsMidConvoToolAdditions:!0},reasoning:!0,input:["text","image"],cost:{input:.95,output:4,cacheRead:.19,cacheWrite:0},contextWindow:1048576,maxTokens:32768,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:kimi-for-coding-highspeed":{id:"kimi-for-coding-highspeed",name:"Kimi For Coding HighSpeed",api:"openai-completions",provider:"kimi-coding",baseUrl:"https://api.kimi.com/coding/v1",compat:{supportsStrictMode:!1,supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",thinkingFormat:"deepseek",supportsMidConvoSystemMessages:!0},reasoning:!0,input:["text","image"],cost:{input:1.9,output:8,cacheRead:.38,cacheWrite:0},contextWindow:262144,maxTokens:32768,thinkingLevelMap:{off:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}}};var KIMI_CODING_MODELS=flattenChatModelCatalog("kimi-coding",kimi_coding_default),KIMI_CODING_IMAGE_MODELS=flattenImageModelCatalog("kimi-coding",kimi_coding_default),KIMI_CODING_CLASSIFIER_MODELS=flattenClassifierModelCatalog("kimi-coding",kimi_coding_default);var meta_default={"openai-responses":{"chat:muse-spark-1.1":{id:"muse-spark-1.1",name:"Muse Spark 1.1",api:"openai-responses",provider:"meta",baseUrl:"https://api.meta.ai/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:4.25,cacheRead:.15,cacheWrite:0},contextWindow:1048576,maxTokens:131072,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:muse-spark-1.2":{id:"muse-spark-1.2",name:"Muse Spark 1.2",api:"openai-responses",provider:"meta",baseUrl:"https://api.meta.ai/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:4.25,cacheRead:.15,cacheWrite:0},contextWindow:1048576,maxTokens:131072,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:muse-spark-1.2-contributor":{id:"muse-spark-1.2-contributor",name:"Muse Spark 1.2 Contributor",api:"openai-responses",provider:"meta",baseUrl:"https://api.meta.ai/v1",reasoning:!0,input:["text","image"],cost:{input:.1,output:.2,cacheRead:.002,cacheWrite:0},contextWindow:1048576,maxTokens:131072,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:muse-spark-1.3":{id:"muse-spark-1.3",name:"Muse Spark 1.3",api:"openai-responses",provider:"meta",baseUrl:"https://api.meta.ai/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:4.25,cacheRead:.15,cacheWrite:0},contextWindow:1048576,maxTokens:131072,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:muse-spark-1.3-contributor":{id:"muse-spark-1.3-contributor",name:"Muse Spark 1.3 Contributor",api:"openai-responses",provider:"meta",baseUrl:"https://api.meta.ai/v1",reasoning:!0,input:["text","image"],cost:{input:.1,output:.2,cacheRead:.002,cacheWrite:0},contextWindow:1048576,maxTokens:131072,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:muse-wonder-1.0":{id:"muse-wonder-1.0",name:"Muse Wonder",api:"openai-responses",provider:"meta",baseUrl:"https://api.meta.ai/v1",reasoning:!0,input:["text","image"],cost:{input:4,output:20,cacheRead:.2,cacheWrite:0},contextWindow:1048576,maxTokens:131072,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}}};var META_MODELS=flattenChatModelCatalog("meta",meta_default),META_IMAGE_MODELS=flattenImageModelCatalog("meta",meta_default),META_CLASSIFIER_MODELS=flattenClassifierModelCatalog("meta",meta_default);var minimax_default={"anthropic-messages":{"chat:MiniMax-M2.7":{id:"MiniMax-M2.7",name:"MiniMax-M2.7",api:"anthropic-messages",provider:"minimax",baseUrl:"https://api.minimax.io/anthropic",reasoning:!0,input:["text"],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:.375},contextWindow:204800,maxTokens:131072,type:"chat"},"chat:MiniMax-M2.7-highspeed":{id:"MiniMax-M2.7-highspeed",name:"MiniMax-M2.7-highspeed",api:"anthropic-messages",provider:"minimax",baseUrl:"https://api.minimax.io/anthropic",reasoning:!0,input:["text"],cost:{input:.6,output:2.4,cacheRead:.06,cacheWrite:.375},contextWindow:204800,maxTokens:131072,type:"chat"},"chat:MiniMax-M3":{id:"MiniMax-M3",name:"MiniMax-M3",api:"anthropic-messages",provider:"minimax",baseUrl:"https://api.minimax.io/anthropic",reasoning:!0,input:["text","image"],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:0,tiers:[{inputTokensAbove:512e3,input:.6,output:2.4,cacheRead:.12,cacheWrite:0}]},contextWindow:1e6,maxTokens:524288,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:MiniMax-M3.1-Flash":{id:"MiniMax-M3.1-Flash",name:"MiniMax-M3.1-Flash",api:"anthropic-messages",provider:"minimax",baseUrl:"https://api.minimax.io/anthropic",reasoning:!0,input:["text","image"],cost:{input:.15,output:.6,cacheRead:.015,cacheWrite:0},contextWindow:1e6,maxTokens:524288,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{forceAdaptiveThinking:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}}};var MINIMAX_MODELS=flattenChatModelCatalog("minimax",minimax_default),MINIMAX_IMAGE_MODELS=flattenImageModelCatalog("minimax",minimax_default),MINIMAX_CLASSIFIER_MODELS=flattenClassifierModelCatalog("minimax",minimax_default);var minimax_cn_default={"anthropic-messages":{"chat:MiniMax-M2.7":{id:"MiniMax-M2.7",name:"MiniMax-M2.7",api:"anthropic-messages",provider:"minimax-cn",baseUrl:"https://api.minimaxi.com/anthropic",reasoning:!0,input:["text"],cost:{input:.3137,output:1.2549,cacheRead:.0627,cacheWrite:.3922},contextWindow:204800,maxTokens:131072,type:"chat"},"chat:MiniMax-M2.7-highspeed":{id:"MiniMax-M2.7-highspeed",name:"MiniMax-M2.7-highspeed",api:"anthropic-messages",provider:"minimax-cn",baseUrl:"https://api.minimaxi.com/anthropic",reasoning:!0,input:["text"],cost:{input:.6275,output:2.5098,cacheRead:.0627,cacheWrite:.3922},contextWindow:204800,maxTokens:131072,type:"chat"},"chat:MiniMax-M3":{id:"MiniMax-M3",name:"MiniMax-M3",api:"anthropic-messages",provider:"minimax-cn",baseUrl:"https://api.minimaxi.com/anthropic",reasoning:!0,input:["text","image"],cost:{input:.3137,output:1.2549,cacheRead:.0627,cacheWrite:0,tiers:[{inputTokensAbove:512e3,input:.6275,output:2.5098,cacheRead:.1255,cacheWrite:0}]},contextWindow:1e6,maxTokens:524288,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:MiniMax-M3.1-Flash":{id:"MiniMax-M3.1-Flash",name:"MiniMax-M3.1-Flash",api:"anthropic-messages",provider:"minimax-cn",baseUrl:"https://api.minimaxi.com/anthropic",reasoning:!0,input:["text","image"],cost:{input:.1494,output:.5976,cacheRead:.0149,cacheWrite:0},contextWindow:1e6,maxTokens:524288,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{forceAdaptiveThinking:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}}};var MINIMAX_CN_MODELS=flattenChatModelCatalog("minimax-cn",minimax_cn_default),MINIMAX_CN_IMAGE_MODELS=flattenImageModelCatalog("minimax-cn",minimax_cn_default),MINIMAX_CN_CLASSIFIER_MODELS=flattenClassifierModelCatalog("minimax-cn",minimax_cn_default);var mistral_default={"mistral-conversations":{"chat:codestral-2508":{id:"codestral-2508",name:"Codestral 25.08",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:.3,output:.9,cacheRead:.03,cacheWrite:0},contextWindow:256e3,maxTokens:8192,type:"chat"},"chat:codestral-latest":{id:"codestral-latest",name:"Codestral (latest)",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:.3,output:.9,cacheRead:.03,cacheWrite:0},contextWindow:256e3,maxTokens:4096,type:"chat"},"chat:devstral-2512":{id:"devstral-2512",name:"Devstral 2",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:.4,output:2,cacheRead:.04,cacheWrite:0},contextWindow:262144,maxTokens:262144,type:"chat"},"chat:devstral-latest":{id:"devstral-latest",name:"Devstral 2",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:.4,output:2,cacheRead:.04,cacheWrite:0},contextWindow:262144,maxTokens:262144,type:"chat"},"chat:devstral-medium-2507":{id:"devstral-medium-2507",name:"Devstral Medium",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:.4,output:2,cacheRead:.04,cacheWrite:0},contextWindow:128e3,maxTokens:128e3,type:"chat"},"chat:devstral-medium-latest":{id:"devstral-medium-latest",name:"Devstral 2 (latest)",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:.4,output:2,cacheRead:.04,cacheWrite:0},contextWindow:262144,maxTokens:262144,type:"chat"},"chat:devstral-small-2505":{id:"devstral-small-2505",name:"Devstral Small 2505",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:.1,output:.3,cacheRead:.01,cacheWrite:0},contextWindow:128e3,maxTokens:128e3,type:"chat"},"chat:devstral-small-2507":{id:"devstral-small-2507",name:"Devstral Small",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:.1,output:.3,cacheRead:.01,cacheWrite:0},contextWindow:128e3,maxTokens:128e3,type:"chat"},"chat:glm-5-2":{id:"glm-5-2",name:"GLM-5.2",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:"max"},input:["text"],cost:{input:1.4,output:4.4,cacheRead:.14,cacheWrite:0},contextWindow:1048576,maxTokens:131072,type:"chat"},"chat:labs-devstral-small-2512":{id:"labs-devstral-small-2512",name:"Devstral Small 2",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:labs-leanstral-1-5-1":{id:"labs-leanstral-1-5-1",name:"Leanstral 1.5",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:128e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:magistral-medium-latest":{id:"magistral-medium-latest",name:"Magistral Medium (latest)",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:2,output:5,cacheRead:.2,cacheWrite:0},contextWindow:262144,maxTokens:16384,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:ministral-14b-2512":{id:"ministral-14b-2512",name:"Ministral 3 14B",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text","image"],cost:{input:.2,output:.2,cacheRead:.02,cacheWrite:0},contextWindow:262144,maxTokens:262144,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:ministral-3b-2512":{id:"ministral-3b-2512",name:"Ministral 3 3B",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text","image"],cost:{input:.1,output:.1,cacheRead:.01,cacheWrite:0},contextWindow:131072,maxTokens:262144,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:ministral-3b-latest":{id:"ministral-3b-latest",name:"Ministral 3B (latest)",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text","image"],cost:{input:.1,output:.1,cacheRead:.01,cacheWrite:0},contextWindow:131072,maxTokens:128e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:ministral-8b-2512":{id:"ministral-8b-2512",name:"Ministral 3 8B",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text","image"],cost:{input:.15,output:.15,cacheRead:.015,cacheWrite:0},contextWindow:262144,maxTokens:262144,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:ministral-8b-latest":{id:"ministral-8b-latest",name:"Ministral 8B (latest)",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text","image"],cost:{input:.15,output:.15,cacheRead:.015,cacheWrite:0},contextWindow:262144,maxTokens:128e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:mistral-large-2411":{id:"mistral-large-2411",name:"Mistral Large 2.1",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:2,output:6,cacheRead:.2,cacheWrite:0},contextWindow:131072,maxTokens:16384,type:"chat"},"chat:mistral-large-2512":{id:"mistral-large-2512",name:"Mistral Large 3",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text","image"],cost:{input:.5,output:1.5,cacheRead:.05,cacheWrite:0},contextWindow:262144,maxTokens:262144,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:mistral-large-4":{id:"mistral-large-4",name:"Mistral Large 4",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.68,output:2.09,cacheRead:.07,cacheWrite:0},contextWindow:1048576,maxTokens:262144,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:mistral-large-latest":{id:"mistral-large-latest",name:"Mistral Large (latest)",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text","image"],cost:{input:.5,output:1.5,cacheRead:.05,cacheWrite:0},contextWindow:262144,maxTokens:262144,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:mistral-medium-2505":{id:"mistral-medium-2505",name:"Mistral Medium 3",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text","image"],cost:{input:.4,output:2,cacheRead:.04,cacheWrite:0},contextWindow:131072,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:mistral-medium-2508":{id:"mistral-medium-2508",name:"Mistral Medium 3.1",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text","image"],cost:{input:.4,output:2,cacheRead:.04,cacheWrite:0},contextWindow:262144,maxTokens:262144,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:mistral-medium-2604":{id:"mistral-medium-2604",name:"Mistral Medium 3.5",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:1.5,output:7.5,cacheRead:.15,cacheWrite:0},contextWindow:262144,maxTokens:262144,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:mistral-medium-3.5":{id:"mistral-medium-3.5",name:"Mistral Medium 3.5",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:1.5,output:7.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:mistral-medium-latest":{id:"mistral-medium-latest",name:"Mistral Medium (latest)",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:1.5,output:7.5,cacheRead:.15,cacheWrite:0},contextWindow:262144,maxTokens:262144,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:mistral-nemo":{id:"mistral-nemo",name:"Mistral Nemo",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:.15,output:.15,cacheRead:.015,cacheWrite:0},contextWindow:128e3,maxTokens:128e3,type:"chat"},"chat:mistral-small-2506":{id:"mistral-small-2506",name:"Mistral Small 3.2",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text","image"],cost:{input:.1,output:.3,cacheRead:.01,cacheWrite:0},contextWindow:128e3,maxTokens:16384,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:mistral-small-2603":{id:"mistral-small-2603",name:"Mistral Small 4",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.15,output:.6,cacheRead:.015,cacheWrite:0},contextWindow:262144,maxTokens:256e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:mistral-small-latest":{id:"mistral-small-latest",name:"Mistral Small (latest)",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.15,output:.6,cacheRead:.015,cacheWrite:0},contextWindow:262144,maxTokens:256e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:open-mistral-nemo":{id:"open-mistral-nemo",name:"Open Mistral Nemo",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:.15,output:.15,cacheRead:.015,cacheWrite:0},contextWindow:128e3,maxTokens:128e3,type:"chat"},"chat:pixtral-12b":{id:"pixtral-12b",name:"Pixtral 12B",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text","image"],cost:{input:.15,output:.15,cacheRead:.015,cacheWrite:0},contextWindow:128e3,maxTokens:128e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:pixtral-large-latest":{id:"pixtral-large-latest",name:"Pixtral Large (latest)",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text","image"],cost:{input:2,output:6,cacheRead:.2,cacheWrite:0},contextWindow:128e3,maxTokens:128e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:voxtral-small-2507":{id:"voxtral-small-2507",name:"Voxtral Small",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:.1,output:.4,cacheRead:.01,cacheWrite:0},contextWindow:32768,maxTokens:32e3,type:"chat"},"chat:voxtral-small-latest":{id:"voxtral-small-latest",name:"Voxtral Small (latest)",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:.1,output:.4,cacheRead:.01,cacheWrite:0},contextWindow:32768,maxTokens:32e3,type:"chat"},"chat:zai-glm-5-2":{id:"zai-glm-5-2",name:"GLM-5.2",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:"max"},input:["text"],cost:{input:1.4,output:4.4,cacheRead:.14,cacheWrite:0},contextWindow:1048576,maxTokens:131072,type:"chat"},"chat:zai-glm-5-3":{id:"zai-glm-5-3",name:"GLM-5.3",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text"],cost:{input:1.4,output:4.4,cacheRead:.14,cacheWrite:0},contextWindow:1048576,maxTokens:131072,type:"chat"}}};var MISTRAL_MODELS=flattenChatModelCatalog("mistral",mistral_default),MISTRAL_IMAGE_MODELS=flattenImageModelCatalog("mistral",mistral_default),MISTRAL_CLASSIFIER_MODELS=flattenClassifierModelCatalog("mistral",mistral_default);var moonshotai_default={"openai-completions":{"chat:kimi-k2.6":{id:"kimi-k2.6",name:"Kimi K2.6",api:"openai-completions",provider:"moonshotai",baseUrl:"https://api.moonshot.ai/v1",reasoning:!0,input:["text","image"],cost:{input:.95,output:4,cacheRead:.16,cacheWrite:0},contextWindow:262144,maxTokens:262144,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsStrictMode:!1,thinkingFormat:"deepseek",supportsMidConvoSystemMessages:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:kimi-k2.7-code":{id:"kimi-k2.7-code",name:"Kimi K2.7 Code",api:"openai-completions",provider:"moonshotai",baseUrl:"https://api.moonshot.ai/v1",reasoning:!0,input:["text","image"],cost:{input:.95,output:4,cacheRead:.19,cacheWrite:0},contextWindow:262144,maxTokens:262144,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsStrictMode:!1,thinkingFormat:"deepseek",supportsMidConvoSystemMessages:!0},thinkingLevelMap:{off:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:kimi-k2.7-code-highspeed":{id:"kimi-k2.7-code-highspeed",name:"Kimi K2.7 Code HighSpeed",api:"openai-completions",provider:"moonshotai",baseUrl:"https://api.moonshot.ai/v1",reasoning:!0,input:["text","image"],cost:{input:1.9,output:8,cacheRead:.38,cacheWrite:0},contextWindow:262144,maxTokens:262144,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsStrictMode:!1,thinkingFormat:"deepseek",supportsMidConvoSystemMessages:!0},thinkingLevelMap:{off:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:kimi-k3":{id:"kimi-k3",name:"Kimi K3",api:"openai-completions",provider:"moonshotai",baseUrl:"https://api.moonshot.ai/v1",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:0},contextWindow:1048576,maxTokens:1048576,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!0,maxTokensField:"max_tokens",supportsStrictMode:!1,thinkingFormat:"openai",requiresReasoningContentOnAssistantMessages:!0,supportsMidConvoSystemMessages:!0,supportsMidConvoToolAdditions:!0},thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}}};var MOONSHOTAI_MODELS=flattenChatModelCatalog("moonshotai",moonshotai_default),MOONSHOTAI_IMAGE_MODELS=flattenImageModelCatalog("moonshotai",moonshotai_default),MOONSHOTAI_CLASSIFIER_MODELS=flattenClassifierModelCatalog("moonshotai",moonshotai_default);var moonshotai_cn_default={"openai-completions":{"chat:kimi-k2.6":{id:"kimi-k2.6",name:"Kimi K2.6",api:"openai-completions",provider:"moonshotai-cn",baseUrl:"https://api.moonshot.cn/v1",reasoning:!0,input:["text","image"],cost:{input:.9711,output:4.0337,cacheRead:.1643,cacheWrite:0},contextWindow:262144,maxTokens:262144,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsStrictMode:!1,thinkingFormat:"deepseek",supportsMidConvoSystemMessages:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:kimi-k2.7-code":{id:"kimi-k2.7-code",name:"Kimi K2.7 Code",api:"openai-completions",provider:"moonshotai-cn",baseUrl:"https://api.moonshot.cn/v1",reasoning:!0,input:["text","image"],cost:{input:.9711,output:4.0337,cacheRead:.1942,cacheWrite:0},contextWindow:262144,maxTokens:262144,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsStrictMode:!1,thinkingFormat:"deepseek",supportsMidConvoSystemMessages:!0},thinkingLevelMap:{off:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:kimi-k2.7-code-highspeed":{id:"kimi-k2.7-code-highspeed",name:"Kimi K2.7 Code HighSpeed",api:"openai-completions",provider:"moonshotai-cn",baseUrl:"https://api.moonshot.cn/v1",reasoning:!0,input:["text","image"],cost:{input:1.9421,output:8.0673,cacheRead:.3884,cacheWrite:0},contextWindow:262144,maxTokens:262144,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsStrictMode:!1,thinkingFormat:"deepseek",supportsMidConvoSystemMessages:!0},thinkingLevelMap:{off:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:kimi-k3":{id:"kimi-k3",name:"Kimi K3",api:"openai-completions",provider:"moonshotai-cn",baseUrl:"https://api.moonshot.cn/v1",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:0},contextWindow:1048576,maxTokens:1048576,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!0,maxTokensField:"max_tokens",supportsStrictMode:!1,thinkingFormat:"openai",requiresReasoningContentOnAssistantMessages:!0,supportsMidConvoSystemMessages:!0,supportsMidConvoToolAdditions:!0},thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}}};var MOONSHOTAI_CN_MODELS=flattenChatModelCatalog("moonshotai-cn",moonshotai_cn_default),MOONSHOTAI_CN_IMAGE_MODELS=flattenImageModelCatalog("moonshotai-cn",moonshotai_cn_default),MOONSHOTAI_CN_CLASSIFIER_MODELS=flattenClassifierModelCatalog("moonshotai-cn",moonshotai_cn_default);var nvidia_default={"openai-completions":{"chat:deepseek-ai/deepseek-v4.1-flash":{id:"deepseek-ai/deepseek-v4.1-flash",name:"DeepSeek V4.1 Flash",api:"openai-completions",provider:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1",headers:{"NVCF-POLL-SECONDS":"3600"},reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,supportsStrictMode:!1,requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek"},contextWindow:1e6,maxTokens:384e3,thinkingLevelMap:{minimal:null,low:null,medium:null,high:"high",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:google/diffusiongemma-26b-a4b-it":{id:"google/diffusiongemma-26b-a4b-it",name:"DiffusionGemma 26B A4B IT",api:"openai-completions",provider:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1",headers:{"NVCF-POLL-SECONDS":"3600"},reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:25e4,maxTokens:32768,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:google/gemma-3-12b-it":{id:"google/gemma-3-12b-it",name:"Gemma 3 12B IT",api:"openai-completions",provider:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1",headers:{"NVCF-POLL-SECONDS":"3600"},reasoning:!1,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:131072,maxTokens:16384,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:google/gemma-3-4b-it":{id:"google/gemma-3-4b-it",name:"Gemma 3 4B IT",api:"openai-completions",provider:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1",headers:{"NVCF-POLL-SECONDS":"3600"},reasoning:!1,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:131072,maxTokens:16384,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:meta/llama-3.2-11b-vision-instruct":{id:"meta/llama-3.2-11b-vision-instruct",name:"Llama 3.2 11b Vision Instruct",api:"openai-completions",provider:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1",headers:{"NVCF-POLL-SECONDS":"3600"},reasoning:!1,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:128e3,maxTokens:4096,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:meta/llama-3.2-90b-vision-instruct":{id:"meta/llama-3.2-90b-vision-instruct",name:"Llama-3.2-90B-Vision-Instruct",api:"openai-completions",provider:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1",headers:{"NVCF-POLL-SECONDS":"3600"},reasoning:!1,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:128e3,maxTokens:8192,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:meta/muse-glimmer-30b":{id:"meta/muse-glimmer-30b",name:"Muse Glimmer 30B",api:"openai-completions",provider:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1",headers:{"NVCF-POLL-SECONDS":"3600"},reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:131072,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:mistralai/mistral-7b-instruct-v0.3":{id:"mistralai/mistral-7b-instruct-v0.3",name:"Mistral-7B-Instruct-v0.3",api:"openai-completions",provider:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1",headers:{"NVCF-POLL-SECONDS":"3600"},reasoning:!1,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:65536,maxTokens:65536,type:"chat"},"chat:moonshotai/kimi-k2.6":{id:"moonshotai/kimi-k2.6",name:"Kimi K2.6",api:"openai-completions",provider:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1",headers:{"NVCF-POLL-SECONDS":"3600"},reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:262144,maxTokens:262144,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:nvidia/cosmos-reason2-8b":{id:"nvidia/cosmos-reason2-8b",name:"Cosmos Reason2 8B",api:"openai-completions",provider:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1",headers:{"NVCF-POLL-SECONDS":"3600"},reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:131072,maxTokens:16384,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:nvidia/llama-3.1-nemotron-70b-instruct":{id:"nvidia/llama-3.1-nemotron-70b-instruct",name:"Llama 3.1 Nemotron 70B Instruct",api:"openai-completions",provider:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1",headers:{"NVCF-POLL-SECONDS":"3600"},reasoning:!1,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:128e3,maxTokens:8192,type:"chat"},"chat:nvidia/llama-3.1-nemotron-ultra-253b-v1":{id:"nvidia/llama-3.1-nemotron-ultra-253b-v1",name:"Llama 3.1 Nemotron Ultra 253B",api:"openai-completions",provider:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1",headers:{"NVCF-POLL-SECONDS":"3600"},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:128e3,maxTokens:16384,type:"chat"},"chat:nvidia/nemotron-3-nano-omni-30b-a3b-reasoning":{id:"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning",name:"Nemotron 3 Nano Omni",api:"openai-completions",provider:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1",headers:{"NVCF-POLL-SECONDS":"3600"},reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:256e3,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:nvidia/nemotron-3-ultra-550b-a55b":{id:"nvidia/nemotron-3-ultra-550b-a55b",name:"Nemotron 3 Ultra 550B A55B",api:"openai-completions",provider:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1",headers:{"NVCF-POLL-SECONDS":"3600"},reasoning:!0,input:["text"],cost:{input:.5,output:2.5,cacheRead:.15,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:1e6,maxTokens:65536,type:"chat"},"chat:nvidia/nemotron-3.5-lightning-30b-a3b":{id:"nvidia/nemotron-3.5-lightning-30b-a3b",name:"Nemotron 3.5 Lightning 30B A3B",api:"openai-completions",provider:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1",headers:{"NVCF-POLL-SECONDS":"3600"},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:262144,maxTokens:262144,type:"chat"},"chat:nvidia/nemotron-3.5-super-vl-120b-a12b":{id:"nvidia/nemotron-3.5-super-vl-120b-a12b",name:"Nemotron 3.5 Super VL 120B A12B",api:"openai-completions",provider:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1",headers:{"NVCF-POLL-SECONDS":"3600"},reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:1048576,maxTokens:8192,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",api:"openai-completions",provider:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1",headers:{"NVCF-POLL-SECONDS":"3600"},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:131072,maxTokens:32768,type:"chat"},"chat:poolside/laguna-xs-2.1":{id:"poolside/laguna-xs-2.1",name:"Laguna XS 2.1",api:"openai-completions",provider:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1",headers:{"NVCF-POLL-SECONDS":"3600"},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:262144,maxTokens:16384,type:"chat"},"chat:stepfun-ai/step-5-preview":{id:"stepfun-ai/step-5-preview",name:"Step 5 Preview",api:"openai-completions",provider:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1",headers:{"NVCF-POLL-SECONDS":"3600"},reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:1048576,maxTokens:1048576,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:z-ai/glm-5.3":{id:"z-ai/glm-5.3",name:"GLM-5.3",api:"openai-completions",provider:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1",headers:{"NVCF-POLL-SECONDS":"3600"},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:1e6,maxTokens:131072,type:"chat"},"chat:z-ai/glm-5.3-flash":{id:"z-ai/glm-5.3-flash",name:"GLM-5.3-Flash",api:"openai-completions",provider:"nvidia",baseUrl:"https://integrate.api.nvidia.com/v1",headers:{"NVCF-POLL-SECONDS":"3600"},reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:1e6,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}}};var NVIDIA_MODELS=flattenChatModelCatalog("nvidia",nvidia_default),NVIDIA_IMAGE_MODELS=flattenImageModelCatalog("nvidia",nvidia_default),NVIDIA_CLASSIFIER_MODELS=flattenClassifierModelCatalog("nvidia",nvidia_default);var openai_default={"openai-decisions":{"classifier:gpt-6-luna":{type:"classifier",id:"gpt-6-luna",name:"GPT-6 Luna",api:"openai-decisions",provider:"openai",baseUrl:"https://api.openai.com/v1",input:["text","image"],cost:{input:.1,output:0,cacheRead:0,cacheWrite:0,tiers:[{inputTokensAbove:272e3,input:.2,output:0,cacheRead:0,cacheWrite:0}]},contextWindow:922e3}},"openai-responses":{"chat:gpt-4":{id:"gpt-4",name:"GPT-4",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!1,input:["text"],cost:{input:30,output:60,cacheRead:0,cacheWrite:0},contextWindow:8192,maxTokens:8192,compat:{supportsStrictMode:!0},type:"chat"},"chat:gpt-4-turbo":{id:"gpt-4-turbo",name:"GPT-4 Turbo",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!1,input:["text","image"],cost:{input:10,output:30,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096,compat:{supportsStrictMode:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-4.1":{id:"gpt-4.1",name:"GPT-4.1",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!1,input:["text","image"],cost:{input:2,output:8,cacheRead:.5,cacheWrite:0},contextWindow:1047576,maxTokens:32768,compat:{supportsStrictMode:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-4.1-mini":{id:"gpt-4.1-mini",name:"GPT-4.1 mini",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!1,input:["text","image"],cost:{input:.4,output:1.6,cacheRead:.1,cacheWrite:0},contextWindow:1047576,maxTokens:32768,compat:{supportsStrictMode:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-4.1-nano":{id:"gpt-4.1-nano",name:"GPT-4.1 nano",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!1,input:["text","image"],cost:{input:.1,output:.4,cacheRead:.025,cacheWrite:0},contextWindow:1047576,maxTokens:32768,compat:{supportsStrictMode:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-4o":{id:"gpt-4o",name:"GPT-4o",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!1,input:["text","image"],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128e3,maxTokens:16384,compat:{supportsStrictMode:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-4o-2024-05-13":{id:"gpt-4o-2024-05-13",name:"GPT-4o (2024-05-13)",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!1,input:["text","image"],cost:{input:5,output:15,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096,compat:{supportsStrictMode:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-4o-2024-08-06":{id:"gpt-4o-2024-08-06",name:"GPT-4o (2024-08-06)",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!1,input:["text","image"],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128e3,maxTokens:16384,compat:{supportsStrictMode:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-4o-2024-11-20":{id:"gpt-4o-2024-11-20",name:"GPT-4o (2024-11-20)",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!1,input:["text","image"],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128e3,maxTokens:16384,compat:{supportsStrictMode:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-4o-mini":{id:"gpt-4o-mini",name:"GPT-4o mini",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!1,input:["text","image"],cost:{input:.15,output:.6,cacheRead:.075,cacheWrite:0},contextWindow:128e3,maxTokens:16384,compat:{supportsStrictMode:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5":{id:"gpt-5",name:"GPT-5",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5-chat-latest":{id:"gpt-5-chat-latest",name:"GPT-5 Chat Latest",api:"openai-responses",baseUrl:"https://api.openai.com/v1",provider:"openai",reasoning:!1,input:["text","image"],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:128e3,maxTokens:16384,thinkingLevelMap:{off:null},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5-mini":{id:"gpt-5-mini",name:"GPT-5 Mini",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:.25,output:2,cacheRead:.025,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5-nano":{id:"gpt-5-nano",name:"GPT-5 Nano",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:.05,output:.4,cacheRead:.005,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5-pro":{id:"gpt-5-pro",name:"GPT-5 Pro",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:15,output:120,cacheRead:0,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.1":{id:"gpt-5.1",name:"GPT-5.1",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.2":{id:"gpt-5.2",name:"GPT-5.2",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.2-pro":{id:"gpt-5.2-pro",name:"GPT-5.2 Pro",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:21,output:168,cacheRead:0,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:null,medium:"medium",high:"high",xhigh:"xhigh",max:null},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.3-codex":{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.3-codex-spark":{id:"gpt-5.3-codex-spark",name:"GPT-5.3 Codex Spark",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:128e3,maxTokens:32e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.4":{id:"gpt-5.4",name:"GPT-5.4",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:2.5,output:15,cacheRead:.25,cacheWrite:0,tiers:[{inputTokensAbove:272e3,input:5,output:22.5,cacheRead:.5,cacheWrite:0}]},contextWindow:272e3,maxTokens:128e3,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0,supportsAdditionalTools:!0,supportsToolSearch:!0,supportsMidConvoSystemMessages:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.4-mini":{id:"gpt-5.4-mini",name:"GPT-5.4 mini",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0,supportsAdditionalTools:!0,supportsToolSearch:!0,supportsMidConvoSystemMessages:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.4-nano":{id:"gpt-5.4-nano",name:"GPT-5.4 nano",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:.2,output:1.25,cacheRead:.02,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.4-pro":{id:"gpt-5.4-pro",name:"GPT-5.4 Pro",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:30,output:180,cacheRead:0,cacheWrite:0,tiers:[{inputTokensAbove:272e3,input:60,output:270,cacheRead:0,cacheWrite:0}]},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:null,medium:"medium",high:"high",xhigh:"xhigh",max:null},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0,supportsAdditionalTools:!0,supportsToolSearch:!0,supportsMidConvoSystemMessages:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.5":{id:"gpt-5.5",name:"GPT-5.5",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:.5,cacheWrite:0,tiers:[{inputTokensAbove:272e3,input:10,output:45,cacheRead:1,cacheWrite:0}]},contextWindow:272e3,maxTokens:128e3,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0,supportsAdditionalTools:!0,supportsToolSearch:!0,supportsMidConvoSystemMessages:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.5-pro":{id:"gpt-5.5-pro",name:"GPT-5.5 Pro",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:30,output:180,cacheRead:0,cacheWrite:0,tiers:[{inputTokensAbove:272e3,input:60,output:270,cacheRead:0,cacheWrite:0}]},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:null,medium:"medium",high:"high",xhigh:"xhigh",max:null},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.6-luna":{id:"gpt-5.6-luna",name:"GPT-5.6 Luna",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:.2,output:1.2,cacheRead:.02,cacheWrite:.25,tiers:[{inputTokensAbove:272e3,input:.4,output:1.8,cacheRead:.04,cacheWrite:.5}]},contextWindow:272e3,maxTokens:128e3,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0,supportsAdditionalTools:!0,supportsToolSearch:!0,supportsMidConvoSystemMessages:!0,supportsExplicitPromptCacheMode:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.6-sol":{id:"gpt-5.6-sol",name:"GPT-5.6 Sol",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:4,output:20,cacheRead:.4,cacheWrite:5,tiers:[{inputTokensAbove:272e3,input:8,output:30,cacheRead:.8,cacheWrite:10}]},contextWindow:272e3,maxTokens:128e3,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0,supportsAdditionalTools:!0,supportsToolSearch:!0,supportsMidConvoSystemMessages:!0,supportsExplicitPromptCacheMode:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.6-terra":{id:"gpt-5.6-terra",name:"GPT-5.6 Terra",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:.2,cacheWrite:2.5,tiers:[{inputTokensAbove:272e3,input:4,output:18,cacheRead:.4,cacheWrite:5}]},contextWindow:272e3,maxTokens:128e3,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0,supportsAdditionalTools:!0,supportsToolSearch:!0,supportsMidConvoSystemMessages:!0,supportsExplicitPromptCacheMode:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-6-astra":{id:"gpt-6-astra",name:"GPT-6 Astra",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5,tiers:[{inputTokensAbove:272e3,input:20,output:75,cacheRead:2,cacheWrite:25}]},contextWindow:272e3,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0,supportsAdditionalTools:!0,supportsToolSearch:!0,supportsMidConvoSystemMessages:!0,supportsExplicitPromptCacheMode:!0,supportsMidConvoEffort:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-6-luna":{id:"gpt-6-luna",name:"GPT-6 Luna",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:.1,output:.5,cacheRead:.01,cacheWrite:.125,tiers:[{inputTokensAbove:272e3,input:.2,output:.75,cacheRead:.02,cacheWrite:.25}]},contextWindow:272e3,maxTokens:128e3,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0,supportsAdditionalTools:!0,supportsToolSearch:!0,supportsMidConvoSystemMessages:!0,supportsExplicitPromptCacheMode:!0,supportsMidConvoEffort:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-6-sol":{id:"gpt-6-sol",name:"GPT-6 Sol",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.2,cacheWrite:2.5,tiers:[{inputTokensAbove:272e3,input:4,output:15,cacheRead:.4,cacheWrite:5}]},contextWindow:272e3,maxTokens:128e3,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0,supportsAdditionalTools:!0,supportsToolSearch:!0,supportsMidConvoSystemMessages:!0,supportsExplicitPromptCacheMode:!0,supportsMidConvoEffort:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-6.1-sol":{id:"gpt-6.1-sol",name:"GPT-6.1 Sol",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.1,cacheWrite:2.5,tiers:[{inputTokensAbove:272e3,input:4,output:15,cacheRead:.2,cacheWrite:5}]},contextWindow:272e3,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0,supportsAdditionalTools:!0,supportsToolSearch:!0,supportsMidConvoSystemMessages:!0,supportsExplicitPromptCacheMode:!0,supportsMidConvoEffort:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-daybreak-blue-latest":{id:"gpt-daybreak-blue-latest",name:"Daybreak Blue",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:4,output:20,cacheRead:.4,cacheWrite:5,tiers:[{inputTokensAbove:272e3,input:8,output:30,cacheRead:.8,cacheWrite:10}]},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsStrictMode:!0,supportsExplicitPromptCacheMode:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-daybreak-red-latest":{id:"gpt-daybreak-red-latest",name:"Daybreak Red",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:12.5,output:75,cacheRead:1.25,cacheWrite:15.625},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsStrictMode:!0,supportsExplicitPromptCacheMode:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-realtime-2.1":{id:"gpt-realtime-2.1",name:"GPT-Realtime-2.1",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:4,output:24,cacheRead:.4,cacheWrite:0},contextWindow:128e3,maxTokens:32e3,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},compat:{supportsStrictMode:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:o1":{id:"o1",name:"o1",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:15,output:60,cacheRead:7.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},compat:{supportsStrictMode:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:o1-pro":{id:"o1-pro",name:"o1-pro",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:150,output:600,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:1e5,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},compat:{supportsStrictMode:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:o3":{id:"o3",name:"o3",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:8,cacheRead:.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},compat:{supportsStrictMode:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:o3-mini":{id:"o3-mini",name:"o3-mini",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text"],cost:{input:1.1,output:4.4,cacheRead:.55,cacheWrite:0},contextWindow:2e5,maxTokens:1e5,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},compat:{supportsStrictMode:!0},type:"chat"},"chat:o3-pro":{id:"o3-pro",name:"o3-pro",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:20,output:80,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:1e5,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},compat:{supportsStrictMode:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:o4-mini":{id:"o4-mini",name:"o4-mini",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!0,input:["text","image"],cost:{input:1.1,output:4.4,cacheRead:.275,cacheWrite:0},contextWindow:2e5,maxTokens:1e5,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},compat:{supportsStrictMode:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}}};var OPENAI_MODELS=flattenChatModelCatalog("openai",openai_default),OPENAI_IMAGE_MODELS=flattenImageModelCatalog("openai",openai_default),OPENAI_CLASSIFIER_MODELS=flattenClassifierModelCatalog("openai",openai_default);var openai_codex_default={"openai-codex-responses":{"chat:gpt-5.6-luna":{id:"gpt-5.6-luna",name:"GPT-5.6 Luna",api:"openai-codex-responses",provider:"openai-codex",baseUrl:"https://chatgpt.com/backend-api",reasoning:!0,input:["text","image"],cost:{input:.2,output:1.2,cacheRead:.02,cacheWrite:.25,tiers:[{inputTokensAbove:272e3,input:.4,output:1.8,cacheRead:.04,cacheWrite:.5}]},contextWindow:272e3,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max",minimal:"low"},compat:{supportsOpenAIGrammarTools:!0,supportsAdditionalTools:!0,supportsToolSearch:!0,supportsMidConvoSystemMessages:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.6-sol":{id:"gpt-5.6-sol",name:"GPT-5.6 Sol",api:"openai-codex-responses",provider:"openai-codex",baseUrl:"https://chatgpt.com/backend-api",reasoning:!0,input:["text","image"],cost:{input:4,output:20,cacheRead:.4,cacheWrite:5,tiers:[{inputTokensAbove:272e3,input:8,output:30,cacheRead:.8,cacheWrite:10}]},contextWindow:272e3,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max",minimal:"low"},compat:{supportsOpenAIGrammarTools:!0,supportsAdditionalTools:!0,supportsToolSearch:!0,supportsMidConvoSystemMessages:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.6-terra":{id:"gpt-5.6-terra",name:"GPT-5.6 Terra",api:"openai-codex-responses",provider:"openai-codex",baseUrl:"https://chatgpt.com/backend-api",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:.2,cacheWrite:2.5,tiers:[{inputTokensAbove:272e3,input:4,output:18,cacheRead:.4,cacheWrite:5}]},contextWindow:272e3,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max",minimal:"low"},compat:{supportsOpenAIGrammarTools:!0,supportsAdditionalTools:!0,supportsToolSearch:!0,supportsMidConvoSystemMessages:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-6-astra":{id:"gpt-6-astra",name:"GPT-6 Astra",api:"openai-codex-responses",provider:"openai-codex",baseUrl:"https://chatgpt.com/backend-api",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5,tiers:[{inputTokensAbove:272e3,input:20,output:75,cacheRead:2,cacheWrite:25}]},contextWindow:272e3,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:"low",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsOpenAIGrammarTools:!0,supportsAdditionalTools:!0,supportsToolSearch:!0,supportsMidConvoSystemMessages:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-6-luna":{id:"gpt-6-luna",name:"GPT-6 Luna",api:"openai-codex-responses",provider:"openai-codex",baseUrl:"https://chatgpt.com/backend-api",reasoning:!0,input:["text","image"],cost:{input:.1,output:.5,cacheRead:.01,cacheWrite:.125,tiers:[{inputTokensAbove:272e3,input:.2,output:.75,cacheRead:.02,cacheWrite:.25}]},contextWindow:272e3,maxTokens:128e3,thinkingLevelMap:{off:"none",minimal:"low",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsOpenAIGrammarTools:!0,supportsAdditionalTools:!0,supportsToolSearch:!0,supportsMidConvoSystemMessages:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-6-sol":{id:"gpt-6-sol",name:"GPT-6 Sol",api:"openai-codex-responses",provider:"openai-codex",baseUrl:"https://chatgpt.com/backend-api",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.2,cacheWrite:2.5,tiers:[{inputTokensAbove:272e3,input:4,output:15,cacheRead:.4,cacheWrite:5}]},contextWindow:272e3,maxTokens:128e3,thinkingLevelMap:{off:"none",minimal:"low",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsOpenAIGrammarTools:!0,supportsAdditionalTools:!0,supportsToolSearch:!0,supportsMidConvoSystemMessages:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-6.1-sol":{id:"gpt-6.1-sol",name:"GPT-6.1 Sol",api:"openai-codex-responses",provider:"openai-codex",baseUrl:"https://chatgpt.com/backend-api",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.1,cacheWrite:2.5,tiers:[{inputTokensAbove:272e3,input:4,output:15,cacheRead:.2,cacheWrite:5}]},contextWindow:5e5,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:"low",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsOpenAIGrammarTools:!0,supportsAdditionalTools:!0,supportsToolSearch:!0,supportsMidConvoSystemMessages:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}}};var OPENAI_CODEX_MODELS=flattenChatModelCatalog("openai-codex",openai_codex_default),OPENAI_CODEX_IMAGE_MODELS=flattenImageModelCatalog("openai-codex",openai_codex_default),OPENAI_CODEX_CLASSIFIER_MODELS=flattenClassifierModelCatalog("openai-codex",openai_codex_default);var opencode_default={"anthropic-messages":{"chat:claude-fable-5":{id:"claude-fable-5",name:"Claude Fable 5",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/inference",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,maxTokens:128e3,compat:{supportsMidConvoSystemMessages:!0,forceAdaptiveThinking:!0},thinkingLevelMap:{off:null,xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-fable-5-1":{id:"claude-fable-5-1",name:"Claude Fable 5.1",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/inference",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:.25,cacheWrite:12.5},contextWindow:1e6,maxTokens:128e3,compat:{supportsMidConvoSystemMessages:!0,forceAdaptiveThinking:!0},thinkingLevelMap:{off:null,xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-haiku-4-5":{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/inference",reasoning:!0,input:["text","image"],cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-haiku-5-5":{id:"claude-haiku-5-5",name:"Claude Haiku 5.5",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/inference",reasoning:!0,input:["text","image"],cost:{input:.1,output:.5,cacheRead:.01,cacheWrite:.125,tiers:[{inputTokensAbove:1e5,input:.5,output:2.5,cacheRead:.05,cacheWrite:.625}]},contextWindow:1e6,maxTokens:128e3,compat:{supportsMidConvoSystemMessages:!0,forceAdaptiveThinking:!0,supportsTemperature:!1},thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-opus-4-5":{id:"claude-opus-4-5",name:"Claude Opus 4.5",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/inference",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-opus-4-6":{id:"claude-opus-4-6",name:"Claude Opus 4.6",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/inference",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{max:"max"},compat:{forceAdaptiveThinking:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-opus-4-7":{id:"claude-opus-4-7",name:"Claude Opus 4.7",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/inference",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},compat:{forceAdaptiveThinking:!0,supportsTemperature:!1},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-opus-4-8":{id:"claude-opus-4-8",name:"Claude Opus 4.8",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/inference",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3,compat:{supportsMidConvoSystemMessages:!0,forceAdaptiveThinking:!0,supportsTemperature:!1},thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-opus-5":{id:"claude-opus-5",name:"Claude Opus 5",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/inference",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3,compat:{supportsMidConvoSystemMessages:!0,forceAdaptiveThinking:!0,supportsTemperature:!1},thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-opus-5-5":{id:"claude-opus-5-5",name:"Claude Opus 5.5",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/inference",reasoning:!0,input:["text","image"],cost:{input:4,output:20,cacheRead:.2,cacheWrite:5},contextWindow:1e6,maxTokens:128e3,compat:{supportsMidConvoSystemMessages:!0,forceAdaptiveThinking:!0,supportsTemperature:!1},thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-sonnet-4":{id:"claude-sonnet-4",name:"Claude Sonnet 4",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/inference",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75,tiers:[{inputTokensAbove:2e5,input:6,output:22.5,cacheRead:.6,cacheWrite:7.5}]},contextWindow:2e5,maxTokens:64e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-sonnet-4-5":{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/inference",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75,tiers:[{inputTokensAbove:2e5,input:6,output:22.5,cacheRead:.6,cacheWrite:7.5}]},contextWindow:2e5,maxTokens:64e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-sonnet-4-6":{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/inference",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3,thinkingLevelMap:{max:"max"},compat:{forceAdaptiveThinking:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-sonnet-5":{id:"claude-sonnet-5",name:"Claude Sonnet 5",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/inference",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},compat:{forceAdaptiveThinking:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-sonnet-5-5":{id:"claude-sonnet-5-5",name:"Claude Sonnet 5.5",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/inference",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3,compat:{supportsMidConvoSystemMessages:!0,forceAdaptiveThinking:!0,supportsTemperature:!1},thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:qwen3.5-plus":{id:"qwen3.5-plus",name:"Qwen3.5 Plus",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/inference",reasoning:!0,input:["text","image"],cost:{input:.2,output:1.2,cacheRead:.02,cacheWrite:.25},contextWindow:262144,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:qwen3.6-plus":{id:"qwen3.6-plus",name:"Qwen3.6 Plus",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/inference",reasoning:!0,input:["text","image"],cost:{input:.5,output:3,cacheRead:.05,cacheWrite:.625},contextWindow:262144,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:qwen3.8-flash":{id:"qwen3.8-flash",name:"Qwen3.8 Flash",api:"anthropic-messages",provider:"opencode",baseUrl:"https://opencode.ai/inference",reasoning:!0,input:["text","image"],cost:{input:.15,output:.47,cacheRead:.016,cacheWrite:.2},contextWindow:1e6,maxTokens:131072,compat:{allowEmptySignature:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}},"google-generative-ai":{"chat:gemini-3-flash":{id:"gemini-3-flash",name:"Gemini 3 Flash",api:"google-generative-ai",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.5,output:3,cacheRead:.05,cacheWrite:0},contextWindow:1048576,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-3.1-pro":{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro Preview",api:"google-generative-ai",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:2,output:12,cacheRead:.2,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:4,output:18,cacheRead:.4,cacheWrite:0}]},contextWindow:1048576,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-3.5-flash":{id:"gemini-3.5-flash",name:"Gemini 3.5 Flash",api:"google-generative-ai",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:1.5,output:9,cacheRead:.15,cacheWrite:0},contextWindow:1048576,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-3.5-flash-lite":{id:"gemini-3.5-flash-lite",name:"Gemini 3.5 Flash Lite",api:"google-generative-ai",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.3,output:2.5,cacheRead:.03,cacheWrite:0},contextWindow:1048576,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-3.6-flash":{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash",api:"google-generative-ai",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:1.5,output:7.5,cacheRead:.15,cacheWrite:0},contextWindow:1048576,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-3.7-flash":{id:"gemini-3.7-flash",name:"Gemini 3.7 Flash",api:"google-generative-ai",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:1.5,output:7.5,cacheRead:.15,cacheWrite:0},contextWindow:1048576,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-3.8-flash":{id:"gemini-3.8-flash",name:"Gemini 3.8 Flash",api:"google-generative-ai",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:1.5,output:7.5,cacheRead:.15,cacheWrite:0},contextWindow:1048576,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemini-4-argon":{id:"gemini-4-argon",name:"Gemini 4 Argon",api:"google-generative-ai",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:2,output:10,cacheRead:.1,cacheWrite:0},contextWindow:1048576,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}},"openai-completions":{"chat:beam-free":{id:"beam-free",name:"Beam Free",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens"},contextWindow:1048576,maxTokens:131072,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},type:"chat"},"chat:big-pickle":{id:"big-pickle",name:"Big Pickle",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens"},contextWindow:2e5,maxTokens:32e3,type:"chat"},"chat:deepseek-v4-flash":{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text"],cost:{input:.14,output:.28,cacheRead:.028,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,requiresReasoningContentOnAssistantMessages:!0},contextWindow:1e6,maxTokens:384e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},type:"chat"},"chat:deepseek-v4-flash-vision-exp":{id:"deepseek-v4-flash-vision-exp",name:"DeepSeek V4 Flash Vision Exp",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:.14,output:.28,cacheRead:.028,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens",requiresReasoningContentOnAssistantMessages:!0},contextWindow:1e6,maxTokens:384e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:deepseek-v4-pro":{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text"],cost:{input:1.74,output:3.84,cacheRead:.145,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,requiresReasoningContentOnAssistantMessages:!0},contextWindow:1e6,maxTokens:384e3,thinkingLevelMap:{off:null,minimal:null,low:null,medium:null,high:"high",xhigh:null,max:"max"},type:"chat"},"chat:deepseek-v4.1-flash":{id:"deepseek-v4.1-flash",name:"DeepSeek V4.1 Flash",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:.3,output:1.2,cacheRead:.006,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens",requiresReasoningContentOnAssistantMessages:!0},contextWindow:1e6,maxTokens:384e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:deepseek-v4.1-flash-free":{id:"deepseek-v4.1-flash-free",name:"DeepSeek V4.1 Flash Free",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens",requiresReasoningContentOnAssistantMessages:!0},contextWindow:2e5,maxTokens:32e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:glm-5":{id:"glm-5",name:"GLM-5",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text"],cost:{input:1,output:3.2,cacheRead:.2,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens"},contextWindow:204800,maxTokens:131072,type:"chat"},"chat:glm-5.1":{id:"glm-5.1",name:"GLM-5.1",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text"],cost:{input:1.4,output:4.4,cacheRead:.26,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens"},contextWindow:204800,maxTokens:131072,type:"chat"},"chat:glm-5.2":{id:"glm-5.2",name:"GLM-5.2",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text"],cost:{input:1.4,output:4.4,cacheRead:.26,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens"},contextWindow:1e6,maxTokens:131072,thinkingLevelMap:{off:null,minimal:null,low:null,medium:null,high:"high",xhigh:null,max:"max"},type:"chat"},"chat:glm-5.3":{id:"glm-5.3",name:"GLM-5.3",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text"],cost:{input:1.4,output:4.4,cacheRead:.26,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens"},contextWindow:1e6,maxTokens:131072,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},type:"chat"},"chat:glm-5.3-flash":{id:"glm-5.3-flash",name:"GLM-5.3-Flash",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:.15,output:.5,cacheRead:.03,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens"},contextWindow:1e6,maxTokens:131072,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:glm-5.3-flash-free":{id:"glm-5.3-flash-free",name:"GLM-5.3-Flash Free",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens"},contextWindow:2e5,maxTokens:32e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:kimi-k2.5":{id:"kimi-k2.5",name:"Kimi K2.5",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:.6,output:3,cacheRead:.08,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens",supportsLongCacheRetention:!1},contextWindow:262144,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:kimi-k2.6":{id:"kimi-k2.6",name:"Kimi K2.6",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:.95,output:4,cacheRead:.16,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,thinkingFormat:"deepseek",supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1},contextWindow:262144,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:kimi-k2.7-code":{id:"kimi-k2.7-code",name:"Kimi K2.7 Code",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:.95,output:4,cacheRead:.19,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens"},contextWindow:262144,maxTokens:262144,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:kimi-k3":{id:"kimi-k3",name:"Kimi K3",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens",supportsMidConvoSystemMessages:!0,supportsMidConvoToolAdditions:!0},contextWindow:1048576,maxTokens:131072,thinkingLevelMap:{off:null,minimal:null,low:null,medium:null,high:null,xhigh:null,max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:longcat-2.5-preview-free":{id:"longcat-2.5-preview-free",name:"LongCat 2.5 Preview Free",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens"},contextWindow:1e6,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:mimo-v2.6-flash-free":{id:"mimo-v2.6-flash-free",name:"MiMo-V2.6-Flash Free",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens"},contextWindow:2e5,maxTokens:32e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:minimax-m2.5":{id:"minimax-m2.5",name:"MiniMax-M2.5",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text"],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens"},contextWindow:204800,maxTokens:131072,type:"chat"},"chat:minimax-m2.7":{id:"minimax-m2.7",name:"MiniMax-M2.7",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text"],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens",supportsLongCacheRetention:!1},contextWindow:204800,maxTokens:131072,type:"chat"},"chat:minimax-m3":{id:"minimax-m3",name:"MiniMax-M3",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens"},contextWindow:512e3,maxTokens:128e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:minimax-m3.1-flash-free":{id:"minimax-m3.1-flash-free",name:"MiniMax M3.1 Flash Free",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens"},contextWindow:1e6,maxTokens:512e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:mistral-large-4":{id:"mistral-large-4",name:"Mistral Large 4",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:.68,output:2.09,cacheRead:.07,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens"},contextWindow:524288,maxTokens:262144,thinkingLevelMap:{off:"none",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:nemotron-3-ultra-free":{id:"nemotron-3-ultra-free",name:"Nemotron 3 Ultra Free",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens"},contextWindow:1e6,maxTokens:128e3,type:"chat"},"chat:nemotron-3.5-lightning-free":{id:"nemotron-3.5-lightning-free",name:"Nemotron 3.5 Lightning Free",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens"},contextWindow:262144,maxTokens:262144,type:"chat"},"chat:nemotron-3.5-super-vl-free":{id:"nemotron-3.5-super-vl-free",name:"Nemotron 3.5 Super VL Free",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens"},contextWindow:1048576,maxTokens:131072,thinkingLevelMap:{off:"none",minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:qwen3.8-max":{id:"qwen3.8-max",name:"Qwen3.8 Max",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.25,cacheWrite:2.5},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens"},contextWindow:262144,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}},"openai-responses":{"chat:gpt-5":{id:"gpt-5",name:"GPT-5",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:1.07,output:8.5,cacheRead:.107,cacheWrite:0},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5-codex":{id:"gpt-5-codex",name:"GPT-5 Codex",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:1.07,output:8.5,cacheRead:.107,cacheWrite:0},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5-nano":{id:"gpt-5-nano",name:"GPT-5 Nano",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:.05,output:.4,cacheRead:.005,cacheWrite:0},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.1":{id:"gpt-5.1",name:"GPT-5.1",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:1.07,output:8.5,cacheRead:.107,cacheWrite:0},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.1-codex":{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:1.07,output:8.5,cacheRead:.107,cacheWrite:0},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.1-codex-max":{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.1-codex-mini":{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex Mini",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:.25,output:2,cacheRead:.025,cacheWrite:0},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.2":{id:"gpt-5.2",name:"GPT-5.2",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.2-codex":{id:"gpt-5.2-codex",name:"GPT-5.2 Codex",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.3-codex":{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.4":{id:"gpt-5.4",name:"GPT-5.4",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:2.5,output:15,cacheRead:.25,cacheWrite:0,tiers:[{inputTokensAbove:272e3,input:5,output:22.5,cacheRead:.5,cacheWrite:0}]},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!0,supportsMidConvoSystemMessages:!0,supportsAdditionalTools:!0},contextWindow:272e3,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.4-mini":{id:"gpt-5.4-mini",name:"GPT-5.4 Mini",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:.75,output:4.5,cacheRead:.075,cacheWrite:0},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!0,supportsMidConvoSystemMessages:!0,supportsAdditionalTools:!0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.4-nano":{id:"gpt-5.4-nano",name:"GPT-5.4 Nano",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:.2,output:1.25,cacheRead:.02,cacheWrite:0},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.4-pro":{id:"gpt-5.4-pro",name:"GPT-5.4 Pro",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:30,output:180,cacheRead:30,cacheWrite:0},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!0,supportsMidConvoSystemMessages:!0,supportsAdditionalTools:!0},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:null,medium:"medium",high:"high",xhigh:"xhigh",max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.5":{id:"gpt-5.5",name:"GPT-5.5",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:.5,cacheWrite:0,tiers:[{inputTokensAbove:272e3,input:10,output:45,cacheRead:1,cacheWrite:0}]},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!0,supportsMidConvoSystemMessages:!0,supportsAdditionalTools:!0},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.5-pro":{id:"gpt-5.5-pro",name:"GPT-5.5 Pro",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:30,output:180,cacheRead:30,cacheWrite:0},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!0},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:null,medium:"medium",high:"high",xhigh:"xhigh",max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.6-luna":{id:"gpt-5.6-luna",name:"GPT-5.6 Luna",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:.2,output:1.2,cacheRead:.02,cacheWrite:.25,tiers:[{inputTokensAbove:272e3,input:.4,output:1.8,cacheRead:.04,cacheWrite:.5}]},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!0,supportsMidConvoSystemMessages:!0,supportsAdditionalTools:!0},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.6-sol":{id:"gpt-5.6-sol",name:"GPT-5.6 Sol",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:4,output:20,cacheRead:.4,cacheWrite:5,tiers:[{inputTokensAbove:272e3,input:8,output:30,cacheRead:.8,cacheWrite:10}]},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!0,supportsMidConvoSystemMessages:!0,supportsAdditionalTools:!0},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.6-terra":{id:"gpt-5.6-terra",name:"GPT-5.6 Terra",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:2.5,output:15,cacheRead:.25,cacheWrite:3.125,tiers:[{inputTokensAbove:272e3,input:5,output:22.5,cacheRead:.5,cacheWrite:6.25}]},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!0,supportsMidConvoSystemMessages:!0,supportsAdditionalTools:!0},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-6-astra":{id:"gpt-6-astra",name:"GPT-6 Astra",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5,tiers:[{inputTokensAbove:272e3,input:20,output:75,cacheRead:2,cacheWrite:25}]},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!0,supportsMidConvoSystemMessages:!0,supportsAdditionalTools:!0},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-6-luna":{id:"gpt-6-luna",name:"GPT-6 Luna",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:.1,output:.5,cacheRead:.01,cacheWrite:.125,tiers:[{inputTokensAbove:272e3,input:.2,output:.75,cacheRead:.02,cacheWrite:.25}]},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!0,supportsMidConvoSystemMessages:!0,supportsAdditionalTools:!0},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-6-sol":{id:"gpt-6-sol",name:"GPT-6 Sol",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.2,cacheWrite:2.5,tiers:[{inputTokensAbove:272e3,input:4,output:15,cacheRead:.4,cacheWrite:5}]},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!0,supportsMidConvoSystemMessages:!0,supportsAdditionalTools:!0},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-6.1-sol":{id:"gpt-6.1-sol",name:"GPT-6.1 Sol",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.1,cacheWrite:2.5,tiers:[{inputTokensAbove:272e3,input:4,output:15,cacheRead:.2,cacheWrite:5}]},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!0,supportsMidConvoSystemMessages:!0,supportsAdditionalTools:!0},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:grok-4.5":{id:"grok-4.5",name:"Grok 4.5",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.3,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:4,output:12,cacheRead:.6,cacheWrite:0}]},compat:{sessionAffinityFormat:"openai-nosession"},contextWindow:5e5,maxTokens:5e5,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:grok-4.6":{id:"grok-4.6",name:"Grok 4.6",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.5,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:4,output:12,cacheRead:1,cacheWrite:0}]},compat:{sessionAffinityFormat:"openai-nosession"},contextWindow:5e5,maxTokens:5e5,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:grok-4.7":{id:"grok-4.7",name:"Grok 4.7",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.5,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:4,output:12,cacheRead:1,cacheWrite:0}]},compat:{sessionAffinityFormat:"openai-nosession"},contextWindow:5e5,maxTokens:5e5,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:grok-build-0.1":{id:"grok-build-0.1",name:"Grok Build 0.1",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:1,output:2,cacheRead:.2,cacheWrite:0},compat:{sessionAffinityFormat:"openai-nosession",supportsReasoningEffort:!1},contextWindow:256e3,maxTokens:256e3,thinkingLevelMap:{off:null,minimal:null,low:null,medium:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:muse-spark-1.2":{id:"muse-spark-1.2",name:"Muse Spark 1.2",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:4.25,cacheRead:.15,cacheWrite:0},compat:{sessionAffinityFormat:"openai-nosession"},contextWindow:1048576,maxTokens:131072,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:muse-spark-1.3":{id:"muse-spark-1.3",name:"Muse Spark 1.3",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:4.25,cacheRead:.15,cacheWrite:0},compat:{sessionAffinityFormat:"openai-nosession"},contextWindow:1048576,maxTokens:131072,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}},"typesafe-system-one":{"classifier:jev-1.13":{type:"classifier",id:"jev-1.13",name:"Jev 1.13",api:"typesafe-system-one",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",input:["text"],cost:{input:.042,output:0,cacheRead:0,cacheWrite:0},contextWindow:32e3},"classifier:jev-1.13-free":{type:"classifier",id:"jev-1.13-free",name:"Jev 1.13 Free",api:"typesafe-system-one",provider:"opencode",baseUrl:"https://opencode.ai/inference/v1",input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:32e3}}};var OPENCODE_MODELS=flattenChatModelCatalog("opencode",opencode_default),OPENCODE_IMAGE_MODELS=flattenImageModelCatalog("opencode",opencode_default),OPENCODE_CLASSIFIER_MODELS=flattenClassifierModelCatalog("opencode",opencode_default);var opencode_go_default={"anthropic-messages":{"chat:claude-haiku-5-5":{id:"claude-haiku-5-5",name:"Claude Haiku 5.5",api:"anthropic-messages",provider:"opencode-go",baseUrl:"https://opencode.ai/inference/go",reasoning:!0,input:["text","image"],cost:{input:.1,output:.5,cacheRead:.01,cacheWrite:.125,tiers:[{inputTokensAbove:1e5,input:.5,output:2.5,cacheRead:.05,cacheWrite:.625}]},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},compat:{forceAdaptiveThinking:!0,supportsTemperature:!1},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:minimax-m3":{id:"minimax-m3",name:"MiniMax-M3",api:"anthropic-messages",provider:"opencode-go",baseUrl:"https://opencode.ai/inference/go",reasoning:!0,input:["text","image"],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:0,tiers:[{inputTokensAbove:512e3,input:.6,output:2.4,cacheRead:.12,cacheWrite:0}]},contextWindow:1e6,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:qwen3.7-plus":{id:"qwen3.7-plus",name:"Qwen3.7 Plus",api:"anthropic-messages",provider:"opencode-go",baseUrl:"https://opencode.ai/inference/go",reasoning:!0,input:["text","image"],cost:{input:.4,output:1.6,cacheRead:.04,cacheWrite:.5,tiers:[{inputTokensAbove:256e3,input:1.2,output:4.8,cacheRead:.12,cacheWrite:1.5}]},contextWindow:1e6,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:qwen3.8-flash":{id:"qwen3.8-flash",name:"Qwen3.8 Flash",api:"anthropic-messages",provider:"opencode-go",baseUrl:"https://opencode.ai/inference/go",reasoning:!0,input:["text","image"],cost:{input:.15,output:.47,cacheRead:.016,cacheWrite:.2},contextWindow:1e6,maxTokens:131072,compat:{allowEmptySignature:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:qwen3.8-max":{id:"qwen3.8-max",name:"Qwen3.8 Max",api:"anthropic-messages",provider:"opencode-go",baseUrl:"https://opencode.ai/inference/go",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.25,cacheWrite:2.5},contextWindow:1e6,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}},"google-generative-ai":{"chat:gemini-4-argon-contributor":{id:"gemini-4-argon-contributor",name:"Gemini 4 Argon Contributor",api:"google-generative-ai",provider:"opencode-go",baseUrl:"https://opencode.ai/inference/go/v1",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:4,output:20,cacheRead:.2,cacheWrite:0},contextWindow:1048576,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}},"openai-completions":{"chat:beam-free":{id:"beam-free",name:"Beam Free",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/inference/go/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens"},contextWindow:1048576,maxTokens:131072,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},type:"chat"},"chat:deepseek-v4-pro":{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro (New)",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/inference/go/v1",reasoning:!0,input:["text"],cost:{input:.66,output:1.98,cacheRead:.022,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens",requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek"},contextWindow:1e6,maxTokens:384e3,thinkingLevelMap:{minimal:null,low:null,medium:null,high:"high",max:"max"},type:"chat"},"chat:deepseek-v4.1-flash":{id:"deepseek-v4.1-flash",name:"DeepSeek V4.1 Flash",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/inference/go/v1",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text","image"],cost:{input:.15,output:.6,cacheRead:.003,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens",requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek"},contextWindow:1e6,maxTokens:384e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:glm-5.2":{id:"glm-5.2",name:"GLM-5.2",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/inference/go/v1",reasoning:!0,input:["text"],cost:{input:1.4,output:4.4,cacheRead:.26,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens"},contextWindow:1e6,maxTokens:131072,thinkingLevelMap:{off:null,minimal:null,low:null,medium:null,high:"high",xhigh:null,max:"max"},type:"chat"},"chat:glm-5.3":{id:"glm-5.3",name:"GLM-5.3",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/inference/go/v1",reasoning:!0,input:["text"],cost:{input:1.4,output:4.4,cacheRead:.26,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens"},contextWindow:1e6,maxTokens:131072,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},type:"chat"},"chat:glm-5.3-flash":{id:"glm-5.3-flash",name:"GLM-5.3-Flash",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/inference/go/v1",reasoning:!0,input:["text","image"],cost:{input:.15,output:.5,cacheRead:.03,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens"},contextWindow:1e6,maxTokens:131072,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:hy3":{id:"hy3",name:"Hy3",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/inference/go/v1",reasoning:!0,input:["text"],cost:{input:.14,output:.58,cacheRead:.035,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens"},contextWindow:256e3,maxTokens:128e3,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:null},type:"chat"},"chat:hy4-preview":{id:"hy4-preview",name:"Hy4 preview",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/inference/go/v1",reasoning:!0,input:["text"],cost:{input:.834,output:2.501,cacheRead:.042,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens"},contextWindow:1024e3,maxTokens:64e3,thinkingLevelMap:{off:"none",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},type:"chat"},"chat:kimi-k2.7-code":{id:"kimi-k2.7-code",name:"Kimi K2.7 Code",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/inference/go/v1",reasoning:!0,input:["text","image"],cost:{input:.95,output:4,cacheRead:.19,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens"},contextWindow:262144,maxTokens:262144,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:kimi-k3":{id:"kimi-k3",name:"Kimi K3",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/inference/go/v1",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens",supportsMidConvoSystemMessages:!0,supportsMidConvoToolAdditions:!0},contextWindow:1048576,maxTokens:131072,thinkingLevelMap:{off:null,minimal:null,low:null,medium:null,high:null,xhigh:null,max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:longcat-2.0":{id:"longcat-2.0",name:"LongCat-2.0",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/inference/go/v1",reasoning:!0,input:["text"],cost:{input:.3,output:1.2,cacheRead:.006,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens"},contextWindow:1e6,maxTokens:131072,type:"chat"},"chat:longcat-2.5-preview-free":{id:"longcat-2.5-preview-free",name:"LongCat 2.5 Preview Free",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/inference/go/v1",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens"},contextWindow:1e6,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:mimo-v2.5":{id:"mimo-v2.5",name:"MiMo V2.5",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/inference/go/v1",reasoning:!0,input:["text","image"],cost:{input:.14,output:.28,cacheRead:.0028,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens"},contextWindow:1e6,maxTokens:128e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:mimo-v2.5-pro":{id:"mimo-v2.5-pro",name:"MiMo V2.5 Pro",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/inference/go/v1",reasoning:!0,input:["text"],cost:{input:.435,output:.87,cacheRead:.003625,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens"},contextWindow:1048576,maxTokens:128e3,type:"chat"},"chat:mimo-v2.6-flash":{id:"mimo-v2.6-flash",name:"MiMo-V2.6-Flash",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/inference/go/v1",reasoning:!0,input:["text","image"],cost:{input:.14,output:.28,cacheRead:.0028,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens"},contextWindow:1048576,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:mimo-v2.6-pro":{id:"mimo-v2.6-pro",name:"MiMo-V2.6-Pro",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/inference/go/v1",reasoning:!0,input:["text","image"],cost:{input:.435,output:.87,cacheRead:.003625,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens"},contextWindow:1048576,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:minimax-m3.1-flash-free":{id:"minimax-m3.1-flash-free",name:"MiniMax M3.1 Flash Free",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/inference/go/v1",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens"},contextWindow:1e6,maxTokens:512e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:step-5-preview":{id:"step-5-preview",name:"Step 5 Preview",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/inference/go/v1",reasoning:!0,input:["text","image"],cost:{input:1,output:2.7,cacheRead:.1,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens"},contextWindow:1e6,maxTokens:65536,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}},"openai-responses":{"chat:gpt-5.6-luna":{id:"gpt-5.6-luna",name:"GPT-5.6 Luna",api:"openai-responses",provider:"opencode-go",baseUrl:"https://opencode.ai/inference/go/v1",reasoning:!0,input:["text","image"],cost:{input:.2,output:1.2,cacheRead:.02,cacheWrite:.25,tiers:[{inputTokensAbove:272e3,input:.4,output:1.8,cacheRead:.04,cacheWrite:.5}]},compat:{sessionAffinityFormat:"openai-nosession",supportsMidConvoSystemMessages:!0,supportsAdditionalTools:!0},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-6-luna":{id:"gpt-6-luna",name:"GPT-6 Luna",api:"openai-responses",provider:"opencode-go",baseUrl:"https://opencode.ai/inference/go/v1",reasoning:!0,input:["text","image"],cost:{input:.1,output:.5,cacheRead:.01,cacheWrite:.125,tiers:[{inputTokensAbove:272e3,input:.2,output:.75,cacheRead:.02,cacheWrite:.25}]},compat:{sessionAffinityFormat:"openai-nosession",supportsMidConvoSystemMessages:!0,supportsAdditionalTools:!0},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:grok-4.7":{id:"grok-4.7",name:"Grok 4.7",api:"openai-responses",provider:"opencode-go",baseUrl:"https://opencode.ai/inference/go/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.5,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:4,output:12,cacheRead:1,cacheWrite:0}]},compat:{sessionAffinityFormat:"openai-nosession"},contextWindow:5e5,maxTokens:5e5,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:muse-spark-1.2-contributor":{id:"muse-spark-1.2-contributor",name:"Muse Spark 1.2 Contributor",api:"openai-responses",provider:"opencode-go",baseUrl:"https://opencode.ai/inference/go/v1",reasoning:!0,input:["text","image"],cost:{input:.1,output:.2,cacheRead:.002,cacheWrite:0},compat:{sessionAffinityFormat:"openai-nosession"},contextWindow:1048576,maxTokens:131072,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:muse-spark-1.3-contributor":{id:"muse-spark-1.3-contributor",name:"Muse Spark 1.3 Contributor",api:"openai-responses",provider:"opencode-go",baseUrl:"https://opencode.ai/inference/go/v1",reasoning:!0,input:["text","image"],cost:{input:.1,output:.2,cacheRead:.002,cacheWrite:0},compat:{sessionAffinityFormat:"openai-nosession"},contextWindow:1048576,maxTokens:131072,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}}};var OPENCODE_GO_MODELS=flattenChatModelCatalog("opencode-go",opencode_go_default),OPENCODE_GO_IMAGE_MODELS=flattenImageModelCatalog("opencode-go",opencode_go_default),OPENCODE_GO_CLASSIFIER_MODELS=flattenClassifierModelCatalog("opencode-go",opencode_go_default);var openrouter_default={"anthropic-messages":{"chat:anthropic/claude-fable-5":{type:"chat",id:"anthropic/claude-fable-5",name:"Anthropic: Claude Fable 5",api:"anthropic-messages",baseUrl:"https://openrouter.ai/api",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,maxTokens:128e3,compat:{forceAdaptiveThinking:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:anthropic/claude-fable-5.1":{type:"chat",id:"anthropic/claude-fable-5.1",name:"Anthropic: Claude Fable 5.1",api:"anthropic-messages",baseUrl:"https://openrouter.ai/api",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:10,output:50,cacheRead:.25,cacheWrite:12.5},contextWindow:1e6,maxTokens:128e3,compat:{supportsMidConvoEffort:!0,forceAdaptiveThinking:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:anthropic/claude-haiku-4.5":{type:"chat",id:"anthropic/claude-haiku-4.5",name:"Anthropic: Claude Haiku 4.5",api:"anthropic-messages",baseUrl:"https://openrouter.ai/api",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:anthropic/claude-haiku-5.5":{type:"chat",id:"anthropic/claude-haiku-5.5",name:"Anthropic: Claude Haiku 5.5",api:"anthropic-messages",baseUrl:"https://openrouter.ai/api",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:.1,output:.5,cacheRead:.01,cacheWrite:.125,tiers:[{inputTokensAbove:1e5,input:.5,output:2.5,cacheRead:.05,cacheWrite:.625}]},contextWindow:1e6,maxTokens:128e3,compat:{supportsMidConvoEffort:!0,forceAdaptiveThinking:!0,supportsTemperature:!1},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:anthropic/claude-opus-4.1":{type:"chat",id:"anthropic/claude-opus-4.1",name:"Anthropic: Claude Opus 4.1",api:"anthropic-messages",baseUrl:"https://openrouter.ai/api",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:2e5,maxTokens:32e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:anthropic/claude-opus-4.5":{type:"chat",id:"anthropic/claude-opus-4.5",name:"Anthropic: Claude Opus 4.5",api:"anthropic-messages",baseUrl:"https://openrouter.ai/api",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:anthropic/claude-opus-4.6":{type:"chat",id:"anthropic/claude-opus-4.6",name:"Anthropic: Claude Opus 4.6",api:"anthropic-messages",baseUrl:"https://openrouter.ai/api",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:"max"},input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3,compat:{forceAdaptiveThinking:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:anthropic/claude-opus-4.7":{type:"chat",id:"anthropic/claude-opus-4.7",name:"Anthropic: Claude Opus 4.7",api:"anthropic-messages",baseUrl:"https://openrouter.ai/api",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3,compat:{forceAdaptiveThinking:!0,supportsTemperature:!1},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:anthropic/claude-opus-4.8":{type:"chat",id:"anthropic/claude-opus-4.8",name:"Anthropic: Claude Opus 4.8",api:"anthropic-messages",baseUrl:"https://openrouter.ai/api",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3,compat:{forceAdaptiveThinking:!0,supportsTemperature:!1},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:anthropic/claude-opus-5":{type:"chat",id:"anthropic/claude-opus-5",name:"Anthropic: Claude Opus 5",api:"anthropic-messages",baseUrl:"https://openrouter.ai/api",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3,compat:{forceAdaptiveThinking:!0,supportsTemperature:!1},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:anthropic/claude-opus-5.5":{type:"chat",id:"anthropic/claude-opus-5.5",name:"Anthropic: Claude Opus 5.5",api:"anthropic-messages",baseUrl:"https://openrouter.ai/api",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:4,output:20,cacheRead:.2,cacheWrite:5},contextWindow:1e6,maxTokens:128e3,compat:{supportsMidConvoEffort:!0,forceAdaptiveThinking:!0,supportsTemperature:!1},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:anthropic/claude-sonnet-4.5":{type:"chat",id:"anthropic/claude-sonnet-4.5",name:"Anthropic: Claude Sonnet 4.5",api:"anthropic-messages",baseUrl:"https://openrouter.ai/api",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75,tiers:[{inputTokensAbove:2e5,input:6,output:22.5,cacheRead:.6,cacheWrite:7.5}]},contextWindow:1e6,maxTokens:64e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:anthropic/claude-sonnet-4.6":{type:"chat",id:"anthropic/claude-sonnet-4.6",name:"Anthropic: Claude Sonnet 4.6",api:"anthropic-messages",baseUrl:"https://openrouter.ai/api",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:"max"},input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:128e3,compat:{forceAdaptiveThinking:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:anthropic/claude-sonnet-5":{type:"chat",id:"anthropic/claude-sonnet-5",name:"Anthropic: Claude Sonnet 5",api:"anthropic-messages",baseUrl:"https://openrouter.ai/api",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:2,output:10,cacheRead:.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3,compat:{forceAdaptiveThinking:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:anthropic/claude-sonnet-5.5":{type:"chat",id:"anthropic/claude-sonnet-5.5",name:"Anthropic: Claude Sonnet 5.5",api:"anthropic-messages",baseUrl:"https://openrouter.ai/api",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:2,output:10,cacheRead:.1,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3,compat:{supportsMidConvoEffort:!0,forceAdaptiveThinking:!0,supportsTemperature:!1},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}}},"openai-completions":{"chat:~anthropic/claude-fable-latest":{type:"chat",id:"~anthropic/claude-fable-latest",name:"Anthropic: Claude Fable Latest",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:10,output:50,cacheRead:.25,cacheWrite:12.5},contextWindow:1e6,maxTokens:128e3,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:~anthropic/claude-haiku-latest":{type:"chat",id:"~anthropic/claude-haiku-latest",name:"Anthropic: Claude Haiku Latest",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:.1,output:.5,cacheRead:.01,cacheWrite:.125,tiers:[{inputTokensAbove:1e5,input:.5,output:2.5,cacheRead:.05,cacheWrite:.625}]},contextWindow:1e6,maxTokens:128e3,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:~anthropic/claude-opus-latest":{type:"chat",id:"~anthropic/claude-opus-latest",name:"Anthropic: Claude Opus Latest",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:4,output:20,cacheRead:.2,cacheWrite:5},contextWindow:1e6,maxTokens:128e3,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:~anthropic/claude-sonnet-latest":{type:"chat",id:"~anthropic/claude-sonnet-latest",name:"Anthropic: Claude Sonnet Latest",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:2,output:10,cacheRead:.1,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:~deepseek/deepseek-flash-latest":{type:"chat",id:"~deepseek/deepseek-flash-latest",name:"DeepSeek: DeepSeek Flash Latest",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text","image"],cost:{input:.07,output:.5,cacheRead:.008,cacheWrite:0},contextWindow:1048576,maxTokens:943718,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:~deepseek/deepseek-pro-latest":{type:"chat",id:"~deepseek/deepseek-pro-latest",name:"DeepSeek: DeepSeek Pro Latest",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text"],cost:{input:.1307,output:8,cacheRead:.13,cacheWrite:0},contextWindow:1048576,maxTokens:393216,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:~deepseek/deepseek-v4-flash-latest":{type:"chat",id:"~deepseek/deepseek-v4-flash-latest",name:"DeepSeek: DeepSeek V4 Flash Latest",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text"],cost:{input:.00688,output:.12,cacheRead:.003304,cacheWrite:0},contextWindow:1048576,maxTokens:943718,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0,requiresReasoningContentOnAssistantMessages:!0}},"chat:~google/gemini-flash-latest":{type:"chat",id:"~google/gemini-flash-latest",name:"Google: Gemini Flash Latest",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.75,output:3.75,cacheRead:.075,cacheWrite:.041667},contextWindow:1048576,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:~google/gemini-pro-latest":{type:"chat",id:"~google/gemini-pro-latest",name:"Google: Gemini Pro Latest",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:2,output:10,cacheRead:.1,cacheWrite:.1875},contextWindow:1048576,maxTokens:943718,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:~moonshotai/kimi-latest":{type:"chat",id:"~moonshotai/kimi-latest",name:"MoonshotAI: Kimi Latest",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text","image"],cost:{input:.238,output:24,cacheRead:.228,cacheWrite:0},contextWindow:1048576,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:~openai/gpt-astra-latest":{type:"chat",id:"~openai/gpt-astra-latest",name:"OpenAI: GPT Astra Latest",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5,tiers:[{inputTokensAbove:272e3,input:20,output:75,cacheRead:2,cacheWrite:25}]},contextWindow:105e4,maxTokens:128e3,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:~openai/gpt-luna-latest":{type:"chat",id:"~openai/gpt-luna-latest",name:"OpenAI: GPT Luna Latest",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:.1,output:.5,cacheRead:.01,cacheWrite:.125,tiers:[{inputTokensAbove:272e3,input:.2,output:.75,cacheRead:.02,cacheWrite:.25}]},contextWindow:105e4,maxTokens:128e3,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:~openai/gpt-mini-latest":{type:"chat",id:"~openai/gpt-mini-latest",name:"OpenAI: GPT Mini Latest",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image"],cost:{input:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:~openai/gpt-sol-latest":{type:"chat",id:"~openai/gpt-sol-latest",name:"OpenAI: GPT Sol Latest",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:2,output:10,cacheRead:.1,cacheWrite:2.5,tiers:[{inputTokensAbove:272e3,input:4,output:15,cacheRead:.2,cacheWrite:5}]},contextWindow:105e4,maxTokens:128e3,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:~openai/gpt-terra-latest":{type:"chat",id:"~openai/gpt-terra-latest",name:"OpenAI: GPT Terra Latest",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:2,output:12,cacheRead:.2,cacheWrite:2.5,tiers:[{inputTokensAbove:272e3,input:4,output:18,cacheRead:.4,cacheWrite:5}]},contextWindow:105e4,maxTokens:128e3,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:~unbiased/pareto-latest":{type:"chat",id:"~unbiased/pareto-latest",name:"Pareto Latest",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:.8,output:3.2,cacheRead:.03,cacheWrite:0},contextWindow:1048576,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:~x-ai/grok-latest":{type:"chat",id:"~x-ai/grok-latest",name:"xAI: Grok Latest",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image"],cost:{input:2,output:6,cacheRead:.5,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:4,output:12,cacheRead:1,cacheWrite:0}]},contextWindow:5e5,maxTokens:45e4,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:~z-ai/glm-flash-latest":{type:"chat",id:"~z-ai/glm-flash-latest",name:"Z.ai: GLM Flash Latest",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text","image"],cost:{input:.047076,output:.12,cacheRead:.006,cacheWrite:0},contextWindow:1048576,maxTokens:943718,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:~z-ai/glm-latest":{type:"chat",id:"~z-ai/glm-latest",name:"Z.ai: GLM Latest",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text"],cost:{input:.079,output:1.4,cacheRead:.078,cacheWrite:0},contextWindow:1048576,maxTokens:943718,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:aion-labs/aion-2.0":{type:"chat",id:"aion-labs/aion-2.0",name:"AionLabs: Aion-2.0",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null},input:["text"],cost:{input:.8,output:1.6,cacheRead:.2,cacheWrite:0},contextWindow:131072,maxTokens:32768,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:aion-labs/aion-3.0":{type:"chat",id:"aion-labs/aion-3.0",name:"AionLabs: Aion-3.0",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null},input:["text"],cost:{input:3,output:6,cacheRead:.75,cacheWrite:0},contextWindow:131072,maxTokens:32768,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:aion-labs/aion-3.0-mini":{type:"chat",id:"aion-labs/aion-3.0-mini",name:"AionLabs: Aion-3.0-Mini",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null},input:["text"],cost:{input:.7,output:1.4,cacheRead:.18,cacheWrite:0},contextWindow:131072,maxTokens:32768,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:aion-labs/aion-3.5":{type:"chat",id:"aion-labs/aion-3.5",name:"AionLabs: Aion 3.5",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text"],cost:{input:3,output:6,cacheRead:.75,cacheWrite:0},contextWindow:262144,maxTokens:32768,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:aion-labs/aion-3.5-mini":{type:"chat",id:"aion-labs/aion-3.5-mini",name:"AionLabs: Aion 3.5 Mini",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text"],cost:{input:.7,output:1.4,cacheRead:.18,cacheWrite:0},contextWindow:262144,maxTokens:32768,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:amazon/nova-2-lite-v1":{type:"chat",id:"amazon/nova-2-lite-v1",name:"Amazon: Nova 2 Lite",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.3,output:2.5,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:65535,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:amazon/nova-lite-v1":{type:"chat",id:"amazon/nova-lite-v1",name:"Amazon: Nova Lite 1.0",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:.06,output:.24,cacheRead:0,cacheWrite:0},contextWindow:3e5,maxTokens:5120,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:amazon/nova-micro-v1":{type:"chat",id:"amazon/nova-micro-v1",name:"Amazon: Nova Micro 1.0",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text"],cost:{input:.035,output:.14,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:5120,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:amazon/nova-premier-v1":{type:"chat",id:"amazon/nova-premier-v1",name:"Amazon: Nova Premier 1.0",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:2.5,output:12.5,cacheRead:.625,cacheWrite:0},contextWindow:1e6,maxTokens:32e3,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:amazon/nova-pro-v1":{type:"chat",id:"amazon/nova-pro-v1",name:"Amazon: Nova Pro 1.0",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:.8,output:3.2,cacheRead:0,cacheWrite:0},contextWindow:3e5,maxTokens:5120,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:anthropic/claude-fable-5:batch":{type:"chat",id:"anthropic/claude-fable-5:batch",name:"Anthropic: Claude Fable 5 (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:anthropic/claude-fable-5.1:batch":{type:"chat",id:"anthropic/claude-fable-5.1:batch",name:"Anthropic: Claude Fable 5.1 (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:5,output:25,cacheRead:.125,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:anthropic/claude-haiku-4.5:batch":{type:"chat",id:"anthropic/claude-haiku-4.5:batch",name:"Anthropic: Claude Haiku 4.5 (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.5,output:2.5,cacheRead:.05,cacheWrite:.625},contextWindow:2e5,maxTokens:64e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:anthropic/claude-haiku-5.5:batch":{type:"chat",id:"anthropic/claude-haiku-5.5:batch",name:"Anthropic: Claude Haiku 5.5 (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:.05,output:.25,cacheRead:.005,cacheWrite:.0625,tiers:[{inputTokensAbove:1e5,input:.25,output:1.25,cacheRead:.025,cacheWrite:.3125}]},contextWindow:1e6,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:anthropic/claude-opus-4.1:batch":{type:"chat",id:"anthropic/claude-opus-4.1:batch",name:"Anthropic: Claude Opus 4.1 (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:7.5,output:37.5,cacheRead:.75,cacheWrite:9.375},contextWindow:2e5,maxTokens:32e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:anthropic/claude-opus-4.5:batch":{type:"chat",id:"anthropic/claude-opus-4.5:batch",name:"Anthropic: Claude Opus 4.5 (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:2.5,output:12.5,cacheRead:.25,cacheWrite:3.125},contextWindow:2e5,maxTokens:64e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:anthropic/claude-opus-4.6:batch":{type:"chat",id:"anthropic/claude-opus-4.6:batch",name:"Anthropic: Claude Opus 4.6 (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:"max"},input:["text","image"],cost:{input:2.5,output:12.5,cacheRead:.25,cacheWrite:3.125},contextWindow:1e6,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:anthropic/claude-opus-4.7:batch":{type:"chat",id:"anthropic/claude-opus-4.7:batch",name:"Anthropic: Claude Opus 4.7 (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:2.5,output:12.5,cacheRead:.25,cacheWrite:3.125},contextWindow:1e6,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:anthropic/claude-opus-4.8:batch":{type:"chat",id:"anthropic/claude-opus-4.8:batch",name:"Anthropic: Claude Opus 4.8 (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:2.5,output:12.5,cacheRead:.25,cacheWrite:3.125},contextWindow:1e6,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:anthropic/claude-opus-5:batch":{type:"chat",id:"anthropic/claude-opus-5:batch",name:"Anthropic: Claude Opus 5 (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:2.5,output:12.5,cacheRead:.25,cacheWrite:3.125},contextWindow:1e6,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:anthropic/claude-opus-5.5:batch":{type:"chat",id:"anthropic/claude-opus-5.5:batch",name:"Anthropic: Claude Opus 5.5 (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:2,output:10,cacheRead:.1,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:anthropic/claude-sonnet-4.5:batch":{type:"chat",id:"anthropic/claude-sonnet-4.5:batch",name:"Anthropic: Claude Sonnet 4.5 (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:1.5,output:7.5,cacheRead:.15,cacheWrite:1.875,tiers:[{inputTokensAbove:2e5,input:3,output:11.25,cacheRead:.3,cacheWrite:3.75}]},contextWindow:1e6,maxTokens:64e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:anthropic/claude-sonnet-4.6:batch":{type:"chat",id:"anthropic/claude-sonnet-4.6:batch",name:"Anthropic: Claude Sonnet 4.6 (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:"max"},input:["text","image"],cost:{input:1.5,output:7.5,cacheRead:.15,cacheWrite:1.875},contextWindow:1e6,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:anthropic/claude-sonnet-5:batch":{type:"chat",id:"anthropic/claude-sonnet-5:batch",name:"Anthropic: Claude Sonnet 5 (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},contextWindow:1e6,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:anthropic/claude-sonnet-5.5:batch":{type:"chat",id:"anthropic/claude-sonnet-5.5:batch",name:"Anthropic: Claude Sonnet 5.5 (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:1,output:5,cacheRead:.05,cacheWrite:1.25},contextWindow:1e6,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:arcee-ai/trinity-large-thinking":{type:"chat",id:"arcee-ai/trinity-large-thinking",name:"Arcee AI: Trinity Large Thinking",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null},input:["text"],cost:{input:.25,output:.8,cacheRead:.06,cacheWrite:0},contextWindow:262144,maxTokens:8e4,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:auto":{id:"auto",name:"Auto",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:2e6,maxTokens:3e4,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:bytedance-seed/seed-1.6":{type:"chat",id:"bytedance-seed/seed-1.6",name:"ByteDance Seed: Seed 1.6",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.25,output:2,cacheRead:0,cacheWrite:0,tiers:[{inputTokensAbove:128e3,input:.5,output:4,cacheRead:0,cacheWrite:0}]},contextWindow:262144,maxTokens:32768,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:bytedance-seed/seed-1.6-flash":{type:"chat",id:"bytedance-seed/seed-1.6-flash",name:"ByteDance Seed: Seed 1.6 Flash",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.075,output:.3,cacheRead:0,cacheWrite:0,tiers:[{inputTokensAbove:128e3,input:.1,output:.8,cacheRead:0,cacheWrite:0}]},contextWindow:262144,maxTokens:32768,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:bytedance-seed/seed-2-1-turbo":{type:"chat",id:"bytedance-seed/seed-2-1-turbo",name:"ByteDance Seed: Seed 2.1 Turbo",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.5,output:2.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:235929,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:bytedance-seed/seed-2.0-code":{type:"chat",id:"bytedance-seed/seed-2.0-code",name:"ByteDance Seed: Seed-2.0-Code",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.5,output:3,cacheRead:0,cacheWrite:0,tiers:[{inputTokensAbove:128e3,input:1,output:6,cacheRead:0,cacheWrite:0}]},contextWindow:262144,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:bytedance-seed/seed-2.0-lite":{type:"chat",id:"bytedance-seed/seed-2.0-lite",name:"ByteDance Seed: Seed-2.0-Lite",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.25,output:2,cacheRead:0,cacheWrite:0,tiers:[{inputTokensAbove:128e3,input:.5,output:4,cacheRead:0,cacheWrite:0}]},contextWindow:262144,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:bytedance-seed/seed-2.0-mini":{type:"chat",id:"bytedance-seed/seed-2.0-mini",name:"ByteDance Seed: Seed-2.0-Mini",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.1,output:.4,cacheRead:0,cacheWrite:0,tiers:[{inputTokensAbove:128e3,input:.2,output:.8,cacheRead:0,cacheWrite:0}]},contextWindow:262144,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:cohere/command-a-plus":{type:"chat",id:"cohere/command-a-plus",name:"Cohere: Command A+",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.3,output:1.5,cacheRead:.15,cacheWrite:0},contextWindow:192e3,maxTokens:64e3,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:cohere/command-r-08-2024":{type:"chat",id:"cohere/command-r-08-2024",name:"Cohere: Command R (08-2024)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text"],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4e3,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:cohere/command-r-plus-08-2024":{type:"chat",id:"cohere/command-r-plus-08-2024",name:"Cohere: Command R+ (08-2024)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text"],cost:{input:2.5,output:10,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4e3,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:cohere/north-mini-code:free":{type:"chat",id:"cohere/north-mini-code:free",name:"Cohere: North Mini Code (free)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:64e3,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:deepseek/deepseek-chat":{type:"chat",id:"deepseek/deepseek-chat",name:"DeepSeek: DeepSeek V3",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text"],cost:{input:.2574,output:1.0287,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16e3,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:deepseek/deepseek-chat-v3-0324":{type:"chat",id:"deepseek/deepseek-chat-v3-0324",name:"DeepSeek: DeepSeek V3 0324",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text"],cost:{input:.29,output:1.14,cacheRead:.11,cacheWrite:0},contextWindow:128e3,maxTokens:115200,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:deepseek/deepseek-chat-v3.1":{type:"chat",id:"deepseek/deepseek-chat-v3.1",name:"DeepSeek: DeepSeek V3.1",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text"],cost:{input:.25,output:.95,cacheRead:.13,cacheWrite:0},contextWindow:163840,maxTokens:32768,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:deepseek/deepseek-r1-0528":{type:"chat",id:"deepseek/deepseek-r1-0528",name:"DeepSeek: R1 0528",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null},input:["text"],cost:{input:.5,output:2.15,cacheRead:.35,cacheWrite:0},contextWindow:163840,maxTokens:32768,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:deepseek/deepseek-v3.1-terminus":{type:"chat",id:"deepseek/deepseek-v3.1-terminus",name:"DeepSeek: DeepSeek V3.1 Terminus",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text"],cost:{input:.27,output:1,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:147456,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:deepseek/deepseek-v3.2":{type:"chat",id:"deepseek/deepseek-v3.2",name:"DeepSeek: DeepSeek V3.2",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text"],cost:{input:.28,output:.42,cacheRead:.028,cacheWrite:0},contextWindow:131072,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:deepseek/deepseek-v3.2-exp":{type:"chat",id:"deepseek/deepseek-v3.2-exp",name:"DeepSeek: DeepSeek V3.2 Exp",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text"],cost:{input:.27,output:.41,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:147456,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:deepseek/deepseek-v4-flash":{type:"chat",id:"deepseek/deepseek-v4-flash",name:"DeepSeek: DeepSeek V4 Flash 0423",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:null,medium:null,high:"high",xhigh:"xhigh",max:null},input:["text"],cost:{input:.091,output:.182,cacheRead:.0182,cacheWrite:0},contextWindow:1048575,maxTokens:943717,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0,requiresReasoningContentOnAssistantMessages:!0}},"chat:deepseek/deepseek-v4-flash-0731":{type:"chat",id:"deepseek/deepseek-v4-flash-0731",name:"DeepSeek: DeepSeek V4 Flash 0731",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text"],cost:{input:.1298,output:.3894,cacheRead:.00413,cacheWrite:0},contextWindow:1048576,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0,requiresReasoningContentOnAssistantMessages:!0}},"chat:deepseek/deepseek-v4-flash-vision-exp":{type:"chat",id:"deepseek/deepseek-v4-flash-vision-exp",name:"DeepSeek: DeepSeek V4 Flash Vision Exp",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text","image"],cost:{input:.2156,output:.6468,cacheRead:.00686,cacheWrite:0},contextWindow:1048576,maxTokens:262144,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0,requiresReasoningContentOnAssistantMessages:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:deepseek/deepseek-v4-pro":{type:"chat",id:"deepseek/deepseek-v4-pro",name:"DeepSeek: DeepSeek V4 Pro 0423",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:null,medium:null,high:"high",xhigh:"xhigh",max:null},input:["text"],cost:{input:.360006,output:.720012,cacheRead:.03,cacheWrite:0},contextWindow:1024e3,maxTokens:384e3,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0,requiresReasoningContentOnAssistantMessages:!0}},"chat:deepseek/deepseek-v4-pro-0813":{type:"chat",id:"deepseek/deepseek-v4-pro-0813",name:"DeepSeek: DeepSeek V4 Pro 0813",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text"],cost:{input:.66,output:1.98,cacheRead:.022,cacheWrite:0},contextWindow:1024e3,maxTokens:384e3,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0,requiresReasoningContentOnAssistantMessages:!0}},"chat:deepseek/deepseek-v4.1-flash":{type:"chat",id:"deepseek/deepseek-v4.1-flash",name:"DeepSeek: DeepSeek V4.1 Flash",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text","image"],cost:{input:.02832,output:.12,cacheRead:566e-6,cacheWrite:0},contextWindow:1048576,maxTokens:943718,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0,requiresReasoningContentOnAssistantMessages:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:deepseek/deepseek-v4.1-flash-1017":{type:"chat",id:"deepseek/deepseek-v4.1-flash-1017",name:"DeepSeek: DeepSeek V4.1 Flash 1017",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text","image"],cost:{input:.15,output:.6,cacheRead:.003,cacheWrite:0},contextWindow:1048576,maxTokens:393216,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0,requiresReasoningContentOnAssistantMessages:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:deepseek/deepseek-v4.1-flash:batch":{type:"chat",id:"deepseek/deepseek-v4.1-flash:batch",name:"DeepSeek: DeepSeek V4.1 Flash (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text","image"],cost:{input:.05,output:.15,cacheRead:.004,cacheWrite:0},contextWindow:1048576,maxTokens:384e3,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0,requiresReasoningContentOnAssistantMessages:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:dots-studio/dots-3-note-preview:free":{type:"chat",id:"dots-studio/dots-3-note-preview:free",name:"Dots Studio: Dots3-Note Preview (free)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:512e3,maxTokens:460800,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:elorian/glimpse":{type:"chat",id:"elorian/glimpse",name:"Elorian: Glimpse",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.6,output:3,cacheRead:.06,cacheWrite:0},contextWindow:262144,maxTokens:256e3,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:fireworks/ember-1":{type:"chat",id:"fireworks/ember-1",name:"Fireworks: Ember-1",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:0},contextWindow:1048576,maxTokens:943718,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:google/gemini-2.5-flash":{type:"chat",id:"google/gemini-2.5-flash",name:"Google: Gemini 2.5 Flash",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.3,output:2.5,cacheRead:.03,cacheWrite:.083333},contextWindow:1048576,maxTokens:65535,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:google/gemini-2.5-flash-lite":{type:"chat",id:"google/gemini-2.5-flash-lite",name:"Google: Gemini 2.5 Flash Lite",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.1,output:.4,cacheRead:.01,cacheWrite:.083333},contextWindow:1048576,maxTokens:65535,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:google/gemini-2.5-flash-lite:batch":{type:"chat",id:"google/gemini-2.5-flash-lite:batch",name:"Google: Gemini 2.5 Flash Lite (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.05,output:.2,cacheRead:.01,cacheWrite:0},contextWindow:1048576,maxTokens:65535,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:google/gemini-2.5-pro":{type:"chat",id:"google/gemini-2.5-pro",name:"Google: Gemini 2.5 Pro",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null},input:["text","image"],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:.375,tiers:[{inputTokensAbove:2e5,input:2.5,output:15,cacheRead:.25,cacheWrite:.375}]},contextWindow:1048576,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:google/gemini-2.5-pro-preview":{type:"chat",id:"google/gemini-2.5-pro-preview",name:"Google: Gemini 2.5 Pro Preview 06-05",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null},input:["text","image"],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:.375,tiers:[{inputTokensAbove:2e5,input:2.5,output:15,cacheRead:.25,cacheWrite:.375}]},contextWindow:1048576,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:google/gemini-3-flash-preview":{type:"chat",id:"google/gemini-3-flash-preview",name:"Google: Gemini 3 Flash Preview",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.5,output:3,cacheRead:.05,cacheWrite:.083333},contextWindow:1048576,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:google/gemini-3-flash-preview:batch":{type:"chat",id:"google/gemini-3-flash-preview:batch",name:"Google: Gemini 3 Flash Preview (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.25,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:google/gemini-3-pro-image":{type:"chat",id:"google/gemini-3-pro-image",name:"Google: Nano Banana Pro (Gemini 3 Pro Image)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null},input:["text","image"],cost:{input:2,output:12,cacheRead:.2,cacheWrite:.375},contextWindow:65536,maxTokens:32768,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:google/gemini-3.1-flash-lite":{type:"chat",id:"google/gemini-3.1-flash-lite",name:"Google: Gemini 3.1 Flash Lite",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.25,output:1.5,cacheRead:.025,cacheWrite:.083333},contextWindow:1048576,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:google/gemini-3.1-flash-lite-preview":{type:"chat",id:"google/gemini-3.1-flash-lite-preview",name:"Google: Gemini 3.1 Flash Lite Preview",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.25,output:1.5,cacheRead:.025,cacheWrite:.083333},contextWindow:1048576,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:google/gemini-3.1-flash-lite:batch":{type:"chat",id:"google/gemini-3.1-flash-lite:batch",name:"Google: Gemini 3.1 Flash Lite (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.125,output:.75,cacheRead:.0125,cacheWrite:0},contextWindow:1048576,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:google/gemini-3.1-pro-preview":{type:"chat",id:"google/gemini-3.1-pro-preview",name:"Google: Gemini 3.1 Pro Preview",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:2,output:12,cacheRead:.2,cacheWrite:.375,tiers:[{inputTokensAbove:2e5,input:4,output:18,cacheRead:.4,cacheWrite:.375}]},contextWindow:1048576,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:google/gemini-3.1-pro-preview-customtools":{type:"chat",id:"google/gemini-3.1-pro-preview-customtools",name:"Google: Gemini 3.1 Pro Preview Custom Tools",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:2,output:12,cacheRead:.2,cacheWrite:.375,tiers:[{inputTokensAbove:2e5,input:4,output:18,cacheRead:.4,cacheWrite:.375}]},contextWindow:1048576,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:google/gemini-3.1-pro-preview:batch":{type:"chat",id:"google/gemini-3.1-pro-preview:batch",name:"Google: Gemini 3.1 Pro Preview (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:1,output:6,cacheRead:0,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:2,output:9,cacheRead:0,cacheWrite:0}]},contextWindow:1048576,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:google/gemini-3.5-flash":{type:"chat",id:"google/gemini-3.5-flash",name:"Google: Gemini 3.5 Flash",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:1.5,output:9,cacheRead:.15,cacheWrite:.083333},contextWindow:1048576,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:google/gemini-3.5-flash-lite":{type:"chat",id:"google/gemini-3.5-flash-lite",name:"Google: Gemini 3.5 Flash Lite",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.3,output:2.5,cacheRead:.03,cacheWrite:.083333},contextWindow:1048576,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:google/gemini-3.5-flash-lite:batch":{type:"chat",id:"google/gemini-3.5-flash-lite:batch",name:"Google: Gemini 3.5 Flash Lite (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.15,output:1.25,cacheRead:.015,cacheWrite:0},contextWindow:1048576,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:google/gemini-3.5-flash:batch":{type:"chat",id:"google/gemini-3.5-flash:batch",name:"Google: Gemini 3.5 Flash (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:1048576,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:google/gemini-3.6-flash":{type:"chat",id:"google/gemini-3.6-flash",name:"Google: Gemini 3.6 Flash",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.75,output:3.75,cacheRead:.075,cacheWrite:.041667},contextWindow:1048576,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:google/gemini-3.6-flash:batch":{type:"chat",id:"google/gemini-3.6-flash:batch",name:"Google: Gemini 3.6 Flash (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.375,output:1.875,cacheRead:.0375,cacheWrite:.041667},contextWindow:1048576,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:google/gemini-3.7-flash":{type:"chat",id:"google/gemini-3.7-flash",name:"Google: Gemini 3.7 Flash",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.75,output:3.75,cacheRead:.075,cacheWrite:.041667},contextWindow:1048576,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:google/gemini-3.7-flash:batch":{type:"chat",id:"google/gemini-3.7-flash:batch",name:"Google: Gemini 3.7 Flash (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.375,output:1.875,cacheRead:.0375,cacheWrite:.041667},contextWindow:1048576,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:google/gemini-3.8-flash":{type:"chat",id:"google/gemini-3.8-flash",name:"Google: Gemini 3.8 Flash",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.825,output:4.125,cacheRead:.0825,cacheWrite:.041667},contextWindow:1048576,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:google/gemini-3.8-flash:batch":{type:"chat",id:"google/gemini-3.8-flash:batch",name:"Google: Gemini 3.8 Flash (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.375,output:1.875,cacheRead:.0375,cacheWrite:.041667},contextWindow:1048576,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:google/gemini-4-argon":{type:"chat",id:"google/gemini-4-argon",name:"Google: Gemini 4 Argon",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:2,output:10,cacheRead:.1,cacheWrite:.1875},contextWindow:1048576,maxTokens:943718,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:google/gemini-4-argon:batch":{type:"chat",id:"google/gemini-4-argon:batch",name:"Google: Gemini 4 Argon (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:1,output:5,cacheRead:.05,cacheWrite:.1875},contextWindow:1048576,maxTokens:943718,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:google/gemini-nano-banana-2.1":{type:"chat",id:"google/gemini-nano-banana-2.1",name:"Google: Nano Banana 2.1",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:"minimal",low:null,medium:null,high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:1.5,output:7.5,cacheRead:0,cacheWrite:0},contextWindow:65536,maxTokens:58982,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:google/gemma-3-12b-it":{type:"chat",id:"google/gemma-3-12b-it",name:"Google: Gemma 3 12B",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:.05,output:.15,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:google/gemma-3-27b-it":{type:"chat",id:"google/gemma-3-27b-it",name:"Google: Gemma 3 27B",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:.08,output:.35,cacheRead:.04,cacheWrite:0},contextWindow:131072,maxTokens:117964,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:google/gemma-4-26b-a4b-it":{type:"chat",id:"google/gemma-4-26b-a4b-it",name:"Google: Gemma 4 26B A4B ",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.0765,output:.255,cacheRead:.0425,cacheWrite:0},contextWindow:262144,maxTokens:235929,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:google/gemma-4-26b-a4b-it:free":{type:"chat",id:"google/gemma-4-26b-a4b-it:free",name:"Google: Gemma 4 26B A4B (free)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:google/gemma-4-31b-it":{type:"chat",id:"google/gemma-4-31b-it",name:"Google: Gemma 4 31B",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.2,output:.4,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:16384,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:google/gemma-4-31b-it:free":{type:"chat",id:"google/gemma-4-31b-it:free",name:"Google: Gemma 4 31B (free)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:ibm-granite/granite-4.2-8b":{type:"chat",id:"ibm-granite/granite-4.2-8b",name:"IBM: Granite 4.2 8B",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:null},input:["text"],cost:{input:.06,output:.25,cacheRead:.015,cacheWrite:0},contextWindow:131072,maxTokens:117964,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:inception/mercury-2":{type:"chat",id:"inception/mercury-2",name:"Inception: Mercury 2",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text"],cost:{input:.25,output:.75,cacheRead:.025,cacheWrite:0},contextWindow:128e3,maxTokens:5e4,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:inception/mercury-2.5":{type:"chat",id:"inception/mercury-2.5",name:"Inception: Mercury 2.5",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text"],cost:{input:.04,output:.15,cacheRead:.004,cacheWrite:0},contextWindow:26e4,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:inception/mercury-3":{type:"chat",id:"inception/mercury-3",name:"Inception: Mercury 3",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text"],cost:{input:.1,output:.35,cacheRead:.01,cacheWrite:0},contextWindow:1e6,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:inclusionai/ling-3.0-flash":{type:"chat",id:"inclusionai/ling-3.0-flash",name:"inclusionAI: Ling 3.0 Flash",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text"],cost:{input:.021,output:.063,cacheRead:.0042,cacheWrite:0},contextWindow:262144,maxTokens:32768,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:inclusionai/ling-3.0-flash-vl":{type:"chat",id:"inclusionai/ling-3.0-flash-vl",name:"inclusionAI: Ling 3.0 Flash VL",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.06,output:.18,cacheRead:.012,cacheWrite:0},contextWindow:131072,maxTokens:32768,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:inclusionai/ling-3.1-flash":{type:"chat",id:"inclusionai/ling-3.1-flash",name:"inclusionAI: Ling 3.1 Flash",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text"],cost:{input:.075,output:.225,cacheRead:.015,cacheWrite:0},contextWindow:262144,maxTokens:235929,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:liquid/lfm-2.5-2.6b:free":{type:"chat",id:"liquid/lfm-2.5-2.6b:free",name:"LiquidAI: LFM2.5-2.6B (free)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null},input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:65536,maxTokens:8192,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:liquid/lfm-2.5-24b-a2b":{type:"chat",id:"liquid/lfm-2.5-24b-a2b",name:"LiquidAI: LFM2.5-24B-A2B",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null},input:["text"],cost:{input:.05,output:.7,cacheRead:.025,cacheWrite:0},contextWindow:128e3,maxTokens:8192,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:meituan/longcat-2.0":{type:"chat",id:"meituan/longcat-2.0",name:"Meituan: LongCat 2.0",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text"],cost:{input:.3,output:1.2,cacheRead:.006,cacheWrite:0},contextWindow:1048756,maxTokens:262144,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:meta-llama/llama-3.1-70b-instruct":{type:"chat",id:"meta-llama/llama-3.1-70b-instruct",name:"Meta: Llama 3.1 70B Instruct",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text"],cost:{input:.4,output:.4,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:meta-llama/llama-3.1-8b-instruct":{type:"chat",id:"meta-llama/llama-3.1-8b-instruct",name:"Meta: Llama 3.1 8B Instruct",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text"],cost:{input:.05,output:.08,cacheRead:.025,cacheWrite:0},contextWindow:131072,maxTokens:117964,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:meta-llama/llama-3.3-70b-instruct":{type:"chat",id:"meta-llama/llama-3.3-70b-instruct",name:"Meta: Llama 3.3 70B Instruct",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text"],cost:{input:.1,output:.32,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:meta-llama/llama-4-maverick":{type:"chat",id:"meta-llama/llama-4-maverick",name:"Meta: Llama 4 Maverick",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:.1875,output:.6525,cacheRead:.05,cacheWrite:0},contextWindow:128e3,maxTokens:16384,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:meta-llama/llama-4-scout":{type:"chat",id:"meta-llama/llama-4-scout",name:"Meta: Llama 4 Scout",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:.1,output:.3,cacheRead:0,cacheWrite:0},contextWindow:327680,maxTokens:16384,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:meta/muse-glimmer-30b":{type:"chat",id:"meta/muse-glimmer-30b",name:"Meta: Muse Glimmer 30B",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image"],cost:{input:.3,output:1.2,cacheRead:.04,cacheWrite:0},contextWindow:131072,maxTokens:16384,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:meta/muse-spark-1.1":{type:"chat",id:"meta/muse-spark-1.1",name:"Meta: Muse Spark 1.1",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image"],cost:{input:1.25,output:4.25,cacheRead:.15,cacheWrite:0},contextWindow:1048576,maxTokens:943718,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:meta/muse-spark-1.2":{type:"chat",id:"meta/muse-spark-1.2",name:"Meta: Muse Spark 1.2",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image"],cost:{input:1.25,output:4.25,cacheRead:.15,cacheWrite:0},contextWindow:1048576,maxTokens:943718,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:meta/muse-spark-1.2-contributor":{type:"chat",id:"meta/muse-spark-1.2-contributor",name:"Meta: Muse Spark 1.2 Contributor",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image"],cost:{input:.1,output:.2,cacheRead:.002,cacheWrite:0},contextWindow:1048576,maxTokens:943718,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:meta/muse-spark-1.3":{type:"chat",id:"meta/muse-spark-1.3",name:"Meta: Muse Spark 1.3",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:1.25,output:4.25,cacheRead:.15,cacheWrite:0},contextWindow:1048576,maxTokens:943718,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:meta/muse-spark-1.3-contributor":{type:"chat",id:"meta/muse-spark-1.3-contributor",name:"Meta: Muse Spark 1.3 Contributor",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:.1,output:.2,cacheRead:.002,cacheWrite:0},contextWindow:1048576,maxTokens:943718,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:meta/muse-spark-open":{type:"chat",id:"meta/muse-spark-open",name:"Meta: Muse Spark Open",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image"],cost:{input:1.25,output:4.25,cacheRead:.15,cacheWrite:0},contextWindow:1048576,maxTokens:943718,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:meta/muse-wonder":{type:"chat",id:"meta/muse-wonder",name:"Meta: Muse Wonder",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:4,output:20,cacheRead:.2,cacheWrite:0},contextWindow:1048576,maxTokens:943718,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:minimax/minimax-m1":{type:"chat",id:"minimax/minimax-m1",name:"MiniMax: MiniMax M1",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text"],cost:{input:.55,output:2.2,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:4e4,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:minimax/minimax-m2":{type:"chat",id:"minimax/minimax-m2",name:"MiniMax: MiniMax M2",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null},input:["text"],cost:{input:.255,output:1.02,cacheRead:0,cacheWrite:0},contextWindow:204800,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:minimax/minimax-m2.1":{type:"chat",id:"minimax/minimax-m2.1",name:"MiniMax: MiniMax M2.1",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null},input:["text"],cost:{input:.3,output:1.2,cacheRead:.03,cacheWrite:0},contextWindow:204800,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:minimax/minimax-m2.5":{type:"chat",id:"minimax/minimax-m2.5",name:"MiniMax: MiniMax M2.5",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null},input:["text"],cost:{input:.27,output:.95,cacheRead:.03,cacheWrite:0},contextWindow:198e3,maxTokens:32768,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:minimax/minimax-m2.7":{type:"chat",id:"minimax/minimax-m2.7",name:"MiniMax: MiniMax M2.7",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null},input:["text"],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:0},contextWindow:204800,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:minimax/minimax-m3":{type:"chat",id:"minimax/minimax-m3",name:"MiniMax: MiniMax M3",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:0},contextWindow:524288,maxTokens:512e3,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:minimax/minimax-m3.1-flash:free":{type:"chat",id:"minimax/minimax-m3.1-flash:free",name:"MiniMax: MiniMax M3.1 Flash (free)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:524288,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:mistralai/codestral-2508":{type:"chat",id:"mistralai/codestral-2508",name:"Mistral: Codestral 2508",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text"],cost:{input:.3,output:.9,cacheRead:.03,cacheWrite:0},contextWindow:256e3,maxTokens:204800,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:mistralai/codestral-2508:batch":{type:"chat",id:"mistralai/codestral-2508:batch",name:"Mistral: Codestral 2508 (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text"],cost:{input:.15,output:.45,cacheRead:.015,cacheWrite:0},contextWindow:256e3,maxTokens:204800,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:mistralai/devstral-2512":{type:"chat",id:"mistralai/devstral-2512",name:"Mistral: Devstral 2 2512",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text"],cost:{input:.4,output:2,cacheRead:.04,cacheWrite:0},contextWindow:262144,maxTokens:209715,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:mistralai/ministral-14b-2512":{type:"chat",id:"mistralai/ministral-14b-2512",name:"Mistral: Ministral 3 14B 2512",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:.2,output:.2,cacheRead:.02,cacheWrite:0},contextWindow:262144,maxTokens:209715,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:mistralai/ministral-3b-2512":{type:"chat",id:"mistralai/ministral-3b-2512",name:"Mistral: Ministral 3 3B 2512",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:.1,output:.1,cacheRead:.01,cacheWrite:0},contextWindow:131072,maxTokens:104857,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:mistralai/ministral-8b-2512":{type:"chat",id:"mistralai/ministral-8b-2512",name:"Mistral: Ministral 3 8B 2512",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:.15,output:.15,cacheRead:.015,cacheWrite:0},contextWindow:262144,maxTokens:209715,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:mistralai/ministral-8b-2512:batch":{type:"chat",id:"mistralai/ministral-8b-2512:batch",name:"Mistral: Ministral 3 8B 2512 (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:.075,output:.075,cacheRead:.0075,cacheWrite:0},contextWindow:262144,maxTokens:209715,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:mistralai/mistral-large":{type:"chat",id:"mistralai/mistral-large",name:"Mistral Large",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text"],cost:{input:2,output:6,cacheRead:.2,cacheWrite:0},contextWindow:128e3,maxTokens:102400,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:mistralai/mistral-large-2407":{type:"chat",id:"mistralai/mistral-large-2407",name:"Mistral Large 2407",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text"],cost:{input:2,output:6,cacheRead:.2,cacheWrite:0},contextWindow:131072,maxTokens:104857,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:mistralai/mistral-large-2512":{type:"chat",id:"mistralai/mistral-large-2512",name:"Mistral: Mistral Large 3 2512",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:.5,output:1.5,cacheRead:.05,cacheWrite:0},contextWindow:262144,maxTokens:209715,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:mistralai/mistral-large-2512:batch":{type:"chat",id:"mistralai/mistral-large-2512:batch",name:"Mistral: Mistral Large 3 2512 (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:.25,output:.75,cacheRead:.025,cacheWrite:0},contextWindow:262144,maxTokens:209715,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:mistralai/mistral-large-4-0":{type:"chat",id:"mistralai/mistral-large-4-0",name:"Mistral: Mistral Large 4",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:1.36,output:4.18,cacheRead:.14,cacheWrite:0},contextWindow:1048576,maxTokens:262144,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:mistralai/mistral-medium-3":{type:"chat",id:"mistralai/mistral-medium-3",name:"Mistral: Mistral Medium 3",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:.4,output:2,cacheRead:.04,cacheWrite:0},contextWindow:131072,maxTokens:104857,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:mistralai/mistral-medium-3-5":{type:"chat",id:"mistralai/mistral-medium-3-5",name:"Mistral: Mistral Medium 3.5",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:1.5,output:7.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:209715,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:mistralai/mistral-medium-3-5:batch":{type:"chat",id:"mistralai/mistral-medium-3-5:batch",name:"Mistral: Mistral Medium 3.5 (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.75,output:3.75,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:209715,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:mistralai/mistral-medium-3.1":{type:"chat",id:"mistralai/mistral-medium-3.1",name:"Mistral: Mistral Medium 3.1",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:.4,output:2,cacheRead:.04,cacheWrite:0},contextWindow:131072,maxTokens:104857,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:mistralai/mistral-medium-3.1:batch":{type:"chat",id:"mistralai/mistral-medium-3.1:batch",name:"Mistral: Mistral Medium 3.1 (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:.2,output:1,cacheRead:.02,cacheWrite:0},contextWindow:131072,maxTokens:104857,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:mistralai/mistral-nemo":{type:"chat",id:"mistralai/mistral-nemo",name:"Mistral: Mistral Nemo",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text"],cost:{input:.029,output:.03,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:mistralai/mistral-saba":{type:"chat",id:"mistralai/mistral-saba",name:"Mistral: Saba",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text"],cost:{input:.2,output:.6,cacheRead:.02,cacheWrite:0},contextWindow:32768,maxTokens:26214,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:mistralai/mistral-small-2603":{type:"chat",id:"mistralai/mistral-small-2603",name:"Mistral: Mistral Small 4",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.15,output:.6,cacheRead:.015,cacheWrite:0},contextWindow:262144,maxTokens:209715,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:mistralai/mistral-small-2603:batch":{type:"chat",id:"mistralai/mistral-small-2603:batch",name:"Mistral: Mistral Small 4 (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.075,output:.3,cacheRead:.0075,cacheWrite:0},contextWindow:262144,maxTokens:209715,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:mistralai/mistral-small-3.1-24b-instruct":{type:"chat",id:"mistralai/mistral-small-3.1-24b-instruct",name:"Mistral: Mistral Small 3.1 24B",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:.351,output:.555,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:102400,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:mistralai/mistral-small-3.2-24b-instruct":{type:"chat",id:"mistralai/mistral-small-3.2-24b-instruct",name:"Mistral: Mistral Small 3.2 24B",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:.09375,output:.25,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:16384,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:mistralai/mixtral-8x22b-instruct":{type:"chat",id:"mistralai/mixtral-8x22b-instruct",name:"Mistral: Mixtral 8x22B Instruct",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text"],cost:{input:2,output:6,cacheRead:.2,cacheWrite:0},contextWindow:65536,maxTokens:52428,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:mistralai/voxtral-small-24b-2507":{type:"chat",id:"mistralai/voxtral-small-24b-2507",name:"Mistral: Voxtral Small 24B 2507",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text"],cost:{input:.1,output:.3,cacheRead:.01,cacheWrite:0},contextWindow:32768,maxTokens:26214,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:moonshotai/kimi-k2":{type:"chat",id:"moonshotai/kimi-k2",name:"MoonshotAI: Kimi K2 0711",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text"],cost:{input:.57,output:2.3,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:98304,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:moonshotai/kimi-k2-0905":{type:"chat",id:"moonshotai/kimi-k2-0905",name:"MoonshotAI: Kimi K2 0905",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text"],cost:{input:.6,output:2.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:98304,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:moonshotai/kimi-k2-thinking":{type:"chat",id:"moonshotai/kimi-k2-thinking",name:"MoonshotAI: Kimi K2 Thinking",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null},input:["text"],cost:{input:.6,output:2.5,cacheRead:.15,cacheWrite:0},contextWindow:262144,maxTokens:98304,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:moonshotai/kimi-k2.5":{type:"chat",id:"moonshotai/kimi-k2.5",name:"MoonshotAI: Kimi K2.5",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.41,output:2.06,cacheRead:.07,cacheWrite:0},contextWindow:262144,maxTokens:4096,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:moonshotai/kimi-k2.6":{type:"chat",id:"moonshotai/kimi-k2.6",name:"MoonshotAI: Kimi K2.6",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.65,output:3.41,cacheRead:.15,cacheWrite:0},contextWindow:262144,maxTokens:235929,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0,requiresReasoningContentOnAssistantMessages:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:moonshotai/kimi-k2.7-code":{type:"chat",id:"moonshotai/kimi-k2.7-code",name:"MoonshotAI: Kimi K2.7 Code",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null},input:["text","image"],cost:{input:.6712,output:3.35,cacheRead:.18,cacheWrite:0},contextWindow:262144,maxTokens:235929,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:moonshotai/kimi-k3":{type:"chat",id:"moonshotai/kimi-k3",name:"MoonshotAI: Kimi K3",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text","image"],cost:{input:.239,output:11.936,cacheRead:.21,cacheWrite:0},contextWindow:1048576,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:moonshotai/kimi-k3:batch":{type:"chat",id:"moonshotai/kimi-k3:batch",name:"MoonshotAI: Kimi K3 (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text","image"],cost:{input:2.28,output:11.4,cacheRead:.228,cacheWrite:0},contextWindow:1048576,maxTokens:16384,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:nex-agi/nex-n2.5-pro":{type:"chat",id:"nex-agi/nex-n2.5-pro",name:"Nex AGI: Nex-N2.5-Pro",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:null,medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.075,output:.25,cacheRead:.015,cacheWrite:0},contextWindow:262144,maxTokens:235929,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:nvidia/nemotron-3-nano-30b-a3b":{type:"chat",id:"nvidia/nemotron-3-nano-30b-a3b",name:"NVIDIA: Nemotron 3 Nano 30B A3B",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text"],cost:{input:.06,output:.24,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:235929,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free":{type:"chat",id:"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free",name:"NVIDIA: Nemotron 3 Nano Omni (free)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:nvidia/nemotron-3-super-120b-a12b":{type:"chat",id:"nvidia/nemotron-3-super-120b-a12b",name:"NVIDIA: Nemotron 3 Super",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:null,xhigh:null,max:null},input:["text"],cost:{input:.08,output:.45,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:235929,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:nvidia/nemotron-3-super-120b-a12b:free":{type:"chat",id:"nvidia/nemotron-3-super-120b-a12b:free",name:"NVIDIA: Nemotron 3 Super (free)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:null,xhigh:null,max:null},input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:235929,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:nvidia/nemotron-3-ultra-550b-a55b":{type:"chat",id:"nvidia/nemotron-3-ultra-550b-a55b",name:"NVIDIA: Nemotron 3 Ultra",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:null,medium:"medium",high:"high",xhigh:null,max:null},input:["text"],cost:{input:.6,output:2.4,cacheRead:.12,cacheWrite:0},contextWindow:202800,maxTokens:182520,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:nvidia/nemotron-3-ultra-550b-a55b:free":{type:"chat",id:"nvidia/nemotron-3-ultra-550b-a55b:free",name:"NVIDIA: Nemotron 3 Ultra (free)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:null,medium:"medium",high:"high",xhigh:null,max:null},input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:nvidia/nemotron-3.5-lightning":{type:"chat",id:"nvidia/nemotron-3.5-lightning",name:"NVIDIA: Nemotron 3.5 Lightning",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text"],cost:{input:.07,output:.2,cacheRead:.04,cacheWrite:0},contextWindow:262144,maxTokens:235929,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:nvidia/nemotron-3.5-lightning:free":{type:"chat",id:"nvidia/nemotron-3.5-lightning:free",name:"NVIDIA: Nemotron 3.5 Lightning (free)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:nvidia/nemotron-3.5-super-vl":{type:"chat",id:"nvidia/nemotron-3.5-super-vl",name:"NVIDIA: Nemotron 3.5 Super VL",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.15,output:.5,cacheRead:.02,cacheWrite:0},contextWindow:262144,maxTokens:235929,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:nvidia/nemotron-3.5-super-vl:free":{type:"chat",id:"nvidia/nemotron-3.5-super-vl:free",name:"NVIDIA: Nemotron 3.5 Super VL (free)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-3.5-turbo":{type:"chat",id:"openai/gpt-3.5-turbo",name:"OpenAI: GPT-3.5 Turbo",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text"],cost:{input:.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:16385,maxTokens:4096,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:openai/gpt-3.5-turbo-0613":{type:"chat",id:"openai/gpt-3.5-turbo-0613",name:"OpenAI: GPT-3.5 Turbo (older v0613)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text"],cost:{input:1,output:2,cacheRead:0,cacheWrite:0},contextWindow:4095,maxTokens:3685,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:openai/gpt-3.5-turbo-16k":{type:"chat",id:"openai/gpt-3.5-turbo-16k",name:"OpenAI: GPT-3.5 Turbo 16k",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text"],cost:{input:3,output:4,cacheRead:0,cacheWrite:0},contextWindow:16385,maxTokens:4096,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:openai/gpt-3.5-turbo:batch":{type:"chat",id:"openai/gpt-3.5-turbo:batch",name:"OpenAI: GPT-3.5 Turbo (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text"],cost:{input:.25,output:.75,cacheRead:0,cacheWrite:0},contextWindow:16385,maxTokens:4096,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:openai/gpt-4":{type:"chat",id:"openai/gpt-4",name:"OpenAI: GPT-4",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text"],cost:{input:30,output:60,cacheRead:0,cacheWrite:0},contextWindow:8191,maxTokens:4096,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:openai/gpt-4-turbo":{type:"chat",id:"openai/gpt-4-turbo",name:"OpenAI: GPT-4 Turbo",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:10,output:30,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-4-turbo:batch":{type:"chat",id:"openai/gpt-4-turbo:batch",name:"OpenAI: GPT-4 Turbo (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:5,output:15,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-4.1":{type:"chat",id:"openai/gpt-4.1",name:"OpenAI: GPT-4.1",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:2,output:8,cacheRead:.5,cacheWrite:0},contextWindow:1047576,maxTokens:32768,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-4.1-mini":{type:"chat",id:"openai/gpt-4.1-mini",name:"OpenAI: GPT-4.1 Mini",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:.4,output:1.6,cacheRead:.1,cacheWrite:0},contextWindow:1047576,maxTokens:32768,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-4.1-mini:batch":{type:"chat",id:"openai/gpt-4.1-mini:batch",name:"OpenAI: GPT-4.1 Mini (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:.2,output:.8,cacheRead:.05,cacheWrite:0},contextWindow:1047576,maxTokens:32768,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-4.1-nano":{type:"chat",id:"openai/gpt-4.1-nano",name:"OpenAI: GPT-4.1 Nano",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:.1,output:.4,cacheRead:.025,cacheWrite:0},contextWindow:1047576,maxTokens:32768,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-4.1-nano:batch":{type:"chat",id:"openai/gpt-4.1-nano:batch",name:"OpenAI: GPT-4.1 Nano (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:.05,output:.2,cacheRead:.0125,cacheWrite:0},contextWindow:1047576,maxTokens:32768,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-4.1:batch":{type:"chat",id:"openai/gpt-4.1:batch",name:"OpenAI: GPT-4.1 (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:1,output:4,cacheRead:.25,cacheWrite:0},contextWindow:1047576,maxTokens:32768,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-4o":{type:"chat",id:"openai/gpt-4o",name:"OpenAI: GPT-4o",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128e3,maxTokens:16384,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-4o-2024-05-13":{type:"chat",id:"openai/gpt-4o-2024-05-13",name:"OpenAI: GPT-4o (2024-05-13)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:5,output:15,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-4o-2024-08-06":{type:"chat",id:"openai/gpt-4o-2024-08-06",name:"OpenAI: GPT-4o (2024-08-06)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128e3,maxTokens:16384,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-4o-2024-11-20":{type:"chat",id:"openai/gpt-4o-2024-11-20",name:"OpenAI: GPT-4o (2024-11-20)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128e3,maxTokens:16384,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-4o-mini":{type:"chat",id:"openai/gpt-4o-mini",name:"OpenAI: GPT-4o-mini",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:.15,output:.6,cacheRead:.075,cacheWrite:0},contextWindow:128e3,maxTokens:16384,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-4o-mini-2024-07-18":{type:"chat",id:"openai/gpt-4o-mini-2024-07-18",name:"OpenAI: GPT-4o-mini (2024-07-18)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:.15,output:.6,cacheRead:.075,cacheWrite:0},contextWindow:128e3,maxTokens:16384,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-4o-mini:batch":{type:"chat",id:"openai/gpt-4o-mini:batch",name:"OpenAI: GPT-4o-mini (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:.075,output:.3,cacheRead:.0375,cacheWrite:0},contextWindow:128e3,maxTokens:16384,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-4o:batch":{type:"chat",id:"openai/gpt-4o:batch",name:"OpenAI: GPT-4o (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:1.25,output:5,cacheRead:.625,cacheWrite:0},contextWindow:128e3,maxTokens:16384,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5":{type:"chat",id:"openai/gpt-5",name:"OpenAI: GPT-5",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5-mini":{type:"chat",id:"openai/gpt-5-mini",name:"OpenAI: GPT-5 Mini",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.25,output:2,cacheRead:.025,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5-mini:batch":{type:"chat",id:"openai/gpt-5-mini:batch",name:"OpenAI: GPT-5 Mini (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.125,output:1,cacheRead:.0125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5-nano":{type:"chat",id:"openai/gpt-5-nano",name:"OpenAI: GPT-5 Nano",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.05,output:.4,cacheRead:.005,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5-nano:batch":{type:"chat",id:"openai/gpt-5-nano:batch",name:"OpenAI: GPT-5 Nano (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.025,output:.2,cacheRead:.0025,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5-pro":{type:"chat",id:"openai/gpt-5-pro",name:"OpenAI: GPT-5 Pro",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:15,output:120,cacheRead:0,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5-pro:batch":{type:"chat",id:"openai/gpt-5-pro:batch",name:"OpenAI: GPT-5 Pro (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:7.5,output:60,cacheRead:0,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5:batch":{type:"chat",id:"openai/gpt-5:batch",name:"OpenAI: GPT-5 (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.625,output:5,cacheRead:.0625,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5.1":{type:"chat",id:"openai/gpt-5.1",name:"OpenAI: GPT-5.1",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5.1-codex":{type:"chat",id:"openai/gpt-5.1-codex",name:"OpenAI: GPT-5.1-Codex",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:1.25,output:10,cacheRead:.13,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5.1-codex-max":{type:"chat",id:"openai/gpt-5.1-codex-max",name:"OpenAI: GPT-5.1-Codex-Max",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image"],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5.1-codex-mini":{type:"chat",id:"openai/gpt-5.1-codex-mini",name:"OpenAI: GPT-5.1-Codex-Mini",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.25,output:2,cacheRead:.03,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5.1:batch":{type:"chat",id:"openai/gpt-5.1:batch",name:"OpenAI: GPT-5.1 (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.625,output:5,cacheRead:.0625,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5.2":{type:"chat",id:"openai/gpt-5.2",name:"OpenAI: GPT-5.2",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image"],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5.2-chat":{type:"chat",id:"openai/gpt-5.2-chat",name:"OpenAI: GPT-5.2 Chat",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:128e3,maxTokens:32e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5.2-codex":{type:"chat",id:"openai/gpt-5.2-codex",name:"OpenAI: GPT-5.2-Codex",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image"],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5.2-pro":{type:"chat",id:"openai/gpt-5.2-pro",name:"OpenAI: GPT-5.2 Pro",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:null,medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image"],cost:{input:21,output:168,cacheRead:0,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5.2-pro:batch":{type:"chat",id:"openai/gpt-5.2-pro:batch",name:"OpenAI: GPT-5.2 Pro (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:null,medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image"],cost:{input:10.5,output:84,cacheRead:0,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5.2:batch":{type:"chat",id:"openai/gpt-5.2:batch",name:"OpenAI: GPT-5.2 (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image"],cost:{input:.875,output:7,cacheRead:.0875,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5.3-codex":{type:"chat",id:"openai/gpt-5.3-codex",name:"OpenAI: GPT-5.3-Codex",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image"],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5.4":{type:"chat",id:"openai/gpt-5.4",name:"OpenAI: GPT-5.4",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image"],cost:{input:2.5,output:15,cacheRead:.25,cacheWrite:0,tiers:[{inputTokensAbove:272e3,input:5,output:22.5,cacheRead:.5,cacheWrite:0}]},contextWindow:105e4,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0,supportsMidConvoSystemMessages:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5.4-mini":{type:"chat",id:"openai/gpt-5.4-mini",name:"OpenAI: GPT-5.4 Mini",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image"],cost:{input:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0,supportsMidConvoSystemMessages:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5.4-mini:batch":{type:"chat",id:"openai/gpt-5.4-mini:batch",name:"OpenAI: GPT-5.4 Mini (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image"],cost:{input:.375,output:2.25,cacheRead:.0375,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5.4-nano":{type:"chat",id:"openai/gpt-5.4-nano",name:"OpenAI: GPT-5.4 Nano",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image"],cost:{input:.2,output:1.25,cacheRead:.02,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5.4-nano:batch":{type:"chat",id:"openai/gpt-5.4-nano:batch",name:"OpenAI: GPT-5.4 Nano (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image"],cost:{input:.1,output:.625,cacheRead:.01,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5.4-pro":{type:"chat",id:"openai/gpt-5.4-pro",name:"OpenAI: GPT-5.4 Pro",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:null,medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image"],cost:{input:30,output:180,cacheRead:0,cacheWrite:0,tiers:[{inputTokensAbove:272e3,input:60,output:270,cacheRead:0,cacheWrite:0}]},contextWindow:105e4,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0,supportsMidConvoSystemMessages:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5.4-pro:batch":{type:"chat",id:"openai/gpt-5.4-pro:batch",name:"OpenAI: GPT-5.4 Pro (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:null,medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image"],cost:{input:15,output:90,cacheRead:0,cacheWrite:0,tiers:[{inputTokensAbove:272e3,input:30,output:135,cacheRead:0,cacheWrite:0}]},contextWindow:105e4,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5.4:batch":{type:"chat",id:"openai/gpt-5.4:batch",name:"OpenAI: GPT-5.4 (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image"],cost:{input:1.25,output:7.5,cacheRead:.125,cacheWrite:0,tiers:[{inputTokensAbove:272e3,input:2.5,output:11.25,cacheRead:.25,cacheWrite:0}]},contextWindow:105e4,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5.5":{type:"chat",id:"openai/gpt-5.5",name:"OpenAI: GPT-5.5",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image"],cost:{input:5,output:30,cacheRead:.5,cacheWrite:0,tiers:[{inputTokensAbove:272e3,input:10,output:45,cacheRead:1,cacheWrite:0}]},contextWindow:105e4,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0,supportsMidConvoSystemMessages:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5.5-pro":{type:"chat",id:"openai/gpt-5.5-pro",name:"OpenAI: GPT-5.5 Pro",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:null,medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image"],cost:{input:30,output:180,cacheRead:0,cacheWrite:0,tiers:[{inputTokensAbove:272e3,input:60,output:270,cacheRead:0,cacheWrite:0}]},contextWindow:105e4,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5.5-pro:batch":{type:"chat",id:"openai/gpt-5.5-pro:batch",name:"OpenAI: GPT-5.5 Pro (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:null,medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image"],cost:{input:15,output:90,cacheRead:0,cacheWrite:0,tiers:[{inputTokensAbove:272e3,input:30,output:135,cacheRead:0,cacheWrite:0}]},contextWindow:105e4,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5.5:batch":{type:"chat",id:"openai/gpt-5.5:batch",name:"OpenAI: GPT-5.5 (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image"],cost:{input:2.5,output:15,cacheRead:.25,cacheWrite:0,tiers:[{inputTokensAbove:272e3,input:5,output:22.5,cacheRead:.5,cacheWrite:0}]},contextWindow:105e4,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5.6-luna":{type:"chat",id:"openai/gpt-5.6-luna",name:"OpenAI: GPT-5.6 Luna",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:.2,output:1.2,cacheRead:.02,cacheWrite:.25,tiers:[{inputTokensAbove:272e3,input:.4,output:1.8,cacheRead:.04,cacheWrite:.5}]},contextWindow:105e4,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0,supportsMidConvoSystemMessages:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5.6-luna-pro":{type:"chat",id:"openai/gpt-5.6-luna-pro",name:"OpenAI: GPT-5.6 Luna Pro",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:.2,output:1.2,cacheRead:.02,cacheWrite:.25,tiers:[{inputTokensAbove:272e3,input:.4,output:1.8,cacheRead:.04,cacheWrite:.5}]},contextWindow:105e4,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5.6-luna-pro:batch":{type:"chat",id:"openai/gpt-5.6-luna-pro:batch",name:"OpenAI: GPT-5.6 Luna Pro (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:.1,output:.6,cacheRead:.01,cacheWrite:0,tiers:[{inputTokensAbove:272e3,input:.2,output:.9,cacheRead:.02,cacheWrite:0}]},contextWindow:105e4,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5.6-luna:batch":{type:"chat",id:"openai/gpt-5.6-luna:batch",name:"OpenAI: GPT-5.6 Luna (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:.1,output:.6,cacheRead:.01,cacheWrite:0,tiers:[{inputTokensAbove:272e3,input:.2,output:.9,cacheRead:.02,cacheWrite:0}]},contextWindow:105e4,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5.6-sol":{type:"chat",id:"openai/gpt-5.6-sol",name:"OpenAI: GPT-5.6 Sol",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:4,output:20,cacheRead:.4,cacheWrite:5,tiers:[{inputTokensAbove:272e3,input:8,output:30,cacheRead:.8,cacheWrite:10}]},contextWindow:105e4,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0,supportsMidConvoSystemMessages:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5.6-sol-pro":{type:"chat",id:"openai/gpt-5.6-sol-pro",name:"OpenAI: GPT-5.6 Sol Pro",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:4,output:20,cacheRead:.4,cacheWrite:5,tiers:[{inputTokensAbove:272e3,input:8,output:30,cacheRead:.8,cacheWrite:10}]},contextWindow:105e4,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5.6-sol-pro:batch":{type:"chat",id:"openai/gpt-5.6-sol-pro:batch",name:"OpenAI: GPT-5.6 Sol Pro (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:2,output:10,cacheRead:.2,cacheWrite:2.5,tiers:[{inputTokensAbove:272e3,input:4,output:15,cacheRead:.4,cacheWrite:5}]},contextWindow:105e4,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5.6-sol:batch":{type:"chat",id:"openai/gpt-5.6-sol:batch",name:"OpenAI: GPT-5.6 Sol (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:2,output:10,cacheRead:.2,cacheWrite:2.5,tiers:[{inputTokensAbove:272e3,input:4,output:15,cacheRead:.4,cacheWrite:5}]},contextWindow:105e4,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5.6-terra":{type:"chat",id:"openai/gpt-5.6-terra",name:"OpenAI: GPT-5.6 Terra",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:2,output:12,cacheRead:.2,cacheWrite:2.5,tiers:[{inputTokensAbove:272e3,input:4,output:18,cacheRead:.4,cacheWrite:5}]},contextWindow:105e4,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0,supportsMidConvoSystemMessages:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5.6-terra-pro":{type:"chat",id:"openai/gpt-5.6-terra-pro",name:"OpenAI: GPT-5.6 Terra Pro",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:2,output:12,cacheRead:.2,cacheWrite:2.5,tiers:[{inputTokensAbove:272e3,input:4,output:18,cacheRead:.4,cacheWrite:5}]},contextWindow:105e4,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5.6-terra-pro:batch":{type:"chat",id:"openai/gpt-5.6-terra-pro:batch",name:"OpenAI: GPT-5.6 Terra Pro (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:1,output:6,cacheRead:.1,cacheWrite:0,tiers:[{inputTokensAbove:272e3,input:2,output:9,cacheRead:.2,cacheWrite:0}]},contextWindow:105e4,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-5.6-terra:batch":{type:"chat",id:"openai/gpt-5.6-terra:batch",name:"OpenAI: GPT-5.6 Terra (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:1,output:6,cacheRead:.1,cacheWrite:0,tiers:[{inputTokensAbove:272e3,input:2,output:9,cacheRead:.2,cacheWrite:0}]},contextWindow:105e4,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-6-astra":{type:"chat",id:"openai/gpt-6-astra",name:"OpenAI: GPT-6 Astra",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5,tiers:[{inputTokensAbove:272e3,input:20,output:75,cacheRead:2,cacheWrite:25}]},contextWindow:105e4,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0,supportsMidConvoSystemMessages:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-6-astra-pro":{type:"chat",id:"openai/gpt-6-astra-pro",name:"OpenAI: GPT-6 Astra Pro",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5,tiers:[{inputTokensAbove:272e3,input:20,output:75,cacheRead:2,cacheWrite:25}]},contextWindow:105e4,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-6-astra-pro:batch":{type:"chat",id:"openai/gpt-6-astra-pro:batch",name:"OpenAI: GPT-6 Astra Pro (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25,tiers:[{inputTokensAbove:272e3,input:10,output:37.5,cacheRead:1,cacheWrite:12.5}]},contextWindow:105e4,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-6-astra:batch":{type:"chat",id:"openai/gpt-6-astra:batch",name:"OpenAI: GPT-6 Astra (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25,tiers:[{inputTokensAbove:272e3,input:10,output:37.5,cacheRead:1,cacheWrite:12.5}]},contextWindow:105e4,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-6-luna":{type:"chat",id:"openai/gpt-6-luna",name:"OpenAI: GPT-6 Luna",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:.1,output:.5,cacheRead:.01,cacheWrite:.125,tiers:[{inputTokensAbove:272e3,input:.2,output:.75,cacheRead:.02,cacheWrite:.25}]},contextWindow:105e4,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0,supportsMidConvoSystemMessages:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-6-luna-pro":{type:"chat",id:"openai/gpt-6-luna-pro",name:"OpenAI: GPT-6 Luna Pro",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:.1,output:.5,cacheRead:.01,cacheWrite:.125,tiers:[{inputTokensAbove:272e3,input:.2,output:.75,cacheRead:.02,cacheWrite:.25}]},contextWindow:105e4,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-6-luna-pro:batch":{type:"chat",id:"openai/gpt-6-luna-pro:batch",name:"OpenAI: GPT-6 Luna Pro (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:.05,output:.25,cacheRead:.005,cacheWrite:.0625,tiers:[{inputTokensAbove:272e3,input:.1,output:.375,cacheRead:.01,cacheWrite:.125}]},contextWindow:105e4,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-6-luna:batch":{type:"chat",id:"openai/gpt-6-luna:batch",name:"OpenAI: GPT-6 Luna (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:.05,output:.25,cacheRead:.005,cacheWrite:.0625,tiers:[{inputTokensAbove:272e3,input:.1,output:.375,cacheRead:.01,cacheWrite:.125}]},contextWindow:105e4,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-6-sol":{type:"chat",id:"openai/gpt-6-sol",name:"OpenAI: GPT-6 Sol",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:2,output:10,cacheRead:.2,cacheWrite:2.5,tiers:[{inputTokensAbove:272e3,input:4,output:15,cacheRead:.4,cacheWrite:5}]},contextWindow:105e4,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0,supportsMidConvoSystemMessages:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-6-sol-pro":{type:"chat",id:"openai/gpt-6-sol-pro",name:"OpenAI: GPT-6 Sol Pro",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:2,output:10,cacheRead:.2,cacheWrite:2.5,tiers:[{inputTokensAbove:272e3,input:4,output:15,cacheRead:.4,cacheWrite:5}]},contextWindow:105e4,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-6-sol-pro:batch":{type:"chat",id:"openai/gpt-6-sol-pro:batch",name:"OpenAI: GPT-6 Sol Pro (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25,tiers:[{inputTokensAbove:272e3,input:2,output:7.5,cacheRead:.2,cacheWrite:2.5}]},contextWindow:105e4,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-6-sol:batch":{type:"chat",id:"openai/gpt-6-sol:batch",name:"OpenAI: GPT-6 Sol (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25,tiers:[{inputTokensAbove:272e3,input:2,output:7.5,cacheRead:.2,cacheWrite:2.5}]},contextWindow:105e4,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-6.1-sol":{type:"chat",id:"openai/gpt-6.1-sol",name:"OpenAI: GPT-6.1 Sol",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:2,output:10,cacheRead:.1,cacheWrite:2.5,tiers:[{inputTokensAbove:272e3,input:4,output:15,cacheRead:.2,cacheWrite:5}]},contextWindow:105e4,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0,supportsMidConvoSystemMessages:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-6.1-sol-pro":{type:"chat",id:"openai/gpt-6.1-sol-pro",name:"OpenAI: GPT-6.1 Sol Pro",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:2,output:10,cacheRead:.1,cacheWrite:2.5,tiers:[{inputTokensAbove:272e3,input:4,output:15,cacheRead:.2,cacheWrite:5}]},contextWindow:105e4,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-6.1-sol-pro:batch":{type:"chat",id:"openai/gpt-6.1-sol-pro:batch",name:"OpenAI: GPT-6.1 Sol Pro (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:1,output:5,cacheRead:.05,cacheWrite:1.25,tiers:[{inputTokensAbove:272e3,input:2,output:7.5,cacheRead:.1,cacheWrite:2.5}]},contextWindow:105e4,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-6.1-sol:batch":{type:"chat",id:"openai/gpt-6.1-sol:batch",name:"OpenAI: GPT-6.1 Sol (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:1,output:5,cacheRead:.05,cacheWrite:1.25,tiers:[{inputTokensAbove:272e3,input:2,output:7.5,cacheRead:.1,cacheWrite:2.5}]},contextWindow:105e4,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-audio":{type:"chat",id:"openai/gpt-audio",name:"OpenAI: GPT Audio",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text"],cost:{input:2.5,output:10,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:openai/gpt-audio-mini":{type:"chat",id:"openai/gpt-audio-mini",name:"OpenAI: GPT Audio Mini",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text"],cost:{input:.6,output:2.4,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:openai/gpt-chat-latest":{type:"chat",id:"openai/gpt-chat-latest",name:"OpenAI: GPT Chat Latest",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:5,output:30,cacheRead:.5,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/gpt-oss-120b":{type:"chat",id:"openai/gpt-oss-120b",name:"OpenAI: gpt-oss-120b",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text"],cost:{input:.15,output:.6,cacheRead:.075,cacheWrite:0},contextWindow:131072,maxTokens:65536,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:openai/gpt-oss-120b:batch":{type:"chat",id:"openai/gpt-oss-120b:batch",name:"OpenAI: gpt-oss-120b (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text"],cost:{input:.0296,output:.136,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:117964,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:openai/gpt-oss-20b":{type:"chat",id:"openai/gpt-oss-20b",name:"OpenAI: gpt-oss-20b",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text"],cost:{input:.018,output:.09,cacheRead:.009,cacheWrite:0},contextWindow:131072,maxTokens:32768,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:openai/gpt-oss-20b:batch":{type:"chat",id:"openai/gpt-oss-20b:batch",name:"OpenAI: gpt-oss-20b (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text"],cost:{input:.024,output:.112,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:117964,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:openai/gpt-oss-safeguard-20b":{type:"chat",id:"openai/gpt-oss-safeguard-20b",name:"OpenAI: gpt-oss-safeguard-20b",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null},input:["text"],cost:{input:.075,output:.3,cacheRead:.0375,cacheWrite:0},contextWindow:131072,maxTokens:65536,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:openai/o1":{type:"chat",id:"openai/o1",name:"OpenAI: o1",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null},input:["text","image"],cost:{input:15,output:60,cacheRead:7.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/o3":{type:"chat",id:"openai/o3",name:"OpenAI: o3",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null},input:["text","image"],cost:{input:2,output:8,cacheRead:.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/o3-mini":{type:"chat",id:"openai/o3-mini",name:"OpenAI: o3 Mini",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null},input:["text"],cost:{input:1.1,output:4.4,cacheRead:.55,cacheWrite:0},contextWindow:2e5,maxTokens:1e5,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:openai/o3-mini-high":{type:"chat",id:"openai/o3-mini-high",name:"OpenAI: o3 Mini High",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},input:["text"],cost:{input:1.1,output:4.4,cacheRead:.55,cacheWrite:0},contextWindow:2e5,maxTokens:1e5,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:openai/o3-mini:batch":{type:"chat",id:"openai/o3-mini:batch",name:"OpenAI: o3 Mini (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null},input:["text"],cost:{input:.55,output:2.2,cacheRead:.275,cacheWrite:0},contextWindow:2e5,maxTokens:1e5,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:openai/o3-pro":{type:"chat",id:"openai/o3-pro",name:"OpenAI: o3 Pro",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null},input:["text","image"],cost:{input:20,output:80,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:1e5,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/o3:batch":{type:"chat",id:"openai/o3:batch",name:"OpenAI: o3 (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null},input:["text","image"],cost:{input:1,output:4,cacheRead:.25,cacheWrite:0},contextWindow:2e5,maxTokens:1e5,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/o4-mini":{type:"chat",id:"openai/o4-mini",name:"OpenAI: o4 Mini",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null},input:["text","image"],cost:{input:1.1,output:4.4,cacheRead:.275,cacheWrite:0},contextWindow:2e5,maxTokens:1e5,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/o4-mini-high":{type:"chat",id:"openai/o4-mini-high",name:"OpenAI: o4 Mini High",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:1.1,output:4.4,cacheRead:.275,cacheWrite:0},contextWindow:2e5,maxTokens:1e5,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openai/o4-mini:batch":{type:"chat",id:"openai/o4-mini:batch",name:"OpenAI: o4 Mini (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null},input:["text","image"],cost:{input:.55,output:2.2,cacheRead:.1375,cacheWrite:0},contextWindow:2e5,maxTokens:1e5,compat:{thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openrouter/auto":{type:"chat",id:"openrouter/auto",name:"Auto Router",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:2e6,maxTokens:4096,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openrouter/auto-beta":{type:"chat",id:"openrouter/auto-beta",name:"Auto Router (Beta)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:2e6,maxTokens:4096,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openrouter/free":{type:"chat",id:"openrouter/free",name:"Free Models Router",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:4096,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:openrouter/fusion":{id:"openrouter/fusion",name:"OpenRouter: Fusion",api:"openai-completions",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:3e4,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},type:"chat"},"chat:openrouter/pareto-code":{type:"chat",id:"openrouter/pareto-code",name:"Pareto Code Router",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:2e6,maxTokens:4096,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:perceptron/perceptron-mk1.5":{type:"chat",id:"perceptron/perceptron-mk1.5",name:"Perceptron: Perceptron Mk1.5",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.15,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:36864,maxTokens:8192,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:poolside/laguna-s-2.1":{type:"chat",id:"poolside/laguna-s-2.1",name:"Poolside: Laguna S 2.1",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text"],cost:{input:.09,output:.18,cacheRead:.009,cacheWrite:0},contextWindow:1048576,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:poolside/laguna-s-2.1:free":{type:"chat",id:"poolside/laguna-s-2.1:free",name:"Poolside: Laguna S 2.1 (free)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:poolside/laguna-xs-2.1":{type:"chat",id:"poolside/laguna-xs-2.1",name:"Poolside: Laguna XS 2.1",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text"],cost:{input:.06,output:.12,cacheRead:.03,cacheWrite:0},contextWindow:262144,maxTokens:32768,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:poolside/laguna-xs-2.1:free":{type:"chat",id:"poolside/laguna-xs-2.1:free",name:"Poolside: Laguna XS 2.1 (free)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:prism-ml/ternary-bonsai-2-27b":{type:"chat",id:"prism-ml/ternary-bonsai-2-27b",name:"PrismML: Ternary Bonsai 2 27B",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:null,medium:"medium",high:null,xhigh:"xhigh",max:null},input:["text","image"],cost:{input:.075,output:.5,cacheRead:.0375,cacheWrite:0},contextWindow:262144,maxTokens:32768,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:qwen/qwen-2.5-72b-instruct":{type:"chat",id:"qwen/qwen-2.5-72b-instruct",name:"Qwen2.5 72B Instruct",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text"],cost:{input:.36,output:.4,cacheRead:0,cacheWrite:0},contextWindow:32768,maxTokens:16384,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:qwen/qwen-2.5-7b-instruct":{type:"chat",id:"qwen/qwen-2.5-7b-instruct",name:"Qwen: Qwen2.5 7B Instruct",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text"],cost:{input:.1,output:.2,cacheRead:0,cacheWrite:0},contextWindow:32768,maxTokens:29491,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:qwen/qwen-plus":{type:"chat",id:"qwen/qwen-plus",name:"Qwen: Qwen-Plus",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text"],cost:{input:.26,output:.78,cacheRead:.052,cacheWrite:.325,tiers:[{inputTokensAbove:256e3,input:.78,output:2.34,cacheRead:.156,cacheWrite:.975}]},contextWindow:1e6,maxTokens:32768,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:qwen/qwen3-14b":{type:"chat",id:"qwen/qwen3-14b",name:"Qwen: Qwen3 14B",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text"],cost:{input:.12,output:.24,cacheRead:0,cacheWrite:0},contextWindow:40960,maxTokens:16384,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:qwen/qwen3-235b-a22b-2507":{type:"chat",id:"qwen/qwen3-235b-a22b-2507",name:"Qwen: Qwen3 235B A22B Instruct 2507",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text"],cost:{input:.09,output:.55,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:16384,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:qwen/qwen3-235b-a22b-thinking-2507":{type:"chat",id:"qwen/qwen3-235b-a22b-thinking-2507",name:"Qwen: Qwen3 235B A22B Thinking 2507",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null},input:["text"],cost:{input:.45,output:3.5,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:qwen/qwen3-30b-a3b":{type:"chat",id:"qwen/qwen3-30b-a3b",name:"Qwen: Qwen3 30B A3B",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text"],cost:{input:.12,output:.5,cacheRead:0,cacheWrite:0},contextWindow:40960,maxTokens:16384,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:qwen/qwen3-30b-a3b-instruct-2507":{type:"chat",id:"qwen/qwen3-30b-a3b-instruct-2507",name:"Qwen: Qwen3 30B A3B Instruct 2507",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text"],cost:{input:.09,output:.3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:235929,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:qwen/qwen3-32b":{type:"chat",id:"qwen/qwen3-32b",name:"Qwen: Qwen3 32B",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text"],cost:{input:.08,output:.28,cacheRead:0,cacheWrite:0},contextWindow:40960,maxTokens:16384,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:qwen/qwen3-coder":{type:"chat",id:"qwen/qwen3-coder",name:"Qwen: Qwen3 Coder 480B A35B",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text"],cost:{input:.3,output:1,cacheRead:.1,cacheWrite:0},contextWindow:262144,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:qwen/qwen3-coder-30b-a3b-instruct":{type:"chat",id:"qwen/qwen3-coder-30b-a3b-instruct",name:"Qwen: Qwen3 Coder 30B A3B Instruct",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text"],cost:{input:.07,output:.28,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:235929,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:qwen/qwen3-coder-flash":{type:"chat",id:"qwen/qwen3-coder-flash",name:"Qwen: Qwen3 Coder Flash",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text"],cost:{input:.195,output:.975,cacheRead:.039,cacheWrite:.24375,tiers:[{inputTokensAbove:32e3,input:.325,output:1.625,cacheRead:.065,cacheWrite:.40625},{inputTokensAbove:128e3,input:.52,output:2.6,cacheRead:.104,cacheWrite:.65}]},contextWindow:1e6,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:qwen/qwen3-coder-next":{type:"chat",id:"qwen/qwen3-coder-next",name:"Qwen: Qwen3 Coder Next",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text"],cost:{input:.12,output:.8,cacheRead:.07,cacheWrite:0},contextWindow:262144,maxTokens:235929,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:qwen/qwen3-next-80b-a3b-instruct":{type:"chat",id:"qwen/qwen3-next-80b-a3b-instruct",name:"Qwen: Qwen3 Next 80B A3B Instruct",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text"],cost:{input:.1,output:1.1,cacheRead:.07,cacheWrite:0},contextWindow:262144,maxTokens:235929,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:qwen/qwen3-next-80b-a3b-thinking":{type:"chat",id:"qwen/qwen3-next-80b-a3b-thinking",name:"Qwen: Qwen3 Next 80B A3B Thinking",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null},input:["text"],cost:{input:.15,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:235929,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:qwen/qwen3-vl-235b-a22b-instruct":{type:"chat",id:"qwen/qwen3-vl-235b-a22b-instruct",name:"Qwen: Qwen3 VL 235B A22B Instruct",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:.21,output:1.9,cacheRead:.1,cacheWrite:0},contextWindow:131072,maxTokens:32768,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:qwen/qwen3-vl-30b-a3b-instruct":{type:"chat",id:"qwen/qwen3-vl-30b-a3b-instruct",name:"Qwen: Qwen3 VL 30B A3B Instruct",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:16384,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:qwen/qwen3-vl-30b-a3b-thinking":{type:"chat",id:"qwen/qwen3-vl-30b-a3b-thinking",name:"Qwen: Qwen3 VL 30B A3B Thinking",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null},input:["text","image"],cost:{input:.29,output:1,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:235929,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:qwen/qwen3-vl-8b-instruct":{type:"chat",id:"qwen/qwen3-vl-8b-instruct",name:"Qwen: Qwen3 VL 8B Instruct",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:.25,output:.75,cacheRead:.12,cacheWrite:0},contextWindow:262144,maxTokens:235929,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:qwen/qwen3.5-122b-a10b":{type:"chat",id:"qwen/qwen3.5-122b-a10b",name:"Qwen: Qwen3.5-122B-A10B",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.26,output:2.08,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:qwen/qwen3.5-27b":{type:"chat",id:"qwen/qwen3.5-27b",name:"Qwen: Qwen3.5-27B",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.27,output:2.16,cacheRead:.27,cacheWrite:0},contextWindow:262144,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:qwen/qwen3.5-35b-a3b":{type:"chat",id:"qwen/qwen3.5-35b-a3b",name:"Qwen: Qwen3.5-35B-A3B",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.14,output:1,cacheRead:.05,cacheWrite:0},contextWindow:262144,maxTokens:81920,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:qwen/qwen3.5-397b-a17b":{type:"chat",id:"qwen/qwen3.5-397b-a17b",name:"Qwen: Qwen3.5 397B A17B",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.39,output:2.34,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:qwen/qwen3.5-9b":{type:"chat",id:"qwen/qwen3.5-9b",name:"Qwen: Qwen3.5-9B",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.1,output:.15,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:32768,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:qwen/qwen3.5-flash-02-23":{type:"chat",id:"qwen/qwen3.5-flash-02-23",name:"Qwen: Qwen3.5-Flash",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.065,output:.26,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:qwen/qwen3.5-plus-02-15":{type:"chat",id:"qwen/qwen3.5-plus-02-15",name:"Qwen: Qwen3.5 Plus 2026-02-15",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.26,output:1.56,cacheRead:0,cacheWrite:0,tiers:[{inputTokensAbove:256e3,input:.325,output:1.95,cacheRead:0,cacheWrite:0}]},contextWindow:1e6,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:qwen/qwen3.5-plus-20260420":{type:"chat",id:"qwen/qwen3.5-plus-20260420",name:"Qwen: Qwen3.5 Plus 2026-04-20",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.3,output:1.8,cacheRead:0,cacheWrite:.375,tiers:[{inputTokensAbove:256e3,input:.375,output:2.25,cacheRead:0,cacheWrite:.46875}]},contextWindow:1e6,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:qwen/qwen3.6-27b":{type:"chat",id:"qwen/qwen3.6-27b",name:"Qwen: Qwen3.6 27B",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.25,output:2,cacheRead:.025,cacheWrite:0},contextWindow:262144,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:qwen/qwen3.6-35b-a3b":{type:"chat",id:"qwen/qwen3.6-35b-a3b",name:"Qwen: Qwen3.6 35B A3B",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.1,output:.95,cacheRead:.05,cacheWrite:0},contextWindow:262144,maxTokens:235929,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:qwen/qwen3.6-flash":{type:"chat",id:"qwen/qwen3.6-flash",name:"Qwen: Qwen3.6 Flash",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.1875,output:1.125,cacheRead:0,cacheWrite:.234375,tiers:[{inputTokensAbove:256e3,input:.75,output:3,cacheRead:0,cacheWrite:.9375}]},contextWindow:1e6,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:qwen/qwen3.6-plus":{type:"chat",id:"qwen/qwen3.6-plus",name:"Qwen: Qwen3.6 Plus",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.325,output:1.95,cacheRead:0,cacheWrite:.40625,tiers:[{inputTokensAbove:256e3,input:1.3,output:3.9,cacheRead:0,cacheWrite:1.625}]},contextWindow:1e6,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:qwen/qwen3.7-flash":{type:"chat",id:"qwen/qwen3.7-flash",name:"Qwen: Qwen3.7 Flash",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.03,output:.13,cacheRead:.006,cacheWrite:.038,tiers:[{inputTokensAbove:32e3,input:.1,output:.4,cacheRead:.02,cacheWrite:.125},{inputTokensAbove:256e3,input:.2,output:.8,cacheRead:.04,cacheWrite:.25}]},contextWindow:1e6,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:qwen/qwen3.7-max":{type:"chat",id:"qwen/qwen3.7-max",name:"Qwen: Qwen3.7 Max",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text"],cost:{input:1.475,output:4.425,cacheRead:.295,cacheWrite:1.84375},contextWindow:1e6,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:qwen/qwen3.7-plus":{type:"chat",id:"qwen/qwen3.7-plus",name:"Qwen: Qwen3.7 Plus",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.32,output:1.28,cacheRead:.064,cacheWrite:.4,tiers:[{inputTokensAbove:256e3,input:.96,output:3.84,cacheRead:.192,cacheWrite:1.2}]},contextWindow:1e6,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:qwen/qwen3.7-plus:batch":{type:"chat",id:"qwen/qwen3.7-plus:batch",name:"Qwen: Qwen3.7 Plus (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.23,output:.92,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:qwen/qwen3.8-2.4t-a95b":{type:"chat",id:"qwen/qwen3.8-2.4t-a95b",name:"Qwen: Qwen3.8 2.4T A95B",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:null,xhigh:"xhigh",max:null},input:["text"],cost:{input:2,output:6,cacheRead:.25,cacheWrite:0},contextWindow:1e6,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:qwen/qwen3.8-27b":{type:"chat",id:"qwen/qwen3.8-27b",name:"Qwen: Qwen3.8 27B",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:null,xhigh:"xhigh",max:null},input:["text","image"],cost:{input:.04,output:1.35,cacheRead:.018,cacheWrite:0},contextWindow:262144,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:qwen/qwen3.8-flash":{type:"chat",id:"qwen/qwen3.8-flash",name:"Qwen: Qwen3.8 Flash",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.15,output:.47,cacheRead:.016,cacheWrite:0},contextWindow:1e6,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:qwen/qwen3.8-max-0902":{type:"chat",id:"qwen/qwen3.8-max-0902",name:"Qwen: Qwen3.8 Max (0902)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image"],cost:{input:2,output:6,cacheRead:.25,cacheWrite:0},contextWindow:1e6,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:qwen/qwen3.8-max-prime":{type:"chat",id:"qwen/qwen3.8-max-prime",name:"Qwen: Qwen3.8 Max Prime",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image"],cost:{input:4,output:12,cacheRead:.5,cacheWrite:0},contextWindow:1e6,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:qwen/qwen3.8-omni-flash":{type:"chat",id:"qwen/qwen3.8-omni-flash",name:"Qwen: Qwen3.8 Omni Flash",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.15,output:.47,cacheRead:.016,cacheWrite:0},contextWindow:1e6,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:reflection/beam-1.0-501b-a23b":{type:"chat",id:"reflection/beam-1.0-501b-a23b",name:"Reflection: Beam 1.0 501B A23B",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text"],cost:{input:.3,output:1,cacheRead:.04,cacheWrite:0},contextWindow:1048576,maxTokens:943718,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:rekaai/reka-edge":{type:"chat",id:"rekaai/reka-edge",name:"Reka Edge",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:.1,output:.1,cacheRead:0,cacheWrite:0},contextWindow:16384,maxTokens:14745,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:relace/relace-search":{type:"chat",id:"relace/relace-search",name:"Relace: Relace Search",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text"],cost:{input:1,output:3,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:128e3,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:sakana/fugu-max":{type:"chat",id:"sakana/fugu-max",name:"Sakana: Fugu Max",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:null,medium:null,high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:2,output:6,cacheRead:.25,cacheWrite:0},contextWindow:1e6,maxTokens:128e3,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:sakana/fugu-ultra":{type:"chat",id:"sakana/fugu-ultra",name:"Sakana: Fugu Ultra",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:null,medium:null,high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:5,output:30,cacheRead:.5,cacheWrite:0,tiers:[{inputTokensAbove:272e3,input:10,output:45,cacheRead:1,cacheWrite:0}]},contextWindow:1e6,maxTokens:128e3,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:sakana/fugu-ultra-v2":{type:"chat",id:"sakana/fugu-ultra-v2",name:"Sakana: Fugu Ultra v2",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:null,medium:null,high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:5,output:30,cacheRead:.5,cacheWrite:0,tiers:[{inputTokensAbove:272e3,input:10,output:45,cacheRead:1,cacheWrite:0}]},contextWindow:1e6,maxTokens:128e3,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:sakana/sakana-namazu":{type:"chat",id:"sakana/sakana-namazu",name:"Sakana: Sakana Namazu",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.95,output:4,cacheRead:.15,cacheWrite:0},contextWindow:262144,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:stepfun/step-3.5-flash":{type:"chat",id:"stepfun/step-3.5-flash",name:"StepFun: Step 3.5 Flash",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null},input:["text"],cost:{input:.1,output:.3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:stepfun/step-3.7-flash":{type:"chat",id:"stepfun/step-3.7-flash",name:"StepFun: Step 3.7 Flash",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.2,output:1.15,cacheRead:.04,cacheWrite:0},contextWindow:256e3,maxTokens:230400,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:stepfun/step-5-preview":{type:"chat",id:"stepfun/step-5-preview",name:"StepFun: Step 5 Preview",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:1,output:2.7,cacheRead:.1,cacheWrite:0},contextWindow:1e6,maxTokens:64e3,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:tencent/hy3":{type:"chat",id:"tencent/hy3",name:"Tencent: Hy3",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:null},input:["text"],cost:{input:.0825,output:.33,cacheRead:.020625,cacheWrite:0},contextWindow:262144,maxTokens:128e3,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:tencent/hy3-preview":{type:"chat",id:"tencent/hy3-preview",name:"Tencent: Hy3 preview",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:null},input:["text"],cost:{input:.18,output:.6,cacheRead:.06,cacheWrite:0},contextWindow:262144,maxTokens:235929,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:tencent/hy4-preview":{type:"chat",id:"tencent/hy4-preview",name:"Tencent: Hy4 preview",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:null},input:["text"],cost:{input:.7506,output:2.2509,cacheRead:.0378,cacheWrite:0},contextWindow:1048576,maxTokens:64e3,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:thinkingmachines/inkling":{type:"chat",id:"thinkingmachines/inkling",name:"Thinking Machines: Inkling",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:"max"},input:["text","image"],cost:{input:1,output:4.05,cacheRead:.17,cacheWrite:0},contextWindow:524288,maxTokens:471859,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:thinkingmachines/inkling-small":{type:"chat",id:"thinkingmachines/inkling-small",name:"Thinking Machines: Inkling Small",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:"max"},input:["text","image"],cost:{input:.45,output:1.2,cacheRead:.1,cacheWrite:0},contextWindow:524288,maxTokens:262144,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:thinkingmachines/inkling-small:free":{type:"chat",id:"thinkingmachines/inkling-small:free",name:"Thinking Machines: Inkling Small (free)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:"max"},input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:262144,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:thinkingmachines/inkling:free":{type:"chat",id:"thinkingmachines/inkling:free",name:"Thinking Machines: Inkling (free)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:"max"},input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:262144,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:typesafe/jev-router":{type:"chat",id:"typesafe/jev-router",name:"TypeSafe: Jev Router",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:4096,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:unbiased/pareto-26.10":{type:"chat",id:"unbiased/pareto-26.10",name:"Pareto 26.10",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:.8,output:3.2,cacheRead:.03,cacheWrite:0},contextWindow:1048576,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:unbiased/pareto-26.9":{type:"chat",id:"unbiased/pareto-26.9",name:"Pareto 26.9",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!1,input:["text","image"],cost:{input:2.5,output:7.5,cacheRead:.25,cacheWrite:0},contextWindow:262144,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:upstage/solar-mini4":{type:"chat",id:"upstage/solar-mini4",name:"Upstage: Solar Mini 4",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text"],cost:{input:.05,output:.2,cacheRead:.005,cacheWrite:0},contextWindow:524288,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:upstage/solar-pro-3":{type:"chat",id:"upstage/solar-pro-3",name:"Upstage: Solar Pro 3",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text"],cost:{input:.15,output:.6,cacheRead:.015,cacheWrite:0},contextWindow:131072,maxTokens:117964,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:upstage/solar-pro4":{type:"chat",id:"upstage/solar-pro4",name:"Upstage: Solar Pro 4",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text"],cost:{input:.15,output:.6,cacheRead:.03,cacheWrite:0},contextWindow:524288,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:x-ai/grok-4.20":{type:"chat",id:"x-ai/grok-4.20",name:"SpaceXAI: Grok 4.20",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:1.25,output:2.5,cacheRead:.2,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:2.5,output:5,cacheRead:.4,cacheWrite:0}]},contextWindow:2e6,maxTokens:18e5,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:x-ai/grok-4.3":{type:"chat",id:"x-ai/grok-4.3",name:"SpaceXAI: Grok 4.3",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:1.25,output:2.5,cacheRead:.2,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:2.5,output:5,cacheRead:.4,cacheWrite:0}]},contextWindow:1e6,maxTokens:9e5,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:x-ai/grok-4.3:batch":{type:"chat",id:"x-ai/grok-4.3:batch",name:"SpaceXAI: Grok 4.3 (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:1,output:2,cacheRead:.16,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:2,output:4,cacheRead:.32,cacheWrite:0}]},contextWindow:1e6,maxTokens:9e5,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:x-ai/grok-4.5":{type:"chat",id:"x-ai/grok-4.5",name:"SpaceXAI: Grok 4.5",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:2,output:6,cacheRead:.3,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:4,output:12,cacheRead:.6,cacheWrite:0}]},contextWindow:5e5,maxTokens:45e4,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:x-ai/grok-4.6":{type:"chat",id:"x-ai/grok-4.6",name:"SpaceXAI: Grok 4.6",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image"],cost:{input:2,output:6,cacheRead:.5,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:4,output:12,cacheRead:1,cacheWrite:0}]},contextWindow:5e5,maxTokens:45e4,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:x-ai/grok-4.7":{type:"chat",id:"x-ai/grok-4.7",name:"SpaceXAI: Grok 4.7",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image"],cost:{input:2,output:6,cacheRead:.5,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:4,output:12,cacheRead:1,cacheWrite:0}]},contextWindow:5e5,maxTokens:45e4,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:x-ai/grok-build-0.1":{type:"chat",id:"x-ai/grok-build-0.1",name:"SpaceXAI: Grok Build 0.1",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null},input:["text","image"],cost:{input:1,output:2,cacheRead:.2,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:2,output:4,cacheRead:.4,cacheWrite:0}]},contextWindow:256e3,maxTokens:230400,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:xiaomi/mimo-v2.5":{type:"chat",id:"xiaomi/mimo-v2.5",name:"Xiaomi: MiMo-V2.5",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.14,output:.28,cacheRead:.0028,cacheWrite:0},contextWindow:1048576,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:xiaomi/mimo-v2.5-pro":{type:"chat",id:"xiaomi/mimo-v2.5-pro",name:"Xiaomi: MiMo-V2.5-Pro",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text"],cost:{input:.435,output:.87,cacheRead:.0036,cacheWrite:0},contextWindow:1048576,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:xiaomi/mimo-v2.6-flash":{type:"chat",id:"xiaomi/mimo-v2.6-flash",name:"Xiaomi: MiMo-V2.6-Flash",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.14,output:.28,cacheRead:.0028,cacheWrite:0},contextWindow:1048576,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:xiaomi/mimo-v2.6-pro":{type:"chat",id:"xiaomi/mimo-v2.6-pro",name:"Xiaomi: MiMo-V2.6-Pro",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.435,output:.87,cacheRead:.0036,cacheWrite:0},contextWindow:1048576,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:xiaomi/mimo-v2.6-pro-ultraspeed":{type:"chat",id:"xiaomi/mimo-v2.6-pro-ultraspeed",name:"Xiaomi: MiMo-V2.6-Pro-UltraSpeed",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:4.35,output:8.7,cacheRead:.036,cacheWrite:0},contextWindow:1048576,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:xingchen-agi/xing4.0-29b-a4b:free":{type:"chat",id:"xingchen-agi/xing4.0-29b-a4b:free",name:"XingChen: Xing4.0 29B A4B (free)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:235929,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:z-ai/glm-4.5":{type:"chat",id:"z-ai/glm-4.5",name:"Z.ai: GLM 4.5",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text"],cost:{input:.6,output:2.2,cacheRead:.11,cacheWrite:0},contextWindow:131072,maxTokens:98304,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:z-ai/glm-4.5-air":{type:"chat",id:"z-ai/glm-4.5-air",name:"Z.ai: GLM 4.5 Air",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text"],cost:{input:.13,output:.85,cacheRead:.025,cacheWrite:0},contextWindow:131072,maxTokens:98304,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:z-ai/glm-4.5v":{type:"chat",id:"z-ai/glm-4.5v",name:"Z.ai: GLM 4.5V",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.6,output:1.8,cacheRead:.11,cacheWrite:0},contextWindow:65536,maxTokens:16384,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:z-ai/glm-4.6":{type:"chat",id:"z-ai/glm-4.6",name:"Z.ai: GLM 4.6",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text"],cost:{input:.55,output:2.2,cacheRead:.11,cacheWrite:0},contextWindow:204800,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:z-ai/glm-4.6v":{type:"chat",id:"z-ai/glm-4.6v",name:"Z.ai: GLM 4.6V",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.3,output:.9,cacheRead:.055,cacheWrite:0},contextWindow:131072,maxTokens:32768,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:z-ai/glm-4.7":{type:"chat",id:"z-ai/glm-4.7",name:"Z.ai: GLM 4.7",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text"],cost:{input:.54,output:1.98,cacheRead:.099,cacheWrite:0},contextWindow:204800,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:z-ai/glm-4.7-flash":{type:"chat",id:"z-ai/glm-4.7-flash",name:"Z.ai: GLM 4.7 Flash",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text"],cost:{input:.0605,output:.4,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:117964,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:z-ai/glm-5":{type:"chat",id:"z-ai/glm-5",name:"Z.ai: GLM 5",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text"],cost:{input:.6,output:1.9,cacheRead:.119,cacheWrite:0},contextWindow:202752,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:z-ai/glm-5-turbo":{type:"chat",id:"z-ai/glm-5-turbo",name:"Z.ai: GLM 5 Turbo",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text"],cost:{input:1.2,output:4,cacheRead:.24,cacheWrite:0},contextWindow:202752,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:z-ai/glm-5.1":{type:"chat",id:"z-ai/glm-5.1",name:"Z.ai: GLM 5.1",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text"],cost:{input:.966,output:3.036,cacheRead:.1794,cacheWrite:0},contextWindow:2e5,maxTokens:128e3,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:z-ai/glm-5.2":{type:"chat",id:"z-ai/glm-5.2",name:"Z.ai: GLM 5.2",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:null,medium:null,high:"high",xhigh:"xhigh",max:null},input:["text"],cost:{input:.62,output:2.42,cacheRead:.14,cacheWrite:0},contextWindow:1048576,maxTokens:943718,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:z-ai/glm-5.3":{type:"chat",id:"z-ai/glm-5.3",name:"Z.ai: GLM 5.3",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text"],cost:{input:.079,output:1.4,cacheRead:.078,cacheWrite:0},contextWindow:1048576,maxTokens:943718,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:z-ai/glm-5.3-flash":{type:"chat",id:"z-ai/glm-5.3-flash",name:"Z.ai: GLM 5.3 Flash",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text","image"],cost:{input:.047076,output:.12,cacheRead:.006,cacheWrite:0},contextWindow:1048576,maxTokens:943718,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:z-ai/glm-5.3-flash:batch":{type:"chat",id:"z-ai/glm-5.3-flash:batch",name:"Z.ai: GLM 5.3 Flash (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text","image"],cost:{input:.05,output:.18,cacheRead:.01,cacheWrite:0},contextWindow:1048576,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:z-ai/glm-5.3-flashx":{type:"chat",id:"z-ai/glm-5.3-flashx",name:"Z.ai: GLM 5.3 FlashX",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text","image"],cost:{input:.37,output:1.25,cacheRead:.09,cacheWrite:0},contextWindow:1048576,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:z-ai/glm-5.3-prime":{type:"chat",id:"z-ai/glm-5.3-prime",name:"Z.ai: GLM 5.3 Prime",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text"],cost:{input:2.8,output:8.8,cacheRead:.56,cacheWrite:0},contextWindow:1e6,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:z-ai/glm-5.3:batch":{type:"chat",id:"z-ai/glm-5.3:batch",name:"Z.ai: GLM 5.3 (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text"],cost:{input:.45,output:2,cacheRead:.1,cacheWrite:0},contextWindow:1048576,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0}},"chat:z-ai/glm-5v-turbo":{type:"chat",id:"z-ai/glm-5v-turbo",name:"Z.ai: GLM 5V Turbo",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:1.2,output:4,cacheRead:.24,cacheWrite:0},contextWindow:202752,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}}},"openrouter-images":{"image:black-forest-labs/flux-3-image":{type:"image",id:"black-forest-labs/flux-3-image",name:"Black Forest Labs: FLUX 3 Image",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:black-forest-labs/flux-3-image-klein":{type:"image",id:"black-forest-labs/flux-3-image-klein",name:"Black Forest Labs: FLUX 3 Image Klein",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:black-forest-labs/flux.2-flex":{type:"image",id:"black-forest-labs/flux.2-flex",name:"Black Forest Labs: FLUX.2 Flex",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:black-forest-labs/flux.2-klein-4b":{type:"image",id:"black-forest-labs/flux.2-klein-4b",name:"Black Forest Labs: FLUX.2 Klein 4B",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:black-forest-labs/flux.2-max":{type:"image",id:"black-forest-labs/flux.2-max",name:"Black Forest Labs: FLUX.2 Max",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:black-forest-labs/flux.2-pro":{type:"image",id:"black-forest-labs/flux.2-pro",name:"Black Forest Labs: FLUX.2 Pro",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:bytedance-seed/seedream-4.5":{type:"image",id:"bytedance-seed/seedream-4.5",name:"ByteDance Seed: Seedream 4.5",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["image","text"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:bytedance-seed/seedream-5-0-flash":{type:"image",id:"bytedance-seed/seedream-5-0-flash",name:"ByteDance Seed: Seedream 5.0 Flash",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:bytedance-seed/seedream-5-0-lite":{type:"image",id:"bytedance-seed/seedream-5-0-lite",name:"ByteDance Seed: Seedream 5.0 Lite",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:bytedance-seed/seedream-5-0-pro":{type:"image",id:"bytedance-seed/seedream-5-0-pro",name:"ByteDance Seed: Seedream 5.0 Pro",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:google/gemini-2.5-flash-image":{type:"image",id:"google/gemini-2.5-flash-image",name:"Google: Nano Banana (Gemini 2.5 Flash Image)",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["image","text"],output:["image","text"],cost:{input:.3,output:2.5,cacheRead:.03,cacheWrite:.083333},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:google/gemini-3-pro-image":{type:"image",id:"google/gemini-3-pro-image",name:"Google: Nano Banana Pro (Gemini 3 Pro Image)",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["image","text"],output:["image","text"],cost:{input:2,output:12,cacheRead:.2,cacheWrite:.375},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:google/gemini-3-pro-image-preview":{type:"image",id:"google/gemini-3-pro-image-preview",name:"Google: Nano Banana Pro (Gemini 3 Pro Image Preview)",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["image","text"],output:["image","text"],cost:{input:2,output:12,cacheRead:.2,cacheWrite:.375},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:google/gemini-3.1-flash-image":{type:"image",id:"google/gemini-3.1-flash-image",name:"Google: Nano Banana 2 (Gemini 3.1 Flash Image)",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["image","text"],output:["image","text"],cost:{input:.5,output:3,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:google/gemini-3.1-flash-image-preview":{type:"image",id:"google/gemini-3.1-flash-image-preview",name:"Google: Nano Banana 2 (Gemini 3.1 Flash Image Preview)",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["image","text"],output:["image","text"],cost:{input:.5,output:3,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:google/gemini-3.1-flash-lite-image":{type:"image",id:"google/gemini-3.1-flash-lite-image",name:"Google: Nano Banana 2 Lite (Gemini 3.1 Flash Lite Image)",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["image","text"],output:["image","text"],cost:{input:.25,output:1.5,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:google/gemini-nano-banana-2.1":{type:"image",id:"google/gemini-nano-banana-2.1",name:"Google: Nano Banana 2.1",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["image","text"],output:["image","text"],cost:{input:1.5,output:7.5,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:krea/k3-edit":{type:"image",id:"krea/k3-edit",name:"Krea: K3 Edit",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:krea/krea-2-large":{type:"image",id:"krea/krea-2-large",name:"Krea: Krea 2 Large",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:krea/krea-2-medium":{type:"image",id:"krea/krea-2-medium",name:"Krea: Krea 2 Medium",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:krea/krea-2-medium-turbo":{type:"image",id:"krea/krea-2-medium-turbo",name:"Krea: Krea 2 Medium Turbo",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:meta/muse-image":{type:"image",id:"meta/muse-image",name:"Meta: Muse Image",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:microsoft/mai-image-2.5":{type:"image",id:"microsoft/mai-image-2.5",name:"Microsoft AI: MAI-Image-2.5",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:5,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:microsoft/mai-image-2.5-pro":{type:"image",id:"microsoft/mai-image-2.5-pro",name:"Microsoft AI: MAI-Image-2.5 Pro",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:5,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:microsoft/mai-image-2.6":{type:"image",id:"microsoft/mai-image-2.6",name:"Microsoft AI: MAI-Image-2.6",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:5,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:microsoft/mai-image-2.6-flash":{type:"image",id:"microsoft/mai-image-2.6-flash",name:"Microsoft AI: MAI-Image-2.6 Flash",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:1.75,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:openai/gpt-5-image":{type:"image",id:"openai/gpt-5-image",name:"OpenAI: GPT-5 Image",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["image","text"],output:["image","text"],cost:{input:10,output:10,cacheRead:1.25,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:openai/gpt-5-image-mini":{type:"image",id:"openai/gpt-5-image-mini",name:"OpenAI: GPT-5 Image Mini",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["image","text"],output:["image","text"],cost:{input:2.5,output:2,cacheRead:.25,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:openai/gpt-5.4-image-2":{type:"image",id:"openai/gpt-5.4-image-2",name:"OpenAI: GPT-5.4 Image 2",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["image","text"],output:["image","text"],cost:{input:8,output:15,cacheRead:2,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:openai/gpt-image-1":{type:"image",id:"openai/gpt-image-1",name:"OpenAI: GPT Image 1",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:10,output:10,cacheRead:1.25,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:openai/gpt-image-1-mini":{type:"image",id:"openai/gpt-image-1-mini",name:"OpenAI: GPT Image 1 Mini",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:2.5,output:2.5,cacheRead:.25,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:openai/gpt-image-2":{type:"image",id:"openai/gpt-image-2",name:"OpenAI: GPT Image 2",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:8,output:8,cacheRead:2,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:openai/gpt-image-2.5-flare":{type:"image",id:"openai/gpt-image-2.5-flare",name:"OpenAI: GPT Image 2.5 Flare",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:8,output:8,cacheRead:2,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:openai/gpt-image-2.5-sunburst":{type:"image",id:"openai/gpt-image-2.5-sunburst",name:"OpenAI: GPT Image 2.5 Sunburst",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:8,output:8,cacheRead:2,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:openrouter/auto":{type:"image",id:"openrouter/auto",name:"Auto Router",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:openrouter/auto-beta":{type:"image",id:"openrouter/auto-beta",name:"Auto Router (Beta)",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:qwen/qwen-image-2.1-pro":{type:"image",id:"qwen/qwen-image-2.1-pro",name:"Qwen: Qwen Image 2.1 Pro",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:qwen/qwen-image-2.1-turbo":{type:"image",id:"qwen/qwen-image-2.1-turbo",name:"Qwen: Qwen Image 2.1 Turbo",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:qwen/qwen-image-3":{type:"image",id:"qwen/qwen-image-3",name:"Qwen: Qwen Image 3",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:qwen/qwen-image-3-pro":{type:"image",id:"qwen/qwen-image-3-pro",name:"Qwen: Qwen Image 3 Pro",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:recraft/recraft-v3":{type:"image",id:"recraft/recraft-v3",name:"Recraft: Recraft V3",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:recraft/recraft-v4":{type:"image",id:"recraft/recraft-v4",name:"Recraft: Recraft V4",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:recraft/recraft-v4-pro":{type:"image",id:"recraft/recraft-v4-pro",name:"Recraft: Recraft V4 Pro",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:recraft/recraft-v4-pro-vector":{type:"image",id:"recraft/recraft-v4-pro-vector",name:"Recraft: Recraft V4 Pro Vector",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:recraft/recraft-v4-styles":{type:"image",id:"recraft/recraft-v4-styles",name:"Recraft: Recraft V4 Styles",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:recraft/recraft-v4-styles-pro":{type:"image",id:"recraft/recraft-v4-styles-pro",name:"Recraft: Recraft V4 Styles Pro",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:recraft/recraft-v4-styles-pro-vector":{type:"image",id:"recraft/recraft-v4-styles-pro-vector",name:"Recraft: Recraft V4 Styles Pro Vector",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:recraft/recraft-v4-styles-vector":{type:"image",id:"recraft/recraft-v4-styles-vector",name:"Recraft: Recraft V4 Styles Vector",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:recraft/recraft-v4-vector":{type:"image",id:"recraft/recraft-v4-vector",name:"Recraft: Recraft V4 Vector",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:recraft/recraft-v4.1":{type:"image",id:"recraft/recraft-v4.1",name:"Recraft: Recraft V4.1",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:recraft/recraft-v4.1-flash":{type:"image",id:"recraft/recraft-v4.1-flash",name:"Recraft: Recraft V4.1 Flash",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"image:recraft/recraft-v4.1-pro":{type:"image",id:"recraft/recraft-v4.1-pro",name:"Recraft: Recraft V4.1 Pro",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:recraft/recraft-v4.1-pro-vector":{type:"image",id:"recraft/recraft-v4.1-pro-vector",name:"Recraft: Recraft V4.1 Pro Vector",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:recraft/recraft-v4.1-utility":{type:"image",id:"recraft/recraft-v4.1-utility",name:"Recraft: Recraft V4.1 Utility",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:recraft/recraft-v4.1-utility-pro":{type:"image",id:"recraft/recraft-v4.1-utility-pro",name:"Recraft: Recraft V4.1 Utility Pro",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:recraft/recraft-v4.1-vector":{type:"image",id:"recraft/recraft-v4.1-vector",name:"Recraft: Recraft V4.1 Vector",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:sourceful/riverflow-v2-fast":{type:"image",id:"sourceful/riverflow-v2-fast",name:"Sourceful: Riverflow V2 Fast",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:sourceful/riverflow-v2-pro":{type:"image",id:"sourceful/riverflow-v2-pro",name:"Sourceful: Riverflow V2 Pro",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:sourceful/riverflow-v2.5-fast":{type:"image",id:"sourceful/riverflow-v2.5-fast",name:"Sourceful: Riverflow V2.5 Fast",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:sourceful/riverflow-v2.5-pro":{type:"image",id:"sourceful/riverflow-v2.5-pro",name:"Sourceful: Riverflow V2.5 Pro",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:tencent/hy-image-v3.5-preview":{type:"image",id:"tencent/hy-image-v3.5-preview",name:"Tencent: Hy Image 3.5 Preview",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:x-ai/grok-imagine-image-2.0":{type:"image",id:"x-ai/grok-imagine-image-2.0",name:"xAI: Grok Imagine Image 2.0",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:x-ai/grok-imagine-image-quality":{type:"image",id:"x-ai/grok-imagine-image-quality",name:"SpaceXAI: Grok Imagine Image Quality",api:"openrouter-images",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}}},"typesafe-system-one":{"classifier:~perplexity/pplx-decider-flash-latest":{type:"classifier",id:"~perplexity/pplx-decider-flash-latest",name:"Perplexity: Decider Flash Latest",api:"typesafe-system-one",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],cost:{input:.01,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144},"classifier:~perplexity/pplx-decider-latest":{type:"classifier",id:"~perplexity/pplx-decider-latest",name:"Perplexity: Decider Latest",api:"typesafe-system-one",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],cost:{input:.02,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144},"classifier:~typesafe/jev-latest":{type:"classifier",id:"~typesafe/jev-latest",name:"TypeSafe: Jev Latest",api:"typesafe-system-one",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],cost:{input:.042,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144},"classifier:cloudflare/clef":{type:"classifier",id:"cloudflare/clef",name:"Cloudflare: Clef",api:"typesafe-system-one",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],cost:{input:.042,output:0,cacheRead:0,cacheWrite:0},contextWindow:16384},"classifier:cloudflare/clef-flash":{type:"classifier",id:"cloudflare/clef-flash",name:"Cloudflare: Clef Flash",api:"typesafe-system-one",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],cost:{input:.038,output:0,cacheRead:0,cacheWrite:0},contextWindow:24576},"classifier:cloudflare/clef-omni":{type:"classifier",id:"cloudflare/clef-omni",name:"Cloudflare: Clef Omni",api:"typesafe-system-one",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],cost:{input:.15,output:0,cacheRead:0,cacheWrite:0},contextWindow:65536},"classifier:inception/mercury-decide":{type:"classifier",id:"inception/mercury-decide",name:"Inception: Mercury Decide",api:"typesafe-system-one",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],cost:{input:.02,output:0,cacheRead:0,cacheWrite:0},contextWindow:65536},"classifier:inception/mercury-decide:free":{type:"classifier",id:"inception/mercury-decide:free",name:"Inception: Mercury Decide (free)",api:"typesafe-system-one",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:65536},"classifier:jaredpalmer/kev-4b":{type:"classifier",id:"jaredpalmer/kev-4b",name:"Jared Palmer: Kev 4B",api:"typesafe-system-one",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text"],cost:{input:.042,output:0,cacheRead:0,cacheWrite:0},contextWindow:8192},"classifier:liquid/d1":{type:"classifier",id:"liquid/d1",name:"LiquidAI: d1",api:"typesafe-system-one",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],cost:{input:.02,output:0,cacheRead:.02,cacheWrite:0},contextWindow:65536},"classifier:liquid/d1-ultra":{type:"classifier",id:"liquid/d1-ultra",name:"LiquidAI: d1-ultra",api:"typesafe-system-one",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],cost:{input:.042,output:0,cacheRead:.042,cacheWrite:0},contextWindow:32768},"classifier:microsoft/microsoft-decision-1":{type:"classifier",id:"microsoft/microsoft-decision-1",name:"Microsoft: Microsoft-Decision-1",api:"typesafe-system-one",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text"],cost:{input:.042,output:0,cacheRead:0,cacheWrite:0},contextWindow:32768},"classifier:nace-ai/drex-v1.5":{type:"classifier",id:"nace-ai/drex-v1.5",name:"Nace.AI: Drex v1.5",api:"typesafe-system-one",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text"],cost:{input:.04,output:0,cacheRead:0,cacheWrite:0},contextWindow:131072},"classifier:nace-ai/drex-v2.0":{type:"classifier",id:"nace-ai/drex-v2.0",name:"Nace.AI: Drex v2.0",api:"typesafe-system-one",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text"],cost:{input:.06,output:0,cacheRead:0,cacheWrite:0},contextWindow:131072},"classifier:openai/gpt-6-luna-decisions":{type:"classifier",id:"openai/gpt-6-luna-decisions",name:"OpenAI: GPT-6 Luna Decisions",api:"typesafe-system-one",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],cost:{input:.1,output:0,cacheRead:0,cacheWrite:0},contextWindow:105e4},"classifier:perplexity/pplx-decider-flash-v1.2":{type:"classifier",id:"perplexity/pplx-decider-flash-v1.2",name:"Perplexity: Decider Flash V1.2",api:"typesafe-system-one",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],cost:{input:.01,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144},"classifier:perplexity/pplx-decider-v1.2":{type:"classifier",id:"perplexity/pplx-decider-v1.2",name:"Perplexity: Decider V1.2",api:"typesafe-system-one",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],cost:{input:.02,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144},"classifier:respan/span-01":{type:"classifier",id:"respan/span-01",name:"Respan: Span-01",api:"typesafe-system-one",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text"],cost:{input:.02,output:0,cacheRead:0,cacheWrite:0},contextWindow:4096},"classifier:respan/span-01-lite":{type:"classifier",id:"respan/span-01-lite",name:"Respan: Span-01 Lite",api:"typesafe-system-one",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:4096},"classifier:respan/span-01-lite:free":{type:"classifier",id:"respan/span-01-lite:free",name:"Respan: Span-01 Lite (free)",api:"typesafe-system-one",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:4096},"classifier:respan/span-02":{type:"classifier",id:"respan/span-02",name:"Respan: Span-02",api:"typesafe-system-one",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],cost:{input:.01,output:0,cacheRead:0,cacheWrite:0},contextWindow:131072},"classifier:scaledown/classify-1":{type:"classifier",id:"scaledown/classify-1",name:"ScaleDown: Classify-1",api:"typesafe-system-one",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],cost:{input:.04,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6},"classifier:togethercomputer/tev1-4b-experimental":{type:"classifier",id:"togethercomputer/tev1-4b-experimental",name:"Together: Tev1 4B Experimental",api:"typesafe-system-one",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text"],cost:{input:.042,output:0,cacheRead:0,cacheWrite:0},contextWindow:32768},"classifier:typesafe/jev-1.13":{type:"classifier",id:"typesafe/jev-1.13",name:"TypeSafe: Jev 1.13",api:"typesafe-system-one",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],cost:{input:.042,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144},"classifier:typesafe/jev-1.14":{type:"classifier",id:"typesafe/jev-1.14",name:"TypeSafe: Jev 1.14",api:"typesafe-system-one",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text","image"],cost:{input:.042,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144},"classifier:upstage/solar-decide":{type:"classifier",id:"upstage/solar-decide",name:"Upstage: Solar Decide",api:"typesafe-system-one",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text"],cost:{input:.05,output:0,cacheRead:.05,cacheWrite:0},contextWindow:524288},"classifier:upstage/solar-decide-flash":{type:"classifier",id:"upstage/solar-decide-flash",name:"Upstage: Solar Decide Flash",api:"typesafe-system-one",provider:"openrouter",baseUrl:"https://openrouter.ai/api/v1",input:["text"],cost:{input:.05,output:0,cacheRead:.05,cacheWrite:0},contextWindow:524288}}};var OPENROUTER_MODELS=flattenChatModelCatalog("openrouter",openrouter_default),OPENROUTER_IMAGE_MODELS=flattenImageModelCatalog("openrouter",openrouter_default),OPENROUTER_CLASSIFIER_MODELS=flattenClassifierModelCatalog("openrouter",openrouter_default);var qwen_token_plan_default={"openai-completions":{"chat:deepseek-v3.2":{id:"deepseek-v3.2",name:"DeepSeek V3.2",api:"openai-completions",provider:"qwen-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:65536,type:"chat"},"chat:deepseek-v4-flash":{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",api:"openai-completions",provider:"qwen-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!0},thinkingLevelMap:{minimal:null,low:null,medium:null,high:"high",xhigh:null,max:"max"},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:384e3,type:"chat"},"chat:deepseek-v4-flash-0731":{id:"deepseek-v4-flash-0731",name:"DeepSeek V4 Flash 0731",api:"openai-completions",provider:"qwen-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!0},thinkingLevelMap:{minimal:null,low:null,medium:null,high:"high",xhigh:null,max:"max"},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:384e3,type:"chat"},"chat:deepseek-v4-pro":{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",api:"openai-completions",provider:"qwen-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!0},thinkingLevelMap:{minimal:null,low:null,medium:null,high:"high",xhigh:null,max:"max"},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:384e3,type:"chat"},"chat:deepseek-v4-pro-0813":{id:"deepseek-v4-pro-0813",name:"DeepSeek V4 Pro 0813",api:"openai-completions",provider:"qwen-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!0},thinkingLevelMap:{minimal:null,low:null,medium:null,high:"high",xhigh:null,max:"max"},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:384e3,type:"chat"},"chat:deepseek-v4.1-flash":{id:"deepseek-v4.1-flash",name:"DeepSeek V4.1 Flash",api:"openai-completions",provider:"qwen-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!0},thinkingLevelMap:{minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:384e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:deepseek-v4.1-flash-1017":{id:"deepseek-v4.1-flash-1017",name:"DeepSeek V4.1 Flash 1017",api:"openai-completions",provider:"qwen-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!0},thinkingLevelMap:{minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:384e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:glm-5":{id:"glm-5",name:"GLM-5",api:"openai-completions",provider:"qwen-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!0},thinkingLevelMap:{minimal:null,low:null,medium:null,high:"high",xhigh:null,max:"max"},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:202752,maxTokens:16384,type:"chat"},"chat:glm-5.1":{id:"glm-5.1",name:"GLM-5.1",api:"openai-completions",provider:"qwen-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!0},thinkingLevelMap:{minimal:null,low:null,medium:null,high:"high",xhigh:null,max:"max"},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:202752,maxTokens:128e3,type:"chat"},"chat:glm-5.2":{id:"glm-5.2",name:"GLM-5.2",api:"openai-completions",provider:"qwen-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!0},thinkingLevelMap:{minimal:null,low:null,medium:null,high:"high",xhigh:null,max:"max"},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:131072,type:"chat"},"chat:glm-5.3":{id:"glm-5.3",name:"GLM-5.3",api:"openai-completions",provider:"qwen-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!0},thinkingLevelMap:{minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:131072,type:"chat"},"chat:kimi-k2.5":{id:"kimi-k2.5",name:"Kimi K2.5",api:"openai-completions",provider:"qwen-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:98304,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:kimi-k2.6":{id:"kimi-k2.6",name:"Kimi K2.6",api:"openai-completions",provider:"qwen-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:kimi-k2.7-code":{id:"kimi-k2.7-code",name:"Kimi K2.7 Code",api:"openai-completions",provider:"qwen-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:MiniMax-M2.5":{id:"MiniMax-M2.5",name:"MiniMax-M2.5",api:"openai-completions",provider:"qwen-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:196608,maxTokens:32768,type:"chat"},"chat:qwen3.6-flash":{id:"qwen3.6-flash",name:"Qwen3.6 Flash",api:"openai-completions",provider:"qwen-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:qwen3.6-plus":{id:"qwen3.6-plus",name:"Qwen3.6 Plus",api:"openai-completions",provider:"qwen-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:qwen3.7-max":{id:"qwen3.7-max",name:"Qwen3.7 Max",api:"openai-completions",provider:"qwen-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:131072,type:"chat"},"chat:qwen3.7-plus":{id:"qwen3.7-plus",name:"Qwen3.7 Plus",api:"openai-completions",provider:"qwen-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:qwen3.8-flash":{id:"qwen3.8-flash",name:"Qwen3.8 Flash",api:"openai-completions",provider:"qwen-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!0},thinkingLevelMap:{minimal:null,low:"low",medium:"medium",high:null,xhigh:"xhigh",max:null},reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:qwen3.8-max":{id:"qwen3.8-max",name:"Qwen3.8 Max",api:"openai-completions",provider:"qwen-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!0},thinkingLevelMap:{minimal:null,low:"low",medium:"medium",high:null,xhigh:"xhigh",max:null},reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}}};var QWEN_TOKEN_PLAN_MODELS=flattenChatModelCatalog("qwen-token-plan",qwen_token_plan_default),QWEN_TOKEN_PLAN_IMAGE_MODELS=flattenImageModelCatalog("qwen-token-plan",qwen_token_plan_default),QWEN_TOKEN_PLAN_CLASSIFIER_MODELS=flattenClassifierModelCatalog("qwen-token-plan",qwen_token_plan_default);var qwen_token_plan_cn_default={"openai-completions":{"chat:deepseek-v3.2":{id:"deepseek-v3.2",name:"DeepSeek V3.2",api:"openai-completions",provider:"qwen-token-plan-cn",baseUrl:"https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:65536,type:"chat"},"chat:deepseek-v4-flash":{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",api:"openai-completions",provider:"qwen-token-plan-cn",baseUrl:"https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!0},thinkingLevelMap:{minimal:null,low:null,medium:null,high:"high",xhigh:null,max:"max"},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:384e3,type:"chat"},"chat:deepseek-v4-flash-0731":{id:"deepseek-v4-flash-0731",name:"DeepSeek V4 Flash 0731",api:"openai-completions",provider:"qwen-token-plan-cn",baseUrl:"https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!0},thinkingLevelMap:{minimal:null,low:null,medium:null,high:"high",xhigh:null,max:"max"},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:384e3,type:"chat"},"chat:deepseek-v4-pro":{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",api:"openai-completions",provider:"qwen-token-plan-cn",baseUrl:"https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!0},thinkingLevelMap:{minimal:null,low:null,medium:null,high:"high",xhigh:null,max:"max"},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:384e3,type:"chat"},"chat:deepseek-v4-pro-0813":{id:"deepseek-v4-pro-0813",name:"DeepSeek V4 Pro 0813",api:"openai-completions",provider:"qwen-token-plan-cn",baseUrl:"https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!0},thinkingLevelMap:{minimal:null,low:null,medium:null,high:"high",xhigh:null,max:"max"},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:384e3,type:"chat"},"chat:deepseek-v4.1-flash":{id:"deepseek-v4.1-flash",name:"DeepSeek V4.1 Flash",api:"openai-completions",provider:"qwen-token-plan-cn",baseUrl:"https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!0},thinkingLevelMap:{minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:384e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:deepseek-v4.1-flash-1017":{id:"deepseek-v4.1-flash-1017",name:"DeepSeek V4.1 Flash 1017",api:"openai-completions",provider:"qwen-token-plan-cn",baseUrl:"https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!0},thinkingLevelMap:{minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:384e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:glm-5":{id:"glm-5",name:"GLM-5",api:"openai-completions",provider:"qwen-token-plan-cn",baseUrl:"https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!0},thinkingLevelMap:{minimal:null,low:null,medium:null,high:"high",xhigh:null,max:"max"},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:202752,maxTokens:16384,type:"chat"},"chat:glm-5.1":{id:"glm-5.1",name:"GLM-5.1",api:"openai-completions",provider:"qwen-token-plan-cn",baseUrl:"https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!0},thinkingLevelMap:{minimal:null,low:null,medium:null,high:"high",xhigh:null,max:"max"},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:202752,maxTokens:128e3,type:"chat"},"chat:glm-5.2":{id:"glm-5.2",name:"GLM-5.2",api:"openai-completions",provider:"qwen-token-plan-cn",baseUrl:"https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!0},thinkingLevelMap:{minimal:null,low:null,medium:null,high:"high",xhigh:null,max:"max"},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:131072,type:"chat"},"chat:glm-5.3":{id:"glm-5.3",name:"GLM-5.3",api:"openai-completions",provider:"qwen-token-plan-cn",baseUrl:"https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!0},thinkingLevelMap:{minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:131072,type:"chat"},"chat:kimi-k2.5":{id:"kimi-k2.5",name:"Kimi K2.5",api:"openai-completions",provider:"qwen-token-plan-cn",baseUrl:"https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:98304,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:kimi-k2.6":{id:"kimi-k2.6",name:"Kimi K2.6",api:"openai-completions",provider:"qwen-token-plan-cn",baseUrl:"https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:kimi-k2.7-code":{id:"kimi-k2.7-code",name:"Kimi K2.7 Code",api:"openai-completions",provider:"qwen-token-plan-cn",baseUrl:"https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:MiniMax-M2.5":{id:"MiniMax-M2.5",name:"MiniMax-M2.5",api:"openai-completions",provider:"qwen-token-plan-cn",baseUrl:"https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:196608,maxTokens:32768,type:"chat"},"chat:qwen3.6-flash":{id:"qwen3.6-flash",name:"Qwen3.6 Flash",api:"openai-completions",provider:"qwen-token-plan-cn",baseUrl:"https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:qwen3.6-plus":{id:"qwen3.6-plus",name:"Qwen3.6 Plus",api:"openai-completions",provider:"qwen-token-plan-cn",baseUrl:"https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:qwen3.7-max":{id:"qwen3.7-max",name:"Qwen3.7 Max",api:"openai-completions",provider:"qwen-token-plan-cn",baseUrl:"https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:131072,type:"chat"},"chat:qwen3.7-plus":{id:"qwen3.7-plus",name:"Qwen3.7 Plus",api:"openai-completions",provider:"qwen-token-plan-cn",baseUrl:"https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:qwen3.8-flash":{id:"qwen3.8-flash",name:"Qwen3.8 Flash",api:"openai-completions",provider:"qwen-token-plan-cn",baseUrl:"https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!0},thinkingLevelMap:{minimal:null,low:"low",medium:"medium",high:null,xhigh:"xhigh",max:null},reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:qwen3.8-max":{id:"qwen3.8-max",name:"Qwen3.8 Max",api:"openai-completions",provider:"qwen-token-plan-cn",baseUrl:"https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!0},thinkingLevelMap:{minimal:null,low:"low",medium:"medium",high:null,xhigh:"xhigh",max:null},reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}}};var QWEN_TOKEN_PLAN_CN_MODELS=flattenChatModelCatalog("qwen-token-plan-cn",qwen_token_plan_cn_default),QWEN_TOKEN_PLAN_CN_IMAGE_MODELS=flattenImageModelCatalog("qwen-token-plan-cn",qwen_token_plan_cn_default),QWEN_TOKEN_PLAN_CN_CLASSIFIER_MODELS=flattenClassifierModelCatalog("qwen-token-plan-cn",qwen_token_plan_cn_default);var qwen_token_plan_individual_default={"openai-completions":{"chat:deepseek-v4-flash-0731":{id:"deepseek-v4-flash-0731",name:"DeepSeek V4 Flash 0731",api:"openai-completions",provider:"qwen-token-plan-individual",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!0},thinkingLevelMap:{minimal:null,low:null,medium:null,high:"high",xhigh:null,max:"max"},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:384e3,type:"chat"},"chat:deepseek-v4-pro":{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",api:"openai-completions",provider:"qwen-token-plan-individual",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!0},thinkingLevelMap:{minimal:null,low:null,medium:null,high:"high",xhigh:null,max:"max"},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:384e3,type:"chat"},"chat:deepseek-v4-pro-0813":{id:"deepseek-v4-pro-0813",name:"DeepSeek V4 Pro 0813",api:"openai-completions",provider:"qwen-token-plan-individual",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!0},thinkingLevelMap:{minimal:null,low:null,medium:null,high:"high",xhigh:null,max:"max"},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:384e3,type:"chat"},"chat:glm-5.2":{id:"glm-5.2",name:"GLM-5.2",api:"openai-completions",provider:"qwen-token-plan-individual",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!0},thinkingLevelMap:{minimal:null,low:null,medium:null,high:"high",xhigh:null,max:"max"},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:131072,type:"chat"},"chat:qwen3.6-flash":{id:"qwen3.6-flash",name:"Qwen3.6 Flash",api:"openai-completions",provider:"qwen-token-plan-individual",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:qwen3.7-max":{id:"qwen3.7-max",name:"Qwen3.7 Max",api:"openai-completions",provider:"qwen-token-plan-individual",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:131072,type:"chat"},"chat:qwen3.7-plus":{id:"qwen3.7-plus",name:"Qwen3.7 Plus",api:"openai-completions",provider:"qwen-token-plan-individual",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!1},reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:qwen3.8-flash":{id:"qwen3.8-flash",name:"Qwen3.8 Flash",api:"openai-completions",provider:"qwen-token-plan-individual",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!0},thinkingLevelMap:{minimal:null,low:"low",medium:"medium",high:null,xhigh:"xhigh",max:null},reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:qwen3.8-max":{id:"qwen3.8-max",name:"Qwen3.8 Max",api:"openai-completions",provider:"qwen-token-plan-individual",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,thinkingFormat:"qwen",supportsDeveloperRole:!1,supportsStore:!1,supportsReasoningEffort:!0},thinkingLevelMap:{minimal:null,low:"low",medium:"medium",high:null,xhigh:"xhigh",max:null},reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}}};var QWEN_TOKEN_PLAN_INDIVIDUAL_MODELS=flattenChatModelCatalog("qwen-token-plan-individual",qwen_token_plan_individual_default),QWEN_TOKEN_PLAN_INDIVIDUAL_IMAGE_MODELS=flattenImageModelCatalog("qwen-token-plan-individual",qwen_token_plan_individual_default),QWEN_TOKEN_PLAN_INDIVIDUAL_CLASSIFIER_MODELS=flattenClassifierModelCatalog("qwen-token-plan-individual",qwen_token_plan_individual_default);var radius_default={"knightcode-messages":{"chat:balanced":{id:"balanced",name:"Balanced",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text","image"],contextWindow:1048576,maxTokens:131072,lab:"Moonshot AI",cost:{input:3,output:15,cacheRead:.3,cacheWrite:0},enabled:!0,providers:[{id:"fireworks",name:"Fireworks AI",credential:"radius",source:"radius"},{id:"relace",name:"Relace",credential:"radius",source:"radius"},{id:"sference",name:"sference",credential:"radius",source:"radius"},{id:"baseten",name:"Baseten",credential:"radius",source:"radius"}],api:"knightcode-messages",provider:"radius",baseUrl:"https://radius.pi.dev/v1",inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:cheap":{id:"cheap",name:"Cheap",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text","image"],contextWindow:1e6,maxTokens:32768,lab:"DeepSeek",cost:{input:.3,output:1.2,cacheRead:.006,cacheWrite:0},enabled:!0,providers:[{id:"fireworks",name:"Fireworks AI",credential:"radius",source:"radius"},{id:"relace",name:"Relace",credential:"radius",source:"radius"},{id:"baseten",name:"Baseten",credential:"radius",source:"radius"}],api:"knightcode-messages",provider:"radius",baseUrl:"https://radius.pi.dev/v1",inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-fable-5":{id:"claude-fable-5",name:"Claude Fable 5",reasoning:!0,thinkingLevelMap:{off:null,xhigh:"xhigh",max:"max"},input:["text","image"],contextWindow:1e6,maxTokens:128e3,lab:"Anthropic",cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},enabled:!0,providers:[{id:"anthropic",name:"Anthropic",credential:"radius",source:"radius"}],promptCache:{short:300,long:3600},api:"knightcode-messages",provider:"radius",baseUrl:"https://radius.pi.dev/v1",inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-fable-5-1":{id:"claude-fable-5-1",name:"Claude Fable 5.1",reasoning:!0,thinkingLevelMap:{off:null,xhigh:"xhigh",max:"max"},input:["text","image"],contextWindow:1e6,maxTokens:128e3,lab:"Anthropic",cost:{input:10,output:50,cacheRead:.25,cacheWrite:12.5},enabled:!0,providers:[{id:"anthropic",name:"Anthropic",credential:"radius",source:"radius"}],promptCache:{short:300,long:3600},api:"knightcode-messages",provider:"radius",baseUrl:"https://radius.pi.dev/v1",inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-haiku-4-5":{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",reasoning:!0,input:["text","image"],contextWindow:2e5,maxTokens:64e3,lab:"Anthropic",cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},enabled:!0,providers:[{id:"anthropic",name:"Anthropic",credential:"radius",source:"radius"}],api:"knightcode-messages",provider:"radius",baseUrl:"https://radius.pi.dev/v1",inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-haiku-5-5":{id:"claude-haiku-5-5",name:"Claude Haiku 5.5",reasoning:!0,thinkingLevelMap:{minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],contextWindow:1e6,maxTokens:128e3,lab:"Anthropic",cost:{input:.1,output:.5,cacheRead:.01,cacheWrite:.125,tiers:[{inputTokensAbove:1e5,input:.5,output:2.5,cacheRead:.05,cacheWrite:.625}]},enabled:!0,providers:[{id:"anthropic",name:"Anthropic",credential:"radius",source:"radius"}],promptCache:{short:300,long:3600},api:"knightcode-messages",provider:"radius",baseUrl:"https://radius.pi.dev/v1",inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-opus-4-5":{id:"claude-opus-4-5",name:"Claude Opus 4.5",reasoning:!0,input:["text","image"],contextWindow:2e5,maxTokens:64e3,lab:"Anthropic",cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},enabled:!0,providers:[{id:"anthropic",name:"Anthropic",credential:"radius",source:"radius"}],api:"knightcode-messages",provider:"radius",baseUrl:"https://radius.pi.dev/v1",inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-opus-4-8":{id:"claude-opus-4-8",name:"Claude Opus 4.8",reasoning:!0,thinkingLevelMap:{xhigh:"xhigh",max:"max"},input:["text","image"],contextWindow:1e6,maxTokens:128e3,lab:"Anthropic",cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},enabled:!0,providers:[{id:"anthropic",name:"Anthropic",credential:"radius",source:"radius"}],promptCache:{short:300,long:3600},api:"knightcode-messages",provider:"radius",baseUrl:"https://radius.pi.dev/v1",inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-opus-5":{id:"claude-opus-5",name:"Claude Opus 5",reasoning:!0,thinkingLevelMap:{xhigh:"xhigh",max:"max"},input:["text","image"],contextWindow:1e6,maxTokens:128e3,lab:"Anthropic",cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},enabled:!0,providers:[{id:"anthropic",name:"Anthropic",credential:"radius",source:"radius"}],promptCache:{short:300,long:3600},api:"knightcode-messages",provider:"radius",baseUrl:"https://radius.pi.dev/v1",inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-opus-5-5":{id:"claude-opus-5-5",name:"Claude Opus 5.5",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],contextWindow:1e6,maxTokens:128e3,lab:"Anthropic",cost:{input:4,output:20,cacheRead:.2,cacheWrite:5},enabled:!0,providers:[{id:"anthropic",name:"Anthropic",credential:"radius",source:"radius"}],promptCache:{short:300,long:3600},api:"knightcode-messages",provider:"radius",baseUrl:"https://radius.pi.dev/v1",inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-sonnet-4-5":{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5",reasoning:!0,input:["text","image"],contextWindow:2e5,maxTokens:64e3,lab:"Anthropic",cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},enabled:!0,providers:[{id:"anthropic",name:"Anthropic",credential:"radius",source:"radius"}],api:"knightcode-messages",provider:"radius",baseUrl:"https://radius.pi.dev/v1",inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-sonnet-5":{id:"claude-sonnet-5",name:"Claude Sonnet 5",reasoning:!0,thinkingLevelMap:{xhigh:"xhigh",max:"max"},input:["text","image"],contextWindow:1e6,maxTokens:128e3,lab:"Anthropic",cost:{input:2,output:10,cacheRead:.2,cacheWrite:2.5},enabled:!0,providers:[{id:"anthropic",name:"Anthropic",credential:"radius",source:"radius"}],promptCache:{short:300,long:3600},api:"knightcode-messages",provider:"radius",baseUrl:"https://radius.pi.dev/v1",inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:claude-sonnet-5-5":{id:"claude-sonnet-5-5",name:"Claude Sonnet 5.5",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],contextWindow:1e6,maxTokens:128e3,lab:"Anthropic",cost:{input:2,output:10,cacheRead:.2,cacheWrite:2.5},enabled:!0,providers:[{id:"anthropic",name:"Anthropic",credential:"radius",source:"radius"}],promptCache:{short:300,long:3600},api:"knightcode-messages",provider:"radius",baseUrl:"https://radius.pi.dev/v1",inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:deepseek-v4.1-flash":{id:"deepseek-v4.1-flash",name:"DeepSeek V4.1 Flash",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text","image"],contextWindow:1e6,maxTokens:32768,lab:"DeepSeek",cost:{input:.3,output:1.2,cacheRead:.006,cacheWrite:0},enabled:!0,providers:[{id:"fireworks",name:"Fireworks AI",credential:"radius",source:"radius"},{id:"relace",name:"Relace",credential:"radius",source:"radius"},{id:"baseten",name:"Baseten",credential:"radius",source:"radius"}],api:"knightcode-messages",provider:"radius",baseUrl:"https://radius.pi.dev/v1",inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:glm-5.3":{id:"glm-5.3",name:"GLM-5.3",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"xhigh"},input:["text"],contextWindow:1e6,maxTokens:131072,lab:"Z.ai",cost:{input:1.4,output:4.4,cacheRead:.26,cacheWrite:0},enabled:!0,providers:[{id:"sference",name:"sference",credential:"radius",source:"radius"},{id:"fireworks",name:"Fireworks AI",credential:"radius",source:"radius"},{id:"baseten",name:"Baseten",credential:"radius",source:"radius"},{id:"openrouter",name:"OpenRouter",credential:"radius",source:"radius"},{id:"vercel-ai-gateway",name:"Vercel AI Gateway",credential:"radius",source:"radius"}],api:"knightcode-messages",provider:"radius",baseUrl:"https://radius.pi.dev/v1",type:"chat"},"chat:glm-5.3-flash":{id:"glm-5.3-flash",name:"GLM-5.3 Flash",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text"],contextWindow:1e6,maxTokens:131072,lab:"Z.ai",cost:{input:.15,output:.5,cacheRead:.03,cacheWrite:0},enabled:!0,providers:[{id:"fireworks",name:"Fireworks AI",credential:"radius",source:"radius"},{id:"relace",name:"Relace",credential:"radius",source:"radius"},{id:"baseten",name:"Baseten",credential:"radius",source:"radius"},{id:"sference",name:"sference",credential:"radius",source:"radius"}],api:"knightcode-messages",provider:"radius",baseUrl:"https://radius.pi.dev/v1",type:"chat"},"chat:gpt-5.3-codex":{id:"gpt-5.3-codex",name:"GPT 5.3 Codex",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image"],contextWindow:4e5,maxTokens:128e3,lab:"OpenAI",cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},enabled:!0,providers:[{id:"openai",name:"OpenAI",credential:"radius",source:"radius"}],api:"knightcode-messages",provider:"radius",baseUrl:"https://radius.pi.dev/v1",inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.4":{id:"gpt-5.4",name:"GPT 5.4",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image"],contextWindow:272e3,maxTokens:128e3,lab:"OpenAI",cost:{input:2.5,output:15,cacheRead:.25,cacheWrite:0,tiers:[{inputTokensAbove:272e3,input:5,output:22.5,cacheRead:.5,cacheWrite:0}]},enabled:!0,providers:[{id:"openai",name:"OpenAI",credential:"radius",source:"radius"}],api:"knightcode-messages",provider:"radius",baseUrl:"https://radius.pi.dev/v1",inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.4-mini":{id:"gpt-5.4-mini",name:"GPT 5.4 Mini",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image"],contextWindow:4e5,maxTokens:128e3,lab:"OpenAI",cost:{input:.75,output:4.5,cacheRead:.075,cacheWrite:0},enabled:!0,providers:[{id:"openai",name:"OpenAI",credential:"radius",source:"radius"}],api:"knightcode-messages",provider:"radius",baseUrl:"https://radius.pi.dev/v1",inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.5":{id:"gpt-5.5",name:"GPT 5.5",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image"],contextWindow:272e3,maxTokens:128e3,lab:"OpenAI",cost:{input:5,output:30,cacheRead:.5,cacheWrite:0,tiers:[{inputTokensAbove:272e3,input:10,output:45,cacheRead:1,cacheWrite:0}]},enabled:!0,providers:[{id:"openai",name:"OpenAI",credential:"radius",source:"radius"}],api:"knightcode-messages",provider:"radius",baseUrl:"https://radius.pi.dev/v1",inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.6-luna":{id:"gpt-5.6-luna",name:"GPT 5.6 Luna",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],contextWindow:272e3,maxTokens:128e3,lab:"OpenAI",cost:{input:.2,output:1.2,cacheRead:.02,cacheWrite:.25,tiers:[{inputTokensAbove:272e3,input:.4,output:1.8,cacheRead:.04,cacheWrite:.5}]},enabled:!0,providers:[{id:"openai",name:"OpenAI",credential:"radius",source:"radius"}],api:"knightcode-messages",provider:"radius",baseUrl:"https://radius.pi.dev/v1",inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.6-sol":{id:"gpt-5.6-sol",name:"GPT 5.6 Sol",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],contextWindow:272e3,maxTokens:128e3,lab:"OpenAI",cost:{input:4,output:20,cacheRead:.4,cacheWrite:5,tiers:[{inputTokensAbove:272e3,input:8,output:30,cacheRead:.8,cacheWrite:10}]},enabled:!0,providers:[{id:"openai",name:"OpenAI",credential:"radius",source:"radius"}],api:"knightcode-messages",provider:"radius",baseUrl:"https://radius.pi.dev/v1",inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.6-terra":{id:"gpt-5.6-terra",name:"GPT 5.6 Terra",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],contextWindow:272e3,maxTokens:128e3,lab:"OpenAI",cost:{input:2,output:12,cacheRead:.2,cacheWrite:2.5,tiers:[{inputTokensAbove:272e3,input:4,output:18,cacheRead:.4,cacheWrite:5}]},enabled:!0,providers:[{id:"openai",name:"OpenAI",credential:"radius",source:"radius"}],api:"knightcode-messages",provider:"radius",baseUrl:"https://radius.pi.dev/v1",inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-6-astra":{id:"gpt-6-astra",name:"GPT 6 Astra",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],contextWindow:272e3,maxTokens:128e3,lab:"OpenAI",cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5,tiers:[{inputTokensAbove:272e3,input:20,output:75,cacheRead:2,cacheWrite:25}]},enabled:!0,providers:[{id:"openai",name:"OpenAI",credential:"radius",source:"radius"}],api:"knightcode-messages",provider:"radius",baseUrl:"https://radius.pi.dev/v1",inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-6-luna":{id:"gpt-6-luna",name:"GPT 6 Luna",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],contextWindow:105e4,maxTokens:128e3,lab:"OpenAI",cost:{input:.1,output:.5,cacheRead:.01,cacheWrite:.125,tiers:[{inputTokensAbove:272e3,input:.2,output:.75,cacheRead:.02,cacheWrite:.25}]},enabled:!0,providers:[{id:"openai",name:"OpenAI",credential:"radius",source:"radius"}],api:"knightcode-messages",provider:"radius",baseUrl:"https://radius.pi.dev/v1",inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-6-sol":{id:"gpt-6-sol",name:"GPT 6 Sol",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],contextWindow:105e4,maxTokens:128e3,lab:"OpenAI",cost:{input:2,output:10,cacheRead:.2,cacheWrite:2.5,tiers:[{inputTokensAbove:272e3,input:4,output:15,cacheRead:.4,cacheWrite:5}]},enabled:!0,providers:[{id:"openai",name:"OpenAI",credential:"radius",source:"radius"}],api:"knightcode-messages",provider:"radius",baseUrl:"https://radius.pi.dev/v1",inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-6.1-sol":{id:"gpt-6.1-sol",name:"GPT 6.1 Sol",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],contextWindow:272e3,maxTokens:128e3,lab:"OpenAI",cost:{input:2,output:10,cacheRead:.1,cacheWrite:2.5,tiers:[{inputTokensAbove:272e3,input:4,output:15,cacheRead:.2,cacheWrite:5}]},enabled:!0,providers:[{id:"openai",name:"OpenAI",credential:"radius",source:"radius"}],api:"knightcode-messages",provider:"radius",baseUrl:"https://radius.pi.dev/v1",inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:grok-4.7":{id:"grok-4.7",name:"Grok 4.7",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image"],contextWindow:5e5,maxTokens:5e5,lab:"xAI",cost:{input:2,output:6,cacheRead:.5,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:4,output:12,cacheRead:1,cacheWrite:0}]},enabled:!0,providers:[{id:"xai",name:"xAI",credential:"radius",source:"radius"}],api:"knightcode-messages",provider:"radius",baseUrl:"https://radius.pi.dev/v1",inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:kimi-k3":{id:"kimi-k3",name:"Kimi K3",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text","image"],contextWindow:1048576,maxTokens:131072,lab:"Moonshot AI",cost:{input:3,output:15,cacheRead:.3,cacheWrite:0},enabled:!0,providers:[{id:"fireworks",name:"Fireworks AI",credential:"radius",source:"radius"},{id:"relace",name:"Relace",credential:"radius",source:"radius"},{id:"sference",name:"sference",credential:"radius",source:"radius"},{id:"baseten",name:"Baseten",credential:"radius",source:"radius"}],api:"knightcode-messages",provider:"radius",baseUrl:"https://radius.pi.dev/v1",inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:precise":{id:"precise",name:"Precise",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],contextWindow:272e3,maxTokens:128e3,lab:"OpenAI",cost:{input:4,output:20,cacheRead:.4,cacheWrite:5,tiers:[{inputTokensAbove:272e3,input:8,output:30,cacheRead:.8,cacheWrite:10}]},enabled:!0,providers:[{id:"openai",name:"OpenAI",credential:"radius",source:"radius"}],api:"knightcode-messages",provider:"radius",baseUrl:"https://radius.pi.dev/v1",inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}}};var RADIUS_MODELS=flattenChatModelCatalog("radius",radius_default),RADIUS_IMAGE_MODELS=flattenImageModelCatalog("radius",radius_default),RADIUS_CLASSIFIER_MODELS=flattenClassifierModelCatalog("radius",radius_default);var together_default={"openai-completions":{"chat:deepseek-ai/DeepSeek-V4-Flash-0731":{id:"deepseek-ai/DeepSeek-V4-Flash-0731",name:"DeepSeek V4 Flash 0731",api:"openai-completions",provider:"together",baseUrl:"https://api.together.ai/v1",reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null},input:["text"],cost:{input:.14,output:.28,cacheRead:.03,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",thinkingFormat:"together",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:1048576,maxTokens:384e3,type:"chat"},"chat:deepseek-ai/DeepSeek-V4-Pro-0813":{id:"deepseek-ai/DeepSeek-V4-Pro-0813",name:"DeepSeek V4 Pro 0813",api:"openai-completions",provider:"together",baseUrl:"https://api.together.ai/v1",reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null,high:"high",xhigh:null},input:["text"],cost:{input:1.32,output:3.96,cacheRead:.13,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!0,maxTokensField:"max_tokens",thinkingFormat:"together",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:1048576,maxTokens:384e3,type:"chat"},"chat:deepseek-ai/DeepSeek-V4.1-Flash":{id:"deepseek-ai/DeepSeek-V4.1-Flash",name:"DeepSeek V4.1 Flash",api:"openai-completions",provider:"together",baseUrl:"https://api.together.ai/v1",reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null},input:["text","image"],cost:{input:.3,output:1.2,cacheRead:.006,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",thinkingFormat:"together",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:1048576,maxTokens:384e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:meta-llama/Llama-3.3-70B-Instruct-Turbo":{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B",api:"openai-completions",provider:"together",baseUrl:"https://api.together.ai/v1",reasoning:!1,input:["text"],cost:{input:1.04,output:1.04,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",thinkingFormat:"together",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:131072,maxTokens:131072,type:"chat"},"chat:meta-models/Muse-Spark-Open-816B-A42B":{id:"meta-models/Muse-Spark-Open-816B-A42B",name:"Muse Spark Open",api:"openai-completions",provider:"together",baseUrl:"https://api.together.ai/v1",reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null},input:["text","image"],cost:{input:1.25,output:4.25,cacheRead:.15,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",thinkingFormat:"together",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:1048576,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:MiniMaxAI/MiniMax-M2.7":{id:"MiniMaxAI/MiniMax-M2.7",name:"MiniMax-M2.7",api:"openai-completions",provider:"together",baseUrl:"https://api.together.ai/v1",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:null,medium:null},input:["text"],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:196608,maxTokens:131072,type:"chat"},"chat:MiniMaxAI/MiniMax-M3":{id:"MiniMaxAI/MiniMax-M3",name:"MiniMax-M3",api:"openai-completions",provider:"together",baseUrl:"https://api.together.ai/v1",reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null},input:["text","image"],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",thinkingFormat:"together",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:524288,maxTokens:25e4,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:moonshotai/Kimi-K3":{id:"moonshotai/Kimi-K3",name:"Kimi K3",api:"openai-completions",provider:"together",baseUrl:"https://api.together.ai/v1",reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null},input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",thinkingFormat:"together",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:1048576,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:nvidia/nemotron-3-ultra-550b-a55b":{id:"nvidia/nemotron-3-ultra-550b-a55b",name:"Nemotron 3 Ultra 550B A55B",api:"openai-completions",provider:"together",baseUrl:"https://api.together.ai/v1",reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null},input:["text"],cost:{input:.6,output:3.6,cacheRead:.2,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",thinkingFormat:"together",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:512300,maxTokens:512300,type:"chat"},"chat:nvidia/NVIDIA-Nemotron-3.5-Super-VL":{id:"nvidia/NVIDIA-Nemotron-3.5-Super-VL",name:"Nemotron 3.5 Super VL 120B A12B",api:"openai-completions",provider:"together",baseUrl:"https://api.together.ai/v1",reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null},input:["text","image"],cost:{input:.15,output:.5,cacheRead:.02,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",thinkingFormat:"together",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:262144,maxTokens:262144,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",api:"openai-completions",provider:"together",baseUrl:"https://api.together.ai/v1",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text"],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!0,maxTokensField:"max_tokens",thinkingFormat:"openai",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:131072,maxTokens:131072,type:"chat"},"chat:Qwen/Qwen2.5-7B-Instruct-Turbo":{id:"Qwen/Qwen2.5-7B-Instruct-Turbo",name:"Qwen 2.5 7B Instruct Turbo",api:"openai-completions",provider:"together",baseUrl:"https://api.together.ai/v1",reasoning:!1,input:["text"],cost:{input:.3,output:.3,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",thinkingFormat:"together",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:32768,maxTokens:32768,type:"chat"},"chat:Qwen/Qwen3.5-9B":{id:"Qwen/Qwen3.5-9B",name:"Qwen3.5 9B",api:"openai-completions",provider:"together",baseUrl:"https://api.together.ai/v1",reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null},input:["text","image"],cost:{input:.17,output:.25,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",thinkingFormat:"together",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:262144,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:Qwen/Qwen3.6-Plus":{id:"Qwen/Qwen3.6-Plus",name:"Qwen3.6 Plus",api:"openai-completions",provider:"together",baseUrl:"https://api.together.ai/v1",reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null},input:["text"],cost:{input:.5,output:3,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",thinkingFormat:"together",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:1e6,maxTokens:65536,type:"chat"},"chat:Qwen/Qwen3.7-Max":{id:"Qwen/Qwen3.7-Max",name:"Qwen3.7 Max",api:"openai-completions",provider:"together",baseUrl:"https://api.together.ai/v1",reasoning:!1,input:["text"],cost:{input:1.25,output:3.75,cacheRead:.125,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",thinkingFormat:"together",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:1e6,maxTokens:131072,type:"chat"},"chat:reflection/Beam-1.0-501B-A23B":{id:"reflection/Beam-1.0-501B-A23B",name:"Beam 1.0 501B A23B",api:"openai-completions",provider:"together",baseUrl:"https://api.together.ai/v1",reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null},input:["text"],cost:{input:.4,output:1.2,cacheRead:.04,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",thinkingFormat:"together",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:1048576,maxTokens:131072,type:"chat"},"chat:thinkingmachines/Inkling":{id:"thinkingmachines/Inkling",name:"Inkling",api:"openai-completions",provider:"together",baseUrl:"https://api.together.ai/v1",reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null},input:["text","image"],cost:{input:1,output:4.05,cacheRead:.17,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",thinkingFormat:"together",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:524288,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:zai-org/GLM-5.2":{id:"zai-org/GLM-5.2",name:"GLM-5.2",api:"openai-completions",provider:"together",baseUrl:"https://api.together.ai/v1",reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null},input:["text"],cost:{input:1.4,output:4.4,cacheRead:.26,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",thinkingFormat:"together",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:1048575,maxTokens:164e3,type:"chat"},"chat:zai-org/GLM-5.3":{id:"zai-org/GLM-5.3",name:"GLM-5.3",api:"openai-completions",provider:"together",baseUrl:"https://api.together.ai/v1",reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null},input:["text"],cost:{input:1.4,output:4.4,cacheRead:.26,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",thinkingFormat:"together",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:1048576,maxTokens:262144,type:"chat"},"chat:zai-org/GLM-5.3-Flash":{id:"zai-org/GLM-5.3-Flash",name:"GLM-5.3-Flash",api:"openai-completions",provider:"together",baseUrl:"https://api.together.ai/v1",reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null},input:["text","image"],cost:{input:.15,output:.5,cacheRead:.03,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",thinkingFormat:"together",supportsLongCacheRetention:!1,supportsStrictMode:!1},contextWindow:1048575,maxTokens:4e5,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}}};var TOGETHER_MODELS=flattenChatModelCatalog("together",together_default),TOGETHER_IMAGE_MODELS=flattenImageModelCatalog("together",together_default),TOGETHER_CLASSIFIER_MODELS=flattenClassifierModelCatalog("together",together_default);var typesafe_default={"typesafe-system-one":{"classifier:jev-latest":{type:"classifier",id:"jev-latest",name:"Jev",api:"typesafe-system-one",provider:"typesafe",baseUrl:"https://api.typesafe.ai/v1/",input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:64e3}}};var TYPESAFE_MODELS=flattenChatModelCatalog("typesafe",typesafe_default),TYPESAFE_IMAGE_MODELS=flattenImageModelCatalog("typesafe",typesafe_default),TYPESAFE_CLASSIFIER_MODELS=flattenClassifierModelCatalog("typesafe",typesafe_default);var vercel_ai_gateway_default={"anthropic-messages":{"chat:alibaba/qwen-3-14b":{id:"alibaba/qwen-3-14b",name:"Qwen3-14B",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.12,output:.24,cacheRead:0,cacheWrite:0},contextWindow:40960,maxTokens:16384,type:"chat"},"chat:alibaba/qwen-3-235b":{id:"alibaba/qwen-3-235b",name:"Qwen3 235B A22B",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.22,output:.88,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:16384,type:"chat"},"chat:alibaba/qwen-3-30b":{id:"alibaba/qwen-3-30b",name:"Qwen3-30B-A3B",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.12,output:.5,cacheRead:0,cacheWrite:0},contextWindow:40960,maxTokens:16384,type:"chat"},"chat:alibaba/qwen-3-32b":{id:"alibaba/qwen-3-32b",name:"Qwen 3 32B",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8192,type:"chat"},"chat:alibaba/qwen3-coder":{id:"alibaba/qwen3-coder",name:"Qwen3 Coder 480B A35B Instruct",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.22,output:1.8,cacheRead:.022,cacheWrite:0},contextWindow:262144,maxTokens:32768,type:"chat"},"chat:alibaba/qwen3-coder-30b-a3b":{id:"alibaba/qwen3-coder-30b-a3b",name:"Qwen 3 Coder 30B A3B Instruct",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:8192,type:"chat"},"chat:alibaba/qwen3-coder-next":{id:"alibaba/qwen3-coder-next",name:"Qwen3 Coder Next",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.5,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3,type:"chat"},"chat:alibaba/qwen3-max-thinking":{id:"alibaba/qwen3-max-thinking",name:"Qwen 3 Max Thinking",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:1.2,output:6,cacheRead:.24,cacheWrite:0,tiers:[{inputTokensAbove:32e3,input:2.4,output:12,cacheRead:.48,cacheWrite:0},{inputTokensAbove:128e3,input:3,output:15,cacheRead:.6,cacheWrite:0}]},contextWindow:256e3,maxTokens:65536,type:"chat"},"chat:alibaba/qwen3-next-80b-a3b-instruct":{id:"alibaba/qwen3-next-80b-a3b-instruct",name:"Qwen3 Next 80B A3B Instruct",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.15,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:262114,maxTokens:262114,type:"chat"},"chat:alibaba/qwen3-next-80b-a3b-thinking":{id:"alibaba/qwen3-next-80b-a3b-thinking",name:"Qwen3 Next 80B A3B Thinking",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.15,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144,type:"chat"},"chat:alibaba/qwen3-vl-instruct":{id:"alibaba/qwen3-vl-instruct",name:"Qwen3 VL 235B A22B Instruct",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.2,output:.88,cacheRead:.11,cacheWrite:0},contextWindow:262144,maxTokens:262144,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:alibaba/qwen3.5-flash":{id:"alibaba/qwen3.5-flash",name:"Qwen 3.5 Flash",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.1,output:.4,cacheRead:.01,cacheWrite:.125},contextWindow:1e6,maxTokens:64e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:alibaba/qwen3.5-plus":{id:"alibaba/qwen3.5-plus",name:"Qwen 3.5 Plus",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.4,output:2.4,cacheRead:.04,cacheWrite:.5,tiers:[{inputTokensAbove:256e3,input:.5,output:3,cacheRead:.05,cacheWrite:.625}]},contextWindow:1e6,maxTokens:64e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:alibaba/qwen3.6-27b":{id:"alibaba/qwen3.6-27b",name:"Qwen 3.6 27B",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.6,output:3.6,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:alibaba/qwen3.6-plus":{id:"alibaba/qwen3.6-plus",name:"Qwen 3.6 Plus",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.5,output:3,cacheRead:.05,cacheWrite:.625,tiers:[{inputTokensAbove:255999,input:2,output:6,cacheRead:.2,cacheWrite:2.5}]},contextWindow:1e6,maxTokens:64e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:alibaba/qwen3.7-flash":{id:"alibaba/qwen3.7-flash",name:"Qwen 3.7 Flash",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.03,output:.13,cacheRead:.006,cacheWrite:.038,tiers:[{inputTokensAbove:31999,input:.1,output:.4,cacheRead:.02,cacheWrite:.125},{inputTokensAbove:255999,input:.2,output:.8,cacheRead:.04,cacheWrite:.25}]},contextWindow:991e3,maxTokens:64e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:alibaba/qwen3.7-max":{id:"alibaba/qwen3.7-max",name:"Qwen 3.7 Max",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:2.5,output:7.5,cacheRead:.5,cacheWrite:3.125},contextWindow:991e3,maxTokens:64e3,type:"chat"},"chat:alibaba/qwen3.7-plus":{id:"alibaba/qwen3.7-plus",name:"Qwen 3.7 Plus",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.4,output:1.6,cacheRead:.08,cacheWrite:.5,tiers:[{inputTokensAbove:255999,input:1.2,output:4.8,cacheRead:.24,cacheWrite:1.5}]},contextWindow:1e6,maxTokens:64e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:alibaba/qwen3.8-2.4t-a95b":{id:"alibaba/qwen3.8-2.4t-a95b",name:"Qwen3.8 2.4T A95B",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:2,output:6,cacheRead:.25,cacheWrite:0},contextWindow:262144,maxTokens:128e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:alibaba/qwen3.8-27b":{id:"alibaba/qwen3.8-27b",name:"Qwen3.8 27B",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.5,output:3,cacheRead:.1,cacheWrite:.625},contextWindow:1e6,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:alibaba/qwen3.8-flash":{id:"alibaba/qwen3.8-flash",name:"Qwen 3.8 Flash",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.15,output:.47,cacheRead:.016,cacheWrite:.2},contextWindow:991e3,maxTokens:128e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:alibaba/qwen3.8-max":{id:"alibaba/qwen3.8-max",name:"Qwen 3.8 Max",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:2,output:6,cacheRead:.25,cacheWrite:0},contextWindow:262144,maxTokens:128e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:alibaba/qwen3.8-max-0902":{id:"alibaba/qwen3.8-max-0902",name:"Qwen3.8 Max 0902",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:2,output:6,cacheRead:.25,cacheWrite:2.5},contextWindow:991e3,maxTokens:128e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:alibaba/qwen3.8-max-prime":{id:"alibaba/qwen3.8-max-prime",name:"Qwen 3.8 Max Prime",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:4,output:12,cacheRead:.5,cacheWrite:5},contextWindow:1e6,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:alibaba/qwen3.8-omni-flash":{id:"alibaba/qwen3.8-omni-flash",name:"Qwen 3.8 Omni Flash",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.15,output:.47,cacheRead:.016,cacheWrite:0},contextWindow:1e6,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:amazon/nova-2-lite":{id:"amazon/nova-2-lite",name:"Nova 2 Lite",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.3,output:2.5,cacheRead:.075,cacheWrite:0},contextWindow:1e6,maxTokens:1e6,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:amazon/nova-lite":{id:"amazon/nova-lite",name:"Nova Lite",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.06,output:.24,cacheRead:0,cacheWrite:0},contextWindow:3e5,maxTokens:8192,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:amazon/nova-micro":{id:"amazon/nova-micro",name:"Nova Micro",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.035,output:.14,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8192,type:"chat"},"chat:amazon/nova-pro":{id:"amazon/nova-pro",name:"Nova Pro",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.8,output:3.2,cacheRead:0,cacheWrite:0},contextWindow:3e5,maxTokens:8192,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic/claude-fable-5":{id:"anthropic/claude-fable-5",name:"Claude Fable 5",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0,forceAdaptiveThinking:!0},cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{off:null,xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic/claude-fable-5-batch":{id:"anthropic/claude-fable-5-batch",name:"Claude Fable 5 (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0,forceAdaptiveThinking:!0},cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{off:null,xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic/claude-fable-5.1":{id:"anthropic/claude-fable-5.1",name:"Claude Fable 5.1",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0,forceAdaptiveThinking:!0},cost:{input:10,output:50,cacheRead:.25,cacheWrite:12.5},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{off:null,xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic/claude-fable-5.1-batch":{id:"anthropic/claude-fable-5.1-batch",name:"Claude Fable 5.1 (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0,forceAdaptiveThinking:!0},cost:{input:5,output:25,cacheRead:.125,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{off:null,xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic/claude-haiku-4.5":{id:"anthropic/claude-haiku-4.5",name:"Claude Haiku 4.5",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic/claude-haiku-4.5-batch":{id:"anthropic/claude-haiku-4.5-batch",name:"Claude Haiku 4.5 (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.5,output:2.5,cacheRead:.05,cacheWrite:.625},contextWindow:2e5,maxTokens:64e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic/claude-haiku-5.5":{id:"anthropic/claude-haiku-5.5",name:"Claude Haiku 5.5",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0,forceAdaptiveThinking:!0,supportsTemperature:!1},cost:{input:.1,output:.5,cacheRead:.01,cacheWrite:.125,tiers:[{inputTokensAbove:1e5,input:.5,output:2.5,cacheRead:.05,cacheWrite:.625}]},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic/claude-haiku-5.5-batch":{id:"anthropic/claude-haiku-5.5-batch",name:"Claude Haiku 5.5 (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0,forceAdaptiveThinking:!0,supportsTemperature:!1},cost:{input:.05,output:.25,cacheRead:.005,cacheWrite:.0625,tiers:[{inputTokensAbove:1e5,input:.25,output:1.25,cacheRead:.025,cacheWrite:.3125}]},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic/claude-opus-4.5":{id:"anthropic/claude-opus-4.5",name:"Claude Opus 4.5",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic/claude-opus-4.5-batch":{id:"anthropic/claude-opus-4.5-batch",name:"Claude Opus 4.5 (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:2.5,output:12.5,cacheRead:.25,cacheWrite:3.125},contextWindow:2e5,maxTokens:64e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic/claude-opus-4.6":{id:"anthropic/claude-opus-4.6",name:"Claude Opus 4.6",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0,forceAdaptiveThinking:!0},cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic/claude-opus-4.6-batch":{id:"anthropic/claude-opus-4.6-batch",name:"Claude Opus 4.6 (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0,forceAdaptiveThinking:!0},cost:{input:2.5,output:12.5,cacheRead:.25,cacheWrite:3.125},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic/claude-opus-4.7":{id:"anthropic/claude-opus-4.7",name:"Claude Opus 4.7",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0,forceAdaptiveThinking:!0,supportsTemperature:!1},cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic/claude-opus-4.7-batch":{id:"anthropic/claude-opus-4.7-batch",name:"Claude Opus 4.7 (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0,forceAdaptiveThinking:!0,supportsTemperature:!1},cost:{input:2.5,output:12.5,cacheRead:.25,cacheWrite:3.125},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic/claude-opus-4.8":{id:"anthropic/claude-opus-4.8",name:"Claude Opus 4.8",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0,forceAdaptiveThinking:!0,supportsTemperature:!1},cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic/claude-opus-4.8-batch":{id:"anthropic/claude-opus-4.8-batch",name:"Claude Opus 4.8 (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0,forceAdaptiveThinking:!0,supportsTemperature:!1},cost:{input:2.5,output:12.5,cacheRead:.25,cacheWrite:3.125},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic/claude-opus-4.8-fast":{id:"anthropic/claude-opus-4.8-fast",name:"Claude Opus 4.8 (Fast)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0,forceAdaptiveThinking:!0,supportsTemperature:!1},cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic/claude-opus-5":{id:"anthropic/claude-opus-5",name:"Claude Opus 5",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0,forceAdaptiveThinking:!0,supportsTemperature:!1},cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic/claude-opus-5-batch":{id:"anthropic/claude-opus-5-batch",name:"Claude Opus 5 (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0,forceAdaptiveThinking:!0,supportsTemperature:!1},cost:{input:2.5,output:12.5,cacheRead:.25,cacheWrite:3.125},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic/claude-opus-5-fast":{id:"anthropic/claude-opus-5-fast",name:"Claude Opus 5 (Fast)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0,forceAdaptiveThinking:!0,supportsTemperature:!1},cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic/claude-opus-5.5":{id:"anthropic/claude-opus-5.5",name:"Claude Opus 5.5",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0,forceAdaptiveThinking:!0,supportsTemperature:!1},cost:{input:4,output:20,cacheRead:.2,cacheWrite:5},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic/claude-opus-5.5-batch":{id:"anthropic/claude-opus-5.5-batch",name:"Claude Opus 5.5 (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0,forceAdaptiveThinking:!0,supportsTemperature:!1},cost:{input:2,output:10,cacheRead:.1,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic/claude-opus-5.5-fast":{id:"anthropic/claude-opus-5.5-fast",name:"Claude Opus 5.5 (Fast)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0,forceAdaptiveThinking:!0,supportsTemperature:!1},cost:{input:8,output:40,cacheRead:.4,cacheWrite:10},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic/claude-sonnet-4.5":{id:"anthropic/claude-sonnet-4.5",name:"Claude Sonnet 4.5",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75,tiers:[{inputTokensAbove:2e5,input:6,output:22.5,cacheRead:.6,cacheWrite:7.5}]},contextWindow:1e6,maxTokens:64e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic/claude-sonnet-4.5-batch":{id:"anthropic/claude-sonnet-4.5-batch",name:"Claude Sonnet 4.5 (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1.5,output:7.5,cacheRead:.15,cacheWrite:1.875,tiers:[{inputTokensAbove:2e5,input:3,output:11.25,cacheRead:.3,cacheWrite:3.75}]},contextWindow:1e6,maxTokens:64e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic/claude-sonnet-4.6":{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0,forceAdaptiveThinking:!0},cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic/claude-sonnet-4.6-batch":{id:"anthropic/claude-sonnet-4.6-batch",name:"Claude Sonnet 4.6 (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0,forceAdaptiveThinking:!0},cost:{input:1.5,output:7.5,cacheRead:.15,cacheWrite:1.875},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic/claude-sonnet-5":{id:"anthropic/claude-sonnet-5",name:"Claude Sonnet 5",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0,forceAdaptiveThinking:!0},cost:{input:2,output:10,cacheRead:.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic/claude-sonnet-5-batch":{id:"anthropic/claude-sonnet-5-batch",name:"Claude Sonnet 5 (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0,forceAdaptiveThinking:!0},cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic/claude-sonnet-5.5":{id:"anthropic/claude-sonnet-5.5",name:"Claude Sonnet 5.5",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0,forceAdaptiveThinking:!0,supportsTemperature:!1},cost:{input:2,output:10,cacheRead:.1,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:anthropic/claude-sonnet-5.5-batch":{id:"anthropic/claude-sonnet-5.5-batch",name:"Claude Sonnet 5.5 (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0,forceAdaptiveThinking:!0,supportsTemperature:!1},cost:{input:1,output:5,cacheRead:.05,cacheWrite:1.25},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:arcee-ai/trinity-large-thinking":{id:"arcee-ai/trinity-large-thinking",name:"Trinity Large Thinking",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.25,output:.8,cacheRead:0,cacheWrite:0},contextWindow:262100,maxTokens:8e4,type:"chat"},"chat:bytedance/seed-1.6":{id:"bytedance/seed-1.6",name:"Seed 1.6",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.25,output:2,cacheRead:.05,cacheWrite:0,tiers:[{inputTokensAbove:128e3,input:.5,output:4,cacheRead:.05,cacheWrite:0}]},contextWindow:256e3,maxTokens:32e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:bytedance/seed-1.8":{id:"bytedance/seed-1.8",name:"Bytedance Seed 1.8",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.25,output:2,cacheRead:.05,cacheWrite:0,tiers:[{inputTokensAbove:128e3,input:.5,output:4,cacheRead:.05,cacheWrite:0}]},contextWindow:256e3,maxTokens:64e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:bytedance/seed-2.1-turbo":{id:"bytedance/seed-2.1-turbo",name:"Seed 2.1 Turbo",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.5,output:2.5,cacheRead:.1,cacheWrite:0},contextWindow:262144,maxTokens:262144,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:callstack/apex":{id:"callstack/apex",name:"Apex",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.5,output:3,cacheRead:.2,cacheWrite:0},contextWindow:262144,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:cohere/command-a":{id:"cohere/command-a",name:"Command A",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text"],compat:{allowEmptySignature:!0},cost:{input:2.5,output:10,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:8e3,type:"chat"},"chat:deepseek/deepseek-r1":{id:"deepseek/deepseek-r1",name:"DeepSeek-R1",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:1.35,output:5.4,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8192,type:"chat"},"chat:deepseek/deepseek-v3.1":{id:"deepseek/deepseek-v3.1",name:"DeepSeek V3.1",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.25,output:.95,cacheRead:.13,cacheWrite:0},contextWindow:163840,maxTokens:128e3,type:"chat"},"chat:deepseek/deepseek-v3.2":{id:"deepseek/deepseek-v3.2",name:"DeepSeek V3.2",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.62,output:1.85,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8e3,type:"chat"},"chat:deepseek/deepseek-v3.2-thinking":{id:"deepseek/deepseek-v3.2-thinking",name:"DeepSeek V3.2 Thinking",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.62,output:1.85,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8e3,type:"chat"},"chat:deepseek/deepseek-v4-flash":{id:"deepseek/deepseek-v4-flash",name:"DeepSeek V4 Flash",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.13,output:.26,cacheRead:.028,cacheWrite:0},contextWindow:1e6,maxTokens:384e3,type:"chat"},"chat:deepseek/deepseek-v4-flash-0731":{id:"deepseek/deepseek-v4-flash-0731",name:"DeepSeek V4 Flash 0731",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.076,output:.153,cacheRead:.014,cacheWrite:0},contextWindow:1e6,maxTokens:384e3,type:"chat"},"chat:deepseek/deepseek-v4-flash-vision-exp":{id:"deepseek/deepseek-v4-flash-vision-exp",name:"DeepSeek V4 Flash Vision Exp",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.2156,output:.6468,cacheRead:.0068,cacheWrite:0},contextWindow:1048576,maxTokens:1048576,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:deepseek/deepseek-v4-pro":{id:"deepseek/deepseek-v4-pro",name:"DeepSeek V4 Pro",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.66,output:1.98,cacheRead:.022,cacheWrite:0},contextWindow:1e6,maxTokens:384e3,type:"chat"},"chat:deepseek/deepseek-v4-pro-0813":{id:"deepseek/deepseek-v4-pro-0813",name:"DeepSeek V4 Pro 0813",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.66,output:1.98,cacheRead:.066,cacheWrite:0},contextWindow:1e6,maxTokens:384e3,type:"chat"},"chat:deepseek/deepseek-v4.1-flash":{id:"deepseek/deepseek-v4.1-flash",name:"DeepSeek V4.1 Flash",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.075,output:.3,cacheRead:.0015,cacheWrite:0},contextWindow:1048576,maxTokens:32768,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:deepseek/deepseek-v4.1-flash-1017":{id:"deepseek/deepseek-v4.1-flash-1017",name:"DeepSeek V4.1 Flash 1017",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.075,output:.3,cacheRead:.0015,cacheWrite:0},contextWindow:1048576,maxTokens:1048576,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:deepseek/deepseek-v4.1-flash-1017-fast":{id:"deepseek/deepseek-v4.1-flash-1017-fast",name:"DeepSeek V4.1 Flash 1017 Fast",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.6,output:2.4,cacheRead:.014,cacheWrite:0},contextWindow:1048576,maxTokens:262144,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:deepseek/deepseek-v4.1-flash-fast":{id:"deepseek/deepseek-v4.1-flash-fast",name:"DeepSeek V4.1 Flash Fast",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.6,output:2.4,cacheRead:.014,cacheWrite:0},contextWindow:1048576,maxTokens:32768,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:fireworks/ember-1":{id:"fireworks/ember-1",name:"Ember-1",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:3,output:15,cacheRead:.3,cacheWrite:0},contextWindow:1048576,maxTokens:1048576,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:google/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.3,output:2.5,cacheRead:.03,cacheWrite:0},contextWindow:1e6,maxTokens:65535,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:google/gemini-2.5-flash-batch":{id:"google/gemini-2.5-flash-batch",name:"Gemini 2.5 Flash (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.15,output:1.25,cacheRead:.03,cacheWrite:0},contextWindow:1e6,maxTokens:64e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:google/gemini-2.5-flash-lite":{id:"google/gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.1,output:.4,cacheRead:.01,cacheWrite:0},contextWindow:1048576,maxTokens:65535,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:google/gemini-2.5-flash-lite-batch":{id:"google/gemini-2.5-flash-lite-batch",name:"Gemini 2.5 Flash Lite (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.05,output:.2,cacheRead:.01,cacheWrite:0},contextWindow:1048576,maxTokens:65535,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:2.5,output:15,cacheRead:.25,cacheWrite:0}]},contextWindow:1048576,maxTokens:65535,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:google/gemini-2.5-pro-batch":{id:"google/gemini-2.5-pro-batch",name:"Gemini 2.5 Pro (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.625,output:5,cacheRead:.125,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:1.25,output:7.5,cacheRead:.25,cacheWrite:0}]},contextWindow:1048576,maxTokens:65535,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:google/gemini-3-flash":{id:"google/gemini-3-flash",name:"Gemini 3 Flash",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.5,output:3,cacheRead:.05,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:.5,output:3,cacheRead:.05,cacheWrite:0}]},contextWindow:1e6,maxTokens:65e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:google/gemini-3-flash-batch":{id:"google/gemini-3-flash-batch",name:"Gemini 3 Flash (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.25,output:1.5,cacheRead:.05,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:.25,output:1.5,cacheRead:.05,cacheWrite:0}]},contextWindow:1e6,maxTokens:64e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:google/gemini-3.1-flash-lite":{id:"google/gemini-3.1-flash-lite",name:"Gemini 3.1 Flash Lite",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.25,output:1.5,cacheRead:.03,cacheWrite:0},contextWindow:1e6,maxTokens:65e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:google/gemini-3.1-flash-lite-batch":{id:"google/gemini-3.1-flash-lite-batch",name:"Gemini 3.1 Flash Lite (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.125,output:.75,cacheRead:.015,cacheWrite:0},contextWindow:1e6,maxTokens:65e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:google/gemini-3.1-pro-preview":{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:2,output:12,cacheRead:.2,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:4,output:18,cacheRead:.4,cacheWrite:0}]},contextWindow:1e6,maxTokens:64e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:google/gemini-3.1-pro-preview-batch":{id:"google/gemini-3.1-pro-preview-batch",name:"Gemini 3.1 Pro Preview (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1,output:6,cacheRead:.2,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:2,output:9,cacheRead:.4,cacheWrite:0}]},contextWindow:1e6,maxTokens:64e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:google/gemini-3.5-flash":{id:"google/gemini-3.5-flash",name:"Gemini 3.5 Flash",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1.5,output:9,cacheRead:.15,cacheWrite:0},contextWindow:1e6,maxTokens:64e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:google/gemini-3.5-flash-batch":{id:"google/gemini-3.5-flash-batch",name:"Gemini 3.5 Flash (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:1e6,maxTokens:64e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:google/gemini-3.5-flash-lite":{id:"google/gemini-3.5-flash-lite",name:"Gemini 3.5 Flash Lite",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.3,output:2.5,cacheRead:.03,cacheWrite:0},contextWindow:1e6,maxTokens:65e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:google/gemini-3.5-flash-lite-batch":{id:"google/gemini-3.5-flash-lite-batch",name:"Gemini 3.5 Flash Lite (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.15,output:1.25,cacheRead:.015,cacheWrite:0},contextWindow:1e6,maxTokens:65e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:google/gemini-3.6-flash":{id:"google/gemini-3.6-flash",name:"Gemini 3.6 Flash",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.75,output:3.75,cacheRead:.075,cacheWrite:0},contextWindow:1e6,maxTokens:64e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:google/gemini-3.6-flash-batch":{id:"google/gemini-3.6-flash-batch",name:"Gemini 3.6 Flash (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.375,output:1.875,cacheRead:.0375,cacheWrite:0},contextWindow:1e6,maxTokens:64e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:google/gemini-3.7-flash":{id:"google/gemini-3.7-flash",name:"Gemini 3.7 Flash",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.75,output:3.75,cacheRead:.075,cacheWrite:0},contextWindow:1e6,maxTokens:65535,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:google/gemini-3.7-flash-batch":{id:"google/gemini-3.7-flash-batch",name:"Gemini 3.7 Flash (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.375,output:1.875,cacheRead:.0375,cacheWrite:0},contextWindow:1e6,maxTokens:65535,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:google/gemini-3.8-flash":{id:"google/gemini-3.8-flash",name:"Gemini 3.8 Flash",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.75,output:3.75,cacheRead:.075,cacheWrite:0},contextWindow:1e6,maxTokens:65535,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:google/gemini-4-argon":{id:"google/gemini-4-argon",name:"Gemini 4 Argon",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:2,output:10,cacheRead:.1,cacheWrite:0},contextWindow:1e6,maxTokens:1e6,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:google/gemma-4-26b-a4b-it":{id:"google/gemma-4-26b-a4b-it",name:"Google Gemma 4 26B A4B",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.15,output:.6,cacheRead:.015,cacheWrite:0},contextWindow:262144,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:google/gemma-4-31b-it":{id:"google/gemma-4-31b-it",name:"Gemma 4 31B IT",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.14,output:.4,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:inception/mercury-2":{id:"inception/mercury-2",name:"Mercury 2",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.25,output:.75,cacheRead:.025,cacheWrite:0},contextWindow:128e3,maxTokens:128e3,type:"chat"},"chat:inception/mercury-2.5":{id:"inception/mercury-2.5",name:"Mercury 2.5",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.04,output:.15,cacheRead:.004,cacheWrite:0},contextWindow:26e4,maxTokens:65536,type:"chat"},"chat:inception/mercury-3":{id:"inception/mercury-3",name:"Mercury 3",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.1,output:.35,cacheRead:.01,cacheWrite:0},contextWindow:1e6,maxTokens:131072,type:"chat"},"chat:inception/mercury-coder-small":{id:"inception/mercury-coder-small",name:"Mercury Coder Small Beta",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.25,output:1,cacheRead:0,cacheWrite:0},contextWindow:32e3,maxTokens:16384,type:"chat"},"chat:inclusionai/ling-3.0-flash":{id:"inclusionai/ling-3.0-flash",name:"Ling 3.0 Flash",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.021,output:.063,cacheRead:.0042,cacheWrite:0},contextWindow:256e3,maxTokens:32e3,type:"chat"},"chat:inclusionai/ling-3.0-flash-fin":{id:"inclusionai/ling-3.0-flash-fin",name:"Ling 3.0 Flash Fin",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.075,output:.22,cacheRead:.015,cacheWrite:0},contextWindow:256e3,maxTokens:32e3,type:"chat"},"chat:inclusionai/ling-3.0-flash-sante":{id:"inclusionai/ling-3.0-flash-sante",name:"Ling 3.0 Flash Sante",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.075,output:.22,cacheRead:.015,cacheWrite:0},contextWindow:256e3,maxTokens:32e3,type:"chat"},"chat:inclusionai/ling-3.0-flash-vl":{id:"inclusionai/ling-3.0-flash-vl",name:"Ling 3.0 Flash VL",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.075,output:.22,cacheRead:.015,cacheWrite:0},contextWindow:256e3,maxTokens:32e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:inclusionai/ling-3.1-flash":{id:"inclusionai/ling-3.1-flash",name:"Ling 3.1 Flash",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.3,output:.9,cacheRead:.06,cacheWrite:0},contextWindow:262144,maxTokens:32768,type:"chat"},"chat:interfaze/interfaze-beta":{id:"interfaze/interfaze-beta",name:"Interfaze Beta",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1.5,output:3.5,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:32e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:liquid/lfm2.5-24b-a2b":{id:"liquid/lfm2.5-24b-a2b",name:"LFM2.5-24B-A2B",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.05,output:.7,cacheRead:.025,cacheWrite:0},contextWindow:128e3,maxTokens:8200,type:"chat"},"chat:meituan/longcat-2.5-preview":{id:"meituan/longcat-2.5-preview",name:"LongCat 2.5 Preview",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.3,output:1.2,cacheRead:.006,cacheWrite:0},contextWindow:1048576,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:meta/llama-3.1-70b":{id:"meta/llama-3.1-70b",name:"Llama 3.1 70B Instruct",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.72,output:.72,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8192,type:"chat"},"chat:meta/llama-3.1-8b":{id:"meta/llama-3.1-8b",name:"Llama 3.1 8B Instruct",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.22,output:.22,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8192,type:"chat"},"chat:meta/llama-3.3-70b":{id:"meta/llama-3.3-70b",name:"Llama 3.3 70B Instruct",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.72,output:.72,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8192,type:"chat"},"chat:meta/llama-4-maverick":{id:"meta/llama-4-maverick",name:"Llama 4 Maverick 17B Instruct",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.24,output:.97,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8192,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:meta/llama-4-scout":{id:"meta/llama-4-scout",name:"Llama 4 Scout 17B Instruct",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.17,output:.66,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8192,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:meta/muse-glimmer-30b":{id:"meta/muse-glimmer-30b",name:"Muse Glimmer 30B",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.35,output:1.5,cacheRead:.04,cacheWrite:0},contextWindow:131072,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:meta/muse-spark-1.1":{id:"meta/muse-spark-1.1",name:"Muse Spark 1.1",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1.25,output:4.25,cacheRead:.15,cacheWrite:0},contextWindow:1048576,maxTokens:1048576,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:meta/muse-spark-1.2":{id:"meta/muse-spark-1.2",name:"Muse Spark 1.2",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1.25,output:4.25,cacheRead:.15,cacheWrite:0},contextWindow:1048576,maxTokens:1048576,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:meta/muse-spark-1.2-contributor":{id:"meta/muse-spark-1.2-contributor",name:"Muse Spark 1.2 Contributor",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.1,output:.2,cacheRead:.002,cacheWrite:0},contextWindow:1048576,maxTokens:1048576,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:meta/muse-spark-1.3":{id:"meta/muse-spark-1.3",name:"Muse Spark 1.3",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1.25,output:4.25,cacheRead:.15,cacheWrite:0},contextWindow:1048576,maxTokens:1048576,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:meta/muse-spark-1.3-contributor":{id:"meta/muse-spark-1.3-contributor",name:"Muse Spark 1.3 Contributor",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.1,output:.2,cacheRead:.002,cacheWrite:0},contextWindow:1048576,maxTokens:1048576,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:meta/muse-spark-open":{id:"meta/muse-spark-open",name:"Muse Spark Open",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1.25,output:4.25,cacheRead:.15,cacheWrite:0},contextWindow:1048576,maxTokens:1048576,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:meta/muse-wonder-1.0":{id:"meta/muse-wonder-1.0",name:"Muse Wonder",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:4,output:20,cacheRead:.2,cacheWrite:0},contextWindow:1048576,maxTokens:1048576,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:minimax/minimax-m2":{id:"minimax/minimax-m2",name:"MiniMax M2",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.3,output:1.2,cacheRead:.03,cacheWrite:.375},contextWindow:205e3,maxTokens:205e3,type:"chat"},"chat:minimax/minimax-m2.1":{id:"minimax/minimax-m2.1",name:"MiniMax M2.1",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.3,output:1.2,cacheRead:.03,cacheWrite:.375},contextWindow:204800,maxTokens:131072,type:"chat"},"chat:minimax/minimax-m2.1-lightning":{id:"minimax/minimax-m2.1-lightning",name:"MiniMax M2.1 Lightning",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.3,output:2.4,cacheRead:.03,cacheWrite:.375},contextWindow:204800,maxTokens:131072,type:"chat"},"chat:minimax/minimax-m2.5":{id:"minimax/minimax-m2.5",name:"MiniMax M2.5",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.3,output:1.2,cacheRead:.03,cacheWrite:.375},contextWindow:204800,maxTokens:131e3,type:"chat"},"chat:minimax/minimax-m2.5-highspeed":{id:"minimax/minimax-m2.5-highspeed",name:"MiniMax M2.5 High Speed",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.6,output:2.4,cacheRead:.03,cacheWrite:.375},contextWindow:204800,maxTokens:131e3,type:"chat"},"chat:minimax/minimax-m2.7":{id:"minimax/minimax-m2.7",name:"MiniMax M2.7",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:.375},contextWindow:204800,maxTokens:131e3,type:"chat"},"chat:minimax/minimax-m2.7-highspeed":{id:"minimax/minimax-m2.7-highspeed",name:"MiniMax M2.7 High Speed",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.6,output:2.4,cacheRead:.06,cacheWrite:.375},contextWindow:204800,maxTokens:131100,type:"chat"},"chat:minimax/minimax-m3":{id:"minimax/minimax-m3",name:"MiniMax M3",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:0},contextWindow:512e3,maxTokens:512e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:minimax/minimax-m3.1-flash":{id:"minimax/minimax-m3.1-flash",name:"MiniMax-M3.1-Flash",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:524288,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:mistral/codestral":{id:"mistral/codestral",name:"Mistral Codestral",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.3,output:.9,cacheRead:.03,cacheWrite:0},contextWindow:128e3,maxTokens:4e3,type:"chat"},"chat:mistral/ministral-14b":{id:"mistral/ministral-14b",name:"Ministral 14B",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.2,output:.2,cacheRead:.02,cacheWrite:0},contextWindow:262144,maxTokens:256e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:mistral/ministral-3b":{id:"mistral/ministral-3b",name:"Ministral 3B",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.1,output:.1,cacheRead:.01,cacheWrite:0},contextWindow:131072,maxTokens:4e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:mistral/ministral-8b":{id:"mistral/ministral-8b",name:"Ministral 8B",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.15,output:.15,cacheRead:.015,cacheWrite:0},contextWindow:262144,maxTokens:4e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:mistral/mistral-large-3":{id:"mistral/mistral-large-3",name:"Mistral Large 3",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.5,output:1.5,cacheRead:.05,cacheWrite:0},contextWindow:262144,maxTokens:256e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:mistral/mistral-large-4":{id:"mistral/mistral-large-4",name:"Mistral Large 4",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1.36,output:4.18,cacheRead:.14,cacheWrite:0},contextWindow:524288,maxTokens:262144,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:mistral/mistral-medium-3.5":{id:"mistral/mistral-medium-3.5",name:"Mistral Medium Latest",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1.5,output:7.5,cacheRead:.15,cacheWrite:0},contextWindow:262144,maxTokens:256e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:mistral/mistral-nemo":{id:"mistral/mistral-nemo",name:"Mistral Nemo 12B",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.029,output:.03,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072,type:"chat"},"chat:mistral/mistral-small":{id:"mistral/mistral-small",name:"Mistral Small",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.15,output:.6,cacheRead:.015,cacheWrite:0},contextWindow:262144,maxTokens:4e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:mixedbread/toast-1":{id:"mixedbread/toast-1",name:"Toast 1",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.3,output:.72,cacheRead:.036,cacheWrite:0},contextWindow:131e3,maxTokens:4e3,type:"chat"},"chat:moonshotai/kimi-k2":{id:"moonshotai/kimi-k2",name:"Kimi K2 Instruct",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.57,output:2.3,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072,type:"chat"},"chat:moonshotai/kimi-k2.5":{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.6,output:3,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:moonshotai/kimi-k2.6":{id:"moonshotai/kimi-k2.6",name:"Kimi K2.6",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.95,output:4,cacheRead:.16,cacheWrite:0},contextWindow:262e3,maxTokens:262e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:moonshotai/kimi-k2.7-code":{id:"moonshotai/kimi-k2.7-code",name:"Kimi K2.7 Code",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.95,output:4,cacheRead:.19,cacheWrite:0},contextWindow:256e3,maxTokens:32768,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:moonshotai/kimi-k2.7-code-highspeed":{id:"moonshotai/kimi-k2.7-code-highspeed",name:"Kimi K2.7 Code High Speed",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1.9,output:8,cacheRead:.38,cacheWrite:0},contextWindow:262144,maxTokens:32768,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:moonshotai/kimi-k3":{id:"moonshotai/kimi-k3",name:"Kimi K3",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:3,output:15,cacheRead:.3,cacheWrite:0},contextWindow:1e6,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:moonshotai/kimi-k3-fast":{id:"moonshotai/kimi-k3-fast",name:"Kimi K3 Fast",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:4.5,output:22.5,cacheRead:.45,cacheWrite:0},contextWindow:1e6,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:nvidia/nemotron-3-nano-30b-a3b":{id:"nvidia/nemotron-3-nano-30b-a3b",name:"Nemotron 3 Nano 30B A3B",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.05,output:.2,cacheRead:.025,cacheWrite:0},contextWindow:262144,maxTokens:262144,type:"chat"},"chat:nvidia/nemotron-3-super-120b-a12b":{id:"nvidia/nemotron-3-super-120b-a12b",name:"NVIDIA Nemotron 3 Super 120B A12B",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.15,output:.65,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:32e3,type:"chat"},"chat:nvidia/nemotron-3-ultra-550b-a55b":{id:"nvidia/nemotron-3-ultra-550b-a55b",name:"Nemotron 3 Ultra",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.6,output:2.4,cacheRead:.12,cacheWrite:0},contextWindow:1e6,maxTokens:65e3,type:"chat"},"chat:nvidia/nemotron-3.5-lightning":{id:"nvidia/nemotron-3.5-lightning",name:"Nemotron 3.5 Lightning 30B",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.05,output:.2,cacheRead:.01,cacheWrite:0},contextWindow:262144,maxTokens:131072,type:"chat"},"chat:nvidia/nemotron-3.5-lightning-free":{id:"nvidia/nemotron-3.5-lightning-free",name:"Nemotron 3.5 Lightning Free",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:65e3,type:"chat"},"chat:nvidia/nemotron-3.5-super-vl":{id:"nvidia/nemotron-3.5-super-vl",name:"NVIDIA Nemotron 3.5 Super VL",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.2,output:.5,cacheRead:.04,cacheWrite:0},contextWindow:1048576,maxTokens:1048576,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:nvidia/nemotron-nano-12b-v2-vl":{id:"nvidia/nemotron-nano-12b-v2-vl",name:"Nvidia Nemotron Nano 12B V2 VL",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.2,output:.6,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:nvidia/nemotron-nano-9b-v2":{id:"nvidia/nemotron-nano-9b-v2",name:"Nvidia Nemotron Nano 9B V2",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.06,output:.23,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072,type:"chat"},"chat:openai/gpt-3.5-turbo":{id:"openai/gpt-3.5-turbo",name:"GPT-3.5 Turbo",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:16385,maxTokens:4096,type:"chat"},"chat:openai/gpt-4-turbo":{id:"openai/gpt-4-turbo",name:"GPT-4 Turbo",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:10,output:30,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-4.1":{id:"openai/gpt-4.1",name:"GPT-4.1",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:2,output:8,cacheRead:.5,cacheWrite:0},contextWindow:1047576,maxTokens:32768,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-4.1-batch":{id:"openai/gpt-4.1-batch",name:"GPT-4.1 (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1,output:4,cacheRead:.25,cacheWrite:0},contextWindow:1047576,maxTokens:32768,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-4.1-fast":{id:"openai/gpt-4.1-fast",name:"GPT-4.1 (Fast)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:3.5,output:14,cacheRead:.875,cacheWrite:0},contextWindow:1047576,maxTokens:32768,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-4.1-mini":{id:"openai/gpt-4.1-mini",name:"GPT-4.1 mini",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.4,output:1.6,cacheRead:.1,cacheWrite:0},contextWindow:1047576,maxTokens:32768,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-4.1-mini-batch":{id:"openai/gpt-4.1-mini-batch",name:"GPT-4.1 mini (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.2,output:.8,cacheRead:.05,cacheWrite:0},contextWindow:1047576,maxTokens:32768,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-4.1-mini-fast":{id:"openai/gpt-4.1-mini-fast",name:"GPT-4.1 mini (Fast)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.7,output:2.8,cacheRead:.175,cacheWrite:0},contextWindow:1047576,maxTokens:32768,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-4.1-nano":{id:"openai/gpt-4.1-nano",name:"GPT-4.1 nano",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.1,output:.4,cacheRead:.025,cacheWrite:0},contextWindow:1047576,maxTokens:32768,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-4.1-nano-batch":{id:"openai/gpt-4.1-nano-batch",name:"GPT-4.1 nano (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.05,output:.2,cacheRead:.0125,cacheWrite:0},contextWindow:1047576,maxTokens:32768,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-4.1-nano-fast":{id:"openai/gpt-4.1-nano-fast",name:"GPT-4.1 nano (Fast)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.2,output:.8,cacheRead:.05,cacheWrite:0},contextWindow:1047576,maxTokens:32768,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-4o":{id:"openai/gpt-4o",name:"GPT-4o",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128e3,maxTokens:16384,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-4o-batch":{id:"openai/gpt-4o-batch",name:"GPT-4o (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1.25,output:5,cacheRead:.625,cacheWrite:0},contextWindow:128e3,maxTokens:16384,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-4o-fast":{id:"openai/gpt-4o-fast",name:"GPT-4o (Fast)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:4.25,output:17,cacheRead:2.125,cacheWrite:0},contextWindow:128e3,maxTokens:16384,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"GPT-4o mini",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.15,output:.6,cacheRead:.075,cacheWrite:0},contextWindow:128e3,maxTokens:16384,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-4o-mini-batch":{id:"openai/gpt-4o-mini-batch",name:"GPT-4o mini (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.075,output:.3,cacheRead:.0375,cacheWrite:0},contextWindow:128e3,maxTokens:16384,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-4o-mini-fast":{id:"openai/gpt-4o-mini-fast",name:"GPT-4o mini (Fast)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.25,output:1,cacheRead:.125,cacheWrite:0},contextWindow:128e3,maxTokens:16384,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5":{id:"openai/gpt-5",name:"GPT-5",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5-batch":{id:"openai/gpt-5-batch",name:"GPT-5 (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.625,output:5,cacheRead:.0625,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5-codex":{id:"openai/gpt-5-codex",name:"GPT-5-Codex",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1.25,output:10,cacheRead:.13,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5-fast":{id:"openai/gpt-5-fast",name:"GPT-5 (Fast)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:2.5,output:20,cacheRead:.25,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"GPT-5 mini",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.25,output:2,cacheRead:.025,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5-mini-batch":{id:"openai/gpt-5-mini-batch",name:"GPT-5 mini (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.125,output:1,cacheRead:.0125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5-mini-fast":{id:"openai/gpt-5-mini-fast",name:"GPT-5 mini (Fast)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.45,output:3.6,cacheRead:.045,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5-nano":{id:"openai/gpt-5-nano",name:"GPT-5 nano",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.05,output:.4,cacheRead:.005,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5-nano-batch":{id:"openai/gpt-5-nano-batch",name:"GPT-5 nano (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.025,output:.2,cacheRead:.0025,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5-pro":{id:"openai/gpt-5-pro",name:"GPT-5 pro",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:15,output:120,cacheRead:0,cacheWrite:0},contextWindow:4e5,maxTokens:272e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5-pro-batch":{id:"openai/gpt-5-pro-batch",name:"GPT-5 pro (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:7.5,output:60,cacheRead:0,cacheWrite:0},contextWindow:4e5,maxTokens:272e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5.1-codex":{id:"openai/gpt-5.1-codex",name:"GPT-5.1-Codex",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1.25,output:10,cacheRead:.13,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5.1-codex-max":{id:"openai/gpt-5.1-codex-max",name:"GPT 5.1 Codex Max",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5.1-codex-mini":{id:"openai/gpt-5.1-codex-mini",name:"GPT 5.1 Codex Mini",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.25,output:2,cacheRead:.03,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5.1-thinking":{id:"openai/gpt-5.1-thinking",name:"GPT 5.1 Thinking",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5.1-thinking-fast":{id:"openai/gpt-5.1-thinking-fast",name:"GPT 5.1 Thinking (Fast)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:2.5,output:20,cacheRead:.25,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5.2":{id:"openai/gpt-5.2",name:"GPT 5.2",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5.2-batch":{id:"openai/gpt-5.2-batch",name:"GPT 5.2 (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.875,output:7,cacheRead:.0875,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5.2-codex":{id:"openai/gpt-5.2-codex",name:"GPT 5.2 Codex",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5.2-fast":{id:"openai/gpt-5.2-fast",name:"GPT 5.2 (Fast)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:3.5,output:28,cacheRead:.35,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5.2-pro":{id:"openai/gpt-5.2-pro",name:"GPT 5.2 ",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:21,output:168,cacheRead:0,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5.3-codex":{id:"openai/gpt-5.3-codex",name:"GPT 5.3 Codex",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5.3-codex-fast":{id:"openai/gpt-5.3-codex-fast",name:"GPT 5.3 Codex (Fast)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:3.5,output:28,cacheRead:.35,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5.4":{id:"openai/gpt-5.4",name:"GPT 5.4",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:2.5,output:15,cacheRead:.25,cacheWrite:0,tiers:[{inputTokensAbove:271999,input:5,output:22.5,cacheRead:.5,cacheWrite:0}]},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5.4-batch":{id:"openai/gpt-5.4-batch",name:"GPT 5.4 (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1.25,output:7.5,cacheRead:.125,cacheWrite:0,tiers:[{inputTokensAbove:271999,input:2.5,output:11.25,cacheRead:.25,cacheWrite:0}]},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5.4-fast":{id:"openai/gpt-5.4-fast",name:"GPT 5.4 (Fast)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:5,output:30,cacheRead:.5,cacheWrite:0},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5.4-mini":{id:"openai/gpt-5.4-mini",name:"GPT 5.4 Mini",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5.4-mini-batch":{id:"openai/gpt-5.4-mini-batch",name:"GPT 5.4 Mini (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.375,output:2.25,cacheRead:.0375,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5.4-mini-fast":{id:"openai/gpt-5.4-mini-fast",name:"GPT 5.4 Mini (Fast)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1.5,output:9,cacheRead:.15,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5.4-nano":{id:"openai/gpt-5.4-nano",name:"GPT 5.4 Nano",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.2,output:1.25,cacheRead:.02,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5.4-nano-batch":{id:"openai/gpt-5.4-nano-batch",name:"GPT 5.4 Nano (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.1,output:.625,cacheRead:.01,cacheWrite:0},contextWindow:4e5,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5.4-pro":{id:"openai/gpt-5.4-pro",name:"GPT 5.4 Pro",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:30,output:180,cacheRead:0,cacheWrite:0,tiers:[{inputTokensAbove:271999,input:60,output:270,cacheRead:0,cacheWrite:0}]},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5.5":{id:"openai/gpt-5.5",name:"GPT 5.5",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:5,output:30,cacheRead:.5,cacheWrite:0,tiers:[{inputTokensAbove:271999,input:10,output:45,cacheRead:1,cacheWrite:0}]},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5.5-batch":{id:"openai/gpt-5.5-batch",name:"GPT 5.5 (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:2.5,output:15,cacheRead:.25,cacheWrite:0,tiers:[{inputTokensAbove:271999,input:5,output:22.5,cacheRead:.5,cacheWrite:0}]},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5.5-fast":{id:"openai/gpt-5.5-fast",name:"GPT 5.5 (Fast)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:12.5,output:75,cacheRead:1.25,cacheWrite:0},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5.5-pro":{id:"openai/gpt-5.5-pro",name:"GPT 5.5 Pro",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:30,output:180,cacheRead:0,cacheWrite:0,tiers:[{inputTokensAbove:271999,input:60,output:270,cacheRead:0,cacheWrite:0}]},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",off:null,minimal:null,low:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5.5-pro-batch":{id:"openai/gpt-5.5-pro-batch",name:"GPT 5.5 Pro (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:15,output:90,cacheRead:0,cacheWrite:0,tiers:[{inputTokensAbove:271999,input:30,output:135,cacheRead:0,cacheWrite:0}]},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5.6-luna":{id:"openai/gpt-5.6-luna",name:"GPT 5.6 Luna",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.2,output:1.2,cacheRead:.02,cacheWrite:.25,tiers:[{inputTokensAbove:271999,input:.4,output:1.8,cacheRead:.04,cacheWrite:.5}]},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5.6-luna-batch":{id:"openai/gpt-5.6-luna-batch",name:"GPT 5.6 Luna (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.1,output:.6,cacheRead:.01,cacheWrite:.125,tiers:[{inputTokensAbove:271999,input:.2,output:.9,cacheRead:.02,cacheWrite:.25}]},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5.6-luna-fast":{id:"openai/gpt-5.6-luna-fast",name:"GPT 5.6 Luna (Fast)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.4,output:2.4,cacheRead:.04,cacheWrite:.5,tiers:[{inputTokensAbove:271999,input:.8,output:3.6,cacheRead:.08,cacheWrite:1}]},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5.6-sol":{id:"openai/gpt-5.6-sol",name:"GPT 5.6 Sol",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:4,output:20,cacheRead:.4,cacheWrite:5,tiers:[{inputTokensAbove:271999,input:8,output:30,cacheRead:.8,cacheWrite:10}]},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5.6-sol-batch":{id:"openai/gpt-5.6-sol-batch",name:"GPT 5.6 Sol (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:2,output:10,cacheRead:.2,cacheWrite:2.5,tiers:[{inputTokensAbove:271999,input:4,output:15,cacheRead:.4,cacheWrite:5}]},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5.6-sol-fast":{id:"openai/gpt-5.6-sol-fast",name:"GPT 5.6 Sol (Fast)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:8,output:40,cacheRead:.8,cacheWrite:10,tiers:[{inputTokensAbove:271999,input:16,output:60,cacheRead:1.6,cacheWrite:20}]},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5.6-terra":{id:"openai/gpt-5.6-terra",name:"GPT 5.6 Terra",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:2,output:12,cacheRead:.2,cacheWrite:2.5,tiers:[{inputTokensAbove:271999,input:4,output:18,cacheRead:.4,cacheWrite:5}]},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5.6-terra-batch":{id:"openai/gpt-5.6-terra-batch",name:"GPT 5.6 Terra (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1,output:6,cacheRead:.1,cacheWrite:1.25,tiers:[{inputTokensAbove:271999,input:2,output:9,cacheRead:.2,cacheWrite:2.5}]},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-5.6-terra-fast":{id:"openai/gpt-5.6-terra-fast",name:"GPT 5.6 Terra (Fast)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:4,output:24,cacheRead:.4,cacheWrite:5,tiers:[{inputTokensAbove:271999,input:8,output:36,cacheRead:.8,cacheWrite:10}]},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-6-astra":{id:"openai/gpt-6-astra",name:"GPT-6 Astra",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5,tiers:[{inputTokensAbove:272e3,input:20,output:75,cacheRead:2,cacheWrite:25}]},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-6-astra-batch":{id:"openai/gpt-6-astra-batch",name:"GPT-6 Astra (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25,tiers:[{inputTokensAbove:272e3,input:10,output:37.5,cacheRead:1,cacheWrite:12.5}]},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-6-astra-fast":{id:"openai/gpt-6-astra-fast",name:"GPT-6 Astra (Fast)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:20,output:100,cacheRead:2,cacheWrite:25,tiers:[{inputTokensAbove:272e3,input:40,output:150,cacheRead:4,cacheWrite:50}]},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-6-luna":{id:"openai/gpt-6-luna",name:"GPT-6 Luna",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.1,output:.5,cacheRead:.01,cacheWrite:.125,tiers:[{inputTokensAbove:272e3,input:.2,output:.75,cacheRead:.02,cacheWrite:.25}]},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-6-luna-batch":{id:"openai/gpt-6-luna-batch",name:"GPT-6 Luna (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.05,output:.25,cacheRead:.005,cacheWrite:.0625,tiers:[{inputTokensAbove:272e3,input:.1,output:.375,cacheRead:.01,cacheWrite:.125}]},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-6-luna-fast":{id:"openai/gpt-6-luna-fast",name:"GPT-6 Luna (Fast)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.2,output:1,cacheRead:.02,cacheWrite:.25,tiers:[{inputTokensAbove:272e3,input:.4,output:1.5,cacheRead:.04,cacheWrite:.5}]},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-6-sol":{id:"openai/gpt-6-sol",name:"GPT-6 Sol",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:2,output:10,cacheRead:.2,cacheWrite:2.5,tiers:[{inputTokensAbove:272e3,input:4,output:15,cacheRead:.4,cacheWrite:5}]},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-6-sol-batch":{id:"openai/gpt-6-sol-batch",name:"GPT-6 Sol (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25,tiers:[{inputTokensAbove:272e3,input:2,output:7.5,cacheRead:.2,cacheWrite:2.5}]},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-6-sol-fast":{id:"openai/gpt-6-sol-fast",name:"GPT-6 Sol (Fast)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:4,output:20,cacheRead:.4,cacheWrite:5,tiers:[{inputTokensAbove:272e3,input:8,output:30,cacheRead:.8,cacheWrite:10}]},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-6.1-sol":{id:"openai/gpt-6.1-sol",name:"GPT-6.1 Sol",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:2,output:10,cacheRead:.1,cacheWrite:2.5,tiers:[{inputTokensAbove:272e3,input:4,output:15,cacheRead:.2,cacheWrite:5}]},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-6.1-sol-batch":{id:"openai/gpt-6.1-sol-batch",name:"GPT-6.1 Sol (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1,output:5,cacheRead:.05,cacheWrite:1.25,tiers:[{inputTokensAbove:272e3,input:2,output:7.5,cacheRead:.1,cacheWrite:2.5}]},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-6.1-sol-fast":{id:"openai/gpt-6.1-sol-fast",name:"GPT-6.1 Sol (Fast)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:4,output:20,cacheRead:.2,cacheWrite:5,tiers:[{inputTokensAbove:272e3,input:8,output:30,cacheRead:.4,cacheWrite:10}]},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-oss-120b":{id:"openai/gpt-oss-120b",name:"GPT OSS 120B",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.1,output:.5,cacheRead:.1,cacheWrite:0},contextWindow:131072,maxTokens:131072,type:"chat"},"chat:openai/gpt-oss-20b":{id:"openai/gpt-oss-20b",name:"GPT OSS 20B",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.03,output:.14,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192,type:"chat"},"chat:openai/gpt-oss-safeguard-120b":{id:"openai/gpt-oss-safeguard-120b",name:"GPT OSS Safeguard 120B",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16e3,type:"chat"},"chat:openai/gpt-oss-safeguard-20b":{id:"openai/gpt-oss-safeguard-20b",name:"GPT OSS Safeguard 20B",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.07,output:.2,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16e3,type:"chat"},"chat:openai/o1":{id:"openai/o1",name:"o1",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:15,output:60,cacheRead:7.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/o3":{id:"openai/o3",name:"o3",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:2,output:8,cacheRead:.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/o3-fast":{id:"openai/o3-fast",name:"o3 (Fast)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:3.5,output:14,cacheRead:.875,cacheWrite:0},contextWindow:2e5,maxTokens:1e5,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/o3-mini":{id:"openai/o3-mini",name:"o3-mini",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:1.1,output:4.4,cacheRead:.55,cacheWrite:0},contextWindow:2e5,maxTokens:1e5,type:"chat"},"chat:openai/o3-pro":{id:"openai/o3-pro",name:"o3 Pro",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:20,output:80,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:1e5,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/o4-mini":{id:"openai/o4-mini",name:"o4-mini",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1.1,output:4.4,cacheRead:.275,cacheWrite:0},contextWindow:2e5,maxTokens:1e5,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/o4-mini-fast":{id:"openai/o4-mini-fast",name:"o4-mini (Fast)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:2,output:8,cacheRead:.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:poolside/laguna-s-2.1":{id:"poolside/laguna-s-2.1",name:"Laguna S 2.1",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.09,output:.18,cacheRead:.009,cacheWrite:0},contextWindow:1e6,maxTokens:131072,type:"chat"},"chat:poolside/laguna-s-2.1-free":{id:"poolside/laguna-s-2.1-free",name:"Laguna S 2.1 Free",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:32768,type:"chat"},"chat:quiverai/arrow-2":{id:"quiverai/arrow-2",name:"Arrow 2",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:4,output:20,cacheRead:.4,cacheWrite:5},contextWindow:131072,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:quiverai/arrow-2-telos":{id:"quiverai/arrow-2-telos",name:"Arrow 2 Telos",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:6,output:30,cacheRead:.6,cacheWrite:7.5},contextWindow:131072,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:reflection/beam":{id:"reflection/beam",name:"Beam 1.0",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:131072,type:"chat"},"chat:reflection/beam-free":{id:"reflection/beam-free",name:"Beam 1.0 (Free)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:131072,type:"chat"},"chat:sakana/fugu-max":{id:"sakana/fugu-max",name:"Fugu Max",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:2,output:6,cacheRead:.25,cacheWrite:0},contextWindow:1e6,maxTokens:1e6,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:sakana/fugu-ultra":{id:"sakana/fugu-ultra",name:"Fugu Ultra",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:5,output:30,cacheRead:.5,cacheWrite:0,tiers:[{inputTokensAbove:272e3,input:10,output:45,cacheRead:1,cacheWrite:0}]},contextWindow:1e6,maxTokens:1e6,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:sakana/fugu-ultra-v2":{id:"sakana/fugu-ultra-v2",name:"Fugu Ultra v2",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:5,output:30,cacheRead:.5,cacheWrite:0,tiers:[{inputTokensAbove:272e3,input:10,output:45,cacheRead:1,cacheWrite:0}]},contextWindow:1e6,maxTokens:1e6,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:sakana/namazu":{id:"sakana/namazu",name:"Sakana Namazu",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.95,output:4,cacheRead:.15,cacheWrite:0},contextWindow:256e3,maxTokens:256e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:spacexai/grok-4.1-fast-non-reasoning":{id:"spacexai/grok-4.1-fast-non-reasoning",name:"Grok 4.1 Fast Non-Reasoning",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.2,output:.5,cacheRead:.05,cacheWrite:0},contextWindow:1e6,maxTokens:1e6,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:spacexai/grok-4.1-fast-reasoning":{id:"spacexai/grok-4.1-fast-reasoning",name:"Grok 4.1 Fast Reasoning",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.2,output:.5,cacheRead:.05,cacheWrite:0},contextWindow:1e6,maxTokens:1e6,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:spacexai/grok-4.20-multi-agent":{id:"spacexai/grok-4.20-multi-agent",name:"Grok 4.20 Multi-Agent",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1.25,output:2.5,cacheRead:.2,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:2.5,output:5,cacheRead:.4,cacheWrite:0}]},contextWindow:2e6,maxTokens:2e6,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:spacexai/grok-4.20-multi-agent-batch":{id:"spacexai/grok-4.20-multi-agent-batch",name:"Grok 4.20 Multi-Agent (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1,output:2,cacheRead:.16,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:2,output:4,cacheRead:.32,cacheWrite:0}]},contextWindow:2e6,maxTokens:2e6,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:spacexai/grok-4.20-multi-agent-beta":{id:"spacexai/grok-4.20-multi-agent-beta",name:"Grok 4.20 Multi Agent Beta",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1.25,output:2.5,cacheRead:.2,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:2.5,output:5,cacheRead:.4,cacheWrite:0}]},contextWindow:2e6,maxTokens:2e6,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:spacexai/grok-4.20-non-reasoning":{id:"spacexai/grok-4.20-non-reasoning",name:"Grok 4.20 Non-Reasoning",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1.25,output:2.5,cacheRead:.2,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:2.5,output:5,cacheRead:.4,cacheWrite:0}]},contextWindow:2e6,maxTokens:2e6,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:spacexai/grok-4.20-non-reasoning-batch":{id:"spacexai/grok-4.20-non-reasoning-batch",name:"Grok 4.20 Non-Reasoning (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1,output:2,cacheRead:.16,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:2,output:4,cacheRead:.32,cacheWrite:0}]},contextWindow:2e6,maxTokens:2e6,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:spacexai/grok-4.20-non-reasoning-beta":{id:"spacexai/grok-4.20-non-reasoning-beta",name:"Grok 4.20 Beta Non-Reasoning",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!1,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1.25,output:2.5,cacheRead:.2,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:2.5,output:5,cacheRead:.4,cacheWrite:0}]},contextWindow:2e6,maxTokens:2e6,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:spacexai/grok-4.20-reasoning":{id:"spacexai/grok-4.20-reasoning",name:"Grok 4.20 Reasoning",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1.25,output:2.5,cacheRead:.2,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:2.5,output:5,cacheRead:.4,cacheWrite:0}]},contextWindow:2e6,maxTokens:2e6,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:spacexai/grok-4.20-reasoning-batch":{id:"spacexai/grok-4.20-reasoning-batch",name:"Grok 4.20 Reasoning (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1,output:2,cacheRead:.16,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:2,output:4,cacheRead:.32,cacheWrite:0}]},contextWindow:2e6,maxTokens:2e6,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:spacexai/grok-4.20-reasoning-beta":{id:"spacexai/grok-4.20-reasoning-beta",name:"Grok 4.20 Beta Reasoning",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1.25,output:2.5,cacheRead:.2,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:2.5,output:5,cacheRead:.4,cacheWrite:0}]},contextWindow:2e6,maxTokens:2e6,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:spacexai/grok-4.3":{id:"spacexai/grok-4.3",name:"Grok 4.3",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1.25,output:2.5,cacheRead:.2,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:2.5,output:5,cacheRead:.4,cacheWrite:0}]},contextWindow:1e6,maxTokens:1e6,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:spacexai/grok-4.3-batch":{id:"spacexai/grok-4.3-batch",name:"Grok 4.3 (Batch)",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1,output:2,cacheRead:.16,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:2,output:4,cacheRead:.32,cacheWrite:0}]},contextWindow:1e6,maxTokens:1e6,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:spacexai/grok-4.5":{id:"spacexai/grok-4.5",name:"Grok 4.5",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:2,output:6,cacheRead:.3,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:4,output:12,cacheRead:.6,cacheWrite:0}]},contextWindow:5e5,maxTokens:5e5,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:spacexai/grok-4.6":{id:"spacexai/grok-4.6",name:"Grok 4.6",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:2,output:6,cacheRead:.5,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:4,output:12,cacheRead:1,cacheWrite:0}]},contextWindow:5e5,maxTokens:5e5,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:spacexai/grok-4.7":{id:"spacexai/grok-4.7",name:"Grok 4.7",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:2,output:6,cacheRead:.5,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:4,output:12,cacheRead:1,cacheWrite:0}]},contextWindow:5e5,maxTokens:5e5,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:spacexai/grok-build-0.1":{id:"spacexai/grok-build-0.1",name:"Grok Build 0.1",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1,output:2,cacheRead:.2,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:2,output:4,cacheRead:.4,cacheWrite:0}]},contextWindow:256e3,maxTokens:256e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:stealth/glyph-cluster":{id:"stealth/glyph-cluster",name:"Glyph Cluster",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3,type:"chat"},"chat:stepfun/step-3.7-flash":{id:"stepfun/step-3.7-flash",name:"Step 3.7 Flash",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.2,output:1.15,cacheRead:.04,cacheWrite:0},contextWindow:256e3,maxTokens:256e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:stepfun/step-5-preview":{id:"stepfun/step-5-preview",name:"Step 5 Preview",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1,output:2.7,cacheRead:.1,cacheWrite:0},contextWindow:1048576,maxTokens:1048576,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:tencent/hy3":{id:"tencent/hy3",name:"Hy3",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.14,output:.58,cacheRead:.035,cacheWrite:0},contextWindow:262144,maxTokens:262144,type:"chat"},"chat:tencent/hy4-preview":{id:"tencent/hy4-preview",name:"Tencent Hy4 Preview",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.834,output:2.501,cacheRead:.042,cacheWrite:0},contextWindow:1024e3,maxTokens:64e3,type:"chat"},"chat:thinkingmachines/inkling":{id:"thinkingmachines/inkling",name:"Inkling",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1,output:4.05,cacheRead:.17,cacheWrite:0},contextWindow:256e3,maxTokens:256e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:thinkingmachines/inkling-small":{id:"thinkingmachines/inkling-small",name:"Inkling Small",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.45,output:1.2,cacheRead:.1,cacheWrite:0},contextWindow:1e6,maxTokens:1e6,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:xiaomi/mimo-v2.5":{id:"xiaomi/mimo-v2.5",name:"MiMo M2.5",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.14,output:.28,cacheRead:.0028,cacheWrite:0},contextWindow:105e4,maxTokens:131100,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:xiaomi/mimo-v2.5-pro":{id:"xiaomi/mimo-v2.5-pro",name:"MiMo V2.5 Pro",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.3045,output:.609,cacheRead:.0028,cacheWrite:0},contextWindow:105e4,maxTokens:131e3,type:"chat"},"chat:xiaomi/mimo-v2.6-flash":{id:"xiaomi/mimo-v2.6-flash",name:"MiMo V2.6 Flash",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.14,output:.28,cacheRead:.0028,cacheWrite:0},contextWindow:1048576,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:xiaomi/mimo-v2.6-pro":{id:"xiaomi/mimo-v2.6-pro",name:"MiMo V2.6 Pro",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.435,output:.87,cacheRead:.0036,cacheWrite:0},contextWindow:1048576,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:xiaomi/mimo-v2.6-pro-ultraspeed":{id:"xiaomi/mimo-v2.6-pro-ultraspeed",name:"MiMo V2.6 Pro UltraSpeed",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:4.35,output:8.7,cacheRead:.036,cacheWrite:0},contextWindow:1048576,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:zai/glm-4.5":{id:"zai/glm-4.5",name:"GLM 4.5",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.6,output:2.2,cacheRead:.11,cacheWrite:0},contextWindow:128e3,maxTokens:96e3,type:"chat"},"chat:zai/glm-4.5-air":{id:"zai/glm-4.5-air",name:"GLM 4.5 Air",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.2,output:1.1,cacheRead:.03,cacheWrite:0},contextWindow:128e3,maxTokens:96e3,type:"chat"},"chat:zai/glm-4.5v":{id:"zai/glm-4.5v",name:"GLM 4.5V",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.6,output:1.8,cacheRead:.11,cacheWrite:0},contextWindow:66e3,maxTokens:16e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:zai/glm-4.6":{id:"zai/glm-4.6",name:"GLM 4.6",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.6,output:2.2,cacheRead:.11,cacheWrite:0},contextWindow:2e5,maxTokens:96e3,type:"chat"},"chat:zai/glm-4.7":{id:"zai/glm-4.7",name:"GLM 4.7",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.6,output:2.2,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:12e4,type:"chat"},"chat:zai/glm-4.7-flash":{id:"zai/glm-4.7-flash",name:"GLM 4.7 Flash",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.07,output:.4,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:131e3,type:"chat"},"chat:zai/glm-4.7-flashx":{id:"zai/glm-4.7-flashx",name:"GLM 4.7 FlashX",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.06,output:.4,cacheRead:.01,cacheWrite:0},contextWindow:2e5,maxTokens:128e3,type:"chat"},"chat:zai/glm-5":{id:"zai/glm-5",name:"GLM 5",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:1,output:3.2,cacheRead:0,cacheWrite:0},contextWindow:202800,maxTokens:131100,type:"chat"},"chat:zai/glm-5-turbo":{id:"zai/glm-5-turbo",name:"GLM 5 Turbo",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:1.2,output:4,cacheRead:.24,cacheWrite:0},contextWindow:202800,maxTokens:131100,type:"chat"},"chat:zai/glm-5.1":{id:"zai/glm-5.1",name:"GLM 5.1",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:1.4,output:4.4,cacheRead:.26,cacheWrite:0},contextWindow:202800,maxTokens:64e3,type:"chat"},"chat:zai/glm-5.2":{id:"zai/glm-5.2",name:"GLM 5.2",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:.8,output:2.55,cacheRead:.16,cacheWrite:0},contextWindow:1e6,maxTokens:128e3,type:"chat"},"chat:zai/glm-5.2-fast":{id:"zai/glm-5.2-fast",name:"GLM 5.2 Fast",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:2.8,output:8.8,cacheRead:.56,cacheWrite:0},contextWindow:1e6,maxTokens:128e3,type:"chat"},"chat:zai/glm-5.3":{id:"zai/glm-5.3",name:"GLM 5.3",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:1.4,output:4.4,cacheRead:.14,cacheWrite:0},contextWindow:1e6,maxTokens:1e6,type:"chat"},"chat:zai/glm-5.3-fast":{id:"zai/glm-5.3-fast",name:"GLM 5.3 Fast",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text"],compat:{allowEmptySignature:!0},cost:{input:2.1,output:6.6,cacheRead:.21,cacheWrite:0},contextWindow:1048576,maxTokens:262144,type:"chat"},"chat:zai/glm-5.3-flash":{id:"zai/glm-5.3-flash",name:"GLM 5.3 Flash",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.15,output:.5,cacheRead:.03,cacheWrite:0},contextWindow:1e6,maxTokens:131e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:zai/glm-5.3-flashx":{id:"zai/glm-5.3-flashx",name:"GLM 5.3 FlashX",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:.37,output:1.25,cacheRead:.075,cacheWrite:0},contextWindow:1e6,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:zai/glm-5v-turbo":{id:"zai/glm-5v-turbo",name:"GLM 5V Turbo",api:"anthropic-messages",baseUrl:"https://ai-gateway.vercel.sh",provider:"vercel-ai-gateway",reasoning:!0,input:["text","image"],compat:{allowEmptySignature:!0},cost:{input:1.2,output:4,cacheRead:.24,cacheWrite:0},contextWindow:2e5,maxTokens:128e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}},"typesafe-system-one":{"classifier:convaiinnovations/laya":{type:"classifier",id:"convaiinnovations/laya",name:"Laya",api:"typesafe-system-one",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh/typesafe/v1",input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:8192},"classifier:convaiinnovations/laya-free":{type:"classifier",id:"convaiinnovations/laya-free",name:"Laya (Free)",api:"typesafe-system-one",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh/typesafe/v1",input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:8192},"classifier:liquid/d1":{type:"classifier",id:"liquid/d1",name:"Liquid d1",api:"typesafe-system-one",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh/typesafe/v1",input:["text"],cost:{input:.02,output:0,cacheRead:0,cacheWrite:0},contextWindow:65536},"classifier:liquid/d1-ultra":{type:"classifier",id:"liquid/d1-ultra",name:"Liquid d1 Ultra",api:"typesafe-system-one",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh/typesafe/v1",input:["text"],cost:{input:.042,output:0,cacheRead:0,cacheWrite:0},contextWindow:32768},"classifier:microsoft/microsoft-decision-1":{type:"classifier",id:"microsoft/microsoft-decision-1",name:"Decision-1",api:"typesafe-system-one",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh/typesafe/v1",input:["text"],cost:{input:.042,output:0,cacheRead:0,cacheWrite:0},contextWindow:32768},"classifier:openai/gpt-6-luna-decisions":{type:"classifier",id:"openai/gpt-6-luna-decisions",name:"GPT-6 Luna Decisions",api:"typesafe-system-one",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh/typesafe/v1",input:["text"],cost:{input:.1,output:0,cacheRead:0,cacheWrite:0},contextWindow:105e4},"classifier:perplexity/pplx-decider-flash-v1.2":{type:"classifier",id:"perplexity/pplx-decider-flash-v1.2",name:"Decider Flash V1.2 4B",api:"typesafe-system-one",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh/typesafe/v1",input:["text"],cost:{input:.01,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144},"classifier:perplexity/pplx-decider-v1.2":{type:"classifier",id:"perplexity/pplx-decider-v1.2",name:"Decider V1.2 27B",api:"typesafe-system-one",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh/typesafe/v1",input:["text"],cost:{input:.02,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144},"classifier:scaledown/scaledown-classify-1":{type:"classifier",id:"scaledown/scaledown-classify-1",name:"Classify-1",api:"typesafe-system-one",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh/typesafe/v1",input:["text"],cost:{input:.05,output:0,cacheRead:0,cacheWrite:0},contextWindow:4096},"classifier:typesafe-ai/jev":{type:"classifier",id:"typesafe-ai/jev",name:"Jev",api:"typesafe-system-one",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh/typesafe/v1",input:["text"],cost:{input:.042,output:0,cacheRead:0,cacheWrite:0},contextWindow:32e3},"classifier:typesafe-ai/jev-1.13.0":{type:"classifier",id:"typesafe-ai/jev-1.13.0",name:"Jev 1.13.0",api:"typesafe-system-one",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh/typesafe/v1",input:["text"],cost:{input:.042,output:0,cacheRead:0,cacheWrite:0},contextWindow:32e3},"classifier:typesafe-ai/jev-1.14.0":{type:"classifier",id:"typesafe-ai/jev-1.14.0",name:"Jev 1.14.0",api:"typesafe-system-one",provider:"vercel-ai-gateway",baseUrl:"https://ai-gateway.vercel.sh/typesafe/v1",input:["text"],cost:{input:.042,output:0,cacheRead:0,cacheWrite:0},contextWindow:32e3}}};var VERCEL_AI_GATEWAY_MODELS=flattenChatModelCatalog("vercel-ai-gateway",vercel_ai_gateway_default),VERCEL_AI_GATEWAY_IMAGE_MODELS=flattenImageModelCatalog("vercel-ai-gateway",vercel_ai_gateway_default),VERCEL_AI_GATEWAY_CLASSIFIER_MODELS=flattenClassifierModelCatalog("vercel-ai-gateway",vercel_ai_gateway_default);var xai_default={"openai-responses":{"chat:grok-4.3":{id:"grok-4.3",name:"Grok 4.3",api:"openai-responses",provider:"xai",baseUrl:"https://api.x.ai/v1",compat:{supportsLongCacheRetention:!1},reasoning:!0,input:["text","image"],cost:{input:1.25,output:2.5,cacheRead:.2,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:2.5,output:5,cacheRead:.4,cacheWrite:0}]},contextWindow:1e6,maxTokens:3e4,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:grok-4.5":{id:"grok-4.5",name:"Grok 4.5",api:"openai-responses",provider:"xai",baseUrl:"https://api.x.ai/v1",compat:{supportsLongCacheRetention:!1},reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.3,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:4,output:12,cacheRead:.6,cacheWrite:0}]},contextWindow:5e5,maxTokens:5e5,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:grok-4.6":{id:"grok-4.6",name:"Grok 4.6",api:"openai-responses",provider:"xai",baseUrl:"https://api.x.ai/v1",compat:{supportsLongCacheRetention:!1},reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.5,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:4,output:12,cacheRead:1,cacheWrite:0}]},contextWindow:5e5,maxTokens:5e5,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:grok-4.7":{id:"grok-4.7",name:"Grok 4.7",api:"openai-responses",provider:"xai",baseUrl:"https://api.x.ai/v1",compat:{supportsLongCacheRetention:!1},reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.5,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:4,output:12,cacheRead:1,cacheWrite:0}]},contextWindow:5e5,maxTokens:5e5,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}}};var XAI_MODELS=flattenChatModelCatalog("xai",xai_default),XAI_IMAGE_MODELS=flattenImageModelCatalog("xai",xai_default),XAI_CLASSIFIER_MODELS=flattenClassifierModelCatalog("xai",xai_default);var xiaomi_default={"openai-completions":{"chat:mimo-v2.6-flash":{id:"mimo-v2.6-flash",name:"MiMo-V2.6-Flash",api:"openai-completions",provider:"xiaomi",baseUrl:"https://api.xiaomimimo.com/v1",compat:{supportsStrictMode:!0,supportsReasoningEffort:!1,requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek"},reasoning:!0,thinkingLevelMap:{off:"off",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.14,output:.28,cacheRead:.0028,cacheWrite:0},contextWindow:1048576,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:mimo-v2.6-pro":{id:"mimo-v2.6-pro",name:"MiMo-V2.6-Pro",api:"openai-completions",provider:"xiaomi",baseUrl:"https://api.xiaomimimo.com/v1",compat:{supportsStrictMode:!0,supportsReasoningEffort:!1,requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek"},reasoning:!0,thinkingLevelMap:{off:"off",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:.435,output:.87,cacheRead:.0036,cacheWrite:0},contextWindow:1048576,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:mimo-v2.6-pro-ultraspeed":{id:"mimo-v2.6-pro-ultraspeed",name:"MiMo-V2.6-Pro-UltraSpeed",api:"openai-completions",provider:"xiaomi",baseUrl:"https://api.xiaomimimo.com/v1",compat:{supportsStrictMode:!0,supportsReasoningEffort:!1,requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek"},reasoning:!0,thinkingLevelMap:{off:"off",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:4.35,output:8.7,cacheRead:.036,cacheWrite:0},contextWindow:1048576,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}}};var XIAOMI_MODELS=flattenChatModelCatalog("xiaomi",xiaomi_default),XIAOMI_IMAGE_MODELS=flattenImageModelCatalog("xiaomi",xiaomi_default),XIAOMI_CLASSIFIER_MODELS=flattenClassifierModelCatalog("xiaomi",xiaomi_default);var xiaomi_token_plan_ams_default={"openai-completions":{"chat:mimo-v2.6-flash":{id:"mimo-v2.6-flash",name:"MiMo-V2.6-Flash",api:"openai-completions",provider:"xiaomi-token-plan-ams",baseUrl:"https://token-plan-ams.xiaomimimo.com/v1",compat:{supportsStrictMode:!0,supportsReasoningEffort:!1,requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek"},reasoning:!0,thinkingLevelMap:{off:"off",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:mimo-v2.6-pro":{id:"mimo-v2.6-pro",name:"MiMo-V2.6-Pro",api:"openai-completions",provider:"xiaomi-token-plan-ams",baseUrl:"https://token-plan-ams.xiaomimimo.com/v1",compat:{supportsStrictMode:!0,supportsReasoningEffort:!1,requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek"},reasoning:!0,thinkingLevelMap:{off:"off",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}}};var XIAOMI_TOKEN_PLAN_AMS_MODELS=flattenChatModelCatalog("xiaomi-token-plan-ams",xiaomi_token_plan_ams_default),XIAOMI_TOKEN_PLAN_AMS_IMAGE_MODELS=flattenImageModelCatalog("xiaomi-token-plan-ams",xiaomi_token_plan_ams_default),XIAOMI_TOKEN_PLAN_AMS_CLASSIFIER_MODELS=flattenClassifierModelCatalog("xiaomi-token-plan-ams",xiaomi_token_plan_ams_default);var xiaomi_token_plan_cn_default={"openai-completions":{"chat:mimo-v2.6-flash":{id:"mimo-v2.6-flash",name:"MiMo-V2.6-Flash",api:"openai-completions",provider:"xiaomi-token-plan-cn",baseUrl:"https://token-plan-cn.xiaomimimo.com/v1",compat:{supportsStrictMode:!0,supportsReasoningEffort:!1,requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek"},reasoning:!0,thinkingLevelMap:{off:"off",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:mimo-v2.6-pro":{id:"mimo-v2.6-pro",name:"MiMo-V2.6-Pro",api:"openai-completions",provider:"xiaomi-token-plan-cn",baseUrl:"https://token-plan-cn.xiaomimimo.com/v1",compat:{supportsStrictMode:!0,supportsReasoningEffort:!1,requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek"},reasoning:!0,thinkingLevelMap:{off:"off",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}}};var XIAOMI_TOKEN_PLAN_CN_MODELS=flattenChatModelCatalog("xiaomi-token-plan-cn",xiaomi_token_plan_cn_default),XIAOMI_TOKEN_PLAN_CN_IMAGE_MODELS=flattenImageModelCatalog("xiaomi-token-plan-cn",xiaomi_token_plan_cn_default),XIAOMI_TOKEN_PLAN_CN_CLASSIFIER_MODELS=flattenClassifierModelCatalog("xiaomi-token-plan-cn",xiaomi_token_plan_cn_default);var xiaomi_token_plan_sgp_default={"openai-completions":{"chat:mimo-v2.6-flash":{id:"mimo-v2.6-flash",name:"MiMo-V2.6-Flash",api:"openai-completions",provider:"xiaomi-token-plan-sgp",baseUrl:"https://token-plan-sgp.xiaomimimo.com/v1",compat:{supportsStrictMode:!0,supportsReasoningEffort:!1,requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek"},reasoning:!0,thinkingLevelMap:{off:"off",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:mimo-v2.6-pro":{id:"mimo-v2.6-pro",name:"MiMo-V2.6-Pro",api:"openai-completions",provider:"xiaomi-token-plan-sgp",baseUrl:"https://token-plan-sgp.xiaomimimo.com/v1",compat:{supportsStrictMode:!0,supportsReasoningEffort:!1,requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek"},reasoning:!0,thinkingLevelMap:{off:"off",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:null},input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}}};var XIAOMI_TOKEN_PLAN_SGP_MODELS=flattenChatModelCatalog("xiaomi-token-plan-sgp",xiaomi_token_plan_sgp_default),XIAOMI_TOKEN_PLAN_SGP_IMAGE_MODELS=flattenImageModelCatalog("xiaomi-token-plan-sgp",xiaomi_token_plan_sgp_default),XIAOMI_TOKEN_PLAN_SGP_CLASSIFIER_MODELS=flattenClassifierModelCatalog("xiaomi-token-plan-sgp",xiaomi_token_plan_sgp_default);var zai_default={"openai-completions":{"chat:glm-4.7":{id:"glm-4.7",name:"GLM-4.7",api:"openai-completions",provider:"zai",baseUrl:"https://api.z.ai/api/coding/paas/v4",reasoning:!0,input:["text"],cost:{input:.6,output:2.2,cacheRead:.11,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",thinkingFormat:"zai",supportsStrictMode:!0,zaiToolStream:!0},contextWindow:204800,maxTokens:131072,type:"chat"},"chat:glm-5-turbo":{id:"glm-5-turbo",name:"GLM-5-Turbo",api:"openai-completions",provider:"zai",baseUrl:"https://api.z.ai/api/coding/paas/v4",reasoning:!0,input:["text"],cost:{input:1.2,output:4,cacheRead:.24,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",thinkingFormat:"zai",supportsStrictMode:!0,zaiToolStream:!0},contextWindow:2e5,maxTokens:131072,type:"chat"},"chat:glm-5.2":{id:"glm-5.2",name:"GLM-5.2",api:"openai-completions",provider:"zai",baseUrl:"https://api.z.ai/api/coding/paas/v4",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:"max"},input:["text"],cost:{input:1.4,output:4.4,cacheRead:.26,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!0,maxTokensField:"max_tokens",thinkingFormat:"zai",supportsStrictMode:!0,zaiToolStream:!0},contextWindow:1e6,maxTokens:131072,type:"chat"},"chat:glm-5.2-highspeed":{id:"glm-5.2-highspeed",name:"GLM-5.2 Highspeed",api:"openai-completions",provider:"zai",baseUrl:"https://api.z.ai/api/coding/paas/v4",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:"max"},input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!0,maxTokensField:"max_tokens",thinkingFormat:"zai",supportsStrictMode:!0,zaiToolStream:!0},contextWindow:1e6,maxTokens:131072,type:"chat"},"chat:glm-5.3":{id:"glm-5.3",name:"GLM-5.3",api:"openai-completions",provider:"zai",baseUrl:"https://api.z.ai/api/coding/paas/v4",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text"],cost:{input:1.4,output:4.4,cacheRead:.26,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!0,maxTokensField:"max_tokens",thinkingFormat:"zai",supportsStrictMode:!0,zaiToolStream:!0},contextWindow:1e6,maxTokens:131072,type:"chat"},"chat:glm-5.3-flash":{id:"glm-5.3-flash",name:"GLM-5.3-Flash",api:"openai-completions",provider:"zai",baseUrl:"https://api.z.ai/api/coding/paas/v4",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text","image"],cost:{input:.15,output:.5,cacheRead:.03,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!0,maxTokensField:"max_tokens",thinkingFormat:"zai",supportsStrictMode:!0,zaiToolStream:!0},contextWindow:1e6,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:glm-5.3-highspeed":{id:"glm-5.3-highspeed",name:"GLM-5.3 Highspeed",api:"openai-completions",provider:"zai",baseUrl:"https://api.z.ai/api/coding/paas/v4",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!0,maxTokensField:"max_tokens",thinkingFormat:"zai",supportsStrictMode:!0,zaiToolStream:!0},contextWindow:1e6,maxTokens:131072,type:"chat"}}};var ZAI_MODELS=flattenChatModelCatalog("zai",zai_default),ZAI_IMAGE_MODELS=flattenImageModelCatalog("zai",zai_default),ZAI_CLASSIFIER_MODELS=flattenClassifierModelCatalog("zai",zai_default);var zai_coding_cn_default={"openai-completions":{"chat:glm-4.6v":{id:"glm-4.6v",name:"GLM-4.6V",api:"openai-completions",provider:"zai-coding-cn",baseUrl:"https://open.bigmodel.cn/api/coding/paas/v4",reasoning:!0,input:["text","image"],cost:{input:.3,output:.9,cacheRead:.05,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",thinkingFormat:"zai",supportsStrictMode:!0,zaiToolStream:!0},contextWindow:128e3,maxTokens:32768,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:glm-5.3":{id:"glm-5.3",name:"GLM-5.3",api:"openai-completions",provider:"zai-coding-cn",baseUrl:"https://open.bigmodel.cn/api/coding/paas/v4",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text"],cost:{input:1.4,output:4.4,cacheRead:.26,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!0,maxTokensField:"max_tokens",thinkingFormat:"zai",supportsStrictMode:!0,zaiToolStream:!0},contextWindow:1e6,maxTokens:131072,type:"chat"},"chat:glm-5.3-flash":{id:"glm-5.3-flash",name:"GLM-5.3-Flash",api:"openai-completions",provider:"zai-coding-cn",baseUrl:"https://open.bigmodel.cn/api/coding/paas/v4",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text","image"],cost:{input:.15,output:.5,cacheRead:.03,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!0,maxTokensField:"max_tokens",thinkingFormat:"zai",supportsStrictMode:!0,zaiToolStream:!0},contextWindow:1e6,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:glm-5.3-highspeed":{id:"glm-5.3-highspeed",name:"GLM-5.3 Highspeed",api:"openai-completions",provider:"zai-coding-cn",baseUrl:"https://open.bigmodel.cn/api/coding/paas/v4",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!0,maxTokensField:"max_tokens",thinkingFormat:"zai",supportsStrictMode:!0,zaiToolStream:!0},contextWindow:1e6,maxTokens:131072,type:"chat"}}};var ZAI_CODING_CN_MODELS=flattenChatModelCatalog("zai-coding-cn",zai_coding_cn_default),ZAI_CODING_CN_IMAGE_MODELS=flattenImageModelCatalog("zai-coding-cn",zai_coding_cn_default),ZAI_CODING_CN_CLASSIFIER_MODELS=flattenClassifierModelCatalog("zai-coding-cn",zai_coding_cn_default);var MODELS={agentrouter:AGENTROUTER_MODELS,"amazon-bedrock":AMAZON_BEDROCK_MODELS,"ant-ling":ANT_LING_MODELS,anthropic:ANTHROPIC_MODELS,azure:AZURE_MODELS,baseten:BASETEN_MODELS,cerebras:CEREBRAS_MODELS,"cloudflare-ai-gateway":CLOUDFLARE_AI_GATEWAY_MODELS,"cloudflare-workers-ai":CLOUDFLARE_WORKERS_AI_MODELS,deepseek:DEEPSEEK_MODELS,fireworks:FIREWORKS_MODELS,"github-copilot":GITHUB_COPILOT_MODELS,google:GOOGLE_MODELS,"google-vertex":GOOGLE_VERTEX_MODELS,groq:GROQ_MODELS,huggingface:HUGGINGFACE_MODELS,"kimi-coding":KIMI_CODING_MODELS,meta:META_MODELS,minimax:MINIMAX_MODELS,"minimax-cn":MINIMAX_CN_MODELS,mistral:MISTRAL_MODELS,moonshotai:MOONSHOTAI_MODELS,"moonshotai-cn":MOONSHOTAI_CN_MODELS,nvidia:NVIDIA_MODELS,openai:OPENAI_MODELS,"openai-codex":OPENAI_CODEX_MODELS,opencode:OPENCODE_MODELS,"opencode-go":OPENCODE_GO_MODELS,openrouter:OPENROUTER_MODELS,"qwen-token-plan":QWEN_TOKEN_PLAN_MODELS,"qwen-token-plan-cn":QWEN_TOKEN_PLAN_CN_MODELS,"qwen-token-plan-individual":QWEN_TOKEN_PLAN_INDIVIDUAL_MODELS,radius:RADIUS_MODELS,together:TOGETHER_MODELS,typesafe:TYPESAFE_MODELS,"vercel-ai-gateway":VERCEL_AI_GATEWAY_MODELS,xai:XAI_MODELS,xiaomi:XIAOMI_MODELS,"xiaomi-token-plan-ams":XIAOMI_TOKEN_PLAN_AMS_MODELS,"xiaomi-token-plan-cn":XIAOMI_TOKEN_PLAN_CN_MODELS,"xiaomi-token-plan-sgp":XIAOMI_TOKEN_PLAN_SGP_MODELS,zai:ZAI_MODELS,"zai-coding-cn":ZAI_CODING_CN_MODELS},IMAGE_MODELS={agentrouter:AGENTROUTER_IMAGE_MODELS,"amazon-bedrock":AMAZON_BEDROCK_IMAGE_MODELS,"ant-ling":ANT_LING_IMAGE_MODELS,anthropic:ANTHROPIC_IMAGE_MODELS,azure:AZURE_IMAGE_MODELS,baseten:BASETEN_IMAGE_MODELS,cerebras:CEREBRAS_IMAGE_MODELS,"cloudflare-ai-gateway":CLOUDFLARE_AI_GATEWAY_IMAGE_MODELS,"cloudflare-workers-ai":CLOUDFLARE_WORKERS_AI_IMAGE_MODELS,deepseek:DEEPSEEK_IMAGE_MODELS,fireworks:FIREWORKS_IMAGE_MODELS,"github-copilot":GITHUB_COPILOT_IMAGE_MODELS,google:GOOGLE_IMAGE_MODELS,"google-vertex":GOOGLE_VERTEX_IMAGE_MODELS,groq:GROQ_IMAGE_MODELS,huggingface:HUGGINGFACE_IMAGE_MODELS,"kimi-coding":KIMI_CODING_IMAGE_MODELS,meta:META_IMAGE_MODELS,minimax:MINIMAX_IMAGE_MODELS,"minimax-cn":MINIMAX_CN_IMAGE_MODELS,mistral:MISTRAL_IMAGE_MODELS,moonshotai:MOONSHOTAI_IMAGE_MODELS,"moonshotai-cn":MOONSHOTAI_CN_IMAGE_MODELS,nvidia:NVIDIA_IMAGE_MODELS,openai:OPENAI_IMAGE_MODELS,"openai-codex":OPENAI_CODEX_IMAGE_MODELS,opencode:OPENCODE_IMAGE_MODELS,"opencode-go":OPENCODE_GO_IMAGE_MODELS,openrouter:OPENROUTER_IMAGE_MODELS,"qwen-token-plan":QWEN_TOKEN_PLAN_IMAGE_MODELS,"qwen-token-plan-cn":QWEN_TOKEN_PLAN_CN_IMAGE_MODELS,"qwen-token-plan-individual":QWEN_TOKEN_PLAN_INDIVIDUAL_IMAGE_MODELS,radius:RADIUS_IMAGE_MODELS,together:TOGETHER_IMAGE_MODELS,typesafe:TYPESAFE_IMAGE_MODELS,"vercel-ai-gateway":VERCEL_AI_GATEWAY_IMAGE_MODELS,xai:XAI_IMAGE_MODELS,xiaomi:XIAOMI_IMAGE_MODELS,"xiaomi-token-plan-ams":XIAOMI_TOKEN_PLAN_AMS_IMAGE_MODELS,"xiaomi-token-plan-cn":XIAOMI_TOKEN_PLAN_CN_IMAGE_MODELS,"xiaomi-token-plan-sgp":XIAOMI_TOKEN_PLAN_SGP_IMAGE_MODELS,zai:ZAI_IMAGE_MODELS,"zai-coding-cn":ZAI_CODING_CN_IMAGE_MODELS},CLASSIFIER_MODELS={agentrouter:AGENTROUTER_CLASSIFIER_MODELS,"amazon-bedrock":AMAZON_BEDROCK_CLASSIFIER_MODELS,"ant-ling":ANT_LING_CLASSIFIER_MODELS,anthropic:ANTHROPIC_CLASSIFIER_MODELS,azure:AZURE_CLASSIFIER_MODELS,baseten:BASETEN_CLASSIFIER_MODELS,cerebras:CEREBRAS_CLASSIFIER_MODELS,"cloudflare-ai-gateway":CLOUDFLARE_AI_GATEWAY_CLASSIFIER_MODELS,"cloudflare-workers-ai":CLOUDFLARE_WORKERS_AI_CLASSIFIER_MODELS,deepseek:DEEPSEEK_CLASSIFIER_MODELS,fireworks:FIREWORKS_CLASSIFIER_MODELS,"github-copilot":GITHUB_COPILOT_CLASSIFIER_MODELS,google:GOOGLE_CLASSIFIER_MODELS,"google-vertex":GOOGLE_VERTEX_CLASSIFIER_MODELS,groq:GROQ_CLASSIFIER_MODELS,huggingface:HUGGINGFACE_CLASSIFIER_MODELS,"kimi-coding":KIMI_CODING_CLASSIFIER_MODELS,meta:META_CLASSIFIER_MODELS,minimax:MINIMAX_CLASSIFIER_MODELS,"minimax-cn":MINIMAX_CN_CLASSIFIER_MODELS,mistral:MISTRAL_CLASSIFIER_MODELS,moonshotai:MOONSHOTAI_CLASSIFIER_MODELS,"moonshotai-cn":MOONSHOTAI_CN_CLASSIFIER_MODELS,nvidia:NVIDIA_CLASSIFIER_MODELS,openai:OPENAI_CLASSIFIER_MODELS,"openai-codex":OPENAI_CODEX_CLASSIFIER_MODELS,opencode:OPENCODE_CLASSIFIER_MODELS,"opencode-go":OPENCODE_GO_CLASSIFIER_MODELS,openrouter:OPENROUTER_CLASSIFIER_MODELS,"qwen-token-plan":QWEN_TOKEN_PLAN_CLASSIFIER_MODELS,"qwen-token-plan-cn":QWEN_TOKEN_PLAN_CN_CLASSIFIER_MODELS,"qwen-token-plan-individual":QWEN_TOKEN_PLAN_INDIVIDUAL_CLASSIFIER_MODELS,radius:RADIUS_CLASSIFIER_MODELS,together:TOGETHER_CLASSIFIER_MODELS,typesafe:TYPESAFE_CLASSIFIER_MODELS,"vercel-ai-gateway":VERCEL_AI_GATEWAY_CLASSIFIER_MODELS,xai:XAI_CLASSIFIER_MODELS,xiaomi:XIAOMI_CLASSIFIER_MODELS,"xiaomi-token-plan-ams":XIAOMI_TOKEN_PLAN_AMS_CLASSIFIER_MODELS,"xiaomi-token-plan-cn":XIAOMI_TOKEN_PLAN_CN_CLASSIFIER_MODELS,"xiaomi-token-plan-sgp":XIAOMI_TOKEN_PLAN_SGP_CLASSIFIER_MODELS,zai:ZAI_CLASSIFIER_MODELS,"zai-coding-cn":ZAI_CODING_CN_CLASSIFIER_MODELS};var anthropicMessagesApi=()=>lazyApi(()=>import("./anthropic-messages-VD2GN7C4.js"));var openAICompletionsApi=()=>lazyApi(()=>import("./openai-completions-QTYKORY2.js"));function envApiKeyAuth(name,envVars){return{name,login:async interaction=>{interaction.signal.throwIfAborted();let key=await interaction.prompt({type:"secret",message:`Enter ${name}`});return interaction.signal.throwIfAborted(),{type:"api_key",key}},resolve:async({ctx,credential,signal})=>{if(signal.throwIfAborted(),credential?.key)return{auth:{apiKey:credential.key},env:credential.env,source:"stored credential"};for(let envVar of envVars){let value=await ctx.env(envVar);if(signal.throwIfAborted(),value)return{auth:{apiKey:value},source:envVar}}}}}function lazyOAuth(input){let promise,loaded=()=>(promise??=input.load(),promise);return{name:input.name,isSubscription:input.isSubscription,loginLabel:input.loginLabel,login:async(interaction,options)=>(await loaded()).login(interaction,options),refresh:async(credential,signal)=>(await loaded()).refresh(credential,signal),toAuth:async credential=>(await loaded()).toAuth(credential)}}function agentrouterProvider(){return createProvider({id:"agentrouter",name:"AgentRouter",baseUrl:"https://agentrouter.org/v1",auth:{apiKey:envApiKeyAuth("AgentRouter API key",["AGENTROUTER_API_KEY"])},models:Object.values(AGENTROUTER_MODELS),api:{"anthropic-messages":anthropicMessagesApi(),"openai-completions":openAICompletionsApi()}})}var importNodeOnlyApi=specifier=>import(import.meta.url.endsWith(".js")?specifier.replace(/\.ts$/,".js"):specifier),bedrockModuleOverride;function setBedrockProviderModule(module){bedrockModuleOverride=module}var bedrockConverseStreamApi=()=>lazyApi(async()=>bedrockModuleOverride??await importNodeOnlyApi("./bedrock-converse-stream.ts"));var bedrockAuth={name:"AWS credentials or bearer token",login:async interaction=>{interaction.signal.throwIfAborted();let method=await interaction.prompt({type:"select",message:"Select Amazon Bedrock authentication method:",options:[{id:"bearer-token",label:"Bearer token"},{id:"aws-profile",label:"AWS profile"},{id:"credential-chain",label:"Existing AWS credential chain"}]});if(interaction.signal.throwIfAborted(),method==="bearer-token")return{type:"api_key",key:await interaction.prompt({type:"secret",message:"Enter Amazon Bedrock bearer token"})};if(interaction.notify({type:"info",message:"Amazon Bedrock supports AWS profiles, IAM credentials, and role-based credentials.",links:[{label:"AWS credential provider chain",url:"https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html"}]}),method==="aws-profile")return{type:"api_key",env:{AWS_PROFILE:await interaction.prompt({type:"text",message:"Enter AWS profile name"})}};if(method!=="credential-chain")throw new Error(`Unknown Amazon Bedrock auth method: ${method}`);return await interaction.prompt({type:"text",message:"Configure AWS credentials, then press Enter to continue"}),{type:"api_key"}},resolve:async({ctx,credential,signal})=>{let env=async name=>{signal.throwIfAborted();let value=await ctx.env(name);return signal.throwIfAborted(),value};if(credential?.key)return{auth:{apiKey:credential.key},env:credential.env,source:"stored credential"};if(await env("AWS_BEARER_TOKEN_BEDROCK"))return{auth:{},source:"AWS_BEARER_TOKEN_BEDROCK"};if(credential?.env?.AWS_PROFILE??await env("AWS_PROFILE"))return{auth:{},env:credential?.env,source:credential?.env?.AWS_PROFILE?"stored credential":"AWS_PROFILE"};if(await env("AWS_ACCESS_KEY_ID")&&await env("AWS_SECRET_ACCESS_KEY"))return{auth:{},source:"AWS access keys"};if(await env("AWS_CONTAINER_CREDENTIALS_RELATIVE_URI"))return{auth:{},source:"ECS task role"};if(await env("AWS_CONTAINER_CREDENTIALS_FULL_URI"))return{auth:{},source:"ECS task role"};if(await env("AWS_WEB_IDENTITY_TOKEN_FILE"))return{auth:{},source:"web identity token"}}};function amazonBedrockProvider(){return createProvider({id:"amazon-bedrock",name:"Amazon Bedrock",auth:{apiKey:bedrockAuth},models:Object.values(AMAZON_BEDROCK_MODELS),api:bedrockConverseStreamApi()})}function antLingProvider(){return createProvider({id:"ant-ling",name:"Ant Ling",baseUrl:"https://api.ant-ling.com/v1",auth:{apiKey:envApiKeyAuth("Ant Ling API key",["ANT_LING_API_KEY"])},models:Object.values(ANT_LING_MODELS),api:openAICompletionsApi()})}var importOAuthModule=specifier=>import(import.meta.url.endsWith(".js")?specifier.replace(/\.ts$/,".js"):specifier),bundledLoaders;var loadAnthropicOAuth=async()=>bundledLoaders?bundledLoaders.anthropic():(await importOAuthModule("./anthropic.ts")).anthropicOAuth,loadOpenAICodexOAuth=async()=>bundledLoaders?bundledLoaders.openaiCodex():(await importOAuthModule("./openai-codex.ts")).openaiCodexOAuth,loadOpenAIChatGPTOAuth=async()=>bundledLoaders?bundledLoaders.openaiChatGPT():(await importOAuthModule("./openai-chatgpt.ts")).openaiChatGPTOAuth,loadGitHubCopilotOAuth=async()=>bundledLoaders?bundledLoaders.githubCopilot():(await importOAuthModule("./github-copilot.ts")).githubCopilotOAuth,loadOpenRouterOAuth=async()=>bundledLoaders?bundledLoaders.openrouter():(await importOAuthModule("./openrouter.ts")).openRouterOAuth,loadKimiCodingOAuth=async()=>bundledLoaders?bundledLoaders.kimiCoding():(await importOAuthModule("./kimi-coding.ts")).kimiCodingOAuth,loadMetaOAuth=async()=>bundledLoaders?bundledLoaders.meta():(await importOAuthModule("./meta.ts")).metaOAuth,loadXaiOAuth=async()=>bundledLoaders?bundledLoaders.xai():(await importOAuthModule("./xai.ts")).xaiOAuth,loadRadiusOAuth=async options=>bundledLoaders?bundledLoaders.radius(options):(await importOAuthModule("./radius.ts")).createRadiusOAuth(options);function anthropicApiKeyAuth(){return{name:"Anthropic API key",login:async interaction=>{interaction.signal.throwIfAborted();let key=await interaction.prompt({type:"secret",message:"Enter Anthropic API key"});return interaction.signal.throwIfAborted(),{type:"api_key",key}},resolve:async({ctx,credential,signal})=>{if(signal.throwIfAborted(),credential?.key)return{auth:{apiKey:credential.key},env:credential.env,source:"stored credential"};let authToken=await ctx.env(ANTHROPIC_AUTH_TOKEN_ENV);if(signal.throwIfAborted(),authToken)return{auth:{headers:{Authorization:`Bearer ${authToken}`}},source:ANTHROPIC_AUTH_TOKEN_ENV};for(let envVar of[ANTHROPIC_OAUTH_TOKEN_ENV,ANTHROPIC_API_KEY_ENV]){let apiKey=await ctx.env(envVar);if(signal.throwIfAborted(),apiKey)return{auth:{apiKey},source:envVar}}let federation={};for(let envVar of[ANTHROPIC_FEDERATION_RULE_ID_ENV,ANTHROPIC_ORGANIZATION_ID_ENV,ANTHROPIC_IDENTITY_TOKEN_FILE_ENV]){let value=await ctx.env(envVar);if(signal.throwIfAborted(),!value)return;federation[envVar]=value}for(let envVar of[ANTHROPIC_SERVICE_ACCOUNT_ID_ENV,ANTHROPIC_WORKSPACE_ID_ENV]){let value=await ctx.env(envVar);signal.throwIfAborted(),value&&(federation[envVar]=value)}return{auth:{},env:federation,source:"workload identity federation"}}}}function anthropicProvider(){return createProvider({id:"anthropic",name:"Anthropic",baseUrl:"https://api.anthropic.com",auth:{apiKey:anthropicApiKeyAuth(),oauth:lazyOAuth({name:"Anthropic (Claude Pro/Max)",isSubscription:!0,load:loadAnthropicOAuth})},models:Object.values(ANTHROPIC_MODELS),api:anthropicMessagesApi()})}var azureOpenAIResponsesApi=()=>lazyApi(()=>import("./azure-openai-responses-6IJ5JZ3Y.js"));function resolveAzureModel(model,options){return{...model,baseUrl:resolveAzureBaseUrl(model,options)}}function withDeploymentName(model,options){let deploymentName=resolveDeploymentName(model,options);return deploymentName===model.id?options:{...options,onPayload:async(payload,payloadModel)=>{let params={...payload,model:deploymentName};return await options?.onPayload?.(params,payloadModel)??params}}}function azureStreams(streams){return{stream:(model,context,options)=>lazyStream(model,async()=>streams.stream(resolveAzureModel(model,options),context,withDeploymentName(model,options))),streamSimple:(model,context,options)=>lazyStream(model,async()=>streams.streamSimple(resolveAzureModel(model,options),context,withDeploymentName(model,options)))}}function azureProvider(){return createProvider({id:"azure",name:"Azure",auth:{apiKey:envApiKeyAuth("Azure OpenAI API key",["AZURE_OPENAI_API_KEY"])},models:Object.values(AZURE_MODELS),api:{"azure-openai-responses":azureOpenAIResponsesApi(),"openai-completions":azureStreams(openAICompletionsApi())}})}function basetenProvider(){return createProvider({id:"baseten",name:"Baseten",baseUrl:"https://inference.baseten.co/v1",auth:{apiKey:envApiKeyAuth("Baseten API key",["BASETEN_API_KEY"])},models:Object.values(BASETEN_MODELS),api:openAICompletionsApi()})}function cerebrasProvider(){return createProvider({id:"cerebras",name:"Cerebras",baseUrl:"https://api.cerebras.ai/v1",auth:{apiKey:envApiKeyAuth("Cerebras API key",["CEREBRAS_API_KEY"])},models:Object.values(CEREBRAS_MODELS),api:openAICompletionsApi()})}var openAIResponsesApi=()=>lazyApi(()=>import("./openai-responses-JSX72BKV.js"));var CLOUDFLARE_API_KEY="CLOUDFLARE_API_KEY",CLOUDFLARE_ACCOUNT_ID="CLOUDFLARE_ACCOUNT_ID",CLOUDFLARE_GATEWAY_ID="CLOUDFLARE_GATEWAY_ID";async function resolveValue(name,ctx,credential,signal){let fromCredential=credential?name===CLOUDFLARE_API_KEY?credential.key:credential.env?.[name]:void 0;if(fromCredential!==void 0)return fromCredential;signal.throwIfAborted();let value=await ctx.env(name);return signal.throwIfAborted(),value}async function resolveCloudflareEnv(kind,ctx,credential,signal){let apiKey=await resolveValue(CLOUDFLARE_API_KEY,ctx,credential,signal),accountId=await resolveValue(CLOUDFLARE_ACCOUNT_ID,ctx,credential,signal),gatewayId=kind==="ai-gateway"?await resolveValue(CLOUDFLARE_GATEWAY_ID,ctx,credential,signal):void 0;if(!(!apiKey||!accountId||kind==="ai-gateway"&&!gatewayId))return{apiKey,env:{CLOUDFLARE_ACCOUNT_ID:accountId,...gatewayId?{CLOUDFLARE_GATEWAY_ID:gatewayId}:{}},source:credential?"stored credential":CLOUDFLARE_API_KEY}}function cloudflareWorkersAIAuth(){return{name:"Cloudflare API key",login:async interaction=>{let key=await interaction.prompt({type:"secret",message:"Enter Cloudflare API key"}),accountId=await interaction.prompt({type:"text",message:"Enter Cloudflare account ID"});return{type:"api_key",key,env:{CLOUDFLARE_ACCOUNT_ID:accountId}}},resolve:async({ctx,credential,signal})=>{let resolved=await resolveCloudflareEnv("workers-ai",ctx,credential,signal);if(resolved)return{auth:{apiKey:resolved.apiKey},env:resolved.env,source:resolved.source}}}}function cloudflareAIGatewayAuth(){return{name:"Cloudflare API key",login:async interaction=>{let key=await interaction.prompt({type:"secret",message:"Enter Cloudflare API key"}),accountId=await interaction.prompt({type:"text",message:"Enter Cloudflare account ID"}),gatewayId=await interaction.prompt({type:"text",message:"Enter Cloudflare AI Gateway ID"});return{type:"api_key",key,env:{CLOUDFLARE_ACCOUNT_ID:accountId,CLOUDFLARE_GATEWAY_ID:gatewayId}}},resolve:async({ctx,credential,signal})=>{let resolved=await resolveCloudflareEnv("ai-gateway",ctx,credential,signal);if(resolved)return{auth:{headers:{"cf-aig-authorization":`Bearer ${resolved.apiKey}`,Authorization:null,"x-api-key":null}},env:resolved.env,source:resolved.source}}}}var CLOUDFLARE_ACCOUNT_ID2="CLOUDFLARE_ACCOUNT_ID",CLOUDFLARE_GATEWAY_ID2="CLOUDFLARE_GATEWAY_ID";function resolveCloudflareModel(model,env){if(!env)return model;let baseUrl=model.baseUrl.replaceAll(`{${CLOUDFLARE_ACCOUNT_ID2}}`,env[CLOUDFLARE_ACCOUNT_ID2]??`{${CLOUDFLARE_ACCOUNT_ID2}}`).replaceAll(`{${CLOUDFLARE_GATEWAY_ID2}}`,env[CLOUDFLARE_GATEWAY_ID2]??`{${CLOUDFLARE_GATEWAY_ID2}}`);return baseUrl===model.baseUrl?model:{...model,baseUrl}}function cloudflareStreams(streams){return{stream:(model,context,options)=>streams.stream(resolveCloudflareModel(model,options?.env),context,options),streamSimple:(model,context,options)=>streams.streamSimple(resolveCloudflareModel(model,options?.env),context,options)}}function cloudflareClassifier(classifier){return{classify:(model,context,options)=>classifier.classify(resolveCloudflareModel(model,options?.env),context,options)}}function cloudflareAIGatewayProvider(){return createProvider({id:"cloudflare-ai-gateway",name:"Cloudflare AI Gateway",auth:{apiKey:cloudflareAIGatewayAuth()},models:Object.values(CLOUDFLARE_AI_GATEWAY_MODELS),api:{"anthropic-messages":cloudflareStreams(anthropicMessagesApi()),"openai-completions":cloudflareStreams(openAICompletionsApi()),"openai-responses":cloudflareStreams(openAIResponsesApi())}})}var cloudflareWorkersAISystemOneApi=()=>({classify:async(model,context,options)=>(await import("./cloudflare-workers-ai-system-one-JBMTTHVI.js")).classify(model,context,options)});function cloudflareWorkersAIProvider(){return createProvider({id:"cloudflare-workers-ai",name:"Cloudflare Workers AI",auth:{apiKey:cloudflareWorkersAIAuth()},models:[...Object.values(CLOUDFLARE_WORKERS_AI_MODELS),...Object.values(CLOUDFLARE_WORKERS_AI_CLASSIFIER_MODELS)],api:cloudflareStreams(openAICompletionsApi()),classifiers:{"cloudflare-workers-ai-system-one":cloudflareClassifier(cloudflareWorkersAISystemOneApi())}})}var manifest_default={schemaVersion:6,generatedAt:"2026-10-20T21:09:24.290Z",structureHash:"63abc9a5cde34e2b261e34ec00106cd8354d1667e8b0fa25a0e277af98bbed5e",files:{"agentrouter.json":"f6d3389fc1dc76871d0ebb6bdd6ef7dddb3458e5bab4eb376fe3d0572c1303da","amazon-bedrock.json":"6d9629fc0d795121e690aa852265c9cd77ef6a67b5082b46301be595430eb385","ant-ling.json":"628feab3ef6c7d80ce96f75999804e1d9f05fec3851e5302e30fff3b69db90f6","anthropic.json":"91f5da01452c7746645d3405bc91e09f849e4e4687c7c7ff22d8976eafe64b87","azure.json":"3b008f124eb5089ecf37b918545b5b4da1c842b982383d4b4b4b32383adcc6ca","baseten.json":"df00cca103845b5b0ae6736c046e9500e4328eda3ad26cd0266541f2a5840cb1","cerebras.json":"3eccb58c5de3d0dc7ba49dc6e477ba29f00cb3150ce0a35cc90d59e6b5ab368e","cloudflare-ai-gateway.json":"6c4f293c27f26a7b005fdd2ea3059668836a5c21097d7df1a03ec03ca540c091","cloudflare-workers-ai.json":"89e822178dee9fc8702c8d4ea0f30b85f7525ce4e38b5e26cc5d62cc2784a93a","deepseek.json":"10a296fb3e898f7715c80890c8af0af4f5fd58f22dbcd6612fdc5d762157ccdc","fireworks.json":"8e862806b0a69cefc6585c38b103de1baae782c51409748c6d16199daedcf1ca","github-copilot.json":"1c7d77a4c320081bb0a80b2c8e185b34f07b73d38e67d20f3dcabcf72f2f8fcd","google-vertex.json":"564d692a4292ef12e98c8ec056a39948ea64e10851f5ddaaebcc37b585545231","google.json":"b61fb0e27da5be60e1112e46955c5923656cb4d62bb221f834a9463d764ef5de","groq.json":"910952ad9dad07856983459d63fce0148dba1203edd7b10d801a77c5824f3405","huggingface.json":"af9215bf3f27a162836effceb609652c6ca64dd96e02408f3f12ab92de687db0","kimi-coding.json":"728d5ddb63ef52130552022d5ae2fd138fdc131ff854ac8c3b10ccaad355ab39","meta.json":"563f5ec07973f52ab8c3eb26ef91a36ad8a79e950b37174935666cdcb624bf35","minimax-cn.json":"fa15d1f67a07046d38e191af9bd97ed922ba45a99a11af4ad281151cc6b762aa","minimax.json":"1e0459dda3858ea24151182106fc4179b95f43a0a8dffc1c3d2e7db4c2d9206e","mistral.json":"c15e0ec8fcbc16b58342242b159af6ad035e7472d06ef4ccfc17fafc947ef3dc","moonshotai-cn.json":"0dbd6b063a0abdbe55d5dc59dd4dade566c2ea817ad6184bc8d20655ecba1daf","moonshotai.json":"1da2c4e34f22aef17a07c974d85bdee8e1b68b6dc712e3769c935b3f1e7dadca","nvidia.json":"dcf20f026f1a5cbb9001adf35e4831dcf761b0dde866d5eddf63015aa41151ec","openai-codex.json":"533e0ddd7d212fa8433b974b19613301b093f171541e4f4e1fea1962e68928ad","openai.json":"cf5e119eb05f47bbf1dbad179de6a07b904bf7673e96691be72ab0b1fe40a781","opencode-go.json":"e3cb85944bdbc7fb369204dac3001c683e422ca44f305112e77fb1c5dbfbb79e","opencode.json":"67f9ba2462c3e42c2f9491822132e9ae1963040c29508f02328bcfd8bad9dd8c","openrouter.json":"86e8db0149d0922b7d449609d97faf2bb608286f902922588ef083ae7e1dfb00","qwen-token-plan-cn.json":"919630b7142cd5a70177218fa026c0b671ecc331c090c245f14cddb7ae2bcb79","qwen-token-plan-individual.json":"6a2569d2831cc52d04b1e1b86ba388de3eb16d8cb114da8ae00f53457ba6360e","qwen-token-plan.json":"efbc6fd5ee52a17bc50210bf9bba525a0a809dd09c582f8bc300a9079d95b702","radius.json":"437079cd0601d818525a5290002270d1876f17dc967f19a2113f7caf6331d35f","together.json":"27df6f6d645a531b0ec8f38b897ba64eb0bf490014d50aa0f16f0e54b1801aa4","typesafe.json":"a4429a2f696d5cc5273969af61a7310bda07d6bdcd27bf9ac9c76c534cc43716","vercel-ai-gateway.json":"eb5e2b8abd1d753eacbfd551a9212f2fd13736d4c9239fa689efb305f25c0d4e","xai.json":"59f8a7bdf14e79ba1b0d0a37e56251bbf100420bdac7d6af5942508fdb990f11","xiaomi-token-plan-ams.json":"bfd33741da693bdb8e8ebd4e7b90c3e90820aa18432ad081a5a98db13c6bd296","xiaomi-token-plan-cn.json":"4b61d78feae3a926fda918c3fd3a9afaf2ca60c1bba0af8270a5398fb50a983e","xiaomi-token-plan-sgp.json":"b05a197ce24fd69fc9440f4ba929984ac7a0fefbe8083268734b422e721987ec","xiaomi.json":"495b5fddf3c3ec8904fecc15c4c19536f4961dce7b51512b6909d2df2e739824","zai-coding-cn.json":"cc9e0768e726ef55d2b7af853ac5f3585dc72575932cb38840a3877d18736b78","zai.json":"58e6642fdfb736f0b9a4a277c760c536a3cea66a030abbfb2615f7b2851d5c6f"}};function deepseekProvider(){return createProvider({id:"deepseek",name:"DeepSeek",baseUrl:"https://api.deepseek.com",auth:{apiKey:envApiKeyAuth("DeepSeek API key",["DEEPSEEK_API_KEY"])},models:Object.values(DEEPSEEK_MODELS),api:openAICompletionsApi()})}function fireworksProvider(){return createProvider({id:"fireworks",name:"Fireworks",baseUrl:"https://api.fireworks.ai/inference",auth:{apiKey:envApiKeyAuth("Fireworks API key",["FIREWORKS_API_KEY"])},models:Object.values(FIREWORKS_MODELS),api:{"anthropic-messages":anthropicMessagesApi(),"openai-completions":openAICompletionsApi()}})}function githubCopilotProvider(){return createProvider({id:"github-copilot",name:"GitHub Copilot",baseUrl:"https://api.individual.githubcopilot.com",auth:{apiKey:envApiKeyAuth("GitHub Copilot token",["COPILOT_GITHUB_TOKEN"]),oauth:lazyOAuth({name:"GitHub Copilot",isSubscription:!0,load:loadGitHubCopilotOAuth})},models:Object.values(GITHUB_COPILOT_MODELS),filterModels:(models,credential)=>{if(credential?.type!=="oauth")return models;let availableModelIds=credential.availableModelIds;if(!Array.isArray(availableModelIds)||!availableModelIds.every(id=>typeof id=="string"))return models;let available=new Set(availableModelIds);return models.filter(model=>available.has(model.id))},api:{"anthropic-messages":anthropicMessagesApi(),"openai-completions":openAICompletionsApi(),"openai-responses":openAIResponsesApi()}})}var googleGenerativeAIApi=()=>lazyApi(()=>import("./google-generative-ai-QBWYWMCA.js"));function googleProvider(){return createProvider({id:"google",name:"Google",baseUrl:"https://generativelanguage.googleapis.com/v1beta",auth:{apiKey:envApiKeyAuth("Gemini API key",["GEMINI_API_KEY"])},models:Object.values(GOOGLE_MODELS),api:googleGenerativeAIApi()})}var googleVertexApi=()=>lazyApi(()=>import("./google-vertex-4KVZWEAI.js"));var VERTEX_ADC_PATH="~/.config/gcloud/application_default_credentials.json",vertexAuth={name:"Google Cloud credentials",login:async interaction=>{interaction.signal.throwIfAborted();let method=await interaction.prompt({type:"select",message:"Select Google Vertex AI authentication method:",options:[{id:"api-key",label:"Google Cloud API key"},{id:"adc",label:"Application Default Credentials"},{id:"service-account",label:"Service account credentials file"}]});if(interaction.signal.throwIfAborted(),method==="api-key")return{type:"api_key",key:await interaction.prompt({type:"secret",message:"Enter Google Cloud API key"})};if(method!=="adc"&&method!=="service-account")throw new Error(`Unknown Google Vertex AI auth method: ${method}`);interaction.notify({type:"info",message:method==="adc"?"Run `gcloud auth application-default login`, then provide the project and location.":"Provide a service account credentials file, project, and location.",links:[{label:"Application Default Credentials",url:"https://cloud.google.com/docs/authentication/provide-credentials-adc"}]});let project=await interaction.prompt({type:"text",message:"Enter Google Cloud project ID"}),location=await interaction.prompt({type:"text",message:"Enter Google Cloud location"}),credentialsPath=method==="service-account"?await interaction.prompt({type:"text",message:"Enter service account credentials file path"}):void 0;return{type:"api_key",env:{GOOGLE_CLOUD_PROJECT:project,GOOGLE_CLOUD_LOCATION:location,...credentialsPath?{GOOGLE_APPLICATION_CREDENTIALS:credentialsPath}:{}}}},resolve:async({ctx,credential,signal})=>{let env=async name=>{signal.throwIfAborted();let value=await ctx.env(name);return signal.throwIfAborted(),value},key=credential?.key??await env("GOOGLE_CLOUD_API_KEY");if(key)return{auth:{apiKey:key},source:credential?.key?"stored credential":"GOOGLE_CLOUD_API_KEY"};let adcPath=credential?.env?.GOOGLE_APPLICATION_CREDENTIALS??await env("GOOGLE_APPLICATION_CREDENTIALS");signal.throwIfAborted();let hasCredentials=await ctx.fileExists(adcPath??VERTEX_ADC_PATH);signal.throwIfAborted();let project=credential?.env?.GOOGLE_CLOUD_PROJECT??await env("GOOGLE_CLOUD_PROJECT")??await env("GCLOUD_PROJECT"),location=credential?.env?.GOOGLE_CLOUD_LOCATION??await env("GOOGLE_CLOUD_LOCATION");if(hasCredentials&&project&&location)return{auth:{},env:credential?.env,source:credential?"stored credential":"gcloud application default credentials"}}};function googleVertexProvider(){return createProvider({id:"google-vertex",name:"Google Vertex AI",auth:{apiKey:vertexAuth},models:Object.values(GOOGLE_VERTEX_MODELS),api:googleVertexApi()})}function groqProvider(){return createProvider({id:"groq",name:"Groq",baseUrl:"https://api.groq.com/openai/v1",auth:{apiKey:envApiKeyAuth("Groq API key",["GROQ_API_KEY"])},models:Object.values(GROQ_MODELS),api:openAICompletionsApi()})}function huggingfaceProvider(){return createProvider({id:"huggingface",name:"Hugging Face",baseUrl:"https://router.huggingface.co/v1",auth:{apiKey:envApiKeyAuth("Hugging Face token",["HF_TOKEN"])},models:Object.values(HUGGINGFACE_MODELS),api:openAICompletionsApi()})}function kimiCodingProvider(){return createProvider({id:"kimi-coding",name:"Kimi For Coding",baseUrl:"https://api.kimi.com/coding/v1",auth:{apiKey:envApiKeyAuth("Kimi API key",["KIMI_API_KEY"]),oauth:lazyOAuth({name:"Kimi Code (subscription)",isSubscription:!0,loginLabel:"Sign in with Kimi Code",load:loadKimiCodingOAuth})},models:Object.values(KIMI_CODING_MODELS),api:openAICompletionsApi()})}function metaProvider(){return createProvider({id:"meta",name:"Meta",baseUrl:"https://api.meta.ai/v1",auth:{apiKey:envApiKeyAuth("Meta Model API key",["META_API_KEY"]),oauth:lazyOAuth({name:"Meta (Muse subscription)",isSubscription:!0,loginLabel:"Sign in with Meta",load:loadMetaOAuth})},models:Object.values(META_MODELS),api:openAIResponsesApi()})}function minimaxProvider(){return createProvider({id:"minimax",name:"MiniMax",baseUrl:"https://api.minimax.io/anthropic",auth:{apiKey:envApiKeyAuth("MiniMax API key",["MINIMAX_API_KEY"])},models:Object.values(MINIMAX_MODELS),api:anthropicMessagesApi()})}function minimaxCnProvider(){return createProvider({id:"minimax-cn",name:"MiniMax CN",baseUrl:"https://api.minimaxi.com/anthropic",auth:{apiKey:envApiKeyAuth("MiniMax CN API key",["MINIMAX_CN_API_KEY"])},models:Object.values(MINIMAX_CN_MODELS),api:anthropicMessagesApi()})}var mistralConversationsApi=()=>lazyApi(()=>import("./mistral-conversations-NUSSE6NX.js"));function mistralProvider(){return createProvider({id:"mistral",name:"Mistral",baseUrl:"https://api.mistral.ai",auth:{apiKey:envApiKeyAuth("Mistral API key",["MISTRAL_API_KEY"])},models:Object.values(MISTRAL_MODELS),api:mistralConversationsApi()})}function moonshotaiProvider(){return createProvider({id:"moonshotai",name:"Moonshot AI",baseUrl:"https://api.moonshot.ai/v1",auth:{apiKey:envApiKeyAuth("Moonshot AI API key",["MOONSHOT_API_KEY"])},models:Object.values(MOONSHOTAI_MODELS),api:openAICompletionsApi()})}function moonshotaiCnProvider(){return createProvider({id:"moonshotai-cn",name:"Moonshot AI CN",baseUrl:"https://api.moonshot.cn/v1",auth:{apiKey:envApiKeyAuth("Moonshot AI API key",["MOONSHOT_API_KEY"])},models:Object.values(MOONSHOTAI_CN_MODELS),api:openAICompletionsApi()})}function nvidiaProvider(){return createProvider({id:"nvidia",name:"NVIDIA",baseUrl:"https://integrate.api.nvidia.com/v1",auth:{apiKey:envApiKeyAuth("NVIDIA API key",["NVIDIA_API_KEY"])},models:Object.values(NVIDIA_MODELS),api:openAICompletionsApi()})}var openAIDecisionsApi=()=>({classify:async(model,context,options)=>(await import("./openai-decisions-ENPSYANO.js")).classify(model,context,options)});function openaiProvider(){return createProvider({id:"openai",name:"OpenAI",baseUrl:"https://api.openai.com/v1",auth:{apiKey:envApiKeyAuth("OpenAI API key",["OPENAI_API_KEY"]),oauth:lazyOAuth({name:"OpenAI (ChatGPT subscription)",isSubscription:!0,loginLabel:"Sign in with ChatGPT",load:loadOpenAIChatGPTOAuth})},models:[...Object.values(OPENAI_MODELS),...Object.values(OPENAI_CLASSIFIER_MODELS)],filterAllModels:(models,credential)=>credential?.type==="oauth"?models.filter(model=>!isModelType(model,"classifier")):models,api:openAIResponsesApi(),classifiers:{"openai-decisions":openAIDecisionsApi()}})}var openAICodexResponsesApi=()=>lazyApi(()=>import("./openai-codex-responses-66UQNGWB.js"));function openaiCodexProvider(){return createProvider({id:"openai-codex",name:"OpenAI Codex (legacy)",baseUrl:"https://chatgpt.com/backend-api",auth:{oauth:lazyOAuth({name:"OpenAI (ChatGPT Plus/Pro)",isSubscription:!0,load:loadOpenAICodexOAuth})},models:Object.values(OPENAI_CODEX_MODELS),api:openAICodexResponsesApi()})}var typesafeSystemOneApi=()=>({classify:async(model,context,options)=>(await import("./typesafe-system-one-ETHWOYKC.js")).classify(model,context,options)});var OPENCODE_SESSION_HEADER="x-opencode-session";function hasHeader(headers,name){let expected=name.toLowerCase();return Object.keys(headers??{}).some(key=>key.toLowerCase()===expected)}function withSessionHeader(options){return!options?.sessionId||hasHeader(options.headers,OPENCODE_SESSION_HEADER)?options:{...options,headers:{...options.headers,[OPENCODE_SESSION_HEADER]:options.sessionId}}}function withOpenCodeSessionHeader(streams){return{...streams,stream:(model,context,options)=>streams.stream(model,context,withSessionHeader(options)),streamSimple:(model,context,options)=>streams.streamSimple(model,context,withSessionHeader(options))}}function opencodeProvider(){return createProvider({id:"opencode",name:"OpenCode Zen",auth:{apiKey:envApiKeyAuth("OpenCode API key",["OPENCODE_API_KEY"])},models:[...Object.values(OPENCODE_MODELS),...Object.values(OPENCODE_CLASSIFIER_MODELS)],api:{"anthropic-messages":withOpenCodeSessionHeader(anthropicMessagesApi()),"google-generative-ai":withOpenCodeSessionHeader(googleGenerativeAIApi()),"openai-completions":withOpenCodeSessionHeader(openAICompletionsApi()),"openai-responses":withOpenCodeSessionHeader(openAIResponsesApi())},classifiers:{"typesafe-system-one":typesafeSystemOneApi()}})}function opencodeGoProvider(){return createProvider({id:"opencode-go",name:"OpenCode Go",auth:{apiKey:envApiKeyAuth("OpenCode API key",["OPENCODE_API_KEY"])},models:Object.values(OPENCODE_GO_MODELS),api:{"anthropic-messages":withOpenCodeSessionHeader(anthropicMessagesApi()),"google-generative-ai":withOpenCodeSessionHeader(googleGenerativeAIApi()),"openai-completions":withOpenCodeSessionHeader(openAICompletionsApi()),"openai-responses":withOpenCodeSessionHeader(openAIResponsesApi())}})}var openrouterImagesApi=()=>({generateImages:async(model,context,options)=>(await import("./openrouter-images-ZI7LLZ4Y.js")).generateImages(model,context,options)});function perMillion(value,fallback){let perToken=Number.parseFloat(value??"");return perToken>=0?Number((perToken*1e6).toFixed(6)):fallback}function openRouterCost(pricing){let base={input:perMillion(pricing?.prompt,0),output:perMillion(pricing?.completion,0),cacheRead:perMillion(pricing?.input_cache_read,0),cacheWrite:perMillion(pricing?.input_cache_write,0)},tiers=(pricing?.overrides??[]).flatMap(override=>override.min_prompt_tokens===void 0||override.utc_start!==void 0||override.utc_end!==void 0||override.utc_days!==void 0?[]:[{inputTokensAbove:override.min_prompt_tokens,input:perMillion(override.prompt,base.input),output:perMillion(override.completion,base.output),cacheRead:perMillion(override.input_cache_read,base.cacheRead),cacheWrite:perMillion(override.input_cache_write,base.cacheWrite)}]);return tiers.length>0?{...base,tiers}:base}var OPENROUTER_BASE_URL="https://openrouter.ai/api/v1",OPENROUTER_USER_MODELS_TIMEOUT_MS=15e3;async function personalizeOpenRouterCatalog(catalog,context){let key=context.credential?.type==="oauth"?context.credential.access:context.credential?.key;if(!key)return catalog;let response=await fetch(`${(context.baseUrl??OPENROUTER_BASE_URL).replace(/\/+$/,"")}/models/user`,{headers:{accept:"application/json",authorization:`Bearer ${key}`},signal:AbortSignal.any([context.signal,AbortSignal.timeout(OPENROUTER_USER_MODELS_TIMEOUT_MS)])});if(response.status===401||response.status===403||response.status===404)return catalog;if(!response.ok)throw new Error(`OpenRouter model list request failed: ${response.status}`);let body=await response.json();if(typeof body!="object"||body===null||!("data"in body)||!Array.isArray(body.data))throw new Error("Invalid OpenRouter model list response");let allowed=new Map;for(let entry of body.data)typeof entry=="object"&&entry!==null&&"id"in entry&&typeof entry.id=="string"&&allowed.set(entry.id,entry);return catalog.flatMap(model=>{if(!isModelType(model,"chat"))return[model];let entry=allowed.get(model.id);return entry?[{...model,contextWindow:entry.top_provider?.context_length||entry.context_length||model.contextWindow,maxTokens:entry.top_provider?.max_completion_tokens||model.maxTokens,cost:entry.pricing?openRouterCost(entry.pricing):model.cost}]:[]})}function openrouterProvider(){return createProvider({id:"openrouter",name:"OpenRouter",baseUrl:OPENROUTER_BASE_URL,auth:{apiKey:envApiKeyAuth("OpenRouter API key",["OPENROUTER_API_KEY"]),oauth:lazyOAuth({name:"OpenRouter OAuth",loginLabel:"Sign in with OpenRouter",load:loadOpenRouterOAuth})},models:[...Object.values(OPENROUTER_MODELS),...Object.values(OPENROUTER_IMAGE_MODELS),...Object.values(OPENROUTER_CLASSIFIER_MODELS)],api:{"anthropic-messages":anthropicMessagesApi(),"openai-completions":openAICompletionsApi()},images:{"openrouter-images":openrouterImagesApi()},classifiers:{"typesafe-system-one":typesafeSystemOneApi()}})}function qwenTokenPlanProvider(){return createProvider({id:"qwen-token-plan",name:"Qwen Token Plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",auth:{apiKey:envApiKeyAuth("Qwen Token Plan API key",["QWEN_TOKEN_PLAN_API_KEY"])},models:Object.values(QWEN_TOKEN_PLAN_MODELS),api:openAICompletionsApi()})}function qwenTokenPlanCnProvider(){return createProvider({id:"qwen-token-plan-cn",name:"Qwen Token Plan CN",baseUrl:"https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",auth:{apiKey:envApiKeyAuth("Qwen Token Plan CN API key",["QWEN_TOKEN_PLAN_CN_API_KEY"])},models:Object.values(QWEN_TOKEN_PLAN_CN_MODELS),api:openAICompletionsApi()})}function qwenTokenPlanIndividualProvider(){return createProvider({id:"qwen-token-plan-individual",name:"Qwen Token Plan Individual",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",auth:{apiKey:envApiKeyAuth("Qwen Token Plan Individual API key",["QWEN_TOKEN_PLAN_API_KEY"])},models:Object.values(QWEN_TOKEN_PLAN_INDIVIDUAL_MODELS),api:openAICompletionsApi()})}var knightCodeMessagesApi=()=>lazyApi(()=>import("./knightcode-messages-3GNOTMSI.js"));var DEFAULT_RADIUS_GATEWAY="https://radius.pi.dev";function hasCostRates(value){if(typeof value!="object"||value===null||Array.isArray(value))return!1;let cost=value;return["input","output","cacheRead","cacheWrite"].every(rate=>{let amount=cost[rate];return typeof amount=="number"&&Number.isFinite(amount)&&amount>=0})}function isRadiusGatewayCost(value){if(!hasCostRates(value))return!1;let{tiers}=value;return tiers===void 0?!0:Array.isArray(tiers)&&tiers.every(tier=>hasCostRates(tier)&&typeof tier.inputTokensAbove=="number")}function isRadiusGatewayModel(value){if(typeof value!="object"||value===null||Array.isArray(value))return!1;let model=value;return typeof model.id=="string"&&typeof model.name=="string"&&typeof model.reasoning=="boolean"&&Array.isArray(model.input)&&isRadiusGatewayCost(model.cost)&&typeof model.contextWindow=="number"&&typeof model.maxTokens=="number"}function sanitizeRadiusGatewayConfig(config){if(typeof config!="object"||config===null||Array.isArray(config))return;let{baseUrl,models}=config;if(!(typeof baseUrl!="string"||!Array.isArray(models))&&models.every(isRadiusGatewayModel))return{baseUrl,models:models.map(model=>({...model}))}}function normalizeRadiusGatewayUrl(value){return(/^https?:\/\//iu.test(value)?value:`https://${value}`).replace(/\/+$/u,"")}function getRadiusCredentialConfig(credential){return sanitizeRadiusGatewayConfig(credential?.gatewayConfig)}function getRadiusModelsFromConfig(providerId,config){return config.models.map(model=>({...model,api:"knightcode-messages",provider:providerId,baseUrl:config.baseUrl}))}function getRadiusModels(providerId,credential){let config=getRadiusCredentialConfig(credential);return config?getRadiusModelsFromConfig(providerId,config):[]}function truncateHttpBody(body){let trimmed=body.trim();return trimmed.length>512?`${trimmed.slice(0,512)}\u2026`:trimmed}async function loadRadiusGatewayConfig(gateway,apiKey,signal){let headers={accept:"application/json"};apiKey&&(headers.authorization=`Bearer ${apiKey}`);let response=await fetch(new URL("/v1/config",gateway),{headers,signal});if(!response.ok)throw new Error(`Could not load Radius config from ${gateway}: ${response.status}: ${truncateHttpBody(await response.text())}`);let config=sanitizeRadiusGatewayConfig(await response.json());if(!config)throw new Error(`Invalid Radius config from ${gateway}`);return config}function radiusProvider(options={}){let id=options.id??"radius",name=options.name??"Radius",gateway=normalizeRadiusGatewayUrl(options.gateway??DEFAULT_RADIUS_GATEWAY),baselineModels=gateway===normalizeRadiusGatewayUrl(DEFAULT_RADIUS_GATEWAY)?Object.values(RADIUS_MODELS).map(model=>({...model,provider:id})):[],dynamicModels,streams=knightCodeMessagesApi();return{id,name,auth:{apiKey:envApiKeyAuth("Radius API key",["RADIUS_API_KEY"]),oauth:lazyOAuth({name,load:()=>loadRadiusOAuth({name,gateway})})},getModels:()=>dynamicModels??baselineModels,refreshModels:async context=>{let stored=context.stored;if(stored){let restored=stored.models.filter(model=>model.provider===id);if(!await context.publish({update:()=>{dynamicModels=restored}}))return}if(!stored&&context.credential?.type==="oauth"){let legacy=getRadiusModels(id,context.credential);if(legacy.length>0&&!await context.publish({persist:{models:legacy,checkedAt:Date.now()},update:()=>{dynamicModels=legacy}}))return}if(!context.allowNetwork||context.signal.aborted)return;let apiKey=context.credential?.type==="oauth"?context.credential.access:context.credential?.key,config=await loadRadiusGatewayConfig(gateway,apiKey,context.signal);if(context.signal.aborted)return;let refreshed=getRadiusModelsFromConfig(id,config);await context.publish({persist:{models:refreshed,checkedAt:Date.now()},update:()=>{dynamicModels=refreshed}})},stream:(model,context,streamOptions)=>streams.stream(model,context,streamOptions),streamSimple:(model,context,streamOptions)=>streams.streamSimple(model,context,streamOptions)}}function togetherProvider(){return createProvider({id:"together",name:"Together",baseUrl:"https://api.together.ai/v1",auth:{apiKey:envApiKeyAuth("Together API key",["TOGETHER_API_KEY"])},models:Object.values(TOGETHER_MODELS),api:openAICompletionsApi()})}function typesafeProvider(){return createProvider({id:"typesafe",name:"TypeSafe",auth:{apiKey:envApiKeyAuth("TypeSafe API key",["TYPESAFE_API_KEY"])},models:Object.values(TYPESAFE_CLASSIFIER_MODELS),classifiers:{"typesafe-system-one":typesafeSystemOneApi()}})}function vercelAIGatewayProvider(){return createProvider({id:"vercel-ai-gateway",name:"Vercel AI Gateway",baseUrl:"https://ai-gateway.vercel.sh",auth:{apiKey:envApiKeyAuth("Vercel AI Gateway API key",["AI_GATEWAY_API_KEY"])},models:[...Object.values(VERCEL_AI_GATEWAY_MODELS),...Object.values(VERCEL_AI_GATEWAY_CLASSIFIER_MODELS)],api:anthropicMessagesApi(),classifiers:{"typesafe-system-one":typesafeSystemOneApi()}})}function xaiProvider(){return createProvider({id:"xai",name:"xAI",baseUrl:"https://api.x.ai/v1",auth:{apiKey:envApiKeyAuth("xAI API key",["XAI_API_KEY"]),oauth:lazyOAuth({name:"xAI (Grok/X subscription)",isSubscription:!0,loginLabel:"Sign in with SuperGrok or X Premium",load:loadXaiOAuth})},models:Object.values(XAI_MODELS),api:openAIResponsesApi()})}function xiaomiProvider(){return createProvider({id:"xiaomi",name:"Xiaomi",baseUrl:"https://api.xiaomimimo.com/v1",auth:{apiKey:envApiKeyAuth("Xiaomi API key",["XIAOMI_API_KEY"])},models:Object.values(XIAOMI_MODELS),api:openAICompletionsApi()})}function xiaomiTokenPlanAmsProvider(){return createProvider({id:"xiaomi-token-plan-ams",name:"Xiaomi Token Plan AMS",baseUrl:"https://token-plan-ams.xiaomimimo.com/v1",auth:{apiKey:envApiKeyAuth("Xiaomi Token Plan AMS API key",["XIAOMI_TOKEN_PLAN_AMS_API_KEY"])},models:Object.values(XIAOMI_TOKEN_PLAN_AMS_MODELS),api:openAICompletionsApi()})}function xiaomiTokenPlanCnProvider(){return createProvider({id:"xiaomi-token-plan-cn",name:"Xiaomi Token Plan CN",baseUrl:"https://token-plan-cn.xiaomimimo.com/v1",auth:{apiKey:envApiKeyAuth("Xiaomi Token Plan CN API key",["XIAOMI_TOKEN_PLAN_CN_API_KEY"])},models:Object.values(XIAOMI_TOKEN_PLAN_CN_MODELS),api:openAICompletionsApi()})}function xiaomiTokenPlanSgpProvider(){return createProvider({id:"xiaomi-token-plan-sgp",name:"Xiaomi Token Plan SGP",baseUrl:"https://token-plan-sgp.xiaomimimo.com/v1",auth:{apiKey:envApiKeyAuth("Xiaomi Token Plan SGP API key",["XIAOMI_TOKEN_PLAN_SGP_API_KEY"])},models:Object.values(XIAOMI_TOKEN_PLAN_SGP_MODELS),api:openAICompletionsApi()})}function zaiProvider(){return createProvider({id:"zai",name:"Z.AI",baseUrl:"https://api.z.ai/api/coding/paas/v4",auth:{apiKey:envApiKeyAuth("Z.AI API key",["ZAI_API_KEY"])},models:Object.values(ZAI_MODELS),api:openAICompletionsApi()})}function zaiCodingCnProvider(){return createProvider({id:"zai-coding-cn",name:"Z.AI Coding CN",baseUrl:"https://open.bigmodel.cn/api/coding/paas/v4",auth:{apiKey:envApiKeyAuth("Z.AI Coding CN API key",["ZAI_CODING_CN_API_KEY"])},models:Object.values(ZAI_CODING_CN_MODELS),api:openAICompletionsApi()})}function getBuiltinModel(provider,modelId){return MODELS[provider]?.[modelId]}function getBuiltinImageModel(provider,modelId){return IMAGE_MODELS[provider]?.[modelId]}function getBuiltinClassifierModel(provider,modelId){return CLASSIFIER_MODELS[provider]?.[modelId]}function getBuiltinProviders(){return Object.keys(MODELS)}function getBuiltinModelDataGeneratedAt(){let generatedAt=Date.parse(manifest_default.generatedAt);return Number.isNaN(generatedAt)?void 0:generatedAt}function getBuiltinModels(provider){let models=MODELS[provider];return Object.values(models??{})}function getBuiltinImageModels(provider){let models=IMAGE_MODELS[provider];return Object.values(models??{})}function getBuiltinClassifierModels(provider){let models=CLASSIFIER_MODELS[provider];return Object.values(models??{})}function getAllBuiltinModels(provider){return[...getBuiltinModels(provider),...getBuiltinImageModels(provider),...getBuiltinClassifierModels(provider)]}function builtinProviders(){return[agentrouterProvider(),amazonBedrockProvider(),antLingProvider(),anthropicProvider(),azureProvider(),basetenProvider(),cerebrasProvider(),cloudflareAIGatewayProvider(),cloudflareWorkersAIProvider(),deepseekProvider(),fireworksProvider(),githubCopilotProvider(),googleProvider(),googleVertexProvider(),groqProvider(),huggingfaceProvider(),kimiCodingProvider(),metaProvider(),minimaxProvider(),minimaxCnProvider(),mistralProvider(),moonshotaiProvider(),moonshotaiCnProvider(),nvidiaProvider(),openaiProvider(),openaiCodexProvider(),opencodeProvider(),opencodeGoProvider(),openrouterProvider(),qwenTokenPlanProvider(),qwenTokenPlanCnProvider(),qwenTokenPlanIndividualProvider(),radiusProvider(),togetherProvider(),typesafeProvider(),vercelAIGatewayProvider(),xaiProvider(),xiaomiProvider(),xiaomiTokenPlanAmsProvider(),xiaomiTokenPlanCnProvider(),xiaomiTokenPlanSgpProvider(),zaiProvider(),zaiCodingCnProvider()]}function builtinModels(options){let models=createModels(options);for(let provider of builtinProviders())models.setProvider(provider);return models}var compat_exports={};__export(compat_exports,{AI_TELEMETRY_SCHEMA:()=>AI_TELEMETRY_SCHEMA,ANTHROPIC_API_KEY_ENV:()=>ANTHROPIC_API_KEY_ENV,ANTHROPIC_AUTH_TOKEN_ENV:()=>ANTHROPIC_AUTH_TOKEN_ENV,ANTHROPIC_FEDERATION_RULE_ID_ENV:()=>ANTHROPIC_FEDERATION_RULE_ID_ENV,ANTHROPIC_IDENTITY_TOKEN_FILE_ENV:()=>ANTHROPIC_IDENTITY_TOKEN_FILE_ENV,ANTHROPIC_OAUTH_TOKEN_ENV:()=>ANTHROPIC_OAUTH_TOKEN_ENV,ANTHROPIC_ORGANIZATION_ID_ENV:()=>ANTHROPIC_ORGANIZATION_ID_ENV,ANTHROPIC_SERVICE_ACCOUNT_ID_ENV:()=>ANTHROPIC_SERVICE_ACCOUNT_ID_ENV,ANTHROPIC_WORKSPACE_ID_ENV:()=>ANTHROPIC_WORKSPACE_ID_ENV,AssistantMessageEventStream:()=>AssistantMessageEventStream,DEFAULT_MAX_AGENT_RETRY_DELAY_MS:()=>DEFAULT_MAX_AGENT_RETRY_DELAY_MS,EventStream:()=>EventStream,InMemoryCredentialStore:()=>InMemoryCredentialStore,InMemoryModelsStore:()=>InMemoryModelsStore,ModelsError:()=>ModelsError,StringEnum:()=>StringEnum,Type:()=>typebox_exports,anthropicMessagesApi:()=>anthropicMessagesApi,appendAssistantMessageDiagnostic:()=>appendAssistantMessageDiagnostic,azureOpenAIResponsesApi:()=>azureOpenAIResponsesApi,bedrockConverseStreamApi:()=>bedrockConverseStreamApi,calculateCost:()=>calculateCost,clampThinkingLevel:()=>clampThinkingLevel,cleanupSessionResources:()=>cleanupSessionResources,collapseSystemMessages:()=>collapseSystemMessages,complete:()=>complete,completeSimple:()=>completeSimple,contentText:()=>contentText,createAssistantMessageDiagnostic:()=>createAssistantMessageDiagnostic,createAssistantMessageEventStream:()=>createAssistantMessageEventStream,createFauxCore:()=>createFauxCore,createInitialSystemMessage:()=>createInitialSystemMessage,createModels:()=>createModels,createProvider:()=>createProvider,declarationsEqual:()=>declarationsEqual,defaultProviderAuthContext:()=>defaultProviderAuthContext,envApiKeyAuth:()=>envApiKeyAuth,extractDiagnosticError:()=>extractDiagnosticError,fauxAssistantMessage:()=>fauxAssistantMessage,fauxProvider:()=>fauxProvider,fauxText:()=>fauxText,fauxThinking:()=>fauxThinking,fauxToolCall:()=>fauxToolCall,findEnvKeys:()=>findEnvKeys,findNonJson:()=>findNonJson,formatThrownValue:()=>formatThrownValue,generateImages:()=>generateImages,generateImagesOpenRouter:()=>generateImagesOpenRouter,getApiProvider:()=>getApiProvider,getApiProviders:()=>getApiProviders,getCurrentSystemMessage:()=>getCurrentSystemMessage,getCurrentSystemPrompt:()=>getCurrentSystemPrompt,getCurrentTools:()=>getCurrentTools,getDeclaredTools:()=>getDeclaredTools,getEnvApiKey:()=>getEnvApiKey,getImageModel:()=>getImageModel,getImageModels:()=>getImageModels,getImageProviders:()=>getImageProviders,getImagesApiProvider:()=>getImagesApiProvider,getInitialSystemMessage:()=>getInitialSystemMessage,getModel:()=>getModel,getModelType:()=>getModelType,getModels:()=>getModels,getOverflowPatterns:()=>getOverflowPatterns,getProviders:()=>getProviders,getSupportedThinkingLevels:()=>getSupportedThinkingLevels,getSystemMessageText:()=>getSystemMessageText,getToolStateChanges:()=>getToolStateChanges,googleGenerativeAIApi:()=>googleGenerativeAIApi,googleVertexApi:()=>googleVertexApi,hasApi:()=>hasApi,hasNonAdditiveToolChanges:()=>hasNonAdditiveToolChanges,hasToolRedefinitions:()=>hasToolRedefinitions,isContextOverflow:()=>isContextOverflow,isModelType:()=>isModelType,isRecoverableLength:()=>isRecoverableLength,isRetryableAssistantError:()=>isRetryableAssistantError,knightCodeMessagesApi:()=>knightCodeMessagesApi,lazyApi:()=>lazyApi,lazyOAuth:()=>lazyOAuth,lazyStream:()=>lazyStream,mistralConversationsApi:()=>mistralConversationsApi,modelsAreEqual:()=>modelsAreEqual,normalizeContext:()=>normalizeContext,openAICodexResponsesApi:()=>openAICodexResponsesApi,openAICompletionsApi:()=>openAICompletionsApi,openAIResponsesApi:()=>openAIResponsesApi,parseJsonWithRepair:()=>parseJsonWithRepair,parseStreamingJson:()=>parseStreamingJson,parseToolCallArguments:()=>parseToolCallArguments,registerApiProvider:()=>registerApiProvider,registerBuiltInApiProviders:()=>registerBuiltInApiProviders,registerBuiltInImagesApiProviders:()=>registerBuiltInImagesApiProviders,registerFauxProvider:()=>registerFauxProvider,registerImagesApiProvider:()=>registerImagesApiProvider,registerSessionResourceCleanup:()=>registerSessionResourceCleanup,renderSystemMessageUpdate:()=>renderSystemMessageUpdate,repairJson:()=>repairJson,resetApiProviders:()=>resetApiProviders,resolveTranscript:()=>resolveTranscript,resolveTranscriptTools:()=>resolveTranscriptTools,retryAssistantCall:()=>retryAssistantCall,retryDelayMs:()=>retryDelayMs,setBedrockProviderModule:()=>setBedrockProviderModule,stream:()=>stream,streamAnthropic:()=>streamAnthropic,streamAzureOpenAIResponses:()=>streamAzureOpenAIResponses,streamGoogle:()=>streamGoogle,streamGoogleVertex:()=>streamGoogleVertex,streamMistral:()=>streamMistral,streamOpenAICodexResponses:()=>streamOpenAICodexResponses,streamOpenAICompletions:()=>streamOpenAICompletions,streamOpenAIResponses:()=>streamOpenAIResponses,streamSimple:()=>streamSimple,streamSimpleAnthropic:()=>streamSimpleAnthropic,streamSimpleAzureOpenAIResponses:()=>streamSimpleAzureOpenAIResponses,streamSimpleGoogle:()=>streamSimpleGoogle,streamSimpleGoogleVertex:()=>streamSimpleGoogleVertex,streamSimpleMistral:()=>streamSimpleMistral,streamSimpleOpenAICodexResponses:()=>streamSimpleOpenAICodexResponses,streamSimpleOpenAICompletions:()=>streamSimpleOpenAICompletions,streamSimpleOpenAIResponses:()=>streamSimpleOpenAIResponses,toToolDeclaration:()=>toToolDeclaration,unregisterApiProviders:()=>unregisterApiProviders,uuidv7:()=>uuidv7,validateToolArguments:()=>validateToolArguments,validateToolCall:()=>validateToolCall,withoutInitialSystemMessage:()=>withoutInitialSystemMessage});var imageModelsByProvider=new Map;for(let[provider,models]of Object.entries(IMAGE_MODELS)){let imageModels=new Map;for(let model of Object.values(models))imageModels.set(model.id,model);imageModels.size>0&&imageModelsByProvider.set(provider,imageModels)}function getImageModel(provider,modelId){return imageModelsByProvider.get(provider)?.get(modelId)}function getImageProviders(){return Array.from(imageModelsByProvider.keys())}function getImageModels(provider){let models=imageModelsByProvider.get(provider);return models?Array.from(models.values()):[]}var imagesApiProviderRegistry=new Map;function wrapGenerateImages(api,generateImages2){return(model,context,options)=>{if(model.api!==api)throw new Error(`Mismatched api: ${model.api} expected ${api}`);return generateImages2(model,context,options)}}function registerImagesApiProvider(provider,sourceId){imagesApiProviderRegistry.set(provider.api,{provider:{api:provider.api,generateImages:wrapGenerateImages(provider.api,provider.generateImages)},sourceId})}function getImagesApiProvider(api){return imagesApiProviderRegistry.get(api)?.provider}var openRouterImagesProviderModulePromise;function createLazyLoadErrorImages(model,error){return{api:model.api,provider:model.provider,model:model.id,output:[],stopReason:"error",errorMessage:error instanceof Error?error.message:String(error),timestamp:Date.now()}}function loadOpenRouterImagesProviderModule(){return openRouterImagesProviderModulePromise||=import("./openrouter-images-ZI7LLZ4Y.js").then(module=>module),openRouterImagesProviderModulePromise}var generateImagesOpenRouter=async(model,context,options)=>{try{return await(await loadOpenRouterImagesProviderModule()).generateImages(model,context,options)}catch(error){return createLazyLoadErrorImages(model,error)}};function registerBuiltInImagesApiProviders(){registerImagesApiProvider({api:"openrouter-images",generateImages:generateImagesOpenRouter})}registerBuiltInImagesApiProviders();function resolveImagesApiProvider(api){let provider=getImagesApiProvider(api);if(!provider)throw new Error(`No API provider registered for api: ${api}`);return provider}async function generateImages(model,context,options){return resolveImagesApiProvider(model.api).generateImages(model,context,options)}var DEFAULT_API="faux",DEFAULT_PROVIDER="faux",DEFAULT_MODEL_ID="faux-1",DEFAULT_MODEL_NAME="Faux Model",DEFAULT_BASE_URL="http://localhost:0",DEFAULT_MIN_TOKEN_SIZE=3,DEFAULT_MAX_TOKEN_SIZE=5,DEFAULT_USAGE={input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}};function fauxText(text){return{type:"text",text}}function fauxThinking(thinking){return{type:"thinking",thinking}}function fauxToolCall(name,arguments_,options={}){return{type:"toolCall",id:options.id??randomId("tool"),name,arguments:arguments_}}function normalizeFauxAssistantContent(content){return typeof content=="string"?[fauxText(content)]:Array.isArray(content)?content:[content]}function fauxAssistantMessage(content,options={}){return{role:"assistant",content:normalizeFauxAssistantContent(content),api:DEFAULT_API,provider:DEFAULT_PROVIDER,model:DEFAULT_MODEL_ID,usage:DEFAULT_USAGE,stopReason:options.stopReason??"stop",...options.deferred===void 0?{}:{deferred:options.deferred},...options.errorMessage===void 0?{}:{errorMessage:options.errorMessage},...options.responseId===void 0?{}:{responseId:options.responseId},timestamp:options.timestamp??Date.now()}}function estimateTokens(text){return Math.ceil(text.length/4)}function randomId(prefix){return`${prefix}:${Date.now()}:${Math.random().toString(36).slice(2)}`}function contentToText(content){return typeof content=="string"?content:content.map(block=>block.type==="text"?block.text:`[image:${block.mimeType}:${block.data.length}]`).join(`
|
|
6
|
-
`)}function assistantContentToText(content){return content.map(block=>block.type==="text"?block.text:block.type==="thinking"?block.thinking:`${block.name}:${JSON.stringify(block.arguments)}`).join(`
|
|
7
|
-
`)}function toolResultToText(message){return[message.toolName,...message.content.map(block=>contentToText([block]))].join(`
|
|
8
|
-
`)}function messageToText(message){return message.role==="system"?[getSystemMessageText(message),...message.toolsRemoved?.map(tool=>`tool-:${JSON.stringify(tool)}`)??[],...message.toolsAdded?.map(tool=>`tool+:${JSON.stringify(tool)}`)??[]].filter(part=>part.length>0).join(`
|
|
9
|
-
`):message.role==="user"?contentToText(message.content):message.role==="assistant"?assistantContentToText(message.content):toolResultToText(message)}function joinedLength(messages,count=messages.length){let length=count>0?(count-1)*2:0;for(let index3=0;index3<count;index3++)length+=messages[index3].length;return length}function commonPromptPrefixLength(previous,current){let index3=0;for(;index3<previous.length&&index3<current.length&&previous[index3]===current[index3];)index3++;let rest=messages=>index3===messages.length?"":(index3>0?`
|
|
10
|
-
|
|
11
|
-
`:"")+messages.slice(index3).join(`
|
|
12
|
-
|
|
13
|
-
`);return joinedLength(previous,index3)+commonPrefixLength(rest(previous),rest(current))}function commonPrefixLength(a,b){let length=Math.min(a.length,b.length),index3=0;for(;index3<length&&a[index3]===b[index3];)index3++;return index3}function withUsageEstimate(message,context,options,promptCache){let prompt=context.messages.map(message2=>`${message2.role}:${messageToText(message2)}`),promptLength=joinedLength(prompt),promptTokens=Math.ceil(promptLength/4),outputTokens=estimateTokens(assistantContentToText(message.content)),input=promptTokens,cacheRead=0,cacheWrite=0,sessionId=options?.sessionId;if(sessionId&&options?.cacheRetention!=="none"){let previousPrompt=promptCache.get(sessionId);if(previousPrompt){let cachedChars=commonPromptPrefixLength(previousPrompt,prompt);cacheRead=Math.ceil(cachedChars/4),cacheWrite=Math.ceil((promptLength-cachedChars)/4),input=Math.max(0,promptTokens-cacheRead)}else cacheWrite=promptTokens;promptCache.set(sessionId,prompt)}return{...message,usage:{input,output:outputTokens,cacheRead,cacheWrite,totalTokens:input+outputTokens+cacheRead+cacheWrite,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}}}}function splitStringByTokenSize(text,minTokenSize,maxTokenSize){let chunks=[],index3=0;for(;index3<text.length;){let tokenSize=minTokenSize+Math.floor(Math.random()*(maxTokenSize-minTokenSize+1)),charSize=Math.max(1,tokenSize*4);chunks.push(text.slice(index3,index3+charSize)),index3+=charSize}return chunks.length>0?chunks:[""]}function cloneMessage(message,api,provider,modelId){let cloned=structuredClone(message);return{...cloned,api,provider,model:modelId,timestamp:cloned.timestamp??Date.now(),usage:cloned.usage??DEFAULT_USAGE}}function createDeferredMessage(model,handle){return{role:"assistant",content:[],api:model.api,provider:model.provider,model:model.id,usage:DEFAULT_USAGE,stopReason:"deferred",deferred:handle,timestamp:Date.now()}}function createErrorMessage(error,api,provider,modelId){return{role:"assistant",content:[],api,provider,model:modelId,usage:DEFAULT_USAGE,stopReason:"error",errorMessage:error instanceof Error?error.message:String(error),timestamp:Date.now()}}function createAbortedMessage(partial){return{...partial,stopReason:"aborted",errorMessage:"Request was aborted",timestamp:Date.now()}}function scheduleChunk(chunk,tokensPerSecond){if(!tokensPerSecond||tokensPerSecond<=0)return new Promise(resolve=>queueMicrotask(resolve));let delayMs=estimateTokens(chunk)/tokensPerSecond*1e3;return new Promise(resolve=>setTimeout(resolve,delayMs))}async function streamWithDeltas(stream2,message,minTokenSize,maxTokenSize,tokensPerSecond,signal){let partial={...message,content:[],stopReason:"pending"};if(signal?.aborted){let aborted=createAbortedMessage(partial);stream2.push({type:"error",reason:"aborted",error:aborted}),stream2.end(aborted);return}stream2.push({type:"start",partial:{...partial}});for(let index3=0;index3<message.content.length;index3++){if(signal?.aborted){let aborted=createAbortedMessage(partial);stream2.push({type:"error",reason:"aborted",error:aborted}),stream2.end(aborted);return}let block=message.content[index3];if(block.type==="thinking"){partial.content=[...partial.content,{type:"thinking",thinking:""}],stream2.push({type:"thinking_start",contentIndex:index3,partial:{...partial}});for(let chunk of splitStringByTokenSize(block.thinking,minTokenSize,maxTokenSize)){if(await scheduleChunk(chunk,tokensPerSecond),signal?.aborted){let aborted=createAbortedMessage(partial);stream2.push({type:"error",reason:"aborted",error:aborted}),stream2.end(aborted);return}partial.content[index3].thinking+=chunk,stream2.push({type:"thinking_delta",contentIndex:index3,delta:chunk,partial:{...partial}})}stream2.push({type:"thinking_end",contentIndex:index3,content:block.thinking,partial:{...partial}});continue}if(block.type==="text"){partial.content=[...partial.content,{type:"text",text:""}],stream2.push({type:"text_start",contentIndex:index3,partial:{...partial}});for(let chunk of splitStringByTokenSize(block.text,minTokenSize,maxTokenSize)){if(await scheduleChunk(chunk,tokensPerSecond),signal?.aborted){let aborted=createAbortedMessage(partial);stream2.push({type:"error",reason:"aborted",error:aborted}),stream2.end(aborted);return}partial.content[index3].text+=chunk,stream2.push({type:"text_delta",contentIndex:index3,delta:chunk,partial:{...partial}})}stream2.push({type:"text_end",contentIndex:index3,content:block.text,partial:{...partial}});continue}partial.content=[...partial.content,{type:"toolCall",id:block.id,name:block.name,arguments:{}}],stream2.push({type:"toolcall_start",contentIndex:index3,partial:{...partial}});for(let chunk of splitStringByTokenSize(JSON.stringify(block.arguments),minTokenSize,maxTokenSize)){if(await scheduleChunk(chunk,tokensPerSecond),signal?.aborted){let aborted=createAbortedMessage(partial);stream2.push({type:"error",reason:"aborted",error:aborted}),stream2.end(aborted);return}stream2.push({type:"toolcall_delta",contentIndex:index3,delta:chunk,partial:{...partial}})}partial.content[index3].arguments=block.arguments,stream2.push({type:"toolcall_end",contentIndex:index3,toolCall:block,partial:{...partial}})}if(message.stopReason==="pending")throw new Error("Faux response ended without a stop reason");if(message.stopReason==="error"||message.stopReason==="aborted"){stream2.push({type:"error",reason:message.stopReason,error:message}),stream2.end(message);return}stream2.push({type:"done",reason:message.stopReason,message}),stream2.end(message)}function createFauxCore(options){let api=options.api??randomId(DEFAULT_API),provider=options.provider??DEFAULT_PROVIDER,minTokenSize=Math.max(1,Math.min(options.tokenSize?.min??DEFAULT_MIN_TOKEN_SIZE,options.tokenSize?.max??DEFAULT_MAX_TOKEN_SIZE)),maxTokenSize=Math.max(minTokenSize,options.tokenSize?.max??DEFAULT_MAX_TOKEN_SIZE),pendingResponses=[],tokensPerSecond=options.tokensPerSecond,state2={callCount:0,deferredFetchCount:0,cancelledDeferred:[]},promptCache=new Map,deferredResponses=new Map,models=(options.models?.length?options.models:[{id:DEFAULT_MODEL_ID,name:DEFAULT_MODEL_NAME,reasoning:!1,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384}]).map(definition=>({id:definition.id,name:definition.name??definition.id,api,provider,baseUrl:DEFAULT_BASE_URL,reasoning:definition.reasoning??!1,input:definition.input??["text","image"],inputLimits:definition.inputLimits,cost:definition.cost??{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:definition.contextWindow??128e3,maxTokens:definition.maxTokens??16384})),resolveResponse=async(step,context,streamOptions,requestModel)=>{let resolved=typeof step=="function"?await step(context,streamOptions,state2,requestModel):step;return withUsageEstimate(cloneMessage(resolved,api,provider,requestModel.id),context,streamOptions,promptCache)},stream2=(requestModel,context,streamOptions)=>{let outer=createAssistantMessageEventStream(),step=pendingResponses.shift();return state2.callCount++,queueMicrotask(async()=>{try{if(await streamOptions?.onResponse?.({status:200,headers:{}},requestModel),!step){let message2=createErrorMessage(new Error("No more faux responses queued"),api,provider,requestModel.id);message2=withUsageEstimate(message2,context,streamOptions,promptCache),outer.push({type:"error",reason:"error",error:message2}),outer.end(message2);return}if(streamOptions?.deferred){let handle={provider:requestModel.provider,modelId:requestModel.id,api:requestModel.api,id:randomId("deferred"),...options.deferred?.pollAfterMs!==void 0?{pollAfterMs:options.deferred.pollAfterMs}:{}};deferredResponses.set(handle.id,{handle,step,context,options:streamOptions,model:requestModel,pendingFetches:Math.max(0,Math.floor(options.deferred?.pendingFetches??0)),cancelled:!1}),await streamWithDeltas(outer,createDeferredMessage(requestModel,handle),minTokenSize,maxTokenSize,tokensPerSecond,streamOptions.signal);return}let message=await resolveResponse(step,context,streamOptions,requestModel);await streamWithDeltas(outer,message,minTokenSize,maxTokenSize,tokensPerSecond,streamOptions?.signal)}catch(error){let message=createErrorMessage(error,api,provider,requestModel.id);outer.push({type:"error",reason:"error",error:message}),outer.end(message)}}),outer},streamSimple2=(streamModel,context,streamOptions)=>stream2(streamModel,context,streamOptions),fetchDeferred=(requestModel,handle,fetchOptions)=>{let outer=createAssistantMessageEventStream();return state2.deferredFetchCount++,queueMicrotask(async()=>{try{await fetchOptions?.onResponse?.({status:200,headers:{}},requestModel);let entry=deferredResponses.get(handle.id);if(!entry||entry.handle.provider!==handle.provider||entry.handle.modelId!==handle.modelId||entry.handle.api!==handle.api)throw new Error(`Unknown faux deferred response: ${handle.id}`);if(entry.cancelled)throw new Error(`Faux deferred response was cancelled: ${handle.id}`);if(entry.pendingFetches>0){entry.pendingFetches--,await streamWithDeltas(outer,createDeferredMessage(requestModel,entry.handle),minTokenSize,maxTokenSize,tokensPerSecond,fetchOptions?.signal);return}if(!entry.final){let{deferred:_deferred,signal:_submissionSignal,onResponse:_submissionOnResponse,...submissionOptions}=entry.options??{};try{entry.final=await resolveResponse(entry.step,entry.context,submissionOptions,entry.model)}catch(error){entry.final=createErrorMessage(error,api,provider,entry.model.id)}}await streamWithDeltas(outer,entry.final,minTokenSize,maxTokenSize,tokensPerSecond,fetchOptions?.signal)}catch(error){let message=createErrorMessage(error,api,provider,requestModel.id);outer.push({type:"error",reason:"error",error:message}),outer.end(message)}}),outer},cancelDeferred=async(requestModel,handle,cancelOptions)=>{state2.cancelledDeferred.push(structuredClone(handle));let entry=deferredResponses.get(handle.id);entry&&(entry.cancelled=!0),await cancelOptions?.onResponse?.({status:200,headers:{}},requestModel)};function getModel2(requestedModelId){return requestedModelId?models.find(candidate=>candidate.id===requestedModelId):models[0]}return{api,provider,models,stream:stream2,streamSimple:streamSimple2,fetchDeferred,cancelDeferred,getModel:getModel2,state:state2,setResponses(responses){pendingResponses=[...responses]},appendResponses(responses){pendingResponses.push(...responses)},getPendingResponseCount(){return pendingResponses.length}}}function fauxProvider(options={}){let core=createFauxCore(options);return{provider:createProvider({id:core.provider,auth:{apiKey:{name:"Faux",resolve:async()=>({auth:{}})}},models:core.models,api:{stream:core.stream,streamSimple:core.streamSimple,fetchDeferred:core.fetchDeferred,cancelDeferred:core.cancelDeferred}}),api:core.api,models:core.models,getModel:core.getModel,state:core.state,setResponses:core.setResponses,appendResponses:core.appendResponses,getPendingResponseCount:core.getPendingResponseCount}}function findNonJson(value,path="details"){if(value===null||typeof value=="string"||typeof value=="boolean")return;if(typeof value=="number")return Number.isFinite(value)?void 0:path;if(Array.isArray(value)){for(let i=0;i<value.length;i++){let found=value[i]===void 0?`${path}[${i}]`:findNonJson(value[i],`${path}[${i}]`);if(found!==void 0)return found}return}if(typeof value!="object")return path;let prototype=Object.getPrototypeOf(value);if(prototype!==Object.prototype&&prototype!==null)return path;for(let key of Object.keys(value)){let child=value[key];if(child===void 0)continue;let found=findNonJson(child,`${path}.${key}`);if(found!==void 0)return found}}var OVERFLOW_PATTERNS=[/prompt (?:is )?too long/i,/prompt exceeds max length/i,/request_too_large/i,/input is too long for requested model/i,/exceeds the context window/i,/exceeds (?:the )?(?:model'?s )?maximum context length(?: of [\d,]+ tokens?|\s*\([\d,]+\))/i,/input token count.*exceeds the maximum/i,/maximum prompt length is \d+/i,/reduce the length of the messages/i,/maximum context length is \d+ tokens/i,/exceeds (?:the )?maximum allowed input length of [\d,]+ tokens?/i,/input \(\d+ tokens\) is longer than the model'?s context length \(\d+ tokens\)/i,/exceeds the limit of \d+/i,/exceeds the available context size/i,/greater than the context length/i,/context window exceeds limit/i,/exceeded model token limit/i,/too large for model with \d+ maximum context length/i,/prompt has [\d,]+ tokens?, but the configured context size is [\d,]+ tokens?/i,/model_context_window_exceeded/i,/prompt too long; exceeded (?:max )?context length/i,/range of input length should be/i,/context[_ ]length[_ ]exceeded/i,/too many tokens/i,/token limit exceeded/i,/^(?:[\w -]+ API error \(413\):|413(?:\s|:|$))/i],CEREBRAS_BODYLESS_OVERFLOW_PATTERN=/^4(?:00|13)\s*(?:status code)?\s*\(no body\)/i,NON_OVERFLOW_PATTERNS=[/^(Throttling error|Service unavailable):/i,/rate limit/i,/too many requests/i];function isContextOverflow(message,contextWindow){return!!(message.stopReason==="error"&&message.errorMessage&&!NON_OVERFLOW_PATTERNS.some(p=>p.test(message.errorMessage))&&(OVERFLOW_PATTERNS.some(p=>p.test(message.errorMessage))||message.provider==="cerebras"&&CEREBRAS_BODYLESS_OVERFLOW_PATTERN.test(message.errorMessage))||contextWindow&&message.stopReason==="stop"&&message.usage.input+message.usage.cacheRead>contextWindow||contextWindow&&message.stopReason==="length"&&message.usage.output===0&&message.usage.input+message.usage.cacheRead>=contextWindow*.99)}function isRecoverableLength(message,desiredMaxOutput){return message.stopReason==="length"&&desiredMaxOutput>0&&message.usage.output<desiredMaxOutput}function getOverflowPatterns(){return[...OVERFLOW_PATTERNS]}function StringEnum(values,options){return typebox_exports.Unsafe({type:"string",enum:values,...options?.description!==void 0&&{description:options.description},...options?.default!==void 0&&{default:options.default}})}var validatorCache=new WeakMap,TYPEBOX_KIND=Symbol.for("TypeBox.Kind");function getSchemaTypes(schema){return typeof schema.type=="string"?[schema.type]:Array.isArray(schema.type)?schema.type.filter(type=>typeof type=="string"):[]}function matchesJsonType(value,type){switch(type){case"number":return typeof value=="number";case"integer":return typeof value=="number"&&Number.isInteger(value);case"boolean":return typeof value=="boolean";case"string":return typeof value=="string";case"null":return value===null;case"array":return Array.isArray(value);case"object":return typeof value=="object"&&value!==null&&!Array.isArray(value);default:return!1}}function getSubSchemaValidator(schema){try{return getValidator(schema)}catch{return}}function coercePrimitiveByType(value,type){switch(type){case"number":{if(value===null)return 0;if(typeof value=="string"&&value.trim()!==""){let parsed=Number(value);if(Number.isFinite(parsed))return parsed}return typeof value=="boolean"?value?1:0:value}case"integer":{if(value===null)return 0;if(typeof value=="string"&&value.trim()!==""){let parsed=Number(value);if(Number.isInteger(parsed))return parsed}return typeof value=="boolean"?value?1:0:value}case"boolean":{if(value===null)return!1;if(typeof value=="string"){if(value==="true")return!0;if(value==="false")return!1}if(typeof value=="number"){if(value===1)return!0;if(value===0)return!1}return value}case"string":return value===null?"":typeof value=="number"||typeof value=="boolean"?String(value):value;case"null":return value===""||value===0||value===!1?null:value;default:return value}}function applySchemaObjectCoercion(value,schema){let properties=schema.properties,definedKeys=new Set(properties?Object.keys(properties):[]);if(properties)for(let[key,propertySchema]of Object.entries(properties))key in value&&(value[key]=coerceWithJsonSchema(value[key],propertySchema));if(schema.additionalProperties&&typeof schema.additionalProperties=="object")for(let[key,propertyValue]of Object.entries(value))definedKeys.has(key)||(value[key]=coerceWithJsonSchema(propertyValue,schema.additionalProperties))}function applySchemaArrayCoercion(value,schema){if(Array.isArray(schema.items)){for(let index3=0;index3<value.length;index3++){let itemSchema=schema.items[index3];itemSchema&&(value[index3]=coerceWithJsonSchema(value[index3],itemSchema))}return}if(schema.items&&typeof schema.items=="object")for(let index3=0;index3<value.length;index3++)value[index3]=coerceWithJsonSchema(value[index3],schema.items)}function coerceWithUnionSchema(value,schemas){for(let schema of schemas)if(getSubSchemaValidator(schema)?.Check(value))return value;for(let schema of schemas){let candidate=structuredClone(value),coerced=coerceWithJsonSchema(candidate,schema);if(getSubSchemaValidator(schema)?.Check(coerced))return coerced}return value}function coerceWithJsonSchema(value,schema){let nextValue=value;if(Array.isArray(schema.allOf))for(let nested of schema.allOf)nextValue=coerceWithJsonSchema(nextValue,nested);Array.isArray(schema.anyOf)&&(nextValue=coerceWithUnionSchema(nextValue,schema.anyOf)),Array.isArray(schema.oneOf)&&(nextValue=coerceWithUnionSchema(nextValue,schema.oneOf));let schemaTypes=getSchemaTypes(schema),matchesUnionMember=schemaTypes.length>1&&schemaTypes.some(schemaType=>matchesJsonType(nextValue,schemaType));if(schemaTypes.length>0&&!matchesUnionMember)for(let schemaType of schemaTypes){let candidate=coercePrimitiveByType(nextValue,schemaType);if(candidate!==nextValue){nextValue=candidate;break}}return schemaTypes.includes("object")&&typeof nextValue=="object"&&nextValue!==null&&!Array.isArray(nextValue)&&applySchemaObjectCoercion(nextValue,schema),schemaTypes.includes("array")&&Array.isArray(nextValue)&&applySchemaArrayCoercion(nextValue,schema),nextValue}function normalizeOptionalNulls(value,schema){if(Array.isArray(value)){if(Array.isArray(schema.items))for(let index3=0;index3<value.length;index3++){let itemSchema=schema.items[index3];itemSchema&&normalizeOptionalNulls(value[index3],itemSchema)}else if(schema.items)for(let item of value)normalizeOptionalNulls(item,schema.items);return}if(typeof value!="object"||value===null||!schema.properties)return;let object=value,required=new Set(schema.required??[]);for(let[key,propertySchema]of Object.entries(schema.properties))key in object&&(object[key]===null&&!required.has(key)&&typeof propertySchema.$ref!="string"&&getSubSchemaValidator(propertySchema)?.Check(null)===!1?delete object[key]:normalizeOptionalNulls(object[key],propertySchema))}function getValidator(schema){let key=schema,cached=validatorCache.get(key);if(cached)return cached;let validator=Compile(schema);return validatorCache.set(key,validator),validator}function formatValidationPath(error){if(error.keyword==="required"){let requiredProperty=error.params.requiredProperties?.[0];if(requiredProperty){let basePath=error.instancePath.replace(/^\//,"").replace(/\//g,".");return basePath?`${basePath}.${requiredProperty}`:requiredProperty}}return error.instancePath.replace(/^\//,"").replace(/\//g,".")||"root"}function validateToolCall(tools,toolCall){let tool=tools.find(t=>t.name===toolCall.name);if(!tool)throw new Error(`Tool "${toolCall.name}" not found`);return validateToolArguments(tool,toolCall)}function validateToolArguments(tool,toolCall){if(toolCall.argumentsError)throw new Error(`Invalid arguments for tool "${toolCall.name}": ${toolCall.argumentsError}`);let args=structuredClone(toolCall.arguments);normalizeOptionalNulls(args,tool.parameters),value_exports.Convert(tool.parameters,args);let validator=getValidator(tool.parameters);if(!Object.getOwnPropertySymbols(tool.parameters).includes(TYPEBOX_KIND)){let coerced=coerceWithJsonSchema(args,tool.parameters);if(coerced!==args)if(typeof args=="object"&&args!==null&&typeof coerced=="object"&&coerced!==null){for(let key of Object.keys(args))delete args[key];Object.assign(args,coerced)}else return validator.Check(coerced)?coerced:args}if(validator.Check(args))return args;let errors=validator.Errors(args).map(error=>` - ${formatValidationPath(error)}: ${error.message}`).join(`
|
|
14
|
-
`)||"Unknown validation error",errorMessage=`Validation failed for tool "${toolCall.name}":
|
|
15
|
-
${errors}
|
|
16
|
-
|
|
17
|
-
Received arguments:
|
|
18
|
-
${JSON.stringify(toolCall.arguments,null,2)}`;throw new Error(errorMessage)}var anthropicMessagesStreams=anthropicMessagesApi(),azureOpenAIResponsesStreams=azureOpenAIResponsesApi(),googleGenerativeAIStreams=googleGenerativeAIApi(),googleVertexStreams=googleVertexApi(),mistralConversationsStreams=mistralConversationsApi(),openAICodexResponsesStreams=openAICodexResponsesApi(),openAICompletionsStreams=openAICompletionsApi(),openAIResponsesStreams=openAIResponsesApi(),streamAnthropic=anthropicMessagesStreams.stream,streamSimpleAnthropic=anthropicMessagesStreams.streamSimple,streamAzureOpenAIResponses=azureOpenAIResponsesStreams.stream,streamSimpleAzureOpenAIResponses=azureOpenAIResponsesStreams.streamSimple,streamGoogle=googleGenerativeAIStreams.stream,streamSimpleGoogle=googleGenerativeAIStreams.streamSimple,streamGoogleVertex=googleVertexStreams.stream,streamSimpleGoogleVertex=googleVertexStreams.streamSimple,streamMistral=mistralConversationsStreams.stream,streamSimpleMistral=mistralConversationsStreams.streamSimple,streamOpenAICodexResponses=openAICodexResponsesStreams.stream,streamSimpleOpenAICodexResponses=openAICodexResponsesStreams.streamSimple,streamOpenAICompletions=openAICompletionsStreams.stream,streamSimpleOpenAICompletions=openAICompletionsStreams.streamSimple,streamOpenAIResponses=openAIResponsesStreams.stream,streamSimpleOpenAIResponses=openAIResponsesStreams.streamSimple;var getModel=getBuiltinModel,getModels=getBuiltinModels,getProviders=getBuiltinProviders,apiProviderRegistry=new Map;function wrapStream(api,stream2){return(model,context,options)=>{if(model.api!==api)throw new Error(`Mismatched api: ${model.api} expected ${api}`);return stream2(model,context,options)}}function wrapStreamSimple(api,streamSimple2){return(model,context,options)=>{if(model.api!==api)throw new Error(`Mismatched api: ${model.api} expected ${api}`);return streamSimple2(model,context,options)}}function registerApiProvider(provider,sourceId){apiProviderRegistry.set(provider.api,{provider:{api:provider.api,stream:wrapStream(provider.api,provider.stream),streamSimple:wrapStreamSimple(provider.api,provider.streamSimple)},sourceId})}function getApiProvider(api){return apiProviderRegistry.get(api)?.provider}function getApiProviders(){return Array.from(apiProviderRegistry.values(),entry=>entry.provider)}function unregisterApiProviders(sourceId){for(let[api,entry]of apiProviderRegistry.entries())entry.sourceId===sourceId&&apiProviderRegistry.delete(api)}function clearApiProviders(){apiProviderRegistry.clear()}function registerFauxProvider(options={}){let core=createFauxCore(options),sourceId=`faux-provider-${Math.random().toString(36).slice(2,10)}`;return registerApiProvider({api:core.api,stream:core.stream,streamSimple:core.streamSimple},sourceId),{api:core.api,models:core.models,getModel:core.getModel,state:core.state,setResponses:core.setResponses,appendResponses:core.appendResponses,getPendingResponseCount:core.getPendingResponseCount,unregister(){unregisterApiProviders(sourceId)}}}var BUILTIN_APIS=[["anthropic-messages",anthropicMessagesApi()],["openai-completions",openAICompletionsApi()],["openai-responses",openAIResponsesApi()],["openai-codex-responses",openAICodexResponsesApi()],["azure-openai-responses",azureOpenAIResponsesApi()],["google-generative-ai",googleGenerativeAIApi()],["google-vertex",googleVertexApi()],["mistral-conversations",mistralConversationsApi()],["bedrock-converse-stream",bedrockConverseStreamApi()],["knightcode-messages",knightCodeMessagesApi()]],builtinApiProviderInstances=new Map;function registerBuiltInApiProviders(){for(let[api,streams]of BUILTIN_APIS)getApiProvider(api)||registerApiProvider({api,stream:streams.stream,streamSimple:streams.streamSimple}),builtinApiProviderInstances.set(api,getApiProvider(api))}function resetApiProviders(){clearApiProviders(),builtinApiProviderInstances.clear(),registerBuiltInApiProviders()}registerBuiltInApiProviders();var compatModels=builtinModels(),AMBIENT_AUTH_MARKER="<authenticated>";function hasExplicitApiKey(apiKey){return typeof apiKey=="string"&&apiKey.trim().length>0}function withEnvApiKey(model,options){if(hasExplicitApiKey(options?.apiKey))return options;let apiKey=getEnvApiKey(model.provider,options?.env);return!apiKey||apiKey===AMBIENT_AUTH_MARKER?options:{...options,apiKey}}function hasResolvedCloudflareAuth(options){return hasExplicitApiKey(options?.apiKey)||typeof options?.headers?.["cf-aig-authorization"]=="string"}function getBuiltinProviderForModel(model){if(getApiProvider(model.api)!==builtinApiProviderInstances.get(model.api))return;let provider=compatModels.getProvider(model.provider);return provider?.getModels().some(candidate=>candidate.api===model.api)?provider:void 0}function resolveApiProvider(api){let provider=getApiProvider(api);if(!provider)throw new Error(`No API provider registered for api: ${api}`);return provider}function stream(model,context,options){let transcript=normalizeContext(context),builtinProvider=getBuiltinProviderForModel(model);return builtinProvider?model.provider.startsWith("cloudflare-")&&!hasResolvedCloudflareAuth(options)?compatModels.stream(model,transcript,options):builtinProvider.stream(model,transcript,withEnvApiKey(model,options)):resolveApiProvider(model.api).stream(model,transcript,withEnvApiKey(model,options))}async function complete(model,context,options){return stream(model,context,options).result()}function streamSimple(model,context,options){let transcript=normalizeContext(context),builtinProvider=getBuiltinProviderForModel(model);return builtinProvider?model.provider.startsWith("cloudflare-")&&!hasResolvedCloudflareAuth(options)?compatModels.streamSimple(model,transcript,options):builtinProvider.streamSimple(model,transcript,withEnvApiKey(model,options)):resolveApiProvider(model.api).streamSimple(model,transcript,withEnvApiKey(model,options))}async function completeSimple(model,context,options){return streamSimple(model,context,options).result()}import{dirname,join as join2}from"node:path";import{readFile}from"node:fs/promises";var THINKING_LEVELS=["minimal","low","medium","high","xhigh","max"],MODEL_THINKING_LEVELS=["off",...THINKING_LEVELS],MODEL_INPUT_MODALITIES=["text","image"],CACHE_RETENTIONS=["none","short","long"],MODEL_PROMPT_CACHE_RETENTIONS=["short","long"],ThinkingLevelSchema=typebox_exports.Enum(THINKING_LEVELS),ModelThinkingLevelSchema=typebox_exports.Enum(MODEL_THINKING_LEVELS),ModelInputModalitySchema=typebox_exports.Enum(MODEL_INPUT_MODALITIES),CacheRetentionSchema=typebox_exports.Enum(CACHE_RETENTIONS),ThinkingLevelMapValueSchema=typebox_exports.Union([typebox_exports.String(),typebox_exports.Null()]),ThinkingLevelMapSchema=typebox_exports.Partial(typebox_exports.Record(ModelThinkingLevelSchema,ThinkingLevelMapValueSchema),{description:"Provider value sent for each thinking level. null marks a level unsupported. Levels the model does not map use the provider's default value through high; xhigh and max are unsupported."}),ModelPromptCacheSchema=typebox_exports.Partial(typebox_exports.Record(typebox_exports.Enum(MODEL_PROMPT_CACHE_RETENTIONS),typebox_exports.Number({exclusiveMinimum:0})),{description:"Best-effort prompt cache lifetime in seconds for the short and long retention tiers. KnightCode warms only tiers with a known lifetime."}),ModelCostRatesProperties={input:typebox_exports.Number({description:"Input cost in USD per million tokens."}),output:typebox_exports.Number({description:"Output cost in USD per million tokens."}),cacheRead:typebox_exports.Number({description:"Cache-read cost in USD per million tokens."}),cacheWrite:typebox_exports.Number({description:"Cache-write cost in USD per million tokens."})},ModelCostRatesSchema=typebox_exports.Object(ModelCostRatesProperties),ModelCostTierSchema=typebox_exports.Object({inputTokensAbove:typebox_exports.Number({description:"Use this tier when total request input exceeds this token count."}),...ModelCostRatesProperties}),ModelCostSchema=typebox_exports.Object({...ModelCostRatesProperties,tiers:typebox_exports.Optional(typebox_exports.Array(ModelCostTierSchema,{description:"Request-wide pricing tiers. The highest matching input threshold applies to the full request."}))});function modelImageResizeOptions(options){return typebox_exports.Object({maxWidth:typebox_exports.Optional(typebox_exports.Integer({minimum:1})),maxHeight:typebox_exports.Optional(typebox_exports.Integer({minimum:1})),maxBytes:typebox_exports.Optional(typebox_exports.Integer({minimum:1,description:"Maximum base64-encoded payload size in bytes."})),jpegQuality:typebox_exports.Optional(typebox_exports.Integer({minimum:1,maximum:100}))},options)}var ModelImageResizeOptionsSchema=modelImageResizeOptions(),ModelImageInputLimitsSchema=typebox_exports.Object({resize:typebox_exports.Optional(modelImageResizeOptions({description:"Cache-safe resize profile applied before a new image enters conversation history."})),maxPerMessage:typebox_exports.Optional(typebox_exports.Integer({minimum:1,description:"Maximum images accepted in one provider message."})),maxPerRequest:typebox_exports.Optional(typebox_exports.Integer({minimum:1,description:"Maximum images accepted across one provider request."}))}),ModelInputLimitsSchema=typebox_exports.Object({maxRequestBytes:typebox_exports.Optional(typebox_exports.Integer({minimum:1,description:"Maximum serialized provider request size in bytes."})),images:typebox_exports.Optional(ModelImageInputLimitsSchema)});function sessionAffinityFormat(options){return typebox_exports.Union([typebox_exports.Literal("openai"),typebox_exports.Literal("openai-nosession"),typebox_exports.Literal("openrouter")],options)}var SessionAffinityFormatSchema=sessionAffinityFormat({description:"Session-affinity header format used to route related requests consistently."});function thinkingTokenBudgetField(options){return typebox_exports.Union([typebox_exports.Literal("thinking_token_budget"),typebox_exports.Literal("thinking_budget"),typebox_exports.Literal("thinking_budget_tokens")],options)}var ThinkingTokenBudgetFieldSchema=thinkingTokenBudgetField({description:'Top-level request field name used by OpenAI-compatible endpoints to cap reasoning tokens. "thinking_token_budget" is used by vLLM, "thinking_budget" by Qwen, DashScope, or SGLang, and "thinking_budget_tokens" by llama.cpp.'}),ChatTemplateKwargValueSchema=typebox_exports.Union([typebox_exports.String(),typebox_exports.Number(),typebox_exports.Boolean(),typebox_exports.Null(),typebox_exports.Object({$var:typebox_exports.Union([typebox_exports.Literal("thinking.enabled"),typebox_exports.Literal("thinking.effort"),typebox_exports.Literal("thinking.budget")]),omitWhenOff:typebox_exports.Optional(typebox_exports.Boolean())})]);function percentileCutoffs(metric){return typebox_exports.Object({p50:typebox_exports.Optional(typebox_exports.Number({description:`${metric} at the 50th percentile.`})),p75:typebox_exports.Optional(typebox_exports.Number({description:`${metric} at the 75th percentile.`})),p90:typebox_exports.Optional(typebox_exports.Number({description:`${metric} at the 90th percentile.`})),p99:typebox_exports.Optional(typebox_exports.Number({description:`${metric} at the 99th percentile.`}))})}var OpenRouterRoutingSchema=typebox_exports.Object({allow_fallbacks:typebox_exports.Optional(typebox_exports.Boolean({description:"Whether to allow backup providers to serve requests.",default:!0})),require_parameters:typebox_exports.Optional(typebox_exports.Boolean({description:"Whether to filter providers to only those that support all parameters in the request.",default:!1})),data_collection:typebox_exports.Optional(typebox_exports.Union([typebox_exports.Literal("deny"),typebox_exports.Literal("allow")],{description:'Data collection setting. "allow": allow providers that may store or train on data. "deny": only use providers that do not collect user data.',default:"allow"})),zdr:typebox_exports.Optional(typebox_exports.Boolean({description:"Whether to restrict routing to only ZDR (Zero Data Retention) endpoints."})),enforce_distillable_text:typebox_exports.Optional(typebox_exports.Boolean({description:"Whether to restrict routing to only models that allow text distillation."})),order:typebox_exports.Optional(typebox_exports.Array(typebox_exports.String(),{description:"An ordered list of provider names or slugs to try in sequence, falling back to the next if unavailable."})),only:typebox_exports.Optional(typebox_exports.Array(typebox_exports.String(),{description:"List of provider names or slugs to exclusively allow for this request."})),ignore:typebox_exports.Optional(typebox_exports.Array(typebox_exports.String(),{description:"List of provider names or slugs to skip for this request."})),quantizations:typebox_exports.Optional(typebox_exports.Array(typebox_exports.String(),{description:'A list of quantization levels to filter providers by, for example ["fp16", "bf16", "fp8", "fp6", "int8", "int4", "fp4", "fp32"].'})),sort:typebox_exports.Optional(typebox_exports.Union([typebox_exports.String(),typebox_exports.Object({by:typebox_exports.Optional(typebox_exports.String({description:'The sorting metric, such as "price", "throughput", or "latency".'})),partition:typebox_exports.Optional(typebox_exports.Union([typebox_exports.String(),typebox_exports.Null()],{description:'Partitioning strategy: "model" or "none".',default:"model"}))})],{description:'Sorting strategy. Can be a string such as "price", "throughput", or "latency", or an object.'})),max_price:typebox_exports.Optional(typebox_exports.Object({prompt:typebox_exports.Optional(typebox_exports.Union([typebox_exports.Number(),typebox_exports.String()],{description:"Price per million prompt tokens."})),completion:typebox_exports.Optional(typebox_exports.Union([typebox_exports.Number(),typebox_exports.String()],{description:"Price per million completion tokens."})),image:typebox_exports.Optional(typebox_exports.Union([typebox_exports.Number(),typebox_exports.String()],{description:"Price per image."})),audio:typebox_exports.Optional(typebox_exports.Union([typebox_exports.Number(),typebox_exports.String()],{description:"Price per audio unit."})),request:typebox_exports.Optional(typebox_exports.Union([typebox_exports.Number(),typebox_exports.String()],{description:"Price per request."}))},{description:"Maximum price per million tokens in USD."})),preferred_min_throughput:typebox_exports.Optional(typebox_exports.Union([typebox_exports.Number(),percentileCutoffs("Minimum tokens per second")],{description:"Preferred minimum throughput in tokens per second. A number applies to p50."})),preferred_max_latency:typebox_exports.Optional(typebox_exports.Union([typebox_exports.Number(),percentileCutoffs("Maximum latency in seconds")],{description:"Preferred maximum latency in seconds. A number applies to p50."}))},{description:"OpenRouter provider routing preferences. Controls which upstream providers OpenRouter routes requests to. Sent as the provider field in the OpenRouter API request body. See https://openrouter.ai/docs/guides/routing/provider-selection."}),VercelGatewayRoutingSchema=typebox_exports.Object({only:typebox_exports.Optional(typebox_exports.Array(typebox_exports.String(),{description:'List of provider slugs to exclusively use for this request, for example ["bedrock", "anthropic"].'})),order:typebox_exports.Optional(typebox_exports.Array(typebox_exports.String(),{description:'List of provider slugs to try in order, for example ["anthropic", "openai"].'}))},{description:"Vercel AI Gateway routing preferences. Controls which upstream providers the gateway routes requests to. See https://vercel.com/docs/ai-gateway/models-and-providers/provider-options."}),AnthropicAllowedFallbackModelSchema=typebox_exports.Object({provider:typebox_exports.String({minLength:1}),model:typebox_exports.String({minLength:1}),cost:ModelCostSchema},{description:"An Anthropic server-side refusal fallback model with local pricing metadata."});function optionalCompatBoolean(options){return typebox_exports.Optional(typebox_exports.Boolean(options))}function optionalSessionAffinityFormat(options){return typebox_exports.Optional(sessionAffinityFormat(options))}var OpenAICompletionsCompatSchema=typebox_exports.Object({supportsStore:typebox_exports.Optional(typebox_exports.Boolean({description:"Whether the provider supports the store field. Default: auto-detected from URL."})),supportsDeveloperRole:optionalCompatBoolean({description:"Whether the provider supports the developer role instead of system. Default: auto-detected from URL."}),supportsReasoningEffort:typebox_exports.Optional(typebox_exports.Boolean({description:"Whether the provider supports reasoning_effort. Default: auto-detected from URL."})),supportsUsageInStreaming:typebox_exports.Optional(typebox_exports.Boolean({description:"Whether the provider supports stream_options.include_usage for token usage in streaming responses.",default:!0})),supportsFinishReason:typebox_exports.Optional(typebox_exports.Boolean({description:"Whether streamed responses include finish_reason. When false, KnightCode infers stop or toolUse when the stream ends.",default:!0})),maxTokensField:typebox_exports.Optional(typebox_exports.Union([typebox_exports.Literal("max_completion_tokens"),typebox_exports.Literal("max_tokens")],{description:"Which field to use for max tokens. Default: auto-detected from URL."})),requiresToolResultName:typebox_exports.Optional(typebox_exports.Boolean({description:"Whether tool results require the name field. Default: auto-detected from URL."})),requiresAssistantAfterToolResult:typebox_exports.Optional(typebox_exports.Boolean({description:"Whether a user message after tool results requires an assistant message in between. Default: auto-detected from URL."})),requiresThinkingAsText:typebox_exports.Optional(typebox_exports.Boolean({description:"Whether thinking blocks must be converted to text blocks with <thinking> delimiters. Default: auto-detected from URL."})),requiresReasoningContentOnAssistantMessages:typebox_exports.Optional(typebox_exports.Boolean({description:"Whether all replayed assistant messages must include an empty reasoning_content field when reasoning is enabled. Default: auto-detected from URL."})),thinkingFormat:typebox_exports.Optional(typebox_exports.Union([typebox_exports.Literal("openai"),typebox_exports.Literal("openrouter"),typebox_exports.Literal("deepseek"),typebox_exports.Literal("together"),typebox_exports.Literal("baseten"),typebox_exports.Literal("zai"),typebox_exports.Literal("qwen"),typebox_exports.Literal("chat-template"),typebox_exports.Literal("qwen-chat-template"),typebox_exports.Literal("string-thinking"),typebox_exports.Literal("ant-ling")],{description:'Format for reasoning or thinking parameters. When omitted, KnightCode auto-detects the format from the provider URL. "openai" uses reasoning_effort, "openrouter" uses reasoning.effort, "deepseek" uses thinking.type plus reasoning_effort when supported, "together" uses reasoning.enabled plus reasoning_effort when supported, "baseten" uses configurable chat_template_args plus reasoning_effort when supported, "zai" uses thinking.type, "qwen" uses top-level enable_thinking, "qwen-chat-template" uses chat_template_kwargs.enable_thinking and preserve_thinking, "chat-template" uses configurable chat_template_kwargs, "string-thinking" uses top-level thinking, and "ant-ling" uses reasoning.effort only when the mapped effort is non-null.'})),chatTemplateKwargs:typebox_exports.Optional(typebox_exports.Record(typebox_exports.String(),ChatTemplateKwargValueSchema,{description:'Kwargs sent as chat_template_kwargs when thinkingFormat is "chat-template". Use $var with "thinking.enabled", "thinking.effort", or "thinking.budget" for knightcode-controlled values.'})),chatTemplateArgs:typebox_exports.Optional(typebox_exports.Record(typebox_exports.String(),ChatTemplateKwargValueSchema,{description:'Arguments sent as chat_template_args when thinkingFormat is "baseten". Use $var with "thinking.enabled", "thinking.effort", or "thinking.budget" for knightcode-controlled values.'})),openRouterRouting:typebox_exports.Optional(OpenRouterRoutingSchema),vercelGatewayRouting:typebox_exports.Optional(VercelGatewayRoutingSchema),zaiToolStream:typebox_exports.Optional(typebox_exports.Boolean({description:"Whether z.ai supports top-level tool_stream for streaming tool call deltas.",default:!1})),thinkingTokenBudgetField:typebox_exports.Optional(thinkingTokenBudgetField({description:'Top-level request field used to cap reasoning tokens from thinkingBudgets. Reasoning and the answer share max_tokens on these endpoints. "thinking_token_budget" is vLLM, "thinking_budget" is Qwen, DashScope, or SGLang, and "thinking_budget_tokens" is llama.cpp. Off by default and not set on the generated catalog.'})),supportsThinkingTokenBudget:typebox_exports.Optional(typebox_exports.Boolean({description:'Alias for thinkingTokenBudgetField: "thinking_token_budget" (vLLM). Prefer thinkingTokenBudgetField.',default:!1})),supportsOpenAIGrammarTools:optionalCompatBoolean({description:"Whether the provider supports OpenAI custom tools with Lark or regex grammar formats. When false, grammar-constrained tools fall back to normal function tools. The generated catalog enables this for capable models.",default:!1}),supportsMidConvoSystemMessages:optionalCompatBoolean({description:"Whether the exact model accepts system or developer messages after the conversation has started. When false, later system messages are folded into the leading system message. The generated catalog enables this for verified models.",default:!1}),supportsMidConvoToolAdditions:typebox_exports.Optional(typebox_exports.Boolean({description:"Whether system messages can introduce additional tools mid-conversation. Requires supportsMidConvoSystemMessages. The generated catalog enables this for capable models.",default:!1})),supportsStrictMode:optionalCompatBoolean({description:"Whether the provider supports the strict field in tool definitions. Generated capable models enable it explicitly.",default:!1}),cacheControlFormat:typebox_exports.Optional(typebox_exports.Literal("anthropic",{description:"Cache control convention for prompt caching. Anthropic applies cache_control markers to the system prompt, last tool definition, and last user, assistant, or tool-result text content."})),sendSessionAffinityHeaders:optionalCompatBoolean({description:"Whether to send session-affinity data from options.sessionId. Default: true for OpenRouter endpoints, false otherwise."}),sessionAffinityFormat:optionalSessionAffinityFormat({description:"Session-affinity header format. openai sends session_id, x-client-request-id, and x-session-affinity; openai-nosession sends x-client-request-id and x-session-affinity; openrouter sends x-session-id. Does not affect prompt_cache_key. Default: auto-detected."}),supportsLongCacheRetention:optionalCompatBoolean({description:'Whether the provider supports long prompt cache retention (prompt_cache_retention: "24h" or Anthropic-style cache_control.ttl: "1h", depending on format). Default: auto-detected from provider and URL.'}),vllmPriority:typebox_exports.Optional(typebox_exports.Number({description:"vLLM scheduler priority sent as the top-level priority request field. Lower values are handled earlier and the server default is 0. Only meaningful with --scheduling-policy priority. Off by default and not set on the generated catalog."}))},{description:"Compatibility settings for OpenAI-compatible completions APIs. Use this to override URL-based auto-detection for custom providers.",additionalProperties:!0}),OpenAIResponsesCompatSchema=typebox_exports.Object({supportsDeveloperRole:optionalCompatBoolean({description:"Whether the provider supports the developer role instead of system.",default:!0}),supportsMidConvoSystemMessages:optionalCompatBoolean({description:"Whether the exact model accepts developer or system messages after the conversation has started. When false, later system messages are folded into the leading system message. The generated catalog enables this for verified models.",default:!1}),sessionAffinityFormat:optionalSessionAffinityFormat({description:"Session-affinity header format. openai sends session_id and x-client-request-id; openai-nosession sends x-client-request-id; openrouter sends x-session-id. Does not affect prompt_cache_key. Default: auto-detected."}),supportsLongCacheRetention:optionalCompatBoolean({description:'Whether the provider supports long prompt cache retention. This uses prompt_cache_options.ttl: "30m" on GPT-5.6+ and prompt_cache_retention: "24h" on earlier models.',default:!0}),supportsStrictMode:optionalCompatBoolean({description:"Whether the provider supports strict JSON-schema function tools. Defaults are API-specific; generated OpenAI models enable it explicitly."}),supportsOpenAIGrammarTools:optionalCompatBoolean({description:"Whether to emit OpenAI custom tools with Lark or regex grammar formats. When false, grammar-constrained tools fall back to normal function tools. The generated catalog enables this for capable models.",default:!1}),supportsAdditionalTools:typebox_exports.Optional(typebox_exports.Boolean({description:"Whether the model supports message-anchored additional_tools input items.",default:!1})),supportsToolSearch:typebox_exports.Optional(typebox_exports.Boolean({description:"Whether the model supports client-executed tool search for transcript-anchored additions.",default:!1})),supportsExplicitPromptCacheMode:typebox_exports.Optional(typebox_exports.Boolean({description:"Whether the model accepts prompt_cache_options. Older OpenAI models reject the parameter.",default:!1})),supportsMidConvoEffort:typebox_exports.Optional(typebox_exports.Boolean({description:"Whether thinking level changes are sent as configuration_update input items instead of changing reasoning.effort, so a change keeps the prompt cache. Only used by the openai-responses API, and ignored with Sign in with ChatGPT on the openai provider.",default:!1})),supportsMaxOutputTokens:typebox_exports.Optional(typebox_exports.Boolean({description:"Whether the provider accepts max_output_tokens. Some Codex-protocol gateways reject it.",default:!0}))},{description:"Compatibility settings for OpenAI Responses APIs.",additionalProperties:!0}),AnthropicMessagesCompatSchema=typebox_exports.Object({supportsEagerToolInputStreaming:typebox_exports.Optional(typebox_exports.Boolean({description:"Whether the provider accepts per-tool eager_input_streaming. When false, the Anthropic provider omits tools[].eager_input_streaming and sends the legacy fine-grained-tool-streaming-2025-05-14 beta header for tool-enabled requests.",default:!0})),supportsLongCacheRetention:optionalCompatBoolean({description:"Whether the provider supports Anthropic long cache retention through cache_control.ttl.",default:!0}),sendSessionAffinityHeaders:optionalCompatBoolean({description:"Whether to send x-session-affinity from options.sessionId when caching is enabled. Required for providers like Fireworks that use session affinity for prompt cache routing; requests to the same replica maximize cache hits. Default: true for OpenRouter endpoints, false otherwise."}),sessionAffinityFormat:typebox_exports.Optional(typebox_exports.Literal("openrouter",{description:"Session-affinity format. openrouter sends x-session-id; when unset, sends x-session-affinity."})),supportsCacheControlOnTools:typebox_exports.Optional(typebox_exports.Boolean({description:"Whether the provider supports Anthropic-style cache_control markers on tool definitions. When false, cache_control is omitted from tool parameters. Some Anthropic-compatible providers, such as Fireworks, do not support this field on tools and may reject or ignore it.",default:!0})),supportsTemperature:typebox_exports.Optional(typebox_exports.Boolean({description:"Whether the model accepts the Anthropic temperature request field. Claude Opus 4.7+ rejects non-default values.",default:!0})),forceAdaptiveThinking:typebox_exports.Optional(typebox_exports.Boolean({description:"Whether to force adaptive thinking (thinking.type: adaptive plus output_config.effort) regardless of model ID. Built-in models that require adaptive thinking set this in generated metadata. Custom Anthropic-compatible providers can set this to true for any model whose upstream requires the adaptive format. Set false to opt out on overridden built-in models.",default:!1})),allowEmptySignature:typebox_exports.Optional(typebox_exports.Boolean({description:"Whether to replay empty thinking signatures instead of converting thinking to text.",default:!1})),supportsStrictTools:typebox_exports.Optional(typebox_exports.Boolean({description:"Whether the provider supports Anthropic strict tool schemas. Generated Anthropic models enable it explicitly.",default:!1})),supportsMidConvoEffort:typebox_exports.Optional(typebox_exports.Boolean({description:"Whether the exact model transport supports effort-only system messages and thinking binding controls.",default:!1})),supportsMidConvoSystemMessages:optionalCompatBoolean({description:"Whether the exact model accepts system-role messages inside the conversation. When false, later system messages are folded into the top-level system prompt.",default:!1}),supportsMidConvoToolChanges:typebox_exports.Optional(typebox_exports.Boolean({description:"Whether the exact model accepts mid-conversation tool_addition and tool_removal blocks. Requires supportsMidConvoSystemMessages.",default:!1})),allowedFallbackModels:typebox_exports.Optional(typebox_exports.Array(AnthropicAllowedFallbackModelSchema,{maxItems:3,description:"Models Anthropic accepts for server-side refusal fallback, with local pricing metadata for returned fallback responses. When absent or empty, callers must omit fallbacks; Anthropic rejects the field for models with no permitted fallback targets."}))},{description:"Compatibility settings for Anthropic Messages-compatible APIs.",additionalProperties:!0}),BedrockCompatSchema=typebox_exports.Object({supportsStrictMode:optionalCompatBoolean({description:"Whether the model supports Bedrock strict tool schemas.",default:!1})},{description:"Compatibility settings for Amazon Bedrock models.",additionalProperties:!0}),MistralConversationsCompatSchema=typebox_exports.Object({supportsMidConvoSystemMessages:optionalCompatBoolean({description:"Whether the exact model accepts system messages after the conversation has started. When false, later system messages are folded into the leading system message.",default:!1})},{description:"Compatibility settings for the Mistral chat API.",additionalProperties:!0}),ProviderCompatPropertyOverrides={supportsDeveloperRole:optionalCompatBoolean({description:"Whether the provider supports the developer role instead of system. Defaults are API-specific."}),supportsMidConvoSystemMessages:optionalCompatBoolean({description:"Whether the exact model accepts system or developer messages after the conversation has started. When false, later system messages are folded into the leading system message.",default:!1}),sessionAffinityFormat:optionalSessionAffinityFormat({description:"Session-affinity header format. Defaults are API-specific or auto-detected."}),supportsMidConvoEffort:optionalCompatBoolean({description:"Whether thinking level changes are sent inside the conversation instead of changing the request's effort, so a change keeps the prompt cache. Used by the anthropic-messages and openai-responses APIs.",default:!1}),supportsLongCacheRetention:optionalCompatBoolean({description:"Whether the provider supports long prompt cache retention. Defaults are API-specific or auto-detected."}),supportsStrictMode:optionalCompatBoolean({description:"Whether the provider supports strict tool schemas. Defaults are API-specific."}),supportsOpenAIGrammarTools:optionalCompatBoolean({description:"Whether the provider supports OpenAI custom tools with Lark or regex grammar formats. When false, grammar-constrained tools fall back to normal function tools.",default:!1}),sendSessionAffinityHeaders:optionalCompatBoolean({description:"Whether to send session-affinity data from options.sessionId. Defaults are API-specific."})};function mergeCompatProperties(propertyGroups,overrides){let merged={},duplicateNames=new Set;for(let properties of propertyGroups)for(let[name,schema]of Object.entries(properties)){if(merged[name]!==void 0&&(duplicateNames.add(name),!(name in overrides)))throw new Error(`Duplicate compatibility schema property requires an override: ${name}`);merged[name]=schema}for(let name of Object.keys(overrides))if(!duplicateNames.has(name))throw new Error(`Compatibility schema override does not resolve a duplicate property: ${name}`);return{...merged,...overrides}}var CompatSchemasByApi={"openai-completions":OpenAICompletionsCompatSchema,"openai-responses":OpenAIResponsesCompatSchema,"azure-openai-responses":OpenAIResponsesCompatSchema,"openai-codex-responses":OpenAIResponsesCompatSchema,"anthropic-messages":AnthropicMessagesCompatSchema,"bedrock-converse-stream":BedrockCompatSchema,"mistral-conversations":MistralConversationsCompatSchema},ProviderCompatProperties=mergeCompatProperties([...new Set(Object.values(CompatSchemasByApi))].map(schema=>schema.properties),ProviderCompatPropertyOverrides),ProviderCompatSchema=typebox_exports.Object(ProviderCompatProperties,{description:"Provider and model compatibility overrides.",additionalProperties:!0});function stripJsonComments(input){return input.replace(/"(?:\\.|[^"\\])*"|\/\/[^\n]*/g,m=>m[0]==='"'?m:"").replace(/"(?:\\.|[^"\\])*"|,(\s*[}\]])/g,(m,tail)=>tail??(m[0]==='"'?m:""))}var SamplingParamsSchema=typebox_exports.Record(typebox_exports.String(),typebox_exports.Unknown()),SamplingParamsByThinkingLevelSchema=typebox_exports.Object({off:typebox_exports.Optional(SamplingParamsSchema),minimal:typebox_exports.Optional(SamplingParamsSchema),low:typebox_exports.Optional(SamplingParamsSchema),medium:typebox_exports.Optional(SamplingParamsSchema),high:typebox_exports.Optional(SamplingParamsSchema),xhigh:typebox_exports.Optional(SamplingParamsSchema),max:typebox_exports.Optional(SamplingParamsSchema)},{description:"samplingParams per thinking level, merged over samplingParams."}),SamplingParamsFieldSchema=typebox_exports.Record(typebox_exports.String(),typebox_exports.Unknown(),{description:"Fields merged into every request body. Applies only to OpenAI-compatible APIs."}),HeadersSchema=typebox_exports.Record(typebox_exports.String(),typebox_exports.String(),{description:"Request headers. Values resolve like apiKey."}),ModelFieldDescriptions={name:"Display name, also matched by --model patterns.",reasoning:"Whether the model supports thinking.",contextWindow:"Context window in tokens.",maxTokens:"Maximum output tokens."},ModelDefinitionSchema=typebox_exports.Object({id:typebox_exports.String({minLength:1,description:"Model ID sent to the API."}),name:typebox_exports.Optional(typebox_exports.String({minLength:1,description:ModelFieldDescriptions.name})),api:typebox_exports.Optional(typebox_exports.String({minLength:1,description:"Overrides the provider api."})),baseUrl:typebox_exports.Optional(typebox_exports.String({minLength:1,description:"Overrides the provider baseUrl."})),reasoning:typebox_exports.Optional(typebox_exports.Boolean({default:!1,description:ModelFieldDescriptions.reasoning})),thinkingLevelMap:typebox_exports.Optional(ThinkingLevelMapSchema),input:typebox_exports.Optional(typebox_exports.Array(ModelInputModalitySchema,{default:["text"]})),inputLimits:typebox_exports.Optional(ModelInputLimitsSchema),cost:typebox_exports.Optional(ModelCostSchema),promptCache:typebox_exports.Optional(ModelPromptCacheSchema),contextWindow:typebox_exports.Optional(typebox_exports.Number({exclusiveMinimum:0,default:128e3,description:ModelFieldDescriptions.contextWindow})),maxTokens:typebox_exports.Optional(typebox_exports.Number({exclusiveMinimum:0,default:16384,description:ModelFieldDescriptions.maxTokens})),samplingParams:typebox_exports.Optional(SamplingParamsFieldSchema),samplingParamsByThinkingLevel:typebox_exports.Optional(SamplingParamsByThinkingLevelSchema),headers:typebox_exports.Optional(HeadersSchema),compat:typebox_exports.Optional(ProviderCompatSchema)}),ModelOverrideSchema=typebox_exports.Object({name:typebox_exports.Optional(typebox_exports.String({minLength:1,description:ModelFieldDescriptions.name})),reasoning:typebox_exports.Optional(typebox_exports.Boolean({description:ModelFieldDescriptions.reasoning})),thinkingLevelMap:typebox_exports.Optional(ThinkingLevelMapSchema),input:typebox_exports.Optional(typebox_exports.Array(ModelInputModalitySchema)),inputLimits:typebox_exports.Optional(ModelInputLimitsSchema),cost:typebox_exports.Optional(typebox_exports.Partial(ModelCostSchema)),promptCache:typebox_exports.Optional(ModelPromptCacheSchema),contextWindow:typebox_exports.Optional(typebox_exports.Number({exclusiveMinimum:0,description:ModelFieldDescriptions.contextWindow})),maxTokens:typebox_exports.Optional(typebox_exports.Number({exclusiveMinimum:0,description:ModelFieldDescriptions.maxTokens})),samplingParams:typebox_exports.Optional(SamplingParamsFieldSchema),samplingParamsByThinkingLevel:typebox_exports.Optional(SamplingParamsByThinkingLevelSchema),headers:typebox_exports.Optional(HeadersSchema),compat:typebox_exports.Optional(ProviderCompatSchema)}),ProviderConfigSchema=typebox_exports.Object({name:typebox_exports.Optional(typebox_exports.String({minLength:1,description:"Display name."})),baseUrl:typebox_exports.Optional(typebox_exports.String({minLength:1,description:"API base URL. Also applies to the provider's built-in models."})),apiKey:typebox_exports.Optional(typebox_exports.String({minLength:1,description:'Literal key, "$NAME" environment interpolation, or "!command" output.'})),api:typebox_exports.Optional(typebox_exports.String({minLength:1,description:`API for the provider's models, such as "openai-completions", "openai-responses", "anthropic-messages", or "google-generative-ai".`})),oauth:typebox_exports.Optional(typebox_exports.Literal("radius",{description:"OAuth login flow. Requires baseUrl."})),headers:typebox_exports.Optional(HeadersSchema),compat:typebox_exports.Optional(ProviderCompatSchema),authHeader:typebox_exports.Optional(typebox_exports.Boolean({default:!1,description:"Whether to send the resolved API key as Authorization: Bearer."})),models:typebox_exports.Optional(typebox_exports.Array(ModelDefinitionSchema)),modelOverrides:typebox_exports.Optional(typebox_exports.Record(typebox_exports.String(),ModelOverrideSchema))}),ModelsConfigProperties={providers:typebox_exports.Record(typebox_exports.String(),ProviderConfigSchema)},ModelsConfigSchema=typebox_exports.Object({$schema:typebox_exports.Optional(typebox_exports.String()),...ModelsConfigProperties});var validateModelsConfig=Compile(ModelsConfigSchema);function formatValidationPath2(error){if(error.keyword==="required"){let requiredProperty=error.params.requiredProperties?.[0];if(requiredProperty){let basePath=error.instancePath.replace(/^\//,"").replace(/\//g,".");return basePath?`${basePath}.${requiredProperty}`:requiredProperty}}return error.instancePath.replace(/^\//,"").replace(/\//g,".")||"root"}function deepFreeze(value){if(typeof value!="object"||value===null||Object.isFrozen(value))return value;for(let child of Object.values(value))deepFreeze(child);return Object.freeze(value)}var ModelConfig=class _ModelConfig{providers;error;constructor(providers,error){this.providers=providers,this.error=error}static async load(modelsJsonPath){if(!modelsJsonPath)return new _ModelConfig(new Map);let path=normalizePath(modelsJsonPath),content;try{content=await readFile(path,"utf-8")}catch(error){return error.code==="ENOENT"?new _ModelConfig(new Map):new _ModelConfig(new Map,`Failed to load models.json: ${error instanceof Error?error.message:error}
|
|
19
|
-
|
|
20
|
-
File: ${path}`)}let parsed;try{parsed=JSON.parse(stripJsonComments(stripBom(content)))}catch(error){return new _ModelConfig(new Map,`Failed to parse models.json: ${error instanceof Error?error.message:error}
|
|
21
|
-
|
|
22
|
-
File: ${path}`)}if(!validateModelsConfig.Check(parsed)){let errors=validateModelsConfig.Errors(parsed).map(error=>` - ${formatValidationPath2(error)}: ${error.message}`).join(`
|
|
23
|
-
`)||"Unknown schema error";return new _ModelConfig(new Map,`Invalid models.json schema:
|
|
24
|
-
${errors}
|
|
25
|
-
|
|
26
|
-
File: ${path}`)}let providers=new Map;for(let[providerId,provider]of Object.entries(parsed.providers))providers.set(providerId,deepFreeze(structuredClone(provider)));return new _ModelConfig(providers)}getProvider(providerId){return this.providers.get(providerId)}getProviderIds(){return[...this.providers.keys()]}getError(){return this.error}};import{join}from"node:path";var sharedModelsFileReadState,InMemoryCodingAgentModelsStore=class{entries=new Map;async read(providerId,options){options?.signal?.throwIfAborted();let entry=this.entries.get(providerId);return entry?structuredClone(entry):void 0}async write(providerId,entry,options){options?.signal?.throwIfAborted(),this.entries.set(providerId,structuredClone(entry))}async delete(providerId,options){options?.signal?.throwIfAborted(),this.entries.delete(providerId)}},FileModelsStore=class{storage;path;readState;constructor(path=join(getAgentDir(),"models-store.json")){this.path=normalizePath(path),this.storage=new FileAuthStorageBackend(this.path),this.readState=sharedModelsFileReadState?.path===this.path?sharedModelsFileReadState.readState:{data:{}},sharedModelsFileReadState||(sharedModelsFileReadState={path:this.path,readState:this.readState})}parse(content){return content?JSON.parse(stripBom(content)):{}}updateReadState(readState,data,revision){readState.data=data,readState.revision=revision}reloadFromStorage(readState,options){return this.storage.withLockAsync(async content=>{let data=this.parse(content);return this.updateReadState(readState,data,getFileRevision(this.path)),{result:data}},options)}async readLatest(readState,options){options?.signal?.throwIfAborted();let revision=getFileRevision(this.path);if(revision!==void 0&&revision===readState.revision)return readState.data;if(!readState.reload){let controller=new AbortController,reload2={controller,promise:this.reloadFromStorage(readState,{signal:controller.signal}),readers:0};readState.reload=reload2,reload2.promise.then(()=>{readState.reload===reload2&&(readState.reload=void 0)},()=>{readState.reload===reload2&&(readState.reload=void 0)})}let reload=readState.reload;reload.readers++;try{return await raceWithAbortSignal(reload.promise,options?.signal)}finally{reload.readers--,reload.readers===0&&readState.reload===reload&&(readState.reload=void 0,reload.controller.abort())}}async read(providerId,options){let entry=(await this.readLatest(this.readState,options))[providerId];return options?.signal?.throwIfAborted(),entry?structuredClone(entry):void 0}async write(providerId,entry,options){let latest;await this.storage.withLockAsync(async content=>{let current=this.parse(content);return current[providerId]=structuredClone(entry),latest=current,{result:void 0,next:JSON.stringify(current,null,2)}},options),latest&&this.updateReadState(this.readState,latest)}async delete(providerId,options){let latest;await this.storage.withLockAsync(async content=>{let current=this.parse(content);return delete current[providerId],latest=current,{result:void 0,next:JSON.stringify(current,null,2)}},options),latest&&this.updateReadState(this.readState,latest)}};function getAllProviderModels(provider){return provider?provider.getAllModels?.()??provider.getModels():[]}function mergeCompat(base,override){if(!override)return base;let merged={...base,...override},baseNested=base,overrideNested=override,mergedNested=merged;for(let key of["openRouterRouting","vercelGatewayRouting","chatTemplateKwargs","chatTemplateArgs"]){let baseValue=baseNested?.[key],overrideValue=overrideNested[key];(typeof baseValue=="object"&&baseValue!==null||typeof overrideValue=="object"&&overrideValue!==null)&&(mergedNested[key]={...baseValue,...overrideValue})}return merged}function mergeInputLimits(base,override){return override?{...base,...override,images:override.images?{...base?.images,...override.images,resize:override.images.resize?{...base?.images?.resize,...override.images.resize}:base?.images?.resize}:base?.images}:base}function mergeSamplingParamsByThinkingLevel(base,override){if(!override)return base;let merged={...base};for(let level of["off","minimal","low","medium","high","xhigh","max"]){let params=override[level];params&&(merged[level]={...base?.[level],...params})}return merged}function applyModelOverride(model,override){return{...model,name:override.name??model.name,reasoning:override.reasoning??model.reasoning,thinkingLevelMap:override.thinkingLevelMap?{...model.thinkingLevelMap,...override.thinkingLevelMap}:model.thinkingLevelMap,input:override.input??model.input,inputLimits:mergeInputLimits(model.inputLimits,override.inputLimits),cost:override.cost?{input:override.cost.input??model.cost.input,output:override.cost.output??model.cost.output,cacheRead:override.cost.cacheRead??model.cost.cacheRead,cacheWrite:override.cost.cacheWrite??model.cost.cacheWrite,tiers:override.cost.tiers??model.cost.tiers}:model.cost,promptCache:override.promptCache?{...model.promptCache,...override.promptCache}:model.promptCache,contextWindow:override.contextWindow??model.contextWindow,maxTokens:override.maxTokens??model.maxTokens,samplingParams:override.samplingParams?{...model.samplingParams,...override.samplingParams}:model.samplingParams,samplingParamsByThinkingLevel:mergeSamplingParamsByThinkingLevel(model.samplingParamsByThinkingLevel,override.samplingParamsByThinkingLevel),compat:mergeCompat(model.compat,override.compat)}}function modelFromJson(providerId,definition,providerConfig,defaults){let api=definition.api??providerConfig.api??defaults?.api;if(!api)throw new Error(`Provider ${providerId}, model ${definition.id}: no "api" specified. Set at provider or model level.`);let baseUrl=definition.baseUrl??providerConfig.baseUrl??defaults?.baseUrl;if(!baseUrl)throw new Error(`Provider ${providerId}: "baseUrl" is required when defining custom models.`);if(definition.contextWindow!==void 0&&definition.contextWindow<=0)throw new Error(`Provider ${providerId}, model ${definition.id}: invalid contextWindow`);if(definition.maxTokens!==void 0&&definition.maxTokens<=0)throw new Error(`Provider ${providerId}, model ${definition.id}: invalid maxTokens`);return{id:definition.id,name:definition.name??definition.id,api,provider:providerId,baseUrl,reasoning:definition.reasoning??!1,thinkingLevelMap:definition.thinkingLevelMap,input:definition.input??["text"],inputLimits:definition.inputLimits,cost:definition.cost??{input:0,output:0,cacheRead:0,cacheWrite:0},promptCache:definition.promptCache,contextWindow:definition.contextWindow??128e3,maxTokens:definition.maxTokens??16384,samplingParams:definition.samplingParams,samplingParamsByThinkingLevel:definition.samplingParamsByThinkingLevel,headers:void 0,compat:mergeCompat(providerConfig.compat,definition.compat)}}function findModelDefaults(models,modelId,api){let chatModels=models.filter(model=>isModelType(model,"chat"));return api?chatModels.find(model=>model.id===modelId&&model.api===api)??chatModels.find(model=>model.api===api):chatModels.find(model=>model.id===modelId)??chatModels.find(model=>model.api==="openai-completions")??chatModels[0]}function findExtensionModelDefaults(models,definition){let type=definition.type??"chat",candidates=models.filter(model=>isModelType(model,type));return candidates.find(model=>model.id===definition.id)??(definition.api?candidates.find(model=>model.api===definition.api):void 0)??(type==="chat"?candidates.find(model=>model.api==="openai-completions"):void 0)??candidates[0]}function extensionModelFromDefinition(providerId,models,config,definition){let type=definition.type??"chat",defaults=findExtensionModelDefaults(models,definition),api=definition.api??(type==="chat"?config.api:void 0)??defaults?.api;if(!api)throw new Error(`Provider ${providerId}, model ${definition.id}: no "api" specified. Set it at model level${type==="chat"?" or provider level":""}.`);let baseUrl=definition.baseUrl??config.baseUrl??defaults?.baseUrl;if(!baseUrl)throw new Error(`Provider ${providerId}: "baseUrl" is required when defining custom models.`);return definition.type==="image"?{...definition,api,provider:providerId,baseUrl,headers:void 0}:definition.type==="classifier"?{...definition,api,provider:providerId,baseUrl,headers:void 0}:{...definition,api,provider:providerId,baseUrl,headers:void 0}}function applyModelsJson(providerId,baseModels,config){if(!config)return[...baseModels];if(config.oauth&&!config.baseUrl)throw new Error(`Provider ${providerId}: "baseUrl" is required when "oauth" is set.`);let hasOverrides=config.modelOverrides&&Object.keys(config.modelOverrides).length>0;if(!config.models?.length&&!config.baseUrl&&!config.headers&&!config.compat&&!hasOverrides&&!config.apiKey&&!config.oauth&&config.authHeader===void 0)throw new Error(`Provider ${providerId}: must specify "baseUrl", "headers", "compat", "modelOverrides", or "models".`);let models=baseModels.map(model=>{let baseUrl=config.oauth==="radius"?model.baseUrl:config.baseUrl??model.baseUrl;return isModelType(model,"chat")?{...model,baseUrl,compat:mergeCompat(model.compat,config.compat)}:{...model,baseUrl}});for(let definition of config.models??[]){let existingIndex=models.findIndex(model2=>isModelType(model2,"chat")&&model2.id===definition.id),defaults=findModelDefaults(models,definition.id,definition.api??config.api),model=modelFromJson(providerId,definition,config,defaults);existingIndex>=0?models[existingIndex]=model:models.push(model)}return models}function applyExtension(providerId,models,config){return config?config.models?config.models.map(definition=>extensionModelFromDefinition(providerId,models,config,definition)):config.baseUrl?models.map(model=>({...model,baseUrl:config.baseUrl})):[...models]:[...models]}function adaptOAuth(config){return{name:config.name,isSubscription:config.isSubscription,login:async callbacks=>({...await config.login({onAuth:info=>callbacks.notify({type:"auth_url",...info}),onDeviceCode:info=>callbacks.notify({type:"device_code",...info}),onPrompt:prompt=>callbacks.prompt({type:"text",...prompt}),onProgress:message=>callbacks.notify({type:"progress",message}),onManualCodeInput:()=>callbacks.prompt({type:"manual_code",message:"Paste the authorization code"}),onSelect:prompt=>callbacks.prompt({type:"select",...prompt}),signal:callbacks.signal}),type:"oauth"}),refresh:async(credential,signal)=>({...await config.refreshToken(credential,signal),type:"oauth"}),toAuth:async credential=>({apiKey:config.getApiKey(credential)})}}function withConfiguredAuth(auth,headers,authHeader){let mergedHeaders=auth.headers||headers?{...auth.headers,...headers}:void 0;if(authHeader){if(!auth.apiKey)throw new Error("authHeader requires a resolved API key");mergedHeaders={...mergedHeaders,Authorization:`Bearer ${auth.apiKey}`}}return{...auth,headers:mergedHeaders}}function configuredApiKey(config,extension){return extension?.apiKey??config?.apiKey}function configuredHeaders(config,extension){if(!(!config?.headers&&!extension?.headers))return{...config?.headers,...extension?.headers}}async function configContextEnv(values,ctx,explicit){let env={...explicit};for(let name of new Set(values.flatMap(getConfigValueEnvVarNames))){if(env[name]!==void 0)continue;let value=await ctx.env(name);value!==void 0&&(env[name]=value)}return Object.keys(env).length>0?env:void 0}function composeApiKeyAuth(providerId,base,config,extension){let inherited=base?.auth.apiKey,rawKey=configuredApiKey(config,extension),oauth=extension?.oauth??base?.auth.oauth;if(!inherited&&rawKey===void 0&&oauth)return;let rawHeaders=configuredHeaders(config,extension),authHeader=extension?.authHeader??config?.authHeader??!1;return{name:inherited?.name??"API key",login:inherited?.login??(async interaction=>({type:"api_key",key:await interaction.prompt({type:"secret",message:"Enter API key"})})),check:async input=>{if(input.credential){if(inherited?.check)return inherited.check(input);if(input.credential.key)return{type:"api_key",source:"stored credential"};let resolved2=await inherited?.resolve(input);return resolved2?{type:"api_key",source:resolved2.source}:void 0}if(rawKey!==void 0){if(isCommandConfigValue(rawKey))return{type:"api_key",source:"configured API key"};let envNames=getConfigValueEnvVarNames(rawKey);for(let name of envNames)if(await input.ctx.env(name)===void 0)return;return{type:"api_key",source:"configured API key"}}if(inherited?.check)return inherited.check(input);let resolved=await inherited?.resolve(input);return resolved?{type:"api_key",source:resolved.source}:void 0},resolve:async input=>{let result;if(input.credential)result=inherited?await inherited.resolve(input):input.credential.key?{auth:{apiKey:input.credential.key},env:input.credential.env,source:"stored credential"}:void 0;else if(rawKey!==void 0){let env=await configContextEnv([rawKey],input.ctx),key=resolveConfigValueOrThrow(rawKey,`API key for provider "${providerId}"`,env);result=inherited?await inherited.resolve({...input,credential:{type:"api_key",key}}):{auth:{apiKey:key},source:"configured API key"}}else result=await inherited?.resolve(input);if(!result)return;let explicitEnv={...input.credential?.env??{},...result.env??{}},headerEnv=await configContextEnv(Object.values(rawHeaders??{}),input.ctx,explicitEnv),headers=resolveHeadersOrThrow(rawHeaders,`provider "${providerId}"`,headerEnv);return{...result,auth:withConfiguredAuth(result.auth,headers,authHeader)}}}}function composeOAuthAuth(providerId,base,config,extension){let oauth=extension?.oauth?adaptOAuth(extension.oauth):base?.auth.oauth;if(!oauth)return;let rawHeaders=configuredHeaders(config,extension),authHeader=extension?.authHeader??config?.authHeader??!1;return{...oauth,toAuth:async credential=>{let auth=await oauth.toAuth(credential),env=credential.env,headers=resolveHeadersOrThrow(rawHeaders,`provider "${providerId}"`,typeof env=="object"&&env!==null?env:void 0);return withConfiguredAuth(auth,headers,authHeader)}}}function rawModelHeaders(model,config,extension){let chatDefinition=isModelType(model,"chat")?config?.models?.find(entry=>entry.id===model.id):void 0,extensionModel=extension?.models?.find(entry=>(entry.type??"chat")===(model.type??"chat")&&entry.id===model.id),headers={...isModelType(model,"chat")?config?.modelOverrides?.[model.id]?.headers:void 0,...chatDefinition?.headers,...extensionModel?.headers};return Object.keys(headers).length>0?headers:void 0}function validateExtensionProvider(providerId,base,modelsConfig,extension){if(extension.streamSimple&&!extension.api)throw new Error(`Provider ${providerId}: "api" is required when registering streamSimple.`);applyExtension(providerId,applyModelsJson(providerId,getAllProviderModels(base),modelsConfig),extension)}function composeModelProvider(providerId,base,modelConfig,extension){let config=modelConfig.getProvider(providerId),extensionOAuthCredential,refreshedExtensionModels,currentExtension=()=>extension&&refreshedExtensionModels?{...extension,models:refreshedExtensionModels}:extension,getAllModels=()=>{let models=applyExtension(providerId,applyModelsJson(providerId,getAllProviderModels(base),config),currentExtension());return extensionOAuthCredential&&extension?.oauth?.modifyModels&&(models=[...extension.oauth.modifyModels(models.filter(model=>isModelType(model,"chat")),extensionOAuthCredential),...models.filter(model=>!isModelType(model,"chat"))]),models.map(model=>{let override=config?.modelOverrides?.[model.id];return override&&isModelType(model,"chat")?applyModelOverride(model,override):model})};getAllModels();let apiKey=composeApiKeyAuth(providerId,base,config,extension),oauth=composeOAuthAuth(providerId,base,config,extension);if(!apiKey&&!oauth)throw new Error(`Provider ${providerId}: no authentication method configured.`);let supportsBaseApi=model=>base?.getModels().some(entry=>entry.api===model.api)??!1,streamWith=(model,context,options,simple)=>lazyStream(model,async()=>{if(extension?.streamSimple&&model.api===extension.api)return extension.streamSimple(model,context,options);if(base&&supportsBaseApi(model))return simple?base.streamSimple(model,context,options):base.stream(model,context,options);let api=getApiProvider(model.api);if(!api)throw new Error(`No API provider registered for api: ${model.api}`);return simple?api.streamSimple(model,context,options):api.stream(model,context,options)}),provider={id:providerId,name:extension?.name??config?.name??base?.name??extension?.oauth?.name??providerId,baseUrl:extension?.baseUrl??config?.baseUrl??base?.baseUrl,headers:base?.headers,auth:{...apiKey?{apiKey}:{},...oauth?{oauth}:{}},getModels:()=>getAllModels().filter(model=>isModelType(model,"chat")),getAllModels,refreshModels:base?.refreshModels||extension?.refreshModels||extension?.oauth?.modifyModels?async context=>{await base?.refreshModels?.(context);let refreshed;if(extension?.refreshModels&&(refreshed=await extension.refreshModels(context)),context.signal.aborted)return;let oauthCredential=context.credential?.type==="oauth"?context.credential:void 0;await context.publish({update:()=>{refreshed&&(applyExtension(providerId,applyModelsJson(providerId,getAllProviderModels(base),config),{...extension,models:refreshed}),refreshedExtensionModels=refreshed),extensionOAuthCredential=oauthCredential}})}:void 0,filterModels:base?.filterModels?(models,credential)=>base.filterModels(models,credential):void 0,filterAllModels:base?.filterAllModels?(models,credential)=>base.filterAllModels(models,credential):void 0,stream:(model,context,options)=>streamWith(model,context,options,!1),streamSimple:(model,context,options)=>streamWith(model,context,options,!0)},fetchDeferred=base?.fetchDeferred;fetchDeferred&&(provider.fetchDeferred=(model,handle,options)=>fetchDeferred(model,handle,options));let cancelDeferred=base?.cancelDeferred;cancelDeferred&&(provider.cancelDeferred=(model,handle,options)=>cancelDeferred(model,handle,options));let extensionImages=extension?.images,generateImages2=base?.generateImages;(generateImages2||Object.keys(extensionImages??{}).length>0)&&(provider.generateImages=(model,context,options)=>{let implementation=extensionImages?.[model.api];return implementation?implementation.generateImages(model,context,options):generateImages2?generateImages2(model,context,options):Promise.resolve(imageErrorResult(model,new Error(`Provider ${providerId} has no image implementation for "${model.api}"`)))});let extensionClassifiers=extension?.classifiers,classify=base?.classify;return(classify||Object.keys(extensionClassifiers??{}).length>0)&&(provider.classify=(model,context,options)=>{let implementation=extensionClassifiers?.[model.api];return implementation?implementation.classify(model,context,options):classify?classify(model,context,options):Promise.resolve(classifierErrorResult(model,new Error(`Provider ${providerId} has no classifier implementation for "${model.api}"`)))}),provider}function resolveConfiguredModelHeaders(model,config,extension,env){return resolveHeadersOrThrow(rawModelHeaders(model,config,extension),`model "${model.provider}/${model.id}"`,env)}function resolveCompatibilityRequestConfig(model,config,extension){let configured=resolveHeadersOrThrow({...configuredHeaders(config,extension),...rawModelHeaders(model,config,extension)},`model "${model.provider}/${model.id}"`);return{headers:model.headers||configured?{...model.headers,...configured}:void 0,authHeader:extension?.authHeader??config?.authHeader??!1}}function configuredRequestAuthStatus(config,extension){let value=configuredApiKey(config,extension);if(value===void 0)return;if(isCommandConfigValue(value))return{configured:!0,source:"models_json_command"};let names2=getConfigValueEnvVarNames(value);return names2.length>0?isConfigValueConfigured(value)?{configured:!0,source:"environment",label:names2.join(", ")}:{configured:!1}:{configured:!0,source:extension?.apiKey!==void 0?"fallback":"models_json_key"}}var RETRYABLE_STATUS_CODES=new Set([408,425,429,500,502,503,504]);async function fetchWithRetry(input,init=void 0,options={}){let maxRetries=options.maxRetries===void 0||!Number.isFinite(options.maxRetries)?2:Math.max(0,Math.floor(options.maxRetries)),retryOnStatus=options.retryOnStatus??!0,parentSignal=init?.signal??void 0,timeoutSignal=options.timeoutMs!==void 0&&options.timeoutMs>0?AbortSignal.timeout(options.timeoutMs):void 0,attemptTimeoutMs=options.attemptTimeoutMs!==void 0&&options.attemptTimeoutMs>0?options.attemptTimeoutMs:void 0;for(let attempt=0;;attempt++){parentSignal?.throwIfAborted(),timeoutSignal?.throwIfAborted();let attemptTimeoutSignal=attemptTimeoutMs?AbortSignal.timeout(attemptTimeoutMs):void 0,signals=[parentSignal,timeoutSignal,attemptTimeoutSignal].filter(signal2=>signal2!==void 0),signal=signals.length>1?AbortSignal.any(signals):signals[0];try{let response=await fetch(input,signal?{...init,signal}:init);if(!(retryOnStatus&&RETRYABLE_STATUS_CODES.has(response.status)&&attempt<maxRetries))return response;try{await response.body?.cancel()}catch{}}catch(error){let attemptTimedOut=attemptTimeoutSignal?.aborted===!0&&!parentSignal?.aborted&&!timeoutSignal?.aborted;if(parentSignal?.aborted||timeoutSignal?.aborted||error instanceof Error&&error.name==="AbortError"&&!attemptTimedOut&&timeoutSignal===void 0||attempt>=maxRetries)throw error}}}function getKnightcodeUserAgent(version){let runtime=process.versions.bun?`bun/${process.versions.bun}`:`node/${process.version}`;return`knightcode/${version} (${process.platform}; ${runtime}; ${process.arch})`}var DEFAULT_CATALOG_BASE_URL="https://knightcode.dev",REMOTE_CATALOG_ATTEMPT_TIMEOUT_MS=4e3,REMOTE_CATALOG_REFRESH_INTERVAL_MS=14400*1e3,REMOTE_CATALOG_MODEL_TYPES=["chat","image","classifier"];function isSupportedModelType(model){return model.type===void 0||typeof model.type=="string"&&REMOTE_CATALOG_MODEL_TYPES.includes(model.type)}function mergeModels(baseline,dynamic){let merged=new Map;for(let model of[...baseline,...dynamic])merged.set(`${getModelType(model)}\0${model.id}`,model);return[...merged.values()]}function parseCatalog(providerId,value){let entries=Array.isArray(value)?value:typeof value=="object"&&value!==null&&"models"in value&&Array.isArray(value.models)?value.models:typeof value=="object"&&value!==null?Object.values(value):void 0;if(!entries)throw new Error(`Invalid model catalog for provider "${providerId}"`);return entries.filter(entry=>typeof entry=="object"&&entry!==null&&"id"in entry).filter(isSupportedModelType).map(model=>({...model,provider:providerId}))}async function readCatalog(providerId,response){let lastModified=Date.parse(response.headers.get("last-modified")??"");return{models:parseCatalog(providerId,await response.json()),lastModified:Number.isNaN(lastModified)?0:lastModified,etag:response.headers.get("etag")??void 0}}function isNewer(lastModified,localGeneratedAt){return localGeneratedAt===void 0||lastModified!==void 0&&lastModified>localGeneratedAt}function remoteModels(entry,localGeneratedAt){return entry&&isNewer(entry.lastModified,localGeneratedAt)?entry.models:[]}function requestCatalog(providerId,catalogBaseUrl,signal,validator){let url=new URL(`/api/models/providers/${encodeURIComponent(providerId)}`,catalogBaseUrl);return url.searchParams.set("types",REMOTE_CATALOG_MODEL_TYPES.join(",")),fetchWithRetry(url,{headers:{accept:"application/json","User-Agent":getKnightcodeUserAgent(VERSION),...validator?{"if-none-match":validator}:{}},signal},{attemptTimeoutMs:REMOTE_CATALOG_ATTEMPT_TIMEOUT_MS})}function withRemoteCatalog(provider,catalogBaseUrl=DEFAULT_CATALOG_BASE_URL,localGeneratedAt){let dynamicModels=[];return{...provider,getModels:()=>mergeModels(provider.getModels(),dynamicModels.filter(model=>isModelType(model,"chat"))),getAllModels:()=>mergeModels(provider.getAllModels?.()??provider.getModels(),dynamicModels),refreshModels:async context=>{let stored=context.stored,restored=remoteModels(stored,localGeneratedAt).filter(model=>model.provider===provider.id);if(!await context.publish({update:()=>{dynamicModels=restored}})||!context.allowNetwork||context.signal.aborted||!context.force&&stored?.checkedAt!==void 0&&stored.lastModified!==void 0&&Date.now()-stored.checkedAt<REMOTE_CATALOG_REFRESH_INTERVAL_MS)return;let validator=stored&&stored.models.length>0?stored.etag:void 0,response=await requestCatalog(provider.id,catalogBaseUrl,context.signal,validator);if(context.signal.aborted)return;let checkedAt=Date.now();if(response.status===304&&stored){await context.publish({persist:{...stored,checkedAt}});return}if(response.status===404||response.status===501){await context.publish({persist:{...stored??{models:[]},checkedAt,lastModified:0,etag:void 0}});return}if(!response.ok)throw await context.publish({persist:{...stored??{models:[]},checkedAt}}),new Error(`Model catalog request failed for ${provider.id}: ${response.status}`);let catalog=await readCatalog(provider.id,response);if(context.signal.aborted)return;let entry={...catalog,checkedAt},published=remoteModels(entry,localGeneratedAt);await context.publish({persist:entry,update:()=>{dynamicModels=published}})}}}function withPersonalizedCatalog(provider,personalize,catalogBaseUrl=DEFAULT_CATALOG_BASE_URL,localGeneratedAt){let personalModels=[],builtinModels2=()=>provider.getAllModels?.()??provider.getModels(),getAllModels=()=>personalModels.length>0?personalModels:builtinModels2();return{...provider,getModels:()=>getAllModels().filter(model=>isModelType(model,"chat")),getAllModels,refreshModels:async context=>{let restored=(context.stored?.models??[]).filter(model=>model.provider===provider.id);if(!await context.publish({update:()=>{personalModels=restored}})||!context.allowNetwork||context.signal.aborted)return;let response=await requestCatalog(provider.id,catalogBaseUrl,context.signal);if(context.signal.aborted)return;let remote=[];if(response.status!==404&&response.status!==501){if(!response.ok)throw new Error(`Model catalog request failed for ${provider.id}: ${response.status}`);let catalog=await readCatalog(provider.id,response);isNewer(catalog.lastModified,localGeneratedAt)&&(remote=catalog.models)}let personalized=await personalize(mergeModels(builtinModels2(),remote),context);context.signal.aborted||await context.publish({persist:{models:personalized,checkedAt:Date.now()},update:()=>{personalModels=personalized}})}}}var RuntimeCredentials=class{store;overrides=new Map;constructor(store){this.store=store}setRuntimeApiKey(providerId,apiKey){this.overrides.set(providerId,apiKey)}removeRuntimeApiKey(providerId){this.overrides.delete(providerId)}hasRuntimeApiKey(providerId){return this.overrides.has(providerId)}async read(providerId,options){options?.signal?.throwIfAborted();let override=this.overrides.get(providerId);return override?{type:"api_key",key:override}:this.store.read(providerId,options)}async list(options){let entries=new Map((await this.store.list(options)).map(entry=>[entry.providerId,entry]));options?.signal?.throwIfAborted();for(let providerId of this.overrides.keys())entries.set(providerId,{providerId,type:"api_key"});return[...entries.values()]}modify(providerId,fn,options){return this.store.modify(providerId,fn,options)}async delete(providerId,options){options?.signal?.throwIfAborted(),await this.store.delete(providerId,options),this.overrides.delete(providerId)}};var VIRTUAL_MODEL_API="knightcode-virtual",VIRTUAL_MODEL_STATE_ENTRY="knightcode.virtual-model-state",THINKING_LEVELS2=["off","minimal","low","medium","high","xhigh","max"];function isVirtualModel(model){return model.api===VIRTUAL_MODEL_API}function findLatestResponse(messages){for(let i=messages.length-1;i>=0;i--){let message=messages[i];if(message.role==="assistant"&&message.stopReason!=="error"&&message.stopReason!=="aborted")return message}}function getBranchSelection(branch,getModel2){let unavailable;for(let i=branch.length-1;i>=0;i--){let entry=branch[i];if(entry.type==="model_change"){let change={provider:entry.provider,modelId:entry.modelId};if(getModel2(change.provider,change.modelId))return change;unavailable??=change;continue}if(entry.type==="message"&&entry.message.role==="assistant"&&!isVirtualModel(entry.message)){let response={provider:entry.message.provider,modelId:entry.message.model},change=findLastModelChange(branch,i),model=change&&getModel2(change.provider,change.modelId);return change&&model&&isVirtualModel(model)?change:response}}return unavailable}function findLastModelChange(branch,before){for(let i=before-1;i>=0;i--){let entry=branch[i];if(entry.type==="model_change")return{provider:entry.provider,modelId:entry.modelId}}}function getVirtualModelState(branch,provider,modelId){for(let i=branch.length-1;i>=0;i--){let entry=branch[i];if(entry.type!=="custom"||entry.customType!==VIRTUAL_MODEL_STATE_ENTRY)continue;let data=entry.data;if(data?.provider===provider&&data.modelId===modelId)return data.state}}function createVirtualModel(definition){let levels=definition.thinkingLevels??["off"],thinkingLevelMap={};for(let level of THINKING_LEVELS2)thinkingLevelMap[level]=levels.includes(level)?level:null;return{id:definition.id,name:definition.name,api:VIRTUAL_MODEL_API,provider:definition.provider,baseUrl:"",reasoning:levels.some(level=>level!=="off"),thinkingLevelMap,input:definition.input??["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:definition.contextWindow??0,maxTokens:definition.maxTokens??0}}function unroutedStream(model){return lazyStream(model,async()=>{throw new Error(`Virtual model ${model.provider}/${model.id} must be routed before streaming`)})}function withVirtualModels(providerId,provider,virtualModels){if(!provider)return{id:providerId,name:providerId,auth:{apiKey:{name:"Virtual model",resolve:async()=>({auth:{},source:"virtual"})}},getModels:()=>virtualModels,stream:unroutedStream,streamSimple:unroutedStream};let ids=new Set(virtualModels.map(model=>model.id)),physical=models=>models.filter(model=>!isVirtualModel(model)&&!(isModelType(model,"chat")&&ids.has(model.id))),virtual=models=>models.filter(model=>isVirtualModel(model)),{filterModels,filterAllModels}=provider;return{...provider,getModels:()=>[...physical(provider.getModels()),...virtualModels],getAllModels:()=>[...physical(provider.getAllModels?.()??provider.getModels()),...virtualModels],filterModels:(models,credential)=>{let real=physical(models);return[...filterModels?.(real,credential)??real,...virtual(models)]},filterAllModels:filterAllModels&&((models,credential)=>[...filterAllModels(physical(models),credential),...virtual(models)]),stream:(model,context,options)=>isVirtualModel(model)?unroutedStream(model):provider.stream(model,context,options),streamSimple:(model,context,options)=>isVirtualModel(model)?unroutedStream(model):provider.streamSimple(model,context,options)}}var UNOWNED=Object.freeze({}),CredentialSynchronizationError=class extends Error{providerId;operation;credential;constructor(providerId,operation,credential,options){super(`Credential ${operation} committed for ${providerId}, but local synchronization failed`,options),this.name="CredentialSynchronizationError",this.providerId=providerId,this.operation=operation,this.credential=credential}};function mergeHeaders(base,override){if(!base&&!override)return;let merged={...base};for(let[name,value]of Object.entries(override??{})){let lowerName=name.toLowerCase();for(let existingName of Object.keys(merged))existingName.toLowerCase()===lowerName&&delete merged[existingName];merged[name]=value}return merged}var ModelRuntime=class _ModelRuntime{models;credentials;defaultBuiltins;builtins=new Map;nativeExtensionProviders=new Map;extensionProviders=new Map;virtualModels=new Map;compositionErrors=new Map;modelsPath;modelNetworkEnabled;config;snapshot={all:[],available:[],configuredProviders:new Set,storedProviders:new Set,auth:new Map};availabilityRefreshSeq=0;availabilityErrorSeq=0;providerAvailabilitySeq=new Map;availabilityError;credentialOperations=new Map;constructor(credentials,config,modelsPath,modelsStore,providers,modelNetworkEnabled){this.credentials=credentials,this.config=config,this.modelsPath=modelsPath,this.modelNetworkEnabled=modelNetworkEnabled,this.defaultBuiltins=new Map(providers.map(provider=>[provider.id,provider]));for(let[providerId,provider]of this.defaultBuiltins)this.builtins.set(providerId,provider);this.models=createModels({credentials,modelsStore}),this.rebuildProviders()}static async create(options={}){let credentials=new RuntimeCredentials(options.credentials??AuthStorage.create(options.authPath)),modelsPath=options.modelsPath===null?void 0:options.modelsPath??join2(getAgentDir(),"models.json"),config=await ModelConfig.load(modelsPath),modelsStore=options.modelsStore??(modelsPath?new FileModelsStore(options.modelsStorePath??join2(dirname(modelsPath),"models-store.json")):new InMemoryCodingAgentModelsStore),builtinModelDataGeneratedAt=getBuiltinModelDataGeneratedAt(),providers=builtinProviders().map(provider=>provider.id==="radius"?provider:provider.id==="openrouter"?withPersonalizedCatalog(provider,personalizeOpenRouterCatalog,options.catalogBaseUrl,builtinModelDataGeneratedAt):withRemoteCatalog(provider,options.catalogBaseUrl,builtinModelDataGeneratedAt)),runtime=new _ModelRuntime(credentials,config,modelsPath,modelsStore,providers,process.env.KNIGHTCODE_OFFLINE===void 0);runtime.configureRadiusProviders(),runtime.rebuildProviders();let refreshFromNetwork=runtime.modelNetworkEnabled&&options.allowModelNetwork===!0,controller=refreshFromNetwork&&options.modelRefreshTimeoutMs!==void 0?new AbortController:void 0,timeout=controller?setTimeout(()=>controller.abort(),options.modelRefreshTimeoutMs):void 0,signal=controller?options.signal?AbortSignal.any([options.signal,controller.signal]):controller.signal:options.signal;try{options.refreshOnCreate!==!1&&await runtime.refresh({allowNetwork:refreshFromNetwork,signal})}finally{timeout&&clearTimeout(timeout)}return runtime}configureRadiusProviders(){this.builtins.clear();for(let[providerId,provider]of this.defaultBuiltins)this.builtins.set(providerId,provider);for(let providerId of this.config.getProviderIds()){let config=this.config.getProvider(providerId);config?.oauth!=="radius"||!config.baseUrl||this.builtins.set(providerId,radiusProvider({id:providerId,name:config.name??providerId,gateway:config.baseUrl.replace(/\/v1\/?$/u,"")}))}}providerIds(){return new Set([...this.builtins.keys(),...this.nativeExtensionProviders.keys(),...this.config.getProviderIds(),...this.extensionProviders.keys(),...this.virtualModels.keys()])}recomposeProvider(providerId){let provider=this.composeProvider(providerId),virtualModels=[...this.virtualModels.get(providerId)?.values()??[]].map(entry=>entry.model);return virtualModels.length>0?this.models.setProvider(withVirtualModels(providerId,provider,virtualModels)):provider?this.models.setProvider(provider):this.models.deleteProvider(providerId),provider}composeProvider(providerId){let base=this.nativeExtensionProviders.get(providerId)??this.builtins.get(providerId),extension=this.extensionProviders.get(providerId);if(!this.config.getProvider(providerId)&&!extension)return this.compositionErrors.delete(providerId),base;try{let provider=composeModelProvider(providerId,base,this.config,extension);return this.compositionErrors.delete(providerId),provider}catch(error){return this.compositionErrors.set(providerId,error instanceof Error?error.message:String(error)),base}}rebuildProviders(){this.models.clearProviders(),this.compositionErrors.clear();for(let providerId of this.providerIds())this.recomposeProvider(providerId);this.updateModelSnapshot()}updateModelSnapshot(){let all=[...this.models.getModels()];this.snapshot={...this.snapshot,all,available:all.filter(model=>this.snapshot.configuredProviders.has(model.provider))}}async runAvailabilityRefresh(seq,errorSeq,signal){let providers=this.models.getProviders(),[available,checks,credentials]=await Promise.all([this.models.getAvailable(void 0,{signal}),Promise.all(providers.map(async provider=>[provider.id,await this.models.checkAuth(provider.id,{signal})])),this.credentials.list({signal})]);if(seq!==this.availabilityRefreshSeq)return;let auth=new Map(checks),configuredProviders=new Set(checks.filter(entry=>entry[1]!==void 0).map(([providerId])=>providerId));this.snapshot={all:[...this.models.getModels()],available:[...available],configuredProviders,storedProviders:new Set(credentials.map(entry=>entry.providerId)),auth},errorSeq===this.availabilityErrorSeq&&(this.availabilityError=void 0)}queueAvailabilityRefresh(signal){let seq=++this.availabilityRefreshSeq;for(let[providerId,providerSeq]of this.providerAvailabilitySeq)this.providerAvailabilitySeq.set(providerId,providerSeq+1);let errorSeq=++this.availabilityErrorSeq,effectiveSignal=operationSignal(signal);return this.runAvailabilityRefresh(seq,errorSeq,effectiveSignal).catch(error=>{throw errorSeq===this.availabilityErrorSeq&&!effectiveSignal.aborted&&(this.availabilityError=error instanceof Error?error.message:String(error)),error})}async refreshProviderAvailability(providerId,signal){++this.availabilityRefreshSeq;let providerSeq=(this.providerAvailabilitySeq.get(providerId)??0)+1;this.providerAvailabilitySeq.set(providerId,providerSeq);let errorSeq=++this.availabilityErrorSeq;try{let[available,auth,credential]=await Promise.all([this.models.getAvailable(providerId,{signal}),this.models.checkAuth(providerId,{signal}),this.credentials.read(providerId,{signal})]);if(signal.throwIfAborted(),this.providerAvailabilitySeq.get(providerId)!==providerSeq)return;let configuredProviders=new Set(this.snapshot.configuredProviders),storedProviders=new Set(this.snapshot.storedProviders),authByProvider=new Map(this.snapshot.auth);auth?(configuredProviders.add(providerId),authByProvider.set(providerId,auth)):(configuredProviders.delete(providerId),authByProvider.delete(providerId)),credential?storedProviders.add(providerId):storedProviders.delete(providerId);let all=[...this.models.getModels()],availableById=new Map([...this.snapshot.available.filter(model=>model.provider!==providerId),...available].map(model=>[`${model.provider}\0${model.id}`,model]));this.snapshot={all,available:all.flatMap(model=>availableById.get(`${model.provider}\0${model.id}`)??[]),configuredProviders,storedProviders,auth:authByProvider},errorSeq===this.availabilityErrorSeq&&(this.availabilityError=void 0)}catch(error){throw this.providerAvailabilitySeq.get(providerId)===providerSeq&&errorSeq===this.availabilityErrorSeq&&!signal.aborted&&(this.availabilityError=error instanceof Error?error.message:String(error)),error}}getProviders(){return this.models.getProviders()}getProvider(providerId){return this.models.getProvider(providerId)}getModels(providerId){return this.models.getModels(providerId)}getModel(providerId,modelId){return this.models.getModel(providerId,modelId)}getModelsOfType(type,providerId){return this.models.getModelsOfType(type,providerId)}getModelOfType(type,providerId,modelId){return this.models.getModelOfType(type,providerId,modelId)}getAllModels(providerId){return this.models.getAllModels(providerId)}getAvailableOfType(type,providerId,options){return this.models.getAvailableOfType(type,providerId,options)}getAllAvailable(providerId,options){return this.models.getAllAvailable(providerId,options)}async checkAuth(providerId,options){return this.models.checkAuth(providerId,options)}async getAvailable(providerId,options){if(providerId){let errorSeq=++this.availabilityErrorSeq;try{let available=await this.models.getAvailable(providerId,options);return errorSeq===this.availabilityErrorSeq&&(this.availabilityError=void 0),available}catch(error){throw errorSeq===this.availabilityErrorSeq&&!options?.signal?.aborted&&(this.availabilityError=error instanceof Error?error.message:String(error)),error}}return await this.queueAvailabilityRefresh(options?.signal),this.snapshot.available}getAvailableSnapshot(){return this.snapshot.available}getError(){let errors=[],configError=this.config.getError();configError&&errors.push(configError);for(let[providerId,error]of this.compositionErrors)errors.push(`Provider "${providerId}": ${error}`);return this.availabilityError&&errors.push(`Availability refresh: ${this.availabilityError}`),errors.length>0?errors.join(`
|
|
27
|
-
|
|
28
|
-
`):void 0}getRegisteredProviderConfig(providerId){return this.extensionProviders.get(providerId)}getRegisteredProviderIds(){return[...new Set([...this.extensionProviders.keys(),...this.nativeExtensionProviders.keys()])]}getRegisteredNativeProvider(providerId){return this.nativeExtensionProviders.get(providerId)}getCompatibilityRequestConfig(model){return resolveCompatibilityRequestConfig(model,this.config.getProvider(model.provider),this.extensionProviders.get(model.provider))}isUsingOAuth(providerId){return this.snapshot.auth.get(providerId)?.type==="oauth"}isUsingSubscription(providerId){return this.isUsingOAuth(providerId)&&this.models.getProvider(providerId)?.auth.oauth?.isSubscription===!0}hasConfiguredAuth(providerId){return this.snapshot.configuredProviders.has(providerId)}async getAuth(providerOrModel,overrides={}){if(typeof providerOrModel=="string")return this.models.getAuth(providerOrModel,overrides);let resolution=await this.models.getAuth(providerOrModel,overrides);if(!resolution)return;let configuredHeaders2=resolveConfiguredModelHeaders(providerOrModel,this.config.getProvider(providerOrModel.provider),this.extensionProviders.get(providerOrModel.provider),{...resolution.env??{},...overrides.env??{}});return{...resolution,auth:{...resolution.auth,headers:mergeHeaders(resolution.auth.headers,configuredHeaders2)}}}enqueueCredentialOperation(providerId,signal,task){let previous=this.credentialOperations.get(providerId)??Promise.resolve(),markStarted,started=new Promise(resolve=>{markStarted=resolve}),operation=(async()=>(await previous.catch(()=>{}),signal.throwIfAborted(),markStarted?.(),task()))(),tail=operation.catch(()=>{});return this.credentialOperations.set(providerId,tail),tail.then(()=>{this.credentialOperations.get(providerId)===tail&&this.credentialOperations.delete(providerId)}),raceWithAbortSignal(started,signal).then(()=>operation)}async synchronizeCredentialState(providerId,operation,credential,signal){try{signal.throwIfAborted(),this.recomposeProvider(providerId);let compositionError=this.compositionErrors.get(providerId);if(compositionError)throw new Error(compositionError);let result=await this.models.refresh({allowNetwork:!1,providers:[providerId],signal});result.aborted&&signal.throwIfAborted();let refreshError=result.errors.get(providerId);if(refreshError)throw refreshError;this.updateModelSnapshot(),await this.refreshProviderAvailability(providerId,signal)}catch(cause){throw new CredentialSynchronizationError(providerId,operation,credential,{cause})}}setRuntimeApiKey(providerId,apiKey,options={}){let signal=operationSignal(options.signal);return this.enqueueCredentialOperation(providerId,signal,async()=>{this.credentials.setRuntimeApiKey(providerId,apiKey),await this.synchronizeCredentialState(providerId,"setRuntimeApiKey",{type:"api_key",key:apiKey},signal)})}removeRuntimeApiKey(providerId,options={}){let signal=operationSignal(options.signal);return this.enqueueCredentialOperation(providerId,signal,async()=>{this.credentials.removeRuntimeApiKey(providerId),await this.synchronizeCredentialState(providerId,"removeRuntimeApiKey",void 0,signal)})}listCredentials(options){return this.credentials.list(options)}getProviderAuthStatus(providerId){if(this.credentials.hasRuntimeApiKey(providerId))return{configured:!0,source:"runtime"};if(this.snapshot.storedProviders.has(providerId))return{configured:!0,source:"stored"};let configured=configuredRequestAuthStatus(this.config.getProvider(providerId),this.extensionProviders.get(providerId));if(configured)return configured;let check=this.snapshot.auth.get(providerId);return check?{configured:!0,source:"environment",label:check.source}:{configured:!1}}async prepareRequest(model,options){let provider=this.models.getProvider(model.provider);if(!provider)throw new ModelsError("provider",`Unknown provider: ${model.provider}`);let resolution=await this.getAuth(model,{apiKey:options?.apiKey,env:options?.env,signal:options?.signal});if(!resolution)throw new ModelsError("auth",`Provider is not configured: ${model.provider}`);let{transformHeaders,...rawProviderOptions}=options??{},providerOptions=rawProviderOptions,headers=mergeHeaders(resolution.auth.headers,providerOptions.headers);transformHeaders&&(headers=await transformHeaders(headers??{}));let env=resolution.env||providerOptions.env?{...resolution.env??{},...providerOptions.env??{}}:void 0,requestModel=resolution.auth.baseUrl?{...model,baseUrl:resolution.auth.baseUrl}:model;return{provider,model:requestModel,options:{...providerOptions,apiKey:providerOptions.apiKey??resolution.auth.apiKey,headers,env}}}stream(model,context,options){let transcript=normalizeContext(context);return lazyStream(model,async()=>{assertChatModel(model);let prepared=await this.prepareRequest(model,options);return prepared.provider.stream(prepared.model,transcript,prepared.options)})}complete(model,context,options){return this.stream(model,context,options).result()}streamSimple(model,context,options,owner){let transcript=normalizeContext(context);return isVirtualModel(model)?lazyStream(model,async()=>{let route=await this.resolveModel(model,transcript.messages,{reason:"direct",thinkingLevel:options?.reasoning??"off",signal:options?.signal,owner}),{maxTokens:limit}=route.model,maxTokens=options?.maxTokens&&limit>0?Math.min(options.maxTokens,limit):options?.maxTokens,reasoning=route.thinkingLevel==="off"?void 0:route.thinkingLevel,{apiKey,headers,env,...rest}=options??{},auth=route.model.provider===model.provider?{apiKey,headers,env}:{};return this.streamSimple(route.model,context,{...rest,...auth,maxTokens,reasoning},owner)}):lazyStream(model,async()=>{assertChatModel(model);let prepared=await this.prepareRequest(model,options);return prepared.provider.streamSimple(prepared.model,transcript,prepared.options)})}completeSimple(model,context,options,owner){return this.streamSimple(model,context,options,owner).result()}streamDeferred(model,handle,options){return lazyStream(model,async()=>{assertChatModel(model);let prepared=await this.prepareRequest(model,options);if(!prepared.provider.fetchDeferred)throw new ModelsError("provider",`Provider ${model.provider} does not support deferred responses`);return prepared.provider.fetchDeferred(prepared.model,handle,prepared.options)})}async fetchDeferred(model,handle,options){return this.streamDeferred(model,handle,options).result()}async cancelDeferred(model,handle,options){assertChatModel(model);let prepared=await this.prepareRequest(model,options);if(!prepared.provider.cancelDeferred)throw new ModelsError("provider",`Provider ${model.provider} does not support deferred responses`);await prepared.provider.cancelDeferred(prepared.model,handle,prepared.options)}async generateImages(model,context,options){try{assertImageModel(model);let prepared=await this.prepareRequest(model,options);if(!prepared.provider.generateImages)throw new ModelsError("provider",`Provider ${model.provider} does not support image generation`);return await prepared.provider.generateImages(prepared.model,context,prepared.options)}catch(error){return imageErrorResult(model,error,options?.signal?.aborted)}}async classify(model,context,options){try{assertClassifierModel(model),assertClassifierInputSupported(model,context);let prepared=await this.prepareRequest(model,options);if(!prepared.provider.classify)throw new ModelsError("provider",`Provider ${model.provider} does not support classification`);return await prepared.provider.classify(prepared.model,context,prepared.options)}catch(error){return classifierErrorResult(model,error,options?.signal?.aborted)}}login(providerId,type,interaction,options){let signal=operationSignal(interaction.signal);return this.enqueueCredentialOperation(providerId,signal,async()=>{let credential=await this.models.login(providerId,type,{...interaction,signal},options);return await this.synchronizeCredentialState(providerId,"login",credential,signal),credential})}logout(providerId,options={}){let signal=operationSignal(options.signal);return this.enqueueCredentialOperation(providerId,signal,async()=>{await this.models.logout(providerId,{signal}),await this.synchronizeCredentialState(providerId,"logout",void 0,signal)})}async refresh(options={}){if(this.config=await ModelConfig.load(this.modelsPath),this.configureRadiusProviders(),options.providers){for(let providerId of new Set(options.providers))this.recomposeProvider(providerId);this.updateModelSnapshot()}else this.rebuildProviders();let refreshOptions={...options,allowNetwork:options.allowNetwork??this.modelNetworkEnabled},result=await this.models.refresh(refreshOptions)??{aborted:refreshOptions.signal?.aborted??!1,errors:new Map},errors=new Map(result.errors);if(this.updateModelSnapshot(),options.providers)await Promise.all([...new Set(options.providers)].map(async providerId=>{try{await this.refreshProviderAvailability(providerId,operationSignal(options.signal))}catch(error){options.signal?.aborted||errors.set(providerId,error instanceof Error?error:new Error(String(error)))}}));else try{await this.queueAvailabilityRefresh(options.signal)}catch{}return{aborted:result.aborted||(options.signal?.aborted??!1),errors}}registerNativeProvider(provider){if(!provider.id.trim())throw new Error("Provider id must not be empty.");this.extensionProviders.delete(provider.id),this.nativeExtensionProviders.set(provider.id,provider),this.recomposeProvider(provider.id),this.updateModelSnapshot(),this.markProvisionallyConfigured(provider.id,configuredRequestAuthStatus(this.config.getProvider(provider.id),void 0),provider.auth.oauth&&!provider.auth.apiKey?"oauth":"api_key"),this.refresh({allowNetwork:!1})}markProvisionallyConfigured(providerId,configuredStatus,type){if(!this.snapshot.storedProviders.has(providerId)&&!configuredStatus?.configured)return;let configuredProviders=new Set(this.snapshot.configuredProviders).add(providerId),auth=new Map(this.snapshot.auth);auth.get(providerId)||auth.set(providerId,{type,source:"configured provider"}),this.snapshot={...this.snapshot,auth,configuredProviders,available:this.snapshot.all.filter(model=>configuredProviders.has(model.provider))}}registerProvider(providerId,config){validateExtensionProvider(providerId,this.builtins.get(providerId),this.config.getProvider(providerId),config),this.nativeExtensionProviders.delete(providerId);let effective={...this.extensionProviders.get(providerId)};for(let[key,value]of Object.entries(config))value!==void 0&&(effective[key]=value);this.extensionProviders.set(providerId,effective),this.recomposeProvider(providerId),this.updateModelSnapshot(),this.markProvisionallyConfigured(providerId,configuredRequestAuthStatus(this.config.getProvider(providerId),effective),effective.oauth&&!effective.apiKey?"oauth":"api_key"),this.refresh({allowNetwork:!1})}unregisterProvider(providerId){this.extensionProviders.delete(providerId),this.nativeExtensionProviders.delete(providerId),this.recomposeProvider(providerId),this.updateModelSnapshot(),this.refresh({allowNetwork:!1})}registerVirtualModel(definition,owner=UNOWNED){let{provider:providerId,id}=definition;if(!providerId.trim()||!id.trim())throw new Error("Virtual model provider and id must not be empty.");let existing=this.models.getModel(providerId,id);if(existing&&!isVirtualModel(existing))throw new Error(`Virtual model ${providerId}/${id} conflicts with a physical model.`);let models=this.virtualModels.get(providerId)??new Map,routes=models.get(id)?.routes??new Map;if(routes.set(owner,request=>definition.route(request)),models.set(id,{model:createVirtualModel(definition),routes}),this.virtualModels.set(providerId,models),!this.recomposeProvider(providerId)&&!this.snapshot.configuredProviders.has(providerId)){let auth=new Map(this.snapshot.auth).set(providerId,{type:"api_key",source:"virtual"}),configuredProviders=new Set(this.snapshot.configuredProviders).add(providerId);this.snapshot={...this.snapshot,auth,configuredProviders}}this.updateModelSnapshot(),this.refresh({allowNetwork:!1})}unregisterVirtualModel(providerId,id,owner=UNOWNED){let models=this.virtualModels.get(providerId),entry=models?.get(id);!models||!entry?.routes.delete(owner)||entry.routes.size>0||(models.delete(id),models.size===0&&this.virtualModels.delete(providerId),this.recomposeProvider(providerId),this.updateModelSnapshot(),this.refresh({allowNetwork:!1}))}releaseVirtualModels(owner){let changed=new Set;for(let[providerId,models]of[...this.virtualModels]){for(let[id,entry]of[...models])!entry.routes.delete(owner)||entry.routes.size>0||(models.delete(id),changed.add(providerId));models.size===0&&this.virtualModels.delete(providerId)}if(changed.size!==0){for(let providerId of changed)this.recomposeProvider(providerId);this.updateModelSnapshot(),this.refresh({allowNetwork:!1})}}async resolveModel(model,messages,options){let name=`Virtual model ${model.provider}/${model.id}`,virtual=this.virtualModels.get(model.provider)?.get(model.id);if(!virtual)throw new Error(`${name} is not registered.`);let router=virtual.routes.get(options.owner??UNOWNED)??virtual.routes.get(UNOWNED);if(!router)throw new Error(`${name} is not registered in this session.`);let{failed,owner:_owner,...request}=options,latest=findLatestResponse(messages),previousModel=latest&&this.getPhysicalModel(latest.provider,latest.model),failedModel=failed&&this.getPhysicalModel(failed.provider,failed.model),route=await router({...request,model,previous:previousModel&&{model:previousModel,thinkingLevel:latest?.thinkingLevel},failed:failedModel&&failed&&{model:failedModel,thinkingLevel:failed.thinkingLevel,message:failed},messages}),target=this.getPhysicalModel(route.model.provider,route.model.id),routed=`${name} routed to ${route.model.provider}/${route.model.id}`;if(!target)throw new Error(`${routed}, which is not a physical model.`);if(!this.hasConfiguredAuth(target.provider))throw new Error(`${routed}, which has no credentials.`);return{model:target,thinkingLevel:clampThinkingLevel(target,route.thinkingLevel),state:route.state}}getPhysicalModel(providerId,modelId){let model=this.models.getModel(providerId,modelId);return model&&!isVirtualModel(model)?model:void 0}};var import_proper_lockfile=__toESM(require_proper_lockfile(),1);import{existsSync,mkdirSync,readFileSync,writeFileSync}from"node:fs";import{homedir}from"node:os";import{dirname as dirname2,join as join3}from"node:path";var TRUST_REQUIRING_PROJECT_CONFIG_RESOURCES=["settings.json","mcp.json","extensions","skills","prompts","themes","SYSTEM.md","APPEND_SYSTEM.md"];function normalizeCwd(cwd){return canonicalizePath(resolvePath(cwd))}function findNearestTrustEntry(data,cwd){let currentDir=normalizeCwd(cwd);for(;;){let value=data[currentDir];if(value===!0||value===!1)return{path:currentDir,decision:value};let parentDir=dirname2(currentDir);if(parentDir===currentDir)return null;currentDir=parentDir}}function getProjectTrustParentPath(cwd){let trustPath=normalizeCwd(cwd),parentDir=dirname2(trustPath);return parentDir===trustPath?void 0:parentDir}function getProjectTrustOptions(cwd,options){let trustPath=normalizeCwd(cwd),trustOptions=[{label:"Trust",trusted:!0,updates:[{path:trustPath,decision:!0}],savedPath:trustPath}],parentPath=getProjectTrustParentPath(cwd);return parentPath!==void 0&&trustOptions.push({label:`Trust parent folder (${parentPath})`,trusted:!0,updates:[{path:parentPath,decision:!0},{path:trustPath,decision:null}],savedPath:parentPath}),options?.includeSessionOnly&&trustOptions.push({label:"Trust (this session only)",trusted:!0,updates:[]}),trustOptions.push({label:"Do not trust",trusted:!1,updates:[{path:trustPath,decision:!1}],savedPath:trustPath}),options?.includeSessionOnly&&trustOptions.push({label:"Do not trust (this session only)",trusted:!1,updates:[]}),trustOptions}function readTrustFile(path){if(!existsSync(path))return{};let parsed;try{parsed=JSON.parse(stripBom(readFileSync(path,"utf-8")))}catch(error){let message=error instanceof Error?error.message:String(error);throw new Error(`Failed to read trust store ${path}: ${message}`)}if(typeof parsed!="object"||parsed===null||Array.isArray(parsed))throw new Error(`Invalid trust store ${path}: expected an object`);let data={};for(let[key,value]of Object.entries(parsed)){if(value!==!0&&value!==!1&&value!==null)throw new Error(`Invalid trust store ${path}: value for ${JSON.stringify(key)} must be true, false, or null`);data[key]=value}return data}function writeTrustFile(path,data){let sorted={};for(let key of Object.keys(data).sort()){let value=data[key];(value===!0||value===!1||value===null)&&(sorted[key]=value)}mkdirSync(dirname2(path),{recursive:!0}),writeFileSync(path,`${JSON.stringify(sorted,null,2)}
|
|
29
|
-
`,"utf-8")}function acquireTrustLockSync(path){let trustDir=dirname2(path);mkdirSync(trustDir,{recursive:!0});let maxAttempts=10,delayMs=20,lastError;for(let attempt=1;attempt<=maxAttempts;attempt++)try{return import_proper_lockfile.default.lockSync(trustDir,{realpath:!1,lockfilePath:`${path}.lock`})}catch(error){if((typeof error=="object"&&error!==null&&"code"in error?String(error.code):void 0)!=="ELOCKED"||attempt===maxAttempts)throw error;lastError=error;let start=Date.now();for(;Date.now()-start<delayMs;);}throw lastError instanceof Error?lastError:new Error("Failed to acquire trust store lock")}function withTrustFileLock(path,fn){let release=acquireTrustLockSync(path);try{return fn()}finally{release()}}function hasTrustRequiringProjectResources(cwd){let homeDir=canonicalizePath(resolvePath(process.env.HOME||homedir())),userAgentsSkillsDir=join3(homeDir,".agents","skills"),currentDir=canonicalizePath(resolvePath(cwd)),configDir=join3(currentDir,CONFIG_DIR_NAME);if(TRUST_REQUIRING_PROJECT_CONFIG_RESOURCES.some(entry=>existsSync(join3(configDir,entry))))return!0;for(;;){let agentsSkillsDir=join3(currentDir,".agents","skills");if(agentsSkillsDir!==userAgentsSkillsDir&&existsSync(agentsSkillsDir))return!0;let parentDir=dirname2(currentDir);if(parentDir===currentDir)return!1;currentDir=parentDir}}var ProjectTrustStore=class{trustPath;constructor(agentDir){this.trustPath=join3(resolvePath(agentDir),"trust.json")}get(cwd){return this.getEntry(cwd)?.decision??null}getEntry(cwd){return withTrustFileLock(this.trustPath,()=>{let data=readTrustFile(this.trustPath);return findNearestTrustEntry(data,cwd)})}set(cwd,decision){this.setMany([{path:cwd,decision}])}setMany(decisions){withTrustFileLock(this.trustPath,()=>{let data=readTrustFile(this.trustPath);for(let{path,decision}of decisions){let key=normalizeCwd(path);decision===null?delete data[key]:data[key]=decision}writeTrustFile(this.trustPath,data)})}};import{spawn}from"node:child_process";function openBrowser(target){let[cmd,args]=process.platform==="darwin"?["open",[target]]:process.platform==="win32"?["rundll32",["url.dll,FileProtocolHandler",target]]:["xdg-open",[target]];spawn(cmd,args,{stdio:"ignore",detached:!0}).on("error",()=>{}).unref()}import{existsSync as existsSync2,mkdirSync as mkdirSync2,readFileSync as readFileSync2,writeFileSync as writeFileSync2}from"node:fs";import{dirname as dirname3,join as join4}from"node:path";var OVERRIDE_KEYS=["enabled","exposure","toolExposure"];function isOverride(value){return value.command===void 0&&value.url===void 0&&value.type===void 0}function isRecord(value){return typeof value=="object"&&value!==null&&!Array.isArray(value)}function readConfigFile(path,scope,state2){let{servers,errors}=state2;if(!existsSync2(path))return;let parsed;try{parsed=JSON.parse(readFileSync2(path,"utf8"))}catch(error){errors.push(`${path}: ${error instanceof Error?error.message:String(error)}`);return}if(!isRecord(parsed)||parsed.mcpServers!==void 0&&!isRecord(parsed.mcpServers)){errors.push(`${path}: expected an object with an "mcpServers" object`);return}typeof parsed.autoEnableCodemode=="boolean"?state2.autoEnableCodemode=parsed.autoEnableCodemode:parsed.autoEnableCodemode!==void 0&&errors.push(`${path}: autoEnableCodemode must be a boolean`);for(let[name,value]of Object.entries(parsed.mcpServers??{})){if(scope==="project"&&isRecord(value)&&isOverride(value)){let base=servers.get(name),extra=Object.keys(value).filter(key=>!OVERRIDE_KEYS.includes(key));if(!base)errors.push(`${path}: server "${name}" needs "command" or "url", or a global server to override`);else if(extra.length>0)errors.push(`${path}: server "${name}": an override can only set ${OVERRIDE_KEYS.join(", ")}`);else{let config2=validateMcpServerConfig(name,{...base.config,...value});typeof config2=="string"?errors.push(`${path}: ${config2}`):servers.set(name,{...base,config:config2,override:path})}continue}let config=validateMcpServerConfig(name,value);if(typeof config=="string"){errors.push(`${path}: ${config}`);continue}let clash=[...servers.keys()].find(other=>other!==name&&mcpNamespace(other)===mcpNamespace(name));if(clash){errors.push(`${path}: server "${name}" conflicts with "${clash}"`);continue}if(scope==="project"&&"url"in config&&config.auth){errors.push(`${path}: server "${name}": auth is only allowed in the global mcp.json`);continue}servers.set(name,{name,config,source:path,scope})}}function loadMcpConfig(options){let state2={servers:new Map,errors:[]};readConfigFile(join4(options.agentDir,"mcp.json"),"global",state2);let projectConfig=options.projectTrusted?join4(options.cwd,CONFIG_DIR_NAME,"mcp.json"):void 0;return projectConfig&&readConfigFile(projectConfig,"project",state2),{servers:[...state2.servers.values()],...state2.autoEnableCodemode===void 0?{}:{autoEnableCodemode:state2.autoEnableCodemode},errors:state2.errors,...projectConfig?{projectConfig}:{}}}function updateMcpServerConfig(path,name,patch,options={}){editMcpServers(path,(servers,parsed)=>{let server=servers?.[name];if(server===void 0&&options.override&&(server={},parsed.mcpServers={...servers,[name]:server}),!isRecord(server))throw new Error(`${path} does not define MCP server "${name}"`);let keepDefaults=isOverride(server);return patch.enabled!==void 0&&(patch.enabled&&!keepDefaults?delete server.enabled:server.enabled=patch.enabled),patch.exposure!==void 0&&(patch.exposure==="codemode"&&!keepDefaults?delete server.exposure:server.exposure=patch.exposure),!0})}function addMcpServerConfig(path,name,config){let replaced=!1;return editMcpServers(path,(servers,parsed)=>{let target=servers??{};return replaced=target[name]!==void 0,target[name]=config,parsed.mcpServers=target,!0}),replaced}function removeMcpServerConfig(path,name){if(!existsSync2(path))return!1;let removed=!1;return editMcpServers(path,servers=>!servers||servers[name]===void 0?!1:(delete servers[name],removed=!0,!0)),removed}function editMcpServers(path,edit){let text=existsSync2(path)?readFileSync2(path,"utf8"):void 0,parsed=text===void 0?{}:JSON.parse(text);if(!isRecord(parsed)||parsed.mcpServers!==void 0&&!isRecord(parsed.mcpServers))throw new Error(`${path}: expected an object with an "mcpServers" object`);let servers=isRecord(parsed.mcpServers)?parsed.mcpServers:void 0;if(!edit(servers,parsed))return;let indent=text&&/^([ \t]+)\S/m.exec(text)?.[1]||" ";mkdirSync2(dirname3(path),{recursive:!0}),writeFileSync2(path,`${JSON.stringify(parsed,null,indent)}
|
|
30
|
-
`)}export{findNonJson,isContextOverflow,isRecoverableLength,value_exports2 as value_exports,Compile,compile_exports,validateToolArguments,typesafeSystemOneApi,DEFAULT_RADIUS_GATEWAY,normalizeRadiusGatewayUrl,all_exports,InMemoryCodingAgentModelsStore,resetApiProviders,stream,streamSimple,completeSimple,compat_exports,fetchWithRetry,getKnightcodeUserAgent,VIRTUAL_MODEL_STATE_ENTRY,isVirtualModel,findLatestResponse,getBranchSelection,getVirtualModelState,CredentialSynchronizationError,ModelRuntime,getProjectTrustOptions,hasTrustRequiringProjectResources,ProjectTrustStore,openBrowser,loadMcpConfig,updateMcpServerConfig,addMcpServerConfig,removeMcpServerConfig};
|